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