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