blob: c8cd40a462a3f5b424c858e88edf3f058728e62c [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001// SPDX-License-Identifier: BSD-3-Clause
2/*
3 * Copyright (c) 2020, Linaro Ltd.
4 */
5
6/dts-v1/;
7
8#include <dt-bindings/leds/common.h>
9#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
10#include <dt-bindings/sound/qcom,q6afe.h>
11#include <dt-bindings/sound/qcom,q6asm.h>
12#include <dt-bindings/usb/pd.h>
13#include "sm8250.dtsi"
14#include "pm8150.dtsi"
15#include "pm8150b.dtsi"
16#include "pm8150l.dtsi"
17
18/ {
19 model = "Qualcomm Technologies, Inc. Robotics RB5";
20 compatible = "qcom,qrb5165-rb5", "qcom,sm8250";
21 qcom,msm-id = <455 0x20001>;
22 qcom,board-id = <11 3>;
23
24 aliases {
25 serial0 = &uart12;
26 sdhc2 = &sdhc_2;
27 };
28
29 chosen {
30 stdout-path = "serial0:115200n8";
31 };
32
33 /* Fixed crystal oscillator dedicated to MCP2518FD */
34 clk40M: can-clock {
35 compatible = "fixed-clock";
36 #clock-cells = <0>;
37 clock-frequency = <40000000>;
38 };
39
40 dc12v: dc12v-regulator {
41 compatible = "regulator-fixed";
42 regulator-name = "DC12V";
43 regulator-min-microvolt = <12000000>;
44 regulator-max-microvolt = <12000000>;
45 regulator-always-on;
46 };
47
48 hdmi-out {
49 compatible = "hdmi-connector";
50 type = "a";
51
52 port {
53 hdmi_con: endpoint {
54 remote-endpoint = <&lt9611_out>;
55 };
56 };
57 };
58
59 leds {
60 compatible = "gpio-leds";
61
62 led-user4 {
63 label = "green:user4";
64 function = LED_FUNCTION_INDICATOR;
65 color = <LED_COLOR_ID_GREEN>;
66 gpios = <&pm8150_gpios 10 GPIO_ACTIVE_HIGH>;
67 linux,default-trigger = "panic-indicator";
68 default-state = "off";
69 };
70
71 led-wlan {
72 label = "yellow:wlan";
73 function = LED_FUNCTION_WLAN;
74 color = <LED_COLOR_ID_YELLOW>;
75 gpios = <&pm8150_gpios 9 GPIO_ACTIVE_HIGH>;
76 linux,default-trigger = "phy0tx";
77 default-state = "off";
78 };
79
80 led-bt {
81 label = "blue:bt";
82 function = LED_FUNCTION_BLUETOOTH;
83 color = <LED_COLOR_ID_BLUE>;
84 gpios = <&pm8150_gpios 7 GPIO_ACTIVE_HIGH>;
85 linux,default-trigger = "bluetooth-power";
86 default-state = "off";
87 };
88 };
89
90 lt9611_1v2: lt9611-vdd12-regulator {
91 compatible = "regulator-fixed";
92 regulator-name = "LT9611_1V2";
93
94 vin-supply = <&vdc_3v3>;
95 regulator-min-microvolt = <1200000>;
96 regulator-max-microvolt = <1200000>;
97 };
98
99 lt9611_3v3: lt9611-3v3 {
100 compatible = "regulator-fixed";
101 regulator-name = "LT9611_3V3";
102
103 vin-supply = <&vdc_3v3>;
104 regulator-min-microvolt = <3300000>;
105 regulator-max-microvolt = <3300000>;
106 regulator-boot-on;
107 regulator-always-on;
108 };
109
110 thermal-zones {
111 conn-thermal {
112 polling-delay-passive = <0>;
113 polling-delay = <0>;
114 thermal-sensors = <&pm8150b_adc_tm 0>;
115
116 trips {
117 active-config0 {
118 temperature = <125000>;
119 hysteresis = <1000>;
120 type = "critical";
121 };
122 };
123 };
124
125 pm8150l-pcb-thermal {
126 polling-delay-passive = <0>;
127 polling-delay = <0>;
128 thermal-sensors = <&pm8150l_adc_tm 1>;
129
130 trips {
131 active-config0 {
132 temperature = <50000>;
133 hysteresis = <4000>;
134 type = "passive";
135 };
136 };
137 };
138
139 skin-msm-thermal {
140 polling-delay-passive = <0>;
141 polling-delay = <0>;
142 thermal-sensors = <&pm8150l_adc_tm 0>;
143
144 trips {
145 active-config0 {
146 temperature = <50000>;
147 hysteresis = <4000>;
148 type = "passive";
149 };
150 };
151 };
152
153 wifi-thermal {
154 polling-delay-passive = <0>;
155 polling-delay = <0>;
156 thermal-sensors = <&pm8150_adc_tm 1>;
157
158 trips {
159 active-config0 {
160 temperature = <52000>;
161 hysteresis = <4000>;
162 type = "passive";
163 };
164 };
165 };
166
167 xo-thermal {
168 polling-delay-passive = <0>;
169 polling-delay = <0>;
170 thermal-sensors = <&pm8150_adc_tm 0>;
171
172 trips {
173 active-config0 {
174 temperature = <50000>;
175 hysteresis = <4000>;
176 type = "passive";
177 };
178 };
179 };
180 };
181
182 vbat: vbat-regulator {
183 compatible = "regulator-fixed";
184 regulator-name = "VBAT";
185 vin-supply = <&vreg_l11c_3p3>;
186 regulator-min-microvolt = <4200000>;
187 regulator-max-microvolt = <4200000>;
188 regulator-always-on;
189 };
190
191 vbat_som: vbat-som-regulator {
192 compatible = "regulator-fixed";
193 regulator-name = "VBAT_SOM";
194 vin-supply = <&dc12v>;
195 regulator-min-microvolt = <4200000>;
196 regulator-max-microvolt = <4200000>;
197 regulator-always-on;
198 };
199
200 vdc_3v3: vdc-3v3-regulator {
201 compatible = "regulator-fixed";
202 regulator-name = "VDC_3V3";
203 vin-supply = <&vreg_l11c_3p3>;
204 regulator-min-microvolt = <3300000>;
205 regulator-max-microvolt = <3300000>;
206 regulator-always-on;
207 };
208
209 vdc_5v: vdc-5v-regulator {
210 compatible = "regulator-fixed";
211 regulator-name = "VDC_5V";
212
213 regulator-min-microvolt = <5000000>;
214 regulator-max-microvolt = <5000000>;
215 regulator-always-on;
216 vin-supply = <&vreg_l11c_3p3>;
217 };
218
219 vph_pwr: vph-pwr-regulator {
220 compatible = "regulator-fixed";
221 regulator-name = "vph_pwr";
222 regulator-min-microvolt = <3700000>;
223 regulator-max-microvolt = <3700000>;
224 regulator-always-on;
225 };
226
227 vreg_s4a_1p8: vreg-s4a-1p8 {
228 compatible = "regulator-fixed";
229 regulator-name = "vreg_s4a_1p8";
230 regulator-min-microvolt = <1800000>;
231 regulator-max-microvolt = <1800000>;
232 regulator-always-on;
233 };
234};
235
236&adsp {
237 status = "okay";
238 firmware-name = "qcom/sm8250/adsp.mbn";
239};
240
241&apps_rsc {
242 regulators-0 {
243 compatible = "qcom,pm8009-1-rpmh-regulators";
244 qcom,pmic-id = "f";
245
246 vdd-s1-supply = <&vph_pwr>;
247 vdd-s2-supply = <&vph_pwr>;
248 vdd-l2-supply = <&vreg_s8c_1p3>;
249 vdd-l5-l6-supply = <&vreg_bob>;
250 vdd-l7-supply = <&vreg_s4a_1p8>;
251
252 vreg_s2f_0p95: smps2 {
253 regulator-name = "vreg_s2f_0p95";
254 regulator-min-microvolt = <900000>;
255 regulator-max-microvolt = <952000>;
256 regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
257 };
258
259 vreg_l1f_1p1: ldo1 {
260 regulator-name = "vreg_l1f_1p1";
261 regulator-min-microvolt = <1104000>;
262 regulator-max-microvolt = <1104000>;
263 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
264 };
265
266 vreg_l2f_1p2: ldo2 {
267 regulator-name = "vreg_l2f_1p2";
268 regulator-min-microvolt = <1200000>;
269 regulator-max-microvolt = <1200000>;
270 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
271 };
272
273 vreg_l6f_2p8: ldo6 {
274 regulator-name = "vreg_l6f_2p8";
275 regulator-min-microvolt = <2800000>;
276 regulator-max-microvolt = <2800000>;
277 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
278 };
279
280 vreg_l7f_1p8: ldo7 {
281 regulator-name = "vreg_l7f_1p8";
282 regulator-min-microvolt = <1800000>;
283 regulator-max-microvolt = <1800000>;
284 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
285 };
286 };
287
288 regulators-1 {
289 compatible = "qcom,pm8150-rpmh-regulators";
290 qcom,pmic-id = "a";
291
292 vdd-s1-supply = <&vph_pwr>;
293 vdd-s2-supply = <&vph_pwr>;
294 vdd-s3-supply = <&vph_pwr>;
295 vdd-s4-supply = <&vph_pwr>;
296 vdd-s5-supply = <&vph_pwr>;
297 vdd-s6-supply = <&vph_pwr>;
298 vdd-s7-supply = <&vph_pwr>;
299 vdd-s8-supply = <&vph_pwr>;
300 vdd-s9-supply = <&vph_pwr>;
301 vdd-s10-supply = <&vph_pwr>;
302 vdd-l2-l10-supply = <&vreg_bob>;
303 vdd-l3-l4-l5-l18-supply = <&vreg_s6a_0p95>;
304 vdd-l6-l9-supply = <&vreg_s8c_1p3>;
305 vdd-l7-l12-l14-l15-supply = <&vreg_s5a_1p9>;
306 vdd-l13-l16-l17-supply = <&vreg_bob>;
307
308 vreg_l2a_3p1: ldo2 {
309 regulator-name = "vreg_l2a_3p1";
310 regulator-min-microvolt = <3072000>;
311 regulator-max-microvolt = <3072000>;
312 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
313 };
314
315 vreg_l3a_0p9: ldo3 {
316 regulator-name = "vreg_l3a_0p9";
317 regulator-min-microvolt = <928000>;
318 regulator-max-microvolt = <932000>;
319 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
320 };
321
322 vreg_l5a_0p88: ldo5 {
323 regulator-name = "vreg_l5a_0p88";
324 regulator-min-microvolt = <880000>;
325 regulator-max-microvolt = <880000>;
326 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
327 };
328
329 vreg_l6a_1p2: ldo6 {
330 regulator-name = "vreg_l6a_1p2";
331 regulator-min-microvolt = <1200000>;
332 regulator-max-microvolt = <1200000>;
333 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
334 };
335
336 vreg_l7a_1p7: ldo7 {
337 regulator-name = "vreg_l7a_1p7";
338 regulator-min-microvolt = <1704000>;
339 regulator-max-microvolt = <1800000>;
340 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
341 };
342
343 vreg_l9a_1p2: ldo9 {
344 regulator-name = "vreg_l9a_1p2";
345 regulator-min-microvolt = <1200000>;
346 regulator-max-microvolt = <1200000>;
347 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
348 };
349
350 vreg_l10a_1p8: ldo10 {
351 regulator-name = "vreg_l10a_1p8";
352 regulator-min-microvolt = <1800000>;
353 regulator-max-microvolt = <1800000>;
354 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
355 };
356
357 vreg_l12a_1p8: ldo12 {
358 regulator-name = "vreg_l12a_1p8";
359 regulator-min-microvolt = <1800000>;
360 regulator-max-microvolt = <1800000>;
361 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
362 };
363
364 vreg_l13a_ts_3p0: ldo13 {
365 regulator-name = "vreg_l13a_ts_3p0";
366 regulator-min-microvolt = <3008000>;
367 regulator-max-microvolt = <3008000>;
368 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
369 };
370
371 vreg_l14a_1p8: ldo14 {
372 regulator-name = "vreg_l14a_1p8";
373 regulator-min-microvolt = <1800000>;
374 regulator-max-microvolt = <1880000>;
375 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
376 };
377
378 vreg_l15a_1p8: ldo15 {
379 regulator-name = "vreg_l15a_1p8";
380 regulator-min-microvolt = <1800000>;
381 regulator-max-microvolt = <1800000>;
382 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
383 };
384
385 vreg_l16a_2p7: ldo16 {
386 regulator-name = "vreg_l16a_2p7";
387 regulator-min-microvolt = <2704000>;
388 regulator-max-microvolt = <2960000>;
389 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
390 };
391
392 vreg_l17a_3p0: ldo17 {
393 regulator-name = "vreg_l17a_3p0";
394 regulator-min-microvolt = <2856000>;
395 regulator-max-microvolt = <3008000>;
396 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
397 };
398
399 vreg_l18a_0p92: ldo18 {
400 regulator-name = "vreg_l18a_0p92";
401 regulator-min-microvolt = <800000>;
402 regulator-max-microvolt = <912000>;
403 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
404 };
405
406 vreg_s5a_1p9: smps5 {
407 regulator-name = "vreg_s5a_1p9";
408 regulator-min-microvolt = <1904000>;
409 regulator-max-microvolt = <2000000>;
410 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
411 };
412
413 vreg_s6a_0p95: smps6 {
414 regulator-name = "vreg_s6a_0p95";
415 regulator-min-microvolt = <920000>;
416 regulator-max-microvolt = <1128000>;
417 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
418 };
419 };
420
421 regulators-2 {
422 compatible = "qcom,pm8150l-rpmh-regulators";
423 qcom,pmic-id = "c";
424
425 vdd-s1-supply = <&vph_pwr>;
426 vdd-s2-supply = <&vph_pwr>;
427 vdd-s3-supply = <&vph_pwr>;
428 vdd-s4-supply = <&vph_pwr>;
429 vdd-s5-supply = <&vph_pwr>;
430 vdd-s6-supply = <&vph_pwr>;
431 vdd-s7-supply = <&vph_pwr>;
432 vdd-s8-supply = <&vph_pwr>;
433 vdd-l1-l8-supply = <&vreg_s4a_1p8>;
434 vdd-l2-l3-supply = <&vreg_s8c_1p3>;
435 vdd-l4-l5-l6-supply = <&vreg_bob>;
436 vdd-l7-l11-supply = <&vreg_bob>;
437 vdd-l9-l10-supply = <&vreg_bob>;
438 vdd-bob-supply = <&vph_pwr>;
439
440 vreg_bob: bob {
441 regulator-name = "vreg_bob";
442 regulator-min-microvolt = <3008000>;
443 regulator-max-microvolt = <4000000>;
444 regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
445 };
446
447 vreg_l1c_1p8: ldo1 {
448 regulator-name = "vreg_l1c_1p8";
449 regulator-min-microvolt = <1800000>;
450 regulator-max-microvolt = <1800000>;
451 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
452 };
453
454 vreg_l2c_1p2: ldo2 {
455 regulator-name = "vreg_l2c_1p2";
456 regulator-min-microvolt = <1200000>;
457 regulator-max-microvolt = <1200000>;
458 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
459 };
460
461 vreg_l3c_0p8: ldo3 {
462 regulator-name = "vreg_l3c_0p8";
463 regulator-min-microvolt = <800000>;
464 regulator-max-microvolt = <800000>;
465 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
466 };
467
468 vreg_l4c_1p7: ldo4 {
469 regulator-name = "vreg_l4c_1p7";
470 regulator-min-microvolt = <1704000>;
471 regulator-max-microvolt = <2928000>;
472 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
473 };
474
475 vreg_l5c_1p8: ldo5 {
476 regulator-name = "vreg_l5c_1p8";
477 regulator-min-microvolt = <1800000>;
478 regulator-max-microvolt = <2928000>;
479 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
480 };
481
482 vreg_l6c_2p96: ldo6 {
483 regulator-name = "vreg_l6c_2p96";
484 regulator-min-microvolt = <1800000>;
485 regulator-max-microvolt = <2960000>;
486 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
487 };
488
489 vreg_l7c_cam_vcm0_2p85: ldo7 {
490 regulator-name = "vreg_l7c_cam_vcm0_2p85";
491 regulator-min-microvolt = <2856000>;
492 regulator-max-microvolt = <3104000>;
493 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
494 };
495
496 vreg_l8c_1p8: ldo8 {
497 regulator-name = "vreg_l8c_1p8";
498 regulator-min-microvolt = <1800000>;
499 regulator-max-microvolt = <1800000>;
500 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
501 };
502
503 vreg_l9c_2p96: ldo9 {
504 regulator-name = "vreg_l9c_2p96";
505 regulator-min-microvolt = <2704000>;
506 regulator-max-microvolt = <2960000>;
507 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
508 };
509
510 vreg_l10c_3p0: ldo10 {
511 regulator-name = "vreg_l10c_3p0";
512 regulator-min-microvolt = <3000000>;
513 regulator-max-microvolt = <3000000>;
514 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
515 };
516
517 vreg_l11c_3p3: ldo11 {
518 regulator-name = "vreg_l11c_3p3";
519 regulator-min-microvolt = <3296000>;
520 regulator-max-microvolt = <3296000>;
521 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
522 regulator-always-on;
523 };
524
525 vreg_s8c_1p3: smps8 {
526 regulator-name = "vreg_s8c_1p3";
527 regulator-min-microvolt = <1352000>;
528 regulator-max-microvolt = <1352000>;
529 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
530 };
531 };
532};
533
534&cdsp {
535 status = "okay";
536 firmware-name = "qcom/sm8250/cdsp.mbn";
537};
538
539&gmu {
540 status = "okay";
541};
542
543&gpu {
544 status = "okay";
545
546 zap-shader {
547 memory-region = <&gpu_mem>;
548 firmware-name = "qcom/sm8250/a650_zap.mbn";
549 };
550};
551
552/* LS-I2C0 */
553&i2c4 {
554 status = "okay";
555};
556
557&i2c5 {
558 status = "okay";
559 clock-frequency = <400000>;
560
561 lt9611_codec: hdmi-bridge@2b {
562 compatible = "lontium,lt9611uxc";
563 reg = <0x2b>;
564 #sound-dai-cells = <1>;
565
566 interrupts-extended = <&tlmm 63 IRQ_TYPE_EDGE_FALLING>;
567
568 reset-gpios = <&pm8150l_gpios 5 GPIO_ACTIVE_HIGH>;
569
570 vdd-supply = <&lt9611_1v2>;
571 vcc-supply = <&lt9611_3v3>;
572
573 pinctrl-names = "default";
574 pinctrl-0 = <&lt9611_irq_pin &lt9611_rst_pin>;
575
576 ports {
577 #address-cells = <1>;
578 #size-cells = <0>;
579
580 port@0 {
581 reg = <0>;
582
583 lt9611_a: endpoint {
584 remote-endpoint = <&mdss_dsi0_out>;
585 };
586 };
587
588#if 0
589 port@1 {
590 reg = <1>;
591
592 lt9611_b: endpoint {
593 remote-endpoint = <&mdss_dsi1_out>;
594 };
595 };
596#endif
597
598 port@2 {
599 reg = <2>;
600
601 lt9611_out: endpoint {
602 remote-endpoint = <&hdmi_con>;
603 };
604 };
605
606 };
607 };
608};
609
610/* LS-I2C1 */
611&i2c15 {
612 status = "okay";
613
614 typec-mux@1c {
615 compatible = "onnn,nb7vpq904m";
616 reg = <0x1c>;
617
618 vcc-supply = <&vreg_s4a_1p8>;
619
620 retimer-switch;
621 orientation-switch;
622
623 ports {
624 #address-cells = <1>;
625 #size-cells = <0>;
626
627 port@0 {
628 reg = <0>;
629
630 redriver_usb_con_ss: endpoint {
631 remote-endpoint = <&pm8150b_typec_mux_in>;
632 };
633 };
634
635 port@1 {
636 reg = <1>;
637
638 redriver_phy_con_ss: endpoint {
639 remote-endpoint = <&usb_1_qmpphy_out>;
640 data-lanes = <0 1 2 3>;
641 };
642 };
643
644 port@2 {
645 reg = <2>;
646
647 redriver_usb_con_sbu: endpoint {
648 remote-endpoint = <&pm8150b_typec_sbu_out>;
649 };
650 };
651 };
652 };
653};
654
655&mdss {
656 status = "okay";
657};
658
659&mdss_dp {
660 status = "okay";
661};
662
663&mdss_dp_out {
664 data-lanes = <0 1>;
665 remote-endpoint = <&usb_1_qmpphy_dp_in>;
666};
667
668&mdss_dsi0 {
669 status = "okay";
670 vdda-supply = <&vreg_l9a_1p2>;
671
672#if 0
673 qcom,dual-dsi-mode;
674 qcom,master-dsi;
675#endif
676
677 ports {
678 port@1 {
679 endpoint {
680 remote-endpoint = <&lt9611_a>;
681 data-lanes = <0 1 2 3>;
682 };
683 };
684 };
685};
686
687&mdss_dsi0_phy {
688 status = "okay";
689 vdds-supply = <&vreg_l5a_0p88>;
690};
691
692&pm8150_adc {
693 channel@4c {
694 reg = <ADC5_XO_THERM_100K_PU>;
695 qcom,ratiometric;
696 qcom,hw-settle-time = <200>;
697 label = "xo_therm";
698 };
699
700 channel@4e {
701 reg = <ADC5_AMUX_THM2_100K_PU>;
702 qcom,ratiometric;
703 qcom,hw-settle-time = <200>;
704 label = "wifi_therm";
705 };
706};
707
708&pm8150_adc_tm {
709 status = "okay";
710
711 xo-therm@0 {
712 reg = <0>;
713 io-channels = <&pm8150_adc ADC5_XO_THERM_100K_PU>;
714 qcom,ratiometric;
715 qcom,hw-settle-time-us = <200>;
716 };
717
718 wifi-therm@1 {
719 reg = <1>;
720 io-channels = <&pm8150_adc ADC5_AMUX_THM2_100K_PU>;
721 qcom,ratiometric;
722 qcom,hw-settle-time-us = <200>;
723 };
724};
725
726&pcie0 {
727 status = "okay";
728};
729
730&pcie0_phy {
731 status = "okay";
732 vdda-phy-supply = <&vreg_l5a_0p88>;
733 vdda-pll-supply = <&vreg_l9a_1p2>;
734};
735
736&pcie1 {
737 status = "okay";
738};
739
740&pcie1_phy {
741 status = "okay";
742 vdda-phy-supply = <&vreg_l5a_0p88>;
743 vdda-pll-supply = <&vreg_l9a_1p2>;
744};
745
746&pcie2 {
747 status = "okay";
748};
749
750&pcie2_phy {
751 status = "okay";
752 vdda-phy-supply = <&vreg_l5a_0p88>;
753 vdda-pll-supply = <&vreg_l9a_1p2>;
754};
755
756&pm8150_gpios {
757 gpio-reserved-ranges = <1 1>, <3 2>, <7 1>;
758 gpio-line-names =
759 "NC",
760 "OPTION2",
761 "PM_GPIO-F",
762 "PM_SLP_CLK_IN",
763 "OPTION1",
764 "VOL_UP_N",
765 "PM8250_GPIO7", /* Blue LED */
766 "SP_ARI_PWR_ALARM",
767 "GPIO_9_P", /* Yellow LED */
768 "GPIO_10_P"; /* Green LED */
769};
770
771&pm8150b_adc {
772 channel@4f {
773 reg = <ADC5_AMUX_THM3_100K_PU>;
774 qcom,ratiometric;
775 qcom,hw-settle-time = <200>;
776 label = "conn_therm";
777 };
778};
779
780&pm8150b_adc_tm {
781 status = "okay";
782
783 conn-therm@0 {
784 reg = <0>;
785 io-channels = <&pm8150b_adc ADC5_AMUX_THM3_100K_PU>;
786 qcom,ratiometric;
787 qcom,hw-settle-time-us = <200>;
788 };
789};
790
791&pm8150b_gpios {
792 gpio-line-names =
793 "NC",
794 "NC",
795 "NC",
796 "NC",
797 "HAP_BOOST_EN", /* SOM */
798 "SMB_STAT", /* SOM */
799 "NC",
800 "NC",
801 "SDM_FORCE_USB_BOOT",
802 "NC",
803 "NC",
804 "NC";
805};
806
807&pm8150l_adc {
808 channel@4e {
809 reg = <ADC5_AMUX_THM2_100K_PU>;
810 qcom,ratiometric;
811 qcom,hw-settle-time = <200>;
812 label = "skin_msm_therm";
813 };
814
815 channel@4f {
816 reg = <ADC5_AMUX_THM3_100K_PU>;
817 qcom,ratiometric;
818 qcom,hw-settle-time = <200>;
819 label = "pm8150l_therm";
820 };
821};
822
823&pm8150l_adc_tm {
824 status = "okay";
825
826 skin-msm-therm@0 {
827 reg = <0>;
828 io-channels = <&pm8150l_adc ADC5_AMUX_THM2_100K_PU>;
829 qcom,ratiometric;
830 qcom,hw-settle-time-us = <200>;
831 };
832
833 pm8150l-therm@1 {
834 reg = <1>;
835 io-channels = <&pm8150l_adc ADC5_AMUX_THM3_100K_PU>;
836 qcom,ratiometric;
837 qcom,hw-settle-time-us = <200>;
838 };
839};
840
841&pm8150l_gpios {
842 gpio-line-names =
843 "NC",
844 "PM3003A_EN",
845 "NC",
846 "NC",
847 "PM_GPIO5", /* HDMI RST_N */
848 "PM_GPIO-A", /* PWM */
849 "PM_GPIO7",
850 "NC",
851 "NC",
852 "PM_GPIO-B",
853 "NC",
854 "PM3003A_MODE";
855
856 lt9611_rst_pin: lt9611-rst-state {
857 pins = "gpio5";
858 function = "normal";
859
860 output-high;
861 input-disable;
862 power-source = <0>;
863 };
864};
865
866&pm8150l_lpg {
867 status = "okay";
868
869 #address-cells = <1>;
870 #size-cells = <0>;
871
872 led@1 {
873 reg = <1>;
874 color = <LED_COLOR_ID_GREEN>;
875 function = LED_FUNCTION_HEARTBEAT;
876 function-enumerator = <3>;
877
878 linux,default-trigger = "heartbeat";
879 default-state = "on";
880 };
881
882 led@2 {
883 reg = <2>;
884 color = <LED_COLOR_ID_GREEN>;
885 function = LED_FUNCTION_INDICATOR;
886 function-enumerator = <2>;
887 default-state = "on";
888 };
889
890 led@3 {
891 reg = <3>;
892 color = <LED_COLOR_ID_GREEN>;
893 function = LED_FUNCTION_INDICATOR;
894 function-enumerator = <1>;
895 };
896};
897
898&pon_pwrkey {
899 status = "okay";
900};
901
902&pon_resin {
903 status = "okay";
904
905 linux,code = <KEY_VOLUMEDOWN>;
906};
907
908&qupv3_id_0 {
909 status = "okay";
910};
911
912&qupv3_id_1 {
913 status = "okay";
914};
915
916&qupv3_id_2 {
917 status = "okay";
918};
919
920&q6afedai {
921 dai@16 {
922 reg = <PRIMARY_MI2S_RX>;
923 qcom,sd-lines = <0 1 2 3>;
924 };
925};
926
927/* TERT I2S Uses 1 I2S SD Lines for audio on LT9611 HDMI Bridge */
928&q6afedai {
929 dai@20 {
930 reg = <TERTIARY_MI2S_RX>;
931 qcom,sd-lines = <0>;
932 };
933};
934
935&q6asmdai {
936 dai@0 {
937 reg = <0>;
938 };
939
940 dai@1 {
941 reg = <1>;
942 };
943
944 dai@2 {
945 reg = <2>;
946 };
947};
948
949&sdhc_2 {
950 status = "okay";
951 pinctrl-names = "default";
952 pinctrl-0 = <&sdc2_default_state &sdc2_card_det_n>;
953 vmmc-supply = <&vreg_l9c_2p96>;
954 vqmmc-supply = <&vreg_l6c_2p96>;
955 cd-gpios = <&tlmm 77 GPIO_ACTIVE_LOW>;
956 bus-width = <4>;
957 no-sdio;
958 no-mmc;
959};
960
961&sound {
962 compatible = "qcom,qrb5165-rb5-sndcard";
963 pinctrl-0 = <&tert_mi2s_active>;
964 pinctrl-names = "default";
965 model = "Qualcomm-RB5-WSA8815-Speakers-DMIC0";
966 audio-routing =
967 "SpkrLeft IN", "WSA_SPK1 OUT",
968 "SpkrRight IN", "WSA_SPK2 OUT",
969 "VA DMIC0", "vdd-micb",
970 "VA DMIC1", "vdd-micb",
971 "MM_DL1", "MultiMedia1 Playback",
972 "MM_DL2", "MultiMedia2 Playback",
973 "MultiMedia3 Capture", "MM_UL3";
974
975 mm1-dai-link {
976 link-name = "MultiMedia1";
977 cpu {
978 sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA1>;
979 };
980 };
981
982 mm2-dai-link {
983 link-name = "MultiMedia2";
984 cpu {
985 sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA2>;
986 };
987 };
988
989 mm3-dai-link {
990 link-name = "MultiMedia3";
991 cpu {
992 sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA3>;
993 };
994 };
995
996 hdmi-dai-link {
997 link-name = "HDMI Playback";
998 cpu {
999 sound-dai = <&q6afedai TERTIARY_MI2S_RX>;
1000 };
1001
1002 platform {
1003 sound-dai = <&q6routing>;
1004 };
1005
1006 codec {
1007 sound-dai = <&lt9611_codec 0>;
1008 };
1009 };
1010
1011 dma-dai-link {
1012 link-name = "WSA Playback";
1013 cpu {
1014 sound-dai = <&q6afedai WSA_CODEC_DMA_RX_0>;
1015 };
1016
1017 platform {
1018 sound-dai = <&q6routing>;
1019 };
1020
1021 codec {
1022 sound-dai = <&left_spkr>, <&right_spkr>, <&swr0 0>, <&wsamacro 0>;
1023 };
1024 };
1025
1026 va-dai-link {
1027 link-name = "VA Capture";
1028 cpu {
1029 sound-dai = <&q6afedai VA_CODEC_DMA_TX_0>;
1030 };
1031
1032 platform {
1033 sound-dai = <&q6routing>;
1034 };
1035
1036 codec {
1037 sound-dai = <&vamacro 0>;
1038 };
1039 };
1040};
1041
1042/* CAN */
1043&spi0 {
1044 status = "okay";
1045 pinctrl-names = "default";
1046 pinctrl-0 = <&qup_spi0_data_clk>, <&qup_spi0_cs_gpio>;
1047 cs-gpios = <&tlmm 31 GPIO_ACTIVE_LOW>;
1048
1049 can@0 {
1050 compatible = "microchip,mcp2518fd";
1051 reg = <0>;
1052 clocks = <&clk40M>;
1053 interrupts-extended = <&tlmm 15 IRQ_TYPE_LEVEL_LOW>;
1054 spi-max-frequency = <10000000>;
1055 vdd-supply = <&vdc_5v>;
1056 xceiver-supply = <&vdc_5v>;
1057 };
1058};
1059
1060&swr0 {
1061 status = "okay";
1062
1063 left_spkr: speaker@0,3 {
1064 compatible = "sdw10217211000";
1065 reg = <0 3>;
1066 powerdown-gpios = <&tlmm 130 GPIO_ACTIVE_LOW>;
1067 #thermal-sensor-cells = <0>;
1068 sound-name-prefix = "SpkrLeft";
1069 #sound-dai-cells = <0>;
1070 };
1071
1072 right_spkr: speaker@0,4 {
1073 compatible = "sdw10217211000";
1074 reg = <0 4>;
1075 powerdown-gpios = <&tlmm 130 GPIO_ACTIVE_LOW>;
1076 #thermal-sensor-cells = <0>;
1077 sound-name-prefix = "SpkrRight";
1078 #sound-dai-cells = <0>;
1079 };
1080};
1081
1082&tlmm {
1083 gpio-reserved-ranges = <40 4>;
1084 gpio-line-names =
1085 "GPIO-MM",
1086 "GPIO-NN",
1087 "GPIO-OO",
1088 "GPIO-PP",
1089 "GPIO-A",
1090 "GPIO-C",
1091 "GPIO-E",
1092 "GPIO-D",
1093 "I2C0-SDA",
1094 "I2C0-SCL",
1095 "GPIO-TT", /* GPIO_10 */
1096 "NC",
1097 "GPIO_12_I2C_SDA",
1098 "GPIO_13_I2C_SCL",
1099 "GPIO-X",
1100 "GPIO_15_RGMII_INT",
1101 "HST_BT_UART_CTS",
1102 "HST_BT_UART_RFR",
1103 "HST_BT_UART_TX",
1104 "HST_BT_UART_RX",
1105 "HST_WLAN_EN", /* GPIO_20 */
1106 "HST_BT_EN",
1107 "GPIO-AAA",
1108 "GPIO-BBB",
1109 "GPIO-CCC",
1110 "GPIO-Z",
1111 "GPIO-DDD",
1112 "GPIO-BB",
1113 "GPIO_28_CAN_SPI_MISO",
1114 "GPIO_29_CAN_SPI_MOSI",
1115 "GPIO_30_CAN_SPI_CLK", /* GPIO_30 */
1116 "GPIO_31_CAN_SPI_CS",
1117 "GPIO-UU",
1118 "NC",
1119 "UART1_TXD_SOM",
1120 "UART1_RXD_SOM",
1121 "UART0_CTS",
1122 "UART0_RTS",
1123 "UART0_TXD",
1124 "UART0_RXD",
1125 "SPI1_MISO", /* GPIO_40 */
1126 "SPI1_MOSI",
1127 "SPI1_CLK",
1128 "SPI1_CS",
1129 "I2C1_SDA",
1130 "I2C1_SCL",
1131 "GPIO-F",
1132 "GPIO-JJ",
1133 "Board_ID1",
1134 "Board_ID2",
1135 "NC", /* GPIO_50 */
1136 "NC",
1137 "SPI0_MISO",
1138 "SPI0_MOSI",
1139 "SPI0_SCLK",
1140 "SPI0_CS",
1141 "GPIO-QQ",
1142 "GPIO-RR",
1143 "USB2LAN_RESET",
1144 "USB2LAN_EXTWAKE",
1145 "NC", /* GPIO_60 */
1146 "NC",
1147 "NC",
1148 "LT9611_INT",
1149 "GPIO-AA",
1150 "USB_CC_DIR",
1151 "GPIO-G",
1152 "GPIO-LL",
1153 "USB_DP_HPD_1P8",
1154 "NC",
1155 "NC", /* GPIO_70 */
1156 "SD_CMD",
1157 "SD_DAT3",
1158 "SD_SCLK",
1159 "SD_DAT2",
1160 "SD_DAT1",
1161 "SD_DAT0", /* BOOT_CFG3 */
1162 "SD_UFS_CARD_DET_N",
1163 "GPIO-II",
1164 "PCIE0_RST_N",
1165 "PCIE0_CLK_REQ_N", /* GPIO_80 */
1166 "PCIE0_WAKE_N",
1167 "GPIO-CC",
1168 "GPIO-DD",
1169 "GPIO-EE",
1170 "GPIO-FF",
1171 "GPIO-GG",
1172 "GPIO-HH",
1173 "GPIO-VV",
1174 "GPIO-WW",
1175 "NC", /* GPIO_90 */
1176 "NC",
1177 "GPIO-K",
1178 "GPIO-I",
1179 "CSI0_MCLK",
1180 "CSI1_MCLK",
1181 "CSI2_MCLK",
1182 "CSI3_MCLK",
1183 "GPIO-AA", /* CSI4_MCLK */
1184 "GPIO-BB", /* CSI5_MCLK */
1185 "GPIO-KK", /* GPIO_100 */
1186 "CCI_I2C_SDA0",
1187 "CCI_I2C_SCL0",
1188 "CCI_I2C_SDA1",
1189 "CCI_I2C_SCL1",
1190 "CCI_I2C_SDA2",
1191 "CCI_I2C_SCL2",
1192 "CCI_I2C_SDA3",
1193 "CCI_I2C_SCL3",
1194 "GPIO-L",
1195 "NC", /* GPIO_110 */
1196 "NC",
1197 "ACCEL_INT",
1198 "GYRO_INT",
1199 "GPIO-J",
1200 "GPIO-YY",
1201 "GPIO-H",
1202 "GPIO-ZZ",
1203 "NC",
1204 "NC",
1205 "NC", /* GPIO_120 */
1206 "NC",
1207 "MAG_INT",
1208 "MAG_DRDY_INT",
1209 "HST_SW_CTRL",
1210 "GPIO-M",
1211 "GPIO-N",
1212 "GPIO-O",
1213 "GPIO-P",
1214 "PS_INT",
1215 "WSA1_EN", /* GPIO_130 */
1216 "USB_HUB_RESET",
1217 "SDM_FORCE_USB_BOOT",
1218 "I2S1_CLK_HDMI",
1219 "I2S1_DATA0_HDMI",
1220 "I2S1_WS_HDMI",
1221 "GPIO-B",
1222 "GPIO_137", /* To LT9611_I2S_MCLK_3V3 */
1223 "PCM_CLK",
1224 "PCM_DI",
1225 "PCM_DO", /* GPIO_140 */
1226 "PCM_FS",
1227 "HST_SLIM_CLK",
1228 "HST_SLIM_DATA",
1229 "GPIO-U",
1230 "GPIO-Y",
1231 "GPIO-R",
1232 "GPIO-Q",
1233 "GPIO-S",
1234 "GPIO-T",
1235 "GPIO-V", /* GPIO_150 */
1236 "GPIO-W",
1237 "DMIC_CLK1",
1238 "DMIC_DATA1",
1239 "DMIC_CLK2",
1240 "DMIC_DATA2",
1241 "WSA_SWR_CLK",
1242 "WSA_SWR_DATA",
1243 "DMIC_CLK3",
1244 "DMIC_DATA3",
1245 "I2C4_SDA", /* GPIO_160 */
1246 "I2C4_SCL",
1247 "SPI3_CS1",
1248 "SPI3_CS2",
1249 "SPI2_MISO_LS3",
1250 "SPI2_MOSI_LS3",
1251 "SPI2_CLK_LS3",
1252 "SPI2_ACCEL_CS_LS3",
1253 "SPI2_CS1",
1254 "NC",
1255 "GPIO-SS", /* GPIO_170 */
1256 "GPIO-XX",
1257 "SPI3_MISO",
1258 "SPI3_MOSI",
1259 "SPI3_CLK",
1260 "SPI3_CS",
1261 "HST_BLE_SNS_UART_TX",
1262 "HST_BLE_SNS_UART_RX",
1263 "HST_WLAN_UART_TX",
1264 "HST_WLAN_UART_RX";
1265
1266 lt9611_irq_pin: lt9611-irq-state {
1267 pins = "gpio63";
1268 function = "gpio";
1269 bias-disable;
1270 };
1271
1272 sdc2_default_state: sdc2-default-state {
1273 clk-pins {
1274 pins = "sdc2_clk";
1275 bias-disable;
1276 drive-strength = <16>;
1277 };
1278
1279 cmd-pins {
1280 pins = "sdc2_cmd";
1281 bias-pull-up;
1282 drive-strength = <10>;
1283 };
1284
1285 data-pins {
1286 pins = "sdc2_data";
1287 bias-pull-up;
1288 drive-strength = <10>;
1289 };
1290 };
1291
1292 sdc2_card_det_n: sd-card-det-n-state {
1293 pins = "gpio77";
1294 function = "gpio";
1295 bias-pull-up;
1296 };
1297};
1298
1299&uart12 {
1300 status = "okay";
1301};
1302
1303&ufs_mem_hc {
1304 status = "okay";
1305
1306 vcc-supply = <&vreg_l17a_3p0>;
1307 vcc-max-microamp = <800000>;
1308 vccq-supply = <&vreg_l6a_1p2>;
1309 vccq-max-microamp = <800000>;
1310 vccq2-supply = <&vreg_s4a_1p8>;
1311 vccq2-max-microamp = <800000>;
1312};
1313
1314&ufs_mem_phy {
1315 status = "okay";
1316
1317 vdda-phy-supply = <&vreg_l5a_0p88>;
1318 vdda-pll-supply = <&vreg_l9a_1p2>;
1319};
1320
1321&usb_1 {
1322 status = "okay";
1323};
1324
1325&usb_1_dwc3 {
1326 dr_mode = "otg";
1327 usb-role-switch;
1328};
1329
1330&usb_1_role_switch_out {
1331 remote-endpoint = <&pm8150b_role_switch_in>;
1332};
1333
1334&usb_1_hsphy {
1335 status = "okay";
1336
1337 vdda-pll-supply = <&vreg_l5a_0p88>;
1338 vdda33-supply = <&vreg_l2a_3p1>;
1339 vdda18-supply = <&vreg_l12a_1p8>;
1340};
1341
1342&usb_1_qmpphy {
1343 status = "okay";
1344
1345 vdda-phy-supply = <&vreg_l9a_1p2>;
1346 vdda-pll-supply = <&vreg_l18a_0p92>;
1347 orientation-switch;
1348};
1349
1350&usb_1_qmpphy_out {
1351 remote-endpoint = <&redriver_phy_con_ss>;
1352};
1353
1354&usb_2 {
1355 status = "okay";
1356};
1357
1358&usb_2_dwc3 {
1359 dr_mode = "host";
1360};
1361
1362&usb_2_hsphy {
1363 status = "okay";
1364
1365 vdda-pll-supply = <&vreg_l5a_0p88>;
1366 vdda33-supply = <&vreg_l2a_3p1>;
1367 vdda18-supply = <&vreg_l12a_1p8>;
1368};
1369
1370&usb_2_qmpphy {
1371 status = "okay";
1372
1373 vdda-phy-supply = <&vreg_l9a_1p2>;
1374 vdda-pll-supply = <&vreg_l18a_0p92>;
1375};
1376
1377&vamacro {
1378 pinctrl-0 = <&dmic01_active>;
1379 pinctrl-names = "default";
1380 vdd-micb-supply = <&vreg_s4a_1p8>;
1381 qcom,dmic-sample-rate = <600000>;
1382};
1383
1384&venus {
1385 status = "okay";
1386};
1387
1388&wsamacro {
1389 status = "okay";
1390};
1391
1392/* PINCTRL - additions to nodes defined in sm8250.dtsi */
1393&qup_spi0_cs_gpio {
1394 drive-strength = <6>;
1395 bias-disable;
1396};
1397
1398&qup_spi0_data_clk {
1399 drive-strength = <6>;
1400 bias-disable;
1401};
1402
1403&pm8150b_vbus {
1404 regulator-min-microamp = <500000>;
1405 regulator-max-microamp = <3000000>;
1406 status = "okay";
1407};
1408
1409&pm8150b_typec {
1410 status = "okay";
1411
1412 vdd-pdphy-supply = <&vreg_l2a_3p1>;
1413
1414 connector {
1415 compatible = "usb-c-connector";
1416
1417 power-role = "source";
1418 data-role = "dual";
1419 self-powered;
1420
1421 source-pdos = <PDO_FIXED(5000, 3000,
1422 PDO_FIXED_DUAL_ROLE |
1423 PDO_FIXED_USB_COMM |
1424 PDO_FIXED_DATA_SWAP)>;
1425
1426 altmodes {
1427 displayport {
1428 svid = <0xff01>;
1429 vdo = <0x00001c46>;
1430 };
1431 };
1432
1433 ports {
1434 #address-cells = <1>;
1435 #size-cells = <0>;
1436
1437 port@0 {
1438 reg = <0>;
1439 pm8150b_role_switch_in: endpoint {
1440 remote-endpoint = <&usb_1_role_switch_out>;
1441 };
1442 };
1443
1444 port@1 {
1445 reg = <1>;
1446 pm8150b_typec_mux_in: endpoint {
1447 remote-endpoint = <&redriver_usb_con_ss>;
1448 };
1449 };
1450
1451 port@2 {
1452 reg = <2>;
1453
1454 pm8150b_typec_sbu_out: endpoint {
1455 remote-endpoint = <&redriver_usb_con_sbu>;
1456 };
1457 };
1458 };
1459 };
1460};
1461
1462&usb_1_qmpphy_dp_in {
1463 remote-endpoint = <&mdss_dp_out>;
1464};