blob: 053f7861c3ceced82c3dfb0cf539f94c9c2f64a5 [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001// SPDX-License-Identifier: BSD-3-Clause
2/*
3 * Copyright (c) 2017-2019, The Linux Foundation. All rights reserved.
4 * Copyright (c) 2020-2023, Linaro Limited
5 */
6
7#include <dt-bindings/clock/qcom,dispcc-sm8250.h>
8#include <dt-bindings/clock/qcom,gcc-sc8180x.h>
9#include <dt-bindings/clock/qcom,gpucc-sm8150.h>
10#include <dt-bindings/clock/qcom,rpmh.h>
Tom Rini93743d22024-04-01 09:08:13 -040011#include <dt-bindings/interconnect/qcom,icc.h>
Tom Rini53633a82024-02-29 12:33:36 -050012#include <dt-bindings/interconnect/qcom,osm-l3.h>
13#include <dt-bindings/interconnect/qcom,sc8180x.h>
14#include <dt-bindings/interrupt-controller/arm-gic.h>
15#include <dt-bindings/power/qcom-rpmpd.h>
16#include <dt-bindings/soc/qcom,rpmh-rsc.h>
17#include <dt-bindings/thermal/thermal.h>
18
19/ {
20 interrupt-parent = <&intc>;
21
22 #address-cells = <2>;
23 #size-cells = <2>;
24
25 clocks {
26 xo_board_clk: xo-board {
27 compatible = "fixed-clock";
28 #clock-cells = <0>;
29 clock-frequency = <38400000>;
30 };
31
32 sleep_clk: sleep-clk {
33 compatible = "fixed-clock";
34 #clock-cells = <0>;
35 clock-frequency = <32764>;
36 clock-output-names = "sleep_clk";
37 };
38 };
39
40 cpus {
41 #address-cells = <2>;
42 #size-cells = <0>;
43
44 CPU0: cpu@0 {
45 device_type = "cpu";
46 compatible = "qcom,kryo485";
47 reg = <0x0 0x0>;
48 enable-method = "psci";
49 capacity-dmips-mhz = <602>;
50 next-level-cache = <&L2_0>;
51 qcom,freq-domain = <&cpufreq_hw 0>;
52 operating-points-v2 = <&cpu0_opp_table>;
53 interconnects = <&gem_noc MASTER_AMPSS_M0 3 &mc_virt SLAVE_EBI_CH0 3>,
54 <&osm_l3 MASTER_OSM_L3_APPS &osm_l3 SLAVE_OSM_L3>;
55 power-domains = <&CPU_PD0>;
56 power-domain-names = "psci";
57 #cooling-cells = <2>;
58 clocks = <&cpufreq_hw 0>;
59
60 L2_0: l2-cache {
61 compatible = "cache";
62 cache-level = <2>;
63 cache-unified;
64 next-level-cache = <&L3_0>;
65 L3_0: l3-cache {
66 compatible = "cache";
67 cache-level = <3>;
68 cache-unified;
69 };
70 };
71 };
72
73 CPU1: cpu@100 {
74 device_type = "cpu";
75 compatible = "qcom,kryo485";
76 reg = <0x0 0x100>;
77 enable-method = "psci";
78 capacity-dmips-mhz = <602>;
79 next-level-cache = <&L2_100>;
80 qcom,freq-domain = <&cpufreq_hw 0>;
81 operating-points-v2 = <&cpu0_opp_table>;
82 interconnects = <&gem_noc MASTER_AMPSS_M0 3 &mc_virt SLAVE_EBI_CH0 3>,
83 <&osm_l3 MASTER_OSM_L3_APPS &osm_l3 SLAVE_OSM_L3>;
84 power-domains = <&CPU_PD1>;
85 power-domain-names = "psci";
86 #cooling-cells = <2>;
87 clocks = <&cpufreq_hw 0>;
88
89 L2_100: l2-cache {
90 compatible = "cache";
91 cache-level = <2>;
92 cache-unified;
93 next-level-cache = <&L3_0>;
94 };
95
96 };
97
98 CPU2: cpu@200 {
99 device_type = "cpu";
100 compatible = "qcom,kryo485";
101 reg = <0x0 0x200>;
102 enable-method = "psci";
103 capacity-dmips-mhz = <602>;
104 next-level-cache = <&L2_200>;
105 qcom,freq-domain = <&cpufreq_hw 0>;
106 operating-points-v2 = <&cpu0_opp_table>;
107 interconnects = <&gem_noc MASTER_AMPSS_M0 3 &mc_virt SLAVE_EBI_CH0 3>,
108 <&osm_l3 MASTER_OSM_L3_APPS &osm_l3 SLAVE_OSM_L3>;
109 power-domains = <&CPU_PD2>;
110 power-domain-names = "psci";
111 #cooling-cells = <2>;
112 clocks = <&cpufreq_hw 0>;
113
114 L2_200: l2-cache {
115 compatible = "cache";
116 cache-level = <2>;
117 cache-unified;
118 next-level-cache = <&L3_0>;
119 };
120 };
121
122 CPU3: cpu@300 {
123 device_type = "cpu";
124 compatible = "qcom,kryo485";
125 reg = <0x0 0x300>;
126 enable-method = "psci";
127 capacity-dmips-mhz = <602>;
128 next-level-cache = <&L2_300>;
129 qcom,freq-domain = <&cpufreq_hw 0>;
130 operating-points-v2 = <&cpu0_opp_table>;
131 interconnects = <&gem_noc MASTER_AMPSS_M0 3 &mc_virt SLAVE_EBI_CH0 3>,
132 <&osm_l3 MASTER_OSM_L3_APPS &osm_l3 SLAVE_OSM_L3>;
133 power-domains = <&CPU_PD3>;
134 power-domain-names = "psci";
135 #cooling-cells = <2>;
136 clocks = <&cpufreq_hw 0>;
137
138 L2_300: l2-cache {
139 compatible = "cache";
140 cache-unified;
141 cache-level = <2>;
142 next-level-cache = <&L3_0>;
143 };
144 };
145
146 CPU4: cpu@400 {
147 device_type = "cpu";
148 compatible = "qcom,kryo485";
149 reg = <0x0 0x400>;
150 enable-method = "psci";
151 capacity-dmips-mhz = <1024>;
152 next-level-cache = <&L2_400>;
153 qcom,freq-domain = <&cpufreq_hw 1>;
154 operating-points-v2 = <&cpu4_opp_table>;
155 interconnects = <&gem_noc MASTER_AMPSS_M0 3 &mc_virt SLAVE_EBI_CH0 3>,
156 <&osm_l3 MASTER_OSM_L3_APPS &osm_l3 SLAVE_OSM_L3>;
157 power-domains = <&CPU_PD4>;
158 power-domain-names = "psci";
159 #cooling-cells = <2>;
160 clocks = <&cpufreq_hw 1>;
161
162 L2_400: l2-cache {
163 compatible = "cache";
164 cache-unified;
165 cache-level = <2>;
166 next-level-cache = <&L3_0>;
167 };
168 };
169
170 CPU5: cpu@500 {
171 device_type = "cpu";
172 compatible = "qcom,kryo485";
173 reg = <0x0 0x500>;
174 enable-method = "psci";
175 capacity-dmips-mhz = <1024>;
176 next-level-cache = <&L2_500>;
177 qcom,freq-domain = <&cpufreq_hw 1>;
178 operating-points-v2 = <&cpu4_opp_table>;
179 interconnects = <&gem_noc MASTER_AMPSS_M0 3 &mc_virt SLAVE_EBI_CH0 3>,
180 <&osm_l3 MASTER_OSM_L3_APPS &osm_l3 SLAVE_OSM_L3>;
181 power-domains = <&CPU_PD5>;
182 power-domain-names = "psci";
183 #cooling-cells = <2>;
184 clocks = <&cpufreq_hw 1>;
185
186 L2_500: l2-cache {
187 compatible = "cache";
188 cache-unified;
189 cache-level = <2>;
190 next-level-cache = <&L3_0>;
191 };
192 };
193
194 CPU6: cpu@600 {
195 device_type = "cpu";
196 compatible = "qcom,kryo485";
197 reg = <0x0 0x600>;
198 enable-method = "psci";
199 capacity-dmips-mhz = <1024>;
200 next-level-cache = <&L2_600>;
201 qcom,freq-domain = <&cpufreq_hw 1>;
202 operating-points-v2 = <&cpu4_opp_table>;
203 interconnects = <&gem_noc MASTER_AMPSS_M0 3 &mc_virt SLAVE_EBI_CH0 3>,
204 <&osm_l3 MASTER_OSM_L3_APPS &osm_l3 SLAVE_OSM_L3>;
205 power-domains = <&CPU_PD6>;
206 power-domain-names = "psci";
207 #cooling-cells = <2>;
208 clocks = <&cpufreq_hw 1>;
209
210 L2_600: l2-cache {
211 compatible = "cache";
212 cache-unified;
213 cache-level = <2>;
214 next-level-cache = <&L3_0>;
215 };
216 };
217
218 CPU7: cpu@700 {
219 device_type = "cpu";
220 compatible = "qcom,kryo485";
221 reg = <0x0 0x700>;
222 enable-method = "psci";
223 capacity-dmips-mhz = <1024>;
224 next-level-cache = <&L2_700>;
225 qcom,freq-domain = <&cpufreq_hw 1>;
226 operating-points-v2 = <&cpu4_opp_table>;
227 interconnects = <&gem_noc MASTER_AMPSS_M0 3 &mc_virt SLAVE_EBI_CH0 3>,
228 <&osm_l3 MASTER_OSM_L3_APPS &osm_l3 SLAVE_OSM_L3>;
229 power-domains = <&CPU_PD7>;
230 power-domain-names = "psci";
231 #cooling-cells = <2>;
232 clocks = <&cpufreq_hw 1>;
233
234 L2_700: l2-cache {
235 compatible = "cache";
236 cache-unified;
237 cache-level = <2>;
238 next-level-cache = <&L3_0>;
239 };
240 };
241
242 cpu-map {
243 cluster0 {
244 core0 {
245 cpu = <&CPU0>;
246 };
247
248 core1 {
249 cpu = <&CPU1>;
250 };
251
252 core2 {
253 cpu = <&CPU2>;
254 };
255
256 core3 {
257 cpu = <&CPU3>;
258 };
259
260 core4 {
261 cpu = <&CPU4>;
262 };
263
264 core5 {
265 cpu = <&CPU5>;
266 };
267
268 core6 {
269 cpu = <&CPU6>;
270 };
271
272 core7 {
273 cpu = <&CPU7>;
274 };
275 };
276 };
277
278 idle-states {
279 entry-method = "psci";
280
281 LITTLE_CPU_SLEEP_0: cpu-sleep-0-0 {
282 compatible = "arm,idle-state";
283 arm,psci-suspend-param = <0x40000004>;
284 entry-latency-us = <355>;
285 exit-latency-us = <909>;
286 min-residency-us = <3934>;
287 local-timer-stop;
288 };
289
290 BIG_CPU_SLEEP_0: cpu-sleep-1-0 {
291 compatible = "arm,idle-state";
292 arm,psci-suspend-param = <0x40000004>;
Tom Rini6bb92fc2024-05-20 09:54:58 -0600293 entry-latency-us = <2411>;
Tom Rini53633a82024-02-29 12:33:36 -0500294 exit-latency-us = <1461>;
295 min-residency-us = <4488>;
296 local-timer-stop;
297 };
298 };
299
300 domain-idle-states {
Tom Rini6bb92fc2024-05-20 09:54:58 -0600301 CLUSTER_SLEEP_APSS_OFF: cluster-sleep-0 {
302 compatible = "domain-idle-state";
303 arm,psci-suspend-param = <0x41000044>;
304 entry-latency-us = <3300>;
305 exit-latency-us = <3300>;
306 min-residency-us = <6000>;
307 };
308
309 CLUSTER_SLEEP_AOSS_SLEEP: cluster-sleep-1 {
Tom Rini53633a82024-02-29 12:33:36 -0500310 compatible = "domain-idle-state";
311 arm,psci-suspend-param = <0x4100a344>;
312 entry-latency-us = <3263>;
313 exit-latency-us = <6562>;
314 min-residency-us = <9987>;
315 };
316 };
317 };
318
319 cpu0_opp_table: opp-table-cpu0 {
320 compatible = "operating-points-v2";
321 opp-shared;
322
323 opp-300000000 {
324 opp-hz = /bits/ 64 <300000000>;
325 opp-peak-kBps = <800000 9600000>;
326 };
327
328 opp-422400000 {
329 opp-hz = /bits/ 64 <422400000>;
330 opp-peak-kBps = <800000 9600000>;
331 };
332
333 opp-537600000 {
334 opp-hz = /bits/ 64 <537600000>;
335 opp-peak-kBps = <800000 12902400>;
336 };
337
338 opp-652800000 {
339 opp-hz = /bits/ 64 <652800000>;
340 opp-peak-kBps = <800000 12902400>;
341 };
342
343 opp-768000000 {
344 opp-hz = /bits/ 64 <768000000>;
345 opp-peak-kBps = <800000 15974400>;
346 };
347
348 opp-883200000 {
349 opp-hz = /bits/ 64 <883200000>;
350 opp-peak-kBps = <1804000 19660800>;
351 };
352
353 opp-998400000 {
354 opp-hz = /bits/ 64 <998400000>;
355 opp-peak-kBps = <1804000 19660800>;
356 };
357
358 opp-1113600000 {
359 opp-hz = /bits/ 64 <1113600000>;
360 opp-peak-kBps = <1804000 22732800>;
361 };
362
363 opp-1228800000 {
364 opp-hz = /bits/ 64 <1228800000>;
365 opp-peak-kBps = <1804000 22732800>;
366 };
367
368 opp-1363200000 {
369 opp-hz = /bits/ 64 <1363200000>;
370 opp-peak-kBps = <2188000 25804800>;
371 };
372
373 opp-1478400000 {
374 opp-hz = /bits/ 64 <1478400000>;
375 opp-peak-kBps = <2188000 31948800>;
376 };
377
378 opp-1574400000 {
379 opp-hz = /bits/ 64 <1574400000>;
380 opp-peak-kBps = <3072000 31948800>;
381 };
382
383 opp-1670400000 {
384 opp-hz = /bits/ 64 <1670400000>;
385 opp-peak-kBps = <3072000 31948800>;
386 };
387
388 opp-1766400000 {
389 opp-hz = /bits/ 64 <1766400000>;
390 opp-peak-kBps = <3072000 31948800>;
391 };
392 };
393
394 cpu4_opp_table: opp-table-cpu4 {
395 compatible = "operating-points-v2";
396 opp-shared;
397
398 opp-825600000 {
399 opp-hz = /bits/ 64 <825600000>;
400 opp-peak-kBps = <1804000 15974400>;
401 };
402
403 opp-940800000 {
404 opp-hz = /bits/ 64 <940800000>;
405 opp-peak-kBps = <2188000 19660800>;
406 };
407
408 opp-1056000000 {
409 opp-hz = /bits/ 64 <1056000000>;
410 opp-peak-kBps = <2188000 22732800>;
411 };
412
413 opp-1171200000 {
414 opp-hz = /bits/ 64 <1171200000>;
415 opp-peak-kBps = <3072000 25804800>;
416 };
417
418 opp-1286400000 {
419 opp-hz = /bits/ 64 <1286400000>;
420 opp-peak-kBps = <3072000 31948800>;
421 };
422
423 opp-1420800000 {
424 opp-hz = /bits/ 64 <1420800000>;
425 opp-peak-kBps = <4068000 31948800>;
426 };
427
428 opp-1536000000 {
429 opp-hz = /bits/ 64 <1536000000>;
430 opp-peak-kBps = <4068000 31948800>;
431 };
432
433 opp-1651200000 {
434 opp-hz = /bits/ 64 <1651200000>;
435 opp-peak-kBps = <4068000 40550400>;
436 };
437
438 opp-1766400000 {
439 opp-hz = /bits/ 64 <1766400000>;
440 opp-peak-kBps = <4068000 40550400>;
441 };
442
443 opp-1881600000 {
444 opp-hz = /bits/ 64 <1881600000>;
445 opp-peak-kBps = <4068000 43008000>;
446 };
447
448 opp-1996800000 {
449 opp-hz = /bits/ 64 <1996800000>;
450 opp-peak-kBps = <6220000 43008000>;
451 };
452
453 opp-2131200000 {
454 opp-hz = /bits/ 64 <2131200000>;
455 opp-peak-kBps = <6220000 49152000>;
456 };
457
458 opp-2246400000 {
459 opp-hz = /bits/ 64 <2246400000>;
460 opp-peak-kBps = <7216000 49152000>;
461 };
462
463 opp-2361600000 {
464 opp-hz = /bits/ 64 <2361600000>;
465 opp-peak-kBps = <8368000 49152000>;
466 };
467
468 opp-2457600000 {
469 opp-hz = /bits/ 64 <2457600000>;
470 opp-peak-kBps = <8368000 51609600>;
471 };
472
473 opp-2553600000 {
474 opp-hz = /bits/ 64 <2553600000>;
475 opp-peak-kBps = <8368000 51609600>;
476 };
477
478 opp-2649600000 {
479 opp-hz = /bits/ 64 <2649600000>;
480 opp-peak-kBps = <8368000 51609600>;
481 };
482
483 opp-2745600000 {
484 opp-hz = /bits/ 64 <2745600000>;
485 opp-peak-kBps = <8368000 51609600>;
486 };
487
488 opp-2841600000 {
489 opp-hz = /bits/ 64 <2841600000>;
490 opp-peak-kBps = <8368000 51609600>;
491 };
492
493 opp-2918400000 {
494 opp-hz = /bits/ 64 <2918400000>;
495 opp-peak-kBps = <8368000 51609600>;
496 };
497
498 opp-2995200000 {
499 opp-hz = /bits/ 64 <2995200000>;
500 opp-peak-kBps = <8368000 51609600>;
501 };
502 };
503
504 firmware {
505 scm: scm {
506 compatible = "qcom,scm-sc8180x", "qcom,scm";
507 };
508 };
509
510 camnoc_virt: interconnect-camnoc-virt {
511 compatible = "qcom,sc8180x-camnoc-virt";
512 #interconnect-cells = <2>;
513 qcom,bcm-voters = <&apps_bcm_voter>;
514 };
515
516 mc_virt: interconnect-mc-virt {
517 compatible = "qcom,sc8180x-mc-virt";
518 #interconnect-cells = <2>;
519 qcom,bcm-voters = <&apps_bcm_voter>;
520 };
521
522 qup_virt: interconnect-qup-virt {
523 compatible = "qcom,sc8180x-qup-virt";
524 #interconnect-cells = <2>;
525 qcom,bcm-voters = <&apps_bcm_voter>;
526 };
527
528 memory@80000000 {
529 device_type = "memory";
530 /* We expect the bootloader to fill in the size */
531 reg = <0x0 0x80000000 0x0 0x0>;
532 };
533
534 pmu {
535 compatible = "arm,armv8-pmuv3";
536 interrupts = <GIC_PPI 5 IRQ_TYPE_LEVEL_HIGH>;
537 };
538
539 psci {
540 compatible = "arm,psci-1.0";
541 method = "smc";
542
543 CPU_PD0: power-domain-cpu0 {
544 #power-domain-cells = <0>;
545 power-domains = <&CLUSTER_PD>;
546 domain-idle-states = <&LITTLE_CPU_SLEEP_0>;
547 };
548
549 CPU_PD1: power-domain-cpu1 {
550 #power-domain-cells = <0>;
551 power-domains = <&CLUSTER_PD>;
552 domain-idle-states = <&LITTLE_CPU_SLEEP_0>;
553 };
554
555 CPU_PD2: power-domain-cpu2 {
556 #power-domain-cells = <0>;
557 power-domains = <&CLUSTER_PD>;
558 domain-idle-states = <&LITTLE_CPU_SLEEP_0>;
559 };
560
561 CPU_PD3: power-domain-cpu3 {
562 #power-domain-cells = <0>;
563 power-domains = <&CLUSTER_PD>;
564 domain-idle-states = <&LITTLE_CPU_SLEEP_0>;
565 };
566
567 CPU_PD4: power-domain-cpu4 {
568 #power-domain-cells = <0>;
569 power-domains = <&CLUSTER_PD>;
570 domain-idle-states = <&BIG_CPU_SLEEP_0>;
571 };
572
573 CPU_PD5: power-domain-cpu5 {
574 #power-domain-cells = <0>;
575 power-domains = <&CLUSTER_PD>;
576 domain-idle-states = <&BIG_CPU_SLEEP_0>;
577 };
578
579 CPU_PD6: power-domain-cpu6 {
580 #power-domain-cells = <0>;
581 power-domains = <&CLUSTER_PD>;
582 domain-idle-states = <&BIG_CPU_SLEEP_0>;
583 };
584
585 CPU_PD7: power-domain-cpu7 {
586 #power-domain-cells = <0>;
587 power-domains = <&CLUSTER_PD>;
588 domain-idle-states = <&BIG_CPU_SLEEP_0>;
589 };
590
591 CLUSTER_PD: power-domain-cpu-cluster0 {
592 #power-domain-cells = <0>;
Tom Rini6bb92fc2024-05-20 09:54:58 -0600593 domain-idle-states = <&CLUSTER_SLEEP_APSS_OFF &CLUSTER_SLEEP_AOSS_SLEEP>;
Tom Rini53633a82024-02-29 12:33:36 -0500594 };
595 };
596
597 reserved-memory {
598 #address-cells = <2>;
599 #size-cells = <2>;
600 ranges;
601
602 hyp_mem: hyp@85700000 {
603 reg = <0x0 0x85700000 0x0 0x600000>;
604 no-map;
605 };
606
607 xbl_mem: xbl@85d00000 {
608 reg = <0x0 0x85d00000 0x0 0x140000>;
609 no-map;
610 };
611
612 aop_mem: aop@85f00000 {
613 reg = <0x0 0x85f00000 0x0 0x20000>;
614 no-map;
615 };
616
617 aop_cmd_db: cmd-db@85f20000 {
618 compatible = "qcom,cmd-db";
619 reg = <0x0 0x85f20000 0x0 0x20000>;
620 no-map;
621 };
622
623 reserved@85f40000 {
624 reg = <0x0 0x85f40000 0x0 0x10000>;
625 no-map;
626 };
627
628 smem_mem: smem@86000000 {
629 compatible = "qcom,smem";
630 reg = <0x0 0x86000000 0x0 0x200000>;
631 no-map;
632 hwlocks = <&tcsr_mutex 3>;
633 };
634
635 reserved@86200000 {
636 reg = <0x0 0x86200000 0x0 0x3900000>;
637 no-map;
638 };
639
640 reserved@89b00000 {
641 reg = <0x0 0x89b00000 0x0 0x1c00000>;
642 no-map;
643 };
644
645 reserved@9d400000 {
646 reg = <0x0 0x9d400000 0x0 0x1000000>;
647 no-map;
648 };
649
650 reserved@9e400000 {
651 reg = <0x0 0x9e400000 0x0 0x1400000>;
652 no-map;
653 };
654
655 reserved@9f800000 {
656 reg = <0x0 0x9f800000 0x0 0x800000>;
657 no-map;
658 };
659 };
660
661 smp2p-cdsp {
662 compatible = "qcom,smp2p";
663 qcom,smem = <94>, <432>;
664
665 interrupts = <GIC_SPI 576 IRQ_TYPE_EDGE_RISING>;
666
667 mboxes = <&apss_shared 6>;
668
669 qcom,local-pid = <0>;
670 qcom,remote-pid = <5>;
671
672 cdsp_smp2p_out: master-kernel {
673 qcom,entry-name = "master-kernel";
674 #qcom,smem-state-cells = <1>;
675 };
676
677 cdsp_smp2p_in: slave-kernel {
678 qcom,entry-name = "slave-kernel";
679
680 interrupt-controller;
681 #interrupt-cells = <2>;
682 };
683 };
684
685 smp2p-lpass {
686 compatible = "qcom,smp2p";
687 qcom,smem = <443>, <429>;
688
689 interrupts = <GIC_SPI 158 IRQ_TYPE_EDGE_RISING>;
690
691 mboxes = <&apss_shared 10>;
692
693 qcom,local-pid = <0>;
694 qcom,remote-pid = <2>;
695
696 adsp_smp2p_out: master-kernel {
697 qcom,entry-name = "master-kernel";
698 #qcom,smem-state-cells = <1>;
699 };
700
701 adsp_smp2p_in: slave-kernel {
702 qcom,entry-name = "slave-kernel";
703
704 interrupt-controller;
705 #interrupt-cells = <2>;
706 };
707 };
708
709 smp2p-mpss {
710 compatible = "qcom,smp2p";
711 qcom,smem = <435>, <428>;
712
713 interrupts = <GIC_SPI 451 IRQ_TYPE_EDGE_RISING>;
714
715 mboxes = <&apss_shared 14>;
716
717 qcom,local-pid = <0>;
718 qcom,remote-pid = <1>;
719
720 modem_smp2p_out: master-kernel {
721 qcom,entry-name = "master-kernel";
722 #qcom,smem-state-cells = <1>;
723 };
724
725 modem_smp2p_in: slave-kernel {
726 qcom,entry-name = "slave-kernel";
727
728 interrupt-controller;
729 #interrupt-cells = <2>;
730 };
731
732 modem_smp2p_ipa_out: ipa-ap-to-modem {
733 qcom,entry-name = "ipa";
734 #qcom,smem-state-cells = <1>;
735 };
736
737 modem_smp2p_ipa_in: ipa-modem-to-ap {
738 qcom,entry-name = "ipa";
739 interrupt-controller;
740 #interrupt-cells = <2>;
741 };
742
743 modem_smp2p_wlan_in: wlan-wpss-to-ap {
744 qcom,entry-name = "wlan";
745 interrupt-controller;
746 #interrupt-cells = <2>;
747 };
748 };
749
750 smp2p-slpi {
751 compatible = "qcom,smp2p";
752 qcom,smem = <481>, <430>;
753
754 interrupts = <GIC_SPI 172 IRQ_TYPE_EDGE_RISING>;
755
756 mboxes = <&apss_shared 26>;
757
758 qcom,local-pid = <0>;
759 qcom,remote-pid = <3>;
760
761 slpi_smp2p_out: master-kernel {
762 qcom,entry-name = "master-kernel";
763 #qcom,smem-state-cells = <1>;
764 };
765
766 slpi_smp2p_in: slave-kernel {
767 qcom,entry-name = "slave-kernel";
768
769 interrupt-controller;
770 #interrupt-cells = <2>;
771 };
772 };
773
774 soc: soc@0 {
775 compatible = "simple-bus";
776 #address-cells = <2>;
777 #size-cells = <2>;
778 ranges = <0 0 0 0 0x10 0>;
779 dma-ranges = <0 0 0 0 0x10 0>;
780
781 gcc: clock-controller@100000 {
782 compatible = "qcom,gcc-sc8180x";
783 reg = <0x0 0x00100000 0x0 0x1f0000>;
784 #clock-cells = <1>;
785 #reset-cells = <1>;
786 #power-domain-cells = <1>;
787 clocks = <&rpmhcc RPMH_CXO_CLK>,
788 <&rpmhcc RPMH_CXO_CLK_A>,
789 <&sleep_clk>;
790 clock-names = "bi_tcxo",
791 "bi_tcxo_ao",
792 "sleep_clk";
Tom Rini6bb92fc2024-05-20 09:54:58 -0600793 power-domains = <&rpmhpd SC8180X_CX>;
Tom Rini53633a82024-02-29 12:33:36 -0500794 };
795
796 qupv3_id_0: geniqup@8c0000 {
797 compatible = "qcom,geni-se-qup";
798 reg = <0 0x008c0000 0 0x6000>;
799 clocks = <&gcc GCC_QUPV3_WRAP_0_M_AHB_CLK>,
800 <&gcc GCC_QUPV3_WRAP_0_S_AHB_CLK>;
801 clock-names = "m-ahb", "s-ahb";
802 #address-cells = <2>;
803 #size-cells = <2>;
804 ranges;
805 iommus = <&apps_smmu 0x4c3 0>;
806 status = "disabled";
807
808 i2c0: i2c@880000 {
809 compatible = "qcom,geni-i2c";
810 reg = <0 0x00880000 0 0x4000>;
811 clocks = <&gcc GCC_QUPV3_WRAP0_S0_CLK>;
812 clock-names = "se";
813 interrupts = <GIC_SPI 601 IRQ_TYPE_LEVEL_HIGH>;
814 interconnects = <&qup_virt MASTER_QUP_CORE_0 0 &qup_virt SLAVE_QUP_CORE_0 0>,
815 <&gem_noc MASTER_AMPSS_M0 0 &config_noc SLAVE_QUP_0 0>,
816 <&aggre2_noc MASTER_QUP_0 0 &mc_virt SLAVE_EBI_CH0 0>;
817 interconnect-names = "qup-core", "qup-config", "qup-memory";
818 #address-cells = <1>;
819 #size-cells = <0>;
820 status = "disabled";
821 };
822
823 spi0: spi@880000 {
824 compatible = "qcom,geni-spi";
825 reg = <0 0x00880000 0 0x4000>;
826 clocks = <&gcc GCC_QUPV3_WRAP0_S0_CLK>;
827 clock-names = "se";
828 interrupts = <GIC_SPI 601 IRQ_TYPE_LEVEL_HIGH>;
829 interconnects = <&qup_virt MASTER_QUP_CORE_0 0 &qup_virt SLAVE_QUP_CORE_0 0>,
830 <&gem_noc MASTER_AMPSS_M0 0 &config_noc SLAVE_QUP_0 0>;
831 interconnect-names = "qup-core", "qup-config";
832 #address-cells = <1>;
833 #size-cells = <0>;
834 status = "disabled";
835 };
836
837 uart0: serial@880000 {
838 compatible = "qcom,geni-uart";
839 reg = <0 0x00880000 0 0x4000>;
840 clocks = <&gcc GCC_QUPV3_WRAP0_S0_CLK>;
841 clock-names = "se";
842 interrupts = <GIC_SPI 601 IRQ_TYPE_LEVEL_HIGH>;
843 interconnects = <&qup_virt MASTER_QUP_CORE_0 0 &qup_virt SLAVE_QUP_CORE_0 0>,
844 <&gem_noc MASTER_AMPSS_M0 0 &config_noc SLAVE_QUP_0 0>;
845 interconnect-names = "qup-core", "qup-config";
846 status = "disabled";
847 };
848
849 i2c1: i2c@884000 {
850 compatible = "qcom,geni-i2c";
851 reg = <0 0x00884000 0 0x4000>;
852 clocks = <&gcc GCC_QUPV3_WRAP0_S1_CLK>;
853 clock-names = "se";
854 interrupts = <GIC_SPI 602 IRQ_TYPE_LEVEL_HIGH>;
855 interconnects = <&qup_virt MASTER_QUP_CORE_0 0 &qup_virt SLAVE_QUP_CORE_0 0>,
856 <&gem_noc MASTER_AMPSS_M0 0 &config_noc SLAVE_QUP_0 0>,
857 <&aggre2_noc MASTER_QUP_0 0 &mc_virt SLAVE_EBI_CH0 0>;
858 interconnect-names = "qup-core", "qup-config", "qup-memory";
859 #address-cells = <1>;
860 #size-cells = <0>;
861 status = "disabled";
862 };
863
864 spi1: spi@884000 {
865 compatible = "qcom,geni-spi";
866 reg = <0 0x00884000 0 0x4000>;
867 clocks = <&gcc GCC_QUPV3_WRAP0_S1_CLK>;
868 clock-names = "se";
869 interrupts = <GIC_SPI 602 IRQ_TYPE_LEVEL_HIGH>;
870 interconnects = <&qup_virt MASTER_QUP_CORE_0 0 &qup_virt SLAVE_QUP_CORE_0 0>,
871 <&gem_noc MASTER_AMPSS_M0 0 &config_noc SLAVE_QUP_0 0>;
872 interconnect-names = "qup-core", "qup-config";
873 #address-cells = <1>;
874 #size-cells = <0>;
875 status = "disabled";
876 };
877
878 uart1: serial@884000 {
879 compatible = "qcom,geni-uart";
880 reg = <0 0x00884000 0 0x4000>;
881 clocks = <&gcc GCC_QUPV3_WRAP0_S1_CLK>;
882 clock-names = "se";
883 interrupts = <GIC_SPI 602 IRQ_TYPE_LEVEL_HIGH>;
884 interconnects = <&qup_virt MASTER_QUP_CORE_0 0 &qup_virt SLAVE_QUP_CORE_0 0>,
885 <&gem_noc MASTER_AMPSS_M0 0 &config_noc SLAVE_QUP_0 0>;
886 interconnect-names = "qup-core", "qup-config";
887 status = "disabled";
888 };
889
890 i2c2: i2c@888000 {
891 compatible = "qcom,geni-i2c";
892 reg = <0 0x00888000 0 0x4000>;
893 clocks = <&gcc GCC_QUPV3_WRAP0_S2_CLK>;
894 clock-names = "se";
895 interrupts = <GIC_SPI 603 IRQ_TYPE_LEVEL_HIGH>;
896 interconnects = <&qup_virt MASTER_QUP_CORE_0 0 &qup_virt SLAVE_QUP_CORE_0 0>,
897 <&gem_noc MASTER_AMPSS_M0 0 &config_noc SLAVE_QUP_0 0>,
898 <&aggre2_noc MASTER_QUP_0 0 &mc_virt SLAVE_EBI_CH0 0>;
899 interconnect-names = "qup-core", "qup-config", "qup-memory";
900 #address-cells = <1>;
901 #size-cells = <0>;
902 status = "disabled";
903 };
904
905 spi2: spi@888000 {
906 compatible = "qcom,geni-spi";
907 reg = <0 0x00888000 0 0x4000>;
908 clocks = <&gcc GCC_QUPV3_WRAP0_S2_CLK>;
909 clock-names = "se";
910 interrupts = <GIC_SPI 603 IRQ_TYPE_LEVEL_HIGH>;
911 interconnects = <&qup_virt MASTER_QUP_CORE_0 0 &qup_virt SLAVE_QUP_CORE_0 0>,
912 <&gem_noc MASTER_AMPSS_M0 0 &config_noc SLAVE_QUP_0 0>;
913 interconnect-names = "qup-core", "qup-config";
914 #address-cells = <1>;
915 #size-cells = <0>;
916 status = "disabled";
917 };
918
919 uart2: serial@888000 {
920 compatible = "qcom,geni-uart";
921 reg = <0 0x00888000 0 0x4000>;
922 clocks = <&gcc GCC_QUPV3_WRAP0_S2_CLK>;
923 clock-names = "se";
924 interrupts = <GIC_SPI 603 IRQ_TYPE_LEVEL_HIGH>;
925 interconnects = <&qup_virt MASTER_QUP_CORE_0 0 &qup_virt SLAVE_QUP_CORE_0 0>,
926 <&gem_noc MASTER_AMPSS_M0 0 &config_noc SLAVE_QUP_0 0>;
927 interconnect-names = "qup-core", "qup-config";
928 status = "disabled";
929 };
930
931 i2c3: i2c@88c000 {
932 compatible = "qcom,geni-i2c";
933 reg = <0 0x0088c000 0 0x4000>;
934 clocks = <&gcc GCC_QUPV3_WRAP0_S3_CLK>;
935 clock-names = "se";
936 interrupts = <GIC_SPI 604 IRQ_TYPE_LEVEL_HIGH>;
937 interconnects = <&qup_virt MASTER_QUP_CORE_0 0 &qup_virt SLAVE_QUP_CORE_0 0>,
938 <&gem_noc MASTER_AMPSS_M0 0 &config_noc SLAVE_QUP_0 0>,
939 <&aggre2_noc MASTER_QUP_0 0 &mc_virt SLAVE_EBI_CH0 0>;
940 interconnect-names = "qup-core", "qup-config", "qup-memory";
941 #address-cells = <1>;
942 #size-cells = <0>;
943 status = "disabled";
944 };
945
946 spi3: spi@88c000 {
947 compatible = "qcom,geni-spi";
948 reg = <0 0x0088c000 0 0x4000>;
949 clocks = <&gcc GCC_QUPV3_WRAP0_S3_CLK>;
950 clock-names = "se";
951 interrupts = <GIC_SPI 604 IRQ_TYPE_LEVEL_HIGH>;
952 interconnects = <&qup_virt MASTER_QUP_CORE_0 0 &qup_virt SLAVE_QUP_CORE_0 0>,
953 <&gem_noc MASTER_AMPSS_M0 0 &config_noc SLAVE_QUP_0 0>;
954 interconnect-names = "qup-core", "qup-config";
955 #address-cells = <1>;
956 #size-cells = <0>;
957 status = "disabled";
958 };
959
960 uart3: serial@88c000 {
961 compatible = "qcom,geni-uart";
962 reg = <0 0x0088c000 0 0x4000>;
963 clocks = <&gcc GCC_QUPV3_WRAP0_S3_CLK>;
964 clock-names = "se";
965 interrupts = <GIC_SPI 604 IRQ_TYPE_LEVEL_HIGH>;
966 interconnects = <&qup_virt MASTER_QUP_CORE_0 0 &qup_virt SLAVE_QUP_CORE_0 0>,
967 <&gem_noc MASTER_AMPSS_M0 0 &config_noc SLAVE_QUP_0 0>;
968 interconnect-names = "qup-core", "qup-config";
969 status = "disabled";
970 };
971
972 i2c4: i2c@890000 {
973 compatible = "qcom,geni-i2c";
974 reg = <0 0x00890000 0 0x4000>;
975 clocks = <&gcc GCC_QUPV3_WRAP0_S4_CLK>;
976 clock-names = "se";
977 interrupts = <GIC_SPI 605 IRQ_TYPE_LEVEL_HIGH>;
978 interconnects = <&qup_virt MASTER_QUP_CORE_0 0 &qup_virt SLAVE_QUP_CORE_0 0>,
979 <&gem_noc MASTER_AMPSS_M0 0 &config_noc SLAVE_QUP_0 0>,
980 <&aggre2_noc MASTER_QUP_0 0 &mc_virt SLAVE_EBI_CH0 0>;
981 interconnect-names = "qup-core", "qup-config", "qup-memory";
982 #address-cells = <1>;
983 #size-cells = <0>;
984 status = "disabled";
985 };
986
987 spi4: spi@890000 {
988 compatible = "qcom,geni-spi";
989 reg = <0 0x00890000 0 0x4000>;
990 clocks = <&gcc GCC_QUPV3_WRAP0_S4_CLK>;
991 clock-names = "se";
992 interrupts = <GIC_SPI 605 IRQ_TYPE_LEVEL_HIGH>;
993 interconnects = <&qup_virt MASTER_QUP_CORE_0 0 &qup_virt SLAVE_QUP_CORE_0 0>,
994 <&gem_noc MASTER_AMPSS_M0 0 &config_noc SLAVE_QUP_0 0>;
995 interconnect-names = "qup-core", "qup-config";
996 #address-cells = <1>;
997 #size-cells = <0>;
998 status = "disabled";
999 };
1000
1001 uart4: serial@890000 {
1002 compatible = "qcom,geni-uart";
1003 reg = <0 0x00890000 0 0x4000>;
1004 clocks = <&gcc GCC_QUPV3_WRAP0_S4_CLK>;
1005 clock-names = "se";
1006 interrupts = <GIC_SPI 605 IRQ_TYPE_LEVEL_HIGH>;
1007 interconnects = <&qup_virt MASTER_QUP_CORE_0 0 &qup_virt SLAVE_QUP_CORE_0 0>,
1008 <&gem_noc MASTER_AMPSS_M0 0 &config_noc SLAVE_QUP_0 0>;
1009 interconnect-names = "qup-core", "qup-config";
1010 status = "disabled";
1011 };
1012
1013 i2c5: i2c@894000 {
1014 compatible = "qcom,geni-i2c";
1015 reg = <0 0x00894000 0 0x4000>;
1016 clocks = <&gcc GCC_QUPV3_WRAP0_S5_CLK>;
1017 clock-names = "se";
1018 interrupts = <GIC_SPI 606 IRQ_TYPE_LEVEL_HIGH>;
1019 interconnects = <&qup_virt MASTER_QUP_CORE_0 0 &qup_virt SLAVE_QUP_CORE_0 0>,
1020 <&gem_noc MASTER_AMPSS_M0 0 &config_noc SLAVE_QUP_0 0>,
1021 <&aggre2_noc MASTER_QUP_0 0 &mc_virt SLAVE_EBI_CH0 0>;
1022 interconnect-names = "qup-core", "qup-config", "qup-memory";
1023 #address-cells = <1>;
1024 #size-cells = <0>;
1025 status = "disabled";
1026 };
1027
1028 spi5: spi@894000 {
1029 compatible = "qcom,geni-spi";
1030 reg = <0 0x00894000 0 0x4000>;
1031 clocks = <&gcc GCC_QUPV3_WRAP0_S5_CLK>;
1032 clock-names = "se";
1033 interrupts = <GIC_SPI 606 IRQ_TYPE_LEVEL_HIGH>;
1034 interconnects = <&qup_virt MASTER_QUP_CORE_0 0 &qup_virt SLAVE_QUP_CORE_0 0>,
1035 <&gem_noc MASTER_AMPSS_M0 0 &config_noc SLAVE_QUP_0 0>;
1036 interconnect-names = "qup-core", "qup-config";
1037 #address-cells = <1>;
1038 #size-cells = <0>;
1039 status = "disabled";
1040 };
1041
1042 uart5: serial@894000 {
1043 compatible = "qcom,geni-uart";
1044 reg = <0 0x00894000 0 0x4000>;
1045 clocks = <&gcc GCC_QUPV3_WRAP0_S5_CLK>;
1046 clock-names = "se";
1047 interrupts = <GIC_SPI 606 IRQ_TYPE_LEVEL_HIGH>;
1048 interconnects = <&qup_virt MASTER_QUP_CORE_0 0 &qup_virt SLAVE_QUP_CORE_0 0>,
1049 <&gem_noc MASTER_AMPSS_M0 0 &config_noc SLAVE_QUP_0 0>;
1050 interconnect-names = "qup-core", "qup-config";
1051 status = "disabled";
1052 };
1053
1054 i2c6: i2c@898000 {
1055 compatible = "qcom,geni-i2c";
1056 reg = <0 0x00898000 0 0x4000>;
1057 clocks = <&gcc GCC_QUPV3_WRAP0_S6_CLK>;
1058 clock-names = "se";
1059 interrupts = <GIC_SPI 607 IRQ_TYPE_LEVEL_HIGH>;
1060 interconnects = <&qup_virt MASTER_QUP_CORE_0 0 &qup_virt SLAVE_QUP_CORE_0 0>,
1061 <&gem_noc MASTER_AMPSS_M0 0 &config_noc SLAVE_QUP_0 0>,
1062 <&aggre2_noc MASTER_QUP_0 0 &mc_virt SLAVE_EBI_CH0 0>;
1063 interconnect-names = "qup-core", "qup-config", "qup-memory";
1064 #address-cells = <1>;
1065 #size-cells = <0>;
1066 status = "disabled";
1067 };
1068
1069 spi6: spi@898000 {
1070 compatible = "qcom,geni-spi";
1071 reg = <0 0x00898000 0 0x4000>;
1072 clocks = <&gcc GCC_QUPV3_WRAP0_S6_CLK>;
1073 clock-names = "se";
1074 interrupts = <GIC_SPI 607 IRQ_TYPE_LEVEL_HIGH>;
1075 interconnects = <&qup_virt MASTER_QUP_CORE_0 0 &qup_virt SLAVE_QUP_CORE_0 0>,
1076 <&gem_noc MASTER_AMPSS_M0 0 &config_noc SLAVE_QUP_0 0>;
1077 interconnect-names = "qup-core", "qup-config";
1078 #address-cells = <1>;
1079 #size-cells = <0>;
1080 status = "disabled";
1081 };
1082
1083 uart6: serial@898000 {
1084 compatible = "qcom,geni-uart";
1085 reg = <0 0x00898000 0 0x4000>;
1086 clocks = <&gcc GCC_QUPV3_WRAP0_S6_CLK>;
1087 clock-names = "se";
1088 interrupts = <GIC_SPI 607 IRQ_TYPE_LEVEL_HIGH>;
1089 interconnects = <&qup_virt MASTER_QUP_CORE_0 0 &qup_virt SLAVE_QUP_CORE_0 0>,
1090 <&gem_noc MASTER_AMPSS_M0 0 &config_noc SLAVE_QUP_0 0>;
1091 interconnect-names = "qup-core", "qup-config";
1092 status = "disabled";
1093 };
1094
1095 i2c7: i2c@89c000 {
1096 compatible = "qcom,geni-i2c";
1097 reg = <0 0x0089c000 0 0x4000>;
1098 clocks = <&gcc GCC_QUPV3_WRAP0_S7_CLK>;
1099 clock-names = "se";
1100 interrupts = <GIC_SPI 608 IRQ_TYPE_LEVEL_HIGH>;
1101 interconnects = <&qup_virt MASTER_QUP_CORE_0 0 &qup_virt SLAVE_QUP_CORE_0 0>,
1102 <&gem_noc MASTER_AMPSS_M0 0 &config_noc SLAVE_QUP_0 0>,
1103 <&aggre2_noc MASTER_QUP_0 0 &mc_virt SLAVE_EBI_CH0 0>;
1104 interconnect-names = "qup-core", "qup-config", "qup-memory";
1105 #address-cells = <1>;
1106 #size-cells = <0>;
1107 status = "disabled";
1108 };
1109
1110 spi7: spi@89c000 {
1111 compatible = "qcom,geni-spi";
1112 reg = <0 0x0089c000 0 0x4000>;
1113 clocks = <&gcc GCC_QUPV3_WRAP0_S7_CLK>;
1114 clock-names = "se";
1115 interrupts = <GIC_SPI 608 IRQ_TYPE_LEVEL_HIGH>;
1116 interconnects = <&qup_virt MASTER_QUP_CORE_0 0 &qup_virt SLAVE_QUP_CORE_0 0>,
1117 <&gem_noc MASTER_AMPSS_M0 0 &config_noc SLAVE_QUP_0 0>;
1118 interconnect-names = "qup-core", "qup-config";
1119 #address-cells = <1>;
1120 #size-cells = <0>;
1121 status = "disabled";
1122 };
1123
1124 uart7: serial@89c000 {
1125 compatible = "qcom,geni-uart";
1126 reg = <0 0x0089c000 0 0x4000>;
1127 clocks = <&gcc GCC_QUPV3_WRAP0_S7_CLK>;
1128 clock-names = "se";
1129 interrupts = <GIC_SPI 608 IRQ_TYPE_LEVEL_HIGH>;
1130 interconnects = <&qup_virt MASTER_QUP_CORE_0 0 &qup_virt SLAVE_QUP_CORE_0 0>,
1131 <&gem_noc MASTER_AMPSS_M0 0 &config_noc SLAVE_QUP_0 0>;
1132 interconnect-names = "qup-core", "qup-config";
1133 status = "disabled";
1134 };
1135 };
1136
1137 qupv3_id_1: geniqup@ac0000 {
1138 compatible = "qcom,geni-se-qup";
1139 reg = <0x0 0x00ac0000 0x0 0x6000>;
1140 clocks = <&gcc GCC_QUPV3_WRAP_1_M_AHB_CLK>,
1141 <&gcc GCC_QUPV3_WRAP_1_S_AHB_CLK>;
1142 clock-names = "m-ahb", "s-ahb";
1143 #address-cells = <2>;
1144 #size-cells = <2>;
1145 ranges;
1146 iommus = <&apps_smmu 0x603 0>;
1147 status = "disabled";
1148
1149 i2c8: i2c@a80000 {
1150 compatible = "qcom,geni-i2c";
1151 reg = <0 0x00a80000 0 0x4000>;
1152 clocks = <&gcc GCC_QUPV3_WRAP1_S0_CLK>;
1153 clock-names = "se";
1154 interrupts = <GIC_SPI 353 IRQ_TYPE_LEVEL_HIGH>;
1155 interconnects = <&qup_virt MASTER_QUP_CORE_1 0 &qup_virt SLAVE_QUP_CORE_1 0>,
1156 <&gem_noc MASTER_AMPSS_M0 0 &config_noc SLAVE_QUP_1 0>,
1157 <&aggre2_noc MASTER_QUP_1 0 &mc_virt SLAVE_EBI_CH0 0>;
1158 interconnect-names = "qup-core", "qup-config", "qup-memory";
1159 #address-cells = <1>;
1160 #size-cells = <0>;
1161 status = "disabled";
1162 };
1163
1164 spi8: spi@a80000 {
1165 compatible = "qcom,geni-spi";
1166 reg = <0 0x00a80000 0 0x4000>;
1167 clocks = <&gcc GCC_QUPV3_WRAP1_S0_CLK>;
1168 clock-names = "se";
1169 interrupts = <GIC_SPI 353 IRQ_TYPE_LEVEL_HIGH>;
1170 interconnects = <&qup_virt MASTER_QUP_CORE_1 0 &qup_virt SLAVE_QUP_CORE_1 0>,
1171 <&gem_noc MASTER_AMPSS_M0 0 &config_noc SLAVE_QUP_1 0>;
1172 interconnect-names = "qup-core", "qup-config";
1173 #address-cells = <1>;
1174 #size-cells = <0>;
1175 status = "disabled";
1176 };
1177
1178 uart8: serial@a80000 {
1179 compatible = "qcom,geni-uart";
1180 reg = <0 0x00a80000 0 0x4000>;
1181 clocks = <&gcc GCC_QUPV3_WRAP1_S0_CLK>;
1182 clock-names = "se";
1183 interrupts = <GIC_SPI 353 IRQ_TYPE_LEVEL_HIGH>;
1184 interconnects = <&qup_virt MASTER_QUP_CORE_1 0 &qup_virt SLAVE_QUP_CORE_1 0>,
1185 <&gem_noc MASTER_AMPSS_M0 0 &config_noc SLAVE_QUP_1 0>;
1186 interconnect-names = "qup-core", "qup-config";
1187 status = "disabled";
1188 };
1189
1190 i2c9: i2c@a84000 {
1191 compatible = "qcom,geni-i2c";
1192 reg = <0 0x00a84000 0 0x4000>;
1193 clocks = <&gcc GCC_QUPV3_WRAP1_S1_CLK>;
1194 clock-names = "se";
1195 interrupts = <GIC_SPI 354 IRQ_TYPE_LEVEL_HIGH>;
1196 interconnects = <&qup_virt MASTER_QUP_CORE_1 0 &qup_virt SLAVE_QUP_CORE_1 0>,
1197 <&gem_noc MASTER_AMPSS_M0 0 &config_noc SLAVE_QUP_1 0>,
1198 <&aggre2_noc MASTER_QUP_1 0 &mc_virt SLAVE_EBI_CH0 0>;
1199 interconnect-names = "qup-core", "qup-config", "qup-memory";
1200 #address-cells = <1>;
1201 #size-cells = <0>;
1202 status = "disabled";
1203 };
1204
1205 spi9: spi@a84000 {
1206 compatible = "qcom,geni-spi";
1207 reg = <0 0x00a84000 0 0x4000>;
1208 clocks = <&gcc GCC_QUPV3_WRAP1_S1_CLK>;
1209 clock-names = "se";
1210 interrupts = <GIC_SPI 354 IRQ_TYPE_LEVEL_HIGH>;
1211 interconnects = <&qup_virt MASTER_QUP_CORE_1 0 &qup_virt SLAVE_QUP_CORE_1 0>,
1212 <&gem_noc MASTER_AMPSS_M0 0 &config_noc SLAVE_QUP_1 0>;
1213 interconnect-names = "qup-core", "qup-config";
1214 #address-cells = <1>;
1215 #size-cells = <0>;
1216 status = "disabled";
1217 };
1218
1219 uart9: serial@a84000 {
1220 compatible = "qcom,geni-debug-uart";
1221 reg = <0 0x00a84000 0 0x4000>;
1222 clocks = <&gcc GCC_QUPV3_WRAP1_S1_CLK>;
1223 clock-names = "se";
1224 interrupts = <GIC_SPI 354 IRQ_TYPE_LEVEL_HIGH>;
1225 interconnects = <&qup_virt MASTER_QUP_CORE_1 0 &qup_virt SLAVE_QUP_CORE_1 0>,
1226 <&gem_noc MASTER_AMPSS_M0 0 &config_noc SLAVE_QUP_1 0>;
1227 interconnect-names = "qup-core", "qup-config";
1228 status = "disabled";
1229 };
1230
1231 i2c10: i2c@a88000 {
1232 compatible = "qcom,geni-i2c";
1233 reg = <0 0x00a88000 0 0x4000>;
1234 clocks = <&gcc GCC_QUPV3_WRAP1_S2_CLK>;
1235 clock-names = "se";
1236 interrupts = <GIC_SPI 355 IRQ_TYPE_LEVEL_HIGH>;
1237 interconnects = <&qup_virt MASTER_QUP_CORE_1 0 &qup_virt SLAVE_QUP_CORE_1 0>,
1238 <&gem_noc MASTER_AMPSS_M0 0 &config_noc SLAVE_QUP_1 0>,
1239 <&aggre2_noc MASTER_QUP_1 0 &mc_virt SLAVE_EBI_CH0 0>;
1240 interconnect-names = "qup-core", "qup-config", "qup-memory";
1241 #address-cells = <1>;
1242 #size-cells = <0>;
1243 status = "disabled";
1244 };
1245
1246 spi10: spi@a88000 {
1247 compatible = "qcom,geni-spi";
1248 reg = <0 0x00a88000 0 0x4000>;
1249 clocks = <&gcc GCC_QUPV3_WRAP1_S2_CLK>;
1250 clock-names = "se";
1251 interrupts = <GIC_SPI 355 IRQ_TYPE_LEVEL_HIGH>;
1252 interconnects = <&qup_virt MASTER_QUP_CORE_1 0 &qup_virt SLAVE_QUP_CORE_1 0>,
1253 <&gem_noc MASTER_AMPSS_M0 0 &config_noc SLAVE_QUP_1 0>;
1254 interconnect-names = "qup-core", "qup-config";
1255 #address-cells = <1>;
1256 #size-cells = <0>;
1257 status = "disabled";
1258 };
1259
1260 uart10: serial@a88000 {
1261 compatible = "qcom,geni-uart";
1262 reg = <0 0x00a88000 0 0x4000>;
1263 clocks = <&gcc GCC_QUPV3_WRAP1_S2_CLK>;
1264 clock-names = "se";
1265 interrupts = <GIC_SPI 355 IRQ_TYPE_LEVEL_HIGH>;
1266 interconnects = <&qup_virt MASTER_QUP_CORE_1 0 &qup_virt SLAVE_QUP_CORE_1 0>,
1267 <&gem_noc MASTER_AMPSS_M0 0 &config_noc SLAVE_QUP_1 0>;
1268 interconnect-names = "qup-core", "qup-config";
1269 status = "disabled";
1270 };
1271
1272 i2c11: i2c@a8c000 {
1273 compatible = "qcom,geni-i2c";
1274 reg = <0 0x00a8c000 0 0x4000>;
1275 clocks = <&gcc GCC_QUPV3_WRAP1_S3_CLK>;
1276 clock-names = "se";
1277 interrupts = <GIC_SPI 356 IRQ_TYPE_LEVEL_HIGH>;
1278 interconnects = <&qup_virt MASTER_QUP_CORE_1 0 &qup_virt SLAVE_QUP_CORE_1 0>,
1279 <&gem_noc MASTER_AMPSS_M0 0 &config_noc SLAVE_QUP_1 0>,
1280 <&aggre2_noc MASTER_QUP_1 0 &mc_virt SLAVE_EBI_CH0 0>;
1281 interconnect-names = "qup-core", "qup-config", "qup-memory";
1282 #address-cells = <1>;
1283 #size-cells = <0>;
1284 status = "disabled";
1285 };
1286
1287 spi11: spi@a8c000 {
1288 compatible = "qcom,geni-spi";
1289 reg = <0 0x00a8c000 0 0x4000>;
1290 clocks = <&gcc GCC_QUPV3_WRAP1_S3_CLK>;
1291 clock-names = "se";
1292 interrupts = <GIC_SPI 356 IRQ_TYPE_LEVEL_HIGH>;
1293 interconnects = <&qup_virt MASTER_QUP_CORE_1 0 &qup_virt SLAVE_QUP_CORE_1 0>,
1294 <&gem_noc MASTER_AMPSS_M0 0 &config_noc SLAVE_QUP_1 0>;
1295 interconnect-names = "qup-core", "qup-config";
1296 #address-cells = <1>;
1297 #size-cells = <0>;
1298 status = "disabled";
1299 };
1300
1301 uart11: serial@a8c000 {
1302 compatible = "qcom,geni-uart";
1303 reg = <0 0x00a8c000 0 0x4000>;
1304 clocks = <&gcc GCC_QUPV3_WRAP1_S3_CLK>;
1305 clock-names = "se";
1306 interrupts = <GIC_SPI 356 IRQ_TYPE_LEVEL_HIGH>;
1307 interconnects = <&qup_virt MASTER_QUP_CORE_1 0 &qup_virt SLAVE_QUP_CORE_1 0>,
1308 <&gem_noc MASTER_AMPSS_M0 0 &config_noc SLAVE_QUP_1 0>;
1309 interconnect-names = "qup-core", "qup-config";
1310 status = "disabled";
1311 };
1312
1313 i2c12: i2c@a90000 {
1314 compatible = "qcom,geni-i2c";
1315 reg = <0 0x00a90000 0 0x4000>;
1316 clocks = <&gcc GCC_QUPV3_WRAP1_S4_CLK>;
1317 clock-names = "se";
1318 interrupts = <GIC_SPI 357 IRQ_TYPE_LEVEL_HIGH>;
1319 interconnects = <&qup_virt MASTER_QUP_CORE_1 0 &qup_virt SLAVE_QUP_CORE_1 0>,
1320 <&gem_noc MASTER_AMPSS_M0 0 &config_noc SLAVE_QUP_1 0>,
1321 <&aggre2_noc MASTER_QUP_1 0 &mc_virt SLAVE_EBI_CH0 0>;
1322 interconnect-names = "qup-core", "qup-config", "qup-memory";
1323 #address-cells = <1>;
1324 #size-cells = <0>;
1325 status = "disabled";
1326 };
1327
1328 spi12: spi@a90000 {
1329 compatible = "qcom,geni-spi";
1330 reg = <0 0x00a90000 0 0x4000>;
1331 clocks = <&gcc GCC_QUPV3_WRAP1_S4_CLK>;
1332 clock-names = "se";
1333 interrupts = <GIC_SPI 357 IRQ_TYPE_LEVEL_HIGH>;
1334 interconnects = <&qup_virt MASTER_QUP_CORE_1 0 &qup_virt SLAVE_QUP_CORE_1 0>,
1335 <&gem_noc MASTER_AMPSS_M0 0 &config_noc SLAVE_QUP_1 0>;
1336 interconnect-names = "qup-core", "qup-config";
1337 #address-cells = <1>;
1338 #size-cells = <0>;
1339 status = "disabled";
1340 };
1341
1342 uart12: serial@a90000 {
1343 compatible = "qcom,geni-uart";
1344 reg = <0 0x00a90000 0 0x4000>;
1345 clocks = <&gcc GCC_QUPV3_WRAP1_S4_CLK>;
1346 clock-names = "se";
1347 interrupts = <GIC_SPI 357 IRQ_TYPE_LEVEL_HIGH>;
1348 interconnects = <&qup_virt MASTER_QUP_CORE_1 0 &qup_virt SLAVE_QUP_CORE_1 0>,
1349 <&gem_noc MASTER_AMPSS_M0 0 &config_noc SLAVE_QUP_1 0>;
1350 interconnect-names = "qup-core", "qup-config";
1351 status = "disabled";
1352 };
1353
1354 i2c16: i2c@a94000 {
1355 compatible = "qcom,geni-i2c";
1356 reg = <0 0x00a94000 0 0x4000>;
1357 clocks = <&gcc GCC_QUPV3_WRAP1_S5_CLK>;
1358 clock-names = "se";
1359 interrupts = <GIC_SPI 358 IRQ_TYPE_LEVEL_HIGH>;
1360 interconnects = <&qup_virt MASTER_QUP_CORE_1 0 &qup_virt SLAVE_QUP_CORE_1 0>,
1361 <&gem_noc MASTER_AMPSS_M0 0 &config_noc SLAVE_QUP_1 0>,
1362 <&aggre2_noc MASTER_QUP_1 0 &mc_virt SLAVE_EBI_CH0 0>;
1363 interconnect-names = "qup-core", "qup-config", "qup-memory";
1364 #address-cells = <1>;
1365 #size-cells = <0>;
1366 status = "disabled";
1367 };
1368
1369 spi16: spi@a94000 {
1370 compatible = "qcom,geni-spi";
1371 reg = <0 0x00a94000 0 0x4000>;
1372 clocks = <&gcc GCC_QUPV3_WRAP1_S5_CLK>;
1373 clock-names = "se";
1374 interrupts = <GIC_SPI 358 IRQ_TYPE_LEVEL_HIGH>;
1375 interconnects = <&qup_virt MASTER_QUP_CORE_1 0 &qup_virt SLAVE_QUP_CORE_1 0>,
1376 <&gem_noc MASTER_AMPSS_M0 0 &config_noc SLAVE_QUP_1 0>;
1377 interconnect-names = "qup-core", "qup-config";
1378 #address-cells = <1>;
1379 #size-cells = <0>;
1380 status = "disabled";
1381 };
1382
1383 uart16: serial@a94000 {
1384 compatible = "qcom,geni-uart";
1385 reg = <0 0x00a94000 0 0x4000>;
1386 clocks = <&gcc GCC_QUPV3_WRAP1_S5_CLK>;
1387 clock-names = "se";
1388 interrupts = <GIC_SPI 358 IRQ_TYPE_LEVEL_HIGH>;
1389 interconnects = <&qup_virt MASTER_QUP_CORE_1 0 &qup_virt SLAVE_QUP_CORE_1 0>,
1390 <&gem_noc MASTER_AMPSS_M0 0 &config_noc SLAVE_QUP_1 0>;
1391 interconnect-names = "qup-core", "qup-config";
1392 status = "disabled";
1393 };
1394 };
1395
1396 qupv3_id_2: geniqup@cc0000 {
1397 compatible = "qcom,geni-se-qup";
1398 reg = <0x0 0x00cc0000 0x0 0x6000>;
1399 clocks = <&gcc GCC_QUPV3_WRAP_2_M_AHB_CLK>,
1400 <&gcc GCC_QUPV3_WRAP_2_S_AHB_CLK>;
1401 clock-names = "m-ahb", "s-ahb";
1402 #address-cells = <2>;
1403 #size-cells = <2>;
1404 ranges;
1405 iommus = <&apps_smmu 0x7a3 0>;
1406 status = "disabled";
1407
1408 i2c17: i2c@c80000 {
1409 compatible = "qcom,geni-i2c";
1410 reg = <0 0x00c80000 0 0x4000>;
1411 clocks = <&gcc GCC_QUPV3_WRAP2_S0_CLK>;
1412 clock-names = "se";
1413 interrupts = <GIC_SPI 373 IRQ_TYPE_LEVEL_HIGH>;
1414 interconnects = <&qup_virt MASTER_QUP_CORE_2 0 &qup_virt SLAVE_QUP_CORE_2 0>,
1415 <&gem_noc MASTER_AMPSS_M0 0 &config_noc SLAVE_QUP_2 0>,
1416 <&aggre2_noc MASTER_QUP_2 0 &mc_virt SLAVE_EBI_CH0 0>;
1417 interconnect-names = "qup-core", "qup-config", "qup-memory";
1418 #address-cells = <1>;
1419 #size-cells = <0>;
1420 status = "disabled";
1421 };
1422
1423 spi17: spi@c80000 {
1424 compatible = "qcom,geni-spi";
1425 reg = <0 0x00c80000 0 0x4000>;
1426 clocks = <&gcc GCC_QUPV3_WRAP2_S0_CLK>;
1427 clock-names = "se";
1428 interrupts = <GIC_SPI 373 IRQ_TYPE_LEVEL_HIGH>;
1429 interconnects = <&qup_virt MASTER_QUP_CORE_2 0 &qup_virt SLAVE_QUP_CORE_2 0>,
1430 <&gem_noc MASTER_AMPSS_M0 0 &config_noc SLAVE_QUP_2 0>;
1431 interconnect-names = "qup-core", "qup-config";
1432 #address-cells = <1>;
1433 #size-cells = <0>;
1434 status = "disabled";
1435 };
1436
1437 uart17: serial@c80000 {
1438 compatible = "qcom,geni-uart";
1439 reg = <0 0x00c80000 0 0x4000>;
1440 clocks = <&gcc GCC_QUPV3_WRAP2_S0_CLK>;
1441 clock-names = "se";
1442 interrupts = <GIC_SPI 373 IRQ_TYPE_LEVEL_HIGH>;
1443 interconnects = <&qup_virt MASTER_QUP_CORE_2 0 &qup_virt SLAVE_QUP_CORE_2 0>,
1444 <&gem_noc MASTER_AMPSS_M0 0 &config_noc SLAVE_QUP_2 0>;
1445 interconnect-names = "qup-core", "qup-config";
1446 status = "disabled";
1447 };
1448
1449 i2c18: i2c@c84000 {
1450 compatible = "qcom,geni-i2c";
1451 reg = <0 0x00c84000 0 0x4000>;
1452 clocks = <&gcc GCC_QUPV3_WRAP2_S1_CLK>;
1453 clock-names = "se";
1454 interrupts = <GIC_SPI 583 IRQ_TYPE_LEVEL_HIGH>;
1455 interconnects = <&qup_virt MASTER_QUP_CORE_2 0 &qup_virt SLAVE_QUP_CORE_2 0>,
1456 <&gem_noc MASTER_AMPSS_M0 0 &config_noc SLAVE_QUP_2 0>,
1457 <&aggre2_noc MASTER_QUP_2 0 &mc_virt SLAVE_EBI_CH0 0>;
1458 interconnect-names = "qup-core", "qup-config", "qup-memory";
1459 #address-cells = <1>;
1460 #size-cells = <0>;
1461 status = "disabled";
1462 };
1463
1464 spi18: spi@c84000 {
1465 compatible = "qcom,geni-spi";
1466 reg = <0 0x00c84000 0 0x4000>;
1467 clocks = <&gcc GCC_QUPV3_WRAP2_S1_CLK>;
1468 clock-names = "se";
1469 interrupts = <GIC_SPI 583 IRQ_TYPE_LEVEL_HIGH>;
1470 interconnects = <&qup_virt MASTER_QUP_CORE_2 0 &qup_virt SLAVE_QUP_CORE_2 0>,
1471 <&gem_noc MASTER_AMPSS_M0 0 &config_noc SLAVE_QUP_2 0>;
1472 interconnect-names = "qup-core", "qup-config";
1473 #address-cells = <1>;
1474 #size-cells = <0>;
1475 status = "disabled";
1476 };
1477
1478 uart18: serial@c84000 {
1479 compatible = "qcom,geni-uart";
1480 reg = <0 0x00c84000 0 0x4000>;
1481 clocks = <&gcc GCC_QUPV3_WRAP2_S1_CLK>;
1482 clock-names = "se";
1483 interrupts = <GIC_SPI 583 IRQ_TYPE_LEVEL_HIGH>;
1484 interconnects = <&qup_virt MASTER_QUP_CORE_2 0 &qup_virt SLAVE_QUP_CORE_2 0>,
1485 <&gem_noc MASTER_AMPSS_M0 0 &config_noc SLAVE_QUP_2 0>;
1486 interconnect-names = "qup-core", "qup-config";
1487 status = "disabled";
1488 };
1489
1490 i2c19: i2c@c88000 {
1491 compatible = "qcom,geni-i2c";
1492 reg = <0 0x00c88000 0 0x4000>;
1493 clocks = <&gcc GCC_QUPV3_WRAP2_S2_CLK>;
1494 clock-names = "se";
1495 interrupts = <GIC_SPI 584 IRQ_TYPE_LEVEL_HIGH>;
1496 interconnects = <&qup_virt MASTER_QUP_CORE_2 0 &qup_virt SLAVE_QUP_CORE_2 0>,
1497 <&gem_noc MASTER_AMPSS_M0 0 &config_noc SLAVE_QUP_2 0>,
1498 <&aggre2_noc MASTER_QUP_2 0 &mc_virt SLAVE_EBI_CH0 0>;
1499 interconnect-names = "qup-core", "qup-config", "qup-memory";
1500 #address-cells = <1>;
1501 #size-cells = <0>;
1502 status = "disabled";
1503 };
1504
1505 spi19: spi@c88000 {
1506 compatible = "qcom,geni-spi";
1507 reg = <0 0x00c88000 0 0x4000>;
1508 clocks = <&gcc GCC_QUPV3_WRAP2_S2_CLK>;
1509 clock-names = "se";
1510 interrupts = <GIC_SPI 584 IRQ_TYPE_LEVEL_HIGH>;
1511 interconnects = <&qup_virt MASTER_QUP_CORE_2 0 &qup_virt SLAVE_QUP_CORE_2 0>,
1512 <&gem_noc MASTER_AMPSS_M0 0 &config_noc SLAVE_QUP_2 0>;
1513 interconnect-names = "qup-core", "qup-config";
1514 #address-cells = <1>;
1515 #size-cells = <0>;
1516 status = "disabled";
1517 };
1518
1519 uart19: serial@c88000 {
1520 compatible = "qcom,geni-uart";
1521 reg = <0 0x00c88000 0 0x4000>;
1522 clocks = <&gcc GCC_QUPV3_WRAP2_S2_CLK>;
1523 clock-names = "se";
1524 interrupts = <GIC_SPI 584 IRQ_TYPE_LEVEL_HIGH>;
1525 interconnects = <&qup_virt MASTER_QUP_CORE_2 0 &qup_virt SLAVE_QUP_CORE_2 0>,
1526 <&gem_noc MASTER_AMPSS_M0 0 &config_noc SLAVE_QUP_2 0>;
1527 interconnect-names = "qup-core", "qup-config";
1528 status = "disabled";
1529 };
1530
1531 i2c13: i2c@c8c000 {
1532 compatible = "qcom,geni-i2c";
1533 reg = <0 0x00c8c000 0 0x4000>;
1534 clocks = <&gcc GCC_QUPV3_WRAP2_S3_CLK>;
1535 clock-names = "se";
1536 interrupts = <GIC_SPI 585 IRQ_TYPE_LEVEL_HIGH>;
1537 interconnects = <&qup_virt MASTER_QUP_CORE_2 0 &qup_virt SLAVE_QUP_CORE_2 0>,
1538 <&gem_noc MASTER_AMPSS_M0 0 &config_noc SLAVE_QUP_2 0>,
1539 <&aggre2_noc MASTER_QUP_2 0 &mc_virt SLAVE_EBI_CH0 0>;
1540 interconnect-names = "qup-core", "qup-config", "qup-memory";
1541 #address-cells = <1>;
1542 #size-cells = <0>;
1543 status = "disabled";
1544 };
1545
1546 spi13: spi@c8c000 {
1547 compatible = "qcom,geni-spi";
1548 reg = <0 0x00c8c000 0 0x4000>;
1549 clocks = <&gcc GCC_QUPV3_WRAP2_S3_CLK>;
1550 clock-names = "se";
1551 interrupts = <GIC_SPI 585 IRQ_TYPE_LEVEL_HIGH>;
1552 interconnects = <&qup_virt MASTER_QUP_CORE_2 0 &qup_virt SLAVE_QUP_CORE_2 0>,
1553 <&gem_noc MASTER_AMPSS_M0 0 &config_noc SLAVE_QUP_2 0>;
1554 interconnect-names = "qup-core", "qup-config";
1555 #address-cells = <1>;
1556 #size-cells = <0>;
1557 status = "disabled";
1558 };
1559
1560 uart13: serial@c8c000 {
1561 compatible = "qcom,geni-uart";
1562 reg = <0 0x00c8c000 0 0x4000>;
1563 clocks = <&gcc GCC_QUPV3_WRAP2_S3_CLK>;
1564 clock-names = "se";
1565 interrupts = <GIC_SPI 585 IRQ_TYPE_LEVEL_HIGH>;
1566 interconnects = <&qup_virt MASTER_QUP_CORE_2 0 &qup_virt SLAVE_QUP_CORE_2 0>,
1567 <&gem_noc MASTER_AMPSS_M0 0 &config_noc SLAVE_QUP_2 0>;
1568 interconnect-names = "qup-core", "qup-config";
1569 status = "disabled";
1570 };
1571
1572 i2c14: i2c@c90000 {
1573 compatible = "qcom,geni-i2c";
1574 reg = <0 0x00c90000 0 0x4000>;
1575 clocks = <&gcc GCC_QUPV3_WRAP2_S4_CLK>;
1576 clock-names = "se";
1577 interrupts = <GIC_SPI 586 IRQ_TYPE_LEVEL_HIGH>;
1578 interconnects = <&qup_virt MASTER_QUP_CORE_2 0 &qup_virt SLAVE_QUP_CORE_2 0>,
1579 <&gem_noc MASTER_AMPSS_M0 0 &config_noc SLAVE_QUP_2 0>,
1580 <&aggre2_noc MASTER_QUP_2 0 &mc_virt SLAVE_EBI_CH0 0>;
1581 interconnect-names = "qup-core", "qup-config", "qup-memory";
1582 #address-cells = <1>;
1583 #size-cells = <0>;
1584 status = "disabled";
1585 };
1586
1587 spi14: spi@c90000 {
1588 compatible = "qcom,geni-spi";
1589 reg = <0 0x00c90000 0 0x4000>;
1590 clocks = <&gcc GCC_QUPV3_WRAP2_S4_CLK>;
1591 clock-names = "se";
1592 interrupts = <GIC_SPI 586 IRQ_TYPE_LEVEL_HIGH>;
1593 interconnects = <&qup_virt MASTER_QUP_CORE_2 0 &qup_virt SLAVE_QUP_CORE_2 0>,
1594 <&gem_noc MASTER_AMPSS_M0 0 &config_noc SLAVE_QUP_2 0>;
1595 interconnect-names = "qup-core", "qup-config";
1596 #address-cells = <1>;
1597 #size-cells = <0>;
1598 status = "disabled";
1599 };
1600
1601 uart14: serial@c90000 {
1602 compatible = "qcom,geni-uart";
1603 reg = <0 0x00c90000 0 0x4000>;
1604 clocks = <&gcc GCC_QUPV3_WRAP2_S4_CLK>;
1605 clock-names = "se";
1606 interrupts = <GIC_SPI 586 IRQ_TYPE_LEVEL_HIGH>;
1607 interconnects = <&qup_virt MASTER_QUP_CORE_2 0 &qup_virt SLAVE_QUP_CORE_2 0>,
1608 <&gem_noc MASTER_AMPSS_M0 0 &config_noc SLAVE_QUP_2 0>;
1609 interconnect-names = "qup-core", "qup-config";
1610 status = "disabled";
1611 };
1612
1613 i2c15: i2c@c94000 {
1614 compatible = "qcom,geni-i2c";
1615 reg = <0 0x00c94000 0 0x4000>;
1616 clocks = <&gcc GCC_QUPV3_WRAP2_S5_CLK>;
1617 clock-names = "se";
1618 interrupts = <GIC_SPI 587 IRQ_TYPE_LEVEL_HIGH>;
1619 interconnects = <&qup_virt MASTER_QUP_CORE_2 0 &qup_virt SLAVE_QUP_CORE_2 0>,
1620 <&gem_noc MASTER_AMPSS_M0 0 &config_noc SLAVE_QUP_2 0>,
1621 <&aggre2_noc MASTER_QUP_2 0 &mc_virt SLAVE_EBI_CH0 0>;
1622 interconnect-names = "qup-core", "qup-config", "qup-memory";
1623 #address-cells = <1>;
1624 #size-cells = <0>;
1625 status = "disabled";
1626 };
1627
1628 spi15: spi@c94000 {
1629 compatible = "qcom,geni-spi";
1630 reg = <0 0x00c94000 0 0x4000>;
1631 clocks = <&gcc GCC_QUPV3_WRAP2_S5_CLK>;
1632 clock-names = "se";
1633 interrupts = <GIC_SPI 587 IRQ_TYPE_LEVEL_HIGH>;
1634 interconnects = <&qup_virt MASTER_QUP_CORE_2 0 &qup_virt SLAVE_QUP_CORE_2 0>,
1635 <&gem_noc MASTER_AMPSS_M0 0 &config_noc SLAVE_QUP_2 0>;
1636 interconnect-names = "qup-core", "qup-config";
1637 #address-cells = <1>;
1638 #size-cells = <0>;
1639 status = "disabled";
1640 };
1641
1642 uart15: serial@c94000 {
1643 compatible = "qcom,geni-uart";
1644 reg = <0 0x00c94000 0 0x4000>;
1645 clocks = <&gcc GCC_QUPV3_WRAP2_S5_CLK>;
1646 clock-names = "se";
1647 interrupts = <GIC_SPI 587 IRQ_TYPE_LEVEL_HIGH>;
1648 interconnects = <&qup_virt MASTER_QUP_CORE_2 0 &qup_virt SLAVE_QUP_CORE_2 0>,
1649 <&gem_noc MASTER_AMPSS_M0 0 &config_noc SLAVE_QUP_2 0>;
1650 interconnect-names = "qup-core", "qup-config";
1651 status = "disabled";
1652 };
1653 };
1654
1655 config_noc: interconnect@1500000 {
1656 compatible = "qcom,sc8180x-config-noc";
1657 reg = <0 0x01500000 0 0x7400>;
1658 #interconnect-cells = <2>;
1659 qcom,bcm-voters = <&apps_bcm_voter>;
1660 };
1661
1662 system_noc: interconnect@1620000 {
1663 compatible = "qcom,sc8180x-system-noc";
1664 reg = <0 0x01620000 0 0x19400>;
1665 #interconnect-cells = <2>;
1666 qcom,bcm-voters = <&apps_bcm_voter>;
1667 };
1668
1669 aggre1_noc: interconnect@16e0000 {
1670 compatible = "qcom,sc8180x-aggre1-noc";
1671 reg = <0 0x016e0000 0 0xd080>;
1672 #interconnect-cells = <2>;
1673 qcom,bcm-voters = <&apps_bcm_voter>;
1674 };
1675
1676 aggre2_noc: interconnect@1700000 {
1677 compatible = "qcom,sc8180x-aggre2-noc";
1678 reg = <0 0x01700000 0 0x20000>;
1679 #interconnect-cells = <2>;
1680 qcom,bcm-voters = <&apps_bcm_voter>;
1681 };
1682
1683 compute_noc: interconnect@1720000 {
1684 compatible = "qcom,sc8180x-compute-noc";
1685 reg = <0 0x01720000 0 0x7000>;
1686 #interconnect-cells = <2>;
1687 qcom,bcm-voters = <&apps_bcm_voter>;
1688 };
1689
1690 mmss_noc: interconnect@1740000 {
1691 compatible = "qcom,sc8180x-mmss-noc";
1692 reg = <0 0x01740000 0 0x1c100>;
1693 #interconnect-cells = <2>;
1694 qcom,bcm-voters = <&apps_bcm_voter>;
1695 };
1696
Tom Rini93743d22024-04-01 09:08:13 -04001697 pcie0: pcie@1c00000 {
Tom Rini53633a82024-02-29 12:33:36 -05001698 compatible = "qcom,pcie-sc8180x";
1699 reg = <0 0x01c00000 0 0x3000>,
1700 <0 0x60000000 0 0xf1d>,
1701 <0 0x60000f20 0 0xa8>,
1702 <0 0x60001000 0 0x1000>,
1703 <0 0x60100000 0 0x100000>;
1704 reg-names = "parf",
1705 "dbi",
1706 "elbi",
1707 "atu",
1708 "config";
1709 device_type = "pci";
1710 linux,pci-domain = <0>;
1711 bus-range = <0x00 0xff>;
1712 num-lanes = <2>;
1713
1714 #address-cells = <3>;
1715 #size-cells = <2>;
1716
1717 ranges = <0x01000000 0x0 0x60200000 0x0 0x60200000 0x0 0x100000>,
1718 <0x02000000 0x0 0x60300000 0x0 0x60300000 0x0 0x3d00000>;
1719
Tom Rini6bb92fc2024-05-20 09:54:58 -06001720 interrupts = <GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>,
1721 <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>,
1722 <GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>,
1723 <GIC_SPI 144 IRQ_TYPE_LEVEL_HIGH>,
1724 <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>,
1725 <GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>,
1726 <GIC_SPI 147 IRQ_TYPE_LEVEL_HIGH>,
1727 <GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>;
1728 interrupt-names = "msi0",
1729 "msi1",
1730 "msi2",
1731 "msi3",
1732 "msi4",
1733 "msi5",
1734 "msi6",
1735 "msi7";
Tom Rini53633a82024-02-29 12:33:36 -05001736 #interrupt-cells = <1>;
1737 interrupt-map-mask = <0 0 0 0x7>;
1738 interrupt-map = <0 0 0 1 &intc 0 149 IRQ_TYPE_LEVEL_HIGH>, /* int_a */
1739 <0 0 0 2 &intc 0 150 IRQ_TYPE_LEVEL_HIGH>, /* int_b */
1740 <0 0 0 3 &intc 0 151 IRQ_TYPE_LEVEL_HIGH>, /* int_c */
1741 <0 0 0 4 &intc 0 152 IRQ_TYPE_LEVEL_HIGH>; /* int_d */
1742
1743 clocks = <&gcc GCC_PCIE_0_PIPE_CLK>,
1744 <&gcc GCC_PCIE_0_AUX_CLK>,
1745 <&gcc GCC_PCIE_0_CFG_AHB_CLK>,
1746 <&gcc GCC_PCIE_0_MSTR_AXI_CLK>,
1747 <&gcc GCC_PCIE_0_SLV_AXI_CLK>,
1748 <&gcc GCC_PCIE_0_SLV_Q2A_AXI_CLK>,
1749 <&gcc GCC_PCIE_0_CLKREF_CLK>,
1750 <&gcc GCC_AGGRE_NOC_PCIE_TBU_CLK>;
1751 clock-names = "pipe",
1752 "aux",
1753 "cfg",
1754 "bus_master",
1755 "bus_slave",
1756 "slave_q2a",
1757 "ref",
1758 "tbu";
1759
1760 assigned-clocks = <&gcc GCC_PCIE_0_AUX_CLK>;
1761 assigned-clock-rates = <19200000>;
1762
Tom Rini53633a82024-02-29 12:33:36 -05001763 iommu-map = <0x0 &apps_smmu 0x1d80 0x1>,
1764 <0x100 &apps_smmu 0x1d81 0x1>;
1765
1766 resets = <&gcc GCC_PCIE_0_BCR>;
1767 reset-names = "pci";
1768
1769 power-domains = <&gcc PCIE_0_GDSC>;
1770
1771 interconnects = <&aggre2_noc MASTER_PCIE 0 &mc_virt SLAVE_EBI_CH0 0>,
1772 <&gem_noc MASTER_AMPSS_M0 0 &config_noc SLAVE_PCIE_0 0>;
1773 interconnect-names = "pcie-mem", "cpu-pcie";
1774
1775 phys = <&pcie0_phy>;
1776 phy-names = "pciephy";
Tom Rini93743d22024-04-01 09:08:13 -04001777 dma-coherent;
Tom Rini53633a82024-02-29 12:33:36 -05001778
1779 status = "disabled";
1780 };
1781
1782 pcie0_phy: phy@1c06000 {
1783 compatible = "qcom,sc8180x-qmp-pcie-phy";
1784 reg = <0 0x01c06000 0 0x1000>;
1785 clocks = <&gcc GCC_PCIE_PHY_AUX_CLK>,
1786 <&gcc GCC_PCIE_0_CFG_AHB_CLK>,
1787 <&gcc GCC_PCIE_0_CLKREF_CLK>,
Tom Rini93743d22024-04-01 09:08:13 -04001788 <&gcc GCC_PCIE0_PHY_REFGEN_CLK>,
Tom Rini53633a82024-02-29 12:33:36 -05001789 <&gcc GCC_PCIE_0_PIPE_CLK>;
1790 clock-names = "aux",
1791 "cfg_ahb",
1792 "ref",
1793 "refgen",
1794 "pipe";
1795 #clock-cells = <0>;
1796 clock-output-names = "pcie_0_pipe_clk";
1797 #phy-cells = <0>;
1798
1799 resets = <&gcc GCC_PCIE_0_PHY_BCR>;
1800 reset-names = "phy";
1801
1802 assigned-clocks = <&gcc GCC_PCIE0_PHY_REFGEN_CLK>;
1803 assigned-clock-rates = <100000000>;
1804
1805 status = "disabled";
1806 };
1807
Tom Rini93743d22024-04-01 09:08:13 -04001808 pcie3: pcie@1c08000 {
Tom Rini53633a82024-02-29 12:33:36 -05001809 compatible = "qcom,pcie-sc8180x";
1810 reg = <0 0x01c08000 0 0x3000>,
1811 <0 0x40000000 0 0xf1d>,
1812 <0 0x40000f20 0 0xa8>,
1813 <0 0x40001000 0 0x1000>,
1814 <0 0x40100000 0 0x100000>;
1815 reg-names = "parf",
1816 "dbi",
1817 "elbi",
1818 "atu",
1819 "config";
1820 device_type = "pci";
1821 linux,pci-domain = <3>;
1822 bus-range = <0x00 0xff>;
1823 num-lanes = <2>;
1824
1825 #address-cells = <3>;
1826 #size-cells = <2>;
1827
1828 ranges = <0x01000000 0x0 0x40200000 0x0 0x40200000 0x0 0x100000>,
1829 <0x02000000 0x0 0x40300000 0x0 0x40300000 0x0 0x1fd00000>;
1830
Tom Rini6bb92fc2024-05-20 09:54:58 -06001831 interrupts = <GIC_SPI 307 IRQ_TYPE_LEVEL_HIGH>,
1832 <GIC_SPI 308 IRQ_TYPE_LEVEL_HIGH>,
1833 <GIC_SPI 309 IRQ_TYPE_LEVEL_HIGH>,
1834 <GIC_SPI 312 IRQ_TYPE_LEVEL_HIGH>,
1835 <GIC_SPI 313 IRQ_TYPE_LEVEL_HIGH>,
1836 <GIC_SPI 314 IRQ_TYPE_LEVEL_HIGH>,
1837 <GIC_SPI 374 IRQ_TYPE_LEVEL_HIGH>,
1838 <GIC_SPI 375 IRQ_TYPE_LEVEL_HIGH>;
1839 interrupt-names = "msi0",
1840 "msi1",
1841 "msi2",
1842 "msi3",
1843 "msi4",
1844 "msi5",
1845 "msi6",
1846 "msi7";
Tom Rini53633a82024-02-29 12:33:36 -05001847 #interrupt-cells = <1>;
1848 interrupt-map-mask = <0 0 0 0x7>;
1849 interrupt-map = <0 0 0 1 &intc 0 434 IRQ_TYPE_LEVEL_HIGH>, /* int_a */
1850 <0 0 0 2 &intc 0 435 IRQ_TYPE_LEVEL_HIGH>, /* int_b */
1851 <0 0 0 3 &intc 0 438 IRQ_TYPE_LEVEL_HIGH>, /* int_c */
1852 <0 0 0 4 &intc 0 439 IRQ_TYPE_LEVEL_HIGH>; /* int_d */
1853
1854 clocks = <&gcc GCC_PCIE_3_PIPE_CLK>,
1855 <&gcc GCC_PCIE_3_AUX_CLK>,
1856 <&gcc GCC_PCIE_3_CFG_AHB_CLK>,
1857 <&gcc GCC_PCIE_3_MSTR_AXI_CLK>,
1858 <&gcc GCC_PCIE_3_SLV_AXI_CLK>,
1859 <&gcc GCC_PCIE_3_SLV_Q2A_AXI_CLK>,
1860 <&gcc GCC_PCIE_3_CLKREF_CLK>,
1861 <&gcc GCC_AGGRE_NOC_PCIE_TBU_CLK>;
1862 clock-names = "pipe",
1863 "aux",
1864 "cfg",
1865 "bus_master",
1866 "bus_slave",
1867 "slave_q2a",
1868 "ref",
1869 "tbu";
1870
1871 assigned-clocks = <&gcc GCC_PCIE_3_AUX_CLK>;
1872 assigned-clock-rates = <19200000>;
1873
Tom Rini53633a82024-02-29 12:33:36 -05001874 iommu-map = <0x0 &apps_smmu 0x1e00 0x1>,
1875 <0x100 &apps_smmu 0x1e01 0x1>;
1876
1877 resets = <&gcc GCC_PCIE_3_BCR>;
1878 reset-names = "pci";
1879
1880 power-domains = <&gcc PCIE_3_GDSC>;
1881
1882 interconnects = <&aggre2_noc MASTER_PCIE_3 0 &mc_virt SLAVE_EBI_CH0 0>,
1883 <&gem_noc MASTER_AMPSS_M0 0 &config_noc SLAVE_PCIE_0 0>;
1884 interconnect-names = "pcie-mem", "cpu-pcie";
1885
1886 phys = <&pcie3_phy>;
1887 phy-names = "pciephy";
Tom Rini93743d22024-04-01 09:08:13 -04001888 dma-coherent;
Tom Rini53633a82024-02-29 12:33:36 -05001889
1890 status = "disabled";
1891 };
1892
1893 pcie3_phy: phy@1c0c000 {
1894 compatible = "qcom,sc8180x-qmp-pcie-phy";
1895 reg = <0 0x01c0c000 0 0x1000>;
1896 clocks = <&gcc GCC_PCIE_PHY_AUX_CLK>,
1897 <&gcc GCC_PCIE_3_CFG_AHB_CLK>,
1898 <&gcc GCC_PCIE_3_CLKREF_CLK>,
Tom Rini93743d22024-04-01 09:08:13 -04001899 <&gcc GCC_PCIE3_PHY_REFGEN_CLK>,
Tom Rini53633a82024-02-29 12:33:36 -05001900 <&gcc GCC_PCIE_3_PIPE_CLK>;
1901 clock-names = "aux",
1902 "cfg_ahb",
1903 "ref",
1904 "refgen",
1905 "pipe";
1906 #clock-cells = <0>;
1907 clock-output-names = "pcie_3_pipe_clk";
1908
1909 #phy-cells = <0>;
1910
1911 resets = <&gcc GCC_PCIE_3_PHY_BCR>;
1912 reset-names = "phy";
1913
1914 assigned-clocks = <&gcc GCC_PCIE3_PHY_REFGEN_CLK>;
1915 assigned-clock-rates = <100000000>;
1916
1917 status = "disabled";
1918 };
1919
Tom Rini93743d22024-04-01 09:08:13 -04001920 pcie1: pcie@1c10000 {
Tom Rini53633a82024-02-29 12:33:36 -05001921 compatible = "qcom,pcie-sc8180x";
1922 reg = <0 0x01c10000 0 0x3000>,
1923 <0 0x68000000 0 0xf1d>,
1924 <0 0x68000f20 0 0xa8>,
1925 <0 0x68001000 0 0x1000>,
1926 <0 0x68100000 0 0x100000>;
1927 reg-names = "parf",
1928 "dbi",
1929 "elbi",
1930 "atu",
1931 "config";
1932 device_type = "pci";
1933 linux,pci-domain = <1>;
1934 bus-range = <0x00 0xff>;
1935 num-lanes = <2>;
1936
1937 #address-cells = <3>;
1938 #size-cells = <2>;
1939
1940 ranges = <0x01000000 0x0 0x68200000 0x0 0x68200000 0x0 0x100000>,
1941 <0x02000000 0x0 0x68300000 0x0 0x68300000 0x0 0x3d00000>;
1942
Tom Rini6bb92fc2024-05-20 09:54:58 -06001943 interrupts = <GIC_SPI 756 IRQ_TYPE_LEVEL_HIGH>,
1944 <GIC_SPI 755 IRQ_TYPE_LEVEL_HIGH>,
1945 <GIC_SPI 754 IRQ_TYPE_LEVEL_HIGH>,
1946 <GIC_SPI 753 IRQ_TYPE_LEVEL_HIGH>,
1947 <GIC_SPI 752 IRQ_TYPE_LEVEL_HIGH>,
1948 <GIC_SPI 751 IRQ_TYPE_LEVEL_HIGH>,
1949 <GIC_SPI 750 IRQ_TYPE_LEVEL_HIGH>,
1950 <GIC_SPI 749 IRQ_TYPE_LEVEL_HIGH>;
1951 interrupt-names = "msi0",
1952 "msi1",
1953 "msi2",
1954 "msi3",
1955 "msi4",
1956 "msi5",
1957 "msi6",
1958 "msi7";
Tom Rini53633a82024-02-29 12:33:36 -05001959 #interrupt-cells = <1>;
1960 interrupt-map-mask = <0 0 0 0x7>;
1961 interrupt-map = <0 0 0 1 &intc 0 747 IRQ_TYPE_LEVEL_HIGH>, /* int_a */
1962 <0 0 0 2 &intc 0 746 IRQ_TYPE_LEVEL_HIGH>, /* int_b */
1963 <0 0 0 3 &intc 0 745 IRQ_TYPE_LEVEL_HIGH>, /* int_c */
1964 <0 0 0 4 &intc 0 744 IRQ_TYPE_LEVEL_HIGH>; /* int_d */
1965
1966 clocks = <&gcc GCC_PCIE_1_PIPE_CLK>,
1967 <&gcc GCC_PCIE_1_AUX_CLK>,
1968 <&gcc GCC_PCIE_1_CFG_AHB_CLK>,
1969 <&gcc GCC_PCIE_1_MSTR_AXI_CLK>,
1970 <&gcc GCC_PCIE_1_SLV_AXI_CLK>,
1971 <&gcc GCC_PCIE_1_SLV_Q2A_AXI_CLK>,
1972 <&gcc GCC_PCIE_1_CLKREF_CLK>,
1973 <&gcc GCC_AGGRE_NOC_PCIE_TBU_CLK>;
1974 clock-names = "pipe",
1975 "aux",
1976 "cfg",
1977 "bus_master",
1978 "bus_slave",
1979 "slave_q2a",
1980 "ref",
1981 "tbu";
1982
1983 assigned-clocks = <&gcc GCC_PCIE_1_AUX_CLK>;
1984 assigned-clock-rates = <19200000>;
1985
Tom Rini53633a82024-02-29 12:33:36 -05001986 iommu-map = <0x0 &apps_smmu 0x1c80 0x1>,
1987 <0x100 &apps_smmu 0x1c81 0x1>;
1988
1989 resets = <&gcc GCC_PCIE_1_BCR>;
1990 reset-names = "pci";
1991
1992 power-domains = <&gcc PCIE_1_GDSC>;
1993
1994 interconnects = <&aggre2_noc MASTER_PCIE_1 0 &mc_virt SLAVE_EBI_CH0 0>,
1995 <&gem_noc MASTER_AMPSS_M0 0 &config_noc SLAVE_PCIE_0 0>;
1996 interconnect-names = "pcie-mem", "cpu-pcie";
1997
1998 phys = <&pcie1_phy>;
1999 phy-names = "pciephy";
Tom Rini93743d22024-04-01 09:08:13 -04002000 dma-coherent;
Tom Rini53633a82024-02-29 12:33:36 -05002001
2002 status = "disabled";
2003 };
2004
2005 pcie1_phy: phy@1c16000 {
2006 compatible = "qcom,sc8180x-qmp-pcie-phy";
2007 reg = <0 0x01c16000 0 0x1000>;
2008 clocks = <&gcc GCC_PCIE_PHY_AUX_CLK>,
2009 <&gcc GCC_PCIE_1_CFG_AHB_CLK>,
2010 <&gcc GCC_PCIE_1_CLKREF_CLK>,
2011 <&gcc GCC_PCIE1_PHY_REFGEN_CLK>,
2012 <&gcc GCC_PCIE_1_PIPE_CLK>;
2013 clock-names = "aux",
2014 "cfg_ahb",
2015 "ref",
2016 "refgen",
2017 "pipe";
2018 #clock-cells = <0>;
2019 clock-output-names = "pcie_1_pipe_clk";
2020
2021 #phy-cells = <0>;
2022
2023 resets = <&gcc GCC_PCIE_1_PHY_BCR>;
2024 reset-names = "phy";
2025
2026 assigned-clocks = <&gcc GCC_PCIE1_PHY_REFGEN_CLK>;
2027 assigned-clock-rates = <100000000>;
2028
2029 status = "disabled";
2030 };
2031
Tom Rini93743d22024-04-01 09:08:13 -04002032 pcie2: pcie@1c18000 {
Tom Rini53633a82024-02-29 12:33:36 -05002033 compatible = "qcom,pcie-sc8180x";
2034 reg = <0 0x01c18000 0 0x3000>,
2035 <0 0x70000000 0 0xf1d>,
2036 <0 0x70000f20 0 0xa8>,
2037 <0 0x70001000 0 0x1000>,
2038 <0 0x70100000 0 0x100000>;
2039 reg-names = "parf",
2040 "dbi",
2041 "elbi",
2042 "atu",
2043 "config";
2044 device_type = "pci";
2045 linux,pci-domain = <2>;
2046 bus-range = <0x00 0xff>;
2047 num-lanes = <4>;
2048
2049 #address-cells = <3>;
2050 #size-cells = <2>;
2051
2052 ranges = <0x01000000 0x0 0x70200000 0x0 0x70200000 0x0 0x100000>,
2053 <0x02000000 0x0 0x70300000 0x0 0x70300000 0x0 0x3d00000>;
2054
Tom Rini6bb92fc2024-05-20 09:54:58 -06002055 interrupts = <GIC_SPI 672 IRQ_TYPE_LEVEL_HIGH>,
2056 <GIC_SPI 671 IRQ_TYPE_LEVEL_HIGH>,
2057 <GIC_SPI 670 IRQ_TYPE_LEVEL_HIGH>,
2058 <GIC_SPI 669 IRQ_TYPE_LEVEL_HIGH>,
2059 <GIC_SPI 668 IRQ_TYPE_LEVEL_HIGH>,
2060 <GIC_SPI 667 IRQ_TYPE_LEVEL_HIGH>,
2061 <GIC_SPI 666 IRQ_TYPE_LEVEL_HIGH>,
2062 <GIC_SPI 665 IRQ_TYPE_LEVEL_HIGH>;
2063 interrupt-names = "msi0",
2064 "msi1",
2065 "msi2",
2066 "msi3",
2067 "msi4",
2068 "msi5",
2069 "msi6",
2070 "msi7";
Tom Rini53633a82024-02-29 12:33:36 -05002071 #interrupt-cells = <1>;
2072 interrupt-map-mask = <0 0 0 0x7>;
2073 interrupt-map = <0 0 0 1 &intc 0 663 IRQ_TYPE_LEVEL_HIGH>, /* int_a */
2074 <0 0 0 2 &intc 0 662 IRQ_TYPE_LEVEL_HIGH>, /* int_b */
2075 <0 0 0 3 &intc 0 661 IRQ_TYPE_LEVEL_HIGH>, /* int_c */
2076 <0 0 0 4 &intc 0 660 IRQ_TYPE_LEVEL_HIGH>; /* int_d */
2077
2078 clocks = <&gcc GCC_PCIE_2_PIPE_CLK>,
2079 <&gcc GCC_PCIE_2_AUX_CLK>,
2080 <&gcc GCC_PCIE_2_CFG_AHB_CLK>,
2081 <&gcc GCC_PCIE_2_MSTR_AXI_CLK>,
2082 <&gcc GCC_PCIE_2_SLV_AXI_CLK>,
2083 <&gcc GCC_PCIE_2_SLV_Q2A_AXI_CLK>,
2084 <&gcc GCC_PCIE_2_CLKREF_CLK>,
2085 <&gcc GCC_AGGRE_NOC_PCIE_TBU_CLK>;
2086 clock-names = "pipe",
2087 "aux",
2088 "cfg",
2089 "bus_master",
2090 "bus_slave",
2091 "slave_q2a",
2092 "ref",
2093 "tbu";
2094
2095 assigned-clocks = <&gcc GCC_PCIE_2_AUX_CLK>;
2096 assigned-clock-rates = <19200000>;
2097
Tom Rini53633a82024-02-29 12:33:36 -05002098 iommu-map = <0x0 &apps_smmu 0x1d00 0x1>,
2099 <0x100 &apps_smmu 0x1d01 0x1>;
2100
2101 resets = <&gcc GCC_PCIE_2_BCR>;
2102 reset-names = "pci";
2103
2104 power-domains = <&gcc PCIE_2_GDSC>;
2105
2106 interconnects = <&aggre2_noc MASTER_PCIE_2 0 &mc_virt SLAVE_EBI_CH0 0>,
2107 <&gem_noc MASTER_AMPSS_M0 0 &config_noc SLAVE_PCIE_0 0>;
2108 interconnect-names = "pcie-mem", "cpu-pcie";
2109
2110 phys = <&pcie2_phy>;
2111 phy-names = "pciephy";
Tom Rini93743d22024-04-01 09:08:13 -04002112 dma-coherent;
Tom Rini53633a82024-02-29 12:33:36 -05002113
2114 status = "disabled";
2115 };
2116
2117 pcie2_phy: phy@1c1c000 {
2118 compatible = "qcom,sc8180x-qmp-pcie-phy";
2119 reg = <0 0x01c1c000 0 0x1000>;
2120 clocks = <&gcc GCC_PCIE_PHY_AUX_CLK>,
2121 <&gcc GCC_PCIE_2_CFG_AHB_CLK>,
2122 <&gcc GCC_PCIE_2_CLKREF_CLK>,
2123 <&gcc GCC_PCIE2_PHY_REFGEN_CLK>,
2124 <&gcc GCC_PCIE_2_PIPE_CLK>;
2125 clock-names = "aux",
2126 "cfg_ahb",
2127 "ref",
2128 "refgen",
2129 "pipe";
2130 #clock-cells = <0>;
Tom Rini93743d22024-04-01 09:08:13 -04002131 clock-output-names = "pcie_2_pipe_clk";
Tom Rini53633a82024-02-29 12:33:36 -05002132
2133 #phy-cells = <0>;
2134
2135 resets = <&gcc GCC_PCIE_2_PHY_BCR>;
2136 reset-names = "phy";
2137
2138 assigned-clocks = <&gcc GCC_PCIE2_PHY_REFGEN_CLK>;
2139 assigned-clock-rates = <100000000>;
2140
2141 status = "disabled";
2142 };
2143
2144 ufs_mem_hc: ufshc@1d84000 {
2145 compatible = "qcom,sc8180x-ufshc", "qcom,ufshc",
2146 "jedec,ufs-2.0";
2147 reg = <0 0x01d84000 0 0x2500>;
2148 interrupts = <GIC_SPI 265 IRQ_TYPE_LEVEL_HIGH>;
2149 phys = <&ufs_mem_phy>;
2150 phy-names = "ufsphy";
2151 lanes-per-direction = <2>;
2152 #reset-cells = <1>;
2153 resets = <&gcc GCC_UFS_PHY_BCR>;
2154 reset-names = "rst";
2155
2156 iommus = <&apps_smmu 0x300 0>;
2157
2158 clocks = <&gcc GCC_UFS_PHY_AXI_CLK>,
2159 <&gcc GCC_AGGRE_UFS_PHY_AXI_CLK>,
2160 <&gcc GCC_UFS_PHY_AHB_CLK>,
2161 <&gcc GCC_UFS_PHY_UNIPRO_CORE_CLK>,
2162 <&rpmhcc RPMH_CXO_CLK>,
2163 <&gcc GCC_UFS_PHY_TX_SYMBOL_0_CLK>,
2164 <&gcc GCC_UFS_PHY_RX_SYMBOL_0_CLK>,
2165 <&gcc GCC_UFS_PHY_RX_SYMBOL_1_CLK>;
2166 clock-names = "core_clk",
2167 "bus_aggr_clk",
2168 "iface_clk",
2169 "core_clk_unipro",
2170 "ref_clk",
2171 "tx_lane0_sync_clk",
2172 "rx_lane0_sync_clk",
2173 "rx_lane1_sync_clk";
2174 freq-table-hz = <37500000 300000000>,
2175 <0 0>,
2176 <0 0>,
2177 <37500000 300000000>,
2178 <0 0>,
2179 <0 0>,
2180 <0 0>,
2181 <0 0>;
2182
Tom Rini93743d22024-04-01 09:08:13 -04002183 power-domains = <&gcc UFS_PHY_GDSC>;
2184
2185 interconnects = <&aggre1_noc MASTER_UFS_MEM QCOM_ICC_TAG_ALWAYS
2186 &mc_virt SLAVE_EBI_CH0 QCOM_ICC_TAG_ALWAYS>,
2187 <&gem_noc MASTER_AMPSS_M0 QCOM_ICC_TAG_ALWAYS
2188 &config_noc SLAVE_UFS_MEM_0_CFG QCOM_ICC_TAG_ALWAYS>;
2189 interconnect-names = "ufs-ddr", "cpu-ufs";
2190
Tom Rini53633a82024-02-29 12:33:36 -05002191 status = "disabled";
2192 };
2193
2194 ufs_mem_phy: phy-wrapper@1d87000 {
2195 compatible = "qcom,sc8180x-qmp-ufs-phy";
2196 reg = <0 0x01d87000 0 0x1000>;
2197
2198 clocks = <&rpmhcc RPMH_CXO_CLK>,
Tom Rini6bb92fc2024-05-20 09:54:58 -06002199 <&gcc GCC_UFS_PHY_PHY_AUX_CLK>,
2200 <&gcc GCC_UFS_MEM_CLKREF_EN>;
Tom Rini53633a82024-02-29 12:33:36 -05002201 clock-names = "ref",
Tom Rini6bb92fc2024-05-20 09:54:58 -06002202 "ref_aux",
2203 "qref";
Tom Rini53633a82024-02-29 12:33:36 -05002204
2205 resets = <&ufs_mem_hc 0>;
2206 reset-names = "ufsphy";
2207
2208 #phy-cells = <0>;
2209
2210 status = "disabled";
2211 };
2212
2213 ipa_virt: interconnect@1e00000 {
2214 compatible = "qcom,sc8180x-ipa-virt";
2215 reg = <0 0x01e00000 0 0x1000>;
2216 #interconnect-cells = <2>;
2217 qcom,bcm-voters = <&apps_bcm_voter>;
2218 };
2219
2220 tcsr_mutex: hwlock@1f40000 {
2221 compatible = "qcom,tcsr-mutex";
2222 reg = <0x0 0x01f40000 0x0 0x40000>;
2223 #hwlock-cells = <1>;
2224 };
2225
2226 gpu: gpu@2c00000 {
2227 compatible = "qcom,adreno-680.1", "qcom,adreno";
2228 #stream-id-cells = <16>;
2229
2230 reg = <0 0x02c00000 0 0x40000>;
2231 reg-names = "kgsl_3d0_reg_memory";
2232
2233 interrupts = <GIC_SPI 300 IRQ_TYPE_LEVEL_HIGH>;
2234
2235 iommus = <&adreno_smmu 0 0xc01>;
2236
2237 operating-points-v2 = <&gpu_opp_table>;
2238
2239 interconnects = <&gem_noc MASTER_GRAPHICS_3D 0 &mc_virt SLAVE_EBI_CH0 0>;
2240 interconnect-names = "gfx-mem";
2241
2242 qcom,gmu = <&gmu>;
Tom Rini6bb92fc2024-05-20 09:54:58 -06002243 #cooling-cells = <2>;
2244
Tom Rini53633a82024-02-29 12:33:36 -05002245 status = "disabled";
2246
2247 gpu_opp_table: opp-table {
2248 compatible = "operating-points-v2";
2249
2250 opp-514000000 {
2251 opp-hz = /bits/ 64 <514000000>;
2252 opp-level = <RPMH_REGULATOR_LEVEL_TURBO_L1>;
2253 };
2254
2255 opp-500000000 {
2256 opp-hz = /bits/ 64 <500000000>;
2257 opp-level = <RPMH_REGULATOR_LEVEL_TURBO>;
2258 };
2259
2260 opp-461000000 {
2261 opp-hz = /bits/ 64 <461000000>;
2262 opp-level = <RPMH_REGULATOR_LEVEL_NOM_L1>;
2263 };
2264
2265 opp-405000000 {
2266 opp-hz = /bits/ 64 <405000000>;
2267 opp-level = <RPMH_REGULATOR_LEVEL_NOM>;
2268 };
2269
2270 opp-315000000 {
2271 opp-hz = /bits/ 64 <315000000>;
2272 opp-level = <RPMH_REGULATOR_LEVEL_SVS_L1>;
2273 };
2274
2275 opp-256000000 {
2276 opp-hz = /bits/ 64 <256000000>;
2277 opp-level = <RPMH_REGULATOR_LEVEL_SVS>;
2278 };
2279
2280 opp-177000000 {
2281 opp-hz = /bits/ 64 <177000000>;
2282 opp-level = <RPMH_REGULATOR_LEVEL_LOW_SVS>;
2283 };
2284 };
2285 };
2286
2287 gmu: gmu@2c6a000 {
2288 compatible = "qcom,adreno-gmu-680.1", "qcom,adreno-gmu";
2289
2290 reg = <0 0x02c6a000 0 0x30000>,
2291 <0 0x0b290000 0 0x10000>,
2292 <0 0x0b490000 0 0x10000>;
2293 reg-names = "gmu",
2294 "gmu_pdc",
2295 "gmu_pdc_seq";
2296
2297 interrupts = <GIC_SPI 304 IRQ_TYPE_LEVEL_HIGH>,
2298 <GIC_SPI 305 IRQ_TYPE_LEVEL_HIGH>;
2299 interrupt-names = "hfi", "gmu";
2300
2301 clocks = <&gpucc GPU_CC_AHB_CLK>,
2302 <&gpucc GPU_CC_CX_GMU_CLK>,
2303 <&gpucc GPU_CC_CXO_CLK>,
2304 <&gcc GCC_DDRSS_GPU_AXI_CLK>,
2305 <&gcc GCC_GPU_MEMNOC_GFX_CLK>;
2306 clock-names = "ahb", "gmu", "cxo", "axi", "memnoc";
2307
2308 power-domains = <&gpucc GPU_CX_GDSC>,
2309 <&gpucc GPU_GX_GDSC>;
2310 power-domain-names = "cx", "gx";
2311
2312 iommus = <&adreno_smmu 5 0xc00>;
2313
2314 operating-points-v2 = <&gmu_opp_table>;
2315
2316 gmu_opp_table: opp-table {
2317 compatible = "operating-points-v2";
2318
2319 opp-200000000 {
2320 opp-hz = /bits/ 64 <200000000>;
2321 opp-level = <RPMH_REGULATOR_LEVEL_MIN_SVS>;
2322 };
2323
2324 opp-500000000 {
2325 opp-hz = /bits/ 64 <500000000>;
2326 opp-level = <RPMH_REGULATOR_LEVEL_SVS_L1>;
2327 };
2328 };
2329 };
2330
2331 gpucc: clock-controller@2c90000 {
2332 compatible = "qcom,sc8180x-gpucc";
2333 reg = <0 0x02c90000 0 0x9000>;
2334 clocks = <&rpmhcc RPMH_CXO_CLK>,
2335 <&gcc GCC_GPU_GPLL0_CLK_SRC>,
2336 <&gcc GCC_GPU_GPLL0_DIV_CLK_SRC>;
2337 clock-names = "bi_tcxo",
2338 "gcc_gpu_gpll0_clk_src",
2339 "gcc_gpu_gpll0_div_clk_src";
2340 #clock-cells = <1>;
2341 #reset-cells = <1>;
2342 #power-domain-cells = <1>;
2343 };
2344
2345 adreno_smmu: iommu@2ca0000 {
2346 compatible = "qcom,sc8180x-smmu-500", "qcom,adreno-smmu",
2347 "qcom,smmu-500", "arm,mmu-500";
2348 reg = <0 0x02ca0000 0 0x10000>;
2349 #iommu-cells = <2>;
2350 #global-interrupts = <1>;
2351 interrupts = <GIC_SPI 674 IRQ_TYPE_LEVEL_HIGH>,
2352 <GIC_SPI 681 IRQ_TYPE_LEVEL_HIGH>,
2353 <GIC_SPI 682 IRQ_TYPE_LEVEL_HIGH>,
2354 <GIC_SPI 683 IRQ_TYPE_LEVEL_HIGH>,
2355 <GIC_SPI 684 IRQ_TYPE_LEVEL_HIGH>,
2356 <GIC_SPI 685 IRQ_TYPE_LEVEL_HIGH>,
2357 <GIC_SPI 686 IRQ_TYPE_LEVEL_HIGH>,
2358 <GIC_SPI 687 IRQ_TYPE_LEVEL_HIGH>,
2359 <GIC_SPI 688 IRQ_TYPE_LEVEL_HIGH>;
2360 clocks = <&gpucc GPU_CC_AHB_CLK>,
2361 <&gcc GCC_GPU_MEMNOC_GFX_CLK>,
2362 <&gcc GCC_GPU_SNOC_DVM_GFX_CLK>;
2363 clock-names = "ahb", "bus", "iface";
2364
2365 power-domains = <&gpucc GPU_CX_GDSC>;
2366 };
2367
2368 tlmm: pinctrl@3100000 {
2369 compatible = "qcom,sc8180x-tlmm";
2370 reg = <0 0x03100000 0 0x300000>,
2371 <0 0x03500000 0 0x700000>,
2372 <0 0x03d00000 0 0x300000>;
2373 reg-names = "west", "east", "south";
2374 interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>;
2375 gpio-controller;
2376 #gpio-cells = <2>;
2377 interrupt-controller;
2378 #interrupt-cells = <2>;
2379 gpio-ranges = <&tlmm 0 0 191>;
2380 wakeup-parent = <&pdc>;
2381 };
2382
2383 remoteproc_mpss: remoteproc@4080000 {
2384 compatible = "qcom,sc8180x-mpss-pas";
2385 reg = <0x0 0x04080000 0x0 0x4040>;
2386
2387 interrupts-extended = <&intc GIC_SPI 266 IRQ_TYPE_EDGE_RISING>,
2388 <&modem_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
2389 <&modem_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
2390 <&modem_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
2391 <&modem_smp2p_in 3 IRQ_TYPE_EDGE_RISING>,
2392 <&modem_smp2p_in 7 IRQ_TYPE_EDGE_RISING>;
2393 interrupt-names = "wdog", "fatal", "ready", "handover",
2394 "stop-ack", "shutdown-ack";
2395
2396 clocks = <&rpmhcc RPMH_CXO_CLK>;
2397 clock-names = "xo";
2398
2399 power-domains = <&rpmhpd SC8180X_CX>,
2400 <&rpmhpd SC8180X_MSS>;
2401 power-domain-names = "cx", "mss";
2402
2403 qcom,qmp = <&aoss_qmp>;
2404
2405 qcom,smem-states = <&modem_smp2p_out 0>;
2406 qcom,smem-state-names = "stop";
2407
2408 glink-edge {
2409 interrupts = <GIC_SPI 449 IRQ_TYPE_EDGE_RISING>;
2410 label = "modem";
2411 qcom,remote-pid = <1>;
2412 mboxes = <&apss_shared 12>;
2413 };
2414 };
2415
2416 remoteproc_cdsp: remoteproc@8300000 {
2417 compatible = "qcom,sc8180x-cdsp-pas";
2418 reg = <0x0 0x08300000 0x0 0x4040>;
2419
2420 interrupts-extended = <&intc GIC_SPI 578 IRQ_TYPE_EDGE_RISING>,
2421 <&cdsp_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
2422 <&cdsp_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
2423 <&cdsp_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
2424 <&cdsp_smp2p_in 3 IRQ_TYPE_EDGE_RISING>;
2425 interrupt-names = "wdog", "fatal", "ready",
2426 "handover", "stop-ack";
2427
2428 clocks = <&rpmhcc RPMH_CXO_CLK>;
2429 clock-names = "xo";
2430
2431 power-domains = <&rpmhpd SC8180X_CX>;
2432 power-domain-names = "cx";
2433
2434 qcom,qmp = <&aoss_qmp>;
2435
2436 qcom,smem-states = <&cdsp_smp2p_out 0>;
2437 qcom,smem-state-names = "stop";
2438
2439 status = "disabled";
2440
2441 glink-edge {
2442 interrupts = <GIC_SPI 574 IRQ_TYPE_EDGE_RISING>;
2443 label = "cdsp";
2444 qcom,remote-pid = <5>;
2445 mboxes = <&apss_shared 4>;
2446 };
2447 };
2448
2449 usb_prim_hsphy: phy@88e2000 {
2450 compatible = "qcom,sc8180x-usb-hs-phy",
2451 "qcom,usb-snps-hs-7nm-phy";
2452 reg = <0 0x088e2000 0 0x400>;
2453 clocks = <&rpmhcc RPMH_CXO_CLK>;
2454 clock-names = "ref";
2455 resets = <&gcc GCC_QUSB2PHY_PRIM_BCR>;
2456
2457 #phy-cells = <0>;
2458
2459 status = "disabled";
2460 };
2461
2462 usb_sec_hsphy: phy@88e3000 {
2463 compatible = "qcom,sc8180x-usb-hs-phy",
2464 "qcom,usb-snps-hs-7nm-phy";
2465 reg = <0 0x088e3000 0 0x400>;
2466 clocks = <&rpmhcc RPMH_CXO_CLK>;
2467 clock-names = "ref";
2468 resets = <&gcc GCC_QUSB2PHY_SEC_BCR>;
2469
2470 #phy-cells = <0>;
2471
2472 status = "disabled";
2473 };
2474
2475 usb_prim_qmpphy: phy@88e9000 {
2476 compatible = "qcom,sc8180x-qmp-usb3-dp-phy";
2477 reg = <0 0x088e9000 0 0x18c>,
2478 <0 0x088e8000 0 0x38>,
2479 <0 0x088ea000 0 0x40>;
2480 reg-names = "reg-base", "dp_com";
2481 clocks = <&gcc GCC_USB3_PRIM_PHY_AUX_CLK>,
2482 <&rpmhcc RPMH_CXO_CLK>,
2483 <&gcc GCC_USB3_PRIM_CLKREF_CLK>,
2484 <&gcc GCC_USB3_PRIM_PHY_COM_AUX_CLK>;
2485 clock-names = "aux",
2486 "ref_clk_src",
2487 "ref",
2488 "com_aux";
2489 resets = <&gcc GCC_USB3_DP_PHY_PRIM_SP0_BCR>,
2490 <&gcc GCC_USB3_PHY_PRIM_SP0_BCR>;
2491 reset-names = "phy", "common";
2492
2493 #clock-cells = <1>;
2494 #address-cells = <2>;
2495 #size-cells = <2>;
2496 ranges;
2497
2498 status = "disabled";
2499
2500 ports {
2501 #address-cells = <1>;
2502 #size-cells = <0>;
2503
2504 port@0 {
2505 reg = <0>;
2506
2507 usb_prim_qmpphy_out: endpoint {};
2508 };
2509
2510 port@2 {
2511 reg = <2>;
2512
2513 usb_prim_qmpphy_dp_in: endpoint {};
2514 };
2515 };
2516
2517 usb_prim_ssphy: usb3-phy@88e9200 {
2518 reg = <0 0x088e9200 0 0x200>,
2519 <0 0x088e9400 0 0x200>,
2520 <0 0x088e9c00 0 0x218>,
2521 <0 0x088e9600 0 0x200>,
2522 <0 0x088e9800 0 0x200>,
2523 <0 0x088e9a00 0 0x100>;
2524 #phy-cells = <0>;
2525 clocks = <&gcc GCC_USB3_PRIM_PHY_PIPE_CLK>;
2526 clock-names = "pipe0";
2527 clock-output-names = "usb3_prim_phy_pipe_clk_src";
2528 };
2529
2530 usb_prim_dpphy: dp-phy@88ea200 {
2531 reg = <0 0x088ea200 0 0x200>,
2532 <0 0x088ea400 0 0x200>,
2533 <0 0x088eaa00 0 0x200>,
2534 <0 0x088ea600 0 0x200>,
2535 <0 0x088ea800 0 0x200>;
2536 #clock-cells = <1>;
2537 #phy-cells = <0>;
2538 };
2539 };
2540
2541 usb_sec_qmpphy: phy@88ee000 {
2542 compatible = "qcom,sc8180x-qmp-usb3-dp-phy";
2543 reg = <0 0x088ee000 0 0x18c>,
2544 <0 0x088ed000 0 0x10>,
2545 <0 0x088ef000 0 0x40>;
2546 reg-names = "reg-base", "dp_com";
2547 clocks = <&gcc GCC_USB3_SEC_PHY_AUX_CLK>,
2548 <&rpmhcc RPMH_CXO_CLK>,
2549 <&gcc GCC_USB3_SEC_CLKREF_CLK>,
2550 <&gcc GCC_USB3_SEC_PHY_COM_AUX_CLK>;
2551 clock-names = "aux",
2552 "ref_clk_src",
2553 "ref",
2554 "com_aux";
2555 resets = <&gcc GCC_USB3_DP_PHY_SEC_BCR>,
2556 <&gcc GCC_USB3_PHY_SEC_BCR>;
2557 reset-names = "phy", "common";
2558
2559 #clock-cells = <1>;
2560 #address-cells = <2>;
2561 #size-cells = <2>;
2562 ranges;
2563
2564 status = "disabled";
2565
2566 ports {
2567 #address-cells = <1>;
2568 #size-cells = <0>;
2569
2570 port@0 {
2571 reg = <0>;
2572
2573 usb_sec_qmpphy_out: endpoint {};
2574 };
2575
2576 port@2 {
2577 reg = <2>;
2578
2579 usb_sec_qmpphy_dp_in: endpoint {};
2580 };
2581 };
2582
2583 usb_sec_ssphy: usb3-phy@88e9200 {
2584 reg = <0 0x088ee200 0 0x200>,
2585 <0 0x088ee400 0 0x200>,
2586 <0 0x088eec00 0 0x218>,
2587 <0 0x088ee600 0 0x200>,
2588 <0 0x088ee800 0 0x200>,
2589 <0 0x088eea00 0 0x100>;
2590 #phy-cells = <0>;
2591 clocks = <&gcc GCC_USB3_SEC_PHY_PIPE_CLK>;
2592 clock-names = "pipe0";
2593 clock-output-names = "usb3_sec_phy_pipe_clk_src";
2594 };
2595
2596 usb_sec_dpphy: dp-phy@88ef200 {
2597 reg = <0 0x088ef200 0 0x200>,
2598 <0 0x088ef400 0 0x200>,
2599 <0 0x088efa00 0 0x200>,
2600 <0 0x088ef600 0 0x200>,
2601 <0 0x088ef800 0 0x200>;
2602 #clock-cells = <1>;
2603 #phy-cells = <0>;
2604 clock-output-names = "qmp_dptx1_phy_pll_link_clk",
2605 "qmp_dptx1_phy_pll_vco_div_clk";
2606 };
2607 };
2608
2609 system-cache-controller@9200000 {
2610 compatible = "qcom,sc8180x-llcc";
2611 reg = <0 0x09200000 0 0x50000>, <0 0x09280000 0 0x50000>,
2612 <0 0x09300000 0 0x50000>, <0 0x09380000 0 0x50000>,
2613 <0 0x09600000 0 0x50000>;
2614 reg-names = "llcc0_base", "llcc1_base", "llcc2_base",
2615 "llcc3_base", "llcc_broadcast_base";
2616 interrupts = <GIC_SPI 582 IRQ_TYPE_LEVEL_HIGH>;
2617 };
2618
2619 gem_noc: interconnect@9680000 {
2620 compatible = "qcom,sc8180x-gem-noc";
2621 reg = <0 0x09680000 0 0x58200>;
2622 #interconnect-cells = <2>;
2623 qcom,bcm-voters = <&apps_bcm_voter>;
2624 };
2625
2626 usb_prim: usb@a6f8800 {
2627 compatible = "qcom,sc8180x-dwc3", "qcom,dwc3";
2628 reg = <0 0x0a6f8800 0 0x400>;
Tom Rini93743d22024-04-01 09:08:13 -04002629 interrupts-extended = <&intc GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>,
2630 <&pdc 6 IRQ_TYPE_LEVEL_HIGH>,
2631 <&pdc 8 IRQ_TYPE_EDGE_BOTH>,
2632 <&pdc 9 IRQ_TYPE_EDGE_BOTH>;
Tom Rini53633a82024-02-29 12:33:36 -05002633 interrupt-names = "hs_phy_irq",
2634 "ss_phy_irq",
2635 "dm_hs_phy_irq",
2636 "dp_hs_phy_irq";
2637
2638 clocks = <&gcc GCC_CFG_NOC_USB3_PRIM_AXI_CLK>,
2639 <&gcc GCC_USB30_PRIM_MASTER_CLK>,
2640 <&gcc GCC_AGGRE_USB3_PRIM_AXI_CLK>,
2641 <&gcc GCC_USB30_PRIM_SLEEP_CLK>,
2642 <&gcc GCC_USB30_PRIM_MOCK_UTMI_CLK>,
2643 <&gcc GCC_USB3_SEC_CLKREF_CLK>;
2644 clock-names = "cfg_noc",
2645 "core",
2646 "iface",
2647 "sleep",
2648 "mock_utmi",
2649 "xo";
2650 resets = <&gcc GCC_USB30_PRIM_BCR>;
2651 power-domains = <&gcc USB30_PRIM_GDSC>;
2652
2653 interconnects = <&aggre1_noc MASTER_USB3 0 &mc_virt SLAVE_EBI_CH0 0>,
2654 <&gem_noc MASTER_AMPSS_M0 0 &config_noc SLAVE_USB3 0>;
2655 interconnect-names = "usb-ddr", "apps-usb";
2656
2657 assigned-clocks = <&gcc GCC_USB30_PRIM_MOCK_UTMI_CLK>,
2658 <&gcc GCC_USB30_PRIM_MASTER_CLK>;
2659 assigned-clock-rates = <19200000>, <200000000>;
2660
2661 #address-cells = <2>;
2662 #size-cells = <2>;
2663 ranges;
2664 dma-ranges;
2665
2666 status = "disabled";
2667
2668 usb_prim_dwc3: usb@a600000 {
2669 compatible = "snps,dwc3";
2670 reg = <0 0x0a600000 0 0xcd00>;
2671 interrupts = <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>;
2672 iommus = <&apps_smmu 0x140 0>;
2673 snps,dis_u2_susphy_quirk;
2674 snps,dis_enblslpm_quirk;
2675 phys = <&usb_prim_hsphy>, <&usb_prim_ssphy>;
2676 phy-names = "usb2-phy", "usb3-phy";
2677
2678 port {
2679 usb_prim_role_switch: endpoint {
2680 };
2681 };
2682 };
2683 };
2684
2685 usb_sec: usb@a8f8800 {
2686 compatible = "qcom,sc8180x-dwc3", "qcom,dwc3";
2687 reg = <0 0x0a8f8800 0 0x400>;
2688
2689 clocks = <&gcc GCC_CFG_NOC_USB3_SEC_AXI_CLK>,
2690 <&gcc GCC_USB30_SEC_MASTER_CLK>,
2691 <&gcc GCC_AGGRE_USB3_SEC_AXI_CLK>,
2692 <&gcc GCC_USB30_SEC_SLEEP_CLK>,
2693 <&gcc GCC_USB30_SEC_MOCK_UTMI_CLK>,
2694 <&gcc GCC_USB3_SEC_CLKREF_CLK>;
2695 clock-names = "cfg_noc",
2696 "core",
2697 "iface",
2698 "sleep",
2699 "mock_utmi",
2700 "xo";
2701 resets = <&gcc GCC_USB30_SEC_BCR>;
2702 power-domains = <&gcc USB30_SEC_GDSC>;
Tom Rini93743d22024-04-01 09:08:13 -04002703 interrupts-extended = <&intc GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>,
Tom Rini6bb92fc2024-05-20 09:54:58 -06002704 <&pdc 40 IRQ_TYPE_LEVEL_HIGH>,
Tom Rini93743d22024-04-01 09:08:13 -04002705 <&pdc 10 IRQ_TYPE_EDGE_BOTH>,
2706 <&pdc 11 IRQ_TYPE_EDGE_BOTH>;
Tom Rini53633a82024-02-29 12:33:36 -05002707 interrupt-names = "hs_phy_irq", "ss_phy_irq",
2708 "dm_hs_phy_irq", "dp_hs_phy_irq";
2709
2710 assigned-clocks = <&gcc GCC_USB30_SEC_MOCK_UTMI_CLK>,
2711 <&gcc GCC_USB30_SEC_MASTER_CLK>;
2712 assigned-clock-rates = <19200000>, <200000000>;
2713
2714 interconnects = <&aggre1_noc MASTER_USB3_1 0 &mc_virt SLAVE_EBI_CH0 0>,
2715 <&gem_noc MASTER_AMPSS_M0 0 &config_noc SLAVE_USB3_1 0>;
2716 interconnect-names = "usb-ddr", "apps-usb";
2717
2718 #address-cells = <2>;
2719 #size-cells = <2>;
2720 ranges;
2721 dma-ranges;
2722
2723 status = "disabled";
2724
2725 usb_sec_dwc3: usb@a800000 {
2726 compatible = "snps,dwc3";
2727 reg = <0 0x0a800000 0 0xcd00>;
2728 interrupts = <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>;
2729 iommus = <&apps_smmu 0x160 0>;
2730 snps,dis_u2_susphy_quirk;
2731 snps,dis_enblslpm_quirk;
2732 phys = <&usb_sec_hsphy>, <&usb_sec_ssphy>;
2733 phy-names = "usb2-phy", "usb3-phy";
2734
2735 port {
2736 usb_sec_role_switch: endpoint {
2737 };
2738 };
2739 };
2740 };
2741
2742 mdss: mdss@ae00000 {
2743 compatible = "qcom,sc8180x-mdss";
2744 reg = <0 0x0ae00000 0 0x1000>;
2745 reg-names = "mdss";
2746
2747 power-domains = <&dispcc MDSS_GDSC>;
2748
2749 clocks = <&dispcc DISP_CC_MDSS_AHB_CLK>,
2750 <&gcc GCC_DISP_HF_AXI_CLK>,
2751 <&gcc GCC_DISP_SF_AXI_CLK>,
2752 <&dispcc DISP_CC_MDSS_MDP_CLK>;
2753 clock-names = "iface",
2754 "bus",
2755 "nrt_bus",
2756 "core";
2757
2758 resets = <&dispcc DISP_CC_MDSS_CORE_BCR>;
2759
2760 interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
2761 interrupt-controller;
2762 #interrupt-cells = <1>;
2763
Tom Rini6bb92fc2024-05-20 09:54:58 -06002764 interconnects = <&mmss_noc MASTER_MDP_PORT0 QCOM_ICC_TAG_ALWAYS
2765 &mc_virt SLAVE_EBI_CH0 QCOM_ICC_TAG_ALWAYS>,
2766 <&mmss_noc MASTER_MDP_PORT1 QCOM_ICC_TAG_ALWAYS
2767 &mc_virt SLAVE_EBI_CH0 QCOM_ICC_TAG_ALWAYS>,
2768 <&gem_noc MASTER_AMPSS_M0 QCOM_ICC_TAG_ALWAYS
2769 &config_noc SLAVE_DISPLAY_CFG QCOM_ICC_TAG_ALWAYS>;
2770 interconnect-names = "mdp0-mem",
2771 "mdp1-mem",
2772 "cpu-cfg";
Tom Rini53633a82024-02-29 12:33:36 -05002773
2774 iommus = <&apps_smmu 0x800 0x420>;
2775
2776 #address-cells = <2>;
2777 #size-cells = <2>;
2778 ranges;
2779
2780 status = "disabled";
2781
2782 mdss_mdp: mdp@ae01000 {
2783 compatible = "qcom,sc8180x-dpu";
2784 reg = <0 0x0ae01000 0 0x8f000>,
2785 <0 0x0aeb0000 0 0x2008>;
2786 reg-names = "mdp", "vbif";
2787
2788 clocks = <&dispcc DISP_CC_MDSS_AHB_CLK>,
2789 <&gcc GCC_DISP_HF_AXI_CLK>,
2790 <&dispcc DISP_CC_MDSS_MDP_CLK>,
Tom Rini93743d22024-04-01 09:08:13 -04002791 <&dispcc DISP_CC_MDSS_VSYNC_CLK>,
2792 <&dispcc DISP_CC_MDSS_ROT_CLK>,
2793 <&dispcc DISP_CC_MDSS_MDP_LUT_CLK>;
Tom Rini53633a82024-02-29 12:33:36 -05002794 clock-names = "iface",
2795 "bus",
2796 "core",
Tom Rini93743d22024-04-01 09:08:13 -04002797 "vsync",
2798 "rot",
2799 "lut";
Tom Rini53633a82024-02-29 12:33:36 -05002800
Tom Rini6bb92fc2024-05-20 09:54:58 -06002801 assigned-clocks = <&dispcc DISP_CC_MDSS_VSYNC_CLK>;
2802 assigned-clock-rates = <19200000>;
Tom Rini53633a82024-02-29 12:33:36 -05002803
2804 operating-points-v2 = <&mdp_opp_table>;
2805 power-domains = <&rpmhpd SC8180X_MMCX>;
2806
2807 interrupt-parent = <&mdss>;
2808 interrupts = <0 IRQ_TYPE_LEVEL_HIGH>;
2809
2810 ports {
2811 #address-cells = <1>;
2812 #size-cells = <0>;
2813
2814 port@0 {
2815 reg = <0>;
2816 dpu_intf0_out: endpoint {
2817 remote-endpoint = <&dp0_in>;
2818 };
2819 };
2820
2821 port@1 {
2822 reg = <1>;
2823 dpu_intf1_out: endpoint {
2824 remote-endpoint = <&mdss_dsi0_in>;
2825 };
2826 };
2827
2828 port@2 {
2829 reg = <2>;
2830 dpu_intf2_out: endpoint {
2831 remote-endpoint = <&mdss_dsi1_in>;
2832 };
2833 };
2834
2835 port@4 {
2836 reg = <4>;
2837 dpu_intf4_out: endpoint {
2838 remote-endpoint = <&dp1_in>;
2839 };
2840 };
2841
2842 port@5 {
2843 reg = <5>;
2844 dpu_intf5_out: endpoint {
2845 remote-endpoint = <&edp_in>;
2846 };
2847 };
2848 };
2849
2850 mdp_opp_table: opp-table {
2851 compatible = "operating-points-v2";
2852
2853 opp-200000000 {
2854 opp-hz = /bits/ 64 <200000000>;
2855 required-opps = <&rpmhpd_opp_low_svs>;
2856 };
2857
2858 opp-300000000 {
2859 opp-hz = /bits/ 64 <300000000>;
2860 required-opps = <&rpmhpd_opp_svs>;
2861 };
2862
2863 opp-345000000 {
2864 opp-hz = /bits/ 64 <345000000>;
2865 required-opps = <&rpmhpd_opp_svs_l1>;
2866 };
2867
2868 opp-460000000 {
2869 opp-hz = /bits/ 64 <460000000>;
2870 required-opps = <&rpmhpd_opp_nom>;
2871 };
2872 };
2873 };
2874
2875 mdss_dsi0: dsi@ae94000 {
2876 compatible = "qcom,mdss-dsi-ctrl";
2877 reg = <0 0x0ae94000 0 0x400>;
2878 reg-names = "dsi_ctrl";
2879
2880 interrupt-parent = <&mdss>;
2881 interrupts = <4 IRQ_TYPE_LEVEL_HIGH>;
2882
2883 clocks = <&dispcc DISP_CC_MDSS_BYTE0_CLK>,
2884 <&dispcc DISP_CC_MDSS_BYTE0_INTF_CLK>,
2885 <&dispcc DISP_CC_MDSS_PCLK0_CLK>,
2886 <&dispcc DISP_CC_MDSS_ESC0_CLK>,
2887 <&dispcc DISP_CC_MDSS_AHB_CLK>,
2888 <&gcc GCC_DISP_HF_AXI_CLK>;
2889 clock-names = "byte",
2890 "byte_intf",
2891 "pixel",
2892 "core",
2893 "iface",
2894 "bus";
2895
2896 operating-points-v2 = <&dsi_opp_table>;
2897 power-domains = <&rpmhpd SC8180X_MMCX>;
2898
2899 phys = <&mdss_dsi0_phy>;
2900 phy-names = "dsi";
2901
2902 status = "disabled";
2903
2904 ports {
2905 #address-cells = <1>;
2906 #size-cells = <0>;
2907
2908 port@0 {
2909 reg = <0>;
2910 mdss_dsi0_in: endpoint {
2911 remote-endpoint = <&dpu_intf1_out>;
2912 };
2913 };
2914
2915 port@1 {
2916 reg = <1>;
2917 mdss_dsi0_out: endpoint {
2918 };
2919 };
2920 };
2921
2922 dsi_opp_table: opp-table {
2923 compatible = "operating-points-v2";
2924
2925 opp-187500000 {
2926 opp-hz = /bits/ 64 <187500000>;
2927 required-opps = <&rpmhpd_opp_low_svs>;
2928 };
2929
2930 opp-300000000 {
2931 opp-hz = /bits/ 64 <300000000>;
2932 required-opps = <&rpmhpd_opp_svs>;
2933 };
2934
2935 opp-358000000 {
2936 opp-hz = /bits/ 64 <358000000>;
2937 required-opps = <&rpmhpd_opp_svs_l1>;
2938 };
2939 };
2940 };
2941
2942 mdss_dsi0_phy: dsi-phy@ae94400 {
2943 compatible = "qcom,dsi-phy-7nm";
2944 reg = <0 0x0ae94400 0 0x200>,
2945 <0 0x0ae94600 0 0x280>,
2946 <0 0x0ae94900 0 0x260>;
2947 reg-names = "dsi_phy",
2948 "dsi_phy_lane",
2949 "dsi_pll";
2950
2951 #clock-cells = <1>;
2952 #phy-cells = <0>;
2953
2954 clocks = <&dispcc DISP_CC_MDSS_AHB_CLK>,
2955 <&rpmhcc RPMH_CXO_CLK>;
2956 clock-names = "iface", "ref";
2957
2958 status = "disabled";
2959 };
2960
2961 mdss_dsi1: dsi@ae96000 {
2962 compatible = "qcom,mdss-dsi-ctrl";
2963 reg = <0 0x0ae96000 0 0x400>;
2964 reg-names = "dsi_ctrl";
2965
2966 interrupt-parent = <&mdss>;
2967 interrupts = <5 IRQ_TYPE_LEVEL_HIGH>;
2968
2969 clocks = <&dispcc DISP_CC_MDSS_BYTE1_CLK>,
2970 <&dispcc DISP_CC_MDSS_BYTE1_INTF_CLK>,
2971 <&dispcc DISP_CC_MDSS_PCLK1_CLK>,
2972 <&dispcc DISP_CC_MDSS_ESC1_CLK>,
2973 <&dispcc DISP_CC_MDSS_AHB_CLK>,
2974 <&gcc GCC_DISP_HF_AXI_CLK>;
2975 clock-names = "byte",
2976 "byte_intf",
2977 "pixel",
2978 "core",
2979 "iface",
2980 "bus";
2981
2982 operating-points-v2 = <&dsi_opp_table>;
2983 power-domains = <&rpmhpd SC8180X_MMCX>;
2984
2985 phys = <&mdss_dsi1_phy>;
2986 phy-names = "dsi";
2987
2988 status = "disabled";
2989
2990 ports {
2991 #address-cells = <1>;
2992 #size-cells = <0>;
2993
2994 port@0 {
2995 reg = <0>;
2996 mdss_dsi1_in: endpoint {
2997 remote-endpoint = <&dpu_intf2_out>;
2998 };
2999 };
3000
3001 port@1 {
3002 reg = <1>;
3003 mdss_dsi1_out: endpoint {
3004 };
3005 };
3006 };
3007 };
3008
3009 mdss_dsi1_phy: dsi-phy@ae96400 {
3010 compatible = "qcom,dsi-phy-7nm";
3011 reg = <0 0x0ae96400 0 0x200>,
3012 <0 0x0ae96600 0 0x280>,
3013 <0 0x0ae96900 0 0x260>;
3014 reg-names = "dsi_phy",
3015 "dsi_phy_lane",
3016 "dsi_pll";
3017
3018 #clock-cells = <1>;
3019 #phy-cells = <0>;
3020
3021 clocks = <&dispcc DISP_CC_MDSS_AHB_CLK>,
3022 <&rpmhcc RPMH_CXO_CLK>;
3023 clock-names = "iface", "ref";
3024
3025 status = "disabled";
3026 };
3027
3028 mdss_dp0: displayport-controller@ae90000 {
3029 compatible = "qcom,sc8180x-dp";
3030 reg = <0 0xae90000 0 0x200>,
3031 <0 0xae90200 0 0x200>,
3032 <0 0xae90400 0 0x600>,
3033 <0 0xae90a00 0 0x400>;
3034 interrupt-parent = <&mdss>;
3035 interrupts = <12>;
3036 clocks = <&dispcc DISP_CC_MDSS_AHB_CLK>,
3037 <&dispcc DISP_CC_MDSS_DP_AUX_CLK>,
3038 <&dispcc DISP_CC_MDSS_DP_LINK_CLK>,
3039 <&dispcc DISP_CC_MDSS_DP_LINK_INTF_CLK>,
3040 <&dispcc DISP_CC_MDSS_DP_PIXEL_CLK>;
3041 clock-names = "core_iface",
3042 "core_aux",
3043 "ctrl_link",
3044 "ctrl_link_iface",
3045 "stream_pixel";
3046
3047 assigned-clocks = <&dispcc DISP_CC_MDSS_DP_LINK_CLK_SRC>,
3048 <&dispcc DISP_CC_MDSS_DP_PIXEL_CLK_SRC>;
3049 assigned-clock-parents = <&usb_prim_dpphy 0>, <&usb_prim_dpphy 1>;
3050
3051 phys = <&usb_prim_dpphy>;
3052 phy-names = "dp";
3053
3054 #sound-dai-cells = <0>;
3055
3056 operating-points-v2 = <&dp0_opp_table>;
3057 power-domains = <&rpmhpd SC8180X_MMCX>;
3058
3059 status = "disabled";
3060
3061 ports {
3062 #address-cells = <1>;
3063 #size-cells = <0>;
3064
3065 port@0 {
3066 reg = <0>;
3067 dp0_in: endpoint {
3068 remote-endpoint = <&dpu_intf0_out>;
3069 };
3070 };
3071
3072 port@1 {
3073 reg = <1>;
3074 mdss_dp0_out: endpoint {
3075 };
3076 };
3077 };
3078
3079 dp0_opp_table: opp-table {
3080 compatible = "operating-points-v2";
3081
3082 opp-160000000 {
3083 opp-hz = /bits/ 64 <160000000>;
3084 required-opps = <&rpmhpd_opp_low_svs>;
3085 };
3086
3087 opp-270000000 {
3088 opp-hz = /bits/ 64 <270000000>;
3089 required-opps = <&rpmhpd_opp_svs>;
3090 };
3091
3092 opp-540000000 {
3093 opp-hz = /bits/ 64 <540000000>;
3094 required-opps = <&rpmhpd_opp_svs_l1>;
3095 };
3096
3097 opp-810000000 {
3098 opp-hz = /bits/ 64 <810000000>;
3099 required-opps = <&rpmhpd_opp_nom>;
3100 };
3101 };
3102 };
3103
3104 mdss_dp1: displayport-controller@ae98000 {
3105 compatible = "qcom,sc8180x-dp";
3106 reg = <0 0xae98000 0 0x200>,
3107 <0 0xae98200 0 0x200>,
3108 <0 0xae98400 0 0x600>,
3109 <0 0xae98a00 0 0x400>;
3110 interrupt-parent = <&mdss>;
3111 interrupts = <13>;
3112 clocks = <&dispcc DISP_CC_MDSS_AHB_CLK>,
3113 <&dispcc DISP_CC_MDSS_DP_AUX1_CLK>,
3114 <&dispcc DISP_CC_MDSS_DP_LINK1_CLK>,
3115 <&dispcc DISP_CC_MDSS_DP_LINK1_INTF_CLK>,
3116 <&dispcc DISP_CC_MDSS_DP_PIXEL2_CLK>;
3117 clock-names = "core_iface",
3118 "core_aux",
3119 "ctrl_link",
3120 "ctrl_link_iface",
3121 "stream_pixel";
3122
3123 assigned-clocks = <&dispcc DISP_CC_MDSS_DP_LINK1_CLK_SRC>,
3124 <&dispcc DISP_CC_MDSS_DP_PIXEL2_CLK_SRC>;
3125 assigned-clock-parents = <&usb_sec_dpphy 0>, <&usb_sec_dpphy 1>;
3126
3127 phys = <&usb_sec_dpphy>;
3128 phy-names = "dp";
3129
3130 #sound-dai-cells = <0>;
3131
3132 operating-points-v2 = <&dp0_opp_table>;
3133 power-domains = <&rpmhpd SC8180X_MMCX>;
3134
3135 status = "disabled";
3136
3137 ports {
3138 #address-cells = <1>;
3139 #size-cells = <0>;
3140
3141 port@0 {
3142 reg = <0>;
3143 dp1_in: endpoint {
3144 remote-endpoint = <&dpu_intf4_out>;
3145 };
3146 };
3147
3148 port@1 {
3149 reg = <1>;
3150 mdss_dp1_out: endpoint {
3151 };
3152 };
3153 };
3154
3155 dp1_opp_table: opp-table {
3156 compatible = "operating-points-v2";
3157
3158 opp-160000000 {
3159 opp-hz = /bits/ 64 <160000000>;
3160 required-opps = <&rpmhpd_opp_low_svs>;
3161 };
3162
3163 opp-270000000 {
3164 opp-hz = /bits/ 64 <270000000>;
3165 required-opps = <&rpmhpd_opp_svs>;
3166 };
3167
3168 opp-540000000 {
3169 opp-hz = /bits/ 64 <540000000>;
3170 required-opps = <&rpmhpd_opp_svs_l1>;
3171 };
3172
3173 opp-810000000 {
3174 opp-hz = /bits/ 64 <810000000>;
3175 required-opps = <&rpmhpd_opp_nom>;
3176 };
3177 };
3178 };
3179
3180 mdss_edp: displayport-controller@ae9a000 {
3181 compatible = "qcom,sc8180x-edp";
3182 reg = <0 0xae9a000 0 0x200>,
3183 <0 0xae9a200 0 0x200>,
3184 <0 0xae9a400 0 0x600>,
3185 <0 0xae9aa00 0 0x400>;
3186 interrupt-parent = <&mdss>;
3187 interrupts = <14>;
3188 clocks = <&dispcc DISP_CC_MDSS_AHB_CLK>,
3189 <&dispcc DISP_CC_MDSS_EDP_AUX_CLK>,
3190 <&dispcc DISP_CC_MDSS_EDP_LINK_CLK>,
3191 <&dispcc DISP_CC_MDSS_EDP_LINK_INTF_CLK>,
3192 <&dispcc DISP_CC_MDSS_EDP_PIXEL_CLK>;
3193 clock-names = "core_iface",
3194 "core_aux",
3195 "ctrl_link",
3196 "ctrl_link_iface",
3197 "stream_pixel";
3198
3199 assigned-clocks = <&dispcc DISP_CC_MDSS_EDP_LINK_CLK_SRC>,
3200 <&dispcc DISP_CC_MDSS_EDP_PIXEL_CLK_SRC>;
3201 assigned-clock-parents = <&edp_phy 0>, <&edp_phy 1>;
3202
3203 phys = <&edp_phy>;
3204 phy-names = "dp";
3205
Tom Rini53633a82024-02-29 12:33:36 -05003206 operating-points-v2 = <&edp_opp_table>;
3207 power-domains = <&rpmhpd SC8180X_MMCX>;
3208
3209 status = "disabled";
3210
3211 ports {
3212 #address-cells = <1>;
3213 #size-cells = <0>;
3214
3215 port@0 {
3216 reg = <0>;
3217 edp_in: endpoint {
3218 remote-endpoint = <&dpu_intf5_out>;
3219 };
3220 };
3221 };
3222
3223 edp_opp_table: opp-table {
3224 compatible = "operating-points-v2";
3225
3226 opp-160000000 {
3227 opp-hz = /bits/ 64 <160000000>;
3228 required-opps = <&rpmhpd_opp_low_svs>;
3229 };
3230
3231 opp-270000000 {
3232 opp-hz = /bits/ 64 <270000000>;
3233 required-opps = <&rpmhpd_opp_svs>;
3234 };
3235
3236 opp-540000000 {
3237 opp-hz = /bits/ 64 <540000000>;
3238 required-opps = <&rpmhpd_opp_svs_l1>;
3239 };
3240
3241 opp-810000000 {
3242 opp-hz = /bits/ 64 <810000000>;
3243 required-opps = <&rpmhpd_opp_nom>;
3244 };
3245 };
3246 };
3247 };
3248
3249 edp_phy: phy@aec2a00 {
3250 compatible = "qcom,sc8180x-edp-phy";
3251 reg = <0 0x0aec2a00 0 0x1c0>,
3252 <0 0x0aec2200 0 0xa0>,
3253 <0 0x0aec2600 0 0xa0>,
3254 <0 0x0aec2000 0 0x19c>;
3255
3256 clocks = <&dispcc DISP_CC_MDSS_EDP_AUX_CLK>,
3257 <&dispcc DISP_CC_MDSS_AHB_CLK>;
3258 clock-names = "aux", "cfg_ahb";
3259
Tom Rini6bb92fc2024-05-20 09:54:58 -06003260 power-domains = <&rpmhpd SC8180X_MX>;
Tom Rini53633a82024-02-29 12:33:36 -05003261
3262 #clock-cells = <1>;
3263 #phy-cells = <0>;
3264 };
3265
3266 dispcc: clock-controller@af00000 {
3267 compatible = "qcom,sc8180x-dispcc";
3268 reg = <0 0x0af00000 0 0x20000>;
3269 clocks = <&rpmhcc RPMH_CXO_CLK>,
3270 <&sleep_clk>,
3271 <&usb_prim_dpphy 0>,
3272 <&usb_prim_dpphy 1>,
3273 <&usb_sec_dpphy 0>,
3274 <&usb_sec_dpphy 1>,
3275 <&edp_phy 0>,
3276 <&edp_phy 1>;
3277 clock-names = "bi_tcxo",
3278 "sleep_clk",
3279 "dp_phy_pll_link_clk",
3280 "dp_phy_pll_vco_div_clk",
3281 "dptx1_phy_pll_link_clk",
3282 "dptx1_phy_pll_vco_div_clk",
3283 "edp_phy_pll_link_clk",
3284 "edp_phy_pll_vco_div_clk";
3285 power-domains = <&rpmhpd SC8180X_MMCX>;
Tom Rini6bb92fc2024-05-20 09:54:58 -06003286 required-opps = <&rpmhpd_opp_low_svs>;
Tom Rini53633a82024-02-29 12:33:36 -05003287 #clock-cells = <1>;
3288 #reset-cells = <1>;
3289 #power-domain-cells = <1>;
3290 };
3291
3292 pdc: interrupt-controller@b220000 {
3293 compatible = "qcom,sc8180x-pdc", "qcom,pdc";
3294 reg = <0 0x0b220000 0 0x30000>;
3295 qcom,pdc-ranges = <0 480 94>, <94 609 31>;
3296 #interrupt-cells = <2>;
3297 interrupt-parent = <&intc>;
3298 interrupt-controller;
3299 };
3300
3301 tsens0: thermal-sensor@c263000 {
3302 compatible = "qcom,sc8180x-tsens", "qcom,tsens-v2";
3303 reg = <0 0x0c263000 0 0x1ff>, /* TM */
3304 <0 0x0c222000 0 0x1ff>; /* SROT */
3305 #qcom,sensors = <16>;
3306 interrupts = <GIC_SPI 506 IRQ_TYPE_LEVEL_HIGH>,
3307 <GIC_SPI 508 IRQ_TYPE_LEVEL_HIGH>;
3308 interrupt-names = "uplow", "critical";
3309 #thermal-sensor-cells = <1>;
3310 };
3311
3312 tsens1: thermal-sensor@c265000 {
3313 compatible = "qcom,sc8180x-tsens", "qcom,tsens-v2";
3314 reg = <0 0x0c265000 0 0x1ff>, /* TM */
3315 <0 0x0c223000 0 0x1ff>; /* SROT */
3316 #qcom,sensors = <9>;
3317 interrupts = <GIC_SPI 507 IRQ_TYPE_LEVEL_HIGH>,
3318 <GIC_SPI 509 IRQ_TYPE_LEVEL_HIGH>;
3319 interrupt-names = "uplow", "critical";
3320 #thermal-sensor-cells = <1>;
3321 };
3322
3323 aoss_qmp: power-controller@c300000 {
3324 compatible = "qcom,sc8180x-aoss-qmp", "qcom,aoss-qmp";
Tom Rini6bb92fc2024-05-20 09:54:58 -06003325 reg = <0x0 0x0c300000 0x0 0x400>;
Tom Rini53633a82024-02-29 12:33:36 -05003326 interrupts = <GIC_SPI 389 IRQ_TYPE_EDGE_RISING>;
3327 mboxes = <&apss_shared 0>;
3328
3329 #clock-cells = <0>;
3330 #power-domain-cells = <1>;
3331 };
3332
Tom Rini6bb92fc2024-05-20 09:54:58 -06003333 sram@c3f0000 {
3334 compatible = "qcom,rpmh-stats";
3335 reg = <0x0 0x0c3f0000 0x0 0x400>;
3336 };
3337
Tom Rini53633a82024-02-29 12:33:36 -05003338 spmi_bus: spmi@c440000 {
3339 compatible = "qcom,spmi-pmic-arb";
3340 reg = <0x0 0x0c440000 0x0 0x0001100>,
3341 <0x0 0x0c600000 0x0 0x2000000>,
3342 <0x0 0x0e600000 0x0 0x0100000>,
3343 <0x0 0x0e700000 0x0 0x00a0000>,
3344 <0x0 0x0c40a000 0x0 0x0026000>;
3345 reg-names = "core", "chnls", "obsrvr", "intr", "cnfg";
3346 interrupt-names = "periph_irq";
3347 interrupts = <GIC_SPI 481 IRQ_TYPE_LEVEL_HIGH>;
3348 qcom,ee = <0>;
3349 qcom,channel = <0>;
3350 #address-cells = <2>;
3351 #size-cells = <0>;
3352 interrupt-controller;
3353 #interrupt-cells = <4>;
3354 };
3355
3356 apps_smmu: iommu@15000000 {
3357 compatible = "qcom,sc8180x-smmu-500", "arm,mmu-500";
3358 reg = <0 0x15000000 0 0x100000>;
3359 #iommu-cells = <2>;
3360 #global-interrupts = <1>;
3361 interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>,
3362 <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>,
3363 <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>,
3364 <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>,
3365 <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>,
3366 <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>,
3367 <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>,
3368 <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>,
3369 <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>,
3370 <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>,
3371 <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>,
3372 <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>,
3373 <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>,
3374 <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>,
3375 <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>,
3376 <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>,
3377 <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>,
3378 <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>,
3379 <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>,
3380 <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>,
3381 <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>,
3382 <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>,
3383 <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>,
3384 <GIC_SPI 181 IRQ_TYPE_LEVEL_HIGH>,
3385 <GIC_SPI 182 IRQ_TYPE_LEVEL_HIGH>,
3386 <GIC_SPI 183 IRQ_TYPE_LEVEL_HIGH>,
3387 <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>,
3388 <GIC_SPI 185 IRQ_TYPE_LEVEL_HIGH>,
3389 <GIC_SPI 186 IRQ_TYPE_LEVEL_HIGH>,
3390 <GIC_SPI 187 IRQ_TYPE_LEVEL_HIGH>,
3391 <GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>,
3392 <GIC_SPI 189 IRQ_TYPE_LEVEL_HIGH>,
3393 <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>,
3394 <GIC_SPI 191 IRQ_TYPE_LEVEL_HIGH>,
3395 <GIC_SPI 192 IRQ_TYPE_LEVEL_HIGH>,
3396 <GIC_SPI 315 IRQ_TYPE_LEVEL_HIGH>,
3397 <GIC_SPI 316 IRQ_TYPE_LEVEL_HIGH>,
3398 <GIC_SPI 317 IRQ_TYPE_LEVEL_HIGH>,
3399 <GIC_SPI 318 IRQ_TYPE_LEVEL_HIGH>,
3400 <GIC_SPI 319 IRQ_TYPE_LEVEL_HIGH>,
3401 <GIC_SPI 320 IRQ_TYPE_LEVEL_HIGH>,
3402 <GIC_SPI 321 IRQ_TYPE_LEVEL_HIGH>,
3403 <GIC_SPI 322 IRQ_TYPE_LEVEL_HIGH>,
3404 <GIC_SPI 323 IRQ_TYPE_LEVEL_HIGH>,
3405 <GIC_SPI 324 IRQ_TYPE_LEVEL_HIGH>,
3406 <GIC_SPI 325 IRQ_TYPE_LEVEL_HIGH>,
3407 <GIC_SPI 326 IRQ_TYPE_LEVEL_HIGH>,
3408 <GIC_SPI 327 IRQ_TYPE_LEVEL_HIGH>,
3409 <GIC_SPI 328 IRQ_TYPE_LEVEL_HIGH>,
3410 <GIC_SPI 329 IRQ_TYPE_LEVEL_HIGH>,
3411 <GIC_SPI 330 IRQ_TYPE_LEVEL_HIGH>,
3412 <GIC_SPI 331 IRQ_TYPE_LEVEL_HIGH>,
3413 <GIC_SPI 332 IRQ_TYPE_LEVEL_HIGH>,
3414 <GIC_SPI 333 IRQ_TYPE_LEVEL_HIGH>,
3415 <GIC_SPI 334 IRQ_TYPE_LEVEL_HIGH>,
3416 <GIC_SPI 335 IRQ_TYPE_LEVEL_HIGH>,
3417 <GIC_SPI 336 IRQ_TYPE_LEVEL_HIGH>,
3418 <GIC_SPI 337 IRQ_TYPE_LEVEL_HIGH>,
3419 <GIC_SPI 338 IRQ_TYPE_LEVEL_HIGH>,
3420 <GIC_SPI 339 IRQ_TYPE_LEVEL_HIGH>,
3421 <GIC_SPI 340 IRQ_TYPE_LEVEL_HIGH>,
3422 <GIC_SPI 341 IRQ_TYPE_LEVEL_HIGH>,
3423 <GIC_SPI 342 IRQ_TYPE_LEVEL_HIGH>,
3424 <GIC_SPI 343 IRQ_TYPE_LEVEL_HIGH>,
3425 <GIC_SPI 344 IRQ_TYPE_LEVEL_HIGH>,
3426 <GIC_SPI 345 IRQ_TYPE_LEVEL_HIGH>,
3427 <GIC_SPI 395 IRQ_TYPE_LEVEL_HIGH>,
3428 <GIC_SPI 396 IRQ_TYPE_LEVEL_HIGH>,
3429 <GIC_SPI 397 IRQ_TYPE_LEVEL_HIGH>,
3430 <GIC_SPI 398 IRQ_TYPE_LEVEL_HIGH>,
3431 <GIC_SPI 399 IRQ_TYPE_LEVEL_HIGH>,
3432 <GIC_SPI 400 IRQ_TYPE_LEVEL_HIGH>,
3433 <GIC_SPI 401 IRQ_TYPE_LEVEL_HIGH>,
3434 <GIC_SPI 402 IRQ_TYPE_LEVEL_HIGH>,
3435 <GIC_SPI 403 IRQ_TYPE_LEVEL_HIGH>,
3436 <GIC_SPI 404 IRQ_TYPE_LEVEL_HIGH>,
3437 <GIC_SPI 405 IRQ_TYPE_LEVEL_HIGH>,
3438 <GIC_SPI 406 IRQ_TYPE_LEVEL_HIGH>,
3439 <GIC_SPI 407 IRQ_TYPE_LEVEL_HIGH>,
3440 <GIC_SPI 408 IRQ_TYPE_LEVEL_HIGH>,
3441 <GIC_SPI 409 IRQ_TYPE_LEVEL_HIGH>,
3442 <GIC_SPI 410 IRQ_TYPE_LEVEL_HIGH>,
3443 <GIC_SPI 411 IRQ_TYPE_LEVEL_HIGH>,
3444 <GIC_SPI 412 IRQ_TYPE_LEVEL_HIGH>,
3445 <GIC_SPI 413 IRQ_TYPE_LEVEL_HIGH>,
3446 <GIC_SPI 706 IRQ_TYPE_LEVEL_HIGH>,
3447 <GIC_SPI 707 IRQ_TYPE_LEVEL_HIGH>,
3448 <GIC_SPI 708 IRQ_TYPE_LEVEL_HIGH>,
3449 <GIC_SPI 709 IRQ_TYPE_LEVEL_HIGH>,
3450 <GIC_SPI 710 IRQ_TYPE_LEVEL_HIGH>,
3451 <GIC_SPI 711 IRQ_TYPE_LEVEL_HIGH>,
3452 <GIC_SPI 712 IRQ_TYPE_LEVEL_HIGH>,
3453 <GIC_SPI 713 IRQ_TYPE_LEVEL_HIGH>,
3454 <GIC_SPI 714 IRQ_TYPE_LEVEL_HIGH>,
3455 <GIC_SPI 715 IRQ_TYPE_LEVEL_HIGH>,
3456 <GIC_SPI 643 IRQ_TYPE_LEVEL_HIGH>,
3457 <GIC_SPI 642 IRQ_TYPE_LEVEL_HIGH>,
3458 <GIC_SPI 641 IRQ_TYPE_LEVEL_HIGH>,
3459 <GIC_SPI 640 IRQ_TYPE_LEVEL_HIGH>,
3460 <GIC_SPI 768 IRQ_TYPE_LEVEL_HIGH>,
3461 <GIC_SPI 769 IRQ_TYPE_LEVEL_HIGH>,
3462 <GIC_SPI 770 IRQ_TYPE_LEVEL_HIGH>,
3463 <GIC_SPI 771 IRQ_TYPE_LEVEL_HIGH>,
3464 <GIC_SPI 772 IRQ_TYPE_LEVEL_HIGH>,
3465 <GIC_SPI 773 IRQ_TYPE_LEVEL_HIGH>,
3466 <GIC_SPI 774 IRQ_TYPE_LEVEL_HIGH>,
3467 <GIC_SPI 775 IRQ_TYPE_LEVEL_HIGH>;
3468
3469 };
3470
3471 remoteproc_adsp: remoteproc@17300000 {
3472 compatible = "qcom,sc8180x-adsp-pas";
3473 reg = <0x0 0x17300000 0x0 0x4040>;
3474
3475 interrupts-extended = <&intc GIC_SPI 162 IRQ_TYPE_EDGE_RISING>,
3476 <&adsp_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
3477 <&adsp_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
3478 <&adsp_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
3479 <&adsp_smp2p_in 3 IRQ_TYPE_EDGE_RISING>;
3480 interrupt-names = "wdog", "fatal", "ready",
3481 "handover", "stop-ack";
3482
3483 clocks = <&rpmhcc RPMH_CXO_CLK>;
3484 clock-names = "xo";
3485
3486 power-domains = <&rpmhpd SC8180X_CX>;
3487 power-domain-names = "cx";
3488
3489 qcom,qmp = <&aoss_qmp>;
3490
3491 qcom,smem-states = <&adsp_smp2p_out 0>;
3492 qcom,smem-state-names = "stop";
3493
3494 status = "disabled";
3495
3496 remoteproc_adsp_glink: glink-edge {
3497 interrupts = <GIC_SPI 156 IRQ_TYPE_EDGE_RISING>;
3498 label = "lpass";
3499 qcom,remote-pid = <2>;
3500 mboxes = <&apss_shared 8>;
3501 };
3502 };
3503
3504 intc: interrupt-controller@17a00000 {
3505 compatible = "arm,gic-v3";
3506 interrupt-controller;
3507 #interrupt-cells = <3>;
3508 reg = <0x0 0x17a00000 0x0 0x10000>, /* GICD */
3509 <0x0 0x17a60000 0x0 0x100000>; /* GICR * 8 */
3510 interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>;
Tom Rini93743d22024-04-01 09:08:13 -04003511 #redistributor-regions = <1>;
3512 redistributor-stride = <0 0x20000>;
Tom Rini53633a82024-02-29 12:33:36 -05003513 };
3514
3515 apss_shared: mailbox@17c00000 {
Tom Rini93743d22024-04-01 09:08:13 -04003516 compatible = "qcom,sc8180x-apss-shared", "qcom,sdm845-apss-shared";
Tom Rini53633a82024-02-29 12:33:36 -05003517 reg = <0x0 0x17c00000 0x0 0x1000>;
3518 #mbox-cells = <1>;
3519 };
3520
3521 timer@17c20000 {
3522 compatible = "arm,armv7-timer-mem";
3523 reg = <0x0 0x17c20000 0x0 0x1000>;
3524
3525 #address-cells = <1>;
3526 #size-cells = <1>;
3527 ranges = <0 0 0 0x20000000>;
3528
3529 frame@17c21000 {
3530 reg = <0x17c21000 0x1000>,
3531 <0x17c22000 0x1000>;
3532 frame-number = <0>;
3533 interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
3534 <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>;
3535 };
3536
3537 frame@17c23000 {
3538 reg = <0x17c23000 0x1000>;
3539 frame-number = <1>;
3540 interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
3541 status = "disabled";
3542 };
3543
3544 frame@17c25000 {
3545 reg = <0x17c25000 0x1000>;
3546 frame-number = <2>;
3547 interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
3548 status = "disabled";
3549 };
3550
3551 frame@17c27000 {
3552 reg = <0x17c26000 0x1000>;
3553 frame-number = <3>;
3554 interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
3555 status = "disabled";
3556 };
3557
3558 frame@17c29000 {
3559 reg = <0x17c29000 0x1000>;
3560 frame-number = <4>;
3561 interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
3562 status = "disabled";
3563 };
3564
3565 frame@17c2b000 {
3566 reg = <0x17c2b000 0x1000>;
3567 frame-number = <5>;
3568 interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
3569 status = "disabled";
3570 };
3571
3572 frame@17c2d000 {
3573 reg = <0x17c2d000 0x1000>;
3574 frame-number = <6>;
3575 interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
3576 status = "disabled";
3577 };
3578 };
3579
3580 apps_rsc: rsc@18200000 {
3581 compatible = "qcom,rpmh-rsc";
3582 reg = <0x0 0x18200000 0x0 0x10000>,
3583 <0x0 0x18210000 0x0 0x10000>,
3584 <0x0 0x18220000 0x0 0x10000>;
3585 reg-names = "drv-0", "drv-1", "drv-2";
3586 interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>,
3587 <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>,
3588 <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
3589 qcom,tcs-offset = <0xd00>;
3590 qcom,drv-id = <2>;
3591 qcom,tcs-config = <ACTIVE_TCS 2>,
3592 <SLEEP_TCS 1>,
3593 <WAKE_TCS 1>,
3594 <CONTROL_TCS 0>;
3595 label = "apps_rsc";
3596 power-domains = <&CLUSTER_PD>;
3597
3598 apps_bcm_voter: bcm-voter {
3599 compatible = "qcom,bcm-voter";
3600 };
3601
3602 rpmhcc: clock-controller {
3603 compatible = "qcom,sc8180x-rpmh-clk";
3604 #clock-cells = <1>;
3605 clock-names = "xo";
3606 clocks = <&xo_board_clk>;
3607 };
3608
3609 rpmhpd: power-controller {
3610 compatible = "qcom,sc8180x-rpmhpd";
3611 #power-domain-cells = <1>;
3612 operating-points-v2 = <&rpmhpd_opp_table>;
3613
3614 rpmhpd_opp_table: opp-table {
3615 compatible = "operating-points-v2";
3616
3617 rpmhpd_opp_ret: opp1 {
3618 opp-level = <RPMH_REGULATOR_LEVEL_RETENTION>;
3619 };
3620
3621 rpmhpd_opp_min_svs: opp2 {
3622 opp-level = <RPMH_REGULATOR_LEVEL_MIN_SVS>;
3623 };
3624
3625 rpmhpd_opp_low_svs: opp3 {
3626 opp-level = <RPMH_REGULATOR_LEVEL_LOW_SVS>;
3627 };
3628
3629 rpmhpd_opp_svs: opp4 {
3630 opp-level = <RPMH_REGULATOR_LEVEL_SVS>;
3631 };
3632
3633 rpmhpd_opp_svs_l1: opp5 {
3634 opp-level = <RPMH_REGULATOR_LEVEL_SVS_L1>;
3635 };
3636
3637 rpmhpd_opp_nom: opp6 {
3638 opp-level = <RPMH_REGULATOR_LEVEL_NOM>;
3639 };
3640
3641 rpmhpd_opp_nom_l1: opp7 {
3642 opp-level = <RPMH_REGULATOR_LEVEL_NOM_L1>;
3643 };
3644
3645 rpmhpd_opp_nom_l2: opp8 {
3646 opp-level = <RPMH_REGULATOR_LEVEL_NOM_L2>;
3647 };
3648
3649 rpmhpd_opp_turbo: opp9 {
3650 opp-level = <RPMH_REGULATOR_LEVEL_TURBO>;
3651 };
3652
3653 rpmhpd_opp_turbo_l1: opp10 {
3654 opp-level = <RPMH_REGULATOR_LEVEL_TURBO_L1>;
3655 };
3656 };
3657 };
3658 };
3659
3660 osm_l3: interconnect@18321000 {
3661 compatible = "qcom,sc8180x-osm-l3", "qcom,osm-l3";
3662 reg = <0 0x18321000 0 0x1400>;
3663
3664 clocks = <&rpmhcc RPMH_CXO_CLK>, <&gcc GPLL0>;
3665 clock-names = "xo", "alternate";
3666
3667 #interconnect-cells = <1>;
3668 };
3669
3670 lmh@18350800 {
3671 compatible = "qcom,sc8180x-lmh";
3672 reg = <0 0x18350800 0 0x400>;
3673 interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
3674 cpus = <&CPU4>;
3675 qcom,lmh-temp-arm-millicelsius = <65000>;
3676 qcom,lmh-temp-low-millicelsius = <94500>;
3677 qcom,lmh-temp-high-millicelsius = <95000>;
3678 interrupt-controller;
3679 #interrupt-cells = <1>;
3680 };
3681
3682 lmh@18358800 {
3683 compatible = "qcom,sc8180x-lmh";
3684 reg = <0 0x18358800 0 0x400>;
3685 interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
3686 cpus = <&CPU0>;
3687 qcom,lmh-temp-arm-millicelsius = <65000>;
3688 qcom,lmh-temp-low-millicelsius = <94500>;
3689 qcom,lmh-temp-high-millicelsius = <95000>;
3690 interrupt-controller;
3691 #interrupt-cells = <1>;
3692 };
3693
3694 cpufreq_hw: cpufreq@18323000 {
3695 compatible = "qcom,cpufreq-hw";
3696 reg = <0 0x18323000 0 0x1400>, <0 0x18325800 0 0x1400>;
3697 reg-names = "freq-domain0", "freq-domain1";
3698
3699 clocks = <&rpmhcc RPMH_CXO_CLK>, <&gcc GPLL0>;
3700 clock-names = "xo", "alternate";
3701
3702 #freq-domain-cells = <1>;
3703 #clock-cells = <1>;
3704 };
3705
3706 wifi: wifi@18800000 {
3707 compatible = "qcom,wcn3990-wifi";
3708 reg = <0 0x18800000 0 0x800000>;
3709 reg-names = "membase";
3710 clock-names = "cxo_ref_clk_pin";
3711 clocks = <&rpmhcc RPMH_RF_CLK2>;
3712 interrupts = <GIC_SPI 414 IRQ_TYPE_LEVEL_HIGH>,
3713 <GIC_SPI 415 IRQ_TYPE_LEVEL_HIGH>,
3714 <GIC_SPI 416 IRQ_TYPE_LEVEL_HIGH>,
3715 <GIC_SPI 417 IRQ_TYPE_LEVEL_HIGH>,
3716 <GIC_SPI 418 IRQ_TYPE_LEVEL_HIGH>,
3717 <GIC_SPI 419 IRQ_TYPE_LEVEL_HIGH>,
3718 <GIC_SPI 420 IRQ_TYPE_LEVEL_HIGH>,
3719 <GIC_SPI 421 IRQ_TYPE_LEVEL_HIGH>,
3720 <GIC_SPI 422 IRQ_TYPE_LEVEL_HIGH>,
3721 <GIC_SPI 423 IRQ_TYPE_LEVEL_HIGH>,
3722 <GIC_SPI 424 IRQ_TYPE_LEVEL_HIGH>,
3723 <GIC_SPI 425 IRQ_TYPE_LEVEL_HIGH>;
3724 iommus = <&apps_smmu 0x0640 0x1>;
3725 qcom,msa-fixed-perm;
3726 status = "disabled";
3727 };
3728 };
3729
3730 thermal-zones {
3731 cpu0-thermal {
3732 polling-delay-passive = <250>;
3733 polling-delay = <1000>;
3734
3735 thermal-sensors = <&tsens0 1>;
3736
3737 trips {
3738 cpu-crit {
3739 temperature = <110000>;
3740 hysteresis = <1000>;
3741 type = "critical";
3742 };
3743 };
3744 };
3745
3746 cpu1-thermal {
3747 polling-delay-passive = <250>;
3748 polling-delay = <1000>;
3749
3750 thermal-sensors = <&tsens0 2>;
3751
3752 trips {
3753 cpu-crit {
3754 temperature = <110000>;
3755 hysteresis = <1000>;
3756 type = "critical";
3757 };
3758 };
3759 };
3760
3761 cpu2-thermal {
3762 polling-delay-passive = <250>;
3763 polling-delay = <1000>;
3764
3765 thermal-sensors = <&tsens0 3>;
3766
3767 trips {
3768 cpu-crit {
3769 temperature = <110000>;
3770 hysteresis = <1000>;
3771 type = "critical";
3772 };
3773 };
3774 };
3775
3776 cpu3-thermal {
3777 polling-delay-passive = <250>;
3778 polling-delay = <1000>;
3779
3780 thermal-sensors = <&tsens0 4>;
3781
3782 trips {
3783 cpu-crit {
3784 temperature = <110000>;
3785 hysteresis = <1000>;
3786 type = "critical";
3787 };
3788 };
3789 };
3790
3791 cpu4-top-thermal {
3792 polling-delay-passive = <250>;
3793 polling-delay = <1000>;
3794
3795 thermal-sensors = <&tsens0 7>;
3796
3797 trips {
3798 cpu-crit {
3799 temperature = <110000>;
3800 hysteresis = <1000>;
3801 type = "critical";
3802 };
3803 };
3804 };
3805
3806 cpu5-top-thermal {
3807 polling-delay-passive = <250>;
3808 polling-delay = <1000>;
3809
3810 thermal-sensors = <&tsens0 8>;
3811
3812 trips {
3813 cpu-crit {
3814 temperature = <110000>;
3815 hysteresis = <1000>;
3816 type = "critical";
3817 };
3818 };
3819 };
3820
3821 cpu6-top-thermal {
3822 polling-delay-passive = <250>;
3823 polling-delay = <1000>;
3824
3825 thermal-sensors = <&tsens0 9>;
3826
3827 trips {
3828 cpu-crit {
3829 temperature = <110000>;
3830 hysteresis = <1000>;
3831 type = "critical";
3832 };
3833 };
3834 };
3835
3836 cpu7-top-thermal {
3837 polling-delay-passive = <250>;
3838 polling-delay = <1000>;
3839
3840 thermal-sensors = <&tsens0 10>;
3841
3842 trips {
3843 cpu-crit {
3844 temperature = <110000>;
3845 hysteresis = <1000>;
3846 type = "critical";
3847 };
3848 };
3849 };
3850
3851 cpu4-bottom-thermal {
3852 polling-delay-passive = <250>;
3853 polling-delay = <1000>;
3854
3855 thermal-sensors = <&tsens0 11>;
3856
3857 trips {
3858 cpu-crit {
3859 temperature = <110000>;
3860 hysteresis = <1000>;
3861 type = "critical";
3862 };
3863 };
3864 };
3865
3866 cpu5-bottom-thermal {
3867 polling-delay-passive = <250>;
3868 polling-delay = <1000>;
3869
3870 thermal-sensors = <&tsens0 12>;
3871
3872 trips {
3873 cpu-crit {
3874 temperature = <110000>;
3875 hysteresis = <1000>;
3876 type = "critical";
3877 };
3878 };
3879 };
3880
3881 cpu6-bottom-thermal {
3882 polling-delay-passive = <250>;
3883 polling-delay = <1000>;
3884
3885 thermal-sensors = <&tsens0 13>;
3886
3887 trips {
3888 cpu-crit {
3889 temperature = <110000>;
3890 hysteresis = <1000>;
3891 type = "critical";
3892 };
3893 };
3894 };
3895
3896 cpu7-bottom-thermal {
3897 polling-delay-passive = <250>;
3898 polling-delay = <1000>;
3899
3900 thermal-sensors = <&tsens0 14>;
3901
3902 trips {
3903 cpu-crit {
3904 temperature = <110000>;
3905 hysteresis = <1000>;
3906 type = "critical";
3907 };
3908 };
3909 };
3910
3911 aoss0-thermal {
3912 polling-delay-passive = <250>;
3913 polling-delay = <1000>;
3914
3915 thermal-sensors = <&tsens0 0>;
3916
3917 trips {
3918 trip-point0 {
3919 temperature = <90000>;
3920 hysteresis = <2000>;
3921 type = "hot";
3922 };
3923 };
3924 };
3925
3926 cluster0-thermal {
3927 polling-delay-passive = <250>;
3928 polling-delay = <1000>;
3929
3930 thermal-sensors = <&tsens0 5>;
3931
3932 trips {
3933 cluster-crit {
3934 temperature = <110000>;
3935 hysteresis = <2000>;
3936 type = "critical";
3937 };
3938 };
3939 };
3940
3941 cluster1-thermal {
3942 polling-delay-passive = <250>;
3943 polling-delay = <1000>;
3944
3945 thermal-sensors = <&tsens0 6>;
3946
3947 trips {
3948 cluster-crit {
3949 temperature = <110000>;
3950 hysteresis = <2000>;
3951 type = "critical";
3952 };
3953 };
3954 };
3955
3956 gpu-top-thermal {
3957 polling-delay-passive = <250>;
3958 polling-delay = <1000>;
3959
3960 thermal-sensors = <&tsens0 15>;
3961
Tom Rini6bb92fc2024-05-20 09:54:58 -06003962 cooling-maps {
3963 map0 {
3964 trip = <&gpu_top_alert0>;
3965 cooling-device = <&gpu THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
3966 };
3967 };
3968
Tom Rini53633a82024-02-29 12:33:36 -05003969 trips {
Tom Rini6bb92fc2024-05-20 09:54:58 -06003970 gpu_top_alert0: trip-point0 {
Tom Rini53633a82024-02-29 12:33:36 -05003971 temperature = <90000>;
3972 hysteresis = <2000>;
3973 type = "hot";
3974 };
3975 };
3976 };
3977
3978 aoss1-thermal {
3979 polling-delay-passive = <250>;
3980 polling-delay = <1000>;
3981
3982 thermal-sensors = <&tsens1 0>;
3983
3984 trips {
3985 trip-point0 {
3986 temperature = <90000>;
3987 hysteresis = <2000>;
3988 type = "hot";
3989 };
3990 };
3991 };
3992
3993 wlan-thermal {
3994 polling-delay-passive = <250>;
3995 polling-delay = <1000>;
3996
3997 thermal-sensors = <&tsens1 1>;
3998
3999 trips {
4000 trip-point0 {
4001 temperature = <90000>;
4002 hysteresis = <2000>;
4003 type = "hot";
4004 };
4005 };
4006 };
4007
4008 video-thermal {
4009 polling-delay-passive = <250>;
4010 polling-delay = <1000>;
4011
4012 thermal-sensors = <&tsens1 2>;
4013
4014 trips {
4015 trip-point0 {
4016 temperature = <90000>;
4017 hysteresis = <2000>;
4018 type = "hot";
4019 };
4020 };
4021 };
4022
4023 mem-thermal {
4024 polling-delay-passive = <250>;
4025 polling-delay = <1000>;
4026
4027 thermal-sensors = <&tsens1 3>;
4028
4029 trips {
4030 trip-point0 {
4031 temperature = <90000>;
4032 hysteresis = <2000>;
4033 type = "hot";
4034 };
4035 };
4036 };
4037
4038 q6-hvx-thermal {
4039 polling-delay-passive = <250>;
4040 polling-delay = <1000>;
4041
4042 thermal-sensors = <&tsens1 4>;
4043
4044 trips {
4045 trip-point0 {
4046 temperature = <90000>;
4047 hysteresis = <2000>;
4048 type = "hot";
4049 };
4050 };
4051 };
4052
4053 camera-thermal {
4054 polling-delay-passive = <250>;
4055 polling-delay = <1000>;
4056
4057 thermal-sensors = <&tsens1 5>;
4058
4059 trips {
4060 trip-point0 {
4061 temperature = <90000>;
4062 hysteresis = <2000>;
4063 type = "hot";
4064 };
4065 };
4066 };
4067
4068 compute-thermal {
4069 polling-delay-passive = <250>;
4070 polling-delay = <1000>;
4071
4072 thermal-sensors = <&tsens1 6>;
4073
4074 trips {
4075 trip-point0 {
4076 temperature = <90000>;
4077 hysteresis = <2000>;
4078 type = "hot";
4079 };
4080 };
4081 };
4082
4083 mdm-dsp-thermal {
4084 polling-delay-passive = <250>;
4085 polling-delay = <1000>;
4086
4087 thermal-sensors = <&tsens1 7>;
4088
4089 trips {
4090 trip-point0 {
4091 temperature = <90000>;
4092 hysteresis = <2000>;
4093 type = "hot";
4094 };
4095 };
4096 };
4097
4098 npu-thermal {
4099 polling-delay-passive = <250>;
4100 polling-delay = <1000>;
4101
4102 thermal-sensors = <&tsens1 8>;
4103
4104 trips {
4105 trip-point0 {
4106 temperature = <90000>;
4107 hysteresis = <2000>;
4108 type = "hot";
4109 };
4110 };
4111 };
4112
4113 gpu-bottom-thermal {
4114 polling-delay-passive = <250>;
4115 polling-delay = <1000>;
4116
4117 thermal-sensors = <&tsens1 11>;
4118
Tom Rini6bb92fc2024-05-20 09:54:58 -06004119 cooling-maps {
4120 map0 {
4121 trip = <&gpu_bottom_alert0>;
4122 cooling-device = <&gpu THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
4123 };
4124 };
4125
Tom Rini53633a82024-02-29 12:33:36 -05004126 trips {
Tom Rini6bb92fc2024-05-20 09:54:58 -06004127 gpu_bottom_alert0: trip-point0 {
Tom Rini53633a82024-02-29 12:33:36 -05004128 temperature = <90000>;
4129 hysteresis = <2000>;
4130 type = "hot";
4131 };
4132 };
4133 };
4134 };
4135
4136 timer {
4137 compatible = "arm,armv8-timer";
4138 interrupts = <GIC_PPI 1 IRQ_TYPE_LEVEL_LOW>,
4139 <GIC_PPI 2 IRQ_TYPE_LEVEL_LOW>,
4140 <GIC_PPI 3 IRQ_TYPE_LEVEL_LOW>,
4141 <GIC_PPI 0 IRQ_TYPE_LEVEL_LOW>;
4142 };
4143};