blob: 01e4dfc4babd2904eee95b3eaf4d63516d6c019a [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>,
757 <&pcie1_phy>,
758 <0>,
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>;
1031 status = "disabled";
1032 };
1033
1034 spi20: spi@894000 {
1035 compatible = "qcom,geni-spi";
1036 reg = <0 0x00894000 0 0x4000>;
1037 clock-names = "se";
1038 clocks = <&gcc GCC_QUPV3_WRAP2_S5_CLK>;
1039 interrupts = <GIC_SPI 587 IRQ_TYPE_LEVEL_HIGH>;
1040 pinctrl-names = "default";
1041 pinctrl-0 = <&qup_spi20_data_clk>, <&qup_spi20_cs>;
1042 interconnects = <&clk_virt MASTER_QUP_CORE_2 0 &clk_virt SLAVE_QUP_CORE_2 0>,
1043 <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>;
1044 interconnect-names = "qup-core", "qup-config";
1045 dmas = <&gpi_dma2 0 5 QCOM_GPI_SPI>,
1046 <&gpi_dma2 1 5 QCOM_GPI_SPI>;
1047 dma-names = "tx", "rx";
1048 #address-cells = <1>;
1049 #size-cells = <0>;
1050 status = "disabled";
1051 };
1052
1053 i2c21: i2c@898000 {
1054 compatible = "qcom,geni-i2c";
1055 reg = <0x0 0x00898000 0x0 0x4000>;
1056 clock-names = "se";
1057 clocks = <&gcc GCC_QUPV3_WRAP2_S6_CLK>;
1058 pinctrl-names = "default";
1059 pinctrl-0 = <&qup_i2c21_data_clk>;
1060 interrupts = <GIC_SPI 579 IRQ_TYPE_LEVEL_HIGH>;
1061 #address-cells = <1>;
1062 #size-cells = <0>;
1063 interconnects = <&clk_virt MASTER_QUP_CORE_2 0 &clk_virt SLAVE_QUP_CORE_2 0>,
1064 <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>,
1065 <&aggre2_noc MASTER_QUP_2 0 &mc_virt SLAVE_EBI1 0>;
1066 interconnect-names = "qup-core", "qup-config", "qup-memory";
1067 dmas = <&gpi_dma2 0 6 QCOM_GPI_I2C>,
1068 <&gpi_dma2 1 6 QCOM_GPI_I2C>;
1069 dma-names = "tx", "rx";
1070 status = "disabled";
1071 };
1072
1073 spi21: spi@898000 {
1074 compatible = "qcom,geni-spi";
1075 reg = <0 0x00898000 0 0x4000>;
1076 clock-names = "se";
1077 clocks = <&gcc GCC_QUPV3_WRAP2_S6_CLK>;
1078 interrupts = <GIC_SPI 579 IRQ_TYPE_LEVEL_HIGH>;
1079 pinctrl-names = "default";
1080 pinctrl-0 = <&qup_spi21_data_clk>, <&qup_spi21_cs>;
1081 interconnects = <&clk_virt MASTER_QUP_CORE_2 0 &clk_virt SLAVE_QUP_CORE_2 0>,
1082 <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>;
1083 interconnect-names = "qup-core", "qup-config";
1084 dmas = <&gpi_dma2 0 6 QCOM_GPI_SPI>,
1085 <&gpi_dma2 1 6 QCOM_GPI_SPI>;
1086 dma-names = "tx", "rx";
1087 #address-cells = <1>;
1088 #size-cells = <0>;
1089 status = "disabled";
1090 };
1091 };
1092
1093 gpi_dma0: dma-controller@900000 {
1094 compatible = "qcom,sm8450-gpi-dma", "qcom,sm6350-gpi-dma";
1095 #dma-cells = <3>;
1096 reg = <0 0x00900000 0 0x60000>;
1097 interrupts = <GIC_SPI 244 IRQ_TYPE_LEVEL_HIGH>,
1098 <GIC_SPI 245 IRQ_TYPE_LEVEL_HIGH>,
1099 <GIC_SPI 246 IRQ_TYPE_LEVEL_HIGH>,
1100 <GIC_SPI 247 IRQ_TYPE_LEVEL_HIGH>,
1101 <GIC_SPI 248 IRQ_TYPE_LEVEL_HIGH>,
1102 <GIC_SPI 249 IRQ_TYPE_LEVEL_HIGH>,
1103 <GIC_SPI 250 IRQ_TYPE_LEVEL_HIGH>,
1104 <GIC_SPI 251 IRQ_TYPE_LEVEL_HIGH>,
1105 <GIC_SPI 252 IRQ_TYPE_LEVEL_HIGH>,
1106 <GIC_SPI 253 IRQ_TYPE_LEVEL_HIGH>,
1107 <GIC_SPI 254 IRQ_TYPE_LEVEL_HIGH>,
1108 <GIC_SPI 255 IRQ_TYPE_LEVEL_HIGH>;
1109 dma-channels = <12>;
1110 dma-channel-mask = <0x7e>;
1111 iommus = <&apps_smmu 0x5b6 0x0>;
1112 status = "disabled";
1113 };
1114
1115 qupv3_id_0: geniqup@9c0000 {
1116 compatible = "qcom,geni-se-qup";
1117 reg = <0x0 0x009c0000 0x0 0x2000>;
1118 clock-names = "m-ahb", "s-ahb";
1119 clocks = <&gcc GCC_QUPV3_WRAP_0_M_AHB_CLK>,
1120 <&gcc GCC_QUPV3_WRAP_0_S_AHB_CLK>;
1121 iommus = <&apps_smmu 0x5a3 0x0>;
1122 interconnects = <&clk_virt MASTER_QUP_CORE_0 0 &clk_virt SLAVE_QUP_CORE_0 0>;
1123 interconnect-names = "qup-core";
1124 #address-cells = <2>;
1125 #size-cells = <2>;
1126 ranges;
1127 status = "disabled";
1128
1129 i2c0: i2c@980000 {
1130 compatible = "qcom,geni-i2c";
1131 reg = <0x0 0x00980000 0x0 0x4000>;
1132 clock-names = "se";
1133 clocks = <&gcc GCC_QUPV3_WRAP0_S0_CLK>;
1134 pinctrl-names = "default";
1135 pinctrl-0 = <&qup_i2c0_data_clk>;
1136 interrupts = <GIC_SPI 601 IRQ_TYPE_LEVEL_HIGH>;
1137 #address-cells = <1>;
1138 #size-cells = <0>;
1139 interconnects = <&clk_virt MASTER_QUP_CORE_0 0 &clk_virt SLAVE_QUP_CORE_0 0>,
1140 <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>,
1141 <&aggre2_noc MASTER_QUP_0 0 &mc_virt SLAVE_EBI1 0>;
1142 interconnect-names = "qup-core", "qup-config", "qup-memory";
1143 dmas = <&gpi_dma0 0 0 QCOM_GPI_I2C>,
1144 <&gpi_dma0 1 0 QCOM_GPI_I2C>;
1145 dma-names = "tx", "rx";
1146 status = "disabled";
1147 };
1148
1149 spi0: spi@980000 {
1150 compatible = "qcom,geni-spi";
1151 reg = <0x0 0x00980000 0x0 0x4000>;
1152 clock-names = "se";
1153 clocks = <&gcc GCC_QUPV3_WRAP0_S0_CLK>;
1154 interrupts = <GIC_SPI 601 IRQ_TYPE_LEVEL_HIGH>;
1155 pinctrl-names = "default";
1156 pinctrl-0 = <&qup_spi0_data_clk>, <&qup_spi0_cs>;
1157 power-domains = <&rpmhpd RPMHPD_CX>;
1158 operating-points-v2 = <&qup_opp_table_100mhz>;
1159 interconnects = <&clk_virt MASTER_QUP_CORE_0 0 &clk_virt SLAVE_QUP_CORE_0 0>,
1160 <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>,
1161 <&aggre2_noc MASTER_QUP_0 0 &mc_virt SLAVE_EBI1 0>;
1162 interconnect-names = "qup-core", "qup-config", "qup-memory";
1163 dmas = <&gpi_dma0 0 0 QCOM_GPI_SPI>,
1164 <&gpi_dma0 1 0 QCOM_GPI_SPI>;
1165 dma-names = "tx", "rx";
1166 #address-cells = <1>;
1167 #size-cells = <0>;
1168 status = "disabled";
1169 };
1170
1171 i2c1: i2c@984000 {
1172 compatible = "qcom,geni-i2c";
1173 reg = <0x0 0x00984000 0x0 0x4000>;
1174 clock-names = "se";
1175 clocks = <&gcc GCC_QUPV3_WRAP0_S1_CLK>;
1176 pinctrl-names = "default";
1177 pinctrl-0 = <&qup_i2c1_data_clk>;
1178 interrupts = <GIC_SPI 602 IRQ_TYPE_LEVEL_HIGH>;
1179 #address-cells = <1>;
1180 #size-cells = <0>;
1181 interconnects = <&clk_virt MASTER_QUP_CORE_0 0 &clk_virt SLAVE_QUP_CORE_0 0>,
1182 <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>,
1183 <&aggre2_noc MASTER_QUP_0 0 &mc_virt SLAVE_EBI1 0>;
1184 interconnect-names = "qup-core", "qup-config", "qup-memory";
1185 dmas = <&gpi_dma0 0 1 QCOM_GPI_I2C>,
1186 <&gpi_dma0 1 1 QCOM_GPI_I2C>;
1187 dma-names = "tx", "rx";
1188 status = "disabled";
1189 };
1190
1191 spi1: spi@984000 {
1192 compatible = "qcom,geni-spi";
1193 reg = <0x0 0x00984000 0x0 0x4000>;
1194 clock-names = "se";
1195 clocks = <&gcc GCC_QUPV3_WRAP0_S1_CLK>;
1196 interrupts = <GIC_SPI 602 IRQ_TYPE_LEVEL_HIGH>;
1197 pinctrl-names = "default";
1198 pinctrl-0 = <&qup_spi1_data_clk>, <&qup_spi1_cs>;
1199 interconnects = <&clk_virt MASTER_QUP_CORE_0 0 &clk_virt SLAVE_QUP_CORE_0 0>,
1200 <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>,
1201 <&aggre2_noc MASTER_QUP_0 0 &mc_virt SLAVE_EBI1 0>;
1202 interconnect-names = "qup-core", "qup-config", "qup-memory";
1203 dmas = <&gpi_dma0 0 1 QCOM_GPI_SPI>,
1204 <&gpi_dma0 1 1 QCOM_GPI_SPI>;
1205 dma-names = "tx", "rx";
1206 #address-cells = <1>;
1207 #size-cells = <0>;
1208 status = "disabled";
1209 };
1210
1211 i2c2: i2c@988000 {
1212 compatible = "qcom,geni-i2c";
1213 reg = <0x0 0x00988000 0x0 0x4000>;
1214 clock-names = "se";
1215 clocks = <&gcc GCC_QUPV3_WRAP0_S2_CLK>;
1216 pinctrl-names = "default";
1217 pinctrl-0 = <&qup_i2c2_data_clk>;
1218 interrupts = <GIC_SPI 603 IRQ_TYPE_LEVEL_HIGH>;
1219 #address-cells = <1>;
1220 #size-cells = <0>;
1221 interconnects = <&clk_virt MASTER_QUP_CORE_0 0 &clk_virt SLAVE_QUP_CORE_0 0>,
1222 <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>,
1223 <&aggre2_noc MASTER_QUP_0 0 &mc_virt SLAVE_EBI1 0>;
1224 interconnect-names = "qup-core", "qup-config", "qup-memory";
1225 dmas = <&gpi_dma0 0 2 QCOM_GPI_I2C>,
1226 <&gpi_dma0 1 2 QCOM_GPI_I2C>;
1227 dma-names = "tx", "rx";
1228 status = "disabled";
1229 };
1230
1231 spi2: spi@988000 {
1232 compatible = "qcom,geni-spi";
1233 reg = <0x0 0x00988000 0x0 0x4000>;
1234 clock-names = "se";
1235 clocks = <&gcc GCC_QUPV3_WRAP0_S2_CLK>;
1236 interrupts = <GIC_SPI 603 IRQ_TYPE_LEVEL_HIGH>;
1237 pinctrl-names = "default";
1238 pinctrl-0 = <&qup_spi2_data_clk>, <&qup_spi2_cs>;
1239 interconnects = <&clk_virt MASTER_QUP_CORE_0 0 &clk_virt SLAVE_QUP_CORE_0 0>,
1240 <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>,
1241 <&aggre2_noc MASTER_QUP_0 0 &mc_virt SLAVE_EBI1 0>;
1242 interconnect-names = "qup-core", "qup-config", "qup-memory";
1243 dmas = <&gpi_dma0 0 2 QCOM_GPI_SPI>,
1244 <&gpi_dma0 1 2 QCOM_GPI_SPI>;
1245 dma-names = "tx", "rx";
1246 #address-cells = <1>;
1247 #size-cells = <0>;
1248 status = "disabled";
1249 };
1250
1251
1252 i2c3: i2c@98c000 {
1253 compatible = "qcom,geni-i2c";
1254 reg = <0x0 0x0098c000 0x0 0x4000>;
1255 clock-names = "se";
1256 clocks = <&gcc GCC_QUPV3_WRAP0_S3_CLK>;
1257 pinctrl-names = "default";
1258 pinctrl-0 = <&qup_i2c3_data_clk>;
1259 interrupts = <GIC_SPI 604 IRQ_TYPE_LEVEL_HIGH>;
1260 #address-cells = <1>;
1261 #size-cells = <0>;
1262 interconnects = <&clk_virt MASTER_QUP_CORE_0 0 &clk_virt SLAVE_QUP_CORE_0 0>,
1263 <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>,
1264 <&aggre2_noc MASTER_QUP_0 0 &mc_virt SLAVE_EBI1 0>;
1265 interconnect-names = "qup-core", "qup-config", "qup-memory";
1266 dmas = <&gpi_dma0 0 3 QCOM_GPI_I2C>,
1267 <&gpi_dma0 1 3 QCOM_GPI_I2C>;
1268 dma-names = "tx", "rx";
1269 status = "disabled";
1270 };
1271
1272 spi3: spi@98c000 {
1273 compatible = "qcom,geni-spi";
1274 reg = <0x0 0x0098c000 0x0 0x4000>;
1275 clock-names = "se";
1276 clocks = <&gcc GCC_QUPV3_WRAP0_S3_CLK>;
1277 interrupts = <GIC_SPI 604 IRQ_TYPE_LEVEL_HIGH>;
1278 pinctrl-names = "default";
1279 pinctrl-0 = <&qup_spi3_data_clk>, <&qup_spi3_cs>;
1280 interconnects = <&clk_virt MASTER_QUP_CORE_0 0 &clk_virt SLAVE_QUP_CORE_0 0>,
1281 <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>,
1282 <&aggre2_noc MASTER_QUP_0 0 &mc_virt SLAVE_EBI1 0>;
1283 interconnect-names = "qup-core", "qup-config", "qup-memory";
1284 dmas = <&gpi_dma0 0 3 QCOM_GPI_SPI>,
1285 <&gpi_dma0 1 3 QCOM_GPI_SPI>;
1286 dma-names = "tx", "rx";
1287 #address-cells = <1>;
1288 #size-cells = <0>;
1289 status = "disabled";
1290 };
1291
1292 i2c4: i2c@990000 {
1293 compatible = "qcom,geni-i2c";
1294 reg = <0x0 0x00990000 0x0 0x4000>;
1295 clock-names = "se";
1296 clocks = <&gcc GCC_QUPV3_WRAP0_S4_CLK>;
1297 pinctrl-names = "default";
1298 pinctrl-0 = <&qup_i2c4_data_clk>;
1299 interrupts = <GIC_SPI 605 IRQ_TYPE_LEVEL_HIGH>;
1300 #address-cells = <1>;
1301 #size-cells = <0>;
1302 interconnects = <&clk_virt MASTER_QUP_CORE_0 0 &clk_virt SLAVE_QUP_CORE_0 0>,
1303 <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>,
1304 <&aggre2_noc MASTER_QUP_0 0 &mc_virt SLAVE_EBI1 0>;
1305 interconnect-names = "qup-core", "qup-config", "qup-memory";
1306 dmas = <&gpi_dma0 0 4 QCOM_GPI_I2C>,
1307 <&gpi_dma0 1 4 QCOM_GPI_I2C>;
1308 dma-names = "tx", "rx";
1309 status = "disabled";
1310 };
1311
1312 spi4: spi@990000 {
1313 compatible = "qcom,geni-spi";
1314 reg = <0x0 0x00990000 0x0 0x4000>;
1315 clock-names = "se";
1316 clocks = <&gcc GCC_QUPV3_WRAP0_S4_CLK>;
1317 interrupts = <GIC_SPI 605 IRQ_TYPE_LEVEL_HIGH>;
1318 pinctrl-names = "default";
1319 pinctrl-0 = <&qup_spi4_data_clk>, <&qup_spi4_cs>;
1320 power-domains = <&rpmhpd RPMHPD_CX>;
1321 operating-points-v2 = <&qup_opp_table_100mhz>;
1322 interconnects = <&clk_virt MASTER_QUP_CORE_0 0 &clk_virt SLAVE_QUP_CORE_0 0>,
1323 <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>,
1324 <&aggre2_noc MASTER_QUP_0 0 &mc_virt SLAVE_EBI1 0>;
1325 interconnect-names = "qup-core", "qup-config", "qup-memory";
1326 dmas = <&gpi_dma0 0 4 QCOM_GPI_SPI>,
1327 <&gpi_dma0 1 4 QCOM_GPI_SPI>;
1328 dma-names = "tx", "rx";
1329 #address-cells = <1>;
1330 #size-cells = <0>;
1331 status = "disabled";
1332 };
1333
1334 i2c5: i2c@994000 {
1335 compatible = "qcom,geni-i2c";
1336 reg = <0x0 0x00994000 0x0 0x4000>;
1337 clock-names = "se";
1338 clocks = <&gcc GCC_QUPV3_WRAP0_S5_CLK>;
1339 pinctrl-names = "default";
1340 pinctrl-0 = <&qup_i2c5_data_clk>;
1341 interrupts = <GIC_SPI 606 IRQ_TYPE_LEVEL_HIGH>;
1342 #address-cells = <1>;
1343 #size-cells = <0>;
1344 interconnects = <&clk_virt MASTER_QUP_CORE_0 0 &clk_virt SLAVE_QUP_CORE_0 0>,
1345 <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>,
1346 <&aggre2_noc MASTER_QUP_0 0 &mc_virt SLAVE_EBI1 0>;
1347 interconnect-names = "qup-core", "qup-config", "qup-memory";
1348 dmas = <&gpi_dma0 0 5 QCOM_GPI_I2C>,
1349 <&gpi_dma0 1 5 QCOM_GPI_I2C>;
1350 dma-names = "tx", "rx";
1351 status = "disabled";
1352 };
1353
1354 spi5: spi@994000 {
1355 compatible = "qcom,geni-spi";
1356 reg = <0x0 0x00994000 0x0 0x4000>;
1357 clock-names = "se";
1358 clocks = <&gcc GCC_QUPV3_WRAP0_S5_CLK>;
1359 interrupts = <GIC_SPI 606 IRQ_TYPE_LEVEL_HIGH>;
1360 pinctrl-names = "default";
1361 pinctrl-0 = <&qup_spi5_data_clk>, <&qup_spi5_cs>;
1362 interconnects = <&clk_virt MASTER_QUP_CORE_0 0 &clk_virt SLAVE_QUP_CORE_0 0>,
1363 <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>,
1364 <&aggre2_noc MASTER_QUP_0 0 &mc_virt SLAVE_EBI1 0>;
1365 interconnect-names = "qup-core", "qup-config", "qup-memory";
1366 dmas = <&gpi_dma0 0 5 QCOM_GPI_SPI>,
1367 <&gpi_dma0 1 5 QCOM_GPI_SPI>;
1368 dma-names = "tx", "rx";
1369 #address-cells = <1>;
1370 #size-cells = <0>;
1371 status = "disabled";
1372 };
1373
1374
1375 i2c6: i2c@998000 {
1376 compatible = "qcom,geni-i2c";
1377 reg = <0x0 0x00998000 0x0 0x4000>;
1378 clock-names = "se";
1379 clocks = <&gcc GCC_QUPV3_WRAP0_S6_CLK>;
1380 pinctrl-names = "default";
1381 pinctrl-0 = <&qup_i2c6_data_clk>;
1382 interrupts = <GIC_SPI 607 IRQ_TYPE_LEVEL_HIGH>;
1383 #address-cells = <1>;
1384 #size-cells = <0>;
1385 interconnects = <&clk_virt MASTER_QUP_CORE_0 0 &clk_virt SLAVE_QUP_CORE_0 0>,
1386 <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>,
1387 <&aggre2_noc MASTER_QUP_0 0 &mc_virt SLAVE_EBI1 0>;
1388 interconnect-names = "qup-core", "qup-config", "qup-memory";
1389 dmas = <&gpi_dma0 0 6 QCOM_GPI_I2C>,
1390 <&gpi_dma0 1 6 QCOM_GPI_I2C>;
1391 dma-names = "tx", "rx";
1392 status = "disabled";
1393 };
1394
1395 spi6: spi@998000 {
1396 compatible = "qcom,geni-spi";
1397 reg = <0x0 0x00998000 0x0 0x4000>;
1398 clock-names = "se";
1399 clocks = <&gcc GCC_QUPV3_WRAP0_S6_CLK>;
1400 interrupts = <GIC_SPI 607 IRQ_TYPE_LEVEL_HIGH>;
1401 pinctrl-names = "default";
1402 pinctrl-0 = <&qup_spi6_data_clk>, <&qup_spi6_cs>;
1403 interconnects = <&clk_virt MASTER_QUP_CORE_0 0 &clk_virt SLAVE_QUP_CORE_0 0>,
1404 <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>,
1405 <&aggre2_noc MASTER_QUP_0 0 &mc_virt SLAVE_EBI1 0>;
1406 interconnect-names = "qup-core", "qup-config", "qup-memory";
1407 dmas = <&gpi_dma0 0 6 QCOM_GPI_SPI>,
1408 <&gpi_dma0 1 6 QCOM_GPI_SPI>;
1409 dma-names = "tx", "rx";
1410 #address-cells = <1>;
1411 #size-cells = <0>;
1412 status = "disabled";
1413 };
1414
1415 uart7: serial@99c000 {
1416 compatible = "qcom,geni-debug-uart";
1417 reg = <0 0x0099c000 0 0x4000>;
1418 clock-names = "se";
1419 clocks = <&gcc GCC_QUPV3_WRAP0_S7_CLK>;
1420 pinctrl-names = "default";
1421 pinctrl-0 = <&qup_uart7_tx>, <&qup_uart7_rx>;
1422 interrupts = <GIC_SPI 608 IRQ_TYPE_LEVEL_HIGH>;
1423 status = "disabled";
1424 };
1425 };
1426
1427 gpi_dma1: dma-controller@a00000 {
1428 compatible = "qcom,sm8450-gpi-dma", "qcom,sm6350-gpi-dma";
1429 #dma-cells = <3>;
1430 reg = <0 0x00a00000 0 0x60000>;
1431 interrupts = <GIC_SPI 279 IRQ_TYPE_LEVEL_HIGH>,
1432 <GIC_SPI 280 IRQ_TYPE_LEVEL_HIGH>,
1433 <GIC_SPI 281 IRQ_TYPE_LEVEL_HIGH>,
1434 <GIC_SPI 282 IRQ_TYPE_LEVEL_HIGH>,
1435 <GIC_SPI 283 IRQ_TYPE_LEVEL_HIGH>,
1436 <GIC_SPI 284 IRQ_TYPE_LEVEL_HIGH>,
1437 <GIC_SPI 293 IRQ_TYPE_LEVEL_HIGH>,
1438 <GIC_SPI 294 IRQ_TYPE_LEVEL_HIGH>,
1439 <GIC_SPI 295 IRQ_TYPE_LEVEL_HIGH>,
1440 <GIC_SPI 296 IRQ_TYPE_LEVEL_HIGH>,
1441 <GIC_SPI 297 IRQ_TYPE_LEVEL_HIGH>,
1442 <GIC_SPI 298 IRQ_TYPE_LEVEL_HIGH>;
1443 dma-channels = <12>;
1444 dma-channel-mask = <0x7e>;
1445 iommus = <&apps_smmu 0x56 0x0>;
1446 status = "disabled";
1447 };
1448
1449 qupv3_id_1: geniqup@ac0000 {
1450 compatible = "qcom,geni-se-qup";
1451 reg = <0x0 0x00ac0000 0x0 0x6000>;
1452 clock-names = "m-ahb", "s-ahb";
1453 clocks = <&gcc GCC_QUPV3_WRAP_1_M_AHB_CLK>,
1454 <&gcc GCC_QUPV3_WRAP_1_S_AHB_CLK>;
1455 iommus = <&apps_smmu 0x43 0x0>;
1456 interconnects = <&clk_virt MASTER_QUP_CORE_1 0 &clk_virt SLAVE_QUP_CORE_1 0>;
1457 interconnect-names = "qup-core";
1458 #address-cells = <2>;
1459 #size-cells = <2>;
1460 ranges;
1461 status = "disabled";
1462
1463 i2c8: i2c@a80000 {
1464 compatible = "qcom,geni-i2c";
1465 reg = <0x0 0x00a80000 0x0 0x4000>;
1466 clock-names = "se";
1467 clocks = <&gcc GCC_QUPV3_WRAP1_S0_CLK>;
1468 pinctrl-names = "default";
1469 pinctrl-0 = <&qup_i2c8_data_clk>;
1470 interrupts = <GIC_SPI 353 IRQ_TYPE_LEVEL_HIGH>;
1471 #address-cells = <1>;
1472 #size-cells = <0>;
1473 interconnects = <&clk_virt MASTER_QUP_CORE_1 0 &clk_virt SLAVE_QUP_CORE_1 0>,
1474 <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>,
1475 <&aggre2_noc MASTER_QUP_1 0 &mc_virt SLAVE_EBI1 0>;
1476 interconnect-names = "qup-core", "qup-config", "qup-memory";
1477 dmas = <&gpi_dma1 0 0 QCOM_GPI_I2C>,
1478 <&gpi_dma1 1 0 QCOM_GPI_I2C>;
1479 dma-names = "tx", "rx";
1480 status = "disabled";
1481 };
1482
1483 spi8: spi@a80000 {
1484 compatible = "qcom,geni-spi";
1485 reg = <0x0 0x00a80000 0x0 0x4000>;
1486 clock-names = "se";
1487 clocks = <&gcc GCC_QUPV3_WRAP1_S0_CLK>;
1488 interrupts = <GIC_SPI 353 IRQ_TYPE_LEVEL_HIGH>;
1489 pinctrl-names = "default";
1490 pinctrl-0 = <&qup_spi8_data_clk>, <&qup_spi8_cs>;
1491 interconnects = <&clk_virt MASTER_QUP_CORE_1 0 &clk_virt SLAVE_QUP_CORE_1 0>,
1492 <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>,
1493 <&aggre2_noc MASTER_QUP_1 0 &mc_virt SLAVE_EBI1 0>;
1494 interconnect-names = "qup-core", "qup-config", "qup-memory";
1495 dmas = <&gpi_dma1 0 0 QCOM_GPI_SPI>,
1496 <&gpi_dma1 1 0 QCOM_GPI_SPI>;
1497 dma-names = "tx", "rx";
1498 #address-cells = <1>;
1499 #size-cells = <0>;
1500 status = "disabled";
1501 };
1502
1503 i2c9: i2c@a84000 {
1504 compatible = "qcom,geni-i2c";
1505 reg = <0x0 0x00a84000 0x0 0x4000>;
1506 clock-names = "se";
1507 clocks = <&gcc GCC_QUPV3_WRAP1_S1_CLK>;
1508 pinctrl-names = "default";
1509 pinctrl-0 = <&qup_i2c9_data_clk>;
1510 interrupts = <GIC_SPI 354 IRQ_TYPE_LEVEL_HIGH>;
1511 #address-cells = <1>;
1512 #size-cells = <0>;
1513 interconnects = <&clk_virt MASTER_QUP_CORE_1 0 &clk_virt SLAVE_QUP_CORE_1 0>,
1514 <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>,
1515 <&aggre2_noc MASTER_QUP_1 0 &mc_virt SLAVE_EBI1 0>;
1516 interconnect-names = "qup-core", "qup-config", "qup-memory";
1517 dmas = <&gpi_dma1 0 1 QCOM_GPI_I2C>,
1518 <&gpi_dma1 1 1 QCOM_GPI_I2C>;
1519 dma-names = "tx", "rx";
1520 status = "disabled";
1521 };
1522
1523 spi9: spi@a84000 {
1524 compatible = "qcom,geni-spi";
1525 reg = <0x0 0x00a84000 0x0 0x4000>;
1526 clock-names = "se";
1527 clocks = <&gcc GCC_QUPV3_WRAP1_S1_CLK>;
1528 interrupts = <GIC_SPI 354 IRQ_TYPE_LEVEL_HIGH>;
1529 pinctrl-names = "default";
1530 pinctrl-0 = <&qup_spi9_data_clk>, <&qup_spi9_cs>;
1531 interconnects = <&clk_virt MASTER_QUP_CORE_1 0 &clk_virt SLAVE_QUP_CORE_1 0>,
1532 <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>,
1533 <&aggre2_noc MASTER_QUP_1 0 &mc_virt SLAVE_EBI1 0>;
1534 interconnect-names = "qup-core", "qup-config", "qup-memory";
1535 dmas = <&gpi_dma1 0 1 QCOM_GPI_SPI>,
1536 <&gpi_dma1 1 1 QCOM_GPI_SPI>;
1537 dma-names = "tx", "rx";
1538 #address-cells = <1>;
1539 #size-cells = <0>;
1540 status = "disabled";
1541 };
1542
1543 i2c10: i2c@a88000 {
1544 compatible = "qcom,geni-i2c";
1545 reg = <0x0 0x00a88000 0x0 0x4000>;
1546 clock-names = "se";
1547 clocks = <&gcc GCC_QUPV3_WRAP1_S2_CLK>;
1548 pinctrl-names = "default";
1549 pinctrl-0 = <&qup_i2c10_data_clk>;
1550 interrupts = <GIC_SPI 355 IRQ_TYPE_LEVEL_HIGH>;
1551 #address-cells = <1>;
1552 #size-cells = <0>;
1553 interconnects = <&clk_virt MASTER_QUP_CORE_1 0 &clk_virt SLAVE_QUP_CORE_1 0>,
1554 <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>,
1555 <&aggre2_noc MASTER_QUP_1 0 &mc_virt SLAVE_EBI1 0>;
1556 interconnect-names = "qup-core", "qup-config", "qup-memory";
1557 dmas = <&gpi_dma1 0 2 QCOM_GPI_I2C>,
1558 <&gpi_dma1 1 2 QCOM_GPI_I2C>;
1559 dma-names = "tx", "rx";
1560 status = "disabled";
1561 };
1562
1563 spi10: spi@a88000 {
1564 compatible = "qcom,geni-spi";
1565 reg = <0x0 0x00a88000 0x0 0x4000>;
1566 clock-names = "se";
1567 clocks = <&gcc GCC_QUPV3_WRAP1_S2_CLK>;
1568 interrupts = <GIC_SPI 355 IRQ_TYPE_LEVEL_HIGH>;
1569 pinctrl-names = "default";
1570 pinctrl-0 = <&qup_spi10_data_clk>, <&qup_spi10_cs>;
1571 interconnects = <&clk_virt MASTER_QUP_CORE_1 0 &clk_virt SLAVE_QUP_CORE_1 0>,
1572 <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>,
1573 <&aggre2_noc MASTER_QUP_1 0 &mc_virt SLAVE_EBI1 0>;
1574 interconnect-names = "qup-core", "qup-config", "qup-memory";
1575 dmas = <&gpi_dma1 0 2 QCOM_GPI_SPI>,
1576 <&gpi_dma1 1 2 QCOM_GPI_SPI>;
1577 dma-names = "tx", "rx";
1578 #address-cells = <1>;
1579 #size-cells = <0>;
1580 status = "disabled";
1581 };
1582
1583 i2c11: i2c@a8c000 {
1584 compatible = "qcom,geni-i2c";
1585 reg = <0x0 0x00a8c000 0x0 0x4000>;
1586 clock-names = "se";
1587 clocks = <&gcc GCC_QUPV3_WRAP1_S3_CLK>;
1588 pinctrl-names = "default";
1589 pinctrl-0 = <&qup_i2c11_data_clk>;
1590 interrupts = <GIC_SPI 356 IRQ_TYPE_LEVEL_HIGH>;
1591 #address-cells = <1>;
1592 #size-cells = <0>;
1593 interconnects = <&clk_virt MASTER_QUP_CORE_1 0 &clk_virt SLAVE_QUP_CORE_1 0>,
1594 <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>,
1595 <&aggre2_noc MASTER_QUP_1 0 &mc_virt SLAVE_EBI1 0>;
1596 interconnect-names = "qup-core", "qup-config", "qup-memory";
1597 dmas = <&gpi_dma1 0 3 QCOM_GPI_I2C>,
1598 <&gpi_dma1 1 3 QCOM_GPI_I2C>;
1599 dma-names = "tx", "rx";
1600 status = "disabled";
1601 };
1602
1603 spi11: spi@a8c000 {
1604 compatible = "qcom,geni-spi";
1605 reg = <0x0 0x00a8c000 0x0 0x4000>;
1606 clock-names = "se";
1607 clocks = <&gcc GCC_QUPV3_WRAP1_S3_CLK>;
1608 interrupts = <GIC_SPI 356 IRQ_TYPE_LEVEL_HIGH>;
1609 pinctrl-names = "default";
1610 pinctrl-0 = <&qup_spi11_data_clk>, <&qup_spi11_cs>;
1611 interconnects = <&clk_virt MASTER_QUP_CORE_1 0 &clk_virt SLAVE_QUP_CORE_1 0>,
1612 <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>,
1613 <&aggre2_noc MASTER_QUP_1 0 &mc_virt SLAVE_EBI1 0>;
1614 interconnect-names = "qup-core", "qup-config", "qup-memory";
1615 dmas = <&gpi_dma1 0 3 QCOM_GPI_SPI>,
1616 <&gpi_dma1 1 3 QCOM_GPI_SPI>;
1617 dma-names = "tx", "rx";
1618 #address-cells = <1>;
1619 #size-cells = <0>;
1620 status = "disabled";
1621 };
1622
1623 i2c12: i2c@a90000 {
1624 compatible = "qcom,geni-i2c";
1625 reg = <0x0 0x00a90000 0x0 0x4000>;
1626 clock-names = "se";
1627 clocks = <&gcc GCC_QUPV3_WRAP1_S4_CLK>;
1628 pinctrl-names = "default";
1629 pinctrl-0 = <&qup_i2c12_data_clk>;
1630 interrupts = <GIC_SPI 357 IRQ_TYPE_LEVEL_HIGH>;
1631 #address-cells = <1>;
1632 #size-cells = <0>;
1633 interconnects = <&clk_virt MASTER_QUP_CORE_1 0 &clk_virt SLAVE_QUP_CORE_1 0>,
1634 <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>,
1635 <&aggre2_noc MASTER_QUP_1 0 &mc_virt SLAVE_EBI1 0>;
1636 interconnect-names = "qup-core", "qup-config", "qup-memory";
1637 dmas = <&gpi_dma1 0 4 QCOM_GPI_I2C>,
1638 <&gpi_dma1 1 4 QCOM_GPI_I2C>;
1639 dma-names = "tx", "rx";
1640 status = "disabled";
1641 };
1642
1643 spi12: spi@a90000 {
1644 compatible = "qcom,geni-spi";
1645 reg = <0x0 0x00a90000 0x0 0x4000>;
1646 clock-names = "se";
1647 clocks = <&gcc GCC_QUPV3_WRAP1_S4_CLK>;
1648 interrupts = <GIC_SPI 357 IRQ_TYPE_LEVEL_HIGH>;
1649 pinctrl-names = "default";
1650 pinctrl-0 = <&qup_spi12_data_clk>, <&qup_spi12_cs>;
1651 interconnects = <&clk_virt MASTER_QUP_CORE_1 0 &clk_virt SLAVE_QUP_CORE_1 0>,
1652 <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>,
1653 <&aggre2_noc MASTER_QUP_1 0 &mc_virt SLAVE_EBI1 0>;
1654 interconnect-names = "qup-core", "qup-config", "qup-memory";
1655 dmas = <&gpi_dma1 0 4 QCOM_GPI_SPI>,
1656 <&gpi_dma1 1 4 QCOM_GPI_SPI>;
1657 dma-names = "tx", "rx";
1658 #address-cells = <1>;
1659 #size-cells = <0>;
1660 status = "disabled";
1661 };
1662
1663 i2c13: i2c@a94000 {
1664 compatible = "qcom,geni-i2c";
1665 reg = <0 0x00a94000 0 0x4000>;
1666 clock-names = "se";
1667 clocks = <&gcc GCC_QUPV3_WRAP1_S5_CLK>;
1668 pinctrl-names = "default";
1669 pinctrl-0 = <&qup_i2c13_data_clk>;
1670 interrupts = <GIC_SPI 358 IRQ_TYPE_LEVEL_HIGH>;
1671 interconnects = <&clk_virt MASTER_QUP_CORE_1 0 &clk_virt SLAVE_QUP_CORE_1 0>,
1672 <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>,
1673 <&aggre2_noc MASTER_QUP_1 0 &mc_virt SLAVE_EBI1 0>;
1674 interconnect-names = "qup-core", "qup-config", "qup-memory";
1675 dmas = <&gpi_dma1 0 5 QCOM_GPI_I2C>,
1676 <&gpi_dma1 1 5 QCOM_GPI_I2C>;
1677 dma-names = "tx", "rx";
1678 #address-cells = <1>;
1679 #size-cells = <0>;
1680 status = "disabled";
1681 };
1682
1683 spi13: spi@a94000 {
1684 compatible = "qcom,geni-spi";
1685 reg = <0x0 0x00a94000 0x0 0x4000>;
1686 clock-names = "se";
1687 clocks = <&gcc GCC_QUPV3_WRAP1_S5_CLK>;
1688 interrupts = <GIC_SPI 358 IRQ_TYPE_LEVEL_HIGH>;
1689 pinctrl-names = "default";
1690 pinctrl-0 = <&qup_spi13_data_clk>, <&qup_spi13_cs>;
1691 interconnects = <&clk_virt MASTER_QUP_CORE_1 0 &clk_virt SLAVE_QUP_CORE_1 0>,
1692 <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>,
1693 <&aggre2_noc MASTER_QUP_1 0 &mc_virt SLAVE_EBI1 0>;
1694 interconnect-names = "qup-core", "qup-config", "qup-memory";
1695 dmas = <&gpi_dma1 0 5 QCOM_GPI_SPI>,
1696 <&gpi_dma1 1 5 QCOM_GPI_SPI>;
1697 dma-names = "tx", "rx";
1698 #address-cells = <1>;
1699 #size-cells = <0>;
1700 status = "disabled";
1701 };
1702
1703 i2c14: i2c@a98000 {
1704 compatible = "qcom,geni-i2c";
1705 reg = <0 0x00a98000 0 0x4000>;
1706 clock-names = "se";
1707 clocks = <&gcc GCC_QUPV3_WRAP1_S6_CLK>;
1708 pinctrl-names = "default";
1709 pinctrl-0 = <&qup_i2c14_data_clk>;
1710 interrupts = <GIC_SPI 363 IRQ_TYPE_LEVEL_HIGH>;
1711 interconnects = <&clk_virt MASTER_QUP_CORE_1 0 &clk_virt SLAVE_QUP_CORE_1 0>,
1712 <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>,
1713 <&aggre2_noc MASTER_QUP_1 0 &mc_virt SLAVE_EBI1 0>;
1714 interconnect-names = "qup-core", "qup-config", "qup-memory";
1715 dmas = <&gpi_dma1 0 6 QCOM_GPI_I2C>,
1716 <&gpi_dma1 1 6 QCOM_GPI_I2C>;
1717 dma-names = "tx", "rx";
1718 #address-cells = <1>;
1719 #size-cells = <0>;
1720 status = "disabled";
1721 };
1722
1723 spi14: spi@a98000 {
1724 compatible = "qcom,geni-spi";
1725 reg = <0x0 0x00a98000 0x0 0x4000>;
1726 clock-names = "se";
1727 clocks = <&gcc GCC_QUPV3_WRAP1_S6_CLK>;
1728 interrupts = <GIC_SPI 363 IRQ_TYPE_LEVEL_HIGH>;
1729 pinctrl-names = "default";
1730 pinctrl-0 = <&qup_spi14_data_clk>, <&qup_spi14_cs>;
1731 interconnects = <&clk_virt MASTER_QUP_CORE_1 0 &clk_virt SLAVE_QUP_CORE_1 0>,
1732 <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>,
1733 <&aggre2_noc MASTER_QUP_1 0 &mc_virt SLAVE_EBI1 0>;
1734 interconnect-names = "qup-core", "qup-config", "qup-memory";
1735 dmas = <&gpi_dma1 0 6 QCOM_GPI_SPI>,
1736 <&gpi_dma1 1 6 QCOM_GPI_SPI>;
1737 dma-names = "tx", "rx";
1738 #address-cells = <1>;
1739 #size-cells = <0>;
1740 status = "disabled";
1741 };
1742 };
1743
Tom Rini93743d22024-04-01 09:08:13 -04001744 rng: rng@10c3000 {
1745 compatible = "qcom,sm8450-trng", "qcom,trng";
1746 reg = <0 0x010c3000 0 0x1000>;
1747 };
1748
1749 pcie0: pcie@1c00000 {
Tom Rini53633a82024-02-29 12:33:36 -05001750 compatible = "qcom,pcie-sm8450-pcie0";
1751 reg = <0 0x01c00000 0 0x3000>,
1752 <0 0x60000000 0 0xf1d>,
1753 <0 0x60000f20 0 0xa8>,
1754 <0 0x60001000 0 0x1000>,
1755 <0 0x60100000 0 0x100000>;
1756 reg-names = "parf", "dbi", "elbi", "atu", "config";
1757 device_type = "pci";
1758 linux,pci-domain = <0>;
1759 bus-range = <0x00 0xff>;
1760 num-lanes = <1>;
1761
1762 #address-cells = <3>;
1763 #size-cells = <2>;
1764
1765 ranges = <0x01000000 0x0 0x00000000 0x0 0x60200000 0x0 0x100000>,
1766 <0x02000000 0x0 0x60300000 0x0 0x60300000 0x0 0x3d00000>;
1767
1768 /*
1769 * MSIs for BDF (1:0.0) only works with Device ID 0x5980.
1770 * Hence, the IDs are swapped.
1771 */
1772 msi-map = <0x0 &gic_its 0x5981 0x1>,
1773 <0x100 &gic_its 0x5980 0x1>;
1774 msi-map-mask = <0xff00>;
1775 interrupts = <GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>;
1776 interrupt-names = "msi";
1777 #interrupt-cells = <1>;
1778 interrupt-map-mask = <0 0 0 0x7>;
1779 interrupt-map = <0 0 0 1 &intc 0 0 0 149 IRQ_TYPE_LEVEL_HIGH>, /* int_a */
1780 <0 0 0 2 &intc 0 0 0 150 IRQ_TYPE_LEVEL_HIGH>, /* int_b */
1781 <0 0 0 3 &intc 0 0 0 151 IRQ_TYPE_LEVEL_HIGH>, /* int_c */
1782 <0 0 0 4 &intc 0 0 0 152 IRQ_TYPE_LEVEL_HIGH>; /* int_d */
1783
1784 clocks = <&gcc GCC_PCIE_0_PIPE_CLK>,
1785 <&gcc GCC_PCIE_0_PIPE_CLK_SRC>,
1786 <&pcie0_phy>,
1787 <&rpmhcc RPMH_CXO_CLK>,
1788 <&gcc GCC_PCIE_0_AUX_CLK>,
1789 <&gcc GCC_PCIE_0_CFG_AHB_CLK>,
1790 <&gcc GCC_PCIE_0_MSTR_AXI_CLK>,
1791 <&gcc GCC_PCIE_0_SLV_AXI_CLK>,
1792 <&gcc GCC_PCIE_0_SLV_Q2A_AXI_CLK>,
1793 <&gcc GCC_DDRSS_PCIE_SF_TBU_CLK>,
1794 <&gcc GCC_AGGRE_NOC_PCIE_0_AXI_CLK>,
1795 <&gcc GCC_AGGRE_NOC_PCIE_1_AXI_CLK>;
1796 clock-names = "pipe",
1797 "pipe_mux",
1798 "phy_pipe",
1799 "ref",
1800 "aux",
1801 "cfg",
1802 "bus_master",
1803 "bus_slave",
1804 "slave_q2a",
1805 "ddrss_sf_tbu",
1806 "aggre0",
1807 "aggre1";
1808
1809 iommu-map = <0x0 &apps_smmu 0x1c00 0x1>,
1810 <0x100 &apps_smmu 0x1c01 0x1>;
1811
1812 resets = <&gcc GCC_PCIE_0_BCR>;
1813 reset-names = "pci";
1814
1815 power-domains = <&gcc PCIE_0_GDSC>;
1816
1817 phys = <&pcie0_phy>;
1818 phy-names = "pciephy";
1819
1820 perst-gpios = <&tlmm 94 GPIO_ACTIVE_LOW>;
1821 wake-gpios = <&tlmm 96 GPIO_ACTIVE_HIGH>;
1822
1823 pinctrl-names = "default";
1824 pinctrl-0 = <&pcie0_default_state>;
1825
1826 status = "disabled";
1827 };
1828
1829 pcie0_phy: phy@1c06000 {
1830 compatible = "qcom,sm8450-qmp-gen3x1-pcie-phy";
1831 reg = <0 0x01c06000 0 0x2000>;
1832
1833 clocks = <&gcc GCC_PCIE_0_AUX_CLK>,
1834 <&gcc GCC_PCIE_0_CFG_AHB_CLK>,
1835 <&gcc GCC_PCIE_0_CLKREF_EN>,
1836 <&gcc GCC_PCIE_0_PHY_RCHNG_CLK>,
1837 <&gcc GCC_PCIE_0_PIPE_CLK>;
1838 clock-names = "aux",
1839 "cfg_ahb",
1840 "ref",
1841 "rchng",
1842 "pipe";
1843
1844 clock-output-names = "pcie_0_pipe_clk";
1845 #clock-cells = <0>;
1846
1847 #phy-cells = <0>;
1848
1849 resets = <&gcc GCC_PCIE_0_PHY_BCR>;
1850 reset-names = "phy";
1851
1852 assigned-clocks = <&gcc GCC_PCIE_0_PHY_RCHNG_CLK>;
1853 assigned-clock-rates = <100000000>;
1854
1855 status = "disabled";
1856 };
1857
Tom Rini93743d22024-04-01 09:08:13 -04001858 pcie1: pcie@1c08000 {
Tom Rini53633a82024-02-29 12:33:36 -05001859 compatible = "qcom,pcie-sm8450-pcie1";
1860 reg = <0 0x01c08000 0 0x3000>,
1861 <0 0x40000000 0 0xf1d>,
1862 <0 0x40000f20 0 0xa8>,
1863 <0 0x40001000 0 0x1000>,
1864 <0 0x40100000 0 0x100000>;
1865 reg-names = "parf", "dbi", "elbi", "atu", "config";
1866 device_type = "pci";
1867 linux,pci-domain = <1>;
1868 bus-range = <0x00 0xff>;
1869 num-lanes = <2>;
1870
1871 #address-cells = <3>;
1872 #size-cells = <2>;
1873
1874 ranges = <0x01000000 0x0 0x00000000 0x0 0x40200000 0x0 0x100000>,
1875 <0x02000000 0x0 0x40300000 0x0 0x40300000 0x0 0x1fd00000>;
1876
1877 /*
1878 * MSIs for BDF (1:0.0) only works with Device ID 0x5a00.
1879 * Hence, the IDs are swapped.
1880 */
1881 msi-map = <0x0 &gic_its 0x5a01 0x1>,
1882 <0x100 &gic_its 0x5a00 0x1>;
1883 msi-map-mask = <0xff00>;
1884 interrupts = <GIC_SPI 307 IRQ_TYPE_LEVEL_HIGH>;
1885 interrupt-names = "msi";
1886 #interrupt-cells = <1>;
1887 interrupt-map-mask = <0 0 0 0x7>;
1888 interrupt-map = <0 0 0 1 &intc 0 0 0 434 IRQ_TYPE_LEVEL_HIGH>, /* int_a */
1889 <0 0 0 2 &intc 0 0 0 435 IRQ_TYPE_LEVEL_HIGH>, /* int_b */
1890 <0 0 0 3 &intc 0 0 0 438 IRQ_TYPE_LEVEL_HIGH>, /* int_c */
1891 <0 0 0 4 &intc 0 0 0 439 IRQ_TYPE_LEVEL_HIGH>; /* int_d */
1892
1893 clocks = <&gcc GCC_PCIE_1_PIPE_CLK>,
1894 <&gcc GCC_PCIE_1_PIPE_CLK_SRC>,
1895 <&pcie1_phy>,
1896 <&rpmhcc RPMH_CXO_CLK>,
1897 <&gcc GCC_PCIE_1_AUX_CLK>,
1898 <&gcc GCC_PCIE_1_CFG_AHB_CLK>,
1899 <&gcc GCC_PCIE_1_MSTR_AXI_CLK>,
1900 <&gcc GCC_PCIE_1_SLV_AXI_CLK>,
1901 <&gcc GCC_PCIE_1_SLV_Q2A_AXI_CLK>,
1902 <&gcc GCC_DDRSS_PCIE_SF_TBU_CLK>,
1903 <&gcc GCC_AGGRE_NOC_PCIE_1_AXI_CLK>;
1904 clock-names = "pipe",
1905 "pipe_mux",
1906 "phy_pipe",
1907 "ref",
1908 "aux",
1909 "cfg",
1910 "bus_master",
1911 "bus_slave",
1912 "slave_q2a",
1913 "ddrss_sf_tbu",
1914 "aggre1";
1915
1916 iommu-map = <0x0 &apps_smmu 0x1c80 0x1>,
1917 <0x100 &apps_smmu 0x1c81 0x1>;
1918
1919 resets = <&gcc GCC_PCIE_1_BCR>;
1920 reset-names = "pci";
1921
1922 power-domains = <&gcc PCIE_1_GDSC>;
1923
1924 phys = <&pcie1_phy>;
1925 phy-names = "pciephy";
1926
1927 perst-gpios = <&tlmm 97 GPIO_ACTIVE_LOW>;
1928 wake-gpios = <&tlmm 99 GPIO_ACTIVE_HIGH>;
1929
1930 pinctrl-names = "default";
1931 pinctrl-0 = <&pcie1_default_state>;
1932
1933 status = "disabled";
1934 };
1935
1936 pcie1_phy: phy@1c0e000 {
1937 compatible = "qcom,sm8450-qmp-gen4x2-pcie-phy";
1938 reg = <0 0x01c0e000 0 0x2000>;
1939
1940 clocks = <&gcc GCC_PCIE_1_PHY_AUX_CLK>,
1941 <&gcc GCC_PCIE_1_CFG_AHB_CLK>,
1942 <&gcc GCC_PCIE_1_CLKREF_EN>,
1943 <&gcc GCC_PCIE_1_PHY_RCHNG_CLK>,
1944 <&gcc GCC_PCIE_1_PIPE_CLK>;
1945 clock-names = "aux",
1946 "cfg_ahb",
1947 "ref",
1948 "rchng",
1949 "pipe";
1950
1951 clock-output-names = "pcie_1_pipe_clk";
1952 #clock-cells = <0>;
1953
1954 #phy-cells = <0>;
1955
1956 resets = <&gcc GCC_PCIE_1_PHY_BCR>;
1957 reset-names = "phy";
1958
1959 assigned-clocks = <&gcc GCC_PCIE_1_PHY_RCHNG_CLK>;
1960 assigned-clock-rates = <100000000>;
1961
1962 status = "disabled";
1963 };
1964
1965 config_noc: interconnect@1500000 {
1966 compatible = "qcom,sm8450-config-noc";
1967 reg = <0 0x01500000 0 0x1c000>;
1968 #interconnect-cells = <2>;
1969 qcom,bcm-voters = <&apps_bcm_voter>;
1970 };
1971
1972 system_noc: interconnect@1680000 {
1973 compatible = "qcom,sm8450-system-noc";
1974 reg = <0 0x01680000 0 0x1e200>;
1975 #interconnect-cells = <2>;
1976 qcom,bcm-voters = <&apps_bcm_voter>;
1977 };
1978
1979 pcie_noc: interconnect@16c0000 {
1980 compatible = "qcom,sm8450-pcie-anoc";
1981 reg = <0 0x016c0000 0 0xe280>;
1982 #interconnect-cells = <2>;
1983 qcom,bcm-voters = <&apps_bcm_voter>;
1984 };
1985
1986 aggre1_noc: interconnect@16e0000 {
1987 compatible = "qcom,sm8450-aggre1-noc";
1988 reg = <0 0x016e0000 0 0x1c080>;
1989 #interconnect-cells = <2>;
1990 clocks = <&gcc GCC_AGGRE_UFS_PHY_AXI_CLK>,
1991 <&gcc GCC_AGGRE_USB3_PRIM_AXI_CLK>;
1992 qcom,bcm-voters = <&apps_bcm_voter>;
1993 };
1994
1995 aggre2_noc: interconnect@1700000 {
1996 compatible = "qcom,sm8450-aggre2-noc";
1997 reg = <0 0x01700000 0 0x31080>;
1998 #interconnect-cells = <2>;
1999 qcom,bcm-voters = <&apps_bcm_voter>;
2000 clocks = <&gcc GCC_AGGRE_NOC_PCIE_0_AXI_CLK>,
2001 <&gcc GCC_AGGRE_NOC_PCIE_1_AXI_CLK>,
2002 <&gcc GCC_AGGRE_UFS_PHY_AXI_CLK>,
2003 <&rpmhcc RPMH_IPA_CLK>;
2004 };
2005
2006 mmss_noc: interconnect@1740000 {
2007 compatible = "qcom,sm8450-mmss-noc";
2008 reg = <0 0x01740000 0 0x1f080>;
2009 #interconnect-cells = <2>;
2010 qcom,bcm-voters = <&apps_bcm_voter>;
2011 };
2012
2013 tcsr_mutex: hwlock@1f40000 {
2014 compatible = "qcom,tcsr-mutex";
2015 reg = <0x0 0x01f40000 0x0 0x40000>;
2016 #hwlock-cells = <1>;
2017 };
2018
2019 tcsr: syscon@1fc0000 {
2020 compatible = "qcom,sm8450-tcsr", "syscon";
2021 reg = <0x0 0x1fc0000 0x0 0x30000>;
2022 };
2023
Tom Rini93743d22024-04-01 09:08:13 -04002024 gpu: gpu@3d00000 {
2025 compatible = "qcom,adreno-730.1", "qcom,adreno";
2026 reg = <0x0 0x03d00000 0x0 0x40000>,
2027 <0x0 0x03d9e000 0x0 0x1000>,
2028 <0x0 0x03d61000 0x0 0x800>;
2029 reg-names = "kgsl_3d0_reg_memory",
2030 "cx_mem",
2031 "cx_dbgc";
2032
2033 interrupts = <GIC_SPI 300 IRQ_TYPE_LEVEL_HIGH>;
2034
2035 iommus = <&adreno_smmu 0 0x400>,
2036 <&adreno_smmu 1 0x400>;
2037
2038 operating-points-v2 = <&gpu_opp_table>;
2039
2040 qcom,gmu = <&gmu>;
2041
2042 status = "disabled";
2043
2044 zap-shader {
2045 memory-region = <&gpu_micro_code_mem>;
2046 };
2047
2048 gpu_opp_table: opp-table {
2049 compatible = "operating-points-v2";
2050
2051 opp-818000000 {
2052 opp-hz = /bits/ 64 <818000000>;
2053 opp-level = <RPMH_REGULATOR_LEVEL_TURBO>;
2054 };
2055
2056 opp-791000000 {
2057 opp-hz = /bits/ 64 <791000000>;
2058 opp-level = <RPMH_REGULATOR_LEVEL_NOM_L1>;
2059 };
2060
2061 opp-734000000 {
2062 opp-hz = /bits/ 64 <734000000>;
2063 opp-level = <RPMH_REGULATOR_LEVEL_NOM>;
2064 };
2065
2066 opp-640000000 {
2067 opp-hz = /bits/ 64 <640000000>;
2068 opp-level = <RPMH_REGULATOR_LEVEL_SVS_L2>;
2069 };
2070
2071 opp-599000000 {
2072 opp-hz = /bits/ 64 <599000000>;
2073 opp-level = <RPMH_REGULATOR_LEVEL_SVS_L1>;
2074 };
2075
2076 opp-545000000 {
2077 opp-hz = /bits/ 64 <545000000>;
2078 opp-level = <RPMH_REGULATOR_LEVEL_SVS_L0>;
2079 };
2080
2081 opp-492000000 {
2082 opp-hz = /bits/ 64 <492000000>;
2083 opp-level = <RPMH_REGULATOR_LEVEL_SVS>;
2084 };
2085
2086 opp-421000000 {
2087 opp-hz = /bits/ 64 <421000000>;
2088 opp-level = <RPMH_REGULATOR_LEVEL_LOW_SVS_L1>;
2089 };
2090
2091 opp-350000000 {
2092 opp-hz = /bits/ 64 <350000000>;
2093 opp-level = <RPMH_REGULATOR_LEVEL_LOW_SVS>;
2094 };
2095
2096 opp-317000000 {
2097 opp-hz = /bits/ 64 <317000000>;
2098 opp-level = <RPMH_REGULATOR_LEVEL_LOW_SVS>;
2099 };
2100
2101 opp-285000000 {
2102 opp-hz = /bits/ 64 <285000000>;
2103 opp-level = <RPMH_REGULATOR_LEVEL_LOW_SVS_D1>;
2104 };
2105
2106 opp-220000000 {
2107 opp-hz = /bits/ 64 <220000000>;
2108 opp-level = <RPMH_REGULATOR_LEVEL_LOW_SVS_D1>;
2109 };
2110 };
2111 };
2112
2113 gmu: gmu@3d6a000 {
2114 compatible = "qcom,adreno-gmu-730.1", "qcom,adreno-gmu";
2115 reg = <0x0 0x03d6a000 0x0 0x35000>,
2116 <0x0 0x03d50000 0x0 0x10000>,
2117 <0x0 0x0b290000 0x0 0x10000>;
2118 reg-names = "gmu", "rscc", "gmu_pdc";
2119
2120 interrupts = <GIC_SPI 304 IRQ_TYPE_LEVEL_HIGH>,
2121 <GIC_SPI 305 IRQ_TYPE_LEVEL_HIGH>;
2122 interrupt-names = "hfi", "gmu";
2123
2124 clocks = <&gpucc GPU_CC_AHB_CLK>,
2125 <&gpucc GPU_CC_CX_GMU_CLK>,
2126 <&gpucc GPU_CC_CXO_CLK>,
2127 <&gcc GCC_DDRSS_GPU_AXI_CLK>,
2128 <&gcc GCC_GPU_MEMNOC_GFX_CLK>,
2129 <&gpucc GPU_CC_HUB_CX_INT_CLK>,
2130 <&gpucc GPU_CC_DEMET_CLK>;
2131 clock-names = "ahb",
2132 "gmu",
2133 "cxo",
2134 "axi",
2135 "memnoc",
2136 "hub",
2137 "demet";
2138
2139 power-domains = <&gpucc GPU_CX_GDSC>,
2140 <&gpucc GPU_GX_GDSC>;
2141 power-domain-names = "cx",
2142 "gx";
2143
2144 iommus = <&adreno_smmu 5 0x400>;
2145
2146 qcom,qmp = <&aoss_qmp>;
2147
2148 operating-points-v2 = <&gmu_opp_table>;
2149
2150 gmu_opp_table: opp-table {
2151 compatible = "operating-points-v2";
2152
2153 opp-500000000 {
2154 opp-hz = /bits/ 64 <500000000>;
2155 opp-level = <RPMH_REGULATOR_LEVEL_SVS>;
2156 };
2157
2158 opp-200000000 {
2159 opp-hz = /bits/ 64 <200000000>;
2160 opp-level = <RPMH_REGULATOR_LEVEL_LOW_SVS>;
2161 };
2162 };
2163 };
2164
2165 gpucc: clock-controller@3d90000 {
2166 compatible = "qcom,sm8450-gpucc";
2167 reg = <0x0 0x03d90000 0x0 0xa000>;
2168 clocks = <&rpmhcc RPMH_CXO_CLK>,
2169 <&gcc GCC_GPU_GPLL0_CLK_SRC>,
2170 <&gcc GCC_GPU_GPLL0_DIV_CLK_SRC>;
2171 #clock-cells = <1>;
2172 #reset-cells = <1>;
2173 #power-domain-cells = <1>;
2174 };
2175
2176 adreno_smmu: iommu@3da0000 {
2177 compatible = "qcom,sm8450-smmu-500", "qcom,adreno-smmu",
2178 "qcom,smmu-500", "arm,mmu-500";
2179 reg = <0x0 0x03da0000 0x0 0x40000>;
2180 #iommu-cells = <2>;
2181 #global-interrupts = <1>;
2182 interrupts = <GIC_SPI 673 IRQ_TYPE_LEVEL_HIGH>,
2183 <GIC_SPI 678 IRQ_TYPE_LEVEL_HIGH>,
2184 <GIC_SPI 679 IRQ_TYPE_LEVEL_HIGH>,
2185 <GIC_SPI 680 IRQ_TYPE_LEVEL_HIGH>,
2186 <GIC_SPI 681 IRQ_TYPE_LEVEL_HIGH>,
2187 <GIC_SPI 682 IRQ_TYPE_LEVEL_HIGH>,
2188 <GIC_SPI 683 IRQ_TYPE_LEVEL_HIGH>,
2189 <GIC_SPI 684 IRQ_TYPE_LEVEL_HIGH>,
2190 <GIC_SPI 685 IRQ_TYPE_LEVEL_HIGH>,
2191 <GIC_SPI 686 IRQ_TYPE_LEVEL_HIGH>,
2192 <GIC_SPI 687 IRQ_TYPE_LEVEL_HIGH>,
2193 <GIC_SPI 422 IRQ_TYPE_LEVEL_HIGH>,
2194 <GIC_SPI 476 IRQ_TYPE_LEVEL_HIGH>,
2195 <GIC_SPI 574 IRQ_TYPE_LEVEL_HIGH>,
2196 <GIC_SPI 575 IRQ_TYPE_LEVEL_HIGH>,
2197 <GIC_SPI 576 IRQ_TYPE_LEVEL_HIGH>,
2198 <GIC_SPI 577 IRQ_TYPE_LEVEL_HIGH>,
2199 <GIC_SPI 659 IRQ_TYPE_LEVEL_HIGH>,
2200 <GIC_SPI 661 IRQ_TYPE_LEVEL_HIGH>,
2201 <GIC_SPI 664 IRQ_TYPE_LEVEL_HIGH>,
2202 <GIC_SPI 665 IRQ_TYPE_LEVEL_HIGH>,
2203 <GIC_SPI 666 IRQ_TYPE_LEVEL_HIGH>,
2204 <GIC_SPI 668 IRQ_TYPE_LEVEL_HIGH>,
2205 <GIC_SPI 669 IRQ_TYPE_LEVEL_HIGH>,
2206 <GIC_SPI 699 IRQ_TYPE_LEVEL_HIGH>,
2207 <GIC_SPI 700 IRQ_TYPE_LEVEL_HIGH>;
2208 clocks = <&gpucc GPU_CC_CX_GMU_CLK>,
2209 <&gpucc GPU_CC_HUB_CX_INT_CLK>,
2210 <&gpucc GPU_CC_HLOS1_VOTE_GPU_SMMU_CLK>,
2211 <&gcc GCC_GPU_MEMNOC_GFX_CLK>,
2212 <&gcc GCC_GPU_SNOC_DVM_GFX_CLK>,
2213 <&gpucc GPU_CC_AHB_CLK>;
2214 clock-names = "gmu",
2215 "hub",
2216 "hlos",
2217 "bus",
2218 "iface",
2219 "ahb";
2220 power-domains = <&gpucc GPU_CX_GDSC>;
2221 dma-coherent;
2222 };
2223
Tom Rini53633a82024-02-29 12:33:36 -05002224 usb_1_hsphy: phy@88e3000 {
2225 compatible = "qcom,sm8450-usb-hs-phy",
2226 "qcom,usb-snps-hs-7nm-phy";
2227 reg = <0 0x088e3000 0 0x400>;
2228 status = "disabled";
2229 #phy-cells = <0>;
2230
2231 clocks = <&rpmhcc RPMH_CXO_CLK>;
2232 clock-names = "ref";
2233
2234 resets = <&gcc GCC_QUSB2PHY_PRIM_BCR>;
2235 };
2236
2237 usb_1_qmpphy: phy@88e8000 {
2238 compatible = "qcom,sm8450-qmp-usb3-dp-phy";
2239 reg = <0 0x088e8000 0 0x3000>;
2240
2241 clocks = <&gcc GCC_USB3_PRIM_PHY_AUX_CLK>,
2242 <&rpmhcc RPMH_CXO_CLK>,
2243 <&gcc GCC_USB3_PRIM_PHY_COM_AUX_CLK>,
2244 <&gcc GCC_USB3_PRIM_PHY_PIPE_CLK>;
2245 clock-names = "aux", "ref", "com_aux", "usb3_pipe";
2246
2247 resets = <&gcc GCC_USB3_DP_PHY_PRIM_BCR>,
2248 <&gcc GCC_USB3_PHY_PRIM_BCR>;
2249 reset-names = "phy", "common";
2250
2251 #clock-cells = <1>;
2252 #phy-cells = <1>;
2253
2254 status = "disabled";
2255
2256 ports {
2257 #address-cells = <1>;
2258 #size-cells = <0>;
2259
2260 port@0 {
2261 reg = <0>;
2262
2263 usb_1_qmpphy_out: endpoint {
2264 };
2265 };
2266
2267 port@1 {
2268 reg = <1>;
2269
2270 usb_1_qmpphy_usb_ss_in: endpoint {
2271 };
2272 };
2273
2274 port@2 {
2275 reg = <2>;
2276
2277 usb_1_qmpphy_dp_in: endpoint {
2278 };
2279 };
2280 };
2281 };
2282
2283 remoteproc_slpi: remoteproc@2400000 {
2284 compatible = "qcom,sm8450-slpi-pas";
2285 reg = <0 0x02400000 0 0x4000>;
2286
2287 interrupts-extended = <&pdc 9 IRQ_TYPE_EDGE_RISING>,
2288 <&smp2p_slpi_in 0 IRQ_TYPE_EDGE_RISING>,
2289 <&smp2p_slpi_in 1 IRQ_TYPE_EDGE_RISING>,
2290 <&smp2p_slpi_in 2 IRQ_TYPE_EDGE_RISING>,
2291 <&smp2p_slpi_in 3 IRQ_TYPE_EDGE_RISING>;
2292 interrupt-names = "wdog", "fatal", "ready",
2293 "handover", "stop-ack";
2294
2295 clocks = <&rpmhcc RPMH_CXO_CLK>;
2296 clock-names = "xo";
2297
2298 power-domains = <&rpmhpd RPMHPD_LCX>,
2299 <&rpmhpd RPMHPD_LMX>;
2300 power-domain-names = "lcx", "lmx";
2301
2302 memory-region = <&slpi_mem>;
2303
2304 qcom,qmp = <&aoss_qmp>;
2305
2306 qcom,smem-states = <&smp2p_slpi_out 0>;
2307 qcom,smem-state-names = "stop";
2308
2309 status = "disabled";
2310
2311 glink-edge {
2312 interrupts-extended = <&ipcc IPCC_CLIENT_SLPI
2313 IPCC_MPROC_SIGNAL_GLINK_QMP
2314 IRQ_TYPE_EDGE_RISING>;
2315 mboxes = <&ipcc IPCC_CLIENT_SLPI
2316 IPCC_MPROC_SIGNAL_GLINK_QMP>;
2317
2318 label = "slpi";
2319 qcom,remote-pid = <3>;
2320
2321 fastrpc {
2322 compatible = "qcom,fastrpc";
2323 qcom,glink-channels = "fastrpcglink-apps-dsp";
2324 label = "sdsp";
2325 #address-cells = <1>;
2326 #size-cells = <0>;
2327
2328 compute-cb@1 {
2329 compatible = "qcom,fastrpc-compute-cb";
2330 reg = <1>;
2331 iommus = <&apps_smmu 0x0541 0x0>;
2332 };
2333
2334 compute-cb@2 {
2335 compatible = "qcom,fastrpc-compute-cb";
2336 reg = <2>;
2337 iommus = <&apps_smmu 0x0542 0x0>;
2338 };
2339
2340 compute-cb@3 {
2341 compatible = "qcom,fastrpc-compute-cb";
2342 reg = <3>;
2343 iommus = <&apps_smmu 0x0543 0x0>;
2344 /* note: shared-cb = <4> in downstream */
2345 };
2346 };
2347 };
2348 };
2349
2350 wsa2macro: codec@31e0000 {
2351 compatible = "qcom,sm8450-lpass-wsa-macro";
2352 reg = <0 0x031e0000 0 0x1000>;
2353 clocks = <&q6prmcc LPASS_CLK_ID_WSA2_CORE_TX_MCLK LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
2354 <&q6prmcc LPASS_CLK_ID_WSA2_CORE_TX_2X_MCLK LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
2355 <&q6prmcc LPASS_HW_MACRO_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
2356 <&q6prmcc LPASS_HW_DCODEC_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
2357 <&vamacro>;
2358 clock-names = "mclk", "npl", "macro", "dcodec", "fsgen";
Tom Rini53633a82024-02-29 12:33:36 -05002359
2360 #clock-cells = <0>;
2361 clock-output-names = "wsa2-mclk";
Tom Rini53633a82024-02-29 12:33:36 -05002362 #sound-dai-cells = <1>;
2363 };
2364
Tom Rini93743d22024-04-01 09:08:13 -04002365 swr4: soundwire@31f0000 {
Tom Rini53633a82024-02-29 12:33:36 -05002366 compatible = "qcom,soundwire-v1.7.0";
2367 reg = <0 0x031f0000 0 0x2000>;
2368 interrupts = <GIC_SPI 171 IRQ_TYPE_LEVEL_HIGH>;
2369 clocks = <&wsa2macro>;
2370 clock-names = "iface";
2371 label = "WSA2";
2372
Tom Rini93743d22024-04-01 09:08:13 -04002373 pinctrl-0 = <&wsa2_swr_active>;
2374 pinctrl-names = "default";
2375
Tom Rini53633a82024-02-29 12:33:36 -05002376 qcom,din-ports = <2>;
2377 qcom,dout-ports = <6>;
2378
2379 qcom,ports-sinterval-low = /bits/ 8 <0x07 0x1f 0x3f 0x07 0x1f 0x3f 0x0f 0x0f>;
2380 qcom,ports-offset1 = /bits/ 8 <0x01 0x02 0x0c 0x06 0x12 0x0d 0x07 0x0a>;
2381 qcom,ports-offset2 = /bits/ 8 <0xff 0x00 0x1f 0xff 0x00 0x1f 0x00 0x00>;
2382 qcom,ports-hstart = /bits/ 8 <0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff>;
2383 qcom,ports-hstop = /bits/ 8 <0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff>;
2384 qcom,ports-word-length = /bits/ 8 <0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff>;
2385 qcom,ports-block-pack-mode = /bits/ 8 <0xff 0xff 0x01 0xff 0xff 0x01 0xff 0xff>;
2386 qcom,ports-block-group-count = /bits/ 8 <0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff>;
2387 qcom,ports-lane-control = /bits/ 8 <0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff>;
2388
2389 #address-cells = <2>;
2390 #size-cells = <0>;
2391 #sound-dai-cells = <1>;
2392 status = "disabled";
2393 };
2394
2395 rxmacro: codec@3200000 {
2396 compatible = "qcom,sm8450-lpass-rx-macro";
2397 reg = <0 0x03200000 0 0x1000>;
2398 clocks = <&q6prmcc LPASS_CLK_ID_RX_CORE_TX_MCLK LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
2399 <&q6prmcc LPASS_CLK_ID_RX_CORE_MCLK2_2X_MCLK LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
2400 <&q6prmcc LPASS_HW_MACRO_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
2401 <&q6prmcc LPASS_HW_DCODEC_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
2402 <&vamacro>;
2403 clock-names = "mclk", "npl", "macro", "dcodec", "fsgen";
2404
Tom Rini53633a82024-02-29 12:33:36 -05002405 #clock-cells = <0>;
2406 clock-output-names = "mclk";
Tom Rini53633a82024-02-29 12:33:36 -05002407 #sound-dai-cells = <1>;
2408 };
2409
Tom Rini93743d22024-04-01 09:08:13 -04002410 swr1: soundwire@3210000 {
Tom Rini53633a82024-02-29 12:33:36 -05002411 compatible = "qcom,soundwire-v1.7.0";
2412 reg = <0 0x03210000 0 0x2000>;
2413 interrupts = <GIC_SPI 155 IRQ_TYPE_LEVEL_HIGH>;
2414 clocks = <&rxmacro>;
2415 clock-names = "iface";
2416 label = "RX";
2417 qcom,din-ports = <0>;
2418 qcom,dout-ports = <5>;
2419
Tom Rini93743d22024-04-01 09:08:13 -04002420 pinctrl-0 = <&rx_swr_active>;
2421 pinctrl-names = "default";
2422
Tom Rini53633a82024-02-29 12:33:36 -05002423 qcom,ports-sinterval-low = /bits/ 8 <0x03 0x1f 0x1f 0x07 0x00>;
2424 qcom,ports-offset1 = /bits/ 8 <0x00 0x00 0x0b 0x01 0x00>;
2425 qcom,ports-offset2 = /bits/ 8 <0x00 0x00 0x0b 0x00 0x00>;
2426 qcom,ports-hstart = /bits/ 8 <0xff 0x03 0xff 0xff 0xff>;
2427 qcom,ports-hstop = /bits/ 8 <0xff 0x06 0xff 0xff 0xff>;
2428 qcom,ports-word-length = /bits/ 8 <0x01 0x07 0x04 0xff 0xff>;
2429 qcom,ports-block-pack-mode = /bits/ 8 <0xff 0x00 0x01 0xff 0xff>;
2430 qcom,ports-block-group-count = /bits/ 8 <0xff 0xff 0xff 0xff 0x00>;
2431 qcom,ports-lane-control = /bits/ 8 <0x01 0x00 0x00 0x00 0x00>;
2432
2433 #address-cells = <2>;
2434 #size-cells = <0>;
2435 #sound-dai-cells = <1>;
2436 status = "disabled";
2437 };
2438
2439 txmacro: codec@3220000 {
2440 compatible = "qcom,sm8450-lpass-tx-macro";
2441 reg = <0 0x03220000 0 0x1000>;
2442 clocks = <&q6prmcc LPASS_CLK_ID_RX_CORE_TX_MCLK LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
2443 <&q6prmcc LPASS_CLK_ID_RX_CORE_MCLK2_2X_MCLK LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
2444 <&q6prmcc LPASS_HW_MACRO_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
2445 <&q6prmcc LPASS_HW_DCODEC_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
2446 <&vamacro>;
2447 clock-names = "mclk", "npl", "macro", "dcodec", "fsgen";
Tom Rini53633a82024-02-29 12:33:36 -05002448
2449 #clock-cells = <0>;
2450 clock-output-names = "mclk";
Tom Rini53633a82024-02-29 12:33:36 -05002451 #sound-dai-cells = <1>;
2452 };
2453
2454 wsamacro: codec@3240000 {
2455 compatible = "qcom,sm8450-lpass-wsa-macro";
2456 reg = <0 0x03240000 0 0x1000>;
2457 clocks = <&q6prmcc LPASS_CLK_ID_WSA_CORE_TX_MCLK LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
2458 <&q6prmcc LPASS_CLK_ID_WSA_CORE_TX_2X_MCLK LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
2459 <&q6prmcc LPASS_HW_MACRO_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
2460 <&q6prmcc LPASS_HW_DCODEC_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
2461 <&vamacro>;
2462 clock-names = "mclk", "npl", "macro", "dcodec", "fsgen";
2463
Tom Rini53633a82024-02-29 12:33:36 -05002464 #clock-cells = <0>;
2465 clock-output-names = "mclk";
Tom Rini53633a82024-02-29 12:33:36 -05002466 #sound-dai-cells = <1>;
2467 };
2468
Tom Rini93743d22024-04-01 09:08:13 -04002469 swr0: soundwire@3250000 {
Tom Rini53633a82024-02-29 12:33:36 -05002470 compatible = "qcom,soundwire-v1.7.0";
2471 reg = <0 0x03250000 0 0x2000>;
2472 interrupts = <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>;
2473 clocks = <&wsamacro>;
2474 clock-names = "iface";
2475 label = "WSA";
2476
Tom Rini93743d22024-04-01 09:08:13 -04002477 pinctrl-0 = <&wsa_swr_active>;
2478 pinctrl-names = "default";
2479
Tom Rini53633a82024-02-29 12:33:36 -05002480 qcom,din-ports = <2>;
2481 qcom,dout-ports = <6>;
2482
2483 qcom,ports-sinterval-low = /bits/ 8 <0x07 0x1f 0x3f 0x07 0x1f 0x3f 0x0f 0x0f>;
2484 qcom,ports-offset1 = /bits/ 8 <0x01 0x02 0x0c 0x06 0x12 0x0d 0x07 0x0a>;
2485 qcom,ports-offset2 = /bits/ 8 <0xff 0x00 0x1f 0xff 0x00 0x1f 0x00 0x00>;
2486 qcom,ports-hstart = /bits/ 8 <0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff>;
2487 qcom,ports-hstop = /bits/ 8 <0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff>;
2488 qcom,ports-word-length = /bits/ 8 <0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff>;
2489 qcom,ports-block-pack-mode = /bits/ 8 <0xff 0xff 0x01 0xff 0xff 0x01 0xff 0xff>;
2490 qcom,ports-block-group-count = /bits/ 8 <0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff>;
2491 qcom,ports-lane-control = /bits/ 8 <0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff>;
2492
2493 #address-cells = <2>;
2494 #size-cells = <0>;
2495 #sound-dai-cells = <1>;
2496 status = "disabled";
2497 };
2498
Tom Rini93743d22024-04-01 09:08:13 -04002499 swr2: soundwire@33b0000 {
Tom Rini53633a82024-02-29 12:33:36 -05002500 compatible = "qcom,soundwire-v1.7.0";
2501 reg = <0 0x033b0000 0 0x2000>;
2502 interrupts = <GIC_SPI 496 IRQ_TYPE_LEVEL_HIGH>,
2503 <GIC_SPI 520 IRQ_TYPE_LEVEL_HIGH>;
2504 interrupt-names = "core", "wakeup";
2505
Tom Rini93743d22024-04-01 09:08:13 -04002506 clocks = <&txmacro>;
Tom Rini53633a82024-02-29 12:33:36 -05002507 clock-names = "iface";
2508 label = "TX";
2509
Tom Rini93743d22024-04-01 09:08:13 -04002510 pinctrl-0 = <&tx_swr_active>;
2511 pinctrl-names = "default";
2512
Tom Rini53633a82024-02-29 12:33:36 -05002513 qcom,din-ports = <4>;
2514 qcom,dout-ports = <0>;
2515 qcom,ports-sinterval-low = /bits/ 8 <0x01 0x01 0x03 0x03>;
2516 qcom,ports-offset1 = /bits/ 8 <0x00 0x00 0x01 0x01>;
2517 qcom,ports-offset2 = /bits/ 8 <0x00 0x00 0x00 0x00>;
2518 qcom,ports-hstart = /bits/ 8 <0xff 0xff 0xff 0xff>;
2519 qcom,ports-hstop = /bits/ 8 <0xff 0xff 0xff 0xff>;
2520 qcom,ports-word-length = /bits/ 8 <0xff 0xff 0xff 0xff>;
2521 qcom,ports-block-pack-mode = /bits/ 8 <0xff 0xff 0xff 0xff>;
2522 qcom,ports-block-group-count = /bits/ 8 <0xff 0xff 0xff 0xff>;
2523 qcom,ports-lane-control = /bits/ 8 <0x01 0x02 0x00 0x00>;
2524
2525 #address-cells = <2>;
2526 #size-cells = <0>;
2527 #sound-dai-cells = <1>;
2528 status = "disabled";
2529 };
2530
2531 vamacro: codec@33f0000 {
2532 compatible = "qcom,sm8450-lpass-va-macro";
2533 reg = <0 0x033f0000 0 0x1000>;
2534 clocks = <&q6prmcc LPASS_CLK_ID_TX_CORE_MCLK LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
2535 <&q6prmcc LPASS_HW_MACRO_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
2536 <&q6prmcc LPASS_HW_DCODEC_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
2537 <&q6prmcc LPASS_CLK_ID_RX_CORE_MCLK2_2X_MCLK LPASS_CLK_ATTRIBUTE_COUPLE_NO>;
2538 clock-names = "mclk", "macro", "dcodec", "npl";
Tom Rini53633a82024-02-29 12:33:36 -05002539
2540 #clock-cells = <0>;
2541 clock-output-names = "fsgen";
2542 #sound-dai-cells = <1>;
2543 status = "disabled";
2544 };
2545
2546 remoteproc_adsp: remoteproc@30000000 {
2547 compatible = "qcom,sm8450-adsp-pas";
2548 reg = <0 0x30000000 0 0x100>;
2549
2550 interrupts-extended = <&pdc 6 IRQ_TYPE_EDGE_RISING>,
2551 <&smp2p_adsp_in 0 IRQ_TYPE_EDGE_RISING>,
2552 <&smp2p_adsp_in 1 IRQ_TYPE_EDGE_RISING>,
2553 <&smp2p_adsp_in 2 IRQ_TYPE_EDGE_RISING>,
2554 <&smp2p_adsp_in 3 IRQ_TYPE_EDGE_RISING>;
2555 interrupt-names = "wdog", "fatal", "ready",
2556 "handover", "stop-ack";
2557
2558 clocks = <&rpmhcc RPMH_CXO_CLK>;
2559 clock-names = "xo";
2560
2561 power-domains = <&rpmhpd RPMHPD_LCX>,
2562 <&rpmhpd RPMHPD_LMX>;
2563 power-domain-names = "lcx", "lmx";
2564
2565 memory-region = <&adsp_mem>;
2566
2567 qcom,qmp = <&aoss_qmp>;
2568
2569 qcom,smem-states = <&smp2p_adsp_out 0>;
2570 qcom,smem-state-names = "stop";
2571
2572 status = "disabled";
2573
2574 remoteproc_adsp_glink: glink-edge {
2575 interrupts-extended = <&ipcc IPCC_CLIENT_LPASS
2576 IPCC_MPROC_SIGNAL_GLINK_QMP
2577 IRQ_TYPE_EDGE_RISING>;
2578 mboxes = <&ipcc IPCC_CLIENT_LPASS
2579 IPCC_MPROC_SIGNAL_GLINK_QMP>;
2580
2581 label = "lpass";
2582 qcom,remote-pid = <2>;
2583
2584 gpr {
2585 compatible = "qcom,gpr";
2586 qcom,glink-channels = "adsp_apps";
2587 qcom,domain = <GPR_DOMAIN_ID_ADSP>;
2588 qcom,intents = <512 20>;
2589 #address-cells = <1>;
2590 #size-cells = <0>;
2591
2592 q6apm: service@1 {
2593 compatible = "qcom,q6apm";
2594 reg = <GPR_APM_MODULE_IID>;
2595 #sound-dai-cells = <0>;
2596 qcom,protection-domain = "avs/audio",
2597 "msm/adsp/audio_pd";
2598
2599 q6apmdai: dais {
2600 compatible = "qcom,q6apm-dais";
2601 iommus = <&apps_smmu 0x1801 0x0>;
2602 };
2603
2604 q6apmbedai: bedais {
2605 compatible = "qcom,q6apm-lpass-dais";
2606 #sound-dai-cells = <1>;
2607 };
2608 };
2609
2610 q6prm: service@2 {
2611 compatible = "qcom,q6prm";
2612 reg = <GPR_PRM_MODULE_IID>;
2613 qcom,protection-domain = "avs/audio",
2614 "msm/adsp/audio_pd";
2615
2616 q6prmcc: clock-controller {
2617 compatible = "qcom,q6prm-lpass-clocks";
2618 #clock-cells = <2>;
2619 };
2620 };
2621 };
2622
2623 fastrpc {
2624 compatible = "qcom,fastrpc";
2625 qcom,glink-channels = "fastrpcglink-apps-dsp";
2626 label = "adsp";
2627 #address-cells = <1>;
2628 #size-cells = <0>;
2629
2630 compute-cb@3 {
2631 compatible = "qcom,fastrpc-compute-cb";
2632 reg = <3>;
2633 iommus = <&apps_smmu 0x1803 0x0>;
2634 };
2635
2636 compute-cb@4 {
2637 compatible = "qcom,fastrpc-compute-cb";
2638 reg = <4>;
2639 iommus = <&apps_smmu 0x1804 0x0>;
2640 };
2641
2642 compute-cb@5 {
2643 compatible = "qcom,fastrpc-compute-cb";
2644 reg = <5>;
2645 iommus = <&apps_smmu 0x1805 0x0>;
2646 };
2647 };
2648 };
2649 };
2650
2651 remoteproc_cdsp: remoteproc@32300000 {
2652 compatible = "qcom,sm8450-cdsp-pas";
2653 reg = <0 0x32300000 0 0x1400000>;
2654
2655 interrupts-extended = <&intc GIC_SPI 578 IRQ_TYPE_EDGE_RISING>,
2656 <&smp2p_cdsp_in 0 IRQ_TYPE_EDGE_RISING>,
2657 <&smp2p_cdsp_in 1 IRQ_TYPE_EDGE_RISING>,
2658 <&smp2p_cdsp_in 2 IRQ_TYPE_EDGE_RISING>,
2659 <&smp2p_cdsp_in 3 IRQ_TYPE_EDGE_RISING>;
2660 interrupt-names = "wdog", "fatal", "ready",
2661 "handover", "stop-ack";
2662
2663 clocks = <&rpmhcc RPMH_CXO_CLK>;
2664 clock-names = "xo";
2665
2666 power-domains = <&rpmhpd RPMHPD_CX>,
2667 <&rpmhpd RPMHPD_MXC>;
2668 power-domain-names = "cx", "mxc";
2669
2670 memory-region = <&cdsp_mem>;
2671
2672 qcom,qmp = <&aoss_qmp>;
2673
2674 qcom,smem-states = <&smp2p_cdsp_out 0>;
2675 qcom,smem-state-names = "stop";
2676
2677 status = "disabled";
2678
2679 glink-edge {
2680 interrupts-extended = <&ipcc IPCC_CLIENT_CDSP
2681 IPCC_MPROC_SIGNAL_GLINK_QMP
2682 IRQ_TYPE_EDGE_RISING>;
2683 mboxes = <&ipcc IPCC_CLIENT_CDSP
2684 IPCC_MPROC_SIGNAL_GLINK_QMP>;
2685
2686 label = "cdsp";
2687 qcom,remote-pid = <5>;
2688
2689 fastrpc {
2690 compatible = "qcom,fastrpc";
2691 qcom,glink-channels = "fastrpcglink-apps-dsp";
2692 label = "cdsp";
2693 #address-cells = <1>;
2694 #size-cells = <0>;
2695
2696 compute-cb@1 {
2697 compatible = "qcom,fastrpc-compute-cb";
2698 reg = <1>;
2699 iommus = <&apps_smmu 0x2161 0x0400>,
2700 <&apps_smmu 0x1021 0x1420>;
2701 };
2702
2703 compute-cb@2 {
2704 compatible = "qcom,fastrpc-compute-cb";
2705 reg = <2>;
2706 iommus = <&apps_smmu 0x2162 0x0400>,
2707 <&apps_smmu 0x1022 0x1420>;
2708 };
2709
2710 compute-cb@3 {
2711 compatible = "qcom,fastrpc-compute-cb";
2712 reg = <3>;
2713 iommus = <&apps_smmu 0x2163 0x0400>,
2714 <&apps_smmu 0x1023 0x1420>;
2715 };
2716
2717 compute-cb@4 {
2718 compatible = "qcom,fastrpc-compute-cb";
2719 reg = <4>;
2720 iommus = <&apps_smmu 0x2164 0x0400>,
2721 <&apps_smmu 0x1024 0x1420>;
2722 };
2723
2724 compute-cb@5 {
2725 compatible = "qcom,fastrpc-compute-cb";
2726 reg = <5>;
2727 iommus = <&apps_smmu 0x2165 0x0400>,
2728 <&apps_smmu 0x1025 0x1420>;
2729 };
2730
2731 compute-cb@6 {
2732 compatible = "qcom,fastrpc-compute-cb";
2733 reg = <6>;
2734 iommus = <&apps_smmu 0x2166 0x0400>,
2735 <&apps_smmu 0x1026 0x1420>;
2736 };
2737
2738 compute-cb@7 {
2739 compatible = "qcom,fastrpc-compute-cb";
2740 reg = <7>;
2741 iommus = <&apps_smmu 0x2167 0x0400>,
2742 <&apps_smmu 0x1027 0x1420>;
2743 };
2744
2745 compute-cb@8 {
2746 compatible = "qcom,fastrpc-compute-cb";
2747 reg = <8>;
2748 iommus = <&apps_smmu 0x2168 0x0400>,
2749 <&apps_smmu 0x1028 0x1420>;
2750 };
2751
2752 /* note: secure cb9 in downstream */
2753 };
2754 };
2755 };
2756
2757 remoteproc_mpss: remoteproc@4080000 {
2758 compatible = "qcom,sm8450-mpss-pas";
2759 reg = <0x0 0x04080000 0x0 0x4040>;
2760
2761 interrupts-extended = <&intc GIC_SPI 264 IRQ_TYPE_EDGE_RISING>,
2762 <&smp2p_modem_in 0 IRQ_TYPE_EDGE_RISING>,
2763 <&smp2p_modem_in 1 IRQ_TYPE_EDGE_RISING>,
2764 <&smp2p_modem_in 2 IRQ_TYPE_EDGE_RISING>,
2765 <&smp2p_modem_in 3 IRQ_TYPE_EDGE_RISING>,
2766 <&smp2p_modem_in 7 IRQ_TYPE_EDGE_RISING>;
2767 interrupt-names = "wdog", "fatal", "ready", "handover",
2768 "stop-ack", "shutdown-ack";
2769
2770 clocks = <&rpmhcc RPMH_CXO_CLK>;
2771 clock-names = "xo";
2772
2773 power-domains = <&rpmhpd RPMHPD_CX>,
2774 <&rpmhpd RPMHPD_MSS>;
2775 power-domain-names = "cx", "mss";
2776
2777 memory-region = <&mpss_mem>;
2778
2779 qcom,qmp = <&aoss_qmp>;
2780
2781 qcom,smem-states = <&smp2p_modem_out 0>;
2782 qcom,smem-state-names = "stop";
2783
2784 status = "disabled";
2785
2786 glink-edge {
2787 interrupts-extended = <&ipcc IPCC_CLIENT_MPSS
2788 IPCC_MPROC_SIGNAL_GLINK_QMP
2789 IRQ_TYPE_EDGE_RISING>;
2790 mboxes = <&ipcc IPCC_CLIENT_MPSS
2791 IPCC_MPROC_SIGNAL_GLINK_QMP>;
2792 label = "modem";
2793 qcom,remote-pid = <1>;
2794 };
2795 };
2796
2797 videocc: clock-controller@aaf0000 {
2798 compatible = "qcom,sm8450-videocc";
2799 reg = <0 0x0aaf0000 0 0x10000>;
2800 clocks = <&rpmhcc RPMH_CXO_CLK>,
2801 <&gcc GCC_VIDEO_AHB_CLK>;
2802 power-domains = <&rpmhpd RPMHPD_MMCX>;
2803 required-opps = <&rpmhpd_opp_low_svs>;
2804 #clock-cells = <1>;
2805 #reset-cells = <1>;
2806 #power-domain-cells = <1>;
2807 };
2808
2809 cci0: cci@ac15000 {
2810 compatible = "qcom,sm8450-cci", "qcom,msm8996-cci";
2811 reg = <0 0x0ac15000 0 0x1000>;
2812 interrupts = <GIC_SPI 460 IRQ_TYPE_EDGE_RISING>;
2813 power-domains = <&camcc TITAN_TOP_GDSC>;
2814
2815 clocks = <&camcc CAM_CC_CAMNOC_AXI_CLK>,
2816 <&camcc CAM_CC_SLOW_AHB_CLK_SRC>,
2817 <&camcc CAM_CC_CPAS_AHB_CLK>,
2818 <&camcc CAM_CC_CCI_0_CLK>,
2819 <&camcc CAM_CC_CCI_0_CLK_SRC>;
2820 clock-names = "camnoc_axi",
2821 "slow_ahb_src",
2822 "cpas_ahb",
2823 "cci",
2824 "cci_src";
2825 pinctrl-0 = <&cci0_default &cci1_default>;
2826 pinctrl-1 = <&cci0_sleep &cci1_sleep>;
2827 pinctrl-names = "default", "sleep";
2828
2829 status = "disabled";
2830 #address-cells = <1>;
2831 #size-cells = <0>;
2832
2833 cci0_i2c0: i2c-bus@0 {
2834 reg = <0>;
2835 clock-frequency = <1000000>;
2836 #address-cells = <1>;
2837 #size-cells = <0>;
2838 };
2839
2840 cci0_i2c1: i2c-bus@1 {
2841 reg = <1>;
2842 clock-frequency = <1000000>;
2843 #address-cells = <1>;
2844 #size-cells = <0>;
2845 };
2846 };
2847
2848 cci1: cci@ac16000 {
2849 compatible = "qcom,sm8450-cci", "qcom,msm8996-cci";
2850 reg = <0 0x0ac16000 0 0x1000>;
2851 interrupts = <GIC_SPI 271 IRQ_TYPE_EDGE_RISING>;
2852 power-domains = <&camcc TITAN_TOP_GDSC>;
2853
2854 clocks = <&camcc CAM_CC_CAMNOC_AXI_CLK>,
2855 <&camcc CAM_CC_SLOW_AHB_CLK_SRC>,
2856 <&camcc CAM_CC_CPAS_AHB_CLK>,
2857 <&camcc CAM_CC_CCI_1_CLK>,
2858 <&camcc CAM_CC_CCI_1_CLK_SRC>;
2859 clock-names = "camnoc_axi",
2860 "slow_ahb_src",
2861 "cpas_ahb",
2862 "cci",
2863 "cci_src";
2864 pinctrl-0 = <&cci2_default &cci3_default>;
2865 pinctrl-1 = <&cci2_sleep &cci3_sleep>;
2866 pinctrl-names = "default", "sleep";
2867
2868 status = "disabled";
2869 #address-cells = <1>;
2870 #size-cells = <0>;
2871
2872 cci1_i2c0: i2c-bus@0 {
2873 reg = <0>;
2874 clock-frequency = <1000000>;
2875 #address-cells = <1>;
2876 #size-cells = <0>;
2877 };
2878
2879 cci1_i2c1: i2c-bus@1 {
2880 reg = <1>;
2881 clock-frequency = <1000000>;
2882 #address-cells = <1>;
2883 #size-cells = <0>;
2884 };
2885 };
2886
2887 camcc: clock-controller@ade0000 {
2888 compatible = "qcom,sm8450-camcc";
2889 reg = <0 0x0ade0000 0 0x20000>;
2890 clocks = <&gcc GCC_CAMERA_AHB_CLK>,
2891 <&rpmhcc RPMH_CXO_CLK>,
2892 <&rpmhcc RPMH_CXO_CLK_A>,
2893 <&sleep_clk>;
2894 power-domains = <&rpmhpd RPMHPD_MMCX>;
2895 required-opps = <&rpmhpd_opp_low_svs>;
2896 #clock-cells = <1>;
2897 #reset-cells = <1>;
2898 #power-domain-cells = <1>;
2899 status = "disabled";
2900 };
2901
2902 mdss: display-subsystem@ae00000 {
2903 compatible = "qcom,sm8450-mdss";
2904 reg = <0 0x0ae00000 0 0x1000>;
2905 reg-names = "mdss";
2906
2907 /* same path used twice */
2908 interconnects = <&mmss_noc MASTER_MDP_DISP 0 &mc_virt SLAVE_EBI1_DISP 0>,
2909 <&mmss_noc MASTER_MDP_DISP 0 &mc_virt SLAVE_EBI1_DISP 0>,
2910 <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ACTIVE_ONLY
2911 &config_noc SLAVE_DISPLAY_CFG QCOM_ICC_TAG_ACTIVE_ONLY>;
2912 interconnect-names = "mdp0-mem",
2913 "mdp1-mem",
2914 "cpu-cfg";
2915
2916 resets = <&dispcc DISP_CC_MDSS_CORE_BCR>;
2917
2918 power-domains = <&dispcc MDSS_GDSC>;
2919
2920 clocks = <&dispcc DISP_CC_MDSS_AHB_CLK>,
2921 <&gcc GCC_DISP_HF_AXI_CLK>,
2922 <&gcc GCC_DISP_SF_AXI_CLK>,
2923 <&dispcc DISP_CC_MDSS_MDP_CLK>;
2924
2925 interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
2926 interrupt-controller;
2927 #interrupt-cells = <1>;
2928
2929 iommus = <&apps_smmu 0x2800 0x402>;
2930
2931 #address-cells = <2>;
2932 #size-cells = <2>;
2933 ranges;
2934
2935 status = "disabled";
2936
2937 mdss_mdp: display-controller@ae01000 {
2938 compatible = "qcom,sm8450-dpu";
2939 reg = <0 0x0ae01000 0 0x8f000>,
2940 <0 0x0aeb0000 0 0x2008>;
2941 reg-names = "mdp", "vbif";
2942
2943 clocks = <&gcc GCC_DISP_HF_AXI_CLK>,
2944 <&gcc GCC_DISP_SF_AXI_CLK>,
2945 <&dispcc DISP_CC_MDSS_AHB_CLK>,
2946 <&dispcc DISP_CC_MDSS_MDP_LUT_CLK>,
2947 <&dispcc DISP_CC_MDSS_MDP_CLK>,
2948 <&dispcc DISP_CC_MDSS_VSYNC_CLK>;
2949 clock-names = "bus",
2950 "nrt_bus",
2951 "iface",
2952 "lut",
2953 "core",
2954 "vsync";
2955
2956 assigned-clocks = <&dispcc DISP_CC_MDSS_VSYNC_CLK>;
2957 assigned-clock-rates = <19200000>;
2958
2959 operating-points-v2 = <&mdp_opp_table>;
2960 power-domains = <&rpmhpd RPMHPD_MMCX>;
2961
2962 interrupt-parent = <&mdss>;
2963 interrupts = <0>;
2964
2965 ports {
2966 #address-cells = <1>;
2967 #size-cells = <0>;
2968
2969 port@0 {
2970 reg = <0>;
2971 dpu_intf1_out: endpoint {
2972 remote-endpoint = <&mdss_dsi0_in>;
2973 };
2974 };
2975
2976 port@1 {
2977 reg = <1>;
2978 dpu_intf2_out: endpoint {
2979 remote-endpoint = <&mdss_dsi1_in>;
2980 };
2981 };
2982
2983 port@2 {
2984 reg = <2>;
2985 dpu_intf0_out: endpoint {
2986 remote-endpoint = <&mdss_dp0_in>;
2987 };
2988 };
2989 };
2990
2991 mdp_opp_table: opp-table {
2992 compatible = "operating-points-v2";
2993
2994 opp-172000000 {
2995 opp-hz = /bits/ 64 <172000000>;
2996 required-opps = <&rpmhpd_opp_low_svs_d1>;
2997 };
2998
2999 opp-200000000 {
3000 opp-hz = /bits/ 64 <200000000>;
3001 required-opps = <&rpmhpd_opp_low_svs>;
3002 };
3003
3004 opp-325000000 {
3005 opp-hz = /bits/ 64 <325000000>;
3006 required-opps = <&rpmhpd_opp_svs>;
3007 };
3008
3009 opp-375000000 {
3010 opp-hz = /bits/ 64 <375000000>;
3011 required-opps = <&rpmhpd_opp_svs_l1>;
3012 };
3013
3014 opp-500000000 {
3015 opp-hz = /bits/ 64 <500000000>;
3016 required-opps = <&rpmhpd_opp_nom>;
3017 };
3018 };
3019 };
3020
3021 mdss_dp0: displayport-controller@ae90000 {
3022 compatible = "qcom,sm8450-dp", "qcom,sm8350-dp";
3023 reg = <0 0xae90000 0 0x200>,
3024 <0 0xae90200 0 0x200>,
3025 <0 0xae90400 0 0xc00>,
3026 <0 0xae91000 0 0x400>,
3027 <0 0xae91400 0 0x400>;
3028 interrupt-parent = <&mdss>;
3029 interrupts = <12>;
3030 clocks = <&dispcc DISP_CC_MDSS_AHB_CLK>,
3031 <&dispcc DISP_CC_MDSS_DPTX0_AUX_CLK>,
3032 <&dispcc DISP_CC_MDSS_DPTX0_LINK_CLK>,
3033 <&dispcc DISP_CC_MDSS_DPTX0_LINK_INTF_CLK>,
3034 <&dispcc DISP_CC_MDSS_DPTX0_PIXEL0_CLK>;
3035 clock-names = "core_iface",
3036 "core_aux",
3037 "ctrl_link",
3038 "ctrl_link_iface",
3039 "stream_pixel";
3040
3041 assigned-clocks = <&dispcc DISP_CC_MDSS_DPTX0_LINK_CLK_SRC>,
3042 <&dispcc DISP_CC_MDSS_DPTX0_PIXEL0_CLK_SRC>;
3043 assigned-clock-parents = <&usb_1_qmpphy QMP_USB43DP_DP_LINK_CLK>,
3044 <&usb_1_qmpphy QMP_USB43DP_DP_VCO_DIV_CLK>;
3045
3046 phys = <&usb_1_qmpphy QMP_USB43DP_DP_PHY>;
3047 phy-names = "dp";
3048
3049 #sound-dai-cells = <0>;
3050
3051 operating-points-v2 = <&dp_opp_table>;
3052 power-domains = <&rpmhpd RPMHPD_MMCX>;
3053
3054 status = "disabled";
3055
3056 ports {
3057 #address-cells = <1>;
3058 #size-cells = <0>;
3059
3060 port@0 {
3061 reg = <0>;
3062 mdss_dp0_in: endpoint {
3063 remote-endpoint = <&dpu_intf0_out>;
3064 };
3065 };
3066 };
3067
3068 dp_opp_table: opp-table {
3069 compatible = "operating-points-v2";
3070
3071 opp-160000000 {
3072 opp-hz = /bits/ 64 <160000000>;
3073 required-opps = <&rpmhpd_opp_low_svs>;
3074 };
3075
3076 opp-270000000 {
3077 opp-hz = /bits/ 64 <270000000>;
3078 required-opps = <&rpmhpd_opp_svs>;
3079 };
3080
3081 opp-540000000 {
3082 opp-hz = /bits/ 64 <540000000>;
3083 required-opps = <&rpmhpd_opp_svs_l1>;
3084 };
3085
3086 opp-810000000 {
3087 opp-hz = /bits/ 64 <810000000>;
3088 required-opps = <&rpmhpd_opp_nom>;
3089 };
3090 };
3091 };
3092
3093 mdss_dsi0: dsi@ae94000 {
3094 compatible = "qcom,sm8450-dsi-ctrl", "qcom,mdss-dsi-ctrl";
3095 reg = <0 0x0ae94000 0 0x400>;
3096 reg-names = "dsi_ctrl";
3097
3098 interrupt-parent = <&mdss>;
3099 interrupts = <4>;
3100
3101 clocks = <&dispcc DISP_CC_MDSS_BYTE0_CLK>,
3102 <&dispcc DISP_CC_MDSS_BYTE0_INTF_CLK>,
3103 <&dispcc DISP_CC_MDSS_PCLK0_CLK>,
3104 <&dispcc DISP_CC_MDSS_ESC0_CLK>,
3105 <&dispcc DISP_CC_MDSS_AHB_CLK>,
3106 <&gcc GCC_DISP_HF_AXI_CLK>;
3107 clock-names = "byte",
3108 "byte_intf",
3109 "pixel",
3110 "core",
3111 "iface",
3112 "bus";
3113
3114 assigned-clocks = <&dispcc DISP_CC_MDSS_BYTE0_CLK_SRC>, <&dispcc DISP_CC_MDSS_PCLK0_CLK_SRC>;
3115 assigned-clock-parents = <&mdss_dsi0_phy 0>, <&mdss_dsi0_phy 1>;
3116
3117 operating-points-v2 = <&mdss_dsi_opp_table>;
3118 power-domains = <&rpmhpd RPMHPD_MMCX>;
3119
3120 phys = <&mdss_dsi0_phy>;
3121 phy-names = "dsi";
3122
3123 #address-cells = <1>;
3124 #size-cells = <0>;
3125
3126 status = "disabled";
3127
3128 ports {
3129 #address-cells = <1>;
3130 #size-cells = <0>;
3131
3132 port@0 {
3133 reg = <0>;
3134 mdss_dsi0_in: endpoint {
3135 remote-endpoint = <&dpu_intf1_out>;
3136 };
3137 };
3138
3139 port@1 {
3140 reg = <1>;
3141 mdss_dsi0_out: endpoint {
3142 };
3143 };
3144 };
3145
3146 mdss_dsi_opp_table: opp-table {
3147 compatible = "operating-points-v2";
3148
3149 opp-187500000 {
3150 opp-hz = /bits/ 64 <187500000>;
3151 required-opps = <&rpmhpd_opp_low_svs>;
3152 };
3153
3154 opp-300000000 {
3155 opp-hz = /bits/ 64 <300000000>;
3156 required-opps = <&rpmhpd_opp_svs>;
3157 };
3158
3159 opp-358000000 {
3160 opp-hz = /bits/ 64 <358000000>;
3161 required-opps = <&rpmhpd_opp_svs_l1>;
3162 };
3163 };
3164 };
3165
3166 mdss_dsi0_phy: phy@ae94400 {
3167 compatible = "qcom,sm8450-dsi-phy-5nm";
3168 reg = <0 0x0ae94400 0 0x200>,
3169 <0 0x0ae94600 0 0x280>,
3170 <0 0x0ae94900 0 0x260>;
3171 reg-names = "dsi_phy",
3172 "dsi_phy_lane",
3173 "dsi_pll";
3174
3175 #clock-cells = <1>;
3176 #phy-cells = <0>;
3177
3178 clocks = <&dispcc DISP_CC_MDSS_AHB_CLK>,
3179 <&rpmhcc RPMH_CXO_CLK>;
3180 clock-names = "iface", "ref";
3181
3182 status = "disabled";
3183 };
3184
3185 mdss_dsi1: dsi@ae96000 {
3186 compatible = "qcom,sm8450-dsi-ctrl", "qcom,mdss-dsi-ctrl";
3187 reg = <0 0x0ae96000 0 0x400>;
3188 reg-names = "dsi_ctrl";
3189
3190 interrupt-parent = <&mdss>;
3191 interrupts = <5>;
3192
3193 clocks = <&dispcc DISP_CC_MDSS_BYTE1_CLK>,
3194 <&dispcc DISP_CC_MDSS_BYTE1_INTF_CLK>,
3195 <&dispcc DISP_CC_MDSS_PCLK1_CLK>,
3196 <&dispcc DISP_CC_MDSS_ESC1_CLK>,
3197 <&dispcc DISP_CC_MDSS_AHB_CLK>,
3198 <&gcc GCC_DISP_HF_AXI_CLK>;
3199 clock-names = "byte",
3200 "byte_intf",
3201 "pixel",
3202 "core",
3203 "iface",
3204 "bus";
3205
3206 assigned-clocks = <&dispcc DISP_CC_MDSS_BYTE1_CLK_SRC>, <&dispcc DISP_CC_MDSS_PCLK1_CLK_SRC>;
3207 assigned-clock-parents = <&mdss_dsi1_phy 0>, <&mdss_dsi1_phy 1>;
3208
3209 operating-points-v2 = <&mdss_dsi_opp_table>;
3210 power-domains = <&rpmhpd RPMHPD_MMCX>;
3211
3212 phys = <&mdss_dsi1_phy>;
3213 phy-names = "dsi";
3214
3215 #address-cells = <1>;
3216 #size-cells = <0>;
3217
3218 status = "disabled";
3219
3220 ports {
3221 #address-cells = <1>;
3222 #size-cells = <0>;
3223
3224 port@0 {
3225 reg = <0>;
3226 mdss_dsi1_in: endpoint {
3227 remote-endpoint = <&dpu_intf2_out>;
3228 };
3229 };
3230
3231 port@1 {
3232 reg = <1>;
3233 mdss_dsi1_out: endpoint {
3234 };
3235 };
3236 };
3237 };
3238
3239 mdss_dsi1_phy: phy@ae96400 {
3240 compatible = "qcom,sm8450-dsi-phy-5nm";
3241 reg = <0 0x0ae96400 0 0x200>,
3242 <0 0x0ae96600 0 0x280>,
3243 <0 0x0ae96900 0 0x260>;
3244 reg-names = "dsi_phy",
3245 "dsi_phy_lane",
3246 "dsi_pll";
3247
3248 #clock-cells = <1>;
3249 #phy-cells = <0>;
3250
3251 clocks = <&dispcc DISP_CC_MDSS_AHB_CLK>,
3252 <&rpmhcc RPMH_CXO_CLK>;
3253 clock-names = "iface", "ref";
3254
3255 status = "disabled";
3256 };
3257 };
3258
3259 dispcc: clock-controller@af00000 {
3260 compatible = "qcom,sm8450-dispcc";
3261 reg = <0 0x0af00000 0 0x20000>;
3262 clocks = <&rpmhcc RPMH_CXO_CLK>,
3263 <&rpmhcc RPMH_CXO_CLK_A>,
3264 <&gcc GCC_DISP_AHB_CLK>,
3265 <&sleep_clk>,
3266 <&mdss_dsi0_phy 0>,
3267 <&mdss_dsi0_phy 1>,
3268 <&mdss_dsi1_phy 0>,
3269 <&mdss_dsi1_phy 1>,
3270 <&usb_1_qmpphy QMP_USB43DP_DP_LINK_CLK>,
3271 <&usb_1_qmpphy QMP_USB43DP_DP_VCO_DIV_CLK>,
3272 <0>, /* dp1 */
3273 <0>,
3274 <0>, /* dp2 */
3275 <0>,
3276 <0>, /* dp3 */
3277 <0>;
3278 power-domains = <&rpmhpd RPMHPD_MMCX>;
3279 required-opps = <&rpmhpd_opp_low_svs>;
3280 #clock-cells = <1>;
3281 #reset-cells = <1>;
3282 #power-domain-cells = <1>;
3283 status = "disabled";
3284 };
3285
3286 pdc: interrupt-controller@b220000 {
3287 compatible = "qcom,sm8450-pdc", "qcom,pdc";
3288 reg = <0 0x0b220000 0 0x30000>, <0 0x174000f0 0 0x64>;
3289 qcom,pdc-ranges = <0 480 12>, <14 494 24>, <40 520 54>,
3290 <94 609 31>, <125 63 1>, <126 716 12>;
3291 #interrupt-cells = <2>;
3292 interrupt-parent = <&intc>;
3293 interrupt-controller;
3294 };
3295
3296 tsens0: thermal-sensor@c263000 {
3297 compatible = "qcom,sm8450-tsens", "qcom,tsens-v2";
3298 reg = <0 0x0c263000 0 0x1000>, /* TM */
3299 <0 0x0c222000 0 0x1000>; /* SROT */
3300 #qcom,sensors = <16>;
3301 interrupts = <GIC_SPI 506 IRQ_TYPE_LEVEL_HIGH>,
3302 <GIC_SPI 508 IRQ_TYPE_LEVEL_HIGH>;
3303 interrupt-names = "uplow", "critical";
3304 #thermal-sensor-cells = <1>;
3305 };
3306
3307 tsens1: thermal-sensor@c265000 {
3308 compatible = "qcom,sm8450-tsens", "qcom,tsens-v2";
3309 reg = <0 0x0c265000 0 0x1000>, /* TM */
3310 <0 0x0c223000 0 0x1000>; /* SROT */
3311 #qcom,sensors = <16>;
3312 interrupts = <GIC_SPI 507 IRQ_TYPE_LEVEL_HIGH>,
3313 <GIC_SPI 509 IRQ_TYPE_LEVEL_HIGH>;
3314 interrupt-names = "uplow", "critical";
3315 #thermal-sensor-cells = <1>;
3316 };
3317
3318 aoss_qmp: power-management@c300000 {
3319 compatible = "qcom,sm8450-aoss-qmp", "qcom,aoss-qmp";
3320 reg = <0 0x0c300000 0 0x400>;
3321 interrupts-extended = <&ipcc IPCC_CLIENT_AOP IPCC_MPROC_SIGNAL_GLINK_QMP
3322 IRQ_TYPE_EDGE_RISING>;
3323 mboxes = <&ipcc IPCC_CLIENT_AOP IPCC_MPROC_SIGNAL_GLINK_QMP>;
3324
3325 #clock-cells = <0>;
3326 };
3327
3328 sram@c3f0000 {
3329 compatible = "qcom,rpmh-stats";
3330 reg = <0 0x0c3f0000 0 0x400>;
3331 };
3332
3333 spmi_bus: spmi@c400000 {
3334 compatible = "qcom,spmi-pmic-arb";
3335 reg = <0 0x0c400000 0 0x00003000>,
3336 <0 0x0c500000 0 0x00400000>,
3337 <0 0x0c440000 0 0x00080000>,
3338 <0 0x0c4c0000 0 0x00010000>,
3339 <0 0x0c42d000 0 0x00010000>;
3340 reg-names = "core",
3341 "chnls",
3342 "obsrvr",
3343 "intr",
3344 "cnfg";
3345 interrupt-names = "periph_irq";
3346 interrupts-extended = <&pdc 1 IRQ_TYPE_LEVEL_HIGH>;
3347 qcom,ee = <0>;
3348 qcom,channel = <0>;
3349 interrupt-controller;
3350 #interrupt-cells = <4>;
3351 #address-cells = <2>;
3352 #size-cells = <0>;
3353 };
3354
3355 ipcc: mailbox@ed18000 {
3356 compatible = "qcom,sm8450-ipcc", "qcom,ipcc";
3357 reg = <0 0x0ed18000 0 0x1000>;
3358 interrupts = <GIC_SPI 229 IRQ_TYPE_LEVEL_HIGH>;
3359 interrupt-controller;
3360 #interrupt-cells = <3>;
3361 #mbox-cells = <2>;
3362 };
3363
3364 tlmm: pinctrl@f100000 {
3365 compatible = "qcom,sm8450-tlmm";
3366 reg = <0 0x0f100000 0 0x300000>;
3367 interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>;
3368 gpio-controller;
3369 #gpio-cells = <2>;
3370 interrupt-controller;
3371 #interrupt-cells = <2>;
3372 gpio-ranges = <&tlmm 0 0 211>;
3373 wakeup-parent = <&pdc>;
3374
3375 sdc2_default_state: sdc2-default-state {
3376 clk-pins {
3377 pins = "sdc2_clk";
3378 drive-strength = <16>;
3379 bias-disable;
3380 };
3381
3382 cmd-pins {
3383 pins = "sdc2_cmd";
3384 drive-strength = <16>;
3385 bias-pull-up;
3386 };
3387
3388 data-pins {
3389 pins = "sdc2_data";
3390 drive-strength = <16>;
3391 bias-pull-up;
3392 };
3393 };
3394
3395 sdc2_sleep_state: sdc2-sleep-state {
3396 clk-pins {
3397 pins = "sdc2_clk";
3398 drive-strength = <2>;
3399 bias-disable;
3400 };
3401
3402 cmd-pins {
3403 pins = "sdc2_cmd";
3404 drive-strength = <2>;
3405 bias-pull-up;
3406 };
3407
3408 data-pins {
3409 pins = "sdc2_data";
3410 drive-strength = <2>;
3411 bias-pull-up;
3412 };
3413 };
3414
3415 cci0_default: cci0-default-state {
3416 /* SDA, SCL */
3417 pins = "gpio110", "gpio111";
3418 function = "cci_i2c";
3419 drive-strength = <2>;
3420 bias-pull-up;
3421 };
3422
3423 cci0_sleep: cci0-sleep-state {
3424 /* SDA, SCL */
3425 pins = "gpio110", "gpio111";
3426 function = "cci_i2c";
3427 drive-strength = <2>;
3428 bias-pull-down;
3429 };
3430
3431 cci1_default: cci1-default-state {
3432 /* SDA, SCL */
3433 pins = "gpio112", "gpio113";
3434 function = "cci_i2c";
3435 drive-strength = <2>;
3436 bias-pull-up;
3437 };
3438
3439 cci1_sleep: cci1-sleep-state {
3440 /* SDA, SCL */
3441 pins = "gpio112", "gpio113";
3442 function = "cci_i2c";
3443 drive-strength = <2>;
3444 bias-pull-down;
3445 };
3446
3447 cci2_default: cci2-default-state {
3448 /* SDA, SCL */
3449 pins = "gpio114", "gpio115";
3450 function = "cci_i2c";
3451 drive-strength = <2>;
3452 bias-pull-up;
3453 };
3454
3455 cci2_sleep: cci2-sleep-state {
3456 /* SDA, SCL */
3457 pins = "gpio114", "gpio115";
3458 function = "cci_i2c";
3459 drive-strength = <2>;
3460 bias-pull-down;
3461 };
3462
3463 cci3_default: cci3-default-state {
3464 /* SDA, SCL */
3465 pins = "gpio208", "gpio209";
3466 function = "cci_i2c";
3467 drive-strength = <2>;
3468 bias-pull-up;
3469 };
3470
3471 cci3_sleep: cci3-sleep-state {
3472 /* SDA, SCL */
3473 pins = "gpio208", "gpio209";
3474 function = "cci_i2c";
3475 drive-strength = <2>;
3476 bias-pull-down;
3477 };
3478
3479 pcie0_default_state: pcie0-default-state {
3480 perst-pins {
3481 pins = "gpio94";
3482 function = "gpio";
3483 drive-strength = <2>;
3484 bias-pull-down;
3485 };
3486
3487 clkreq-pins {
3488 pins = "gpio95";
3489 function = "pcie0_clkreqn";
3490 drive-strength = <2>;
3491 bias-pull-up;
3492 };
3493
3494 wake-pins {
3495 pins = "gpio96";
3496 function = "gpio";
3497 drive-strength = <2>;
3498 bias-pull-up;
3499 };
3500 };
3501
3502 pcie1_default_state: pcie1-default-state {
3503 perst-pins {
3504 pins = "gpio97";
3505 function = "gpio";
3506 drive-strength = <2>;
3507 bias-pull-down;
3508 };
3509
3510 clkreq-pins {
3511 pins = "gpio98";
3512 function = "pcie1_clkreqn";
3513 drive-strength = <2>;
3514 bias-pull-up;
3515 };
3516
3517 wake-pins {
3518 pins = "gpio99";
3519 function = "gpio";
3520 drive-strength = <2>;
3521 bias-pull-up;
3522 };
3523 };
3524
3525 qup_i2c0_data_clk: qup-i2c0-data-clk-state {
3526 pins = "gpio0", "gpio1";
3527 function = "qup0";
3528 };
3529
3530 qup_i2c1_data_clk: qup-i2c1-data-clk-state {
3531 pins = "gpio4", "gpio5";
3532 function = "qup1";
3533 };
3534
3535 qup_i2c2_data_clk: qup-i2c2-data-clk-state {
3536 pins = "gpio8", "gpio9";
3537 function = "qup2";
3538 };
3539
3540 qup_i2c3_data_clk: qup-i2c3-data-clk-state {
3541 pins = "gpio12", "gpio13";
3542 function = "qup3";
3543 };
3544
3545 qup_i2c4_data_clk: qup-i2c4-data-clk-state {
3546 pins = "gpio16", "gpio17";
3547 function = "qup4";
3548 };
3549
3550 qup_i2c5_data_clk: qup-i2c5-data-clk-state {
3551 pins = "gpio206", "gpio207";
3552 function = "qup5";
3553 };
3554
3555 qup_i2c6_data_clk: qup-i2c6-data-clk-state {
3556 pins = "gpio20", "gpio21";
3557 function = "qup6";
3558 };
3559
3560 qup_i2c8_data_clk: qup-i2c8-data-clk-state {
3561 pins = "gpio28", "gpio29";
3562 function = "qup8";
3563 };
3564
3565 qup_i2c9_data_clk: qup-i2c9-data-clk-state {
3566 pins = "gpio32", "gpio33";
3567 function = "qup9";
3568 };
3569
3570 qup_i2c10_data_clk: qup-i2c10-data-clk-state {
3571 pins = "gpio36", "gpio37";
3572 function = "qup10";
3573 };
3574
3575 qup_i2c11_data_clk: qup-i2c11-data-clk-state {
3576 pins = "gpio40", "gpio41";
3577 function = "qup11";
3578 };
3579
3580 qup_i2c12_data_clk: qup-i2c12-data-clk-state {
3581 pins = "gpio44", "gpio45";
3582 function = "qup12";
3583 };
3584
3585 qup_i2c13_data_clk: qup-i2c13-data-clk-state {
3586 pins = "gpio48", "gpio49";
3587 function = "qup13";
3588 drive-strength = <2>;
3589 bias-pull-up;
3590 };
3591
3592 qup_i2c14_data_clk: qup-i2c14-data-clk-state {
3593 pins = "gpio52", "gpio53";
3594 function = "qup14";
3595 drive-strength = <2>;
3596 bias-pull-up;
3597 };
3598
3599 qup_i2c15_data_clk: qup-i2c15-data-clk-state {
3600 pins = "gpio56", "gpio57";
3601 function = "qup15";
3602 };
3603
3604 qup_i2c16_data_clk: qup-i2c16-data-clk-state {
3605 pins = "gpio60", "gpio61";
3606 function = "qup16";
3607 };
3608
3609 qup_i2c17_data_clk: qup-i2c17-data-clk-state {
3610 pins = "gpio64", "gpio65";
3611 function = "qup17";
3612 };
3613
3614 qup_i2c18_data_clk: qup-i2c18-data-clk-state {
3615 pins = "gpio68", "gpio69";
3616 function = "qup18";
3617 };
3618
3619 qup_i2c19_data_clk: qup-i2c19-data-clk-state {
3620 pins = "gpio72", "gpio73";
3621 function = "qup19";
3622 };
3623
3624 qup_i2c20_data_clk: qup-i2c20-data-clk-state {
3625 pins = "gpio76", "gpio77";
3626 function = "qup20";
3627 };
3628
3629 qup_i2c21_data_clk: qup-i2c21-data-clk-state {
3630 pins = "gpio80", "gpio81";
3631 function = "qup21";
3632 };
3633
3634 qup_spi0_cs: qup-spi0-cs-state {
3635 pins = "gpio3";
3636 function = "qup0";
3637 };
3638
3639 qup_spi0_data_clk: qup-spi0-data-clk-state {
3640 pins = "gpio0", "gpio1", "gpio2";
3641 function = "qup0";
3642 };
3643
3644 qup_spi1_cs: qup-spi1-cs-state {
3645 pins = "gpio7";
3646 function = "qup1";
3647 };
3648
3649 qup_spi1_data_clk: qup-spi1-data-clk-state {
3650 pins = "gpio4", "gpio5", "gpio6";
3651 function = "qup1";
3652 };
3653
3654 qup_spi2_cs: qup-spi2-cs-state {
3655 pins = "gpio11";
3656 function = "qup2";
3657 };
3658
3659 qup_spi2_data_clk: qup-spi2-data-clk-state {
3660 pins = "gpio8", "gpio9", "gpio10";
3661 function = "qup2";
3662 };
3663
3664 qup_spi3_cs: qup-spi3-cs-state {
3665 pins = "gpio15";
3666 function = "qup3";
3667 };
3668
3669 qup_spi3_data_clk: qup-spi3-data-clk-state {
3670 pins = "gpio12", "gpio13", "gpio14";
3671 function = "qup3";
3672 };
3673
3674 qup_spi4_cs: qup-spi4-cs-state {
3675 pins = "gpio19";
3676 function = "qup4";
3677 drive-strength = <6>;
3678 bias-disable;
3679 };
3680
3681 qup_spi4_data_clk: qup-spi4-data-clk-state {
3682 pins = "gpio16", "gpio17", "gpio18";
3683 function = "qup4";
3684 };
3685
3686 qup_spi5_cs: qup-spi5-cs-state {
3687 pins = "gpio85";
3688 function = "qup5";
3689 };
3690
3691 qup_spi5_data_clk: qup-spi5-data-clk-state {
3692 pins = "gpio206", "gpio207", "gpio84";
3693 function = "qup5";
3694 };
3695
3696 qup_spi6_cs: qup-spi6-cs-state {
3697 pins = "gpio23";
3698 function = "qup6";
3699 };
3700
3701 qup_spi6_data_clk: qup-spi6-data-clk-state {
3702 pins = "gpio20", "gpio21", "gpio22";
3703 function = "qup6";
3704 };
3705
3706 qup_spi8_cs: qup-spi8-cs-state {
3707 pins = "gpio31";
3708 function = "qup8";
3709 };
3710
3711 qup_spi8_data_clk: qup-spi8-data-clk-state {
3712 pins = "gpio28", "gpio29", "gpio30";
3713 function = "qup8";
3714 };
3715
3716 qup_spi9_cs: qup-spi9-cs-state {
3717 pins = "gpio35";
3718 function = "qup9";
3719 };
3720
3721 qup_spi9_data_clk: qup-spi9-data-clk-state {
3722 pins = "gpio32", "gpio33", "gpio34";
3723 function = "qup9";
3724 };
3725
3726 qup_spi10_cs: qup-spi10-cs-state {
3727 pins = "gpio39";
3728 function = "qup10";
3729 };
3730
3731 qup_spi10_data_clk: qup-spi10-data-clk-state {
3732 pins = "gpio36", "gpio37", "gpio38";
3733 function = "qup10";
3734 };
3735
3736 qup_spi11_cs: qup-spi11-cs-state {
3737 pins = "gpio43";
3738 function = "qup11";
3739 };
3740
3741 qup_spi11_data_clk: qup-spi11-data-clk-state {
3742 pins = "gpio40", "gpio41", "gpio42";
3743 function = "qup11";
3744 };
3745
3746 qup_spi12_cs: qup-spi12-cs-state {
3747 pins = "gpio47";
3748 function = "qup12";
3749 };
3750
3751 qup_spi12_data_clk: qup-spi12-data-clk-state {
3752 pins = "gpio44", "gpio45", "gpio46";
3753 function = "qup12";
3754 };
3755
3756 qup_spi13_cs: qup-spi13-cs-state {
3757 pins = "gpio51";
3758 function = "qup13";
3759 };
3760
3761 qup_spi13_data_clk: qup-spi13-data-clk-state {
3762 pins = "gpio48", "gpio49", "gpio50";
3763 function = "qup13";
3764 };
3765
3766 qup_spi14_cs: qup-spi14-cs-state {
3767 pins = "gpio55";
3768 function = "qup14";
3769 };
3770
3771 qup_spi14_data_clk: qup-spi14-data-clk-state {
3772 pins = "gpio52", "gpio53", "gpio54";
3773 function = "qup14";
3774 };
3775
3776 qup_spi15_cs: qup-spi15-cs-state {
3777 pins = "gpio59";
3778 function = "qup15";
3779 };
3780
3781 qup_spi15_data_clk: qup-spi15-data-clk-state {
3782 pins = "gpio56", "gpio57", "gpio58";
3783 function = "qup15";
3784 };
3785
3786 qup_spi16_cs: qup-spi16-cs-state {
3787 pins = "gpio63";
3788 function = "qup16";
3789 };
3790
3791 qup_spi16_data_clk: qup-spi16-data-clk-state {
3792 pins = "gpio60", "gpio61", "gpio62";
3793 function = "qup16";
3794 };
3795
3796 qup_spi17_cs: qup-spi17-cs-state {
3797 pins = "gpio67";
3798 function = "qup17";
3799 };
3800
3801 qup_spi17_data_clk: qup-spi17-data-clk-state {
3802 pins = "gpio64", "gpio65", "gpio66";
3803 function = "qup17";
3804 };
3805
3806 qup_spi18_cs: qup-spi18-cs-state {
3807 pins = "gpio71";
3808 function = "qup18";
3809 drive-strength = <6>;
3810 bias-disable;
3811 };
3812
3813 qup_spi18_data_clk: qup-spi18-data-clk-state {
3814 pins = "gpio68", "gpio69", "gpio70";
3815 function = "qup18";
3816 drive-strength = <6>;
3817 bias-disable;
3818 };
3819
3820 qup_spi19_cs: qup-spi19-cs-state {
3821 pins = "gpio75";
3822 function = "qup19";
3823 drive-strength = <6>;
3824 bias-disable;
3825 };
3826
3827 qup_spi19_data_clk: qup-spi19-data-clk-state {
3828 pins = "gpio72", "gpio73", "gpio74";
3829 function = "qup19";
3830 drive-strength = <6>;
3831 bias-disable;
3832 };
3833
3834 qup_spi20_cs: qup-spi20-cs-state {
3835 pins = "gpio79";
3836 function = "qup20";
3837 };
3838
3839 qup_spi20_data_clk: qup-spi20-data-clk-state {
3840 pins = "gpio76", "gpio77", "gpio78";
3841 function = "qup20";
3842 };
3843
3844 qup_spi21_cs: qup-spi21-cs-state {
3845 pins = "gpio83";
3846 function = "qup21";
3847 };
3848
3849 qup_spi21_data_clk: qup-spi21-data-clk-state {
3850 pins = "gpio80", "gpio81", "gpio82";
3851 function = "qup21";
3852 };
3853
3854 qup_uart7_rx: qup-uart7-rx-state {
3855 pins = "gpio26";
3856 function = "qup7";
3857 drive-strength = <2>;
3858 bias-disable;
3859 };
3860
3861 qup_uart7_tx: qup-uart7-tx-state {
3862 pins = "gpio27";
3863 function = "qup7";
3864 drive-strength = <2>;
3865 bias-disable;
3866 };
3867
3868 qup_uart20_default: qup-uart20-default-state {
3869 pins = "gpio76", "gpio77", "gpio78", "gpio79";
3870 function = "qup20";
3871 };
3872 };
3873
3874 lpass_tlmm: pinctrl@3440000 {
3875 compatible = "qcom,sm8450-lpass-lpi-pinctrl";
3876 reg = <0 0x03440000 0x0 0x20000>,
3877 <0 0x034d0000 0x0 0x10000>;
3878 gpio-controller;
3879 #gpio-cells = <2>;
3880 gpio-ranges = <&lpass_tlmm 0 0 23>;
3881
3882 clocks = <&q6prmcc LPASS_HW_MACRO_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
3883 <&q6prmcc LPASS_HW_DCODEC_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>;
3884 clock-names = "core", "audio";
3885
3886 tx_swr_active: tx-swr-active-state {
3887 clk-pins {
3888 pins = "gpio0";
3889 function = "swr_tx_clk";
3890 drive-strength = <2>;
3891 slew-rate = <1>;
3892 bias-disable;
3893 };
3894
3895 data-pins {
3896 pins = "gpio1", "gpio2", "gpio14";
3897 function = "swr_tx_data";
3898 drive-strength = <2>;
3899 slew-rate = <1>;
3900 bias-bus-hold;
3901 };
3902 };
3903
3904 rx_swr_active: rx-swr-active-state {
3905 clk-pins {
3906 pins = "gpio3";
3907 function = "swr_rx_clk";
3908 drive-strength = <2>;
3909 slew-rate = <1>;
3910 bias-disable;
3911 };
3912
3913 data-pins {
3914 pins = "gpio4", "gpio5";
3915 function = "swr_rx_data";
3916 drive-strength = <2>;
3917 slew-rate = <1>;
3918 bias-bus-hold;
3919 };
3920 };
3921
3922 dmic01_default: dmic01-default-state {
3923 clk-pins {
3924 pins = "gpio6";
3925 function = "dmic1_clk";
3926 drive-strength = <8>;
3927 output-high;
3928 };
3929
3930 data-pins {
3931 pins = "gpio7";
3932 function = "dmic1_data";
3933 drive-strength = <8>;
3934 };
3935 };
3936
3937 dmic02_default: dmic02-default-state {
3938 clk-pins {
3939 pins = "gpio8";
3940 function = "dmic2_clk";
3941 drive-strength = <8>;
3942 output-high;
3943 };
3944
3945 data-pins {
3946 pins = "gpio9";
3947 function = "dmic2_data";
3948 drive-strength = <8>;
3949 };
3950 };
3951
3952 wsa_swr_active: wsa-swr-active-state {
3953 clk-pins {
3954 pins = "gpio10";
3955 function = "wsa_swr_clk";
3956 drive-strength = <2>;
3957 slew-rate = <1>;
3958 bias-disable;
3959 };
3960
3961 data-pins {
3962 pins = "gpio11";
3963 function = "wsa_swr_data";
3964 drive-strength = <2>;
3965 slew-rate = <1>;
3966 bias-bus-hold;
3967 };
3968 };
3969
3970 wsa2_swr_active: wsa2-swr-active-state {
3971 clk-pins {
3972 pins = "gpio15";
3973 function = "wsa2_swr_clk";
3974 drive-strength = <2>;
3975 slew-rate = <1>;
3976 bias-disable;
3977 };
3978
3979 data-pins {
3980 pins = "gpio16";
3981 function = "wsa2_swr_data";
3982 drive-strength = <2>;
3983 slew-rate = <1>;
3984 bias-bus-hold;
3985 };
3986 };
3987 };
3988
3989 sram@146aa000 {
3990 compatible = "qcom,sm8450-imem", "syscon", "simple-mfd";
3991 reg = <0 0x146aa000 0 0x1000>;
3992 ranges = <0 0 0x146aa000 0x1000>;
3993
3994 #address-cells = <1>;
3995 #size-cells = <1>;
3996
3997 pil-reloc@94c {
3998 compatible = "qcom,pil-reloc-info";
3999 reg = <0x94c 0xc8>;
4000 };
4001 };
4002
4003 apps_smmu: iommu@15000000 {
4004 compatible = "qcom,sm8450-smmu-500", "arm,mmu-500";
4005 reg = <0 0x15000000 0 0x100000>;
4006 #iommu-cells = <2>;
4007 #global-interrupts = <1>;
4008 interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>,
4009 <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>,
4010 <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>,
4011 <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>,
4012 <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>,
4013 <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>,
4014 <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>,
4015 <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>,
4016 <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>,
4017 <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>,
4018 <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>,
4019 <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>,
4020 <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>,
4021 <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>,
4022 <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>,
4023 <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>,
4024 <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>,
4025 <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>,
4026 <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>,
4027 <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>,
4028 <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>,
4029 <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>,
4030 <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>,
4031 <GIC_SPI 181 IRQ_TYPE_LEVEL_HIGH>,
4032 <GIC_SPI 182 IRQ_TYPE_LEVEL_HIGH>,
4033 <GIC_SPI 183 IRQ_TYPE_LEVEL_HIGH>,
4034 <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>,
4035 <GIC_SPI 185 IRQ_TYPE_LEVEL_HIGH>,
4036 <GIC_SPI 186 IRQ_TYPE_LEVEL_HIGH>,
4037 <GIC_SPI 187 IRQ_TYPE_LEVEL_HIGH>,
4038 <GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>,
4039 <GIC_SPI 189 IRQ_TYPE_LEVEL_HIGH>,
4040 <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>,
4041 <GIC_SPI 191 IRQ_TYPE_LEVEL_HIGH>,
4042 <GIC_SPI 192 IRQ_TYPE_LEVEL_HIGH>,
4043 <GIC_SPI 315 IRQ_TYPE_LEVEL_HIGH>,
4044 <GIC_SPI 316 IRQ_TYPE_LEVEL_HIGH>,
4045 <GIC_SPI 317 IRQ_TYPE_LEVEL_HIGH>,
4046 <GIC_SPI 318 IRQ_TYPE_LEVEL_HIGH>,
4047 <GIC_SPI 319 IRQ_TYPE_LEVEL_HIGH>,
4048 <GIC_SPI 320 IRQ_TYPE_LEVEL_HIGH>,
4049 <GIC_SPI 321 IRQ_TYPE_LEVEL_HIGH>,
4050 <GIC_SPI 322 IRQ_TYPE_LEVEL_HIGH>,
4051 <GIC_SPI 323 IRQ_TYPE_LEVEL_HIGH>,
4052 <GIC_SPI 324 IRQ_TYPE_LEVEL_HIGH>,
4053 <GIC_SPI 325 IRQ_TYPE_LEVEL_HIGH>,
4054 <GIC_SPI 326 IRQ_TYPE_LEVEL_HIGH>,
4055 <GIC_SPI 327 IRQ_TYPE_LEVEL_HIGH>,
4056 <GIC_SPI 328 IRQ_TYPE_LEVEL_HIGH>,
4057 <GIC_SPI 329 IRQ_TYPE_LEVEL_HIGH>,
4058 <GIC_SPI 330 IRQ_TYPE_LEVEL_HIGH>,
4059 <GIC_SPI 331 IRQ_TYPE_LEVEL_HIGH>,
4060 <GIC_SPI 332 IRQ_TYPE_LEVEL_HIGH>,
4061 <GIC_SPI 333 IRQ_TYPE_LEVEL_HIGH>,
4062 <GIC_SPI 334 IRQ_TYPE_LEVEL_HIGH>,
4063 <GIC_SPI 335 IRQ_TYPE_LEVEL_HIGH>,
4064 <GIC_SPI 336 IRQ_TYPE_LEVEL_HIGH>,
4065 <GIC_SPI 337 IRQ_TYPE_LEVEL_HIGH>,
4066 <GIC_SPI 338 IRQ_TYPE_LEVEL_HIGH>,
4067 <GIC_SPI 339 IRQ_TYPE_LEVEL_HIGH>,
4068 <GIC_SPI 340 IRQ_TYPE_LEVEL_HIGH>,
4069 <GIC_SPI 341 IRQ_TYPE_LEVEL_HIGH>,
4070 <GIC_SPI 342 IRQ_TYPE_LEVEL_HIGH>,
4071 <GIC_SPI 343 IRQ_TYPE_LEVEL_HIGH>,
4072 <GIC_SPI 344 IRQ_TYPE_LEVEL_HIGH>,
4073 <GIC_SPI 345 IRQ_TYPE_LEVEL_HIGH>,
4074 <GIC_SPI 395 IRQ_TYPE_LEVEL_HIGH>,
4075 <GIC_SPI 396 IRQ_TYPE_LEVEL_HIGH>,
4076 <GIC_SPI 397 IRQ_TYPE_LEVEL_HIGH>,
4077 <GIC_SPI 398 IRQ_TYPE_LEVEL_HIGH>,
4078 <GIC_SPI 399 IRQ_TYPE_LEVEL_HIGH>,
4079 <GIC_SPI 400 IRQ_TYPE_LEVEL_HIGH>,
4080 <GIC_SPI 401 IRQ_TYPE_LEVEL_HIGH>,
4081 <GIC_SPI 402 IRQ_TYPE_LEVEL_HIGH>,
4082 <GIC_SPI 403 IRQ_TYPE_LEVEL_HIGH>,
4083 <GIC_SPI 404 IRQ_TYPE_LEVEL_HIGH>,
4084 <GIC_SPI 405 IRQ_TYPE_LEVEL_HIGH>,
4085 <GIC_SPI 406 IRQ_TYPE_LEVEL_HIGH>,
4086 <GIC_SPI 407 IRQ_TYPE_LEVEL_HIGH>,
4087 <GIC_SPI 408 IRQ_TYPE_LEVEL_HIGH>,
4088 <GIC_SPI 409 IRQ_TYPE_LEVEL_HIGH>,
4089 <GIC_SPI 418 IRQ_TYPE_LEVEL_HIGH>,
4090 <GIC_SPI 419 IRQ_TYPE_LEVEL_HIGH>,
4091 <GIC_SPI 412 IRQ_TYPE_LEVEL_HIGH>,
4092 <GIC_SPI 421 IRQ_TYPE_LEVEL_HIGH>,
4093 <GIC_SPI 707 IRQ_TYPE_LEVEL_HIGH>,
4094 <GIC_SPI 423 IRQ_TYPE_LEVEL_HIGH>,
4095 <GIC_SPI 424 IRQ_TYPE_LEVEL_HIGH>,
4096 <GIC_SPI 425 IRQ_TYPE_LEVEL_HIGH>,
4097 <GIC_SPI 690 IRQ_TYPE_LEVEL_HIGH>,
4098 <GIC_SPI 691 IRQ_TYPE_LEVEL_HIGH>,
4099 <GIC_SPI 692 IRQ_TYPE_LEVEL_HIGH>,
4100 <GIC_SPI 693 IRQ_TYPE_LEVEL_HIGH>,
4101 <GIC_SPI 694 IRQ_TYPE_LEVEL_HIGH>,
4102 <GIC_SPI 695 IRQ_TYPE_LEVEL_HIGH>,
4103 <GIC_SPI 696 IRQ_TYPE_LEVEL_HIGH>,
4104 <GIC_SPI 697 IRQ_TYPE_LEVEL_HIGH>;
4105 };
4106
4107 intc: interrupt-controller@17100000 {
4108 compatible = "arm,gic-v3";
4109 #interrupt-cells = <3>;
4110 interrupt-controller;
4111 #redistributor-regions = <1>;
4112 redistributor-stride = <0x0 0x40000>;
4113 reg = <0x0 0x17100000 0x0 0x10000>, /* GICD */
4114 <0x0 0x17180000 0x0 0x200000>; /* GICR * 8 */
4115 interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>;
4116 #address-cells = <2>;
4117 #size-cells = <2>;
4118 ranges;
4119
4120 gic_its: msi-controller@17140000 {
4121 compatible = "arm,gic-v3-its";
4122 reg = <0x0 0x17140000 0x0 0x20000>;
4123 msi-controller;
4124 #msi-cells = <1>;
4125 };
4126 };
4127
4128 timer@17420000 {
4129 compatible = "arm,armv7-timer-mem";
4130 #address-cells = <1>;
4131 #size-cells = <1>;
4132 ranges = <0 0 0 0x20000000>;
4133 reg = <0x0 0x17420000 0x0 0x1000>;
4134 clock-frequency = <19200000>;
4135
4136 frame@17421000 {
4137 frame-number = <0>;
4138 interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
4139 <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>;
4140 reg = <0x17421000 0x1000>,
4141 <0x17422000 0x1000>;
4142 };
4143
4144 frame@17423000 {
4145 frame-number = <1>;
4146 interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
4147 reg = <0x17423000 0x1000>;
4148 status = "disabled";
4149 };
4150
4151 frame@17425000 {
4152 frame-number = <2>;
4153 interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
4154 reg = <0x17425000 0x1000>;
4155 status = "disabled";
4156 };
4157
4158 frame@17427000 {
4159 frame-number = <3>;
4160 interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
4161 reg = <0x17427000 0x1000>;
4162 status = "disabled";
4163 };
4164
4165 frame@17429000 {
4166 frame-number = <4>;
4167 interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
4168 reg = <0x17429000 0x1000>;
4169 status = "disabled";
4170 };
4171
4172 frame@1742b000 {
4173 frame-number = <5>;
4174 interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
4175 reg = <0x1742b000 0x1000>;
4176 status = "disabled";
4177 };
4178
4179 frame@1742d000 {
4180 frame-number = <6>;
4181 interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
4182 reg = <0x1742d000 0x1000>;
4183 status = "disabled";
4184 };
4185 };
4186
4187 apps_rsc: rsc@17a00000 {
4188 label = "apps_rsc";
4189 compatible = "qcom,rpmh-rsc";
4190 reg = <0x0 0x17a00000 0x0 0x10000>,
4191 <0x0 0x17a10000 0x0 0x10000>,
4192 <0x0 0x17a20000 0x0 0x10000>,
4193 <0x0 0x17a30000 0x0 0x10000>;
4194 reg-names = "drv-0", "drv-1", "drv-2", "drv-3";
4195 interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>,
4196 <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>,
4197 <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
4198 qcom,tcs-offset = <0xd00>;
4199 qcom,drv-id = <2>;
4200 qcom,tcs-config = <ACTIVE_TCS 3>, <SLEEP_TCS 2>,
4201 <WAKE_TCS 2>, <CONTROL_TCS 0>;
4202 power-domains = <&CLUSTER_PD>;
4203
4204 apps_bcm_voter: bcm-voter {
4205 compatible = "qcom,bcm-voter";
4206 };
4207
4208 rpmhcc: clock-controller {
4209 compatible = "qcom,sm8450-rpmh-clk";
4210 #clock-cells = <1>;
4211 clock-names = "xo";
4212 clocks = <&xo_board>;
4213 };
4214
4215 rpmhpd: power-controller {
4216 compatible = "qcom,sm8450-rpmhpd";
4217 #power-domain-cells = <1>;
4218 operating-points-v2 = <&rpmhpd_opp_table>;
4219
4220 rpmhpd_opp_table: opp-table {
4221 compatible = "operating-points-v2";
4222
4223 rpmhpd_opp_ret: opp1 {
4224 opp-level = <RPMH_REGULATOR_LEVEL_RETENTION>;
4225 };
4226
4227 rpmhpd_opp_min_svs: opp2 {
4228 opp-level = <RPMH_REGULATOR_LEVEL_MIN_SVS>;
4229 };
4230
4231 rpmhpd_opp_low_svs_d1: opp3 {
4232 opp-level = <RPMH_REGULATOR_LEVEL_LOW_SVS_D1>;
4233 };
4234
4235 rpmhpd_opp_low_svs: opp4 {
4236 opp-level = <RPMH_REGULATOR_LEVEL_LOW_SVS>;
4237 };
4238
4239 rpmhpd_opp_low_svs_l1: opp5 {
4240 opp-level = <RPMH_REGULATOR_LEVEL_LOW_SVS_L1>;
4241 };
4242
4243 rpmhpd_opp_svs: opp6 {
4244 opp-level = <RPMH_REGULATOR_LEVEL_SVS>;
4245 };
4246
4247 rpmhpd_opp_svs_l0: opp7 {
4248 opp-level = <RPMH_REGULATOR_LEVEL_SVS_L0>;
4249 };
4250
4251 rpmhpd_opp_svs_l1: opp8 {
4252 opp-level = <RPMH_REGULATOR_LEVEL_SVS_L1>;
4253 };
4254
4255 rpmhpd_opp_svs_l2: opp9 {
4256 opp-level = <RPMH_REGULATOR_LEVEL_SVS_L2>;
4257 };
4258
4259 rpmhpd_opp_nom: opp10 {
4260 opp-level = <RPMH_REGULATOR_LEVEL_NOM>;
4261 };
4262
4263 rpmhpd_opp_nom_l1: opp11 {
4264 opp-level = <RPMH_REGULATOR_LEVEL_NOM_L1>;
4265 };
4266
4267 rpmhpd_opp_nom_l2: opp12 {
4268 opp-level = <RPMH_REGULATOR_LEVEL_NOM_L2>;
4269 };
4270
4271 rpmhpd_opp_turbo: opp13 {
4272 opp-level = <RPMH_REGULATOR_LEVEL_TURBO>;
4273 };
4274
4275 rpmhpd_opp_turbo_l1: opp14 {
4276 opp-level = <RPMH_REGULATOR_LEVEL_TURBO_L1>;
4277 };
4278 };
4279 };
4280 };
4281
4282 cpufreq_hw: cpufreq@17d91000 {
4283 compatible = "qcom,sm8450-cpufreq-epss", "qcom,cpufreq-epss";
4284 reg = <0 0x17d91000 0 0x1000>,
4285 <0 0x17d92000 0 0x1000>,
4286 <0 0x17d93000 0 0x1000>;
4287 reg-names = "freq-domain0", "freq-domain1", "freq-domain2";
4288 clocks = <&rpmhcc RPMH_CXO_CLK>, <&gcc GCC_GPLL0>;
4289 clock-names = "xo", "alternate";
4290 interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>,
4291 <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>,
4292 <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
4293 interrupt-names = "dcvsh-irq-0", "dcvsh-irq-1", "dcvsh-irq-2";
4294 #freq-domain-cells = <1>;
4295 #clock-cells = <1>;
4296 };
4297
4298 gem_noc: interconnect@19100000 {
4299 compatible = "qcom,sm8450-gem-noc";
4300 reg = <0 0x19100000 0 0xbb800>;
4301 #interconnect-cells = <2>;
4302 qcom,bcm-voters = <&apps_bcm_voter>;
4303 };
4304
4305 system-cache-controller@19200000 {
4306 compatible = "qcom,sm8450-llcc";
4307 reg = <0 0x19200000 0 0x80000>, <0 0x19600000 0 0x80000>,
4308 <0 0x19300000 0 0x80000>, <0 0x19700000 0 0x80000>,
4309 <0 0x19a00000 0 0x80000>;
4310 reg-names = "llcc0_base", "llcc1_base", "llcc2_base",
4311 "llcc3_base", "llcc_broadcast_base";
4312 interrupts = <GIC_SPI 266 IRQ_TYPE_LEVEL_HIGH>;
4313 };
4314
4315 ufs_mem_hc: ufshc@1d84000 {
4316 compatible = "qcom,sm8450-ufshc", "qcom,ufshc",
4317 "jedec,ufs-2.0";
4318 reg = <0 0x01d84000 0 0x3000>;
4319 interrupts = <GIC_SPI 265 IRQ_TYPE_LEVEL_HIGH>;
Tom Rini93743d22024-04-01 09:08:13 -04004320 phys = <&ufs_mem_phy>;
Tom Rini53633a82024-02-29 12:33:36 -05004321 phy-names = "ufsphy";
4322 lanes-per-direction = <2>;
4323 #reset-cells = <1>;
4324 resets = <&gcc GCC_UFS_PHY_BCR>;
4325 reset-names = "rst";
4326
4327 power-domains = <&gcc UFS_PHY_GDSC>;
4328
4329 iommus = <&apps_smmu 0xe0 0x0>;
4330 dma-coherent;
4331
4332 interconnects = <&aggre1_noc MASTER_UFS_MEM 0 &mc_virt SLAVE_EBI1 0>,
4333 <&gem_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_UFS_MEM_CFG 0>;
4334 interconnect-names = "ufs-ddr", "cpu-ufs";
4335 clock-names =
4336 "core_clk",
4337 "bus_aggr_clk",
4338 "iface_clk",
4339 "core_clk_unipro",
4340 "ref_clk",
4341 "tx_lane0_sync_clk",
4342 "rx_lane0_sync_clk",
4343 "rx_lane1_sync_clk";
4344 clocks =
4345 <&gcc GCC_UFS_PHY_AXI_CLK>,
4346 <&gcc GCC_AGGRE_UFS_PHY_AXI_CLK>,
4347 <&gcc GCC_UFS_PHY_AHB_CLK>,
4348 <&gcc GCC_UFS_PHY_UNIPRO_CORE_CLK>,
4349 <&rpmhcc RPMH_CXO_CLK>,
4350 <&gcc GCC_UFS_PHY_TX_SYMBOL_0_CLK>,
4351 <&gcc GCC_UFS_PHY_RX_SYMBOL_0_CLK>,
4352 <&gcc GCC_UFS_PHY_RX_SYMBOL_1_CLK>;
4353 freq-table-hz =
4354 <75000000 300000000>,
4355 <0 0>,
4356 <0 0>,
4357 <75000000 300000000>,
4358 <75000000 300000000>,
4359 <0 0>,
4360 <0 0>,
4361 <0 0>;
4362 qcom,ice = <&ice>;
4363
4364 status = "disabled";
4365 };
4366
4367 ufs_mem_phy: phy@1d87000 {
4368 compatible = "qcom,sm8450-qmp-ufs-phy";
Tom Rini93743d22024-04-01 09:08:13 -04004369 reg = <0 0x01d87000 0 0x1000>;
4370
Tom Rini53633a82024-02-29 12:33:36 -05004371 clock-names = "ref", "ref_aux", "qref";
4372 clocks = <&rpmhcc RPMH_CXO_CLK>,
4373 <&gcc GCC_UFS_PHY_PHY_AUX_CLK>,
4374 <&gcc GCC_UFS_0_CLKREF_EN>;
4375
4376 resets = <&ufs_mem_hc 0>;
4377 reset-names = "ufsphy";
Tom Rini53633a82024-02-29 12:33:36 -05004378
Tom Rini93743d22024-04-01 09:08:13 -04004379 #clock-cells = <1>;
4380 #phy-cells = <0>;
4381
4382 status = "disabled";
Tom Rini53633a82024-02-29 12:33:36 -05004383 };
4384
4385 ice: crypto@1d88000 {
4386 compatible = "qcom,sm8450-inline-crypto-engine",
4387 "qcom,inline-crypto-engine";
4388 reg = <0 0x01d88000 0 0x8000>;
4389 clocks = <&gcc GCC_UFS_PHY_ICE_CORE_CLK>;
4390 };
4391
4392 cryptobam: dma-controller@1dc4000 {
4393 compatible = "qcom,bam-v1.7.4", "qcom,bam-v1.7.0";
4394 reg = <0 0x01dc4000 0 0x28000>;
4395 interrupts = <GIC_SPI 272 IRQ_TYPE_LEVEL_HIGH>;
4396 #dma-cells = <1>;
4397 qcom,ee = <0>;
4398 qcom,controlled-remotely;
4399 iommus = <&apps_smmu 0x584 0x11>,
4400 <&apps_smmu 0x588 0x0>,
4401 <&apps_smmu 0x598 0x5>,
4402 <&apps_smmu 0x59a 0x0>,
4403 <&apps_smmu 0x59f 0x0>;
4404 };
4405
4406 crypto: crypto@1dfa000 {
4407 compatible = "qcom,sm8450-qce", "qcom,sm8150-qce", "qcom,qce";
4408 reg = <0 0x01dfa000 0 0x6000>;
4409 dmas = <&cryptobam 4>, <&cryptobam 5>;
4410 dma-names = "rx", "tx";
4411 iommus = <&apps_smmu 0x584 0x11>,
4412 <&apps_smmu 0x588 0x0>,
4413 <&apps_smmu 0x598 0x5>,
4414 <&apps_smmu 0x59a 0x0>,
4415 <&apps_smmu 0x59f 0x0>;
4416 interconnects = <&aggre2_noc MASTER_CRYPTO 0 &mc_virt SLAVE_EBI1 0>;
4417 interconnect-names = "memory";
4418 };
4419
4420 sdhc_2: mmc@8804000 {
4421 compatible = "qcom,sm8450-sdhci", "qcom,sdhci-msm-v5";
4422 reg = <0 0x08804000 0 0x1000>;
4423
4424 interrupts = <GIC_SPI 207 IRQ_TYPE_LEVEL_HIGH>,
4425 <GIC_SPI 223 IRQ_TYPE_LEVEL_HIGH>;
4426 interrupt-names = "hc_irq", "pwr_irq";
4427
4428 clocks = <&gcc GCC_SDCC2_AHB_CLK>,
4429 <&gcc GCC_SDCC2_APPS_CLK>,
4430 <&rpmhcc RPMH_CXO_CLK>;
4431 clock-names = "iface", "core", "xo";
4432 resets = <&gcc GCC_SDCC2_BCR>;
4433 interconnects = <&aggre2_noc MASTER_SDCC_2 0 &mc_virt SLAVE_EBI1 0>,
4434 <&gem_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_SDCC_2 0>;
4435 interconnect-names = "sdhc-ddr","cpu-sdhc";
4436 iommus = <&apps_smmu 0x4a0 0x0>;
4437 power-domains = <&rpmhpd RPMHPD_CX>;
4438 operating-points-v2 = <&sdhc2_opp_table>;
4439 bus-width = <4>;
4440 dma-coherent;
4441
4442 /* Forbid SDR104/SDR50 - broken hw! */
4443 sdhci-caps-mask = <0x3 0x0>;
4444
4445 status = "disabled";
4446
4447 sdhc2_opp_table: opp-table {
4448 compatible = "operating-points-v2";
4449
4450 opp-100000000 {
4451 opp-hz = /bits/ 64 <100000000>;
4452 required-opps = <&rpmhpd_opp_low_svs>;
4453 };
4454
4455 opp-202000000 {
4456 opp-hz = /bits/ 64 <202000000>;
4457 required-opps = <&rpmhpd_opp_svs_l1>;
4458 };
4459 };
4460 };
4461
4462 usb_1: usb@a6f8800 {
4463 compatible = "qcom,sm8450-dwc3", "qcom,dwc3";
4464 reg = <0 0x0a6f8800 0 0x400>;
4465 status = "disabled";
4466 #address-cells = <2>;
4467 #size-cells = <2>;
4468 ranges;
4469
4470 clocks = <&gcc GCC_CFG_NOC_USB3_PRIM_AXI_CLK>,
4471 <&gcc GCC_USB30_PRIM_MASTER_CLK>,
4472 <&gcc GCC_AGGRE_USB3_PRIM_AXI_CLK>,
4473 <&gcc GCC_USB30_PRIM_SLEEP_CLK>,
4474 <&gcc GCC_USB30_PRIM_MOCK_UTMI_CLK>,
4475 <&gcc GCC_USB3_0_CLKREF_EN>;
4476 clock-names = "cfg_noc",
4477 "core",
4478 "iface",
4479 "sleep",
4480 "mock_utmi",
4481 "xo";
4482
4483 assigned-clocks = <&gcc GCC_USB30_PRIM_MOCK_UTMI_CLK>,
4484 <&gcc GCC_USB30_PRIM_MASTER_CLK>;
4485 assigned-clock-rates = <19200000>, <200000000>;
4486
4487 interrupts-extended = <&intc GIC_SPI 130 IRQ_TYPE_LEVEL_HIGH>,
4488 <&pdc 17 IRQ_TYPE_LEVEL_HIGH>,
4489 <&pdc 15 IRQ_TYPE_EDGE_BOTH>,
4490 <&pdc 14 IRQ_TYPE_EDGE_BOTH>;
4491 interrupt-names = "hs_phy_irq",
4492 "ss_phy_irq",
4493 "dm_hs_phy_irq",
4494 "dp_hs_phy_irq";
4495
4496 power-domains = <&gcc USB30_PRIM_GDSC>;
4497
4498 resets = <&gcc GCC_USB30_PRIM_BCR>;
4499
4500 interconnects = <&aggre1_noc MASTER_USB3_0 0 &mc_virt SLAVE_EBI1 0>,
4501 <&gem_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_USB3_0 0>;
4502 interconnect-names = "usb-ddr", "apps-usb";
4503
4504 usb_1_dwc3: usb@a600000 {
4505 compatible = "snps,dwc3";
4506 reg = <0 0x0a600000 0 0xcd00>;
4507 interrupts = <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>;
4508 iommus = <&apps_smmu 0x0 0x0>;
4509 snps,dis_u2_susphy_quirk;
4510 snps,dis_enblslpm_quirk;
4511 phys = <&usb_1_hsphy>, <&usb_1_qmpphy QMP_USB43DP_USB3_PHY>;
4512 phy-names = "usb2-phy", "usb3-phy";
4513
4514 ports {
4515 #address-cells = <1>;
4516 #size-cells = <0>;
4517
4518 port@0 {
4519 reg = <0>;
4520
4521 usb_1_dwc3_hs: endpoint {
4522 };
4523 };
4524
4525 port@1 {
4526 reg = <1>;
4527
4528 usb_1_dwc3_ss: endpoint {
4529 };
4530 };
4531 };
4532 };
4533 };
4534
4535 nsp_noc: interconnect@320c0000 {
4536 compatible = "qcom,sm8450-nsp-noc";
4537 reg = <0 0x320c0000 0 0x10000>;
4538 #interconnect-cells = <2>;
4539 qcom,bcm-voters = <&apps_bcm_voter>;
4540 };
4541
4542 lpass_ag_noc: interconnect@3c40000 {
4543 compatible = "qcom,sm8450-lpass-ag-noc";
4544 reg = <0 0x03c40000 0 0x17200>;
4545 #interconnect-cells = <2>;
4546 qcom,bcm-voters = <&apps_bcm_voter>;
4547 };
4548 };
4549
4550 sound: sound {
4551 };
4552
4553 thermal-zones {
4554 aoss0-thermal {
4555 polling-delay-passive = <0>;
4556 polling-delay = <0>;
4557 thermal-sensors = <&tsens0 0>;
4558
4559 trips {
4560 thermal-engine-config {
4561 temperature = <125000>;
4562 hysteresis = <1000>;
4563 type = "passive";
4564 };
4565
4566 reset-mon-cfg {
4567 temperature = <115000>;
4568 hysteresis = <5000>;
4569 type = "passive";
4570 };
4571 };
4572 };
4573
4574 cpuss0-thermal {
4575 polling-delay-passive = <0>;
4576 polling-delay = <0>;
4577 thermal-sensors = <&tsens0 1>;
4578
4579 trips {
4580 thermal-engine-config {
4581 temperature = <125000>;
4582 hysteresis = <1000>;
4583 type = "passive";
4584 };
4585
4586 reset-mon-cfg {
4587 temperature = <115000>;
4588 hysteresis = <5000>;
4589 type = "passive";
4590 };
4591 };
4592 };
4593
4594 cpuss1-thermal {
4595 polling-delay-passive = <0>;
4596 polling-delay = <0>;
4597 thermal-sensors = <&tsens0 2>;
4598
4599 trips {
4600 thermal-engine-config {
4601 temperature = <125000>;
4602 hysteresis = <1000>;
4603 type = "passive";
4604 };
4605
4606 reset-mon-cfg {
4607 temperature = <115000>;
4608 hysteresis = <5000>;
4609 type = "passive";
4610 };
4611 };
4612 };
4613
4614 cpuss3-thermal {
4615 polling-delay-passive = <0>;
4616 polling-delay = <0>;
4617 thermal-sensors = <&tsens0 3>;
4618
4619 trips {
4620 thermal-engine-config {
4621 temperature = <125000>;
4622 hysteresis = <1000>;
4623 type = "passive";
4624 };
4625
4626 reset-mon-cfg {
4627 temperature = <115000>;
4628 hysteresis = <5000>;
4629 type = "passive";
4630 };
4631 };
4632 };
4633
4634 cpuss4-thermal {
4635 polling-delay-passive = <0>;
4636 polling-delay = <0>;
4637 thermal-sensors = <&tsens0 4>;
4638
4639 trips {
4640 thermal-engine-config {
4641 temperature = <125000>;
4642 hysteresis = <1000>;
4643 type = "passive";
4644 };
4645
4646 reset-mon-cfg {
4647 temperature = <115000>;
4648 hysteresis = <5000>;
4649 type = "passive";
4650 };
4651 };
4652 };
4653
4654 cpu4-top-thermal {
4655 polling-delay-passive = <0>;
4656 polling-delay = <0>;
4657 thermal-sensors = <&tsens0 5>;
4658
4659 trips {
4660 cpu4_top_alert0: trip-point0 {
4661 temperature = <90000>;
4662 hysteresis = <2000>;
4663 type = "passive";
4664 };
4665
4666 cpu4_top_alert1: trip-point1 {
4667 temperature = <95000>;
4668 hysteresis = <2000>;
4669 type = "passive";
4670 };
4671
4672 cpu4_top_crit: cpu-crit {
4673 temperature = <110000>;
4674 hysteresis = <1000>;
4675 type = "critical";
4676 };
4677 };
4678 };
4679
4680 cpu4-bottom-thermal {
4681 polling-delay-passive = <0>;
4682 polling-delay = <0>;
4683 thermal-sensors = <&tsens0 6>;
4684
4685 trips {
4686 cpu4_bottom_alert0: trip-point0 {
4687 temperature = <90000>;
4688 hysteresis = <2000>;
4689 type = "passive";
4690 };
4691
4692 cpu4_bottom_alert1: trip-point1 {
4693 temperature = <95000>;
4694 hysteresis = <2000>;
4695 type = "passive";
4696 };
4697
4698 cpu4_bottom_crit: cpu-crit {
4699 temperature = <110000>;
4700 hysteresis = <1000>;
4701 type = "critical";
4702 };
4703 };
4704 };
4705
4706 cpu5-top-thermal {
4707 polling-delay-passive = <0>;
4708 polling-delay = <0>;
4709 thermal-sensors = <&tsens0 7>;
4710
4711 trips {
4712 cpu5_top_alert0: trip-point0 {
4713 temperature = <90000>;
4714 hysteresis = <2000>;
4715 type = "passive";
4716 };
4717
4718 cpu5_top_alert1: trip-point1 {
4719 temperature = <95000>;
4720 hysteresis = <2000>;
4721 type = "passive";
4722 };
4723
4724 cpu5_top_crit: cpu-crit {
4725 temperature = <110000>;
4726 hysteresis = <1000>;
4727 type = "critical";
4728 };
4729 };
4730 };
4731
4732 cpu5-bottom-thermal {
4733 polling-delay-passive = <0>;
4734 polling-delay = <0>;
4735 thermal-sensors = <&tsens0 8>;
4736
4737 trips {
4738 cpu5_bottom_alert0: trip-point0 {
4739 temperature = <90000>;
4740 hysteresis = <2000>;
4741 type = "passive";
4742 };
4743
4744 cpu5_bottom_alert1: trip-point1 {
4745 temperature = <95000>;
4746 hysteresis = <2000>;
4747 type = "passive";
4748 };
4749
4750 cpu5_bottom_crit: cpu-crit {
4751 temperature = <110000>;
4752 hysteresis = <1000>;
4753 type = "critical";
4754 };
4755 };
4756 };
4757
4758 cpu6-top-thermal {
4759 polling-delay-passive = <0>;
4760 polling-delay = <0>;
4761 thermal-sensors = <&tsens0 9>;
4762
4763 trips {
4764 cpu6_top_alert0: trip-point0 {
4765 temperature = <90000>;
4766 hysteresis = <2000>;
4767 type = "passive";
4768 };
4769
4770 cpu6_top_alert1: trip-point1 {
4771 temperature = <95000>;
4772 hysteresis = <2000>;
4773 type = "passive";
4774 };
4775
4776 cpu6_top_crit: cpu-crit {
4777 temperature = <110000>;
4778 hysteresis = <1000>;
4779 type = "critical";
4780 };
4781 };
4782 };
4783
4784 cpu6-bottom-thermal {
4785 polling-delay-passive = <0>;
4786 polling-delay = <0>;
4787 thermal-sensors = <&tsens0 10>;
4788
4789 trips {
4790 cpu6_bottom_alert0: trip-point0 {
4791 temperature = <90000>;
4792 hysteresis = <2000>;
4793 type = "passive";
4794 };
4795
4796 cpu6_bottom_alert1: trip-point1 {
4797 temperature = <95000>;
4798 hysteresis = <2000>;
4799 type = "passive";
4800 };
4801
4802 cpu6_bottom_crit: cpu-crit {
4803 temperature = <110000>;
4804 hysteresis = <1000>;
4805 type = "critical";
4806 };
4807 };
4808 };
4809
4810 cpu7-top-thermal {
4811 polling-delay-passive = <0>;
4812 polling-delay = <0>;
4813 thermal-sensors = <&tsens0 11>;
4814
4815 trips {
4816 cpu7_top_alert0: trip-point0 {
4817 temperature = <90000>;
4818 hysteresis = <2000>;
4819 type = "passive";
4820 };
4821
4822 cpu7_top_alert1: trip-point1 {
4823 temperature = <95000>;
4824 hysteresis = <2000>;
4825 type = "passive";
4826 };
4827
4828 cpu7_top_crit: cpu-crit {
4829 temperature = <110000>;
4830 hysteresis = <1000>;
4831 type = "critical";
4832 };
4833 };
4834 };
4835
4836 cpu7-middle-thermal {
4837 polling-delay-passive = <0>;
4838 polling-delay = <0>;
4839 thermal-sensors = <&tsens0 12>;
4840
4841 trips {
4842 cpu7_middle_alert0: trip-point0 {
4843 temperature = <90000>;
4844 hysteresis = <2000>;
4845 type = "passive";
4846 };
4847
4848 cpu7_middle_alert1: trip-point1 {
4849 temperature = <95000>;
4850 hysteresis = <2000>;
4851 type = "passive";
4852 };
4853
4854 cpu7_middle_crit: cpu-crit {
4855 temperature = <110000>;
4856 hysteresis = <1000>;
4857 type = "critical";
4858 };
4859 };
4860 };
4861
4862 cpu7-bottom-thermal {
4863 polling-delay-passive = <0>;
4864 polling-delay = <0>;
4865 thermal-sensors = <&tsens0 13>;
4866
4867 trips {
4868 cpu7_bottom_alert0: trip-point0 {
4869 temperature = <90000>;
4870 hysteresis = <2000>;
4871 type = "passive";
4872 };
4873
4874 cpu7_bottom_alert1: trip-point1 {
4875 temperature = <95000>;
4876 hysteresis = <2000>;
4877 type = "passive";
4878 };
4879
4880 cpu7_bottom_crit: cpu-crit {
4881 temperature = <110000>;
4882 hysteresis = <1000>;
4883 type = "critical";
4884 };
4885 };
4886 };
4887
4888 gpu-top-thermal {
4889 polling-delay-passive = <10>;
4890 polling-delay = <0>;
4891 thermal-sensors = <&tsens0 14>;
4892
4893 trips {
4894 thermal-engine-config {
4895 temperature = <125000>;
4896 hysteresis = <1000>;
4897 type = "passive";
4898 };
4899
4900 thermal-hal-config {
4901 temperature = <125000>;
4902 hysteresis = <1000>;
4903 type = "passive";
4904 };
4905
4906 reset-mon-cfg {
4907 temperature = <115000>;
4908 hysteresis = <5000>;
4909 type = "passive";
4910 };
4911
4912 gpu0_tj_cfg: tj-cfg {
4913 temperature = <95000>;
4914 hysteresis = <5000>;
4915 type = "passive";
4916 };
4917 };
4918 };
4919
4920 gpu-bottom-thermal {
4921 polling-delay-passive = <10>;
4922 polling-delay = <0>;
4923 thermal-sensors = <&tsens0 15>;
4924
4925 trips {
4926 thermal-engine-config {
4927 temperature = <125000>;
4928 hysteresis = <1000>;
4929 type = "passive";
4930 };
4931
4932 thermal-hal-config {
4933 temperature = <125000>;
4934 hysteresis = <1000>;
4935 type = "passive";
4936 };
4937
4938 reset-mon-cfg {
4939 temperature = <115000>;
4940 hysteresis = <5000>;
4941 type = "passive";
4942 };
4943
4944 gpu1_tj_cfg: tj-cfg {
4945 temperature = <95000>;
4946 hysteresis = <5000>;
4947 type = "passive";
4948 };
4949 };
4950 };
4951
4952 aoss1-thermal {
4953 polling-delay-passive = <0>;
4954 polling-delay = <0>;
4955 thermal-sensors = <&tsens1 0>;
4956
4957 trips {
4958 thermal-engine-config {
4959 temperature = <125000>;
4960 hysteresis = <1000>;
4961 type = "passive";
4962 };
4963
4964 reset-mon-cfg {
4965 temperature = <115000>;
4966 hysteresis = <5000>;
4967 type = "passive";
4968 };
4969 };
4970 };
4971
4972 cpu0-thermal {
4973 polling-delay-passive = <0>;
4974 polling-delay = <0>;
4975 thermal-sensors = <&tsens1 1>;
4976
4977 trips {
4978 cpu0_alert0: trip-point0 {
4979 temperature = <90000>;
4980 hysteresis = <2000>;
4981 type = "passive";
4982 };
4983
4984 cpu0_alert1: trip-point1 {
4985 temperature = <95000>;
4986 hysteresis = <2000>;
4987 type = "passive";
4988 };
4989
4990 cpu0_crit: cpu-crit {
4991 temperature = <110000>;
4992 hysteresis = <1000>;
4993 type = "critical";
4994 };
4995 };
4996 };
4997
4998 cpu1-thermal {
4999 polling-delay-passive = <0>;
5000 polling-delay = <0>;
5001 thermal-sensors = <&tsens1 2>;
5002
5003 trips {
5004 cpu1_alert0: trip-point0 {
5005 temperature = <90000>;
5006 hysteresis = <2000>;
5007 type = "passive";
5008 };
5009
5010 cpu1_alert1: trip-point1 {
5011 temperature = <95000>;
5012 hysteresis = <2000>;
5013 type = "passive";
5014 };
5015
5016 cpu1_crit: cpu-crit {
5017 temperature = <110000>;
5018 hysteresis = <1000>;
5019 type = "critical";
5020 };
5021 };
5022 };
5023
5024 cpu2-thermal {
5025 polling-delay-passive = <0>;
5026 polling-delay = <0>;
5027 thermal-sensors = <&tsens1 3>;
5028
5029 trips {
5030 cpu2_alert0: trip-point0 {
5031 temperature = <90000>;
5032 hysteresis = <2000>;
5033 type = "passive";
5034 };
5035
5036 cpu2_alert1: trip-point1 {
5037 temperature = <95000>;
5038 hysteresis = <2000>;
5039 type = "passive";
5040 };
5041
5042 cpu2_crit: cpu-crit {
5043 temperature = <110000>;
5044 hysteresis = <1000>;
5045 type = "critical";
5046 };
5047 };
5048 };
5049
5050 cpu3-thermal {
5051 polling-delay-passive = <0>;
5052 polling-delay = <0>;
5053 thermal-sensors = <&tsens1 4>;
5054
5055 trips {
5056 cpu3_alert0: trip-point0 {
5057 temperature = <90000>;
5058 hysteresis = <2000>;
5059 type = "passive";
5060 };
5061
5062 cpu3_alert1: trip-point1 {
5063 temperature = <95000>;
5064 hysteresis = <2000>;
5065 type = "passive";
5066 };
5067
5068 cpu3_crit: cpu-crit {
5069 temperature = <110000>;
5070 hysteresis = <1000>;
5071 type = "critical";
5072 };
5073 };
5074 };
5075
5076 cdsp0-thermal {
5077 polling-delay-passive = <10>;
5078 polling-delay = <0>;
5079 thermal-sensors = <&tsens1 5>;
5080
5081 trips {
5082 thermal-engine-config {
5083 temperature = <125000>;
5084 hysteresis = <1000>;
5085 type = "passive";
5086 };
5087
5088 thermal-hal-config {
5089 temperature = <125000>;
5090 hysteresis = <1000>;
5091 type = "passive";
5092 };
5093
5094 reset-mon-cfg {
5095 temperature = <115000>;
5096 hysteresis = <5000>;
5097 type = "passive";
5098 };
5099
5100 cdsp_0_config: junction-config {
5101 temperature = <95000>;
5102 hysteresis = <5000>;
5103 type = "passive";
5104 };
5105 };
5106 };
5107
5108 cdsp1-thermal {
5109 polling-delay-passive = <10>;
5110 polling-delay = <0>;
5111 thermal-sensors = <&tsens1 6>;
5112
5113 trips {
5114 thermal-engine-config {
5115 temperature = <125000>;
5116 hysteresis = <1000>;
5117 type = "passive";
5118 };
5119
5120 thermal-hal-config {
5121 temperature = <125000>;
5122 hysteresis = <1000>;
5123 type = "passive";
5124 };
5125
5126 reset-mon-cfg {
5127 temperature = <115000>;
5128 hysteresis = <5000>;
5129 type = "passive";
5130 };
5131
5132 cdsp_1_config: junction-config {
5133 temperature = <95000>;
5134 hysteresis = <5000>;
5135 type = "passive";
5136 };
5137 };
5138 };
5139
5140 cdsp2-thermal {
5141 polling-delay-passive = <10>;
5142 polling-delay = <0>;
5143 thermal-sensors = <&tsens1 7>;
5144
5145 trips {
5146 thermal-engine-config {
5147 temperature = <125000>;
5148 hysteresis = <1000>;
5149 type = "passive";
5150 };
5151
5152 thermal-hal-config {
5153 temperature = <125000>;
5154 hysteresis = <1000>;
5155 type = "passive";
5156 };
5157
5158 reset-mon-cfg {
5159 temperature = <115000>;
5160 hysteresis = <5000>;
5161 type = "passive";
5162 };
5163
5164 cdsp_2_config: junction-config {
5165 temperature = <95000>;
5166 hysteresis = <5000>;
5167 type = "passive";
5168 };
5169 };
5170 };
5171
5172 video-thermal {
5173 polling-delay-passive = <0>;
5174 polling-delay = <0>;
5175 thermal-sensors = <&tsens1 8>;
5176
5177 trips {
5178 thermal-engine-config {
5179 temperature = <125000>;
5180 hysteresis = <1000>;
5181 type = "passive";
5182 };
5183
5184 reset-mon-cfg {
5185 temperature = <115000>;
5186 hysteresis = <5000>;
5187 type = "passive";
5188 };
5189 };
5190 };
5191
5192 mem-thermal {
5193 polling-delay-passive = <10>;
5194 polling-delay = <0>;
5195 thermal-sensors = <&tsens1 9>;
5196
5197 trips {
5198 thermal-engine-config {
5199 temperature = <125000>;
5200 hysteresis = <1000>;
5201 type = "passive";
5202 };
5203
5204 ddr_config0: ddr0-config {
5205 temperature = <90000>;
5206 hysteresis = <5000>;
5207 type = "passive";
5208 };
5209
5210 reset-mon-cfg {
5211 temperature = <115000>;
5212 hysteresis = <5000>;
5213 type = "passive";
5214 };
5215 };
5216 };
5217
5218 modem0-thermal {
5219 polling-delay-passive = <0>;
5220 polling-delay = <0>;
5221 thermal-sensors = <&tsens1 10>;
5222
5223 trips {
5224 thermal-engine-config {
5225 temperature = <125000>;
5226 hysteresis = <1000>;
5227 type = "passive";
5228 };
5229
5230 mdmss0_config0: mdmss0-config0 {
5231 temperature = <102000>;
5232 hysteresis = <3000>;
5233 type = "passive";
5234 };
5235
5236 mdmss0_config1: mdmss0-config1 {
5237 temperature = <105000>;
5238 hysteresis = <3000>;
5239 type = "passive";
5240 };
5241
5242 reset-mon-cfg {
5243 temperature = <115000>;
5244 hysteresis = <5000>;
5245 type = "passive";
5246 };
5247 };
5248 };
5249
5250 modem1-thermal {
5251 polling-delay-passive = <0>;
5252 polling-delay = <0>;
5253 thermal-sensors = <&tsens1 11>;
5254
5255 trips {
5256 thermal-engine-config {
5257 temperature = <125000>;
5258 hysteresis = <1000>;
5259 type = "passive";
5260 };
5261
5262 mdmss1_config0: mdmss1-config0 {
5263 temperature = <102000>;
5264 hysteresis = <3000>;
5265 type = "passive";
5266 };
5267
5268 mdmss1_config1: mdmss1-config1 {
5269 temperature = <105000>;
5270 hysteresis = <3000>;
5271 type = "passive";
5272 };
5273
5274 reset-mon-cfg {
5275 temperature = <115000>;
5276 hysteresis = <5000>;
5277 type = "passive";
5278 };
5279 };
5280 };
5281
5282 modem2-thermal {
5283 polling-delay-passive = <0>;
5284 polling-delay = <0>;
5285 thermal-sensors = <&tsens1 12>;
5286
5287 trips {
5288 thermal-engine-config {
5289 temperature = <125000>;
5290 hysteresis = <1000>;
5291 type = "passive";
5292 };
5293
5294 mdmss2_config0: mdmss2-config0 {
5295 temperature = <102000>;
5296 hysteresis = <3000>;
5297 type = "passive";
5298 };
5299
5300 mdmss2_config1: mdmss2-config1 {
5301 temperature = <105000>;
5302 hysteresis = <3000>;
5303 type = "passive";
5304 };
5305
5306 reset-mon-cfg {
5307 temperature = <115000>;
5308 hysteresis = <5000>;
5309 type = "passive";
5310 };
5311 };
5312 };
5313
5314 modem3-thermal {
5315 polling-delay-passive = <0>;
5316 polling-delay = <0>;
5317 thermal-sensors = <&tsens1 13>;
5318
5319 trips {
5320 thermal-engine-config {
5321 temperature = <125000>;
5322 hysteresis = <1000>;
5323 type = "passive";
5324 };
5325
5326 mdmss3_config0: mdmss3-config0 {
5327 temperature = <102000>;
5328 hysteresis = <3000>;
5329 type = "passive";
5330 };
5331
5332 mdmss3_config1: mdmss3-config1 {
5333 temperature = <105000>;
5334 hysteresis = <3000>;
5335 type = "passive";
5336 };
5337
5338 reset-mon-cfg {
5339 temperature = <115000>;
5340 hysteresis = <5000>;
5341 type = "passive";
5342 };
5343 };
5344 };
5345
5346 camera0-thermal {
5347 polling-delay-passive = <0>;
5348 polling-delay = <0>;
5349 thermal-sensors = <&tsens1 14>;
5350
5351 trips {
5352 thermal-engine-config {
5353 temperature = <125000>;
5354 hysteresis = <1000>;
5355 type = "passive";
5356 };
5357
5358 reset-mon-cfg {
5359 temperature = <115000>;
5360 hysteresis = <5000>;
5361 type = "passive";
5362 };
5363 };
5364 };
5365
5366 camera1-thermal {
5367 polling-delay-passive = <0>;
5368 polling-delay = <0>;
5369 thermal-sensors = <&tsens1 15>;
5370
5371 trips {
5372 thermal-engine-config {
5373 temperature = <125000>;
5374 hysteresis = <1000>;
5375 type = "passive";
5376 };
5377
5378 reset-mon-cfg {
5379 temperature = <115000>;
5380 hysteresis = <5000>;
5381 type = "passive";
5382 };
5383 };
5384 };
5385 };
5386
5387 timer {
5388 compatible = "arm,armv8-timer";
5389 interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>,
5390 <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>,
5391 <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>,
5392 <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>;
5393 clock-frequency = <19200000>;
5394 };
5395};