diff options
author | Olof Johansson <olof@lixom.net> | 2013-08-14 03:46:07 -0400 |
---|---|---|
committer | Olof Johansson <olof@lixom.net> | 2013-08-14 03:46:07 -0400 |
commit | e91f24ae027a583f2faff84456fa2630144bfed8 (patch) | |
tree | 3a9d13948a8313bd650d473efb1bb5f7a078d318 | |
parent | 55689bfa21dc0c02ff6cc9c3ab90a78bc9b66093 (diff) | |
parent | fd071b669ee2405e986636e389a3d1b6776e50a0 (diff) |
Merge tag 'renesas-multiplatform-for-v3.12' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/dt
From Simon Horman:
Renesas ARM based SoC multiplatform updates for v3.12
Move Renesas ARM based SoCs a little closer to using
multiplatform by adding ARCH_SHMOBILE_MULTI and only
building clocks when COMMON_CLK=n.
* tag 'renesas-multiplatform-for-v3.12' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
ARM: shmobile: Allow ARCH_SHMOBILE_MULTI timer configuration
ARM: shmobile: Add EMEV2 and KZM9D to ARCH_SHMOBILE_MULTI
ARM: shmobile: Introduce ARCH_SHMOBILE_MULTI
ARM: shmobile: Only build clocks when COMMON_CLK=n
Signed-off-by: Olof Johansson <olof@lixom.net>
-rw-r--r-- | arch/arm/Makefile | 1 | ||||
-rw-r--r-- | arch/arm/boot/dts/Makefile | 1 | ||||
-rw-r--r-- | arch/arm/mach-shmobile/Kconfig | 52 | ||||
-rw-r--r-- | arch/arm/mach-shmobile/Makefile | 33 | ||||
-rw-r--r-- | arch/arm/mach-shmobile/board-kzm9d-reference.c | 3 | ||||
-rw-r--r-- | arch/arm/mach-shmobile/setup-emev2.c | 3 |
6 files changed, 77 insertions, 16 deletions
diff --git a/arch/arm/Makefile b/arch/arm/Makefile index c0ac0f5e5e5c..d1f717c59e70 100644 --- a/arch/arm/Makefile +++ b/arch/arm/Makefile | |||
@@ -190,6 +190,7 @@ machine-$(CONFIG_ARCH_EXYNOS) += exynos | |||
190 | machine-$(CONFIG_ARCH_SA1100) += sa1100 | 190 | machine-$(CONFIG_ARCH_SA1100) += sa1100 |
191 | machine-$(CONFIG_ARCH_SHARK) += shark | 191 | machine-$(CONFIG_ARCH_SHARK) += shark |
192 | machine-$(CONFIG_ARCH_SHMOBILE) += shmobile | 192 | machine-$(CONFIG_ARCH_SHMOBILE) += shmobile |
193 | machine-$(CONFIG_ARCH_SHMOBILE_MULTI) += shmobile | ||
193 | machine-$(CONFIG_ARCH_TEGRA) += tegra | 194 | machine-$(CONFIG_ARCH_TEGRA) += tegra |
194 | machine-$(CONFIG_ARCH_U300) += u300 | 195 | machine-$(CONFIG_ARCH_U300) += u300 |
195 | machine-$(CONFIG_ARCH_U8500) += ux500 | 196 | machine-$(CONFIG_ARCH_U8500) += ux500 |
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile index af19e38f8e97..f3861de9fd4e 100644 --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile | |||
@@ -193,6 +193,7 @@ dtb-$(CONFIG_ARCH_SHMOBILE) += emev2-kzm9d.dtb \ | |||
193 | sh73a0-kzm9g-reference.dtb \ | 193 | sh73a0-kzm9g-reference.dtb \ |
194 | r8a73a4-ape6evm.dtb \ | 194 | r8a73a4-ape6evm.dtb \ |
195 | sh7372-mackerel.dtb | 195 | sh7372-mackerel.dtb |
196 | dtb-$(CONFIG_ARCH_SHMOBILE_MULTI) += emev2-kzm9d-reference.dtb | ||
196 | dtb-$(CONFIG_ARCH_SOCFPGA) += socfpga_cyclone5.dtb \ | 197 | dtb-$(CONFIG_ARCH_SOCFPGA) += socfpga_cyclone5.dtb \ |
197 | socfpga_vt.dtb | 198 | socfpga_vt.dtb |
198 | dtb-$(CONFIG_ARCH_SPEAR13XX) += spear1310-evb.dtb \ | 199 | dtb-$(CONFIG_ARCH_SPEAR13XX) += spear1310-evb.dtb \ |
diff --git a/arch/arm/mach-shmobile/Kconfig b/arch/arm/mach-shmobile/Kconfig index 7c5034aa1fe3..cdefd7dcca79 100644 --- a/arch/arm/mach-shmobile/Kconfig +++ b/arch/arm/mach-shmobile/Kconfig | |||
@@ -1,3 +1,41 @@ | |||
1 | config ARCH_SHMOBILE_MULTI | ||
2 | bool "SH-Mobile Series" if ARCH_MULTI_V7 | ||
3 | depends on MMU | ||
4 | select CPU_V7 | ||
5 | select GENERIC_CLOCKEVENTS | ||
6 | select HAVE_ARM_SCU if SMP | ||
7 | select HAVE_ARM_TWD if LOCAL_TIMERS | ||
8 | select HAVE_SMP | ||
9 | select ARM_GIC | ||
10 | select MIGHT_HAVE_CACHE_L2X0 | ||
11 | select NO_IOPORT | ||
12 | select PINCTRL | ||
13 | select ARCH_REQUIRE_GPIOLIB | ||
14 | select CLKDEV_LOOKUP | ||
15 | |||
16 | if ARCH_SHMOBILE_MULTI | ||
17 | |||
18 | comment "SH-Mobile System Type" | ||
19 | |||
20 | config ARCH_EMEV2 | ||
21 | bool "Emma Mobile EV2" | ||
22 | |||
23 | comment "SH-Mobile Board Type" | ||
24 | |||
25 | config MACH_KZM9D_REFERENCE | ||
26 | bool "KZM9D board - Reference Device Tree Implementation" | ||
27 | depends on ARCH_EMEV2 | ||
28 | select REGULATOR_FIXED_VOLTAGE if REGULATOR | ||
29 | ---help--- | ||
30 | Use reference implementation of KZM9D board support | ||
31 | which makes a greater use of device tree at the expense | ||
32 | of not supporting a number of devices. | ||
33 | |||
34 | This is intended to aid developers | ||
35 | |||
36 | comment "SH-Mobile System Configuration" | ||
37 | endif | ||
38 | |||
1 | if ARCH_SHMOBILE | 39 | if ARCH_SHMOBILE |
2 | 40 | ||
3 | comment "SH-Mobile System Type" | 41 | comment "SH-Mobile System Type" |
@@ -198,6 +236,15 @@ config CPU_HAS_INTEVT | |||
198 | bool | 236 | bool |
199 | default y | 237 | default y |
200 | 238 | ||
239 | config SH_CLK_CPG | ||
240 | bool | ||
241 | |||
242 | source "drivers/sh/Kconfig" | ||
243 | |||
244 | endif | ||
245 | |||
246 | if ARCH_SHMOBILE || ARCH_SHMOBILE_MULTI | ||
247 | |||
201 | menu "Timer and clock configuration" | 248 | menu "Timer and clock configuration" |
202 | 249 | ||
203 | config SHMOBILE_TIMER_HZ | 250 | config SHMOBILE_TIMER_HZ |
@@ -232,9 +279,4 @@ config EM_TIMER_STI | |||
232 | 279 | ||
233 | endmenu | 280 | endmenu |
234 | 281 | ||
235 | config SH_CLK_CPG | ||
236 | bool | ||
237 | |||
238 | source "drivers/sh/Kconfig" | ||
239 | |||
240 | endif | 282 | endif |
diff --git a/arch/arm/mach-shmobile/Makefile b/arch/arm/mach-shmobile/Makefile index e8d0a2c904a0..b150c4508237 100644 --- a/arch/arm/mach-shmobile/Makefile +++ b/arch/arm/mach-shmobile/Makefile | |||
@@ -2,18 +2,33 @@ | |||
2 | # Makefile for the linux kernel. | 2 | # Makefile for the linux kernel. |
3 | # | 3 | # |
4 | 4 | ||
5 | ccflags-$(CONFIG_ARCH_MULTIPLATFORM) := -I$(srctree)/arch/arm/mach-shmobile/include | ||
6 | |||
5 | # Common objects | 7 | # Common objects |
6 | obj-y := timer.o console.o clock.o | 8 | obj-y := timer.o console.o |
7 | 9 | ||
8 | # CPU objects | 10 | # CPU objects |
9 | obj-$(CONFIG_ARCH_SH7372) += setup-sh7372.o clock-sh7372.o intc-sh7372.o | 11 | obj-$(CONFIG_ARCH_SH7372) += setup-sh7372.o intc-sh7372.o |
10 | obj-$(CONFIG_ARCH_SH73A0) += setup-sh73a0.o clock-sh73a0.o intc-sh73a0.o | 12 | obj-$(CONFIG_ARCH_SH73A0) += setup-sh73a0.o intc-sh73a0.o |
11 | obj-$(CONFIG_ARCH_R8A73A4) += setup-r8a73a4.o clock-r8a73a4.o | 13 | obj-$(CONFIG_ARCH_R8A73A4) += setup-r8a73a4.o |
12 | obj-$(CONFIG_ARCH_R8A7740) += setup-r8a7740.o clock-r8a7740.o intc-r8a7740.o | 14 | obj-$(CONFIG_ARCH_R8A7740) += setup-r8a7740.o intc-r8a7740.o |
13 | obj-$(CONFIG_ARCH_R8A7778) += setup-r8a7778.o clock-r8a7778.o | 15 | obj-$(CONFIG_ARCH_R8A7778) += setup-r8a7778.o |
14 | obj-$(CONFIG_ARCH_R8A7779) += setup-r8a7779.o clock-r8a7779.o intc-r8a7779.o | 16 | obj-$(CONFIG_ARCH_R8A7779) += setup-r8a7779.o intc-r8a7779.o |
15 | obj-$(CONFIG_ARCH_R8A7790) += setup-r8a7790.o clock-r8a7790.o | 17 | obj-$(CONFIG_ARCH_R8A7790) += setup-r8a7790.o |
16 | obj-$(CONFIG_ARCH_EMEV2) += setup-emev2.o clock-emev2.o | 18 | obj-$(CONFIG_ARCH_EMEV2) += setup-emev2.o |
19 | |||
20 | # Clock objects | ||
21 | ifndef CONFIG_COMMON_CLK | ||
22 | obj-y += clock.o | ||
23 | obj-$(CONFIG_ARCH_SH7372) += clock-sh7372.o | ||
24 | obj-$(CONFIG_ARCH_SH73A0) += clock-sh73a0.o | ||
25 | obj-$(CONFIG_ARCH_R8A73A4) += clock-r8a73a4.o | ||
26 | obj-$(CONFIG_ARCH_R8A7740) += clock-r8a7740.o | ||
27 | obj-$(CONFIG_ARCH_R8A7778) += clock-r8a7778.o | ||
28 | obj-$(CONFIG_ARCH_R8A7779) += clock-r8a7779.o | ||
29 | obj-$(CONFIG_ARCH_R8A7790) += clock-r8a7790.o | ||
30 | obj-$(CONFIG_ARCH_EMEV2) += clock-emev2.o | ||
31 | endif | ||
17 | 32 | ||
18 | # SMP objects | 33 | # SMP objects |
19 | smp-y := platsmp.o headsmp.o | 34 | smp-y := platsmp.o headsmp.o |
diff --git a/arch/arm/mach-shmobile/board-kzm9d-reference.c b/arch/arm/mach-shmobile/board-kzm9d-reference.c index a7b28b24ab38..8f8bb2fab076 100644 --- a/arch/arm/mach-shmobile/board-kzm9d-reference.c +++ b/arch/arm/mach-shmobile/board-kzm9d-reference.c | |||
@@ -26,7 +26,8 @@ | |||
26 | 26 | ||
27 | static void __init kzm9d_add_standard_devices(void) | 27 | static void __init kzm9d_add_standard_devices(void) |
28 | { | 28 | { |
29 | emev2_clock_init(); | 29 | if (!IS_ENABLED(CONFIG_COMMON_CLK)) |
30 | emev2_clock_init(); | ||
30 | 31 | ||
31 | of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL); | 32 | of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL); |
32 | } | 33 | } |
diff --git a/arch/arm/mach-shmobile/setup-emev2.c b/arch/arm/mach-shmobile/setup-emev2.c index 19980be7d6a9..1553af8e04ff 100644 --- a/arch/arm/mach-shmobile/setup-emev2.c +++ b/arch/arm/mach-shmobile/setup-emev2.c | |||
@@ -175,7 +175,8 @@ static struct resource pmu_resources[] = { | |||
175 | 175 | ||
176 | void __init emev2_add_standard_devices(void) | 176 | void __init emev2_add_standard_devices(void) |
177 | { | 177 | { |
178 | emev2_clock_init(); | 178 | if (!IS_ENABLED(CONFIG_COMMON_CLK)) |
179 | emev2_clock_init(); | ||
179 | 180 | ||
180 | emev2_register_uart(0); | 181 | emev2_register_uart(0); |
181 | emev2_register_uart(1); | 182 | emev2_register_uart(1); |