x86/boot: Wrap literal addresses in absolute_pointer()
[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 &slpi {
626         status = "okay";
627         firmware-name = "qcom/sm8250/slpi.mbn";
628 };
629
630 &soc {
631         wcd938x: codec {
632                 compatible = "qcom,wcd9380-codec";
633                 #sound-dai-cells = <1>;
634                 reset-gpios = <&tlmm 32 0>;
635                 vdd-buck-supply = <&vreg_s4a_1p8>;
636                 vdd-rxtx-supply = <&vreg_s4a_1p8>;
637                 vdd-io-supply = <&vreg_s4a_1p8>;
638                 vdd-mic-bias-supply = <&vreg_bob>;
639                 qcom,micbias1-microvolt = <1800000>;
640                 qcom,micbias2-microvolt = <1800000>;
641                 qcom,micbias3-microvolt = <1800000>;
642                 qcom,micbias4-microvolt = <1800000>;
643                 qcom,mbhc-buttons-vthreshold-microvolt = <75000 150000 237000 500000 500000 500000 500000 500000>;
644                 qcom,mbhc-headset-vthreshold-microvolt = <1700000>;
645                 qcom,mbhc-headphone-vthreshold-microvolt = <50000>;
646                 qcom,rx-device = <&wcd_rx>;
647                 qcom,tx-device = <&wcd_tx>;
648         };
649 };
650
651 &sound {
652         compatible = "qcom,sm8250-sndcard";
653         model = "SM8250-MTP-WCD9380-WSA8810-VA-DMIC";
654         audio-routing =
655                 "SpkrLeft IN", "WSA_SPK1 OUT",
656                 "SpkrRight IN", "WSA_SPK2 OUT",
657                 "IN1_HPHL", "HPHL_OUT",
658                 "IN2_HPHR", "HPHR_OUT",
659                 "AMIC1", "MIC BIAS1",
660                 "AMIC2", "MIC BIAS2",
661                 "AMIC3", "MIC BIAS3",
662                 "AMIC4", "MIC BIAS3",
663                 "AMIC5", "MIC BIAS4",
664                 "TX SWR_ADC0", "ADC1_OUTPUT",
665                 "TX SWR_ADC1", "ADC2_OUTPUT",
666                 "TX SWR_ADC2", "ADC3_OUTPUT",
667                 "TX SWR_ADC3", "ADC4_OUTPUT",
668                 "TX SWR_DMIC0", "DMIC1_OUTPUT",
669                 "TX SWR_DMIC1", "DMIC2_OUTPUT",
670                 "TX SWR_DMIC2", "DMIC3_OUTPUT",
671                 "TX SWR_DMIC3", "DMIC4_OUTPUT",
672                 "TX SWR_DMIC4", "DMIC5_OUTPUT",
673                 "TX SWR_DMIC5", "DMIC6_OUTPUT",
674                 "TX SWR_DMIC6", "DMIC7_OUTPUT",
675                 "TX SWR_DMIC7", "DMIC8_OUTPUT";
676
677         mm1-dai-link {
678                 link-name = "MultiMedia1";
679                 cpu {
680                         sound-dai = <&q6asmdai  MSM_FRONTEND_DAI_MULTIMEDIA1>;
681                 };
682         };
683
684         mm2-dai-link {
685                 link-name = "MultiMedia2";
686                 cpu {
687                         sound-dai = <&q6asmdai  MSM_FRONTEND_DAI_MULTIMEDIA2>;
688                 };
689         };
690
691         mm3-dai-link {
692                 link-name = "MultiMedia3";
693                 cpu {
694                         sound-dai = <&q6asmdai  MSM_FRONTEND_DAI_MULTIMEDIA3>;
695                 };
696         };
697
698         wcd-playback-dai-link {
699                 link-name = "WCD Playback";
700                 cpu {
701                         sound-dai = <&q6afedai RX_CODEC_DMA_RX_0>;
702                 };
703                 codec {
704                         sound-dai = <&wcd938x 0>, <&swr1 0>, <&rxmacro 0>;
705                 };
706                 platform {
707                         sound-dai = <&q6routing>;
708                 };
709         };
710
711         wcd-capture-dai-link {
712                 link-name = "WCD Capture";
713                 cpu {
714                         sound-dai = <&q6afedai TX_CODEC_DMA_TX_3>;
715                 };
716
717                 codec {
718                         sound-dai = <&wcd938x 1>, <&swr2 0>, <&txmacro 0>;
719                 };
720                 platform {
721                         sound-dai = <&q6routing>;
722                 };
723         };
724
725         wsa-dai-link {
726                 link-name = "WSA Playback";
727                 cpu {
728                         sound-dai = <&q6afedai WSA_CODEC_DMA_RX_0>;
729                 };
730
731                 codec {
732                         sound-dai = <&left_spkr>, <&right_spkr>, <&swr0 0>, <&wsamacro 0>;
733                 };
734                 platform {
735                         sound-dai = <&q6routing>;
736                 };
737         };
738
739         va-dai-link {
740                 link-name = "VA Capture";
741                 cpu {
742                         sound-dai = <&q6afedai VA_CODEC_DMA_TX_0>;
743                 };
744
745                 platform {
746                         sound-dai = <&q6routing>;
747                 };
748
749                 codec {
750                         sound-dai = <&vamacro 0>;
751                 };
752         };
753 };
754
755 &swr0 {
756         left_spkr: wsa8810-right@0,3{
757                 compatible = "sdw10217211000";
758                 reg = <0 3>;
759                 powerdown-gpios = <&tlmm 26 GPIO_ACTIVE_HIGH>;
760                 #thermal-sensor-cells = <0>;
761                 sound-name-prefix = "SpkrLeft";
762                 #sound-dai-cells = <0>;
763         };
764
765         right_spkr: wsa8810-left@0,4{
766                 compatible = "sdw10217211000";
767                 reg = <0 4>;
768                 powerdown-gpios = <&tlmm 127 GPIO_ACTIVE_HIGH>;
769                 #thermal-sensor-cells = <0>;
770                 sound-name-prefix = "SpkrRight";
771                 #sound-dai-cells = <0>;
772         };
773 };
774
775 &swr1 {
776         wcd_rx: wcd9380-rx@0,4 {
777                 compatible = "sdw20217010d00";
778                 reg = <0 4>;
779                 qcom,rx-port-mapping = <1 2 3 4 5>;
780         };
781 };
782
783 &swr2 {
784         wcd_tx: wcd9380-tx@0,3 {
785                 compatible = "sdw20217010d00";
786                 reg = <0 3>;
787                 qcom,tx-port-mapping = <2 3 4 5>;
788         };
789 };
790
791 &tlmm {
792         gpio-reserved-ranges = <28 4>, <40 4>;
793
794         wcd938x_reset_default: wcd938x_reset_default {
795                 mux {
796                         pins = "gpio32";
797                         function = "gpio";
798                 };
799
800                 config {
801                         pins = "gpio32";
802                         drive-strength = <16>;
803                         output-high;
804                 };
805         };
806
807         wcd938x_reset_sleep: wcd938x_reset_sleep {
808                 mux {
809                         pins = "gpio32";
810                         function = "gpio";
811                 };
812
813                 config {
814                         pins = "gpio32";
815                         drive-strength = <16>;
816                         bias-disable;
817                         output-low;
818                 };
819         };
820 };
821
822 &uart12 {
823         status = "okay";
824 };
825
826 &ufs_mem_hc {
827         status = "okay";
828
829         vcc-supply = <&vreg_l17a_3p0>;
830         vcc-max-microamp = <750000>;
831         vccq-supply = <&vreg_l6a_1p2>;
832         vccq-max-microamp = <700000>;
833         vccq2-supply = <&vreg_s4a_1p8>;
834         vccq2-max-microamp = <750000>;
835 };
836
837 &ufs_mem_phy {
838         status = "okay";
839
840         vdda-phy-supply = <&vreg_l5a_0p875>;
841         vdda-pll-supply = <&vreg_l9a_1p2>;
842 };
843
844 &usb_1 {
845         status = "okay";
846 };
847
848 &usb_1_dwc3 {
849         dr_mode = "host";
850 };
851
852 &usb_1_hsphy {
853         status = "okay";
854
855         vdda-pll-supply = <&vreg_l5a_0p875>;
856         vdda18-supply = <&vreg_l12a_1p8>;
857         vdda33-supply = <&vreg_l2a_3p1>;
858 };
859
860 &usb_1_qmpphy {
861         status = "okay";
862
863         vdda-phy-supply = <&vreg_l9a_1p2>;
864         vdda-pll-supply = <&vreg_l18a_0p9>;
865 };
866
867 &usb_2 {
868         status = "okay";
869 };
870
871 &usb_2_dwc3 {
872         dr_mode = "host";
873 };
874
875 &usb_2_hsphy {
876         status = "okay";
877
878         vdda-pll-supply = <&vreg_l5a_0p875>;
879         vdda18-supply = <&vreg_l12a_1p8>;
880         vdda33-supply = <&vreg_l2a_3p1>;
881 };
882
883 &usb_2_qmpphy {
884         status = "okay";
885
886         vdda-phy-supply = <&vreg_l9a_1p2>;
887         vdda-pll-supply = <&vreg_l18a_0p9>;
888 };
889
890 &venus {
891         status = "okay";
892 };