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