From ea0aac1e1327476d2f6a38f08145281237cf1b03 Mon Sep 17 00:00:00 2001 From: Paul Mundt Date: Mon, 8 Dec 2008 14:32:03 +0900 Subject: [PATCH] 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 --- arch/sh/Makefile | 1 + arch/sh/boards/Kconfig | 15 ++-- arch/sh/boards/Makefile | 2 - arch/sh/boards/mach-rsk/Kconfig | 18 +++++ arch/sh/boards/mach-rsk/Makefile | 2 + .../devices-rsk7203.c} | 76 ------------------- .../{board-rsk7201.c => mach-rsk/setup.c} | 29 +++---- arch/sh/tools/mach-types | 1 + 8 files changed, 44 insertions(+), 100 deletions(-) create mode 100644 arch/sh/boards/mach-rsk/Kconfig create mode 100644 arch/sh/boards/mach-rsk/Makefile rename arch/sh/boards/{board-rsk7203.c => mach-rsk/devices-rsk7203.c} (58%) rename arch/sh/boards/{board-rsk7201.c => mach-rsk/setup.c} (73%) diff --git a/arch/sh/Makefile b/arch/sh/Makefile index ad009615178..d56889e62a9 100644 --- a/arch/sh/Makefile +++ b/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/, \ diff --git a/arch/sh/boards/Kconfig b/arch/sh/boards/Kconfig index 2bf3f6c73c1..861914747e4 100644 --- a/arch/sh/boards/Kconfig +++ b/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 diff --git a/arch/sh/boards/Makefile b/arch/sh/boards/Makefile index ce4d4d46518..269ae2be49e 100644 --- a/arch/sh/boards/Makefile +++ b/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 diff --git a/arch/sh/boards/mach-rsk/Kconfig b/arch/sh/boards/mach-rsk/Kconfig new file mode 100644 index 00000000000..bff095dffc0 --- /dev/null +++ b/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 diff --git a/arch/sh/boards/mach-rsk/Makefile b/arch/sh/boards/mach-rsk/Makefile new file mode 100644 index 00000000000..498da75ce38 --- /dev/null +++ b/arch/sh/boards/mach-rsk/Makefile @@ -0,0 +1,2 @@ +obj-y := setup.o +obj-$(CONFIG_SH_RSK7203) += devices-rsk7203.o diff --git a/arch/sh/boards/board-rsk7203.c b/arch/sh/boards/mach-rsk/devices-rsk7203.c similarity index 58% rename from arch/sh/boards/board-rsk7203.c rename to arch/sh/boards/mach-rsk/devices-rsk7203.c index 58266f06134..73f743b9be8 100644 --- a/arch/sh/boards/board-rsk7203.c +++ b/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", -}; diff --git a/arch/sh/boards/board-rsk7201.c b/arch/sh/boards/mach-rsk/setup.c similarity index 73% rename from arch/sh/boards/board-rsk7201.c rename to arch/sh/boards/mach-rsk/setup.c index 6fcf6445375..af64d030a5c 100644 --- a/arch/sh/boards/board-rsk7201.c +++ b/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 * * 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+", }; diff --git a/arch/sh/tools/mach-types b/arch/sh/tools/mach-types index 69a9aeedf6e..284b7e86749 100644 --- a/arch/sh/tools/mach-types +++ b/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. -- 2.46.0