xref: /freebsd/sys/contrib/device-tree/src/arm64/qcom/sm8550-qrd.dts (revision 96190b4fef3b4a0cc3ca0606b0c4e3e69a5e6717)
1// SPDX-License-Identifier: BSD-3-Clause
2/*
3 * Copyright (c) 2023 Linaro Limited
4 */
5
6/dts-v1/;
7
8#include <dt-bindings/leds/common.h>
9#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
10#include "sm8550.dtsi"
11#include "pm8010.dtsi"
12#include "pm8550.dtsi"
13#include "pm8550b.dtsi"
14#define PMK8550VE_SID 5
15#include "pm8550ve.dtsi"
16#include "pm8550vs.dtsi"
17#include "pmk8550.dtsi"
18#include "pmr735d_a.dtsi"
19#include "pmr735d_b.dtsi"
20
21/ {
22	model = "Qualcomm Technologies, Inc. SM8550 QRD";
23	compatible = "qcom,sm8550-qrd", "qcom,sm8550";
24	chassis-type = "handset";
25
26	aliases {
27		serial0 = &uart7;
28		serial1 = &uart14;
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 108 GPIO_ACTIVE_LOW>;
48
49		vdd-buck-supply = <&vreg_l15b_1p8>;
50		vdd-rxtx-supply = <&vreg_l15b_1p8>;
51		vdd-io-supply = <&vreg_l15b_1p8>;
52		vdd-mic-bias-supply = <&vreg_bob1>;
53
54		#sound-dai-cells = <1>;
55	};
56
57	chosen {
58		stdout-path = "serial0:115200n8";
59	};
60
61	gpio-keys {
62		compatible = "gpio-keys";
63
64		pinctrl-0 = <&volume_up_n>;
65		pinctrl-names = "default";
66
67		key-volume-up {
68			label = "Volume Up";
69			linux,code = <KEY_VOLUMEUP>;
70			gpios = <&pm8550_gpios 6 GPIO_ACTIVE_LOW>;
71			debounce-interval = <15>;
72			linux,can-disable;
73			wakeup-source;
74		};
75	};
76
77	pmic-glink {
78		compatible = "qcom,sm8550-pmic-glink", "qcom,pmic-glink";
79		#address-cells = <1>;
80		#size-cells = <0>;
81		orientation-gpios = <&tlmm 11 GPIO_ACTIVE_HIGH>;
82
83		connector@0 {
84			compatible = "usb-c-connector";
85			reg = <0>;
86			power-role = "dual";
87			data-role = "dual";
88
89			ports {
90				#address-cells = <1>;
91				#size-cells = <0>;
92
93				port@0 {
94					reg = <0>;
95
96					pmic_glink_hs_in: endpoint {
97						remote-endpoint = <&usb_1_dwc3_hs>;
98					};
99				};
100
101				port@1 {
102					reg = <1>;
103
104					pmic_glink_ss_in: endpoint {
105						remote-endpoint = <&redriver_ss_out>;
106					};
107				};
108
109				port@2 {
110					reg = <2>;
111
112					pmic_glink_sbu: endpoint {
113						remote-endpoint = <&fsa4480_sbu_mux>;
114					};
115				};
116			};
117		};
118	};
119
120	sound {
121		compatible = "qcom,sm8550-sndcard", "qcom,sm8450-sndcard";
122		model = "SM8550-QRD";
123		audio-routing = "SpkrLeft IN", "WSA_SPK1 OUT",
124				"SpkrRight IN", "WSA_SPK2 OUT",
125				"IN1_HPHL", "HPHL_OUT",
126				"IN2_HPHR", "HPHR_OUT",
127				"AMIC2", "MIC BIAS2",
128				"VA DMIC0", "MIC BIAS1",
129				"VA DMIC1", "MIC BIAS1",
130				"VA DMIC2", "MIC BIAS3",
131				"TX DMIC0", "MIC BIAS1",
132				"TX DMIC1", "MIC BIAS2",
133				"TX DMIC2", "MIC BIAS3",
134				"TX SWR_ADC1", "ADC2_OUTPUT";
135
136		wcd-playback-dai-link {
137			link-name = "WCD Playback";
138
139			cpu {
140				sound-dai = <&q6apmbedai RX_CODEC_DMA_RX_0>;
141			};
142
143			codec {
144				sound-dai = <&wcd938x 0>, <&swr1 0>, <&lpass_rxmacro 0>;
145			};
146
147			platform {
148				sound-dai = <&q6apm>;
149			};
150		};
151
152		wcd-capture-dai-link {
153			link-name = "WCD Capture";
154
155			cpu {
156				sound-dai = <&q6apmbedai TX_CODEC_DMA_TX_3>;
157			};
158
159			codec {
160				sound-dai = <&wcd938x 1>, <&swr2 0>, <&lpass_txmacro 0>;
161			};
162
163			platform {
164				sound-dai = <&q6apm>;
165			};
166		};
167
168		wsa-dai-link {
169			link-name = "WSA Playback";
170
171			cpu {
172				sound-dai = <&q6apmbedai WSA_CODEC_DMA_RX_0>;
173			};
174
175			codec {
176				sound-dai = <&north_spkr>, <&south_spkr>, <&swr0 0>, <&lpass_wsamacro 0>;
177			};
178
179			platform {
180				sound-dai = <&q6apm>;
181			};
182		};
183
184		va-dai-link {
185			link-name = "VA Capture";
186
187			cpu {
188				sound-dai = <&q6apmbedai TX_CODEC_DMA_TX_3>;
189			};
190
191			codec {
192				sound-dai = <&lpass_vamacro 0>;
193			};
194
195			platform {
196				sound-dai = <&q6apm>;
197			};
198		};
199	};
200
201	vph_pwr: vph-pwr-regulator {
202		compatible = "regulator-fixed";
203		regulator-name = "vph_pwr";
204		regulator-min-microvolt = <3700000>;
205		regulator-max-microvolt = <3700000>;
206
207		regulator-always-on;
208		regulator-boot-on;
209	};
210};
211
212&apps_rsc {
213	regulators-0 {
214		compatible = "qcom,pm8550-rpmh-regulators";
215		qcom,pmic-id = "b";
216
217		vdd-bob1-supply = <&vph_pwr>;
218		vdd-bob2-supply = <&vph_pwr>;
219		vdd-l1-l4-l10-supply = <&vreg_s6g_1p86>;
220		vdd-l2-l13-l14-supply = <&vreg_bob1>;
221		vdd-l3-supply = <&vreg_s4g_1p25>;
222		vdd-l5-l16-supply = <&vreg_bob1>;
223		vdd-l6-l7-supply = <&vreg_bob1>;
224		vdd-l8-l9-supply = <&vreg_bob1>;
225		vdd-l11-supply = <&vreg_s4g_1p25>;
226		vdd-l12-supply = <&vreg_s6g_1p86>;
227		vdd-l15-supply = <&vreg_s6g_1p86>;
228		vdd-l17-supply = <&vreg_bob2>;
229
230		vreg_bob1: bob1 {
231			regulator-name = "vreg_bob1";
232			regulator-min-microvolt = <3296000>;
233			regulator-max-microvolt = <3960000>;
234			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
235		};
236
237		vreg_bob2: bob2 {
238			regulator-name = "vreg_bob2";
239			regulator-min-microvolt = <2720000>;
240			regulator-max-microvolt = <3960000>;
241			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
242		};
243
244		vreg_l1b_1p8: ldo1 {
245			regulator-name = "vreg_l1b_1p8";
246			regulator-min-microvolt = <1800000>;
247			regulator-max-microvolt = <1800000>;
248			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
249		};
250
251		vreg_l2b_3p0: ldo2 {
252			regulator-name = "vreg_l2b_3p0";
253			regulator-min-microvolt = <3008000>;
254			regulator-max-microvolt = <3008000>;
255			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
256		};
257
258		vreg_l5b_3p1: ldo5 {
259			regulator-name = "vreg_l5b_3p1";
260			regulator-min-microvolt = <3104000>;
261			regulator-max-microvolt = <3104000>;
262			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
263		};
264
265		vreg_l6b_1p8: ldo6 {
266			regulator-name = "vreg_l6b_1p8";
267			regulator-min-microvolt = <1800000>;
268			regulator-max-microvolt = <3008000>;
269			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
270		};
271
272		vreg_l7b_1p8: ldo7 {
273			regulator-name = "vreg_l7b_1p8";
274			regulator-min-microvolt = <1800000>;
275			regulator-max-microvolt = <3008000>;
276			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
277		};
278
279		vreg_l8b_1p8: ldo8 {
280			regulator-name = "vreg_l8b_1p8";
281			regulator-min-microvolt = <1800000>;
282			regulator-max-microvolt = <3008000>;
283			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
284		};
285
286		vreg_l9b_2p9: ldo9 {
287			regulator-name = "vreg_l9b_2p9";
288			regulator-min-microvolt = <2960000>;
289			regulator-max-microvolt = <3008000>;
290			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
291		};
292
293		vreg_l11b_1p2: ldo11 {
294			regulator-name = "vreg_l11b_1p2";
295			regulator-min-microvolt = <1200000>;
296			regulator-max-microvolt = <1504000>;
297			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
298		};
299
300		vreg_l12b_1p8: ldo12 {
301			regulator-name = "vreg_l12b_1p8";
302			regulator-min-microvolt = <1800000>;
303			regulator-max-microvolt = <1800000>;
304			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
305		};
306
307		vreg_l13b_3p0: ldo13 {
308			regulator-name = "vreg_l13b_3p0";
309			regulator-min-microvolt = <3000000>;
310			regulator-max-microvolt = <3000000>;
311			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
312		};
313
314		vreg_l14b_3p2: ldo14 {
315			regulator-name = "vreg_l14b_3p2";
316			regulator-min-microvolt = <3200000>;
317			regulator-max-microvolt = <3200000>;
318			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
319		};
320
321		vreg_l15b_1p8: ldo15 {
322			regulator-name = "vreg_l15b_1p8";
323			regulator-min-microvolt = <1800000>;
324			regulator-max-microvolt = <1800000>;
325			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
326		};
327
328		vreg_l16b_2p8: ldo16 {
329			regulator-name = "vreg_l16b_2p8";
330			regulator-min-microvolt = <2800000>;
331			regulator-max-microvolt = <2800000>;
332			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
333		};
334
335		vreg_l17b_2p5: ldo17 {
336			regulator-name = "vreg_l17b_2p5";
337			regulator-min-microvolt = <2504000>;
338			regulator-max-microvolt = <2504000>;
339			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
340		};
341	};
342
343	regulators-1 {
344		compatible = "qcom,pm8550vs-rpmh-regulators";
345		qcom,pmic-id = "c";
346
347		vdd-l1-supply = <&vreg_s4g_1p25>;
348		vdd-l2-supply = <&vreg_s4e_0p95>;
349		vdd-l3-supply = <&vreg_s4e_0p95>;
350
351		vreg_l3c_0p9: ldo3 {
352			regulator-name = "vreg_l3c_0p9";
353			regulator-min-microvolt = <880000>;
354			regulator-max-microvolt = <912000>;
355			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
356		};
357	};
358
359	regulators-2 {
360		compatible = "qcom,pm8550vs-rpmh-regulators";
361		qcom,pmic-id = "d";
362
363		vdd-l1-supply = <&vreg_s4e_0p95>;
364		vdd-l2-supply = <&vreg_s4e_0p95>;
365		vdd-l3-supply = <&vreg_s4e_0p95>;
366
367		vreg_l1d_0p88: ldo1 {
368			regulator-name = "vreg_l1d_0p88";
369			regulator-min-microvolt = <880000>;
370			regulator-max-microvolt = <920000>;
371			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
372		};
373
374		/* ldo2 supplies SM8550 VDD_LPI_MX */
375	};
376
377	regulators-3 {
378		compatible = "qcom,pm8550vs-rpmh-regulators";
379		qcom,pmic-id = "e";
380
381		vdd-l1-supply = <&vreg_s4e_0p95>;
382		vdd-l2-supply = <&vreg_s4e_0p95>;
383		vdd-l3-supply = <&vreg_s4g_1p25>;
384		vdd-s4-supply = <&vph_pwr>;
385		vdd-s5-supply = <&vph_pwr>;
386
387		vreg_s4e_0p95: smps4 {
388			regulator-name = "vreg_s4e_0p95";
389			regulator-min-microvolt = <904000>;
390			regulator-max-microvolt = <984000>;
391			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
392		};
393
394		vreg_s5e_1p08: smps5 {
395			regulator-name = "vreg_s5e_1p08";
396			regulator-min-microvolt = <1080000>;
397			regulator-max-microvolt = <1120000>;
398			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
399		};
400
401		vreg_l1e_0p88: ldo1 {
402			regulator-name = "vreg_l1e_0p88";
403			regulator-min-microvolt = <880000>;
404			regulator-max-microvolt = <880000>;
405			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
406		};
407
408		vreg_l2e_0p9: ldo2 {
409			regulator-name = "vreg_l2e_0p9";
410			regulator-min-microvolt = <904000>;
411			regulator-max-microvolt = <970000>;
412			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
413		};
414
415		vreg_l3e_1p2: ldo3 {
416			regulator-name = "vreg_l3e_1p2";
417			regulator-min-microvolt = <1200000>;
418			regulator-max-microvolt = <1200000>;
419			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
420		};
421	};
422
423	regulators-4 {
424		compatible = "qcom,pm8550ve-rpmh-regulators";
425		qcom,pmic-id = "f";
426
427		vdd-l1-supply = <&vreg_s4e_0p95>;
428		vdd-l2-supply = <&vreg_s4e_0p95>;
429		vdd-l3-supply = <&vreg_s4e_0p95>;
430		vdd-s4-supply = <&vph_pwr>;
431
432		vreg_s4f_0p5: smps4 {
433			regulator-name = "vreg_s4f_0p5";
434			regulator-min-microvolt = <500000>;
435			regulator-max-microvolt = <700000>;
436			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
437		};
438
439		vreg_l1f_0p9: ldo1 {
440			regulator-name = "vreg_l1f_0p9";
441			regulator-min-microvolt = <912000>;
442			regulator-max-microvolt = <912000>;
443			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
444		};
445
446		vreg_l2f_0p88: ldo2 {
447			regulator-name = "vreg_l2f_0p88";
448			regulator-min-microvolt = <880000>;
449			regulator-max-microvolt = <912000>;
450			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
451		};
452
453		vreg_l3f_0p88: ldo3 {
454			regulator-name = "vreg_l3f_0p88";
455			regulator-min-microvolt = <880000>;
456			regulator-max-microvolt = <912000>;
457			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
458		};
459	};
460
461	regulators-5 {
462		compatible = "qcom,pm8550vs-rpmh-regulators";
463		qcom,pmic-id = "g";
464
465		vdd-l1-supply = <&vreg_s4g_1p25>;
466		vdd-l2-supply = <&vreg_s4g_1p25>;
467		vdd-l3-supply = <&vreg_s4g_1p25>;
468		vdd-s1-supply = <&vph_pwr>;
469		vdd-s2-supply = <&vph_pwr>;
470		vdd-s3-supply = <&vph_pwr>;
471		vdd-s4-supply = <&vph_pwr>;
472		vdd-s5-supply = <&vph_pwr>;
473		vdd-s6-supply = <&vph_pwr>;
474
475		vreg_s1g_1p25: smps1 {
476			regulator-name = "vreg_s1g_1p25";
477			regulator-min-microvolt = <1200000>;
478			regulator-max-microvolt = <1300000>;
479			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
480		};
481
482		vreg_s2g_0p85: smps2 {
483			regulator-name = "vreg_s2g_0p85";
484			regulator-min-microvolt = <800000>;
485			regulator-max-microvolt = <1000000>;
486			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
487		};
488
489		vreg_s3g_0p8: smps3 {
490			regulator-name = "vreg_s3g_0p8";
491			regulator-min-microvolt = <300000>;
492			regulator-max-microvolt = <1004000>;
493			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
494		};
495
496		vreg_s4g_1p25: smps4 {
497			regulator-name = "vreg_s4g_1p25";
498			regulator-min-microvolt = <1200000>;
499			regulator-max-microvolt = <1352000>;
500			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
501		};
502
503		vreg_s5g_0p85: smps5 {
504			regulator-name = "vreg_s5g_0p85";
505			regulator-min-microvolt = <500000>;
506			regulator-max-microvolt = <1004000>;
507			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
508		};
509
510		vreg_s6g_1p86: smps6 {
511			regulator-name = "vreg_s6g_1p86";
512			regulator-min-microvolt = <1800000>;
513			regulator-max-microvolt = <2000000>;
514			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
515		};
516
517		vreg_l1g_1p2: ldo1 {
518			regulator-name = "vreg_l1g_1p2";
519			regulator-min-microvolt = <1200000>;
520			regulator-max-microvolt = <1200000>;
521			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
522		};
523
524		vreg_l3g_1p2: ldo3 {
525			regulator-name = "vreg_l3g_1p2";
526			regulator-min-microvolt = <1200000>;
527			regulator-max-microvolt = <1200000>;
528			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
529		};
530	};
531
532	regulators-6 {
533		compatible = "qcom,pm8010-rpmh-regulators";
534		qcom,pmic-id = "m";
535
536		vdd-l1-l2-supply = <&vreg_s4g_1p25>;
537		vdd-l3-l4-supply = <&vreg_bob2>;
538		vdd-l5-supply = <&vreg_s6g_1p86>;
539		vdd-l6-supply = <&vreg_s6g_1p86>;
540		vdd-l7-supply = <&vreg_bob1>;
541
542		vreg_l1m_1p056: ldo1 {
543			regulator-name = "vreg_l1m_1p056";
544			regulator-min-microvolt = <1056000>;
545			regulator-max-microvolt = <1056000>;
546			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
547		};
548
549		vreg_l2m_1p056: ldo2 {
550			regulator-name = "vreg_l2m_1p056";
551			regulator-min-microvolt = <1056000>;
552			regulator-max-microvolt = <1056000>;
553			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
554		};
555
556		vreg_l3m_2p8: ldo3 {
557			regulator-name = "vreg_l3m_2p8";
558			regulator-min-microvolt = <2800000>;
559			regulator-max-microvolt = <2800000>;
560			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
561		};
562
563		vreg_l4m_2p8: ldo4 {
564			regulator-name = "vreg_l4m_2p8";
565			regulator-min-microvolt = <2800000>;
566			regulator-max-microvolt = <2800000>;
567			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
568		};
569
570		vreg_l5m_1p8: ldo5 {
571			regulator-name = "vreg_l5m_1p8";
572			regulator-min-microvolt = <1800000>;
573			regulator-max-microvolt = <1800000>;
574			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
575		};
576
577		vreg_l6m_1p8: ldo6 {
578			regulator-name = "vreg_l6m_1p8";
579			regulator-min-microvolt = <1800000>;
580			regulator-max-microvolt = <1800000>;
581			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
582		};
583
584		vreg_l7m_2p9: ldo7 {
585			regulator-name = "vreg_l7m_2p9";
586			regulator-min-microvolt = <2800000>;
587			regulator-max-microvolt = <2904000>;
588			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
589		};
590	};
591
592	regulators-7 {
593		compatible = "qcom,pm8010-rpmh-regulators";
594		qcom,pmic-id = "n";
595
596		vdd-l1-l2-supply = <&vreg_s4g_1p25>;
597		vdd-l3-l4-supply = <&vreg_bob2>;
598		vdd-l5-supply = <&vreg_s6g_1p86>;
599		vdd-l6-supply = <&vreg_bob1>;
600		vdd-l7-supply = <&vreg_bob1>;
601
602		vreg_l1n_1p1: ldo1 {
603			regulator-name = "vreg_l1n_1p1";
604			regulator-min-microvolt = <1104000>;
605			regulator-max-microvolt = <1200000>;
606			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
607		};
608
609		vreg_l2n_1p1: ldo2 {
610			regulator-name = "vreg_l2n_1p1";
611			regulator-min-microvolt = <1104000>;
612			regulator-max-microvolt = <1200000>;
613			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
614		};
615
616		vreg_l3n_2p8: ldo3 {
617			regulator-name = "vreg_l3n_2p8";
618			regulator-min-microvolt = <2800000>;
619			regulator-max-microvolt = <3000000>;
620			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
621		};
622
623		vreg_l4n_2p8: ldo4 {
624			regulator-name = "vreg_l4n_2p8";
625			regulator-min-microvolt = <2800000>;
626			regulator-max-microvolt = <3300000>;
627			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
628		};
629
630		vreg_l5n_1p8: ldo5 {
631			regulator-name = "vreg_l5n_1p8";
632			regulator-min-microvolt = <1800000>;
633			regulator-max-microvolt = <1800000>;
634			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
635		};
636
637		vreg_l6n_3p3: ldo6 {
638			regulator-name = "vreg_l6n_3p3";
639			regulator-min-microvolt = <2800000>;
640			regulator-max-microvolt = <3304000>;
641			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
642		};
643
644		vreg_l7n_2p96: ldo7 {
645			regulator-name = "vreg_l7n_2p96";
646			regulator-min-microvolt = <2800000>;
647			regulator-max-microvolt = <2960000>;
648			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
649		};
650	};
651};
652
653&i2c_master_hub_0 {
654	status = "okay";
655};
656
657&i2c_hub_2 {
658	status = "okay";
659
660	typec-retimer@1c {
661		compatible = "onnn,nb7vpq904m";
662		reg = <0x1c>;
663
664		vcc-supply = <&vreg_l15b_1p8>;
665
666		retimer-switch;
667		orientation-switch;
668
669		ports {
670			#address-cells = <1>;
671			#size-cells = <0>;
672
673			port@0 {
674				reg = <0>;
675
676				redriver_ss_out: endpoint {
677					remote-endpoint = <&pmic_glink_ss_in>;
678				};
679			};
680
681			port@1 {
682				reg = <1>;
683
684				redriver_ss_in: endpoint {
685					data-lanes = <3 2 1 0>;
686					remote-endpoint = <&usb_dp_qmpphy_out>;
687				};
688			};
689		};
690	};
691
692	typec-mux@42 {
693		compatible = "fcs,fsa4480";
694		reg = <0x42>;
695
696		vcc-supply = <&vreg_bob1>;
697
698		mode-switch;
699		orientation-switch;
700
701		port {
702			fsa4480_sbu_mux: endpoint {
703				remote-endpoint = <&pmic_glink_sbu>;
704			};
705		};
706	};
707};
708
709&ipa {
710	qcom,gsi-loader = "self";
711	memory-region = <&ipa_fw_mem>;
712	firmware-name = "qcom/sm8550/ipa_fws.mbn";
713	status = "okay";
714};
715
716&gcc {
717	clocks = <&bi_tcxo_div2>, <&sleep_clk>,
718		 <&pcie0_phy>,
719		 <&pcie1_phy>,
720		 <0>,
721		 <&ufs_mem_phy 0>,
722		 <&ufs_mem_phy 1>,
723		 <&ufs_mem_phy 2>,
724		 <&usb_dp_qmpphy QMP_USB43DP_USB3_PIPE_CLK>;
725};
726
727&gpu {
728	status = "okay";
729
730	zap-shader {
731		firmware-name = "qcom/sm8550/a740_zap.mbn";
732	};
733};
734
735&lpass_tlmm {
736	spkr_1_sd_n_active: spkr-1-sd-n-active-state {
737		pins = "gpio17";
738		function = "gpio";
739		drive-strength = <16>;
740		bias-disable;
741		output-low;
742	};
743
744	spkr_2_sd_n_active: spkr-2-sd-n-active-state {
745		pins = "gpio18";
746		function = "gpio";
747		drive-strength = <16>;
748		bias-disable;
749		output-low;
750	};
751};
752
753&mdss {
754	status = "okay";
755};
756
757&mdss_dsi0 {
758	vdda-supply = <&vreg_l3e_1p2>;
759	status = "okay";
760
761	panel@0 {
762		compatible = "visionox,vtdr6130";
763		reg = <0>;
764
765		pinctrl-0 = <&sde_dsi_active>, <&sde_te_active>;
766		pinctrl-1 = <&sde_dsi_suspend>, <&sde_te_suspend>;
767		pinctrl-names = "default", "sleep";
768
769		vci-supply = <&vreg_l13b_3p0>;
770		vdd-supply = <&vreg_l11b_1p2>;
771		vddio-supply = <&vreg_l12b_1p8>;
772
773		reset-gpios = <&tlmm 133 GPIO_ACTIVE_LOW>;
774
775		port {
776			panel0_in: endpoint {
777				remote-endpoint = <&mdss_dsi0_out>;
778			};
779		};
780	};
781};
782
783&mdss_dsi0_out {
784	remote-endpoint = <&panel0_in>;
785	data-lanes = <0 1 2 3>;
786};
787
788&mdss_dsi0_phy {
789	vdds-supply = <&vreg_l1e_0p88>;
790	status = "okay";
791};
792
793&mdss_dp0 {
794	status = "okay";
795};
796
797&mdss_dp0_out {
798	data-lanes = <0 1>;
799	remote-endpoint = <&usb_dp_qmpphy_dp_in>;
800};
801
802&pcie_1_phy_aux_clk {
803	status = "disabled";
804};
805
806&pcie0 {
807	wake-gpios = <&tlmm 96 GPIO_ACTIVE_HIGH>;
808	perst-gpios = <&tlmm 94 GPIO_ACTIVE_LOW>;
809
810	pinctrl-0 = <&pcie0_default_state>;
811	pinctrl-names = "default";
812
813	status = "okay";
814};
815
816&pcie0_phy {
817	vdda-phy-supply = <&vreg_l1e_0p88>;
818	vdda-pll-supply = <&vreg_l3e_1p2>;
819
820	status = "okay";
821};
822
823&pm8550_flash {
824	status = "okay";
825
826	led-0 {
827		function = LED_FUNCTION_FLASH;
828		color = <LED_COLOR_ID_YELLOW>;
829		led-sources = <1>, <4>;
830		led-max-microamp = <500000>;
831		flash-max-microamp = <2000000>;
832		flash-max-timeout-us = <1280000>;
833		function-enumerator = <0>;
834	};
835
836	led-1 {
837		function = LED_FUNCTION_FLASH;
838		color = <LED_COLOR_ID_WHITE>;
839		led-sources = <2>, <3>;
840		led-max-microamp = <500000>;
841		flash-max-microamp = <2000000>;
842		flash-max-timeout-us = <1280000>;
843		function-enumerator = <1>;
844	};
845};
846
847&pm8550_gpios {
848	volume_up_n: volume-up-n-state {
849		pins = "gpio6";
850		function = "normal";
851		power-source = <1>;
852		bias-pull-up;
853		input-enable;
854	};
855};
856
857&pm8550_pwm {
858	status = "okay";
859
860	multi-led {
861		color = <LED_COLOR_ID_RGB>;
862		function = LED_FUNCTION_STATUS;
863
864		#address-cells = <1>;
865		#size-cells = <0>;
866
867		led@1 {
868			reg = <1>;
869			color = <LED_COLOR_ID_RED>;
870		};
871
872		led@2 {
873			reg = <2>;
874			color = <LED_COLOR_ID_GREEN>;
875		};
876
877		led@3 {
878			reg = <3>;
879			color = <LED_COLOR_ID_BLUE>;
880		};
881	};
882};
883
884&pm8550b_eusb2_repeater {
885	vdd18-supply = <&vreg_l15b_1p8>;
886	vdd3-supply = <&vreg_l5b_3p1>;
887};
888
889&pon_pwrkey {
890	status = "okay";
891};
892
893&pon_resin {
894	linux,code = <KEY_VOLUMEDOWN>;
895
896	status = "okay";
897};
898
899&pcie_1_phy_aux_clk {
900	clock-frequency = <1000>;
901};
902
903&qupv3_id_0 {
904	status = "okay";
905};
906
907&qupv3_id_1 {
908	status = "okay";
909};
910
911&remoteproc_adsp {
912	firmware-name = "qcom/sm8550/adsp.mbn",
913			"qcom/sm8550/adsp_dtb.mbn";
914	status = "okay";
915};
916
917&remoteproc_cdsp {
918	firmware-name = "qcom/sm8550/cdsp.mbn",
919			"qcom/sm8550/cdsp_dtb.mbn";
920	status = "okay";
921};
922
923&remoteproc_mpss {
924	firmware-name = "qcom/sm8550/modem.mbn",
925			"qcom/sm8550/modem_dtb.mbn";
926	status = "okay";
927};
928
929&sleep_clk {
930	clock-frequency = <32000>;
931};
932
933&swr0 {
934	status = "okay";
935
936	/* WSA8845, Speaker North */
937	north_spkr: speaker@0,0 {
938		compatible = "sdw20217020400";
939		reg = <0 0>;
940		pinctrl-names = "default";
941		pinctrl-0 = <&spkr_1_sd_n_active>;
942		powerdown-gpios = <&lpass_tlmm 17 GPIO_ACTIVE_LOW>;
943		#sound-dai-cells = <0>;
944		sound-name-prefix = "SpkrLeft";
945		vdd-1p8-supply = <&vreg_l15b_1p8>;
946		vdd-io-supply = <&vreg_l3g_1p2>;
947	};
948
949	/* WSA8845, Speaker South */
950	south_spkr: speaker@0,1 {
951		compatible = "sdw20217020400";
952		reg = <0 1>;
953		pinctrl-names = "default";
954		pinctrl-0 = <&spkr_2_sd_n_active>;
955		powerdown-gpios = <&lpass_tlmm 18 GPIO_ACTIVE_LOW>;
956		#sound-dai-cells = <0>;
957		sound-name-prefix = "SpkrRight";
958		vdd-1p8-supply = <&vreg_l15b_1p8>;
959		vdd-io-supply = <&vreg_l3g_1p2>;
960	};
961};
962
963&swr1 {
964	status = "okay";
965
966	/* WCD9385 RX */
967	wcd_rx: codec@0,4 {
968		compatible = "sdw20217010d00";
969		reg = <0 4>;
970		qcom,rx-port-mapping = <1 2 3 4 5>;
971	};
972};
973
974&swr2 {
975	status = "okay";
976
977	/* WCD9385 TX */
978	wcd_tx: codec@0,3 {
979		compatible = "sdw20217010d00";
980		reg = <0 3>;
981		qcom,tx-port-mapping = <1 1 2 3>;
982	};
983};
984
985&tlmm {
986	gpio-reserved-ranges = <32 8>;
987
988	bt_default: bt-default-state {
989		bt-en-pins {
990			pins = "gpio81";
991			function = "gpio";
992			drive-strength = <16>;
993			bias-disable;
994		};
995
996		sw-ctrl-pins {
997			pins = "gpio82";
998			function = "gpio";
999			bias-pull-down;
1000		};
1001	};
1002
1003	sde_dsi_active: sde-dsi-active-state {
1004		pins = "gpio133";
1005		function = "gpio";
1006		drive-strength = <8>;
1007		bias-disable;
1008	};
1009
1010	sde_dsi_suspend: sde-dsi-suspend-state {
1011		pins = "gpio133";
1012		function = "gpio";
1013		drive-strength = <2>;
1014		bias-pull-down;
1015	};
1016
1017	sde_te_active: sde-te-active-state {
1018		pins = "gpio86";
1019		function = "mdp_vsync";
1020		drive-strength = <2>;
1021		bias-pull-down;
1022	};
1023
1024	sde_te_suspend: sde-te-suspend-state {
1025		pins = "gpio86";
1026		function = "mdp_vsync";
1027		drive-strength = <2>;
1028		bias-pull-down;
1029	};
1030
1031	wcd_default: wcd-reset-n-active-state {
1032		pins = "gpio108";
1033		function = "gpio";
1034		drive-strength = <16>;
1035		bias-disable;
1036		output-low;
1037	};
1038};
1039
1040&uart7 {
1041	status = "okay";
1042};
1043
1044&uart14 {
1045	status = "okay";
1046
1047	bluetooth {
1048		compatible = "qcom,wcn7850-bt";
1049
1050		vddio-supply = <&vreg_l15b_1p8>;
1051		vddaon-supply = <&vreg_s4e_0p95>;
1052		vdddig-supply = <&vreg_s4e_0p95>;
1053		vddrfa0p8-supply = <&vreg_s4e_0p95>;
1054		vddrfa1p2-supply = <&vreg_s4g_1p25>;
1055		vddrfa1p9-supply = <&vreg_s6g_1p86>;
1056
1057		max-speed = <3200000>;
1058
1059		enable-gpios = <&tlmm 81 GPIO_ACTIVE_HIGH>;
1060		swctrl-gpios = <&tlmm 82 GPIO_ACTIVE_HIGH>;
1061
1062		pinctrl-0 = <&bt_default>;
1063		pinctrl-names = "default";
1064	};
1065};
1066
1067&ufs_mem_hc {
1068	reset-gpios = <&tlmm 210 GPIO_ACTIVE_LOW>;
1069	vcc-supply = <&vreg_l17b_2p5>;
1070	vcc-max-microamp = <1300000>;
1071	vccq-supply = <&vreg_l1g_1p2>;
1072	vccq-max-microamp = <1200000>;
1073	vdd-hba-supply = <&vreg_l3g_1p2>;
1074
1075	status = "okay";
1076};
1077
1078&ufs_mem_phy {
1079	vdda-phy-supply = <&vreg_l1d_0p88>;
1080	vdda-pll-supply = <&vreg_l3e_1p2>;
1081
1082	status = "okay";
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_dp_qmpphy_usb_ss_in>;
1100};
1101
1102&usb_1_hsphy {
1103	vdd-supply = <&vreg_l1e_0p88>;
1104	vdda12-supply = <&vreg_l3e_1p2>;
1105
1106	phys = <&pm8550b_eusb2_repeater>;
1107
1108	status = "okay";
1109};
1110
1111&usb_dp_qmpphy {
1112	vdda-phy-supply = <&vreg_l3e_1p2>;
1113	vdda-pll-supply = <&vreg_l3f_0p88>;
1114
1115	orientation-switch;
1116
1117	status = "okay";
1118};
1119
1120&usb_dp_qmpphy_dp_in {
1121	remote-endpoint = <&mdss_dp0_out>;
1122};
1123
1124&usb_dp_qmpphy_out {
1125	remote-endpoint = <&redriver_ss_in>;
1126};
1127
1128&usb_dp_qmpphy_usb_ss_in {
1129	remote-endpoint = <&usb_1_dwc3_ss>;
1130};
1131
1132&xo_board {
1133	clock-frequency = <76800000>;
1134};
1135