blob: 59e4251dc1af691caa278ee713fa250a22d68af7 [file] [log] [blame]
Hisashi Nakamura1f52c652013-09-04 12:46:49 +09001/*
2 * Device Tree Source for the Koelsch board
3 *
4 * Copyright (C) 2013 Renesas Electronics Corporation
Sergei Shtylyov08e8f0f2014-02-20 02:28:59 +03005 * Copyright (C) 2013-2014 Renesas Solutions Corp.
6 * Copyright (C) 2014 Cogent Embedded, Inc.
Hisashi Nakamura1f52c652013-09-04 12:46:49 +09007 *
8 * This file is licensed under the terms of the GNU General Public License
9 * version 2. This program is licensed "as is" without any warranty of any
10 * kind, whether express or implied.
11 */
12
13/dts-v1/;
Laurent Pinchart31c46cb2013-11-09 13:23:53 +010014#include "r8a7791.dtsi"
Laurent Pinchartf8e25352013-12-11 15:13:48 +010015#include <dt-bindings/gpio/gpio.h>
Magnus Damm7f168b12014-03-18 22:01:17 +090016#include <dt-bindings/input/input.h>
Hisashi Nakamura1f52c652013-09-04 12:46:49 +090017
18/ {
19 model = "Koelsch";
20 compatible = "renesas,koelsch", "renesas,r8a7791";
21
Laurent Pinchart5ba55fa2014-04-30 02:31:46 +020022 aliases {
23 serial6 = &scif0;
24 serial7 = &scif1;
25 };
26
Hisashi Nakamura1f52c652013-09-04 12:46:49 +090027 chosen {
28 bootargs = "console=ttySC6,115200 ignore_loglevel rw root=/dev/nfs ip=dhcp";
Geert Uytterhoeven17323b32014-10-03 17:11:42 +020029 stdout-path = &scif0;
Hisashi Nakamura1f52c652013-09-04 12:46:49 +090030 };
31
32 memory@40000000 {
33 device_type = "memory";
Takashi Yoshii4cd1bad2013-12-22 18:27:23 +090034 reg = <0 0x40000000 0 0x40000000>;
35 };
36
37 memory@200000000 {
38 device_type = "memory";
39 reg = <2 0x00000000 0 0x40000000>;
Hisashi Nakamura1f52c652013-09-04 12:46:49 +090040 };
41
42 lbsc {
43 #address-cells = <1>;
44 #size-cells = <1>;
45 };
Laurent Pinchartf8e25352013-12-11 15:13:48 +010046
Laurent Pinchartaff52742013-12-19 16:28:42 +010047 gpio-keys {
48 compatible = "gpio-keys";
49
Magnus Damm7f168b12014-03-18 22:01:17 +090050 key-1 {
51 gpios = <&gpio5 0 GPIO_ACTIVE_LOW>;
52 linux,code = <KEY_1>;
53 label = "SW2-1";
54 gpio-key,wakeup;
55 debounce-interval = <20>;
56 };
57 key-2 {
58 gpios = <&gpio5 1 GPIO_ACTIVE_LOW>;
59 linux,code = <KEY_2>;
60 label = "SW2-2";
61 gpio-key,wakeup;
62 debounce-interval = <20>;
63 };
64 key-3 {
65 gpios = <&gpio5 2 GPIO_ACTIVE_LOW>;
66 linux,code = <KEY_3>;
67 label = "SW2-3";
68 gpio-key,wakeup;
69 debounce-interval = <20>;
70 };
71 key-4 {
72 gpios = <&gpio5 3 GPIO_ACTIVE_LOW>;
73 linux,code = <KEY_4>;
74 label = "SW2-4";
75 gpio-key,wakeup;
76 debounce-interval = <20>;
77 };
Laurent Pinchartaff52742013-12-19 16:28:42 +010078 key-a {
79 gpios = <&gpio7 0 GPIO_ACTIVE_LOW>;
Magnus Damm7f168b12014-03-18 22:01:17 +090080 linux,code = <KEY_A>;
Laurent Pinchartaff52742013-12-19 16:28:42 +010081 label = "SW30";
82 gpio-key,wakeup;
83 debounce-interval = <20>;
84 };
85 key-b {
86 gpios = <&gpio7 1 GPIO_ACTIVE_LOW>;
Magnus Damm7f168b12014-03-18 22:01:17 +090087 linux,code = <KEY_B>;
Laurent Pinchartaff52742013-12-19 16:28:42 +010088 label = "SW31";
89 gpio-key,wakeup;
90 debounce-interval = <20>;
91 };
92 key-c {
93 gpios = <&gpio7 2 GPIO_ACTIVE_LOW>;
Magnus Damm7f168b12014-03-18 22:01:17 +090094 linux,code = <KEY_C>;
Laurent Pinchartaff52742013-12-19 16:28:42 +010095 label = "SW32";
96 gpio-key,wakeup;
97 debounce-interval = <20>;
98 };
99 key-d {
100 gpios = <&gpio7 3 GPIO_ACTIVE_LOW>;
Magnus Damm7f168b12014-03-18 22:01:17 +0900101 linux,code = <KEY_D>;
Laurent Pinchartaff52742013-12-19 16:28:42 +0100102 label = "SW33";
103 gpio-key,wakeup;
104 debounce-interval = <20>;
105 };
106 key-e {
107 gpios = <&gpio7 4 GPIO_ACTIVE_LOW>;
Magnus Damm7f168b12014-03-18 22:01:17 +0900108 linux,code = <KEY_E>;
Laurent Pinchartaff52742013-12-19 16:28:42 +0100109 label = "SW34";
110 gpio-key,wakeup;
111 debounce-interval = <20>;
112 };
113 key-f {
114 gpios = <&gpio7 5 GPIO_ACTIVE_LOW>;
Magnus Damm7f168b12014-03-18 22:01:17 +0900115 linux,code = <KEY_F>;
Laurent Pinchartaff52742013-12-19 16:28:42 +0100116 label = "SW35";
117 gpio-key,wakeup;
118 debounce-interval = <20>;
119 };
120 key-g {
121 gpios = <&gpio7 6 GPIO_ACTIVE_LOW>;
Magnus Damm7f168b12014-03-18 22:01:17 +0900122 linux,code = <KEY_G>;
Laurent Pinchartaff52742013-12-19 16:28:42 +0100123 label = "SW36";
124 gpio-key,wakeup;
125 debounce-interval = <20>;
126 };
127 };
128
Laurent Pinchartf8e25352013-12-11 15:13:48 +0100129 leds {
130 compatible = "gpio-leds";
131 led6 {
132 gpios = <&gpio2 19 GPIO_ACTIVE_HIGH>;
133 };
134 led7 {
135 gpios = <&gpio2 20 GPIO_ACTIVE_HIGH>;
136 };
137 led8 {
138 gpios = <&gpio2 21 GPIO_ACTIVE_HIGH>;
139 };
140 };
Magnus Damm2c60a7d2014-02-12 18:54:04 +0900141
142 vcc_sdhi0: regulator@0 {
143 compatible = "regulator-fixed";
144
145 regulator-name = "SDHI0 Vcc";
146 regulator-min-microvolt = <3300000>;
147 regulator-max-microvolt = <3300000>;
148
149 gpio = <&gpio7 17 GPIO_ACTIVE_HIGH>;
150 enable-active-high;
151 };
152
153 vccq_sdhi0: regulator@1 {
154 compatible = "regulator-gpio";
155
156 regulator-name = "SDHI0 VccQ";
157 regulator-min-microvolt = <1800000>;
158 regulator-max-microvolt = <3300000>;
159
160 gpios = <&gpio2 12 GPIO_ACTIVE_HIGH>;
161 gpios-states = <1>;
162 states = <3300000 1
163 1800000 0>;
164 };
165
166 vcc_sdhi1: regulator@2 {
167 compatible = "regulator-fixed";
168
169 regulator-name = "SDHI1 Vcc";
170 regulator-min-microvolt = <3300000>;
171 regulator-max-microvolt = <3300000>;
172
173 gpio = <&gpio7 18 GPIO_ACTIVE_HIGH>;
174 enable-active-high;
175 };
176
177 vccq_sdhi1: regulator@3 {
178 compatible = "regulator-gpio";
179
180 regulator-name = "SDHI1 VccQ";
181 regulator-min-microvolt = <1800000>;
182 regulator-max-microvolt = <3300000>;
183
184 gpios = <&gpio2 13 GPIO_ACTIVE_HIGH>;
185 gpios-states = <1>;
186 states = <3300000 1
187 1800000 0>;
188 };
189
190 vcc_sdhi2: regulator@4 {
191 compatible = "regulator-fixed";
192
193 regulator-name = "SDHI2 Vcc";
194 regulator-min-microvolt = <3300000>;
195 regulator-max-microvolt = <3300000>;
196
197 gpio = <&gpio7 19 GPIO_ACTIVE_HIGH>;
198 enable-active-high;
199 };
200
201 vccq_sdhi2: regulator@5 {
202 compatible = "regulator-gpio";
203
204 regulator-name = "SDHI2 VccQ";
205 regulator-min-microvolt = <1800000>;
206 regulator-max-microvolt = <3300000>;
207
208 gpios = <&gpio2 26 GPIO_ACTIVE_HIGH>;
209 gpios-states = <1>;
210 states = <3300000 1
211 1800000 0>;
212 };
Laurent Pinchartf8e25352013-12-11 15:13:48 +0100213};
214
Laurent Pinchart0ee56d42014-01-21 16:02:54 +0100215&du {
216 pinctrl-0 = <&du_pins>;
217 pinctrl-names = "default";
218 status = "okay";
219
220 ports {
221 port@1 {
222 lvds_connector: endpoint {
223 };
224 };
225 };
226};
227
Laurent Pinchartfcf0c722013-12-11 15:13:50 +0100228&extal_clk {
229 clock-frequency = <20000000>;
230};
231
Laurent Pinchartf8e25352013-12-11 15:13:48 +0100232&pfc {
Wolfram Sange6a4c002014-03-10 12:26:59 +0100233 i2c2_pins: i2c2 {
Wolfram Sang38c53512014-02-17 11:44:42 +0100234 renesas,groups = "i2c2";
235 renesas,function = "i2c2";
236 };
237
Laurent Pinchartafba9412014-02-16 22:32:01 +0100238 du_pins: du {
239 renesas,groups = "du_rgb666", "du_sync", "du_clk_out_0";
240 renesas,function = "du";
241 };
242
Laurent Pinchartf8e25352013-12-11 15:13:48 +0100243 scif0_pins: serial0 {
244 renesas,groups = "scif0_data_d";
245 renesas,function = "scif0";
246 };
247
248 scif1_pins: serial1 {
249 renesas,groups = "scif1_data_d";
250 renesas,function = "scif1";
251 };
Geert Uytterhoevene02ee512014-02-04 16:24:04 +0100252
Sergei Shtylyov08e8f0f2014-02-20 02:28:59 +0300253 ether_pins: ether {
254 renesas,groups = "eth_link", "eth_mdio", "eth_rmii";
255 renesas,function = "eth";
256 };
257
258 phy1_pins: phy1 {
259 renesas,groups = "intc_irq0";
260 renesas,function = "intc";
261 };
262
Magnus Damm2c60a7d2014-02-12 18:54:04 +0900263 sdhi0_pins: sd0 {
Magnus Dammd5dda032014-04-14 19:13:21 +0900264 renesas,groups = "sdhi0_data4", "sdhi0_ctrl";
Magnus Damm2c60a7d2014-02-12 18:54:04 +0900265 renesas,function = "sdhi0";
266 };
267
268 sdhi1_pins: sd1 {
Magnus Dammd5dda032014-04-14 19:13:21 +0900269 renesas,groups = "sdhi1_data4", "sdhi1_ctrl";
Magnus Damm2c60a7d2014-02-12 18:54:04 +0900270 renesas,function = "sdhi1";
271 };
272
273 sdhi2_pins: sd2 {
Magnus Dammd5dda032014-04-14 19:13:21 +0900274 renesas,groups = "sdhi2_data4", "sdhi2_ctrl";
Magnus Damm2c60a7d2014-02-12 18:54:04 +0900275 renesas,function = "sdhi2";
276 };
277
Geert Uytterhoeven6f3e4ee2014-02-25 11:30:14 +0100278 qspi_pins: spi0 {
Geert Uytterhoevene02ee512014-02-04 16:24:04 +0100279 renesas,groups = "qspi_ctrl", "qspi_data4";
280 renesas,function = "qspi";
281 };
Geert Uytterhoevenb16f05a2014-02-25 11:30:18 +0100282
283 msiof0_pins: spi1 {
284 renesas,groups = "msiof0_clk", "msiof0_sync", "msiof0_rx",
285 "msiof0_tx";
286 renesas,function = "msiof0";
287 };
Gaku Inami1d41f362014-06-03 21:02:59 +0900288
Sergei Shtylyov7540aeb2014-06-24 22:11:44 +0400289 usb0_pins: usb0 {
290 renesas,groups = "usb0";
291 renesas,function = "usb0";
292 };
293
294 usb1_pins: usb1 {
295 renesas,groups = "usb1";
296 renesas,function = "usb1";
297 };
sergei.shtylyov@cogentembedded.com2cf08812014-08-06 22:38:22 +0400298
299 vin1_pins: vin1 {
300 renesas,groups = "vin1_data8", "vin1_clk";
301 renesas,function = "vin1";
302 };
Hisashi Nakamura1f52c652013-09-04 12:46:49 +0900303};
Valentine Barshak760c2772014-01-14 21:05:41 +0400304
Sergei Shtylyov08e8f0f2014-02-20 02:28:59 +0300305&ether {
306 pinctrl-0 = <&ether_pins &phy1_pins>;
307 pinctrl-names = "default";
308
309 phy-handle = <&phy1>;
310 renesas,ether-link-active-low;
311 status = "ok";
312
313 phy1: ethernet-phy@1 {
314 reg = <1>;
315 interrupt-parent = <&irqc0>;
316 interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
Laurent Pinchart19f647c2014-03-18 19:04:48 +0100317 micrel,led-mode = <1>;
Sergei Shtylyov08e8f0f2014-02-20 02:28:59 +0300318 };
319};
320
Laurent Pinchart6a1d9462014-07-09 15:12:42 +0200321&cmt0 {
322 status = "ok";
323};
324
Valentine Barshak760c2772014-01-14 21:05:41 +0400325&sata0 {
326 status = "okay";
327};
Geert Uytterhoevene02ee512014-02-04 16:24:04 +0100328
Laurent Pinchart5ba55fa2014-04-30 02:31:46 +0200329&scif0 {
330 pinctrl-0 = <&scif0_pins>;
331 pinctrl-names = "default";
332
333 status = "okay";
334};
335
336&scif1 {
337 pinctrl-0 = <&scif1_pins>;
338 pinctrl-names = "default";
339
340 status = "okay";
341};
342
Magnus Damm2c60a7d2014-02-12 18:54:04 +0900343&sdhi0 {
344 pinctrl-0 = <&sdhi0_pins>;
345 pinctrl-names = "default";
346
347 vmmc-supply = <&vcc_sdhi0>;
348 vqmmc-supply = <&vccq_sdhi0>;
349 cd-gpios = <&gpio6 6 GPIO_ACTIVE_LOW>;
350 wp-gpios = <&gpio6 7 GPIO_ACTIVE_HIGH>;
351 status = "okay";
352};
353
354&sdhi1 {
355 pinctrl-0 = <&sdhi1_pins>;
356 pinctrl-names = "default";
357
358 vmmc-supply = <&vcc_sdhi1>;
359 vqmmc-supply = <&vccq_sdhi1>;
360 cd-gpios = <&gpio6 14 GPIO_ACTIVE_LOW>;
361 wp-gpios = <&gpio6 15 GPIO_ACTIVE_HIGH>;
362 status = "okay";
363};
364
365&sdhi2 {
366 pinctrl-0 = <&sdhi2_pins>;
367 pinctrl-names = "default";
368
369 vmmc-supply = <&vcc_sdhi2>;
370 vqmmc-supply = <&vccq_sdhi2>;
371 cd-gpios = <&gpio6 22 GPIO_ACTIVE_LOW>;
372 status = "okay";
373};
374
Geert Uytterhoeven6f3e4ee2014-02-25 11:30:14 +0100375&qspi {
Geert Uytterhoevene02ee512014-02-04 16:24:04 +0100376 pinctrl-0 = <&qspi_pins>;
377 pinctrl-names = "default";
378
379 status = "okay";
380
381 flash: flash@0 {
382 #address-cells = <1>;
383 #size-cells = <1>;
384 compatible = "spansion,s25fl512s";
385 reg = <0>;
386 spi-max-frequency = <30000000>;
Geert Uytterhoevened560832014-04-14 19:35:58 +0200387 spi-tx-bus-width = <4>;
388 spi-rx-bus-width = <4>;
Geert Uytterhoevene02ee512014-02-04 16:24:04 +0100389 m25p,fast-read;
390
391 partition@0 {
392 label = "loader";
393 reg = <0x00000000 0x00080000>;
394 read-only;
395 };
396 partition@80000 {
397 label = "bootenv";
398 reg = <0x00080000 0x00080000>;
399 read-only;
400 };
401 partition@100000 {
402 label = "data";
403 reg = <0x00100000 0x03f00000>;
404 };
405 };
406};
Geert Uytterhoevenb16f05a2014-02-25 11:30:18 +0100407
408&msiof0 {
409 pinctrl-0 = <&msiof0_pins>;
410 pinctrl-names = "default";
411
412 status = "okay";
413
414 pmic: pmic@0 {
415 compatible = "renesas,r2a11302ft";
416 reg = <0>;
417 spi-max-frequency = <6000000>;
418 spi-cpol;
419 spi-cpha;
420 };
421};
Gaku Inami1d41f362014-06-03 21:02:59 +0900422
Simon Horman897dfdb2014-06-09 17:50:28 +0900423&i2c2 {
424 pinctrl-0 = <&i2c2_pins>;
425 pinctrl-names = "default";
426
427 status = "okay";
Kuninori Morimotoa8d943e2014-11-03 17:48:49 -0800428 clock-frequency = <100000>;
Simon Horman897dfdb2014-06-09 17:50:28 +0900429
sergei.shtylyov@cogentembedded.com2cf08812014-08-06 22:38:22 +0400430 composite-in@20 {
431 compatible = "adi,adv7180";
432 reg = <0x20>;
433 remote = <&vin1>;
434
435 port {
436 adv7180: endpoint {
437 bus-width = <8>;
438 remote-endpoint = <&vin1ep>;
439 };
440 };
441 };
442
Simon Horman897dfdb2014-06-09 17:50:28 +0900443 eeprom@50 {
444 compatible = "renesas,24c02";
445 reg = <0x50>;
446 pagesize = <16>;
447 };
448};
449
Gaku Inami1d41f362014-06-03 21:02:59 +0900450&i2c6 {
Gaku Inami1d41f362014-06-03 21:02:59 +0900451 status = "okay";
Simon Horman897dfdb2014-06-09 17:50:28 +0900452 clock-frequency = <100000>;
Gaku Inami1d41f362014-06-03 21:02:59 +0900453
454 vdd_dvfs: regulator@68 {
Steve Twissbd597f42014-08-22 15:26:55 +0100455 compatible = "dlg,da9210";
Gaku Inami1d41f362014-06-03 21:02:59 +0900456 reg = <0x68>;
457
458 regulator-min-microvolt = <1000000>;
459 regulator-max-microvolt = <1000000>;
460 regulator-boot-on;
461 regulator-always-on;
462 };
463};
Gaku Inamia57004ec2014-06-03 21:03:10 +0900464
Sergei Shtylyov7540aeb2014-06-24 22:11:44 +0400465&pci0 {
466 status = "okay";
467 pinctrl-0 = <&usb0_pins>;
468 pinctrl-names = "default";
469};
470
471&pci1 {
472 status = "okay";
473 pinctrl-0 = <&usb1_pins>;
474 pinctrl-names = "default";
475};
476
Yoshihiro Shimodafc4a00b2014-10-24 19:45:07 +0900477&hsusb {
478 status = "okay";
479 pinctrl-0 = <&usb0_pins>;
480 pinctrl-names = "default";
481 renesas,enable-gpio = <&gpio5 31 GPIO_ACTIVE_HIGH>;
482};
483
Sergei Shtylyovdc80d8b2014-09-27 01:09:22 +0400484&usbphy {
485 status = "okay";
486};
487
Phil Edworthy998d7d62014-06-13 10:37:21 +0100488&pcie_bus_clk {
489 status = "okay";
490};
491
492&pciec {
493 status = "okay";
494};
495
Gaku Inamia57004ec2014-06-03 21:03:10 +0900496&cpu0 {
497 cpu0-supply = <&vdd_dvfs>;
498};
sergei.shtylyov@cogentembedded.com2cf08812014-08-06 22:38:22 +0400499
500/* composite video input */
501&vin1 {
502 status = "ok";
503 pinctrl-0 = <&vin1_pins>;
504 pinctrl-names = "default";
505
506 port {
507 #address-cells = <1>;
508 #size-cells = <0>;
509
510 vin1ep: endpoint {
511 remote-endpoint = <&adv7180>;
512 bus-width = <8>;
513 };
514 };
515};