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