blob: fe14727eefe1ec8caddc3a46d7c3eaef2f80d57c [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 {
Marek Vasut2a8450f2023-01-26 21:01:32 +0100194 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 {
Marek Vasut2a8450f2023-01-26 21:01:32 +0100202 compatible = "ethernet-phy-id0022.1537",
203 "ethernet-phy-ieee802.3-c22";
Marek Vasut7a5467a2018-02-26 19:55:37 +0100204 reg = <1>;
205 interrupt-parent = <&irqc0>;
206 interrupts = <1 IRQ_TYPE_LEVEL_LOW>;
207 micrel,led-mode = <1>;
Marek Vasut2a8450f2023-01-26 21:01:32 +0100208 reset-gpios = <&gpio3 31 GPIO_ACTIVE_LOW>;
Marek Vasut7a5467a2018-02-26 19:55:37 +0100209 };
210};
211
212&cmt0 {
Marek Vasutc8ea4732018-01-24 15:52:56 +0100213 status = "okay";
214};
215
Marek Vasut7a5467a2018-02-26 19:55:37 +0100216&qspi {
217 pinctrl-0 = <&qspi_pins>;
218 pinctrl-names = "default";
219
220 status = "okay";
221
222 flash: flash@0 {
223 compatible = "spansion,s25fl512s", "jedec,spi-nor";
224 reg = <0>;
225 spi-max-frequency = <30000000>;
226 spi-tx-bus-width = <4>;
227 spi-rx-bus-width = <4>;
228 spi-cpha;
229 spi-cpol;
230 m25p,fast-read;
231
232 partitions {
233 compatible = "fixed-partitions";
234 #address-cells = <1>;
235 #size-cells = <1>;
236
237 partition@0 {
238 label = "loader";
239 reg = <0x00000000 0x00080000>;
240 read-only;
241 };
242 partition@80000 {
243 label = "uboot";
244 reg = <0x00080000 0x00040000>;
245 read-only;
246 };
247 partition@c0000 {
248 label = "uboot-env";
249 reg = <0x000c0000 0x00040000>;
250 read-only;
251 };
252 partition@100000 {
253 label = "flash";
254 reg = <0x00100000 0x03f00000>;
255 };
256 };
257 };
258};
259
260&scifa0 {
261 pinctrl-0 = <&scifa0_pins>;
262 pinctrl-names = "default";
263
264 status = "okay";
265};
266
Marek Vasutc8ea4732018-01-24 15:52:56 +0100267&scif_clk {
268 clock-frequency = <14745600>;
269};
Marek Vasut7a5467a2018-02-26 19:55:37 +0100270
271&sdhi0 {
272 pinctrl-0 = <&sdhi0_pins>;
273 pinctrl-names = "default";
274
275 vmmc-supply = <&vcc_sdhi0>;
276 cd-gpios = <&gpio3 6 GPIO_ACTIVE_LOW>;
277 status = "okay";
278};
279
280&cpu0 {
281 cpu0-supply = <&vdd_dvfs>;
282};
283
284&iic2 {
285 status = "okay";
286 pinctrl-0 = <&iic2_pins>;
287 pinctrl-names = "default";
288
289 clock-frequency = <100000>;
290
291 hdmi@39 {
292 compatible = "adi,adv7511w";
293 reg = <0x39>;
294 interrupt-parent = <&gpio1>;
295 interrupts = <15 IRQ_TYPE_LEVEL_LOW>;
296 clocks = <&osc4_clk>;
297 clock-names = "cec";
298
299 adi,input-depth = <8>;
300 adi,input-colorspace = "rgb";
301 adi,input-clock = "1x";
Marek Vasut7a5467a2018-02-26 19:55:37 +0100302
303 ports {
304 #address-cells = <1>;
305 #size-cells = <0>;
306
307 port@0 {
308 reg = <0>;
309 adv7511_in: endpoint {
310 remote-endpoint = <&du_out_rgb>;
311 };
312 };
313
314 port@1 {
315 reg = <1>;
316 adv7511_out: endpoint {
317 remote-endpoint = <&hdmi_con_out>;
318 };
319 };
320 };
321 };
322};
323
324&iic3 {
325 pinctrl-names = "default";
Marek Vasut2a8450f2023-01-26 21:01:32 +0100326 pinctrl-0 = <&iic3_pins>, <&pmic_irq_pins>;
Marek Vasut7a5467a2018-02-26 19:55:37 +0100327 status = "okay";
328
329 pmic@58 {
330 compatible = "dlg,da9063";
331 reg = <0x58>;
332 interrupt-parent = <&irqc0>;
333 interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
334 interrupt-controller;
335
Marek Vasuta44796c2019-03-04 22:50:54 +0100336 onkey {
337 compatible = "dlg,da9063-onkey";
338 };
339
Marek Vasut7a5467a2018-02-26 19:55:37 +0100340 rtc {
341 compatible = "dlg,da9063-rtc";
342 };
343
Marek Vasut2a8450f2023-01-26 21:01:32 +0100344 watchdog {
Marek Vasut7a5467a2018-02-26 19:55:37 +0100345 compatible = "dlg,da9063-watchdog";
346 };
347 };
348
349 vdd_dvfs: regulator@68 {
350 compatible = "dlg,da9210";
351 reg = <0x68>;
352 interrupt-parent = <&irqc0>;
353 interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
354
355 regulator-min-microvolt = <1000000>;
356 regulator-max-microvolt = <1000000>;
357 regulator-boot-on;
358 regulator-always-on;
359 };
360
361 vdd: regulator@70 {
362 compatible = "dlg,da9210";
363 reg = <0x70>;
364 interrupt-parent = <&irqc0>;
365 interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
366
367 regulator-min-microvolt = <1000000>;
368 regulator-max-microvolt = <1000000>;
369 regulator-boot-on;
370 regulator-always-on;
371 };
372};
373
374&pci0 {
375 status = "okay";
376 pinctrl-0 = <&usb0_pins>;
377 pinctrl-names = "default";
378};
379
380&usbphy {
381 status = "okay";
382};