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