浏览代码

sh: Consolidate rsk7203/7201 in to a new mach-rsk.

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>
Paul Mundt 16 年之前
父节点
当前提交
ea0aac1e13

+ 1 - 0
arch/sh/Makefile

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

+ 7 - 8
arch/sh/boards/Kconfig

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

+ 0 - 2
arch/sh/boards/Makefile

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

+ 18 - 0
arch/sh/boards/mach-rsk/Kconfig

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

+ 2 - 0
arch/sh/boards/mach-rsk/Makefile

@@ -0,0 +1,2 @@
+obj-y				:= setup.o
+obj-$(CONFIG_SH_RSK7203)	+= devices-rsk7203.o

+ 0 - 76
arch/sh/boards/board-rsk7203.c → arch/sh/boards/mach-rsk/devices-rsk7203.c

@@ -50,73 +50,6 @@ static struct platform_device smc911x_device = {
 	},
 };
 
-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",
@@ -155,7 +88,6 @@ static struct platform_device led_device = {
 
 static struct platform_device *rsk7203_devices[] __initdata = {
 	&smc911x_device,
-	&flash_device,
 	&led_device,
 };
 
@@ -165,15 +97,7 @@ static int __init rsk7203_devices_setup(void)
 	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",
-};

+ 15 - 14
arch/sh/boards/board-rsk7201.c → arch/sh/boards/mach-rsk/setup.c

@@ -1,6 +1,7 @@
 /*
- * Renesas Technology Europe RSK+ 7201 Support.
+ * 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
@@ -22,7 +23,7 @@ static const char *probes[] = { "cmdlinepart", NULL };
 
 static struct mtd_partition *parsed_partitions;
 
-static struct mtd_partition rsk7201_partitions[] = {
+static struct mtd_partition rsk_partitions[] = {
 	{
 		.name		= "Bootloader",
 		.offset		= 0x00000000,
@@ -61,7 +62,7 @@ static struct platform_device flash_device = {
 
 static struct mtd_info *flash_mtd;
 
-static struct map_info rsk7201_flash_map = {
+static struct map_info rsk_flash_map = {
 	.name		= "RSK+ Flash",
 	.size		= 0x400000,
 	.bankwidth	= 2,
@@ -71,35 +72,35 @@ 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);
+	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 = rsk7201_partitions;
-		flash_data.nr_parts = ARRAY_SIZE(rsk7201_partitions);
+		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 *rsk7201_devices[] __initdata = {
+static struct platform_device *rsk_devices[] __initdata = {
 	&flash_device,
 };
 
-static int __init rsk7201_devices_setup(void)
+static int __init rsk_devices_setup(void)
 {
 	set_mtd_partitions();
-	return platform_add_devices(rsk7201_devices,
-				    ARRAY_SIZE(rsk7201_devices));
+	return platform_add_devices(rsk_devices,
+				    ARRAY_SIZE(rsk_devices));
 }
-device_initcall(rsk7201_devices_setup);
+device_initcall(rsk_devices_setup);
 
 /*
  * The Machine Vector
  */
-static struct sh_machine_vector mv_rsk7201 __initmv = {
-	.mv_name        = "RSK+7201",
+static struct sh_machine_vector mv_rsk __initmv = {
+	.mv_name        = "RSK+",
 };

+ 1 - 0
arch/sh/tools/mach-types

@@ -8,6 +8,7 @@
 SE			SH_SOLUTION_ENGINE
 HIGHLANDER		SH_HIGHLANDER
 RTS7751R2D		SH_RTS7751R2D
+RSK			SH_RSK
 
 #
 # List of companion chips / MFDs.