xref: /OK3568_Linux_fs/kernel/arch/arm64/boot/dts/rockchip/rk3368-808.dtsi (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2/*
3 * Copyright (c) 2019 Fuzhou Rockchip Electronics Co., Ltd
4 */
5
6/dts-v1/;
7#include <dt-bindings/input/input.h>
8#include <dt-bindings/pwm/pwm.h>
9#include <dt-bindings/sensor-dev.h>
10#include "rk3368.dtsi"
11#include "rk3368-android.dtsi"
12
13/ {
14	rt5640-sound {
15		compatible = "simple-audio-card";
16		simple-audio-card,format = "i2s";
17		simple-audio-card,name = "rockchip,rt5640-codec";
18		simple-audio-card,mclk-fs = <256>;
19		simple-audio-card,widgets =
20			"Microphone", "Mic Jack",
21			"Headphone", "Headphone Jack";
22		simple-audio-card,routing =
23			"Mic Jack", "MICBIAS1",
24			"IN1P", "Mic Jack",
25			"Headphone Jack", "HPOL",
26			"Headphone Jack", "HPOR";
27		simple-audio-card,dai-link@0 {
28			format = "i2s";
29			cpu {
30				sound-dai = <&i2s_8ch>;
31			};
32			codec {
33				sound-dai = <&rt5640>;
34			};
35		};
36
37		simple-audio-card,dai-link@1 {
38			format = "i2s";
39			cpu {
40				sound-dai = <&i2s_8ch>;
41			};
42			codec {
43				sound-dai = <&hdmi>;
44			};
45		};
46	};
47
48	rk_headset {
49		compatible = "rockchip_headset";
50		headset_gpio = <&gpio2 RK_PC3 GPIO_ACTIVE_HIGH>;
51		pinctrl-names = "default";
52		pinctrl-0 = <&hp_det>;
53		io-channels = <&saradc 2>;
54	};
55
56	ext_gmac: gmac-clk {
57		compatible = "fixed-clock";
58		clock-frequency = <125000000>;
59		clock-output-names = "ext_gmac";
60		#clock-cells = <0>;
61	};
62
63	vcc_phy: vcc-phy-regulator {
64		compatible = "regulator-fixed";
65		regulator-name = "vcc_phy";
66		regulator-always-on;
67		regulator-boot-on;
68	};
69
70	vcc_camera: vcc-camera-regulator {
71		compatible = "regulator-fixed";
72		gpio = <&gpio0 RK_PB2 GPIO_ACTIVE_HIGH>;
73		pinctrl-names = "default";
74		pinctrl-0 = <&camera_pwr>;
75		regulator-name = "vcc_camera";
76		enable-active-high;
77		regulator-always-on;
78		regulator-boot-on;
79	};
80
81	vcc_lcd: vcc-lcd-regulator {
82		compatible = "regulator-fixed";
83		gpio = <&gpio3 RK_PD5 GPIO_ACTIVE_HIGH>;
84		pinctrl-names = "default";
85		pinctrl-0 = <&lcd_pwr>;
86		regulator-name = "vcc_lcd";
87		enable-active-high;
88		regulator-boot-on;
89		regulator-state-mem {
90			regulator-off-in-suspend;
91		};
92	};
93
94	vcc_otg_vbus: otg-vbus-regulator {
95		compatible = "regulator-fixed";
96		gpio = <&gpio0 RK_PA5 GPIO_ACTIVE_HIGH>;
97		pinctrl-names = "default";
98		pinctrl-0 = <&otg_vbus_drv>;
99		regulator-name = "vcc_otg_vbus";
100		regulator-min-microvolt = <5000000>;
101		regulator-max-microvolt = <5000000>;
102		enable-active-high;
103	};
104
105	backlight: backlight {
106		compatible = "pwm-backlight";
107		pwms = <&pwm3 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	};
143
144	panel {
145		compatible = "samsung,lsl070nl01", "simple-panel";
146		backlight = <&backlight>;
147		enable-gpios = <&gpio3 RK_PD5 GPIO_ACTIVE_HIGH>;
148		enable-delay-ms = <120>;
149		prepare-delay-ms = <2>;
150		unprepare-delay-ms = <20>;
151		disable-delay-ms = <50>;
152		width-mm = <68>;
153		height-mm = <121>;
154		rockchip,data-mapping = "vesa";
155		rockchip,data-width = <24>;
156		rockchip,output = "lvds";
157		status = "disabled";
158
159		display-timings {
160			native-mode = <&timing0>;
161
162			timing0: timing0 {
163				clock-frequency = <160000000>;
164				hactive = <1200>;
165				vactive = <1920>;
166				hback-porch = <60>;
167				hfront-porch = <80>;
168				vback-porch = <25>;
169				vfront-porch = <35>;
170				hsync-len = <1>;
171				vsync-len = <1>;
172				hsync-active = <0>;
173				vsync-active = <0>;
174				de-active = <0>;
175				pixelclk-active = <0>;
176			};
177		};
178
179		port {
180			panel_in: endpoint {
181				remote-endpoint = <&edp_out>;
182			};
183		};
184	};
185
186	charge-animation {
187		compatible = "rockchip,uboot-charge";
188		rockchip,uboot-charge-on = <1>;
189		rockchip,android-charge-on = <0>;
190		rockchip,uboot-low-power-voltage = <3500>;
191		rockchip,screen-on-voltage = <3600>;
192		status = "okay";
193	};
194
195	gpio_keys: gpio-keys {
196		compatible = "gpio-keys";
197		autorepeat;
198
199		power {
200			debounce-interval = <100>;
201			gpios = <&gpio0 2 GPIO_ACTIVE_LOW>;
202			label = "GPIO Key Power";
203			linux,code = <KEY_POWER>;
204			wakeup-source;
205		};
206	};
207
208	adc_keys: adc-keys {
209		compatible = "adc-keys";
210		io-channels = <&saradc 1>;
211		io-channel-names = "buttons";
212		keyup-threshold-microvolt = <1024000>;
213		poll-interval = <100>;
214
215		vol-up-key {
216			label = "volume up";
217			linux,code = <KEY_VOLUMEUP>;
218			press-threshold-microvolt = <1000>;
219		};
220
221		vol-down-key {
222			label = "volume down";
223			linux,code = <KEY_VOLUMEDOWN>;
224			press-threshold-microvolt = <170000>;
225		};
226	};
227
228	sdio_pwrseq: sdio-pwrseq {
229		compatible = "mmc-pwrseq-simple";
230		clocks = <&rk808 1>;
231		clock-names = "ext_clock";
232		pinctrl-names = "default";
233		pinctrl-0 = <&wifi_enable_h>;
234		/*
235		 * On the module itself this is one of these (depending
236		 * on the actual card populated):
237		 * - SDIO_RESET_L_WL_REG_ON
238		 * - PDN (power down when low)
239		 */
240		reset-gpios = <&gpio3 RK_PA4 GPIO_ACTIVE_LOW>; /* GPIO3_A4 */
241	};
242
243	wireless-wlan {
244		compatible = "wlan-platdata";
245		rockchip,grf = <&grf>;
246		wifi_chip_type = "ap6255";
247		sdio_vref = <1800>; //1800mv or 3300mv
248		WIFI,host_wake_irq = <&gpio3 6 GPIO_ACTIVE_HIGH>;
249		status = "okay";
250	};
251
252	wireless-bluetooth {
253		compatible = "bluetooth-platdata";
254		clocks = <&rk808 1>;
255		clock-names = "ext_clock";
256		uart_rts_gpios = <&gpio2 27 GPIO_ACTIVE_LOW>;
257		pinctrl-names = "default","rts_gpio";
258		pinctrl-0 = <&uart0_rts>;
259		pinctrl-1 = <&uart0_rts_gpio>;
260
261		/* BT,power_gpio = <&gpio3 3 GPIO_ACTIVE_HIGH>; */
262		BT,reset_gpio = <&gpio3 5 GPIO_ACTIVE_HIGH>;
263		BT,wake_gpio = <&gpio3 2 GPIO_ACTIVE_HIGH>;
264		BT,wake_host_irq = <&gpio3 7 GPIO_ACTIVE_HIGH>;
265
266		status = "okay";
267	};
268
269	rk_modem: rk-modem {
270		compatible="4g-modem-platdata";
271		pinctrl-names = "default";
272		pinctrl-0 = <&lte_vbat &lte_power_en &lte_reset>;
273		4G,vbat-gpio = <&gpio0 RK_PA4 GPIO_ACTIVE_HIGH>;
274		4G,power-gpio = <&gpio0 RK_PC0 GPIO_ACTIVE_LOW>;
275		4G,reset-gpio = <&gpio0 RK_PB7 GPIO_ACTIVE_LOW>;
276		status = "okay";
277	};
278
279	vcc_sys: vcc-sys {
280		compatible = "regulator-fixed";
281		regulator-name = "vcc_sys";
282		regulator-always-on;
283		regulator-boot-on;
284		regulator-min-microvolt = <5000000>;
285		regulator-max-microvolt = <5000000>;
286	};
287
288	xin32k: xin32k {
289		compatible = "fixed-clock";
290		clock-frequency = <32768>;
291		clock-output-names = "xin32k";
292		#clock-cells = <0>;
293	};
294};
295
296&cpu_l0 {
297	cpu-supply = <&vdd_cpu>;
298};
299
300&cpu_l1 {
301	cpu-supply = <&vdd_cpu>;
302};
303
304&cpu_l2 {
305	cpu-supply = <&vdd_cpu>;
306};
307
308&cpu_l3 {
309	cpu-supply = <&vdd_cpu>;
310};
311
312&cpu_b0 {
313	cpu-supply = <&vdd_cpu>;
314};
315
316&cpu_b1 {
317	cpu-supply = <&vdd_cpu>;
318};
319
320&cpu_b2 {
321	cpu-supply = <&vdd_cpu>;
322};
323
324&cpu_b3 {
325	cpu-supply = <&vdd_cpu>;
326};
327
328&gpu {
329	logic-supply = <&vdd_log>;
330};
331
332&dfi {
333	status = "okay";
334};
335
336&dmc {
337	status = "okay";
338	center-supply = <&vdd_log>;
339	devfreq-events = <&dfi>;
340	upthreshold = <60>;
341	downdifferential = <20>;
342	system-status-freq = <
343		/*system status		freq(KHz)*/
344		SYS_STATUS_NORMAL	600000
345		SYS_STATUS_REBOOT	600000
346		SYS_STATUS_SUSPEND	240000
347		SYS_STATUS_VIDEO_1080P	396000
348		SYS_STATUS_VIDEO_4K	600000
349		SYS_STATUS_PERFORMANCE	600000
350		SYS_STATUS_BOOST	396000
351		SYS_STATUS_DUALVIEW	600000
352		SYS_STATUS_ISP		528000
353	>;
354	vop-bw-dmc-freq = <
355	/* min_bw(MB/s) max_bw(MB/s) freq(KHz) */
356		0       582      240000
357		583     99999    396000
358	>;
359	auto-min-freq = <240000>;
360	auto-freq-en = <0>;
361};
362
363&rockchip_suspend {
364	status = "okay";
365	rockchip,sleep-mode-config = <
366		(0
367		| RKPM_SLP_ARMOFF
368		| RKPM_SLP_PMU_PLLS_PWRDN
369		| RKPM_SLP_PMU_PMUALIVE_32K
370		| RKPM_SLP_SFT_PLLS_DEEP
371		| RKPM_SLP_PMU_DIS_OSC
372		| RKPM_SLP_SFT_PD_NBSCUS
373		)
374	>;
375	rockchip,wakeup-config = <
376		(0
377		| RKPM_GPIO_WKUP_EN
378		| RKPM_USB_WKUP_EN
379		| RKPM_CLUSTER_L_WKUP_EN
380		)
381	>;
382};
383
384&emmc {
385	bus-width = <8>;
386	cap-mmc-highspeed;
387	mmc-hs200-1_8v;
388	no-sdio;
389	no-sd;
390	disable-wp;
391	non-removable;
392	num-slots = <1>;
393	status = "okay";
394};
395
396&nandc0 {
397	status = "okay";
398};
399
400&sdmmc {
401	clock-frequency = <37500000>;
402	clock-freq-min-max = <400000 37500000>;
403	no-sdio;
404	no-mmc;
405	cap-mmc-highspeed;
406	cap-sd-highspeed;
407	card-detect-delay = <200>;
408	disable-wp;
409	num-slots = <1>;
410	pinctrl-names = "default";
411	pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_cd &sdmmc_bus4>;
412	status = "disabled";
413};
414
415&sdio0 {
416	clock-frequency = <100000000>;
417	clock-freq-min-max = <200000 100000000>;
418	no-sd;
419	no-mmc;
420	bus-width = <4>;
421	disable-wp;
422	cap-sd-highspeed;
423	cap-sdio-irq;
424	keep-power-in-suspend;
425	mmc-pwrseq = <&sdio_pwrseq>;
426	non-removable;
427	num-slots = <1>;
428	pinctrl-names = "default";
429	pinctrl-0 = <&sdio0_bus4 &sdio0_cmd &sdio0_clk>;
430	sd-uhs-sdr104;
431	status = "okay";
432};
433
434&i2c0 {
435	status = "okay";
436
437	rk808: pmic@1b {
438		status = "okay";
439		compatible = "rockchip,rk808";
440		reg = <0x1b>;
441		interrupt-parent = <&gpio0>;
442		interrupts = <1 IRQ_TYPE_LEVEL_LOW>;
443		pinctrl-names = "default";
444		pinctrl-0 = <&pmic_int>, <&pmic_sleep>;
445		rockchip,system-power-controller;
446		wakeup-source;
447		vcc1-supply = <&vcc_sys>;
448		vcc2-supply = <&vcc_sys>;
449		vcc3-supply = <&vcc_sys>;
450		vcc4-supply = <&vcc_sys>;
451		vcc6-supply = <&vcc_sys>;
452		vcc7-supply = <&vcc_sys>;
453		vcc8-supply = <&vcc_io>;
454		vcc9-supply = <&vcc_sys>;
455		vcc10-supply = <&vcc_sys>;
456		vcc11-supply = <&vcc_sys>;
457		vcc12-supply = <&vcc_io>;
458		clock-output-names = "rk808-clkout1", "rk808-clkout2";
459		#clock-cells = <1>;
460
461		regulators {
462			vdd_cpu: DCDC_REG1 {
463				regulator-always-on;
464				regulator-boot-on;
465				regulator-min-microvolt = <700000>;
466				regulator-max-microvolt = <1500000>;
467				regulator-name = "vdd_cpu";
468				regulator-state-mem {
469					regulator-off-in-suspend;
470				};
471			};
472
473			vdd_log: DCDC_REG2 {
474				regulator-always-on;
475				regulator-boot-on;
476				regulator-min-microvolt = <700000>;
477				regulator-max-microvolt = <1500000>;
478				regulator-name = "vdd_log";
479				regulator-state-mem {
480					regulator-on-in-suspend;
481					regulator-suspend-microvolt = <1000000>;
482				};
483			};
484
485			vcc_ddr: DCDC_REG3 {
486				regulator-always-on;
487				regulator-boot-on;
488				regulator-name = "vcc_ddr";
489				regulator-state-mem {
490					regulator-on-in-suspend;
491				};
492			};
493
494			vcc_io: DCDC_REG4 {
495				regulator-always-on;
496				regulator-boot-on;
497				regulator-min-microvolt = <3300000>;
498				regulator-max-microvolt = <3300000>;
499				regulator-name = "vcc_io";
500				regulator-state-mem {
501					regulator-on-in-suspend;
502					regulator-suspend-microvolt = <3300000>;
503				};
504			};
505
506			vcc18_flash: LDO_REG1 {
507				regulator-always-on;
508				regulator-boot-on;
509				regulator-min-microvolt = <1800000>;
510				regulator-max-microvolt = <1800000>;
511				regulator-name = "vcc18_flash";
512				regulator-state-mem {
513					regulator-on-in-suspend;
514					regulator-suspend-microvolt = <1800000>;
515				};
516			};
517
518			vcca_33: LDO_REG2 {
519				regulator-always-on;
520				regulator-boot-on;
521				regulator-min-microvolt = <3300000>;
522				regulator-max-microvolt = <3300000>;
523				regulator-name = "vcca_33";
524				regulator-state-mem {
525					regulator-off-in-suspend;
526				};
527			};
528
529			vdd_10: LDO_REG3 {
530				regulator-always-on;
531				regulator-boot-on;
532				regulator-min-microvolt = <1000000>;
533				regulator-max-microvolt = <1000000>;
534				regulator-name = "vdd_10";
535				regulator-state-mem {
536					regulator-on-in-suspend;
537					regulator-suspend-microvolt = <1000000>;
538				};
539			};
540
541			vcca_18: LDO_REG4 {
542				regulator-always-on;
543				regulator-boot-on;
544				regulator-min-microvolt = <1800000>;
545				regulator-max-microvolt = <1800000>;
546				regulator-name = "vcca_18";
547				regulator-state-mem {
548					regulator-off-in-suspend;
549					regulator-suspend-microvolt = <1800000>;
550				};
551			};
552
553			vccio_sd: LDO_REG5 {
554				regulator-always-on;
555				regulator-boot-on;
556				regulator-min-microvolt = <1800000>;
557				regulator-max-microvolt = <3300000>;
558				regulator-name = "vccio_sd";
559				regulator-state-mem {
560					regulator-on-in-suspend;
561					regulator-suspend-microvolt = <3300000>;
562				};
563			};
564
565			vdd10_lcd: LDO_REG6 {
566				regulator-always-on;
567				regulator-boot-on;
568				regulator-min-microvolt = <1000000>;
569				regulator-max-microvolt = <1000000>;
570				regulator-name = "vdd10_lcd";
571				regulator-state-mem {
572					regulator-off-in-suspend;
573					regulator-suspend-microvolt = <1000000>;
574				};
575			};
576
577			vcc_18: LDO_REG7 {
578				regulator-always-on;
579				regulator-boot-on;
580				regulator-min-microvolt = <1800000>;
581				regulator-max-microvolt = <1800000>;
582				regulator-name = "vcc_18";
583				regulator-state-mem {
584					regulator-on-in-suspend;
585					regulator-suspend-microvolt = <1800000>;
586				};
587			};
588
589			vcc18_lcd: LDO_REG8 {
590				regulator-always-on;
591				regulator-boot-on;
592				regulator-min-microvolt = <1800000>;
593				regulator-max-microvolt = <1800000>;
594				regulator-name = "vcc18_lcd";
595				regulator-state-mem {
596					regulator-off-in-suspend;
597					regulator-suspend-microvolt = <1800000>;
598				};
599			};
600
601			vcc_sd: SWITCH_REG1 {
602				regulator-always-on;
603				regulator-boot-on;
604				regulator-name = "vcc_sd";
605				regulator-state-mem {
606					regulator-on-in-suspend;
607				};
608			};
609
610			vcc_lan: SWITCH_REG2 {
611				regulator-always-on;
612				regulator-boot-on;
613				regulator-name = "vcc_lan";
614				regulator-state-mem {
615					regulator-off-in-suspend;
616				};
617			};
618		};
619	};
620
621};
622
623&i2c1 {
624	status = "okay";
625
626	rt5640: rt5640@1c {
627		status = "okay";
628		#sound-dai-cells = <0>;
629		compatible = "realtek,rt5640";
630		reg = <0x1c>;
631		clocks = <&cru SCLK_I2S_8CH_OUT>;
632		clock-names = "mclk";
633		realtek,in1-differential;
634		/* spk-con-gpio = <&gpio3 9 GPIO_ACTIVE_HIGH>; */
635		pinctrl-names = "default";
636		pinctrl-0 = <&i2s_8ch_mclk>;
637	};
638
639	mpu6500_acc: mpu_acc@68 {
640		status = "okay";
641		compatible = "mpu6500_acc";
642		pinctrl-names = "default";
643		pinctrl-0 = <&mpu6500_irq_gpio>;
644		reg = <0x68>;
645		irq-gpio = <&gpio2 17 IRQ_TYPE_LEVEL_LOW>;
646		irq_enable = <0>;
647		poll_delay_ms = <30>;
648		type = <SENSOR_TYPE_ACCEL>;
649		power-off-in-suspend = <1>;
650		layout = <5>;
651
652	};
653
654	mpu6500_gyro: mpu_gyro@68 {
655		status = "okay";
656		compatible = "mpu6500_gyro";
657		reg = <0x68>;
658		irq_enable = <0>;
659		poll_delay_ms = <30>;
660		type = <SENSOR_TYPE_GYROSCOPE>;
661		power-off-in-suspend = <1>;
662		layout = <5>;
663	};
664
665	ak8963_compass: ak8963_compass@d {
666		status = "okay";
667		compatible = "ak8963";
668		pinctrl-names = "default";
669		pinctrl-0 = <&ak8963_irq_gpio>;
670		reg = <0x0d>;
671		type = <SENSOR_TYPE_COMPASS>;
672		irq-gpio = <&gpio2 18 IRQ_TYPE_EDGE_RISING>;
673		irq_enable = <0>;
674		poll_delay_ms = <30>;
675		layout = <7>;
676	};
677};
678
679&i2c2 {
680	status = "okay";
681
682	gslx680@40 {
683		compatible = "gslX6801";
684		reg = <0x40>;
685		screen_max_x = <1920>;
686		screen_max_y = <1200>;
687		power-supply = <&vcc_lcd>;
688		touch-gpio = <&gpio0 12 IRQ_TYPE_LEVEL_LOW>;
689		reset-gpio = <&gpio0 11 GPIO_ACTIVE_HIGH>;
690		status = "okay";
691	};
692
693};
694
695&i2c3 {
696	status = "okay";
697};
698
699&i2s_8ch {
700	status = "okay";
701	rockchip,i2s-broken-burst-len;
702	rockchip,playback-channels = <8>;
703	rockchip,capture-channels = <2>;
704	#sound-dai-cells = <0>;
705	pinctrl-names = "default";
706	pinctrl-0 = <&i2s_2ch_bus>;
707};
708
709&io_domains {
710	status = "okay";
711
712	audio-supply = <&vcca_18>;
713	dvp-supply = <&vcc_18>;
714	flash0-supply = <&vcc18_flash>;
715	gpio30-supply = <&vcc_io>;
716	gpio1830-supply = <&vcc_io>;
717	sdcard-supply = <&vccio_sd>;
718	wifi-supply = <&vcc_io>;
719};
720
721&pmu_io_domains {
722	status = "okay";
723
724	pmu-supply = <&vcc_io>;
725	vop-supply = <&vcca_33>;
726};
727
728&pwm0 {
729	status = "okay";
730};
731
732&pwm3 {
733	status = "okay";
734};
735
736&uart0 {
737	pinctrl-names = "default";
738	pinctrl-0 = <&uart0_xfer &uart0_cts>;
739	status = "okay";
740};
741
742&uart2 {
743	status = "disabled";
744};
745
746&saradc {
747	status = "okay";
748};
749
750&u2phy {
751	status = "okay";
752
753	u2phy_otg: otg-port {
754		status = "okay";
755		vbus-supply = <&vcc_otg_vbus>;
756	};
757
758	u2phy_host: host-port {
759		status = "okay";
760	};
761};
762
763&usb_host0_ehci {
764	status = "okay";
765};
766
767&usb_host0_ohci {
768	status = "okay";
769};
770
771&edp {
772	status = "disabled";
773	force-hpd;
774
775	ports {
776		port@1 {
777			reg = <1>;
778
779			edp_out: endpoint {
780				remote-endpoint = <&panel_in>;
781			};
782		};
783	};
784};
785
786&dsi {
787	status = "okay";
788
789	panel@0 {
790		compatible = "sitronix,st7703", "simple-panel-dsi";
791		reg = <0>;
792		backlight = <&backlight>;
793		power-supply = <&vcc_lcd>;
794		prepare-delay-ms = <2>;
795		reset-delay-ms = <1>;
796		init-delay-ms = <20>;
797		enable-delay-ms = <120>;
798		disable-delay-ms = <50>;
799		unprepare-delay-ms = <20>;
800
801		width-mm = <68>;
802		height-mm = <121>;
803
804		dsi,flags = <(MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_VIDEO_BURST |
805			      MIPI_DSI_MODE_LPM | MIPI_DSI_MODE_EOT_PACKET)>;
806		dsi,format = <MIPI_DSI_FMT_RGB888>;
807		dsi,lanes = <4>;
808
809		display-timings {
810			native-mode = <&st7703_timing>;
811
812			st7703_timing: timing0 {
813				clock-frequency = <160000000>;
814				hactive = <1200>;
815				vactive = <1920>;
816				hback-porch = <60>;
817				hfront-porch = <80>;
818				vback-porch = <25>;
819				vfront-porch = <35>;
820				hsync-len = <1>;
821				vsync-len = <1>;
822				hsync-active = <0>;
823				vsync-active = <0>;
824				de-active = <0>;
825				pixelclk-active = <0>;
826			};
827		};
828
829		ports {
830			#address-cells = <1>;
831			#size-cells = <0>;
832
833			port@0 {
834				reg = <0>;
835				panel_in_dsi: endpoint {
836					remote-endpoint = <&dsi_out_panel>;
837				};
838			};
839		};
840	};
841
842	ports {
843		#address-cells = <1>;
844		#size-cells = <0>;
845
846		port@1 {
847			reg = <1>;
848			dsi_out_panel: endpoint {
849				remote-endpoint = <&panel_in_dsi>;
850			};
851		};
852	};
853};
854
855&video_phy {
856	status = "okay";
857};
858
859&route_dsi {
860	status = "okay";
861};
862
863&tsadc {
864	tsadc-supply = <&vdd_cpu>;
865	status = "okay";
866};
867
868&gmac {
869	phy-supply = <&vcc_phy>;
870	phy-mode = "rgmii";
871	clock_in_out = "input";
872	snps,reset-gpio = <&gpio3 11 GPIO_ACTIVE_LOW>;
873	snps,reset-active-low;
874	snps,reset-delays-us = <0 10000 50000>;
875	assigned-clocks = <&cru SCLK_MAC>;
876	assigned-clock-parents = <&ext_gmac>;
877	pinctrl-names = "default";
878	pinctrl-0 = <&rgmii_pins>;
879	tx_delay = <0x28>;
880	rx_delay = <0x11>;
881	status = "okay";
882};
883
884&hdmi {
885	#sound-dai-cells = <0>;
886	status = "okay";
887};
888
889&route_hdmi {
890	status = "okay";
891};
892
893&pinctrl {
894	camera {
895		camera_pwr: camera-pwr {
896			rockchip,pins = <0 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>;
897		};
898	};
899
900	lcd {
901		lcd_pwr: lcd-pwr {
902			rockchip,pins = <3 RK_PD5 RK_FUNC_GPIO &pcfg_pull_none>;
903		};
904	};
905
906	headphone {
907		hp_det: hp-det {
908			rockchip,pins = <2 RK_PC3 RK_FUNC_GPIO &pcfg_pull_up>;
909		};
910	};
911
912	i2s {
913		i2s_2ch_bus: i2s-2ch-bus {
914			rockchip,pins = <2 RK_PB4 1 &pcfg_pull_none>,
915				<2 RK_PB5 1 &pcfg_pull_none>,
916				<2 RK_PB6 1 &pcfg_pull_none>,
917				<2 RK_PB7 1 &pcfg_pull_none>,
918				<2 RK_PC0 1 &pcfg_pull_none>;
919		};
920	};
921
922	pmic {
923		pmic_sleep: pmic-sleep {
924			rockchip,pins = <0 RK_PA0 2 &pcfg_pull_none>;
925		};
926
927		pmic_int: pmic-int {
928			rockchip,pins = <0 RK_PA1 RK_FUNC_GPIO &pcfg_pull_up>;
929		};
930	};
931
932	mpu6500 {
933		mpu6500_irq_gpio: mpu6500-irq-gpio {
934			rockchip,pins = <2 RK_PC1 RK_FUNC_GPIO &pcfg_pull_none>;
935		};
936	};
937
938	ak8963 {
939		ak8963_irq_gpio: ak8963_irq_gpio {
940			rockchip,pins = <2 RK_PC2 RK_FUNC_GPIO &pcfg_pull_none>;
941		};
942	};
943
944	dc_det {
945		dc_irq_gpio: dc-irq-gpio {
946			rockchip,pins = <0 RK_PC1 RK_FUNC_GPIO &pcfg_pull_up>;
947		};
948	};
949
950	sdio-pwrseq {
951		wifi_enable_h: wifi-enable-h {
952			rockchip,pins = <3 RK_PA4 RK_FUNC_GPIO &pcfg_pull_none>;
953		};
954	};
955
956	usb {
957		otg_vbus_drv: otg-vbus-drv {
958			rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_none>;
959		};
960	};
961
962	wireless-bluetooth {
963		uart0_rts_gpio: uart0-rts-gpio {
964			rockchip,pins = <2 RK_PD3 RK_FUNC_GPIO &pcfg_pull_none>;
965		};
966	};
967
968	rk-modem {
969		lte_vbat: lte-vbat {
970			rockchip,pins = <0 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>;
971		};
972
973		lte_power_en: lte-power-en {
974			rockchip,pins = <0 RK_PC0 RK_FUNC_GPIO &pcfg_pull_none>;
975		};
976
977		lte_reset: lte-reset {
978			rockchip,pins = <0 RK_PB7 RK_FUNC_GPIO &pcfg_pull_none>;
979		};
980	};
981};
982
983