sh: Consolidate rsk7203/7201 in to a new mach-rsk.
authorPaul Mundt <lethal@linux-sh.org>
Mon, 8 Dec 2008 05:32:03 +0000 (14:32 +0900)
committerPaul Mundt <lethal@linux-sh.org>
Mon, 22 Dec 2008 09:44:02 +0000 (18:44 +0900)
RSK+ platforms have quite a few characteristics in common, so roll them
together in to a shiny new RSK mach-type.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
arch/sh/Makefile
arch/sh/boards/Kconfig
arch/sh/boards/Makefile
arch/sh/boards/board-rsk7201.c [deleted file]
arch/sh/boards/board-rsk7203.c [deleted file]
arch/sh/boards/mach-rsk/Kconfig [new file with mode: 0644]
arch/sh/boards/mach-rsk/Makefile [new file with mode: 0644]
arch/sh/boards/mach-rsk/devices-rsk7203.c [new file with mode: 0644]
arch/sh/boards/mach-rsk/setup.c [new file with mode: 0644]
arch/sh/tools/mach-types

index ad0096151781f5a7c0095175cb5d2fcd6599189d..d56889e62a90cbe694b3acc203210572839f3c57 100644 (file)
@@ -135,6 +135,7 @@ machdir-$(CONFIG_SH_LANDISK)                        += mach-landisk
 machdir-$(CONFIG_SH_TITAN)                     += mach-titan
 machdir-$(CONFIG_SH_LBOX_RE2)                  += mach-lboxre2
 machdir-$(CONFIG_SH_CAYMAN)                    += mach-cayman
+machdir-$(CONFIG_SH_RSK)                       += mach-rsk
 
 ifneq ($(machdir-y),)
 core-y += $(addprefix arch/sh/boards/, \
index 2bf3f6c73c1250af9d09706b320e721f8966019f..861914747e4ecf4d2ea2ab2ad81e5c0c4a690d9c 100644 (file)
@@ -126,14 +126,12 @@ config SH_RTS7751R2D
          Select RTS7751R2D if configuring for a Renesas Technology
          Sales SH-Graphics board.
 
-config SH_RSK7201
-       bool "RSK7201"
-       depends on CPU_SUBTYPE_SH7201
-
-config SH_RSK7203
-       bool "RSK7203"
-       select GENERIC_GPIO
-       depends on CPU_SUBTYPE_SH7203
+config SH_RSK
+       bool "Renesas Starter Kit"
+       depends on CPU_SUBTYPE_SH7201 || CPU_SUBTYPE_SH7203
+       help
+        Select this option if configuring for any of the RSK+ MCU
+        evaluation platforms.
 
 config SH_SDK7780
        bool "SDK7780R3"
@@ -257,6 +255,7 @@ source "arch/sh/boards/mach-r2d/Kconfig"
 source "arch/sh/boards/mach-highlander/Kconfig"
 source "arch/sh/boards/mach-sdk7780/Kconfig"
 source "arch/sh/boards/mach-migor/Kconfig"
+source "arch/sh/boards/mach-rsk/Kconfig"
 
 if SH_MAGIC_PANEL_R2
 
index ce4d4d4651852aa993e1f509c6bcd26c00f2113e..269ae2be49ef5cc7b966d671488cc62368cd4c35 100644 (file)
@@ -3,8 +3,6 @@
 #
 obj-$(CONFIG_SH_AP325RXA)      += board-ap325rxa.o
 obj-$(CONFIG_SH_MAGIC_PANEL_R2)        += board-magicpanelr2.o
-obj-$(CONFIG_SH_RSK7201)       += board-rsk7201.o
-obj-$(CONFIG_SH_RSK7203)       += board-rsk7203.o
 obj-$(CONFIG_SH_SH7785LCR)     += board-sh7785lcr.o
 obj-$(CONFIG_SH_SHMIN)         += board-shmin.o
 obj-$(CONFIG_SH_EDOSK7760)     += board-edosk7760.o
diff --git a/arch/sh/boards/board-rsk7201.c b/arch/sh/boards/board-rsk7201.c
deleted file mode 100644 (file)
index 6fcf644..0000000
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
- * Renesas Technology Europe RSK+ 7201 Support.
- *
- * Copyright (C) 2008 Peter Griffin <pgriffin@mpc-data.co.uk>
- *
- * This file is subject to the terms and conditions of the GNU General Public
- * License.  See the file "COPYING" in the main directory of this archive
- * for more details.
- */
-#include <linux/init.h>
-#include <linux/types.h>
-#include <linux/platform_device.h>
-#include <linux/interrupt.h>
-#include <linux/mtd/mtd.h>
-#include <linux/mtd/partitions.h>
-#include <linux/mtd/physmap.h>
-#include <linux/mtd/map.h>
-#include <asm/machvec.h>
-#include <asm/io.h>
-
-static const char *probes[] = { "cmdlinepart", NULL };
-
-static struct mtd_partition *parsed_partitions;
-
-static struct mtd_partition rsk7201_partitions[] = {
-       {
-               .name           = "Bootloader",
-               .offset         = 0x00000000,
-               .size           = 0x00040000,
-               .mask_flags     = MTD_WRITEABLE,
-       }, {
-               .name           = "Kernel",
-               .offset         = MTDPART_OFS_NXTBLK,
-               .size           = 0x001c0000,
-       }, {
-               .name           = "Flash_FS",
-               .offset         = MTDPART_OFS_NXTBLK,
-               .size           = MTDPART_SIZ_FULL,
-       }
-};
-
-static struct physmap_flash_data flash_data = {
-       .width          = 2,
-};
-
-static struct resource flash_resource = {
-       .start          = 0x20000000,
-       .end            = 0x20400000,
-       .flags          = IORESOURCE_MEM,
-};
-
-static struct platform_device flash_device = {
-       .name           = "physmap-flash",
-       .id             = -1,
-       .resource       = &flash_resource,
-       .num_resources  = 1,
-       .dev            = {
-               .platform_data = &flash_data,
-       },
-};
-
-static struct mtd_info *flash_mtd;
-
-static struct map_info rsk7201_flash_map = {
-       .name           = "RSK+ Flash",
-       .size           = 0x400000,
-       .bankwidth      = 2,
-};
-
-static void __init set_mtd_partitions(void)
-{
-       int nr_parts = 0;
-
-       simple_map_init(&rsk7201_flash_map);
-       flash_mtd = do_map_probe("cfi_probe", &rsk7201_flash_map);
-       nr_parts = parse_mtd_partitions(flash_mtd, probes,
-                                       &parsed_partitions, 0);
-       /* If there is no partition table, used the hard coded table */
-       if (nr_parts <= 0) {
-               flash_data.parts = rsk7201_partitions;
-               flash_data.nr_parts = ARRAY_SIZE(rsk7201_partitions);
-       } else {
-               flash_data.nr_parts = nr_parts;
-               flash_data.parts = parsed_partitions;
-       }
-}
-
-static struct platform_device *rsk7201_devices[] __initdata = {
-       &flash_device,
-};
-
-static int __init rsk7201_devices_setup(void)
-{
-       set_mtd_partitions();
-       return platform_add_devices(rsk7201_devices,
-                                   ARRAY_SIZE(rsk7201_devices));
-}
-device_initcall(rsk7201_devices_setup);
-
-/*
- * The Machine Vector
- */
-static struct sh_machine_vector mv_rsk7201 __initmv = {
-       .mv_name        = "RSK+7201",
-};
diff --git a/arch/sh/boards/board-rsk7203.c b/arch/sh/boards/board-rsk7203.c
deleted file mode 100644 (file)
index 58266f0..0000000
+++ /dev/null
@@ -1,179 +0,0 @@
-/*
- * Renesas Technology Europe RSK+ 7203 Support.
- *
- * Copyright (C) 2008 Paul Mundt
- *
- * This file is subject to the terms and conditions of the GNU General Public
- * License.  See the file "COPYING" in the main directory of this archive
- * for more details.
- */
-#include <linux/init.h>
-#include <linux/types.h>
-#include <linux/platform_device.h>
-#include <linux/interrupt.h>
-#include <linux/mtd/mtd.h>
-#include <linux/mtd/partitions.h>
-#include <linux/mtd/physmap.h>
-#include <linux/mtd/map.h>
-#include <linux/smc911x.h>
-#include <linux/gpio.h>
-#include <linux/leds.h>
-#include <asm/machvec.h>
-#include <asm/io.h>
-#include <cpu/sh7203.h>
-
-static struct smc911x_platdata smc911x_info = {
-       .flags          = SMC911X_USE_16BIT,
-       .irq_flags      = IRQF_TRIGGER_LOW,
-};
-
-static struct resource smc911x_resources[] = {
-       [0] = {
-               .start          = 0x24000000,
-               .end            = 0x24000000 + 0x100,
-               .flags          = IORESOURCE_MEM,
-       },
-       [1] = {
-               .start          = 64,
-               .end            = 64,
-               .flags          = IORESOURCE_IRQ,
-       },
-};
-
-static struct platform_device smc911x_device = {
-       .name           = "smc911x",
-       .id             = -1,
-       .num_resources  = ARRAY_SIZE(smc911x_resources),
-       .resource       = smc911x_resources,
-       .dev            = {
-               .platform_data = &smc911x_info,
-       },
-};
-
-static const char *probes[] = { "cmdlinepart", NULL };
-
-static struct mtd_partition *parsed_partitions;
-
-static struct mtd_partition rsk7203_partitions[] = {
-       {
-               .name           = "Bootloader",
-               .offset         = 0x00000000,
-               .size           = 0x00040000,
-               .mask_flags     = MTD_WRITEABLE,
-       }, {
-               .name           = "Kernel",
-               .offset         = MTDPART_OFS_NXTBLK,
-               .size           = 0x001c0000,
-       }, {
-               .name           = "Flash_FS",
-               .offset         = MTDPART_OFS_NXTBLK,
-               .size           = MTDPART_SIZ_FULL,
-       }
-};
-
-static struct physmap_flash_data flash_data = {
-       .width          = 2,
-};
-
-static struct resource flash_resource = {
-       .start          = 0x20000000,
-       .end            = 0x20400000,
-       .flags          = IORESOURCE_MEM,
-};
-
-static struct platform_device flash_device = {
-       .name           = "physmap-flash",
-       .id             = -1,
-       .resource       = &flash_resource,
-       .num_resources  = 1,
-       .dev            = {
-               .platform_data = &flash_data,
-       },
-};
-
-static struct mtd_info *flash_mtd;
-
-static struct map_info rsk7203_flash_map = {
-       .name           = "RSK+ Flash",
-       .size           = 0x400000,
-       .bankwidth      = 2,
-};
-
-static void __init set_mtd_partitions(void)
-{
-       int nr_parts = 0;
-
-       simple_map_init(&rsk7203_flash_map);
-       flash_mtd = do_map_probe("cfi_probe", &rsk7203_flash_map);
-       nr_parts = parse_mtd_partitions(flash_mtd, probes,
-                                       &parsed_partitions, 0);
-       /* If there is no partition table, used the hard coded table */
-       if (nr_parts <= 0) {
-               flash_data.parts = rsk7203_partitions;
-               flash_data.nr_parts = ARRAY_SIZE(rsk7203_partitions);
-       } else {
-               flash_data.nr_parts = nr_parts;
-               flash_data.parts = parsed_partitions;
-       }
-}
-
-static struct gpio_led rsk7203_gpio_leds[] = {
-       {
-               .name                   = "green",
-               .gpio                   = GPIO_PE10,
-               .active_low             = 1,
-       }, {
-               .name                   = "orange",
-               .default_trigger        = "nand-disk",
-               .gpio                   = GPIO_PE12,
-               .active_low             = 1,
-       }, {
-               .name                   = "red:timer",
-               .default_trigger        = "timer",
-               .gpio                   = GPIO_PC14,
-               .active_low             = 1,
-       }, {
-               .name                   = "red:heartbeat",
-               .default_trigger        = "heartbeat",
-               .gpio                   = GPIO_PE11,
-               .active_low             = 1,
-       },
-};
-
-static struct gpio_led_platform_data rsk7203_gpio_leds_info = {
-       .leds           = rsk7203_gpio_leds,
-       .num_leds       = ARRAY_SIZE(rsk7203_gpio_leds),
-};
-
-static struct platform_device led_device = {
-       .name           = "leds-gpio",
-       .id             = -1,
-       .dev            = {
-               .platform_data  = &rsk7203_gpio_leds_info,
-       },
-};
-
-static struct platform_device *rsk7203_devices[] __initdata = {
-       &smc911x_device,
-       &flash_device,
-       &led_device,
-};
-
-static int __init rsk7203_devices_setup(void)
-{
-       /* Select pins for SCIF0 */
-       gpio_request(GPIO_FN_TXD0, NULL);
-       gpio_request(GPIO_FN_RXD0, NULL);
-
-       set_mtd_partitions();
-       return platform_add_devices(rsk7203_devices,
-                                   ARRAY_SIZE(rsk7203_devices));
-}
-device_initcall(rsk7203_devices_setup);
-
-/*
- * The Machine Vector
- */
-static struct sh_machine_vector mv_rsk7203 __initmv = {
-       .mv_name        = "RSK+7203",
-};
diff --git a/arch/sh/boards/mach-rsk/Kconfig b/arch/sh/boards/mach-rsk/Kconfig
new file mode 100644 (file)
index 0000000..bff095d
--- /dev/null
@@ -0,0 +1,18 @@
+if SH_RSK
+
+choice
+       prompt "RSK+ options"
+       default SH_RSK7203
+
+config SH_RSK7201
+       bool "RSK7201"
+       depends on CPU_SUBTYPE_SH7201
+
+config SH_RSK7203
+       bool "RSK7203"
+       select GENERIC_GPIO
+       depends on CPU_SUBTYPE_SH7203
+
+endchoice
+
+endif
diff --git a/arch/sh/boards/mach-rsk/Makefile b/arch/sh/boards/mach-rsk/Makefile
new file mode 100644 (file)
index 0000000..498da75
--- /dev/null
@@ -0,0 +1,2 @@
+obj-y                          := setup.o
+obj-$(CONFIG_SH_RSK7203)       += devices-rsk7203.o
diff --git a/arch/sh/boards/mach-rsk/devices-rsk7203.c b/arch/sh/boards/mach-rsk/devices-rsk7203.c
new file mode 100644 (file)
index 0000000..73f743b
--- /dev/null
@@ -0,0 +1,103 @@
+/*
+ * Renesas Technology Europe RSK+ 7203 Support.
+ *
+ * Copyright (C) 2008 Paul Mundt
+ *
+ * This file is subject to the terms and conditions of the GNU General Public
+ * License.  See the file "COPYING" in the main directory of this archive
+ * for more details.
+ */
+#include <linux/init.h>
+#include <linux/types.h>
+#include <linux/platform_device.h>
+#include <linux/interrupt.h>
+#include <linux/mtd/mtd.h>
+#include <linux/mtd/partitions.h>
+#include <linux/mtd/physmap.h>
+#include <linux/mtd/map.h>
+#include <linux/smc911x.h>
+#include <linux/gpio.h>
+#include <linux/leds.h>
+#include <asm/machvec.h>
+#include <asm/io.h>
+#include <cpu/sh7203.h>
+
+static struct smc911x_platdata smc911x_info = {
+       .flags          = SMC911X_USE_16BIT,
+       .irq_flags      = IRQF_TRIGGER_LOW,
+};
+
+static struct resource smc911x_resources[] = {
+       [0] = {
+               .start          = 0x24000000,
+               .end            = 0x24000000 + 0x100,
+               .flags          = IORESOURCE_MEM,
+       },
+       [1] = {
+               .start          = 64,
+               .end            = 64,
+               .flags          = IORESOURCE_IRQ,
+       },
+};
+
+static struct platform_device smc911x_device = {
+       .name           = "smc911x",
+       .id             = -1,
+       .num_resources  = ARRAY_SIZE(smc911x_resources),
+       .resource       = smc911x_resources,
+       .dev            = {
+               .platform_data = &smc911x_info,
+       },
+};
+
+static struct gpio_led rsk7203_gpio_leds[] = {
+       {
+               .name                   = "green",
+               .gpio                   = GPIO_PE10,
+               .active_low             = 1,
+       }, {
+               .name                   = "orange",
+               .default_trigger        = "nand-disk",
+               .gpio                   = GPIO_PE12,
+               .active_low             = 1,
+       }, {
+               .name                   = "red:timer",
+               .default_trigger        = "timer",
+               .gpio                   = GPIO_PC14,
+               .active_low             = 1,
+       }, {
+               .name                   = "red:heartbeat",
+               .default_trigger        = "heartbeat",
+               .gpio                   = GPIO_PE11,
+               .active_low             = 1,
+       },
+};
+
+static struct gpio_led_platform_data rsk7203_gpio_leds_info = {
+       .leds           = rsk7203_gpio_leds,
+       .num_leds       = ARRAY_SIZE(rsk7203_gpio_leds),
+};
+
+static struct platform_device led_device = {
+       .name           = "leds-gpio",
+       .id             = -1,
+       .dev            = {
+               .platform_data  = &rsk7203_gpio_leds_info,
+       },
+};
+
+static struct platform_device *rsk7203_devices[] __initdata = {
+       &smc911x_device,
+       &led_device,
+};
+
+static int __init rsk7203_devices_setup(void)
+{
+       /* Select pins for SCIF0 */
+       gpio_request(GPIO_FN_TXD0, NULL);
+       gpio_request(GPIO_FN_RXD0, NULL);
+
+       return platform_add_devices(rsk7203_devices,
+                                   ARRAY_SIZE(rsk7203_devices));
+}
+device_initcall(rsk7203_devices_setup);
diff --git a/arch/sh/boards/mach-rsk/setup.c b/arch/sh/boards/mach-rsk/setup.c
new file mode 100644 (file)
index 0000000..af64d03
--- /dev/null
@@ -0,0 +1,106 @@
+/*
+ * Renesas Technology Europe RSK+ Support.
+ *
+ * Copyright (C) 2008 Paul Mundt
+ * Copyright (C) 2008 Peter Griffin <pgriffin@mpc-data.co.uk>
+ *
+ * This file is subject to the terms and conditions of the GNU General Public
+ * License.  See the file "COPYING" in the main directory of this archive
+ * for more details.
+ */
+#include <linux/init.h>
+#include <linux/types.h>
+#include <linux/platform_device.h>
+#include <linux/interrupt.h>
+#include <linux/mtd/mtd.h>
+#include <linux/mtd/partitions.h>
+#include <linux/mtd/physmap.h>
+#include <linux/mtd/map.h>
+#include <asm/machvec.h>
+#include <asm/io.h>
+
+static const char *probes[] = { "cmdlinepart", NULL };
+
+static struct mtd_partition *parsed_partitions;
+
+static struct mtd_partition rsk_partitions[] = {
+       {
+               .name           = "Bootloader",
+               .offset         = 0x00000000,
+               .size           = 0x00040000,
+               .mask_flags     = MTD_WRITEABLE,
+       }, {
+               .name           = "Kernel",
+               .offset         = MTDPART_OFS_NXTBLK,
+               .size           = 0x001c0000,
+       }, {
+               .name           = "Flash_FS",
+               .offset         = MTDPART_OFS_NXTBLK,
+               .size           = MTDPART_SIZ_FULL,
+       }
+};
+
+static struct physmap_flash_data flash_data = {
+       .width          = 2,
+};
+
+static struct resource flash_resource = {
+       .start          = 0x20000000,
+       .end            = 0x20400000,
+       .flags          = IORESOURCE_MEM,
+};
+
+static struct platform_device flash_device = {
+       .name           = "physmap-flash",
+       .id             = -1,
+       .resource       = &flash_resource,
+       .num_resources  = 1,
+       .dev            = {
+               .platform_data = &flash_data,
+       },
+};
+
+static struct mtd_info *flash_mtd;
+
+static struct map_info rsk_flash_map = {
+       .name           = "RSK+ Flash",
+       .size           = 0x400000,
+       .bankwidth      = 2,
+};
+
+static void __init set_mtd_partitions(void)
+{
+       int nr_parts = 0;
+
+       simple_map_init(&rsk_flash_map);
+       flash_mtd = do_map_probe("cfi_probe", &rsk_flash_map);
+       nr_parts = parse_mtd_partitions(flash_mtd, probes,
+                                       &parsed_partitions, 0);
+       /* If there is no partition table, used the hard coded table */
+       if (nr_parts <= 0) {
+               flash_data.parts = rsk_partitions;
+               flash_data.nr_parts = ARRAY_SIZE(rsk_partitions);
+       } else {
+               flash_data.nr_parts = nr_parts;
+               flash_data.parts = parsed_partitions;
+       }
+}
+
+static struct platform_device *rsk_devices[] __initdata = {
+       &flash_device,
+};
+
+static int __init rsk_devices_setup(void)
+{
+       set_mtd_partitions();
+       return platform_add_devices(rsk_devices,
+                                   ARRAY_SIZE(rsk_devices));
+}
+device_initcall(rsk_devices_setup);
+
+/*
+ * The Machine Vector
+ */
+static struct sh_machine_vector mv_rsk __initmv = {
+       .mv_name        = "RSK+",
+};
index 69a9aeedf6e3aff5c894575c337f5fdece92e535..284b7e86749685cc7fe25157edcaf7e8e9bf0dcb 100644 (file)
@@ -8,6 +8,7 @@
 SE                     SH_SOLUTION_ENGINE
 HIGHLANDER             SH_HIGHLANDER
 RTS7751R2D             SH_RTS7751R2D
+RSK                    SH_RSK
 
 #
 # List of companion chips / MFDs.
This page took 0.033329 seconds and 5 git commands to generate.