blob: a315ba749aa44176608719d8a0a7958af8f262c0 [file] [log] [blame]
Tom Rini10e47792018-05-06 17:58:06 -04001// SPDX-License-Identifier: GPL-2.0
Marek Vasutc8ea4732018-01-24 15:52:56 +01002/*
3 * Device Tree Source for the Stout board
4 *
5 * Copyright (C) 2018 Marek Vasut <marek.vasut@gmail.com>
Marek Vasutc8ea4732018-01-24 15:52:56 +01006 */
7
8/dts-v1/;
9#include "r8a7790.dtsi"
Marek Vasut7a5467a2018-02-26 19:55:37 +010010#include <dt-bindings/gpio/gpio.h>
11#include <dt-bindings/input/input.h>
Marek Vasutc8ea4732018-01-24 15:52:56 +010012
13/ {
14 model = "Stout";
15 compatible = "renesas,stout", "renesas,r8a7790";
16
17 aliases {
Marek Vasut7a5467a2018-02-26 19:55:37 +010018 serial0 = &scifa0;
Marek Vasutc8ea4732018-01-24 15:52:56 +010019 };
20
Marek Vasut7a5467a2018-02-26 19:55:37 +010021 chosen {
Marek Vasutcd82e692020-04-04 15:21:26 +020022 bootargs = "ignore_loglevel rw root=/dev/nfs ip=on";
Marek Vasut7a5467a2018-02-26 19:55:37 +010023 stdout-path = "serial0:115200n8";
24 };
25
Marek Vasutc8ea4732018-01-24 15:52:56 +010026 memory@40000000 {
27 device_type = "memory";
28 reg = <0 0x40000000 0 0x40000000>;
29 };
Marek Vasut7a5467a2018-02-26 19:55:37 +010030
31 leds {
32 compatible = "gpio-leds";
33 led1 {
34 gpios = <&gpio4 22 GPIO_ACTIVE_LOW>;
35 };
36 led2 {
37 gpios = <&gpio4 23 GPIO_ACTIVE_LOW>;
38 };
39 led3 {
40 gpios = <&gpio5 17 GPIO_ACTIVE_LOW>;
41 };
42 led5 {
43 gpios = <&gpio4 24 GPIO_ACTIVE_LOW>;
44 };
45 };
46
47 fixedregulator3v3: regulator-3v3 {
48 compatible = "regulator-fixed";
49 regulator-name = "fixed-3.3V";
50 regulator-min-microvolt = <3300000>;
51 regulator-max-microvolt = <3300000>;
52 regulator-boot-on;
53 regulator-always-on;
54 };
55
56 vcc_sdhi0: regulator-vcc-sdhi0 {
57 compatible = "regulator-fixed";
58
59 regulator-name = "SDHI0 Vcc";
60 regulator-min-microvolt = <3300000>;
61 regulator-max-microvolt = <3300000>;
62
63 gpio = <&gpio5 24 GPIO_ACTIVE_HIGH>;
64 enable-active-high;
65 };
66
67 hdmi-out {
68 compatible = "hdmi-connector";
69 type = "a";
70
71 port {
72 hdmi_con_out: endpoint {
73 remote-endpoint = <&adv7511_out>;
74 };
75 };
76 };
77
78 osc1_clk: osc1-clock {
79 compatible = "fixed-clock";
80 #clock-cells = <0>;
81 clock-frequency = <148500000>;
82 };
83
84 osc4_clk: osc4-clock {
85 compatible = "fixed-clock";
86 #clock-cells = <0>;
87 clock-frequency = <12000000>;
88 };
89};
90
91&du {
92 pinctrl-0 = <&du_pins>;
93 pinctrl-names = "default";
94 status = "okay";
95
96 clocks = <&cpg CPG_MOD 724>, <&cpg CPG_MOD 723>, <&cpg CPG_MOD 722>,
Marek Vasut7a5467a2018-02-26 19:55:37 +010097 <&osc1_clk>;
Marek Vasuta44796c2019-03-04 22:50:54 +010098 clock-names = "du.0", "du.1", "du.2", "dclkin.0";
Marek Vasut7a5467a2018-02-26 19:55:37 +010099
100 ports {
101 port@0 {
102 endpoint {
103 remote-endpoint = <&adv7511_in>;
104 };
105 };
Marek Vasuta44796c2019-03-04 22:50:54 +0100106 };
107};
108
109&lvds0 {
110 ports {
Marek Vasut7a5467a2018-02-26 19:55:37 +0100111 port@1 {
112 lvds_connector0: endpoint {
113 };
114 };
Marek Vasuta44796c2019-03-04 22:50:54 +0100115 };
116};
117
118&lvds1 {
119 ports {
120 port@1 {
Marek Vasut7a5467a2018-02-26 19:55:37 +0100121 lvds_connector1: endpoint {
122 };
123 };
124 };
Marek Vasutc8ea4732018-01-24 15:52:56 +0100125};
126
127&extal_clk {
128 clock-frequency = <20000000>;
129};
130
131&pfc {
Marek Vasut7a5467a2018-02-26 19:55:37 +0100132
Marek Vasutc8ea4732018-01-24 15:52:56 +0100133 pinctrl-0 = <&scif_clk_pins>;
134 pinctrl-names = "default";
135
Marek Vasut7a5467a2018-02-26 19:55:37 +0100136 du_pins: du {
137 groups = "du_rgb888", "du_sync_1", "du_clk_out_0";
138 function = "du";
Marek Vasutc8ea4732018-01-24 15:52:56 +0100139 };
140
Marek Vasut7a5467a2018-02-26 19:55:37 +0100141 scifa0_pins: scifa0 {
142 groups = "scifa0_data_b";
143 function = "scifa0";
144 };
145
Marek Vasutc8ea4732018-01-24 15:52:56 +0100146 scif_clk_pins: scif_clk {
147 groups = "scif_clk";
148 function = "scif_clk";
149 };
Marek Vasut7a5467a2018-02-26 19:55:37 +0100150
151 ether_pins: ether {
152 groups = "eth_link", "eth_mdio", "eth_rmii";
153 function = "eth";
154 };
155
156 phy1_pins: phy1 {
157 groups = "intc_irq1";
158 function = "intc";
159 };
160
161 sdhi0_pins: sd0 {
162 groups = "sdhi0_data4", "sdhi0_ctrl";
163 function = "sdhi0";
164 power-source = <3300>;
165 };
166
167 qspi_pins: qspi {
168 groups = "qspi_ctrl", "qspi_data4";
169 function = "qspi";
170 };
171
172 iic2_pins: iic2 {
173 groups = "iic2_b";
174 function = "iic2";
175 };
176
177 iic3_pins: iic3 {
178 groups = "iic3";
179 function = "iic3";
180 };
181
Marek Vasutcd82e692020-04-04 15:21:26 +0200182 pmic_irq_pins: pmicirq {
183 groups = "intc_irq2";
184 function = "intc";
185 };
186
Marek Vasut7a5467a2018-02-26 19:55:37 +0100187 usb0_pins: usb0 {
188 groups = "usb0";
189 function = "usb0";
190 };
Marek Vasutc8ea4732018-01-24 15:52:56 +0100191};
192
Marek Vasut7a5467a2018-02-26 19:55:37 +0100193&ether {
194 pinctrl-0 = <&ether_pins &phy1_pins>;
Marek Vasutc8ea4732018-01-24 15:52:56 +0100195 pinctrl-names = "default";
196
Marek Vasut7a5467a2018-02-26 19:55:37 +0100197 phy-handle = <&phy1>;
198 renesas,ether-link-active-low;
199 status = "okay";
200
201 phy1: ethernet-phy@1 {
202 reg = <1>;
203 interrupt-parent = <&irqc0>;
204 interrupts = <1 IRQ_TYPE_LEVEL_LOW>;
205 micrel,led-mode = <1>;
206 };
207};
208
209&cmt0 {
Marek Vasutc8ea4732018-01-24 15:52:56 +0100210 status = "okay";
211};
212
Marek Vasut7a5467a2018-02-26 19:55:37 +0100213&qspi {
214 pinctrl-0 = <&qspi_pins>;
215 pinctrl-names = "default";
216
217 status = "okay";
218
219 flash: flash@0 {
220 compatible = "spansion,s25fl512s", "jedec,spi-nor";
221 reg = <0>;
222 spi-max-frequency = <30000000>;
223 spi-tx-bus-width = <4>;
224 spi-rx-bus-width = <4>;
225 spi-cpha;
226 spi-cpol;
227 m25p,fast-read;
228
229 partitions {
230 compatible = "fixed-partitions";
231 #address-cells = <1>;
232 #size-cells = <1>;
233
234 partition@0 {
235 label = "loader";
236 reg = <0x00000000 0x00080000>;
237 read-only;
238 };
239 partition@80000 {
240 label = "uboot";
241 reg = <0x00080000 0x00040000>;
242 read-only;
243 };
244 partition@c0000 {
245 label = "uboot-env";
246 reg = <0x000c0000 0x00040000>;
247 read-only;
248 };
249 partition@100000 {
250 label = "flash";
251 reg = <0x00100000 0x03f00000>;
252 };
253 };
254 };
255};
256
257&scifa0 {
258 pinctrl-0 = <&scifa0_pins>;
259 pinctrl-names = "default";
260
261 status = "okay";
262};
263
Marek Vasutc8ea4732018-01-24 15:52:56 +0100264&scif_clk {
265 clock-frequency = <14745600>;
266};
Marek Vasut7a5467a2018-02-26 19:55:37 +0100267
268&sdhi0 {
269 pinctrl-0 = <&sdhi0_pins>;
270 pinctrl-names = "default";
271
272 vmmc-supply = <&vcc_sdhi0>;
273 cd-gpios = <&gpio3 6 GPIO_ACTIVE_LOW>;
274 status = "okay";
275};
276
277&cpu0 {
278 cpu0-supply = <&vdd_dvfs>;
279};
280
281&iic2 {
282 status = "okay";
283 pinctrl-0 = <&iic2_pins>;
284 pinctrl-names = "default";
285
286 clock-frequency = <100000>;
287
288 hdmi@39 {
289 compatible = "adi,adv7511w";
290 reg = <0x39>;
291 interrupt-parent = <&gpio1>;
292 interrupts = <15 IRQ_TYPE_LEVEL_LOW>;
293 clocks = <&osc4_clk>;
294 clock-names = "cec";
295
296 adi,input-depth = <8>;
297 adi,input-colorspace = "rgb";
298 adi,input-clock = "1x";
299 adi,input-style = <1>;
300 adi,input-justification = "evenly";
301
302 ports {
303 #address-cells = <1>;
304 #size-cells = <0>;
305
306 port@0 {
307 reg = <0>;
308 adv7511_in: endpoint {
309 remote-endpoint = <&du_out_rgb>;
310 };
311 };
312
313 port@1 {
314 reg = <1>;
315 adv7511_out: endpoint {
316 remote-endpoint = <&hdmi_con_out>;
317 };
318 };
319 };
320 };
321};
322
323&iic3 {
324 pinctrl-names = "default";
Marek Vasutcd82e692020-04-04 15:21:26 +0200325 pinctrl-0 = <&iic3_pins &pmic_irq_pins>;
Marek Vasut7a5467a2018-02-26 19:55:37 +0100326 status = "okay";
327
328 pmic@58 {
329 compatible = "dlg,da9063";
330 reg = <0x58>;
331 interrupt-parent = <&irqc0>;
332 interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
333 interrupt-controller;
334
Marek Vasuta44796c2019-03-04 22:50:54 +0100335 onkey {
336 compatible = "dlg,da9063-onkey";
337 };
338
Marek Vasut7a5467a2018-02-26 19:55:37 +0100339 rtc {
340 compatible = "dlg,da9063-rtc";
341 };
342
343 wdt {
344 compatible = "dlg,da9063-watchdog";
345 };
346 };
347
348 vdd_dvfs: regulator@68 {
349 compatible = "dlg,da9210";
350 reg = <0x68>;
351 interrupt-parent = <&irqc0>;
352 interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
353
354 regulator-min-microvolt = <1000000>;
355 regulator-max-microvolt = <1000000>;
356 regulator-boot-on;
357 regulator-always-on;
358 };
359
360 vdd: regulator@70 {
361 compatible = "dlg,da9210";
362 reg = <0x70>;
363 interrupt-parent = <&irqc0>;
364 interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
365
366 regulator-min-microvolt = <1000000>;
367 regulator-max-microvolt = <1000000>;
368 regulator-boot-on;
369 regulator-always-on;
370 };
371};
372
373&pci0 {
374 status = "okay";
375 pinctrl-0 = <&usb0_pins>;
376 pinctrl-names = "default";
377};
378
379&usbphy {
380 status = "okay";
381};