blob: 4f4e56e5de3de4a12228f07dd7d467a0a9603888 [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 Pinchart0ee56d42014-01-21 16:02:54 +0100214&du {
215 pinctrl-0 = <&du_pins>;
216 pinctrl-names = "default";
217 status = "okay";
218
219 ports {
220 port@1 {
221 lvds_connector: endpoint {
222 };
223 };
224 };
225};
226
Laurent Pinchartfcf0c722013-12-11 15:13:50 +0100227&extal_clk {
228 clock-frequency = <20000000>;
229};
230
Laurent Pinchartf8e25352013-12-11 15:13:48 +0100231&pfc {
Wolfram Sange6a4c002014-03-10 12:26:59 +0100232 i2c2_pins: i2c2 {
Wolfram Sang38c53512014-02-17 11:44:42 +0100233 renesas,groups = "i2c2";
234 renesas,function = "i2c2";
235 };
236
Laurent Pinchartafba9412014-02-16 22:32:01 +0100237 du_pins: du {
238 renesas,groups = "du_rgb666", "du_sync", "du_clk_out_0";
239 renesas,function = "du";
240 };
241
Laurent Pinchartf8e25352013-12-11 15:13:48 +0100242 scif0_pins: serial0 {
243 renesas,groups = "scif0_data_d";
244 renesas,function = "scif0";
245 };
246
247 scif1_pins: serial1 {
248 renesas,groups = "scif1_data_d";
249 renesas,function = "scif1";
250 };
Geert Uytterhoevene02ee512014-02-04 16:24:04 +0100251
Sergei Shtylyov08e8f0f2014-02-20 02:28:59 +0300252 ether_pins: ether {
253 renesas,groups = "eth_link", "eth_mdio", "eth_rmii";
254 renesas,function = "eth";
255 };
256
257 phy1_pins: phy1 {
258 renesas,groups = "intc_irq0";
259 renesas,function = "intc";
260 };
261
Magnus Damm2c60a7d2014-02-12 18:54:04 +0900262 sdhi0_pins: sd0 {
Magnus Dammd5dda032014-04-14 19:13:21 +0900263 renesas,groups = "sdhi0_data4", "sdhi0_ctrl";
Magnus Damm2c60a7d2014-02-12 18:54:04 +0900264 renesas,function = "sdhi0";
265 };
266
267 sdhi1_pins: sd1 {
Magnus Dammd5dda032014-04-14 19:13:21 +0900268 renesas,groups = "sdhi1_data4", "sdhi1_ctrl";
Magnus Damm2c60a7d2014-02-12 18:54:04 +0900269 renesas,function = "sdhi1";
270 };
271
272 sdhi2_pins: sd2 {
Magnus Dammd5dda032014-04-14 19:13:21 +0900273 renesas,groups = "sdhi2_data4", "sdhi2_ctrl";
Magnus Damm2c60a7d2014-02-12 18:54:04 +0900274 renesas,function = "sdhi2";
275 };
276
Geert Uytterhoeven6f3e4ee2014-02-25 11:30:14 +0100277 qspi_pins: spi0 {
Geert Uytterhoevene02ee512014-02-04 16:24:04 +0100278 renesas,groups = "qspi_ctrl", "qspi_data4";
279 renesas,function = "qspi";
280 };
Geert Uytterhoevenb16f05a2014-02-25 11:30:18 +0100281
282 msiof0_pins: spi1 {
283 renesas,groups = "msiof0_clk", "msiof0_sync", "msiof0_rx",
284 "msiof0_tx";
285 renesas,function = "msiof0";
286 };
Gaku Inami1d41f362014-06-03 21:02:59 +0900287
Sergei Shtylyov7540aeb2014-06-24 22:11:44 +0400288 usb0_pins: usb0 {
289 renesas,groups = "usb0";
290 renesas,function = "usb0";
291 };
292
293 usb1_pins: usb1 {
294 renesas,groups = "usb1";
295 renesas,function = "usb1";
296 };
sergei.shtylyov@cogentembedded.com2cf08812014-08-06 22:38:22 +0400297
298 vin1_pins: vin1 {
299 renesas,groups = "vin1_data8", "vin1_clk";
300 renesas,function = "vin1";
301 };
Hisashi Nakamura1f52c652013-09-04 12:46:49 +0900302};
Valentine Barshak760c2772014-01-14 21:05:41 +0400303
Sergei Shtylyov08e8f0f2014-02-20 02:28:59 +0300304&ether {
305 pinctrl-0 = <&ether_pins &phy1_pins>;
306 pinctrl-names = "default";
307
308 phy-handle = <&phy1>;
309 renesas,ether-link-active-low;
310 status = "ok";
311
312 phy1: ethernet-phy@1 {
313 reg = <1>;
314 interrupt-parent = <&irqc0>;
315 interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
Laurent Pinchart19f647c2014-03-18 19:04:48 +0100316 micrel,led-mode = <1>;
Sergei Shtylyov08e8f0f2014-02-20 02:28:59 +0300317 };
318};
319
Laurent Pinchart6a1d9462014-07-09 15:12:42 +0200320&cmt0 {
321 status = "ok";
322};
323
Valentine Barshak760c2772014-01-14 21:05:41 +0400324&sata0 {
325 status = "okay";
326};
Geert Uytterhoevene02ee512014-02-04 16:24:04 +0100327
Laurent Pinchart5ba55fa2014-04-30 02:31:46 +0200328&scif0 {
329 pinctrl-0 = <&scif0_pins>;
330 pinctrl-names = "default";
331
332 status = "okay";
333};
334
335&scif1 {
336 pinctrl-0 = <&scif1_pins>;
337 pinctrl-names = "default";
338
339 status = "okay";
340};
341
Magnus Damm2c60a7d2014-02-12 18:54:04 +0900342&sdhi0 {
343 pinctrl-0 = <&sdhi0_pins>;
344 pinctrl-names = "default";
345
346 vmmc-supply = <&vcc_sdhi0>;
347 vqmmc-supply = <&vccq_sdhi0>;
348 cd-gpios = <&gpio6 6 GPIO_ACTIVE_LOW>;
349 wp-gpios = <&gpio6 7 GPIO_ACTIVE_HIGH>;
350 status = "okay";
351};
352
353&sdhi1 {
354 pinctrl-0 = <&sdhi1_pins>;
355 pinctrl-names = "default";
356
357 vmmc-supply = <&vcc_sdhi1>;
358 vqmmc-supply = <&vccq_sdhi1>;
359 cd-gpios = <&gpio6 14 GPIO_ACTIVE_LOW>;
360 wp-gpios = <&gpio6 15 GPIO_ACTIVE_HIGH>;
361 status = "okay";
362};
363
364&sdhi2 {
365 pinctrl-0 = <&sdhi2_pins>;
366 pinctrl-names = "default";
367
368 vmmc-supply = <&vcc_sdhi2>;
369 vqmmc-supply = <&vccq_sdhi2>;
370 cd-gpios = <&gpio6 22 GPIO_ACTIVE_LOW>;
371 status = "okay";
372};
373
Geert Uytterhoeven6f3e4ee2014-02-25 11:30:14 +0100374&qspi {
Geert Uytterhoevene02ee512014-02-04 16:24:04 +0100375 pinctrl-0 = <&qspi_pins>;
376 pinctrl-names = "default";
377
378 status = "okay";
379
380 flash: flash@0 {
381 #address-cells = <1>;
382 #size-cells = <1>;
383 compatible = "spansion,s25fl512s";
384 reg = <0>;
385 spi-max-frequency = <30000000>;
Geert Uytterhoevened560832014-04-14 19:35:58 +0200386 spi-tx-bus-width = <4>;
387 spi-rx-bus-width = <4>;
Geert Uytterhoevene02ee512014-02-04 16:24:04 +0100388 m25p,fast-read;
389
390 partition@0 {
391 label = "loader";
392 reg = <0x00000000 0x00080000>;
393 read-only;
394 };
395 partition@80000 {
396 label = "bootenv";
397 reg = <0x00080000 0x00080000>;
398 read-only;
399 };
400 partition@100000 {
401 label = "data";
402 reg = <0x00100000 0x03f00000>;
403 };
404 };
405};
Geert Uytterhoevenb16f05a2014-02-25 11:30:18 +0100406
407&msiof0 {
408 pinctrl-0 = <&msiof0_pins>;
409 pinctrl-names = "default";
410
411 status = "okay";
412
413 pmic: pmic@0 {
414 compatible = "renesas,r2a11302ft";
415 reg = <0>;
416 spi-max-frequency = <6000000>;
417 spi-cpol;
418 spi-cpha;
419 };
420};
Gaku Inami1d41f362014-06-03 21:02:59 +0900421
Simon Horman897dfdb2014-06-09 17:50:28 +0900422&i2c2 {
423 pinctrl-0 = <&i2c2_pins>;
424 pinctrl-names = "default";
425
426 status = "okay";
427 clock-frequency = <400000>;
428
sergei.shtylyov@cogentembedded.com2cf08812014-08-06 22:38:22 +0400429 composite-in@20 {
430 compatible = "adi,adv7180";
431 reg = <0x20>;
432 remote = <&vin1>;
433
434 port {
435 adv7180: endpoint {
436 bus-width = <8>;
437 remote-endpoint = <&vin1ep>;
438 };
439 };
440 };
441
Simon Horman897dfdb2014-06-09 17:50:28 +0900442 eeprom@50 {
443 compatible = "renesas,24c02";
444 reg = <0x50>;
445 pagesize = <16>;
446 };
447};
448
Gaku Inami1d41f362014-06-03 21:02:59 +0900449&i2c6 {
Gaku Inami1d41f362014-06-03 21:02:59 +0900450 status = "okay";
Simon Horman897dfdb2014-06-09 17:50:28 +0900451 clock-frequency = <100000>;
Gaku Inami1d41f362014-06-03 21:02:59 +0900452
453 vdd_dvfs: regulator@68 {
Steve Twissbd597f42014-08-22 15:26:55 +0100454 compatible = "dlg,da9210";
Gaku Inami1d41f362014-06-03 21:02:59 +0900455 reg = <0x68>;
456
457 regulator-min-microvolt = <1000000>;
458 regulator-max-microvolt = <1000000>;
459 regulator-boot-on;
460 regulator-always-on;
461 };
462};
Gaku Inamia57004ec2014-06-03 21:03:10 +0900463
Sergei Shtylyov7540aeb2014-06-24 22:11:44 +0400464&pci0 {
465 status = "okay";
466 pinctrl-0 = <&usb0_pins>;
467 pinctrl-names = "default";
468};
469
470&pci1 {
471 status = "okay";
472 pinctrl-0 = <&usb1_pins>;
473 pinctrl-names = "default";
474};
475
Phil Edworthy998d7d62014-06-13 10:37:21 +0100476&pcie_bus_clk {
477 status = "okay";
478};
479
480&pciec {
481 status = "okay";
482};
483
Gaku Inamia57004ec2014-06-03 21:03:10 +0900484&cpu0 {
485 cpu0-supply = <&vdd_dvfs>;
486};
sergei.shtylyov@cogentembedded.com2cf08812014-08-06 22:38:22 +0400487
488/* composite video input */
489&vin1 {
490 status = "ok";
491 pinctrl-0 = <&vin1_pins>;
492 pinctrl-names = "default";
493
494 port {
495 #address-cells = <1>;
496 #size-cells = <0>;
497
498 vin1ep: endpoint {
499 remote-endpoint = <&adv7180>;
500 bus-width = <8>;
501 };
502 };
503};