blob: af3c67eb02dedbc1ba01a809ff82a7b8272cc595 [file] [log] [blame]
Tom Rini83d290c2018-05-06 17:58:06 -04001// SPDX-License-Identifier: GPL-2.0
Marek Vasut9a26fc5a2018-01-07 20:18:28 +01002/*
3 * Device Tree Source for the Alt board
4 *
5 * Copyright (C) 2014 Renesas Electronics Corporation
Marek Vasut9a26fc5a2018-01-07 20:18:28 +01006 */
7
8/dts-v1/;
9#include "r8a7794.dtsi"
10#include <dt-bindings/gpio/gpio.h>
11
12/ {
13 model = "Alt";
14 compatible = "renesas,alt", "renesas,r8a7794";
15
16 aliases {
17 serial0 = &scif2;
Marek Vasut252c8b42018-06-06 19:58:17 +020018 i2c9 = &gpioi2c1;
Marek Vasut9a26fc5a2018-01-07 20:18:28 +010019 i2c10 = &gpioi2c4;
Marek Vasut252c8b42018-06-06 19:58:17 +020020 i2c11 = &i2chdmi;
Marek Vasut9a26fc5a2018-01-07 20:18:28 +010021 i2c12 = &i2cexio4;
22 };
23
24 chosen {
25 bootargs = "ignore_loglevel rw root=/dev/nfs ip=dhcp";
26 stdout-path = "serial0:115200n8";
27 };
28
29 memory@40000000 {
30 device_type = "memory";
31 reg = <0 0x40000000 0 0x40000000>;
32 };
33
34 d3_3v: regulator-d3-3v {
35 compatible = "regulator-fixed";
36 regulator-name = "D3.3V";
37 regulator-min-microvolt = <3300000>;
38 regulator-max-microvolt = <3300000>;
39 regulator-boot-on;
40 regulator-always-on;
41 };
42
43 vcc_sdhi0: regulator-vcc-sdhi0 {
44 compatible = "regulator-fixed";
45
46 regulator-name = "SDHI0 Vcc";
47 regulator-min-microvolt = <3300000>;
48 regulator-max-microvolt = <3300000>;
49
50 gpio = <&gpio2 26 GPIO_ACTIVE_HIGH>;
51 enable-active-high;
52 };
53
54 vccq_sdhi0: regulator-vccq-sdhi0 {
55 compatible = "regulator-gpio";
56
57 regulator-name = "SDHI0 VccQ";
58 regulator-min-microvolt = <1800000>;
59 regulator-max-microvolt = <3300000>;
60
61 gpios = <&gpio2 29 GPIO_ACTIVE_HIGH>;
62 gpios-states = <1>;
63 states = <3300000 1
64 1800000 0>;
65 };
66
67 vcc_sdhi1: regulator-vcc-sdhi1 {
68 compatible = "regulator-fixed";
69
70 regulator-name = "SDHI1 Vcc";
71 regulator-min-microvolt = <3300000>;
72 regulator-max-microvolt = <3300000>;
73
74 gpio = <&gpio4 26 GPIO_ACTIVE_HIGH>;
75 enable-active-high;
76 };
77
78 vccq_sdhi1: regulator-vccq-sdhi1 {
79 compatible = "regulator-gpio";
80
81 regulator-name = "SDHI1 VccQ";
82 regulator-min-microvolt = <1800000>;
83 regulator-max-microvolt = <3300000>;
84
85 gpios = <&gpio4 29 GPIO_ACTIVE_HIGH>;
86 gpios-states = <1>;
87 states = <3300000 1
88 1800000 0>;
89 };
90
91 lbsc {
92 #address-cells = <1>;
93 #size-cells = <1>;
94 };
95
96 vga-encoder {
97 compatible = "adi,adv7123";
98
99 ports {
100 #address-cells = <1>;
101 #size-cells = <0>;
102
103 port@0 {
104 reg = <0>;
105 adv7123_in: endpoint {
106 remote-endpoint = <&du_out_rgb1>;
107 };
108 };
109 port@1 {
110 reg = <1>;
111 adv7123_out: endpoint {
112 remote-endpoint = <&vga_in>;
113 };
114 };
115 };
116 };
117
118 vga {
119 compatible = "vga-connector";
120
121 port {
122 vga_in: endpoint {
123 remote-endpoint = <&adv7123_out>;
124 };
125 };
126 };
127
128 x2_clk: x2-clock {
129 compatible = "fixed-clock";
130 #clock-cells = <0>;
131 clock-frequency = <74250000>;
132 };
133
134 x13_clk: x13-clock {
135 compatible = "fixed-clock";
136 #clock-cells = <0>;
137 clock-frequency = <148500000>;
138 };
139
Marek Vasut252c8b42018-06-06 19:58:17 +0200140 gpioi2c1: i2c-9 {
141 #address-cells = <1>;
142 #size-cells = <0>;
143 compatible = "i2c-gpio";
144 status = "disabled";
145 scl-gpios = <&gpio4 0 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
146 sda-gpios = <&gpio4 1 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
147 };
148
Marek Vasut9a26fc5a2018-01-07 20:18:28 +0100149 gpioi2c4: i2c-10 {
150 #address-cells = <1>;
151 #size-cells = <0>;
152 compatible = "i2c-gpio";
153 status = "disabled";
Marek Vasut252c8b42018-06-06 19:58:17 +0200154 scl-gpios = <&gpio4 8 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
155 sda-gpios = <&gpio4 9 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
Marek Vasut9a26fc5a2018-01-07 20:18:28 +0100156 i2c-gpio,delay-us = <5>;
157 };
158
159 /*
Marek Vasut252c8b42018-06-06 19:58:17 +0200160 * A fallback to GPIO is provided for I2C1.
161 */
162 i2chdmi: i2c-11 {
163 compatible = "i2c-demux-pinctrl";
164 i2c-parent = <&i2c1>, <&gpioi2c1>;
165 i2c-bus-name = "i2c-hdmi";
166 #address-cells = <1>;
167 #size-cells = <0>;
168
169 composite-in@20 {
170 compatible = "adi,adv7180";
171 reg = <0x20>;
172 remote = <&vin0>;
173
174 port {
175 adv7180: endpoint {
176 bus-width = <8>;
177 remote-endpoint = <&vin0ep>;
178 };
179 };
180 };
181 };
182
183 /*
Marek Vasut9a26fc5a2018-01-07 20:18:28 +0100184 * I2C4 is routed to EXIO connector B, pins 73 (SCL) + 74 (SDA).
185 * A fallback to GPIO is provided.
186 */
187 i2cexio4: i2c-14 {
188 compatible = "i2c-demux-pinctrl";
189 i2c-parent = <&i2c4>, <&gpioi2c4>;
190 i2c-bus-name = "i2c-exio4";
191 #address-cells = <1>;
192 #size-cells = <0>;
193 };
194};
195
196&du {
197 pinctrl-0 = <&du_pins>;
198 pinctrl-names = "default";
199 status = "okay";
200
201 clocks = <&cpg CPG_MOD 724>, <&cpg CPG_MOD 723>,
202 <&x13_clk>, <&x2_clk>;
203 clock-names = "du.0", "du.1", "dclkin.0", "dclkin.1";
204
205 ports {
206 port@1 {
207 endpoint {
208 remote-endpoint = <&adv7123_in>;
209 };
210 };
211 };
212};
213
214&extal_clk {
215 clock-frequency = <20000000>;
216};
217
218&pfc {
219 pinctrl-0 = <&scif_clk_pins>;
220 pinctrl-names = "default";
221
222 du_pins: du {
223 groups = "du1_rgb666", "du1_sync", "du1_disp", "du1_clk0_out";
224 function = "du1";
225 };
226
227 scif2_pins: scif2 {
228 groups = "scif2_data";
229 function = "scif2";
230 };
231
232 scif_clk_pins: scif_clk {
233 groups = "scif_clk";
234 function = "scif_clk";
235 };
236
237 ether_pins: ether {
238 groups = "eth_link", "eth_mdio", "eth_rmii";
239 function = "eth";
240 };
241
242 phy1_pins: phy1 {
243 groups = "intc_irq8";
244 function = "intc";
245 };
246
247 i2c1_pins: i2c1 {
248 groups = "i2c1";
249 function = "i2c1";
250 };
251
252 i2c4_pins: i2c4 {
253 groups = "i2c4";
254 function = "i2c4";
255 };
256
257 vin0_pins: vin0 {
258 groups = "vin0_data8", "vin0_clk";
259 function = "vin0";
260 };
261
262 mmcif0_pins: mmcif0 {
263 groups = "mmc_data8", "mmc_ctrl";
264 function = "mmc";
265 };
266
267 sdhi0_pins: sd0 {
268 groups = "sdhi0_data4", "sdhi0_ctrl";
269 function = "sdhi0";
270 power-source = <3300>;
271 };
272
273 sdhi0_pins_uhs: sd0_uhs {
274 groups = "sdhi0_data4", "sdhi0_ctrl";
275 function = "sdhi0";
276 power-source = <1800>;
277 };
278
279 sdhi1_pins: sd1 {
280 groups = "sdhi1_data4", "sdhi1_ctrl";
281 function = "sdhi1";
282 power-source = <3300>;
283 };
284
285 sdhi1_pins_uhs: sd1_uhs {
286 groups = "sdhi1_data4", "sdhi1_ctrl";
287 function = "sdhi1";
288 power-source = <1800>;
289 };
290};
291
292&cmt0 {
293 status = "okay";
294};
295
296&pfc {
297 qspi_pins: qspi {
298 groups = "qspi_ctrl", "qspi_data4";
299 function = "qspi";
300 };
301};
302
303&ether {
304 pinctrl-0 = <&ether_pins &phy1_pins>;
305 pinctrl-names = "default";
306
307 phy-handle = <&phy1>;
308 renesas,ether-link-active-low;
309 status = "okay";
310
311 phy1: ethernet-phy@1 {
312 reg = <1>;
313 interrupt-parent = <&irqc0>;
314 interrupts = <8 IRQ_TYPE_LEVEL_LOW>;
315 micrel,led-mode = <1>;
316 };
317};
318
319&mmcif0 {
320 pinctrl-0 = <&mmcif0_pins>;
321 pinctrl-names = "default";
322
323 vmmc-supply = <&d3_3v>;
324 vqmmc-supply = <&d3_3v>;
325 bus-width = <8>;
326 non-removable;
327 status = "okay";
328};
329
330&sdhi0 {
331 pinctrl-0 = <&sdhi0_pins>;
332 pinctrl-1 = <&sdhi0_pins_uhs>;
333 pinctrl-names = "default", "state_uhs";
334
335 vmmc-supply = <&vcc_sdhi0>;
336 vqmmc-supply = <&vccq_sdhi0>;
337 cd-gpios = <&gpio6 6 GPIO_ACTIVE_LOW>;
338 wp-gpios = <&gpio6 7 GPIO_ACTIVE_HIGH>;
339 sd-uhs-sdr50;
340 sd-uhs-sdr104;
341 status = "okay";
342};
343
344&sdhi1 {
345 pinctrl-0 = <&sdhi1_pins>;
346 pinctrl-1 = <&sdhi1_pins_uhs>;
347 pinctrl-names = "default", "state_uhs";
348
349 vmmc-supply = <&vcc_sdhi1>;
350 vqmmc-supply = <&vccq_sdhi1>;
351 cd-gpios = <&gpio6 14 GPIO_ACTIVE_LOW>;
352 wp-gpios = <&gpio6 15 GPIO_ACTIVE_HIGH>;
353 sd-uhs-sdr50;
354 status = "okay";
355};
356
357&i2c1 {
358 pinctrl-0 = <&i2c1_pins>;
Marek Vasut252c8b42018-06-06 19:58:17 +0200359 pinctrl-names = "i2c-hdmi";
Marek Vasut9a26fc5a2018-01-07 20:18:28 +0100360
Marek Vasut9a26fc5a2018-01-07 20:18:28 +0100361 clock-frequency = <400000>;
Marek Vasut9a26fc5a2018-01-07 20:18:28 +0100362};
363
364&i2c4 {
365 pinctrl-0 = <&i2c4_pins>;
366 pinctrl-names = "i2c-exio4";
367};
368
369&vin0 {
370 status = "okay";
371 pinctrl-0 = <&vin0_pins>;
372 pinctrl-names = "default";
373
374 port {
375 #address-cells = <1>;
376 #size-cells = <0>;
377
378 vin0ep: endpoint {
379 remote-endpoint = <&adv7180>;
380 bus-width = <8>;
381 };
382 };
383};
384
385&scif2 {
386 pinctrl-0 = <&scif2_pins>;
387 pinctrl-names = "default";
388
389 status = "okay";
390};
391
392&scif_clk {
393 clock-frequency = <14745600>;
394};
395
396&qspi {
397 pinctrl-0 = <&qspi_pins>;
398 pinctrl-names = "default";
399
400 status = "okay";
401
402 flash@0 {
403 compatible = "spansion,s25fl512s", "jedec,spi-nor";
404 reg = <0>;
405 spi-max-frequency = <30000000>;
406 spi-tx-bus-width = <4>;
407 spi-rx-bus-width = <4>;
408 spi-cpol;
409 spi-cpha;
410 m25p,fast-read;
411
412 partitions {
413 compatible = "fixed-partitions";
414 #address-cells = <1>;
415 #size-cells = <1>;
416
417 partition@0 {
418 label = "loader";
419 reg = <0x00000000 0x00040000>;
420 read-only;
421 };
422 partition@40000 {
423 label = "system";
424 reg = <0x00040000 0x00040000>;
425 read-only;
426 };
427 partition@80000 {
428 label = "user";
429 reg = <0x00080000 0x03f80000>;
430 };
431 };
432 };
433};