xref: /linux/scripts/dtc/include-prefixes/arm64/rockchip/rk3588-edgeble-neu6a-io.dtsi (revision 2f24482304ebd32c5aa374f31465b9941a860b92)
140137b58SJagan Teki// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
240137b58SJagan Teki/*
340137b58SJagan Teki * Copyright (c) 2023 Edgeble AI Technologies Pvt. Ltd.
440137b58SJagan Teki */
540137b58SJagan Teki
68c711ff3SJagan Teki#include <dt-bindings/gpio/gpio.h>
7*4a2fdf91SJagan Teki#include <dt-bindings/soc/rockchip,vop2.h>
88c711ff3SJagan Teki
940137b58SJagan Teki/ {
1040137b58SJagan Teki	chosen {
1140137b58SJagan Teki		stdout-path = "serial2:1500000n8";
1240137b58SJagan Teki	};
138c711ff3SJagan Teki
14*4a2fdf91SJagan Teki	hdmi1-con {
15*4a2fdf91SJagan Teki		compatible = "hdmi-connector";
16*4a2fdf91SJagan Teki		type = "a";
17*4a2fdf91SJagan Teki
18*4a2fdf91SJagan Teki		port {
19*4a2fdf91SJagan Teki			hdmi1_con_in: endpoint {
20*4a2fdf91SJagan Teki				remote-endpoint = <&hdmi1_out_con>;
21*4a2fdf91SJagan Teki			};
22*4a2fdf91SJagan Teki		};
23*4a2fdf91SJagan Teki	};
24*4a2fdf91SJagan Teki
25e2ee8a44SJagan Teki	/* Unnamed gated oscillator: 100MHz,3.3V,3225 */
26e2ee8a44SJagan Teki	pcie30_port0_refclk: pcie30_port1_refclk: pcie-oscillator {
27e2ee8a44SJagan Teki		compatible = "gated-fixed-clock";
28e2ee8a44SJagan Teki		#clock-cells = <0>;
29e2ee8a44SJagan Teki		clock-frequency = <100000000>;
30e2ee8a44SJagan Teki		clock-output-names = "pcie30_refclk";
31e2ee8a44SJagan Teki		vdd-supply = <&vcc3v3_pi6c_05>;
32e2ee8a44SJagan Teki	};
33e2ee8a44SJagan Teki
345c96e633SJohan Jonker	vcc3v3_pcie2x1l0: regulator-vcc3v3-pcie2x1l0 {
358c711ff3SJagan Teki		compatible = "regulator-fixed";
368c711ff3SJagan Teki		regulator-name = "vcc3v3_pcie2x1l0";
378c711ff3SJagan Teki		regulator-min-microvolt = <3300000>;
388c711ff3SJagan Teki		regulator-max-microvolt = <3300000>;
398c711ff3SJagan Teki		startup-delay-us = <5000>;
408c711ff3SJagan Teki		vin-supply = <&vcc_3v3_s3>;
418c711ff3SJagan Teki	};
425d85d4c7SJagan Teki
43e2ee8a44SJagan Teki	vcc3v3_bkey: regulator-vcc3v3-bkey {
4492eaee21SJagan Teki		compatible = "regulator-fixed";
4592eaee21SJagan Teki		enable-active-high;
4692eaee21SJagan Teki		gpios = <&gpio2 RK_PC4 GPIO_ACTIVE_HIGH>; /* PCIE_4G_PWEN */
4792eaee21SJagan Teki		pinctrl-names = "default";
48e2ee8a44SJagan Teki		pinctrl-0 = <&pcie_4g_pwen>;
49e2ee8a44SJagan Teki		regulator-name = "vcc3v3_bkey";
5092eaee21SJagan Teki		regulator-min-microvolt = <3300000>;
5192eaee21SJagan Teki		regulator-max-microvolt = <3300000>;
5292eaee21SJagan Teki		startup-delay-us = <5000>;
5392eaee21SJagan Teki		vin-supply = <&vcc5v0_sys>;
5492eaee21SJagan Teki	};
5592eaee21SJagan Teki
56e2ee8a44SJagan Teki	vcc3v3_pcie30: vcc3v3_pi6c_05: regulator-vcc3v3-pi6c-05 {
575d85d4c7SJagan Teki		compatible = "regulator-fixed";
585d85d4c7SJagan Teki		enable-active-high;
595d85d4c7SJagan Teki		gpios = <&gpio2 RK_PC5 GPIO_ACTIVE_HIGH>; /* PCIE30x4_PWREN_H */
605d85d4c7SJagan Teki		pinctrl-names = "default";
61e2ee8a44SJagan Teki		pinctrl-0 = <&pcie30x4_pwren_h>;
62e2ee8a44SJagan Teki		regulator-name = "vcc3v3_pcie30";
635d85d4c7SJagan Teki		regulator-min-microvolt = <3300000>;
645d85d4c7SJagan Teki		regulator-max-microvolt = <3300000>;
655d85d4c7SJagan Teki		startup-delay-us = <5000>;
665d85d4c7SJagan Teki		vin-supply = <&vcc5v0_sys>;
675d85d4c7SJagan Teki	};
68762751c1SJagan Teki
695c96e633SJohan Jonker	vcc5v0_host: regulator-vcc5v0-host {
70762751c1SJagan Teki		compatible = "regulator-fixed";
71762751c1SJagan Teki		enable-active-high;
72762751c1SJagan Teki		gpio = <&gpio3 RK_PC7 GPIO_ACTIVE_HIGH>;
73762751c1SJagan Teki		pinctrl-names = "default";
74762751c1SJagan Teki		pinctrl-0 = <&vcc5v0_host_en>;
75762751c1SJagan Teki		regulator-name = "vcc5v0_host";
76762751c1SJagan Teki		regulator-min-microvolt = <5000000>;
77762751c1SJagan Teki		regulator-max-microvolt = <5000000>;
78762751c1SJagan Teki		regulator-boot-on;
79762751c1SJagan Teki		regulator-always-on;
80762751c1SJagan Teki		vin-supply = <&vcc5v0_sys>;
81762751c1SJagan Teki	};
8240137b58SJagan Teki};
8340137b58SJagan Teki
8440137b58SJagan Teki&combphy0_ps {
8540137b58SJagan Teki	status = "okay";
8640137b58SJagan Teki};
8740137b58SJagan Teki
888c711ff3SJagan Teki&combphy1_ps {
898c711ff3SJagan Teki	status = "okay";
908c711ff3SJagan Teki};
918c711ff3SJagan Teki
927676e126SAnand Moon&combphy2_psu {
937676e126SAnand Moon	status = "okay";
947676e126SAnand Moon};
957676e126SAnand Moon
96*4a2fdf91SJagan Teki&hdmi1 {
97*4a2fdf91SJagan Teki	status = "okay";
98*4a2fdf91SJagan Teki};
99*4a2fdf91SJagan Teki
100*4a2fdf91SJagan Teki&hdmi1_in {
101*4a2fdf91SJagan Teki	hdmi1_in_vp0: endpoint {
102*4a2fdf91SJagan Teki		remote-endpoint = <&vp0_out_hdmi1>;
103*4a2fdf91SJagan Teki	};
104*4a2fdf91SJagan Teki};
105*4a2fdf91SJagan Teki
106*4a2fdf91SJagan Teki&hdmi1_out {
107*4a2fdf91SJagan Teki	hdmi1_out_con: endpoint {
108*4a2fdf91SJagan Teki		remote-endpoint = <&hdmi1_con_in>;
109*4a2fdf91SJagan Teki	};
110*4a2fdf91SJagan Teki};
111*4a2fdf91SJagan Teki
112*4a2fdf91SJagan Teki&hdptxphy1 {
113*4a2fdf91SJagan Teki	status = "okay";
114*4a2fdf91SJagan Teki};
115*4a2fdf91SJagan Teki
11640137b58SJagan Teki&i2c6 {
11740137b58SJagan Teki	status = "okay";
11840137b58SJagan Teki
11940137b58SJagan Teki	hym8563: rtc@51 {
12040137b58SJagan Teki		compatible = "haoyu,hym8563";
12140137b58SJagan Teki		reg = <0x51>;
12240137b58SJagan Teki		interrupt-parent = <&gpio0>;
12340137b58SJagan Teki		interrupts = <RK_PB0 IRQ_TYPE_LEVEL_LOW>;
12440137b58SJagan Teki		#clock-cells = <0>;
12540137b58SJagan Teki		clock-output-names = "hym8563";
12640137b58SJagan Teki		pinctrl-names = "default";
12740137b58SJagan Teki		pinctrl-0 = <&hym8563_int>;
12840137b58SJagan Teki		wakeup-source;
12940137b58SJagan Teki	};
13040137b58SJagan Teki};
13140137b58SJagan Teki
1328c711ff3SJagan Teki/* ETH */
1338c711ff3SJagan Teki&pcie2x1l0 {
1348c711ff3SJagan Teki	pinctrl-names = "default";
1358c711ff3SJagan Teki	pinctrl-0 = <&pcie2_0_rst>;
1368c711ff3SJagan Teki	reset-gpios = <&gpio4 RK_PA5 GPIO_ACTIVE_HIGH>; /* PCIE20_1_PERST_L */
1378c711ff3SJagan Teki	vpcie3v3-supply = <&vcc3v3_pcie2x1l0>;
1388c711ff3SJagan Teki	status = "okay";
1398c711ff3SJagan Teki};
1408c711ff3SJagan Teki
1415d85d4c7SJagan Teki&pcie30phy {
142e2ee8a44SJagan Teki	data-lanes = <1 1 2 2>;
143e2ee8a44SJagan Teki	/* separate clock lines from the clock generator to phy and devices */
144e2ee8a44SJagan Teki	rockchip,rx-common-refclk-mode = <0 0 0 0>;
14592eaee21SJagan Teki	status = "okay";
14692eaee21SJagan Teki};
14792eaee21SJagan Teki
1485d85d4c7SJagan Teki/* M-Key */
149e2ee8a44SJagan Teki&pcie3x2 {
150e2ee8a44SJagan Teki	/*
151e2ee8a44SJagan Teki	 * The board has a "pcie_refclk" oscillator that needs enabling,
152e2ee8a44SJagan Teki	 * so add it to the list of clocks.
153e2ee8a44SJagan Teki	 */
154e2ee8a44SJagan Teki	clocks = <&cru ACLK_PCIE_2L_MSTR>, <&cru ACLK_PCIE_2L_SLV>,
155e2ee8a44SJagan Teki		 <&cru ACLK_PCIE_2L_DBI>, <&cru PCLK_PCIE_2L>,
156e2ee8a44SJagan Teki		 <&cru CLK_PCIE_AUX1>, <&cru CLK_PCIE2L_PIPE>,
157e2ee8a44SJagan Teki		 <&pcie30_port1_refclk>;
158e2ee8a44SJagan Teki	clock-names = "aclk_mst", "aclk_slv",
159e2ee8a44SJagan Teki		      "aclk_dbi", "pclk",
160e2ee8a44SJagan Teki		      "aux", "pipe",
161e2ee8a44SJagan Teki		      "ref";
162e2ee8a44SJagan Teki	num-lanes = <2>;
1635d85d4c7SJagan Teki	pinctrl-names = "default";
164e2ee8a44SJagan Teki	pinctrl-0 = <&pcie30x2_perstn_m1_l>;
1655d85d4c7SJagan Teki	reset-gpios = <&gpio4 RK_PB0 GPIO_ACTIVE_HIGH>; /* PCIE30X2_PERSTn_M1_L */
166e2ee8a44SJagan Teki	vpcie3v3-supply = <&vcc3v3_pcie30>;
167e2ee8a44SJagan Teki	status = "okay";
168e2ee8a44SJagan Teki};
169e2ee8a44SJagan Teki
170e2ee8a44SJagan Teki/* B-Key and E-Key */
171e2ee8a44SJagan Teki&pcie3x4 {
172e2ee8a44SJagan Teki	/*
173e2ee8a44SJagan Teki	 * The board has a "pcie_refclk" oscillator that needs enabling,
174e2ee8a44SJagan Teki	 * so add it to the list of clocks.
175e2ee8a44SJagan Teki	 */
176e2ee8a44SJagan Teki	clocks = <&cru ACLK_PCIE_4L_MSTR>, <&cru ACLK_PCIE_4L_SLV>,
177e2ee8a44SJagan Teki		 <&cru ACLK_PCIE_4L_DBI>, <&cru PCLK_PCIE_4L>,
178e2ee8a44SJagan Teki		 <&cru CLK_PCIE_AUX0>, <&cru CLK_PCIE4L_PIPE>,
179e2ee8a44SJagan Teki		 <&pcie30_port0_refclk>;
180e2ee8a44SJagan Teki	clock-names = "aclk_mst", "aclk_slv",
181e2ee8a44SJagan Teki		      "aclk_dbi", "pclk",
182e2ee8a44SJagan Teki		      "aux", "pipe",
183e2ee8a44SJagan Teki		      "ref";
184e2ee8a44SJagan Teki	pinctrl-names = "default";
185e2ee8a44SJagan Teki	pinctrl-0 = <&pcie30x4_perstn_m1_l>;
186e2ee8a44SJagan Teki	reset-gpios = <&gpio4 RK_PB6 GPIO_ACTIVE_HIGH>; /* PCIE30X4_PERSTn_M1_L */
187e2ee8a44SJagan Teki	vpcie3v3-supply = <&vcc3v3_bkey>;
1885d85d4c7SJagan Teki	status = "okay";
1895d85d4c7SJagan Teki};
1905d85d4c7SJagan Teki
19140137b58SJagan Teki&pinctrl {
1928c711ff3SJagan Teki	pcie2 {
1938c711ff3SJagan Teki		pcie2_0_rst: pcie2-0-rst {
1948c711ff3SJagan Teki			rockchip,pins = <4 RK_PA5 RK_FUNC_GPIO &pcfg_pull_none>;
1958c711ff3SJagan Teki		};
1968c711ff3SJagan Teki	};
1978c711ff3SJagan Teki
1985d85d4c7SJagan Teki	pcie3 {
199e2ee8a44SJagan Teki		pcie30x2_perstn_m1_l: pcie30x2-perstn-m1-l {
2005d85d4c7SJagan Teki			rockchip,pins = <4 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>;
2015d85d4c7SJagan Teki		};
2025d85d4c7SJagan Teki
203e2ee8a44SJagan Teki		pcie_4g_pwen: pcie-4g-pwen {
204e2ee8a44SJagan Teki			rockchip,pins = <2 RK_PC4 RK_FUNC_GPIO &pcfg_pull_down>;
205e2ee8a44SJagan Teki		};
206e2ee8a44SJagan Teki
207e2ee8a44SJagan Teki		pcie30x4_perstn_m1_l: pcie30x4-perstn-m1-l {
208e2ee8a44SJagan Teki			rockchip,pins = <4 RK_PB6 RK_FUNC_GPIO &pcfg_pull_none>;
209e2ee8a44SJagan Teki		};
210e2ee8a44SJagan Teki
211e2ee8a44SJagan Teki		pcie30x4_pwren_h: pcie30x4-pwren-h {
212e2ee8a44SJagan Teki			rockchip,pins = <2 RK_PC5 RK_FUNC_GPIO &pcfg_pull_down>;
2135d85d4c7SJagan Teki		};
2145d85d4c7SJagan Teki	};
2155d85d4c7SJagan Teki
21640137b58SJagan Teki	hym8563 {
21740137b58SJagan Teki		hym8563_int: hym8563-int {
21840137b58SJagan Teki			rockchip,pins = <0 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>;
21940137b58SJagan Teki		};
22040137b58SJagan Teki	};
221762751c1SJagan Teki
222762751c1SJagan Teki	usb {
223762751c1SJagan Teki		vcc5v0_host_en: vcc5v0-host-en {
224762751c1SJagan Teki			rockchip,pins = <3 RK_PC7 RK_FUNC_GPIO &pcfg_pull_none>;
225762751c1SJagan Teki		};
226762751c1SJagan Teki	};
22740137b58SJagan Teki};
22840137b58SJagan Teki
22940137b58SJagan Teki/* FAN */
23040137b58SJagan Teki&pwm2 {
23140137b58SJagan Teki	pinctrl-0 = <&pwm2m1_pins>;
23240137b58SJagan Teki	pinctrl-names = "default";
23340137b58SJagan Teki	status = "okay";
23440137b58SJagan Teki};
23540137b58SJagan Teki
23640137b58SJagan Teki&sata0 {
23740137b58SJagan Teki	status = "okay";
23840137b58SJagan Teki};
23940137b58SJagan Teki
24040137b58SJagan Teki&sdmmc {
24140137b58SJagan Teki	bus-width = <4>;
24240137b58SJagan Teki	cap-mmc-highspeed;
24340137b58SJagan Teki	cap-sd-highspeed;
24440137b58SJagan Teki	disable-wp;
24540137b58SJagan Teki	no-sdio;
24640137b58SJagan Teki	no-mmc;
24740137b58SJagan Teki	sd-uhs-sdr104;
24840137b58SJagan Teki	vmmc-supply = <&vcc_3v3_s3>;
24940137b58SJagan Teki	vqmmc-supply = <&vccio_sd_s0>;
25040137b58SJagan Teki	status = "okay";
25140137b58SJagan Teki};
25240137b58SJagan Teki
25340137b58SJagan Teki&uart2 {
25440137b58SJagan Teki	pinctrl-0 = <&uart2m0_xfer>;
25540137b58SJagan Teki	status = "okay";
25640137b58SJagan Teki};
25740137b58SJagan Teki
25840137b58SJagan Teki/* RS232 */
25940137b58SJagan Teki&uart6 {
26040137b58SJagan Teki	pinctrl-0 = <&uart6m0_xfer>;
26140137b58SJagan Teki	pinctrl-names = "default";
26240137b58SJagan Teki	status = "okay";
26340137b58SJagan Teki};
26440137b58SJagan Teki
26540137b58SJagan Teki/* RS485 */
26640137b58SJagan Teki&uart7 {
26740137b58SJagan Teki	pinctrl-0 = <&uart7m2_xfer>;
26840137b58SJagan Teki	pinctrl-names = "default";
26940137b58SJagan Teki	status = "okay";
27040137b58SJagan Teki};
271762751c1SJagan Teki
272762751c1SJagan Teki&u2phy2 {
273762751c1SJagan Teki	status = "okay";
274762751c1SJagan Teki};
275762751c1SJagan Teki
276762751c1SJagan Teki&u2phy2_host {
277762751c1SJagan Teki	/* connected to USB hub, which is powered by vcc5v0_sys */
278762751c1SJagan Teki	phy-supply = <&vcc5v0_sys>;
279762751c1SJagan Teki	status = "okay";
280762751c1SJagan Teki};
281762751c1SJagan Teki
282762751c1SJagan Teki&u2phy3 {
283762751c1SJagan Teki	status = "okay";
284762751c1SJagan Teki};
285762751c1SJagan Teki
286762751c1SJagan Teki&u2phy3_host {
287762751c1SJagan Teki	phy-supply = <&vcc5v0_host>;
288762751c1SJagan Teki	status = "okay";
289762751c1SJagan Teki};
290762751c1SJagan Teki
291762751c1SJagan Teki&usb_host0_ehci {
292762751c1SJagan Teki	status = "okay";
293762751c1SJagan Teki};
294762751c1SJagan Teki
295762751c1SJagan Teki&usb_host0_ohci {
296762751c1SJagan Teki	status = "okay";
297762751c1SJagan Teki};
298762751c1SJagan Teki
299762751c1SJagan Teki&usb_host1_ehci {
300762751c1SJagan Teki	status = "okay";
301762751c1SJagan Teki};
302762751c1SJagan Teki
303762751c1SJagan Teki&usb_host1_ohci {
304762751c1SJagan Teki	status = "okay";
305762751c1SJagan Teki};
3067676e126SAnand Moon
3077676e126SAnand Moon&usb_host2_xhci {
3087676e126SAnand Moon	status = "okay";
3097676e126SAnand Moon};
310*4a2fdf91SJagan Teki
311*4a2fdf91SJagan Teki&vop_mmu {
312*4a2fdf91SJagan Teki	status = "okay";
313*4a2fdf91SJagan Teki};
314*4a2fdf91SJagan Teki
315*4a2fdf91SJagan Teki&vop {
316*4a2fdf91SJagan Teki	status = "okay";
317*4a2fdf91SJagan Teki};
318*4a2fdf91SJagan Teki
319*4a2fdf91SJagan Teki&vp0 {
320*4a2fdf91SJagan Teki	vp0_out_hdmi1: endpoint@ROCKCHIP_VOP2_EP_HDMI1 {
321*4a2fdf91SJagan Teki		reg = <ROCKCHIP_VOP2_EP_HDMI1>;
322*4a2fdf91SJagan Teki		remote-endpoint = <&hdmi1_in_vp0>;
323*4a2fdf91SJagan Teki	};
324*4a2fdf91SJagan Teki};
325