--- arch/arm/mach-ixp4xx/avila-setup.c | 50 ++++++++++++++++++++++++++++++++++++- 1 file changed, 49 insertions(+), 1 deletion(-) Index: linux-2.6.20-rc1/arch/arm/mach-ixp4xx/avila-setup.c =================================================================== --- linux-2.6.20-rc1.orig/arch/arm/mach-ixp4xx/avila-setup.c 2006-12-17 16:19:26.945469213 +0000 +++ linux-2.6.20-rc1/arch/arm/mach-ixp4xx/avila-setup.c 2006-12-17 16:53:51.972719710 +0000 @@ -132,10 +132,60 @@ .resource = avila_pata_resources, }; +/* MACs */ +static struct resource res_mac0 = { + .start = IXP4XX_EthB_BASE_PHYS, + .end = IXP4XX_EthB_BASE_PHYS + 0x1ff, + .flags = IORESOURCE_MEM, +}; + +static struct resource res_mac1 = { + .start = IXP4XX_EthC_BASE_PHYS, + .end = IXP4XX_EthC_BASE_PHYS + 0x1ff, + .flags = IORESOURCE_MEM, +}; + +static struct mac_plat_info plat_mac0 = { + .npe_id = 1, + .phy_id = 0, + .eth_id = 0, + .rxq_id = 27, + .txq_id = 24, + .rxdoneq_id = 4, +}; + +static struct mac_plat_info plat_mac1 = { + .npe_id = 2, + .phy_id = 1, + .eth_id = 1, + .rxq_id = 28, + .txq_id = 25, + .rxdoneq_id = 5, +}; + +static struct platform_device mac0 = { + .name = "ixp4xx_mac", + .id = 0, + .dev.platform_data = &plat_mac0, + .num_resources = 1, + .resource = &res_mac0, +}; + +static struct platform_device mac1 = { + .name = "ixp4xx_mac", + .id = 1, + .dev.platform_data = &plat_mac1, + .num_resources = 1, + .resource = &res_mac1, +}; + static struct platform_device *avila_devices[] __initdata = { &avila_i2c_controller, &avila_flash, - &avila_uart + &avila_uart, + &mac0, + &mac1, + }; static void __init avila_init(void)