blob: 7a7d3b84d1a6b21d1ddccd4afd2ac55747de5689 [file] [log] [blame]
Tom Rini83d290c2018-05-06 17:58:06 -04001// SPDX-License-Identifier: GPL-2.0
Marek Vasuta500e4e2018-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 Vasuta500e4e2018-01-24 15:52:56 +01006 */
7
8/dts-v1/;
9#include "r8a7790.dtsi"
Marek Vasut2155a792018-02-26 19:55:37 +010010#include <dt-bindings/gpio/gpio.h>
11#include <dt-bindings/input/input.h>
Marek Vasuta500e4e2018-01-24 15:52:56 +010012
13/ {
14 model = "Stout";
15 compatible = "renesas,stout", "renesas,r8a7790";
16
17 aliases {
Marek Vasut2155a792018-02-26 19:55:37 +010018 serial0 = &scifa0;
19 };
20
21 chosen {
22 bootargs = "ignore_loglevel rw root=/dev/nfs ip=dhcp";
23 stdout-path = "serial0:115200n8";
Marek Vasuta500e4e2018-01-24 15:52:56 +010024 };
25
26 memory@40000000 {
27 device_type = "memory";
28 reg = <0 0x40000000 0 0x40000000>;
29 };
Marek Vasut2155a792018-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 Vasut2155a792018-02-26 19:55:37 +010097 <&osc1_clk>;
Marek Vasut3abd8002019-03-04 22:50:54 +010098 clock-names = "du.0", "du.1", "du.2", "dclkin.0";
Marek Vasut2155a792018-02-26 19:55:37 +010099
100 ports {
101 port@0 {
102 endpoint {
103 remote-endpoint = <&adv7511_in>;
104 };
105 };
Marek Vasut3abd8002019-03-04 22:50:54 +0100106 };
107};
108
109&lvds0 {
110 ports {
Marek Vasut2155a792018-02-26 19:55:37 +0100111 port@1 {
112 lvds_connector0: endpoint {
113 };
114 };
Marek Vasut3abd8002019-03-04 22:50:54 +0100115 };
116};
117
118&lvds1 {
119 ports {
120 port@1 {
Marek Vasut2155a792018-02-26 19:55:37 +0100121 lvds_connector1: endpoint {
122 };
123 };
124 };
Marek Vasuta500e4e2018-01-24 15:52:56 +0100125};
126
127&extal_clk {
128 clock-frequency = <20000000>;
129};
130
131&pfc {
Marek Vasut2155a792018-02-26 19:55:37 +0100132
Marek Vasuta500e4e2018-01-24 15:52:56 +0100133 pinctrl-0 = <&scif_clk_pins>;
134 pinctrl-names = "default";
135
Marek Vasut2155a792018-02-26 19:55:37 +0100136 du_pins: du {
137 groups = "du_rgb888", "du_sync_1", "du_clk_out_0";
138 function = "du";
139 };
140
141 scifa0_pins: scifa0 {
142 groups = "scifa0_data_b";
143 function = "scifa0";
Marek Vasuta500e4e2018-01-24 15:52:56 +0100144 };
145
146 scif_clk_pins: scif_clk {
147 groups = "scif_clk";
148 function = "scif_clk";
149 };
Marek Vasut2155a792018-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
182 usb0_pins: usb0 {
183 groups = "usb0";
184 function = "usb0";
185 };
Marek Vasuta500e4e2018-01-24 15:52:56 +0100186};
187
Marek Vasut2155a792018-02-26 19:55:37 +0100188&ether {
189 pinctrl-0 = <&ether_pins &phy1_pins>;
190 pinctrl-names = "default";
191
192 phy-handle = <&phy1>;
193 renesas,ether-link-active-low;
194 status = "okay";
195
196 phy1: ethernet-phy@1 {
197 reg = <1>;
198 interrupt-parent = <&irqc0>;
199 interrupts = <1 IRQ_TYPE_LEVEL_LOW>;
200 micrel,led-mode = <1>;
201 };
202};
203
204&cmt0 {
205 status = "okay";
206};
207
208&qspi {
209 pinctrl-0 = <&qspi_pins>;
210 pinctrl-names = "default";
211
212 status = "okay";
213
214 flash: flash@0 {
215 compatible = "spansion,s25fl512s", "jedec,spi-nor";
216 reg = <0>;
217 spi-max-frequency = <30000000>;
218 spi-tx-bus-width = <4>;
219 spi-rx-bus-width = <4>;
220 spi-cpha;
221 spi-cpol;
222 m25p,fast-read;
223
224 partitions {
225 compatible = "fixed-partitions";
226 #address-cells = <1>;
227 #size-cells = <1>;
228
229 partition@0 {
230 label = "loader";
231 reg = <0x00000000 0x00080000>;
232 read-only;
233 };
234 partition@80000 {
235 label = "uboot";
236 reg = <0x00080000 0x00040000>;
237 read-only;
238 };
239 partition@c0000 {
240 label = "uboot-env";
241 reg = <0x000c0000 0x00040000>;
242 read-only;
243 };
244 partition@100000 {
245 label = "flash";
246 reg = <0x00100000 0x03f00000>;
247 };
248 };
249 };
250};
251
252&scifa0 {
253 pinctrl-0 = <&scifa0_pins>;
Marek Vasuta500e4e2018-01-24 15:52:56 +0100254 pinctrl-names = "default";
255
256 status = "okay";
257};
258
259&scif_clk {
260 clock-frequency = <14745600>;
261};
Marek Vasut2155a792018-02-26 19:55:37 +0100262
263&sdhi0 {
264 pinctrl-0 = <&sdhi0_pins>;
265 pinctrl-names = "default";
266
267 vmmc-supply = <&vcc_sdhi0>;
268 cd-gpios = <&gpio3 6 GPIO_ACTIVE_LOW>;
269 status = "okay";
270};
271
272&cpu0 {
273 cpu0-supply = <&vdd_dvfs>;
274};
275
276&iic2 {
277 status = "okay";
278 pinctrl-0 = <&iic2_pins>;
279 pinctrl-names = "default";
280
281 clock-frequency = <100000>;
282
283 hdmi@39 {
284 compatible = "adi,adv7511w";
285 reg = <0x39>;
286 interrupt-parent = <&gpio1>;
287 interrupts = <15 IRQ_TYPE_LEVEL_LOW>;
288 clocks = <&osc4_clk>;
289 clock-names = "cec";
290
291 adi,input-depth = <8>;
292 adi,input-colorspace = "rgb";
293 adi,input-clock = "1x";
294 adi,input-style = <1>;
295 adi,input-justification = "evenly";
296
297 ports {
298 #address-cells = <1>;
299 #size-cells = <0>;
300
301 port@0 {
302 reg = <0>;
303 adv7511_in: endpoint {
304 remote-endpoint = <&du_out_rgb>;
305 };
306 };
307
308 port@1 {
309 reg = <1>;
310 adv7511_out: endpoint {
311 remote-endpoint = <&hdmi_con_out>;
312 };
313 };
314 };
315 };
316};
317
318&iic3 {
319 pinctrl-names = "default";
320 pinctrl-0 = <&iic3_pins>;
321 status = "okay";
322
323 pmic@58 {
324 compatible = "dlg,da9063";
325 reg = <0x58>;
326 interrupt-parent = <&irqc0>;
327 interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
328 interrupt-controller;
329
Marek Vasut3abd8002019-03-04 22:50:54 +0100330 onkey {
331 compatible = "dlg,da9063-onkey";
332 };
333
Marek Vasut2155a792018-02-26 19:55:37 +0100334 rtc {
335 compatible = "dlg,da9063-rtc";
336 };
337
338 wdt {
339 compatible = "dlg,da9063-watchdog";
340 };
341 };
342
343 vdd_dvfs: regulator@68 {
344 compatible = "dlg,da9210";
345 reg = <0x68>;
346 interrupt-parent = <&irqc0>;
347 interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
348
349 regulator-min-microvolt = <1000000>;
350 regulator-max-microvolt = <1000000>;
351 regulator-boot-on;
352 regulator-always-on;
353 };
354
355 vdd: regulator@70 {
356 compatible = "dlg,da9210";
357 reg = <0x70>;
358 interrupt-parent = <&irqc0>;
359 interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
360
361 regulator-min-microvolt = <1000000>;
362 regulator-max-microvolt = <1000000>;
363 regulator-boot-on;
364 regulator-always-on;
365 };
366};
367
368&pci0 {
369 status = "okay";
370 pinctrl-0 = <&usb0_pins>;
371 pinctrl-names = "default";
372};
373
374&usbphy {
375 status = "okay";
376};