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