blob: 7ae1eb0a7ccea4bbbf5537a18dd56d9a27efd55c [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001// SPDX-License-Identifier: BSD-3-Clause
2/*
3 * Copyright (c) 2021, Konrad Dybcio <konrad.dybcio@somainline.org>
4 */
5
6#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
7#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
8#include "sm8350.dtsi"
9#include "pm8350.dtsi"
10#include "pm8350b.dtsi"
11#include "pm8350c.dtsi"
12#include "pmk8350.dtsi"
13#include "pmr735a.dtsi"
14#include "pmr735b.dtsi"
15
16/ {
17 /*
18 * Yes, you are correct, there is NO MORE {msm,board,pmic}-id on SM8350!
19 * Adding it will cause the bootloader to go crazy and randomly crash
20 * shortly after closing UEFI boot services.. Perhaps that has something
21 * to do with the OS running inside a VM now..?
22 */
23
24 chassis-type = "handset";
25
26 chosen {
27 #address-cells = <2>;
28 #size-cells = <2>;
29 ranges;
30
31 framebuffer: framebuffer@e1000000 {
32 compatible = "simple-framebuffer";
33 reg = <0 0xe1000000 0 0x2300000>;
34
35 /* The display, even though it's 4K, initializes at 1080-ish p */
36 width = <1096>;
37 height = <2560>;
38 stride = <(1096 * 4)>;
39 format = "a8r8g8b8";
40 /*
41 * That's (going to be) a lot of clocks, but it's necessary due
42 * to unused clk cleanup & no panel driver yet
43 */
44 clocks = <&gcc GCC_DISP_HF_AXI_CLK>,
45 <&gcc GCC_DISP_SF_AXI_CLK>;
46 };
47 };
48
49 gpio-keys {
50 compatible = "gpio-keys";
51
52 pinctrl-names = "default";
53 pinctrl-0 = <&focus_n &snapshot_n &vol_down_n &g_assist_n>;
54
55 key-camera-focus {
56 label = "Camera Focus";
57 linux,code = <KEY_CAMERA_FOCUS>;
58 gpios = <&pm8350b_gpios 8 GPIO_ACTIVE_LOW>;
59 debounce-interval = <15>;
60 linux,can-disable;
61 wakeup-source;
62 };
63
64 key-camera-snapshot {
65 label = "Camera Snapshot";
66 linux,code = <KEY_CAMERA>;
67 gpios = <&pm8350b_gpios 5 GPIO_ACTIVE_LOW>;
68 debounce-interval = <15>;
69 linux,can-disable;
70 wakeup-source;
71 };
72
73 key-google-assist {
74 label = "Google Assistant Key";
75 gpios = <&pm8350_gpios 9 GPIO_ACTIVE_LOW>;
76 linux,code = <KEY_LEFTMETA>;
77 debounce-interval = <15>;
78 linux,can-disable;
79 wakeup-source;
80 };
81
82 key-vol-down {
83 label = "Volume Down";
84 linux,code = <KEY_VOLUMEDOWN>;
85 gpios = <&pmk8350_gpios 3 GPIO_ACTIVE_LOW>;
86 debounce-interval = <15>;
87 linux,can-disable;
88 wakeup-source;
89 };
90 };
91
92 reserved-memory {
93 cont_splash_mem: memory@e1000000 {
94 reg = <0 0xe1000000 0 0x2300000>;
95 no-map;
96 };
97
98 ramoops@ffc00000 {
99 compatible = "ramoops";
100 reg = <0 0xffc00000 0 0x100000>;
101 console-size = <0x40000>;
102 record-size = <0x1000>;
103 no-map;
104 };
105 };
106
107 vph_pwr: vph-pwr-regulator {
108 compatible = "regulator-fixed";
109 regulator-name = "vph_pwr";
110 regulator-min-microvolt = <3700000>;
111 regulator-max-microvolt = <3700000>;
112
113 regulator-always-on;
114 regulator-boot-on;
115 };
116};
117
118&adsp {
119 status = "okay";
120 firmware-name = "qcom/sm8350/Sony/sagami/adsp.mbn";
121};
122
123&apps_rsc {
124 regulators-0 {
125 compatible = "qcom,pm8350-rpmh-regulators";
126 qcom,pmic-id = "b";
127
128 vdd-s1-supply = <&vph_pwr>;
129 vdd-s2-supply = <&vph_pwr>;
130 vdd-s3-supply = <&vph_pwr>;
131 vdd-s4-supply = <&vph_pwr>;
132 vdd-s5-supply = <&vph_pwr>;
133 vdd-s6-supply = <&vph_pwr>;
134 vdd-s7-supply = <&vph_pwr>;
135 vdd-s8-supply = <&vph_pwr>;
136 vdd-s9-supply = <&vph_pwr>;
137 vdd-s10-supply = <&vph_pwr>;
138 vdd-s11-supply = <&vph_pwr>;
139 vdd-s12-supply = <&vph_pwr>;
140
141 vdd-l1-l4-supply = <&pm8350_s11>;
142 vdd-l2-l7-supply = <&vreg_bob>;
143 vdd-l3-l5-supply = <&vreg_bob>;
144 vdd-l6-l9-l10-supply = <&pm8350_s11>;
145
146 /*
147 * ARC regulators:
148 * S5 - mx.lvl
149 * S6 - gfx.lvl
150 * S9 - mxc.lvl
151 */
152
153 pm8350_s10: smps10 {
154 regulator-name = "pm8350_s10";
155 regulator-min-microvolt = <1800000>;
156 regulator-max-microvolt = <1800000>;
157 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
158 };
159
160 pm8350_s11: smps11 {
161 regulator-name = "pm8350_s11";
162 regulator-min-microvolt = <752000>;
163 regulator-max-microvolt = <1000000>;
164 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
165 };
166
167 pm8350_s12: smps12 {
168 regulator-name = "pm8350_s12";
169 regulator-min-microvolt = <1224000>;
170 regulator-max-microvolt = <1360000>;
171 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
172 };
173
174 pm8350_l1: ldo1 {
175 regulator-name = "pm8350_l1";
176 regulator-min-microvolt = <912000>;
177 regulator-max-microvolt = <920000>;
178 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
179 };
180
181 pm8350_l2: ldo2 {
182 regulator-name = "pm8350_l2";
183 regulator-min-microvolt = <3072000>;
184 regulator-max-microvolt = <3072000>;
185 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
186 };
187
188 pm8350_l3: ldo3 {
189 regulator-name = "pm8350_l3";
190 regulator-min-microvolt = <904000>;
191 regulator-max-microvolt = <904000>;
192 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
193 };
194
195 /* L4 - lmx.lvl (ARC) */
196
197 pm8350_l5: ldo5 {
198 regulator-name = "pm8350_l5";
199 regulator-min-microvolt = <880000>;
200 regulator-max-microvolt = <888000>;
201 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
202 regulator-allow-set-load;
203 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
204 RPMH_REGULATOR_MODE_HPM>;
205 };
206
207 pm8350_l6: ldo6 {
208 regulator-name = "pm8350_l6";
209 regulator-min-microvolt = <1200000>;
210 regulator-max-microvolt = <1208000>;
211 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
212 regulator-allow-set-load;
213 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
214 RPMH_REGULATOR_MODE_HPM>;
215 };
216
217 pm8350_l7: ldo7 {
218 regulator-name = "pm8350_l7";
219 regulator-min-microvolt = <2400000>;
220 regulator-max-microvolt = <3008000>;
221 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
222 regulator-allow-set-load;
223 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
224 RPMH_REGULATOR_MODE_HPM>;
225 };
226
227 /* L8 - lcx.lvl (ARC) */
228
229 pm8350_l9: ldo9 {
230 regulator-name = "pm8350_l9";
231 regulator-min-microvolt = <1200000>;
232 regulator-max-microvolt = <1200000>;
233 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
234 regulator-allow-set-load;
235 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
236 RPMH_REGULATOR_MODE_HPM>;
237 };
238 };
239
240 regulators-1 {
241 compatible = "qcom,pm8350c-rpmh-regulators";
242 qcom,pmic-id = "c";
243
244 vdd-s1-supply = <&vph_pwr>;
245 vdd-s2-supply = <&vph_pwr>;
246 vdd-s3-supply = <&vph_pwr>;
247 vdd-s4-supply = <&vph_pwr>;
248 vdd-s5-supply = <&vph_pwr>;
249 vdd-s6-supply = <&vph_pwr>;
250 vdd-s7-supply = <&vph_pwr>;
251 vdd-s8-supply = <&vph_pwr>;
252 vdd-s9-supply = <&vph_pwr>;
253 vdd-s10-supply = <&vph_pwr>;
254
255 vdd-l1-l12-supply = <&pm8350c_s1>;
256 vdd-l2-l8-supply = <&pm8350c_s1>;
257 vdd-l3-l4-l5-l7-l13-supply = <&vreg_bob>;
258 vdd-l6-l9-l11-supply = <&vreg_bob>;
259 vdd-l10-supply = <&pm8350_s12>;
260
261 vdd-bob-supply = <&vph_pwr>;
262
263 pm8350c_s1: smps1 {
264 regulator-name = "pm8350c_s1";
265 regulator-min-microvolt = <1800000>;
266 regulator-max-microvolt = <1952000>;
267 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
268 };
269
270 /* S2 - ebi.lvl (ARC) */
271
272 pm8350c_s3: smps3 {
273 regulator-name = "pm8350c_s3";
274 regulator-min-microvolt = <300000>;
275 regulator-max-microvolt = <704000>;
276 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
277 };
278
279 /*
280 * ARC regulators:
281 * S4 - mss.lvl
282 * S6 - cx.lvl
283 * S8 - mmcx.lvl
284 */
285
286 pm8350c_s10: smps10 {
287 regulator-name = "pm8350c_s10";
288 regulator-min-microvolt = <1048000>;
289 regulator-max-microvolt = <1128000>;
290 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
291 };
292
293 pm8350c_l1: ldo1 {
294 regulator-name = "pm8350c_l1";
295 regulator-min-microvolt = <1800000>;
296 regulator-max-microvolt = <1800000>;
297 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
298 };
299
300 pm8350c_l2: ldo2 {
301 regulator-name = "pm8350c_l2";
302 regulator-min-microvolt = <1800000>;
303 regulator-max-microvolt = <1800000>;
304 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
305 };
306
307 pm8350c_l3: ldo3 {
308 regulator-name = "pm8350c_l3";
309 regulator-min-microvolt = <3304000>;
310 regulator-max-microvolt = <3304000>;
311 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
312 };
313
314 pm8350c_l4: ldo4 {
315 regulator-name = "pm8350c_l4";
316 regulator-min-microvolt = <1704000>;
317 regulator-max-microvolt = <3000000>;
318 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
319 };
320
321 pm8350c_l5: ldo5 {
322 regulator-name = "pm8350c_l5";
323 regulator-min-microvolt = <1704000>;
324 regulator-max-microvolt = <3000000>;
325 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
326 };
327
328 pm8350c_l6: ldo6 {
329 regulator-name = "pm8350c_l6";
330 regulator-min-microvolt = <1800000>;
331 regulator-max-microvolt = <2960000>;
332 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
333 };
334
335 pm8350c_l7: ldo7 {
336 regulator-name = "pm8350c_l7";
337 regulator-min-microvolt = <3008000>;
338 regulator-max-microvolt = <3008000>;
339 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
340 };
341
342 pm8350c_l8: ldo8 {
343 regulator-name = "pm8350c_l8";
344 regulator-min-microvolt = <1800000>;
345 regulator-max-microvolt = <1800000>;
346 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
347 };
348
349 pm8350c_l9: ldo9 {
350 regulator-name = "pm8350c_l9";
351 regulator-min-microvolt = <2960000>;
352 /* Originally max = 3008000 but SDHCI expects 2960000 */
353 regulator-max-microvolt = <2960000>;
354 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
355 };
356
357 pm8350c_l10: ldo10 {
358 regulator-name = "pm8350c_l10";
359 regulator-min-microvolt = <1200000>;
360 regulator-max-microvolt = <1200000>;
361 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
362 };
363
364 pm8350c_l11: ldo11 {
365 regulator-name = "pm8350c_l11";
366 regulator-min-microvolt = <2400000>;
367 regulator-max-microvolt = <3008000>;
368 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
369 };
370
371 pm8350c_l12: ldo12 {
372 regulator-name = "pm8350c_l12";
373 regulator-min-microvolt = <1800000>;
374 regulator-max-microvolt = <2000000>;
375 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
376 };
377
378 pm8350c_l13: ldo13 {
379 regulator-name = "pm8350c_l13";
380 regulator-min-microvolt = <3000000>;
381 regulator-max-microvolt = <3000000>;
382 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
383 };
384
385 vreg_bob: bob {
386 regulator-name = "vreg_bob";
387 regulator-min-microvolt = <3400000>;
388 regulator-max-microvolt = <3960000>;
389 regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
390 };
391 };
392
393 /* TODO: Add pm8350b (just one ldo) once the driver part is in */
394
395 regulators-2 {
396 compatible = "qcom,pmr735a-rpmh-regulators";
397 qcom,pmic-id = "e";
398
399 vdd-s1-supply = <&vph_pwr>;
400 vdd-s2-supply = <&vph_pwr>;
401 vdd-s3-supply = <&vph_pwr>;
402
403 vdd-l1-l2-supply = <&pmr735a_s2>;
404 vdd-l3-supply = <&pmr735a_s1>;
405 vdd-l4-supply = <&pm8350c_s1>;
406 vdd-l5-l6-supply = <&pm8350c_s1>;
407 vdd-l7-bob-supply = <&vreg_bob>;
408
409 pmr735a_s1: smps1 {
410 regulator-name = "pmr735a_s1";
411 regulator-min-microvolt = <1200000>;
412 regulator-max-microvolt = <1280000>;
413 };
414
415 pmr735a_s2: smps2 {
416 regulator-name = "pmr735a_s2";
417 regulator-min-microvolt = <500000>;
418 regulator-max-microvolt = <976000>;
419 };
420
421 pmr735a_s3: smps3 {
422 regulator-name = "pmr735a_s3";
423 regulator-min-microvolt = <2208000>;
424 regulator-max-microvolt = <2352000>;
425 };
426
427 pmr735a_l1: ldo1 {
428 regulator-name = "pmr735a_l1";
429 regulator-min-microvolt = <912000>;
430 regulator-max-microvolt = <912000>;
431 };
432
433 pmr735a_l2: ldo2 {
434 regulator-name = "pmr735a_l2";
435 regulator-min-microvolt = <1200000>;
436 regulator-max-microvolt = <1200000>;
437 };
438
439 pmr735a_l3: ldo3 {
440 regulator-name = "pmr735a_l3";
441 regulator-min-microvolt = <1200000>;
442 regulator-max-microvolt = <1200000>;
443 };
444
445 pmr735a_l4: ldo4 {
446 regulator-name = "pmr735a_l4";
447 regulator-min-microvolt = <1776000>;
448 regulator-max-microvolt = <1872000>;
449 };
450
451 pmr735a_l5: ldo5 {
452 regulator-name = "pmr735a_l5";
453 regulator-min-microvolt = <800000>;
454 regulator-max-microvolt = <800000>;
455 };
456
457 pmr735a_l6: ldo6 {
458 regulator-name = "pmr735a_l6";
459 regulator-min-microvolt = <480000>;
460 regulator-max-microvolt = <904000>;
461 };
462
463 pmr735a_l7: ldo7 {
464 regulator-name = "pmr735a_l7";
465 regulator-min-microvolt = <2800000>;
466 regulator-max-microvolt = <2800000>;
467 };
468 };
469};
470
471&cdsp {
472 status = "okay";
473 firmware-name = "qcom/sm8350/Sony/sagami/cdsp.mbn";
474};
475
476&i2c1 {
477 status = "okay";
478 clock-frequency = <1000000>;
479
480 /* Some subset of SONY IMX663 camera sensor @ 38 */
481};
482
483&i2c4 {
484 status = "okay";
485 clock-frequency = <400000>;
486
487 /* Samsung Touchscreen (needs I2C GPI DMA) @ 48 */
488};
489
490&i2c11 {
491 status = "okay";
492 clock-frequency = <1000000>;
493
494 cs35l41_l: speaker-amp@40 {
495 compatible = "cirrus,cs35l41";
496 reg = <0x40>;
497 interrupt-parent = <&tlmm>;
498 interrupts = <36 IRQ_TYPE_LEVEL_LOW>;
499 reset-gpios = <&tlmm 37 GPIO_ACTIVE_HIGH>;
500 cirrus,boost-peak-milliamp = <4000>;
501 cirrus,boost-ind-nanohenry = <1000>;
502 cirrus,boost-cap-microfarad = <15>;
503 cirrus,asp-sdout-hiz = <3>;
504 cirrus,gpio2-src-select = <2>;
505 cirrus,gpio2-output-enable;
506 #sound-dai-cells = <1>;
507 };
508
509 cs35l41_r: speaker-amp@41 {
510 compatible = "cirrus,cs35l41";
511 reg = <0x41>;
512 interrupt-parent = <&tlmm>;
513 interrupts = <36 IRQ_TYPE_LEVEL_LOW>;
514 reset-gpios = <&tlmm 37 GPIO_ACTIVE_HIGH>;
515 cirrus,boost-peak-milliamp = <4000>;
516 cirrus,boost-ind-nanohenry = <1000>;
517 cirrus,boost-cap-microfarad = <15>;
518 cirrus,asp-sdout-hiz = <3>;
519 cirrus,gpio2-src-select = <2>;
520 cirrus,gpio2-output-enable;
521 #sound-dai-cells = <1>;
522 };
523};
524
525&i2c12 {
526 status = "okay";
527 /* Clock frequency was not specified downstream, let's park it to 100 KHz */
528 clock-frequency = <100000>;
529
530 /* AMS TCS3490 RGB+IR color sensor @ 72 */
531};
532
533&i2c13 {
534 status = "okay";
535 /* Clock frequency was not specified downstream, let's park it to 100 KHz */
536 clock-frequency = <100000>;
537
538 /* Qualcomm PM8008i/PM8008j (?) @ 8, 9, c, d */
539};
540
541&i2c15 {
542 status = "okay";
543 clock-frequency = <400000>;
544
545 /* NXP SN1X0 NFC @ 28 */
546};
547
548&i2c17 {
549 status = "okay";
550 clock-frequency = <1000000>;
551
552 /* Cirrus Logic CS40L25A boosted haptics driver @ 40 */
553};
554
555&ipa {
556 qcom,gsi-loader = "self";
557 memory-region = <&pil_ipa_fw_mem>;
558 firmware-name = "qcom/sm8350/Sony/sagami/ipa_fws.mbn";
559 status = "okay";
560};
561
562&mpss {
563 status = "okay";
564 firmware-name = "qcom/sm8350/Sony/sagami/modem.mbn";
565};
566
567&pm8350_gpios {
568 gpio-line-names = "ASSIGN1_THERM", /* GPIO_1 */
569 "LCD_ID",
570 "SDR_MMW_THERM",
571 "RF_ID",
572 "NC",
573 "FP_LDO_EN",
574 "SP_ARI_PWR_ALARM",
575 "NC",
576 "G_ASSIST_N",
577 "PM8350_OPTION"; /* GPIO_10 */
578
579 g_assist_n: g-assist-n-state {
580 pins = "gpio9";
581 function = "normal";
582 power-source = <1>;
583 bias-pull-up;
584 input-enable;
585 };
586};
587
588&pm8350b_gpios {
589 snapshot_n: snapshot-n-state {
590 pins = "gpio5";
591 function = "normal";
592 power-source = <0>;
593 bias-pull-up;
594 input-enable;
595 };
596
597 focus_n: focus-n-state {
598 pins = "gpio8";
599 function = "normal";
600 power-source = <0>;
601 input-enable;
602 bias-pull-up;
603 };
604};
605
606&pmk8350_gpios {
607 gpio-line-names = "NC", /* GPIO_1 */
608 "NC",
609 "VOL_DOWN_N",
610 "PMK8350_OPTION";
611
612 vol_down_n: vol-down-n-state {
613 pins = "gpio3";
614 function = "normal";
615 power-source = <0>;
616 bias-pull-up;
617 input-enable;
618 };
619};
620
621&pmk8350_rtc {
622 status = "okay";
623};
624
625&pon_pwrkey {
626 status = "okay";
627};
628
629&pon_resin {
630 status = "okay";
631 linux,code = <KEY_VOLUMEUP>;
632};
633
634&qupv3_id_0 {
635 status = "okay";
636};
637
638&qupv3_id_1 {
639 status = "okay";
640};
641
642&qupv3_id_2 {
643 status = "okay";
644};
645
646&sdhc_2 {
647 cd-gpios = <&tlmm 92 GPIO_ACTIVE_HIGH>;
648 pinctrl-names = "default", "sleep";
649 pinctrl-0 = <&sdc2_default_state &sdc2_card_det_active>;
650 pinctrl-1 = <&sdc2_sleep_state &sdc2_card_det_sleep>;
651 vmmc-supply = <&pm8350c_l9>;
652 vqmmc-supply = <&pm8350c_l6>;
653 no-sdio;
654 no-mmc;
655 status = "okay";
656};
657
658&slpi {
659 status = "okay";
660 firmware-name = "qcom/sm8350/Sony/sagami/slpi.mbn";
661};
662
663&spi14 {
664 status = "okay";
665
666 /* NXP SN1X0 NFC Secure Element @ 0 */
667};
668
669&tlmm {
670 gpio-reserved-ranges = <44 4>;
671 gpio-line-names = "APPS_I2C_0_SDA", /* GPIO_0 */
672 "APPS_I2C_0_SCL",
673 "UWIDEC_PWR_EN",
674 "HAP_RST_N",
675 "NC",
676 "NC",
677 "PM8008_1_RESET_N",
678 "NC",
679 "OIS_TELE_I2C_SDA",
680 "OIS_TELE_I2C_SCL",
681 "PM8350_OPTION", /* GPIO_10 */
682 "NC",
683 "APPS_I2C_1_SDA",
684 "APPS_I2C_1_SCL",
685 "NC",
686 "NC",
687 "CAM1_RESET_N",
688 "LEO_CAM0_RESET_N",
689 "DEBUG_UART_TX",
690 "DEBUG_UART_RX",
691 "TS_I2C_SDA", /* GPIO_20 */
692 "TS_I2C_SCL",
693 "TS_RESET_N",
694 "TS_INT_N",
695 "DISP_RESET_N",
696 "SW_SERVICE",
697 "DISP_ERR_FG",
698 "TX_GTR_THRES_IN",
699 "NC",
700 "NC",
701 "NC", /* GPIO_30 */
702 "NC",
703 "NC",
704 "NC",
705 "NC",
706 "NC",
707 "SPK_AMP_INT_N",
708 "SPK_AMP_RESET_N",
709 "FP_INT_N",
710 "FP_RESET_N",
711 "NC", /* GPIO_40 */
712 "NC",
713 "DEBUG_GPIO0",
714 "FORCE_USB_BOOT",
715 "FP_SPI_MISO",
716 "FP_SPI_MOSI",
717 "FP_SPI_CLK",
718 "FP_SPI_CS_N",
719 "SPK_AMP_I2C_SDA",
720 "SPK_AMP_I2C_SCL",
721 "NC", /* GPIO_50 */
722 "HAP_INT_N",
723 "CAMSENSOR_I2C_SDA",
724 "CAMSENSOR_I2C_SCL",
725 "SBU_SW_OE",
726 "SBU_SW_SEL",
727 "NFC_ESE_SPI_MISO",
728 "NFC_ESE_SPI_MOSI",
729 "NFC_ESE_SPI_CLK",
730 "NFC_ESE_SPI_CS",
731 "NFC_I2C_SDA", /* GPIO_60 */
732 "NFC_I2C_SCL",
733 "NFC_EN",
734 "NFC_CLK_REQ",
735 "HST_WLAN_EN",
736 "HST_BT_EN",
737 "HW_ID_0",
738 "HW_ID_1",
739 "HST_BT_UART_CTS",
740 "HST_BT_UART_RFR",
741 "HST_BT_UART_TX", /* GPIO_70 */
742 "HST_BT_UART_RX",
743 "HAP_I2C_SDA",
744 "HAP_I2C_SCL",
745 "RF_LCD_ID_EN",
746 "RF_ID_EXTENSION",
747 "NC",
748 "NC",
749 "NC",
750 "NC",
751 "HALL_INT_N", /* GPIO_80 */
752 "USB_CC_DIR",
753 "DISP_VSYNC",
754 "NC",
755 "NC",
756 "CAM_SOF_TELE",
757 "NFC_DWL_REQ",
758 "NFC_IRQ",
759 "WCD_RST_N",
760 "ALS_PROX_INT_N",
761 "NC", /* GPIO_90 */
762 "NC",
763 "TRAY_DET",
764 "UDON_SWITCH_SEL",
765 "PCIE0_RESET_N",
766 "PCIE0_CLK_REQ_N",
767 "PCIE0_WAKE_N",
768 "CAM_SOF",
769 "RF_ID_EXTENSION_2",
770 "RGBC_IR_INT",
771 "CAM_MCLK0", /* GPIO_100 */
772 "CAM_MCLK1",
773 "CAM_MCLK2",
774 "CAM_MCLK3",
775 "NC",
776 "NC",
777 "CAM2_RESET_N",
778 "CCI_I2C0_SDA",
779 "CCI_I2C0_SCL",
780 "CCI_I2C1_SDA",
781 "CCI_I2C1_SCL", /* GPIO_110 */
782 "CCI_I2C2_SDA",
783 "CCI_I2C2_SCL",
784 "CCI_I2C3_SDA",
785 "CCI_I2C3_SCL",
786 "NC",
787 "PM8008_1_IRQ",
788 "CAM3_RESET_N",
789 "IMU1_INT",
790 "EXT_VD0_XVS",
791 "NC", /* GPIO_120 */
792 "NC",
793 "NC",
794 "NC",
795 "NC",
796 "HAP_I2S_CLK",
797 "HAP_I2S_DOUT",
798 "HAP_TRG1",
799 "HAP_I2S_SYNC",
800 "HST_BT_WLAN_SLIMBUS_CLK",
801 "HST_BT_WLAN_SLIMBUS_DAT0", /* GPIO_130 */
802 "NC",
803 "UIM2_DETECT_EN",
804 "UIM2_DATA",
805 "UIM2_CLK",
806 "UIM2_RESET",
807 "UIM2_PRESENT",
808 "UIM1_DATA",
809 "UIM1_CLK",
810 "UIM1_RESET",
811 "TRAY_DET", /* GPIO_140 */
812 "SM_RFFE0_CLK",
813 "SM_RFFE0_DATA",
814 "SM_RFFE1_CLK",
815 "SM_RFFE1_DATA",
816 "SM_MSS_GRFC4",
817 "SM_MSS_GRFC5",
818 "SM_MSS_GRFC6",
819 "SM_MSS_GRFC7",
820 "SM_RFFE4_CLK",
821 "SM_RFFE4_DATA", /* GPIO_150 */
822 "WLAN_COEX_UART1_RX",
823 "WLAN_COEX_UART1_TX",
824 "HST_SW_CTRL",
825 "DISP_VDDR_EN",
826 "NC",
827 "NC",
828 "PA_INDICATOR_OR",
829 "NC",
830 "QLINK0_REQ",
831 "QLINK0_EN", /* GPIO_160 */
832 "QLINK0_WMSS_RESET_N",
833 "NC",
834 "NC",
835 "NC",
836 "PM8008_2_IRQ",
837 "TELEC_PWR_EN",
838 "PM8008_2_RESET_N",
839 "WCD_SWR_TX_CLK",
840 "WCD_SWR_TX_DATA0",
841 "WCD_SWR_TX_DATA1", /* GPIO_170 */
842 "WCD_SWR_RX_CLK",
843 "WCD_SWR_RX_DATA0",
844 "WCD_SWR_RX_DATA1",
845 "SM_DMIC1_CLK",
846 "SM_DMIC1_DATA",
847 "SM_DMIC2_CLK",
848 "SM_DMIC2_DATA",
849 "SPK_AMP_I2S_CLK",
850 "SPK_AMP_I2S_WS",
851 "SPK_AMP_I2S_ASP_DIN", /* GPIO_180 */
852 "SPK_AMP_I2S_ASP_DOUT",
853 "WCD_SWR_TX_DATA2",
854 "NC",
855 "NC",
856 "NC",
857 "NC",
858 "IMU_SPI_MISO",
859 "IMU_SPI_MOSI",
860 "IMU_SPI_CLK",
861 "IMU_SPI_CS_N", /* GPIO_190 */
862 "MAG_I2C_SDA",
863 "MAG_I2C_SCL",
864 "SENSOR_I2C_SDA",
865 "SENSOR_I2C_SCL",
866 "NC",
867 "NC",
868 "NC",
869 "NC",
870 "HST_BLE_UART_TX",
871 "HST_BLE_UART_RX", /* GPIO_200 */
872 "HST_WLAN_UART_TX",
873 "HST_WLAN_UART_RX";
874
875 ts_int_default: ts-int-default-state {
876 pins = "gpio23";
877 function = "gpio";
878 drive-strength = <2>;
879 bias-disable;
880 };
881
882 sdc2_card_det_active: sd-card-det-active-state {
883 pins = "gpio92";
884 function = "gpio";
885 drive-strength = <2>;
886 bias-pull-up;
887 };
888
889 sdc2_card_det_sleep: sd-card-det-sleep-state {
890 pins = "gpio92";
891 function = "gpio";
892 drive-strength = <2>;
893 bias-disable;
894 };
895};
896
897/* BIG WARNING! DO NOT TOUCH UFS, YOUR DEVICE WILL DIE! */
898&ufs_mem_hc { status = "disabled"; };
899&ufs_mem_phy { status = "disabled"; };
900
901&usb_1 {
902 status = "okay";
903};
904
905&usb_1_dwc3 {
906 dr_mode = "peripheral";
907};
908
909&usb_1_hsphy {
910 status = "okay";
911
912 vdda-pll-supply = <&pm8350_l5>;
913 vdda18-supply = <&pm8350c_l1>;
914 vdda33-supply = <&pm8350_l2>;
915};
916
917&usb_1_qmpphy {
918 status = "okay";
919
920 vdda-phy-supply = <&pm8350_l6>;
921 vdda-pll-supply = <&pm8350_l1>;
922};