diff -Nur linux-2.6.23.1/arch/arm/mach-ixp4xx/ap1000-setup.c linux-2.6.23.1-owrt/arch/arm/mach-ixp4xx/ap1000-setup.c --- linux-2.6.23.1/arch/arm/mach-ixp4xx/ap1000-setup.c 2007-11-14 14:11:10.000000000 +0100 +++ linux-2.6.23.1-owrt/arch/arm/mach-ixp4xx/ap1000-setup.c 2007-11-14 14:09:30.000000000 +0100 @@ -90,9 +90,37 @@ .resource = ap1000_uart_resources }; +/* Built-in 10/100 Ethernet MAC interfaces */ +static struct eth_plat_info ap1000_plat_eth[] = { + { + .phy = IXP4XX_ETH_PHY_MAX_ADDR, + .phy_mask = 0x1e, + .rxq = 3, + .txreadyq = 20, + }, { + .phy = 5, + .rxq = 4, + .txreadyq = 21, + } +}; + +static struct platform_device ap1000_eth[] = { + { + .name = "ixp4xx_eth", + .id = IXP4XX_ETH_NPEB, + .dev.platform_data = ap1000_plat_eth, + }, { + .name = "ixp4xx_eth", + .id = IXP4XX_ETH_NPEC, + .dev.platform_data = ap1000_plat_eth + 1, + } +}; + static struct platform_device *ap1000_devices[] __initdata = { &ap1000_flash, - &ap1000_uart + &ap1000_uart, + &ap1000_eth[0], + &ap1000_eth[1], }; static char ap1000_mem_fixup[] __initdata = "mem=64M ";