From 8cc6d2b625ce9d464f0f1d141a244914928cdda8 Mon Sep 17 00:00:00 2001 From: florian Date: Sat, 26 Jun 2010 22:18:23 +0000 Subject: [au1000] reinstate 2.6.30 support until 2.6.32 is fixed git-svn-id: svn://svn.openwrt.org/openwrt/trunk@21959 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- .../au1000/patches-2.6.30/001-mtx1_cmdline.patch | 11 ++++++++ .../au1000/patches-2.6.30/002-openwrt_rootfs.patch | 11 ++++++++ .../patches-2.6.30/003-au1000_eth_ioctl.patch | 17 ++++++++++++ .../patches-2.6.30/004-state_led_phy_fix.patch | 31 ++++++++++++++++++++++ .../patches-2.6.30/006-missing_string_header.patch | 10 +++++++ .../patches-2.6.30/007-gpio_request_button.patch | 30 +++++++++++++++++++++ 6 files changed, 110 insertions(+) create mode 100644 target/linux/au1000/patches-2.6.30/001-mtx1_cmdline.patch create mode 100644 target/linux/au1000/patches-2.6.30/002-openwrt_rootfs.patch create mode 100644 target/linux/au1000/patches-2.6.30/003-au1000_eth_ioctl.patch create mode 100644 target/linux/au1000/patches-2.6.30/004-state_led_phy_fix.patch create mode 100644 target/linux/au1000/patches-2.6.30/006-missing_string_header.patch create mode 100644 target/linux/au1000/patches-2.6.30/007-gpio_request_button.patch (limited to 'target/linux/au1000/patches-2.6.30') diff --git a/target/linux/au1000/patches-2.6.30/001-mtx1_cmdline.patch b/target/linux/au1000/patches-2.6.30/001-mtx1_cmdline.patch new file mode 100644 index 000000000..a45832765 --- /dev/null +++ b/target/linux/au1000/patches-2.6.30/001-mtx1_cmdline.patch @@ -0,0 +1,11 @@ +--- a/arch/mips/alchemy/mtx-1/init.c ++++ b/arch/mips/alchemy/mtx-1/init.c +@@ -49,7 +49,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.30/002-openwrt_rootfs.patch b/target/linux/au1000/patches-2.6.30/002-openwrt_rootfs.patch new file mode 100644 index 000000000..e1056e93d --- /dev/null +++ b/target/linux/au1000/patches-2.6.30/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.30/003-au1000_eth_ioctl.patch b/target/linux/au1000/patches-2.6.30/003-au1000_eth_ioctl.patch new file mode 100644 index 000000000..9bda9a3fe --- /dev/null +++ b/target/linux/au1000/patches-2.6.30/003-au1000_eth_ioctl.patch @@ -0,0 +1,17 @@ +--- a/drivers/net/au1000_eth.c ++++ b/drivers/net/au1000_eth.c +@@ -1036,10 +1036,14 @@ static void au1000_multicast_list(struct + } + } + ++#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; + + if (!aup->phy_dev) return -EINVAL; // PHY not controllable diff --git a/target/linux/au1000/patches-2.6.30/004-state_led_phy_fix.patch b/target/linux/au1000/patches-2.6.30/004-state_led_phy_fix.patch new file mode 100644 index 000000000..cfaea00e2 --- /dev/null +++ b/target/linux/au1000/patches-2.6.30/004-state_led_phy_fix.patch @@ -0,0 +1,31 @@ +--- a/drivers/net/au1000_eth.c ++++ b/drivers/net/au1000_eth.c +@@ -166,6 +166,15 @@ struct au1000_private *au_macs[NUM_ETH_I + # 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 +@@ -483,6 +492,12 @@ static int mii_probe (struct net_device + 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, dev_name(&phydev->dev), phydev->irq); diff --git a/target/linux/au1000/patches-2.6.30/006-missing_string_header.patch b/target/linux/au1000/patches-2.6.30/006-missing_string_header.patch new file mode 100644 index 000000000..8aba20252 --- /dev/null +++ b/target/linux/au1000/patches-2.6.30/006-missing_string_header.patch @@ -0,0 +1,10 @@ +--- a/arch/mips/alchemy/mtx-1/init.c ++++ b/arch/mips/alchemy/mtx-1/init.c +@@ -32,6 +32,7 @@ + #include + + #include ++#include + + #include + diff --git a/target/linux/au1000/patches-2.6.30/007-gpio_request_button.patch b/target/linux/au1000/patches-2.6.30/007-gpio_request_button.patch new file mode 100644 index 000000000..c0c6a22cf --- /dev/null +++ b/target/linux/au1000/patches-2.6.30/007-gpio_request_button.patch @@ -0,0 +1,30 @@ +--- a/arch/mips/alchemy/mtx-1/platform.c ++++ b/arch/mips/alchemy/mtx-1/platform.c +@@ -1,7 +1,7 @@ + /* + * MTX-1 platform devices registration + * +- * Copyright (C) 2007, Florian Fainelli ++ * Copyright (C) 2007-2009, Florian Fainelli + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by +@@ -142,7 +142,17 @@ static struct __initdata platform_device + + static int __init mtx1_register_devices(void) + { +- gpio_direction_input(207); ++ int rc; ++ ++ rc = gpio_request(mtx1_gpio_button[0].gpio, ++ mtx1_gpio_button[0].desc); ++ if (rc < 0) { ++ printk(KERN_INFO "mtx1: failed to request %d\n", ++ mtx1_gpio_button[0].gpio); ++ goto out; ++ } ++ gpio_direction_input(mtx1_gpio_button[0].gpio); ++out: + return platform_add_devices(mtx1_devs, ARRAY_SIZE(mtx1_devs)); + } + -- cgit v1.2.3