Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu
[deliverable/linux.git] / arch / arm / boot / dts / r8a7790-lager.dts
1 /*
2 * Device Tree Source for the Lager board
3 *
4 * Copyright (C) 2013-2014 Renesas Solutions Corp.
5 * Copyright (C) 2014 Cogent Embedded, Inc.
6 * Copyright (C) 2015-2016 Renesas Electronics Corporation
7 *
8 * This file is licensed under the terms of the GNU General Public License
9 * version 2. This program is licensed "as is" without any warranty of any
10 * kind, whether express or implied.
11 */
12
13 /*
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
23 * 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
30 *
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
39 */
40
41 /dts-v1/;
42 #include "r8a7790.dtsi"
43 #include <dt-bindings/gpio/gpio.h>
44 #include <dt-bindings/input/input.h>
45
46 / {
47 model = "Lager";
48 compatible = "renesas,lager", "renesas,r8a7790";
49
50 aliases {
51 serial0 = &scif0;
52 serial1 = &scifa1;
53 i2c8 = "i2cexio";
54 };
55
56 chosen {
57 bootargs = "ignore_loglevel rw root=/dev/nfs ip=dhcp";
58 stdout-path = "serial0:115200n8";
59 };
60
61 memory@40000000 {
62 device_type = "memory";
63 reg = <0 0x40000000 0 0x40000000>;
64 };
65
66 memory@140000000 {
67 device_type = "memory";
68 reg = <1 0x40000000 0 0xc0000000>;
69 };
70
71 lbsc {
72 #address-cells = <1>;
73 #size-cells = <1>;
74 };
75
76 keyboard {
77 compatible = "gpio-keys";
78
79 button@1 {
80 linux,code = <KEY_1>;
81 label = "SW2-1";
82 wakeup-source;
83 debounce-interval = <20>;
84 gpios = <&gpio1 14 GPIO_ACTIVE_LOW>;
85 };
86 button@2 {
87 linux,code = <KEY_2>;
88 label = "SW2-2";
89 wakeup-source;
90 debounce-interval = <20>;
91 gpios = <&gpio1 24 GPIO_ACTIVE_LOW>;
92 };
93 button@3 {
94 linux,code = <KEY_3>;
95 label = "SW2-3";
96 wakeup-source;
97 debounce-interval = <20>;
98 gpios = <&gpio1 26 GPIO_ACTIVE_LOW>;
99 };
100 button@4 {
101 linux,code = <KEY_4>;
102 label = "SW2-4";
103 wakeup-source;
104 debounce-interval = <20>;
105 gpios = <&gpio1 28 GPIO_ACTIVE_LOW>;
106 };
107 };
108
109 leds {
110 compatible = "gpio-leds";
111 led6 {
112 gpios = <&gpio4 22 GPIO_ACTIVE_HIGH>;
113 };
114 led7 {
115 gpios = <&gpio4 23 GPIO_ACTIVE_HIGH>;
116 };
117 led8 {
118 gpios = <&gpio5 17 GPIO_ACTIVE_HIGH>;
119 };
120 };
121
122 fixedregulator3v3: fixedregulator@0 {
123 compatible = "regulator-fixed";
124 regulator-name = "fixed-3.3V";
125 regulator-min-microvolt = <3300000>;
126 regulator-max-microvolt = <3300000>;
127 regulator-boot-on;
128 regulator-always-on;
129 };
130
131 vcc_sdhi0: regulator@1 {
132 compatible = "regulator-fixed";
133
134 regulator-name = "SDHI0 Vcc";
135 regulator-min-microvolt = <3300000>;
136 regulator-max-microvolt = <3300000>;
137
138 gpio = <&gpio5 24 GPIO_ACTIVE_HIGH>;
139 enable-active-high;
140 };
141
142 vccq_sdhi0: regulator@2 {
143 compatible = "regulator-gpio";
144
145 regulator-name = "SDHI0 VccQ";
146 regulator-min-microvolt = <1800000>;
147 regulator-max-microvolt = <3300000>;
148
149 gpios = <&gpio5 29 GPIO_ACTIVE_HIGH>;
150 gpios-states = <1>;
151 states = <3300000 1
152 1800000 0>;
153 };
154
155 vcc_sdhi2: regulator@3 {
156 compatible = "regulator-fixed";
157
158 regulator-name = "SDHI2 Vcc";
159 regulator-min-microvolt = <3300000>;
160 regulator-max-microvolt = <3300000>;
161
162 gpio = <&gpio5 25 GPIO_ACTIVE_HIGH>;
163 enable-active-high;
164 };
165
166 vccq_sdhi2: regulator@4 {
167 compatible = "regulator-gpio";
168
169 regulator-name = "SDHI2 VccQ";
170 regulator-min-microvolt = <1800000>;
171 regulator-max-microvolt = <3300000>;
172
173 gpios = <&gpio5 30 GPIO_ACTIVE_HIGH>;
174 gpios-states = <1>;
175 states = <3300000 1
176 1800000 0>;
177 };
178
179 audio_clock: audio_clock {
180 compatible = "fixed-clock";
181 #clock-cells = <0>;
182 clock-frequency = <11289600>;
183 };
184
185 rsnd_ak4643: sound {
186 compatible = "simple-audio-card";
187
188 simple-audio-card,format = "left_j";
189 simple-audio-card,bitclock-master = <&sndcodec>;
190 simple-audio-card,frame-master = <&sndcodec>;
191
192 sndcpu: simple-audio-card,cpu {
193 sound-dai = <&rcar_sound>;
194 };
195
196 sndcodec: simple-audio-card,codec {
197 sound-dai = <&ak4643>;
198 clocks = <&audio_clock>;
199 };
200 };
201
202 vga-encoder {
203 compatible = "adi,adv7123";
204
205 ports {
206 #address-cells = <1>;
207 #size-cells = <0>;
208
209 port@0 {
210 reg = <0>;
211 adv7123_in: endpoint {
212 remote-endpoint = <&du_out_rgb>;
213 };
214 };
215 port@1 {
216 reg = <1>;
217 adv7123_out: endpoint {
218 remote-endpoint = <&vga_in>;
219 };
220 };
221 };
222 };
223
224 vga {
225 compatible = "vga-connector";
226
227 port {
228 vga_in: endpoint {
229 remote-endpoint = <&adv7123_out>;
230 };
231 };
232 };
233
234 hdmi-out {
235 compatible = "hdmi-connector";
236 type = "a";
237
238 port {
239 hdmi_con: endpoint {
240 remote-endpoint = <&adv7511_out>;
241 };
242 };
243 };
244
245 x2_clk: x2-clock {
246 compatible = "fixed-clock";
247 #clock-cells = <0>;
248 clock-frequency = <148500000>;
249 };
250
251 x13_clk: x13-clock {
252 compatible = "fixed-clock";
253 #clock-cells = <0>;
254 clock-frequency = <148500000>;
255 };
256
257 /*
258 * IIC0/I2C0 is routed to EXIO connector A, pins 114 (SCL) + 116 (SDA) only.
259 * We use the I2C demuxer, so the desired IP core can be selected at runtime
260 * depending on the use case (e.g. DMA with IIC0 or slave support with I2C0).
261 * Note: For testing the I2C slave feature, it is convenient to connect this
262 * bus with IIC3 on pins 110 (SCL) + 112 (SDA), select I2C0 at runtime, and
263 * instantiate the slave device at runtime according to the documentation.
264 * You can then communicate with the slave via IIC3.
265 */
266 i2cexio: i2c@8 {
267 compatible = "i2c-demux-pinctrl";
268 i2c-parent = <&iic0>, <&i2c0>;
269 i2c-bus-name = "i2c-exio";
270 #address-cells = <1>;
271 #size-cells = <0>;
272 };
273 };
274
275 &du {
276 pinctrl-0 = <&du_pins>;
277 pinctrl-names = "default";
278 status = "okay";
279
280 clocks = <&mstp7_clks R8A7790_CLK_DU0>,
281 <&mstp7_clks R8A7790_CLK_DU1>,
282 <&mstp7_clks R8A7790_CLK_DU2>,
283 <&mstp7_clks R8A7790_CLK_LVDS0>,
284 <&mstp7_clks R8A7790_CLK_LVDS1>,
285 <&x13_clk>, <&x2_clk>;
286 clock-names = "du.0", "du.1", "du.2", "lvds.0", "lvds.1",
287 "dclkin.0", "dclkin.1";
288
289 ports {
290 port@0 {
291 endpoint {
292 remote-endpoint = <&adv7123_in>;
293 };
294 };
295 port@1 {
296 endpoint {
297 remote-endpoint = <&adv7511_in>;
298 };
299 };
300 port@2 {
301 lvds_connector: endpoint {
302 };
303 };
304 };
305 };
306
307 &extal_clk {
308 clock-frequency = <20000000>;
309 };
310
311 &pfc {
312 pinctrl-0 = <&scif_clk_pins>;
313 pinctrl-names = "default";
314
315 du_pins: du {
316 groups = "du_rgb666", "du_sync_1", "du_clk_out_0";
317 function = "du";
318 };
319
320 scif0_pins: serial0 {
321 groups = "scif0_data";
322 function = "scif0";
323 };
324
325 scif_clk_pins: scif_clk {
326 groups = "scif_clk";
327 function = "scif_clk";
328 };
329
330 ether_pins: ether {
331 groups = "eth_link", "eth_mdio", "eth_rmii";
332 function = "eth";
333 };
334
335 phy1_pins: phy1 {
336 groups = "intc_irq0";
337 function = "intc";
338 };
339
340 scifa1_pins: serial1 {
341 groups = "scifa1_data";
342 function = "scifa1";
343 };
344
345 sdhi0_pins: sd0 {
346 groups = "sdhi0_data4", "sdhi0_ctrl";
347 function = "sdhi0";
348 power-source = <3300>;
349 };
350
351 sdhi0_pins_uhs: sd0_uhs {
352 groups = "sdhi0_data4", "sdhi0_ctrl";
353 function = "sdhi0";
354 power-source = <1800>;
355 };
356
357 sdhi2_pins: sd2 {
358 groups = "sdhi2_data4", "sdhi2_ctrl";
359 function = "sdhi2";
360 power-source = <3300>;
361 };
362
363 sdhi2_pins_uhs: sd2_uhs {
364 groups = "sdhi2_data4", "sdhi2_ctrl";
365 function = "sdhi2";
366 power-source = <1800>;
367 };
368
369 mmc1_pins: mmc1 {
370 groups = "mmc1_data8", "mmc1_ctrl";
371 function = "mmc1";
372 };
373
374 qspi_pins: spi0 {
375 groups = "qspi_ctrl", "qspi_data4";
376 function = "qspi";
377 };
378
379 msiof1_pins: spi2 {
380 groups = "msiof1_clk", "msiof1_sync", "msiof1_rx",
381 "msiof1_tx";
382 function = "msiof1";
383 };
384
385 i2c0_pins: i2c0 {
386 groups = "i2c0";
387 function = "i2c0";
388 };
389
390 iic0_pins: iic0 {
391 groups = "iic0";
392 function = "iic0";
393 };
394
395 iic1_pins: iic1 {
396 groups = "iic1";
397 function = "iic1";
398 };
399
400 iic2_pins: iic2 {
401 groups = "iic2";
402 function = "iic2";
403 };
404
405 iic3_pins: iic3 {
406 groups = "iic3";
407 function = "iic3";
408 };
409
410 hsusb_pins: hsusb {
411 groups = "usb0_ovc_vbus";
412 function = "usb0";
413 };
414
415 usb0_pins: usb0 {
416 groups = "usb0";
417 function = "usb0";
418 };
419
420 usb1_pins: usb1 {
421 groups = "usb1";
422 function = "usb1";
423 };
424
425 usb2_pins: usb2 {
426 groups = "usb2";
427 function = "usb2";
428 };
429
430 vin1_pins: vin {
431 groups = "vin1_data8", "vin1_clk";
432 function = "vin1";
433 };
434
435 sound_pins: sound {
436 groups = "ssi0129_ctrl", "ssi0_data", "ssi1_data";
437 function = "ssi";
438 };
439
440 sound_clk_pins: sound_clk {
441 groups = "audio_clk_a";
442 function = "audio_clk";
443 };
444 };
445
446 &ether {
447 pinctrl-0 = <&ether_pins &phy1_pins>;
448 pinctrl-names = "default";
449
450 phy-handle = <&phy1>;
451 renesas,ether-link-active-low;
452 status = "okay";
453
454 phy1: ethernet-phy@1 {
455 reg = <1>;
456 interrupt-parent = <&irqc0>;
457 interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
458 micrel,led-mode = <1>;
459 };
460 };
461
462 &cmt0 {
463 status = "okay";
464 };
465
466 &mmcif1 {
467 pinctrl-0 = <&mmc1_pins>;
468 pinctrl-names = "default";
469
470 vmmc-supply = <&fixedregulator3v3>;
471 bus-width = <8>;
472 non-removable;
473 status = "okay";
474 };
475
476 &sata1 {
477 status = "okay";
478 };
479
480 &qspi {
481 pinctrl-0 = <&qspi_pins>;
482 pinctrl-names = "default";
483
484 status = "okay";
485
486 flash: flash@0 {
487 compatible = "spansion,s25fl512s", "jedec,spi-nor";
488 reg = <0>;
489 spi-max-frequency = <30000000>;
490 spi-tx-bus-width = <4>;
491 spi-rx-bus-width = <4>;
492 spi-cpha;
493 spi-cpol;
494 m25p,fast-read;
495
496 partitions {
497 compatible = "fixed-partitions";
498 #address-cells = <1>;
499 #size-cells = <1>;
500
501 partition@0 {
502 label = "loader";
503 reg = <0x00000000 0x00040000>;
504 read-only;
505 };
506 partition@40000 {
507 label = "user";
508 reg = <0x00040000 0x00400000>;
509 read-only;
510 };
511 partition@440000 {
512 label = "flash";
513 reg = <0x00440000 0x03bc0000>;
514 };
515 };
516 };
517 };
518
519 &scif0 {
520 pinctrl-0 = <&scif0_pins>;
521 pinctrl-names = "default";
522
523 status = "okay";
524 };
525
526 &scifa1 {
527 pinctrl-0 = <&scifa1_pins>;
528 pinctrl-names = "default";
529
530 status = "okay";
531 };
532
533 &scif_clk {
534 clock-frequency = <14745600>;
535 status = "okay";
536 };
537
538 &msiof1 {
539 pinctrl-0 = <&msiof1_pins>;
540 pinctrl-names = "default";
541
542 status = "okay";
543
544 pmic: pmic@0 {
545 compatible = "renesas,r2a11302ft";
546 reg = <0>;
547 spi-max-frequency = <6000000>;
548 spi-cpol;
549 spi-cpha;
550 };
551 };
552
553 &sdhi0 {
554 pinctrl-0 = <&sdhi0_pins>;
555 pinctrl-1 = <&sdhi0_pins_uhs>;
556 pinctrl-names = "default", "state_uhs";
557
558 vmmc-supply = <&vcc_sdhi0>;
559 vqmmc-supply = <&vccq_sdhi0>;
560 cd-gpios = <&gpio3 6 GPIO_ACTIVE_LOW>;
561 sd-uhs-sdr50;
562 status = "okay";
563 };
564
565 &sdhi2 {
566 pinctrl-0 = <&sdhi2_pins>;
567 pinctrl-1 = <&sdhi2_pins_uhs>;
568 pinctrl-names = "default", "state_uhs";
569
570 vmmc-supply = <&vcc_sdhi2>;
571 vqmmc-supply = <&vccq_sdhi2>;
572 cd-gpios = <&gpio3 22 GPIO_ACTIVE_LOW>;
573 sd-uhs-sdr50;
574 status = "okay";
575 };
576
577 &cpu0 {
578 cpu0-supply = <&vdd_dvfs>;
579 };
580
581 &i2c0 {
582 pinctrl-0 = <&i2c0_pins>;
583 pinctrl-names = "i2c-exio";
584 };
585
586 &iic0 {
587 pinctrl-0 = <&iic0_pins>;
588 pinctrl-names = "i2c-exio";
589 };
590
591 &iic1 {
592 status = "okay";
593 pinctrl-0 = <&iic1_pins>;
594 pinctrl-names = "default";
595 };
596
597 &iic2 {
598 status = "okay";
599 pinctrl-0 = <&iic2_pins>;
600 pinctrl-names = "default";
601
602 clock-frequency = <100000>;
603
604 ak4643: codec@12 {
605 compatible = "asahi-kasei,ak4643";
606 #sound-dai-cells = <0>;
607 reg = <0x12>;
608 };
609
610 composite-in@20 {
611 compatible = "adi,adv7180";
612 reg = <0x20>;
613 remote = <&vin1>;
614
615 port {
616 adv7180: endpoint {
617 bus-width = <8>;
618 remote-endpoint = <&vin1ep0>;
619 };
620 };
621 };
622
623 hdmi@39 {
624 compatible = "adi,adv7511w";
625 reg = <0x39>;
626 interrupt-parent = <&gpio1>;
627 interrupts = <15 IRQ_TYPE_LEVEL_LOW>;
628
629 adi,input-depth = <8>;
630 adi,input-colorspace = "rgb";
631 adi,input-clock = "1x";
632 adi,input-style = <1>;
633 adi,input-justification = "evenly";
634
635 ports {
636 #address-cells = <1>;
637 #size-cells = <0>;
638
639 port@0 {
640 reg = <0>;
641 adv7511_in: endpoint {
642 remote-endpoint = <&du_out_lvds0>;
643 };
644 };
645
646 port@1 {
647 reg = <1>;
648 adv7511_out: endpoint {
649 remote-endpoint = <&hdmi_con>;
650 };
651 };
652 };
653 };
654 };
655
656 &iic3 {
657 pinctrl-names = "default";
658 pinctrl-0 = <&iic3_pins>;
659 status = "okay";
660
661 pmic@58 {
662 compatible = "dlg,da9063";
663 reg = <0x58>;
664 interrupt-parent = <&irqc0>;
665 interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
666 interrupt-controller;
667
668 rtc {
669 compatible = "dlg,da9063-rtc";
670 };
671
672 wdt {
673 compatible = "dlg,da9063-watchdog";
674 };
675 };
676
677 vdd_dvfs: regulator@68 {
678 compatible = "dlg,da9210";
679 reg = <0x68>;
680 interrupt-parent = <&irqc0>;
681 interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
682
683 regulator-min-microvolt = <1000000>;
684 regulator-max-microvolt = <1000000>;
685 regulator-boot-on;
686 regulator-always-on;
687 };
688 };
689
690 &pci0 {
691 status = "okay";
692 pinctrl-0 = <&usb0_pins>;
693 pinctrl-names = "default";
694 };
695
696 &pci1 {
697 status = "okay";
698 pinctrl-0 = <&usb1_pins>;
699 pinctrl-names = "default";
700 };
701
702 &xhci {
703 status = "okay";
704 pinctrl-0 = <&usb2_pins>;
705 pinctrl-names = "default";
706 };
707
708 &pci2 {
709 status = "okay";
710 pinctrl-0 = <&usb2_pins>;
711 pinctrl-names = "default";
712 };
713
714 &hsusb {
715 status = "okay";
716 pinctrl-0 = <&hsusb_pins>;
717 pinctrl-names = "default";
718 renesas,enable-gpio = <&gpio5 18 GPIO_ACTIVE_HIGH>;
719 };
720
721 &usbphy {
722 status = "okay";
723 };
724
725 /* composite video input */
726 &vin1 {
727 pinctrl-0 = <&vin1_pins>;
728 pinctrl-names = "default";
729
730 status = "okay";
731
732 port {
733 #address-cells = <1>;
734 #size-cells = <0>;
735
736 vin1ep0: endpoint {
737 remote-endpoint = <&adv7180>;
738 bus-width = <8>;
739 };
740 };
741 };
742
743 &rcar_sound {
744 pinctrl-0 = <&sound_pins &sound_clk_pins>;
745 pinctrl-names = "default";
746
747 /* Single DAI */
748 #sound-dai-cells = <0>;
749
750 status = "okay";
751
752 rcar_sound,dai {
753 dai0 {
754 playback = <&ssi0 &src2 &dvc0>;
755 capture = <&ssi1 &src3 &dvc1>;
756 };
757 };
758 };
759
760 &ssi1 {
761 shared-pin;
762 };
This page took 0.047691 seconds and 5 git commands to generate.