blob: af6bd8fcd5a4e36425700050471c3fca97a52022 [file] [log] [blame]
Wolfram Sangcdbfaf62018-06-11 23:49:36 +09001// SPDX-License-Identifier: GPL-2.0
Hisashi Nakamura1f52c652013-09-04 12:46:49 +09002/*
3 * Device Tree Source for the Koelsch board
4 *
5 * Copyright (C) 2013 Renesas Electronics Corporation
Sergei Shtylyov08e8f0f2014-02-20 02:28:59 +03006 * Copyright (C) 2013-2014 Renesas Solutions Corp.
7 * Copyright (C) 2014 Cogent Embedded, Inc.
Hisashi Nakamura1f52c652013-09-04 12:46:49 +09008 */
9
Kuninori Morimotob160f612014-11-03 17:49:00 -080010/*
11 * SSI-AK4643
12 *
13 * SW1: 1: AK4643
14 * 2: CN22
15 * 3: ADV7511
16 *
17 * This command is required when Playback/Capture
18 *
19 * amixer set "LINEOUT Mixer DACL" on
Kuninori Morimoto5c6d4b92014-11-03 17:49:45 -080020 * amixer set "DVC Out" 100%
21 * amixer set "DVC In" 100%
22 *
23 * You can use Mute
24 *
25 * amixer set "DVC Out Mute" on
26 * amixer set "DVC In Mute" on
Kuninori Morimotoce474812014-11-11 04:37:05 +000027 *
28 * You can use Volume Ramp
29 *
30 * amixer set "DVC Out Ramp Up Rate" "0.125 dB/64 steps"
31 * amixer set "DVC Out Ramp Down Rate" "0.125 dB/512 steps"
32 * amixer set "DVC Out Ramp" on
33 * aplay xxx.wav &
34 * amixer set "DVC Out" 80% // Volume Down
35 * amixer set "DVC Out" 100% // Volume Up
Kuninori Morimotob160f612014-11-03 17:49:00 -080036 */
37
Hisashi Nakamura1f52c652013-09-04 12:46:49 +090038/dts-v1/;
Laurent Pinchart31c46cb2013-11-09 13:23:53 +010039#include "r8a7791.dtsi"
Laurent Pinchartf8e25352013-12-11 15:13:48 +010040#include <dt-bindings/gpio/gpio.h>
Magnus Damm7f168b12014-03-18 22:01:17 +090041#include <dt-bindings/input/input.h>
Hisashi Nakamura1f52c652013-09-04 12:46:49 +090042
43/ {
44 model = "Koelsch";
45 compatible = "renesas,koelsch", "renesas,r8a7791";
46
Laurent Pinchart5ba55fa2014-04-30 02:31:46 +020047 aliases {
Laurent Pinchart1f75cda2013-10-18 16:00:00 +020048 serial0 = &scif0;
49 serial1 = &scif1;
Simon Horman67234382016-11-06 21:20:23 +010050 i2c9 = &gpioi2c1;
Wolfram Sang168a7092018-02-06 23:29:52 +010051 i2c10 = &gpioi2c2;
Wolfram Sangbe932752018-02-06 23:29:53 +010052 i2c11 = &gpioi2c4;
Simon Horman67234382016-11-06 21:20:23 +010053 i2c12 = &i2cexio1;
Wolfram Sang168a7092018-02-06 23:29:52 +010054 i2c13 = &i2chdmi;
Wolfram Sangbe932752018-02-06 23:29:53 +010055 i2c14 = &i2cexio4;
Laurent Pinchart5ba55fa2014-04-30 02:31:46 +020056 };
57
Hisashi Nakamura1f52c652013-09-04 12:46:49 +090058 chosen {
Magnus Damm07d2bf92019-05-18 19:03:57 +090059 bootargs = "ignore_loglevel rw root=/dev/nfs ip=on";
Geert Uytterhoeven832dae12015-12-08 18:54:12 +010060 stdout-path = "serial0:115200n8";
Hisashi Nakamura1f52c652013-09-04 12:46:49 +090061 };
62
63 memory@40000000 {
64 device_type = "memory";
Takashi Yoshii4cd1bad2013-12-22 18:27:23 +090065 reg = <0 0x40000000 0 0x40000000>;
66 };
67
68 memory@200000000 {
69 device_type = "memory";
70 reg = <2 0x00000000 0 0x40000000>;
Hisashi Nakamura1f52c652013-09-04 12:46:49 +090071 };
72
73 lbsc {
74 #address-cells = <1>;
75 #size-cells = <1>;
76 };
Laurent Pinchartf8e25352013-12-11 15:13:48 +010077
Simon Hormand3aaec832014-11-12 17:59:36 +090078 keyboard {
Laurent Pinchartaff52742013-12-19 16:28:42 +010079 compatible = "gpio-keys";
80
Magnus Damm7f168b12014-03-18 22:01:17 +090081 key-1 {
82 gpios = <&gpio5 0 GPIO_ACTIVE_LOW>;
83 linux,code = <KEY_1>;
84 label = "SW2-1";
Sudeep Holla0cc16882015-10-21 11:10:11 +010085 wakeup-source;
Magnus Damm7f168b12014-03-18 22:01:17 +090086 debounce-interval = <20>;
87 };
88 key-2 {
89 gpios = <&gpio5 1 GPIO_ACTIVE_LOW>;
90 linux,code = <KEY_2>;
91 label = "SW2-2";
Sudeep Holla0cc16882015-10-21 11:10:11 +010092 wakeup-source;
Magnus Damm7f168b12014-03-18 22:01:17 +090093 debounce-interval = <20>;
94 };
95 key-3 {
96 gpios = <&gpio5 2 GPIO_ACTIVE_LOW>;
97 linux,code = <KEY_3>;
98 label = "SW2-3";
Sudeep Holla0cc16882015-10-21 11:10:11 +010099 wakeup-source;
Magnus Damm7f168b12014-03-18 22:01:17 +0900100 debounce-interval = <20>;
101 };
102 key-4 {
103 gpios = <&gpio5 3 GPIO_ACTIVE_LOW>;
104 linux,code = <KEY_4>;
105 label = "SW2-4";
Sudeep Holla0cc16882015-10-21 11:10:11 +0100106 wakeup-source;
Magnus Damm7f168b12014-03-18 22:01:17 +0900107 debounce-interval = <20>;
108 };
Laurent Pinchartaff52742013-12-19 16:28:42 +0100109 key-a {
110 gpios = <&gpio7 0 GPIO_ACTIVE_LOW>;
Magnus Damm7f168b12014-03-18 22:01:17 +0900111 linux,code = <KEY_A>;
Laurent Pinchartaff52742013-12-19 16:28:42 +0100112 label = "SW30";
Sudeep Holla0cc16882015-10-21 11:10:11 +0100113 wakeup-source;
Laurent Pinchartaff52742013-12-19 16:28:42 +0100114 debounce-interval = <20>;
115 };
116 key-b {
117 gpios = <&gpio7 1 GPIO_ACTIVE_LOW>;
Magnus Damm7f168b12014-03-18 22:01:17 +0900118 linux,code = <KEY_B>;
Laurent Pinchartaff52742013-12-19 16:28:42 +0100119 label = "SW31";
Sudeep Holla0cc16882015-10-21 11:10:11 +0100120 wakeup-source;
Laurent Pinchartaff52742013-12-19 16:28:42 +0100121 debounce-interval = <20>;
122 };
123 key-c {
124 gpios = <&gpio7 2 GPIO_ACTIVE_LOW>;
Magnus Damm7f168b12014-03-18 22:01:17 +0900125 linux,code = <KEY_C>;
Laurent Pinchartaff52742013-12-19 16:28:42 +0100126 label = "SW32";
Sudeep Holla0cc16882015-10-21 11:10:11 +0100127 wakeup-source;
Laurent Pinchartaff52742013-12-19 16:28:42 +0100128 debounce-interval = <20>;
129 };
130 key-d {
131 gpios = <&gpio7 3 GPIO_ACTIVE_LOW>;
Magnus Damm7f168b12014-03-18 22:01:17 +0900132 linux,code = <KEY_D>;
Laurent Pinchartaff52742013-12-19 16:28:42 +0100133 label = "SW33";
Sudeep Holla0cc16882015-10-21 11:10:11 +0100134 wakeup-source;
Laurent Pinchartaff52742013-12-19 16:28:42 +0100135 debounce-interval = <20>;
136 };
137 key-e {
138 gpios = <&gpio7 4 GPIO_ACTIVE_LOW>;
Magnus Damm7f168b12014-03-18 22:01:17 +0900139 linux,code = <KEY_E>;
Laurent Pinchartaff52742013-12-19 16:28:42 +0100140 label = "SW34";
Sudeep Holla0cc16882015-10-21 11:10:11 +0100141 wakeup-source;
Laurent Pinchartaff52742013-12-19 16:28:42 +0100142 debounce-interval = <20>;
143 };
144 key-f {
145 gpios = <&gpio7 5 GPIO_ACTIVE_LOW>;
Magnus Damm7f168b12014-03-18 22:01:17 +0900146 linux,code = <KEY_F>;
Laurent Pinchartaff52742013-12-19 16:28:42 +0100147 label = "SW35";
Sudeep Holla0cc16882015-10-21 11:10:11 +0100148 wakeup-source;
Laurent Pinchartaff52742013-12-19 16:28:42 +0100149 debounce-interval = <20>;
150 };
151 key-g {
152 gpios = <&gpio7 6 GPIO_ACTIVE_LOW>;
Magnus Damm7f168b12014-03-18 22:01:17 +0900153 linux,code = <KEY_G>;
Laurent Pinchartaff52742013-12-19 16:28:42 +0100154 label = "SW36";
Sudeep Holla0cc16882015-10-21 11:10:11 +0100155 wakeup-source;
Laurent Pinchartaff52742013-12-19 16:28:42 +0100156 debounce-interval = <20>;
157 };
158 };
159
Laurent Pinchartf8e25352013-12-11 15:13:48 +0100160 leds {
161 compatible = "gpio-leds";
162 led6 {
163 gpios = <&gpio2 19 GPIO_ACTIVE_HIGH>;
Geert Uytterhoeven352faa52014-11-06 13:49:58 +0100164 label = "LED6";
Laurent Pinchartf8e25352013-12-11 15:13:48 +0100165 };
166 led7 {
167 gpios = <&gpio2 20 GPIO_ACTIVE_HIGH>;
Geert Uytterhoeven352faa52014-11-06 13:49:58 +0100168 label = "LED7";
Laurent Pinchartf8e25352013-12-11 15:13:48 +0100169 };
170 led8 {
171 gpios = <&gpio2 21 GPIO_ACTIVE_HIGH>;
Geert Uytterhoeven352faa52014-11-06 13:49:58 +0100172 label = "LED8";
Laurent Pinchartf8e25352013-12-11 15:13:48 +0100173 };
174 };
Magnus Damm2c60a7d2014-02-12 18:54:04 +0900175
Geert Uytterhoevena704b272016-05-20 09:10:06 +0200176 vcc_sdhi0: regulator-vcc-sdhi0 {
Magnus Damm2c60a7d2014-02-12 18:54:04 +0900177 compatible = "regulator-fixed";
178
179 regulator-name = "SDHI0 Vcc";
180 regulator-min-microvolt = <3300000>;
181 regulator-max-microvolt = <3300000>;
182
183 gpio = <&gpio7 17 GPIO_ACTIVE_HIGH>;
184 enable-active-high;
185 };
186
Geert Uytterhoevena704b272016-05-20 09:10:06 +0200187 vccq_sdhi0: regulator-vccq-sdhi0 {
Magnus Damm2c60a7d2014-02-12 18:54:04 +0900188 compatible = "regulator-gpio";
189
190 regulator-name = "SDHI0 VccQ";
191 regulator-min-microvolt = <1800000>;
192 regulator-max-microvolt = <3300000>;
193
194 gpios = <&gpio2 12 GPIO_ACTIVE_HIGH>;
195 gpios-states = <1>;
196 states = <3300000 1
197 1800000 0>;
198 };
199
Geert Uytterhoevena704b272016-05-20 09:10:06 +0200200 vcc_sdhi1: regulator-vcc-sdhi1 {
Magnus Damm2c60a7d2014-02-12 18:54:04 +0900201 compatible = "regulator-fixed";
202
203 regulator-name = "SDHI1 Vcc";
204 regulator-min-microvolt = <3300000>;
205 regulator-max-microvolt = <3300000>;
206
207 gpio = <&gpio7 18 GPIO_ACTIVE_HIGH>;
208 enable-active-high;
209 };
210
Geert Uytterhoevena704b272016-05-20 09:10:06 +0200211 vccq_sdhi1: regulator-vccq-sdhi1 {
Magnus Damm2c60a7d2014-02-12 18:54:04 +0900212 compatible = "regulator-gpio";
213
214 regulator-name = "SDHI1 VccQ";
215 regulator-min-microvolt = <1800000>;
216 regulator-max-microvolt = <3300000>;
217
218 gpios = <&gpio2 13 GPIO_ACTIVE_HIGH>;
219 gpios-states = <1>;
220 states = <3300000 1
221 1800000 0>;
222 };
223
Geert Uytterhoevena704b272016-05-20 09:10:06 +0200224 vcc_sdhi2: regulator-vcc-sdhi2 {
Magnus Damm2c60a7d2014-02-12 18:54:04 +0900225 compatible = "regulator-fixed";
226
227 regulator-name = "SDHI2 Vcc";
228 regulator-min-microvolt = <3300000>;
229 regulator-max-microvolt = <3300000>;
230
231 gpio = <&gpio7 19 GPIO_ACTIVE_HIGH>;
232 enable-active-high;
233 };
234
Geert Uytterhoevena704b272016-05-20 09:10:06 +0200235 vccq_sdhi2: regulator-vccq-sdhi2 {
Magnus Damm2c60a7d2014-02-12 18:54:04 +0900236 compatible = "regulator-gpio";
237
238 regulator-name = "SDHI2 VccQ";
239 regulator-min-microvolt = <1800000>;
240 regulator-max-microvolt = <3300000>;
241
242 gpios = <&gpio2 26 GPIO_ACTIVE_HIGH>;
243 gpios-states = <1>;
244 states = <3300000 1
245 1800000 0>;
246 };
Kuninori Morimotob160f612014-11-03 17:49:00 -0800247
Simon Horman62c7e9d2016-03-18 08:17:57 +0900248 audio_clock: audio_clock {
Kuninori Morimotoc19c84f2015-08-20 03:09:30 +0000249 compatible = "fixed-clock";
250 #clock-cells = <0>;
251 clock-frequency = <11289600>;
Kuninori Morimotoc19c84f2015-08-20 03:09:30 +0000252 };
253
Kuninori Morimoto18f88d22015-07-14 04:57:05 +0000254 rsnd_ak4643: sound {
Kuninori Morimotob160f612014-11-03 17:49:00 -0800255 compatible = "simple-audio-card";
256
257 simple-audio-card,format = "left_j";
258 simple-audio-card,bitclock-master = <&sndcodec>;
259 simple-audio-card,frame-master = <&sndcodec>;
260
261 sndcpu: simple-audio-card,cpu {
262 sound-dai = <&rcar_sound>;
263 };
264
265 sndcodec: simple-audio-card,codec {
266 sound-dai = <&ak4643>;
Kuninori Morimotoc19c84f2015-08-20 03:09:30 +0000267 clocks = <&audio_clock>;
Kuninori Morimotob160f612014-11-03 17:49:00 -0800268 };
269 };
Laurent Pinchart83a07312014-12-11 01:42:12 +0200270
Hans Verkuil84e3a7462016-10-18 17:01:34 +0200271 hdmi-in {
272 compatible = "hdmi-connector";
273 type = "a";
274
275 port {
276 hdmi_con_in: endpoint {
277 remote-endpoint = <&adv7612_in>;
278 };
279 };
280 };
281
Simon Hormand72f4f02017-11-02 10:18:05 +0100282 cec_clock: cec-clock {
283 compatible = "fixed-clock";
284 #clock-cells = <0>;
285 clock-frequency = <12000000>;
286 };
287
Laurent Pinchart83a07312014-12-11 01:42:12 +0200288 hdmi-out {
289 compatible = "hdmi-connector";
290 type = "a";
291
292 port {
Hans Verkuil84e3a7462016-10-18 17:01:34 +0200293 hdmi_con_out: endpoint {
Laurent Pinchart83a07312014-12-11 01:42:12 +0200294 remote-endpoint = <&adv7511_out>;
295 };
296 };
297 };
Laurent Pinchartcd21cb42015-02-26 11:21:23 +0200298
299 x2_clk: x2-clock {
300 compatible = "fixed-clock";
301 #clock-cells = <0>;
Geert Uytterhoevenebf06af2017-04-03 11:55:19 +0200302 clock-frequency = <74250000>;
Laurent Pinchartcd21cb42015-02-26 11:21:23 +0200303 };
304
305 x13_clk: x13-clock {
306 compatible = "fixed-clock";
307 #clock-cells = <0>;
308 clock-frequency = <148500000>;
309 };
Simon Horman67234382016-11-06 21:20:23 +0100310
311 gpioi2c1: i2c-9 {
312 #address-cells = <1>;
313 #size-cells = <0>;
314 compatible = "i2c-gpio";
315 status = "disabled";
Geert Uytterhoevenc14f3ec2017-11-30 13:57:25 +0100316 scl-gpios = <&gpio7 15 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
Wolfram Sang168a7092018-02-06 23:29:52 +0100317 sda-gpios = <&gpio7 16 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
318 i2c-gpio,delay-us = <5>;
319 };
320
321 gpioi2c2: i2c-10 {
322 #address-cells = <1>;
323 #size-cells = <0>;
324 compatible = "i2c-gpio";
325 status = "disabled";
326 scl-gpios = <&gpio2 6 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
327 sda-gpios = <&gpio2 7 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
Simon Horman67234382016-11-06 21:20:23 +0100328 i2c-gpio,delay-us = <5>;
329 };
330
Wolfram Sangbe932752018-02-06 23:29:53 +0100331 gpioi2c4: i2c-11 {
332 #address-cells = <1>;
333 #size-cells = <0>;
334 compatible = "i2c-gpio";
335 status = "disabled";
336 scl-gpios = <&gpio7 13 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
337 sda-gpios = <&gpio7 14 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
338 i2c-gpio,delay-us = <5>;
339 };
340
Simon Horman67234382016-11-06 21:20:23 +0100341 /*
342 * I2C1 is routed to EXIO connector B, pins 64 (SCL) + 66 (SDA).
343 * A fallback to GPIO is provided.
344 */
345 i2cexio1: i2c-12 {
346 compatible = "i2c-demux-pinctrl";
347 i2c-parent = <&i2c1>, <&gpioi2c1>;
348 i2c-bus-name = "i2c-exio1";
349 #address-cells = <1>;
350 #size-cells = <0>;
351 };
Wolfram Sang168a7092018-02-06 23:29:52 +0100352
353 /*
354 * A fallback to GPIO is provided for I2C2.
355 */
356 i2chdmi: i2c-13 {
357 compatible = "i2c-demux-pinctrl";
358 i2c-parent = <&i2c2>, <&gpioi2c2>;
359 i2c-bus-name = "i2c-hdmi";
360 #address-cells = <1>;
361 #size-cells = <0>;
362
363 ak4643: codec@12 {
364 compatible = "asahi-kasei,ak4643";
365 #sound-dai-cells = <0>;
366 reg = <0x12>;
367 };
368
369 composite-in@20 {
370 compatible = "adi,adv7180";
371 reg = <0x20>;
372 remote = <&vin1>;
373
374 port {
375 adv7180: endpoint {
376 bus-width = <8>;
377 remote-endpoint = <&vin1ep>;
378 };
379 };
380 };
381
382 hdmi@39 {
383 compatible = "adi,adv7511w";
384 reg = <0x39>;
385 interrupt-parent = <&gpio3>;
386 interrupts = <29 IRQ_TYPE_LEVEL_LOW>;
387 clocks = <&cec_clock>;
388 clock-names = "cec";
389
390 adi,input-depth = <8>;
391 adi,input-colorspace = "rgb";
392 adi,input-clock = "1x";
393 adi,input-style = <1>;
394 adi,input-justification = "evenly";
395
396 ports {
397 #address-cells = <1>;
398 #size-cells = <0>;
399
400 port@0 {
401 reg = <0>;
402 adv7511_in: endpoint {
403 remote-endpoint = <&du_out_rgb>;
404 };
405 };
406
407 port@1 {
408 reg = <1>;
409 adv7511_out: endpoint {
410 remote-endpoint = <&hdmi_con_out>;
411 };
412 };
413 };
414 };
415
416 hdmi-in@4c {
417 compatible = "adi,adv7612";
418 reg = <0x4c>;
419 interrupt-parent = <&gpio4>;
420 interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
421 default-input = <0>;
422
423 ports {
424 #address-cells = <1>;
425 #size-cells = <0>;
426
427 port@0 {
428 reg = <0>;
429 adv7612_in: endpoint {
430 remote-endpoint = <&hdmi_con_in>;
431 };
432 };
433
434 port@2 {
435 reg = <2>;
436 adv7612_out: endpoint {
437 remote-endpoint = <&vin0ep2>;
438 };
439 };
440 };
441 };
442
443 eeprom@50 {
444 compatible = "renesas,r1ex24002", "atmel,24c02";
445 reg = <0x50>;
446 pagesize = <16>;
447 };
448 };
Wolfram Sangbe932752018-02-06 23:29:53 +0100449
450 /*
451 * I2C4 is routed to EXIO connector E, pins 37 (SCL) + 39 (SDA).
452 * A fallback to GPIO is provided.
453 */
454 i2cexio4: i2c-14 {
455 compatible = "i2c-demux-pinctrl";
456 i2c-parent = <&i2c4>, <&gpioi2c4>;
457 i2c-bus-name = "i2c-exio4";
458 #address-cells = <1>;
459 #size-cells = <0>;
460 };
Laurent Pinchartf8e25352013-12-11 15:13:48 +0100461};
462
Laurent Pinchart0ee56d42014-01-21 16:02:54 +0100463&du {
464 pinctrl-0 = <&du_pins>;
465 pinctrl-names = "default";
466 status = "okay";
467
Laurent Pincharte5c3f472018-04-20 14:57:53 +0300468 clocks = <&cpg CPG_MOD 724>, <&cpg CPG_MOD 723>,
Laurent Pinchartcd21cb42015-02-26 11:21:23 +0200469 <&x13_clk>, <&x2_clk>;
Laurent Pincharte5c3f472018-04-20 14:57:53 +0300470 clock-names = "du.0", "du.1", "dclkin.0", "dclkin.1";
Laurent Pinchartcd21cb42015-02-26 11:21:23 +0200471
Laurent Pinchart0ee56d42014-01-21 16:02:54 +0100472 ports {
Laurent Pinchart83a07312014-12-11 01:42:12 +0200473 port@0 {
474 endpoint {
475 remote-endpoint = <&adv7511_in>;
476 };
477 };
Laurent Pincharte5c3f472018-04-20 14:57:53 +0300478 };
479};
480
481&lvds0 {
Laurent Pincharte5c3f472018-04-20 14:57:53 +0300482 ports {
Laurent Pinchart0ee56d42014-01-21 16:02:54 +0100483 port@1 {
484 lvds_connector: endpoint {
485 };
486 };
487 };
488};
489
Laurent Pinchartfcf0c722013-12-11 15:13:50 +0100490&extal_clk {
491 clock-frequency = <20000000>;
492};
493
Laurent Pinchartf8e25352013-12-11 15:13:48 +0100494&pfc {
Geert Uytterhoeven338f7eb2016-01-29 11:17:21 +0100495 pinctrl-0 = <&scif_clk_pins>;
496 pinctrl-names = "default";
497
Simon Horman67234382016-11-06 21:20:23 +0100498 i2c1_pins: i2c1 {
499 groups = "i2c1";
500 function = "i2c1";
501 };
502
Wolfram Sange6a4c002014-03-10 12:26:59 +0100503 i2c2_pins: i2c2 {
Simon Hormanfec7b9f2016-03-18 07:55:10 +0900504 groups = "i2c2";
505 function = "i2c2";
Wolfram Sang38c53512014-02-17 11:44:42 +0100506 };
507
Wolfram Sangbe932752018-02-06 23:29:53 +0100508 i2c4_pins: i2c4 {
509 groups = "i2c4_c";
510 function = "i2c4";
511 };
512
Laurent Pinchartafba9412014-02-16 22:32:01 +0100513 du_pins: du {
Simon Hormanfec7b9f2016-03-18 07:55:10 +0900514 groups = "du_rgb888", "du_sync", "du_disp", "du_clk_out_0";
515 function = "du";
Laurent Pinchartafba9412014-02-16 22:32:01 +0100516 };
517
Geert Uytterhoevenb71b8342016-06-10 15:00:55 +0200518 scif0_pins: scif0 {
Simon Hormanfec7b9f2016-03-18 07:55:10 +0900519 groups = "scif0_data_d";
520 function = "scif0";
Laurent Pinchartf8e25352013-12-11 15:13:48 +0100521 };
522
Geert Uytterhoevenb71b8342016-06-10 15:00:55 +0200523 scif1_pins: scif1 {
Simon Hormanfec7b9f2016-03-18 07:55:10 +0900524 groups = "scif1_data_d";
525 function = "scif1";
Laurent Pinchartf8e25352013-12-11 15:13:48 +0100526 };
Geert Uytterhoevene02ee512014-02-04 16:24:04 +0100527
Geert Uytterhoeven338f7eb2016-01-29 11:17:21 +0100528 scif_clk_pins: scif_clk {
Simon Hormanfec7b9f2016-03-18 07:55:10 +0900529 groups = "scif_clk";
530 function = "scif_clk";
Geert Uytterhoeven338f7eb2016-01-29 11:17:21 +0100531 };
532
Sergei Shtylyov08e8f0f2014-02-20 02:28:59 +0300533 ether_pins: ether {
Simon Hormanfec7b9f2016-03-18 07:55:10 +0900534 groups = "eth_link", "eth_mdio", "eth_rmii";
535 function = "eth";
Sergei Shtylyov08e8f0f2014-02-20 02:28:59 +0300536 };
537
538 phy1_pins: phy1 {
Simon Hormanfec7b9f2016-03-18 07:55:10 +0900539 groups = "intc_irq0";
540 function = "intc";
Sergei Shtylyov08e8f0f2014-02-20 02:28:59 +0300541 };
542
Marek Vasut185555f2019-05-15 10:23:26 +0200543 pmic_irq_pins: pmicirq {
544 groups = "intc_irq2";
545 function = "intc";
546 };
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 Verkuil84e3a7462016-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
Geert Uytterhoeven9245dcc2018-02-08 11:34:11 +0100646&rwdt {
647 timeout-sec = <60>;
648 status = "okay";
649};
650
Valentine Barshak760c2772014-01-14 21:05:41 +0400651&sata0 {
652 status = "okay";
653};
Geert Uytterhoevene02ee512014-02-04 16:24:04 +0100654
Laurent Pinchart5ba55fa2014-04-30 02:31:46 +0200655&scif0 {
656 pinctrl-0 = <&scif0_pins>;
657 pinctrl-names = "default";
658
659 status = "okay";
660};
661
662&scif1 {
663 pinctrl-0 = <&scif1_pins>;
664 pinctrl-names = "default";
665
666 status = "okay";
667};
668
Geert Uytterhoeven338f7eb2016-01-29 11:17:21 +0100669&scif_clk {
670 clock-frequency = <14745600>;
Geert Uytterhoeven338f7eb2016-01-29 11:17:21 +0100671};
672
Magnus Damm2c60a7d2014-02-12 18:54:04 +0900673&sdhi0 {
674 pinctrl-0 = <&sdhi0_pins>;
Simon Hormand3cec9222016-09-13 12:57:02 +0200675 pinctrl-1 = <&sdhi0_pins_uhs>;
676 pinctrl-names = "default", "state_uhs";
Magnus Damm2c60a7d2014-02-12 18:54:04 +0900677
678 vmmc-supply = <&vcc_sdhi0>;
679 vqmmc-supply = <&vccq_sdhi0>;
680 cd-gpios = <&gpio6 6 GPIO_ACTIVE_LOW>;
681 wp-gpios = <&gpio6 7 GPIO_ACTIVE_HIGH>;
Simon Hormand3cec9222016-09-13 12:57:02 +0200682 sd-uhs-sdr50;
Simon Horman07267292016-11-03 16:07:24 +0100683 sd-uhs-sdr104;
Magnus Damm2c60a7d2014-02-12 18:54:04 +0900684 status = "okay";
685};
686
687&sdhi1 {
688 pinctrl-0 = <&sdhi1_pins>;
Simon Hormand3cec9222016-09-13 12:57:02 +0200689 pinctrl-1 = <&sdhi1_pins_uhs>;
690 pinctrl-names = "default", "state_uhs";
Magnus Damm2c60a7d2014-02-12 18:54:04 +0900691
692 vmmc-supply = <&vcc_sdhi1>;
693 vqmmc-supply = <&vccq_sdhi1>;
694 cd-gpios = <&gpio6 14 GPIO_ACTIVE_LOW>;
695 wp-gpios = <&gpio6 15 GPIO_ACTIVE_HIGH>;
Simon Hormand3cec9222016-09-13 12:57:02 +0200696 sd-uhs-sdr50;
Magnus Damm2c60a7d2014-02-12 18:54:04 +0900697 status = "okay";
698};
699
700&sdhi2 {
701 pinctrl-0 = <&sdhi2_pins>;
Simon Hormand3cec9222016-09-13 12:57:02 +0200702 pinctrl-1 = <&sdhi2_pins_uhs>;
703 pinctrl-names = "default", "state_uhs";
Magnus Damm2c60a7d2014-02-12 18:54:04 +0900704
705 vmmc-supply = <&vcc_sdhi2>;
706 vqmmc-supply = <&vccq_sdhi2>;
707 cd-gpios = <&gpio6 22 GPIO_ACTIVE_LOW>;
Simon Hormand3cec9222016-09-13 12:57:02 +0200708 sd-uhs-sdr50;
Magnus Damm2c60a7d2014-02-12 18:54:04 +0900709 status = "okay";
710};
711
Geert Uytterhoeven6f3e4ee2014-02-25 11:30:14 +0100712&qspi {
Geert Uytterhoevene02ee512014-02-04 16:24:04 +0100713 pinctrl-0 = <&qspi_pins>;
714 pinctrl-names = "default";
715
716 status = "okay";
717
718 flash: flash@0 {
Geert Uytterhoevencc3db022015-05-20 20:16:54 +0200719 compatible = "spansion,s25fl512s", "jedec,spi-nor";
Geert Uytterhoevene02ee512014-02-04 16:24:04 +0100720 reg = <0>;
721 spi-max-frequency = <30000000>;
Geert Uytterhoevened560832014-04-14 19:35:58 +0200722 spi-tx-bus-width = <4>;
723 spi-rx-bus-width = <4>;
Hisashi Nakamura9c5becc2014-12-09 09:37:12 +0900724 spi-cpha;
725 spi-cpol;
Geert Uytterhoevene02ee512014-02-04 16:24:04 +0100726 m25p,fast-read;
727
Geert Uytterhoeven27fa0a62015-11-10 09:35:06 +0100728 partitions {
Geert Uytterhoevenf6531bb2015-12-21 11:33:49 +0100729 compatible = "fixed-partitions";
Geert Uytterhoeven27fa0a62015-11-10 09:35:06 +0100730 #address-cells = <1>;
731 #size-cells = <1>;
732
733 partition@0 {
734 label = "loader";
735 reg = <0x00000000 0x00080000>;
736 read-only;
737 };
738 partition@80000 {
739 label = "user";
740 reg = <0x00080000 0x00580000>;
741 read-only;
742 };
743 partition@600000 {
744 label = "flash";
745 reg = <0x00600000 0x03a00000>;
746 };
Geert Uytterhoevene02ee512014-02-04 16:24:04 +0100747 };
748 };
749};
Geert Uytterhoevenb16f05a2014-02-25 11:30:18 +0100750
751&msiof0 {
752 pinctrl-0 = <&msiof0_pins>;
753 pinctrl-names = "default";
754
755 status = "okay";
756
757 pmic: pmic@0 {
758 compatible = "renesas,r2a11302ft";
759 reg = <0>;
760 spi-max-frequency = <6000000>;
761 spi-cpol;
762 spi-cpha;
763 };
764};
Gaku Inami1d41f362014-06-03 21:02:59 +0900765
Simon Horman67234382016-11-06 21:20:23 +0100766&i2c1 {
767 pinctrl-0 = <&i2c1_pins>;
768 pinctrl-names = "i2c-exio1";
769};
770
Simon Horman897dfdb2014-06-09 17:50:28 +0900771&i2c2 {
772 pinctrl-0 = <&i2c2_pins>;
Wolfram Sang168a7092018-02-06 23:29:52 +0100773 pinctrl-names = "i2c-hdmi";
Simon Horman897dfdb2014-06-09 17:50:28 +0900774
Kuninori Morimotoa8d943e2014-11-03 17:48:49 -0800775 clock-frequency = <100000>;
Simon Horman897dfdb2014-06-09 17:50:28 +0900776};
777
Wolfram Sangbe932752018-02-06 23:29:53 +0100778&i2c4 {
779 pinctrl-0 = <&i2c4_pins>;
780 pinctrl-names = "i2c-exio4";
781};
782
Gaku Inami1d41f362014-06-03 21:02:59 +0900783&i2c6 {
Marek Vasut185555f2019-05-15 10:23:26 +0200784 pinctrl-names = "default";
785 pinctrl-0 = <&pmic_irq_pins>;
Gaku Inami1d41f362014-06-03 21:02:59 +0900786 status = "okay";
Simon Horman897dfdb2014-06-09 17:50:28 +0900787 clock-frequency = <100000>;
Gaku Inami1d41f362014-06-03 21:02:59 +0900788
Geert Uytterhoevena6b42262015-03-09 21:06:55 +0100789 pmic@58 {
790 compatible = "dlg,da9063";
791 reg = <0x58>;
792 interrupt-parent = <&irqc0>;
793 interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
794 interrupt-controller;
795
796 rtc {
797 compatible = "dlg,da9063-rtc";
798 };
799
800 wdt {
801 compatible = "dlg,da9063-watchdog";
802 };
803 };
804
Gaku Inami1d41f362014-06-03 21:02:59 +0900805 vdd_dvfs: regulator@68 {
Steve Twissbd597f42014-08-22 15:26:55 +0100806 compatible = "dlg,da9210";
Gaku Inami1d41f362014-06-03 21:02:59 +0900807 reg = <0x68>;
Geert Uytterhoeven4be73382015-03-09 21:06:54 +0100808 interrupt-parent = <&irqc0>;
809 interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
Gaku Inami1d41f362014-06-03 21:02:59 +0900810
811 regulator-min-microvolt = <1000000>;
812 regulator-max-microvolt = <1000000>;
813 regulator-boot-on;
814 regulator-always-on;
815 };
816};
Gaku Inamia57004ec2014-06-03 21:03:10 +0900817
Sergei Shtylyov7540aeb2014-06-24 22:11:44 +0400818&pci0 {
819 status = "okay";
820 pinctrl-0 = <&usb0_pins>;
821 pinctrl-names = "default";
822};
823
824&pci1 {
825 status = "okay";
826 pinctrl-0 = <&usb1_pins>;
827 pinctrl-names = "default";
828};
829
Yoshihiro Shimodafc4a00b2014-10-24 19:45:07 +0900830&hsusb {
831 status = "okay";
832 pinctrl-0 = <&usb0_pins>;
833 pinctrl-names = "default";
834 renesas,enable-gpio = <&gpio5 31 GPIO_ACTIVE_HIGH>;
835};
836
Sergei Shtylyovdc80d8b2014-09-27 01:09:22 +0400837&usbphy {
838 status = "okay";
839};
840
Phil Edworthy998d7d62014-06-13 10:37:21 +0100841&pcie_bus_clk {
Sjoerd Simonsac6908b2016-04-06 14:52:53 +0200842 clock-frequency = <100000000>;
Phil Edworthy998d7d62014-06-13 10:37:21 +0100843};
844
845&pciec {
846 status = "okay";
847};
848
Gaku Inamia57004ec2014-06-03 21:03:10 +0900849&cpu0 {
850 cpu0-supply = <&vdd_dvfs>;
851};
sergei.shtylyov@cogentembedded.com2cf08812014-08-06 22:38:22 +0400852
Hans Verkuil84e3a7462016-10-18 17:01:34 +0200853/* HDMI video input */
854&vin0 {
855 status = "okay";
856 pinctrl-0 = <&vin0_pins>;
857 pinctrl-names = "default";
858
859 port {
Hans Verkuil84e3a7462016-10-18 17:01:34 +0200860 vin0ep2: endpoint {
861 remote-endpoint = <&adv7612_out>;
862 bus-width = <24>;
863 hsync-active = <0>;
864 vsync-active = <0>;
865 pclk-sample = <1>;
866 data-active = <1>;
867 };
868 };
869};
870
sergei.shtylyov@cogentembedded.com2cf08812014-08-06 22:38:22 +0400871/* composite video input */
872&vin1 {
Geert Uytterhoeven815446d2014-12-09 12:25:03 +0100873 status = "okay";
sergei.shtylyov@cogentembedded.com2cf08812014-08-06 22:38:22 +0400874 pinctrl-0 = <&vin1_pins>;
875 pinctrl-names = "default";
876
877 port {
sergei.shtylyov@cogentembedded.com2cf08812014-08-06 22:38:22 +0400878 vin1ep: endpoint {
879 remote-endpoint = <&adv7180>;
880 bus-width = <8>;
881 };
882 };
883};
Kuninori Morimotob160f612014-11-03 17:49:00 -0800884
885&rcar_sound {
886 pinctrl-0 = <&sound_pins &sound_clk_pins>;
887 pinctrl-names = "default";
888
Kuninori Morimotod2b541c2014-12-17 06:12:02 +0000889 /* Single DAI */
Kuninori Morimotob160f612014-11-03 17:49:00 -0800890 #sound-dai-cells = <0>;
891
892 status = "okay";
893
894 rcar_sound,dai {
895 dai0 {
Kuninori Morimoto5c6d4b92014-11-03 17:49:45 -0800896 playback = <&ssi0 &src2 &dvc0>;
897 capture = <&ssi1 &src3 &dvc1>;
Kuninori Morimotob160f612014-11-03 17:49:00 -0800898 };
899 };
900};
901
Kuninori Morimotob160f612014-11-03 17:49:00 -0800902&ssi1 {
Kuninori Morimotob160f612014-11-03 17:49:00 -0800903 shared-pin;
904};