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