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