blob: 9bafb3b350ff627277514be83910b72a283c1935 [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001// SPDX-License-Identifier: BSD-3-Clause
2/*
3 * Copyright (c) 2021, Linaro Limited
4 */
5
6#include <dt-bindings/interrupt-controller/arm-gic.h>
7#include <dt-bindings/clock/qcom,gcc-sm8450.h>
8#include <dt-bindings/clock/qcom,rpmh.h>
9#include <dt-bindings/clock/qcom,sm8450-camcc.h>
10#include <dt-bindings/clock/qcom,sm8450-dispcc.h>
Tom Rini93743d22024-04-01 09:08:13 -040011#include <dt-bindings/clock/qcom,sm8450-gpucc.h>
Tom Rini53633a82024-02-29 12:33:36 -050012#include <dt-bindings/clock/qcom,sm8450-videocc.h>
13#include <dt-bindings/dma/qcom-gpi.h>
14#include <dt-bindings/firmware/qcom,scm.h>
15#include <dt-bindings/gpio/gpio.h>
16#include <dt-bindings/mailbox/qcom-ipcc.h>
17#include <dt-bindings/phy/phy-qcom-qmp.h>
18#include <dt-bindings/power/qcom,rpmhpd.h>
19#include <dt-bindings/power/qcom-rpmpd.h>
20#include <dt-bindings/interconnect/qcom,icc.h>
21#include <dt-bindings/interconnect/qcom,sm8450.h>
Tom Rini93743d22024-04-01 09:08:13 -040022#include <dt-bindings/reset/qcom,sm8450-gpucc.h>
Tom Rini53633a82024-02-29 12:33:36 -050023#include <dt-bindings/soc/qcom,gpr.h>
24#include <dt-bindings/soc/qcom,rpmh-rsc.h>
25#include <dt-bindings/sound/qcom,q6dsp-lpass-ports.h>
26#include <dt-bindings/thermal/thermal.h>
27
28/ {
29 interrupt-parent = <&intc>;
30
31 #address-cells = <2>;
32 #size-cells = <2>;
33
34 chosen { };
35
36 clocks {
37 xo_board: xo-board {
38 compatible = "fixed-clock";
39 #clock-cells = <0>;
40 clock-frequency = <76800000>;
41 };
42
43 sleep_clk: sleep-clk {
44 compatible = "fixed-clock";
45 #clock-cells = <0>;
46 clock-frequency = <32000>;
47 };
48 };
49
50 cpus {
51 #address-cells = <2>;
52 #size-cells = <0>;
53
54 CPU0: cpu@0 {
55 device_type = "cpu";
56 compatible = "qcom,kryo780";
57 reg = <0x0 0x0>;
58 enable-method = "psci";
59 next-level-cache = <&L2_0>;
60 power-domains = <&CPU_PD0>;
61 power-domain-names = "psci";
62 qcom,freq-domain = <&cpufreq_hw 0>;
63 #cooling-cells = <2>;
64 clocks = <&cpufreq_hw 0>;
65 L2_0: l2-cache {
66 compatible = "cache";
67 cache-level = <2>;
68 cache-unified;
69 next-level-cache = <&L3_0>;
70 L3_0: l3-cache {
71 compatible = "cache";
72 cache-level = <3>;
73 cache-unified;
74 };
75 };
76 };
77
78 CPU1: cpu@100 {
79 device_type = "cpu";
80 compatible = "qcom,kryo780";
81 reg = <0x0 0x100>;
82 enable-method = "psci";
83 next-level-cache = <&L2_100>;
84 power-domains = <&CPU_PD1>;
85 power-domain-names = "psci";
86 qcom,freq-domain = <&cpufreq_hw 0>;
87 #cooling-cells = <2>;
88 clocks = <&cpufreq_hw 0>;
89 L2_100: l2-cache {
90 compatible = "cache";
91 cache-level = <2>;
92 cache-unified;
93 next-level-cache = <&L3_0>;
94 };
95 };
96
97 CPU2: cpu@200 {
98 device_type = "cpu";
99 compatible = "qcom,kryo780";
100 reg = <0x0 0x200>;
101 enable-method = "psci";
102 next-level-cache = <&L2_200>;
103 power-domains = <&CPU_PD2>;
104 power-domain-names = "psci";
105 qcom,freq-domain = <&cpufreq_hw 0>;
106 #cooling-cells = <2>;
107 clocks = <&cpufreq_hw 0>;
108 L2_200: l2-cache {
109 compatible = "cache";
110 cache-level = <2>;
111 cache-unified;
112 next-level-cache = <&L3_0>;
113 };
114 };
115
116 CPU3: cpu@300 {
117 device_type = "cpu";
118 compatible = "qcom,kryo780";
119 reg = <0x0 0x300>;
120 enable-method = "psci";
121 next-level-cache = <&L2_300>;
122 power-domains = <&CPU_PD3>;
123 power-domain-names = "psci";
124 qcom,freq-domain = <&cpufreq_hw 0>;
125 #cooling-cells = <2>;
126 clocks = <&cpufreq_hw 0>;
127 L2_300: l2-cache {
128 compatible = "cache";
129 cache-level = <2>;
130 cache-unified;
131 next-level-cache = <&L3_0>;
132 };
133 };
134
135 CPU4: cpu@400 {
136 device_type = "cpu";
137 compatible = "qcom,kryo780";
138 reg = <0x0 0x400>;
139 enable-method = "psci";
140 next-level-cache = <&L2_400>;
141 power-domains = <&CPU_PD4>;
142 power-domain-names = "psci";
143 qcom,freq-domain = <&cpufreq_hw 1>;
144 #cooling-cells = <2>;
145 clocks = <&cpufreq_hw 1>;
146 L2_400: l2-cache {
147 compatible = "cache";
148 cache-level = <2>;
149 cache-unified;
150 next-level-cache = <&L3_0>;
151 };
152 };
153
154 CPU5: cpu@500 {
155 device_type = "cpu";
156 compatible = "qcom,kryo780";
157 reg = <0x0 0x500>;
158 enable-method = "psci";
159 next-level-cache = <&L2_500>;
160 power-domains = <&CPU_PD5>;
161 power-domain-names = "psci";
162 qcom,freq-domain = <&cpufreq_hw 1>;
163 #cooling-cells = <2>;
164 clocks = <&cpufreq_hw 1>;
165 L2_500: l2-cache {
166 compatible = "cache";
167 cache-level = <2>;
168 cache-unified;
169 next-level-cache = <&L3_0>;
170 };
171 };
172
173 CPU6: cpu@600 {
174 device_type = "cpu";
175 compatible = "qcom,kryo780";
176 reg = <0x0 0x600>;
177 enable-method = "psci";
178 next-level-cache = <&L2_600>;
179 power-domains = <&CPU_PD6>;
180 power-domain-names = "psci";
181 qcom,freq-domain = <&cpufreq_hw 1>;
182 #cooling-cells = <2>;
183 clocks = <&cpufreq_hw 1>;
184 L2_600: l2-cache {
185 compatible = "cache";
186 cache-level = <2>;
187 cache-unified;
188 next-level-cache = <&L3_0>;
189 };
190 };
191
192 CPU7: cpu@700 {
193 device_type = "cpu";
194 compatible = "qcom,kryo780";
195 reg = <0x0 0x700>;
196 enable-method = "psci";
197 next-level-cache = <&L2_700>;
198 power-domains = <&CPU_PD7>;
199 power-domain-names = "psci";
200 qcom,freq-domain = <&cpufreq_hw 2>;
201 #cooling-cells = <2>;
202 clocks = <&cpufreq_hw 2>;
203 L2_700: l2-cache {
204 compatible = "cache";
205 cache-level = <2>;
206 cache-unified;
207 next-level-cache = <&L3_0>;
208 };
209 };
210
211 cpu-map {
212 cluster0 {
213 core0 {
214 cpu = <&CPU0>;
215 };
216
217 core1 {
218 cpu = <&CPU1>;
219 };
220
221 core2 {
222 cpu = <&CPU2>;
223 };
224
225 core3 {
226 cpu = <&CPU3>;
227 };
228
229 core4 {
230 cpu = <&CPU4>;
231 };
232
233 core5 {
234 cpu = <&CPU5>;
235 };
236
237 core6 {
238 cpu = <&CPU6>;
239 };
240
241 core7 {
242 cpu = <&CPU7>;
243 };
244 };
245 };
246
247 idle-states {
248 entry-method = "psci";
249
250 LITTLE_CPU_SLEEP_0: cpu-sleep-0-0 {
251 compatible = "arm,idle-state";
252 idle-state-name = "silver-rail-power-collapse";
253 arm,psci-suspend-param = <0x40000004>;
254 entry-latency-us = <800>;
255 exit-latency-us = <750>;
256 min-residency-us = <4090>;
257 local-timer-stop;
258 };
259
260 BIG_CPU_SLEEP_0: cpu-sleep-1-0 {
261 compatible = "arm,idle-state";
262 idle-state-name = "gold-rail-power-collapse";
263 arm,psci-suspend-param = <0x40000004>;
264 entry-latency-us = <600>;
265 exit-latency-us = <1550>;
266 min-residency-us = <4791>;
267 local-timer-stop;
268 };
269 };
270
271 domain-idle-states {
272 CLUSTER_SLEEP_0: cluster-sleep-0 {
273 compatible = "domain-idle-state";
274 arm,psci-suspend-param = <0x41000044>;
275 entry-latency-us = <1050>;
276 exit-latency-us = <2500>;
277 min-residency-us = <5309>;
278 };
279
280 CLUSTER_SLEEP_1: cluster-sleep-1 {
281 compatible = "domain-idle-state";
282 arm,psci-suspend-param = <0x4100c344>;
283 entry-latency-us = <2700>;
284 exit-latency-us = <3500>;
285 min-residency-us = <13959>;
286 };
287 };
288 };
289
290 firmware {
291 scm: scm {
292 compatible = "qcom,scm-sm8450", "qcom,scm";
293 qcom,dload-mode = <&tcsr 0x13000>;
294 interconnects = <&aggre2_noc MASTER_CRYPTO 0 &mc_virt SLAVE_EBI1 0>;
295 #reset-cells = <1>;
296 };
297 };
298
299 clk_virt: interconnect-0 {
300 compatible = "qcom,sm8450-clk-virt";
301 #interconnect-cells = <2>;
302 qcom,bcm-voters = <&apps_bcm_voter>;
303 };
304
305 mc_virt: interconnect-1 {
306 compatible = "qcom,sm8450-mc-virt";
307 #interconnect-cells = <2>;
308 qcom,bcm-voters = <&apps_bcm_voter>;
309 };
310
311 memory@a0000000 {
312 device_type = "memory";
313 /* We expect the bootloader to fill in the size */
314 reg = <0x0 0xa0000000 0x0 0x0>;
315 };
316
317 pmu {
318 compatible = "arm,armv8-pmuv3";
319 interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_HIGH>;
320 };
321
322 psci {
323 compatible = "arm,psci-1.0";
324 method = "smc";
325
326 CPU_PD0: power-domain-cpu0 {
327 #power-domain-cells = <0>;
328 power-domains = <&CLUSTER_PD>;
329 domain-idle-states = <&LITTLE_CPU_SLEEP_0>;
330 };
331
332 CPU_PD1: power-domain-cpu1 {
333 #power-domain-cells = <0>;
334 power-domains = <&CLUSTER_PD>;
335 domain-idle-states = <&LITTLE_CPU_SLEEP_0>;
336 };
337
338 CPU_PD2: power-domain-cpu2 {
339 #power-domain-cells = <0>;
340 power-domains = <&CLUSTER_PD>;
341 domain-idle-states = <&LITTLE_CPU_SLEEP_0>;
342 };
343
344 CPU_PD3: power-domain-cpu3 {
345 #power-domain-cells = <0>;
346 power-domains = <&CLUSTER_PD>;
347 domain-idle-states = <&LITTLE_CPU_SLEEP_0>;
348 };
349
350 CPU_PD4: power-domain-cpu4 {
351 #power-domain-cells = <0>;
352 power-domains = <&CLUSTER_PD>;
353 domain-idle-states = <&BIG_CPU_SLEEP_0>;
354 };
355
356 CPU_PD5: power-domain-cpu5 {
357 #power-domain-cells = <0>;
358 power-domains = <&CLUSTER_PD>;
359 domain-idle-states = <&BIG_CPU_SLEEP_0>;
360 };
361
362 CPU_PD6: power-domain-cpu6 {
363 #power-domain-cells = <0>;
364 power-domains = <&CLUSTER_PD>;
365 domain-idle-states = <&BIG_CPU_SLEEP_0>;
366 };
367
368 CPU_PD7: power-domain-cpu7 {
369 #power-domain-cells = <0>;
370 power-domains = <&CLUSTER_PD>;
371 domain-idle-states = <&BIG_CPU_SLEEP_0>;
372 };
373
374 CLUSTER_PD: power-domain-cpu-cluster0 {
375 #power-domain-cells = <0>;
376 domain-idle-states = <&CLUSTER_SLEEP_0>, <&CLUSTER_SLEEP_1>;
377 };
378 };
379
380 qup_opp_table_100mhz: opp-table-qup {
381 compatible = "operating-points-v2";
382
383 opp-50000000 {
384 opp-hz = /bits/ 64 <50000000>;
385 required-opps = <&rpmhpd_opp_min_svs>;
386 };
387
388 opp-75000000 {
389 opp-hz = /bits/ 64 <75000000>;
390 required-opps = <&rpmhpd_opp_low_svs>;
391 };
392
393 opp-100000000 {
394 opp-hz = /bits/ 64 <100000000>;
395 required-opps = <&rpmhpd_opp_svs>;
396 };
397 };
398
399 reserved_memory: reserved-memory {
400 #address-cells = <2>;
401 #size-cells = <2>;
402 ranges;
403
404 hyp_mem: memory@80000000 {
405 reg = <0x0 0x80000000 0x0 0x600000>;
406 no-map;
407 };
408
409 xbl_dt_log_mem: memory@80600000 {
410 reg = <0x0 0x80600000 0x0 0x40000>;
411 no-map;
412 };
413
414 xbl_ramdump_mem: memory@80640000 {
415 reg = <0x0 0x80640000 0x0 0x180000>;
416 no-map;
417 };
418
419 xbl_sc_mem: memory@807c0000 {
420 reg = <0x0 0x807c0000 0x0 0x40000>;
421 no-map;
422 };
423
424 aop_image_mem: memory@80800000 {
425 reg = <0x0 0x80800000 0x0 0x60000>;
426 no-map;
427 };
428
429 aop_cmd_db_mem: memory@80860000 {
430 compatible = "qcom,cmd-db";
431 reg = <0x0 0x80860000 0x0 0x20000>;
432 no-map;
433 };
434
435 aop_config_mem: memory@80880000 {
436 reg = <0x0 0x80880000 0x0 0x20000>;
437 no-map;
438 };
439
440 tme_crash_dump_mem: memory@808a0000 {
441 reg = <0x0 0x808a0000 0x0 0x40000>;
442 no-map;
443 };
444
445 tme_log_mem: memory@808e0000 {
446 reg = <0x0 0x808e0000 0x0 0x4000>;
447 no-map;
448 };
449
450 uefi_log_mem: memory@808e4000 {
451 reg = <0x0 0x808e4000 0x0 0x10000>;
452 no-map;
453 };
454
455 /* secdata region can be reused by apps */
456 smem: memory@80900000 {
457 compatible = "qcom,smem";
458 reg = <0x0 0x80900000 0x0 0x200000>;
459 hwlocks = <&tcsr_mutex 3>;
460 no-map;
461 };
462
463 cpucp_fw_mem: memory@80b00000 {
464 reg = <0x0 0x80b00000 0x0 0x100000>;
465 no-map;
466 };
467
468 cdsp_secure_heap: memory@80c00000 {
469 reg = <0x0 0x80c00000 0x0 0x4600000>;
470 no-map;
471 };
472
473 video_mem: memory@85700000 {
474 reg = <0x0 0x85700000 0x0 0x700000>;
475 no-map;
476 };
477
478 adsp_mem: memory@85e00000 {
479 reg = <0x0 0x85e00000 0x0 0x2100000>;
480 no-map;
481 };
482
483 slpi_mem: memory@88000000 {
484 reg = <0x0 0x88000000 0x0 0x1900000>;
485 no-map;
486 };
487
488 cdsp_mem: memory@89900000 {
489 reg = <0x0 0x89900000 0x0 0x2000000>;
490 no-map;
491 };
492
493 ipa_fw_mem: memory@8b900000 {
494 reg = <0x0 0x8b900000 0x0 0x10000>;
495 no-map;
496 };
497
498 ipa_gsi_mem: memory@8b910000 {
499 reg = <0x0 0x8b910000 0x0 0xa000>;
500 no-map;
501 };
502
503 gpu_micro_code_mem: memory@8b91a000 {
504 reg = <0x0 0x8b91a000 0x0 0x2000>;
505 no-map;
506 };
507
508 spss_region_mem: memory@8ba00000 {
509 reg = <0x0 0x8ba00000 0x0 0x180000>;
510 no-map;
511 };
512
513 /* First part of the "SPU secure shared memory" region */
514 spu_tz_shared_mem: memory@8bb80000 {
515 reg = <0x0 0x8bb80000 0x0 0x60000>;
516 no-map;
517 };
518
519 /* Second part of the "SPU secure shared memory" region */
520 spu_modem_shared_mem: memory@8bbe0000 {
521 reg = <0x0 0x8bbe0000 0x0 0x20000>;
522 no-map;
523 };
524
525 mpss_mem: memory@8bc00000 {
526 reg = <0x0 0x8bc00000 0x0 0x13200000>;
527 no-map;
528 };
529
530 cvp_mem: memory@9ee00000 {
531 reg = <0x0 0x9ee00000 0x0 0x700000>;
532 no-map;
533 };
534
535 camera_mem: memory@9f500000 {
536 reg = <0x0 0x9f500000 0x0 0x800000>;
537 no-map;
538 };
539
540 rmtfs_mem: memory@9fd00000 {
541 compatible = "qcom,rmtfs-mem";
542 reg = <0x0 0x9fd00000 0x0 0x280000>;
543 no-map;
544
545 qcom,client-id = <1>;
546 qcom,vmid = <QCOM_SCM_VMID_MSS_MSA>;
547 };
548
549 xbl_sc_mem2: memory@a6e00000 {
550 reg = <0x0 0xa6e00000 0x0 0x40000>;
551 no-map;
552 };
553
554 global_sync_mem: memory@a6f00000 {
555 reg = <0x0 0xa6f00000 0x0 0x100000>;
556 no-map;
557 };
558
559 /* uefi region can be reused by APPS */
560
561 /* Linux kernel image is loaded at 0xa0000000 */
562
563 oem_vm_mem: memory@bb000000 {
564 reg = <0x0 0xbb000000 0x0 0x5000000>;
565 no-map;
566 };
567
568 mte_mem: memory@c0000000 {
569 reg = <0x0 0xc0000000 0x0 0x20000000>;
570 no-map;
571 };
572
573 qheebsp_reserved_mem: memory@e0000000 {
574 reg = <0x0 0xe0000000 0x0 0x600000>;
575 no-map;
576 };
577
578 cpusys_vm_mem: memory@e0600000 {
579 reg = <0x0 0xe0600000 0x0 0x400000>;
580 no-map;
581 };
582
583 hyp_reserved_mem: memory@e0a00000 {
584 reg = <0x0 0xe0a00000 0x0 0x100000>;
585 no-map;
586 };
587
588 trust_ui_vm_mem: memory@e0b00000 {
589 reg = <0x0 0xe0b00000 0x0 0x4af3000>;
590 no-map;
591 };
592
593 trust_ui_vm_qrtr: memory@e55f3000 {
594 reg = <0x0 0xe55f3000 0x0 0x9000>;
595 no-map;
596 };
597
598 trust_ui_vm_vblk0_ring: memory@e55fc000 {
599 reg = <0x0 0xe55fc000 0x0 0x4000>;
600 no-map;
601 };
602
603 trust_ui_vm_swiotlb: memory@e5600000 {
604 reg = <0x0 0xe5600000 0x0 0x100000>;
605 no-map;
606 };
607
608 tz_stat_mem: memory@e8800000 {
609 reg = <0x0 0xe8800000 0x0 0x100000>;
610 no-map;
611 };
612
613 tags_mem: memory@e8900000 {
614 reg = <0x0 0xe8900000 0x0 0x1200000>;
615 no-map;
616 };
617
618 qtee_mem: memory@e9b00000 {
619 reg = <0x0 0xe9b00000 0x0 0x500000>;
620 no-map;
621 };
622
623 trusted_apps_mem: memory@ea000000 {
624 reg = <0x0 0xea000000 0x0 0x3900000>;
625 no-map;
626 };
627
628 trusted_apps_ext_mem: memory@ed900000 {
629 reg = <0x0 0xed900000 0x0 0x3b00000>;
630 no-map;
631 };
632 };
633
634 smp2p-adsp {
635 compatible = "qcom,smp2p";
636 qcom,smem = <443>, <429>;
637 interrupts-extended = <&ipcc IPCC_CLIENT_LPASS
638 IPCC_MPROC_SIGNAL_SMP2P
639 IRQ_TYPE_EDGE_RISING>;
640 mboxes = <&ipcc IPCC_CLIENT_LPASS
641 IPCC_MPROC_SIGNAL_SMP2P>;
642
643 qcom,local-pid = <0>;
644 qcom,remote-pid = <2>;
645
646 smp2p_adsp_out: master-kernel {
647 qcom,entry-name = "master-kernel";
648 #qcom,smem-state-cells = <1>;
649 };
650
651 smp2p_adsp_in: slave-kernel {
652 qcom,entry-name = "slave-kernel";
653 interrupt-controller;
654 #interrupt-cells = <2>;
655 };
656 };
657
658 smp2p-cdsp {
659 compatible = "qcom,smp2p";
660 qcom,smem = <94>, <432>;
661 interrupts-extended = <&ipcc IPCC_CLIENT_CDSP
662 IPCC_MPROC_SIGNAL_SMP2P
663 IRQ_TYPE_EDGE_RISING>;
664 mboxes = <&ipcc IPCC_CLIENT_CDSP
665 IPCC_MPROC_SIGNAL_SMP2P>;
666
667 qcom,local-pid = <0>;
668 qcom,remote-pid = <5>;
669
670 smp2p_cdsp_out: master-kernel {
671 qcom,entry-name = "master-kernel";
672 #qcom,smem-state-cells = <1>;
673 };
674
675 smp2p_cdsp_in: slave-kernel {
676 qcom,entry-name = "slave-kernel";
677 interrupt-controller;
678 #interrupt-cells = <2>;
679 };
680 };
681
682 smp2p-modem {
683 compatible = "qcom,smp2p";
684 qcom,smem = <435>, <428>;
685 interrupts-extended = <&ipcc IPCC_CLIENT_MPSS
686 IPCC_MPROC_SIGNAL_SMP2P
687 IRQ_TYPE_EDGE_RISING>;
688 mboxes = <&ipcc IPCC_CLIENT_MPSS
689 IPCC_MPROC_SIGNAL_SMP2P>;
690
691 qcom,local-pid = <0>;
692 qcom,remote-pid = <1>;
693
694 smp2p_modem_out: master-kernel {
695 qcom,entry-name = "master-kernel";
696 #qcom,smem-state-cells = <1>;
697 };
698
699 smp2p_modem_in: slave-kernel {
700 qcom,entry-name = "slave-kernel";
701 interrupt-controller;
702 #interrupt-cells = <2>;
703 };
704
705 ipa_smp2p_out: ipa-ap-to-modem {
706 qcom,entry-name = "ipa";
707 #qcom,smem-state-cells = <1>;
708 };
709
710 ipa_smp2p_in: ipa-modem-to-ap {
711 qcom,entry-name = "ipa";
712 interrupt-controller;
713 #interrupt-cells = <2>;
714 };
715 };
716
717 smp2p-slpi {
718 compatible = "qcom,smp2p";
719 qcom,smem = <481>, <430>;
720 interrupts-extended = <&ipcc IPCC_CLIENT_SLPI
721 IPCC_MPROC_SIGNAL_SMP2P
722 IRQ_TYPE_EDGE_RISING>;
723 mboxes = <&ipcc IPCC_CLIENT_SLPI
724 IPCC_MPROC_SIGNAL_SMP2P>;
725
726 qcom,local-pid = <0>;
727 qcom,remote-pid = <3>;
728
729 smp2p_slpi_out: master-kernel {
730 qcom,entry-name = "master-kernel";
731 #qcom,smem-state-cells = <1>;
732 };
733
734 smp2p_slpi_in: slave-kernel {
735 qcom,entry-name = "slave-kernel";
736 interrupt-controller;
737 #interrupt-cells = <2>;
738 };
739 };
740
741 soc: soc@0 {
742 #address-cells = <2>;
743 #size-cells = <2>;
744 ranges = <0 0 0 0 0x10 0>;
745 dma-ranges = <0 0 0 0 0x10 0>;
746 compatible = "simple-bus";
747
748 gcc: clock-controller@100000 {
749 compatible = "qcom,gcc-sm8450";
750 reg = <0x0 0x00100000 0x0 0x1f4200>;
751 #clock-cells = <1>;
752 #reset-cells = <1>;
753 #power-domain-cells = <1>;
754 clocks = <&rpmhcc RPMH_CXO_CLK>,
755 <&sleep_clk>,
756 <&pcie0_phy>,
Tom Rini6b642ac2024-10-01 12:20:28 -0600757 <&pcie1_phy QMP_PCIE_PIPE_CLK>,
758 <&pcie1_phy QMP_PCIE_PHY_AUX_CLK>,
Tom Rini93743d22024-04-01 09:08:13 -0400759 <&ufs_mem_phy 0>,
760 <&ufs_mem_phy 1>,
761 <&ufs_mem_phy 2>,
Tom Rini53633a82024-02-29 12:33:36 -0500762 <&usb_1_qmpphy QMP_USB43DP_USB3_PIPE_CLK>;
763 clock-names = "bi_tcxo",
764 "sleep_clk",
765 "pcie_0_pipe_clk",
766 "pcie_1_pipe_clk",
767 "pcie_1_phy_aux_clk",
768 "ufs_phy_rx_symbol_0_clk",
769 "ufs_phy_rx_symbol_1_clk",
770 "ufs_phy_tx_symbol_0_clk",
771 "usb3_phy_wrapper_gcc_usb30_pipe_clk";
772 };
773
774 gpi_dma2: dma-controller@800000 {
775 compatible = "qcom,sm8450-gpi-dma", "qcom,sm6350-gpi-dma";
776 #dma-cells = <3>;
777 reg = <0 0x00800000 0 0x60000>;
778 interrupts = <GIC_SPI 588 IRQ_TYPE_LEVEL_HIGH>,
779 <GIC_SPI 589 IRQ_TYPE_LEVEL_HIGH>,
780 <GIC_SPI 590 IRQ_TYPE_LEVEL_HIGH>,
781 <GIC_SPI 591 IRQ_TYPE_LEVEL_HIGH>,
782 <GIC_SPI 592 IRQ_TYPE_LEVEL_HIGH>,
783 <GIC_SPI 593 IRQ_TYPE_LEVEL_HIGH>,
784 <GIC_SPI 594 IRQ_TYPE_LEVEL_HIGH>,
785 <GIC_SPI 595 IRQ_TYPE_LEVEL_HIGH>,
786 <GIC_SPI 596 IRQ_TYPE_LEVEL_HIGH>,
787 <GIC_SPI 597 IRQ_TYPE_LEVEL_HIGH>,
788 <GIC_SPI 598 IRQ_TYPE_LEVEL_HIGH>,
789 <GIC_SPI 599 IRQ_TYPE_LEVEL_HIGH>;
790 dma-channels = <12>;
791 dma-channel-mask = <0x7e>;
792 iommus = <&apps_smmu 0x496 0x0>;
793 status = "disabled";
794 };
795
796 qupv3_id_2: geniqup@8c0000 {
797 compatible = "qcom,geni-se-qup";
798 reg = <0x0 0x008c0000 0x0 0x2000>;
799 clock-names = "m-ahb", "s-ahb";
800 clocks = <&gcc GCC_QUPV3_WRAP_2_M_AHB_CLK>,
801 <&gcc GCC_QUPV3_WRAP_2_S_AHB_CLK>;
802 iommus = <&apps_smmu 0x483 0x0>;
803 #address-cells = <2>;
804 #size-cells = <2>;
805 ranges;
806 status = "disabled";
807
808 i2c15: i2c@880000 {
809 compatible = "qcom,geni-i2c";
810 reg = <0x0 0x00880000 0x0 0x4000>;
811 clock-names = "se";
812 clocks = <&gcc GCC_QUPV3_WRAP2_S0_CLK>;
813 pinctrl-names = "default";
814 pinctrl-0 = <&qup_i2c15_data_clk>;
815 interrupts = <GIC_SPI 373 IRQ_TYPE_LEVEL_HIGH>;
816 #address-cells = <1>;
817 #size-cells = <0>;
818 interconnects = <&clk_virt MASTER_QUP_CORE_2 0 &clk_virt SLAVE_QUP_CORE_2 0>,
819 <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>,
820 <&aggre2_noc MASTER_QUP_2 0 &mc_virt SLAVE_EBI1 0>;
821 interconnect-names = "qup-core", "qup-config", "qup-memory";
822 dmas = <&gpi_dma2 0 0 QCOM_GPI_I2C>,
823 <&gpi_dma2 1 0 QCOM_GPI_I2C>;
824 dma-names = "tx", "rx";
825 status = "disabled";
826 };
827
828 spi15: spi@880000 {
829 compatible = "qcom,geni-spi";
830 reg = <0x0 0x00880000 0x0 0x4000>;
831 clock-names = "se";
832 clocks = <&gcc GCC_QUPV3_WRAP2_S0_CLK>;
833 interrupts = <GIC_SPI 373 IRQ_TYPE_LEVEL_HIGH>;
834 pinctrl-names = "default";
835 pinctrl-0 = <&qup_spi15_data_clk>, <&qup_spi15_cs>;
836 interconnects = <&clk_virt MASTER_QUP_CORE_2 0 &clk_virt SLAVE_QUP_CORE_2 0>,
837 <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>;
838 interconnect-names = "qup-core", "qup-config";
839 dmas = <&gpi_dma2 0 0 QCOM_GPI_SPI>,
840 <&gpi_dma2 1 0 QCOM_GPI_SPI>;
841 dma-names = "tx", "rx";
842 #address-cells = <1>;
843 #size-cells = <0>;
844 status = "disabled";
845 };
846
847 i2c16: i2c@884000 {
848 compatible = "qcom,geni-i2c";
849 reg = <0x0 0x00884000 0x0 0x4000>;
850 clock-names = "se";
851 clocks = <&gcc GCC_QUPV3_WRAP2_S1_CLK>;
852 pinctrl-names = "default";
853 pinctrl-0 = <&qup_i2c16_data_clk>;
854 interrupts = <GIC_SPI 583 IRQ_TYPE_LEVEL_HIGH>;
855 #address-cells = <1>;
856 #size-cells = <0>;
857 interconnects = <&clk_virt MASTER_QUP_CORE_2 0 &clk_virt SLAVE_QUP_CORE_2 0>,
858 <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>,
859 <&aggre2_noc MASTER_QUP_2 0 &mc_virt SLAVE_EBI1 0>;
860 interconnect-names = "qup-core", "qup-config", "qup-memory";
861 dmas = <&gpi_dma2 0 1 QCOM_GPI_I2C>,
862 <&gpi_dma2 1 1 QCOM_GPI_I2C>;
863 dma-names = "tx", "rx";
864 status = "disabled";
865 };
866
867 spi16: spi@884000 {
868 compatible = "qcom,geni-spi";
869 reg = <0x0 0x00884000 0x0 0x4000>;
870 clock-names = "se";
871 clocks = <&gcc GCC_QUPV3_WRAP2_S1_CLK>;
872 interrupts = <GIC_SPI 583 IRQ_TYPE_LEVEL_HIGH>;
873 pinctrl-names = "default";
874 pinctrl-0 = <&qup_spi16_data_clk>, <&qup_spi16_cs>;
875 interconnects = <&clk_virt MASTER_QUP_CORE_2 0 &clk_virt SLAVE_QUP_CORE_2 0>,
876 <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>;
877 interconnect-names = "qup-core", "qup-config";
878 dmas = <&gpi_dma2 0 1 QCOM_GPI_SPI>,
879 <&gpi_dma2 1 1 QCOM_GPI_SPI>;
880 dma-names = "tx", "rx";
881 #address-cells = <1>;
882 #size-cells = <0>;
883 status = "disabled";
884 };
885
886 i2c17: i2c@888000 {
887 compatible = "qcom,geni-i2c";
888 reg = <0x0 0x00888000 0x0 0x4000>;
889 clock-names = "se";
890 clocks = <&gcc GCC_QUPV3_WRAP2_S2_CLK>;
891 pinctrl-names = "default";
892 pinctrl-0 = <&qup_i2c17_data_clk>;
893 interrupts = <GIC_SPI 584 IRQ_TYPE_LEVEL_HIGH>;
894 #address-cells = <1>;
895 #size-cells = <0>;
896 interconnects = <&clk_virt MASTER_QUP_CORE_2 0 &clk_virt SLAVE_QUP_CORE_2 0>,
897 <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>,
898 <&aggre2_noc MASTER_QUP_2 0 &mc_virt SLAVE_EBI1 0>;
899 interconnect-names = "qup-core", "qup-config", "qup-memory";
900 dmas = <&gpi_dma2 0 2 QCOM_GPI_I2C>,
901 <&gpi_dma2 1 2 QCOM_GPI_I2C>;
902 dma-names = "tx", "rx";
903 status = "disabled";
904 };
905
906 spi17: spi@888000 {
907 compatible = "qcom,geni-spi";
908 reg = <0x0 0x00888000 0x0 0x4000>;
909 clock-names = "se";
910 clocks = <&gcc GCC_QUPV3_WRAP2_S2_CLK>;
911 interrupts = <GIC_SPI 584 IRQ_TYPE_LEVEL_HIGH>;
912 pinctrl-names = "default";
913 pinctrl-0 = <&qup_spi17_data_clk>, <&qup_spi17_cs>;
914 interconnects = <&clk_virt MASTER_QUP_CORE_2 0 &clk_virt SLAVE_QUP_CORE_2 0>,
915 <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>;
916 interconnect-names = "qup-core", "qup-config";
917 dmas = <&gpi_dma2 0 2 QCOM_GPI_SPI>,
918 <&gpi_dma2 1 2 QCOM_GPI_SPI>;
919 dma-names = "tx", "rx";
920 #address-cells = <1>;
921 #size-cells = <0>;
922 status = "disabled";
923 };
924
925 i2c18: i2c@88c000 {
926 compatible = "qcom,geni-i2c";
927 reg = <0x0 0x0088c000 0x0 0x4000>;
928 clock-names = "se";
929 clocks = <&gcc GCC_QUPV3_WRAP2_S3_CLK>;
930 pinctrl-names = "default";
931 pinctrl-0 = <&qup_i2c18_data_clk>;
932 interrupts = <GIC_SPI 585 IRQ_TYPE_LEVEL_HIGH>;
933 #address-cells = <1>;
934 #size-cells = <0>;
935 interconnects = <&clk_virt MASTER_QUP_CORE_2 0 &clk_virt SLAVE_QUP_CORE_2 0>,
936 <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>,
937 <&aggre2_noc MASTER_QUP_2 0 &mc_virt SLAVE_EBI1 0>;
938 interconnect-names = "qup-core", "qup-config", "qup-memory";
939 dmas = <&gpi_dma2 0 3 QCOM_GPI_I2C>,
940 <&gpi_dma2 1 3 QCOM_GPI_I2C>;
941 dma-names = "tx", "rx";
942 status = "disabled";
943 };
944
945 spi18: spi@88c000 {
946 compatible = "qcom,geni-spi";
947 reg = <0 0x0088c000 0 0x4000>;
948 clock-names = "se";
949 clocks = <&gcc GCC_QUPV3_WRAP2_S3_CLK>;
950 interrupts = <GIC_SPI 585 IRQ_TYPE_LEVEL_HIGH>;
951 pinctrl-names = "default";
952 pinctrl-0 = <&qup_spi18_data_clk>, <&qup_spi18_cs>;
953 interconnects = <&clk_virt MASTER_QUP_CORE_2 0 &clk_virt SLAVE_QUP_CORE_2 0>,
954 <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>;
955 interconnect-names = "qup-core", "qup-config";
956 dmas = <&gpi_dma2 0 3 QCOM_GPI_I2C>,
957 <&gpi_dma2 1 3 QCOM_GPI_I2C>;
958 dma-names = "tx", "rx";
959 #address-cells = <1>;
960 #size-cells = <0>;
961 status = "disabled";
962 };
963
964 i2c19: i2c@890000 {
965 compatible = "qcom,geni-i2c";
966 reg = <0x0 0x00890000 0x0 0x4000>;
967 clock-names = "se";
968 clocks = <&gcc GCC_QUPV3_WRAP2_S4_CLK>;
969 pinctrl-names = "default";
970 pinctrl-0 = <&qup_i2c19_data_clk>;
971 interrupts = <GIC_SPI 586 IRQ_TYPE_LEVEL_HIGH>;
972 #address-cells = <1>;
973 #size-cells = <0>;
974 interconnects = <&clk_virt MASTER_QUP_CORE_2 0 &clk_virt SLAVE_QUP_CORE_2 0>,
975 <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>,
976 <&aggre2_noc MASTER_QUP_2 0 &mc_virt SLAVE_EBI1 0>;
977 interconnect-names = "qup-core", "qup-config", "qup-memory";
978 dmas = <&gpi_dma2 0 4 QCOM_GPI_I2C>,
979 <&gpi_dma2 1 4 QCOM_GPI_I2C>;
980 dma-names = "tx", "rx";
981 status = "disabled";
982 };
983
984 spi19: spi@890000 {
985 compatible = "qcom,geni-spi";
986 reg = <0 0x00890000 0 0x4000>;
987 clock-names = "se";
988 clocks = <&gcc GCC_QUPV3_WRAP2_S4_CLK>;
989 interrupts = <GIC_SPI 586 IRQ_TYPE_LEVEL_HIGH>;
990 pinctrl-names = "default";
991 pinctrl-0 = <&qup_spi19_data_clk>, <&qup_spi19_cs>;
992 interconnects = <&clk_virt MASTER_QUP_CORE_2 0 &clk_virt SLAVE_QUP_CORE_2 0>,
993 <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>;
994 interconnect-names = "qup-core", "qup-config";
995 dmas = <&gpi_dma2 0 4 QCOM_GPI_I2C>,
996 <&gpi_dma2 1 4 QCOM_GPI_I2C>;
997 dma-names = "tx", "rx";
998 #address-cells = <1>;
999 #size-cells = <0>;
1000 status = "disabled";
1001 };
1002
1003 i2c20: i2c@894000 {
1004 compatible = "qcom,geni-i2c";
1005 reg = <0x0 0x00894000 0x0 0x4000>;
1006 clock-names = "se";
1007 clocks = <&gcc GCC_QUPV3_WRAP2_S5_CLK>;
1008 pinctrl-names = "default";
1009 pinctrl-0 = <&qup_i2c20_data_clk>;
1010 interrupts = <GIC_SPI 587 IRQ_TYPE_LEVEL_HIGH>;
1011 #address-cells = <1>;
1012 #size-cells = <0>;
1013 interconnects = <&clk_virt MASTER_QUP_CORE_2 0 &clk_virt SLAVE_QUP_CORE_2 0>,
1014 <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>,
1015 <&aggre2_noc MASTER_QUP_2 0 &mc_virt SLAVE_EBI1 0>;
1016 interconnect-names = "qup-core", "qup-config", "qup-memory";
1017 dmas = <&gpi_dma2 0 5 QCOM_GPI_I2C>,
1018 <&gpi_dma2 1 5 QCOM_GPI_I2C>;
1019 dma-names = "tx", "rx";
1020 status = "disabled";
1021 };
1022
1023 uart20: serial@894000 {
1024 compatible = "qcom,geni-uart";
1025 reg = <0 0x00894000 0 0x4000>;
1026 clock-names = "se";
1027 clocks = <&gcc GCC_QUPV3_WRAP2_S5_CLK>;
1028 pinctrl-names = "default";
1029 pinctrl-0 = <&qup_uart20_default>;
1030 interrupts = <GIC_SPI 587 IRQ_TYPE_LEVEL_HIGH>;
Tom Rini6bb92fc2024-05-20 09:54:58 -06001031 interconnects = <&clk_virt MASTER_QUP_CORE_2 QCOM_ICC_TAG_ALWAYS
1032 &clk_virt SLAVE_QUP_CORE_2 QCOM_ICC_TAG_ALWAYS>,
1033 <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS
1034 &config_noc SLAVE_QUP_2 QCOM_ICC_TAG_ALWAYS>;
1035 interconnect-names = "qup-core",
1036 "qup-config";
Tom Rini53633a82024-02-29 12:33:36 -05001037 status = "disabled";
1038 };
1039
1040 spi20: spi@894000 {
1041 compatible = "qcom,geni-spi";
1042 reg = <0 0x00894000 0 0x4000>;
1043 clock-names = "se";
1044 clocks = <&gcc GCC_QUPV3_WRAP2_S5_CLK>;
1045 interrupts = <GIC_SPI 587 IRQ_TYPE_LEVEL_HIGH>;
1046 pinctrl-names = "default";
1047 pinctrl-0 = <&qup_spi20_data_clk>, <&qup_spi20_cs>;
1048 interconnects = <&clk_virt MASTER_QUP_CORE_2 0 &clk_virt SLAVE_QUP_CORE_2 0>,
1049 <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>;
1050 interconnect-names = "qup-core", "qup-config";
1051 dmas = <&gpi_dma2 0 5 QCOM_GPI_SPI>,
1052 <&gpi_dma2 1 5 QCOM_GPI_SPI>;
1053 dma-names = "tx", "rx";
1054 #address-cells = <1>;
1055 #size-cells = <0>;
1056 status = "disabled";
1057 };
1058
1059 i2c21: i2c@898000 {
1060 compatible = "qcom,geni-i2c";
1061 reg = <0x0 0x00898000 0x0 0x4000>;
1062 clock-names = "se";
1063 clocks = <&gcc GCC_QUPV3_WRAP2_S6_CLK>;
1064 pinctrl-names = "default";
1065 pinctrl-0 = <&qup_i2c21_data_clk>;
1066 interrupts = <GIC_SPI 579 IRQ_TYPE_LEVEL_HIGH>;
1067 #address-cells = <1>;
1068 #size-cells = <0>;
1069 interconnects = <&clk_virt MASTER_QUP_CORE_2 0 &clk_virt SLAVE_QUP_CORE_2 0>,
1070 <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>,
1071 <&aggre2_noc MASTER_QUP_2 0 &mc_virt SLAVE_EBI1 0>;
1072 interconnect-names = "qup-core", "qup-config", "qup-memory";
1073 dmas = <&gpi_dma2 0 6 QCOM_GPI_I2C>,
1074 <&gpi_dma2 1 6 QCOM_GPI_I2C>;
1075 dma-names = "tx", "rx";
1076 status = "disabled";
1077 };
1078
1079 spi21: spi@898000 {
1080 compatible = "qcom,geni-spi";
1081 reg = <0 0x00898000 0 0x4000>;
1082 clock-names = "se";
1083 clocks = <&gcc GCC_QUPV3_WRAP2_S6_CLK>;
1084 interrupts = <GIC_SPI 579 IRQ_TYPE_LEVEL_HIGH>;
1085 pinctrl-names = "default";
1086 pinctrl-0 = <&qup_spi21_data_clk>, <&qup_spi21_cs>;
1087 interconnects = <&clk_virt MASTER_QUP_CORE_2 0 &clk_virt SLAVE_QUP_CORE_2 0>,
1088 <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>;
1089 interconnect-names = "qup-core", "qup-config";
1090 dmas = <&gpi_dma2 0 6 QCOM_GPI_SPI>,
1091 <&gpi_dma2 1 6 QCOM_GPI_SPI>;
1092 dma-names = "tx", "rx";
1093 #address-cells = <1>;
1094 #size-cells = <0>;
1095 status = "disabled";
1096 };
1097 };
1098
1099 gpi_dma0: dma-controller@900000 {
1100 compatible = "qcom,sm8450-gpi-dma", "qcom,sm6350-gpi-dma";
1101 #dma-cells = <3>;
1102 reg = <0 0x00900000 0 0x60000>;
1103 interrupts = <GIC_SPI 244 IRQ_TYPE_LEVEL_HIGH>,
1104 <GIC_SPI 245 IRQ_TYPE_LEVEL_HIGH>,
1105 <GIC_SPI 246 IRQ_TYPE_LEVEL_HIGH>,
1106 <GIC_SPI 247 IRQ_TYPE_LEVEL_HIGH>,
1107 <GIC_SPI 248 IRQ_TYPE_LEVEL_HIGH>,
1108 <GIC_SPI 249 IRQ_TYPE_LEVEL_HIGH>,
1109 <GIC_SPI 250 IRQ_TYPE_LEVEL_HIGH>,
1110 <GIC_SPI 251 IRQ_TYPE_LEVEL_HIGH>,
1111 <GIC_SPI 252 IRQ_TYPE_LEVEL_HIGH>,
1112 <GIC_SPI 253 IRQ_TYPE_LEVEL_HIGH>,
1113 <GIC_SPI 254 IRQ_TYPE_LEVEL_HIGH>,
1114 <GIC_SPI 255 IRQ_TYPE_LEVEL_HIGH>;
1115 dma-channels = <12>;
1116 dma-channel-mask = <0x7e>;
1117 iommus = <&apps_smmu 0x5b6 0x0>;
1118 status = "disabled";
1119 };
1120
1121 qupv3_id_0: geniqup@9c0000 {
1122 compatible = "qcom,geni-se-qup";
1123 reg = <0x0 0x009c0000 0x0 0x2000>;
1124 clock-names = "m-ahb", "s-ahb";
1125 clocks = <&gcc GCC_QUPV3_WRAP_0_M_AHB_CLK>,
1126 <&gcc GCC_QUPV3_WRAP_0_S_AHB_CLK>;
1127 iommus = <&apps_smmu 0x5a3 0x0>;
1128 interconnects = <&clk_virt MASTER_QUP_CORE_0 0 &clk_virt SLAVE_QUP_CORE_0 0>;
1129 interconnect-names = "qup-core";
1130 #address-cells = <2>;
1131 #size-cells = <2>;
1132 ranges;
1133 status = "disabled";
1134
1135 i2c0: i2c@980000 {
1136 compatible = "qcom,geni-i2c";
1137 reg = <0x0 0x00980000 0x0 0x4000>;
1138 clock-names = "se";
1139 clocks = <&gcc GCC_QUPV3_WRAP0_S0_CLK>;
1140 pinctrl-names = "default";
1141 pinctrl-0 = <&qup_i2c0_data_clk>;
1142 interrupts = <GIC_SPI 601 IRQ_TYPE_LEVEL_HIGH>;
1143 #address-cells = <1>;
1144 #size-cells = <0>;
1145 interconnects = <&clk_virt MASTER_QUP_CORE_0 0 &clk_virt SLAVE_QUP_CORE_0 0>,
1146 <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>,
1147 <&aggre2_noc MASTER_QUP_0 0 &mc_virt SLAVE_EBI1 0>;
1148 interconnect-names = "qup-core", "qup-config", "qup-memory";
1149 dmas = <&gpi_dma0 0 0 QCOM_GPI_I2C>,
1150 <&gpi_dma0 1 0 QCOM_GPI_I2C>;
1151 dma-names = "tx", "rx";
1152 status = "disabled";
1153 };
1154
1155 spi0: spi@980000 {
1156 compatible = "qcom,geni-spi";
1157 reg = <0x0 0x00980000 0x0 0x4000>;
1158 clock-names = "se";
1159 clocks = <&gcc GCC_QUPV3_WRAP0_S0_CLK>;
1160 interrupts = <GIC_SPI 601 IRQ_TYPE_LEVEL_HIGH>;
1161 pinctrl-names = "default";
1162 pinctrl-0 = <&qup_spi0_data_clk>, <&qup_spi0_cs>;
1163 power-domains = <&rpmhpd RPMHPD_CX>;
1164 operating-points-v2 = <&qup_opp_table_100mhz>;
1165 interconnects = <&clk_virt MASTER_QUP_CORE_0 0 &clk_virt SLAVE_QUP_CORE_0 0>,
1166 <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>,
1167 <&aggre2_noc MASTER_QUP_0 0 &mc_virt SLAVE_EBI1 0>;
1168 interconnect-names = "qup-core", "qup-config", "qup-memory";
1169 dmas = <&gpi_dma0 0 0 QCOM_GPI_SPI>,
1170 <&gpi_dma0 1 0 QCOM_GPI_SPI>;
1171 dma-names = "tx", "rx";
1172 #address-cells = <1>;
1173 #size-cells = <0>;
1174 status = "disabled";
1175 };
1176
1177 i2c1: i2c@984000 {
1178 compatible = "qcom,geni-i2c";
1179 reg = <0x0 0x00984000 0x0 0x4000>;
1180 clock-names = "se";
1181 clocks = <&gcc GCC_QUPV3_WRAP0_S1_CLK>;
1182 pinctrl-names = "default";
1183 pinctrl-0 = <&qup_i2c1_data_clk>;
1184 interrupts = <GIC_SPI 602 IRQ_TYPE_LEVEL_HIGH>;
1185 #address-cells = <1>;
1186 #size-cells = <0>;
1187 interconnects = <&clk_virt MASTER_QUP_CORE_0 0 &clk_virt SLAVE_QUP_CORE_0 0>,
1188 <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>,
1189 <&aggre2_noc MASTER_QUP_0 0 &mc_virt SLAVE_EBI1 0>;
1190 interconnect-names = "qup-core", "qup-config", "qup-memory";
1191 dmas = <&gpi_dma0 0 1 QCOM_GPI_I2C>,
1192 <&gpi_dma0 1 1 QCOM_GPI_I2C>;
1193 dma-names = "tx", "rx";
1194 status = "disabled";
1195 };
1196
1197 spi1: spi@984000 {
1198 compatible = "qcom,geni-spi";
1199 reg = <0x0 0x00984000 0x0 0x4000>;
1200 clock-names = "se";
1201 clocks = <&gcc GCC_QUPV3_WRAP0_S1_CLK>;
1202 interrupts = <GIC_SPI 602 IRQ_TYPE_LEVEL_HIGH>;
1203 pinctrl-names = "default";
1204 pinctrl-0 = <&qup_spi1_data_clk>, <&qup_spi1_cs>;
1205 interconnects = <&clk_virt MASTER_QUP_CORE_0 0 &clk_virt SLAVE_QUP_CORE_0 0>,
1206 <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>,
1207 <&aggre2_noc MASTER_QUP_0 0 &mc_virt SLAVE_EBI1 0>;
1208 interconnect-names = "qup-core", "qup-config", "qup-memory";
1209 dmas = <&gpi_dma0 0 1 QCOM_GPI_SPI>,
1210 <&gpi_dma0 1 1 QCOM_GPI_SPI>;
1211 dma-names = "tx", "rx";
1212 #address-cells = <1>;
1213 #size-cells = <0>;
1214 status = "disabled";
1215 };
1216
1217 i2c2: i2c@988000 {
1218 compatible = "qcom,geni-i2c";
1219 reg = <0x0 0x00988000 0x0 0x4000>;
1220 clock-names = "se";
1221 clocks = <&gcc GCC_QUPV3_WRAP0_S2_CLK>;
1222 pinctrl-names = "default";
1223 pinctrl-0 = <&qup_i2c2_data_clk>;
1224 interrupts = <GIC_SPI 603 IRQ_TYPE_LEVEL_HIGH>;
1225 #address-cells = <1>;
1226 #size-cells = <0>;
1227 interconnects = <&clk_virt MASTER_QUP_CORE_0 0 &clk_virt SLAVE_QUP_CORE_0 0>,
1228 <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>,
1229 <&aggre2_noc MASTER_QUP_0 0 &mc_virt SLAVE_EBI1 0>;
1230 interconnect-names = "qup-core", "qup-config", "qup-memory";
1231 dmas = <&gpi_dma0 0 2 QCOM_GPI_I2C>,
1232 <&gpi_dma0 1 2 QCOM_GPI_I2C>;
1233 dma-names = "tx", "rx";
1234 status = "disabled";
1235 };
1236
1237 spi2: spi@988000 {
1238 compatible = "qcom,geni-spi";
1239 reg = <0x0 0x00988000 0x0 0x4000>;
1240 clock-names = "se";
1241 clocks = <&gcc GCC_QUPV3_WRAP0_S2_CLK>;
1242 interrupts = <GIC_SPI 603 IRQ_TYPE_LEVEL_HIGH>;
1243 pinctrl-names = "default";
1244 pinctrl-0 = <&qup_spi2_data_clk>, <&qup_spi2_cs>;
1245 interconnects = <&clk_virt MASTER_QUP_CORE_0 0 &clk_virt SLAVE_QUP_CORE_0 0>,
1246 <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>,
1247 <&aggre2_noc MASTER_QUP_0 0 &mc_virt SLAVE_EBI1 0>;
1248 interconnect-names = "qup-core", "qup-config", "qup-memory";
1249 dmas = <&gpi_dma0 0 2 QCOM_GPI_SPI>,
1250 <&gpi_dma0 1 2 QCOM_GPI_SPI>;
1251 dma-names = "tx", "rx";
1252 #address-cells = <1>;
1253 #size-cells = <0>;
1254 status = "disabled";
1255 };
1256
1257
1258 i2c3: i2c@98c000 {
1259 compatible = "qcom,geni-i2c";
1260 reg = <0x0 0x0098c000 0x0 0x4000>;
1261 clock-names = "se";
1262 clocks = <&gcc GCC_QUPV3_WRAP0_S3_CLK>;
1263 pinctrl-names = "default";
1264 pinctrl-0 = <&qup_i2c3_data_clk>;
1265 interrupts = <GIC_SPI 604 IRQ_TYPE_LEVEL_HIGH>;
1266 #address-cells = <1>;
1267 #size-cells = <0>;
1268 interconnects = <&clk_virt MASTER_QUP_CORE_0 0 &clk_virt SLAVE_QUP_CORE_0 0>,
1269 <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>,
1270 <&aggre2_noc MASTER_QUP_0 0 &mc_virt SLAVE_EBI1 0>;
1271 interconnect-names = "qup-core", "qup-config", "qup-memory";
1272 dmas = <&gpi_dma0 0 3 QCOM_GPI_I2C>,
1273 <&gpi_dma0 1 3 QCOM_GPI_I2C>;
1274 dma-names = "tx", "rx";
1275 status = "disabled";
1276 };
1277
1278 spi3: spi@98c000 {
1279 compatible = "qcom,geni-spi";
1280 reg = <0x0 0x0098c000 0x0 0x4000>;
1281 clock-names = "se";
1282 clocks = <&gcc GCC_QUPV3_WRAP0_S3_CLK>;
1283 interrupts = <GIC_SPI 604 IRQ_TYPE_LEVEL_HIGH>;
1284 pinctrl-names = "default";
1285 pinctrl-0 = <&qup_spi3_data_clk>, <&qup_spi3_cs>;
1286 interconnects = <&clk_virt MASTER_QUP_CORE_0 0 &clk_virt SLAVE_QUP_CORE_0 0>,
1287 <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>,
1288 <&aggre2_noc MASTER_QUP_0 0 &mc_virt SLAVE_EBI1 0>;
1289 interconnect-names = "qup-core", "qup-config", "qup-memory";
1290 dmas = <&gpi_dma0 0 3 QCOM_GPI_SPI>,
1291 <&gpi_dma0 1 3 QCOM_GPI_SPI>;
1292 dma-names = "tx", "rx";
1293 #address-cells = <1>;
1294 #size-cells = <0>;
1295 status = "disabled";
1296 };
1297
1298 i2c4: i2c@990000 {
1299 compatible = "qcom,geni-i2c";
1300 reg = <0x0 0x00990000 0x0 0x4000>;
1301 clock-names = "se";
1302 clocks = <&gcc GCC_QUPV3_WRAP0_S4_CLK>;
1303 pinctrl-names = "default";
1304 pinctrl-0 = <&qup_i2c4_data_clk>;
1305 interrupts = <GIC_SPI 605 IRQ_TYPE_LEVEL_HIGH>;
1306 #address-cells = <1>;
1307 #size-cells = <0>;
1308 interconnects = <&clk_virt MASTER_QUP_CORE_0 0 &clk_virt SLAVE_QUP_CORE_0 0>,
1309 <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>,
1310 <&aggre2_noc MASTER_QUP_0 0 &mc_virt SLAVE_EBI1 0>;
1311 interconnect-names = "qup-core", "qup-config", "qup-memory";
1312 dmas = <&gpi_dma0 0 4 QCOM_GPI_I2C>,
1313 <&gpi_dma0 1 4 QCOM_GPI_I2C>;
1314 dma-names = "tx", "rx";
1315 status = "disabled";
1316 };
1317
1318 spi4: spi@990000 {
1319 compatible = "qcom,geni-spi";
1320 reg = <0x0 0x00990000 0x0 0x4000>;
1321 clock-names = "se";
1322 clocks = <&gcc GCC_QUPV3_WRAP0_S4_CLK>;
1323 interrupts = <GIC_SPI 605 IRQ_TYPE_LEVEL_HIGH>;
1324 pinctrl-names = "default";
1325 pinctrl-0 = <&qup_spi4_data_clk>, <&qup_spi4_cs>;
1326 power-domains = <&rpmhpd RPMHPD_CX>;
1327 operating-points-v2 = <&qup_opp_table_100mhz>;
1328 interconnects = <&clk_virt MASTER_QUP_CORE_0 0 &clk_virt SLAVE_QUP_CORE_0 0>,
1329 <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>,
1330 <&aggre2_noc MASTER_QUP_0 0 &mc_virt SLAVE_EBI1 0>;
1331 interconnect-names = "qup-core", "qup-config", "qup-memory";
1332 dmas = <&gpi_dma0 0 4 QCOM_GPI_SPI>,
1333 <&gpi_dma0 1 4 QCOM_GPI_SPI>;
1334 dma-names = "tx", "rx";
1335 #address-cells = <1>;
1336 #size-cells = <0>;
1337 status = "disabled";
1338 };
1339
1340 i2c5: i2c@994000 {
1341 compatible = "qcom,geni-i2c";
1342 reg = <0x0 0x00994000 0x0 0x4000>;
1343 clock-names = "se";
1344 clocks = <&gcc GCC_QUPV3_WRAP0_S5_CLK>;
1345 pinctrl-names = "default";
1346 pinctrl-0 = <&qup_i2c5_data_clk>;
1347 interrupts = <GIC_SPI 606 IRQ_TYPE_LEVEL_HIGH>;
1348 #address-cells = <1>;
1349 #size-cells = <0>;
1350 interconnects = <&clk_virt MASTER_QUP_CORE_0 0 &clk_virt SLAVE_QUP_CORE_0 0>,
1351 <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>,
1352 <&aggre2_noc MASTER_QUP_0 0 &mc_virt SLAVE_EBI1 0>;
1353 interconnect-names = "qup-core", "qup-config", "qup-memory";
1354 dmas = <&gpi_dma0 0 5 QCOM_GPI_I2C>,
1355 <&gpi_dma0 1 5 QCOM_GPI_I2C>;
1356 dma-names = "tx", "rx";
1357 status = "disabled";
1358 };
1359
1360 spi5: spi@994000 {
1361 compatible = "qcom,geni-spi";
1362 reg = <0x0 0x00994000 0x0 0x4000>;
1363 clock-names = "se";
1364 clocks = <&gcc GCC_QUPV3_WRAP0_S5_CLK>;
1365 interrupts = <GIC_SPI 606 IRQ_TYPE_LEVEL_HIGH>;
1366 pinctrl-names = "default";
1367 pinctrl-0 = <&qup_spi5_data_clk>, <&qup_spi5_cs>;
1368 interconnects = <&clk_virt MASTER_QUP_CORE_0 0 &clk_virt SLAVE_QUP_CORE_0 0>,
1369 <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>,
1370 <&aggre2_noc MASTER_QUP_0 0 &mc_virt SLAVE_EBI1 0>;
1371 interconnect-names = "qup-core", "qup-config", "qup-memory";
1372 dmas = <&gpi_dma0 0 5 QCOM_GPI_SPI>,
1373 <&gpi_dma0 1 5 QCOM_GPI_SPI>;
1374 dma-names = "tx", "rx";
1375 #address-cells = <1>;
1376 #size-cells = <0>;
1377 status = "disabled";
1378 };
1379
1380
1381 i2c6: i2c@998000 {
1382 compatible = "qcom,geni-i2c";
1383 reg = <0x0 0x00998000 0x0 0x4000>;
1384 clock-names = "se";
1385 clocks = <&gcc GCC_QUPV3_WRAP0_S6_CLK>;
1386 pinctrl-names = "default";
1387 pinctrl-0 = <&qup_i2c6_data_clk>;
1388 interrupts = <GIC_SPI 607 IRQ_TYPE_LEVEL_HIGH>;
1389 #address-cells = <1>;
1390 #size-cells = <0>;
1391 interconnects = <&clk_virt MASTER_QUP_CORE_0 0 &clk_virt SLAVE_QUP_CORE_0 0>,
1392 <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>,
1393 <&aggre2_noc MASTER_QUP_0 0 &mc_virt SLAVE_EBI1 0>;
1394 interconnect-names = "qup-core", "qup-config", "qup-memory";
1395 dmas = <&gpi_dma0 0 6 QCOM_GPI_I2C>,
1396 <&gpi_dma0 1 6 QCOM_GPI_I2C>;
1397 dma-names = "tx", "rx";
1398 status = "disabled";
1399 };
1400
1401 spi6: spi@998000 {
1402 compatible = "qcom,geni-spi";
1403 reg = <0x0 0x00998000 0x0 0x4000>;
1404 clock-names = "se";
1405 clocks = <&gcc GCC_QUPV3_WRAP0_S6_CLK>;
1406 interrupts = <GIC_SPI 607 IRQ_TYPE_LEVEL_HIGH>;
1407 pinctrl-names = "default";
1408 pinctrl-0 = <&qup_spi6_data_clk>, <&qup_spi6_cs>;
1409 interconnects = <&clk_virt MASTER_QUP_CORE_0 0 &clk_virt SLAVE_QUP_CORE_0 0>,
1410 <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>,
1411 <&aggre2_noc MASTER_QUP_0 0 &mc_virt SLAVE_EBI1 0>;
1412 interconnect-names = "qup-core", "qup-config", "qup-memory";
1413 dmas = <&gpi_dma0 0 6 QCOM_GPI_SPI>,
1414 <&gpi_dma0 1 6 QCOM_GPI_SPI>;
1415 dma-names = "tx", "rx";
1416 #address-cells = <1>;
1417 #size-cells = <0>;
1418 status = "disabled";
1419 };
1420
1421 uart7: serial@99c000 {
1422 compatible = "qcom,geni-debug-uart";
1423 reg = <0 0x0099c000 0 0x4000>;
1424 clock-names = "se";
1425 clocks = <&gcc GCC_QUPV3_WRAP0_S7_CLK>;
1426 pinctrl-names = "default";
1427 pinctrl-0 = <&qup_uart7_tx>, <&qup_uart7_rx>;
1428 interrupts = <GIC_SPI 608 IRQ_TYPE_LEVEL_HIGH>;
Tom Rini6bb92fc2024-05-20 09:54:58 -06001429 interconnects = <&clk_virt MASTER_QUP_CORE_2 QCOM_ICC_TAG_ALWAYS
1430 &clk_virt SLAVE_QUP_CORE_2 QCOM_ICC_TAG_ALWAYS>,
1431 <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS
1432 &config_noc SLAVE_QUP_2 QCOM_ICC_TAG_ALWAYS>;
1433 interconnect-names = "qup-core",
1434 "qup-config";
Tom Rini53633a82024-02-29 12:33:36 -05001435 status = "disabled";
1436 };
1437 };
1438
1439 gpi_dma1: dma-controller@a00000 {
1440 compatible = "qcom,sm8450-gpi-dma", "qcom,sm6350-gpi-dma";
1441 #dma-cells = <3>;
1442 reg = <0 0x00a00000 0 0x60000>;
1443 interrupts = <GIC_SPI 279 IRQ_TYPE_LEVEL_HIGH>,
1444 <GIC_SPI 280 IRQ_TYPE_LEVEL_HIGH>,
1445 <GIC_SPI 281 IRQ_TYPE_LEVEL_HIGH>,
1446 <GIC_SPI 282 IRQ_TYPE_LEVEL_HIGH>,
1447 <GIC_SPI 283 IRQ_TYPE_LEVEL_HIGH>,
1448 <GIC_SPI 284 IRQ_TYPE_LEVEL_HIGH>,
1449 <GIC_SPI 293 IRQ_TYPE_LEVEL_HIGH>,
1450 <GIC_SPI 294 IRQ_TYPE_LEVEL_HIGH>,
1451 <GIC_SPI 295 IRQ_TYPE_LEVEL_HIGH>,
1452 <GIC_SPI 296 IRQ_TYPE_LEVEL_HIGH>,
1453 <GIC_SPI 297 IRQ_TYPE_LEVEL_HIGH>,
1454 <GIC_SPI 298 IRQ_TYPE_LEVEL_HIGH>;
1455 dma-channels = <12>;
1456 dma-channel-mask = <0x7e>;
1457 iommus = <&apps_smmu 0x56 0x0>;
1458 status = "disabled";
1459 };
1460
1461 qupv3_id_1: geniqup@ac0000 {
1462 compatible = "qcom,geni-se-qup";
1463 reg = <0x0 0x00ac0000 0x0 0x6000>;
1464 clock-names = "m-ahb", "s-ahb";
1465 clocks = <&gcc GCC_QUPV3_WRAP_1_M_AHB_CLK>,
1466 <&gcc GCC_QUPV3_WRAP_1_S_AHB_CLK>;
1467 iommus = <&apps_smmu 0x43 0x0>;
1468 interconnects = <&clk_virt MASTER_QUP_CORE_1 0 &clk_virt SLAVE_QUP_CORE_1 0>;
1469 interconnect-names = "qup-core";
1470 #address-cells = <2>;
1471 #size-cells = <2>;
1472 ranges;
1473 status = "disabled";
1474
1475 i2c8: i2c@a80000 {
1476 compatible = "qcom,geni-i2c";
1477 reg = <0x0 0x00a80000 0x0 0x4000>;
1478 clock-names = "se";
1479 clocks = <&gcc GCC_QUPV3_WRAP1_S0_CLK>;
1480 pinctrl-names = "default";
1481 pinctrl-0 = <&qup_i2c8_data_clk>;
1482 interrupts = <GIC_SPI 353 IRQ_TYPE_LEVEL_HIGH>;
1483 #address-cells = <1>;
1484 #size-cells = <0>;
1485 interconnects = <&clk_virt MASTER_QUP_CORE_1 0 &clk_virt SLAVE_QUP_CORE_1 0>,
1486 <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>,
1487 <&aggre2_noc MASTER_QUP_1 0 &mc_virt SLAVE_EBI1 0>;
1488 interconnect-names = "qup-core", "qup-config", "qup-memory";
1489 dmas = <&gpi_dma1 0 0 QCOM_GPI_I2C>,
1490 <&gpi_dma1 1 0 QCOM_GPI_I2C>;
1491 dma-names = "tx", "rx";
1492 status = "disabled";
1493 };
1494
1495 spi8: spi@a80000 {
1496 compatible = "qcom,geni-spi";
1497 reg = <0x0 0x00a80000 0x0 0x4000>;
1498 clock-names = "se";
1499 clocks = <&gcc GCC_QUPV3_WRAP1_S0_CLK>;
1500 interrupts = <GIC_SPI 353 IRQ_TYPE_LEVEL_HIGH>;
1501 pinctrl-names = "default";
1502 pinctrl-0 = <&qup_spi8_data_clk>, <&qup_spi8_cs>;
1503 interconnects = <&clk_virt MASTER_QUP_CORE_1 0 &clk_virt SLAVE_QUP_CORE_1 0>,
1504 <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>,
1505 <&aggre2_noc MASTER_QUP_1 0 &mc_virt SLAVE_EBI1 0>;
1506 interconnect-names = "qup-core", "qup-config", "qup-memory";
1507 dmas = <&gpi_dma1 0 0 QCOM_GPI_SPI>,
1508 <&gpi_dma1 1 0 QCOM_GPI_SPI>;
1509 dma-names = "tx", "rx";
1510 #address-cells = <1>;
1511 #size-cells = <0>;
1512 status = "disabled";
1513 };
1514
1515 i2c9: i2c@a84000 {
1516 compatible = "qcom,geni-i2c";
1517 reg = <0x0 0x00a84000 0x0 0x4000>;
1518 clock-names = "se";
1519 clocks = <&gcc GCC_QUPV3_WRAP1_S1_CLK>;
1520 pinctrl-names = "default";
1521 pinctrl-0 = <&qup_i2c9_data_clk>;
1522 interrupts = <GIC_SPI 354 IRQ_TYPE_LEVEL_HIGH>;
1523 #address-cells = <1>;
1524 #size-cells = <0>;
1525 interconnects = <&clk_virt MASTER_QUP_CORE_1 0 &clk_virt SLAVE_QUP_CORE_1 0>,
1526 <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>,
1527 <&aggre2_noc MASTER_QUP_1 0 &mc_virt SLAVE_EBI1 0>;
1528 interconnect-names = "qup-core", "qup-config", "qup-memory";
1529 dmas = <&gpi_dma1 0 1 QCOM_GPI_I2C>,
1530 <&gpi_dma1 1 1 QCOM_GPI_I2C>;
1531 dma-names = "tx", "rx";
1532 status = "disabled";
1533 };
1534
1535 spi9: spi@a84000 {
1536 compatible = "qcom,geni-spi";
1537 reg = <0x0 0x00a84000 0x0 0x4000>;
1538 clock-names = "se";
1539 clocks = <&gcc GCC_QUPV3_WRAP1_S1_CLK>;
1540 interrupts = <GIC_SPI 354 IRQ_TYPE_LEVEL_HIGH>;
1541 pinctrl-names = "default";
1542 pinctrl-0 = <&qup_spi9_data_clk>, <&qup_spi9_cs>;
1543 interconnects = <&clk_virt MASTER_QUP_CORE_1 0 &clk_virt SLAVE_QUP_CORE_1 0>,
1544 <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>,
1545 <&aggre2_noc MASTER_QUP_1 0 &mc_virt SLAVE_EBI1 0>;
1546 interconnect-names = "qup-core", "qup-config", "qup-memory";
1547 dmas = <&gpi_dma1 0 1 QCOM_GPI_SPI>,
1548 <&gpi_dma1 1 1 QCOM_GPI_SPI>;
1549 dma-names = "tx", "rx";
1550 #address-cells = <1>;
1551 #size-cells = <0>;
1552 status = "disabled";
1553 };
1554
1555 i2c10: i2c@a88000 {
1556 compatible = "qcom,geni-i2c";
1557 reg = <0x0 0x00a88000 0x0 0x4000>;
1558 clock-names = "se";
1559 clocks = <&gcc GCC_QUPV3_WRAP1_S2_CLK>;
1560 pinctrl-names = "default";
1561 pinctrl-0 = <&qup_i2c10_data_clk>;
1562 interrupts = <GIC_SPI 355 IRQ_TYPE_LEVEL_HIGH>;
1563 #address-cells = <1>;
1564 #size-cells = <0>;
1565 interconnects = <&clk_virt MASTER_QUP_CORE_1 0 &clk_virt SLAVE_QUP_CORE_1 0>,
1566 <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>,
1567 <&aggre2_noc MASTER_QUP_1 0 &mc_virt SLAVE_EBI1 0>;
1568 interconnect-names = "qup-core", "qup-config", "qup-memory";
1569 dmas = <&gpi_dma1 0 2 QCOM_GPI_I2C>,
1570 <&gpi_dma1 1 2 QCOM_GPI_I2C>;
1571 dma-names = "tx", "rx";
1572 status = "disabled";
1573 };
1574
1575 spi10: spi@a88000 {
1576 compatible = "qcom,geni-spi";
1577 reg = <0x0 0x00a88000 0x0 0x4000>;
1578 clock-names = "se";
1579 clocks = <&gcc GCC_QUPV3_WRAP1_S2_CLK>;
1580 interrupts = <GIC_SPI 355 IRQ_TYPE_LEVEL_HIGH>;
1581 pinctrl-names = "default";
1582 pinctrl-0 = <&qup_spi10_data_clk>, <&qup_spi10_cs>;
1583 interconnects = <&clk_virt MASTER_QUP_CORE_1 0 &clk_virt SLAVE_QUP_CORE_1 0>,
1584 <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>,
1585 <&aggre2_noc MASTER_QUP_1 0 &mc_virt SLAVE_EBI1 0>;
1586 interconnect-names = "qup-core", "qup-config", "qup-memory";
1587 dmas = <&gpi_dma1 0 2 QCOM_GPI_SPI>,
1588 <&gpi_dma1 1 2 QCOM_GPI_SPI>;
1589 dma-names = "tx", "rx";
1590 #address-cells = <1>;
1591 #size-cells = <0>;
1592 status = "disabled";
1593 };
1594
1595 i2c11: i2c@a8c000 {
1596 compatible = "qcom,geni-i2c";
1597 reg = <0x0 0x00a8c000 0x0 0x4000>;
1598 clock-names = "se";
1599 clocks = <&gcc GCC_QUPV3_WRAP1_S3_CLK>;
1600 pinctrl-names = "default";
1601 pinctrl-0 = <&qup_i2c11_data_clk>;
1602 interrupts = <GIC_SPI 356 IRQ_TYPE_LEVEL_HIGH>;
1603 #address-cells = <1>;
1604 #size-cells = <0>;
1605 interconnects = <&clk_virt MASTER_QUP_CORE_1 0 &clk_virt SLAVE_QUP_CORE_1 0>,
1606 <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>,
1607 <&aggre2_noc MASTER_QUP_1 0 &mc_virt SLAVE_EBI1 0>;
1608 interconnect-names = "qup-core", "qup-config", "qup-memory";
1609 dmas = <&gpi_dma1 0 3 QCOM_GPI_I2C>,
1610 <&gpi_dma1 1 3 QCOM_GPI_I2C>;
1611 dma-names = "tx", "rx";
1612 status = "disabled";
1613 };
1614
1615 spi11: spi@a8c000 {
1616 compatible = "qcom,geni-spi";
1617 reg = <0x0 0x00a8c000 0x0 0x4000>;
1618 clock-names = "se";
1619 clocks = <&gcc GCC_QUPV3_WRAP1_S3_CLK>;
1620 interrupts = <GIC_SPI 356 IRQ_TYPE_LEVEL_HIGH>;
1621 pinctrl-names = "default";
1622 pinctrl-0 = <&qup_spi11_data_clk>, <&qup_spi11_cs>;
1623 interconnects = <&clk_virt MASTER_QUP_CORE_1 0 &clk_virt SLAVE_QUP_CORE_1 0>,
1624 <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>,
1625 <&aggre2_noc MASTER_QUP_1 0 &mc_virt SLAVE_EBI1 0>;
1626 interconnect-names = "qup-core", "qup-config", "qup-memory";
1627 dmas = <&gpi_dma1 0 3 QCOM_GPI_SPI>,
1628 <&gpi_dma1 1 3 QCOM_GPI_SPI>;
1629 dma-names = "tx", "rx";
1630 #address-cells = <1>;
1631 #size-cells = <0>;
1632 status = "disabled";
1633 };
1634
1635 i2c12: i2c@a90000 {
1636 compatible = "qcom,geni-i2c";
1637 reg = <0x0 0x00a90000 0x0 0x4000>;
1638 clock-names = "se";
1639 clocks = <&gcc GCC_QUPV3_WRAP1_S4_CLK>;
1640 pinctrl-names = "default";
1641 pinctrl-0 = <&qup_i2c12_data_clk>;
1642 interrupts = <GIC_SPI 357 IRQ_TYPE_LEVEL_HIGH>;
1643 #address-cells = <1>;
1644 #size-cells = <0>;
1645 interconnects = <&clk_virt MASTER_QUP_CORE_1 0 &clk_virt SLAVE_QUP_CORE_1 0>,
1646 <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>,
1647 <&aggre2_noc MASTER_QUP_1 0 &mc_virt SLAVE_EBI1 0>;
1648 interconnect-names = "qup-core", "qup-config", "qup-memory";
1649 dmas = <&gpi_dma1 0 4 QCOM_GPI_I2C>,
1650 <&gpi_dma1 1 4 QCOM_GPI_I2C>;
1651 dma-names = "tx", "rx";
1652 status = "disabled";
1653 };
1654
1655 spi12: spi@a90000 {
1656 compatible = "qcom,geni-spi";
1657 reg = <0x0 0x00a90000 0x0 0x4000>;
1658 clock-names = "se";
1659 clocks = <&gcc GCC_QUPV3_WRAP1_S4_CLK>;
1660 interrupts = <GIC_SPI 357 IRQ_TYPE_LEVEL_HIGH>;
1661 pinctrl-names = "default";
1662 pinctrl-0 = <&qup_spi12_data_clk>, <&qup_spi12_cs>;
1663 interconnects = <&clk_virt MASTER_QUP_CORE_1 0 &clk_virt SLAVE_QUP_CORE_1 0>,
1664 <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>,
1665 <&aggre2_noc MASTER_QUP_1 0 &mc_virt SLAVE_EBI1 0>;
1666 interconnect-names = "qup-core", "qup-config", "qup-memory";
1667 dmas = <&gpi_dma1 0 4 QCOM_GPI_SPI>,
1668 <&gpi_dma1 1 4 QCOM_GPI_SPI>;
1669 dma-names = "tx", "rx";
1670 #address-cells = <1>;
1671 #size-cells = <0>;
1672 status = "disabled";
1673 };
1674
1675 i2c13: i2c@a94000 {
1676 compatible = "qcom,geni-i2c";
1677 reg = <0 0x00a94000 0 0x4000>;
1678 clock-names = "se";
1679 clocks = <&gcc GCC_QUPV3_WRAP1_S5_CLK>;
1680 pinctrl-names = "default";
1681 pinctrl-0 = <&qup_i2c13_data_clk>;
1682 interrupts = <GIC_SPI 358 IRQ_TYPE_LEVEL_HIGH>;
1683 interconnects = <&clk_virt MASTER_QUP_CORE_1 0 &clk_virt SLAVE_QUP_CORE_1 0>,
1684 <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>,
1685 <&aggre2_noc MASTER_QUP_1 0 &mc_virt SLAVE_EBI1 0>;
1686 interconnect-names = "qup-core", "qup-config", "qup-memory";
1687 dmas = <&gpi_dma1 0 5 QCOM_GPI_I2C>,
1688 <&gpi_dma1 1 5 QCOM_GPI_I2C>;
1689 dma-names = "tx", "rx";
1690 #address-cells = <1>;
1691 #size-cells = <0>;
1692 status = "disabled";
1693 };
1694
1695 spi13: spi@a94000 {
1696 compatible = "qcom,geni-spi";
1697 reg = <0x0 0x00a94000 0x0 0x4000>;
1698 clock-names = "se";
1699 clocks = <&gcc GCC_QUPV3_WRAP1_S5_CLK>;
1700 interrupts = <GIC_SPI 358 IRQ_TYPE_LEVEL_HIGH>;
1701 pinctrl-names = "default";
1702 pinctrl-0 = <&qup_spi13_data_clk>, <&qup_spi13_cs>;
1703 interconnects = <&clk_virt MASTER_QUP_CORE_1 0 &clk_virt SLAVE_QUP_CORE_1 0>,
1704 <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>,
1705 <&aggre2_noc MASTER_QUP_1 0 &mc_virt SLAVE_EBI1 0>;
1706 interconnect-names = "qup-core", "qup-config", "qup-memory";
1707 dmas = <&gpi_dma1 0 5 QCOM_GPI_SPI>,
1708 <&gpi_dma1 1 5 QCOM_GPI_SPI>;
1709 dma-names = "tx", "rx";
1710 #address-cells = <1>;
1711 #size-cells = <0>;
1712 status = "disabled";
1713 };
1714
1715 i2c14: i2c@a98000 {
1716 compatible = "qcom,geni-i2c";
1717 reg = <0 0x00a98000 0 0x4000>;
1718 clock-names = "se";
1719 clocks = <&gcc GCC_QUPV3_WRAP1_S6_CLK>;
1720 pinctrl-names = "default";
1721 pinctrl-0 = <&qup_i2c14_data_clk>;
1722 interrupts = <GIC_SPI 363 IRQ_TYPE_LEVEL_HIGH>;
1723 interconnects = <&clk_virt MASTER_QUP_CORE_1 0 &clk_virt SLAVE_QUP_CORE_1 0>,
1724 <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>,
1725 <&aggre2_noc MASTER_QUP_1 0 &mc_virt SLAVE_EBI1 0>;
1726 interconnect-names = "qup-core", "qup-config", "qup-memory";
1727 dmas = <&gpi_dma1 0 6 QCOM_GPI_I2C>,
1728 <&gpi_dma1 1 6 QCOM_GPI_I2C>;
1729 dma-names = "tx", "rx";
1730 #address-cells = <1>;
1731 #size-cells = <0>;
1732 status = "disabled";
1733 };
1734
1735 spi14: spi@a98000 {
1736 compatible = "qcom,geni-spi";
1737 reg = <0x0 0x00a98000 0x0 0x4000>;
1738 clock-names = "se";
1739 clocks = <&gcc GCC_QUPV3_WRAP1_S6_CLK>;
1740 interrupts = <GIC_SPI 363 IRQ_TYPE_LEVEL_HIGH>;
1741 pinctrl-names = "default";
1742 pinctrl-0 = <&qup_spi14_data_clk>, <&qup_spi14_cs>;
1743 interconnects = <&clk_virt MASTER_QUP_CORE_1 0 &clk_virt SLAVE_QUP_CORE_1 0>,
1744 <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>,
1745 <&aggre2_noc MASTER_QUP_1 0 &mc_virt SLAVE_EBI1 0>;
1746 interconnect-names = "qup-core", "qup-config", "qup-memory";
1747 dmas = <&gpi_dma1 0 6 QCOM_GPI_SPI>,
1748 <&gpi_dma1 1 6 QCOM_GPI_SPI>;
1749 dma-names = "tx", "rx";
1750 #address-cells = <1>;
1751 #size-cells = <0>;
1752 status = "disabled";
1753 };
1754 };
1755
Tom Rini93743d22024-04-01 09:08:13 -04001756 rng: rng@10c3000 {
1757 compatible = "qcom,sm8450-trng", "qcom,trng";
1758 reg = <0 0x010c3000 0 0x1000>;
1759 };
1760
1761 pcie0: pcie@1c00000 {
Tom Rini53633a82024-02-29 12:33:36 -05001762 compatible = "qcom,pcie-sm8450-pcie0";
1763 reg = <0 0x01c00000 0 0x3000>,
1764 <0 0x60000000 0 0xf1d>,
1765 <0 0x60000f20 0 0xa8>,
1766 <0 0x60001000 0 0x1000>,
1767 <0 0x60100000 0 0x100000>;
1768 reg-names = "parf", "dbi", "elbi", "atu", "config";
1769 device_type = "pci";
1770 linux,pci-domain = <0>;
1771 bus-range = <0x00 0xff>;
1772 num-lanes = <1>;
1773
1774 #address-cells = <3>;
1775 #size-cells = <2>;
1776
1777 ranges = <0x01000000 0x0 0x00000000 0x0 0x60200000 0x0 0x100000>,
1778 <0x02000000 0x0 0x60300000 0x0 0x60300000 0x0 0x3d00000>;
1779
Tom Rini6bb92fc2024-05-20 09:54:58 -06001780 msi-map = <0x0 &gic_its 0x5980 0x1>,
1781 <0x100 &gic_its 0x5981 0x1>;
Tom Rini53633a82024-02-29 12:33:36 -05001782 msi-map-mask = <0xff00>;
Tom Rini6bb92fc2024-05-20 09:54:58 -06001783 interrupts = <GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>,
1784 <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>,
1785 <GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>,
1786 <GIC_SPI 144 IRQ_TYPE_LEVEL_HIGH>,
1787 <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>,
1788 <GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>,
1789 <GIC_SPI 147 IRQ_TYPE_LEVEL_HIGH>,
1790 <GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>;
1791 interrupt-names = "msi0",
1792 "msi1",
1793 "msi2",
1794 "msi3",
1795 "msi4",
1796 "msi5",
1797 "msi6",
1798 "msi7";
Tom Rini53633a82024-02-29 12:33:36 -05001799 #interrupt-cells = <1>;
1800 interrupt-map-mask = <0 0 0 0x7>;
1801 interrupt-map = <0 0 0 1 &intc 0 0 0 149 IRQ_TYPE_LEVEL_HIGH>, /* int_a */
1802 <0 0 0 2 &intc 0 0 0 150 IRQ_TYPE_LEVEL_HIGH>, /* int_b */
1803 <0 0 0 3 &intc 0 0 0 151 IRQ_TYPE_LEVEL_HIGH>, /* int_c */
1804 <0 0 0 4 &intc 0 0 0 152 IRQ_TYPE_LEVEL_HIGH>; /* int_d */
1805
Tom Rini6b642ac2024-10-01 12:20:28 -06001806 interconnects = <&pcie_noc MASTER_PCIE_0 QCOM_ICC_TAG_ALWAYS
1807 &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>,
1808 <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS
1809 &config_noc SLAVE_PCIE_0 QCOM_ICC_TAG_ALWAYS>;
1810 interconnect-names = "pcie-mem", "cpu-pcie";
1811
Tom Rini53633a82024-02-29 12:33:36 -05001812 clocks = <&gcc GCC_PCIE_0_PIPE_CLK>,
1813 <&gcc GCC_PCIE_0_PIPE_CLK_SRC>,
1814 <&pcie0_phy>,
1815 <&rpmhcc RPMH_CXO_CLK>,
1816 <&gcc GCC_PCIE_0_AUX_CLK>,
1817 <&gcc GCC_PCIE_0_CFG_AHB_CLK>,
1818 <&gcc GCC_PCIE_0_MSTR_AXI_CLK>,
1819 <&gcc GCC_PCIE_0_SLV_AXI_CLK>,
1820 <&gcc GCC_PCIE_0_SLV_Q2A_AXI_CLK>,
1821 <&gcc GCC_DDRSS_PCIE_SF_TBU_CLK>,
1822 <&gcc GCC_AGGRE_NOC_PCIE_0_AXI_CLK>,
1823 <&gcc GCC_AGGRE_NOC_PCIE_1_AXI_CLK>;
1824 clock-names = "pipe",
1825 "pipe_mux",
1826 "phy_pipe",
1827 "ref",
1828 "aux",
1829 "cfg",
1830 "bus_master",
1831 "bus_slave",
1832 "slave_q2a",
1833 "ddrss_sf_tbu",
1834 "aggre0",
1835 "aggre1";
1836
1837 iommu-map = <0x0 &apps_smmu 0x1c00 0x1>,
1838 <0x100 &apps_smmu 0x1c01 0x1>;
1839
1840 resets = <&gcc GCC_PCIE_0_BCR>;
1841 reset-names = "pci";
1842
1843 power-domains = <&gcc PCIE_0_GDSC>;
1844
1845 phys = <&pcie0_phy>;
1846 phy-names = "pciephy";
1847
1848 perst-gpios = <&tlmm 94 GPIO_ACTIVE_LOW>;
1849 wake-gpios = <&tlmm 96 GPIO_ACTIVE_HIGH>;
1850
1851 pinctrl-names = "default";
1852 pinctrl-0 = <&pcie0_default_state>;
1853
Tom Rini6b642ac2024-10-01 12:20:28 -06001854 operating-points-v2 = <&pcie0_opp_table>;
1855
Tom Rini53633a82024-02-29 12:33:36 -05001856 status = "disabled";
Tom Rini762f85b2024-07-20 11:15:10 -06001857
Tom Rini6b642ac2024-10-01 12:20:28 -06001858 pcie0_opp_table: opp-table {
1859 compatible = "operating-points-v2";
1860
1861 /* GEN 1 x1 */
1862 opp-2500000 {
1863 opp-hz = /bits/ 64 <2500000>;
1864 required-opps = <&rpmhpd_opp_low_svs>;
1865 opp-peak-kBps = <250000 1>;
1866 };
1867
1868 /* GEN 2 x1 */
1869 opp-5000000 {
1870 opp-hz = /bits/ 64 <5000000>;
1871 required-opps = <&rpmhpd_opp_low_svs>;
1872 opp-peak-kBps = <500000 1>;
1873 };
1874
1875 /* GEN 3 x1 */
1876 opp-8000000 {
1877 opp-hz = /bits/ 64 <8000000>;
1878 required-opps = <&rpmhpd_opp_nom>;
1879 opp-peak-kBps = <984500 1>;
1880 };
1881 };
1882
Tom Rini762f85b2024-07-20 11:15:10 -06001883 pcie@0 {
1884 device_type = "pci";
1885 reg = <0x0 0x0 0x0 0x0 0x0>;
1886 bus-range = <0x01 0xff>;
1887
1888 #address-cells = <3>;
1889 #size-cells = <2>;
1890 ranges;
1891 };
Tom Rini53633a82024-02-29 12:33:36 -05001892 };
1893
1894 pcie0_phy: phy@1c06000 {
1895 compatible = "qcom,sm8450-qmp-gen3x1-pcie-phy";
1896 reg = <0 0x01c06000 0 0x2000>;
1897
1898 clocks = <&gcc GCC_PCIE_0_AUX_CLK>,
1899 <&gcc GCC_PCIE_0_CFG_AHB_CLK>,
1900 <&gcc GCC_PCIE_0_CLKREF_EN>,
1901 <&gcc GCC_PCIE_0_PHY_RCHNG_CLK>,
1902 <&gcc GCC_PCIE_0_PIPE_CLK>;
1903 clock-names = "aux",
1904 "cfg_ahb",
1905 "ref",
1906 "rchng",
1907 "pipe";
1908
1909 clock-output-names = "pcie_0_pipe_clk";
1910 #clock-cells = <0>;
1911
1912 #phy-cells = <0>;
1913
1914 resets = <&gcc GCC_PCIE_0_PHY_BCR>;
1915 reset-names = "phy";
1916
1917 assigned-clocks = <&gcc GCC_PCIE_0_PHY_RCHNG_CLK>;
1918 assigned-clock-rates = <100000000>;
1919
1920 status = "disabled";
1921 };
1922
Tom Rini93743d22024-04-01 09:08:13 -04001923 pcie1: pcie@1c08000 {
Tom Rini53633a82024-02-29 12:33:36 -05001924 compatible = "qcom,pcie-sm8450-pcie1";
1925 reg = <0 0x01c08000 0 0x3000>,
1926 <0 0x40000000 0 0xf1d>,
1927 <0 0x40000f20 0 0xa8>,
1928 <0 0x40001000 0 0x1000>,
1929 <0 0x40100000 0 0x100000>;
1930 reg-names = "parf", "dbi", "elbi", "atu", "config";
1931 device_type = "pci";
1932 linux,pci-domain = <1>;
1933 bus-range = <0x00 0xff>;
1934 num-lanes = <2>;
1935
1936 #address-cells = <3>;
1937 #size-cells = <2>;
1938
1939 ranges = <0x01000000 0x0 0x00000000 0x0 0x40200000 0x0 0x100000>,
1940 <0x02000000 0x0 0x40300000 0x0 0x40300000 0x0 0x1fd00000>;
1941
Tom Rini6bb92fc2024-05-20 09:54:58 -06001942 msi-map = <0x0 &gic_its 0x5a00 0x1>,
1943 <0x100 &gic_its 0x5a01 0x1>;
Tom Rini53633a82024-02-29 12:33:36 -05001944 msi-map-mask = <0xff00>;
Tom Rini6bb92fc2024-05-20 09:54:58 -06001945 interrupts = <GIC_SPI 307 IRQ_TYPE_LEVEL_HIGH>,
1946 <GIC_SPI 308 IRQ_TYPE_LEVEL_HIGH>,
1947 <GIC_SPI 309 IRQ_TYPE_LEVEL_HIGH>,
1948 <GIC_SPI 312 IRQ_TYPE_LEVEL_HIGH>,
1949 <GIC_SPI 313 IRQ_TYPE_LEVEL_HIGH>,
1950 <GIC_SPI 314 IRQ_TYPE_LEVEL_HIGH>,
1951 <GIC_SPI 374 IRQ_TYPE_LEVEL_HIGH>,
1952 <GIC_SPI 375 IRQ_TYPE_LEVEL_HIGH>;
1953 interrupt-names = "msi0",
1954 "msi1",
1955 "msi2",
1956 "msi3",
1957 "msi4",
1958 "msi5",
1959 "msi6",
1960 "msi7";
Tom Rini53633a82024-02-29 12:33:36 -05001961 #interrupt-cells = <1>;
1962 interrupt-map-mask = <0 0 0 0x7>;
1963 interrupt-map = <0 0 0 1 &intc 0 0 0 434 IRQ_TYPE_LEVEL_HIGH>, /* int_a */
1964 <0 0 0 2 &intc 0 0 0 435 IRQ_TYPE_LEVEL_HIGH>, /* int_b */
1965 <0 0 0 3 &intc 0 0 0 438 IRQ_TYPE_LEVEL_HIGH>, /* int_c */
1966 <0 0 0 4 &intc 0 0 0 439 IRQ_TYPE_LEVEL_HIGH>; /* int_d */
1967
Tom Rini6b642ac2024-10-01 12:20:28 -06001968 interconnects = <&pcie_noc MASTER_PCIE_1 QCOM_ICC_TAG_ALWAYS
1969 &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>,
1970 <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS
1971 &config_noc SLAVE_PCIE_1 QCOM_ICC_TAG_ALWAYS>;
1972 interconnect-names = "pcie-mem", "cpu-pcie";
1973
Tom Rini53633a82024-02-29 12:33:36 -05001974 clocks = <&gcc GCC_PCIE_1_PIPE_CLK>,
1975 <&gcc GCC_PCIE_1_PIPE_CLK_SRC>,
1976 <&pcie1_phy>,
1977 <&rpmhcc RPMH_CXO_CLK>,
1978 <&gcc GCC_PCIE_1_AUX_CLK>,
1979 <&gcc GCC_PCIE_1_CFG_AHB_CLK>,
1980 <&gcc GCC_PCIE_1_MSTR_AXI_CLK>,
1981 <&gcc GCC_PCIE_1_SLV_AXI_CLK>,
1982 <&gcc GCC_PCIE_1_SLV_Q2A_AXI_CLK>,
1983 <&gcc GCC_DDRSS_PCIE_SF_TBU_CLK>,
1984 <&gcc GCC_AGGRE_NOC_PCIE_1_AXI_CLK>;
1985 clock-names = "pipe",
1986 "pipe_mux",
1987 "phy_pipe",
1988 "ref",
1989 "aux",
1990 "cfg",
1991 "bus_master",
1992 "bus_slave",
1993 "slave_q2a",
1994 "ddrss_sf_tbu",
1995 "aggre1";
1996
1997 iommu-map = <0x0 &apps_smmu 0x1c80 0x1>,
1998 <0x100 &apps_smmu 0x1c81 0x1>;
1999
2000 resets = <&gcc GCC_PCIE_1_BCR>;
2001 reset-names = "pci";
2002
2003 power-domains = <&gcc PCIE_1_GDSC>;
2004
2005 phys = <&pcie1_phy>;
2006 phy-names = "pciephy";
2007
2008 perst-gpios = <&tlmm 97 GPIO_ACTIVE_LOW>;
2009 wake-gpios = <&tlmm 99 GPIO_ACTIVE_HIGH>;
2010
2011 pinctrl-names = "default";
2012 pinctrl-0 = <&pcie1_default_state>;
2013
Tom Rini6b642ac2024-10-01 12:20:28 -06002014 operating-points-v2 = <&pcie1_opp_table>;
2015
Tom Rini53633a82024-02-29 12:33:36 -05002016 status = "disabled";
Tom Rini762f85b2024-07-20 11:15:10 -06002017
Tom Rini6b642ac2024-10-01 12:20:28 -06002018 pcie1_opp_table: opp-table {
2019 compatible = "operating-points-v2";
2020
2021 /* GEN 1 x1 */
2022 opp-2500000 {
2023 opp-hz = /bits/ 64 <2500000>;
2024 required-opps = <&rpmhpd_opp_low_svs>;
2025 opp-peak-kBps = <250000 1>;
2026 };
2027
2028 /* GEN 1 x2 and GEN 2 x1 */
2029 opp-5000000 {
2030 opp-hz = /bits/ 64 <5000000>;
2031 required-opps = <&rpmhpd_opp_low_svs>;
2032 opp-peak-kBps = <500000 1>;
2033 };
2034
2035 /* GEN 2 x2 */
2036 opp-10000000 {
2037 opp-hz = /bits/ 64 <10000000>;
2038 required-opps = <&rpmhpd_opp_low_svs>;
2039 opp-peak-kBps = <1000000 1>;
2040 };
2041
2042 /* GEN 3 x1 */
2043 opp-8000000 {
2044 opp-hz = /bits/ 64 <8000000>;
2045 required-opps = <&rpmhpd_opp_nom>;
2046 opp-peak-kBps = <984500 1>;
2047 };
2048
2049 /* GEN 3 x2 and GEN 4 x1 */
2050 opp-16000000 {
2051 opp-hz = /bits/ 64 <16000000>;
2052 required-opps = <&rpmhpd_opp_nom>;
2053 opp-peak-kBps = <1969000 1>;
2054 };
2055
2056 /* GEN 4 x2 */
2057 opp-32000000 {
2058 opp-hz = /bits/ 64 <32000000>;
2059 required-opps = <&rpmhpd_opp_nom>;
2060 opp-peak-kBps = <3938000 1>;
2061 };
2062 };
2063
Tom Rini762f85b2024-07-20 11:15:10 -06002064 pcie@0 {
2065 device_type = "pci";
2066 reg = <0x0 0x0 0x0 0x0 0x0>;
2067 bus-range = <0x01 0xff>;
2068
2069 #address-cells = <3>;
2070 #size-cells = <2>;
2071 ranges;
2072 };
Tom Rini53633a82024-02-29 12:33:36 -05002073 };
2074
2075 pcie1_phy: phy@1c0e000 {
2076 compatible = "qcom,sm8450-qmp-gen4x2-pcie-phy";
2077 reg = <0 0x01c0e000 0 0x2000>;
2078
2079 clocks = <&gcc GCC_PCIE_1_PHY_AUX_CLK>,
2080 <&gcc GCC_PCIE_1_CFG_AHB_CLK>,
2081 <&gcc GCC_PCIE_1_CLKREF_EN>,
2082 <&gcc GCC_PCIE_1_PHY_RCHNG_CLK>,
2083 <&gcc GCC_PCIE_1_PIPE_CLK>;
2084 clock-names = "aux",
2085 "cfg_ahb",
2086 "ref",
2087 "rchng",
2088 "pipe";
2089
2090 clock-output-names = "pcie_1_pipe_clk";
Tom Rini6b642ac2024-10-01 12:20:28 -06002091 #clock-cells = <1>;
Tom Rini53633a82024-02-29 12:33:36 -05002092
2093 #phy-cells = <0>;
2094
2095 resets = <&gcc GCC_PCIE_1_PHY_BCR>;
2096 reset-names = "phy";
2097
2098 assigned-clocks = <&gcc GCC_PCIE_1_PHY_RCHNG_CLK>;
2099 assigned-clock-rates = <100000000>;
2100
2101 status = "disabled";
2102 };
2103
2104 config_noc: interconnect@1500000 {
2105 compatible = "qcom,sm8450-config-noc";
2106 reg = <0 0x01500000 0 0x1c000>;
2107 #interconnect-cells = <2>;
2108 qcom,bcm-voters = <&apps_bcm_voter>;
2109 };
2110
2111 system_noc: interconnect@1680000 {
2112 compatible = "qcom,sm8450-system-noc";
2113 reg = <0 0x01680000 0 0x1e200>;
2114 #interconnect-cells = <2>;
2115 qcom,bcm-voters = <&apps_bcm_voter>;
2116 };
2117
2118 pcie_noc: interconnect@16c0000 {
2119 compatible = "qcom,sm8450-pcie-anoc";
2120 reg = <0 0x016c0000 0 0xe280>;
2121 #interconnect-cells = <2>;
2122 qcom,bcm-voters = <&apps_bcm_voter>;
2123 };
2124
2125 aggre1_noc: interconnect@16e0000 {
2126 compatible = "qcom,sm8450-aggre1-noc";
2127 reg = <0 0x016e0000 0 0x1c080>;
2128 #interconnect-cells = <2>;
2129 clocks = <&gcc GCC_AGGRE_UFS_PHY_AXI_CLK>,
2130 <&gcc GCC_AGGRE_USB3_PRIM_AXI_CLK>;
2131 qcom,bcm-voters = <&apps_bcm_voter>;
2132 };
2133
2134 aggre2_noc: interconnect@1700000 {
2135 compatible = "qcom,sm8450-aggre2-noc";
2136 reg = <0 0x01700000 0 0x31080>;
2137 #interconnect-cells = <2>;
2138 qcom,bcm-voters = <&apps_bcm_voter>;
2139 clocks = <&gcc GCC_AGGRE_NOC_PCIE_0_AXI_CLK>,
2140 <&gcc GCC_AGGRE_NOC_PCIE_1_AXI_CLK>,
2141 <&gcc GCC_AGGRE_UFS_PHY_AXI_CLK>,
2142 <&rpmhcc RPMH_IPA_CLK>;
2143 };
2144
2145 mmss_noc: interconnect@1740000 {
2146 compatible = "qcom,sm8450-mmss-noc";
2147 reg = <0 0x01740000 0 0x1f080>;
2148 #interconnect-cells = <2>;
2149 qcom,bcm-voters = <&apps_bcm_voter>;
2150 };
2151
2152 tcsr_mutex: hwlock@1f40000 {
2153 compatible = "qcom,tcsr-mutex";
2154 reg = <0x0 0x01f40000 0x0 0x40000>;
2155 #hwlock-cells = <1>;
2156 };
2157
2158 tcsr: syscon@1fc0000 {
2159 compatible = "qcom,sm8450-tcsr", "syscon";
2160 reg = <0x0 0x1fc0000 0x0 0x30000>;
2161 };
2162
Tom Rini93743d22024-04-01 09:08:13 -04002163 gpu: gpu@3d00000 {
2164 compatible = "qcom,adreno-730.1", "qcom,adreno";
2165 reg = <0x0 0x03d00000 0x0 0x40000>,
2166 <0x0 0x03d9e000 0x0 0x1000>,
2167 <0x0 0x03d61000 0x0 0x800>;
2168 reg-names = "kgsl_3d0_reg_memory",
2169 "cx_mem",
2170 "cx_dbgc";
2171
2172 interrupts = <GIC_SPI 300 IRQ_TYPE_LEVEL_HIGH>;
2173
2174 iommus = <&adreno_smmu 0 0x400>,
2175 <&adreno_smmu 1 0x400>;
2176
2177 operating-points-v2 = <&gpu_opp_table>;
2178
2179 qcom,gmu = <&gmu>;
Tom Rini6bb92fc2024-05-20 09:54:58 -06002180 #cooling-cells = <2>;
Tom Rini93743d22024-04-01 09:08:13 -04002181
2182 status = "disabled";
2183
2184 zap-shader {
2185 memory-region = <&gpu_micro_code_mem>;
2186 };
2187
2188 gpu_opp_table: opp-table {
2189 compatible = "operating-points-v2";
2190
2191 opp-818000000 {
2192 opp-hz = /bits/ 64 <818000000>;
2193 opp-level = <RPMH_REGULATOR_LEVEL_TURBO>;
2194 };
2195
2196 opp-791000000 {
2197 opp-hz = /bits/ 64 <791000000>;
2198 opp-level = <RPMH_REGULATOR_LEVEL_NOM_L1>;
2199 };
2200
2201 opp-734000000 {
2202 opp-hz = /bits/ 64 <734000000>;
2203 opp-level = <RPMH_REGULATOR_LEVEL_NOM>;
2204 };
2205
2206 opp-640000000 {
2207 opp-hz = /bits/ 64 <640000000>;
2208 opp-level = <RPMH_REGULATOR_LEVEL_SVS_L2>;
2209 };
2210
2211 opp-599000000 {
2212 opp-hz = /bits/ 64 <599000000>;
2213 opp-level = <RPMH_REGULATOR_LEVEL_SVS_L1>;
2214 };
2215
2216 opp-545000000 {
2217 opp-hz = /bits/ 64 <545000000>;
2218 opp-level = <RPMH_REGULATOR_LEVEL_SVS_L0>;
2219 };
2220
2221 opp-492000000 {
2222 opp-hz = /bits/ 64 <492000000>;
2223 opp-level = <RPMH_REGULATOR_LEVEL_SVS>;
2224 };
2225
2226 opp-421000000 {
2227 opp-hz = /bits/ 64 <421000000>;
2228 opp-level = <RPMH_REGULATOR_LEVEL_LOW_SVS_L1>;
2229 };
2230
2231 opp-350000000 {
2232 opp-hz = /bits/ 64 <350000000>;
2233 opp-level = <RPMH_REGULATOR_LEVEL_LOW_SVS>;
2234 };
2235
2236 opp-317000000 {
2237 opp-hz = /bits/ 64 <317000000>;
2238 opp-level = <RPMH_REGULATOR_LEVEL_LOW_SVS>;
2239 };
2240
2241 opp-285000000 {
2242 opp-hz = /bits/ 64 <285000000>;
2243 opp-level = <RPMH_REGULATOR_LEVEL_LOW_SVS_D1>;
2244 };
2245
2246 opp-220000000 {
2247 opp-hz = /bits/ 64 <220000000>;
2248 opp-level = <RPMH_REGULATOR_LEVEL_LOW_SVS_D1>;
2249 };
2250 };
2251 };
2252
2253 gmu: gmu@3d6a000 {
2254 compatible = "qcom,adreno-gmu-730.1", "qcom,adreno-gmu";
2255 reg = <0x0 0x03d6a000 0x0 0x35000>,
2256 <0x0 0x03d50000 0x0 0x10000>,
2257 <0x0 0x0b290000 0x0 0x10000>;
2258 reg-names = "gmu", "rscc", "gmu_pdc";
2259
2260 interrupts = <GIC_SPI 304 IRQ_TYPE_LEVEL_HIGH>,
2261 <GIC_SPI 305 IRQ_TYPE_LEVEL_HIGH>;
2262 interrupt-names = "hfi", "gmu";
2263
2264 clocks = <&gpucc GPU_CC_AHB_CLK>,
2265 <&gpucc GPU_CC_CX_GMU_CLK>,
2266 <&gpucc GPU_CC_CXO_CLK>,
2267 <&gcc GCC_DDRSS_GPU_AXI_CLK>,
2268 <&gcc GCC_GPU_MEMNOC_GFX_CLK>,
2269 <&gpucc GPU_CC_HUB_CX_INT_CLK>,
2270 <&gpucc GPU_CC_DEMET_CLK>;
2271 clock-names = "ahb",
2272 "gmu",
2273 "cxo",
2274 "axi",
2275 "memnoc",
2276 "hub",
2277 "demet";
2278
2279 power-domains = <&gpucc GPU_CX_GDSC>,
2280 <&gpucc GPU_GX_GDSC>;
2281 power-domain-names = "cx",
2282 "gx";
2283
2284 iommus = <&adreno_smmu 5 0x400>;
2285
2286 qcom,qmp = <&aoss_qmp>;
2287
2288 operating-points-v2 = <&gmu_opp_table>;
2289
2290 gmu_opp_table: opp-table {
2291 compatible = "operating-points-v2";
2292
2293 opp-500000000 {
2294 opp-hz = /bits/ 64 <500000000>;
2295 opp-level = <RPMH_REGULATOR_LEVEL_SVS>;
2296 };
2297
2298 opp-200000000 {
2299 opp-hz = /bits/ 64 <200000000>;
2300 opp-level = <RPMH_REGULATOR_LEVEL_LOW_SVS>;
2301 };
2302 };
2303 };
2304
2305 gpucc: clock-controller@3d90000 {
2306 compatible = "qcom,sm8450-gpucc";
2307 reg = <0x0 0x03d90000 0x0 0xa000>;
2308 clocks = <&rpmhcc RPMH_CXO_CLK>,
2309 <&gcc GCC_GPU_GPLL0_CLK_SRC>,
2310 <&gcc GCC_GPU_GPLL0_DIV_CLK_SRC>;
2311 #clock-cells = <1>;
2312 #reset-cells = <1>;
2313 #power-domain-cells = <1>;
2314 };
2315
2316 adreno_smmu: iommu@3da0000 {
2317 compatible = "qcom,sm8450-smmu-500", "qcom,adreno-smmu",
2318 "qcom,smmu-500", "arm,mmu-500";
2319 reg = <0x0 0x03da0000 0x0 0x40000>;
2320 #iommu-cells = <2>;
2321 #global-interrupts = <1>;
2322 interrupts = <GIC_SPI 673 IRQ_TYPE_LEVEL_HIGH>,
2323 <GIC_SPI 678 IRQ_TYPE_LEVEL_HIGH>,
2324 <GIC_SPI 679 IRQ_TYPE_LEVEL_HIGH>,
2325 <GIC_SPI 680 IRQ_TYPE_LEVEL_HIGH>,
2326 <GIC_SPI 681 IRQ_TYPE_LEVEL_HIGH>,
2327 <GIC_SPI 682 IRQ_TYPE_LEVEL_HIGH>,
2328 <GIC_SPI 683 IRQ_TYPE_LEVEL_HIGH>,
2329 <GIC_SPI 684 IRQ_TYPE_LEVEL_HIGH>,
2330 <GIC_SPI 685 IRQ_TYPE_LEVEL_HIGH>,
2331 <GIC_SPI 686 IRQ_TYPE_LEVEL_HIGH>,
2332 <GIC_SPI 687 IRQ_TYPE_LEVEL_HIGH>,
2333 <GIC_SPI 422 IRQ_TYPE_LEVEL_HIGH>,
2334 <GIC_SPI 476 IRQ_TYPE_LEVEL_HIGH>,
2335 <GIC_SPI 574 IRQ_TYPE_LEVEL_HIGH>,
2336 <GIC_SPI 575 IRQ_TYPE_LEVEL_HIGH>,
2337 <GIC_SPI 576 IRQ_TYPE_LEVEL_HIGH>,
2338 <GIC_SPI 577 IRQ_TYPE_LEVEL_HIGH>,
2339 <GIC_SPI 659 IRQ_TYPE_LEVEL_HIGH>,
2340 <GIC_SPI 661 IRQ_TYPE_LEVEL_HIGH>,
2341 <GIC_SPI 664 IRQ_TYPE_LEVEL_HIGH>,
2342 <GIC_SPI 665 IRQ_TYPE_LEVEL_HIGH>,
2343 <GIC_SPI 666 IRQ_TYPE_LEVEL_HIGH>,
2344 <GIC_SPI 668 IRQ_TYPE_LEVEL_HIGH>,
2345 <GIC_SPI 669 IRQ_TYPE_LEVEL_HIGH>,
2346 <GIC_SPI 699 IRQ_TYPE_LEVEL_HIGH>,
2347 <GIC_SPI 700 IRQ_TYPE_LEVEL_HIGH>;
2348 clocks = <&gpucc GPU_CC_CX_GMU_CLK>,
2349 <&gpucc GPU_CC_HUB_CX_INT_CLK>,
2350 <&gpucc GPU_CC_HLOS1_VOTE_GPU_SMMU_CLK>,
2351 <&gcc GCC_GPU_MEMNOC_GFX_CLK>,
2352 <&gcc GCC_GPU_SNOC_DVM_GFX_CLK>,
2353 <&gpucc GPU_CC_AHB_CLK>;
2354 clock-names = "gmu",
2355 "hub",
2356 "hlos",
2357 "bus",
2358 "iface",
2359 "ahb";
2360 power-domains = <&gpucc GPU_CX_GDSC>;
2361 dma-coherent;
2362 };
2363
Tom Rini53633a82024-02-29 12:33:36 -05002364 usb_1_hsphy: phy@88e3000 {
2365 compatible = "qcom,sm8450-usb-hs-phy",
2366 "qcom,usb-snps-hs-7nm-phy";
2367 reg = <0 0x088e3000 0 0x400>;
2368 status = "disabled";
2369 #phy-cells = <0>;
2370
2371 clocks = <&rpmhcc RPMH_CXO_CLK>;
2372 clock-names = "ref";
2373
2374 resets = <&gcc GCC_QUSB2PHY_PRIM_BCR>;
2375 };
2376
2377 usb_1_qmpphy: phy@88e8000 {
2378 compatible = "qcom,sm8450-qmp-usb3-dp-phy";
2379 reg = <0 0x088e8000 0 0x3000>;
2380
2381 clocks = <&gcc GCC_USB3_PRIM_PHY_AUX_CLK>,
2382 <&rpmhcc RPMH_CXO_CLK>,
2383 <&gcc GCC_USB3_PRIM_PHY_COM_AUX_CLK>,
2384 <&gcc GCC_USB3_PRIM_PHY_PIPE_CLK>;
2385 clock-names = "aux", "ref", "com_aux", "usb3_pipe";
2386
2387 resets = <&gcc GCC_USB3_DP_PHY_PRIM_BCR>,
2388 <&gcc GCC_USB3_PHY_PRIM_BCR>;
2389 reset-names = "phy", "common";
2390
2391 #clock-cells = <1>;
2392 #phy-cells = <1>;
2393
Tom Rini6b642ac2024-10-01 12:20:28 -06002394 orientation-switch;
2395
Tom Rini53633a82024-02-29 12:33:36 -05002396 status = "disabled";
2397
2398 ports {
2399 #address-cells = <1>;
2400 #size-cells = <0>;
2401
2402 port@0 {
2403 reg = <0>;
2404
2405 usb_1_qmpphy_out: endpoint {
2406 };
2407 };
2408
2409 port@1 {
2410 reg = <1>;
2411
2412 usb_1_qmpphy_usb_ss_in: endpoint {
Tom Rini6b642ac2024-10-01 12:20:28 -06002413 remote-endpoint = <&usb_1_dwc3_ss>;
Tom Rini53633a82024-02-29 12:33:36 -05002414 };
2415 };
2416
2417 port@2 {
2418 reg = <2>;
2419
2420 usb_1_qmpphy_dp_in: endpoint {
Tom Rini6b642ac2024-10-01 12:20:28 -06002421 remote-endpoint = <&mdss_dp0_out>;
Tom Rini53633a82024-02-29 12:33:36 -05002422 };
2423 };
2424 };
2425 };
2426
2427 remoteproc_slpi: remoteproc@2400000 {
2428 compatible = "qcom,sm8450-slpi-pas";
2429 reg = <0 0x02400000 0 0x4000>;
2430
2431 interrupts-extended = <&pdc 9 IRQ_TYPE_EDGE_RISING>,
2432 <&smp2p_slpi_in 0 IRQ_TYPE_EDGE_RISING>,
2433 <&smp2p_slpi_in 1 IRQ_TYPE_EDGE_RISING>,
2434 <&smp2p_slpi_in 2 IRQ_TYPE_EDGE_RISING>,
2435 <&smp2p_slpi_in 3 IRQ_TYPE_EDGE_RISING>;
2436 interrupt-names = "wdog", "fatal", "ready",
2437 "handover", "stop-ack";
2438
2439 clocks = <&rpmhcc RPMH_CXO_CLK>;
2440 clock-names = "xo";
2441
2442 power-domains = <&rpmhpd RPMHPD_LCX>,
2443 <&rpmhpd RPMHPD_LMX>;
2444 power-domain-names = "lcx", "lmx";
2445
2446 memory-region = <&slpi_mem>;
2447
2448 qcom,qmp = <&aoss_qmp>;
2449
2450 qcom,smem-states = <&smp2p_slpi_out 0>;
2451 qcom,smem-state-names = "stop";
2452
2453 status = "disabled";
2454
2455 glink-edge {
2456 interrupts-extended = <&ipcc IPCC_CLIENT_SLPI
2457 IPCC_MPROC_SIGNAL_GLINK_QMP
2458 IRQ_TYPE_EDGE_RISING>;
2459 mboxes = <&ipcc IPCC_CLIENT_SLPI
2460 IPCC_MPROC_SIGNAL_GLINK_QMP>;
2461
2462 label = "slpi";
2463 qcom,remote-pid = <3>;
2464
2465 fastrpc {
2466 compatible = "qcom,fastrpc";
2467 qcom,glink-channels = "fastrpcglink-apps-dsp";
2468 label = "sdsp";
Tom Rini762f85b2024-07-20 11:15:10 -06002469 qcom,non-secure-domain;
Tom Rini53633a82024-02-29 12:33:36 -05002470 #address-cells = <1>;
2471 #size-cells = <0>;
2472
2473 compute-cb@1 {
2474 compatible = "qcom,fastrpc-compute-cb";
2475 reg = <1>;
2476 iommus = <&apps_smmu 0x0541 0x0>;
2477 };
2478
2479 compute-cb@2 {
2480 compatible = "qcom,fastrpc-compute-cb";
2481 reg = <2>;
2482 iommus = <&apps_smmu 0x0542 0x0>;
2483 };
2484
2485 compute-cb@3 {
2486 compatible = "qcom,fastrpc-compute-cb";
2487 reg = <3>;
2488 iommus = <&apps_smmu 0x0543 0x0>;
2489 /* note: shared-cb = <4> in downstream */
2490 };
2491 };
2492 };
2493 };
2494
2495 wsa2macro: codec@31e0000 {
2496 compatible = "qcom,sm8450-lpass-wsa-macro";
2497 reg = <0 0x031e0000 0 0x1000>;
2498 clocks = <&q6prmcc LPASS_CLK_ID_WSA2_CORE_TX_MCLK LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
2499 <&q6prmcc LPASS_CLK_ID_WSA2_CORE_TX_2X_MCLK LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
2500 <&q6prmcc LPASS_HW_MACRO_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
2501 <&q6prmcc LPASS_HW_DCODEC_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
2502 <&vamacro>;
2503 clock-names = "mclk", "npl", "macro", "dcodec", "fsgen";
Tom Rini53633a82024-02-29 12:33:36 -05002504
2505 #clock-cells = <0>;
2506 clock-output-names = "wsa2-mclk";
Tom Rini53633a82024-02-29 12:33:36 -05002507 #sound-dai-cells = <1>;
2508 };
2509
Tom Rini93743d22024-04-01 09:08:13 -04002510 swr4: soundwire@31f0000 {
Tom Rini53633a82024-02-29 12:33:36 -05002511 compatible = "qcom,soundwire-v1.7.0";
2512 reg = <0 0x031f0000 0 0x2000>;
2513 interrupts = <GIC_SPI 171 IRQ_TYPE_LEVEL_HIGH>;
2514 clocks = <&wsa2macro>;
2515 clock-names = "iface";
2516 label = "WSA2";
2517
Tom Rini93743d22024-04-01 09:08:13 -04002518 pinctrl-0 = <&wsa2_swr_active>;
2519 pinctrl-names = "default";
2520
Tom Rini53633a82024-02-29 12:33:36 -05002521 qcom,din-ports = <2>;
2522 qcom,dout-ports = <6>;
2523
2524 qcom,ports-sinterval-low = /bits/ 8 <0x07 0x1f 0x3f 0x07 0x1f 0x3f 0x0f 0x0f>;
2525 qcom,ports-offset1 = /bits/ 8 <0x01 0x02 0x0c 0x06 0x12 0x0d 0x07 0x0a>;
2526 qcom,ports-offset2 = /bits/ 8 <0xff 0x00 0x1f 0xff 0x00 0x1f 0x00 0x00>;
2527 qcom,ports-hstart = /bits/ 8 <0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff>;
2528 qcom,ports-hstop = /bits/ 8 <0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff>;
2529 qcom,ports-word-length = /bits/ 8 <0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff>;
2530 qcom,ports-block-pack-mode = /bits/ 8 <0xff 0xff 0x01 0xff 0xff 0x01 0xff 0xff>;
2531 qcom,ports-block-group-count = /bits/ 8 <0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff>;
2532 qcom,ports-lane-control = /bits/ 8 <0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff>;
2533
2534 #address-cells = <2>;
2535 #size-cells = <0>;
2536 #sound-dai-cells = <1>;
2537 status = "disabled";
2538 };
2539
2540 rxmacro: codec@3200000 {
2541 compatible = "qcom,sm8450-lpass-rx-macro";
2542 reg = <0 0x03200000 0 0x1000>;
2543 clocks = <&q6prmcc LPASS_CLK_ID_RX_CORE_TX_MCLK LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
2544 <&q6prmcc LPASS_CLK_ID_RX_CORE_MCLK2_2X_MCLK LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
2545 <&q6prmcc LPASS_HW_MACRO_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
2546 <&q6prmcc LPASS_HW_DCODEC_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
2547 <&vamacro>;
2548 clock-names = "mclk", "npl", "macro", "dcodec", "fsgen";
2549
Tom Rini53633a82024-02-29 12:33:36 -05002550 #clock-cells = <0>;
2551 clock-output-names = "mclk";
Tom Rini53633a82024-02-29 12:33:36 -05002552 #sound-dai-cells = <1>;
2553 };
2554
Tom Rini93743d22024-04-01 09:08:13 -04002555 swr1: soundwire@3210000 {
Tom Rini53633a82024-02-29 12:33:36 -05002556 compatible = "qcom,soundwire-v1.7.0";
2557 reg = <0 0x03210000 0 0x2000>;
2558 interrupts = <GIC_SPI 155 IRQ_TYPE_LEVEL_HIGH>;
2559 clocks = <&rxmacro>;
2560 clock-names = "iface";
2561 label = "RX";
2562 qcom,din-ports = <0>;
2563 qcom,dout-ports = <5>;
2564
Tom Rini93743d22024-04-01 09:08:13 -04002565 pinctrl-0 = <&rx_swr_active>;
2566 pinctrl-names = "default";
2567
Tom Rini53633a82024-02-29 12:33:36 -05002568 qcom,ports-sinterval-low = /bits/ 8 <0x03 0x1f 0x1f 0x07 0x00>;
2569 qcom,ports-offset1 = /bits/ 8 <0x00 0x00 0x0b 0x01 0x00>;
2570 qcom,ports-offset2 = /bits/ 8 <0x00 0x00 0x0b 0x00 0x00>;
2571 qcom,ports-hstart = /bits/ 8 <0xff 0x03 0xff 0xff 0xff>;
2572 qcom,ports-hstop = /bits/ 8 <0xff 0x06 0xff 0xff 0xff>;
2573 qcom,ports-word-length = /bits/ 8 <0x01 0x07 0x04 0xff 0xff>;
2574 qcom,ports-block-pack-mode = /bits/ 8 <0xff 0x00 0x01 0xff 0xff>;
2575 qcom,ports-block-group-count = /bits/ 8 <0xff 0xff 0xff 0xff 0x00>;
2576 qcom,ports-lane-control = /bits/ 8 <0x01 0x00 0x00 0x00 0x00>;
2577
2578 #address-cells = <2>;
2579 #size-cells = <0>;
2580 #sound-dai-cells = <1>;
2581 status = "disabled";
2582 };
2583
2584 txmacro: codec@3220000 {
2585 compatible = "qcom,sm8450-lpass-tx-macro";
2586 reg = <0 0x03220000 0 0x1000>;
2587 clocks = <&q6prmcc LPASS_CLK_ID_RX_CORE_TX_MCLK LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
2588 <&q6prmcc LPASS_CLK_ID_RX_CORE_MCLK2_2X_MCLK LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
2589 <&q6prmcc LPASS_HW_MACRO_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
2590 <&q6prmcc LPASS_HW_DCODEC_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
2591 <&vamacro>;
2592 clock-names = "mclk", "npl", "macro", "dcodec", "fsgen";
Tom Rini53633a82024-02-29 12:33:36 -05002593
2594 #clock-cells = <0>;
2595 clock-output-names = "mclk";
Tom Rini53633a82024-02-29 12:33:36 -05002596 #sound-dai-cells = <1>;
2597 };
2598
2599 wsamacro: codec@3240000 {
2600 compatible = "qcom,sm8450-lpass-wsa-macro";
2601 reg = <0 0x03240000 0 0x1000>;
2602 clocks = <&q6prmcc LPASS_CLK_ID_WSA_CORE_TX_MCLK LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
2603 <&q6prmcc LPASS_CLK_ID_WSA_CORE_TX_2X_MCLK LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
2604 <&q6prmcc LPASS_HW_MACRO_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
2605 <&q6prmcc LPASS_HW_DCODEC_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
2606 <&vamacro>;
2607 clock-names = "mclk", "npl", "macro", "dcodec", "fsgen";
2608
Tom Rini53633a82024-02-29 12:33:36 -05002609 #clock-cells = <0>;
2610 clock-output-names = "mclk";
Tom Rini53633a82024-02-29 12:33:36 -05002611 #sound-dai-cells = <1>;
2612 };
2613
Tom Rini93743d22024-04-01 09:08:13 -04002614 swr0: soundwire@3250000 {
Tom Rini53633a82024-02-29 12:33:36 -05002615 compatible = "qcom,soundwire-v1.7.0";
2616 reg = <0 0x03250000 0 0x2000>;
2617 interrupts = <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>;
2618 clocks = <&wsamacro>;
2619 clock-names = "iface";
2620 label = "WSA";
2621
Tom Rini93743d22024-04-01 09:08:13 -04002622 pinctrl-0 = <&wsa_swr_active>;
2623 pinctrl-names = "default";
2624
Tom Rini53633a82024-02-29 12:33:36 -05002625 qcom,din-ports = <2>;
2626 qcom,dout-ports = <6>;
2627
2628 qcom,ports-sinterval-low = /bits/ 8 <0x07 0x1f 0x3f 0x07 0x1f 0x3f 0x0f 0x0f>;
2629 qcom,ports-offset1 = /bits/ 8 <0x01 0x02 0x0c 0x06 0x12 0x0d 0x07 0x0a>;
2630 qcom,ports-offset2 = /bits/ 8 <0xff 0x00 0x1f 0xff 0x00 0x1f 0x00 0x00>;
2631 qcom,ports-hstart = /bits/ 8 <0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff>;
2632 qcom,ports-hstop = /bits/ 8 <0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff>;
2633 qcom,ports-word-length = /bits/ 8 <0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff>;
2634 qcom,ports-block-pack-mode = /bits/ 8 <0xff 0xff 0x01 0xff 0xff 0x01 0xff 0xff>;
2635 qcom,ports-block-group-count = /bits/ 8 <0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff>;
2636 qcom,ports-lane-control = /bits/ 8 <0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff>;
2637
2638 #address-cells = <2>;
2639 #size-cells = <0>;
2640 #sound-dai-cells = <1>;
2641 status = "disabled";
2642 };
2643
Tom Rini93743d22024-04-01 09:08:13 -04002644 swr2: soundwire@33b0000 {
Tom Rini53633a82024-02-29 12:33:36 -05002645 compatible = "qcom,soundwire-v1.7.0";
2646 reg = <0 0x033b0000 0 0x2000>;
2647 interrupts = <GIC_SPI 496 IRQ_TYPE_LEVEL_HIGH>,
2648 <GIC_SPI 520 IRQ_TYPE_LEVEL_HIGH>;
2649 interrupt-names = "core", "wakeup";
2650
Tom Rini93743d22024-04-01 09:08:13 -04002651 clocks = <&txmacro>;
Tom Rini53633a82024-02-29 12:33:36 -05002652 clock-names = "iface";
2653 label = "TX";
2654
Tom Rini93743d22024-04-01 09:08:13 -04002655 pinctrl-0 = <&tx_swr_active>;
2656 pinctrl-names = "default";
2657
Tom Rini53633a82024-02-29 12:33:36 -05002658 qcom,din-ports = <4>;
2659 qcom,dout-ports = <0>;
2660 qcom,ports-sinterval-low = /bits/ 8 <0x01 0x01 0x03 0x03>;
2661 qcom,ports-offset1 = /bits/ 8 <0x00 0x00 0x01 0x01>;
2662 qcom,ports-offset2 = /bits/ 8 <0x00 0x00 0x00 0x00>;
2663 qcom,ports-hstart = /bits/ 8 <0xff 0xff 0xff 0xff>;
2664 qcom,ports-hstop = /bits/ 8 <0xff 0xff 0xff 0xff>;
2665 qcom,ports-word-length = /bits/ 8 <0xff 0xff 0xff 0xff>;
2666 qcom,ports-block-pack-mode = /bits/ 8 <0xff 0xff 0xff 0xff>;
2667 qcom,ports-block-group-count = /bits/ 8 <0xff 0xff 0xff 0xff>;
2668 qcom,ports-lane-control = /bits/ 8 <0x01 0x02 0x00 0x00>;
2669
2670 #address-cells = <2>;
2671 #size-cells = <0>;
2672 #sound-dai-cells = <1>;
2673 status = "disabled";
2674 };
2675
2676 vamacro: codec@33f0000 {
2677 compatible = "qcom,sm8450-lpass-va-macro";
2678 reg = <0 0x033f0000 0 0x1000>;
2679 clocks = <&q6prmcc LPASS_CLK_ID_TX_CORE_MCLK LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
2680 <&q6prmcc LPASS_HW_MACRO_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
2681 <&q6prmcc LPASS_HW_DCODEC_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
2682 <&q6prmcc LPASS_CLK_ID_RX_CORE_MCLK2_2X_MCLK LPASS_CLK_ATTRIBUTE_COUPLE_NO>;
2683 clock-names = "mclk", "macro", "dcodec", "npl";
Tom Rini53633a82024-02-29 12:33:36 -05002684
2685 #clock-cells = <0>;
2686 clock-output-names = "fsgen";
2687 #sound-dai-cells = <1>;
2688 status = "disabled";
2689 };
2690
2691 remoteproc_adsp: remoteproc@30000000 {
2692 compatible = "qcom,sm8450-adsp-pas";
2693 reg = <0 0x30000000 0 0x100>;
2694
2695 interrupts-extended = <&pdc 6 IRQ_TYPE_EDGE_RISING>,
2696 <&smp2p_adsp_in 0 IRQ_TYPE_EDGE_RISING>,
2697 <&smp2p_adsp_in 1 IRQ_TYPE_EDGE_RISING>,
2698 <&smp2p_adsp_in 2 IRQ_TYPE_EDGE_RISING>,
2699 <&smp2p_adsp_in 3 IRQ_TYPE_EDGE_RISING>;
2700 interrupt-names = "wdog", "fatal", "ready",
2701 "handover", "stop-ack";
2702
2703 clocks = <&rpmhcc RPMH_CXO_CLK>;
2704 clock-names = "xo";
2705
2706 power-domains = <&rpmhpd RPMHPD_LCX>,
2707 <&rpmhpd RPMHPD_LMX>;
2708 power-domain-names = "lcx", "lmx";
2709
2710 memory-region = <&adsp_mem>;
2711
2712 qcom,qmp = <&aoss_qmp>;
2713
2714 qcom,smem-states = <&smp2p_adsp_out 0>;
2715 qcom,smem-state-names = "stop";
2716
2717 status = "disabled";
2718
2719 remoteproc_adsp_glink: glink-edge {
2720 interrupts-extended = <&ipcc IPCC_CLIENT_LPASS
2721 IPCC_MPROC_SIGNAL_GLINK_QMP
2722 IRQ_TYPE_EDGE_RISING>;
2723 mboxes = <&ipcc IPCC_CLIENT_LPASS
2724 IPCC_MPROC_SIGNAL_GLINK_QMP>;
2725
2726 label = "lpass";
2727 qcom,remote-pid = <2>;
2728
2729 gpr {
2730 compatible = "qcom,gpr";
2731 qcom,glink-channels = "adsp_apps";
2732 qcom,domain = <GPR_DOMAIN_ID_ADSP>;
2733 qcom,intents = <512 20>;
2734 #address-cells = <1>;
2735 #size-cells = <0>;
2736
2737 q6apm: service@1 {
2738 compatible = "qcom,q6apm";
2739 reg = <GPR_APM_MODULE_IID>;
2740 #sound-dai-cells = <0>;
2741 qcom,protection-domain = "avs/audio",
2742 "msm/adsp/audio_pd";
2743
2744 q6apmdai: dais {
2745 compatible = "qcom,q6apm-dais";
2746 iommus = <&apps_smmu 0x1801 0x0>;
2747 };
2748
2749 q6apmbedai: bedais {
2750 compatible = "qcom,q6apm-lpass-dais";
2751 #sound-dai-cells = <1>;
2752 };
2753 };
2754
2755 q6prm: service@2 {
2756 compatible = "qcom,q6prm";
2757 reg = <GPR_PRM_MODULE_IID>;
2758 qcom,protection-domain = "avs/audio",
2759 "msm/adsp/audio_pd";
2760
2761 q6prmcc: clock-controller {
2762 compatible = "qcom,q6prm-lpass-clocks";
2763 #clock-cells = <2>;
2764 };
2765 };
2766 };
2767
2768 fastrpc {
2769 compatible = "qcom,fastrpc";
2770 qcom,glink-channels = "fastrpcglink-apps-dsp";
2771 label = "adsp";
Tom Rini762f85b2024-07-20 11:15:10 -06002772 qcom,non-secure-domain;
Tom Rini53633a82024-02-29 12:33:36 -05002773 #address-cells = <1>;
2774 #size-cells = <0>;
2775
2776 compute-cb@3 {
2777 compatible = "qcom,fastrpc-compute-cb";
2778 reg = <3>;
2779 iommus = <&apps_smmu 0x1803 0x0>;
2780 };
2781
2782 compute-cb@4 {
2783 compatible = "qcom,fastrpc-compute-cb";
2784 reg = <4>;
2785 iommus = <&apps_smmu 0x1804 0x0>;
2786 };
2787
2788 compute-cb@5 {
2789 compatible = "qcom,fastrpc-compute-cb";
2790 reg = <5>;
2791 iommus = <&apps_smmu 0x1805 0x0>;
2792 };
2793 };
2794 };
2795 };
2796
2797 remoteproc_cdsp: remoteproc@32300000 {
2798 compatible = "qcom,sm8450-cdsp-pas";
2799 reg = <0 0x32300000 0 0x1400000>;
2800
2801 interrupts-extended = <&intc GIC_SPI 578 IRQ_TYPE_EDGE_RISING>,
2802 <&smp2p_cdsp_in 0 IRQ_TYPE_EDGE_RISING>,
2803 <&smp2p_cdsp_in 1 IRQ_TYPE_EDGE_RISING>,
2804 <&smp2p_cdsp_in 2 IRQ_TYPE_EDGE_RISING>,
2805 <&smp2p_cdsp_in 3 IRQ_TYPE_EDGE_RISING>;
2806 interrupt-names = "wdog", "fatal", "ready",
2807 "handover", "stop-ack";
2808
2809 clocks = <&rpmhcc RPMH_CXO_CLK>;
2810 clock-names = "xo";
2811
2812 power-domains = <&rpmhpd RPMHPD_CX>,
2813 <&rpmhpd RPMHPD_MXC>;
2814 power-domain-names = "cx", "mxc";
2815
2816 memory-region = <&cdsp_mem>;
2817
2818 qcom,qmp = <&aoss_qmp>;
2819
2820 qcom,smem-states = <&smp2p_cdsp_out 0>;
2821 qcom,smem-state-names = "stop";
2822
2823 status = "disabled";
2824
2825 glink-edge {
2826 interrupts-extended = <&ipcc IPCC_CLIENT_CDSP
2827 IPCC_MPROC_SIGNAL_GLINK_QMP
2828 IRQ_TYPE_EDGE_RISING>;
2829 mboxes = <&ipcc IPCC_CLIENT_CDSP
2830 IPCC_MPROC_SIGNAL_GLINK_QMP>;
2831
2832 label = "cdsp";
2833 qcom,remote-pid = <5>;
2834
2835 fastrpc {
2836 compatible = "qcom,fastrpc";
2837 qcom,glink-channels = "fastrpcglink-apps-dsp";
2838 label = "cdsp";
Tom Rini762f85b2024-07-20 11:15:10 -06002839 qcom,non-secure-domain;
Tom Rini53633a82024-02-29 12:33:36 -05002840 #address-cells = <1>;
2841 #size-cells = <0>;
2842
2843 compute-cb@1 {
2844 compatible = "qcom,fastrpc-compute-cb";
2845 reg = <1>;
2846 iommus = <&apps_smmu 0x2161 0x0400>,
2847 <&apps_smmu 0x1021 0x1420>;
2848 };
2849
2850 compute-cb@2 {
2851 compatible = "qcom,fastrpc-compute-cb";
2852 reg = <2>;
2853 iommus = <&apps_smmu 0x2162 0x0400>,
2854 <&apps_smmu 0x1022 0x1420>;
2855 };
2856
2857 compute-cb@3 {
2858 compatible = "qcom,fastrpc-compute-cb";
2859 reg = <3>;
2860 iommus = <&apps_smmu 0x2163 0x0400>,
2861 <&apps_smmu 0x1023 0x1420>;
2862 };
2863
2864 compute-cb@4 {
2865 compatible = "qcom,fastrpc-compute-cb";
2866 reg = <4>;
2867 iommus = <&apps_smmu 0x2164 0x0400>,
2868 <&apps_smmu 0x1024 0x1420>;
2869 };
2870
2871 compute-cb@5 {
2872 compatible = "qcom,fastrpc-compute-cb";
2873 reg = <5>;
2874 iommus = <&apps_smmu 0x2165 0x0400>,
2875 <&apps_smmu 0x1025 0x1420>;
2876 };
2877
2878 compute-cb@6 {
2879 compatible = "qcom,fastrpc-compute-cb";
2880 reg = <6>;
2881 iommus = <&apps_smmu 0x2166 0x0400>,
2882 <&apps_smmu 0x1026 0x1420>;
2883 };
2884
2885 compute-cb@7 {
2886 compatible = "qcom,fastrpc-compute-cb";
2887 reg = <7>;
2888 iommus = <&apps_smmu 0x2167 0x0400>,
2889 <&apps_smmu 0x1027 0x1420>;
2890 };
2891
2892 compute-cb@8 {
2893 compatible = "qcom,fastrpc-compute-cb";
2894 reg = <8>;
2895 iommus = <&apps_smmu 0x2168 0x0400>,
2896 <&apps_smmu 0x1028 0x1420>;
2897 };
2898
2899 /* note: secure cb9 in downstream */
2900 };
2901 };
2902 };
2903
2904 remoteproc_mpss: remoteproc@4080000 {
2905 compatible = "qcom,sm8450-mpss-pas";
2906 reg = <0x0 0x04080000 0x0 0x4040>;
2907
2908 interrupts-extended = <&intc GIC_SPI 264 IRQ_TYPE_EDGE_RISING>,
2909 <&smp2p_modem_in 0 IRQ_TYPE_EDGE_RISING>,
2910 <&smp2p_modem_in 1 IRQ_TYPE_EDGE_RISING>,
2911 <&smp2p_modem_in 2 IRQ_TYPE_EDGE_RISING>,
2912 <&smp2p_modem_in 3 IRQ_TYPE_EDGE_RISING>,
2913 <&smp2p_modem_in 7 IRQ_TYPE_EDGE_RISING>;
2914 interrupt-names = "wdog", "fatal", "ready", "handover",
2915 "stop-ack", "shutdown-ack";
2916
2917 clocks = <&rpmhcc RPMH_CXO_CLK>;
2918 clock-names = "xo";
2919
2920 power-domains = <&rpmhpd RPMHPD_CX>,
2921 <&rpmhpd RPMHPD_MSS>;
2922 power-domain-names = "cx", "mss";
2923
2924 memory-region = <&mpss_mem>;
2925
2926 qcom,qmp = <&aoss_qmp>;
2927
2928 qcom,smem-states = <&smp2p_modem_out 0>;
2929 qcom,smem-state-names = "stop";
2930
2931 status = "disabled";
2932
2933 glink-edge {
2934 interrupts-extended = <&ipcc IPCC_CLIENT_MPSS
2935 IPCC_MPROC_SIGNAL_GLINK_QMP
2936 IRQ_TYPE_EDGE_RISING>;
2937 mboxes = <&ipcc IPCC_CLIENT_MPSS
2938 IPCC_MPROC_SIGNAL_GLINK_QMP>;
2939 label = "modem";
2940 qcom,remote-pid = <1>;
2941 };
2942 };
2943
2944 videocc: clock-controller@aaf0000 {
2945 compatible = "qcom,sm8450-videocc";
2946 reg = <0 0x0aaf0000 0 0x10000>;
2947 clocks = <&rpmhcc RPMH_CXO_CLK>,
2948 <&gcc GCC_VIDEO_AHB_CLK>;
2949 power-domains = <&rpmhpd RPMHPD_MMCX>;
2950 required-opps = <&rpmhpd_opp_low_svs>;
2951 #clock-cells = <1>;
2952 #reset-cells = <1>;
2953 #power-domain-cells = <1>;
2954 };
2955
2956 cci0: cci@ac15000 {
2957 compatible = "qcom,sm8450-cci", "qcom,msm8996-cci";
2958 reg = <0 0x0ac15000 0 0x1000>;
2959 interrupts = <GIC_SPI 460 IRQ_TYPE_EDGE_RISING>;
2960 power-domains = <&camcc TITAN_TOP_GDSC>;
2961
2962 clocks = <&camcc CAM_CC_CAMNOC_AXI_CLK>,
2963 <&camcc CAM_CC_SLOW_AHB_CLK_SRC>,
2964 <&camcc CAM_CC_CPAS_AHB_CLK>,
2965 <&camcc CAM_CC_CCI_0_CLK>,
2966 <&camcc CAM_CC_CCI_0_CLK_SRC>;
2967 clock-names = "camnoc_axi",
2968 "slow_ahb_src",
2969 "cpas_ahb",
2970 "cci",
2971 "cci_src";
2972 pinctrl-0 = <&cci0_default &cci1_default>;
2973 pinctrl-1 = <&cci0_sleep &cci1_sleep>;
2974 pinctrl-names = "default", "sleep";
2975
2976 status = "disabled";
2977 #address-cells = <1>;
2978 #size-cells = <0>;
2979
2980 cci0_i2c0: i2c-bus@0 {
2981 reg = <0>;
2982 clock-frequency = <1000000>;
2983 #address-cells = <1>;
2984 #size-cells = <0>;
2985 };
2986
2987 cci0_i2c1: i2c-bus@1 {
2988 reg = <1>;
2989 clock-frequency = <1000000>;
2990 #address-cells = <1>;
2991 #size-cells = <0>;
2992 };
2993 };
2994
2995 cci1: cci@ac16000 {
2996 compatible = "qcom,sm8450-cci", "qcom,msm8996-cci";
2997 reg = <0 0x0ac16000 0 0x1000>;
2998 interrupts = <GIC_SPI 271 IRQ_TYPE_EDGE_RISING>;
2999 power-domains = <&camcc TITAN_TOP_GDSC>;
3000
3001 clocks = <&camcc CAM_CC_CAMNOC_AXI_CLK>,
3002 <&camcc CAM_CC_SLOW_AHB_CLK_SRC>,
3003 <&camcc CAM_CC_CPAS_AHB_CLK>,
3004 <&camcc CAM_CC_CCI_1_CLK>,
3005 <&camcc CAM_CC_CCI_1_CLK_SRC>;
3006 clock-names = "camnoc_axi",
3007 "slow_ahb_src",
3008 "cpas_ahb",
3009 "cci",
3010 "cci_src";
3011 pinctrl-0 = <&cci2_default &cci3_default>;
3012 pinctrl-1 = <&cci2_sleep &cci3_sleep>;
3013 pinctrl-names = "default", "sleep";
3014
3015 status = "disabled";
3016 #address-cells = <1>;
3017 #size-cells = <0>;
3018
3019 cci1_i2c0: i2c-bus@0 {
3020 reg = <0>;
3021 clock-frequency = <1000000>;
3022 #address-cells = <1>;
3023 #size-cells = <0>;
3024 };
3025
3026 cci1_i2c1: i2c-bus@1 {
3027 reg = <1>;
3028 clock-frequency = <1000000>;
3029 #address-cells = <1>;
3030 #size-cells = <0>;
3031 };
3032 };
3033
3034 camcc: clock-controller@ade0000 {
3035 compatible = "qcom,sm8450-camcc";
3036 reg = <0 0x0ade0000 0 0x20000>;
3037 clocks = <&gcc GCC_CAMERA_AHB_CLK>,
3038 <&rpmhcc RPMH_CXO_CLK>,
3039 <&rpmhcc RPMH_CXO_CLK_A>,
3040 <&sleep_clk>;
3041 power-domains = <&rpmhpd RPMHPD_MMCX>;
3042 required-opps = <&rpmhpd_opp_low_svs>;
3043 #clock-cells = <1>;
3044 #reset-cells = <1>;
3045 #power-domain-cells = <1>;
3046 status = "disabled";
3047 };
3048
3049 mdss: display-subsystem@ae00000 {
3050 compatible = "qcom,sm8450-mdss";
3051 reg = <0 0x0ae00000 0 0x1000>;
3052 reg-names = "mdss";
3053
3054 /* same path used twice */
3055 interconnects = <&mmss_noc MASTER_MDP_DISP 0 &mc_virt SLAVE_EBI1_DISP 0>,
3056 <&mmss_noc MASTER_MDP_DISP 0 &mc_virt SLAVE_EBI1_DISP 0>,
3057 <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ACTIVE_ONLY
3058 &config_noc SLAVE_DISPLAY_CFG QCOM_ICC_TAG_ACTIVE_ONLY>;
3059 interconnect-names = "mdp0-mem",
3060 "mdp1-mem",
3061 "cpu-cfg";
3062
3063 resets = <&dispcc DISP_CC_MDSS_CORE_BCR>;
3064
3065 power-domains = <&dispcc MDSS_GDSC>;
3066
3067 clocks = <&dispcc DISP_CC_MDSS_AHB_CLK>,
3068 <&gcc GCC_DISP_HF_AXI_CLK>,
3069 <&gcc GCC_DISP_SF_AXI_CLK>,
3070 <&dispcc DISP_CC_MDSS_MDP_CLK>;
3071
3072 interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
3073 interrupt-controller;
3074 #interrupt-cells = <1>;
3075
3076 iommus = <&apps_smmu 0x2800 0x402>;
3077
3078 #address-cells = <2>;
3079 #size-cells = <2>;
3080 ranges;
3081
3082 status = "disabled";
3083
3084 mdss_mdp: display-controller@ae01000 {
3085 compatible = "qcom,sm8450-dpu";
3086 reg = <0 0x0ae01000 0 0x8f000>,
3087 <0 0x0aeb0000 0 0x2008>;
3088 reg-names = "mdp", "vbif";
3089
3090 clocks = <&gcc GCC_DISP_HF_AXI_CLK>,
3091 <&gcc GCC_DISP_SF_AXI_CLK>,
3092 <&dispcc DISP_CC_MDSS_AHB_CLK>,
3093 <&dispcc DISP_CC_MDSS_MDP_LUT_CLK>,
3094 <&dispcc DISP_CC_MDSS_MDP_CLK>,
3095 <&dispcc DISP_CC_MDSS_VSYNC_CLK>;
3096 clock-names = "bus",
3097 "nrt_bus",
3098 "iface",
3099 "lut",
3100 "core",
3101 "vsync";
3102
3103 assigned-clocks = <&dispcc DISP_CC_MDSS_VSYNC_CLK>;
3104 assigned-clock-rates = <19200000>;
3105
3106 operating-points-v2 = <&mdp_opp_table>;
3107 power-domains = <&rpmhpd RPMHPD_MMCX>;
3108
3109 interrupt-parent = <&mdss>;
3110 interrupts = <0>;
3111
3112 ports {
3113 #address-cells = <1>;
3114 #size-cells = <0>;
3115
3116 port@0 {
3117 reg = <0>;
3118 dpu_intf1_out: endpoint {
3119 remote-endpoint = <&mdss_dsi0_in>;
3120 };
3121 };
3122
3123 port@1 {
3124 reg = <1>;
3125 dpu_intf2_out: endpoint {
3126 remote-endpoint = <&mdss_dsi1_in>;
3127 };
3128 };
3129
3130 port@2 {
3131 reg = <2>;
3132 dpu_intf0_out: endpoint {
3133 remote-endpoint = <&mdss_dp0_in>;
3134 };
3135 };
3136 };
3137
3138 mdp_opp_table: opp-table {
3139 compatible = "operating-points-v2";
3140
3141 opp-172000000 {
3142 opp-hz = /bits/ 64 <172000000>;
3143 required-opps = <&rpmhpd_opp_low_svs_d1>;
3144 };
3145
3146 opp-200000000 {
3147 opp-hz = /bits/ 64 <200000000>;
3148 required-opps = <&rpmhpd_opp_low_svs>;
3149 };
3150
3151 opp-325000000 {
3152 opp-hz = /bits/ 64 <325000000>;
3153 required-opps = <&rpmhpd_opp_svs>;
3154 };
3155
3156 opp-375000000 {
3157 opp-hz = /bits/ 64 <375000000>;
3158 required-opps = <&rpmhpd_opp_svs_l1>;
3159 };
3160
3161 opp-500000000 {
3162 opp-hz = /bits/ 64 <500000000>;
3163 required-opps = <&rpmhpd_opp_nom>;
3164 };
3165 };
3166 };
3167
3168 mdss_dp0: displayport-controller@ae90000 {
3169 compatible = "qcom,sm8450-dp", "qcom,sm8350-dp";
3170 reg = <0 0xae90000 0 0x200>,
3171 <0 0xae90200 0 0x200>,
3172 <0 0xae90400 0 0xc00>,
3173 <0 0xae91000 0 0x400>,
3174 <0 0xae91400 0 0x400>;
3175 interrupt-parent = <&mdss>;
3176 interrupts = <12>;
3177 clocks = <&dispcc DISP_CC_MDSS_AHB_CLK>,
3178 <&dispcc DISP_CC_MDSS_DPTX0_AUX_CLK>,
3179 <&dispcc DISP_CC_MDSS_DPTX0_LINK_CLK>,
3180 <&dispcc DISP_CC_MDSS_DPTX0_LINK_INTF_CLK>,
3181 <&dispcc DISP_CC_MDSS_DPTX0_PIXEL0_CLK>;
3182 clock-names = "core_iface",
3183 "core_aux",
3184 "ctrl_link",
3185 "ctrl_link_iface",
3186 "stream_pixel";
3187
3188 assigned-clocks = <&dispcc DISP_CC_MDSS_DPTX0_LINK_CLK_SRC>,
3189 <&dispcc DISP_CC_MDSS_DPTX0_PIXEL0_CLK_SRC>;
3190 assigned-clock-parents = <&usb_1_qmpphy QMP_USB43DP_DP_LINK_CLK>,
3191 <&usb_1_qmpphy QMP_USB43DP_DP_VCO_DIV_CLK>;
3192
3193 phys = <&usb_1_qmpphy QMP_USB43DP_DP_PHY>;
3194 phy-names = "dp";
3195
3196 #sound-dai-cells = <0>;
3197
3198 operating-points-v2 = <&dp_opp_table>;
3199 power-domains = <&rpmhpd RPMHPD_MMCX>;
3200
3201 status = "disabled";
3202
3203 ports {
3204 #address-cells = <1>;
3205 #size-cells = <0>;
3206
3207 port@0 {
3208 reg = <0>;
3209 mdss_dp0_in: endpoint {
3210 remote-endpoint = <&dpu_intf0_out>;
3211 };
3212 };
Tom Rini6b642ac2024-10-01 12:20:28 -06003213
3214 port@1 {
3215 reg = <1>;
3216
3217 mdss_dp0_out: endpoint {
3218 remote-endpoint = <&usb_1_qmpphy_dp_in>;
3219 };
3220 };
Tom Rini53633a82024-02-29 12:33:36 -05003221 };
3222
3223 dp_opp_table: opp-table {
3224 compatible = "operating-points-v2";
3225
3226 opp-160000000 {
3227 opp-hz = /bits/ 64 <160000000>;
3228 required-opps = <&rpmhpd_opp_low_svs>;
3229 };
3230
3231 opp-270000000 {
3232 opp-hz = /bits/ 64 <270000000>;
3233 required-opps = <&rpmhpd_opp_svs>;
3234 };
3235
3236 opp-540000000 {
3237 opp-hz = /bits/ 64 <540000000>;
3238 required-opps = <&rpmhpd_opp_svs_l1>;
3239 };
3240
3241 opp-810000000 {
3242 opp-hz = /bits/ 64 <810000000>;
3243 required-opps = <&rpmhpd_opp_nom>;
3244 };
3245 };
3246 };
3247
3248 mdss_dsi0: dsi@ae94000 {
3249 compatible = "qcom,sm8450-dsi-ctrl", "qcom,mdss-dsi-ctrl";
3250 reg = <0 0x0ae94000 0 0x400>;
3251 reg-names = "dsi_ctrl";
3252
3253 interrupt-parent = <&mdss>;
3254 interrupts = <4>;
3255
3256 clocks = <&dispcc DISP_CC_MDSS_BYTE0_CLK>,
3257 <&dispcc DISP_CC_MDSS_BYTE0_INTF_CLK>,
3258 <&dispcc DISP_CC_MDSS_PCLK0_CLK>,
3259 <&dispcc DISP_CC_MDSS_ESC0_CLK>,
3260 <&dispcc DISP_CC_MDSS_AHB_CLK>,
3261 <&gcc GCC_DISP_HF_AXI_CLK>;
3262 clock-names = "byte",
3263 "byte_intf",
3264 "pixel",
3265 "core",
3266 "iface",
3267 "bus";
3268
3269 assigned-clocks = <&dispcc DISP_CC_MDSS_BYTE0_CLK_SRC>, <&dispcc DISP_CC_MDSS_PCLK0_CLK_SRC>;
3270 assigned-clock-parents = <&mdss_dsi0_phy 0>, <&mdss_dsi0_phy 1>;
3271
3272 operating-points-v2 = <&mdss_dsi_opp_table>;
3273 power-domains = <&rpmhpd RPMHPD_MMCX>;
3274
3275 phys = <&mdss_dsi0_phy>;
3276 phy-names = "dsi";
3277
3278 #address-cells = <1>;
3279 #size-cells = <0>;
3280
3281 status = "disabled";
3282
3283 ports {
3284 #address-cells = <1>;
3285 #size-cells = <0>;
3286
3287 port@0 {
3288 reg = <0>;
3289 mdss_dsi0_in: endpoint {
3290 remote-endpoint = <&dpu_intf1_out>;
3291 };
3292 };
3293
3294 port@1 {
3295 reg = <1>;
3296 mdss_dsi0_out: endpoint {
3297 };
3298 };
3299 };
3300
3301 mdss_dsi_opp_table: opp-table {
3302 compatible = "operating-points-v2";
3303
3304 opp-187500000 {
3305 opp-hz = /bits/ 64 <187500000>;
3306 required-opps = <&rpmhpd_opp_low_svs>;
3307 };
3308
3309 opp-300000000 {
3310 opp-hz = /bits/ 64 <300000000>;
3311 required-opps = <&rpmhpd_opp_svs>;
3312 };
3313
3314 opp-358000000 {
3315 opp-hz = /bits/ 64 <358000000>;
3316 required-opps = <&rpmhpd_opp_svs_l1>;
3317 };
3318 };
3319 };
3320
3321 mdss_dsi0_phy: phy@ae94400 {
3322 compatible = "qcom,sm8450-dsi-phy-5nm";
3323 reg = <0 0x0ae94400 0 0x200>,
3324 <0 0x0ae94600 0 0x280>,
3325 <0 0x0ae94900 0 0x260>;
3326 reg-names = "dsi_phy",
3327 "dsi_phy_lane",
3328 "dsi_pll";
3329
3330 #clock-cells = <1>;
3331 #phy-cells = <0>;
3332
3333 clocks = <&dispcc DISP_CC_MDSS_AHB_CLK>,
3334 <&rpmhcc RPMH_CXO_CLK>;
3335 clock-names = "iface", "ref";
3336
3337 status = "disabled";
3338 };
3339
3340 mdss_dsi1: dsi@ae96000 {
3341 compatible = "qcom,sm8450-dsi-ctrl", "qcom,mdss-dsi-ctrl";
3342 reg = <0 0x0ae96000 0 0x400>;
3343 reg-names = "dsi_ctrl";
3344
3345 interrupt-parent = <&mdss>;
3346 interrupts = <5>;
3347
3348 clocks = <&dispcc DISP_CC_MDSS_BYTE1_CLK>,
3349 <&dispcc DISP_CC_MDSS_BYTE1_INTF_CLK>,
3350 <&dispcc DISP_CC_MDSS_PCLK1_CLK>,
3351 <&dispcc DISP_CC_MDSS_ESC1_CLK>,
3352 <&dispcc DISP_CC_MDSS_AHB_CLK>,
3353 <&gcc GCC_DISP_HF_AXI_CLK>;
3354 clock-names = "byte",
3355 "byte_intf",
3356 "pixel",
3357 "core",
3358 "iface",
3359 "bus";
3360
3361 assigned-clocks = <&dispcc DISP_CC_MDSS_BYTE1_CLK_SRC>, <&dispcc DISP_CC_MDSS_PCLK1_CLK_SRC>;
3362 assigned-clock-parents = <&mdss_dsi1_phy 0>, <&mdss_dsi1_phy 1>;
3363
3364 operating-points-v2 = <&mdss_dsi_opp_table>;
3365 power-domains = <&rpmhpd RPMHPD_MMCX>;
3366
3367 phys = <&mdss_dsi1_phy>;
3368 phy-names = "dsi";
3369
3370 #address-cells = <1>;
3371 #size-cells = <0>;
3372
3373 status = "disabled";
3374
3375 ports {
3376 #address-cells = <1>;
3377 #size-cells = <0>;
3378
3379 port@0 {
3380 reg = <0>;
3381 mdss_dsi1_in: endpoint {
3382 remote-endpoint = <&dpu_intf2_out>;
3383 };
3384 };
3385
3386 port@1 {
3387 reg = <1>;
3388 mdss_dsi1_out: endpoint {
3389 };
3390 };
3391 };
3392 };
3393
3394 mdss_dsi1_phy: phy@ae96400 {
3395 compatible = "qcom,sm8450-dsi-phy-5nm";
3396 reg = <0 0x0ae96400 0 0x200>,
3397 <0 0x0ae96600 0 0x280>,
3398 <0 0x0ae96900 0 0x260>;
3399 reg-names = "dsi_phy",
3400 "dsi_phy_lane",
3401 "dsi_pll";
3402
3403 #clock-cells = <1>;
3404 #phy-cells = <0>;
3405
3406 clocks = <&dispcc DISP_CC_MDSS_AHB_CLK>,
3407 <&rpmhcc RPMH_CXO_CLK>;
3408 clock-names = "iface", "ref";
3409
3410 status = "disabled";
3411 };
3412 };
3413
3414 dispcc: clock-controller@af00000 {
3415 compatible = "qcom,sm8450-dispcc";
3416 reg = <0 0x0af00000 0 0x20000>;
3417 clocks = <&rpmhcc RPMH_CXO_CLK>,
3418 <&rpmhcc RPMH_CXO_CLK_A>,
3419 <&gcc GCC_DISP_AHB_CLK>,
3420 <&sleep_clk>,
3421 <&mdss_dsi0_phy 0>,
3422 <&mdss_dsi0_phy 1>,
3423 <&mdss_dsi1_phy 0>,
3424 <&mdss_dsi1_phy 1>,
3425 <&usb_1_qmpphy QMP_USB43DP_DP_LINK_CLK>,
3426 <&usb_1_qmpphy QMP_USB43DP_DP_VCO_DIV_CLK>,
3427 <0>, /* dp1 */
3428 <0>,
3429 <0>, /* dp2 */
3430 <0>,
3431 <0>, /* dp3 */
3432 <0>;
3433 power-domains = <&rpmhpd RPMHPD_MMCX>;
3434 required-opps = <&rpmhpd_opp_low_svs>;
3435 #clock-cells = <1>;
3436 #reset-cells = <1>;
3437 #power-domain-cells = <1>;
3438 status = "disabled";
3439 };
3440
3441 pdc: interrupt-controller@b220000 {
3442 compatible = "qcom,sm8450-pdc", "qcom,pdc";
3443 reg = <0 0x0b220000 0 0x30000>, <0 0x174000f0 0 0x64>;
3444 qcom,pdc-ranges = <0 480 12>, <14 494 24>, <40 520 54>,
3445 <94 609 31>, <125 63 1>, <126 716 12>;
3446 #interrupt-cells = <2>;
3447 interrupt-parent = <&intc>;
3448 interrupt-controller;
3449 };
3450
3451 tsens0: thermal-sensor@c263000 {
3452 compatible = "qcom,sm8450-tsens", "qcom,tsens-v2";
3453 reg = <0 0x0c263000 0 0x1000>, /* TM */
3454 <0 0x0c222000 0 0x1000>; /* SROT */
3455 #qcom,sensors = <16>;
3456 interrupts = <GIC_SPI 506 IRQ_TYPE_LEVEL_HIGH>,
3457 <GIC_SPI 508 IRQ_TYPE_LEVEL_HIGH>;
3458 interrupt-names = "uplow", "critical";
3459 #thermal-sensor-cells = <1>;
3460 };
3461
3462 tsens1: thermal-sensor@c265000 {
3463 compatible = "qcom,sm8450-tsens", "qcom,tsens-v2";
3464 reg = <0 0x0c265000 0 0x1000>, /* TM */
3465 <0 0x0c223000 0 0x1000>; /* SROT */
3466 #qcom,sensors = <16>;
3467 interrupts = <GIC_SPI 507 IRQ_TYPE_LEVEL_HIGH>,
3468 <GIC_SPI 509 IRQ_TYPE_LEVEL_HIGH>;
3469 interrupt-names = "uplow", "critical";
3470 #thermal-sensor-cells = <1>;
3471 };
3472
3473 aoss_qmp: power-management@c300000 {
3474 compatible = "qcom,sm8450-aoss-qmp", "qcom,aoss-qmp";
3475 reg = <0 0x0c300000 0 0x400>;
3476 interrupts-extended = <&ipcc IPCC_CLIENT_AOP IPCC_MPROC_SIGNAL_GLINK_QMP
3477 IRQ_TYPE_EDGE_RISING>;
3478 mboxes = <&ipcc IPCC_CLIENT_AOP IPCC_MPROC_SIGNAL_GLINK_QMP>;
3479
3480 #clock-cells = <0>;
3481 };
3482
3483 sram@c3f0000 {
3484 compatible = "qcom,rpmh-stats";
3485 reg = <0 0x0c3f0000 0 0x400>;
3486 };
3487
3488 spmi_bus: spmi@c400000 {
3489 compatible = "qcom,spmi-pmic-arb";
3490 reg = <0 0x0c400000 0 0x00003000>,
3491 <0 0x0c500000 0 0x00400000>,
3492 <0 0x0c440000 0 0x00080000>,
3493 <0 0x0c4c0000 0 0x00010000>,
3494 <0 0x0c42d000 0 0x00010000>;
3495 reg-names = "core",
3496 "chnls",
3497 "obsrvr",
3498 "intr",
3499 "cnfg";
3500 interrupt-names = "periph_irq";
3501 interrupts-extended = <&pdc 1 IRQ_TYPE_LEVEL_HIGH>;
3502 qcom,ee = <0>;
3503 qcom,channel = <0>;
3504 interrupt-controller;
3505 #interrupt-cells = <4>;
3506 #address-cells = <2>;
3507 #size-cells = <0>;
3508 };
3509
3510 ipcc: mailbox@ed18000 {
3511 compatible = "qcom,sm8450-ipcc", "qcom,ipcc";
3512 reg = <0 0x0ed18000 0 0x1000>;
3513 interrupts = <GIC_SPI 229 IRQ_TYPE_LEVEL_HIGH>;
3514 interrupt-controller;
3515 #interrupt-cells = <3>;
3516 #mbox-cells = <2>;
3517 };
3518
3519 tlmm: pinctrl@f100000 {
3520 compatible = "qcom,sm8450-tlmm";
3521 reg = <0 0x0f100000 0 0x300000>;
3522 interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>;
3523 gpio-controller;
3524 #gpio-cells = <2>;
3525 interrupt-controller;
3526 #interrupt-cells = <2>;
3527 gpio-ranges = <&tlmm 0 0 211>;
3528 wakeup-parent = <&pdc>;
3529
3530 sdc2_default_state: sdc2-default-state {
3531 clk-pins {
3532 pins = "sdc2_clk";
3533 drive-strength = <16>;
3534 bias-disable;
3535 };
3536
3537 cmd-pins {
3538 pins = "sdc2_cmd";
3539 drive-strength = <16>;
3540 bias-pull-up;
3541 };
3542
3543 data-pins {
3544 pins = "sdc2_data";
3545 drive-strength = <16>;
3546 bias-pull-up;
3547 };
3548 };
3549
3550 sdc2_sleep_state: sdc2-sleep-state {
3551 clk-pins {
3552 pins = "sdc2_clk";
3553 drive-strength = <2>;
3554 bias-disable;
3555 };
3556
3557 cmd-pins {
3558 pins = "sdc2_cmd";
3559 drive-strength = <2>;
3560 bias-pull-up;
3561 };
3562
3563 data-pins {
3564 pins = "sdc2_data";
3565 drive-strength = <2>;
3566 bias-pull-up;
3567 };
3568 };
3569
3570 cci0_default: cci0-default-state {
3571 /* SDA, SCL */
3572 pins = "gpio110", "gpio111";
3573 function = "cci_i2c";
3574 drive-strength = <2>;
3575 bias-pull-up;
3576 };
3577
3578 cci0_sleep: cci0-sleep-state {
3579 /* SDA, SCL */
3580 pins = "gpio110", "gpio111";
3581 function = "cci_i2c";
3582 drive-strength = <2>;
3583 bias-pull-down;
3584 };
3585
3586 cci1_default: cci1-default-state {
3587 /* SDA, SCL */
3588 pins = "gpio112", "gpio113";
3589 function = "cci_i2c";
3590 drive-strength = <2>;
3591 bias-pull-up;
3592 };
3593
3594 cci1_sleep: cci1-sleep-state {
3595 /* SDA, SCL */
3596 pins = "gpio112", "gpio113";
3597 function = "cci_i2c";
3598 drive-strength = <2>;
3599 bias-pull-down;
3600 };
3601
3602 cci2_default: cci2-default-state {
3603 /* SDA, SCL */
3604 pins = "gpio114", "gpio115";
3605 function = "cci_i2c";
3606 drive-strength = <2>;
3607 bias-pull-up;
3608 };
3609
3610 cci2_sleep: cci2-sleep-state {
3611 /* SDA, SCL */
3612 pins = "gpio114", "gpio115";
3613 function = "cci_i2c";
3614 drive-strength = <2>;
3615 bias-pull-down;
3616 };
3617
3618 cci3_default: cci3-default-state {
3619 /* SDA, SCL */
3620 pins = "gpio208", "gpio209";
3621 function = "cci_i2c";
3622 drive-strength = <2>;
3623 bias-pull-up;
3624 };
3625
3626 cci3_sleep: cci3-sleep-state {
3627 /* SDA, SCL */
3628 pins = "gpio208", "gpio209";
3629 function = "cci_i2c";
3630 drive-strength = <2>;
3631 bias-pull-down;
3632 };
3633
3634 pcie0_default_state: pcie0-default-state {
3635 perst-pins {
3636 pins = "gpio94";
3637 function = "gpio";
3638 drive-strength = <2>;
3639 bias-pull-down;
3640 };
3641
3642 clkreq-pins {
3643 pins = "gpio95";
3644 function = "pcie0_clkreqn";
3645 drive-strength = <2>;
3646 bias-pull-up;
3647 };
3648
3649 wake-pins {
3650 pins = "gpio96";
3651 function = "gpio";
3652 drive-strength = <2>;
3653 bias-pull-up;
3654 };
3655 };
3656
3657 pcie1_default_state: pcie1-default-state {
3658 perst-pins {
3659 pins = "gpio97";
3660 function = "gpio";
3661 drive-strength = <2>;
3662 bias-pull-down;
3663 };
3664
3665 clkreq-pins {
3666 pins = "gpio98";
3667 function = "pcie1_clkreqn";
3668 drive-strength = <2>;
3669 bias-pull-up;
3670 };
3671
3672 wake-pins {
3673 pins = "gpio99";
3674 function = "gpio";
3675 drive-strength = <2>;
3676 bias-pull-up;
3677 };
3678 };
3679
3680 qup_i2c0_data_clk: qup-i2c0-data-clk-state {
3681 pins = "gpio0", "gpio1";
3682 function = "qup0";
3683 };
3684
3685 qup_i2c1_data_clk: qup-i2c1-data-clk-state {
3686 pins = "gpio4", "gpio5";
3687 function = "qup1";
3688 };
3689
3690 qup_i2c2_data_clk: qup-i2c2-data-clk-state {
3691 pins = "gpio8", "gpio9";
3692 function = "qup2";
3693 };
3694
3695 qup_i2c3_data_clk: qup-i2c3-data-clk-state {
3696 pins = "gpio12", "gpio13";
3697 function = "qup3";
3698 };
3699
3700 qup_i2c4_data_clk: qup-i2c4-data-clk-state {
3701 pins = "gpio16", "gpio17";
3702 function = "qup4";
3703 };
3704
3705 qup_i2c5_data_clk: qup-i2c5-data-clk-state {
3706 pins = "gpio206", "gpio207";
3707 function = "qup5";
3708 };
3709
3710 qup_i2c6_data_clk: qup-i2c6-data-clk-state {
3711 pins = "gpio20", "gpio21";
3712 function = "qup6";
3713 };
3714
3715 qup_i2c8_data_clk: qup-i2c8-data-clk-state {
3716 pins = "gpio28", "gpio29";
3717 function = "qup8";
3718 };
3719
3720 qup_i2c9_data_clk: qup-i2c9-data-clk-state {
3721 pins = "gpio32", "gpio33";
3722 function = "qup9";
3723 };
3724
3725 qup_i2c10_data_clk: qup-i2c10-data-clk-state {
3726 pins = "gpio36", "gpio37";
3727 function = "qup10";
3728 };
3729
3730 qup_i2c11_data_clk: qup-i2c11-data-clk-state {
3731 pins = "gpio40", "gpio41";
3732 function = "qup11";
3733 };
3734
3735 qup_i2c12_data_clk: qup-i2c12-data-clk-state {
3736 pins = "gpio44", "gpio45";
3737 function = "qup12";
3738 };
3739
3740 qup_i2c13_data_clk: qup-i2c13-data-clk-state {
3741 pins = "gpio48", "gpio49";
3742 function = "qup13";
3743 drive-strength = <2>;
3744 bias-pull-up;
3745 };
3746
3747 qup_i2c14_data_clk: qup-i2c14-data-clk-state {
3748 pins = "gpio52", "gpio53";
3749 function = "qup14";
3750 drive-strength = <2>;
3751 bias-pull-up;
3752 };
3753
3754 qup_i2c15_data_clk: qup-i2c15-data-clk-state {
3755 pins = "gpio56", "gpio57";
3756 function = "qup15";
3757 };
3758
3759 qup_i2c16_data_clk: qup-i2c16-data-clk-state {
3760 pins = "gpio60", "gpio61";
3761 function = "qup16";
3762 };
3763
3764 qup_i2c17_data_clk: qup-i2c17-data-clk-state {
3765 pins = "gpio64", "gpio65";
3766 function = "qup17";
3767 };
3768
3769 qup_i2c18_data_clk: qup-i2c18-data-clk-state {
3770 pins = "gpio68", "gpio69";
3771 function = "qup18";
3772 };
3773
3774 qup_i2c19_data_clk: qup-i2c19-data-clk-state {
3775 pins = "gpio72", "gpio73";
3776 function = "qup19";
3777 };
3778
3779 qup_i2c20_data_clk: qup-i2c20-data-clk-state {
3780 pins = "gpio76", "gpio77";
3781 function = "qup20";
3782 };
3783
3784 qup_i2c21_data_clk: qup-i2c21-data-clk-state {
3785 pins = "gpio80", "gpio81";
3786 function = "qup21";
3787 };
3788
3789 qup_spi0_cs: qup-spi0-cs-state {
3790 pins = "gpio3";
3791 function = "qup0";
3792 };
3793
3794 qup_spi0_data_clk: qup-spi0-data-clk-state {
3795 pins = "gpio0", "gpio1", "gpio2";
3796 function = "qup0";
3797 };
3798
3799 qup_spi1_cs: qup-spi1-cs-state {
3800 pins = "gpio7";
3801 function = "qup1";
3802 };
3803
3804 qup_spi1_data_clk: qup-spi1-data-clk-state {
3805 pins = "gpio4", "gpio5", "gpio6";
3806 function = "qup1";
3807 };
3808
3809 qup_spi2_cs: qup-spi2-cs-state {
3810 pins = "gpio11";
3811 function = "qup2";
3812 };
3813
3814 qup_spi2_data_clk: qup-spi2-data-clk-state {
3815 pins = "gpio8", "gpio9", "gpio10";
3816 function = "qup2";
3817 };
3818
3819 qup_spi3_cs: qup-spi3-cs-state {
3820 pins = "gpio15";
3821 function = "qup3";
3822 };
3823
3824 qup_spi3_data_clk: qup-spi3-data-clk-state {
3825 pins = "gpio12", "gpio13", "gpio14";
3826 function = "qup3";
3827 };
3828
3829 qup_spi4_cs: qup-spi4-cs-state {
3830 pins = "gpio19";
3831 function = "qup4";
3832 drive-strength = <6>;
3833 bias-disable;
3834 };
3835
3836 qup_spi4_data_clk: qup-spi4-data-clk-state {
3837 pins = "gpio16", "gpio17", "gpio18";
3838 function = "qup4";
3839 };
3840
3841 qup_spi5_cs: qup-spi5-cs-state {
3842 pins = "gpio85";
3843 function = "qup5";
3844 };
3845
3846 qup_spi5_data_clk: qup-spi5-data-clk-state {
3847 pins = "gpio206", "gpio207", "gpio84";
3848 function = "qup5";
3849 };
3850
3851 qup_spi6_cs: qup-spi6-cs-state {
3852 pins = "gpio23";
3853 function = "qup6";
3854 };
3855
3856 qup_spi6_data_clk: qup-spi6-data-clk-state {
3857 pins = "gpio20", "gpio21", "gpio22";
3858 function = "qup6";
3859 };
3860
3861 qup_spi8_cs: qup-spi8-cs-state {
3862 pins = "gpio31";
3863 function = "qup8";
3864 };
3865
3866 qup_spi8_data_clk: qup-spi8-data-clk-state {
3867 pins = "gpio28", "gpio29", "gpio30";
3868 function = "qup8";
3869 };
3870
3871 qup_spi9_cs: qup-spi9-cs-state {
3872 pins = "gpio35";
3873 function = "qup9";
3874 };
3875
3876 qup_spi9_data_clk: qup-spi9-data-clk-state {
3877 pins = "gpio32", "gpio33", "gpio34";
3878 function = "qup9";
3879 };
3880
3881 qup_spi10_cs: qup-spi10-cs-state {
3882 pins = "gpio39";
3883 function = "qup10";
3884 };
3885
3886 qup_spi10_data_clk: qup-spi10-data-clk-state {
3887 pins = "gpio36", "gpio37", "gpio38";
3888 function = "qup10";
3889 };
3890
3891 qup_spi11_cs: qup-spi11-cs-state {
3892 pins = "gpio43";
3893 function = "qup11";
3894 };
3895
3896 qup_spi11_data_clk: qup-spi11-data-clk-state {
3897 pins = "gpio40", "gpio41", "gpio42";
3898 function = "qup11";
3899 };
3900
3901 qup_spi12_cs: qup-spi12-cs-state {
3902 pins = "gpio47";
3903 function = "qup12";
3904 };
3905
3906 qup_spi12_data_clk: qup-spi12-data-clk-state {
3907 pins = "gpio44", "gpio45", "gpio46";
3908 function = "qup12";
3909 };
3910
3911 qup_spi13_cs: qup-spi13-cs-state {
3912 pins = "gpio51";
3913 function = "qup13";
3914 };
3915
3916 qup_spi13_data_clk: qup-spi13-data-clk-state {
3917 pins = "gpio48", "gpio49", "gpio50";
3918 function = "qup13";
3919 };
3920
3921 qup_spi14_cs: qup-spi14-cs-state {
3922 pins = "gpio55";
3923 function = "qup14";
3924 };
3925
3926 qup_spi14_data_clk: qup-spi14-data-clk-state {
3927 pins = "gpio52", "gpio53", "gpio54";
3928 function = "qup14";
3929 };
3930
3931 qup_spi15_cs: qup-spi15-cs-state {
3932 pins = "gpio59";
3933 function = "qup15";
3934 };
3935
3936 qup_spi15_data_clk: qup-spi15-data-clk-state {
3937 pins = "gpio56", "gpio57", "gpio58";
3938 function = "qup15";
3939 };
3940
3941 qup_spi16_cs: qup-spi16-cs-state {
3942 pins = "gpio63";
3943 function = "qup16";
3944 };
3945
3946 qup_spi16_data_clk: qup-spi16-data-clk-state {
3947 pins = "gpio60", "gpio61", "gpio62";
3948 function = "qup16";
3949 };
3950
3951 qup_spi17_cs: qup-spi17-cs-state {
3952 pins = "gpio67";
3953 function = "qup17";
3954 };
3955
3956 qup_spi17_data_clk: qup-spi17-data-clk-state {
3957 pins = "gpio64", "gpio65", "gpio66";
3958 function = "qup17";
3959 };
3960
3961 qup_spi18_cs: qup-spi18-cs-state {
3962 pins = "gpio71";
3963 function = "qup18";
3964 drive-strength = <6>;
3965 bias-disable;
3966 };
3967
3968 qup_spi18_data_clk: qup-spi18-data-clk-state {
3969 pins = "gpio68", "gpio69", "gpio70";
3970 function = "qup18";
3971 drive-strength = <6>;
3972 bias-disable;
3973 };
3974
3975 qup_spi19_cs: qup-spi19-cs-state {
3976 pins = "gpio75";
3977 function = "qup19";
3978 drive-strength = <6>;
3979 bias-disable;
3980 };
3981
3982 qup_spi19_data_clk: qup-spi19-data-clk-state {
3983 pins = "gpio72", "gpio73", "gpio74";
3984 function = "qup19";
3985 drive-strength = <6>;
3986 bias-disable;
3987 };
3988
3989 qup_spi20_cs: qup-spi20-cs-state {
3990 pins = "gpio79";
3991 function = "qup20";
3992 };
3993
3994 qup_spi20_data_clk: qup-spi20-data-clk-state {
3995 pins = "gpio76", "gpio77", "gpio78";
3996 function = "qup20";
3997 };
3998
3999 qup_spi21_cs: qup-spi21-cs-state {
4000 pins = "gpio83";
4001 function = "qup21";
4002 };
4003
4004 qup_spi21_data_clk: qup-spi21-data-clk-state {
4005 pins = "gpio80", "gpio81", "gpio82";
4006 function = "qup21";
4007 };
4008
4009 qup_uart7_rx: qup-uart7-rx-state {
4010 pins = "gpio26";
4011 function = "qup7";
4012 drive-strength = <2>;
4013 bias-disable;
4014 };
4015
4016 qup_uart7_tx: qup-uart7-tx-state {
4017 pins = "gpio27";
4018 function = "qup7";
4019 drive-strength = <2>;
4020 bias-disable;
4021 };
4022
4023 qup_uart20_default: qup-uart20-default-state {
4024 pins = "gpio76", "gpio77", "gpio78", "gpio79";
4025 function = "qup20";
4026 };
4027 };
4028
4029 lpass_tlmm: pinctrl@3440000 {
4030 compatible = "qcom,sm8450-lpass-lpi-pinctrl";
4031 reg = <0 0x03440000 0x0 0x20000>,
4032 <0 0x034d0000 0x0 0x10000>;
4033 gpio-controller;
4034 #gpio-cells = <2>;
4035 gpio-ranges = <&lpass_tlmm 0 0 23>;
4036
4037 clocks = <&q6prmcc LPASS_HW_MACRO_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
4038 <&q6prmcc LPASS_HW_DCODEC_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>;
4039 clock-names = "core", "audio";
4040
4041 tx_swr_active: tx-swr-active-state {
4042 clk-pins {
4043 pins = "gpio0";
4044 function = "swr_tx_clk";
4045 drive-strength = <2>;
4046 slew-rate = <1>;
4047 bias-disable;
4048 };
4049
4050 data-pins {
4051 pins = "gpio1", "gpio2", "gpio14";
4052 function = "swr_tx_data";
4053 drive-strength = <2>;
4054 slew-rate = <1>;
4055 bias-bus-hold;
4056 };
4057 };
4058
4059 rx_swr_active: rx-swr-active-state {
4060 clk-pins {
4061 pins = "gpio3";
4062 function = "swr_rx_clk";
4063 drive-strength = <2>;
4064 slew-rate = <1>;
4065 bias-disable;
4066 };
4067
4068 data-pins {
4069 pins = "gpio4", "gpio5";
4070 function = "swr_rx_data";
4071 drive-strength = <2>;
4072 slew-rate = <1>;
4073 bias-bus-hold;
4074 };
4075 };
4076
4077 dmic01_default: dmic01-default-state {
4078 clk-pins {
4079 pins = "gpio6";
4080 function = "dmic1_clk";
4081 drive-strength = <8>;
4082 output-high;
4083 };
4084
4085 data-pins {
4086 pins = "gpio7";
4087 function = "dmic1_data";
4088 drive-strength = <8>;
4089 };
4090 };
4091
Tom Rini6bb92fc2024-05-20 09:54:58 -06004092 dmic23_default: dmic23-default-state {
Tom Rini53633a82024-02-29 12:33:36 -05004093 clk-pins {
4094 pins = "gpio8";
4095 function = "dmic2_clk";
4096 drive-strength = <8>;
4097 output-high;
4098 };
4099
4100 data-pins {
4101 pins = "gpio9";
4102 function = "dmic2_data";
4103 drive-strength = <8>;
4104 };
4105 };
4106
4107 wsa_swr_active: wsa-swr-active-state {
4108 clk-pins {
4109 pins = "gpio10";
4110 function = "wsa_swr_clk";
4111 drive-strength = <2>;
4112 slew-rate = <1>;
4113 bias-disable;
4114 };
4115
4116 data-pins {
4117 pins = "gpio11";
4118 function = "wsa_swr_data";
4119 drive-strength = <2>;
4120 slew-rate = <1>;
4121 bias-bus-hold;
4122 };
4123 };
4124
4125 wsa2_swr_active: wsa2-swr-active-state {
4126 clk-pins {
4127 pins = "gpio15";
4128 function = "wsa2_swr_clk";
4129 drive-strength = <2>;
4130 slew-rate = <1>;
4131 bias-disable;
4132 };
4133
4134 data-pins {
4135 pins = "gpio16";
4136 function = "wsa2_swr_data";
4137 drive-strength = <2>;
4138 slew-rate = <1>;
4139 bias-bus-hold;
4140 };
4141 };
4142 };
4143
4144 sram@146aa000 {
4145 compatible = "qcom,sm8450-imem", "syscon", "simple-mfd";
4146 reg = <0 0x146aa000 0 0x1000>;
4147 ranges = <0 0 0x146aa000 0x1000>;
4148
4149 #address-cells = <1>;
4150 #size-cells = <1>;
4151
4152 pil-reloc@94c {
4153 compatible = "qcom,pil-reloc-info";
4154 reg = <0x94c 0xc8>;
4155 };
4156 };
4157
4158 apps_smmu: iommu@15000000 {
4159 compatible = "qcom,sm8450-smmu-500", "arm,mmu-500";
4160 reg = <0 0x15000000 0 0x100000>;
4161 #iommu-cells = <2>;
4162 #global-interrupts = <1>;
4163 interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>,
4164 <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>,
4165 <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>,
4166 <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>,
4167 <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>,
4168 <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>,
4169 <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>,
4170 <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>,
4171 <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>,
4172 <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>,
4173 <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>,
4174 <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>,
4175 <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>,
4176 <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>,
4177 <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>,
4178 <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>,
4179 <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>,
4180 <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>,
4181 <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>,
4182 <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>,
4183 <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>,
4184 <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>,
4185 <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>,
4186 <GIC_SPI 181 IRQ_TYPE_LEVEL_HIGH>,
4187 <GIC_SPI 182 IRQ_TYPE_LEVEL_HIGH>,
4188 <GIC_SPI 183 IRQ_TYPE_LEVEL_HIGH>,
4189 <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>,
4190 <GIC_SPI 185 IRQ_TYPE_LEVEL_HIGH>,
4191 <GIC_SPI 186 IRQ_TYPE_LEVEL_HIGH>,
4192 <GIC_SPI 187 IRQ_TYPE_LEVEL_HIGH>,
4193 <GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>,
4194 <GIC_SPI 189 IRQ_TYPE_LEVEL_HIGH>,
4195 <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>,
4196 <GIC_SPI 191 IRQ_TYPE_LEVEL_HIGH>,
4197 <GIC_SPI 192 IRQ_TYPE_LEVEL_HIGH>,
4198 <GIC_SPI 315 IRQ_TYPE_LEVEL_HIGH>,
4199 <GIC_SPI 316 IRQ_TYPE_LEVEL_HIGH>,
4200 <GIC_SPI 317 IRQ_TYPE_LEVEL_HIGH>,
4201 <GIC_SPI 318 IRQ_TYPE_LEVEL_HIGH>,
4202 <GIC_SPI 319 IRQ_TYPE_LEVEL_HIGH>,
4203 <GIC_SPI 320 IRQ_TYPE_LEVEL_HIGH>,
4204 <GIC_SPI 321 IRQ_TYPE_LEVEL_HIGH>,
4205 <GIC_SPI 322 IRQ_TYPE_LEVEL_HIGH>,
4206 <GIC_SPI 323 IRQ_TYPE_LEVEL_HIGH>,
4207 <GIC_SPI 324 IRQ_TYPE_LEVEL_HIGH>,
4208 <GIC_SPI 325 IRQ_TYPE_LEVEL_HIGH>,
4209 <GIC_SPI 326 IRQ_TYPE_LEVEL_HIGH>,
4210 <GIC_SPI 327 IRQ_TYPE_LEVEL_HIGH>,
4211 <GIC_SPI 328 IRQ_TYPE_LEVEL_HIGH>,
4212 <GIC_SPI 329 IRQ_TYPE_LEVEL_HIGH>,
4213 <GIC_SPI 330 IRQ_TYPE_LEVEL_HIGH>,
4214 <GIC_SPI 331 IRQ_TYPE_LEVEL_HIGH>,
4215 <GIC_SPI 332 IRQ_TYPE_LEVEL_HIGH>,
4216 <GIC_SPI 333 IRQ_TYPE_LEVEL_HIGH>,
4217 <GIC_SPI 334 IRQ_TYPE_LEVEL_HIGH>,
4218 <GIC_SPI 335 IRQ_TYPE_LEVEL_HIGH>,
4219 <GIC_SPI 336 IRQ_TYPE_LEVEL_HIGH>,
4220 <GIC_SPI 337 IRQ_TYPE_LEVEL_HIGH>,
4221 <GIC_SPI 338 IRQ_TYPE_LEVEL_HIGH>,
4222 <GIC_SPI 339 IRQ_TYPE_LEVEL_HIGH>,
4223 <GIC_SPI 340 IRQ_TYPE_LEVEL_HIGH>,
4224 <GIC_SPI 341 IRQ_TYPE_LEVEL_HIGH>,
4225 <GIC_SPI 342 IRQ_TYPE_LEVEL_HIGH>,
4226 <GIC_SPI 343 IRQ_TYPE_LEVEL_HIGH>,
4227 <GIC_SPI 344 IRQ_TYPE_LEVEL_HIGH>,
4228 <GIC_SPI 345 IRQ_TYPE_LEVEL_HIGH>,
4229 <GIC_SPI 395 IRQ_TYPE_LEVEL_HIGH>,
4230 <GIC_SPI 396 IRQ_TYPE_LEVEL_HIGH>,
4231 <GIC_SPI 397 IRQ_TYPE_LEVEL_HIGH>,
4232 <GIC_SPI 398 IRQ_TYPE_LEVEL_HIGH>,
4233 <GIC_SPI 399 IRQ_TYPE_LEVEL_HIGH>,
4234 <GIC_SPI 400 IRQ_TYPE_LEVEL_HIGH>,
4235 <GIC_SPI 401 IRQ_TYPE_LEVEL_HIGH>,
4236 <GIC_SPI 402 IRQ_TYPE_LEVEL_HIGH>,
4237 <GIC_SPI 403 IRQ_TYPE_LEVEL_HIGH>,
4238 <GIC_SPI 404 IRQ_TYPE_LEVEL_HIGH>,
4239 <GIC_SPI 405 IRQ_TYPE_LEVEL_HIGH>,
4240 <GIC_SPI 406 IRQ_TYPE_LEVEL_HIGH>,
4241 <GIC_SPI 407 IRQ_TYPE_LEVEL_HIGH>,
4242 <GIC_SPI 408 IRQ_TYPE_LEVEL_HIGH>,
4243 <GIC_SPI 409 IRQ_TYPE_LEVEL_HIGH>,
4244 <GIC_SPI 418 IRQ_TYPE_LEVEL_HIGH>,
4245 <GIC_SPI 419 IRQ_TYPE_LEVEL_HIGH>,
4246 <GIC_SPI 412 IRQ_TYPE_LEVEL_HIGH>,
4247 <GIC_SPI 421 IRQ_TYPE_LEVEL_HIGH>,
4248 <GIC_SPI 707 IRQ_TYPE_LEVEL_HIGH>,
4249 <GIC_SPI 423 IRQ_TYPE_LEVEL_HIGH>,
4250 <GIC_SPI 424 IRQ_TYPE_LEVEL_HIGH>,
4251 <GIC_SPI 425 IRQ_TYPE_LEVEL_HIGH>,
4252 <GIC_SPI 690 IRQ_TYPE_LEVEL_HIGH>,
4253 <GIC_SPI 691 IRQ_TYPE_LEVEL_HIGH>,
4254 <GIC_SPI 692 IRQ_TYPE_LEVEL_HIGH>,
4255 <GIC_SPI 693 IRQ_TYPE_LEVEL_HIGH>,
4256 <GIC_SPI 694 IRQ_TYPE_LEVEL_HIGH>,
4257 <GIC_SPI 695 IRQ_TYPE_LEVEL_HIGH>,
4258 <GIC_SPI 696 IRQ_TYPE_LEVEL_HIGH>,
4259 <GIC_SPI 697 IRQ_TYPE_LEVEL_HIGH>;
4260 };
4261
4262 intc: interrupt-controller@17100000 {
4263 compatible = "arm,gic-v3";
4264 #interrupt-cells = <3>;
4265 interrupt-controller;
4266 #redistributor-regions = <1>;
4267 redistributor-stride = <0x0 0x40000>;
4268 reg = <0x0 0x17100000 0x0 0x10000>, /* GICD */
4269 <0x0 0x17180000 0x0 0x200000>; /* GICR * 8 */
4270 interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>;
4271 #address-cells = <2>;
4272 #size-cells = <2>;
4273 ranges;
4274
4275 gic_its: msi-controller@17140000 {
4276 compatible = "arm,gic-v3-its";
4277 reg = <0x0 0x17140000 0x0 0x20000>;
4278 msi-controller;
4279 #msi-cells = <1>;
4280 };
4281 };
4282
4283 timer@17420000 {
4284 compatible = "arm,armv7-timer-mem";
4285 #address-cells = <1>;
4286 #size-cells = <1>;
4287 ranges = <0 0 0 0x20000000>;
4288 reg = <0x0 0x17420000 0x0 0x1000>;
4289 clock-frequency = <19200000>;
4290
4291 frame@17421000 {
4292 frame-number = <0>;
4293 interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
4294 <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>;
4295 reg = <0x17421000 0x1000>,
4296 <0x17422000 0x1000>;
4297 };
4298
4299 frame@17423000 {
4300 frame-number = <1>;
4301 interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
4302 reg = <0x17423000 0x1000>;
4303 status = "disabled";
4304 };
4305
4306 frame@17425000 {
4307 frame-number = <2>;
4308 interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
4309 reg = <0x17425000 0x1000>;
4310 status = "disabled";
4311 };
4312
4313 frame@17427000 {
4314 frame-number = <3>;
4315 interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
4316 reg = <0x17427000 0x1000>;
4317 status = "disabled";
4318 };
4319
4320 frame@17429000 {
4321 frame-number = <4>;
4322 interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
4323 reg = <0x17429000 0x1000>;
4324 status = "disabled";
4325 };
4326
4327 frame@1742b000 {
4328 frame-number = <5>;
4329 interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
4330 reg = <0x1742b000 0x1000>;
4331 status = "disabled";
4332 };
4333
4334 frame@1742d000 {
4335 frame-number = <6>;
4336 interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
4337 reg = <0x1742d000 0x1000>;
4338 status = "disabled";
4339 };
4340 };
4341
4342 apps_rsc: rsc@17a00000 {
4343 label = "apps_rsc";
4344 compatible = "qcom,rpmh-rsc";
4345 reg = <0x0 0x17a00000 0x0 0x10000>,
4346 <0x0 0x17a10000 0x0 0x10000>,
4347 <0x0 0x17a20000 0x0 0x10000>,
4348 <0x0 0x17a30000 0x0 0x10000>;
4349 reg-names = "drv-0", "drv-1", "drv-2", "drv-3";
4350 interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>,
4351 <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>,
4352 <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
4353 qcom,tcs-offset = <0xd00>;
4354 qcom,drv-id = <2>;
4355 qcom,tcs-config = <ACTIVE_TCS 3>, <SLEEP_TCS 2>,
4356 <WAKE_TCS 2>, <CONTROL_TCS 0>;
4357 power-domains = <&CLUSTER_PD>;
4358
4359 apps_bcm_voter: bcm-voter {
4360 compatible = "qcom,bcm-voter";
4361 };
4362
4363 rpmhcc: clock-controller {
4364 compatible = "qcom,sm8450-rpmh-clk";
4365 #clock-cells = <1>;
4366 clock-names = "xo";
4367 clocks = <&xo_board>;
4368 };
4369
4370 rpmhpd: power-controller {
4371 compatible = "qcom,sm8450-rpmhpd";
4372 #power-domain-cells = <1>;
4373 operating-points-v2 = <&rpmhpd_opp_table>;
4374
4375 rpmhpd_opp_table: opp-table {
4376 compatible = "operating-points-v2";
4377
4378 rpmhpd_opp_ret: opp1 {
4379 opp-level = <RPMH_REGULATOR_LEVEL_RETENTION>;
4380 };
4381
4382 rpmhpd_opp_min_svs: opp2 {
4383 opp-level = <RPMH_REGULATOR_LEVEL_MIN_SVS>;
4384 };
4385
4386 rpmhpd_opp_low_svs_d1: opp3 {
4387 opp-level = <RPMH_REGULATOR_LEVEL_LOW_SVS_D1>;
4388 };
4389
4390 rpmhpd_opp_low_svs: opp4 {
4391 opp-level = <RPMH_REGULATOR_LEVEL_LOW_SVS>;
4392 };
4393
4394 rpmhpd_opp_low_svs_l1: opp5 {
4395 opp-level = <RPMH_REGULATOR_LEVEL_LOW_SVS_L1>;
4396 };
4397
4398 rpmhpd_opp_svs: opp6 {
4399 opp-level = <RPMH_REGULATOR_LEVEL_SVS>;
4400 };
4401
4402 rpmhpd_opp_svs_l0: opp7 {
4403 opp-level = <RPMH_REGULATOR_LEVEL_SVS_L0>;
4404 };
4405
4406 rpmhpd_opp_svs_l1: opp8 {
4407 opp-level = <RPMH_REGULATOR_LEVEL_SVS_L1>;
4408 };
4409
4410 rpmhpd_opp_svs_l2: opp9 {
4411 opp-level = <RPMH_REGULATOR_LEVEL_SVS_L2>;
4412 };
4413
4414 rpmhpd_opp_nom: opp10 {
4415 opp-level = <RPMH_REGULATOR_LEVEL_NOM>;
4416 };
4417
4418 rpmhpd_opp_nom_l1: opp11 {
4419 opp-level = <RPMH_REGULATOR_LEVEL_NOM_L1>;
4420 };
4421
4422 rpmhpd_opp_nom_l2: opp12 {
4423 opp-level = <RPMH_REGULATOR_LEVEL_NOM_L2>;
4424 };
4425
4426 rpmhpd_opp_turbo: opp13 {
4427 opp-level = <RPMH_REGULATOR_LEVEL_TURBO>;
4428 };
4429
4430 rpmhpd_opp_turbo_l1: opp14 {
4431 opp-level = <RPMH_REGULATOR_LEVEL_TURBO_L1>;
4432 };
4433 };
4434 };
4435 };
4436
4437 cpufreq_hw: cpufreq@17d91000 {
4438 compatible = "qcom,sm8450-cpufreq-epss", "qcom,cpufreq-epss";
4439 reg = <0 0x17d91000 0 0x1000>,
4440 <0 0x17d92000 0 0x1000>,
4441 <0 0x17d93000 0 0x1000>;
4442 reg-names = "freq-domain0", "freq-domain1", "freq-domain2";
4443 clocks = <&rpmhcc RPMH_CXO_CLK>, <&gcc GCC_GPLL0>;
4444 clock-names = "xo", "alternate";
4445 interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>,
4446 <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>,
4447 <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
4448 interrupt-names = "dcvsh-irq-0", "dcvsh-irq-1", "dcvsh-irq-2";
4449 #freq-domain-cells = <1>;
4450 #clock-cells = <1>;
4451 };
4452
4453 gem_noc: interconnect@19100000 {
4454 compatible = "qcom,sm8450-gem-noc";
4455 reg = <0 0x19100000 0 0xbb800>;
4456 #interconnect-cells = <2>;
4457 qcom,bcm-voters = <&apps_bcm_voter>;
4458 };
4459
4460 system-cache-controller@19200000 {
4461 compatible = "qcom,sm8450-llcc";
4462 reg = <0 0x19200000 0 0x80000>, <0 0x19600000 0 0x80000>,
4463 <0 0x19300000 0 0x80000>, <0 0x19700000 0 0x80000>,
Tom Rini6b642ac2024-10-01 12:20:28 -06004464 <0 0x19a00000 0 0x80000>, <0 0x19c00000 0 0x80000>;
Tom Rini53633a82024-02-29 12:33:36 -05004465 reg-names = "llcc0_base", "llcc1_base", "llcc2_base",
Tom Rini6b642ac2024-10-01 12:20:28 -06004466 "llcc3_base", "llcc_broadcast_base",
4467 "llcc_broadcast_and_base";
Tom Rini53633a82024-02-29 12:33:36 -05004468 interrupts = <GIC_SPI 266 IRQ_TYPE_LEVEL_HIGH>;
4469 };
4470
4471 ufs_mem_hc: ufshc@1d84000 {
4472 compatible = "qcom,sm8450-ufshc", "qcom,ufshc",
4473 "jedec,ufs-2.0";
4474 reg = <0 0x01d84000 0 0x3000>;
4475 interrupts = <GIC_SPI 265 IRQ_TYPE_LEVEL_HIGH>;
Tom Rini93743d22024-04-01 09:08:13 -04004476 phys = <&ufs_mem_phy>;
Tom Rini53633a82024-02-29 12:33:36 -05004477 phy-names = "ufsphy";
4478 lanes-per-direction = <2>;
4479 #reset-cells = <1>;
4480 resets = <&gcc GCC_UFS_PHY_BCR>;
4481 reset-names = "rst";
4482
4483 power-domains = <&gcc UFS_PHY_GDSC>;
4484
4485 iommus = <&apps_smmu 0xe0 0x0>;
4486 dma-coherent;
4487
4488 interconnects = <&aggre1_noc MASTER_UFS_MEM 0 &mc_virt SLAVE_EBI1 0>,
4489 <&gem_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_UFS_MEM_CFG 0>;
4490 interconnect-names = "ufs-ddr", "cpu-ufs";
4491 clock-names =
4492 "core_clk",
4493 "bus_aggr_clk",
4494 "iface_clk",
4495 "core_clk_unipro",
4496 "ref_clk",
4497 "tx_lane0_sync_clk",
4498 "rx_lane0_sync_clk",
4499 "rx_lane1_sync_clk";
4500 clocks =
4501 <&gcc GCC_UFS_PHY_AXI_CLK>,
4502 <&gcc GCC_AGGRE_UFS_PHY_AXI_CLK>,
4503 <&gcc GCC_UFS_PHY_AHB_CLK>,
4504 <&gcc GCC_UFS_PHY_UNIPRO_CORE_CLK>,
4505 <&rpmhcc RPMH_CXO_CLK>,
4506 <&gcc GCC_UFS_PHY_TX_SYMBOL_0_CLK>,
4507 <&gcc GCC_UFS_PHY_RX_SYMBOL_0_CLK>,
4508 <&gcc GCC_UFS_PHY_RX_SYMBOL_1_CLK>;
4509 freq-table-hz =
4510 <75000000 300000000>,
4511 <0 0>,
4512 <0 0>,
4513 <75000000 300000000>,
4514 <75000000 300000000>,
4515 <0 0>,
4516 <0 0>,
4517 <0 0>;
4518 qcom,ice = <&ice>;
4519
4520 status = "disabled";
4521 };
4522
4523 ufs_mem_phy: phy@1d87000 {
4524 compatible = "qcom,sm8450-qmp-ufs-phy";
Tom Rini93743d22024-04-01 09:08:13 -04004525 reg = <0 0x01d87000 0 0x1000>;
4526
Tom Rini53633a82024-02-29 12:33:36 -05004527 clock-names = "ref", "ref_aux", "qref";
4528 clocks = <&rpmhcc RPMH_CXO_CLK>,
4529 <&gcc GCC_UFS_PHY_PHY_AUX_CLK>,
4530 <&gcc GCC_UFS_0_CLKREF_EN>;
4531
Tom Rini6b642ac2024-10-01 12:20:28 -06004532 power-domains = <&gcc UFS_PHY_GDSC>;
4533
Tom Rini53633a82024-02-29 12:33:36 -05004534 resets = <&ufs_mem_hc 0>;
4535 reset-names = "ufsphy";
Tom Rini53633a82024-02-29 12:33:36 -05004536
Tom Rini93743d22024-04-01 09:08:13 -04004537 #clock-cells = <1>;
4538 #phy-cells = <0>;
4539
4540 status = "disabled";
Tom Rini53633a82024-02-29 12:33:36 -05004541 };
4542
4543 ice: crypto@1d88000 {
4544 compatible = "qcom,sm8450-inline-crypto-engine",
4545 "qcom,inline-crypto-engine";
4546 reg = <0 0x01d88000 0 0x8000>;
4547 clocks = <&gcc GCC_UFS_PHY_ICE_CORE_CLK>;
4548 };
4549
4550 cryptobam: dma-controller@1dc4000 {
4551 compatible = "qcom,bam-v1.7.4", "qcom,bam-v1.7.0";
4552 reg = <0 0x01dc4000 0 0x28000>;
4553 interrupts = <GIC_SPI 272 IRQ_TYPE_LEVEL_HIGH>;
4554 #dma-cells = <1>;
4555 qcom,ee = <0>;
4556 qcom,controlled-remotely;
4557 iommus = <&apps_smmu 0x584 0x11>,
4558 <&apps_smmu 0x588 0x0>,
4559 <&apps_smmu 0x598 0x5>,
4560 <&apps_smmu 0x59a 0x0>,
4561 <&apps_smmu 0x59f 0x0>;
4562 };
4563
4564 crypto: crypto@1dfa000 {
4565 compatible = "qcom,sm8450-qce", "qcom,sm8150-qce", "qcom,qce";
4566 reg = <0 0x01dfa000 0 0x6000>;
4567 dmas = <&cryptobam 4>, <&cryptobam 5>;
4568 dma-names = "rx", "tx";
4569 iommus = <&apps_smmu 0x584 0x11>,
4570 <&apps_smmu 0x588 0x0>,
4571 <&apps_smmu 0x598 0x5>,
4572 <&apps_smmu 0x59a 0x0>,
4573 <&apps_smmu 0x59f 0x0>;
4574 interconnects = <&aggre2_noc MASTER_CRYPTO 0 &mc_virt SLAVE_EBI1 0>;
4575 interconnect-names = "memory";
4576 };
4577
4578 sdhc_2: mmc@8804000 {
4579 compatible = "qcom,sm8450-sdhci", "qcom,sdhci-msm-v5";
4580 reg = <0 0x08804000 0 0x1000>;
4581
4582 interrupts = <GIC_SPI 207 IRQ_TYPE_LEVEL_HIGH>,
4583 <GIC_SPI 223 IRQ_TYPE_LEVEL_HIGH>;
4584 interrupt-names = "hc_irq", "pwr_irq";
4585
4586 clocks = <&gcc GCC_SDCC2_AHB_CLK>,
4587 <&gcc GCC_SDCC2_APPS_CLK>,
4588 <&rpmhcc RPMH_CXO_CLK>;
4589 clock-names = "iface", "core", "xo";
4590 resets = <&gcc GCC_SDCC2_BCR>;
4591 interconnects = <&aggre2_noc MASTER_SDCC_2 0 &mc_virt SLAVE_EBI1 0>,
4592 <&gem_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_SDCC_2 0>;
4593 interconnect-names = "sdhc-ddr","cpu-sdhc";
4594 iommus = <&apps_smmu 0x4a0 0x0>;
4595 power-domains = <&rpmhpd RPMHPD_CX>;
4596 operating-points-v2 = <&sdhc2_opp_table>;
4597 bus-width = <4>;
4598 dma-coherent;
4599
4600 /* Forbid SDR104/SDR50 - broken hw! */
4601 sdhci-caps-mask = <0x3 0x0>;
4602
4603 status = "disabled";
4604
4605 sdhc2_opp_table: opp-table {
4606 compatible = "operating-points-v2";
4607
4608 opp-100000000 {
4609 opp-hz = /bits/ 64 <100000000>;
4610 required-opps = <&rpmhpd_opp_low_svs>;
4611 };
4612
4613 opp-202000000 {
4614 opp-hz = /bits/ 64 <202000000>;
4615 required-opps = <&rpmhpd_opp_svs_l1>;
4616 };
4617 };
4618 };
4619
4620 usb_1: usb@a6f8800 {
4621 compatible = "qcom,sm8450-dwc3", "qcom,dwc3";
4622 reg = <0 0x0a6f8800 0 0x400>;
4623 status = "disabled";
4624 #address-cells = <2>;
4625 #size-cells = <2>;
4626 ranges;
4627
4628 clocks = <&gcc GCC_CFG_NOC_USB3_PRIM_AXI_CLK>,
4629 <&gcc GCC_USB30_PRIM_MASTER_CLK>,
4630 <&gcc GCC_AGGRE_USB3_PRIM_AXI_CLK>,
4631 <&gcc GCC_USB30_PRIM_SLEEP_CLK>,
4632 <&gcc GCC_USB30_PRIM_MOCK_UTMI_CLK>,
4633 <&gcc GCC_USB3_0_CLKREF_EN>;
4634 clock-names = "cfg_noc",
4635 "core",
4636 "iface",
4637 "sleep",
4638 "mock_utmi",
4639 "xo";
4640
4641 assigned-clocks = <&gcc GCC_USB30_PRIM_MOCK_UTMI_CLK>,
4642 <&gcc GCC_USB30_PRIM_MASTER_CLK>;
4643 assigned-clock-rates = <19200000>, <200000000>;
4644
4645 interrupts-extended = <&intc GIC_SPI 130 IRQ_TYPE_LEVEL_HIGH>,
Tom Rini6bb92fc2024-05-20 09:54:58 -06004646 <&intc GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>,
4647 <&pdc 14 IRQ_TYPE_EDGE_BOTH>,
Tom Rini53633a82024-02-29 12:33:36 -05004648 <&pdc 15 IRQ_TYPE_EDGE_BOTH>,
Tom Rini6bb92fc2024-05-20 09:54:58 -06004649 <&pdc 17 IRQ_TYPE_LEVEL_HIGH>;
4650 interrupt-names = "pwr_event",
4651 "hs_phy_irq",
4652 "dp_hs_phy_irq",
Tom Rini53633a82024-02-29 12:33:36 -05004653 "dm_hs_phy_irq",
Tom Rini6bb92fc2024-05-20 09:54:58 -06004654 "ss_phy_irq";
Tom Rini53633a82024-02-29 12:33:36 -05004655
4656 power-domains = <&gcc USB30_PRIM_GDSC>;
4657
4658 resets = <&gcc GCC_USB30_PRIM_BCR>;
4659
4660 interconnects = <&aggre1_noc MASTER_USB3_0 0 &mc_virt SLAVE_EBI1 0>,
4661 <&gem_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_USB3_0 0>;
4662 interconnect-names = "usb-ddr", "apps-usb";
4663
4664 usb_1_dwc3: usb@a600000 {
4665 compatible = "snps,dwc3";
4666 reg = <0 0x0a600000 0 0xcd00>;
4667 interrupts = <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>;
4668 iommus = <&apps_smmu 0x0 0x0>;
4669 snps,dis_u2_susphy_quirk;
4670 snps,dis_enblslpm_quirk;
4671 phys = <&usb_1_hsphy>, <&usb_1_qmpphy QMP_USB43DP_USB3_PHY>;
4672 phy-names = "usb2-phy", "usb3-phy";
4673
4674 ports {
4675 #address-cells = <1>;
4676 #size-cells = <0>;
4677
4678 port@0 {
4679 reg = <0>;
4680
4681 usb_1_dwc3_hs: endpoint {
4682 };
4683 };
4684
4685 port@1 {
4686 reg = <1>;
4687
4688 usb_1_dwc3_ss: endpoint {
Tom Rini6b642ac2024-10-01 12:20:28 -06004689 remote-endpoint = <&usb_1_qmpphy_usb_ss_in>;
Tom Rini53633a82024-02-29 12:33:36 -05004690 };
4691 };
4692 };
4693 };
4694 };
4695
4696 nsp_noc: interconnect@320c0000 {
4697 compatible = "qcom,sm8450-nsp-noc";
4698 reg = <0 0x320c0000 0 0x10000>;
4699 #interconnect-cells = <2>;
4700 qcom,bcm-voters = <&apps_bcm_voter>;
4701 };
4702
4703 lpass_ag_noc: interconnect@3c40000 {
4704 compatible = "qcom,sm8450-lpass-ag-noc";
4705 reg = <0 0x03c40000 0 0x17200>;
4706 #interconnect-cells = <2>;
4707 qcom,bcm-voters = <&apps_bcm_voter>;
4708 };
4709 };
4710
4711 sound: sound {
4712 };
4713
4714 thermal-zones {
4715 aoss0-thermal {
Tom Rini53633a82024-02-29 12:33:36 -05004716 thermal-sensors = <&tsens0 0>;
4717
4718 trips {
4719 thermal-engine-config {
4720 temperature = <125000>;
4721 hysteresis = <1000>;
4722 type = "passive";
4723 };
4724
4725 reset-mon-cfg {
4726 temperature = <115000>;
4727 hysteresis = <5000>;
4728 type = "passive";
4729 };
4730 };
4731 };
4732
4733 cpuss0-thermal {
Tom Rini53633a82024-02-29 12:33:36 -05004734 thermal-sensors = <&tsens0 1>;
4735
4736 trips {
4737 thermal-engine-config {
4738 temperature = <125000>;
4739 hysteresis = <1000>;
4740 type = "passive";
4741 };
4742
4743 reset-mon-cfg {
4744 temperature = <115000>;
4745 hysteresis = <5000>;
4746 type = "passive";
4747 };
4748 };
4749 };
4750
4751 cpuss1-thermal {
Tom Rini53633a82024-02-29 12:33:36 -05004752 thermal-sensors = <&tsens0 2>;
4753
4754 trips {
4755 thermal-engine-config {
4756 temperature = <125000>;
4757 hysteresis = <1000>;
4758 type = "passive";
4759 };
4760
4761 reset-mon-cfg {
4762 temperature = <115000>;
4763 hysteresis = <5000>;
4764 type = "passive";
4765 };
4766 };
4767 };
4768
4769 cpuss3-thermal {
Tom Rini53633a82024-02-29 12:33:36 -05004770 thermal-sensors = <&tsens0 3>;
4771
4772 trips {
4773 thermal-engine-config {
4774 temperature = <125000>;
4775 hysteresis = <1000>;
4776 type = "passive";
4777 };
4778
4779 reset-mon-cfg {
4780 temperature = <115000>;
4781 hysteresis = <5000>;
4782 type = "passive";
4783 };
4784 };
4785 };
4786
4787 cpuss4-thermal {
Tom Rini53633a82024-02-29 12:33:36 -05004788 thermal-sensors = <&tsens0 4>;
4789
4790 trips {
4791 thermal-engine-config {
4792 temperature = <125000>;
4793 hysteresis = <1000>;
4794 type = "passive";
4795 };
4796
4797 reset-mon-cfg {
4798 temperature = <115000>;
4799 hysteresis = <5000>;
4800 type = "passive";
4801 };
4802 };
4803 };
4804
4805 cpu4-top-thermal {
Tom Rini53633a82024-02-29 12:33:36 -05004806 thermal-sensors = <&tsens0 5>;
4807
4808 trips {
4809 cpu4_top_alert0: trip-point0 {
4810 temperature = <90000>;
4811 hysteresis = <2000>;
4812 type = "passive";
4813 };
4814
4815 cpu4_top_alert1: trip-point1 {
4816 temperature = <95000>;
4817 hysteresis = <2000>;
4818 type = "passive";
4819 };
4820
4821 cpu4_top_crit: cpu-crit {
4822 temperature = <110000>;
4823 hysteresis = <1000>;
4824 type = "critical";
4825 };
4826 };
4827 };
4828
4829 cpu4-bottom-thermal {
Tom Rini53633a82024-02-29 12:33:36 -05004830 thermal-sensors = <&tsens0 6>;
4831
4832 trips {
4833 cpu4_bottom_alert0: trip-point0 {
4834 temperature = <90000>;
4835 hysteresis = <2000>;
4836 type = "passive";
4837 };
4838
4839 cpu4_bottom_alert1: trip-point1 {
4840 temperature = <95000>;
4841 hysteresis = <2000>;
4842 type = "passive";
4843 };
4844
4845 cpu4_bottom_crit: cpu-crit {
4846 temperature = <110000>;
4847 hysteresis = <1000>;
4848 type = "critical";
4849 };
4850 };
4851 };
4852
4853 cpu5-top-thermal {
Tom Rini53633a82024-02-29 12:33:36 -05004854 thermal-sensors = <&tsens0 7>;
4855
4856 trips {
4857 cpu5_top_alert0: trip-point0 {
4858 temperature = <90000>;
4859 hysteresis = <2000>;
4860 type = "passive";
4861 };
4862
4863 cpu5_top_alert1: trip-point1 {
4864 temperature = <95000>;
4865 hysteresis = <2000>;
4866 type = "passive";
4867 };
4868
4869 cpu5_top_crit: cpu-crit {
4870 temperature = <110000>;
4871 hysteresis = <1000>;
4872 type = "critical";
4873 };
4874 };
4875 };
4876
4877 cpu5-bottom-thermal {
Tom Rini53633a82024-02-29 12:33:36 -05004878 thermal-sensors = <&tsens0 8>;
4879
4880 trips {
4881 cpu5_bottom_alert0: trip-point0 {
4882 temperature = <90000>;
4883 hysteresis = <2000>;
4884 type = "passive";
4885 };
4886
4887 cpu5_bottom_alert1: trip-point1 {
4888 temperature = <95000>;
4889 hysteresis = <2000>;
4890 type = "passive";
4891 };
4892
4893 cpu5_bottom_crit: cpu-crit {
4894 temperature = <110000>;
4895 hysteresis = <1000>;
4896 type = "critical";
4897 };
4898 };
4899 };
4900
4901 cpu6-top-thermal {
Tom Rini53633a82024-02-29 12:33:36 -05004902 thermal-sensors = <&tsens0 9>;
4903
4904 trips {
4905 cpu6_top_alert0: trip-point0 {
4906 temperature = <90000>;
4907 hysteresis = <2000>;
4908 type = "passive";
4909 };
4910
4911 cpu6_top_alert1: trip-point1 {
4912 temperature = <95000>;
4913 hysteresis = <2000>;
4914 type = "passive";
4915 };
4916
4917 cpu6_top_crit: cpu-crit {
4918 temperature = <110000>;
4919 hysteresis = <1000>;
4920 type = "critical";
4921 };
4922 };
4923 };
4924
4925 cpu6-bottom-thermal {
Tom Rini53633a82024-02-29 12:33:36 -05004926 thermal-sensors = <&tsens0 10>;
4927
4928 trips {
4929 cpu6_bottom_alert0: trip-point0 {
4930 temperature = <90000>;
4931 hysteresis = <2000>;
4932 type = "passive";
4933 };
4934
4935 cpu6_bottom_alert1: trip-point1 {
4936 temperature = <95000>;
4937 hysteresis = <2000>;
4938 type = "passive";
4939 };
4940
4941 cpu6_bottom_crit: cpu-crit {
4942 temperature = <110000>;
4943 hysteresis = <1000>;
4944 type = "critical";
4945 };
4946 };
4947 };
4948
4949 cpu7-top-thermal {
Tom Rini53633a82024-02-29 12:33:36 -05004950 thermal-sensors = <&tsens0 11>;
4951
4952 trips {
4953 cpu7_top_alert0: trip-point0 {
4954 temperature = <90000>;
4955 hysteresis = <2000>;
4956 type = "passive";
4957 };
4958
4959 cpu7_top_alert1: trip-point1 {
4960 temperature = <95000>;
4961 hysteresis = <2000>;
4962 type = "passive";
4963 };
4964
4965 cpu7_top_crit: cpu-crit {
4966 temperature = <110000>;
4967 hysteresis = <1000>;
4968 type = "critical";
4969 };
4970 };
4971 };
4972
4973 cpu7-middle-thermal {
Tom Rini53633a82024-02-29 12:33:36 -05004974 thermal-sensors = <&tsens0 12>;
4975
4976 trips {
4977 cpu7_middle_alert0: trip-point0 {
4978 temperature = <90000>;
4979 hysteresis = <2000>;
4980 type = "passive";
4981 };
4982
4983 cpu7_middle_alert1: trip-point1 {
4984 temperature = <95000>;
4985 hysteresis = <2000>;
4986 type = "passive";
4987 };
4988
4989 cpu7_middle_crit: cpu-crit {
4990 temperature = <110000>;
4991 hysteresis = <1000>;
4992 type = "critical";
4993 };
4994 };
4995 };
4996
4997 cpu7-bottom-thermal {
Tom Rini53633a82024-02-29 12:33:36 -05004998 thermal-sensors = <&tsens0 13>;
4999
5000 trips {
5001 cpu7_bottom_alert0: trip-point0 {
5002 temperature = <90000>;
5003 hysteresis = <2000>;
5004 type = "passive";
5005 };
5006
5007 cpu7_bottom_alert1: trip-point1 {
5008 temperature = <95000>;
5009 hysteresis = <2000>;
5010 type = "passive";
5011 };
5012
5013 cpu7_bottom_crit: cpu-crit {
5014 temperature = <110000>;
5015 hysteresis = <1000>;
5016 type = "critical";
5017 };
5018 };
5019 };
5020
5021 gpu-top-thermal {
5022 polling-delay-passive = <10>;
Tom Rini6b642ac2024-10-01 12:20:28 -06005023
Tom Rini53633a82024-02-29 12:33:36 -05005024 thermal-sensors = <&tsens0 14>;
5025
Tom Rini6bb92fc2024-05-20 09:54:58 -06005026 cooling-maps {
5027 map0 {
5028 trip = <&gpu_top_alert0>;
5029 cooling-device = <&gpu THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
5030 };
5031 };
5032
Tom Rini53633a82024-02-29 12:33:36 -05005033 trips {
Tom Rini6b642ac2024-10-01 12:20:28 -06005034 gpu_top_alert0: trip-point0 {
5035 temperature = <85000>;
Tom Rini53633a82024-02-29 12:33:36 -05005036 hysteresis = <1000>;
5037 type = "passive";
5038 };
5039
Tom Rini6b642ac2024-10-01 12:20:28 -06005040 trip-point1 {
5041 temperature = <90000>;
Tom Rini53633a82024-02-29 12:33:36 -05005042 hysteresis = <1000>;
Tom Rini6b642ac2024-10-01 12:20:28 -06005043 type = "hot";
Tom Rini53633a82024-02-29 12:33:36 -05005044 };
5045
Tom Rini6b642ac2024-10-01 12:20:28 -06005046 trip-point2 {
5047 temperature = <110000>;
5048 hysteresis = <1000>;
5049 type = "critical";
Tom Rini53633a82024-02-29 12:33:36 -05005050 };
5051 };
5052 };
5053
5054 gpu-bottom-thermal {
5055 polling-delay-passive = <10>;
Tom Rini6b642ac2024-10-01 12:20:28 -06005056
Tom Rini53633a82024-02-29 12:33:36 -05005057 thermal-sensors = <&tsens0 15>;
5058
Tom Rini6bb92fc2024-05-20 09:54:58 -06005059 cooling-maps {
5060 map0 {
5061 trip = <&gpu_bottom_alert0>;
5062 cooling-device = <&gpu THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
5063 };
5064 };
5065
Tom Rini53633a82024-02-29 12:33:36 -05005066 trips {
Tom Rini6b642ac2024-10-01 12:20:28 -06005067 gpu_bottom_alert0: trip-point0 {
5068 temperature = <85000>;
Tom Rini53633a82024-02-29 12:33:36 -05005069 hysteresis = <1000>;
5070 type = "passive";
5071 };
5072
Tom Rini6b642ac2024-10-01 12:20:28 -06005073 trip-point1 {
5074 temperature = <90000>;
Tom Rini53633a82024-02-29 12:33:36 -05005075 hysteresis = <1000>;
Tom Rini6b642ac2024-10-01 12:20:28 -06005076 type = "hot";
Tom Rini53633a82024-02-29 12:33:36 -05005077 };
5078
Tom Rini6b642ac2024-10-01 12:20:28 -06005079 trip-point2 {
5080 temperature = <110000>;
5081 hysteresis = <1000>;
5082 type = "critical";
Tom Rini53633a82024-02-29 12:33:36 -05005083 };
5084 };
5085 };
5086
5087 aoss1-thermal {
Tom Rini53633a82024-02-29 12:33:36 -05005088 thermal-sensors = <&tsens1 0>;
5089
5090 trips {
5091 thermal-engine-config {
5092 temperature = <125000>;
5093 hysteresis = <1000>;
5094 type = "passive";
5095 };
5096
5097 reset-mon-cfg {
5098 temperature = <115000>;
5099 hysteresis = <5000>;
5100 type = "passive";
5101 };
5102 };
5103 };
5104
5105 cpu0-thermal {
Tom Rini53633a82024-02-29 12:33:36 -05005106 thermal-sensors = <&tsens1 1>;
5107
5108 trips {
5109 cpu0_alert0: trip-point0 {
5110 temperature = <90000>;
5111 hysteresis = <2000>;
5112 type = "passive";
5113 };
5114
5115 cpu0_alert1: trip-point1 {
5116 temperature = <95000>;
5117 hysteresis = <2000>;
5118 type = "passive";
5119 };
5120
5121 cpu0_crit: cpu-crit {
5122 temperature = <110000>;
5123 hysteresis = <1000>;
5124 type = "critical";
5125 };
5126 };
5127 };
5128
5129 cpu1-thermal {
Tom Rini53633a82024-02-29 12:33:36 -05005130 thermal-sensors = <&tsens1 2>;
5131
5132 trips {
5133 cpu1_alert0: trip-point0 {
5134 temperature = <90000>;
5135 hysteresis = <2000>;
5136 type = "passive";
5137 };
5138
5139 cpu1_alert1: trip-point1 {
5140 temperature = <95000>;
5141 hysteresis = <2000>;
5142 type = "passive";
5143 };
5144
5145 cpu1_crit: cpu-crit {
5146 temperature = <110000>;
5147 hysteresis = <1000>;
5148 type = "critical";
5149 };
5150 };
5151 };
5152
5153 cpu2-thermal {
Tom Rini53633a82024-02-29 12:33:36 -05005154 thermal-sensors = <&tsens1 3>;
5155
5156 trips {
5157 cpu2_alert0: trip-point0 {
5158 temperature = <90000>;
5159 hysteresis = <2000>;
5160 type = "passive";
5161 };
5162
5163 cpu2_alert1: trip-point1 {
5164 temperature = <95000>;
5165 hysteresis = <2000>;
5166 type = "passive";
5167 };
5168
5169 cpu2_crit: cpu-crit {
5170 temperature = <110000>;
5171 hysteresis = <1000>;
5172 type = "critical";
5173 };
5174 };
5175 };
5176
5177 cpu3-thermal {
Tom Rini53633a82024-02-29 12:33:36 -05005178 thermal-sensors = <&tsens1 4>;
5179
5180 trips {
5181 cpu3_alert0: trip-point0 {
5182 temperature = <90000>;
5183 hysteresis = <2000>;
5184 type = "passive";
5185 };
5186
5187 cpu3_alert1: trip-point1 {
5188 temperature = <95000>;
5189 hysteresis = <2000>;
5190 type = "passive";
5191 };
5192
5193 cpu3_crit: cpu-crit {
5194 temperature = <110000>;
5195 hysteresis = <1000>;
5196 type = "critical";
5197 };
5198 };
5199 };
5200
5201 cdsp0-thermal {
5202 polling-delay-passive = <10>;
Tom Rini6b642ac2024-10-01 12:20:28 -06005203
Tom Rini53633a82024-02-29 12:33:36 -05005204 thermal-sensors = <&tsens1 5>;
5205
5206 trips {
5207 thermal-engine-config {
5208 temperature = <125000>;
5209 hysteresis = <1000>;
5210 type = "passive";
5211 };
5212
5213 thermal-hal-config {
5214 temperature = <125000>;
5215 hysteresis = <1000>;
5216 type = "passive";
5217 };
5218
5219 reset-mon-cfg {
5220 temperature = <115000>;
5221 hysteresis = <5000>;
5222 type = "passive";
5223 };
5224
5225 cdsp_0_config: junction-config {
5226 temperature = <95000>;
5227 hysteresis = <5000>;
5228 type = "passive";
5229 };
5230 };
5231 };
5232
5233 cdsp1-thermal {
5234 polling-delay-passive = <10>;
Tom Rini6b642ac2024-10-01 12:20:28 -06005235
Tom Rini53633a82024-02-29 12:33:36 -05005236 thermal-sensors = <&tsens1 6>;
5237
5238 trips {
5239 thermal-engine-config {
5240 temperature = <125000>;
5241 hysteresis = <1000>;
5242 type = "passive";
5243 };
5244
5245 thermal-hal-config {
5246 temperature = <125000>;
5247 hysteresis = <1000>;
5248 type = "passive";
5249 };
5250
5251 reset-mon-cfg {
5252 temperature = <115000>;
5253 hysteresis = <5000>;
5254 type = "passive";
5255 };
5256
5257 cdsp_1_config: junction-config {
5258 temperature = <95000>;
5259 hysteresis = <5000>;
5260 type = "passive";
5261 };
5262 };
5263 };
5264
5265 cdsp2-thermal {
5266 polling-delay-passive = <10>;
Tom Rini6b642ac2024-10-01 12:20:28 -06005267
Tom Rini53633a82024-02-29 12:33:36 -05005268 thermal-sensors = <&tsens1 7>;
5269
5270 trips {
5271 thermal-engine-config {
5272 temperature = <125000>;
5273 hysteresis = <1000>;
5274 type = "passive";
5275 };
5276
5277 thermal-hal-config {
5278 temperature = <125000>;
5279 hysteresis = <1000>;
5280 type = "passive";
5281 };
5282
5283 reset-mon-cfg {
5284 temperature = <115000>;
5285 hysteresis = <5000>;
5286 type = "passive";
5287 };
5288
5289 cdsp_2_config: junction-config {
5290 temperature = <95000>;
5291 hysteresis = <5000>;
5292 type = "passive";
5293 };
5294 };
5295 };
5296
5297 video-thermal {
Tom Rini53633a82024-02-29 12:33:36 -05005298 thermal-sensors = <&tsens1 8>;
5299
5300 trips {
5301 thermal-engine-config {
5302 temperature = <125000>;
5303 hysteresis = <1000>;
5304 type = "passive";
5305 };
5306
5307 reset-mon-cfg {
5308 temperature = <115000>;
5309 hysteresis = <5000>;
5310 type = "passive";
5311 };
5312 };
5313 };
5314
5315 mem-thermal {
5316 polling-delay-passive = <10>;
Tom Rini6b642ac2024-10-01 12:20:28 -06005317
Tom Rini53633a82024-02-29 12:33:36 -05005318 thermal-sensors = <&tsens1 9>;
5319
5320 trips {
5321 thermal-engine-config {
5322 temperature = <125000>;
5323 hysteresis = <1000>;
5324 type = "passive";
5325 };
5326
5327 ddr_config0: ddr0-config {
5328 temperature = <90000>;
5329 hysteresis = <5000>;
5330 type = "passive";
5331 };
5332
5333 reset-mon-cfg {
5334 temperature = <115000>;
5335 hysteresis = <5000>;
5336 type = "passive";
5337 };
5338 };
5339 };
5340
5341 modem0-thermal {
Tom Rini53633a82024-02-29 12:33:36 -05005342 thermal-sensors = <&tsens1 10>;
5343
5344 trips {
5345 thermal-engine-config {
5346 temperature = <125000>;
5347 hysteresis = <1000>;
5348 type = "passive";
5349 };
5350
5351 mdmss0_config0: mdmss0-config0 {
5352 temperature = <102000>;
5353 hysteresis = <3000>;
5354 type = "passive";
5355 };
5356
5357 mdmss0_config1: mdmss0-config1 {
5358 temperature = <105000>;
5359 hysteresis = <3000>;
5360 type = "passive";
5361 };
5362
5363 reset-mon-cfg {
5364 temperature = <115000>;
5365 hysteresis = <5000>;
5366 type = "passive";
5367 };
5368 };
5369 };
5370
5371 modem1-thermal {
Tom Rini53633a82024-02-29 12:33:36 -05005372 thermal-sensors = <&tsens1 11>;
5373
5374 trips {
5375 thermal-engine-config {
5376 temperature = <125000>;
5377 hysteresis = <1000>;
5378 type = "passive";
5379 };
5380
5381 mdmss1_config0: mdmss1-config0 {
5382 temperature = <102000>;
5383 hysteresis = <3000>;
5384 type = "passive";
5385 };
5386
5387 mdmss1_config1: mdmss1-config1 {
5388 temperature = <105000>;
5389 hysteresis = <3000>;
5390 type = "passive";
5391 };
5392
5393 reset-mon-cfg {
5394 temperature = <115000>;
5395 hysteresis = <5000>;
5396 type = "passive";
5397 };
5398 };
5399 };
5400
5401 modem2-thermal {
Tom Rini53633a82024-02-29 12:33:36 -05005402 thermal-sensors = <&tsens1 12>;
5403
5404 trips {
5405 thermal-engine-config {
5406 temperature = <125000>;
5407 hysteresis = <1000>;
5408 type = "passive";
5409 };
5410
5411 mdmss2_config0: mdmss2-config0 {
5412 temperature = <102000>;
5413 hysteresis = <3000>;
5414 type = "passive";
5415 };
5416
5417 mdmss2_config1: mdmss2-config1 {
5418 temperature = <105000>;
5419 hysteresis = <3000>;
5420 type = "passive";
5421 };
5422
5423 reset-mon-cfg {
5424 temperature = <115000>;
5425 hysteresis = <5000>;
5426 type = "passive";
5427 };
5428 };
5429 };
5430
5431 modem3-thermal {
Tom Rini53633a82024-02-29 12:33:36 -05005432 thermal-sensors = <&tsens1 13>;
5433
5434 trips {
5435 thermal-engine-config {
5436 temperature = <125000>;
5437 hysteresis = <1000>;
5438 type = "passive";
5439 };
5440
5441 mdmss3_config0: mdmss3-config0 {
5442 temperature = <102000>;
5443 hysteresis = <3000>;
5444 type = "passive";
5445 };
5446
5447 mdmss3_config1: mdmss3-config1 {
5448 temperature = <105000>;
5449 hysteresis = <3000>;
5450 type = "passive";
5451 };
5452
5453 reset-mon-cfg {
5454 temperature = <115000>;
5455 hysteresis = <5000>;
5456 type = "passive";
5457 };
5458 };
5459 };
5460
5461 camera0-thermal {
Tom Rini53633a82024-02-29 12:33:36 -05005462 thermal-sensors = <&tsens1 14>;
5463
5464 trips {
5465 thermal-engine-config {
5466 temperature = <125000>;
5467 hysteresis = <1000>;
5468 type = "passive";
5469 };
5470
5471 reset-mon-cfg {
5472 temperature = <115000>;
5473 hysteresis = <5000>;
5474 type = "passive";
5475 };
5476 };
5477 };
5478
5479 camera1-thermal {
Tom Rini53633a82024-02-29 12:33:36 -05005480 thermal-sensors = <&tsens1 15>;
5481
5482 trips {
5483 thermal-engine-config {
5484 temperature = <125000>;
5485 hysteresis = <1000>;
5486 type = "passive";
5487 };
5488
5489 reset-mon-cfg {
5490 temperature = <115000>;
5491 hysteresis = <5000>;
5492 type = "passive";
5493 };
5494 };
5495 };
5496 };
5497
5498 timer {
5499 compatible = "arm,armv8-timer";
5500 interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>,
5501 <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>,
5502 <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>,
5503 <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>;
5504 clock-frequency = <19200000>;
5505 };
5506};