diff options
Diffstat (limited to 'target/linux/au1000/patches-2.6.27')
6 files changed, 102 insertions, 0 deletions
diff --git a/target/linux/au1000/patches-2.6.27/001-mtx1_cmdline.patch b/target/linux/au1000/patches-2.6.27/001-mtx1_cmdline.patch new file mode 100644 index 0000000000..a41ee6f21d --- /dev/null +++ b/target/linux/au1000/patches-2.6.27/001-mtx1_cmdline.patch @@ -0,0 +1,11 @@ +--- a/arch/mips/au1000/mtx-1/init.c ++++ b/arch/mips/au1000/mtx-1/init.c +@@ -54,7 +54,7 @@ void __init prom_init(void) + prom_argv = (char **) fw_arg1; + prom_envp = (char **) fw_arg2; + +- prom_init_cmdline(); ++ strcpy(arcs_cmdline, CONFIG_CMDLINE); + + memsize_str = prom_getenv("memsize"); + if (!memsize_str) diff --git a/target/linux/au1000/patches-2.6.27/002-openwrt_rootfs.patch b/target/linux/au1000/patches-2.6.27/002-openwrt_rootfs.patch new file mode 100644 index 0000000000..00cda2561c --- /dev/null +++ b/target/linux/au1000/patches-2.6.27/002-openwrt_rootfs.patch @@ -0,0 +1,12 @@ +diff -urN linux-2.6.27.5/arch/mips/au1000/mtx-1/platform.c linux-2.6.27.5.new/arch/mips/au1000/mtx-1/platform.c +--- linux-2.6.27.5/arch/mips/au1000/mtx-1/platform.c 2008-11-07 18:55:34.000000000 +0100 ++++ linux-2.6.27.5.new/arch/mips/au1000/mtx-1/platform.c 2008-11-15 15:33:31.000000000 +0100 +@@ -90,7 +90,7 @@ + + static struct mtd_partition mtx1_mtd_partitions[] = { + { +- .name = "filesystem", ++ .name = "rootfs", + .size = 0x01C00000, + .offset = 0, + }, diff --git a/target/linux/au1000/patches-2.6.27/003-au1000_eth_ioctl.patch b/target/linux/au1000/patches-2.6.27/003-au1000_eth_ioctl.patch new file mode 100644 index 0000000000..935898159f --- /dev/null +++ b/target/linux/au1000/patches-2.6.27/003-au1000_eth_ioctl.patch @@ -0,0 +1,15 @@ +--- a/drivers/net/au1000_eth.c ++++ b/drivers/net/au1000_eth.c +@@ -1306,9 +1306,12 @@ static void set_rx_mode(struct net_devic + } + } + ++#define AU1000_KNOWN_PHY_IOCTLS (SIOCGMIIPHY & 0xfff0) + static int au1000_ioctl(struct net_device *dev, struct ifreq *rq, int cmd) + { + struct au1000_private *aup = (struct au1000_private *)dev->priv; ++ if((cmd & AU1000_KNOWN_PHY_IOCTLS) != AU1000_KNOWN_PHY_IOCTLS) ++ return -EINVAL; + + if (!netif_running(dev)) return -EINVAL; + diff --git a/target/linux/au1000/patches-2.6.27/004-state_led_phy_fix.patch b/target/linux/au1000/patches-2.6.27/004-state_led_phy_fix.patch new file mode 100644 index 0000000000..3e5a4ebf01 --- /dev/null +++ b/target/linux/au1000/patches-2.6.27/004-state_led_phy_fix.patch @@ -0,0 +1,31 @@ +--- linux-2.6.27/drivers/net/au1000_eth.c 2008-10-18 22:37:52.000000000 +0200 ++++ linux-2.6.27.new/drivers/net/au1000_eth.c 2008-11-02 22:03:14.000000000 +0100 +@@ -187,6 +187,15 @@ + # undef AU1XXX_PHY1_IRQ + #endif + ++#if defined(CONFIG_MIPS_MTX1) ++/* ++ * 4G MeshCube (MTX-1) board ++ * PHY is at address 31 on MAC0 ++ * autodetect fails if not searched for highest address ! ++ */ ++# define AU1XXX_PHY_SEARCH_HIGHEST_ADDR ++#endif ++ + #if defined(AU1XXX_PHY0_BUSID) && (AU1XXX_PHY0_BUSID > 0) + # error MAC0-associated PHY attached 2nd MACs MII bus not supported yet + #endif +@@ -383,6 +392,12 @@ + aup->old_duplex = -1; + aup->phy_dev = phydev; + ++#ifdef CONFIG_MIPS_MTX1 ++ /* set up ethernet jack LEDs on the 4G MeshCube (MTX-1 board) */ ++ printk(KERN_INFO "MTX-1 PHY: updating LED settings\n"); ++ phy_write(phydev, 0x11, 0xff80); ++#endif ++ + printk(KERN_INFO "%s: attached PHY driver [%s] " + "(mii_bus:phy_addr=%s, irq=%d)\n", + dev->name, phydev->drv->name, phydev->dev.bus_id, phydev->irq); diff --git a/target/linux/au1000/patches-2.6.27/005-mtx1_wdt_fix.patch b/target/linux/au1000/patches-2.6.27/005-mtx1_wdt_fix.patch new file mode 100644 index 0000000000..0b0fc02efd --- /dev/null +++ b/target/linux/au1000/patches-2.6.27/005-mtx1_wdt_fix.patch @@ -0,0 +1,23 @@ +diff --git a/drivers/watchdog/mtx-1_wdt.c b/drivers/watchdog/mtx-1_wdt.c +index b4b7b0a..3acce62 100644 +--- a/drivers/watchdog/mtx-1_wdt.c ++++ b/drivers/watchdog/mtx-1_wdt.c +@@ -98,6 +98,8 @@ static void mtx1_wdt_reset(void) + + static void mtx1_wdt_start(void) + { ++ unsigned long flags; ++ + spin_lock_irqsave(&mtx1_wdt_device.lock, flags); + if (!mtx1_wdt_device.queue) { + mtx1_wdt_device.queue = 1; +@@ -110,6 +112,8 @@ static void mtx1_wdt_start(void) + + static int mtx1_wdt_stop(void) + { ++ unsigned long flags; ++ + spin_lock_irqsave(&mtx1_wdt_device.lock, flags); + if (mtx1_wdt_device.queue) { + mtx1_wdt_device.queue = 0; + diff --git a/target/linux/au1000/patches-2.6.27/006-missing_string_header.patch b/target/linux/au1000/patches-2.6.27/006-missing_string_header.patch new file mode 100644 index 0000000000..ed8a0bebe7 --- /dev/null +++ b/target/linux/au1000/patches-2.6.27/006-missing_string_header.patch @@ -0,0 +1,10 @@ +--- linux-2.6.27.5/arch/mips/au1000/mtx-1/init.c 2008-11-07 18:55:34.000000000 +0100 ++++ linux-2.6.27.5.new/arch/mips/au1000/mtx-1/init.c 2008-11-15 16:09:47.000000000 +0100 +@@ -32,6 +32,7 @@ + #include <linux/init.h> + + #include <asm/bootinfo.h> ++#include <asm/string.h> + + #include <prom.h> + |