* [PATCH 1/4] ARM: shmobile: Only build clocks when COMMON_CLK=n
2013-07-30 5:24 [PATCH 0/4] Renesas ARM based SoC multiplatform updates for v3.12 Simon Horman
@ 2013-07-30 5:24 ` Simon Horman
2013-07-30 5:24 ` [PATCH 2/4] ARM: shmobile: Introduce ARCH_SHMOBILE_MULTI Simon Horman
` (3 subsequent siblings)
4 siblings, 0 replies; 6+ messages in thread
From: Simon Horman @ 2013-07-30 5:24 UTC (permalink / raw)
To: linux-arm-kernel
From: Magnus Damm <damm@opensource.se>
Move shared clock.c file and per-SoC clock-xxx.c files
to only build when CONFIG_COMMON_CLK != y.
The regular ARCH_SHMOBILE case with legacy SH clock framework
will build just as before with this patch applied, however
the case when COMMON_CLK=y will exclude all the clock files.
Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
arch/arm/mach-shmobile/Makefile | 31 ++++++++++++++++++++++---------
1 file changed, 22 insertions(+), 9 deletions(-)
diff --git a/arch/arm/mach-shmobile/Makefile b/arch/arm/mach-shmobile/Makefile
index e8d0a2c..5884bea 100644
--- a/arch/arm/mach-shmobile/Makefile
+++ b/arch/arm/mach-shmobile/Makefile
@@ -3,17 +3,30 @@
#
# Common objects
-obj-y := timer.o console.o clock.o
+obj-y := timer.o console.o
# CPU objects
-obj-$(CONFIG_ARCH_SH7372) += setup-sh7372.o clock-sh7372.o intc-sh7372.o
-obj-$(CONFIG_ARCH_SH73A0) += setup-sh73a0.o clock-sh73a0.o intc-sh73a0.o
-obj-$(CONFIG_ARCH_R8A73A4) += setup-r8a73a4.o clock-r8a73a4.o
-obj-$(CONFIG_ARCH_R8A7740) += setup-r8a7740.o clock-r8a7740.o intc-r8a7740.o
-obj-$(CONFIG_ARCH_R8A7778) += setup-r8a7778.o clock-r8a7778.o
-obj-$(CONFIG_ARCH_R8A7779) += setup-r8a7779.o clock-r8a7779.o intc-r8a7779.o
-obj-$(CONFIG_ARCH_R8A7790) += setup-r8a7790.o clock-r8a7790.o
-obj-$(CONFIG_ARCH_EMEV2) += setup-emev2.o clock-emev2.o
+obj-$(CONFIG_ARCH_SH7372) += setup-sh7372.o intc-sh7372.o
+obj-$(CONFIG_ARCH_SH73A0) += setup-sh73a0.o intc-sh73a0.o
+obj-$(CONFIG_ARCH_R8A73A4) += setup-r8a73a4.o
+obj-$(CONFIG_ARCH_R8A7740) += setup-r8a7740.o intc-r8a7740.o
+obj-$(CONFIG_ARCH_R8A7778) += setup-r8a7778.o
+obj-$(CONFIG_ARCH_R8A7779) += setup-r8a7779.o intc-r8a7779.o
+obj-$(CONFIG_ARCH_R8A7790) += setup-r8a7790.o
+obj-$(CONFIG_ARCH_EMEV2) += setup-emev2.o
+
+# Clock objects
+ifndef CONFIG_COMMON_CLK
+obj-y += clock.o
+obj-$(CONFIG_ARCH_SH7372) += clock-sh7372.o
+obj-$(CONFIG_ARCH_SH73A0) += clock-sh73a0.o
+obj-$(CONFIG_ARCH_R8A73A4) += clock-r8a73a4.o
+obj-$(CONFIG_ARCH_R8A7740) += clock-r8a7740.o
+obj-$(CONFIG_ARCH_R8A7778) += clock-r8a7778.o
+obj-$(CONFIG_ARCH_R8A7779) += clock-r8a7779.o
+obj-$(CONFIG_ARCH_R8A7790) += clock-r8a7790.o
+obj-$(CONFIG_ARCH_EMEV2) += clock-emev2.o
+endif
# SMP objects
smp-y := platsmp.o headsmp.o
--
1.8.3.2
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH 2/4] ARM: shmobile: Introduce ARCH_SHMOBILE_MULTI
2013-07-30 5:24 [PATCH 0/4] Renesas ARM based SoC multiplatform updates for v3.12 Simon Horman
2013-07-30 5:24 ` [PATCH 1/4] ARM: shmobile: Only build clocks when COMMON_CLK=n Simon Horman
@ 2013-07-30 5:24 ` Simon Horman
2013-07-30 5:24 ` [PATCH 3/4] ARM: shmobile: Add EMEV2 and KZM9D to ARCH_SHMOBILE_MULTI Simon Horman
` (2 subsequent siblings)
4 siblings, 0 replies; 6+ messages in thread
From: Simon Horman @ 2013-07-30 5:24 UTC (permalink / raw)
To: linux-arm-kernel
From: Magnus Damm <damm@opensource.se>
Add ARCH_SHMOBILE_MULTI to mach-shmobile that can be used
to enable ARCH_MULTIPLATFORM on selected SoCs and boards.
The headers stay under arch/arm/mach-shmobile/include/mach/
for now, they can and will be migrated independently over time.
Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
arch/arm/Makefile | 1 +
arch/arm/mach-shmobile/Kconfig | 21 +++++++++++++++++++++
arch/arm/mach-shmobile/Makefile | 2 ++
3 files changed, 24 insertions(+)
diff --git a/arch/arm/Makefile b/arch/arm/Makefile
index c0ac0f5..d1f717c 100644
--- a/arch/arm/Makefile
+++ b/arch/arm/Makefile
@@ -190,6 +190,7 @@ machine-$(CONFIG_ARCH_EXYNOS) += exynos
machine-$(CONFIG_ARCH_SA1100) += sa1100
machine-$(CONFIG_ARCH_SHARK) += shark
machine-$(CONFIG_ARCH_SHMOBILE) += shmobile
+machine-$(CONFIG_ARCH_SHMOBILE_MULTI) += shmobile
machine-$(CONFIG_ARCH_TEGRA) += tegra
machine-$(CONFIG_ARCH_U300) += u300
machine-$(CONFIG_ARCH_U8500) += ux500
diff --git a/arch/arm/mach-shmobile/Kconfig b/arch/arm/mach-shmobile/Kconfig
index 7c5034a..4c54298 100644
--- a/arch/arm/mach-shmobile/Kconfig
+++ b/arch/arm/mach-shmobile/Kconfig
@@ -1,3 +1,24 @@
+config ARCH_SHMOBILE_MULTI
+ bool "SH-Mobile Series" if ARCH_MULTI_V7
+ depends on MMU
+ select CPU_V7
+ select GENERIC_CLOCKEVENTS
+ select HAVE_ARM_SCU if SMP
+ select HAVE_ARM_TWD if LOCAL_TIMERS
+ select HAVE_SMP
+ select ARM_GIC
+ select MIGHT_HAVE_CACHE_L2X0
+ select NO_IOPORT
+ select PINCTRL
+ select ARCH_REQUIRE_GPIOLIB
+ select CLKDEV_LOOKUP
+
+if ARCH_SHMOBILE_MULTI
+
+comment "SH-Mobile System Type"
+
+endif
+
if ARCH_SHMOBILE
comment "SH-Mobile System Type"
diff --git a/arch/arm/mach-shmobile/Makefile b/arch/arm/mach-shmobile/Makefile
index 5884bea..b150c45 100644
--- a/arch/arm/mach-shmobile/Makefile
+++ b/arch/arm/mach-shmobile/Makefile
@@ -2,6 +2,8 @@
# Makefile for the linux kernel.
#
+ccflags-$(CONFIG_ARCH_MULTIPLATFORM) := -I$(srctree)/arch/arm/mach-shmobile/include
+
# Common objects
obj-y := timer.o console.o
--
1.8.3.2
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH 3/4] ARM: shmobile: Add EMEV2 and KZM9D to ARCH_SHMOBILE_MULTI
2013-07-30 5:24 [PATCH 0/4] Renesas ARM based SoC multiplatform updates for v3.12 Simon Horman
2013-07-30 5:24 ` [PATCH 1/4] ARM: shmobile: Only build clocks when COMMON_CLK=n Simon Horman
2013-07-30 5:24 ` [PATCH 2/4] ARM: shmobile: Introduce ARCH_SHMOBILE_MULTI Simon Horman
@ 2013-07-30 5:24 ` Simon Horman
2013-07-30 5:24 ` [PATCH 4/4] ARM: shmobile: Allow ARCH_SHMOBILE_MULTI timer configuration Simon Horman
2013-08-06 6:23 ` [GIT PULL 0/4] Renesas ARM based SoC multiplatform updates for v3.12 Simon Horman
4 siblings, 0 replies; 6+ messages in thread
From: Simon Horman @ 2013-07-30 5:24 UTC (permalink / raw)
To: linux-arm-kernel
From: Magnus Damm <damm@opensource.se>
Enable build of EMEV2 and KZM9D DT Reference in
case of ARCH_MULTIPLATFORM and ARCH_SHMOBILE_MULTI.
IS_ENABLED() is leaves the clock-emev2.c file out
in case of COMMON_CLK=y.
Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
arch/arm/boot/dts/Makefile | 1 +
arch/arm/mach-shmobile/Kconfig | 15 +++++++++++++++
arch/arm/mach-shmobile/board-kzm9d-reference.c | 3 ++-
arch/arm/mach-shmobile/setup-emev2.c | 3 ++-
4 files changed, 20 insertions(+), 2 deletions(-)
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index af19e38..f3861de 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -193,6 +193,7 @@ dtb-$(CONFIG_ARCH_SHMOBILE) += emev2-kzm9d.dtb \
sh73a0-kzm9g-reference.dtb \
r8a73a4-ape6evm.dtb \
sh7372-mackerel.dtb
+dtb-$(CONFIG_ARCH_SHMOBILE_MULTI) += emev2-kzm9d-reference.dtb
dtb-$(CONFIG_ARCH_SOCFPGA) += socfpga_cyclone5.dtb \
socfpga_vt.dtb
dtb-$(CONFIG_ARCH_SPEAR13XX) += spear1310-evb.dtb \
diff --git a/arch/arm/mach-shmobile/Kconfig b/arch/arm/mach-shmobile/Kconfig
index 4c54298..8914c9b 100644
--- a/arch/arm/mach-shmobile/Kconfig
+++ b/arch/arm/mach-shmobile/Kconfig
@@ -17,6 +17,21 @@ if ARCH_SHMOBILE_MULTI
comment "SH-Mobile System Type"
+config ARCH_EMEV2
+ bool "Emma Mobile EV2"
+
+comment "SH-Mobile Board Type"
+
+config MACH_KZM9D_REFERENCE
+ bool "KZM9D board - Reference Device Tree Implementation"
+ depends on ARCH_EMEV2
+ select REGULATOR_FIXED_VOLTAGE if REGULATOR
+ ---help---
+ Use reference implementation of KZM9D board support
+ which makes a greater use of device tree at the expense
+ of not supporting a number of devices.
+
+ This is intended to aid developers
endif
if ARCH_SHMOBILE
diff --git a/arch/arm/mach-shmobile/board-kzm9d-reference.c b/arch/arm/mach-shmobile/board-kzm9d-reference.c
index a7b28b2..8f8bb2f 100644
--- a/arch/arm/mach-shmobile/board-kzm9d-reference.c
+++ b/arch/arm/mach-shmobile/board-kzm9d-reference.c
@@ -26,7 +26,8 @@
static void __init kzm9d_add_standard_devices(void)
{
- emev2_clock_init();
+ if (!IS_ENABLED(CONFIG_COMMON_CLK))
+ emev2_clock_init();
of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL);
}
diff --git a/arch/arm/mach-shmobile/setup-emev2.c b/arch/arm/mach-shmobile/setup-emev2.c
index 19980be..1553af8 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[] = {
void __init emev2_add_standard_devices(void)
{
- emev2_clock_init();
+ if (!IS_ENABLED(CONFIG_COMMON_CLK))
+ emev2_clock_init();
emev2_register_uart(0);
emev2_register_uart(1);
--
1.8.3.2
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH 4/4] ARM: shmobile: Allow ARCH_SHMOBILE_MULTI timer configuration
2013-07-30 5:24 [PATCH 0/4] Renesas ARM based SoC multiplatform updates for v3.12 Simon Horman
` (2 preceding siblings ...)
2013-07-30 5:24 ` [PATCH 3/4] ARM: shmobile: Add EMEV2 and KZM9D to ARCH_SHMOBILE_MULTI Simon Horman
@ 2013-07-30 5:24 ` Simon Horman
2013-08-06 6:23 ` [GIT PULL 0/4] Renesas ARM based SoC multiplatform updates for v3.12 Simon Horman
4 siblings, 0 replies; 6+ messages in thread
From: Simon Horman @ 2013-07-30 5:24 UTC (permalink / raw)
To: linux-arm-kernel
From: Magnus Damm <damm@opensource.se>
Move the timer configuration bits to allow use in
case of ARCH_SHMOBILE or ARCH_SHMOBILE_MULTI.
The timers all make use of the regular driver model
so they are safe to enable for ARCH_MULTIPLATFORM.
Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
arch/arm/mach-shmobile/Kconfig | 16 +++++++++++-----
1 file changed, 11 insertions(+), 5 deletions(-)
diff --git a/arch/arm/mach-shmobile/Kconfig b/arch/arm/mach-shmobile/Kconfig
index 8914c9b..cdefd7d 100644
--- a/arch/arm/mach-shmobile/Kconfig
+++ b/arch/arm/mach-shmobile/Kconfig
@@ -32,6 +32,8 @@ config MACH_KZM9D_REFERENCE
of not supporting a number of devices.
This is intended to aid developers
+
+comment "SH-Mobile System Configuration"
endif
if ARCH_SHMOBILE
@@ -234,6 +236,15 @@ config CPU_HAS_INTEVT
bool
default y
+config SH_CLK_CPG
+ bool
+
+source "drivers/sh/Kconfig"
+
+endif
+
+if ARCH_SHMOBILE || ARCH_SHMOBILE_MULTI
+
menu "Timer and clock configuration"
config SHMOBILE_TIMER_HZ
@@ -268,9 +279,4 @@ config EM_TIMER_STI
endmenu
-config SH_CLK_CPG
- bool
-
-source "drivers/sh/Kconfig"
-
endif
--
1.8.3.2
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [GIT PULL 0/4] Renesas ARM based SoC multiplatform updates for v3.12
2013-07-30 5:24 [PATCH 0/4] Renesas ARM based SoC multiplatform updates for v3.12 Simon Horman
` (3 preceding siblings ...)
2013-07-30 5:24 ` [PATCH 4/4] ARM: shmobile: Allow ARCH_SHMOBILE_MULTI timer configuration Simon Horman
@ 2013-08-06 6:23 ` Simon Horman
4 siblings, 0 replies; 6+ messages in thread
From: Simon Horman @ 2013-08-06 6:23 UTC (permalink / raw)
To: linux-arm-kernel
[ Correct subject prefix to "GIT PULL" ]
On Tue, Jul 30, 2013 at 02:24:00PM +0900, Simon Horman wrote:
> Hi Olof, Hi Arnd,
>
> please consider the following Renesas ARM based SoC multiplatform updates
> for v3.12. This pull-request is based on renesas-dt-for-v3.12, which I have
> already sent a pull-request for, in order to provide pre-requisite code.
>
> The following changes since commit 66a5cab04d339d02b93a4671eadf8e251dbfdc2c:
>
> ARM: shmobile: Add SMSC ethernet chip to KZM9D DT reference (2013-07-17 10:06:47 +0900)
>
> are available in the git repository at:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas.git tags/renesas-multiplatform-for-v3.12
>
> for you to fetch changes up to fd071b669ee2405e986636e389a3d1b6776e50a0:
>
> ARM: shmobile: Allow ARCH_SHMOBILE_MULTI timer configuration (2013-07-23 09:52:44 +0900)
>
> ----------------------------------------------------------------
> 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.
>
> ----------------------------------------------------------------
> Magnus Damm (4):
> ARM: shmobile: Only build clocks when COMMON_CLK=n
> ARM: shmobile: Introduce ARCH_SHMOBILE_MULTI
> ARM: shmobile: Add EMEV2 and KZM9D to ARCH_SHMOBILE_MULTI
> ARM: shmobile: Allow ARCH_SHMOBILE_MULTI timer configuration
>
> arch/arm/Makefile | 1 +
> arch/arm/boot/dts/Makefile | 1 +
> arch/arm/mach-shmobile/Kconfig | 52 +++++++++++++++++++++++---
> arch/arm/mach-shmobile/Makefile | 33 +++++++++++-----
> arch/arm/mach-shmobile/board-kzm9d-reference.c | 3 +-
> arch/arm/mach-shmobile/setup-emev2.c | 3 +-
> 6 files changed, 77 insertions(+), 16 deletions(-)
>
^ permalink raw reply [flat|nested] 6+ messages in thread