blob: 839c6035124034c71c6c4926a8ffe9911ce387e7 [file] [log] [blame]
Caleb Connolly9a44aac2023-10-03 12:39:33 +01001// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
2/*
3 * Copyright (c) 2021, Iskren Chernev <iskren.chernev@gmail.com>
4 */
5
6#include <dt-bindings/clock/qcom,gcc-sm6115.h>
7#include <dt-bindings/clock/qcom,sm6115-dispcc.h>
8#include <dt-bindings/clock/qcom,sm6115-gpucc.h>
9#include <dt-bindings/clock/qcom,rpmcc.h>
10#include <dt-bindings/dma/qcom-gpi.h>
11#include <dt-bindings/firmware/qcom,scm.h>
12#include <dt-bindings/gpio/gpio.h>
13#include <dt-bindings/interrupt-controller/arm-gic.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: xo-board {
26 compatible = "fixed-clock";
27 #clock-cells = <0>;
28 };
29
30 sleep_clk: sleep-clk {
31 compatible = "fixed-clock";
32 #clock-cells = <0>;
33 };
34 };
35
36 cpus {
37 #address-cells = <2>;
38 #size-cells = <0>;
39
40 CPU0: cpu@0 {
41 device_type = "cpu";
42 compatible = "qcom,kryo260";
43 reg = <0x0 0x0>;
44 clocks = <&cpufreq_hw 0>;
45 capacity-dmips-mhz = <1024>;
46 dynamic-power-coefficient = <100>;
47 enable-method = "psci";
48 next-level-cache = <&L2_0>;
49 qcom,freq-domain = <&cpufreq_hw 0>;
50 power-domains = <&CPU_PD0>;
51 power-domain-names = "psci";
52 L2_0: l2-cache {
53 compatible = "cache";
54 cache-level = <2>;
55 cache-unified;
56 };
57 };
58
59 CPU1: cpu@1 {
60 device_type = "cpu";
61 compatible = "qcom,kryo260";
62 reg = <0x0 0x1>;
63 clocks = <&cpufreq_hw 0>;
64 capacity-dmips-mhz = <1024>;
65 dynamic-power-coefficient = <100>;
66 enable-method = "psci";
67 next-level-cache = <&L2_0>;
68 qcom,freq-domain = <&cpufreq_hw 0>;
69 power-domains = <&CPU_PD1>;
70 power-domain-names = "psci";
71 };
72
73 CPU2: cpu@2 {
74 device_type = "cpu";
75 compatible = "qcom,kryo260";
76 reg = <0x0 0x2>;
77 clocks = <&cpufreq_hw 0>;
78 capacity-dmips-mhz = <1024>;
79 dynamic-power-coefficient = <100>;
80 enable-method = "psci";
81 next-level-cache = <&L2_0>;
82 qcom,freq-domain = <&cpufreq_hw 0>;
83 power-domains = <&CPU_PD2>;
84 power-domain-names = "psci";
85 };
86
87 CPU3: cpu@3 {
88 device_type = "cpu";
89 compatible = "qcom,kryo260";
90 reg = <0x0 0x3>;
91 clocks = <&cpufreq_hw 0>;
92 capacity-dmips-mhz = <1024>;
93 dynamic-power-coefficient = <100>;
94 enable-method = "psci";
95 next-level-cache = <&L2_0>;
96 qcom,freq-domain = <&cpufreq_hw 0>;
97 power-domains = <&CPU_PD3>;
98 power-domain-names = "psci";
99 };
100
101 CPU4: cpu@100 {
102 device_type = "cpu";
103 compatible = "qcom,kryo260";
104 reg = <0x0 0x100>;
105 clocks = <&cpufreq_hw 1>;
106 enable-method = "psci";
107 capacity-dmips-mhz = <1638>;
108 dynamic-power-coefficient = <282>;
109 next-level-cache = <&L2_1>;
110 qcom,freq-domain = <&cpufreq_hw 1>;
111 power-domains = <&CPU_PD4>;
112 power-domain-names = "psci";
113 L2_1: l2-cache {
114 compatible = "cache";
115 cache-level = <2>;
116 cache-unified;
117 };
118 };
119
120 CPU5: cpu@101 {
121 device_type = "cpu";
122 compatible = "qcom,kryo260";
123 reg = <0x0 0x101>;
124 clocks = <&cpufreq_hw 1>;
125 capacity-dmips-mhz = <1638>;
126 dynamic-power-coefficient = <282>;
127 enable-method = "psci";
128 next-level-cache = <&L2_1>;
129 qcom,freq-domain = <&cpufreq_hw 1>;
130 power-domains = <&CPU_PD5>;
131 power-domain-names = "psci";
132 };
133
134 CPU6: cpu@102 {
135 device_type = "cpu";
136 compatible = "qcom,kryo260";
137 reg = <0x0 0x102>;
138 clocks = <&cpufreq_hw 1>;
139 capacity-dmips-mhz = <1638>;
140 dynamic-power-coefficient = <282>;
141 enable-method = "psci";
142 next-level-cache = <&L2_1>;
143 qcom,freq-domain = <&cpufreq_hw 1>;
144 power-domains = <&CPU_PD6>;
145 power-domain-names = "psci";
146 };
147
148 CPU7: cpu@103 {
149 device_type = "cpu";
150 compatible = "qcom,kryo260";
151 reg = <0x0 0x103>;
152 clocks = <&cpufreq_hw 1>;
153 capacity-dmips-mhz = <1638>;
154 dynamic-power-coefficient = <282>;
155 enable-method = "psci";
156 next-level-cache = <&L2_1>;
157 qcom,freq-domain = <&cpufreq_hw 1>;
158 power-domains = <&CPU_PD7>;
159 power-domain-names = "psci";
160 };
161
162 cpu-map {
163 cluster0 {
164 core0 {
165 cpu = <&CPU0>;
166 };
167
168 core1 {
169 cpu = <&CPU1>;
170 };
171
172 core2 {
173 cpu = <&CPU2>;
174 };
175
176 core3 {
177 cpu = <&CPU3>;
178 };
179 };
180
181 cluster1 {
182 core0 {
183 cpu = <&CPU4>;
184 };
185
186 core1 {
187 cpu = <&CPU5>;
188 };
189
190 core2 {
191 cpu = <&CPU6>;
192 };
193
194 core3 {
195 cpu = <&CPU7>;
196 };
197 };
198 };
199
200 idle-states {
201 entry-method = "psci";
202
203 LITTLE_CPU_SLEEP_0: cpu-sleep-0-0 {
204 compatible = "arm,idle-state";
205 idle-state-name = "silver-rail-power-collapse";
206 arm,psci-suspend-param = <0x40000003>;
207 entry-latency-us = <290>;
208 exit-latency-us = <376>;
209 min-residency-us = <1182>;
210 local-timer-stop;
211 };
212
213 BIG_CPU_SLEEP_0: cpu-sleep-1-0 {
214 compatible = "arm,idle-state";
215 idle-state-name = "gold-rail-power-collapse";
216 arm,psci-suspend-param = <0x40000003>;
217 entry-latency-us = <297>;
218 exit-latency-us = <324>;
219 min-residency-us = <1110>;
220 local-timer-stop;
221 };
222 };
223
224 domain-idle-states {
225 CLUSTER_0_SLEEP_0: cluster-sleep-0-0 {
226 /* GDHS */
227 compatible = "domain-idle-state";
228 arm,psci-suspend-param = <0x40000022>;
229 entry-latency-us = <360>;
230 exit-latency-us = <421>;
231 min-residency-us = <782>;
232 };
233
234 CLUSTER_0_SLEEP_1: cluster-sleep-0-1 {
235 /* Power Collapse */
236 compatible = "domain-idle-state";
237 arm,psci-suspend-param = <0x41000044>;
238 entry-latency-us = <800>;
239 exit-latency-us = <2118>;
240 min-residency-us = <7376>;
241 };
242
243 CLUSTER_1_SLEEP_0: cluster-sleep-1-0 {
244 /* GDHS */
245 compatible = "domain-idle-state";
246 arm,psci-suspend-param = <0x40000042>;
247 entry-latency-us = <314>;
248 exit-latency-us = <345>;
249 min-residency-us = <660>;
250 };
251
252 CLUSTER_1_SLEEP_1: cluster-sleep-1-1 {
253 /* Power Collapse */
254 compatible = "domain-idle-state";
255 arm,psci-suspend-param = <0x41000044>;
256 entry-latency-us = <640>;
257 exit-latency-us = <1654>;
258 min-residency-us = <8094>;
259 };
260 };
261 };
262
263 firmware {
264 scm: scm {
265 compatible = "qcom,scm-sm6115", "qcom,scm";
266 #reset-cells = <1>;
267 };
268 };
269
270 memory@80000000 {
271 device_type = "memory";
272 /* We expect the bootloader to fill in the size */
273 reg = <0 0x80000000 0 0>;
274 };
275
276 pmu {
277 compatible = "arm,armv8-pmuv3";
278 interrupts = <GIC_PPI 6 IRQ_TYPE_LEVEL_HIGH>;
279 };
280
281 psci {
282 compatible = "arm,psci-1.0";
283 method = "smc";
284
285 CPU_PD0: power-domain-cpu0 {
286 #power-domain-cells = <0>;
287 power-domains = <&CLUSTER_0_PD>;
288 domain-idle-states = <&LITTLE_CPU_SLEEP_0>;
289 };
290
291 CPU_PD1: power-domain-cpu1 {
292 #power-domain-cells = <0>;
293 power-domains = <&CLUSTER_0_PD>;
294 domain-idle-states = <&LITTLE_CPU_SLEEP_0>;
295 };
296
297 CPU_PD2: power-domain-cpu2 {
298 #power-domain-cells = <0>;
299 power-domains = <&CLUSTER_0_PD>;
300 domain-idle-states = <&LITTLE_CPU_SLEEP_0>;
301 };
302
303 CPU_PD3: power-domain-cpu3 {
304 #power-domain-cells = <0>;
305 power-domains = <&CLUSTER_0_PD>;
306 domain-idle-states = <&LITTLE_CPU_SLEEP_0>;
307 };
308
309 CPU_PD4: power-domain-cpu4 {
310 #power-domain-cells = <0>;
311 power-domains = <&CLUSTER_1_PD>;
312 domain-idle-states = <&BIG_CPU_SLEEP_0>;
313 };
314
315 CPU_PD5: power-domain-cpu5 {
316 #power-domain-cells = <0>;
317 power-domains = <&CLUSTER_1_PD>;
318 domain-idle-states = <&BIG_CPU_SLEEP_0>;
319 };
320
321 CPU_PD6: power-domain-cpu6 {
322 #power-domain-cells = <0>;
323 power-domains = <&CLUSTER_1_PD>;
324 domain-idle-states = <&BIG_CPU_SLEEP_0>;
325 };
326
327 CPU_PD7: power-domain-cpu7 {
328 #power-domain-cells = <0>;
329 power-domains = <&CLUSTER_1_PD>;
330 domain-idle-states = <&BIG_CPU_SLEEP_0>;
331 };
332
333 CLUSTER_0_PD: power-domain-cpu-cluster0 {
334 #power-domain-cells = <0>;
335 domain-idle-states = <&CLUSTER_0_SLEEP_0>, <&CLUSTER_0_SLEEP_1>;
336 };
337
338 CLUSTER_1_PD: power-domain-cpu-cluster1 {
339 #power-domain-cells = <0>;
340 domain-idle-states = <&CLUSTER_1_SLEEP_0>, <&CLUSTER_1_SLEEP_1>;
341 };
342 };
343
344 rpm: remoteproc {
345 compatible = "qcom,sm6115-rpm-proc", "qcom,rpm-proc";
346
347 glink-edge {
348 compatible = "qcom,glink-rpm";
349
350 interrupts = <GIC_SPI 194 IRQ_TYPE_EDGE_RISING>;
351 qcom,rpm-msg-ram = <&rpm_msg_ram>;
352 mboxes = <&apcs_glb 0>;
353
354 rpm_requests: rpm-requests {
355 compatible = "qcom,rpm-sm6115";
356 qcom,glink-channels = "rpm_requests";
357
358 rpmcc: clock-controller {
359 compatible = "qcom,rpmcc-sm6115", "qcom,rpmcc";
360 clocks = <&xo_board>;
361 clock-names = "xo";
362 #clock-cells = <1>;
363 };
364
365 rpmpd: power-controller {
366 compatible = "qcom,sm6115-rpmpd";
367 #power-domain-cells = <1>;
368 operating-points-v2 = <&rpmpd_opp_table>;
369
370 rpmpd_opp_table: opp-table {
371 compatible = "operating-points-v2";
372
373 rpmpd_opp_min_svs: opp1 {
374 opp-level = <RPM_SMD_LEVEL_MIN_SVS>;
375 };
376
377 rpmpd_opp_low_svs: opp2 {
378 opp-level = <RPM_SMD_LEVEL_LOW_SVS>;
379 };
380
381 rpmpd_opp_svs: opp3 {
382 opp-level = <RPM_SMD_LEVEL_SVS>;
383 };
384
385 rpmpd_opp_svs_plus: opp4 {
386 opp-level = <RPM_SMD_LEVEL_SVS_PLUS>;
387 };
388
389 rpmpd_opp_nom: opp5 {
390 opp-level = <RPM_SMD_LEVEL_NOM>;
391 };
392
393 rpmpd_opp_nom_plus: opp6 {
394 opp-level = <RPM_SMD_LEVEL_NOM_PLUS>;
395 };
396
397 rpmpd_opp_turbo: opp7 {
398 opp-level = <RPM_SMD_LEVEL_TURBO>;
399 };
400
401 rpmpd_opp_turbo_plus: opp8 {
402 opp-level = <RPM_SMD_LEVEL_TURBO_NO_CPR>;
403 };
404 };
405 };
406 };
407 };
408 };
409
410 reserved_memory: reserved-memory {
411 #address-cells = <2>;
412 #size-cells = <2>;
413 ranges;
414
415 hyp_mem: memory@45700000 {
416 reg = <0x0 0x45700000 0x0 0x600000>;
417 no-map;
418 };
419
420 xbl_aop_mem: memory@45e00000 {
421 reg = <0x0 0x45e00000 0x0 0x140000>;
422 no-map;
423 };
424
425 sec_apps_mem: memory@45fff000 {
426 reg = <0x0 0x45fff000 0x0 0x1000>;
427 no-map;
428 };
429
430 smem_mem: memory@46000000 {
431 compatible = "qcom,smem";
432 reg = <0x0 0x46000000 0x0 0x200000>;
433 no-map;
434
435 hwlocks = <&tcsr_mutex 3>;
436 qcom,rpm-msg-ram = <&rpm_msg_ram>;
437 };
438
439 cdsp_sec_mem: memory@46200000 {
440 reg = <0x0 0x46200000 0x0 0x1e00000>;
441 no-map;
442 };
443
444 pil_modem_mem: memory@4ab00000 {
445 reg = <0x0 0x4ab00000 0x0 0x6900000>;
446 no-map;
447 };
448
449 pil_video_mem: memory@51400000 {
450 reg = <0x0 0x51400000 0x0 0x500000>;
451 no-map;
452 };
453
454 wlan_msa_mem: memory@51900000 {
455 reg = <0x0 0x51900000 0x0 0x100000>;
456 no-map;
457 };
458
459 pil_cdsp_mem: memory@51a00000 {
460 reg = <0x0 0x51a00000 0x0 0x1e00000>;
461 no-map;
462 };
463
464 pil_adsp_mem: memory@53800000 {
465 reg = <0x0 0x53800000 0x0 0x2800000>;
466 no-map;
467 };
468
469 pil_ipa_fw_mem: memory@56100000 {
470 reg = <0x0 0x56100000 0x0 0x10000>;
471 no-map;
472 };
473
474 pil_ipa_gsi_mem: memory@56110000 {
475 reg = <0x0 0x56110000 0x0 0x5000>;
476 no-map;
477 };
478
479 pil_gpu_mem: memory@56115000 {
480 reg = <0x0 0x56115000 0x0 0x2000>;
481 no-map;
482 };
483
484 cont_splash_memory: memory@5c000000 {
485 reg = <0x0 0x5c000000 0x0 0x00f00000>;
486 no-map;
487 };
488
489 dfps_data_memory: memory@5cf00000 {
490 reg = <0x0 0x5cf00000 0x0 0x0100000>;
491 no-map;
492 };
493
494 removed_mem: memory@60000000 {
495 reg = <0x0 0x60000000 0x0 0x3900000>;
496 no-map;
497 };
498
499 rmtfs_mem: memory@89b01000 {
500 compatible = "qcom,rmtfs-mem";
501 reg = <0x0 0x89b01000 0x0 0x200000>;
502 no-map;
503
504 qcom,client-id = <1>;
505 qcom,vmid = <QCOM_SCM_VMID_MSS_MSA QCOM_SCM_VMID_NAV>;
506 };
507 };
508
509 smp2p-adsp {
510 compatible = "qcom,smp2p";
511 qcom,smem = <443>, <429>;
512
513 interrupts = <GIC_SPI 279 IRQ_TYPE_EDGE_RISING>;
514
515 mboxes = <&apcs_glb 10>;
516
517 qcom,local-pid = <0>;
518 qcom,remote-pid = <2>;
519
520 adsp_smp2p_out: master-kernel {
521 qcom,entry-name = "master-kernel";
522 #qcom,smem-state-cells = <1>;
523 };
524
525 adsp_smp2p_in: slave-kernel {
526 qcom,entry-name = "slave-kernel";
527
528 interrupt-controller;
529 #interrupt-cells = <2>;
530 };
531 };
532
533 smp2p-cdsp {
534 compatible = "qcom,smp2p";
535 qcom,smem = <94>, <432>;
536
537 interrupts = <GIC_SPI 263 IRQ_TYPE_EDGE_RISING>;
538
539 mboxes = <&apcs_glb 30>;
540
541 qcom,local-pid = <0>;
542 qcom,remote-pid = <5>;
543
544 cdsp_smp2p_out: master-kernel {
545 qcom,entry-name = "master-kernel";
546 #qcom,smem-state-cells = <1>;
547 };
548
549 cdsp_smp2p_in: slave-kernel {
550 qcom,entry-name = "slave-kernel";
551
552 interrupt-controller;
553 #interrupt-cells = <2>;
554 };
555 };
556
557 smp2p-mpss {
558 compatible = "qcom,smp2p";
559 qcom,smem = <435>, <428>;
560
561 interrupts = <GIC_SPI 70 IRQ_TYPE_EDGE_RISING>;
562
563 mboxes = <&apcs_glb 14>;
564
565 qcom,local-pid = <0>;
566 qcom,remote-pid = <1>;
567
568 modem_smp2p_out: master-kernel {
569 qcom,entry-name = "master-kernel";
570 #qcom,smem-state-cells = <1>;
571 };
572
573 modem_smp2p_in: slave-kernel {
574 qcom,entry-name = "slave-kernel";
575
576 interrupt-controller;
577 #interrupt-cells = <2>;
578 };
579 };
580
581 soc: soc@0 {
582 compatible = "simple-bus";
583 #address-cells = <2>;
584 #size-cells = <2>;
585 ranges = <0 0 0 0 0x10 0>;
586 dma-ranges = <0 0 0 0 0x10 0>;
587
588 tcsr_mutex: hwlock@340000 {
589 compatible = "qcom,tcsr-mutex";
590 reg = <0x0 0x00340000 0x0 0x20000>;
591 #hwlock-cells = <1>;
592 };
593
594 tlmm: pinctrl@500000 {
595 compatible = "qcom,sm6115-tlmm";
596 reg = <0x0 0x00500000 0x0 0x400000>,
597 <0x0 0x00900000 0x0 0x400000>,
598 <0x0 0x00d00000 0x0 0x400000>;
599 reg-names = "west", "south", "east";
600 interrupts = <GIC_SPI 227 IRQ_TYPE_LEVEL_HIGH>;
601 gpio-controller;
602 gpio-ranges = <&tlmm 0 0 114>; /* GPIOs + ufs_reset */
603 #gpio-cells = <2>;
604 interrupt-controller;
605 #interrupt-cells = <2>;
606
607 qup_i2c0_default: qup-i2c0-default-state {
608 pins = "gpio0", "gpio1";
609 function = "qup0";
610 drive-strength = <2>;
611 bias-pull-up;
612 };
613
614 qup_i2c1_default: qup-i2c1-default-state {
615 pins = "gpio4", "gpio5";
616 function = "qup1";
617 drive-strength = <2>;
618 bias-pull-up;
619 };
620
621 qup_i2c2_default: qup-i2c2-default-state {
622 pins = "gpio6", "gpio7";
623 function = "qup2";
624 drive-strength = <2>;
625 bias-pull-up;
626 };
627
628 qup_i2c3_default: qup-i2c3-default-state {
629 pins = "gpio8", "gpio9";
630 function = "qup3";
631 drive-strength = <2>;
632 bias-pull-up;
633 };
634
635 qup_i2c4_default: qup-i2c4-default-state {
636 pins = "gpio12", "gpio13";
637 function = "qup4";
638 drive-strength = <2>;
639 bias-pull-up;
640 };
641
642 qup_i2c5_default: qup-i2c5-default-state {
643 pins = "gpio14", "gpio15";
644 function = "qup5";
645 drive-strength = <2>;
646 bias-pull-up;
647 };
648
649 qup_spi0_default: qup-spi0-default-state {
650 pins = "gpio0", "gpio1","gpio2", "gpio3";
651 function = "qup0";
652 drive-strength = <2>;
653 bias-pull-up;
654 };
655
656 qup_spi1_default: qup-spi1-default-state {
657 pins = "gpio4", "gpio5", "gpio69", "gpio70";
658 function = "qup1";
659 drive-strength = <2>;
660 bias-pull-up;
661 };
662
663 qup_spi2_default: qup-spi2-default-state {
664 pins = "gpio6", "gpio7", "gpio71", "gpio80";
665 function = "qup2";
666 drive-strength = <2>;
667 bias-pull-up;
668 };
669
670 qup_spi3_default: qup-spi3-default-state {
671 pins = "gpio8", "gpio9", "gpio10", "gpio11";
672 function = "qup3";
673 drive-strength = <2>;
674 bias-pull-up;
675 };
676
677 qup_spi4_default: qup-spi4-default-state {
678 pins = "gpio12", "gpio13", "gpio96", "gpio97";
679 function = "qup4";
680 drive-strength = <2>;
681 bias-pull-up;
682 };
683
684 qup_spi5_default: qup-spi5-default-state {
685 pins = "gpio14", "gpio15", "gpio16", "gpio17";
686 function = "qup5";
687 drive-strength = <2>;
688 bias-pull-up;
689 };
690
691 sdc1_state_on: sdc1-on-state {
692 clk-pins {
693 pins = "sdc1_clk";
694 bias-disable;
695 drive-strength = <16>;
696 };
697
698 cmd-pins {
699 pins = "sdc1_cmd";
700 bias-pull-up;
701 drive-strength = <10>;
702 };
703
704 data-pins {
705 pins = "sdc1_data";
706 bias-pull-up;
707 drive-strength = <10>;
708 };
709
710 rclk-pins {
711 pins = "sdc1_rclk";
712 bias-pull-down;
713 };
714 };
715
716 sdc1_state_off: sdc1-off-state {
717 clk-pins {
718 pins = "sdc1_clk";
719 bias-disable;
720 drive-strength = <2>;
721 };
722
723 cmd-pins {
724 pins = "sdc1_cmd";
725 bias-pull-up;
726 drive-strength = <2>;
727 };
728
729 data-pins {
730 pins = "sdc1_data";
731 bias-pull-up;
732 drive-strength = <2>;
733 };
734
735 rclk-pins {
736 pins = "sdc1_rclk";
737 bias-pull-down;
738 };
739 };
740
741 sdc2_state_on: sdc2-on-state {
742 clk-pins {
743 pins = "sdc2_clk";
744 bias-disable;
745 drive-strength = <16>;
746 };
747
748 cmd-pins {
749 pins = "sdc2_cmd";
750 bias-pull-up;
751 drive-strength = <10>;
752 };
753
754 data-pins {
755 pins = "sdc2_data";
756 bias-pull-up;
757 drive-strength = <10>;
758 };
759 };
760
761 sdc2_state_off: sdc2-off-state {
762 clk-pins {
763 pins = "sdc2_clk";
764 bias-disable;
765 drive-strength = <2>;
766 };
767
768 cmd-pins {
769 pins = "sdc2_cmd";
770 bias-pull-up;
771 drive-strength = <2>;
772 };
773
774 data-pins {
775 pins = "sdc2_data";
776 bias-pull-up;
777 drive-strength = <2>;
778 };
779 };
780 };
781
782 gcc: clock-controller@1400000 {
783 compatible = "qcom,gcc-sm6115";
784 reg = <0x0 0x01400000 0x0 0x1f0000>;
785 clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>, <&sleep_clk>;
786 clock-names = "bi_tcxo", "sleep_clk";
787 #clock-cells = <1>;
788 #reset-cells = <1>;
789 #power-domain-cells = <1>;
790 };
791
792 usb_hsphy: phy@1613000 {
793 compatible = "qcom,sm6115-qusb2-phy";
794 reg = <0x0 0x01613000 0x0 0x180>;
795 #phy-cells = <0>;
796
797 clocks = <&gcc GCC_AHB2PHY_USB_CLK>, <&rpmcc RPM_SMD_XO_CLK_SRC>;
798 clock-names = "cfg_ahb", "ref";
799
800 resets = <&gcc GCC_QUSB2PHY_PRIM_BCR>;
801 nvmem-cells = <&qusb2_hstx_trim>;
802
803 status = "disabled";
804 };
805
806 cryptobam: dma-controller@1b04000 {
807 compatible = "qcom,bam-v1.7.4", "qcom,bam-v1.7.0";
808 reg = <0x0 0x01b04000 0x0 0x24000>;
809 interrupts = <GIC_SPI 247 IRQ_TYPE_LEVEL_HIGH>;
810 clocks = <&rpmcc RPM_SMD_CE1_CLK>;
811 clock-names = "bam_clk";
812 #dma-cells = <1>;
813 qcom,ee = <0>;
814 qcom,controlled-remotely;
815 iommus = <&apps_smmu 0x92 0>,
816 <&apps_smmu 0x94 0x11>,
817 <&apps_smmu 0x96 0x11>,
818 <&apps_smmu 0x98 0x1>,
819 <&apps_smmu 0x9F 0>;
820 };
821
822 crypto: crypto@1b3a000 {
823 compatible = "qcom,sm6115-qce", "qcom,ipq4019-qce", "qcom,qce";
824 reg = <0x0 0x01b3a000 0x0 0x6000>;
825 clocks = <&rpmcc RPM_SMD_CE1_CLK>;
826 clock-names = "core";
827
828 dmas = <&cryptobam 6>, <&cryptobam 7>;
829 dma-names = "rx", "tx";
830 iommus = <&apps_smmu 0x92 0>,
831 <&apps_smmu 0x94 0x11>,
832 <&apps_smmu 0x96 0x11>,
833 <&apps_smmu 0x98 0x1>,
834 <&apps_smmu 0x9F 0>;
835 };
836
837 usb_qmpphy: phy@1615000 {
838 compatible = "qcom,sm6115-qmp-usb3-phy";
839 reg = <0x0 0x01615000 0x0 0x1000>;
840
841 clocks = <&gcc GCC_AHB2PHY_USB_CLK>,
842 <&gcc GCC_USB3_PRIM_CLKREF_CLK>,
843 <&gcc GCC_USB3_PRIM_PHY_COM_AUX_CLK>,
844 <&gcc GCC_USB3_PRIM_PHY_PIPE_CLK>;
845 clock-names = "cfg_ahb",
846 "ref",
847 "com_aux",
848 "pipe";
849
850 resets = <&gcc GCC_USB3_PHY_PRIM_SP0_BCR>,
851 <&gcc GCC_USB3PHY_PHY_PRIM_SP0_BCR>;
852 reset-names = "phy", "phy_phy";
853
854 #clock-cells = <0>;
855 clock-output-names = "usb3_phy_pipe_clk_src";
856
857 #phy-cells = <0>;
858
859 status = "disabled";
860 };
861
862 qfprom@1b40000 {
863 compatible = "qcom,sm6115-qfprom", "qcom,qfprom";
864 reg = <0x0 0x01b40000 0x0 0x7000>;
865 #address-cells = <1>;
866 #size-cells = <1>;
867
868 qusb2_hstx_trim: hstx-trim@25b {
869 reg = <0x25b 0x1>;
870 bits = <1 4>;
871 };
872
873 gpu_speed_bin: gpu-speed-bin@6006 {
874 reg = <0x6006 0x2>;
875 bits = <5 8>;
876 };
877 };
878
879 rng: rng@1b53000 {
880 compatible = "qcom,prng-ee";
881 reg = <0x0 0x01b53000 0x0 0x1000>;
882 clocks = <&gcc GCC_PRNG_AHB_CLK>;
883 clock-names = "core";
884 };
885
886 spmi_bus: spmi@1c40000 {
887 compatible = "qcom,spmi-pmic-arb";
888 reg = <0x0 0x01c40000 0x0 0x1100>,
889 <0x0 0x01e00000 0x0 0x2000000>,
890 <0x0 0x03e00000 0x0 0x100000>,
891 <0x0 0x03f00000 0x0 0xa0000>,
892 <0x0 0x01c0a000 0x0 0x26000>;
893 reg-names = "core", "chnls", "obsrvr", "intr", "cnfg";
894 interrupt-names = "periph_irq";
895 interrupts = <GIC_SPI 183 IRQ_TYPE_LEVEL_HIGH>;
896 qcom,ee = <0>;
897 qcom,channel = <0>;
898 #address-cells = <2>;
899 #size-cells = <0>;
900 interrupt-controller;
901 #interrupt-cells = <4>;
902 };
903
904 tsens0: thermal-sensor@4411000 {
905 compatible = "qcom,sm6115-tsens", "qcom,tsens-v2";
906 reg = <0x0 0x04411000 0x0 0x1ff>, /* TM */
907 <0x0 0x04410000 0x0 0x8>; /* SROT */
908 #qcom,sensors = <16>;
909 interrupts = <GIC_SPI 275 IRQ_TYPE_LEVEL_HIGH>,
910 <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>;
911 interrupt-names = "uplow", "critical";
912 #thermal-sensor-cells = <1>;
913 };
914
915 rpm_msg_ram: sram@45f0000 {
916 compatible = "qcom,rpm-msg-ram";
917 reg = <0x0 0x045f0000 0x0 0x7000>;
918 };
919
920 sram@4690000 {
921 compatible = "qcom,rpm-stats";
922 reg = <0x0 0x04690000 0x0 0x10000>;
923 };
924
925 sdhc_1: mmc@4744000 {
926 compatible = "qcom,sm6115-sdhci", "qcom,sdhci-msm-v5";
927 reg = <0x0 0x04744000 0x0 0x1000>,
928 <0x0 0x04745000 0x0 0x1000>,
929 <0x0 0x04748000 0x0 0x8000>;
930 reg-names = "hc", "cqhci", "ice";
931
932 interrupts = <GIC_SPI 348 IRQ_TYPE_LEVEL_HIGH>,
933 <GIC_SPI 352 IRQ_TYPE_LEVEL_HIGH>;
934 interrupt-names = "hc_irq", "pwr_irq";
935
936 clocks = <&gcc GCC_SDCC1_AHB_CLK>,
937 <&gcc GCC_SDCC1_APPS_CLK>,
938 <&rpmcc RPM_SMD_XO_CLK_SRC>,
939 <&gcc GCC_SDCC1_ICE_CORE_CLK>;
940 clock-names = "iface", "core", "xo", "ice";
941
942 bus-width = <8>;
943 status = "disabled";
944 };
945
946 sdhc_2: mmc@4784000 {
947 compatible = "qcom,sm6115-sdhci", "qcom,sdhci-msm-v5";
948 reg = <0x0 0x04784000 0x0 0x1000>;
949 reg-names = "hc";
950
951 interrupts = <GIC_SPI 350 IRQ_TYPE_LEVEL_HIGH>,
952 <GIC_SPI 353 IRQ_TYPE_LEVEL_HIGH>;
953 interrupt-names = "hc_irq", "pwr_irq";
954
955 clocks = <&gcc GCC_SDCC2_AHB_CLK>,
956 <&gcc GCC_SDCC2_APPS_CLK>,
957 <&rpmcc RPM_SMD_XO_CLK_SRC>;
958 clock-names = "iface", "core", "xo";
959
960 power-domains = <&rpmpd SM6115_VDDCX>;
961 operating-points-v2 = <&sdhc2_opp_table>;
962 iommus = <&apps_smmu 0x00a0 0x0>;
963 resets = <&gcc GCC_SDCC2_BCR>;
964
965 bus-width = <4>;
966 qcom,dll-config = <0x0007642c>;
967 qcom,ddr-config = <0x80040868>;
968 status = "disabled";
969
970 sdhc2_opp_table: opp-table {
971 compatible = "operating-points-v2";
972
973 opp-100000000 {
974 opp-hz = /bits/ 64 <100000000>;
975 required-opps = <&rpmpd_opp_low_svs>;
976 };
977
978 opp-202000000 {
979 opp-hz = /bits/ 64 <202000000>;
980 required-opps = <&rpmpd_opp_nom>;
981 };
982 };
983 };
984
985 ufs_mem_hc: ufs@4804000 {
986 compatible = "qcom,sm6115-ufshc", "qcom,ufshc", "jedec,ufs-2.0";
987 reg = <0x0 0x04804000 0x0 0x3000>, <0x0 0x04810000 0x0 0x8000>;
988 reg-names = "std", "ice";
989 interrupts = <GIC_SPI 356 IRQ_TYPE_LEVEL_HIGH>;
990 phys = <&ufs_mem_phy_lanes>;
991 phy-names = "ufsphy";
992 lanes-per-direction = <1>;
993 #reset-cells = <1>;
994 resets = <&gcc GCC_UFS_PHY_BCR>;
995 reset-names = "rst";
996
997 power-domains = <&gcc GCC_UFS_PHY_GDSC>;
998 iommus = <&apps_smmu 0x100 0>;
999
1000 clocks = <&gcc GCC_UFS_PHY_AXI_CLK>,
1001 <&gcc GCC_SYS_NOC_UFS_PHY_AXI_CLK>,
1002 <&gcc GCC_UFS_PHY_AHB_CLK>,
1003 <&gcc GCC_UFS_PHY_UNIPRO_CORE_CLK>,
1004 <&rpmcc RPM_SMD_XO_CLK_SRC>,
1005 <&gcc GCC_UFS_PHY_TX_SYMBOL_0_CLK>,
1006 <&gcc GCC_UFS_PHY_RX_SYMBOL_0_CLK>,
1007 <&gcc GCC_UFS_PHY_ICE_CORE_CLK>;
1008 clock-names = "core_clk",
1009 "bus_aggr_clk",
1010 "iface_clk",
1011 "core_clk_unipro",
1012 "ref_clk",
1013 "tx_lane0_sync_clk",
1014 "rx_lane0_sync_clk",
1015 "ice_core_clk";
1016
1017 freq-table-hz = <50000000 200000000>,
1018 <0 0>,
1019 <0 0>,
1020 <37500000 150000000>,
1021 <0 0>,
1022 <0 0>,
1023 <0 0>,
1024 <75000000 300000000>;
1025
1026 status = "disabled";
1027 };
1028
1029 ufs_mem_phy: phy@4807000 {
1030 compatible = "qcom,sm6115-qmp-ufs-phy";
1031 reg = <0x0 0x04807000 0x0 0x1c4>;
1032 #address-cells = <2>;
1033 #size-cells = <2>;
1034 ranges;
1035
1036 clocks = <&gcc GCC_UFS_CLKREF_CLK>, <&gcc GCC_UFS_PHY_PHY_AUX_CLK>;
1037 clock-names = "ref", "ref_aux";
1038
1039 resets = <&ufs_mem_hc 0>;
1040 reset-names = "ufsphy";
1041 status = "disabled";
1042
1043 ufs_mem_phy_lanes: phy@4807400 {
1044 reg = <0x0 0x04807400 0x0 0x098>,
1045 <0x0 0x04807600 0x0 0x130>,
1046 <0x0 0x04807c00 0x0 0x16c>;
1047 #phy-cells = <0>;
1048 };
1049 };
1050
1051 gpi_dma0: dma-controller@4a00000 {
1052 compatible = "qcom,sm6115-gpi-dma", "qcom,sm6350-gpi-dma";
1053 reg = <0x0 0x04a00000 0x0 0x60000>;
1054 interrupts = <GIC_SPI 335 IRQ_TYPE_LEVEL_HIGH>,
1055 <GIC_SPI 336 IRQ_TYPE_LEVEL_HIGH>,
1056 <GIC_SPI 337 IRQ_TYPE_LEVEL_HIGH>,
1057 <GIC_SPI 338 IRQ_TYPE_LEVEL_HIGH>,
1058 <GIC_SPI 339 IRQ_TYPE_LEVEL_HIGH>,
1059 <GIC_SPI 340 IRQ_TYPE_LEVEL_HIGH>,
1060 <GIC_SPI 341 IRQ_TYPE_LEVEL_HIGH>,
1061 <GIC_SPI 342 IRQ_TYPE_LEVEL_HIGH>,
1062 <GIC_SPI 343 IRQ_TYPE_LEVEL_HIGH>,
1063 <GIC_SPI 344 IRQ_TYPE_LEVEL_HIGH>;
1064 dma-channels = <10>;
1065 dma-channel-mask = <0xf>;
1066 iommus = <&apps_smmu 0xf6 0x0>;
1067 #dma-cells = <3>;
1068 status = "disabled";
1069 };
1070
1071 qupv3_id_0: geniqup@4ac0000 {
1072 compatible = "qcom,geni-se-qup";
1073 reg = <0x0 0x04ac0000 0x0 0x2000>;
1074 clock-names = "m-ahb", "s-ahb";
1075 clocks = <&gcc GCC_QUPV3_WRAP_0_M_AHB_CLK>,
1076 <&gcc GCC_QUPV3_WRAP_0_S_AHB_CLK>;
1077 #address-cells = <2>;
1078 #size-cells = <2>;
1079 iommus = <&apps_smmu 0xe3 0x0>;
1080 ranges;
1081 status = "disabled";
1082
1083 i2c0: i2c@4a80000 {
1084 compatible = "qcom,geni-i2c";
1085 reg = <0x0 0x04a80000 0x0 0x4000>;
1086 clock-names = "se";
1087 clocks = <&gcc GCC_QUPV3_WRAP0_S0_CLK>;
1088 pinctrl-names = "default";
1089 pinctrl-0 = <&qup_i2c0_default>;
1090 interrupts = <GIC_SPI 327 IRQ_TYPE_LEVEL_HIGH>;
1091 dmas = <&gpi_dma0 0 0 QCOM_GPI_I2C>,
1092 <&gpi_dma0 1 0 QCOM_GPI_I2C>;
1093 dma-names = "tx", "rx";
1094 #address-cells = <1>;
1095 #size-cells = <0>;
1096 status = "disabled";
1097 };
1098
1099 spi0: spi@4a80000 {
1100 compatible = "qcom,geni-spi";
1101 reg = <0x0 0x04a80000 0x0 0x4000>;
1102 clock-names = "se";
1103 clocks = <&gcc GCC_QUPV3_WRAP0_S0_CLK>;
1104 pinctrl-names = "default";
1105 pinctrl-0 = <&qup_spi0_default>;
1106 interrupts = <GIC_SPI 327 IRQ_TYPE_LEVEL_HIGH>;
1107 dmas = <&gpi_dma0 0 0 QCOM_GPI_SPI>,
1108 <&gpi_dma0 1 0 QCOM_GPI_SPI>;
1109 dma-names = "tx", "rx";
1110 #address-cells = <1>;
1111 #size-cells = <0>;
1112 status = "disabled";
1113 };
1114
1115 i2c1: i2c@4a84000 {
1116 compatible = "qcom,geni-i2c";
1117 reg = <0x0 0x04a84000 0x0 0x4000>;
1118 clock-names = "se";
1119 clocks = <&gcc GCC_QUPV3_WRAP0_S1_CLK>;
1120 pinctrl-names = "default";
1121 pinctrl-0 = <&qup_i2c1_default>;
1122 interrupts = <GIC_SPI 328 IRQ_TYPE_LEVEL_HIGH>;
1123 dmas = <&gpi_dma0 0 1 QCOM_GPI_I2C>,
1124 <&gpi_dma0 1 1 QCOM_GPI_I2C>;
1125 dma-names = "tx", "rx";
1126 #address-cells = <1>;
1127 #size-cells = <0>;
1128 status = "disabled";
1129 };
1130
1131 spi1: spi@4a84000 {
1132 compatible = "qcom,geni-spi";
1133 reg = <0x0 0x04a84000 0x0 0x4000>;
1134 clock-names = "se";
1135 clocks = <&gcc GCC_QUPV3_WRAP0_S1_CLK>;
1136 pinctrl-names = "default";
1137 pinctrl-0 = <&qup_spi1_default>;
1138 interrupts = <GIC_SPI 328 IRQ_TYPE_LEVEL_HIGH>;
1139 dmas = <&gpi_dma0 0 1 QCOM_GPI_SPI>,
1140 <&gpi_dma0 1 1 QCOM_GPI_SPI>;
1141 dma-names = "tx", "rx";
1142 #address-cells = <1>;
1143 #size-cells = <0>;
1144 status = "disabled";
1145 };
1146
1147 i2c2: i2c@4a88000 {
1148 compatible = "qcom,geni-i2c";
1149 reg = <0x0 0x04a88000 0x0 0x4000>;
1150 clock-names = "se";
1151 clocks = <&gcc GCC_QUPV3_WRAP0_S2_CLK>;
1152 pinctrl-names = "default";
1153 pinctrl-0 = <&qup_i2c2_default>;
1154 interrupts = <GIC_SPI 329 IRQ_TYPE_LEVEL_HIGH>;
1155 dmas = <&gpi_dma0 0 2 QCOM_GPI_I2C>,
1156 <&gpi_dma0 1 2 QCOM_GPI_I2C>;
1157 dma-names = "tx", "rx";
1158 #address-cells = <1>;
1159 #size-cells = <0>;
1160 status = "disabled";
1161 };
1162
1163 spi2: spi@4a88000 {
1164 compatible = "qcom,geni-spi";
1165 reg = <0x0 0x04a88000 0x0 0x4000>;
1166 clock-names = "se";
1167 clocks = <&gcc GCC_QUPV3_WRAP0_S2_CLK>;
1168 pinctrl-names = "default";
1169 pinctrl-0 = <&qup_spi2_default>;
1170 interrupts = <GIC_SPI 329 IRQ_TYPE_LEVEL_HIGH>;
1171 dmas = <&gpi_dma0 0 2 QCOM_GPI_SPI>,
1172 <&gpi_dma0 1 2 QCOM_GPI_SPI>;
1173 dma-names = "tx", "rx";
1174 #address-cells = <1>;
1175 #size-cells = <0>;
1176 status = "disabled";
1177 };
1178
1179 i2c3: i2c@4a8c000 {
1180 compatible = "qcom,geni-i2c";
1181 reg = <0x0 0x04a8c000 0x0 0x4000>;
1182 clock-names = "se";
1183 clocks = <&gcc GCC_QUPV3_WRAP0_S3_CLK>;
1184 pinctrl-names = "default";
1185 pinctrl-0 = <&qup_i2c3_default>;
1186 interrupts = <GIC_SPI 330 IRQ_TYPE_LEVEL_HIGH>;
1187 dmas = <&gpi_dma0 0 3 QCOM_GPI_I2C>,
1188 <&gpi_dma0 1 3 QCOM_GPI_I2C>;
1189 dma-names = "tx", "rx";
1190 #address-cells = <1>;
1191 #size-cells = <0>;
1192 status = "disabled";
1193 };
1194
1195 spi3: spi@4a8c000 {
1196 compatible = "qcom,geni-spi";
1197 reg = <0x0 0x04a8c000 0x0 0x4000>;
1198 clock-names = "se";
1199 clocks = <&gcc GCC_QUPV3_WRAP0_S3_CLK>;
1200 pinctrl-names = "default";
1201 pinctrl-0 = <&qup_spi3_default>;
1202 interrupts = <GIC_SPI 330 IRQ_TYPE_LEVEL_HIGH>;
1203 dmas = <&gpi_dma0 0 3 QCOM_GPI_SPI>,
1204 <&gpi_dma0 1 3 QCOM_GPI_SPI>;
1205 dma-names = "tx", "rx";
1206 #address-cells = <1>;
1207 #size-cells = <0>;
1208 status = "disabled";
1209 };
1210
1211 i2c4: i2c@4a90000 {
1212 compatible = "qcom,geni-i2c";
1213 reg = <0x0 0x04a90000 0x0 0x4000>;
1214 clock-names = "se";
1215 clocks = <&gcc GCC_QUPV3_WRAP0_S4_CLK>;
1216 pinctrl-names = "default";
1217 pinctrl-0 = <&qup_i2c4_default>;
1218 interrupts = <GIC_SPI 331 IRQ_TYPE_LEVEL_HIGH>;
1219 dmas = <&gpi_dma0 0 4 QCOM_GPI_I2C>,
1220 <&gpi_dma0 1 4 QCOM_GPI_I2C>;
1221 dma-names = "tx", "rx";
1222 #address-cells = <1>;
1223 #size-cells = <0>;
1224 status = "disabled";
1225 };
1226
1227 spi4: spi@4a90000 {
1228 compatible = "qcom,geni-spi";
1229 reg = <0x0 0x04a90000 0x0 0x4000>;
1230 clock-names = "se";
1231 clocks = <&gcc GCC_QUPV3_WRAP0_S4_CLK>;
1232 pinctrl-names = "default";
1233 pinctrl-0 = <&qup_spi4_default>;
1234 interrupts = <GIC_SPI 331 IRQ_TYPE_LEVEL_HIGH>;
1235 dmas = <&gpi_dma0 0 4 QCOM_GPI_SPI>,
1236 <&gpi_dma0 1 4 QCOM_GPI_SPI>;
1237 dma-names = "tx", "rx";
1238 #address-cells = <1>;
1239 #size-cells = <0>;
1240 status = "disabled";
1241 };
1242
1243 uart4: serial@4a90000 {
1244 compatible = "qcom,geni-debug-uart";
1245 reg = <0x0 0x04a90000 0x0 0x4000>;
1246 clock-names = "se";
1247 clocks = <&gcc GCC_QUPV3_WRAP0_S4_CLK>;
1248 interrupts = <GIC_SPI 331 IRQ_TYPE_LEVEL_HIGH>;
1249 status = "disabled";
1250 };
1251
1252 i2c5: i2c@4a94000 {
1253 compatible = "qcom,geni-i2c";
1254 reg = <0x0 0x04a94000 0x0 0x4000>;
1255 clock-names = "se";
1256 clocks = <&gcc GCC_QUPV3_WRAP0_S5_CLK>;
1257 pinctrl-names = "default";
1258 pinctrl-0 = <&qup_i2c5_default>;
1259 interrupts = <GIC_SPI 332 IRQ_TYPE_LEVEL_HIGH>;
1260 dmas = <&gpi_dma0 0 5 QCOM_GPI_I2C>,
1261 <&gpi_dma0 1 5 QCOM_GPI_I2C>;
1262 dma-names = "tx", "rx";
1263 #address-cells = <1>;
1264 #size-cells = <0>;
1265 status = "disabled";
1266 };
1267
1268 spi5: spi@4a94000 {
1269 compatible = "qcom,geni-spi";
1270 reg = <0x0 0x04a94000 0x0 0x4000>;
1271 clock-names = "se";
1272 clocks = <&gcc GCC_QUPV3_WRAP0_S5_CLK>;
1273 pinctrl-names = "default";
1274 pinctrl-0 = <&qup_spi5_default>;
1275 interrupts = <GIC_SPI 332 IRQ_TYPE_LEVEL_HIGH>;
1276 dmas = <&gpi_dma0 0 5 QCOM_GPI_SPI>,
1277 <&gpi_dma0 1 5 QCOM_GPI_SPI>;
1278 dma-names = "tx", "rx";
1279 #address-cells = <1>;
1280 #size-cells = <0>;
1281 status = "disabled";
1282 };
1283 };
1284
1285 usb: usb@4ef8800 {
1286 compatible = "qcom,sm6115-dwc3", "qcom,dwc3";
1287 reg = <0x0 0x04ef8800 0x0 0x400>;
1288 #address-cells = <2>;
1289 #size-cells = <2>;
1290 ranges;
1291
1292 clocks = <&gcc GCC_CFG_NOC_USB3_PRIM_AXI_CLK>,
1293 <&gcc GCC_USB30_PRIM_MASTER_CLK>,
1294 <&gcc GCC_SYS_NOC_USB3_PRIM_AXI_CLK>,
1295 <&gcc GCC_USB30_PRIM_SLEEP_CLK>,
1296 <&gcc GCC_USB30_PRIM_MOCK_UTMI_CLK>,
1297 <&gcc GCC_USB3_PRIM_CLKREF_CLK>;
1298 clock-names = "cfg_noc", "core", "iface", "sleep", "mock_utmi", "xo";
1299
1300 assigned-clocks = <&gcc GCC_USB30_PRIM_MOCK_UTMI_CLK>,
1301 <&gcc GCC_USB30_PRIM_MASTER_CLK>;
1302 assigned-clock-rates = <19200000>, <66666667>;
1303
1304 interrupts = <GIC_SPI 260 IRQ_TYPE_LEVEL_HIGH>,
1305 <GIC_SPI 422 IRQ_TYPE_LEVEL_HIGH>;
1306 interrupt-names = "hs_phy_irq", "ss_phy_irq";
1307
1308 resets = <&gcc GCC_USB30_PRIM_BCR>;
1309 power-domains = <&gcc GCC_USB30_PRIM_GDSC>;
1310 qcom,select-utmi-as-pipe-clk;
1311 status = "disabled";
1312
1313 usb_dwc3: usb@4e00000 {
1314 compatible = "snps,dwc3";
1315 reg = <0x0 0x04e00000 0x0 0xcd00>;
1316 interrupts = <GIC_SPI 255 IRQ_TYPE_LEVEL_HIGH>;
1317 phys = <&usb_hsphy>, <&usb_qmpphy>;
1318 phy-names = "usb2-phy", "usb3-phy";
1319 iommus = <&apps_smmu 0x120 0x0>;
1320 snps,dis_u2_susphy_quirk;
1321 snps,dis_enblslpm_quirk;
1322 snps,has-lpm-erratum;
1323 snps,hird-threshold = /bits/ 8 <0x10>;
1324 snps,usb3_lpm_capable;
1325 };
1326 };
1327
1328 gpu: gpu@5900000 {
1329 compatible = "qcom,adreno-610.0", "qcom,adreno";
1330 reg = <0x0 0x05900000 0x0 0x40000>;
1331 reg-names = "kgsl_3d0_reg_memory";
1332
1333 /* There's no (real) GMU, so we have to handle quite a bunch of clocks! */
1334 clocks = <&gpucc GPU_CC_GX_GFX3D_CLK>,
1335 <&gpucc GPU_CC_AHB_CLK>,
1336 <&gcc GCC_BIMC_GPU_AXI_CLK>,
1337 <&gcc GCC_GPU_MEMNOC_GFX_CLK>,
1338 <&gpucc GPU_CC_CX_GMU_CLK>,
1339 <&gpucc GPU_CC_CXO_CLK>;
1340 clock-names = "core",
1341 "iface",
1342 "mem_iface",
1343 "alt_mem_iface",
1344 "gmu",
1345 "xo";
1346
1347 interrupts = <GIC_SPI 177 IRQ_TYPE_LEVEL_HIGH>;
1348
1349 iommus = <&adreno_smmu 0 1>;
1350 operating-points-v2 = <&gpu_opp_table>;
1351 power-domains = <&rpmpd SM6115_VDDCX>;
1352 qcom,gmu = <&gmu_wrapper>;
1353
1354 nvmem-cells = <&gpu_speed_bin>;
1355 nvmem-cell-names = "speed_bin";
1356
1357 status = "disabled";
1358
1359 zap-shader {
1360 memory-region = <&pil_gpu_mem>;
1361 };
1362
1363 gpu_opp_table: opp-table {
1364 compatible = "operating-points-v2";
1365
1366 opp-320000000 {
1367 opp-hz = /bits/ 64 <320000000>;
1368 required-opps = <&rpmpd_opp_low_svs>;
1369 opp-supported-hw = <0x1f>;
1370 };
1371
1372 opp-465000000 {
1373 opp-hz = /bits/ 64 <465000000>;
1374 required-opps = <&rpmpd_opp_svs>;
1375 opp-supported-hw = <0x1f>;
1376 };
1377
1378 opp-600000000 {
1379 opp-hz = /bits/ 64 <600000000>;
1380 required-opps = <&rpmpd_opp_svs_plus>;
1381 opp-supported-hw = <0x1f>;
1382 };
1383
1384 opp-745000000 {
1385 opp-hz = /bits/ 64 <745000000>;
1386 required-opps = <&rpmpd_opp_nom>;
1387 opp-supported-hw = <0xf>;
1388 };
1389
1390 opp-820000000 {
1391 opp-hz = /bits/ 64 <820000000>;
1392 required-opps = <&rpmpd_opp_nom_plus>;
1393 opp-supported-hw = <0x7>;
1394 };
1395
1396 opp-900000000 {
1397 opp-hz = /bits/ 64 <900000000>;
1398 required-opps = <&rpmpd_opp_turbo>;
1399 opp-supported-hw = <0x7>;
1400 };
1401
1402 /* Speed bin 2 can reach 950 Mhz instead of 980 like the rest. */
1403 opp-950000000 {
1404 opp-hz = /bits/ 64 <950000000>;
1405 required-opps = <&rpmpd_opp_turbo_plus>;
1406 opp-supported-hw = <0x4>;
1407 };
1408
1409 opp-980000000 {
1410 opp-hz = /bits/ 64 <980000000>;
1411 required-opps = <&rpmpd_opp_turbo_plus>;
1412 opp-supported-hw = <0x3>;
1413 };
1414 };
1415 };
1416
1417 gmu_wrapper: gmu@596a000 {
1418 compatible = "qcom,adreno-gmu-wrapper";
1419 reg = <0x0 0x0596a000 0x0 0x30000>;
1420 reg-names = "gmu";
1421 power-domains = <&gpucc GPU_CX_GDSC>,
1422 <&gpucc GPU_GX_GDSC>;
1423 power-domain-names = "cx", "gx";
1424 };
1425
1426 gpucc: clock-controller@5990000 {
1427 compatible = "qcom,sm6115-gpucc";
1428 reg = <0x0 0x05990000 0x0 0x9000>;
1429 clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>,
1430 <&gcc GCC_GPU_GPLL0_CLK_SRC>,
1431 <&gcc GCC_GPU_GPLL0_DIV_CLK_SRC>;
1432 #clock-cells = <1>;
1433 #reset-cells = <1>;
1434 #power-domain-cells = <1>;
1435 };
1436
1437 adreno_smmu: iommu@59a0000 {
1438 compatible = "qcom,sm6115-smmu-500", "qcom,adreno-smmu",
1439 "qcom,smmu-500", "arm,mmu-500";
1440 reg = <0x0 0x059a0000 0x0 0x10000>;
1441 interrupts = <GIC_SPI 163 IRQ_TYPE_LEVEL_HIGH>,
1442 <GIC_SPI 167 IRQ_TYPE_LEVEL_HIGH>,
1443 <GIC_SPI 168 IRQ_TYPE_LEVEL_HIGH>,
1444 <GIC_SPI 169 IRQ_TYPE_LEVEL_HIGH>,
1445 <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1446 <GIC_SPI 171 IRQ_TYPE_LEVEL_HIGH>,
1447 <GIC_SPI 172 IRQ_TYPE_LEVEL_HIGH>,
1448 <GIC_SPI 173 IRQ_TYPE_LEVEL_HIGH>,
1449 <GIC_SPI 174 IRQ_TYPE_LEVEL_HIGH>;
1450
1451 clocks = <&gcc GCC_GPU_MEMNOC_GFX_CLK>,
1452 <&gpucc GPU_CC_HLOS1_VOTE_GPU_SMMU_CLK>,
1453 <&gcc GCC_GPU_SNOC_DVM_GFX_CLK>;
1454 clock-names = "mem",
1455 "hlos",
1456 "iface";
1457 power-domains = <&gpucc GPU_CX_GDSC>;
1458
1459 #global-interrupts = <1>;
1460 #iommu-cells = <2>;
1461 };
1462
1463 mdss: display-subsystem@5e00000 {
1464 compatible = "qcom,sm6115-mdss";
1465 reg = <0x0 0x05e00000 0x0 0x1000>;
1466 reg-names = "mdss";
1467
1468 power-domains = <&dispcc MDSS_GDSC>;
1469
1470 clocks = <&gcc GCC_DISP_AHB_CLK>,
1471 <&gcc GCC_DISP_HF_AXI_CLK>,
1472 <&dispcc DISP_CC_MDSS_MDP_CLK>;
1473
1474 interrupts = <GIC_SPI 186 IRQ_TYPE_LEVEL_HIGH>;
1475 interrupt-controller;
1476 #interrupt-cells = <1>;
1477
1478 iommus = <&apps_smmu 0x420 0x2>,
1479 <&apps_smmu 0x421 0x0>;
1480
1481 #address-cells = <2>;
1482 #size-cells = <2>;
1483 ranges;
1484
1485 status = "disabled";
1486
1487 mdp: display-controller@5e01000 {
1488 compatible = "qcom,sm6115-dpu";
1489 reg = <0x0 0x05e01000 0x0 0x8f000>,
1490 <0x0 0x05eb0000 0x0 0x2008>;
1491 reg-names = "mdp", "vbif";
1492
1493 clocks = <&gcc GCC_DISP_HF_AXI_CLK>,
1494 <&dispcc DISP_CC_MDSS_AHB_CLK>,
1495 <&dispcc DISP_CC_MDSS_MDP_CLK>,
1496 <&dispcc DISP_CC_MDSS_MDP_LUT_CLK>,
1497 <&dispcc DISP_CC_MDSS_ROT_CLK>,
1498 <&dispcc DISP_CC_MDSS_VSYNC_CLK>;
1499 clock-names = "bus",
1500 "iface",
1501 "core",
1502 "lut",
1503 "rot",
1504 "vsync";
1505
1506 operating-points-v2 = <&mdp_opp_table>;
1507 power-domains = <&rpmpd SM6115_VDDCX>;
1508
1509 interrupt-parent = <&mdss>;
1510 interrupts = <0>;
1511
1512 ports {
1513 #address-cells = <1>;
1514 #size-cells = <0>;
1515
1516 port@0 {
1517 reg = <0>;
1518 dpu_intf1_out: endpoint {
1519 remote-endpoint = <&mdss_dsi0_in>;
1520 };
1521 };
1522 };
1523
1524 mdp_opp_table: opp-table {
1525 compatible = "operating-points-v2";
1526
1527 opp-19200000 {
1528 opp-hz = /bits/ 64 <19200000>;
1529 required-opps = <&rpmpd_opp_min_svs>;
1530 };
1531
1532 opp-192000000 {
1533 opp-hz = /bits/ 64 <192000000>;
1534 required-opps = <&rpmpd_opp_low_svs>;
1535 };
1536
1537 opp-256000000 {
1538 opp-hz = /bits/ 64 <256000000>;
1539 required-opps = <&rpmpd_opp_svs>;
1540 };
1541
1542 opp-307200000 {
1543 opp-hz = /bits/ 64 <307200000>;
1544 required-opps = <&rpmpd_opp_svs_plus>;
1545 };
1546
1547 opp-384000000 {
1548 opp-hz = /bits/ 64 <384000000>;
1549 required-opps = <&rpmpd_opp_nom>;
1550 };
1551 };
1552 };
1553
1554 mdss_dsi0: dsi@5e94000 {
1555 compatible = "qcom,sm6115-dsi-ctrl", "qcom,mdss-dsi-ctrl";
1556 reg = <0x0 0x05e94000 0x0 0x400>;
1557 reg-names = "dsi_ctrl";
1558
1559 interrupt-parent = <&mdss>;
1560 interrupts = <4>;
1561
1562 clocks = <&dispcc DISP_CC_MDSS_BYTE0_CLK>,
1563 <&dispcc DISP_CC_MDSS_BYTE0_INTF_CLK>,
1564 <&dispcc DISP_CC_MDSS_PCLK0_CLK>,
1565 <&dispcc DISP_CC_MDSS_ESC0_CLK>,
1566 <&dispcc DISP_CC_MDSS_AHB_CLK>,
1567 <&gcc GCC_DISP_HF_AXI_CLK>;
1568 clock-names = "byte",
1569 "byte_intf",
1570 "pixel",
1571 "core",
1572 "iface",
1573 "bus";
1574
1575 assigned-clocks = <&dispcc DISP_CC_MDSS_BYTE0_CLK_SRC>,
1576 <&dispcc DISP_CC_MDSS_PCLK0_CLK_SRC>;
1577 assigned-clock-parents = <&mdss_dsi0_phy 0>, <&mdss_dsi0_phy 1>;
1578
1579 operating-points-v2 = <&dsi_opp_table>;
1580 power-domains = <&rpmpd SM6115_VDDCX>;
1581 phys = <&mdss_dsi0_phy>;
1582
1583 #address-cells = <1>;
1584 #size-cells = <0>;
1585
1586 status = "disabled";
1587
1588 ports {
1589 #address-cells = <1>;
1590 #size-cells = <0>;
1591
1592 port@0 {
1593 reg = <0>;
1594 mdss_dsi0_in: endpoint {
1595 remote-endpoint = <&dpu_intf1_out>;
1596 };
1597 };
1598
1599 port@1 {
1600 reg = <1>;
1601 mdss_dsi0_out: endpoint {
1602 };
1603 };
1604 };
1605
1606 dsi_opp_table: opp-table {
1607 compatible = "operating-points-v2";
1608
1609 opp-19200000 {
1610 opp-hz = /bits/ 64 <19200000>;
1611 required-opps = <&rpmpd_opp_min_svs>;
1612 };
1613
1614 opp-164000000 {
1615 opp-hz = /bits/ 64 <164000000>;
1616 required-opps = <&rpmpd_opp_low_svs>;
1617 };
1618
1619 opp-187500000 {
1620 opp-hz = /bits/ 64 <187500000>;
1621 required-opps = <&rpmpd_opp_svs>;
1622 };
1623 };
1624 };
1625
1626 mdss_dsi0_phy: phy@5e94400 {
1627 compatible = "qcom,dsi-phy-14nm-2290";
1628 reg = <0x0 0x05e94400 0x0 0x100>,
1629 <0x0 0x05e94500 0x0 0x300>,
1630 <0x0 0x05e94800 0x0 0x188>;
1631 reg-names = "dsi_phy",
1632 "dsi_phy_lane",
1633 "dsi_pll";
1634
1635 #clock-cells = <1>;
1636 #phy-cells = <0>;
1637
1638 clocks = <&dispcc DISP_CC_MDSS_AHB_CLK>,
1639 <&rpmcc RPM_SMD_XO_CLK_SRC>;
1640 clock-names = "iface", "ref";
1641
1642 status = "disabled";
1643 };
1644 };
1645
1646 dispcc: clock-controller@5f00000 {
1647 compatible = "qcom,sm6115-dispcc";
1648 reg = <0x0 0x05f00000 0 0x20000>;
1649 clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>,
1650 <&sleep_clk>,
1651 <&mdss_dsi0_phy 0>,
1652 <&mdss_dsi0_phy 1>,
1653 <&gcc GCC_DISP_GPLL0_DIV_CLK_SRC>;
1654 #clock-cells = <1>;
1655 #reset-cells = <1>;
1656 #power-domain-cells = <1>;
1657 };
1658
1659 remoteproc_mpss: remoteproc@6080000 {
1660 compatible = "qcom,sm6115-mpss-pas";
1661 reg = <0x0 0x06080000 0x0 0x100>;
1662
1663 interrupts-extended = <&intc GIC_SPI 307 IRQ_TYPE_EDGE_RISING>,
1664 <&modem_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
1665 <&modem_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
1666 <&modem_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
1667 <&modem_smp2p_in 3 IRQ_TYPE_EDGE_RISING>,
1668 <&modem_smp2p_in 7 IRQ_TYPE_EDGE_RISING>;
1669 interrupt-names = "wdog", "fatal", "ready", "handover",
1670 "stop-ack", "shutdown-ack";
1671
1672 clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>;
1673 clock-names = "xo";
1674
1675 power-domains = <&rpmpd SM6115_VDDCX>;
1676
1677 memory-region = <&pil_modem_mem>;
1678
1679 qcom,smem-states = <&modem_smp2p_out 0>;
1680 qcom,smem-state-names = "stop";
1681
1682 status = "disabled";
1683
1684 glink-edge {
1685 interrupts = <GIC_SPI 68 IRQ_TYPE_EDGE_RISING>;
1686 label = "mpss";
1687 qcom,remote-pid = <1>;
1688 mboxes = <&apcs_glb 12>;
1689 };
1690 };
1691
1692 stm@8002000 {
1693 compatible = "arm,coresight-stm", "arm,primecell";
1694 reg = <0x0 0x08002000 0x0 0x1000>,
1695 <0x0 0x0e280000 0x0 0x180000>;
1696 reg-names = "stm-base", "stm-stimulus-base";
1697
1698 clocks = <&rpmcc RPM_SMD_QDSS_CLK>;
1699 clock-names = "apb_pclk";
1700
1701 status = "disabled";
1702
1703 out-ports {
1704 port {
1705 stm_out: endpoint {
1706 remote-endpoint = <&funnel_in0_in>;
1707 };
1708 };
1709 };
1710 };
1711
1712 cti0: cti@8010000 {
1713 compatible = "arm,coresight-cti", "arm,primecell";
1714 reg = <0x0 0x08010000 0x0 0x1000>;
1715
1716 clocks = <&rpmcc RPM_SMD_QDSS_CLK>;
1717 clock-names = "apb_pclk";
1718
1719 status = "disabled";
1720 };
1721
1722 cti1: cti@8011000 {
1723 compatible = "arm,coresight-cti", "arm,primecell";
1724 reg = <0x0 0x08011000 0x0 0x1000>;
1725
1726 clocks = <&rpmcc RPM_SMD_QDSS_CLK>;
1727 clock-names = "apb_pclk";
1728
1729 status = "disabled";
1730 };
1731
1732 cti2: cti@8012000 {
1733 compatible = "arm,coresight-cti", "arm,primecell";
1734 reg = <0x0 0x08012000 0x0 0x1000>;
1735
1736 clocks = <&rpmcc RPM_SMD_QDSS_CLK>;
1737 clock-names = "apb_pclk";
1738
1739 status = "disabled";
1740 };
1741
1742 cti3: cti@8013000 {
1743 compatible = "arm,coresight-cti", "arm,primecell";
1744 reg = <0x0 0x08013000 0x0 0x1000>;
1745
1746 clocks = <&rpmcc RPM_SMD_QDSS_CLK>;
1747 clock-names = "apb_pclk";
1748
1749 status = "disabled";
1750 };
1751
1752 cti4: cti@8014000 {
1753 compatible = "arm,coresight-cti", "arm,primecell";
1754 reg = <0x0 0x08014000 0x0 0x1000>;
1755
1756 clocks = <&rpmcc RPM_SMD_QDSS_CLK>;
1757 clock-names = "apb_pclk";
1758
1759 status = "disabled";
1760 };
1761
1762 cti5: cti@8015000 {
1763 compatible = "arm,coresight-cti", "arm,primecell";
1764 reg = <0x0 0x08015000 0x0 0x1000>;
1765
1766 clocks = <&rpmcc RPM_SMD_QDSS_CLK>;
1767 clock-names = "apb_pclk";
1768
1769 status = "disabled";
1770 };
1771
1772 cti6: cti@8016000 {
1773 compatible = "arm,coresight-cti", "arm,primecell";
1774 reg = <0x0 0x08016000 0x0 0x1000>;
1775
1776 clocks = <&rpmcc RPM_SMD_QDSS_CLK>;
1777 clock-names = "apb_pclk";
1778
1779 status = "disabled";
1780 };
1781
1782 cti7: cti@8017000 {
1783 compatible = "arm,coresight-cti", "arm,primecell";
1784 reg = <0x0 0x08017000 0x0 0x1000>;
1785
1786 clocks = <&rpmcc RPM_SMD_QDSS_CLK>;
1787 clock-names = "apb_pclk";
1788
1789 status = "disabled";
1790 };
1791
1792 cti8: cti@8018000 {
1793 compatible = "arm,coresight-cti", "arm,primecell";
1794 reg = <0x0 0x08018000 0x0 0x1000>;
1795
1796 clocks = <&rpmcc RPM_SMD_QDSS_CLK>;
1797 clock-names = "apb_pclk";
1798
1799 status = "disabled";
1800 };
1801
1802 cti9: cti@8019000 {
1803 compatible = "arm,coresight-cti", "arm,primecell";
1804 reg = <0x0 0x08019000 0x0 0x1000>;
1805
1806 clocks = <&rpmcc RPM_SMD_QDSS_CLK>;
1807 clock-names = "apb_pclk";
1808
1809 status = "disabled";
1810 };
1811
1812 cti10: cti@801a000 {
1813 compatible = "arm,coresight-cti", "arm,primecell";
1814 reg = <0x0 0x0801a000 0x0 0x1000>;
1815
1816 clocks = <&rpmcc RPM_SMD_QDSS_CLK>;
1817 clock-names = "apb_pclk";
1818
1819 status = "disabled";
1820 };
1821
1822 cti11: cti@801b000 {
1823 compatible = "arm,coresight-cti", "arm,primecell";
1824 reg = <0x0 0x0801b000 0x0 0x1000>;
1825
1826 clocks = <&rpmcc RPM_SMD_QDSS_CLK>;
1827 clock-names = "apb_pclk";
1828
1829 status = "disabled";
1830 };
1831
1832 cti12: cti@801c000 {
1833 compatible = "arm,coresight-cti", "arm,primecell";
1834 reg = <0x0 0x0801c000 0x0 0x1000>;
1835
1836 clocks = <&rpmcc RPM_SMD_QDSS_CLK>;
1837 clock-names = "apb_pclk";
1838
1839 status = "disabled";
1840 };
1841
1842 cti13: cti@801d000 {
1843 compatible = "arm,coresight-cti", "arm,primecell";
1844 reg = <0x0 0x0801d000 0x0 0x1000>;
1845
1846 clocks = <&rpmcc RPM_SMD_QDSS_CLK>;
1847 clock-names = "apb_pclk";
1848
1849 status = "disabled";
1850 };
1851
1852 cti14: cti@801e000 {
1853 compatible = "arm,coresight-cti", "arm,primecell";
1854 reg = <0x0 0x0801e000 0x0 0x1000>;
1855
1856 clocks = <&rpmcc RPM_SMD_QDSS_CLK>;
1857 clock-names = "apb_pclk";
1858
1859 status = "disabled";
1860 };
1861
1862 cti15: cti@801f000 {
1863 compatible = "arm,coresight-cti", "arm,primecell";
1864 reg = <0x0 0x0801f000 0x0 0x1000>;
1865
1866 clocks = <&rpmcc RPM_SMD_QDSS_CLK>;
1867 clock-names = "apb_pclk";
1868
1869 status = "disabled";
1870 };
1871
1872 replicator@8046000 {
1873 compatible = "arm,coresight-dynamic-replicator", "arm,primecell";
1874 reg = <0x0 0x08046000 0x0 0x1000>;
1875
1876 clocks = <&rpmcc RPM_SMD_QDSS_CLK>;
1877 clock-names = "apb_pclk";
1878
1879 status = "disabled";
1880
1881 out-ports {
1882 port {
1883 replicator_out: endpoint {
1884 remote-endpoint = <&etr_in>;
1885 };
1886 };
1887 };
1888
1889 in-ports {
1890 port {
1891 replicator_in: endpoint {
1892 remote-endpoint = <&etf_out>;
1893 };
1894 };
1895 };
1896 };
1897
1898 etf@8047000 {
1899 compatible = "arm,coresight-tmc", "arm,primecell";
1900 reg = <0x0 0x08047000 0x0 0x1000>;
1901
1902 clocks = <&rpmcc RPM_SMD_QDSS_CLK>;
1903 clock-names = "apb_pclk";
1904
1905 status = "disabled";
1906
1907 in-ports {
1908 port {
1909 etf_in: endpoint {
1910 remote-endpoint = <&merge_funnel_out>;
1911 };
1912 };
1913 };
1914
1915 out-ports {
1916 port {
1917 etf_out: endpoint {
1918 remote-endpoint = <&replicator_in>;
1919 };
1920 };
1921 };
1922 };
1923
1924 etr@8048000 {
1925 compatible = "arm,coresight-tmc", "arm,primecell";
1926 reg = <0x0 0x08048000 0x0 0x1000>;
1927
1928 clocks = <&rpmcc RPM_SMD_QDSS_CLK>;
1929 clock-names = "apb_pclk";
1930
1931 status = "disabled";
1932
1933 in-ports {
1934 port {
1935 etr_in: endpoint {
1936 remote-endpoint = <&replicator_out>;
1937 };
1938 };
1939 };
1940 };
1941
1942 funnel@8041000 {
1943 compatible = "arm,coresight-dynamic-funnel", "arm,primecell";
1944 reg = <0x0 0x08041000 0x0 0x1000>;
1945
1946 clocks = <&rpmcc RPM_SMD_QDSS_CLK>;
1947 clock-names = "apb_pclk";
1948
1949 status = "disabled";
1950
1951 out-ports {
1952 port {
1953 funnel_in0_out: endpoint {
1954 remote-endpoint = <&merge_funnel_in0>;
1955 };
1956 };
1957 };
1958
1959 in-ports {
1960 port {
1961 funnel_in0_in: endpoint {
1962 remote-endpoint = <&stm_out>;
1963 };
1964 };
1965 };
1966 };
1967
1968 funnel@8042000 {
1969 compatible = "arm,coresight-dynamic-funnel", "arm,primecell";
1970 reg = <0x0 0x08042000 0x0 0x1000>;
1971
1972 clocks = <&rpmcc RPM_SMD_QDSS_CLK>;
1973 clock-names = "apb_pclk";
1974
1975 status = "disabled";
1976
1977 out-ports {
1978 port {
1979 funnel_in1_out: endpoint {
1980 remote-endpoint = <&merge_funnel_in1>;
1981 };
1982 };
1983 };
1984
1985 in-ports {
1986 port {
1987 funnel_in1_in: endpoint {
1988 remote-endpoint = <&funnel_apss1_out>;
1989 };
1990 };
1991 };
1992 };
1993
1994 funnel@8045000 {
1995 compatible = "arm,coresight-dynamic-funnel", "arm,primecell";
1996 reg = <0x0 0x08045000 0x0 0x1000>;
1997
1998 clocks = <&rpmcc RPM_SMD_QDSS_CLK>;
1999 clock-names = "apb_pclk";
2000
2001 status = "disabled";
2002
2003 out-ports {
2004 port {
2005 merge_funnel_out: endpoint {
2006 remote-endpoint = <&etf_in>;
2007 };
2008 };
2009 };
2010
2011 in-ports {
2012 #address-cells = <1>;
2013 #size-cells = <0>;
2014
2015 port@0 {
2016 reg = <0>;
2017 merge_funnel_in0: endpoint {
2018 remote-endpoint = <&funnel_in0_out>;
2019 };
2020 };
2021
2022 port@1 {
2023 reg = <1>;
2024 merge_funnel_in1: endpoint {
2025 remote-endpoint = <&funnel_in1_out>;
2026 };
2027 };
2028 };
2029 };
2030
2031 etm@9040000 {
2032 compatible = "arm,coresight-etm4x", "arm,primecell";
2033 reg = <0x0 0x09040000 0x0 0x1000>;
2034
2035 clocks = <&rpmcc RPM_SMD_QDSS_CLK>;
2036 clock-names = "apb_pclk";
2037 arm,coresight-loses-context-with-cpu;
2038
2039 cpu = <&CPU0>;
2040
2041 status = "disabled";
2042
2043 out-ports {
2044 port {
2045 etm0_out: endpoint {
2046 remote-endpoint = <&funnel_apss0_in0>;
2047 };
2048 };
2049 };
2050 };
2051
2052 etm@9140000 {
2053 compatible = "arm,coresight-etm4x", "arm,primecell";
2054 reg = <0x0 0x09140000 0x0 0x1000>;
2055
2056 clocks = <&rpmcc RPM_SMD_QDSS_CLK>;
2057 clock-names = "apb_pclk";
2058 arm,coresight-loses-context-with-cpu;
2059
2060 cpu = <&CPU1>;
2061
2062 status = "disabled";
2063
2064 out-ports {
2065 port {
2066 etm1_out: endpoint {
2067 remote-endpoint = <&funnel_apss0_in1>;
2068 };
2069 };
2070 };
2071 };
2072
2073 etm@9240000 {
2074 compatible = "arm,coresight-etm4x", "arm,primecell";
2075 reg = <0x0 0x09240000 0x0 0x1000>;
2076
2077 clocks = <&rpmcc RPM_SMD_QDSS_CLK>;
2078 clock-names = "apb_pclk";
2079 arm,coresight-loses-context-with-cpu;
2080
2081 cpu = <&CPU2>;
2082
2083 status = "disabled";
2084
2085 out-ports {
2086 port {
2087 etm2_out: endpoint {
2088 remote-endpoint = <&funnel_apss0_in2>;
2089 };
2090 };
2091 };
2092 };
2093
2094 etm@9340000 {
2095 compatible = "arm,coresight-etm4x", "arm,primecell";
2096 reg = <0x0 0x09340000 0x0 0x1000>;
2097
2098 clocks = <&rpmcc RPM_SMD_QDSS_CLK>;
2099 clock-names = "apb_pclk";
2100 arm,coresight-loses-context-with-cpu;
2101
2102 cpu = <&CPU3>;
2103
2104 status = "disabled";
2105
2106 out-ports {
2107 port {
2108 etm3_out: endpoint {
2109 remote-endpoint = <&funnel_apss0_in3>;
2110 };
2111 };
2112 };
2113 };
2114
2115 etm@9440000 {
2116 compatible = "arm,coresight-etm4x", "arm,primecell";
2117 reg = <0x0 0x09440000 0x0 0x1000>;
2118
2119 clocks = <&rpmcc RPM_SMD_QDSS_CLK>;
2120 clock-names = "apb_pclk";
2121 arm,coresight-loses-context-with-cpu;
2122
2123 cpu = <&CPU4>;
2124
2125 status = "disabled";
2126
2127 out-ports {
2128 port {
2129 etm4_out: endpoint {
2130 remote-endpoint = <&funnel_apss0_in4>;
2131 };
2132 };
2133 };
2134 };
2135
2136 etm@9540000 {
2137 compatible = "arm,coresight-etm4x", "arm,primecell";
2138 reg = <0x0 0x09540000 0x0 0x1000>;
2139
2140 clocks = <&rpmcc RPM_SMD_QDSS_CLK>;
2141 clock-names = "apb_pclk";
2142 arm,coresight-loses-context-with-cpu;
2143
2144 cpu = <&CPU5>;
2145
2146 status = "disabled";
2147
2148 out-ports {
2149 port {
2150 etm5_out: endpoint {
2151 remote-endpoint = <&funnel_apss0_in5>;
2152 };
2153 };
2154 };
2155 };
2156
2157 etm@9640000 {
2158 compatible = "arm,coresight-etm4x", "arm,primecell";
2159 reg = <0x0 0x09640000 0x0 0x1000>;
2160
2161 clocks = <&rpmcc RPM_SMD_QDSS_CLK>;
2162 clock-names = "apb_pclk";
2163 arm,coresight-loses-context-with-cpu;
2164
2165 cpu = <&CPU6>;
2166
2167 status = "disabled";
2168
2169 out-ports {
2170 port {
2171 etm6_out: endpoint {
2172 remote-endpoint = <&funnel_apss0_in6>;
2173 };
2174 };
2175 };
2176 };
2177
2178 etm@9740000 {
2179 compatible = "arm,coresight-etm4x", "arm,primecell";
2180 reg = <0x0 0x09740000 0x0 0x1000>;
2181
2182 clocks = <&rpmcc RPM_SMD_QDSS_CLK>;
2183 clock-names = "apb_pclk";
2184 arm,coresight-loses-context-with-cpu;
2185
2186 cpu = <&CPU7>;
2187
2188 status = "disabled";
2189
2190 out-ports {
2191 port {
2192 etm7_out: endpoint {
2193 remote-endpoint = <&funnel_apss0_in7>;
2194 };
2195 };
2196 };
2197 };
2198
2199 funnel@9800000 {
2200 compatible = "arm,coresight-dynamic-funnel", "arm,primecell";
2201 reg = <0x0 0x09800000 0x0 0x1000>;
2202
2203 clocks = <&rpmcc RPM_SMD_QDSS_CLK>;
2204 clock-names = "apb_pclk";
2205
2206 status = "disabled";
2207
2208 out-ports {
2209 port {
2210 funnel_apss0_out: endpoint {
2211 remote-endpoint = <&funnel_apss1_in>;
2212 };
2213 };
2214 };
2215
2216 in-ports {
2217 #address-cells = <1>;
2218 #size-cells = <0>;
2219
2220 port@0 {
2221 reg = <0>;
2222 funnel_apss0_in0: endpoint {
2223 remote-endpoint = <&etm0_out>;
2224 };
2225 };
2226
2227 port@1 {
2228 reg = <1>;
2229 funnel_apss0_in1: endpoint {
2230 remote-endpoint = <&etm1_out>;
2231 };
2232 };
2233
2234 port@2 {
2235 reg = <2>;
2236 funnel_apss0_in2: endpoint {
2237 remote-endpoint = <&etm2_out>;
2238 };
2239 };
2240
2241 port@3 {
2242 reg = <3>;
2243 funnel_apss0_in3: endpoint {
2244 remote-endpoint = <&etm3_out>;
2245 };
2246 };
2247
2248 port@4 {
2249 reg = <4>;
2250 funnel_apss0_in4: endpoint {
2251 remote-endpoint = <&etm4_out>;
2252 };
2253 };
2254
2255 port@5 {
2256 reg = <5>;
2257 funnel_apss0_in5: endpoint {
2258 remote-endpoint = <&etm5_out>;
2259 };
2260 };
2261
2262 port@6 {
2263 reg = <6>;
2264 funnel_apss0_in6: endpoint {
2265 remote-endpoint = <&etm6_out>;
2266 };
2267 };
2268
2269 port@7 {
2270 reg = <7>;
2271 funnel_apss0_in7: endpoint {
2272 remote-endpoint = <&etm7_out>;
2273 };
2274 };
2275 };
2276 };
2277
2278 funnel@9810000 {
2279 compatible = "arm,coresight-dynamic-funnel", "arm,primecell";
2280 reg = <0x0 0x09810000 0x0 0x1000>;
2281
2282 clocks = <&rpmcc RPM_SMD_QDSS_CLK>;
2283 clock-names = "apb_pclk";
2284
2285 status = "disabled";
2286
2287 out-ports {
2288 port {
2289 funnel_apss1_out: endpoint {
2290 remote-endpoint = <&funnel_in1_in>;
2291 };
2292 };
2293 };
2294
2295 in-ports {
2296 port {
2297 funnel_apss1_in: endpoint {
2298 remote-endpoint = <&funnel_apss0_out>;
2299 };
2300 };
2301 };
2302 };
2303
2304 remoteproc_adsp: remoteproc@ab00000 {
2305 compatible = "qcom,sm6115-adsp-pas";
2306 reg = <0x0 0x0ab00000 0x0 0x100>;
2307
2308 interrupts-extended = <&intc GIC_SPI 282 IRQ_TYPE_EDGE_RISING>,
2309 <&adsp_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
2310 <&adsp_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
2311 <&adsp_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
2312 <&adsp_smp2p_in 3 IRQ_TYPE_EDGE_RISING>;
2313 interrupt-names = "wdog", "fatal", "ready",
2314 "handover", "stop-ack";
2315
2316 clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>;
2317 clock-names = "xo";
2318
2319 power-domains = <&rpmpd SM6115_VDD_LPI_CX>,
2320 <&rpmpd SM6115_VDD_LPI_MX>;
2321
2322 memory-region = <&pil_adsp_mem>;
2323
2324 qcom,smem-states = <&adsp_smp2p_out 0>;
2325 qcom,smem-state-names = "stop";
2326
2327 status = "disabled";
2328
2329 glink-edge {
2330 interrupts = <GIC_SPI 277 IRQ_TYPE_EDGE_RISING>;
2331 label = "lpass";
2332 qcom,remote-pid = <2>;
2333 mboxes = <&apcs_glb 8>;
2334
2335 fastrpc {
2336 compatible = "qcom,fastrpc";
2337 qcom,glink-channels = "fastrpcglink-apps-dsp";
2338 label = "adsp";
2339 qcom,non-secure-domain;
2340 #address-cells = <1>;
2341 #size-cells = <0>;
2342
2343 compute-cb@3 {
2344 compatible = "qcom,fastrpc-compute-cb";
2345 reg = <3>;
2346 iommus = <&apps_smmu 0x01c3 0x0>;
2347 };
2348
2349 compute-cb@4 {
2350 compatible = "qcom,fastrpc-compute-cb";
2351 reg = <4>;
2352 iommus = <&apps_smmu 0x01c4 0x0>;
2353 };
2354
2355 compute-cb@5 {
2356 compatible = "qcom,fastrpc-compute-cb";
2357 reg = <5>;
2358 iommus = <&apps_smmu 0x01c5 0x0>;
2359 };
2360
2361 compute-cb@6 {
2362 compatible = "qcom,fastrpc-compute-cb";
2363 reg = <6>;
2364 iommus = <&apps_smmu 0x01c6 0x0>;
2365 };
2366
2367 compute-cb@7 {
2368 compatible = "qcom,fastrpc-compute-cb";
2369 reg = <7>;
2370 iommus = <&apps_smmu 0x01c7 0x0>;
2371 };
2372 };
2373 };
2374 };
2375
2376 remoteproc_cdsp: remoteproc@b300000 {
2377 compatible = "qcom,sm6115-cdsp-pas";
2378 reg = <0x0 0x0b300000 0x0 0x100000>;
2379
2380 interrupts-extended = <&intc GIC_SPI 265 IRQ_TYPE_EDGE_RISING>,
2381 <&cdsp_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
2382 <&cdsp_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
2383 <&cdsp_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
2384 <&cdsp_smp2p_in 3 IRQ_TYPE_EDGE_RISING>;
2385 interrupt-names = "wdog", "fatal", "ready",
2386 "handover", "stop-ack";
2387
2388 clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>;
2389 clock-names = "xo";
2390
2391 power-domains = <&rpmpd SM6115_VDDCX>;
2392
2393 memory-region = <&pil_cdsp_mem>;
2394
2395 qcom,smem-states = <&cdsp_smp2p_out 0>;
2396 qcom,smem-state-names = "stop";
2397
2398 status = "disabled";
2399
2400 glink-edge {
2401 interrupts = <GIC_SPI 261 IRQ_TYPE_EDGE_RISING>;
2402 label = "cdsp";
2403 qcom,remote-pid = <5>;
2404 mboxes = <&apcs_glb 28>;
2405
2406 fastrpc {
2407 compatible = "qcom,fastrpc";
2408 qcom,glink-channels = "fastrpcglink-apps-dsp";
2409 label = "cdsp";
2410 qcom,non-secure-domain;
2411 #address-cells = <1>;
2412 #size-cells = <0>;
2413
2414 compute-cb@1 {
2415 compatible = "qcom,fastrpc-compute-cb";
2416 reg = <1>;
2417 iommus = <&apps_smmu 0x0c01 0x0>;
2418 };
2419
2420 compute-cb@2 {
2421 compatible = "qcom,fastrpc-compute-cb";
2422 reg = <2>;
2423 iommus = <&apps_smmu 0x0c02 0x0>;
2424 };
2425
2426 compute-cb@3 {
2427 compatible = "qcom,fastrpc-compute-cb";
2428 reg = <3>;
2429 iommus = <&apps_smmu 0x0c03 0x0>;
2430 };
2431
2432 compute-cb@4 {
2433 compatible = "qcom,fastrpc-compute-cb";
2434 reg = <4>;
2435 iommus = <&apps_smmu 0x0c04 0x0>;
2436 };
2437
2438 compute-cb@5 {
2439 compatible = "qcom,fastrpc-compute-cb";
2440 reg = <5>;
2441 iommus = <&apps_smmu 0x0c05 0x0>;
2442 };
2443
2444 compute-cb@6 {
2445 compatible = "qcom,fastrpc-compute-cb";
2446 reg = <6>;
2447 iommus = <&apps_smmu 0x0c06 0x0>;
2448 };
2449
2450 /* note: secure cb9 in downstream */
2451 };
2452 };
2453 };
2454
2455 apps_smmu: iommu@c600000 {
2456 compatible = "qcom,sm6115-smmu-500", "qcom,smmu-500", "arm,mmu-500";
2457 reg = <0x0 0x0c600000 0x0 0x80000>;
2458 #iommu-cells = <2>;
2459 #global-interrupts = <1>;
2460
2461 interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>,
2462 <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>,
2463 <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>,
2464 <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>,
2465 <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>,
2466 <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>,
2467 <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>,
2468 <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>,
2469 <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>,
2470 <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>,
2471 <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>,
2472 <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>,
2473 <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>,
2474 <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>,
2475 <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>,
2476 <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>,
2477 <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>,
2478 <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>,
2479 <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>,
2480 <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>,
2481 <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>,
2482 <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>,
2483 <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>,
2484 <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>,
2485 <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>,
2486 <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>,
2487 <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>,
2488 <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>,
2489 <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>,
2490 <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>,
2491 <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>,
2492 <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>,
2493 <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>,
2494 <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>,
2495 <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>,
2496 <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>,
2497 <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>,
2498 <GIC_SPI 124 IRQ_TYPE_LEVEL_HIGH>,
2499 <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>,
2500 <GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH>,
2501 <GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>,
2502 <GIC_SPI 128 IRQ_TYPE_LEVEL_HIGH>,
2503 <GIC_SPI 129 IRQ_TYPE_LEVEL_HIGH>,
2504 <GIC_SPI 130 IRQ_TYPE_LEVEL_HIGH>,
2505 <GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>,
2506 <GIC_SPI 132 IRQ_TYPE_LEVEL_HIGH>,
2507 <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>,
2508 <GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>,
2509 <GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>,
2510 <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>,
2511 <GIC_SPI 137 IRQ_TYPE_LEVEL_HIGH>,
2512 <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>,
2513 <GIC_SPI 139 IRQ_TYPE_LEVEL_HIGH>,
2514 <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>,
2515 <GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>,
2516 <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>,
2517 <GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>,
2518 <GIC_SPI 144 IRQ_TYPE_LEVEL_HIGH>,
2519 <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>,
2520 <GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>,
2521 <GIC_SPI 147 IRQ_TYPE_LEVEL_HIGH>,
2522 <GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>,
2523 <GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>,
2524 <GIC_SPI 150 IRQ_TYPE_LEVEL_HIGH>,
2525 <GIC_SPI 151 IRQ_TYPE_LEVEL_HIGH>;
2526 };
2527
2528 wifi: wifi@c800000 {
2529 compatible = "qcom,wcn3990-wifi";
2530 reg = <0x0 0x0c800000 0x0 0x800000>;
2531 reg-names = "membase";
2532 memory-region = <&wlan_msa_mem>;
2533 interrupts = <GIC_SPI 358 IRQ_TYPE_LEVEL_HIGH>,
2534 <GIC_SPI 359 IRQ_TYPE_LEVEL_HIGH>,
2535 <GIC_SPI 360 IRQ_TYPE_LEVEL_HIGH>,
2536 <GIC_SPI 361 IRQ_TYPE_LEVEL_HIGH>,
2537 <GIC_SPI 362 IRQ_TYPE_LEVEL_HIGH>,
2538 <GIC_SPI 363 IRQ_TYPE_LEVEL_HIGH>,
2539 <GIC_SPI 364 IRQ_TYPE_LEVEL_HIGH>,
2540 <GIC_SPI 365 IRQ_TYPE_LEVEL_HIGH>,
2541 <GIC_SPI 366 IRQ_TYPE_LEVEL_HIGH>,
2542 <GIC_SPI 367 IRQ_TYPE_LEVEL_HIGH>,
2543 <GIC_SPI 368 IRQ_TYPE_LEVEL_HIGH>,
2544 <GIC_SPI 369 IRQ_TYPE_LEVEL_HIGH>;
2545 iommus = <&apps_smmu 0x1a0 0x1>;
2546 qcom,msa-fixed-perm;
2547 status = "disabled";
2548 };
2549
2550 watchdog@f017000 {
2551 compatible = "qcom,apss-wdt-sm6115", "qcom,kpss-wdt";
2552 reg = <0x0 0x0f017000 0x0 0x1000>;
2553 clocks = <&sleep_clk>;
2554 interrupts = <GIC_SPI 3 IRQ_TYPE_EDGE_RISING>;
2555 };
2556
2557 apcs_glb: mailbox@f111000 {
2558 compatible = "qcom,sm6115-apcs-hmss-global",
2559 "qcom,msm8994-apcs-kpss-global";
2560 reg = <0x0 0x0f111000 0x0 0x1000>;
2561
2562 #mbox-cells = <1>;
2563 };
2564
2565 timer@f120000 {
2566 compatible = "arm,armv7-timer-mem";
2567 reg = <0x0 0x0f120000 0x0 0x1000>;
2568 #address-cells = <2>;
2569 #size-cells = <2>;
2570 ranges;
2571 clock-frequency = <19200000>;
2572
2573 frame@f121000 {
2574 reg = <0x0 0x0f121000 0x0 0x1000>, <0x0 0x0f122000 0x0 0x1000>;
2575 frame-number = <0>;
2576 interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
2577 <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
2578 };
2579
2580 frame@f123000 {
2581 reg = <0x0 0x0f123000 0x0 0x1000>;
2582 frame-number = <1>;
2583 interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
2584 status = "disabled";
2585 };
2586
2587 frame@f124000 {
2588 reg = <0x0 0x0f124000 0x0 0x1000>;
2589 frame-number = <2>;
2590 interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
2591 status = "disabled";
2592 };
2593
2594 frame@f125000 {
2595 reg = <0x0 0x0f125000 0x0 0x1000>;
2596 frame-number = <3>;
2597 interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
2598 status = "disabled";
2599 };
2600
2601 frame@f126000 {
2602 reg = <0x0 0x0f126000 0x0 0x1000>;
2603 frame-number = <4>;
2604 interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
2605 status = "disabled";
2606 };
2607
2608 frame@f127000 {
2609 reg = <0x0 0x0f127000 0x0 0x1000>;
2610 frame-number = <5>;
2611 interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
2612 status = "disabled";
2613 };
2614
2615 frame@f128000 {
2616 reg = <0x0 0x0f128000 0x0 0x1000>;
2617 frame-number = <6>;
2618 interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
2619 status = "disabled";
2620 };
2621 };
2622
2623 intc: interrupt-controller@f200000 {
2624 compatible = "arm,gic-v3";
2625 reg = <0x0 0x0f200000 0x0 0x10000>,
2626 <0x0 0x0f300000 0x0 0x100000>;
2627 #interrupt-cells = <3>;
2628 interrupt-controller;
2629 interrupt-parent = <&intc>;
2630 #redistributor-regions = <1>;
2631 redistributor-stride = <0x0 0x20000>;
2632 interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>;
2633 };
2634
2635 cpufreq_hw: cpufreq@f521000 {
2636 compatible = "qcom,sm6115-cpufreq-hw", "qcom,cpufreq-hw";
2637 reg = <0x0 0x0f521000 0x0 0x1000>,
2638 <0x0 0x0f523000 0x0 0x1000>;
2639
2640 reg-names = "freq-domain0", "freq-domain1";
2641 clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>, <&gcc GPLL0>;
2642 clock-names = "xo", "alternate";
2643
2644 #freq-domain-cells = <1>;
2645 #clock-cells = <1>;
2646 };
2647 };
2648
2649 thermal-zones {
2650 mapss-thermal {
2651 polling-delay-passive = <0>;
2652 polling-delay = <0>;
2653 thermal-sensors = <&tsens0 0>;
2654
2655 trips {
2656 trip-point0 {
2657 temperature = <115000>;
2658 hysteresis = <5000>;
2659 type = "passive";
2660 };
2661
2662 trip-point1 {
2663 temperature = <125000>;
2664 hysteresis = <1000>;
2665 type = "passive";
2666 };
2667 };
2668 };
2669
2670 cdsp-hvx-thermal {
2671 polling-delay-passive = <0>;
2672 polling-delay = <0>;
2673 thermal-sensors = <&tsens0 1>;
2674
2675 trips {
2676 trip-point0 {
2677 temperature = <115000>;
2678 hysteresis = <5000>;
2679 type = "passive";
2680 };
2681
2682 trip-point1 {
2683 temperature = <125000>;
2684 hysteresis = <1000>;
2685 type = "passive";
2686 };
2687 };
2688 };
2689
2690 wlan-thermal {
2691 polling-delay-passive = <0>;
2692 polling-delay = <0>;
2693 thermal-sensors = <&tsens0 2>;
2694
2695 trips {
2696 trip-point0 {
2697 temperature = <115000>;
2698 hysteresis = <5000>;
2699 type = "passive";
2700 };
2701
2702 trip-point1 {
2703 temperature = <125000>;
2704 hysteresis = <1000>;
2705 type = "passive";
2706 };
2707 };
2708 };
2709
2710 camera-thermal {
2711 polling-delay-passive = <0>;
2712 polling-delay = <0>;
2713 thermal-sensors = <&tsens0 3>;
2714
2715 trips {
2716 trip-point0 {
2717 temperature = <115000>;
2718 hysteresis = <5000>;
2719 type = "passive";
2720 };
2721
2722 trip-point1 {
2723 temperature = <125000>;
2724 hysteresis = <1000>;
2725 type = "passive";
2726 };
2727 };
2728 };
2729
2730 video-thermal {
2731 polling-delay-passive = <0>;
2732 polling-delay = <0>;
2733 thermal-sensors = <&tsens0 4>;
2734
2735 trips {
2736 trip-point0 {
2737 temperature = <115000>;
2738 hysteresis = <5000>;
2739 type = "passive";
2740 };
2741
2742 trip-point1 {
2743 temperature = <125000>;
2744 hysteresis = <1000>;
2745 type = "passive";
2746 };
2747 };
2748 };
2749
2750 modem1-thermal {
2751 polling-delay-passive = <0>;
2752 polling-delay = <0>;
2753 thermal-sensors = <&tsens0 5>;
2754
2755 trips {
2756 trip-point0 {
2757 temperature = <115000>;
2758 hysteresis = <5000>;
2759 type = "passive";
2760 };
2761
2762 trip-point1 {
2763 temperature = <125000>;
2764 hysteresis = <1000>;
2765 type = "passive";
2766 };
2767 };
2768 };
2769
2770 cpu4-thermal {
2771 polling-delay-passive = <0>;
2772 polling-delay = <0>;
2773 thermal-sensors = <&tsens0 6>;
2774
2775 trips {
2776 cpu4_alert0: trip-point0 {
2777 temperature = <90000>;
2778 hysteresis = <2000>;
2779 type = "passive";
2780 };
2781
2782 cpu4_alert1: trip-point1 {
2783 temperature = <95000>;
2784 hysteresis = <2000>;
2785 type = "passive";
2786 };
2787
2788 cpu4_crit: cpu_crit {
2789 temperature = <110000>;
2790 hysteresis = <1000>;
2791 type = "critical";
2792 };
2793 };
2794 };
2795
2796 cpu5-thermal {
2797 polling-delay-passive = <0>;
2798 polling-delay = <0>;
2799 thermal-sensors = <&tsens0 7>;
2800
2801 trips {
2802 cpu5_alert0: trip-point0 {
2803 temperature = <90000>;
2804 hysteresis = <2000>;
2805 type = "passive";
2806 };
2807
2808 cpu5_alert1: trip-point1 {
2809 temperature = <95000>;
2810 hysteresis = <2000>;
2811 type = "passive";
2812 };
2813
2814 cpu5_crit: cpu_crit {
2815 temperature = <110000>;
2816 hysteresis = <1000>;
2817 type = "critical";
2818 };
2819 };
2820 };
2821
2822 cpu6-thermal {
2823 polling-delay-passive = <0>;
2824 polling-delay = <0>;
2825 thermal-sensors = <&tsens0 8>;
2826
2827 trips {
2828 cpu6_alert0: trip-point0 {
2829 temperature = <90000>;
2830 hysteresis = <2000>;
2831 type = "passive";
2832 };
2833
2834 cpu6_alert1: trip-point1 {
2835 temperature = <95000>;
2836 hysteresis = <2000>;
2837 type = "passive";
2838 };
2839
2840 cpu6_crit: cpu_crit {
2841 temperature = <110000>;
2842 hysteresis = <1000>;
2843 type = "critical";
2844 };
2845 };
2846 };
2847
2848 cpu7-thermal {
2849 polling-delay-passive = <0>;
2850 polling-delay = <0>;
2851 thermal-sensors = <&tsens0 9>;
2852
2853 trips {
2854 cpu7_alert0: trip-point0 {
2855 temperature = <90000>;
2856 hysteresis = <2000>;
2857 type = "passive";
2858 };
2859
2860 cpu7_alert1: trip-point1 {
2861 temperature = <95000>;
2862 hysteresis = <2000>;
2863 type = "passive";
2864 };
2865
2866 cpu7_crit: cpu_crit {
2867 temperature = <110000>;
2868 hysteresis = <1000>;
2869 type = "critical";
2870 };
2871 };
2872 };
2873
2874 cpu45-thermal {
2875 polling-delay-passive = <0>;
2876 polling-delay = <0>;
2877 thermal-sensors = <&tsens0 10>;
2878
2879 trips {
2880 cpu45_alert0: trip-point0 {
2881 temperature = <90000>;
2882 hysteresis = <2000>;
2883 type = "passive";
2884 };
2885
2886 cpu45_alert1: trip-point1 {
2887 temperature = <95000>;
2888 hysteresis = <2000>;
2889 type = "passive";
2890 };
2891
2892 cpu45_crit: cpu_crit {
2893 temperature = <110000>;
2894 hysteresis = <1000>;
2895 type = "critical";
2896 };
2897 };
2898 };
2899
2900 cpu67-thermal {
2901 polling-delay-passive = <0>;
2902 polling-delay = <0>;
2903 thermal-sensors = <&tsens0 11>;
2904
2905 trips {
2906 cpu67_alert0: trip-point0 {
2907 temperature = <90000>;
2908 hysteresis = <2000>;
2909 type = "passive";
2910 };
2911
2912 cpu67_alert1: trip-point1 {
2913 temperature = <95000>;
2914 hysteresis = <2000>;
2915 type = "passive";
2916 };
2917
2918 cpu67_crit: cpu_crit {
2919 temperature = <110000>;
2920 hysteresis = <1000>;
2921 type = "critical";
2922 };
2923 };
2924 };
2925
2926 cpu0123-thermal {
2927 polling-delay-passive = <0>;
2928 polling-delay = <0>;
2929 thermal-sensors = <&tsens0 12>;
2930
2931 trips {
2932 cpu0123_alert0: trip-point0 {
2933 temperature = <90000>;
2934 hysteresis = <2000>;
2935 type = "passive";
2936 };
2937
2938 cpu0123_alert1: trip-point1 {
2939 temperature = <95000>;
2940 hysteresis = <2000>;
2941 type = "passive";
2942 };
2943
2944 cpu0123_crit: cpu_crit {
2945 temperature = <110000>;
2946 hysteresis = <1000>;
2947 type = "critical";
2948 };
2949 };
2950 };
2951
2952 modem0-thermal {
2953 polling-delay-passive = <0>;
2954 polling-delay = <0>;
2955 thermal-sensors = <&tsens0 13>;
2956
2957 trips {
2958 trip-point0 {
2959 temperature = <115000>;
2960 hysteresis = <5000>;
2961 type = "passive";
2962 };
2963
2964 trip-point1 {
2965 temperature = <125000>;
2966 hysteresis = <1000>;
2967 type = "passive";
2968 };
2969 };
2970 };
2971
2972 display-thermal {
2973 polling-delay-passive = <0>;
2974 polling-delay = <0>;
2975 thermal-sensors = <&tsens0 14>;
2976
2977 trips {
2978 trip-point0 {
2979 temperature = <115000>;
2980 hysteresis = <5000>;
2981 type = "passive";
2982 };
2983
2984 trip-point1 {
2985 temperature = <125000>;
2986 hysteresis = <1000>;
2987 type = "passive";
2988 };
2989 };
2990 };
2991
2992 gpu-thermal {
2993 polling-delay-passive = <0>;
2994 polling-delay = <0>;
2995 thermal-sensors = <&tsens0 15>;
2996
2997 trips {
2998 trip-point0 {
2999 temperature = <115000>;
3000 hysteresis = <5000>;
3001 type = "passive";
3002 };
3003
3004 trip-point1 {
3005 temperature = <125000>;
3006 hysteresis = <1000>;
3007 type = "passive";
3008 };
3009 };
3010 };
3011 };
3012
3013 timer {
3014 compatible = "arm,armv8-timer";
3015 interrupts = <GIC_PPI 1 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
3016 <GIC_PPI 2 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
3017 <GIC_PPI 3 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
3018 <GIC_PPI 0 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
3019 };
3020};