upgrade to 2.6.37

SVN-Revision: 26225
v19.07.3_mercusys_ac12_duma
Imre Kaloz 13 years ago
parent 5e58d35a34
commit c89b70adcd

@ -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

@ -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

@ -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.
*/

@ -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

@ -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,

Loading…
Cancel
Save