1 // SPDX-License-Identifier: GPL-2.0
2 /*
3  * Device Tree Source for the Stout board
4  *
5  * Copyright (C) 2018 Marek Vasut <marek.vasut@gmail.com>
6  */
7 
8 /dts-v1/;
9 #include "r8a7790.dtsi"
10 #include <dt-bindings/gpio/gpio.h>
11 #include <dt-bindings/input/input.h>
12 
13 / {
14 	model = "Stout";
15 	compatible = "renesas,stout", "renesas,r8a7790";
16 
17 	aliases {
18 		serial0 = &scifa0;
19 	};
20 
21 	chosen {
22 		bootargs = "ignore_loglevel rw root=/dev/nfs ip=on";
23 		stdout-path = "serial0:115200n8";
24 	};
25 
26 	memory@40000000 {
27 		device_type = "memory";
28 		reg = <0 0x40000000 0 0x40000000>;
29 	};
30 
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>,
97 		 <&osc1_clk>;
98 	clock-names = "du.0", "du.1", "du.2", "dclkin.0";
99 
100 	ports {
101 		port@0 {
102 			endpoint {
103 				remote-endpoint = <&adv7511_in>;
104 			};
105 		};
106 	};
107 };
108 
109 &lvds0 {
110 	ports {
111 		port@1 {
112 			lvds_connector0: endpoint {
113 			};
114 		};
115 	};
116 };
117 
118 &lvds1 {
119 	ports {
120 		port@1 {
121 			lvds_connector1: endpoint {
122 			};
123 		};
124 	};
125 };
126 
127 &extal_clk {
128 	clock-frequency = <20000000>;
129 };
130 
131 &pfc {
132 
133 	pinctrl-0 = <&scif_clk_pins>;
134 	pinctrl-names = "default";
135 
136 	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";
144 	};
145 
146 	scif_clk_pins: scif_clk {
147 		groups = "scif_clk";
148 		function = "scif_clk";
149 	};
150 
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 	pmic_irq_pins: pmicirq {
183 		groups = "intc_irq2";
184 		function = "intc";
185 	};
186 
187 	usb0_pins: usb0 {
188 		groups = "usb0";
189 		function = "usb0";
190 	};
191 };
192 
193 &ether {
194 	pinctrl-0 = <&ether_pins>, <&phy1_pins>;
195 	pinctrl-names = "default";
196 
197 	phy-handle = <&phy1>;
198 	renesas,ether-link-active-low;
199 	status = "okay";
200 
201 	phy1: ethernet-phy@1 {
202 		compatible = "ethernet-phy-id0022.1537",
203 			     "ethernet-phy-ieee802.3-c22";
204 		reg = <1>;
205 		interrupt-parent = <&irqc0>;
206 		interrupts = <1 IRQ_TYPE_LEVEL_LOW>;
207 		micrel,led-mode = <1>;
208 		reset-gpios = <&gpio3 31 GPIO_ACTIVE_LOW>;
209 	};
210 };
211 
212 &cmt0 {
213 	status = "okay";
214 };
215 
216 &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 
267 &scif_clk {
268 	clock-frequency = <14745600>;
269 };
270 
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";
302 
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";
326 	pinctrl-0 = <&iic3_pins>, <&pmic_irq_pins>;
327 	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 
336 		onkey {
337 			compatible = "dlg,da9063-onkey";
338 		};
339 
340 		rtc {
341 			compatible = "dlg,da9063-rtc";
342 		};
343 
344 		wdt {
345 			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 };
383