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