blob: 05e4d491ec18c4bb0cbdbade6d62deab7f857e90 [file] [log] [blame]
Tom Rini93743d22024-04-01 09:08:13 -04001// SPDX-License-Identifier: BSD-3-Clause
2/*
3 * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
4 */
5
6#include <dt-bindings/clock/qcom,rpmh.h>
Tom Rini6bb92fc2024-05-20 09:54:58 -06007#include <dt-bindings/clock/qcom,x1e80100-dispcc.h>
Tom Rini93743d22024-04-01 09:08:13 -04008#include <dt-bindings/clock/qcom,x1e80100-gcc.h>
Tom Rini6bb92fc2024-05-20 09:54:58 -06009#include <dt-bindings/clock/qcom,x1e80100-tcsr.h>
Tom Rini93743d22024-04-01 09:08:13 -040010#include <dt-bindings/dma/qcom-gpi.h>
11#include <dt-bindings/interconnect/qcom,icc.h>
12#include <dt-bindings/interconnect/qcom,x1e80100-rpmh.h>
13#include <dt-bindings/interrupt-controller/arm-gic.h>
Tom Rini6bb92fc2024-05-20 09:54:58 -060014#include <dt-bindings/mailbox/qcom-ipcc.h>
15#include <dt-bindings/phy/phy-qcom-qmp.h>
Tom Rini93743d22024-04-01 09:08:13 -040016#include <dt-bindings/power/qcom,rpmhpd.h>
17#include <dt-bindings/power/qcom-rpmpd.h>
Tom Rini6bb92fc2024-05-20 09:54:58 -060018#include <dt-bindings/soc/qcom,gpr.h>
Tom Rini93743d22024-04-01 09:08:13 -040019#include <dt-bindings/soc/qcom,rpmh-rsc.h>
Tom Rini6bb92fc2024-05-20 09:54:58 -060020#include <dt-bindings/sound/qcom,q6dsp-lpass-ports.h>
Tom Rini93743d22024-04-01 09:08:13 -040021
22/ {
23 interrupt-parent = <&intc>;
24
25 #address-cells = <2>;
26 #size-cells = <2>;
27
28 chosen { };
29
30 clocks {
31 xo_board: xo-board {
32 compatible = "fixed-clock";
33 clock-frequency = <76800000>;
34 #clock-cells = <0>;
35 };
36
37 sleep_clk: sleep-clk {
38 compatible = "fixed-clock";
39 clock-frequency = <32000>;
40 #clock-cells = <0>;
41 };
42
43 bi_tcxo_div2: bi-tcxo-div2-clk {
44 compatible = "fixed-factor-clock";
45 #clock-cells = <0>;
46
47 clocks = <&rpmhcc RPMH_CXO_CLK>;
48 clock-mult = <1>;
49 clock-div = <2>;
50 };
51
52 bi_tcxo_ao_div2: bi-tcxo-ao-div2-clk {
53 compatible = "fixed-factor-clock";
54 #clock-cells = <0>;
55
56 clocks = <&rpmhcc RPMH_CXO_CLK_A>;
57 clock-mult = <1>;
58 clock-div = <2>;
59 };
60 };
61
62 cpus {
63 #address-cells = <2>;
64 #size-cells = <0>;
65
66 CPU0: cpu@0 {
67 device_type = "cpu";
68 compatible = "qcom,oryon";
69 reg = <0x0 0x0>;
70 enable-method = "psci";
71 next-level-cache = <&L2_0>;
72 power-domains = <&CPU_PD0>;
73 power-domain-names = "psci";
74 cpu-idle-states = <&CLUSTER_C4>;
75
76 L2_0: l2-cache {
77 compatible = "cache";
78 cache-level = <2>;
79 cache-unified;
80 };
81 };
82
83 CPU1: cpu@100 {
84 device_type = "cpu";
85 compatible = "qcom,oryon";
86 reg = <0x0 0x100>;
87 enable-method = "psci";
88 next-level-cache = <&L2_0>;
89 power-domains = <&CPU_PD1>;
90 power-domain-names = "psci";
91 cpu-idle-states = <&CLUSTER_C4>;
92 };
93
94 CPU2: cpu@200 {
95 device_type = "cpu";
96 compatible = "qcom,oryon";
97 reg = <0x0 0x200>;
98 enable-method = "psci";
99 next-level-cache = <&L2_0>;
100 power-domains = <&CPU_PD2>;
101 power-domain-names = "psci";
102 cpu-idle-states = <&CLUSTER_C4>;
103 };
104
105 CPU3: cpu@300 {
106 device_type = "cpu";
107 compatible = "qcom,oryon";
108 reg = <0x0 0x300>;
109 enable-method = "psci";
110 next-level-cache = <&L2_0>;
111 power-domains = <&CPU_PD3>;
112 power-domain-names = "psci";
113 cpu-idle-states = <&CLUSTER_C4>;
114 };
115
116 CPU4: cpu@10000 {
117 device_type = "cpu";
118 compatible = "qcom,oryon";
119 reg = <0x0 0x10000>;
120 enable-method = "psci";
121 next-level-cache = <&L2_1>;
122 power-domains = <&CPU_PD4>;
123 power-domain-names = "psci";
124 cpu-idle-states = <&CLUSTER_C4>;
125
126 L2_1: l2-cache {
127 compatible = "cache";
128 cache-level = <2>;
129 cache-unified;
130 };
131 };
132
133 CPU5: cpu@10100 {
134 device_type = "cpu";
135 compatible = "qcom,oryon";
136 reg = <0x0 0x10100>;
137 enable-method = "psci";
138 next-level-cache = <&L2_1>;
139 power-domains = <&CPU_PD5>;
140 power-domain-names = "psci";
141 cpu-idle-states = <&CLUSTER_C4>;
142 };
143
144 CPU6: cpu@10200 {
145 device_type = "cpu";
146 compatible = "qcom,oryon";
147 reg = <0x0 0x10200>;
148 enable-method = "psci";
149 next-level-cache = <&L2_1>;
150 power-domains = <&CPU_PD6>;
151 power-domain-names = "psci";
152 cpu-idle-states = <&CLUSTER_C4>;
153 };
154
155 CPU7: cpu@10300 {
156 device_type = "cpu";
157 compatible = "qcom,oryon";
158 reg = <0x0 0x10300>;
159 enable-method = "psci";
160 next-level-cache = <&L2_1>;
161 power-domains = <&CPU_PD7>;
162 power-domain-names = "psci";
163 cpu-idle-states = <&CLUSTER_C4>;
164 };
165
166 CPU8: cpu@20000 {
167 device_type = "cpu";
168 compatible = "qcom,oryon";
169 reg = <0x0 0x20000>;
170 enable-method = "psci";
171 next-level-cache = <&L2_2>;
172 power-domains = <&CPU_PD8>;
173 power-domain-names = "psci";
174 cpu-idle-states = <&CLUSTER_C4>;
175
176 L2_2: l2-cache {
177 compatible = "cache";
178 cache-level = <2>;
179 cache-unified;
180 };
181 };
182
183 CPU9: cpu@20100 {
184 device_type = "cpu";
185 compatible = "qcom,oryon";
186 reg = <0x0 0x20100>;
187 enable-method = "psci";
188 next-level-cache = <&L2_2>;
189 power-domains = <&CPU_PD9>;
190 power-domain-names = "psci";
191 cpu-idle-states = <&CLUSTER_C4>;
192 };
193
194 CPU10: cpu@20200 {
195 device_type = "cpu";
196 compatible = "qcom,oryon";
197 reg = <0x0 0x20200>;
198 enable-method = "psci";
199 next-level-cache = <&L2_2>;
200 power-domains = <&CPU_PD10>;
201 power-domain-names = "psci";
202 cpu-idle-states = <&CLUSTER_C4>;
203 };
204
205 CPU11: cpu@20300 {
206 device_type = "cpu";
207 compatible = "qcom,oryon";
208 reg = <0x0 0x20300>;
209 enable-method = "psci";
210 next-level-cache = <&L2_2>;
211 power-domains = <&CPU_PD11>;
212 power-domain-names = "psci";
213 cpu-idle-states = <&CLUSTER_C4>;
214 };
215
216 cpu-map {
217 cluster0 {
218 core0 {
219 cpu = <&CPU0>;
220 };
221
222 core1 {
223 cpu = <&CPU1>;
224 };
225
226 core2 {
227 cpu = <&CPU2>;
228 };
229
230 core3 {
231 cpu = <&CPU3>;
232 };
233 };
234
235 cluster1 {
236 core0 {
237 cpu = <&CPU4>;
238 };
239
240 core1 {
241 cpu = <&CPU5>;
242 };
243
244 core2 {
245 cpu = <&CPU6>;
246 };
247
248 core3 {
249 cpu = <&CPU7>;
250 };
251 };
252
253 cluster2 {
254 core0 {
255 cpu = <&CPU8>;
256 };
257
258 core1 {
259 cpu = <&CPU9>;
260 };
261
262 core2 {
263 cpu = <&CPU10>;
264 };
265
266 core3 {
267 cpu = <&CPU11>;
268 };
269 };
270 };
271
272 idle-states {
273 entry-method = "psci";
274
275 CLUSTER_C4: cpu-sleep-0 {
276 compatible = "arm,idle-state";
277 idle-state-name = "ret";
278 arm,psci-suspend-param = <0x00000004>;
279 entry-latency-us = <180>;
280 exit-latency-us = <320>;
281 min-residency-us = <1000>;
282 };
283 };
284
285 domain-idle-states {
286 CLUSTER_CL4: cluster-sleep-0 {
Tom Rini6bb92fc2024-05-20 09:54:58 -0600287 compatible = "domain-idle-state";
Tom Rini93743d22024-04-01 09:08:13 -0400288 idle-state-name = "l2-ret";
289 arm,psci-suspend-param = <0x01000044>;
290 entry-latency-us = <350>;
291 exit-latency-us = <500>;
292 min-residency-us = <2500>;
293 };
294
295 CLUSTER_CL5: cluster-sleep-1 {
Tom Rini6bb92fc2024-05-20 09:54:58 -0600296 compatible = "domain-idle-state";
Tom Rini93743d22024-04-01 09:08:13 -0400297 idle-state-name = "ret-pll-off";
298 arm,psci-suspend-param = <0x01000054>;
299 entry-latency-us = <2200>;
300 exit-latency-us = <2500>;
301 min-residency-us = <7000>;
302 };
303 };
304 };
305
306 firmware {
307 scm: scm {
308 compatible = "qcom,scm-x1e80100", "qcom,scm";
309 interconnects = <&aggre2_noc MASTER_CRYPTO QCOM_ICC_TAG_ALWAYS
310 &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>;
311 };
312 };
313
314 clk_virt: interconnect-0 {
315 compatible = "qcom,x1e80100-clk-virt";
316 #interconnect-cells = <2>;
317 qcom,bcm-voters = <&apps_bcm_voter>;
318 };
319
320 mc_virt: interconnect-1 {
321 compatible = "qcom,x1e80100-mc-virt";
322 #interconnect-cells = <2>;
323 qcom,bcm-voters = <&apps_bcm_voter>;
324 };
325
326 memory@80000000 {
327 device_type = "memory";
328 /* We expect the bootloader to fill in the size */
329 reg = <0 0x80000000 0 0>;
330 };
331
332 pmu {
333 compatible = "arm,armv8-pmuv3";
334 interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_LOW>;
335 };
336
337 psci {
338 compatible = "arm,psci-1.0";
339 method = "smc";
340
341 CPU_PD0: power-domain-cpu0 {
342 #power-domain-cells = <0>;
343 power-domains = <&CLUSTER_PD0>;
344 };
345
346 CPU_PD1: power-domain-cpu1 {
347 #power-domain-cells = <0>;
348 power-domains = <&CLUSTER_PD0>;
349 };
350
351 CPU_PD2: power-domain-cpu2 {
352 #power-domain-cells = <0>;
353 power-domains = <&CLUSTER_PD0>;
354 };
355
356 CPU_PD3: power-domain-cpu3 {
357 #power-domain-cells = <0>;
358 power-domains = <&CLUSTER_PD0>;
359 };
360
361 CPU_PD4: power-domain-cpu4 {
362 #power-domain-cells = <0>;
363 power-domains = <&CLUSTER_PD1>;
364 };
365
366 CPU_PD5: power-domain-cpu5 {
367 #power-domain-cells = <0>;
368 power-domains = <&CLUSTER_PD1>;
369 };
370
371 CPU_PD6: power-domain-cpu6 {
372 #power-domain-cells = <0>;
373 power-domains = <&CLUSTER_PD1>;
374 };
375
376 CPU_PD7: power-domain-cpu7 {
377 #power-domain-cells = <0>;
378 power-domains = <&CLUSTER_PD1>;
379 };
380
381 CPU_PD8: power-domain-cpu8 {
382 #power-domain-cells = <0>;
383 power-domains = <&CLUSTER_PD2>;
384 };
385
386 CPU_PD9: power-domain-cpu9 {
387 #power-domain-cells = <0>;
388 power-domains = <&CLUSTER_PD2>;
389 };
390
391 CPU_PD10: power-domain-cpu10 {
392 #power-domain-cells = <0>;
393 power-domains = <&CLUSTER_PD2>;
394 };
395
396 CPU_PD11: power-domain-cpu11 {
397 #power-domain-cells = <0>;
398 power-domains = <&CLUSTER_PD2>;
399 };
400
401 CLUSTER_PD0: power-domain-cpu-cluster0 {
402 #power-domain-cells = <0>;
403 domain-idle-states = <&CLUSTER_CL4>, <&CLUSTER_CL5>;
Tom Rini6bb92fc2024-05-20 09:54:58 -0600404 power-domains = <&SYSTEM_PD>;
Tom Rini93743d22024-04-01 09:08:13 -0400405 };
406
407 CLUSTER_PD1: power-domain-cpu-cluster1 {
408 #power-domain-cells = <0>;
409 domain-idle-states = <&CLUSTER_CL4>, <&CLUSTER_CL5>;
Tom Rini6bb92fc2024-05-20 09:54:58 -0600410 power-domains = <&SYSTEM_PD>;
Tom Rini93743d22024-04-01 09:08:13 -0400411 };
412
413 CLUSTER_PD2: power-domain-cpu-cluster2 {
414 #power-domain-cells = <0>;
415 domain-idle-states = <&CLUSTER_CL4>, <&CLUSTER_CL5>;
Tom Rini6bb92fc2024-05-20 09:54:58 -0600416 power-domains = <&SYSTEM_PD>;
417 };
418
419 SYSTEM_PD: power-domain-system {
420 #power-domain-cells = <0>;
421 /* TODO: system-wide idle states */
Tom Rini93743d22024-04-01 09:08:13 -0400422 };
423 };
424
425 reserved-memory {
426 #address-cells = <2>;
427 #size-cells = <2>;
428 ranges;
429
430 gunyah_hyp_mem: gunyah-hyp@80000000 {
431 reg = <0x0 0x80000000 0x0 0x800000>;
432 no-map;
433 };
434
435 hyp_elf_package_mem: hyp-elf-package@80800000 {
436 reg = <0x0 0x80800000 0x0 0x200000>;
437 no-map;
438 };
439
440 ncc_mem: ncc@80a00000 {
441 reg = <0x0 0x80a00000 0x0 0x400000>;
442 no-map;
443 };
444
445 cpucp_log_mem: cpucp-log@80e00000 {
446 reg = <0x0 0x80e00000 0x0 0x40000>;
447 no-map;
448 };
449
450 cpucp_mem: cpucp@80e40000 {
451 reg = <0x0 0x80e40000 0x0 0x540000>;
452 no-map;
453 };
454
455 reserved-region@81380000 {
456 reg = <0x0 0x81380000 0x0 0x80000>;
457 no-map;
458 };
459
460 tags_mem: tags-region@81400000 {
461 reg = <0x0 0x81400000 0x0 0x1a0000>;
462 no-map;
463 };
464
465 xbl_dtlog_mem: xbl-dtlog@81a00000 {
466 reg = <0x0 0x81a00000 0x0 0x40000>;
467 no-map;
468 };
469
470 xbl_ramdump_mem: xbl-ramdump@81a40000 {
471 reg = <0x0 0x81a40000 0x0 0x1c0000>;
472 no-map;
473 };
474
475 aop_image_mem: aop-image@81c00000 {
476 reg = <0x0 0x81c00000 0x0 0x60000>;
477 no-map;
478 };
479
480 aop_cmd_db_mem: aop-cmd-db@81c60000 {
481 compatible = "qcom,cmd-db";
482 reg = <0x0 0x81c60000 0x0 0x20000>;
483 no-map;
484 };
485
486 aop_config_mem: aop-config@81c80000 {
487 reg = <0x0 0x81c80000 0x0 0x20000>;
488 no-map;
489 };
490
491 tme_crash_dump_mem: tme-crash-dump@81ca0000 {
492 reg = <0x0 0x81ca0000 0x0 0x40000>;
493 no-map;
494 };
495
496 tme_log_mem: tme-log@81ce0000 {
497 reg = <0x0 0x81ce0000 0x0 0x4000>;
498 no-map;
499 };
500
501 uefi_log_mem: uefi-log@81ce4000 {
502 reg = <0x0 0x81ce4000 0x0 0x10000>;
503 no-map;
504 };
505
506 secdata_apss_mem: secdata-apss@81cff000 {
507 reg = <0x0 0x81cff000 0x0 0x1000>;
508 no-map;
509 };
510
511 pdp_ns_shared_mem: pdp-ns-shared@81e00000 {
512 reg = <0x0 0x81e00000 0x0 0x100000>;
513 no-map;
514 };
515
516 gpu_prr_mem: gpu-prr@81f00000 {
517 reg = <0x0 0x81f00000 0x0 0x10000>;
518 no-map;
519 };
520
521 tpm_control_mem: tpm-control@81f10000 {
522 reg = <0x0 0x81f10000 0x0 0x10000>;
523 no-map;
524 };
525
526 usb_ucsi_shared_mem: usb-ucsi-shared@81f20000 {
527 reg = <0x0 0x81f20000 0x0 0x10000>;
528 no-map;
529 };
530
531 pld_pep_mem: pld-pep@81f30000 {
532 reg = <0x0 0x81f30000 0x0 0x6000>;
533 no-map;
534 };
535
536 pld_gmu_mem: pld-gmu@81f36000 {
537 reg = <0x0 0x81f36000 0x0 0x1000>;
538 no-map;
539 };
540
541 pld_pdp_mem: pld-pdp@81f37000 {
542 reg = <0x0 0x81f37000 0x0 0x1000>;
543 no-map;
544 };
545
546 tz_stat_mem: tz-stat@82700000 {
547 reg = <0x0 0x82700000 0x0 0x100000>;
548 no-map;
549 };
550
551 xbl_tmp_buffer_mem: xbl-tmp-buffer@82800000 {
552 reg = <0x0 0x82800000 0x0 0xc00000>;
553 no-map;
554 };
555
556 adsp_rpc_remote_heap_mem: adsp-rpc-remote-heap@84b00000 {
557 reg = <0x0 0x84b00000 0x0 0x800000>;
558 no-map;
559 };
560
561 spu_secure_shared_memory_mem: spu-secure-shared-memory@85300000 {
562 reg = <0x0 0x85300000 0x0 0x80000>;
563 no-map;
564 };
565
566 adsp_boot_dtb_mem: adsp-boot-dtb@866c0000 {
567 reg = <0x0 0x866c0000 0x0 0x40000>;
568 no-map;
569 };
570
571 spss_region_mem: spss-region@86700000 {
572 reg = <0x0 0x86700000 0x0 0x400000>;
573 no-map;
574 };
575
576 adsp_boot_mem: adsp-boot@86b00000 {
577 reg = <0x0 0x86b00000 0x0 0xc00000>;
578 no-map;
579 };
580
581 video_mem: video@87700000 {
582 reg = <0x0 0x87700000 0x0 0x700000>;
583 no-map;
584 };
585
586 adspslpi_mem: adspslpi@87e00000 {
587 reg = <0x0 0x87e00000 0x0 0x3a00000>;
588 no-map;
589 };
590
591 q6_adsp_dtb_mem: q6-adsp-dtb@8b800000 {
592 reg = <0x0 0x8b800000 0x0 0x80000>;
593 no-map;
594 };
595
596 cdsp_mem: cdsp@8b900000 {
597 reg = <0x0 0x8b900000 0x0 0x2000000>;
598 no-map;
599 };
600
601 q6_cdsp_dtb_mem: q6-cdsp-dtb@8d900000 {
602 reg = <0x0 0x8d900000 0x0 0x80000>;
603 no-map;
604 };
605
606 gpu_microcode_mem: gpu-microcode@8d9fe000 {
607 reg = <0x0 0x8d9fe000 0x0 0x2000>;
608 no-map;
609 };
610
611 cvp_mem: cvp@8da00000 {
612 reg = <0x0 0x8da00000 0x0 0x700000>;
613 no-map;
614 };
615
616 camera_mem: camera@8e100000 {
617 reg = <0x0 0x8e100000 0x0 0x800000>;
618 no-map;
619 };
620
621 av1_encoder_mem: av1-encoder@8e900000 {
622 reg = <0x0 0x8e900000 0x0 0x700000>;
623 no-map;
624 };
625
626 reserved-region@8f000000 {
627 reg = <0x0 0x8f000000 0x0 0xa00000>;
628 no-map;
629 };
630
631 wpss_mem: wpss@8fa00000 {
632 reg = <0x0 0x8fa00000 0x0 0x1900000>;
633 no-map;
634 };
635
636 q6_wpss_dtb_mem: q6-wpss-dtb@91300000 {
637 reg = <0x0 0x91300000 0x0 0x80000>;
638 no-map;
639 };
640
641 xbl_sc_mem: xbl-sc@d8000000 {
642 reg = <0x0 0xd8000000 0x0 0x40000>;
643 no-map;
644 };
645
646 reserved-region@d8040000 {
647 reg = <0x0 0xd8040000 0x0 0xa0000>;
648 no-map;
649 };
650
651 qtee_mem: qtee@d80e0000 {
652 reg = <0x0 0xd80e0000 0x0 0x520000>;
653 no-map;
654 };
655
656 ta_mem: ta@d8600000 {
657 reg = <0x0 0xd8600000 0x0 0x8a00000>;
658 no-map;
659 };
660
661 tags_mem1: tags@e1000000 {
662 reg = <0x0 0xe1000000 0x0 0x26a0000>;
663 no-map;
664 };
665
666 llcc_lpi_mem: llcc-lpi@ff800000 {
667 reg = <0x0 0xff800000 0x0 0x600000>;
668 no-map;
669 };
670
671 smem_mem: smem@ffe00000 {
672 compatible = "qcom,smem";
673 reg = <0x0 0xffe00000 0x0 0x200000>;
674 hwlocks = <&tcsr_mutex 3>;
675 no-map;
676 };
677 };
678
Tom Rini6bb92fc2024-05-20 09:54:58 -0600679 smp2p-adsp {
680 compatible = "qcom,smp2p";
681
682 interrupts-extended = <&ipcc IPCC_CLIENT_LPASS
683 IPCC_MPROC_SIGNAL_SMP2P
684 IRQ_TYPE_EDGE_RISING>;
685
686 mboxes = <&ipcc IPCC_CLIENT_LPASS
687 IPCC_MPROC_SIGNAL_SMP2P>;
688
689 qcom,smem = <443>, <429>;
690 qcom,local-pid = <0>;
691 qcom,remote-pid = <2>;
692
693 smp2p_adsp_out: master-kernel {
694 qcom,entry-name = "master-kernel";
695 #qcom,smem-state-cells = <1>;
696 };
697
698 smp2p_adsp_in: slave-kernel {
699 qcom,entry-name = "slave-kernel";
700 interrupt-controller;
701 #interrupt-cells = <2>;
702 };
703 };
704
705 smp2p-cdsp {
706 compatible = "qcom,smp2p";
707
708 interrupts-extended = <&ipcc IPCC_CLIENT_CDSP
709 IPCC_MPROC_SIGNAL_SMP2P
710 IRQ_TYPE_EDGE_RISING>;
711
712 mboxes = <&ipcc IPCC_CLIENT_CDSP
713 IPCC_MPROC_SIGNAL_SMP2P>;
714
715 qcom,smem = <94>, <432>;
716 qcom,local-pid = <0>;
717 qcom,remote-pid = <5>;
718
719 smp2p_cdsp_out: master-kernel {
720 qcom,entry-name = "master-kernel";
721 #qcom,smem-state-cells = <1>;
722 };
723
724 smp2p_cdsp_in: slave-kernel {
725 qcom,entry-name = "slave-kernel";
726 interrupt-controller;
727 #interrupt-cells = <2>;
728 };
729 };
730
Tom Rini93743d22024-04-01 09:08:13 -0400731 soc: soc@0 {
732 compatible = "simple-bus";
733
734 #address-cells = <2>;
735 #size-cells = <2>;
736 dma-ranges = <0 0 0 0 0x10 0>;
737 ranges = <0 0 0 0 0x10 0>;
738
739 gcc: clock-controller@100000 {
740 compatible = "qcom,x1e80100-gcc";
741 reg = <0 0x00100000 0 0x200000>;
742
743 clocks = <&bi_tcxo_div2>,
744 <&sleep_clk>,
745 <0>,
Tom Rini6bb92fc2024-05-20 09:54:58 -0600746 <&pcie4_phy>,
Tom Rini93743d22024-04-01 09:08:13 -0400747 <0>,
Tom Rini6bb92fc2024-05-20 09:54:58 -0600748 <&pcie6a_phy>,
Tom Rini93743d22024-04-01 09:08:13 -0400749 <0>,
Tom Rini6bb92fc2024-05-20 09:54:58 -0600750 <&usb_1_ss0_qmpphy QMP_USB43DP_USB3_PIPE_CLK>,
751 <&usb_1_ss1_qmpphy QMP_USB43DP_USB3_PIPE_CLK>,
752 <&usb_1_ss2_qmpphy QMP_USB43DP_USB3_PIPE_CLK>;
Tom Rini93743d22024-04-01 09:08:13 -0400753
754 power-domains = <&rpmhpd RPMHPD_CX>;
755 #clock-cells = <1>;
756 #reset-cells = <1>;
757 #power-domain-cells = <1>;
758 };
759
Tom Rini6bb92fc2024-05-20 09:54:58 -0600760 ipcc: mailbox@408000 {
761 compatible = "qcom,x1e80100-ipcc", "qcom,ipcc";
762 reg = <0 0x00408000 0 0x1000>;
763
764 interrupts = <GIC_SPI 229 IRQ_TYPE_LEVEL_HIGH>;
765 interrupt-controller;
766 #interrupt-cells = <3>;
767
768 #mbox-cells = <2>;
769 };
770
Tom Rini93743d22024-04-01 09:08:13 -0400771 gpi_dma2: dma-controller@800000 {
772 compatible = "qcom,x1e80100-gpi-dma", "qcom,sm6350-gpi-dma";
773 reg = <0 0x00800000 0 0x60000>;
774
775 interrupts = <GIC_SPI 788 IRQ_TYPE_LEVEL_HIGH>,
776 <GIC_SPI 789 IRQ_TYPE_LEVEL_HIGH>,
777 <GIC_SPI 790 IRQ_TYPE_LEVEL_HIGH>,
778 <GIC_SPI 791 IRQ_TYPE_LEVEL_HIGH>,
779 <GIC_SPI 792 IRQ_TYPE_LEVEL_HIGH>,
780 <GIC_SPI 793 IRQ_TYPE_LEVEL_HIGH>,
781 <GIC_SPI 794 IRQ_TYPE_LEVEL_HIGH>,
782 <GIC_SPI 795 IRQ_TYPE_LEVEL_HIGH>,
783 <GIC_SPI 796 IRQ_TYPE_LEVEL_HIGH>,
784 <GIC_SPI 797 IRQ_TYPE_LEVEL_HIGH>,
785 <GIC_SPI 798 IRQ_TYPE_LEVEL_HIGH>,
786 <GIC_SPI 799 IRQ_TYPE_LEVEL_HIGH>;
787
788 dma-channels = <12>;
789 dma-channel-mask = <0x3e>;
790 #dma-cells = <3>;
791
792 iommus = <&apps_smmu 0x436 0x0>;
793
794 status = "disabled";
795 };
796
797 qupv3_2: geniqup@8c0000 {
798 compatible = "qcom,geni-se-qup";
799 reg = <0 0x008c0000 0 0x2000>;
800
801 clocks = <&gcc GCC_QUPV3_WRAP_2_M_AHB_CLK>,
802 <&gcc GCC_QUPV3_WRAP_2_S_AHB_CLK>;
803 clock-names = "m-ahb",
804 "s-ahb";
805
806 iommus = <&apps_smmu 0x423 0x0>;
807
808 #address-cells = <2>;
809 #size-cells = <2>;
810 ranges;
811
812 status = "disabled";
813
814 i2c16: i2c@880000 {
815 compatible = "qcom,geni-i2c";
816 reg = <0 0x00880000 0 0x4000>;
817
818 interrupts = <GIC_SPI 808 IRQ_TYPE_LEVEL_HIGH>;
819
820 clocks = <&gcc GCC_QUPV3_WRAP2_S0_CLK>;
821 clock-names = "se";
822
823 interconnects = <&clk_virt MASTER_QUP_CORE_2 QCOM_ICC_TAG_ALWAYS
824 &clk_virt SLAVE_QUP_CORE_2 QCOM_ICC_TAG_ALWAYS>,
825 <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS
826 &config_noc SLAVE_QUP_2 QCOM_ICC_TAG_ALWAYS>,
827 <&aggre2_noc MASTER_QUP_2 QCOM_ICC_TAG_ALWAYS
828 &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>;
829 interconnect-names = "qup-core",
830 "qup-config",
831 "qup-memory";
832
833 dmas = <&gpi_dma2 0 0 QCOM_GPI_I2C>,
834 <&gpi_dma2 1 0 QCOM_GPI_I2C>;
835 dma-names = "tx",
836 "rx";
837
838 pinctrl-0 = <&qup_i2c16_data_clk>;
839 pinctrl-names = "default";
840
841 #address-cells = <1>;
842 #size-cells = <0>;
843
844 status = "disabled";
845 };
846
847 spi16: spi@880000 {
848 compatible = "qcom,geni-spi";
849 reg = <0 0x00880000 0 0x4000>;
850
851 interrupts = <GIC_SPI 808 IRQ_TYPE_LEVEL_HIGH>;
852
853 clocks = <&gcc GCC_QUPV3_WRAP2_S0_CLK>;
854 clock-names = "se";
855
856 interconnects = <&clk_virt MASTER_QUP_CORE_2 QCOM_ICC_TAG_ALWAYS
857 &clk_virt SLAVE_QUP_CORE_2 QCOM_ICC_TAG_ALWAYS>,
858 <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS
859 &config_noc SLAVE_QUP_2 QCOM_ICC_TAG_ALWAYS>,
860 <&aggre2_noc MASTER_QUP_2 QCOM_ICC_TAG_ALWAYS
861 &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>;
862 interconnect-names = "qup-core",
863 "qup-config",
864 "qup-memory";
865
866 dmas = <&gpi_dma2 0 0 QCOM_GPI_SPI>,
867 <&gpi_dma2 1 0 QCOM_GPI_SPI>;
868 dma-names = "tx",
869 "rx";
870
871 pinctrl-0 = <&qup_spi16_data_clk>, <&qup_spi16_cs>;
872 pinctrl-names = "default";
873
874 #address-cells = <1>;
875 #size-cells = <0>;
876
877 status = "disabled";
878 };
879
880 i2c17: i2c@884000 {
881 compatible = "qcom,geni-i2c";
882 reg = <0 0x00884000 0 0x4000>;
883
884 interrupts = <GIC_SPI 809 IRQ_TYPE_LEVEL_HIGH>;
885
886 clocks = <&gcc GCC_QUPV3_WRAP2_S1_CLK>;
887 clock-names = "se";
888
889 interconnects = <&clk_virt MASTER_QUP_CORE_2 QCOM_ICC_TAG_ALWAYS
890 &clk_virt SLAVE_QUP_CORE_2 QCOM_ICC_TAG_ALWAYS>,
891 <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS
892 &config_noc SLAVE_QUP_2 QCOM_ICC_TAG_ALWAYS>,
893 <&aggre2_noc MASTER_QUP_2 QCOM_ICC_TAG_ALWAYS
894 &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>;
895 interconnect-names = "qup-core",
896 "qup-config",
897 "qup-memory";
898
899 dmas = <&gpi_dma2 0 1 QCOM_GPI_I2C>,
900 <&gpi_dma2 1 1 QCOM_GPI_I2C>;
901 dma-names = "tx",
902 "rx";
903
904 pinctrl-0 = <&qup_i2c17_data_clk>;
905 pinctrl-names = "default";
906
907 #address-cells = <1>;
908 #size-cells = <0>;
909
910 status = "disabled";
911 };
912
913 spi17: spi@884000 {
914 compatible = "qcom,geni-spi";
915 reg = <0 0x00884000 0 0x4000>;
916
917 interrupts = <GIC_SPI 809 IRQ_TYPE_LEVEL_HIGH>;
918
919 clocks = <&gcc GCC_QUPV3_WRAP2_S1_CLK>;
920 clock-names = "se";
921
922 interconnects = <&clk_virt MASTER_QUP_CORE_2 QCOM_ICC_TAG_ALWAYS
923 &clk_virt SLAVE_QUP_CORE_2 QCOM_ICC_TAG_ALWAYS>,
924 <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS
925 &config_noc SLAVE_QUP_2 QCOM_ICC_TAG_ALWAYS>,
926 <&aggre2_noc MASTER_QUP_2 QCOM_ICC_TAG_ALWAYS
927 &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>;
928 interconnect-names = "qup-core",
929 "qup-config",
930 "qup-memory";
931
932 dmas = <&gpi_dma2 0 1 QCOM_GPI_SPI>,
933 <&gpi_dma2 1 1 QCOM_GPI_SPI>;
934 dma-names = "tx",
935 "rx";
936
937 pinctrl-0 = <&qup_spi17_data_clk>, <&qup_spi17_cs>;
938 pinctrl-names = "default";
939
940 #address-cells = <1>;
941 #size-cells = <0>;
942
943 status = "disabled";
944 };
945
946 i2c18: i2c@888000 {
947 compatible = "qcom,geni-i2c";
948 reg = <0 0x00888000 0 0x4000>;
949
950 interrupts = <GIC_SPI 810 IRQ_TYPE_LEVEL_HIGH>;
951
952 clocks = <&gcc GCC_QUPV3_WRAP2_S2_CLK>;
953 clock-names = "se";
954
955 interconnects = <&clk_virt MASTER_QUP_CORE_2 QCOM_ICC_TAG_ALWAYS
956 &clk_virt SLAVE_QUP_CORE_2 QCOM_ICC_TAG_ALWAYS>,
957 <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS
958 &config_noc SLAVE_QUP_2 QCOM_ICC_TAG_ALWAYS>,
959 <&aggre2_noc MASTER_QUP_2 QCOM_ICC_TAG_ALWAYS
960 &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>;
961 interconnect-names = "qup-core",
962 "qup-config",
963 "qup-memory";
964
965 dmas = <&gpi_dma2 0 2 QCOM_GPI_I2C>,
966 <&gpi_dma2 1 2 QCOM_GPI_I2C>;
967 dma-names = "tx",
968 "rx";
969
970 pinctrl-0 = <&qup_i2c18_data_clk>;
971 pinctrl-names = "default";
972
973 #address-cells = <1>;
974 #size-cells = <0>;
975
976 status = "disabled";
977 };
978
979 spi18: spi@888000 {
980 compatible = "qcom,geni-spi";
981 reg = <0 0x00888000 0 0x4000>;
982
983 interrupts = <GIC_SPI 810 IRQ_TYPE_LEVEL_HIGH>;
984
985 clocks = <&gcc GCC_QUPV3_WRAP2_S2_CLK>;
986 clock-names = "se";
987
988 interconnects = <&clk_virt MASTER_QUP_CORE_2 QCOM_ICC_TAG_ALWAYS
989 &clk_virt SLAVE_QUP_CORE_2 QCOM_ICC_TAG_ALWAYS>,
990 <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS
991 &config_noc SLAVE_QUP_2 QCOM_ICC_TAG_ALWAYS>,
992 <&aggre2_noc MASTER_QUP_2 QCOM_ICC_TAG_ALWAYS
993 &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>;
994 interconnect-names = "qup-core",
995 "qup-config",
996 "qup-memory";
997
998 dmas = <&gpi_dma2 0 2 QCOM_GPI_SPI>,
999 <&gpi_dma2 1 2 QCOM_GPI_SPI>;
1000 dma-names = "tx",
1001 "rx";
1002
1003 pinctrl-0 = <&qup_spi18_data_clk>, <&qup_spi18_cs>;
1004 pinctrl-names = "default";
1005
1006 #address-cells = <1>;
1007 #size-cells = <0>;
1008
1009 status = "disabled";
1010 };
1011
1012 i2c19: i2c@88c000 {
1013 compatible = "qcom,geni-i2c";
1014 reg = <0 0x0088c000 0 0x4000>;
1015
1016 interrupts = <GIC_SPI 811 IRQ_TYPE_LEVEL_HIGH>;
1017
1018 clocks = <&gcc GCC_QUPV3_WRAP2_S3_CLK>;
1019 clock-names = "se";
1020
1021 interconnects = <&clk_virt MASTER_QUP_CORE_2 QCOM_ICC_TAG_ALWAYS
1022 &clk_virt SLAVE_QUP_CORE_2 QCOM_ICC_TAG_ALWAYS>,
1023 <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS
1024 &config_noc SLAVE_QUP_2 QCOM_ICC_TAG_ALWAYS>,
1025 <&aggre2_noc MASTER_QUP_2 QCOM_ICC_TAG_ALWAYS
1026 &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>;
1027 interconnect-names = "qup-core",
1028 "qup-config",
1029 "qup-memory";
1030
1031 dmas = <&gpi_dma2 0 3 QCOM_GPI_I2C>,
1032 <&gpi_dma2 1 3 QCOM_GPI_I2C>;
1033 dma-names = "tx",
1034 "rx";
1035
1036 pinctrl-0 = <&qup_i2c19_data_clk>;
1037 pinctrl-names = "default";
1038
1039 #address-cells = <1>;
1040 #size-cells = <0>;
1041
1042 status = "disabled";
1043 };
1044
1045 spi19: spi@88c000 {
1046 compatible = "qcom,geni-spi";
1047 reg = <0 0x0088c000 0 0x4000>;
1048
1049 interrupts = <GIC_SPI 811 IRQ_TYPE_LEVEL_HIGH>;
1050
1051 clocks = <&gcc GCC_QUPV3_WRAP2_S3_CLK>;
1052 clock-names = "se";
1053
1054 interconnects = <&clk_virt MASTER_QUP_CORE_2 QCOM_ICC_TAG_ALWAYS
1055 &clk_virt SLAVE_QUP_CORE_2 QCOM_ICC_TAG_ALWAYS>,
1056 <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS
1057 &config_noc SLAVE_QUP_2 QCOM_ICC_TAG_ALWAYS>,
1058 <&aggre2_noc MASTER_QUP_2 QCOM_ICC_TAG_ALWAYS
1059 &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>;
1060 interconnect-names = "qup-core",
1061 "qup-config",
1062 "qup-memory";
1063
1064 dmas = <&gpi_dma2 0 3 QCOM_GPI_SPI>,
1065 <&gpi_dma2 1 3 QCOM_GPI_SPI>;
1066 dma-names = "tx",
1067 "rx";
1068
1069 pinctrl-0 = <&qup_spi19_data_clk>, <&qup_spi19_cs>;
1070 pinctrl-names = "default";
1071
1072 #address-cells = <1>;
1073 #size-cells = <0>;
1074
1075 status = "disabled";
1076 };
1077
1078 i2c20: i2c@890000 {
1079 compatible = "qcom,geni-i2c";
1080 reg = <0 0x00890000 0 0x4000>;
1081
1082 interrupts = <GIC_SPI 812 IRQ_TYPE_LEVEL_HIGH>;
1083
1084 clocks = <&gcc GCC_QUPV3_WRAP2_S4_CLK>;
1085 clock-names = "se";
1086
1087 interconnects = <&clk_virt MASTER_QUP_CORE_2 QCOM_ICC_TAG_ALWAYS
1088 &clk_virt SLAVE_QUP_CORE_2 QCOM_ICC_TAG_ALWAYS>,
1089 <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS
1090 &config_noc SLAVE_QUP_2 QCOM_ICC_TAG_ALWAYS>,
1091 <&aggre2_noc MASTER_QUP_2 QCOM_ICC_TAG_ALWAYS
1092 &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>;
1093 interconnect-names = "qup-core",
1094 "qup-config",
1095 "qup-memory";
1096
1097 dmas = <&gpi_dma2 0 4 QCOM_GPI_I2C>,
1098 <&gpi_dma2 1 4 QCOM_GPI_I2C>;
1099 dma-names = "tx",
1100 "rx";
1101
1102 pinctrl-0 = <&qup_i2c20_data_clk>;
1103 pinctrl-names = "default";
1104
1105 #address-cells = <1>;
1106 #size-cells = <0>;
1107
1108 status = "disabled";
1109 };
1110
1111 spi20: spi@890000 {
1112 compatible = "qcom,geni-spi";
1113 reg = <0 0x00890000 0 0x4000>;
1114
1115 interrupts = <GIC_SPI 812 IRQ_TYPE_LEVEL_HIGH>;
1116
1117 clocks = <&gcc GCC_QUPV3_WRAP2_S4_CLK>;
1118 clock-names = "se";
1119
1120 interconnects = <&clk_virt MASTER_QUP_CORE_2 QCOM_ICC_TAG_ALWAYS
1121 &clk_virt SLAVE_QUP_CORE_2 QCOM_ICC_TAG_ALWAYS>,
1122 <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS
1123 &config_noc SLAVE_QUP_2 QCOM_ICC_TAG_ALWAYS>,
1124 <&aggre2_noc MASTER_QUP_2 QCOM_ICC_TAG_ALWAYS
1125 &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>;
1126 interconnect-names = "qup-core",
1127 "qup-config",
1128 "qup-memory";
1129
1130 dmas = <&gpi_dma2 0 4 QCOM_GPI_SPI>,
1131 <&gpi_dma2 1 4 QCOM_GPI_SPI>;
1132 dma-names = "tx",
1133 "rx";
1134
1135 pinctrl-0 = <&qup_spi20_data_clk>, <&qup_spi20_cs>;
1136 pinctrl-names = "default";
1137
1138 #address-cells = <1>;
1139 #size-cells = <0>;
1140
1141 status = "disabled";
1142 };
1143
1144 i2c21: i2c@894000 {
1145 compatible = "qcom,geni-i2c";
1146 reg = <0 0x00894000 0 0x4000>;
1147
1148 interrupts = <GIC_SPI 813 IRQ_TYPE_LEVEL_HIGH>;
1149
1150 clocks = <&gcc GCC_QUPV3_WRAP2_S5_CLK>;
1151 clock-names = "se";
1152
1153 interconnects = <&clk_virt MASTER_QUP_CORE_2 QCOM_ICC_TAG_ALWAYS
1154 &clk_virt SLAVE_QUP_CORE_2 QCOM_ICC_TAG_ALWAYS>,
1155 <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS
1156 &config_noc SLAVE_QUP_2 QCOM_ICC_TAG_ALWAYS>,
1157 <&aggre2_noc MASTER_QUP_2 QCOM_ICC_TAG_ALWAYS
1158 &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>;
1159 interconnect-names = "qup-core",
1160 "qup-config",
1161 "qup-memory";
1162
1163 dmas = <&gpi_dma2 0 5 QCOM_GPI_I2C>,
1164 <&gpi_dma2 1 5 QCOM_GPI_I2C>;
1165 dma-names = "tx",
1166 "rx";
1167
1168 pinctrl-0 = <&qup_i2c21_data_clk>;
1169 pinctrl-names = "default";
1170
1171 #address-cells = <1>;
1172 #size-cells = <0>;
1173
1174 status = "disabled";
1175 };
1176
1177 spi21: spi@894000 {
1178 compatible = "qcom,geni-spi";
1179 reg = <0 0x00894000 0 0x4000>;
1180
1181 interrupts = <GIC_SPI 813 IRQ_TYPE_LEVEL_HIGH>;
1182
1183 clocks = <&gcc GCC_QUPV3_WRAP2_S5_CLK>;
1184 clock-names = "se";
1185
1186 interconnects = <&clk_virt MASTER_QUP_CORE_2 QCOM_ICC_TAG_ALWAYS
1187 &clk_virt SLAVE_QUP_CORE_2 QCOM_ICC_TAG_ALWAYS>,
1188 <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS
1189 &config_noc SLAVE_QUP_2 QCOM_ICC_TAG_ALWAYS>,
1190 <&aggre2_noc MASTER_QUP_2 QCOM_ICC_TAG_ALWAYS
1191 &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>;
1192 interconnect-names = "qup-core",
1193 "qup-config",
1194 "qup-memory";
1195
1196 dmas = <&gpi_dma2 0 5 QCOM_GPI_SPI>,
1197 <&gpi_dma2 1 5 QCOM_GPI_SPI>;
1198 dma-names = "tx",
1199 "rx";
1200
1201 pinctrl-0 = <&qup_spi21_data_clk>, <&qup_spi21_cs>;
1202 pinctrl-names = "default";
1203
1204 #address-cells = <1>;
1205 #size-cells = <0>;
1206
1207 status = "disabled";
1208 };
1209
1210 uart21: serial@894000 {
1211 compatible = "qcom,geni-uart";
1212 reg = <0 0x00894000 0 0x4000>;
1213
1214 interrupts = <GIC_SPI 813 IRQ_TYPE_LEVEL_HIGH>;
1215
1216 clocks = <&gcc GCC_QUPV3_WRAP2_S5_CLK>;
1217 clock-names = "se";
1218
Tom Rini6bb92fc2024-05-20 09:54:58 -06001219 interconnects = <&clk_virt MASTER_QUP_CORE_2 QCOM_ICC_TAG_ALWAYS
Tom Rini93743d22024-04-01 09:08:13 -04001220 &clk_virt SLAVE_QUP_CORE_2 QCOM_ICC_TAG_ALWAYS>,
1221 <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS
1222 &config_noc SLAVE_QUP_2 QCOM_ICC_TAG_ALWAYS>;
1223 interconnect-names = "qup-core",
1224 "qup-config";
1225
1226 pinctrl-0 = <&qup_uart21_default>;
1227 pinctrl-names = "default";
1228
1229 status = "disabled";
1230 };
1231
1232 i2c22: i2c@898000 {
1233 compatible = "qcom,geni-i2c";
1234 reg = <0 0x00898000 0 0x4000>;
1235
1236 interrupts = <GIC_SPI 461 IRQ_TYPE_LEVEL_HIGH>;
1237
1238 clocks = <&gcc GCC_QUPV3_WRAP2_S6_CLK>;
1239 clock-names = "se";
1240
1241 interconnects = <&clk_virt MASTER_QUP_CORE_2 QCOM_ICC_TAG_ALWAYS
1242 &clk_virt SLAVE_QUP_CORE_2 QCOM_ICC_TAG_ALWAYS>,
1243 <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS
1244 &config_noc SLAVE_QUP_2 QCOM_ICC_TAG_ALWAYS>,
1245 <&aggre2_noc MASTER_QUP_2 QCOM_ICC_TAG_ALWAYS
1246 &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>;
1247 interconnect-names = "qup-core",
1248 "qup-config",
1249 "qup-memory";
1250
1251 dmas = <&gpi_dma2 0 6 QCOM_GPI_I2C>,
1252 <&gpi_dma2 1 6 QCOM_GPI_I2C>;
1253 dma-names = "tx",
1254 "rx";
1255
1256 pinctrl-0 = <&qup_i2c22_data_clk>;
1257 pinctrl-names = "default";
1258
1259 #address-cells = <1>;
1260 #size-cells = <0>;
1261
1262 status = "disabled";
1263 };
1264
1265 spi22: spi@898000 {
1266 compatible = "qcom,geni-spi";
1267 reg = <0 0x00898000 0 0x4000>;
1268
1269 interrupts = <GIC_SPI 461 IRQ_TYPE_LEVEL_HIGH>;
1270
1271 clocks = <&gcc GCC_QUPV3_WRAP2_S6_CLK>;
1272 clock-names = "se";
1273
1274 interconnects = <&clk_virt MASTER_QUP_CORE_2 QCOM_ICC_TAG_ALWAYS
1275 &clk_virt SLAVE_QUP_CORE_2 QCOM_ICC_TAG_ALWAYS>,
1276 <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS
1277 &config_noc SLAVE_QUP_2 QCOM_ICC_TAG_ALWAYS>,
1278 <&aggre2_noc MASTER_QUP_2 QCOM_ICC_TAG_ALWAYS
1279 &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>;
1280 interconnect-names = "qup-core",
1281 "qup-config",
1282 "qup-memory";
1283
1284 dmas = <&gpi_dma2 0 6 QCOM_GPI_SPI>,
1285 <&gpi_dma2 1 6 QCOM_GPI_SPI>;
1286 dma-names = "tx",
1287 "rx";
1288
1289 pinctrl-0 = <&qup_spi22_data_clk>, <&qup_spi22_cs>;
1290 pinctrl-names = "default";
1291
1292 #address-cells = <1>;
1293 #size-cells = <0>;
1294
1295 status = "disabled";
1296 };
1297
1298 i2c23: i2c@89c000 {
1299 compatible = "qcom,geni-i2c";
1300 reg = <0 0x0089c000 0 0x4000>;
1301
1302 interrupts = <GIC_SPI 462 IRQ_TYPE_LEVEL_HIGH>;
1303
1304 clocks = <&gcc GCC_QUPV3_WRAP2_S7_CLK>;
1305 clock-names = "se";
1306
1307 interconnects = <&clk_virt MASTER_QUP_CORE_2 QCOM_ICC_TAG_ALWAYS
1308 &clk_virt SLAVE_QUP_CORE_2 QCOM_ICC_TAG_ALWAYS>,
1309 <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS
1310 &config_noc SLAVE_QUP_2 QCOM_ICC_TAG_ALWAYS>,
1311 <&aggre2_noc MASTER_QUP_2 QCOM_ICC_TAG_ALWAYS
1312 &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>;
1313 interconnect-names = "qup-core",
1314 "qup-config",
1315 "qup-memory";
1316
1317 dmas = <&gpi_dma2 0 7 QCOM_GPI_I2C>,
1318 <&gpi_dma2 1 7 QCOM_GPI_I2C>;
1319 dma-names = "tx",
1320 "rx";
1321
1322 pinctrl-0 = <&qup_i2c23_data_clk>;
1323 pinctrl-names = "default";
1324
1325 #address-cells = <1>;
1326 #size-cells = <0>;
1327
1328 status = "disabled";
1329 };
1330
1331 spi23: spi@89c000 {
1332 compatible = "qcom,geni-spi";
1333 reg = <0 0x0089c000 0 0x4000>;
1334
1335 interrupts = <GIC_SPI 462 IRQ_TYPE_LEVEL_HIGH>;
1336
1337 clocks = <&gcc GCC_QUPV3_WRAP2_S7_CLK>;
1338 clock-names = "se";
1339
1340 interconnects = <&clk_virt MASTER_QUP_CORE_2 QCOM_ICC_TAG_ALWAYS
1341 &clk_virt SLAVE_QUP_CORE_2 QCOM_ICC_TAG_ALWAYS>,
1342 <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS
1343 &config_noc SLAVE_QUP_2 QCOM_ICC_TAG_ALWAYS>,
1344 <&aggre2_noc MASTER_QUP_2 QCOM_ICC_TAG_ALWAYS
1345 &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>;
1346 interconnect-names = "qup-core",
1347 "qup-config",
1348 "qup-memory";
1349
1350 dmas = <&gpi_dma2 0 7 QCOM_GPI_SPI>,
1351 <&gpi_dma2 1 7 QCOM_GPI_SPI>;
1352 dma-names = "tx",
1353 "rx";
1354
1355 pinctrl-0 = <&qup_spi23_data_clk>, <&qup_spi23_cs>;
1356 pinctrl-names = "default";
1357
1358 #address-cells = <1>;
1359 #size-cells = <0>;
1360
1361 status = "disabled";
1362 };
1363 };
1364
1365 gpi_dma1: dma-controller@a00000 {
1366 compatible = "qcom,x1e80100-gpi-dma", "qcom,sm6350-gpi-dma";
1367 reg = <0 0x00a00000 0 0x60000>;
1368
1369 interrupts = <GIC_SPI 776 IRQ_TYPE_LEVEL_HIGH>,
1370 <GIC_SPI 777 IRQ_TYPE_LEVEL_HIGH>,
1371 <GIC_SPI 778 IRQ_TYPE_LEVEL_HIGH>,
1372 <GIC_SPI 779 IRQ_TYPE_LEVEL_HIGH>,
1373 <GIC_SPI 780 IRQ_TYPE_LEVEL_HIGH>,
1374 <GIC_SPI 781 IRQ_TYPE_LEVEL_HIGH>,
1375 <GIC_SPI 782 IRQ_TYPE_LEVEL_HIGH>,
1376 <GIC_SPI 783 IRQ_TYPE_LEVEL_HIGH>,
1377 <GIC_SPI 784 IRQ_TYPE_LEVEL_HIGH>,
1378 <GIC_SPI 785 IRQ_TYPE_LEVEL_HIGH>,
1379 <GIC_SPI 786 IRQ_TYPE_LEVEL_HIGH>,
1380 <GIC_SPI 787 IRQ_TYPE_LEVEL_HIGH>;
1381
1382 dma-channels = <12>;
1383 dma-channel-mask = <0x3e>;
1384 #dma-cells = <3>;
1385
1386 iommus = <&apps_smmu 0x136 0x0>;
1387
1388 status = "disabled";
1389 };
1390
1391 qupv3_1: geniqup@ac0000 {
1392 compatible = "qcom,geni-se-qup";
1393 reg = <0 0x00ac0000 0 0x2000>;
1394
1395 clocks = <&gcc GCC_QUPV3_WRAP_1_M_AHB_CLK>,
1396 <&gcc GCC_QUPV3_WRAP_1_S_AHB_CLK>;
1397 clock-names = "m-ahb",
1398 "s-ahb";
1399
1400 iommus = <&apps_smmu 0x123 0x0>;
1401
1402 #address-cells = <2>;
1403 #size-cells = <2>;
1404 ranges;
1405
1406 status = "disabled";
1407
1408 i2c8: i2c@a80000 {
1409 compatible = "qcom,geni-i2c";
1410 reg = <0 0x00a80000 0 0x4000>;
1411
1412 interrupts = <GIC_SPI 800 IRQ_TYPE_LEVEL_HIGH>;
1413
1414 clocks = <&gcc GCC_QUPV3_WRAP1_S0_CLK>;
1415 clock-names = "se";
1416
1417 interconnects = <&clk_virt MASTER_QUP_CORE_1 QCOM_ICC_TAG_ALWAYS
1418 &clk_virt SLAVE_QUP_CORE_1 QCOM_ICC_TAG_ALWAYS>,
1419 <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS
1420 &config_noc SLAVE_QUP_1 QCOM_ICC_TAG_ALWAYS>,
1421 <&aggre1_noc MASTER_QUP_1 QCOM_ICC_TAG_ALWAYS
1422 &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>;
1423 interconnect-names = "qup-core",
1424 "qup-config",
1425 "qup-memory";
1426
1427 dmas = <&gpi_dma1 0 0 QCOM_GPI_I2C>,
1428 <&gpi_dma1 1 0 QCOM_GPI_I2C>;
1429 dma-names = "tx",
1430 "rx";
1431
1432 pinctrl-0 = <&qup_i2c8_data_clk>;
1433 pinctrl-names = "default";
1434
1435 #address-cells = <1>;
1436 #size-cells = <0>;
1437
1438 status = "disabled";
1439 };
1440
1441 spi8: spi@a80000 {
1442 compatible = "qcom,geni-spi";
1443 reg = <0 0x00a80000 0 0x4000>;
1444
1445 interrupts = <GIC_SPI 800 IRQ_TYPE_LEVEL_HIGH>;
1446
1447 clocks = <&gcc GCC_QUPV3_WRAP1_S0_CLK>;
1448 clock-names = "se";
1449
1450 interconnects = <&clk_virt MASTER_QUP_CORE_1 QCOM_ICC_TAG_ALWAYS
1451 &clk_virt SLAVE_QUP_CORE_1 QCOM_ICC_TAG_ALWAYS>,
1452 <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS
1453 &config_noc SLAVE_QUP_1 QCOM_ICC_TAG_ALWAYS>,
1454 <&aggre1_noc MASTER_QUP_1 QCOM_ICC_TAG_ALWAYS
1455 &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>;
1456 interconnect-names = "qup-core",
1457 "qup-config",
1458 "qup-memory";
1459
1460 dmas = <&gpi_dma1 0 0 QCOM_GPI_SPI>,
1461 <&gpi_dma1 1 0 QCOM_GPI_SPI>;
1462 dma-names = "tx",
1463 "rx";
1464
1465 pinctrl-0 = <&qup_spi8_data_clk>, <&qup_spi8_cs>;
1466 pinctrl-names = "default";
1467
1468 #address-cells = <1>;
1469 #size-cells = <0>;
1470
1471 status = "disabled";
1472 };
1473
1474 i2c9: i2c@a84000 {
1475 compatible = "qcom,geni-i2c";
1476 reg = <0 0x00a84000 0 0x4000>;
1477
1478 interrupts = <GIC_SPI 801 IRQ_TYPE_LEVEL_HIGH>;
1479
1480 clocks = <&gcc GCC_QUPV3_WRAP1_S1_CLK>;
1481 clock-names = "se";
1482
1483 interconnects = <&clk_virt MASTER_QUP_CORE_1 QCOM_ICC_TAG_ALWAYS
1484 &clk_virt SLAVE_QUP_CORE_1 QCOM_ICC_TAG_ALWAYS>,
1485 <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS
1486 &config_noc SLAVE_QUP_1 QCOM_ICC_TAG_ALWAYS>,
1487 <&aggre1_noc MASTER_QUP_1 QCOM_ICC_TAG_ALWAYS
1488 &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>;
1489 interconnect-names = "qup-core",
1490 "qup-config",
1491 "qup-memory";
1492
1493 dmas = <&gpi_dma1 0 1 QCOM_GPI_I2C>,
1494 <&gpi_dma1 1 1 QCOM_GPI_I2C>;
1495 dma-names = "tx",
1496 "rx";
1497
1498 pinctrl-0 = <&qup_i2c9_data_clk>;
1499 pinctrl-names = "default";
1500
1501 #address-cells = <1>;
1502 #size-cells = <0>;
1503
1504 status = "disabled";
1505 };
1506
1507 spi9: spi@a84000 {
1508 compatible = "qcom,geni-spi";
1509 reg = <0 0x00a84000 0 0x4000>;
1510
1511 interrupts = <GIC_SPI 801 IRQ_TYPE_LEVEL_HIGH>;
1512
1513 clocks = <&gcc GCC_QUPV3_WRAP1_S1_CLK>;
1514 clock-names = "se";
1515
1516 interconnects = <&clk_virt MASTER_QUP_CORE_1 QCOM_ICC_TAG_ALWAYS
1517 &clk_virt SLAVE_QUP_CORE_1 QCOM_ICC_TAG_ALWAYS>,
1518 <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS
1519 &config_noc SLAVE_QUP_1 QCOM_ICC_TAG_ALWAYS>,
1520 <&aggre1_noc MASTER_QUP_1 QCOM_ICC_TAG_ALWAYS
1521 &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>;
1522 interconnect-names = "qup-core",
1523 "qup-config",
1524 "qup-memory";
1525
1526 dmas = <&gpi_dma1 0 1 QCOM_GPI_SPI>,
1527 <&gpi_dma1 1 1 QCOM_GPI_SPI>;
1528 dma-names = "tx",
1529 "rx";
1530
1531 pinctrl-0 = <&qup_spi9_data_clk>, <&qup_spi9_cs>;
1532 pinctrl-names = "default";
1533
1534 #address-cells = <1>;
1535 #size-cells = <0>;
1536
1537 status = "disabled";
1538 };
1539
1540 i2c10: i2c@a88000 {
1541 compatible = "qcom,geni-i2c";
1542 reg = <0 0x00a88000 0 0x4000>;
1543
1544 interrupts = <GIC_SPI 802 IRQ_TYPE_LEVEL_HIGH>;
1545
1546 clocks = <&gcc GCC_QUPV3_WRAP1_S2_CLK>;
1547 clock-names = "se";
1548
1549 interconnects = <&clk_virt MASTER_QUP_CORE_1 QCOM_ICC_TAG_ALWAYS
1550 &clk_virt SLAVE_QUP_CORE_1 QCOM_ICC_TAG_ALWAYS>,
1551 <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS
1552 &config_noc SLAVE_QUP_1 QCOM_ICC_TAG_ALWAYS>,
1553 <&aggre1_noc MASTER_QUP_1 QCOM_ICC_TAG_ALWAYS
1554 &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>;
1555 interconnect-names = "qup-core",
1556 "qup-config",
1557 "qup-memory";
1558
1559 dmas = <&gpi_dma1 0 2 QCOM_GPI_I2C>,
1560 <&gpi_dma1 1 2 QCOM_GPI_I2C>;
1561 dma-names = "tx",
1562 "rx";
1563
1564 pinctrl-0 = <&qup_i2c10_data_clk>;
1565 pinctrl-names = "default";
1566
1567 #address-cells = <1>;
1568 #size-cells = <0>;
1569
1570 status = "disabled";
1571 };
1572
1573 spi10: spi@a88000 {
1574 compatible = "qcom,geni-spi";
1575 reg = <0 0x00a88000 0 0x4000>;
1576
1577 interrupts = <GIC_SPI 802 IRQ_TYPE_LEVEL_HIGH>;
1578
1579 clocks = <&gcc GCC_QUPV3_WRAP1_S2_CLK>;
1580 clock-names = "se";
1581
1582 interconnects = <&clk_virt MASTER_QUP_CORE_1 QCOM_ICC_TAG_ALWAYS
1583 &clk_virt SLAVE_QUP_CORE_1 QCOM_ICC_TAG_ALWAYS>,
1584 <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS
1585 &config_noc SLAVE_QUP_1 QCOM_ICC_TAG_ALWAYS>,
1586 <&aggre1_noc MASTER_QUP_1 QCOM_ICC_TAG_ALWAYS
1587 &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>;
1588 interconnect-names = "qup-core",
1589 "qup-config",
1590 "qup-memory";
1591
1592 dmas = <&gpi_dma1 0 2 QCOM_GPI_SPI>,
1593 <&gpi_dma1 1 2 QCOM_GPI_SPI>;
1594 dma-names = "tx",
1595 "rx";
1596
1597 pinctrl-0 = <&qup_spi10_data_clk>, <&qup_spi10_cs>;
1598 pinctrl-names = "default";
1599
1600 #address-cells = <1>;
1601 #size-cells = <0>;
1602
1603 status = "disabled";
1604 };
1605
1606 i2c11: i2c@a8c000 {
1607 compatible = "qcom,geni-i2c";
1608 reg = <0 0x00a8c000 0 0x4000>;
1609
1610 interrupts = <GIC_SPI 803 IRQ_TYPE_LEVEL_HIGH>;
1611
1612 clocks = <&gcc GCC_QUPV3_WRAP1_S3_CLK>;
1613 clock-names = "se";
1614
1615 interconnects = <&clk_virt MASTER_QUP_CORE_1 QCOM_ICC_TAG_ALWAYS
1616 &clk_virt SLAVE_QUP_CORE_1 QCOM_ICC_TAG_ALWAYS>,
1617 <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS
1618 &config_noc SLAVE_QUP_1 QCOM_ICC_TAG_ALWAYS>,
1619 <&aggre1_noc MASTER_QUP_1 QCOM_ICC_TAG_ALWAYS
1620 &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>;
1621 interconnect-names = "qup-core",
1622 "qup-config",
1623 "qup-memory";
1624
1625 dmas = <&gpi_dma1 0 3 QCOM_GPI_I2C>,
1626 <&gpi_dma1 1 3 QCOM_GPI_I2C>;
1627 dma-names = "tx",
1628 "rx";
1629
1630 pinctrl-0 = <&qup_i2c11_data_clk>;
1631 pinctrl-names = "default";
1632
1633 #address-cells = <1>;
1634 #size-cells = <0>;
1635
1636 status = "disabled";
1637 };
1638
1639 spi11: spi@a8c000 {
1640 compatible = "qcom,geni-spi";
1641 reg = <0 0x00a8c000 0 0x4000>;
1642
1643 interrupts = <GIC_SPI 803 IRQ_TYPE_LEVEL_HIGH>;
1644
1645 clocks = <&gcc GCC_QUPV3_WRAP1_S3_CLK>;
1646 clock-names = "se";
1647
1648 interconnects = <&clk_virt MASTER_QUP_CORE_1 QCOM_ICC_TAG_ALWAYS
1649 &clk_virt SLAVE_QUP_CORE_1 QCOM_ICC_TAG_ALWAYS>,
1650 <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS
1651 &config_noc SLAVE_QUP_1 QCOM_ICC_TAG_ALWAYS>,
1652 <&aggre1_noc MASTER_QUP_1 QCOM_ICC_TAG_ALWAYS
1653 &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>;
1654 interconnect-names = "qup-core",
1655 "qup-config",
1656 "qup-memory";
1657
1658 dmas = <&gpi_dma1 0 3 QCOM_GPI_SPI>,
1659 <&gpi_dma1 1 3 QCOM_GPI_SPI>;
1660 dma-names = "tx",
1661 "rx";
1662
1663 pinctrl-0 = <&qup_spi11_data_clk>, <&qup_spi11_cs>;
1664 pinctrl-names = "default";
1665
1666 #address-cells = <1>;
1667 #size-cells = <0>;
1668
1669 status = "disabled";
1670 };
1671
1672 i2c12: i2c@a90000 {
1673 compatible = "qcom,geni-i2c";
1674 reg = <0 0x00a90000 0 0x4000>;
1675
1676 interrupts = <GIC_SPI 804 IRQ_TYPE_LEVEL_HIGH>;
1677
1678 clocks = <&gcc GCC_QUPV3_WRAP1_S4_CLK>;
1679 clock-names = "se";
1680
1681 interconnects = <&clk_virt MASTER_QUP_CORE_1 QCOM_ICC_TAG_ALWAYS
1682 &clk_virt SLAVE_QUP_CORE_1 QCOM_ICC_TAG_ALWAYS>,
1683 <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS
1684 &config_noc SLAVE_QUP_1 QCOM_ICC_TAG_ALWAYS>,
1685 <&aggre1_noc MASTER_QUP_1 QCOM_ICC_TAG_ALWAYS
1686 &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>;
1687 interconnect-names = "qup-core",
1688 "qup-config",
1689 "qup-memory";
1690
1691 dmas = <&gpi_dma1 0 4 QCOM_GPI_I2C>,
1692 <&gpi_dma1 1 4 QCOM_GPI_I2C>;
1693 dma-names = "tx",
1694 "rx";
1695
1696 pinctrl-0 = <&qup_i2c12_data_clk>;
1697 pinctrl-names = "default";
1698
1699 #address-cells = <1>;
1700 #size-cells = <0>;
1701
1702 status = "disabled";
1703 };
1704
1705 spi12: spi@a90000 {
1706 compatible = "qcom,geni-spi";
1707 reg = <0 0x00a90000 0 0x4000>;
1708
1709 interrupts = <GIC_SPI 804 IRQ_TYPE_LEVEL_HIGH>;
1710
1711 clocks = <&gcc GCC_QUPV3_WRAP1_S4_CLK>;
1712 clock-names = "se";
1713
1714 interconnects = <&clk_virt MASTER_QUP_CORE_1 QCOM_ICC_TAG_ALWAYS
1715 &clk_virt SLAVE_QUP_CORE_1 QCOM_ICC_TAG_ALWAYS>,
1716 <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS
1717 &config_noc SLAVE_QUP_1 QCOM_ICC_TAG_ALWAYS>,
1718 <&aggre1_noc MASTER_QUP_1 QCOM_ICC_TAG_ALWAYS
1719 &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>;
1720 interconnect-names = "qup-core",
1721 "qup-config",
1722 "qup-memory";
1723
1724 dmas = <&gpi_dma1 0 4 QCOM_GPI_SPI>,
1725 <&gpi_dma1 1 4 QCOM_GPI_SPI>;
1726 dma-names = "tx",
1727 "rx";
1728
1729 pinctrl-0 = <&qup_spi12_data_clk>, <&qup_spi12_cs>;
1730 pinctrl-names = "default";
1731
1732 #address-cells = <1>;
1733 #size-cells = <0>;
1734
1735 status = "disabled";
1736 };
1737
1738 i2c13: i2c@a94000 {
1739 compatible = "qcom,geni-i2c";
1740 reg = <0 0x00a94000 0 0x4000>;
1741
1742 interrupts = <GIC_SPI 805 IRQ_TYPE_LEVEL_HIGH>;
1743
1744 clocks = <&gcc GCC_QUPV3_WRAP1_S5_CLK>;
1745 clock-names = "se";
1746
1747 interconnects = <&clk_virt MASTER_QUP_CORE_1 QCOM_ICC_TAG_ALWAYS
1748 &clk_virt SLAVE_QUP_CORE_1 QCOM_ICC_TAG_ALWAYS>,
1749 <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS
1750 &config_noc SLAVE_QUP_1 QCOM_ICC_TAG_ALWAYS>,
1751 <&aggre1_noc MASTER_QUP_1 QCOM_ICC_TAG_ALWAYS
1752 &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>;
1753 interconnect-names = "qup-core",
1754 "qup-config",
1755 "qup-memory";
1756
1757 dmas = <&gpi_dma1 0 5 QCOM_GPI_I2C>,
1758 <&gpi_dma1 1 5 QCOM_GPI_I2C>;
1759 dma-names = "tx",
1760 "rx";
1761
1762 pinctrl-0 = <&qup_i2c13_data_clk>;
1763 pinctrl-names = "default";
1764
1765 #address-cells = <1>;
1766 #size-cells = <0>;
1767
1768 status = "disabled";
1769 };
1770
1771 spi13: spi@a94000 {
1772 compatible = "qcom,geni-spi";
1773 reg = <0 0x00a94000 0 0x4000>;
1774
1775 interrupts = <GIC_SPI 805 IRQ_TYPE_LEVEL_HIGH>;
1776
1777 clocks = <&gcc GCC_QUPV3_WRAP1_S5_CLK>;
1778 clock-names = "se";
1779
1780 interconnects = <&clk_virt MASTER_QUP_CORE_1 QCOM_ICC_TAG_ALWAYS
1781 &clk_virt SLAVE_QUP_CORE_1 QCOM_ICC_TAG_ALWAYS>,
1782 <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS
1783 &config_noc SLAVE_QUP_1 QCOM_ICC_TAG_ALWAYS>,
1784 <&aggre1_noc MASTER_QUP_1 QCOM_ICC_TAG_ALWAYS
1785 &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>;
1786 interconnect-names = "qup-core",
1787 "qup-config",
1788 "qup-memory";
1789
1790 dmas = <&gpi_dma1 0 5 QCOM_GPI_SPI>,
1791 <&gpi_dma1 1 5 QCOM_GPI_SPI>;
1792 dma-names = "tx",
1793 "rx";
1794
1795 pinctrl-0 = <&qup_spi13_data_clk>, <&qup_spi13_cs>;
1796 pinctrl-names = "default";
1797
1798 #address-cells = <1>;
1799 #size-cells = <0>;
1800
1801 status = "disabled";
1802 };
1803
1804 i2c14: i2c@a98000 {
1805 compatible = "qcom,geni-i2c";
1806 reg = <0 0x00a98000 0 0x4000>;
1807
1808 interrupts = <GIC_SPI 806 IRQ_TYPE_LEVEL_HIGH>;
1809
1810 clocks = <&gcc GCC_QUPV3_WRAP1_S6_CLK>;
1811 clock-names = "se";
1812
1813 interconnects = <&clk_virt MASTER_QUP_CORE_1 QCOM_ICC_TAG_ALWAYS
1814 &clk_virt SLAVE_QUP_CORE_1 QCOM_ICC_TAG_ALWAYS>,
1815 <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS
1816 &config_noc SLAVE_QUP_1 QCOM_ICC_TAG_ALWAYS>,
1817 <&aggre1_noc MASTER_QUP_1 QCOM_ICC_TAG_ALWAYS
1818 &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>;
1819 interconnect-names = "qup-core",
1820 "qup-config",
1821 "qup-memory";
1822
1823 dmas = <&gpi_dma1 0 6 QCOM_GPI_I2C>,
1824 <&gpi_dma1 1 6 QCOM_GPI_I2C>;
1825 dma-names = "tx",
1826 "rx";
1827
1828 pinctrl-0 = <&qup_i2c14_data_clk>;
1829 pinctrl-names = "default";
1830
1831 #address-cells = <1>;
1832 #size-cells = <0>;
1833
1834 status = "disabled";
1835 };
1836
1837 spi14: spi@a98000 {
1838 compatible = "qcom,geni-spi";
1839 reg = <0 0x00a98000 0 0x4000>;
1840
1841 interrupts = <GIC_SPI 806 IRQ_TYPE_LEVEL_HIGH>;
1842
1843 clocks = <&gcc GCC_QUPV3_WRAP1_S6_CLK>;
1844 clock-names = "se";
1845
1846 interconnects = <&clk_virt MASTER_QUP_CORE_1 QCOM_ICC_TAG_ALWAYS
1847 &clk_virt SLAVE_QUP_CORE_1 QCOM_ICC_TAG_ALWAYS>,
1848 <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS
1849 &config_noc SLAVE_QUP_1 QCOM_ICC_TAG_ALWAYS>,
1850 <&aggre1_noc MASTER_QUP_1 QCOM_ICC_TAG_ALWAYS
1851 &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>;
1852 interconnect-names = "qup-core",
1853 "qup-config",
1854 "qup-memory";
1855
1856 dmas = <&gpi_dma1 0 6 QCOM_GPI_SPI>,
1857 <&gpi_dma1 1 6 QCOM_GPI_SPI>;
1858 dma-names = "tx",
1859 "rx";
1860
1861 pinctrl-0 = <&qup_spi14_data_clk>, <&qup_spi14_cs>;
1862 pinctrl-names = "default";
1863
1864 #address-cells = <1>;
1865 #size-cells = <0>;
1866
1867 status = "disabled";
1868 };
1869
1870 i2c15: i2c@a9c000 {
1871 compatible = "qcom,geni-i2c";
1872 reg = <0 0x00a9c000 0 0x4000>;
1873
1874 interrupts = <GIC_SPI 807 IRQ_TYPE_LEVEL_HIGH>;
1875
1876 clocks = <&gcc GCC_QUPV3_WRAP1_S7_CLK>;
1877 clock-names = "se";
1878
1879 interconnects = <&clk_virt MASTER_QUP_CORE_1 QCOM_ICC_TAG_ALWAYS
1880 &clk_virt SLAVE_QUP_CORE_1 QCOM_ICC_TAG_ALWAYS>,
1881 <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS
1882 &config_noc SLAVE_QUP_1 QCOM_ICC_TAG_ALWAYS>,
1883 <&aggre1_noc MASTER_QUP_1 QCOM_ICC_TAG_ALWAYS
1884 &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>;
1885 interconnect-names = "qup-core",
1886 "qup-config",
1887 "qup-memory";
1888
1889 dmas = <&gpi_dma1 0 7 QCOM_GPI_I2C>,
1890 <&gpi_dma1 1 7 QCOM_GPI_I2C>;
1891 dma-names = "tx",
1892 "rx";
1893
1894 pinctrl-0 = <&qup_i2c15_data_clk>;
1895 pinctrl-names = "default";
1896
1897 #address-cells = <1>;
1898 #size-cells = <0>;
1899
1900 status = "disabled";
1901 };
1902
1903 spi15: spi@a9c000 {
1904 compatible = "qcom,geni-spi";
1905 reg = <0 0x00a9c000 0 0x4000>;
1906
1907 interrupts = <GIC_SPI 807 IRQ_TYPE_LEVEL_HIGH>;
1908
1909 clocks = <&gcc GCC_QUPV3_WRAP1_S7_CLK>;
1910 clock-names = "se";
1911
1912 interconnects = <&clk_virt MASTER_QUP_CORE_1 QCOM_ICC_TAG_ALWAYS
1913 &clk_virt SLAVE_QUP_CORE_1 QCOM_ICC_TAG_ALWAYS>,
1914 <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS
1915 &config_noc SLAVE_QUP_1 QCOM_ICC_TAG_ALWAYS>,
1916 <&aggre1_noc MASTER_QUP_1 QCOM_ICC_TAG_ALWAYS
1917 &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>;
1918 interconnect-names = "qup-core",
1919 "qup-config",
1920 "qup-memory";
1921
1922 dmas = <&gpi_dma1 0 7 QCOM_GPI_SPI>,
1923 <&gpi_dma1 1 7 QCOM_GPI_SPI>;
1924 dma-names = "tx",
1925 "rx";
1926
1927 pinctrl-0 = <&qup_spi15_data_clk>, <&qup_spi15_cs>;
1928 pinctrl-names = "default";
1929
1930 #address-cells = <1>;
1931 #size-cells = <0>;
1932
1933 status = "disabled";
1934 };
1935 };
1936
1937 gpi_dma0: dma-controller@b00000 {
1938 compatible = "qcom,x1e80100-gpi-dma", "qcom,sm6350-gpi-dma";
1939 reg = <0 0x00b00000 0 0x60000>;
1940
1941 interrupts = <GIC_SPI 588 IRQ_TYPE_LEVEL_HIGH>,
1942 <GIC_SPI 589 IRQ_TYPE_LEVEL_HIGH>,
1943 <GIC_SPI 590 IRQ_TYPE_LEVEL_HIGH>,
1944 <GIC_SPI 591 IRQ_TYPE_LEVEL_HIGH>,
1945 <GIC_SPI 592 IRQ_TYPE_LEVEL_HIGH>,
1946 <GIC_SPI 593 IRQ_TYPE_LEVEL_HIGH>,
1947 <GIC_SPI 594 IRQ_TYPE_LEVEL_HIGH>,
1948 <GIC_SPI 595 IRQ_TYPE_LEVEL_HIGH>,
1949 <GIC_SPI 596 IRQ_TYPE_LEVEL_HIGH>,
1950 <GIC_SPI 597 IRQ_TYPE_LEVEL_HIGH>,
1951 <GIC_SPI 598 IRQ_TYPE_LEVEL_HIGH>,
1952 <GIC_SPI 599 IRQ_TYPE_LEVEL_HIGH>;
1953
1954 dma-channels = <12>;
1955 dma-channel-mask = <0x3e>;
1956 #dma-cells = <3>;
1957
1958 iommus = <&apps_smmu 0x456 0x0>;
1959
1960 status = "disabled";
1961 };
1962
1963 qupv3_0: geniqup@bc0000 {
1964 compatible = "qcom,geni-se-qup";
1965 reg = <0 0x00bc0000 0 0x2000>;
1966
1967 clocks = <&gcc GCC_QUPV3_WRAP_0_M_AHB_CLK>,
1968 <&gcc GCC_QUPV3_WRAP_0_S_AHB_CLK>;
1969 clock-names = "m-ahb",
1970 "s-ahb";
1971
1972 iommus = <&apps_smmu 0x443 0x0>;
1973 #address-cells = <2>;
1974 #size-cells = <2>;
1975 ranges;
1976
1977 status = "disabled";
1978
1979 i2c0: i2c@b80000 {
1980 compatible = "qcom,geni-i2c";
1981 reg = <0 0xb80000 0 0x4000>;
1982
1983 interrupts = <GIC_SPI 373 IRQ_TYPE_LEVEL_HIGH>;
1984
1985 clocks = <&gcc GCC_QUPV3_WRAP0_S0_CLK>;
1986 clock-names = "se";
1987
1988 interconnects = <&clk_virt MASTER_QUP_CORE_0 QCOM_ICC_TAG_ALWAYS
1989 &clk_virt SLAVE_QUP_CORE_0 QCOM_ICC_TAG_ALWAYS>,
1990 <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS
1991 &config_noc SLAVE_QUP_0 QCOM_ICC_TAG_ALWAYS>,
1992 <&aggre2_noc MASTER_QUP_0 QCOM_ICC_TAG_ALWAYS
1993 &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>;
1994 interconnect-names = "qup-core",
1995 "qup-config",
1996 "qup-memory";
1997
1998 dmas = <&gpi_dma0 0 0 QCOM_GPI_I2C>,
1999 <&gpi_dma0 1 0 QCOM_GPI_I2C>;
2000 dma-names = "tx",
2001 "rx";
2002
2003 pinctrl-0 = <&qup_i2c0_data_clk>;
2004 pinctrl-names = "default";
2005
2006 #address-cells = <1>;
2007 #size-cells = <0>;
2008
2009 status = "disabled";
2010 };
2011
2012 spi0: spi@b80000 {
2013 compatible = "qcom,geni-spi";
2014 reg = <0 0x00b80000 0 0x4000>;
2015
2016 interrupts = <GIC_SPI 373 IRQ_TYPE_LEVEL_HIGH>;
2017
2018 clocks = <&gcc GCC_QUPV3_WRAP0_S0_CLK>;
2019 clock-names = "se";
2020
2021 interconnects = <&clk_virt MASTER_QUP_CORE_0 QCOM_ICC_TAG_ALWAYS
2022 &clk_virt SLAVE_QUP_CORE_0 QCOM_ICC_TAG_ALWAYS>,
2023 <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS
2024 &config_noc SLAVE_QUP_0 QCOM_ICC_TAG_ALWAYS>,
2025 <&aggre2_noc MASTER_QUP_0 QCOM_ICC_TAG_ALWAYS
2026 &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>;
2027 interconnect-names = "qup-core",
2028 "qup-config",
2029 "qup-memory";
2030
2031 dmas = <&gpi_dma0 0 0 QCOM_GPI_SPI>,
2032 <&gpi_dma0 1 0 QCOM_GPI_SPI>;
2033 dma-names = "tx",
2034 "rx";
2035
2036 pinctrl-0 = <&qup_spi0_data_clk>, <&qup_spi0_cs>;
2037 pinctrl-names = "default";
2038
2039 #address-cells = <1>;
2040 #size-cells = <0>;
2041
2042 status = "disabled";
2043 };
2044
2045 i2c1: i2c@b84000 {
2046 compatible = "qcom,geni-i2c";
2047 reg = <0 0x00b84000 0 0x4000>;
2048
2049 interrupts = <GIC_SPI 583 IRQ_TYPE_LEVEL_HIGH>;
2050
2051 clocks = <&gcc GCC_QUPV3_WRAP0_S1_CLK>;
2052 clock-names = "se";
2053
2054 interconnects = <&clk_virt MASTER_QUP_CORE_0 QCOM_ICC_TAG_ALWAYS
2055 &clk_virt SLAVE_QUP_CORE_0 QCOM_ICC_TAG_ALWAYS>,
2056 <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS
2057 &config_noc SLAVE_QUP_0 QCOM_ICC_TAG_ALWAYS>,
2058 <&aggre2_noc MASTER_QUP_0 QCOM_ICC_TAG_ALWAYS
2059 &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>;
2060 interconnect-names = "qup-core",
2061 "qup-config",
2062 "qup-memory";
2063
2064 dmas = <&gpi_dma0 0 1 QCOM_GPI_I2C>,
2065 <&gpi_dma0 1 1 QCOM_GPI_I2C>;
2066 dma-names = "tx",
2067 "rx";
2068
2069 pinctrl-0 = <&qup_i2c1_data_clk>;
2070 pinctrl-names = "default";
2071
2072 #address-cells = <1>;
2073 #size-cells = <0>;
2074
2075 status = "disabled";
2076 };
2077
2078 spi1: spi@b84000 {
2079 compatible = "qcom,geni-spi";
2080 reg = <0 0x00b84000 0 0x4000>;
2081
2082 interrupts = <GIC_SPI 583 IRQ_TYPE_LEVEL_HIGH>;
2083
2084 clocks = <&gcc GCC_QUPV3_WRAP0_S1_CLK>;
2085 clock-names = "se";
2086
2087 interconnects = <&clk_virt MASTER_QUP_CORE_0 QCOM_ICC_TAG_ALWAYS
2088 &clk_virt SLAVE_QUP_CORE_0 QCOM_ICC_TAG_ALWAYS>,
2089 <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS
2090 &config_noc SLAVE_QUP_0 QCOM_ICC_TAG_ALWAYS>,
2091 <&aggre2_noc MASTER_QUP_0 QCOM_ICC_TAG_ALWAYS
2092 &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>;
2093 interconnect-names = "qup-core",
2094 "qup-config",
2095 "qup-memory";
2096
2097 dmas = <&gpi_dma0 0 1 QCOM_GPI_SPI>,
2098 <&gpi_dma0 1 1 QCOM_GPI_SPI>;
2099 dma-names = "tx",
2100 "rx";
2101
2102 pinctrl-0 = <&qup_spi1_data_clk>, <&qup_spi1_cs>;
2103 pinctrl-names = "default";
2104
2105 #address-cells = <1>;
2106 #size-cells = <0>;
2107
2108 status = "disabled";
2109 };
2110
2111 i2c2: i2c@b88000 {
2112 compatible = "qcom,geni-i2c";
2113 reg = <0 0x00b88000 0 0x4000>;
2114
2115 interrupts = <GIC_SPI 584 IRQ_TYPE_LEVEL_HIGH>;
2116
2117 clocks = <&gcc GCC_QUPV3_WRAP0_S2_CLK>;
2118 clock-names = "se";
2119
2120 interconnects = <&clk_virt MASTER_QUP_CORE_0 QCOM_ICC_TAG_ALWAYS
2121 &clk_virt SLAVE_QUP_CORE_0 QCOM_ICC_TAG_ALWAYS>,
2122 <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS
2123 &config_noc SLAVE_QUP_0 QCOM_ICC_TAG_ALWAYS>,
2124 <&aggre2_noc MASTER_QUP_0 QCOM_ICC_TAG_ALWAYS
2125 &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>;
2126 interconnect-names = "qup-core",
2127 "qup-config",
2128 "qup-memory";
2129
2130 dmas = <&gpi_dma0 0 2 QCOM_GPI_I2C>,
2131 <&gpi_dma0 1 2 QCOM_GPI_I2C>;
2132 dma-names = "tx",
2133 "rx";
2134
2135 pinctrl-0 = <&qup_i2c2_data_clk>;
2136 pinctrl-names = "default";
2137
2138 #address-cells = <1>;
2139 #size-cells = <0>;
2140
2141 status = "disabled";
2142 };
2143
2144 spi2: spi@b88000 {
2145 compatible = "qcom,geni-spi";
2146 reg = <0 0xb88000 0 0x4000>;
2147
2148 interrupts = <GIC_SPI 584 IRQ_TYPE_LEVEL_HIGH>;
2149
2150 clocks = <&gcc GCC_QUPV3_WRAP0_S2_CLK>;
2151 clock-names = "se";
2152
2153 interconnects = <&clk_virt MASTER_QUP_CORE_0 QCOM_ICC_TAG_ALWAYS
2154 &clk_virt SLAVE_QUP_CORE_0 QCOM_ICC_TAG_ALWAYS>,
2155 <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS
2156 &config_noc SLAVE_QUP_0 QCOM_ICC_TAG_ALWAYS>,
2157 <&aggre2_noc MASTER_QUP_0 QCOM_ICC_TAG_ALWAYS
2158 &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>;
2159 interconnect-names = "qup-core",
2160 "qup-config",
2161 "qup-memory";
2162
2163 dmas = <&gpi_dma0 0 2 QCOM_GPI_SPI>,
2164 <&gpi_dma0 1 2 QCOM_GPI_SPI>;
2165 dma-names = "tx",
2166 "rx";
2167
2168 pinctrl-0 = <&qup_spi2_data_clk>, <&qup_spi2_cs>;
2169 pinctrl-names = "default";
2170
2171 #address-cells = <1>;
2172 #size-cells = <0>;
2173
2174 status = "disabled";
2175 };
2176
2177 i2c3: i2c@b8c000 {
2178 compatible = "qcom,geni-i2c";
2179 reg = <0 0x00b8c000 0 0x4000>;
2180
2181 interrupts = <GIC_SPI 585 IRQ_TYPE_LEVEL_HIGH>;
2182
2183 clocks = <&gcc GCC_QUPV3_WRAP0_S3_CLK>;
2184 clock-names = "se";
2185
2186 interconnects = <&clk_virt MASTER_QUP_CORE_0 QCOM_ICC_TAG_ALWAYS
2187 &clk_virt SLAVE_QUP_CORE_0 QCOM_ICC_TAG_ALWAYS>,
2188 <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS
2189 &config_noc SLAVE_QUP_0 QCOM_ICC_TAG_ALWAYS>,
2190 <&aggre2_noc MASTER_QUP_0 QCOM_ICC_TAG_ALWAYS
2191 &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>;
2192 interconnect-names = "qup-core",
2193 "qup-config",
2194 "qup-memory";
2195
2196 dmas = <&gpi_dma0 0 3 QCOM_GPI_I2C>,
2197 <&gpi_dma0 1 3 QCOM_GPI_I2C>;
2198 dma-names = "tx",
2199 "rx";
2200
2201 pinctrl-0 = <&qup_i2c3_data_clk>;
2202 pinctrl-names = "default";
2203
2204 #address-cells = <1>;
2205 #size-cells = <0>;
2206
2207 status = "disabled";
2208 };
2209
2210 spi3: spi@b8c000 {
2211 compatible = "qcom,geni-spi";
2212 reg = <0 0x00b8c000 0 0x4000>;
2213
2214 interrupts = <GIC_SPI 585 IRQ_TYPE_LEVEL_HIGH>;
2215
2216 clocks = <&gcc GCC_QUPV3_WRAP0_S3_CLK>;
2217 clock-names = "se";
2218
2219 interconnects = <&clk_virt MASTER_QUP_CORE_0 QCOM_ICC_TAG_ALWAYS
2220 &clk_virt SLAVE_QUP_CORE_0 QCOM_ICC_TAG_ALWAYS>,
2221 <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS
2222 &config_noc SLAVE_QUP_0 QCOM_ICC_TAG_ALWAYS>,
2223 <&aggre2_noc MASTER_QUP_0 QCOM_ICC_TAG_ALWAYS
2224 &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>;
2225 interconnect-names = "qup-core",
2226 "qup-config",
2227 "qup-memory";
2228
2229 dmas = <&gpi_dma0 0 3 QCOM_GPI_SPI>,
2230 <&gpi_dma0 1 3 QCOM_GPI_SPI>;
2231 dma-names = "tx",
2232 "rx";
2233
2234 pinctrl-0 = <&qup_spi3_data_clk>, <&qup_spi3_cs>;
2235 pinctrl-names = "default";
2236
2237 #address-cells = <1>;
2238 #size-cells = <0>;
2239
2240 status = "disabled";
2241 };
2242
2243 i2c4: i2c@b90000 {
2244 compatible = "qcom,geni-i2c";
2245 reg = <0 0xb90000 0 0x4000>;
2246
2247 interrupts = <GIC_SPI 586 IRQ_TYPE_LEVEL_HIGH>;
2248
2249 clocks = <&gcc GCC_QUPV3_WRAP0_S4_CLK>;
2250 clock-names = "se";
2251
2252 interconnects = <&clk_virt MASTER_QUP_CORE_0 QCOM_ICC_TAG_ALWAYS
2253 &clk_virt SLAVE_QUP_CORE_0 QCOM_ICC_TAG_ALWAYS>,
2254 <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS
2255 &config_noc SLAVE_QUP_0 QCOM_ICC_TAG_ALWAYS>,
2256 <&aggre2_noc MASTER_QUP_0 QCOM_ICC_TAG_ALWAYS
2257 &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>;
2258 interconnect-names = "qup-core",
2259 "qup-config",
2260 "qup-memory";
2261
2262 dmas = <&gpi_dma0 0 4 QCOM_GPI_I2C>,
2263 <&gpi_dma0 1 4 QCOM_GPI_I2C>;
2264 dma-names = "tx",
2265 "rx";
2266
2267 pinctrl-0 = <&qup_i2c4_data_clk>;
2268 pinctrl-names = "default";
2269
2270 #address-cells = <1>;
2271 #size-cells = <0>;
2272
2273 status = "disabled";
2274 };
2275
2276 spi4: spi@b90000 {
2277 compatible = "qcom,geni-spi";
2278 reg = <0 0x00b90000 0 0x4000>;
2279
2280 interrupts = <GIC_SPI 586 IRQ_TYPE_LEVEL_HIGH>;
2281
2282 clocks = <&gcc GCC_QUPV3_WRAP0_S4_CLK>;
2283 clock-names = "se";
2284
2285 interconnects = <&clk_virt MASTER_QUP_CORE_0 QCOM_ICC_TAG_ALWAYS
2286 &clk_virt SLAVE_QUP_CORE_0 QCOM_ICC_TAG_ALWAYS>,
2287 <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS
2288 &config_noc SLAVE_QUP_0 QCOM_ICC_TAG_ALWAYS>,
2289 <&aggre2_noc MASTER_QUP_0 QCOM_ICC_TAG_ALWAYS
2290 &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>;
2291 interconnect-names = "qup-core",
2292 "qup-config",
2293 "qup-memory";
2294
2295 dmas = <&gpi_dma0 0 4 QCOM_GPI_SPI>,
2296 <&gpi_dma0 1 4 QCOM_GPI_SPI>;
2297 dma-names = "tx",
2298 "rx";
2299
2300 pinctrl-0 = <&qup_spi4_data_clk>, <&qup_spi4_cs>;
2301 pinctrl-names = "default";
2302
2303 #address-cells = <1>;
2304 #size-cells = <0>;
2305
2306 status = "disabled";
2307 };
2308
2309 i2c5: i2c@b94000 {
2310 compatible = "qcom,geni-i2c";
2311 reg = <0 0x00b94000 0 0x4000>;
2312
2313 interrupts = <GIC_SPI 587 IRQ_TYPE_LEVEL_HIGH>;
2314
2315 clocks = <&gcc GCC_QUPV3_WRAP0_S5_CLK>;
2316 clock-names = "se";
2317
2318 interconnects = <&clk_virt MASTER_QUP_CORE_0 QCOM_ICC_TAG_ALWAYS
2319 &clk_virt SLAVE_QUP_CORE_0 QCOM_ICC_TAG_ALWAYS>,
2320 <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS
2321 &config_noc SLAVE_QUP_0 QCOM_ICC_TAG_ALWAYS>,
2322 <&aggre2_noc MASTER_QUP_0 QCOM_ICC_TAG_ALWAYS
2323 &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>;
2324 interconnect-names = "qup-core",
2325 "qup-config",
2326 "qup-memory";
2327
2328 dmas = <&gpi_dma0 0 5 QCOM_GPI_I2C>,
2329 <&gpi_dma0 1 5 QCOM_GPI_I2C>;
2330 dma-names = "tx",
2331 "rx";
2332
2333 pinctrl-0 = <&qup_i2c5_data_clk>;
2334 pinctrl-names = "default";
2335
2336 #address-cells = <1>;
2337 #size-cells = <0>;
2338
2339 status = "disabled";
2340 };
2341
2342 spi5: spi@b94000 {
2343 compatible = "qcom,geni-spi";
2344 reg = <0 0x00b94000 0 0x4000>;
2345
2346 interrupts = <GIC_SPI 587 IRQ_TYPE_LEVEL_HIGH>;
2347
2348 clocks = <&gcc GCC_QUPV3_WRAP0_S5_CLK>;
2349 clock-names = "se";
2350
2351 interconnects = <&clk_virt MASTER_QUP_CORE_0 QCOM_ICC_TAG_ALWAYS
2352 &clk_virt SLAVE_QUP_CORE_0 QCOM_ICC_TAG_ALWAYS>,
2353 <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS
2354 &config_noc SLAVE_QUP_0 QCOM_ICC_TAG_ALWAYS>,
2355 <&aggre2_noc MASTER_QUP_0 QCOM_ICC_TAG_ALWAYS
2356 &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>;
2357 interconnect-names = "qup-core",
2358 "qup-config",
2359 "qup-memory";
2360
2361 dmas = <&gpi_dma0 0 5 QCOM_GPI_SPI>,
2362 <&gpi_dma0 1 5 QCOM_GPI_SPI>;
2363 dma-names = "tx",
2364 "rx";
2365
2366 pinctrl-0 = <&qup_spi5_data_clk>, <&qup_spi5_cs>;
2367 pinctrl-names = "default";
2368
2369 #address-cells = <1>;
2370 #size-cells = <0>;
2371
2372 status = "disabled";
2373 };
2374
2375 i2c6: i2c@b98000 {
2376 compatible = "qcom,geni-i2c";
2377 reg = <0 0x00b98000 0 0x4000>;
2378
2379 interrupts = <GIC_SPI 461 IRQ_TYPE_LEVEL_HIGH>;
2380
2381 clocks = <&gcc GCC_QUPV3_WRAP0_S6_CLK>;
2382 clock-names = "se";
2383
2384 interconnects = <&clk_virt MASTER_QUP_CORE_0 QCOM_ICC_TAG_ALWAYS
2385 &clk_virt SLAVE_QUP_CORE_0 QCOM_ICC_TAG_ALWAYS>,
2386 <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS
2387 &config_noc SLAVE_QUP_0 QCOM_ICC_TAG_ALWAYS>,
2388 <&aggre2_noc MASTER_QUP_0 QCOM_ICC_TAG_ALWAYS
2389 &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>;
2390 interconnect-names = "qup-core",
2391 "qup-config",
2392 "qup-memory";
2393
2394 dmas = <&gpi_dma0 0 6 QCOM_GPI_I2C>,
2395 <&gpi_dma0 1 6 QCOM_GPI_I2C>;
2396 dma-names = "tx",
2397 "rx";
2398
2399 pinctrl-0 = <&qup_i2c6_data_clk>;
2400 pinctrl-names = "default";
2401
2402 #address-cells = <1>;
2403 #size-cells = <0>;
2404
2405 status = "disabled";
2406 };
2407
2408 spi6: spi@b98000 {
2409 compatible = "qcom,geni-spi";
2410 reg = <0 0x00b98000 0 0x4000>;
2411
2412 interrupts = <GIC_SPI 461 IRQ_TYPE_LEVEL_HIGH>;
2413
2414 clocks = <&gcc GCC_QUPV3_WRAP0_S6_CLK>;
2415 clock-names = "se";
2416
2417 interconnects = <&clk_virt MASTER_QUP_CORE_0 QCOM_ICC_TAG_ALWAYS
2418 &clk_virt SLAVE_QUP_CORE_0 QCOM_ICC_TAG_ALWAYS>,
2419 <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS
2420 &config_noc SLAVE_QUP_0 QCOM_ICC_TAG_ALWAYS>,
2421 <&aggre2_noc MASTER_QUP_0 QCOM_ICC_TAG_ALWAYS
2422 &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>;
2423 interconnect-names = "qup-core",
2424 "qup-config",
2425 "qup-memory";
2426
2427 dmas = <&gpi_dma0 0 6 QCOM_GPI_SPI>,
2428 <&gpi_dma0 1 6 QCOM_GPI_SPI>;
2429 dma-names = "tx",
2430 "rx";
2431
2432 pinctrl-0 = <&qup_spi6_data_clk>, <&qup_spi6_cs>;
2433 pinctrl-names = "default";
2434
2435 #address-cells = <1>;
2436 #size-cells = <0>;
2437
2438 status = "disabled";
2439 };
2440
2441 i2c7: i2c@b9c000 {
2442 compatible = "qcom,geni-i2c";
2443 reg = <0 0x00b9c000 0 0x4000>;
2444
2445 interrupts = <GIC_SPI 462 IRQ_TYPE_LEVEL_HIGH>;
2446
2447 clocks = <&gcc GCC_QUPV3_WRAP0_S7_CLK>;
2448 clock-names = "se";
2449
2450 interconnects = <&clk_virt MASTER_QUP_CORE_0 QCOM_ICC_TAG_ALWAYS
2451 &clk_virt SLAVE_QUP_CORE_0 QCOM_ICC_TAG_ALWAYS>,
2452 <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS
2453 &config_noc SLAVE_QUP_0 QCOM_ICC_TAG_ALWAYS>,
2454 <&aggre2_noc MASTER_QUP_0 QCOM_ICC_TAG_ALWAYS
2455 &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>;
2456 interconnect-names = "qup-core",
2457 "qup-config",
2458 "qup-memory";
2459
2460 dmas = <&gpi_dma0 0 7 QCOM_GPI_I2C>,
2461 <&gpi_dma0 1 7 QCOM_GPI_I2C>;
2462 dma-names = "tx",
2463 "rx";
2464
2465 pinctrl-0 = <&qup_i2c7_data_clk>;
2466 pinctrl-names = "default";
2467
2468 #address-cells = <1>;
2469 #size-cells = <0>;
2470
2471 status = "disabled";
2472 };
2473
2474 spi7: spi@b9c000 {
2475 compatible = "qcom,geni-spi";
2476 reg = <0 0x00b9c000 0 0x4000>;
2477
2478 interrupts = <GIC_SPI 462 IRQ_TYPE_LEVEL_HIGH>;
2479
2480 clocks = <&gcc GCC_QUPV3_WRAP0_S7_CLK>;
2481 clock-names = "se";
2482
2483 interconnects = <&clk_virt MASTER_QUP_CORE_0 QCOM_ICC_TAG_ALWAYS
2484 &clk_virt SLAVE_QUP_CORE_0 QCOM_ICC_TAG_ALWAYS>,
2485 <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS
2486 &config_noc SLAVE_QUP_0 QCOM_ICC_TAG_ALWAYS>,
2487 <&aggre2_noc MASTER_QUP_0 QCOM_ICC_TAG_ALWAYS
2488 &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>;
2489 interconnect-names = "qup-core",
2490 "qup-config",
2491 "qup-memory";
2492
2493 dmas = <&gpi_dma0 0 7 QCOM_GPI_SPI>,
2494 <&gpi_dma0 1 7 QCOM_GPI_SPI>;
2495 dma-names = "tx",
2496 "rx";
2497
2498 pinctrl-0 = <&qup_spi7_data_clk>, <&qup_spi7_cs>;
2499 pinctrl-names = "default";
2500
2501 #address-cells = <1>;
2502 #size-cells = <0>;
2503
2504 status = "disabled";
2505 };
2506 };
2507
Tom Rini6bb92fc2024-05-20 09:54:58 -06002508 usb_1_ss0_hsphy: phy@fd3000 {
2509 compatible = "qcom,x1e80100-snps-eusb2-phy",
2510 "qcom,sm8550-snps-eusb2-phy";
2511 reg = <0 0x00fd3000 0 0x154>;
2512 #phy-cells = <0>;
2513
2514 clocks = <&tcsr TCSR_USB2_1_CLKREF_EN>;
2515 clock-names = "ref";
2516
2517 resets = <&gcc GCC_QUSB2PHY_PRIM_BCR>;
2518
2519 status = "disabled";
2520 };
2521
2522 usb_1_ss0_qmpphy: phy@fd5000 {
2523 compatible = "qcom,x1e80100-qmp-usb3-dp-phy";
2524 reg = <0 0x00fd5000 0 0x4000>;
2525
2526 clocks = <&gcc GCC_USB3_PRIM_PHY_AUX_CLK>,
2527 <&rpmhcc RPMH_CXO_CLK>,
2528 <&gcc GCC_USB3_PRIM_PHY_COM_AUX_CLK>,
2529 <&gcc GCC_USB3_PRIM_PHY_PIPE_CLK>;
2530 clock-names = "aux",
2531 "ref",
2532 "com_aux",
2533 "usb3_pipe";
2534
2535 power-domains = <&gcc GCC_USB_0_PHY_GDSC>;
2536
2537 resets = <&gcc GCC_USB3_PHY_PRIM_BCR>,
2538 <&gcc GCC_USB4_0_DP0_PHY_PRIM_BCR>;
2539 reset-names = "phy",
2540 "common";
2541
2542 #clock-cells = <1>;
2543 #phy-cells = <1>;
2544
2545 status = "disabled";
2546 };
2547
2548 usb_1_ss1_hsphy: phy@fd9000 {
2549 compatible = "qcom,x1e80100-snps-eusb2-phy",
2550 "qcom,sm8550-snps-eusb2-phy";
2551 reg = <0 0x00fd9000 0 0x154>;
2552 #phy-cells = <0>;
2553
2554 clocks = <&tcsr TCSR_USB2_1_CLKREF_EN>;
2555 clock-names = "ref";
2556
2557 resets = <&gcc GCC_QUSB2PHY_SEC_BCR>;
2558
2559 status = "disabled";
2560 };
2561
2562 usb_1_ss1_qmpphy: phy@fda000 {
2563 compatible = "qcom,x1e80100-qmp-usb3-dp-phy";
2564 reg = <0 0x00fda000 0 0x4000>;
2565
2566 clocks = <&gcc GCC_USB3_SEC_PHY_AUX_CLK>,
2567 <&rpmhcc RPMH_CXO_CLK>,
2568 <&gcc GCC_USB3_SEC_PHY_COM_AUX_CLK>,
2569 <&gcc GCC_USB3_SEC_PHY_PIPE_CLK>;
2570 clock-names = "aux",
2571 "ref",
2572 "com_aux",
2573 "usb3_pipe";
2574
2575 power-domains = <&gcc GCC_USB_1_PHY_GDSC>;
2576
2577 resets = <&gcc GCC_USB3_PHY_SEC_BCR>,
2578 <&gcc GCC_USB4_1_DP0_PHY_SEC_BCR>;
2579 reset-names = "phy",
2580 "common";
2581
2582 #clock-cells = <1>;
2583 #phy-cells = <1>;
2584
2585 status = "disabled";
2586 };
2587
2588 usb_1_ss2_hsphy: phy@fde000 {
2589 compatible = "qcom,x1e80100-snps-eusb2-phy",
2590 "qcom,sm8550-snps-eusb2-phy";
2591 reg = <0 0x00fde000 0 0x154>;
2592 #phy-cells = <0>;
2593
2594 clocks = <&tcsr TCSR_USB2_1_CLKREF_EN>;
2595 clock-names = "ref";
2596
2597 resets = <&gcc GCC_QUSB2PHY_TERT_BCR>;
2598
2599 status = "disabled";
2600 };
2601
2602 usb_1_ss2_qmpphy: phy@fdf000 {
2603 compatible = "qcom,x1e80100-qmp-usb3-dp-phy";
2604 reg = <0 0x00fdf000 0 0x4000>;
2605
2606 clocks = <&gcc GCC_USB3_TERT_PHY_AUX_CLK>,
2607 <&rpmhcc RPMH_CXO_CLK>,
2608 <&gcc GCC_USB3_TERT_PHY_COM_AUX_CLK>,
2609 <&gcc GCC_USB3_TERT_PHY_PIPE_CLK>;
2610 clock-names = "aux",
2611 "ref",
2612 "com_aux",
2613 "usb3_pipe";
2614
2615 power-domains = <&gcc GCC_USB_2_PHY_GDSC>;
2616
2617 resets = <&gcc GCC_USB3_PHY_TERT_BCR>,
2618 <&gcc GCC_USB4_2_DP0_PHY_TERT_BCR>;
2619 reset-names = "phy",
2620 "common";
2621
2622 #clock-cells = <1>;
2623 #phy-cells = <1>;
2624
2625 status = "disabled";
2626 };
2627
Tom Rini93743d22024-04-01 09:08:13 -04002628 cnoc_main: interconnect@1500000 {
2629 compatible = "qcom,x1e80100-cnoc-main";
2630 reg = <0 0x1500000 0 0x14400>;
2631
2632 qcom,bcm-voters = <&apps_bcm_voter>;
2633
2634 #interconnect-cells = <2>;
2635 };
2636
2637 config_noc: interconnect@1600000 {
2638 compatible = "qcom,x1e80100-cnoc-cfg";
2639 reg = <0 0x1600000 0 0x6600>;
2640
2641 qcom,bcm-voters = <&apps_bcm_voter>;
2642
2643 #interconnect-cells = <2>;
2644 };
2645
2646 system_noc: interconnect@1680000 {
2647 compatible = "qcom,x1e80100-system-noc";
2648 reg = <0 0x1680000 0 0x1c080>;
2649
2650 qcom,bcm-voters = <&apps_bcm_voter>;
2651
2652 #interconnect-cells = <2>;
2653 };
2654
2655 pcie_south_anoc: interconnect@16c0000 {
2656 compatible = "qcom,x1e80100-pcie-south-anoc";
2657 reg = <0 0x16c0000 0 0xd080>;
2658
2659 qcom,bcm-voters = <&apps_bcm_voter>;
2660
2661 #interconnect-cells = <2>;
2662 };
2663
2664 pcie_center_anoc: interconnect@16d0000 {
2665 compatible = "qcom,x1e80100-pcie-center-anoc";
2666 reg = <0 0x16d0000 0 0x7000>;
2667
2668 qcom,bcm-voters = <&apps_bcm_voter>;
2669
2670 #interconnect-cells = <2>;
2671 };
2672
2673 aggre1_noc: interconnect@16e0000 {
2674 compatible = "qcom,x1e80100-aggre1-noc";
2675 reg = <0 0x16E0000 0 0x14400>;
2676
2677 qcom,bcm-voters = <&apps_bcm_voter>;
2678
2679 #interconnect-cells = <2>;
2680 };
2681
2682 aggre2_noc: interconnect@1700000 {
2683 compatible = "qcom,x1e80100-aggre2-noc";
2684 reg = <0 0x1700000 0 0x1c400>;
2685
2686 qcom,bcm-voters = <&apps_bcm_voter>;
2687
2688 #interconnect-cells = <2>;
2689 };
2690
2691 pcie_north_anoc: interconnect@1740000 {
2692 compatible = "qcom,x1e80100-pcie-north-anoc";
2693 reg = <0 0x1740000 0 0x9080>;
2694
2695 qcom,bcm-voters = <&apps_bcm_voter>;
2696
2697 #interconnect-cells = <2>;
2698 };
2699
2700 usb_center_anoc: interconnect@1750000 {
2701 compatible = "qcom,x1e80100-usb-center-anoc";
2702 reg = <0 0x1750000 0 0x8800>;
2703
2704 qcom,bcm-voters = <&apps_bcm_voter>;
2705
2706 #interconnect-cells = <2>;
2707 };
2708
2709 usb_north_anoc: interconnect@1760000 {
2710 compatible = "qcom,x1e80100-usb-north-anoc";
2711 reg = <0 0x1760000 0 0x7080>;
2712
2713 qcom,bcm-voters = <&apps_bcm_voter>;
2714
2715 #interconnect-cells = <2>;
2716 };
2717
2718 usb_south_anoc: interconnect@1770000 {
2719 compatible = "qcom,x1e80100-usb-south-anoc";
2720 reg = <0 0x1770000 0 0xf080>;
2721
2722 qcom,bcm-voters = <&apps_bcm_voter>;
2723
2724 #interconnect-cells = <2>;
2725 };
2726
2727 mmss_noc: interconnect@1780000 {
2728 compatible = "qcom,x1e80100-mmss-noc";
2729 reg = <0 0x1780000 0 0x5B800>;
2730
2731 qcom,bcm-voters = <&apps_bcm_voter>;
2732
2733 #interconnect-cells = <2>;
2734 };
2735
Tom Rini6bb92fc2024-05-20 09:54:58 -06002736 pcie6a: pci@1bf8000 {
2737 device_type = "pci";
2738 compatible = "qcom,pcie-x1e80100";
2739 reg = <0 0x01bf8000 0 0x3000>,
Tom Rini762f85b2024-07-20 11:15:10 -06002740 <0 0x70000000 0 0xf20>,
2741 <0 0x70000f40 0 0xa8>,
Tom Rini6bb92fc2024-05-20 09:54:58 -06002742 <0 0x70001000 0 0x1000>,
Tom Rini762f85b2024-07-20 11:15:10 -06002743 <0 0x70100000 0 0x100000>,
2744 <0 0x01bfb000 0 0x1000>;
Tom Rini6bb92fc2024-05-20 09:54:58 -06002745 reg-names = "parf",
2746 "dbi",
2747 "elbi",
2748 "atu",
Tom Rini762f85b2024-07-20 11:15:10 -06002749 "config",
2750 "mhi";
Tom Rini6bb92fc2024-05-20 09:54:58 -06002751 #address-cells = <3>;
2752 #size-cells = <2>;
2753 ranges = <0x01000000 0 0x00000000 0 0x70200000 0 0x100000>,
2754 <0x02000000 0 0x70300000 0 0x70300000 0 0x3d00000>;
2755 bus-range = <0 0xff>;
2756
2757 dma-coherent;
2758
2759 linux,pci-domain = <7>;
2760 num-lanes = <2>;
2761
2762 interrupts = <GIC_SPI 773 IRQ_TYPE_LEVEL_HIGH>,
2763 <GIC_SPI 774 IRQ_TYPE_LEVEL_HIGH>,
2764 <GIC_SPI 837 IRQ_TYPE_LEVEL_HIGH>,
2765 <GIC_SPI 838 IRQ_TYPE_LEVEL_HIGH>,
2766 <GIC_SPI 839 IRQ_TYPE_LEVEL_HIGH>,
2767 <GIC_SPI 840 IRQ_TYPE_LEVEL_HIGH>,
2768 <GIC_SPI 841 IRQ_TYPE_LEVEL_HIGH>,
2769 <GIC_SPI 842 IRQ_TYPE_LEVEL_HIGH>;
2770 interrupt-names = "msi0",
2771 "msi1",
2772 "msi2",
2773 "msi3",
2774 "msi4",
2775 "msi5",
2776 "msi6",
2777 "msi7";
2778
2779 #interrupt-cells = <1>;
2780 interrupt-map-mask = <0 0 0 0x7>;
2781 interrupt-map = <0 0 0 1 &intc 0 0 0 843 IRQ_TYPE_LEVEL_HIGH>,
2782 <0 0 0 2 &intc 0 0 0 844 IRQ_TYPE_LEVEL_HIGH>,
2783 <0 0 0 3 &intc 0 0 0 845 IRQ_TYPE_LEVEL_HIGH>,
2784 <0 0 0 4 &intc 0 0 0 772 IRQ_TYPE_LEVEL_HIGH>;
2785
2786 clocks = <&gcc GCC_PCIE_6A_AUX_CLK>,
2787 <&gcc GCC_PCIE_6A_CFG_AHB_CLK>,
2788 <&gcc GCC_PCIE_6A_MSTR_AXI_CLK>,
2789 <&gcc GCC_PCIE_6A_SLV_AXI_CLK>,
2790 <&gcc GCC_PCIE_6A_SLV_Q2A_AXI_CLK>,
2791 <&gcc GCC_CFG_NOC_PCIE_ANOC_SOUTH_AHB_CLK>,
2792 <&gcc GCC_CNOC_PCIE_SOUTH_SF_AXI_CLK>;
2793 clock-names = "aux",
2794 "cfg",
2795 "bus_master",
2796 "bus_slave",
2797 "slave_q2a",
2798 "noc_aggr",
2799 "cnoc_sf_axi";
2800
2801 assigned-clocks = <&gcc GCC_PCIE_6A_AUX_CLK>;
2802 assigned-clock-rates = <19200000>;
2803
2804 interconnects = <&pcie_south_anoc MASTER_PCIE_6A QCOM_ICC_TAG_ALWAYS
2805 &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>,
2806 <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS
2807 &cnoc_main SLAVE_PCIE_6A QCOM_ICC_TAG_ALWAYS>;
2808 interconnect-names = "pcie-mem",
2809 "cpu-pcie";
2810
2811 resets = <&gcc GCC_PCIE_6A_BCR>,
2812 <&gcc GCC_PCIE_6A_LINK_DOWN_BCR>;
2813 reset-names = "pci",
2814 "link_down";
2815
2816 power-domains = <&gcc GCC_PCIE_6A_GDSC>;
2817
2818 phys = <&pcie6a_phy>;
2819 phy-names = "pciephy";
2820
2821 status = "disabled";
2822 };
2823
2824 pcie6a_phy: phy@1bfc000 {
2825 compatible = "qcom,x1e80100-qmp-gen4x2-pcie-phy";
2826 reg = <0 0x01bfc000 0 0x2000>;
2827
2828 clocks = <&gcc GCC_PCIE_6A_PHY_AUX_CLK>,
2829 <&gcc GCC_PCIE_6A_CFG_AHB_CLK>,
2830 <&rpmhcc RPMH_CXO_CLK>,
2831 <&gcc GCC_PCIE_6A_PHY_RCHNG_CLK>,
2832 <&gcc GCC_PCIE_6A_PIPE_CLK>;
2833 clock-names = "aux",
2834 "cfg_ahb",
2835 "ref",
2836 "rchng",
2837 "pipe";
2838
2839 resets = <&gcc GCC_PCIE_6A_PHY_BCR>,
2840 <&gcc GCC_PCIE_6A_NOCSR_COM_PHY_BCR>;
2841 reset-names = "phy",
2842 "phy_nocsr";
2843
2844 assigned-clocks = <&gcc GCC_PCIE_6A_PHY_RCHNG_CLK>;
2845 assigned-clock-rates = <100000000>;
2846
2847 power-domains = <&gcc GCC_PCIE_6_PHY_GDSC>;
2848
2849 #clock-cells = <0>;
2850 clock-output-names = "pcie6a_pipe_clk";
2851
2852 #phy-cells = <0>;
2853
2854 status = "disabled";
2855 };
2856
2857 pcie4: pci@1c08000 {
2858 device_type = "pci";
2859 compatible = "qcom,pcie-x1e80100";
2860 reg = <0 0x01c08000 0 0x3000>,
2861 <0 0x7c000000 0 0xf1d>,
2862 <0 0x7c000f40 0 0xa8>,
2863 <0 0x7c001000 0 0x1000>,
2864 <0 0x7c100000 0 0x100000>,
2865 <0 0x01c0b000 0 0x1000>;
2866 reg-names = "parf",
2867 "dbi",
2868 "elbi",
2869 "atu",
2870 "config",
2871 "mhi";
2872 #address-cells = <3>;
2873 #size-cells = <2>;
2874 ranges = <0x01000000 0 0x00000000 0 0x7c200000 0 0x100000>,
2875 <0x02000000 0 0x7c300000 0 0x7c300000 0 0x3d00000>;
2876 bus-range = <0x00 0xff>;
2877
2878 dma-coherent;
2879
2880 linux,pci-domain = <5>;
2881 num-lanes = <2>;
2882
2883 interrupts = <GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>,
2884 <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>,
2885 <GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>,
2886 <GIC_SPI 144 IRQ_TYPE_LEVEL_HIGH>,
2887 <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>,
2888 <GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>,
2889 <GIC_SPI 147 IRQ_TYPE_LEVEL_HIGH>,
2890 <GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>;
2891 interrupt-names = "msi0",
2892 "msi1",
2893 "msi2",
2894 "msi3",
2895 "msi4",
2896 "msi5",
2897 "msi6",
2898 "msi7";
2899
2900 #interrupt-cells = <1>;
2901 interrupt-map-mask = <0 0 0 0x7>;
2902 interrupt-map = <0 0 0 1 &intc 0 0 0 149 IRQ_TYPE_LEVEL_HIGH>,
2903 <0 0 0 2 &intc 0 0 0 150 IRQ_TYPE_LEVEL_HIGH>,
2904 <0 0 0 3 &intc 0 0 0 151 IRQ_TYPE_LEVEL_HIGH>,
2905 <0 0 0 4 &intc 0 0 0 152 IRQ_TYPE_LEVEL_HIGH>;
2906
2907 clocks = <&gcc GCC_PCIE_4_AUX_CLK>,
2908 <&gcc GCC_PCIE_4_CFG_AHB_CLK>,
2909 <&gcc GCC_PCIE_4_MSTR_AXI_CLK>,
2910 <&gcc GCC_PCIE_4_SLV_AXI_CLK>,
2911 <&gcc GCC_PCIE_4_SLV_Q2A_AXI_CLK>,
2912 <&gcc GCC_CFG_NOC_PCIE_ANOC_NORTH_AHB_CLK>,
2913 <&gcc GCC_CNOC_PCIE_NORTH_SF_AXI_CLK>;
2914 clock-names = "aux",
2915 "cfg",
2916 "bus_master",
2917 "bus_slave",
2918 "slave_q2a",
2919 "noc_aggr",
2920 "cnoc_sf_axi";
2921
2922 assigned-clocks = <&gcc GCC_PCIE_4_AUX_CLK>;
2923 assigned-clock-rates = <19200000>;
2924
2925 interconnects = <&pcie_south_anoc MASTER_PCIE_4 QCOM_ICC_TAG_ALWAYS
2926 &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>,
2927 <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS
2928 &cnoc_main SLAVE_PCIE_4 QCOM_ICC_TAG_ALWAYS>;
2929 interconnect-names = "pcie-mem",
2930 "cpu-pcie";
2931
2932 resets = <&gcc GCC_PCIE_4_BCR>,
2933 <&gcc GCC_PCIE_4_LINK_DOWN_BCR>;
2934 reset-names = "pci",
2935 "link_down";
2936
2937 power-domains = <&gcc GCC_PCIE_4_GDSC>;
2938
2939 phys = <&pcie4_phy>;
2940 phy-names = "pciephy";
2941
2942 status = "disabled";
2943 };
2944
2945 pcie4_phy: phy@1c0e000 {
2946 compatible = "qcom,x1e80100-qmp-gen3x2-pcie-phy";
2947 reg = <0 0x01c0e000 0 0x2000>;
2948
2949 clocks = <&gcc GCC_PCIE_4_AUX_CLK>,
2950 <&gcc GCC_PCIE_4_CFG_AHB_CLK>,
2951 <&rpmhcc RPMH_CXO_CLK>,
2952 <&gcc GCC_PCIE_4_PHY_RCHNG_CLK>,
2953 <&gcc GCC_PCIE_4_PIPE_CLK>;
2954 clock-names = "aux",
2955 "cfg_ahb",
2956 "ref",
2957 "rchng",
2958 "pipe";
2959
2960 resets = <&gcc GCC_PCIE_4_PHY_BCR>;
2961 reset-names = "phy";
2962
2963 assigned-clocks = <&gcc GCC_PCIE_4_PHY_RCHNG_CLK>;
2964 assigned-clock-rates = <100000000>;
2965
2966 power-domains = <&gcc GCC_PCIE_4_PHY_GDSC>;
2967
2968 #clock-cells = <0>;
2969 clock-output-names = "pcie4_pipe_clk";
2970
2971 #phy-cells = <0>;
2972
2973 status = "disabled";
2974 };
2975
Tom Rini93743d22024-04-01 09:08:13 -04002976 tcsr_mutex: hwlock@1f40000 {
2977 compatible = "qcom,tcsr-mutex";
2978 reg = <0 0x01f40000 0 0x20000>;
2979 #hwlock-cells = <1>;
2980 };
2981
Tom Rini6bb92fc2024-05-20 09:54:58 -06002982 tcsr: clock-controller@1fc0000 {
2983 compatible = "qcom,x1e80100-tcsr", "syscon";
2984 reg = <0 0x01fc0000 0 0x30000>;
2985 clocks = <&rpmhcc RPMH_CXO_CLK>;
2986 #clock-cells = <1>;
2987 #reset-cells = <1>;
2988 };
2989
Tom Rini93743d22024-04-01 09:08:13 -04002990 gem_noc: interconnect@26400000 {
2991 compatible = "qcom,x1e80100-gem-noc";
2992 reg = <0 0x26400000 0 0x311200>;
2993
2994 qcom,bcm-voters = <&apps_bcm_voter>;
2995
2996 #interconnect-cells = <2>;
2997 };
2998
2999 nsp_noc: interconnect@320c0000 {
3000 compatible = "qcom,x1e80100-nsp-noc";
3001 reg = <0 0x320C0000 0 0xE080>;
3002
3003 qcom,bcm-voters = <&apps_bcm_voter>;
3004
3005 #interconnect-cells = <2>;
3006 };
3007
Tom Rini6bb92fc2024-05-20 09:54:58 -06003008 lpass_wsa2macro: codec@6aa0000 {
3009 compatible = "qcom,x1e80100-lpass-wsa-macro", "qcom,sm8550-lpass-wsa-macro";
3010 reg = <0 0x06aa0000 0 0x1000>;
3011 clocks = <&q6prmcc LPASS_CLK_ID_WSA2_CORE_TX_MCLK LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
3012 <&q6prmcc LPASS_HW_MACRO_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
3013 <&q6prmcc LPASS_HW_DCODEC_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
3014 <&lpass_vamacro>;
3015 clock-names = "mclk",
3016 "macro",
3017 "dcodec",
3018 "fsgen";
3019
3020 #clock-cells = <0>;
3021 clock-output-names = "wsa2-mclk";
3022 #sound-dai-cells = <1>;
3023 sound-name-prefix = "WSA2";
3024 };
3025
3026 swr3: soundwire@6ab0000 {
3027 compatible = "qcom,soundwire-v2.0.0";
3028 reg = <0 0x06ab0000 0 0x10000>;
3029 clocks = <&lpass_wsa2macro>;
3030 clock-names = "iface";
3031 interrupts = <GIC_SPI 171 IRQ_TYPE_LEVEL_HIGH>;
3032 label = "WSA2";
3033
3034 pinctrl-0 = <&wsa2_swr_active>;
3035 pinctrl-names = "default";
3036
3037 qcom,din-ports = <4>;
3038 qcom,dout-ports = <9>;
3039
3040 qcom,ports-sinterval = /bits/ 16 <0x07 0x1f 0x3f 0x07 0x1f 0x3f 0xc8 0xff 0xff 0x0f 0x0f 0xff 0x31f>;
3041 qcom,ports-offset1 = /bits/ 8 <0x01 0x03 0x05 0x02 0x04 0x15 0x00 0xff 0xff 0x06 0x0d 0xff 0x00>;
3042 qcom,ports-offset2 = /bits/ 8 <0xff 0x07 0x1f 0xff 0x07 0x1f 0xff 0xff 0xff 0xff 0xff 0xff 0xff>;
3043 qcom,ports-hstart = /bits/ 8 <0xff 0xff 0xff 0xff 0xff 0xff 0x08 0xff 0xff 0xff 0xff 0xff 0x0f>;
3044 qcom,ports-hstop = /bits/ 8 <0xff 0xff 0xff 0xff 0xff 0xff 0x08 0xff 0xff 0xff 0xff 0xff 0x0f>;
3045 qcom,ports-word-length = /bits/ 8 <0xff 0xff 0xff 0xff 0xff 0xff 0x08 0xff 0xff 0xff 0xff 0xff 0x18>;
3046 qcom,ports-block-pack-mode = /bits/ 8 <0x00 0x01 0x01 0x00 0x01 0x01 0x00 0x00 0x00 0x01 0x01 0x00 0x00>;
3047 qcom,ports-block-group-count = /bits/ 8 <0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff>;
3048 qcom,ports-lane-control = /bits/ 8 <0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff>;
3049
3050 #address-cells = <2>;
3051 #size-cells = <0>;
3052 #sound-dai-cells = <1>;
3053 status = "disabled";
3054 };
3055
3056 lpass_rxmacro: codec@6ac0000 {
3057 compatible = "qcom,x1e80100-lpass-rx-macro", "qcom,sm8550-lpass-rx-macro";
3058 reg = <0 0x06ac0000 0 0x1000>;
3059 clocks = <&q6prmcc LPASS_CLK_ID_RX_CORE_TX_MCLK LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
3060 <&q6prmcc LPASS_HW_MACRO_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
3061 <&q6prmcc LPASS_HW_DCODEC_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
3062 <&lpass_vamacro>;
3063 clock-names = "mclk",
3064 "macro",
3065 "dcodec",
3066 "fsgen";
3067
3068 #clock-cells = <0>;
3069 clock-output-names = "mclk";
3070 #sound-dai-cells = <1>;
3071 };
3072
3073 swr1: soundwire@6ad0000 {
3074 compatible = "qcom,soundwire-v2.0.0";
3075 reg = <0 0x06ad0000 0 0x10000>;
3076 clocks = <&lpass_rxmacro>;
3077 clock-names = "iface";
3078 interrupts = <GIC_SPI 155 IRQ_TYPE_LEVEL_HIGH>;
3079 label = "RX";
3080
3081 pinctrl-0 = <&rx_swr_active>;
3082 pinctrl-names = "default";
3083
3084 qcom,din-ports = <1>;
3085 qcom,dout-ports = <11>;
3086
3087 qcom,ports-sinterval = /bits/ 16 <0x03 0x1f 0x1f 0x07 0x00 0xff 0xff 0xff 0xff 0xff 0xff 0xff>;
3088 qcom,ports-offset1 = /bits/ 8 <0x00 0x00 0x0b 0x01 0x00 0xff 0xff 0xff 0xff 0xff 0xff 0xff>;
3089 qcom,ports-offset2 = /bits/ 8 <0x00 0x00 0x0b 0x00 0x00 0xff 0xff 0xff 0xff 0xff 0xff 0xff>;
3090 qcom,ports-hstart = /bits/ 8 <0xff 0x03 0x00 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff>;
3091 qcom,ports-hstop = /bits/ 8 <0xff 0x06 0x0f 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff>;
3092 qcom,ports-word-length = /bits/ 8 <0x01 0x07 0x04 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff>;
Tom Rini762f85b2024-07-20 11:15:10 -06003093 qcom,ports-block-pack-mode = /bits/ 8 <0xff 0xff 0x01 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff>;
Tom Rini6bb92fc2024-05-20 09:54:58 -06003094 qcom,ports-block-group-count = /bits/ 8 <0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff>;
3095 qcom,ports-lane-control = /bits/ 8 <0x01 0x00 0x00 0x00 0x00 0xff 0xff 0xff 0xff 0xff 0xff 0xff>;
3096
3097 #address-cells = <2>;
3098 #size-cells = <0>;
3099 #sound-dai-cells = <1>;
3100 status = "disabled";
3101 };
3102
3103 lpass_txmacro: codec@6ae0000 {
3104 compatible = "qcom,x1e80100-lpass-tx-macro", "qcom,sm8550-lpass-tx-macro";
3105 reg = <0 0x06ae0000 0 0x1000>;
3106 clocks = <&q6prmcc LPASS_CLK_ID_TX_CORE_MCLK LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
3107 <&q6prmcc LPASS_HW_MACRO_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
3108 <&q6prmcc LPASS_HW_DCODEC_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
3109 <&lpass_vamacro>;
3110 clock-names = "mclk",
3111 "macro",
3112 "dcodec",
3113 "fsgen";
3114
3115 #clock-cells = <0>;
3116 clock-output-names = "mclk";
3117 #sound-dai-cells = <1>;
3118 };
3119
3120 lpass_wsamacro: codec@6b00000 {
3121 compatible = "qcom,x1e80100-lpass-wsa-macro", "qcom,sm8550-lpass-wsa-macro";
3122 reg = <0 0x06b00000 0 0x1000>;
3123 clocks = <&q6prmcc LPASS_CLK_ID_WSA_CORE_TX_MCLK LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
3124 <&q6prmcc LPASS_HW_MACRO_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
3125 <&q6prmcc LPASS_HW_DCODEC_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
3126 <&lpass_vamacro>;
3127 clock-names = "mclk",
3128 "macro",
3129 "dcodec",
3130 "fsgen";
3131
3132 #clock-cells = <0>;
3133 clock-output-names = "mclk";
3134 #sound-dai-cells = <1>;
3135 sound-name-prefix = "WSA";
3136 };
3137
3138 swr0: soundwire@6b10000 {
3139 compatible = "qcom,soundwire-v2.0.0";
3140 reg = <0 0x06b10000 0 0x10000>;
3141 clocks = <&lpass_wsamacro>;
3142 clock-names = "iface";
3143 interrupts = <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>;
3144 label = "WSA";
3145
3146 pinctrl-0 = <&wsa_swr_active>;
3147 pinctrl-names = "default";
3148
3149 qcom,din-ports = <4>;
3150 qcom,dout-ports = <9>;
3151
3152 qcom,ports-sinterval = /bits/ 16 <0x07 0x1f 0x3f 0x07 0x1f 0x3f 0xc8 0xff 0xff 0x0f 0x0f 0xff 0x31f>;
3153 qcom,ports-offset1 = /bits/ 8 <0x01 0x03 0x05 0x02 0x04 0x15 0x00 0xff 0xff 0x06 0x0d 0xff 0x00>;
3154 qcom,ports-offset2 = /bits/ 8 <0xff 0x07 0x1f 0xff 0x07 0x1f 0xff 0xff 0xff 0xff 0xff 0xff 0xff>;
3155 qcom,ports-hstart = /bits/ 8 <0xff 0xff 0xff 0xff 0xff 0xff 0x08 0xff 0xff 0xff 0xff 0xff 0x0f>;
3156 qcom,ports-hstop = /bits/ 8 <0xff 0xff 0xff 0xff 0xff 0xff 0x08 0xff 0xff 0xff 0xff 0xff 0x0f>;
3157 qcom,ports-word-length = /bits/ 8 <0xff 0xff 0xff 0xff 0xff 0xff 0x08 0xff 0xff 0xff 0xff 0xff 0x18>;
3158 qcom,ports-block-pack-mode = /bits/ 8 <0x00 0x01 0x01 0x00 0x01 0x01 0x00 0x00 0x00 0x01 0x01 0x00 0x00>;
3159 qcom,ports-block-group-count = /bits/ 8 <0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff>;
3160 qcom,ports-lane-control = /bits/ 8 <0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff>;
3161
3162 #address-cells = <2>;
3163 #size-cells = <0>;
3164 #sound-dai-cells = <1>;
3165 status = "disabled";
3166 };
3167
3168 swr2: soundwire@6d30000 {
3169 compatible = "qcom,soundwire-v2.0.0";
3170 reg = <0 0x06d30000 0 0x10000>;
3171 clocks = <&lpass_txmacro>;
3172 clock-names = "iface";
3173 interrupts = <GIC_SPI 496 IRQ_TYPE_LEVEL_HIGH>,
3174 <GIC_SPI 520 IRQ_TYPE_LEVEL_HIGH>;
3175 interrupt-names = "core", "wakeup";
3176 label = "TX";
3177
3178 pinctrl-0 = <&tx_swr_active>;
3179 pinctrl-names = "default";
3180
3181 qcom,din-ports = <4>;
3182 qcom,dout-ports = <1>;
3183
3184 qcom,ports-sinterval-low = /bits/ 8 <0x00 0x01 0x03 0x03 0x00>;
3185 qcom,ports-offset1 = /bits/ 8 <0x00 0x01 0x02 0x00 0x00>;
3186 qcom,ports-offset2 = /bits/ 8 <0x00 0x00 0x00 0x00 0xff>;
3187 qcom,ports-hstart = /bits/ 8 <0xff 0xff 0xff 0xff 0xff>;
3188 qcom,ports-hstop = /bits/ 8 <0xff 0xff 0xff 0xff 0xff>;
3189 qcom,ports-word-length = /bits/ 8 <0xff 0xff 0xff 0xff 0xff>;
3190 qcom,ports-block-pack-mode = /bits/ 8 <0xff 0xff 0xff 0xff 0xff>;
3191 qcom,ports-block-group-count = /bits/ 8 <0xff 0xff 0xff 0xff 0xff>;
3192 qcom,ports-lane-control = /bits/ 8 <0xff 0x00 0x00 0x01 0xff>;
3193
3194 #address-cells = <2>;
3195 #size-cells = <0>;
3196 #sound-dai-cells = <1>;
3197 status = "disabled";
3198 };
3199
3200 lpass_vamacro: codec@6d44000 {
3201 compatible = "qcom,x1e80100-lpass-va-macro", "qcom,sm8550-lpass-va-macro";
3202 reg = <0 0x06d44000 0 0x1000>;
3203 clocks = <&q6prmcc LPASS_CLK_ID_TX_CORE_MCLK LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
3204 <&q6prmcc LPASS_HW_MACRO_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
3205 <&q6prmcc LPASS_HW_DCODEC_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>;
3206 clock-names = "mclk",
3207 "macro",
3208 "dcodec";
3209
3210 #clock-cells = <0>;
3211 clock-output-names = "fsgen";
3212 #sound-dai-cells = <1>;
3213 };
3214
3215 lpass_tlmm: pinctrl@6e80000 {
3216 compatible = "qcom,x1e80100-lpass-lpi-pinctrl", "qcom,sm8550-lpass-lpi-pinctrl";
3217 reg = <0 0x06e80000 0 0x20000>,
3218 <0 0x07250000 0 0x10000>;
3219
3220 clocks = <&q6prmcc LPASS_HW_MACRO_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
3221 <&q6prmcc LPASS_HW_DCODEC_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>;
3222 clock-names = "core", "audio";
3223
3224 gpio-controller;
3225 #gpio-cells = <2>;
3226 gpio-ranges = <&lpass_tlmm 0 0 23>;
3227
3228 tx_swr_active: tx-swr-active-state {
3229 clk-pins {
3230 pins = "gpio0";
3231 function = "swr_tx_clk";
3232 drive-strength = <2>;
3233 slew-rate = <1>;
3234 bias-disable;
3235 };
3236
3237 data-pins {
3238 pins = "gpio1", "gpio2";
3239 function = "swr_tx_data";
3240 drive-strength = <2>;
3241 slew-rate = <1>;
3242 bias-bus-hold;
3243 };
3244 };
3245
3246 rx_swr_active: rx-swr-active-state {
3247 clk-pins {
3248 pins = "gpio3";
3249 function = "swr_rx_clk";
3250 drive-strength = <2>;
3251 slew-rate = <1>;
3252 bias-disable;
3253 };
3254
3255 data-pins {
3256 pins = "gpio4", "gpio5";
3257 function = "swr_rx_data";
3258 drive-strength = <2>;
3259 slew-rate = <1>;
3260 bias-bus-hold;
3261 };
3262 };
3263
3264 dmic01_default: dmic01-default-state {
3265 clk-pins {
3266 pins = "gpio6";
3267 function = "dmic1_clk";
3268 drive-strength = <8>;
3269 output-high;
3270 };
3271
3272 data-pins {
3273 pins = "gpio7";
3274 function = "dmic1_data";
3275 drive-strength = <8>;
3276 input-enable;
3277 };
3278 };
3279
3280 dmic23_default: dmic23-default-state {
3281 clk-pins {
3282 pins = "gpio8";
3283 function = "dmic2_clk";
3284 drive-strength = <8>;
3285 output-high;
3286 };
3287
3288 data-pins {
3289 pins = "gpio9";
3290 function = "dmic2_data";
3291 drive-strength = <8>;
3292 input-enable;
3293 };
3294 };
3295
3296 wsa_swr_active: wsa-swr-active-state {
3297 clk-pins {
3298 pins = "gpio10";
3299 function = "wsa_swr_clk";
3300 drive-strength = <2>;
3301 slew-rate = <1>;
3302 bias-disable;
3303 };
3304
3305 data-pins {
3306 pins = "gpio11";
3307 function = "wsa_swr_data";
3308 drive-strength = <2>;
3309 slew-rate = <1>;
3310 bias-bus-hold;
3311 };
3312 };
3313
3314 wsa2_swr_active: wsa2-swr-active-state {
3315 clk-pins {
3316 pins = "gpio15";
3317 function = "wsa2_swr_clk";
3318 drive-strength = <2>;
3319 slew-rate = <1>;
3320 bias-disable;
3321 };
3322
3323 data-pins {
3324 pins = "gpio16";
3325 function = "wsa2_swr_data";
3326 drive-strength = <2>;
3327 slew-rate = <1>;
3328 bias-bus-hold;
3329 };
3330 };
3331 };
3332
Tom Rini93743d22024-04-01 09:08:13 -04003333 lpass_ag_noc: interconnect@7e40000 {
3334 compatible = "qcom,x1e80100-lpass-ag-noc";
3335 reg = <0 0x7e40000 0 0xE080>;
3336
3337 qcom,bcm-voters = <&apps_bcm_voter>;
3338
3339 #interconnect-cells = <2>;
3340 };
3341
3342 lpass_lpiaon_noc: interconnect@7400000 {
3343 compatible = "qcom,x1e80100-lpass-lpiaon-noc";
3344 reg = <0 0x7400000 0 0x19080>;
3345
3346 qcom,bcm-voters = <&apps_bcm_voter>;
3347
3348 #interconnect-cells = <2>;
3349 };
3350
3351 lpass_lpicx_noc: interconnect@7430000 {
3352 compatible = "qcom,x1e80100-lpass-lpicx-noc";
3353 reg = <0 0x7430000 0 0x3A200>;
3354
3355 qcom,bcm-voters = <&apps_bcm_voter>;
3356
3357 #interconnect-cells = <2>;
3358 };
3359
Tom Rini6bb92fc2024-05-20 09:54:58 -06003360 usb_2_hsphy: phy@88e0000 {
3361 compatible = "qcom,x1e80100-snps-eusb2-phy",
3362 "qcom,sm8550-snps-eusb2-phy";
3363 reg = <0 0x088e0000 0 0x154>;
3364 #phy-cells = <0>;
Tom Rini93743d22024-04-01 09:08:13 -04003365
Tom Rini6bb92fc2024-05-20 09:54:58 -06003366 clocks = <&tcsr TCSR_USB2_2_CLKREF_EN>;
3367 clock-names = "ref";
3368
3369 resets = <&gcc GCC_QUSB2PHY_USB20_HS_BCR>;
3370
3371 status = "disabled";
Tom Rini93743d22024-04-01 09:08:13 -04003372 };
3373
Tom Rini6bb92fc2024-05-20 09:54:58 -06003374 usb_1_ss2: usb@a0f8800 {
3375 compatible = "qcom,x1e80100-dwc3", "qcom,dwc3";
3376 reg = <0 0x0a0f8800 0 0x400>;
Tom Rini93743d22024-04-01 09:08:13 -04003377
Tom Rini6bb92fc2024-05-20 09:54:58 -06003378 clocks = <&gcc GCC_CFG_NOC_USB3_TERT_AXI_CLK>,
3379 <&gcc GCC_USB30_TERT_MASTER_CLK>,
3380 <&gcc GCC_AGGRE_USB3_TERT_AXI_CLK>,
3381 <&gcc GCC_USB30_TERT_SLEEP_CLK>,
3382 <&gcc GCC_USB30_TERT_MOCK_UTMI_CLK>,
3383 <&gcc GCC_AGGRE_USB_NOC_AXI_CLK>,
3384 <&gcc GCC_AGGRE_NOC_USB_NORTH_AXI_CLK>,
3385 <&gcc GCC_AGGRE_NOC_USB_SOUTH_AXI_CLK>,
3386 <&gcc GCC_SYS_NOC_USB_AXI_CLK>;
3387 clock-names = "cfg_noc",
3388 "core",
3389 "iface",
3390 "sleep",
3391 "mock_utmi",
3392 "noc_aggr",
3393 "noc_aggr_north",
3394 "noc_aggr_south",
3395 "noc_sys";
Tom Rini93743d22024-04-01 09:08:13 -04003396
Tom Rini6bb92fc2024-05-20 09:54:58 -06003397 assigned-clocks = <&gcc GCC_USB30_TERT_MOCK_UTMI_CLK>,
3398 <&gcc GCC_USB30_TERT_MASTER_CLK>;
3399 assigned-clock-rates = <19200000>,
3400 <200000000>;
Tom Rini93743d22024-04-01 09:08:13 -04003401
Tom Rini6bb92fc2024-05-20 09:54:58 -06003402 interrupts-extended = <&intc GIC_SPI 370 IRQ_TYPE_LEVEL_HIGH>,
3403 <&pdc 58 IRQ_TYPE_EDGE_BOTH>,
3404 <&pdc 57 IRQ_TYPE_EDGE_BOTH>,
3405 <&pdc 10 IRQ_TYPE_LEVEL_HIGH>;
3406 interrupt-names = "pwr_event",
3407 "dp_hs_phy_irq",
3408 "dm_hs_phy_irq",
3409 "ss_phy_irq";
Tom Rini93743d22024-04-01 09:08:13 -04003410
Tom Rini6bb92fc2024-05-20 09:54:58 -06003411 power-domains = <&gcc GCC_USB30_TERT_GDSC>;
3412 required-opps = <&rpmhpd_opp_nom>;
Tom Rini93743d22024-04-01 09:08:13 -04003413
Tom Rini6bb92fc2024-05-20 09:54:58 -06003414 resets = <&gcc GCC_USB30_TERT_BCR>;
3415
3416 interconnects = <&usb_south_anoc MASTER_USB3_2 QCOM_ICC_TAG_ALWAYS
3417 &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>,
3418 <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS
3419 &config_noc SLAVE_USB3_2 QCOM_ICC_TAG_ALWAYS>;
3420 interconnect-names = "usb-ddr",
3421 "apps-usb";
3422
3423 wakeup-source;
3424
3425 #address-cells = <2>;
3426 #size-cells = <2>;
3427 ranges;
3428
3429 status = "disabled";
3430
3431 usb_1_ss2_dwc3: usb@a000000 {
3432 compatible = "snps,dwc3";
3433 reg = <0 0x0a000000 0 0xcd00>;
3434
3435 interrupts = <GIC_SPI 353 IRQ_TYPE_LEVEL_HIGH>;
3436
3437 iommus = <&apps_smmu 0x14a0 0x0>;
3438
3439 phys = <&usb_1_ss2_hsphy>,
3440 <&usb_1_ss2_qmpphy QMP_USB43DP_USB3_PHY>;
3441 phy-names = "usb2-phy",
3442 "usb3-phy";
3443
3444 snps,dis_u2_susphy_quirk;
3445 snps,dis_enblslpm_quirk;
3446 snps,usb3_lpm_capable;
3447
3448 dma-coherent;
3449
3450 port {
3451 usb_1_ss2_role_switch: endpoint {
3452 };
3453 };
3454 };
3455 };
3456
3457 usb_2: usb@a2f8800 {
3458 compatible = "qcom,x1e80100-dwc3", "qcom,dwc3";
3459 reg = <0 0x0a2f8800 0 0x400>;
3460 #address-cells = <2>;
3461 #size-cells = <2>;
3462 ranges;
3463
3464 clocks = <&gcc GCC_CFG_NOC_USB2_PRIM_AXI_CLK>,
3465 <&gcc GCC_USB20_MASTER_CLK>,
3466 <&gcc GCC_AGGRE_USB2_PRIM_AXI_CLK>,
3467 <&gcc GCC_USB20_SLEEP_CLK>,
3468 <&gcc GCC_USB20_MOCK_UTMI_CLK>,
3469 <&gcc GCC_AGGRE_USB_NOC_AXI_CLK>,
3470 <&gcc GCC_AGGRE_NOC_USB_NORTH_AXI_CLK>,
3471 <&gcc GCC_AGGRE_NOC_USB_SOUTH_AXI_CLK>,
3472 <&gcc GCC_SYS_NOC_USB_AXI_CLK>;
3473 clock-names = "cfg_noc",
3474 "core",
3475 "iface",
3476 "sleep",
3477 "mock_utmi",
3478 "noc_aggr",
3479 "noc_aggr_north",
3480 "noc_aggr_south",
3481 "noc_sys";
3482
3483 assigned-clocks = <&gcc GCC_USB20_MOCK_UTMI_CLK>,
3484 <&gcc GCC_USB20_MASTER_CLK>;
3485 assigned-clock-rates = <19200000>, <200000000>;
3486
3487 interrupts-extended = <&intc GIC_SPI 240 IRQ_TYPE_LEVEL_HIGH>,
3488 <&pdc 50 IRQ_TYPE_EDGE_BOTH>,
3489 <&pdc 49 IRQ_TYPE_EDGE_BOTH>;
3490 interrupt-names = "pwr_event",
3491 "dp_hs_phy_irq",
3492 "dm_hs_phy_irq";
3493
3494 power-domains = <&gcc GCC_USB20_PRIM_GDSC>;
3495 required-opps = <&rpmhpd_opp_nom>;
3496
3497 resets = <&gcc GCC_USB20_PRIM_BCR>;
3498
3499 interconnects = <&usb_north_anoc MASTER_USB2 QCOM_ICC_TAG_ALWAYS
3500 &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>,
3501 <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS
3502 &config_noc SLAVE_USB2 QCOM_ICC_TAG_ALWAYS>;
3503 interconnect-names = "usb-ddr",
3504 "apps-usb";
3505
3506 wakeup-source;
3507
3508 status = "disabled";
3509
3510 usb_2_dwc3: usb@a200000 {
3511 compatible = "snps,dwc3";
3512 reg = <0 0x0a200000 0 0xcd00>;
3513 interrupts = <GIC_SPI 241 IRQ_TYPE_LEVEL_HIGH>;
3514 iommus = <&apps_smmu 0x14e0 0x0>;
3515 phys = <&usb_2_hsphy>;
3516 phy-names = "usb2-phy";
3517 maximum-speed = "high-speed";
3518
3519 port {
3520 usb_2_role_switch: endpoint {
3521 };
3522 };
Tom Rini93743d22024-04-01 09:08:13 -04003523 };
Tom Rini6bb92fc2024-05-20 09:54:58 -06003524 };
3525
3526 usb_1_ss0: usb@a6f8800 {
3527 compatible = "qcom,x1e80100-dwc3", "qcom,dwc3";
3528 reg = <0 0x0a6f8800 0 0x400>;
3529
3530 clocks = <&gcc GCC_CFG_NOC_USB3_PRIM_AXI_CLK>,
3531 <&gcc GCC_USB30_PRIM_MASTER_CLK>,
3532 <&gcc GCC_AGGRE_USB3_PRIM_AXI_CLK>,
3533 <&gcc GCC_USB30_PRIM_SLEEP_CLK>,
3534 <&gcc GCC_USB30_PRIM_MOCK_UTMI_CLK>,
3535 <&gcc GCC_AGGRE_USB_NOC_AXI_CLK>,
3536 <&gcc GCC_CFG_NOC_USB_ANOC_NORTH_AHB_CLK>,
3537 <&gcc GCC_CFG_NOC_USB_ANOC_SOUTH_AHB_CLK>,
3538 <&gcc GCC_SYS_NOC_USB_AXI_CLK>;
3539 clock-names = "cfg_noc",
3540 "core",
3541 "iface",
3542 "sleep",
3543 "mock_utmi",
3544 "noc_aggr",
3545 "noc_aggr_north",
3546 "noc_aggr_south",
3547 "noc_sys";
3548
3549 assigned-clocks = <&gcc GCC_USB30_PRIM_MOCK_UTMI_CLK>,
3550 <&gcc GCC_USB30_PRIM_MASTER_CLK>;
3551 assigned-clock-rates = <19200000>,
3552 <200000000>;
3553
3554 interrupts-extended = <&intc GIC_SPI 371 IRQ_TYPE_LEVEL_HIGH>,
3555 <&pdc 61 IRQ_TYPE_EDGE_BOTH>,
3556 <&pdc 15 IRQ_TYPE_EDGE_BOTH>,
3557 <&pdc 17 IRQ_TYPE_LEVEL_HIGH>;
3558 interrupt-names = "pwr_event",
3559 "dp_hs_phy_irq",
3560 "dm_hs_phy_irq",
3561 "ss_phy_irq";
3562
3563 power-domains = <&gcc GCC_USB30_PRIM_GDSC>;
3564 required-opps = <&rpmhpd_opp_nom>;
3565
3566 resets = <&gcc GCC_USB30_PRIM_BCR>;
3567
3568 wakeup-source;
3569
3570 #address-cells = <2>;
3571 #size-cells = <2>;
3572 ranges;
3573
3574 status = "disabled";
3575
3576 usb_1_ss0_dwc3: usb@a600000 {
3577 compatible = "snps,dwc3";
3578 reg = <0 0x0a600000 0 0xcd00>;
3579
3580 interrupts = <GIC_SPI 355 IRQ_TYPE_LEVEL_HIGH>;
3581
3582 iommus = <&apps_smmu 0x1420 0x0>;
3583
3584 phys = <&usb_1_ss0_hsphy>,
3585 <&usb_1_ss0_qmpphy QMP_USB43DP_USB3_PHY>;
3586 phy-names = "usb2-phy",
3587 "usb3-phy";
3588
3589 snps,dis_u2_susphy_quirk;
3590 snps,dis_enblslpm_quirk;
3591 snps,usb3_lpm_capable;
3592
3593 dma-coherent;
3594
3595 port {
3596 usb_1_ss0_role_switch: endpoint {
3597 };
3598 };
3599 };
3600 };
3601
3602 usb_1_ss1: usb@a8f8800 {
3603 compatible = "qcom,x1e80100-dwc3", "qcom,dwc3";
3604 reg = <0 0x0a8f8800 0 0x400>;
3605
3606 clocks = <&gcc GCC_CFG_NOC_USB3_SEC_AXI_CLK>,
3607 <&gcc GCC_USB30_SEC_MASTER_CLK>,
3608 <&gcc GCC_AGGRE_USB3_SEC_AXI_CLK>,
3609 <&gcc GCC_USB30_SEC_SLEEP_CLK>,
3610 <&gcc GCC_USB30_SEC_MOCK_UTMI_CLK>,
3611 <&gcc GCC_AGGRE_USB_NOC_AXI_CLK>,
3612 <&gcc GCC_AGGRE_NOC_USB_NORTH_AXI_CLK>,
3613 <&gcc GCC_AGGRE_NOC_USB_SOUTH_AXI_CLK>,
3614 <&gcc GCC_SYS_NOC_USB_AXI_CLK>;
3615 clock-names = "cfg_noc",
3616 "core",
3617 "iface",
3618 "sleep",
3619 "mock_utmi",
3620 "noc_aggr",
3621 "noc_aggr_north",
3622 "noc_aggr_south",
3623 "noc_sys";
3624
3625 assigned-clocks = <&gcc GCC_USB30_SEC_MOCK_UTMI_CLK>,
3626 <&gcc GCC_USB30_SEC_MASTER_CLK>;
3627 assigned-clock-rates = <19200000>,
3628 <200000000>;
3629
3630 interrupts-extended = <&intc GIC_SPI 372 IRQ_TYPE_LEVEL_HIGH>,
3631 <&pdc 60 IRQ_TYPE_EDGE_BOTH>,
3632 <&pdc 11 IRQ_TYPE_EDGE_BOTH>,
3633 <&pdc 47 IRQ_TYPE_LEVEL_HIGH>;
3634 interrupt-names = "pwr_event",
3635 "dp_hs_phy_irq",
3636 "dm_hs_phy_irq",
3637 "ss_phy_irq";
3638
3639 power-domains = <&gcc GCC_USB30_SEC_GDSC>;
3640 required-opps = <&rpmhpd_opp_nom>;
3641
3642 resets = <&gcc GCC_USB30_SEC_BCR>;
3643
3644 interconnects = <&usb_south_anoc MASTER_USB3_1 QCOM_ICC_TAG_ALWAYS
3645 &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>,
3646 <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS
3647 &config_noc SLAVE_USB3_1 QCOM_ICC_TAG_ALWAYS>;
3648 interconnect-names = "usb-ddr",
3649 "apps-usb";
3650
3651 wakeup-source;
3652
3653 #address-cells = <2>;
3654 #size-cells = <2>;
3655 ranges;
3656
3657 status = "disabled";
3658
3659 usb_1_ss1_dwc3: usb@a800000 {
3660 compatible = "snps,dwc3";
3661 reg = <0 0x0a800000 0 0xcd00>;
3662
3663 interrupts = <GIC_SPI 357 IRQ_TYPE_LEVEL_HIGH>;
3664
3665 iommus = <&apps_smmu 0x1460 0x0>;
3666
3667 phys = <&usb_1_ss1_hsphy>,
3668 <&usb_1_ss1_qmpphy QMP_USB43DP_USB3_PHY>;
3669 phy-names = "usb2-phy",
3670 "usb3-phy";
3671
3672 snps,dis_u2_susphy_quirk;
3673 snps,dis_enblslpm_quirk;
3674 snps,usb3_lpm_capable;
3675
3676 dma-coherent;
3677
3678 port {
3679 usb_1_ss1_role_switch: endpoint {
3680 };
3681 };
3682 };
3683 };
3684
3685 mdss: display-subsystem@ae00000 {
3686 compatible = "qcom,x1e80100-mdss";
3687 reg = <0 0x0ae00000 0 0x1000>;
3688 reg-names = "mdss";
3689
3690 interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
3691
3692 clocks = <&dispcc DISP_CC_MDSS_AHB_CLK>,
3693 <&gcc GCC_DISP_HF_AXI_CLK>,
3694 <&dispcc DISP_CC_MDSS_MDP_CLK>;
3695
3696 resets = <&dispcc DISP_CC_MDSS_CORE_BCR>;
3697
3698 interconnects = <&mmss_noc MASTER_MDP QCOM_ICC_TAG_ALWAYS
3699 &gem_noc SLAVE_LLCC QCOM_ICC_TAG_ALWAYS>,
3700 <&mc_virt MASTER_LLCC QCOM_ICC_TAG_ALWAYS
3701 &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>,
3702 <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ACTIVE_ONLY
3703 &config_noc SLAVE_DISPLAY_CFG QCOM_ICC_TAG_ACTIVE_ONLY>;
3704 interconnect-names = "mdp0-mem",
3705 "mdp1-mem",
3706 "cpu-cfg";
3707
3708 power-domains = <&dispcc MDSS_GDSC>;
3709
3710 iommus = <&apps_smmu 0x1c00 0x2>;
3711
3712 interrupt-controller;
3713 #interrupt-cells = <1>;
3714
3715 #address-cells = <2>;
3716 #size-cells = <2>;
3717 ranges;
3718
3719 status = "disabled";
3720
3721 mdss_mdp: display-controller@ae01000 {
3722 compatible = "qcom,x1e80100-dpu";
3723 reg = <0 0x0ae01000 0 0x8f000>,
3724 <0 0x0aeb0000 0 0x2008>;
3725 reg-names = "mdp",
3726 "vbif";
3727
3728 interrupts-extended = <&mdss 0>;
3729
3730 clocks = <&gcc GCC_DISP_HF_AXI_CLK>,
3731 <&dispcc DISP_CC_MDSS_AHB_CLK>,
3732 <&dispcc DISP_CC_MDSS_MDP_LUT_CLK>,
3733 <&dispcc DISP_CC_MDSS_MDP_CLK>,
3734 <&dispcc DISP_CC_MDSS_VSYNC_CLK>;
3735 clock-names = "nrt_bus",
3736 "iface",
3737 "lut",
3738 "core",
3739 "vsync";
3740
3741 operating-points-v2 = <&mdp_opp_table>;
3742
3743 power-domains = <&rpmhpd RPMHPD_MMCX>;
3744
3745 ports {
3746 #address-cells = <1>;
3747 #size-cells = <0>;
3748
3749 port@0 {
3750 reg = <0>;
3751
3752 mdss_intf0_out: endpoint {
3753 remote-endpoint = <&mdss_dp0_in>;
3754 };
3755 };
3756
3757 port@4 {
3758 reg = <4>;
3759
3760 mdss_intf4_out: endpoint {
3761 remote-endpoint = <&mdss_dp1_in>;
3762 };
3763 };
3764
3765 port@5 {
3766 reg = <5>;
3767
3768 mdss_intf5_out: endpoint {
3769 remote-endpoint = <&mdss_dp3_in>;
3770 };
3771 };
3772
3773 port@6 {
3774 reg = <6>;
3775
3776 mdss_intf6_out: endpoint {
3777 remote-endpoint = <&mdss_dp2_in>;
3778 };
3779 };
3780 };
3781
3782 mdp_opp_table: opp-table {
3783 compatible = "operating-points-v2";
3784
3785 opp-200000000 {
3786 opp-hz = /bits/ 64 <200000000>;
3787 required-opps = <&rpmhpd_opp_low_svs>;
3788 };
3789
3790 opp-325000000 {
3791 opp-hz = /bits/ 64 <325000000>;
3792 required-opps = <&rpmhpd_opp_svs>;
3793 };
3794
3795 opp-375000000 {
3796 opp-hz = /bits/ 64 <375000000>;
3797 required-opps = <&rpmhpd_opp_svs_l1>;
3798 };
3799
3800 opp-514000000 {
3801 opp-hz = /bits/ 64 <514000000>;
3802 required-opps = <&rpmhpd_opp_nom>;
3803 };
3804
3805 opp-575000000 {
3806 opp-hz = /bits/ 64 <575000000>;
3807 required-opps = <&rpmhpd_opp_nom_l1>;
3808 };
3809 };
3810 };
3811
3812 mdss_dp0: displayport-controller@ae90000 {
3813 compatible = "qcom,x1e80100-dp";
3814 reg = <0 0xae90000 0 0x200>,
3815 <0 0xae90200 0 0x200>,
3816 <0 0xae90400 0 0x600>,
3817 <0 0xae91000 0 0x400>,
3818 <0 0xae91400 0 0x400>;
3819
3820 interrupts-extended = <&mdss 12>;
3821
3822 clocks = <&dispcc DISP_CC_MDSS_AHB_CLK>,
3823 <&dispcc DISP_CC_MDSS_DPTX0_AUX_CLK>,
3824 <&dispcc DISP_CC_MDSS_DPTX0_LINK_CLK>,
3825 <&dispcc DISP_CC_MDSS_DPTX0_LINK_INTF_CLK>,
3826 <&dispcc DISP_CC_MDSS_DPTX0_PIXEL0_CLK>;
3827 clock-names = "core_iface",
3828 "core_aux",
3829 "ctrl_link",
3830 "ctrl_link_iface",
3831 "stream_pixel";
3832
3833 assigned-clocks = <&dispcc DISP_CC_MDSS_DPTX0_LINK_CLK_SRC>,
3834 <&dispcc DISP_CC_MDSS_DPTX0_PIXEL0_CLK_SRC>;
3835 assigned-clock-parents = <&usb_1_ss0_qmpphy QMP_USB43DP_DP_LINK_CLK>,
3836 <&usb_1_ss0_qmpphy QMP_USB43DP_DP_VCO_DIV_CLK>;
3837
3838 operating-points-v2 = <&mdss_dp0_opp_table>;
3839
3840 power-domains = <&rpmhpd RPMHPD_MMCX>;
3841
3842 phys = <&usb_1_ss0_qmpphy QMP_USB43DP_DP_PHY>;
3843 phy-names = "dp";
3844
3845 #sound-dai-cells = <0>;
3846
3847 status = "disabled";
3848
3849 ports {
3850 #address-cells = <1>;
3851 #size-cells = <0>;
3852
3853 port@0 {
3854 reg = <0>;
3855
3856 mdss_dp0_in: endpoint {
3857 remote-endpoint = <&mdss_intf0_out>;
3858 };
3859 };
3860
3861 port@1 {
3862 reg = <1>;
3863
3864 mdss_dp0_out: endpoint {
3865 };
3866 };
3867 };
3868
3869 mdss_dp0_opp_table: opp-table {
3870 compatible = "operating-points-v2";
3871
3872 opp-160000000 {
3873 opp-hz = /bits/ 64 <160000000>;
3874 required-opps = <&rpmhpd_opp_low_svs>;
3875 };
3876
3877 opp-270000000 {
3878 opp-hz = /bits/ 64 <270000000>;
3879 required-opps = <&rpmhpd_opp_svs>;
3880 };
3881
3882 opp-540000000 {
3883 opp-hz = /bits/ 64 <540000000>;
3884 required-opps = <&rpmhpd_opp_svs_l1>;
3885 };
3886
3887 opp-810000000 {
3888 opp-hz = /bits/ 64 <810000000>;
3889 required-opps = <&rpmhpd_opp_nom>;
3890 };
3891 };
3892 };
3893
3894 mdss_dp1: displayport-controller@ae98000 {
3895 compatible = "qcom,x1e80100-dp";
3896 reg = <0 0xae98000 0 0x200>,
3897 <0 0xae98200 0 0x200>,
3898 <0 0xae98400 0 0x600>,
3899 <0 0xae99000 0 0x400>,
3900 <0 0xae99400 0 0x400>;
3901
3902 interrupts-extended = <&mdss 13>;
3903
3904 clocks = <&dispcc DISP_CC_MDSS_AHB_CLK>,
3905 <&dispcc DISP_CC_MDSS_DPTX1_AUX_CLK>,
3906 <&dispcc DISP_CC_MDSS_DPTX1_LINK_CLK>,
3907 <&dispcc DISP_CC_MDSS_DPTX1_LINK_INTF_CLK>,
3908 <&dispcc DISP_CC_MDSS_DPTX1_PIXEL0_CLK>;
3909 clock-names = "core_iface",
3910 "core_aux",
3911 "ctrl_link",
3912 "ctrl_link_iface",
3913 "stream_pixel";
3914
3915 assigned-clocks = <&dispcc DISP_CC_MDSS_DPTX1_LINK_CLK_SRC>,
3916 <&dispcc DISP_CC_MDSS_DPTX1_PIXEL0_CLK_SRC>;
3917 assigned-clock-parents = <&usb_1_ss1_qmpphy QMP_USB43DP_DP_LINK_CLK>,
3918 <&usb_1_ss1_qmpphy QMP_USB43DP_DP_VCO_DIV_CLK>;
3919
3920 operating-points-v2 = <&mdss_dp1_opp_table>;
3921
3922 power-domains = <&rpmhpd RPMHPD_MMCX>;
3923
3924 phys = <&usb_1_ss1_qmpphy QMP_USB43DP_DP_PHY>;
3925 phy-names = "dp";
3926
3927 #sound-dai-cells = <0>;
3928
3929 status = "disabled";
3930
3931 ports {
3932 #address-cells = <1>;
3933 #size-cells = <0>;
3934
3935 port@0 {
3936 reg = <0>;
3937
3938 mdss_dp1_in: endpoint {
3939 remote-endpoint = <&mdss_intf4_out>;
3940 };
3941 };
3942
3943 port@1 {
3944 reg = <1>;
3945
3946 mdss_dp1_out: endpoint {
3947 };
3948 };
3949 };
3950
3951 mdss_dp1_opp_table: opp-table {
3952 compatible = "operating-points-v2";
3953
3954 opp-160000000 {
3955 opp-hz = /bits/ 64 <160000000>;
3956 required-opps = <&rpmhpd_opp_low_svs>;
3957 };
3958
3959 opp-270000000 {
3960 opp-hz = /bits/ 64 <270000000>;
3961 required-opps = <&rpmhpd_opp_svs>;
3962 };
3963
3964 opp-540000000 {
3965 opp-hz = /bits/ 64 <540000000>;
3966 required-opps = <&rpmhpd_opp_svs_l1>;
3967 };
3968
3969 opp-810000000 {
3970 opp-hz = /bits/ 64 <810000000>;
3971 required-opps = <&rpmhpd_opp_nom>;
3972 };
3973 };
3974 };
3975
3976 mdss_dp2: displayport-controller@ae9a000 {
3977 compatible = "qcom,x1e80100-dp";
3978 reg = <0 0xae9a000 0 0x200>,
3979 <0 0xae9a200 0 0x200>,
3980 <0 0xae9a400 0 0x600>,
3981 <0 0xae9b000 0 0x400>,
3982 <0 0xae9b400 0 0x400>;
3983
3984 interrupts-extended = <&mdss 14>;
3985
3986 clocks = <&dispcc DISP_CC_MDSS_AHB_CLK>,
3987 <&dispcc DISP_CC_MDSS_DPTX2_AUX_CLK>,
3988 <&dispcc DISP_CC_MDSS_DPTX2_LINK_CLK>,
3989 <&dispcc DISP_CC_MDSS_DPTX2_LINK_INTF_CLK>,
3990 <&dispcc DISP_CC_MDSS_DPTX2_PIXEL0_CLK>;
3991 clock-names = "core_iface",
3992 "core_aux",
3993 "ctrl_link",
3994 "ctrl_link_iface",
3995 "stream_pixel";
3996
3997 assigned-clocks = <&dispcc DISP_CC_MDSS_DPTX2_LINK_CLK_SRC>,
3998 <&dispcc DISP_CC_MDSS_DPTX2_PIXEL0_CLK_SRC>;
3999 assigned-clock-parents = <&mdss_dp2_phy 0>,
4000 <&mdss_dp2_phy 1>;
4001
4002 operating-points-v2 = <&mdss_dp2_opp_table>;
4003
4004 power-domains = <&rpmhpd RPMHPD_MMCX>;
4005
4006 phys = <&mdss_dp2_phy>;
4007 phy-names = "dp";
4008
4009 #sound-dai-cells = <0>;
4010
4011 status = "disabled";
4012
4013 ports {
4014 #address-cells = <1>;
4015 #size-cells = <0>;
4016
4017 port@0 {
4018 reg = <0>;
4019 mdss_dp2_in: endpoint {
4020 remote-endpoint = <&mdss_intf6_out>;
4021 };
4022 };
4023
4024 port@1 {
4025 reg = <1>;
4026 };
4027 };
4028
4029 mdss_dp2_opp_table: opp-table {
4030 compatible = "operating-points-v2";
4031
4032 opp-160000000 {
4033 opp-hz = /bits/ 64 <160000000>;
4034 required-opps = <&rpmhpd_opp_low_svs>;
4035 };
4036
4037 opp-270000000 {
4038 opp-hz = /bits/ 64 <270000000>;
4039 required-opps = <&rpmhpd_opp_svs>;
4040 };
4041
4042 opp-540000000 {
4043 opp-hz = /bits/ 64 <540000000>;
4044 required-opps = <&rpmhpd_opp_svs_l1>;
4045 };
4046
4047 opp-810000000 {
4048 opp-hz = /bits/ 64 <810000000>;
4049 required-opps = <&rpmhpd_opp_nom>;
4050 };
4051 };
4052 };
4053
4054 mdss_dp3: displayport-controller@aea0000 {
4055 compatible = "qcom,x1e80100-dp";
4056 reg = <0 0xaea0000 0 0x200>,
4057 <0 0xaea0200 0 0x200>,
4058 <0 0xaea0400 0 0x600>,
4059 <0 0xaea1000 0 0x400>,
4060 <0 0xaea1400 0 0x400>;
4061
4062 interrupts-extended = <&mdss 15>;
4063
4064 clocks = <&dispcc DISP_CC_MDSS_AHB_CLK>,
4065 <&dispcc DISP_CC_MDSS_DPTX3_AUX_CLK>,
4066 <&dispcc DISP_CC_MDSS_DPTX3_LINK_CLK>,
4067 <&dispcc DISP_CC_MDSS_DPTX3_LINK_INTF_CLK>,
4068 <&dispcc DISP_CC_MDSS_DPTX3_PIXEL0_CLK>;
4069 clock-names = "core_iface",
4070 "core_aux",
4071 "ctrl_link",
4072 "ctrl_link_iface",
4073 "stream_pixel";
4074
4075 assigned-clocks = <&dispcc DISP_CC_MDSS_DPTX3_LINK_CLK_SRC>,
4076 <&dispcc DISP_CC_MDSS_DPTX3_PIXEL0_CLK_SRC>;
4077 assigned-clock-parents = <&mdss_dp3_phy 0>,
4078 <&mdss_dp3_phy 1>;
4079
4080 operating-points-v2 = <&mdss_dp3_opp_table>;
4081
4082 power-domains = <&rpmhpd RPMHPD_MMCX>;
4083
4084 phys = <&mdss_dp3_phy>;
4085 phy-names = "dp";
4086
4087 #sound-dai-cells = <0>;
4088
4089 status = "disabled";
4090
4091 ports {
4092 #address-cells = <1>;
4093 #size-cells = <0>;
4094
4095 port@0 {
4096 reg = <0>;
4097
4098 mdss_dp3_in: endpoint {
4099 remote-endpoint = <&mdss_intf5_out>;
Tom Rini6bb92fc2024-05-20 09:54:58 -06004100 };
4101 };
4102
4103 port@1 {
4104 reg = <1>;
4105 };
4106 };
4107
4108 mdss_dp3_opp_table: opp-table {
4109 compatible = "operating-points-v2";
4110
4111 opp-160000000 {
4112 opp-hz = /bits/ 64 <160000000>;
4113 required-opps = <&rpmhpd_opp_low_svs>;
4114 };
4115
4116 opp-270000000 {
4117 opp-hz = /bits/ 64 <270000000>;
4118 required-opps = <&rpmhpd_opp_svs>;
4119 };
4120
4121 opp-540000000 {
4122 opp-hz = /bits/ 64 <540000000>;
4123 required-opps = <&rpmhpd_opp_svs_l1>;
4124 };
4125
4126 opp-810000000 {
4127 opp-hz = /bits/ 64 <810000000>;
4128 required-opps = <&rpmhpd_opp_nom>;
4129 };
4130 };
4131 };
4132
4133 };
4134
4135 mdss_dp2_phy: phy@aec2a00 {
4136 compatible = "qcom,x1e80100-dp-phy";
4137 reg = <0 0x0aec2a00 0 0x19c>,
4138 <0 0x0aec2200 0 0xec>,
4139 <0 0x0aec2600 0 0xec>,
4140 <0 0x0aec2000 0 0x1c8>;
4141
4142 clocks = <&dispcc DISP_CC_MDSS_DPTX2_AUX_CLK>,
4143 <&dispcc DISP_CC_MDSS_AHB_CLK>;
4144 clock-names = "aux",
4145 "cfg_ahb";
4146
4147 power-domains = <&rpmhpd RPMHPD_MX>;
4148
4149 #clock-cells = <1>;
4150 #phy-cells = <0>;
4151
4152 status = "disabled";
4153 };
4154
4155 mdss_dp3_phy: phy@aec5a00 {
4156 compatible = "qcom,x1e80100-dp-phy";
4157 reg = <0 0x0aec5a00 0 0x19c>,
4158 <0 0x0aec5200 0 0xec>,
4159 <0 0x0aec5600 0 0xec>,
4160 <0 0x0aec5000 0 0x1c8>;
4161
4162 clocks = <&dispcc DISP_CC_MDSS_DPTX3_AUX_CLK>,
4163 <&dispcc DISP_CC_MDSS_AHB_CLK>;
4164 clock-names = "aux",
4165 "cfg_ahb";
4166
4167 power-domains = <&rpmhpd RPMHPD_MX>;
4168
4169 #clock-cells = <1>;
4170 #phy-cells = <0>;
4171
4172 status = "disabled";
4173 };
4174
4175 dispcc: clock-controller@af00000 {
4176 compatible = "qcom,x1e80100-dispcc";
4177 reg = <0 0x0af00000 0 0x20000>;
4178 clocks = <&bi_tcxo_div2>,
4179 <&bi_tcxo_ao_div2>,
4180 <&gcc GCC_DISP_AHB_CLK>,
4181 <&sleep_clk>,
4182 <0>, /* dsi0 */
4183 <0>,
4184 <0>, /* dsi1 */
4185 <0>,
4186 <&usb_1_ss0_qmpphy QMP_USB43DP_DP_LINK_CLK>, /* dp0 */
4187 <&usb_1_ss0_qmpphy QMP_USB43DP_DP_VCO_DIV_CLK>,
4188 <&usb_1_ss1_qmpphy QMP_USB43DP_DP_LINK_CLK>, /* dp1 */
4189 <&usb_1_ss1_qmpphy QMP_USB43DP_DP_VCO_DIV_CLK>,
4190 <&mdss_dp2_phy 0>, /* dp2 */
4191 <&mdss_dp2_phy 1>,
4192 <&mdss_dp3_phy 0>, /* dp3 */
4193 <&mdss_dp3_phy 1>;
4194 power-domains = <&rpmhpd RPMHPD_MMCX>;
4195 required-opps = <&rpmhpd_opp_low_svs>;
4196 #clock-cells = <1>;
4197 #reset-cells = <1>;
4198 #power-domain-cells = <1>;
4199 };
4200
4201 pdc: interrupt-controller@b220000 {
4202 compatible = "qcom,x1e80100-pdc", "qcom,pdc";
4203 reg = <0 0x0b220000 0 0x30000>, <0 0x174000f0 0 0x64>;
4204
4205 qcom,pdc-ranges = <0 480 42>, <42 251 5>,
4206 <47 522 52>, <99 609 32>,
4207 <131 717 12>, <143 816 19>;
4208 #interrupt-cells = <2>;
4209 interrupt-parent = <&intc>;
4210 interrupt-controller;
4211 };
4212
4213 aoss_qmp: power-management@c300000 {
4214 compatible = "qcom,x1e80100-aoss-qmp", "qcom,aoss-qmp";
4215 reg = <0 0x0c300000 0 0x400>;
4216 interrupt-parent = <&ipcc>;
4217 interrupts-extended = <&ipcc IPCC_CLIENT_AOP IPCC_MPROC_SIGNAL_GLINK_QMP
4218 IRQ_TYPE_EDGE_RISING>;
4219 mboxes = <&ipcc IPCC_CLIENT_AOP IPCC_MPROC_SIGNAL_GLINK_QMP>;
4220
4221 #clock-cells = <0>;
4222 };
4223
Tom Rini762f85b2024-07-20 11:15:10 -06004224 spmi: arbiter@c400000 {
4225 compatible = "qcom,x1e80100-spmi-pmic-arb";
4226 reg = <0 0x0c400000 0 0x3000>,
4227 <0 0x0c500000 0 0x400000>,
4228 <0 0x0c440000 0 0x80000>;
4229 reg-names = "core", "chnls", "obsrvr";
4230
4231 qcom,ee = <0>;
4232 qcom,channel = <0>;
4233
4234 #address-cells = <2>;
4235 #size-cells = <2>;
4236 ranges;
4237
4238 spmi_bus0: spmi@c42d000 {
4239 reg = <0 0x0c42d000 0 0x4000>,
4240 <0 0x0c4c0000 0 0x10000>;
4241 reg-names = "cnfg", "intr";
4242
4243 interrupt-names = "periph_irq";
4244 interrupts-extended = <&pdc 1 IRQ_TYPE_LEVEL_HIGH>;
4245 interrupt-controller;
4246 #interrupt-cells = <4>;
4247
4248 #address-cells = <2>;
4249 #size-cells = <0>;
4250 };
4251
4252 spmi_bus1: spmi@c432000 {
4253 reg = <0 0x0c432000 0 0x4000>,
4254 <0 0x0c4d0000 0 0x10000>;
4255 reg-names = "cnfg", "intr";
4256
4257 interrupt-names = "periph_irq";
4258 interrupts-extended = <&pdc 3 IRQ_TYPE_LEVEL_HIGH>;
4259 interrupt-controller;
4260 #interrupt-cells = <4>;
4261
4262 #address-cells = <2>;
4263 #size-cells = <0>;
4264 };
4265 };
Tom Rini6bb92fc2024-05-20 09:54:58 -06004266
4267 tlmm: pinctrl@f100000 {
4268 compatible = "qcom,x1e80100-tlmm";
4269 reg = <0 0x0f100000 0 0xf00000>;
4270
4271 interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>;
4272
4273 gpio-controller;
4274 #gpio-cells = <2>;
4275
4276 interrupt-controller;
4277 #interrupt-cells = <2>;
4278
4279 gpio-ranges = <&tlmm 0 0 239>;
4280 wakeup-parent = <&pdc>;
4281
4282 qup_i2c0_data_clk: qup-i2c0-data-clk-state {
4283 /* SDA, SCL */
4284 pins = "gpio0", "gpio1";
4285 function = "qup0_se0";
4286 drive-strength = <2>;
4287 bias-pull-up = <2200>;
4288 };
Tom Rini93743d22024-04-01 09:08:13 -04004289
4290 qup_i2c1_data_clk: qup-i2c1-data-clk-state {
4291 /* SDA, SCL */
4292 pins = "gpio4", "gpio5";
4293 function = "qup0_se1";
4294 drive-strength = <2>;
4295 bias-pull-up = <2200>;
4296 };
4297
4298 qup_i2c2_data_clk: qup-i2c2-data-clk-state {
4299 /* SDA, SCL */
4300 pins = "gpio8", "gpio9";
4301 function = "qup0_se2";
4302 drive-strength = <2>;
4303 bias-pull-up = <2200>;
4304 };
4305
4306 qup_i2c3_data_clk: qup-i2c3-data-clk-state {
4307 /* SDA, SCL */
4308 pins = "gpio12", "gpio13";
4309 function = "qup0_se3";
4310 drive-strength = <2>;
4311 bias-pull-up = <2200>;
4312 };
4313
4314 qup_i2c4_data_clk: qup-i2c4-data-clk-state {
4315 /* SDA, SCL */
4316 pins = "gpio16", "gpio17";
4317 function = "qup0_se4";
4318 drive-strength = <2>;
4319 bias-pull-up = <2200>;
4320 };
4321
4322 qup_i2c5_data_clk: qup-i2c5-data-clk-state {
4323 /* SDA, SCL */
4324 pins = "gpio20", "gpio21";
4325 function = "qup0_se5";
4326 drive-strength = <2>;
4327 bias-pull-up = <2200>;
4328 };
4329
4330 qup_i2c6_data_clk: qup-i2c6-data-clk-state {
4331 /* SDA, SCL */
4332 pins = "gpio24", "gpio25";
4333 function = "qup0_se6";
4334 drive-strength = <2>;
4335 bias-pull-up = <2200>;
4336 };
4337
4338 qup_i2c7_data_clk: qup-i2c7-data-clk-state {
4339 /* SDA, SCL */
4340 pins = "gpio14", "gpio15";
4341 function = "qup0_se7";
4342 drive-strength = <2>;
4343 bias-pull-up = <2200>;
4344 };
4345
4346 qup_i2c8_data_clk: qup-i2c8-data-clk-state {
4347 /* SDA, SCL */
4348 pins = "gpio32", "gpio33";
4349 function = "qup1_se0";
4350 drive-strength = <2>;
4351 bias-pull-up = <2200>;
4352 };
4353
4354 qup_i2c9_data_clk: qup-i2c9-data-clk-state {
4355 /* SDA, SCL */
4356 pins = "gpio36", "gpio37";
4357 function = "qup1_se1";
4358 drive-strength = <2>;
4359 bias-pull-up = <2200>;
4360 };
4361
4362 qup_i2c10_data_clk: qup-i2c10-data-clk-state {
4363 /* SDA, SCL */
4364 pins = "gpio40", "gpio41";
4365 function = "qup1_se2";
4366 drive-strength = <2>;
4367 bias-pull-up = <2200>;
4368 };
4369
4370 qup_i2c11_data_clk: qup-i2c11-data-clk-state {
4371 /* SDA, SCL */
4372 pins = "gpio44", "gpio45";
4373 function = "qup1_se3";
4374 drive-strength = <2>;
4375 bias-pull-up = <2200>;
4376 };
4377
4378 qup_i2c12_data_clk: qup-i2c12-data-clk-state {
4379 /* SDA, SCL */
4380 pins = "gpio48", "gpio49";
4381 function = "qup1_se4";
4382 drive-strength = <2>;
4383 bias-pull-up = <2200>;
4384 };
4385
4386 qup_i2c13_data_clk: qup-i2c13-data-clk-state {
4387 /* SDA, SCL */
4388 pins = "gpio52", "gpio53";
4389 function = "qup1_se5";
4390 drive-strength = <2>;
4391 bias-pull-up = <2200>;
4392 };
4393
4394 qup_i2c14_data_clk: qup-i2c14-data-clk-state {
4395 /* SDA, SCL */
4396 pins = "gpio56", "gpio57";
4397 function = "qup1_se6";
4398 drive-strength = <2>;
4399 bias-pull-up = <2200>;
4400 };
4401
4402 qup_i2c15_data_clk: qup-i2c15-data-clk-state {
4403 /* SDA, SCL */
4404 pins = "gpio54", "gpio55";
4405 function = "qup1_se7";
4406 drive-strength = <2>;
4407 bias-pull-up = <2200>;
4408 };
4409
4410 qup_i2c16_data_clk: qup-i2c16-data-clk-state {
4411 /* SDA, SCL */
4412 pins = "gpio64", "gpio65";
4413 function = "qup2_se0";
4414 drive-strength = <2>;
4415 bias-pull-up = <2200>;
4416 };
4417
4418 qup_i2c17_data_clk: qup-i2c17-data-clk-state {
4419 /* SDA, SCL */
4420 pins = "gpio68", "gpio69";
4421 function = "qup2_se1";
4422 drive-strength = <2>;
4423 bias-pull-up = <2200>;
4424 };
4425
4426 qup_i2c18_data_clk: qup-i2c18-data-clk-state {
4427 /* SDA, SCL */
4428 pins = "gpio72", "gpio73";
4429 function = "qup2_se2";
4430 drive-strength = <2>;
4431 bias-pull-up = <2200>;
4432 };
4433
4434 qup_i2c19_data_clk: qup-i2c19-data-clk-state {
4435 /* SDA, SCL */
4436 pins = "gpio76", "gpio77";
4437 function = "qup2_se3";
4438 drive-strength = <2>;
4439 bias-pull-up = <2200>;
4440 };
4441
4442 qup_i2c20_data_clk: qup-i2c20-data-clk-state {
4443 /* SDA, SCL */
4444 pins = "gpio80", "gpio81";
4445 function = "qup2_se4";
4446 drive-strength = <2>;
4447 bias-pull-up = <2200>;
4448 };
4449
4450 qup_i2c21_data_clk: qup-i2c21-data-clk-state {
4451 /* SDA, SCL */
4452 pins = "gpio84", "gpio85";
4453 function = "qup2_se5";
4454 drive-strength = <2>;
4455 bias-pull-up = <2200>;
4456 };
4457
4458 qup_i2c22_data_clk: qup-i2c22-data-clk-state {
4459 /* SDA, SCL */
4460 pins = "gpio88", "gpio89";
4461 function = "qup2_se6";
4462 drive-strength = <2>;
4463 bias-pull-up = <2200>;
4464 };
4465
4466 qup_i2c23_data_clk: qup-i2c23-data-clk-state {
4467 /* SDA, SCL */
4468 pins = "gpio86", "gpio87";
4469 function = "qup2_se7";
4470 drive-strength = <2>;
4471 bias-pull-up = <2200>;
4472 };
4473
4474 qup_spi0_cs: qup-spi0-cs-state {
4475 pins = "gpio3";
4476 function = "qup0_se0";
4477 drive-strength = <6>;
4478 bias-disable;
4479 };
4480
4481 qup_spi0_data_clk: qup-spi0-data-clk-state {
4482 /* MISO, MOSI, CLK */
4483 pins = "gpio0", "gpio1", "gpio2";
4484 function = "qup0_se0";
4485 drive-strength = <6>;
4486 bias-disable;
4487 };
4488
4489 qup_spi1_cs: qup-spi1-cs-state {
4490 pins = "gpio7";
4491 function = "qup0_se1";
4492 drive-strength = <6>;
4493 bias-disable;
4494 };
4495
4496 qup_spi1_data_clk: qup-spi1-data-clk-state {
4497 /* MISO, MOSI, CLK */
4498 pins = "gpio4", "gpio5", "gpio6";
4499 function = "qup0_se1";
4500 drive-strength = <6>;
4501 bias-disable;
4502 };
4503
4504 qup_spi2_cs: qup-spi2-cs-state {
4505 pins = "gpio11";
4506 function = "qup0_se2";
4507 drive-strength = <6>;
4508 bias-disable;
4509 };
4510
4511 qup_spi2_data_clk: qup-spi2-data-clk-state {
4512 /* MISO, MOSI, CLK */
4513 pins = "gpio8", "gpio9", "gpio10";
4514 function = "qup0_se2";
4515 drive-strength = <6>;
4516 bias-disable;
4517 };
4518
4519 qup_spi3_cs: qup-spi3-cs-state {
4520 pins = "gpio15";
4521 function = "qup0_se3";
4522 drive-strength = <6>;
4523 bias-disable;
4524 };
4525
4526 qup_spi3_data_clk: qup-spi3-data-clk-state {
4527 /* MISO, MOSI, CLK */
4528 pins = "gpio12", "gpio13", "gpio14";
4529 function = "qup0_se3";
4530 drive-strength = <6>;
4531 bias-disable;
4532 };
4533
4534 qup_spi4_cs: qup-spi4-cs-state {
4535 pins = "gpio19";
4536 function = "qup0_se4";
4537 drive-strength = <6>;
4538 bias-disable;
4539 };
4540
4541 qup_spi4_data_clk: qup-spi4-data-clk-state {
4542 /* MISO, MOSI, CLK */
4543 pins = "gpio16", "gpio17", "gpio18";
4544 function = "qup0_se4";
4545 drive-strength = <6>;
4546 bias-disable;
4547 };
4548
4549 qup_spi5_cs: qup-spi5-cs-state {
4550 pins = "gpio23";
4551 function = "qup0_se5";
4552 drive-strength = <6>;
4553 bias-disable;
4554 };
4555
4556 qup_spi5_data_clk: qup-spi5-data-clk-state {
4557 /* MISO, MOSI, CLK */
4558 pins = "gpio20", "gpio21", "gpio22";
4559 function = "qup0_se5";
4560 drive-strength = <6>;
4561 bias-disable;
4562 };
4563
4564 qup_spi6_cs: qup-spi6-cs-state {
4565 pins = "gpio27";
4566 function = "qup0_se6";
4567 drive-strength = <6>;
4568 bias-disable;
4569 };
4570
4571 qup_spi6_data_clk: qup-spi6-data-clk-state {
4572 /* MISO, MOSI, CLK */
4573 pins = "gpio24", "gpio25", "gpio26";
4574 function = "qup0_se6";
4575 drive-strength = <6>;
4576 bias-disable;
4577 };
4578
4579 qup_spi7_cs: qup-spi7-cs-state {
4580 pins = "gpio13";
4581 function = "qup0_se7";
4582 drive-strength = <6>;
4583 bias-disable;
4584 };
4585
4586 qup_spi7_data_clk: qup-spi7-data-clk-state {
4587 /* MISO, MOSI, CLK */
4588 pins = "gpio14", "gpio15", "gpio12";
4589 function = "qup0_se7";
4590 drive-strength = <6>;
4591 bias-disable;
4592 };
4593
4594 qup_spi8_cs: qup-spi8-cs-state {
4595 pins = "gpio35";
4596 function = "qup1_se0";
4597 drive-strength = <6>;
4598 bias-disable;
4599 };
4600
4601 qup_spi8_data_clk: qup-spi8-data-clk-state {
4602 /* MISO, MOSI, CLK */
4603 pins = "gpio32", "gpio33", "gpio34";
4604 function = "qup1_se0";
4605 drive-strength = <6>;
4606 bias-disable;
4607 };
4608
4609 qup_spi9_cs: qup-spi9-cs-state {
4610 pins = "gpio39";
4611 function = "qup1_se1";
4612 drive-strength = <6>;
4613 bias-disable;
4614 };
4615
4616 qup_spi9_data_clk: qup-spi9-data-clk-state {
4617 /* MISO, MOSI, CLK */
4618 pins = "gpio36", "gpio37", "gpio38";
4619 function = "qup1_se1";
4620 drive-strength = <6>;
4621 bias-disable;
4622 };
4623
4624 qup_spi10_cs: qup-spi10-cs-state {
4625 pins = "gpio43";
4626 function = "qup1_se2";
4627 drive-strength = <6>;
4628 bias-disable;
4629 };
4630
4631 qup_spi10_data_clk: qup-spi10-data-clk-state {
4632 /* MISO, MOSI, CLK */
4633 pins = "gpio40", "gpio41", "gpio42";
4634 function = "qup1_se2";
4635 drive-strength = <6>;
4636 bias-disable;
4637 };
4638
4639 qup_spi11_cs: qup-spi11-cs-state {
4640 pins = "gpio47";
4641 function = "qup1_se3";
4642 drive-strength = <6>;
4643 bias-disable;
4644 };
4645
4646 qup_spi11_data_clk: qup-spi11-data-clk-state {
4647 /* MISO, MOSI, CLK */
4648 pins = "gpio44", "gpio45", "gpio46";
4649 function = "qup1_se3";
4650 drive-strength = <6>;
4651 bias-disable;
4652 };
4653
4654 qup_spi12_cs: qup-spi12-cs-state {
4655 pins = "gpio51";
4656 function = "qup1_se4";
4657 drive-strength = <6>;
4658 bias-disable;
4659 };
4660
4661 qup_spi12_data_clk: qup-spi12-data-clk-state {
4662 /* MISO, MOSI, CLK */
4663 pins = "gpio48", "gpio49", "gpio50";
4664 function = "qup1_se4";
4665 drive-strength = <6>;
4666 bias-disable;
4667 };
4668
4669 qup_spi13_cs: qup-spi13-cs-state {
4670 pins = "gpio55";
4671 function = "qup1_se5";
4672 drive-strength = <6>;
4673 bias-disable;
4674 };
4675
4676 qup_spi13_data_clk: qup-spi13-data-clk-state {
4677 /* MISO, MOSI, CLK */
4678 pins = "gpio52", "gpio53", "gpio54";
4679 function = "qup1_se5";
4680 drive-strength = <6>;
4681 bias-disable;
4682 };
4683
4684 qup_spi14_cs: qup-spi14-cs-state {
4685 pins = "gpio59";
4686 function = "qup1_se6";
4687 drive-strength = <6>;
4688 bias-disable;
4689 };
4690
4691 qup_spi14_data_clk: qup-spi14-data-clk-state {
4692 /* MISO, MOSI, CLK */
4693 pins = "gpio56", "gpio57", "gpio58";
4694 function = "qup1_se6";
4695 drive-strength = <6>;
4696 bias-disable;
4697 };
4698
4699 qup_spi15_cs: qup-spi15-cs-state {
4700 pins = "gpio53";
4701 function = "qup1_se7";
4702 drive-strength = <6>;
4703 bias-disable;
4704 };
4705
4706 qup_spi15_data_clk: qup-spi15-data-clk-state {
4707 /* MISO, MOSI, CLK */
4708 pins = "gpio54", "gpio55", "gpio52";
4709 function = "qup1_se7";
4710 drive-strength = <6>;
4711 bias-disable;
4712 };
4713
4714 qup_spi16_cs: qup-spi16-cs-state {
4715 pins = "gpio67";
4716 function = "qup2_se0";
4717 drive-strength = <6>;
4718 bias-disable;
4719 };
4720
4721 qup_spi16_data_clk: qup-spi16-data-clk-state {
4722 /* MISO, MOSI, CLK */
4723 pins = "gpio64", "gpio65", "gpio66";
4724 function = "qup2_se0";
4725 drive-strength = <6>;
4726 bias-disable;
4727 };
4728
4729 qup_spi17_cs: qup-spi17-cs-state {
4730 pins = "gpio71";
4731 function = "qup2_se1";
4732 drive-strength = <6>;
4733 bias-disable;
4734 };
4735
4736 qup_spi17_data_clk: qup-spi17-data-clk-state {
4737 /* MISO, MOSI, CLK */
4738 pins = "gpio68", "gpio69", "gpio70";
4739 function = "qup2_se1";
4740 drive-strength = <6>;
4741 bias-disable;
4742 };
4743
4744 qup_spi18_cs: qup-spi18-cs-state {
4745 pins = "gpio75";
4746 function = "qup2_se2";
4747 drive-strength = <6>;
4748 bias-disable;
4749 };
4750
4751 qup_spi18_data_clk: qup-spi18-data-clk-state {
4752 /* MISO, MOSI, CLK */
4753 pins = "gpio72", "gpio73", "gpio74";
4754 function = "qup2_se2";
4755 drive-strength = <6>;
4756 bias-disable;
4757 };
4758
4759 qup_spi19_cs: qup-spi19-cs-state {
4760 pins = "gpio79";
4761 function = "qup2_se3";
4762 drive-strength = <6>;
4763 bias-disable;
4764 };
4765
4766 qup_spi19_data_clk: qup-spi19-data-clk-state {
4767 /* MISO, MOSI, CLK */
4768 pins = "gpio76", "gpio77", "gpio78";
4769 function = "qup2_se3";
4770 drive-strength = <6>;
4771 bias-disable;
4772 };
4773
4774 qup_spi20_cs: qup-spi20-cs-state {
4775 pins = "gpio83";
4776 function = "qup2_se4";
4777 drive-strength = <6>;
4778 bias-disable;
4779 };
4780
4781 qup_spi20_data_clk: qup-spi20-data-clk-state {
4782 /* MISO, MOSI, CLK */
4783 pins = "gpio80", "gpio81", "gpio82";
4784 function = "qup2_se4";
4785 drive-strength = <6>;
4786 bias-disable;
4787 };
4788
4789 qup_spi21_cs: qup-spi21-cs-state {
4790 pins = "gpio87";
4791 function = "qup2_se5";
4792 drive-strength = <6>;
4793 bias-disable;
4794 };
4795
4796 qup_spi21_data_clk: qup-spi21-data-clk-state {
4797 /* MISO, MOSI, CLK */
4798 pins = "gpio84", "gpio85", "gpio86";
4799 function = "qup2_se5";
4800 drive-strength = <6>;
4801 bias-disable;
4802 };
4803
4804 qup_spi22_cs: qup-spi22-cs-state {
4805 pins = "gpio91";
4806 function = "qup2_se6";
4807 drive-strength = <6>;
4808 bias-disable;
4809 };
4810
4811 qup_spi22_data_clk: qup-spi22-data-clk-state {
4812 /* MISO, MOSI, CLK */
4813 pins = "gpio88", "gpio89", "gpio90";
4814 function = "qup2_se6";
4815 drive-strength = <6>;
4816 bias-disable;
4817 };
4818
4819 qup_spi23_cs: qup-spi23-cs-state {
4820 pins = "gpio85";
4821 function = "qup2_se7";
4822 drive-strength = <6>;
4823 bias-disable;
4824 };
4825
4826 qup_spi23_data_clk: qup-spi23-data-clk-state {
4827 /* MISO, MOSI, CLK */
4828 pins = "gpio86", "gpio87", "gpio84";
4829 function = "qup2_se7";
4830 drive-strength = <6>;
4831 bias-disable;
4832 };
4833
4834 qup_uart21_default: qup-uart21-default-state {
4835 /* TX, RX */
4836 pins = "gpio86", "gpio87";
4837 function = "qup2_se5";
Tom Rini6bb92fc2024-05-20 09:54:58 -06004838 drive-strength = <2>;
Tom Rini93743d22024-04-01 09:08:13 -04004839 bias-disable;
4840 };
4841 };
4842
4843 apps_smmu: iommu@15000000 {
4844 compatible = "qcom,x1e80100-smmu-500", "qcom,smmu-500", "arm,mmu-500";
4845 reg = <0 0x15000000 0 0x100000>;
4846
4847 interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>,
4848 <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>,
4849 <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>,
4850 <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>,
4851 <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>,
4852 <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>,
4853 <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>,
4854 <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>,
4855 <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>,
4856 <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>,
4857 <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>,
4858 <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>,
4859 <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>,
4860 <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>,
4861 <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>,
4862 <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>,
4863 <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>,
4864 <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>,
4865 <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>,
4866 <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>,
4867 <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>,
4868 <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>,
4869 <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>,
4870 <GIC_SPI 181 IRQ_TYPE_LEVEL_HIGH>,
4871 <GIC_SPI 182 IRQ_TYPE_LEVEL_HIGH>,
4872 <GIC_SPI 183 IRQ_TYPE_LEVEL_HIGH>,
4873 <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>,
4874 <GIC_SPI 185 IRQ_TYPE_LEVEL_HIGH>,
4875 <GIC_SPI 186 IRQ_TYPE_LEVEL_HIGH>,
4876 <GIC_SPI 187 IRQ_TYPE_LEVEL_HIGH>,
4877 <GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>,
4878 <GIC_SPI 189 IRQ_TYPE_LEVEL_HIGH>,
4879 <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>,
4880 <GIC_SPI 191 IRQ_TYPE_LEVEL_HIGH>,
4881 <GIC_SPI 192 IRQ_TYPE_LEVEL_HIGH>,
4882 <GIC_SPI 315 IRQ_TYPE_LEVEL_HIGH>,
4883 <GIC_SPI 316 IRQ_TYPE_LEVEL_HIGH>,
4884 <GIC_SPI 317 IRQ_TYPE_LEVEL_HIGH>,
4885 <GIC_SPI 318 IRQ_TYPE_LEVEL_HIGH>,
4886 <GIC_SPI 319 IRQ_TYPE_LEVEL_HIGH>,
4887 <GIC_SPI 320 IRQ_TYPE_LEVEL_HIGH>,
4888 <GIC_SPI 321 IRQ_TYPE_LEVEL_HIGH>,
4889 <GIC_SPI 322 IRQ_TYPE_LEVEL_HIGH>,
4890 <GIC_SPI 323 IRQ_TYPE_LEVEL_HIGH>,
4891 <GIC_SPI 324 IRQ_TYPE_LEVEL_HIGH>,
4892 <GIC_SPI 325 IRQ_TYPE_LEVEL_HIGH>,
4893 <GIC_SPI 326 IRQ_TYPE_LEVEL_HIGH>,
4894 <GIC_SPI 327 IRQ_TYPE_LEVEL_HIGH>,
4895 <GIC_SPI 328 IRQ_TYPE_LEVEL_HIGH>,
4896 <GIC_SPI 329 IRQ_TYPE_LEVEL_HIGH>,
4897 <GIC_SPI 330 IRQ_TYPE_LEVEL_HIGH>,
4898 <GIC_SPI 331 IRQ_TYPE_LEVEL_HIGH>,
4899 <GIC_SPI 332 IRQ_TYPE_LEVEL_HIGH>,
4900 <GIC_SPI 333 IRQ_TYPE_LEVEL_HIGH>,
4901 <GIC_SPI 334 IRQ_TYPE_LEVEL_HIGH>,
4902 <GIC_SPI 335 IRQ_TYPE_LEVEL_HIGH>,
4903 <GIC_SPI 336 IRQ_TYPE_LEVEL_HIGH>,
4904 <GIC_SPI 337 IRQ_TYPE_LEVEL_HIGH>,
4905 <GIC_SPI 338 IRQ_TYPE_LEVEL_HIGH>,
4906 <GIC_SPI 339 IRQ_TYPE_LEVEL_HIGH>,
4907 <GIC_SPI 340 IRQ_TYPE_LEVEL_HIGH>,
4908 <GIC_SPI 341 IRQ_TYPE_LEVEL_HIGH>,
4909 <GIC_SPI 342 IRQ_TYPE_LEVEL_HIGH>,
4910 <GIC_SPI 343 IRQ_TYPE_LEVEL_HIGH>,
4911 <GIC_SPI 344 IRQ_TYPE_LEVEL_HIGH>,
4912 <GIC_SPI 345 IRQ_TYPE_LEVEL_HIGH>,
4913 <GIC_SPI 395 IRQ_TYPE_LEVEL_HIGH>,
4914 <GIC_SPI 396 IRQ_TYPE_LEVEL_HIGH>,
4915 <GIC_SPI 397 IRQ_TYPE_LEVEL_HIGH>,
4916 <GIC_SPI 398 IRQ_TYPE_LEVEL_HIGH>,
4917 <GIC_SPI 399 IRQ_TYPE_LEVEL_HIGH>,
4918 <GIC_SPI 400 IRQ_TYPE_LEVEL_HIGH>,
4919 <GIC_SPI 401 IRQ_TYPE_LEVEL_HIGH>,
4920 <GIC_SPI 402 IRQ_TYPE_LEVEL_HIGH>,
4921 <GIC_SPI 403 IRQ_TYPE_LEVEL_HIGH>,
4922 <GIC_SPI 404 IRQ_TYPE_LEVEL_HIGH>,
4923 <GIC_SPI 405 IRQ_TYPE_LEVEL_HIGH>,
4924 <GIC_SPI 406 IRQ_TYPE_LEVEL_HIGH>,
4925 <GIC_SPI 407 IRQ_TYPE_LEVEL_HIGH>,
4926 <GIC_SPI 408 IRQ_TYPE_LEVEL_HIGH>,
4927 <GIC_SPI 409 IRQ_TYPE_LEVEL_HIGH>,
4928 <GIC_SPI 418 IRQ_TYPE_LEVEL_HIGH>,
4929 <GIC_SPI 419 IRQ_TYPE_LEVEL_HIGH>,
4930 <GIC_SPI 412 IRQ_TYPE_LEVEL_HIGH>,
4931 <GIC_SPI 421 IRQ_TYPE_LEVEL_HIGH>,
4932 <GIC_SPI 707 IRQ_TYPE_LEVEL_HIGH>,
4933 <GIC_SPI 423 IRQ_TYPE_LEVEL_HIGH>,
4934 <GIC_SPI 424 IRQ_TYPE_LEVEL_HIGH>,
4935 <GIC_SPI 425 IRQ_TYPE_LEVEL_HIGH>,
4936 <GIC_SPI 690 IRQ_TYPE_LEVEL_HIGH>,
4937 <GIC_SPI 691 IRQ_TYPE_LEVEL_HIGH>,
4938 <GIC_SPI 692 IRQ_TYPE_LEVEL_HIGH>,
4939 <GIC_SPI 693 IRQ_TYPE_LEVEL_HIGH>,
4940 <GIC_SPI 694 IRQ_TYPE_LEVEL_HIGH>,
4941 <GIC_SPI 695 IRQ_TYPE_LEVEL_HIGH>,
4942 <GIC_SPI 696 IRQ_TYPE_LEVEL_HIGH>,
4943 <GIC_SPI 697 IRQ_TYPE_LEVEL_HIGH>;
4944
4945 #iommu-cells = <2>;
4946 #global-interrupts = <1>;
4947 };
4948
4949 intc: interrupt-controller@17000000 {
4950 compatible = "arm,gic-v3";
4951 reg = <0 0x17000000 0 0x10000>, /* GICD */
4952 <0 0x17080000 0 0x480000>; /* GICR * 12 */
4953
4954 interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>;
4955
4956 #interrupt-cells = <3>;
4957 interrupt-controller;
4958
4959 #redistributor-regions = <1>;
4960 redistributor-stride = <0x0 0x40000>;
4961
4962 #address-cells = <2>;
4963 #size-cells = <2>;
4964 ranges;
4965
4966 gic_its: msi-controller@17040000 {
4967 compatible = "arm,gic-v3-its";
4968 reg = <0 0x17040000 0 0x40000>;
4969
4970 msi-controller;
4971 #msi-cells = <1>;
4972
4973 status = "disabled";
4974 };
4975 };
4976
4977 apps_rsc: rsc@17500000 {
4978 compatible = "qcom,rpmh-rsc";
4979 reg = <0 0x17500000 0 0x10000>,
4980 <0 0x17510000 0 0x10000>,
4981 <0 0x17520000 0 0x10000>;
4982 reg-names = "drv-0", "drv-1", "drv-2";
Tom Rini93743d22024-04-01 09:08:13 -04004983
4984 interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>,
4985 <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>,
4986 <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
4987 qcom,tcs-offset = <0xd00>;
4988 qcom,drv-id = <2>;
4989 qcom,tcs-config = <ACTIVE_TCS 3>, <SLEEP_TCS 2>,
4990 <WAKE_TCS 2>, <CONTROL_TCS 0>;
4991
4992 label = "apps_rsc";
Tom Rini6bb92fc2024-05-20 09:54:58 -06004993 power-domains = <&SYSTEM_PD>;
Tom Rini93743d22024-04-01 09:08:13 -04004994
4995 apps_bcm_voter: bcm-voter {
4996 compatible = "qcom,bcm-voter";
4997 };
4998
4999 rpmhcc: clock-controller {
5000 compatible = "qcom,x1e80100-rpmh-clk";
5001
5002 clocks = <&xo_board>;
5003 clock-names = "xo";
5004
5005 #clock-cells = <1>;
5006 };
5007
5008 rpmhpd: power-controller {
5009 compatible = "qcom,x1e80100-rpmhpd";
5010
5011 operating-points-v2 = <&rpmhpd_opp_table>;
5012
5013 #power-domain-cells = <1>;
5014
5015 rpmhpd_opp_table: opp-table {
5016 compatible = "operating-points-v2";
5017
5018 rpmhpd_opp_ret: opp-16 {
5019 opp-level = <RPMH_REGULATOR_LEVEL_RETENTION>;
5020 };
5021
5022 rpmhpd_opp_min_svs: opp-48 {
5023 opp-level = <RPMH_REGULATOR_LEVEL_MIN_SVS>;
5024 };
5025
5026 rpmhpd_opp_low_svs_d2: opp-52 {
5027 opp-level = <RPMH_REGULATOR_LEVEL_LOW_SVS_D2>;
5028 };
5029
5030 rpmhpd_opp_low_svs_d1: opp-56 {
5031 opp-level = <RPMH_REGULATOR_LEVEL_LOW_SVS_D1>;
5032 };
5033
5034 rpmhpd_opp_low_svs_d0: opp-60 {
5035 opp-level = <RPMH_REGULATOR_LEVEL_LOW_SVS_D0>;
5036 };
5037
5038 rpmhpd_opp_low_svs: opp-64 {
5039 opp-level = <RPMH_REGULATOR_LEVEL_LOW_SVS>;
5040 };
5041
5042 rpmhpd_opp_low_svs_l1: opp-80 {
5043 opp-level = <RPMH_REGULATOR_LEVEL_LOW_SVS_L1>;
5044 };
5045
5046 rpmhpd_opp_svs: opp-128 {
5047 opp-level = <RPMH_REGULATOR_LEVEL_SVS>;
5048 };
5049
5050 rpmhpd_opp_svs_l0: opp-144 {
5051 opp-level = <RPMH_REGULATOR_LEVEL_SVS_L0>;
5052 };
5053
5054 rpmhpd_opp_svs_l1: opp-192 {
5055 opp-level = <RPMH_REGULATOR_LEVEL_SVS_L1>;
5056 };
5057
5058 rpmhpd_opp_nom: opp-256 {
5059 opp-level = <RPMH_REGULATOR_LEVEL_NOM>;
5060 };
5061
5062 rpmhpd_opp_nom_l1: opp-320 {
5063 opp-level = <RPMH_REGULATOR_LEVEL_NOM_L1>;
5064 };
5065
5066 rpmhpd_opp_nom_l2: opp-336 {
5067 opp-level = <RPMH_REGULATOR_LEVEL_NOM_L2>;
5068 };
5069
5070 rpmhpd_opp_turbo: opp-384 {
5071 opp-level = <RPMH_REGULATOR_LEVEL_TURBO>;
5072 };
5073
5074 rpmhpd_opp_turbo_l1: opp-416 {
5075 opp-level = <RPMH_REGULATOR_LEVEL_TURBO_L1>;
5076 };
5077 };
5078 };
5079 };
5080
5081 timer@17800000 {
5082 compatible = "arm,armv7-timer-mem";
5083 reg = <0 0x17800000 0 0x1000>;
5084
5085 #address-cells = <2>;
5086 #size-cells = <1>;
5087 ranges = <0 0 0 0 0x20000000>;
5088
5089 frame@17801000 {
5090 reg = <0 0x17801000 0x1000>,
5091 <0 0x17802000 0x1000>;
5092
5093 interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
5094 <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>;
5095
5096 frame-number = <0>;
5097 };
5098
5099 frame@17803000 {
5100 reg = <0 0x17803000 0x1000>;
5101
5102 interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
5103
5104 frame-number = <1>;
5105
5106 status = "disabled";
5107 };
5108
5109 frame@17805000 {
5110 reg = <0 0x17805000 0x1000>;
5111
5112 interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
5113
5114 frame-number = <2>;
5115
5116 status = "disabled";
5117 };
5118
5119 frame@17807000 {
5120 reg = <0 0x17807000 0x1000>;
5121
5122 interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
5123
5124 frame-number = <3>;
5125
5126 status = "disabled";
5127 };
5128
5129 frame@17809000 {
5130 reg = <0 0x17809000 0x1000>;
5131
5132 interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
5133
5134 frame-number = <4>;
5135
5136 status = "disabled";
5137 };
5138
5139 frame@1780b000 {
5140 reg = <0 0x1780b000 0x1000>;
5141
5142 interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
5143
5144 frame-number = <5>;
5145
5146 status = "disabled";
5147 };
5148
5149 frame@1780d000 {
5150 reg = <0 0x1780d000 0x1000>;
5151
5152 interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
5153
5154 frame-number = <6>;
5155
5156 status = "disabled";
5157 };
5158 };
5159
5160 system-cache-controller@25000000 {
5161 compatible = "qcom,x1e80100-llcc";
5162 reg = <0 0x25000000 0 0x200000>,
5163 <0 0x25200000 0 0x200000>,
5164 <0 0x25400000 0 0x200000>,
5165 <0 0x25600000 0 0x200000>,
5166 <0 0x25800000 0 0x200000>,
5167 <0 0x25a00000 0 0x200000>,
5168 <0 0x25c00000 0 0x200000>,
5169 <0 0x25e00000 0 0x200000>,
5170 <0 0x26000000 0 0x200000>;
5171 reg-names = "llcc0_base",
5172 "llcc1_base",
5173 "llcc2_base",
5174 "llcc3_base",
5175 "llcc4_base",
5176 "llcc5_base",
5177 "llcc6_base",
5178 "llcc7_base",
5179 "llcc_broadcast_base";
5180 interrupts = <GIC_SPI 266 IRQ_TYPE_LEVEL_HIGH>;
5181 };
Tom Rini6bb92fc2024-05-20 09:54:58 -06005182
5183 remoteproc_adsp: remoteproc@30000000 {
5184 compatible = "qcom,x1e80100-adsp-pas";
5185 reg = <0 0x30000000 0 0x100>;
5186
5187 interrupts-extended = <&pdc 6 IRQ_TYPE_EDGE_RISING>,
5188 <&smp2p_adsp_in 0 IRQ_TYPE_EDGE_RISING>,
5189 <&smp2p_adsp_in 1 IRQ_TYPE_EDGE_RISING>,
5190 <&smp2p_adsp_in 2 IRQ_TYPE_EDGE_RISING>,
5191 <&smp2p_adsp_in 3 IRQ_TYPE_EDGE_RISING>;
5192 interrupt-names = "wdog",
5193 "fatal",
5194 "ready",
5195 "handover",
5196 "stop-ack";
5197
5198 clocks = <&rpmhcc RPMH_CXO_CLK>;
5199 clock-names = "xo";
5200
5201 power-domains = <&rpmhpd RPMHPD_LCX>,
5202 <&rpmhpd RPMHPD_LMX>;
5203 power-domain-names = "lcx",
5204 "lmx";
5205
5206 interconnects = <&lpass_lpicx_noc MASTER_LPASS_PROC QCOM_ICC_TAG_ALWAYS
5207 &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>;
5208
5209 memory-region = <&adspslpi_mem>,
5210 <&q6_adsp_dtb_mem>;
5211
5212 qcom,qmp = <&aoss_qmp>;
5213
5214 qcom,smem-states = <&smp2p_adsp_out 0>;
5215 qcom,smem-state-names = "stop";
5216
5217 status = "disabled";
5218
5219 glink-edge {
5220 interrupts-extended = <&ipcc IPCC_CLIENT_LPASS
5221 IPCC_MPROC_SIGNAL_GLINK_QMP
5222 IRQ_TYPE_EDGE_RISING>;
5223 mboxes = <&ipcc IPCC_CLIENT_LPASS
5224 IPCC_MPROC_SIGNAL_GLINK_QMP>;
5225
5226 label = "lpass";
5227 qcom,remote-pid = <2>;
5228
5229 gpr {
5230 compatible = "qcom,gpr";
5231 qcom,glink-channels = "adsp_apps";
5232 qcom,domain = <GPR_DOMAIN_ID_ADSP>;
5233 qcom,intents = <512 20>;
5234 #address-cells = <1>;
5235 #size-cells = <0>;
5236
5237 q6apm: service@1 {
5238 compatible = "qcom,q6apm";
5239 reg = <GPR_APM_MODULE_IID>;
5240 #sound-dai-cells = <0>;
5241 qcom,protection-domain = "avs/audio",
5242 "msm/adsp/audio_pd";
5243
5244 q6apmbedai: bedais {
5245 compatible = "qcom,q6apm-lpass-dais";
5246 #sound-dai-cells = <1>;
5247 };
5248
5249 q6apmdai: dais {
5250 compatible = "qcom,q6apm-dais";
5251 iommus = <&apps_smmu 0x1001 0x80>,
5252 <&apps_smmu 0x1061 0x0>;
5253 };
5254 };
5255
5256 q6prm: service@2 {
5257 compatible = "qcom,q6prm";
5258 reg = <GPR_PRM_MODULE_IID>;
5259 qcom,protection-domain = "avs/audio",
5260 "msm/adsp/audio_pd";
5261
5262 q6prmcc: clock-controller {
5263 compatible = "qcom,q6prm-lpass-clocks";
5264 #clock-cells = <2>;
5265 };
5266 };
5267 };
5268 };
5269 };
5270
5271 remoteproc_cdsp: remoteproc@32300000 {
5272 compatible = "qcom,x1e80100-cdsp-pas";
5273 reg = <0 0x32300000 0 0x1400000>;
5274
5275 interrupts-extended = <&intc GIC_SPI 578 IRQ_TYPE_EDGE_RISING>,
5276 <&smp2p_cdsp_in 0 IRQ_TYPE_EDGE_RISING>,
5277 <&smp2p_cdsp_in 1 IRQ_TYPE_EDGE_RISING>,
5278 <&smp2p_cdsp_in 2 IRQ_TYPE_EDGE_RISING>,
5279 <&smp2p_cdsp_in 3 IRQ_TYPE_EDGE_RISING>;
5280 interrupt-names = "wdog",
5281 "fatal",
5282 "ready",
5283 "handover",
5284 "stop-ack";
5285
5286 clocks = <&rpmhcc RPMH_CXO_CLK>;
5287 clock-names = "xo";
5288
5289 power-domains = <&rpmhpd RPMHPD_CX>,
5290 <&rpmhpd RPMHPD_MXC>,
5291 <&rpmhpd RPMHPD_NSP>;
5292 power-domain-names = "cx",
5293 "mxc",
5294 "nsp";
5295
5296 interconnects = <&nsp_noc MASTER_CDSP_PROC QCOM_ICC_TAG_ALWAYS
5297 &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>;
5298
5299 memory-region = <&cdsp_mem>,
5300 <&q6_cdsp_dtb_mem>;
5301
5302 qcom,qmp = <&aoss_qmp>;
5303
5304 qcom,smem-states = <&smp2p_cdsp_out 0>;
5305 qcom,smem-state-names = "stop";
5306
5307 status = "disabled";
5308
5309 glink-edge {
5310 interrupts-extended = <&ipcc IPCC_CLIENT_CDSP
5311 IPCC_MPROC_SIGNAL_GLINK_QMP
5312 IRQ_TYPE_EDGE_RISING>;
5313 mboxes = <&ipcc IPCC_CLIENT_CDSP
5314 IPCC_MPROC_SIGNAL_GLINK_QMP>;
5315
5316 label = "cdsp";
5317 qcom,remote-pid = <5>;
5318 };
5319 };
Tom Rini93743d22024-04-01 09:08:13 -04005320 };
5321
5322 timer {
5323 compatible = "arm,armv8-timer";
5324
5325 interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_LOW>,
5326 <GIC_PPI 14 IRQ_TYPE_LEVEL_LOW>,
5327 <GIC_PPI 11 IRQ_TYPE_LEVEL_LOW>,
5328 <GIC_PPI 10 IRQ_TYPE_LEVEL_LOW>;
5329 };
5330};