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};
905