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=dhcp";
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		 <&cpg CPG_MOD 726>, <&cpg CPG_MOD 725>,
98		 <&osc1_clk>;
99	clock-names = "du.0", "du.1", "du.2", "lvds.0", "lvds.1", "dclkin.0";
100
101	ports {
102		port@0 {
103			endpoint {
104				remote-endpoint = <&adv7511_in>;
105			};
106		};
107		port@1 {
108			lvds_connector0: endpoint {
109			};
110		};
111		port@2 {
112			lvds_connector1: endpoint {
113			};
114		};
115	};
116};
117
118&extal_clk {
119	clock-frequency = <20000000>;
120};
121
122&pfc {
123
124	pinctrl-0 = <&scif_clk_pins>;
125	pinctrl-names = "default";
126
127	du_pins: du {
128		groups = "du_rgb888", "du_sync_1", "du_clk_out_0";
129		function = "du";
130	};
131
132	scifa0_pins: scifa0 {
133		groups = "scifa0_data_b";
134		function = "scifa0";
135	};
136
137	scif_clk_pins: scif_clk {
138		groups = "scif_clk";
139		function = "scif_clk";
140	};
141
142	ether_pins: ether {
143		groups = "eth_link", "eth_mdio", "eth_rmii";
144		function = "eth";
145	};
146
147	phy1_pins: phy1 {
148		groups = "intc_irq1";
149		function = "intc";
150	};
151
152	sdhi0_pins: sd0 {
153		groups = "sdhi0_data4", "sdhi0_ctrl";
154		function = "sdhi0";
155		power-source = <3300>;
156	};
157
158	qspi_pins: qspi {
159		groups = "qspi_ctrl", "qspi_data4";
160		function = "qspi";
161	};
162
163	iic2_pins: iic2 {
164		groups = "iic2_b";
165		function = "iic2";
166	};
167
168	iic3_pins: iic3 {
169		groups = "iic3";
170		function = "iic3";
171	};
172
173	usb0_pins: usb0 {
174		groups = "usb0";
175		function = "usb0";
176	};
177};
178
179&ether {
180	pinctrl-0 = <&ether_pins &phy1_pins>;
181	pinctrl-names = "default";
182
183	phy-handle = <&phy1>;
184	renesas,ether-link-active-low;
185	status = "okay";
186
187	phy1: ethernet-phy@1 {
188		reg = <1>;
189		interrupt-parent = <&irqc0>;
190		interrupts = <1 IRQ_TYPE_LEVEL_LOW>;
191		micrel,led-mode = <1>;
192	};
193};
194
195&cmt0 {
196	status = "okay";
197};
198
199&qspi {
200	pinctrl-0 = <&qspi_pins>;
201	pinctrl-names = "default";
202
203	status = "okay";
204
205	flash: flash@0 {
206		compatible = "spansion,s25fl512s", "jedec,spi-nor";
207		reg = <0>;
208		spi-max-frequency = <30000000>;
209		spi-tx-bus-width = <4>;
210		spi-rx-bus-width = <4>;
211		spi-cpha;
212		spi-cpol;
213		m25p,fast-read;
214
215		partitions {
216			compatible = "fixed-partitions";
217			#address-cells = <1>;
218			#size-cells = <1>;
219
220			partition@0 {
221				label = "loader";
222				reg = <0x00000000 0x00080000>;
223				read-only;
224			};
225			partition@80000 {
226				label = "uboot";
227				reg = <0x00080000 0x00040000>;
228				read-only;
229			};
230			partition@c0000 {
231				label = "uboot-env";
232				reg = <0x000c0000 0x00040000>;
233				read-only;
234			};
235			partition@100000 {
236				label = "flash";
237				reg = <0x00100000 0x03f00000>;
238			};
239		};
240	};
241};
242
243&scifa0 {
244	pinctrl-0 = <&scifa0_pins>;
245	pinctrl-names = "default";
246
247	status = "okay";
248};
249
250&scif_clk {
251	clock-frequency = <14745600>;
252};
253
254&sdhi0 {
255	pinctrl-0 = <&sdhi0_pins>;
256	pinctrl-names = "default";
257
258	vmmc-supply = <&vcc_sdhi0>;
259	cd-gpios = <&gpio3 6 GPIO_ACTIVE_LOW>;
260	status = "okay";
261};
262
263&cpu0 {
264	cpu0-supply = <&vdd_dvfs>;
265};
266
267&iic2	{
268	status = "okay";
269	pinctrl-0 = <&iic2_pins>;
270	pinctrl-names = "default";
271
272	clock-frequency = <100000>;
273
274	hdmi@39 {
275		compatible = "adi,adv7511w";
276		reg = <0x39>;
277		interrupt-parent = <&gpio1>;
278		interrupts = <15 IRQ_TYPE_LEVEL_LOW>;
279		clocks = <&osc4_clk>;
280		clock-names = "cec";
281
282		adi,input-depth = <8>;
283		adi,input-colorspace = "rgb";
284		adi,input-clock = "1x";
285		adi,input-style = <1>;
286		adi,input-justification = "evenly";
287
288		ports {
289			#address-cells = <1>;
290			#size-cells = <0>;
291
292			port@0 {
293				reg = <0>;
294				adv7511_in: endpoint {
295					remote-endpoint = <&du_out_rgb>;
296				};
297			};
298
299			port@1 {
300				reg = <1>;
301				adv7511_out: endpoint {
302					remote-endpoint = <&hdmi_con_out>;
303				};
304			};
305		};
306	};
307};
308
309&iic3 {
310	pinctrl-names = "default";
311	pinctrl-0 = <&iic3_pins>;
312	status = "okay";
313
314	pmic@58 {
315		compatible = "dlg,da9063";
316		reg = <0x58>;
317		interrupt-parent = <&irqc0>;
318		interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
319		interrupt-controller;
320
321		rtc {
322			compatible = "dlg,da9063-rtc";
323		};
324
325		wdt {
326			compatible = "dlg,da9063-watchdog";
327		};
328	};
329
330	vdd_dvfs: regulator@68 {
331		compatible = "dlg,da9210";
332		reg = <0x68>;
333		interrupt-parent = <&irqc0>;
334		interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
335
336		regulator-min-microvolt = <1000000>;
337		regulator-max-microvolt = <1000000>;
338		regulator-boot-on;
339		regulator-always-on;
340	};
341
342	vdd: regulator@70 {
343		compatible = "dlg,da9210";
344		reg = <0x70>;
345		interrupt-parent = <&irqc0>;
346		interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
347
348		regulator-min-microvolt = <1000000>;
349		regulator-max-microvolt = <1000000>;
350		regulator-boot-on;
351		regulator-always-on;
352	};
353};
354
355&pci0 {
356	status = "okay";
357	pinctrl-0 = <&usb0_pins>;
358	pinctrl-names = "default";
359};
360
361&usbphy {
362	status = "okay";
363};
364