summaryrefslogtreecommitdiff
path: root/target/linux/au1000/patches-2.6.37
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/au1000/patches-2.6.37')
-rw-r--r--target/linux/au1000/patches-2.6.37/001-mtx1_cmdline.patch19
-rw-r--r--target/linux/au1000/patches-2.6.37/002-openwrt_rootfs.patch11
-rw-r--r--target/linux/au1000/patches-2.6.37/003-au1000_eth_ioctl.patch17
-rw-r--r--target/linux/au1000/patches-2.6.37/004-fix_reboot.patch13
4 files changed, 60 insertions, 0 deletions
diff --git a/target/linux/au1000/patches-2.6.37/001-mtx1_cmdline.patch b/target/linux/au1000/patches-2.6.37/001-mtx1_cmdline.patch
new file mode 100644
index 0000000000..d5c5d4a84f
--- /dev/null
+++ b/target/linux/au1000/patches-2.6.37/001-mtx1_cmdline.patch
@@ -0,0 +1,19 @@
+--- a/arch/mips/alchemy/mtx-1/init.c
++++ b/arch/mips/alchemy/mtx-1/init.c
+@@ -33,6 +33,7 @@
+
+ #include <asm/bootinfo.h>
+ #include <asm/mach-au1x00/au1000.h>
++#include <asm/string.h>
+
+ #include <prom.h>
+
+@@ -50,7 +51,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.37/002-openwrt_rootfs.patch b/target/linux/au1000/patches-2.6.37/002-openwrt_rootfs.patch
new file mode 100644
index 0000000000..e1056e93d9
--- /dev/null
+++ b/target/linux/au1000/patches-2.6.37/002-openwrt_rootfs.patch
@@ -0,0 +1,11 @@
+--- a/arch/mips/alchemy/mtx-1/platform.c
++++ b/arch/mips/alchemy/mtx-1/platform.c
+@@ -90,7 +90,7 @@ static struct platform_device mtx1_gpio_
+
+ static struct mtd_partition mtx1_mtd_partitions[] = {
+ {
+- .name = "filesystem",
++ .name = "rootfs",
+ .size = 0x01C00000,
+ .offset = 0,
+ },
diff --git a/target/linux/au1000/patches-2.6.37/003-au1000_eth_ioctl.patch b/target/linux/au1000/patches-2.6.37/003-au1000_eth_ioctl.patch
new file mode 100644
index 0000000000..c005cbc16d
--- /dev/null
+++ b/target/linux/au1000/patches-2.6.37/003-au1000_eth_ioctl.patch
@@ -0,0 +1,17 @@
+--- a/drivers/net/au1000_eth.c
++++ b/drivers/net/au1000_eth.c
+@@ -995,10 +995,14 @@ static void au1000_multicast_list(struct
+ writel(reg, &aup->mac->control);
+ }
+
++#define AU1000_KNOWN_PHY_IOCTLS (SIOCGMIIPHY & 0xfff0)
+ static int au1000_ioctl(struct net_device *dev, struct ifreq *rq, int cmd)
+ {
+ struct au1000_private *aup = netdev_priv(dev);
+
++ 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.37/004-fix_reboot.patch b/target/linux/au1000/patches-2.6.37/004-fix_reboot.patch
new file mode 100644
index 0000000000..5035005e33
--- /dev/null
+++ b/target/linux/au1000/patches-2.6.37/004-fix_reboot.patch
@@ -0,0 +1,13 @@
+--- a/arch/mips/alchemy/mtx-1/board_setup.c
++++ b/arch/mips/alchemy/mtx-1/board_setup.c
+@@ -54,8 +54,8 @@ int mtx1_pci_idsel(unsigned int devsel,
+
+ static void mtx1_reset(char *c)
+ {
+- /* Hit BCSR.SYSTEM_CONTROL[SW_RST] */
+- au_writel(0x00000000, 0xAE00001C);
++ /* Jump to the reset vector */
++ __asm__ __volatile__("jr\t%0"::"r"(0xbfc00000));
+ }
+
+ static void mtx1_power_off(void)