--- a/arch/arm/mach-ixp4xx/gtwx5715-setup.c +++ b/arch/arm/mach-ixp4xx/gtwx5715-setup.c @@ -28,6 +28,7 @@ #include #include #include +#include #include #include #include @@ -178,10 +179,39 @@ static struct platform_device gtwx5715_s }, }; +static struct eth_plat_info gtwx5715_npeb_data = { + .phy = IXP4XX_ETH_PHY_MAX_ADDR, + .phy_mask = 0x1e, /* ports 1-4 of the KS8995 switch */ + .rxq = 3, + .txreadyq = 20, +}; + +static struct eth_plat_info gtwx5715_npec_data = { + .phy = 5, /* port 5 of the KS8995 switch */ + .rxq = 4, + .txreadyq = 21, +}; + +static struct platform_device gtwx5715_npeb_device = { + .name = "ixp4xx_eth", + .id = IXP4XX_ETH_NPEB, + .dev.platform_data = >wx5715_npeb_data, + .dev.coherent_dma_mask = DMA_BIT_MASK(32), +}; + +static struct platform_device gtwx5715_npec_device = { + .name = "ixp4xx_eth", + .id = IXP4XX_ETH_NPEC, + .dev.platform_data = >wx5715_npec_data, + .dev.coherent_dma_mask = DMA_BIT_MASK(32), +}; + static struct platform_device *gtwx5715_devices[] __initdata = { >wx5715_uart_device, >wx5715_flash, >wx5715_spi_bus, + >wx5715_npeb_device, + >wx5715_npec_device, }; static void __init gtwx5715_init(void)