--- a/arch/arm/mach-ixp4xx/ap1000-setup.c +++ b/arch/arm/mach-ixp4xx/ap1000-setup.c @@ -91,15 +91,45 @@ static struct platform_device ap1000_uar .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, + .dev.coherent_dma_mask = DMA_BIT_MASK(32), + }, { + .name = "ixp4xx_eth", + .id = IXP4XX_ETH_NPEC, + .dev.platform_data = ap1000_plat_eth + 1, + .dev.coherent_dma_mask = DMA_BIT_MASK(32), + } +}; + 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 "; -static void __init ap1000_fixup(struct machine_desc *desc, - struct tag *tags, char **cmdline, struct meminfo *mi) +static void __init ap1000_fixup(struct tag *tags, char **cmdline, + struct meminfo *mi) { struct tag *t = tags;