aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Documentation/devicetree/bindings/arm/shmobile.txt2
-rw-r--r--arch/arm/boot/dts/Makefile3
-rw-r--r--arch/arm/boot/dts/sh73a0-kzm9g-reference.dts398
-rw-r--r--arch/arm/mach-shmobile/Kconfig14
-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-kzm9g-reference.c62
-rw-r--r--arch/arm/mach-shmobile/include/mach/zboot.h2
8 files changed, 2 insertions, 481 deletions
diff --git a/Documentation/devicetree/bindings/arm/shmobile.txt b/Documentation/devicetree/bindings/arm/shmobile.txt
index 51147cb5c036..c69f127d27c3 100644
--- a/Documentation/devicetree/bindings/arm/shmobile.txt
+++ b/Documentation/devicetree/bindings/arm/shmobile.txt
@@ -57,8 +57,6 @@ Boards:
57 compatible = "renesas,kzm9d", "renesas,emev2" 57 compatible = "renesas,kzm9d", "renesas,emev2"
58 - Kyoto Microcomputer Co. KZM-A9-GT 58 - Kyoto Microcomputer Co. KZM-A9-GT
59 compatible = "renesas,kzm9g", "renesas,sh73a0" 59 compatible = "renesas,kzm9g", "renesas,sh73a0"
60 - Kyoto Microcomputer Co. KZM-A9-GT - Reference Device Tree Implementation
61 compatible = "renesas,kzm9g-reference", "renesas,sh73a0"
62 - Lager (RTP0RC7790SEB00010S) 60 - Lager (RTP0RC7790SEB00010S)
63 compatible = "renesas,lager", "renesas,r8a7790" 61 compatible = "renesas,lager", "renesas,r8a7790"
64 - Mackerel (R0P7372LC0016RL, AP4 EVM 2nd) 62 - Mackerel (R0P7372LC0016RL, AP4 EVM 2nd)
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index 287ebca79de8..aa26d13b7401 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -471,8 +471,7 @@ dtb-$(CONFIG_ARCH_SHMOBILE_LEGACY) += \
471 r8a7778-bockw-reference.dtb \ 471 r8a7778-bockw-reference.dtb \
472 r8a7779-marzen.dtb \ 472 r8a7779-marzen.dtb \
473 sh7372-mackerel.dtb \ 473 sh7372-mackerel.dtb \
474 sh73a0-kzm9g.dtb \ 474 sh73a0-kzm9g.dtb
475 sh73a0-kzm9g-reference.dtb
476dtb-$(CONFIG_ARCH_SHMOBILE_MULTI) += \ 475dtb-$(CONFIG_ARCH_SHMOBILE_MULTI) += \
477 emev2-kzm9d.dtb \ 476 emev2-kzm9d.dtb \
478 r7s72100-genmai.dtb \ 477 r7s72100-genmai.dtb \
diff --git a/arch/arm/boot/dts/sh73a0-kzm9g-reference.dts b/arch/arm/boot/dts/sh73a0-kzm9g-reference.dts
deleted file mode 100644
index bf365f7fef47..000000000000
--- a/arch/arm/boot/dts/sh73a0-kzm9g-reference.dts
+++ /dev/null
@@ -1,398 +0,0 @@
1/*
2 * Device Tree Source for the KZM-A9-GT board
3 *
4 * Copyright (C) 2012 Horms Solutions Ltd.
5 *
6 * Based on sh73a0-kzm9g.dts
7 * Copyright (C) 2012 Renesas Solutions Corp.
8 *
9 * This file is licensed under the terms of the GNU General Public License
10 * version 2. This program is licensed "as is" without any warranty of any
11 * kind, whether express or implied.
12 */
13
14/dts-v1/;
15#include "sh73a0.dtsi"
16#include <dt-bindings/gpio/gpio.h>
17#include <dt-bindings/input/input.h>
18#include <dt-bindings/interrupt-controller/irq.h>
19
20/ {
21 model = "KZM-A9-GT";
22 compatible = "renesas,kzm9g-reference", "renesas,sh73a0";
23
24 aliases {
25 serial4 = &scifa4;
26 };
27
28 cpus {
29 cpu@0 {
30 cpu0-supply = <&vdd_dvfs>;
31 operating-points = <
32 /* kHz uV */
33 1196000 1315000
34 598000 1175000
35 398667 1065000
36 >;
37 voltage-tolerance = <1>; /* 1% */
38 };
39 };
40
41 chosen {
42 bootargs = "console=tty0 console=ttySC4,115200 root=/dev/nfs ip=dhcp ignore_loglevel rw";
43 stdout-path = &scifa4;
44 };
45
46 memory {
47 device_type = "memory";
48 reg = <0x40000000 0x20000000>;
49 };
50
51 reg_1p8v: regulator@0 {
52 compatible = "regulator-fixed";
53 regulator-name = "fixed-1.8V";
54 regulator-min-microvolt = <1800000>;
55 regulator-max-microvolt = <1800000>;
56 regulator-always-on;
57 regulator-boot-on;
58 };
59
60 reg_3p3v: regulator@1 {
61 compatible = "regulator-fixed";
62 regulator-name = "fixed-3.3V";
63 regulator-min-microvolt = <3300000>;
64 regulator-max-microvolt = <3300000>;
65 regulator-always-on;
66 regulator-boot-on;
67 };
68
69 vmmc_sdhi0: regulator@2 {
70 compatible = "regulator-fixed";
71 regulator-name = "SDHI0 Vcc";
72 regulator-min-microvolt = <3300000>;
73 regulator-max-microvolt = <3300000>;
74 gpio = <&pfc 15 GPIO_ACTIVE_HIGH>;
75 enable-active-high;
76 };
77
78 vmmc_sdhi2: regulator@3 {
79 compatible = "regulator-fixed";
80 regulator-name = "SDHI2 Vcc";
81 regulator-min-microvolt = <3300000>;
82 regulator-max-microvolt = <3300000>;
83 gpio = <&pfc 14 GPIO_ACTIVE_HIGH>;
84 enable-active-high;
85 };
86
87 lan9220@10000000 {
88 compatible = "smsc,lan9220", "smsc,lan9115";
89 reg = <0x10000000 0x100>;
90 phy-mode = "mii";
91 interrupt-parent = <&irqpin0>;
92 interrupts = <3 IRQ_TYPE_EDGE_FALLING>;
93 reg-io-width = <4>;
94 smsc,irq-push-pull;
95 smsc,save-mac-address;
96 vddvario-supply = <&reg_1p8v>;
97 vdd33a-supply = <&reg_3p3v>;
98 };
99
100 leds {
101 compatible = "gpio-leds";
102 led1 {
103 gpios = <&pfc 20 GPIO_ACTIVE_LOW>;
104 label = "LED1";
105 };
106 led2 {
107 gpios = <&pfc 21 GPIO_ACTIVE_LOW>;
108 label = "LED2";
109 };
110 led3 {
111 gpios = <&pfc 22 GPIO_ACTIVE_LOW>;
112 label = "LED3";
113 };
114 led4 {
115 gpios = <&pfc 23 GPIO_ACTIVE_LOW>;
116 label = "LED4";
117 };
118 };
119
120 keyboard {
121 compatible = "gpio-keys";
122
123 back-key {
124 gpios = <&pcf8575 8 GPIO_ACTIVE_LOW>;
125 linux,code = <KEY_BACK>;
126 label = "SW3";
127 };
128
129 right-key {
130 gpios = <&pcf8575 9 GPIO_ACTIVE_LOW>;
131 linux,code = <KEY_RIGHT>;
132 label = "SW2-R";
133 };
134
135 left-key {
136 gpios = <&pcf8575 10 GPIO_ACTIVE_LOW>;
137 linux,code = <KEY_LEFT>;
138 label = "SW2-L";
139 };
140
141 enter-key {
142 gpios = <&pcf8575 11 GPIO_ACTIVE_LOW>;
143 linux,code = <KEY_ENTER>;
144 label = "SW2-P";
145 };
146
147 up-key {
148 gpios = <&pcf8575 12 GPIO_ACTIVE_LOW>;
149 linux,code = <KEY_UP>;
150 label = "SW2-U";
151 };
152
153 down-key {
154 gpios = <&pcf8575 13 GPIO_ACTIVE_LOW>;
155 linux,code = <KEY_DOWN>;
156 label = "SW2-D";
157 };
158
159 home-key {
160 gpios = <&pcf8575 14 GPIO_ACTIVE_LOW>;
161 linux,code = <KEY_HOME>;
162 label = "SW1";
163 };
164 };
165
166 sound {
167 compatible = "simple-audio-card";
168 simple-audio-card,format = "left_j";
169 simple-audio-card,cpu {
170 sound-dai = <&sh_fsi2 0>;
171 };
172 simple-audio-card,codec {
173 sound-dai = <&ak4648>;
174 bitclock-master;
175 frame-master;
176 system-clock-frequency = <11289600>;
177 };
178 };
179};
180
181&cmt1 {
182 status = "okay";
183};
184
185&extal2_clk {
186 clock-frequency = <48000000>;
187};
188
189&i2c0 {
190 status = "okay";
191
192 compass@c {
193 compatible = "asahi-kasei,ak8975";
194 reg = <0x0c>;
195 interrupt-parent = <&irqpin3>;
196 interrupts = <4 IRQ_TYPE_EDGE_FALLING>;
197 };
198
199 ak4648: codec@12 {
200 compatible = "asahi-kasei,ak4648";
201 reg = <0x12>;
202 #sound-dai-cells = <0>;
203 };
204
205 accelerometer@1d {
206 compatible = "adi,adxl34x";
207 reg = <0x1d>;
208 interrupt-parent = <&irqpin3>;
209 interrupts = <2 IRQ_TYPE_LEVEL_HIGH>,
210 <3 IRQ_TYPE_LEVEL_HIGH>;
211 };
212
213 rtc@32 {
214 compatible = "ricoh,r2025sd";
215 reg = <0x32>;
216 };
217
218 as3711@40 {
219 compatible = "ams,as3711";
220 reg = <0x40>;
221
222 regulators {
223 vdd_dvfs: sd1 {
224 regulator-name = "1.315V CPU";
225 regulator-min-microvolt = <1050000>;
226 regulator-max-microvolt = <1350000>;
227 regulator-always-on;
228 regulator-boot-on;
229 };
230 sd2 {
231 regulator-name = "1.8V";
232 regulator-min-microvolt = <1800000>;
233 regulator-max-microvolt = <1800000>;
234 regulator-always-on;
235 regulator-boot-on;
236 };
237 sd4 {
238 regulator-name = "1.215V";
239 regulator-min-microvolt = <1215000>;
240 regulator-max-microvolt = <1235000>;
241 regulator-always-on;
242 regulator-boot-on;
243 };
244 ldo2 {
245 regulator-name = "2.8V CPU";
246 regulator-min-microvolt = <2800000>;
247 regulator-max-microvolt = <2800000>;
248 regulator-always-on;
249 regulator-boot-on;
250 };
251 ldo3 {
252 regulator-name = "3.0V CPU";
253 regulator-min-microvolt = <3000000>;
254 regulator-max-microvolt = <3000000>;
255 regulator-always-on;
256 regulator-boot-on;
257 };
258 ldo4 {
259 regulator-name = "2.8V";
260 regulator-min-microvolt = <2800000>;
261 regulator-max-microvolt = <2800000>;
262 regulator-always-on;
263 regulator-boot-on;
264 };
265 ldo5 {
266 regulator-name = "2.8V #2";
267 regulator-min-microvolt = <2800000>;
268 regulator-max-microvolt = <2800000>;
269 regulator-always-on;
270 regulator-boot-on;
271 };
272 ldo7 {
273 regulator-name = "1.15V CPU";
274 regulator-min-microvolt = <1150000>;
275 regulator-max-microvolt = <1150000>;
276 regulator-always-on;
277 regulator-boot-on;
278 };
279 ldo8 {
280 regulator-name = "1.15V CPU #2";
281 regulator-min-microvolt = <1150000>;
282 regulator-max-microvolt = <1150000>;
283 regulator-always-on;
284 regulator-boot-on;
285 };
286 };
287 };
288};
289
290&i2c1 {
291 status = "okay";
292
293 touchscreen@55 {
294 compatible = "sitronix,st1232";
295 reg = <0x55>;
296 interrupt-parent = <&irqpin1>;
297 interrupts = <0 IRQ_TYPE_EDGE_FALLING>;
298 };
299};
300
301&i2c3 {
302 pinctrl-0 = <&i2c3_pins>;
303 pinctrl-names = "default";
304 status = "okay";
305
306 pcf8575: gpio@20 {
307 compatible = "nxp,pcf8575";
308 reg = <0x20>;
309 interrupt-parent = <&irqpin2>;
310 interrupts = <3 IRQ_TYPE_EDGE_FALLING>;
311 gpio-controller;
312 #gpio-cells = <2>;
313 interrupt-controller;
314 #interrupt-cells = <2>;
315 };
316};
317
318&mmcif {
319 pinctrl-0 = <&mmcif_pins>;
320 pinctrl-names = "default";
321
322 bus-width = <8>;
323 vmmc-supply = <&reg_1p8v>;
324 status = "okay";
325};
326
327&pfc {
328 i2c3_pins: i2c3 {
329 renesas,groups = "i2c3_1";
330 renesas,function = "i2c3";
331 };
332
333 mmcif_pins: mmc {
334 mux {
335 renesas,groups = "mmc0_data8_0", "mmc0_ctrl_0";
336 renesas,function = "mmc0";
337 };
338 cfg {
339 renesas,groups = "mmc0_data8_0";
340 renesas,pins = "PORT279";
341 bias-pull-up;
342 };
343 };
344
345 scifa4_pins: serial4 {
346 renesas,groups = "scifa4_data", "scifa4_ctrl";
347 renesas,function = "scifa4";
348 };
349
350 sdhi0_pins: sd0 {
351 renesas,groups = "sdhi0_data4", "sdhi0_ctrl", "sdhi0_cd", "sdhi0_wp";
352 renesas,function = "sdhi0";
353 };
354
355 sdhi2_pins: sd2 {
356 renesas,groups = "sdhi2_data4", "sdhi2_ctrl";
357 renesas,function = "sdhi2";
358 };
359
360 fsia_pins: sounda {
361 renesas,groups = "fsia_mclk_in", "fsia_sclk_in",
362 "fsia_data_in", "fsia_data_out";
363 renesas,function = "fsia";
364 };
365};
366
367&scifa4 {
368 pinctrl-0 = <&scifa4_pins>;
369 pinctrl-names = "default";
370
371 status = "okay";
372};
373
374&sdhi0 {
375 pinctrl-0 = <&sdhi0_pins>;
376 pinctrl-names = "default";
377
378 vmmc-supply = <&vmmc_sdhi0>;
379 bus-width = <4>;
380 status = "okay";
381};
382
383&sdhi2 {
384 pinctrl-0 = <&sdhi2_pins>;
385 pinctrl-names = "default";
386
387 vmmc-supply = <&vmmc_sdhi2>;
388 bus-width = <4>;
389 broken-cd;
390 status = "okay";
391};
392
393&sh_fsi2 {
394 pinctrl-0 = <&fsia_pins>;
395 pinctrl-names = "default";
396
397 status = "okay";
398};
diff --git a/arch/arm/mach-shmobile/Kconfig b/arch/arm/mach-shmobile/Kconfig
index 8ee2f281f2a3..f4108d85c03c 100644
--- a/arch/arm/mach-shmobile/Kconfig
+++ b/arch/arm/mach-shmobile/Kconfig
@@ -214,20 +214,6 @@ config MACH_KZM9G
214 select SND_SOC_AK4642 if SND_SIMPLE_CARD 214 select SND_SOC_AK4642 if SND_SIMPLE_CARD
215 select USE_OF 215 select USE_OF
216 216
217config MACH_KZM9G_REFERENCE
218 bool "KZM-A9-GT board - Reference Device Tree Implementation"
219 depends on ARCH_SH73A0
220 select ARCH_REQUIRE_GPIOLIB
221 select REGULATOR_FIXED_VOLTAGE if REGULATOR
222 select SND_SOC_AK4642 if SND_SIMPLE_CARD
223 select USE_OF
224 ---help---
225 Use reference implementation of KZM-A9-GT board support
226 which makes as greater use of device tree at the expense
227 of not supporting a number of devices.
228
229 This is intended to aid developers
230
231comment "Renesas ARM SoCs System Configuration" 217comment "Renesas ARM SoCs System Configuration"
232 218
233config CPU_HAS_INTEVT 219config CPU_HAS_INTEVT
diff --git a/arch/arm/mach-shmobile/Makefile b/arch/arm/mach-shmobile/Makefile
index b400f5fe72c2..7b9ed9e25e9b 100644
--- a/arch/arm/mach-shmobile/Makefile
+++ b/arch/arm/mach-shmobile/Makefile
@@ -66,7 +66,6 @@ obj-$(CONFIG_MACH_BOCKW_REFERENCE) += board-bockw-reference.o
66obj-$(CONFIG_MACH_MARZEN) += board-marzen.o 66obj-$(CONFIG_MACH_MARZEN) += board-marzen.o
67obj-$(CONFIG_MACH_ARMADILLO800EVA) += board-armadillo800eva.o 67obj-$(CONFIG_MACH_ARMADILLO800EVA) += board-armadillo800eva.o
68obj-$(CONFIG_MACH_KZM9G) += board-kzm9g.o intc-sh73a0.o 68obj-$(CONFIG_MACH_KZM9G) += board-kzm9g.o intc-sh73a0.o
69obj-$(CONFIG_MACH_KZM9G_REFERENCE) += board-kzm9g-reference.o
70endif 69endif
71 70
72# Framework support 71# Framework support
diff --git a/arch/arm/mach-shmobile/Makefile.boot b/arch/arm/mach-shmobile/Makefile.boot
index 02532bea5300..6ef0e2b29a02 100644
--- a/arch/arm/mach-shmobile/Makefile.boot
+++ b/arch/arm/mach-shmobile/Makefile.boot
@@ -6,7 +6,6 @@ loadaddr-$(CONFIG_MACH_ARMADILLO800EVA) += 0x40008000
6loadaddr-$(CONFIG_MACH_BOCKW) += 0x60008000 6loadaddr-$(CONFIG_MACH_BOCKW) += 0x60008000
7loadaddr-$(CONFIG_MACH_BOCKW_REFERENCE) += 0x60008000 7loadaddr-$(CONFIG_MACH_BOCKW_REFERENCE) += 0x60008000
8loadaddr-$(CONFIG_MACH_KZM9G) += 0x41008000 8loadaddr-$(CONFIG_MACH_KZM9G) += 0x41008000
9loadaddr-$(CONFIG_MACH_KZM9G_REFERENCE) += 0x41008000
10loadaddr-$(CONFIG_MACH_MACKEREL) += 0x40008000 9loadaddr-$(CONFIG_MACH_MACKEREL) += 0x40008000
11loadaddr-$(CONFIG_MACH_MARZEN) += 0x60008000 10loadaddr-$(CONFIG_MACH_MARZEN) += 0x60008000
12 11
diff --git a/arch/arm/mach-shmobile/board-kzm9g-reference.c b/arch/arm/mach-shmobile/board-kzm9g-reference.c
deleted file mode 100644
index 2e82e44ab852..000000000000
--- a/arch/arm/mach-shmobile/board-kzm9g-reference.c
+++ /dev/null
@@ -1,62 +0,0 @@
1/*
2 * KZM-A9-GT board support - Reference Device Tree Implementation
3 *
4 * Copyright (C) 2012 Horms Solutions Ltd.
5 *
6 * Based on board-kzm9g.c
7 * Copyright (C) 2012 Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
8 *
9 * This program is free software; you can redistribute it and/or modify
10 * it under the terms of the GNU General Public License as published by
11 * the Free Software Foundation; version 2 of the License.
12 *
13 * This program is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU General Public License for more details.
17 */
18
19#include <linux/delay.h>
20#include <linux/io.h>
21#include <linux/irq.h>
22#include <linux/input.h>
23#include <linux/of_platform.h>
24
25#include <asm/hardware/cache-l2x0.h>
26#include <asm/mach-types.h>
27#include <asm/mach/arch.h>
28
29#include "common.h"
30#include "sh73a0.h"
31
32static void __init kzm_init(void)
33{
34 sh73a0_add_standard_devices_dt();
35
36#ifdef CONFIG_CACHE_L2X0
37 /* Shared attribute override enable, 64K*8way */
38 l2x0_init(IOMEM(0xf0100000), 0x00400000, 0xc20f0fff);
39#endif
40}
41
42#define RESCNT2 IOMEM(0xe6188020)
43static void kzm9g_restart(enum reboot_mode mode, const char *cmd)
44{
45 /* Do soft power on reset */
46 writel((1 << 31), RESCNT2);
47}
48
49static const char *kzm9g_boards_compat_dt[] __initdata = {
50 "renesas,kzm9g-reference",
51 NULL,
52};
53
54DT_MACHINE_START(KZM9G_DT, "kzm9g-reference")
55 .smp = smp_ops(sh73a0_smp_ops),
56 .map_io = sh73a0_map_io,
57 .init_early = shmobile_init_delay,
58 .init_machine = kzm_init,
59 .init_late = shmobile_init_late,
60 .restart = kzm9g_restart,
61 .dt_compat = kzm9g_boards_compat_dt,
62MACHINE_END
diff --git a/arch/arm/mach-shmobile/include/mach/zboot.h b/arch/arm/mach-shmobile/include/mach/zboot.h
index 727cc78ac8ec..219bbcf029cc 100644
--- a/arch/arm/mach-shmobile/include/mach/zboot.h
+++ b/arch/arm/mach-shmobile/include/mach/zboot.h
@@ -12,7 +12,7 @@
12#ifdef CONFIG_MACH_MACKEREL 12#ifdef CONFIG_MACH_MACKEREL
13#define MEMORY_START 0x40000000 13#define MEMORY_START 0x40000000
14#include "mach/head-mackerel.txt" 14#include "mach/head-mackerel.txt"
15#elif defined(CONFIG_MACH_KZM9G) || defined(CONFIG_MACH_KZM9G_REFERENCE) 15#elif defined(CONFIG_MACH_KZM9G)
16#define MEMORY_START 0x43000000 16#define MEMORY_START 0x43000000
17#include "mach/head-kzm9g.txt" 17#include "mach/head-kzm9g.txt"
18#else 18#else