ARM: shmobile: lager: Sound DMA support via SRC on DTS
[linux-2.6-block.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
22 */
23
3cc828fd 24/dts-v1/;
31c46cbf 25#include "r8a7790.dtsi"
39fa511b 26#include <dt-bindings/gpio/gpio.h>
f7dcd382 27#include <dt-bindings/input/input.h>
3cc828fd
MD
28
29/ {
30 model = "Lager";
31 compatible = "renesas,lager", "renesas,r8a7790";
32
4e9c4877 33 aliases {
7c055894
WS
34 serial6 = &scifa0;
35 serial7 = &scifa1;
4e9c4877
LP
36 };
37
3cc828fd 38 chosen {
dcbbbaf2 39 bootargs = "console=ttySC6,115200 ignore_loglevel rw root=/dev/nfs ip=dhcp";
cf855816 40 stdout-path = &scifa0;
3cc828fd
MD
41 };
42
43 memory@40000000 {
44 device_type = "memory";
7b16c61a 45 reg = <0 0x40000000 0 0x40000000>;
3cc828fd
MD
46 };
47
126f998e 48 memory@140000000 {
62bc32a2 49 device_type = "memory";
7b16c61a 50 reg = <1 0x40000000 0 0xc0000000>;
62bc32a2
MD
51 };
52
3cc828fd
MD
53 lbsc {
54 #address-cells = <1>;
55 #size-cells = <1>;
56 };
39fa511b 57
f7dcd382
MD
58 gpio_keys {
59 compatible = "gpio-keys";
60
61 button@1 {
62 linux,code = <KEY_1>;
63 label = "SW2-1";
64 gpio-key,wakeup;
65 debounce-interval = <20>;
66 gpios = <&gpio1 14 GPIO_ACTIVE_LOW>;
67 };
68 button@2 {
69 linux,code = <KEY_2>;
70 label = "SW2-2";
71 gpio-key,wakeup;
72 debounce-interval = <20>;
73 gpios = <&gpio1 24 GPIO_ACTIVE_LOW>;
74 };
75 button@3 {
76 linux,code = <KEY_3>;
77 label = "SW2-3";
78 gpio-key,wakeup;
79 debounce-interval = <20>;
80 gpios = <&gpio1 26 GPIO_ACTIVE_LOW>;
81 };
82 button@4 {
83 linux,code = <KEY_4>;
84 label = "SW2-4";
85 gpio-key,wakeup;
86 debounce-interval = <20>;
87 gpios = <&gpio1 28 GPIO_ACTIVE_LOW>;
88 };
89 };
90
39fa511b
LP
91 leds {
92 compatible = "gpio-leds";
93 led6 {
94 gpios = <&gpio4 22 GPIO_ACTIVE_HIGH>;
95 };
96 led7 {
97 gpios = <&gpio4 23 GPIO_ACTIVE_HIGH>;
98 };
99 led8 {
100 gpios = <&gpio5 17 GPIO_ACTIVE_HIGH>;
101 };
102 };
103
104 fixedregulator3v3: fixedregulator@0 {
105 compatible = "regulator-fixed";
106 regulator-name = "fixed-3.3V";
107 regulator-min-microvolt = <3300000>;
108 regulator-max-microvolt = <3300000>;
109 regulator-boot-on;
110 regulator-always-on;
111 };
c6119944
KM
112
113 vcc_sdhi0: regulator@1 {
114 compatible = "regulator-fixed";
115
116 regulator-name = "SDHI0 Vcc";
117 regulator-min-microvolt = <3300000>;
118 regulator-max-microvolt = <3300000>;
119
120 gpio = <&gpio5 24 GPIO_ACTIVE_HIGH>;
121 enable-active-high;
122 };
123
124 vccq_sdhi0: regulator@2 {
125 compatible = "regulator-gpio";
126
127 regulator-name = "SDHI0 VccQ";
128 regulator-min-microvolt = <1800000>;
129 regulator-max-microvolt = <3300000>;
130
131 gpios = <&gpio5 29 GPIO_ACTIVE_HIGH>;
132 gpios-states = <1>;
133 states = <3300000 1
134 1800000 0>;
135 };
136
137 vcc_sdhi2: regulator@3 {
138 compatible = "regulator-fixed";
139
140 regulator-name = "SDHI2 Vcc";
141 regulator-min-microvolt = <3300000>;
142 regulator-max-microvolt = <3300000>;
143
144 gpio = <&gpio5 25 GPIO_ACTIVE_HIGH>;
145 enable-active-high;
146 };
147
148 vccq_sdhi2: regulator@4 {
149 compatible = "regulator-gpio";
150
151 regulator-name = "SDHI2 VccQ";
152 regulator-min-microvolt = <1800000>;
153 regulator-max-microvolt = <3300000>;
154
155 gpios = <&gpio5 30 GPIO_ACTIVE_HIGH>;
156 gpios-states = <1>;
157 states = <3300000 1
158 1800000 0>;
159 };
3edd18ff 160
8ea7a44a
KM
161 sound {
162 compatible = "simple-audio-card";
163
164 simple-audio-card,format = "left_j";
165 simple-audio-card,bitclock-master = <&sndcodec>;
166 simple-audio-card,frame-master = <&sndcodec>;
167
168 sndcpu: simple-audio-card,cpu {
169 sound-dai = <&rcar_sound>;
170 };
171
172 sndcodec: simple-audio-card,codec {
173 sound-dai = <&ak4643>;
174 system-clock-frequency = <11289600>;
175 };
176 };
177
3edd18ff
LP
178 vga-encoder {
179 compatible = "adi,adv7123";
180
181 ports {
182 #address-cells = <1>;
183 #size-cells = <0>;
184
185 port@0 {
186 reg = <0>;
187 adv7123_in: endpoint {
188 remote-endpoint = <&du_out_rgb>;
189 };
190 };
191 port@1 {
192 reg = <1>;
193 adv7123_out: endpoint {
194 remote-endpoint = <&vga_in>;
195 };
196 };
197 };
198 };
199
200 vga {
201 compatible = "vga-connector";
202
203 port {
204 vga_in: endpoint {
205 remote-endpoint = <&adv7123_out>;
206 };
207 };
208 };
209};
210
211&du {
212 pinctrl-0 = <&du_pins>;
213 pinctrl-names = "default";
214 status = "okay";
215
216 ports {
217 port@0 {
218 endpoint {
219 remote-endpoint = <&adv7123_in>;
220 };
221 };
222 port@2 {
223 lvds_connector: endpoint {
224 };
225 };
226 };
39fa511b
LP
227};
228
62e43056
LP
229&extal_clk {
230 clock-frequency = <20000000>;
231};
232
39fa511b 233&pfc {
3024f507
LP
234 du_pins: du {
235 renesas,groups = "du_rgb666", "du_sync_1", "du_clk_out_0";
236 renesas,function = "du";
237 };
238
7c055894
WS
239 scifa0_pins: serial0 {
240 renesas,groups = "scifa0_data";
241 renesas,function = "scifa0";
39fa511b
LP
242 };
243
da4ea951
SS
244 ether_pins: ether {
245 renesas,groups = "eth_link", "eth_mdio", "eth_rmii";
246 renesas,function = "eth";
247 };
248
249 phy1_pins: phy1 {
250 renesas,groups = "intc_irq0";
251 renesas,function = "intc";
252 };
253
7c055894
WS
254 scifa1_pins: serial1 {
255 renesas,groups = "scifa1_data";
256 renesas,function = "scifa1";
39fa511b
LP
257 };
258
c6119944 259 sdhi0_pins: sd0 {
b08eed0c 260 renesas,groups = "sdhi0_data4", "sdhi0_ctrl";
c6119944
KM
261 renesas,function = "sdhi0";
262 };
263
264 sdhi2_pins: sd2 {
b08eed0c 265 renesas,groups = "sdhi2_data4", "sdhi2_ctrl";
c6119944
KM
266 renesas,function = "sdhi2";
267 };
268
39fa511b
LP
269 mmc1_pins: mmc1 {
270 renesas,groups = "mmc1_data8", "mmc1_ctrl";
271 renesas,function = "mmc1";
272 };
9fe7c4f8 273
fad6d45c 274 qspi_pins: spi0 {
9fe7c4f8
GU
275 renesas,groups = "qspi_ctrl", "qspi_data4";
276 renesas,function = "qspi";
277 };
b0403b91
GU
278
279 msiof1_pins: spi2 {
280 renesas,groups = "msiof1_clk", "msiof1_sync", "msiof1_rx",
281 "msiof1_tx";
282 renesas,function = "msiof1";
283 };
05f72e03 284
cb9a2b12
WS
285 iic1_pins: iic1 {
286 renesas,groups = "iic1";
287 renesas,function = "iic1";
d90bf60c
SH
288 };
289
cb9a2b12
WS
290 iic2_pins: iic2 {
291 renesas,groups = "iic2";
292 renesas,function = "iic2";
d90bf60c
SH
293 };
294
5179ffd0
KN
295 iic3_pins: iic3 {
296 renesas,groups = "iic3";
297 renesas,function = "iic3";
05f72e03 298 };
d8584660 299
e03074a7
YS
300 hsusb_pins: hsusb {
301 renesas,groups = "usb0_ovc_vbus";
302 renesas,function = "usb0";
303 };
304
d8584660
BD
305 usb0_pins: usb0 {
306 renesas,groups = "usb0";
307 renesas,function = "usb0";
308 };
309
310 usb1_pins: usb1 {
311 renesas,groups = "usb1";
312 renesas,function = "usb1";
313 };
314
315 usb2_pins: usb2 {
316 renesas,groups = "usb2";
317 renesas,function = "usb2";
318 };
d594c977
BD
319
320 vin1_pins: vin {
321 renesas,groups = "vin1_data8", "vin1_clk";
322 renesas,function = "vin1";
323 };
8ea7a44a
KM
324
325 sound_pins: sound {
326 renesas,groups = "ssi0129_ctrl", "ssi0_data", "ssi1_data";
327 renesas,function = "ssi";
328 };
329
330 sound_clk_pins: sound_clk {
331 renesas,groups = "audio_clk_a";
332 renesas,function = "audio_clk";
333 };
39fa511b
LP
334};
335
da4ea951
SS
336&ether {
337 pinctrl-0 = <&ether_pins &phy1_pins>;
338 pinctrl-names = "default";
339
340 phy-handle = <&phy1>;
341 renesas,ether-link-active-low;
342 status = "ok";
343
344 phy1: ethernet-phy@1 {
345 reg = <1>;
346 interrupt-parent = <&irqc0>;
347 interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
1c47a6aa 348 micrel,led-mode = <1>;
da4ea951
SS
349 };
350};
351
247fd5ec
LP
352&cmt0 {
353 status = "ok";
354};
355
39fa511b
LP
356&mmcif1 {
357 pinctrl-0 = <&mmc1_pins>;
358 pinctrl-names = "default";
359
360 vmmc-supply = <&fixedregulator3v3>;
361 bus-width = <8>;
362 non-removable;
363 status = "okay";
3cc828fd 364};
c6181b9f
VB
365
366&sata1 {
367 status = "okay";
368};
9fe7c4f8 369
fad6d45c 370&qspi {
9fe7c4f8
GU
371 pinctrl-0 = <&qspi_pins>;
372 pinctrl-names = "default";
373
374 status = "okay";
375
376 flash: flash@0 {
377 #address-cells = <1>;
378 #size-cells = <1>;
379 compatible = "spansion,s25fl512s";
380 reg = <0>;
381 spi-max-frequency = <30000000>;
9909d2cb
GU
382 spi-tx-bus-width = <4>;
383 spi-rx-bus-width = <4>;
9fe7c4f8
GU
384 m25p,fast-read;
385
386 partition@0 {
387 label = "loader";
388 reg = <0x00000000 0x00040000>;
389 read-only;
390 };
391 partition@40000 {
392 label = "user";
393 reg = <0x00040000 0x00400000>;
394 read-only;
395 };
396 partition@440000 {
397 label = "flash";
398 reg = <0x00440000 0x03bc0000>;
399 };
400 };
401};
c6119944 402
7c055894
WS
403&scifa0 {
404 pinctrl-0 = <&scifa0_pins>;
4e9c4877
LP
405 pinctrl-names = "default";
406
407 status = "okay";
408};
409
7c055894
WS
410&scifa1 {
411 pinctrl-0 = <&scifa1_pins>;
4e9c4877
LP
412 pinctrl-names = "default";
413
414 status = "okay";
415};
416
b0403b91
GU
417&msiof1 {
418 pinctrl-0 = <&msiof1_pins>;
419 pinctrl-names = "default";
420
421 status = "okay";
422
423 pmic: pmic@0 {
424 compatible = "renesas,r2a11302ft";
425 reg = <0>;
426 spi-max-frequency = <6000000>;
427 spi-cpol;
428 spi-cpha;
429 };
b0403b91
GU
430};
431
c6119944
KM
432&sdhi0 {
433 pinctrl-0 = <&sdhi0_pins>;
434 pinctrl-names = "default";
435
436 vmmc-supply = <&vcc_sdhi0>;
437 vqmmc-supply = <&vccq_sdhi0>;
438 cd-gpios = <&gpio3 6 GPIO_ACTIVE_LOW>;
439 status = "okay";
440};
441
442&sdhi2 {
443 pinctrl-0 = <&sdhi2_pins>;
444 pinctrl-names = "default";
445
446 vmmc-supply = <&vcc_sdhi2>;
447 vqmmc-supply = <&vccq_sdhi2>;
448 cd-gpios = <&gpio3 22 GPIO_ACTIVE_LOW>;
449 status = "okay";
450};
05f72e03 451
b989e138
BC
452&cpu0 {
453 cpu0-supply = <&vdd_dvfs>;
454};
e489c2a9 455
cb9a2b12 456&iic0 {
e489c2a9
BD
457 status = "ok";
458};
459
cb9a2b12 460&iic1 {
e489c2a9 461 status = "ok";
cb9a2b12 462 pinctrl-0 = <&iic1_pins>;
e1a2c4eb 463 pinctrl-names = "default";
e489c2a9
BD
464};
465
cb9a2b12 466&iic2 {
e489c2a9 467 status = "ok";
cb9a2b12 468 pinctrl-0 = <&iic2_pins>;
e1a2c4eb 469 pinctrl-names = "default";
d594c977 470
177d8bea
KM
471 clock-frequency = <100000>;
472
8ea7a44a
KM
473 ak4643: sound-codec@12 {
474 compatible = "asahi-kasei,ak4643";
475 #sound-dai-cells = <0>;
476 reg = <0x12>;
477 };
478
d594c977
BD
479 composite-in@20 {
480 compatible = "adi,adv7180";
481 reg = <0x20>;
482 remote = <&vin1>;
483
484 port {
485 adv7180: endpoint {
486 bus-width = <8>;
487 remote-endpoint = <&vin1ep0>;
488 };
489 };
490 };
e489c2a9
BD
491};
492
5179ffd0 493&iic3 {
aca4ec44 494 pinctrl-names = "default";
5179ffd0 495 pinctrl-0 = <&iic3_pins>;
aca4ec44
SH
496 status = "okay";
497
498 vdd_dvfs: regulator@68 {
bd597f47 499 compatible = "dlg,da9210";
aca4ec44
SH
500 reg = <0x68>;
501
502 regulator-min-microvolt = <1000000>;
503 regulator-max-microvolt = <1000000>;
504 regulator-boot-on;
505 regulator-always-on;
506 };
e489c2a9 507};
d8584660
BD
508
509&pci0 {
510 status = "okay";
511 pinctrl-0 = <&usb0_pins>;
512 pinctrl-names = "default";
513};
514
515&pci1 {
516 status = "okay";
517 pinctrl-0 = <&usb1_pins>;
518 pinctrl-names = "default";
519};
520
37f7c1b0
YS
521&xhci {
522 status = "okay";
523 pinctrl-0 = <&usb2_pins>;
524 pinctrl-names = "default";
525};
526
d8584660
BD
527&pci2 {
528 status = "okay";
529 pinctrl-0 = <&usb2_pins>;
530 pinctrl-names = "default";
531};
d594c977 532
e03074a7
YS
533&hsusb {
534 status = "okay";
535 pinctrl-0 = <&hsusb_pins>;
536 pinctrl-names = "default";
537 renesas,enable-gpio = <&gpio5 18 GPIO_ACTIVE_HIGH>;
538};
539
6742cafb
SS
540&usbphy {
541 status = "okay";
542};
543
d594c977
BD
544/* composite video input */
545&vin1 {
546 pinctrl-0 = <&vin1_pins>;
547 pinctrl-names = "default";
548
549 status = "ok";
550
551 port {
552 #address-cells = <1>;
553 #size-cells = <0>;
554
555 vin1ep0: endpoint {
556 remote-endpoint = <&adv7180>;
557 bus-width = <8>;
558 };
559 };
560};
8ea7a44a
KM
561
562&rcar_sound {
563 pinctrl-0 = <&sound_pins &sound_clk_pins>;
564 pinctrl-names = "default";
565
566 #sound-dai-cells = <0>;
567
568 status = "okay";
569
570 rcar_sound,dai {
571 dai0 {
7e78eb69
KM
572 playback = <&ssi0 &src2>;
573 capture = <&ssi1 &src3>;
8ea7a44a
KM
574 };
575 };
576};
577
8ea7a44a 578&ssi1 {
8ea7a44a
KM
579 shared-pin;
580};