162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * Device Tree Source for the HiHope RZ/G2H Rev.4.0 and
462306a36Sopenharmony_ci * HiHope RZ/G2[MN] Rev.[2.0/3.0/4.0] main board common parts
562306a36Sopenharmony_ci *
662306a36Sopenharmony_ci * Copyright (C) 2019 Renesas Electronics Corp.
762306a36Sopenharmony_ci */
862306a36Sopenharmony_ci
962306a36Sopenharmony_ci#include <dt-bindings/gpio/gpio.h>
1062306a36Sopenharmony_ci
1162306a36Sopenharmony_ci/ {
1262306a36Sopenharmony_ci	aliases {
1362306a36Sopenharmony_ci		i2c0 = &i2c0;
1462306a36Sopenharmony_ci		i2c1 = &i2c1;
1562306a36Sopenharmony_ci		i2c2 = &i2c2;
1662306a36Sopenharmony_ci		i2c3 = &i2c3;
1762306a36Sopenharmony_ci		i2c4 = &i2c4;
1862306a36Sopenharmony_ci		i2c5 = &i2c5;
1962306a36Sopenharmony_ci		i2c6 = &i2c6;
2062306a36Sopenharmony_ci		i2c7 = &iic_pmic;
2162306a36Sopenharmony_ci		serial0 = &scif2;
2262306a36Sopenharmony_ci		serial1 = &hscif0;
2362306a36Sopenharmony_ci		mmc0 = &sdhi3;
2462306a36Sopenharmony_ci		mmc1 = &sdhi0;
2562306a36Sopenharmony_ci		mmc2 = &sdhi2;
2662306a36Sopenharmony_ci	};
2762306a36Sopenharmony_ci
2862306a36Sopenharmony_ci	chosen {
2962306a36Sopenharmony_ci		bootargs = "ignore_loglevel";
3062306a36Sopenharmony_ci		stdout-path = "serial0:115200n8";
3162306a36Sopenharmony_ci	};
3262306a36Sopenharmony_ci
3362306a36Sopenharmony_ci	hdmi0-out {
3462306a36Sopenharmony_ci		compatible = "hdmi-connector";
3562306a36Sopenharmony_ci		type = "a";
3662306a36Sopenharmony_ci
3762306a36Sopenharmony_ci		port {
3862306a36Sopenharmony_ci			hdmi0_con: endpoint {
3962306a36Sopenharmony_ci				remote-endpoint = <&rcar_dw_hdmi0_out>;
4062306a36Sopenharmony_ci			};
4162306a36Sopenharmony_ci		};
4262306a36Sopenharmony_ci	};
4362306a36Sopenharmony_ci
4462306a36Sopenharmony_ci	leds {
4562306a36Sopenharmony_ci		compatible = "gpio-leds";
4662306a36Sopenharmony_ci
4762306a36Sopenharmony_ci		led1 {
4862306a36Sopenharmony_ci			gpios = <&gpio6 12 GPIO_ACTIVE_HIGH>;
4962306a36Sopenharmony_ci		};
5062306a36Sopenharmony_ci
5162306a36Sopenharmony_ci		led2 {
5262306a36Sopenharmony_ci			gpios = <&gpio6 13 GPIO_ACTIVE_HIGH>;
5362306a36Sopenharmony_ci		};
5462306a36Sopenharmony_ci
5562306a36Sopenharmony_ci		led3 {
5662306a36Sopenharmony_ci			gpios = <&gpio0  0 GPIO_ACTIVE_HIGH>;
5762306a36Sopenharmony_ci		};
5862306a36Sopenharmony_ci
5962306a36Sopenharmony_ci		led4 {
6062306a36Sopenharmony_ci			gpios = <&gpio6 11 GPIO_ACTIVE_HIGH>;
6162306a36Sopenharmony_ci		};
6262306a36Sopenharmony_ci	};
6362306a36Sopenharmony_ci
6462306a36Sopenharmony_ci	reg_1p8v: regulator-1p8v {
6562306a36Sopenharmony_ci		compatible = "regulator-fixed";
6662306a36Sopenharmony_ci		regulator-name = "fixed-1.8V";
6762306a36Sopenharmony_ci		regulator-min-microvolt = <1800000>;
6862306a36Sopenharmony_ci		regulator-max-microvolt = <1800000>;
6962306a36Sopenharmony_ci		regulator-boot-on;
7062306a36Sopenharmony_ci		regulator-always-on;
7162306a36Sopenharmony_ci	};
7262306a36Sopenharmony_ci
7362306a36Sopenharmony_ci	reg_3p3v: regulator-3p3v {
7462306a36Sopenharmony_ci		compatible = "regulator-fixed";
7562306a36Sopenharmony_ci		regulator-name = "fixed-3.3V";
7662306a36Sopenharmony_ci		regulator-min-microvolt = <3300000>;
7762306a36Sopenharmony_ci		regulator-max-microvolt = <3300000>;
7862306a36Sopenharmony_ci		regulator-boot-on;
7962306a36Sopenharmony_ci		regulator-always-on;
8062306a36Sopenharmony_ci	};
8162306a36Sopenharmony_ci
8262306a36Sopenharmony_ci	sound_card: sound {
8362306a36Sopenharmony_ci		compatible = "audio-graph-card";
8462306a36Sopenharmony_ci
8562306a36Sopenharmony_ci		label = "rcar-sound";
8662306a36Sopenharmony_ci
8762306a36Sopenharmony_ci		dais = <&rsnd_port>;
8862306a36Sopenharmony_ci	};
8962306a36Sopenharmony_ci
9062306a36Sopenharmony_ci	vbus0_usb2: regulator-vbus0-usb2 {
9162306a36Sopenharmony_ci		compatible = "regulator-fixed";
9262306a36Sopenharmony_ci
9362306a36Sopenharmony_ci		regulator-name = "USB20_VBUS0";
9462306a36Sopenharmony_ci		regulator-min-microvolt = <5000000>;
9562306a36Sopenharmony_ci		regulator-max-microvolt = <5000000>;
9662306a36Sopenharmony_ci
9762306a36Sopenharmony_ci		gpio = <&gpio6 16 GPIO_ACTIVE_HIGH>;
9862306a36Sopenharmony_ci		enable-active-high;
9962306a36Sopenharmony_ci	};
10062306a36Sopenharmony_ci
10162306a36Sopenharmony_ci	vccq_sdhi0: regulator-vccq-sdhi0 {
10262306a36Sopenharmony_ci		compatible = "regulator-gpio";
10362306a36Sopenharmony_ci
10462306a36Sopenharmony_ci		regulator-name = "SDHI0 VccQ";
10562306a36Sopenharmony_ci		regulator-min-microvolt = <1800000>;
10662306a36Sopenharmony_ci		regulator-max-microvolt = <3300000>;
10762306a36Sopenharmony_ci
10862306a36Sopenharmony_ci		gpios = <&gpio6 30 GPIO_ACTIVE_HIGH>;
10962306a36Sopenharmony_ci		gpios-states = <1>;
11062306a36Sopenharmony_ci		states = <3300000 1>, <1800000 0>;
11162306a36Sopenharmony_ci	};
11262306a36Sopenharmony_ci
11362306a36Sopenharmony_ci	x302_clk: x302-clock {
11462306a36Sopenharmony_ci		compatible = "fixed-clock";
11562306a36Sopenharmony_ci		#clock-cells = <0>;
11662306a36Sopenharmony_ci		clock-frequency = <33000000>;
11762306a36Sopenharmony_ci	};
11862306a36Sopenharmony_ci
11962306a36Sopenharmony_ci	x304_clk: x304-clock {
12062306a36Sopenharmony_ci		compatible = "fixed-clock";
12162306a36Sopenharmony_ci		#clock-cells = <0>;
12262306a36Sopenharmony_ci		clock-frequency = <25000000>;
12362306a36Sopenharmony_ci	};
12462306a36Sopenharmony_ci};
12562306a36Sopenharmony_ci
12662306a36Sopenharmony_ci&audio_clk_a {
12762306a36Sopenharmony_ci	clock-frequency = <22579200>;
12862306a36Sopenharmony_ci};
12962306a36Sopenharmony_ci
13062306a36Sopenharmony_ci&du {
13162306a36Sopenharmony_ci	status = "okay";
13262306a36Sopenharmony_ci};
13362306a36Sopenharmony_ci
13462306a36Sopenharmony_ci&ehci0 {
13562306a36Sopenharmony_ci	status = "okay";
13662306a36Sopenharmony_ci};
13762306a36Sopenharmony_ci
13862306a36Sopenharmony_ci&ehci1 {
13962306a36Sopenharmony_ci	status = "okay";
14062306a36Sopenharmony_ci};
14162306a36Sopenharmony_ci
14262306a36Sopenharmony_ci&extal_clk {
14362306a36Sopenharmony_ci	clock-frequency = <16666666>;
14462306a36Sopenharmony_ci};
14562306a36Sopenharmony_ci
14662306a36Sopenharmony_ci&extalr_clk {
14762306a36Sopenharmony_ci	clock-frequency = <32768>;
14862306a36Sopenharmony_ci};
14962306a36Sopenharmony_ci
15062306a36Sopenharmony_ci&gpio6 {
15162306a36Sopenharmony_ci	usb1-reset-hog {
15262306a36Sopenharmony_ci		gpio-hog;
15362306a36Sopenharmony_ci		gpios = <10 GPIO_ACTIVE_LOW>;
15462306a36Sopenharmony_ci		output-low;
15562306a36Sopenharmony_ci		line-name = "usb1-reset";
15662306a36Sopenharmony_ci	};
15762306a36Sopenharmony_ci};
15862306a36Sopenharmony_ci
15962306a36Sopenharmony_ci&hdmi0 {
16062306a36Sopenharmony_ci	status = "okay";
16162306a36Sopenharmony_ci
16262306a36Sopenharmony_ci	ports {
16362306a36Sopenharmony_ci		port@1 {
16462306a36Sopenharmony_ci			reg = <1>;
16562306a36Sopenharmony_ci			rcar_dw_hdmi0_out: endpoint {
16662306a36Sopenharmony_ci				remote-endpoint = <&hdmi0_con>;
16762306a36Sopenharmony_ci			};
16862306a36Sopenharmony_ci		};
16962306a36Sopenharmony_ci		port@2 {
17062306a36Sopenharmony_ci			reg = <2>;
17162306a36Sopenharmony_ci			dw_hdmi0_snd_in: endpoint {
17262306a36Sopenharmony_ci				remote-endpoint = <&rsnd_endpoint>;
17362306a36Sopenharmony_ci			};
17462306a36Sopenharmony_ci		};
17562306a36Sopenharmony_ci	};
17662306a36Sopenharmony_ci};
17762306a36Sopenharmony_ci
17862306a36Sopenharmony_ci&hscif0 {
17962306a36Sopenharmony_ci	pinctrl-0 = <&hscif0_pins>;
18062306a36Sopenharmony_ci	pinctrl-names = "default";
18162306a36Sopenharmony_ci
18262306a36Sopenharmony_ci	uart-has-rtscts;
18362306a36Sopenharmony_ci	status = "okay";
18462306a36Sopenharmony_ci};
18562306a36Sopenharmony_ci
18662306a36Sopenharmony_ci&hsusb {
18762306a36Sopenharmony_ci	dr_mode = "otg";
18862306a36Sopenharmony_ci	status = "okay";
18962306a36Sopenharmony_ci};
19062306a36Sopenharmony_ci
19162306a36Sopenharmony_ci&i2c4 {
19262306a36Sopenharmony_ci	clock-frequency = <400000>;
19362306a36Sopenharmony_ci	status = "okay";
19462306a36Sopenharmony_ci
19562306a36Sopenharmony_ci	versaclock5: clock-generator@6a {
19662306a36Sopenharmony_ci		compatible = "idt,5p49v5923";
19762306a36Sopenharmony_ci		reg = <0x6a>;
19862306a36Sopenharmony_ci		#clock-cells = <1>;
19962306a36Sopenharmony_ci		clocks = <&x304_clk>;
20062306a36Sopenharmony_ci		clock-names = "xin";
20162306a36Sopenharmony_ci	};
20262306a36Sopenharmony_ci};
20362306a36Sopenharmony_ci
20462306a36Sopenharmony_ci&ohci0 {
20562306a36Sopenharmony_ci	status = "okay";
20662306a36Sopenharmony_ci};
20762306a36Sopenharmony_ci
20862306a36Sopenharmony_ci&ohci1 {
20962306a36Sopenharmony_ci	status = "okay";
21062306a36Sopenharmony_ci};
21162306a36Sopenharmony_ci
21262306a36Sopenharmony_ci&pcie_bus_clk {
21362306a36Sopenharmony_ci	clock-frequency = <100000000>;
21462306a36Sopenharmony_ci};
21562306a36Sopenharmony_ci
21662306a36Sopenharmony_ci&pfc {
21762306a36Sopenharmony_ci	pinctrl-0 = <&scif_clk_pins>;
21862306a36Sopenharmony_ci	pinctrl-names = "default";
21962306a36Sopenharmony_ci
22062306a36Sopenharmony_ci	hscif0_pins: hscif0 {
22162306a36Sopenharmony_ci		groups = "hscif0_data", "hscif0_ctrl";
22262306a36Sopenharmony_ci		function = "hscif0";
22362306a36Sopenharmony_ci	};
22462306a36Sopenharmony_ci
22562306a36Sopenharmony_ci	scif2_pins: scif2 {
22662306a36Sopenharmony_ci		groups = "scif2_data_a";
22762306a36Sopenharmony_ci		function = "scif2";
22862306a36Sopenharmony_ci	};
22962306a36Sopenharmony_ci
23062306a36Sopenharmony_ci	scif_clk_pins: scif_clk {
23162306a36Sopenharmony_ci		groups = "scif_clk_a";
23262306a36Sopenharmony_ci		function = "scif_clk";
23362306a36Sopenharmony_ci	};
23462306a36Sopenharmony_ci
23562306a36Sopenharmony_ci	sdhi0_pins: sd0 {
23662306a36Sopenharmony_ci		groups = "sdhi0_data4", "sdhi0_ctrl";
23762306a36Sopenharmony_ci		function = "sdhi0";
23862306a36Sopenharmony_ci		power-source = <3300>;
23962306a36Sopenharmony_ci	};
24062306a36Sopenharmony_ci
24162306a36Sopenharmony_ci	sdhi0_pins_uhs: sd0_uhs {
24262306a36Sopenharmony_ci		groups = "sdhi0_data4", "sdhi0_ctrl";
24362306a36Sopenharmony_ci		function = "sdhi0";
24462306a36Sopenharmony_ci		power-source = <1800>;
24562306a36Sopenharmony_ci	};
24662306a36Sopenharmony_ci
24762306a36Sopenharmony_ci	sdhi2_pins: sd2 {
24862306a36Sopenharmony_ci		groups = "sdhi2_data4", "sdhi2_ctrl";
24962306a36Sopenharmony_ci		function = "sdhi2";
25062306a36Sopenharmony_ci		power-source = <1800>;
25162306a36Sopenharmony_ci	};
25262306a36Sopenharmony_ci
25362306a36Sopenharmony_ci	sdhi3_pins: sd3 {
25462306a36Sopenharmony_ci		groups = "sdhi3_data8", "sdhi3_ctrl", "sdhi3_ds";
25562306a36Sopenharmony_ci		function = "sdhi3";
25662306a36Sopenharmony_ci		power-source = <1800>;
25762306a36Sopenharmony_ci	};
25862306a36Sopenharmony_ci
25962306a36Sopenharmony_ci	usb0_pins: usb0 {
26062306a36Sopenharmony_ci		groups = "usb0";
26162306a36Sopenharmony_ci		function = "usb0";
26262306a36Sopenharmony_ci	};
26362306a36Sopenharmony_ci
26462306a36Sopenharmony_ci	usb1_pins: usb1 {
26562306a36Sopenharmony_ci		mux {
26662306a36Sopenharmony_ci			groups = "usb1";
26762306a36Sopenharmony_ci			function = "usb1";
26862306a36Sopenharmony_ci		};
26962306a36Sopenharmony_ci
27062306a36Sopenharmony_ci		ovc {
27162306a36Sopenharmony_ci			pins = "GP_6_27";
27262306a36Sopenharmony_ci			bias-pull-up;
27362306a36Sopenharmony_ci		};
27462306a36Sopenharmony_ci	};
27562306a36Sopenharmony_ci
27662306a36Sopenharmony_ci	usb30_pins: usb30 {
27762306a36Sopenharmony_ci		groups = "usb30";
27862306a36Sopenharmony_ci		function = "usb30";
27962306a36Sopenharmony_ci	};
28062306a36Sopenharmony_ci};
28162306a36Sopenharmony_ci
28262306a36Sopenharmony_ci&rwdt {
28362306a36Sopenharmony_ci	timeout-sec = <60>;
28462306a36Sopenharmony_ci	status = "okay";
28562306a36Sopenharmony_ci};
28662306a36Sopenharmony_ci
28762306a36Sopenharmony_ci&scif2 {
28862306a36Sopenharmony_ci	pinctrl-0 = <&scif2_pins>;
28962306a36Sopenharmony_ci	pinctrl-names = "default";
29062306a36Sopenharmony_ci
29162306a36Sopenharmony_ci	status = "okay";
29262306a36Sopenharmony_ci};
29362306a36Sopenharmony_ci
29462306a36Sopenharmony_ci&scif_clk {
29562306a36Sopenharmony_ci	clock-frequency = <14745600>;
29662306a36Sopenharmony_ci};
29762306a36Sopenharmony_ci
29862306a36Sopenharmony_ci&sdhi0 {
29962306a36Sopenharmony_ci	pinctrl-0 = <&sdhi0_pins>;
30062306a36Sopenharmony_ci	pinctrl-1 = <&sdhi0_pins_uhs>;
30162306a36Sopenharmony_ci	pinctrl-names = "default", "state_uhs";
30262306a36Sopenharmony_ci
30362306a36Sopenharmony_ci	vmmc-supply = <&reg_3p3v>;
30462306a36Sopenharmony_ci	vqmmc-supply = <&vccq_sdhi0>;
30562306a36Sopenharmony_ci	cd-gpios = <&gpio3 12 GPIO_ACTIVE_LOW>;
30662306a36Sopenharmony_ci	bus-width = <4>;
30762306a36Sopenharmony_ci	sd-uhs-sdr50;
30862306a36Sopenharmony_ci	sd-uhs-sdr104;
30962306a36Sopenharmony_ci	status = "okay";
31062306a36Sopenharmony_ci};
31162306a36Sopenharmony_ci
31262306a36Sopenharmony_ci&sdhi2 {
31362306a36Sopenharmony_ci	status = "okay";
31462306a36Sopenharmony_ci	pinctrl-0 = <&sdhi2_pins>;
31562306a36Sopenharmony_ci	pinctrl-names = "default";
31662306a36Sopenharmony_ci
31762306a36Sopenharmony_ci	vmmc-supply = <&wlan_en_reg>;
31862306a36Sopenharmony_ci	bus-width = <4>;
31962306a36Sopenharmony_ci	non-removable;
32062306a36Sopenharmony_ci	cap-power-off-card;
32162306a36Sopenharmony_ci	keep-power-in-suspend;
32262306a36Sopenharmony_ci
32362306a36Sopenharmony_ci	#address-cells = <1>;
32462306a36Sopenharmony_ci	#size-cells = <0>;
32562306a36Sopenharmony_ci	wlcore: wlcore@2 {
32662306a36Sopenharmony_ci		compatible = "ti,wl1837";
32762306a36Sopenharmony_ci		reg = <2>;
32862306a36Sopenharmony_ci		interrupt-parent = <&gpio2>;
32962306a36Sopenharmony_ci		interrupts = <5 IRQ_TYPE_LEVEL_HIGH>;
33062306a36Sopenharmony_ci	};
33162306a36Sopenharmony_ci};
33262306a36Sopenharmony_ci
33362306a36Sopenharmony_ci&sdhi3 {
33462306a36Sopenharmony_ci	pinctrl-0 = <&sdhi3_pins>;
33562306a36Sopenharmony_ci	pinctrl-1 = <&sdhi3_pins>;
33662306a36Sopenharmony_ci	pinctrl-names = "default", "state_uhs";
33762306a36Sopenharmony_ci
33862306a36Sopenharmony_ci	vmmc-supply = <&reg_3p3v>;
33962306a36Sopenharmony_ci	vqmmc-supply = <&reg_1p8v>;
34062306a36Sopenharmony_ci	bus-width = <8>;
34162306a36Sopenharmony_ci	mmc-hs200-1_8v;
34262306a36Sopenharmony_ci	no-sd;
34362306a36Sopenharmony_ci	no-sdio;
34462306a36Sopenharmony_ci	non-removable;
34562306a36Sopenharmony_ci	fixed-emmc-driver-type = <1>;
34662306a36Sopenharmony_ci	status = "okay";
34762306a36Sopenharmony_ci};
34862306a36Sopenharmony_ci
34962306a36Sopenharmony_ci&usb_extal_clk {
35062306a36Sopenharmony_ci	clock-frequency = <50000000>;
35162306a36Sopenharmony_ci};
35262306a36Sopenharmony_ci
35362306a36Sopenharmony_ci&usb2_phy0 {
35462306a36Sopenharmony_ci	pinctrl-0 = <&usb0_pins>;
35562306a36Sopenharmony_ci	pinctrl-names = "default";
35662306a36Sopenharmony_ci
35762306a36Sopenharmony_ci	vbus-supply = <&vbus0_usb2>;
35862306a36Sopenharmony_ci	status = "okay";
35962306a36Sopenharmony_ci};
36062306a36Sopenharmony_ci
36162306a36Sopenharmony_ci&usb2_phy1 {
36262306a36Sopenharmony_ci	pinctrl-0 = <&usb1_pins>;
36362306a36Sopenharmony_ci	pinctrl-names = "default";
36462306a36Sopenharmony_ci
36562306a36Sopenharmony_ci	status = "okay";
36662306a36Sopenharmony_ci};
36762306a36Sopenharmony_ci
36862306a36Sopenharmony_ci&usb3_peri0 {
36962306a36Sopenharmony_ci	phys = <&usb3_phy0>;
37062306a36Sopenharmony_ci	phy-names = "usb";
37162306a36Sopenharmony_ci
37262306a36Sopenharmony_ci	companion = <&xhci0>;
37362306a36Sopenharmony_ci
37462306a36Sopenharmony_ci	status = "okay";
37562306a36Sopenharmony_ci};
37662306a36Sopenharmony_ci
37762306a36Sopenharmony_ci&usb3_phy0 {
37862306a36Sopenharmony_ci	status = "okay";
37962306a36Sopenharmony_ci};
38062306a36Sopenharmony_ci
38162306a36Sopenharmony_ci&usb3s0_clk {
38262306a36Sopenharmony_ci	clock-frequency = <100000000>;
38362306a36Sopenharmony_ci};
38462306a36Sopenharmony_ci
38562306a36Sopenharmony_ci&xhci0 {
38662306a36Sopenharmony_ci	pinctrl-0 = <&usb30_pins>;
38762306a36Sopenharmony_ci	pinctrl-names = "default";
38862306a36Sopenharmony_ci
38962306a36Sopenharmony_ci	status = "okay";
39062306a36Sopenharmony_ci};
391