blob: 9f511d4fac109f3358a002a7711c3c12eaeddb9f [file] [log] [blame]
Magnus Damm3cc828f2013-03-29 17:49:37 +09001/*
2 * Device Tree Source for the Lager board
3 *
Sergei Shtylyovda4ea952014-02-20 02:22:31 +03004 * Copyright (C) 2013-2014 Renesas Solutions Corp.
5 * Copyright (C) 2014 Cogent Embedded, Inc.
Wolfram Sang880cb572016-02-15 13:57:49 +01006 * Copyright (C) 2015-2016 Renesas Electronics Corporation
Magnus Damm3cc828f2013-03-29 17:49:37 +09007 *
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
Kuninori Morimoto8ea7a442014-11-03 17:47:56 -080013/*
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
Kuninori Morimotoe110c542014-11-03 17:48:38 -080023 * 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
Kuninori Morimotobd2e4a62014-11-11 04:36:47 +000030 *
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
Kuninori Morimoto8ea7a442014-11-03 17:47:56 -080039 */
40
Magnus Damm3cc828f2013-03-29 17:49:37 +090041/dts-v1/;
Laurent Pinchart31c46cb2013-11-09 13:23:53 +010042#include "r8a7790.dtsi"
Laurent Pinchart39fa5112013-12-11 15:13:47 +010043#include <dt-bindings/gpio/gpio.h>
Magnus Dammf7dcd382014-03-18 21:57:48 +090044#include <dt-bindings/input/input.h>
Magnus Damm3cc828f2013-03-29 17:49:37 +090045
46/ {
47 model = "Lager";
48 compatible = "renesas,lager", "renesas,r8a7790";
49
Laurent Pinchart4e9c4872014-04-30 02:31:45 +020050 aliases {
Ulrich Hecht430d7ba2015-11-13 17:22:23 +010051 serial0 = &scif0;
Laurent Pinchart78c11ec2013-10-18 16:00:00 +020052 serial1 = &scifa1;
Simon Hormanb2f15ca2016-11-06 21:20:20 +010053 i2c8 = &gpioi2c1;
Wolfram Sang4e65e1b2018-02-06 23:29:50 +010054 i2c9 = &gpioi2c2;
Simon Horman1e26fcf2016-11-06 21:20:19 +010055 i2c10 = &i2cexio0;
Simon Hormanb2f15ca2016-11-06 21:20:20 +010056 i2c11 = &i2cexio1;
Wolfram Sang4e65e1b2018-02-06 23:29:50 +010057 i2c12 = &i2chdmi;
Laurent Pinchart4e9c4872014-04-30 02:31:45 +020058 };
59
Magnus Damm3cc828f2013-03-29 17:49:37 +090060 chosen {
Geert Uytterhoeven569dd562014-12-02 18:39:48 +010061 bootargs = "ignore_loglevel rw root=/dev/nfs ip=dhcp";
Geert Uytterhoeven57d19f82015-12-08 18:54:15 +010062 stdout-path = "serial0:115200n8";
Magnus Damm3cc828f2013-03-29 17:49:37 +090063 };
64
65 memory@40000000 {
66 device_type = "memory";
Magnus Damm7b16c612014-06-06 15:40:26 +090067 reg = <0 0x40000000 0 0x40000000>;
Magnus Damm3cc828f2013-03-29 17:49:37 +090068 };
69
Simon Horman126f9982014-09-03 09:49:01 +090070 memory@140000000 {
Magnus Damm62bc32a2013-10-31 12:21:41 +090071 device_type = "memory";
Magnus Damm7b16c612014-06-06 15:40:26 +090072 reg = <1 0x40000000 0 0xc0000000>;
Magnus Damm62bc32a2013-10-31 12:21:41 +090073 };
74
Magnus Damm3cc828f2013-03-29 17:49:37 +090075 lbsc {
76 #address-cells = <1>;
77 #size-cells = <1>;
78 };
Laurent Pinchart39fa5112013-12-11 15:13:47 +010079
Simon Horman54caf682014-11-12 17:59:35 +090080 keyboard {
Magnus Dammf7dcd382014-03-18 21:57:48 +090081 compatible = "gpio-keys";
82
Geert Uytterhoevenaffe8022016-05-20 09:10:09 +020083 one {
Magnus Dammf7dcd382014-03-18 21:57:48 +090084 linux,code = <KEY_1>;
85 label = "SW2-1";
Sudeep Holla0cc16882015-10-21 11:10:11 +010086 wakeup-source;
Magnus Dammf7dcd382014-03-18 21:57:48 +090087 debounce-interval = <20>;
88 gpios = <&gpio1 14 GPIO_ACTIVE_LOW>;
89 };
Geert Uytterhoevenaffe8022016-05-20 09:10:09 +020090 two {
Magnus Dammf7dcd382014-03-18 21:57:48 +090091 linux,code = <KEY_2>;
92 label = "SW2-2";
Sudeep Holla0cc16882015-10-21 11:10:11 +010093 wakeup-source;
Magnus Dammf7dcd382014-03-18 21:57:48 +090094 debounce-interval = <20>;
95 gpios = <&gpio1 24 GPIO_ACTIVE_LOW>;
96 };
Geert Uytterhoevenaffe8022016-05-20 09:10:09 +020097 three {
Magnus Dammf7dcd382014-03-18 21:57:48 +090098 linux,code = <KEY_3>;
99 label = "SW2-3";
Sudeep Holla0cc16882015-10-21 11:10:11 +0100100 wakeup-source;
Magnus Dammf7dcd382014-03-18 21:57:48 +0900101 debounce-interval = <20>;
102 gpios = <&gpio1 26 GPIO_ACTIVE_LOW>;
103 };
Geert Uytterhoevenaffe8022016-05-20 09:10:09 +0200104 four {
Magnus Dammf7dcd382014-03-18 21:57:48 +0900105 linux,code = <KEY_4>;
106 label = "SW2-4";
Sudeep Holla0cc16882015-10-21 11:10:11 +0100107 wakeup-source;
Magnus Dammf7dcd382014-03-18 21:57:48 +0900108 debounce-interval = <20>;
109 gpios = <&gpio1 28 GPIO_ACTIVE_LOW>;
110 };
111 };
112
Laurent Pinchart39fa5112013-12-11 15:13:47 +0100113 leds {
114 compatible = "gpio-leds";
115 led6 {
116 gpios = <&gpio4 22 GPIO_ACTIVE_HIGH>;
117 };
118 led7 {
119 gpios = <&gpio4 23 GPIO_ACTIVE_HIGH>;
120 };
121 led8 {
122 gpios = <&gpio5 17 GPIO_ACTIVE_HIGH>;
123 };
124 };
125
Geert Uytterhoevenaffe8022016-05-20 09:10:09 +0200126 fixedregulator3v3: regulator-3v3 {
Laurent Pinchart39fa5112013-12-11 15:13:47 +0100127 compatible = "regulator-fixed";
128 regulator-name = "fixed-3.3V";
129 regulator-min-microvolt = <3300000>;
130 regulator-max-microvolt = <3300000>;
131 regulator-boot-on;
132 regulator-always-on;
133 };
Kuninori Morimotoc6119942014-02-12 21:43:19 -0800134
Geert Uytterhoevenaffe8022016-05-20 09:10:09 +0200135 vcc_sdhi0: regulator-vcc-sdhi0 {
Kuninori Morimotoc6119942014-02-12 21:43:19 -0800136 compatible = "regulator-fixed";
137
138 regulator-name = "SDHI0 Vcc";
139 regulator-min-microvolt = <3300000>;
140 regulator-max-microvolt = <3300000>;
141
142 gpio = <&gpio5 24 GPIO_ACTIVE_HIGH>;
143 enable-active-high;
144 };
145
Geert Uytterhoevenaffe8022016-05-20 09:10:09 +0200146 vccq_sdhi0: regulator-vccq-sdhi0 {
Kuninori Morimotoc6119942014-02-12 21:43:19 -0800147 compatible = "regulator-gpio";
148
149 regulator-name = "SDHI0 VccQ";
150 regulator-min-microvolt = <1800000>;
151 regulator-max-microvolt = <3300000>;
152
153 gpios = <&gpio5 29 GPIO_ACTIVE_HIGH>;
154 gpios-states = <1>;
155 states = <3300000 1
156 1800000 0>;
157 };
158
Geert Uytterhoevenaffe8022016-05-20 09:10:09 +0200159 vcc_sdhi2: regulator-vcc-sdhi2 {
Kuninori Morimotoc6119942014-02-12 21:43:19 -0800160 compatible = "regulator-fixed";
161
162 regulator-name = "SDHI2 Vcc";
163 regulator-min-microvolt = <3300000>;
164 regulator-max-microvolt = <3300000>;
165
166 gpio = <&gpio5 25 GPIO_ACTIVE_HIGH>;
167 enable-active-high;
168 };
169
Geert Uytterhoevenaffe8022016-05-20 09:10:09 +0200170 vccq_sdhi2: regulator-vccq-sdhi2 {
Kuninori Morimotoc6119942014-02-12 21:43:19 -0800171 compatible = "regulator-gpio";
172
173 regulator-name = "SDHI2 VccQ";
174 regulator-min-microvolt = <1800000>;
175 regulator-max-microvolt = <3300000>;
176
177 gpios = <&gpio5 30 GPIO_ACTIVE_HIGH>;
178 gpios-states = <1>;
179 states = <3300000 1
180 1800000 0>;
181 };
Laurent Pinchart3edd18f2014-01-21 16:02:54 +0100182
Simon Hormana5bad2c2016-03-18 08:17:57 +0900183 audio_clock: audio_clock {
Kuninori Morimoto6bc651a2015-08-20 03:09:52 +0000184 compatible = "fixed-clock";
185 #clock-cells = <0>;
186 clock-frequency = <11289600>;
Kuninori Morimoto6bc651a2015-08-20 03:09:52 +0000187 };
188
Kuninori Morimoto30be0ba2015-07-14 04:56:10 +0000189 rsnd_ak4643: sound {
Kuninori Morimoto8ea7a442014-11-03 17:47:56 -0800190 compatible = "simple-audio-card";
191
192 simple-audio-card,format = "left_j";
193 simple-audio-card,bitclock-master = <&sndcodec>;
194 simple-audio-card,frame-master = <&sndcodec>;
195
196 sndcpu: simple-audio-card,cpu {
197 sound-dai = <&rcar_sound>;
198 };
199
200 sndcodec: simple-audio-card,codec {
201 sound-dai = <&ak4643>;
Kuninori Morimoto6bc651a2015-08-20 03:09:52 +0000202 clocks = <&audio_clock>;
Kuninori Morimoto8ea7a442014-11-03 17:47:56 -0800203 };
204 };
205
Laurent Pinchart3edd18f2014-01-21 16:02:54 +0100206 vga-encoder {
207 compatible = "adi,adv7123";
208
209 ports {
210 #address-cells = <1>;
211 #size-cells = <0>;
212
213 port@0 {
214 reg = <0>;
215 adv7123_in: endpoint {
216 remote-endpoint = <&du_out_rgb>;
217 };
218 };
219 port@1 {
220 reg = <1>;
221 adv7123_out: endpoint {
222 remote-endpoint = <&vga_in>;
223 };
224 };
225 };
226 };
227
228 vga {
229 compatible = "vga-connector";
230
231 port {
232 vga_in: endpoint {
233 remote-endpoint = <&adv7123_out>;
234 };
235 };
236 };
Laurent Pinchartfd25cdd2014-12-11 01:42:11 +0200237
William Towle56548d02016-10-18 17:01:33 +0200238 hdmi-in {
239 compatible = "hdmi-connector";
240 type = "a";
241
242 port {
243 hdmi_con_in: endpoint {
244 remote-endpoint = <&adv7612_in>;
245 };
246 };
247 };
248
Laurent Pinchartfd25cdd2014-12-11 01:42:11 +0200249 hdmi-out {
250 compatible = "hdmi-connector";
251 type = "a";
252
253 port {
William Towle56548d02016-10-18 17:01:33 +0200254 hdmi_con_out: endpoint {
Laurent Pinchartfd25cdd2014-12-11 01:42:11 +0200255 remote-endpoint = <&adv7511_out>;
256 };
257 };
258 };
Laurent Pinchart26c00ab2015-02-26 11:21:22 +0200259
260 x2_clk: x2-clock {
261 compatible = "fixed-clock";
262 #clock-cells = <0>;
263 clock-frequency = <148500000>;
264 };
265
266 x13_clk: x13-clock {
267 compatible = "fixed-clock";
268 #clock-cells = <0>;
269 clock-frequency = <148500000>;
270 };
Wolfram Sang880cb572016-02-15 13:57:49 +0100271
Simon Hormanb2f15ca2016-11-06 21:20:20 +0100272 gpioi2c1: i2c-8 {
273 #address-cells = <1>;
274 #size-cells = <0>;
275 compatible = "i2c-gpio";
276 status = "disabled";
Geert Uytterhoevene99185b2017-11-30 13:57:24 +0100277 scl-gpios = <&gpio1 16 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
Wolfram Sang4e65e1b2018-02-06 23:29:50 +0100278 sda-gpios = <&gpio1 17 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
279 i2c-gpio,delay-us = <5>;
280 };
281
282 gpioi2c2: i2c-9 {
283 #address-cells = <1>;
284 #size-cells = <0>;
285 compatible = "i2c-gpio";
286 status = "disabled";
287 scl-gpios = <&gpio5 5 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
288 sda-gpios = <&gpio5 6 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
Simon Hormanb2f15ca2016-11-06 21:20:20 +0100289 i2c-gpio,delay-us = <5>;
290 };
291
Wolfram Sang880cb572016-02-15 13:57:49 +0100292 /*
293 * IIC0/I2C0 is routed to EXIO connector A, pins 114 (SCL) + 116 (SDA) only.
294 * We use the I2C demuxer, so the desired IP core can be selected at runtime
295 * depending on the use case (e.g. DMA with IIC0 or slave support with I2C0).
296 * Note: For testing the I2C slave feature, it is convenient to connect this
297 * bus with IIC3 on pins 110 (SCL) + 112 (SDA), select I2C0 at runtime, and
298 * instantiate the slave device at runtime according to the documentation.
299 * You can then communicate with the slave via IIC3.
Simon Horman1e26fcf2016-11-06 21:20:19 +0100300 *
301 * IIC0/I2C0 does not appear to support fallback to GPIO.
Wolfram Sang880cb572016-02-15 13:57:49 +0100302 */
Simon Horman1e26fcf2016-11-06 21:20:19 +0100303 i2cexio0: i2c-10 {
Wolfram Sang880cb572016-02-15 13:57:49 +0100304 compatible = "i2c-demux-pinctrl";
305 i2c-parent = <&iic0>, <&i2c0>;
Simon Horman1e26fcf2016-11-06 21:20:19 +0100306 i2c-bus-name = "i2c-exio0";
Wolfram Sang880cb572016-02-15 13:57:49 +0100307 #address-cells = <1>;
308 #size-cells = <0>;
309 };
Simon Hormanb2f15ca2016-11-06 21:20:20 +0100310
311 /*
312 * IIC1/I2C1 is routed to EXIO connector A, pins 78 (SCL) + 80 (SDA).
313 * This is similar to the arangement described for i2cexio0 (above)
314 * with a fallback to GPIO also provided.
315 */
316 i2cexio1: i2c-11 {
317 compatible = "i2c-demux-pinctrl";
318 i2c-parent = <&iic1>, <&i2c1>, <&gpioi2c1>;
319 i2c-bus-name = "i2c-exio1";
320 #address-cells = <1>;
321 #size-cells = <0>;
322 };
Wolfram Sang4e65e1b2018-02-06 23:29:50 +0100323
324 /*
325 * IIC2 and I2C2 may be switched using pinmux.
326 * A fallback to GPIO is also provided.
327 */
328 i2chdmi: i2c-12 {
329 compatible = "i2c-demux-pinctrl";
330 i2c-parent = <&iic2>, <&i2c2>, <&gpioi2c2>;
331 i2c-bus-name = "i2c-hdmi";
332 #address-cells = <1>;
333 #size-cells = <0>;
334
335 ak4643: codec@12 {
336 compatible = "asahi-kasei,ak4643";
337 #sound-dai-cells = <0>;
338 reg = <0x12>;
339 };
340
341 composite-in@20 {
342 compatible = "adi,adv7180";
343 reg = <0x20>;
344 remote = <&vin1>;
345
346 port {
347 adv7180: endpoint {
348 bus-width = <8>;
349 remote-endpoint = <&vin1ep0>;
350 };
351 };
352 };
353
354 cec_clock: cec-clock {
355 compatible = "fixed-clock";
356 #clock-cells = <0>;
357 clock-frequency = <12000000>;
358 };
359
360 hdmi@39 {
361 compatible = "adi,adv7511w";
362 reg = <0x39>;
363 interrupt-parent = <&gpio1>;
364 interrupts = <15 IRQ_TYPE_LEVEL_LOW>;
365 clocks = <&cec_clock>;
366 clock-names = "cec";
367
368 adi,input-depth = <8>;
369 adi,input-colorspace = "rgb";
370 adi,input-clock = "1x";
371 adi,input-style = <1>;
372 adi,input-justification = "evenly";
373
374 ports {
375 #address-cells = <1>;
376 #size-cells = <0>;
377
378 port@0 {
379 reg = <0>;
380 adv7511_in: endpoint {
381 remote-endpoint = <&du_out_lvds0>;
382 };
383 };
384
385 port@1 {
386 reg = <1>;
387 adv7511_out: endpoint {
388 remote-endpoint = <&hdmi_con_out>;
389 };
390 };
391 };
392 };
393
394 hdmi-in@4c {
395 compatible = "adi,adv7612";
396 reg = <0x4c>;
397 interrupt-parent = <&gpio1>;
398 interrupts = <20 IRQ_TYPE_LEVEL_LOW>;
399 default-input = <0>;
400
401 ports {
402 #address-cells = <1>;
403 #size-cells = <0>;
404
405 port@0 {
406 reg = <0>;
407 adv7612_in: endpoint {
408 remote-endpoint = <&hdmi_con_in>;
409 };
410 };
411
412 port@2 {
413 reg = <2>;
414 adv7612_out: endpoint {
415 remote-endpoint = <&vin0ep2>;
416 };
417 };
418 };
419 };
420 };
Laurent Pinchart3edd18f2014-01-21 16:02:54 +0100421};
422
423&du {
424 pinctrl-0 = <&du_pins>;
425 pinctrl-names = "default";
426 status = "okay";
427
Geert Uytterhoeven5802c4202017-08-18 11:11:34 +0200428 clocks = <&cpg CPG_MOD 724>, <&cpg CPG_MOD 723>, <&cpg CPG_MOD 722>,
429 <&cpg CPG_MOD 726>, <&cpg CPG_MOD 725>,
Laurent Pinchart26c00ab2015-02-26 11:21:22 +0200430 <&x13_clk>, <&x2_clk>;
431 clock-names = "du.0", "du.1", "du.2", "lvds.0", "lvds.1",
432 "dclkin.0", "dclkin.1";
433
Laurent Pinchart3edd18f2014-01-21 16:02:54 +0100434 ports {
435 port@0 {
436 endpoint {
437 remote-endpoint = <&adv7123_in>;
438 };
439 };
Laurent Pinchartfd25cdd2014-12-11 01:42:11 +0200440 port@1 {
441 endpoint {
442 remote-endpoint = <&adv7511_in>;
443 };
444 };
Laurent Pinchart3edd18f2014-01-21 16:02:54 +0100445 port@2 {
446 lvds_connector: endpoint {
447 };
448 };
449 };
Laurent Pinchart39fa5112013-12-11 15:13:47 +0100450};
451
Laurent Pinchart62e43052013-12-11 15:13:49 +0100452&extal_clk {
453 clock-frequency = <20000000>;
454};
455
Laurent Pinchart39fa5112013-12-11 15:13:47 +0100456&pfc {
Geert Uytterhoeven17814602016-01-29 11:17:22 +0100457 pinctrl-0 = <&scif_clk_pins>;
458 pinctrl-names = "default";
459
Laurent Pinchart3024f502014-02-16 22:31:59 +0100460 du_pins: du {
Simon Horman2ffc224f2016-03-16 10:03:09 +0900461 groups = "du_rgb666", "du_sync_1", "du_clk_out_0";
462 function = "du";
Laurent Pinchart3024f502014-02-16 22:31:59 +0100463 };
464
Geert Uytterhoevenca348292016-06-10 15:00:52 +0200465 scif0_pins: scif0 {
Simon Horman2ffc224f2016-03-16 10:03:09 +0900466 groups = "scif0_data";
467 function = "scif0";
Laurent Pinchart39fa5112013-12-11 15:13:47 +0100468 };
469
Geert Uytterhoeven17814602016-01-29 11:17:22 +0100470 scif_clk_pins: scif_clk {
Simon Horman2ffc224f2016-03-16 10:03:09 +0900471 groups = "scif_clk";
472 function = "scif_clk";
Geert Uytterhoeven17814602016-01-29 11:17:22 +0100473 };
474
Sergei Shtylyovda4ea952014-02-20 02:22:31 +0300475 ether_pins: ether {
Simon Horman2ffc224f2016-03-16 10:03:09 +0900476 groups = "eth_link", "eth_mdio", "eth_rmii";
477 function = "eth";
Sergei Shtylyovda4ea952014-02-20 02:22:31 +0300478 };
479
480 phy1_pins: phy1 {
Simon Horman2ffc224f2016-03-16 10:03:09 +0900481 groups = "intc_irq0";
482 function = "intc";
Sergei Shtylyovda4ea952014-02-20 02:22:31 +0300483 };
484
Geert Uytterhoevenca348292016-06-10 15:00:52 +0200485 scifa1_pins: scifa1 {
Simon Horman2ffc224f2016-03-16 10:03:09 +0900486 groups = "scifa1_data";
487 function = "scifa1";
Laurent Pinchart39fa5112013-12-11 15:13:47 +0100488 };
489
Kuninori Morimotoc6119942014-02-12 21:43:19 -0800490 sdhi0_pins: sd0 {
Simon Horman2ffc224f2016-03-16 10:03:09 +0900491 groups = "sdhi0_data4", "sdhi0_ctrl";
492 function = "sdhi0";
Wolfram Sang1ca79692016-04-01 17:44:39 +0200493 power-source = <3300>;
494 };
495
496 sdhi0_pins_uhs: sd0_uhs {
497 groups = "sdhi0_data4", "sdhi0_ctrl";
498 function = "sdhi0";
499 power-source = <1800>;
Kuninori Morimotoc6119942014-02-12 21:43:19 -0800500 };
501
502 sdhi2_pins: sd2 {
Simon Horman2ffc224f2016-03-16 10:03:09 +0900503 groups = "sdhi2_data4", "sdhi2_ctrl";
504 function = "sdhi2";
Wolfram Sang1ca79692016-04-01 17:44:39 +0200505 power-source = <3300>;
506 };
507
508 sdhi2_pins_uhs: sd2_uhs {
509 groups = "sdhi2_data4", "sdhi2_ctrl";
510 function = "sdhi2";
511 power-source = <1800>;
Kuninori Morimotoc6119942014-02-12 21:43:19 -0800512 };
513
Laurent Pinchart39fa5112013-12-11 15:13:47 +0100514 mmc1_pins: mmc1 {
Simon Horman2ffc224f2016-03-16 10:03:09 +0900515 groups = "mmc1_data8", "mmc1_ctrl";
516 function = "mmc1";
Laurent Pinchart39fa5112013-12-11 15:13:47 +0100517 };
Geert Uytterhoeven9fe7c4f2014-02-10 11:47:30 +0100518
Geert Uytterhoeven85c5e4c2016-06-10 15:00:53 +0200519 qspi_pins: qspi {
Simon Horman2ffc224f2016-03-16 10:03:09 +0900520 groups = "qspi_ctrl", "qspi_data4";
521 function = "qspi";
Geert Uytterhoeven9fe7c4f2014-02-10 11:47:30 +0100522 };
Geert Uytterhoevenb0403b92014-02-25 11:30:17 +0100523
Geert Uytterhoeven85c5e4c2016-06-10 15:00:53 +0200524 msiof1_pins: msiof1 {
Simon Horman2ffc224f2016-03-16 10:03:09 +0900525 groups = "msiof1_clk", "msiof1_sync", "msiof1_rx",
Geert Uytterhoevenb0403b92014-02-25 11:30:17 +0100526 "msiof1_tx";
Simon Horman2ffc224f2016-03-16 10:03:09 +0900527 function = "msiof1";
Geert Uytterhoevenb0403b92014-02-25 11:30:17 +0100528 };
Benoit Cousson05f72e02014-06-03 21:02:12 +0900529
Wolfram Sang880cb572016-02-15 13:57:49 +0100530 i2c0_pins: i2c0 {
Simon Horman2ffc224f2016-03-16 10:03:09 +0900531 groups = "i2c0";
532 function = "i2c0";
Wolfram Sang880cb572016-02-15 13:57:49 +0100533 };
534
Wolfram Sang535118c2015-09-09 19:48:19 +0200535 iic0_pins: iic0 {
Simon Horman2ffc224f2016-03-16 10:03:09 +0900536 groups = "iic0";
537 function = "iic0";
Wolfram Sang535118c2015-09-09 19:48:19 +0200538 };
539
Simon Hormanb2f15ca2016-11-06 21:20:20 +0100540 i2c1_pins: i2c1 {
541 groups = "i2c1";
542 function = "i2c1";
543 };
544
Wolfram Sangcb9a2b12014-07-10 12:50:56 +0200545 iic1_pins: iic1 {
Simon Horman2ffc224f2016-03-16 10:03:09 +0900546 groups = "iic1";
547 function = "iic1";
Simon Hormand90bf602014-06-06 16:11:00 +0900548 };
549
Wolfram Sang4e65e1b2018-02-06 23:29:50 +0100550 i2c2_pins: i2c2 {
551 groups = "i2c2";
552 function = "i2c2";
553 };
554
Wolfram Sangcb9a2b12014-07-10 12:50:56 +0200555 iic2_pins: iic2 {
Simon Horman2ffc224f2016-03-16 10:03:09 +0900556 groups = "iic2";
557 function = "iic2";
Simon Hormand90bf602014-06-06 16:11:00 +0900558 };
559
Khiem Nguyen5179ffd2014-07-04 09:19:51 +0900560 iic3_pins: iic3 {
Simon Horman2ffc224f2016-03-16 10:03:09 +0900561 groups = "iic3";
562 function = "iic3";
Benoit Cousson05f72e02014-06-03 21:02:12 +0900563 };
Ben Dooksd8584662014-06-24 22:02:21 +0400564
Yoshihiro Shimodae03074a2014-10-24 19:44:34 +0900565 hsusb_pins: hsusb {
Simon Horman2ffc224f2016-03-16 10:03:09 +0900566 groups = "usb0_ovc_vbus";
567 function = "usb0";
Yoshihiro Shimodae03074a2014-10-24 19:44:34 +0900568 };
569
Ben Dooksd8584662014-06-24 22:02:21 +0400570 usb0_pins: usb0 {
Simon Horman2ffc224f2016-03-16 10:03:09 +0900571 groups = "usb0";
572 function = "usb0";
Ben Dooksd8584662014-06-24 22:02:21 +0400573 };
574
575 usb1_pins: usb1 {
Simon Horman2ffc224f2016-03-16 10:03:09 +0900576 groups = "usb1";
577 function = "usb1";
Ben Dooksd8584662014-06-24 22:02:21 +0400578 };
579
580 usb2_pins: usb2 {
Simon Horman2ffc224f2016-03-16 10:03:09 +0900581 groups = "usb2";
582 function = "usb2";
Ben Dooksd8584662014-06-24 22:02:21 +0400583 };
Ben Dooksd594c972014-08-13 00:18:26 +0400584
William Towle56548d02016-10-18 17:01:33 +0200585 vin0_pins: vin0 {
586 groups = "vin0_data24", "vin0_sync", "vin0_clkenb", "vin0_clk";
587 function = "vin0";
588 };
589
Geert Uytterhoevenda84fd92016-06-10 15:00:54 +0200590 vin1_pins: vin1 {
Simon Horman2ffc224f2016-03-16 10:03:09 +0900591 groups = "vin1_data8", "vin1_clk";
592 function = "vin1";
Ben Dooksd594c972014-08-13 00:18:26 +0400593 };
Kuninori Morimoto8ea7a442014-11-03 17:47:56 -0800594
595 sound_pins: sound {
Simon Horman2ffc224f2016-03-16 10:03:09 +0900596 groups = "ssi0129_ctrl", "ssi0_data", "ssi1_data";
597 function = "ssi";
Kuninori Morimoto8ea7a442014-11-03 17:47:56 -0800598 };
599
600 sound_clk_pins: sound_clk {
Simon Horman2ffc224f2016-03-16 10:03:09 +0900601 groups = "audio_clk_a";
602 function = "audio_clk";
Kuninori Morimoto8ea7a442014-11-03 17:47:56 -0800603 };
Laurent Pinchart39fa5112013-12-11 15:13:47 +0100604};
605
Sergei Shtylyovda4ea952014-02-20 02:22:31 +0300606&ether {
607 pinctrl-0 = <&ether_pins &phy1_pins>;
608 pinctrl-names = "default";
609
610 phy-handle = <&phy1>;
611 renesas,ether-link-active-low;
Geert Uytterhoevenfd7a8cb2014-12-09 12:25:01 +0100612 status = "okay";
Sergei Shtylyovda4ea952014-02-20 02:22:31 +0300613
614 phy1: ethernet-phy@1 {
615 reg = <1>;
616 interrupt-parent = <&irqc0>;
617 interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
Simon Horman1c47a6a2014-04-08 09:21:35 +0900618 micrel,led-mode = <1>;
Sergei Shtylyovda4ea952014-02-20 02:22:31 +0300619 };
620};
621
Laurent Pinchart247fd5e2014-07-09 15:12:41 +0200622&cmt0 {
Geert Uytterhoevenfd7a8cb2014-12-09 12:25:01 +0100623 status = "okay";
Laurent Pinchart247fd5e2014-07-09 15:12:41 +0200624};
625
Laurent Pinchart39fa5112013-12-11 15:13:47 +0100626&mmcif1 {
627 pinctrl-0 = <&mmc1_pins>;
628 pinctrl-names = "default";
629
630 vmmc-supply = <&fixedregulator3v3>;
631 bus-width = <8>;
632 non-removable;
633 status = "okay";
Magnus Damm3cc828f2013-03-29 17:49:37 +0900634};
Valentine Barshakc6181b92014-01-14 21:05:31 +0400635
636&sata1 {
637 status = "okay";
638};
Geert Uytterhoeven9fe7c4f2014-02-10 11:47:30 +0100639
Geert Uytterhoevenfad6d452014-02-25 11:30:13 +0100640&qspi {
Geert Uytterhoeven9fe7c4f2014-02-10 11:47:30 +0100641 pinctrl-0 = <&qspi_pins>;
642 pinctrl-names = "default";
643
644 status = "okay";
645
646 flash: flash@0 {
Geert Uytterhoeven755185b2015-05-20 20:16:52 +0200647 compatible = "spansion,s25fl512s", "jedec,spi-nor";
Geert Uytterhoeven9fe7c4f2014-02-10 11:47:30 +0100648 reg = <0>;
649 spi-max-frequency = <30000000>;
Geert Uytterhoeven9909d2c2014-04-14 19:36:00 +0200650 spi-tx-bus-width = <4>;
651 spi-rx-bus-width = <4>;
Hisashi Nakamuracbf41162014-12-10 11:30:27 +0900652 spi-cpha;
653 spi-cpol;
Geert Uytterhoeven9fe7c4f2014-02-10 11:47:30 +0100654 m25p,fast-read;
655
Geert Uytterhoevenf58bac72015-11-20 11:38:53 -0800656 partitions {
Geert Uytterhoevenb88ddbd2015-12-21 11:33:48 +0100657 compatible = "fixed-partitions";
Geert Uytterhoevenf58bac72015-11-20 11:38:53 -0800658 #address-cells = <1>;
659 #size-cells = <1>;
660
661 partition@0 {
662 label = "loader";
663 reg = <0x00000000 0x00040000>;
664 read-only;
665 };
666 partition@40000 {
667 label = "user";
668 reg = <0x00040000 0x00400000>;
669 read-only;
670 };
671 partition@440000 {
672 label = "flash";
673 reg = <0x00440000 0x03bc0000>;
674 };
Geert Uytterhoeven9fe7c4f2014-02-10 11:47:30 +0100675 };
676 };
677};
Kuninori Morimotoc6119942014-02-12 21:43:19 -0800678
Ulrich Hecht430d7ba2015-11-13 17:22:23 +0100679&scif0 {
680 pinctrl-0 = <&scif0_pins>;
Laurent Pinchart4e9c4872014-04-30 02:31:45 +0200681 pinctrl-names = "default";
682
683 status = "okay";
684};
685
Wolfram Sang7c055892014-09-16 18:10:37 +0200686&scifa1 {
687 pinctrl-0 = <&scifa1_pins>;
Laurent Pinchart4e9c4872014-04-30 02:31:45 +0200688 pinctrl-names = "default";
689
690 status = "okay";
691};
692
Geert Uytterhoeven17814602016-01-29 11:17:22 +0100693&scif_clk {
694 clock-frequency = <14745600>;
Geert Uytterhoeven17814602016-01-29 11:17:22 +0100695};
696
Geert Uytterhoevenb0403b92014-02-25 11:30:17 +0100697&msiof1 {
698 pinctrl-0 = <&msiof1_pins>;
699 pinctrl-names = "default";
700
701 status = "okay";
702
703 pmic: pmic@0 {
704 compatible = "renesas,r2a11302ft";
705 reg = <0>;
706 spi-max-frequency = <6000000>;
707 spi-cpol;
708 spi-cpha;
709 };
Geert Uytterhoevenb0403b92014-02-25 11:30:17 +0100710};
711
Kuninori Morimotoc6119942014-02-12 21:43:19 -0800712&sdhi0 {
713 pinctrl-0 = <&sdhi0_pins>;
Wolfram Sang1ca79692016-04-01 17:44:39 +0200714 pinctrl-1 = <&sdhi0_pins_uhs>;
715 pinctrl-names = "default", "state_uhs";
Kuninori Morimotoc6119942014-02-12 21:43:19 -0800716
717 vmmc-supply = <&vcc_sdhi0>;
718 vqmmc-supply = <&vccq_sdhi0>;
719 cd-gpios = <&gpio3 6 GPIO_ACTIVE_LOW>;
Wolfram Sang1ca79692016-04-01 17:44:39 +0200720 sd-uhs-sdr50;
Simon Hormandcc2fe72016-11-03 16:07:23 +0100721 sd-uhs-sdr104;
Kuninori Morimotoc6119942014-02-12 21:43:19 -0800722 status = "okay";
723};
724
725&sdhi2 {
726 pinctrl-0 = <&sdhi2_pins>;
Wolfram Sang1ca79692016-04-01 17:44:39 +0200727 pinctrl-1 = <&sdhi2_pins_uhs>;
728 pinctrl-names = "default", "state_uhs";
Kuninori Morimotoc6119942014-02-12 21:43:19 -0800729
730 vmmc-supply = <&vcc_sdhi2>;
731 vqmmc-supply = <&vccq_sdhi2>;
732 cd-gpios = <&gpio3 22 GPIO_ACTIVE_LOW>;
Wolfram Sang1ca79692016-04-01 17:44:39 +0200733 sd-uhs-sdr50;
Kuninori Morimotoc6119942014-02-12 21:43:19 -0800734 status = "okay";
735};
Benoit Cousson05f72e02014-06-03 21:02:12 +0900736
Benoit Coussonb989e132014-06-03 21:02:24 +0900737&cpu0 {
738 cpu0-supply = <&vdd_dvfs>;
739};
Ben Dookse489c2a2014-02-12 17:04:33 +0000740
Wolfram Sang880cb572016-02-15 13:57:49 +0100741&i2c0 {
742 pinctrl-0 = <&i2c0_pins>;
Simon Horman1e26fcf2016-11-06 21:20:19 +0100743 pinctrl-names = "i2c-exio0";
Wolfram Sang880cb572016-02-15 13:57:49 +0100744};
745
Wolfram Sangcb9a2b12014-07-10 12:50:56 +0200746&iic0 {
Wolfram Sang535118c2015-09-09 19:48:19 +0200747 pinctrl-0 = <&iic0_pins>;
Simon Horman1e26fcf2016-11-06 21:20:19 +0100748 pinctrl-names = "i2c-exio0";
Ben Dookse489c2a2014-02-12 17:04:33 +0000749};
750
Simon Hormanb2f15ca2016-11-06 21:20:20 +0100751&i2c1 {
752 pinctrl-0 = <&i2c1_pins>;
753 pinctrl-names = "i2c-exio1";
754};
755
Wolfram Sangcb9a2b12014-07-10 12:50:56 +0200756&iic1 {
Wolfram Sangcb9a2b12014-07-10 12:50:56 +0200757 pinctrl-0 = <&iic1_pins>;
Simon Hormanb2f15ca2016-11-06 21:20:20 +0100758 pinctrl-names = "i2c-exio1";
Ben Dookse489c2a2014-02-12 17:04:33 +0000759};
760
Wolfram Sang4e65e1b2018-02-06 23:29:50 +0100761&i2c2 {
762 pinctrl-0 = <&i2c2_pins>;
763 pinctrl-names = "i2c-hdmi";
Ben Dooksd594c972014-08-13 00:18:26 +0400764
Kuninori Morimoto177d8be2014-11-03 17:47:46 -0800765 clock-frequency = <100000>;
Wolfram Sang4e65e1b2018-02-06 23:29:50 +0100766};
Kuninori Morimoto177d8be2014-11-03 17:47:46 -0800767
Wolfram Sang4e65e1b2018-02-06 23:29:50 +0100768&iic2 {
769 pinctrl-0 = <&iic2_pins>;
770 pinctrl-names = "i2c-hdmi";
Kuninori Morimoto8ea7a442014-11-03 17:47:56 -0800771
Wolfram Sang4e65e1b2018-02-06 23:29:50 +0100772 clock-frequency = <100000>;
Ben Dookse489c2a2014-02-12 17:04:33 +0000773};
774
Khiem Nguyen5179ffd2014-07-04 09:19:51 +0900775&iic3 {
Simon Hormanaca4ec42014-06-09 11:09:44 +0900776 pinctrl-names = "default";
Khiem Nguyen5179ffd2014-07-04 09:19:51 +0900777 pinctrl-0 = <&iic3_pins>;
Simon Hormanaca4ec42014-06-09 11:09:44 +0900778 status = "okay";
779
Geert Uytterhoeven46dd8a82015-03-09 21:06:57 +0100780 pmic@58 {
781 compatible = "dlg,da9063";
782 reg = <0x58>;
783 interrupt-parent = <&irqc0>;
784 interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
785 interrupt-controller;
786
787 rtc {
788 compatible = "dlg,da9063-rtc";
789 };
790
791 wdt {
792 compatible = "dlg,da9063-watchdog";
793 };
794 };
795
Simon Hormanaca4ec42014-06-09 11:09:44 +0900796 vdd_dvfs: regulator@68 {
Steve Twissbd597f42014-08-22 15:26:55 +0100797 compatible = "dlg,da9210";
Simon Hormanaca4ec42014-06-09 11:09:44 +0900798 reg = <0x68>;
Geert Uytterhoevenceb77472015-03-09 21:06:56 +0100799 interrupt-parent = <&irqc0>;
800 interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
Simon Hormanaca4ec42014-06-09 11:09:44 +0900801
802 regulator-min-microvolt = <1000000>;
803 regulator-max-microvolt = <1000000>;
804 regulator-boot-on;
805 regulator-always-on;
806 };
Ben Dookse489c2a2014-02-12 17:04:33 +0000807};
Ben Dooksd8584662014-06-24 22:02:21 +0400808
809&pci0 {
810 status = "okay";
811 pinctrl-0 = <&usb0_pins>;
812 pinctrl-names = "default";
813};
814
815&pci1 {
816 status = "okay";
817 pinctrl-0 = <&usb1_pins>;
818 pinctrl-names = "default";
819};
820
Yoshihiro Shimoda37f7c1b2014-10-24 19:41:47 +0900821&xhci {
822 status = "okay";
823 pinctrl-0 = <&usb2_pins>;
824 pinctrl-names = "default";
825};
826
Ben Dooksd8584662014-06-24 22:02:21 +0400827&pci2 {
828 status = "okay";
829 pinctrl-0 = <&usb2_pins>;
830 pinctrl-names = "default";
831};
Ben Dooksd594c972014-08-13 00:18:26 +0400832
Yoshihiro Shimodae03074a2014-10-24 19:44:34 +0900833&hsusb {
834 status = "okay";
835 pinctrl-0 = <&hsusb_pins>;
836 pinctrl-names = "default";
837 renesas,enable-gpio = <&gpio5 18 GPIO_ACTIVE_HIGH>;
838};
839
Sergei Shtylyov6742caf2014-09-27 01:01:35 +0400840&usbphy {
841 status = "okay";
842};
843
William Towle56548d02016-10-18 17:01:33 +0200844/* HDMI video input */
845&vin0 {
846 pinctrl-0 = <&vin0_pins>;
847 pinctrl-names = "default";
848
849 status = "okay";
850
851 port {
852 vin0ep2: endpoint {
853 remote-endpoint = <&adv7612_out>;
854 bus-width = <24>;
855 hsync-active = <0>;
856 vsync-active = <0>;
857 pclk-sample = <1>;
858 data-active = <1>;
859 };
860 };
861};
862
Ben Dooksd594c972014-08-13 00:18:26 +0400863/* composite video input */
864&vin1 {
865 pinctrl-0 = <&vin1_pins>;
866 pinctrl-names = "default";
867
Geert Uytterhoevenfd7a8cb2014-12-09 12:25:01 +0100868 status = "okay";
Ben Dooksd594c972014-08-13 00:18:26 +0400869
870 port {
871 #address-cells = <1>;
872 #size-cells = <0>;
873
874 vin1ep0: endpoint {
875 remote-endpoint = <&adv7180>;
876 bus-width = <8>;
877 };
878 };
879};
Kuninori Morimoto8ea7a442014-11-03 17:47:56 -0800880
881&rcar_sound {
882 pinctrl-0 = <&sound_pins &sound_clk_pins>;
883 pinctrl-names = "default";
884
Kuninori Morimotoad632412014-12-17 06:11:52 +0000885 /* Single DAI */
Kuninori Morimoto8ea7a442014-11-03 17:47:56 -0800886 #sound-dai-cells = <0>;
887
888 status = "okay";
889
890 rcar_sound,dai {
891 dai0 {
Kuninori Morimotoe110c542014-11-03 17:48:38 -0800892 playback = <&ssi0 &src2 &dvc0>;
893 capture = <&ssi1 &src3 &dvc1>;
Kuninori Morimoto8ea7a442014-11-03 17:47:56 -0800894 };
895 };
896};
897
Kuninori Morimoto8ea7a442014-11-03 17:47:56 -0800898&ssi1 {
Kuninori Morimoto8ea7a442014-11-03 17:47:56 -0800899 shared-pin;
900};