aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-shmobile
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/mach-shmobile')
-rw-r--r--arch/arm/mach-shmobile/Kconfig11
-rw-r--r--arch/arm/mach-shmobile/Makefile1
-rw-r--r--arch/arm/mach-shmobile/Makefile.boot1
-rw-r--r--arch/arm/mach-shmobile/board-lager-reference.c46
-rw-r--r--arch/arm/mach-shmobile/include/mach/r8a7790.h1
-rw-r--r--arch/arm/mach-shmobile/setup-r8a7790.c9
6 files changed, 67 insertions, 2 deletions
diff --git a/arch/arm/mach-shmobile/Kconfig b/arch/arm/mach-shmobile/Kconfig
index ad28f91b5796..05ea10310a8e 100644
--- a/arch/arm/mach-shmobile/Kconfig
+++ b/arch/arm/mach-shmobile/Kconfig
@@ -161,6 +161,17 @@ config MACH_LAGER
161 depends on ARCH_R8A7790 161 depends on ARCH_R8A7790
162 select USE_OF 162 select USE_OF
163 163
164config MACH_LAGER_REFERENCE
165 bool "Lager board - Reference Device Tree Implementation"
166 depends on ARCH_R8A7790
167 select USE_OF
168 ---help---
169 Use reference implementation of Lager board support
170 which makes use of device tree at the expense
171 of not supporting a number of devices.
172
173 This is intended to aid developers
174
164config MACH_KZM9D 175config MACH_KZM9D
165 bool "KZM9D board" 176 bool "KZM9D board"
166 depends on ARCH_EMEV2 177 depends on ARCH_EMEV2
diff --git a/arch/arm/mach-shmobile/Makefile b/arch/arm/mach-shmobile/Makefile
index 26a578420796..397bb36065e0 100644
--- a/arch/arm/mach-shmobile/Makefile
+++ b/arch/arm/mach-shmobile/Makefile
@@ -44,6 +44,7 @@ obj-$(CONFIG_MACH_BOCKW) += board-bockw.o
44obj-$(CONFIG_MACH_MARZEN) += board-marzen.o 44obj-$(CONFIG_MACH_MARZEN) += board-marzen.o
45obj-$(CONFIG_MACH_MARZEN_REFERENCE) += board-marzen-reference.o 45obj-$(CONFIG_MACH_MARZEN_REFERENCE) += board-marzen-reference.o
46obj-$(CONFIG_MACH_LAGER) += board-lager.o 46obj-$(CONFIG_MACH_LAGER) += board-lager.o
47obj-$(CONFIG_MACH_LAGER_REFERENCE) += board-lager-reference.o
47obj-$(CONFIG_MACH_ARMADILLO800EVA) += board-armadillo800eva.o 48obj-$(CONFIG_MACH_ARMADILLO800EVA) += board-armadillo800eva.o
48obj-$(CONFIG_MACH_ARMADILLO800EVA_REFERENCE) += board-armadillo800eva-reference.o 49obj-$(CONFIG_MACH_ARMADILLO800EVA_REFERENCE) += board-armadillo800eva-reference.o
49obj-$(CONFIG_MACH_KZM9D) += board-kzm9d.o 50obj-$(CONFIG_MACH_KZM9D) += board-kzm9d.o
diff --git a/arch/arm/mach-shmobile/Makefile.boot b/arch/arm/mach-shmobile/Makefile.boot
index c938b58f6407..761d7b14bd20 100644
--- a/arch/arm/mach-shmobile/Makefile.boot
+++ b/arch/arm/mach-shmobile/Makefile.boot
@@ -12,6 +12,7 @@ loadaddr-$(CONFIG_MACH_KZM9D_REFERENCE) += 0x40008000
12loadaddr-$(CONFIG_MACH_KZM9G) += 0x41008000 12loadaddr-$(CONFIG_MACH_KZM9G) += 0x41008000
13loadaddr-$(CONFIG_MACH_KZM9G_REFERENCE) += 0x41008000 13loadaddr-$(CONFIG_MACH_KZM9G_REFERENCE) += 0x41008000
14loadaddr-$(CONFIG_MACH_LAGER) += 0x40008000 14loadaddr-$(CONFIG_MACH_LAGER) += 0x40008000
15loadaddr-$(CONFIG_MACH_LAGER_REFERENCE) += 0x40008000
15loadaddr-$(CONFIG_MACH_MACKEREL) += 0x40008000 16loadaddr-$(CONFIG_MACH_MACKEREL) += 0x40008000
16loadaddr-$(CONFIG_MACH_MARZEN) += 0x60008000 17loadaddr-$(CONFIG_MACH_MARZEN) += 0x60008000
17loadaddr-$(CONFIG_MACH_MARZEN_REFERENCE) += 0x60008000 18loadaddr-$(CONFIG_MACH_MARZEN_REFERENCE) += 0x60008000
diff --git a/arch/arm/mach-shmobile/board-lager-reference.c b/arch/arm/mach-shmobile/board-lager-reference.c
new file mode 100644
index 000000000000..eb6c55e1334a
--- /dev/null
+++ b/arch/arm/mach-shmobile/board-lager-reference.c
@@ -0,0 +1,46 @@
1/*
2 * Lager board support - Reference DT implementation
3 *
4 * Copyright (C) 2013 Renesas Solutions Corp.
5 * Copyright (C) 2013 Simon Horman
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/irqchip.h>
23#include <linux/of_platform.h>
24#include <mach/r8a7790.h>
25#include <asm/mach/arch.h>
26
27void __init lager_add_standard_devices(void)
28{
29 /* clocks are setup late during boot in the case of DT */
30 r8a7790_clock_init();
31
32 r8a7790_add_dt_devices();
33 of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL);
34}
35
36static const char *lager_boards_compat_dt[] __initdata = {
37 "renesas,lager-reference",
38 NULL,
39};
40
41DT_MACHINE_START(LAGER_DT, "lager")
42 .init_early = r8a7790_init_delay,
43 .init_machine = lager_add_standard_devices,
44 .init_time = r8a7790_timer_init,
45 .dt_compat = lager_boards_compat_dt,
46MACHINE_END
diff --git a/arch/arm/mach-shmobile/include/mach/r8a7790.h b/arch/arm/mach-shmobile/include/mach/r8a7790.h
index 7aaef409a059..788d55952091 100644
--- a/arch/arm/mach-shmobile/include/mach/r8a7790.h
+++ b/arch/arm/mach-shmobile/include/mach/r8a7790.h
@@ -2,6 +2,7 @@
2#define __ASM_R8A7790_H__ 2#define __ASM_R8A7790_H__
3 3
4void r8a7790_add_standard_devices(void); 4void r8a7790_add_standard_devices(void);
5void r8a7790_add_dt_devices(void);
5void r8a7790_clock_init(void); 6void r8a7790_clock_init(void);
6void r8a7790_pinmux_init(void); 7void r8a7790_pinmux_init(void);
7void r8a7790_init_delay(void); 8void r8a7790_init_delay(void);
diff --git a/arch/arm/mach-shmobile/setup-r8a7790.c b/arch/arm/mach-shmobile/setup-r8a7790.c
index 4c96dad21195..86cf507bc957 100644
--- a/arch/arm/mach-shmobile/setup-r8a7790.c
+++ b/arch/arm/mach-shmobile/setup-r8a7790.c
@@ -179,7 +179,7 @@ static struct resource cmt00_resources[] = {
179 &cmt##idx##_platform_data, \ 179 &cmt##idx##_platform_data, \
180 sizeof(struct sh_timer_config)) 180 sizeof(struct sh_timer_config))
181 181
182void __init r8a7790_add_standard_devices(void) 182void __init r8a7790_add_dt_devices(void)
183{ 183{
184 r8a7790_register_scif(SCIFA0); 184 r8a7790_register_scif(SCIFA0);
185 r8a7790_register_scif(SCIFA1); 185 r8a7790_register_scif(SCIFA1);
@@ -191,9 +191,14 @@ void __init r8a7790_add_standard_devices(void)
191 r8a7790_register_scif(SCIF1); 191 r8a7790_register_scif(SCIF1);
192 r8a7790_register_scif(HSCIF0); 192 r8a7790_register_scif(HSCIF0);
193 r8a7790_register_scif(HSCIF1); 193 r8a7790_register_scif(HSCIF1);
194 r8a7790_register_cmt(00);
195}
196
197void __init r8a7790_add_standard_devices(void)
198{
199 r8a7790_add_dt_devices();
194 r8a7790_register_irqc(0); 200 r8a7790_register_irqc(0);
195 r8a7790_register_thermal(); 201 r8a7790_register_thermal();
196 r8a7790_register_cmt(00);
197} 202}
198 203
199#define MODEMR 0xe6160060 204#define MODEMR 0xe6160060