blob: 07550e775e8047111e2f280ef8d94da993970ebb [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";
29 };
30
31 memory@40000000 {
32 device_type = "memory";
Takashi Yoshii4cd1bad2013-12-22 18:27:23 +090033 reg = <0 0x40000000 0 0x40000000>;
34 };
35
36 memory@200000000 {
37 device_type = "memory";
38 reg = <2 0x00000000 0 0x40000000>;
Hisashi Nakamura1f52c652013-09-04 12:46:49 +090039 };
40
41 lbsc {
42 #address-cells = <1>;
43 #size-cells = <1>;
44 };
Laurent Pinchartf8e25352013-12-11 15:13:48 +010045
Laurent Pinchartaff52742013-12-19 16:28:42 +010046 gpio-keys {
47 compatible = "gpio-keys";
48
Magnus Damm7f168b12014-03-18 22:01:17 +090049 key-1 {
50 gpios = <&gpio5 0 GPIO_ACTIVE_LOW>;
51 linux,code = <KEY_1>;
52 label = "SW2-1";
53 gpio-key,wakeup;
54 debounce-interval = <20>;
55 };
56 key-2 {
57 gpios = <&gpio5 1 GPIO_ACTIVE_LOW>;
58 linux,code = <KEY_2>;
59 label = "SW2-2";
60 gpio-key,wakeup;
61 debounce-interval = <20>;
62 };
63 key-3 {
64 gpios = <&gpio5 2 GPIO_ACTIVE_LOW>;
65 linux,code = <KEY_3>;
66 label = "SW2-3";
67 gpio-key,wakeup;
68 debounce-interval = <20>;
69 };
70 key-4 {
71 gpios = <&gpio5 3 GPIO_ACTIVE_LOW>;
72 linux,code = <KEY_4>;
73 label = "SW2-4";
74 gpio-key,wakeup;
75 debounce-interval = <20>;
76 };
Laurent Pinchartaff52742013-12-19 16:28:42 +010077 key-a {
78 gpios = <&gpio7 0 GPIO_ACTIVE_LOW>;
Magnus Damm7f168b12014-03-18 22:01:17 +090079 linux,code = <KEY_A>;
Laurent Pinchartaff52742013-12-19 16:28:42 +010080 label = "SW30";
81 gpio-key,wakeup;
82 debounce-interval = <20>;
83 };
84 key-b {
85 gpios = <&gpio7 1 GPIO_ACTIVE_LOW>;
Magnus Damm7f168b12014-03-18 22:01:17 +090086 linux,code = <KEY_B>;
Laurent Pinchartaff52742013-12-19 16:28:42 +010087 label = "SW31";
88 gpio-key,wakeup;
89 debounce-interval = <20>;
90 };
91 key-c {
92 gpios = <&gpio7 2 GPIO_ACTIVE_LOW>;
Magnus Damm7f168b12014-03-18 22:01:17 +090093 linux,code = <KEY_C>;
Laurent Pinchartaff52742013-12-19 16:28:42 +010094 label = "SW32";
95 gpio-key,wakeup;
96 debounce-interval = <20>;
97 };
98 key-d {
99 gpios = <&gpio7 3 GPIO_ACTIVE_LOW>;
Magnus Damm7f168b12014-03-18 22:01:17 +0900100 linux,code = <KEY_D>;
Laurent Pinchartaff52742013-12-19 16:28:42 +0100101 label = "SW33";
102 gpio-key,wakeup;
103 debounce-interval = <20>;
104 };
105 key-e {
106 gpios = <&gpio7 4 GPIO_ACTIVE_LOW>;
Magnus Damm7f168b12014-03-18 22:01:17 +0900107 linux,code = <KEY_E>;
Laurent Pinchartaff52742013-12-19 16:28:42 +0100108 label = "SW34";
109 gpio-key,wakeup;
110 debounce-interval = <20>;
111 };
112 key-f {
113 gpios = <&gpio7 5 GPIO_ACTIVE_LOW>;
Magnus Damm7f168b12014-03-18 22:01:17 +0900114 linux,code = <KEY_F>;
Laurent Pinchartaff52742013-12-19 16:28:42 +0100115 label = "SW35";
116 gpio-key,wakeup;
117 debounce-interval = <20>;
118 };
119 key-g {
120 gpios = <&gpio7 6 GPIO_ACTIVE_LOW>;
Magnus Damm7f168b12014-03-18 22:01:17 +0900121 linux,code = <KEY_G>;
Laurent Pinchartaff52742013-12-19 16:28:42 +0100122 label = "SW36";
123 gpio-key,wakeup;
124 debounce-interval = <20>;
125 };
126 };
127
Laurent Pinchartf8e25352013-12-11 15:13:48 +0100128 leds {
129 compatible = "gpio-leds";
130 led6 {
131 gpios = <&gpio2 19 GPIO_ACTIVE_HIGH>;
132 };
133 led7 {
134 gpios = <&gpio2 20 GPIO_ACTIVE_HIGH>;
135 };
136 led8 {
137 gpios = <&gpio2 21 GPIO_ACTIVE_HIGH>;
138 };
139 };
Magnus Damm2c60a7d2014-02-12 18:54:04 +0900140
141 vcc_sdhi0: regulator@0 {
142 compatible = "regulator-fixed";
143
144 regulator-name = "SDHI0 Vcc";
145 regulator-min-microvolt = <3300000>;
146 regulator-max-microvolt = <3300000>;
147
148 gpio = <&gpio7 17 GPIO_ACTIVE_HIGH>;
149 enable-active-high;
150 };
151
152 vccq_sdhi0: regulator@1 {
153 compatible = "regulator-gpio";
154
155 regulator-name = "SDHI0 VccQ";
156 regulator-min-microvolt = <1800000>;
157 regulator-max-microvolt = <3300000>;
158
159 gpios = <&gpio2 12 GPIO_ACTIVE_HIGH>;
160 gpios-states = <1>;
161 states = <3300000 1
162 1800000 0>;
163 };
164
165 vcc_sdhi1: regulator@2 {
166 compatible = "regulator-fixed";
167
168 regulator-name = "SDHI1 Vcc";
169 regulator-min-microvolt = <3300000>;
170 regulator-max-microvolt = <3300000>;
171
172 gpio = <&gpio7 18 GPIO_ACTIVE_HIGH>;
173 enable-active-high;
174 };
175
176 vccq_sdhi1: regulator@3 {
177 compatible = "regulator-gpio";
178
179 regulator-name = "SDHI1 VccQ";
180 regulator-min-microvolt = <1800000>;
181 regulator-max-microvolt = <3300000>;
182
183 gpios = <&gpio2 13 GPIO_ACTIVE_HIGH>;
184 gpios-states = <1>;
185 states = <3300000 1
186 1800000 0>;
187 };
188
189 vcc_sdhi2: regulator@4 {
190 compatible = "regulator-fixed";
191
192 regulator-name = "SDHI2 Vcc";
193 regulator-min-microvolt = <3300000>;
194 regulator-max-microvolt = <3300000>;
195
196 gpio = <&gpio7 19 GPIO_ACTIVE_HIGH>;
197 enable-active-high;
198 };
199
200 vccq_sdhi2: regulator@5 {
201 compatible = "regulator-gpio";
202
203 regulator-name = "SDHI2 VccQ";
204 regulator-min-microvolt = <1800000>;
205 regulator-max-microvolt = <3300000>;
206
207 gpios = <&gpio2 26 GPIO_ACTIVE_HIGH>;
208 gpios-states = <1>;
209 states = <3300000 1
210 1800000 0>;
211 };
Laurent Pinchartf8e25352013-12-11 15:13:48 +0100212};
213
Laurent Pinchartfcf0c722013-12-11 15:13:50 +0100214&extal_clk {
215 clock-frequency = <20000000>;
216};
217
Laurent Pinchartf8e25352013-12-11 15:13:48 +0100218&pfc {
Laurent Pinchart5ba55fa2014-04-30 02:31:46 +0200219 pinctrl-0 = <&du_pins>;
Laurent Pinchartf8e25352013-12-11 15:13:48 +0100220 pinctrl-names = "default";
221
Wolfram Sange6a4c002014-03-10 12:26:59 +0100222 i2c2_pins: i2c2 {
Wolfram Sang38c53512014-02-17 11:44:42 +0100223 renesas,groups = "i2c2";
224 renesas,function = "i2c2";
225 };
226
Laurent Pinchartafba9412014-02-16 22:32:01 +0100227 du_pins: du {
228 renesas,groups = "du_rgb666", "du_sync", "du_clk_out_0";
229 renesas,function = "du";
230 };
231
Laurent Pinchartf8e25352013-12-11 15:13:48 +0100232 scif0_pins: serial0 {
233 renesas,groups = "scif0_data_d";
234 renesas,function = "scif0";
235 };
236
237 scif1_pins: serial1 {
238 renesas,groups = "scif1_data_d";
239 renesas,function = "scif1";
240 };
Geert Uytterhoevene02ee512014-02-04 16:24:04 +0100241
Sergei Shtylyov08e8f0f2014-02-20 02:28:59 +0300242 ether_pins: ether {
243 renesas,groups = "eth_link", "eth_mdio", "eth_rmii";
244 renesas,function = "eth";
245 };
246
247 phy1_pins: phy1 {
248 renesas,groups = "intc_irq0";
249 renesas,function = "intc";
250 };
251
Magnus Damm2c60a7d2014-02-12 18:54:04 +0900252 sdhi0_pins: sd0 {
Magnus Dammd5dda032014-04-14 19:13:21 +0900253 renesas,groups = "sdhi0_data4", "sdhi0_ctrl";
Magnus Damm2c60a7d2014-02-12 18:54:04 +0900254 renesas,function = "sdhi0";
255 };
256
257 sdhi1_pins: sd1 {
Magnus Dammd5dda032014-04-14 19:13:21 +0900258 renesas,groups = "sdhi1_data4", "sdhi1_ctrl";
Magnus Damm2c60a7d2014-02-12 18:54:04 +0900259 renesas,function = "sdhi1";
260 };
261
262 sdhi2_pins: sd2 {
Magnus Dammd5dda032014-04-14 19:13:21 +0900263 renesas,groups = "sdhi2_data4", "sdhi2_ctrl";
Magnus Damm2c60a7d2014-02-12 18:54:04 +0900264 renesas,function = "sdhi2";
265 };
266
Geert Uytterhoeven6f3e4ee2014-02-25 11:30:14 +0100267 qspi_pins: spi0 {
Geert Uytterhoevene02ee512014-02-04 16:24:04 +0100268 renesas,groups = "qspi_ctrl", "qspi_data4";
269 renesas,function = "qspi";
270 };
Geert Uytterhoevenb16f05a2014-02-25 11:30:18 +0100271
272 msiof0_pins: spi1 {
273 renesas,groups = "msiof0_clk", "msiof0_sync", "msiof0_rx",
274 "msiof0_tx";
275 renesas,function = "msiof0";
276 };
Gaku Inami1d41f362014-06-03 21:02:59 +0900277
Sergei Shtylyov7540aeb2014-06-24 22:11:44 +0400278 usb0_pins: usb0 {
279 renesas,groups = "usb0";
280 renesas,function = "usb0";
281 };
282
283 usb1_pins: usb1 {
284 renesas,groups = "usb1";
285 renesas,function = "usb1";
286 };
sergei.shtylyov@cogentembedded.com2cf08812014-08-06 22:38:22 +0400287
288 vin1_pins: vin1 {
289 renesas,groups = "vin1_data8", "vin1_clk";
290 renesas,function = "vin1";
291 };
Hisashi Nakamura1f52c652013-09-04 12:46:49 +0900292};
Valentine Barshak760c2772014-01-14 21:05:41 +0400293
Sergei Shtylyov08e8f0f2014-02-20 02:28:59 +0300294&ether {
295 pinctrl-0 = <&ether_pins &phy1_pins>;
296 pinctrl-names = "default";
297
298 phy-handle = <&phy1>;
299 renesas,ether-link-active-low;
300 status = "ok";
301
302 phy1: ethernet-phy@1 {
303 reg = <1>;
304 interrupt-parent = <&irqc0>;
305 interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
Laurent Pinchart19f647c2014-03-18 19:04:48 +0100306 micrel,led-mode = <1>;
Sergei Shtylyov08e8f0f2014-02-20 02:28:59 +0300307 };
308};
309
Laurent Pinchart6a1d9462014-07-09 15:12:42 +0200310&cmt0 {
311 status = "ok";
312};
313
Valentine Barshak760c2772014-01-14 21:05:41 +0400314&sata0 {
315 status = "okay";
316};
Geert Uytterhoevene02ee512014-02-04 16:24:04 +0100317
Laurent Pinchart5ba55fa2014-04-30 02:31:46 +0200318&scif0 {
319 pinctrl-0 = <&scif0_pins>;
320 pinctrl-names = "default";
321
322 status = "okay";
323};
324
325&scif1 {
326 pinctrl-0 = <&scif1_pins>;
327 pinctrl-names = "default";
328
329 status = "okay";
330};
331
Magnus Damm2c60a7d2014-02-12 18:54:04 +0900332&sdhi0 {
333 pinctrl-0 = <&sdhi0_pins>;
334 pinctrl-names = "default";
335
336 vmmc-supply = <&vcc_sdhi0>;
337 vqmmc-supply = <&vccq_sdhi0>;
338 cd-gpios = <&gpio6 6 GPIO_ACTIVE_LOW>;
339 wp-gpios = <&gpio6 7 GPIO_ACTIVE_HIGH>;
340 status = "okay";
341};
342
343&sdhi1 {
344 pinctrl-0 = <&sdhi1_pins>;
345 pinctrl-names = "default";
346
347 vmmc-supply = <&vcc_sdhi1>;
348 vqmmc-supply = <&vccq_sdhi1>;
349 cd-gpios = <&gpio6 14 GPIO_ACTIVE_LOW>;
350 wp-gpios = <&gpio6 15 GPIO_ACTIVE_HIGH>;
351 status = "okay";
352};
353
354&sdhi2 {
355 pinctrl-0 = <&sdhi2_pins>;
356 pinctrl-names = "default";
357
358 vmmc-supply = <&vcc_sdhi2>;
359 vqmmc-supply = <&vccq_sdhi2>;
360 cd-gpios = <&gpio6 22 GPIO_ACTIVE_LOW>;
361 status = "okay";
362};
363
Geert Uytterhoeven6f3e4ee2014-02-25 11:30:14 +0100364&qspi {
Geert Uytterhoevene02ee512014-02-04 16:24:04 +0100365 pinctrl-0 = <&qspi_pins>;
366 pinctrl-names = "default";
367
368 status = "okay";
369
370 flash: flash@0 {
371 #address-cells = <1>;
372 #size-cells = <1>;
373 compatible = "spansion,s25fl512s";
374 reg = <0>;
375 spi-max-frequency = <30000000>;
Geert Uytterhoevened560832014-04-14 19:35:58 +0200376 spi-tx-bus-width = <4>;
377 spi-rx-bus-width = <4>;
Geert Uytterhoevene02ee512014-02-04 16:24:04 +0100378 m25p,fast-read;
379
380 partition@0 {
381 label = "loader";
382 reg = <0x00000000 0x00080000>;
383 read-only;
384 };
385 partition@80000 {
386 label = "bootenv";
387 reg = <0x00080000 0x00080000>;
388 read-only;
389 };
390 partition@100000 {
391 label = "data";
392 reg = <0x00100000 0x03f00000>;
393 };
394 };
395};
Geert Uytterhoevenb16f05a2014-02-25 11:30:18 +0100396
397&msiof0 {
398 pinctrl-0 = <&msiof0_pins>;
399 pinctrl-names = "default";
400
401 status = "okay";
402
403 pmic: pmic@0 {
404 compatible = "renesas,r2a11302ft";
405 reg = <0>;
406 spi-max-frequency = <6000000>;
407 spi-cpol;
408 spi-cpha;
409 };
410};
Gaku Inami1d41f362014-06-03 21:02:59 +0900411
Simon Horman897dfdb2014-06-09 17:50:28 +0900412&i2c2 {
413 pinctrl-0 = <&i2c2_pins>;
414 pinctrl-names = "default";
415
416 status = "okay";
417 clock-frequency = <400000>;
418
sergei.shtylyov@cogentembedded.com2cf08812014-08-06 22:38:22 +0400419 composite-in@20 {
420 compatible = "adi,adv7180";
421 reg = <0x20>;
422 remote = <&vin1>;
423
424 port {
425 adv7180: endpoint {
426 bus-width = <8>;
427 remote-endpoint = <&vin1ep>;
428 };
429 };
430 };
431
Simon Horman897dfdb2014-06-09 17:50:28 +0900432 eeprom@50 {
433 compatible = "renesas,24c02";
434 reg = <0x50>;
435 pagesize = <16>;
436 };
437};
438
Gaku Inami1d41f362014-06-03 21:02:59 +0900439&i2c6 {
Gaku Inami1d41f362014-06-03 21:02:59 +0900440 status = "okay";
Simon Horman897dfdb2014-06-09 17:50:28 +0900441 clock-frequency = <100000>;
Gaku Inami1d41f362014-06-03 21:02:59 +0900442
443 vdd_dvfs: regulator@68 {
Steve Twissbd597f42014-08-22 15:26:55 +0100444 compatible = "dlg,da9210";
Gaku Inami1d41f362014-06-03 21:02:59 +0900445 reg = <0x68>;
446
447 regulator-min-microvolt = <1000000>;
448 regulator-max-microvolt = <1000000>;
449 regulator-boot-on;
450 regulator-always-on;
451 };
452};
Gaku Inamia57004ec2014-06-03 21:03:10 +0900453
Sergei Shtylyov7540aeb2014-06-24 22:11:44 +0400454&pci0 {
455 status = "okay";
456 pinctrl-0 = <&usb0_pins>;
457 pinctrl-names = "default";
458};
459
460&pci1 {
461 status = "okay";
462 pinctrl-0 = <&usb1_pins>;
463 pinctrl-names = "default";
464};
465
Phil Edworthy998d7d62014-06-13 10:37:21 +0100466&pcie_bus_clk {
467 status = "okay";
468};
469
470&pciec {
471 status = "okay";
472};
473
Gaku Inamia57004ec2014-06-03 21:03:10 +0900474&cpu0 {
475 cpu0-supply = <&vdd_dvfs>;
476};
sergei.shtylyov@cogentembedded.com2cf08812014-08-06 22:38:22 +0400477
478/* composite video input */
479&vin1 {
480 status = "ok";
481 pinctrl-0 = <&vin1_pins>;
482 pinctrl-names = "default";
483
484 port {
485 #address-cells = <1>;
486 #size-cells = <0>;
487
488 vin1ep: endpoint {
489 remote-endpoint = <&adv7180>;
490 bus-width = <8>;
491 };
492 };
493};