1// SPDX-License-Identifier: GPL-2.0
2/*
3 * Device Tree Source for the HiHope RZ/G2[MN] main board common parts
4 *
5 * Copyright (C) 2019 Renesas Electronics Corp.
6 */
7
8#include <dt-bindings/gpio/gpio.h>
9
10/ {
11	aliases {
12		serial0 = &scif2;
13	};
14
15	chosen {
16		bootargs = "ignore_loglevel";
17		stdout-path = "serial0:115200n8";
18	};
19
20	hdmi0-out {
21		compatible = "hdmi-connector";
22		type = "a";
23
24		port {
25			hdmi0_con: endpoint {
26				remote-endpoint = <&rcar_dw_hdmi0_out>;
27			};
28		};
29	};
30
31	leds {
32		compatible = "gpio-leds";
33
34		led0 {
35			gpios = <&gpio6 11 GPIO_ACTIVE_HIGH>;
36		};
37
38		led1 {
39			gpios = <&gpio6 12 GPIO_ACTIVE_HIGH>;
40		};
41
42		led2 {
43			gpios = <&gpio6 13 GPIO_ACTIVE_HIGH>;
44		};
45
46		led3 {
47			gpios = <&gpio0  0 GPIO_ACTIVE_HIGH>;
48		};
49	};
50
51	reg_1p8v: regulator0 {
52		compatible = "regulator-fixed";
53		regulator-name = "fixed-1.8V";
54		regulator-min-microvolt = <1800000>;
55		regulator-max-microvolt = <1800000>;
56		regulator-boot-on;
57		regulator-always-on;
58	};
59
60	reg_3p3v: regulator1 {
61		compatible = "regulator-fixed";
62		regulator-name = "fixed-3.3V";
63		regulator-min-microvolt = <3300000>;
64		regulator-max-microvolt = <3300000>;
65		regulator-boot-on;
66		regulator-always-on;
67	};
68
69	vbus0_usb2: regulator-vbus0-usb2 {
70		compatible = "regulator-fixed";
71
72		regulator-name = "USB20_VBUS0";
73		regulator-min-microvolt = <5000000>;
74		regulator-max-microvolt = <5000000>;
75
76		gpio = <&gpio6 16 GPIO_ACTIVE_HIGH>;
77		enable-active-high;
78	};
79
80	vccq_sdhi0: regulator-vccq-sdhi0 {
81		compatible = "regulator-gpio";
82
83		regulator-name = "SDHI0 VccQ";
84		regulator-min-microvolt = <1800000>;
85		regulator-max-microvolt = <3300000>;
86
87		gpios = <&gpio6 30 GPIO_ACTIVE_HIGH>;
88		gpios-states = <1>;
89		states = <3300000 1
90			  1800000 0>;
91	};
92
93	x302_clk: x302-clock {
94		compatible = "fixed-clock";
95		#clock-cells = <0>;
96		clock-frequency = <33000000>;
97	};
98
99	x304_clk: x304-clock {
100		compatible = "fixed-clock";
101		#clock-cells = <0>;
102		clock-frequency = <25000000>;
103	};
104};
105
106&du {
107	clocks = <&cpg CPG_MOD 724>,
108		 <&cpg CPG_MOD 723>,
109		 <&cpg CPG_MOD 722>,
110		 <&versaclock5 1>,
111		 <&x302_clk>,
112		 <&versaclock5 2>;
113	clock-names = "du.0", "du.1", "du.2",
114		      "dclkin.0", "dclkin.1", "dclkin.2";
115	status = "okay";
116};
117
118&ehci0 {
119	status = "okay";
120};
121
122&ehci1 {
123	status = "okay";
124};
125
126&extal_clk {
127	clock-frequency = <16666666>;
128};
129
130&extalr_clk {
131	clock-frequency = <32768>;
132};
133
134&gpio6 {
135	usb1-reset {
136		gpio-hog;
137		gpios = <10 GPIO_ACTIVE_LOW>;
138		output-low;
139		line-name = "usb1-reset";
140	};
141};
142
143&hdmi0 {
144	status = "okay";
145
146	ports {
147		port@1 {
148			reg = <1>;
149			rcar_dw_hdmi0_out: endpoint {
150				remote-endpoint = <&hdmi0_con>;
151			};
152		};
153	};
154};
155
156&hsusb {
157	dr_mode = "otg";
158	status = "okay";
159};
160
161&i2c4 {
162	clock-frequency = <400000>;
163	status = "okay";
164
165	versaclock5: clock-generator@6a {
166		compatible = "idt,5p49v5923";
167		reg = <0x6a>;
168		#clock-cells = <1>;
169		clocks = <&x304_clk>;
170		clock-names = "xin";
171	};
172};
173
174&ohci0 {
175	status = "okay";
176};
177
178&ohci1 {
179	status = "okay";
180};
181
182&pcie_bus_clk {
183	clock-frequency = <100000000>;
184};
185
186&pfc {
187	pinctrl-0 = <&scif_clk_pins>;
188	pinctrl-names = "default";
189
190	scif2_pins: scif2 {
191		groups = "scif2_data_a";
192		function = "scif2";
193	};
194
195	scif_clk_pins: scif_clk {
196		groups = "scif_clk_a";
197		function = "scif_clk";
198	};
199
200	sdhi0_pins: sd0 {
201		groups = "sdhi0_data4", "sdhi0_ctrl";
202		function = "sdhi0";
203		power-source = <3300>;
204	};
205
206	sdhi0_pins_uhs: sd0_uhs {
207		groups = "sdhi0_data4", "sdhi0_ctrl";
208		function = "sdhi0";
209		power-source = <1800>;
210	};
211
212	sdhi3_pins: sd3 {
213		groups = "sdhi3_data8", "sdhi3_ctrl", "sdhi3_ds";
214		function = "sdhi3";
215		power-source = <1800>;
216	};
217
218	usb0_pins: usb0 {
219		groups = "usb0";
220		function = "usb0";
221	};
222
223	usb1_pins: usb1 {
224		mux {
225			groups = "usb1";
226			function = "usb1";
227		};
228
229		ovc {
230			pins = "GP_6_27";
231			bias-pull-up;
232		};
233	};
234
235	usb30_pins: usb30 {
236		groups = "usb30";
237		function = "usb30";
238	};
239};
240
241&rwdt {
242	timeout-sec = <60>;
243	status = "okay";
244};
245
246&scif2 {
247	pinctrl-0 = <&scif2_pins>;
248	pinctrl-names = "default";
249
250	status = "okay";
251};
252
253&scif_clk {
254	clock-frequency = <14745600>;
255};
256
257&sdhi0 {
258	pinctrl-0 = <&sdhi0_pins>;
259	pinctrl-1 = <&sdhi0_pins_uhs>;
260	pinctrl-names = "default", "state_uhs";
261
262	vmmc-supply = <&reg_3p3v>;
263	vqmmc-supply = <&vccq_sdhi0>;
264	cd-gpios = <&gpio3 12 GPIO_ACTIVE_LOW>;
265	bus-width = <4>;
266	sd-uhs-sdr50;
267	sd-uhs-sdr104;
268	status = "okay";
269};
270
271&sdhi3 {
272	pinctrl-0 = <&sdhi3_pins>;
273	pinctrl-1 = <&sdhi3_pins>;
274	pinctrl-names = "default", "state_uhs";
275
276	vmmc-supply = <&reg_3p3v>;
277	vqmmc-supply = <&reg_1p8v>;
278	bus-width = <8>;
279	mmc-hs200-1_8v;
280	non-removable;
281	fixed-emmc-driver-type = <1>;
282	status = "okay";
283};
284
285&usb_extal_clk {
286	clock-frequency = <50000000>;
287};
288
289&usb2_phy0 {
290	pinctrl-0 = <&usb0_pins>;
291	pinctrl-names = "default";
292
293	vbus-supply = <&vbus0_usb2>;
294	status = "okay";
295};
296
297&usb2_phy1 {
298	pinctrl-0 = <&usb1_pins>;
299	pinctrl-names = "default";
300
301	status = "okay";
302};
303
304&usb3_peri0 {
305	phys = <&usb3_phy0>;
306	phy-names = "usb";
307
308	companion = <&xhci0>;
309
310	status = "okay";
311};
312
313&usb3_phy0 {
314	status = "okay";
315};
316
317&usb3s0_clk {
318	clock-frequency = <100000000>;
319};
320
321&xhci0 {
322	pinctrl-0 = <&usb30_pins>;
323	pinctrl-names = "default";
324
325	status = "okay";
326};
327