blob: e96f952164377285aec984a06335dcd561c9a6df [file] [log] [blame]
Magnus Damm3cc828f2013-03-29 17:49:37 +09001/*
2 * Device Tree Source for the Lager board
3 *
Sergei Shtylyovda4ea952014-02-20 02:22:31 +03004 * Copyright (C) 2013-2014 Renesas Solutions Corp.
5 * Copyright (C) 2014 Cogent Embedded, Inc.
Magnus Damm3cc828f2013-03-29 17:49:37 +09006 *
7 * This file is licensed under the terms of the GNU General Public License
8 * version 2. This program is licensed "as is" without any warranty of any
9 * kind, whether express or implied.
10 */
11
12/dts-v1/;
Laurent Pinchart31c46cb2013-11-09 13:23:53 +010013#include "r8a7790.dtsi"
Laurent Pinchart39fa5112013-12-11 15:13:47 +010014#include <dt-bindings/gpio/gpio.h>
Magnus Dammf7dcd382014-03-18 21:57:48 +090015#include <dt-bindings/input/input.h>
Magnus Damm3cc828f2013-03-29 17:49:37 +090016
17/ {
18 model = "Lager";
19 compatible = "renesas,lager", "renesas,r8a7790";
20
Laurent Pinchart4e9c4872014-04-30 02:31:45 +020021 aliases {
Wolfram Sang7c055892014-09-16 18:10:37 +020022 serial6 = &scifa0;
23 serial7 = &scifa1;
Laurent Pinchart4e9c4872014-04-30 02:31:45 +020024 };
25
Magnus Damm3cc828f2013-03-29 17:49:37 +090026 chosen {
Simon Hormandcbbbaf2013-08-06 16:50:11 +090027 bootargs = "console=ttySC6,115200 ignore_loglevel rw root=/dev/nfs ip=dhcp";
Geert Uytterhoevencf855812014-10-03 17:11:40 +020028 stdout-path = &scifa0;
Magnus Damm3cc828f2013-03-29 17:49:37 +090029 };
30
31 memory@40000000 {
32 device_type = "memory";
Magnus Damm7b16c612014-06-06 15:40:26 +090033 reg = <0 0x40000000 0 0x40000000>;
Magnus Damm3cc828f2013-03-29 17:49:37 +090034 };
35
Simon Horman126f9982014-09-03 09:49:01 +090036 memory@140000000 {
Magnus Damm62bc32a2013-10-31 12:21:41 +090037 device_type = "memory";
Magnus Damm7b16c612014-06-06 15:40:26 +090038 reg = <1 0x40000000 0 0xc0000000>;
Magnus Damm62bc32a2013-10-31 12:21:41 +090039 };
40
Magnus Damm3cc828f2013-03-29 17:49:37 +090041 lbsc {
42 #address-cells = <1>;
43 #size-cells = <1>;
44 };
Laurent Pinchart39fa5112013-12-11 15:13:47 +010045
Magnus Dammf7dcd382014-03-18 21:57:48 +090046 gpio_keys {
47 compatible = "gpio-keys";
48
49 button@1 {
50 linux,code = <KEY_1>;
51 label = "SW2-1";
52 gpio-key,wakeup;
53 debounce-interval = <20>;
54 gpios = <&gpio1 14 GPIO_ACTIVE_LOW>;
55 };
56 button@2 {
57 linux,code = <KEY_2>;
58 label = "SW2-2";
59 gpio-key,wakeup;
60 debounce-interval = <20>;
61 gpios = <&gpio1 24 GPIO_ACTIVE_LOW>;
62 };
63 button@3 {
64 linux,code = <KEY_3>;
65 label = "SW2-3";
66 gpio-key,wakeup;
67 debounce-interval = <20>;
68 gpios = <&gpio1 26 GPIO_ACTIVE_LOW>;
69 };
70 button@4 {
71 linux,code = <KEY_4>;
72 label = "SW2-4";
73 gpio-key,wakeup;
74 debounce-interval = <20>;
75 gpios = <&gpio1 28 GPIO_ACTIVE_LOW>;
76 };
77 };
78
Laurent Pinchart39fa5112013-12-11 15:13:47 +010079 leds {
80 compatible = "gpio-leds";
81 led6 {
82 gpios = <&gpio4 22 GPIO_ACTIVE_HIGH>;
83 };
84 led7 {
85 gpios = <&gpio4 23 GPIO_ACTIVE_HIGH>;
86 };
87 led8 {
88 gpios = <&gpio5 17 GPIO_ACTIVE_HIGH>;
89 };
90 };
91
92 fixedregulator3v3: fixedregulator@0 {
93 compatible = "regulator-fixed";
94 regulator-name = "fixed-3.3V";
95 regulator-min-microvolt = <3300000>;
96 regulator-max-microvolt = <3300000>;
97 regulator-boot-on;
98 regulator-always-on;
99 };
Kuninori Morimotoc6119942014-02-12 21:43:19 -0800100
101 vcc_sdhi0: regulator@1 {
102 compatible = "regulator-fixed";
103
104 regulator-name = "SDHI0 Vcc";
105 regulator-min-microvolt = <3300000>;
106 regulator-max-microvolt = <3300000>;
107
108 gpio = <&gpio5 24 GPIO_ACTIVE_HIGH>;
109 enable-active-high;
110 };
111
112 vccq_sdhi0: regulator@2 {
113 compatible = "regulator-gpio";
114
115 regulator-name = "SDHI0 VccQ";
116 regulator-min-microvolt = <1800000>;
117 regulator-max-microvolt = <3300000>;
118
119 gpios = <&gpio5 29 GPIO_ACTIVE_HIGH>;
120 gpios-states = <1>;
121 states = <3300000 1
122 1800000 0>;
123 };
124
125 vcc_sdhi2: regulator@3 {
126 compatible = "regulator-fixed";
127
128 regulator-name = "SDHI2 Vcc";
129 regulator-min-microvolt = <3300000>;
130 regulator-max-microvolt = <3300000>;
131
132 gpio = <&gpio5 25 GPIO_ACTIVE_HIGH>;
133 enable-active-high;
134 };
135
136 vccq_sdhi2: regulator@4 {
137 compatible = "regulator-gpio";
138
139 regulator-name = "SDHI2 VccQ";
140 regulator-min-microvolt = <1800000>;
141 regulator-max-microvolt = <3300000>;
142
143 gpios = <&gpio5 30 GPIO_ACTIVE_HIGH>;
144 gpios-states = <1>;
145 states = <3300000 1
146 1800000 0>;
147 };
Laurent Pinchart3edd18f2014-01-21 16:02:54 +0100148
149 vga-encoder {
150 compatible = "adi,adv7123";
151
152 ports {
153 #address-cells = <1>;
154 #size-cells = <0>;
155
156 port@0 {
157 reg = <0>;
158 adv7123_in: endpoint {
159 remote-endpoint = <&du_out_rgb>;
160 };
161 };
162 port@1 {
163 reg = <1>;
164 adv7123_out: endpoint {
165 remote-endpoint = <&vga_in>;
166 };
167 };
168 };
169 };
170
171 vga {
172 compatible = "vga-connector";
173
174 port {
175 vga_in: endpoint {
176 remote-endpoint = <&adv7123_out>;
177 };
178 };
179 };
180};
181
182&du {
183 pinctrl-0 = <&du_pins>;
184 pinctrl-names = "default";
185 status = "okay";
186
187 ports {
188 port@0 {
189 endpoint {
190 remote-endpoint = <&adv7123_in>;
191 };
192 };
193 port@2 {
194 lvds_connector: endpoint {
195 };
196 };
197 };
Laurent Pinchart39fa5112013-12-11 15:13:47 +0100198};
199
Laurent Pinchart62e43052013-12-11 15:13:49 +0100200&extal_clk {
201 clock-frequency = <20000000>;
202};
203
Laurent Pinchart39fa5112013-12-11 15:13:47 +0100204&pfc {
Laurent Pinchart3024f502014-02-16 22:31:59 +0100205 du_pins: du {
206 renesas,groups = "du_rgb666", "du_sync_1", "du_clk_out_0";
207 renesas,function = "du";
208 };
209
Wolfram Sang7c055892014-09-16 18:10:37 +0200210 scifa0_pins: serial0 {
211 renesas,groups = "scifa0_data";
212 renesas,function = "scifa0";
Laurent Pinchart39fa5112013-12-11 15:13:47 +0100213 };
214
Sergei Shtylyovda4ea952014-02-20 02:22:31 +0300215 ether_pins: ether {
216 renesas,groups = "eth_link", "eth_mdio", "eth_rmii";
217 renesas,function = "eth";
218 };
219
220 phy1_pins: phy1 {
221 renesas,groups = "intc_irq0";
222 renesas,function = "intc";
223 };
224
Wolfram Sang7c055892014-09-16 18:10:37 +0200225 scifa1_pins: serial1 {
226 renesas,groups = "scifa1_data";
227 renesas,function = "scifa1";
Laurent Pinchart39fa5112013-12-11 15:13:47 +0100228 };
229
Kuninori Morimotoc6119942014-02-12 21:43:19 -0800230 sdhi0_pins: sd0 {
Rob Taylorb08eed02014-04-07 20:16:52 +0100231 renesas,groups = "sdhi0_data4", "sdhi0_ctrl";
Kuninori Morimotoc6119942014-02-12 21:43:19 -0800232 renesas,function = "sdhi0";
233 };
234
235 sdhi2_pins: sd2 {
Rob Taylorb08eed02014-04-07 20:16:52 +0100236 renesas,groups = "sdhi2_data4", "sdhi2_ctrl";
Kuninori Morimotoc6119942014-02-12 21:43:19 -0800237 renesas,function = "sdhi2";
238 };
239
Laurent Pinchart39fa5112013-12-11 15:13:47 +0100240 mmc1_pins: mmc1 {
241 renesas,groups = "mmc1_data8", "mmc1_ctrl";
242 renesas,function = "mmc1";
243 };
Geert Uytterhoeven9fe7c4f2014-02-10 11:47:30 +0100244
Geert Uytterhoevenfad6d452014-02-25 11:30:13 +0100245 qspi_pins: spi0 {
Geert Uytterhoeven9fe7c4f2014-02-10 11:47:30 +0100246 renesas,groups = "qspi_ctrl", "qspi_data4";
247 renesas,function = "qspi";
248 };
Geert Uytterhoevenb0403b92014-02-25 11:30:17 +0100249
250 msiof1_pins: spi2 {
251 renesas,groups = "msiof1_clk", "msiof1_sync", "msiof1_rx",
252 "msiof1_tx";
253 renesas,function = "msiof1";
254 };
Benoit Cousson05f72e02014-06-03 21:02:12 +0900255
Wolfram Sangcb9a2b12014-07-10 12:50:56 +0200256 iic1_pins: iic1 {
257 renesas,groups = "iic1";
258 renesas,function = "iic1";
Simon Hormand90bf602014-06-06 16:11:00 +0900259 };
260
Wolfram Sangcb9a2b12014-07-10 12:50:56 +0200261 iic2_pins: iic2 {
262 renesas,groups = "iic2";
263 renesas,function = "iic2";
Simon Hormand90bf602014-06-06 16:11:00 +0900264 };
265
Khiem Nguyen5179ffd2014-07-04 09:19:51 +0900266 iic3_pins: iic3 {
267 renesas,groups = "iic3";
268 renesas,function = "iic3";
Benoit Cousson05f72e02014-06-03 21:02:12 +0900269 };
Ben Dooksd8584662014-06-24 22:02:21 +0400270
271 usb0_pins: usb0 {
272 renesas,groups = "usb0";
273 renesas,function = "usb0";
274 };
275
276 usb1_pins: usb1 {
277 renesas,groups = "usb1";
278 renesas,function = "usb1";
279 };
280
281 usb2_pins: usb2 {
282 renesas,groups = "usb2";
283 renesas,function = "usb2";
284 };
Ben Dooksd594c972014-08-13 00:18:26 +0400285
286 vin1_pins: vin {
287 renesas,groups = "vin1_data8", "vin1_clk";
288 renesas,function = "vin1";
289 };
Laurent Pinchart39fa5112013-12-11 15:13:47 +0100290};
291
Sergei Shtylyovda4ea952014-02-20 02:22:31 +0300292&ether {
293 pinctrl-0 = <&ether_pins &phy1_pins>;
294 pinctrl-names = "default";
295
296 phy-handle = <&phy1>;
297 renesas,ether-link-active-low;
298 status = "ok";
299
300 phy1: ethernet-phy@1 {
301 reg = <1>;
302 interrupt-parent = <&irqc0>;
303 interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
Simon Horman1c47a6a2014-04-08 09:21:35 +0900304 micrel,led-mode = <1>;
Sergei Shtylyovda4ea952014-02-20 02:22:31 +0300305 };
306};
307
Laurent Pinchart247fd5e2014-07-09 15:12:41 +0200308&cmt0 {
309 status = "ok";
310};
311
Laurent Pinchart39fa5112013-12-11 15:13:47 +0100312&mmcif1 {
313 pinctrl-0 = <&mmc1_pins>;
314 pinctrl-names = "default";
315
316 vmmc-supply = <&fixedregulator3v3>;
317 bus-width = <8>;
318 non-removable;
319 status = "okay";
Magnus Damm3cc828f2013-03-29 17:49:37 +0900320};
Valentine Barshakc6181b92014-01-14 21:05:31 +0400321
322&sata1 {
323 status = "okay";
324};
Geert Uytterhoeven9fe7c4f2014-02-10 11:47:30 +0100325
Geert Uytterhoevenfad6d452014-02-25 11:30:13 +0100326&qspi {
Geert Uytterhoeven9fe7c4f2014-02-10 11:47:30 +0100327 pinctrl-0 = <&qspi_pins>;
328 pinctrl-names = "default";
329
330 status = "okay";
331
332 flash: flash@0 {
333 #address-cells = <1>;
334 #size-cells = <1>;
335 compatible = "spansion,s25fl512s";
336 reg = <0>;
337 spi-max-frequency = <30000000>;
Geert Uytterhoeven9909d2c2014-04-14 19:36:00 +0200338 spi-tx-bus-width = <4>;
339 spi-rx-bus-width = <4>;
Geert Uytterhoeven9fe7c4f2014-02-10 11:47:30 +0100340 m25p,fast-read;
341
342 partition@0 {
343 label = "loader";
344 reg = <0x00000000 0x00040000>;
345 read-only;
346 };
347 partition@40000 {
348 label = "user";
349 reg = <0x00040000 0x00400000>;
350 read-only;
351 };
352 partition@440000 {
353 label = "flash";
354 reg = <0x00440000 0x03bc0000>;
355 };
356 };
357};
Kuninori Morimotoc6119942014-02-12 21:43:19 -0800358
Wolfram Sang7c055892014-09-16 18:10:37 +0200359&scifa0 {
360 pinctrl-0 = <&scifa0_pins>;
Laurent Pinchart4e9c4872014-04-30 02:31:45 +0200361 pinctrl-names = "default";
362
363 status = "okay";
364};
365
Wolfram Sang7c055892014-09-16 18:10:37 +0200366&scifa1 {
367 pinctrl-0 = <&scifa1_pins>;
Laurent Pinchart4e9c4872014-04-30 02:31:45 +0200368 pinctrl-names = "default";
369
370 status = "okay";
371};
372
Geert Uytterhoevenb0403b92014-02-25 11:30:17 +0100373&msiof1 {
374 pinctrl-0 = <&msiof1_pins>;
375 pinctrl-names = "default";
376
377 status = "okay";
378
379 pmic: pmic@0 {
380 compatible = "renesas,r2a11302ft";
381 reg = <0>;
382 spi-max-frequency = <6000000>;
383 spi-cpol;
384 spi-cpha;
385 };
Geert Uytterhoevenb0403b92014-02-25 11:30:17 +0100386};
387
Kuninori Morimotoc6119942014-02-12 21:43:19 -0800388&sdhi0 {
389 pinctrl-0 = <&sdhi0_pins>;
390 pinctrl-names = "default";
391
392 vmmc-supply = <&vcc_sdhi0>;
393 vqmmc-supply = <&vccq_sdhi0>;
394 cd-gpios = <&gpio3 6 GPIO_ACTIVE_LOW>;
395 status = "okay";
396};
397
398&sdhi2 {
399 pinctrl-0 = <&sdhi2_pins>;
400 pinctrl-names = "default";
401
402 vmmc-supply = <&vcc_sdhi2>;
403 vqmmc-supply = <&vccq_sdhi2>;
404 cd-gpios = <&gpio3 22 GPIO_ACTIVE_LOW>;
405 status = "okay";
406};
Benoit Cousson05f72e02014-06-03 21:02:12 +0900407
Benoit Coussonb989e132014-06-03 21:02:24 +0900408&cpu0 {
409 cpu0-supply = <&vdd_dvfs>;
410};
Ben Dookse489c2a2014-02-12 17:04:33 +0000411
Wolfram Sangcb9a2b12014-07-10 12:50:56 +0200412&iic0 {
Ben Dookse489c2a2014-02-12 17:04:33 +0000413 status = "ok";
414};
415
Wolfram Sangcb9a2b12014-07-10 12:50:56 +0200416&iic1 {
Ben Dookse489c2a2014-02-12 17:04:33 +0000417 status = "ok";
Wolfram Sangcb9a2b12014-07-10 12:50:56 +0200418 pinctrl-0 = <&iic1_pins>;
Ben Dookse1a2c4e2014-02-12 17:04:34 +0000419 pinctrl-names = "default";
Ben Dookse489c2a2014-02-12 17:04:33 +0000420};
421
Wolfram Sangcb9a2b12014-07-10 12:50:56 +0200422&iic2 {
Ben Dookse489c2a2014-02-12 17:04:33 +0000423 status = "ok";
Wolfram Sangcb9a2b12014-07-10 12:50:56 +0200424 pinctrl-0 = <&iic2_pins>;
Ben Dookse1a2c4e2014-02-12 17:04:34 +0000425 pinctrl-names = "default";
Ben Dooksd594c972014-08-13 00:18:26 +0400426
427 composite-in@20 {
428 compatible = "adi,adv7180";
429 reg = <0x20>;
430 remote = <&vin1>;
431
432 port {
433 adv7180: endpoint {
434 bus-width = <8>;
435 remote-endpoint = <&vin1ep0>;
436 };
437 };
438 };
Ben Dookse489c2a2014-02-12 17:04:33 +0000439};
440
Khiem Nguyen5179ffd2014-07-04 09:19:51 +0900441&iic3 {
Simon Hormanaca4ec42014-06-09 11:09:44 +0900442 pinctrl-names = "default";
Khiem Nguyen5179ffd2014-07-04 09:19:51 +0900443 pinctrl-0 = <&iic3_pins>;
Simon Hormanaca4ec42014-06-09 11:09:44 +0900444 status = "okay";
445
446 vdd_dvfs: regulator@68 {
Steve Twissbd597f42014-08-22 15:26:55 +0100447 compatible = "dlg,da9210";
Simon Hormanaca4ec42014-06-09 11:09:44 +0900448 reg = <0x68>;
449
450 regulator-min-microvolt = <1000000>;
451 regulator-max-microvolt = <1000000>;
452 regulator-boot-on;
453 regulator-always-on;
454 };
Ben Dookse489c2a2014-02-12 17:04:33 +0000455};
Ben Dooksd8584662014-06-24 22:02:21 +0400456
457&pci0 {
458 status = "okay";
459 pinctrl-0 = <&usb0_pins>;
460 pinctrl-names = "default";
461};
462
463&pci1 {
464 status = "okay";
465 pinctrl-0 = <&usb1_pins>;
466 pinctrl-names = "default";
467};
468
469&pci2 {
470 status = "okay";
471 pinctrl-0 = <&usb2_pins>;
472 pinctrl-names = "default";
473};
Ben Dooksd594c972014-08-13 00:18:26 +0400474
Sergei Shtylyov6742caf2014-09-27 01:01:35 +0400475&usbphy {
476 status = "okay";
477};
478
Ben Dooksd594c972014-08-13 00:18:26 +0400479/* composite video input */
480&vin1 {
481 pinctrl-0 = <&vin1_pins>;
482 pinctrl-names = "default";
483
484 status = "ok";
485
486 port {
487 #address-cells = <1>;
488 #size-cells = <0>;
489
490 vin1ep0: endpoint {
491 remote-endpoint = <&adv7180>;
492 bus-width = <8>;
493 };
494 };
495};