--- a/arch/arm/mach-ixp4xx/coyote-setup.c +++ b/arch/arm/mach-ixp4xx/coyote-setup.c @@ -14,6 +14,7 @@ #include #include #include +#include #include #include @@ -81,9 +82,39 @@ static struct platform_device coyote_uar .resource = &coyote_uart_resource, }; +/* Built-in 10/100 Ethernet MAC interfaces */ +static struct eth_plat_info ixdpg425_plat_eth[] = { + { + .phy = 5, + .rxq = 3, + .txreadyq = 20, + }, { + .phy = 4, + .rxq = 4, + .txreadyq = 21, + } +}; + +static struct platform_device ixdpg425_eth[] = { + { + .name = "ixp4xx_eth", + .id = IXP4XX_ETH_NPEB, + .dev.platform_data = ixdpg425_plat_eth, + .dev.coherent_dma_mask = DMA_BIT_MASK(32), + }, { + .name = "ixp4xx_eth", + .id = IXP4XX_ETH_NPEC, + .dev.platform_data = ixdpg425_plat_eth + 1, + .dev.coherent_dma_mask = DMA_BIT_MASK(32), + } +}; + + static struct platform_device *coyote_devices[] __initdata = { &coyote_flash, - &coyote_uart + &coyote_uart, + &ixdpg425_eth[0], + &ixdpg425_eth[1], }; static void __init coyote_init(void)