]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/blame - arch/arm/boot/dts/r8a7790-lager.dts
Merge tag 'pci-v4.6-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci
[mirror_ubuntu-artful-kernel.git] / arch / arm / boot / dts / r8a7790-lager.dts
CommitLineData
3cc828fd
MD
1/*
2 * Device Tree Source for the Lager board
3 *
da4ea951
SS
4 * Copyright (C) 2013-2014 Renesas Solutions Corp.
5 * Copyright (C) 2014 Cogent Embedded, Inc.
3cc828fd
MD
6 *
7 * This file is licensed under the terms of the GNU General Public License
8 * version 2. This program is licensed "as is" without any warranty of any
9 * kind, whether express or implied.
10 */
11
8ea7a44a
KM
12/*
13 * SSI-AK4643
14 *
15 * SW1: 1: AK4643
16 * 2: CN22
17 * 3: ADV7511
18 *
19 * This command is required when Playback/Capture
20 *
21 * amixer set "LINEOUT Mixer DACL" on
e110c541
KM
22 * amixer set "DVC Out" 100%
23 * amixer set "DVC In" 100%
24 *
25 * You can use Mute
26 *
27 * amixer set "DVC Out Mute" on
28 * amixer set "DVC In Mute" on
bd2e4a62
KM
29 *
30 * You can use Volume Ramp
31 *
32 * amixer set "DVC Out Ramp Up Rate" "0.125 dB/64 steps"
33 * amixer set "DVC Out Ramp Down Rate" "0.125 dB/512 steps"
34 * amixer set "DVC Out Ramp" on
35 * aplay xxx.wav &
36 * amixer set "DVC Out" 80% // Volume Down
37 * amixer set "DVC Out" 100% // Volume Up
8ea7a44a
KM
38 */
39
3cc828fd 40/dts-v1/;
31c46cbf 41#include "r8a7790.dtsi"
39fa511b 42#include <dt-bindings/gpio/gpio.h>
f7dcd382 43#include <dt-bindings/input/input.h>
3cc828fd
MD
44
45/ {
46 model = "Lager";
47 compatible = "renesas,lager", "renesas,r8a7790";
48
4e9c4877 49 aliases {
430d7bad 50 serial0 = &scif0;
78c11ec2 51 serial1 = &scifa1;
4e9c4877
LP
52 };
53
3cc828fd 54 chosen {
569dd56c 55 bootargs = "ignore_loglevel rw root=/dev/nfs ip=dhcp";
57d19f81 56 stdout-path = "serial0:115200n8";
3cc828fd
MD
57 };
58
59 memory@40000000 {
60 device_type = "memory";
7b16c61a 61 reg = <0 0x40000000 0 0x40000000>;
3cc828fd
MD
62 };
63
126f998e 64 memory@140000000 {
62bc32a2 65 device_type = "memory";
7b16c61a 66 reg = <1 0x40000000 0 0xc0000000>;
62bc32a2
MD
67 };
68
3cc828fd
MD
69 lbsc {
70 #address-cells = <1>;
71 #size-cells = <1>;
72 };
39fa511b 73
54caf681 74 keyboard {
f7dcd382
MD
75 compatible = "gpio-keys";
76
77 button@1 {
78 linux,code = <KEY_1>;
79 label = "SW2-1";
0cc16889 80 wakeup-source;
f7dcd382
MD
81 debounce-interval = <20>;
82 gpios = <&gpio1 14 GPIO_ACTIVE_LOW>;
83 };
84 button@2 {
85 linux,code = <KEY_2>;
86 label = "SW2-2";
0cc16889 87 wakeup-source;
f7dcd382
MD
88 debounce-interval = <20>;
89 gpios = <&gpio1 24 GPIO_ACTIVE_LOW>;
90 };
91 button@3 {
92 linux,code = <KEY_3>;
93 label = "SW2-3";
0cc16889 94 wakeup-source;
f7dcd382
MD
95 debounce-interval = <20>;
96 gpios = <&gpio1 26 GPIO_ACTIVE_LOW>;
97 };
98 button@4 {
99 linux,code = <KEY_4>;
100 label = "SW2-4";
0cc16889 101 wakeup-source;
f7dcd382
MD
102 debounce-interval = <20>;
103 gpios = <&gpio1 28 GPIO_ACTIVE_LOW>;
104 };
105 };
106
39fa511b
LP
107 leds {
108 compatible = "gpio-leds";
109 led6 {
110 gpios = <&gpio4 22 GPIO_ACTIVE_HIGH>;
111 };
112 led7 {
113 gpios = <&gpio4 23 GPIO_ACTIVE_HIGH>;
114 };
115 led8 {
116 gpios = <&gpio5 17 GPIO_ACTIVE_HIGH>;
117 };
118 };
119
120 fixedregulator3v3: fixedregulator@0 {
121 compatible = "regulator-fixed";
122 regulator-name = "fixed-3.3V";
123 regulator-min-microvolt = <3300000>;
124 regulator-max-microvolt = <3300000>;
125 regulator-boot-on;
126 regulator-always-on;
127 };
c6119944
KM
128
129 vcc_sdhi0: regulator@1 {
130 compatible = "regulator-fixed";
131
132 regulator-name = "SDHI0 Vcc";
133 regulator-min-microvolt = <3300000>;
134 regulator-max-microvolt = <3300000>;
135
136 gpio = <&gpio5 24 GPIO_ACTIVE_HIGH>;
137 enable-active-high;
138 };
139
140 vccq_sdhi0: regulator@2 {
141 compatible = "regulator-gpio";
142
143 regulator-name = "SDHI0 VccQ";
144 regulator-min-microvolt = <1800000>;
145 regulator-max-microvolt = <3300000>;
146
147 gpios = <&gpio5 29 GPIO_ACTIVE_HIGH>;
148 gpios-states = <1>;
149 states = <3300000 1
150 1800000 0>;
151 };
152
153 vcc_sdhi2: regulator@3 {
154 compatible = "regulator-fixed";
155
156 regulator-name = "SDHI2 Vcc";
157 regulator-min-microvolt = <3300000>;
158 regulator-max-microvolt = <3300000>;
159
160 gpio = <&gpio5 25 GPIO_ACTIVE_HIGH>;
161 enable-active-high;
162 };
163
164 vccq_sdhi2: regulator@4 {
165 compatible = "regulator-gpio";
166
167 regulator-name = "SDHI2 VccQ";
168 regulator-min-microvolt = <1800000>;
169 regulator-max-microvolt = <3300000>;
170
171 gpios = <&gpio5 30 GPIO_ACTIVE_HIGH>;
172 gpios-states = <1>;
173 states = <3300000 1
174 1800000 0>;
175 };
3edd18ff 176
6bc651af
KM
177 audio_clock: clock {
178 compatible = "fixed-clock";
179 #clock-cells = <0>;
180 clock-frequency = <11289600>;
181 clock-output-names = "audio_clock";
182 };
183
30be0ba5 184 rsnd_ak4643: sound {
8ea7a44a
KM
185 compatible = "simple-audio-card";
186
187 simple-audio-card,format = "left_j";
188 simple-audio-card,bitclock-master = <&sndcodec>;
189 simple-audio-card,frame-master = <&sndcodec>;
190
191 sndcpu: simple-audio-card,cpu {
192 sound-dai = <&rcar_sound>;
193 };
194
195 sndcodec: simple-audio-card,codec {
196 sound-dai = <&ak4643>;
6bc651af 197 clocks = <&audio_clock>;
8ea7a44a
KM
198 };
199 };
200
3edd18ff
LP
201 vga-encoder {
202 compatible = "adi,adv7123";
203
204 ports {
205 #address-cells = <1>;
206 #size-cells = <0>;
207
208 port@0 {
209 reg = <0>;
210 adv7123_in: endpoint {
211 remote-endpoint = <&du_out_rgb>;
212 };
213 };
214 port@1 {
215 reg = <1>;
216 adv7123_out: endpoint {
217 remote-endpoint = <&vga_in>;
218 };
219 };
220 };
221 };
222
223 vga {
224 compatible = "vga-connector";
225
226 port {
227 vga_in: endpoint {
228 remote-endpoint = <&adv7123_out>;
229 };
230 };
231 };
fd25cdd1
LP
232
233 hdmi-out {
234 compatible = "hdmi-connector";
235 type = "a";
236
237 port {
238 hdmi_con: endpoint {
239 remote-endpoint = <&adv7511_out>;
240 };
241 };
242 };
26c00ab4
LP
243
244 x2_clk: x2-clock {
245 compatible = "fixed-clock";
246 #clock-cells = <0>;
247 clock-frequency = <148500000>;
248 };
249
250 x13_clk: x13-clock {
251 compatible = "fixed-clock";
252 #clock-cells = <0>;
253 clock-frequency = <148500000>;
254 };
3edd18ff
LP
255};
256
257&du {
258 pinctrl-0 = <&du_pins>;
259 pinctrl-names = "default";
260 status = "okay";
261
26c00ab4
LP
262 clocks = <&mstp7_clks R8A7790_CLK_DU0>,
263 <&mstp7_clks R8A7790_CLK_DU1>,
264 <&mstp7_clks R8A7790_CLK_DU2>,
265 <&mstp7_clks R8A7790_CLK_LVDS0>,
266 <&mstp7_clks R8A7790_CLK_LVDS1>,
267 <&x13_clk>, <&x2_clk>;
268 clock-names = "du.0", "du.1", "du.2", "lvds.0", "lvds.1",
269 "dclkin.0", "dclkin.1";
270
3edd18ff
LP
271 ports {
272 port@0 {
273 endpoint {
274 remote-endpoint = <&adv7123_in>;
275 };
276 };
fd25cdd1
LP
277 port@1 {
278 endpoint {
279 remote-endpoint = <&adv7511_in>;
280 };
281 };
3edd18ff
LP
282 port@2 {
283 lvds_connector: endpoint {
284 };
285 };
286 };
39fa511b
LP
287};
288
62e43056
LP
289&extal_clk {
290 clock-frequency = <20000000>;
291};
292
39fa511b 293&pfc {
3024f507
LP
294 du_pins: du {
295 renesas,groups = "du_rgb666", "du_sync_1", "du_clk_out_0";
296 renesas,function = "du";
297 };
298
430d7bad
UH
299 scif0_pins: serial0 {
300 renesas,groups = "scif0_data";
301 renesas,function = "scif0";
39fa511b
LP
302 };
303
da4ea951
SS
304 ether_pins: ether {
305 renesas,groups = "eth_link", "eth_mdio", "eth_rmii";
306 renesas,function = "eth";
307 };
308
309 phy1_pins: phy1 {
310 renesas,groups = "intc_irq0";
311 renesas,function = "intc";
312 };
313
7c055894
WS
314 scifa1_pins: serial1 {
315 renesas,groups = "scifa1_data";
316 renesas,function = "scifa1";
39fa511b
LP
317 };
318
c6119944 319 sdhi0_pins: sd0 {
b08eed0c 320 renesas,groups = "sdhi0_data4", "sdhi0_ctrl";
c6119944
KM
321 renesas,function = "sdhi0";
322 };
323
324 sdhi2_pins: sd2 {
b08eed0c 325 renesas,groups = "sdhi2_data4", "sdhi2_ctrl";
c6119944
KM
326 renesas,function = "sdhi2";
327 };
328
39fa511b
LP
329 mmc1_pins: mmc1 {
330 renesas,groups = "mmc1_data8", "mmc1_ctrl";
331 renesas,function = "mmc1";
332 };
9fe7c4f8 333
fad6d45c 334 qspi_pins: spi0 {
9fe7c4f8
GU
335 renesas,groups = "qspi_ctrl", "qspi_data4";
336 renesas,function = "qspi";
337 };
b0403b91
GU
338
339 msiof1_pins: spi2 {
340 renesas,groups = "msiof1_clk", "msiof1_sync", "msiof1_rx",
341 "msiof1_tx";
342 renesas,function = "msiof1";
343 };
05f72e03 344
535118ca
WS
345 iic0_pins: iic0 {
346 renesas,groups = "iic0";
347 renesas,function = "iic0";
348 };
349
cb9a2b12
WS
350 iic1_pins: iic1 {
351 renesas,groups = "iic1";
352 renesas,function = "iic1";
d90bf60c
SH
353 };
354
cb9a2b12
WS
355 iic2_pins: iic2 {
356 renesas,groups = "iic2";
357 renesas,function = "iic2";
d90bf60c
SH
358 };
359
5179ffd0
KN
360 iic3_pins: iic3 {
361 renesas,groups = "iic3";
362 renesas,function = "iic3";
05f72e03 363 };
d8584660 364
e03074a7
YS
365 hsusb_pins: hsusb {
366 renesas,groups = "usb0_ovc_vbus";
367 renesas,function = "usb0";
368 };
369
d8584660
BD
370 usb0_pins: usb0 {
371 renesas,groups = "usb0";
372 renesas,function = "usb0";
373 };
374
375 usb1_pins: usb1 {
376 renesas,groups = "usb1";
377 renesas,function = "usb1";
378 };
379
380 usb2_pins: usb2 {
381 renesas,groups = "usb2";
382 renesas,function = "usb2";
383 };
d594c977
BD
384
385 vin1_pins: vin {
386 renesas,groups = "vin1_data8", "vin1_clk";
387 renesas,function = "vin1";
388 };
8ea7a44a
KM
389
390 sound_pins: sound {
391 renesas,groups = "ssi0129_ctrl", "ssi0_data", "ssi1_data";
392 renesas,function = "ssi";
393 };
394
395 sound_clk_pins: sound_clk {
396 renesas,groups = "audio_clk_a";
397 renesas,function = "audio_clk";
398 };
39fa511b
LP
399};
400
da4ea951
SS
401&ether {
402 pinctrl-0 = <&ether_pins &phy1_pins>;
403 pinctrl-names = "default";
404
405 phy-handle = <&phy1>;
406 renesas,ether-link-active-low;
fd7a8cbf 407 status = "okay";
da4ea951
SS
408
409 phy1: ethernet-phy@1 {
410 reg = <1>;
411 interrupt-parent = <&irqc0>;
412 interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
1c47a6aa 413 micrel,led-mode = <1>;
da4ea951
SS
414 };
415};
416
247fd5ec 417&cmt0 {
fd7a8cbf 418 status = "okay";
247fd5ec
LP
419};
420
39fa511b
LP
421&mmcif1 {
422 pinctrl-0 = <&mmc1_pins>;
423 pinctrl-names = "default";
424
425 vmmc-supply = <&fixedregulator3v3>;
426 bus-width = <8>;
427 non-removable;
428 status = "okay";
3cc828fd 429};
c6181b9f
VB
430
431&sata1 {
432 status = "okay";
433};
9fe7c4f8 434
fad6d45c 435&qspi {
9fe7c4f8
GU
436 pinctrl-0 = <&qspi_pins>;
437 pinctrl-names = "default";
438
439 status = "okay";
440
441 flash: flash@0 {
755185b2 442 compatible = "spansion,s25fl512s", "jedec,spi-nor";
9fe7c4f8
GU
443 reg = <0>;
444 spi-max-frequency = <30000000>;
9909d2cb
GU
445 spi-tx-bus-width = <4>;
446 spi-rx-bus-width = <4>;
cbf41168
HN
447 spi-cpha;
448 spi-cpol;
9fe7c4f8
GU
449 m25p,fast-read;
450
f58bac70 451 partitions {
b88ddbdd 452 compatible = "fixed-partitions";
f58bac70
GU
453 #address-cells = <1>;
454 #size-cells = <1>;
455
456 partition@0 {
457 label = "loader";
458 reg = <0x00000000 0x00040000>;
459 read-only;
460 };
461 partition@40000 {
462 label = "user";
463 reg = <0x00040000 0x00400000>;
464 read-only;
465 };
466 partition@440000 {
467 label = "flash";
468 reg = <0x00440000 0x03bc0000>;
469 };
9fe7c4f8
GU
470 };
471 };
472};
c6119944 473
430d7bad
UH
474&scif0 {
475 pinctrl-0 = <&scif0_pins>;
4e9c4877
LP
476 pinctrl-names = "default";
477
478 status = "okay";
479};
480
7c055894
WS
481&scifa1 {
482 pinctrl-0 = <&scifa1_pins>;
4e9c4877
LP
483 pinctrl-names = "default";
484
485 status = "okay";
486};
487
b0403b91
GU
488&msiof1 {
489 pinctrl-0 = <&msiof1_pins>;
490 pinctrl-names = "default";
491
492 status = "okay";
493
494 pmic: pmic@0 {
495 compatible = "renesas,r2a11302ft";
496 reg = <0>;
497 spi-max-frequency = <6000000>;
498 spi-cpol;
499 spi-cpha;
500 };
b0403b91
GU
501};
502
c6119944
KM
503&sdhi0 {
504 pinctrl-0 = <&sdhi0_pins>;
505 pinctrl-names = "default";
506
507 vmmc-supply = <&vcc_sdhi0>;
508 vqmmc-supply = <&vccq_sdhi0>;
509 cd-gpios = <&gpio3 6 GPIO_ACTIVE_LOW>;
510 status = "okay";
511};
512
513&sdhi2 {
514 pinctrl-0 = <&sdhi2_pins>;
515 pinctrl-names = "default";
516
517 vmmc-supply = <&vcc_sdhi2>;
518 vqmmc-supply = <&vccq_sdhi2>;
519 cd-gpios = <&gpio3 22 GPIO_ACTIVE_LOW>;
520 status = "okay";
521};
05f72e03 522
b989e138
BC
523&cpu0 {
524 cpu0-supply = <&vdd_dvfs>;
525};
e489c2a9 526
cb9a2b12 527&iic0 {
fd7a8cbf 528 status = "okay";
535118ca
WS
529 pinctrl-0 = <&iic0_pins>;
530 pinctrl-names = "default";
e489c2a9
BD
531};
532
cb9a2b12 533&iic1 {
fd7a8cbf 534 status = "okay";
cb9a2b12 535 pinctrl-0 = <&iic1_pins>;
e1a2c4eb 536 pinctrl-names = "default";
e489c2a9
BD
537};
538
cb9a2b12 539&iic2 {
fd7a8cbf 540 status = "okay";
cb9a2b12 541 pinctrl-0 = <&iic2_pins>;
e1a2c4eb 542 pinctrl-names = "default";
d594c977 543
177d8bea
KM
544 clock-frequency = <100000>;
545
d22b1687 546 ak4643: codec@12 {
8ea7a44a
KM
547 compatible = "asahi-kasei,ak4643";
548 #sound-dai-cells = <0>;
549 reg = <0x12>;
550 };
551
d594c977
BD
552 composite-in@20 {
553 compatible = "adi,adv7180";
554 reg = <0x20>;
555 remote = <&vin1>;
556
557 port {
558 adv7180: endpoint {
559 bus-width = <8>;
560 remote-endpoint = <&vin1ep0>;
561 };
562 };
563 };
fd25cdd1
LP
564
565 hdmi@39 {
566 compatible = "adi,adv7511w";
567 reg = <0x39>;
568 interrupt-parent = <&gpio1>;
850346ec 569 interrupts = <15 IRQ_TYPE_LEVEL_LOW>;
fd25cdd1
LP
570
571 adi,input-depth = <8>;
572 adi,input-colorspace = "rgb";
573 adi,input-clock = "1x";
574 adi,input-style = <1>;
575 adi,input-justification = "evenly";
576
577 ports {
578 #address-cells = <1>;
579 #size-cells = <0>;
580
581 port@0 {
582 reg = <0>;
583 adv7511_in: endpoint {
584 remote-endpoint = <&du_out_lvds0>;
585 };
586 };
587
588 port@1 {
589 reg = <1>;
590 adv7511_out: endpoint {
591 remote-endpoint = <&hdmi_con>;
592 };
593 };
594 };
595 };
e489c2a9
BD
596};
597
5179ffd0 598&iic3 {
aca4ec44 599 pinctrl-names = "default";
5179ffd0 600 pinctrl-0 = <&iic3_pins>;
aca4ec44
SH
601 status = "okay";
602
46dd8a80
GU
603 pmic@58 {
604 compatible = "dlg,da9063";
605 reg = <0x58>;
606 interrupt-parent = <&irqc0>;
607 interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
608 interrupt-controller;
609
610 rtc {
611 compatible = "dlg,da9063-rtc";
612 };
613
614 wdt {
615 compatible = "dlg,da9063-watchdog";
616 };
617 };
618
aca4ec44 619 vdd_dvfs: regulator@68 {
bd597f47 620 compatible = "dlg,da9210";
aca4ec44 621 reg = <0x68>;
ceb77479
GU
622 interrupt-parent = <&irqc0>;
623 interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
aca4ec44
SH
624
625 regulator-min-microvolt = <1000000>;
626 regulator-max-microvolt = <1000000>;
627 regulator-boot-on;
628 regulator-always-on;
629 };
e489c2a9 630};
d8584660
BD
631
632&pci0 {
633 status = "okay";
634 pinctrl-0 = <&usb0_pins>;
635 pinctrl-names = "default";
636};
637
638&pci1 {
639 status = "okay";
640 pinctrl-0 = <&usb1_pins>;
641 pinctrl-names = "default";
642};
643
37f7c1b0
YS
644&xhci {
645 status = "okay";
646 pinctrl-0 = <&usb2_pins>;
647 pinctrl-names = "default";
648};
649
d8584660
BD
650&pci2 {
651 status = "okay";
652 pinctrl-0 = <&usb2_pins>;
653 pinctrl-names = "default";
654};
d594c977 655
e03074a7
YS
656&hsusb {
657 status = "okay";
658 pinctrl-0 = <&hsusb_pins>;
659 pinctrl-names = "default";
660 renesas,enable-gpio = <&gpio5 18 GPIO_ACTIVE_HIGH>;
661};
662
6742cafb
SS
663&usbphy {
664 status = "okay";
665};
666
d594c977
BD
667/* composite video input */
668&vin1 {
669 pinctrl-0 = <&vin1_pins>;
670 pinctrl-names = "default";
671
fd7a8cbf 672 status = "okay";
d594c977
BD
673
674 port {
675 #address-cells = <1>;
676 #size-cells = <0>;
677
678 vin1ep0: endpoint {
679 remote-endpoint = <&adv7180>;
680 bus-width = <8>;
681 };
682 };
683};
8ea7a44a
KM
684
685&rcar_sound {
686 pinctrl-0 = <&sound_pins &sound_clk_pins>;
687 pinctrl-names = "default";
688
ad63241c 689 /* Single DAI */
8ea7a44a
KM
690 #sound-dai-cells = <0>;
691
692 status = "okay";
693
694 rcar_sound,dai {
695 dai0 {
e110c541
KM
696 playback = <&ssi0 &src2 &dvc0>;
697 capture = <&ssi1 &src3 &dvc1>;
8ea7a44a
KM
698 };
699 };
700};
701
8ea7a44a 702&ssi1 {
8ea7a44a
KM
703 shared-pin;
704};