1*8d13bc63SEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2*8d13bc63SEmmanuel Vadot/*
3*8d13bc63SEmmanuel Vadot * Copyright (c) 2023 Rockchip Electronics Co., Ltd.
4*8d13bc63SEmmanuel Vadot *
5*8d13bc63SEmmanuel Vadot */
6*8d13bc63SEmmanuel Vadot
7*8d13bc63SEmmanuel Vadot/dts-v1/;
8*8d13bc63SEmmanuel Vadot
9*8d13bc63SEmmanuel Vadot#include <dt-bindings/leds/common.h>
10*8d13bc63SEmmanuel Vadot#include "rk3588-coolpi-cm5.dtsi"
11*8d13bc63SEmmanuel Vadot
12*8d13bc63SEmmanuel Vadot/ {
13*8d13bc63SEmmanuel Vadot	model = "RK3588 CoolPi CM5 EVB";
14*8d13bc63SEmmanuel Vadot	compatible = "coolpi,pi-cm5-evb", "coolpi,pi-cm5", "rockchip,rk3588";
15*8d13bc63SEmmanuel Vadot
16*8d13bc63SEmmanuel Vadot	backlight: backlight {
17*8d13bc63SEmmanuel Vadot		compatible = "pwm-backlight";
18*8d13bc63SEmmanuel Vadot		enable-gpios = <&gpio4 RK_PA3 GPIO_ACTIVE_HIGH>;
19*8d13bc63SEmmanuel Vadot		pinctrl-names = "default";
20*8d13bc63SEmmanuel Vadot		pinctrl-0 = <&bl_en>;
21*8d13bc63SEmmanuel Vadot		power-supply = <&vcc12v_dcin>;
22*8d13bc63SEmmanuel Vadot		pwms = <&pwm2 0 25000 0>;
23*8d13bc63SEmmanuel Vadot	};
24*8d13bc63SEmmanuel Vadot
25*8d13bc63SEmmanuel Vadot	leds: leds {
26*8d13bc63SEmmanuel Vadot		compatible = "gpio-leds";
27*8d13bc63SEmmanuel Vadot
28*8d13bc63SEmmanuel Vadot		green_led: led-0 {
29*8d13bc63SEmmanuel Vadot			color = <LED_COLOR_ID_GREEN>;
30*8d13bc63SEmmanuel Vadot			function = LED_FUNCTION_STATUS;
31*8d13bc63SEmmanuel Vadot			gpios = <&gpio3 RK_PB7 GPIO_ACTIVE_HIGH>;
32*8d13bc63SEmmanuel Vadot			linux,default-trigger = "heartbeat";
33*8d13bc63SEmmanuel Vadot		};
34*8d13bc63SEmmanuel Vadot	};
35*8d13bc63SEmmanuel Vadot
36*8d13bc63SEmmanuel Vadot	vcc12v_dcin: vcc12v-dcin-regulator {
37*8d13bc63SEmmanuel Vadot		compatible = "regulator-fixed";
38*8d13bc63SEmmanuel Vadot		regulator-name = "vcc12v_dcin";
39*8d13bc63SEmmanuel Vadot		regulator-always-on;
40*8d13bc63SEmmanuel Vadot		regulator-boot-on;
41*8d13bc63SEmmanuel Vadot		regulator-min-microvolt = <12000000>;
42*8d13bc63SEmmanuel Vadot		regulator-max-microvolt = <12000000>;
43*8d13bc63SEmmanuel Vadot	};
44*8d13bc63SEmmanuel Vadot
45*8d13bc63SEmmanuel Vadot	vcc5v0_sys: vcc5v0-sys-regulator {
46*8d13bc63SEmmanuel Vadot		compatible = "regulator-fixed";
47*8d13bc63SEmmanuel Vadot		regulator-name = "vcc5v0_sys";
48*8d13bc63SEmmanuel Vadot		regulator-always-on;
49*8d13bc63SEmmanuel Vadot		regulator-boot-on;
50*8d13bc63SEmmanuel Vadot		regulator-min-microvolt = <5000000>;
51*8d13bc63SEmmanuel Vadot		regulator-max-microvolt = <5000000>;
52*8d13bc63SEmmanuel Vadot		vin-supply = <&vcc12v_dcin>;
53*8d13bc63SEmmanuel Vadot	};
54*8d13bc63SEmmanuel Vadot
55*8d13bc63SEmmanuel Vadot	vcc3v3_sys: vcc3v3-sys-regulator {
56*8d13bc63SEmmanuel Vadot		compatible = "regulator-fixed";
57*8d13bc63SEmmanuel Vadot		regulator-name = "vcc3v3_sys";
58*8d13bc63SEmmanuel Vadot		regulator-always-on;
59*8d13bc63SEmmanuel Vadot		regulator-boot-on;
60*8d13bc63SEmmanuel Vadot		regulator-min-microvolt = <3300000>;
61*8d13bc63SEmmanuel Vadot		regulator-max-microvolt = <3300000>;
62*8d13bc63SEmmanuel Vadot		vin-supply = <&vcc12v_dcin>;
63*8d13bc63SEmmanuel Vadot	};
64*8d13bc63SEmmanuel Vadot
65*8d13bc63SEmmanuel Vadot	vcc3v3_lcd: vcc3v3-lcd-regulator {
66*8d13bc63SEmmanuel Vadot		compatible = "regulator-fixed";
67*8d13bc63SEmmanuel Vadot		regulator-name = "vcc3v3_lcd";
68*8d13bc63SEmmanuel Vadot		enable-active-high;
69*8d13bc63SEmmanuel Vadot		gpio = <&gpio1 RK_PC4 GPIO_ACTIVE_HIGH>;
70*8d13bc63SEmmanuel Vadot		pinctrl-names = "default";
71*8d13bc63SEmmanuel Vadot		pinctrl-0 = <&lcdpwr_en>;
72*8d13bc63SEmmanuel Vadot		vin-supply = <&vcc3v3_sys>;
73*8d13bc63SEmmanuel Vadot	};
74*8d13bc63SEmmanuel Vadot
75*8d13bc63SEmmanuel Vadot	vcc5v0_usb_host1: vcc5v0_usb_host2: vcc5v0-usb-host-regulator {
76*8d13bc63SEmmanuel Vadot		compatible = "regulator-fixed";
77*8d13bc63SEmmanuel Vadot		regulator-name = "vcc5v0_host";
78*8d13bc63SEmmanuel Vadot		regulator-boot-on;
79*8d13bc63SEmmanuel Vadot		regulator-always-on;
80*8d13bc63SEmmanuel Vadot		enable-active-high;
81*8d13bc63SEmmanuel Vadot		regulator-min-microvolt = <5000000>;
82*8d13bc63SEmmanuel Vadot		regulator-max-microvolt = <5000000>;
83*8d13bc63SEmmanuel Vadot		gpio = <&gpio1 RK_PD5 GPIO_ACTIVE_HIGH>;
84*8d13bc63SEmmanuel Vadot		pinctrl-names = "default";
85*8d13bc63SEmmanuel Vadot		pinctrl-0 = <&usb_host_pwren>;
86*8d13bc63SEmmanuel Vadot		vin-supply = <&vcc5v0_sys>;
87*8d13bc63SEmmanuel Vadot	};
88*8d13bc63SEmmanuel Vadot
89*8d13bc63SEmmanuel Vadot	vcc5v0_usb30_otg: vcc5v0-usb30-otg-regulator {
90*8d13bc63SEmmanuel Vadot		compatible = "regulator-fixed";
91*8d13bc63SEmmanuel Vadot		regulator-name = "vcc5v0_otg";
92*8d13bc63SEmmanuel Vadot		regulator-boot-on;
93*8d13bc63SEmmanuel Vadot		regulator-always-on;
94*8d13bc63SEmmanuel Vadot		enable-active-high;
95*8d13bc63SEmmanuel Vadot		regulator-min-microvolt = <5000000>;
96*8d13bc63SEmmanuel Vadot		regulator-max-microvolt = <5000000>;
97*8d13bc63SEmmanuel Vadot		gpios = <&gpio0 RK_PA0 GPIO_ACTIVE_HIGH>;
98*8d13bc63SEmmanuel Vadot		pinctrl-names = "default";
99*8d13bc63SEmmanuel Vadot		pinctrl-0 = <&usb_otg_pwren>;
100*8d13bc63SEmmanuel Vadot		vin-supply = <&vcc5v0_sys>;
101*8d13bc63SEmmanuel Vadot	};
102*8d13bc63SEmmanuel Vadot};
103*8d13bc63SEmmanuel Vadot
104*8d13bc63SEmmanuel Vadot/* M.2 E-Key */
105*8d13bc63SEmmanuel Vadot&pcie2x1l1 {
106*8d13bc63SEmmanuel Vadot	reset-gpios = <&gpio4 RK_PA2 GPIO_ACTIVE_HIGH>;
107*8d13bc63SEmmanuel Vadot	vpcie3v3-supply = <&vcc3v3_sys>;
108*8d13bc63SEmmanuel Vadot	pinctrl-names = "default";
109*8d13bc63SEmmanuel Vadot	pinctrl-0 = <&pcie_clkreq &pcie_wake &pcie_rst &wifi_pwron &bt_pwron>;
110*8d13bc63SEmmanuel Vadot	status = "okay";
111*8d13bc63SEmmanuel Vadot};
112*8d13bc63SEmmanuel Vadot
113*8d13bc63SEmmanuel Vadot&pcie30phy {
114*8d13bc63SEmmanuel Vadot	status = "okay";
115*8d13bc63SEmmanuel Vadot};
116*8d13bc63SEmmanuel Vadot
117*8d13bc63SEmmanuel Vadot/* Standard pcie */
118*8d13bc63SEmmanuel Vadot&pcie3x2 {
119*8d13bc63SEmmanuel Vadot	reset-gpios = <&gpio3 RK_PB0 GPIO_ACTIVE_HIGH>;
120*8d13bc63SEmmanuel Vadot	vpcie3v3-supply = <&vcc3v3_sys>;
121*8d13bc63SEmmanuel Vadot	status = "okay";
122*8d13bc63SEmmanuel Vadot};
123*8d13bc63SEmmanuel Vadot
124*8d13bc63SEmmanuel Vadot/* M.2 M-Key ssd */
125*8d13bc63SEmmanuel Vadot&pcie3x4 {
126*8d13bc63SEmmanuel Vadot	num-lanes = <2>;
127*8d13bc63SEmmanuel Vadot	reset-gpios = <&gpio4 RK_PB6 GPIO_ACTIVE_HIGH>;
128*8d13bc63SEmmanuel Vadot	vpcie3v3-supply = <&vcc3v3_sys>;
129*8d13bc63SEmmanuel Vadot	status = "okay";
130*8d13bc63SEmmanuel Vadot};
131*8d13bc63SEmmanuel Vadot
132*8d13bc63SEmmanuel Vadot&pinctrl {
133*8d13bc63SEmmanuel Vadot	lcd {
134*8d13bc63SEmmanuel Vadot		lcdpwr_en: lcdpwr-en {
135*8d13bc63SEmmanuel Vadot			rockchip,pins = <1 RK_PC4 RK_FUNC_GPIO &pcfg_pull_down>;
136*8d13bc63SEmmanuel Vadot		};
137*8d13bc63SEmmanuel Vadot
138*8d13bc63SEmmanuel Vadot		bl_en: bl-en {
139*8d13bc63SEmmanuel Vadot			rockchip,pins = <4 RK_PA3 RK_FUNC_GPIO &pcfg_pull_none>;
140*8d13bc63SEmmanuel Vadot		};
141*8d13bc63SEmmanuel Vadot	};
142*8d13bc63SEmmanuel Vadot
143*8d13bc63SEmmanuel Vadot	usb {
144*8d13bc63SEmmanuel Vadot		usb_host_pwren: usb-host-pwren {
145*8d13bc63SEmmanuel Vadot			rockchip,pins = <1 RK_PD5 RK_FUNC_GPIO &pcfg_pull_up>;
146*8d13bc63SEmmanuel Vadot		};
147*8d13bc63SEmmanuel Vadot
148*8d13bc63SEmmanuel Vadot		usb_otg_pwren: usb-otg-pwren {
149*8d13bc63SEmmanuel Vadot			rockchip,pins = <0 RK_PA0 RK_FUNC_GPIO &pcfg_pull_up>;
150*8d13bc63SEmmanuel Vadot		};
151*8d13bc63SEmmanuel Vadot	};
152*8d13bc63SEmmanuel Vadot
153*8d13bc63SEmmanuel Vadot	wifi {
154*8d13bc63SEmmanuel Vadot		bt_pwron: bt-pwron {
155*8d13bc63SEmmanuel Vadot			rockchip,pins = <3 RK_PA6 RK_FUNC_GPIO &pcfg_pull_up>;
156*8d13bc63SEmmanuel Vadot		};
157*8d13bc63SEmmanuel Vadot
158*8d13bc63SEmmanuel Vadot		pcie_clkreq: pcie-clkreq {
159*8d13bc63SEmmanuel Vadot			rockchip,pins = <4 RK_PA0 RK_FUNC_GPIO &pcfg_pull_up>;
160*8d13bc63SEmmanuel Vadot		};
161*8d13bc63SEmmanuel Vadot
162*8d13bc63SEmmanuel Vadot		pcie_rst: pcie-rst {
163*8d13bc63SEmmanuel Vadot			rockchip,pins = <4 RK_PA2 RK_FUNC_GPIO &pcfg_pull_up>;
164*8d13bc63SEmmanuel Vadot		};
165*8d13bc63SEmmanuel Vadot
166*8d13bc63SEmmanuel Vadot		wifi_pwron: wifi-pwron {
167*8d13bc63SEmmanuel Vadot			rockchip,pins = <3 RK_PB1 RK_FUNC_GPIO &pcfg_pull_up>;
168*8d13bc63SEmmanuel Vadot		};
169*8d13bc63SEmmanuel Vadot
170*8d13bc63SEmmanuel Vadot		pcie_wake: pcie-wake {
171*8d13bc63SEmmanuel Vadot			rockchip,pins = <4 RK_PA1 RK_FUNC_GPIO &pcfg_pull_up>;
172*8d13bc63SEmmanuel Vadot		};
173*8d13bc63SEmmanuel Vadot	};
174*8d13bc63SEmmanuel Vadot};
175*8d13bc63SEmmanuel Vadot
176*8d13bc63SEmmanuel Vadot&pwm2 {
177*8d13bc63SEmmanuel Vadot	status = "okay";
178*8d13bc63SEmmanuel Vadot};
179*8d13bc63SEmmanuel Vadot
180*8d13bc63SEmmanuel Vadot&sata1 {
181*8d13bc63SEmmanuel Vadot	status = "okay";
182*8d13bc63SEmmanuel Vadot};
183*8d13bc63SEmmanuel Vadot
184*8d13bc63SEmmanuel Vadot&u2phy2 {
185*8d13bc63SEmmanuel Vadot	status = "okay";
186*8d13bc63SEmmanuel Vadot};
187*8d13bc63SEmmanuel Vadot
188*8d13bc63SEmmanuel Vadot&u2phy3 {
189*8d13bc63SEmmanuel Vadot	status = "okay";
190*8d13bc63SEmmanuel Vadot};
191*8d13bc63SEmmanuel Vadot
192*8d13bc63SEmmanuel Vadot&u2phy2_host {
193*8d13bc63SEmmanuel Vadot	phy-supply = <&vcc5v0_usb_host1>;
194*8d13bc63SEmmanuel Vadot	status = "okay";
195*8d13bc63SEmmanuel Vadot};
196*8d13bc63SEmmanuel Vadot
197*8d13bc63SEmmanuel Vadot&u2phy3_host {
198*8d13bc63SEmmanuel Vadot	phy-supply = <&vcc5v0_usb_host2>;
199*8d13bc63SEmmanuel Vadot	status = "okay";
200*8d13bc63SEmmanuel Vadot};
201*8d13bc63SEmmanuel Vadot
202*8d13bc63SEmmanuel Vadot&usb_host0_ehci {
203*8d13bc63SEmmanuel Vadot	status = "okay";
204*8d13bc63SEmmanuel Vadot};
205*8d13bc63SEmmanuel Vadot
206*8d13bc63SEmmanuel Vadot&usb_host0_ohci {
207*8d13bc63SEmmanuel Vadot	status = "okay";
208*8d13bc63SEmmanuel Vadot};
209*8d13bc63SEmmanuel Vadot
210*8d13bc63SEmmanuel Vadot&usb_host1_ehci {
211*8d13bc63SEmmanuel Vadot	status = "okay";
212*8d13bc63SEmmanuel Vadot};
213*8d13bc63SEmmanuel Vadot
214*8d13bc63SEmmanuel Vadot&usb_host1_ohci {
215*8d13bc63SEmmanuel Vadot	status = "okay";
216*8d13bc63SEmmanuel Vadot};
217