xref: /linux/arch/arm64/boot/dts/rockchip/rk3588s-gameforce-ace.dts (revision 3a39d672e7f48b8d6b91a09afa4b55352773b4b5)
1*4e946c44SChris Morgan// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2*4e946c44SChris Morgan
3*4e946c44SChris Morgan/dts-v1/;
4*4e946c44SChris Morgan
5*4e946c44SChris Morgan#include <dt-bindings/gpio/gpio.h>
6*4e946c44SChris Morgan#include <dt-bindings/input/linux-event-codes.h>
7*4e946c44SChris Morgan#include <dt-bindings/leds/common.h>
8*4e946c44SChris Morgan#include <dt-bindings/pinctrl/rockchip.h>
9*4e946c44SChris Morgan#include <dt-bindings/pwm/pwm.h>
10*4e946c44SChris Morgan#include <dt-bindings/thermal/thermal.h>
11*4e946c44SChris Morgan#include <dt-bindings/usb/pd.h>
12*4e946c44SChris Morgan#include "rk3588s.dtsi"
13*4e946c44SChris Morgan
14*4e946c44SChris Morgan/ {
15*4e946c44SChris Morgan	model = "Gameforce Ace";
16*4e946c44SChris Morgan	chassis-type = "handset";
17*4e946c44SChris Morgan	compatible = "gameforce,ace", "rockchip,rk3588s";
18*4e946c44SChris Morgan
19*4e946c44SChris Morgan	aliases {
20*4e946c44SChris Morgan		mmc0 = &sdhci;
21*4e946c44SChris Morgan		mmc1 = &sdmmc;
22*4e946c44SChris Morgan		mmc2 = &sdio;
23*4e946c44SChris Morgan	};
24*4e946c44SChris Morgan
25*4e946c44SChris Morgan	chosen {
26*4e946c44SChris Morgan		stdout-path = "serial2:1500000n8";
27*4e946c44SChris Morgan	};
28*4e946c44SChris Morgan
29*4e946c44SChris Morgan	adc_keys: adc-keys {
30*4e946c44SChris Morgan		compatible = "adc-keys";
31*4e946c44SChris Morgan		io-channels = <&saradc 1>;
32*4e946c44SChris Morgan		io-channel-names = "buttons";
33*4e946c44SChris Morgan		keyup-threshold-microvolt = <1800000>;
34*4e946c44SChris Morgan		poll-interval = <60>;
35*4e946c44SChris Morgan
36*4e946c44SChris Morgan		button-vol-up {
37*4e946c44SChris Morgan			label = "VOLUMEUP";
38*4e946c44SChris Morgan			linux,code = <KEY_VOLUMEUP>;
39*4e946c44SChris Morgan			press-threshold-microvolt = <17000>;
40*4e946c44SChris Morgan		};
41*4e946c44SChris Morgan
42*4e946c44SChris Morgan		button-vol-down {
43*4e946c44SChris Morgan			label = "VOLUMEDOWN";
44*4e946c44SChris Morgan			linux,code = <KEY_VOLUMEDOWN>;
45*4e946c44SChris Morgan			press-threshold-microvolt = <417000>;
46*4e946c44SChris Morgan		};
47*4e946c44SChris Morgan	};
48*4e946c44SChris Morgan
49*4e946c44SChris Morgan	/* Joystick range values based on hardware observation. */
50*4e946c44SChris Morgan	adc_joystick: adc-joystick {
51*4e946c44SChris Morgan		compatible = "adc-joystick";
52*4e946c44SChris Morgan		io-channels = <&saradc 2>, <&saradc 3>,
53*4e946c44SChris Morgan			      <&saradc 4>, <&saradc 5>;
54*4e946c44SChris Morgan		poll-interval = <60>;
55*4e946c44SChris Morgan		#address-cells = <1>;
56*4e946c44SChris Morgan		#size-cells = <0>;
57*4e946c44SChris Morgan
58*4e946c44SChris Morgan		axis@0 {
59*4e946c44SChris Morgan			reg = <0>;
60*4e946c44SChris Morgan			abs-flat = <40>;
61*4e946c44SChris Morgan			abs-fuzz = <30>;
62*4e946c44SChris Morgan			abs-range = <0 4095>;
63*4e946c44SChris Morgan			linux,code = <ABS_RX>;
64*4e946c44SChris Morgan		};
65*4e946c44SChris Morgan
66*4e946c44SChris Morgan		axis@1 {
67*4e946c44SChris Morgan			reg = <1>;
68*4e946c44SChris Morgan			abs-flat = <40>;
69*4e946c44SChris Morgan			abs-fuzz = <30>;
70*4e946c44SChris Morgan			abs-range = <0 4095>;
71*4e946c44SChris Morgan			linux,code = <ABS_RY>;
72*4e946c44SChris Morgan		};
73*4e946c44SChris Morgan
74*4e946c44SChris Morgan		axis@2 {
75*4e946c44SChris Morgan			reg = <2>;
76*4e946c44SChris Morgan			abs-flat = <40>;
77*4e946c44SChris Morgan			abs-fuzz = <30>;
78*4e946c44SChris Morgan			abs-range = <0 4095>;
79*4e946c44SChris Morgan			linux,code = <ABS_Y>;
80*4e946c44SChris Morgan		};
81*4e946c44SChris Morgan
82*4e946c44SChris Morgan		axis@3 {
83*4e946c44SChris Morgan			reg = <3>;
84*4e946c44SChris Morgan			abs-flat = <40>;
85*4e946c44SChris Morgan			abs-fuzz = <30>;
86*4e946c44SChris Morgan			abs-range = <0 4095>;
87*4e946c44SChris Morgan			linux,code = <ABS_X>;
88*4e946c44SChris Morgan		};
89*4e946c44SChris Morgan	};
90*4e946c44SChris Morgan
91*4e946c44SChris Morgan	/* Trigger range values based on hardware observation. */
92*4e946c44SChris Morgan	adc_triggers: adc-trigger {
93*4e946c44SChris Morgan		compatible = "adc-joystick";
94*4e946c44SChris Morgan		io-channels = <&ti_adc 6>,
95*4e946c44SChris Morgan			      <&ti_adc 7>;
96*4e946c44SChris Morgan		poll-interval = <60>;
97*4e946c44SChris Morgan		#address-cells = <1>;
98*4e946c44SChris Morgan		#size-cells = <0>;
99*4e946c44SChris Morgan
100*4e946c44SChris Morgan		axis@0 {
101*4e946c44SChris Morgan			reg = <0>;
102*4e946c44SChris Morgan			abs-flat = <15>;
103*4e946c44SChris Morgan			abs-fuzz = <15>;
104*4e946c44SChris Morgan			abs-range = <890 1530>;
105*4e946c44SChris Morgan			linux,code = <ABS_HAT2X>;
106*4e946c44SChris Morgan		};
107*4e946c44SChris Morgan
108*4e946c44SChris Morgan		axis@1 {
109*4e946c44SChris Morgan			reg = <1>;
110*4e946c44SChris Morgan			abs-flat = <15>;
111*4e946c44SChris Morgan			abs-fuzz = <15>;
112*4e946c44SChris Morgan			abs-range = <1010 1550>;
113*4e946c44SChris Morgan			linux,code = <ABS_HAT2Y>;
114*4e946c44SChris Morgan		};
115*4e946c44SChris Morgan	};
116*4e946c44SChris Morgan
117*4e946c44SChris Morgan	analog-sound {
118*4e946c44SChris Morgan		compatible = "simple-audio-card";
119*4e946c44SChris Morgan		pinctrl-0 = <&hp_detect>;
120*4e946c44SChris Morgan		pinctrl-names = "default";
121*4e946c44SChris Morgan		simple-audio-card,aux-devs = <&amp_headphone>, <&amp_speaker>;
122*4e946c44SChris Morgan		simple-audio-card,bitclock-master = <&masterdai>;
123*4e946c44SChris Morgan		simple-audio-card,format = "i2s";
124*4e946c44SChris Morgan		simple-audio-card,frame-master = <&masterdai>;
125*4e946c44SChris Morgan		simple-audio-card,hp-det-gpio = <&gpio3 RK_PA6 GPIO_ACTIVE_LOW>;
126*4e946c44SChris Morgan		simple-audio-card,mclk-fs = <256>;
127*4e946c44SChris Morgan		simple-audio-card,name = "rockchip,es8388-codec";
128*4e946c44SChris Morgan		simple-audio-card,pin-switches = "Headphones", "Speaker";
129*4e946c44SChris Morgan		simple-audio-card,routing =
130*4e946c44SChris Morgan			"Speaker Amplifier INL", "LOUT2",
131*4e946c44SChris Morgan			"Speaker Amplifier INR", "ROUT2",
132*4e946c44SChris Morgan			"Speaker", "Speaker Amplifier OUTL",
133*4e946c44SChris Morgan			"Speaker", "Speaker Amplifier OUTR",
134*4e946c44SChris Morgan			"Headphones Amplifier INL", "LOUT1",
135*4e946c44SChris Morgan			"Headphones Amplifier INR", "ROUT1",
136*4e946c44SChris Morgan			"Headphones", "Headphones Amplifier OUTL",
137*4e946c44SChris Morgan			"Headphones", "Headphones Amplifier OUTR",
138*4e946c44SChris Morgan			"LINPUT1", "Microphone Jack",
139*4e946c44SChris Morgan			"RINPUT1", "Microphone Jack",
140*4e946c44SChris Morgan			"LINPUT2", "Onboard Microphone",
141*4e946c44SChris Morgan			"RINPUT2", "Onboard Microphone";
142*4e946c44SChris Morgan		simple-audio-card,widgets =
143*4e946c44SChris Morgan			"Microphone", "Microphone Jack",
144*4e946c44SChris Morgan			"Microphone", "Onboard Microphone",
145*4e946c44SChris Morgan			"Headphone", "Headphones",
146*4e946c44SChris Morgan			"Speaker", "Speaker";
147*4e946c44SChris Morgan
148*4e946c44SChris Morgan		masterdai: simple-audio-card,codec {
149*4e946c44SChris Morgan			sound-dai = <&es8388>;
150*4e946c44SChris Morgan			system-clock-frequency = <12288000>;
151*4e946c44SChris Morgan		};
152*4e946c44SChris Morgan
153*4e946c44SChris Morgan		simple-audio-card,cpu {
154*4e946c44SChris Morgan			sound-dai = <&i2s0_8ch>;
155*4e946c44SChris Morgan		};
156*4e946c44SChris Morgan	};
157*4e946c44SChris Morgan
158*4e946c44SChris Morgan	backlight: backlight {
159*4e946c44SChris Morgan		compatible = "pwm-backlight";
160*4e946c44SChris Morgan		enable-gpios = <&gpio3 RK_PC0 GPIO_ACTIVE_HIGH>;
161*4e946c44SChris Morgan		pinctrl-0 = <&lcd_bl_en>;
162*4e946c44SChris Morgan		pinctrl-names = "default";
163*4e946c44SChris Morgan		pwms = <&pwm13 0 25000 PWM_POLARITY_INVERTED>;
164*4e946c44SChris Morgan	};
165*4e946c44SChris Morgan
166*4e946c44SChris Morgan	battery: battery {
167*4e946c44SChris Morgan		compatible = "simple-battery";
168*4e946c44SChris Morgan		charge-full-design-microamp-hours = <3700000>;
169*4e946c44SChris Morgan		constant-charge-current-max-microamp = <2500000>;
170*4e946c44SChris Morgan		constant-charge-voltage-max-microvolt = <8750000>;
171*4e946c44SChris Morgan		voltage-min-design-microvolt = <7400000>;
172*4e946c44SChris Morgan	};
173*4e946c44SChris Morgan
174*4e946c44SChris Morgan	gpio_keys: gpio-keys {
175*4e946c44SChris Morgan		compatible = "gpio-keys";
176*4e946c44SChris Morgan		pinctrl-0 = <&btn_pins_ctrl>;
177*4e946c44SChris Morgan		pinctrl-names = "default";
178*4e946c44SChris Morgan
179*4e946c44SChris Morgan		button-a {
180*4e946c44SChris Morgan			gpios = <&gpio1 RK_PC6 GPIO_ACTIVE_LOW>;
181*4e946c44SChris Morgan			label = "EAST";
182*4e946c44SChris Morgan			linux,code = <BTN_EAST>;
183*4e946c44SChris Morgan		};
184*4e946c44SChris Morgan
185*4e946c44SChris Morgan		button-b {
186*4e946c44SChris Morgan			gpios = <&gpio1 RK_PA5 GPIO_ACTIVE_LOW>;
187*4e946c44SChris Morgan			label = "SOUTH";
188*4e946c44SChris Morgan			linux,code = <BTN_SOUTH>;
189*4e946c44SChris Morgan		};
190*4e946c44SChris Morgan
191*4e946c44SChris Morgan		button-down {
192*4e946c44SChris Morgan			gpios = <&gpio1 RK_PB1 GPIO_ACTIVE_LOW>;
193*4e946c44SChris Morgan			label = "DPAD-DOWN";
194*4e946c44SChris Morgan			linux,code = <BTN_DPAD_DOWN>;
195*4e946c44SChris Morgan		};
196*4e946c44SChris Morgan
197*4e946c44SChris Morgan		button-home {
198*4e946c44SChris Morgan			gpios = <&gpio1 RK_PA0 GPIO_ACTIVE_LOW>;
199*4e946c44SChris Morgan			label = "FUNCTION";
200*4e946c44SChris Morgan			linux,code = <BTN_MODE>;
201*4e946c44SChris Morgan		};
202*4e946c44SChris Morgan
203*4e946c44SChris Morgan		button-l1 {
204*4e946c44SChris Morgan			gpios = <&gpio1 RK_PB5 GPIO_ACTIVE_LOW>;
205*4e946c44SChris Morgan			label = "L1";
206*4e946c44SChris Morgan			linux,code = <BTN_TL>;
207*4e946c44SChris Morgan		};
208*4e946c44SChris Morgan
209*4e946c44SChris Morgan		button-left {
210*4e946c44SChris Morgan			gpios = <&gpio1 RK_PD7 GPIO_ACTIVE_LOW>;
211*4e946c44SChris Morgan			label = "DPAD-LEFT";
212*4e946c44SChris Morgan			linux,code = <BTN_DPAD_LEFT>;
213*4e946c44SChris Morgan		};
214*4e946c44SChris Morgan
215*4e946c44SChris Morgan		button-menu {
216*4e946c44SChris Morgan			gpios = <&gpio1 RK_PB0 GPIO_ACTIVE_LOW>;
217*4e946c44SChris Morgan			label = "HOME";
218*4e946c44SChris Morgan			linux,code = <KEY_HOME>;
219*4e946c44SChris Morgan		};
220*4e946c44SChris Morgan
221*4e946c44SChris Morgan		button-r1 {
222*4e946c44SChris Morgan			gpios = <&gpio1 RK_PB2 GPIO_ACTIVE_LOW>;
223*4e946c44SChris Morgan			label = "R1";
224*4e946c44SChris Morgan			linux,code = <BTN_TR>;
225*4e946c44SChris Morgan		};
226*4e946c44SChris Morgan
227*4e946c44SChris Morgan		button-right {
228*4e946c44SChris Morgan			gpios = <&gpio1 RK_PB7 GPIO_ACTIVE_LOW>;
229*4e946c44SChris Morgan			label = "DPAD-RIGHT";
230*4e946c44SChris Morgan			linux,code = <BTN_DPAD_RIGHT>;
231*4e946c44SChris Morgan		};
232*4e946c44SChris Morgan
233*4e946c44SChris Morgan		button-select {
234*4e946c44SChris Morgan			gpios = <&gpio1 RK_PA3 GPIO_ACTIVE_LOW>;
235*4e946c44SChris Morgan			label = "SELECT";
236*4e946c44SChris Morgan			linux,code = <BTN_SELECT>;
237*4e946c44SChris Morgan		};
238*4e946c44SChris Morgan
239*4e946c44SChris Morgan		button-start {
240*4e946c44SChris Morgan			gpios = <&gpio1 RK_PB6 GPIO_ACTIVE_LOW>;
241*4e946c44SChris Morgan			label = "START";
242*4e946c44SChris Morgan			linux,code = <BTN_START>;
243*4e946c44SChris Morgan		};
244*4e946c44SChris Morgan
245*4e946c44SChris Morgan		button-thumbl {
246*4e946c44SChris Morgan			gpios = <&gpio1 RK_PA4 GPIO_ACTIVE_LOW>;
247*4e946c44SChris Morgan			label = "THUMBL";
248*4e946c44SChris Morgan			linux,code = <BTN_THUMBL>;
249*4e946c44SChris Morgan		};
250*4e946c44SChris Morgan
251*4e946c44SChris Morgan		button-thumbr {
252*4e946c44SChris Morgan			gpios = <&gpio1 RK_PD6 GPIO_ACTIVE_LOW>;
253*4e946c44SChris Morgan			label = "THUMBR";
254*4e946c44SChris Morgan			linux,code = <BTN_THUMBR>;
255*4e946c44SChris Morgan		};
256*4e946c44SChris Morgan
257*4e946c44SChris Morgan		button-up {
258*4e946c44SChris Morgan			gpios = <&gpio1 RK_PA2 GPIO_ACTIVE_LOW>;
259*4e946c44SChris Morgan			label = "DPAD-UP";
260*4e946c44SChris Morgan			linux,code = <BTN_DPAD_UP>;
261*4e946c44SChris Morgan		};
262*4e946c44SChris Morgan
263*4e946c44SChris Morgan		button-x {
264*4e946c44SChris Morgan			gpios = <&gpio1 RK_PB4 GPIO_ACTIVE_LOW>;
265*4e946c44SChris Morgan			label = "NORTH";
266*4e946c44SChris Morgan			linux,code = <BTN_NORTH>;
267*4e946c44SChris Morgan		};
268*4e946c44SChris Morgan
269*4e946c44SChris Morgan		button-y {
270*4e946c44SChris Morgan			gpios = <&gpio1 RK_PB3 GPIO_ACTIVE_LOW>;
271*4e946c44SChris Morgan			label = "WEST";
272*4e946c44SChris Morgan			linux,code = <BTN_WEST>;
273*4e946c44SChris Morgan		};
274*4e946c44SChris Morgan	};
275*4e946c44SChris Morgan
276*4e946c44SChris Morgan	gpio_leds: gpio-leds {
277*4e946c44SChris Morgan		compatible = "gpio-leds";
278*4e946c44SChris Morgan		pinctrl-names = "default";
279*4e946c44SChris Morgan		pinctrl-0 = <&led_pins>;
280*4e946c44SChris Morgan
281*4e946c44SChris Morgan		green_led: led-0 {
282*4e946c44SChris Morgan			color = <LED_COLOR_ID_GREEN>;
283*4e946c44SChris Morgan			gpios = <&gpio3 RK_PC1 GPIO_ACTIVE_HIGH>;
284*4e946c44SChris Morgan			function = LED_FUNCTION_STATUS;
285*4e946c44SChris Morgan		};
286*4e946c44SChris Morgan
287*4e946c44SChris Morgan		red_led: led-1 {
288*4e946c44SChris Morgan			color = <LED_COLOR_ID_RED>;
289*4e946c44SChris Morgan			gpios = <&gpio3 RK_PC2 GPIO_ACTIVE_HIGH>;
290*4e946c44SChris Morgan			function = LED_FUNCTION_CHARGING;
291*4e946c44SChris Morgan		};
292*4e946c44SChris Morgan	};
293*4e946c44SChris Morgan
294*4e946c44SChris Morgan	amp_headphone: headphone-amplifier {
295*4e946c44SChris Morgan		compatible = "simple-audio-amplifier";
296*4e946c44SChris Morgan		enable-gpios = <&gpio0 RK_PD4 GPIO_ACTIVE_HIGH>;
297*4e946c44SChris Morgan		pinctrl-0 = <&headphone_amplifier_en>;
298*4e946c44SChris Morgan		pinctrl-names = "default";
299*4e946c44SChris Morgan		sound-name-prefix = "Headphones Amplifier";
300*4e946c44SChris Morgan	};
301*4e946c44SChris Morgan
302*4e946c44SChris Morgan	pwm_fan: pwm-fan {
303*4e946c44SChris Morgan		compatible = "pwm-fan";
304*4e946c44SChris Morgan		#cooling-cells = <2>;
305*4e946c44SChris Morgan		cooling-levels = <0 120 150 180 210 240 255>;
306*4e946c44SChris Morgan		fan-supply = <&vcc5v0_sys>;
307*4e946c44SChris Morgan		interrupt-parent = <&gpio4>;
308*4e946c44SChris Morgan		interrupts = <RK_PB2 IRQ_TYPE_EDGE_RISING>;
309*4e946c44SChris Morgan		pulses-per-revolution = <4>;
310*4e946c44SChris Morgan		pwms = <&pwm12 0 50000 PWM_POLARITY_INVERTED>;
311*4e946c44SChris Morgan	};
312*4e946c44SChris Morgan
313*4e946c44SChris Morgan	pwm_gpio33: pwm-33 {
314*4e946c44SChris Morgan		compatible = "pwm-gpio";
315*4e946c44SChris Morgan		gpios = <&gpio1 RK_PA1 GPIO_ACTIVE_HIGH>;
316*4e946c44SChris Morgan		pinctrl-0 = <&vib_right_h>;
317*4e946c44SChris Morgan		pinctrl-names = "default";
318*4e946c44SChris Morgan		#pwm-cells = <3>;
319*4e946c44SChris Morgan	};
320*4e946c44SChris Morgan
321*4e946c44SChris Morgan	pwm_gpio132: pwm-132 {
322*4e946c44SChris Morgan		compatible = "pwm-gpio";
323*4e946c44SChris Morgan		gpios = <&gpio4 RK_PA4 GPIO_ACTIVE_HIGH>;
324*4e946c44SChris Morgan		pinctrl-0 = <&vib_left_h>;
325*4e946c44SChris Morgan		pinctrl-names = "default";
326*4e946c44SChris Morgan		#pwm-cells = <3>;
327*4e946c44SChris Morgan	};
328*4e946c44SChris Morgan
329*4e946c44SChris Morgan	sdio_pwrseq: sdio-pwrseq {
330*4e946c44SChris Morgan		compatible = "mmc-pwrseq-simple";
331*4e946c44SChris Morgan		clock-names = "ext_clock";
332*4e946c44SChris Morgan		clocks = <&rtc_hym8563>;
333*4e946c44SChris Morgan		pinctrl-0 = <&wifi_enable_h>;
334*4e946c44SChris Morgan		pinctrl-names = "default";
335*4e946c44SChris Morgan		post-power-on-delay-ms = <200>;
336*4e946c44SChris Morgan		power-off-delay-us = <5000000>;
337*4e946c44SChris Morgan		reset-gpios = <&gpio3 RK_PB4 GPIO_ACTIVE_LOW>;
338*4e946c44SChris Morgan	};
339*4e946c44SChris Morgan
340*4e946c44SChris Morgan	amp_speaker: speaker-amplifier {
341*4e946c44SChris Morgan		compatible = "simple-audio-amplifier";
342*4e946c44SChris Morgan		enable-gpios = <&gpio4 RK_PA5 GPIO_ACTIVE_HIGH>;
343*4e946c44SChris Morgan		pinctrl-0 = <&speaker_amplifier_en>;
344*4e946c44SChris Morgan		pinctrl-names = "default";
345*4e946c44SChris Morgan		sound-name-prefix = "Speaker Amplifier";
346*4e946c44SChris Morgan		VCC-supply = <&vcc5v0_spk>;
347*4e946c44SChris Morgan	};
348*4e946c44SChris Morgan
349*4e946c44SChris Morgan	vcc_1v1_nldo_s3: vcc-1v1-nldo-s3-regulator {
350*4e946c44SChris Morgan		compatible = "regulator-fixed";
351*4e946c44SChris Morgan		regulator-always-on;
352*4e946c44SChris Morgan		regulator-boot-on;
353*4e946c44SChris Morgan		regulator-max-microvolt = <1100000>;
354*4e946c44SChris Morgan		regulator-min-microvolt = <1100000>;
355*4e946c44SChris Morgan		regulator-name = "vcc_1v1_nldo_s3";
356*4e946c44SChris Morgan		vin-supply = <&vcc5v0_sys>;
357*4e946c44SChris Morgan	};
358*4e946c44SChris Morgan
359*4e946c44SChris Morgan	vcc3v3_lcd0_n: vcc3v3-lcd0-n-regulator {
360*4e946c44SChris Morgan		compatible = "regulator-fixed";
361*4e946c44SChris Morgan		enable-active-high;
362*4e946c44SChris Morgan		gpio = <&gpio4 RK_PA7 GPIO_ACTIVE_HIGH>;
363*4e946c44SChris Morgan		pinctrl-0 = <&vcc_lcd_h>;
364*4e946c44SChris Morgan		pinctrl-names = "default";
365*4e946c44SChris Morgan		regulator-max-microvolt = <3300000>;
366*4e946c44SChris Morgan		regulator-min-microvolt = <3300000>;
367*4e946c44SChris Morgan		regulator-name = "vcc3v3_lcd0_n";
368*4e946c44SChris Morgan		vin-supply = <&vcc_3v3_s3>;
369*4e946c44SChris Morgan		regulator-state-mem {
370*4e946c44SChris Morgan			regulator-off-in-suspend;
371*4e946c44SChris Morgan		};
372*4e946c44SChris Morgan	};
373*4e946c44SChris Morgan
374*4e946c44SChris Morgan	vcc_3v3_sd_s0: vcc-3v3-sd-s0-regulator {
375*4e946c44SChris Morgan		compatible = "regulator-fixed";
376*4e946c44SChris Morgan		enable-active-high;
377*4e946c44SChris Morgan		gpio = <&gpio4 RK_PB4 GPIO_ACTIVE_HIGH>;
378*4e946c44SChris Morgan		pinctrl-0 = <&sd_s0_pwr>;
379*4e946c44SChris Morgan		pinctrl-names = "default";
380*4e946c44SChris Morgan		regulator-max-microvolt = <3000000>;
381*4e946c44SChris Morgan		regulator-min-microvolt = <3000000>;
382*4e946c44SChris Morgan		regulator-name = "vcc_3v3_sd_s0";
383*4e946c44SChris Morgan		vin-supply = <&vcc_3v3_s3>;
384*4e946c44SChris Morgan	};
385*4e946c44SChris Morgan
386*4e946c44SChris Morgan	vcc5v0_spk: vcc5v0-spk-regulator {
387*4e946c44SChris Morgan		compatible = "regulator-fixed";
388*4e946c44SChris Morgan		enable-active-high;
389*4e946c44SChris Morgan		gpio = <&gpio4 RK_PA2 GPIO_ACTIVE_HIGH>;
390*4e946c44SChris Morgan		pinctrl-0 = <&vcc5v0_spk_pwr>;
391*4e946c44SChris Morgan		pinctrl-names = "default";
392*4e946c44SChris Morgan		regulator-max-microvolt = <5000000>;
393*4e946c44SChris Morgan		regulator-min-microvolt = <5000000>;
394*4e946c44SChris Morgan		regulator-name = "vcc5v0_spk";
395*4e946c44SChris Morgan		vin-supply = <&vcc5v0_sys>;
396*4e946c44SChris Morgan		regulator-state-mem {
397*4e946c44SChris Morgan			regulator-off-in-suspend;
398*4e946c44SChris Morgan		};
399*4e946c44SChris Morgan	};
400*4e946c44SChris Morgan
401*4e946c44SChris Morgan	vcc5v0_sys: vcc5v0-sys-regulator {
402*4e946c44SChris Morgan		compatible = "regulator-fixed";
403*4e946c44SChris Morgan		regulator-always-on;
404*4e946c44SChris Morgan		regulator-boot-on;
405*4e946c44SChris Morgan		regulator-max-microvolt = <5000000>;
406*4e946c44SChris Morgan		regulator-min-microvolt = <5000000>;
407*4e946c44SChris Morgan		regulator-name = "vcc5v0_sys";
408*4e946c44SChris Morgan	};
409*4e946c44SChris Morgan
410*4e946c44SChris Morgan	vibrator_l: vibrator-l {
411*4e946c44SChris Morgan		compatible = "pwm-vibrator";
412*4e946c44SChris Morgan		pwm-names = "enable";
413*4e946c44SChris Morgan		pwms = <&pwm_gpio132 0 20000000 0>;
414*4e946c44SChris Morgan	};
415*4e946c44SChris Morgan
416*4e946c44SChris Morgan	vibrator_r: vibrator-r {
417*4e946c44SChris Morgan		compatible = "pwm-vibrator";
418*4e946c44SChris Morgan		pwm-names = "enable";
419*4e946c44SChris Morgan		pwms = <&pwm_gpio33 0 20000000 0>;
420*4e946c44SChris Morgan	};
421*4e946c44SChris Morgan};
422*4e946c44SChris Morgan
423*4e946c44SChris Morgan&combphy2_psu {
424*4e946c44SChris Morgan	status = "okay";
425*4e946c44SChris Morgan};
426*4e946c44SChris Morgan
427*4e946c44SChris Morgan&cpu_l0 {
428*4e946c44SChris Morgan	cpu-supply = <&vdd_cpu_lit_s0>;
429*4e946c44SChris Morgan};
430*4e946c44SChris Morgan
431*4e946c44SChris Morgan&cpu_l1 {
432*4e946c44SChris Morgan	cpu-supply = <&vdd_cpu_lit_s0>;
433*4e946c44SChris Morgan};
434*4e946c44SChris Morgan
435*4e946c44SChris Morgan&cpu_l2 {
436*4e946c44SChris Morgan	cpu-supply = <&vdd_cpu_lit_s0>;
437*4e946c44SChris Morgan};
438*4e946c44SChris Morgan
439*4e946c44SChris Morgan&cpu_l3 {
440*4e946c44SChris Morgan	cpu-supply = <&vdd_cpu_lit_s0>;
441*4e946c44SChris Morgan};
442*4e946c44SChris Morgan
443*4e946c44SChris Morgan&cpu_b0 {
444*4e946c44SChris Morgan	cpu-supply = <&vdd_cpu_big0_s0>;
445*4e946c44SChris Morgan};
446*4e946c44SChris Morgan
447*4e946c44SChris Morgan&cpu_b1 {
448*4e946c44SChris Morgan	cpu-supply = <&vdd_cpu_big0_s0>;
449*4e946c44SChris Morgan};
450*4e946c44SChris Morgan
451*4e946c44SChris Morgan&cpu_b2 {
452*4e946c44SChris Morgan	cpu-supply = <&vdd_cpu_big1_s0>;
453*4e946c44SChris Morgan};
454*4e946c44SChris Morgan
455*4e946c44SChris Morgan&cpu_b3 {
456*4e946c44SChris Morgan	cpu-supply = <&vdd_cpu_big1_s0>;
457*4e946c44SChris Morgan};
458*4e946c44SChris Morgan
459*4e946c44SChris Morgan&gpu {
460*4e946c44SChris Morgan	mali-supply = <&vdd_gpu_s0>;
461*4e946c44SChris Morgan	status = "okay";
462*4e946c44SChris Morgan};
463*4e946c44SChris Morgan
464*4e946c44SChris Morgan&i2c0 {
465*4e946c44SChris Morgan	pinctrl-0 = <&i2c0m2_xfer>;
466*4e946c44SChris Morgan	pinctrl-names = "default";
467*4e946c44SChris Morgan	status = "okay";
468*4e946c44SChris Morgan
469*4e946c44SChris Morgan	vdd_cpu_big0_s0: regulator@42 {
470*4e946c44SChris Morgan		compatible = "rockchip,rk8602";
471*4e946c44SChris Morgan		reg = <0x42>;
472*4e946c44SChris Morgan		fcs,suspend-voltage-selector = <1>;
473*4e946c44SChris Morgan		regulator-max-microvolt = <1050000>;
474*4e946c44SChris Morgan		regulator-min-microvolt = <550000>;
475*4e946c44SChris Morgan		regulator-name = "vdd_cpu_big0_s0";
476*4e946c44SChris Morgan		regulator-ramp-delay = <2300>;
477*4e946c44SChris Morgan		vin-supply = <&vcc5v0_sys>;
478*4e946c44SChris Morgan
479*4e946c44SChris Morgan		regulator-state-mem {
480*4e946c44SChris Morgan			regulator-off-in-suspend;
481*4e946c44SChris Morgan		};
482*4e946c44SChris Morgan	};
483*4e946c44SChris Morgan
484*4e946c44SChris Morgan	vdd_cpu_big1_s0: regulator@43 {
485*4e946c44SChris Morgan		compatible = "rockchip,rk8603", "rockchip,rk8602";
486*4e946c44SChris Morgan		reg = <0x43>;
487*4e946c44SChris Morgan		fcs,suspend-voltage-selector = <1>;
488*4e946c44SChris Morgan		regulator-max-microvolt = <1050000>;
489*4e946c44SChris Morgan		regulator-min-microvolt = <550000>;
490*4e946c44SChris Morgan		regulator-name = "vdd_cpu_big1_s0";
491*4e946c44SChris Morgan		regulator-ramp-delay = <2300>;
492*4e946c44SChris Morgan		vin-supply = <&vcc5v0_sys>;
493*4e946c44SChris Morgan
494*4e946c44SChris Morgan		regulator-state-mem {
495*4e946c44SChris Morgan			regulator-off-in-suspend;
496*4e946c44SChris Morgan		};
497*4e946c44SChris Morgan	};
498*4e946c44SChris Morgan};
499*4e946c44SChris Morgan
500*4e946c44SChris Morgan&i2c2 {
501*4e946c44SChris Morgan	status = "okay";
502*4e946c44SChris Morgan
503*4e946c44SChris Morgan	vdd_npu_s0: regulator@42 {
504*4e946c44SChris Morgan		compatible = "rockchip,rk8602";
505*4e946c44SChris Morgan		reg = <0x42>;
506*4e946c44SChris Morgan		fcs,suspend-voltage-selector = <1>;
507*4e946c44SChris Morgan		regulator-max-microvolt = <950000>;
508*4e946c44SChris Morgan		regulator-min-microvolt = <550000>;
509*4e946c44SChris Morgan		regulator-name = "vdd_npu_s0";
510*4e946c44SChris Morgan		regulator-ramp-delay = <2300>;
511*4e946c44SChris Morgan		vin-supply = <&vcc5v0_sys>;
512*4e946c44SChris Morgan
513*4e946c44SChris Morgan		regulator-state-mem {
514*4e946c44SChris Morgan			regulator-off-in-suspend;
515*4e946c44SChris Morgan		};
516*4e946c44SChris Morgan	};
517*4e946c44SChris Morgan};
518*4e946c44SChris Morgan
519*4e946c44SChris Morgan&i2c3 {
520*4e946c44SChris Morgan	status = "okay";
521*4e946c44SChris Morgan
522*4e946c44SChris Morgan	touchscreen@14 {
523*4e946c44SChris Morgan		compatible = "goodix,gt911";
524*4e946c44SChris Morgan		reg = <0x14>;
525*4e946c44SChris Morgan		interrupt-parent = <&gpio1>;
526*4e946c44SChris Morgan		interrupts = <RK_PA6 IRQ_TYPE_LEVEL_LOW>;
527*4e946c44SChris Morgan		irq-gpios = <&gpio1 RK_PA6 GPIO_ACTIVE_HIGH>;
528*4e946c44SChris Morgan		pinctrl-0 = <&touch_int>, <&touch_rst>;
529*4e946c44SChris Morgan		pinctrl-names = "default";
530*4e946c44SChris Morgan		reset-gpios = <&gpio1 RK_PA7 GPIO_ACTIVE_HIGH>;
531*4e946c44SChris Morgan		touchscreen-inverted-x;
532*4e946c44SChris Morgan		touchscreen-size-x = <1080>;
533*4e946c44SChris Morgan		touchscreen-size-y = <1920>;
534*4e946c44SChris Morgan		touchscreen-swapped-x-y;
535*4e946c44SChris Morgan	};
536*4e946c44SChris Morgan};
537*4e946c44SChris Morgan
538*4e946c44SChris Morgan&i2c4 {
539*4e946c44SChris Morgan	pinctrl-0 = <&i2c4m2_xfer>;
540*4e946c44SChris Morgan	status = "okay";
541*4e946c44SChris Morgan
542*4e946c44SChris Morgan	ti_adc: adc@48 {
543*4e946c44SChris Morgan		compatible = "ti,ads1015";
544*4e946c44SChris Morgan		reg = <0x48>;
545*4e946c44SChris Morgan		#address-cells = <1>;
546*4e946c44SChris Morgan		#io-channel-cells = <1>;
547*4e946c44SChris Morgan		#size-cells = <0>;
548*4e946c44SChris Morgan
549*4e946c44SChris Morgan		channel@4 {
550*4e946c44SChris Morgan			reg = <4>;
551*4e946c44SChris Morgan		};
552*4e946c44SChris Morgan
553*4e946c44SChris Morgan		channel@5 {
554*4e946c44SChris Morgan			reg = <5>;
555*4e946c44SChris Morgan		};
556*4e946c44SChris Morgan
557*4e946c44SChris Morgan		channel@6 {
558*4e946c44SChris Morgan			reg = <6>;
559*4e946c44SChris Morgan		};
560*4e946c44SChris Morgan
561*4e946c44SChris Morgan		channel@7 {
562*4e946c44SChris Morgan			reg = <7>;
563*4e946c44SChris Morgan		};
564*4e946c44SChris Morgan	};
565*4e946c44SChris Morgan
566*4e946c44SChris Morgan	imu@68 {
567*4e946c44SChris Morgan		compatible = "invensense,mpu6880";
568*4e946c44SChris Morgan		reg = <0x68>;
569*4e946c44SChris Morgan		interrupt-parent = <&gpio0>;
570*4e946c44SChris Morgan		interrupts = <RK_PD3 IRQ_TYPE_EDGE_RISING>;
571*4e946c44SChris Morgan	};
572*4e946c44SChris Morgan};
573*4e946c44SChris Morgan
574*4e946c44SChris Morgan&i2c6 {
575*4e946c44SChris Morgan	pinctrl-0 = <&i2c6m3_xfer>;
576*4e946c44SChris Morgan	status = "okay";
577*4e946c44SChris Morgan
578*4e946c44SChris Morgan	rtc_hym8563: rtc@51 {
579*4e946c44SChris Morgan		compatible = "haoyu,hym8563";
580*4e946c44SChris Morgan		reg = <0x51>;
581*4e946c44SChris Morgan		#clock-cells = <0>;
582*4e946c44SChris Morgan		clock-output-names = "hym8563";
583*4e946c44SChris Morgan		interrupt-parent = <&gpio0>;
584*4e946c44SChris Morgan		interrupts = <RK_PB0 IRQ_TYPE_LEVEL_LOW>;
585*4e946c44SChris Morgan		pinctrl-0 = <&hym8563_int>, <&clk32k_in>;
586*4e946c44SChris Morgan		pinctrl-names = "default";
587*4e946c44SChris Morgan		wakeup-source;
588*4e946c44SChris Morgan	};
589*4e946c44SChris Morgan
590*4e946c44SChris Morgan	/* Battery profile from BSP device tree. */
591*4e946c44SChris Morgan	battery@62 {
592*4e946c44SChris Morgan		compatible = "cellwise,cw2015";
593*4e946c44SChris Morgan		reg = <0x62>;
594*4e946c44SChris Morgan
595*4e946c44SChris Morgan		cellwise,battery-profile = /bits/ 8
596*4e946c44SChris Morgan			<0x18 0x0A 0x76 0x6A 0x6A 0x6A 0x68 0x66
597*4e946c44SChris Morgan			 0x62 0x5E 0x5A 0x58 0x5F 0x59 0x46 0x3D
598*4e946c44SChris Morgan			 0x35 0x2D 0x28 0x21 0x29 0x38 0x44 0x50
599*4e946c44SChris Morgan			 0x1A 0x85 0x07 0xAE 0x14 0x28 0x48 0x56
600*4e946c44SChris Morgan			 0x66 0x66 0x66 0x6A 0x3E 0x1A 0x6C 0x3D
601*4e946c44SChris Morgan			 0x09 0x38 0x1A 0x49 0x7B 0x96 0xA2 0x15
602*4e946c44SChris Morgan			 0x3B 0x77 0x9A 0xB1 0x80 0x87 0xB0 0xCB
603*4e946c44SChris Morgan			 0x2F 0x00 0x64 0xA5 0xB5 0x1C 0xF0 0x49>;
604*4e946c44SChris Morgan		cellwise,monitor-interval-ms = <5000>;
605*4e946c44SChris Morgan		monitored-battery = <&battery>;
606*4e946c44SChris Morgan		status = "okay";
607*4e946c44SChris Morgan	};
608*4e946c44SChris Morgan};
609*4e946c44SChris Morgan
610*4e946c44SChris Morgan&i2c7 {
611*4e946c44SChris Morgan	status = "okay";
612*4e946c44SChris Morgan
613*4e946c44SChris Morgan	es8388: audio-codec@11 {
614*4e946c44SChris Morgan		compatible = "everest,es8388";
615*4e946c44SChris Morgan		reg = <0x11>;
616*4e946c44SChris Morgan		assigned-clock-rates = <12288000>;
617*4e946c44SChris Morgan		assigned-clocks = <&cru I2S0_8CH_MCLKOUT>;
618*4e946c44SChris Morgan		AVDD-supply = <&vcc_3v3_s3>;
619*4e946c44SChris Morgan		clocks = <&cru I2S0_8CH_MCLKOUT>;
620*4e946c44SChris Morgan		DVDD-supply = <&vcc_1v8_s3>;
621*4e946c44SChris Morgan		HPVDD-supply = <&vcc_3v3_s3>;
622*4e946c44SChris Morgan		PVDD-supply = <&vcc_1v8_s3>;
623*4e946c44SChris Morgan		#sound-dai-cells = <0>;
624*4e946c44SChris Morgan	};
625*4e946c44SChris Morgan};
626*4e946c44SChris Morgan
627*4e946c44SChris Morgan&i2s0_8ch {
628*4e946c44SChris Morgan	pinctrl-0 = <&i2s0_lrck
629*4e946c44SChris Morgan		     &i2s0_mclk
630*4e946c44SChris Morgan		     &i2s0_sclk
631*4e946c44SChris Morgan		     &i2s0_sdi0
632*4e946c44SChris Morgan		     &i2s0_sdo0>;
633*4e946c44SChris Morgan	status = "okay";
634*4e946c44SChris Morgan};
635*4e946c44SChris Morgan
636*4e946c44SChris Morgan&package_thermal {
637*4e946c44SChris Morgan	polling-delay = <1000>;
638*4e946c44SChris Morgan
639*4e946c44SChris Morgan	trips {
640*4e946c44SChris Morgan		package_fan0: package-fan0 {
641*4e946c44SChris Morgan			temperature = <55000>;
642*4e946c44SChris Morgan			hysteresis = <2000>;
643*4e946c44SChris Morgan			type = "active";
644*4e946c44SChris Morgan		};
645*4e946c44SChris Morgan
646*4e946c44SChris Morgan		package_fan1: package-fan1 {
647*4e946c44SChris Morgan			temperature = <65000>;
648*4e946c44SChris Morgan			hysteresis = <2000>;
649*4e946c44SChris Morgan			type = "active";
650*4e946c44SChris Morgan		};
651*4e946c44SChris Morgan	};
652*4e946c44SChris Morgan
653*4e946c44SChris Morgan	cooling-maps {
654*4e946c44SChris Morgan		map1 {
655*4e946c44SChris Morgan			trip = <&package_fan0>;
656*4e946c44SChris Morgan			cooling-device = <&pwm_fan THERMAL_NO_LIMIT 1>;
657*4e946c44SChris Morgan		};
658*4e946c44SChris Morgan
659*4e946c44SChris Morgan		map2 {
660*4e946c44SChris Morgan			trip = <&package_fan1>;
661*4e946c44SChris Morgan			cooling-device = <&pwm_fan 2 THERMAL_NO_LIMIT>;
662*4e946c44SChris Morgan		};
663*4e946c44SChris Morgan	};
664*4e946c44SChris Morgan};
665*4e946c44SChris Morgan
666*4e946c44SChris Morgan/*
667*4e946c44SChris Morgan * Attempts to use an M.2 SATA in this slot worked intermittently
668*4e946c44SChris Morgan * with the correct nodes enabled in device-tree, but eventually
669*4e946c44SChris Morgan * resulted in a destroyed board. Advise caution.
670*4e946c44SChris Morgan */
671*4e946c44SChris Morgan&pcie2x1l1 {
672*4e946c44SChris Morgan	pinctrl-0 = <&pcie_rst>;
673*4e946c44SChris Morgan	pinctrl-names = "default";
674*4e946c44SChris Morgan	reset-gpios = <&gpio3 RK_PD1 GPIO_ACTIVE_HIGH>;
675*4e946c44SChris Morgan	status = "okay";
676*4e946c44SChris Morgan};
677*4e946c44SChris Morgan
678*4e946c44SChris Morgan&pinctrl {
679*4e946c44SChris Morgan	audio-amplifier {
680*4e946c44SChris Morgan		headphone_amplifier_en: headphone-amplifier-en {
681*4e946c44SChris Morgan			rockchip,pins =
682*4e946c44SChris Morgan				<0 RK_PD4 RK_FUNC_GPIO &pcfg_pull_none>;
683*4e946c44SChris Morgan		};
684*4e946c44SChris Morgan
685*4e946c44SChris Morgan		hp_detect: headphone-detect {
686*4e946c44SChris Morgan			rockchip,pins =
687*4e946c44SChris Morgan				<3 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>;
688*4e946c44SChris Morgan		};
689*4e946c44SChris Morgan
690*4e946c44SChris Morgan		speaker_amplifier_en: speaker-amplifier-en {
691*4e946c44SChris Morgan			rockchip,pins =
692*4e946c44SChris Morgan				<4 RK_PA5 RK_FUNC_GPIO &pcfg_pull_none>;
693*4e946c44SChris Morgan		};
694*4e946c44SChris Morgan	};
695*4e946c44SChris Morgan
696*4e946c44SChris Morgan	bt {
697*4e946c44SChris Morgan		bt_enable_h: bt-enable-h {
698*4e946c44SChris Morgan			rockchip,pins =
699*4e946c44SChris Morgan				<3 RK_PB7 RK_FUNC_GPIO &pcfg_pull_none>;
700*4e946c44SChris Morgan		};
701*4e946c44SChris Morgan
702*4e946c44SChris Morgan		bt_host_wake_l: bt-host-wake-l {
703*4e946c44SChris Morgan			rockchip,pins =
704*4e946c44SChris Morgan				<3 RK_PB0 RK_FUNC_GPIO &pcfg_pull_down>;
705*4e946c44SChris Morgan		};
706*4e946c44SChris Morgan
707*4e946c44SChris Morgan		bt_wake_l: bt-wake-l {
708*4e946c44SChris Morgan			rockchip,pins =
709*4e946c44SChris Morgan				<3 RK_PB1 RK_FUNC_GPIO &pcfg_pull_up>;
710*4e946c44SChris Morgan		};
711*4e946c44SChris Morgan	};
712*4e946c44SChris Morgan
713*4e946c44SChris Morgan	charger {
714*4e946c44SChris Morgan		boost_enable_h: boost-enable-h {
715*4e946c44SChris Morgan			rockchip,pins =
716*4e946c44SChris Morgan				<4 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>;
717*4e946c44SChris Morgan		};
718*4e946c44SChris Morgan		charger_int_h: charger-int-h {
719*4e946c44SChris Morgan			rockchip,pins =
720*4e946c44SChris Morgan				<0 RK_PD5 RK_FUNC_GPIO &pcfg_pull_up>;
721*4e946c44SChris Morgan		};
722*4e946c44SChris Morgan	};
723*4e946c44SChris Morgan
724*4e946c44SChris Morgan	hym8563 {
725*4e946c44SChris Morgan		hym8563_int: hym8563-int {
726*4e946c44SChris Morgan			rockchip,pins =
727*4e946c44SChris Morgan				<0 RK_PB0 RK_FUNC_GPIO &pcfg_pull_up>;
728*4e946c44SChris Morgan		};
729*4e946c44SChris Morgan	};
730*4e946c44SChris Morgan
731*4e946c44SChris Morgan	gpio-btns {
732*4e946c44SChris Morgan		btn_pins_ctrl: btn-pins-ctrl {
733*4e946c44SChris Morgan			rockchip,pins =
734*4e946c44SChris Morgan				<1 RK_PA0 RK_FUNC_GPIO &pcfg_pull_up>,
735*4e946c44SChris Morgan				<1 RK_PA2 RK_FUNC_GPIO &pcfg_pull_up>,
736*4e946c44SChris Morgan				<1 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>,
737*4e946c44SChris Morgan				<1 RK_PA4 RK_FUNC_GPIO &pcfg_pull_up>,
738*4e946c44SChris Morgan				<1 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>,
739*4e946c44SChris Morgan				<1 RK_PB0 RK_FUNC_GPIO &pcfg_pull_up>,
740*4e946c44SChris Morgan				<1 RK_PB1 RK_FUNC_GPIO &pcfg_pull_up>,
741*4e946c44SChris Morgan				<1 RK_PB2 RK_FUNC_GPIO &pcfg_pull_up>,
742*4e946c44SChris Morgan				<1 RK_PB3 RK_FUNC_GPIO &pcfg_pull_up>,
743*4e946c44SChris Morgan				<1 RK_PB4 RK_FUNC_GPIO &pcfg_pull_up>,
744*4e946c44SChris Morgan				<1 RK_PB5 RK_FUNC_GPIO &pcfg_pull_up>,
745*4e946c44SChris Morgan				<1 RK_PB6 RK_FUNC_GPIO &pcfg_pull_up>,
746*4e946c44SChris Morgan				<1 RK_PB7 RK_FUNC_GPIO &pcfg_pull_up>,
747*4e946c44SChris Morgan				<1 RK_PC6 RK_FUNC_GPIO &pcfg_pull_up>,
748*4e946c44SChris Morgan				<1 RK_PD6 RK_FUNC_GPIO &pcfg_pull_up>,
749*4e946c44SChris Morgan				<1 RK_PD7 RK_FUNC_GPIO &pcfg_pull_up>;
750*4e946c44SChris Morgan		};
751*4e946c44SChris Morgan	};
752*4e946c44SChris Morgan
753*4e946c44SChris Morgan	gpio-leds {
754*4e946c44SChris Morgan		led_pins: led-pins {
755*4e946c44SChris Morgan			rockchip,pins =
756*4e946c44SChris Morgan				<3 RK_PC1 RK_FUNC_GPIO &pcfg_pull_up>,
757*4e946c44SChris Morgan				<3 RK_PC2 RK_FUNC_GPIO &pcfg_pull_up>;
758*4e946c44SChris Morgan		};
759*4e946c44SChris Morgan	};
760*4e946c44SChris Morgan
761*4e946c44SChris Morgan	lcd_bl_en {
762*4e946c44SChris Morgan		lcd_bl_en: lcd-bl-en {
763*4e946c44SChris Morgan			rockchip,pins =
764*4e946c44SChris Morgan				<3 RK_PC0 RK_FUNC_GPIO &pcfg_pull_none>;
765*4e946c44SChris Morgan		};
766*4e946c44SChris Morgan	};
767*4e946c44SChris Morgan
768*4e946c44SChris Morgan	pcie-pins {
769*4e946c44SChris Morgan		pcie_rst: pcie-rst {
770*4e946c44SChris Morgan			rockchip,pins =
771*4e946c44SChris Morgan				<3 RK_PD1 RK_FUNC_GPIO &pcfg_pull_up>;
772*4e946c44SChris Morgan		};
773*4e946c44SChris Morgan	};
774*4e946c44SChris Morgan
775*4e946c44SChris Morgan	sd-pwr {
776*4e946c44SChris Morgan		sd_s0_pwr: sd-s0-pwr {
777*4e946c44SChris Morgan			rockchip,pins =
778*4e946c44SChris Morgan				<4 RK_PB4 RK_FUNC_GPIO &pcfg_pull_up>;
779*4e946c44SChris Morgan		};
780*4e946c44SChris Morgan	};
781*4e946c44SChris Morgan
782*4e946c44SChris Morgan	spk-pwr {
783*4e946c44SChris Morgan		vcc5v0_spk_pwr: vcc5v0-spk-pwr {
784*4e946c44SChris Morgan			rockchip,pins =
785*4e946c44SChris Morgan				<4 RK_PA2 RK_FUNC_GPIO &pcfg_pull_up>;
786*4e946c44SChris Morgan		};
787*4e946c44SChris Morgan	};
788*4e946c44SChris Morgan
789*4e946c44SChris Morgan	touch {
790*4e946c44SChris Morgan		touch_int: touch-int {
791*4e946c44SChris Morgan			rockchip,pins =
792*4e946c44SChris Morgan				<1 RK_PA6 RK_FUNC_GPIO &pcfg_pull_up>;
793*4e946c44SChris Morgan		};
794*4e946c44SChris Morgan
795*4e946c44SChris Morgan		touch_rst: touch-rst {
796*4e946c44SChris Morgan			rockchip,pins =
797*4e946c44SChris Morgan				<1 RK_PA7 RK_FUNC_GPIO &pcfg_pull_up>;
798*4e946c44SChris Morgan		};
799*4e946c44SChris Morgan	};
800*4e946c44SChris Morgan
801*4e946c44SChris Morgan	usb-typec {
802*4e946c44SChris Morgan		usbc0_int: usbc0-int {
803*4e946c44SChris Morgan			rockchip,pins =
804*4e946c44SChris Morgan				<0 RK_PC7 RK_FUNC_GPIO &pcfg_pull_up>;
805*4e946c44SChris Morgan		};
806*4e946c44SChris Morgan	};
807*4e946c44SChris Morgan
808*4e946c44SChris Morgan	vcc3v3-lcd {
809*4e946c44SChris Morgan		vcc_lcd_h: vcc-lcd-h {
810*4e946c44SChris Morgan			rockchip,pins =
811*4e946c44SChris Morgan				<4 RK_PA7 RK_FUNC_GPIO &pcfg_pull_up>;
812*4e946c44SChris Morgan		};
813*4e946c44SChris Morgan	};
814*4e946c44SChris Morgan
815*4e946c44SChris Morgan	vibrator {
816*4e946c44SChris Morgan		vib_left_h: vib-left-h {
817*4e946c44SChris Morgan			rockchip,pins =
818*4e946c44SChris Morgan				<4 RK_PA4 RK_FUNC_GPIO &pcfg_pull_down>;
819*4e946c44SChris Morgan		};
820*4e946c44SChris Morgan
821*4e946c44SChris Morgan		vib_right_h: vib-right-h {
822*4e946c44SChris Morgan			rockchip,pins =
823*4e946c44SChris Morgan				<1 RK_PA1 RK_FUNC_GPIO &pcfg_pull_down>;
824*4e946c44SChris Morgan		};
825*4e946c44SChris Morgan	};
826*4e946c44SChris Morgan
827*4e946c44SChris Morgan	wifi {
828*4e946c44SChris Morgan		wifi_enable_h: wifi-enable-h {
829*4e946c44SChris Morgan			rockchip,pins =
830*4e946c44SChris Morgan				<3 RK_PB4 RK_FUNC_GPIO &pcfg_pull_up>;
831*4e946c44SChris Morgan		};
832*4e946c44SChris Morgan
833*4e946c44SChris Morgan		wifi_host_wake_irq: wifi-host-wake-irq {
834*4e946c44SChris Morgan			rockchip,pins =
835*4e946c44SChris Morgan				<0 RK_PA0 RK_FUNC_GPIO &pcfg_pull_down>;
836*4e946c44SChris Morgan		};
837*4e946c44SChris Morgan	};
838*4e946c44SChris Morgan};
839*4e946c44SChris Morgan
840*4e946c44SChris Morgan&pwm12 {
841*4e946c44SChris Morgan	pinctrl-0 = <&pwm12m1_pins>;
842*4e946c44SChris Morgan	status = "okay";
843*4e946c44SChris Morgan};
844*4e946c44SChris Morgan
845*4e946c44SChris Morgan&pwm13 {
846*4e946c44SChris Morgan	pinctrl-0 = <&pwm13m1_pins>;
847*4e946c44SChris Morgan	status = "okay";
848*4e946c44SChris Morgan};
849*4e946c44SChris Morgan
850*4e946c44SChris Morgan&saradc {
851*4e946c44SChris Morgan	vref-supply = <&vcc_1v8_s0>;
852*4e946c44SChris Morgan	status = "okay";
853*4e946c44SChris Morgan};
854*4e946c44SChris Morgan
855*4e946c44SChris Morgan&sdhci {
856*4e946c44SChris Morgan	bus-width = <8>;
857*4e946c44SChris Morgan	mmc-hs400-1_8v;
858*4e946c44SChris Morgan	mmc-hs400-enhanced-strobe;
859*4e946c44SChris Morgan	no-sd;
860*4e946c44SChris Morgan	no-sdio;
861*4e946c44SChris Morgan	non-removable;
862*4e946c44SChris Morgan	status = "okay";
863*4e946c44SChris Morgan};
864*4e946c44SChris Morgan
865*4e946c44SChris Morgan&sdio {
866*4e946c44SChris Morgan	#address-cells = <1>;
867*4e946c44SChris Morgan	bus-width = <4>;
868*4e946c44SChris Morgan	cap-sd-highspeed;
869*4e946c44SChris Morgan	cap-sdio-irq;
870*4e946c44SChris Morgan	disable-wp;
871*4e946c44SChris Morgan	keep-power-in-suspend;
872*4e946c44SChris Morgan	max-frequency = <150000000>;
873*4e946c44SChris Morgan	mmc-pwrseq = <&sdio_pwrseq>;
874*4e946c44SChris Morgan	no-mmc;
875*4e946c44SChris Morgan	no-sd;
876*4e946c44SChris Morgan	sd-uhs-sdr104;
877*4e946c44SChris Morgan	#size-cells = <0>;
878*4e946c44SChris Morgan	status = "okay";
879*4e946c44SChris Morgan
880*4e946c44SChris Morgan	brcmf: wifi@1 {
881*4e946c44SChris Morgan		compatible = "brcm,bcm43456-fmac", "brcm,bcm4329-fmac";
882*4e946c44SChris Morgan		reg = <1>;
883*4e946c44SChris Morgan		interrupt-parent = <&gpio0>;
884*4e946c44SChris Morgan		interrupts = <RK_PA0 IRQ_TYPE_LEVEL_HIGH>;
885*4e946c44SChris Morgan		interrupt-names = "host-wake";
886*4e946c44SChris Morgan		pinctrl-0 = <&wifi_host_wake_irq>;
887*4e946c44SChris Morgan		pinctrl-names = "default";
888*4e946c44SChris Morgan	};
889*4e946c44SChris Morgan};
890*4e946c44SChris Morgan
891*4e946c44SChris Morgan&sdmmc {
892*4e946c44SChris Morgan	bus-width = <4>;
893*4e946c44SChris Morgan	cap-mmc-highspeed;
894*4e946c44SChris Morgan	cap-sd-highspeed;
895*4e946c44SChris Morgan	disable-wp;
896*4e946c44SChris Morgan	max-frequency = <150000000>;
897*4e946c44SChris Morgan	no-sdio;
898*4e946c44SChris Morgan	no-mmc;
899*4e946c44SChris Morgan	sd-uhs-sdr104;
900*4e946c44SChris Morgan	vmmc-supply = <&vcc_3v3_sd_s0>;
901*4e946c44SChris Morgan	vqmmc-supply = <&vccio_sd_s0>;
902*4e946c44SChris Morgan	status = "okay";
903*4e946c44SChris Morgan};
904*4e946c44SChris Morgan
905*4e946c44SChris Morgan&spi2 {
906*4e946c44SChris Morgan	#address-cells = <1>;
907*4e946c44SChris Morgan	assigned-clocks = <&cru CLK_SPI2>;
908*4e946c44SChris Morgan	assigned-clock-rates = <200000000>;
909*4e946c44SChris Morgan	num-cs = <1>;
910*4e946c44SChris Morgan	pinctrl-0 = <&spi2m2_pins>, <&spi2m2_cs0>;
911*4e946c44SChris Morgan	pinctrl-names = "default";
912*4e946c44SChris Morgan	#size-cells = <0>;
913*4e946c44SChris Morgan	status = "okay";
914*4e946c44SChris Morgan
915*4e946c44SChris Morgan	pmic@0 {
916*4e946c44SChris Morgan		compatible = "rockchip,rk806";
917*4e946c44SChris Morgan		reg = <0x0>;
918*4e946c44SChris Morgan		#gpio-cells = <2>;
919*4e946c44SChris Morgan		gpio-controller;
920*4e946c44SChris Morgan		interrupt-parent = <&gpio0>;
921*4e946c44SChris Morgan		interrupts = <RK_PA7 IRQ_TYPE_LEVEL_LOW>;
922*4e946c44SChris Morgan		pinctrl-0 = <&pmic_pins>, <&rk806_dvs1_null>,
923*4e946c44SChris Morgan			    <&rk806_dvs2_null>, <&rk806_dvs3_null>;
924*4e946c44SChris Morgan		pinctrl-names = "default";
925*4e946c44SChris Morgan		spi-max-frequency = <1000000>;
926*4e946c44SChris Morgan		system-power-controller;
927*4e946c44SChris Morgan
928*4e946c44SChris Morgan		vcc1-supply = <&vcc5v0_sys>;
929*4e946c44SChris Morgan		vcc2-supply = <&vcc5v0_sys>;
930*4e946c44SChris Morgan		vcc3-supply = <&vcc5v0_sys>;
931*4e946c44SChris Morgan		vcc4-supply = <&vcc5v0_sys>;
932*4e946c44SChris Morgan		vcc5-supply = <&vcc5v0_sys>;
933*4e946c44SChris Morgan		vcc6-supply = <&vcc5v0_sys>;
934*4e946c44SChris Morgan		vcc7-supply = <&vcc5v0_sys>;
935*4e946c44SChris Morgan		vcc8-supply = <&vcc5v0_sys>;
936*4e946c44SChris Morgan		vcc9-supply = <&vcc5v0_sys>;
937*4e946c44SChris Morgan		vcc10-supply = <&vcc5v0_sys>;
938*4e946c44SChris Morgan		vcc11-supply = <&vcc_2v0_pldo_s3>;
939*4e946c44SChris Morgan		vcc12-supply = <&vcc5v0_sys>;
940*4e946c44SChris Morgan		vcc13-supply = <&vcc_1v1_nldo_s3>;
941*4e946c44SChris Morgan		vcc14-supply = <&vcc_1v1_nldo_s3>;
942*4e946c44SChris Morgan		vcca-supply = <&vcc5v0_sys>;
943*4e946c44SChris Morgan
944*4e946c44SChris Morgan		rk806_dvs1_null: dvs1-null-pins {
945*4e946c44SChris Morgan			pins = "gpio_pwrctrl1";
946*4e946c44SChris Morgan			function = "pin_fun0";
947*4e946c44SChris Morgan		};
948*4e946c44SChris Morgan
949*4e946c44SChris Morgan		rk806_dvs2_null: dvs2-null-pins {
950*4e946c44SChris Morgan			pins = "gpio_pwrctrl2";
951*4e946c44SChris Morgan			function = "pin_fun0";
952*4e946c44SChris Morgan		};
953*4e946c44SChris Morgan
954*4e946c44SChris Morgan		rk806_dvs3_null: dvs3-null-pins {
955*4e946c44SChris Morgan			pins = "gpio_pwrctrl3";
956*4e946c44SChris Morgan			function = "pin_fun0";
957*4e946c44SChris Morgan		};
958*4e946c44SChris Morgan
959*4e946c44SChris Morgan		regulators {
960*4e946c44SChris Morgan			vdd_gpu_s0: dcdc-reg1 {
961*4e946c44SChris Morgan				regulator-boot-on;
962*4e946c44SChris Morgan				regulator-enable-ramp-delay = <400>;
963*4e946c44SChris Morgan				regulator-max-microvolt = <950000>;
964*4e946c44SChris Morgan				regulator-min-microvolt = <550000>;
965*4e946c44SChris Morgan				regulator-name = "vdd_gpu_s0";
966*4e946c44SChris Morgan				regulator-ramp-delay = <12500>;
967*4e946c44SChris Morgan				regulator-state-mem {
968*4e946c44SChris Morgan					regulator-off-in-suspend;
969*4e946c44SChris Morgan				};
970*4e946c44SChris Morgan			};
971*4e946c44SChris Morgan
972*4e946c44SChris Morgan			vdd_cpu_lit_s0: dcdc-reg2 {
973*4e946c44SChris Morgan				regulator-always-on;
974*4e946c44SChris Morgan				regulator-boot-on;
975*4e946c44SChris Morgan				regulator-max-microvolt = <950000>;
976*4e946c44SChris Morgan				regulator-min-microvolt = <550000>;
977*4e946c44SChris Morgan				regulator-ramp-delay = <12500>;
978*4e946c44SChris Morgan				regulator-name = "vdd_cpu_lit_s0";
979*4e946c44SChris Morgan				regulator-state-mem {
980*4e946c44SChris Morgan					regulator-off-in-suspend;
981*4e946c44SChris Morgan				};
982*4e946c44SChris Morgan			};
983*4e946c44SChris Morgan
984*4e946c44SChris Morgan			vdd_logic_s0: dcdc-reg3 {
985*4e946c44SChris Morgan				regulator-always-on;
986*4e946c44SChris Morgan				regulator-boot-on;
987*4e946c44SChris Morgan				regulator-max-microvolt = <750000>;
988*4e946c44SChris Morgan				regulator-min-microvolt = <675000>;
989*4e946c44SChris Morgan				regulator-name = "vdd_logic_s0";
990*4e946c44SChris Morgan				regulator-ramp-delay = <12500>;
991*4e946c44SChris Morgan				regulator-state-mem {
992*4e946c44SChris Morgan					regulator-on-in-suspend;
993*4e946c44SChris Morgan					regulator-suspend-microvolt = <750000>;
994*4e946c44SChris Morgan				};
995*4e946c44SChris Morgan			};
996*4e946c44SChris Morgan
997*4e946c44SChris Morgan			vdd_vdenc_s0: dcdc-reg4 {
998*4e946c44SChris Morgan				regulator-always-on;
999*4e946c44SChris Morgan				regulator-boot-on;
1000*4e946c44SChris Morgan				regulator-max-microvolt = <950000>;
1001*4e946c44SChris Morgan				regulator-min-microvolt = <550000>;
1002*4e946c44SChris Morgan				regulator-name = "vdd_vdenc_s0";
1003*4e946c44SChris Morgan				regulator-ramp-delay = <12500>;
1004*4e946c44SChris Morgan				regulator-state-mem {
1005*4e946c44SChris Morgan					regulator-off-in-suspend;
1006*4e946c44SChris Morgan				};
1007*4e946c44SChris Morgan			};
1008*4e946c44SChris Morgan
1009*4e946c44SChris Morgan			vdd_ddr_s0: dcdc-reg5 {
1010*4e946c44SChris Morgan				regulator-always-on;
1011*4e946c44SChris Morgan				regulator-boot-on;
1012*4e946c44SChris Morgan				regulator-min-microvolt = <675000>;
1013*4e946c44SChris Morgan				regulator-max-microvolt = <900000>;
1014*4e946c44SChris Morgan				regulator-ramp-delay = <12500>;
1015*4e946c44SChris Morgan				regulator-name = "vdd_ddr_s0";
1016*4e946c44SChris Morgan				regulator-state-mem {
1017*4e946c44SChris Morgan					regulator-off-in-suspend;
1018*4e946c44SChris Morgan					regulator-suspend-microvolt = <850000>;
1019*4e946c44SChris Morgan				};
1020*4e946c44SChris Morgan			};
1021*4e946c44SChris Morgan
1022*4e946c44SChris Morgan			vdd2_ddr_s3: dcdc-reg6 {
1023*4e946c44SChris Morgan				regulator-always-on;
1024*4e946c44SChris Morgan				regulator-boot-on;
1025*4e946c44SChris Morgan				regulator-name = "vdd2_ddr_s3";
1026*4e946c44SChris Morgan				regulator-state-mem {
1027*4e946c44SChris Morgan					regulator-on-in-suspend;
1028*4e946c44SChris Morgan				};
1029*4e946c44SChris Morgan			};
1030*4e946c44SChris Morgan
1031*4e946c44SChris Morgan			vcc_2v0_pldo_s3: dcdc-reg7 {
1032*4e946c44SChris Morgan				regulator-always-on;
1033*4e946c44SChris Morgan				regulator-boot-on;
1034*4e946c44SChris Morgan				regulator-max-microvolt = <2000000>;
1035*4e946c44SChris Morgan				regulator-min-microvolt = <2000000>;
1036*4e946c44SChris Morgan				regulator-name = "vdd_2v0_pldo_s3";
1037*4e946c44SChris Morgan				regulator-state-mem {
1038*4e946c44SChris Morgan					regulator-on-in-suspend;
1039*4e946c44SChris Morgan					regulator-suspend-microvolt = <2000000>;
1040*4e946c44SChris Morgan				};
1041*4e946c44SChris Morgan			};
1042*4e946c44SChris Morgan
1043*4e946c44SChris Morgan			vcc_3v3_s3: dcdc-reg8 {
1044*4e946c44SChris Morgan				regulator-always-on;
1045*4e946c44SChris Morgan				regulator-boot-on;
1046*4e946c44SChris Morgan				regulator-max-microvolt = <3300000>;
1047*4e946c44SChris Morgan				regulator-min-microvolt = <3300000>;
1048*4e946c44SChris Morgan				regulator-name = "vcc_3v3_s3";
1049*4e946c44SChris Morgan				regulator-state-mem {
1050*4e946c44SChris Morgan					regulator-on-in-suspend;
1051*4e946c44SChris Morgan					regulator-suspend-microvolt = <3300000>;
1052*4e946c44SChris Morgan				};
1053*4e946c44SChris Morgan			};
1054*4e946c44SChris Morgan
1055*4e946c44SChris Morgan			vddq_ddr_s0: dcdc-reg9 {
1056*4e946c44SChris Morgan				regulator-always-on;
1057*4e946c44SChris Morgan				regulator-boot-on;
1058*4e946c44SChris Morgan				regulator-name = "vddq_ddr_s0";
1059*4e946c44SChris Morgan				regulator-state-mem {
1060*4e946c44SChris Morgan					regulator-off-in-suspend;
1061*4e946c44SChris Morgan				};
1062*4e946c44SChris Morgan			};
1063*4e946c44SChris Morgan
1064*4e946c44SChris Morgan			vcc_1v8_s3: dcdc-reg10 {
1065*4e946c44SChris Morgan				regulator-always-on;
1066*4e946c44SChris Morgan				regulator-boot-on;
1067*4e946c44SChris Morgan				regulator-max-microvolt = <1800000>;
1068*4e946c44SChris Morgan				regulator-min-microvolt = <1800000>;
1069*4e946c44SChris Morgan				regulator-name = "vcc_1v8_s3";
1070*4e946c44SChris Morgan				regulator-state-mem {
1071*4e946c44SChris Morgan					regulator-on-in-suspend;
1072*4e946c44SChris Morgan					regulator-suspend-microvolt = <1800000>;
1073*4e946c44SChris Morgan				};
1074*4e946c44SChris Morgan			};
1075*4e946c44SChris Morgan
1076*4e946c44SChris Morgan			avcc_1v8_s0: pldo-reg1 {
1077*4e946c44SChris Morgan				regulator-always-on;
1078*4e946c44SChris Morgan				regulator-boot-on;
1079*4e946c44SChris Morgan				regulator-max-microvolt = <1800000>;
1080*4e946c44SChris Morgan				regulator-min-microvolt = <1800000>;
1081*4e946c44SChris Morgan				regulator-name = "avcc_1v8_s0";
1082*4e946c44SChris Morgan				regulator-state-mem {
1083*4e946c44SChris Morgan					regulator-off-in-suspend;
1084*4e946c44SChris Morgan				};
1085*4e946c44SChris Morgan			};
1086*4e946c44SChris Morgan
1087*4e946c44SChris Morgan			vcc_1v8_s0: pldo-reg2 {
1088*4e946c44SChris Morgan				regulator-always-on;
1089*4e946c44SChris Morgan				regulator-boot-on;
1090*4e946c44SChris Morgan				regulator-max-microvolt = <1800000>;
1091*4e946c44SChris Morgan				regulator-min-microvolt = <1800000>;
1092*4e946c44SChris Morgan				regulator-name = "vcc_1v8_s0";
1093*4e946c44SChris Morgan				regulator-state-mem {
1094*4e946c44SChris Morgan					regulator-off-in-suspend;
1095*4e946c44SChris Morgan					regulator-suspend-microvolt = <1800000>;
1096*4e946c44SChris Morgan				};
1097*4e946c44SChris Morgan			};
1098*4e946c44SChris Morgan
1099*4e946c44SChris Morgan			avdd_1v2_s0: pldo-reg3 {
1100*4e946c44SChris Morgan				regulator-always-on;
1101*4e946c44SChris Morgan				regulator-boot-on;
1102*4e946c44SChris Morgan				regulator-max-microvolt = <1200000>;
1103*4e946c44SChris Morgan				regulator-min-microvolt = <1200000>;
1104*4e946c44SChris Morgan				regulator-name = "avdd_1v2_s0";
1105*4e946c44SChris Morgan				regulator-state-mem {
1106*4e946c44SChris Morgan					regulator-off-in-suspend;
1107*4e946c44SChris Morgan				};
1108*4e946c44SChris Morgan			};
1109*4e946c44SChris Morgan
1110*4e946c44SChris Morgan			vcc_3v3_s0: pldo-reg4 {
1111*4e946c44SChris Morgan				regulator-always-on;
1112*4e946c44SChris Morgan				regulator-boot-on;
1113*4e946c44SChris Morgan				regulator-max-microvolt = <3300000>;
1114*4e946c44SChris Morgan				regulator-min-microvolt = <3300000>;
1115*4e946c44SChris Morgan				regulator-name = "vcc_3v3_s0";
1116*4e946c44SChris Morgan				regulator-state-mem {
1117*4e946c44SChris Morgan					regulator-off-in-suspend;
1118*4e946c44SChris Morgan				};
1119*4e946c44SChris Morgan			};
1120*4e946c44SChris Morgan
1121*4e946c44SChris Morgan			vccio_sd_s0: pldo-reg5 {
1122*4e946c44SChris Morgan				regulator-always-on;
1123*4e946c44SChris Morgan				regulator-boot-on;
1124*4e946c44SChris Morgan				regulator-max-microvolt = <3300000>;
1125*4e946c44SChris Morgan				regulator-min-microvolt = <1800000>;
1126*4e946c44SChris Morgan				regulator-name = "vccio_sd_s0";
1127*4e946c44SChris Morgan				regulator-state-mem {
1128*4e946c44SChris Morgan					regulator-off-in-suspend;
1129*4e946c44SChris Morgan				};
1130*4e946c44SChris Morgan			};
1131*4e946c44SChris Morgan
1132*4e946c44SChris Morgan			vcc_1v8_s3_pldo6: pldo-reg6 {
1133*4e946c44SChris Morgan				regulator-always-on;
1134*4e946c44SChris Morgan				regulator-boot-on;
1135*4e946c44SChris Morgan				regulator-max-microvolt = <1800000>;
1136*4e946c44SChris Morgan				regulator-min-microvolt = <1800000>;
1137*4e946c44SChris Morgan				regulator-name = "vcc_1v8_s3_pldo6";
1138*4e946c44SChris Morgan				regulator-state-mem {
1139*4e946c44SChris Morgan					regulator-on-in-suspend;
1140*4e946c44SChris Morgan					regulator-suspend-microvolt = <1800000>;
1141*4e946c44SChris Morgan				};
1142*4e946c44SChris Morgan			};
1143*4e946c44SChris Morgan
1144*4e946c44SChris Morgan			vdd_0v75_s3: nldo-reg1 {
1145*4e946c44SChris Morgan				regulator-always-on;
1146*4e946c44SChris Morgan				regulator-boot-on;
1147*4e946c44SChris Morgan				regulator-max-microvolt = <750000>;
1148*4e946c44SChris Morgan				regulator-min-microvolt = <750000>;
1149*4e946c44SChris Morgan				regulator-name = "vdd_0v75_s3";
1150*4e946c44SChris Morgan				regulator-state-mem {
1151*4e946c44SChris Morgan					regulator-on-in-suspend;
1152*4e946c44SChris Morgan					regulator-suspend-microvolt = <750000>;
1153*4e946c44SChris Morgan				};
1154*4e946c44SChris Morgan			};
1155*4e946c44SChris Morgan
1156*4e946c44SChris Morgan			vdd_ddr_pll_s0: nldo-reg2 {
1157*4e946c44SChris Morgan				regulator-always-on;
1158*4e946c44SChris Morgan				regulator-boot-on;
1159*4e946c44SChris Morgan				regulator-max-microvolt = <850000>;
1160*4e946c44SChris Morgan				regulator-min-microvolt = <850000>;
1161*4e946c44SChris Morgan				regulator-name = "vdd_ddr_pll_s0";
1162*4e946c44SChris Morgan				regulator-state-mem {
1163*4e946c44SChris Morgan					regulator-off-in-suspend;
1164*4e946c44SChris Morgan					regulator-suspend-microvolt = <850000>;
1165*4e946c44SChris Morgan				};
1166*4e946c44SChris Morgan			};
1167*4e946c44SChris Morgan
1168*4e946c44SChris Morgan			avdd_0v75_s0: nldo-reg3 {
1169*4e946c44SChris Morgan				regulator-always-on;
1170*4e946c44SChris Morgan				regulator-boot-on;
1171*4e946c44SChris Morgan				regulator-max-microvolt = <837500>;
1172*4e946c44SChris Morgan				regulator-min-microvolt = <837500>;
1173*4e946c44SChris Morgan				regulator-name = "avdd_0v75_s0";
1174*4e946c44SChris Morgan				regulator-state-mem {
1175*4e946c44SChris Morgan					regulator-off-in-suspend;
1176*4e946c44SChris Morgan				};
1177*4e946c44SChris Morgan			};
1178*4e946c44SChris Morgan
1179*4e946c44SChris Morgan			vdd_0v85_s0: nldo-reg4 {
1180*4e946c44SChris Morgan				regulator-always-on;
1181*4e946c44SChris Morgan				regulator-boot-on;
1182*4e946c44SChris Morgan				regulator-min-microvolt = <850000>;
1183*4e946c44SChris Morgan				regulator-max-microvolt = <850000>;
1184*4e946c44SChris Morgan				regulator-name = "vdd_0v85_s0";
1185*4e946c44SChris Morgan				regulator-state-mem {
1186*4e946c44SChris Morgan					regulator-off-in-suspend;
1187*4e946c44SChris Morgan				};
1188*4e946c44SChris Morgan			};
1189*4e946c44SChris Morgan
1190*4e946c44SChris Morgan			vdd_0v75_s0: nldo-reg5 {
1191*4e946c44SChris Morgan				regulator-always-on;
1192*4e946c44SChris Morgan				regulator-boot-on;
1193*4e946c44SChris Morgan				regulator-min-microvolt = <750000>;
1194*4e946c44SChris Morgan				regulator-max-microvolt = <750000>;
1195*4e946c44SChris Morgan				regulator-name = "vdd_0v75_s0";
1196*4e946c44SChris Morgan				regulator-state-mem {
1197*4e946c44SChris Morgan					regulator-off-in-suspend;
1198*4e946c44SChris Morgan				};
1199*4e946c44SChris Morgan			};
1200*4e946c44SChris Morgan		};
1201*4e946c44SChris Morgan	};
1202*4e946c44SChris Morgan};
1203*4e946c44SChris Morgan
1204*4e946c44SChris Morgan&tsadc {
1205*4e946c44SChris Morgan	status = "okay";
1206*4e946c44SChris Morgan};
1207*4e946c44SChris Morgan
1208*4e946c44SChris Morgan&u2phy0 {
1209*4e946c44SChris Morgan	status = "okay";
1210*4e946c44SChris Morgan};
1211*4e946c44SChris Morgan
1212*4e946c44SChris Morgan&u2phy0_otg {
1213*4e946c44SChris Morgan	status = "okay";
1214*4e946c44SChris Morgan};
1215*4e946c44SChris Morgan
1216*4e946c44SChris Morgan&uart2 {
1217*4e946c44SChris Morgan	pinctrl-0 = <&uart2m0_xfer>;
1218*4e946c44SChris Morgan	status = "okay";
1219*4e946c44SChris Morgan};
1220*4e946c44SChris Morgan
1221*4e946c44SChris Morgan&uart9 {
1222*4e946c44SChris Morgan	pinctrl-0 = <&uart9m2_xfer>, <&uart9m2_ctsn>, <&uart9m2_rtsn>;
1223*4e946c44SChris Morgan	uart-has-rtscts;
1224*4e946c44SChris Morgan	status = "okay";
1225*4e946c44SChris Morgan
1226*4e946c44SChris Morgan	bluetooth {
1227*4e946c44SChris Morgan		compatible = "brcm,bcm4345c5";
1228*4e946c44SChris Morgan		clocks = <&rtc_hym8563>;
1229*4e946c44SChris Morgan		clock-names = "lpo";
1230*4e946c44SChris Morgan		device-wakeup-gpios = <&gpio3 RK_PB1 GPIO_ACTIVE_HIGH>;
1231*4e946c44SChris Morgan		interrupt-parent = <&gpio3>;
1232*4e946c44SChris Morgan		interrupts = <RK_PB0 IRQ_TYPE_EDGE_FALLING>;
1233*4e946c44SChris Morgan		pinctrl-0 = <&bt_enable_h>, <&bt_host_wake_l>, <&bt_wake_l>;
1234*4e946c44SChris Morgan		pinctrl-names = "default";
1235*4e946c44SChris Morgan		shutdown-gpios = <&gpio3 RK_PB7 GPIO_ACTIVE_HIGH>;
1236*4e946c44SChris Morgan	};
1237*4e946c44SChris Morgan};
1238