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