From c5eb10ed85a193982ff46197ff58d024e7061a51 Mon Sep 17 00:00:00 2001 From: kaloz Date: Fri, 4 Jan 2008 16:18:05 +0000 Subject: use the newer mac handling patches from nslu2-linux git-svn-id: svn://svn.openwrt.org/openwrt/trunk@10116 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- .../patches-2.6.23/067-nas100d_fetch_mac.patch | 56 ++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 target/linux/ixp4xx/patches-2.6.23/067-nas100d_fetch_mac.patch (limited to 'target/linux/ixp4xx/patches-2.6.23/067-nas100d_fetch_mac.patch') diff --git a/target/linux/ixp4xx/patches-2.6.23/067-nas100d_fetch_mac.patch b/target/linux/ixp4xx/patches-2.6.23/067-nas100d_fetch_mac.patch new file mode 100644 index 000000000..fdaaffdd4 --- /dev/null +++ b/target/linux/ixp4xx/patches-2.6.23/067-nas100d_fetch_mac.patch @@ -0,0 +1,56 @@ +Index: linux-2.6.23.11-armeb/arch/arm/mach-ixp4xx/nas100d-setup.c +=================================================================== +--- linux-2.6.23.11-armeb.orig/arch/arm/mach-ixp4xx/nas100d-setup.c 2007-12-29 23:19:07.000000000 +1030 ++++ linux-2.6.23.11-armeb/arch/arm/mach-ixp4xx/nas100d-setup.c 2007-12-29 23:24:06.000000000 +1030 +@@ -21,6 +21,7 @@ + #include + #include + #include ++#include + + static struct flash_platform_data nas100d_flash_data = { + .map_name = "cfi_probe", +@@ -164,6 +165,9 @@ + + static void __init nas100d_init(void) + { ++ uint8_t __iomem *f; ++ int i; ++ + ixp4xx_sys_init(); + + /* gpio 14 and 15 are _not_ clocks */ +@@ -183,6 +187,33 @@ + (void)platform_device_register(&nas100d_uart); + + platform_add_devices(nas100d_devices, ARRAY_SIZE(nas100d_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), 0x1000000))) { ++#ifdef __ARMEB__ ++ for (i = 0; i < 6; i++) { ++ nas100d_plat_eth[0].hwaddr[i] = readb(f + 0xFC0FD8 + i); ++ } ++#else ++ nas100d_plat_eth[0].hwaddr[0] = readb(f + 0xFC0FD8 + 3); ++ nas100d_plat_eth[0].hwaddr[1] = readb(f + 0xFC0FD8 + 2); ++ nas100d_plat_eth[0].hwaddr[2] = readb(f + 0xFC0FD8 + 1); ++ nas100d_plat_eth[0].hwaddr[3] = readb(f + 0xFC0FD8 + 0); ++ nas100d_plat_eth[0].hwaddr[4] = readb(f + 0xFC0FD8 + 7); ++ nas100d_plat_eth[0].hwaddr[5] = readb(f + 0xFC0FD8 + 6); ++#endif ++ iounmap(f); ++ } ++ printk(KERN_INFO "NAS100D: Using MAC address %.2x:%.2x:%.2x:%.2x:%.2x:%.2x for port 0\n", ++ nas100d_plat_eth[0].hwaddr[0], nas100d_plat_eth[0].hwaddr[1], ++ nas100d_plat_eth[0].hwaddr[2], nas100d_plat_eth[0].hwaddr[3], ++ nas100d_plat_eth[0].hwaddr[4], nas100d_plat_eth[0].hwaddr[5]); ++ + } + + MACHINE_START(NAS100D, "Iomega NAS 100d") -- cgit v1.2.3