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