Merge tag 'at91-ab-4.8-dt2' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni...
[deliverable/linux.git] / arch / arm / boot / dts / r8a7791-koelsch.dts
CommitLineData
1f52c659
HN
1/*
2 * Device Tree Source for the Koelsch board
3 *
4 * Copyright (C) 2013 Renesas Electronics Corporation
08e8f0f3
SS
5 * Copyright (C) 2013-2014 Renesas Solutions Corp.
6 * Copyright (C) 2014 Cogent Embedded, Inc.
1f52c659
HN
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
b160f615
KM
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
5c6d4b94
KM
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
ce474816
KM
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
b160f615
KM
39 */
40
1f52c659 41/dts-v1/;
31c46cbf 42#include "r8a7791.dtsi"
f8e2535d 43#include <dt-bindings/gpio/gpio.h>
7f168b1e 44#include <dt-bindings/input/input.h>
1f52c659
HN
45
46/ {
47 model = "Koelsch";
48 compatible = "renesas,koelsch", "renesas,r8a7791";
49
5ba55fa8 50 aliases {
1f75cdac
LP
51 serial0 = &scif0;
52 serial1 = &scif1;
5ba55fa8
LP
53 };
54
1f52c659 55 chosen {
79e69d17 56 bootargs = "ignore_loglevel rw root=/dev/nfs ip=dhcp";
832dae1f 57 stdout-path = "serial0:115200n8";
1f52c659
HN
58 };
59
60 memory@40000000 {
61 device_type = "memory";
4cd1bad4
TY
62 reg = <0 0x40000000 0 0x40000000>;
63 };
64
65 memory@200000000 {
66 device_type = "memory";
67 reg = <2 0x00000000 0 0x40000000>;
1f52c659
HN
68 };
69
70 lbsc {
71 #address-cells = <1>;
72 #size-cells = <1>;
73 };
f8e2535d 74
d3aaec83 75 keyboard {
aff5274f
LP
76 compatible = "gpio-keys";
77
7f168b1e
MD
78 key-1 {
79 gpios = <&gpio5 0 GPIO_ACTIVE_LOW>;
80 linux,code = <KEY_1>;
81 label = "SW2-1";
0cc16889 82 wakeup-source;
7f168b1e
MD
83 debounce-interval = <20>;
84 };
85 key-2 {
86 gpios = <&gpio5 1 GPIO_ACTIVE_LOW>;
87 linux,code = <KEY_2>;
88 label = "SW2-2";
0cc16889 89 wakeup-source;
7f168b1e
MD
90 debounce-interval = <20>;
91 };
92 key-3 {
93 gpios = <&gpio5 2 GPIO_ACTIVE_LOW>;
94 linux,code = <KEY_3>;
95 label = "SW2-3";
0cc16889 96 wakeup-source;
7f168b1e
MD
97 debounce-interval = <20>;
98 };
99 key-4 {
100 gpios = <&gpio5 3 GPIO_ACTIVE_LOW>;
101 linux,code = <KEY_4>;
102 label = "SW2-4";
0cc16889 103 wakeup-source;
7f168b1e
MD
104 debounce-interval = <20>;
105 };
aff5274f
LP
106 key-a {
107 gpios = <&gpio7 0 GPIO_ACTIVE_LOW>;
7f168b1e 108 linux,code = <KEY_A>;
aff5274f 109 label = "SW30";
0cc16889 110 wakeup-source;
aff5274f
LP
111 debounce-interval = <20>;
112 };
113 key-b {
114 gpios = <&gpio7 1 GPIO_ACTIVE_LOW>;
7f168b1e 115 linux,code = <KEY_B>;
aff5274f 116 label = "SW31";
0cc16889 117 wakeup-source;
aff5274f
LP
118 debounce-interval = <20>;
119 };
120 key-c {
121 gpios = <&gpio7 2 GPIO_ACTIVE_LOW>;
7f168b1e 122 linux,code = <KEY_C>;
aff5274f 123 label = "SW32";
0cc16889 124 wakeup-source;
aff5274f
LP
125 debounce-interval = <20>;
126 };
127 key-d {
128 gpios = <&gpio7 3 GPIO_ACTIVE_LOW>;
7f168b1e 129 linux,code = <KEY_D>;
aff5274f 130 label = "SW33";
0cc16889 131 wakeup-source;
aff5274f
LP
132 debounce-interval = <20>;
133 };
134 key-e {
135 gpios = <&gpio7 4 GPIO_ACTIVE_LOW>;
7f168b1e 136 linux,code = <KEY_E>;
aff5274f 137 label = "SW34";
0cc16889 138 wakeup-source;
aff5274f
LP
139 debounce-interval = <20>;
140 };
141 key-f {
142 gpios = <&gpio7 5 GPIO_ACTIVE_LOW>;
7f168b1e 143 linux,code = <KEY_F>;
aff5274f 144 label = "SW35";
0cc16889 145 wakeup-source;
aff5274f
LP
146 debounce-interval = <20>;
147 };
148 key-g {
149 gpios = <&gpio7 6 GPIO_ACTIVE_LOW>;
7f168b1e 150 linux,code = <KEY_G>;
aff5274f 151 label = "SW36";
0cc16889 152 wakeup-source;
aff5274f
LP
153 debounce-interval = <20>;
154 };
155 };
156
f8e2535d
LP
157 leds {
158 compatible = "gpio-leds";
159 led6 {
160 gpios = <&gpio2 19 GPIO_ACTIVE_HIGH>;
352faa5f 161 label = "LED6";
f8e2535d
LP
162 };
163 led7 {
164 gpios = <&gpio2 20 GPIO_ACTIVE_HIGH>;
352faa5f 165 label = "LED7";
f8e2535d
LP
166 };
167 led8 {
168 gpios = <&gpio2 21 GPIO_ACTIVE_HIGH>;
352faa5f 169 label = "LED8";
f8e2535d
LP
170 };
171 };
2c60a7df 172
a704b276 173 vcc_sdhi0: regulator-vcc-sdhi0 {
2c60a7df
MD
174 compatible = "regulator-fixed";
175
176 regulator-name = "SDHI0 Vcc";
177 regulator-min-microvolt = <3300000>;
178 regulator-max-microvolt = <3300000>;
179
180 gpio = <&gpio7 17 GPIO_ACTIVE_HIGH>;
181 enable-active-high;
182 };
183
a704b276 184 vccq_sdhi0: regulator-vccq-sdhi0 {
2c60a7df
MD
185 compatible = "regulator-gpio";
186
187 regulator-name = "SDHI0 VccQ";
188 regulator-min-microvolt = <1800000>;
189 regulator-max-microvolt = <3300000>;
190
191 gpios = <&gpio2 12 GPIO_ACTIVE_HIGH>;
192 gpios-states = <1>;
193 states = <3300000 1
194 1800000 0>;
195 };
196
a704b276 197 vcc_sdhi1: regulator-vcc-sdhi1 {
2c60a7df
MD
198 compatible = "regulator-fixed";
199
200 regulator-name = "SDHI1 Vcc";
201 regulator-min-microvolt = <3300000>;
202 regulator-max-microvolt = <3300000>;
203
204 gpio = <&gpio7 18 GPIO_ACTIVE_HIGH>;
205 enable-active-high;
206 };
207
a704b276 208 vccq_sdhi1: regulator-vccq-sdhi1 {
2c60a7df
MD
209 compatible = "regulator-gpio";
210
211 regulator-name = "SDHI1 VccQ";
212 regulator-min-microvolt = <1800000>;
213 regulator-max-microvolt = <3300000>;
214
215 gpios = <&gpio2 13 GPIO_ACTIVE_HIGH>;
216 gpios-states = <1>;
217 states = <3300000 1
218 1800000 0>;
219 };
220
a704b276 221 vcc_sdhi2: regulator-vcc-sdhi2 {
2c60a7df
MD
222 compatible = "regulator-fixed";
223
224 regulator-name = "SDHI2 Vcc";
225 regulator-min-microvolt = <3300000>;
226 regulator-max-microvolt = <3300000>;
227
228 gpio = <&gpio7 19 GPIO_ACTIVE_HIGH>;
229 enable-active-high;
230 };
231
a704b276 232 vccq_sdhi2: regulator-vccq-sdhi2 {
2c60a7df
MD
233 compatible = "regulator-gpio";
234
235 regulator-name = "SDHI2 VccQ";
236 regulator-min-microvolt = <1800000>;
237 regulator-max-microvolt = <3300000>;
238
239 gpios = <&gpio2 26 GPIO_ACTIVE_HIGH>;
240 gpios-states = <1>;
241 states = <3300000 1
242 1800000 0>;
243 };
b160f615 244
62c7e9da 245 audio_clock: audio_clock {
c19c84ff
KM
246 compatible = "fixed-clock";
247 #clock-cells = <0>;
248 clock-frequency = <11289600>;
c19c84ff
KM
249 };
250
18f88d22 251 rsnd_ak4643: sound {
b160f615
KM
252 compatible = "simple-audio-card";
253
254 simple-audio-card,format = "left_j";
255 simple-audio-card,bitclock-master = <&sndcodec>;
256 simple-audio-card,frame-master = <&sndcodec>;
257
258 sndcpu: simple-audio-card,cpu {
259 sound-dai = <&rcar_sound>;
260 };
261
262 sndcodec: simple-audio-card,codec {
263 sound-dai = <&ak4643>;
c19c84ff 264 clocks = <&audio_clock>;
b160f615
KM
265 };
266 };
83a0731b
LP
267
268 hdmi-out {
269 compatible = "hdmi-connector";
270 type = "a";
271
272 port {
273 hdmi_con: endpoint {
274 remote-endpoint = <&adv7511_out>;
275 };
276 };
277 };
cd21cb46
LP
278
279 x2_clk: x2-clock {
280 compatible = "fixed-clock";
281 #clock-cells = <0>;
282 clock-frequency = <148500000>;
283 };
284
285 x13_clk: x13-clock {
286 compatible = "fixed-clock";
287 #clock-cells = <0>;
288 clock-frequency = <148500000>;
289 };
f8e2535d
LP
290};
291
0ee56d40
LP
292&du {
293 pinctrl-0 = <&du_pins>;
294 pinctrl-names = "default";
295 status = "okay";
296
cd21cb46
LP
297 clocks = <&mstp7_clks R8A7791_CLK_DU0>,
298 <&mstp7_clks R8A7791_CLK_DU1>,
299 <&mstp7_clks R8A7791_CLK_LVDS0>,
300 <&x13_clk>, <&x2_clk>;
301 clock-names = "du.0", "du.1", "lvds.0",
302 "dclkin.0", "dclkin.1";
303
0ee56d40 304 ports {
83a0731b
LP
305 port@0 {
306 endpoint {
307 remote-endpoint = <&adv7511_in>;
308 };
309 };
0ee56d40
LP
310 port@1 {
311 lvds_connector: endpoint {
312 };
313 };
314 };
315};
316
fcf0c725
LP
317&extal_clk {
318 clock-frequency = <20000000>;
319};
320
f8e2535d 321&pfc {
338f7ebf
GU
322 pinctrl-0 = <&scif_clk_pins>;
323 pinctrl-names = "default";
324
e6a4c001 325 i2c2_pins: i2c2 {
fec7b9f8
SH
326 groups = "i2c2";
327 function = "i2c2";
38c53516
WS
328 };
329
afba941c 330 du_pins: du {
fec7b9f8
SH
331 groups = "du_rgb888", "du_sync", "du_disp", "du_clk_out_0";
332 function = "du";
afba941c
LP
333 };
334
f8e2535d 335 scif0_pins: serial0 {
fec7b9f8
SH
336 groups = "scif0_data_d";
337 function = "scif0";
f8e2535d
LP
338 };
339
340 scif1_pins: serial1 {
fec7b9f8
SH
341 groups = "scif1_data_d";
342 function = "scif1";
f8e2535d 343 };
e02ee513 344
338f7ebf 345 scif_clk_pins: scif_clk {
fec7b9f8
SH
346 groups = "scif_clk";
347 function = "scif_clk";
338f7ebf
GU
348 };
349
08e8f0f3 350 ether_pins: ether {
fec7b9f8
SH
351 groups = "eth_link", "eth_mdio", "eth_rmii";
352 function = "eth";
08e8f0f3
SS
353 };
354
355 phy1_pins: phy1 {
fec7b9f8
SH
356 groups = "intc_irq0";
357 function = "intc";
08e8f0f3
SS
358 };
359
2c60a7df 360 sdhi0_pins: sd0 {
fec7b9f8
SH
361 groups = "sdhi0_data4", "sdhi0_ctrl";
362 function = "sdhi0";
2c60a7df
MD
363 };
364
365 sdhi1_pins: sd1 {
fec7b9f8
SH
366 groups = "sdhi1_data4", "sdhi1_ctrl";
367 function = "sdhi1";
2c60a7df
MD
368 };
369
370 sdhi2_pins: sd2 {
fec7b9f8
SH
371 groups = "sdhi2_data4", "sdhi2_ctrl";
372 function = "sdhi2";
2c60a7df
MD
373 };
374
6f3e4ee3 375 qspi_pins: spi0 {
fec7b9f8
SH
376 groups = "qspi_ctrl", "qspi_data4";
377 function = "qspi";
e02ee513 378 };
b16f05ab
GU
379
380 msiof0_pins: spi1 {
fec7b9f8 381 groups = "msiof0_clk", "msiof0_sync", "msiof0_rx",
b16f05ab 382 "msiof0_tx";
fec7b9f8 383 function = "msiof0";
b16f05ab 384 };
1d41f36a 385
7540aeb0 386 usb0_pins: usb0 {
fec7b9f8
SH
387 groups = "usb0";
388 function = "usb0";
7540aeb0
SS
389 };
390
391 usb1_pins: usb1 {
fec7b9f8
SH
392 groups = "usb1";
393 function = "usb1";
7540aeb0 394 };
2cf08810 395
396 vin1_pins: vin1 {
fec7b9f8
SH
397 groups = "vin1_data8", "vin1_clk";
398 function = "vin1";
2cf08810 399 };
b160f615
KM
400
401 sound_pins: sound {
fec7b9f8
SH
402 groups = "ssi0129_ctrl", "ssi0_data", "ssi1_data";
403 function = "ssi";
b160f615
KM
404 };
405
406 sound_clk_pins: sound_clk {
fec7b9f8
SH
407 groups = "audio_clk_a";
408 function = "audio_clk";
b160f615 409 };
1f52c659 410};
760c277b 411
08e8f0f3
SS
412&ether {
413 pinctrl-0 = <&ether_pins &phy1_pins>;
414 pinctrl-names = "default";
415
416 phy-handle = <&phy1>;
417 renesas,ether-link-active-low;
815446d6 418 status = "okay";
08e8f0f3
SS
419
420 phy1: ethernet-phy@1 {
421 reg = <1>;
422 interrupt-parent = <&irqc0>;
423 interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
19f647cb 424 micrel,led-mode = <1>;
08e8f0f3
SS
425 };
426};
427
6a1d9460 428&cmt0 {
815446d6 429 status = "okay";
6a1d9460
LP
430};
431
760c277b
VB
432&sata0 {
433 status = "okay";
434};
e02ee513 435
5ba55fa8
LP
436&scif0 {
437 pinctrl-0 = <&scif0_pins>;
438 pinctrl-names = "default";
439
440 status = "okay";
441};
442
443&scif1 {
444 pinctrl-0 = <&scif1_pins>;
445 pinctrl-names = "default";
446
447 status = "okay";
448};
449
338f7ebf
GU
450&scif_clk {
451 clock-frequency = <14745600>;
452 status = "okay";
453};
454
2c60a7df
MD
455&sdhi0 {
456 pinctrl-0 = <&sdhi0_pins>;
457 pinctrl-names = "default";
458
459 vmmc-supply = <&vcc_sdhi0>;
460 vqmmc-supply = <&vccq_sdhi0>;
461 cd-gpios = <&gpio6 6 GPIO_ACTIVE_LOW>;
462 wp-gpios = <&gpio6 7 GPIO_ACTIVE_HIGH>;
463 status = "okay";
464};
465
466&sdhi1 {
467 pinctrl-0 = <&sdhi1_pins>;
468 pinctrl-names = "default";
469
470 vmmc-supply = <&vcc_sdhi1>;
471 vqmmc-supply = <&vccq_sdhi1>;
472 cd-gpios = <&gpio6 14 GPIO_ACTIVE_LOW>;
473 wp-gpios = <&gpio6 15 GPIO_ACTIVE_HIGH>;
474 status = "okay";
475};
476
477&sdhi2 {
478 pinctrl-0 = <&sdhi2_pins>;
479 pinctrl-names = "default";
480
481 vmmc-supply = <&vcc_sdhi2>;
482 vqmmc-supply = <&vccq_sdhi2>;
483 cd-gpios = <&gpio6 22 GPIO_ACTIVE_LOW>;
484 status = "okay";
485};
486
6f3e4ee3 487&qspi {
e02ee513
GU
488 pinctrl-0 = <&qspi_pins>;
489 pinctrl-names = "default";
490
491 status = "okay";
492
493 flash: flash@0 {
cc3db02c 494 compatible = "spansion,s25fl512s", "jedec,spi-nor";
e02ee513
GU
495 reg = <0>;
496 spi-max-frequency = <30000000>;
ed56083a
GU
497 spi-tx-bus-width = <4>;
498 spi-rx-bus-width = <4>;
9c5becce
HN
499 spi-cpha;
500 spi-cpol;
e02ee513
GU
501 m25p,fast-read;
502
27fa0a6c 503 partitions {
f6531bb5 504 compatible = "fixed-partitions";
27fa0a6c
GU
505 #address-cells = <1>;
506 #size-cells = <1>;
507
508 partition@0 {
509 label = "loader";
510 reg = <0x00000000 0x00080000>;
511 read-only;
512 };
513 partition@80000 {
514 label = "user";
515 reg = <0x00080000 0x00580000>;
516 read-only;
517 };
518 partition@600000 {
519 label = "flash";
520 reg = <0x00600000 0x03a00000>;
521 };
e02ee513
GU
522 };
523 };
524};
b16f05ab
GU
525
526&msiof0 {
527 pinctrl-0 = <&msiof0_pins>;
528 pinctrl-names = "default";
529
530 status = "okay";
531
532 pmic: pmic@0 {
533 compatible = "renesas,r2a11302ft";
534 reg = <0>;
535 spi-max-frequency = <6000000>;
536 spi-cpol;
537 spi-cpha;
538 };
539};
1d41f36a 540
897dfdbc
SH
541&i2c2 {
542 pinctrl-0 = <&i2c2_pins>;
543 pinctrl-names = "default";
544
545 status = "okay";
a8d943ed 546 clock-frequency = <100000>;
897dfdbc 547
95cfb59a 548 ak4643: codec@12 {
b160f615
KM
549 compatible = "asahi-kasei,ak4643";
550 #sound-dai-cells = <0>;
551 reg = <0x12>;
552 };
897dfdbc 553
2cf08810 554 composite-in@20 {
555 compatible = "adi,adv7180";
556 reg = <0x20>;
557 remote = <&vin1>;
558
559 port {
560 adv7180: endpoint {
561 bus-width = <8>;
562 remote-endpoint = <&vin1ep>;
563 };
564 };
565 };
566
83a0731b
LP
567 hdmi@39 {
568 compatible = "adi,adv7511w";
569 reg = <0x39>;
570 interrupt-parent = <&gpio3>;
12392f58 571 interrupts = <29 IRQ_TYPE_LEVEL_LOW>;
83a0731b
LP
572
573 adi,input-depth = <8>;
574 adi,input-colorspace = "rgb";
575 adi,input-clock = "1x";
576 adi,input-style = <1>;
577 adi,input-justification = "evenly";
578
579 ports {
580 #address-cells = <1>;
581 #size-cells = <0>;
582
583 port@0 {
584 reg = <0>;
585 adv7511_in: endpoint {
586 remote-endpoint = <&du_out_rgb>;
587 };
588 };
589
590 port@1 {
591 reg = <1>;
592 adv7511_out: endpoint {
593 remote-endpoint = <&hdmi_con>;
594 };
595 };
596 };
597 };
598
897dfdbc
SH
599 eeprom@50 {
600 compatible = "renesas,24c02";
601 reg = <0x50>;
602 pagesize = <16>;
603 };
604};
605
1d41f36a 606&i2c6 {
1d41f36a 607 status = "okay";
897dfdbc 608 clock-frequency = <100000>;
1d41f36a 609
a6b42266
GU
610 pmic@58 {
611 compatible = "dlg,da9063";
612 reg = <0x58>;
613 interrupt-parent = <&irqc0>;
614 interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
615 interrupt-controller;
616
617 rtc {
618 compatible = "dlg,da9063-rtc";
619 };
620
621 wdt {
622 compatible = "dlg,da9063-watchdog";
623 };
624 };
625
1d41f36a 626 vdd_dvfs: regulator@68 {
bd597f47 627 compatible = "dlg,da9210";
1d41f36a 628 reg = <0x68>;
4be7338d
GU
629 interrupt-parent = <&irqc0>;
630 interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
1d41f36a
GI
631
632 regulator-min-microvolt = <1000000>;
633 regulator-max-microvolt = <1000000>;
634 regulator-boot-on;
635 regulator-always-on;
636 };
637};
a57004ec 638
7540aeb0
SS
639&pci0 {
640 status = "okay";
641 pinctrl-0 = <&usb0_pins>;
642 pinctrl-names = "default";
643};
644
645&pci1 {
646 status = "okay";
647 pinctrl-0 = <&usb1_pins>;
648 pinctrl-names = "default";
649};
650
fc4a00b7
YS
651&hsusb {
652 status = "okay";
653 pinctrl-0 = <&usb0_pins>;
654 pinctrl-names = "default";
655 renesas,enable-gpio = <&gpio5 31 GPIO_ACTIVE_HIGH>;
656};
657
dc80d8bc
SS
658&usbphy {
659 status = "okay";
660};
661
998d7d64 662&pcie_bus_clk {
ac6908b3 663 clock-frequency = <100000000>;
998d7d64
PE
664 status = "okay";
665};
666
667&pciec {
668 status = "okay";
669};
670
a57004ec
GI
671&cpu0 {
672 cpu0-supply = <&vdd_dvfs>;
673};
2cf08810 674
675/* composite video input */
676&vin1 {
815446d6 677 status = "okay";
2cf08810 678 pinctrl-0 = <&vin1_pins>;
679 pinctrl-names = "default";
680
681 port {
682 #address-cells = <1>;
683 #size-cells = <0>;
684
685 vin1ep: endpoint {
686 remote-endpoint = <&adv7180>;
687 bus-width = <8>;
688 };
689 };
690};
b160f615
KM
691
692&rcar_sound {
693 pinctrl-0 = <&sound_pins &sound_clk_pins>;
694 pinctrl-names = "default";
695
d2b541c9 696 /* Single DAI */
b160f615
KM
697 #sound-dai-cells = <0>;
698
699 status = "okay";
700
701 rcar_sound,dai {
702 dai0 {
5c6d4b94
KM
703 playback = <&ssi0 &src2 &dvc0>;
704 capture = <&ssi1 &src3 &dvc1>;
b160f615
KM
705 };
706 };
707};
708
b160f615 709&ssi1 {
b160f615
KM
710 shared-pin;
711};
This page took 0.224545 seconds and 5 git commands to generate.