Commit | Line | Data |
---|---|---|
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 | ðer { |
337 | pinctrl-0 = <ðer_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 | }; |