summaryrefslogtreecommitdiff
path: root/target/linux/kirkwood/patches
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/kirkwood/patches')
-rw-r--r--target/linux/kirkwood/patches/002-mvsdio_delay.patch4
-rw-r--r--target/linux/kirkwood/patches/100-dockstar.patch162
-rw-r--r--target/linux/kirkwood/patches/200-iconnect.patch26
3 files changed, 14 insertions, 178 deletions
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,