diff options
author | Magnus Damm <damm@opensource.se> | 2013-07-08 02:00:30 -0400 |
---|---|---|
committer | Simon Horman <horms+renesas@verge.net.au> | 2013-07-16 21:06:46 -0400 |
commit | 03393e8fe651aaf8824c519effbb51bf460ca57f (patch) | |
tree | 6e9b3178e59ef9170bd23891f5739545a2e47210 /arch/arm/mach-shmobile | |
parent | 8c9b1aa41853272adf505cc22be541f1eac2f94c (diff) |
ARM: shmobile: KZM9D DT reference implementation
Add a DT reference implementation for the KZM9D board.
Only DT devices are used in this case. UART, STI, GPIO
and SMP / GIC are all provided by emev2.dtsi.
There is still a board specific C file used for enabling
legacy SH clocks. This file will be removed after we have
moved over to common clocks.
Signed-off-by: Magnus Damm <damm@opensource.se>
[horms+renesas@verge.net.au: Do not include trailing blank line in
board-kzm9d-reference.c ]
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Diffstat (limited to 'arch/arm/mach-shmobile')
-rw-r--r-- | arch/arm/mach-shmobile/Kconfig | 12 | ||||
-rw-r--r-- | arch/arm/mach-shmobile/Makefile | 1 | ||||
-rw-r--r-- | arch/arm/mach-shmobile/Makefile.boot | 1 | ||||
-rw-r--r-- | arch/arm/mach-shmobile/board-kzm9d-reference.c | 46 |
4 files changed, 60 insertions, 0 deletions
diff --git a/arch/arm/mach-shmobile/Kconfig b/arch/arm/mach-shmobile/Kconfig index 3912ce91fee4..7c5034aa1fe3 100644 --- a/arch/arm/mach-shmobile/Kconfig +++ b/arch/arm/mach-shmobile/Kconfig | |||
@@ -156,6 +156,18 @@ config MACH_KZM9D | |||
156 | select REGULATOR_FIXED_VOLTAGE if REGULATOR | 156 | select REGULATOR_FIXED_VOLTAGE if REGULATOR |
157 | select USE_OF | 157 | select USE_OF |
158 | 158 | ||
159 | config MACH_KZM9D_REFERENCE | ||
160 | bool "KZM9D board - Reference Device Tree Implementation" | ||
161 | depends on ARCH_EMEV2 | ||
162 | select REGULATOR_FIXED_VOLTAGE if REGULATOR | ||
163 | select USE_OF | ||
164 | ---help--- | ||
165 | Use reference implementation of KZM9D board support | ||
166 | which makes a greater use of device tree at the expense | ||
167 | of not supporting a number of devices. | ||
168 | |||
169 | This is intended to aid developers | ||
170 | |||
159 | config MACH_KZM9G | 171 | config MACH_KZM9G |
160 | bool "KZM-A9-GT board" | 172 | bool "KZM-A9-GT board" |
161 | depends on ARCH_SH73A0 | 173 | depends on ARCH_SH73A0 |
diff --git a/arch/arm/mach-shmobile/Makefile b/arch/arm/mach-shmobile/Makefile index 6165a517f580..e8d0a2c904a0 100644 --- a/arch/arm/mach-shmobile/Makefile +++ b/arch/arm/mach-shmobile/Makefile | |||
@@ -46,6 +46,7 @@ obj-$(CONFIG_MACH_LAGER) += board-lager.o | |||
46 | obj-$(CONFIG_MACH_ARMADILLO800EVA) += board-armadillo800eva.o | 46 | obj-$(CONFIG_MACH_ARMADILLO800EVA) += board-armadillo800eva.o |
47 | obj-$(CONFIG_MACH_ARMADILLO800EVA_REFERENCE) += board-armadillo800eva-reference.o | 47 | obj-$(CONFIG_MACH_ARMADILLO800EVA_REFERENCE) += board-armadillo800eva-reference.o |
48 | obj-$(CONFIG_MACH_KZM9D) += board-kzm9d.o | 48 | obj-$(CONFIG_MACH_KZM9D) += board-kzm9d.o |
49 | obj-$(CONFIG_MACH_KZM9D_REFERENCE) += board-kzm9d-reference.o | ||
49 | obj-$(CONFIG_MACH_KZM9G) += board-kzm9g.o | 50 | obj-$(CONFIG_MACH_KZM9G) += board-kzm9g.o |
50 | obj-$(CONFIG_MACH_KZM9G_REFERENCE) += board-kzm9g-reference.o | 51 | obj-$(CONFIG_MACH_KZM9G_REFERENCE) += board-kzm9g-reference.o |
51 | 52 | ||
diff --git a/arch/arm/mach-shmobile/Makefile.boot b/arch/arm/mach-shmobile/Makefile.boot index 84c6868580f0..7785c52b5cfd 100644 --- a/arch/arm/mach-shmobile/Makefile.boot +++ b/arch/arm/mach-shmobile/Makefile.boot | |||
@@ -7,6 +7,7 @@ loadaddr-$(CONFIG_MACH_ARMADILLO800EVA_REFERENCE) += 0x40008000 | |||
7 | loadaddr-$(CONFIG_MACH_BOCKW) += 0x60008000 | 7 | loadaddr-$(CONFIG_MACH_BOCKW) += 0x60008000 |
8 | loadaddr-$(CONFIG_MACH_KOTA2) += 0x41008000 | 8 | loadaddr-$(CONFIG_MACH_KOTA2) += 0x41008000 |
9 | loadaddr-$(CONFIG_MACH_KZM9D) += 0x40008000 | 9 | loadaddr-$(CONFIG_MACH_KZM9D) += 0x40008000 |
10 | loadaddr-$(CONFIG_MACH_KZM9D_REFERENCE) += 0x40008000 | ||
10 | loadaddr-$(CONFIG_MACH_KZM9G) += 0x41008000 | 11 | loadaddr-$(CONFIG_MACH_KZM9G) += 0x41008000 |
11 | loadaddr-$(CONFIG_MACH_KZM9G_REFERENCE) += 0x41008000 | 12 | loadaddr-$(CONFIG_MACH_KZM9G_REFERENCE) += 0x41008000 |
12 | loadaddr-$(CONFIG_MACH_LAGER) += 0x40008000 | 13 | loadaddr-$(CONFIG_MACH_LAGER) += 0x40008000 |
diff --git a/arch/arm/mach-shmobile/board-kzm9d-reference.c b/arch/arm/mach-shmobile/board-kzm9d-reference.c new file mode 100644 index 000000000000..a7b28b24ab38 --- /dev/null +++ b/arch/arm/mach-shmobile/board-kzm9d-reference.c | |||
@@ -0,0 +1,46 @@ | |||
1 | /* | ||
2 | * kzm9d board support - Reference DT implementation | ||
3 | * | ||
4 | * Copyright (C) 2013 Renesas Solutions Corp. | ||
5 | * Copyright (C) 2013 Magnus Damm | ||
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify | ||
8 | * it under the terms of the GNU General Public License as published by | ||
9 | * the Free Software Foundation; version 2 of the License. | ||
10 | * | ||
11 | * This program is distributed in the hope that it will be useful, | ||
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
14 | * GNU General Public License for more details. | ||
15 | * | ||
16 | * You should have received a copy of the GNU General Public License | ||
17 | * along with this program; if not, write to the Free Software | ||
18 | * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
19 | */ | ||
20 | |||
21 | #include <linux/init.h> | ||
22 | #include <linux/of_platform.h> | ||
23 | #include <mach/emev2.h> | ||
24 | #include <mach/common.h> | ||
25 | #include <asm/mach/arch.h> | ||
26 | |||
27 | static void __init kzm9d_add_standard_devices(void) | ||
28 | { | ||
29 | emev2_clock_init(); | ||
30 | |||
31 | of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL); | ||
32 | } | ||
33 | |||
34 | static const char *kzm9d_boards_compat_dt[] __initdata = { | ||
35 | "renesas,kzm9d-reference", | ||
36 | NULL, | ||
37 | }; | ||
38 | |||
39 | DT_MACHINE_START(KZM9D_DT, "kzm9d") | ||
40 | .smp = smp_ops(emev2_smp_ops), | ||
41 | .map_io = emev2_map_io, | ||
42 | .init_early = emev2_init_delay, | ||
43 | .init_machine = kzm9d_add_standard_devices, | ||
44 | .init_late = shmobile_init_late, | ||
45 | .dt_compat = kzm9d_boards_compat_dt, | ||
46 | MACHINE_END | ||