xref: /freebsd/sys/contrib/device-tree/src/arm64/rockchip/rk3588-rock-5b-plus.dts (revision ae5de77ed78ae54d86cead5604869212e8008e6b)
1*ae5de77eSEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2*ae5de77eSEmmanuel Vadot
3*ae5de77eSEmmanuel Vadot/dts-v1/;
4*ae5de77eSEmmanuel Vadot
5*ae5de77eSEmmanuel Vadot#include "rk3588-rock-5b.dtsi"
6*ae5de77eSEmmanuel Vadot
7*ae5de77eSEmmanuel Vadot/ {
8*ae5de77eSEmmanuel Vadot	model = "Radxa ROCK 5B+";
9*ae5de77eSEmmanuel Vadot	compatible = "radxa,rock-5b-plus", "rockchip,rk3588";
10*ae5de77eSEmmanuel Vadot
11*ae5de77eSEmmanuel Vadot	rfkill-wwan {
12*ae5de77eSEmmanuel Vadot		compatible = "rfkill-gpio";
13*ae5de77eSEmmanuel Vadot		label = "rfkill-m2-wwan";
14*ae5de77eSEmmanuel Vadot		radio-type = "wwan";
15*ae5de77eSEmmanuel Vadot		shutdown-gpios = <&gpio3 RK_PA6 GPIO_ACTIVE_HIGH>;
16*ae5de77eSEmmanuel Vadot	};
17*ae5de77eSEmmanuel Vadot
18*ae5de77eSEmmanuel Vadot	vcc3v3_4g: regulator-vcc3v3-4g {
19*ae5de77eSEmmanuel Vadot		compatible = "regulator-fixed";
20*ae5de77eSEmmanuel Vadot		enable-active-high;
21*ae5de77eSEmmanuel Vadot		gpios = <&gpio1 RK_PD2 GPIO_ACTIVE_HIGH>;
22*ae5de77eSEmmanuel Vadot		/* pinctrl for the GPIO is requested by vcc3v3_pcie2x1l0 */
23*ae5de77eSEmmanuel Vadot		regulator-name = "vcc3v3_4g";
24*ae5de77eSEmmanuel Vadot		regulator-always-on;
25*ae5de77eSEmmanuel Vadot		regulator-boot-on;
26*ae5de77eSEmmanuel Vadot		regulator-min-microvolt = <3300000>;
27*ae5de77eSEmmanuel Vadot		regulator-max-microvolt = <3300000>;
28*ae5de77eSEmmanuel Vadot		startup-delay-us = <50000>;
29*ae5de77eSEmmanuel Vadot		vin-supply = <&vcc5v0_sys>;
30*ae5de77eSEmmanuel Vadot	};
31*ae5de77eSEmmanuel Vadot
32*ae5de77eSEmmanuel Vadot	vcc3v3_wwan_pwr: regulator-vcc3v3-wwan {
33*ae5de77eSEmmanuel Vadot		compatible = "regulator-fixed";
34*ae5de77eSEmmanuel Vadot		enable-active-high;
35*ae5de77eSEmmanuel Vadot		gpios = <&gpio2 RK_PB1 GPIO_ACTIVE_HIGH>;
36*ae5de77eSEmmanuel Vadot		pinctrl-names = "default";
37*ae5de77eSEmmanuel Vadot		pinctrl-0 = <&wwan_power_en>;
38*ae5de77eSEmmanuel Vadot		regulator-name = "vcc3v3_wwan_pwr";
39*ae5de77eSEmmanuel Vadot		regulator-always-on;
40*ae5de77eSEmmanuel Vadot		regulator-boot-on;
41*ae5de77eSEmmanuel Vadot		regulator-min-microvolt = <3300000>;
42*ae5de77eSEmmanuel Vadot		regulator-max-microvolt = <3300000>;
43*ae5de77eSEmmanuel Vadot		vin-supply = <&vcc3v3_4g>;
44*ae5de77eSEmmanuel Vadot	};
45*ae5de77eSEmmanuel Vadot};
46*ae5de77eSEmmanuel Vadot
47*ae5de77eSEmmanuel Vadot&gpio0 {
48*ae5de77eSEmmanuel Vadot	wwan-disable2-n-hog {
49*ae5de77eSEmmanuel Vadot		gpios = <RK_PB2 GPIO_ACTIVE_LOW>;
50*ae5de77eSEmmanuel Vadot		output-low;
51*ae5de77eSEmmanuel Vadot		line-name = "M.2 B-key W_DISABLE2#";
52*ae5de77eSEmmanuel Vadot		gpio-hog;
53*ae5de77eSEmmanuel Vadot	};
54*ae5de77eSEmmanuel Vadot};
55*ae5de77eSEmmanuel Vadot
56*ae5de77eSEmmanuel Vadot&gpio2 {
57*ae5de77eSEmmanuel Vadot	wwan-reset-n-hog {
58*ae5de77eSEmmanuel Vadot		gpios = <RK_PB3 GPIO_ACTIVE_LOW>;
59*ae5de77eSEmmanuel Vadot		output-low;
60*ae5de77eSEmmanuel Vadot		line-name = "M.2 B-key RESET#";
61*ae5de77eSEmmanuel Vadot		gpio-hog;
62*ae5de77eSEmmanuel Vadot	};
63*ae5de77eSEmmanuel Vadot
64*ae5de77eSEmmanuel Vadot	wwan-wake-n-hog {
65*ae5de77eSEmmanuel Vadot		gpios = <RK_PB2 GPIO_ACTIVE_LOW>;
66*ae5de77eSEmmanuel Vadot		input;
67*ae5de77eSEmmanuel Vadot		line-name = "M.2 B-key WoWWAN#";
68*ae5de77eSEmmanuel Vadot		gpio-hog;
69*ae5de77eSEmmanuel Vadot	};
70*ae5de77eSEmmanuel Vadot};
71*ae5de77eSEmmanuel Vadot
72*ae5de77eSEmmanuel Vadot&pcie30phy {
73*ae5de77eSEmmanuel Vadot	data-lanes = <1 1 2 2>;
74*ae5de77eSEmmanuel Vadot};
75*ae5de77eSEmmanuel Vadot
76*ae5de77eSEmmanuel Vadot&pcie3x2 {
77*ae5de77eSEmmanuel Vadot	pinctrl-names = "default";
78*ae5de77eSEmmanuel Vadot	pinctrl-0 = <&pcie3x2_rst>;
79*ae5de77eSEmmanuel Vadot	reset-gpios = <&gpio4 RK_PB0 GPIO_ACTIVE_HIGH>;
80*ae5de77eSEmmanuel Vadot	vpcie3v3-supply = <&vcc3v3_pcie30>;
81*ae5de77eSEmmanuel Vadot	status = "okay";
82*ae5de77eSEmmanuel Vadot};
83*ae5de77eSEmmanuel Vadot
84*ae5de77eSEmmanuel Vadot&pcie3x4 {
85*ae5de77eSEmmanuel Vadot	num-lanes = <2>;
86*ae5de77eSEmmanuel Vadot};
87*ae5de77eSEmmanuel Vadot
88*ae5de77eSEmmanuel Vadot&pinctrl {
89*ae5de77eSEmmanuel Vadot	wwan {
90*ae5de77eSEmmanuel Vadot		wwan_power_en: wwan-pwr-en {
91*ae5de77eSEmmanuel Vadot			rockchip,pins = <2 RK_PB1 RK_FUNC_GPIO &pcfg_pull_none>;
92*ae5de77eSEmmanuel Vadot		};
93*ae5de77eSEmmanuel Vadot	};
94*ae5de77eSEmmanuel Vadot
95*ae5de77eSEmmanuel Vadot	pcie3 {
96*ae5de77eSEmmanuel Vadot		pcie3x2_rst: pcie3x2-rst {
97*ae5de77eSEmmanuel Vadot			rockchip,pins = <4 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>;
98*ae5de77eSEmmanuel Vadot		};
99*ae5de77eSEmmanuel Vadot	};
100*ae5de77eSEmmanuel Vadot
101*ae5de77eSEmmanuel Vadot	usb {
102*ae5de77eSEmmanuel Vadot		vcc5v0_host_en: vcc5v0-host-en {
103*ae5de77eSEmmanuel Vadot			rockchip,pins = <1 RK_PA1 RK_FUNC_GPIO &pcfg_pull_none>;
104*ae5de77eSEmmanuel Vadot		};
105*ae5de77eSEmmanuel Vadot	};
106*ae5de77eSEmmanuel Vadot};
107*ae5de77eSEmmanuel Vadot
108*ae5de77eSEmmanuel Vadot&vcc5v0_host {
109*ae5de77eSEmmanuel Vadot	enable-active-high;
110*ae5de77eSEmmanuel Vadot	gpio = <&gpio1 RK_PA1 GPIO_ACTIVE_HIGH>;
111*ae5de77eSEmmanuel Vadot	pinctrl-names = "default";
112*ae5de77eSEmmanuel Vadot	pinctrl-0 = <&vcc5v0_host_en>;
113*ae5de77eSEmmanuel Vadot};
114