xref: /linux/arch/arm64/boot/dts/qcom/sm8250-mtp.dts (revision 6e7fd890f1d6ac83805409e9c346240de2705584)
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			thermal-sensors = <&pm8150l_adc_tm 0>;
57
58			trips {
59				active-config0 {
60					temperature = <125000>;
61					hysteresis = <1000>;
62					type = "passive";
63				};
64			};
65		};
66
67		conn-thermal {
68			thermal-sensors = <&pm8150b_adc_tm 0>;
69
70			trips {
71				active-config0 {
72					temperature = <125000>;
73					hysteresis = <1000>;
74					type = "passive";
75				};
76			};
77		};
78
79		mmw-pa1-thermal {
80			thermal-sensors = <&pm8150_adc_tm 2>;
81
82			trips {
83				active-config0 {
84					temperature = <125000>;
85					hysteresis = <1000>;
86					type = "passive";
87				};
88			};
89		};
90
91		mmw-pa2-thermal {
92			thermal-sensors = <&pm8150l_adc_tm 2>;
93
94			trips {
95				active-config0 {
96					temperature = <125000>;
97					hysteresis = <1000>;
98					type = "passive";
99				};
100			};
101		};
102
103		skin-msm-thermal {
104			thermal-sensors = <&pm8150l_adc_tm 1>;
105
106			trips {
107				active-config0 {
108					temperature = <125000>;
109					hysteresis = <1000>;
110					type = "passive";
111				};
112			};
113		};
114
115		skin-thermal {
116			thermal-sensors = <&pm8150_adc_tm 1>;
117
118			trips {
119				active-config0 {
120					temperature = <125000>;
121					hysteresis = <1000>;
122					type = "passive";
123				};
124			};
125		};
126
127		xo-thermal {
128			thermal-sensors = <&pm8150_adc_tm 0>;
129
130			trips {
131				active-config0 {
132					temperature = <125000>;
133					hysteresis = <1000>;
134					type = "passive";
135				};
136			};
137		};
138	};
139
140	vph_pwr: vph-pwr-regulator {
141		compatible = "regulator-fixed";
142		regulator-name = "vph_pwr";
143		regulator-min-microvolt = <3700000>;
144		regulator-max-microvolt = <3700000>;
145	};
146
147	vreg_s4a_1p8: pm8150-s4 {
148		compatible = "regulator-fixed";
149		regulator-name = "vreg_s4a_1p8";
150
151		regulator-min-microvolt = <1800000>;
152		regulator-max-microvolt = <1800000>;
153
154		regulator-always-on;
155		regulator-boot-on;
156
157		vin-supply = <&vph_pwr>;
158	};
159
160	vreg_s6c_0p88: smpc6-regulator {
161		compatible = "regulator-fixed";
162		regulator-name = "vreg_s6c_0p88";
163
164		regulator-min-microvolt = <880000>;
165		regulator-max-microvolt = <880000>;
166		regulator-always-on;
167		vin-supply = <&vph_pwr>;
168	};
169};
170
171&adsp {
172	status = "okay";
173	firmware-name = "qcom/sm8250/adsp.mbn";
174};
175
176&apps_rsc {
177	regulators-0 {
178		compatible = "qcom,pm8150-rpmh-regulators";
179		qcom,pmic-id = "a";
180
181		vdd-s1-supply = <&vph_pwr>;
182		vdd-s2-supply = <&vph_pwr>;
183		vdd-s3-supply = <&vph_pwr>;
184		vdd-s4-supply = <&vph_pwr>;
185		vdd-s5-supply = <&vph_pwr>;
186		vdd-s6-supply = <&vph_pwr>;
187		vdd-s7-supply = <&vph_pwr>;
188		vdd-s8-supply = <&vph_pwr>;
189		vdd-s9-supply = <&vph_pwr>;
190		vdd-s10-supply = <&vph_pwr>;
191		vdd-l1-l8-l11-supply = <&vreg_s6c_0p88>;
192		vdd-l2-l10-supply = <&vreg_bob>;
193		vdd-l3-l4-l5-l18-supply = <&vreg_s6a_0p95>;
194		vdd-l6-l9-supply = <&vreg_s8c_1p3>;
195		vdd-l7-l12-l14-l15-supply = <&vreg_s5a_1p9>;
196		vdd-l13-l16-l17-supply = <&vreg_bob>;
197
198		vreg_s5a_1p9: smps5 {
199			regulator-name = "vreg_s5a_1p9";
200			regulator-min-microvolt = <1904000>;
201			regulator-max-microvolt = <2000000>;
202			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
203		};
204
205		vreg_s6a_0p95: smps6 {
206			regulator-name = "vreg_s6a_0p95";
207			regulator-min-microvolt = <920000>;
208			regulator-max-microvolt = <1128000>;
209			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
210		};
211
212		vreg_l2a_3p1: ldo2 {
213			regulator-name = "vreg_l2a_3p1";
214			regulator-min-microvolt = <3072000>;
215			regulator-max-microvolt = <3072000>;
216			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
217		};
218
219		vreg_l3a_0p9: ldo3 {
220			regulator-name = "vreg_l3a_0p9";
221			regulator-min-microvolt = <928000>;
222			regulator-max-microvolt = <932000>;
223			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
224		};
225
226		vreg_l5a_0p875: ldo5 {
227			regulator-name = "vreg_l5a_0p875";
228			regulator-min-microvolt = <880000>;
229			regulator-max-microvolt = <880000>;
230			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
231		};
232
233		vreg_l6a_1p2: ldo6 {
234			regulator-name = "vreg_l6a_1p2";
235			regulator-min-microvolt = <1200000>;
236			regulator-max-microvolt = <1200000>;
237			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
238		};
239
240		vreg_l7a_1p7: ldo7 {
241			regulator-name = "vreg_l7a_1p7";
242			regulator-min-microvolt = <1704000>;
243			regulator-max-microvolt = <1800000>;
244			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
245		};
246
247		vreg_l9a_1p2: ldo9 {
248			regulator-name = "vreg_l9a_1p2";
249			regulator-min-microvolt = <1200000>;
250			regulator-max-microvolt = <1200000>;
251			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
252		};
253
254		vreg_l10a_1p8: ldo10 {
255			regulator-name = "vreg_l10a_1p8";
256			regulator-min-microvolt = <1800000>;
257			regulator-max-microvolt = <1800000>;
258			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
259		};
260
261		vreg_l12a_1p8: ldo12 {
262			regulator-name = "vreg_l12a_1p8";
263			regulator-min-microvolt = <1800000>;
264			regulator-max-microvolt = <1800000>;
265			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
266		};
267
268		vreg_l13a_ts_3p0: ldo13 {
269			regulator-name = "vreg_l13a_ts_3p0";
270			regulator-min-microvolt = <3008000>;
271			regulator-max-microvolt = <3008000>;
272			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
273		};
274
275		vreg_l14a_1p8: ldo14 {
276			regulator-name = "vreg_l14a_1p8";
277			regulator-min-microvolt = <1800000>;
278			regulator-max-microvolt = <1880000>;
279			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
280		};
281
282		vreg_l15a_11ad_io_1p8: ldo15 {
283			regulator-name = "vreg_l15a_11ad_io_1p8";
284			regulator-min-microvolt = <1800000>;
285			regulator-max-microvolt = <1800000>;
286			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
287		};
288
289		vreg_l16a_2p7: ldo16 {
290			regulator-name = "vreg_l16a_2p7";
291			regulator-min-microvolt = <2704000>;
292			regulator-max-microvolt = <2960000>;
293			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
294		};
295
296		vreg_l17a_3p0: ldo17 {
297			regulator-name = "vreg_l17a_3p0";
298			regulator-min-microvolt = <2856000>;
299			regulator-max-microvolt = <3008000>;
300			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
301		};
302
303		vreg_l18a_0p9: ldo18 {
304			regulator-name = "vreg_l18a_0p9";
305			regulator-min-microvolt = <912000>;
306			regulator-max-microvolt = <912000>;
307			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
308		};
309	};
310
311	regulators-1 {
312		compatible = "qcom,pm8150l-rpmh-regulators";
313		qcom,pmic-id = "c";
314
315		vdd-s1-supply = <&vph_pwr>;
316		vdd-s2-supply = <&vph_pwr>;
317		vdd-s3-supply = <&vph_pwr>;
318		vdd-s4-supply = <&vph_pwr>;
319		vdd-s5-supply = <&vph_pwr>;
320		vdd-s6-supply = <&vph_pwr>;
321		vdd-s7-supply = <&vph_pwr>;
322		vdd-s8-supply = <&vph_pwr>;
323		vdd-l1-l8-supply = <&vreg_s4a_1p8>;
324		vdd-l2-l3-supply = <&vreg_s8c_1p3>;
325		vdd-l4-l5-l6-supply = <&vreg_bob>;
326		vdd-l7-l11-supply = <&vreg_bob>;
327		vdd-l9-l10-supply = <&vreg_bob>;
328		vdd-bob-supply = <&vph_pwr>;
329
330		vreg_bob: bob {
331			regulator-name = "vreg_bob";
332			regulator-min-microvolt = <3008000>;
333			regulator-max-microvolt = <4000000>;
334			regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
335		};
336
337		vreg_s8c_1p3: smps8 {
338			regulator-name = "vreg_s8c_1p3";
339			regulator-min-microvolt = <1352000>;
340			regulator-max-microvolt = <1352000>;
341			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
342		};
343
344		vreg_l1c_1p8: ldo1 {
345			regulator-name = "vreg_l1c_1p8";
346			regulator-min-microvolt = <1800000>;
347			regulator-max-microvolt = <1800000>;
348			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
349		};
350
351		vreg_l2c_1p2: ldo2 {
352			regulator-name = "vreg_l2c_1p2";
353			regulator-min-microvolt = <1200000>;
354			regulator-max-microvolt = <1200000>;
355			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
356		};
357
358		vreg_l3c_0p92: ldo3 {
359			regulator-name = "vreg_l3c_0p92";
360			regulator-min-microvolt = <920000>;
361			regulator-max-microvolt = <920000>;
362			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
363		};
364
365		vreg_l4c_1p7: ldo4 {
366			regulator-name = "vreg_l4c_1p7";
367			regulator-min-microvolt = <1704000>;
368			regulator-max-microvolt = <2928000>;
369			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
370		};
371
372		vreg_l5c_1p8: ldo5 {
373			regulator-name = "vreg_l5c_1p8";
374			regulator-min-microvolt = <1800000>;
375			regulator-max-microvolt = <2928000>;
376			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
377		};
378
379		vreg_l6c_2p9: ldo6 {
380			regulator-name = "vreg_l6c_2p9";
381			regulator-min-microvolt = <1800000>;
382			regulator-max-microvolt = <2960000>;
383			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
384		};
385
386		vreg_l7c_cam_vcm0_2p85: ldo7 {
387			regulator-name = "vreg_l7c_cam_vcm0_2p85";
388			regulator-min-microvolt = <2856000>;
389			regulator-max-microvolt = <3104000>;
390			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
391		};
392
393		vreg_l8c_1p8: ldo8 {
394			regulator-name = "vreg_l8c_1p8";
395			regulator-min-microvolt = <1800000>;
396			regulator-max-microvolt = <1800000>;
397			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
398		};
399
400		vreg_l9c_2p9: ldo9 {
401			regulator-name = "vreg_l9c_2p9";
402			regulator-min-microvolt = <2704000>;
403			regulator-max-microvolt = <2960000>;
404			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
405		};
406
407		vreg_l10c_3p0: ldo10 {
408			regulator-name = "vreg_l10c_3p0";
409			regulator-min-microvolt = <3000000>;
410			regulator-max-microvolt = <3000000>;
411			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
412		};
413
414		vreg_l11c_3p3: ldo11 {
415			regulator-name = "vreg_l11c_3p3";
416			regulator-min-microvolt = <3000000>;
417			regulator-max-microvolt = <3312000>;
418			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
419		};
420	};
421
422	regulators-2 {
423		compatible = "qcom,pm8009-rpmh-regulators";
424		qcom,pmic-id = "f";
425
426		vdd-s1-supply = <&vph_pwr>;
427		vdd-s2-supply = <&vreg_bob>;
428		vdd-l2-supply = <&vreg_s8c_1p3>;
429		vdd-l5-l6-supply = <&vreg_bob>;
430		vdd-l7-supply = <&vreg_s4a_1p8>;
431
432		vreg_l1f_cam_dvdd1_1p1: ldo1 {
433			regulator-name = "vreg_l1f_cam_dvdd1_1p1";
434			regulator-min-microvolt = <1104000>;
435			regulator-max-microvolt = <1104000>;
436			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
437		};
438
439		vreg_l2f_cam_dvdd0_1p2: ldo2 {
440			regulator-name = "vreg_l2f_cam_dvdd0_1p2";
441			regulator-min-microvolt = <1200000>;
442			regulator-max-microvolt = <1200000>;
443			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
444		};
445
446		vreg_l3f_cam_dvdd2_1p05: ldo3 {
447			regulator-name = "vreg_l3f_cam_dvdd2_1p05";
448			regulator-min-microvolt = <1056000>;
449			regulator-max-microvolt = <1056000>;
450			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
451		};
452
453		vreg_l5f_cam_avdd0_2p85: ldo5 {
454			regulator-name = "vreg_l5f_cam_avdd0_2p85";
455			regulator-min-microvolt = <2800000>;
456			regulator-max-microvolt = <2800000>;
457			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
458		};
459
460		vreg_l6f_cam_avdd1_2p85: ldo6 {
461			regulator-name = "vreg_l6f_cam_avdd1_2p85";
462			regulator-min-microvolt = <2856000>;
463			regulator-max-microvolt = <2856000>;
464			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
465		};
466
467		vreg_l7f_1p8: ldo7 {
468			regulator-name = "vreg_l7f_1p8";
469			regulator-min-microvolt = <1800000>;
470			regulator-max-microvolt = <1800000>;
471			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
472		};
473	};
474};
475
476&cdsp {
477	status = "okay";
478	firmware-name = "qcom/sm8250/cdsp.mbn";
479};
480
481&gmu {
482	status = "okay";
483};
484
485&gpu {
486	status = "okay";
487
488	zap-shader {
489		memory-region = <&gpu_mem>;
490		firmware-name = "qcom/sm8250/a650_zap.mbn";
491	};
492};
493
494&i2c1 {
495	status = "okay";
496	clock-frequency = <1000000>;
497
498	/* NQ NFC chip @28 */
499};
500
501&i2c13 {
502	status = "okay";
503
504	/* st,stmfts @ 49 */
505};
506
507&i2c15 {
508	status = "okay";
509
510	/* smb1390 @ 10 */
511	/* rtc6226 @ 64 */
512};
513
514&pm8150_adc {
515	channel@4c {
516		reg = <ADC5_XO_THERM_100K_PU>;
517		qcom,ratiometric;
518		qcom,hw-settle-time = <200>;
519		label = "xo_therm";
520	};
521
522	channel@4d {
523		reg = <ADC5_AMUX_THM1_100K_PU>;
524		qcom,ratiometric;
525		qcom,hw-settle-time = <200>;
526		label = "skin_therm";
527	};
528
529	channel@4e {
530		reg = <ADC5_AMUX_THM2_100K_PU>;
531		qcom,ratiometric;
532		qcom,hw-settle-time = <200>;
533		label = "pa_therm1";
534	};
535};
536
537&pm8150_adc_tm {
538	status = "okay";
539
540	xo-therm@0 {
541		reg = <0>;
542		io-channels = <&pm8150_adc ADC5_XO_THERM_100K_PU>;
543		qcom,ratiometric;
544		qcom,hw-settle-time-us = <200>;
545	};
546
547	skin-therm@1 {
548		reg = <1>;
549		io-channels = <&pm8150_adc ADC5_AMUX_THM1_100K_PU>;
550		qcom,ratiometric;
551		qcom,hw-settle-time-us = <200>;
552	};
553
554	pa-therm1@2 {
555		reg = <2>;
556		io-channels = <&pm8150_adc ADC5_AMUX_THM2_100K_PU>;
557		qcom,ratiometric;
558		qcom,hw-settle-time-us = <200>;
559	};
560};
561
562&pm8150b_adc {
563	channel@4f {
564		reg = <ADC5_AMUX_THM3_100K_PU>;
565		qcom,ratiometric;
566		qcom,hw-settle-time = <200>;
567		label = "conn_therm";
568	};
569};
570
571&pm8150b_adc_tm {
572	status = "okay";
573
574	conn-therm@0 {
575		reg = <0>;
576		io-channels = <&pm8150b_adc ADC5_AMUX_THM3_100K_PU>;
577		qcom,ratiometric;
578		qcom,hw-settle-time-us = <200>;
579	};
580};
581
582&pm8150l_adc_tm {
583	status = "okay";
584
585	camera-flash-therm@0 {
586		reg = <0>;
587		io-channels = <&pm8150l_adc ADC5_AMUX_THM1_100K_PU>;
588		qcom,ratiometric;
589		qcom,hw-settle-time-us = <200>;
590	};
591
592	skin-msm-therm@1 {
593		reg = <1>;
594		io-channels = <&pm8150l_adc ADC5_AMUX_THM2_100K_PU>;
595		qcom,ratiometric;
596		qcom,hw-settle-time-us = <200>;
597	};
598
599	pa-therm2@2 {
600		reg = <2>;
601		io-channels = <&pm8150l_adc ADC5_AMUX_THM3_100K_PU>;
602		qcom,ratiometric;
603		qcom,hw-settle-time-us = <200>;
604	};
605};
606
607&pm8150l_adc {
608	channel@4d {
609		reg = <ADC5_AMUX_THM1_100K_PU>;
610		qcom,ratiometric;
611		qcom,hw-settle-time = <200>;
612		label = "camera_flash_therm";
613	};
614
615	channel@4e {
616		reg = <ADC5_AMUX_THM2_100K_PU>;
617		qcom,ratiometric;
618		qcom,hw-settle-time = <200>;
619		label = "skin_msm_therm";
620	};
621
622	channel@4f {
623		reg = <ADC5_AMUX_THM3_100K_PU>;
624		qcom,ratiometric;
625		qcom,hw-settle-time = <200>;
626		label = "pa_therm2";
627	};
628};
629
630&qupv3_id_0 {
631	status = "okay";
632};
633
634&qupv3_id_1 {
635	status = "okay";
636};
637
638&qupv3_id_2 {
639	status = "okay";
640};
641
642&rxmacro {
643	status = "okay";
644};
645
646&slpi {
647	status = "okay";
648	firmware-name = "qcom/sm8250/slpi.mbn";
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	status = "okay";
757
758	left_spkr: speaker@0,3 {
759		compatible = "sdw10217211000";
760		reg = <0 3>;
761		powerdown-gpios = <&tlmm 26 GPIO_ACTIVE_LOW>;
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_LOW>;
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
892&wsamacro {
893	status = "okay";
894};
895