Linux 6.9-rc1
[linux-2.6-microblaze.git] / arch / arm64 / boot / dts / qcom / sm8250-mtp.dts
1 // SPDX-License-Identifier: BSD-3-Clause
2 /*
3  * Copyright (c) 2020, The Linux Foundation. All rights reserved.
4  */
5
6 /dts-v1/;
7
8 #include <dt-bindings/regulator/qcom,rpmh-regulator.h>
9 #include <dt-bindings/sound/qcom,q6afe.h>
10 #include <dt-bindings/sound/qcom,q6asm.h>
11 #include <dt-bindings/gpio/gpio.h>
12 #include "sm8250.dtsi"
13 #include "pm8150.dtsi"
14 #include "pm8150b.dtsi"
15 #include "pm8150l.dtsi"
16 #include "pm8009.dtsi"
17
18 / {
19         model = "Qualcomm Technologies, Inc. SM8250 MTP";
20         compatible = "qcom,sm8250-mtp", "qcom,sm8250";
21         chassis-type = "handset";
22
23         aliases {
24                 serial0 = &uart12;
25         };
26
27         wcd938x: audio-codec {
28                 compatible = "qcom,wcd9380-codec";
29
30                 reset-gpios = <&tlmm 32 GPIO_ACTIVE_LOW>;
31
32                 vdd-buck-supply = <&vreg_s4a_1p8>;
33                 vdd-rxtx-supply = <&vreg_s4a_1p8>;
34                 vdd-io-supply = <&vreg_s4a_1p8>;
35                 vdd-mic-bias-supply = <&vreg_bob>;
36
37                 qcom,micbias1-microvolt = <1800000>;
38                 qcom,micbias2-microvolt = <1800000>;
39                 qcom,micbias3-microvolt = <1800000>;
40                 qcom,micbias4-microvolt = <1800000>;
41                 qcom,mbhc-buttons-vthreshold-microvolt = <75000 150000 237000 500000 500000 500000 500000 500000>;
42                 qcom,mbhc-headset-vthreshold-microvolt = <1700000>;
43                 qcom,mbhc-headphone-vthreshold-microvolt = <50000>;
44                 qcom,rx-device = <&wcd_rx>;
45                 qcom,tx-device = <&wcd_tx>;
46
47                 #sound-dai-cells = <1>;
48         };
49
50         chosen {
51                 stdout-path = "serial0:115200n8";
52         };
53
54         thermal-zones {
55                 camera-thermal {
56                         polling-delay-passive = <0>;
57                         polling-delay = <0>;
58                         thermal-sensors = <&pm8150l_adc_tm 0>;
59
60                         trips {
61                                 active-config0 {
62                                         temperature = <125000>;
63                                         hysteresis = <1000>;
64                                         type = "passive";
65                                 };
66                         };
67                 };
68
69                 conn-thermal {
70                         polling-delay-passive = <0>;
71                         polling-delay = <0>;
72                         thermal-sensors = <&pm8150b_adc_tm 0>;
73
74                         trips {
75                                 active-config0 {
76                                         temperature = <125000>;
77                                         hysteresis = <1000>;
78                                         type = "passive";
79                                 };
80                         };
81                 };
82
83                 mmw-pa1-thermal {
84                         polling-delay-passive = <0>;
85                         polling-delay = <0>;
86                         thermal-sensors = <&pm8150_adc_tm 2>;
87
88                         trips {
89                                 active-config0 {
90                                         temperature = <125000>;
91                                         hysteresis = <1000>;
92                                         type = "passive";
93                                 };
94                         };
95                 };
96
97                 mmw-pa2-thermal {
98                         polling-delay-passive = <0>;
99                         polling-delay = <0>;
100                         thermal-sensors = <&pm8150l_adc_tm 2>;
101
102                         trips {
103                                 active-config0 {
104                                         temperature = <125000>;
105                                         hysteresis = <1000>;
106                                         type = "passive";
107                                 };
108                         };
109                 };
110
111                 skin-msm-thermal {
112                         polling-delay-passive = <0>;
113                         polling-delay = <0>;
114                         thermal-sensors = <&pm8150l_adc_tm 1>;
115
116                         trips {
117                                 active-config0 {
118                                         temperature = <125000>;
119                                         hysteresis = <1000>;
120                                         type = "passive";
121                                 };
122                         };
123                 };
124
125                 skin-thermal {
126                         polling-delay-passive = <0>;
127                         polling-delay = <0>;
128                         thermal-sensors = <&pm8150_adc_tm 1>;
129
130                         trips {
131                                 active-config0 {
132                                         temperature = <125000>;
133                                         hysteresis = <1000>;
134                                         type = "passive";
135                                 };
136                         };
137                 };
138
139                 xo-thermal {
140                         polling-delay-passive = <0>;
141                         polling-delay = <0>;
142                         thermal-sensors = <&pm8150_adc_tm 0>;
143
144                         trips {
145                                 active-config0 {
146                                         temperature = <125000>;
147                                         hysteresis = <1000>;
148                                         type = "passive";
149                                 };
150                         };
151                 };
152         };
153
154         vph_pwr: vph-pwr-regulator {
155                 compatible = "regulator-fixed";
156                 regulator-name = "vph_pwr";
157                 regulator-min-microvolt = <3700000>;
158                 regulator-max-microvolt = <3700000>;
159         };
160
161         vreg_s4a_1p8: pm8150-s4 {
162                 compatible = "regulator-fixed";
163                 regulator-name = "vreg_s4a_1p8";
164
165                 regulator-min-microvolt = <1800000>;
166                 regulator-max-microvolt = <1800000>;
167
168                 regulator-always-on;
169                 regulator-boot-on;
170
171                 vin-supply = <&vph_pwr>;
172         };
173
174         vreg_s6c_0p88: smpc6-regulator {
175                 compatible = "regulator-fixed";
176                 regulator-name = "vreg_s6c_0p88";
177
178                 regulator-min-microvolt = <880000>;
179                 regulator-max-microvolt = <880000>;
180                 regulator-always-on;
181                 vin-supply = <&vph_pwr>;
182         };
183 };
184
185 &adsp {
186         status = "okay";
187         firmware-name = "qcom/sm8250/adsp.mbn";
188 };
189
190 &apps_rsc {
191         regulators-0 {
192                 compatible = "qcom,pm8150-rpmh-regulators";
193                 qcom,pmic-id = "a";
194
195                 vdd-s1-supply = <&vph_pwr>;
196                 vdd-s2-supply = <&vph_pwr>;
197                 vdd-s3-supply = <&vph_pwr>;
198                 vdd-s4-supply = <&vph_pwr>;
199                 vdd-s5-supply = <&vph_pwr>;
200                 vdd-s6-supply = <&vph_pwr>;
201                 vdd-s7-supply = <&vph_pwr>;
202                 vdd-s8-supply = <&vph_pwr>;
203                 vdd-s9-supply = <&vph_pwr>;
204                 vdd-s10-supply = <&vph_pwr>;
205                 vdd-l1-l8-l11-supply = <&vreg_s6c_0p88>;
206                 vdd-l2-l10-supply = <&vreg_bob>;
207                 vdd-l3-l4-l5-l18-supply = <&vreg_s6a_0p95>;
208                 vdd-l6-l9-supply = <&vreg_s8c_1p3>;
209                 vdd-l7-l12-l14-l15-supply = <&vreg_s5a_1p9>;
210                 vdd-l13-l16-l17-supply = <&vreg_bob>;
211
212                 vreg_s5a_1p9: smps5 {
213                         regulator-name = "vreg_s5a_1p9";
214                         regulator-min-microvolt = <1904000>;
215                         regulator-max-microvolt = <2000000>;
216                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
217                 };
218
219                 vreg_s6a_0p95: smps6 {
220                         regulator-name = "vreg_s6a_0p95";
221                         regulator-min-microvolt = <920000>;
222                         regulator-max-microvolt = <1128000>;
223                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
224                 };
225
226                 vreg_l2a_3p1: ldo2 {
227                         regulator-name = "vreg_l2a_3p1";
228                         regulator-min-microvolt = <3072000>;
229                         regulator-max-microvolt = <3072000>;
230                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
231                 };
232
233                 vreg_l3a_0p9: ldo3 {
234                         regulator-name = "vreg_l3a_0p9";
235                         regulator-min-microvolt = <928000>;
236                         regulator-max-microvolt = <932000>;
237                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
238                 };
239
240                 vreg_l5a_0p875: ldo5 {
241                         regulator-name = "vreg_l5a_0p875";
242                         regulator-min-microvolt = <880000>;
243                         regulator-max-microvolt = <880000>;
244                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
245                 };
246
247                 vreg_l6a_1p2: ldo6 {
248                         regulator-name = "vreg_l6a_1p2";
249                         regulator-min-microvolt = <1200000>;
250                         regulator-max-microvolt = <1200000>;
251                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
252                 };
253
254                 vreg_l7a_1p7: ldo7 {
255                         regulator-name = "vreg_l7a_1p7";
256                         regulator-min-microvolt = <1704000>;
257                         regulator-max-microvolt = <1800000>;
258                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
259                 };
260
261                 vreg_l9a_1p2: ldo9 {
262                         regulator-name = "vreg_l9a_1p2";
263                         regulator-min-microvolt = <1200000>;
264                         regulator-max-microvolt = <1200000>;
265                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
266                 };
267
268                 vreg_l10a_1p8: ldo10 {
269                         regulator-name = "vreg_l10a_1p8";
270                         regulator-min-microvolt = <1800000>;
271                         regulator-max-microvolt = <1800000>;
272                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
273                 };
274
275                 vreg_l12a_1p8: ldo12 {
276                         regulator-name = "vreg_l12a_1p8";
277                         regulator-min-microvolt = <1800000>;
278                         regulator-max-microvolt = <1800000>;
279                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
280                 };
281
282                 vreg_l13a_ts_3p0: ldo13 {
283                         regulator-name = "vreg_l13a_ts_3p0";
284                         regulator-min-microvolt = <3008000>;
285                         regulator-max-microvolt = <3008000>;
286                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
287                 };
288
289                 vreg_l14a_1p8: ldo14 {
290                         regulator-name = "vreg_l14a_1p8";
291                         regulator-min-microvolt = <1800000>;
292                         regulator-max-microvolt = <1880000>;
293                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
294                 };
295
296                 vreg_l15a_11ad_io_1p8: ldo15 {
297                         regulator-name = "vreg_l15a_11ad_io_1p8";
298                         regulator-min-microvolt = <1800000>;
299                         regulator-max-microvolt = <1800000>;
300                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
301                 };
302
303                 vreg_l16a_2p7: ldo16 {
304                         regulator-name = "vreg_l16a_2p7";
305                         regulator-min-microvolt = <2704000>;
306                         regulator-max-microvolt = <2960000>;
307                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
308                 };
309
310                 vreg_l17a_3p0: ldo17 {
311                         regulator-name = "vreg_l17a_3p0";
312                         regulator-min-microvolt = <2856000>;
313                         regulator-max-microvolt = <3008000>;
314                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
315                 };
316
317                 vreg_l18a_0p9: ldo18 {
318                         regulator-name = "vreg_l18a_0p9";
319                         regulator-min-microvolt = <912000>;
320                         regulator-max-microvolt = <912000>;
321                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
322                 };
323         };
324
325         regulators-1 {
326                 compatible = "qcom,pm8150l-rpmh-regulators";
327                 qcom,pmic-id = "c";
328
329                 vdd-s1-supply = <&vph_pwr>;
330                 vdd-s2-supply = <&vph_pwr>;
331                 vdd-s3-supply = <&vph_pwr>;
332                 vdd-s4-supply = <&vph_pwr>;
333                 vdd-s5-supply = <&vph_pwr>;
334                 vdd-s6-supply = <&vph_pwr>;
335                 vdd-s7-supply = <&vph_pwr>;
336                 vdd-s8-supply = <&vph_pwr>;
337                 vdd-l1-l8-supply = <&vreg_s4a_1p8>;
338                 vdd-l2-l3-supply = <&vreg_s8c_1p3>;
339                 vdd-l4-l5-l6-supply = <&vreg_bob>;
340                 vdd-l7-l11-supply = <&vreg_bob>;
341                 vdd-l9-l10-supply = <&vreg_bob>;
342                 vdd-bob-supply = <&vph_pwr>;
343
344                 vreg_bob: bob {
345                         regulator-name = "vreg_bob";
346                         regulator-min-microvolt = <3008000>;
347                         regulator-max-microvolt = <4000000>;
348                         regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
349                 };
350
351                 vreg_s8c_1p3: smps8 {
352                         regulator-name = "vreg_s8c_1p3";
353                         regulator-min-microvolt = <1352000>;
354                         regulator-max-microvolt = <1352000>;
355                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
356                 };
357
358                 vreg_l1c_1p8: ldo1 {
359                         regulator-name = "vreg_l1c_1p8";
360                         regulator-min-microvolt = <1800000>;
361                         regulator-max-microvolt = <1800000>;
362                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
363                 };
364
365                 vreg_l2c_1p2: ldo2 {
366                         regulator-name = "vreg_l2c_1p2";
367                         regulator-min-microvolt = <1200000>;
368                         regulator-max-microvolt = <1200000>;
369                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
370                 };
371
372                 vreg_l3c_0p92: ldo3 {
373                         regulator-name = "vreg_l3c_0p92";
374                         regulator-min-microvolt = <920000>;
375                         regulator-max-microvolt = <920000>;
376                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
377                 };
378
379                 vreg_l4c_1p7: ldo4 {
380                         regulator-name = "vreg_l4c_1p7";
381                         regulator-min-microvolt = <1704000>;
382                         regulator-max-microvolt = <2928000>;
383                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
384                 };
385
386                 vreg_l5c_1p8: ldo5 {
387                         regulator-name = "vreg_l5c_1p8";
388                         regulator-min-microvolt = <1800000>;
389                         regulator-max-microvolt = <2928000>;
390                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
391                 };
392
393                 vreg_l6c_2p9: ldo6 {
394                         regulator-name = "vreg_l6c_2p9";
395                         regulator-min-microvolt = <1800000>;
396                         regulator-max-microvolt = <2960000>;
397                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
398                 };
399
400                 vreg_l7c_cam_vcm0_2p85: ldo7 {
401                         regulator-name = "vreg_l7c_cam_vcm0_2p85";
402                         regulator-min-microvolt = <2856000>;
403                         regulator-max-microvolt = <3104000>;
404                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
405                 };
406
407                 vreg_l8c_1p8: ldo8 {
408                         regulator-name = "vreg_l8c_1p8";
409                         regulator-min-microvolt = <1800000>;
410                         regulator-max-microvolt = <1800000>;
411                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
412                 };
413
414                 vreg_l9c_2p9: ldo9 {
415                         regulator-name = "vreg_l9c_2p9";
416                         regulator-min-microvolt = <2704000>;
417                         regulator-max-microvolt = <2960000>;
418                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
419                 };
420
421                 vreg_l10c_3p0: ldo10 {
422                         regulator-name = "vreg_l10c_3p0";
423                         regulator-min-microvolt = <3000000>;
424                         regulator-max-microvolt = <3000000>;
425                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
426                 };
427
428                 vreg_l11c_3p3: ldo11 {
429                         regulator-name = "vreg_l11c_3p3";
430                         regulator-min-microvolt = <3000000>;
431                         regulator-max-microvolt = <3312000>;
432                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
433                 };
434         };
435
436         regulators-2 {
437                 compatible = "qcom,pm8009-rpmh-regulators";
438                 qcom,pmic-id = "f";
439
440                 vdd-s1-supply = <&vph_pwr>;
441                 vdd-s2-supply = <&vreg_bob>;
442                 vdd-l2-supply = <&vreg_s8c_1p3>;
443                 vdd-l5-l6-supply = <&vreg_bob>;
444                 vdd-l7-supply = <&vreg_s4a_1p8>;
445
446                 vreg_l1f_cam_dvdd1_1p1: ldo1 {
447                         regulator-name = "vreg_l1f_cam_dvdd1_1p1";
448                         regulator-min-microvolt = <1104000>;
449                         regulator-max-microvolt = <1104000>;
450                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
451                 };
452
453                 vreg_l2f_cam_dvdd0_1p2: ldo2 {
454                         regulator-name = "vreg_l2f_cam_dvdd0_1p2";
455                         regulator-min-microvolt = <1200000>;
456                         regulator-max-microvolt = <1200000>;
457                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
458                 };
459
460                 vreg_l3f_cam_dvdd2_1p05: ldo3 {
461                         regulator-name = "vreg_l3f_cam_dvdd2_1p05";
462                         regulator-min-microvolt = <1056000>;
463                         regulator-max-microvolt = <1056000>;
464                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
465                 };
466
467                 vreg_l5f_cam_avdd0_2p85: ldo5 {
468                         regulator-name = "vreg_l5f_cam_avdd0_2p85";
469                         regulator-min-microvolt = <2800000>;
470                         regulator-max-microvolt = <2800000>;
471                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
472                 };
473
474                 vreg_l6f_cam_avdd1_2p85: ldo6 {
475                         regulator-name = "vreg_l6f_cam_avdd1_2p85";
476                         regulator-min-microvolt = <2856000>;
477                         regulator-max-microvolt = <2856000>;
478                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
479                 };
480
481                 vreg_l7f_1p8: ldo7 {
482                         regulator-name = "vreg_l7f_1p8";
483                         regulator-min-microvolt = <1800000>;
484                         regulator-max-microvolt = <1800000>;
485                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
486                 };
487         };
488 };
489
490 &cdsp {
491         status = "okay";
492         firmware-name = "qcom/sm8250/cdsp.mbn";
493 };
494
495 &gmu {
496         status = "okay";
497 };
498
499 &gpu {
500         status = "okay";
501
502         zap-shader {
503                 memory-region = <&gpu_mem>;
504                 firmware-name = "qcom/sm8250/a650_zap.mbn";
505         };
506 };
507
508 &i2c1 {
509         status = "okay";
510         clock-frequency = <1000000>;
511
512         /* NQ NFC chip @28 */
513 };
514
515 &i2c13 {
516         status = "okay";
517
518         /* st,stmfts @ 49 */
519 };
520
521 &i2c15 {
522         status = "okay";
523
524         /* smb1390 @ 10 */
525         /* rtc6226 @ 64 */
526 };
527
528 &pm8150_adc {
529         channel@4c {
530                 reg = <ADC5_XO_THERM_100K_PU>;
531                 qcom,ratiometric;
532                 qcom,hw-settle-time = <200>;
533                 label = "xo_therm";
534         };
535
536         channel@4d {
537                 reg = <ADC5_AMUX_THM1_100K_PU>;
538                 qcom,ratiometric;
539                 qcom,hw-settle-time = <200>;
540                 label = "skin_therm";
541         };
542
543         channel@4e {
544                 reg = <ADC5_AMUX_THM2_100K_PU>;
545                 qcom,ratiometric;
546                 qcom,hw-settle-time = <200>;
547                 label = "pa_therm1";
548         };
549 };
550
551 &pm8150_adc_tm {
552         status = "okay";
553
554         xo-therm@0 {
555                 reg = <0>;
556                 io-channels = <&pm8150_adc ADC5_XO_THERM_100K_PU>;
557                 qcom,ratiometric;
558                 qcom,hw-settle-time-us = <200>;
559         };
560
561         skin-therm@1 {
562                 reg = <1>;
563                 io-channels = <&pm8150_adc ADC5_AMUX_THM1_100K_PU>;
564                 qcom,ratiometric;
565                 qcom,hw-settle-time-us = <200>;
566         };
567
568         pa-therm1@2 {
569                 reg = <2>;
570                 io-channels = <&pm8150_adc ADC5_AMUX_THM2_100K_PU>;
571                 qcom,ratiometric;
572                 qcom,hw-settle-time-us = <200>;
573         };
574 };
575
576 &pm8150b_adc {
577         channel@4f {
578                 reg = <ADC5_AMUX_THM3_100K_PU>;
579                 qcom,ratiometric;
580                 qcom,hw-settle-time = <200>;
581                 label = "conn_therm";
582         };
583 };
584
585 &pm8150b_adc_tm {
586         status = "okay";
587
588         conn-therm@0 {
589                 reg = <0>;
590                 io-channels = <&pm8150b_adc ADC5_AMUX_THM3_100K_PU>;
591                 qcom,ratiometric;
592                 qcom,hw-settle-time-us = <200>;
593         };
594 };
595
596 &pm8150l_adc_tm {
597         status = "okay";
598
599         camera-flash-therm@0 {
600                 reg = <0>;
601                 io-channels = <&pm8150l_adc ADC5_AMUX_THM1_100K_PU>;
602                 qcom,ratiometric;
603                 qcom,hw-settle-time-us = <200>;
604         };
605
606         skin-msm-therm@1 {
607                 reg = <1>;
608                 io-channels = <&pm8150l_adc ADC5_AMUX_THM2_100K_PU>;
609                 qcom,ratiometric;
610                 qcom,hw-settle-time-us = <200>;
611         };
612
613         pa-therm2@2 {
614                 reg = <2>;
615                 io-channels = <&pm8150l_adc ADC5_AMUX_THM3_100K_PU>;
616                 qcom,ratiometric;
617                 qcom,hw-settle-time-us = <200>;
618         };
619 };
620
621 &pm8150l_adc {
622         channel@4d {
623                 reg = <ADC5_AMUX_THM1_100K_PU>;
624                 qcom,ratiometric;
625                 qcom,hw-settle-time = <200>;
626                 label = "camera_flash_therm";
627         };
628
629         channel@4e {
630                 reg = <ADC5_AMUX_THM2_100K_PU>;
631                 qcom,ratiometric;
632                 qcom,hw-settle-time = <200>;
633                 label = "skin_msm_therm";
634         };
635
636         channel@4f {
637                 reg = <ADC5_AMUX_THM3_100K_PU>;
638                 qcom,ratiometric;
639                 qcom,hw-settle-time = <200>;
640                 label = "pa_therm2";
641         };
642 };
643
644 &qupv3_id_0 {
645         status = "okay";
646 };
647
648 &qupv3_id_1 {
649         status = "okay";
650 };
651
652 &qupv3_id_2 {
653         status = "okay";
654 };
655
656 &rxmacro {
657         status = "okay";
658 };
659
660 &slpi {
661         status = "okay";
662         firmware-name = "qcom/sm8250/slpi.mbn";
663 };
664
665 &sound {
666         compatible = "qcom,sm8250-sndcard";
667         model = "SM8250-MTP-WCD9380-WSA8810-VA-DMIC";
668         audio-routing =
669                 "SpkrLeft IN", "WSA_SPK1 OUT",
670                 "SpkrRight IN", "WSA_SPK2 OUT",
671                 "IN1_HPHL", "HPHL_OUT",
672                 "IN2_HPHR", "HPHR_OUT",
673                 "AMIC1", "MIC BIAS1",
674                 "AMIC2", "MIC BIAS2",
675                 "AMIC3", "MIC BIAS3",
676                 "AMIC4", "MIC BIAS3",
677                 "AMIC5", "MIC BIAS4",
678                 "TX SWR_ADC0", "ADC1_OUTPUT",
679                 "TX SWR_ADC1", "ADC2_OUTPUT",
680                 "TX SWR_ADC2", "ADC3_OUTPUT",
681                 "TX SWR_ADC3", "ADC4_OUTPUT",
682                 "TX SWR_DMIC0", "DMIC1_OUTPUT",
683                 "TX SWR_DMIC1", "DMIC2_OUTPUT",
684                 "TX SWR_DMIC2", "DMIC3_OUTPUT",
685                 "TX SWR_DMIC3", "DMIC4_OUTPUT",
686                 "TX SWR_DMIC4", "DMIC5_OUTPUT",
687                 "TX SWR_DMIC5", "DMIC6_OUTPUT",
688                 "TX SWR_DMIC6", "DMIC7_OUTPUT",
689                 "TX SWR_DMIC7", "DMIC8_OUTPUT";
690
691         mm1-dai-link {
692                 link-name = "MultiMedia1";
693                 cpu {
694                         sound-dai = <&q6asmdai  MSM_FRONTEND_DAI_MULTIMEDIA1>;
695                 };
696         };
697
698         mm2-dai-link {
699                 link-name = "MultiMedia2";
700                 cpu {
701                         sound-dai = <&q6asmdai  MSM_FRONTEND_DAI_MULTIMEDIA2>;
702                 };
703         };
704
705         mm3-dai-link {
706                 link-name = "MultiMedia3";
707                 cpu {
708                         sound-dai = <&q6asmdai  MSM_FRONTEND_DAI_MULTIMEDIA3>;
709                 };
710         };
711
712         wcd-playback-dai-link {
713                 link-name = "WCD Playback";
714                 cpu {
715                         sound-dai = <&q6afedai RX_CODEC_DMA_RX_0>;
716                 };
717                 codec {
718                         sound-dai = <&wcd938x 0>, <&swr1 0>, <&rxmacro 0>;
719                 };
720                 platform {
721                         sound-dai = <&q6routing>;
722                 };
723         };
724
725         wcd-capture-dai-link {
726                 link-name = "WCD Capture";
727                 cpu {
728                         sound-dai = <&q6afedai TX_CODEC_DMA_TX_3>;
729                 };
730
731                 codec {
732                         sound-dai = <&wcd938x 1>, <&swr2 0>, <&txmacro 0>;
733                 };
734                 platform {
735                         sound-dai = <&q6routing>;
736                 };
737         };
738
739         wsa-dai-link {
740                 link-name = "WSA Playback";
741                 cpu {
742                         sound-dai = <&q6afedai WSA_CODEC_DMA_RX_0>;
743                 };
744
745                 codec {
746                         sound-dai = <&left_spkr>, <&right_spkr>, <&swr0 0>, <&wsamacro 0>;
747                 };
748                 platform {
749                         sound-dai = <&q6routing>;
750                 };
751         };
752
753         va-dai-link {
754                 link-name = "VA Capture";
755                 cpu {
756                         sound-dai = <&q6afedai VA_CODEC_DMA_TX_0>;
757                 };
758
759                 platform {
760                         sound-dai = <&q6routing>;
761                 };
762
763                 codec {
764                         sound-dai = <&vamacro 0>;
765                 };
766         };
767 };
768
769 &swr0 {
770         status = "okay";
771
772         left_spkr: speaker@0,3 {
773                 compatible = "sdw10217211000";
774                 reg = <0 3>;
775                 powerdown-gpios = <&tlmm 26 GPIO_ACTIVE_LOW>;
776                 #thermal-sensor-cells = <0>;
777                 sound-name-prefix = "SpkrLeft";
778                 #sound-dai-cells = <0>;
779         };
780
781         right_spkr: speaker@0,4 {
782                 compatible = "sdw10217211000";
783                 reg = <0 4>;
784                 powerdown-gpios = <&tlmm 127 GPIO_ACTIVE_LOW>;
785                 #thermal-sensor-cells = <0>;
786                 sound-name-prefix = "SpkrRight";
787                 #sound-dai-cells = <0>;
788         };
789 };
790
791 &swr1 {
792         status = "okay";
793
794         wcd_rx: wcd9380-rx@0,4 {
795                 compatible = "sdw20217010d00";
796                 reg = <0 4>;
797                 qcom,rx-port-mapping = <1 2 3 4 5>;
798         };
799 };
800
801 &swr2 {
802         status = "okay";
803
804         wcd_tx: wcd9380-tx@0,3 {
805                 compatible = "sdw20217010d00";
806                 reg = <0 3>;
807                 qcom,tx-port-mapping = <2 3 4 5>;
808         };
809 };
810
811 &tlmm {
812         gpio-reserved-ranges = <28 4>, <40 4>;
813
814         wcd938x_reset_default: wcd938x-reset-default-state {
815                 pins = "gpio32";
816                 function = "gpio";
817                 drive-strength = <16>;
818                 output-high;
819         };
820
821         wcd938x_reset_sleep: wcd938x-reset-sleep-state {
822                 pins = "gpio32";
823                 function = "gpio";
824                 drive-strength = <16>;
825                 bias-disable;
826                 output-low;
827         };
828 };
829
830 &txmacro {
831         status = "okay";
832 };
833
834 &uart12 {
835         status = "okay";
836 };
837
838 &ufs_mem_hc {
839         status = "okay";
840
841         vcc-supply = <&vreg_l17a_3p0>;
842         vcc-max-microamp = <750000>;
843         vccq-supply = <&vreg_l6a_1p2>;
844         vccq-max-microamp = <700000>;
845         vccq2-supply = <&vreg_s4a_1p8>;
846         vccq2-max-microamp = <750000>;
847 };
848
849 &ufs_mem_phy {
850         status = "okay";
851
852         vdda-phy-supply = <&vreg_l5a_0p875>;
853         vdda-pll-supply = <&vreg_l9a_1p2>;
854 };
855
856 &usb_1 {
857         status = "okay";
858 };
859
860 &usb_1_dwc3 {
861         dr_mode = "host";
862 };
863
864 &usb_1_hsphy {
865         status = "okay";
866
867         vdda-pll-supply = <&vreg_l5a_0p875>;
868         vdda18-supply = <&vreg_l12a_1p8>;
869         vdda33-supply = <&vreg_l2a_3p1>;
870 };
871
872 &usb_1_qmpphy {
873         status = "okay";
874
875         vdda-phy-supply = <&vreg_l9a_1p2>;
876         vdda-pll-supply = <&vreg_l18a_0p9>;
877 };
878
879 &usb_2 {
880         status = "okay";
881 };
882
883 &usb_2_dwc3 {
884         dr_mode = "host";
885 };
886
887 &usb_2_hsphy {
888         status = "okay";
889
890         vdda-pll-supply = <&vreg_l5a_0p875>;
891         vdda18-supply = <&vreg_l12a_1p8>;
892         vdda33-supply = <&vreg_l2a_3p1>;
893 };
894
895 &usb_2_qmpphy {
896         status = "okay";
897
898         vdda-phy-supply = <&vreg_l9a_1p2>;
899         vdda-pll-supply = <&vreg_l18a_0p9>;
900 };
901
902 &venus {
903         status = "okay";
904 };
905
906 &wsamacro {
907         status = "okay";
908 };