blob: 774bdfcffec3247eca42d97ee5ca8d7cd627f1b9 [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001// 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"
Tom Rini93743d22024-04-01 09:08:13 -040014#define PMK8550VE_SID 5
Tom Rini53633a82024-02-29 12:33:36 -050015#include "pm8550ve.dtsi"
16#include "pm8550vs.dtsi"
17#include "pmk8550.dtsi"
18#include "pmr735d_a.dtsi"
19#include "pmr735d_b.dtsi"
20
21/ {
22 model = "Qualcomm Technologies, Inc. SM8550 QRD";
23 compatible = "qcom,sm8550-qrd", "qcom,sm8550";
24 chassis-type = "handset";
25
26 aliases {
27 serial0 = &uart7;
28 serial1 = &uart14;
29 };
30
31 wcd938x: audio-codec {
32 compatible = "qcom,wcd9385-codec";
33
34 pinctrl-names = "default";
35 pinctrl-0 = <&wcd_default>;
36
37 qcom,micbias1-microvolt = <1800000>;
38 qcom,micbias2-microvolt = <1800000>;
39 qcom,micbias3-microvolt = <1800000>;
40 qcom,micbias4-microvolt = <1800000>;
41 qcom,mbhc-buttons-vthreshold-microvolt = <75000 150000 237000 500000 500000 500000 500000 500000>;
42 qcom,mbhc-headset-vthreshold-microvolt = <1700000>;
43 qcom,mbhc-headphone-vthreshold-microvolt = <50000>;
44 qcom,rx-device = <&wcd_rx>;
45 qcom,tx-device = <&wcd_tx>;
46
47 reset-gpios = <&tlmm 108 GPIO_ACTIVE_LOW>;
48
49 vdd-buck-supply = <&vreg_l15b_1p8>;
50 vdd-rxtx-supply = <&vreg_l15b_1p8>;
51 vdd-io-supply = <&vreg_l15b_1p8>;
52 vdd-mic-bias-supply = <&vreg_bob1>;
53
54 #sound-dai-cells = <1>;
55 };
56
57 chosen {
58 stdout-path = "serial0:115200n8";
59 };
60
61 gpio-keys {
62 compatible = "gpio-keys";
63
64 pinctrl-0 = <&volume_up_n>;
65 pinctrl-names = "default";
66
67 key-volume-up {
68 label = "Volume Up";
69 linux,code = <KEY_VOLUMEUP>;
70 gpios = <&pm8550_gpios 6 GPIO_ACTIVE_LOW>;
71 debounce-interval = <15>;
72 linux,can-disable;
73 wakeup-source;
74 };
75 };
76
77 pmic-glink {
78 compatible = "qcom,sm8550-pmic-glink", "qcom,pmic-glink";
79 #address-cells = <1>;
80 #size-cells = <0>;
81 orientation-gpios = <&tlmm 11 GPIO_ACTIVE_HIGH>;
82
83 connector@0 {
84 compatible = "usb-c-connector";
85 reg = <0>;
86 power-role = "dual";
87 data-role = "dual";
88
89 ports {
90 #address-cells = <1>;
91 #size-cells = <0>;
92
93 port@0 {
94 reg = <0>;
95
96 pmic_glink_hs_in: endpoint {
97 remote-endpoint = <&usb_1_dwc3_hs>;
98 };
99 };
100
101 port@1 {
102 reg = <1>;
103
104 pmic_glink_ss_in: endpoint {
105 remote-endpoint = <&redriver_ss_out>;
106 };
107 };
108
109 port@2 {
110 reg = <2>;
111
112 pmic_glink_sbu: endpoint {
113 remote-endpoint = <&fsa4480_sbu_mux>;
114 };
115 };
116 };
117 };
118 };
119
120 sound {
121 compatible = "qcom,sm8550-sndcard", "qcom,sm8450-sndcard";
122 model = "SM8550-QRD";
123 audio-routing = "SpkrLeft IN", "WSA_SPK1 OUT",
124 "SpkrRight IN", "WSA_SPK2 OUT",
125 "IN1_HPHL", "HPHL_OUT",
126 "IN2_HPHR", "HPHR_OUT",
Tom Rini6bb92fc2024-05-20 09:54:58 -0600127 "AMIC1", "MIC BIAS1",
Tom Rini53633a82024-02-29 12:33:36 -0500128 "AMIC2", "MIC BIAS2",
Tom Rini6bb92fc2024-05-20 09:54:58 -0600129 "AMIC3", "MIC BIAS3",
130 "AMIC4", "MIC BIAS3",
131 "AMIC5", "MIC BIAS4",
Tom Rini53633a82024-02-29 12:33:36 -0500132 "VA DMIC0", "MIC BIAS1",
133 "VA DMIC1", "MIC BIAS1",
134 "VA DMIC2", "MIC BIAS3",
135 "TX DMIC0", "MIC BIAS1",
136 "TX DMIC1", "MIC BIAS2",
137 "TX DMIC2", "MIC BIAS3",
Tom Rini6bb92fc2024-05-20 09:54:58 -0600138 "TX SWR_INPUT0", "ADC1_OUTPUT",
139 "TX SWR_INPUT1", "ADC2_OUTPUT",
140 "TX SWR_INPUT0", "ADC3_OUTPUT",
141 "TX SWR_INPUT1", "ADC4_OUTPUT";
Tom Rini53633a82024-02-29 12:33:36 -0500142
143 wcd-playback-dai-link {
144 link-name = "WCD Playback";
145
146 cpu {
147 sound-dai = <&q6apmbedai RX_CODEC_DMA_RX_0>;
148 };
149
150 codec {
151 sound-dai = <&wcd938x 0>, <&swr1 0>, <&lpass_rxmacro 0>;
152 };
153
154 platform {
155 sound-dai = <&q6apm>;
156 };
157 };
158
159 wcd-capture-dai-link {
160 link-name = "WCD Capture";
161
162 cpu {
163 sound-dai = <&q6apmbedai TX_CODEC_DMA_TX_3>;
164 };
165
166 codec {
167 sound-dai = <&wcd938x 1>, <&swr2 0>, <&lpass_txmacro 0>;
168 };
169
170 platform {
171 sound-dai = <&q6apm>;
172 };
173 };
174
175 wsa-dai-link {
176 link-name = "WSA Playback";
177
178 cpu {
179 sound-dai = <&q6apmbedai WSA_CODEC_DMA_RX_0>;
180 };
181
182 codec {
183 sound-dai = <&north_spkr>, <&south_spkr>, <&swr0 0>, <&lpass_wsamacro 0>;
184 };
185
186 platform {
187 sound-dai = <&q6apm>;
188 };
189 };
190
191 va-dai-link {
192 link-name = "VA Capture";
193
194 cpu {
195 sound-dai = <&q6apmbedai TX_CODEC_DMA_TX_3>;
196 };
197
198 codec {
199 sound-dai = <&lpass_vamacro 0>;
200 };
201
202 platform {
203 sound-dai = <&q6apm>;
204 };
205 };
206 };
207
208 vph_pwr: vph-pwr-regulator {
209 compatible = "regulator-fixed";
210 regulator-name = "vph_pwr";
211 regulator-min-microvolt = <3700000>;
212 regulator-max-microvolt = <3700000>;
213
214 regulator-always-on;
215 regulator-boot-on;
216 };
Tom Rini6b642ac2024-10-01 12:20:28 -0600217
218 wcn7850-pmu {
219 compatible = "qcom,wcn7850-pmu";
220
221 pinctrl-names = "default";
222 pinctrl-0 = <&wlan_en>, <&pmk8550_sleep_clk>;
223
224 wlan-enable-gpios = <&tlmm 80 GPIO_ACTIVE_HIGH>;
225 /*
226 * TODO Add bt-enable-gpios once the Bluetooth driver is
227 * converted to using the power sequencer.
228 */
229
230 vdd-supply = <&vreg_s5g_0p85>;
231 vddio-supply = <&vreg_l15b_1p8>;
232 vddaon-supply = <&vreg_s2g_0p85>;
233 vdddig-supply = <&vreg_s4e_0p95>;
234 vddrfa1p2-supply = <&vreg_s4g_1p25>;
235 vddrfa1p8-supply = <&vreg_s6g_1p86>;
236
237 regulators {
238 vreg_pmu_rfa_cmn: ldo0 {
239 regulator-name = "vreg_pmu_rfa_cmn";
240 };
241
242 vreg_pmu_aon_0p59: ldo1 {
243 regulator-name = "vreg_pmu_aon_0p59";
244 };
245
246 vreg_pmu_wlcx_0p8: ldo2 {
247 regulator-name = "vreg_pmu_wlcx_0p8";
248 };
249
250 vreg_pmu_wlmx_0p85: ldo3 {
251 regulator-name = "vreg_pmu_wlmx_0p85";
252 };
253
254 vreg_pmu_btcmx_0p85: ldo4 {
255 regulator-name = "vreg_pmu_btcmx_0p85";
256 };
257
258 vreg_pmu_rfa_0p8: ldo5 {
259 regulator-name = "vreg_pmu_rfa_0p8";
260 };
261
262 vreg_pmu_rfa_1p2: ldo6 {
263 regulator-name = "vreg_pmu_rfa_1p2";
264 };
265
266 vreg_pmu_rfa_1p8: ldo7 {
267 regulator-name = "vreg_pmu_rfa_1p8";
268 };
269
270 vreg_pmu_pcie_0p9: ldo8 {
271 regulator-name = "vreg_pmu_pcie_0p9";
272 };
273
274 vreg_pmu_pcie_1p8: ldo9 {
275 regulator-name = "vreg_pmu_pcie_1p8";
276 };
277 };
278 };
Tom Rini53633a82024-02-29 12:33:36 -0500279};
280
281&apps_rsc {
282 regulators-0 {
283 compatible = "qcom,pm8550-rpmh-regulators";
284 qcom,pmic-id = "b";
285
286 vdd-bob1-supply = <&vph_pwr>;
287 vdd-bob2-supply = <&vph_pwr>;
288 vdd-l1-l4-l10-supply = <&vreg_s6g_1p86>;
289 vdd-l2-l13-l14-supply = <&vreg_bob1>;
290 vdd-l3-supply = <&vreg_s4g_1p25>;
291 vdd-l5-l16-supply = <&vreg_bob1>;
292 vdd-l6-l7-supply = <&vreg_bob1>;
293 vdd-l8-l9-supply = <&vreg_bob1>;
294 vdd-l11-supply = <&vreg_s4g_1p25>;
295 vdd-l12-supply = <&vreg_s6g_1p86>;
296 vdd-l15-supply = <&vreg_s6g_1p86>;
297 vdd-l17-supply = <&vreg_bob2>;
298
299 vreg_bob1: bob1 {
300 regulator-name = "vreg_bob1";
301 regulator-min-microvolt = <3296000>;
302 regulator-max-microvolt = <3960000>;
303 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
304 };
305
306 vreg_bob2: bob2 {
307 regulator-name = "vreg_bob2";
308 regulator-min-microvolt = <2720000>;
309 regulator-max-microvolt = <3960000>;
310 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
311 };
312
313 vreg_l1b_1p8: ldo1 {
314 regulator-name = "vreg_l1b_1p8";
315 regulator-min-microvolt = <1800000>;
316 regulator-max-microvolt = <1800000>;
317 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
318 };
319
320 vreg_l2b_3p0: ldo2 {
321 regulator-name = "vreg_l2b_3p0";
322 regulator-min-microvolt = <3008000>;
323 regulator-max-microvolt = <3008000>;
324 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
325 };
326
327 vreg_l5b_3p1: ldo5 {
328 regulator-name = "vreg_l5b_3p1";
329 regulator-min-microvolt = <3104000>;
330 regulator-max-microvolt = <3104000>;
331 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
332 };
333
334 vreg_l6b_1p8: ldo6 {
335 regulator-name = "vreg_l6b_1p8";
336 regulator-min-microvolt = <1800000>;
337 regulator-max-microvolt = <3008000>;
338 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
339 };
340
341 vreg_l7b_1p8: ldo7 {
342 regulator-name = "vreg_l7b_1p8";
343 regulator-min-microvolt = <1800000>;
344 regulator-max-microvolt = <3008000>;
345 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
346 };
347
348 vreg_l8b_1p8: ldo8 {
349 regulator-name = "vreg_l8b_1p8";
350 regulator-min-microvolt = <1800000>;
351 regulator-max-microvolt = <3008000>;
352 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
353 };
354
355 vreg_l9b_2p9: ldo9 {
356 regulator-name = "vreg_l9b_2p9";
357 regulator-min-microvolt = <2960000>;
358 regulator-max-microvolt = <3008000>;
359 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
360 };
361
362 vreg_l11b_1p2: ldo11 {
363 regulator-name = "vreg_l11b_1p2";
364 regulator-min-microvolt = <1200000>;
365 regulator-max-microvolt = <1504000>;
366 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
367 };
368
369 vreg_l12b_1p8: ldo12 {
370 regulator-name = "vreg_l12b_1p8";
371 regulator-min-microvolt = <1800000>;
372 regulator-max-microvolt = <1800000>;
373 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
374 };
375
376 vreg_l13b_3p0: ldo13 {
377 regulator-name = "vreg_l13b_3p0";
378 regulator-min-microvolt = <3000000>;
379 regulator-max-microvolt = <3000000>;
380 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
381 };
382
383 vreg_l14b_3p2: ldo14 {
384 regulator-name = "vreg_l14b_3p2";
385 regulator-min-microvolt = <3200000>;
386 regulator-max-microvolt = <3200000>;
387 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
388 };
389
390 vreg_l15b_1p8: ldo15 {
391 regulator-name = "vreg_l15b_1p8";
392 regulator-min-microvolt = <1800000>;
393 regulator-max-microvolt = <1800000>;
394 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
395 };
396
397 vreg_l16b_2p8: ldo16 {
398 regulator-name = "vreg_l16b_2p8";
399 regulator-min-microvolt = <2800000>;
400 regulator-max-microvolt = <2800000>;
401 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
402 };
403
404 vreg_l17b_2p5: ldo17 {
405 regulator-name = "vreg_l17b_2p5";
406 regulator-min-microvolt = <2504000>;
407 regulator-max-microvolt = <2504000>;
408 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
409 };
410 };
411
412 regulators-1 {
413 compatible = "qcom,pm8550vs-rpmh-regulators";
414 qcom,pmic-id = "c";
415
416 vdd-l1-supply = <&vreg_s4g_1p25>;
417 vdd-l2-supply = <&vreg_s4e_0p95>;
418 vdd-l3-supply = <&vreg_s4e_0p95>;
419
420 vreg_l3c_0p9: ldo3 {
421 regulator-name = "vreg_l3c_0p9";
422 regulator-min-microvolt = <880000>;
423 regulator-max-microvolt = <912000>;
424 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
425 };
426 };
427
428 regulators-2 {
429 compatible = "qcom,pm8550vs-rpmh-regulators";
430 qcom,pmic-id = "d";
431
432 vdd-l1-supply = <&vreg_s4e_0p95>;
433 vdd-l2-supply = <&vreg_s4e_0p95>;
434 vdd-l3-supply = <&vreg_s4e_0p95>;
435
436 vreg_l1d_0p88: ldo1 {
437 regulator-name = "vreg_l1d_0p88";
438 regulator-min-microvolt = <880000>;
439 regulator-max-microvolt = <920000>;
440 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
441 };
442
443 /* ldo2 supplies SM8550 VDD_LPI_MX */
444 };
445
446 regulators-3 {
447 compatible = "qcom,pm8550vs-rpmh-regulators";
448 qcom,pmic-id = "e";
449
450 vdd-l1-supply = <&vreg_s4e_0p95>;
451 vdd-l2-supply = <&vreg_s4e_0p95>;
452 vdd-l3-supply = <&vreg_s4g_1p25>;
453 vdd-s4-supply = <&vph_pwr>;
454 vdd-s5-supply = <&vph_pwr>;
455
456 vreg_s4e_0p95: smps4 {
457 regulator-name = "vreg_s4e_0p95";
458 regulator-min-microvolt = <904000>;
459 regulator-max-microvolt = <984000>;
460 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
461 };
462
463 vreg_s5e_1p08: smps5 {
464 regulator-name = "vreg_s5e_1p08";
465 regulator-min-microvolt = <1080000>;
466 regulator-max-microvolt = <1120000>;
467 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
468 };
469
470 vreg_l1e_0p88: ldo1 {
471 regulator-name = "vreg_l1e_0p88";
472 regulator-min-microvolt = <880000>;
473 regulator-max-microvolt = <880000>;
474 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
475 };
476
477 vreg_l2e_0p9: ldo2 {
478 regulator-name = "vreg_l2e_0p9";
479 regulator-min-microvolt = <904000>;
480 regulator-max-microvolt = <970000>;
481 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
482 };
483
484 vreg_l3e_1p2: ldo3 {
485 regulator-name = "vreg_l3e_1p2";
486 regulator-min-microvolt = <1200000>;
487 regulator-max-microvolt = <1200000>;
488 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
489 };
490 };
491
492 regulators-4 {
493 compatible = "qcom,pm8550ve-rpmh-regulators";
494 qcom,pmic-id = "f";
495
496 vdd-l1-supply = <&vreg_s4e_0p95>;
497 vdd-l2-supply = <&vreg_s4e_0p95>;
498 vdd-l3-supply = <&vreg_s4e_0p95>;
499 vdd-s4-supply = <&vph_pwr>;
500
501 vreg_s4f_0p5: smps4 {
502 regulator-name = "vreg_s4f_0p5";
503 regulator-min-microvolt = <500000>;
504 regulator-max-microvolt = <700000>;
505 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
506 };
507
508 vreg_l1f_0p9: ldo1 {
509 regulator-name = "vreg_l1f_0p9";
510 regulator-min-microvolt = <912000>;
511 regulator-max-microvolt = <912000>;
512 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
513 };
514
515 vreg_l2f_0p88: ldo2 {
516 regulator-name = "vreg_l2f_0p88";
517 regulator-min-microvolt = <880000>;
518 regulator-max-microvolt = <912000>;
519 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
520 };
521
522 vreg_l3f_0p88: ldo3 {
523 regulator-name = "vreg_l3f_0p88";
524 regulator-min-microvolt = <880000>;
525 regulator-max-microvolt = <912000>;
526 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
527 };
528 };
529
530 regulators-5 {
531 compatible = "qcom,pm8550vs-rpmh-regulators";
532 qcom,pmic-id = "g";
533
534 vdd-l1-supply = <&vreg_s4g_1p25>;
535 vdd-l2-supply = <&vreg_s4g_1p25>;
536 vdd-l3-supply = <&vreg_s4g_1p25>;
537 vdd-s1-supply = <&vph_pwr>;
538 vdd-s2-supply = <&vph_pwr>;
539 vdd-s3-supply = <&vph_pwr>;
540 vdd-s4-supply = <&vph_pwr>;
541 vdd-s5-supply = <&vph_pwr>;
542 vdd-s6-supply = <&vph_pwr>;
543
544 vreg_s1g_1p25: smps1 {
545 regulator-name = "vreg_s1g_1p25";
546 regulator-min-microvolt = <1200000>;
547 regulator-max-microvolt = <1300000>;
548 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
549 };
550
551 vreg_s2g_0p85: smps2 {
552 regulator-name = "vreg_s2g_0p85";
553 regulator-min-microvolt = <800000>;
554 regulator-max-microvolt = <1000000>;
555 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
556 };
557
558 vreg_s3g_0p8: smps3 {
559 regulator-name = "vreg_s3g_0p8";
560 regulator-min-microvolt = <300000>;
561 regulator-max-microvolt = <1004000>;
562 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
563 };
564
565 vreg_s4g_1p25: smps4 {
566 regulator-name = "vreg_s4g_1p25";
567 regulator-min-microvolt = <1200000>;
568 regulator-max-microvolt = <1352000>;
569 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
570 };
571
572 vreg_s5g_0p85: smps5 {
573 regulator-name = "vreg_s5g_0p85";
574 regulator-min-microvolt = <500000>;
575 regulator-max-microvolt = <1004000>;
576 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
577 };
578
579 vreg_s6g_1p86: smps6 {
580 regulator-name = "vreg_s6g_1p86";
581 regulator-min-microvolt = <1800000>;
582 regulator-max-microvolt = <2000000>;
583 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
584 };
585
586 vreg_l1g_1p2: ldo1 {
587 regulator-name = "vreg_l1g_1p2";
588 regulator-min-microvolt = <1200000>;
589 regulator-max-microvolt = <1200000>;
590 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
591 };
592
593 vreg_l3g_1p2: ldo3 {
594 regulator-name = "vreg_l3g_1p2";
595 regulator-min-microvolt = <1200000>;
596 regulator-max-microvolt = <1200000>;
597 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
598 };
599 };
Tom Rini93743d22024-04-01 09:08:13 -0400600
601 regulators-6 {
602 compatible = "qcom,pm8010-rpmh-regulators";
603 qcom,pmic-id = "m";
604
605 vdd-l1-l2-supply = <&vreg_s4g_1p25>;
606 vdd-l3-l4-supply = <&vreg_bob2>;
607 vdd-l5-supply = <&vreg_s6g_1p86>;
608 vdd-l6-supply = <&vreg_s6g_1p86>;
609 vdd-l7-supply = <&vreg_bob1>;
610
611 vreg_l1m_1p056: ldo1 {
612 regulator-name = "vreg_l1m_1p056";
613 regulator-min-microvolt = <1056000>;
614 regulator-max-microvolt = <1056000>;
615 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
616 };
617
618 vreg_l2m_1p056: ldo2 {
619 regulator-name = "vreg_l2m_1p056";
620 regulator-min-microvolt = <1056000>;
621 regulator-max-microvolt = <1056000>;
622 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
623 };
624
625 vreg_l3m_2p8: ldo3 {
626 regulator-name = "vreg_l3m_2p8";
627 regulator-min-microvolt = <2800000>;
628 regulator-max-microvolt = <2800000>;
629 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
630 };
631
632 vreg_l4m_2p8: ldo4 {
633 regulator-name = "vreg_l4m_2p8";
634 regulator-min-microvolt = <2800000>;
635 regulator-max-microvolt = <2800000>;
636 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
637 };
638
639 vreg_l5m_1p8: ldo5 {
640 regulator-name = "vreg_l5m_1p8";
641 regulator-min-microvolt = <1800000>;
642 regulator-max-microvolt = <1800000>;
643 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
644 };
645
646 vreg_l6m_1p8: ldo6 {
647 regulator-name = "vreg_l6m_1p8";
648 regulator-min-microvolt = <1800000>;
649 regulator-max-microvolt = <1800000>;
650 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
651 };
652
653 vreg_l7m_2p9: ldo7 {
654 regulator-name = "vreg_l7m_2p9";
655 regulator-min-microvolt = <2800000>;
656 regulator-max-microvolt = <2904000>;
657 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
658 };
659 };
660
661 regulators-7 {
662 compatible = "qcom,pm8010-rpmh-regulators";
663 qcom,pmic-id = "n";
664
665 vdd-l1-l2-supply = <&vreg_s4g_1p25>;
666 vdd-l3-l4-supply = <&vreg_bob2>;
667 vdd-l5-supply = <&vreg_s6g_1p86>;
668 vdd-l6-supply = <&vreg_bob1>;
669 vdd-l7-supply = <&vreg_bob1>;
670
671 vreg_l1n_1p1: ldo1 {
672 regulator-name = "vreg_l1n_1p1";
673 regulator-min-microvolt = <1104000>;
674 regulator-max-microvolt = <1200000>;
675 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
676 };
677
678 vreg_l2n_1p1: ldo2 {
679 regulator-name = "vreg_l2n_1p1";
680 regulator-min-microvolt = <1104000>;
681 regulator-max-microvolt = <1200000>;
682 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
683 };
684
685 vreg_l3n_2p8: ldo3 {
686 regulator-name = "vreg_l3n_2p8";
687 regulator-min-microvolt = <2800000>;
688 regulator-max-microvolt = <3000000>;
689 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
690 };
691
692 vreg_l4n_2p8: ldo4 {
693 regulator-name = "vreg_l4n_2p8";
694 regulator-min-microvolt = <2800000>;
695 regulator-max-microvolt = <3300000>;
696 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
697 };
698
699 vreg_l5n_1p8: ldo5 {
700 regulator-name = "vreg_l5n_1p8";
701 regulator-min-microvolt = <1800000>;
702 regulator-max-microvolt = <1800000>;
703 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
704 };
705
706 vreg_l6n_3p3: ldo6 {
707 regulator-name = "vreg_l6n_3p3";
708 regulator-min-microvolt = <2800000>;
709 regulator-max-microvolt = <3304000>;
710 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
711 };
712
713 vreg_l7n_2p96: ldo7 {
714 regulator-name = "vreg_l7n_2p96";
715 regulator-min-microvolt = <2800000>;
716 regulator-max-microvolt = <2960000>;
717 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
718 };
719 };
Tom Rini53633a82024-02-29 12:33:36 -0500720};
721
722&i2c_master_hub_0 {
723 status = "okay";
724};
725
726&i2c_hub_2 {
727 status = "okay";
728
729 typec-retimer@1c {
730 compatible = "onnn,nb7vpq904m";
731 reg = <0x1c>;
732
733 vcc-supply = <&vreg_l15b_1p8>;
734
735 retimer-switch;
736 orientation-switch;
737
738 ports {
739 #address-cells = <1>;
740 #size-cells = <0>;
741
742 port@0 {
743 reg = <0>;
744
745 redriver_ss_out: endpoint {
746 remote-endpoint = <&pmic_glink_ss_in>;
747 };
748 };
749
750 port@1 {
751 reg = <1>;
752
753 redriver_ss_in: endpoint {
754 data-lanes = <3 2 1 0>;
755 remote-endpoint = <&usb_dp_qmpphy_out>;
756 };
757 };
758 };
759 };
760
761 typec-mux@42 {
762 compatible = "fcs,fsa4480";
763 reg = <0x42>;
764
765 vcc-supply = <&vreg_bob1>;
766
767 mode-switch;
768 orientation-switch;
769
770 port {
771 fsa4480_sbu_mux: endpoint {
772 remote-endpoint = <&pmic_glink_sbu>;
773 };
774 };
775 };
776};
777
Tom Rini93743d22024-04-01 09:08:13 -0400778&ipa {
779 qcom,gsi-loader = "self";
780 memory-region = <&ipa_fw_mem>;
781 firmware-name = "qcom/sm8550/ipa_fws.mbn";
782 status = "okay";
783};
784
Tom Rini6bb92fc2024-05-20 09:54:58 -0600785&gpi_dma1 {
786 status = "okay";
787};
788
Tom Rini93743d22024-04-01 09:08:13 -0400789&gpu {
790 status = "okay";
791
792 zap-shader {
793 firmware-name = "qcom/sm8550/a740_zap.mbn";
794 };
795};
796
Tom Rini53633a82024-02-29 12:33:36 -0500797&lpass_tlmm {
798 spkr_1_sd_n_active: spkr-1-sd-n-active-state {
799 pins = "gpio17";
800 function = "gpio";
801 drive-strength = <16>;
802 bias-disable;
803 output-low;
804 };
805
806 spkr_2_sd_n_active: spkr-2-sd-n-active-state {
807 pins = "gpio18";
808 function = "gpio";
809 drive-strength = <16>;
810 bias-disable;
811 output-low;
812 };
813};
814
815&mdss {
816 status = "okay";
817};
818
819&mdss_dsi0 {
820 vdda-supply = <&vreg_l3e_1p2>;
821 status = "okay";
822
823 panel@0 {
824 compatible = "visionox,vtdr6130";
825 reg = <0>;
826
827 pinctrl-0 = <&sde_dsi_active>, <&sde_te_active>;
828 pinctrl-1 = <&sde_dsi_suspend>, <&sde_te_suspend>;
829 pinctrl-names = "default", "sleep";
830
831 vci-supply = <&vreg_l13b_3p0>;
832 vdd-supply = <&vreg_l11b_1p2>;
833 vddio-supply = <&vreg_l12b_1p8>;
834
835 reset-gpios = <&tlmm 133 GPIO_ACTIVE_LOW>;
836
837 port {
838 panel0_in: endpoint {
839 remote-endpoint = <&mdss_dsi0_out>;
840 };
841 };
842 };
843};
844
845&mdss_dsi0_out {
846 remote-endpoint = <&panel0_in>;
847 data-lanes = <0 1 2 3>;
848};
849
850&mdss_dsi0_phy {
851 vdds-supply = <&vreg_l1e_0p88>;
852 status = "okay";
853};
854
855&mdss_dp0 {
856 status = "okay";
857};
858
859&mdss_dp0_out {
860 data-lanes = <0 1>;
Tom Rini53633a82024-02-29 12:33:36 -0500861};
862
863&pcie0 {
864 wake-gpios = <&tlmm 96 GPIO_ACTIVE_HIGH>;
865 perst-gpios = <&tlmm 94 GPIO_ACTIVE_LOW>;
866
867 pinctrl-0 = <&pcie0_default_state>;
868 pinctrl-names = "default";
869
870 status = "okay";
871};
872
Tom Rini6b642ac2024-10-01 12:20:28 -0600873&pcieport0 {
874 wifi@0 {
875 compatible = "pci17cb,1107";
876 reg = <0x10000 0x0 0x0 0x0 0x0>;
877
878 vddrfacmn-supply = <&vreg_pmu_rfa_cmn>;
879 vddaon-supply = <&vreg_pmu_aon_0p59>;
880 vddwlcx-supply = <&vreg_pmu_wlcx_0p8>;
881 vddwlmx-supply = <&vreg_pmu_wlmx_0p85>;
882 vddrfa0p8-supply = <&vreg_pmu_rfa_0p8>;
883 vddrfa1p2-supply = <&vreg_pmu_rfa_1p2>;
884 vddrfa1p8-supply = <&vreg_pmu_rfa_1p8>;
885 vddpcie0p9-supply = <&vreg_pmu_pcie_0p9>;
886 vddpcie1p8-supply = <&vreg_pmu_pcie_1p8>;
887 };
888};
889
Tom Rini53633a82024-02-29 12:33:36 -0500890&pcie0_phy {
891 vdda-phy-supply = <&vreg_l1e_0p88>;
892 vdda-pll-supply = <&vreg_l3e_1p2>;
893
894 status = "okay";
895};
896
897&pm8550_flash {
898 status = "okay";
899
900 led-0 {
901 function = LED_FUNCTION_FLASH;
902 color = <LED_COLOR_ID_YELLOW>;
903 led-sources = <1>, <4>;
904 led-max-microamp = <500000>;
905 flash-max-microamp = <2000000>;
906 flash-max-timeout-us = <1280000>;
907 function-enumerator = <0>;
908 };
909
910 led-1 {
911 function = LED_FUNCTION_FLASH;
912 color = <LED_COLOR_ID_WHITE>;
913 led-sources = <2>, <3>;
914 led-max-microamp = <500000>;
915 flash-max-microamp = <2000000>;
916 flash-max-timeout-us = <1280000>;
917 function-enumerator = <1>;
918 };
919};
920
921&pm8550_gpios {
922 volume_up_n: volume-up-n-state {
923 pins = "gpio6";
924 function = "normal";
925 power-source = <1>;
926 bias-pull-up;
927 input-enable;
928 };
929};
930
931&pm8550_pwm {
932 status = "okay";
933
934 multi-led {
935 color = <LED_COLOR_ID_RGB>;
936 function = LED_FUNCTION_STATUS;
937
938 #address-cells = <1>;
939 #size-cells = <0>;
940
941 led@1 {
942 reg = <1>;
943 color = <LED_COLOR_ID_RED>;
944 };
945
946 led@2 {
947 reg = <2>;
948 color = <LED_COLOR_ID_GREEN>;
949 };
950
951 led@3 {
952 reg = <3>;
953 color = <LED_COLOR_ID_BLUE>;
954 };
955 };
956};
957
958&pm8550b_eusb2_repeater {
959 vdd18-supply = <&vreg_l15b_1p8>;
960 vdd3-supply = <&vreg_l5b_3p1>;
961};
962
963&pon_pwrkey {
964 status = "okay";
965};
966
967&pon_resin {
968 linux,code = <KEY_VOLUMEDOWN>;
969
970 status = "okay";
971};
972
Tom Rini6b642ac2024-10-01 12:20:28 -0600973&pmk8550_gpios {
974 pmk8550_sleep_clk: sleep-clk-state {
975 pins = "gpio3";
976 function = "func1";
977 input-disable;
978 output-enable;
979 bias-disable;
980 power-source = <0>;
981 };
Tom Rini53633a82024-02-29 12:33:36 -0500982};
983
984&qupv3_id_0 {
985 status = "okay";
986};
987
988&qupv3_id_1 {
989 status = "okay";
990};
991
992&remoteproc_adsp {
993 firmware-name = "qcom/sm8550/adsp.mbn",
994 "qcom/sm8550/adsp_dtb.mbn";
995 status = "okay";
996};
997
998&remoteproc_cdsp {
999 firmware-name = "qcom/sm8550/cdsp.mbn",
1000 "qcom/sm8550/cdsp_dtb.mbn";
1001 status = "okay";
1002};
1003
1004&remoteproc_mpss {
1005 firmware-name = "qcom/sm8550/modem.mbn",
1006 "qcom/sm8550/modem_dtb.mbn";
1007 status = "okay";
1008};
1009
1010&sleep_clk {
1011 clock-frequency = <32000>;
1012};
1013
1014&swr0 {
1015 status = "okay";
1016
1017 /* WSA8845, Speaker North */
1018 north_spkr: speaker@0,0 {
1019 compatible = "sdw20217020400";
1020 reg = <0 0>;
1021 pinctrl-names = "default";
1022 pinctrl-0 = <&spkr_1_sd_n_active>;
1023 powerdown-gpios = <&lpass_tlmm 17 GPIO_ACTIVE_LOW>;
1024 #sound-dai-cells = <0>;
1025 sound-name-prefix = "SpkrLeft";
1026 vdd-1p8-supply = <&vreg_l15b_1p8>;
1027 vdd-io-supply = <&vreg_l3g_1p2>;
Tom Rini6b642ac2024-10-01 12:20:28 -06001028 qcom,port-mapping = <1 2 3 7 10 13>;
Tom Rini53633a82024-02-29 12:33:36 -05001029 };
1030
1031 /* WSA8845, Speaker South */
1032 south_spkr: speaker@0,1 {
1033 compatible = "sdw20217020400";
1034 reg = <0 1>;
1035 pinctrl-names = "default";
1036 pinctrl-0 = <&spkr_2_sd_n_active>;
1037 powerdown-gpios = <&lpass_tlmm 18 GPIO_ACTIVE_LOW>;
1038 #sound-dai-cells = <0>;
1039 sound-name-prefix = "SpkrRight";
1040 vdd-1p8-supply = <&vreg_l15b_1p8>;
1041 vdd-io-supply = <&vreg_l3g_1p2>;
Tom Rini6b642ac2024-10-01 12:20:28 -06001042 qcom,port-mapping = <4 5 6 7 11 13>;
Tom Rini53633a82024-02-29 12:33:36 -05001043 };
1044};
1045
Tom Rini6bb92fc2024-05-20 09:54:58 -06001046&spi4 {
1047 status = "okay";
1048
1049 touchscreen@0 {
1050 compatible = "goodix,gt9916";
1051 reg = <0>;
1052
1053 interrupt-parent = <&tlmm>;
1054 interrupts = <25 IRQ_TYPE_LEVEL_LOW>;
1055
1056 reset-gpios = <&tlmm 24 GPIO_ACTIVE_LOW>;
1057
1058 avdd-supply = <&vreg_l14b_3p2>;
1059
1060 spi-max-frequency = <1000000>;
1061
1062 touchscreen-size-x = <1080>;
1063 touchscreen-size-y = <2400>;
1064
1065 pinctrl-names = "default";
1066 pinctrl-0 = <&ts_irq>, <&ts_reset>;
1067 };
1068};
1069
Tom Rini53633a82024-02-29 12:33:36 -05001070&swr1 {
1071 status = "okay";
1072
1073 /* WCD9385 RX */
1074 wcd_rx: codec@0,4 {
1075 compatible = "sdw20217010d00";
1076 reg = <0 4>;
1077 qcom,rx-port-mapping = <1 2 3 4 5>;
1078 };
1079};
1080
1081&swr2 {
1082 status = "okay";
1083
1084 /* WCD9385 TX */
1085 wcd_tx: codec@0,3 {
1086 compatible = "sdw20217010d00";
1087 reg = <0 3>;
Tom Rini6bb92fc2024-05-20 09:54:58 -06001088 qcom,tx-port-mapping = <2 2 3 4>;
Tom Rini53633a82024-02-29 12:33:36 -05001089 };
1090};
1091
1092&tlmm {
1093 gpio-reserved-ranges = <32 8>;
1094
1095 bt_default: bt-default-state {
1096 bt-en-pins {
1097 pins = "gpio81";
1098 function = "gpio";
1099 drive-strength = <16>;
1100 bias-disable;
1101 };
1102
1103 sw-ctrl-pins {
1104 pins = "gpio82";
1105 function = "gpio";
1106 bias-pull-down;
1107 };
1108 };
1109
1110 sde_dsi_active: sde-dsi-active-state {
1111 pins = "gpio133";
1112 function = "gpio";
1113 drive-strength = <8>;
1114 bias-disable;
1115 };
1116
1117 sde_dsi_suspend: sde-dsi-suspend-state {
1118 pins = "gpio133";
1119 function = "gpio";
1120 drive-strength = <2>;
1121 bias-pull-down;
1122 };
1123
1124 sde_te_active: sde-te-active-state {
1125 pins = "gpio86";
1126 function = "mdp_vsync";
1127 drive-strength = <2>;
1128 bias-pull-down;
1129 };
1130
1131 sde_te_suspend: sde-te-suspend-state {
1132 pins = "gpio86";
1133 function = "mdp_vsync";
1134 drive-strength = <2>;
1135 bias-pull-down;
1136 };
1137
Tom Rini6bb92fc2024-05-20 09:54:58 -06001138 ts_irq: ts-irq-state {
1139 pins = "gpio25";
1140 function = "gpio";
1141 drive-strength = <8>;
1142 bias-pull-up;
1143 };
1144
1145 ts_reset: ts-reset-state {
1146 pins = "gpio24";
1147 function = "gpio";
1148 drive-strength = <8>;
1149 bias-pull-up;
1150 };
1151
Tom Rini53633a82024-02-29 12:33:36 -05001152 wcd_default: wcd-reset-n-active-state {
1153 pins = "gpio108";
1154 function = "gpio";
1155 drive-strength = <16>;
1156 bias-disable;
1157 output-low;
1158 };
Tom Rini6b642ac2024-10-01 12:20:28 -06001159
1160 wlan_en: wlan-en-state {
1161 pins = "gpio80";
1162 function = "gpio";
1163 drive-strength = <8>;
1164 bias-pull-down;
1165 };
Tom Rini53633a82024-02-29 12:33:36 -05001166};
1167
1168&uart7 {
1169 status = "okay";
1170};
1171
1172&uart14 {
1173 status = "okay";
1174
1175 bluetooth {
1176 compatible = "qcom,wcn7850-bt";
1177
1178 vddio-supply = <&vreg_l15b_1p8>;
1179 vddaon-supply = <&vreg_s4e_0p95>;
1180 vdddig-supply = <&vreg_s4e_0p95>;
1181 vddrfa0p8-supply = <&vreg_s4e_0p95>;
1182 vddrfa1p2-supply = <&vreg_s4g_1p25>;
1183 vddrfa1p9-supply = <&vreg_s6g_1p86>;
1184
1185 max-speed = <3200000>;
1186
1187 enable-gpios = <&tlmm 81 GPIO_ACTIVE_HIGH>;
1188 swctrl-gpios = <&tlmm 82 GPIO_ACTIVE_HIGH>;
1189
1190 pinctrl-0 = <&bt_default>;
1191 pinctrl-names = "default";
1192 };
1193};
1194
1195&ufs_mem_hc {
1196 reset-gpios = <&tlmm 210 GPIO_ACTIVE_LOW>;
1197 vcc-supply = <&vreg_l17b_2p5>;
1198 vcc-max-microamp = <1300000>;
1199 vccq-supply = <&vreg_l1g_1p2>;
1200 vccq-max-microamp = <1200000>;
1201 vdd-hba-supply = <&vreg_l3g_1p2>;
1202
1203 status = "okay";
1204};
1205
1206&ufs_mem_phy {
1207 vdda-phy-supply = <&vreg_l1d_0p88>;
1208 vdda-pll-supply = <&vreg_l3e_1p2>;
1209
1210 status = "okay";
1211};
1212
1213&usb_1 {
1214 status = "okay";
1215};
1216
Tom Rini53633a82024-02-29 12:33:36 -05001217&usb_1_dwc3_hs {
1218 remote-endpoint = <&pmic_glink_hs_in>;
1219};
1220
Tom Rini53633a82024-02-29 12:33:36 -05001221&usb_1_hsphy {
1222 vdd-supply = <&vreg_l1e_0p88>;
1223 vdda12-supply = <&vreg_l3e_1p2>;
1224
1225 phys = <&pm8550b_eusb2_repeater>;
1226
1227 status = "okay";
1228};
1229
1230&usb_dp_qmpphy {
1231 vdda-phy-supply = <&vreg_l3e_1p2>;
1232 vdda-pll-supply = <&vreg_l3f_0p88>;
1233
Tom Rini53633a82024-02-29 12:33:36 -05001234 status = "okay";
1235};
1236
Tom Rini53633a82024-02-29 12:33:36 -05001237&usb_dp_qmpphy_out {
1238 remote-endpoint = <&redriver_ss_in>;
1239};
1240
Tom Rini53633a82024-02-29 12:33:36 -05001241&xo_board {
1242 clock-frequency = <76800000>;
1243};