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