ixp4xx: add linux 4.1 support
[openwrt/svn-archive/archive.git] / target / linux / ixp4xx / patches-4.1 / 151-lanready_ap1000_mac_plat_info.patch
diff --git a/target/linux/ixp4xx/patches-4.1/151-lanready_ap1000_mac_plat_info.patch b/target/linux/ixp4xx/patches-4.1/151-lanready_ap1000_mac_plat_info.patch
new file mode 100644 (file)
index 0000000..2079589
--- /dev/null
@@ -0,0 +1,51 @@
+--- 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;