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