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		watchdog {
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