xref: /freebsd/sys/contrib/device-tree/src/arm64/rockchip/rk3568-qnap-ts433.dts (revision b2d2a78ad80ec68d4a17f5aef97d21686cb1e29b)
101950c46SEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
201950c46SEmmanuel Vadot/*
301950c46SEmmanuel Vadot * Copyright (c) 2021 Rockchip Electronics Co., Ltd.
401950c46SEmmanuel Vadot * Copyright (c) 2024 Uwe Kleine-König
501950c46SEmmanuel Vadot */
601950c46SEmmanuel Vadot
701950c46SEmmanuel Vadot/dts-v1/;
801950c46SEmmanuel Vadot
9*b2d2a78aSEmmanuel Vadot#include <dt-bindings/input/input.h>
10*b2d2a78aSEmmanuel Vadot#include <dt-bindings/leds/common.h>
1101950c46SEmmanuel Vadot#include <dt-bindings/gpio/gpio.h>
1201950c46SEmmanuel Vadot#include "rk3568.dtsi"
1301950c46SEmmanuel Vadot
1401950c46SEmmanuel Vadot/ {
1501950c46SEmmanuel Vadot	model = "Qnap TS-433-4G NAS System 4-Bay";
1601950c46SEmmanuel Vadot	compatible = "qnap,ts433", "rockchip,rk3568";
17*b2d2a78aSEmmanuel Vadot
18*b2d2a78aSEmmanuel Vadot	aliases {
19*b2d2a78aSEmmanuel Vadot		ethernet0 = &gmac0;
20*b2d2a78aSEmmanuel Vadot		mmc0 = &sdhci;
21*b2d2a78aSEmmanuel Vadot		rtc0 = &rtc_rv8263;
22*b2d2a78aSEmmanuel Vadot	};
23*b2d2a78aSEmmanuel Vadot
24*b2d2a78aSEmmanuel Vadot	chosen {
25*b2d2a78aSEmmanuel Vadot		stdout-path = "serial2:115200n8";
26*b2d2a78aSEmmanuel Vadot	};
27*b2d2a78aSEmmanuel Vadot
28*b2d2a78aSEmmanuel Vadot	keys {
29*b2d2a78aSEmmanuel Vadot		compatible = "gpio-keys";
30*b2d2a78aSEmmanuel Vadot		pinctrl-0 = <&copy_button_pin>, <&reset_button_pin>;
31*b2d2a78aSEmmanuel Vadot		pinctrl-names = "default";
32*b2d2a78aSEmmanuel Vadot
33*b2d2a78aSEmmanuel Vadot		key-copy {
34*b2d2a78aSEmmanuel Vadot			label = "copy";
35*b2d2a78aSEmmanuel Vadot			gpios = <&gpio0 RK_PB6 GPIO_ACTIVE_LOW>;
36*b2d2a78aSEmmanuel Vadot			linux,code = <KEY_COPY>;
37*b2d2a78aSEmmanuel Vadot		};
38*b2d2a78aSEmmanuel Vadot
39*b2d2a78aSEmmanuel Vadot		key-reset {
40*b2d2a78aSEmmanuel Vadot			label = "reset";
41*b2d2a78aSEmmanuel Vadot			gpios = <&gpio0 RK_PB5 GPIO_ACTIVE_LOW>;
42*b2d2a78aSEmmanuel Vadot			linux,code = <KEY_RESTART>;
43*b2d2a78aSEmmanuel Vadot		};
44*b2d2a78aSEmmanuel Vadot	};
45*b2d2a78aSEmmanuel Vadot
46*b2d2a78aSEmmanuel Vadot	leds {
47*b2d2a78aSEmmanuel Vadot		compatible = "gpio-leds";
48*b2d2a78aSEmmanuel Vadot
49*b2d2a78aSEmmanuel Vadot		led-0 {
50*b2d2a78aSEmmanuel Vadot			color = <LED_COLOR_ID_GREEN>;
51*b2d2a78aSEmmanuel Vadot			function = LED_FUNCTION_DISK;
52*b2d2a78aSEmmanuel Vadot			gpios = <&gpio1 RK_PD5 GPIO_ACTIVE_LOW>;
53*b2d2a78aSEmmanuel Vadot			linux,default-trigger = "disk-activity";
54*b2d2a78aSEmmanuel Vadot			pinctrl-names = "default";
55*b2d2a78aSEmmanuel Vadot			pinctrl-0 = <&hdd1_led_pin>;
56*b2d2a78aSEmmanuel Vadot		};
57*b2d2a78aSEmmanuel Vadot
58*b2d2a78aSEmmanuel Vadot		led-1 {
59*b2d2a78aSEmmanuel Vadot			color = <LED_COLOR_ID_GREEN>;
60*b2d2a78aSEmmanuel Vadot			function = LED_FUNCTION_DISK;
61*b2d2a78aSEmmanuel Vadot			gpios = <&gpio1 RK_PD6 GPIO_ACTIVE_LOW>;
62*b2d2a78aSEmmanuel Vadot			linux,default-trigger = "disk-activity";
63*b2d2a78aSEmmanuel Vadot			pinctrl-names = "default";
64*b2d2a78aSEmmanuel Vadot			pinctrl-0 = <&hdd2_led_pin>;
65*b2d2a78aSEmmanuel Vadot		};
66*b2d2a78aSEmmanuel Vadot
67*b2d2a78aSEmmanuel Vadot		led-2 {
68*b2d2a78aSEmmanuel Vadot			color = <LED_COLOR_ID_GREEN>;
69*b2d2a78aSEmmanuel Vadot			function = LED_FUNCTION_DISK;
70*b2d2a78aSEmmanuel Vadot			gpios = <&gpio1 RK_PD7 GPIO_ACTIVE_LOW>;
71*b2d2a78aSEmmanuel Vadot			linux,default-trigger = "disk-activity";
72*b2d2a78aSEmmanuel Vadot			pinctrl-names = "default";
73*b2d2a78aSEmmanuel Vadot			pinctrl-0 = <&hdd3_led_pin>;
74*b2d2a78aSEmmanuel Vadot		};
75*b2d2a78aSEmmanuel Vadot
76*b2d2a78aSEmmanuel Vadot		led-3 {
77*b2d2a78aSEmmanuel Vadot			color = <LED_COLOR_ID_GREEN>;
78*b2d2a78aSEmmanuel Vadot			function = LED_FUNCTION_DISK;
79*b2d2a78aSEmmanuel Vadot			gpios = <&gpio2 RK_PA0 GPIO_ACTIVE_LOW>;
80*b2d2a78aSEmmanuel Vadot			linux,default-trigger = "disk-activity";
81*b2d2a78aSEmmanuel Vadot			pinctrl-names = "default";
82*b2d2a78aSEmmanuel Vadot			pinctrl-0 = <&hdd4_led_pin>;
83*b2d2a78aSEmmanuel Vadot		};
84*b2d2a78aSEmmanuel Vadot	};
85*b2d2a78aSEmmanuel Vadot
86*b2d2a78aSEmmanuel Vadot	dc_12v: regulator-dc-12v {
87*b2d2a78aSEmmanuel Vadot		compatible = "regulator-fixed";
88*b2d2a78aSEmmanuel Vadot		regulator-name = "dc_12v";
89*b2d2a78aSEmmanuel Vadot		regulator-always-on;
90*b2d2a78aSEmmanuel Vadot		regulator-boot-on;
91*b2d2a78aSEmmanuel Vadot		regulator-min-microvolt = <12000000>;
92*b2d2a78aSEmmanuel Vadot		regulator-max-microvolt = <12000000>;
93*b2d2a78aSEmmanuel Vadot	};
94*b2d2a78aSEmmanuel Vadot
95*b2d2a78aSEmmanuel Vadot	vcc3v3_pcie: regulator-vcc3v3-pcie {
96*b2d2a78aSEmmanuel Vadot		compatible = "regulator-fixed";
97*b2d2a78aSEmmanuel Vadot		regulator-name = "vcc3v3_pcie";
98*b2d2a78aSEmmanuel Vadot		regulator-min-microvolt = <3300000>;
99*b2d2a78aSEmmanuel Vadot		regulator-max-microvolt = <3300000>;
100*b2d2a78aSEmmanuel Vadot		enable-active-high;
101*b2d2a78aSEmmanuel Vadot		gpios = <&gpio0 RK_PD4 GPIO_ACTIVE_HIGH>;
102*b2d2a78aSEmmanuel Vadot		vin-supply = <&dc_12v>;
103*b2d2a78aSEmmanuel Vadot	};
104*b2d2a78aSEmmanuel Vadot
105*b2d2a78aSEmmanuel Vadot	vcc3v3_sys: regulator-vcc3v3-sys {
106*b2d2a78aSEmmanuel Vadot		compatible = "regulator-fixed";
107*b2d2a78aSEmmanuel Vadot		regulator-name = "vcc3v3_sys";
108*b2d2a78aSEmmanuel Vadot		regulator-always-on;
109*b2d2a78aSEmmanuel Vadot		regulator-boot-on;
110*b2d2a78aSEmmanuel Vadot		regulator-min-microvolt = <3300000>;
111*b2d2a78aSEmmanuel Vadot		regulator-max-microvolt = <3300000>;
112*b2d2a78aSEmmanuel Vadot		vin-supply = <&dc_12v>;
113*b2d2a78aSEmmanuel Vadot	};
114*b2d2a78aSEmmanuel Vadot
115*b2d2a78aSEmmanuel Vadot	vcc5v0_host: regulator-vcc5v0-host {
116*b2d2a78aSEmmanuel Vadot		compatible = "regulator-fixed";
117*b2d2a78aSEmmanuel Vadot		enable-active-high;
118*b2d2a78aSEmmanuel Vadot		pinctrl-names = "default";
119*b2d2a78aSEmmanuel Vadot		pinctrl-0 = <&vcc5v0_host_en>;
120*b2d2a78aSEmmanuel Vadot		gpio = <&gpio0 RK_PA6 GPIO_ACTIVE_HIGH>;
121*b2d2a78aSEmmanuel Vadot		regulator-name = "vcc5v0_host";
122*b2d2a78aSEmmanuel Vadot		regulator-always-on;
123*b2d2a78aSEmmanuel Vadot		regulator-boot-on;
124*b2d2a78aSEmmanuel Vadot		regulator-min-microvolt = <5000000>;
125*b2d2a78aSEmmanuel Vadot		regulator-max-microvolt = <5000000>;
126*b2d2a78aSEmmanuel Vadot		vin-supply = <&vcc5v0_usb>;
127*b2d2a78aSEmmanuel Vadot	};
128*b2d2a78aSEmmanuel Vadot
129*b2d2a78aSEmmanuel Vadot	vcc5v0_otg: regulator-vcc5v0-otg {
130*b2d2a78aSEmmanuel Vadot		compatible = "regulator-fixed";
131*b2d2a78aSEmmanuel Vadot		enable-active-high;
132*b2d2a78aSEmmanuel Vadot		gpio = <&gpio0 RK_PA5 GPIO_ACTIVE_HIGH>;
133*b2d2a78aSEmmanuel Vadot		pinctrl-names = "default";
134*b2d2a78aSEmmanuel Vadot		pinctrl-0 = <&vcc5v0_otg_en>;
135*b2d2a78aSEmmanuel Vadot		regulator-name = "vcc5v0_otg";
136*b2d2a78aSEmmanuel Vadot		regulator-always-on;
137*b2d2a78aSEmmanuel Vadot		regulator-boot-on;
138*b2d2a78aSEmmanuel Vadot		regulator-min-microvolt = <5000000>;
139*b2d2a78aSEmmanuel Vadot		regulator-max-microvolt = <5000000>;
140*b2d2a78aSEmmanuel Vadot		vin-supply = <&vcc5v0_usb>;
141*b2d2a78aSEmmanuel Vadot	};
142*b2d2a78aSEmmanuel Vadot
143*b2d2a78aSEmmanuel Vadot	vcc5v0_sys: regulator-vcc5v0-sys {
144*b2d2a78aSEmmanuel Vadot		compatible = "regulator-fixed";
145*b2d2a78aSEmmanuel Vadot		regulator-name = "vcc5v0_sys";
146*b2d2a78aSEmmanuel Vadot		regulator-always-on;
147*b2d2a78aSEmmanuel Vadot		regulator-boot-on;
148*b2d2a78aSEmmanuel Vadot		regulator-min-microvolt = <5000000>;
149*b2d2a78aSEmmanuel Vadot		regulator-max-microvolt = <5000000>;
150*b2d2a78aSEmmanuel Vadot		vin-supply = <&dc_12v>;
151*b2d2a78aSEmmanuel Vadot	};
152*b2d2a78aSEmmanuel Vadot
153*b2d2a78aSEmmanuel Vadot	vcc5v0_usb: regulator-vcc5v0-usb {
154*b2d2a78aSEmmanuel Vadot		compatible = "regulator-fixed";
155*b2d2a78aSEmmanuel Vadot		regulator-name = "vcc5v0_usb";
156*b2d2a78aSEmmanuel Vadot		regulator-always-on;
157*b2d2a78aSEmmanuel Vadot		regulator-boot-on;
158*b2d2a78aSEmmanuel Vadot		regulator-min-microvolt = <5000000>;
159*b2d2a78aSEmmanuel Vadot		regulator-max-microvolt = <5000000>;
160*b2d2a78aSEmmanuel Vadot		vin-supply = <&dc_12v>;
161*b2d2a78aSEmmanuel Vadot	};
162*b2d2a78aSEmmanuel Vadot};
163*b2d2a78aSEmmanuel Vadot
164*b2d2a78aSEmmanuel Vadot/* connected to usb_host0_xhci */
165*b2d2a78aSEmmanuel Vadot&combphy0 {
166*b2d2a78aSEmmanuel Vadot	status = "okay";
167*b2d2a78aSEmmanuel Vadot};
168*b2d2a78aSEmmanuel Vadot
169*b2d2a78aSEmmanuel Vadot/* connected to sata1 */
170*b2d2a78aSEmmanuel Vadot&combphy1 {
171*b2d2a78aSEmmanuel Vadot	status = "okay";
172*b2d2a78aSEmmanuel Vadot};
173*b2d2a78aSEmmanuel Vadot
174*b2d2a78aSEmmanuel Vadot/* connected to sata2 */
175*b2d2a78aSEmmanuel Vadot&combphy2 {
176*b2d2a78aSEmmanuel Vadot	status = "okay";
177*b2d2a78aSEmmanuel Vadot};
178*b2d2a78aSEmmanuel Vadot
179*b2d2a78aSEmmanuel Vadot&cpu0 {
180*b2d2a78aSEmmanuel Vadot	cpu-supply = <&vdd_cpu>;
181*b2d2a78aSEmmanuel Vadot};
182*b2d2a78aSEmmanuel Vadot
183*b2d2a78aSEmmanuel Vadot&cpu1 {
184*b2d2a78aSEmmanuel Vadot	cpu-supply = <&vdd_cpu>;
185*b2d2a78aSEmmanuel Vadot};
186*b2d2a78aSEmmanuel Vadot
187*b2d2a78aSEmmanuel Vadot&cpu2 {
188*b2d2a78aSEmmanuel Vadot	cpu-supply = <&vdd_cpu>;
189*b2d2a78aSEmmanuel Vadot};
190*b2d2a78aSEmmanuel Vadot
191*b2d2a78aSEmmanuel Vadot&cpu3 {
192*b2d2a78aSEmmanuel Vadot	cpu-supply = <&vdd_cpu>;
19301950c46SEmmanuel Vadot};
19401950c46SEmmanuel Vadot
19501950c46SEmmanuel Vadot&gmac0 {
19601950c46SEmmanuel Vadot	assigned-clocks = <&cru SCLK_GMAC0_RX_TX>, <&cru SCLK_GMAC0>;
19701950c46SEmmanuel Vadot	assigned-clock-parents = <&cru SCLK_GMAC0_RGMII_SPEED>, <&cru CLK_MAC0_2TOP>;
19801950c46SEmmanuel Vadot	assigned-clock-rates = <0>, <125000000>;
19901950c46SEmmanuel Vadot	clock_in_out = "output";
20001950c46SEmmanuel Vadot	phy-handle = <&rgmii_phy0>;
201*b2d2a78aSEmmanuel Vadot	phy-mode = "rgmii-id";
20201950c46SEmmanuel Vadot	pinctrl-names = "default";
20301950c46SEmmanuel Vadot	pinctrl-0 = <&gmac0_miim
20401950c46SEmmanuel Vadot		     &gmac0_tx_bus2
20501950c46SEmmanuel Vadot		     &gmac0_rx_bus2
20601950c46SEmmanuel Vadot		     &gmac0_rgmii_clk
20701950c46SEmmanuel Vadot		     &gmac0_rgmii_bus>;
208*b2d2a78aSEmmanuel Vadot	status = "okay";
209*b2d2a78aSEmmanuel Vadot};
210*b2d2a78aSEmmanuel Vadot
211*b2d2a78aSEmmanuel Vadot&gpu {
212*b2d2a78aSEmmanuel Vadot	mali-supply = <&vdd_gpu>;
21301950c46SEmmanuel Vadot	status = "okay";
21401950c46SEmmanuel Vadot};
21501950c46SEmmanuel Vadot
21601950c46SEmmanuel Vadot&i2c0 {
217*b2d2a78aSEmmanuel Vadot	status = "okay";
218*b2d2a78aSEmmanuel Vadot
21901950c46SEmmanuel Vadot	pmic@20 {
22001950c46SEmmanuel Vadot		compatible = "rockchip,rk809";
22101950c46SEmmanuel Vadot		reg = <0x20>;
22201950c46SEmmanuel Vadot		interrupt-parent = <&gpio0>;
223*b2d2a78aSEmmanuel Vadot		interrupts = <RK_PA3 IRQ_TYPE_LEVEL_LOW>;
224*b2d2a78aSEmmanuel Vadot		#clock-cells = <1>;
225*b2d2a78aSEmmanuel Vadot		pinctrl-names = "default";
226*b2d2a78aSEmmanuel Vadot		pinctrl-0 = <&pmic_int_l>;
227*b2d2a78aSEmmanuel Vadot		system-power-controller;
228*b2d2a78aSEmmanuel Vadot		vcc1-supply = <&vcc3v3_sys>;
229*b2d2a78aSEmmanuel Vadot		vcc2-supply = <&vcc3v3_sys>;
230*b2d2a78aSEmmanuel Vadot		vcc3-supply = <&vcc3v3_sys>;
231*b2d2a78aSEmmanuel Vadot		vcc4-supply = <&vcc3v3_sys>;
232*b2d2a78aSEmmanuel Vadot		vcc5-supply = <&vcc3v3_sys>;
233*b2d2a78aSEmmanuel Vadot		vcc6-supply = <&vcc3v3_sys>;
234*b2d2a78aSEmmanuel Vadot		vcc7-supply = <&vcc3v3_sys>;
235*b2d2a78aSEmmanuel Vadot		vcc8-supply = <&vcc3v3_sys>;
236*b2d2a78aSEmmanuel Vadot		vcc9-supply = <&vcc3v3_sys>;
237*b2d2a78aSEmmanuel Vadot		wakeup-source;
238*b2d2a78aSEmmanuel Vadot
239*b2d2a78aSEmmanuel Vadot		regulators {
240*b2d2a78aSEmmanuel Vadot			vdd_logic: DCDC_REG1 {
241*b2d2a78aSEmmanuel Vadot				regulator-name = "vdd_logic";
242*b2d2a78aSEmmanuel Vadot				regulator-always-on;
243*b2d2a78aSEmmanuel Vadot				regulator-boot-on;
244*b2d2a78aSEmmanuel Vadot				regulator-initial-mode = <0x2>;
245*b2d2a78aSEmmanuel Vadot				regulator-min-microvolt = <500000>;
246*b2d2a78aSEmmanuel Vadot				regulator-max-microvolt = <1350000>;
247*b2d2a78aSEmmanuel Vadot				regulator-ramp-delay = <6001>;
248*b2d2a78aSEmmanuel Vadot
249*b2d2a78aSEmmanuel Vadot				regulator-state-mem {
250*b2d2a78aSEmmanuel Vadot					regulator-off-in-suspend;
251*b2d2a78aSEmmanuel Vadot				};
252*b2d2a78aSEmmanuel Vadot			};
253*b2d2a78aSEmmanuel Vadot
254*b2d2a78aSEmmanuel Vadot			vdd_gpu: DCDC_REG2 {
255*b2d2a78aSEmmanuel Vadot				regulator-name = "vdd_gpu";
256*b2d2a78aSEmmanuel Vadot				regulator-always-on;
257*b2d2a78aSEmmanuel Vadot				regulator-initial-mode = <0x2>;
258*b2d2a78aSEmmanuel Vadot				regulator-min-microvolt = <500000>;
259*b2d2a78aSEmmanuel Vadot				regulator-max-microvolt = <1350000>;
260*b2d2a78aSEmmanuel Vadot				regulator-ramp-delay = <6001>;
261*b2d2a78aSEmmanuel Vadot
262*b2d2a78aSEmmanuel Vadot				regulator-state-mem {
263*b2d2a78aSEmmanuel Vadot					regulator-off-in-suspend;
264*b2d2a78aSEmmanuel Vadot				};
265*b2d2a78aSEmmanuel Vadot			};
266*b2d2a78aSEmmanuel Vadot
267*b2d2a78aSEmmanuel Vadot			vcc_ddr: DCDC_REG3 {
268*b2d2a78aSEmmanuel Vadot				regulator-name = "vcc_ddr";
269*b2d2a78aSEmmanuel Vadot				regulator-always-on;
270*b2d2a78aSEmmanuel Vadot				regulator-boot-on;
271*b2d2a78aSEmmanuel Vadot				regulator-initial-mode = <0x2>;
272*b2d2a78aSEmmanuel Vadot
273*b2d2a78aSEmmanuel Vadot				regulator-state-mem {
274*b2d2a78aSEmmanuel Vadot					regulator-on-in-suspend;
275*b2d2a78aSEmmanuel Vadot				};
276*b2d2a78aSEmmanuel Vadot			};
277*b2d2a78aSEmmanuel Vadot
278*b2d2a78aSEmmanuel Vadot			vdd_npu: DCDC_REG4 {
279*b2d2a78aSEmmanuel Vadot				regulator-name = "vdd_npu";
280*b2d2a78aSEmmanuel Vadot				regulator-initial-mode = <0x2>;
281*b2d2a78aSEmmanuel Vadot				regulator-min-microvolt = <500000>;
282*b2d2a78aSEmmanuel Vadot				regulator-max-microvolt = <1350000>;
283*b2d2a78aSEmmanuel Vadot				regulator-ramp-delay = <6001>;
284*b2d2a78aSEmmanuel Vadot
285*b2d2a78aSEmmanuel Vadot				regulator-state-mem {
286*b2d2a78aSEmmanuel Vadot					regulator-off-in-suspend;
287*b2d2a78aSEmmanuel Vadot				};
288*b2d2a78aSEmmanuel Vadot			};
289*b2d2a78aSEmmanuel Vadot
290*b2d2a78aSEmmanuel Vadot			vcc_1v8: DCDC_REG5 {
291*b2d2a78aSEmmanuel Vadot				regulator-name = "vcc_1v8";
292*b2d2a78aSEmmanuel Vadot				regulator-always-on;
293*b2d2a78aSEmmanuel Vadot				regulator-boot-on;
294*b2d2a78aSEmmanuel Vadot				regulator-min-microvolt = <1800000>;
295*b2d2a78aSEmmanuel Vadot				regulator-max-microvolt = <1800000>;
296*b2d2a78aSEmmanuel Vadot
297*b2d2a78aSEmmanuel Vadot				regulator-state-mem {
298*b2d2a78aSEmmanuel Vadot					regulator-off-in-suspend;
299*b2d2a78aSEmmanuel Vadot				};
300*b2d2a78aSEmmanuel Vadot			};
301*b2d2a78aSEmmanuel Vadot
302*b2d2a78aSEmmanuel Vadot			vdda0v9_image: LDO_REG1 {
303*b2d2a78aSEmmanuel Vadot				regulator-name = "vdda0v9_image";
304*b2d2a78aSEmmanuel Vadot				regulator-always-on;
305*b2d2a78aSEmmanuel Vadot				regulator-min-microvolt = <900000>;
306*b2d2a78aSEmmanuel Vadot				regulator-max-microvolt = <900000>;
307*b2d2a78aSEmmanuel Vadot
308*b2d2a78aSEmmanuel Vadot				regulator-state-mem {
309*b2d2a78aSEmmanuel Vadot					regulator-off-in-suspend;
310*b2d2a78aSEmmanuel Vadot				};
311*b2d2a78aSEmmanuel Vadot			};
312*b2d2a78aSEmmanuel Vadot
313*b2d2a78aSEmmanuel Vadot			vdda_0v9: LDO_REG2 {
314*b2d2a78aSEmmanuel Vadot				regulator-name = "vdda_0v9";
315*b2d2a78aSEmmanuel Vadot				regulator-always-on;
316*b2d2a78aSEmmanuel Vadot				regulator-boot-on;
317*b2d2a78aSEmmanuel Vadot				regulator-min-microvolt = <900000>;
318*b2d2a78aSEmmanuel Vadot				regulator-max-microvolt = <900000>;
319*b2d2a78aSEmmanuel Vadot
320*b2d2a78aSEmmanuel Vadot				regulator-state-mem {
321*b2d2a78aSEmmanuel Vadot					regulator-off-in-suspend;
322*b2d2a78aSEmmanuel Vadot				};
323*b2d2a78aSEmmanuel Vadot			};
324*b2d2a78aSEmmanuel Vadot
325*b2d2a78aSEmmanuel Vadot			vdda0v9_pmu: LDO_REG3 {
326*b2d2a78aSEmmanuel Vadot				regulator-name = "vdda0v9_pmu";
327*b2d2a78aSEmmanuel Vadot				regulator-always-on;
328*b2d2a78aSEmmanuel Vadot				regulator-boot-on;
329*b2d2a78aSEmmanuel Vadot				regulator-min-microvolt = <900000>;
330*b2d2a78aSEmmanuel Vadot				regulator-max-microvolt = <900000>;
331*b2d2a78aSEmmanuel Vadot
332*b2d2a78aSEmmanuel Vadot				regulator-state-mem {
333*b2d2a78aSEmmanuel Vadot					regulator-on-in-suspend;
334*b2d2a78aSEmmanuel Vadot					regulator-suspend-microvolt = <900000>;
335*b2d2a78aSEmmanuel Vadot				};
336*b2d2a78aSEmmanuel Vadot			};
337*b2d2a78aSEmmanuel Vadot
338*b2d2a78aSEmmanuel Vadot			vccio_acodec: LDO_REG4 {
339*b2d2a78aSEmmanuel Vadot				regulator-name = "vccio_acodec";
340*b2d2a78aSEmmanuel Vadot				regulator-always-on;
341*b2d2a78aSEmmanuel Vadot				regulator-boot-on;
342*b2d2a78aSEmmanuel Vadot				regulator-min-microvolt = <3300000>;
343*b2d2a78aSEmmanuel Vadot				regulator-max-microvolt = <3300000>;
344*b2d2a78aSEmmanuel Vadot
345*b2d2a78aSEmmanuel Vadot				regulator-state-mem {
346*b2d2a78aSEmmanuel Vadot					regulator-off-in-suspend;
347*b2d2a78aSEmmanuel Vadot				};
348*b2d2a78aSEmmanuel Vadot			};
349*b2d2a78aSEmmanuel Vadot
350*b2d2a78aSEmmanuel Vadot			vccio_sd: LDO_REG5 {
351*b2d2a78aSEmmanuel Vadot				regulator-name = "vccio_sd";
352*b2d2a78aSEmmanuel Vadot				regulator-min-microvolt = <1800000>;
353*b2d2a78aSEmmanuel Vadot				regulator-max-microvolt = <3300000>;
354*b2d2a78aSEmmanuel Vadot
355*b2d2a78aSEmmanuel Vadot				regulator-state-mem {
356*b2d2a78aSEmmanuel Vadot					regulator-off-in-suspend;
357*b2d2a78aSEmmanuel Vadot				};
358*b2d2a78aSEmmanuel Vadot			};
359*b2d2a78aSEmmanuel Vadot
360*b2d2a78aSEmmanuel Vadot			vcc3v3_pmu: LDO_REG6 {
361*b2d2a78aSEmmanuel Vadot				regulator-name = "vcc3v3_pmu";
362*b2d2a78aSEmmanuel Vadot				regulator-always-on;
363*b2d2a78aSEmmanuel Vadot				regulator-boot-on;
364*b2d2a78aSEmmanuel Vadot				regulator-min-microvolt = <3300000>;
365*b2d2a78aSEmmanuel Vadot				regulator-max-microvolt = <3300000>;
366*b2d2a78aSEmmanuel Vadot
367*b2d2a78aSEmmanuel Vadot				regulator-state-mem {
368*b2d2a78aSEmmanuel Vadot					regulator-on-in-suspend;
369*b2d2a78aSEmmanuel Vadot					regulator-suspend-microvolt = <3300000>;
370*b2d2a78aSEmmanuel Vadot				};
371*b2d2a78aSEmmanuel Vadot			};
372*b2d2a78aSEmmanuel Vadot
373*b2d2a78aSEmmanuel Vadot			vcca_1v8: LDO_REG7 {
374*b2d2a78aSEmmanuel Vadot				regulator-name = "vcca_1v8";
375*b2d2a78aSEmmanuel Vadot				regulator-always-on;
376*b2d2a78aSEmmanuel Vadot				regulator-boot-on;
377*b2d2a78aSEmmanuel Vadot				regulator-min-microvolt = <1800000>;
378*b2d2a78aSEmmanuel Vadot				regulator-max-microvolt = <1800000>;
379*b2d2a78aSEmmanuel Vadot
380*b2d2a78aSEmmanuel Vadot				regulator-state-mem {
381*b2d2a78aSEmmanuel Vadot					regulator-off-in-suspend;
382*b2d2a78aSEmmanuel Vadot				};
383*b2d2a78aSEmmanuel Vadot			};
384*b2d2a78aSEmmanuel Vadot
385*b2d2a78aSEmmanuel Vadot			vcca1v8_pmu: LDO_REG8 {
386*b2d2a78aSEmmanuel Vadot				regulator-name = "vcca1v8_pmu";
387*b2d2a78aSEmmanuel Vadot				regulator-always-on;
388*b2d2a78aSEmmanuel Vadot				regulator-boot-on;
389*b2d2a78aSEmmanuel Vadot				regulator-min-microvolt = <1800000>;
390*b2d2a78aSEmmanuel Vadot				regulator-max-microvolt = <1800000>;
391*b2d2a78aSEmmanuel Vadot
392*b2d2a78aSEmmanuel Vadot				regulator-state-mem {
393*b2d2a78aSEmmanuel Vadot					regulator-on-in-suspend;
394*b2d2a78aSEmmanuel Vadot					regulator-suspend-microvolt = <1800000>;
395*b2d2a78aSEmmanuel Vadot				};
396*b2d2a78aSEmmanuel Vadot			};
397*b2d2a78aSEmmanuel Vadot
398*b2d2a78aSEmmanuel Vadot			vcca1v8_image: LDO_REG9 {
399*b2d2a78aSEmmanuel Vadot				regulator-name = "vcca1v8_image";
400*b2d2a78aSEmmanuel Vadot				regulator-always-on;
401*b2d2a78aSEmmanuel Vadot				regulator-min-microvolt = <1800000>;
402*b2d2a78aSEmmanuel Vadot				regulator-max-microvolt = <1800000>;
403*b2d2a78aSEmmanuel Vadot
404*b2d2a78aSEmmanuel Vadot				regulator-state-mem {
405*b2d2a78aSEmmanuel Vadot					regulator-off-in-suspend;
406*b2d2a78aSEmmanuel Vadot				};
407*b2d2a78aSEmmanuel Vadot			};
408*b2d2a78aSEmmanuel Vadot
409*b2d2a78aSEmmanuel Vadot			vcc_3v3: SWITCH_REG1 {
410*b2d2a78aSEmmanuel Vadot				regulator-name = "vcc_3v3";
411*b2d2a78aSEmmanuel Vadot				regulator-always-on;
412*b2d2a78aSEmmanuel Vadot				regulator-boot-on;
413*b2d2a78aSEmmanuel Vadot
414*b2d2a78aSEmmanuel Vadot				regulator-state-mem {
415*b2d2a78aSEmmanuel Vadot					regulator-off-in-suspend;
416*b2d2a78aSEmmanuel Vadot				};
417*b2d2a78aSEmmanuel Vadot			};
418*b2d2a78aSEmmanuel Vadot
419*b2d2a78aSEmmanuel Vadot			vcc3v3_sd: SWITCH_REG2 {
420*b2d2a78aSEmmanuel Vadot				regulator-name = "vcc3v3_sd";
421*b2d2a78aSEmmanuel Vadot				/*
422*b2d2a78aSEmmanuel Vadot				 * turning this off, breaks access to both
423*b2d2a78aSEmmanuel Vadot				 * PCIe controllers, refclk generator perhaps
424*b2d2a78aSEmmanuel Vadot				 */
425*b2d2a78aSEmmanuel Vadot				regulator-always-on;
426*b2d2a78aSEmmanuel Vadot				regulator-boot-on;
427*b2d2a78aSEmmanuel Vadot
428*b2d2a78aSEmmanuel Vadot				regulator-state-mem {
429*b2d2a78aSEmmanuel Vadot					regulator-off-in-suspend;
430*b2d2a78aSEmmanuel Vadot				};
431*b2d2a78aSEmmanuel Vadot			};
432*b2d2a78aSEmmanuel Vadot		};
433*b2d2a78aSEmmanuel Vadot	};
434*b2d2a78aSEmmanuel Vadot
435*b2d2a78aSEmmanuel Vadot	vdd_cpu: regulator@40 {
436*b2d2a78aSEmmanuel Vadot		compatible = "silergy,syr827";
437*b2d2a78aSEmmanuel Vadot		reg = <0x40>;
438*b2d2a78aSEmmanuel Vadot		fcs,suspend-voltage-selector = <1>;
439*b2d2a78aSEmmanuel Vadot		regulator-name = "vdd_cpu";
440*b2d2a78aSEmmanuel Vadot		regulator-always-on;
441*b2d2a78aSEmmanuel Vadot		regulator-boot-on;
442*b2d2a78aSEmmanuel Vadot		regulator-min-microvolt = <712500>;
443*b2d2a78aSEmmanuel Vadot		regulator-max-microvolt = <1390000>;
444*b2d2a78aSEmmanuel Vadot		regulator-ramp-delay = <2300>;
445*b2d2a78aSEmmanuel Vadot		vin-supply = <&vcc5v0_sys>;
44601950c46SEmmanuel Vadot	};
44701950c46SEmmanuel Vadot};
44801950c46SEmmanuel Vadot
44901950c46SEmmanuel Vadot&i2c1 {
45001950c46SEmmanuel Vadot	status = "okay";
45101950c46SEmmanuel Vadot
452*b2d2a78aSEmmanuel Vadot	rtc_rv8263: rtc@51 {
45301950c46SEmmanuel Vadot		compatible = "microcrystal,rv8263";
45401950c46SEmmanuel Vadot		reg = <0x51>;
45501950c46SEmmanuel Vadot		wakeup-source;
45601950c46SEmmanuel Vadot	};
457*b2d2a78aSEmmanuel Vadot
458*b2d2a78aSEmmanuel Vadot	/* eeprom for vital-product-data on the mainboard */
459*b2d2a78aSEmmanuel Vadot	eeprom@54 {
460*b2d2a78aSEmmanuel Vadot		compatible = "giantec,gt24c04a", "atmel,24c04";
461*b2d2a78aSEmmanuel Vadot		reg = <0x54>;
462*b2d2a78aSEmmanuel Vadot		label = "VPD_MB";
463*b2d2a78aSEmmanuel Vadot		num-addresses = <2>;
464*b2d2a78aSEmmanuel Vadot		pagesize = <16>;
465*b2d2a78aSEmmanuel Vadot		read-only;
466*b2d2a78aSEmmanuel Vadot	};
467*b2d2a78aSEmmanuel Vadot
468*b2d2a78aSEmmanuel Vadot	/* eeprom for vital-product-data on the backplane */
469*b2d2a78aSEmmanuel Vadot	eeprom@56 {
470*b2d2a78aSEmmanuel Vadot		compatible = "giantec,gt24c04a", "atmel,24c04";
471*b2d2a78aSEmmanuel Vadot		reg = <0x56>;
472*b2d2a78aSEmmanuel Vadot		label = "VPD_BP";
473*b2d2a78aSEmmanuel Vadot		num-addresses = <2>;
474*b2d2a78aSEmmanuel Vadot		pagesize = <16>;
475*b2d2a78aSEmmanuel Vadot		read-only;
476*b2d2a78aSEmmanuel Vadot	};
47701950c46SEmmanuel Vadot};
47801950c46SEmmanuel Vadot
47901950c46SEmmanuel Vadot&mdio0 {
48001950c46SEmmanuel Vadot	rgmii_phy0: ethernet-phy@0 {
48101950c46SEmmanuel Vadot		compatible = "ethernet-phy-ieee802.3-c22";
48201950c46SEmmanuel Vadot		reg = <0x0>;
48301950c46SEmmanuel Vadot	};
48401950c46SEmmanuel Vadot};
48501950c46SEmmanuel Vadot
48601950c46SEmmanuel Vadot&pcie30phy {
487*b2d2a78aSEmmanuel Vadot	data-lanes = <1 2>;
48801950c46SEmmanuel Vadot	status = "okay";
48901950c46SEmmanuel Vadot};
49001950c46SEmmanuel Vadot
491*b2d2a78aSEmmanuel Vadot/* Connected to a JMicron AHCI SATA controller */
49201950c46SEmmanuel Vadot&pcie3x1 {
49301950c46SEmmanuel Vadot	reset-gpios = <&gpio0 RK_PC7 GPIO_ACTIVE_HIGH>;
494*b2d2a78aSEmmanuel Vadot	vpcie3v3-supply = <&vcc3v3_pcie>;
495*b2d2a78aSEmmanuel Vadot	status = "okay";
496*b2d2a78aSEmmanuel Vadot};
497*b2d2a78aSEmmanuel Vadot
498*b2d2a78aSEmmanuel Vadot/* Connected to the 2.5G NIC for the upper network jack */
499*b2d2a78aSEmmanuel Vadot&pcie3x2 {
500*b2d2a78aSEmmanuel Vadot	num-lanes = <1>;
501*b2d2a78aSEmmanuel Vadot	reset-gpios = <&gpio2 RK_PD6 GPIO_ACTIVE_HIGH>;
502*b2d2a78aSEmmanuel Vadot	vpcie3v3-supply = <&vcc3v3_pcie>;
503*b2d2a78aSEmmanuel Vadot	status = "okay";
504*b2d2a78aSEmmanuel Vadot};
505*b2d2a78aSEmmanuel Vadot
506*b2d2a78aSEmmanuel Vadot&pinctrl {
507*b2d2a78aSEmmanuel Vadot	keys {
508*b2d2a78aSEmmanuel Vadot		copy_button_pin: copy-button-pin {
509*b2d2a78aSEmmanuel Vadot			rockchip,pins = <0 RK_PB6 RK_FUNC_GPIO &pcfg_pull_up>;
510*b2d2a78aSEmmanuel Vadot		};
511*b2d2a78aSEmmanuel Vadot
512*b2d2a78aSEmmanuel Vadot		reset_button_pin: reset-button-pin {
513*b2d2a78aSEmmanuel Vadot			rockchip,pins = <0 RK_PB5 RK_FUNC_GPIO &pcfg_pull_up>;
514*b2d2a78aSEmmanuel Vadot		};
515*b2d2a78aSEmmanuel Vadot	};
516*b2d2a78aSEmmanuel Vadot
517*b2d2a78aSEmmanuel Vadot	leds {
518*b2d2a78aSEmmanuel Vadot		hdd1_led_pin: hdd1-led-pin {
519*b2d2a78aSEmmanuel Vadot			rockchip,pins = <1 RK_PD5 RK_FUNC_GPIO &pcfg_pull_up>;
520*b2d2a78aSEmmanuel Vadot		};
521*b2d2a78aSEmmanuel Vadot
522*b2d2a78aSEmmanuel Vadot		hdd2_led_pin: hdd2-led-pin {
523*b2d2a78aSEmmanuel Vadot			rockchip,pins = <1 RK_PD6 RK_FUNC_GPIO &pcfg_pull_up>;
524*b2d2a78aSEmmanuel Vadot		};
525*b2d2a78aSEmmanuel Vadot
526*b2d2a78aSEmmanuel Vadot		hdd3_led_pin: hdd3-led-pin {
527*b2d2a78aSEmmanuel Vadot			rockchip,pins = <1 RK_PD7 RK_FUNC_GPIO &pcfg_pull_up>;
528*b2d2a78aSEmmanuel Vadot		};
529*b2d2a78aSEmmanuel Vadot
530*b2d2a78aSEmmanuel Vadot		hdd4_led_pin: hdd4_led-pin {
531*b2d2a78aSEmmanuel Vadot			rockchip,pins = <2 RK_PA0 RK_FUNC_GPIO &pcfg_pull_up>;
532*b2d2a78aSEmmanuel Vadot		};
533*b2d2a78aSEmmanuel Vadot	};
534*b2d2a78aSEmmanuel Vadot
535*b2d2a78aSEmmanuel Vadot	pmic {
536*b2d2a78aSEmmanuel Vadot		pmic_int_l: pmic-int-l {
537*b2d2a78aSEmmanuel Vadot			rockchip,pins = <0 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>;
538*b2d2a78aSEmmanuel Vadot		};
539*b2d2a78aSEmmanuel Vadot	};
540*b2d2a78aSEmmanuel Vadot
541*b2d2a78aSEmmanuel Vadot	usb {
542*b2d2a78aSEmmanuel Vadot		vcc5v0_host_en: vcc5v0-host-en {
543*b2d2a78aSEmmanuel Vadot			rockchip,pins = <0 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>;
544*b2d2a78aSEmmanuel Vadot		};
545*b2d2a78aSEmmanuel Vadot
546*b2d2a78aSEmmanuel Vadot		vcc5v0_otg_en: vcc5v0-otg-en {
547*b2d2a78aSEmmanuel Vadot			rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_none>;
548*b2d2a78aSEmmanuel Vadot		};
549*b2d2a78aSEmmanuel Vadot	};
550*b2d2a78aSEmmanuel Vadot};
551*b2d2a78aSEmmanuel Vadot
552*b2d2a78aSEmmanuel Vadot&pmu_io_domains {
553*b2d2a78aSEmmanuel Vadot	vccio4-supply = <&vcc_1v8>;
554*b2d2a78aSEmmanuel Vadot	vccio6-supply = <&vcc_1v8>;
555*b2d2a78aSEmmanuel Vadot	status = "okay";
556*b2d2a78aSEmmanuel Vadot};
557*b2d2a78aSEmmanuel Vadot
558*b2d2a78aSEmmanuel Vadot&sata1 {
559*b2d2a78aSEmmanuel Vadot	status = "okay";
560*b2d2a78aSEmmanuel Vadot};
561*b2d2a78aSEmmanuel Vadot
562*b2d2a78aSEmmanuel Vadot&sata2 {
56301950c46SEmmanuel Vadot	status = "okay";
56401950c46SEmmanuel Vadot};
56501950c46SEmmanuel Vadot
56601950c46SEmmanuel Vadot&sdhci {
56701950c46SEmmanuel Vadot	bus-width = <8>;
56801950c46SEmmanuel Vadot	max-frequency = <200000000>;
56901950c46SEmmanuel Vadot	non-removable;
57001950c46SEmmanuel Vadot	status = "okay";
57101950c46SEmmanuel Vadot};
57201950c46SEmmanuel Vadot
573*b2d2a78aSEmmanuel Vadot&tsadc {
574*b2d2a78aSEmmanuel Vadot	rockchip,hw-tshut-mode = <1>;
575*b2d2a78aSEmmanuel Vadot	rockchip,hw-tshut-polarity = <0>;
576*b2d2a78aSEmmanuel Vadot	status = "okay";
577*b2d2a78aSEmmanuel Vadot};
578*b2d2a78aSEmmanuel Vadot
579*b2d2a78aSEmmanuel Vadot/*
580*b2d2a78aSEmmanuel Vadot * Connected to an MCU, that provides access to more LEDs,
581*b2d2a78aSEmmanuel Vadot * buzzer, fan control and more.
582*b2d2a78aSEmmanuel Vadot */
583*b2d2a78aSEmmanuel Vadot&uart0 {
584*b2d2a78aSEmmanuel Vadot	status = "okay";
585*b2d2a78aSEmmanuel Vadot};
586*b2d2a78aSEmmanuel Vadot
58701950c46SEmmanuel Vadot/*
58801950c46SEmmanuel Vadot * Pins available on CN3 connector at TTL voltage level (3V3).
58901950c46SEmmanuel Vadot * ,_  _.
59001950c46SEmmanuel Vadot * |1234|  1=TX 2=VCC
59101950c46SEmmanuel Vadot * `----'  3=RX 4=GND
59201950c46SEmmanuel Vadot */
59301950c46SEmmanuel Vadot&uart2 {
59401950c46SEmmanuel Vadot	status = "okay";
59501950c46SEmmanuel Vadot};
596*b2d2a78aSEmmanuel Vadot
597*b2d2a78aSEmmanuel Vadot&usb2phy0 {
598*b2d2a78aSEmmanuel Vadot	status = "okay";
599*b2d2a78aSEmmanuel Vadot};
600*b2d2a78aSEmmanuel Vadot
601*b2d2a78aSEmmanuel Vadot/* connected to usb_host0_xhci */
602*b2d2a78aSEmmanuel Vadot&usb2phy0_otg {
603*b2d2a78aSEmmanuel Vadot	phy-supply = <&vcc5v0_otg>;
604*b2d2a78aSEmmanuel Vadot	status = "okay";
605*b2d2a78aSEmmanuel Vadot};
606*b2d2a78aSEmmanuel Vadot
607*b2d2a78aSEmmanuel Vadot&usb2phy1 {
608*b2d2a78aSEmmanuel Vadot	status = "okay";
609*b2d2a78aSEmmanuel Vadot};
610*b2d2a78aSEmmanuel Vadot
611*b2d2a78aSEmmanuel Vadot/* connected to usb_host1_ehci/ohci */
612*b2d2a78aSEmmanuel Vadot&usb2phy1_host {
613*b2d2a78aSEmmanuel Vadot	phy-supply = <&vcc5v0_host>;
614*b2d2a78aSEmmanuel Vadot	status = "okay";
615*b2d2a78aSEmmanuel Vadot};
616*b2d2a78aSEmmanuel Vadot
617*b2d2a78aSEmmanuel Vadot/* connected to usb_host0_ehci/ohci */
618*b2d2a78aSEmmanuel Vadot&usb2phy1_otg {
619*b2d2a78aSEmmanuel Vadot	phy-supply = <&vcc5v0_host>;
620*b2d2a78aSEmmanuel Vadot	status = "okay";
621*b2d2a78aSEmmanuel Vadot};
622*b2d2a78aSEmmanuel Vadot
623*b2d2a78aSEmmanuel Vadot/* right port backside */
624*b2d2a78aSEmmanuel Vadot&usb_host0_ehci {
625*b2d2a78aSEmmanuel Vadot	status = "okay";
626*b2d2a78aSEmmanuel Vadot};
627*b2d2a78aSEmmanuel Vadot
628*b2d2a78aSEmmanuel Vadot&usb_host0_ohci {
629*b2d2a78aSEmmanuel Vadot	status = "okay";
630*b2d2a78aSEmmanuel Vadot};
631*b2d2a78aSEmmanuel Vadot
632*b2d2a78aSEmmanuel Vadot/* front port */
633*b2d2a78aSEmmanuel Vadot&usb_host0_xhci {
634*b2d2a78aSEmmanuel Vadot	dr_mode = "host";
635*b2d2a78aSEmmanuel Vadot	status = "okay";
636*b2d2a78aSEmmanuel Vadot};
637*b2d2a78aSEmmanuel Vadot
638*b2d2a78aSEmmanuel Vadot/* left port backside */
639*b2d2a78aSEmmanuel Vadot&usb_host1_ehci {
640*b2d2a78aSEmmanuel Vadot	status = "okay";
641*b2d2a78aSEmmanuel Vadot};
642*b2d2a78aSEmmanuel Vadot
643*b2d2a78aSEmmanuel Vadot&usb_host1_ohci {
644*b2d2a78aSEmmanuel Vadot	status = "okay";
645*b2d2a78aSEmmanuel Vadot};
646