blob: 3e236adb9397b6d364fa6a1dc1bf0eabb5983342 [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) 2019, Linaro Limited
5 */
6
7#include <dt-bindings/dma/qcom-gpi.h>
8#include <dt-bindings/firmware/qcom,scm.h>
9#include <dt-bindings/interrupt-controller/arm-gic.h>
10#include <dt-bindings/phy/phy-qcom-qmp.h>
11#include <dt-bindings/power/qcom-rpmpd.h>
12#include <dt-bindings/soc/qcom,rpmh-rsc.h>
13#include <dt-bindings/clock/qcom,rpmh.h>
14#include <dt-bindings/clock/qcom,dispcc-sm8150.h>
15#include <dt-bindings/clock/qcom,gcc-sm8150.h>
16#include <dt-bindings/clock/qcom,gpucc-sm8150.h>
Tom Rini6b642ac2024-10-01 12:20:28 -060017#include <dt-bindings/clock/qcom,videocc-sm8150.h>
Tom Rini53633a82024-02-29 12:33:36 -050018#include <dt-bindings/interconnect/qcom,osm-l3.h>
19#include <dt-bindings/interconnect/qcom,sm8150.h>
20#include <dt-bindings/thermal/thermal.h>
21
22/ {
23 interrupt-parent = <&intc>;
24
25 #address-cells = <2>;
26 #size-cells = <2>;
27
28 chosen { };
29
30 clocks {
31 xo_board: xo-board {
32 compatible = "fixed-clock";
33 #clock-cells = <0>;
34 clock-frequency = <38400000>;
35 clock-output-names = "xo_board";
36 };
37
38 sleep_clk: sleep-clk {
39 compatible = "fixed-clock";
40 #clock-cells = <0>;
41 clock-frequency = <32764>;
42 clock-output-names = "sleep_clk";
43 };
44 };
45
46 cpus {
47 #address-cells = <2>;
48 #size-cells = <0>;
49
50 CPU0: cpu@0 {
51 device_type = "cpu";
52 compatible = "qcom,kryo485";
53 reg = <0x0 0x0>;
54 clocks = <&cpufreq_hw 0>;
55 enable-method = "psci";
56 capacity-dmips-mhz = <488>;
57 dynamic-power-coefficient = <232>;
58 next-level-cache = <&L2_0>;
59 qcom,freq-domain = <&cpufreq_hw 0>;
60 operating-points-v2 = <&cpu0_opp_table>;
61 interconnects = <&gem_noc MASTER_AMPSS_M0 0 &mc_virt SLAVE_EBI_CH0 0>,
62 <&osm_l3 MASTER_OSM_L3_APPS &osm_l3 SLAVE_OSM_L3>;
63 power-domains = <&CPU_PD0>;
64 power-domain-names = "psci";
65 #cooling-cells = <2>;
66 L2_0: l2-cache {
67 compatible = "cache";
68 cache-level = <2>;
69 cache-unified;
70 next-level-cache = <&L3_0>;
71 L3_0: l3-cache {
72 compatible = "cache";
73 cache-level = <3>;
74 cache-unified;
75 };
76 };
77 };
78
79 CPU1: cpu@100 {
80 device_type = "cpu";
81 compatible = "qcom,kryo485";
82 reg = <0x0 0x100>;
83 clocks = <&cpufreq_hw 0>;
84 enable-method = "psci";
85 capacity-dmips-mhz = <488>;
86 dynamic-power-coefficient = <232>;
87 next-level-cache = <&L2_100>;
88 qcom,freq-domain = <&cpufreq_hw 0>;
89 operating-points-v2 = <&cpu0_opp_table>;
90 interconnects = <&gem_noc MASTER_AMPSS_M0 0 &mc_virt SLAVE_EBI_CH0 0>,
91 <&osm_l3 MASTER_OSM_L3_APPS &osm_l3 SLAVE_OSM_L3>;
92 power-domains = <&CPU_PD1>;
93 power-domain-names = "psci";
94 #cooling-cells = <2>;
95 L2_100: l2-cache {
96 compatible = "cache";
97 cache-level = <2>;
98 cache-unified;
99 next-level-cache = <&L3_0>;
100 };
101 };
102
103 CPU2: cpu@200 {
104 device_type = "cpu";
105 compatible = "qcom,kryo485";
106 reg = <0x0 0x200>;
107 clocks = <&cpufreq_hw 0>;
108 enable-method = "psci";
109 capacity-dmips-mhz = <488>;
110 dynamic-power-coefficient = <232>;
111 next-level-cache = <&L2_200>;
112 qcom,freq-domain = <&cpufreq_hw 0>;
113 operating-points-v2 = <&cpu0_opp_table>;
114 interconnects = <&gem_noc MASTER_AMPSS_M0 0 &mc_virt SLAVE_EBI_CH0 0>,
115 <&osm_l3 MASTER_OSM_L3_APPS &osm_l3 SLAVE_OSM_L3>;
116 power-domains = <&CPU_PD2>;
117 power-domain-names = "psci";
118 #cooling-cells = <2>;
119 L2_200: l2-cache {
120 compatible = "cache";
121 cache-level = <2>;
122 cache-unified;
123 next-level-cache = <&L3_0>;
124 };
125 };
126
127 CPU3: cpu@300 {
128 device_type = "cpu";
129 compatible = "qcom,kryo485";
130 reg = <0x0 0x300>;
131 clocks = <&cpufreq_hw 0>;
132 enable-method = "psci";
133 capacity-dmips-mhz = <488>;
134 dynamic-power-coefficient = <232>;
135 next-level-cache = <&L2_300>;
136 qcom,freq-domain = <&cpufreq_hw 0>;
137 operating-points-v2 = <&cpu0_opp_table>;
138 interconnects = <&gem_noc MASTER_AMPSS_M0 0 &mc_virt SLAVE_EBI_CH0 0>,
139 <&osm_l3 MASTER_OSM_L3_APPS &osm_l3 SLAVE_OSM_L3>;
140 power-domains = <&CPU_PD3>;
141 power-domain-names = "psci";
142 #cooling-cells = <2>;
143 L2_300: l2-cache {
144 compatible = "cache";
145 cache-level = <2>;
146 cache-unified;
147 next-level-cache = <&L3_0>;
148 };
149 };
150
151 CPU4: cpu@400 {
152 device_type = "cpu";
153 compatible = "qcom,kryo485";
154 reg = <0x0 0x400>;
155 clocks = <&cpufreq_hw 1>;
156 enable-method = "psci";
157 capacity-dmips-mhz = <1024>;
158 dynamic-power-coefficient = <369>;
159 next-level-cache = <&L2_400>;
160 qcom,freq-domain = <&cpufreq_hw 1>;
161 operating-points-v2 = <&cpu4_opp_table>;
162 interconnects = <&gem_noc MASTER_AMPSS_M0 0 &mc_virt SLAVE_EBI_CH0 0>,
163 <&osm_l3 MASTER_OSM_L3_APPS &osm_l3 SLAVE_OSM_L3>;
164 power-domains = <&CPU_PD4>;
165 power-domain-names = "psci";
166 #cooling-cells = <2>;
167 L2_400: l2-cache {
168 compatible = "cache";
169 cache-level = <2>;
170 cache-unified;
171 next-level-cache = <&L3_0>;
172 };
173 };
174
175 CPU5: cpu@500 {
176 device_type = "cpu";
177 compatible = "qcom,kryo485";
178 reg = <0x0 0x500>;
179 clocks = <&cpufreq_hw 1>;
180 enable-method = "psci";
181 capacity-dmips-mhz = <1024>;
182 dynamic-power-coefficient = <369>;
183 next-level-cache = <&L2_500>;
184 qcom,freq-domain = <&cpufreq_hw 1>;
185 operating-points-v2 = <&cpu4_opp_table>;
186 interconnects = <&gem_noc MASTER_AMPSS_M0 0 &mc_virt SLAVE_EBI_CH0 0>,
187 <&osm_l3 MASTER_OSM_L3_APPS &osm_l3 SLAVE_OSM_L3>;
188 power-domains = <&CPU_PD5>;
189 power-domain-names = "psci";
190 #cooling-cells = <2>;
191 L2_500: l2-cache {
192 compatible = "cache";
193 cache-level = <2>;
194 cache-unified;
195 next-level-cache = <&L3_0>;
196 };
197 };
198
199 CPU6: cpu@600 {
200 device_type = "cpu";
201 compatible = "qcom,kryo485";
202 reg = <0x0 0x600>;
203 clocks = <&cpufreq_hw 1>;
204 enable-method = "psci";
205 capacity-dmips-mhz = <1024>;
206 dynamic-power-coefficient = <369>;
207 next-level-cache = <&L2_600>;
208 qcom,freq-domain = <&cpufreq_hw 1>;
209 operating-points-v2 = <&cpu4_opp_table>;
210 interconnects = <&gem_noc MASTER_AMPSS_M0 0 &mc_virt SLAVE_EBI_CH0 0>,
211 <&osm_l3 MASTER_OSM_L3_APPS &osm_l3 SLAVE_OSM_L3>;
212 power-domains = <&CPU_PD6>;
213 power-domain-names = "psci";
214 #cooling-cells = <2>;
215 L2_600: l2-cache {
216 compatible = "cache";
217 cache-level = <2>;
218 cache-unified;
219 next-level-cache = <&L3_0>;
220 };
221 };
222
223 CPU7: cpu@700 {
224 device_type = "cpu";
225 compatible = "qcom,kryo485";
226 reg = <0x0 0x700>;
227 clocks = <&cpufreq_hw 2>;
228 enable-method = "psci";
229 capacity-dmips-mhz = <1024>;
230 dynamic-power-coefficient = <421>;
231 next-level-cache = <&L2_700>;
232 qcom,freq-domain = <&cpufreq_hw 2>;
233 operating-points-v2 = <&cpu7_opp_table>;
234 interconnects = <&gem_noc MASTER_AMPSS_M0 0 &mc_virt SLAVE_EBI_CH0 0>,
235 <&osm_l3 MASTER_OSM_L3_APPS &osm_l3 SLAVE_OSM_L3>;
236 power-domains = <&CPU_PD7>;
237 power-domain-names = "psci";
238 #cooling-cells = <2>;
239 L2_700: l2-cache {
240 compatible = "cache";
241 cache-level = <2>;
242 cache-unified;
243 next-level-cache = <&L3_0>;
244 };
245 };
246
247 cpu-map {
248 cluster0 {
249 core0 {
250 cpu = <&CPU0>;
251 };
252
253 core1 {
254 cpu = <&CPU1>;
255 };
256
257 core2 {
258 cpu = <&CPU2>;
259 };
260
261 core3 {
262 cpu = <&CPU3>;
263 };
264
265 core4 {
266 cpu = <&CPU4>;
267 };
268
269 core5 {
270 cpu = <&CPU5>;
271 };
272
273 core6 {
274 cpu = <&CPU6>;
275 };
276
277 core7 {
278 cpu = <&CPU7>;
279 };
280 };
281 };
282
283 idle-states {
284 entry-method = "psci";
285
286 LITTLE_CPU_SLEEP_0: cpu-sleep-0-0 {
287 compatible = "arm,idle-state";
288 idle-state-name = "little-rail-power-collapse";
289 arm,psci-suspend-param = <0x40000004>;
290 entry-latency-us = <355>;
291 exit-latency-us = <909>;
292 min-residency-us = <3934>;
293 local-timer-stop;
294 };
295
296 BIG_CPU_SLEEP_0: cpu-sleep-1-0 {
297 compatible = "arm,idle-state";
298 idle-state-name = "big-rail-power-collapse";
299 arm,psci-suspend-param = <0x40000004>;
300 entry-latency-us = <241>;
301 exit-latency-us = <1461>;
302 min-residency-us = <4488>;
303 local-timer-stop;
304 };
305 };
306
307 domain-idle-states {
308 CLUSTER_SLEEP_0: cluster-sleep-0 {
309 compatible = "domain-idle-state";
310 arm,psci-suspend-param = <0x4100c244>;
311 entry-latency-us = <3263>;
312 exit-latency-us = <6562>;
313 min-residency-us = <9987>;
314 };
315 };
316 };
317
318 cpu0_opp_table: opp-table-cpu0 {
319 compatible = "operating-points-v2";
320 opp-shared;
321
322 cpu0_opp1: opp-300000000 {
323 opp-hz = /bits/ 64 <300000000>;
324 opp-peak-kBps = <800000 9600000>;
325 };
326
327 cpu0_opp2: opp-403200000 {
328 opp-hz = /bits/ 64 <403200000>;
329 opp-peak-kBps = <800000 9600000>;
330 };
331
332 cpu0_opp3: opp-499200000 {
333 opp-hz = /bits/ 64 <499200000>;
334 opp-peak-kBps = <800000 12902400>;
335 };
336
337 cpu0_opp4: opp-576000000 {
338 opp-hz = /bits/ 64 <576000000>;
339 opp-peak-kBps = <800000 12902400>;
340 };
341
342 cpu0_opp5: opp-672000000 {
343 opp-hz = /bits/ 64 <672000000>;
344 opp-peak-kBps = <800000 15974400>;
345 };
346
347 cpu0_opp6: opp-768000000 {
348 opp-hz = /bits/ 64 <768000000>;
349 opp-peak-kBps = <1804000 19660800>;
350 };
351
352 cpu0_opp7: opp-844800000 {
353 opp-hz = /bits/ 64 <844800000>;
354 opp-peak-kBps = <1804000 19660800>;
355 };
356
357 cpu0_opp8: opp-940800000 {
358 opp-hz = /bits/ 64 <940800000>;
359 opp-peak-kBps = <1804000 22732800>;
360 };
361
362 cpu0_opp9: opp-1036800000 {
363 opp-hz = /bits/ 64 <1036800000>;
364 opp-peak-kBps = <1804000 22732800>;
365 };
366
367 cpu0_opp10: opp-1113600000 {
368 opp-hz = /bits/ 64 <1113600000>;
369 opp-peak-kBps = <2188000 25804800>;
370 };
371
372 cpu0_opp11: opp-1209600000 {
373 opp-hz = /bits/ 64 <1209600000>;
374 opp-peak-kBps = <2188000 31948800>;
375 };
376
377 cpu0_opp12: opp-1305600000 {
378 opp-hz = /bits/ 64 <1305600000>;
379 opp-peak-kBps = <3072000 31948800>;
380 };
381
382 cpu0_opp13: opp-1382400000 {
383 opp-hz = /bits/ 64 <1382400000>;
384 opp-peak-kBps = <3072000 31948800>;
385 };
386
387 cpu0_opp14: opp-1478400000 {
388 opp-hz = /bits/ 64 <1478400000>;
389 opp-peak-kBps = <3072000 31948800>;
390 };
391
392 cpu0_opp15: opp-1555200000 {
393 opp-hz = /bits/ 64 <1555200000>;
394 opp-peak-kBps = <3072000 40550400>;
395 };
396
397 cpu0_opp16: opp-1632000000 {
398 opp-hz = /bits/ 64 <1632000000>;
399 opp-peak-kBps = <3072000 40550400>;
400 };
401
402 cpu0_opp17: opp-1708800000 {
403 opp-hz = /bits/ 64 <1708800000>;
404 opp-peak-kBps = <3072000 43008000>;
405 };
406
407 cpu0_opp18: opp-1785600000 {
408 opp-hz = /bits/ 64 <1785600000>;
409 opp-peak-kBps = <3072000 43008000>;
410 };
411 };
412
413 cpu4_opp_table: opp-table-cpu4 {
414 compatible = "operating-points-v2";
415 opp-shared;
416
417 cpu4_opp1: opp-710400000 {
418 opp-hz = /bits/ 64 <710400000>;
419 opp-peak-kBps = <1804000 15974400>;
420 };
421
422 cpu4_opp2: opp-825600000 {
423 opp-hz = /bits/ 64 <825600000>;
424 opp-peak-kBps = <2188000 19660800>;
425 };
426
427 cpu4_opp3: opp-940800000 {
428 opp-hz = /bits/ 64 <940800000>;
429 opp-peak-kBps = <2188000 22732800>;
430 };
431
432 cpu4_opp4: opp-1056000000 {
433 opp-hz = /bits/ 64 <1056000000>;
434 opp-peak-kBps = <3072000 25804800>;
435 };
436
437 cpu4_opp5: opp-1171200000 {
438 opp-hz = /bits/ 64 <1171200000>;
439 opp-peak-kBps = <3072000 31948800>;
440 };
441
442 cpu4_opp6: opp-1286400000 {
443 opp-hz = /bits/ 64 <1286400000>;
444 opp-peak-kBps = <4068000 31948800>;
445 };
446
447 cpu4_opp7: opp-1401600000 {
448 opp-hz = /bits/ 64 <1401600000>;
449 opp-peak-kBps = <4068000 31948800>;
450 };
451
452 cpu4_opp8: opp-1497600000 {
453 opp-hz = /bits/ 64 <1497600000>;
454 opp-peak-kBps = <4068000 40550400>;
455 };
456
457 cpu4_opp9: opp-1612800000 {
458 opp-hz = /bits/ 64 <1612800000>;
459 opp-peak-kBps = <4068000 40550400>;
460 };
461
462 cpu4_opp10: opp-1708800000 {
463 opp-hz = /bits/ 64 <1708800000>;
464 opp-peak-kBps = <4068000 43008000>;
465 };
466
467 cpu4_opp11: opp-1804800000 {
468 opp-hz = /bits/ 64 <1804800000>;
469 opp-peak-kBps = <6220000 43008000>;
470 };
471
472 cpu4_opp12: opp-1920000000 {
473 opp-hz = /bits/ 64 <1920000000>;
474 opp-peak-kBps = <6220000 49152000>;
475 };
476
477 cpu4_opp13: opp-2016000000 {
478 opp-hz = /bits/ 64 <2016000000>;
479 opp-peak-kBps = <7216000 49152000>;
480 };
481
482 cpu4_opp14: opp-2131200000 {
483 opp-hz = /bits/ 64 <2131200000>;
484 opp-peak-kBps = <8368000 49152000>;
485 };
486
487 cpu4_opp15: opp-2227200000 {
488 opp-hz = /bits/ 64 <2227200000>;
489 opp-peak-kBps = <8368000 51609600>;
490 };
491
492 cpu4_opp16: opp-2323200000 {
493 opp-hz = /bits/ 64 <2323200000>;
494 opp-peak-kBps = <8368000 51609600>;
495 };
496
497 cpu4_opp17: opp-2419200000 {
498 opp-hz = /bits/ 64 <2419200000>;
499 opp-peak-kBps = <8368000 51609600>;
500 };
501 };
502
503 cpu7_opp_table: opp-table-cpu7 {
504 compatible = "operating-points-v2";
505 opp-shared;
506
507 cpu7_opp1: opp-825600000 {
508 opp-hz = /bits/ 64 <825600000>;
509 opp-peak-kBps = <2188000 19660800>;
510 };
511
512 cpu7_opp2: opp-940800000 {
513 opp-hz = /bits/ 64 <940800000>;
514 opp-peak-kBps = <2188000 22732800>;
515 };
516
517 cpu7_opp3: opp-1056000000 {
518 opp-hz = /bits/ 64 <1056000000>;
519 opp-peak-kBps = <3072000 25804800>;
520 };
521
522 cpu7_opp4: opp-1171200000 {
523 opp-hz = /bits/ 64 <1171200000>;
524 opp-peak-kBps = <3072000 31948800>;
525 };
526
527 cpu7_opp5: opp-1286400000 {
528 opp-hz = /bits/ 64 <1286400000>;
529 opp-peak-kBps = <4068000 31948800>;
530 };
531
532 cpu7_opp6: opp-1401600000 {
533 opp-hz = /bits/ 64 <1401600000>;
534 opp-peak-kBps = <4068000 31948800>;
535 };
536
537 cpu7_opp7: opp-1497600000 {
538 opp-hz = /bits/ 64 <1497600000>;
539 opp-peak-kBps = <4068000 40550400>;
540 };
541
542 cpu7_opp8: opp-1612800000 {
543 opp-hz = /bits/ 64 <1612800000>;
544 opp-peak-kBps = <4068000 40550400>;
545 };
546
547 cpu7_opp9: opp-1708800000 {
548 opp-hz = /bits/ 64 <1708800000>;
549 opp-peak-kBps = <4068000 43008000>;
550 };
551
552 cpu7_opp10: opp-1804800000 {
553 opp-hz = /bits/ 64 <1804800000>;
554 opp-peak-kBps = <6220000 43008000>;
555 };
556
557 cpu7_opp11: opp-1920000000 {
558 opp-hz = /bits/ 64 <1920000000>;
559 opp-peak-kBps = <6220000 49152000>;
560 };
561
562 cpu7_opp12: opp-2016000000 {
563 opp-hz = /bits/ 64 <2016000000>;
564 opp-peak-kBps = <7216000 49152000>;
565 };
566
567 cpu7_opp13: opp-2131200000 {
568 opp-hz = /bits/ 64 <2131200000>;
569 opp-peak-kBps = <8368000 49152000>;
570 };
571
572 cpu7_opp14: opp-2227200000 {
573 opp-hz = /bits/ 64 <2227200000>;
574 opp-peak-kBps = <8368000 51609600>;
575 };
576
577 cpu7_opp15: opp-2323200000 {
578 opp-hz = /bits/ 64 <2323200000>;
579 opp-peak-kBps = <8368000 51609600>;
580 };
581
582 cpu7_opp16: opp-2419200000 {
583 opp-hz = /bits/ 64 <2419200000>;
584 opp-peak-kBps = <8368000 51609600>;
585 };
586
587 cpu7_opp17: opp-2534400000 {
588 opp-hz = /bits/ 64 <2534400000>;
589 opp-peak-kBps = <8368000 51609600>;
590 };
591
592 cpu7_opp18: opp-2649600000 {
593 opp-hz = /bits/ 64 <2649600000>;
594 opp-peak-kBps = <8368000 51609600>;
595 };
596
597 cpu7_opp19: opp-2745600000 {
598 opp-hz = /bits/ 64 <2745600000>;
599 opp-peak-kBps = <8368000 51609600>;
600 };
601
602 cpu7_opp20: opp-2841600000 {
603 opp-hz = /bits/ 64 <2841600000>;
604 opp-peak-kBps = <8368000 51609600>;
605 };
606 };
607
608 firmware {
609 scm: scm {
610 compatible = "qcom,scm-sm8150", "qcom,scm";
611 #reset-cells = <1>;
612 };
613 };
614
615 memory@80000000 {
616 device_type = "memory";
617 /* We expect the bootloader to fill in the size */
618 reg = <0x0 0x80000000 0x0 0x0>;
619 };
620
621 pmu {
622 compatible = "arm,armv8-pmuv3";
623 interrupts = <GIC_PPI 5 IRQ_TYPE_LEVEL_HIGH>;
624 };
625
626 psci {
627 compatible = "arm,psci-1.0";
628 method = "smc";
629
630 CPU_PD0: power-domain-cpu0 {
631 #power-domain-cells = <0>;
632 power-domains = <&CLUSTER_PD>;
633 domain-idle-states = <&LITTLE_CPU_SLEEP_0>;
634 };
635
636 CPU_PD1: power-domain-cpu1 {
637 #power-domain-cells = <0>;
638 power-domains = <&CLUSTER_PD>;
639 domain-idle-states = <&LITTLE_CPU_SLEEP_0>;
640 };
641
642 CPU_PD2: power-domain-cpu2 {
643 #power-domain-cells = <0>;
644 power-domains = <&CLUSTER_PD>;
645 domain-idle-states = <&LITTLE_CPU_SLEEP_0>;
646 };
647
648 CPU_PD3: power-domain-cpu3 {
649 #power-domain-cells = <0>;
650 power-domains = <&CLUSTER_PD>;
651 domain-idle-states = <&LITTLE_CPU_SLEEP_0>;
652 };
653
654 CPU_PD4: power-domain-cpu4 {
655 #power-domain-cells = <0>;
656 power-domains = <&CLUSTER_PD>;
657 domain-idle-states = <&BIG_CPU_SLEEP_0>;
658 };
659
660 CPU_PD5: power-domain-cpu5 {
661 #power-domain-cells = <0>;
662 power-domains = <&CLUSTER_PD>;
663 domain-idle-states = <&BIG_CPU_SLEEP_0>;
664 };
665
666 CPU_PD6: power-domain-cpu6 {
667 #power-domain-cells = <0>;
668 power-domains = <&CLUSTER_PD>;
669 domain-idle-states = <&BIG_CPU_SLEEP_0>;
670 };
671
672 CPU_PD7: power-domain-cpu7 {
673 #power-domain-cells = <0>;
674 power-domains = <&CLUSTER_PD>;
675 domain-idle-states = <&BIG_CPU_SLEEP_0>;
676 };
677
678 CLUSTER_PD: power-domain-cpu-cluster0 {
679 #power-domain-cells = <0>;
680 domain-idle-states = <&CLUSTER_SLEEP_0>;
681 };
682 };
683
684 reserved-memory {
685 #address-cells = <2>;
686 #size-cells = <2>;
687 ranges;
688
689 hyp_mem: memory@85700000 {
690 reg = <0x0 0x85700000 0x0 0x600000>;
691 no-map;
692 };
693
694 xbl_mem: memory@85d00000 {
695 reg = <0x0 0x85d00000 0x0 0x140000>;
696 no-map;
697 };
698
699 aop_mem: memory@85f00000 {
700 reg = <0x0 0x85f00000 0x0 0x20000>;
701 no-map;
702 };
703
704 aop_cmd_db: memory@85f20000 {
705 compatible = "qcom,cmd-db";
706 reg = <0x0 0x85f20000 0x0 0x20000>;
707 no-map;
708 };
709
710 smem_mem: memory@86000000 {
711 reg = <0x0 0x86000000 0x0 0x200000>;
712 no-map;
713 };
714
715 tz_mem: memory@86200000 {
716 reg = <0x0 0x86200000 0x0 0x3900000>;
717 no-map;
718 };
719
720 rmtfs_mem: memory@89b00000 {
721 compatible = "qcom,rmtfs-mem";
722 reg = <0x0 0x89b00000 0x0 0x200000>;
723 no-map;
724
725 qcom,client-id = <1>;
726 qcom,vmid = <QCOM_SCM_VMID_MSS_MSA>;
727 };
728
729 camera_mem: memory@8b700000 {
730 reg = <0x0 0x8b700000 0x0 0x500000>;
731 no-map;
732 };
733
734 wlan_mem: memory@8bc00000 {
735 reg = <0x0 0x8bc00000 0x0 0x180000>;
736 no-map;
737 };
738
739 npu_mem: memory@8bd80000 {
740 reg = <0x0 0x8bd80000 0x0 0x80000>;
741 no-map;
742 };
743
744 adsp_mem: memory@8be00000 {
745 reg = <0x0 0x8be00000 0x0 0x1a00000>;
746 no-map;
747 };
748
749 mpss_mem: memory@8d800000 {
750 reg = <0x0 0x8d800000 0x0 0x9600000>;
751 no-map;
752 };
753
754 venus_mem: memory@96e00000 {
755 reg = <0x0 0x96e00000 0x0 0x500000>;
756 no-map;
757 };
758
759 slpi_mem: memory@97300000 {
760 reg = <0x0 0x97300000 0x0 0x1400000>;
761 no-map;
762 };
763
764 ipa_fw_mem: memory@98700000 {
765 reg = <0x0 0x98700000 0x0 0x10000>;
766 no-map;
767 };
768
769 ipa_gsi_mem: memory@98710000 {
770 reg = <0x0 0x98710000 0x0 0x5000>;
771 no-map;
772 };
773
774 gpu_mem: memory@98715000 {
775 reg = <0x0 0x98715000 0x0 0x2000>;
776 no-map;
777 };
778
779 spss_mem: memory@98800000 {
780 reg = <0x0 0x98800000 0x0 0x100000>;
781 no-map;
782 };
783
784 cdsp_mem: memory@98900000 {
785 reg = <0x0 0x98900000 0x0 0x1400000>;
786 no-map;
787 };
788
789 qseecom_mem: memory@9e400000 {
790 reg = <0x0 0x9e400000 0x0 0x1400000>;
791 no-map;
792 };
793 };
794
795 smem {
796 compatible = "qcom,smem";
797 memory-region = <&smem_mem>;
798 hwlocks = <&tcsr_mutex 3>;
799 };
800
801 smp2p-cdsp {
802 compatible = "qcom,smp2p";
803 qcom,smem = <94>, <432>;
804
805 interrupts = <GIC_SPI 576 IRQ_TYPE_EDGE_RISING>;
806
807 mboxes = <&apss_shared 6>;
808
809 qcom,local-pid = <0>;
810 qcom,remote-pid = <5>;
811
812 cdsp_smp2p_out: master-kernel {
813 qcom,entry-name = "master-kernel";
814 #qcom,smem-state-cells = <1>;
815 };
816
817 cdsp_smp2p_in: slave-kernel {
818 qcom,entry-name = "slave-kernel";
819
820 interrupt-controller;
821 #interrupt-cells = <2>;
822 };
823 };
824
825 smp2p-lpass {
826 compatible = "qcom,smp2p";
827 qcom,smem = <443>, <429>;
828
829 interrupts = <GIC_SPI 158 IRQ_TYPE_EDGE_RISING>;
830
831 mboxes = <&apss_shared 10>;
832
833 qcom,local-pid = <0>;
834 qcom,remote-pid = <2>;
835
836 adsp_smp2p_out: master-kernel {
837 qcom,entry-name = "master-kernel";
838 #qcom,smem-state-cells = <1>;
839 };
840
841 adsp_smp2p_in: slave-kernel {
842 qcom,entry-name = "slave-kernel";
843
844 interrupt-controller;
845 #interrupt-cells = <2>;
846 };
847 };
848
849 smp2p-mpss {
850 compatible = "qcom,smp2p";
851 qcom,smem = <435>, <428>;
852
853 interrupts = <GIC_SPI 451 IRQ_TYPE_EDGE_RISING>;
854
855 mboxes = <&apss_shared 14>;
856
857 qcom,local-pid = <0>;
858 qcom,remote-pid = <1>;
859
860 modem_smp2p_out: master-kernel {
861 qcom,entry-name = "master-kernel";
862 #qcom,smem-state-cells = <1>;
863 };
864
865 modem_smp2p_in: slave-kernel {
866 qcom,entry-name = "slave-kernel";
867
868 interrupt-controller;
869 #interrupt-cells = <2>;
870 };
871 };
872
873 smp2p-slpi {
874 compatible = "qcom,smp2p";
875 qcom,smem = <481>, <430>;
876
877 interrupts = <GIC_SPI 172 IRQ_TYPE_EDGE_RISING>;
878
879 mboxes = <&apss_shared 26>;
880
881 qcom,local-pid = <0>;
882 qcom,remote-pid = <3>;
883
884 slpi_smp2p_out: master-kernel {
885 qcom,entry-name = "master-kernel";
886 #qcom,smem-state-cells = <1>;
887 };
888
889 slpi_smp2p_in: slave-kernel {
890 qcom,entry-name = "slave-kernel";
891
892 interrupt-controller;
893 #interrupt-cells = <2>;
894 };
895 };
896
897 soc: soc@0 {
898 #address-cells = <2>;
899 #size-cells = <2>;
900 ranges = <0 0 0 0 0x10 0>;
901 dma-ranges = <0 0 0 0 0x10 0>;
902 compatible = "simple-bus";
903
904 gcc: clock-controller@100000 {
905 compatible = "qcom,gcc-sm8150";
906 reg = <0x0 0x00100000 0x0 0x1f0000>;
907 #clock-cells = <1>;
908 #reset-cells = <1>;
909 #power-domain-cells = <1>;
910 clock-names = "bi_tcxo",
911 "sleep_clk";
912 clocks = <&rpmhcc RPMH_CXO_CLK>,
913 <&sleep_clk>;
914 };
915
916 gpi_dma0: dma-controller@800000 {
917 compatible = "qcom,sm8150-gpi-dma", "qcom,sdm845-gpi-dma";
918 reg = <0 0x00800000 0 0x60000>;
919 interrupts = <GIC_SPI 244 IRQ_TYPE_LEVEL_HIGH>,
920 <GIC_SPI 245 IRQ_TYPE_LEVEL_HIGH>,
921 <GIC_SPI 246 IRQ_TYPE_LEVEL_HIGH>,
922 <GIC_SPI 247 IRQ_TYPE_LEVEL_HIGH>,
923 <GIC_SPI 248 IRQ_TYPE_LEVEL_HIGH>,
924 <GIC_SPI 249 IRQ_TYPE_LEVEL_HIGH>,
925 <GIC_SPI 250 IRQ_TYPE_LEVEL_HIGH>,
926 <GIC_SPI 251 IRQ_TYPE_LEVEL_HIGH>,
927 <GIC_SPI 252 IRQ_TYPE_LEVEL_HIGH>,
928 <GIC_SPI 253 IRQ_TYPE_LEVEL_HIGH>,
929 <GIC_SPI 254 IRQ_TYPE_LEVEL_HIGH>,
930 <GIC_SPI 255 IRQ_TYPE_LEVEL_HIGH>,
931 <GIC_SPI 256 IRQ_TYPE_LEVEL_HIGH>;
932 dma-channels = <13>;
933 dma-channel-mask = <0xfa>;
934 iommus = <&apps_smmu 0x00d6 0x0>;
935 #dma-cells = <3>;
936 status = "disabled";
937 };
938
939 ethernet: ethernet@20000 {
940 compatible = "qcom,sm8150-ethqos";
941 reg = <0x0 0x00020000 0x0 0x10000>,
942 <0x0 0x00036000 0x0 0x100>;
943 reg-names = "stmmaceth", "rgmii";
944 clock-names = "stmmaceth", "pclk", "ptp_ref", "rgmii";
945 clocks = <&gcc GCC_EMAC_AXI_CLK>,
946 <&gcc GCC_EMAC_SLV_AHB_CLK>,
947 <&gcc GCC_EMAC_PTP_CLK>,
948 <&gcc GCC_EMAC_RGMII_CLK>;
949 interrupts = <GIC_SPI 689 IRQ_TYPE_LEVEL_HIGH>,
950 <GIC_SPI 699 IRQ_TYPE_LEVEL_HIGH>;
951 interrupt-names = "macirq", "eth_lpi";
952
953 power-domains = <&gcc EMAC_GDSC>;
954 resets = <&gcc GCC_EMAC_BCR>;
955
956 iommus = <&apps_smmu 0x3c0 0x0>;
957
958 snps,tso;
959 rx-fifo-depth = <4096>;
960 tx-fifo-depth = <4096>;
961
962 status = "disabled";
963 };
964
965 qfprom: efuse@784000 {
966 compatible = "qcom,sm8150-qfprom", "qcom,qfprom";
967 reg = <0 0x00784000 0 0x8ff>;
968 #address-cells = <1>;
969 #size-cells = <1>;
970
Tom Rini6bb92fc2024-05-20 09:54:58 -0600971 gpu_speed_bin: gpu-speed-bin@133 {
Tom Rini53633a82024-02-29 12:33:36 -0500972 reg = <0x133 0x1>;
973 bits = <5 3>;
974 };
975 };
976
977 qupv3_id_0: geniqup@8c0000 {
978 compatible = "qcom,geni-se-qup";
979 reg = <0x0 0x008c0000 0x0 0x6000>;
980 clock-names = "m-ahb", "s-ahb";
981 clocks = <&gcc GCC_QUPV3_WRAP_0_M_AHB_CLK>,
982 <&gcc GCC_QUPV3_WRAP_0_S_AHB_CLK>;
983 iommus = <&apps_smmu 0xc3 0x0>;
984 #address-cells = <2>;
985 #size-cells = <2>;
986 ranges;
987 status = "disabled";
988
989 i2c0: i2c@880000 {
990 compatible = "qcom,geni-i2c";
991 reg = <0 0x00880000 0 0x4000>;
992 clock-names = "se";
993 clocks = <&gcc GCC_QUPV3_WRAP0_S0_CLK>;
994 dmas = <&gpi_dma0 0 0 QCOM_GPI_I2C>,
995 <&gpi_dma0 1 0 QCOM_GPI_I2C>;
996 dma-names = "tx", "rx";
997 pinctrl-names = "default";
998 pinctrl-0 = <&qup_i2c0_default>;
999 interrupts = <GIC_SPI 601 IRQ_TYPE_LEVEL_HIGH>;
1000 #address-cells = <1>;
1001 #size-cells = <0>;
1002 status = "disabled";
1003 };
1004
1005 spi0: spi@880000 {
1006 compatible = "qcom,geni-spi";
1007 reg = <0 0x00880000 0 0x4000>;
1008 reg-names = "se";
1009 clock-names = "se";
1010 clocks = <&gcc GCC_QUPV3_WRAP0_S0_CLK>;
1011 dmas = <&gpi_dma0 0 0 QCOM_GPI_SPI>,
1012 <&gpi_dma0 1 0 QCOM_GPI_SPI>;
1013 dma-names = "tx", "rx";
1014 pinctrl-names = "default";
1015 pinctrl-0 = <&qup_spi0_default>;
1016 interrupts = <GIC_SPI 601 IRQ_TYPE_LEVEL_HIGH>;
1017 spi-max-frequency = <50000000>;
1018 #address-cells = <1>;
1019 #size-cells = <0>;
1020 status = "disabled";
1021 };
1022
1023 i2c1: i2c@884000 {
1024 compatible = "qcom,geni-i2c";
1025 reg = <0 0x00884000 0 0x4000>;
1026 clock-names = "se";
1027 clocks = <&gcc GCC_QUPV3_WRAP0_S1_CLK>;
1028 dmas = <&gpi_dma0 0 1 QCOM_GPI_I2C>,
1029 <&gpi_dma0 1 1 QCOM_GPI_I2C>;
1030 dma-names = "tx", "rx";
1031 pinctrl-names = "default";
1032 pinctrl-0 = <&qup_i2c1_default>;
1033 interrupts = <GIC_SPI 602 IRQ_TYPE_LEVEL_HIGH>;
1034 #address-cells = <1>;
1035 #size-cells = <0>;
1036 status = "disabled";
1037 };
1038
1039 spi1: spi@884000 {
1040 compatible = "qcom,geni-spi";
1041 reg = <0 0x00884000 0 0x4000>;
1042 reg-names = "se";
1043 clock-names = "se";
1044 clocks = <&gcc GCC_QUPV3_WRAP0_S1_CLK>;
1045 dmas = <&gpi_dma0 0 1 QCOM_GPI_SPI>,
1046 <&gpi_dma0 1 1 QCOM_GPI_SPI>;
1047 dma-names = "tx", "rx";
1048 pinctrl-names = "default";
1049 pinctrl-0 = <&qup_spi1_default>;
1050 interrupts = <GIC_SPI 602 IRQ_TYPE_LEVEL_HIGH>;
1051 spi-max-frequency = <50000000>;
1052 #address-cells = <1>;
1053 #size-cells = <0>;
1054 status = "disabled";
1055 };
1056
1057 i2c2: i2c@888000 {
1058 compatible = "qcom,geni-i2c";
1059 reg = <0 0x00888000 0 0x4000>;
1060 clock-names = "se";
1061 clocks = <&gcc GCC_QUPV3_WRAP0_S2_CLK>;
1062 dmas = <&gpi_dma0 0 2 QCOM_GPI_I2C>,
1063 <&gpi_dma0 1 2 QCOM_GPI_I2C>;
1064 dma-names = "tx", "rx";
1065 pinctrl-names = "default";
1066 pinctrl-0 = <&qup_i2c2_default>;
1067 interrupts = <GIC_SPI 603 IRQ_TYPE_LEVEL_HIGH>;
1068 #address-cells = <1>;
1069 #size-cells = <0>;
1070 status = "disabled";
1071 };
1072
1073 spi2: spi@888000 {
1074 compatible = "qcom,geni-spi";
1075 reg = <0 0x00888000 0 0x4000>;
1076 reg-names = "se";
1077 clock-names = "se";
1078 clocks = <&gcc GCC_QUPV3_WRAP0_S2_CLK>;
1079 dmas = <&gpi_dma0 0 2 QCOM_GPI_SPI>,
1080 <&gpi_dma0 1 2 QCOM_GPI_SPI>;
1081 dma-names = "tx", "rx";
1082 pinctrl-names = "default";
1083 pinctrl-0 = <&qup_spi2_default>;
1084 interrupts = <GIC_SPI 603 IRQ_TYPE_LEVEL_HIGH>;
1085 spi-max-frequency = <50000000>;
1086 #address-cells = <1>;
1087 #size-cells = <0>;
1088 status = "disabled";
1089 };
1090
1091 i2c3: i2c@88c000 {
1092 compatible = "qcom,geni-i2c";
1093 reg = <0 0x0088c000 0 0x4000>;
1094 clock-names = "se";
1095 clocks = <&gcc GCC_QUPV3_WRAP0_S3_CLK>;
1096 dmas = <&gpi_dma0 0 3 QCOM_GPI_I2C>,
1097 <&gpi_dma0 1 3 QCOM_GPI_I2C>;
1098 dma-names = "tx", "rx";
1099 pinctrl-names = "default";
1100 pinctrl-0 = <&qup_i2c3_default>;
1101 interrupts = <GIC_SPI 604 IRQ_TYPE_LEVEL_HIGH>;
1102 #address-cells = <1>;
1103 #size-cells = <0>;
1104 status = "disabled";
1105 };
1106
1107 spi3: spi@88c000 {
1108 compatible = "qcom,geni-spi";
1109 reg = <0 0x0088c000 0 0x4000>;
1110 reg-names = "se";
1111 clock-names = "se";
1112 clocks = <&gcc GCC_QUPV3_WRAP0_S3_CLK>;
1113 dmas = <&gpi_dma0 0 3 QCOM_GPI_SPI>,
1114 <&gpi_dma0 1 3 QCOM_GPI_SPI>;
1115 dma-names = "tx", "rx";
1116 pinctrl-names = "default";
1117 pinctrl-0 = <&qup_spi3_default>;
1118 interrupts = <GIC_SPI 604 IRQ_TYPE_LEVEL_HIGH>;
1119 spi-max-frequency = <50000000>;
1120 #address-cells = <1>;
1121 #size-cells = <0>;
1122 status = "disabled";
1123 };
1124
1125 i2c4: i2c@890000 {
1126 compatible = "qcom,geni-i2c";
1127 reg = <0 0x00890000 0 0x4000>;
1128 clock-names = "se";
1129 clocks = <&gcc GCC_QUPV3_WRAP0_S4_CLK>;
1130 dmas = <&gpi_dma0 0 4 QCOM_GPI_I2C>,
1131 <&gpi_dma0 1 4 QCOM_GPI_I2C>;
1132 dma-names = "tx", "rx";
1133 pinctrl-names = "default";
1134 pinctrl-0 = <&qup_i2c4_default>;
1135 interrupts = <GIC_SPI 605 IRQ_TYPE_LEVEL_HIGH>;
1136 #address-cells = <1>;
1137 #size-cells = <0>;
1138 status = "disabled";
1139 };
1140
1141 spi4: spi@890000 {
1142 compatible = "qcom,geni-spi";
1143 reg = <0 0x00890000 0 0x4000>;
1144 reg-names = "se";
1145 clock-names = "se";
1146 clocks = <&gcc GCC_QUPV3_WRAP0_S4_CLK>;
1147 dmas = <&gpi_dma0 0 4 QCOM_GPI_SPI>,
1148 <&gpi_dma0 1 4 QCOM_GPI_SPI>;
1149 dma-names = "tx", "rx";
1150 pinctrl-names = "default";
1151 pinctrl-0 = <&qup_spi4_default>;
1152 interrupts = <GIC_SPI 605 IRQ_TYPE_LEVEL_HIGH>;
1153 spi-max-frequency = <50000000>;
1154 #address-cells = <1>;
1155 #size-cells = <0>;
1156 status = "disabled";
1157 };
1158
1159 i2c5: i2c@894000 {
1160 compatible = "qcom,geni-i2c";
1161 reg = <0 0x00894000 0 0x4000>;
1162 clock-names = "se";
1163 clocks = <&gcc GCC_QUPV3_WRAP0_S5_CLK>;
1164 dmas = <&gpi_dma0 0 5 QCOM_GPI_I2C>,
1165 <&gpi_dma0 1 5 QCOM_GPI_I2C>;
1166 dma-names = "tx", "rx";
1167 pinctrl-names = "default";
1168 pinctrl-0 = <&qup_i2c5_default>;
1169 interrupts = <GIC_SPI 606 IRQ_TYPE_LEVEL_HIGH>;
1170 #address-cells = <1>;
1171 #size-cells = <0>;
1172 status = "disabled";
1173 };
1174
1175 spi5: spi@894000 {
1176 compatible = "qcom,geni-spi";
1177 reg = <0 0x00894000 0 0x4000>;
1178 reg-names = "se";
1179 clock-names = "se";
1180 clocks = <&gcc GCC_QUPV3_WRAP0_S5_CLK>;
1181 dmas = <&gpi_dma0 0 5 QCOM_GPI_SPI>,
1182 <&gpi_dma0 1 5 QCOM_GPI_SPI>;
1183 dma-names = "tx", "rx";
1184 pinctrl-names = "default";
1185 pinctrl-0 = <&qup_spi5_default>;
1186 interrupts = <GIC_SPI 606 IRQ_TYPE_LEVEL_HIGH>;
1187 spi-max-frequency = <50000000>;
1188 #address-cells = <1>;
1189 #size-cells = <0>;
1190 status = "disabled";
1191 };
1192
1193 i2c6: i2c@898000 {
1194 compatible = "qcom,geni-i2c";
1195 reg = <0 0x00898000 0 0x4000>;
1196 clock-names = "se";
1197 clocks = <&gcc GCC_QUPV3_WRAP0_S6_CLK>;
1198 dmas = <&gpi_dma0 0 6 QCOM_GPI_I2C>,
1199 <&gpi_dma0 1 6 QCOM_GPI_I2C>;
1200 dma-names = "tx", "rx";
1201 pinctrl-names = "default";
1202 pinctrl-0 = <&qup_i2c6_default>;
1203 interrupts = <GIC_SPI 607 IRQ_TYPE_LEVEL_HIGH>;
1204 #address-cells = <1>;
1205 #size-cells = <0>;
1206 status = "disabled";
1207 };
1208
1209 spi6: spi@898000 {
1210 compatible = "qcom,geni-spi";
1211 reg = <0 0x00898000 0 0x4000>;
1212 reg-names = "se";
1213 clock-names = "se";
1214 clocks = <&gcc GCC_QUPV3_WRAP0_S6_CLK>;
1215 dmas = <&gpi_dma0 0 6 QCOM_GPI_SPI>,
1216 <&gpi_dma0 1 6 QCOM_GPI_SPI>;
1217 dma-names = "tx", "rx";
1218 pinctrl-names = "default";
1219 pinctrl-0 = <&qup_spi6_default>;
1220 interrupts = <GIC_SPI 607 IRQ_TYPE_LEVEL_HIGH>;
1221 spi-max-frequency = <50000000>;
1222 #address-cells = <1>;
1223 #size-cells = <0>;
1224 status = "disabled";
1225 };
1226
1227 i2c7: i2c@89c000 {
1228 compatible = "qcom,geni-i2c";
1229 reg = <0 0x0089c000 0 0x4000>;
1230 clock-names = "se";
1231 clocks = <&gcc GCC_QUPV3_WRAP0_S7_CLK>;
1232 dmas = <&gpi_dma0 0 7 QCOM_GPI_I2C>,
1233 <&gpi_dma0 1 7 QCOM_GPI_I2C>;
1234 dma-names = "tx", "rx";
1235 pinctrl-names = "default";
1236 pinctrl-0 = <&qup_i2c7_default>;
1237 interrupts = <GIC_SPI 608 IRQ_TYPE_LEVEL_HIGH>;
1238 #address-cells = <1>;
1239 #size-cells = <0>;
1240 status = "disabled";
1241 };
1242
1243 spi7: spi@89c000 {
1244 compatible = "qcom,geni-spi";
1245 reg = <0 0x0089c000 0 0x4000>;
1246 reg-names = "se";
1247 clock-names = "se";
1248 clocks = <&gcc GCC_QUPV3_WRAP0_S7_CLK>;
1249 dmas = <&gpi_dma0 0 7 QCOM_GPI_SPI>,
1250 <&gpi_dma0 1 7 QCOM_GPI_SPI>;
1251 dma-names = "tx", "rx";
1252 pinctrl-names = "default";
1253 pinctrl-0 = <&qup_spi7_default>;
1254 interrupts = <GIC_SPI 608 IRQ_TYPE_LEVEL_HIGH>;
1255 spi-max-frequency = <50000000>;
1256 #address-cells = <1>;
1257 #size-cells = <0>;
1258 status = "disabled";
1259 };
1260 };
1261
1262 gpi_dma1: dma-controller@a00000 {
1263 compatible = "qcom,sm8150-gpi-dma", "qcom,sdm845-gpi-dma";
1264 reg = <0 0x00a00000 0 0x60000>;
1265 interrupts = <GIC_SPI 279 IRQ_TYPE_LEVEL_HIGH>,
1266 <GIC_SPI 280 IRQ_TYPE_LEVEL_HIGH>,
1267 <GIC_SPI 281 IRQ_TYPE_LEVEL_HIGH>,
1268 <GIC_SPI 282 IRQ_TYPE_LEVEL_HIGH>,
1269 <GIC_SPI 283 IRQ_TYPE_LEVEL_HIGH>,
1270 <GIC_SPI 284 IRQ_TYPE_LEVEL_HIGH>,
1271 <GIC_SPI 293 IRQ_TYPE_LEVEL_HIGH>,
1272 <GIC_SPI 294 IRQ_TYPE_LEVEL_HIGH>,
1273 <GIC_SPI 295 IRQ_TYPE_LEVEL_HIGH>,
1274 <GIC_SPI 296 IRQ_TYPE_LEVEL_HIGH>,
1275 <GIC_SPI 297 IRQ_TYPE_LEVEL_HIGH>,
1276 <GIC_SPI 298 IRQ_TYPE_LEVEL_HIGH>,
1277 <GIC_SPI 299 IRQ_TYPE_LEVEL_HIGH>;
1278 dma-channels = <13>;
1279 dma-channel-mask = <0xfa>;
1280 iommus = <&apps_smmu 0x0616 0x0>;
1281 #dma-cells = <3>;
1282 status = "disabled";
1283 };
1284
1285 qupv3_id_1: geniqup@ac0000 {
1286 compatible = "qcom,geni-se-qup";
1287 reg = <0x0 0x00ac0000 0x0 0x6000>;
1288 clock-names = "m-ahb", "s-ahb";
1289 clocks = <&gcc GCC_QUPV3_WRAP_1_M_AHB_CLK>,
1290 <&gcc GCC_QUPV3_WRAP_1_S_AHB_CLK>;
1291 iommus = <&apps_smmu 0x603 0x0>;
1292 #address-cells = <2>;
1293 #size-cells = <2>;
1294 ranges;
1295 status = "disabled";
1296
1297 i2c8: i2c@a80000 {
1298 compatible = "qcom,geni-i2c";
1299 reg = <0 0x00a80000 0 0x4000>;
1300 clock-names = "se";
1301 clocks = <&gcc GCC_QUPV3_WRAP1_S0_CLK>;
1302 dmas = <&gpi_dma1 0 0 QCOM_GPI_I2C>,
1303 <&gpi_dma1 1 0 QCOM_GPI_I2C>;
1304 dma-names = "tx", "rx";
1305 pinctrl-names = "default";
1306 pinctrl-0 = <&qup_i2c8_default>;
1307 interrupts = <GIC_SPI 353 IRQ_TYPE_LEVEL_HIGH>;
1308 #address-cells = <1>;
1309 #size-cells = <0>;
1310 status = "disabled";
1311 };
1312
1313 spi8: spi@a80000 {
1314 compatible = "qcom,geni-spi";
1315 reg = <0 0x00a80000 0 0x4000>;
1316 reg-names = "se";
1317 clock-names = "se";
1318 clocks = <&gcc GCC_QUPV3_WRAP1_S0_CLK>;
1319 dmas = <&gpi_dma1 0 0 QCOM_GPI_SPI>,
1320 <&gpi_dma1 1 0 QCOM_GPI_SPI>;
1321 dma-names = "tx", "rx";
1322 pinctrl-names = "default";
1323 pinctrl-0 = <&qup_spi8_default>;
1324 interrupts = <GIC_SPI 353 IRQ_TYPE_LEVEL_HIGH>;
1325 spi-max-frequency = <50000000>;
1326 #address-cells = <1>;
1327 #size-cells = <0>;
1328 status = "disabled";
1329 };
1330
1331 i2c9: i2c@a84000 {
1332 compatible = "qcom,geni-i2c";
1333 reg = <0 0x00a84000 0 0x4000>;
1334 clock-names = "se";
1335 clocks = <&gcc GCC_QUPV3_WRAP1_S1_CLK>;
1336 dmas = <&gpi_dma1 0 1 QCOM_GPI_I2C>,
1337 <&gpi_dma1 1 1 QCOM_GPI_I2C>;
1338 dma-names = "tx", "rx";
1339 pinctrl-names = "default";
1340 pinctrl-0 = <&qup_i2c9_default>;
1341 interrupts = <GIC_SPI 354 IRQ_TYPE_LEVEL_HIGH>;
1342 #address-cells = <1>;
1343 #size-cells = <0>;
1344 status = "disabled";
1345 };
1346
1347 spi9: spi@a84000 {
1348 compatible = "qcom,geni-spi";
1349 reg = <0 0x00a84000 0 0x4000>;
1350 reg-names = "se";
1351 clock-names = "se";
1352 clocks = <&gcc GCC_QUPV3_WRAP1_S1_CLK>;
1353 dmas = <&gpi_dma1 0 1 QCOM_GPI_SPI>,
1354 <&gpi_dma1 1 1 QCOM_GPI_SPI>;
1355 dma-names = "tx", "rx";
1356 pinctrl-names = "default";
1357 pinctrl-0 = <&qup_spi9_default>;
1358 interrupts = <GIC_SPI 354 IRQ_TYPE_LEVEL_HIGH>;
1359 spi-max-frequency = <50000000>;
1360 #address-cells = <1>;
1361 #size-cells = <0>;
1362 status = "disabled";
1363 };
1364
1365 uart9: serial@a84000 {
1366 compatible = "qcom,geni-uart";
1367 reg = <0x0 0x00a84000 0x0 0x4000>;
1368 clocks = <&gcc GCC_QUPV3_WRAP1_S1_CLK>;
1369 clock-names = "se";
1370 pinctrl-0 = <&qup_uart9_default>;
1371 pinctrl-names = "default";
1372 interrupts = <GIC_SPI 354 IRQ_TYPE_LEVEL_HIGH>;
1373 status = "disabled";
1374 };
1375
1376 i2c10: i2c@a88000 {
1377 compatible = "qcom,geni-i2c";
1378 reg = <0 0x00a88000 0 0x4000>;
1379 clock-names = "se";
1380 clocks = <&gcc GCC_QUPV3_WRAP1_S2_CLK>;
1381 dmas = <&gpi_dma1 0 2 QCOM_GPI_I2C>,
1382 <&gpi_dma1 1 2 QCOM_GPI_I2C>;
1383 dma-names = "tx", "rx";
1384 pinctrl-names = "default";
1385 pinctrl-0 = <&qup_i2c10_default>;
1386 interrupts = <GIC_SPI 355 IRQ_TYPE_LEVEL_HIGH>;
1387 #address-cells = <1>;
1388 #size-cells = <0>;
1389 status = "disabled";
1390 };
1391
1392 spi10: spi@a88000 {
1393 compatible = "qcom,geni-spi";
1394 reg = <0 0x00a88000 0 0x4000>;
1395 reg-names = "se";
1396 clock-names = "se";
1397 clocks = <&gcc GCC_QUPV3_WRAP1_S2_CLK>;
1398 dmas = <&gpi_dma1 0 2 QCOM_GPI_SPI>,
1399 <&gpi_dma1 1 2 QCOM_GPI_SPI>;
1400 dma-names = "tx", "rx";
1401 pinctrl-names = "default";
1402 pinctrl-0 = <&qup_spi10_default>;
1403 interrupts = <GIC_SPI 355 IRQ_TYPE_LEVEL_HIGH>;
1404 spi-max-frequency = <50000000>;
1405 #address-cells = <1>;
1406 #size-cells = <0>;
1407 status = "disabled";
1408 };
1409
1410 i2c11: i2c@a8c000 {
1411 compatible = "qcom,geni-i2c";
1412 reg = <0 0x00a8c000 0 0x4000>;
1413 clock-names = "se";
1414 clocks = <&gcc GCC_QUPV3_WRAP1_S3_CLK>;
1415 dmas = <&gpi_dma1 0 3 QCOM_GPI_I2C>,
1416 <&gpi_dma1 1 3 QCOM_GPI_I2C>;
1417 dma-names = "tx", "rx";
1418 pinctrl-names = "default";
1419 pinctrl-0 = <&qup_i2c11_default>;
1420 interrupts = <GIC_SPI 356 IRQ_TYPE_LEVEL_HIGH>;
1421 #address-cells = <1>;
1422 #size-cells = <0>;
1423 status = "disabled";
1424 };
1425
1426 spi11: spi@a8c000 {
1427 compatible = "qcom,geni-spi";
1428 reg = <0 0x00a8c000 0 0x4000>;
1429 reg-names = "se";
1430 clock-names = "se";
1431 clocks = <&gcc GCC_QUPV3_WRAP1_S3_CLK>;
1432 dmas = <&gpi_dma1 0 3 QCOM_GPI_SPI>,
1433 <&gpi_dma1 1 3 QCOM_GPI_SPI>;
1434 dma-names = "tx", "rx";
1435 pinctrl-names = "default";
1436 pinctrl-0 = <&qup_spi11_default>;
1437 interrupts = <GIC_SPI 356 IRQ_TYPE_LEVEL_HIGH>;
1438 spi-max-frequency = <50000000>;
1439 #address-cells = <1>;
1440 #size-cells = <0>;
1441 status = "disabled";
1442 };
1443
1444 uart2: serial@a90000 {
1445 compatible = "qcom,geni-debug-uart";
1446 reg = <0x0 0x00a90000 0x0 0x4000>;
1447 clock-names = "se";
1448 clocks = <&gcc GCC_QUPV3_WRAP1_S4_CLK>;
1449 interrupts = <GIC_SPI 357 IRQ_TYPE_LEVEL_HIGH>;
1450 status = "disabled";
1451 };
1452
1453 i2c12: i2c@a90000 {
1454 compatible = "qcom,geni-i2c";
1455 reg = <0 0x00a90000 0 0x4000>;
1456 clock-names = "se";
1457 clocks = <&gcc GCC_QUPV3_WRAP1_S4_CLK>;
1458 dmas = <&gpi_dma1 0 4 QCOM_GPI_I2C>,
1459 <&gpi_dma1 1 4 QCOM_GPI_I2C>;
1460 dma-names = "tx", "rx";
1461 pinctrl-names = "default";
1462 pinctrl-0 = <&qup_i2c12_default>;
1463 interrupts = <GIC_SPI 357 IRQ_TYPE_LEVEL_HIGH>;
1464 #address-cells = <1>;
1465 #size-cells = <0>;
1466 status = "disabled";
1467 };
1468
1469 spi12: spi@a90000 {
1470 compatible = "qcom,geni-spi";
1471 reg = <0 0x00a90000 0 0x4000>;
1472 reg-names = "se";
1473 clock-names = "se";
1474 clocks = <&gcc GCC_QUPV3_WRAP1_S4_CLK>;
1475 dmas = <&gpi_dma1 0 4 QCOM_GPI_SPI>,
1476 <&gpi_dma1 1 4 QCOM_GPI_SPI>;
1477 dma-names = "tx", "rx";
1478 pinctrl-names = "default";
1479 pinctrl-0 = <&qup_spi12_default>;
1480 interrupts = <GIC_SPI 357 IRQ_TYPE_LEVEL_HIGH>;
1481 spi-max-frequency = <50000000>;
1482 #address-cells = <1>;
1483 #size-cells = <0>;
1484 status = "disabled";
1485 };
1486
1487 i2c16: i2c@94000 {
1488 compatible = "qcom,geni-i2c";
1489 reg = <0 0x00094000 0 0x4000>;
1490 clock-names = "se";
1491 clocks = <&gcc GCC_QUPV3_WRAP1_S5_CLK>;
1492 dmas = <&gpi_dma2 0 5 QCOM_GPI_I2C>,
1493 <&gpi_dma2 1 5 QCOM_GPI_I2C>;
1494 dma-names = "tx", "rx";
1495 pinctrl-names = "default";
1496 pinctrl-0 = <&qup_i2c16_default>;
1497 interrupts = <GIC_SPI 358 IRQ_TYPE_LEVEL_HIGH>;
1498 #address-cells = <1>;
1499 #size-cells = <0>;
1500 status = "disabled";
1501 };
1502
1503 spi16: spi@a94000 {
1504 compatible = "qcom,geni-spi";
1505 reg = <0 0x00a94000 0 0x4000>;
1506 reg-names = "se";
1507 clock-names = "se";
1508 clocks = <&gcc GCC_QUPV3_WRAP1_S5_CLK>;
1509 dmas = <&gpi_dma2 0 5 QCOM_GPI_SPI>,
1510 <&gpi_dma2 1 5 QCOM_GPI_SPI>;
1511 dma-names = "tx", "rx";
1512 pinctrl-names = "default";
1513 pinctrl-0 = <&qup_spi16_default>;
1514 interrupts = <GIC_SPI 358 IRQ_TYPE_LEVEL_HIGH>;
1515 spi-max-frequency = <50000000>;
1516 #address-cells = <1>;
1517 #size-cells = <0>;
1518 status = "disabled";
1519 };
1520 };
1521
1522 gpi_dma2: dma-controller@c00000 {
1523 compatible = "qcom,sm8150-gpi-dma", "qcom,sdm845-gpi-dma";
1524 reg = <0 0x00c00000 0 0x60000>;
1525 interrupts = <GIC_SPI 588 IRQ_TYPE_LEVEL_HIGH>,
1526 <GIC_SPI 589 IRQ_TYPE_LEVEL_HIGH>,
1527 <GIC_SPI 590 IRQ_TYPE_LEVEL_HIGH>,
1528 <GIC_SPI 591 IRQ_TYPE_LEVEL_HIGH>,
1529 <GIC_SPI 592 IRQ_TYPE_LEVEL_HIGH>,
1530 <GIC_SPI 593 IRQ_TYPE_LEVEL_HIGH>,
1531 <GIC_SPI 594 IRQ_TYPE_LEVEL_HIGH>,
1532 <GIC_SPI 595 IRQ_TYPE_LEVEL_HIGH>,
1533 <GIC_SPI 596 IRQ_TYPE_LEVEL_HIGH>,
1534 <GIC_SPI 597 IRQ_TYPE_LEVEL_HIGH>,
1535 <GIC_SPI 598 IRQ_TYPE_LEVEL_HIGH>,
1536 <GIC_SPI 599 IRQ_TYPE_LEVEL_HIGH>,
1537 <GIC_SPI 600 IRQ_TYPE_LEVEL_HIGH>;
1538 dma-channels = <13>;
1539 dma-channel-mask = <0xfa>;
1540 iommus = <&apps_smmu 0x07b6 0x0>;
1541 #dma-cells = <3>;
1542 status = "disabled";
1543 };
1544
1545 qupv3_id_2: geniqup@cc0000 {
1546 compatible = "qcom,geni-se-qup";
1547 reg = <0x0 0x00cc0000 0x0 0x6000>;
1548
1549 clock-names = "m-ahb", "s-ahb";
1550 clocks = <&gcc GCC_QUPV3_WRAP_2_M_AHB_CLK>,
1551 <&gcc GCC_QUPV3_WRAP_2_S_AHB_CLK>;
1552 iommus = <&apps_smmu 0x7a3 0x0>;
1553 #address-cells = <2>;
1554 #size-cells = <2>;
1555 ranges;
1556 status = "disabled";
1557
1558 i2c17: i2c@c80000 {
1559 compatible = "qcom,geni-i2c";
1560 reg = <0 0x00c80000 0 0x4000>;
1561 clock-names = "se";
1562 clocks = <&gcc GCC_QUPV3_WRAP2_S0_CLK>;
1563 dmas = <&gpi_dma2 0 0 QCOM_GPI_I2C>,
1564 <&gpi_dma2 1 0 QCOM_GPI_I2C>;
1565 dma-names = "tx", "rx";
1566 pinctrl-names = "default";
1567 pinctrl-0 = <&qup_i2c17_default>;
1568 interrupts = <GIC_SPI 373 IRQ_TYPE_LEVEL_HIGH>;
1569 #address-cells = <1>;
1570 #size-cells = <0>;
1571 status = "disabled";
1572 };
1573
1574 spi17: spi@c80000 {
1575 compatible = "qcom,geni-spi";
1576 reg = <0 0x00c80000 0 0x4000>;
1577 reg-names = "se";
1578 clock-names = "se";
1579 clocks = <&gcc GCC_QUPV3_WRAP2_S0_CLK>;
1580 dmas = <&gpi_dma2 0 0 QCOM_GPI_SPI>,
1581 <&gpi_dma2 1 0 QCOM_GPI_SPI>;
1582 dma-names = "tx", "rx";
1583 pinctrl-names = "default";
1584 pinctrl-0 = <&qup_spi17_default>;
1585 interrupts = <GIC_SPI 373 IRQ_TYPE_LEVEL_HIGH>;
1586 spi-max-frequency = <50000000>;
1587 #address-cells = <1>;
1588 #size-cells = <0>;
1589 status = "disabled";
1590 };
1591
1592 i2c18: i2c@c84000 {
1593 compatible = "qcom,geni-i2c";
1594 reg = <0 0x00c84000 0 0x4000>;
1595 clock-names = "se";
1596 clocks = <&gcc GCC_QUPV3_WRAP2_S1_CLK>;
1597 dmas = <&gpi_dma2 0 1 QCOM_GPI_I2C>,
1598 <&gpi_dma2 1 1 QCOM_GPI_I2C>;
1599 dma-names = "tx", "rx";
1600 pinctrl-names = "default";
1601 pinctrl-0 = <&qup_i2c18_default>;
1602 interrupts = <GIC_SPI 583 IRQ_TYPE_LEVEL_HIGH>;
1603 #address-cells = <1>;
1604 #size-cells = <0>;
1605 status = "disabled";
1606 };
1607
1608 spi18: spi@c84000 {
1609 compatible = "qcom,geni-spi";
1610 reg = <0 0x00c84000 0 0x4000>;
1611 reg-names = "se";
1612 clock-names = "se";
1613 clocks = <&gcc GCC_QUPV3_WRAP2_S1_CLK>;
1614 dmas = <&gpi_dma2 0 1 QCOM_GPI_SPI>,
1615 <&gpi_dma2 1 1 QCOM_GPI_SPI>;
1616 dma-names = "tx", "rx";
1617 pinctrl-names = "default";
1618 pinctrl-0 = <&qup_spi18_default>;
1619 interrupts = <GIC_SPI 583 IRQ_TYPE_LEVEL_HIGH>;
1620 spi-max-frequency = <50000000>;
1621 #address-cells = <1>;
1622 #size-cells = <0>;
1623 status = "disabled";
1624 };
1625
1626 i2c19: i2c@c88000 {
1627 compatible = "qcom,geni-i2c";
1628 reg = <0 0x00c88000 0 0x4000>;
1629 clock-names = "se";
1630 clocks = <&gcc GCC_QUPV3_WRAP2_S2_CLK>;
1631 dmas = <&gpi_dma2 0 2 QCOM_GPI_I2C>,
1632 <&gpi_dma2 1 2 QCOM_GPI_I2C>;
1633 dma-names = "tx", "rx";
1634 pinctrl-names = "default";
1635 pinctrl-0 = <&qup_i2c19_default>;
1636 interrupts = <GIC_SPI 584 IRQ_TYPE_LEVEL_HIGH>;
1637 #address-cells = <1>;
1638 #size-cells = <0>;
1639 status = "disabled";
1640 };
1641
1642 spi19: spi@c88000 {
1643 compatible = "qcom,geni-spi";
1644 reg = <0 0x00c88000 0 0x4000>;
1645 reg-names = "se";
1646 clock-names = "se";
1647 clocks = <&gcc GCC_QUPV3_WRAP2_S2_CLK>;
1648 dmas = <&gpi_dma2 0 2 QCOM_GPI_SPI>,
1649 <&gpi_dma2 1 2 QCOM_GPI_SPI>;
1650 dma-names = "tx", "rx";
1651 pinctrl-names = "default";
1652 pinctrl-0 = <&qup_spi19_default>;
1653 interrupts = <GIC_SPI 584 IRQ_TYPE_LEVEL_HIGH>;
1654 spi-max-frequency = <50000000>;
1655 #address-cells = <1>;
1656 #size-cells = <0>;
1657 status = "disabled";
1658 };
1659
1660 i2c13: i2c@c8c000 {
1661 compatible = "qcom,geni-i2c";
1662 reg = <0 0x00c8c000 0 0x4000>;
1663 clock-names = "se";
1664 clocks = <&gcc GCC_QUPV3_WRAP2_S3_CLK>;
1665 dmas = <&gpi_dma2 0 3 QCOM_GPI_I2C>,
1666 <&gpi_dma2 1 3 QCOM_GPI_I2C>;
1667 dma-names = "tx", "rx";
1668 pinctrl-names = "default";
1669 pinctrl-0 = <&qup_i2c13_default>;
1670 interrupts = <GIC_SPI 585 IRQ_TYPE_LEVEL_HIGH>;
1671 #address-cells = <1>;
1672 #size-cells = <0>;
1673 status = "disabled";
1674 };
1675
1676 spi13: spi@c8c000 {
1677 compatible = "qcom,geni-spi";
1678 reg = <0 0x00c8c000 0 0x4000>;
1679 reg-names = "se";
1680 clock-names = "se";
1681 clocks = <&gcc GCC_QUPV3_WRAP2_S3_CLK>;
1682 dmas = <&gpi_dma2 0 3 QCOM_GPI_SPI>,
1683 <&gpi_dma2 1 3 QCOM_GPI_SPI>;
1684 dma-names = "tx", "rx";
1685 pinctrl-names = "default";
1686 pinctrl-0 = <&qup_spi13_default>;
1687 interrupts = <GIC_SPI 585 IRQ_TYPE_LEVEL_HIGH>;
1688 spi-max-frequency = <50000000>;
1689 #address-cells = <1>;
1690 #size-cells = <0>;
1691 status = "disabled";
1692 };
1693
1694 i2c14: i2c@c90000 {
1695 compatible = "qcom,geni-i2c";
1696 reg = <0 0x00c90000 0 0x4000>;
1697 clock-names = "se";
1698 clocks = <&gcc GCC_QUPV3_WRAP2_S4_CLK>;
1699 dmas = <&gpi_dma2 0 4 QCOM_GPI_I2C>,
1700 <&gpi_dma2 1 4 QCOM_GPI_I2C>;
1701 dma-names = "tx", "rx";
1702 pinctrl-names = "default";
1703 pinctrl-0 = <&qup_i2c14_default>;
1704 interrupts = <GIC_SPI 586 IRQ_TYPE_LEVEL_HIGH>;
1705 #address-cells = <1>;
1706 #size-cells = <0>;
1707 status = "disabled";
1708 };
1709
1710 spi14: spi@c90000 {
1711 compatible = "qcom,geni-spi";
1712 reg = <0 0x00c90000 0 0x4000>;
1713 reg-names = "se";
1714 clock-names = "se";
1715 clocks = <&gcc GCC_QUPV3_WRAP2_S4_CLK>;
1716 dmas = <&gpi_dma2 0 4 QCOM_GPI_SPI>,
1717 <&gpi_dma2 1 4 QCOM_GPI_SPI>;
1718 dma-names = "tx", "rx";
1719 pinctrl-names = "default";
1720 pinctrl-0 = <&qup_spi14_default>;
1721 interrupts = <GIC_SPI 586 IRQ_TYPE_LEVEL_HIGH>;
1722 spi-max-frequency = <50000000>;
1723 #address-cells = <1>;
1724 #size-cells = <0>;
1725 status = "disabled";
1726 };
1727
1728 i2c15: i2c@c94000 {
1729 compatible = "qcom,geni-i2c";
1730 reg = <0 0x00c94000 0 0x4000>;
1731 clock-names = "se";
1732 clocks = <&gcc GCC_QUPV3_WRAP2_S5_CLK>;
1733 dmas = <&gpi_dma2 0 5 QCOM_GPI_I2C>,
1734 <&gpi_dma2 1 5 QCOM_GPI_I2C>;
1735 dma-names = "tx", "rx";
1736 pinctrl-names = "default";
1737 pinctrl-0 = <&qup_i2c15_default>;
1738 interrupts = <GIC_SPI 587 IRQ_TYPE_LEVEL_HIGH>;
1739 #address-cells = <1>;
1740 #size-cells = <0>;
1741 status = "disabled";
1742 };
1743
1744 spi15: spi@c94000 {
1745 compatible = "qcom,geni-spi";
1746 reg = <0 0x00c94000 0 0x4000>;
1747 reg-names = "se";
1748 clock-names = "se";
1749 clocks = <&gcc GCC_QUPV3_WRAP2_S5_CLK>;
1750 dmas = <&gpi_dma2 0 5 QCOM_GPI_SPI>,
1751 <&gpi_dma2 1 5 QCOM_GPI_SPI>;
1752 dma-names = "tx", "rx";
1753 pinctrl-names = "default";
1754 pinctrl-0 = <&qup_spi15_default>;
1755 interrupts = <GIC_SPI 587 IRQ_TYPE_LEVEL_HIGH>;
1756 spi-max-frequency = <50000000>;
1757 #address-cells = <1>;
1758 #size-cells = <0>;
1759 status = "disabled";
1760 };
1761 };
1762
1763 config_noc: interconnect@1500000 {
1764 compatible = "qcom,sm8150-config-noc";
1765 reg = <0 0x01500000 0 0x7400>;
1766 #interconnect-cells = <2>;
1767 qcom,bcm-voters = <&apps_bcm_voter>;
1768 };
1769
1770 system_noc: interconnect@1620000 {
1771 compatible = "qcom,sm8150-system-noc";
1772 reg = <0 0x01620000 0 0x19400>;
1773 #interconnect-cells = <2>;
1774 qcom,bcm-voters = <&apps_bcm_voter>;
1775 };
1776
1777 mc_virt: interconnect@163a000 {
1778 compatible = "qcom,sm8150-mc-virt";
1779 reg = <0 0x0163a000 0 0x1000>;
1780 #interconnect-cells = <2>;
1781 qcom,bcm-voters = <&apps_bcm_voter>;
1782 };
1783
1784 aggre1_noc: interconnect@16e0000 {
1785 compatible = "qcom,sm8150-aggre1-noc";
1786 reg = <0 0x016e0000 0 0xd080>;
1787 #interconnect-cells = <2>;
1788 qcom,bcm-voters = <&apps_bcm_voter>;
1789 };
1790
1791 aggre2_noc: interconnect@1700000 {
1792 compatible = "qcom,sm8150-aggre2-noc";
1793 reg = <0 0x01700000 0 0x20000>;
1794 #interconnect-cells = <2>;
1795 qcom,bcm-voters = <&apps_bcm_voter>;
1796 };
1797
1798 compute_noc: interconnect@1720000 {
1799 compatible = "qcom,sm8150-compute-noc";
1800 reg = <0 0x01720000 0 0x7000>;
1801 #interconnect-cells = <2>;
1802 qcom,bcm-voters = <&apps_bcm_voter>;
1803 };
1804
1805 mmss_noc: interconnect@1740000 {
1806 compatible = "qcom,sm8150-mmss-noc";
1807 reg = <0 0x01740000 0 0x1c100>;
1808 #interconnect-cells = <2>;
1809 qcom,bcm-voters = <&apps_bcm_voter>;
1810 };
1811
1812 system-cache-controller@9200000 {
1813 compatible = "qcom,sm8150-llcc";
1814 reg = <0 0x09200000 0 0x50000>, <0 0x09280000 0 0x50000>,
1815 <0 0x09300000 0 0x50000>, <0 0x09380000 0 0x50000>,
1816 <0 0x09600000 0 0x50000>;
1817 reg-names = "llcc0_base", "llcc1_base", "llcc2_base",
1818 "llcc3_base", "llcc_broadcast_base";
1819 interrupts = <GIC_SPI 582 IRQ_TYPE_LEVEL_HIGH>;
1820 };
1821
1822 dma@10a2000 {
1823 compatible = "qcom,sm8150-dcc", "qcom,dcc";
1824 reg = <0x0 0x010a2000 0x0 0x1000>,
1825 <0x0 0x010ad000 0x0 0x3000>;
1826 };
1827
Tom Rini93743d22024-04-01 09:08:13 -04001828 pcie0: pcie@1c00000 {
Tom Rini53633a82024-02-29 12:33:36 -05001829 compatible = "qcom,pcie-sm8150";
1830 reg = <0 0x01c00000 0 0x3000>,
1831 <0 0x60000000 0 0xf1d>,
1832 <0 0x60000f20 0 0xa8>,
1833 <0 0x60001000 0 0x1000>,
1834 <0 0x60100000 0 0x100000>;
1835 reg-names = "parf", "dbi", "elbi", "atu", "config";
1836 device_type = "pci";
1837 linux,pci-domain = <0>;
1838 bus-range = <0x00 0xff>;
1839 num-lanes = <1>;
1840
1841 #address-cells = <3>;
1842 #size-cells = <2>;
1843
1844 ranges = <0x01000000 0x0 0x00000000 0x0 0x60200000 0x0 0x100000>,
1845 <0x02000000 0x0 0x60300000 0x0 0x60300000 0x0 0x3d00000>;
1846
Tom Rini6bb92fc2024-05-20 09:54:58 -06001847 interrupts = <GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>,
1848 <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>,
1849 <GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>,
1850 <GIC_SPI 144 IRQ_TYPE_LEVEL_HIGH>,
1851 <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>,
1852 <GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>,
1853 <GIC_SPI 147 IRQ_TYPE_LEVEL_HIGH>,
1854 <GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>;
1855 interrupt-names = "msi0",
1856 "msi1",
1857 "msi2",
1858 "msi3",
1859 "msi4",
1860 "msi5",
1861 "msi6",
1862 "msi7";
Tom Rini53633a82024-02-29 12:33:36 -05001863 #interrupt-cells = <1>;
1864 interrupt-map-mask = <0 0 0 0x7>;
1865 interrupt-map = <0 0 0 1 &intc 0 149 IRQ_TYPE_LEVEL_HIGH>, /* int_a */
1866 <0 0 0 2 &intc 0 150 IRQ_TYPE_LEVEL_HIGH>, /* int_b */
1867 <0 0 0 3 &intc 0 151 IRQ_TYPE_LEVEL_HIGH>, /* int_c */
1868 <0 0 0 4 &intc 0 152 IRQ_TYPE_LEVEL_HIGH>; /* int_d */
1869
1870 clocks = <&gcc GCC_PCIE_0_PIPE_CLK>,
1871 <&gcc GCC_PCIE_0_AUX_CLK>,
1872 <&gcc GCC_PCIE_0_CFG_AHB_CLK>,
1873 <&gcc GCC_PCIE_0_MSTR_AXI_CLK>,
1874 <&gcc GCC_PCIE_0_SLV_AXI_CLK>,
1875 <&gcc GCC_PCIE_0_SLV_Q2A_AXI_CLK>,
Tom Rini6bb92fc2024-05-20 09:54:58 -06001876 <&gcc GCC_AGGRE_NOC_PCIE_TBU_CLK>,
1877 <&rpmhcc RPMH_CXO_CLK>;
Tom Rini53633a82024-02-29 12:33:36 -05001878 clock-names = "pipe",
1879 "aux",
1880 "cfg",
1881 "bus_master",
1882 "bus_slave",
1883 "slave_q2a",
Tom Rini6bb92fc2024-05-20 09:54:58 -06001884 "tbu",
1885 "ref";
Tom Rini53633a82024-02-29 12:33:36 -05001886
1887 iommu-map = <0x0 &apps_smmu 0x1d80 0x1>,
1888 <0x100 &apps_smmu 0x1d81 0x1>;
1889
1890 resets = <&gcc GCC_PCIE_0_BCR>;
1891 reset-names = "pci";
1892
1893 power-domains = <&gcc PCIE_0_GDSC>;
1894
1895 phys = <&pcie0_phy>;
1896 phy-names = "pciephy";
1897
Tom Rini93743d22024-04-01 09:08:13 -04001898 perst-gpios = <&tlmm 35 GPIO_ACTIVE_HIGH>;
Tom Rini6bb92fc2024-05-20 09:54:58 -06001899 wake-gpios = <&tlmm 37 GPIO_ACTIVE_HIGH>;
Tom Rini53633a82024-02-29 12:33:36 -05001900
1901 pinctrl-names = "default";
1902 pinctrl-0 = <&pcie0_default_state>;
1903
1904 status = "disabled";
Tom Rini762f85b2024-07-20 11:15:10 -06001905
1906 pcie@0 {
1907 device_type = "pci";
1908 reg = <0x0 0x0 0x0 0x0 0x0>;
1909 bus-range = <0x01 0xff>;
1910
1911 #address-cells = <3>;
1912 #size-cells = <2>;
1913 ranges;
1914 };
Tom Rini53633a82024-02-29 12:33:36 -05001915 };
1916
1917 pcie0_phy: phy@1c06000 {
1918 compatible = "qcom,sm8150-qmp-gen3x1-pcie-phy";
1919 reg = <0 0x01c06000 0 0x1000>;
1920 clocks = <&gcc GCC_PCIE_PHY_AUX_CLK>,
1921 <&gcc GCC_PCIE_0_CFG_AHB_CLK>,
1922 <&gcc GCC_PCIE_0_CLKREF_CLK>,
1923 <&gcc GCC_PCIE0_PHY_REFGEN_CLK>,
1924 <&gcc GCC_PCIE_0_PIPE_CLK>;
1925 clock-names = "aux",
1926 "cfg_ahb",
1927 "ref",
1928 "refgen",
1929 "pipe";
1930
1931 clock-output-names = "pcie_0_pipe_clk";
1932 #clock-cells = <0>;
1933
1934 #phy-cells = <0>;
1935
1936 resets = <&gcc GCC_PCIE_0_PHY_BCR>;
1937 reset-names = "phy";
1938
1939 assigned-clocks = <&gcc GCC_PCIE0_PHY_REFGEN_CLK>;
1940 assigned-clock-rates = <100000000>;
1941
1942 status = "disabled";
1943 };
1944
Tom Rini93743d22024-04-01 09:08:13 -04001945 pcie1: pcie@1c08000 {
Tom Rini53633a82024-02-29 12:33:36 -05001946 compatible = "qcom,pcie-sm8150";
1947 reg = <0 0x01c08000 0 0x3000>,
1948 <0 0x40000000 0 0xf1d>,
1949 <0 0x40000f20 0 0xa8>,
1950 <0 0x40001000 0 0x1000>,
1951 <0 0x40100000 0 0x100000>;
1952 reg-names = "parf", "dbi", "elbi", "atu", "config";
1953 device_type = "pci";
1954 linux,pci-domain = <1>;
1955 bus-range = <0x00 0xff>;
1956 num-lanes = <2>;
1957
1958 #address-cells = <3>;
1959 #size-cells = <2>;
1960
1961 ranges = <0x01000000 0x0 0x00000000 0x0 0x40200000 0x0 0x100000>,
1962 <0x02000000 0x0 0x40300000 0x0 0x40300000 0x0 0x1fd00000>;
1963
Tom Rini6bb92fc2024-05-20 09:54:58 -06001964 interrupts = <GIC_SPI 307 IRQ_TYPE_LEVEL_HIGH>,
1965 <GIC_SPI 308 IRQ_TYPE_LEVEL_HIGH>,
1966 <GIC_SPI 309 IRQ_TYPE_LEVEL_HIGH>,
1967 <GIC_SPI 312 IRQ_TYPE_LEVEL_HIGH>,
1968 <GIC_SPI 313 IRQ_TYPE_LEVEL_HIGH>,
1969 <GIC_SPI 314 IRQ_TYPE_LEVEL_HIGH>,
1970 <GIC_SPI 374 IRQ_TYPE_LEVEL_HIGH>,
1971 <GIC_SPI 375 IRQ_TYPE_LEVEL_HIGH>;
1972 interrupt-names = "msi0",
1973 "msi1",
1974 "msi2",
1975 "msi3",
1976 "msi4",
1977 "msi5",
1978 "msi6",
1979 "msi7";
Tom Rini53633a82024-02-29 12:33:36 -05001980 #interrupt-cells = <1>;
1981 interrupt-map-mask = <0 0 0 0x7>;
1982 interrupt-map = <0 0 0 1 &intc 0 434 IRQ_TYPE_LEVEL_HIGH>, /* int_a */
1983 <0 0 0 2 &intc 0 435 IRQ_TYPE_LEVEL_HIGH>, /* int_b */
1984 <0 0 0 3 &intc 0 438 IRQ_TYPE_LEVEL_HIGH>, /* int_c */
1985 <0 0 0 4 &intc 0 439 IRQ_TYPE_LEVEL_HIGH>; /* int_d */
1986
1987 clocks = <&gcc GCC_PCIE_1_PIPE_CLK>,
1988 <&gcc GCC_PCIE_1_AUX_CLK>,
1989 <&gcc GCC_PCIE_1_CFG_AHB_CLK>,
1990 <&gcc GCC_PCIE_1_MSTR_AXI_CLK>,
1991 <&gcc GCC_PCIE_1_SLV_AXI_CLK>,
1992 <&gcc GCC_PCIE_1_SLV_Q2A_AXI_CLK>,
Tom Rini6bb92fc2024-05-20 09:54:58 -06001993 <&gcc GCC_AGGRE_NOC_PCIE_TBU_CLK>,
1994 <&rpmhcc RPMH_CXO_CLK>;
Tom Rini53633a82024-02-29 12:33:36 -05001995 clock-names = "pipe",
1996 "aux",
1997 "cfg",
1998 "bus_master",
1999 "bus_slave",
2000 "slave_q2a",
Tom Rini6bb92fc2024-05-20 09:54:58 -06002001 "tbu",
2002 "ref";
Tom Rini53633a82024-02-29 12:33:36 -05002003
2004 assigned-clocks = <&gcc GCC_PCIE_1_AUX_CLK>;
2005 assigned-clock-rates = <19200000>;
2006
2007 iommu-map = <0x0 &apps_smmu 0x1e00 0x1>,
2008 <0x100 &apps_smmu 0x1e01 0x1>;
2009
2010 resets = <&gcc GCC_PCIE_1_BCR>;
2011 reset-names = "pci";
2012
2013 power-domains = <&gcc PCIE_1_GDSC>;
2014
2015 phys = <&pcie1_phy>;
2016 phy-names = "pciephy";
2017
Tom Rini93743d22024-04-01 09:08:13 -04002018 perst-gpios = <&tlmm 102 GPIO_ACTIVE_HIGH>;
Tom Rini53633a82024-02-29 12:33:36 -05002019 enable-gpio = <&tlmm 104 GPIO_ACTIVE_HIGH>;
2020
2021 pinctrl-names = "default";
2022 pinctrl-0 = <&pcie1_default_state>;
2023
2024 status = "disabled";
Tom Rini762f85b2024-07-20 11:15:10 -06002025
2026 pcie@0 {
2027 device_type = "pci";
2028 reg = <0x0 0x0 0x0 0x0 0x0>;
2029 bus-range = <0x01 0xff>;
2030
2031 #address-cells = <3>;
2032 #size-cells = <2>;
2033 ranges;
2034 };
Tom Rini53633a82024-02-29 12:33:36 -05002035 };
2036
2037 pcie1_phy: phy@1c0e000 {
2038 compatible = "qcom,sm8150-qmp-gen3x2-pcie-phy";
2039 reg = <0 0x01c0e000 0 0x1000>;
2040 clocks = <&gcc GCC_PCIE_PHY_AUX_CLK>,
2041 <&gcc GCC_PCIE_1_CFG_AHB_CLK>,
2042 <&gcc GCC_PCIE_1_CLKREF_CLK>,
2043 <&gcc GCC_PCIE1_PHY_REFGEN_CLK>,
2044 <&gcc GCC_PCIE_1_PIPE_CLK>;
2045 clock-names = "aux",
2046 "cfg_ahb",
2047 "ref",
2048 "refgen",
2049 "pipe";
2050
2051 clock-output-names = "pcie_1_pipe_clk";
2052 #clock-cells = <0>;
2053
2054 #phy-cells = <0>;
2055
2056 resets = <&gcc GCC_PCIE_1_PHY_BCR>;
2057 reset-names = "phy";
2058
2059 assigned-clocks = <&gcc GCC_PCIE1_PHY_REFGEN_CLK>;
2060 assigned-clock-rates = <100000000>;
2061
2062 status = "disabled";
2063 };
2064
2065 ufs_mem_hc: ufshc@1d84000 {
2066 compatible = "qcom,sm8150-ufshc", "qcom,ufshc",
2067 "jedec,ufs-2.0";
2068 reg = <0 0x01d84000 0 0x2500>,
2069 <0 0x01d90000 0 0x8000>;
2070 reg-names = "std", "ice";
2071 interrupts = <GIC_SPI 265 IRQ_TYPE_LEVEL_HIGH>;
Tom Rini93743d22024-04-01 09:08:13 -04002072 phys = <&ufs_mem_phy>;
Tom Rini53633a82024-02-29 12:33:36 -05002073 phy-names = "ufsphy";
2074 lanes-per-direction = <2>;
2075 #reset-cells = <1>;
2076 resets = <&gcc GCC_UFS_PHY_BCR>;
2077 reset-names = "rst";
2078
2079 iommus = <&apps_smmu 0x300 0>;
2080
2081 clock-names =
2082 "core_clk",
2083 "bus_aggr_clk",
2084 "iface_clk",
2085 "core_clk_unipro",
2086 "ref_clk",
2087 "tx_lane0_sync_clk",
2088 "rx_lane0_sync_clk",
2089 "rx_lane1_sync_clk",
2090 "ice_core_clk";
2091 clocks =
2092 <&gcc GCC_UFS_PHY_AXI_CLK>,
2093 <&gcc GCC_AGGRE_UFS_PHY_AXI_CLK>,
2094 <&gcc GCC_UFS_PHY_AHB_CLK>,
2095 <&gcc GCC_UFS_PHY_UNIPRO_CORE_CLK>,
2096 <&rpmhcc RPMH_CXO_CLK>,
2097 <&gcc GCC_UFS_PHY_TX_SYMBOL_0_CLK>,
2098 <&gcc GCC_UFS_PHY_RX_SYMBOL_0_CLK>,
2099 <&gcc GCC_UFS_PHY_RX_SYMBOL_1_CLK>,
2100 <&gcc GCC_UFS_PHY_ICE_CORE_CLK>;
2101 freq-table-hz =
2102 <37500000 300000000>,
2103 <0 0>,
2104 <0 0>,
2105 <37500000 300000000>,
2106 <0 0>,
2107 <0 0>,
2108 <0 0>,
2109 <0 0>,
2110 <0 300000000>;
2111
2112 status = "disabled";
2113 };
2114
2115 ufs_mem_phy: phy@1d87000 {
2116 compatible = "qcom,sm8150-qmp-ufs-phy";
Tom Rini93743d22024-04-01 09:08:13 -04002117 reg = <0 0x01d87000 0 0x1000>;
2118
Tom Rini6bb92fc2024-05-20 09:54:58 -06002119 clocks = <&rpmhcc RPMH_CXO_CLK>,
2120 <&gcc GCC_UFS_PHY_PHY_AUX_CLK>,
2121 <&gcc GCC_UFS_MEM_CLKREF_CLK>;
Tom Rini53633a82024-02-29 12:33:36 -05002122 clock-names = "ref",
Tom Rini6bb92fc2024-05-20 09:54:58 -06002123 "ref_aux",
2124 "qref";
Tom Rini53633a82024-02-29 12:33:36 -05002125
2126 power-domains = <&gcc UFS_PHY_GDSC>;
2127
2128 resets = <&ufs_mem_hc 0>;
2129 reset-names = "ufsphy";
Tom Rini53633a82024-02-29 12:33:36 -05002130
Tom Rini93743d22024-04-01 09:08:13 -04002131 #phy-cells = <0>;
2132
2133 status = "disabled";
Tom Rini53633a82024-02-29 12:33:36 -05002134 };
2135
2136 cryptobam: dma-controller@1dc4000 {
2137 compatible = "qcom,bam-v1.7.4", "qcom,bam-v1.7.0";
2138 reg = <0 0x01dc4000 0 0x24000>;
2139 interrupts = <GIC_SPI 272 IRQ_TYPE_LEVEL_HIGH>;
2140 #dma-cells = <1>;
2141 qcom,ee = <0>;
2142 qcom,controlled-remotely;
2143 num-channels = <8>;
2144 qcom,num-ees = <2>;
2145 iommus = <&apps_smmu 0x502 0x0641>,
2146 <&apps_smmu 0x504 0x0011>,
2147 <&apps_smmu 0x506 0x0011>,
2148 <&apps_smmu 0x508 0x0011>,
2149 <&apps_smmu 0x512 0x0000>;
2150 };
2151
2152 crypto: crypto@1dfa000 {
2153 compatible = "qcom,sm8150-qce", "qcom,qce";
2154 reg = <0 0x01dfa000 0 0x6000>;
2155 dmas = <&cryptobam 4>, <&cryptobam 5>;
2156 dma-names = "rx", "tx";
2157 iommus = <&apps_smmu 0x502 0x0641>,
2158 <&apps_smmu 0x504 0x0011>,
2159 <&apps_smmu 0x506 0x0011>,
2160 <&apps_smmu 0x508 0x0011>,
2161 <&apps_smmu 0x512 0x0000>;
2162 interconnects = <&aggre2_noc MASTER_CRYPTO_CORE_0 0 &mc_virt SLAVE_EBI_CH0 0>;
2163 interconnect-names = "memory";
2164 };
2165
2166 tcsr_mutex: hwlock@1f40000 {
2167 compatible = "qcom,tcsr-mutex";
2168 reg = <0x0 0x01f40000 0x0 0x20000>;
2169 #hwlock-cells = <1>;
2170 };
2171
2172 tcsr_regs_1: syscon@1f60000 {
2173 compatible = "qcom,sm8150-tcsr", "syscon";
2174 reg = <0x0 0x01f60000 0x0 0x20000>;
2175 };
2176
2177 remoteproc_slpi: remoteproc@2400000 {
2178 compatible = "qcom,sm8150-slpi-pas";
2179 reg = <0x0 0x02400000 0x0 0x4040>;
2180
2181 interrupts-extended = <&intc GIC_SPI 494 IRQ_TYPE_EDGE_RISING>,
2182 <&slpi_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
2183 <&slpi_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
2184 <&slpi_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
2185 <&slpi_smp2p_in 3 IRQ_TYPE_EDGE_RISING>;
2186 interrupt-names = "wdog", "fatal", "ready",
2187 "handover", "stop-ack";
2188
2189 clocks = <&rpmhcc RPMH_CXO_CLK>;
2190 clock-names = "xo";
2191
2192 power-domains = <&rpmhpd SM8150_LCX>,
2193 <&rpmhpd SM8150_LMX>;
2194 power-domain-names = "lcx", "lmx";
2195
2196 memory-region = <&slpi_mem>;
2197
2198 qcom,qmp = <&aoss_qmp>;
2199
2200 qcom,smem-states = <&slpi_smp2p_out 0>;
2201 qcom,smem-state-names = "stop";
2202
2203 status = "disabled";
2204
2205 glink-edge {
2206 interrupts = <GIC_SPI 170 IRQ_TYPE_EDGE_RISING>;
2207 label = "dsps";
2208 qcom,remote-pid = <3>;
2209 mboxes = <&apss_shared 24>;
2210
2211 fastrpc {
2212 compatible = "qcom,fastrpc";
2213 qcom,glink-channels = "fastrpcglink-apps-dsp";
2214 label = "sdsp";
2215 qcom,non-secure-domain;
2216 #address-cells = <1>;
2217 #size-cells = <0>;
2218
2219 compute-cb@1 {
2220 compatible = "qcom,fastrpc-compute-cb";
2221 reg = <1>;
2222 iommus = <&apps_smmu 0x05a1 0x0>;
2223 };
2224
2225 compute-cb@2 {
2226 compatible = "qcom,fastrpc-compute-cb";
2227 reg = <2>;
2228 iommus = <&apps_smmu 0x05a2 0x0>;
2229 };
2230
2231 compute-cb@3 {
2232 compatible = "qcom,fastrpc-compute-cb";
2233 reg = <3>;
2234 iommus = <&apps_smmu 0x05a3 0x0>;
2235 /* note: shared-cb = <4> in downstream */
2236 };
2237 };
2238 };
2239 };
2240
2241 gpu: gpu@2c00000 {
2242 compatible = "qcom,adreno-640.1", "qcom,adreno";
2243 reg = <0 0x02c00000 0 0x40000>;
2244 reg-names = "kgsl_3d0_reg_memory";
2245
2246 interrupts = <GIC_SPI 300 IRQ_TYPE_LEVEL_HIGH>;
2247
2248 iommus = <&adreno_smmu 0 0x401>;
2249
2250 operating-points-v2 = <&gpu_opp_table>;
2251
2252 qcom,gmu = <&gmu>;
2253
2254 nvmem-cells = <&gpu_speed_bin>;
2255 nvmem-cell-names = "speed_bin";
Tom Rini6bb92fc2024-05-20 09:54:58 -06002256 #cooling-cells = <2>;
Tom Rini53633a82024-02-29 12:33:36 -05002257
2258 status = "disabled";
2259
2260 zap-shader {
2261 memory-region = <&gpu_mem>;
2262 };
2263
2264 gpu_opp_table: opp-table {
2265 compatible = "operating-points-v2";
2266
2267 opp-675000000 {
2268 opp-hz = /bits/ 64 <675000000>;
2269 opp-level = <RPMH_REGULATOR_LEVEL_NOM_L1>;
2270 opp-supported-hw = <0x2>;
2271 };
2272
2273 opp-585000000 {
2274 opp-hz = /bits/ 64 <585000000>;
2275 opp-level = <RPMH_REGULATOR_LEVEL_NOM>;
2276 opp-supported-hw = <0x3>;
2277 };
2278
2279 opp-499200000 {
2280 opp-hz = /bits/ 64 <499200000>;
2281 opp-level = <RPMH_REGULATOR_LEVEL_SVS_L2>;
2282 opp-supported-hw = <0x3>;
2283 };
2284
2285 opp-427000000 {
2286 opp-hz = /bits/ 64 <427000000>;
2287 opp-level = <RPMH_REGULATOR_LEVEL_SVS_L1>;
2288 opp-supported-hw = <0x3>;
2289 };
2290
2291 opp-345000000 {
2292 opp-hz = /bits/ 64 <345000000>;
2293 opp-level = <RPMH_REGULATOR_LEVEL_SVS>;
2294 opp-supported-hw = <0x3>;
2295 };
2296
2297 opp-257000000 {
2298 opp-hz = /bits/ 64 <257000000>;
2299 opp-level = <RPMH_REGULATOR_LEVEL_LOW_SVS>;
2300 opp-supported-hw = <0x3>;
2301 };
2302 };
2303 };
2304
2305 gmu: gmu@2c6a000 {
2306 compatible = "qcom,adreno-gmu-640.1", "qcom,adreno-gmu";
2307
2308 reg = <0 0x02c6a000 0 0x30000>,
2309 <0 0x0b290000 0 0x10000>,
2310 <0 0x0b490000 0 0x10000>;
2311 reg-names = "gmu", "gmu_pdc", "gmu_pdc_seq";
2312
2313 interrupts = <GIC_SPI 304 IRQ_TYPE_LEVEL_HIGH>,
2314 <GIC_SPI 305 IRQ_TYPE_LEVEL_HIGH>;
2315 interrupt-names = "hfi", "gmu";
2316
2317 clocks = <&gpucc GPU_CC_AHB_CLK>,
2318 <&gpucc GPU_CC_CX_GMU_CLK>,
2319 <&gpucc GPU_CC_CXO_CLK>,
2320 <&gcc GCC_DDRSS_GPU_AXI_CLK>,
2321 <&gcc GCC_GPU_MEMNOC_GFX_CLK>;
2322 clock-names = "ahb", "gmu", "cxo", "axi", "memnoc";
2323
2324 power-domains = <&gpucc GPU_CX_GDSC>,
2325 <&gpucc GPU_GX_GDSC>;
2326 power-domain-names = "cx", "gx";
2327
2328 iommus = <&adreno_smmu 5 0x400>;
2329
2330 operating-points-v2 = <&gmu_opp_table>;
2331
2332 status = "disabled";
2333
2334 gmu_opp_table: opp-table {
2335 compatible = "operating-points-v2";
2336
2337 opp-200000000 {
2338 opp-hz = /bits/ 64 <200000000>;
2339 opp-level = <RPMH_REGULATOR_LEVEL_MIN_SVS>;
2340 };
2341 };
2342 };
2343
2344 gpucc: clock-controller@2c90000 {
2345 compatible = "qcom,sm8150-gpucc";
2346 reg = <0 0x02c90000 0 0x9000>;
2347 clocks = <&rpmhcc RPMH_CXO_CLK>,
2348 <&gcc GCC_GPU_GPLL0_CLK_SRC>,
2349 <&gcc GCC_GPU_GPLL0_DIV_CLK_SRC>;
2350 clock-names = "bi_tcxo",
2351 "gcc_gpu_gpll0_clk_src",
2352 "gcc_gpu_gpll0_div_clk_src";
2353 #clock-cells = <1>;
2354 #reset-cells = <1>;
2355 #power-domain-cells = <1>;
2356 };
2357
2358 adreno_smmu: iommu@2ca0000 {
2359 compatible = "qcom,sm8150-smmu-500", "qcom,adreno-smmu",
2360 "qcom,smmu-500", "arm,mmu-500";
2361 reg = <0 0x02ca0000 0 0x10000>;
2362 #iommu-cells = <2>;
2363 #global-interrupts = <1>;
2364 interrupts = <GIC_SPI 674 IRQ_TYPE_LEVEL_HIGH>,
2365 <GIC_SPI 681 IRQ_TYPE_LEVEL_HIGH>,
2366 <GIC_SPI 682 IRQ_TYPE_LEVEL_HIGH>,
2367 <GIC_SPI 683 IRQ_TYPE_LEVEL_HIGH>,
2368 <GIC_SPI 684 IRQ_TYPE_LEVEL_HIGH>,
2369 <GIC_SPI 685 IRQ_TYPE_LEVEL_HIGH>,
2370 <GIC_SPI 686 IRQ_TYPE_LEVEL_HIGH>,
2371 <GIC_SPI 687 IRQ_TYPE_LEVEL_HIGH>,
2372 <GIC_SPI 688 IRQ_TYPE_LEVEL_HIGH>;
2373 clocks = <&gpucc GPU_CC_AHB_CLK>,
2374 <&gcc GCC_GPU_MEMNOC_GFX_CLK>,
2375 <&gcc GCC_GPU_SNOC_DVM_GFX_CLK>;
2376 clock-names = "ahb", "bus", "iface";
2377
2378 power-domains = <&gpucc GPU_CX_GDSC>;
2379 };
2380
2381 tlmm: pinctrl@3100000 {
2382 compatible = "qcom,sm8150-pinctrl";
2383 reg = <0x0 0x03100000 0x0 0x300000>,
2384 <0x0 0x03500000 0x0 0x300000>,
2385 <0x0 0x03900000 0x0 0x300000>,
2386 <0x0 0x03D00000 0x0 0x300000>;
2387 reg-names = "west", "east", "north", "south";
2388 interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>;
2389 gpio-ranges = <&tlmm 0 0 176>;
2390 gpio-controller;
2391 #gpio-cells = <2>;
2392 interrupt-controller;
2393 #interrupt-cells = <2>;
2394 wakeup-parent = <&pdc>;
2395
2396 qup_i2c0_default: qup-i2c0-default-state {
2397 pins = "gpio0", "gpio1";
2398 function = "qup0";
2399 drive-strength = <0x02>;
2400 bias-disable;
2401 };
2402
2403 qup_spi0_default: qup-spi0-default-state {
2404 pins = "gpio0", "gpio1", "gpio2", "gpio3";
2405 function = "qup0";
2406 drive-strength = <6>;
2407 bias-disable;
2408 };
2409
2410 qup_i2c1_default: qup-i2c1-default-state {
2411 pins = "gpio114", "gpio115";
2412 function = "qup1";
2413 drive-strength = <2>;
2414 bias-disable;
2415 };
2416
2417 qup_spi1_default: qup-spi1-default-state {
2418 pins = "gpio114", "gpio115", "gpio116", "gpio117";
2419 function = "qup1";
2420 drive-strength = <6>;
2421 bias-disable;
2422 };
2423
2424 qup_i2c2_default: qup-i2c2-default-state {
2425 pins = "gpio126", "gpio127";
2426 function = "qup2";
2427 drive-strength = <2>;
2428 bias-disable;
2429 };
2430
2431 qup_spi2_default: qup-spi2-default-state {
2432 pins = "gpio126", "gpio127", "gpio128", "gpio129";
2433 function = "qup2";
2434 drive-strength = <6>;
2435 bias-disable;
2436 };
2437
2438 qup_i2c3_default: qup-i2c3-default-state {
2439 pins = "gpio144", "gpio145";
2440 function = "qup3";
2441 drive-strength = <2>;
2442 bias-disable;
2443 };
2444
2445 qup_spi3_default: qup-spi3-default-state {
2446 pins = "gpio144", "gpio145", "gpio146", "gpio147";
2447 function = "qup3";
2448 drive-strength = <6>;
2449 bias-disable;
2450 };
2451
2452 qup_i2c4_default: qup-i2c4-default-state {
2453 pins = "gpio51", "gpio52";
2454 function = "qup4";
2455 drive-strength = <2>;
2456 bias-disable;
2457 };
2458
2459 qup_spi4_default: qup-spi4-default-state {
2460 pins = "gpio51", "gpio52", "gpio53", "gpio54";
2461 function = "qup4";
2462 drive-strength = <6>;
2463 bias-disable;
2464 };
2465
2466 qup_i2c5_default: qup-i2c5-default-state {
2467 pins = "gpio121", "gpio122";
2468 function = "qup5";
2469 drive-strength = <2>;
2470 bias-disable;
2471 };
2472
2473 qup_spi5_default: qup-spi5-default-state {
2474 pins = "gpio119", "gpio120", "gpio121", "gpio122";
2475 function = "qup5";
2476 drive-strength = <6>;
2477 bias-disable;
2478 };
2479
2480 qup_i2c6_default: qup-i2c6-default-state {
2481 pins = "gpio6", "gpio7";
2482 function = "qup6";
2483 drive-strength = <2>;
2484 bias-disable;
2485 };
2486
Tom Rini6bb92fc2024-05-20 09:54:58 -06002487 qup_spi6_default: qup-spi6-default-state {
Tom Rini53633a82024-02-29 12:33:36 -05002488 pins = "gpio4", "gpio5", "gpio6", "gpio7";
2489 function = "qup6";
2490 drive-strength = <6>;
2491 bias-disable;
2492 };
2493
2494 qup_i2c7_default: qup-i2c7-default-state {
2495 pins = "gpio98", "gpio99";
2496 function = "qup7";
2497 drive-strength = <2>;
2498 bias-disable;
2499 };
2500
Tom Rini6bb92fc2024-05-20 09:54:58 -06002501 qup_spi7_default: qup-spi7-default-state {
Tom Rini53633a82024-02-29 12:33:36 -05002502 pins = "gpio98", "gpio99", "gpio100", "gpio101";
2503 function = "qup7";
2504 drive-strength = <6>;
2505 bias-disable;
2506 };
2507
2508 qup_i2c8_default: qup-i2c8-default-state {
2509 pins = "gpio88", "gpio89";
2510 function = "qup8";
2511 drive-strength = <2>;
2512 bias-disable;
2513 };
2514
2515 qup_spi8_default: qup-spi8-default-state {
2516 pins = "gpio88", "gpio89", "gpio90", "gpio91";
2517 function = "qup8";
2518 drive-strength = <6>;
2519 bias-disable;
2520 };
2521
2522 qup_i2c9_default: qup-i2c9-default-state {
2523 pins = "gpio39", "gpio40";
2524 function = "qup9";
2525 drive-strength = <2>;
2526 bias-disable;
2527 };
2528
2529 qup_spi9_default: qup-spi9-default-state {
2530 pins = "gpio39", "gpio40", "gpio41", "gpio42";
2531 function = "qup9";
2532 drive-strength = <6>;
2533 bias-disable;
2534 };
2535
2536 qup_uart9_default: qup-uart9-default-state {
2537 pins = "gpio41", "gpio42";
2538 function = "qup9";
2539 drive-strength = <2>;
2540 bias-disable;
2541 };
2542
2543 qup_i2c10_default: qup-i2c10-default-state {
2544 pins = "gpio9", "gpio10";
2545 function = "qup10";
2546 drive-strength = <2>;
2547 bias-disable;
2548 };
2549
2550 qup_spi10_default: qup-spi10-default-state {
2551 pins = "gpio9", "gpio10", "gpio11", "gpio12";
2552 function = "qup10";
2553 drive-strength = <6>;
2554 bias-disable;
2555 };
2556
2557 qup_i2c11_default: qup-i2c11-default-state {
2558 pins = "gpio94", "gpio95";
2559 function = "qup11";
2560 drive-strength = <2>;
2561 bias-disable;
2562 };
2563
2564 qup_spi11_default: qup-spi11-default-state {
2565 pins = "gpio92", "gpio93", "gpio94", "gpio95";
2566 function = "qup11";
2567 drive-strength = <6>;
2568 bias-disable;
2569 };
2570
2571 qup_i2c12_default: qup-i2c12-default-state {
2572 pins = "gpio83", "gpio84";
2573 function = "qup12";
2574 drive-strength = <2>;
2575 bias-disable;
2576 };
2577
2578 qup_spi12_default: qup-spi12-default-state {
2579 pins = "gpio83", "gpio84", "gpio85", "gpio86";
2580 function = "qup12";
2581 drive-strength = <6>;
2582 bias-disable;
2583 };
2584
2585 qup_i2c13_default: qup-i2c13-default-state {
2586 pins = "gpio43", "gpio44";
2587 function = "qup13";
2588 drive-strength = <2>;
2589 bias-disable;
2590 };
2591
2592 qup_spi13_default: qup-spi13-default-state {
2593 pins = "gpio43", "gpio44", "gpio45", "gpio46";
2594 function = "qup13";
2595 drive-strength = <6>;
2596 bias-disable;
2597 };
2598
2599 qup_i2c14_default: qup-i2c14-default-state {
2600 pins = "gpio47", "gpio48";
2601 function = "qup14";
2602 drive-strength = <2>;
2603 bias-disable;
2604 };
2605
2606 qup_spi14_default: qup-spi14-default-state {
2607 pins = "gpio47", "gpio48", "gpio49", "gpio50";
2608 function = "qup14";
2609 drive-strength = <6>;
2610 bias-disable;
2611 };
2612
2613 qup_i2c15_default: qup-i2c15-default-state {
2614 pins = "gpio27", "gpio28";
2615 function = "qup15";
2616 drive-strength = <2>;
2617 bias-disable;
2618 };
2619
2620 qup_spi15_default: qup-spi15-default-state {
2621 pins = "gpio27", "gpio28", "gpio29", "gpio30";
2622 function = "qup15";
2623 drive-strength = <6>;
2624 bias-disable;
2625 };
2626
2627 qup_i2c16_default: qup-i2c16-default-state {
2628 pins = "gpio86", "gpio85";
2629 function = "qup16";
2630 drive-strength = <2>;
2631 bias-disable;
2632 };
2633
2634 qup_spi16_default: qup-spi16-default-state {
2635 pins = "gpio83", "gpio84", "gpio85", "gpio86";
2636 function = "qup16";
2637 drive-strength = <6>;
2638 bias-disable;
2639 };
2640
2641 qup_i2c17_default: qup-i2c17-default-state {
2642 pins = "gpio55", "gpio56";
2643 function = "qup17";
2644 drive-strength = <2>;
2645 bias-disable;
2646 };
2647
2648 qup_spi17_default: qup-spi17-default-state {
2649 pins = "gpio55", "gpio56", "gpio57", "gpio58";
2650 function = "qup17";
2651 drive-strength = <6>;
2652 bias-disable;
2653 };
2654
2655 qup_i2c18_default: qup-i2c18-default-state {
2656 pins = "gpio23", "gpio24";
2657 function = "qup18";
2658 drive-strength = <2>;
2659 bias-disable;
2660 };
2661
2662 qup_spi18_default: qup-spi18-default-state {
2663 pins = "gpio23", "gpio24", "gpio25", "gpio26";
2664 function = "qup18";
2665 drive-strength = <6>;
2666 bias-disable;
2667 };
2668
2669 qup_i2c19_default: qup-i2c19-default-state {
2670 pins = "gpio57", "gpio58";
2671 function = "qup19";
2672 drive-strength = <2>;
2673 bias-disable;
2674 };
2675
2676 qup_spi19_default: qup-spi19-default-state {
2677 pins = "gpio55", "gpio56", "gpio57", "gpio58";
2678 function = "qup19";
2679 drive-strength = <6>;
2680 bias-disable;
2681 };
2682
2683 pcie0_default_state: pcie0-default-state {
2684 perst-pins {
2685 pins = "gpio35";
2686 function = "gpio";
2687 drive-strength = <2>;
2688 bias-pull-down;
2689 };
2690
2691 clkreq-pins {
2692 pins = "gpio36";
2693 function = "pci_e0";
2694 drive-strength = <2>;
2695 bias-pull-up;
2696 };
2697
2698 wake-pins {
2699 pins = "gpio37";
2700 function = "gpio";
2701 drive-strength = <2>;
2702 bias-pull-up;
2703 };
2704 };
2705
2706 pcie1_default_state: pcie1-default-state {
2707 perst-pins {
2708 pins = "gpio102";
2709 function = "gpio";
2710 drive-strength = <2>;
2711 bias-pull-down;
2712 };
2713
2714 clkreq-pins {
2715 pins = "gpio103";
2716 function = "pci_e1";
2717 drive-strength = <2>;
2718 bias-pull-up;
2719 };
2720
2721 wake-pins {
2722 pins = "gpio104";
2723 function = "gpio";
2724 drive-strength = <2>;
2725 bias-pull-up;
2726 };
2727 };
2728 };
2729
2730 remoteproc_mpss: remoteproc@4080000 {
2731 compatible = "qcom,sm8150-mpss-pas";
2732 reg = <0x0 0x04080000 0x0 0x4040>;
2733
2734 interrupts-extended = <&intc GIC_SPI 266 IRQ_TYPE_EDGE_RISING>,
2735 <&modem_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
2736 <&modem_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
2737 <&modem_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
2738 <&modem_smp2p_in 3 IRQ_TYPE_EDGE_RISING>,
2739 <&modem_smp2p_in 7 IRQ_TYPE_EDGE_RISING>;
2740 interrupt-names = "wdog", "fatal", "ready", "handover",
2741 "stop-ack", "shutdown-ack";
2742
2743 clocks = <&rpmhcc RPMH_CXO_CLK>;
2744 clock-names = "xo";
2745
2746 power-domains = <&rpmhpd SM8150_CX>,
2747 <&rpmhpd SM8150_MSS>;
2748 power-domain-names = "cx", "mss";
2749
2750 memory-region = <&mpss_mem>;
2751
2752 qcom,qmp = <&aoss_qmp>;
2753
2754 qcom,smem-states = <&modem_smp2p_out 0>;
2755 qcom,smem-state-names = "stop";
2756
2757 status = "disabled";
2758
2759 glink-edge {
2760 interrupts = <GIC_SPI 449 IRQ_TYPE_EDGE_RISING>;
2761 label = "modem";
2762 qcom,remote-pid = <1>;
2763 mboxes = <&apss_shared 12>;
2764 };
2765 };
2766
2767 stm@6002000 {
2768 compatible = "arm,coresight-stm", "arm,primecell";
2769 reg = <0 0x06002000 0 0x1000>,
2770 <0 0x16280000 0 0x180000>;
2771 reg-names = "stm-base", "stm-stimulus-base";
2772
2773 clocks = <&aoss_qmp>;
2774 clock-names = "apb_pclk";
2775
2776 out-ports {
2777 port {
2778 stm_out: endpoint {
2779 remote-endpoint = <&funnel0_in7>;
2780 };
2781 };
2782 };
2783 };
2784
2785 funnel@6041000 {
2786 compatible = "arm,coresight-dynamic-funnel", "arm,primecell";
2787 reg = <0 0x06041000 0 0x1000>;
2788
2789 clocks = <&aoss_qmp>;
2790 clock-names = "apb_pclk";
2791
2792 out-ports {
2793 port {
2794 funnel0_out: endpoint {
2795 remote-endpoint = <&merge_funnel_in0>;
2796 };
2797 };
2798 };
2799
2800 in-ports {
2801 #address-cells = <1>;
2802 #size-cells = <0>;
2803
2804 port@7 {
2805 reg = <7>;
2806 funnel0_in7: endpoint {
2807 remote-endpoint = <&stm_out>;
2808 };
2809 };
2810 };
2811 };
2812
2813 funnel@6042000 {
2814 compatible = "arm,coresight-dynamic-funnel", "arm,primecell";
2815 reg = <0 0x06042000 0 0x1000>;
2816
2817 clocks = <&aoss_qmp>;
2818 clock-names = "apb_pclk";
2819
2820 out-ports {
2821 port {
2822 funnel1_out: endpoint {
2823 remote-endpoint = <&merge_funnel_in1>;
2824 };
2825 };
2826 };
2827
2828 in-ports {
2829 #address-cells = <1>;
2830 #size-cells = <0>;
2831
2832 port@4 {
2833 reg = <4>;
2834 funnel1_in4: endpoint {
2835 remote-endpoint = <&swao_replicator_out>;
2836 };
2837 };
2838 };
2839 };
2840
2841 funnel@6043000 {
2842 compatible = "arm,coresight-dynamic-funnel", "arm,primecell";
2843 reg = <0 0x06043000 0 0x1000>;
2844
2845 clocks = <&aoss_qmp>;
2846 clock-names = "apb_pclk";
2847
2848 out-ports {
2849 port {
2850 funnel2_out: endpoint {
2851 remote-endpoint = <&merge_funnel_in2>;
2852 };
2853 };
2854 };
2855
2856 in-ports {
2857 #address-cells = <1>;
2858 #size-cells = <0>;
2859
2860 port@2 {
2861 reg = <2>;
2862 funnel2_in2: endpoint {
2863 remote-endpoint = <&apss_merge_funnel_out>;
2864 };
2865 };
2866 };
2867 };
2868
2869 funnel@6045000 {
2870 compatible = "arm,coresight-dynamic-funnel", "arm,primecell";
2871 reg = <0 0x06045000 0 0x1000>;
2872
2873 clocks = <&aoss_qmp>;
2874 clock-names = "apb_pclk";
2875
2876 out-ports {
2877 port {
2878 merge_funnel_out: endpoint {
2879 remote-endpoint = <&etf_in>;
2880 };
2881 };
2882 };
2883
2884 in-ports {
2885 #address-cells = <1>;
2886 #size-cells = <0>;
2887
2888 port@0 {
2889 reg = <0>;
2890 merge_funnel_in0: endpoint {
2891 remote-endpoint = <&funnel0_out>;
2892 };
2893 };
2894
2895 port@1 {
2896 reg = <1>;
2897 merge_funnel_in1: endpoint {
2898 remote-endpoint = <&funnel1_out>;
2899 };
2900 };
2901
2902 port@2 {
2903 reg = <2>;
2904 merge_funnel_in2: endpoint {
2905 remote-endpoint = <&funnel2_out>;
2906 };
2907 };
2908 };
2909 };
2910
2911 replicator@6046000 {
2912 compatible = "arm,coresight-dynamic-replicator", "arm,primecell";
2913 reg = <0 0x06046000 0 0x1000>;
2914
2915 clocks = <&aoss_qmp>;
2916 clock-names = "apb_pclk";
2917
2918 out-ports {
2919 #address-cells = <1>;
2920 #size-cells = <0>;
2921
2922 port@0 {
2923 reg = <0>;
2924 replicator_out0: endpoint {
2925 remote-endpoint = <&etr_in>;
2926 };
2927 };
2928
2929 port@1 {
2930 reg = <1>;
2931 replicator_out1: endpoint {
2932 remote-endpoint = <&replicator1_in>;
2933 };
2934 };
2935 };
2936
2937 in-ports {
2938 port {
2939 replicator_in0: endpoint {
2940 remote-endpoint = <&etf_out>;
2941 };
2942 };
2943 };
2944 };
2945
2946 etf@6047000 {
2947 compatible = "arm,coresight-tmc", "arm,primecell";
2948 reg = <0 0x06047000 0 0x1000>;
2949
2950 clocks = <&aoss_qmp>;
2951 clock-names = "apb_pclk";
2952
2953 out-ports {
2954 port {
2955 etf_out: endpoint {
2956 remote-endpoint = <&replicator_in0>;
2957 };
2958 };
2959 };
2960
2961 in-ports {
2962 port {
2963 etf_in: endpoint {
2964 remote-endpoint = <&merge_funnel_out>;
2965 };
2966 };
2967 };
2968 };
2969
2970 etr@6048000 {
2971 compatible = "arm,coresight-tmc", "arm,primecell";
2972 reg = <0 0x06048000 0 0x1000>;
2973 iommus = <&apps_smmu 0x05e0 0x0>;
2974
2975 clocks = <&aoss_qmp>;
2976 clock-names = "apb_pclk";
2977 arm,scatter-gather;
2978
2979 in-ports {
2980 port {
2981 etr_in: endpoint {
2982 remote-endpoint = <&replicator_out0>;
2983 };
2984 };
2985 };
2986 };
2987
2988 replicator@604a000 {
2989 compatible = "arm,coresight-dynamic-replicator", "arm,primecell";
2990 reg = <0 0x0604a000 0 0x1000>;
2991
2992 clocks = <&aoss_qmp>;
2993 clock-names = "apb_pclk";
2994
2995 out-ports {
2996 #address-cells = <1>;
2997 #size-cells = <0>;
2998
2999 port@1 {
3000 reg = <1>;
3001 replicator1_out: endpoint {
3002 remote-endpoint = <&swao_funnel_in>;
3003 };
3004 };
3005 };
3006
3007 in-ports {
Tom Rini53633a82024-02-29 12:33:36 -05003008
Tom Rini93743d22024-04-01 09:08:13 -04003009 port {
Tom Rini53633a82024-02-29 12:33:36 -05003010 replicator1_in: endpoint {
3011 remote-endpoint = <&replicator_out1>;
3012 };
3013 };
3014 };
3015 };
3016
3017 funnel@6b08000 {
3018 compatible = "arm,coresight-dynamic-funnel", "arm,primecell";
3019 reg = <0 0x06b08000 0 0x1000>;
3020
3021 clocks = <&aoss_qmp>;
3022 clock-names = "apb_pclk";
3023
3024 out-ports {
3025 port {
3026 swao_funnel_out: endpoint {
3027 remote-endpoint = <&swao_etf_in>;
3028 };
3029 };
3030 };
3031
3032 in-ports {
3033 #address-cells = <1>;
3034 #size-cells = <0>;
3035
3036 port@6 {
3037 reg = <6>;
3038 swao_funnel_in: endpoint {
3039 remote-endpoint = <&replicator1_out>;
3040 };
3041 };
3042 };
3043 };
3044
3045 etf@6b09000 {
3046 compatible = "arm,coresight-tmc", "arm,primecell";
3047 reg = <0 0x06b09000 0 0x1000>;
3048
3049 clocks = <&aoss_qmp>;
3050 clock-names = "apb_pclk";
3051
3052 out-ports {
3053 port {
3054 swao_etf_out: endpoint {
3055 remote-endpoint = <&swao_replicator_in>;
3056 };
3057 };
3058 };
3059
3060 in-ports {
3061 port {
3062 swao_etf_in: endpoint {
3063 remote-endpoint = <&swao_funnel_out>;
3064 };
3065 };
3066 };
3067 };
3068
3069 replicator@6b0a000 {
3070 compatible = "arm,coresight-dynamic-replicator", "arm,primecell";
3071 reg = <0 0x06b0a000 0 0x1000>;
3072
3073 clocks = <&aoss_qmp>;
3074 clock-names = "apb_pclk";
3075 qcom,replicator-loses-context;
3076
3077 out-ports {
3078 port {
3079 swao_replicator_out: endpoint {
3080 remote-endpoint = <&funnel1_in4>;
3081 };
3082 };
3083 };
3084
3085 in-ports {
3086 port {
3087 swao_replicator_in: endpoint {
3088 remote-endpoint = <&swao_etf_out>;
3089 };
3090 };
3091 };
3092 };
3093
3094 etm@7040000 {
3095 compatible = "arm,coresight-etm4x", "arm,primecell";
3096 reg = <0 0x07040000 0 0x1000>;
3097
3098 cpu = <&CPU0>;
3099
3100 clocks = <&aoss_qmp>;
3101 clock-names = "apb_pclk";
3102 arm,coresight-loses-context-with-cpu;
3103 qcom,skip-power-up;
3104
3105 out-ports {
3106 port {
3107 etm0_out: endpoint {
3108 remote-endpoint = <&apss_funnel_in0>;
3109 };
3110 };
3111 };
3112 };
3113
3114 etm@7140000 {
3115 compatible = "arm,coresight-etm4x", "arm,primecell";
3116 reg = <0 0x07140000 0 0x1000>;
3117
3118 cpu = <&CPU1>;
3119
3120 clocks = <&aoss_qmp>;
3121 clock-names = "apb_pclk";
3122 arm,coresight-loses-context-with-cpu;
3123 qcom,skip-power-up;
3124
3125 out-ports {
3126 port {
3127 etm1_out: endpoint {
3128 remote-endpoint = <&apss_funnel_in1>;
3129 };
3130 };
3131 };
3132 };
3133
3134 etm@7240000 {
3135 compatible = "arm,coresight-etm4x", "arm,primecell";
3136 reg = <0 0x07240000 0 0x1000>;
3137
3138 cpu = <&CPU2>;
3139
3140 clocks = <&aoss_qmp>;
3141 clock-names = "apb_pclk";
3142 arm,coresight-loses-context-with-cpu;
3143 qcom,skip-power-up;
3144
3145 out-ports {
3146 port {
3147 etm2_out: endpoint {
3148 remote-endpoint = <&apss_funnel_in2>;
3149 };
3150 };
3151 };
3152 };
3153
3154 etm@7340000 {
3155 compatible = "arm,coresight-etm4x", "arm,primecell";
3156 reg = <0 0x07340000 0 0x1000>;
3157
3158 cpu = <&CPU3>;
3159
3160 clocks = <&aoss_qmp>;
3161 clock-names = "apb_pclk";
3162 arm,coresight-loses-context-with-cpu;
3163 qcom,skip-power-up;
3164
3165 out-ports {
3166 port {
3167 etm3_out: endpoint {
3168 remote-endpoint = <&apss_funnel_in3>;
3169 };
3170 };
3171 };
3172 };
3173
3174 etm@7440000 {
3175 compatible = "arm,coresight-etm4x", "arm,primecell";
3176 reg = <0 0x07440000 0 0x1000>;
3177
3178 cpu = <&CPU4>;
3179
3180 clocks = <&aoss_qmp>;
3181 clock-names = "apb_pclk";
3182 arm,coresight-loses-context-with-cpu;
3183 qcom,skip-power-up;
3184
3185 out-ports {
3186 port {
3187 etm4_out: endpoint {
3188 remote-endpoint = <&apss_funnel_in4>;
3189 };
3190 };
3191 };
3192 };
3193
3194 etm@7540000 {
3195 compatible = "arm,coresight-etm4x", "arm,primecell";
3196 reg = <0 0x07540000 0 0x1000>;
3197
3198 cpu = <&CPU5>;
3199
3200 clocks = <&aoss_qmp>;
3201 clock-names = "apb_pclk";
3202 arm,coresight-loses-context-with-cpu;
3203 qcom,skip-power-up;
3204
3205 out-ports {
3206 port {
3207 etm5_out: endpoint {
3208 remote-endpoint = <&apss_funnel_in5>;
3209 };
3210 };
3211 };
3212 };
3213
3214 etm@7640000 {
3215 compatible = "arm,coresight-etm4x", "arm,primecell";
3216 reg = <0 0x07640000 0 0x1000>;
3217
3218 cpu = <&CPU6>;
3219
3220 clocks = <&aoss_qmp>;
3221 clock-names = "apb_pclk";
3222 arm,coresight-loses-context-with-cpu;
3223 qcom,skip-power-up;
3224
3225 out-ports {
3226 port {
3227 etm6_out: endpoint {
3228 remote-endpoint = <&apss_funnel_in6>;
3229 };
3230 };
3231 };
3232 };
3233
3234 etm@7740000 {
3235 compatible = "arm,coresight-etm4x", "arm,primecell";
3236 reg = <0 0x07740000 0 0x1000>;
3237
3238 cpu = <&CPU7>;
3239
3240 clocks = <&aoss_qmp>;
3241 clock-names = "apb_pclk";
3242 arm,coresight-loses-context-with-cpu;
3243 qcom,skip-power-up;
3244
3245 out-ports {
3246 port {
3247 etm7_out: endpoint {
3248 remote-endpoint = <&apss_funnel_in7>;
3249 };
3250 };
3251 };
3252 };
3253
3254 funnel@7800000 { /* APSS Funnel */
3255 compatible = "arm,coresight-dynamic-funnel", "arm,primecell";
3256 reg = <0 0x07800000 0 0x1000>;
3257
3258 clocks = <&aoss_qmp>;
3259 clock-names = "apb_pclk";
3260
3261 out-ports {
3262 port {
3263 apss_funnel_out: endpoint {
3264 remote-endpoint = <&apss_merge_funnel_in>;
3265 };
3266 };
3267 };
3268
3269 in-ports {
3270 #address-cells = <1>;
3271 #size-cells = <0>;
3272
3273 port@0 {
3274 reg = <0>;
3275 apss_funnel_in0: endpoint {
3276 remote-endpoint = <&etm0_out>;
3277 };
3278 };
3279
3280 port@1 {
3281 reg = <1>;
3282 apss_funnel_in1: endpoint {
3283 remote-endpoint = <&etm1_out>;
3284 };
3285 };
3286
3287 port@2 {
3288 reg = <2>;
3289 apss_funnel_in2: endpoint {
3290 remote-endpoint = <&etm2_out>;
3291 };
3292 };
3293
3294 port@3 {
3295 reg = <3>;
3296 apss_funnel_in3: endpoint {
3297 remote-endpoint = <&etm3_out>;
3298 };
3299 };
3300
3301 port@4 {
3302 reg = <4>;
3303 apss_funnel_in4: endpoint {
3304 remote-endpoint = <&etm4_out>;
3305 };
3306 };
3307
3308 port@5 {
3309 reg = <5>;
3310 apss_funnel_in5: endpoint {
3311 remote-endpoint = <&etm5_out>;
3312 };
3313 };
3314
3315 port@6 {
3316 reg = <6>;
3317 apss_funnel_in6: endpoint {
3318 remote-endpoint = <&etm6_out>;
3319 };
3320 };
3321
3322 port@7 {
3323 reg = <7>;
3324 apss_funnel_in7: endpoint {
3325 remote-endpoint = <&etm7_out>;
3326 };
3327 };
3328 };
3329 };
3330
3331 funnel@7810000 {
3332 compatible = "arm,coresight-dynamic-funnel", "arm,primecell";
3333 reg = <0 0x07810000 0 0x1000>;
3334
3335 clocks = <&aoss_qmp>;
3336 clock-names = "apb_pclk";
3337
3338 out-ports {
3339 port {
3340 apss_merge_funnel_out: endpoint {
3341 remote-endpoint = <&funnel2_in2>;
3342 };
3343 };
3344 };
3345
3346 in-ports {
3347 port {
3348 apss_merge_funnel_in: endpoint {
3349 remote-endpoint = <&apss_funnel_out>;
3350 };
3351 };
3352 };
3353 };
3354
3355 remoteproc_cdsp: remoteproc@8300000 {
3356 compatible = "qcom,sm8150-cdsp-pas";
3357 reg = <0x0 0x08300000 0x0 0x4040>;
3358
3359 interrupts-extended = <&intc GIC_SPI 578 IRQ_TYPE_EDGE_RISING>,
3360 <&cdsp_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
3361 <&cdsp_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
3362 <&cdsp_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
3363 <&cdsp_smp2p_in 3 IRQ_TYPE_EDGE_RISING>;
3364 interrupt-names = "wdog", "fatal", "ready",
3365 "handover", "stop-ack";
3366
3367 clocks = <&rpmhcc RPMH_CXO_CLK>;
3368 clock-names = "xo";
3369
3370 power-domains = <&rpmhpd SM8150_CX>;
3371
3372 memory-region = <&cdsp_mem>;
3373
3374 qcom,qmp = <&aoss_qmp>;
3375
3376 qcom,smem-states = <&cdsp_smp2p_out 0>;
3377 qcom,smem-state-names = "stop";
3378
3379 status = "disabled";
3380
3381 glink-edge {
3382 interrupts = <GIC_SPI 574 IRQ_TYPE_EDGE_RISING>;
3383 label = "cdsp";
3384 qcom,remote-pid = <5>;
3385 mboxes = <&apss_shared 4>;
3386
3387 fastrpc {
3388 compatible = "qcom,fastrpc";
3389 qcom,glink-channels = "fastrpcglink-apps-dsp";
3390 label = "cdsp";
3391 qcom,non-secure-domain;
3392 #address-cells = <1>;
3393 #size-cells = <0>;
3394
3395 compute-cb@1 {
3396 compatible = "qcom,fastrpc-compute-cb";
3397 reg = <1>;
3398 iommus = <&apps_smmu 0x1001 0x0460>;
3399 };
3400
3401 compute-cb@2 {
3402 compatible = "qcom,fastrpc-compute-cb";
3403 reg = <2>;
3404 iommus = <&apps_smmu 0x1002 0x0460>;
3405 };
3406
3407 compute-cb@3 {
3408 compatible = "qcom,fastrpc-compute-cb";
3409 reg = <3>;
3410 iommus = <&apps_smmu 0x1003 0x0460>;
3411 };
3412
3413 compute-cb@4 {
3414 compatible = "qcom,fastrpc-compute-cb";
3415 reg = <4>;
3416 iommus = <&apps_smmu 0x1004 0x0460>;
3417 };
3418
3419 compute-cb@5 {
3420 compatible = "qcom,fastrpc-compute-cb";
3421 reg = <5>;
3422 iommus = <&apps_smmu 0x1005 0x0460>;
3423 };
3424
3425 compute-cb@6 {
3426 compatible = "qcom,fastrpc-compute-cb";
3427 reg = <6>;
3428 iommus = <&apps_smmu 0x1006 0x0460>;
3429 };
3430
3431 compute-cb@7 {
3432 compatible = "qcom,fastrpc-compute-cb";
3433 reg = <7>;
3434 iommus = <&apps_smmu 0x1007 0x0460>;
3435 };
3436
3437 compute-cb@8 {
3438 compatible = "qcom,fastrpc-compute-cb";
3439 reg = <8>;
3440 iommus = <&apps_smmu 0x1008 0x0460>;
3441 };
3442
3443 /* note: secure cb9 in downstream */
3444 };
3445 };
3446 };
3447
3448 usb_1_hsphy: phy@88e2000 {
3449 compatible = "qcom,sm8150-usb-hs-phy",
3450 "qcom,usb-snps-hs-7nm-phy";
3451 reg = <0 0x088e2000 0 0x400>;
3452 status = "disabled";
3453 #phy-cells = <0>;
3454
3455 clocks = <&rpmhcc RPMH_CXO_CLK>;
3456 clock-names = "ref";
3457
3458 resets = <&gcc GCC_QUSB2PHY_PRIM_BCR>;
3459 };
3460
3461 usb_2_hsphy: phy@88e3000 {
3462 compatible = "qcom,sm8150-usb-hs-phy",
3463 "qcom,usb-snps-hs-7nm-phy";
3464 reg = <0 0x088e3000 0 0x400>;
3465 status = "disabled";
3466 #phy-cells = <0>;
3467
3468 clocks = <&rpmhcc RPMH_CXO_CLK>;
3469 clock-names = "ref";
3470
3471 resets = <&gcc GCC_QUSB2PHY_SEC_BCR>;
3472 };
3473
3474 usb_1_qmpphy: phy@88e8000 {
3475 compatible = "qcom,sm8150-qmp-usb3-dp-phy";
3476 reg = <0 0x088e8000 0 0x3000>;
3477
3478 clocks = <&gcc GCC_USB3_PRIM_PHY_AUX_CLK>,
3479 <&gcc GCC_USB3_PRIM_CLKREF_CLK>,
3480 <&gcc GCC_USB3_PRIM_PHY_COM_AUX_CLK>,
3481 <&gcc GCC_USB3_PRIM_PHY_PIPE_CLK>;
3482 clock-names = "aux",
3483 "ref",
3484 "com_aux",
3485 "usb3_pipe";
3486
3487 resets = <&gcc GCC_USB3_DP_PHY_PRIM_BCR>,
3488 <&gcc GCC_USB3_PHY_PRIM_BCR>;
3489 reset-names = "phy", "common";
3490
3491 #clock-cells = <1>;
3492 #phy-cells = <1>;
3493
3494 status = "disabled";
Tom Rini93743d22024-04-01 09:08:13 -04003495
3496 ports {
3497 #address-cells = <1>;
3498 #size-cells = <0>;
3499
3500 port@0 {
3501 reg = <0>;
3502
3503 usb_1_qmpphy_out: endpoint {
3504 };
3505 };
3506
3507 port@1 {
3508 reg = <1>;
3509
3510 usb_1_qmpphy_usb_ss_in: endpoint {
Tom Rini6b642ac2024-10-01 12:20:28 -06003511 remote-endpoint = <&usb_1_dwc3_ss>;
Tom Rini93743d22024-04-01 09:08:13 -04003512 };
3513 };
3514
3515 port@2 {
3516 reg = <2>;
3517
3518 usb_1_qmpphy_dp_in: endpoint {
Tom Rini6b642ac2024-10-01 12:20:28 -06003519 remote-endpoint = <&mdss_dp_out>;
Tom Rini93743d22024-04-01 09:08:13 -04003520 };
3521 };
3522 };
Tom Rini53633a82024-02-29 12:33:36 -05003523 };
3524
3525 usb_2_qmpphy: phy@88eb000 {
3526 compatible = "qcom,sm8150-qmp-usb3-uni-phy";
Tom Rini93743d22024-04-01 09:08:13 -04003527 reg = <0 0x088eb000 0 0x1000>;
Tom Rini53633a82024-02-29 12:33:36 -05003528
3529 clocks = <&gcc GCC_USB3_SEC_PHY_AUX_CLK>,
Tom Rini53633a82024-02-29 12:33:36 -05003530 <&gcc GCC_USB3_SEC_CLKREF_CLK>,
Tom Rini93743d22024-04-01 09:08:13 -04003531 <&gcc GCC_USB3_SEC_PHY_COM_AUX_CLK>,
3532 <&gcc GCC_USB3_SEC_PHY_PIPE_CLK>;
3533 clock-names = "aux",
3534 "ref",
3535 "com_aux",
3536 "pipe";
3537 clock-output-names = "usb3_uni_phy_pipe_clk_src";
3538 #clock-cells = <0>;
3539 #phy-cells = <0>;
Tom Rini53633a82024-02-29 12:33:36 -05003540
Tom Rini93743d22024-04-01 09:08:13 -04003541 resets = <&gcc GCC_USB3_PHY_SEC_BCR>,
3542 <&gcc GCC_USB3PHY_PHY_SEC_BCR>;
3543 reset-names = "phy",
3544 "phy_phy";
Tom Rini53633a82024-02-29 12:33:36 -05003545
Tom Rini93743d22024-04-01 09:08:13 -04003546 status = "disabled";
Tom Rini53633a82024-02-29 12:33:36 -05003547 };
3548
3549 sdhc_2: mmc@8804000 {
3550 compatible = "qcom,sm8150-sdhci", "qcom,sdhci-msm-v5";
3551 reg = <0 0x08804000 0 0x1000>;
3552
3553 interrupts = <GIC_SPI 204 IRQ_TYPE_LEVEL_HIGH>,
3554 <GIC_SPI 222 IRQ_TYPE_LEVEL_HIGH>;
3555 interrupt-names = "hc_irq", "pwr_irq";
3556
3557 clocks = <&gcc GCC_SDCC2_AHB_CLK>,
3558 <&gcc GCC_SDCC2_APPS_CLK>,
3559 <&rpmhcc RPMH_CXO_CLK>;
3560 clock-names = "iface", "core", "xo";
3561 iommus = <&apps_smmu 0x6a0 0x0>;
3562 qcom,dll-config = <0x0007642c>;
3563 qcom,ddr-config = <0x80040868>;
3564 power-domains = <&rpmhpd 0>;
3565 operating-points-v2 = <&sdhc2_opp_table>;
3566
3567 status = "disabled";
3568
3569 sdhc2_opp_table: opp-table {
3570 compatible = "operating-points-v2";
3571
3572 opp-19200000 {
3573 opp-hz = /bits/ 64 <19200000>;
3574 required-opps = <&rpmhpd_opp_min_svs>;
3575 };
3576
3577 opp-50000000 {
3578 opp-hz = /bits/ 64 <50000000>;
3579 required-opps = <&rpmhpd_opp_low_svs>;
3580 };
3581
3582 opp-100000000 {
3583 opp-hz = /bits/ 64 <100000000>;
3584 required-opps = <&rpmhpd_opp_svs>;
3585 };
3586
3587 opp-202000000 {
3588 opp-hz = /bits/ 64 <202000000>;
3589 required-opps = <&rpmhpd_opp_svs_l1>;
3590 };
3591 };
3592 };
3593
3594 dc_noc: interconnect@9160000 {
3595 compatible = "qcom,sm8150-dc-noc";
3596 reg = <0 0x09160000 0 0x3200>;
3597 #interconnect-cells = <2>;
3598 qcom,bcm-voters = <&apps_bcm_voter>;
3599 };
3600
3601 gem_noc: interconnect@9680000 {
3602 compatible = "qcom,sm8150-gem-noc";
3603 reg = <0 0x09680000 0 0x3e200>;
3604 #interconnect-cells = <2>;
3605 qcom,bcm-voters = <&apps_bcm_voter>;
3606 };
3607
3608 usb_1: usb@a6f8800 {
3609 compatible = "qcom,sm8150-dwc3", "qcom,dwc3";
3610 reg = <0 0x0a6f8800 0 0x400>;
3611 status = "disabled";
3612 #address-cells = <2>;
3613 #size-cells = <2>;
3614 ranges;
3615 dma-ranges;
3616
3617 clocks = <&gcc GCC_CFG_NOC_USB3_PRIM_AXI_CLK>,
3618 <&gcc GCC_USB30_PRIM_MASTER_CLK>,
3619 <&gcc GCC_AGGRE_USB3_PRIM_AXI_CLK>,
3620 <&gcc GCC_USB30_PRIM_SLEEP_CLK>,
3621 <&gcc GCC_USB30_PRIM_MOCK_UTMI_CLK>,
3622 <&gcc GCC_USB3_SEC_CLKREF_CLK>;
3623 clock-names = "cfg_noc",
3624 "core",
3625 "iface",
3626 "sleep",
3627 "mock_utmi",
3628 "xo";
3629
3630 assigned-clocks = <&gcc GCC_USB30_PRIM_MOCK_UTMI_CLK>,
3631 <&gcc GCC_USB30_PRIM_MASTER_CLK>;
3632 assigned-clock-rates = <19200000>, <200000000>;
3633
Tom Rini6bb92fc2024-05-20 09:54:58 -06003634 interrupts-extended = <&intc GIC_SPI 130 IRQ_TYPE_LEVEL_HIGH>,
3635 <&intc GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>,
3636 <&pdc 9 IRQ_TYPE_EDGE_BOTH>,
Tom Rini93743d22024-04-01 09:08:13 -04003637 <&pdc 8 IRQ_TYPE_EDGE_BOTH>,
Tom Rini6bb92fc2024-05-20 09:54:58 -06003638 <&pdc 6 IRQ_TYPE_LEVEL_HIGH>;
3639 interrupt-names = "pwr_event",
3640 "hs_phy_irq",
3641 "dp_hs_phy_irq",
3642 "dm_hs_phy_irq",
3643 "ss_phy_irq";
Tom Rini53633a82024-02-29 12:33:36 -05003644
3645 power-domains = <&gcc USB30_PRIM_GDSC>;
3646
3647 resets = <&gcc GCC_USB30_PRIM_BCR>;
3648
3649 interconnects = <&aggre1_noc MASTER_USB3 0 &mc_virt SLAVE_EBI_CH0 0>,
3650 <&gem_noc MASTER_AMPSS_M0 0 &config_noc SLAVE_USB3 0>;
3651 interconnect-names = "usb-ddr", "apps-usb";
3652
3653 usb_1_dwc3: usb@a600000 {
3654 compatible = "snps,dwc3";
3655 reg = <0 0x0a600000 0 0xcd00>;
3656 interrupts = <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>;
3657 iommus = <&apps_smmu 0x140 0>;
3658 snps,dis_u2_susphy_quirk;
3659 snps,dis_enblslpm_quirk;
3660 phys = <&usb_1_hsphy>, <&usb_1_qmpphy QMP_USB43DP_USB3_PHY>;
3661 phy-names = "usb2-phy", "usb3-phy";
Tom Rini93743d22024-04-01 09:08:13 -04003662
3663 ports {
3664 #address-cells = <1>;
3665 #size-cells = <0>;
3666
3667 port@0 {
3668 reg = <0>;
3669
3670 usb_1_dwc3_hs: endpoint {
3671 };
3672 };
3673
3674 port@1 {
3675 reg = <1>;
3676
3677 usb_1_dwc3_ss: endpoint {
Tom Rini6b642ac2024-10-01 12:20:28 -06003678 remote-endpoint = <&usb_1_qmpphy_usb_ss_in>;
Tom Rini93743d22024-04-01 09:08:13 -04003679 };
3680 };
3681 };
Tom Rini53633a82024-02-29 12:33:36 -05003682 };
3683 };
3684
3685 usb_2: usb@a8f8800 {
3686 compatible = "qcom,sm8150-dwc3", "qcom,dwc3";
3687 reg = <0 0x0a8f8800 0 0x400>;
3688 status = "disabled";
3689 #address-cells = <2>;
3690 #size-cells = <2>;
3691 ranges;
3692 dma-ranges;
3693
3694 clocks = <&gcc GCC_CFG_NOC_USB3_SEC_AXI_CLK>,
3695 <&gcc GCC_USB30_SEC_MASTER_CLK>,
3696 <&gcc GCC_AGGRE_USB3_SEC_AXI_CLK>,
3697 <&gcc GCC_USB30_SEC_SLEEP_CLK>,
3698 <&gcc GCC_USB30_SEC_MOCK_UTMI_CLK>,
3699 <&gcc GCC_USB3_SEC_CLKREF_CLK>;
3700 clock-names = "cfg_noc",
3701 "core",
3702 "iface",
3703 "sleep",
3704 "mock_utmi",
3705 "xo";
3706
3707 assigned-clocks = <&gcc GCC_USB30_SEC_MOCK_UTMI_CLK>,
3708 <&gcc GCC_USB30_SEC_MASTER_CLK>;
3709 assigned-clock-rates = <19200000>, <200000000>;
3710
Tom Rini6bb92fc2024-05-20 09:54:58 -06003711 interrupts-extended = <&intc GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>,
3712 <&intc GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>,
3713 <&pdc 11 IRQ_TYPE_EDGE_BOTH>,
Tom Rini93743d22024-04-01 09:08:13 -04003714 <&pdc 10 IRQ_TYPE_EDGE_BOTH>,
Tom Rini6bb92fc2024-05-20 09:54:58 -06003715 <&pdc 7 IRQ_TYPE_LEVEL_HIGH>;
3716 interrupt-names = "pwr_event",
3717 "hs_phy_irq",
3718 "dp_hs_phy_irq",
3719 "dm_hs_phy_irq",
3720 "ss_phy_irq";
Tom Rini53633a82024-02-29 12:33:36 -05003721
3722 power-domains = <&gcc USB30_SEC_GDSC>;
3723
3724 resets = <&gcc GCC_USB30_SEC_BCR>;
3725
3726 interconnects = <&aggre1_noc MASTER_USB3_1 0 &mc_virt SLAVE_EBI_CH0 0>,
3727 <&gem_noc MASTER_AMPSS_M0 0 &config_noc SLAVE_USB3_1 0>;
3728 interconnect-names = "usb-ddr", "apps-usb";
3729
3730 usb_2_dwc3: usb@a800000 {
3731 compatible = "snps,dwc3";
3732 reg = <0 0x0a800000 0 0xcd00>;
3733 interrupts = <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>;
3734 iommus = <&apps_smmu 0x160 0>;
3735 snps,dis_u2_susphy_quirk;
3736 snps,dis_enblslpm_quirk;
Tom Rini93743d22024-04-01 09:08:13 -04003737 phys = <&usb_2_hsphy>, <&usb_2_qmpphy>;
Tom Rini53633a82024-02-29 12:33:36 -05003738 phy-names = "usb2-phy", "usb3-phy";
3739 };
3740 };
3741
Tom Rini6b642ac2024-10-01 12:20:28 -06003742 videocc: clock-controller@ab00000 {
3743 compatible = "qcom,sm8150-videocc";
3744 reg = <0 0x0ab00000 0 0x10000>;
3745 clocks = <&gcc GCC_VIDEO_AHB_CLK>,
3746 <&rpmhcc RPMH_CXO_CLK>;
3747 clock-names = "iface", "bi_tcxo";
3748 power-domains = <&rpmhpd SM8150_MMCX>;
3749 required-opps = <&rpmhpd_opp_low_svs>;
3750 #clock-cells = <1>;
3751 #reset-cells = <1>;
3752 #power-domain-cells = <1>;
3753 };
3754
Tom Rini53633a82024-02-29 12:33:36 -05003755 camnoc_virt: interconnect@ac00000 {
3756 compatible = "qcom,sm8150-camnoc-virt";
3757 reg = <0 0x0ac00000 0 0x1000>;
3758 #interconnect-cells = <2>;
3759 qcom,bcm-voters = <&apps_bcm_voter>;
3760 };
3761
3762 mdss: display-subsystem@ae00000 {
3763 compatible = "qcom,sm8150-mdss";
3764 reg = <0 0x0ae00000 0 0x1000>;
3765 reg-names = "mdss";
3766
3767 interconnects = <&mmss_noc MASTER_MDP_PORT0 0 &mc_virt SLAVE_EBI_CH0 0>,
3768 <&mmss_noc MASTER_MDP_PORT1 0 &mc_virt SLAVE_EBI_CH0 0>;
3769 interconnect-names = "mdp0-mem", "mdp1-mem";
3770
3771 power-domains = <&dispcc MDSS_GDSC>;
3772
3773 clocks = <&dispcc DISP_CC_MDSS_AHB_CLK>,
3774 <&gcc GCC_DISP_HF_AXI_CLK>,
3775 <&gcc GCC_DISP_SF_AXI_CLK>,
3776 <&dispcc DISP_CC_MDSS_MDP_CLK>;
3777 clock-names = "iface", "bus", "nrt_bus", "core";
3778
3779 interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
3780 interrupt-controller;
3781 #interrupt-cells = <1>;
3782
3783 iommus = <&apps_smmu 0x800 0x420>;
3784
3785 status = "disabled";
3786
3787 #address-cells = <2>;
3788 #size-cells = <2>;
3789 ranges;
3790
3791 mdss_mdp: display-controller@ae01000 {
3792 compatible = "qcom,sm8150-dpu";
3793 reg = <0 0x0ae01000 0 0x8f000>,
3794 <0 0x0aeb0000 0 0x2008>;
3795 reg-names = "mdp", "vbif";
3796
3797 clocks = <&dispcc DISP_CC_MDSS_AHB_CLK>,
3798 <&gcc GCC_DISP_HF_AXI_CLK>,
3799 <&dispcc DISP_CC_MDSS_MDP_CLK>,
3800 <&dispcc DISP_CC_MDSS_VSYNC_CLK>;
3801 clock-names = "iface", "bus", "core", "vsync";
3802
3803 assigned-clocks = <&dispcc DISP_CC_MDSS_VSYNC_CLK>;
3804 assigned-clock-rates = <19200000>;
3805
3806 operating-points-v2 = <&mdp_opp_table>;
3807 power-domains = <&rpmhpd SM8150_MMCX>;
3808
3809 interrupt-parent = <&mdss>;
3810 interrupts = <0>;
3811
3812 ports {
3813 #address-cells = <1>;
3814 #size-cells = <0>;
3815
3816 port@0 {
3817 reg = <0>;
3818 dpu_intf1_out: endpoint {
3819 remote-endpoint = <&mdss_dsi0_in>;
3820 };
3821 };
3822
3823 port@1 {
3824 reg = <1>;
3825 dpu_intf2_out: endpoint {
3826 remote-endpoint = <&mdss_dsi1_in>;
3827 };
3828 };
Tom Rini93743d22024-04-01 09:08:13 -04003829
3830 port@2 {
3831 reg = <2>;
3832 dpu_intf0_out: endpoint {
3833 remote-endpoint = <&mdss_dp_in>;
3834 };
3835 };
Tom Rini53633a82024-02-29 12:33:36 -05003836 };
3837
3838 mdp_opp_table: opp-table {
3839 compatible = "operating-points-v2";
3840
3841 opp-171428571 {
3842 opp-hz = /bits/ 64 <171428571>;
3843 required-opps = <&rpmhpd_opp_low_svs>;
3844 };
3845
3846 opp-300000000 {
3847 opp-hz = /bits/ 64 <300000000>;
3848 required-opps = <&rpmhpd_opp_svs>;
3849 };
3850
3851 opp-345000000 {
3852 opp-hz = /bits/ 64 <345000000>;
3853 required-opps = <&rpmhpd_opp_svs_l1>;
3854 };
3855
3856 opp-460000000 {
3857 opp-hz = /bits/ 64 <460000000>;
3858 required-opps = <&rpmhpd_opp_nom>;
3859 };
3860 };
3861 };
3862
Tom Rini93743d22024-04-01 09:08:13 -04003863 mdss_dp: displayport-controller@ae90000 {
3864 compatible = "qcom,sm8150-dp", "qcom,sm8350-dp";
3865 reg = <0 0xae90000 0 0x200>,
3866 <0 0xae90200 0 0x200>,
3867 <0 0xae90400 0 0x600>,
3868 <0 0x0ae90a00 0 0x600>,
3869 <0 0x0ae91000 0 0x600>;
3870
3871 interrupt-parent = <&mdss>;
3872 interrupts = <12>;
3873 clocks = <&dispcc DISP_CC_MDSS_AHB_CLK>,
3874 <&dispcc DISP_CC_MDSS_DP_AUX_CLK>,
3875 <&dispcc DISP_CC_MDSS_DP_LINK_CLK>,
3876 <&dispcc DISP_CC_MDSS_DP_LINK_INTF_CLK>,
3877 <&dispcc DISP_CC_MDSS_DP_PIXEL_CLK>;
3878 clock-names = "core_iface",
3879 "core_aux",
3880 "ctrl_link",
3881 "ctrl_link_iface",
3882 "stream_pixel";
3883
3884 assigned-clocks = <&dispcc DISP_CC_MDSS_DP_LINK_CLK_SRC>,
3885 <&dispcc DISP_CC_MDSS_DP_PIXEL_CLK_SRC>;
3886 assigned-clock-parents = <&usb_1_qmpphy QMP_USB43DP_DP_LINK_CLK>,
3887 <&usb_1_qmpphy QMP_USB43DP_DP_VCO_DIV_CLK>;
3888
3889 phys = <&usb_1_qmpphy QMP_USB43DP_DP_PHY>;
3890 phy-names = "dp";
3891
3892 #sound-dai-cells = <0>;
3893
3894 operating-points-v2 = <&dp_opp_table>;
3895 power-domains = <&rpmhpd SM8250_MMCX>;
3896
3897 status = "disabled";
3898
3899 ports {
3900 #address-cells = <1>;
3901 #size-cells = <0>;
3902
3903 port@0 {
3904 reg = <0>;
3905 mdss_dp_in: endpoint {
3906 remote-endpoint = <&dpu_intf0_out>;
3907 };
3908 };
3909
3910 port@1 {
3911 reg = <1>;
3912
3913 mdss_dp_out: endpoint {
Tom Rini6b642ac2024-10-01 12:20:28 -06003914 remote-endpoint = <&usb_1_qmpphy_dp_in>;
Tom Rini93743d22024-04-01 09:08:13 -04003915 };
3916 };
3917 };
3918
3919 dp_opp_table: opp-table {
3920 compatible = "operating-points-v2";
3921
3922 opp-160000000 {
3923 opp-hz = /bits/ 64 <160000000>;
3924 required-opps = <&rpmhpd_opp_low_svs>;
3925 };
3926
3927 opp-270000000 {
3928 opp-hz = /bits/ 64 <270000000>;
3929 required-opps = <&rpmhpd_opp_svs>;
3930 };
3931
3932 opp-540000000 {
3933 opp-hz = /bits/ 64 <540000000>;
3934 required-opps = <&rpmhpd_opp_svs_l1>;
3935 };
3936
3937 opp-810000000 {
3938 opp-hz = /bits/ 64 <810000000>;
3939 required-opps = <&rpmhpd_opp_nom>;
3940 };
3941 };
3942 };
3943
Tom Rini53633a82024-02-29 12:33:36 -05003944 mdss_dsi0: dsi@ae94000 {
3945 compatible = "qcom,sm8150-dsi-ctrl", "qcom,mdss-dsi-ctrl";
3946 reg = <0 0x0ae94000 0 0x400>;
3947 reg-names = "dsi_ctrl";
3948
3949 interrupt-parent = <&mdss>;
3950 interrupts = <4>;
3951
3952 clocks = <&dispcc DISP_CC_MDSS_BYTE0_CLK>,
3953 <&dispcc DISP_CC_MDSS_BYTE0_INTF_CLK>,
3954 <&dispcc DISP_CC_MDSS_PCLK0_CLK>,
3955 <&dispcc DISP_CC_MDSS_ESC0_CLK>,
3956 <&dispcc DISP_CC_MDSS_AHB_CLK>,
3957 <&gcc GCC_DISP_HF_AXI_CLK>;
3958 clock-names = "byte",
3959 "byte_intf",
3960 "pixel",
3961 "core",
3962 "iface",
3963 "bus";
3964
3965 assigned-clocks = <&dispcc DISP_CC_MDSS_BYTE0_CLK_SRC>,
3966 <&dispcc DISP_CC_MDSS_PCLK0_CLK_SRC>;
3967 assigned-clock-parents = <&mdss_dsi0_phy 0>,
3968 <&mdss_dsi0_phy 1>;
3969
3970 operating-points-v2 = <&dsi_opp_table>;
3971 power-domains = <&rpmhpd SM8150_MMCX>;
3972
3973 phys = <&mdss_dsi0_phy>;
3974
3975 status = "disabled";
3976
3977 #address-cells = <1>;
3978 #size-cells = <0>;
3979
3980 ports {
3981 #address-cells = <1>;
3982 #size-cells = <0>;
3983
3984 port@0 {
3985 reg = <0>;
3986 mdss_dsi0_in: endpoint {
3987 remote-endpoint = <&dpu_intf1_out>;
3988 };
3989 };
3990
3991 port@1 {
3992 reg = <1>;
3993 mdss_dsi0_out: endpoint {
3994 };
3995 };
3996 };
3997
3998 dsi_opp_table: opp-table {
3999 compatible = "operating-points-v2";
4000
4001 opp-187500000 {
4002 opp-hz = /bits/ 64 <187500000>;
4003 required-opps = <&rpmhpd_opp_low_svs>;
4004 };
4005
4006 opp-300000000 {
4007 opp-hz = /bits/ 64 <300000000>;
4008 required-opps = <&rpmhpd_opp_svs>;
4009 };
4010
4011 opp-358000000 {
4012 opp-hz = /bits/ 64 <358000000>;
4013 required-opps = <&rpmhpd_opp_svs_l1>;
4014 };
4015 };
4016 };
4017
4018 mdss_dsi0_phy: phy@ae94400 {
4019 compatible = "qcom,dsi-phy-7nm-8150";
4020 reg = <0 0x0ae94400 0 0x200>,
4021 <0 0x0ae94600 0 0x280>,
4022 <0 0x0ae94900 0 0x260>;
4023 reg-names = "dsi_phy",
4024 "dsi_phy_lane",
4025 "dsi_pll";
4026
4027 #clock-cells = <1>;
4028 #phy-cells = <0>;
4029
4030 clocks = <&dispcc DISP_CC_MDSS_AHB_CLK>,
4031 <&rpmhcc RPMH_CXO_CLK>;
4032 clock-names = "iface", "ref";
4033
4034 status = "disabled";
4035 };
4036
4037 mdss_dsi1: dsi@ae96000 {
4038 compatible = "qcom,sm8150-dsi-ctrl", "qcom,mdss-dsi-ctrl";
4039 reg = <0 0x0ae96000 0 0x400>;
4040 reg-names = "dsi_ctrl";
4041
4042 interrupt-parent = <&mdss>;
4043 interrupts = <5>;
4044
4045 clocks = <&dispcc DISP_CC_MDSS_BYTE1_CLK>,
4046 <&dispcc DISP_CC_MDSS_BYTE1_INTF_CLK>,
4047 <&dispcc DISP_CC_MDSS_PCLK1_CLK>,
4048 <&dispcc DISP_CC_MDSS_ESC1_CLK>,
4049 <&dispcc DISP_CC_MDSS_AHB_CLK>,
4050 <&gcc GCC_DISP_HF_AXI_CLK>;
4051 clock-names = "byte",
4052 "byte_intf",
4053 "pixel",
4054 "core",
4055 "iface",
4056 "bus";
4057
4058 assigned-clocks = <&dispcc DISP_CC_MDSS_BYTE1_CLK_SRC>,
4059 <&dispcc DISP_CC_MDSS_PCLK1_CLK_SRC>;
4060 assigned-clock-parents = <&mdss_dsi1_phy 0>,
4061 <&mdss_dsi1_phy 1>;
4062
4063 operating-points-v2 = <&dsi_opp_table>;
4064 power-domains = <&rpmhpd SM8150_MMCX>;
4065
4066 phys = <&mdss_dsi1_phy>;
4067
4068 status = "disabled";
4069
4070 #address-cells = <1>;
4071 #size-cells = <0>;
4072
4073 ports {
4074 #address-cells = <1>;
4075 #size-cells = <0>;
4076
4077 port@0 {
4078 reg = <0>;
4079 mdss_dsi1_in: endpoint {
4080 remote-endpoint = <&dpu_intf2_out>;
4081 };
4082 };
4083
4084 port@1 {
4085 reg = <1>;
4086 mdss_dsi1_out: endpoint {
4087 };
4088 };
4089 };
4090 };
4091
4092 mdss_dsi1_phy: phy@ae96400 {
4093 compatible = "qcom,dsi-phy-7nm-8150";
4094 reg = <0 0x0ae96400 0 0x200>,
4095 <0 0x0ae96600 0 0x280>,
4096 <0 0x0ae96900 0 0x260>;
4097 reg-names = "dsi_phy",
4098 "dsi_phy_lane",
4099 "dsi_pll";
4100
4101 #clock-cells = <1>;
4102 #phy-cells = <0>;
4103
4104 clocks = <&dispcc DISP_CC_MDSS_AHB_CLK>,
4105 <&rpmhcc RPMH_CXO_CLK>;
4106 clock-names = "iface", "ref";
4107
4108 status = "disabled";
4109 };
4110 };
4111
4112 dispcc: clock-controller@af00000 {
4113 compatible = "qcom,sm8150-dispcc";
4114 reg = <0 0x0af00000 0 0x10000>;
4115 clocks = <&rpmhcc RPMH_CXO_CLK>,
4116 <&mdss_dsi0_phy 0>,
4117 <&mdss_dsi0_phy 1>,
4118 <&mdss_dsi1_phy 0>,
4119 <&mdss_dsi1_phy 1>,
4120 <&usb_1_qmpphy QMP_USB43DP_DP_LINK_CLK>,
4121 <&usb_1_qmpphy QMP_USB43DP_DP_VCO_DIV_CLK>;
4122 clock-names = "bi_tcxo",
4123 "dsi0_phy_pll_out_byteclk",
4124 "dsi0_phy_pll_out_dsiclk",
4125 "dsi1_phy_pll_out_byteclk",
4126 "dsi1_phy_pll_out_dsiclk",
4127 "dp_phy_pll_link_clk",
4128 "dp_phy_pll_vco_div_clk";
4129 power-domains = <&rpmhpd SM8150_MMCX>;
Tom Rini93743d22024-04-01 09:08:13 -04004130 required-opps = <&rpmhpd_opp_low_svs>;
Tom Rini53633a82024-02-29 12:33:36 -05004131 #clock-cells = <1>;
4132 #reset-cells = <1>;
4133 #power-domain-cells = <1>;
4134 };
4135
4136 pdc: interrupt-controller@b220000 {
4137 compatible = "qcom,sm8150-pdc", "qcom,pdc";
4138 reg = <0 0x0b220000 0 0x30000>;
4139 qcom,pdc-ranges = <0 480 94>, <94 609 31>,
4140 <125 63 1>;
4141 #interrupt-cells = <2>;
4142 interrupt-parent = <&intc>;
4143 interrupt-controller;
4144 };
4145
4146 aoss_qmp: power-management@c300000 {
4147 compatible = "qcom,sm8150-aoss-qmp", "qcom,aoss-qmp";
4148 reg = <0x0 0x0c300000 0x0 0x400>;
4149 interrupts = <GIC_SPI 389 IRQ_TYPE_EDGE_RISING>;
4150 mboxes = <&apss_shared 0>;
4151
4152 #clock-cells = <0>;
4153 };
4154
4155 sram@c3f0000 {
4156 compatible = "qcom,rpmh-stats";
4157 reg = <0 0x0c3f0000 0 0x400>;
4158 };
4159
4160 tsens0: thermal-sensor@c263000 {
4161 compatible = "qcom,sm8150-tsens", "qcom,tsens-v2";
4162 reg = <0 0x0c263000 0 0x1ff>, /* TM */
4163 <0 0x0c222000 0 0x1ff>; /* SROT */
4164 #qcom,sensors = <16>;
4165 interrupts = <GIC_SPI 506 IRQ_TYPE_LEVEL_HIGH>,
4166 <GIC_SPI 508 IRQ_TYPE_LEVEL_HIGH>;
4167 interrupt-names = "uplow", "critical";
4168 #thermal-sensor-cells = <1>;
4169 };
4170
4171 tsens1: thermal-sensor@c265000 {
4172 compatible = "qcom,sm8150-tsens", "qcom,tsens-v2";
4173 reg = <0 0x0c265000 0 0x1ff>, /* TM */
4174 <0 0x0c223000 0 0x1ff>; /* SROT */
4175 #qcom,sensors = <8>;
4176 interrupts = <GIC_SPI 507 IRQ_TYPE_LEVEL_HIGH>,
4177 <GIC_SPI 509 IRQ_TYPE_LEVEL_HIGH>;
4178 interrupt-names = "uplow", "critical";
4179 #thermal-sensor-cells = <1>;
4180 };
4181
4182 spmi_bus: spmi@c440000 {
4183 compatible = "qcom,spmi-pmic-arb";
4184 reg = <0x0 0x0c440000 0x0 0x0001100>,
4185 <0x0 0x0c600000 0x0 0x2000000>,
4186 <0x0 0x0e600000 0x0 0x0100000>,
4187 <0x0 0x0e700000 0x0 0x00a0000>,
4188 <0x0 0x0c40a000 0x0 0x0026000>;
4189 reg-names = "core", "chnls", "obsrvr", "intr", "cnfg";
4190 interrupt-names = "periph_irq";
4191 interrupts = <GIC_SPI 481 IRQ_TYPE_LEVEL_HIGH>;
4192 qcom,ee = <0>;
4193 qcom,channel = <0>;
4194 #address-cells = <2>;
4195 #size-cells = <0>;
4196 interrupt-controller;
4197 #interrupt-cells = <4>;
4198 };
4199
4200 apps_smmu: iommu@15000000 {
4201 compatible = "qcom,sm8150-smmu-500", "qcom,smmu-500", "arm,mmu-500";
4202 reg = <0 0x15000000 0 0x100000>;
4203 #iommu-cells = <2>;
4204 #global-interrupts = <1>;
4205 interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>,
4206 <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>,
4207 <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>,
4208 <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>,
4209 <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>,
4210 <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>,
4211 <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>,
4212 <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>,
4213 <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>,
4214 <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>,
4215 <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>,
4216 <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>,
4217 <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>,
4218 <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>,
4219 <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>,
4220 <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>,
4221 <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>,
4222 <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>,
4223 <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>,
4224 <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>,
4225 <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>,
4226 <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>,
4227 <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>,
4228 <GIC_SPI 181 IRQ_TYPE_LEVEL_HIGH>,
4229 <GIC_SPI 182 IRQ_TYPE_LEVEL_HIGH>,
4230 <GIC_SPI 183 IRQ_TYPE_LEVEL_HIGH>,
4231 <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>,
4232 <GIC_SPI 185 IRQ_TYPE_LEVEL_HIGH>,
4233 <GIC_SPI 186 IRQ_TYPE_LEVEL_HIGH>,
4234 <GIC_SPI 187 IRQ_TYPE_LEVEL_HIGH>,
4235 <GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>,
4236 <GIC_SPI 189 IRQ_TYPE_LEVEL_HIGH>,
4237 <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>,
4238 <GIC_SPI 191 IRQ_TYPE_LEVEL_HIGH>,
4239 <GIC_SPI 192 IRQ_TYPE_LEVEL_HIGH>,
4240 <GIC_SPI 315 IRQ_TYPE_LEVEL_HIGH>,
4241 <GIC_SPI 316 IRQ_TYPE_LEVEL_HIGH>,
4242 <GIC_SPI 317 IRQ_TYPE_LEVEL_HIGH>,
4243 <GIC_SPI 318 IRQ_TYPE_LEVEL_HIGH>,
4244 <GIC_SPI 319 IRQ_TYPE_LEVEL_HIGH>,
4245 <GIC_SPI 320 IRQ_TYPE_LEVEL_HIGH>,
4246 <GIC_SPI 321 IRQ_TYPE_LEVEL_HIGH>,
4247 <GIC_SPI 322 IRQ_TYPE_LEVEL_HIGH>,
4248 <GIC_SPI 323 IRQ_TYPE_LEVEL_HIGH>,
4249 <GIC_SPI 324 IRQ_TYPE_LEVEL_HIGH>,
4250 <GIC_SPI 325 IRQ_TYPE_LEVEL_HIGH>,
4251 <GIC_SPI 326 IRQ_TYPE_LEVEL_HIGH>,
4252 <GIC_SPI 327 IRQ_TYPE_LEVEL_HIGH>,
4253 <GIC_SPI 328 IRQ_TYPE_LEVEL_HIGH>,
4254 <GIC_SPI 329 IRQ_TYPE_LEVEL_HIGH>,
4255 <GIC_SPI 330 IRQ_TYPE_LEVEL_HIGH>,
4256 <GIC_SPI 331 IRQ_TYPE_LEVEL_HIGH>,
4257 <GIC_SPI 332 IRQ_TYPE_LEVEL_HIGH>,
4258 <GIC_SPI 333 IRQ_TYPE_LEVEL_HIGH>,
4259 <GIC_SPI 334 IRQ_TYPE_LEVEL_HIGH>,
4260 <GIC_SPI 335 IRQ_TYPE_LEVEL_HIGH>,
4261 <GIC_SPI 336 IRQ_TYPE_LEVEL_HIGH>,
4262 <GIC_SPI 337 IRQ_TYPE_LEVEL_HIGH>,
4263 <GIC_SPI 338 IRQ_TYPE_LEVEL_HIGH>,
4264 <GIC_SPI 339 IRQ_TYPE_LEVEL_HIGH>,
4265 <GIC_SPI 340 IRQ_TYPE_LEVEL_HIGH>,
4266 <GIC_SPI 341 IRQ_TYPE_LEVEL_HIGH>,
4267 <GIC_SPI 342 IRQ_TYPE_LEVEL_HIGH>,
4268 <GIC_SPI 343 IRQ_TYPE_LEVEL_HIGH>,
4269 <GIC_SPI 344 IRQ_TYPE_LEVEL_HIGH>,
4270 <GIC_SPI 345 IRQ_TYPE_LEVEL_HIGH>,
4271 <GIC_SPI 395 IRQ_TYPE_LEVEL_HIGH>,
4272 <GIC_SPI 396 IRQ_TYPE_LEVEL_HIGH>,
4273 <GIC_SPI 397 IRQ_TYPE_LEVEL_HIGH>,
4274 <GIC_SPI 398 IRQ_TYPE_LEVEL_HIGH>,
4275 <GIC_SPI 399 IRQ_TYPE_LEVEL_HIGH>,
4276 <GIC_SPI 400 IRQ_TYPE_LEVEL_HIGH>,
4277 <GIC_SPI 401 IRQ_TYPE_LEVEL_HIGH>,
4278 <GIC_SPI 402 IRQ_TYPE_LEVEL_HIGH>,
4279 <GIC_SPI 403 IRQ_TYPE_LEVEL_HIGH>,
4280 <GIC_SPI 404 IRQ_TYPE_LEVEL_HIGH>,
4281 <GIC_SPI 405 IRQ_TYPE_LEVEL_HIGH>,
4282 <GIC_SPI 406 IRQ_TYPE_LEVEL_HIGH>,
4283 <GIC_SPI 407 IRQ_TYPE_LEVEL_HIGH>,
4284 <GIC_SPI 408 IRQ_TYPE_LEVEL_HIGH>,
4285 <GIC_SPI 409 IRQ_TYPE_LEVEL_HIGH>;
4286 };
4287
4288 remoteproc_adsp: remoteproc@17300000 {
4289 compatible = "qcom,sm8150-adsp-pas";
4290 reg = <0x0 0x17300000 0x0 0x4040>;
4291
4292 interrupts-extended = <&intc GIC_SPI 162 IRQ_TYPE_EDGE_RISING>,
4293 <&adsp_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
4294 <&adsp_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
4295 <&adsp_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
4296 <&adsp_smp2p_in 3 IRQ_TYPE_EDGE_RISING>;
4297 interrupt-names = "wdog", "fatal", "ready",
4298 "handover", "stop-ack";
4299
4300 clocks = <&rpmhcc RPMH_CXO_CLK>;
4301 clock-names = "xo";
4302
4303 power-domains = <&rpmhpd SM8150_CX>;
4304
4305 memory-region = <&adsp_mem>;
4306
4307 qcom,qmp = <&aoss_qmp>;
4308
4309 qcom,smem-states = <&adsp_smp2p_out 0>;
4310 qcom,smem-state-names = "stop";
4311
4312 status = "disabled";
4313
4314 glink-edge {
4315 interrupts = <GIC_SPI 156 IRQ_TYPE_EDGE_RISING>;
4316 label = "lpass";
4317 qcom,remote-pid = <2>;
4318 mboxes = <&apss_shared 8>;
4319
4320 fastrpc {
4321 compatible = "qcom,fastrpc";
4322 qcom,glink-channels = "fastrpcglink-apps-dsp";
4323 label = "adsp";
4324 qcom,non-secure-domain;
4325 #address-cells = <1>;
4326 #size-cells = <0>;
4327
4328 compute-cb@3 {
4329 compatible = "qcom,fastrpc-compute-cb";
4330 reg = <3>;
4331 iommus = <&apps_smmu 0x1b23 0x0>;
4332 };
4333
4334 compute-cb@4 {
4335 compatible = "qcom,fastrpc-compute-cb";
4336 reg = <4>;
4337 iommus = <&apps_smmu 0x1b24 0x0>;
4338 };
4339
4340 compute-cb@5 {
4341 compatible = "qcom,fastrpc-compute-cb";
4342 reg = <5>;
4343 iommus = <&apps_smmu 0x1b25 0x0>;
4344 };
4345 };
4346 };
4347 };
4348
4349 intc: interrupt-controller@17a00000 {
4350 compatible = "arm,gic-v3";
4351 interrupt-controller;
4352 #interrupt-cells = <3>;
4353 reg = <0x0 0x17a00000 0x0 0x10000>, /* GICD */
4354 <0x0 0x17a60000 0x0 0x100000>; /* GICR * 8 */
4355 interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>;
4356 };
4357
4358 apss_shared: mailbox@17c00000 {
4359 compatible = "qcom,sm8150-apss-shared",
4360 "qcom,sdm845-apss-shared";
4361 reg = <0x0 0x17c00000 0x0 0x1000>;
4362 #mbox-cells = <1>;
4363 };
4364
4365 watchdog@17c10000 {
4366 compatible = "qcom,apss-wdt-sm8150", "qcom,kpss-wdt";
4367 reg = <0 0x17c10000 0 0x1000>;
4368 clocks = <&sleep_clk>;
Tom Rini93743d22024-04-01 09:08:13 -04004369 interrupts = <GIC_SPI 0 IRQ_TYPE_EDGE_RISING>;
Tom Rini53633a82024-02-29 12:33:36 -05004370 };
4371
4372 timer@17c20000 {
4373 #address-cells = <1>;
4374 #size-cells = <1>;
4375 ranges = <0 0 0 0x20000000>;
4376 compatible = "arm,armv7-timer-mem";
4377 reg = <0x0 0x17c20000 0x0 0x1000>;
4378 clock-frequency = <19200000>;
4379
4380 frame@17c21000 {
4381 frame-number = <0>;
4382 interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
4383 <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>;
4384 reg = <0x17c21000 0x1000>,
4385 <0x17c22000 0x1000>;
4386 };
4387
4388 frame@17c23000 {
4389 frame-number = <1>;
4390 interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
4391 reg = <0x17c23000 0x1000>;
4392 status = "disabled";
4393 };
4394
4395 frame@17c25000 {
4396 frame-number = <2>;
4397 interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
4398 reg = <0x17c25000 0x1000>;
4399 status = "disabled";
4400 };
4401
4402 frame@17c27000 {
4403 frame-number = <3>;
4404 interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
4405 reg = <0x17c26000 0x1000>;
4406 status = "disabled";
4407 };
4408
4409 frame@17c29000 {
4410 frame-number = <4>;
4411 interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
4412 reg = <0x17c29000 0x1000>;
4413 status = "disabled";
4414 };
4415
4416 frame@17c2b000 {
4417 frame-number = <5>;
4418 interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
4419 reg = <0x17c2b000 0x1000>;
4420 status = "disabled";
4421 };
4422
4423 frame@17c2d000 {
4424 frame-number = <6>;
4425 interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
4426 reg = <0x17c2d000 0x1000>;
4427 status = "disabled";
4428 };
4429 };
4430
4431 apps_rsc: rsc@18200000 {
4432 label = "apps_rsc";
4433 compatible = "qcom,rpmh-rsc";
4434 reg = <0x0 0x18200000 0x0 0x10000>,
4435 <0x0 0x18210000 0x0 0x10000>,
4436 <0x0 0x18220000 0x0 0x10000>;
4437 reg-names = "drv-0", "drv-1", "drv-2";
4438 interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>,
4439 <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>,
4440 <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
4441 qcom,tcs-offset = <0xd00>;
4442 qcom,drv-id = <2>;
4443 qcom,tcs-config = <ACTIVE_TCS 2>,
4444 <SLEEP_TCS 3>,
4445 <WAKE_TCS 3>,
4446 <CONTROL_TCS 1>;
4447 power-domains = <&CLUSTER_PD>;
4448
4449 rpmhcc: clock-controller {
4450 compatible = "qcom,sm8150-rpmh-clk";
4451 #clock-cells = <1>;
4452 clock-names = "xo";
4453 clocks = <&xo_board>;
4454 };
4455
4456 rpmhpd: power-controller {
4457 compatible = "qcom,sm8150-rpmhpd";
4458 #power-domain-cells = <1>;
4459 operating-points-v2 = <&rpmhpd_opp_table>;
4460
4461 rpmhpd_opp_table: opp-table {
4462 compatible = "operating-points-v2";
4463
4464 rpmhpd_opp_ret: opp1 {
4465 opp-level = <RPMH_REGULATOR_LEVEL_RETENTION>;
4466 };
4467
4468 rpmhpd_opp_min_svs: opp2 {
4469 opp-level = <RPMH_REGULATOR_LEVEL_MIN_SVS>;
4470 };
4471
4472 rpmhpd_opp_low_svs: opp3 {
4473 opp-level = <RPMH_REGULATOR_LEVEL_LOW_SVS>;
4474 };
4475
4476 rpmhpd_opp_svs: opp4 {
4477 opp-level = <RPMH_REGULATOR_LEVEL_SVS>;
4478 };
4479
4480 rpmhpd_opp_svs_l1: opp5 {
4481 opp-level = <RPMH_REGULATOR_LEVEL_SVS_L1>;
4482 };
4483
4484 rpmhpd_opp_svs_l2: opp6 {
4485 opp-level = <224>;
4486 };
4487
4488 rpmhpd_opp_nom: opp7 {
4489 opp-level = <RPMH_REGULATOR_LEVEL_NOM>;
4490 };
4491
4492 rpmhpd_opp_nom_l1: opp8 {
4493 opp-level = <RPMH_REGULATOR_LEVEL_NOM_L1>;
4494 };
4495
4496 rpmhpd_opp_nom_l2: opp9 {
4497 opp-level = <RPMH_REGULATOR_LEVEL_NOM_L2>;
4498 };
4499
4500 rpmhpd_opp_turbo: opp10 {
4501 opp-level = <RPMH_REGULATOR_LEVEL_TURBO>;
4502 };
4503
4504 rpmhpd_opp_turbo_l1: opp11 {
4505 opp-level = <RPMH_REGULATOR_LEVEL_TURBO_L1>;
4506 };
4507 };
4508 };
4509
4510 apps_bcm_voter: bcm-voter {
4511 compatible = "qcom,bcm-voter";
4512 };
4513 };
4514
4515 osm_l3: interconnect@18321000 {
4516 compatible = "qcom,sm8150-osm-l3", "qcom,osm-l3";
4517 reg = <0 0x18321000 0 0x1400>;
4518
4519 clocks = <&rpmhcc RPMH_CXO_CLK>, <&gcc GPLL0>;
4520 clock-names = "xo", "alternate";
4521
4522 #interconnect-cells = <1>;
4523 };
4524
4525 cpufreq_hw: cpufreq@18323000 {
4526 compatible = "qcom,sm8150-cpufreq-hw", "qcom,cpufreq-hw";
4527 reg = <0 0x18323000 0 0x1400>, <0 0x18325800 0 0x1400>,
4528 <0 0x18327800 0 0x1400>;
4529 reg-names = "freq-domain0", "freq-domain1",
4530 "freq-domain2";
4531
4532 clocks = <&rpmhcc RPMH_CXO_CLK>, <&gcc GPLL0>;
4533 clock-names = "xo", "alternate";
4534
4535 #freq-domain-cells = <1>;
4536 #clock-cells = <1>;
4537 };
4538
4539 lmh_cluster1: lmh@18350800 {
4540 compatible = "qcom,sm8150-lmh";
4541 reg = <0 0x18350800 0 0x400>;
4542 interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
4543 cpus = <&CPU4>;
4544 qcom,lmh-temp-arm-millicelsius = <60000>;
4545 qcom,lmh-temp-low-millicelsius = <84500>;
4546 qcom,lmh-temp-high-millicelsius = <85000>;
4547 interrupt-controller;
4548 #interrupt-cells = <1>;
4549 };
4550
4551 lmh_cluster0: lmh@18358800 {
4552 compatible = "qcom,sm8150-lmh";
4553 reg = <0 0x18358800 0 0x400>;
4554 interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
4555 cpus = <&CPU0>;
4556 qcom,lmh-temp-arm-millicelsius = <60000>;
4557 qcom,lmh-temp-low-millicelsius = <84500>;
4558 qcom,lmh-temp-high-millicelsius = <85000>;
4559 interrupt-controller;
4560 #interrupt-cells = <1>;
4561 };
4562
4563 wifi: wifi@18800000 {
4564 compatible = "qcom,wcn3990-wifi";
4565 reg = <0 0x18800000 0 0x800000>;
4566 reg-names = "membase";
4567 memory-region = <&wlan_mem>;
4568 clock-names = "cxo_ref_clk_pin", "qdss";
4569 clocks = <&rpmhcc RPMH_RF_CLK2>, <&aoss_qmp>;
4570 interrupts = <GIC_SPI 414 IRQ_TYPE_LEVEL_HIGH>,
4571 <GIC_SPI 415 IRQ_TYPE_LEVEL_HIGH>,
4572 <GIC_SPI 416 IRQ_TYPE_LEVEL_HIGH>,
4573 <GIC_SPI 417 IRQ_TYPE_LEVEL_HIGH>,
4574 <GIC_SPI 418 IRQ_TYPE_LEVEL_HIGH>,
4575 <GIC_SPI 419 IRQ_TYPE_LEVEL_HIGH>,
4576 <GIC_SPI 420 IRQ_TYPE_LEVEL_HIGH>,
4577 <GIC_SPI 421 IRQ_TYPE_LEVEL_HIGH>,
4578 <GIC_SPI 422 IRQ_TYPE_LEVEL_HIGH>,
4579 <GIC_SPI 423 IRQ_TYPE_LEVEL_HIGH>,
4580 <GIC_SPI 424 IRQ_TYPE_LEVEL_HIGH>,
4581 <GIC_SPI 425 IRQ_TYPE_LEVEL_HIGH>;
4582 iommus = <&apps_smmu 0x0640 0x1>;
4583 status = "disabled";
4584 };
4585 };
4586
4587 timer {
4588 compatible = "arm,armv8-timer";
4589 interrupts = <GIC_PPI 1 IRQ_TYPE_LEVEL_LOW>,
4590 <GIC_PPI 2 IRQ_TYPE_LEVEL_LOW>,
4591 <GIC_PPI 3 IRQ_TYPE_LEVEL_LOW>,
4592 <GIC_PPI 0 IRQ_TYPE_LEVEL_LOW>;
4593 };
4594
4595 thermal-zones {
4596 cpu0-thermal {
4597 polling-delay-passive = <250>;
Tom Rini53633a82024-02-29 12:33:36 -05004598
4599 thermal-sensors = <&tsens0 1>;
4600
4601 trips {
4602 cpu0_alert0: trip-point0 {
4603 temperature = <90000>;
4604 hysteresis = <2000>;
4605 type = "passive";
4606 };
4607
4608 cpu0_alert1: trip-point1 {
4609 temperature = <95000>;
4610 hysteresis = <2000>;
4611 type = "passive";
4612 };
4613
4614 cpu0_crit: cpu-crit {
4615 temperature = <110000>;
4616 hysteresis = <1000>;
4617 type = "critical";
4618 };
4619 };
4620
4621 cooling-maps {
4622 map0 {
4623 trip = <&cpu0_alert0>;
4624 cooling-device = <&CPU0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
4625 <&CPU1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
4626 <&CPU2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
4627 <&CPU3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
4628 };
4629 map1 {
4630 trip = <&cpu0_alert1>;
4631 cooling-device = <&CPU0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
4632 <&CPU1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
4633 <&CPU2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
4634 <&CPU3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
4635 };
4636 };
4637 };
4638
4639 cpu1-thermal {
4640 polling-delay-passive = <250>;
Tom Rini53633a82024-02-29 12:33:36 -05004641
4642 thermal-sensors = <&tsens0 2>;
4643
4644 trips {
4645 cpu1_alert0: trip-point0 {
4646 temperature = <90000>;
4647 hysteresis = <2000>;
4648 type = "passive";
4649 };
4650
4651 cpu1_alert1: trip-point1 {
4652 temperature = <95000>;
4653 hysteresis = <2000>;
4654 type = "passive";
4655 };
4656
4657 cpu1_crit: cpu-crit {
4658 temperature = <110000>;
4659 hysteresis = <1000>;
4660 type = "critical";
4661 };
4662 };
4663
4664 cooling-maps {
4665 map0 {
4666 trip = <&cpu1_alert0>;
4667 cooling-device = <&CPU0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
4668 <&CPU1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
4669 <&CPU2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
4670 <&CPU3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
4671 };
4672 map1 {
4673 trip = <&cpu1_alert1>;
4674 cooling-device = <&CPU0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
4675 <&CPU1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
4676 <&CPU2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
4677 <&CPU3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
4678 };
4679 };
4680 };
4681
4682 cpu2-thermal {
4683 polling-delay-passive = <250>;
Tom Rini53633a82024-02-29 12:33:36 -05004684
4685 thermal-sensors = <&tsens0 3>;
4686
4687 trips {
4688 cpu2_alert0: trip-point0 {
4689 temperature = <90000>;
4690 hysteresis = <2000>;
4691 type = "passive";
4692 };
4693
4694 cpu2_alert1: trip-point1 {
4695 temperature = <95000>;
4696 hysteresis = <2000>;
4697 type = "passive";
4698 };
4699
4700 cpu2_crit: cpu-crit {
4701 temperature = <110000>;
4702 hysteresis = <1000>;
4703 type = "critical";
4704 };
4705 };
4706
4707 cooling-maps {
4708 map0 {
4709 trip = <&cpu2_alert0>;
4710 cooling-device = <&CPU0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
4711 <&CPU1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
4712 <&CPU2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
4713 <&CPU3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
4714 };
4715 map1 {
4716 trip = <&cpu2_alert1>;
4717 cooling-device = <&CPU0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
4718 <&CPU1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
4719 <&CPU2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
4720 <&CPU3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
4721 };
4722 };
4723 };
4724
4725 cpu3-thermal {
4726 polling-delay-passive = <250>;
Tom Rini53633a82024-02-29 12:33:36 -05004727
4728 thermal-sensors = <&tsens0 4>;
4729
4730 trips {
4731 cpu3_alert0: trip-point0 {
4732 temperature = <90000>;
4733 hysteresis = <2000>;
4734 type = "passive";
4735 };
4736
4737 cpu3_alert1: trip-point1 {
4738 temperature = <95000>;
4739 hysteresis = <2000>;
4740 type = "passive";
4741 };
4742
4743 cpu3_crit: cpu-crit {
4744 temperature = <110000>;
4745 hysteresis = <1000>;
4746 type = "critical";
4747 };
4748 };
4749
4750 cooling-maps {
4751 map0 {
4752 trip = <&cpu3_alert0>;
4753 cooling-device = <&CPU0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
4754 <&CPU1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
4755 <&CPU2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
4756 <&CPU3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
4757 };
4758 map1 {
4759 trip = <&cpu3_alert1>;
4760 cooling-device = <&CPU0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
4761 <&CPU1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
4762 <&CPU2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
4763 <&CPU3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
4764 };
4765 };
4766 };
4767
4768 cpu4-top-thermal {
4769 polling-delay-passive = <250>;
Tom Rini53633a82024-02-29 12:33:36 -05004770
4771 thermal-sensors = <&tsens0 7>;
4772
4773 trips {
4774 cpu4_top_alert0: trip-point0 {
4775 temperature = <90000>;
4776 hysteresis = <2000>;
4777 type = "passive";
4778 };
4779
4780 cpu4_top_alert1: trip-point1 {
4781 temperature = <95000>;
4782 hysteresis = <2000>;
4783 type = "passive";
4784 };
4785
4786 cpu4_top_crit: cpu-crit {
4787 temperature = <110000>;
4788 hysteresis = <1000>;
4789 type = "critical";
4790 };
4791 };
4792
4793 cooling-maps {
4794 map0 {
4795 trip = <&cpu4_top_alert0>;
4796 cooling-device = <&CPU4 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
4797 <&CPU5 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
4798 <&CPU6 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
4799 <&CPU7 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
4800 };
4801 map1 {
4802 trip = <&cpu4_top_alert1>;
4803 cooling-device = <&CPU4 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
4804 <&CPU5 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
4805 <&CPU6 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
4806 <&CPU7 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
4807 };
4808 };
4809 };
4810
4811 cpu5-top-thermal {
4812 polling-delay-passive = <250>;
Tom Rini53633a82024-02-29 12:33:36 -05004813
4814 thermal-sensors = <&tsens0 8>;
4815
4816 trips {
4817 cpu5_top_alert0: trip-point0 {
4818 temperature = <90000>;
4819 hysteresis = <2000>;
4820 type = "passive";
4821 };
4822
4823 cpu5_top_alert1: trip-point1 {
4824 temperature = <95000>;
4825 hysteresis = <2000>;
4826 type = "passive";
4827 };
4828
4829 cpu5_top_crit: cpu-crit {
4830 temperature = <110000>;
4831 hysteresis = <1000>;
4832 type = "critical";
4833 };
4834 };
4835
4836 cooling-maps {
4837 map0 {
4838 trip = <&cpu5_top_alert0>;
4839 cooling-device = <&CPU4 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
4840 <&CPU5 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
4841 <&CPU6 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
4842 <&CPU7 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
4843 };
4844 map1 {
4845 trip = <&cpu5_top_alert1>;
4846 cooling-device = <&CPU4 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
4847 <&CPU5 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
4848 <&CPU6 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
4849 <&CPU7 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
4850 };
4851 };
4852 };
4853
4854 cpu6-top-thermal {
4855 polling-delay-passive = <250>;
Tom Rini53633a82024-02-29 12:33:36 -05004856
4857 thermal-sensors = <&tsens0 9>;
4858
4859 trips {
4860 cpu6_top_alert0: trip-point0 {
4861 temperature = <90000>;
4862 hysteresis = <2000>;
4863 type = "passive";
4864 };
4865
4866 cpu6_top_alert1: trip-point1 {
4867 temperature = <95000>;
4868 hysteresis = <2000>;
4869 type = "passive";
4870 };
4871
4872 cpu6_top_crit: cpu-crit {
4873 temperature = <110000>;
4874 hysteresis = <1000>;
4875 type = "critical";
4876 };
4877 };
4878
4879 cooling-maps {
4880 map0 {
4881 trip = <&cpu6_top_alert0>;
4882 cooling-device = <&CPU4 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
4883 <&CPU5 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
4884 <&CPU6 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
4885 <&CPU7 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
4886 };
4887 map1 {
4888 trip = <&cpu6_top_alert1>;
4889 cooling-device = <&CPU4 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
4890 <&CPU5 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
4891 <&CPU6 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
4892 <&CPU7 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
4893 };
4894 };
4895 };
4896
4897 cpu7-top-thermal {
4898 polling-delay-passive = <250>;
Tom Rini53633a82024-02-29 12:33:36 -05004899
4900 thermal-sensors = <&tsens0 10>;
4901
4902 trips {
4903 cpu7_top_alert0: trip-point0 {
4904 temperature = <90000>;
4905 hysteresis = <2000>;
4906 type = "passive";
4907 };
4908
4909 cpu7_top_alert1: trip-point1 {
4910 temperature = <95000>;
4911 hysteresis = <2000>;
4912 type = "passive";
4913 };
4914
4915 cpu7_top_crit: cpu-crit {
4916 temperature = <110000>;
4917 hysteresis = <1000>;
4918 type = "critical";
4919 };
4920 };
4921
4922 cooling-maps {
4923 map0 {
4924 trip = <&cpu7_top_alert0>;
4925 cooling-device = <&CPU4 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
4926 <&CPU5 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
4927 <&CPU6 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
4928 <&CPU7 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
4929 };
4930 map1 {
4931 trip = <&cpu7_top_alert1>;
4932 cooling-device = <&CPU4 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
4933 <&CPU5 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
4934 <&CPU6 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
4935 <&CPU7 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
4936 };
4937 };
4938 };
4939
4940 cpu4-bottom-thermal {
4941 polling-delay-passive = <250>;
Tom Rini53633a82024-02-29 12:33:36 -05004942
4943 thermal-sensors = <&tsens0 11>;
4944
4945 trips {
4946 cpu4_bottom_alert0: trip-point0 {
4947 temperature = <90000>;
4948 hysteresis = <2000>;
4949 type = "passive";
4950 };
4951
4952 cpu4_bottom_alert1: trip-point1 {
4953 temperature = <95000>;
4954 hysteresis = <2000>;
4955 type = "passive";
4956 };
4957
4958 cpu4_bottom_crit: cpu-crit {
4959 temperature = <110000>;
4960 hysteresis = <1000>;
4961 type = "critical";
4962 };
4963 };
4964
4965 cooling-maps {
4966 map0 {
4967 trip = <&cpu4_bottom_alert0>;
4968 cooling-device = <&CPU4 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
4969 <&CPU5 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
4970 <&CPU6 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
4971 <&CPU7 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
4972 };
4973 map1 {
4974 trip = <&cpu4_bottom_alert1>;
4975 cooling-device = <&CPU4 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
4976 <&CPU5 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
4977 <&CPU6 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
4978 <&CPU7 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
4979 };
4980 };
4981 };
4982
4983 cpu5-bottom-thermal {
4984 polling-delay-passive = <250>;
Tom Rini53633a82024-02-29 12:33:36 -05004985
4986 thermal-sensors = <&tsens0 12>;
4987
4988 trips {
4989 cpu5_bottom_alert0: trip-point0 {
4990 temperature = <90000>;
4991 hysteresis = <2000>;
4992 type = "passive";
4993 };
4994
4995 cpu5_bottom_alert1: trip-point1 {
4996 temperature = <95000>;
4997 hysteresis = <2000>;
4998 type = "passive";
4999 };
5000
5001 cpu5_bottom_crit: cpu-crit {
5002 temperature = <110000>;
5003 hysteresis = <1000>;
5004 type = "critical";
5005 };
5006 };
5007
5008 cooling-maps {
5009 map0 {
5010 trip = <&cpu5_bottom_alert0>;
5011 cooling-device = <&CPU4 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
5012 <&CPU5 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
5013 <&CPU6 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
5014 <&CPU7 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
5015 };
5016 map1 {
5017 trip = <&cpu5_bottom_alert1>;
5018 cooling-device = <&CPU4 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
5019 <&CPU5 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
5020 <&CPU6 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
5021 <&CPU7 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
5022 };
5023 };
5024 };
5025
5026 cpu6-bottom-thermal {
5027 polling-delay-passive = <250>;
Tom Rini53633a82024-02-29 12:33:36 -05005028
5029 thermal-sensors = <&tsens0 13>;
5030
5031 trips {
5032 cpu6_bottom_alert0: trip-point0 {
5033 temperature = <90000>;
5034 hysteresis = <2000>;
5035 type = "passive";
5036 };
5037
5038 cpu6_bottom_alert1: trip-point1 {
5039 temperature = <95000>;
5040 hysteresis = <2000>;
5041 type = "passive";
5042 };
5043
5044 cpu6_bottom_crit: cpu-crit {
5045 temperature = <110000>;
5046 hysteresis = <1000>;
5047 type = "critical";
5048 };
5049 };
5050
5051 cooling-maps {
5052 map0 {
5053 trip = <&cpu6_bottom_alert0>;
5054 cooling-device = <&CPU4 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
5055 <&CPU5 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
5056 <&CPU6 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
5057 <&CPU7 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
5058 };
5059 map1 {
5060 trip = <&cpu6_bottom_alert1>;
5061 cooling-device = <&CPU4 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
5062 <&CPU5 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
5063 <&CPU6 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
5064 <&CPU7 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
5065 };
5066 };
5067 };
5068
5069 cpu7-bottom-thermal {
5070 polling-delay-passive = <250>;
Tom Rini53633a82024-02-29 12:33:36 -05005071
5072 thermal-sensors = <&tsens0 14>;
5073
5074 trips {
5075 cpu7_bottom_alert0: trip-point0 {
5076 temperature = <90000>;
5077 hysteresis = <2000>;
5078 type = "passive";
5079 };
5080
5081 cpu7_bottom_alert1: trip-point1 {
5082 temperature = <95000>;
5083 hysteresis = <2000>;
5084 type = "passive";
5085 };
5086
5087 cpu7_bottom_crit: cpu-crit {
5088 temperature = <110000>;
5089 hysteresis = <1000>;
5090 type = "critical";
5091 };
5092 };
5093
5094 cooling-maps {
5095 map0 {
5096 trip = <&cpu7_bottom_alert0>;
5097 cooling-device = <&CPU4 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
5098 <&CPU5 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
5099 <&CPU6 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
5100 <&CPU7 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
5101 };
5102 map1 {
5103 trip = <&cpu7_bottom_alert1>;
5104 cooling-device = <&CPU4 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
5105 <&CPU5 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
5106 <&CPU6 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
5107 <&CPU7 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
5108 };
5109 };
5110 };
5111
5112 aoss0-thermal {
5113 polling-delay-passive = <250>;
Tom Rini53633a82024-02-29 12:33:36 -05005114
5115 thermal-sensors = <&tsens0 0>;
5116
5117 trips {
5118 aoss0_alert0: trip-point0 {
5119 temperature = <90000>;
5120 hysteresis = <2000>;
5121 type = "hot";
5122 };
5123 };
5124 };
5125
5126 cluster0-thermal {
5127 polling-delay-passive = <250>;
Tom Rini53633a82024-02-29 12:33:36 -05005128
5129 thermal-sensors = <&tsens0 5>;
5130
5131 trips {
5132 cluster0_alert0: trip-point0 {
5133 temperature = <90000>;
5134 hysteresis = <2000>;
5135 type = "hot";
5136 };
Tom Rini6bb92fc2024-05-20 09:54:58 -06005137 cluster0_crit: cluster0-crit {
Tom Rini53633a82024-02-29 12:33:36 -05005138 temperature = <110000>;
5139 hysteresis = <2000>;
5140 type = "critical";
5141 };
5142 };
5143 };
5144
5145 cluster1-thermal {
5146 polling-delay-passive = <250>;
Tom Rini53633a82024-02-29 12:33:36 -05005147
5148 thermal-sensors = <&tsens0 6>;
5149
5150 trips {
5151 cluster1_alert0: trip-point0 {
5152 temperature = <90000>;
5153 hysteresis = <2000>;
5154 type = "hot";
5155 };
Tom Rini6bb92fc2024-05-20 09:54:58 -06005156 cluster1_crit: cluster1-crit {
Tom Rini53633a82024-02-29 12:33:36 -05005157 temperature = <110000>;
5158 hysteresis = <2000>;
5159 type = "critical";
5160 };
5161 };
5162 };
5163
5164 gpu-top-thermal {
5165 polling-delay-passive = <250>;
Tom Rini53633a82024-02-29 12:33:36 -05005166
5167 thermal-sensors = <&tsens0 15>;
5168
Tom Rini6bb92fc2024-05-20 09:54:58 -06005169 cooling-maps {
5170 map0 {
5171 trip = <&gpu_top_alert0>;
5172 cooling-device = <&gpu THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
5173 };
5174 };
5175
Tom Rini53633a82024-02-29 12:33:36 -05005176 trips {
Tom Rini6bb92fc2024-05-20 09:54:58 -06005177 gpu_top_alert0: trip-point0 {
Tom Rini6b642ac2024-10-01 12:20:28 -06005178 temperature = <85000>;
5179 hysteresis = <1000>;
5180 type = "passive";
5181 };
5182
5183 trip-point1 {
Tom Rini53633a82024-02-29 12:33:36 -05005184 temperature = <90000>;
Tom Rini6b642ac2024-10-01 12:20:28 -06005185 hysteresis = <1000>;
Tom Rini53633a82024-02-29 12:33:36 -05005186 type = "hot";
5187 };
Tom Rini6b642ac2024-10-01 12:20:28 -06005188
5189 trip-point2 {
5190 temperature = <110000>;
5191 hysteresis = <1000>;
5192 type = "critical";
5193 };
Tom Rini53633a82024-02-29 12:33:36 -05005194 };
5195 };
5196
5197 aoss1-thermal {
5198 polling-delay-passive = <250>;
Tom Rini53633a82024-02-29 12:33:36 -05005199
5200 thermal-sensors = <&tsens1 0>;
5201
5202 trips {
5203 aoss1_alert0: trip-point0 {
5204 temperature = <90000>;
5205 hysteresis = <2000>;
5206 type = "hot";
5207 };
5208 };
5209 };
5210
5211 wlan-thermal {
5212 polling-delay-passive = <250>;
Tom Rini53633a82024-02-29 12:33:36 -05005213
5214 thermal-sensors = <&tsens1 1>;
5215
5216 trips {
5217 wlan_alert0: trip-point0 {
5218 temperature = <90000>;
5219 hysteresis = <2000>;
5220 type = "hot";
5221 };
5222 };
5223 };
5224
5225 video-thermal {
5226 polling-delay-passive = <250>;
Tom Rini53633a82024-02-29 12:33:36 -05005227
5228 thermal-sensors = <&tsens1 2>;
5229
5230 trips {
5231 video_alert0: trip-point0 {
5232 temperature = <90000>;
5233 hysteresis = <2000>;
5234 type = "hot";
5235 };
5236 };
5237 };
5238
5239 mem-thermal {
5240 polling-delay-passive = <250>;
Tom Rini53633a82024-02-29 12:33:36 -05005241
5242 thermal-sensors = <&tsens1 3>;
5243
5244 trips {
5245 mem_alert0: trip-point0 {
5246 temperature = <90000>;
5247 hysteresis = <2000>;
5248 type = "hot";
5249 };
5250 };
5251 };
5252
5253 q6-hvx-thermal {
5254 polling-delay-passive = <250>;
Tom Rini53633a82024-02-29 12:33:36 -05005255
5256 thermal-sensors = <&tsens1 4>;
5257
5258 trips {
5259 q6_hvx_alert0: trip-point0 {
5260 temperature = <90000>;
5261 hysteresis = <2000>;
5262 type = "hot";
5263 };
5264 };
5265 };
5266
5267 camera-thermal {
5268 polling-delay-passive = <250>;
Tom Rini53633a82024-02-29 12:33:36 -05005269
5270 thermal-sensors = <&tsens1 5>;
5271
5272 trips {
5273 camera_alert0: trip-point0 {
5274 temperature = <90000>;
5275 hysteresis = <2000>;
5276 type = "hot";
5277 };
5278 };
5279 };
5280
5281 compute-thermal {
5282 polling-delay-passive = <250>;
Tom Rini53633a82024-02-29 12:33:36 -05005283
5284 thermal-sensors = <&tsens1 6>;
5285
5286 trips {
5287 compute_alert0: trip-point0 {
5288 temperature = <90000>;
5289 hysteresis = <2000>;
5290 type = "hot";
5291 };
5292 };
5293 };
5294
5295 modem-thermal {
5296 polling-delay-passive = <250>;
Tom Rini53633a82024-02-29 12:33:36 -05005297
5298 thermal-sensors = <&tsens1 7>;
5299
5300 trips {
5301 modem_alert0: trip-point0 {
5302 temperature = <90000>;
5303 hysteresis = <2000>;
5304 type = "hot";
5305 };
5306 };
5307 };
5308
5309 npu-thermal {
5310 polling-delay-passive = <250>;
Tom Rini53633a82024-02-29 12:33:36 -05005311
5312 thermal-sensors = <&tsens1 8>;
5313
5314 trips {
5315 npu_alert0: trip-point0 {
5316 temperature = <90000>;
5317 hysteresis = <2000>;
5318 type = "hot";
5319 };
5320 };
5321 };
5322
5323 modem-vec-thermal {
5324 polling-delay-passive = <250>;
Tom Rini53633a82024-02-29 12:33:36 -05005325
5326 thermal-sensors = <&tsens1 9>;
5327
5328 trips {
5329 modem_vec_alert0: trip-point0 {
5330 temperature = <90000>;
5331 hysteresis = <2000>;
5332 type = "hot";
5333 };
5334 };
5335 };
5336
5337 modem-scl-thermal {
5338 polling-delay-passive = <250>;
Tom Rini53633a82024-02-29 12:33:36 -05005339
5340 thermal-sensors = <&tsens1 10>;
5341
5342 trips {
5343 modem_scl_alert0: trip-point0 {
5344 temperature = <90000>;
5345 hysteresis = <2000>;
5346 type = "hot";
5347 };
5348 };
5349 };
5350
5351 gpu-bottom-thermal {
5352 polling-delay-passive = <250>;
Tom Rini53633a82024-02-29 12:33:36 -05005353
5354 thermal-sensors = <&tsens1 11>;
5355
Tom Rini6bb92fc2024-05-20 09:54:58 -06005356 cooling-maps {
5357 map0 {
5358 trip = <&gpu_bottom_alert0>;
5359 cooling-device = <&gpu THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
5360 };
5361 };
5362
Tom Rini53633a82024-02-29 12:33:36 -05005363 trips {
Tom Rini6bb92fc2024-05-20 09:54:58 -06005364 gpu_bottom_alert0: trip-point0 {
Tom Rini6b642ac2024-10-01 12:20:28 -06005365 temperature = <85000>;
5366 hysteresis = <1000>;
5367 type = "passive";
5368 };
5369
5370 trip-point1 {
Tom Rini53633a82024-02-29 12:33:36 -05005371 temperature = <90000>;
Tom Rini6b642ac2024-10-01 12:20:28 -06005372 hysteresis = <1000>;
Tom Rini53633a82024-02-29 12:33:36 -05005373 type = "hot";
5374 };
Tom Rini6b642ac2024-10-01 12:20:28 -06005375
5376 trip-point2 {
5377 temperature = <110000>;
5378 hysteresis = <1000>;
5379 type = "critical";
5380 };
Tom Rini53633a82024-02-29 12:33:36 -05005381 };
5382 };
5383 };
5384};