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