xref: /linux/arch/arm64/boot/dts/rockchip/rk3566-pinetab2.dtsi (revision f6e0a4984c2e7244689ea87b62b433bed9d07e94)
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2
3#include <dt-bindings/gpio/gpio.h>
4#include <dt-bindings/input/gpio-keys.h>
5#include <dt-bindings/input/input.h>
6#include <dt-bindings/leds/common.h>
7#include <dt-bindings/pinctrl/rockchip.h>
8#include <dt-bindings/soc/rockchip,vop2.h>
9#include <dt-bindings/usb/pd.h>
10#include "rk3566.dtsi"
11
12/ {
13	chassis-type = "tablet";
14
15	aliases {
16		mmc0 = &sdhci;
17		mmc1 = &sdmmc0;
18	};
19
20	chosen {
21		stdout-path = "serial2:1500000n8";
22	};
23
24	adc-keys {
25		compatible = "adc-keys";
26		io-channels = <&saradc 0>;
27		io-channel-names = "buttons";
28		keyup-threshold-microvolt = <1800000>;
29		poll-interval = <25>;
30
31		button-vol-up {
32			label = "Volume Up";
33			linux,code = <KEY_VOLUMEUP>;
34			press-threshold-microvolt = <297500>;
35		};
36
37		button-vol-down {
38			label = "Volume Down";
39			linux,code = <KEY_VOLUMEDOWN>;
40			press-threshold-microvolt = <1750>;
41		};
42	};
43
44	backlight: backlight {
45		compatible = "pwm-backlight";
46		pwms = <&pwm4 0 25000 0>;
47		brightness-levels = <20 220>;
48		num-interpolated-steps = <200>;
49		default-brightness-level = <100>;
50		power-supply = <&vcc_sys>;
51	};
52
53	battery: battery {
54		compatible = "simple-battery";
55		charge-full-design-microamp-hours = <6000000>;
56		charge-term-current-microamp = <300000>;
57		constant-charge-current-max-microamp = <2000000>;
58		constant-charge-voltage-max-microvolt = <4300000>;
59		voltage-max-design-microvolt = <4350000>;
60		voltage-min-design-microvolt = <3400000>;
61
62		ocv-capacity-celsius = <20>;
63		ocv-capacity-table-0 = <4322000 100>, <4250000 95>, <4192000 90>, <4136000 85>,
64				       <4080000 80>, <4022000 75>, <3972000 70>, <3928000 65>,
65				       <3885000 60>, <3833000 55>, <3798000 50>, <3780000 45>,
66				       <3776000 40>, <3773000 35>, <3755000 30>, <3706000 25>,
67				       <3640000 20>, <3589000 15>, <3535000 10>, <3492000 5>,
68				       <3400000 0>;
69	};
70
71	gpio_keys: gpio-keys {
72		compatible = "gpio-keys";
73		pinctrl-names = "default";
74		pinctrl-0 = <&kb_id_det>;
75
76		tablet-mode-switch {
77			debounce-interval = <20>;
78			gpios = <&gpio4 RK_PA4 GPIO_ACTIVE_HIGH>;
79			label = "Tablet Mode";
80			linux,input-type = <EV_SW>;
81			linux,code = <SW_TABLET_MODE>;
82		};
83	};
84
85	hdmi-connector {
86		compatible = "hdmi-connector";
87		type = "d";
88
89		port {
90			hdmi_con_in: endpoint {
91				remote-endpoint = <&hdmi_out_con>;
92			};
93		};
94	};
95
96	led-0 {
97		compatible = "regulator-led";
98		vled-supply = <&vcc5v0_flashled>;
99		color = <LED_COLOR_ID_WHITE>;
100		function = LED_FUNCTION_FLASH;
101	};
102
103	rk817-sound {
104		compatible = "simple-audio-card";
105		pinctrl-names = "default";
106		pinctrl-0 = <&hp_det_l>;
107		simple-audio-card,format = "i2s";
108		simple-audio-card,name = "rk817_ext";
109		simple-audio-card,mclk-fs = <256>;
110
111		simple-audio-card,widgets =
112			"Microphone", "Mic Jack",
113			"Headphone", "Headphones",
114			"Speaker", "Internal Speakers";
115
116		simple-audio-card,routing =
117			"MICR", "Mic Jack",
118			"Headphones", "HPOL",
119			"Headphones", "HPOR",
120			"Internal Speakers", "Speaker Amplifier OUTL",
121			"Internal Speakers", "Speaker Amplifier OUTR",
122			"Speaker Amplifier INL", "HPOL",
123			"Speaker Amplifier INR", "HPOR";
124		simple-audio-card,hp-det-gpio = <&gpio4 RK_PC6 GPIO_ACTIVE_LOW>;
125		simple-audio-card,aux-devs = <&speaker_amp>;
126		simple-audio-card,pin-switches = "Internal Speakers";
127
128		simple-audio-card,cpu {
129			sound-dai = <&i2s1_8ch>;
130		};
131
132		simple-audio-card,codec {
133			sound-dai = <&rk817>;
134		};
135	};
136
137	speaker_amp: speaker-amplifier {
138		compatible = "simple-audio-amplifier";
139		pinctrl-names = "default";
140		pinctrl-0 = <&spk_ctl>;
141		enable-gpios = <&gpio4 RK_PC2 GPIO_ACTIVE_HIGH>;
142		sound-name-prefix = "Speaker Amplifier";
143		VCC-supply = <&vcc_bat>;
144	};
145
146	vcc_3v3: vcc-3v3-regulator {
147		compatible = "regulator-fixed";
148		regulator-name = "vcc_3v3";
149		regulator-always-on;
150		regulator-boot-on;
151		regulator-min-microvolt = <3300000>;
152		regulator-max-microvolt = <3300000>;
153		vin-supply = <&vcc3v3_sys>;
154	};
155
156	vcc3v3_minipcie: vcc3v3-minipcie-regulator {
157		compatible = "regulator-fixed";
158		enable-active-high;
159		gpio = <&gpio4 RK_PC3 GPIO_ACTIVE_HIGH>;
160		pinctrl-names = "default";
161		pinctrl-0 = <&pcie_pwren_h>;
162		regulator-name = "vcc3v3_minipcie";
163		regulator-min-microvolt = <3300000>;
164		regulator-max-microvolt = <3300000>;
165		vin-supply = <&vcc_sys>;
166	};
167
168	vcc3v3_sd: vcc3v3-sd-regulator {
169		compatible = "regulator-fixed";
170		gpio = <&gpio0 RK_PA5 GPIO_ACTIVE_HIGH>;
171		pinctrl-names = "default";
172		pinctrl-0 = <&sdmmc_pwren_l>;
173		regulator-name = "vcc3v3_sd";
174		regulator-min-microvolt = <3300000>;
175		regulator-max-microvolt = <3300000>;
176		vin-supply = <&vcc3v3_sys>;
177	};
178
179	vcc5v0_flashled: vcc5v0-flashled-regulator {
180		compatible = "regulator-fixed";
181		enable-active-high;
182		gpio = <&gpio4 RK_PA5 GPIO_ACTIVE_HIGH>;
183		pinctrl-names = "default";
184		pinctrl-0 = <&flash_led_en_h>;
185		regulator-name = "vcc5v0_flashled";
186		regulator-min-microvolt = <5000000>;
187		regulator-max-microvolt = <5000000>;
188		vin-supply = <&vcc5v_midu>;
189	};
190
191	vcc5v0_usb_host0: vcc5v0-usb-host0-regulator {
192		compatible = "regulator-fixed";
193		enable-active-high;
194		gpio = <&gpio4 RK_PC4 GPIO_ACTIVE_HIGH>;
195		pinctrl-names = "default";
196		pinctrl-0 = <&usb_host_pwren1_h>;
197		regulator-name = "vcc5v0_usb_host0";
198		regulator-min-microvolt = <5000000>;
199		regulator-max-microvolt = <5000000>;
200		vin-supply = <&vcc5v_midu>;
201	};
202
203	vcc5v0_usb_host2: vcc5v0-usb-host2-regulator {
204		compatible = "regulator-fixed";
205		enable-active-high;
206		gpio = <&gpio4 RK_PC5 GPIO_ACTIVE_HIGH>;
207		pinctrl-names = "default";
208		pinctrl-0 = <&usb_host_pwren2_h>;
209		regulator-name = "vcc5v0_usb_host2";
210		regulator-min-microvolt = <5000000>;
211		regulator-max-microvolt = <5000000>;
212		vin-supply = <&vcc5v_midu>;
213	};
214
215	vcc_bat: vcc-bat-regulator {
216		compatible = "regulator-fixed";
217		regulator-name = "vcc_bat";
218		regulator-always-on;
219		regulator-boot-on;
220	};
221
222	vcc_sys: vcc-sys-regulator {
223		compatible = "regulator-fixed";
224		regulator-name = "vcc_sys";
225		regulator-always-on;
226		regulator-boot-on;
227		vin-supply = <&vcc_bat>;
228	};
229
230	vdd1v2_dvp: vdd1v2-dvp-regulator {
231		compatible = "regulator-fixed";
232		regulator-name = "vdd1v2_dvp";
233		regulator-min-microvolt = <1200000>;
234		regulator-max-microvolt = <1200000>;
235		vin-supply = <&vcc_3v3>;
236	};
237};
238
239&combphy1 {
240	status = "okay";
241};
242
243&combphy2 {
244	status = "okay";
245};
246
247&cpu0 {
248	cpu-supply = <&vdd_cpu>;
249};
250
251&cpu1 {
252	cpu-supply = <&vdd_cpu>;
253};
254
255&cpu2 {
256	cpu-supply = <&vdd_cpu>;
257};
258
259&cpu3 {
260	cpu-supply = <&vdd_cpu>;
261};
262
263&cru {
264	assigned-clocks = <&pmucru CLK_RTC_32K>, <&cru PLL_GPLL>,
265			  <&pmucru PLL_PPLL>, <&cru PLL_VPLL>;
266	assigned-clock-rates = <32768>, <1200000000>, <200000000>, <500000000>;
267	assigned-clock-parents = <&pmucru CLK_RTC32K_FRAC>;
268};
269
270&csi_dphy {
271	status = "okay";
272};
273
274&dsi0 {
275	status = "okay";
276	clock-master;
277	#address-cells = <1>;
278	#size-cells = <0>;
279
280	lcd: panel@0 {
281		compatible = "boe,th101mb31ig002-28a";
282		reg = <0>;
283		backlight = <&backlight>;
284		enable-gpios = <&gpio0 RK_PC7 GPIO_ACTIVE_HIGH>;
285		rotation = <90>;
286		power-supply = <&vcc_3v3>;
287
288		port@0 {
289			panel_in_dsi: endpoint@0 {
290				remote-endpoint = <&dsi0_out_con>;
291			};
292		};
293	};
294};
295
296&dsi0_in {
297	dsi0_in_vp1: endpoint {
298		remote-endpoint = <&vp1_out_dsi0>;
299	};
300};
301
302&dsi0_out {
303	dsi0_out_con: endpoint {
304		remote-endpoint = <&panel_in_dsi>;
305	};
306};
307
308&dsi_dphy0 {
309	status = "okay";
310};
311
312&gpu {
313	mali-supply = <&vdd_gpu_npu>;
314	status = "okay";
315};
316
317&hdmi {
318	avdd-0v9-supply = <&vdda_0v9_p>;
319	avdd-1v8-supply = <&vcc_1v8>;
320	status = "okay";
321};
322
323&hdmi_in {
324	hdmi_in_vp0: endpoint {
325		remote-endpoint = <&vp0_out_hdmi>;
326	};
327};
328
329&hdmi_out {
330	hdmi_out_con: endpoint {
331		remote-endpoint = <&hdmi_con_in>;
332	};
333};
334
335&hdmi_sound {
336	status = "okay";
337};
338
339&i2c0 {
340	clock-frequency = <400000>;
341	status = "okay";
342
343	vdd_cpu: regulator@1c {
344		compatible = "tcs,tcs4525";
345		reg = <0x1c>;
346		fcs,suspend-voltage-selector = <1>;
347		regulator-name = "vdd_cpu";
348		regulator-min-microvolt = <800000>;
349		regulator-max-microvolt = <1150000>;
350		regulator-ramp-delay = <2300>;
351		regulator-always-on;
352		regulator-boot-on;
353		vin-supply = <&vcc_sys>;
354
355		regulator-state-mem {
356			regulator-off-in-suspend;
357		};
358	};
359
360	rk817: pmic@20 {
361		compatible = "rockchip,rk817";
362		reg = <0x20>;
363		interrupt-parent = <&gpio0>;
364		interrupts = <RK_PA3 IRQ_TYPE_LEVEL_LOW>;
365		assigned-clocks = <&cru I2S1_MCLKOUT_TX>;
366		assigned-clock-parents = <&cru CLK_I2S1_8CH_TX>;
367		clock-names = "mclk";
368		clocks = <&cru I2S1_MCLKOUT_TX>;
369		clock-output-names = "rk808-clkout1", "rk808-clkout2";
370		#clock-cells = <1>;
371		pinctrl-names = "default";
372		pinctrl-0 = <&pmic_int_l>, <&i2s1m0_mclk>;
373		rockchip,system-power-controller;
374		#sound-dai-cells = <0>;
375		wakeup-source;
376
377		vcc1-supply = <&vcc_sys>;
378		vcc2-supply = <&vcc_sys>;
379		vcc3-supply = <&vcc_sys>;
380		vcc4-supply = <&vcc_sys>;
381		vcc5-supply = <&vcc_sys>;
382		vcc6-supply = <&vcc_sys>;
383		vcc7-supply = <&vcc_sys>;
384		vcc8-supply = <&vcc_sys>;
385		vcc9-supply = <&vcc5v_midu>;
386
387		regulators {
388			vdd_logic: DCDC_REG1 {
389				regulator-always-on;
390				regulator-boot-on;
391				regulator-min-microvolt = <500000>;
392				regulator-max-microvolt = <1350000>;
393				regulator-ramp-delay = <6001>;
394				regulator-initial-mode = <0x2>;
395				regulator-name = "vdd_logic";
396				regulator-state-mem {
397					regulator-off-in-suspend;
398				};
399			};
400
401			vdd_gpu_npu: DCDC_REG2 {
402				regulator-min-microvolt = <500000>;
403				regulator-max-microvolt = <1350000>;
404				regulator-ramp-delay = <6001>;
405				regulator-initial-mode = <0x2>;
406				regulator-name = "vdd_gpu_npu";
407				regulator-state-mem {
408					regulator-off-in-suspend;
409				};
410			};
411
412			vcc_ddr: DCDC_REG3 {
413				regulator-always-on;
414				regulator-boot-on;
415				regulator-initial-mode = <0x2>;
416				regulator-name = "vcc_ddr";
417				regulator-state-mem {
418					regulator-on-in-suspend;
419				};
420			};
421
422			vcc3v3_sys: DCDC_REG4 {
423				regulator-always-on;
424				regulator-boot-on;
425				regulator-min-microvolt = <3300000>;
426				regulator-max-microvolt = <3300000>;
427				regulator-initial-mode = <0x2>;
428				regulator-name = "vcc3v3_sys";
429				regulator-state-mem {
430					regulator-off-in-suspend;
431				};
432			};
433
434			vcca1v8_pmu: LDO_REG1 {
435				regulator-always-on;
436				regulator-boot-on;
437				regulator-min-microvolt = <1800000>;
438				regulator-max-microvolt = <1800000>;
439				regulator-name = "vcca1v8_pmu";
440				regulator-state-mem {
441					regulator-on-in-suspend;
442				};
443			};
444
445			vdda_0v9_p: LDO_REG2 {
446				regulator-always-on;
447				regulator-boot-on;
448				regulator-min-microvolt = <900000>;
449				regulator-max-microvolt = <900000>;
450				regulator-name = "vdda_0v9_p";
451				regulator-state-mem {
452					regulator-off-in-suspend;
453				};
454			};
455
456			vdda0v9_pmu: LDO_REG3 {
457				regulator-always-on;
458				regulator-boot-on;
459				regulator-min-microvolt = <900000>;
460				regulator-max-microvolt = <900000>;
461				regulator-name = "vdda0v9_pmu";
462				regulator-state-mem {
463					regulator-on-in-suspend;
464				};
465			};
466
467			vccio_acodec: LDO_REG4 {
468				regulator-always-on;
469				regulator-boot-on;
470				regulator-min-microvolt = <3300000>;
471				regulator-max-microvolt = <3300000>;
472				regulator-name = "vccio_acodec";
473				regulator-state-mem {
474					regulator-off-in-suspend;
475				};
476			};
477
478			vccio_sd: LDO_REG5 {
479				regulator-always-on;
480				regulator-boot-on;
481				regulator-min-microvolt = <1800000>;
482				regulator-max-microvolt = <3300000>;
483				regulator-name = "vccio_sd";
484				regulator-state-mem {
485					regulator-off-in-suspend;
486				};
487			};
488
489			vcc3v3_pmu: LDO_REG6 {
490				regulator-always-on;
491				regulator-boot-on;
492				regulator-min-microvolt = <3300000>;
493				regulator-max-microvolt = <3300000>;
494				regulator-name = "vcc3v3_pmu";
495				regulator-state-mem {
496					regulator-on-in-suspend;
497				};
498			};
499
500			vcc_1v8: LDO_REG7 {
501				regulator-always-on;
502				regulator-boot-on;
503				regulator-min-microvolt = <1800000>;
504				regulator-max-microvolt = <1800000>;
505				regulator-name = "vcc_1v8";
506				regulator-state-mem {
507					regulator-off-in-suspend;
508				};
509			};
510
511			vcc1v8_dvp: LDO_REG8 {
512				regulator-always-on;
513				regulator-boot-on;
514				regulator-min-microvolt = <1800000>;
515				regulator-max-microvolt = <1800000>;
516				regulator-name = "vcc1v8_dvp";
517				regulator-state-mem {
518					regulator-off-in-suspend;
519				};
520			};
521
522			vcc2v8_dvp: LDO_REG9 {
523				regulator-always-on;
524				regulator-boot-on;
525				regulator-min-microvolt = <2800000>;
526				regulator-max-microvolt = <2800000>;
527				regulator-name = "vcc2v8_dvp";
528				regulator-state-mem {
529					regulator-off-in-suspend;
530				};
531			};
532
533			vcc5v_midu: BOOST {
534				regulator-always-on;
535				regulator-boot-on;
536				regulator-min-microvolt = <5000000>;
537				regulator-max-microvolt = <5000000>;
538				regulator-name = "boost";
539				regulator-state-mem {
540					regulator-off-in-suspend;
541				};
542			};
543
544			vbus: OTG_SWITCH {
545				regulator-min-microvolt = <5000000>;
546				regulator-max-microvolt = <5000000>;
547				regulator-name = "otg_switch";
548				regulator-state-mem {
549					regulator-off-in-suspend;
550				};
551			};
552		};
553
554		charger {
555			monitored-battery = <&battery>;
556			rockchip,resistor-sense-micro-ohms = <10000>;
557			rockchip,sleep-enter-current-microamp = <300000>;
558			rockchip,sleep-filter-current-microamp = <100000>;
559		};
560	};
561};
562
563&i2c1 {
564	clock-frequency = <400000>;
565	status = "okay";
566
567	touchscreen@5d {
568		compatible = "goodix,gt911";
569		reg = <0x5d>;
570		interrupt-parent = <&gpio0>;
571		interrupts = <RK_PB0 IRQ_TYPE_EDGE_FALLING>;
572		pinctrl-names = "default";
573		pinctrl-0 = <&tp_int_l_pmuio2>, <&tp_rst_l_pmuio2>;
574		AVDD28-supply = <&vcc3v3_pmu>;
575		VDDIO-supply = <&vcca1v8_pmu>;
576		irq-gpios = <&gpio0 RK_PB0 GPIO_ACTIVE_HIGH>;
577		reset-gpios = <&gpio0 RK_PC2 GPIO_ACTIVE_HIGH>;
578	};
579};
580
581&i2c2 {
582	clock-frequency = <400000>;
583	pinctrl-0 = <&i2c2m1_xfer>;
584	status = "okay";
585
586	vcm@c {
587		compatible = "dongwoon,dw9714";
588		reg = <0x0c>;
589		vcc-supply = <&vcc1v8_dvp>;
590	};
591
592	camera@36 {
593		compatible = "ovti,ov5648";
594		reg = <0x36>;
595		pinctrl-names = "default";
596		pinctrl-0 = <&camerab_pdn_l &camerab_rst_l>;
597
598		clocks = <&cru CLK_CIF_OUT>;
599		assigned-clocks = <&cru CLK_CIF_OUT>;
600		assigned-clock-rates = <24000000>;
601
602		avdd-supply = <&vcc2v8_dvp>;
603		dvdd-supply = <&vdd1v2_dvp>;
604		dovdd-supply = <&vcc1v8_dvp>;
605		powerdown-gpios = <&gpio4 RK_PB3 GPIO_ACTIVE_LOW>;
606		reset-gpios = <&gpio4 RK_PB1 GPIO_ACTIVE_LOW>;
607
608		port {
609			endpoint {
610				data-lanes = <1 2>;
611				remote-endpoint = <0>;
612				link-frequencies = /bits/ 64 <210000000 168000000>;
613			};
614		};
615	};
616};
617
618&i2c5 {
619	clock-frequency = <400000>;
620	status = "okay";
621
622	accelerometer@18 {
623		compatible = "silan,sc7a20";
624		reg = <0x18>;
625		interrupt-parent = <&gpio3>;
626		interrupts = <RK_PA2 IRQ_TYPE_LEVEL_LOW>;
627		pinctrl-names = "default";
628		pinctrl-0 = <&gsensor_int_l>;
629		st,drdy-int-pin = <1>;
630		vdd-supply = <&vcc_1v8>;
631		vddio-supply = <&vcc_1v8>;
632		mount-matrix = "1", "0", "0",
633			       "0", "0", "1",
634			       "0", "1", "0";
635	};
636};
637
638&i2s0_8ch {
639	status = "okay";
640};
641
642&i2s1_8ch {
643	pinctrl-names = "default";
644	pinctrl-0 = <&i2s1m0_sclktx
645		     &i2s1m0_lrcktx
646		     &i2s1m0_sdi0
647		     &i2s1m0_sdo0>;
648	rockchip,trcm-sync-tx-only;
649	status = "okay";
650};
651
652&pcie2x1 {
653	pinctrl-names = "default";
654	pinctrl-0 = <&pcie_reset_h>;
655	reset-gpios = <&gpio1 RK_PB2 GPIO_ACTIVE_HIGH>;
656	vpcie3v3-supply = <&vcc3v3_minipcie>;
657	status = "okay";
658};
659
660&pinctrl {
661	camerab {
662		camerab_pdn_l: camerab-pdn-l {
663			rockchip,pins = <4 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>;
664		};
665
666		camerab_rst_l: camerab-rst-l {
667			rockchip,pins = <4 RK_PB1 RK_FUNC_GPIO &pcfg_pull_none>;
668		};
669	};
670
671	cameraf {
672		cameraf_pdn_l: cameraf-pdn-l {
673			rockchip,pins = <4 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>;
674		};
675
676		cameraf_rst_l: cameraf-rst-l {
677			rockchip,pins = <4 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>;
678		};
679	};
680
681	flash {
682		flash_led_en_h: flash-led-en-h {
683			rockchip,pins = <4 RK_PA5 RK_FUNC_GPIO &pcfg_pull_none>;
684		};
685	};
686
687	fspi {
688		fspi_dual_io_pins: fspi-dual-io-pins {
689			rockchip,pins =
690				/* fspi_clk */
691				<1 RK_PD0 1 &pcfg_pull_none>,
692				/* fspi_cs0n */
693				<1 RK_PD3 1 &pcfg_pull_none>,
694				/* fspi_d0 */
695				<1 RK_PD1 1 &pcfg_pull_none>,
696				/* fspi_d1 */
697				<1 RK_PD2 1 &pcfg_pull_none>;
698		};
699	};
700
701	gsensor {
702		gsensor_int_l: gsensor-int-l {
703			rockchip,pins = <3 RK_PA2 RK_FUNC_GPIO &pcfg_pull_up>;
704		};
705	};
706
707	kb {
708		kb_id_det: kb-id-det {
709			rockchip,pins = <4 RK_PA4 RK_FUNC_GPIO &pcfg_pull_none>;
710		};
711	};
712
713	lcd {
714		lcd_pwren_h: lcd-pwren-h {
715			rockchip,pins = <0 RK_PC7 RK_FUNC_GPIO &pcfg_pull_none>;
716		};
717	};
718
719	pcie {
720		pcie_pwren_h: pcie-pwren-h {
721			rockchip,pins = <4 RK_PC3 RK_FUNC_GPIO &pcfg_pull_none>;
722		};
723
724		pcie_reset_h: pcie-reset-h {
725			rockchip,pins = <1 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>;
726		};
727	};
728
729	pmic {
730		pmic_int_l: pmic-int-l {
731			rockchip,pins = <0 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>;
732		};
733	};
734
735	sdmmc {
736		sdmmc_pwren_l: sdmmc-pwren-l {
737			rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_none>;
738		};
739	};
740
741	sound {
742		hp_det_l: hp-det-l {
743			rockchip,pins = <4 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>;
744		};
745
746		spk_ctl: spk-ctl {
747			rockchip,pins = <4 RK_PC2 RK_FUNC_GPIO &pcfg_pull_none>;
748		};
749	};
750
751	tp {
752		tp_int_l_pmuio2: tp-int-l-pmuio2 {
753			rockchip,pins = <0 RK_PB0 RK_FUNC_GPIO &pcfg_pull_up>;
754		};
755
756		tp_rst_l_pmuio2: tp-rst-l-pmuio2 {
757			rockchip,pins = <0 RK_PC2 RK_FUNC_GPIO &pcfg_pull_none>;
758		};
759	};
760
761	usb {
762		usbcc_int_l: usbcc-int-l {
763			rockchip,pins = <0 RK_PC5 RK_FUNC_GPIO &pcfg_pull_none>;
764		};
765
766		usb_host_pwren1_h: usb-host-pwren1-h {
767			rockchip,pins = <4 RK_PC4 RK_FUNC_GPIO &pcfg_pull_none>;
768		};
769
770		usb_host_pwren2_h: usb-host-pwren2-h {
771			rockchip,pins = <4 RK_PC5 RK_FUNC_GPIO &pcfg_pull_none>;
772		};
773	};
774
775	wifi {
776		host_wake_wl: host-wake-wl {
777			rockchip,pins = <0 RK_PB7 RK_FUNC_GPIO &pcfg_pull_none>;
778		};
779
780		wifi_wake_host_h: wifi-wake-host-h {
781			rockchip,pins = <0 RK_PC4 RK_FUNC_GPIO &pcfg_pull_down>;
782		};
783	};
784};
785
786&pmu_io_domains {
787	pmuio1-supply = <&vcc3v3_pmu>;
788	pmuio2-supply = <&vcca1v8_pmu>;
789	vccio1-supply = <&vccio_acodec>;
790	vccio2-supply = <&vcc_1v8>;
791	vccio3-supply = <&vccio_sd>;
792	vccio4-supply = <&vcc_1v8>;
793	vccio5-supply = <&vcc_1v8>;
794	vccio6-supply = <&vcc1v8_dvp>;
795	vccio7-supply = <&vcc_3v3>;
796	status = "okay";
797};
798
799&pwm4 {
800	status = "okay";
801};
802
803&saradc {
804	vref-supply = <&vcc_1v8>;
805	status = "okay";
806};
807
808&sdhci {
809	bus-width = <8>;
810	no-sdio;
811	no-sd;
812	non-removable;
813	max-frequency = <200000000>;
814	mmc-hs200-1_8v;
815	pinctrl-names = "default";
816	pinctrl-0 = <&emmc_bus8
817		     &emmc_clk
818		     &emmc_cmd
819		     &emmc_datastrobe
820		     &emmc_rstnout>;
821	vmmc-supply = <&vcc_3v3>;
822	vqmmc-supply = <&vcc_1v8>;
823	status = "okay";
824};
825
826&sdmmc0 {
827	bus-width = <4>;
828	cap-sd-highspeed;
829	cd-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_LOW>;
830	disable-wp;
831	pinctrl-names = "default";
832	pinctrl-0 = <&sdmmc0_bus4
833		     &sdmmc0_clk
834		     &sdmmc0_cmd
835		     &sdmmc0_det>;
836	sd-uhs-sdr104;
837	vmmc-supply = <&vcc3v3_sd>;
838	vqmmc-supply = <&vccio_sd>;
839	status = "okay";
840};
841
842&sdmmc1 {
843	bus-width = <4>;
844	cap-sd-highspeed;
845	cap-sdio-irq;
846	keep-power-in-suspend;
847	non-removable;
848	pinctrl-names = "default";
849	pinctrl-0 = <&sdmmc1_bus4
850		     &sdmmc1_cmd
851		     &sdmmc1_clk>;
852	sd-uhs-sdr104;
853	vqmmc-supply = <&vcca1v8_pmu>;
854	status = "okay";
855};
856
857&sfc {
858	pinctrl-names = "default";
859	pinctrl-0 = <&fspi_dual_io_pins>;
860	status = "okay";
861	#address-cells = <1>;
862	#size-cells = <0>;
863
864	flash@0 {
865		compatible = "jedec,spi-nor";
866		reg = <0>;
867		spi-max-frequency = <100000000>;
868		spi-rx-bus-width = <2>;
869		spi-tx-bus-width = <1>;
870	};
871};
872
873&tsadc {
874	rockchip,hw-tshut-mode = <1>;
875	rockchip,hw-tshut-polarity = <0>;
876	status = "okay";
877};
878
879&uart2 {
880	status = "okay";
881};
882
883&usb_host0_ehci {
884	status = "okay";
885};
886
887&usb_host0_ohci {
888	status = "okay";
889};
890
891&usb_host0_xhci {
892	status = "okay";
893};
894
895&usb_host1_xhci {
896	status = "okay";
897};
898
899&usb2phy0 {
900	status = "okay";
901};
902
903&usb2phy0_host {
904	phy-supply = <&vcc5v0_usb_host0>;
905	status = "okay";
906};
907
908&usb2phy0_otg {
909	status = "okay";
910};
911
912&usb2phy1 {
913	status = "okay";
914};
915
916&usb2phy1_otg {
917	phy-supply = <&vcc5v0_usb_host2>;
918	status = "okay";
919};
920
921&vop {
922	assigned-clocks = <&cru DCLK_VOP0>, <&cru DCLK_VOP1>;
923	assigned-clock-parents = <&pmucru PLL_HPLL>, <&cru PLL_VPLL>;
924	status = "okay";
925};
926
927&vop_mmu {
928	status = "okay";
929};
930
931&vp0 {
932	vp0_out_hdmi: endpoint@ROCKCHIP_VOP2_EP_HDMI0 {
933		reg = <ROCKCHIP_VOP2_EP_HDMI0>;
934		remote-endpoint = <&hdmi_in_vp0>;
935	};
936};
937
938&vp1 {
939	vp1_out_dsi0: endpoint@ROCKCHIP_VOP2_EP_MIPI0 {
940		reg = <ROCKCHIP_VOP2_EP_MIPI0>;
941		remote-endpoint = <&dsi0_in_vp1>;
942	};
943};
944