From: rwhitby Date: Fri, 11 Jan 2008 07:23:28 +0000 (+0000) Subject: Combined the nslu2 net driver patches, based on new nslu2-linux patch X-Git-Url: https://git.rohieb.name/openwrt.git/commitdiff_plain/721ff5282152fef092dfed799f3a9280f1610d6e Combined the nslu2 net driver patches, based on new nslu2-linux patch git-svn-id: svn://svn.openwrt.org/openwrt/trunk@10165 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- diff --git a/target/linux/ixp4xx/patches-2.6.23/031-ixp4xx-net-drivers-nslu2.patch b/target/linux/ixp4xx/patches-2.6.23/031-ixp4xx-net-drivers-nslu2.patch new file mode 100644 index 000000000..d4c710c04 --- /dev/null +++ b/target/linux/ixp4xx/patches-2.6.23/031-ixp4xx-net-drivers-nslu2.patch @@ -0,0 +1,88 @@ +Index: linux-2.6.23.12-armeb/arch/arm/mach-ixp4xx/nslu2-setup.c +=================================================================== +--- linux-2.6.23.12-armeb.orig/arch/arm/mach-ixp4xx/nslu2-setup.c 2008-01-08 15:28:13.000000000 +1030 ++++ linux-2.6.23.12-armeb/arch/arm/mach-ixp4xx/nslu2-setup.c 2008-01-08 15:28:32.000000000 +1030 +@@ -24,6 +24,7 @@ + #include + #include + #include ++#include + + static struct flash_platform_data nslu2_flash_data = { + .map_name = "cfi_probe", +@@ -140,6 +141,23 @@ + .resource = nslu2_uart_resources, + }; + ++/* Built-in 10/100 Ethernet MAC interfaces */ ++static struct eth_plat_info nslu2_plat_eth[] = { ++ { ++ .phy = 1, ++ .rxq = 3, ++ .txreadyq = 20, ++ } ++}; ++ ++static struct platform_device nslu2_eth[] = { ++ { ++ .name = "ixp4xx_eth", ++ .id = IXP4XX_ETH_NPEB, ++ .dev.platform_data = nslu2_plat_eth, ++ } ++}; ++ + static struct platform_device *nslu2_devices[] __initdata = { + &nslu2_i2c_gpio, + &nslu2_flash, +@@ -147,6 +165,7 @@ + #ifdef CONFIG_LEDS_IXP4XX + &nslu2_leds, + #endif ++ &nslu2_eth[0], + }; + + static void nslu2_power_off(void) +@@ -175,6 +194,9 @@ + + static void __init nslu2_init(void) + { ++ uint8_t __iomem *f; ++ int i; ++ + ixp4xx_sys_init(); + + nslu2_flash_resource.start = IXP4XX_EXP_BUS_BASE(0); +@@ -191,6 +213,33 @@ + (void)platform_device_register(&nslu2_uart); + + platform_add_devices(nslu2_devices, ARRAY_SIZE(nslu2_devices)); ++ ++ ++ /* ++ * Map in a portion of the flash and read the MAC address. ++ * Since it is stored in BE in the flash itself, we need to ++ * byteswap it if we're in LE mode. ++ */ ++ if ((f = ioremap(IXP4XX_EXP_BUS_BASE(0), 0x40000))) { ++#ifdef __ARMEB__ ++ for (i = 0; i < 6; i++) { ++ nslu2_plat_eth[0].hwaddr[i] = readb(f + 0x3FFB0 + i); ++ } ++#else ++ nslu2_plat_eth[0].hwaddr[0] = readb(f + 0x3FFB0 + 3); ++ nslu2_plat_eth[0].hwaddr[1] = readb(f + 0x3FFB0 + 2); ++ nslu2_plat_eth[0].hwaddr[2] = readb(f + 0x3FFB0 + 1); ++ nslu2_plat_eth[0].hwaddr[3] = readb(f + 0x3FFB0 + 0); ++ nslu2_plat_eth[0].hwaddr[4] = readb(f + 0x3FFB0 + 7); ++ nslu2_plat_eth[0].hwaddr[5] = readb(f + 0x3FFB0 + 6); ++#endif ++ iounmap(f); ++ } ++ printk(KERN_INFO "NSLU2: Using MAC address %.2x:%.2x:%.2x:%.2x:%.2x:%.2x for port 0\n", ++ nslu2_plat_eth[0].hwaddr[0], nslu2_plat_eth[0].hwaddr[1], ++ nslu2_plat_eth[0].hwaddr[2], nslu2_plat_eth[0].hwaddr[3], ++ nslu2_plat_eth[0].hwaddr[4], nslu2_plat_eth[0].hwaddr[5]); ++ + } + + MACHINE_START(NSLU2, "Linksys NSLU2") diff --git a/target/linux/ixp4xx/patches-2.6.23/051-nslu2_mac_plat_info.patch b/target/linux/ixp4xx/patches-2.6.23/051-nslu2_mac_plat_info.patch deleted file mode 100644 index f6b9a385f..000000000 --- a/target/linux/ixp4xx/patches-2.6.23/051-nslu2_mac_plat_info.patch +++ /dev/null @@ -1,36 +0,0 @@ -diff --git a/arch/arm/mach-ixp4xx/nslu2-setup.c b/arch/arm/mach-ixp4xx/nslu2-setup.c -index 77277d2..e0d0dde 100644 ---- a/arch/arm/mach-ixp4xx/nslu2-setup.c -+++ b/arch/arm/mach-ixp4xx/nslu2-setup.c -@@ -140,6 +140,23 @@ static struct platform_device nslu2_uart = { - .resource = nslu2_uart_resources, - }; - -+/* Built-in 10/100 Ethernet MAC interfaces */ -+static struct eth_plat_info nslu2_plat_eth[] = { -+ { -+ .phy = 1, -+ .rxq = 3, -+ .txreadyq = 20, -+ } -+}; -+ -+static struct platform_device nslu2_eth[] = { -+ { -+ .name = "ixp4xx_eth", -+ .id = IXP4XX_ETH_NPEB, -+ .dev.platform_data = nslu2_plat_eth, -+ } -+}; -+ - static struct platform_device *nslu2_devices[] __initdata = { - &nslu2_i2c_gpio, - &nslu2_flash, -@@ -147,6 +164,7 @@ static struct platform_device *nslu2_devices[] __initdata = { - #ifdef CONFIG_LEDS_IXP4XX - &nslu2_leds, - #endif -+ &nslu2_eth[0], - }; - - static void nslu2_power_off(void) diff --git a/target/linux/ixp4xx/patches-2.6.23/066-nslu2_fetch_mac.patch b/target/linux/ixp4xx/patches-2.6.23/066-nslu2_fetch_mac.patch deleted file mode 100644 index 93f3c2ee0..000000000 --- a/target/linux/ixp4xx/patches-2.6.23/066-nslu2_fetch_mac.patch +++ /dev/null @@ -1,56 +0,0 @@ -Index: linux-2.6.23.11-armeb/arch/arm/mach-ixp4xx/nslu2-setup.c -=================================================================== ---- linux-2.6.23.11-armeb.orig/arch/arm/mach-ixp4xx/nslu2-setup.c 2007-12-29 01:46:05.000000000 -0600 -+++ linux-2.6.23.11-armeb/arch/arm/mach-ixp4xx/nslu2-setup.c 2007-12-29 12:21:29.000000000 -0600 -@@ -24,6 +24,7 @@ - #include - #include - #include -+#include - - static struct flash_platform_data nslu2_flash_data = { - .map_name = "cfi_probe", -@@ -193,6 +194,9 @@ - - static void __init nslu2_init(void) - { -+ uint8_t __iomem *f; -+ int i; -+ - ixp4xx_sys_init(); - - nslu2_flash_resource.start = IXP4XX_EXP_BUS_BASE(0); -@@ -209,6 +213,33 @@ - (void)platform_device_register(&nslu2_uart); - - platform_add_devices(nslu2_devices, ARRAY_SIZE(nslu2_devices)); -+ -+ -+ /* -+ * Map in a portion of the flash and read the MAC address. -+ * Since it is stored in BE in the flash itself, we need to -+ * byteswap it if we're in LE mode. -+ */ -+ if ((f = ioremap(IXP4XX_EXP_BUS_BASE(0), 0x40000))) { -+#ifdef __ARMEB__ -+ for (i = 0; i < 6; i++) { -+ nslu2_plat_eth[0].hwaddr[i] = readb(f + 0x3FFB0 + i); -+ } -+#else -+ nslu2_plat_eth[0].hwaddr[0] = readb(f + 0x3FFB0 + 3); -+ nslu2_plat_eth[0].hwaddr[1] = readb(f + 0x3FFB0 + 2); -+ nslu2_plat_eth[0].hwaddr[2] = readb(f + 0x3FFB0 + 1); -+ nslu2_plat_eth[0].hwaddr[3] = readb(f + 0x3FFB0 + 0); -+ nslu2_plat_eth[0].hwaddr[4] = readb(f + 0x3FFB0 + 7); -+ nslu2_plat_eth[0].hwaddr[5] = readb(f + 0x3FFB0 + 6); -+#endif -+ iounmap(f); -+ } -+ printk(KERN_INFO "NSLU2: Using MAC address %.2x:%.2x:%.2x:%.2x:%.2x:%.2x for port 0\n", -+ nslu2_plat_eth[0].hwaddr[0], nslu2_plat_eth[0].hwaddr[1], -+ nslu2_plat_eth[0].hwaddr[2], nslu2_plat_eth[0].hwaddr[3], -+ nslu2_plat_eth[0].hwaddr[4], nslu2_plat_eth[0].hwaddr[5]); -+ - } - - MACHINE_START(NSLU2, "Linksys NSLU2")