]> CyberLeo.Net >> Repos - FreeBSD/releng/10.2.git/blob - sys/gnu/dts/arm/r8a7790-lager.dts
- Copy stable/10@285827 to releng/10.2 in preparation for 10.2-RC1
[FreeBSD/releng/10.2.git] / sys / gnu / dts / arm / r8a7790-lager.dts
1 /*
2  * Device Tree Source for the Lager board
3  *
4  * Copyright (C) 2013-2014 Renesas Solutions Corp.
5  * Copyright (C) 2014 Cogent Embedded, Inc.
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
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  *      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
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
38  */
39
40 /dts-v1/;
41 #include "r8a7790.dtsi"
42 #include <dt-bindings/gpio/gpio.h>
43 #include <dt-bindings/input/input.h>
44
45 / {
46         model = "Lager";
47         compatible = "renesas,lager", "renesas,r8a7790";
48
49         aliases {
50                 serial0 = &scifa0;
51                 serial1 = &scifa1;
52         };
53
54         chosen {
55                 bootargs = "ignore_loglevel rw root=/dev/nfs ip=dhcp";
56                 stdout-path = &scifa0;
57         };
58
59         memory@40000000 {
60                 device_type = "memory";
61                 reg = <0 0x40000000 0 0x40000000>;
62         };
63
64         memory@140000000 {
65                 device_type = "memory";
66                 reg = <1 0x40000000 0 0xc0000000>;
67         };
68
69         lbsc {
70                 #address-cells = <1>;
71                 #size-cells = <1>;
72         };
73
74         keyboard {
75                 compatible = "gpio-keys";
76
77                 button@1 {
78                         linux,code = <KEY_1>;
79                         label = "SW2-1";
80                         gpio-key,wakeup;
81                         debounce-interval = <20>;
82                         gpios = <&gpio1 14 GPIO_ACTIVE_LOW>;
83                 };
84                 button@2 {
85                         linux,code = <KEY_2>;
86                         label = "SW2-2";
87                         gpio-key,wakeup;
88                         debounce-interval = <20>;
89                         gpios = <&gpio1 24 GPIO_ACTIVE_LOW>;
90                 };
91                 button@3 {
92                         linux,code = <KEY_3>;
93                         label = "SW2-3";
94                         gpio-key,wakeup;
95                         debounce-interval = <20>;
96                         gpios = <&gpio1 26 GPIO_ACTIVE_LOW>;
97                 };
98                 button@4 {
99                         linux,code = <KEY_4>;
100                         label = "SW2-4";
101                         gpio-key,wakeup;
102                         debounce-interval = <20>;
103                         gpios = <&gpio1 28 GPIO_ACTIVE_LOW>;
104                 };
105         };
106
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         };
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         };
176
177         sound {
178                 compatible = "simple-audio-card";
179
180                 simple-audio-card,format = "left_j";
181                 simple-audio-card,bitclock-master = <&sndcodec>;
182                 simple-audio-card,frame-master = <&sndcodec>;
183
184                 sndcpu: simple-audio-card,cpu {
185                         sound-dai = <&rcar_sound>;
186                 };
187
188                 sndcodec: simple-audio-card,codec {
189                         sound-dai = <&ak4643>;
190                         system-clock-frequency = <11289600>;
191                 };
192         };
193
194         vga-encoder {
195                 compatible = "adi,adv7123";
196
197                 ports {
198                         #address-cells = <1>;
199                         #size-cells = <0>;
200
201                         port@0 {
202                                 reg = <0>;
203                                 adv7123_in: endpoint {
204                                         remote-endpoint = <&du_out_rgb>;
205                                 };
206                         };
207                         port@1 {
208                                 reg = <1>;
209                                 adv7123_out: endpoint {
210                                         remote-endpoint = <&vga_in>;
211                                 };
212                         };
213                 };
214         };
215
216         vga {
217                 compatible = "vga-connector";
218
219                 port {
220                         vga_in: endpoint {
221                                 remote-endpoint = <&adv7123_out>;
222                         };
223                 };
224         };
225 };
226
227 &du {
228         pinctrl-0 = <&du_pins>;
229         pinctrl-names = "default";
230         status = "okay";
231
232         ports {
233                 port@0 {
234                         endpoint {
235                                 remote-endpoint = <&adv7123_in>;
236                         };
237                 };
238                 port@2 {
239                         lvds_connector: endpoint {
240                         };
241                 };
242         };
243 };
244
245 &extal_clk {
246         clock-frequency = <20000000>;
247 };
248
249 &pfc {
250         du_pins: du {
251                 renesas,groups = "du_rgb666", "du_sync_1", "du_clk_out_0";
252                 renesas,function = "du";
253         };
254
255         scifa0_pins: serial0 {
256                 renesas,groups = "scifa0_data";
257                 renesas,function = "scifa0";
258         };
259
260         ether_pins: ether {
261                 renesas,groups = "eth_link", "eth_mdio", "eth_rmii";
262                 renesas,function = "eth";
263         };
264
265         phy1_pins: phy1 {
266                 renesas,groups = "intc_irq0";
267                 renesas,function = "intc";
268         };
269
270         scifa1_pins: serial1 {
271                 renesas,groups = "scifa1_data";
272                 renesas,function = "scifa1";
273         };
274
275         sdhi0_pins: sd0 {
276                 renesas,groups = "sdhi0_data4", "sdhi0_ctrl";
277                 renesas,function = "sdhi0";
278         };
279
280         sdhi2_pins: sd2 {
281                 renesas,groups = "sdhi2_data4", "sdhi2_ctrl";
282                 renesas,function = "sdhi2";
283         };
284
285         mmc1_pins: mmc1 {
286                 renesas,groups = "mmc1_data8", "mmc1_ctrl";
287                 renesas,function = "mmc1";
288         };
289
290         qspi_pins: spi0 {
291                 renesas,groups = "qspi_ctrl", "qspi_data4";
292                 renesas,function = "qspi";
293         };
294
295         msiof1_pins: spi2 {
296                 renesas,groups = "msiof1_clk", "msiof1_sync", "msiof1_rx",
297                                  "msiof1_tx";
298                 renesas,function = "msiof1";
299         };
300
301         iic1_pins: iic1 {
302                 renesas,groups = "iic1";
303                 renesas,function = "iic1";
304         };
305
306         iic2_pins: iic2 {
307                 renesas,groups = "iic2";
308                 renesas,function = "iic2";
309         };
310
311         iic3_pins: iic3 {
312                 renesas,groups = "iic3";
313                 renesas,function = "iic3";
314         };
315
316         hsusb_pins: hsusb {
317                 renesas,groups = "usb0_ovc_vbus";
318                 renesas,function = "usb0";
319         };
320
321         usb0_pins: usb0 {
322                 renesas,groups = "usb0";
323                 renesas,function = "usb0";
324         };
325
326         usb1_pins: usb1 {
327                 renesas,groups = "usb1";
328                 renesas,function = "usb1";
329         };
330
331         usb2_pins: usb2 {
332                 renesas,groups = "usb2";
333                 renesas,function = "usb2";
334         };
335
336         vin1_pins: vin {
337                 renesas,groups = "vin1_data8", "vin1_clk";
338                 renesas,function = "vin1";
339         };
340
341         sound_pins: sound {
342                 renesas,groups = "ssi0129_ctrl", "ssi0_data", "ssi1_data";
343                 renesas,function = "ssi";
344         };
345
346         sound_clk_pins: sound_clk {
347                 renesas,groups = "audio_clk_a";
348                 renesas,function = "audio_clk";
349         };
350 };
351
352 &ether {
353         pinctrl-0 = <&ether_pins &phy1_pins>;
354         pinctrl-names = "default";
355
356         phy-handle = <&phy1>;
357         renesas,ether-link-active-low;
358         status = "okay";
359
360         phy1: ethernet-phy@1 {
361                 reg = <1>;
362                 interrupt-parent = <&irqc0>;
363                 interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
364                 micrel,led-mode = <1>;
365         };
366 };
367
368 &cmt0 {
369         status = "okay";
370 };
371
372 &mmcif1 {
373         pinctrl-0 = <&mmc1_pins>;
374         pinctrl-names = "default";
375
376         vmmc-supply = <&fixedregulator3v3>;
377         bus-width = <8>;
378         non-removable;
379         status = "okay";
380 };
381
382 &sata1 {
383         status = "okay";
384 };
385
386 &qspi {
387         pinctrl-0 = <&qspi_pins>;
388         pinctrl-names = "default";
389
390         status = "okay";
391
392         flash: flash@0 {
393                 #address-cells = <1>;
394                 #size-cells = <1>;
395                 compatible = "spansion,s25fl512s";
396                 reg = <0>;
397                 spi-max-frequency = <30000000>;
398                 spi-tx-bus-width = <4>;
399                 spi-rx-bus-width = <4>;
400                 spi-cpha;
401                 spi-cpol;
402                 m25p,fast-read;
403
404                 partition@0 {
405                         label = "loader";
406                         reg = <0x00000000 0x00040000>;
407                         read-only;
408                 };
409                 partition@40000 {
410                         label = "user";
411                         reg = <0x00040000 0x00400000>;
412                         read-only;
413                 };
414                 partition@440000 {
415                         label = "flash";
416                         reg = <0x00440000 0x03bc0000>;
417                 };
418         };
419 };
420
421 &scifa0 {
422         pinctrl-0 = <&scifa0_pins>;
423         pinctrl-names = "default";
424
425         status = "okay";
426 };
427
428 &scifa1 {
429         pinctrl-0 = <&scifa1_pins>;
430         pinctrl-names = "default";
431
432         status = "okay";
433 };
434
435 &msiof1 {
436         pinctrl-0 = <&msiof1_pins>;
437         pinctrl-names = "default";
438
439         status = "okay";
440
441         pmic: pmic@0 {
442                 compatible = "renesas,r2a11302ft";
443                 reg = <0>;
444                 spi-max-frequency = <6000000>;
445                 spi-cpol;
446                 spi-cpha;
447         };
448 };
449
450 &sdhi0 {
451         pinctrl-0 = <&sdhi0_pins>;
452         pinctrl-names = "default";
453
454         vmmc-supply = <&vcc_sdhi0>;
455         vqmmc-supply = <&vccq_sdhi0>;
456         cd-gpios = <&gpio3 6 GPIO_ACTIVE_LOW>;
457         status = "okay";
458 };
459
460 &sdhi2 {
461         pinctrl-0 = <&sdhi2_pins>;
462         pinctrl-names = "default";
463
464         vmmc-supply = <&vcc_sdhi2>;
465         vqmmc-supply = <&vccq_sdhi2>;
466         cd-gpios = <&gpio3 22 GPIO_ACTIVE_LOW>;
467         status = "okay";
468 };
469
470 &cpu0 {
471         cpu0-supply = <&vdd_dvfs>;
472 };
473
474 &iic0   {
475         status = "okay";
476 };
477
478 &iic1   {
479         status = "okay";
480         pinctrl-0 = <&iic1_pins>;
481         pinctrl-names = "default";
482 };
483
484 &iic2   {
485         status = "okay";
486         pinctrl-0 = <&iic2_pins>;
487         pinctrl-names = "default";
488
489         clock-frequency = <100000>;
490
491         ak4643: sound-codec@12 {
492                 compatible = "asahi-kasei,ak4643";
493                 #sound-dai-cells = <0>;
494                 reg = <0x12>;
495         };
496
497         composite-in@20 {
498                 compatible = "adi,adv7180";
499                 reg = <0x20>;
500                 remote = <&vin1>;
501
502                 port {
503                         adv7180: endpoint {
504                                 bus-width = <8>;
505                                 remote-endpoint = <&vin1ep0>;
506                         };
507                 };
508         };
509 };
510
511 &iic3 {
512         pinctrl-names = "default";
513         pinctrl-0 = <&iic3_pins>;
514         status = "okay";
515
516         vdd_dvfs: regulator@68 {
517                 compatible = "dlg,da9210";
518                 reg = <0x68>;
519
520                 regulator-min-microvolt = <1000000>;
521                 regulator-max-microvolt = <1000000>;
522                 regulator-boot-on;
523                 regulator-always-on;
524         };
525 };
526
527 &pci0 {
528         status = "okay";
529         pinctrl-0 = <&usb0_pins>;
530         pinctrl-names = "default";
531 };
532
533 &pci1 {
534         status = "okay";
535         pinctrl-0 = <&usb1_pins>;
536         pinctrl-names = "default";
537 };
538
539 &xhci {
540         status = "okay";
541         pinctrl-0 = <&usb2_pins>;
542         pinctrl-names = "default";
543 };
544
545 &pci2 {
546         status = "okay";
547         pinctrl-0 = <&usb2_pins>;
548         pinctrl-names = "default";
549 };
550
551 &hsusb {
552         status = "okay";
553         pinctrl-0 = <&hsusb_pins>;
554         pinctrl-names = "default";
555         renesas,enable-gpio = <&gpio5 18 GPIO_ACTIVE_HIGH>;
556 };
557
558 &usbphy {
559         status = "okay";
560 };
561
562 /* composite video input */
563 &vin1 {
564         pinctrl-0 = <&vin1_pins>;
565         pinctrl-names = "default";
566
567         status = "okay";
568
569         port {
570                 #address-cells = <1>;
571                 #size-cells = <0>;
572
573                 vin1ep0: endpoint {
574                         remote-endpoint = <&adv7180>;
575                         bus-width = <8>;
576                 };
577         };
578 };
579
580 &rcar_sound {
581         pinctrl-0 = <&sound_pins &sound_clk_pins>;
582         pinctrl-names = "default";
583
584         /* Single DAI */
585         #sound-dai-cells = <0>;
586
587         status = "okay";
588
589         rcar_sound,dai {
590                 dai0 {
591                         playback = <&ssi0 &src2 &dvc0>;
592                         capture  = <&ssi1 &src3 &dvc1>;
593                 };
594         };
595 };
596
597 &ssi1 {
598         shared-pin;
599 };