1193323Sed// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2193323Sed/*
3193323Sed * Copyright (c) 2023 Rockchip Electronics Co., Ltd.
4193323Sed *
5193323Sed */
6193323Sed
7193323Sed/dts-v1/;
8193323Sed
9193323Sed#include <dt-bindings/leds/common.h>
10193323Sed#include "rk3588-coolpi-cm5.dtsi"
11193323Sed
12193323Sed/ {
13193323Sed	model = "RK3588 CoolPi CM5 EVB";
14193323Sed	compatible = "coolpi,pi-cm5-evb", "coolpi,pi-cm5", "rockchip,rk3588";
15193323Sed
16193323Sed	backlight: backlight {
17193323Sed		compatible = "pwm-backlight";
18249423Sdim		enable-gpios = <&gpio4 RK_PA3 GPIO_ACTIVE_HIGH>;
19249423Sdim		pinctrl-names = "default";
20249423Sdim		pinctrl-0 = <&bl_en>;
21239462Sdim		power-supply = <&vcc12v_dcin>;
22239462Sdim		pwms = <&pwm2 0 25000 0>;
23193323Sed	};
24193323Sed
25193323Sed	leds: leds {
26193323Sed		compatible = "gpio-leds";
27221345Sdim
28195340Sed		green_led: led-0 {
29193323Sed			color = <LED_COLOR_ID_GREEN>;
30221345Sdim			function = LED_FUNCTION_STATUS;
31221345Sdim			gpios = <&gpio3 RK_PB7 GPIO_ACTIVE_HIGH>;
32221345Sdim			linux,default-trigger = "heartbeat";
33193323Sed		};
34193323Sed	};
35193323Sed
36193323Sed	vcc12v_dcin: vcc12v-dcin-regulator {
37193323Sed		compatible = "regulator-fixed";
38243830Sdim		regulator-name = "vcc12v_dcin";
39243830Sdim		regulator-always-on;
40243830Sdim		regulator-boot-on;
41221345Sdim		regulator-min-microvolt = <12000000>;
42263508Sdim		regulator-max-microvolt = <12000000>;
43193323Sed	};
44193323Sed
45263508Sdim	vcc5v0_sys: vcc5v0-sys-regulator {
46193323Sed		compatible = "regulator-fixed";
47193323Sed		regulator-name = "vcc5v0_sys";
48193323Sed		regulator-always-on;
49193323Sed		regulator-boot-on;
50193323Sed		regulator-min-microvolt = <5000000>;
51193323Sed		regulator-max-microvolt = <5000000>;
52193323Sed		vin-supply = <&vcc12v_dcin>;
53193323Sed	};
54223017Sdim
55223017Sdim	vcc3v3_sys: vcc3v3-sys-regulator {
56223017Sdim		compatible = "regulator-fixed";
57243830Sdim		regulator-name = "vcc3v3_sys";
58243830Sdim		regulator-always-on;
59193323Sed		regulator-boot-on;
60193323Sed		regulator-min-microvolt = <3300000>;
61193323Sed		regulator-max-microvolt = <3300000>;
62193323Sed		vin-supply = <&vcc12v_dcin>;
63193323Sed	};
64193323Sed
65193323Sed	vcc3v3_lcd: vcc3v3-lcd-regulator {
66193323Sed		compatible = "regulator-fixed";
67243830Sdim		regulator-name = "vcc3v3_lcd";
68193323Sed		enable-active-high;
69193323Sed		gpio = <&gpio1 RK_PC4 GPIO_ACTIVE_HIGH>;
70193323Sed		pinctrl-names = "default";
71202375Srdivacky		pinctrl-0 = <&lcdpwr_en>;
72202375Srdivacky		vin-supply = <&vcc3v3_sys>;
73243830Sdim	};
74243830Sdim
75193323Sed	vcc5v0_usb_host1: vcc5v0_usb_host2: vcc5v0-usb-host-regulator {
76193323Sed		compatible = "regulator-fixed";
77193323Sed		regulator-name = "vcc5v0_host";
78193323Sed		regulator-boot-on;
79193323Sed		regulator-always-on;
80219077Sdim		enable-active-high;
81243830Sdim		regulator-min-microvolt = <5000000>;
82193323Sed		regulator-max-microvolt = <5000000>;
83263508Sdim		gpio = <&gpio1 RK_PD5 GPIO_ACTIVE_HIGH>;
84202375Srdivacky		pinctrl-names = "default";
85202375Srdivacky		pinctrl-0 = <&usb_host_pwren>;
86202375Srdivacky		vin-supply = <&vcc5v0_sys>;
87202375Srdivacky	};
88202375Srdivacky
89243830Sdim	vcc5v0_usb30_otg: vcc5v0-usb30-otg-regulator {
90243830Sdim		compatible = "regulator-fixed";
91263508Sdim		regulator-name = "vcc5v0_otg";
92193323Sed		regulator-boot-on;
93193323Sed		regulator-always-on;
94193323Sed		enable-active-high;
95193323Sed		regulator-min-microvolt = <5000000>;
96199481Srdivacky		regulator-max-microvolt = <5000000>;
97199481Srdivacky		gpios = <&gpio0 RK_PA0 GPIO_ACTIVE_HIGH>;
98199481Srdivacky		pinctrl-names = "default";
99199481Srdivacky		pinctrl-0 = <&usb_otg_pwren>;
100199481Srdivacky		vin-supply = <&vcc5v0_sys>;
101199481Srdivacky	};
102199481Srdivacky};
103199481Srdivacky
104199481Srdivacky/* M.2 E-Key */
105199481Srdivacky&pcie2x1l1 {
106199481Srdivacky	reset-gpios = <&gpio4 RK_PA2 GPIO_ACTIVE_HIGH>;
107199481Srdivacky	vpcie3v3-supply = <&vcc3v3_sys>;
108243830Sdim	pinctrl-names = "default";
109263508Sdim	pinctrl-0 = <&pcie_clkreq &pcie_wake &pcie_rst &wifi_pwron &bt_pwron>;
110263508Sdim	status = "okay";
111193323Sed};
112193323Sed
113193323Sed&pcie30phy {
114193323Sed	status = "okay";
115193323Sed};
116198090Srdivacky
117199481Srdivacky/* Standard pcie */
118263508Sdim&pcie3x2 {
119199481Srdivacky	reset-gpios = <&gpio3 RK_PB0 GPIO_ACTIVE_HIGH>;
120199481Srdivacky	vpcie3v3-supply = <&vcc3v3_sys>;
121199481Srdivacky	status = "okay";
122199481Srdivacky};
123199481Srdivacky
124199481Srdivacky/* M.2 M-Key ssd */
125199511Srdivacky&pcie3x4 {
126199511Srdivacky	num-lanes = <2>;
127199511Srdivacky	reset-gpios = <&gpio4 RK_PB6 GPIO_ACTIVE_HIGH>;
128199511Srdivacky	vpcie3v3-supply = <&vcc3v3_sys>;
129199511Srdivacky	status = "okay";
130199511Srdivacky};
131199511Srdivacky
132199511Srdivacky&pinctrl {
133193323Sed	lcd {
134193323Sed		lcdpwr_en: lcdpwr-en {
135193323Sed			rockchip,pins = <1 RK_PC4 RK_FUNC_GPIO &pcfg_pull_down>;
136193323Sed		};
137193323Sed
138193323Sed		bl_en: bl-en {
139249423Sdim			rockchip,pins = <4 RK_PA3 RK_FUNC_GPIO &pcfg_pull_none>;
140249423Sdim		};
141193323Sed	};
142263508Sdim
143263508Sdim	usb {
144263508Sdim		usb_host_pwren: usb-host-pwren {
145263508Sdim			rockchip,pins = <1 RK_PD5 RK_FUNC_GPIO &pcfg_pull_up>;
146263508Sdim		};
147263508Sdim
148195340Sed		usb_otg_pwren: usb-otg-pwren {
149195340Sed			rockchip,pins = <0 RK_PA0 RK_FUNC_GPIO &pcfg_pull_up>;
150195340Sed		};
151195340Sed	};
152195340Sed
153195340Sed	wifi {
154193323Sed		bt_pwron: bt-pwron {
155193323Sed			rockchip,pins = <3 RK_PA6 RK_FUNC_GPIO &pcfg_pull_up>;
156193323Sed		};
157193323Sed
158193323Sed		pcie_clkreq: pcie-clkreq {
159193323Sed			rockchip,pins = <4 RK_PA0 RK_FUNC_GPIO &pcfg_pull_up>;
160198090Srdivacky		};
161198090Srdivacky
162193323Sed		pcie_rst: pcie-rst {
163193323Sed			rockchip,pins = <4 RK_PA2 RK_FUNC_GPIO &pcfg_pull_up>;
164193323Sed		};
165193323Sed
166263508Sdim		wifi_pwron: wifi-pwron {
167193323Sed			rockchip,pins = <3 RK_PB1 RK_FUNC_GPIO &pcfg_pull_up>;
168193323Sed		};
169218893Sdim
170218893Sdim		pcie_wake: pcie-wake {
171218893Sdim			rockchip,pins = <4 RK_PA1 RK_FUNC_GPIO &pcfg_pull_up>;
172218893Sdim		};
173218893Sdim	};
174243830Sdim};
175218893Sdim
176218893Sdim&pwm2 {
177243830Sdim	status = "okay";
178218893Sdim};
179218893Sdim
180218893Sdim&sata1 {
181239462Sdim	status = "okay";
182239462Sdim};
183239462Sdim
184239462Sdim&u2phy2 {
185239462Sdim	status = "okay";
186239462Sdim};
187243830Sdim
188239462Sdim&u2phy3 {
189263508Sdim	status = "okay";
190263508Sdim};
191239462Sdim
192239462Sdim&u2phy2_host {
193239462Sdim	phy-supply = <&vcc5v0_usb_host1>;
194239462Sdim	status = "okay";
195263508Sdim};
196239462Sdim
197239462Sdim&u2phy3_host {
198263508Sdim	phy-supply = <&vcc5v0_usb_host2>;
199263508Sdim	status = "okay";
200239462Sdim};
201263508Sdim
202239462Sdim&usb_host0_ehci {
203239462Sdim	status = "okay";
204239462Sdim};
205239462Sdim
206263508Sdim&usb_host0_ohci {
207263508Sdim	status = "okay";
208263508Sdim};
209239462Sdim
210239462Sdim&usb_host1_ehci {
211239462Sdim	status = "okay";
212263508Sdim};
213263508Sdim
214239462Sdim&usb_host1_ohci {
215263508Sdim	status = "okay";
216263508Sdim};
217263508Sdim