aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorMagnus Damm <damm@opensource.se>2013-03-29 04:49:37 -0400
committerSimon Horman <horms+renesas@verge.net.au>2013-04-02 21:50:43 -0400
commit3cc828fdb32281cc8166d3a40bee32b90ce3cad8 (patch)
treee746b6b78ef65353b20839c18e9ee5cc519f4a4c /arch
parent15351a7a22c207b2e9ce83b01782a2324006014a (diff)
ARM: shmobile: Initial r8a7790 Lager board support
Lager base board support making use of 2 GiB of memory, the r8a7790 SoC with the SCIF0 serial port and CA15 with ARM architected timer. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/boot/dts/Makefile1
-rw-r--r--arch/arm/boot/dts/r8a7790-lager.dts31
-rw-r--r--arch/arm/mach-shmobile/Kconfig9
-rw-r--r--arch/arm/mach-shmobile/Makefile1
-rw-r--r--arch/arm/mach-shmobile/board-lager.c46
5 files changed, 87 insertions, 1 deletions
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index a99b0f7baa72..47b6be7cf1e8 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -138,6 +138,7 @@ dtb-$(CONFIG_ARCH_SHMOBILE) += emev2-kzm9d.dtb \
138 r8a7740-armadillo800eva.dtb \ 138 r8a7740-armadillo800eva.dtb \
139 r8a7778-bockw.dtb \ 139 r8a7778-bockw.dtb \
140 r8a7779-marzen-reference.dtb \ 140 r8a7779-marzen-reference.dtb \
141 r8a7790-lager.dtb \
141 sh73a0-kzm9g.dtb \ 142 sh73a0-kzm9g.dtb \
142 sh73a0-kzm9g-reference.dtb \ 143 sh73a0-kzm9g-reference.dtb \
143 r8a73a4-ape6evm.dtb \ 144 r8a73a4-ape6evm.dtb \
diff --git a/arch/arm/boot/dts/r8a7790-lager.dts b/arch/arm/boot/dts/r8a7790-lager.dts
new file mode 100644
index 000000000000..09a84fce89d6
--- /dev/null
+++ b/arch/arm/boot/dts/r8a7790-lager.dts
@@ -0,0 +1,31 @@
1/*
2 * Device Tree Source for the Lager board
3 *
4 * Copyright (C) 2013 Renesas Solutions Corp.
5 *
6 * This file is licensed under the terms of the GNU General Public License
7 * version 2. This program is licensed "as is" without any warranty of any
8 * kind, whether express or implied.
9 */
10
11/dts-v1/;
12/include/ "r8a7790.dtsi"
13
14/ {
15 model = "Lager";
16 compatible = "renesas,lager", "renesas,r8a7790";
17
18 chosen {
19 bootargs = "console=ttySC6,115200 ignore_loglevel";
20 };
21
22 memory@40000000 {
23 device_type = "memory";
24 reg = <0 0x40000000 0 0x80000000>;
25 };
26
27 lbsc {
28 #address-cells = <1>;
29 #size-cells = <1>;
30 };
31};
diff --git a/arch/arm/mach-shmobile/Kconfig b/arch/arm/mach-shmobile/Kconfig
index c0da6afa8a51..549e05985745 100644
--- a/arch/arm/mach-shmobile/Kconfig
+++ b/arch/arm/mach-shmobile/Kconfig
@@ -154,6 +154,11 @@ config MACH_MARZEN_REFERENCE
154 154
155 This is intended to aid developers 155 This is intended to aid developers
156 156
157config MACH_LAGER
158 bool "Lager board"
159 depends on ARCH_R8A7790
160 select USE_OF
161
157config MACH_KZM9D 162config MACH_KZM9D
158 bool "KZM9D board" 163 bool "KZM9D board"
159 depends on ARCH_EMEV2 164 depends on ARCH_EMEV2
@@ -194,7 +199,8 @@ config MEMORY_START
194 hex "Physical memory start address" 199 hex "Physical memory start address"
195 default "0x40000000" if MACH_AP4EVB || MACH_AG5EVM || \ 200 default "0x40000000" if MACH_AP4EVB || MACH_AG5EVM || \
196 MACH_MACKEREL || MACH_BONITO || \ 201 MACH_MACKEREL || MACH_BONITO || \
197 MACH_ARMADILLO800EVA || MACH_APE6EVM 202 MACH_ARMADILLO800EVA || MACH_APE6EVM || \
203 MACH_LAGER
198 default "0x41000000" if MACH_KOTA2 204 default "0x41000000" if MACH_KOTA2
199 default "0x00000000" 205 default "0x00000000"
200 ---help--- 206 ---help---
@@ -204,6 +210,7 @@ config MEMORY_START
204 210
205config MEMORY_SIZE 211config MEMORY_SIZE
206 hex "Physical memory size" 212 hex "Physical memory size"
213 default "0x80000000" if MACH_LAGER
207 default "0x40000000" if MACH_APE6EVM 214 default "0x40000000" if MACH_APE6EVM
208 default "0x20000000" if MACH_AG5EVM || MACH_BONITO || \ 215 default "0x20000000" if MACH_AG5EVM || MACH_BONITO || \
209 MACH_ARMADILLO800EVA 216 MACH_ARMADILLO800EVA
diff --git a/arch/arm/mach-shmobile/Makefile b/arch/arm/mach-shmobile/Makefile
index ec2524e43a47..068f1dadc46b 100644
--- a/arch/arm/mach-shmobile/Makefile
+++ b/arch/arm/mach-shmobile/Makefile
@@ -44,6 +44,7 @@ obj-$(CONFIG_MACH_BONITO) += board-bonito.o
44obj-$(CONFIG_MACH_BOCKW) += board-bockw.o 44obj-$(CONFIG_MACH_BOCKW) += board-bockw.o
45obj-$(CONFIG_MACH_MARZEN) += board-marzen.o 45obj-$(CONFIG_MACH_MARZEN) += board-marzen.o
46obj-$(CONFIG_MACH_MARZEN_REFERENCE) += board-marzen-reference.o 46obj-$(CONFIG_MACH_MARZEN_REFERENCE) += board-marzen-reference.o
47obj-$(CONFIG_MACH_LAGER) += board-lager.o
47obj-$(CONFIG_MACH_ARMADILLO800EVA) += board-armadillo800eva.o 48obj-$(CONFIG_MACH_ARMADILLO800EVA) += board-armadillo800eva.o
48obj-$(CONFIG_MACH_KZM9D) += board-kzm9d.o 49obj-$(CONFIG_MACH_KZM9D) += board-kzm9d.o
49obj-$(CONFIG_MACH_KZM9G) += board-kzm9g.o 50obj-$(CONFIG_MACH_KZM9G) += board-kzm9g.o
diff --git a/arch/arm/mach-shmobile/board-lager.c b/arch/arm/mach-shmobile/board-lager.c
new file mode 100644
index 000000000000..ea6f9e5d3500
--- /dev/null
+++ b/arch/arm/mach-shmobile/board-lager.c
@@ -0,0 +1,46 @@
1/*
2 * Lager board support
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/interrupt.h>
22#include <linux/irqchip.h>
23#include <linux/kernel.h>
24#include <linux/platform_device.h>
25#include <mach/common.h>
26#include <mach/r8a7790.h>
27#include <asm/mach-types.h>
28#include <asm/mach/arch.h>
29
30static void __init lager_add_standard_devices(void)
31{
32 r8a7790_clock_init();
33 r8a7790_add_standard_devices();
34}
35
36static const char *lager_boards_compat_dt[] __initdata = {
37 "renesas,lager",
38 NULL,
39};
40
41DT_MACHINE_START(LAGER_DT, "lager")
42 .init_irq = irqchip_init,
43 .init_time = shmobile_timer_init,
44 .init_machine = lager_add_standard_devices,
45 .dt_compat = lager_boards_compat_dt,
46MACHINE_END