]> CyberLeo.Net >> Repos - FreeBSD/releng/10.2.git/blob - sys/gnu/dts/arm/r8a7791-koelsch.dts
- Copy stable/10@285827 to releng/10.2 in preparation for 10.2-RC1
[FreeBSD/releng/10.2.git] / sys / gnu / dts / arm / 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  * 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
39  */
40
41 /dts-v1/;
42 #include "r8a7791.dtsi"
43 #include <dt-bindings/gpio/gpio.h>
44 #include <dt-bindings/input/input.h>
45
46 / {
47         model = "Koelsch";
48         compatible = "renesas,koelsch", "renesas,r8a7791";
49
50         aliases {
51                 serial0 = &scif0;
52                 serial1 = &scif1;
53         };
54
55         chosen {
56                 bootargs = "ignore_loglevel rw root=/dev/nfs ip=dhcp";
57                 stdout-path = &scif0;
58         };
59
60         memory@40000000 {
61                 device_type = "memory";
62                 reg = <0 0x40000000 0 0x40000000>;
63         };
64
65         memory@200000000 {
66                 device_type = "memory";
67                 reg = <2 0x00000000 0 0x40000000>;
68         };
69
70         lbsc {
71                 #address-cells = <1>;
72                 #size-cells = <1>;
73         };
74
75         keyboard {
76                 compatible = "gpio-keys";
77
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                 };
106                 key-a {
107                         gpios = <&gpio7 0 GPIO_ACTIVE_LOW>;
108                         linux,code = <KEY_A>;
109                         label = "SW30";
110                         gpio-key,wakeup;
111                         debounce-interval = <20>;
112                 };
113                 key-b {
114                         gpios = <&gpio7 1 GPIO_ACTIVE_LOW>;
115                         linux,code = <KEY_B>;
116                         label = "SW31";
117                         gpio-key,wakeup;
118                         debounce-interval = <20>;
119                 };
120                 key-c {
121                         gpios = <&gpio7 2 GPIO_ACTIVE_LOW>;
122                         linux,code = <KEY_C>;
123                         label = "SW32";
124                         gpio-key,wakeup;
125                         debounce-interval = <20>;
126                 };
127                 key-d {
128                         gpios = <&gpio7 3 GPIO_ACTIVE_LOW>;
129                         linux,code = <KEY_D>;
130                         label = "SW33";
131                         gpio-key,wakeup;
132                         debounce-interval = <20>;
133                 };
134                 key-e {
135                         gpios = <&gpio7 4 GPIO_ACTIVE_LOW>;
136                         linux,code = <KEY_E>;
137                         label = "SW34";
138                         gpio-key,wakeup;
139                         debounce-interval = <20>;
140                 };
141                 key-f {
142                         gpios = <&gpio7 5 GPIO_ACTIVE_LOW>;
143                         linux,code = <KEY_F>;
144                         label = "SW35";
145                         gpio-key,wakeup;
146                         debounce-interval = <20>;
147                 };
148                 key-g {
149                         gpios = <&gpio7 6 GPIO_ACTIVE_LOW>;
150                         linux,code = <KEY_G>;
151                         label = "SW36";
152                         gpio-key,wakeup;
153                         debounce-interval = <20>;
154                 };
155         };
156
157         leds {
158                 compatible = "gpio-leds";
159                 led6 {
160                         gpios = <&gpio2 19 GPIO_ACTIVE_HIGH>;
161                         label = "LED6";
162                 };
163                 led7 {
164                         gpios = <&gpio2 20 GPIO_ACTIVE_HIGH>;
165                         label = "LED7";
166                 };
167                 led8 {
168                         gpios = <&gpio2 21 GPIO_ACTIVE_HIGH>;
169                         label = "LED8";
170                 };
171         };
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         };
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         };
261 };
262
263 &du {
264         pinctrl-0 = <&du_pins>;
265         pinctrl-names = "default";
266         status = "okay";
267
268         ports {
269                 port@1 {
270                         lvds_connector: endpoint {
271                         };
272                 };
273         };
274 };
275
276 &extal_clk {
277         clock-frequency = <20000000>;
278 };
279
280 &pfc {
281         i2c2_pins: i2c2 {
282                 renesas,groups = "i2c2";
283                 renesas,function = "i2c2";
284         };
285
286         du_pins: du {
287                 renesas,groups = "du_rgb666", "du_sync", "du_clk_out_0";
288                 renesas,function = "du";
289         };
290
291         scif0_pins: serial0 {
292                 renesas,groups = "scif0_data_d";
293                 renesas,function = "scif0";
294         };
295
296         scif1_pins: serial1 {
297                 renesas,groups = "scif1_data_d";
298                 renesas,function = "scif1";
299         };
300
301         ether_pins: ether {
302                 renesas,groups = "eth_link", "eth_mdio", "eth_rmii";
303                 renesas,function = "eth";
304         };
305
306         phy1_pins: phy1 {
307                 renesas,groups = "intc_irq0";
308                 renesas,function = "intc";
309         };
310
311         sdhi0_pins: sd0 {
312                 renesas,groups = "sdhi0_data4", "sdhi0_ctrl";
313                 renesas,function = "sdhi0";
314         };
315
316         sdhi1_pins: sd1 {
317                 renesas,groups = "sdhi1_data4", "sdhi1_ctrl";
318                 renesas,function = "sdhi1";
319         };
320
321         sdhi2_pins: sd2 {
322                 renesas,groups = "sdhi2_data4", "sdhi2_ctrl";
323                 renesas,function = "sdhi2";
324         };
325
326         qspi_pins: spi0 {
327                 renesas,groups = "qspi_ctrl", "qspi_data4";
328                 renesas,function = "qspi";
329         };
330
331         msiof0_pins: spi1 {
332                 renesas,groups = "msiof0_clk", "msiof0_sync", "msiof0_rx",
333                                  "msiof0_tx";
334                 renesas,function = "msiof0";
335         };
336
337         usb0_pins: usb0 {
338                 renesas,groups = "usb0";
339                 renesas,function = "usb0";
340         };
341
342         usb1_pins: usb1 {
343                 renesas,groups = "usb1";
344                 renesas,function = "usb1";
345         };
346
347         vin1_pins: vin1 {
348                 renesas,groups = "vin1_data8", "vin1_clk";
349                 renesas,function = "vin1";
350         };
351
352         sound_pins: sound {
353                 renesas,groups = "ssi0129_ctrl", "ssi0_data", "ssi1_data";
354                 renesas,function = "ssi";
355         };
356
357         sound_clk_pins: sound_clk {
358                 renesas,groups = "audio_clk_a";
359                 renesas,function = "audio_clk";
360         };
361 };
362
363 &ether {
364         pinctrl-0 = <&ether_pins &phy1_pins>;
365         pinctrl-names = "default";
366
367         phy-handle = <&phy1>;
368         renesas,ether-link-active-low;
369         status = "okay";
370
371         phy1: ethernet-phy@1 {
372                 reg = <1>;
373                 interrupt-parent = <&irqc0>;
374                 interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
375                 micrel,led-mode = <1>;
376         };
377 };
378
379 &cmt0 {
380         status = "okay";
381 };
382
383 &sata0 {
384         status = "okay";
385 };
386
387 &scif0 {
388         pinctrl-0 = <&scif0_pins>;
389         pinctrl-names = "default";
390
391         status = "okay";
392 };
393
394 &scif1 {
395         pinctrl-0 = <&scif1_pins>;
396         pinctrl-names = "default";
397
398         status = "okay";
399 };
400
401 &sdhi0 {
402         pinctrl-0 = <&sdhi0_pins>;
403         pinctrl-names = "default";
404
405         vmmc-supply = <&vcc_sdhi0>;
406         vqmmc-supply = <&vccq_sdhi0>;
407         cd-gpios = <&gpio6 6 GPIO_ACTIVE_LOW>;
408         wp-gpios = <&gpio6 7 GPIO_ACTIVE_HIGH>;
409         status = "okay";
410 };
411
412 &sdhi1 {
413         pinctrl-0 = <&sdhi1_pins>;
414         pinctrl-names = "default";
415
416         vmmc-supply = <&vcc_sdhi1>;
417         vqmmc-supply = <&vccq_sdhi1>;
418         cd-gpios = <&gpio6 14 GPIO_ACTIVE_LOW>;
419         wp-gpios = <&gpio6 15 GPIO_ACTIVE_HIGH>;
420         status = "okay";
421 };
422
423 &sdhi2 {
424         pinctrl-0 = <&sdhi2_pins>;
425         pinctrl-names = "default";
426
427         vmmc-supply = <&vcc_sdhi2>;
428         vqmmc-supply = <&vccq_sdhi2>;
429         cd-gpios = <&gpio6 22 GPIO_ACTIVE_LOW>;
430         status = "okay";
431 };
432
433 &qspi {
434         pinctrl-0 = <&qspi_pins>;
435         pinctrl-names = "default";
436
437         status = "okay";
438
439         flash: flash@0 {
440                 #address-cells = <1>;
441                 #size-cells = <1>;
442                 compatible = "spansion,s25fl512s";
443                 reg = <0>;
444                 spi-max-frequency = <30000000>;
445                 spi-tx-bus-width = <4>;
446                 spi-rx-bus-width = <4>;
447                 spi-cpha;
448                 spi-cpol;
449                 m25p,fast-read;
450
451                 partition@0 {
452                         label = "loader";
453                         reg = <0x00000000 0x00080000>;
454                         read-only;
455                 };
456                 partition@80000 {
457                         label = "user";
458                         reg = <0x00080000 0x00580000>;
459                         read-only;
460                 };
461                 partition@600000 {
462                         label = "flash";
463                         reg = <0x00600000 0x03a00000>;
464                 };
465         };
466 };
467
468 &msiof0 {
469         pinctrl-0 = <&msiof0_pins>;
470         pinctrl-names = "default";
471
472         status = "okay";
473
474         pmic: pmic@0 {
475                 compatible = "renesas,r2a11302ft";
476                 reg = <0>;
477                 spi-max-frequency = <6000000>;
478                 spi-cpol;
479                 spi-cpha;
480         };
481 };
482
483 &i2c2 {
484         pinctrl-0 = <&i2c2_pins>;
485         pinctrl-names = "default";
486
487         status = "okay";
488         clock-frequency = <100000>;
489
490         ak4643: sound-codec@12 {
491                 compatible = "asahi-kasei,ak4643";
492                 #sound-dai-cells = <0>;
493                 reg = <0x12>;
494         };
495
496         composite-in@20 {
497                 compatible = "adi,adv7180";
498                 reg = <0x20>;
499                 remote = <&vin1>;
500
501                 port {
502                         adv7180: endpoint {
503                                 bus-width = <8>;
504                                 remote-endpoint = <&vin1ep>;
505                         };
506                 };
507         };
508
509         eeprom@50 {
510                 compatible = "renesas,24c02";
511                 reg = <0x50>;
512                 pagesize = <16>;
513         };
514 };
515
516 &i2c6 {
517         status = "okay";
518         clock-frequency = <100000>;
519
520         vdd_dvfs: regulator@68 {
521                 compatible = "dlg,da9210";
522                 reg = <0x68>;
523
524                 regulator-min-microvolt = <1000000>;
525                 regulator-max-microvolt = <1000000>;
526                 regulator-boot-on;
527                 regulator-always-on;
528         };
529 };
530
531 &pci0 {
532         status = "okay";
533         pinctrl-0 = <&usb0_pins>;
534         pinctrl-names = "default";
535 };
536
537 &pci1 {
538         status = "okay";
539         pinctrl-0 = <&usb1_pins>;
540         pinctrl-names = "default";
541 };
542
543 &hsusb {
544         status = "okay";
545         pinctrl-0 = <&usb0_pins>;
546         pinctrl-names = "default";
547         renesas,enable-gpio = <&gpio5 31 GPIO_ACTIVE_HIGH>;
548 };
549
550 &usbphy {
551         status = "okay";
552 };
553
554 &pcie_bus_clk {
555         status = "okay";
556 };
557
558 &pciec {
559         status = "okay";
560 };
561
562 &cpu0 {
563         cpu0-supply = <&vdd_dvfs>;
564 };
565
566 /* composite video input */
567 &vin1 {
568         status = "okay";
569         pinctrl-0 = <&vin1_pins>;
570         pinctrl-names = "default";
571
572         port {
573                 #address-cells = <1>;
574                 #size-cells = <0>;
575
576                 vin1ep: endpoint {
577                         remote-endpoint = <&adv7180>;
578                         bus-width = <8>;
579                 };
580         };
581 };
582
583 &rcar_sound {
584         pinctrl-0 = <&sound_pins &sound_clk_pins>;
585         pinctrl-names = "default";
586
587         /* Single DAI */
588         #sound-dai-cells = <0>;
589
590         status = "okay";
591
592         rcar_sound,dai {
593                 dai0 {
594                         playback = <&ssi0 &src2 &dvc0>;
595                         capture  = <&ssi1 &src3 &dvc1>;
596                 };
597         };
598 };
599
600 &ssi1 {
601         shared-pin;
602 };