1438419ebSBiju Das// SPDX-License-Identifier: GPL-2.0
2438419ebSBiju Das/*
3438419ebSBiju Das * Device Tree Source for the HiHope RZ/G2[MN] main board common parts
4438419ebSBiju Das *
5438419ebSBiju Das * Copyright (C) 2019 Renesas Electronics Corp.
6438419ebSBiju Das */
7438419ebSBiju Das
87433f1fbSBiju Das#include <dt-bindings/gpio/gpio.h>
97433f1fbSBiju Das
10438419ebSBiju Das/ {
11438419ebSBiju Das	aliases {
12438419ebSBiju Das		serial0 = &scif2;
13438419ebSBiju Das	};
14438419ebSBiju Das
15438419ebSBiju Das	chosen {
16438419ebSBiju Das		bootargs = "ignore_loglevel";
17438419ebSBiju Das		stdout-path = "serial0:115200n8";
18438419ebSBiju Das	};
19015a7507SFabrizio Castro
2089d6adc6SFabrizio Castro	hdmi0-out {
2189d6adc6SFabrizio Castro		compatible = "hdmi-connector";
2289d6adc6SFabrizio Castro		type = "a";
2389d6adc6SFabrizio Castro
2489d6adc6SFabrizio Castro		port {
2589d6adc6SFabrizio Castro			hdmi0_con: endpoint {
2689d6adc6SFabrizio Castro				remote-endpoint = <&rcar_dw_hdmi0_out>;
2789d6adc6SFabrizio Castro			};
2889d6adc6SFabrizio Castro		};
2989d6adc6SFabrizio Castro	};
3089d6adc6SFabrizio Castro
311485b635SFabrizio Castro	leds {
321485b635SFabrizio Castro		compatible = "gpio-leds";
331485b635SFabrizio Castro
341485b635SFabrizio Castro		led0 {
351485b635SFabrizio Castro			gpios = <&gpio6 11 GPIO_ACTIVE_HIGH>;
361485b635SFabrizio Castro		};
371485b635SFabrizio Castro
381485b635SFabrizio Castro		led1 {
391485b635SFabrizio Castro			gpios = <&gpio6 12 GPIO_ACTIVE_HIGH>;
401485b635SFabrizio Castro		};
411485b635SFabrizio Castro
421485b635SFabrizio Castro		led2 {
431485b635SFabrizio Castro			gpios = <&gpio6 13 GPIO_ACTIVE_HIGH>;
441485b635SFabrizio Castro		};
451485b635SFabrizio Castro
461485b635SFabrizio Castro		led3 {
471485b635SFabrizio Castro			gpios = <&gpio0  0 GPIO_ACTIVE_HIGH>;
481485b635SFabrizio Castro		};
491485b635SFabrizio Castro	};
501485b635SFabrizio Castro
51015a7507SFabrizio Castro	reg_1p8v: regulator0 {
52015a7507SFabrizio Castro		compatible = "regulator-fixed";
53015a7507SFabrizio Castro		regulator-name = "fixed-1.8V";
54015a7507SFabrizio Castro		regulator-min-microvolt = <1800000>;
55015a7507SFabrizio Castro		regulator-max-microvolt = <1800000>;
56015a7507SFabrizio Castro		regulator-boot-on;
57015a7507SFabrizio Castro		regulator-always-on;
58015a7507SFabrizio Castro	};
59015a7507SFabrizio Castro
60015a7507SFabrizio Castro	reg_3p3v: regulator1 {
61015a7507SFabrizio Castro		compatible = "regulator-fixed";
62015a7507SFabrizio Castro		regulator-name = "fixed-3.3V";
63015a7507SFabrizio Castro		regulator-min-microvolt = <3300000>;
64015a7507SFabrizio Castro		regulator-max-microvolt = <3300000>;
65015a7507SFabrizio Castro		regulator-boot-on;
66015a7507SFabrizio Castro		regulator-always-on;
67015a7507SFabrizio Castro	};
68015a7507SFabrizio Castro
69734d277fSFabrizio Castro	vbus0_usb2: regulator-vbus0-usb2 {
70734d277fSFabrizio Castro		compatible = "regulator-fixed";
71734d277fSFabrizio Castro
72734d277fSFabrizio Castro		regulator-name = "USB20_VBUS0";
73734d277fSFabrizio Castro		regulator-min-microvolt = <5000000>;
74734d277fSFabrizio Castro		regulator-max-microvolt = <5000000>;
75734d277fSFabrizio Castro
76734d277fSFabrizio Castro		gpio = <&gpio6 16 GPIO_ACTIVE_HIGH>;
77734d277fSFabrizio Castro		enable-active-high;
78734d277fSFabrizio Castro	};
79734d277fSFabrizio Castro
80015a7507SFabrizio Castro	vccq_sdhi0: regulator-vccq-sdhi0 {
81015a7507SFabrizio Castro		compatible = "regulator-gpio";
82015a7507SFabrizio Castro
83015a7507SFabrizio Castro		regulator-name = "SDHI0 VccQ";
84015a7507SFabrizio Castro		regulator-min-microvolt = <1800000>;
85015a7507SFabrizio Castro		regulator-max-microvolt = <3300000>;
86015a7507SFabrizio Castro
87015a7507SFabrizio Castro		gpios = <&gpio6 30 GPIO_ACTIVE_HIGH>;
88015a7507SFabrizio Castro		gpios-states = <1>;
89015a7507SFabrizio Castro		states = <3300000 1
90015a7507SFabrizio Castro			  1800000 0>;
91015a7507SFabrizio Castro	};
9289d6adc6SFabrizio Castro
9389d6adc6SFabrizio Castro	x302_clk: x302-clock {
9489d6adc6SFabrizio Castro		compatible = "fixed-clock";
9589d6adc6SFabrizio Castro		#clock-cells = <0>;
9689d6adc6SFabrizio Castro		clock-frequency = <33000000>;
9789d6adc6SFabrizio Castro	};
9889d6adc6SFabrizio Castro
9989d6adc6SFabrizio Castro	x304_clk: x304-clock {
10089d6adc6SFabrizio Castro		compatible = "fixed-clock";
10189d6adc6SFabrizio Castro		#clock-cells = <0>;
10289d6adc6SFabrizio Castro		clock-frequency = <25000000>;
10389d6adc6SFabrizio Castro	};
10489d6adc6SFabrizio Castro};
10589d6adc6SFabrizio Castro
10689d6adc6SFabrizio Castro&du {
10789d6adc6SFabrizio Castro	clocks = <&cpg CPG_MOD 724>,
10889d6adc6SFabrizio Castro		 <&cpg CPG_MOD 723>,
10989d6adc6SFabrizio Castro		 <&cpg CPG_MOD 722>,
11089d6adc6SFabrizio Castro		 <&versaclock5 1>,
11189d6adc6SFabrizio Castro		 <&x302_clk>,
11289d6adc6SFabrizio Castro		 <&versaclock5 2>;
11389d6adc6SFabrizio Castro	clock-names = "du.0", "du.1", "du.2",
11489d6adc6SFabrizio Castro		      "dclkin.0", "dclkin.1", "dclkin.2";
11589d6adc6SFabrizio Castro	status = "okay";
116438419ebSBiju Das};
117438419ebSBiju Das
118734d277fSFabrizio Castro&ehci0 {
119734d277fSFabrizio Castro	status = "okay";
120734d277fSFabrizio Castro};
121734d277fSFabrizio Castro
122734d277fSFabrizio Castro&ehci1 {
123734d277fSFabrizio Castro	status = "okay";
124734d277fSFabrizio Castro};
125734d277fSFabrizio Castro
126438419ebSBiju Das&extal_clk {
127438419ebSBiju Das	clock-frequency = <16666666>;
128438419ebSBiju Das};
129438419ebSBiju Das
130438419ebSBiju Das&extalr_clk {
131438419ebSBiju Das	clock-frequency = <32768>;
132438419ebSBiju Das};
133438419ebSBiju Das
134734d277fSFabrizio Castro&gpio6 {
135734d277fSFabrizio Castro	usb1-reset {
136734d277fSFabrizio Castro		gpio-hog;
137734d277fSFabrizio Castro		gpios = <10 GPIO_ACTIVE_LOW>;
138734d277fSFabrizio Castro		output-low;
139734d277fSFabrizio Castro		line-name = "usb1-reset";
140734d277fSFabrizio Castro	};
141734d277fSFabrizio Castro};
142734d277fSFabrizio Castro
14389d6adc6SFabrizio Castro&hdmi0 {
14489d6adc6SFabrizio Castro	status = "okay";
14589d6adc6SFabrizio Castro
14689d6adc6SFabrizio Castro	ports {
14789d6adc6SFabrizio Castro		port@1 {
14889d6adc6SFabrizio Castro			reg = <1>;
14989d6adc6SFabrizio Castro			rcar_dw_hdmi0_out: endpoint {
15089d6adc6SFabrizio Castro				remote-endpoint = <&hdmi0_con>;
15189d6adc6SFabrizio Castro			};
15289d6adc6SFabrizio Castro		};
15389d6adc6SFabrizio Castro	};
15489d6adc6SFabrizio Castro};
15589d6adc6SFabrizio Castro
156734d277fSFabrizio Castro&hsusb {
157734d277fSFabrizio Castro	dr_mode = "otg";
158734d277fSFabrizio Castro	status = "okay";
159734d277fSFabrizio Castro};
160734d277fSFabrizio Castro
16189d6adc6SFabrizio Castro&i2c4 {
16289d6adc6SFabrizio Castro	clock-frequency = <400000>;
16389d6adc6SFabrizio Castro	status = "okay";
16489d6adc6SFabrizio Castro
16589d6adc6SFabrizio Castro	versaclock5: clock-generator@6a {
16689d6adc6SFabrizio Castro		compatible = "idt,5p49v5923";
16789d6adc6SFabrizio Castro		reg = <0x6a>;
16889d6adc6SFabrizio Castro		#clock-cells = <1>;
16989d6adc6SFabrizio Castro		clocks = <&x304_clk>;
17089d6adc6SFabrizio Castro		clock-names = "xin";
17189d6adc6SFabrizio Castro	};
17289d6adc6SFabrizio Castro};
17389d6adc6SFabrizio Castro
174734d277fSFabrizio Castro&ohci0 {
175734d277fSFabrizio Castro	status = "okay";
176734d277fSFabrizio Castro};
177734d277fSFabrizio Castro
178734d277fSFabrizio Castro&ohci1 {
179734d277fSFabrizio Castro	status = "okay";
180734d277fSFabrizio Castro};
181734d277fSFabrizio Castro
18261e0505bSBiju Das&pcie_bus_clk {
18361e0505bSBiju Das	clock-frequency = <100000000>;
18461e0505bSBiju Das};
18561e0505bSBiju Das
186871c13a4SBiju Das&pfc {
187871c13a4SBiju Das	pinctrl-0 = <&scif_clk_pins>;
188871c13a4SBiju Das	pinctrl-names = "default";
189871c13a4SBiju Das
190871c13a4SBiju Das	scif2_pins: scif2 {
191871c13a4SBiju Das		groups = "scif2_data_a";
192871c13a4SBiju Das		function = "scif2";
193871c13a4SBiju Das	};
194871c13a4SBiju Das
195871c13a4SBiju Das	scif_clk_pins: scif_clk {
196871c13a4SBiju Das		groups = "scif_clk_a";
197871c13a4SBiju Das		function = "scif_clk";
198871c13a4SBiju Das	};
199015a7507SFabrizio Castro
200015a7507SFabrizio Castro	sdhi0_pins: sd0 {
201015a7507SFabrizio Castro		groups = "sdhi0_data4", "sdhi0_ctrl";
202015a7507SFabrizio Castro		function = "sdhi0";
203015a7507SFabrizio Castro		power-source = <3300>;
204015a7507SFabrizio Castro	};
205015a7507SFabrizio Castro
206015a7507SFabrizio Castro	sdhi0_pins_uhs: sd0_uhs {
207015a7507SFabrizio Castro		groups = "sdhi0_data4", "sdhi0_ctrl";
208015a7507SFabrizio Castro		function = "sdhi0";
209015a7507SFabrizio Castro		power-source = <1800>;
210015a7507SFabrizio Castro	};
211015a7507SFabrizio Castro
212015a7507SFabrizio Castro	sdhi3_pins: sd3 {
213015a7507SFabrizio Castro		groups = "sdhi3_data8", "sdhi3_ctrl", "sdhi3_ds";
214015a7507SFabrizio Castro		function = "sdhi3";
215015a7507SFabrizio Castro		power-source = <1800>;
216015a7507SFabrizio Castro	};
217734d277fSFabrizio Castro
218734d277fSFabrizio Castro	usb0_pins: usb0 {
219734d277fSFabrizio Castro		groups = "usb0";
220734d277fSFabrizio Castro		function = "usb0";
221734d277fSFabrizio Castro	};
222734d277fSFabrizio Castro
223734d277fSFabrizio Castro	usb1_pins: usb1 {
224734d277fSFabrizio Castro		mux {
225734d277fSFabrizio Castro			groups = "usb1";
226734d277fSFabrizio Castro			function = "usb1";
227734d277fSFabrizio Castro		};
228734d277fSFabrizio Castro
229734d277fSFabrizio Castro		ovc {
230734d277fSFabrizio Castro			pins = "GP_6_27";
231734d277fSFabrizio Castro			bias-pull-up;
232734d277fSFabrizio Castro		};
233734d277fSFabrizio Castro	};
2343ba27637SBiju Das
2353ba27637SBiju Das	usb30_pins: usb30 {
2363ba27637SBiju Das		groups = "usb30";
2373ba27637SBiju Das		function = "usb30";
2383ba27637SBiju Das	};
239871c13a4SBiju Das};
240871c13a4SBiju Das
241736a291dSBiju Das&rwdt {
242736a291dSBiju Das	timeout-sec = <60>;
243736a291dSBiju Das	status = "okay";
244736a291dSBiju Das};
245736a291dSBiju Das
246438419ebSBiju Das&scif2 {
247871c13a4SBiju Das	pinctrl-0 = <&scif2_pins>;
248871c13a4SBiju Das	pinctrl-names = "default";
249871c13a4SBiju Das
250438419ebSBiju Das	status = "okay";
251438419ebSBiju Das};
252438419ebSBiju Das
253438419ebSBiju Das&scif_clk {
254438419ebSBiju Das	clock-frequency = <14745600>;
255438419ebSBiju Das};
256015a7507SFabrizio Castro
257015a7507SFabrizio Castro&sdhi0 {
258015a7507SFabrizio Castro	pinctrl-0 = <&sdhi0_pins>;
259015a7507SFabrizio Castro	pinctrl-1 = <&sdhi0_pins_uhs>;
260015a7507SFabrizio Castro	pinctrl-names = "default", "state_uhs";
261015a7507SFabrizio Castro
262015a7507SFabrizio Castro	vmmc-supply = <&reg_3p3v>;
263015a7507SFabrizio Castro	vqmmc-supply = <&vccq_sdhi0>;
264015a7507SFabrizio Castro	cd-gpios = <&gpio3 12 GPIO_ACTIVE_LOW>;
265015a7507SFabrizio Castro	bus-width = <4>;
266015a7507SFabrizio Castro	sd-uhs-sdr50;
267015a7507SFabrizio Castro	sd-uhs-sdr104;
268015a7507SFabrizio Castro	status = "okay";
269015a7507SFabrizio Castro};
270015a7507SFabrizio Castro
271015a7507SFabrizio Castro&sdhi3 {
272015a7507SFabrizio Castro	pinctrl-0 = <&sdhi3_pins>;
273015a7507SFabrizio Castro	pinctrl-1 = <&sdhi3_pins>;
274015a7507SFabrizio Castro	pinctrl-names = "default", "state_uhs";
275015a7507SFabrizio Castro
276015a7507SFabrizio Castro	vmmc-supply = <&reg_3p3v>;
277015a7507SFabrizio Castro	vqmmc-supply = <&reg_1p8v>;
278015a7507SFabrizio Castro	bus-width = <8>;
279015a7507SFabrizio Castro	mmc-hs200-1_8v;
280015a7507SFabrizio Castro	non-removable;
281015a7507SFabrizio Castro	fixed-emmc-driver-type = <1>;
282ae688e17SFabrizio Castro	status = "okay";
283734d277fSFabrizio Castro};
284734d277fSFabrizio Castro
285734d277fSFabrizio Castro&usb_extal_clk {
286734d277fSFabrizio Castro	clock-frequency = <50000000>;
287734d277fSFabrizio Castro};
288734d277fSFabrizio Castro
289734d277fSFabrizio Castro&usb2_phy0 {
290734d277fSFabrizio Castro	pinctrl-0 = <&usb0_pins>;
291734d277fSFabrizio Castro	pinctrl-names = "default";
292734d277fSFabrizio Castro
293734d277fSFabrizio Castro	vbus-supply = <&vbus0_usb2>;
294734d277fSFabrizio Castro	status = "okay";
295734d277fSFabrizio Castro};
296734d277fSFabrizio Castro
297734d277fSFabrizio Castro&usb2_phy1 {
298734d277fSFabrizio Castro	pinctrl-0 = <&usb1_pins>;
299734d277fSFabrizio Castro	pinctrl-names = "default";
300734d277fSFabrizio Castro
301015a7507SFabrizio Castro	status = "okay";
302015a7507SFabrizio Castro};
3033ba27637SBiju Das
3043ba27637SBiju Das&usb3_peri0 {
3053ba27637SBiju Das	phys = <&usb3_phy0>;
3063ba27637SBiju Das	phy-names = "usb";
3073ba27637SBiju Das
3083ba27637SBiju Das	companion = <&xhci0>;
3093ba27637SBiju Das
3103ba27637SBiju Das	status = "okay";
3113ba27637SBiju Das};
3123ba27637SBiju Das
3133ba27637SBiju Das&usb3_phy0 {
3143ba27637SBiju Das	status = "okay";
3153ba27637SBiju Das};
3163ba27637SBiju Das
3173ba27637SBiju Das&usb3s0_clk {
3183ba27637SBiju Das	clock-frequency = <100000000>;
3193ba27637SBiju Das};
3203ba27637SBiju Das
3213ba27637SBiju Das&xhci0 {
3223ba27637SBiju Das	pinctrl-0 = <&usb30_pins>;
3233ba27637SBiju Das	pinctrl-names = "default";
3243ba27637SBiju Das
3253ba27637SBiju Das	status = "okay";
3263ba27637SBiju Das};
327