blob: 3d65f1f6d78b62a4a863584dfb7274e9abcb2b8f [file] [log] [blame]
Magnus Damm7296d932012-05-14 23:22:28 +02001/*
2 * Device Tree Source for the KZM-A9-GT board
3 *
Magnus Damm682d2df2015-01-09 14:08:51 +01004 * Copyright (C) 2012 Horms Solutions Ltd.
5 *
6 * Based on sh73a0-kzm9g.dts
Magnus Damm7296d932012-05-14 23:22:28 +02007 * 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/;
Laurent Pinchart31c46cb2013-11-09 13:23:53 +010015#include "sh73a0.dtsi"
Magnus Damm682d2df2015-01-09 14:08:51 +010016#include <dt-bindings/gpio/gpio.h>
17#include <dt-bindings/input/input.h>
18#include <dt-bindings/interrupt-controller/irq.h>
Magnus Damm7296d932012-05-14 23:22:28 +020019
20/ {
21 model = "KZM-A9-GT";
Arnd Bergmann9601e872012-05-15 15:30:17 +000022 compatible = "renesas,kzm9g", "renesas,sh73a0";
Magnus Damm7296d932012-05-14 23:22:28 +020023
Magnus Damm682d2df2015-01-09 14:08:51 +010024 aliases {
Geert Uytterhoeven54389e92016-06-14 16:15:24 +020025 serial0 = &scifa4;
Magnus Damm682d2df2015-01-09 14:08:51 +010026 };
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
Simon Hormanbe919002012-11-27 17:11:47 +090041 chosen {
Geert Uytterhoeven54389e92016-06-14 16:15:24 +020042 bootargs = "root=/dev/nfs ip=dhcp ignore_loglevel rw";
43 stdout-path = "serial0:115200n8";
Simon Hormanbe919002012-11-27 17:11:47 +090044 };
45
Geert Uytterhoeven8788b2c2016-05-20 09:10:08 +020046 memory@40000000 {
Magnus Damm7296d932012-05-14 23:22:28 +020047 device_type = "memory";
Geert Uytterhoeven89ebd542015-01-06 20:17:38 +010048 reg = <0x40000000 0x20000000>;
Magnus Damm7296d932012-05-14 23:22:28 +020049 };
Magnus Damm682d2df2015-01-09 14:08:51 +010050
Geert Uytterhoeven8788b2c2016-05-20 09:10:08 +020051 reg_1p8v: regulator-1p8v {
Magnus Damm682d2df2015-01-09 14:08:51 +010052 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
Geert Uytterhoeven8788b2c2016-05-20 09:10:08 +020060 reg_3p3v: regulator-3p3v {
Magnus Damm682d2df2015-01-09 14:08:51 +010061 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
Geert Uytterhoeven8788b2c2016-05-20 09:10:08 +020069 vmmc_sdhi0: regulator-vmmc-sdhi0 {
Magnus Damm682d2df2015-01-09 14:08:51 +010070 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
Geert Uytterhoeven8788b2c2016-05-20 09:10:08 +020078 vmmc_sdhi2: regulator-vmmc-sdhi2 {
Magnus Damm682d2df2015-01-09 14:08:51 +010079 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
Magnus Damm682d2df2015-01-09 14:08:51 +010087 leds {
88 compatible = "gpio-leds";
89 led1 {
90 gpios = <&pfc 20 GPIO_ACTIVE_LOW>;
91 label = "LED1";
92 };
93 led2 {
94 gpios = <&pfc 21 GPIO_ACTIVE_LOW>;
95 label = "LED2";
96 };
97 led3 {
98 gpios = <&pfc 22 GPIO_ACTIVE_LOW>;
99 label = "LED3";
100 };
101 led4 {
102 gpios = <&pfc 23 GPIO_ACTIVE_LOW>;
103 label = "LED4";
104 };
105 };
106
107 keyboard {
108 compatible = "gpio-keys";
109
110 back-key {
111 gpios = <&pcf8575 8 GPIO_ACTIVE_LOW>;
112 linux,code = <KEY_BACK>;
113 label = "SW3";
114 };
115
116 right-key {
117 gpios = <&pcf8575 9 GPIO_ACTIVE_LOW>;
118 linux,code = <KEY_RIGHT>;
119 label = "SW2-R";
120 };
121
122 left-key {
123 gpios = <&pcf8575 10 GPIO_ACTIVE_LOW>;
124 linux,code = <KEY_LEFT>;
125 label = "SW2-L";
126 };
127
128 enter-key {
129 gpios = <&pcf8575 11 GPIO_ACTIVE_LOW>;
130 linux,code = <KEY_ENTER>;
131 label = "SW2-P";
132 };
133
134 up-key {
135 gpios = <&pcf8575 12 GPIO_ACTIVE_LOW>;
136 linux,code = <KEY_UP>;
137 label = "SW2-U";
138 };
139
140 down-key {
141 gpios = <&pcf8575 13 GPIO_ACTIVE_LOW>;
142 linux,code = <KEY_DOWN>;
143 label = "SW2-D";
144 };
145
146 home-key {
147 gpios = <&pcf8575 14 GPIO_ACTIVE_LOW>;
148 linux,code = <KEY_HOME>;
149 label = "SW1";
Sudeep Holla0cc16882015-10-21 11:10:11 +0100150 wakeup-source;
Magnus Damm682d2df2015-01-09 14:08:51 +0100151 };
Geert Uytterhoeven7e2a1bc2016-04-14 11:58:42 +0200152
153 wakeup-key {
154 gpios = <&pfc 159 GPIO_ACTIVE_LOW>;
155 linux,code = <KEY_WAKEUP>;
156 label = "NMI";
157 wakeup-source;
158 };
Magnus Damm682d2df2015-01-09 14:08:51 +0100159 };
160
161 sound {
162 compatible = "simple-audio-card";
163 simple-audio-card,format = "left_j";
164 simple-audio-card,cpu {
165 sound-dai = <&sh_fsi2 0>;
166 };
167 simple-audio-card,codec {
168 sound-dai = <&ak4648>;
169 bitclock-master;
170 frame-master;
171 system-clock-frequency = <11289600>;
172 };
173 };
174};
175
Geert Uytterhoeven17f0f732015-02-17 15:52:37 +0100176&bsc {
177 ethernet@10000000 {
178 compatible = "smsc,lan9220", "smsc,lan9115";
179 reg = <0x10000000 0x100>;
180 phy-mode = "mii";
181 interrupt-parent = <&irqpin0>;
182 interrupts = <3 IRQ_TYPE_EDGE_FALLING>;
183 reg-io-width = <4>;
184 smsc,irq-push-pull;
185 smsc,save-mac-address;
186 vddvario-supply = <&reg_1p8v>;
187 vdd33a-supply = <&reg_3p3v>;
188 };
189};
190
Magnus Damm682d2df2015-01-09 14:08:51 +0100191&cmt1 {
192 status = "okay";
193};
194
195&extal2_clk {
196 clock-frequency = <48000000>;
197};
198
199&i2c0 {
200 status = "okay";
201
202 compass@c {
203 compatible = "asahi-kasei,ak8975";
204 reg = <0x0c>;
205 interrupt-parent = <&irqpin3>;
206 interrupts = <4 IRQ_TYPE_EDGE_FALLING>;
207 };
208
209 ak4648: codec@12 {
210 compatible = "asahi-kasei,ak4648";
211 reg = <0x12>;
212 #sound-dai-cells = <0>;
213 };
214
215 accelerometer@1d {
Geert Uytterhoeven755252d2015-07-06 12:55:32 +0200216 compatible = "adi,adxl345";
Magnus Damm682d2df2015-01-09 14:08:51 +0100217 reg = <0x1d>;
218 interrupt-parent = <&irqpin3>;
219 interrupts = <2 IRQ_TYPE_LEVEL_HIGH>,
220 <3 IRQ_TYPE_LEVEL_HIGH>;
221 };
222
223 rtc@32 {
224 compatible = "ricoh,r2025sd";
225 reg = <0x32>;
226 };
227
228 as3711@40 {
229 compatible = "ams,as3711";
230 reg = <0x40>;
231
232 regulators {
233 vdd_dvfs: sd1 {
234 regulator-name = "1.315V CPU";
235 regulator-min-microvolt = <1050000>;
236 regulator-max-microvolt = <1350000>;
237 regulator-always-on;
238 regulator-boot-on;
239 };
240 sd2 {
241 regulator-name = "1.8V";
242 regulator-min-microvolt = <1800000>;
243 regulator-max-microvolt = <1800000>;
244 regulator-always-on;
245 regulator-boot-on;
246 };
247 sd4 {
248 regulator-name = "1.215V";
249 regulator-min-microvolt = <1215000>;
250 regulator-max-microvolt = <1235000>;
251 regulator-always-on;
252 regulator-boot-on;
253 };
254 ldo2 {
255 regulator-name = "2.8V CPU";
256 regulator-min-microvolt = <2800000>;
257 regulator-max-microvolt = <2800000>;
258 regulator-always-on;
259 regulator-boot-on;
260 };
261 ldo3 {
262 regulator-name = "3.0V CPU";
263 regulator-min-microvolt = <3000000>;
264 regulator-max-microvolt = <3000000>;
265 regulator-always-on;
266 regulator-boot-on;
267 };
268 ldo4 {
269 regulator-name = "2.8V";
270 regulator-min-microvolt = <2800000>;
271 regulator-max-microvolt = <2800000>;
272 regulator-always-on;
273 regulator-boot-on;
274 };
275 ldo5 {
276 regulator-name = "2.8V #2";
277 regulator-min-microvolt = <2800000>;
278 regulator-max-microvolt = <2800000>;
279 regulator-always-on;
280 regulator-boot-on;
281 };
282 ldo7 {
283 regulator-name = "1.15V CPU";
284 regulator-min-microvolt = <1150000>;
285 regulator-max-microvolt = <1150000>;
286 regulator-always-on;
287 regulator-boot-on;
288 };
289 ldo8 {
290 regulator-name = "1.15V CPU #2";
291 regulator-min-microvolt = <1150000>;
292 regulator-max-microvolt = <1150000>;
293 regulator-always-on;
294 regulator-boot-on;
295 };
296 };
297 };
298};
299
300&i2c1 {
301 status = "okay";
302
303 touchscreen@55 {
304 compatible = "sitronix,st1232";
305 reg = <0x55>;
306 interrupt-parent = <&irqpin1>;
307 interrupts = <0 IRQ_TYPE_EDGE_FALLING>;
308 };
309};
310
311&i2c3 {
312 pinctrl-0 = <&i2c3_pins>;
313 pinctrl-names = "default";
314 status = "okay";
315
316 pcf8575: gpio@20 {
317 compatible = "nxp,pcf8575";
318 reg = <0x20>;
319 interrupt-parent = <&irqpin2>;
320 interrupts = <3 IRQ_TYPE_EDGE_FALLING>;
321 gpio-controller;
322 #gpio-cells = <2>;
323 interrupt-controller;
324 #interrupt-cells = <2>;
325 };
326};
327
328&mmcif {
329 pinctrl-0 = <&mmcif_pins>;
330 pinctrl-names = "default";
331
332 bus-width = <8>;
333 vmmc-supply = <&reg_1p8v>;
334 status = "okay";
335};
336
337&pfc {
338 i2c3_pins: i2c3 {
Simon Hormanffff86d2016-03-18 07:57:10 +0900339 groups = "i2c3_1";
340 function = "i2c3";
Magnus Damm682d2df2015-01-09 14:08:51 +0100341 };
342
343 mmcif_pins: mmc {
344 mux {
Simon Hormanffff86d2016-03-18 07:57:10 +0900345 groups = "mmc0_data8_0", "mmc0_ctrl_0";
346 function = "mmc0";
Magnus Damm682d2df2015-01-09 14:08:51 +0100347 };
348 cfg {
Simon Hormanffff86d2016-03-18 07:57:10 +0900349 groups = "mmc0_data8_0";
350 pins = "PORT279";
Magnus Damm682d2df2015-01-09 14:08:51 +0100351 bias-pull-up;
352 };
353 };
354
Geert Uytterhoeven970a62e2016-06-10 15:01:05 +0200355 scifa4_pins: scifa4 {
Simon Hormanffff86d2016-03-18 07:57:10 +0900356 groups = "scifa4_data", "scifa4_ctrl";
357 function = "scifa4";
Magnus Damm682d2df2015-01-09 14:08:51 +0100358 };
359
360 sdhi0_pins: sd0 {
Simon Hormanffff86d2016-03-18 07:57:10 +0900361 groups = "sdhi0_data4", "sdhi0_ctrl", "sdhi0_cd", "sdhi0_wp";
362 function = "sdhi0";
Magnus Damm682d2df2015-01-09 14:08:51 +0100363 };
364
365 sdhi2_pins: sd2 {
Simon Hormanffff86d2016-03-18 07:57:10 +0900366 groups = "sdhi2_data4", "sdhi2_ctrl";
367 function = "sdhi2";
Magnus Damm682d2df2015-01-09 14:08:51 +0100368 };
369
370 fsia_pins: sounda {
Simon Hormanffff86d2016-03-18 07:57:10 +0900371 groups = "fsia_mclk_in", "fsia_sclk_in",
372 "fsia_data_in", "fsia_data_out";
373 function = "fsia";
Magnus Damm682d2df2015-01-09 14:08:51 +0100374 };
375};
376
377&scifa4 {
378 pinctrl-0 = <&scifa4_pins>;
379 pinctrl-names = "default";
380
Geert Uytterhoevend5bb5dc2016-05-04 10:57:57 +0200381 uart-has-rtscts;
Magnus Damm682d2df2015-01-09 14:08:51 +0100382 status = "okay";
383};
384
385&sdhi0 {
386 pinctrl-0 = <&sdhi0_pins>;
387 pinctrl-names = "default";
388
389 vmmc-supply = <&vmmc_sdhi0>;
390 bus-width = <4>;
391 status = "okay";
392};
393
394&sdhi2 {
395 pinctrl-0 = <&sdhi2_pins>;
396 pinctrl-names = "default";
397
398 vmmc-supply = <&vmmc_sdhi2>;
399 bus-width = <4>;
400 broken-cd;
401 status = "okay";
402};
403
404&sh_fsi2 {
405 pinctrl-0 = <&fsia_pins>;
406 pinctrl-names = "default";
407
408 status = "okay";
Magnus Damm7296d932012-05-14 23:22:28 +0200409};