f056e64e50c19a6a94b4fd360763fbad88e87181
[deliverable/linux.git] / arch / arm / boot / dts / r8a7791-koelsch.dts
1 /*
2 * Device Tree Source for the Koelsch board
3 *
4 * Copyright (C) 2013 Renesas Electronics Corporation
5 * Copyright (C) 2013-2014 Renesas Solutions Corp.
6 * Copyright (C) 2014 Cogent Embedded, Inc.
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
32 /dts-v1/;
33 #include "r8a7791.dtsi"
34 #include <dt-bindings/gpio/gpio.h>
35 #include <dt-bindings/input/input.h>
36
37 / {
38 model = "Koelsch";
39 compatible = "renesas,koelsch", "renesas,r8a7791";
40
41 aliases {
42 serial6 = &scif0;
43 serial7 = &scif1;
44 };
45
46 chosen {
47 bootargs = "console=ttySC6,115200 ignore_loglevel rw root=/dev/nfs ip=dhcp";
48 stdout-path = &scif0;
49 };
50
51 memory@40000000 {
52 device_type = "memory";
53 reg = <0 0x40000000 0 0x40000000>;
54 };
55
56 memory@200000000 {
57 device_type = "memory";
58 reg = <2 0x00000000 0 0x40000000>;
59 };
60
61 lbsc {
62 #address-cells = <1>;
63 #size-cells = <1>;
64 };
65
66 gpio-keys {
67 compatible = "gpio-keys";
68
69 key-1 {
70 gpios = <&gpio5 0 GPIO_ACTIVE_LOW>;
71 linux,code = <KEY_1>;
72 label = "SW2-1";
73 gpio-key,wakeup;
74 debounce-interval = <20>;
75 };
76 key-2 {
77 gpios = <&gpio5 1 GPIO_ACTIVE_LOW>;
78 linux,code = <KEY_2>;
79 label = "SW2-2";
80 gpio-key,wakeup;
81 debounce-interval = <20>;
82 };
83 key-3 {
84 gpios = <&gpio5 2 GPIO_ACTIVE_LOW>;
85 linux,code = <KEY_3>;
86 label = "SW2-3";
87 gpio-key,wakeup;
88 debounce-interval = <20>;
89 };
90 key-4 {
91 gpios = <&gpio5 3 GPIO_ACTIVE_LOW>;
92 linux,code = <KEY_4>;
93 label = "SW2-4";
94 gpio-key,wakeup;
95 debounce-interval = <20>;
96 };
97 key-a {
98 gpios = <&gpio7 0 GPIO_ACTIVE_LOW>;
99 linux,code = <KEY_A>;
100 label = "SW30";
101 gpio-key,wakeup;
102 debounce-interval = <20>;
103 };
104 key-b {
105 gpios = <&gpio7 1 GPIO_ACTIVE_LOW>;
106 linux,code = <KEY_B>;
107 label = "SW31";
108 gpio-key,wakeup;
109 debounce-interval = <20>;
110 };
111 key-c {
112 gpios = <&gpio7 2 GPIO_ACTIVE_LOW>;
113 linux,code = <KEY_C>;
114 label = "SW32";
115 gpio-key,wakeup;
116 debounce-interval = <20>;
117 };
118 key-d {
119 gpios = <&gpio7 3 GPIO_ACTIVE_LOW>;
120 linux,code = <KEY_D>;
121 label = "SW33";
122 gpio-key,wakeup;
123 debounce-interval = <20>;
124 };
125 key-e {
126 gpios = <&gpio7 4 GPIO_ACTIVE_LOW>;
127 linux,code = <KEY_E>;
128 label = "SW34";
129 gpio-key,wakeup;
130 debounce-interval = <20>;
131 };
132 key-f {
133 gpios = <&gpio7 5 GPIO_ACTIVE_LOW>;
134 linux,code = <KEY_F>;
135 label = "SW35";
136 gpio-key,wakeup;
137 debounce-interval = <20>;
138 };
139 key-g {
140 gpios = <&gpio7 6 GPIO_ACTIVE_LOW>;
141 linux,code = <KEY_G>;
142 label = "SW36";
143 gpio-key,wakeup;
144 debounce-interval = <20>;
145 };
146 };
147
148 leds {
149 compatible = "gpio-leds";
150 led6 {
151 gpios = <&gpio2 19 GPIO_ACTIVE_HIGH>;
152 };
153 led7 {
154 gpios = <&gpio2 20 GPIO_ACTIVE_HIGH>;
155 };
156 led8 {
157 gpios = <&gpio2 21 GPIO_ACTIVE_HIGH>;
158 };
159 };
160
161 vcc_sdhi0: regulator@0 {
162 compatible = "regulator-fixed";
163
164 regulator-name = "SDHI0 Vcc";
165 regulator-min-microvolt = <3300000>;
166 regulator-max-microvolt = <3300000>;
167
168 gpio = <&gpio7 17 GPIO_ACTIVE_HIGH>;
169 enable-active-high;
170 };
171
172 vccq_sdhi0: regulator@1 {
173 compatible = "regulator-gpio";
174
175 regulator-name = "SDHI0 VccQ";
176 regulator-min-microvolt = <1800000>;
177 regulator-max-microvolt = <3300000>;
178
179 gpios = <&gpio2 12 GPIO_ACTIVE_HIGH>;
180 gpios-states = <1>;
181 states = <3300000 1
182 1800000 0>;
183 };
184
185 vcc_sdhi1: regulator@2 {
186 compatible = "regulator-fixed";
187
188 regulator-name = "SDHI1 Vcc";
189 regulator-min-microvolt = <3300000>;
190 regulator-max-microvolt = <3300000>;
191
192 gpio = <&gpio7 18 GPIO_ACTIVE_HIGH>;
193 enable-active-high;
194 };
195
196 vccq_sdhi1: regulator@3 {
197 compatible = "regulator-gpio";
198
199 regulator-name = "SDHI1 VccQ";
200 regulator-min-microvolt = <1800000>;
201 regulator-max-microvolt = <3300000>;
202
203 gpios = <&gpio2 13 GPIO_ACTIVE_HIGH>;
204 gpios-states = <1>;
205 states = <3300000 1
206 1800000 0>;
207 };
208
209 vcc_sdhi2: regulator@4 {
210 compatible = "regulator-fixed";
211
212 regulator-name = "SDHI2 Vcc";
213 regulator-min-microvolt = <3300000>;
214 regulator-max-microvolt = <3300000>;
215
216 gpio = <&gpio7 19 GPIO_ACTIVE_HIGH>;
217 enable-active-high;
218 };
219
220 vccq_sdhi2: regulator@5 {
221 compatible = "regulator-gpio";
222
223 regulator-name = "SDHI2 VccQ";
224 regulator-min-microvolt = <1800000>;
225 regulator-max-microvolt = <3300000>;
226
227 gpios = <&gpio2 26 GPIO_ACTIVE_HIGH>;
228 gpios-states = <1>;
229 states = <3300000 1
230 1800000 0>;
231 };
232
233 sound {
234 compatible = "simple-audio-card";
235
236 simple-audio-card,format = "left_j";
237 simple-audio-card,bitclock-master = <&sndcodec>;
238 simple-audio-card,frame-master = <&sndcodec>;
239
240 sndcpu: simple-audio-card,cpu {
241 sound-dai = <&rcar_sound>;
242 };
243
244 sndcodec: simple-audio-card,codec {
245 sound-dai = <&ak4643>;
246 system-clock-frequency = <11289600>;
247 };
248 };
249 };
250
251 &du {
252 pinctrl-0 = <&du_pins>;
253 pinctrl-names = "default";
254 status = "okay";
255
256 ports {
257 port@1 {
258 lvds_connector: endpoint {
259 };
260 };
261 };
262 };
263
264 &extal_clk {
265 clock-frequency = <20000000>;
266 };
267
268 &pfc {
269 i2c2_pins: i2c2 {
270 renesas,groups = "i2c2";
271 renesas,function = "i2c2";
272 };
273
274 du_pins: du {
275 renesas,groups = "du_rgb666", "du_sync", "du_clk_out_0";
276 renesas,function = "du";
277 };
278
279 scif0_pins: serial0 {
280 renesas,groups = "scif0_data_d";
281 renesas,function = "scif0";
282 };
283
284 scif1_pins: serial1 {
285 renesas,groups = "scif1_data_d";
286 renesas,function = "scif1";
287 };
288
289 ether_pins: ether {
290 renesas,groups = "eth_link", "eth_mdio", "eth_rmii";
291 renesas,function = "eth";
292 };
293
294 phy1_pins: phy1 {
295 renesas,groups = "intc_irq0";
296 renesas,function = "intc";
297 };
298
299 sdhi0_pins: sd0 {
300 renesas,groups = "sdhi0_data4", "sdhi0_ctrl";
301 renesas,function = "sdhi0";
302 };
303
304 sdhi1_pins: sd1 {
305 renesas,groups = "sdhi1_data4", "sdhi1_ctrl";
306 renesas,function = "sdhi1";
307 };
308
309 sdhi2_pins: sd2 {
310 renesas,groups = "sdhi2_data4", "sdhi2_ctrl";
311 renesas,function = "sdhi2";
312 };
313
314 qspi_pins: spi0 {
315 renesas,groups = "qspi_ctrl", "qspi_data4";
316 renesas,function = "qspi";
317 };
318
319 msiof0_pins: spi1 {
320 renesas,groups = "msiof0_clk", "msiof0_sync", "msiof0_rx",
321 "msiof0_tx";
322 renesas,function = "msiof0";
323 };
324
325 usb0_pins: usb0 {
326 renesas,groups = "usb0";
327 renesas,function = "usb0";
328 };
329
330 usb1_pins: usb1 {
331 renesas,groups = "usb1";
332 renesas,function = "usb1";
333 };
334
335 vin1_pins: vin1 {
336 renesas,groups = "vin1_data8", "vin1_clk";
337 renesas,function = "vin1";
338 };
339
340 sound_pins: sound {
341 renesas,groups = "ssi0129_ctrl", "ssi0_data", "ssi1_data";
342 renesas,function = "ssi";
343 };
344
345 sound_clk_pins: sound_clk {
346 renesas,groups = "audio_clk_a";
347 renesas,function = "audio_clk";
348 };
349 };
350
351 &ether {
352 pinctrl-0 = <&ether_pins &phy1_pins>;
353 pinctrl-names = "default";
354
355 phy-handle = <&phy1>;
356 renesas,ether-link-active-low;
357 status = "ok";
358
359 phy1: ethernet-phy@1 {
360 reg = <1>;
361 interrupt-parent = <&irqc0>;
362 interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
363 micrel,led-mode = <1>;
364 };
365 };
366
367 &cmt0 {
368 status = "ok";
369 };
370
371 &sata0 {
372 status = "okay";
373 };
374
375 &scif0 {
376 pinctrl-0 = <&scif0_pins>;
377 pinctrl-names = "default";
378
379 status = "okay";
380 };
381
382 &scif1 {
383 pinctrl-0 = <&scif1_pins>;
384 pinctrl-names = "default";
385
386 status = "okay";
387 };
388
389 &sdhi0 {
390 pinctrl-0 = <&sdhi0_pins>;
391 pinctrl-names = "default";
392
393 vmmc-supply = <&vcc_sdhi0>;
394 vqmmc-supply = <&vccq_sdhi0>;
395 cd-gpios = <&gpio6 6 GPIO_ACTIVE_LOW>;
396 wp-gpios = <&gpio6 7 GPIO_ACTIVE_HIGH>;
397 status = "okay";
398 };
399
400 &sdhi1 {
401 pinctrl-0 = <&sdhi1_pins>;
402 pinctrl-names = "default";
403
404 vmmc-supply = <&vcc_sdhi1>;
405 vqmmc-supply = <&vccq_sdhi1>;
406 cd-gpios = <&gpio6 14 GPIO_ACTIVE_LOW>;
407 wp-gpios = <&gpio6 15 GPIO_ACTIVE_HIGH>;
408 status = "okay";
409 };
410
411 &sdhi2 {
412 pinctrl-0 = <&sdhi2_pins>;
413 pinctrl-names = "default";
414
415 vmmc-supply = <&vcc_sdhi2>;
416 vqmmc-supply = <&vccq_sdhi2>;
417 cd-gpios = <&gpio6 22 GPIO_ACTIVE_LOW>;
418 status = "okay";
419 };
420
421 &qspi {
422 pinctrl-0 = <&qspi_pins>;
423 pinctrl-names = "default";
424
425 status = "okay";
426
427 flash: flash@0 {
428 #address-cells = <1>;
429 #size-cells = <1>;
430 compatible = "spansion,s25fl512s";
431 reg = <0>;
432 spi-max-frequency = <30000000>;
433 spi-tx-bus-width = <4>;
434 spi-rx-bus-width = <4>;
435 m25p,fast-read;
436
437 partition@0 {
438 label = "loader";
439 reg = <0x00000000 0x00080000>;
440 read-only;
441 };
442 partition@80000 {
443 label = "bootenv";
444 reg = <0x00080000 0x00080000>;
445 read-only;
446 };
447 partition@100000 {
448 label = "data";
449 reg = <0x00100000 0x03f00000>;
450 };
451 };
452 };
453
454 &msiof0 {
455 pinctrl-0 = <&msiof0_pins>;
456 pinctrl-names = "default";
457
458 status = "okay";
459
460 pmic: pmic@0 {
461 compatible = "renesas,r2a11302ft";
462 reg = <0>;
463 spi-max-frequency = <6000000>;
464 spi-cpol;
465 spi-cpha;
466 };
467 };
468
469 &i2c2 {
470 pinctrl-0 = <&i2c2_pins>;
471 pinctrl-names = "default";
472
473 status = "okay";
474 clock-frequency = <100000>;
475
476 ak4643: sound-codec@12 {
477 compatible = "asahi-kasei,ak4643";
478 #sound-dai-cells = <0>;
479 reg = <0x12>;
480 };
481
482 composite-in@20 {
483 compatible = "adi,adv7180";
484 reg = <0x20>;
485 remote = <&vin1>;
486
487 port {
488 adv7180: endpoint {
489 bus-width = <8>;
490 remote-endpoint = <&vin1ep>;
491 };
492 };
493 };
494
495 eeprom@50 {
496 compatible = "renesas,24c02";
497 reg = <0x50>;
498 pagesize = <16>;
499 };
500 };
501
502 &i2c6 {
503 status = "okay";
504 clock-frequency = <100000>;
505
506 vdd_dvfs: regulator@68 {
507 compatible = "dlg,da9210";
508 reg = <0x68>;
509
510 regulator-min-microvolt = <1000000>;
511 regulator-max-microvolt = <1000000>;
512 regulator-boot-on;
513 regulator-always-on;
514 };
515 };
516
517 &pci0 {
518 status = "okay";
519 pinctrl-0 = <&usb0_pins>;
520 pinctrl-names = "default";
521 };
522
523 &pci1 {
524 status = "okay";
525 pinctrl-0 = <&usb1_pins>;
526 pinctrl-names = "default";
527 };
528
529 &hsusb {
530 status = "okay";
531 pinctrl-0 = <&usb0_pins>;
532 pinctrl-names = "default";
533 renesas,enable-gpio = <&gpio5 31 GPIO_ACTIVE_HIGH>;
534 };
535
536 &usbphy {
537 status = "okay";
538 };
539
540 &pcie_bus_clk {
541 status = "okay";
542 };
543
544 &pciec {
545 status = "okay";
546 };
547
548 &cpu0 {
549 cpu0-supply = <&vdd_dvfs>;
550 };
551
552 /* composite video input */
553 &vin1 {
554 status = "ok";
555 pinctrl-0 = <&vin1_pins>;
556 pinctrl-names = "default";
557
558 port {
559 #address-cells = <1>;
560 #size-cells = <0>;
561
562 vin1ep: endpoint {
563 remote-endpoint = <&adv7180>;
564 bus-width = <8>;
565 };
566 };
567 };
568
569 &rcar_sound {
570 pinctrl-0 = <&sound_pins &sound_clk_pins>;
571 pinctrl-names = "default";
572
573 #sound-dai-cells = <0>;
574
575 status = "okay";
576
577 rcar_sound,dai {
578 dai0 {
579 playback = <&ssi0 &src2 &dvc0>;
580 capture = <&ssi1 &src3 &dvc1>;
581 };
582 };
583 };
584
585 &ssi1 {
586 shared-pin;
587 };
This page took 0.043484 seconds and 4 git commands to generate.