blob: f40321a1c917e7d1c7546176319541a0da37ba08 [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
Kuninori Morimotob160f612014-11-03 17:49:00 -080013/*
14 * SSI-AK4643
15 *
16 * SW1: 1: AK4643
17 * 2: CN22
18 * 3: ADV7511
19 *
20 * This command is required when Playback/Capture
21 *
22 * amixer set "LINEOUT Mixer DACL" on
Kuninori Morimoto5c6d4b92014-11-03 17:49:45 -080023 * amixer set "DVC Out" 100%
24 * amixer set "DVC In" 100%
25 *
26 * You can use Mute
27 *
28 * amixer set "DVC Out Mute" on
29 * amixer set "DVC In Mute" on
Kuninori Morimotoce474812014-11-11 04:37:05 +000030 *
31 * You can use Volume Ramp
32 *
33 * amixer set "DVC Out Ramp Up Rate" "0.125 dB/64 steps"
34 * amixer set "DVC Out Ramp Down Rate" "0.125 dB/512 steps"
35 * amixer set "DVC Out Ramp" on
36 * aplay xxx.wav &
37 * amixer set "DVC Out" 80% // Volume Down
38 * amixer set "DVC Out" 100% // Volume Up
Kuninori Morimotob160f612014-11-03 17:49:00 -080039 */
40
Hisashi Nakamura1f52c652013-09-04 12:46:49 +090041/dts-v1/;
Laurent Pinchart31c46cb2013-11-09 13:23:53 +010042#include "r8a7791.dtsi"
Laurent Pinchartf8e25352013-12-11 15:13:48 +010043#include <dt-bindings/gpio/gpio.h>
Magnus Damm7f168b12014-03-18 22:01:17 +090044#include <dt-bindings/input/input.h>
Hisashi Nakamura1f52c652013-09-04 12:46:49 +090045
46/ {
47 model = "Koelsch";
48 compatible = "renesas,koelsch", "renesas,r8a7791";
49
Laurent Pinchart5ba55fa2014-04-30 02:31:46 +020050 aliases {
Laurent Pinchart1f75cda2013-10-18 16:00:00 +020051 serial0 = &scif0;
52 serial1 = &scif1;
Simon Horman67234382016-11-06 21:20:23 +010053 i2c9 = &gpioi2c1;
Wolfram Sang168a7092018-02-06 23:29:52 +010054 i2c10 = &gpioi2c2;
Wolfram Sangbe932752018-02-06 23:29:53 +010055 i2c11 = &gpioi2c4;
Simon Horman67234382016-11-06 21:20:23 +010056 i2c12 = &i2cexio1;
Wolfram Sang168a7092018-02-06 23:29:52 +010057 i2c13 = &i2chdmi;
Wolfram Sangbe932752018-02-06 23:29:53 +010058 i2c14 = &i2cexio4;
Laurent Pinchart5ba55fa2014-04-30 02:31:46 +020059 };
60
Hisashi Nakamura1f52c652013-09-04 12:46:49 +090061 chosen {
Geert Uytterhoeven79e69d12014-10-29 15:28:38 +010062 bootargs = "ignore_loglevel rw root=/dev/nfs ip=dhcp";
Geert Uytterhoeven832dae12015-12-08 18:54:12 +010063 stdout-path = "serial0:115200n8";
Hisashi Nakamura1f52c652013-09-04 12:46:49 +090064 };
65
66 memory@40000000 {
67 device_type = "memory";
Takashi Yoshii4cd1bad2013-12-22 18:27:23 +090068 reg = <0 0x40000000 0 0x40000000>;
69 };
70
71 memory@200000000 {
72 device_type = "memory";
73 reg = <2 0x00000000 0 0x40000000>;
Hisashi Nakamura1f52c652013-09-04 12:46:49 +090074 };
75
76 lbsc {
77 #address-cells = <1>;
78 #size-cells = <1>;
79 };
Laurent Pinchartf8e25352013-12-11 15:13:48 +010080
Simon Hormand3aaec832014-11-12 17:59:36 +090081 keyboard {
Laurent Pinchartaff52742013-12-19 16:28:42 +010082 compatible = "gpio-keys";
83
Magnus Damm7f168b12014-03-18 22:01:17 +090084 key-1 {
85 gpios = <&gpio5 0 GPIO_ACTIVE_LOW>;
86 linux,code = <KEY_1>;
87 label = "SW2-1";
Sudeep Holla0cc16882015-10-21 11:10:11 +010088 wakeup-source;
Magnus Damm7f168b12014-03-18 22:01:17 +090089 debounce-interval = <20>;
90 };
91 key-2 {
92 gpios = <&gpio5 1 GPIO_ACTIVE_LOW>;
93 linux,code = <KEY_2>;
94 label = "SW2-2";
Sudeep Holla0cc16882015-10-21 11:10:11 +010095 wakeup-source;
Magnus Damm7f168b12014-03-18 22:01:17 +090096 debounce-interval = <20>;
97 };
98 key-3 {
99 gpios = <&gpio5 2 GPIO_ACTIVE_LOW>;
100 linux,code = <KEY_3>;
101 label = "SW2-3";
Sudeep Holla0cc16882015-10-21 11:10:11 +0100102 wakeup-source;
Magnus Damm7f168b12014-03-18 22:01:17 +0900103 debounce-interval = <20>;
104 };
105 key-4 {
106 gpios = <&gpio5 3 GPIO_ACTIVE_LOW>;
107 linux,code = <KEY_4>;
108 label = "SW2-4";
Sudeep Holla0cc16882015-10-21 11:10:11 +0100109 wakeup-source;
Magnus Damm7f168b12014-03-18 22:01:17 +0900110 debounce-interval = <20>;
111 };
Laurent Pinchartaff52742013-12-19 16:28:42 +0100112 key-a {
113 gpios = <&gpio7 0 GPIO_ACTIVE_LOW>;
Magnus Damm7f168b12014-03-18 22:01:17 +0900114 linux,code = <KEY_A>;
Laurent Pinchartaff52742013-12-19 16:28:42 +0100115 label = "SW30";
Sudeep Holla0cc16882015-10-21 11:10:11 +0100116 wakeup-source;
Laurent Pinchartaff52742013-12-19 16:28:42 +0100117 debounce-interval = <20>;
118 };
119 key-b {
120 gpios = <&gpio7 1 GPIO_ACTIVE_LOW>;
Magnus Damm7f168b12014-03-18 22:01:17 +0900121 linux,code = <KEY_B>;
Laurent Pinchartaff52742013-12-19 16:28:42 +0100122 label = "SW31";
Sudeep Holla0cc16882015-10-21 11:10:11 +0100123 wakeup-source;
Laurent Pinchartaff52742013-12-19 16:28:42 +0100124 debounce-interval = <20>;
125 };
126 key-c {
127 gpios = <&gpio7 2 GPIO_ACTIVE_LOW>;
Magnus Damm7f168b12014-03-18 22:01:17 +0900128 linux,code = <KEY_C>;
Laurent Pinchartaff52742013-12-19 16:28:42 +0100129 label = "SW32";
Sudeep Holla0cc16882015-10-21 11:10:11 +0100130 wakeup-source;
Laurent Pinchartaff52742013-12-19 16:28:42 +0100131 debounce-interval = <20>;
132 };
133 key-d {
134 gpios = <&gpio7 3 GPIO_ACTIVE_LOW>;
Magnus Damm7f168b12014-03-18 22:01:17 +0900135 linux,code = <KEY_D>;
Laurent Pinchartaff52742013-12-19 16:28:42 +0100136 label = "SW33";
Sudeep Holla0cc16882015-10-21 11:10:11 +0100137 wakeup-source;
Laurent Pinchartaff52742013-12-19 16:28:42 +0100138 debounce-interval = <20>;
139 };
140 key-e {
141 gpios = <&gpio7 4 GPIO_ACTIVE_LOW>;
Magnus Damm7f168b12014-03-18 22:01:17 +0900142 linux,code = <KEY_E>;
Laurent Pinchartaff52742013-12-19 16:28:42 +0100143 label = "SW34";
Sudeep Holla0cc16882015-10-21 11:10:11 +0100144 wakeup-source;
Laurent Pinchartaff52742013-12-19 16:28:42 +0100145 debounce-interval = <20>;
146 };
147 key-f {
148 gpios = <&gpio7 5 GPIO_ACTIVE_LOW>;
Magnus Damm7f168b12014-03-18 22:01:17 +0900149 linux,code = <KEY_F>;
Laurent Pinchartaff52742013-12-19 16:28:42 +0100150 label = "SW35";
Sudeep Holla0cc16882015-10-21 11:10:11 +0100151 wakeup-source;
Laurent Pinchartaff52742013-12-19 16:28:42 +0100152 debounce-interval = <20>;
153 };
154 key-g {
155 gpios = <&gpio7 6 GPIO_ACTIVE_LOW>;
Magnus Damm7f168b12014-03-18 22:01:17 +0900156 linux,code = <KEY_G>;
Laurent Pinchartaff52742013-12-19 16:28:42 +0100157 label = "SW36";
Sudeep Holla0cc16882015-10-21 11:10:11 +0100158 wakeup-source;
Laurent Pinchartaff52742013-12-19 16:28:42 +0100159 debounce-interval = <20>;
160 };
161 };
162
Laurent Pinchartf8e25352013-12-11 15:13:48 +0100163 leds {
164 compatible = "gpio-leds";
165 led6 {
166 gpios = <&gpio2 19 GPIO_ACTIVE_HIGH>;
Geert Uytterhoeven352faa52014-11-06 13:49:58 +0100167 label = "LED6";
Laurent Pinchartf8e25352013-12-11 15:13:48 +0100168 };
169 led7 {
170 gpios = <&gpio2 20 GPIO_ACTIVE_HIGH>;
Geert Uytterhoeven352faa52014-11-06 13:49:58 +0100171 label = "LED7";
Laurent Pinchartf8e25352013-12-11 15:13:48 +0100172 };
173 led8 {
174 gpios = <&gpio2 21 GPIO_ACTIVE_HIGH>;
Geert Uytterhoeven352faa52014-11-06 13:49:58 +0100175 label = "LED8";
Laurent Pinchartf8e25352013-12-11 15:13:48 +0100176 };
177 };
Magnus Damm2c60a7d2014-02-12 18:54:04 +0900178
Geert Uytterhoevena704b272016-05-20 09:10:06 +0200179 vcc_sdhi0: regulator-vcc-sdhi0 {
Magnus Damm2c60a7d2014-02-12 18:54:04 +0900180 compatible = "regulator-fixed";
181
182 regulator-name = "SDHI0 Vcc";
183 regulator-min-microvolt = <3300000>;
184 regulator-max-microvolt = <3300000>;
185
186 gpio = <&gpio7 17 GPIO_ACTIVE_HIGH>;
187 enable-active-high;
188 };
189
Geert Uytterhoevena704b272016-05-20 09:10:06 +0200190 vccq_sdhi0: regulator-vccq-sdhi0 {
Magnus Damm2c60a7d2014-02-12 18:54:04 +0900191 compatible = "regulator-gpio";
192
193 regulator-name = "SDHI0 VccQ";
194 regulator-min-microvolt = <1800000>;
195 regulator-max-microvolt = <3300000>;
196
197 gpios = <&gpio2 12 GPIO_ACTIVE_HIGH>;
198 gpios-states = <1>;
199 states = <3300000 1
200 1800000 0>;
201 };
202
Geert Uytterhoevena704b272016-05-20 09:10:06 +0200203 vcc_sdhi1: regulator-vcc-sdhi1 {
Magnus Damm2c60a7d2014-02-12 18:54:04 +0900204 compatible = "regulator-fixed";
205
206 regulator-name = "SDHI1 Vcc";
207 regulator-min-microvolt = <3300000>;
208 regulator-max-microvolt = <3300000>;
209
210 gpio = <&gpio7 18 GPIO_ACTIVE_HIGH>;
211 enable-active-high;
212 };
213
Geert Uytterhoevena704b272016-05-20 09:10:06 +0200214 vccq_sdhi1: regulator-vccq-sdhi1 {
Magnus Damm2c60a7d2014-02-12 18:54:04 +0900215 compatible = "regulator-gpio";
216
217 regulator-name = "SDHI1 VccQ";
218 regulator-min-microvolt = <1800000>;
219 regulator-max-microvolt = <3300000>;
220
221 gpios = <&gpio2 13 GPIO_ACTIVE_HIGH>;
222 gpios-states = <1>;
223 states = <3300000 1
224 1800000 0>;
225 };
226
Geert Uytterhoevena704b272016-05-20 09:10:06 +0200227 vcc_sdhi2: regulator-vcc-sdhi2 {
Magnus Damm2c60a7d2014-02-12 18:54:04 +0900228 compatible = "regulator-fixed";
229
230 regulator-name = "SDHI2 Vcc";
231 regulator-min-microvolt = <3300000>;
232 regulator-max-microvolt = <3300000>;
233
234 gpio = <&gpio7 19 GPIO_ACTIVE_HIGH>;
235 enable-active-high;
236 };
237
Geert Uytterhoevena704b272016-05-20 09:10:06 +0200238 vccq_sdhi2: regulator-vccq-sdhi2 {
Magnus Damm2c60a7d2014-02-12 18:54:04 +0900239 compatible = "regulator-gpio";
240
241 regulator-name = "SDHI2 VccQ";
242 regulator-min-microvolt = <1800000>;
243 regulator-max-microvolt = <3300000>;
244
245 gpios = <&gpio2 26 GPIO_ACTIVE_HIGH>;
246 gpios-states = <1>;
247 states = <3300000 1
248 1800000 0>;
249 };
Kuninori Morimotob160f612014-11-03 17:49:00 -0800250
Simon Horman62c7e9d2016-03-18 08:17:57 +0900251 audio_clock: audio_clock {
Kuninori Morimotoc19c84f2015-08-20 03:09:30 +0000252 compatible = "fixed-clock";
253 #clock-cells = <0>;
254 clock-frequency = <11289600>;
Kuninori Morimotoc19c84f2015-08-20 03:09:30 +0000255 };
256
Kuninori Morimoto18f88d22015-07-14 04:57:05 +0000257 rsnd_ak4643: sound {
Kuninori Morimotob160f612014-11-03 17:49:00 -0800258 compatible = "simple-audio-card";
259
260 simple-audio-card,format = "left_j";
261 simple-audio-card,bitclock-master = <&sndcodec>;
262 simple-audio-card,frame-master = <&sndcodec>;
263
264 sndcpu: simple-audio-card,cpu {
265 sound-dai = <&rcar_sound>;
266 };
267
268 sndcodec: simple-audio-card,codec {
269 sound-dai = <&ak4643>;
Kuninori Morimotoc19c84f2015-08-20 03:09:30 +0000270 clocks = <&audio_clock>;
Kuninori Morimotob160f612014-11-03 17:49:00 -0800271 };
272 };
Laurent Pinchart83a07312014-12-11 01:42:12 +0200273
Hans Verkuil84e3a742016-10-18 17:01:34 +0200274 hdmi-in {
275 compatible = "hdmi-connector";
276 type = "a";
277
278 port {
279 hdmi_con_in: endpoint {
280 remote-endpoint = <&adv7612_in>;
281 };
282 };
283 };
284
Simon Hormand72f4f02017-11-02 10:18:05 +0100285 cec_clock: cec-clock {
286 compatible = "fixed-clock";
287 #clock-cells = <0>;
288 clock-frequency = <12000000>;
289 };
290
Laurent Pinchart83a07312014-12-11 01:42:12 +0200291 hdmi-out {
292 compatible = "hdmi-connector";
293 type = "a";
294
295 port {
Hans Verkuil84e3a742016-10-18 17:01:34 +0200296 hdmi_con_out: endpoint {
Laurent Pinchart83a07312014-12-11 01:42:12 +0200297 remote-endpoint = <&adv7511_out>;
298 };
299 };
300 };
Laurent Pinchartcd21cb42015-02-26 11:21:23 +0200301
302 x2_clk: x2-clock {
303 compatible = "fixed-clock";
304 #clock-cells = <0>;
Geert Uytterhoevenebf06af2017-04-03 11:55:19 +0200305 clock-frequency = <74250000>;
Laurent Pinchartcd21cb42015-02-26 11:21:23 +0200306 };
307
308 x13_clk: x13-clock {
309 compatible = "fixed-clock";
310 #clock-cells = <0>;
311 clock-frequency = <148500000>;
312 };
Simon Horman67234382016-11-06 21:20:23 +0100313
314 gpioi2c1: i2c-9 {
315 #address-cells = <1>;
316 #size-cells = <0>;
317 compatible = "i2c-gpio";
318 status = "disabled";
Geert Uytterhoevenc14f3ec2017-11-30 13:57:25 +0100319 scl-gpios = <&gpio7 15 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
Wolfram Sang168a7092018-02-06 23:29:52 +0100320 sda-gpios = <&gpio7 16 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
321 i2c-gpio,delay-us = <5>;
322 };
323
324 gpioi2c2: i2c-10 {
325 #address-cells = <1>;
326 #size-cells = <0>;
327 compatible = "i2c-gpio";
328 status = "disabled";
329 scl-gpios = <&gpio2 6 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
330 sda-gpios = <&gpio2 7 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
Simon Horman67234382016-11-06 21:20:23 +0100331 i2c-gpio,delay-us = <5>;
332 };
333
Wolfram Sangbe932752018-02-06 23:29:53 +0100334 gpioi2c4: i2c-11 {
335 #address-cells = <1>;
336 #size-cells = <0>;
337 compatible = "i2c-gpio";
338 status = "disabled";
339 scl-gpios = <&gpio7 13 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
340 sda-gpios = <&gpio7 14 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
341 i2c-gpio,delay-us = <5>;
342 };
343
Simon Horman67234382016-11-06 21:20:23 +0100344 /*
345 * I2C1 is routed to EXIO connector B, pins 64 (SCL) + 66 (SDA).
346 * A fallback to GPIO is provided.
347 */
348 i2cexio1: i2c-12 {
349 compatible = "i2c-demux-pinctrl";
350 i2c-parent = <&i2c1>, <&gpioi2c1>;
351 i2c-bus-name = "i2c-exio1";
352 #address-cells = <1>;
353 #size-cells = <0>;
354 };
Wolfram Sang168a7092018-02-06 23:29:52 +0100355
356 /*
357 * A fallback to GPIO is provided for I2C2.
358 */
359 i2chdmi: i2c-13 {
360 compatible = "i2c-demux-pinctrl";
361 i2c-parent = <&i2c2>, <&gpioi2c2>;
362 i2c-bus-name = "i2c-hdmi";
363 #address-cells = <1>;
364 #size-cells = <0>;
365
366 ak4643: codec@12 {
367 compatible = "asahi-kasei,ak4643";
368 #sound-dai-cells = <0>;
369 reg = <0x12>;
370 };
371
372 composite-in@20 {
373 compatible = "adi,adv7180";
374 reg = <0x20>;
375 remote = <&vin1>;
376
377 port {
378 adv7180: endpoint {
379 bus-width = <8>;
380 remote-endpoint = <&vin1ep>;
381 };
382 };
383 };
384
385 hdmi@39 {
386 compatible = "adi,adv7511w";
387 reg = <0x39>;
388 interrupt-parent = <&gpio3>;
389 interrupts = <29 IRQ_TYPE_LEVEL_LOW>;
390 clocks = <&cec_clock>;
391 clock-names = "cec";
392
393 adi,input-depth = <8>;
394 adi,input-colorspace = "rgb";
395 adi,input-clock = "1x";
396 adi,input-style = <1>;
397 adi,input-justification = "evenly";
398
399 ports {
400 #address-cells = <1>;
401 #size-cells = <0>;
402
403 port@0 {
404 reg = <0>;
405 adv7511_in: endpoint {
406 remote-endpoint = <&du_out_rgb>;
407 };
408 };
409
410 port@1 {
411 reg = <1>;
412 adv7511_out: endpoint {
413 remote-endpoint = <&hdmi_con_out>;
414 };
415 };
416 };
417 };
418
419 hdmi-in@4c {
420 compatible = "adi,adv7612";
421 reg = <0x4c>;
422 interrupt-parent = <&gpio4>;
423 interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
424 default-input = <0>;
425
426 ports {
427 #address-cells = <1>;
428 #size-cells = <0>;
429
430 port@0 {
431 reg = <0>;
432 adv7612_in: endpoint {
433 remote-endpoint = <&hdmi_con_in>;
434 };
435 };
436
437 port@2 {
438 reg = <2>;
439 adv7612_out: endpoint {
440 remote-endpoint = <&vin0ep2>;
441 };
442 };
443 };
444 };
445
446 eeprom@50 {
447 compatible = "renesas,r1ex24002", "atmel,24c02";
448 reg = <0x50>;
449 pagesize = <16>;
450 };
451 };
Wolfram Sangbe932752018-02-06 23:29:53 +0100452
453 /*
454 * I2C4 is routed to EXIO connector E, pins 37 (SCL) + 39 (SDA).
455 * A fallback to GPIO is provided.
456 */
457 i2cexio4: i2c-14 {
458 compatible = "i2c-demux-pinctrl";
459 i2c-parent = <&i2c4>, <&gpioi2c4>;
460 i2c-bus-name = "i2c-exio4";
461 #address-cells = <1>;
462 #size-cells = <0>;
463 };
Laurent Pinchartf8e25352013-12-11 15:13:48 +0100464};
465
Laurent Pinchart0ee56d42014-01-21 16:02:54 +0100466&du {
467 pinctrl-0 = <&du_pins>;
468 pinctrl-names = "default";
469 status = "okay";
470
Geert Uytterhoeven362b3342017-08-23 13:59:25 +0200471 clocks = <&cpg CPG_MOD 724>, <&cpg CPG_MOD 723>, <&cpg CPG_MOD 726>,
Laurent Pinchartcd21cb42015-02-26 11:21:23 +0200472 <&x13_clk>, <&x2_clk>;
473 clock-names = "du.0", "du.1", "lvds.0",
474 "dclkin.0", "dclkin.1";
475
Laurent Pinchart0ee56d42014-01-21 16:02:54 +0100476 ports {
Laurent Pinchart83a07312014-12-11 01:42:12 +0200477 port@0 {
478 endpoint {
479 remote-endpoint = <&adv7511_in>;
480 };
481 };
Laurent Pinchart0ee56d42014-01-21 16:02:54 +0100482 port@1 {
483 lvds_connector: endpoint {
484 };
485 };
486 };
487};
488
Laurent Pinchartfcf0c722013-12-11 15:13:50 +0100489&extal_clk {
490 clock-frequency = <20000000>;
491};
492
Laurent Pinchartf8e25352013-12-11 15:13:48 +0100493&pfc {
Geert Uytterhoeven338f7eb2016-01-29 11:17:21 +0100494 pinctrl-0 = <&scif_clk_pins>;
495 pinctrl-names = "default";
496
Simon Horman67234382016-11-06 21:20:23 +0100497 i2c1_pins: i2c1 {
498 groups = "i2c1";
499 function = "i2c1";
500 };
501
Wolfram Sange6a4c002014-03-10 12:26:59 +0100502 i2c2_pins: i2c2 {
Simon Hormanfec7b9f2016-03-18 07:55:10 +0900503 groups = "i2c2";
504 function = "i2c2";
Wolfram Sang38c53512014-02-17 11:44:42 +0100505 };
506
Wolfram Sangbe932752018-02-06 23:29:53 +0100507 i2c4_pins: i2c4 {
508 groups = "i2c4_c";
509 function = "i2c4";
510 };
511
Laurent Pinchartafba9412014-02-16 22:32:01 +0100512 du_pins: du {
Simon Hormanfec7b9f2016-03-18 07:55:10 +0900513 groups = "du_rgb888", "du_sync", "du_disp", "du_clk_out_0";
514 function = "du";
Laurent Pinchartafba9412014-02-16 22:32:01 +0100515 };
516
Geert Uytterhoevenb71b8342016-06-10 15:00:55 +0200517 scif0_pins: scif0 {
Simon Hormanfec7b9f2016-03-18 07:55:10 +0900518 groups = "scif0_data_d";
519 function = "scif0";
Laurent Pinchartf8e25352013-12-11 15:13:48 +0100520 };
521
Geert Uytterhoevenb71b8342016-06-10 15:00:55 +0200522 scif1_pins: scif1 {
Simon Hormanfec7b9f2016-03-18 07:55:10 +0900523 groups = "scif1_data_d";
524 function = "scif1";
Laurent Pinchartf8e25352013-12-11 15:13:48 +0100525 };
Geert Uytterhoevene02ee512014-02-04 16:24:04 +0100526
Geert Uytterhoeven338f7eb2016-01-29 11:17:21 +0100527 scif_clk_pins: scif_clk {
Simon Hormanfec7b9f2016-03-18 07:55:10 +0900528 groups = "scif_clk";
529 function = "scif_clk";
Geert Uytterhoeven338f7eb2016-01-29 11:17:21 +0100530 };
531
Sergei Shtylyov08e8f0f2014-02-20 02:28:59 +0300532 ether_pins: ether {
Simon Hormanfec7b9f2016-03-18 07:55:10 +0900533 groups = "eth_link", "eth_mdio", "eth_rmii";
534 function = "eth";
Sergei Shtylyov08e8f0f2014-02-20 02:28:59 +0300535 };
536
537 phy1_pins: phy1 {
Simon Hormanfec7b9f2016-03-18 07:55:10 +0900538 groups = "intc_irq0";
539 function = "intc";
Sergei Shtylyov08e8f0f2014-02-20 02:28:59 +0300540 };
541
Magnus Damm2c60a7d2014-02-12 18:54:04 +0900542 sdhi0_pins: sd0 {
Simon Hormanfec7b9f2016-03-18 07:55:10 +0900543 groups = "sdhi0_data4", "sdhi0_ctrl";
544 function = "sdhi0";
Simon Hormand3cec9222016-09-13 12:57:02 +0200545 power-source = <3300>;
546 };
547
548 sdhi0_pins_uhs: sd0_uhs {
549 groups = "sdhi0_data4", "sdhi0_ctrl";
550 function = "sdhi0";
551 power-source = <1800>;
Magnus Damm2c60a7d2014-02-12 18:54:04 +0900552 };
553
554 sdhi1_pins: sd1 {
Simon Hormanfec7b9f2016-03-18 07:55:10 +0900555 groups = "sdhi1_data4", "sdhi1_ctrl";
556 function = "sdhi1";
Simon Hormand3cec9222016-09-13 12:57:02 +0200557 power-source = <3300>;
558 };
559
560 sdhi1_pins_uhs: sd1_uhs {
561 groups = "sdhi1_data4", "sdhi1_ctrl";
562 function = "sdhi1";
563 power-source = <1800>;
Magnus Damm2c60a7d2014-02-12 18:54:04 +0900564 };
565
566 sdhi2_pins: sd2 {
Simon Hormanfec7b9f2016-03-18 07:55:10 +0900567 groups = "sdhi2_data4", "sdhi2_ctrl";
568 function = "sdhi2";
Simon Hormand3cec9222016-09-13 12:57:02 +0200569 power-source = <3300>;
570 };
571
572 sdhi2_pins_uhs: sd2_uhs {
573 groups = "sdhi2_data4", "sdhi2_ctrl";
574 function = "sdhi2";
575 power-source = <1800>;
Magnus Damm2c60a7d2014-02-12 18:54:04 +0900576 };
577
Geert Uytterhoevena4d98be2016-06-10 15:00:56 +0200578 qspi_pins: qspi {
Simon Hormanfec7b9f2016-03-18 07:55:10 +0900579 groups = "qspi_ctrl", "qspi_data4";
580 function = "qspi";
Geert Uytterhoevene02ee512014-02-04 16:24:04 +0100581 };
Geert Uytterhoevenb16f05a2014-02-25 11:30:18 +0100582
Geert Uytterhoevena4d98be2016-06-10 15:00:56 +0200583 msiof0_pins: msiof0 {
Simon Hormanfec7b9f2016-03-18 07:55:10 +0900584 groups = "msiof0_clk", "msiof0_sync", "msiof0_rx",
Geert Uytterhoevenb16f05a2014-02-25 11:30:18 +0100585 "msiof0_tx";
Simon Hormanfec7b9f2016-03-18 07:55:10 +0900586 function = "msiof0";
Geert Uytterhoevenb16f05a2014-02-25 11:30:18 +0100587 };
Gaku Inami1d41f362014-06-03 21:02:59 +0900588
Sergei Shtylyov7540aeb2014-06-24 22:11:44 +0400589 usb0_pins: usb0 {
Simon Hormanfec7b9f2016-03-18 07:55:10 +0900590 groups = "usb0";
591 function = "usb0";
Sergei Shtylyov7540aeb2014-06-24 22:11:44 +0400592 };
593
594 usb1_pins: usb1 {
Simon Hormanfec7b9f2016-03-18 07:55:10 +0900595 groups = "usb1";
596 function = "usb1";
Sergei Shtylyov7540aeb2014-06-24 22:11:44 +0400597 };
sergei.shtylyov@cogentembedded.com2cf08812014-08-06 22:38:22 +0400598
Hans Verkuil84e3a742016-10-18 17:01:34 +0200599 vin0_pins: vin0 {
600 groups = "vin0_data24", "vin0_sync", "vin0_clkenb", "vin0_clk";
601 function = "vin0";
602 };
603
sergei.shtylyov@cogentembedded.com2cf08812014-08-06 22:38:22 +0400604 vin1_pins: vin1 {
Simon Hormanfec7b9f2016-03-18 07:55:10 +0900605 groups = "vin1_data8", "vin1_clk";
606 function = "vin1";
sergei.shtylyov@cogentembedded.com2cf08812014-08-06 22:38:22 +0400607 };
Kuninori Morimotob160f612014-11-03 17:49:00 -0800608
609 sound_pins: sound {
Simon Hormanfec7b9f2016-03-18 07:55:10 +0900610 groups = "ssi0129_ctrl", "ssi0_data", "ssi1_data";
611 function = "ssi";
Kuninori Morimotob160f612014-11-03 17:49:00 -0800612 };
613
614 sound_clk_pins: sound_clk {
Simon Hormanfec7b9f2016-03-18 07:55:10 +0900615 groups = "audio_clk_a";
616 function = "audio_clk";
Kuninori Morimotob160f612014-11-03 17:49:00 -0800617 };
Hisashi Nakamura1f52c652013-09-04 12:46:49 +0900618};
Valentine Barshak760c2772014-01-14 21:05:41 +0400619
Sergei Shtylyov08e8f0f2014-02-20 02:28:59 +0300620&ether {
621 pinctrl-0 = <&ether_pins &phy1_pins>;
622 pinctrl-names = "default";
623
624 phy-handle = <&phy1>;
625 renesas,ether-link-active-low;
Geert Uytterhoeven815446d2014-12-09 12:25:03 +0100626 status = "okay";
Sergei Shtylyov08e8f0f2014-02-20 02:28:59 +0300627
628 phy1: ethernet-phy@1 {
629 reg = <1>;
630 interrupt-parent = <&irqc0>;
631 interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
Laurent Pinchart19f647c2014-03-18 19:04:48 +0100632 micrel,led-mode = <1>;
Sergei Shtylyov08e8f0f2014-02-20 02:28:59 +0300633 };
634};
635
Laurent Pinchart6a1d9462014-07-09 15:12:42 +0200636&cmt0 {
Geert Uytterhoeven815446d2014-12-09 12:25:03 +0100637 status = "okay";
Laurent Pinchart6a1d9462014-07-09 15:12:42 +0200638};
639
Valentine Barshak760c2772014-01-14 21:05:41 +0400640&sata0 {
641 status = "okay";
642};
Geert Uytterhoevene02ee512014-02-04 16:24:04 +0100643
Laurent Pinchart5ba55fa2014-04-30 02:31:46 +0200644&scif0 {
645 pinctrl-0 = <&scif0_pins>;
646 pinctrl-names = "default";
647
648 status = "okay";
649};
650
651&scif1 {
652 pinctrl-0 = <&scif1_pins>;
653 pinctrl-names = "default";
654
655 status = "okay";
656};
657
Geert Uytterhoeven338f7eb2016-01-29 11:17:21 +0100658&scif_clk {
659 clock-frequency = <14745600>;
Geert Uytterhoeven338f7eb2016-01-29 11:17:21 +0100660};
661
Magnus Damm2c60a7d2014-02-12 18:54:04 +0900662&sdhi0 {
663 pinctrl-0 = <&sdhi0_pins>;
Simon Hormand3cec9222016-09-13 12:57:02 +0200664 pinctrl-1 = <&sdhi0_pins_uhs>;
665 pinctrl-names = "default", "state_uhs";
Magnus Damm2c60a7d2014-02-12 18:54:04 +0900666
667 vmmc-supply = <&vcc_sdhi0>;
668 vqmmc-supply = <&vccq_sdhi0>;
669 cd-gpios = <&gpio6 6 GPIO_ACTIVE_LOW>;
670 wp-gpios = <&gpio6 7 GPIO_ACTIVE_HIGH>;
Simon Hormand3cec9222016-09-13 12:57:02 +0200671 sd-uhs-sdr50;
Simon Horman07267292016-11-03 16:07:24 +0100672 sd-uhs-sdr104;
Magnus Damm2c60a7d2014-02-12 18:54:04 +0900673 status = "okay";
674};
675
676&sdhi1 {
677 pinctrl-0 = <&sdhi1_pins>;
Simon Hormand3cec9222016-09-13 12:57:02 +0200678 pinctrl-1 = <&sdhi1_pins_uhs>;
679 pinctrl-names = "default", "state_uhs";
Magnus Damm2c60a7d2014-02-12 18:54:04 +0900680
681 vmmc-supply = <&vcc_sdhi1>;
682 vqmmc-supply = <&vccq_sdhi1>;
683 cd-gpios = <&gpio6 14 GPIO_ACTIVE_LOW>;
684 wp-gpios = <&gpio6 15 GPIO_ACTIVE_HIGH>;
Simon Hormand3cec9222016-09-13 12:57:02 +0200685 sd-uhs-sdr50;
Magnus Damm2c60a7d2014-02-12 18:54:04 +0900686 status = "okay";
687};
688
689&sdhi2 {
690 pinctrl-0 = <&sdhi2_pins>;
Simon Hormand3cec9222016-09-13 12:57:02 +0200691 pinctrl-1 = <&sdhi2_pins_uhs>;
692 pinctrl-names = "default", "state_uhs";
Magnus Damm2c60a7d2014-02-12 18:54:04 +0900693
694 vmmc-supply = <&vcc_sdhi2>;
695 vqmmc-supply = <&vccq_sdhi2>;
696 cd-gpios = <&gpio6 22 GPIO_ACTIVE_LOW>;
Simon Hormand3cec9222016-09-13 12:57:02 +0200697 sd-uhs-sdr50;
Magnus Damm2c60a7d2014-02-12 18:54:04 +0900698 status = "okay";
699};
700
Geert Uytterhoeven6f3e4ee2014-02-25 11:30:14 +0100701&qspi {
Geert Uytterhoevene02ee512014-02-04 16:24:04 +0100702 pinctrl-0 = <&qspi_pins>;
703 pinctrl-names = "default";
704
705 status = "okay";
706
707 flash: flash@0 {
Geert Uytterhoevencc3db022015-05-20 20:16:54 +0200708 compatible = "spansion,s25fl512s", "jedec,spi-nor";
Geert Uytterhoevene02ee512014-02-04 16:24:04 +0100709 reg = <0>;
710 spi-max-frequency = <30000000>;
Geert Uytterhoevened560832014-04-14 19:35:58 +0200711 spi-tx-bus-width = <4>;
712 spi-rx-bus-width = <4>;
Hisashi Nakamura9c5becc2014-12-09 09:37:12 +0900713 spi-cpha;
714 spi-cpol;
Geert Uytterhoevene02ee512014-02-04 16:24:04 +0100715 m25p,fast-read;
716
Geert Uytterhoeven27fa0a62015-11-10 09:35:06 +0100717 partitions {
Geert Uytterhoevenf6531bb2015-12-21 11:33:49 +0100718 compatible = "fixed-partitions";
Geert Uytterhoeven27fa0a62015-11-10 09:35:06 +0100719 #address-cells = <1>;
720 #size-cells = <1>;
721
722 partition@0 {
723 label = "loader";
724 reg = <0x00000000 0x00080000>;
725 read-only;
726 };
727 partition@80000 {
728 label = "user";
729 reg = <0x00080000 0x00580000>;
730 read-only;
731 };
732 partition@600000 {
733 label = "flash";
734 reg = <0x00600000 0x03a00000>;
735 };
Geert Uytterhoevene02ee512014-02-04 16:24:04 +0100736 };
737 };
738};
Geert Uytterhoevenb16f05a2014-02-25 11:30:18 +0100739
740&msiof0 {
741 pinctrl-0 = <&msiof0_pins>;
742 pinctrl-names = "default";
743
744 status = "okay";
745
746 pmic: pmic@0 {
747 compatible = "renesas,r2a11302ft";
748 reg = <0>;
749 spi-max-frequency = <6000000>;
750 spi-cpol;
751 spi-cpha;
752 };
753};
Gaku Inami1d41f362014-06-03 21:02:59 +0900754
Simon Horman67234382016-11-06 21:20:23 +0100755&i2c1 {
756 pinctrl-0 = <&i2c1_pins>;
757 pinctrl-names = "i2c-exio1";
758};
759
Simon Horman897dfdb2014-06-09 17:50:28 +0900760&i2c2 {
761 pinctrl-0 = <&i2c2_pins>;
Wolfram Sang168a7092018-02-06 23:29:52 +0100762 pinctrl-names = "i2c-hdmi";
Simon Horman897dfdb2014-06-09 17:50:28 +0900763
Kuninori Morimotoa8d943e2014-11-03 17:48:49 -0800764 clock-frequency = <100000>;
Simon Horman897dfdb2014-06-09 17:50:28 +0900765};
766
Wolfram Sangbe932752018-02-06 23:29:53 +0100767&i2c4 {
768 pinctrl-0 = <&i2c4_pins>;
769 pinctrl-names = "i2c-exio4";
770};
771
Gaku Inami1d41f362014-06-03 21:02:59 +0900772&i2c6 {
Gaku Inami1d41f362014-06-03 21:02:59 +0900773 status = "okay";
Simon Horman897dfdb2014-06-09 17:50:28 +0900774 clock-frequency = <100000>;
Gaku Inami1d41f362014-06-03 21:02:59 +0900775
Geert Uytterhoevena6b42262015-03-09 21:06:55 +0100776 pmic@58 {
777 compatible = "dlg,da9063";
778 reg = <0x58>;
779 interrupt-parent = <&irqc0>;
780 interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
781 interrupt-controller;
782
783 rtc {
784 compatible = "dlg,da9063-rtc";
785 };
786
787 wdt {
788 compatible = "dlg,da9063-watchdog";
789 };
790 };
791
Gaku Inami1d41f362014-06-03 21:02:59 +0900792 vdd_dvfs: regulator@68 {
Steve Twissbd597f42014-08-22 15:26:55 +0100793 compatible = "dlg,da9210";
Gaku Inami1d41f362014-06-03 21:02:59 +0900794 reg = <0x68>;
Geert Uytterhoeven4be73382015-03-09 21:06:54 +0100795 interrupt-parent = <&irqc0>;
796 interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
Gaku Inami1d41f362014-06-03 21:02:59 +0900797
798 regulator-min-microvolt = <1000000>;
799 regulator-max-microvolt = <1000000>;
800 regulator-boot-on;
801 regulator-always-on;
802 };
803};
Gaku Inamia57004ec2014-06-03 21:03:10 +0900804
Sergei Shtylyov7540aeb2014-06-24 22:11:44 +0400805&pci0 {
806 status = "okay";
807 pinctrl-0 = <&usb0_pins>;
808 pinctrl-names = "default";
809};
810
811&pci1 {
812 status = "okay";
813 pinctrl-0 = <&usb1_pins>;
814 pinctrl-names = "default";
815};
816
Yoshihiro Shimodafc4a00b2014-10-24 19:45:07 +0900817&hsusb {
818 status = "okay";
819 pinctrl-0 = <&usb0_pins>;
820 pinctrl-names = "default";
821 renesas,enable-gpio = <&gpio5 31 GPIO_ACTIVE_HIGH>;
822};
823
Sergei Shtylyovdc80d8b2014-09-27 01:09:22 +0400824&usbphy {
825 status = "okay";
826};
827
Phil Edworthy998d7d62014-06-13 10:37:21 +0100828&pcie_bus_clk {
Sjoerd Simonsac6908b2016-04-06 14:52:53 +0200829 clock-frequency = <100000000>;
Phil Edworthy998d7d62014-06-13 10:37:21 +0100830};
831
832&pciec {
833 status = "okay";
834};
835
Gaku Inamia57004ec2014-06-03 21:03:10 +0900836&cpu0 {
837 cpu0-supply = <&vdd_dvfs>;
838};
sergei.shtylyov@cogentembedded.com2cf08812014-08-06 22:38:22 +0400839
Hans Verkuil84e3a742016-10-18 17:01:34 +0200840/* HDMI video input */
841&vin0 {
842 status = "okay";
843 pinctrl-0 = <&vin0_pins>;
844 pinctrl-names = "default";
845
846 port {
847 #address-cells = <1>;
848 #size-cells = <0>;
849
850 vin0ep2: endpoint {
851 remote-endpoint = <&adv7612_out>;
852 bus-width = <24>;
853 hsync-active = <0>;
854 vsync-active = <0>;
855 pclk-sample = <1>;
856 data-active = <1>;
857 };
858 };
859};
860
sergei.shtylyov@cogentembedded.com2cf08812014-08-06 22:38:22 +0400861/* composite video input */
862&vin1 {
Geert Uytterhoeven815446d2014-12-09 12:25:03 +0100863 status = "okay";
sergei.shtylyov@cogentembedded.com2cf08812014-08-06 22:38:22 +0400864 pinctrl-0 = <&vin1_pins>;
865 pinctrl-names = "default";
866
867 port {
868 #address-cells = <1>;
869 #size-cells = <0>;
870
871 vin1ep: endpoint {
872 remote-endpoint = <&adv7180>;
873 bus-width = <8>;
874 };
875 };
876};
Kuninori Morimotob160f612014-11-03 17:49:00 -0800877
878&rcar_sound {
879 pinctrl-0 = <&sound_pins &sound_clk_pins>;
880 pinctrl-names = "default";
881
Kuninori Morimotod2b541c2014-12-17 06:12:02 +0000882 /* Single DAI */
Kuninori Morimotob160f612014-11-03 17:49:00 -0800883 #sound-dai-cells = <0>;
884
885 status = "okay";
886
887 rcar_sound,dai {
888 dai0 {
Kuninori Morimoto5c6d4b92014-11-03 17:49:45 -0800889 playback = <&ssi0 &src2 &dvc0>;
890 capture = <&ssi1 &src3 &dvc1>;
Kuninori Morimotob160f612014-11-03 17:49:00 -0800891 };
892 };
893};
894
Kuninori Morimotob160f612014-11-03 17:49:00 -0800895&ssi1 {
Kuninori Morimotob160f612014-11-03 17:49:00 -0800896 shared-pin;
897};