ARM: shmobile: koelsch: Fix adv7511 IRQ sensing
[linux-2.6-block.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";
17323b36 57 stdout-path = &scif0;
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";
82 gpio-key,wakeup;
83 debounce-interval = <20>;
84 };
85 key-2 {
86 gpios = <&gpio5 1 GPIO_ACTIVE_LOW>;
87 linux,code = <KEY_2>;
88 label = "SW2-2";
89 gpio-key,wakeup;
90 debounce-interval = <20>;
91 };
92 key-3 {
93 gpios = <&gpio5 2 GPIO_ACTIVE_LOW>;
94 linux,code = <KEY_3>;
95 label = "SW2-3";
96 gpio-key,wakeup;
97 debounce-interval = <20>;
98 };
99 key-4 {
100 gpios = <&gpio5 3 GPIO_ACTIVE_LOW>;
101 linux,code = <KEY_4>;
102 label = "SW2-4";
103 gpio-key,wakeup;
104 debounce-interval = <20>;
105 };
aff5274f
LP
106 key-a {
107 gpios = <&gpio7 0 GPIO_ACTIVE_LOW>;
7f168b1e 108 linux,code = <KEY_A>;
aff5274f
LP
109 label = "SW30";
110 gpio-key,wakeup;
111 debounce-interval = <20>;
112 };
113 key-b {
114 gpios = <&gpio7 1 GPIO_ACTIVE_LOW>;
7f168b1e 115 linux,code = <KEY_B>;
aff5274f
LP
116 label = "SW31";
117 gpio-key,wakeup;
118 debounce-interval = <20>;
119 };
120 key-c {
121 gpios = <&gpio7 2 GPIO_ACTIVE_LOW>;
7f168b1e 122 linux,code = <KEY_C>;
aff5274f
LP
123 label = "SW32";
124 gpio-key,wakeup;
125 debounce-interval = <20>;
126 };
127 key-d {
128 gpios = <&gpio7 3 GPIO_ACTIVE_LOW>;
7f168b1e 129 linux,code = <KEY_D>;
aff5274f
LP
130 label = "SW33";
131 gpio-key,wakeup;
132 debounce-interval = <20>;
133 };
134 key-e {
135 gpios = <&gpio7 4 GPIO_ACTIVE_LOW>;
7f168b1e 136 linux,code = <KEY_E>;
aff5274f
LP
137 label = "SW34";
138 gpio-key,wakeup;
139 debounce-interval = <20>;
140 };
141 key-f {
142 gpios = <&gpio7 5 GPIO_ACTIVE_LOW>;
7f168b1e 143 linux,code = <KEY_F>;
aff5274f
LP
144 label = "SW35";
145 gpio-key,wakeup;
146 debounce-interval = <20>;
147 };
148 key-g {
149 gpios = <&gpio7 6 GPIO_ACTIVE_LOW>;
7f168b1e 150 linux,code = <KEY_G>;
aff5274f
LP
151 label = "SW36";
152 gpio-key,wakeup;
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
MD
172
173 vcc_sdhi0: regulator@0 {
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
184 vccq_sdhi0: regulator@1 {
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
197 vcc_sdhi1: regulator@2 {
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
208 vccq_sdhi1: regulator@3 {
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
221 vcc_sdhi2: regulator@4 {
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
232 vccq_sdhi2: regulator@5 {
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
KM
244
245 sound {
246 compatible = "simple-audio-card";
247
248 simple-audio-card,format = "left_j";
249 simple-audio-card,bitclock-master = <&sndcodec>;
250 simple-audio-card,frame-master = <&sndcodec>;
251
252 sndcpu: simple-audio-card,cpu {
253 sound-dai = <&rcar_sound>;
254 };
255
256 sndcodec: simple-audio-card,codec {
257 sound-dai = <&ak4643>;
258 system-clock-frequency = <11289600>;
259 };
260 };
83a0731b
LP
261
262 hdmi-out {
263 compatible = "hdmi-connector";
264 type = "a";
265
266 port {
267 hdmi_con: endpoint {
268 remote-endpoint = <&adv7511_out>;
269 };
270 };
271 };
cd21cb46
LP
272
273 x2_clk: x2-clock {
274 compatible = "fixed-clock";
275 #clock-cells = <0>;
276 clock-frequency = <148500000>;
277 };
278
279 x13_clk: x13-clock {
280 compatible = "fixed-clock";
281 #clock-cells = <0>;
282 clock-frequency = <148500000>;
283 };
f8e2535d
LP
284};
285
0ee56d40
LP
286&du {
287 pinctrl-0 = <&du_pins>;
288 pinctrl-names = "default";
289 status = "okay";
290
cd21cb46
LP
291 clocks = <&mstp7_clks R8A7791_CLK_DU0>,
292 <&mstp7_clks R8A7791_CLK_DU1>,
293 <&mstp7_clks R8A7791_CLK_LVDS0>,
294 <&x13_clk>, <&x2_clk>;
295 clock-names = "du.0", "du.1", "lvds.0",
296 "dclkin.0", "dclkin.1";
297
0ee56d40 298 ports {
83a0731b
LP
299 port@0 {
300 endpoint {
301 remote-endpoint = <&adv7511_in>;
302 };
303 };
0ee56d40
LP
304 port@1 {
305 lvds_connector: endpoint {
306 };
307 };
308 };
309};
310
fcf0c725
LP
311&extal_clk {
312 clock-frequency = <20000000>;
313};
314
f8e2535d 315&pfc {
e6a4c001 316 i2c2_pins: i2c2 {
38c53516
WS
317 renesas,groups = "i2c2";
318 renesas,function = "i2c2";
319 };
320
afba941c 321 du_pins: du {
83a0731b 322 renesas,groups = "du_rgb666", "du_sync", "du_disp", "du_clk_out_0";
afba941c
LP
323 renesas,function = "du";
324 };
325
f8e2535d
LP
326 scif0_pins: serial0 {
327 renesas,groups = "scif0_data_d";
328 renesas,function = "scif0";
329 };
330
331 scif1_pins: serial1 {
332 renesas,groups = "scif1_data_d";
333 renesas,function = "scif1";
334 };
e02ee513 335
08e8f0f3
SS
336 ether_pins: ether {
337 renesas,groups = "eth_link", "eth_mdio", "eth_rmii";
338 renesas,function = "eth";
339 };
340
341 phy1_pins: phy1 {
342 renesas,groups = "intc_irq0";
343 renesas,function = "intc";
344 };
345
2c60a7df 346 sdhi0_pins: sd0 {
d5dda038 347 renesas,groups = "sdhi0_data4", "sdhi0_ctrl";
2c60a7df
MD
348 renesas,function = "sdhi0";
349 };
350
351 sdhi1_pins: sd1 {
d5dda038 352 renesas,groups = "sdhi1_data4", "sdhi1_ctrl";
2c60a7df
MD
353 renesas,function = "sdhi1";
354 };
355
356 sdhi2_pins: sd2 {
d5dda038 357 renesas,groups = "sdhi2_data4", "sdhi2_ctrl";
2c60a7df
MD
358 renesas,function = "sdhi2";
359 };
360
6f3e4ee3 361 qspi_pins: spi0 {
e02ee513
GU
362 renesas,groups = "qspi_ctrl", "qspi_data4";
363 renesas,function = "qspi";
364 };
b16f05ab
GU
365
366 msiof0_pins: spi1 {
367 renesas,groups = "msiof0_clk", "msiof0_sync", "msiof0_rx",
368 "msiof0_tx";
369 renesas,function = "msiof0";
370 };
1d41f36a 371
7540aeb0
SS
372 usb0_pins: usb0 {
373 renesas,groups = "usb0";
374 renesas,function = "usb0";
375 };
376
377 usb1_pins: usb1 {
378 renesas,groups = "usb1";
379 renesas,function = "usb1";
380 };
2cf08810 381
382 vin1_pins: vin1 {
383 renesas,groups = "vin1_data8", "vin1_clk";
384 renesas,function = "vin1";
385 };
b160f615
KM
386
387 sound_pins: sound {
388 renesas,groups = "ssi0129_ctrl", "ssi0_data", "ssi1_data";
389 renesas,function = "ssi";
390 };
391
392 sound_clk_pins: sound_clk {
393 renesas,groups = "audio_clk_a";
394 renesas,function = "audio_clk";
395 };
1f52c659 396};
760c277b 397
08e8f0f3
SS
398&ether {
399 pinctrl-0 = <&ether_pins &phy1_pins>;
400 pinctrl-names = "default";
401
402 phy-handle = <&phy1>;
403 renesas,ether-link-active-low;
815446d6 404 status = "okay";
08e8f0f3
SS
405
406 phy1: ethernet-phy@1 {
407 reg = <1>;
408 interrupt-parent = <&irqc0>;
409 interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
19f647cb 410 micrel,led-mode = <1>;
08e8f0f3
SS
411 };
412};
413
6a1d9460 414&cmt0 {
815446d6 415 status = "okay";
6a1d9460
LP
416};
417
760c277b
VB
418&sata0 {
419 status = "okay";
420};
e02ee513 421
5ba55fa8
LP
422&scif0 {
423 pinctrl-0 = <&scif0_pins>;
424 pinctrl-names = "default";
425
426 status = "okay";
427};
428
429&scif1 {
430 pinctrl-0 = <&scif1_pins>;
431 pinctrl-names = "default";
432
433 status = "okay";
434};
435
2c60a7df
MD
436&sdhi0 {
437 pinctrl-0 = <&sdhi0_pins>;
438 pinctrl-names = "default";
439
440 vmmc-supply = <&vcc_sdhi0>;
441 vqmmc-supply = <&vccq_sdhi0>;
442 cd-gpios = <&gpio6 6 GPIO_ACTIVE_LOW>;
443 wp-gpios = <&gpio6 7 GPIO_ACTIVE_HIGH>;
444 status = "okay";
445};
446
447&sdhi1 {
448 pinctrl-0 = <&sdhi1_pins>;
449 pinctrl-names = "default";
450
451 vmmc-supply = <&vcc_sdhi1>;
452 vqmmc-supply = <&vccq_sdhi1>;
453 cd-gpios = <&gpio6 14 GPIO_ACTIVE_LOW>;
454 wp-gpios = <&gpio6 15 GPIO_ACTIVE_HIGH>;
455 status = "okay";
456};
457
458&sdhi2 {
459 pinctrl-0 = <&sdhi2_pins>;
460 pinctrl-names = "default";
461
462 vmmc-supply = <&vcc_sdhi2>;
463 vqmmc-supply = <&vccq_sdhi2>;
464 cd-gpios = <&gpio6 22 GPIO_ACTIVE_LOW>;
465 status = "okay";
466};
467
6f3e4ee3 468&qspi {
e02ee513
GU
469 pinctrl-0 = <&qspi_pins>;
470 pinctrl-names = "default";
471
472 status = "okay";
473
474 flash: flash@0 {
475 #address-cells = <1>;
476 #size-cells = <1>;
477 compatible = "spansion,s25fl512s";
478 reg = <0>;
479 spi-max-frequency = <30000000>;
ed56083a
GU
480 spi-tx-bus-width = <4>;
481 spi-rx-bus-width = <4>;
9c5becce
HN
482 spi-cpha;
483 spi-cpol;
e02ee513
GU
484 m25p,fast-read;
485
486 partition@0 {
487 label = "loader";
488 reg = <0x00000000 0x00080000>;
489 read-only;
490 };
491 partition@80000 {
5f950e62
SH
492 label = "user";
493 reg = <0x00080000 0x00580000>;
e02ee513
GU
494 read-only;
495 };
5f950e62
SH
496 partition@600000 {
497 label = "flash";
498 reg = <0x00600000 0x03a00000>;
e02ee513
GU
499 };
500 };
501};
b16f05ab
GU
502
503&msiof0 {
504 pinctrl-0 = <&msiof0_pins>;
505 pinctrl-names = "default";
506
507 status = "okay";
508
509 pmic: pmic@0 {
510 compatible = "renesas,r2a11302ft";
511 reg = <0>;
512 spi-max-frequency = <6000000>;
513 spi-cpol;
514 spi-cpha;
515 };
516};
1d41f36a 517
897dfdbc
SH
518&i2c2 {
519 pinctrl-0 = <&i2c2_pins>;
520 pinctrl-names = "default";
521
522 status = "okay";
a8d943ed 523 clock-frequency = <100000>;
897dfdbc 524
b160f615
KM
525 ak4643: sound-codec@12 {
526 compatible = "asahi-kasei,ak4643";
527 #sound-dai-cells = <0>;
528 reg = <0x12>;
529 };
897dfdbc 530
2cf08810 531 composite-in@20 {
532 compatible = "adi,adv7180";
533 reg = <0x20>;
534 remote = <&vin1>;
535
536 port {
537 adv7180: endpoint {
538 bus-width = <8>;
539 remote-endpoint = <&vin1ep>;
540 };
541 };
542 };
543
83a0731b
LP
544 hdmi@39 {
545 compatible = "adi,adv7511w";
546 reg = <0x39>;
547 interrupt-parent = <&gpio3>;
12392f58 548 interrupts = <29 IRQ_TYPE_LEVEL_LOW>;
83a0731b
LP
549
550 adi,input-depth = <8>;
551 adi,input-colorspace = "rgb";
552 adi,input-clock = "1x";
553 adi,input-style = <1>;
554 adi,input-justification = "evenly";
555
556 ports {
557 #address-cells = <1>;
558 #size-cells = <0>;
559
560 port@0 {
561 reg = <0>;
562 adv7511_in: endpoint {
563 remote-endpoint = <&du_out_rgb>;
564 };
565 };
566
567 port@1 {
568 reg = <1>;
569 adv7511_out: endpoint {
570 remote-endpoint = <&hdmi_con>;
571 };
572 };
573 };
574 };
575
897dfdbc
SH
576 eeprom@50 {
577 compatible = "renesas,24c02";
578 reg = <0x50>;
579 pagesize = <16>;
580 };
581};
582
1d41f36a 583&i2c6 {
1d41f36a 584 status = "okay";
897dfdbc 585 clock-frequency = <100000>;
1d41f36a 586
a6b42266
GU
587 pmic@58 {
588 compatible = "dlg,da9063";
589 reg = <0x58>;
590 interrupt-parent = <&irqc0>;
591 interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
592 interrupt-controller;
593
594 rtc {
595 compatible = "dlg,da9063-rtc";
596 };
597
598 wdt {
599 compatible = "dlg,da9063-watchdog";
600 };
601 };
602
1d41f36a 603 vdd_dvfs: regulator@68 {
bd597f47 604 compatible = "dlg,da9210";
1d41f36a 605 reg = <0x68>;
4be7338d
GU
606 interrupt-parent = <&irqc0>;
607 interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
1d41f36a
GI
608
609 regulator-min-microvolt = <1000000>;
610 regulator-max-microvolt = <1000000>;
611 regulator-boot-on;
612 regulator-always-on;
613 };
614};
a57004ec 615
7540aeb0
SS
616&pci0 {
617 status = "okay";
618 pinctrl-0 = <&usb0_pins>;
619 pinctrl-names = "default";
620};
621
622&pci1 {
623 status = "okay";
624 pinctrl-0 = <&usb1_pins>;
625 pinctrl-names = "default";
626};
627
fc4a00b7
YS
628&hsusb {
629 status = "okay";
630 pinctrl-0 = <&usb0_pins>;
631 pinctrl-names = "default";
632 renesas,enable-gpio = <&gpio5 31 GPIO_ACTIVE_HIGH>;
633};
634
dc80d8bc
SS
635&usbphy {
636 status = "okay";
637};
638
998d7d64
PE
639&pcie_bus_clk {
640 status = "okay";
641};
642
643&pciec {
644 status = "okay";
645};
646
a57004ec
GI
647&cpu0 {
648 cpu0-supply = <&vdd_dvfs>;
649};
2cf08810 650
651/* composite video input */
652&vin1 {
815446d6 653 status = "okay";
2cf08810 654 pinctrl-0 = <&vin1_pins>;
655 pinctrl-names = "default";
656
657 port {
658 #address-cells = <1>;
659 #size-cells = <0>;
660
661 vin1ep: endpoint {
662 remote-endpoint = <&adv7180>;
663 bus-width = <8>;
664 };
665 };
666};
b160f615
KM
667
668&rcar_sound {
669 pinctrl-0 = <&sound_pins &sound_clk_pins>;
670 pinctrl-names = "default";
671
d2b541c9 672 /* Single DAI */
b160f615
KM
673 #sound-dai-cells = <0>;
674
675 status = "okay";
676
677 rcar_sound,dai {
678 dai0 {
5c6d4b94
KM
679 playback = <&ssi0 &src2 &dvc0>;
680 capture = <&ssi1 &src3 &dvc1>;
b160f615
KM
681 };
682 };
683};
684
b160f615 685&ssi1 {
b160f615
KM
686 shared-pin;
687};