blob: 9d7213a0b8b826506e14c51b95fe10724434b9b6 [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
Laurent Pincharte5c3f472018-04-20 14:57:53 +0300471 clocks = <&cpg CPG_MOD 724>, <&cpg CPG_MOD 723>,
Laurent Pinchartcd21cb42015-02-26 11:21:23 +0200472 <&x13_clk>, <&x2_clk>;
Laurent Pincharte5c3f472018-04-20 14:57:53 +0300473 clock-names = "du.0", "du.1", "dclkin.0", "dclkin.1";
Laurent Pinchartcd21cb42015-02-26 11:21:23 +0200474
Laurent Pinchart0ee56d42014-01-21 16:02:54 +0100475 ports {
Laurent Pinchart83a07312014-12-11 01:42:12 +0200476 port@0 {
477 endpoint {
478 remote-endpoint = <&adv7511_in>;
479 };
480 };
Laurent Pincharte5c3f472018-04-20 14:57:53 +0300481 };
482};
483
484&lvds0 {
485 status = "okay";
486
487 ports {
Laurent Pinchart0ee56d42014-01-21 16:02:54 +0100488 port@1 {
489 lvds_connector: endpoint {
490 };
491 };
492 };
493};
494
Laurent Pinchartfcf0c722013-12-11 15:13:50 +0100495&extal_clk {
496 clock-frequency = <20000000>;
497};
498
Laurent Pinchartf8e25352013-12-11 15:13:48 +0100499&pfc {
Geert Uytterhoeven338f7eb2016-01-29 11:17:21 +0100500 pinctrl-0 = <&scif_clk_pins>;
501 pinctrl-names = "default";
502
Simon Horman67234382016-11-06 21:20:23 +0100503 i2c1_pins: i2c1 {
504 groups = "i2c1";
505 function = "i2c1";
506 };
507
Wolfram Sange6a4c002014-03-10 12:26:59 +0100508 i2c2_pins: i2c2 {
Simon Hormanfec7b9f2016-03-18 07:55:10 +0900509 groups = "i2c2";
510 function = "i2c2";
Wolfram Sang38c53512014-02-17 11:44:42 +0100511 };
512
Wolfram Sangbe932752018-02-06 23:29:53 +0100513 i2c4_pins: i2c4 {
514 groups = "i2c4_c";
515 function = "i2c4";
516 };
517
Laurent Pinchartafba9412014-02-16 22:32:01 +0100518 du_pins: du {
Simon Hormanfec7b9f2016-03-18 07:55:10 +0900519 groups = "du_rgb888", "du_sync", "du_disp", "du_clk_out_0";
520 function = "du";
Laurent Pinchartafba9412014-02-16 22:32:01 +0100521 };
522
Geert Uytterhoevenb71b8342016-06-10 15:00:55 +0200523 scif0_pins: scif0 {
Simon Hormanfec7b9f2016-03-18 07:55:10 +0900524 groups = "scif0_data_d";
525 function = "scif0";
Laurent Pinchartf8e25352013-12-11 15:13:48 +0100526 };
527
Geert Uytterhoevenb71b8342016-06-10 15:00:55 +0200528 scif1_pins: scif1 {
Simon Hormanfec7b9f2016-03-18 07:55:10 +0900529 groups = "scif1_data_d";
530 function = "scif1";
Laurent Pinchartf8e25352013-12-11 15:13:48 +0100531 };
Geert Uytterhoevene02ee512014-02-04 16:24:04 +0100532
Geert Uytterhoeven338f7eb2016-01-29 11:17:21 +0100533 scif_clk_pins: scif_clk {
Simon Hormanfec7b9f2016-03-18 07:55:10 +0900534 groups = "scif_clk";
535 function = "scif_clk";
Geert Uytterhoeven338f7eb2016-01-29 11:17:21 +0100536 };
537
Sergei Shtylyov08e8f0f2014-02-20 02:28:59 +0300538 ether_pins: ether {
Simon Hormanfec7b9f2016-03-18 07:55:10 +0900539 groups = "eth_link", "eth_mdio", "eth_rmii";
540 function = "eth";
Sergei Shtylyov08e8f0f2014-02-20 02:28:59 +0300541 };
542
543 phy1_pins: phy1 {
Simon Hormanfec7b9f2016-03-18 07:55:10 +0900544 groups = "intc_irq0";
545 function = "intc";
Sergei Shtylyov08e8f0f2014-02-20 02:28:59 +0300546 };
547
Magnus Damm2c60a7d2014-02-12 18:54:04 +0900548 sdhi0_pins: sd0 {
Simon Hormanfec7b9f2016-03-18 07:55:10 +0900549 groups = "sdhi0_data4", "sdhi0_ctrl";
550 function = "sdhi0";
Simon Hormand3cec9222016-09-13 12:57:02 +0200551 power-source = <3300>;
552 };
553
554 sdhi0_pins_uhs: sd0_uhs {
555 groups = "sdhi0_data4", "sdhi0_ctrl";
556 function = "sdhi0";
557 power-source = <1800>;
Magnus Damm2c60a7d2014-02-12 18:54:04 +0900558 };
559
560 sdhi1_pins: sd1 {
Simon Hormanfec7b9f2016-03-18 07:55:10 +0900561 groups = "sdhi1_data4", "sdhi1_ctrl";
562 function = "sdhi1";
Simon Hormand3cec9222016-09-13 12:57:02 +0200563 power-source = <3300>;
564 };
565
566 sdhi1_pins_uhs: sd1_uhs {
567 groups = "sdhi1_data4", "sdhi1_ctrl";
568 function = "sdhi1";
569 power-source = <1800>;
Magnus Damm2c60a7d2014-02-12 18:54:04 +0900570 };
571
572 sdhi2_pins: sd2 {
Simon Hormanfec7b9f2016-03-18 07:55:10 +0900573 groups = "sdhi2_data4", "sdhi2_ctrl";
574 function = "sdhi2";
Simon Hormand3cec9222016-09-13 12:57:02 +0200575 power-source = <3300>;
576 };
577
578 sdhi2_pins_uhs: sd2_uhs {
579 groups = "sdhi2_data4", "sdhi2_ctrl";
580 function = "sdhi2";
581 power-source = <1800>;
Magnus Damm2c60a7d2014-02-12 18:54:04 +0900582 };
583
Geert Uytterhoevena4d98be2016-06-10 15:00:56 +0200584 qspi_pins: qspi {
Simon Hormanfec7b9f2016-03-18 07:55:10 +0900585 groups = "qspi_ctrl", "qspi_data4";
586 function = "qspi";
Geert Uytterhoevene02ee512014-02-04 16:24:04 +0100587 };
Geert Uytterhoevenb16f05a2014-02-25 11:30:18 +0100588
Geert Uytterhoevena4d98be2016-06-10 15:00:56 +0200589 msiof0_pins: msiof0 {
Simon Hormanfec7b9f2016-03-18 07:55:10 +0900590 groups = "msiof0_clk", "msiof0_sync", "msiof0_rx",
Geert Uytterhoevenb16f05a2014-02-25 11:30:18 +0100591 "msiof0_tx";
Simon Hormanfec7b9f2016-03-18 07:55:10 +0900592 function = "msiof0";
Geert Uytterhoevenb16f05a2014-02-25 11:30:18 +0100593 };
Gaku Inami1d41f362014-06-03 21:02:59 +0900594
Sergei Shtylyov7540aeb2014-06-24 22:11:44 +0400595 usb0_pins: usb0 {
Simon Hormanfec7b9f2016-03-18 07:55:10 +0900596 groups = "usb0";
597 function = "usb0";
Sergei Shtylyov7540aeb2014-06-24 22:11:44 +0400598 };
599
600 usb1_pins: usb1 {
Simon Hormanfec7b9f2016-03-18 07:55:10 +0900601 groups = "usb1";
602 function = "usb1";
Sergei Shtylyov7540aeb2014-06-24 22:11:44 +0400603 };
sergei.shtylyov@cogentembedded.com2cf08812014-08-06 22:38:22 +0400604
Hans Verkuil84e3a742016-10-18 17:01:34 +0200605 vin0_pins: vin0 {
606 groups = "vin0_data24", "vin0_sync", "vin0_clkenb", "vin0_clk";
607 function = "vin0";
608 };
609
sergei.shtylyov@cogentembedded.com2cf08812014-08-06 22:38:22 +0400610 vin1_pins: vin1 {
Simon Hormanfec7b9f2016-03-18 07:55:10 +0900611 groups = "vin1_data8", "vin1_clk";
612 function = "vin1";
sergei.shtylyov@cogentembedded.com2cf08812014-08-06 22:38:22 +0400613 };
Kuninori Morimotob160f612014-11-03 17:49:00 -0800614
615 sound_pins: sound {
Simon Hormanfec7b9f2016-03-18 07:55:10 +0900616 groups = "ssi0129_ctrl", "ssi0_data", "ssi1_data";
617 function = "ssi";
Kuninori Morimotob160f612014-11-03 17:49:00 -0800618 };
619
620 sound_clk_pins: sound_clk {
Simon Hormanfec7b9f2016-03-18 07:55:10 +0900621 groups = "audio_clk_a";
622 function = "audio_clk";
Kuninori Morimotob160f612014-11-03 17:49:00 -0800623 };
Hisashi Nakamura1f52c652013-09-04 12:46:49 +0900624};
Valentine Barshak760c2772014-01-14 21:05:41 +0400625
Sergei Shtylyov08e8f0f2014-02-20 02:28:59 +0300626&ether {
627 pinctrl-0 = <&ether_pins &phy1_pins>;
628 pinctrl-names = "default";
629
630 phy-handle = <&phy1>;
631 renesas,ether-link-active-low;
Geert Uytterhoeven815446d2014-12-09 12:25:03 +0100632 status = "okay";
Sergei Shtylyov08e8f0f2014-02-20 02:28:59 +0300633
634 phy1: ethernet-phy@1 {
635 reg = <1>;
636 interrupt-parent = <&irqc0>;
637 interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
Laurent Pinchart19f647c2014-03-18 19:04:48 +0100638 micrel,led-mode = <1>;
Sergei Shtylyov08e8f0f2014-02-20 02:28:59 +0300639 };
640};
641
Laurent Pinchart6a1d9462014-07-09 15:12:42 +0200642&cmt0 {
Geert Uytterhoeven815446d2014-12-09 12:25:03 +0100643 status = "okay";
Laurent Pinchart6a1d9462014-07-09 15:12:42 +0200644};
645
Valentine Barshak760c2772014-01-14 21:05:41 +0400646&sata0 {
647 status = "okay";
648};
Geert Uytterhoevene02ee512014-02-04 16:24:04 +0100649
Laurent Pinchart5ba55fa2014-04-30 02:31:46 +0200650&scif0 {
651 pinctrl-0 = <&scif0_pins>;
652 pinctrl-names = "default";
653
654 status = "okay";
655};
656
657&scif1 {
658 pinctrl-0 = <&scif1_pins>;
659 pinctrl-names = "default";
660
661 status = "okay";
662};
663
Geert Uytterhoeven338f7eb2016-01-29 11:17:21 +0100664&scif_clk {
665 clock-frequency = <14745600>;
Geert Uytterhoeven338f7eb2016-01-29 11:17:21 +0100666};
667
Magnus Damm2c60a7d2014-02-12 18:54:04 +0900668&sdhi0 {
669 pinctrl-0 = <&sdhi0_pins>;
Simon Hormand3cec9222016-09-13 12:57:02 +0200670 pinctrl-1 = <&sdhi0_pins_uhs>;
671 pinctrl-names = "default", "state_uhs";
Magnus Damm2c60a7d2014-02-12 18:54:04 +0900672
673 vmmc-supply = <&vcc_sdhi0>;
674 vqmmc-supply = <&vccq_sdhi0>;
675 cd-gpios = <&gpio6 6 GPIO_ACTIVE_LOW>;
676 wp-gpios = <&gpio6 7 GPIO_ACTIVE_HIGH>;
Simon Hormand3cec9222016-09-13 12:57:02 +0200677 sd-uhs-sdr50;
Simon Horman07267292016-11-03 16:07:24 +0100678 sd-uhs-sdr104;
Magnus Damm2c60a7d2014-02-12 18:54:04 +0900679 status = "okay";
680};
681
682&sdhi1 {
683 pinctrl-0 = <&sdhi1_pins>;
Simon Hormand3cec9222016-09-13 12:57:02 +0200684 pinctrl-1 = <&sdhi1_pins_uhs>;
685 pinctrl-names = "default", "state_uhs";
Magnus Damm2c60a7d2014-02-12 18:54:04 +0900686
687 vmmc-supply = <&vcc_sdhi1>;
688 vqmmc-supply = <&vccq_sdhi1>;
689 cd-gpios = <&gpio6 14 GPIO_ACTIVE_LOW>;
690 wp-gpios = <&gpio6 15 GPIO_ACTIVE_HIGH>;
Simon Hormand3cec9222016-09-13 12:57:02 +0200691 sd-uhs-sdr50;
Magnus Damm2c60a7d2014-02-12 18:54:04 +0900692 status = "okay";
693};
694
695&sdhi2 {
696 pinctrl-0 = <&sdhi2_pins>;
Simon Hormand3cec9222016-09-13 12:57:02 +0200697 pinctrl-1 = <&sdhi2_pins_uhs>;
698 pinctrl-names = "default", "state_uhs";
Magnus Damm2c60a7d2014-02-12 18:54:04 +0900699
700 vmmc-supply = <&vcc_sdhi2>;
701 vqmmc-supply = <&vccq_sdhi2>;
702 cd-gpios = <&gpio6 22 GPIO_ACTIVE_LOW>;
Simon Hormand3cec9222016-09-13 12:57:02 +0200703 sd-uhs-sdr50;
Magnus Damm2c60a7d2014-02-12 18:54:04 +0900704 status = "okay";
705};
706
Geert Uytterhoeven6f3e4ee2014-02-25 11:30:14 +0100707&qspi {
Geert Uytterhoevene02ee512014-02-04 16:24:04 +0100708 pinctrl-0 = <&qspi_pins>;
709 pinctrl-names = "default";
710
711 status = "okay";
712
713 flash: flash@0 {
Geert Uytterhoevencc3db022015-05-20 20:16:54 +0200714 compatible = "spansion,s25fl512s", "jedec,spi-nor";
Geert Uytterhoevene02ee512014-02-04 16:24:04 +0100715 reg = <0>;
716 spi-max-frequency = <30000000>;
Geert Uytterhoevened560832014-04-14 19:35:58 +0200717 spi-tx-bus-width = <4>;
718 spi-rx-bus-width = <4>;
Hisashi Nakamura9c5becc2014-12-09 09:37:12 +0900719 spi-cpha;
720 spi-cpol;
Geert Uytterhoevene02ee512014-02-04 16:24:04 +0100721 m25p,fast-read;
722
Geert Uytterhoeven27fa0a62015-11-10 09:35:06 +0100723 partitions {
Geert Uytterhoevenf6531bb2015-12-21 11:33:49 +0100724 compatible = "fixed-partitions";
Geert Uytterhoeven27fa0a62015-11-10 09:35:06 +0100725 #address-cells = <1>;
726 #size-cells = <1>;
727
728 partition@0 {
729 label = "loader";
730 reg = <0x00000000 0x00080000>;
731 read-only;
732 };
733 partition@80000 {
734 label = "user";
735 reg = <0x00080000 0x00580000>;
736 read-only;
737 };
738 partition@600000 {
739 label = "flash";
740 reg = <0x00600000 0x03a00000>;
741 };
Geert Uytterhoevene02ee512014-02-04 16:24:04 +0100742 };
743 };
744};
Geert Uytterhoevenb16f05a2014-02-25 11:30:18 +0100745
746&msiof0 {
747 pinctrl-0 = <&msiof0_pins>;
748 pinctrl-names = "default";
749
750 status = "okay";
751
752 pmic: pmic@0 {
753 compatible = "renesas,r2a11302ft";
754 reg = <0>;
755 spi-max-frequency = <6000000>;
756 spi-cpol;
757 spi-cpha;
758 };
759};
Gaku Inami1d41f362014-06-03 21:02:59 +0900760
Simon Horman67234382016-11-06 21:20:23 +0100761&i2c1 {
762 pinctrl-0 = <&i2c1_pins>;
763 pinctrl-names = "i2c-exio1";
764};
765
Simon Horman897dfdb2014-06-09 17:50:28 +0900766&i2c2 {
767 pinctrl-0 = <&i2c2_pins>;
Wolfram Sang168a7092018-02-06 23:29:52 +0100768 pinctrl-names = "i2c-hdmi";
Simon Horman897dfdb2014-06-09 17:50:28 +0900769
Kuninori Morimotoa8d943e2014-11-03 17:48:49 -0800770 clock-frequency = <100000>;
Simon Horman897dfdb2014-06-09 17:50:28 +0900771};
772
Wolfram Sangbe932752018-02-06 23:29:53 +0100773&i2c4 {
774 pinctrl-0 = <&i2c4_pins>;
775 pinctrl-names = "i2c-exio4";
776};
777
Gaku Inami1d41f362014-06-03 21:02:59 +0900778&i2c6 {
Gaku Inami1d41f362014-06-03 21:02:59 +0900779 status = "okay";
Simon Horman897dfdb2014-06-09 17:50:28 +0900780 clock-frequency = <100000>;
Gaku Inami1d41f362014-06-03 21:02:59 +0900781
Geert Uytterhoevena6b42262015-03-09 21:06:55 +0100782 pmic@58 {
783 compatible = "dlg,da9063";
784 reg = <0x58>;
785 interrupt-parent = <&irqc0>;
786 interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
787 interrupt-controller;
788
789 rtc {
790 compatible = "dlg,da9063-rtc";
791 };
792
793 wdt {
794 compatible = "dlg,da9063-watchdog";
795 };
796 };
797
Gaku Inami1d41f362014-06-03 21:02:59 +0900798 vdd_dvfs: regulator@68 {
Steve Twissbd597f42014-08-22 15:26:55 +0100799 compatible = "dlg,da9210";
Gaku Inami1d41f362014-06-03 21:02:59 +0900800 reg = <0x68>;
Geert Uytterhoeven4be73382015-03-09 21:06:54 +0100801 interrupt-parent = <&irqc0>;
802 interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
Gaku Inami1d41f362014-06-03 21:02:59 +0900803
804 regulator-min-microvolt = <1000000>;
805 regulator-max-microvolt = <1000000>;
806 regulator-boot-on;
807 regulator-always-on;
808 };
809};
Gaku Inamia57004ec2014-06-03 21:03:10 +0900810
Sergei Shtylyov7540aeb2014-06-24 22:11:44 +0400811&pci0 {
812 status = "okay";
813 pinctrl-0 = <&usb0_pins>;
814 pinctrl-names = "default";
815};
816
817&pci1 {
818 status = "okay";
819 pinctrl-0 = <&usb1_pins>;
820 pinctrl-names = "default";
821};
822
Yoshihiro Shimodafc4a00b2014-10-24 19:45:07 +0900823&hsusb {
824 status = "okay";
825 pinctrl-0 = <&usb0_pins>;
826 pinctrl-names = "default";
827 renesas,enable-gpio = <&gpio5 31 GPIO_ACTIVE_HIGH>;
828};
829
Sergei Shtylyovdc80d8b2014-09-27 01:09:22 +0400830&usbphy {
831 status = "okay";
832};
833
Phil Edworthy998d7d62014-06-13 10:37:21 +0100834&pcie_bus_clk {
Sjoerd Simonsac6908b2016-04-06 14:52:53 +0200835 clock-frequency = <100000000>;
Phil Edworthy998d7d62014-06-13 10:37:21 +0100836};
837
838&pciec {
839 status = "okay";
840};
841
Gaku Inamia57004ec2014-06-03 21:03:10 +0900842&cpu0 {
843 cpu0-supply = <&vdd_dvfs>;
844};
sergei.shtylyov@cogentembedded.com2cf08812014-08-06 22:38:22 +0400845
Hans Verkuil84e3a742016-10-18 17:01:34 +0200846/* HDMI video input */
847&vin0 {
848 status = "okay";
849 pinctrl-0 = <&vin0_pins>;
850 pinctrl-names = "default";
851
852 port {
853 #address-cells = <1>;
854 #size-cells = <0>;
855
856 vin0ep2: endpoint {
857 remote-endpoint = <&adv7612_out>;
858 bus-width = <24>;
859 hsync-active = <0>;
860 vsync-active = <0>;
861 pclk-sample = <1>;
862 data-active = <1>;
863 };
864 };
865};
866
sergei.shtylyov@cogentembedded.com2cf08812014-08-06 22:38:22 +0400867/* composite video input */
868&vin1 {
Geert Uytterhoeven815446d2014-12-09 12:25:03 +0100869 status = "okay";
sergei.shtylyov@cogentembedded.com2cf08812014-08-06 22:38:22 +0400870 pinctrl-0 = <&vin1_pins>;
871 pinctrl-names = "default";
872
873 port {
874 #address-cells = <1>;
875 #size-cells = <0>;
876
877 vin1ep: endpoint {
878 remote-endpoint = <&adv7180>;
879 bus-width = <8>;
880 };
881 };
882};
Kuninori Morimotob160f612014-11-03 17:49:00 -0800883
884&rcar_sound {
885 pinctrl-0 = <&sound_pins &sound_clk_pins>;
886 pinctrl-names = "default";
887
Kuninori Morimotod2b541c2014-12-17 06:12:02 +0000888 /* Single DAI */
Kuninori Morimotob160f612014-11-03 17:49:00 -0800889 #sound-dai-cells = <0>;
890
891 status = "okay";
892
893 rcar_sound,dai {
894 dai0 {
Kuninori Morimoto5c6d4b92014-11-03 17:49:45 -0800895 playback = <&ssi0 &src2 &dvc0>;
896 capture = <&ssi1 &src3 &dvc1>;
Kuninori Morimotob160f612014-11-03 17:49:00 -0800897 };
898 };
899};
900
Kuninori Morimotob160f612014-11-03 17:49:00 -0800901&ssi1 {
Kuninori Morimotob160f612014-11-03 17:49:00 -0800902 shared-pin;
903};