xref: /OK3568_Linux_fs/kernel/arch/arm64/boot/dts/rockchip/rk3368-px5-evb-android.dts (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2/*
3 * Copyright (c) 2022 Rockchip Electronics Co., Ltd.
4 *
5 */
6
7/dts-v1/;
8#include "rk3368.dtsi"
9#include "rk3368-android.dtsi"
10#include "rk3368-cif-sensor.dtsi"
11#include <dt-bindings/pwm/pwm.h>
12#include <dt-bindings/sensor-dev.h>
13
14/ {
15	model = "Rockchip PX5 EVB V11";
16	compatible = "rockchip,px5-evb", "rockchip,px5", "rockchip,rk3368";
17
18	chosen: chosen {
19		bootargs = "earlycon=uart8250,mmio32,0xff1c0000 firmware_class.path=/system/vendor/firmware";
20	};
21
22	fiq_debugger: fiq-debugger {
23		compatible = "rockchip,fiq-debugger";
24			rockchip,serial-id = <4>;
25			rockchip,wake-irq = <0>;
26			/* If enable uart uses irq instead of fiq */
27			rockchip,irq-mode-enable = <0>;
28			/* Only 115200 and 1500000 */
29			rockchip,baudrate = <115200>;
30			pinctrl-names = "default";
31			pinctrl-0 = <&uart4_xfer>;
32			interrupts = <GIC_SPI 154 IRQ_TYPE_LEVEL_HIGH>;
33	};
34
35	firmware {
36		android {
37			compatible = "android,firmware";
38			fstab {
39				compatible = "android,fstab";
40				system {
41					compatible = "android,system";
42					dev = "/dev/block/platform/ff0f0000.dwmmc/by-name/system";
43					type = "ext4";
44					mnt_flags = "ro,barrier=1,inode_readahead_blks=8";
45					fsmgr_flags = "wait";
46				};
47				vendor {
48					compatible = "android,vendor";
49					dev = "/dev/block/platform/ff0f0000.dwmmc/by-name/vendor";
50					type = "ext4";
51					mnt_flags = "ro,barrier=1,inode_readahead_blks=8";
52					fsmgr_flags = "wait";
53				};
54			};
55		};
56	};
57
58	xin32k: xin32k {
59		status = "okay";
60		compatible = "pwm-clock";
61		#clock-cells = <0>;
62		clock-frequency = <32768>;
63		clock-output-names = "xin32k";
64		pwms = <&pwm1 0 30518 0>; /* 1 / 30518 ns = 32.7675 KHz */
65	};
66
67	sdio_pwrseq: sdio-pwrseq {
68		compatible = "mmc-pwrseq-simple";
69		clocks = <&rk808 1>;
70		clock-names = "ext_clock";
71		pinctrl-names = "default";
72		pinctrl-0 = <&wifi_enable_h>;
73
74		/*
75		 * On the module itself this is one of these (depending
76		 * on the actual card populated):
77		 * - SDIO_RESET_L_WL_REG_ON
78		 * - PDN (power down when low)
79		 */
80		reset-gpios = <&gpio3 RK_PA5 GPIO_ACTIVE_LOW>; /* GPIO3_A5 */
81	};
82
83	es8396-sound {
84		compatible = "simple-audio-card";
85		simple-audio-card,format = "i2s";
86		simple-audio-card,name = "rockchip,es8396-codec";
87		simple-audio-card,mclk-fs = <256>;
88		simple-audio-card,widgets =
89			"Microphone", "Microphone Jack",
90			"Line", "Microphone Headset",
91			"Headphone", "Headphone Jack";
92		simple-audio-card,routing =
93			"MIC", "Microphone Jack",
94			"DMIC", "Microphone Headset",
95			"Headphone Jack", "LOUTP",
96			"Headphone Jack", "ROUTN";
97		simple-audio-card,cpu {
98			sound-dai = <&i2s_8ch>;
99		};
100		simple-audio-card,codec {
101			sound-dai = <&es8396>;
102		};
103	};
104
105	backlight: backlight {
106		compatible = "pwm-backlight";
107		pwms = <&pwm0 0 25000 0>;
108		brightness-levels = <
109			  0   1   2   3   4   5   6   7
110			  8   9  10  11  12  13  14  15
111			 16  17  18  19  20  21  22  23
112			 24  25  26  27  28  29  30  31
113			 32  33  34  35  36  37  38  39
114			 40  41  42  43  44  45  46  47
115			 48  49  50  51  52  53  54  55
116			 56  57  58  59  60  61  62  63
117			 64  65  66  67  68  69  70  71
118			 72  73  74  75  76  77  78  79
119			 80  81  82  83  84  85  86  87
120			 88  89  90  91  92  93  94  95
121			 96  97  98  99 100 101 102 103
122			104 105 106 107 108 109 110 111
123			112 113 114 115 116 117 118 119
124			120 121 122 123 124 125 126 127
125			128 129 130 131 132 133 134 135
126			136 137 138 139 140 141 142 143
127			144 145 146 147 148 149 150 151
128			152 153 154 155 156 157 158 159
129			160 161 162 163 164 165 166 167
130			168 169 170 171 172 173 174 175
131			176 177 178 179 180 181 182 183
132			184 185 186 187 188 189 190 191
133			192 193 194 195 196 197 198 199
134			200 201 202 203 204 205 206 207
135			208 209 210 211 212 213 214 215
136			216 217 218 219 220 221 222 223
137			224 225 226 227 228 229 230 231
138			232 233 234 235 236 237 238 239
139			240 241 242 243 244 245 246 247
140			248 249 250 251 252 253 254 255>;
141		default-brightness-level = <200>;
142		enable-gpios = <&gpio0 RK_PB6 GPIO_ACTIVE_HIGH>;
143	};
144
145	rk_key: rockchip-key {
146		compatible = "rockchip,key";
147		status = "okay";
148
149		io-channels = <&saradc 1>;
150
151		vol-up-key {
152			linux,code = <115>;
153			label = "volume up";
154			rockchip,adc_value = <1>;
155		};
156
157		vol-down-key {
158			linux,code = <114>;
159			label = "volume down";
160			rockchip,adc_value = <170>;
161		};
162
163		power-key {
164			gpios = <&gpio0 RK_PA2 GPIO_ACTIVE_LOW>;
165			linux,code = <116>;
166			label = "power";
167			gpio-key,wakeup;
168		};
169
170		menu-key {
171			linux,code = <59>;
172			label = "menu";
173			rockchip,adc_value = <355>;
174		};
175
176		home-key {
177			linux,code = <102>;
178			label = "home";
179			rockchip,adc_value = <746>;
180		};
181
182		back-key {
183			linux,code = <158>;
184			label = "back";
185			rockchip,adc_value = <560>;
186		};
187
188		camera-key {
189			linux,code = <212>;
190			label = "camera";
191			rockchip,adc_value = <450>;
192		};
193	};
194
195	wireless-wlan {
196		compatible = "wlan-platdata";
197
198		wifi_chip_type = "rtl8723ds";
199		sdio_vref = <1800>; /*1800mv or 3300mv*/
200		WIFI,host_wake_irq = <&gpio3 RK_PA6 GPIO_ACTIVE_HIGH>;
201		WIFI,vbat_gpio  = <&gpio3 RK_PA4 GPIO_ACTIVE_HIGH>;
202		status = "okay";
203	};
204
205	wireless-bluetooth {
206		compatible = "bluetooth-platdata";
207
208		keep_bt_power_on;
209		BT,power_gpio = <&gpio3 4 GPIO_ACTIVE_HIGH>; /* GPIO3_A4 */
210		BT,reset_gpio = <&gpio3 2 GPIO_ACTIVE_HIGH>; /* GPIO3_A2 */
211		BT,wake_gpio = <&gpio3 7 GPIO_ACTIVE_HIGH>; /* GPIO3_A7 */
212		BT,wake_host_irq = <&gpio3 3 GPIO_ACTIVE_HIGH>; /* GPIO3_A3 */
213
214		status = "okay";
215	};
216
217	gpio_det: gpio-det {
218		compatible = "gpio-detection";
219		status = "okay";
220
221		pinctrl-0 = <&gpio3_b1 &gpio3_b2>;
222		pinctrl-names = "default";
223
224		car-reverse {
225			car-reverse-gpios = <&gpio3 10 GPIO_ACTIVE_LOW>;
226			linux,debounce-ms = <5>;
227			label = "car-reverse";
228			gpio,wakeup;
229		};
230
231		car-acc {
232			car-acc-gpios = <&gpio3 9 GPIO_ACTIVE_LOW>;
233			linux,debounce-ms = <5>;
234			label = "car-acc";
235			gpio,wakeup;
236		};
237	};
238
239	vcc_sys: vcc-sys-regulator {
240		compatible = "regulator-fixed";
241		regulator-name = "vcc_sys";
242		regulator-always-on;
243		regulator-boot-on;
244		regulator-min-microvolt = <3800000>;
245		regulator-max-microvolt = <3800000>;
246	};
247
248	vcc_host: vcc-host {
249		compatible = "regulator-fixed";
250		enable-active-low;
251		gpio = <&gpio0 RK_PA3 GPIO_ACTIVE_LOW>;
252		pinctrl-names = "default";
253		pinctrl-0 = <&host_vbus_drv>;
254		regulator-name = "vcc_host";
255		regulator-always-on;
256	};
257
258	vcc18_lcd_n: vcc18-lcd-n {
259		compatible = "regulator-fixed";
260		regulator-name = "vcc18_lcd_n";
261		regulator-always-on;
262		regulator-boot-on;
263		regulator-min-microvolt = <1800000>;
264		regulator-max-microvolt = <1800000>;
265		gpio = <&gpio2 RK_PD3 GPIO_ACTIVE_HIGH>;
266		enable-active-high;
267		startup-delay-us = <70000>;
268		vin-supply = <&vcc_18>;
269
270		regulator-state-mem {
271			regulator-off-in-suspend;
272		};
273	};
274
275	panel {
276		compatible = "samsung,lsl070nl01", "simple-panel";
277		power-supply = <&vcc33_lcd>;
278		backlight = <&backlight>;
279		prepare-delay-ms = <120>;
280		unprepare-delay-ms = <120>;
281		bus-format = <MEDIA_BUS_FMT_RGB888_1X7X4_SPWG>;
282
283		display-timings {
284			native-mode = <&timing0>;
285
286			timing0: timing0 {
287				clock-frequency = <48000000>;
288				hactive = <1024>;
289				vactive = <600>;
290				hback-porch = <90>;
291				hfront-porch = <90>;
292				vback-porch = <10>;
293				vfront-porch = <10>;
294				hsync-len = <90>;
295				vsync-len = <10>;
296				hsync-active = <0>;
297				vsync-active = <0>;
298				de-active = <0>;
299				pixelclk-active = <0>;
300			};
301		};
302
303		port {
304			panel_in_lvds: endpoint {
305				remote-endpoint = <&lvds_out_panel>;
306			};
307		};
308	};
309};
310
311&firmware_android {
312	compatible = "android,firmware";
313	fstab {
314		compatible = "android,fstab";
315		system {
316			compatible = "android,system";
317			dev = "/dev/block/by-name/system";
318			type = "ext4";
319			mnt_flags = "ro,barrier=1,inode_readahead_blks=8";
320			fsmgr_flags = "wait,verify";
321		};
322		vendor {
323			compatible = "android,vendor";
324			dev = "/dev/block/by-name/vendor";
325			type = "ext4";
326			mnt_flags = "ro,barrier=1,inode_readahead_blks=8";
327			fsmgr_flags = "wait,verify";
328		};
329	};
330};
331
332&cif_sensor {
333	status = "okay";
334};
335
336&cluster0_opp {
337	rockchip,threshold-freq = <408000>;
338	rockchip,freq-limit;
339};
340
341&cluster1_opp {
342	rockchip,threshold-freq = <1416000>;
343};
344
345&cpu_l0 {
346	cpu-supply = <&vdd_cpu>;
347};
348
349&cpu_l1 {
350	cpu-supply = <&vdd_cpu>;
351};
352
353&cpu_l2 {
354	cpu-supply = <&vdd_cpu>;
355};
356
357&cpu_l3 {
358	cpu-supply = <&vdd_cpu>;
359};
360
361&cpu_b0 {
362	cpu-supply = <&vdd_cpu>;
363};
364
365&cpu_b1 {
366	cpu-supply = <&vdd_cpu>;
367};
368
369&cpu_b2 {
370	cpu-supply = <&vdd_cpu>;
371};
372
373&cpu_b3 {
374	cpu-supply = <&vdd_cpu>;
375};
376
377&gpu {
378	logic-supply = <&vdd_log>;
379};
380
381&isp {
382	pinctrl-names =
383		"isp_mipi_fl_prefl", "isp_flash_as_gpio",
384		"isp_flash_as_trigger_out";
385	pinctrl-0 = <&isp_prelight>;
386	pinctrl-1 = <&isp_flash_trigger_as_gpio>;
387	pinctrl-2 = <&isp_flash_trigger>;
388};
389
390&rockchip_suspend {
391	status = "okay";
392	rockchip,sleep-mode-config = <
393		(0
394		| RKPM_SLP_ARMOFF
395		| RKPM_SLP_PMU_PLLS_PWRDN
396		| RKPM_SLP_PMU_PMUALIVE_32K
397		| RKPM_SLP_SFT_PLLS_DEEP
398		| RKPM_SLP_PMU_DIS_OSC
399		| RKPM_SLP_SFT_PD_NBSCUS
400		)
401	>;
402	rockchip,wakeup-config = <
403		(0
404		| RKPM_GPIO_WKUP_EN
405		| RKPM_USB_WKUP_EN
406		| RKPM_CLUSTER_L_WKUP_EN
407		)
408	>;
409};
410
411&emmc {
412	status = "okay";
413	bus-width = <8>;
414	clock-frequency = <150000000>;
415	keep-power-in-suspend;
416	cap-mmc-highspeed;
417	mmc-hs200-1_8v;
418	no-sdio;
419	no-sd;
420	disable-wp;
421	non-removable;
422	num-slots = <1>;
423	pinctrl-names = "default";
424	pinctrl-0 = <&emmc_clk &emmc_cmd &emmc_bus8>;
425	vmmc-supply = <&vcc_io>;
426	vqmmc-supply = <&vcc18_flash>;
427};
428
429&sdmmc {
430	status = "okay";
431	clock-frequency = <37500000>;
432	clock-freq-min-max = <400000 37500000>;
433	no-sdio;
434	no-mmc;
435	cap-mmc-highspeed;
436	cap-sd-highspeed;
437	card-detect-delay = <200>;
438	disable-wp;
439	num-slots = <1>;
440	pinctrl-names = "default";
441	pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_cd &sdmmc_bus4>;
442	vmmc-supply = <&vcc_sd>;
443	vqmmc-supply = <&vccio_sd>;
444};
445
446&sdio0 {
447	status = "okay";
448	clock-frequency = <50000000>;
449	clock-freq-min-max = <200000 50000000>;
450	no-sd;
451	no-mmc;
452	bus-width = <4>;
453	disable-wp;
454	cap-sd-highspeed;
455	cap-sdio-irq;
456	keep-power-in-suspend;
457	mmc-pwrseq = <&sdio_pwrseq>;
458	non-removable;
459	num-slots = <1>;
460	pinctrl-names = "default";
461	pinctrl-0 = <&sdio0_bus4 &sdio0_cmd &sdio0_clk>;
462	sd-uhs-sdr104;
463};
464
465&i2c0 {
466	status = "okay";
467
468	rk808: pmic@1b {
469		compatible = "rockchip,rk808";
470		reg = <0x1b>;
471		interrupt-parent = <&gpio0>;
472		interrupts = <5 IRQ_TYPE_LEVEL_LOW>;
473		pinctrl-names = "default";
474		pinctrl-0 = <&pmic_int>;
475		rockchip,system-power-controller;
476		wakeup-source;
477		#clock-cells = <1>;
478		clock-output-names = "rk808-clkout1", "rk808-clkout2";
479
480		vcc1-supply = <&vcc_sys>;
481		vcc2-supply = <&vcc_sys>;
482		vcc3-supply = <&vcc_sys>;
483		vcc4-supply = <&vcc_sys>;
484		vcc6-supply = <&vcc_sys>;
485		vcc7-supply = <&vcc_sys>;
486		vcc8-supply = <&vcc_io>;
487		vcc9-supply = <&vcc_sys>;
488		vcc10-supply = <&vcc_sys>;
489		vcc11-supply = <&vcc_sys>;
490		vcc12-supply = <&vcc_io>;
491
492		regulators {
493			vdd_cpu: DCDC_REG1 {
494				regulator-always-on;
495				regulator-boot-on;
496				regulator-min-microvolt = <700000>;
497				regulator-max-microvolt = <1500000>;
498				regulator-name = "vdd_cpu";
499				regulator-ramp-delay = <6000>;
500				regulator-state-mem {
501					regulator-off-in-suspend;
502					regulator-suspend-microvolt = <1000000>;
503				};
504			};
505
506			vdd_log: DCDC_REG2 {
507				regulator-always-on;
508				regulator-boot-on;
509				regulator-min-microvolt = <700000>;
510				regulator-max-microvolt = <1500000>;
511				regulator-name = "vdd_log";
512				regulator-ramp-delay = <6000>;
513				regulator-state-mem {
514					regulator-on-in-suspend;
515					regulator-suspend-microvolt = <1000000>;
516				};
517			};
518
519			vcc_ddr: DCDC_REG3 {
520				regulator-always-on;
521				regulator-boot-on;
522				regulator-name = "vcc_ddr";
523				regulator-state-mem {
524					regulator-on-in-suspend;
525				};
526			};
527
528			vcc_io: DCDC_REG4 {
529				regulator-always-on;
530				regulator-boot-on;
531				regulator-min-microvolt = <3300000>;
532				regulator-max-microvolt = <3300000>;
533				regulator-name = "vcc_io";
534				regulator-state-mem {
535					regulator-on-in-suspend;
536					regulator-suspend-microvolt = <3300000>;
537				};
538			};
539
540			vcc18_flash: LDO_REG1 {
541				regulator-always-on;
542				regulator-boot-on;
543				regulator-min-microvolt = <1800000>;
544				regulator-max-microvolt = <1800000>;
545				regulator-name = "vcc18_flash";
546				regulator-state-mem {
547					regulator-on-in-suspend;
548					regulator-suspend-microvolt = <1800000>;
549				};
550			};
551
552			vcca_33: LDO_REG2 {
553				regulator-always-on;
554				regulator-boot-on;
555				regulator-min-microvolt = <3300000>;
556				regulator-max-microvolt = <3300000>;
557				regulator-name = "vcca_33";
558				regulator-state-mem {
559					regulator-off-in-suspend;
560					regulator-suspend-microvolt = <3300000>;
561				};
562			};
563
564			vdd_10: LDO_REG3 {
565				regulator-always-on;
566				regulator-boot-on;
567				regulator-min-microvolt = <1000000>;
568				regulator-max-microvolt = <1000000>;
569				regulator-name = "vdd_10";
570				regulator-state-mem {
571					regulator-on-in-suspend;
572					regulator-suspend-microvolt = <1000000>;
573				};
574			};
575
576			avdd_33: LDO_REG4 {
577				regulator-always-on;
578				regulator-boot-on;
579				regulator-min-microvolt = <3300000>;
580				regulator-max-microvolt = <3300000>;
581				regulator-name = "avdd_33";
582				regulator-state-mem {
583					regulator-off-in-suspend;
584					regulator-suspend-microvolt = <3300000>;
585				};
586			};
587
588			vccio_sd: LDO_REG5 {
589				regulator-always-on;
590				regulator-boot-on;
591				regulator-min-microvolt = <1800000>;
592				regulator-max-microvolt = <3300000>;
593				regulator-name = "vccio_sd";
594				regulator-state-mem {
595					regulator-on-in-suspend;
596					regulator-suspend-microvolt = <3300000>;
597				};
598			};
599
600			vdd10_lcd: LDO_REG6 {
601				regulator-always-on;
602				regulator-boot-on;
603				regulator-min-microvolt = <1000000>;
604				regulator-max-microvolt = <1000000>;
605				regulator-name = "vdd10_lcd";
606				regulator-state-mem {
607					regulator-off-in-suspend;
608					regulator-suspend-microvolt = <1000000>;
609				};
610			};
611
612			vcc_18: LDO_REG7 {
613				regulator-always-on;
614				regulator-boot-on;
615				regulator-min-microvolt = <1800000>;
616				regulator-max-microvolt = <1800000>;
617				regulator-name = "vcc_18";
618				regulator-state-mem {
619					regulator-on-in-suspend;
620					regulator-suspend-microvolt = <1800000>;
621				};
622			};
623
624			vcc18_lcd: LDO_REG8 {
625				regulator-always-on;
626				regulator-boot-on;
627				regulator-min-microvolt = <1800000>;
628				regulator-max-microvolt = <1800000>;
629				regulator-name = "vcc18_lcd";
630				regulator-state-mem {
631					regulator-off-in-suspend;
632					regulator-suspend-microvolt = <1800000>;
633				};
634			};
635
636			vcc_sd: SWITCH_REG1 {
637				regulator-boot-on;
638				regulator-name = "vcc_sd";
639				regulator-state-mem {
640					regulator-off-in-suspend;
641				};
642			};
643
644			vcc33_lcd: SWITCH_REG2 {
645				regulator-boot-on;
646				regulator-name = "vcc33_lcd";
647				regulator-state-mem {
648					regulator-off-in-suspend;
649				};
650			};
651		};
652	};
653};
654
655&i2c1 {
656	status = "okay";
657
658	bma2x2: bma250@18 {
659		compatible = "bma2xx_acc";
660		status = "okay";
661		reg = <0x18>;
662		type = <SENSOR_TYPE_ACCEL>;
663		pinctrl-names = "default";
664		pinctrl-0 = <&gpio2_c1>;
665		irq-gpio = <&gpio2 17 IRQ_TYPE_LEVEL_LOW>;
666		irq_enable = <1>;
667		poll_delay_ms = <200>;
668		layout = <6>;
669		reprobe_en = <1>;/* this sensor need to be probe again */
670	};
671
672	ls_stk3410: light@48 {
673		compatible = "ls_stk3410";
674		status = "okay";
675		reg = <0x48>;
676		type = <SENSOR_TYPE_LIGHT>;
677		irq_enable = <0>;
678		als_threshold_high = <100>;
679		als_threshold_low = <10>;
680		als_ctrl_gain = <2>; /* 0:x1 1:x4 2:x16 3:x64 */
681		poll_delay_ms = <100>;
682	};
683
684	ps_stk3410: proximity@48 {
685		compatible = "ps_stk3410";
686		status = "okay";
687		reg = <0x48>;
688		type = <SENSOR_TYPE_PROXIMITY>;
689		pinctrl-names = "default";
690		pinctrl-0 = <&gpio2_c3>;
691		irq-gpio = <&gpio2 19 IRQ_TYPE_LEVEL_LOW>;
692		irq_enable = <1>;
693		ps_threshold_high = <0x200>;
694		ps_threshold_low = <0x100>;
695		ps_ctrl_gain = <3>; /* 0:x1 1:x4 2:x16 3:x64 */
696		ps_led_current = <3>; /* 0:12.5mA 1:25mA 2:50mA 3:100mA */
697		poll_delay_ms = <100>;
698	};
699};
700
701&i2c2 {
702	status = "okay";
703	clock-frequency = <200000>;
704
705	gsl1680: touchscreen@40 {
706		compatible = "silead,gsl1680";
707		reg = <0x40>;
708		interrupt-parent = <&gpio3>;
709		interrupts = <28 IRQ_TYPE_EDGE_FALLING>;
710		power-gpios = <&gpio3 RK_PB7 GPIO_ACTIVE_HIGH>;
711		touchscreen-size-x = <800>;
712		touchscreen-size-y = <1280>;
713		silead,max-fingers = <5>;
714	};
715
716	gt9xx: gt9xx@14 {
717		compatible = "goodix,gt9xx";
718		reg = <0x14>;
719		touch-gpio = <&gpio3 RK_PD4 IRQ_TYPE_LEVEL_HIGH>;
720		reset-gpio = <&gpio3 RK_PB7 GPIO_ACTIVE_LOW>;
721		max-x = <1024>;
722		max-y = <600>;
723		tp-size = <910>;
724		tp-supply = <&vcc_io>;
725		status = "okay";
726	};
727};
728
729&i2c3 {
730	status = "okay";
731	clock-frequency = <200000>;
732
733	fm1288: fm1288@60{
734		compatible = "fm1288";
735		reg = <0x60>;
736		pwd-gpios = <&gpio0 RK_PD1 GPIO_ACTIVE_HIGH>;
737		bypass-gpios = <&gpio0 RK_PD4 GPIO_ACTIVE_HIGH>;
738		status = "okay";
739	};
740
741	es8396: es8396@10 {
742		status = "okay";
743		#sound-dai-cells = <0>;
744		compatible = "es8396";
745		reg = <0x10>;
746		clocks = <&cru SCLK_I2S_8CH_OUT>;
747		clock-names = "mclk";
748		spk-con-gpio = <&gpio2 RK_PC7 GPIO_ACTIVE_HIGH>;
749		lineout-con-gpio = <&gpio0 RK_PD7 GPIO_ACTIVE_HIGH>;
750		pinctrl-names = "default";
751		pinctrl-0 = <&i2s_8ch_mclk>;
752	};
753};
754
755&i2c4 {
756	status = "okay";
757};
758
759&i2s_8ch {
760	status = "okay";
761	rockchip,i2s-broken-burst-len;
762	rockchip,playback-channels = <8>;
763	rockchip,capture-channels = <2>;
764	#sound-dai-cells = <0>;
765	pinctrl-names = "default";
766	pinctrl-0 = <&i2s_8ch_bus>;
767};
768
769&io_domains {
770	status = "okay";
771	dvp-supply = <&vcc_18>;
772	audio-supply = <&vcc_io>;
773	gpio30-supply = <&vcc_io>;
774	gpio1830-supply = <&vcc_io>;
775	sdcard-supply = <&vccio_sd>;
776	wifi-supply = <&vcc_io>;
777};
778
779&pmu_io_domains {
780	status = "okay";
781	pmu-supply = <&vcc_io>;
782	vop-supply = <&vcca_33>;
783};
784
785&pwm0 {
786	status = "okay";
787};
788
789&pwm1 {
790	status = "okay";
791};
792
793&u2phy {
794	status = "okay";
795
796	u2phy_host: host-port {
797		phy-supply = <&vcc_host>;
798		status = "okay";
799	};
800};
801
802&usb_host0_ehci {
803	status = "okay";
804};
805
806&usb_host0_ohci {
807	status = "okay";
808};
809
810&dfi {
811	status = "okay";
812};
813
814&dmc {
815	vop-dclk-mode = <1>;
816	center-supply = <&vdd_log>;
817	system-status-freq = <
818		/*system status			freq(KHz)*/
819		SYS_STATUS_NORMAL		600000
820		SYS_STATUS_REBOOT		600000
821		SYS_STATUS_SUSPEND		192000
822		SYS_STATUS_VIDEO_1080P	600000
823		SYS_STATUS_VIDEO_4K		600000
824		SYS_STATUS_PERFORMANCE	600000
825		SYS_STATUS_BOOST		600000
826		SYS_STATUS_DUALVIEW		600000
827		SYS_STATUS_ISP			600000
828	>;
829	status = "okay";
830};
831
832&lvds {
833	status = "okay";
834
835	ports {
836		port@1 {
837			reg = <1>;
838
839			lvds_out_panel: endpoint {
840				remote-endpoint = <&panel_in_lvds>;
841			};
842		};
843	};
844};
845
846&route_lvds {
847	status = "okay";
848};
849
850&mailbox {
851	status = "okay";
852};
853
854&mailbox_scpi {
855	status = "okay";
856};
857
858&saradc {
859	status = "okay";
860};
861
862&thermal_zones {
863	status = "okay";
864};
865
866&tsadc {
867	tsadc-supply = <&vdd_cpu>;
868	status = "okay";
869};
870
871&uart1 {
872	pinctrl-names = "default";
873	pinctrl-0 = <&uart1_xfer &uart1_cts>;
874	status = "okay";
875};
876
877&uart2 {
878	status = "disabled";
879};
880
881&uart4 {
882	status = "okay";
883};
884
885&pinctrl {
886	pmic {
887		pmic_int: pmic-int {
888			rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>;
889		};
890	};
891
892	dc_det {
893		dc_irq_gpio: dc-irq-gpio {
894			rockchip,pins = <0 RK_PC1 RK_FUNC_GPIO &pcfg_pull_up>;
895		};
896	};
897
898	sdio-pwrseq {
899		wifi_enable_h: wifi-enable-h {
900			rockchip,pins = <3 RK_PA5 RK_FUNC_GPIO &pcfg_pull_none>;
901		};
902	};
903
904	usb2 {
905		host_vbus_drv: host-vbus-drv {
906			rockchip,pins = <0 RK_PA3 RK_FUNC_GPIO &pcfg_pull_none>;
907		};
908	};
909
910	wireless-bluetooth {
911		uart0_rts_gpio: uart0-rts-gpio {
912			rockchip,pins = <2 RK_PD3 RK_FUNC_GPIO &pcfg_pull_none>;
913		};
914	};
915
916	gpio0_gpio {
917		gpio0_c7: gpio0-c7 {
918			rockchip,pins = <0 RK_PC7 RK_FUNC_GPIO  &pcfg_pull_down>;
919		};
920		gpio0_a3: gpio0-a3 {
921			rockchip,pins = <0 RK_PA3 3 &pcfg_pull_none>;
922		};
923		gpio0_c2: gpio0-c2 {
924			rockchip,pins = <0 RK_PC2 RK_FUNC_GPIO &pcfg_pull_down>;
925		};
926		gpio0_c3: gpio0-c3 {
927			rockchip,pins = <0 RK_PC4 RK_FUNC_GPIO &pcfg_pull_up>;
928		};
929		gpio0_c1: gpio0-c1 {
930			rockchip,pins = <0 RK_PC1 RK_FUNC_GPIO &pcfg_pull_up>;
931		};
932		gpio2_c1: gpio2-c1 {
933			rockchip,pins = <2 RK_PC1 RK_FUNC_GPIO &pcfg_pull_up>;
934		};
935		gpio2_c3: gpio2-c3 {
936			rockchip,pins = <2 RK_PC3 RK_FUNC_GPIO &pcfg_pull_up>;
937		};
938
939		gpio3_b1: gpio3-b1 {
940			rockchip,pins = <3 RK_PB1 RK_FUNC_GPIO &pcfg_pull_up>;
941		};
942
943		gpio3_b2: gpio3-b2 {
944			rockchip,pins = <3 RK_PB2 RK_FUNC_GPIO &pcfg_pull_up>;
945		};
946	};
947	i2s {
948		i2s_8ch_bus: i2s-8ch-bus {
949			rockchip,pins = <2 RK_PB4 1 &pcfg_pull_none>,
950					<2 RK_PB5 1 &pcfg_pull_none>,
951					<2 RK_PB6 1 &pcfg_pull_none>,
952					<2 RK_PB7 1 &pcfg_pull_none>,
953					<2 RK_PC0 1 &pcfg_pull_none>,
954					<2 RK_PC2 1 &pcfg_pull_none>;
955		};
956	};
957};
958