blob: e7ff55443da702c559cf59a6c8f874178947b69f [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001// SPDX-License-Identifier: BSD-3-Clause
2/*
3 * Copyright (c) 2022, Konrad Dybcio <konrad.dybcio@somainline.org>
4 */
5
6#include <dt-bindings/clock/qcom,rpmcc.h>
7#include <dt-bindings/clock/qcom,sm6375-gcc.h>
8#include <dt-bindings/clock/qcom,sm6375-gpucc.h>
9#include <dt-bindings/dma/qcom-gpi.h>
10#include <dt-bindings/firmware/qcom,scm.h>
11#include <dt-bindings/interconnect/qcom,osm-l3.h>
12#include <dt-bindings/interrupt-controller/arm-gic.h>
13#include <dt-bindings/mailbox/qcom-ipcc.h>
14#include <dt-bindings/power/qcom-rpmpd.h>
15
16/ {
17 interrupt-parent = <&intc>;
18
19 #address-cells = <2>;
20 #size-cells = <2>;
21
22 chosen { };
23
24 clocks {
25 xo_board_clk: xo-board-clk {
26 compatible = "fixed-clock";
27 #clock-cells = <0>;
28 };
29
30 sleep_clk: sleep-clk {
31 compatible = "fixed-clock";
32 clock-frequency = <32000>;
33 #clock-cells = <0>;
34 };
35 };
36
37 cpus {
38 #address-cells = <2>;
39 #size-cells = <0>;
40
41 CPU0: cpu@0 {
42 device_type = "cpu";
43 compatible = "qcom,kryo660";
44 reg = <0x0 0x0>;
45 clocks = <&cpufreq_hw 0>;
46 enable-method = "psci";
47 next-level-cache = <&L2_0>;
48 qcom,freq-domain = <&cpufreq_hw 0>;
49 operating-points-v2 = <&cpu0_opp_table>;
50 interconnects = <&cpucp_l3 MASTER_EPSS_L3_APPS &cpucp_l3 SLAVE_EPSS_L3_SHARED>;
51 power-domains = <&CPU_PD0>;
52 power-domain-names = "psci";
53 #cooling-cells = <2>;
54 L2_0: l2-cache {
55 compatible = "cache";
56 cache-level = <2>;
57 cache-unified;
58 next-level-cache = <&L3_0>;
59 L3_0: l3-cache {
60 compatible = "cache";
61 cache-level = <3>;
62 cache-unified;
63 };
64 };
65 };
66
67 CPU1: cpu@100 {
68 device_type = "cpu";
69 compatible = "qcom,kryo660";
70 reg = <0x0 0x100>;
71 clocks = <&cpufreq_hw 0>;
72 enable-method = "psci";
73 next-level-cache = <&L2_100>;
74 qcom,freq-domain = <&cpufreq_hw 0>;
75 operating-points-v2 = <&cpu0_opp_table>;
76 interconnects = <&cpucp_l3 MASTER_EPSS_L3_APPS &cpucp_l3 SLAVE_EPSS_L3_SHARED>;
77 power-domains = <&CPU_PD1>;
78 power-domain-names = "psci";
79 #cooling-cells = <2>;
80 L2_100: l2-cache {
81 compatible = "cache";
82 cache-level = <2>;
83 cache-unified;
84 next-level-cache = <&L3_0>;
85 };
86 };
87
88 CPU2: cpu@200 {
89 device_type = "cpu";
90 compatible = "qcom,kryo660";
91 reg = <0x0 0x200>;
92 clocks = <&cpufreq_hw 0>;
93 enable-method = "psci";
94 next-level-cache = <&L2_200>;
95 qcom,freq-domain = <&cpufreq_hw 0>;
96 operating-points-v2 = <&cpu0_opp_table>;
97 interconnects = <&cpucp_l3 MASTER_EPSS_L3_APPS &cpucp_l3 SLAVE_EPSS_L3_SHARED>;
98 power-domains = <&CPU_PD2>;
99 power-domain-names = "psci";
100 #cooling-cells = <2>;
101 L2_200: l2-cache {
102 compatible = "cache";
103 cache-level = <2>;
104 cache-unified;
105 next-level-cache = <&L3_0>;
106 };
107 };
108
109 CPU3: cpu@300 {
110 device_type = "cpu";
111 compatible = "qcom,kryo660";
112 reg = <0x0 0x300>;
113 clocks = <&cpufreq_hw 0>;
114 enable-method = "psci";
115 next-level-cache = <&L2_300>;
116 qcom,freq-domain = <&cpufreq_hw 0>;
117 operating-points-v2 = <&cpu0_opp_table>;
118 interconnects = <&cpucp_l3 MASTER_EPSS_L3_APPS &cpucp_l3 SLAVE_EPSS_L3_SHARED>;
119 power-domains = <&CPU_PD3>;
120 power-domain-names = "psci";
121 #cooling-cells = <2>;
122 L2_300: l2-cache {
123 compatible = "cache";
124 cache-level = <2>;
125 cache-unified;
126 next-level-cache = <&L3_0>;
127 };
128 };
129
130 CPU4: cpu@400 {
131 device_type = "cpu";
132 compatible = "qcom,kryo660";
133 reg = <0x0 0x400>;
134 clocks = <&cpufreq_hw 0>;
135 enable-method = "psci";
136 next-level-cache = <&L2_400>;
137 qcom,freq-domain = <&cpufreq_hw 0>;
138 operating-points-v2 = <&cpu0_opp_table>;
139 interconnects = <&cpucp_l3 MASTER_EPSS_L3_APPS &cpucp_l3 SLAVE_EPSS_L3_SHARED>;
140 power-domains = <&CPU_PD4>;
141 power-domain-names = "psci";
142 #cooling-cells = <2>;
143 L2_400: l2-cache {
144 compatible = "cache";
145 cache-level = <2>;
146 cache-unified;
147 next-level-cache = <&L3_0>;
148 };
149 };
150
151 CPU5: cpu@500 {
152 device_type = "cpu";
153 compatible = "qcom,kryo660";
154 reg = <0x0 0x500>;
155 clocks = <&cpufreq_hw 0>;
156 enable-method = "psci";
157 next-level-cache = <&L2_500>;
158 qcom,freq-domain = <&cpufreq_hw 0>;
159 operating-points-v2 = <&cpu0_opp_table>;
160 interconnects = <&cpucp_l3 MASTER_EPSS_L3_APPS &cpucp_l3 SLAVE_EPSS_L3_SHARED>;
161 power-domains = <&CPU_PD5>;
162 power-domain-names = "psci";
163 #cooling-cells = <2>;
164 L2_500: l2-cache {
165 compatible = "cache";
166 cache-level = <2>;
167 cache-unified;
168 next-level-cache = <&L3_0>;
169 };
170 };
171
172 CPU6: cpu@600 {
173 device_type = "cpu";
174 compatible = "qcom,kryo660";
175 reg = <0x0 0x600>;
176 clocks = <&cpufreq_hw 1>;
177 enable-method = "psci";
178 next-level-cache = <&L2_600>;
179 qcom,freq-domain = <&cpufreq_hw 1>;
180 operating-points-v2 = <&cpu6_opp_table>;
181 interconnects = <&cpucp_l3 MASTER_EPSS_L3_APPS &cpucp_l3 SLAVE_EPSS_L3_SHARED>;
182 power-domains = <&CPU_PD6>;
183 power-domain-names = "psci";
184 #cooling-cells = <2>;
185 L2_600: l2-cache {
186 compatible = "cache";
187 cache-level = <2>;
188 cache-unified;
189 next-level-cache = <&L3_0>;
190 };
191 };
192
193 CPU7: cpu@700 {
194 device_type = "cpu";
195 compatible = "qcom,kryo660";
196 reg = <0x0 0x700>;
197 clocks = <&cpufreq_hw 1>;
198 enable-method = "psci";
199 next-level-cache = <&L2_700>;
200 qcom,freq-domain = <&cpufreq_hw 1>;
201 operating-points-v2 = <&cpu6_opp_table>;
202 interconnects = <&cpucp_l3 MASTER_EPSS_L3_APPS &cpucp_l3 SLAVE_EPSS_L3_SHARED>;
203 power-domains = <&CPU_PD7>;
204 power-domain-names = "psci";
205 #cooling-cells = <2>;
206 L2_700: l2-cache {
207 compatible = "cache";
208 cache-level = <2>;
209 cache-unified;
210 next-level-cache = <&L3_0>;
211 };
212 };
213
214 cpu-map {
215 cluster0 {
216 core0 {
217 cpu = <&CPU0>;
218 };
219
220 core1 {
221 cpu = <&CPU1>;
222 };
223
224 core2 {
225 cpu = <&CPU2>;
226 };
227
228 core3 {
229 cpu = <&CPU3>;
230 };
231
232 core4 {
233 cpu = <&CPU4>;
234 };
235
236 core5 {
237 cpu = <&CPU5>;
238 };
239
240 core6 {
241 cpu = <&CPU6>;
242 };
243
244 core7 {
245 cpu = <&CPU7>;
246 };
247 };
248 };
249
250 idle-states {
251 entry-method = "psci";
252
253 LITTLE_CPU_SLEEP_0: cpu-sleep-0-0 {
254 compatible = "arm,idle-state";
255 idle-state-name = "silver-power-collapse";
256 arm,psci-suspend-param = <0x40000003>;
257 entry-latency-us = <549>;
258 exit-latency-us = <901>;
259 min-residency-us = <1774>;
260 local-timer-stop;
261 };
262
263 LITTLE_CPU_SLEEP_1: cpu-sleep-0-1 {
264 compatible = "arm,idle-state";
265 idle-state-name = "silver-rail-power-collapse";
266 arm,psci-suspend-param = <0x40000004>;
267 entry-latency-us = <702>;
268 exit-latency-us = <915>;
269 min-residency-us = <4001>;
270 local-timer-stop;
271 };
272
273 BIG_CPU_SLEEP_0: cpu-sleep-1-0 {
274 compatible = "arm,idle-state";
275 idle-state-name = "gold-power-collapse";
276 arm,psci-suspend-param = <0x40000003>;
277 entry-latency-us = <523>;
278 exit-latency-us = <1244>;
279 min-residency-us = <2207>;
280 local-timer-stop;
281 };
282
283 BIG_CPU_SLEEP_1: cpu-sleep-1-1 {
284 compatible = "arm,idle-state";
285 idle-state-name = "gold-rail-power-collapse";
286 arm,psci-suspend-param = <0x40000004>;
287 entry-latency-us = <526>;
288 exit-latency-us = <1854>;
289 min-residency-us = <5555>;
290 local-timer-stop;
291 };
292 };
293
294 domain-idle-states {
295 CLUSTER_SLEEP_0: cluster-sleep-0 {
296 compatible = "domain-idle-state";
297 arm,psci-suspend-param = <0x41000044>;
298 entry-latency-us = <2752>;
299 exit-latency-us = <3048>;
300 min-residency-us = <6118>;
301 };
302 };
303 };
304
305 firmware {
306 scm {
307 compatible = "qcom,scm-sm6375", "qcom,scm";
308 clocks = <&rpmcc RPM_SMD_CE1_CLK>;
309 clock-names = "core";
310 #reset-cells = <1>;
311 };
312 };
313
314 memory@80000000 {
315 device_type = "memory";
316 /* We expect the bootloader to fill in the size */
317 reg = <0x0 0x80000000 0x0 0x0>;
318 };
319
320 cpu0_opp_table: opp-table-cpu0 {
321 compatible = "operating-points-v2";
322 opp-shared;
323
324 opp-300000000 {
325 opp-hz = /bits/ 64 <300000000>;
326 opp-peak-kBps = <(300000 * 32)>;
327 };
328
329 opp-576000000 {
330 opp-hz = /bits/ 64 <576000000>;
331 opp-peak-kBps = <(556800 * 32)>;
332 };
333
334 opp-691200000 {
335 opp-hz = /bits/ 64 <691200000>;
336 opp-peak-kBps = <(652800 * 32)>;
337 };
338
339 opp-940800000 {
340 opp-hz = /bits/ 64 <940800000>;
341 opp-peak-kBps = <(921600 * 32)>;
342 };
343
344 opp-1113600000 {
345 opp-hz = /bits/ 64 <1113600000>;
346 opp-peak-kBps = <(921600 * 32)>;
347 };
348
349 opp-1324800000 {
350 opp-hz = /bits/ 64 <1324800000>;
351 opp-peak-kBps = <(1171200 * 32)>;
352 };
353
354 opp-1516800000 {
355 opp-hz = /bits/ 64 <1516800000>;
356 opp-peak-kBps = <(1497600 * 32)>;
357 };
358
359 opp-1651200000 {
360 opp-hz = /bits/ 64 <1651200000>;
361 opp-peak-kBps = <(1497600 * 32)>;
362 };
363
364 opp-1708800000 {
365 opp-hz = /bits/ 64 <1708800000>;
366 opp-peak-kBps = <(1497600 * 32)>;
367 };
368
369 opp-1804800000 {
370 opp-hz = /bits/ 64 <1804800000>;
371 opp-peak-kBps = <(1497600 * 32)>;
372 };
373 };
374
375 cpu6_opp_table: opp-table-cpu6 {
376 compatible = "operating-points-v2";
377 opp-shared;
378
379 opp-691200000 {
380 opp-hz = /bits/ 64 <691200000>;
381 opp-peak-kBps = <(556800 * 32)>;
382 };
383
384 opp-940800000 {
385 opp-hz = /bits/ 64 <940800000>;
386 opp-peak-kBps = <(921600 * 32)>;
387 };
388
389 opp-1228800000 {
390 opp-hz = /bits/ 64 <1228800000>;
391 opp-peak-kBps = <(1171200 * 32)>;
392 };
393
394 opp-1401600000 {
395 opp-hz = /bits/ 64 <1401600000>;
396 opp-peak-kBps = <(1382400 * 32)>;
397 };
398
399 opp-1516800000 {
400 opp-hz = /bits/ 64 <1516800000>;
401 opp-peak-kBps = <(1497600 * 32)>;
402 };
403
404 opp-1651200000 {
405 opp-hz = /bits/ 64 <1651200000>;
406 opp-peak-kBps = <(1497600 * 32)>;
407 };
408
409 opp-1804800000 {
410 opp-hz = /bits/ 64 <1804800000>;
411 opp-peak-kBps = <(1497600 * 32)>;
412 };
413
414 opp-1900800000 {
415 opp-hz = /bits/ 64 <1900800000>;
416 opp-peak-kBps = <(1497600 * 32)>;
417 };
418
419 opp-2054400000 {
420 opp-hz = /bits/ 64 <2054400000>;
421 opp-peak-kBps = <(1497600 * 32)>;
422 };
423
424 opp-2208000000 {
425 opp-hz = /bits/ 64 <2208000000>;
426 opp-peak-kBps = <(1497600 * 32)>;
427 };
428 };
429
430 pmu {
431 compatible = "arm,armv8-pmuv3";
432 interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_LOW>;
433 };
434
435 psci {
436 compatible = "arm,psci-1.0";
437 method = "smc";
438
439 CPU_PD0: power-domain-cpu0 {
440 #power-domain-cells = <0>;
441 power-domains = <&CLUSTER_PD>;
442 domain-idle-states = <&LITTLE_CPU_SLEEP_0 &LITTLE_CPU_SLEEP_1>;
443 };
444
445 CPU_PD1: power-domain-cpu1 {
446 #power-domain-cells = <0>;
447 power-domains = <&CLUSTER_PD>;
448 domain-idle-states = <&LITTLE_CPU_SLEEP_0 &LITTLE_CPU_SLEEP_1>;
449 };
450
451 CPU_PD2: power-domain-cpu2 {
452 #power-domain-cells = <0>;
453 power-domains = <&CLUSTER_PD>;
454 domain-idle-states = <&LITTLE_CPU_SLEEP_0 &LITTLE_CPU_SLEEP_1>;
455 };
456
457 CPU_PD3: power-domain-cpu3 {
458 #power-domain-cells = <0>;
459 power-domains = <&CLUSTER_PD>;
460 domain-idle-states = <&LITTLE_CPU_SLEEP_0 &LITTLE_CPU_SLEEP_1>;
461 };
462
463 CPU_PD4: power-domain-cpu4 {
464 #power-domain-cells = <0>;
465 power-domains = <&CLUSTER_PD>;
466 domain-idle-states = <&LITTLE_CPU_SLEEP_0 &LITTLE_CPU_SLEEP_1>;
467 };
468
469 CPU_PD5: power-domain-cpu5 {
470 #power-domain-cells = <0>;
471 power-domains = <&CLUSTER_PD>;
472 domain-idle-states = <&LITTLE_CPU_SLEEP_0 &LITTLE_CPU_SLEEP_1>;
473 };
474
475 CPU_PD6: power-domain-cpu6 {
476 #power-domain-cells = <0>;
477 power-domains = <&CLUSTER_PD>;
478 domain-idle-states = <&BIG_CPU_SLEEP_0 &BIG_CPU_SLEEP_1>;
479 };
480
481 CPU_PD7: power-domain-cpu7 {
482 #power-domain-cells = <0>;
483 power-domains = <&CLUSTER_PD>;
484 domain-idle-states = <&BIG_CPU_SLEEP_0 &BIG_CPU_SLEEP_1>;
485 };
486
487 CLUSTER_PD: power-domain-cpu-cluster0 {
488 #power-domain-cells = <0>;
489 domain-idle-states = <&CLUSTER_SLEEP_0>;
490 };
491 };
492
493 qup_opp_table: opp-table-qup {
494 compatible = "operating-points-v2";
495
496 opp-75000000 {
497 opp-hz = /bits/ 64 <75000000>;
498 required-opps = <&rpmpd_opp_low_svs>;
499 };
500
501 opp-100000000 {
502 opp-hz = /bits/ 64 <100000000>;
503 required-opps = <&rpmpd_opp_svs>;
504 };
505
506 opp-128000000 {
507 opp-hz = /bits/ 64 <128000000>;
508 required-opps = <&rpmpd_opp_nom>;
509 };
510 };
511
512 reserved_memory: reserved-memory {
513 #address-cells = <2>;
514 #size-cells = <2>;
515 ranges;
516
517 hyp_mem: hypervisor@80000000 {
518 reg = <0 0x80000000 0 0x600000>;
519 no-map;
520 };
521
522 xbl_aop_mem: xbl-aop@80700000 {
523 reg = <0 0x80700000 0 0x100000>;
524 no-map;
525 };
526
527 reserved_xbl_uefi: xbl-uefi-res@80880000 {
528 reg = <0 0x80880000 0 0x14000>;
529 no-map;
530 };
531
532 smem_mem: smem@80900000 {
533 compatible = "qcom,smem";
534 reg = <0 0x80900000 0 0x200000>;
535 hwlocks = <&tcsr_mutex 3>;
536 no-map;
537 };
538
539 fw_mem: fw@80b00000 {
540 reg = <0 0x80b00000 0 0x100000>;
541 no-map;
542 };
543
544 cdsp_secure_heap_mem: cdsp-sec-heap@80c00000 {
545 reg = <0 0x80c00000 0 0x1e00000>;
546 no-map;
547 };
548
549 dfps_data_mem: dpfs-data@85e00000 {
550 reg = <0 0x85e00000 0 0x100000>;
551 no-map;
552 };
553
554 pil_wlan_mem: pil-wlan@86500000 {
555 reg = <0 0x86500000 0 0x200000>;
556 no-map;
557 };
558
559 pil_adsp_mem: pil-adsp@86700000 {
560 reg = <0 0x86700000 0 0x2000000>;
561 no-map;
562 };
563
564 pil_cdsp_mem: pil-cdsp@88700000 {
565 reg = <0 0x88700000 0 0x1e00000>;
566 no-map;
567 };
568
569 pil_video_mem: pil-video@8a500000 {
570 reg = <0 0x8a500000 0 0x500000>;
571 no-map;
572 };
573
574 pil_ipa_fw_mem: pil-ipa-fw@8aa00000 {
575 reg = <0 0x8aa00000 0 0x10000>;
576 no-map;
577 };
578
579 pil_ipa_gsi_mem: pil-ipa-gsi@8aa10000 {
580 reg = <0 0x8aa10000 0 0xa000>;
581 no-map;
582 };
583
584 pil_gpu_micro_code_mem: pil-gpu-ucode@8aa1a000 {
585 reg = <0 0x8aa1a000 0 0x2000>;
586 no-map;
587 };
588
589 pil_mpss_wlan_mem: pil-mpss-wlan@8b800000 {
590 reg = <0 0x8b800000 0 0x10000000>;
591 no-map;
592 };
593
594 removed_mem: removed@c0000000 {
595 reg = <0 0xc0000000 0 0x5100000>;
596 no-map;
597 };
598
599 rmtfs_mem: rmtfs@f3900000 {
600 compatible = "qcom,rmtfs-mem";
601 reg = <0 0xf3900000 0 0x280000>;
602 no-map;
603
604 qcom,client-id = <1>;
605 qcom,vmid = <QCOM_SCM_VMID_MSS_MSA QCOM_SCM_VMID_NAV>;
606 };
607
608 debug_mem: debug@ffb00000 {
609 reg = <0 0xffb00000 0 0xc0000>;
610 no-map;
611 };
612
613 last_log_mem: lastlog@ffbc0000 {
614 reg = <0 0xffbc0000 0 0x80000>;
615 no-map;
616 };
617
618 cmdline_region: cmdline@ffd00000 {
619 reg = <0 0xffd00000 0 0x1000>;
620 no-map;
621 };
622 };
623
624 rpm: remoteproc {
625 compatible = "qcom,sm6375-rpm-proc", "qcom,rpm-proc";
626
627 glink-edge {
628 compatible = "qcom,glink-rpm";
629 interrupts-extended = <&ipcc IPCC_CLIENT_AOP
630 IPCC_MPROC_SIGNAL_GLINK_QMP
631 IRQ_TYPE_EDGE_RISING>;
632 qcom,rpm-msg-ram = <&rpm_msg_ram>;
633 mboxes = <&ipcc IPCC_CLIENT_AOP IPCC_MPROC_SIGNAL_GLINK_QMP>;
634
635 rpm_requests: rpm-requests {
636 compatible = "qcom,rpm-sm6375";
637 qcom,glink-channels = "rpm_requests";
638
639 rpmcc: clock-controller {
640 compatible = "qcom,rpmcc-sm6375", "qcom,rpmcc";
641 clocks = <&xo_board_clk>;
642 clock-names = "xo";
643 #clock-cells = <1>;
644 };
645
646 rpmpd: power-controller {
647 compatible = "qcom,sm6375-rpmpd";
648 #power-domain-cells = <1>;
649 operating-points-v2 = <&rpmpd_opp_table>;
650
651 rpmpd_opp_table: opp-table {
652 compatible = "operating-points-v2";
653
654 rpmpd_opp_ret: opp1 {
655 opp-level = <RPM_SMD_LEVEL_RETENTION>;
656 };
657
658 rpmpd_opp_min_svs: opp2 {
659 opp-level = <RPM_SMD_LEVEL_MIN_SVS>;
660 };
661
662 rpmpd_opp_low_svs: opp3 {
663 opp-level = <RPM_SMD_LEVEL_LOW_SVS>;
664 };
665
666 rpmpd_opp_svs: opp4 {
667 opp-level = <RPM_SMD_LEVEL_SVS>;
668 };
669
670 rpmpd_opp_svs_plus: opp5 {
671 opp-level = <RPM_SMD_LEVEL_SVS_PLUS>;
672 };
673
674 rpmpd_opp_nom: opp6 {
675 opp-level = <RPM_SMD_LEVEL_NOM>;
676 };
677
678 rpmpd_opp_nom_plus: opp7 {
679 opp-level = <RPM_SMD_LEVEL_NOM_PLUS>;
680 };
681
682 rpmpd_opp_turbo: opp8 {
683 opp-level = <RPM_SMD_LEVEL_TURBO>;
684 };
685
686 rpmpd_opp_turbo_no_cpr: opp9 {
687 opp-level = <RPM_SMD_LEVEL_TURBO_NO_CPR>;
688 };
689 };
690 };
691 };
692 };
693 };
694
695 smp2p-adsp {
696 compatible = "qcom,smp2p";
697 qcom,smem = <443>, <429>;
698 interrupts-extended = <&ipcc IPCC_CLIENT_LPASS
699 IPCC_MPROC_SIGNAL_SMP2P
700 IRQ_TYPE_EDGE_RISING>;
701 mboxes = <&ipcc IPCC_CLIENT_LPASS
702 IPCC_MPROC_SIGNAL_SMP2P>;
703
704 qcom,local-pid = <0>;
705 qcom,remote-pid = <2>;
706
707 smp2p_adsp_out: master-kernel {
708 qcom,entry-name = "master-kernel";
709 #qcom,smem-state-cells = <1>;
710 };
711
712 smp2p_adsp_in: slave-kernel {
713 qcom,entry-name = "slave-kernel";
714 interrupt-controller;
715 #interrupt-cells = <2>;
716 };
717 };
718
719 smp2p-cdsp {
720 compatible = "qcom,smp2p";
721 qcom,smem = <94>, <432>;
722 interrupts-extended = <&ipcc IPCC_CLIENT_CDSP
723 IPCC_MPROC_SIGNAL_SMP2P
724 IRQ_TYPE_EDGE_RISING>;
725 mboxes = <&ipcc IPCC_CLIENT_CDSP
726 IPCC_MPROC_SIGNAL_SMP2P>;
727
728 qcom,local-pid = <0>;
729 qcom,remote-pid = <5>;
730
731 smp2p_cdsp_out: master-kernel {
732 qcom,entry-name = "master-kernel";
733 #qcom,smem-state-cells = <1>;
734 };
735
736 smp2p_cdsp_in: slave-kernel {
737 qcom,entry-name = "slave-kernel";
738 interrupt-controller;
739 #interrupt-cells = <2>;
740 };
741 };
742
743 smp2p-modem {
744 compatible = "qcom,smp2p";
745 qcom,smem = <435>, <428>;
746 interrupts-extended = <&ipcc IPCC_CLIENT_MPSS
747 IPCC_MPROC_SIGNAL_SMP2P
748 IRQ_TYPE_EDGE_RISING>;
749 mboxes = <&ipcc IPCC_CLIENT_MPSS
750 IPCC_MPROC_SIGNAL_SMP2P>;
751
752 qcom,local-pid = <0>;
753 qcom,remote-pid = <1>;
754
755 smp2p_modem_out: master-kernel {
756 qcom,entry-name = "master-kernel";
757 #qcom,smem-state-cells = <1>;
758 };
759
760 smp2p_modem_in: slave-kernel {
761 qcom,entry-name = "slave-kernel";
762 interrupt-controller;
763 #interrupt-cells = <2>;
764 };
765
766 ipa_smp2p_out: ipa-ap-to-modem {
767 qcom,entry-name = "ipa";
768 #qcom,smem-state-cells = <1>;
769 };
770
771 ipa_smp2p_in: ipa-modem-to-ap {
772 qcom,entry-name = "ipa";
773 interrupt-controller;
774 #interrupt-cells = <2>;
775 };
776
777 wlan_smp2p_in: wlan-wpss-to-ap {
778 qcom,entry-name = "wlan";
779 interrupt-controller;
780 #interrupt-cells = <2>;
781 };
782 };
783
784 soc: soc@0 {
785 #address-cells = <2>;
786 #size-cells = <2>;
787 ranges = <0 0 0 0 0x10 0>;
788 dma-ranges = <0 0 0 0 0x10 0>;
789 compatible = "simple-bus";
790
791 ipcc: mailbox@208000 {
792 compatible = "qcom,sm6375-ipcc", "qcom,ipcc";
793 reg = <0 0x00208000 0 0x1000>;
794 interrupts = <GIC_SPI 334 IRQ_TYPE_LEVEL_HIGH>;
795 interrupt-controller;
796 #interrupt-cells = <3>;
797 #mbox-cells = <2>;
798 };
799
800 tcsr_mutex: hwlock@340000 {
801 compatible = "qcom,tcsr-mutex";
802 reg = <0x0 0x00340000 0x0 0x40000>;
803 #hwlock-cells = <1>;
804 };
805
806 tlmm: pinctrl@500000 {
807 compatible = "qcom,sm6375-tlmm";
808 reg = <0 0x00500000 0 0x800000>;
809 interrupts = <GIC_SPI 227 IRQ_TYPE_LEVEL_HIGH>;
810 gpio-ranges = <&tlmm 0 0 157>;
811 /* TODO: Hook up MPM as wakeup-parent when it's there */
812 interrupt-controller;
813 gpio-controller;
814 #interrupt-cells = <2>;
815 #gpio-cells = <2>;
816
817 sdc2_off_state: sdc2-off-state {
818 clk-pins {
819 pins = "sdc2_clk";
820 drive-strength = <2>;
821 bias-disable;
822 };
823
824 cmd-pins {
825 pins = "sdc2_cmd";
826 drive-strength = <2>;
827 bias-pull-up;
828 };
829
830 data-pins {
831 pins = "sdc2_data";
832 drive-strength = <2>;
833 bias-pull-up;
834 };
835 };
836
837 sdc2_on_state: sdc2-on-state {
838 clk-pins {
839 pins = "sdc2_clk";
840 drive-strength = <16>;
841 bias-disable;
842 };
843
844 cmd-pins {
845 pins = "sdc2_cmd";
846 drive-strength = <10>;
847 bias-pull-up;
848 };
849
850 data-pins {
851 pins = "sdc2_data";
852 drive-strength = <10>;
853 bias-pull-up;
854 };
855 };
856
857 qup_i2c0_default: qup-i2c0-default-state {
858 pins = "gpio0", "gpio1";
859 function = "qup00";
860 drive-strength = <2>;
861 bias-pull-up;
862 };
863
864 qup_i2c1_default: qup-i2c1-default-state {
865 pins = "gpio61", "gpio62";
866 function = "qup01";
867 drive-strength = <2>;
868 bias-pull-up;
869 };
870
871 qup_i2c2_default: qup-i2c2-default-state {
872 pins = "gpio45", "gpio46";
873 function = "qup02";
874 drive-strength = <2>;
875 bias-pull-up;
876 };
877
878 qup_i2c8_default: qup-i2c8-default-state {
879 pins = "gpio19", "gpio20";
880 /* TLMM, GCC and vendor DT all have different indices.. */
881 function = "qup12";
882 drive-strength = <2>;
883 bias-pull-up;
884 };
885
886 qup_i2c10_default: qup-i2c10-default-state {
887 pins = "gpio4", "gpio5";
888 function = "qup10";
889 drive-strength = <2>;
890 bias-pull-up;
891 };
892
893 qup_spi0_default: qup-spi0-default-state {
894 pins = "gpio0", "gpio1", "gpio2", "gpio3";
895 function = "qup00";
896 drive-strength = <6>;
897 bias-disable;
898 };
899 };
900
901 gcc: clock-controller@1400000 {
902 compatible = "qcom,sm6375-gcc";
903 reg = <0 0x01400000 0 0x1f0000>;
904 clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>,
905 <&rpmcc RPM_SMD_XO_A_CLK_SRC>,
906 <&sleep_clk>;
907 #power-domain-cells = <1>;
908 #clock-cells = <1>;
909 #reset-cells = <1>;
910 };
911
912 usb_1_hsphy: phy@162b000 {
913 compatible = "qcom,sm6375-usb-hs-phy", "qcom,usb-snps-hs-7nm-phy";
914 reg = <0 0x0162b000 0 0x400>;
915
916 clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>;
917 clock-names = "ref";
918 resets = <&gcc GCC_QUSB2PHY_PRIM_BCR>;
919 #phy-cells = <0>;
920
921 status = "disabled";
922 };
923
924 spmi_bus: spmi@1c40000 {
925 compatible = "qcom,spmi-pmic-arb";
926 reg = <0 0x01c40000 0 0x1100>,
927 <0 0x01e00000 0 0x2000000>,
928 <0 0x03e00000 0 0x100000>,
929 <0 0x03f00000 0 0xa0000>,
930 <0 0x01c0a000 0 0x26000>;
931 reg-names = "core", "chnls", "obsrvr", "intr", "cnfg";
932 interrupt-names = "periph_irq";
933 interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
934 qcom,ee = <0>;
935 qcom,channel = <0>;
936 #address-cells = <2>;
937 #size-cells = <0>;
938 interrupt-controller;
939 #interrupt-cells = <4>;
940 };
941
942 tsens0: thermal-sensor@4411000 {
943 compatible = "qcom,sm6375-tsens", "qcom,tsens-v2";
944 reg = <0 0x04411000 0 0x140>, /* TM */
945 <0 0x04410000 0 0x20>; /* SROT */
946 interrupts = <GIC_SPI 275 IRQ_TYPE_LEVEL_HIGH>,
947 <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>;
948 interrupt-names = "uplow", "critical";
949 #thermal-sensor-cells = <1>;
950 #qcom,sensors = <15>;
951 };
952
953 tsens1: thermal-sensor@4413000 {
954 compatible = "qcom,sm6375-tsens", "qcom,tsens-v2";
955 reg = <0 0x04413000 0 0x140>, /* TM */
956 <0 0x04412000 0 0x20>; /* SROT */
957 interrupts = <GIC_SPI 293 IRQ_TYPE_LEVEL_HIGH>,
958 <GIC_SPI 316 IRQ_TYPE_LEVEL_HIGH>;
959 interrupt-names = "uplow", "critical";
960 #thermal-sensor-cells = <1>;
961 #qcom,sensors = <11>;
962 };
963
964 rpm_msg_ram: sram@45f0000 {
965 compatible = "qcom,rpm-msg-ram";
966 reg = <0 0x045f0000 0 0x7000>;
967 };
968
969 sram@4690000 {
970 compatible = "qcom,rpm-stats";
971 reg = <0 0x04690000 0 0x400>;
972 };
973
974 sdhc_2: mmc@4784000 {
975 compatible = "qcom,sm6375-sdhci", "qcom,sdhci-msm-v5";
976 reg = <0 0x04784000 0 0x1000>;
977
978 interrupts = <GIC_SPI 350 IRQ_TYPE_LEVEL_HIGH>,
979 <GIC_SPI 353 IRQ_TYPE_LEVEL_HIGH>;
980 interrupt-names = "hc_irq", "pwr_irq";
981
982 clocks = <&gcc GCC_SDCC2_AHB_CLK>,
983 <&gcc GCC_SDCC2_APPS_CLK>,
984 <&rpmcc RPM_SMD_XO_CLK_SRC>;
985 clock-names = "iface", "core", "xo";
986 resets = <&gcc GCC_SDCC2_BCR>;
987 iommus = <&apps_smmu 0x40 0x0>;
988
989 pinctrl-0 = <&sdc2_on_state>;
990 pinctrl-1 = <&sdc2_off_state>;
991 pinctrl-names = "default", "sleep";
992
993 qcom,dll-config = <0x0007642c>;
994 qcom,ddr-config = <0x80040868>;
995 power-domains = <&rpmpd SM6375_VDDCX>;
996 operating-points-v2 = <&sdhc2_opp_table>;
997 bus-width = <4>;
998
999 status = "disabled";
1000
1001 sdhc2_opp_table: opp-table {
1002 compatible = "operating-points-v2";
1003
1004 opp-100000000 {
1005 opp-hz = /bits/ 64 <100000000>;
1006 required-opps = <&rpmpd_opp_low_svs>;
1007 };
1008
1009 opp-202000000 {
1010 opp-hz = /bits/ 64 <202000000>;
1011 required-opps = <&rpmpd_opp_svs_plus>;
1012 };
1013 };
1014 };
1015
1016 gpi_dma0: dma-controller@4a00000 {
1017 compatible = "qcom,sm6375-gpi-dma", "qcom,sm6350-gpi-dma";
1018 reg = <0 0x04a00000 0 0x60000>;
1019 interrupts = <GIC_SPI 335 IRQ_TYPE_LEVEL_HIGH>,
1020 <GIC_SPI 336 IRQ_TYPE_LEVEL_HIGH>,
1021 <GIC_SPI 337 IRQ_TYPE_LEVEL_HIGH>,
1022 <GIC_SPI 338 IRQ_TYPE_LEVEL_HIGH>,
1023 <GIC_SPI 339 IRQ_TYPE_LEVEL_HIGH>,
1024 <GIC_SPI 340 IRQ_TYPE_LEVEL_HIGH>,
1025 <GIC_SPI 341 IRQ_TYPE_LEVEL_HIGH>,
1026 <GIC_SPI 342 IRQ_TYPE_LEVEL_HIGH>,
1027 <GIC_SPI 343 IRQ_TYPE_LEVEL_HIGH>,
1028 <GIC_SPI 344 IRQ_TYPE_LEVEL_HIGH>;
1029 dma-channels = <10>;
1030 dma-channel-mask = <0x1f>;
1031 iommus = <&apps_smmu 0x16 0x0>;
1032 #dma-cells = <3>;
1033 status = "disabled";
1034 };
1035
1036 qupv3_id_0: geniqup@4ac0000 {
1037 compatible = "qcom,geni-se-qup";
1038 reg = <0x0 0x04ac0000 0x0 0x2000>;
1039 clock-names = "m-ahb", "s-ahb";
1040 clocks = <&gcc GCC_QUPV3_WRAP_0_M_AHB_CLK>,
1041 <&gcc GCC_QUPV3_WRAP_0_S_AHB_CLK>;
1042 iommus = <&apps_smmu 0x3 0x0>;
1043 #address-cells = <2>;
1044 #size-cells = <2>;
1045 ranges;
1046 status = "disabled";
1047
1048 i2c0: i2c@4a80000 {
1049 compatible = "qcom,geni-i2c";
1050 reg = <0x0 0x04a80000 0x0 0x4000>;
1051 clock-names = "se";
1052 clocks = <&gcc GCC_QUPV3_WRAP0_S0_CLK>;
1053 interrupts = <GIC_SPI 327 IRQ_TYPE_LEVEL_HIGH>;
1054 pinctrl-names = "default";
1055 pinctrl-0 = <&qup_i2c0_default>;
1056 dmas = <&gpi_dma0 0 0 QCOM_GPI_I2C>,
1057 <&gpi_dma0 1 0 QCOM_GPI_I2C>;
1058 dma-names = "tx", "rx";
1059 #address-cells = <1>;
1060 #size-cells = <0>;
1061 status = "disabled";
1062 };
1063
1064 spi0: spi@4a80000 {
1065 compatible = "qcom,geni-spi";
1066 reg = <0x0 0x04a80000 0x0 0x4000>;
1067 clock-names = "se";
1068 clocks = <&gcc GCC_QUPV3_WRAP0_S0_CLK>;
1069 interrupts = <GIC_SPI 327 IRQ_TYPE_LEVEL_HIGH>;
1070 pinctrl-names = "default";
1071 pinctrl-0 = <&qup_spi0_default>;
1072 power-domains = <&rpmpd SM6375_VDDCX>;
1073 operating-points-v2 = <&qup_opp_table>;
1074 dmas = <&gpi_dma0 0 0 QCOM_GPI_SPI>,
1075 <&gpi_dma0 1 0 QCOM_GPI_SPI>;
1076 dma-names = "tx", "rx";
1077 #address-cells = <1>;
1078 #size-cells = <0>;
1079 status = "disabled";
1080 };
1081
1082 i2c1: i2c@4a84000 {
1083 compatible = "qcom,geni-i2c";
1084 reg = <0x0 0x04a84000 0x0 0x4000>;
1085 clock-names = "se";
1086 clocks = <&gcc GCC_QUPV3_WRAP0_S1_CLK>;
1087 interrupts = <GIC_SPI 328 IRQ_TYPE_LEVEL_HIGH>;
1088 pinctrl-names = "default";
1089 pinctrl-0 = <&qup_i2c1_default>;
1090 dmas = <&gpi_dma0 0 1 QCOM_GPI_I2C>,
1091 <&gpi_dma0 1 1 QCOM_GPI_I2C>;
1092 dma-names = "tx", "rx";
1093 #address-cells = <1>;
1094 #size-cells = <0>;
1095 status = "disabled";
1096 };
1097
1098 spi1: spi@4a84000 {
1099 compatible = "qcom,geni-spi";
1100 reg = <0x0 0x04a84000 0x0 0x4000>;
1101 clock-names = "se";
1102 clocks = <&gcc GCC_QUPV3_WRAP0_S1_CLK>;
1103 interrupts = <GIC_SPI 328 IRQ_TYPE_LEVEL_HIGH>;
1104 power-domains = <&rpmpd SM6375_VDDCX>;
1105 operating-points-v2 = <&qup_opp_table>;
1106 dmas = <&gpi_dma0 0 1 QCOM_GPI_SPI>,
1107 <&gpi_dma0 1 1 QCOM_GPI_SPI>;
1108 dma-names = "tx", "rx";
1109 #address-cells = <1>;
1110 #size-cells = <0>;
1111 status = "disabled";
1112 };
1113
1114 i2c2: i2c@4a88000 {
1115 compatible = "qcom,geni-i2c";
1116 reg = <0x0 0x04a88000 0x0 0x4000>;
1117 clock-names = "se";
1118 clocks = <&gcc GCC_QUPV3_WRAP0_S2_CLK>;
1119 interrupts = <GIC_SPI 329 IRQ_TYPE_LEVEL_HIGH>;
1120 pinctrl-names = "default";
1121 pinctrl-0 = <&qup_i2c2_default>;
1122 dmas = <&gpi_dma0 0 2 QCOM_GPI_I2C>,
1123 <&gpi_dma0 1 2 QCOM_GPI_I2C>;
1124 dma-names = "tx", "rx";
1125 #address-cells = <1>;
1126 #size-cells = <0>;
1127 status = "disabled";
1128 };
1129
1130 spi2: spi@4a88000 {
1131 compatible = "qcom,geni-spi";
1132 reg = <0x0 0x04a88000 0x0 0x4000>;
1133 clock-names = "se";
1134 clocks = <&gcc GCC_QUPV3_WRAP0_S2_CLK>;
1135 interrupts = <GIC_SPI 329 IRQ_TYPE_LEVEL_HIGH>;
1136 power-domains = <&rpmpd SM6375_VDDCX>;
1137 operating-points-v2 = <&qup_opp_table>;
1138 dmas = <&gpi_dma0 0 2 QCOM_GPI_SPI>,
1139 <&gpi_dma0 1 2 QCOM_GPI_SPI>;
1140 dma-names = "tx", "rx";
1141 #address-cells = <1>;
1142 #size-cells = <0>;
1143 status = "disabled";
1144 };
1145
1146 /*
1147 * As per GCC, QUP3/4/5/11 also exist, but are not even defined downstream.
1148 * There is a comment in the included DTSI of another SoC saying that they
1149 * are not "bolled out" (probably meaning not routed to solder balls)
1150 * TLMM driver however, suggests there are as many as 15 QUPs in total!
1151 * Most of which don't even have pin configurations for.. Sad stuff!
1152 */
1153 };
1154
1155 gpi_dma1: dma-controller@4c00000 {
1156 compatible = "qcom,sm6375-gpi-dma", "qcom,sm6350-gpi-dma";
1157 reg = <0 0x04c00000 0 0x60000>;
1158 interrupts = <GIC_SPI 497 IRQ_TYPE_LEVEL_HIGH>,
1159 <GIC_SPI 498 IRQ_TYPE_LEVEL_HIGH>,
1160 <GIC_SPI 499 IRQ_TYPE_LEVEL_HIGH>,
1161 <GIC_SPI 500 IRQ_TYPE_LEVEL_HIGH>,
1162 <GIC_SPI 501 IRQ_TYPE_LEVEL_HIGH>,
1163 <GIC_SPI 502 IRQ_TYPE_LEVEL_HIGH>,
1164 <GIC_SPI 503 IRQ_TYPE_LEVEL_HIGH>,
1165 <GIC_SPI 504 IRQ_TYPE_LEVEL_HIGH>,
1166 <GIC_SPI 505 IRQ_TYPE_LEVEL_HIGH>,
1167 <GIC_SPI 506 IRQ_TYPE_LEVEL_HIGH>;
1168 dma-channels = <10>;
1169 dma-channel-mask = <0x1f>;
1170 iommus = <&apps_smmu 0xd6 0x0>;
1171 #dma-cells = <3>;
1172 status = "disabled";
1173 };
1174
1175 qupv3_id_1: geniqup@4cc0000 {
1176 compatible = "qcom,geni-se-qup";
1177 reg = <0x0 0x04cc0000 0x0 0x2000>;
1178 clock-names = "m-ahb", "s-ahb";
1179 clocks = <&gcc GCC_QUPV3_WRAP_1_M_AHB_CLK>,
1180 <&gcc GCC_QUPV3_WRAP_1_S_AHB_CLK>;
1181 iommus = <&apps_smmu 0xc3 0x0>;
1182 #address-cells = <2>;
1183 #size-cells = <2>;
1184 ranges;
1185 status = "disabled";
1186
1187 i2c6: i2c@4c80000 {
1188 compatible = "qcom,geni-i2c";
1189 reg = <0x0 0x04c80000 0x0 0x4000>;
1190 clock-names = "se";
1191 clocks = <&gcc GCC_QUPV3_WRAP1_S0_CLK>;
1192 interrupts = <GIC_SPI 507 IRQ_TYPE_LEVEL_HIGH>;
1193 dmas = <&gpi_dma1 0 0 QCOM_GPI_I2C>,
1194 <&gpi_dma1 1 0 QCOM_GPI_I2C>;
1195 dma-names = "tx", "rx";
1196 #address-cells = <1>;
1197 #size-cells = <0>;
1198 status = "disabled";
1199 };
1200
1201 spi6: spi@4c80000 {
1202 compatible = "qcom,geni-spi";
1203 reg = <0x0 0x04c80000 0x0 0x4000>;
1204 clock-names = "se";
1205 clocks = <&gcc GCC_QUPV3_WRAP1_S0_CLK>;
1206 interrupts = <GIC_SPI 507 IRQ_TYPE_LEVEL_HIGH>;
1207 power-domains = <&rpmpd SM6375_VDDCX>;
1208 operating-points-v2 = <&qup_opp_table>;
1209 dmas = <&gpi_dma1 0 0 QCOM_GPI_SPI>,
1210 <&gpi_dma1 1 0 QCOM_GPI_SPI>;
1211 dma-names = "tx", "rx";
1212 #address-cells = <1>;
1213 #size-cells = <0>;
1214 status = "disabled";
1215 };
1216
1217 i2c7: i2c@4c84000 {
1218 compatible = "qcom,geni-i2c";
1219 reg = <0x0 0x04c84000 0x0 0x4000>;
1220 clock-names = "se";
1221 clocks = <&gcc GCC_QUPV3_WRAP1_S1_CLK>;
1222 interrupts = <GIC_SPI 508 IRQ_TYPE_LEVEL_HIGH>;
1223 dmas = <&gpi_dma1 0 1 QCOM_GPI_I2C>,
1224 <&gpi_dma1 1 1 QCOM_GPI_I2C>;
1225 dma-names = "tx", "rx";
1226 #address-cells = <1>;
1227 #size-cells = <0>;
1228 status = "disabled";
1229 };
1230
1231 spi7: spi@4c84000 {
1232 compatible = "qcom,geni-spi";
1233 reg = <0x0 0x04c84000 0x0 0x4000>;
1234 clock-names = "se";
1235 clocks = <&gcc GCC_QUPV3_WRAP1_S1_CLK>;
1236 interrupts = <GIC_SPI 508 IRQ_TYPE_LEVEL_HIGH>;
1237 power-domains = <&rpmpd SM6375_VDDCX>;
1238 operating-points-v2 = <&qup_opp_table>;
1239 dmas = <&gpi_dma1 0 1 QCOM_GPI_SPI>,
1240 <&gpi_dma1 1 1 QCOM_GPI_SPI>;
1241 dma-names = "tx", "rx";
1242 #address-cells = <1>;
1243 #size-cells = <0>;
1244 status = "disabled";
1245 };
1246
1247 i2c8: i2c@4c88000 {
1248 compatible = "qcom,geni-i2c";
1249 reg = <0x0 0x04c88000 0x0 0x4000>;
1250 clock-names = "se";
1251 clocks = <&gcc GCC_QUPV3_WRAP1_S2_CLK>;
1252 interrupts = <GIC_SPI 509 IRQ_TYPE_LEVEL_HIGH>;
1253 pinctrl-names = "default";
1254 pinctrl-0 = <&qup_i2c8_default>;
1255 dmas = <&gpi_dma1 0 2 QCOM_GPI_I2C>,
1256 <&gpi_dma1 1 2 QCOM_GPI_I2C>;
1257 dma-names = "tx", "rx";
1258 #address-cells = <1>;
1259 #size-cells = <0>;
1260 status = "disabled";
1261 };
1262
1263 spi8: spi@4c88000 {
1264 compatible = "qcom,geni-spi";
1265 reg = <0x0 0x04c88000 0x0 0x4000>;
1266 clock-names = "se";
1267 clocks = <&gcc GCC_QUPV3_WRAP1_S2_CLK>;
1268 interrupts = <GIC_SPI 509 IRQ_TYPE_LEVEL_HIGH>;
1269 power-domains = <&rpmpd SM6375_VDDCX>;
1270 operating-points-v2 = <&qup_opp_table>;
1271 dmas = <&gpi_dma1 0 2 QCOM_GPI_SPI>,
1272 <&gpi_dma1 1 2 QCOM_GPI_SPI>;
1273 dma-names = "tx", "rx";
1274 #address-cells = <1>;
1275 #size-cells = <0>;
1276 status = "disabled";
1277 };
1278
1279 i2c9: i2c@4c8c000 {
1280 compatible = "qcom,geni-i2c";
1281 reg = <0x0 0x04c8c000 0x0 0x4000>;
1282 clock-names = "se";
1283 clocks = <&gcc GCC_QUPV3_WRAP1_S3_CLK>;
1284 interrupts = <GIC_SPI 510 IRQ_TYPE_LEVEL_HIGH>;
1285 dmas = <&gpi_dma1 0 3 QCOM_GPI_I2C>,
1286 <&gpi_dma1 1 3 QCOM_GPI_I2C>;
1287 dma-names = "tx", "rx";
1288 #address-cells = <1>;
1289 #size-cells = <0>;
1290 status = "disabled";
1291 };
1292
1293 spi9: spi@4c8c000 {
1294 compatible = "qcom,geni-spi";
1295 reg = <0x0 0x04c8c000 0x0 0x4000>;
1296 clock-names = "se";
1297 clocks = <&gcc GCC_QUPV3_WRAP1_S3_CLK>;
1298 interrupts = <GIC_SPI 510 IRQ_TYPE_LEVEL_HIGH>;
1299 power-domains = <&rpmpd SM6375_VDDCX>;
1300 operating-points-v2 = <&qup_opp_table>;
1301 dmas = <&gpi_dma1 0 3 QCOM_GPI_SPI>,
1302 <&gpi_dma1 1 3 QCOM_GPI_SPI>;
1303 dma-names = "tx", "rx";
1304 #address-cells = <1>;
1305 #size-cells = <0>;
1306 status = "disabled";
1307 };
1308
1309 i2c10: i2c@4c90000 {
1310 compatible = "qcom,geni-i2c";
1311 reg = <0x0 0x04c90000 0x0 0x4000>;
1312 clock-names = "se";
1313 clocks = <&gcc GCC_QUPV3_WRAP1_S4_CLK>;
1314 interrupts = <GIC_SPI 511 IRQ_TYPE_LEVEL_HIGH>;
1315 pinctrl-names = "default";
1316 pinctrl-0 = <&qup_i2c10_default>;
1317 dmas = <&gpi_dma1 0 4 QCOM_GPI_I2C>,
1318 <&gpi_dma1 1 4 QCOM_GPI_I2C>;
1319 dma-names = "tx", "rx";
1320 #address-cells = <1>;
1321 #size-cells = <0>;
1322 status = "disabled";
1323 };
1324
1325 spi10: spi@4c90000 {
1326 compatible = "qcom,geni-spi";
1327 reg = <0x0 0x04c90000 0x0 0x4000>;
1328 clock-names = "se";
1329 clocks = <&gcc GCC_QUPV3_WRAP1_S4_CLK>;
1330 interrupts = <GIC_SPI 511 IRQ_TYPE_LEVEL_HIGH>;
1331 power-domains = <&rpmpd SM6375_VDDCX>;
1332 operating-points-v2 = <&qup_opp_table>;
1333 dmas = <&gpi_dma1 0 4 QCOM_GPI_SPI>,
1334 <&gpi_dma1 1 4 QCOM_GPI_SPI>;
1335 dma-names = "tx", "rx";
1336 #address-cells = <1>;
1337 #size-cells = <0>;
1338 status = "disabled";
1339 };
1340 };
1341
1342 usb_1: usb@4ef8800 {
1343 compatible = "qcom,sm6375-dwc3", "qcom,dwc3";
1344 reg = <0 0x04ef8800 0 0x400>;
1345
1346 clocks = <&gcc GCC_CFG_NOC_USB3_PRIM_AXI_CLK>,
1347 <&gcc GCC_USB30_PRIM_MASTER_CLK>,
1348 <&gcc GCC_SYS_NOC_USB3_PRIM_AXI_CLK>,
1349 <&gcc GCC_USB30_PRIM_SLEEP_CLK>,
1350 <&gcc GCC_USB30_PRIM_MOCK_UTMI_CLK>,
1351 <&gcc GCC_USB3_PRIM_CLKREF_CLK>;
1352 clock-names = "cfg_noc",
1353 "core",
1354 "iface",
1355 "sleep",
1356 "mock_utmi",
1357 "xo";
1358
1359 assigned-clocks = <&gcc GCC_USB30_PRIM_MOCK_UTMI_CLK>,
1360 <&gcc GCC_USB30_PRIM_MASTER_CLK>;
1361 assigned-clock-rates = <19200000>, <133333333>;
1362
1363 interrupts = <GIC_SPI 302 IRQ_TYPE_LEVEL_HIGH>,
1364 <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>,
1365 <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>,
1366 <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>;
1367 interrupt-names = "hs_phy_irq",
1368 "ss_phy_irq",
1369 "dm_hs_phy_irq",
1370 "dp_hs_phy_irq";
1371
1372 power-domains = <&gcc USB30_PRIM_GDSC>;
1373
1374 resets = <&gcc GCC_USB30_PRIM_BCR>;
1375
1376 /*
1377 * This property is there to allow USB2 to work, as
1378 * USB3 is not implemented yet - (re)move it when
1379 * proper support is in place.
1380 */
1381 qcom,select-utmi-as-pipe-clk;
1382
1383 #address-cells = <2>;
1384 #size-cells = <2>;
1385 ranges;
1386
1387 status = "disabled";
1388
1389 usb_1_dwc3: usb@4e00000 {
1390 compatible = "snps,dwc3";
1391 reg = <0 0x04e00000 0 0xcd00>;
1392 interrupts = <GIC_SPI 255 IRQ_TYPE_LEVEL_HIGH>;
1393 maximum-speed = "high-speed";
1394 phys = <&usb_1_hsphy>;
1395 phy-names = "usb2-phy";
1396 iommus = <&apps_smmu 0xe0 0x0>;
1397
1398 /* Yes, this impl *does* have an unfunny number of quirks.. */
1399 snps,hird-threshold = /bits/ 8 <0x10>;
1400 snps,usb2-gadget-lpm-disable;
1401 snps,dis_u2_susphy_quirk;
1402 snps,is-utmi-l1-suspend;
1403 snps,dis-u1-entry-quirk;
1404 snps,dis-u2-entry-quirk;
1405 snps,usb3_lpm_capable;
1406 snps,has-lpm-erratum;
1407 tx-fifo-resize;
1408 };
1409 };
1410
1411 adreno_smmu: iommu@5940000 {
1412 compatible = "qcom,sm6375-smmu-v2", "qcom,smmu-v2";
1413 reg = <0 0x05940000 0 0x10000>;
1414 #iommu-cells = <1>;
1415 #global-interrupts = <2>;
1416 interrupts = <GIC_SPI 379 IRQ_TYPE_LEVEL_HIGH>,
1417 <GIC_SPI 381 IRQ_TYPE_LEVEL_HIGH>,
1418 <GIC_SPI 457 IRQ_TYPE_LEVEL_HIGH>,
1419 <GIC_SPI 458 IRQ_TYPE_LEVEL_HIGH>,
1420 <GIC_SPI 459 IRQ_TYPE_LEVEL_HIGH>,
1421 <GIC_SPI 460 IRQ_TYPE_LEVEL_HIGH>,
1422 <GIC_SPI 461 IRQ_TYPE_LEVEL_HIGH>,
1423 <GIC_SPI 462 IRQ_TYPE_LEVEL_HIGH>,
1424 <GIC_SPI 463 IRQ_TYPE_LEVEL_HIGH>,
1425 <GIC_SPI 464 IRQ_TYPE_LEVEL_HIGH>;
1426
1427 clocks = <&gcc GCC_GPU_MEMNOC_GFX_CLK>;
1428 clock-names = "bus";
1429
1430 power-domains = <&gpucc GPU_CX_GDSC>;
1431 };
1432
1433 gpucc: clock-controller@5990000 {
1434 compatible = "qcom,sm6375-gpucc";
1435 reg = <0 0x05990000 0 0x9000>;
1436 clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>,
1437 <&gcc GCC_GPU_GPLL0_CLK_SRC>,
1438 <&gcc GCC_GPU_GPLL0_DIV_CLK_SRC>,
1439 <&gcc GCC_GPU_SNOC_DVM_GFX_CLK>;
1440 power-domains = <&rpmpd SM6375_VDDGX>;
1441 required-opps = <&rpmpd_opp_low_svs>;
1442 #clock-cells = <1>;
1443 #reset-cells = <1>;
1444 #power-domain-cells = <1>;
1445 };
1446
1447 remoteproc_mss: remoteproc@6000000 {
1448 compatible = "qcom,sm6375-mpss-pas";
1449 reg = <0 0x06000000 0 0x4040>;
1450
1451 interrupts-extended = <&intc GIC_SPI 307 IRQ_TYPE_EDGE_RISING>,
1452 <&smp2p_modem_in 0 IRQ_TYPE_EDGE_RISING>,
1453 <&smp2p_modem_in 1 IRQ_TYPE_EDGE_RISING>,
1454 <&smp2p_modem_in 2 IRQ_TYPE_EDGE_RISING>,
1455 <&smp2p_modem_in 3 IRQ_TYPE_EDGE_RISING>,
1456 <&smp2p_modem_in 7 IRQ_TYPE_EDGE_RISING>;
1457 interrupt-names = "wdog",
1458 "fatal",
1459 "ready",
1460 "handover",
1461 "stop-ack",
1462 "shutdown-ack";
1463
1464 clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>;
1465 clock-names = "xo";
1466
1467 power-domains = <&rpmpd SM6375_VDDCX>;
1468 power-domain-names = "cx";
1469
1470 memory-region = <&pil_mpss_wlan_mem>;
1471
1472 qcom,smem-states = <&smp2p_modem_out 0>;
1473 qcom,smem-state-names = "stop";
1474
1475 status = "disabled";
1476
1477 glink-edge {
1478 interrupts-extended = <&ipcc IPCC_CLIENT_MPSS
1479 IPCC_MPROC_SIGNAL_GLINK_QMP
1480 IRQ_TYPE_EDGE_RISING>;
1481 mboxes = <&ipcc IPCC_CLIENT_MPSS
1482 IPCC_MPROC_SIGNAL_GLINK_QMP>;
1483 label = "modem";
1484 qcom,remote-pid = <1>;
1485 };
1486 };
1487
1488 remoteproc_adsp: remoteproc@a400000 {
1489 compatible = "qcom,sm6375-adsp-pas";
1490 reg = <0 0x0a400000 0 0x100>;
1491
1492 interrupts-extended = <&intc GIC_SPI 282 IRQ_TYPE_LEVEL_HIGH>,
1493 <&smp2p_adsp_in 0 IRQ_TYPE_EDGE_RISING>,
1494 <&smp2p_adsp_in 1 IRQ_TYPE_EDGE_RISING>,
1495 <&smp2p_adsp_in 2 IRQ_TYPE_EDGE_RISING>,
1496 <&smp2p_adsp_in 3 IRQ_TYPE_EDGE_RISING>;
1497 interrupt-names = "wdog", "fatal", "ready",
1498 "handover", "stop-ack";
1499
1500 clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>;
1501 clock-names = "xo";
1502
1503 power-domains = <&rpmpd SM6375_VDD_LPI_CX>,
1504 <&rpmpd SM6375_VDD_LPI_MX>;
1505 power-domain-names = "lcx", "lmx";
1506
1507 memory-region = <&pil_adsp_mem>;
1508
1509 qcom,smem-states = <&smp2p_adsp_out 0>;
1510 qcom,smem-state-names = "stop";
1511
1512 status = "disabled";
1513
1514 glink-edge {
1515 interrupts-extended = <&ipcc IPCC_CLIENT_LPASS
1516 IPCC_MPROC_SIGNAL_GLINK_QMP
1517 IRQ_TYPE_EDGE_RISING>;
1518 mboxes = <&ipcc IPCC_CLIENT_LPASS
1519 IPCC_MPROC_SIGNAL_GLINK_QMP>;
1520
1521 label = "lpass";
1522 qcom,remote-pid = <2>;
1523 };
1524 };
1525
1526 remoteproc_cdsp: remoteproc@b000000 {
1527 compatible = "qcom,sm6375-cdsp-pas";
1528 reg = <0x0 0x0b000000 0x0 0x100000>;
1529
1530 interrupts-extended = <&intc GIC_SPI 265 IRQ_TYPE_EDGE_RISING>,
1531 <&smp2p_cdsp_in 0 IRQ_TYPE_EDGE_RISING>,
1532 <&smp2p_cdsp_in 1 IRQ_TYPE_EDGE_RISING>,
1533 <&smp2p_cdsp_in 2 IRQ_TYPE_EDGE_RISING>,
1534 <&smp2p_cdsp_in 3 IRQ_TYPE_EDGE_RISING>;
1535 interrupt-names = "wdog", "fatal", "ready",
1536 "handover", "stop-ack";
1537
1538 clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>;
1539 clock-names = "xo";
1540
1541 power-domains = <&rpmpd SM6375_VDDCX>;
1542 power-domain-names = "cx";
1543
1544 memory-region = <&pil_cdsp_mem>;
1545
1546 qcom,smem-states = <&smp2p_cdsp_out 0>;
1547 qcom,smem-state-names = "stop";
1548
1549 status = "disabled";
1550
1551 glink-edge {
1552 interrupts-extended = <&ipcc IPCC_CLIENT_CDSP
1553 IPCC_MPROC_SIGNAL_GLINK_QMP
1554 IRQ_TYPE_EDGE_RISING>;
1555 mboxes = <&ipcc IPCC_CLIENT_CDSP
1556 IPCC_MPROC_SIGNAL_GLINK_QMP>;
1557 label = "cdsp";
1558 qcom,remote-pid = <5>;
1559 };
1560 };
1561
1562 sram@c125000 {
1563 compatible = "qcom,sm6375-imem", "syscon", "simple-mfd";
1564 reg = <0 0x0c125000 0 0x1000>;
1565 ranges = <0 0 0x0c125000 0x1000>;
1566
1567 #address-cells = <1>;
1568 #size-cells = <1>;
1569
1570 pil-reloc@94c {
1571 compatible = "qcom,pil-reloc-info";
1572 reg = <0x94c 0xc8>;
1573 };
1574 };
1575
1576 apps_smmu: iommu@c600000 {
1577 compatible = "qcom,sm6375-smmu-500", "arm,mmu-500";
1578 reg = <0 0x0c600000 0 0x100000>;
1579 interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>,
1580 <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>,
1581 <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>,
1582 <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>,
1583 <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>,
1584 <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>,
1585 <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>,
1586 <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>,
1587 <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>,
1588 <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>,
1589 <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>,
1590 <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>,
1591 <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>,
1592 <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>,
1593 <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>,
1594 <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>,
1595 <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>,
1596 <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>,
1597 <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>,
1598 <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>,
1599 <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>,
1600 <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>,
1601 <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>,
1602 <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>,
1603 <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>,
1604 <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>,
1605 <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>,
1606 <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>,
1607 <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>,
1608 <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>,
1609 <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>,
1610 <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>,
1611 <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>,
1612 <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>,
1613 <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>,
1614 <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>,
1615 <GIC_SPI 124 IRQ_TYPE_LEVEL_HIGH>,
1616 <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>,
1617 <GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH>,
1618 <GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>,
1619 <GIC_SPI 128 IRQ_TYPE_LEVEL_HIGH>,
1620 <GIC_SPI 129 IRQ_TYPE_LEVEL_HIGH>,
1621 <GIC_SPI 130 IRQ_TYPE_LEVEL_HIGH>,
1622 <GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>,
1623 <GIC_SPI 132 IRQ_TYPE_LEVEL_HIGH>,
1624 <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>,
1625 <GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>,
1626 <GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>,
1627 <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>,
1628 <GIC_SPI 137 IRQ_TYPE_LEVEL_HIGH>,
1629 <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>,
1630 <GIC_SPI 139 IRQ_TYPE_LEVEL_HIGH>,
1631 <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>,
1632 <GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>,
1633 <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>,
1634 <GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>,
1635 <GIC_SPI 144 IRQ_TYPE_LEVEL_HIGH>,
1636 <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>,
1637 <GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>,
1638 <GIC_SPI 147 IRQ_TYPE_LEVEL_HIGH>,
1639 <GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>,
1640 <GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>,
1641 <GIC_SPI 150 IRQ_TYPE_LEVEL_HIGH>,
1642 <GIC_SPI 151 IRQ_TYPE_LEVEL_HIGH>,
1643 <GIC_SPI 152 IRQ_TYPE_LEVEL_HIGH>;
1644
1645 power-domains = <&gcc HLOS1_VOTE_MM_SNOC_MMU_TBU_RT_GDSC>,
1646 <&gcc HLOS1_VOTE_MM_SNOC_MMU_TBU_NRT_GDSC>,
1647 <&gcc HLOS1_VOTE_TURING_MMU_TBU0_GDSC>;
1648 #global-interrupts = <1>;
1649 #iommu-cells = <2>;
1650 };
1651
1652 wifi: wifi@c800000 {
1653 compatible = "qcom,wcn3990-wifi";
1654 reg = <0 0x0c800000 0 0x800000>;
1655 reg-names = "membase";
1656 memory-region = <&pil_wlan_mem>;
1657 interrupts = <GIC_SPI 358 IRQ_TYPE_LEVEL_HIGH>,
1658 <GIC_SPI 359 IRQ_TYPE_LEVEL_HIGH>,
1659 <GIC_SPI 360 IRQ_TYPE_LEVEL_HIGH>,
1660 <GIC_SPI 361 IRQ_TYPE_LEVEL_HIGH>,
1661 <GIC_SPI 362 IRQ_TYPE_LEVEL_HIGH>,
1662 <GIC_SPI 363 IRQ_TYPE_LEVEL_HIGH>,
1663 <GIC_SPI 364 IRQ_TYPE_LEVEL_HIGH>,
1664 <GIC_SPI 365 IRQ_TYPE_LEVEL_HIGH>,
1665 <GIC_SPI 366 IRQ_TYPE_LEVEL_HIGH>,
1666 <GIC_SPI 367 IRQ_TYPE_LEVEL_HIGH>,
1667 <GIC_SPI 368 IRQ_TYPE_LEVEL_HIGH>,
1668 <GIC_SPI 369 IRQ_TYPE_LEVEL_HIGH>;
1669 iommus = <&apps_smmu 0x80 0x1>;
1670 qcom,msa-fixed-perm;
1671 status = "disabled";
1672 };
1673
1674 intc: interrupt-controller@f200000 {
1675 compatible = "arm,gic-v3";
1676 reg = <0x0 0x0f200000 0x0 0x10000>, /* GICD */
1677 <0x0 0x0f240000 0x0 0x100000>; /* GICR * 8 */
1678 interrupts = <GIC_PPI 8 IRQ_TYPE_LEVEL_HIGH>;
1679 #redistributor-regions = <1>;
1680 #interrupt-cells = <3>;
1681 redistributor-stride = <0 0x20000>;
1682 interrupt-controller;
1683 };
1684
1685 timer@f420000 {
1686 compatible = "arm,armv7-timer-mem";
1687 reg = <0 0x0f420000 0 0x1000>;
1688 ranges = <0 0 0 0x20000000>;
1689 #address-cells = <1>;
1690 #size-cells = <1>;
1691
1692 frame@f421000 {
1693 reg = <0x0f421000 0x1000>, <0x0f422000 0x1000>;
1694 interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
1695 <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>;
1696 frame-number = <0>;
1697 };
1698
1699 frame@f423000 {
1700 reg = <0x0f243000 0x1000>;
1701 interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
1702 frame-number = <1>;
1703 status = "disabled";
1704 };
1705
1706 frame@f425000 {
1707 reg = <0x0f425000 0x1000>;
1708 interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
1709 frame-number = <2>;
1710 status = "disabled";
1711 };
1712
1713 frame@f427000 {
1714 reg = <0x0f427000 0x1000>;
1715 interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
1716 frame-number = <3>;
1717 status = "disabled";
1718 };
1719
1720 frame@f429000 {
1721 reg = <0x0f429000 0x1000>;
1722 interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
1723 frame-number = <4>;
1724 status = "disabled";
1725 };
1726
1727 frame@f42b000 {
1728 reg = <0x0f42b000 0x1000>;
1729 interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
1730 frame-number = <5>;
1731 status = "disabled";
1732 };
1733
1734 frame@f42d000 {
1735 reg = <0x0f42d000 0x1000>;
1736 interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
1737 frame-number = <6>;
1738 status = "disabled";
1739 };
1740 };
1741
1742 cpucp_l3: interconnect@fd90000 {
1743 compatible = "qcom,sm6375-cpucp-l3", "qcom,epss-l3";
1744 reg = <0 0x0fd90000 0 0x1000>;
1745
1746 clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>, <&gcc GPLL0>;
1747 clock-names = "xo", "alternate";
1748 #interconnect-cells = <1>;
1749 };
1750
1751 cpufreq_hw: cpufreq@fd91000 {
1752 compatible = "qcom,sm6375-cpufreq-epss", "qcom,cpufreq-epss";
1753 reg = <0 0x0fd91000 0 0x1000>, <0 0x0fd92000 0 0x1000>;
1754 reg-names = "freq-domain0", "freq-domain1";
1755
1756 clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>, <&gcc GPLL0>;
1757 clock-names = "xo", "alternate";
1758 interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>,
1759 <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
1760 interrupt-names = "dcvsh-irq-0", "dcvsh-irq-1";
1761 #freq-domain-cells = <1>;
1762 #clock-cells = <1>;
1763 };
1764 };
1765
1766 thermal-zones {
1767 mapss0-thermal {
1768 polling-delay-passive = <0>;
1769 polling-delay = <0>;
1770
1771 thermal-sensors = <&tsens0 0>;
1772
1773 trips {
1774 mapss0_alert0: trip-point0 {
1775 temperature = <90000>;
1776 hysteresis = <2000>;
1777 type = "passive";
1778 };
1779
1780 mapss0_alert1: trip-point1 {
1781 temperature = <95000>;
1782 hysteresis = <2000>;
1783 type = "passive";
1784 };
1785
1786 mapss0_crit: mapss-crit {
1787 temperature = <110000>;
1788 hysteresis = <1000>;
1789 type = "critical";
1790 };
1791 };
1792 };
1793
1794 cpu0-thermal {
1795 polling-delay-passive = <0>;
1796 polling-delay = <0>;
1797
1798 thermal-sensors = <&tsens0 1>;
1799
1800 trips {
1801 cpu0_alert0: trip-point0 {
1802 temperature = <90000>;
1803 hysteresis = <2000>;
1804 type = "passive";
1805 };
1806
1807 cpu0_alert1: trip-point1 {
1808 temperature = <95000>;
1809 hysteresis = <2000>;
1810 type = "passive";
1811 };
1812
1813 cpu0_crit: cpu-crit {
1814 temperature = <110000>;
1815 hysteresis = <1000>;
1816 type = "critical";
1817 };
1818 };
1819 };
1820
1821 cpu1-thermal {
1822 polling-delay-passive = <0>;
1823 polling-delay = <0>;
1824
1825 thermal-sensors = <&tsens0 2>;
1826
1827 trips {
1828 cpu1_alert0: trip-point0 {
1829 temperature = <90000>;
1830 hysteresis = <2000>;
1831 type = "passive";
1832 };
1833
1834 cpu1_alert1: trip-point1 {
1835 temperature = <95000>;
1836 hysteresis = <2000>;
1837 type = "passive";
1838 };
1839
1840 cpu1_crit: cpu-crit {
1841 temperature = <110000>;
1842 hysteresis = <1000>;
1843 type = "critical";
1844 };
1845 };
1846 };
1847
1848 cpu2-thermal {
1849 polling-delay-passive = <0>;
1850 polling-delay = <0>;
1851
1852 thermal-sensors = <&tsens0 3>;
1853
1854 trips {
1855 cpu2_alert0: trip-point0 {
1856 temperature = <90000>;
1857 hysteresis = <2000>;
1858 type = "passive";
1859 };
1860
1861 cpu2_alert1: trip-point1 {
1862 temperature = <95000>;
1863 hysteresis = <2000>;
1864 type = "passive";
1865 };
1866
1867 cpu2_crit: cpu-crit {
1868 temperature = <110000>;
1869 hysteresis = <1000>;
1870 type = "critical";
1871 };
1872 };
1873 };
1874
1875 cpu3-thermal {
1876 polling-delay-passive = <0>;
1877 polling-delay = <0>;
1878
1879 thermal-sensors = <&tsens0 4>;
1880
1881 trips {
1882 cpu3_alert0: trip-point0 {
1883 temperature = <90000>;
1884 hysteresis = <2000>;
1885 type = "passive";
1886 };
1887
1888 cpu3_alert1: trip-point1 {
1889 temperature = <95000>;
1890 hysteresis = <2000>;
1891 type = "passive";
1892 };
1893
1894 cpu3_crit: cpu-crit {
1895 temperature = <110000>;
1896 hysteresis = <1000>;
1897 type = "critical";
1898 };
1899 };
1900 };
1901
1902 cpu4-thermal {
1903 polling-delay-passive = <0>;
1904 polling-delay = <0>;
1905
1906 thermal-sensors = <&tsens0 5>;
1907
1908 trips {
1909 cpu4_alert0: trip-point0 {
1910 temperature = <90000>;
1911 hysteresis = <2000>;
1912 type = "passive";
1913 };
1914
1915 cpu4_alert1: trip-point1 {
1916 temperature = <95000>;
1917 hysteresis = <2000>;
1918 type = "passive";
1919 };
1920
1921 cpu4_crit: cpu-crit {
1922 temperature = <110000>;
1923 hysteresis = <1000>;
1924 type = "critical";
1925 };
1926 };
1927 };
1928
1929 cpu5-thermal {
1930 polling-delay-passive = <0>;
1931 polling-delay = <0>;
1932
1933 thermal-sensors = <&tsens0 6>;
1934
1935 trips {
1936 cpu5_alert0: trip-point0 {
1937 temperature = <90000>;
1938 hysteresis = <2000>;
1939 type = "passive";
1940 };
1941
1942 cpu5_alert1: trip-point1 {
1943 temperature = <95000>;
1944 hysteresis = <2000>;
1945 type = "passive";
1946 };
1947
1948 cpu5_crit: cpu-crit {
1949 temperature = <110000>;
1950 hysteresis = <1000>;
1951 type = "critical";
1952 };
1953 };
1954 };
1955
1956 cluster0-thermal {
1957 polling-delay-passive = <0>;
1958 polling-delay = <0>;
1959
1960 thermal-sensors = <&tsens0 7>;
1961
1962 trips {
1963 cluster0_alert0: trip-point0 {
1964 temperature = <90000>;
1965 hysteresis = <2000>;
1966 type = "passive";
1967 };
1968
1969 cluster0_alert1: trip-point1 {
1970 temperature = <95000>;
1971 hysteresis = <2000>;
1972 type = "passive";
1973 };
1974
1975 cluster0_crit: cpu-crit {
1976 temperature = <110000>;
1977 hysteresis = <1000>;
1978 type = "critical";
1979 };
1980 };
1981 };
1982
1983 cluster1-thermal {
1984 polling-delay-passive = <0>;
1985 polling-delay = <0>;
1986
1987 thermal-sensors = <&tsens0 8>;
1988
1989 trips {
1990 cluster1_alert0: trip-point0 {
1991 temperature = <90000>;
1992 hysteresis = <2000>;
1993 type = "passive";
1994 };
1995
1996 cluster1_alert1: trip-point1 {
1997 temperature = <95000>;
1998 hysteresis = <2000>;
1999 type = "passive";
2000 };
2001
2002 cluster1_crit: cpu-crit {
2003 temperature = <110000>;
2004 hysteresis = <1000>;
2005 type = "critical";
2006 };
2007 };
2008 };
2009
2010 cpu6-thermal {
2011 polling-delay-passive = <0>;
2012 polling-delay = <0>;
2013
2014 thermal-sensors = <&tsens0 9>;
2015
2016 trips {
2017 cpu6_alert0: trip-point0 {
2018 temperature = <90000>;
2019 hysteresis = <2000>;
2020 type = "passive";
2021 };
2022
2023 cpu6_alert1: trip-point1 {
2024 temperature = <95000>;
2025 hysteresis = <2000>;
2026 type = "passive";
2027 };
2028
2029 cpu6_crit: cpu-crit {
2030 temperature = <110000>;
2031 hysteresis = <1000>;
2032 type = "critical";
2033 };
2034 };
2035 };
2036
2037 cpu7-thermal {
2038 polling-delay-passive = <0>;
2039 polling-delay = <0>;
2040
2041 thermal-sensors = <&tsens0 10>;
2042
2043 trips {
2044 cpu7_alert0: trip-point0 {
2045 temperature = <90000>;
2046 hysteresis = <2000>;
2047 type = "passive";
2048 };
2049
2050 cpu7_alert1: trip-point1 {
2051 temperature = <95000>;
2052 hysteresis = <2000>;
2053 type = "passive";
2054 };
2055
2056 cpu7_crit: cpu-crit {
2057 temperature = <110000>;
2058 hysteresis = <1000>;
2059 type = "critical";
2060 };
2061 };
2062 };
2063
2064 cpu-unk0-thermal {
2065 polling-delay-passive = <0>;
2066 polling-delay = <0>;
2067
2068 thermal-sensors = <&tsens0 11>;
2069
2070 trips {
2071 cpu_unk0_alert0: trip-point0 {
2072 temperature = <90000>;
2073 hysteresis = <2000>;
2074 type = "passive";
2075 };
2076
2077 cpu_unk0_alert1: trip-point1 {
2078 temperature = <95000>;
2079 hysteresis = <2000>;
2080 type = "passive";
2081 };
2082
2083 cpu_unk0_crit: cpu-crit {
2084 temperature = <110000>;
2085 hysteresis = <1000>;
2086 type = "critical";
2087 };
2088 };
2089 };
2090
2091 cpu-unk1-thermal {
2092 polling-delay-passive = <0>;
2093 polling-delay = <0>;
2094
2095 thermal-sensors = <&tsens0 12>;
2096
2097 trips {
2098 cpu_unk1_alert0: trip-point0 {
2099 temperature = <90000>;
2100 hysteresis = <2000>;
2101 type = "passive";
2102 };
2103
2104 cpu_unk1_alert1: trip-point1 {
2105 temperature = <95000>;
2106 hysteresis = <2000>;
2107 type = "passive";
2108 };
2109
2110 cpu_unk1_crit: cpu-crit {
2111 temperature = <110000>;
2112 hysteresis = <1000>;
2113 type = "critical";
2114 };
2115 };
2116 };
2117
2118 gpuss0-thermal {
2119 polling-delay-passive = <0>;
2120 polling-delay = <0>;
2121
2122 thermal-sensors = <&tsens0 13>;
2123
2124 trips {
2125 gpuss0_alert0: trip-point0 {
2126 temperature = <90000>;
2127 hysteresis = <2000>;
2128 type = "passive";
2129 };
2130
2131 gpuss0_alert1: trip-point1 {
2132 temperature = <95000>;
2133 hysteresis = <2000>;
2134 type = "passive";
2135 };
2136
2137 gpuss0_crit: gpu-crit {
2138 temperature = <110000>;
2139 hysteresis = <1000>;
2140 type = "critical";
2141 };
2142 };
2143 };
2144
2145 gpuss1-thermal {
2146 polling-delay-passive = <0>;
2147 polling-delay = <0>;
2148
2149 thermal-sensors = <&tsens0 14>;
2150
2151 trips {
2152 gpuss1_alert0: trip-point0 {
2153 temperature = <90000>;
2154 hysteresis = <2000>;
2155 type = "passive";
2156 };
2157
2158 gpuss1_alert1: trip-point1 {
2159 temperature = <95000>;
2160 hysteresis = <2000>;
2161 type = "passive";
2162 };
2163
2164 gpuss1_crit: gpu-crit {
2165 temperature = <110000>;
2166 hysteresis = <1000>;
2167 type = "critical";
2168 };
2169 };
2170 };
2171
2172 mapss1-thermal {
2173 polling-delay-passive = <0>;
2174 polling-delay = <0>;
2175
2176 thermal-sensors = <&tsens1 0>;
2177
2178 trips {
2179 mapss1_alert0: trip-point0 {
2180 temperature = <90000>;
2181 hysteresis = <2000>;
2182 type = "passive";
2183 };
2184
2185 mapss1_alert1: trip-point1 {
2186 temperature = <95000>;
2187 hysteresis = <2000>;
2188 type = "passive";
2189 };
2190
2191 mapss1_crit: mapss-crit {
2192 temperature = <110000>;
2193 hysteresis = <1000>;
2194 type = "critical";
2195 };
2196 };
2197 };
2198
2199 cwlan-thermal {
2200 polling-delay-passive = <0>;
2201 polling-delay = <0>;
2202
2203 thermal-sensors = <&tsens1 1>;
2204
2205 trips {
2206 cwlan_alert0: trip-point0 {
2207 temperature = <90000>;
2208 hysteresis = <2000>;
2209 type = "passive";
2210 };
2211
2212 cwlan_alert1: trip-point1 {
2213 temperature = <95000>;
2214 hysteresis = <2000>;
2215 type = "passive";
2216 };
2217
2218 cwlan_crit: cwlan-crit {
2219 temperature = <110000>;
2220 hysteresis = <1000>;
2221 type = "critical";
2222 };
2223 };
2224 };
2225
2226 audio-thermal {
2227 polling-delay-passive = <0>;
2228 polling-delay = <0>;
2229
2230 thermal-sensors = <&tsens1 2>;
2231
2232 trips {
2233 audio_alert0: trip-point0 {
2234 temperature = <90000>;
2235 hysteresis = <2000>;
2236 type = "passive";
2237 };
2238
2239 audio_alert1: trip-point1 {
2240 temperature = <95000>;
2241 hysteresis = <2000>;
2242 type = "passive";
2243 };
2244
2245 audio_crit: audio-crit {
2246 temperature = <110000>;
2247 hysteresis = <1000>;
2248 type = "critical";
2249 };
2250 };
2251 };
2252
2253 ddr-thermal {
2254 polling-delay-passive = <0>;
2255 polling-delay = <0>;
2256
2257 thermal-sensors = <&tsens1 3>;
2258
2259 trips {
2260 ddr_alert0: trip-point0 {
2261 temperature = <90000>;
2262 hysteresis = <2000>;
2263 type = "passive";
2264 };
2265
2266 ddr_alert1: trip-point1 {
2267 temperature = <95000>;
2268 hysteresis = <2000>;
2269 type = "passive";
2270 };
2271
2272 ddr_crit: ddr-crit {
2273 temperature = <110000>;
2274 hysteresis = <1000>;
2275 type = "critical";
2276 };
2277 };
2278 };
2279
2280 q6hvx-thermal {
2281 polling-delay-passive = <0>;
2282 polling-delay = <0>;
2283
2284 thermal-sensors = <&tsens1 4>;
2285
2286 trips {
2287 q6hvx_alert0: trip-point0 {
2288 temperature = <90000>;
2289 hysteresis = <2000>;
2290 type = "passive";
2291 };
2292
2293 q6hvx_alert1: trip-point1 {
2294 temperature = <95000>;
2295 hysteresis = <2000>;
2296 type = "passive";
2297 };
2298
2299 q6hvx_crit: q6hvx-crit {
2300 temperature = <110000>;
2301 hysteresis = <1000>;
2302 type = "critical";
2303 };
2304 };
2305 };
2306
2307 camera-thermal {
2308 polling-delay-passive = <0>;
2309 polling-delay = <0>;
2310
2311 thermal-sensors = <&tsens1 5>;
2312
2313 trips {
2314 camera_alert0: trip-point0 {
2315 temperature = <90000>;
2316 hysteresis = <2000>;
2317 type = "passive";
2318 };
2319
2320 camera_alert1: trip-point1 {
2321 temperature = <95000>;
2322 hysteresis = <2000>;
2323 type = "passive";
2324 };
2325
2326 camera_crit: camera-crit {
2327 temperature = <110000>;
2328 hysteresis = <1000>;
2329 type = "critical";
2330 };
2331 };
2332 };
2333
2334 mdm-core0-thermal {
2335 polling-delay-passive = <0>;
2336 polling-delay = <0>;
2337
2338 thermal-sensors = <&tsens1 6>;
2339
2340 trips {
2341 mdm_core0_alert0: trip-point0 {
2342 temperature = <90000>;
2343 hysteresis = <2000>;
2344 type = "passive";
2345 };
2346
2347 mdm_core0_alert1: trip-point1 {
2348 temperature = <95000>;
2349 hysteresis = <2000>;
2350 type = "passive";
2351 };
2352
2353 mdm_core0_crit: mdm-core0-crit {
2354 temperature = <110000>;
2355 hysteresis = <1000>;
2356 type = "critical";
2357 };
2358 };
2359 };
2360
2361 mdm-core1-thermal {
2362 polling-delay-passive = <0>;
2363 polling-delay = <0>;
2364
2365 thermal-sensors = <&tsens1 7>;
2366
2367 trips {
2368 mdm_core1_alert0: trip-point0 {
2369 temperature = <90000>;
2370 hysteresis = <2000>;
2371 type = "passive";
2372 };
2373
2374 mdm_core1_alert1: trip-point1 {
2375 temperature = <95000>;
2376 hysteresis = <2000>;
2377 type = "passive";
2378 };
2379
2380 mdm_core1_crit: mdm-core1-crit {
2381 temperature = <110000>;
2382 hysteresis = <1000>;
2383 type = "critical";
2384 };
2385 };
2386 };
2387
2388 mdm-vec-thermal {
2389 polling-delay-passive = <0>;
2390 polling-delay = <0>;
2391
2392 thermal-sensors = <&tsens1 8>;
2393
2394 trips {
2395 mdm_vec_alert0: trip-point0 {
2396 temperature = <90000>;
2397 hysteresis = <2000>;
2398 type = "passive";
2399 };
2400
2401 mdm_vec_alert1: trip-point1 {
2402 temperature = <95000>;
2403 hysteresis = <2000>;
2404 type = "passive";
2405 };
2406
2407 mdm_vec_crit: mdm-vec-crit {
2408 temperature = <110000>;
2409 hysteresis = <1000>;
2410 type = "critical";
2411 };
2412 };
2413 };
2414
2415 msm-scl-thermal {
2416 polling-delay-passive = <0>;
2417 polling-delay = <0>;
2418
2419 thermal-sensors = <&tsens1 9>;
2420
2421 trips {
2422 msm_scl_alert0: trip-point0 {
2423 temperature = <90000>;
2424 hysteresis = <2000>;
2425 type = "passive";
2426 };
2427
2428 msm_scl_alert1: trip-point1 {
2429 temperature = <95000>;
2430 hysteresis = <2000>;
2431 type = "passive";
2432 };
2433
2434 msm_scl_crit: msm-scl-crit {
2435 temperature = <110000>;
2436 hysteresis = <1000>;
2437 type = "critical";
2438 };
2439 };
2440 };
2441
2442 video-thermal {
2443 polling-delay-passive = <0>;
2444 polling-delay = <0>;
2445
2446 thermal-sensors = <&tsens1 10>;
2447
2448 trips {
2449 video_alert0: trip-point0 {
2450 temperature = <90000>;
2451 hysteresis = <2000>;
2452 type = "passive";
2453 };
2454
2455 video_alert1: trip-point1 {
2456 temperature = <95000>;
2457 hysteresis = <2000>;
2458 type = "passive";
2459 };
2460
2461 video_crit: video-crit {
2462 temperature = <110000>;
2463 hysteresis = <1000>;
2464 type = "critical";
2465 };
2466 };
2467 };
2468 };
2469
2470 timer {
2471 compatible = "arm,armv8-timer";
2472 interrupts = <GIC_PPI 1 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>,
2473 <GIC_PPI 2 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>,
2474 <GIC_PPI 3 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>,
2475 <GIC_PPI 0 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>;
2476 };
2477};