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