From c89b70adcd1d1c025675b1664dbc733c9f7ef939 Mon Sep 17 00:00:00 2001
From: Imre Kaloz <kaloz@openwrt.org>
Date: Fri, 18 Mar 2011 13:09:21 +0000
Subject: [PATCH] upgrade to 2.6.37

SVN-Revision: 26225
---
 target/linux/kirkwood/Makefile                |   2 +-
 target/linux/kirkwood/config-default          |   4 +
 .../kirkwood/patches/002-mvsdio_delay.patch   |   4 +-
 .../linux/kirkwood/patches/100-dockstar.patch | 162 ------------------
 .../linux/kirkwood/patches/200-iconnect.patch |  26 ++-
 5 files changed, 19 insertions(+), 179 deletions(-)
 delete mode 100644 target/linux/kirkwood/patches/100-dockstar.patch

diff --git a/target/linux/kirkwood/Makefile b/target/linux/kirkwood/Makefile
index d75f233098..fc0329b781 100644
--- a/target/linux/kirkwood/Makefile
+++ b/target/linux/kirkwood/Makefile
@@ -12,7 +12,7 @@ BOARDNAME:=Marvell Kirkwood
 FEATURES:=targz usb jffs2
 MAINTAINER:=Imre Kaloz <kaloz@openwrt.org>
 
-LINUX_VERSION:=2.6.35.11
+LINUX_VERSION:=2.6.37.3
 
 include $(INCLUDE_DIR)/target.mk
 
diff --git a/target/linux/kirkwood/config-default b/target/linux/kirkwood/config-default
index 77e646bd46..d37d8abf88 100644
--- a/target/linux/kirkwood/config-default
+++ b/target/linux/kirkwood/config-default
@@ -77,6 +77,7 @@ CONFIG_JBD=y
 CONFIG_LEDS_GPIO=y
 CONFIG_LEGACY_PTYS=y
 CONFIG_LEGACY_PTY_COUNT=256
+# CONFIG_MACH_D2NET_V2 is not set
 # CONFIG_MACH_DB88F6281_BP is not set
 CONFIG_MACH_DOCKSTAR=y
 # CONFIG_MACH_ESATA_SHEEVAPLUG is not set
@@ -86,12 +87,15 @@ CONFIG_MACH_ICONNECT=y
 # CONFIG_MACH_MV88F6281GTW_GE is not set
 # CONFIG_MACH_NET2BIG_V2 is not set
 # CONFIG_MACH_NET5BIG_V2 is not set
+# CONFIG_MACH_NETSPACE_MAX_V2 is not set
 # CONFIG_MACH_NETSPACE_V2 is not set
 CONFIG_MACH_OPENRD_BASE=y
 CONFIG_MACH_OPENRD_CLIENT=y
+# CONFIG_MACH_OPENRD_ULTIMATE is not set
 # CONFIG_MACH_RD88F6192_NAS is not set
 # CONFIG_MACH_RD88F6281 is not set
 CONFIG_MACH_SHEEVAPLUG=y
+# CONFIG_MACH_T5325 is not set
 # CONFIG_MACH_TS219 is not set
 # CONFIG_MACH_TS41X is not set
 CONFIG_MMC=y
diff --git a/target/linux/kirkwood/patches/002-mvsdio_delay.patch b/target/linux/kirkwood/patches/002-mvsdio_delay.patch
index 4198690524..ba28853604 100644
--- a/target/linux/kirkwood/patches/002-mvsdio_delay.patch
+++ b/target/linux/kirkwood/patches/002-mvsdio_delay.patch
@@ -1,6 +1,6 @@
 --- a/drivers/mmc/core/sd.c
 +++ b/drivers/mmc/core/sd.c
-@@ -264,6 +264,15 @@ static int mmc_switch_hs(struct mmc_card
+@@ -332,6 +332,15 @@ int mmc_sd_switch_hs(struct mmc_card *ca
  		return -ENOMEM;
  	}
  
@@ -18,7 +18,7 @@
  		goto out;
 --- a/drivers/mmc/core/core.c
 +++ b/drivers/mmc/core/core.c
-@@ -302,9 +302,9 @@ void mmc_set_data_timeout(struct mmc_dat
+@@ -303,9 +303,9 @@ void mmc_set_data_timeout(struct mmc_dat
  			 * The limit is really 250 ms, but that is
  			 * insufficient for some crappy cards.
  			 */
diff --git a/target/linux/kirkwood/patches/100-dockstar.patch b/target/linux/kirkwood/patches/100-dockstar.patch
deleted file mode 100644
index 59334b4cda..0000000000
--- a/target/linux/kirkwood/patches/100-dockstar.patch
+++ /dev/null
@@ -1,162 +0,0 @@
-This patch adds support for the Seagate FreeAgent DockStar, a Marvell
-Sheevaplug derivative.  I have already registered the DOCKSTAR machine
-ID.
-
-Signed-off-by: Eric Cooper <ecc@xxxxxxx>
----
- arch/arm/mach-kirkwood/Kconfig          |    6 ++
- arch/arm/mach-kirkwood/Makefile         |    1 +
- arch/arm/mach-kirkwood/dockstar-setup.c |  112 +++++++++++++++++++++++++++++++
- arch/arm/tools/mach-types               |    1 +
- 4 files changed, 120 insertions(+), 0 deletions(-)
- create mode 100644 arch/arm/mach-kirkwood/dockstar-setup.c
-
---- a/arch/arm/mach-kirkwood/Kconfig
-+++ b/arch/arm/mach-kirkwood/Kconfig
-@@ -99,6 +99,12 @@ config MACH_NET5BIG_V2
- 	  Say 'Y' here if you want your kernel to support the
- 	  LaCie 5Big Network v2 NAS.
- 
-+config MACH_DOCKSTAR
-+	bool "Seagate FreeAgent DockStar"
-+	help
-+	  Say 'Y' here if you want your kernel to support the
-+	  Seagate FreeAgent DockStar.
-+
- endmenu
- 
- endif
---- a/arch/arm/mach-kirkwood/Makefile
-+++ b/arch/arm/mach-kirkwood/Makefile
-@@ -5,6 +5,7 @@ obj-$(CONFIG_MACH_RD88F6192_NAS)	+= rd88
- obj-$(CONFIG_MACH_RD88F6281)		+= rd88f6281-setup.o
- obj-$(CONFIG_MACH_MV88F6281GTW_GE)	+= mv88f6281gtw_ge-setup.o
- obj-$(CONFIG_MACH_SHEEVAPLUG)		+= sheevaplug-setup.o
-+obj-$(CONFIG_MACH_DOCKSTAR)		+= dockstar-setup.o
- obj-$(CONFIG_MACH_ESATA_SHEEVAPLUG)	+= sheevaplug-setup.o
- obj-$(CONFIG_MACH_GURUPLUG)		+= guruplug-setup.o
- obj-$(CONFIG_MACH_TS219)		+= ts219-setup.o tsx1x-common.o
---- /dev/null
-+++ b/arch/arm/mach-kirkwood/dockstar-setup.c
-@@ -0,0 +1,121 @@
-+/*
-+ * arch/arm/mach-kirkwood/dockstar-setup.c
-+ *
-+ * Seagate FreeAgent DockStar Setup
-+ *
-+ * This file is licensed under the terms of the GNU General Public
-+ * License version 2.  This program is licensed "as is" without any
-+ * warranty of any kind, whether express or implied.
-+ */
-+
-+#include <linux/kernel.h>
-+#include <linux/init.h>
-+#include <linux/platform_device.h>
-+#include <linux/ata_platform.h>
-+#include <linux/mtd/partitions.h>
-+#include <linux/mv643xx_eth.h>
-+#include <linux/gpio.h>
-+#include <linux/leds.h>
-+#include <asm/mach-types.h>
-+#include <asm/mach/arch.h>
-+#include <mach/kirkwood.h>
-+#include <plat/mvsdio.h>
-+#include "common.h"
-+#include "mpp.h"
-+
-+static struct mtd_partition dockstar_nand_parts[] = {
-+	{
-+		.name = "u-boot",
-+		.offset = 0,
-+		.size = SZ_1M
-+	}, 	{
-+		.name = "second_stage_u-boot",
-+		.offset = MTDPART_OFS_NXTBLK,
-+		.size = SZ_1M
-+	}, {
-+		.name = "uImage",
-+		.offset = MTDPART_OFS_NXTBLK,
-+		.size = SZ_1M + SZ_2M,
-+	}, {
-+		.name = "rootfs",
-+		.offset = MTDPART_OFS_NXTBLK,
-+		.size = SZ_32M,
-+	}, {
-+		.name = "data",
-+		.offset = MTDPART_OFS_NXTBLK,
-+		.size = MTDPART_SIZ_FULL
-+	},
-+};
-+
-+static struct mv643xx_eth_platform_data dockstar_ge00_data = {
-+	.phy_addr	= MV643XX_ETH_PHY_ADDR(0),
-+};
-+
-+static struct gpio_led dockstar_led_pins[] = {
-+	{
-+		.name			= "dockstar:green:health",
-+		.default_trigger	= "default-on",
-+		.gpio			= 46,
-+		.active_low		= 1,
-+	},
-+	{
-+		.name			= "dockstar:orange:misc",
-+		.default_trigger	= "none",
-+		.gpio			= 47,
-+		.active_low		= 1,
-+	},
-+};
-+
-+static struct gpio_led_platform_data dockstar_led_data = {
-+	.leds		= dockstar_led_pins,
-+	.num_leds	= ARRAY_SIZE(dockstar_led_pins),
-+};
-+
-+static struct platform_device dockstar_leds = {
-+	.name	= "leds-gpio",
-+	.id	= -1,
-+	.dev	= {
-+		.platform_data	= &dockstar_led_data,
-+	}
-+};
-+
-+static unsigned int dockstar_mpp_config[] __initdata = {
-+	MPP29_GPIO,	/* USB Power Enable */
-+	MPP46_GPIO,	/* LED green */
-+	MPP47_GPIO,	/* LED orange */
-+	0
-+};
-+
-+static void __init dockstar_init(void)
-+{
-+	/*
-+	 * Basic setup. Needs to be called early.
-+	 */
-+	kirkwood_init();
-+
-+	/* setup gpio pin select */
-+	kirkwood_mpp_conf(dockstar_mpp_config);
-+
-+	kirkwood_uart0_init();
-+
-+	if (gpio_request(29, "USB Power Enable") != 0 ||
-+	    gpio_direction_output(29, 1) != 0)
-+		printk(KERN_ERR "can't set up GPIO 29 (USB Power Enable)\n");
-+	kirkwood_ehci_init();
-+
-+	kirkwood_nand_init(ARRAY_AND_SIZE(dockstar_nand_parts), 25);
-+
-+	kirkwood_ge00_init(&dockstar_ge00_data);
-+
-+	platform_device_register(&dockstar_leds);
-+}
-+
-+MACHINE_START(DOCKSTAR, "Seagate FreeAgent DockStar")
-+	.phys_io	= KIRKWOOD_REGS_PHYS_BASE,
-+	.io_pg_offst	= ((KIRKWOOD_REGS_VIRT_BASE) >> 18) & 0xfffc,
-+	.boot_params	= 0x00000100,
-+	.init_machine	= dockstar_init,
-+	.map_io		= kirkwood_map_io,
-+	.init_irq	= kirkwood_init_irq,
-+	.timer		= &kirkwood_timer,
-+MACHINE_END
diff --git a/target/linux/kirkwood/patches/200-iconnect.patch b/target/linux/kirkwood/patches/200-iconnect.patch
index 3bc814067e..f8baae64a2 100644
--- a/target/linux/kirkwood/patches/200-iconnect.patch
+++ b/target/linux/kirkwood/patches/200-iconnect.patch
@@ -1,18 +1,18 @@
 --- a/arch/arm/mach-kirkwood/Makefile
 +++ b/arch/arm/mach-kirkwood/Makefile
 @@ -8,6 +8,7 @@ obj-$(CONFIG_MACH_SHEEVAPLUG)		+= sheeva
- obj-$(CONFIG_MACH_DOCKSTAR)		+= dockstar-setup.o
  obj-$(CONFIG_MACH_ESATA_SHEEVAPLUG)	+= sheevaplug-setup.o
  obj-$(CONFIG_MACH_GURUPLUG)		+= guruplug-setup.o
+ obj-$(CONFIG_MACH_DOCKSTAR)		+= dockstar-setup.o
 +obj-$(CONFIG_MACH_ICONNECT)		+= iconnect-setup.o
  obj-$(CONFIG_MACH_TS219)		+= ts219-setup.o tsx1x-common.o
  obj-$(CONFIG_MACH_TS41X)		+= ts41x-setup.o tsx1x-common.o
  obj-$(CONFIG_MACH_OPENRD)		+= openrd-setup.o
 --- a/arch/arm/mach-kirkwood/Kconfig
 +++ b/arch/arm/mach-kirkwood/Kconfig
-@@ -105,6 +105,12 @@ config MACH_DOCKSTAR
+@@ -130,6 +130,12 @@ config MACH_T5325
  	  Say 'Y' here if you want your kernel to support the
- 	  Seagate FreeAgent DockStar.
+ 	  HP t5325 Thin Client.
  
 +config MACH_ICONNECT
 +	bool "Iomega iConnect Wireless"
@@ -25,17 +25,17 @@
  endif
 --- a/arch/arm/mach-kirkwood/mpp.h
 +++ b/arch/arm/mach-kirkwood/mpp.h
-@@ -103,6 +103,7 @@
- #define MPP11_SATA0_ACTn	MPP( 11, 0x5, 0, 1, 0,   1,   1,   1    )
- 
- #define MPP12_GPO		MPP( 12, 0x0, 0, 1, 1,   1,   1,   1    )
-+#define MPP12_GPIO		MPP( 12, 0x0, 1, 1, 1,   1,   1,   1    )
- #define MPP12_SD_CLK		MPP( 12, 0x1, 0, 1, 1,   1,   1,   1    )
+@@ -108,6 +108,7 @@
+ #define MPP11_SATA0_ACTn	MPP( 11, 0x5, 0, 1, 0,   1,   1,   1,   1 )
  
- #define MPP13_GPIO		MPP( 13, 0x0, 1, 1, 1,   1,   1,   1    )
+ #define MPP12_GPO		MPP( 12, 0x0, 0, 1, 1,   1,   1,   1,   1 )
++#define MPP12_GPIO		MPP( 12, 0x0, 1, 1, 1,   1,   1,   1,   1 )
+ #define MPP12_SD_CLK		MPP( 12, 0x1, 0, 1, 1,   1,   1,   1,   1 )
+ #define MPP12_AU_SPDIF0		MPP( 12, 0xa, 0, 1, 0,   0,   0,   0,   1 )
+ #define MPP12_SPI_MOSI		MPP( 12, 0xb, 0, 1, 0,   0,   0,   0,   1 )
 --- /dev/null
 +++ b/arch/arm/mach-kirkwood/iconnect-setup.c
-@@ -0,0 +1,190 @@
+@@ -0,0 +1,188 @@
 +/*
 + * arch/arm/mach-kirkwood/iconnect-setup.c
 + *
@@ -210,7 +210,7 @@
 +static int __init iconnect_pci_init(void)
 +{
 +	if (machine_is_iconnect())
-+		kirkwood_pcie_init();
++		kirkwood_pcie_init(KW_PCIE0);
 +
 +	return 0;
 +}
@@ -218,8 +218,6 @@
 +
 +
 +MACHINE_START(ICONNECT, "Iomega iConnect Wireless")
-+	.phys_io	= KIRKWOOD_REGS_PHYS_BASE,
-+	.io_pg_offst	= ((KIRKWOOD_REGS_VIRT_BASE) >> 18) & 0xfffc,
 +	.boot_params	= 0x00000100,
 +	.init_machine	= iconnect_init,
 +	.map_io		= kirkwood_map_io,
-- 
2.30.2