blob: 7885075428bb03a2c1c230578adcdb3e7b21fd88 [file] [log] [blame]
Magnus Damme6bf7052012-05-14 19:54:41 +09001/*
2 * Device Tree Source for the armadillo 800 eva board
3 *
4 * Copyright (C) 2012 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/;
Laurent Pinchart31c46cb2013-11-09 13:23:53 +010012#include "r8a7740.dtsi"
Magnus Damm25aa7ba2014-08-28 12:34:51 +090013#include <dt-bindings/gpio/gpio.h>
14#include <dt-bindings/input/input.h>
15#include <dt-bindings/interrupt-controller/irq.h>
16#include <dt-bindings/pwm/pwm.h>
Magnus Damme6bf7052012-05-14 19:54:41 +090017
18/ {
19 model = "armadillo 800 eva";
Magnus Damm25aa7ba2014-08-28 12:34:51 +090020 compatible = "renesas,armadillo800eva", "renesas,r8a7740";
21
22 aliases {
Geert Uytterhoeven1403e382016-06-14 16:15:20 +020023 serial0 = &scifa1;
Magnus Damm25aa7ba2014-08-28 12:34:51 +090024 };
Magnus Damme6bf7052012-05-14 19:54:41 +090025
Simon Hormanf90755d2012-12-15 12:02:11 +090026 chosen {
Geert Uytterhoeven1403e382016-06-14 16:15:20 +020027 bootargs = "earlyprintk ignore_loglevel root=/dev/nfs ip=dhcp rw";
28 stdout-path = "serial0:115200n8";
Simon Hormanf90755d2012-12-15 12:02:11 +090029 };
30
Geert Uytterhoevenc9c3b7c2016-05-20 09:10:02 +020031 memory@40000000 {
Magnus Damme6bf7052012-05-14 19:54:41 +090032 device_type = "memory";
33 reg = <0x40000000 0x20000000>;
34 };
Magnus Damm25aa7ba2014-08-28 12:34:51 +090035
Geert Uytterhoevenc9c3b7c2016-05-20 09:10:02 +020036 reg_3p3v: regulator-3p3v {
Magnus Damm25aa7ba2014-08-28 12:34:51 +090037 compatible = "regulator-fixed";
38 regulator-name = "fixed-3.3V";
39 regulator-min-microvolt = <3300000>;
40 regulator-max-microvolt = <3300000>;
41 regulator-always-on;
42 regulator-boot-on;
43 };
44
Geert Uytterhoevenc9c3b7c2016-05-20 09:10:02 +020045 vcc_sdhi0: regulator-vcc-sdhi0 {
Magnus Damm25aa7ba2014-08-28 12:34:51 +090046 compatible = "regulator-fixed";
47
48 regulator-name = "SDHI0 Vcc";
49 regulator-min-microvolt = <3300000>;
50 regulator-max-microvolt = <3300000>;
51
52 gpio = <&pfc 75 GPIO_ACTIVE_HIGH>;
53 enable-active-high;
54 };
55
Geert Uytterhoevenc9c3b7c2016-05-20 09:10:02 +020056 vccq_sdhi0: regulator-vccq-sdhi0 {
Magnus Damm25aa7ba2014-08-28 12:34:51 +090057 compatible = "regulator-gpio";
58
59 regulator-name = "SDHI0 VccQ";
60 regulator-min-microvolt = <1800000>;
61 regulator-max-microvolt = <3300000>;
62 vin-supply = <&vcc_sdhi0>;
63
64 enable-gpio = <&pfc 74 GPIO_ACTIVE_HIGH>;
65 gpios = <&pfc 17 GPIO_ACTIVE_HIGH>;
66 states = <3300000 0
67 1800000 1>;
68
69 enable-active-high;
70 };
71
Geert Uytterhoevenc9c3b7c2016-05-20 09:10:02 +020072 reg_5p0v: regulator-5p0v {
Magnus Damm25aa7ba2014-08-28 12:34:51 +090073 compatible = "regulator-fixed";
74 regulator-name = "fixed-5.0V";
75 regulator-min-microvolt = <5000000>;
76 regulator-max-microvolt = <5000000>;
77 regulator-always-on;
78 regulator-boot-on;
79 };
80
Simon Horman04a56562014-11-12 17:59:34 +090081 keyboard {
Magnus Damm25aa7ba2014-08-28 12:34:51 +090082 compatible = "gpio-keys";
83
84 power-key {
85 gpios = <&pfc 99 GPIO_ACTIVE_LOW>;
86 linux,code = <KEY_POWER>;
87 label = "SW3";
Sudeep Holla0cc16882015-10-21 11:10:11 +010088 wakeup-source;
Magnus Damm25aa7ba2014-08-28 12:34:51 +090089 };
90
91 back-key {
92 gpios = <&pfc 100 GPIO_ACTIVE_LOW>;
93 linux,code = <KEY_BACK>;
94 label = "SW4";
95 };
96
97 menu-key {
98 gpios = <&pfc 97 GPIO_ACTIVE_LOW>;
99 linux,code = <KEY_MENU>;
100 label = "SW5";
101 };
102
103 home-key {
104 gpios = <&pfc 98 GPIO_ACTIVE_LOW>;
105 linux,code = <KEY_HOME>;
106 label = "SW6";
107 };
108 };
109
110 leds {
111 compatible = "gpio-leds";
112 led3 {
113 gpios = <&pfc 102 GPIO_ACTIVE_HIGH>;
114 label = "LED3";
115 };
116 led4 {
117 gpios = <&pfc 111 GPIO_ACTIVE_HIGH>;
118 label = "LED4";
119 };
120 led5 {
121 gpios = <&pfc 110 GPIO_ACTIVE_HIGH>;
122 label = "LED5";
123 };
124 led6 {
125 gpios = <&pfc 177 GPIO_ACTIVE_HIGH>;
126 label = "LED6";
127 };
128 };
129
Geert Uytterhoevenc9c3b7c2016-05-20 09:10:02 +0200130 i2c2: i2c-2 {
Magnus Damm25aa7ba2014-08-28 12:34:51 +0900131 #address-cells = <1>;
132 #size-cells = <0>;
133 compatible = "i2c-gpio";
134 gpios = <&pfc 208 GPIO_ACTIVE_HIGH /* sda */
135 &pfc 91 GPIO_ACTIVE_HIGH /* scl */
136 >;
137 i2c-gpio,delay-us = <5>;
138 };
139
140 backlight {
141 compatible = "pwm-backlight";
142 pwms = <&tpu 2 33333 PWM_POLARITY_INVERTED>;
143 brightness-levels = <0 1 2 4 8 16 32 64 128 255>;
144 default-brightness-level = <9>;
145 pinctrl-0 = <&backlight_pins>;
146 pinctrl-names = "default";
147 power-supply = <&reg_5p0v>;
148 enable-gpios = <&pfc 61 GPIO_ACTIVE_HIGH>;
149 };
150
151 sound {
152 compatible = "simple-audio-card";
153
154 simple-audio-card,format = "i2s";
155
156 simple-audio-card,cpu {
157 sound-dai = <&sh_fsi2 0>;
158 bitclock-inversion;
159 };
160
161 simple-audio-card,codec {
162 sound-dai = <&wm8978>;
163 bitclock-master;
164 frame-master;
165 system-clock-frequency = <12288000>;
166 };
167 };
168};
169
170&ether {
171 pinctrl-0 = <&ether_pins>;
172 pinctrl-names = "default";
173
174 phy-handle = <&phy0>;
Geert Uytterhoeven16d3b882014-12-09 12:25:00 +0100175 status = "okay";
Magnus Damm25aa7ba2014-08-28 12:34:51 +0900176
177 phy0: ethernet-phy@0 {
178 reg = <0>;
179 };
180};
181
182&extal1_clk {
Geert Uytterhoevenc61f30a2015-12-18 11:51:36 +0100183 clock-frequency = <24000000>;
Magnus Damm25aa7ba2014-08-28 12:34:51 +0900184};
185&extal2_clk {
186 clock-frequency = <48000000>;
187};
188&fsibck_clk {
189 clock-frequency = <12288000>;
190};
191&cpg_clocks {
192 renesas,mode = <0x05>; /* MD_CK0 | MD_CK2 */
193};
194
195&cmt1 {
Geert Uytterhoeven16d3b882014-12-09 12:25:00 +0100196 status = "okay";
Magnus Damm25aa7ba2014-08-28 12:34:51 +0900197};
198
199&i2c0 {
200 status = "okay";
201 touchscreen@55 {
202 compatible = "sitronix,st1232";
203 reg = <0x55>;
204 interrupt-parent = <&irqpin1>;
205 interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
206 pinctrl-0 = <&st1232_pins>;
207 pinctrl-names = "default";
208 gpios = <&pfc 166 GPIO_ACTIVE_LOW>;
209 };
210
Geert Uytterhoeven92d24342015-04-27 14:55:32 +0200211 wm8978: codec@1a {
Magnus Damm25aa7ba2014-08-28 12:34:51 +0900212 #sound-dai-cells = <0>;
213 compatible = "wlf,wm8978";
214 reg = <0x1a>;
215 };
216};
217
218&i2c2 {
219 status = "okay";
220 rtc@30 {
221 compatible = "sii,s35390a";
222 reg = <0x30>;
223 };
224};
225
226&pfc {
Geert Uytterhoevenffd2f9a2015-06-17 10:38:56 +0200227 pinctrl-0 = <&lcd0_pins>;
228 pinctrl-names = "default";
229
Magnus Damm25aa7ba2014-08-28 12:34:51 +0900230 ether_pins: ether {
Simon Horman1ba1e262016-03-18 07:53:17 +0900231 groups = "gether_mii", "gether_int";
232 function = "gether";
Magnus Damm25aa7ba2014-08-28 12:34:51 +0900233 };
234
Geert Uytterhoeven94667b12016-06-10 15:00:49 +0200235 scifa1_pins: scifa1 {
Simon Horman1ba1e262016-03-18 07:53:17 +0900236 groups = "scifa1_data";
237 function = "scifa1";
Magnus Damm25aa7ba2014-08-28 12:34:51 +0900238 };
239
240 st1232_pins: touchscreen {
Simon Horman1ba1e262016-03-18 07:53:17 +0900241 groups = "intc_irq10";
242 function = "intc";
Magnus Damm25aa7ba2014-08-28 12:34:51 +0900243 };
244
245 backlight_pins: backlight {
Simon Horman1ba1e262016-03-18 07:53:17 +0900246 groups = "tpu0_to2_1";
247 function = "tpu0";
Magnus Damm25aa7ba2014-08-28 12:34:51 +0900248 };
249
250 mmc0_pins: mmc0 {
Simon Horman1ba1e262016-03-18 07:53:17 +0900251 groups = "mmc0_data8_1", "mmc0_ctrl_1";
252 function = "mmc0";
Magnus Damm25aa7ba2014-08-28 12:34:51 +0900253 };
254
255 sdhi0_pins: sd0 {
Simon Horman1ba1e262016-03-18 07:53:17 +0900256 groups = "sdhi0_data4", "sdhi0_ctrl", "sdhi0_wp";
257 function = "sdhi0";
Magnus Damm25aa7ba2014-08-28 12:34:51 +0900258 };
259
260 fsia_pins: sounda {
Simon Horman1ba1e262016-03-18 07:53:17 +0900261 groups = "fsia_sclk_in", "fsia_mclk_out",
262 "fsia_data_in_1", "fsia_data_out_0";
263 function = "fsia";
Magnus Damm25aa7ba2014-08-28 12:34:51 +0900264 };
Geert Uytterhoevenffd2f9a2015-06-17 10:38:56 +0200265
266 lcd0_pins: lcd0 {
Simon Horman1ba1e262016-03-18 07:53:17 +0900267 groups = "lcd0_data24_0", "lcd0_lclk_1", "lcd0_sync";
268 function = "lcd0";
Geert Uytterhoevenffd2f9a2015-06-17 10:38:56 +0200269
270 /* DBGMD/LCDC0/FSIA MUX */
271 gpio-hog;
272 gpios = <176 0>;
273 output-high;
274 };
Magnus Damm25aa7ba2014-08-28 12:34:51 +0900275};
276
277&tpu {
278 status = "okay";
279};
280
281&mmcif0 {
282 pinctrl-0 = <&mmc0_pins>;
283 pinctrl-names = "default";
284
285 vmmc-supply = <&reg_3p3v>;
286 bus-width = <8>;
287 non-removable;
288 status = "okay";
289};
290
291&scifa1 {
292 pinctrl-0 = <&scifa1_pins>;
293 pinctrl-names = "default";
294
295 status = "okay";
296};
297
298&sdhi0 {
299 pinctrl-0 = <&sdhi0_pins>;
300 pinctrl-names = "default";
301
302 vmmc-supply = <&vcc_sdhi0>;
303 vqmmc-supply = <&vccq_sdhi0>;
304 bus-width = <4>;
305 cd-gpios = <&pfc 167 GPIO_ACTIVE_LOW>;
306 status = "okay";
307};
308
309&sh_fsi2 {
310 pinctrl-0 = <&fsia_pins>;
311 pinctrl-names = "default";
312
313 status = "okay";
Magnus Damme6bf7052012-05-14 19:54:41 +0900314};
Geert Uytterhoevendf211022014-10-22 11:38:29 +0200315
316&tmu0 {
317 status = "okay";
318};