aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOlof Johansson <olof@lixom.net>2013-08-14 03:46:07 -0400
committerOlof Johansson <olof@lixom.net>2013-08-14 03:46:07 -0400
commite91f24ae027a583f2faff84456fa2630144bfed8 (patch)
tree3a9d13948a8313bd650d473efb1bb5f7a078d318
parent55689bfa21dc0c02ff6cc9c3ab90a78bc9b66093 (diff)
parentfd071b669ee2405e986636e389a3d1b6776e50a0 (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/Makefile1
-rw-r--r--arch/arm/boot/dts/Makefile1
-rw-r--r--arch/arm/mach-shmobile/Kconfig52
-rw-r--r--arch/arm/mach-shmobile/Makefile33
-rw-r--r--arch/arm/mach-shmobile/board-kzm9d-reference.c3
-rw-r--r--arch/arm/mach-shmobile/setup-emev2.c3
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
190machine-$(CONFIG_ARCH_SA1100) += sa1100 190machine-$(CONFIG_ARCH_SA1100) += sa1100
191machine-$(CONFIG_ARCH_SHARK) += shark 191machine-$(CONFIG_ARCH_SHARK) += shark
192machine-$(CONFIG_ARCH_SHMOBILE) += shmobile 192machine-$(CONFIG_ARCH_SHMOBILE) += shmobile
193machine-$(CONFIG_ARCH_SHMOBILE_MULTI) += shmobile
193machine-$(CONFIG_ARCH_TEGRA) += tegra 194machine-$(CONFIG_ARCH_TEGRA) += tegra
194machine-$(CONFIG_ARCH_U300) += u300 195machine-$(CONFIG_ARCH_U300) += u300
195machine-$(CONFIG_ARCH_U8500) += ux500 196machine-$(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
196dtb-$(CONFIG_ARCH_SHMOBILE_MULTI) += emev2-kzm9d-reference.dtb
196dtb-$(CONFIG_ARCH_SOCFPGA) += socfpga_cyclone5.dtb \ 197dtb-$(CONFIG_ARCH_SOCFPGA) += socfpga_cyclone5.dtb \
197 socfpga_vt.dtb 198 socfpga_vt.dtb
198dtb-$(CONFIG_ARCH_SPEAR13XX) += spear1310-evb.dtb \ 199dtb-$(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 @@
1config 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
16if ARCH_SHMOBILE_MULTI
17
18comment "SH-Mobile System Type"
19
20config ARCH_EMEV2
21 bool "Emma Mobile EV2"
22
23comment "SH-Mobile Board Type"
24
25config 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
36comment "SH-Mobile System Configuration"
37endif
38
1if ARCH_SHMOBILE 39if ARCH_SHMOBILE
2 40
3comment "SH-Mobile System Type" 41comment "SH-Mobile System Type"
@@ -198,6 +236,15 @@ config CPU_HAS_INTEVT
198 bool 236 bool
199 default y 237 default y
200 238
239config SH_CLK_CPG
240 bool
241
242source "drivers/sh/Kconfig"
243
244endif
245
246if ARCH_SHMOBILE || ARCH_SHMOBILE_MULTI
247
201menu "Timer and clock configuration" 248menu "Timer and clock configuration"
202 249
203config SHMOBILE_TIMER_HZ 250config SHMOBILE_TIMER_HZ
@@ -232,9 +279,4 @@ config EM_TIMER_STI
232 279
233endmenu 280endmenu
234 281
235config SH_CLK_CPG
236 bool
237
238source "drivers/sh/Kconfig"
239
240endif 282endif
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
5ccflags-$(CONFIG_ARCH_MULTIPLATFORM) := -I$(srctree)/arch/arm/mach-shmobile/include
6
5# Common objects 7# Common objects
6obj-y := timer.o console.o clock.o 8obj-y := timer.o console.o
7 9
8# CPU objects 10# CPU objects
9obj-$(CONFIG_ARCH_SH7372) += setup-sh7372.o clock-sh7372.o intc-sh7372.o 11obj-$(CONFIG_ARCH_SH7372) += setup-sh7372.o intc-sh7372.o
10obj-$(CONFIG_ARCH_SH73A0) += setup-sh73a0.o clock-sh73a0.o intc-sh73a0.o 12obj-$(CONFIG_ARCH_SH73A0) += setup-sh73a0.o intc-sh73a0.o
11obj-$(CONFIG_ARCH_R8A73A4) += setup-r8a73a4.o clock-r8a73a4.o 13obj-$(CONFIG_ARCH_R8A73A4) += setup-r8a73a4.o
12obj-$(CONFIG_ARCH_R8A7740) += setup-r8a7740.o clock-r8a7740.o intc-r8a7740.o 14obj-$(CONFIG_ARCH_R8A7740) += setup-r8a7740.o intc-r8a7740.o
13obj-$(CONFIG_ARCH_R8A7778) += setup-r8a7778.o clock-r8a7778.o 15obj-$(CONFIG_ARCH_R8A7778) += setup-r8a7778.o
14obj-$(CONFIG_ARCH_R8A7779) += setup-r8a7779.o clock-r8a7779.o intc-r8a7779.o 16obj-$(CONFIG_ARCH_R8A7779) += setup-r8a7779.o intc-r8a7779.o
15obj-$(CONFIG_ARCH_R8A7790) += setup-r8a7790.o clock-r8a7790.o 17obj-$(CONFIG_ARCH_R8A7790) += setup-r8a7790.o
16obj-$(CONFIG_ARCH_EMEV2) += setup-emev2.o clock-emev2.o 18obj-$(CONFIG_ARCH_EMEV2) += setup-emev2.o
19
20# Clock objects
21ifndef CONFIG_COMMON_CLK
22obj-y += clock.o
23obj-$(CONFIG_ARCH_SH7372) += clock-sh7372.o
24obj-$(CONFIG_ARCH_SH73A0) += clock-sh73a0.o
25obj-$(CONFIG_ARCH_R8A73A4) += clock-r8a73a4.o
26obj-$(CONFIG_ARCH_R8A7740) += clock-r8a7740.o
27obj-$(CONFIG_ARCH_R8A7778) += clock-r8a7778.o
28obj-$(CONFIG_ARCH_R8A7779) += clock-r8a7779.o
29obj-$(CONFIG_ARCH_R8A7790) += clock-r8a7790.o
30obj-$(CONFIG_ARCH_EMEV2) += clock-emev2.o
31endif
17 32
18# SMP objects 33# SMP objects
19smp-y := platsmp.o headsmp.o 34smp-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
27static void __init kzm9d_add_standard_devices(void) 27static 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
176void __init emev2_add_standard_devices(void) 176void __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);