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