xref: /linux/arch/arm64/boot/dts/rockchip/rk3568-qnap-tsx33.dtsi (revision 0cac5ce06e524755b3dac1e0a060b05992076d93)
1*35202606SHeiko Stuebner#include <dt-bindings/input/input.h>
2*35202606SHeiko Stuebner#include <dt-bindings/leds/common.h>
3*35202606SHeiko Stuebner#include <dt-bindings/gpio/gpio.h>
4*35202606SHeiko Stuebner#include "rk3568.dtsi"
5*35202606SHeiko Stuebner
6*35202606SHeiko Stuebner/ {
7*35202606SHeiko Stuebner	aliases {
8*35202606SHeiko Stuebner		mmc0 = &sdhci;
9*35202606SHeiko Stuebner		rtc0 = &rtc_rv8263;
10*35202606SHeiko Stuebner	};
11*35202606SHeiko Stuebner
12*35202606SHeiko Stuebner	chosen {
13*35202606SHeiko Stuebner		stdout-path = "serial2:115200n8";
14*35202606SHeiko Stuebner	};
15*35202606SHeiko Stuebner
16*35202606SHeiko Stuebner	keys {
17*35202606SHeiko Stuebner		compatible = "gpio-keys";
18*35202606SHeiko Stuebner		pinctrl-0 = <&copy_button_pin>, <&reset_button_pin>;
19*35202606SHeiko Stuebner		pinctrl-names = "default";
20*35202606SHeiko Stuebner
21*35202606SHeiko Stuebner		key-copy {
22*35202606SHeiko Stuebner			label = "copy";
23*35202606SHeiko Stuebner			gpios = <&gpio0 RK_PB6 GPIO_ACTIVE_LOW>;
24*35202606SHeiko Stuebner			linux,code = <KEY_COPY>;
25*35202606SHeiko Stuebner		};
26*35202606SHeiko Stuebner
27*35202606SHeiko Stuebner		key-reset {
28*35202606SHeiko Stuebner			label = "reset";
29*35202606SHeiko Stuebner			gpios = <&gpio0 RK_PB5 GPIO_ACTIVE_LOW>;
30*35202606SHeiko Stuebner			linux,code = <KEY_RESTART>;
31*35202606SHeiko Stuebner		};
32*35202606SHeiko Stuebner	};
33*35202606SHeiko Stuebner
34*35202606SHeiko Stuebner	leds: leds {
35*35202606SHeiko Stuebner		compatible = "gpio-leds";
36*35202606SHeiko Stuebner
37*35202606SHeiko Stuebner		led-0 {
38*35202606SHeiko Stuebner			color = <LED_COLOR_ID_GREEN>;
39*35202606SHeiko Stuebner			function = LED_FUNCTION_DISK;
40*35202606SHeiko Stuebner			gpios = <&gpio1 RK_PD5 GPIO_ACTIVE_LOW>;
41*35202606SHeiko Stuebner			label = "hdd1:green:disk";
42*35202606SHeiko Stuebner			linux,default-trigger = "disk-activity";
43*35202606SHeiko Stuebner			pinctrl-names = "default";
44*35202606SHeiko Stuebner			pinctrl-0 = <&hdd1_led_pin>;
45*35202606SHeiko Stuebner		};
46*35202606SHeiko Stuebner	};
47*35202606SHeiko Stuebner
48*35202606SHeiko Stuebner	dc_12v: regulator-dc-12v {
49*35202606SHeiko Stuebner		compatible = "regulator-fixed";
50*35202606SHeiko Stuebner		regulator-name = "dc_12v";
51*35202606SHeiko Stuebner		regulator-always-on;
52*35202606SHeiko Stuebner		regulator-boot-on;
53*35202606SHeiko Stuebner		regulator-min-microvolt = <12000000>;
54*35202606SHeiko Stuebner		regulator-max-microvolt = <12000000>;
55*35202606SHeiko Stuebner	};
56*35202606SHeiko Stuebner
57*35202606SHeiko Stuebner	vcc3v3_sys: regulator-vcc3v3-sys {
58*35202606SHeiko Stuebner		compatible = "regulator-fixed";
59*35202606SHeiko Stuebner		regulator-name = "vcc3v3_sys";
60*35202606SHeiko Stuebner		regulator-always-on;
61*35202606SHeiko Stuebner		regulator-boot-on;
62*35202606SHeiko Stuebner		regulator-min-microvolt = <3300000>;
63*35202606SHeiko Stuebner		regulator-max-microvolt = <3300000>;
64*35202606SHeiko Stuebner		vin-supply = <&dc_12v>;
65*35202606SHeiko Stuebner	};
66*35202606SHeiko Stuebner
67*35202606SHeiko Stuebner	vcc5v0_host: regulator-vcc5v0-host {
68*35202606SHeiko Stuebner		compatible = "regulator-fixed";
69*35202606SHeiko Stuebner		enable-active-high;
70*35202606SHeiko Stuebner		pinctrl-names = "default";
71*35202606SHeiko Stuebner		pinctrl-0 = <&vcc5v0_host_en>;
72*35202606SHeiko Stuebner		gpio = <&gpio0 RK_PA6 GPIO_ACTIVE_HIGH>;
73*35202606SHeiko Stuebner		regulator-name = "vcc5v0_host";
74*35202606SHeiko Stuebner		regulator-always-on;
75*35202606SHeiko Stuebner		regulator-boot-on;
76*35202606SHeiko Stuebner		regulator-min-microvolt = <5000000>;
77*35202606SHeiko Stuebner		regulator-max-microvolt = <5000000>;
78*35202606SHeiko Stuebner		vin-supply = <&vcc5v0_usb>;
79*35202606SHeiko Stuebner	};
80*35202606SHeiko Stuebner
81*35202606SHeiko Stuebner	vcc5v0_otg: regulator-vcc5v0-otg {
82*35202606SHeiko Stuebner		compatible = "regulator-fixed";
83*35202606SHeiko Stuebner		enable-active-high;
84*35202606SHeiko Stuebner		gpio = <&gpio0 RK_PA5 GPIO_ACTIVE_HIGH>;
85*35202606SHeiko Stuebner		pinctrl-names = "default";
86*35202606SHeiko Stuebner		pinctrl-0 = <&vcc5v0_otg_en>;
87*35202606SHeiko Stuebner		regulator-name = "vcc5v0_otg";
88*35202606SHeiko Stuebner		regulator-always-on;
89*35202606SHeiko Stuebner		regulator-boot-on;
90*35202606SHeiko Stuebner		regulator-min-microvolt = <5000000>;
91*35202606SHeiko Stuebner		regulator-max-microvolt = <5000000>;
92*35202606SHeiko Stuebner		vin-supply = <&vcc5v0_usb>;
93*35202606SHeiko Stuebner	};
94*35202606SHeiko Stuebner
95*35202606SHeiko Stuebner	vcc5v0_sys: regulator-vcc5v0-sys {
96*35202606SHeiko Stuebner		compatible = "regulator-fixed";
97*35202606SHeiko Stuebner		regulator-name = "vcc5v0_sys";
98*35202606SHeiko Stuebner		regulator-always-on;
99*35202606SHeiko Stuebner		regulator-boot-on;
100*35202606SHeiko Stuebner		regulator-min-microvolt = <5000000>;
101*35202606SHeiko Stuebner		regulator-max-microvolt = <5000000>;
102*35202606SHeiko Stuebner		vin-supply = <&dc_12v>;
103*35202606SHeiko Stuebner	};
104*35202606SHeiko Stuebner
105*35202606SHeiko Stuebner	vcc5v0_usb: regulator-vcc5v0-usb {
106*35202606SHeiko Stuebner		compatible = "regulator-fixed";
107*35202606SHeiko Stuebner		regulator-name = "vcc5v0_usb";
108*35202606SHeiko Stuebner		regulator-always-on;
109*35202606SHeiko Stuebner		regulator-boot-on;
110*35202606SHeiko Stuebner		regulator-min-microvolt = <5000000>;
111*35202606SHeiko Stuebner		regulator-max-microvolt = <5000000>;
112*35202606SHeiko Stuebner		vin-supply = <&dc_12v>;
113*35202606SHeiko Stuebner	};
114*35202606SHeiko Stuebner};
115*35202606SHeiko Stuebner
116*35202606SHeiko Stuebner/* connected to usb_host0_xhci */
117*35202606SHeiko Stuebner&combphy0 {
118*35202606SHeiko Stuebner	status = "okay";
119*35202606SHeiko Stuebner};
120*35202606SHeiko Stuebner
121*35202606SHeiko Stuebner/* connected to sata1 */
122*35202606SHeiko Stuebner&combphy1 {
123*35202606SHeiko Stuebner	status = "okay";
124*35202606SHeiko Stuebner};
125*35202606SHeiko Stuebner
126*35202606SHeiko Stuebner&cpu0 {
127*35202606SHeiko Stuebner	cpu-supply = <&vdd_cpu>;
128*35202606SHeiko Stuebner};
129*35202606SHeiko Stuebner
130*35202606SHeiko Stuebner&cpu1 {
131*35202606SHeiko Stuebner	cpu-supply = <&vdd_cpu>;
132*35202606SHeiko Stuebner};
133*35202606SHeiko Stuebner
134*35202606SHeiko Stuebner&cpu2 {
135*35202606SHeiko Stuebner	cpu-supply = <&vdd_cpu>;
136*35202606SHeiko Stuebner};
137*35202606SHeiko Stuebner
138*35202606SHeiko Stuebner&cpu3 {
139*35202606SHeiko Stuebner	cpu-supply = <&vdd_cpu>;
140*35202606SHeiko Stuebner};
141*35202606SHeiko Stuebner
142*35202606SHeiko Stuebner/*
143*35202606SHeiko Stuebner * The MCU can provide system temperature too, but only by polling and of
144*35202606SHeiko Stuebner * course also cannot set trip points. So attach to the cpu thermal-zone
145*35202606SHeiko Stuebner * instead to control the fan.
146*35202606SHeiko Stuebner */
147*35202606SHeiko Stuebner&cpu_thermal {
148*35202606SHeiko Stuebner	trips {
149*35202606SHeiko Stuebner		case_fan0: case-fan0 {
150*35202606SHeiko Stuebner			hysteresis = <2000>;
151*35202606SHeiko Stuebner			temperature = <35000>;
152*35202606SHeiko Stuebner			type = "active";
153*35202606SHeiko Stuebner		};
154*35202606SHeiko Stuebner
155*35202606SHeiko Stuebner		case_fan1: case-fan1 {
156*35202606SHeiko Stuebner			hysteresis = <2000>;
157*35202606SHeiko Stuebner			temperature = <45000>;
158*35202606SHeiko Stuebner			type = "active";
159*35202606SHeiko Stuebner		};
160*35202606SHeiko Stuebner
161*35202606SHeiko Stuebner		case_fan2: case-fan2 {
162*35202606SHeiko Stuebner			hysteresis = <2000>;
163*35202606SHeiko Stuebner			temperature = <65000>;
164*35202606SHeiko Stuebner			type = "active";
165*35202606SHeiko Stuebner		};
166*35202606SHeiko Stuebner	};
167*35202606SHeiko Stuebner
168*35202606SHeiko Stuebner	cooling-maps {
169*35202606SHeiko Stuebner		/*
170*35202606SHeiko Stuebner		 * Always provide some air movement, due to small case
171*35202606SHeiko Stuebner		 * full of harddrives.
172*35202606SHeiko Stuebner		 */
173*35202606SHeiko Stuebner		map1 {
174*35202606SHeiko Stuebner			cooling-device = <&fan THERMAL_NO_LIMIT 1>;
175*35202606SHeiko Stuebner			trip = <&case_fan0>;
176*35202606SHeiko Stuebner		};
177*35202606SHeiko Stuebner
178*35202606SHeiko Stuebner		map2 {
179*35202606SHeiko Stuebner			cooling-device = <&fan 2 3>;
180*35202606SHeiko Stuebner			trip = <&case_fan1>;
181*35202606SHeiko Stuebner		};
182*35202606SHeiko Stuebner
183*35202606SHeiko Stuebner		map3 {
184*35202606SHeiko Stuebner			cooling-device = <&fan 4 THERMAL_NO_LIMIT>;
185*35202606SHeiko Stuebner			trip = <&case_fan2>;
186*35202606SHeiko Stuebner		};
187*35202606SHeiko Stuebner	};
188*35202606SHeiko Stuebner};
189*35202606SHeiko Stuebner
190*35202606SHeiko Stuebner&gpu {
191*35202606SHeiko Stuebner	mali-supply = <&vdd_gpu>;
192*35202606SHeiko Stuebner	status = "okay";
193*35202606SHeiko Stuebner};
194*35202606SHeiko Stuebner
195*35202606SHeiko Stuebner&i2c0 {
196*35202606SHeiko Stuebner	status = "okay";
197*35202606SHeiko Stuebner
198*35202606SHeiko Stuebner	pmic@20 {
199*35202606SHeiko Stuebner		compatible = "rockchip,rk809";
200*35202606SHeiko Stuebner		reg = <0x20>;
201*35202606SHeiko Stuebner		interrupt-parent = <&gpio0>;
202*35202606SHeiko Stuebner		interrupts = <RK_PA3 IRQ_TYPE_LEVEL_LOW>;
203*35202606SHeiko Stuebner		#clock-cells = <1>;
204*35202606SHeiko Stuebner		pinctrl-names = "default";
205*35202606SHeiko Stuebner		pinctrl-0 = <&pmic_int_l>;
206*35202606SHeiko Stuebner		system-power-controller;
207*35202606SHeiko Stuebner		vcc1-supply = <&vcc3v3_sys>;
208*35202606SHeiko Stuebner		vcc2-supply = <&vcc3v3_sys>;
209*35202606SHeiko Stuebner		vcc3-supply = <&vcc3v3_sys>;
210*35202606SHeiko Stuebner		vcc4-supply = <&vcc3v3_sys>;
211*35202606SHeiko Stuebner		vcc5-supply = <&vcc3v3_sys>;
212*35202606SHeiko Stuebner		vcc6-supply = <&vcc3v3_sys>;
213*35202606SHeiko Stuebner		vcc7-supply = <&vcc3v3_sys>;
214*35202606SHeiko Stuebner		vcc8-supply = <&vcc3v3_sys>;
215*35202606SHeiko Stuebner		vcc9-supply = <&vcc3v3_sys>;
216*35202606SHeiko Stuebner		wakeup-source;
217*35202606SHeiko Stuebner
218*35202606SHeiko Stuebner		regulators {
219*35202606SHeiko Stuebner			vdd_logic: DCDC_REG1 {
220*35202606SHeiko Stuebner				regulator-name = "vdd_logic";
221*35202606SHeiko Stuebner				regulator-always-on;
222*35202606SHeiko Stuebner				regulator-boot-on;
223*35202606SHeiko Stuebner				regulator-initial-mode = <0x2>;
224*35202606SHeiko Stuebner				regulator-min-microvolt = <500000>;
225*35202606SHeiko Stuebner				regulator-max-microvolt = <1350000>;
226*35202606SHeiko Stuebner				regulator-ramp-delay = <6001>;
227*35202606SHeiko Stuebner
228*35202606SHeiko Stuebner				regulator-state-mem {
229*35202606SHeiko Stuebner					regulator-off-in-suspend;
230*35202606SHeiko Stuebner				};
231*35202606SHeiko Stuebner			};
232*35202606SHeiko Stuebner
233*35202606SHeiko Stuebner			vdd_gpu: DCDC_REG2 {
234*35202606SHeiko Stuebner				regulator-name = "vdd_gpu";
235*35202606SHeiko Stuebner				regulator-always-on;
236*35202606SHeiko Stuebner				regulator-initial-mode = <0x2>;
237*35202606SHeiko Stuebner				regulator-min-microvolt = <500000>;
238*35202606SHeiko Stuebner				regulator-max-microvolt = <1350000>;
239*35202606SHeiko Stuebner				regulator-ramp-delay = <6001>;
240*35202606SHeiko Stuebner
241*35202606SHeiko Stuebner				regulator-state-mem {
242*35202606SHeiko Stuebner					regulator-off-in-suspend;
243*35202606SHeiko Stuebner				};
244*35202606SHeiko Stuebner			};
245*35202606SHeiko Stuebner
246*35202606SHeiko Stuebner			vcc_ddr: DCDC_REG3 {
247*35202606SHeiko Stuebner				regulator-name = "vcc_ddr";
248*35202606SHeiko Stuebner				regulator-always-on;
249*35202606SHeiko Stuebner				regulator-boot-on;
250*35202606SHeiko Stuebner				regulator-initial-mode = <0x2>;
251*35202606SHeiko Stuebner
252*35202606SHeiko Stuebner				regulator-state-mem {
253*35202606SHeiko Stuebner					regulator-on-in-suspend;
254*35202606SHeiko Stuebner				};
255*35202606SHeiko Stuebner			};
256*35202606SHeiko Stuebner
257*35202606SHeiko Stuebner			vdd_npu: DCDC_REG4 {
258*35202606SHeiko Stuebner				regulator-name = "vdd_npu";
259*35202606SHeiko Stuebner				regulator-initial-mode = <0x2>;
260*35202606SHeiko Stuebner				regulator-min-microvolt = <500000>;
261*35202606SHeiko Stuebner				regulator-max-microvolt = <1350000>;
262*35202606SHeiko Stuebner				regulator-ramp-delay = <6001>;
263*35202606SHeiko Stuebner
264*35202606SHeiko Stuebner				regulator-state-mem {
265*35202606SHeiko Stuebner					regulator-off-in-suspend;
266*35202606SHeiko Stuebner				};
267*35202606SHeiko Stuebner			};
268*35202606SHeiko Stuebner
269*35202606SHeiko Stuebner			vcc_1v8: DCDC_REG5 {
270*35202606SHeiko Stuebner				regulator-name = "vcc_1v8";
271*35202606SHeiko Stuebner				regulator-always-on;
272*35202606SHeiko Stuebner				regulator-boot-on;
273*35202606SHeiko Stuebner				regulator-min-microvolt = <1800000>;
274*35202606SHeiko Stuebner				regulator-max-microvolt = <1800000>;
275*35202606SHeiko Stuebner
276*35202606SHeiko Stuebner				regulator-state-mem {
277*35202606SHeiko Stuebner					regulator-off-in-suspend;
278*35202606SHeiko Stuebner				};
279*35202606SHeiko Stuebner			};
280*35202606SHeiko Stuebner
281*35202606SHeiko Stuebner			vdda0v9_image: LDO_REG1 {
282*35202606SHeiko Stuebner				regulator-name = "vdda0v9_image";
283*35202606SHeiko Stuebner				regulator-always-on;
284*35202606SHeiko Stuebner				regulator-min-microvolt = <900000>;
285*35202606SHeiko Stuebner				regulator-max-microvolt = <900000>;
286*35202606SHeiko Stuebner
287*35202606SHeiko Stuebner				regulator-state-mem {
288*35202606SHeiko Stuebner					regulator-off-in-suspend;
289*35202606SHeiko Stuebner				};
290*35202606SHeiko Stuebner			};
291*35202606SHeiko Stuebner
292*35202606SHeiko Stuebner			vdda_0v9: LDO_REG2 {
293*35202606SHeiko Stuebner				regulator-name = "vdda_0v9";
294*35202606SHeiko Stuebner				regulator-always-on;
295*35202606SHeiko Stuebner				regulator-boot-on;
296*35202606SHeiko Stuebner				regulator-min-microvolt = <900000>;
297*35202606SHeiko Stuebner				regulator-max-microvolt = <900000>;
298*35202606SHeiko Stuebner
299*35202606SHeiko Stuebner				regulator-state-mem {
300*35202606SHeiko Stuebner					regulator-off-in-suspend;
301*35202606SHeiko Stuebner				};
302*35202606SHeiko Stuebner			};
303*35202606SHeiko Stuebner
304*35202606SHeiko Stuebner			vdda0v9_pmu: LDO_REG3 {
305*35202606SHeiko Stuebner				regulator-name = "vdda0v9_pmu";
306*35202606SHeiko Stuebner				regulator-always-on;
307*35202606SHeiko Stuebner				regulator-boot-on;
308*35202606SHeiko Stuebner				regulator-min-microvolt = <900000>;
309*35202606SHeiko Stuebner				regulator-max-microvolt = <900000>;
310*35202606SHeiko Stuebner
311*35202606SHeiko Stuebner				regulator-state-mem {
312*35202606SHeiko Stuebner					regulator-on-in-suspend;
313*35202606SHeiko Stuebner					regulator-suspend-microvolt = <900000>;
314*35202606SHeiko Stuebner				};
315*35202606SHeiko Stuebner			};
316*35202606SHeiko Stuebner
317*35202606SHeiko Stuebner			vccio_acodec: LDO_REG4 {
318*35202606SHeiko Stuebner				regulator-name = "vccio_acodec";
319*35202606SHeiko Stuebner				regulator-always-on;
320*35202606SHeiko Stuebner				regulator-boot-on;
321*35202606SHeiko Stuebner				regulator-min-microvolt = <3300000>;
322*35202606SHeiko Stuebner				regulator-max-microvolt = <3300000>;
323*35202606SHeiko Stuebner
324*35202606SHeiko Stuebner				regulator-state-mem {
325*35202606SHeiko Stuebner					regulator-off-in-suspend;
326*35202606SHeiko Stuebner				};
327*35202606SHeiko Stuebner			};
328*35202606SHeiko Stuebner
329*35202606SHeiko Stuebner			vccio_sd: LDO_REG5 {
330*35202606SHeiko Stuebner				regulator-name = "vccio_sd";
331*35202606SHeiko Stuebner				regulator-min-microvolt = <1800000>;
332*35202606SHeiko Stuebner				regulator-max-microvolt = <3300000>;
333*35202606SHeiko Stuebner
334*35202606SHeiko Stuebner				regulator-state-mem {
335*35202606SHeiko Stuebner					regulator-off-in-suspend;
336*35202606SHeiko Stuebner				};
337*35202606SHeiko Stuebner			};
338*35202606SHeiko Stuebner
339*35202606SHeiko Stuebner			vcc3v3_pmu: LDO_REG6 {
340*35202606SHeiko Stuebner				regulator-name = "vcc3v3_pmu";
341*35202606SHeiko Stuebner				regulator-always-on;
342*35202606SHeiko Stuebner				regulator-boot-on;
343*35202606SHeiko Stuebner				regulator-min-microvolt = <3300000>;
344*35202606SHeiko Stuebner				regulator-max-microvolt = <3300000>;
345*35202606SHeiko Stuebner
346*35202606SHeiko Stuebner				regulator-state-mem {
347*35202606SHeiko Stuebner					regulator-on-in-suspend;
348*35202606SHeiko Stuebner					regulator-suspend-microvolt = <3300000>;
349*35202606SHeiko Stuebner				};
350*35202606SHeiko Stuebner			};
351*35202606SHeiko Stuebner
352*35202606SHeiko Stuebner			vcca_1v8: LDO_REG7 {
353*35202606SHeiko Stuebner				regulator-name = "vcca_1v8";
354*35202606SHeiko Stuebner				regulator-always-on;
355*35202606SHeiko Stuebner				regulator-boot-on;
356*35202606SHeiko Stuebner				regulator-min-microvolt = <1800000>;
357*35202606SHeiko Stuebner				regulator-max-microvolt = <1800000>;
358*35202606SHeiko Stuebner
359*35202606SHeiko Stuebner				regulator-state-mem {
360*35202606SHeiko Stuebner					regulator-off-in-suspend;
361*35202606SHeiko Stuebner				};
362*35202606SHeiko Stuebner			};
363*35202606SHeiko Stuebner
364*35202606SHeiko Stuebner			vcca1v8_pmu: LDO_REG8 {
365*35202606SHeiko Stuebner				regulator-name = "vcca1v8_pmu";
366*35202606SHeiko Stuebner				regulator-always-on;
367*35202606SHeiko Stuebner				regulator-boot-on;
368*35202606SHeiko Stuebner				regulator-min-microvolt = <1800000>;
369*35202606SHeiko Stuebner				regulator-max-microvolt = <1800000>;
370*35202606SHeiko Stuebner
371*35202606SHeiko Stuebner				regulator-state-mem {
372*35202606SHeiko Stuebner					regulator-on-in-suspend;
373*35202606SHeiko Stuebner					regulator-suspend-microvolt = <1800000>;
374*35202606SHeiko Stuebner				};
375*35202606SHeiko Stuebner			};
376*35202606SHeiko Stuebner
377*35202606SHeiko Stuebner			vcca1v8_image: LDO_REG9 {
378*35202606SHeiko Stuebner				regulator-name = "vcca1v8_image";
379*35202606SHeiko Stuebner				regulator-always-on;
380*35202606SHeiko Stuebner				regulator-min-microvolt = <1800000>;
381*35202606SHeiko Stuebner				regulator-max-microvolt = <1800000>;
382*35202606SHeiko Stuebner
383*35202606SHeiko Stuebner				regulator-state-mem {
384*35202606SHeiko Stuebner					regulator-off-in-suspend;
385*35202606SHeiko Stuebner				};
386*35202606SHeiko Stuebner			};
387*35202606SHeiko Stuebner
388*35202606SHeiko Stuebner			vcc_3v3: SWITCH_REG1 {
389*35202606SHeiko Stuebner				regulator-name = "vcc_3v3";
390*35202606SHeiko Stuebner				regulator-always-on;
391*35202606SHeiko Stuebner				regulator-boot-on;
392*35202606SHeiko Stuebner
393*35202606SHeiko Stuebner				regulator-state-mem {
394*35202606SHeiko Stuebner					regulator-off-in-suspend;
395*35202606SHeiko Stuebner				};
396*35202606SHeiko Stuebner			};
397*35202606SHeiko Stuebner
398*35202606SHeiko Stuebner			vcc3v3_sd: SWITCH_REG2 {
399*35202606SHeiko Stuebner				regulator-name = "vcc3v3_sd";
400*35202606SHeiko Stuebner				/*
401*35202606SHeiko Stuebner				 * turning this off, breaks access to both
402*35202606SHeiko Stuebner				 * PCIe controllers, refclk generator perhaps
403*35202606SHeiko Stuebner				 */
404*35202606SHeiko Stuebner				regulator-always-on;
405*35202606SHeiko Stuebner				regulator-boot-on;
406*35202606SHeiko Stuebner
407*35202606SHeiko Stuebner				regulator-state-mem {
408*35202606SHeiko Stuebner					regulator-off-in-suspend;
409*35202606SHeiko Stuebner				};
410*35202606SHeiko Stuebner			};
411*35202606SHeiko Stuebner		};
412*35202606SHeiko Stuebner	};
413*35202606SHeiko Stuebner
414*35202606SHeiko Stuebner	vdd_cpu: regulator@40 {
415*35202606SHeiko Stuebner		compatible = "silergy,syr827";
416*35202606SHeiko Stuebner		reg = <0x40>;
417*35202606SHeiko Stuebner		fcs,suspend-voltage-selector = <1>;
418*35202606SHeiko Stuebner		regulator-name = "vdd_cpu";
419*35202606SHeiko Stuebner		regulator-always-on;
420*35202606SHeiko Stuebner		regulator-boot-on;
421*35202606SHeiko Stuebner		regulator-min-microvolt = <712500>;
422*35202606SHeiko Stuebner		regulator-max-microvolt = <1390000>;
423*35202606SHeiko Stuebner		regulator-ramp-delay = <2300>;
424*35202606SHeiko Stuebner		vin-supply = <&vcc5v0_sys>;
425*35202606SHeiko Stuebner	};
426*35202606SHeiko Stuebner};
427*35202606SHeiko Stuebner
428*35202606SHeiko Stuebner&i2c1 {
429*35202606SHeiko Stuebner	status = "okay";
430*35202606SHeiko Stuebner
431*35202606SHeiko Stuebner	rtc_rv8263: rtc@51 {
432*35202606SHeiko Stuebner		compatible = "microcrystal,rv8263";
433*35202606SHeiko Stuebner		reg = <0x51>;
434*35202606SHeiko Stuebner		wakeup-source;
435*35202606SHeiko Stuebner	};
436*35202606SHeiko Stuebner
437*35202606SHeiko Stuebner	/* eeprom for vital-product-data on the mainboard */
438*35202606SHeiko Stuebner	eeprom@54 {
439*35202606SHeiko Stuebner		compatible = "giantec,gt24c04a", "atmel,24c04";
440*35202606SHeiko Stuebner		reg = <0x54>;
441*35202606SHeiko Stuebner		label = "VPD_MB";
442*35202606SHeiko Stuebner		num-addresses = <2>;
443*35202606SHeiko Stuebner		pagesize = <16>;
444*35202606SHeiko Stuebner		read-only;
445*35202606SHeiko Stuebner	};
446*35202606SHeiko Stuebner};
447*35202606SHeiko Stuebner
448*35202606SHeiko Stuebner&pinctrl {
449*35202606SHeiko Stuebner	keys {
450*35202606SHeiko Stuebner		copy_button_pin: copy-button-pin {
451*35202606SHeiko Stuebner			rockchip,pins = <0 RK_PB6 RK_FUNC_GPIO &pcfg_pull_up>;
452*35202606SHeiko Stuebner		};
453*35202606SHeiko Stuebner
454*35202606SHeiko Stuebner		reset_button_pin: reset-button-pin {
455*35202606SHeiko Stuebner			rockchip,pins = <0 RK_PB5 RK_FUNC_GPIO &pcfg_pull_up>;
456*35202606SHeiko Stuebner		};
457*35202606SHeiko Stuebner	};
458*35202606SHeiko Stuebner
459*35202606SHeiko Stuebner	leds {
460*35202606SHeiko Stuebner		hdd1_led_pin: hdd1-led-pin {
461*35202606SHeiko Stuebner			rockchip,pins = <1 RK_PD5 RK_FUNC_GPIO &pcfg_pull_up>;
462*35202606SHeiko Stuebner		};
463*35202606SHeiko Stuebner	};
464*35202606SHeiko Stuebner
465*35202606SHeiko Stuebner	pmic {
466*35202606SHeiko Stuebner		pmic_int_l: pmic-int-l {
467*35202606SHeiko Stuebner			rockchip,pins = <0 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>;
468*35202606SHeiko Stuebner		};
469*35202606SHeiko Stuebner	};
470*35202606SHeiko Stuebner
471*35202606SHeiko Stuebner	usb {
472*35202606SHeiko Stuebner		vcc5v0_host_en: vcc5v0-host-en {
473*35202606SHeiko Stuebner			rockchip,pins = <0 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>;
474*35202606SHeiko Stuebner		};
475*35202606SHeiko Stuebner
476*35202606SHeiko Stuebner		vcc5v0_otg_en: vcc5v0-otg-en {
477*35202606SHeiko Stuebner			rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_none>;
478*35202606SHeiko Stuebner		};
479*35202606SHeiko Stuebner	};
480*35202606SHeiko Stuebner};
481*35202606SHeiko Stuebner
482*35202606SHeiko Stuebner&pmu_io_domains {
483*35202606SHeiko Stuebner	vccio4-supply = <&vcc_1v8>;
484*35202606SHeiko Stuebner	vccio6-supply = <&vcc_1v8>;
485*35202606SHeiko Stuebner	status = "okay";
486*35202606SHeiko Stuebner};
487*35202606SHeiko Stuebner
488*35202606SHeiko Stuebner&sata1 {
489*35202606SHeiko Stuebner	status = "okay";
490*35202606SHeiko Stuebner};
491*35202606SHeiko Stuebner
492*35202606SHeiko Stuebner&sdhci {
493*35202606SHeiko Stuebner	bus-width = <8>;
494*35202606SHeiko Stuebner	max-frequency = <200000000>;
495*35202606SHeiko Stuebner	non-removable;
496*35202606SHeiko Stuebner	pinctrl-names = "default";
497*35202606SHeiko Stuebner	pinctrl-0 = <&emmc_bus8 &emmc_clk &emmc_cmd &emmc_datastrobe>;
498*35202606SHeiko Stuebner	status = "okay";
499*35202606SHeiko Stuebner};
500*35202606SHeiko Stuebner
501*35202606SHeiko Stuebner&tsadc {
502*35202606SHeiko Stuebner	rockchip,hw-tshut-mode = <1>;
503*35202606SHeiko Stuebner	rockchip,hw-tshut-polarity = <0>;
504*35202606SHeiko Stuebner	status = "okay";
505*35202606SHeiko Stuebner};
506*35202606SHeiko Stuebner
507*35202606SHeiko Stuebner/*
508*35202606SHeiko Stuebner * Connected to an MCU, that provides access to more LEDs,
509*35202606SHeiko Stuebner * buzzer, fan control and more.
510*35202606SHeiko Stuebner */
511*35202606SHeiko Stuebner&uart0 {
512*35202606SHeiko Stuebner	status = "okay";
513*35202606SHeiko Stuebner
514*35202606SHeiko Stuebner	mcu: mcu {
515*35202606SHeiko Stuebner		fan: fan-0 {
516*35202606SHeiko Stuebner			#cooling-cells = <2>;
517*35202606SHeiko Stuebner			cooling-levels = <0 64 89 128 166 204 221 238>;
518*35202606SHeiko Stuebner		};
519*35202606SHeiko Stuebner
520*35202606SHeiko Stuebner		nvmem-layout {
521*35202606SHeiko Stuebner			compatible = "fixed-layout";
522*35202606SHeiko Stuebner			#address-cells = <1>;
523*35202606SHeiko Stuebner			#size-cells = <1>;
524*35202606SHeiko Stuebner
525*35202606SHeiko Stuebner			serial-number@0 {
526*35202606SHeiko Stuebner				reg = <0x0 0x13>;
527*35202606SHeiko Stuebner			};
528*35202606SHeiko Stuebner
529*35202606SHeiko Stuebner			ext-port@22 {
530*35202606SHeiko Stuebner				reg = <0x22 0x2>;
531*35202606SHeiko Stuebner			};
532*35202606SHeiko Stuebner
533*35202606SHeiko Stuebner			mac0: mac@24 {
534*35202606SHeiko Stuebner				compatible = "mac-base";
535*35202606SHeiko Stuebner				reg = <0x24 0x11>;
536*35202606SHeiko Stuebner				#nvmem-cell-cells = <1>;
537*35202606SHeiko Stuebner			};
538*35202606SHeiko Stuebner
539*35202606SHeiko Stuebner			mac1: mac@35 {
540*35202606SHeiko Stuebner				compatible = "mac-base";
541*35202606SHeiko Stuebner				reg = <0x35 0x11>;
542*35202606SHeiko Stuebner				#nvmem-cell-cells = <1>;
543*35202606SHeiko Stuebner			};
544*35202606SHeiko Stuebner
545*35202606SHeiko Stuebner			mac2: mac@46 {
546*35202606SHeiko Stuebner				compatible = "mac-base";
547*35202606SHeiko Stuebner				reg = <0x46 0x11>;
548*35202606SHeiko Stuebner				#nvmem-cell-cells = <1>;
549*35202606SHeiko Stuebner			};
550*35202606SHeiko Stuebner
551*35202606SHeiko Stuebner			mac3: mac@57 {
552*35202606SHeiko Stuebner				compatible = "mac-base";
553*35202606SHeiko Stuebner				reg = <0x57 0x11>;
554*35202606SHeiko Stuebner				#nvmem-cell-cells = <1>;
555*35202606SHeiko Stuebner			};
556*35202606SHeiko Stuebner
557*35202606SHeiko Stuebner			mac4: mac@68 {
558*35202606SHeiko Stuebner				compatible = "mac-base";
559*35202606SHeiko Stuebner				reg = <0x68 0x11>;
560*35202606SHeiko Stuebner				#nvmem-cell-cells = <1>;
561*35202606SHeiko Stuebner			};
562*35202606SHeiko Stuebner
563*35202606SHeiko Stuebner			mac5: mac@79 {
564*35202606SHeiko Stuebner				compatible = "mac-base";
565*35202606SHeiko Stuebner				reg = <0x79 0x11>;
566*35202606SHeiko Stuebner				#nvmem-cell-cells = <1>;
567*35202606SHeiko Stuebner			};
568*35202606SHeiko Stuebner
569*35202606SHeiko Stuebner			mac6: mac@8a {
570*35202606SHeiko Stuebner				compatible = "mac-base";
571*35202606SHeiko Stuebner				reg = <0x8a 0x11>;
572*35202606SHeiko Stuebner				#nvmem-cell-cells = <1>;
573*35202606SHeiko Stuebner			};
574*35202606SHeiko Stuebner
575*35202606SHeiko Stuebner			mac7: mac@9b {
576*35202606SHeiko Stuebner				compatible = "mac-base";
577*35202606SHeiko Stuebner				reg = <0x9b 0x11>;
578*35202606SHeiko Stuebner				#nvmem-cell-cells = <1>;
579*35202606SHeiko Stuebner			};
580*35202606SHeiko Stuebner		};
581*35202606SHeiko Stuebner	};
582*35202606SHeiko Stuebner};
583*35202606SHeiko Stuebner
584*35202606SHeiko Stuebner/*
585*35202606SHeiko Stuebner * Pins available on CN3 connector at TTL voltage level (3V3).
586*35202606SHeiko Stuebner * ,_  _.
587*35202606SHeiko Stuebner * |1234|  1=TX 2=VCC
588*35202606SHeiko Stuebner * `----'  3=RX 4=GND
589*35202606SHeiko Stuebner */
590*35202606SHeiko Stuebner&uart2 {
591*35202606SHeiko Stuebner	status = "okay";
592*35202606SHeiko Stuebner};
593*35202606SHeiko Stuebner
594*35202606SHeiko Stuebner&usb2phy0 {
595*35202606SHeiko Stuebner	status = "okay";
596*35202606SHeiko Stuebner};
597*35202606SHeiko Stuebner
598*35202606SHeiko Stuebner/* connected to usb_host0_xhci */
599*35202606SHeiko Stuebner&usb2phy0_otg {
600*35202606SHeiko Stuebner	phy-supply = <&vcc5v0_otg>;
601*35202606SHeiko Stuebner	status = "okay";
602*35202606SHeiko Stuebner};
603*35202606SHeiko Stuebner
604*35202606SHeiko Stuebner/* front port */
605*35202606SHeiko Stuebner&usb_host0_xhci {
606*35202606SHeiko Stuebner	dr_mode = "host";
607*35202606SHeiko Stuebner	status = "okay";
608*35202606SHeiko Stuebner};
609