--- a/arch/arm/mach-ixp4xx/gateway7001-setup.c +++ b/arch/arm/mach-ixp4xx/gateway7001-setup.c @@ -17,6 +17,7 @@ #include #include #include +#include #include #include @@ -75,9 +76,37 @@ static struct platform_device gateway700 .resource = &gateway7001_uart_resource, }; +static struct eth_plat_info gateway7001_plat_eth[] = { + { + .phy = 1, + .rxq = 3, + .txreadyq = 20, + }, { + .phy = 2, + .rxq = 4, + .txreadyq = 21, + } +}; + +static struct platform_device gateway7001_eth[] = { + { + .name = "ixp4xx_eth", + .id = IXP4XX_ETH_NPEB, + .dev.platform_data = gateway7001_plat_eth, + .dev.coherent_dma_mask = DMA_BIT_MASK(32), + }, { + .name = "ixp4xx_eth", + .id = IXP4XX_ETH_NPEC, + .dev.platform_data = gateway7001_plat_eth + 1, + .dev.coherent_dma_mask = DMA_BIT_MASK(32), + } +}; + static struct platform_device *gateway7001_devices[] __initdata = { &gateway7001_flash, - &gateway7001_uart + &gateway7001_uart, + &gateway7001_eth[0], + &gateway7001_eth[1], }; static void __init gateway7001_init(void) --- a/arch/arm/mach-ixp4xx/wg302v2-setup.c +++ b/arch/arm/mach-ixp4xx/wg302v2-setup.c @@ -76,9 +76,26 @@ static struct platform_device wg302v2_ua .resource = &wg302v2_uart_resource, }; +static struct eth_plat_info wg302v2_plat_eth[] = { + { + .phy = 8, + .rxq = 3, + .txreadyq = 20, + } +}; + +static struct platform_device wg302v2_eth[] = { + { + .name = "ixp4xx_eth", + .id = IXP4XX_ETH_NPEB, + .dev.platform_data = wg302v2_plat_eth, + } +}; + static struct platform_device *wg302v2_devices[] __initdata = { &wg302v2_flash, &wg302v2_uart, + &wg302v2_eth[0], }; static void __init wg302v2_init(void)