diff options
author | Magnus Damm <damm@opensource.se> | 2013-03-29 04:00:02 -0400 |
---|---|---|
committer | Simon Horman <horms+renesas@verge.net.au> | 2013-04-02 21:50:42 -0400 |
commit | 78ded16886f539830ed58d9bc043656c1785a082 (patch) | |
tree | 1adab821b49ac60a9f2be16bfedd1b113a1e2ce0 | |
parent | 8c1de8ee030e929f96d38415da7551e7fdd847b6 (diff) |
ARM: shmobile: APE6EVM base support
V3 of APE6EVM base board support making use of
1 GiB of memory, the SCIFA0 serial port and
ARM architected timer.
Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
-rw-r--r-- | arch/arm/boot/dts/Makefile | 1 | ||||
-rw-r--r-- | arch/arm/boot/dts/r8a73a4-ape6evm.dts | 31 | ||||
-rw-r--r-- | arch/arm/mach-shmobile/Kconfig | 8 | ||||
-rw-r--r-- | arch/arm/mach-shmobile/Makefile | 1 | ||||
-rw-r--r-- | arch/arm/mach-shmobile/board-ape6evm.c | 46 |
5 files changed, 86 insertions, 1 deletions
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile index 363fa5070310..a99b0f7baa72 100644 --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile | |||
@@ -140,6 +140,7 @@ dtb-$(CONFIG_ARCH_SHMOBILE) += emev2-kzm9d.dtb \ | |||
140 | r8a7779-marzen-reference.dtb \ | 140 | r8a7779-marzen-reference.dtb \ |
141 | sh73a0-kzm9g.dtb \ | 141 | sh73a0-kzm9g.dtb \ |
142 | sh73a0-kzm9g-reference.dtb \ | 142 | sh73a0-kzm9g-reference.dtb \ |
143 | r8a73a4-ape6evm.dtb \ | ||
143 | sh7372-mackerel.dtb | 144 | sh7372-mackerel.dtb |
144 | dtb-$(CONFIG_ARCH_SOCFPGA) += socfpga_cyclone5.dtb \ | 145 | dtb-$(CONFIG_ARCH_SOCFPGA) += socfpga_cyclone5.dtb \ |
145 | socfpga_vt.dtb | 146 | socfpga_vt.dtb |
diff --git a/arch/arm/boot/dts/r8a73a4-ape6evm.dts b/arch/arm/boot/dts/r8a73a4-ape6evm.dts new file mode 100644 index 000000000000..833f703f9be5 --- /dev/null +++ b/arch/arm/boot/dts/r8a73a4-ape6evm.dts | |||
@@ -0,0 +1,31 @@ | |||
1 | /* | ||
2 | * Device Tree Source for the APE6EVM 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/ "r8a73a4.dtsi" | ||
13 | |||
14 | / { | ||
15 | model = "APE6EVM"; | ||
16 | compatible = "renesas,ape6evm", "renesas,r8a73a4"; | ||
17 | |||
18 | chosen { | ||
19 | bootargs = "console=ttySC0,115200 ignore_loglevel"; | ||
20 | }; | ||
21 | |||
22 | memory@40000000 { | ||
23 | device_type = "memory"; | ||
24 | reg = <0 0x40000000 0 0x40000000>; | ||
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 18712ad7ccc4..c0da6afa8a51 100644 --- a/arch/arm/mach-shmobile/Kconfig +++ b/arch/arm/mach-shmobile/Kconfig | |||
@@ -96,6 +96,11 @@ config MACH_AG5EVM | |||
96 | select REGULATOR_FIXED_VOLTAGE if REGULATOR | 96 | select REGULATOR_FIXED_VOLTAGE if REGULATOR |
97 | select SH_LCD_MIPI_DSI | 97 | select SH_LCD_MIPI_DSI |
98 | 98 | ||
99 | config MACH_APE6EVM | ||
100 | bool "APE6EVM board" | ||
101 | depends on ARCH_R8A73A4 | ||
102 | select USE_OF | ||
103 | |||
99 | config MACH_MACKEREL | 104 | config MACH_MACKEREL |
100 | bool "mackerel board" | 105 | bool "mackerel board" |
101 | depends on ARCH_SH7372 | 106 | depends on ARCH_SH7372 |
@@ -189,7 +194,7 @@ config MEMORY_START | |||
189 | hex "Physical memory start address" | 194 | hex "Physical memory start address" |
190 | default "0x40000000" if MACH_AP4EVB || MACH_AG5EVM || \ | 195 | default "0x40000000" if MACH_AP4EVB || MACH_AG5EVM || \ |
191 | MACH_MACKEREL || MACH_BONITO || \ | 196 | MACH_MACKEREL || MACH_BONITO || \ |
192 | MACH_ARMADILLO800EVA | 197 | MACH_ARMADILLO800EVA || MACH_APE6EVM |
193 | default "0x41000000" if MACH_KOTA2 | 198 | default "0x41000000" if MACH_KOTA2 |
194 | default "0x00000000" | 199 | default "0x00000000" |
195 | ---help--- | 200 | ---help--- |
@@ -199,6 +204,7 @@ config MEMORY_START | |||
199 | 204 | ||
200 | config MEMORY_SIZE | 205 | config MEMORY_SIZE |
201 | hex "Physical memory size" | 206 | hex "Physical memory size" |
207 | default "0x40000000" if MACH_APE6EVM | ||
202 | default "0x20000000" if MACH_AG5EVM || MACH_BONITO || \ | 208 | default "0x20000000" if MACH_AG5EVM || MACH_BONITO || \ |
203 | MACH_ARMADILLO800EVA | 209 | MACH_ARMADILLO800EVA |
204 | default "0x1e000000" if MACH_KOTA2 | 210 | default "0x1e000000" if MACH_KOTA2 |
diff --git a/arch/arm/mach-shmobile/Makefile b/arch/arm/mach-shmobile/Makefile index 5eada967ec6b..ec2524e43a47 100644 --- a/arch/arm/mach-shmobile/Makefile +++ b/arch/arm/mach-shmobile/Makefile | |||
@@ -37,6 +37,7 @@ obj-$(CONFIG_ARCH_SH73A0) += pm-sh73a0.o | |||
37 | # Board objects | 37 | # Board objects |
38 | obj-$(CONFIG_MACH_AP4EVB) += board-ap4evb.o | 38 | obj-$(CONFIG_MACH_AP4EVB) += board-ap4evb.o |
39 | obj-$(CONFIG_MACH_AG5EVM) += board-ag5evm.o | 39 | obj-$(CONFIG_MACH_AG5EVM) += board-ag5evm.o |
40 | obj-$(CONFIG_MACH_APE6EVM) += board-ape6evm.o | ||
40 | obj-$(CONFIG_MACH_MACKEREL) += board-mackerel.o | 41 | obj-$(CONFIG_MACH_MACKEREL) += board-mackerel.o |
41 | obj-$(CONFIG_MACH_KOTA2) += board-kota2.o | 42 | obj-$(CONFIG_MACH_KOTA2) += board-kota2.o |
42 | obj-$(CONFIG_MACH_BONITO) += board-bonito.o | 43 | obj-$(CONFIG_MACH_BONITO) += board-bonito.o |
diff --git a/arch/arm/mach-shmobile/board-ape6evm.c b/arch/arm/mach-shmobile/board-ape6evm.c new file mode 100644 index 000000000000..9234d4f567ba --- /dev/null +++ b/arch/arm/mach-shmobile/board-ape6evm.c | |||
@@ -0,0 +1,46 @@ | |||
1 | /* | ||
2 | * APE6EVM 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/r8a73a4.h> | ||
27 | #include <asm/mach-types.h> | ||
28 | #include <asm/mach/arch.h> | ||
29 | |||
30 | static void __init ape6evm_add_standard_devices(void) | ||
31 | { | ||
32 | r8a73a4_clock_init(); | ||
33 | r8a73a4_add_standard_devices(); | ||
34 | } | ||
35 | |||
36 | static const char *ape6evm_boards_compat_dt[] __initdata = { | ||
37 | "renesas,ape6evm", | ||
38 | NULL, | ||
39 | }; | ||
40 | |||
41 | DT_MACHINE_START(APE6EVM_DT, "ape6evm") | ||
42 | .init_irq = irqchip_init, | ||
43 | .init_time = shmobile_timer_init, | ||
44 | .init_machine = ape6evm_add_standard_devices, | ||
45 | .dt_compat = ape6evm_boards_compat_dt, | ||
46 | MACHINE_END | ||