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