Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
1// SPDX-License-Identifier: BSD-3-Clause
2/*
3 * Copyright (c) 2021, AngeloGioacchino Del Regno
4 * <angelogioacchino.delregno@somainline.org>
5 * Copyright (c) 2021, Konrad Dybcio <konrad.dybcio@somainline.org>
6 */
7
8#include <dt-bindings/input/input.h>
9#include <dt-bindings/leds/common.h>
10#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
11#include "msm8998.dtsi"
12#include "pm8005.dtsi"
13#include "pm8998.dtsi"
14#include "pmi8998.dtsi"
15
16/ {
17 /* required for bootloader to select correct board */
18 qcom,msm-id = <0x124 0x20000>, <0x124 0x20001>; /* 8998v2, v2.1 */
19 qcom,board-id = <8 0>;
20
21 clocks {
22 div1_mclk: divclk1 {
23 compatible = "gpio-gate-clock";
24 pinctrl-0 = <&div_clk1>;
25 pinctrl-names = "default";
26 clocks = <&rpmcc RPM_SMD_DIV_CLK1>;
27 #clock-cells = <0>;
28 enable-gpios = <&pm8998_gpios 13 GPIO_ACTIVE_HIGH>;
29 };
30 };
31
32 board_vbat: vbat-regulator {
33 compatible = "regulator-fixed";
34 regulator-name = "VBAT";
35
36 regulator-min-microvolt = <4000000>;
37 regulator-max-microvolt = <4000000>;
38 regulator-always-on;
39 regulator-boot-on;
40 };
41
42 cam0_vdig_vreg: cam0-vdig {
43 compatible = "regulator-fixed";
44 regulator-name = "cam0_vdig";
45 startup-delay-us = <0>;
46 enable-active-high;
47 gpio = <&tlmm 21 GPIO_ACTIVE_HIGH>;
48 pinctrl-names = "default";
49 pinctrl-0 = <&main_cam_pwr_en>;
50 };
51
52 cam1_vdig_vreg: cam1-vdig {
53 compatible = "regulator-fixed";
54 regulator-name = "cam1_vdig";
55 startup-delay-us = <0>;
56 enable-active-high;
57 gpio = <&tlmm 25 GPIO_ACTIVE_HIGH>;
58 pinctrl-names = "default";
59 pinctrl-0 = <&chat_cam_pwr_en>;
60 vin-supply = <&vreg_s3a_1p35>;
61 };
62
63 cam_vio_vreg: cam-vio-vreg {
64 compatible = "regulator-fixed";
65 regulator-name = "cam_vio_vreg";
66 startup-delay-us = <0>;
67 enable-active-high;
68 gpio = <&pmi8998_gpios 1 GPIO_ACTIVE_HIGH>;
69 pinctrl-names = "default";
70 pinctrl-0 = <&main_cam_pwr_io_en>;
71 vin-supply = <&vreg_lvs1a_1p8>;
72 };
73
74 touch_vddio_vreg: touch-vddio-vreg {
75 compatible = "regulator-fixed";
76 regulator-name = "touch_vddio_vreg";
77 startup-delay-us = <10000>;
78 gpio = <&tlmm 133 GPIO_ACTIVE_HIGH>;
79 pinctrl-names = "default";
80 pinctrl-0 = <&ts_vddio_en>;
81 };
82
83 vph_pwr: vph-pwr-regulator {
84 compatible = "regulator-fixed";
85 regulator-name = "vph_pwr";
86 regulator-always-on;
87 regulator-boot-on;
88 };
89
90 extcon_usb: extcon-usb {
91 compatible = "linux,extcon-usb-gpio";
92 id-gpios = <&tlmm 38 GPIO_ACTIVE_HIGH>;
93 vbus-gpios = <&tlmm 128 GPIO_ACTIVE_HIGH>;
94 pinctrl-names = "default";
95 pinctrl-0 = <&cc_dir_default &usb_detect_en>;
96 };
97
98 gpio-keys {
99 compatible = "gpio-keys";
100 label = "Side buttons";
101 pinctrl-0 = <&focus_n &snapshot_n &vol_down_n &vol_up_n>;
102 pinctrl-names = "default";
103 button-camera-focus {
104 label = "Camera Focus";
105 gpios = <&pm8998_gpios 8 GPIO_ACTIVE_LOW>;
106 linux,code = <KEY_CAMERA_FOCUS>;
107 debounce-interval = <15>;
108 };
109
110 button-camera-snapshot {
111 label = "Camera Snapshot";
112 gpios = <&pm8998_gpios 7 GPIO_ACTIVE_LOW>;
113 linux,code = <KEY_CAMERA>;
114 debounce-interval = <15>;
115 };
116
117 button-vol-down {
118 label = "Volume Down";
119 gpios = <&pm8998_gpios 5 GPIO_ACTIVE_LOW>;
120 linux,code = <KEY_VOLUMEDOWN>;
121 wakeup-source;
122 debounce-interval = <15>;
123 };
124
125 button-vol-up {
126 label = "Volume Up";
127 gpios = <&pm8998_gpios 6 GPIO_ACTIVE_LOW>;
128 linux,code = <KEY_VOLUMEUP>;
129 wakeup-source;
130 debounce-interval = <15>;
131 };
132 };
133
134 gpio-hall-sensor {
135 compatible = "gpio-keys";
136 label = "Hall sensors";
137 pinctrl-names = "default";
138 pinctrl-0 = <&acc_cover_open>;
139
140 event-hall-sensor0 {
141 label = "Cover Hall Sensor";
142 gpios = <&tlmm 124 GPIO_ACTIVE_LOW>;
143 linux,input-type = <EV_SW>;
144 linux,code = <SW_LID>;
145 wakeup-source;
146 debounce-interval = <30>;
147 };
148 };
149
150 reserved-memory {
151 #address-cells = <2>;
152 #size-cells = <2>;
153 ranges;
154
155 hyp_mem: memory@85800000 {
156 reg = <0x0 0x85800000 0x0 0x3700000>;
157 no-map;
158 };
159
160 cont_splash_mem: memory@9d400000 {
161 reg = <0x0 0x9d400000 0x0 0x2400000>;
162 no-map;
163 };
164
165 zap_shader_region: memory@f6400000 {
166 compatible = "shared-dma-pool";
167 reg = <0x0 0xf6400000 0x0 0x2000>;
168 no-map;
169 };
170
171 adsp_region: memory@fe000000 {
172 reg = <0x0 0xfe000000 0x0 0x800000>;
173 no-map;
174 };
175
176 qseecom_region: memory@fe800000 {
177 reg = <0x0 0xfe800000 0x0 0x1400000>;
178 no-map;
179 };
180
181 ramoops@ffc00000 {
182 compatible = "ramoops";
183 reg = <0x0 0xffc00000 0x0 0x100000>;
184 record-size = <0x10000>;
185 console-size = <0x60000>;
186 ftrace-size = <0x10000>;
187 pmsg-size = <0x20000>;
188 ecc-size = <16>;
189 };
190 };
191
192 vibrator {
193 compatible = "gpio-vibrator";
194 enable-gpios = <&pmi8998_gpios 5 GPIO_ACTIVE_HIGH>;
195 pinctrl-names = "default";
196 pinctrl-0 = <&vib_ldo_en>;
197 };
198};
199
200&blsp1_i2c5 {
201 status = "okay";
202 clock-frequency = <355000>;
203
204 touchscreen@2c {
205 compatible = "syna,rmi4-i2c";
206 reg = <0x2c>;
207 #address-cells = <1>;
208 #size-cells = <0>;
209 interrupts-extended = <&tlmm 125 IRQ_TYPE_EDGE_FALLING>;
210
211 pinctrl-names = "default";
212 pinctrl-0 = <&ts_int_n>;
213
214 vdd-supply = <&vreg_l28_3p0>;
215 vio-supply = <&touch_vddio_vreg>;
216
217 syna,reset-delay-ms = <220>;
218 syna,startup-delay-ms = <1000>;
219
220 rmi4-f01@1 {
221 reg = <0x01>;
222 syna,nosleep-mode = <1>;
223 };
224
225 rmi4-f11@11 {
226 reg = <0x11>;
227 syna,sensor-type = <1>;
228 };
229 };
230};
231
232&blsp1_i2c5_sleep {
233 bias-disable;
234};
235
236&blsp1_uart3 {
237 status = "okay";
238
239 bluetooth {
240 compatible = "qcom,wcn3990-bt";
241
242 vddio-supply = <&vreg_s4a_1p8>;
243 vddxo-supply = <&vreg_l7a_1p8>;
244 vddrf-supply = <&vreg_l17a_1p3>;
245 vddch0-supply = <&vreg_l25a_3p3>;
246 max-speed = <3200000>;
247
248 clocks = <&rpmcc RPM_SMD_RF_CLK2_PIN>;
249 };
250};
251
252&blsp2_uart1 {
253 status = "okay";
254};
255
256&blsp2_i2c2 {
257 status = "okay";
258
259 proximity@29 {
260 compatible = "st,vl53l0x";
261 reg = <0x29>;
262
263 interrupt-parent = <&tlmm>;
264 interrupts = <22 IRQ_TYPE_EDGE_FALLING>;
265
266 reset-gpios = <&tlmm 27 GPIO_ACTIVE_LOW>;
267 vdd-supply = <&cam_vio_vreg>;
268
269 pinctrl-names = "default";
270 pinctrl-0 = <&tof_int_n &tof_reset>;
271 };
272};
273
274&ibb {
275 regulator-min-microamp = <800000>;
276 regulator-max-microamp = <800000>;
277 regulator-enable-ramp-delay = <200>;
278 regulator-over-current-protection;
279 regulator-pull-down;
280 regulator-ramp-delay = <1>;
281 regulator-settling-time-up-us = <600>;
282 regulator-settling-time-down-us = <1000>;
283 regulator-soft-start;
284 qcom,discharge-resistor-kohms = <300>;
285};
286
287&lab {
288 regulator-min-microamp = <200000>;
289 regulator-max-microamp = <200000>;
290 regulator-enable-ramp-delay = <500>;
291 regulator-over-current-protection;
292 regulator-pull-down;
293 regulator-ramp-delay = <1>;
294 regulator-settling-time-up-us = <50000>;
295 regulator-settling-time-down-us = <3000>;
296 regulator-soft-start;
297};
298
299&pm8005_gpios {
300 gpio-line-names = "NC", /* GPIO_1 */
301 "NC",
302 "SLB",
303 "OPTION_1_PM8005";
304};
305
306&pm8005_regulators {
307 /* VDD_GFX supply */
308 pm8005_s1: s1 {
309 regulator-min-microvolt = <524000>;
310 regulator-max-microvolt = <1088000>;
311 regulator-enable-ramp-delay = <500>;
312 /* Hack until we rig up the gpu consumer */
313 regulator-always-on;
314 };
315};
316
317&pm8998_gpios {
318 gpio-line-names = "UIM_BATT_ALARM", /* GPIO_1 */
319 "NC",
320 "WLAN_SW_CTRL (DISALLOWED)",
321 "SSC_PWR_EN",
322 "VOL_DOWN_N",
323 "VOL_UP_N",
324 "SNAPSHOT_N",
325 "FOCUS_N",
326 "FLASH_THERM",
327 "", /* GPIO_10 */
328 "",
329 "",
330 "DIV_CLK1",
331 "NC",
332 "NC (DISALLOWED)",
333 "DIV_CLK3",
334 "NC",
335 "NC",
336 "NC",
337 "NC (DISALLOWED)", /* GPIO_20 */
338 "NFC_CLK_REQ",
339 "NC (DISALLOWED)",
340 "WCSS_PWR_REQ",
341 "OPTION_1 (DISALLOWED)",
342 "OPTION_2 (DISALLOWED)",
343 "PM_SLB (DISALLOWED)";
344
345 vol_down_n: vol-down-n-state {
346 pins = "gpio5";
347 function = PMIC_GPIO_FUNC_NORMAL;
348 bias-pull-up;
349 input-enable;
350 qcom,drive-strength = <PMIC_GPIO_STRENGTH_NO>;
351 };
352
353 vol_up_n: vol-up-n-state {
354 pins = "gpio6";
355 function = PMIC_GPIO_FUNC_NORMAL;
356 bias-pull-up;
357 input-enable;
358 qcom,drive-strength = <PMIC_GPIO_STRENGTH_NO>;
359 };
360
361 focus_n: focus-n-state {
362 pins = "gpio7";
363 function = PMIC_GPIO_FUNC_NORMAL;
364 bias-pull-up;
365 input-enable;
366 qcom,drive-strength = <PMIC_GPIO_STRENGTH_NO>;
367 };
368
369 snapshot_n: snapshot-n-state {
370 pins = "gpio8";
371 function = PMIC_GPIO_FUNC_NORMAL;
372 bias-pull-up;
373 input-enable;
374 qcom,drive-strength = <PMIC_GPIO_STRENGTH_NO>;
375 };
376
377 div_clk1: div-clk1-state {
378 pins = "gpio13";
379 function = "func2";
380 power-source = <0>;
381 };
382};
383
384&pmi8998_gpios {
385 gpio-line-names = "MAIN_CAM_PWR_IO_EN", /* GPIO_1 */
386 "NC",
387 "NC",
388 "TYPEC_UUSB_SEL",
389 "VIB_LDO_EN",
390 "NC",
391 "DISPLAY_TYPE_SEL",
392 "NC",
393 "NC",
394 "NC", /* GPIO_10 */
395 "NC",
396 "DIV_CLK3",
397 "SPMI_I2C_SEL",
398 "NC";
399
400 main_cam_pwr_io_en: main-cam-pwr-io-en-state {
401 pins = "gpio1";
402 function = PMIC_GPIO_FUNC_NORMAL;
403 bias-disable;
404 drive-push-pull;
405 output-low;
406 qcom,drive-strength = <PMIC_GPIO_STRENGTH_HIGH>;
407 power-source = <1>;
408 };
409
410 vib_ldo_en: vib-ldo-en-state {
411 pins = "gpio5";
412 function = PMIC_GPIO_FUNC_NORMAL;
413 bias-disable;
414 drive-push-pull;
415 output-low;
416 qcom,drive-strength = <PMIC_GPIO_STRENGTH_NO>;
417 power-source = <0>;
418 };
419};
420
421&pmi8998_lpg {
422 qcom,power-source = <1>;
423
424 status = "okay";
425
426 multi-led {
427 color = <LED_COLOR_ID_RGB>;
428 function = LED_FUNCTION_STATUS;
429
430 #address-cells = <1>;
431 #size-cells = <0>;
432
433 led@3 {
434 reg = <3>;
435 color = <LED_COLOR_ID_BLUE>;
436 };
437
438 led@4 {
439 reg = <4>;
440 color = <LED_COLOR_ID_GREEN>;
441 };
442
443 led@5 {
444 reg = <5>;
445 color = <LED_COLOR_ID_RED>;
446 };
447 };
448};
449
450&qusb2phy {
451 status = "okay";
452
453 vdd-supply = <&vreg_l1a_0p875>;
454 vdda-pll-supply = <&vreg_l12a_1p8>;
455 vdda-phy-dpdm-supply = <&vreg_l24a_3p075>;
456};
457
458&rpm_requests {
459 regulators-0 {
460 compatible = "qcom,rpm-pm8998-regulators";
461
462 vdd_s1-supply = <&vph_pwr>;
463 vdd_s2-supply = <&vph_pwr>;
464 vdd_s3-supply = <&vph_pwr>;
465 vdd_s4-supply = <&vph_pwr>;
466 vdd_s5-supply = <&vph_pwr>;
467 vdd_s6-supply = <&vph_pwr>;
468 vdd_s7-supply = <&vph_pwr>;
469 vdd_s8-supply = <&vph_pwr>;
470 vdd_s9-supply = <&vph_pwr>;
471 vdd_s10-supply = <&vph_pwr>;
472 vdd_s11-supply = <&vph_pwr>;
473 vdd_s12-supply = <&vph_pwr>;
474 vdd_s13-supply = <&vph_pwr>;
475 vdd_l1_l27-supply = <&vreg_s7a_1p025>;
476 vdd_l2_l8_l17-supply = <&vreg_s3a_1p35>;
477 vdd_l3_l11-supply = <&vreg_s7a_1p025>;
478 vdd_l4_l5-supply = <&vreg_s7a_1p025>;
479 vdd_l6-supply = <&vreg_s5a_2p04>;
480 vdd_l7_l12_l14_l15-supply = <&vreg_s5a_2p04>;
481 vdd_l9-supply = <&vreg_bob>;
482 vdd_l10_l23_l25-supply = <&vreg_bob>;
483 vdd_l13_l19_l21-supply = <&vreg_bob>;
484 vdd_l16_l28-supply = <&vreg_bob>;
485 vdd_l18_l22-supply = <&vreg_bob>;
486 vdd_l20_l24-supply = <&vreg_bob>;
487 vdd_l26-supply = <&vreg_s3a_1p35>;
488 vdd_lvs1_lvs2-supply = <&vreg_s4a_1p8>;
489
490 vreg_s3a_1p35: s3 {
491 regulator-min-microvolt = <1352000>;
492 regulator-max-microvolt = <1352000>;
493 };
494
495 vreg_s4a_1p8: s4 {
496 regulator-min-microvolt = <1800000>;
497 regulator-max-microvolt = <1800000>;
498 regulator-system-load = <100000>;
499 regulator-allow-set-load;
500 };
501
502 vreg_s5a_2p04: s5 {
503 regulator-min-microvolt = <1904000>;
504 regulator-max-microvolt = <2032000>;
505 };
506
507 vreg_s7a_1p025: s7 {
508 regulator-min-microvolt = <900000>;
509 regulator-max-microvolt = <1028000>;
510 };
511
512 vreg_l1a_0p875: l1 {
513 regulator-min-microvolt = <880000>;
514 regulator-max-microvolt = <880000>;
515 regulator-system-load = <73400>;
516 regulator-allow-set-load;
517 };
518
519 vreg_l2a_1p2: l2 {
520 regulator-min-microvolt = <1200000>;
521 regulator-max-microvolt = <1200000>;
522 regulator-system-load = <12560>;
523 regulator-allow-set-load;
524 };
525
526 vreg_l3a_1p0: l3 {
527 regulator-min-microvolt = <1000000>;
528 regulator-max-microvolt = <1000000>;
529 };
530
531 vreg_l5a_0p8: l5 {
532 regulator-min-microvolt = <800000>;
533 regulator-max-microvolt = <800000>;
534 };
535
536 vreg_l6a_1p8: l6 {
537 regulator-min-microvolt = <1800000>;
538 regulator-max-microvolt = <1800000>;
539 };
540
541 vreg_l7a_1p8: l7 {
542 regulator-min-microvolt = <1800000>;
543 regulator-max-microvolt = <1800000>;
544 };
545
546 vreg_l8a_1p2: l8 {
547 regulator-min-microvolt = <1200000>;
548 regulator-max-microvolt = <1200000>;
549 };
550
551 vreg_l9a_1p8: l9 {
552 regulator-min-microvolt = <1808000>;
553 regulator-max-microvolt = <2960000>;
554 };
555
556 vreg_l10a_1p8: l10 {
557 regulator-min-microvolt = <1808000>;
558 regulator-max-microvolt = <2960000>;
559 };
560
561 vreg_l11a_1p0: l11 {
562 regulator-min-microvolt = <1000000>;
563 regulator-max-microvolt = <1000000>;
564 };
565
566 vreg_l12a_1p8: l12 {
567 regulator-min-microvolt = <1800000>;
568 regulator-max-microvolt = <1800000>;
569 };
570
571 vreg_l13a_2p95: l13 {
572 regulator-min-microvolt = <1808000>;
573 regulator-max-microvolt = <2960000>;
574 regulator-allow-set-load;
575 };
576
577 vreg_l14a_1p85: l14 {
578 regulator-min-microvolt = <1848000>;
579 regulator-max-microvolt = <1856000>;
580 regulator-system-load = <32000>;
581 regulator-allow-set-load;
582 };
583
584 vreg_l15a_1p8: l15 {
585 regulator-min-microvolt = <1800000>;
586 regulator-max-microvolt = <1800000>;
587 };
588
589 vreg_l16a_2p7: l16 {
590 regulator-min-microvolt = <2704000>;
591 regulator-max-microvolt = <2704000>;
592 };
593
594 vreg_l17a_1p3: l17 {
595 regulator-min-microvolt = <1304000>;
596 regulator-max-microvolt = <1304000>;
597 };
598
599 vreg_l18a_2p85: l18 { };
600
601 vreg_l19a_2p7: l19 {
602 regulator-min-microvolt = <2696000>;
603 regulator-max-microvolt = <2704000>;
604 };
605
606 vreg_l20a_2p95: l20 {
607 regulator-min-microvolt = <2960000>;
608 regulator-max-microvolt = <2960000>;
609 regulator-system-load = <10000>;
610 regulator-allow-set-load;
611 };
612
613 vreg_l21a_2p95: l21 {
614 regulator-min-microvolt = <2960000>;
615 regulator-max-microvolt = <2960000>;
616 regulator-system-load = <800000>;
617 regulator-allow-set-load;
618 };
619
620 vreg_l22a_2p85: l22 { };
621
622 vreg_l23a_3p3: l23 {
623 regulator-min-microvolt = <3312000>;
624 regulator-max-microvolt = <3312000>;
625 };
626
627 vreg_l24a_3p075: l24 {
628 regulator-min-microvolt = <3088000>;
629 regulator-max-microvolt = <3088000>;
630 };
631
632 vreg_l25a_3p3: l25 {
633 regulator-min-microvolt = <3104000>;
634 regulator-max-microvolt = <3312000>;
635 };
636
637 vreg_l26a_1p2: l26 {
638 regulator-min-microvolt = <1200000>;
639 regulator-max-microvolt = <1200000>;
640 regulator-allow-set-load;
641 };
642
643 vreg_l28_3p0: l28 {
644 regulator-min-microvolt = <3000000>;
645 regulator-max-microvolt = <3000000>;
646 };
647
648 vreg_lvs1a_1p8: lvs1 { };
649
650 vreg_lvs2a_1p8: lvs2 { };
651 };
652
653 regulators-1 {
654 compatible = "qcom,rpm-pmi8998-regulators";
655
656 vdd_bob-supply = <&vph_pwr>;
657
658 vreg_bob: bob {
659 regulator-min-microvolt = <3312000>;
660 regulator-max-microvolt = <3600000>;
661 };
662 };
663};
664
665&sdhc2 {
666 status = "okay";
667 cd-gpios = <&tlmm 95 GPIO_ACTIVE_HIGH>;
668
669 vmmc-supply = <&vreg_l21a_2p95>;
670 vqmmc-supply = <&vreg_l13a_2p95>;
671
672 pinctrl-names = "default", "sleep";
673 pinctrl-0 = <&sdc2_on &sdc2_cd>;
674 pinctrl-1 = <&sdc2_off &sdc2_cd>;
675};
676
677&tlmm {
678 gpio-reserved-ranges = <0 4>, <81 4>;
679 gpio-line-names = "", /* GPIO_0 */
680 "",
681 "",
682 "",
683 "DEBUG_UART_TX",
684 "DEBUG_UART_RX",
685 "CAMSENSOR_I2C_SDA",
686 "CAMSENSOR_I2C_SCL",
687 "NC",
688 "NC",
689 "MDP_VSYNC_P", /* GPIO_10 */
690 "RGBC_IR_INT",
691 "NFC_VEN",
692 "CAM_MCLK0",
693 "CAM_MCLK1",
694 "NC",
695 "NC",
696 "CCI_I2C_SDA0",
697 "CCI_I2C_SCL0",
698 "CCI_I2C_SDA1",
699 "CCI_I2C_SCL1", /* GPIO_20 */
700 "MAIN_CAM_PWR_EN",
701 "TOF_INT_N",
702 "NC",
703 "NC",
704 "CHAT_CAM_PWR_EN",
705 "NC",
706 "TOF_RESET_N",
707 "CAM2_RSTN",
708 "NC",
709 "CAM1_RSTN", /* GPIO_30 */
710 "NC",
711 "NC",
712 "NC",
713 "NC",
714 "NC",
715 "NC",
716 "NC",
717 "CC_DIR",
718 "UIM2_DETECT_EN",
719 "FP_RESET_N", /* GPIO_40 */
720 "NC",
721 "NC",
722 "NC",
723 "NC",
724 "BT_HCI_UART_TXD",
725 "BT_HCI_UART_RXD",
726 "BT_HCI_UART_CTS_N",
727 "BT_HCI_UART_RFR_N",
728 "NC",
729 "NC", /* GPIO_50 */
730 "NC",
731 "NC",
732 "CODEC_INT2_N",
733 "CODEC_INT1_N",
734 "APPS_I2C_SDA",
735 "APPS_I2C_SCL",
736 "FORCED_USB_BOOT",
737 "NC",
738 "NC",
739 "NC", /* GPIO_60 */
740 "NC",
741 "NC",
742 "TRAY2_DET_DS",
743 "CODEC_RST_N",
744 "WSA_L_EN",
745 "WSA_R_EN",
746 "NC",
747 "NC",
748 "NC",
749 "LPASS_SLIMBUS_CLK", /* GPIO_70 */
750 "LPASS_SLIMBUS_DATA0",
751 "LPASS_SLIMBUS_DATA1",
752 "BT_FM_SLIMBUS_DATA",
753 "BT_FM_SLIMBUS_CLK",
754 "NC",
755 "RF_LCD_ID_EN",
756 "NC",
757 "NC",
758 "NC",
759 "NC", /* GPIO_80 */
760 "SW_SERVICE",
761 "TX_GTR_THRES_IN",
762 "HW_ID0",
763 "HW_ID1",
764 "NC",
765 "NC",
766 "TS_I2C_SDA",
767 "TS_I2C_SCL",
768 "TS_RESET_N",
769 "NC", /* GPIO_90 */
770 "NC",
771 "NFC_IRQ",
772 "NFC_DWLD_EN",
773 "DISP_RESET_N",
774 "TRAY2_DET",
775 "CAM_SOF",
776 "RFFE6_CLK",
777 "RFFE6_DATA",
778 "DEBUG_GPIO0",
779 "DEBUG_GPIO1", /* GPIO_100 */
780 "GRFC4",
781 "NC",
782 "NC",
783 "RSVD",
784 "UIM2_DATA",
785 "UIM2_CLK",
786 "UIM2_RESET",
787 "UIM2_PRESENT",
788 "UIM1_DATA",
789 "UIM1_CLK", /* GPIO_110 */
790 "UIM1_RST",
791 "UIM1_PRESENT",
792 "UIM_BATT_ALARM",
793 "RSVD",
794 "NC",
795 "NC",
796 "ACCEL_INT",
797 "GYRO_INT",
798 "COMPASS_INT",
799 "ALS_PROX_INT_N", /* GPIO_120 */
800 "FP_INT_N",
801 "NC",
802 "BAROMETER_INT",
803 "ACC_COVER_OPEN",
804 "TS_INT_N",
805 "NC",
806 "NC",
807 "USB_DETECT_EN",
808 "NC",
809 "QLINK_REQUEST", /* GPIO_130 */
810 "QLINK_ENABLE",
811 "NC",
812 "NC",
813 "WMSS_RESET_N",
814 "PA_INDICATOR_OR",
815 "NC",
816 "RFFE3_DATA",
817 "RFFE3_CLK",
818 "RFFE4_DATA",
819 "RFFE4_CLK", /* GPIO_140 */
820 "RFFE5_DATA",
821 "RFFE5_CLK",
822 "GNSS_EN",
823 "MSS_LTE_COXM_TXD",
824 "MSS_LTE_COXM_RXD",
825 "RFFE2_DATA",
826 "RFFE2_CLK",
827 "RFFE1_DATA",
828 "RFFE1_CLK";
829
830 mdp_vsync_p: mdp-vsync-p-state {
831 pins = "gpio10";
832 function = "mdp_vsync_a";
833 drive-strength = <2>;
834 bias-pull-down;
835 };
836
837 nfc_ven: nfc-ven-state {
838 pins = "gpio12";
839 function = "gpio";
840 bias-disable;
841 drive-strength = <2>;
842 output-low;
843 };
844
845 cam_mclk0_active: cam-mclk0-active-state {
846 pins = "gpio13";
847 function = "cam_mclk";
848 drive-strength = <2>;
849 bias-disable;
850 };
851
852 cam_mclk1_active: cam-mclk1-active-state {
853 pins = "gpio14";
854 function = "cam_mclk";
855 drive-strength = <2>;
856 bias-disable;
857 };
858
859 cci0_default: cci0-default-state {
860 pins = "gpio18", "gpio19";
861 function = "cci_i2c";
862 bias-disable;
863 drive-strength = <2>;
864 };
865
866 cci1_default: cci1-default-state {
867 pins = "gpio19", "gpio20";
868 function = "cci_i2c";
869 bias-disable;
870 drive-strength = <2>;
871 };
872
873 main_cam_pwr_en: main-cam-pwr-en-default-state {
874 pins = "gpio21";
875 function = "gpio";
876 bias-disable;
877 drive-strength = <2>;
878 };
879
880 tof_int_n: tof-int-n-state {
881 pins = "gpio22";
882 function = "gpio";
883 bias-pull-up;
884 drive-strength = <2>;
885 };
886
887 chat_cam_pwr_en: chat-cam-pwr-en-default-state {
888 pins = "gpio25";
889 function = "gpio";
890 bias-disable;
891 drive-strength = <2>;
892 };
893
894 tof_reset: tof-reset-state {
895 pins = "gpio27";
896 function = "gpio";
897 bias-disable;
898 drive-strength = <2>;
899 };
900
901 cc_dir_default: cc-dir-active-state {
902 pins = "gpio38";
903 function = "gpio";
904 bias-disable;
905 drive-strength = <16>;
906 };
907
908 acc_cover_open: acc-cover-open-state {
909 pins = "gpio124";
910 function = "gpio";
911 bias-disable;
912 drive-strength = <2>;
913 };
914
915 ts_int_n: ts-int-n-state {
916 pins = "gpio125";
917 function = "gpio";
918 drive-strength = <8>;
919 bias-pull-up;
920 };
921
922 usb_detect_en: usb-detect-en-active-state {
923 pins = "gpio128";
924 function = "gpio";
925 bias-disable;
926 drive-strength = <2>;
927 output-low;
928 };
929
930 ts_vddio_en: ts-vddio-en-default-state {
931 pins = "gpio133";
932 function = "gpio";
933 bias-disable;
934 drive-strength = <2>;
935 output-low;
936 };
937};
938
939/*
940 * WARNING:
941 * Disable UFS until card quirks are in to avoid unrecoverable hard-brick
942 * that would happen as soon as the UFS card gets probed as, without the
943 * required quirks, the bootloader will be erased right after card probe.
944 */
945&ufshc {
946 status = "disabled";
947};
948
949&ufsphy {
950 status = "disabled";
951};
952
953&usb3 {
954 status = "okay";
955};
956
957&usb3_dwc3 {
958 /* Force to peripheral until we have Type-C hooked up */
959 dr_mode = "peripheral";
960 extcon = <&extcon_usb>;
961};
962
963&usb3phy {
964 status = "okay";
965
966 vdda-phy-supply = <&vreg_l1a_0p875>;
967 vdda-pll-supply = <&vreg_l2a_1p2>;
968};