rk3399-pinebook-pro.dts revision 1.1
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2/*
3 * Copyright (c) 2017 Fuzhou Rockchip Electronics Co., Ltd.
4 * Copyright (c) 2018 Akash Gajjar <Akash_Gajjar@mentor.com>
5 */
6
7/dts-v1/;
8#include <dt-bindings/input/linux-event-codes.h>
9#include <dt-bindings/pwm/pwm.h>
10#include <dt-bindings/usb/pd.h>
11//#include <dt-bindings/leds/common.h>
12#include <dt-bindings/pinctrl/rockchip.h>
13#include "rk3399.dtsi"
14#include "rk3399-opp.dtsi"
15
16/ {
17	model = "Pine64 Pinebook Pro";
18	compatible = "pine64,pinebook-pro", "rockchip,rk3399";
19
20	edp_panel: edp-panel { /* "boe,nv140fhmn49" */
21		compatible = "boe,nv140fhmn49", "simple-panel";
22		backlight = <&backlight>;
23		power-supply = <&vcc3v3_s0>;
24//		pinctrl-names = "default";
25//		pinctrl-0 = <&panel_en>;
26		enable-gpios = <&gpio1 RK_PA0 GPIO_ACTIVE_HIGH>;
27		prepare-delay-ms = <20>;
28		enable-delay-ms = <20>;
29		status = "okay";
30
31		ports {
32	                #address-cells = <0x01>;
33                        #size-cells = <0x00>;
34			port@0 {
35				panel_in_edp: endpoint@0 {
36					remote-endpoint = <&edp_out_panel>;
37				};
38			};
39		};
40	};
41
42	chosen {
43		bootargs = "earlycon=uart8250,mmio32,0xff1a0000";
44		stdout-path = "serial2:1500000n8";
45	};
46
47	leds {
48		compatible = "gpio-leds";
49		pinctrl-names = "default";
50		pinctrl-0 = <&pwrled &slpled>;
51
52		/* Hack using active_low as inversion. A real, inverted trigger would be nicer */
53		green-led {
54			gpios = <&gpio0 RK_PB3 GPIO_ACTIVE_LOW>;
55			label = "green:disk-activity";
56//			function = LED_FUNCTION_POWER;
57			linux,default-trigger = "disk-activity";
58			default-state = "off";
59//			color = <LED_COLOR_ID_GREEN>;
60		};
61
62		red-led {
63			gpios = <&gpio0 RK_PA2 GPIO_ACTIVE_HIGH>;
64			label = "red:standby";
65//			function = LED_FUNCTION_STANDBY;
66			default-state = "off";
67			panic-indicator;
68			retain-state-suspended;
69//			color = <LED_COLOR_ID_RED>;
70		};
71	};
72
73	reserved-memory {
74		#address-cells = <2>;
75		#size-cells = <2>;
76		ranges;
77
78		drm_logo: drm-logo@00000000 {
79			compatible = "rockchip,drm-logo";
80			reg = <0x0 0x0 0x0 0x0>;
81		};
82	};
83
84	dc_12v: dc-12v {
85		compatible = "regulator-fixed";
86		regulator-name = "dc_12v";
87		regulator-always-on;
88		regulator-boot-on;
89		regulator-min-microvolt = <12000000>;
90		regulator-max-microvolt = <12000000>;
91	};
92
93	gpio-keys {
94		compatible = "gpio-keys";
95		autorepeat;
96		pinctrl-names = "default";
97		pinctrl-0 = <&pwrbtn &lidbtn>;
98
99		power {
100			debounce-interval = <20>;
101			gpios = <&gpio0 RK_PA5 GPIO_ACTIVE_LOW>;
102			label = "Power";
103			linux,code = <KEY_POWER>;
104			wakeup-source;
105		};
106
107		lid {
108			debounce-interval = <20>;
109			gpios = <&gpio1 RK_PA1 GPIO_ACTIVE_LOW>;
110			label = "Lid";
111			linux,code = <SW_LID>;
112			linux,input-type = <EV_SW>;
113			wakeup-source;
114		};
115	};
116	
117	backlight: edp-backlight {
118		compatible = "pwm-backlight";
119		pwms = <&pwm0 0 740740 0>;
120		power-supply = <&vcc3v3_s3>;
121		brightness-levels = <
122			  0   1   2   3   4   5   6   7
123			  8   9  10  11  12  13  14  15
124			 16  17  18  19  20  21  22  23
125			 24  25  26  27  28  29  30  31
126			 32  33  34  35  36  37  38  39
127			 40  41  42  43  44  45  46  47
128			 48  49  50  51  52  53  54  55
129			 56  57  58  59  60  61  62  63
130			 64  65  66  67  68  69  70  71
131			 72  73  74  75  76  77  78  79
132			 80  81  82  83  84  85  86  87
133			 88  89  90  91  92  93  94  95
134			 96  97  98  99 100 101 102 103
135			104 105 106 107 108 109 110 111
136			112 113 114 115 116 117 118 119
137			120 121 122 123 124 125 126 127
138			128 129 130 131 132 133 134 135
139			136 137 138 139 140 141 142 143
140			144 145 146 147 148 149 150 151
141			152 153 154 155 156 157 158 159
142			160 161 162 163 164 165 166 167
143			168 169 170 171 172 173 174 175
144			176 177 178 179 180 181 182 183
145			184 185 186 187 188 189 190 191
146			192 193 194 195 196 197 198 199
147			200 201 202 203 204 205 206 207
148			208 209 210 211 212 213 214 215
149			216 217 218 219 220 221 222 223
150			224 225 226 227 228 229 230 231
151			232 233 234 235 236 237 238 239
152			240 241 242 243 244 245 246 247
153			248 249 250 251 252 253 254 255>;
154		default-brightness-level = <200>;
155		status = "okay";
156	};
157
158	panel {
159		vcc_lcd_en_drv: vcc-lcd-en-drv {
160			rockchip,pins = <1 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>;
161		};
162
163		panel_en: panel-en {
164			rockchip,pins = <1 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>;
165		};
166	};
167
168	vcc_lcd_en: vcc-lcd-en-regulator {
169		compatible = "regulator-fixed";
170		enable-active-high;
171		gpio = <&gpio1 RK_PC6 GPIO_ACTIVE_HIGH>;
172//		pinctrl-names = "default";
173//		pinctrl-0 = <&vcc_lcd_en_drv>;
174		regulator-name = "vcc_lcd_en";
175		regulator-enable-ramp-delay = <100000>;
176		vin-supply = <&vcc3v3_sys>;
177		regulator-always-on;
178
179		regulator-state-mem {
180			regulator-off-in-suspend;
181		};
182	};
183
184	sdio_pwrseq: sdio-pwrseq {
185		compatible = "mmc-pwrseq-simple";
186		clocks = <&rk808 1>;
187		clock-names = "ext_clock";
188		pinctrl-names = "default";
189		pinctrl-0 = <&wifi_enable_h>;
190		power-off-delay-us = <500000>;
191		post-power-on-delay-ms = <100>;
192
193		/*
194		 * On the module itself this is one of these (depending
195		 * on the actual card populated):
196		 * - SDIO_RESET_L_WL_REG_ON
197		 * - PDN (power down when low)
198		 */
199		reset-gpios = <&gpio0 RK_PB2 GPIO_ACTIVE_LOW>;
200	};
201
202	wireless-wlan {
203		compatible = "wlan-platdata";
204		rockchip,grf = <&grf>;
205		wifi_chip_type = "ap6354";
206		sdio_vref = <1800>;
207		WIFI,host_wake_irq = <&gpio0 RK_PA3 GPIO_ACTIVE_HIGH>;
208		status = "okay";
209	};
210
211	es8316-sound {
212		status = "okay";
213		compatible = "simple-audio-card";
214		simple-audio-card,name = "rockchip,es8316-codec";
215		simple-audio-card,format = "i2s";
216		simple-audio-card,mclk-fs = <256>;
217
218		simple-audio-card,widgets =
219			"Microphone", "Mic Jack",
220			"Headphone", "Headphones",
221			"Speaker", "Speaker";
222		simple-audio-card,routing =
223			"MIC1", "Mic Jack",
224			"Headphones", "HPOL",
225			"Headphones", "HPOR",
226			"Speaker Amplifier INL", "HPOL",
227			"Speaker Amplifier INR", "HPOR",
228			"Speaker", "Speaker Amplifier OUTL",
229			"Speaker", "Speaker Amplifier OUTR";
230
231		simple-audio-card,hp-det-gpio = <&gpio0 RK_PB0 GPIO_ACTIVE_HIGH>;
232		simple-audio-card,aux-devs = <&speaker_amp>;
233
234		simple-audio-card,cpu {
235			sound-dai = <&i2s1>;
236		};
237
238		simple-audio-card,codec {
239			sound-dai = <&es8316>;
240		};
241	};
242
243	speaker_amp: speaker-amplifier {
244		status = "okay";
245		compatible = "simple-audio-amplifier";
246		enable-gpios = <&gpio4 RK_PD3 GPIO_ACTIVE_HIGH>;
247		VCC-supply = <&vcc5v0_host>;
248		sound-name-prefix = "Speaker Amplifier";
249	};
250
251	/* switched by pmic_sleep */
252	vcc1v8_s3: vcca1v8_s3: vcc1v8-s3 {
253		compatible = "regulator-fixed";
254		regulator-name = "vcc1v8_s3";
255		regulator-always-on;
256		regulator-boot-on;
257		regulator-min-microvolt = <1800000>;
258		regulator-max-microvolt = <1800000>;
259		vin-supply = <&vcc_1v8>;
260	};
261
262	vcc3v3_pcie: vcc3v3-pcie-regulator {
263		compatible = "regulator-fixed";
264		enable-active-high;
265		gpio = <&gpio1 RK_PD0 GPIO_ACTIVE_HIGH>;
266		pinctrl-names = "default";
267		pinctrl-0 = <&pcie_pwr_en>;
268		regulator-name = "vcc3v3_pcie";
269		regulator-min-microvolt = <3300000>;
270		regulator-max-microvolt = <3300000>;
271		vin-supply = <&dc_12v>;
272	};
273
274	vcc_phy: vcc-phy-regulator {
275		compatible = "regulator-fixed";
276		regulator-name = "vcc_phy";
277		regulator-always-on;
278		regulator-boot-on;
279	};
280
281	vcc3v3_sys: vcc3v3-sys {
282		compatible = "regulator-fixed";
283		regulator-name = "vcc3v3_sys";
284		regulator-always-on;
285		regulator-boot-on;
286		regulator-min-microvolt = <3300000>;
287		regulator-max-microvolt = <3300000>;
288		vin-supply = <&vcc_sys>;
289	};
290
291	/* Actually 3 regulators (host0, 1, 2) controlled by the same gpio */
292	vcc5v0_host: vcc5v0-host-regulator {
293		compatible = "regulator-fixed";
294		enable-active-high;
295		gpio = <&gpio4 RK_PD2 GPIO_ACTIVE_HIGH>;
296		pinctrl-names = "default";
297		pinctrl-0 = <&vcc5v0_host_en>;
298		regulator-name = "vcc5v0_host";
299		regulator-always-on;
300		vin-supply = <&vcc_sys>;
301	};
302
303	vcc5v0_typec: vcc5v0-typec-regulator {
304		compatible = "regulator-fixed";
305		enable-active-high;
306		gpio = <&gpio1 RK_PA3 GPIO_ACTIVE_HIGH>;
307		pinctrl-names = "default";
308		pinctrl-0 = <&vcc5v0_typec_en>;
309		regulator-name = "vcc5v0_typec";
310		vin-supply = <&vcc_sys>;
311	};
312
313	vcc_sys: vcc-sys {
314		compatible = "regulator-fixed";
315		regulator-name = "vcc_sys";
316		regulator-always-on;
317		regulator-boot-on;
318		regulator-min-microvolt = <5000000>;
319		regulator-max-microvolt = <5000000>;
320		vin-supply = <&dc_12v>;
321	};
322
323	vdd_log: vdd-log {
324		compatible = "pwm-regulator";
325		pwms = <&pwm2 0 25000 1>;
326		pwm-supply = <&vcc_sys>;
327		regulator-name = "vdd_log";
328		regulator-always-on;
329		regulator-boot-on;
330		regulator-min-microvolt = <800000>;
331		regulator-max-microvolt = <1400000>;
332	};
333
334	mains_charger: dc-charger {
335		compatible = "gpio-charger";
336		charger-type = "mains";
337		gpios = <&gpio4 RK_PD0 GPIO_ACTIVE_LOW>;
338//		pinctrl-names = "default";
339//		pinctrl-0 = <&dc_det_gpio>;
340	};
341
342	usb_charger: usb-charger {
343		status = "okay";
344		compatible = "universal-charger";
345		extcon = <&fusb0>;
346	};
347};
348
349&edp {
350	status = "okay";
351	pinctrl-names = "default";
352	pinctrl-0 = <&edp_hpd>;
353	force-hpd;
354
355	ports {
356		edp_out: port@1 {
357			reg = <1>;
358			#address-cells = <1>;
359			#size-cells = <0>;
360
361			edp_out_panel: endpoint@0 {
362				reg = <0>;
363				remote-endpoint = <&panel_in_edp>;
364			};
365		};
366	};
367};
368
369&cdn_dp {
370	status = "okay";
371	extcon = <&fusb0>;
372};
373
374&cpu_l0 {
375	cpu-supply = <&vdd_cpu_l>;
376};
377
378&cpu_l1 {
379	cpu-supply = <&vdd_cpu_l>;
380};
381
382&cpu_l2 {
383	cpu-supply = <&vdd_cpu_l>;
384};
385
386&cpu_l3 {
387	cpu-supply = <&vdd_cpu_l>;
388};
389
390&cpu_b0 {
391	cpu-supply = <&vdd_cpu_b>;
392};
393
394&cpu_b1 {
395	cpu-supply = <&vdd_cpu_b>;
396};
397
398&cpu_alert0 {
399	temperature = <80000>;
400};
401
402&cpu_alert1 {
403	temperature = <95000>;
404};
405
406&cpu_crit {
407	temperature = <100000>;
408};
409
410&emmc_phy {
411	status = "okay";
412};
413
414&hdmi_sound {
415	status = "okay";
416};
417
418&hdmi {
419	ddc-i2c-bus = <&i2c3>;
420	pinctrl-names = "default";
421	pinctrl-0 = <&hdmi_cec>;
422	status = "disabled";
423};
424
425&gpu {
426	mali-supply = <&vdd_gpu>;
427	status = "okay";
428};
429
430&i2c0 {
431	clock-frequency = <400000>;
432	i2c-scl-rising-time-ns = <168>;
433	i2c-scl-falling-time-ns = <4>;
434	status = "okay";
435
436	rk808: pmic@1b {
437		compatible = "rockchip,rk808";
438		reg = <0x1b>;
439		interrupt-parent = <&gpio3>;
440		interrupts = <10 IRQ_TYPE_LEVEL_LOW>;
441		#clock-cells = <1>;
442		clock-output-names = "xin32k", "rk808-clkout2";
443		pinctrl-names = "default";
444		pinctrl-0 = <&pmic_int_l>;
445		rockchip,system-power-controller;
446		wakeup-source;
447
448		vcc1-supply = <&vcc_sys>;
449		vcc2-supply = <&vcc_sys>;
450		vcc3-supply = <&vcc_sys>;
451		vcc4-supply = <&vcc_sys>;
452		vcc6-supply = <&vcc_sys>;
453		vcc7-supply = <&vcc_sys>;
454		vcc8-supply = <&vcc3v3_sys>;
455		vcc9-supply = <&vcc_sys>;
456		vcc10-supply = <&vcc_sys>;
457		vcc11-supply = <&vcc_sys>;
458		vcc12-supply = <&vcc3v3_sys>;
459		vddio-supply = <&vcc1v8_pmu>;
460
461		regulators {
462			vdd_center: DCDC_REG1 {
463				regulator-name = "vdd_center";
464				regulator-always-on;
465				regulator-boot-on;
466				regulator-min-microvolt = <750000>;
467				regulator-max-microvolt = <1350000>;
468				regulator-ramp-delay = <6001>;
469				regulator-state-mem {
470					regulator-off-in-suspend;
471				};
472			};
473
474			vdd_cpu_l: DCDC_REG2 {
475				regulator-name = "vdd_cpu_l";
476				regulator-always-on;
477				regulator-boot-on;
478				regulator-min-microvolt = <750000>;
479				regulator-max-microvolt = <1350000>;
480				regulator-ramp-delay = <6001>;
481				regulator-state-mem {
482					regulator-off-in-suspend;
483				};
484			};
485
486			vcc_ddr: DCDC_REG3 {
487				regulator-name = "vcc_ddr";
488				regulator-always-on;
489				regulator-boot-on;
490				regulator-state-mem {
491					regulator-on-in-suspend;
492				};
493			};
494
495			vcc_1v8: DCDC_REG4 {
496				regulator-name = "vcc_1v8";
497				regulator-always-on;
498				regulator-boot-on;
499				regulator-min-microvolt = <1800000>;
500				regulator-max-microvolt = <1800000>;
501				regulator-state-mem {
502					regulator-on-in-suspend;
503					regulator-suspend-microvolt = <1800000>;
504				};
505			};
506
507			vcc1v8_dvp: LDO_REG1 {
508				regulator-name = "vcc1v8_dvp";
509				regulator-always-on;
510				regulator-boot-on;
511				regulator-min-microvolt = <1800000>;
512				regulator-max-microvolt = <1800000>;
513				regulator-state-mem {
514					regulator-off-in-suspend;
515				};
516			};
517
518			vcc3v0_touch: LDO_REG2 {
519				regulator-name = "vcc3v0_touch";
520				regulator-always-on;
521				regulator-boot-on;
522				regulator-min-microvolt = <3000000>;
523				regulator-max-microvolt = <3000000>;
524				regulator-state-mem {
525					regulator-off-in-suspend;
526				};
527			};
528
529			vcc1v8_pmu: LDO_REG3 {
530				regulator-name = "vcc1v8_pmu";
531				regulator-always-on;
532				regulator-boot-on;
533				regulator-min-microvolt = <1800000>;
534				regulator-max-microvolt = <1800000>;
535				regulator-state-mem {
536					regulator-on-in-suspend;
537					regulator-suspend-microvolt = <1800000>;
538				};
539			};
540
541			vcc_sdio: LDO_REG4 {
542				regulator-name = "vcc_sdio";
543				regulator-always-on;
544				regulator-boot-on;
545				regulator-min-microvolt = <1800000>;
546				regulator-max-microvolt = <3000000>;
547				regulator-state-mem {
548					regulator-on-in-suspend;
549					regulator-suspend-microvolt = <3000000>;
550				};
551			};
552
553			vcca3v0_codec: LDO_REG5 {
554				regulator-name = "vcca3v0_codec";
555				regulator-always-on;
556				regulator-boot-on;
557				regulator-min-microvolt = <3000000>;
558				regulator-max-microvolt = <3000000>;
559				regulator-state-mem {
560					regulator-off-in-suspend;
561				};
562			};
563
564			vcc_1v5: LDO_REG6 {
565				regulator-name = "vcc_1v5";
566				regulator-always-on;
567				regulator-boot-on;
568				regulator-min-microvolt = <1500000>;
569				regulator-max-microvolt = <1500000>;
570				regulator-state-mem {
571					regulator-on-in-suspend;
572					regulator-suspend-microvolt = <1500000>;
573				};
574			};
575
576			vcca1v8_codec: LDO_REG7 {
577				regulator-name = "vcca1v8_codec";
578				regulator-always-on;
579				regulator-boot-on;
580				regulator-min-microvolt = <1800000>;
581				regulator-max-microvolt = <1800000>;
582				regulator-state-mem {
583					regulator-off-in-suspend;
584				};
585			};
586
587			vcc_3v0: LDO_REG8 {
588				regulator-name = "vcc_3v0";
589				regulator-always-on;
590				regulator-boot-on;
591				regulator-min-microvolt = <3000000>;
592				regulator-max-microvolt = <3000000>;
593				regulator-state-mem {
594					regulator-on-in-suspend;
595					regulator-suspend-microvolt = <3000000>;
596				};
597			};
598
599			vcc3v3_s3: vcc_lan: SWITCH_REG1 {
600				regulator-name = "vcc3v3_s3";
601				regulator-always-on;
602				regulator-boot-on;
603				regulator-state-mem {
604					regulator-off-in-suspend;
605				};
606			};
607
608			vcc3v3_s0: SWITCH_REG2 {
609				regulator-name = "vcc3v3_s0";
610				regulator-always-on;
611				regulator-boot-on;
612				regulator-state-mem {
613					regulator-off-in-suspend;
614				};
615			};
616		};
617	};
618
619	vdd_cpu_b: regulator@40 {
620		compatible = "silergy,syr827";
621		reg = <0x40>;
622		fcs,suspend-voltage-selector = <1>;
623		pinctrl-names = "default";
624		pinctrl-0 = <&vsel1_gpio>;
625		vsel-gpios = <&gpio1 RK_PC1 GPIO_ACTIVE_HIGH>;
626		regulator-compatible = "fan53555-reg";
627		regulator-name = "vdd_cpu_b";
628		regulator-min-microvolt = <712500>;
629		regulator-max-microvolt = <1500000>;
630		regulator-ramp-delay = <1000>;
631		regulator-always-on;
632		regulator-boot-on;
633		vin-supply = <&vcc_sys>;
634
635		regulator-state-mem {
636			regulator-off-in-suspend;
637		};
638	};
639
640	vdd_gpu: regulator@41 {
641		compatible = "silergy,syr828";
642		reg = <0x41>;
643		fcs,suspend-voltage-selector = <1>;
644		pinctrl-names = "default";
645		pinctrl-0 = <&vsel2_gpio>;
646		vsel-gpios = <&gpio1 RK_PB6 GPIO_ACTIVE_HIGH>;
647		regulator-compatible = "fan53555-reg";
648		regulator-name = "vdd_gpu";
649		regulator-min-microvolt = <712500>;
650		regulator-max-microvolt = <1500000>;
651		regulator-ramp-delay = <1000>;
652		regulator-always-on;
653		regulator-boot-on;
654		vin-supply = <&vcc_sys>;
655
656		regulator-state-mem {
657			regulator-off-in-suspend;
658		};
659	};
660};
661
662&i2c1 {
663	i2c-scl-rising-time-ns = <168>;
664	i2c-scl-falling-time-ns = <4>;
665	status = "okay";
666
667	clock-frequency = <100000>;
668
669	es8316: es8316@11 {
670		#sound-dai-cells = <0>;
671		compatible = "everest,es8316";
672		reg = <0x11>;
673		clocks = <&cru SCLK_I2S_8CH_OUT>;
674		clock-names = "mclk";
675	};
676};
677
678&i2c3 {
679	i2c-scl-rising-time-ns = <450>;
680	i2c-scl-falling-time-ns = <15>;
681	status = "okay";
682};
683
684
685
686&i2c4 {
687	i2c-scl-rising-time-ns = <600>;
688	i2c-scl-falling-time-ns = <20>;
689	status = "okay";
690
691	fusb0: fusb30x@22 {
692		compatible = "fcs,fusb302";
693		reg = <0x22>;
694		pinctrl-names = "default";
695		pinctrl-0 = <&fusb0_int>;
696		fcs,int_n = <&gpio1 RK_PA2 GPIO_ACTIVE_HIGH>;
697		vbus-supply = <&vcc5v0_typec>;
698		status = "okay";
699		connector {
700			compatible = "usb-c-connector";
701			label = "USB-C";
702			power-role = "dual";
703			try-power-role = "sink";
704			source-pdos = <PDO_FIXED(5000, 1400, PDO_FIXED_USB_COMM)>;
705			sink-pdos = <PDO_FIXED(5000, 2500, PDO_FIXED_USB_COMM)>;
706			op-sink-microwatt = <1000000>;
707			extcon-cables = <1 2 5 6 9 10 12 44>;
708			typec-altmodes = <0xff01 1 0x001c0000 1>;
709		};
710	};
711
712	cw2015@62 {
713		status = "okay";
714		compatible = "cellwise,cw201x";
715		reg = <0x62>;
716		cellwise,bat-config-info = <
717			0x17 0x67 0x80 0x73 0x6E 0x6C 0x6B 0x63
718			0x77 0x51 0x5C 0x58 0x50 0x4C 0x48 0x36
719			0x15 0x0C 0x0C 0x19 0x5B 0x7D 0x6F 0x69
720			0x69 0x5B 0x0C 0x29 0x20 0x40 0x52 0x59
721			0x57 0x56 0x54 0x4F 0x3B 0x1F 0x7F 0x17
722			0x06 0x1A 0x30 0x5A 0x85 0x93 0x96 0x2D
723			0x48 0x77 0x9C 0xB3 0x80 0x52 0x94 0xCB
724			0x2F 0x00 0x64 0xA5 0xB5 0x11 0xF0 0x11
725		>;
726		cellwise,monitor-interval = <5>;
727		cellwise,virtual-power = <0>;
728		cellwise,design-capacity = <9800>;
729		power-supplies = <&mains_charger>, <&fusb0>;
730	};
731};
732
733&i2s0 {
734	status = "disabled";
735};
736
737&i2s1 {
738	rockchip,i2s-broken-burst-len;
739	rockchip,playback-channels = <8>;
740	rockchip,capture-channels = <8>;
741	#sound-dai-cells = <0>;
742	pinctrl-names = "default";
743	pinctrl-0 = <&i2s_8ch_mclk>, <&i2s1_2ch_bus>;
744	status = "okay";
745};
746
747&i2s2 {
748	#sound-dai-cells = <0>;
749	status = "disabled";
750};
751
752&io_domains {
753	status = "okay";
754
755	bt656-supply = <&vcc1v8_dvp>;
756	audio-supply = <&vcca1v8_codec>;
757	sdmmc-supply = <&vcc_sdio>;
758	gpio1830-supply = <&vcc_3v0>;
759};
760
761&pcie_phy {
762	status = "okay";
763};
764
765&pcie0 {
766	ep-gpios = <&gpio2 RK_PD4 GPIO_ACTIVE_HIGH>;
767	num-lanes = <4>;
768	max-link-speed = <2>;
769	pinctrl-names = "default";
770	pinctrl-0 = <&pcie_clkreqn_cpm>;
771	vpcie3v3-supply = <&vcc3v3_pcie>;
772	bus-scan-delay-ms = <1000>;
773	status = "okay";
774};
775
776&pmu_io_domains {
777	pmu1830-supply = <&vcc_3v0>;
778	status = "okay";
779};
780
781&cluster1_opp {
782	opp08 {
783		opp-hz = /bits/ 64 <2000000000>;
784		opp-microvolt = <1300000>;
785	};
786};
787
788&pinctrl {
789	buttons {
790		pwrbtn: pwrbtn {
791			rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>;
792		};
793		lidbtn: lidbtn {
794			rockchip,pins = <1 RK_PA1 RK_FUNC_GPIO &pcfg_pull_up>;
795		};
796	};
797
798	dc-charger {
799		dc_det_gpio: dc-det-gpio {
800			rockchip,pins = <4 RK_PD0 RK_FUNC_GPIO &pcfg_pull_none>;
801		};
802	};
803
804	fusb302x {
805		fusb0_int: fusb0-int {
806			rockchip,pins = <1 RK_PA2 RK_FUNC_GPIO &pcfg_pull_up>;
807		};
808	};
809
810	leds {
811		pwrled: pwrled {
812			rockchip,pins = <0 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>;
813		};
814
815		slpled: slpled {
816			rockchip,pins = <0 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>;
817		};
818	};
819
820	lcd-panel {
821		lcd_panel_reset: lcd-panel-reset {
822			rockchip,pins = <4 RK_PD6 RK_FUNC_GPIO &pcfg_pull_up>;
823		};
824	};
825
826	pcie {
827		pcie_pwr_en: pcie-pwr-en {
828			rockchip,pins = <1 RK_PD0 RK_FUNC_GPIO &pcfg_pull_none>;
829		};
830	};
831
832	pmic {
833		pmic_int_l: pmic-int-l {
834			rockchip,pins = <3 RK_PB2 RK_FUNC_GPIO &pcfg_pull_up>;
835		};
836
837		vsel1_gpio: vsel1-gpio {
838			rockchip,pins = <1 RK_PC1 RK_FUNC_GPIO &pcfg_pull_down>;
839		};
840
841		vsel2_gpio: vsel2-gpio {
842			rockchip,pins = <1 RK_PB6 RK_FUNC_GPIO &pcfg_pull_down>;
843		};
844	};
845
846	sdio-pwrseq {
847		wifi_enable_h: wifi-enable-h {
848			rockchip,pins = <0 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>;
849		};
850	};
851
852	usb-typec {
853		vcc5v0_typec_en: vcc5v0_typec_en {
854			rockchip,pins = <1 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>;
855		};
856	};
857
858	usb2 {
859		vcc5v0_host_en: vcc5v0-host-en {
860			rockchip,pins = <4 RK_PD2 RK_FUNC_GPIO &pcfg_pull_none>;
861		};
862	};
863
864	i2s1 {
865		i2s_8ch_mclk: i2s-8ch-mclk {
866			rockchip,pins = <4 0 RK_FUNC_1 &pcfg_pull_none>;
867		};
868	};
869
870	wireless-bluetooth {
871		bt_wake_gpio: bt-wake {
872			rockchip,pins =
873				<2 RK_PD3 RK_FUNC_GPIO &pcfg_pull_none>;
874		};
875		bt_host_wake_gpio: bt-host-wake {
876			rockchip,pins =
877				<0 RK_PA4 RK_FUNC_GPIO &pcfg_pull_none>;
878		};
879
880		bt_reset_gpio: bt-reset {
881			rockchip,pins =
882				<0 RK_PB1 RK_FUNC_GPIO &pcfg_pull_none>;
883		};
884	};
885};
886
887&pwm0 {
888	status = "okay";
889};
890
891&pwm2 {
892	status = "okay";
893};
894
895&saradc {
896	vref-supply = <&vcca1v8_s3>;
897	status = "okay";
898};
899
900&sdmmc {
901	bus-width = <4>;
902	cap-mmc-highspeed;
903	cap-sd-highspeed;
904	cd-gpios = <&gpio0 RK_PA7 GPIO_ACTIVE_LOW>;
905	disable-wp;
906	sd-uhs-sdr104;
907	max-frequency = <150000000>;
908	vqmmc-supply = <&vcc_sdio>;
909	pinctrl-names = "default";
910	pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_bus4>;
911	status = "okay";
912};
913
914&sdio0 {
915	supports-sdio;
916	bus-width = <4>;
917	disable-wp;
918	cap-sd-highspeed;
919	cap-sdio-irq;
920	keep-power-in-suspend;
921	mmc-pwrseq = <&sdio_pwrseq>;
922	non-removable;
923	num-slots = <1>;
924	pinctrl-names = "default";
925	pinctrl-0 = <&sdio0_bus4 &sdio0_cmd &sdio0_clk>;
926	sd-uhs-sdr104;
927	status = "okay";
928	defer_pcie = <2000>;
929};
930
931&sdhci {
932	bus-width = <8>;
933	//mmc-hs400-1_8v;
934	mmc-hs200-1_8v;
935	//mmc-hs400-enhanced-strobe;
936	non-removable;
937	status = "okay";
938};
939
940&tcphy0 {
941	extcon = <&fusb0>;
942	status = "okay";
943};
944
945&tcphy1 {
946	status = "okay";
947};
948
949&tsadc {
950	/* tshut mode 0:CRU 1:GPIO */
951	rockchip,hw-tshut-mode = <1>;
952	/* tshut polarity 0:LOW 1:HIGH */
953	rockchip,hw-tshut-polarity = <1>;
954	status = "okay";
955};
956
957&u2phy0 {
958	status = "okay";
959
960	u2phy0_otg: otg-port {
961		status = "okay";
962	};
963
964	u2phy0_host: host-port {
965		phy-supply = <&vcc5v0_host>;
966		status = "okay";
967	};
968};
969
970&u2phy1 {
971	status = "okay";
972
973	u2phy1_otg: otg-port {
974		status = "okay";
975	};
976
977	u2phy1_host: host-port {
978		phy-supply = <&vcc5v0_host>;
979		status = "okay";
980	};
981};
982
983
984&uart0 {
985	pinctrl-names = "default";
986	pinctrl-0 = <&uart0_xfer &uart0_cts &uart0_rts>;
987	uart-has-rtscts;
988	status = "okay";
989
990	bluetooth {
991		compatible = "brcm,bcm4345c5";
992		clocks = <&rk808 1>;
993		clock-names = "lpo";
994		pinctrl-names = "default";
995		pinctrl-0 = <&bt_host_wake_gpio &bt_wake_gpio &bt_reset_gpio>;
996		shutdown-gpios = <&gpio0 RK_PB1 GPIO_ACTIVE_HIGH>;
997		device-wakeup-gpios = <&gpio2 RK_PD3 GPIO_ACTIVE_HIGH>;
998		host-wakeup-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_HIGH>;
999		max-speed = <1500000>;
1000		vbat-supply = <&vcc3v3_sys>;
1001		vddio-supply = <&vcc_1v8>;
1002	};
1003};
1004
1005&uart2 {
1006	status = "okay";
1007};
1008
1009&usb_host0_ehci {
1010	status = "okay";
1011};
1012
1013&usb_host0_ohci {
1014	status = "okay";
1015};
1016
1017&usb_host1_ehci {
1018	status = "okay";
1019};
1020
1021&usb_host1_ohci {
1022	status = "okay";
1023};
1024
1025&usbdrd3_0 {
1026	status = "okay";
1027};
1028
1029&usbdrd_dwc3_0 {
1030	status = "okay";
1031	dr_mode = "host";
1032};
1033
1034&usbdrd3_1 {
1035	status = "okay";
1036};
1037
1038&usbdrd_dwc3_1 {
1039	status = "okay";
1040	dr_mode = "host";
1041};
1042
1043&vopb {
1044	status = "okay";
1045};
1046
1047&vopb_mmu {
1048	status = "okay";
1049};
1050
1051&vopl {
1052	status = "okay";
1053};
1054
1055&vopl_mmu {
1056	status = "okay";
1057};
1058
1059&spi1 {
1060	status = "okay";
1061	max-freq = <10000000>;
1062
1063	spiflash: spi-flash@0 {
1064		#address-cells = <0x1>;
1065		#size-cells = <1>;
1066		compatible = "jedec,spi-nor";
1067		reg = <0x0>;
1068		spi-max-frequency = <10000000>;
1069		status = "okay";
1070		m25p,fast-read;
1071
1072		partitions {
1073			compatible = "fixed-partitions";
1074			#address-cells = <1>;
1075			#size-cells = <1>;
1076
1077			loader@8000 {
1078				label = "loader";
1079				reg = <0x0 0x3F8000>;
1080			};
1081
1082			env@3f8000 {
1083				label = "env";
1084				reg = <0x3F8000 0x8000>;
1085			};
1086
1087			vendor@7c0000 {
1088				label = "vendor";
1089				reg = <0x7C0000 0x40000>;
1090			};
1091		};
1092	};
1093};
1094