1// SPDX-License-Identifier: BSD-3-Clause
2/*
3 * Copyright (c) 2022, Linaro Limited
4 */
5
6/dts-v1/;
7
8#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
9#include <dt-bindings/iio/qcom,spmi-adc7-pm8350.h>
10#include <dt-bindings/iio/qcom,spmi-adc7-pm8350b.h>
11#include <dt-bindings/iio/qcom,spmi-adc7-pmk8350.h>
12#include <dt-bindings/iio/qcom,spmi-adc7-pmr735a.h>
13#include <dt-bindings/sound/qcom,q6dsp-lpass-ports.h>
14#include "sm8450.dtsi"
15#include "pm8350.dtsi"
16#include "pm8350b.dtsi"
17#include "pm8350c.dtsi"
18#include "pm8450.dtsi"
19#include "pmk8350.dtsi"
20#include "pmr735a.dtsi"
21
22/ {
23	model = "Qualcomm Technologies, Inc. SM8450 HDK";
24	compatible = "qcom,sm8450-hdk", "qcom,sm8450";
25	chassis-type = "embedded";
26
27	aliases {
28		serial0 = &uart7;
29	};
30
31	wcd938x: audio-codec {
32		compatible = "qcom,wcd9385-codec";
33
34		pinctrl-names = "default";
35		pinctrl-0 = <&wcd_default>;
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		reset-gpios = <&tlmm 43 GPIO_ACTIVE_LOW>;
48
49		vdd-buck-supply = <&vreg_s10b_1p8>;
50		vdd-rxtx-supply = <&vreg_s10b_1p8>;
51		vdd-io-supply = <&vreg_s10b_1p8>;
52		vdd-mic-bias-supply = <&vreg_bob>;
53
54		#sound-dai-cells = <1>;
55	};
56
57	chosen {
58		stdout-path = "serial0:115200n8";
59	};
60
61	hdmi-out {
62		compatible = "hdmi-connector";
63		type = "a";
64
65		port {
66			hdmi_connector_out: endpoint {
67				remote-endpoint = <&lt9611_out>;
68			};
69		};
70	};
71
72	lt9611_1v2: lt9611-vdd12-regulator {
73		compatible = "regulator-fixed";
74		regulator-name = "LT9611_1V2";
75
76		vin-supply = <&vph_pwr>;
77		regulator-min-microvolt = <1200000>;
78		regulator-max-microvolt = <1200000>;
79		gpio = <&tlmm 9 GPIO_ACTIVE_HIGH>;
80		enable-active-high;
81	};
82
83	lt9611_3v3: lt9611-3v3-regulator {
84		compatible = "regulator-fixed";
85		regulator-name = "LT9611_3V3";
86
87		vin-supply = <&vreg_bob>;
88		gpio = <&tlmm 109 GPIO_ACTIVE_HIGH>;
89		regulator-min-microvolt = <3300000>;
90		regulator-max-microvolt = <3300000>;
91		enable-active-high;
92	};
93
94	pmic-glink {
95		compatible = "qcom,sm8450-pmic-glink", "qcom,pmic-glink";
96		#address-cells = <1>;
97		#size-cells = <0>;
98		orientation-gpios = <&tlmm 91 GPIO_ACTIVE_HIGH>;
99
100		connector@0 {
101			compatible = "usb-c-connector";
102			reg = <0>;
103			power-role = "dual";
104			data-role = "dual";
105
106			ports {
107				#address-cells = <1>;
108				#size-cells = <0>;
109
110				port@0 {
111					reg = <0>;
112
113					pmic_glink_hs_in: endpoint {
114						remote-endpoint = <&usb_1_dwc3_hs>;
115					};
116				};
117
118				port@1 {
119					reg = <1>;
120
121					pmic_glink_ss_in: endpoint {
122						remote-endpoint = <&usb_1_qmpphy_out>;
123					};
124				};
125
126				port@2 {
127					reg = <2>;
128
129					pmic_glink_sbu: endpoint {
130						remote-endpoint = <&fsa4480_sbu_mux>;
131					};
132				};
133
134			};
135		};
136	};
137
138	thermal-zones {
139		camera-thermal {
140			polling-delay-passive = <250>;
141			polling-delay = <0>;
142			thermal-sensors = <&pmk8350_adc_tm 2>;
143
144			trips {
145				active-config0 {
146					temperature = <75000>;
147					hysteresis = <4000>;
148					type = "passive";
149				};
150			};
151		};
152
153		rear-tof-thermal {
154			polling-delay-passive = <250>;
155			polling-delay = <0>;
156			thermal-sensors = <&pmk8350_adc_tm 5>;
157
158			trips {
159				active-config0 {
160					temperature = <75000>;
161					hysteresis = <4000>;
162					type = "passive";
163				};
164			};
165		};
166
167		skin-msm-thermal {
168			polling-delay-passive = <250>;
169			polling-delay = <0>;
170			thermal-sensors = <&pmk8350_adc_tm 1>;
171
172			trips {
173				active-config0 {
174					temperature = <75000>;
175					hysteresis = <4000>;
176					type = "passive";
177				};
178			};
179		};
180
181		therm1-thermal {
182			polling-delay-passive = <250>;
183			polling-delay = <0>;
184			thermal-sensors = <&pmk8350_adc_tm 3>;
185
186			trips {
187				active-config0 {
188					temperature = <75000>;
189					hysteresis = <4000>;
190					type = "passive";
191				};
192			};
193		};
194
195		therm2-thermal {
196			polling-delay-passive = <250>;
197			polling-delay = <0>;
198			thermal-sensors = <&pmk8350_adc_tm 6>;
199
200			trips {
201				active-config0 {
202					temperature = <75000>;
203					hysteresis = <4000>;
204					type = "passive";
205				};
206			};
207		};
208
209		usb-conn-thermal {
210			polling-delay-passive = <250>;
211			polling-delay = <0>;
212			thermal-sensors = <&pmk8350_adc_tm 7>;
213
214			trips {
215				active-config0 {
216					temperature = <75000>;
217					hysteresis = <4000>;
218					type = "passive";
219				};
220			};
221		};
222
223		wide-rfc-thermal {
224			polling-delay-passive = <250>;
225			polling-delay = <0>;
226			thermal-sensors = <&pmk8350_adc_tm 4>;
227
228			trips {
229				active-config0 {
230					temperature = <75000>;
231					hysteresis = <4000>;
232					type = "passive";
233				};
234			};
235		};
236
237		xo-thermal {
238			polling-delay-passive = <0>;
239			polling-delay = <0>;
240			thermal-sensors = <&pmk8350_adc_tm 0>;
241
242			trips {
243				active-config0 {
244					temperature = <50000>;
245					hysteresis = <4000>;
246					type = "passive";
247				};
248			};
249		};
250	};
251
252	vph_pwr: vph-pwr-regulator {
253		compatible = "regulator-fixed";
254		regulator-name = "vph_pwr";
255		regulator-min-microvolt = <3700000>;
256		regulator-max-microvolt = <3700000>;
257
258		regulator-always-on;
259		regulator-boot-on;
260	};
261};
262
263&apps_rsc {
264	regulators-0 {
265		compatible = "qcom,pm8350-rpmh-regulators";
266		qcom,pmic-id = "b";
267
268		vdd-s1-supply = <&vph_pwr>;
269		vdd-s2-supply = <&vph_pwr>;
270		vdd-s3-supply = <&vph_pwr>;
271		vdd-s4-supply = <&vph_pwr>;
272		vdd-s5-supply = <&vph_pwr>;
273		vdd-s6-supply = <&vph_pwr>;
274		vdd-s7-supply = <&vph_pwr>;
275		vdd-s8-supply = <&vph_pwr>;
276		vdd-s9-supply = <&vph_pwr>;
277		vdd-s10-supply = <&vph_pwr>;
278		vdd-s11-supply = <&vph_pwr>;
279		vdd-s12-supply = <&vph_pwr>;
280
281		vdd-l1-l4-supply = <&vreg_s11b_0p95>;
282		vdd-l2-l7-supply = <&vreg_bob>;
283		vdd-l3-l5-supply = <&vreg_bob>;
284		vdd-l6-l9-l10-supply = <&vreg_s12b_1p25>;
285		vdd-l8-supply = <&vreg_s2h_0p95>;
286
287		vreg_s10b_1p8: smps10 {
288			regulator-name = "vreg_s10b_1p8";
289			regulator-min-microvolt = <1800000>;
290			regulator-max-microvolt = <1800000>;
291		};
292
293		vreg_s11b_0p95: smps11 {
294			regulator-name = "vreg_s11b_0p95";
295			regulator-min-microvolt = <966000>;
296			regulator-max-microvolt = <1104000>;
297		};
298
299		vreg_s12b_1p25: smps12 {
300			regulator-name = "vreg_s12b_1p25";
301			regulator-min-microvolt = <1350000>;
302			regulator-max-microvolt = <1400000>;
303		};
304
305		vreg_l1b_0p91: ldo1 {
306			regulator-name = "vreg_l1b_0p91";
307			regulator-min-microvolt = <912000>;
308			regulator-max-microvolt = <920000>;
309			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
310		};
311
312		vreg_l2b_3p07: ldo2 {
313			regulator-name = "vreg_l2b_3p07";
314			regulator-min-microvolt = <3072000>;
315			regulator-max-microvolt = <3072000>;
316			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
317		};
318
319		vreg_l3b_0p9: ldo3 {
320			regulator-name = "vreg_l3b_0p9";
321			regulator-min-microvolt = <904000>;
322			regulator-max-microvolt = <904000>;
323			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
324		};
325
326		vreg_l5b_0p88: ldo5 {
327			regulator-name = "vreg_l5b_0p88";
328			regulator-min-microvolt = <880000>;
329			regulator-max-microvolt = <888000>;
330			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
331		};
332
333		vreg_l6b_1p2: ldo6 {
334			regulator-name = "vreg_l6b_1p2";
335			regulator-min-microvolt = <1200000>;
336			regulator-max-microvolt = <1200000>;
337			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
338		};
339
340		vreg_l7b_2p5: ldo7 {
341			regulator-name = "vreg_l7b_2p5";
342			regulator-min-microvolt = <2504000>;
343			regulator-max-microvolt = <2504000>;
344			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
345		};
346
347		vreg_l9b_1p2: ldo9 {
348			regulator-name = "vreg_l9b_1p2";
349			regulator-min-microvolt = <1200000>;
350			regulator-max-microvolt = <1200000>;
351			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
352		};
353	};
354
355	regulators-1 {
356		compatible = "qcom,pm8350c-rpmh-regulators";
357		qcom,pmic-id = "c";
358
359		vdd-s1-supply = <&vph_pwr>;
360		vdd-s2-supply = <&vph_pwr>;
361		vdd-s3-supply = <&vph_pwr>;
362		vdd-s4-supply = <&vph_pwr>;
363		vdd-s5-supply = <&vph_pwr>;
364		vdd-s6-supply = <&vph_pwr>;
365		vdd-s7-supply = <&vph_pwr>;
366		vdd-s8-supply = <&vph_pwr>;
367		vdd-s9-supply = <&vph_pwr>;
368		vdd-s10-supply = <&vph_pwr>;
369
370		vdd-l1-l12-supply = <&vreg_bob>;
371		vdd-l2-l8-supply = <&vreg_bob>;
372		vdd-l3-l4-l5-l7-l13-supply = <&vreg_bob>;
373		vdd-l6-l9-l11-supply = <&vreg_bob>;
374		vdd-l10-supply = <&vreg_s12b_1p25>;
375
376		vdd-bob-supply = <&vph_pwr>;
377
378		vreg_s1c_1p86: smps1 {
379			regulator-name = "vreg_s1c_1p86";
380			regulator-min-microvolt = <1800000>;
381			regulator-max-microvolt = <2024000>;
382		};
383
384		vreg_s10c_1p05: smps10 {
385			regulator-name = "vreg_s10c_1p05";
386			regulator-min-microvolt = <1000000>;
387			regulator-max-microvolt = <1100000>;
388		};
389
390		vreg_bob: bob {
391			regulator-name = "vreg_bob";
392			regulator-min-microvolt = <3008000>;
393			regulator-max-microvolt = <3960000>;
394			regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
395		};
396
397		vreg_l1c_1p8: ldo1 {
398			regulator-name = "vreg_l1c_1p8";
399			regulator-min-microvolt = <1800000>;
400			regulator-max-microvolt = <1800000>;
401			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
402		};
403
404		vreg_l3c_3p0: ldo3 {
405			regulator-name = "vreg_l3c_3p0";
406			regulator-min-microvolt = <3296000>;
407			regulator-max-microvolt = <3304000>;
408			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
409		};
410
411		vreg_l4c_1p8: ldo4 {
412			regulator-name = "vreg_l4c_1p8";
413			regulator-min-microvolt = <1704000>;
414			regulator-max-microvolt = <3000000>;
415			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
416		};
417
418		vreg_l5c_1p8: ldo5 {
419			regulator-name = "vreg_l5c_1p8";
420			regulator-min-microvolt = <1704000>;
421			regulator-max-microvolt = <3000000>;
422			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
423		};
424
425		vreg_l6c_1p8: ldo6 {
426			regulator-name = "vreg_l6c_1p8";
427			regulator-min-microvolt = <1800000>;
428			regulator-max-microvolt = <3008000>;
429			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
430		};
431
432		vreg_l7c_3p0: ldo7 {
433			regulator-name = "vreg_l7c_3p0";
434			regulator-min-microvolt = <3008000>;
435			regulator-max-microvolt = <3008000>;
436			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
437		};
438
439		vreg_l8c_1p8: ldo8 {
440			regulator-name = "vreg_l8c_1p8";
441			regulator-min-microvolt = <1800000>;
442			regulator-max-microvolt = <1800000>;
443			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
444		};
445
446		vreg_l9c_2p96: ldo9 {
447			regulator-name = "vreg_l9c_2p96";
448			regulator-min-microvolt = <2960000>;
449			regulator-max-microvolt = <3008000>;
450			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
451		};
452
453		vreg_l12c_1p8: ldo12 {
454			regulator-name = "vreg_l12c_1p8";
455			regulator-min-microvolt = <1800000>;
456			regulator-max-microvolt = <1968000>;
457			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
458		};
459
460		vreg_l13c_3p0: ldo13 {
461			regulator-name = "vreg_l13c_3p0";
462			regulator-min-microvolt = <3000000>;
463			regulator-max-microvolt = <3000000>;
464			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
465		};
466	};
467
468	regulators-2 {
469		compatible = "qcom,pm8450-rpmh-regulators";
470		qcom,pmic-id = "h";
471
472		vdd-s1-supply = <&vph_pwr>;
473		vdd-s2-supply = <&vph_pwr>;
474		vdd-s3-supply = <&vph_pwr>;
475		vdd-s4-supply = <&vph_pwr>;
476		vdd-s5-supply = <&vph_pwr>;
477		vdd-s6-supply = <&vph_pwr>;
478
479		vdd-l2-supply = <&vreg_bob>;
480		vdd-l3-supply = <&vreg_bob>;
481		vdd-l4-supply = <&vreg_bob>;
482
483		vreg_s2h_0p95: smps2 {
484			regulator-name = "vreg_s2h_0p95";
485			regulator-min-microvolt = <848000>;
486			regulator-max-microvolt = <1104000>;
487		};
488
489		vreg_s3h_0p5: smps3 {
490			regulator-name = "vreg_s3h_0p5";
491			regulator-min-microvolt = <500000>;
492			regulator-max-microvolt = <500000>;
493		};
494
495		vreg_l2h_0p91: ldo2 {
496			regulator-name = "vreg_l2h_0p91";
497			regulator-min-microvolt = <880000>;
498			regulator-max-microvolt = <912000>;
499			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
500		};
501
502		vreg_l3h_0p91: ldo3 {
503			regulator-name = "vreg_l3h_0p91";
504			regulator-min-microvolt = <912000>;
505			regulator-max-microvolt = <912000>;
506			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
507		};
508	};
509
510	regulators-3 {
511		compatible = "qcom,pmr735a-rpmh-regulators";
512		qcom,pmic-id = "e";
513
514		vdd-s1-supply = <&vph_pwr>;
515		vdd-s2-supply = <&vph_pwr>;
516		vdd-s3-supply = <&vph_pwr>;
517
518		vdd-l1-l2-supply = <&vreg_s2e_0p85>;
519		vdd-l3-supply = <&vreg_s1e_1p25>;
520		vdd-l4-supply = <&vreg_s1c_1p86>;
521		vdd-l5-l6-supply = <&vreg_s1c_1p86>;
522		vdd-l7-bob-supply = <&vreg_bob>;
523
524		vreg_s1e_1p25: smps1 {
525			regulator-name = "vreg_s1e_1p25";
526			regulator-min-microvolt = <1200000>;
527			regulator-max-microvolt = <1296000>;
528		};
529
530		vreg_s2e_0p85: smps2 {
531			regulator-name = "vreg_s2e_0p85";
532			regulator-min-microvolt = <500000>;
533			regulator-max-microvolt = <1040000>;
534		};
535
536		vreg_l1e_0p8: ldo1 {
537			regulator-name = "vreg_l1e_0p8";
538			regulator-min-microvolt = <800000>;
539			regulator-max-microvolt = <800000>;
540		};
541
542		vreg_l2e_0p8: ldo2 {
543			regulator-name = "vreg_l2e_0p8";
544			regulator-min-microvolt = <800000>;
545			regulator-max-microvolt = <800000>;
546		};
547
548		vreg_l3e_1p2: ldo3 {
549			regulator-name = "vreg_l3e_1p2";
550			regulator-min-microvolt = <1200000>;
551			regulator-max-microvolt = <1200000>;
552		};
553
554		vreg_l4e_1p7: ldo4 {
555			regulator-name = "vreg_l4e_1p7";
556			regulator-min-microvolt = <1776000>;
557			regulator-max-microvolt = <1776000>;
558		};
559
560		vreg_l5e_0p88: ldo5 {
561			regulator-name = "vreg_l5e_0p88";
562			regulator-min-microvolt = <880000>;
563			regulator-max-microvolt = <880000>;
564		};
565
566		vreg_l6e_1p2: ldo6 {
567			regulator-name = "vreg_l6e_1p2";
568			regulator-min-microvolt = <1200000>;
569			regulator-max-microvolt = <1200000>;
570		};
571
572		vreg_l7e_2p8: ldo7 {
573			regulator-name = "vreg_l7e_2p8";
574			regulator-min-microvolt = <2800000>;
575			regulator-max-microvolt = <2800000>;
576		};
577	};
578};
579
580&dispcc {
581	status = "okay";
582};
583
584&gpu {
585	status = "okay";
586
587	zap-shader {
588		firmware-name = "qcom/sm8450/a730_zap.mbn";
589	};
590};
591
592&i2c9 {
593	clock-frequency = <400000>;
594	status = "okay";
595
596	lt9611_codec: hdmi-bridge@2b {
597		compatible = "lontium,lt9611uxc";
598		reg = <0x2b>;
599
600		interrupts-extended = <&tlmm 44 IRQ_TYPE_EDGE_FALLING>;
601
602		reset-gpios = <&tlmm 107 GPIO_ACTIVE_HIGH>;
603
604		vdd-supply = <&lt9611_1v2>;
605		vcc-supply = <&lt9611_3v3>;
606
607		pinctrl-names = "default";
608		pinctrl-0 = <&lt9611_irq_pin &lt9611_rst_pin>;
609
610		ports {
611			#address-cells = <1>;
612			#size-cells = <0>;
613
614			port@0 {
615				reg = <0>;
616
617				lt9611_a: endpoint {
618					remote-endpoint = <&mdss_dsi0_out>;
619				};
620			};
621
622			port@2 {
623				reg = <2>;
624
625				lt9611_out: endpoint {
626					remote-endpoint = <&hdmi_connector_out>;
627				};
628			};
629		};
630	};
631};
632
633&i2c5 {
634	clock-frequency = <100000>;
635
636	status = "okay";
637
638	typec-mux@42 {
639		compatible = "fcs,fsa4480";
640		reg = <0x42>;
641
642		interrupts-extended = <&tlmm 2 IRQ_TYPE_LEVEL_LOW>;
643
644		vcc-supply = <&vreg_bob>;
645		mode-switch;
646		orientation-switch;
647
648		port {
649			fsa4480_sbu_mux: endpoint {
650				remote-endpoint = <&pmic_glink_sbu>;
651			};
652		};
653	};
654};
655
656&mdss {
657	status = "okay";
658};
659
660&mdss_dsi0 {
661	vdda-supply = <&vreg_l6b_1p2>;
662	status = "okay";
663};
664
665&mdss_dsi0_out {
666	remote-endpoint = <&lt9611_a>;
667	data-lanes = <0 1 2 3>;
668};
669
670&mdss_dsi0_phy {
671	vdds-supply = <&vreg_l5b_0p88>;
672	status = "okay";
673};
674
675&mdss_dp0 {
676	status = "okay";
677
678	ports {
679		port@1 {
680			reg = <1>;
681
682			mdss_dp0_out: endpoint {
683				data-lanes = <0 1>;
684				remote-endpoint = <&usb_1_qmpphy_dp_in>;
685			};
686		};
687	};
688};
689
690&pcie0 {
691	status = "okay";
692	max-link-speed = <2>;
693};
694
695&pcie0_phy {
696	status = "okay";
697	vdda-phy-supply = <&vreg_l5b_0p88>;
698	vdda-pll-supply = <&vreg_l6b_1p2>;
699};
700
701&pcie1 {
702	status = "okay";
703};
704
705&pcie1_phy {
706	status = "okay";
707	vdda-phy-supply = <&vreg_l2h_0p91>;
708	vdda-pll-supply = <&vreg_l6b_1p2>;
709};
710
711&pm8350_temp_alarm {
712	io-channels = <&pmk8350_vadc PM8350_ADC7_DIE_TEMP(1)>;
713	io-channel-names = "thermal";
714};
715
716&pm8350b_temp_alarm {
717	io-channels = <&pmk8350_vadc PM8350B_ADC7_DIE_TEMP>;
718	io-channel-names = "thermal";
719};
720
721&pmr735a_temp_alarm {
722	io-channels = <&pmk8350_vadc PMR735A_ADC7_DIE_TEMP>;
723	io-channel-names = "thermal";
724};
725
726&pmk8350_adc_tm {
727	status = "okay";
728
729	xo-therm@0 {
730		reg = <0>;
731		io-channels = <&pmk8350_vadc PMK8350_ADC7_AMUX_THM1_100K_PU>;
732		qcom,ratiometric;
733		qcom,hw-settle-time-us = <200>;
734	};
735
736	skin-msm-therm@1 {
737		reg = <1>;
738		io-channels = <&pmk8350_vadc PM8350_ADC7_AMUX_THM1_100K_PU(1)>;
739		qcom,ratiometric;
740		qcom,hw-settle-time-us = <200>;
741	};
742
743	camera-therm@2 {
744		reg = <2>;
745		io-channels = <&pmk8350_vadc PM8350_ADC7_AMUX_THM2_100K_PU(1)>;
746		qcom,ratiometric;
747		qcom,hw-settle-time-us = <200>;
748	};
749
750	therm1-therm@3 {
751		reg = <3>;
752		io-channels = <&pmk8350_vadc PM8350_ADC7_AMUX_THM3_100K_PU(1)>;
753		qcom,ratiometric;
754		qcom,hw-settle-time-us = <200>;
755	};
756
757	wide-rfc-therm@4 {
758		reg = <4>;
759		io-channels = <&pmk8350_vadc PM8350_ADC7_AMUX_THM4_100K_PU(1)>;
760		qcom,ratiometric;
761		qcom,hw-settle-time-us = <200>;
762	};
763
764	rear-tof-therm@5 {
765		reg = <5>;
766		io-channels = <&pmk8350_vadc PM8350_ADC7_AMUX_THM5_100K_PU(1)>;
767		qcom,ratiometric;
768		qcom,hw-settle-time-us = <200>;
769	};
770
771	therm2-therm@6 {
772		reg = <6>;
773		io-channels = <&pmk8350_vadc PM8350_ADC7_GPIO3_100K_PU(1)>;
774		qcom,ratiometric;
775		qcom,hw-settle-time-us = <200>;
776	};
777
778	usb-conn-therm@7 {
779		reg = <7>;
780		io-channels = <&pmk8350_vadc PM8350B_ADC7_AMUX_THM5_100K_PU>;
781		qcom,ratiometric;
782		qcom,hw-settle-time-us = <200>;
783	};
784};
785
786&pmk8350_vadc {
787	status = "okay";
788
789	channel@3 {
790		reg = <PMK8350_ADC7_DIE_TEMP>;
791		label = "pmk8350_die_temp";
792	};
793
794	channel@44 {
795		reg = <PMK8350_ADC7_AMUX_THM1_100K_PU>;
796		qcom,hw-settle-time = <200>;
797		qcom,ratiometric;
798		label = "pmk8350_xo_therm";
799	};
800
801	channel@103 {
802		reg = <PM8350_ADC7_DIE_TEMP(1)>;
803		label = "pm8350_die_temp";
804	};
805
806	channel@144 {
807		reg = <PM8350_ADC7_AMUX_THM1_100K_PU(1)>;
808		qcom,hw-settle-time = <200>;
809		qcom,ratiometric;
810		label = "skin_msm_temp";
811	};
812
813	channel@145 {
814		reg = <PM8350_ADC7_AMUX_THM2_100K_PU(1)>;
815		qcom,hw-settle-time = <200>;
816		qcom,ratiometric;
817		label = "camera_temp";
818	};
819
820	channel@146 {
821		reg = <PM8350_ADC7_AMUX_THM3_100K_PU(1)>;
822		qcom,hw-settle-time = <200>;
823		qcom,ratiometric;
824		label = "therm1_temp";
825	};
826
827	channel@147 {
828		reg = <PM8350_ADC7_AMUX_THM4_100K_PU(1)>;
829		qcom,hw-settle-time = <200>;
830		qcom,ratiometric;
831		label = "wide_rfc_temp";
832	};
833
834	channel@148 {
835		reg = <PM8350_ADC7_AMUX_THM5_100K_PU(1)>;
836		qcom,hw-settle-time = <200>;
837		qcom,ratiometric;
838		label = "rear_tof_temp";
839	};
840
841	channel@14c {
842		reg = <PM8350_ADC7_GPIO3_100K_PU(1)>;
843		qcom,hw-settle-time = <200>;
844		qcom,ratiometric;
845		label = "therm2_temp";
846	};
847
848	channel@303 {
849		reg = <PM8350B_ADC7_DIE_TEMP>;
850		label = "pm8350b_die_temp";
851	};
852
853	channel@348 {
854		reg = <PM8350B_ADC7_AMUX_THM5_100K_PU>;
855		qcom,hw-settle-time = <200>;
856		qcom,ratiometric;
857		label = "usb_conn_temp";
858	};
859
860	channel@403 {
861		reg = <PMR735A_ADC7_DIE_TEMP>;
862		label = "pmr735a_die_temp";
863	};
864
865	channel@44a {
866		reg = <PMR735A_ADC7_GPIO1_100K_PU>;
867		qcom,hw-settle-time = <200>;
868		qcom,ratiometric;
869		label = "qtm_w_temp";
870	};
871
872	channel@44b {
873		reg = <PMR735A_ADC7_GPIO2_100K_PU>;
874		qcom,hw-settle-time = <200>;
875		qcom,ratiometric;
876		label = "qtm_n_temp";
877	};
878};
879
880&remoteproc_adsp {
881	status = "okay";
882	firmware-name = "qcom/sm8450/adsp.mbn";
883};
884
885&remoteproc_cdsp {
886	status = "okay";
887	firmware-name = "qcom/sm8450/cdsp.mbn";
888};
889
890&remoteproc_mpss {
891	status = "okay";
892	firmware-name = "qcom/sm8450/modem.mbn";
893};
894
895&remoteproc_slpi {
896	status = "okay";
897	firmware-name = "qcom/sm8450/slpi.mbn";
898};
899
900&qupv3_id_0 {
901	status = "okay";
902};
903
904&qupv3_id_1 {
905	status = "okay";
906};
907
908&sdhc_2 {
909	cd-gpios = <&tlmm 92 GPIO_ACTIVE_HIGH>;
910	pinctrl-names = "default", "sleep";
911	pinctrl-0 = <&sdc2_default_state &sdc2_card_det_n>;
912	pinctrl-1 = <&sdc2_sleep_state &sdc2_card_det_n>;
913	vmmc-supply = <&vreg_l9c_2p96>;
914	vqmmc-supply = <&vreg_l6c_1p8>;
915	no-sdio;
916	no-mmc;
917	status = "okay";
918};
919
920&sound {
921	compatible = "qcom,sm8450-sndcard";
922	model = "SM8450-HDK";
923	audio-routing = "SpkrLeft IN", "WSA_SPK1 OUT",
924			"SpkrRight IN", "WSA_SPK2 OUT",
925			"IN1_HPHL", "HPHL_OUT",
926			"IN2_HPHR", "HPHR_OUT",
927			"AMIC1", "MIC BIAS1",
928			"AMIC2", "MIC BIAS2",
929			"AMIC3", "MIC BIAS3",
930			"AMIC4", "MIC BIAS3",
931			"AMIC5", "MIC BIAS4",
932			"VA DMIC0", "MIC BIAS3",
933			"VA DMIC1", "MIC BIAS3",
934			"VA DMIC2", "MIC BIAS1",
935			"VA DMIC3", "MIC BIAS1",
936			"TX DMIC0", "MIC BIAS3",
937			"TX DMIC1", "MIC BIAS3",
938			"TX DMIC2", "MIC BIAS1",
939			"TX DMIC3", "MIC BIAS1",
940			"TX SWR_INPUT0", "ADC1_OUTPUT",
941			"TX SWR_INPUT1", "ADC2_OUTPUT",
942			"TX SWR_INPUT0", "ADC3_OUTPUT",
943			"TX SWR_INPUT1", "ADC4_OUTPUT";
944
945	wcd-playback-dai-link {
946		link-name = "WCD Playback";
947
948		cpu {
949			sound-dai = <&q6apmbedai RX_CODEC_DMA_RX_0>;
950		};
951
952		codec {
953			sound-dai = <&wcd938x 0>, <&swr1 0>, <&rxmacro 0>;
954		};
955
956		platform {
957			sound-dai = <&q6apm>;
958		};
959	};
960
961	wcd-capture-dai-link {
962		link-name = "WCD Capture";
963
964		cpu {
965			sound-dai = <&q6apmbedai TX_CODEC_DMA_TX_3>;
966		};
967
968		codec {
969			sound-dai = <&wcd938x 1>, <&swr2 0>, <&txmacro 0>;
970		};
971
972		platform {
973			sound-dai = <&q6apm>;
974		};
975	};
976
977	wsa-dai-link {
978		link-name = "WSA Playback";
979
980		cpu {
981			sound-dai = <&q6apmbedai WSA_CODEC_DMA_RX_0>;
982		};
983
984		codec {
985			sound-dai = <&left_spkr>, <&right_spkr>, <&swr0 0>, <&wsamacro 0>;
986		};
987
988		platform {
989			sound-dai = <&q6apm>;
990		};
991	};
992
993	va-dai-link {
994		link-name = "VA Capture";
995
996		cpu {
997			sound-dai = <&q6apmbedai TX_CODEC_DMA_TX_3>;
998		};
999
1000		codec {
1001			sound-dai = <&vamacro 0>;
1002		};
1003
1004		platform {
1005			sound-dai = <&q6apm>;
1006		};
1007	};
1008};
1009
1010&swr0 {
1011	status = "okay";
1012
1013	left_spkr: speaker@0,1 {
1014		compatible = "sdw10217020200";
1015		reg = <0 1>;
1016		pinctrl-names = "default";
1017		pinctrl-0 = <&spkr_1_sd_n_active>;
1018		powerdown-gpios = <&tlmm 1 GPIO_ACTIVE_LOW>;
1019		#sound-dai-cells = <0>;
1020		sound-name-prefix = "SpkrLeft";
1021		#thermal-sensor-cells = <0>;
1022		vdd-supply = <&vreg_s10b_1p8>;
1023	};
1024
1025	right_spkr: speaker@0,2 {
1026		compatible = "sdw10217020200";
1027		reg = <0 2>;
1028		pinctrl-names = "default";
1029		pinctrl-0 = <&spkr_2_sd_n_active>;
1030		powerdown-gpios = <&tlmm 89 GPIO_ACTIVE_LOW>;
1031		#sound-dai-cells = <0>;
1032		sound-name-prefix = "SpkrRight";
1033		#thermal-sensor-cells = <0>;
1034		vdd-supply = <&vreg_s10b_1p8>;
1035	};
1036};
1037
1038&swr1 {
1039	status = "okay";
1040
1041	wcd_rx: codec@0,4 {
1042		compatible = "sdw20217010d00";
1043		reg = <0 4>;
1044		qcom,rx-port-mapping = <1 2 3 4 5>;
1045	};
1046};
1047
1048&swr2 {
1049	status = "okay";
1050
1051	wcd_tx: codec@0,3 {
1052		compatible = "sdw20217010d00";
1053		reg = <0 3>;
1054		qcom,tx-port-mapping = <1 1 2 3>;
1055	};
1056};
1057
1058&tlmm {
1059	gpio-reserved-ranges = <28 4>, <36 4>;
1060
1061	lt9611_irq_pin: lt9611-irq-state {
1062		pins = "gpio44";
1063		function = "gpio";
1064		bias-disable;
1065	};
1066
1067	lt9611_rst_pin: lt9611-rst-state {
1068		pins = "gpio107";
1069		function = "gpio";
1070		output-high;
1071	};
1072
1073	sdc2_card_det_n: sd-card-det-n-state {
1074		pins = "gpio92";
1075		function = "gpio";
1076		drive-strength = <2>;
1077		bias-pull-up;
1078	};
1079};
1080
1081&uart7 {
1082	status = "okay";
1083};
1084
1085&ufs_mem_hc {
1086	status = "okay";
1087
1088	reset-gpios = <&tlmm 210 GPIO_ACTIVE_LOW>;
1089
1090	vcc-supply = <&vreg_l7b_2p5>;
1091	vcc-max-microamp = <1100000>;
1092	vccq-supply = <&vreg_l9b_1p2>;
1093	vccq-max-microamp = <1200000>;
1094	vdd-hba-supply = <&vreg_l9b_1p2>;
1095};
1096
1097&ufs_mem_phy {
1098	status = "okay";
1099
1100	vdda-phy-supply = <&vreg_l5b_0p88>;
1101	vdda-pll-supply = <&vreg_l6b_1p2>;
1102};
1103
1104&usb_1 {
1105	status = "okay";
1106};
1107
1108&usb_1_dwc3 {
1109	dr_mode = "otg";
1110	usb-role-switch;
1111};
1112
1113&usb_1_dwc3_hs {
1114	remote-endpoint = <&pmic_glink_hs_in>;
1115};
1116
1117&usb_1_dwc3_ss {
1118	remote-endpoint = <&usb_1_qmpphy_usb_ss_in>;
1119};
1120
1121&usb_1_hsphy {
1122	status = "okay";
1123
1124	vdda-pll-supply = <&vreg_l5b_0p88>;
1125	vdda18-supply = <&vreg_l1c_1p8>;
1126	vdda33-supply = <&vreg_l2b_3p07>;
1127};
1128
1129&usb_1_qmpphy {
1130	status = "okay";
1131
1132	vdda-phy-supply = <&vreg_l6b_1p2>;
1133	vdda-pll-supply = <&vreg_l1b_0p91>;
1134
1135	orientation-switch;
1136};
1137
1138&usb_1_qmpphy_dp_in {
1139	remote-endpoint = <&mdss_dp0_out>;
1140};
1141
1142&usb_1_qmpphy_out {
1143	remote-endpoint = <&pmic_glink_ss_in>;
1144};
1145
1146&usb_1_qmpphy_usb_ss_in {
1147	remote-endpoint = <&usb_1_dwc3_ss>;
1148};
1149
1150&vamacro {
1151	pinctrl-0 = <&dmic01_default>, <&dmic23_default>;
1152	pinctrl-names = "default";
1153	vdd-micb-supply = <&vreg_s10b_1p8>;
1154	qcom,dmic-sample-rate = <600000>;
1155
1156	status = "okay";
1157};
1158
1159&tlmm {
1160	spkr_1_sd_n_active: spkr-1-sd-n-active-state {
1161		pins = "gpio1";
1162		function = "gpio";
1163		drive-strength = <16>;
1164		bias-disable;
1165		output-low;
1166	};
1167
1168	spkr_2_sd_n_active: spkr-2-sd-n-active-state {
1169		pins = "gpio89";
1170		function = "gpio";
1171		drive-strength = <16>;
1172		bias-disable;
1173		output-low;
1174	};
1175
1176	wcd_default: wcd-reset-n-active-state {
1177		pins = "gpio43";
1178		function = "gpio";
1179		drive-strength = <16>;
1180		bias-disable;
1181		output-low;
1182	};
1183};
1184