blob: 4d7b77a231598e8a7f593d6fece320f17c9ef76c [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001// SPDX-License-Identifier: GPL-2.0
2/*
3 * SDM670 SoC device tree source, adapted from SDM845 SoC device tree
4 *
5 * Copyright (c) 2018, The Linux Foundation. All rights reserved.
6 * Copyright (c) 2022, Richard Acayan. All rights reserved.
7 */
8
Tom Rini93743d22024-04-01 09:08:13 -04009#include <dt-bindings/clock/qcom,dispcc-sdm845.h>
Tom Rini53633a82024-02-29 12:33:36 -050010#include <dt-bindings/clock/qcom,gcc-sdm845.h>
11#include <dt-bindings/clock/qcom,rpmh.h>
12#include <dt-bindings/dma/qcom-gpi.h>
13#include <dt-bindings/gpio/gpio.h>
14#include <dt-bindings/interconnect/qcom,osm-l3.h>
15#include <dt-bindings/interconnect/qcom,sdm670-rpmh.h>
16#include <dt-bindings/interrupt-controller/arm-gic.h>
17#include <dt-bindings/phy/phy-qcom-qusb2.h>
18#include <dt-bindings/power/qcom-rpmpd.h>
19#include <dt-bindings/soc/qcom,rpmh-rsc.h>
20
21/ {
22 interrupt-parent = <&intc>;
23
24 #address-cells = <2>;
25 #size-cells = <2>;
26
27 aliases { };
28
29 chosen { };
30
31 cpus {
32 #address-cells = <2>;
33 #size-cells = <0>;
34
35 CPU0: cpu@0 {
36 device_type = "cpu";
37 compatible = "qcom,kryo360";
38 reg = <0x0 0x0>;
39 enable-method = "psci";
40 capacity-dmips-mhz = <610>;
41 dynamic-power-coefficient = <203>;
42 qcom,freq-domain = <&cpufreq_hw 0>;
43 operating-points-v2 = <&cpu0_opp_table>;
44 interconnects = <&gladiator_noc MASTER_AMPSS_M0 3 &mem_noc SLAVE_EBI_CH0 3>,
45 <&osm_l3 MASTER_OSM_L3_APPS &osm_l3 SLAVE_OSM_L3>;
46 power-domains = <&CPU_PD0>;
47 power-domain-names = "psci";
48 next-level-cache = <&L2_0>;
49 L2_0: l2-cache {
50 compatible = "cache";
51 next-level-cache = <&L3_0>;
52 cache-level = <2>;
53 cache-unified;
54 L3_0: l3-cache {
55 compatible = "cache";
56 cache-level = <3>;
57 cache-unified;
58 };
59 };
60 };
61
62 CPU1: cpu@100 {
63 device_type = "cpu";
64 compatible = "qcom,kryo360";
65 reg = <0x0 0x100>;
66 enable-method = "psci";
67 capacity-dmips-mhz = <610>;
68 dynamic-power-coefficient = <203>;
69 qcom,freq-domain = <&cpufreq_hw 0>;
70 operating-points-v2 = <&cpu0_opp_table>;
71 interconnects = <&gladiator_noc MASTER_AMPSS_M0 3 &mem_noc SLAVE_EBI_CH0 3>,
72 <&osm_l3 MASTER_OSM_L3_APPS &osm_l3 SLAVE_OSM_L3>;
73 power-domains = <&CPU_PD1>;
74 power-domain-names = "psci";
75 next-level-cache = <&L2_100>;
76 L2_100: l2-cache {
77 compatible = "cache";
78 cache-level = <2>;
79 cache-unified;
80 next-level-cache = <&L3_0>;
81 };
82 };
83
84 CPU2: cpu@200 {
85 device_type = "cpu";
86 compatible = "qcom,kryo360";
87 reg = <0x0 0x200>;
88 enable-method = "psci";
89 capacity-dmips-mhz = <610>;
90 dynamic-power-coefficient = <203>;
91 qcom,freq-domain = <&cpufreq_hw 0>;
92 operating-points-v2 = <&cpu0_opp_table>;
93 interconnects = <&gladiator_noc MASTER_AMPSS_M0 3 &mem_noc SLAVE_EBI_CH0 3>,
94 <&osm_l3 MASTER_OSM_L3_APPS &osm_l3 SLAVE_OSM_L3>;
95 power-domains = <&CPU_PD2>;
96 power-domain-names = "psci";
97 next-level-cache = <&L2_200>;
98 L2_200: l2-cache {
99 compatible = "cache";
100 cache-level = <2>;
101 cache-unified;
102 next-level-cache = <&L3_0>;
103 };
104 };
105
106 CPU3: cpu@300 {
107 device_type = "cpu";
108 compatible = "qcom,kryo360";
109 reg = <0x0 0x300>;
110 enable-method = "psci";
111 capacity-dmips-mhz = <610>;
112 dynamic-power-coefficient = <203>;
113 qcom,freq-domain = <&cpufreq_hw 0>;
114 operating-points-v2 = <&cpu0_opp_table>;
115 interconnects = <&gladiator_noc MASTER_AMPSS_M0 3 &mem_noc SLAVE_EBI_CH0 3>,
116 <&osm_l3 MASTER_OSM_L3_APPS &osm_l3 SLAVE_OSM_L3>;
117 power-domains = <&CPU_PD3>;
118 power-domain-names = "psci";
119 next-level-cache = <&L2_300>;
120 L2_300: l2-cache {
121 compatible = "cache";
122 cache-level = <2>;
123 cache-unified;
124 next-level-cache = <&L3_0>;
125 };
126 };
127
128 CPU4: cpu@400 {
129 device_type = "cpu";
130 compatible = "qcom,kryo360";
131 reg = <0x0 0x400>;
132 enable-method = "psci";
133 capacity-dmips-mhz = <610>;
134 dynamic-power-coefficient = <203>;
135 qcom,freq-domain = <&cpufreq_hw 0>;
136 operating-points-v2 = <&cpu0_opp_table>;
137 interconnects = <&gladiator_noc MASTER_AMPSS_M0 3 &mem_noc SLAVE_EBI_CH0 3>,
138 <&osm_l3 MASTER_OSM_L3_APPS &osm_l3 SLAVE_OSM_L3>;
139 power-domains = <&CPU_PD4>;
140 power-domain-names = "psci";
141 next-level-cache = <&L2_400>;
142 L2_400: l2-cache {
143 compatible = "cache";
144 cache-level = <2>;
145 cache-unified;
146 next-level-cache = <&L3_0>;
147 };
148 };
149
150 CPU5: cpu@500 {
151 device_type = "cpu";
152 compatible = "qcom,kryo360";
153 reg = <0x0 0x500>;
154 enable-method = "psci";
155 capacity-dmips-mhz = <610>;
156 dynamic-power-coefficient = <203>;
157 qcom,freq-domain = <&cpufreq_hw 0>;
158 operating-points-v2 = <&cpu0_opp_table>;
159 interconnects = <&gladiator_noc MASTER_AMPSS_M0 3 &mem_noc SLAVE_EBI_CH0 3>,
160 <&osm_l3 MASTER_OSM_L3_APPS &osm_l3 SLAVE_OSM_L3>;
161 power-domains = <&CPU_PD5>;
162 power-domain-names = "psci";
163 next-level-cache = <&L2_500>;
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,kryo360";
175 reg = <0x0 0x600>;
176 enable-method = "psci";
177 capacity-dmips-mhz = <1024>;
178 dynamic-power-coefficient = <393>;
179 qcom,freq-domain = <&cpufreq_hw 1>;
180 operating-points-v2 = <&cpu6_opp_table>;
181 interconnects = <&gladiator_noc MASTER_AMPSS_M0 3 &mem_noc SLAVE_EBI_CH0 3>,
182 <&osm_l3 MASTER_OSM_L3_APPS &osm_l3 SLAVE_OSM_L3>;
183 power-domains = <&CPU_PD6>;
184 power-domain-names = "psci";
185 next-level-cache = <&L2_600>;
186 L2_600: l2-cache {
187 compatible = "cache";
188 cache-level = <2>;
189 cache-unified;
190 next-level-cache = <&L3_0>;
191 };
192 };
193
194 CPU7: cpu@700 {
195 device_type = "cpu";
196 compatible = "qcom,kryo360";
197 reg = <0x0 0x700>;
198 enable-method = "psci";
199 capacity-dmips-mhz = <1024>;
200 dynamic-power-coefficient = <393>;
201 qcom,freq-domain = <&cpufreq_hw 1>;
202 operating-points-v2 = <&cpu6_opp_table>;
203 interconnects = <&gladiator_noc MASTER_AMPSS_M0 3 &mem_noc SLAVE_EBI_CH0 3>,
204 <&osm_l3 MASTER_OSM_L3_APPS &osm_l3 SLAVE_OSM_L3>;
205 power-domains = <&CPU_PD7>;
206 power-domain-names = "psci";
207 next-level-cache = <&L2_700>;
208 L2_700: l2-cache {
209 compatible = "cache";
210 cache-level = <2>;
211 cache-unified;
212 next-level-cache = <&L3_0>;
213 };
214 };
215
216 cpu-map {
217 cluster0 {
218 core0 {
219 cpu = <&CPU0>;
220 };
221
222 core1 {
223 cpu = <&CPU1>;
224 };
225
226 core2 {
227 cpu = <&CPU2>;
228 };
229
230 core3 {
231 cpu = <&CPU3>;
232 };
233
234 core4 {
235 cpu = <&CPU4>;
236 };
237
238 core5 {
239 cpu = <&CPU5>;
240 };
241
242 core6 {
243 cpu = <&CPU6>;
244 };
245
246 core7 {
247 cpu = <&CPU7>;
248 };
249 };
250 };
251
252 idle-states {
253 entry-method = "psci";
254
255 LITTLE_CPU_SLEEP_0: cpu-sleep-0-0 {
256 compatible = "arm,idle-state";
257 idle-state-name = "little-rail-power-collapse";
258 arm,psci-suspend-param = <0x40000004>;
259 entry-latency-us = <702>;
260 exit-latency-us = <915>;
261 min-residency-us = <1617>;
262 local-timer-stop;
263 };
264
265 BIG_CPU_SLEEP_0: cpu-sleep-1-0 {
266 compatible = "arm,idle-state";
267 idle-state-name = "big-rail-power-collapse";
268 arm,psci-suspend-param = <0x40000004>;
269 entry-latency-us = <526>;
270 exit-latency-us = <1854>;
271 min-residency-us = <2380>;
272 local-timer-stop;
273 };
274 };
275
276 domain-idle-states {
277 CLUSTER_SLEEP_0: cluster-sleep-0 {
278 compatible = "domain-idle-state";
279 arm,psci-suspend-param = <0x4100c244>;
280 entry-latency-us = <3263>;
281 exit-latency-us = <6562>;
282 min-residency-us = <9825>;
283 };
284 };
285 };
286
287 firmware {
288 scm {
289 compatible = "qcom,scm-sdm670", "qcom,scm";
290 };
291 };
292
293 memory@80000000 {
294 device_type = "memory";
295 /* We expect the bootloader to fill in the size */
296 reg = <0x0 0x80000000 0x0 0x0>;
297 };
298
299 cpu0_opp_table: opp-table-cpu0 {
300 compatible = "operating-points-v2";
301 opp-shared;
302
303 cpu0_opp1: opp-300000000 {
304 opp-hz = /bits/ 64 <300000000>;
305 opp-peak-kBps = <400000 4800000>;
306 };
307
308 cpu0_opp2: opp-576000000 {
309 opp-hz = /bits/ 64 <576000000>;
310 opp-peak-kBps = <400000 4800000>;
311 };
312
313 cpu0_opp3: opp-748800000 {
314 opp-hz = /bits/ 64 <748800000>;
315 opp-peak-kBps = <1200000 4800000>;
316 };
317
318 cpu0_opp4: opp-998400000 {
319 opp-hz = /bits/ 64 <998400000>;
320 opp-peak-kBps = <1804000 8908800>;
321 };
322
323 cpu0_opp5: opp-1209600000 {
324 opp-hz = /bits/ 64 <1209600000>;
325 opp-peak-kBps = <2188000 8908800>;
326 };
327
328 cpu0_opp6: opp-1324800000 {
329 opp-hz = /bits/ 64 <1324800000>;
330 opp-peak-kBps = <2188000 13516800>;
331 };
332
333 cpu0_opp7: opp-1516800000 {
334 opp-hz = /bits/ 64 <1516800000>;
335 opp-peak-kBps = <3072000 15052800>;
336 };
337
338 cpu0_opp8: opp-1612800000 {
339 opp-hz = /bits/ 64 <1612800000>;
340 opp-peak-kBps = <3072000 22118400>;
341 };
342
343 cpu0_opp9: opp-1708800000 {
344 opp-hz = /bits/ 64 <1708800000>;
345 opp-peak-kBps = <4068000 23040000>;
346 };
347 };
348
349 cpu6_opp_table: opp-table-cpu6 {
350 compatible = "operating-points-v2";
351 opp-shared;
352
353 cpu6_opp1: opp-300000000 {
354 opp-hz = /bits/ 64 <300000000>;
355 opp-peak-kBps = <400000 4800000>;
356 };
357
358 cpu6_opp2: opp-652800000 {
359 opp-hz = /bits/ 64 <652800000>;
360 opp-peak-kBps = <400000 4800000>;
361 };
362
363 cpu6_opp3: opp-825600000 {
364 opp-hz = /bits/ 64 <825600000>;
365 opp-peak-kBps = <1200000 4800000>;
366 };
367
368 cpu6_opp4: opp-979200000 {
369 opp-hz = /bits/ 64 <979200000>;
370 opp-peak-kBps = <1200000 4800000>;
371 };
372
373 cpu6_opp5: opp-1132800000 {
374 opp-hz = /bits/ 64 <1132800000>;
375 opp-peak-kBps = <2188000 8908800>;
376 };
377
378 cpu6_opp6: opp-1363200000 {
379 opp-hz = /bits/ 64 <1363200000>;
380 opp-peak-kBps = <4068000 12902400>;
381 };
382
383 cpu6_opp7: opp-1536000000 {
384 opp-hz = /bits/ 64 <1536000000>;
385 opp-peak-kBps = <4068000 12902400>;
386 };
387
388 cpu6_opp8: opp-1747200000 {
389 opp-hz = /bits/ 64 <1747200000>;
390 opp-peak-kBps = <4068000 15052800>;
391 };
392
393 cpu6_opp9: opp-1843200000 {
394 opp-hz = /bits/ 64 <1843200000>;
395 opp-peak-kBps = <4068000 15052800>;
396 };
397
398 cpu6_opp10: opp-1996800000 {
399 opp-hz = /bits/ 64 <1996800000>;
400 opp-peak-kBps = <6220000 19046400>;
401 };
402 };
403
Tom Rini93743d22024-04-01 09:08:13 -0400404 dsi_opp_table: opp-table-dsi {
405 compatible = "operating-points-v2";
406
407 opp-19200000 {
408 opp-hz = /bits/ 64 <19200000>;
409 required-opps = <&rpmhpd_opp_min_svs>;
410 };
411
412 opp-180000000 {
413 opp-hz = /bits/ 64 <180000000>;
414 required-opps = <&rpmhpd_opp_low_svs>;
415 };
416
417 opp-275000000 {
418 opp-hz = /bits/ 64 <275000000>;
419 required-opps = <&rpmhpd_opp_svs>;
420 };
421
422 opp-358000000 {
423 opp-hz = /bits/ 64 <358000000>;
424 required-opps = <&rpmhpd_opp_svs_l1>;
425 };
426 };
427
Tom Rini53633a82024-02-29 12:33:36 -0500428 psci {
429 compatible = "arm,psci-1.0";
430 method = "smc";
431
432 CPU_PD0: power-domain-cpu0 {
433 #power-domain-cells = <0>;
434 power-domains = <&CLUSTER_PD>;
435 domain-idle-states = <&LITTLE_CPU_SLEEP_0>;
436 };
437
438 CPU_PD1: power-domain-cpu1 {
439 #power-domain-cells = <0>;
440 power-domains = <&CLUSTER_PD>;
441 domain-idle-states = <&LITTLE_CPU_SLEEP_0>;
442 };
443
444 CPU_PD2: power-domain-cpu2 {
445 #power-domain-cells = <0>;
446 power-domains = <&CLUSTER_PD>;
447 domain-idle-states = <&LITTLE_CPU_SLEEP_0>;
448 };
449
450 CPU_PD3: power-domain-cpu3 {
451 #power-domain-cells = <0>;
452 power-domains = <&CLUSTER_PD>;
453 domain-idle-states = <&LITTLE_CPU_SLEEP_0>;
454 };
455
456 CPU_PD4: power-domain-cpu4 {
457 #power-domain-cells = <0>;
458 power-domains = <&CLUSTER_PD>;
459 domain-idle-states = <&LITTLE_CPU_SLEEP_0>;
460 };
461
462 CPU_PD5: power-domain-cpu5 {
463 #power-domain-cells = <0>;
464 power-domains = <&CLUSTER_PD>;
465 domain-idle-states = <&LITTLE_CPU_SLEEP_0>;
466 };
467
468 CPU_PD6: power-domain-cpu6 {
469 #power-domain-cells = <0>;
470 power-domains = <&CLUSTER_PD>;
471 domain-idle-states = <&BIG_CPU_SLEEP_0>;
472 };
473
474 CPU_PD7: power-domain-cpu7 {
475 #power-domain-cells = <0>;
476 power-domains = <&CLUSTER_PD>;
477 domain-idle-states = <&BIG_CPU_SLEEP_0>;
478 };
479
480 CLUSTER_PD: power-domain-cluster {
481 #power-domain-cells = <0>;
482 domain-idle-states = <&CLUSTER_SLEEP_0>;
483 };
484 };
485
486 reserved-memory {
487 #address-cells = <2>;
488 #size-cells = <2>;
489 ranges;
490
491 hyp_mem: hyp-mem@85700000 {
492 reg = <0 0x85700000 0 0x600000>;
493 no-map;
494 };
495
496 xbl_mem: xbl-mem@85e00000 {
497 reg = <0 0x85e00000 0 0x100000>;
498 no-map;
499 };
500
501 aop_mem: aop-mem@85fc0000 {
502 reg = <0 0x85fc0000 0 0x20000>;
503 no-map;
504 };
505
506 aop_cmd_db_mem: aop-cmd-db-mem@85fe0000 {
507 compatible = "qcom,cmd-db";
508 reg = <0 0x85fe0000 0 0x20000>;
509 no-map;
510 };
511
512 camera_mem: camera-mem@8ab00000 {
513 reg = <0 0x8ab00000 0 0x500000>;
514 no-map;
515 };
516
517 mpss_region: mpss@8b000000 {
518 reg = <0 0x8b000000 0 0x7e00000>;
519 no-map;
520 };
521
522 venus_mem: venus@92e00000 {
523 reg = <0 0x92e00000 0 0x500000>;
524 no-map;
525 };
526
527 wlan_msa_mem: wlan-msa@93300000 {
528 reg = <0 0x93300000 0 0x100000>;
529 no-map;
530 };
531
532 cdsp_mem: cdsp@93400000 {
533 reg = <0 0x93400000 0 0x800000>;
534 no-map;
535 };
536
537 mba_region: mba@93c00000 {
538 reg = <0 0x93c00000 0 0x200000>;
539 no-map;
540 };
541
542 adsp_mem: adsp@93e00000 {
543 reg = <0 0x93e00000 0 0x1e00000>;
544 no-map;
545 };
546
547 ipa_fw_mem: ipa-fw@95c00000 {
548 reg = <0 0x95c00000 0 0x10000>;
549 no-map;
550 };
551
552 ipa_gsi_mem: ipa-gsi@95c10000 {
553 reg = <0 0x95c10000 0 0x5000>;
554 no-map;
555 };
556
557 gpu_mem: gpu@95c15000 {
558 reg = <0 0x95c15000 0 0x2000>;
559 no-map;
560 };
561
562 spss_mem: spss@97b00000 {
563 reg = <0 0x97b00000 0 0x100000>;
564 no-map;
565 };
566
567 qseecom_mem: qseecom@9e400000 {
568 reg = <0 0x9e400000 0 0x1400000>;
569 no-map;
570 };
571 };
572
573 timer {
574 compatible = "arm,armv8-timer";
575 interrupts = <GIC_PPI 1 IRQ_TYPE_LEVEL_LOW>,
576 <GIC_PPI 2 IRQ_TYPE_LEVEL_LOW>,
577 <GIC_PPI 3 IRQ_TYPE_LEVEL_LOW>,
578 <GIC_PPI 0 IRQ_TYPE_LEVEL_LOW>;
579 };
580
581 soc: soc@0 {
582 #address-cells = <2>;
583 #size-cells = <2>;
584 ranges = <0 0 0 0 0x10 0>;
585 dma-ranges = <0 0 0 0 0x10 0>;
586 compatible = "simple-bus";
587
588 gcc: clock-controller@100000 {
589 compatible = "qcom,gcc-sdm670";
590 reg = <0 0x00100000 0 0x1f0000>;
591 clocks = <&rpmhcc RPMH_CXO_CLK>,
592 <&rpmhcc RPMH_CXO_CLK_A>,
593 <&sleep_clk>;
594 clock-names = "bi_tcxo",
595 "bi_tcxo_ao",
596 "sleep_clk";
597 #clock-cells = <1>;
598 #reset-cells = <1>;
599 #power-domain-cells = <1>;
600 };
601
602 qfprom: qfprom@784000 {
603 compatible = "qcom,sdm670-qfprom", "qcom,qfprom";
604 reg = <0 0x00784000 0 0x1000>;
605 #address-cells = <1>;
606 #size-cells = <1>;
607
608 qusb2_hstx_trim: hstx-trim@1eb {
609 reg = <0x1eb 0x1>;
610 bits = <1 4>;
611 };
612 };
613
614 sdhc_1: mmc@7c4000 {
615 compatible = "qcom,sdm670-sdhci", "qcom,sdhci-msm-v5";
616 reg = <0 0x007c4000 0 0x1000>,
617 <0 0x007c5000 0 0x1000>,
618 <0 0x007c8000 0 0x8000>;
619 reg-names = "hc", "cqhci", "ice";
620
621 interrupts = <GIC_SPI 641 IRQ_TYPE_LEVEL_HIGH>,
622 <GIC_SPI 644 IRQ_TYPE_LEVEL_HIGH>;
623 interrupt-names = "hc_irq", "pwr_irq";
624
625 clocks = <&gcc GCC_SDCC1_AHB_CLK>,
626 <&gcc GCC_SDCC1_APPS_CLK>,
627 <&rpmhcc RPMH_CXO_CLK>,
628 <&gcc GCC_SDCC1_ICE_CORE_CLK>,
629 <&gcc GCC_AGGRE_UFS_PHY_AXI_CLK>;
630 clock-names = "iface", "core", "xo", "ice", "bus";
631 interconnects = <&aggre1_noc MASTER_EMMC 0 &aggre1_noc SLAVE_A1NOC_SNOC 0>,
632 <&gladiator_noc MASTER_AMPSS_M0 0 &config_noc SLAVE_EMMC_CFG 0>;
633 interconnect-names = "sdhc-ddr", "cpu-sdhc";
634 operating-points-v2 = <&sdhc1_opp_table>;
635
636 iommus = <&apps_smmu 0x140 0xf>;
637
638 pinctrl-names = "default", "sleep";
639 pinctrl-0 = <&sdc1_state_on>;
640 pinctrl-1 = <&sdc1_state_off>;
641 power-domains = <&rpmhpd SDM670_CX>;
642
643 bus-width = <8>;
644 non-removable;
645
646 status = "disabled";
647
648 sdhc1_opp_table: opp-table {
649 compatible = "operating-points-v2";
650
651 opp-20000000 {
652 opp-hz = /bits/ 64 <20000000>;
653 required-opps = <&rpmhpd_opp_min_svs>;
654 opp-peak-kBps = <80000 80000>;
655 opp-avg-kBps = <52286 80000>;
656 };
657
658 opp-50000000 {
659 opp-hz = /bits/ 64 <50000000>;
660 required-opps = <&rpmhpd_opp_low_svs>;
661 opp-peak-kBps = <200000 100000>;
662 opp-avg-kBps = <130718 100000>;
663 };
664
665 opp-100000000 {
666 opp-hz = /bits/ 64 <100000000>;
667 required-opps = <&rpmhpd_opp_svs>;
668 opp-peak-kBps = <200000 130000>;
669 opp-avg-kBps = <130718 130000>;
670 };
671
672 opp-384000000 {
673 opp-hz = /bits/ 64 <384000000>;
674 required-opps = <&rpmhpd_opp_nom>;
675 opp-peak-kBps = <4096000 4096000>;
676 opp-avg-kBps = <1338562 1338562>;
677 };
678 };
679 };
680
681 gpi_dma0: dma-controller@800000 {
682 #dma-cells = <3>;
683 compatible = "qcom,sdm670-gpi-dma", "qcom,sdm845-gpi-dma";
684 reg = <0 0x00800000 0 0x60000>;
685 interrupts = <GIC_SPI 244 IRQ_TYPE_LEVEL_HIGH>,
686 <GIC_SPI 245 IRQ_TYPE_LEVEL_HIGH>,
687 <GIC_SPI 246 IRQ_TYPE_LEVEL_HIGH>,
688 <GIC_SPI 247 IRQ_TYPE_LEVEL_HIGH>,
689 <GIC_SPI 248 IRQ_TYPE_LEVEL_HIGH>,
690 <GIC_SPI 249 IRQ_TYPE_LEVEL_HIGH>,
691 <GIC_SPI 250 IRQ_TYPE_LEVEL_HIGH>,
692 <GIC_SPI 251 IRQ_TYPE_LEVEL_HIGH>,
693 <GIC_SPI 252 IRQ_TYPE_LEVEL_HIGH>,
694 <GIC_SPI 253 IRQ_TYPE_LEVEL_HIGH>,
695 <GIC_SPI 254 IRQ_TYPE_LEVEL_HIGH>,
696 <GIC_SPI 255 IRQ_TYPE_LEVEL_HIGH>,
697 <GIC_SPI 256 IRQ_TYPE_LEVEL_HIGH>;
698 dma-channels = <13>;
699 dma-channel-mask = <0xfa>;
700 iommus = <&apps_smmu 0x16 0x0>;
701 status = "disabled";
702 };
703
704 qupv3_id_0: geniqup@8c0000 {
705 compatible = "qcom,geni-se-qup";
706 reg = <0 0x008c0000 0 0x6000>;
707 clock-names = "m-ahb", "s-ahb";
708 clocks = <&gcc GCC_QUPV3_WRAP_0_M_AHB_CLK>,
709 <&gcc GCC_QUPV3_WRAP_0_S_AHB_CLK>;
710 iommus = <&apps_smmu 0x3 0x0>;
711 #address-cells = <2>;
712 #size-cells = <2>;
713 ranges;
714 interconnects = <&aggre1_noc MASTER_BLSP_1 0 &config_noc SLAVE_BLSP_1 0>;
715 interconnect-names = "qup-core";
716 status = "disabled";
717
718 i2c0: i2c@880000 {
719 compatible = "qcom,geni-i2c";
720 reg = <0 0x00880000 0 0x4000>;
721 clock-names = "se";
722 clocks = <&gcc GCC_QUPV3_WRAP0_S0_CLK>;
723 pinctrl-names = "default";
724 pinctrl-0 = <&qup_i2c0_default>;
725 interrupts = <GIC_SPI 601 IRQ_TYPE_LEVEL_HIGH>;
726 #address-cells = <1>;
727 #size-cells = <0>;
728 power-domains = <&rpmhpd SDM670_CX>;
729 interconnects = <&aggre1_noc MASTER_BLSP_1 0 &config_noc SLAVE_BLSP_1 0>,
730 <&gladiator_noc MASTER_AMPSS_M0 0 &config_noc SLAVE_BLSP_1 0>,
731 <&aggre1_noc MASTER_BLSP_1 0 &mem_noc SLAVE_EBI_CH0 0>;
732 interconnect-names = "qup-core", "qup-config", "qup-memory";
733 dmas = <&gpi_dma0 0 0 QCOM_GPI_I2C>,
734 <&gpi_dma0 1 0 QCOM_GPI_I2C>;
735 dma-names = "tx", "rx";
736 status = "disabled";
737 };
738
739 i2c1: i2c@884000 {
740 compatible = "qcom,geni-i2c";
741 reg = <0 0x00884000 0 0x4000>;
742 clock-names = "se";
743 clocks = <&gcc GCC_QUPV3_WRAP0_S1_CLK>;
744 pinctrl-names = "default";
745 pinctrl-0 = <&qup_i2c1_default>;
746 interrupts = <GIC_SPI 602 IRQ_TYPE_LEVEL_HIGH>;
747 #address-cells = <1>;
748 #size-cells = <0>;
749 power-domains = <&rpmhpd SDM670_CX>;
750 interconnects = <&aggre1_noc MASTER_BLSP_1 0 &config_noc SLAVE_BLSP_1 0>,
751 <&gladiator_noc MASTER_AMPSS_M0 0 &config_noc SLAVE_BLSP_1 0>,
752 <&aggre1_noc MASTER_BLSP_1 0 &mem_noc SLAVE_EBI_CH0 0>;
753 interconnect-names = "qup-core", "qup-config", "qup-memory";
754 dmas = <&gpi_dma0 0 1 QCOM_GPI_I2C>,
755 <&gpi_dma0 1 1 QCOM_GPI_I2C>;
756 dma-names = "tx", "rx";
757 status = "disabled";
758 };
759
760 i2c2: i2c@888000 {
761 compatible = "qcom,geni-i2c";
762 reg = <0 0x00888000 0 0x4000>;
763 clock-names = "se";
764 clocks = <&gcc GCC_QUPV3_WRAP0_S2_CLK>;
765 pinctrl-names = "default";
766 pinctrl-0 = <&qup_i2c2_default>;
767 interrupts = <GIC_SPI 603 IRQ_TYPE_LEVEL_HIGH>;
768 #address-cells = <1>;
769 #size-cells = <0>;
770 power-domains = <&rpmhpd SDM670_CX>;
771 interconnects = <&aggre1_noc MASTER_BLSP_1 0 &config_noc SLAVE_BLSP_1 0>,
772 <&gladiator_noc MASTER_AMPSS_M0 0 &config_noc SLAVE_BLSP_1 0>,
773 <&aggre1_noc MASTER_BLSP_1 0 &mem_noc SLAVE_EBI_CH0 0>;
774 interconnect-names = "qup-core", "qup-config", "qup-memory";
775 dmas = <&gpi_dma0 0 2 QCOM_GPI_I2C>,
776 <&gpi_dma0 1 2 QCOM_GPI_I2C>;
777 dma-names = "tx", "rx";
778 status = "disabled";
779 };
780
781 i2c3: i2c@88c000 {
782 compatible = "qcom,geni-i2c";
783 reg = <0 0x0088c000 0 0x4000>;
784 clock-names = "se";
785 clocks = <&gcc GCC_QUPV3_WRAP0_S3_CLK>;
786 pinctrl-names = "default";
787 pinctrl-0 = <&qup_i2c3_default>;
788 interrupts = <GIC_SPI 604 IRQ_TYPE_LEVEL_HIGH>;
789 #address-cells = <1>;
790 #size-cells = <0>;
791 power-domains = <&rpmhpd SDM670_CX>;
792 interconnects = <&aggre1_noc MASTER_BLSP_1 0 &config_noc SLAVE_BLSP_1 0>,
793 <&gladiator_noc MASTER_AMPSS_M0 0 &config_noc SLAVE_BLSP_1 0>,
794 <&aggre1_noc MASTER_BLSP_1 0 &mem_noc SLAVE_EBI_CH0 0>;
795 interconnect-names = "qup-core", "qup-config", "qup-memory";
796 dmas = <&gpi_dma0 0 3 QCOM_GPI_I2C>,
797 <&gpi_dma0 1 3 QCOM_GPI_I2C>;
798 dma-names = "tx", "rx";
799 status = "disabled";
800 };
801
802 i2c4: i2c@890000 {
803 compatible = "qcom,geni-i2c";
804 reg = <0 0x00890000 0 0x4000>;
805 clock-names = "se";
806 clocks = <&gcc GCC_QUPV3_WRAP0_S4_CLK>;
807 pinctrl-names = "default";
808 pinctrl-0 = <&qup_i2c4_default>;
809 interrupts = <GIC_SPI 605 IRQ_TYPE_LEVEL_HIGH>;
810 #address-cells = <1>;
811 #size-cells = <0>;
812 power-domains = <&rpmhpd SDM670_CX>;
813 interconnects = <&aggre1_noc MASTER_BLSP_1 0 &config_noc SLAVE_BLSP_1 0>,
814 <&gladiator_noc MASTER_AMPSS_M0 0 &config_noc SLAVE_BLSP_1 0>,
815 <&aggre1_noc MASTER_BLSP_1 0 &mem_noc SLAVE_EBI_CH0 0>;
816 interconnect-names = "qup-core", "qup-config", "qup-memory";
817 dmas = <&gpi_dma0 0 4 QCOM_GPI_I2C>,
818 <&gpi_dma0 1 4 QCOM_GPI_I2C>;
819 dma-names = "tx", "rx";
820 status = "disabled";
821 };
822
823 i2c5: i2c@894000 {
824 compatible = "qcom,geni-i2c";
825 reg = <0 0x00894000 0 0x4000>;
826 clock-names = "se";
827 clocks = <&gcc GCC_QUPV3_WRAP0_S5_CLK>;
828 pinctrl-names = "default";
829 pinctrl-0 = <&qup_i2c5_default>;
830 interrupts = <GIC_SPI 606 IRQ_TYPE_LEVEL_HIGH>;
831 #address-cells = <1>;
832 #size-cells = <0>;
833 power-domains = <&rpmhpd SDM670_CX>;
834 interconnects = <&aggre1_noc MASTER_BLSP_1 0 &config_noc SLAVE_BLSP_1 0>,
835 <&gladiator_noc MASTER_AMPSS_M0 0 &config_noc SLAVE_BLSP_1 0>,
836 <&aggre1_noc MASTER_BLSP_1 0 &mem_noc SLAVE_EBI_CH0 0>;
837 interconnect-names = "qup-core", "qup-config", "qup-memory";
838 dmas = <&gpi_dma0 0 5 QCOM_GPI_I2C>,
839 <&gpi_dma0 1 5 QCOM_GPI_I2C>;
840 dma-names = "tx", "rx";
841 status = "disabled";
842 };
843
844 i2c6: i2c@898000 {
845 compatible = "qcom,geni-i2c";
846 reg = <0 0x00898000 0 0x4000>;
847 clock-names = "se";
848 clocks = <&gcc GCC_QUPV3_WRAP0_S6_CLK>;
849 pinctrl-names = "default";
850 pinctrl-0 = <&qup_i2c6_default>;
851 interrupts = <GIC_SPI 607 IRQ_TYPE_LEVEL_HIGH>;
852 #address-cells = <1>;
853 #size-cells = <0>;
854 power-domains = <&rpmhpd SDM670_CX>;
855 interconnects = <&aggre1_noc MASTER_BLSP_1 0 &config_noc SLAVE_BLSP_1 0>,
856 <&gladiator_noc MASTER_AMPSS_M0 0 &config_noc SLAVE_BLSP_1 0>,
857 <&aggre1_noc MASTER_BLSP_1 0 &mem_noc SLAVE_EBI_CH0 0>;
858 interconnect-names = "qup-core", "qup-config", "qup-memory";
859 dmas = <&gpi_dma0 0 6 QCOM_GPI_I2C>,
860 <&gpi_dma0 1 6 QCOM_GPI_I2C>;
861 dma-names = "tx", "rx";
862 status = "disabled";
863 };
864
865 i2c7: i2c@89c000 {
866 compatible = "qcom,geni-i2c";
867 reg = <0 0x0089c000 0 0x4000>;
868 clock-names = "se";
869 clocks = <&gcc GCC_QUPV3_WRAP0_S7_CLK>;
870 pinctrl-names = "default";
871 pinctrl-0 = <&qup_i2c7_default>;
872 interrupts = <GIC_SPI 608 IRQ_TYPE_LEVEL_HIGH>;
873 #address-cells = <1>;
874 #size-cells = <0>;
875 power-domains = <&rpmhpd SDM670_CX>;
876 interconnects = <&aggre1_noc MASTER_BLSP_1 0 &config_noc SLAVE_BLSP_1 0>,
877 <&gladiator_noc MASTER_AMPSS_M0 0 &config_noc SLAVE_BLSP_1 0>,
878 <&aggre1_noc MASTER_BLSP_1 0 &mem_noc SLAVE_EBI_CH0 0>;
879 interconnect-names = "qup-core", "qup-config", "qup-memory";
880 dmas = <&gpi_dma0 0 7 QCOM_GPI_I2C>,
881 <&gpi_dma0 1 7 QCOM_GPI_I2C>;
882 dma-names = "tx", "rx";
883 status = "disabled";
884 };
885 };
886
887 gpi_dma1: dma-controller@a00000 {
888 #dma-cells = <3>;
889 compatible = "qcom,sdm670-gpi-dma", "qcom,sdm845-gpi-dma";
890 reg = <0 0x00a00000 0 0x60000>;
891 interrupts = <GIC_SPI 279 IRQ_TYPE_LEVEL_HIGH>,
892 <GIC_SPI 280 IRQ_TYPE_LEVEL_HIGH>,
893 <GIC_SPI 281 IRQ_TYPE_LEVEL_HIGH>,
894 <GIC_SPI 282 IRQ_TYPE_LEVEL_HIGH>,
895 <GIC_SPI 283 IRQ_TYPE_LEVEL_HIGH>,
896 <GIC_SPI 284 IRQ_TYPE_LEVEL_HIGH>,
897 <GIC_SPI 293 IRQ_TYPE_LEVEL_HIGH>,
898 <GIC_SPI 294 IRQ_TYPE_LEVEL_HIGH>,
899 <GIC_SPI 295 IRQ_TYPE_LEVEL_HIGH>,
900 <GIC_SPI 296 IRQ_TYPE_LEVEL_HIGH>,
901 <GIC_SPI 297 IRQ_TYPE_LEVEL_HIGH>,
902 <GIC_SPI 298 IRQ_TYPE_LEVEL_HIGH>,
903 <GIC_SPI 299 IRQ_TYPE_LEVEL_HIGH>;
904 dma-channels = <13>;
905 dma-channel-mask = <0xfa>;
906 iommus = <&apps_smmu 0x6d6 0x0>;
907 status = "disabled";
908 };
909
910 qupv3_id_1: geniqup@ac0000 {
911 compatible = "qcom,geni-se-qup";
912 reg = <0 0x00ac0000 0 0x6000>;
913 clock-names = "m-ahb", "s-ahb";
914 clocks = <&gcc GCC_QUPV3_WRAP_1_M_AHB_CLK>,
915 <&gcc GCC_QUPV3_WRAP_1_S_AHB_CLK>;
916 iommus = <&apps_smmu 0x6c3 0x0>;
917 #address-cells = <2>;
918 #size-cells = <2>;
919 ranges;
920 interconnects = <&aggre2_noc MASTER_BLSP_2 0 &config_noc SLAVE_BLSP_2 0>;
921 interconnect-names = "qup-core";
922 status = "disabled";
923
924 i2c8: i2c@a80000 {
925 compatible = "qcom,geni-i2c";
926 reg = <0 0x00a80000 0 0x4000>;
927 clock-names = "se";
928 clocks = <&gcc GCC_QUPV3_WRAP1_S0_CLK>;
929 pinctrl-names = "default";
930 pinctrl-0 = <&qup_i2c8_default>;
931 interrupts = <GIC_SPI 353 IRQ_TYPE_LEVEL_HIGH>;
932 #address-cells = <1>;
933 #size-cells = <0>;
934 power-domains = <&rpmhpd SDM670_CX>;
935 interconnects = <&aggre2_noc MASTER_BLSP_2 0 &config_noc SLAVE_BLSP_2 0>,
936 <&gladiator_noc MASTER_AMPSS_M0 0 &config_noc SLAVE_BLSP_2 0>,
937 <&aggre2_noc MASTER_BLSP_2 0 &mem_noc SLAVE_EBI_CH0 0>;
938 interconnect-names = "qup-core", "qup-config", "qup-memory";
939 dmas = <&gpi_dma1 0 0 QCOM_GPI_I2C>,
940 <&gpi_dma1 1 0 QCOM_GPI_I2C>;
941 dma-names = "tx", "rx";
942 status = "disabled";
943 };
944
945 i2c9: i2c@a84000 {
946 compatible = "qcom,geni-i2c";
947 reg = <0 0x00a84000 0 0x4000>;
948 clock-names = "se";
949 clocks = <&gcc GCC_QUPV3_WRAP1_S1_CLK>;
950 pinctrl-names = "default";
951 pinctrl-0 = <&qup_i2c9_default>;
952 interrupts = <GIC_SPI 354 IRQ_TYPE_LEVEL_HIGH>;
953 #address-cells = <1>;
954 #size-cells = <0>;
955 power-domains = <&rpmhpd SDM670_CX>;
956 interconnects = <&aggre2_noc MASTER_BLSP_2 0 &config_noc SLAVE_BLSP_2 0>,
957 <&gladiator_noc MASTER_AMPSS_M0 0 &config_noc SLAVE_BLSP_2 0>,
958 <&aggre2_noc MASTER_BLSP_2 0 &mem_noc SLAVE_EBI_CH0 0>;
959 interconnect-names = "qup-core", "qup-config", "qup-memory";
960 dmas = <&gpi_dma1 0 1 QCOM_GPI_I2C>,
961 <&gpi_dma1 1 1 QCOM_GPI_I2C>;
962 dma-names = "tx", "rx";
963 status = "disabled";
964 };
965
966 i2c10: i2c@a88000 {
967 compatible = "qcom,geni-i2c";
968 reg = <0 0x00a88000 0 0x4000>;
969 clock-names = "se";
970 clocks = <&gcc GCC_QUPV3_WRAP1_S2_CLK>;
971 pinctrl-names = "default";
972 pinctrl-0 = <&qup_i2c10_default>;
973 interrupts = <GIC_SPI 355 IRQ_TYPE_LEVEL_HIGH>;
974 #address-cells = <1>;
975 #size-cells = <0>;
976 power-domains = <&rpmhpd SDM670_CX>;
977 interconnects = <&aggre2_noc MASTER_BLSP_2 0 &config_noc SLAVE_BLSP_2 0>,
978 <&gladiator_noc MASTER_AMPSS_M0 0 &config_noc SLAVE_BLSP_2 0>,
979 <&aggre2_noc MASTER_BLSP_2 0 &mem_noc SLAVE_EBI_CH0 0>;
980 interconnect-names = "qup-core", "qup-config", "qup-memory";
981 dmas = <&gpi_dma1 0 2 QCOM_GPI_I2C>,
982 <&gpi_dma1 1 2 QCOM_GPI_I2C>;
983 dma-names = "tx", "rx";
984 status = "disabled";
985 };
986
987 i2c11: i2c@a8c000 {
988 compatible = "qcom,geni-i2c";
989 reg = <0 0x00a8c000 0 0x4000>;
990 clock-names = "se";
991 clocks = <&gcc GCC_QUPV3_WRAP1_S3_CLK>;
992 pinctrl-names = "default";
993 pinctrl-0 = <&qup_i2c11_default>;
994 interrupts = <GIC_SPI 356 IRQ_TYPE_LEVEL_HIGH>;
995 #address-cells = <1>;
996 #size-cells = <0>;
997 power-domains = <&rpmhpd SDM670_CX>;
998 interconnects = <&aggre2_noc MASTER_BLSP_2 0 &config_noc SLAVE_BLSP_2 0>,
999 <&gladiator_noc MASTER_AMPSS_M0 0 &config_noc SLAVE_BLSP_2 0>,
1000 <&aggre2_noc MASTER_BLSP_2 0 &mem_noc SLAVE_EBI_CH0 0>;
1001 interconnect-names = "qup-core", "qup-config", "qup-memory";
1002 dmas = <&gpi_dma1 0 3 QCOM_GPI_I2C>,
1003 <&gpi_dma1 1 3 QCOM_GPI_I2C>;
1004 dma-names = "tx", "rx";
1005 status = "disabled";
1006 };
1007
1008 i2c12: i2c@a90000 {
1009 compatible = "qcom,geni-i2c";
1010 reg = <0 0x00a90000 0 0x4000>;
1011 clock-names = "se";
1012 clocks = <&gcc GCC_QUPV3_WRAP1_S4_CLK>;
1013 pinctrl-names = "default";
1014 pinctrl-0 = <&qup_i2c12_default>;
1015 interrupts = <GIC_SPI 357 IRQ_TYPE_LEVEL_HIGH>;
1016 #address-cells = <1>;
1017 #size-cells = <0>;
1018 power-domains = <&rpmhpd SDM670_CX>;
1019 interconnects = <&aggre2_noc MASTER_BLSP_2 0 &config_noc SLAVE_BLSP_2 0>,
1020 <&gladiator_noc MASTER_AMPSS_M0 0 &config_noc SLAVE_BLSP_2 0>,
1021 <&aggre2_noc MASTER_BLSP_2 0 &mem_noc SLAVE_EBI_CH0 0>;
1022 interconnect-names = "qup-core", "qup-config", "qup-memory";
1023 dmas = <&gpi_dma1 0 4 QCOM_GPI_I2C>,
1024 <&gpi_dma1 1 4 QCOM_GPI_I2C>;
1025 dma-names = "tx", "rx";
1026 status = "disabled";
1027 };
1028
1029 i2c13: i2c@a94000 {
1030 compatible = "qcom,geni-i2c";
1031 reg = <0 0x00a94000 0 0x4000>;
1032 clock-names = "se";
1033 clocks = <&gcc GCC_QUPV3_WRAP1_S5_CLK>;
1034 pinctrl-names = "default";
1035 pinctrl-0 = <&qup_i2c13_default>;
1036 interrupts = <GIC_SPI 358 IRQ_TYPE_LEVEL_HIGH>;
1037 #address-cells = <1>;
1038 #size-cells = <0>;
1039 power-domains = <&rpmhpd SDM670_CX>;
1040 interconnects = <&aggre2_noc MASTER_BLSP_2 0 &config_noc SLAVE_BLSP_2 0>,
1041 <&gladiator_noc MASTER_AMPSS_M0 0 &config_noc SLAVE_BLSP_2 0>,
1042 <&aggre2_noc MASTER_BLSP_2 0 &mem_noc SLAVE_EBI_CH0 0>;
1043 interconnect-names = "qup-core", "qup-config", "qup-memory";
1044 dmas = <&gpi_dma1 0 5 QCOM_GPI_I2C>,
1045 <&gpi_dma1 1 5 QCOM_GPI_I2C>;
1046 dma-names = "tx", "rx";
1047 status = "disabled";
1048 };
1049
1050 i2c14: i2c@a98000 {
1051 compatible = "qcom,geni-i2c";
1052 reg = <0 0x00a98000 0 0x4000>;
1053 clock-names = "se";
1054 clocks = <&gcc GCC_QUPV3_WRAP1_S6_CLK>;
1055 pinctrl-names = "default";
1056 pinctrl-0 = <&qup_i2c14_default>;
1057 interrupts = <GIC_SPI 359 IRQ_TYPE_LEVEL_HIGH>;
1058 #address-cells = <1>;
1059 #size-cells = <0>;
1060 power-domains = <&rpmhpd SDM670_CX>;
1061 interconnects = <&aggre2_noc MASTER_BLSP_2 0 &config_noc SLAVE_BLSP_2 0>,
1062 <&gladiator_noc MASTER_AMPSS_M0 0 &config_noc SLAVE_BLSP_2 0>,
1063 <&aggre2_noc MASTER_BLSP_2 0 &mem_noc SLAVE_EBI_CH0 0>;
1064 interconnect-names = "qup-core", "qup-config", "qup-memory";
1065 dmas = <&gpi_dma1 0 6 QCOM_GPI_I2C>,
1066 <&gpi_dma1 1 6 QCOM_GPI_I2C>;
1067 dma-names = "tx", "rx";
1068 status = "disabled";
1069 };
1070
1071 i2c15: i2c@a9c000 {
1072 compatible = "qcom,geni-i2c";
1073 reg = <0 0x00a9c000 0 0x4000>;
1074 clock-names = "se";
1075 clocks = <&gcc GCC_QUPV3_WRAP1_S7_CLK>;
1076 pinctrl-names = "default";
1077 pinctrl-0 = <&qup_i2c15_default>;
1078 interrupts = <GIC_SPI 360 IRQ_TYPE_LEVEL_HIGH>;
1079 #address-cells = <1>;
1080 #size-cells = <0>;
1081 power-domains = <&rpmhpd SDM670_CX>;
1082 interconnects = <&aggre2_noc MASTER_BLSP_2 0 &config_noc SLAVE_BLSP_2 0>,
1083 <&gladiator_noc MASTER_AMPSS_M0 0 &config_noc SLAVE_BLSP_2 0>,
1084 <&aggre2_noc MASTER_BLSP_2 0 &mem_noc SLAVE_EBI_CH0 0>;
1085 interconnect-names = "qup-core", "qup-config", "qup-memory";
1086 dmas = <&gpi_dma1 0 7 QCOM_GPI_I2C>,
1087 <&gpi_dma1 1 7 QCOM_GPI_I2C>;
1088 dma-names = "tx", "rx";
1089 status = "disabled";
1090 };
1091 };
1092
1093 mem_noc: interconnect@1380000 {
1094 compatible = "qcom,sdm670-mem-noc";
1095 reg = <0 0x01380000 0 0x27200>;
1096 #interconnect-cells = <2>;
1097 qcom,bcm-voters = <&apps_bcm_voter>;
1098 };
1099
1100 dc_noc: interconnect@14e0000 {
1101 compatible = "qcom,sdm670-dc-noc";
1102 reg = <0 0x014e0000 0 0x400>;
1103 #interconnect-cells = <2>;
1104 qcom,bcm-voters = <&apps_bcm_voter>;
1105 };
1106
1107 config_noc: interconnect@1500000 {
1108 compatible = "qcom,sdm670-config-noc";
1109 reg = <0 0x01500000 0 0x5080>;
1110 #interconnect-cells = <2>;
1111 qcom,bcm-voters = <&apps_bcm_voter>;
1112 };
1113
1114 system_noc: interconnect@1620000 {
1115 compatible = "qcom,sdm670-system-noc";
1116 reg = <0 0x01620000 0 0x18080>;
1117 #interconnect-cells = <2>;
1118 qcom,bcm-voters = <&apps_bcm_voter>;
1119 };
1120
1121 aggre1_noc: interconnect@16e0000 {
1122 compatible = "qcom,sdm670-aggre1-noc";
1123 reg = <0 0x016e0000 0 0x15080>;
1124 #interconnect-cells = <2>;
1125 qcom,bcm-voters = <&apps_bcm_voter>;
1126 };
1127
1128 aggre2_noc: interconnect@1700000 {
1129 compatible = "qcom,sdm670-aggre2-noc";
1130 reg = <0 0x01700000 0 0x1f300>;
1131 #interconnect-cells = <2>;
1132 qcom,bcm-voters = <&apps_bcm_voter>;
1133 };
1134
1135 mmss_noc: interconnect@1740000 {
1136 compatible = "qcom,sdm670-mmss-noc";
1137 reg = <0 0x01740000 0 0x1c100>;
1138 #interconnect-cells = <2>;
1139 qcom,bcm-voters = <&apps_bcm_voter>;
1140 };
1141
1142 tlmm: pinctrl@3400000 {
1143 compatible = "qcom,sdm670-tlmm";
1144 reg = <0 0x03400000 0 0xc00000>;
1145 interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>;
1146 gpio-controller;
1147 #gpio-cells = <2>;
1148 interrupt-controller;
1149 #interrupt-cells = <2>;
1150 gpio-ranges = <&tlmm 0 0 151>;
1151 wakeup-parent = <&pdc>;
1152
1153 qup_i2c0_default: qup-i2c0-default-state {
1154 pins = "gpio0", "gpio1";
1155 function = "qup0";
1156 };
1157
1158 qup_i2c1_default: qup-i2c1-default-state {
1159 pins = "gpio17", "gpio18";
1160 function = "qup1";
1161 };
1162
1163 qup_i2c2_default: qup-i2c2-default-state {
1164 pins = "gpio27", "gpio28";
1165 function = "qup2";
1166 };
1167
1168 qup_i2c3_default: qup-i2c3-default-state {
1169 pins = "gpio41", "gpio42";
1170 function = "qup3";
1171 };
1172
1173 qup_i2c4_default: qup-i2c4-default-state {
1174 pins = "gpio89", "gpio90";
1175 function = "qup4";
1176 };
1177
1178 qup_i2c5_default: qup-i2c5-default-state {
1179 pins = "gpio85", "gpio86";
1180 function = "qup5";
1181 };
1182
1183 qup_i2c6_default: qup-i2c6-default-state {
1184 pins = "gpio45", "gpio46";
1185 function = "qup6";
1186 };
1187
1188 qup_i2c7_default: qup-i2c7-default-state {
1189 pins = "gpio93", "gpio94";
1190 function = "qup7";
1191 };
1192
1193 qup_i2c8_default: qup-i2c8-default-state {
1194 pins = "gpio65", "gpio66";
1195 function = "qup8";
1196 };
1197
1198 qup_i2c9_default: qup-i2c9-default-state {
1199 pins = "gpio6", "gpio7";
1200 function = "qup9";
1201 };
1202
1203 qup_i2c10_default: qup-i2c10-default-state {
1204 pins = "gpio55", "gpio56";
1205 function = "qup10";
1206 };
1207
1208 qup_i2c11_default: qup-i2c11-default-state {
1209 pins = "gpio31", "gpio32";
1210 function = "qup11";
1211 };
1212
1213 qup_i2c12_default: qup-i2c12-default-state {
1214 pins = "gpio49", "gpio50";
1215 function = "qup12";
1216 };
1217
1218 qup_i2c13_default: qup-i2c13-default-state {
1219 pins = "gpio105", "gpio106";
1220 function = "qup13";
1221 };
1222
1223 qup_i2c14_default: qup-i2c14-default-state {
1224 pins = "gpio33", "gpio34";
1225 function = "qup14";
1226 };
1227
1228 qup_i2c15_default: qup-i2c15-default-state {
1229 pins = "gpio81", "gpio82";
1230 function = "qup15";
1231 };
1232
1233 sdc1_state_on: sdc1-on-state {
1234 clk-pins {
1235 pins = "sdc1_clk";
1236 bias-disable;
1237 drive-strength = <16>;
1238 };
1239
1240 cmd-pins {
1241 pins = "sdc1_cmd";
1242 bias-pull-up;
1243 drive-strength = <10>;
1244 };
1245
1246 data-pins {
1247 pins = "sdc1_data";
1248 bias-pull-up;
1249 drive-strength = <10>;
1250 };
1251
1252 rclk-pins {
1253 pins = "sdc1_rclk";
1254 bias-pull-down;
1255 };
1256 };
1257
1258 sdc1_state_off: sdc1-off-state {
1259 clk-pins {
1260 pins = "sdc1_clk";
1261 bias-disable;
1262 drive-strength = <2>;
1263 };
1264
1265 cmd-pins {
1266 pins = "sdc1_cmd";
1267 bias-pull-up;
1268 drive-strength = <2>;
1269 };
1270
1271 data-pins {
1272 pins = "sdc1_data";
1273 bias-pull-up;
1274 drive-strength = <2>;
1275 };
1276
1277 rclk-pins {
1278 pins = "sdc1_rclk";
1279 bias-pull-down;
1280 };
1281 };
1282 };
1283
1284 usb_1_hsphy: phy@88e2000 {
1285 compatible = "qcom,sdm670-qusb2-phy", "qcom,qusb2-v2-phy";
1286 reg = <0 0x088e2000 0 0x400>;
1287 #phy-cells = <0>;
1288
1289 clocks = <&gcc GCC_USB_PHY_CFG_AHB2PHY_CLK>,
1290 <&rpmhcc RPMH_CXO_CLK>;
1291 clock-names = "cfg_ahb", "ref";
1292
1293 resets = <&gcc GCC_QUSB2PHY_PRIM_BCR>;
1294
1295 nvmem-cells = <&qusb2_hstx_trim>;
1296
1297 status = "disabled";
1298 };
1299
1300 usb_1: usb@a6f8800 {
1301 compatible = "qcom,sdm670-dwc3", "qcom,dwc3";
1302 reg = <0 0x0a6f8800 0 0x400>;
1303 #address-cells = <2>;
1304 #size-cells = <2>;
1305 ranges;
1306 dma-ranges;
1307
1308 clocks = <&gcc GCC_CFG_NOC_USB3_PRIM_AXI_CLK>,
1309 <&gcc GCC_USB30_PRIM_MASTER_CLK>,
1310 <&gcc GCC_AGGRE_USB3_PRIM_AXI_CLK>,
1311 <&gcc GCC_USB30_PRIM_SLEEP_CLK>,
1312 <&gcc GCC_USB30_PRIM_MOCK_UTMI_CLK>;
1313 clock-names = "cfg_noc",
1314 "core",
1315 "iface",
1316 "sleep",
1317 "mock_utmi";
1318
1319 assigned-clocks = <&gcc GCC_USB30_PRIM_MOCK_UTMI_CLK>,
1320 <&gcc GCC_USB30_PRIM_MASTER_CLK>;
1321 assigned-clock-rates = <19200000>, <150000000>;
1322
Tom Rini93743d22024-04-01 09:08:13 -04001323 interrupts-extended = <&intc GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>,
1324 <&pdc 6 IRQ_TYPE_LEVEL_HIGH>,
1325 <&pdc 8 IRQ_TYPE_EDGE_BOTH>,
1326 <&pdc 9 IRQ_TYPE_EDGE_BOTH>;
Tom Rini53633a82024-02-29 12:33:36 -05001327 interrupt-names = "hs_phy_irq", "ss_phy_irq",
1328 "dm_hs_phy_irq", "dp_hs_phy_irq";
1329
1330 power-domains = <&gcc USB30_PRIM_GDSC>;
1331
1332 resets = <&gcc GCC_USB30_PRIM_BCR>;
1333
1334 interconnects = <&aggre2_noc MASTER_USB3 0 &mem_noc SLAVE_EBI_CH0 0>,
1335 <&gladiator_noc MASTER_AMPSS_M0 0 &config_noc SLAVE_USB3 0>;
1336 interconnect-names = "usb-ddr", "apps-usb";
1337
1338 status = "disabled";
1339
1340 usb_1_dwc3: usb@a600000 {
1341 compatible = "snps,dwc3";
1342 reg = <0 0x0a600000 0 0xcd00>;
1343 interrupts = <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>;
1344 iommus = <&apps_smmu 0x740 0>;
1345 snps,dis_u2_susphy_quirk;
1346 snps,dis_enblslpm_quirk;
1347 phys = <&usb_1_hsphy>;
1348 phy-names = "usb2-phy";
1349 };
1350 };
1351
1352 pdc: interrupt-controller@b220000 {
1353 compatible = "qcom,sdm670-pdc", "qcom,pdc";
1354 reg = <0 0x0b220000 0 0x30000>;
1355 qcom,pdc-ranges = <0 480 40>, <41 521 7>, <49 529 4>,
1356 <54 534 24>, <79 559 15>, <94 609 15>,
1357 <115 630 7>;
1358 #interrupt-cells = <2>;
1359 interrupt-parent = <&intc>;
1360 interrupt-controller;
1361 };
1362
1363 spmi_bus: spmi@c440000 {
1364 compatible = "qcom,spmi-pmic-arb";
1365 reg = <0 0x0c440000 0 0x1100>,
1366 <0 0x0c600000 0 0x2000000>,
1367 <0 0x0e600000 0 0x100000>,
1368 <0 0x0e700000 0 0xa0000>,
1369 <0 0x0c40a000 0 0x26000>;
1370 reg-names = "core", "chnls", "obsrvr", "intr", "cnfg";
1371 interrupt-names = "periph_irq";
1372 interrupts = <GIC_SPI 481 IRQ_TYPE_LEVEL_HIGH>;
1373 qcom,ee = <0>;
1374 qcom,channel = <0>;
1375 #address-cells = <2>;
1376 #size-cells = <0>;
1377 interrupt-controller;
1378 #interrupt-cells = <4>;
1379 };
1380
Tom Rini93743d22024-04-01 09:08:13 -04001381 mdss: display-subsystem@ae00000 {
1382 compatible = "qcom,sdm670-mdss";
1383 reg = <0 0x0ae00000 0 0x1000>;
1384 reg-names = "mdss";
1385
1386 power-domains = <&dispcc MDSS_GDSC>;
1387
1388 clocks = <&dispcc DISP_CC_MDSS_AHB_CLK>,
1389 <&dispcc DISP_CC_MDSS_MDP_CLK>;
1390 clock-names = "iface", "core";
1391
1392 interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
1393 interrupt-controller;
1394 #interrupt-cells = <1>;
1395
1396 interconnects = <&mmss_noc MASTER_MDP_PORT0 0 &mem_noc SLAVE_EBI_CH0 0>,
1397 <&mmss_noc MASTER_MDP_PORT1 0 &mem_noc SLAVE_EBI_CH0 0>;
1398 interconnect-names = "mdp0-mem", "mdp1-mem";
1399
1400 iommus = <&apps_smmu 0x880 0x8>,
1401 <&apps_smmu 0xc80 0x8>;
1402
1403 #address-cells = <2>;
1404 #size-cells = <2>;
1405 ranges;
1406
1407 status = "disabled";
1408
1409 mdss_mdp: display-controller@ae01000 {
1410 compatible = "qcom,sdm670-dpu";
1411 reg = <0 0x0ae01000 0 0x8f000>,
1412 <0 0x0aeb0000 0 0x2008>;
1413 reg-names = "mdp", "vbif";
1414
1415 clocks = <&gcc GCC_DISP_AXI_CLK>,
1416 <&dispcc DISP_CC_MDSS_AHB_CLK>,
1417 <&dispcc DISP_CC_MDSS_AXI_CLK>,
1418 <&dispcc DISP_CC_MDSS_MDP_CLK>,
1419 <&dispcc DISP_CC_MDSS_VSYNC_CLK>;
1420 clock-names = "gcc-bus", "iface", "bus", "core", "vsync";
1421
1422 assigned-clocks = <&dispcc DISP_CC_MDSS_VSYNC_CLK>;
1423 assigned-clock-rates = <19200000>;
1424 operating-points-v2 = <&mdp_opp_table>;
1425 power-domains = <&rpmhpd SDM670_CX>;
1426
1427 interrupt-parent = <&mdss>;
1428 interrupts = <0>;
1429
1430 ports {
1431 #address-cells = <1>;
1432 #size-cells = <0>;
1433
1434 port@0 {
1435 reg = <0>;
1436 dpu_intf0_out: endpoint {
1437 remote-endpoint = <&mdss_dsi0_in>;
1438 };
1439 };
1440
1441 port@1 {
1442 reg = <1>;
1443 dpu_intf1_out: endpoint {
1444 remote-endpoint = <&mdss_dsi1_in>;
1445 };
1446 };
1447 };
1448
1449 mdp_opp_table: opp-table {
1450 compatible = "operating-points-v2";
1451
1452 opp-19200000 {
1453 opp-hz = /bits/ 64 <19200000>;
1454 required-opps = <&rpmhpd_opp_min_svs>;
1455 };
1456
1457 opp-171428571 {
1458 opp-hz = /bits/ 64 <171428571>;
1459 required-opps = <&rpmhpd_opp_low_svs>;
1460 };
1461
1462 opp-358000000 {
1463 opp-hz = /bits/ 64 <358000000>;
1464 required-opps = <&rpmhpd_opp_svs_l1>;
1465 };
1466
1467 opp-430000000 {
1468 opp-hz = /bits/ 64 <430000000>;
1469 required-opps = <&rpmhpd_opp_nom>;
1470 };
1471 };
1472 };
1473
1474 mdss_dsi0: dsi@ae94000 {
1475 compatible = "qcom,sdm670-dsi-ctrl",
1476 "qcom,mdss-dsi-ctrl";
1477 reg = <0 0x0ae94000 0 0x400>;
1478 reg-names = "dsi_ctrl";
1479
1480 interrupt-parent = <&mdss>;
1481 interrupts = <4>;
1482
1483 clocks = <&dispcc DISP_CC_MDSS_BYTE0_CLK>,
1484 <&dispcc DISP_CC_MDSS_BYTE0_INTF_CLK>,
1485 <&dispcc DISP_CC_MDSS_PCLK0_CLK>,
1486 <&dispcc DISP_CC_MDSS_ESC0_CLK>,
1487 <&dispcc DISP_CC_MDSS_AHB_CLK>,
1488 <&dispcc DISP_CC_MDSS_AXI_CLK>;
1489 clock-names = "byte",
1490 "byte_intf",
1491 "pixel",
1492 "core",
1493 "iface",
1494 "bus";
1495 assigned-clocks = <&dispcc DISP_CC_MDSS_BYTE0_CLK_SRC>,
1496 <&dispcc DISP_CC_MDSS_PCLK0_CLK_SRC>;
1497 assigned-clock-parents = <&mdss_dsi0_phy 0>,
1498 <&mdss_dsi0_phy 1>;
1499
1500 operating-points-v2 = <&dsi_opp_table>;
1501 power-domains = <&rpmhpd SDM670_CX>;
1502
1503 phys = <&mdss_dsi0_phy>;
1504
1505 #address-cells = <1>;
1506 #size-cells = <0>;
1507
1508 status = "disabled";
1509
1510 ports {
1511 #address-cells = <1>;
1512 #size-cells = <0>;
1513
1514 port@0 {
1515 reg = <0>;
1516 mdss_dsi0_in: endpoint {
1517 remote-endpoint = <&dpu_intf0_out>;
1518 };
1519 };
1520
1521 port@1 {
1522 reg = <1>;
1523 mdss_dsi0_out: endpoint {
1524 };
1525 };
1526 };
1527 };
1528
1529 mdss_dsi0_phy: phy@ae94400 {
1530 compatible = "qcom,dsi-phy-10nm";
1531 reg = <0 0x0ae94400 0 0x200>,
1532 <0 0x0ae94600 0 0x280>,
1533 <0 0x0ae94a00 0 0x1e0>;
1534 reg-names = "dsi_phy",
1535 "dsi_phy_lane",
1536 "dsi_pll";
1537
1538 #clock-cells = <1>;
1539 #phy-cells = <0>;
1540
1541 clocks = <&dispcc DISP_CC_MDSS_AHB_CLK>,
1542 <&rpmhcc RPMH_CXO_CLK>;
1543 clock-names = "iface", "ref";
1544
1545 status = "disabled";
1546 };
1547
1548 mdss_dsi1: dsi@ae96000 {
1549 compatible = "qcom,sdm670-dsi-ctrl",
1550 "qcom,mdss-dsi-ctrl";
1551 reg = <0 0x0ae96000 0 0x400>;
1552 reg-names = "dsi_ctrl";
1553
1554 interrupt-parent = <&mdss>;
1555 interrupts = <5>;
1556
1557 clocks = <&dispcc DISP_CC_MDSS_BYTE1_CLK>,
1558 <&dispcc DISP_CC_MDSS_BYTE1_INTF_CLK>,
1559 <&dispcc DISP_CC_MDSS_PCLK1_CLK>,
1560 <&dispcc DISP_CC_MDSS_ESC1_CLK>,
1561 <&dispcc DISP_CC_MDSS_AHB_CLK>,
1562 <&dispcc DISP_CC_MDSS_AXI_CLK>;
1563 clock-names = "byte",
1564 "byte_intf",
1565 "pixel",
1566 "core",
1567 "iface",
1568 "bus";
1569 assigned-clocks = <&dispcc DISP_CC_MDSS_BYTE1_CLK_SRC>,
1570 <&dispcc DISP_CC_MDSS_PCLK1_CLK_SRC>;
1571 assigned-clock-parents = <&mdss_dsi1_phy 0>, <&mdss_dsi1_phy 1>;
1572
1573 operating-points-v2 = <&dsi_opp_table>;
1574 power-domains = <&rpmhpd SDM670_CX>;
1575
1576 phys = <&mdss_dsi1_phy>;
1577
1578 #address-cells = <1>;
1579 #size-cells = <0>;
1580
1581 status = "disabled";
1582
1583 ports {
1584 #address-cells = <1>;
1585 #size-cells = <0>;
1586
1587 port@0 {
1588 reg = <0>;
1589 mdss_dsi1_in: endpoint {
1590 remote-endpoint = <&dpu_intf1_out>;
1591 };
1592 };
1593
1594 port@1 {
1595 reg = <1>;
1596 mdss_dsi1_out: endpoint {
1597 };
1598 };
1599 };
1600 };
1601
1602 mdss_dsi1_phy: phy@ae96400 {
1603 compatible = "qcom,dsi-phy-10nm";
1604 reg = <0 0x0ae96400 0 0x200>,
1605 <0 0x0ae96600 0 0x280>,
1606 <0 0x0ae96a00 0 0x10e>;
1607 reg-names = "dsi_phy",
1608 "dsi_phy_lane",
1609 "dsi_pll";
1610
1611 #clock-cells = <1>;
1612 #phy-cells = <0>;
1613
1614 clocks = <&dispcc DISP_CC_MDSS_AHB_CLK>,
1615 <&rpmhcc RPMH_CXO_CLK>;
1616 clock-names = "iface", "ref";
1617
1618 status = "disabled";
1619 };
1620 };
1621
1622 dispcc: clock-controller@af00000 {
1623 compatible = "qcom,sdm845-dispcc";
1624 reg = <0 0x0af00000 0 0x10000>;
1625 clocks = <&rpmhcc RPMH_CXO_CLK>,
1626 <&gcc GCC_DISP_GPLL0_CLK_SRC>,
1627 <&gcc GCC_DISP_GPLL0_DIV_CLK_SRC>,
1628 <&mdss_dsi0_phy 0>,
1629 <&mdss_dsi0_phy 1>,
1630 <&mdss_dsi1_phy 0>,
1631 <&mdss_dsi1_phy 1>,
1632 <0>,
1633 <0>;
1634 clock-names = "bi_tcxo",
1635 "gcc_disp_gpll0_clk_src",
1636 "gcc_disp_gpll0_div_clk_src",
1637 "dsi0_phy_pll_out_byteclk",
1638 "dsi0_phy_pll_out_dsiclk",
1639 "dsi1_phy_pll_out_byteclk",
1640 "dsi1_phy_pll_out_dsiclk",
1641 "dp_link_clk_divsel_ten",
1642 "dp_vco_divided_clk_src_mux";
1643 #clock-cells = <1>;
1644 #reset-cells = <1>;
1645 #power-domain-cells = <1>;
1646 };
1647
Tom Rini53633a82024-02-29 12:33:36 -05001648 apps_smmu: iommu@15000000 {
1649 compatible = "qcom,sdm670-smmu-500", "qcom,smmu-500", "arm,mmu-500";
1650 reg = <0 0x15000000 0 0x80000>;
1651 #iommu-cells = <2>;
1652 #global-interrupts = <1>;
1653 interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>,
1654 <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>,
1655 <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>,
1656 <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>,
1657 <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>,
1658 <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>,
1659 <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>,
1660 <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>,
1661 <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>,
1662 <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>,
1663 <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>,
1664 <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>,
1665 <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>,
1666 <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>,
1667 <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>,
1668 <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>,
1669 <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>,
1670 <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>,
1671 <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>,
1672 <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>,
1673 <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>,
1674 <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>,
1675 <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>,
1676 <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>,
1677 <GIC_SPI 181 IRQ_TYPE_LEVEL_HIGH>,
1678 <GIC_SPI 182 IRQ_TYPE_LEVEL_HIGH>,
1679 <GIC_SPI 183 IRQ_TYPE_LEVEL_HIGH>,
1680 <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>,
1681 <GIC_SPI 185 IRQ_TYPE_LEVEL_HIGH>,
1682 <GIC_SPI 186 IRQ_TYPE_LEVEL_HIGH>,
1683 <GIC_SPI 187 IRQ_TYPE_LEVEL_HIGH>,
1684 <GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>,
1685 <GIC_SPI 189 IRQ_TYPE_LEVEL_HIGH>,
1686 <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>,
1687 <GIC_SPI 191 IRQ_TYPE_LEVEL_HIGH>,
1688 <GIC_SPI 192 IRQ_TYPE_LEVEL_HIGH>,
1689 <GIC_SPI 315 IRQ_TYPE_LEVEL_HIGH>,
1690 <GIC_SPI 316 IRQ_TYPE_LEVEL_HIGH>,
1691 <GIC_SPI 317 IRQ_TYPE_LEVEL_HIGH>,
1692 <GIC_SPI 318 IRQ_TYPE_LEVEL_HIGH>,
1693 <GIC_SPI 319 IRQ_TYPE_LEVEL_HIGH>,
1694 <GIC_SPI 320 IRQ_TYPE_LEVEL_HIGH>,
1695 <GIC_SPI 321 IRQ_TYPE_LEVEL_HIGH>,
1696 <GIC_SPI 322 IRQ_TYPE_LEVEL_HIGH>,
1697 <GIC_SPI 323 IRQ_TYPE_LEVEL_HIGH>,
1698 <GIC_SPI 324 IRQ_TYPE_LEVEL_HIGH>,
1699 <GIC_SPI 325 IRQ_TYPE_LEVEL_HIGH>,
1700 <GIC_SPI 326 IRQ_TYPE_LEVEL_HIGH>,
1701 <GIC_SPI 327 IRQ_TYPE_LEVEL_HIGH>,
1702 <GIC_SPI 328 IRQ_TYPE_LEVEL_HIGH>,
1703 <GIC_SPI 329 IRQ_TYPE_LEVEL_HIGH>,
1704 <GIC_SPI 330 IRQ_TYPE_LEVEL_HIGH>,
1705 <GIC_SPI 331 IRQ_TYPE_LEVEL_HIGH>,
1706 <GIC_SPI 332 IRQ_TYPE_LEVEL_HIGH>,
1707 <GIC_SPI 333 IRQ_TYPE_LEVEL_HIGH>,
1708 <GIC_SPI 334 IRQ_TYPE_LEVEL_HIGH>,
1709 <GIC_SPI 335 IRQ_TYPE_LEVEL_HIGH>,
1710 <GIC_SPI 336 IRQ_TYPE_LEVEL_HIGH>,
1711 <GIC_SPI 337 IRQ_TYPE_LEVEL_HIGH>,
1712 <GIC_SPI 338 IRQ_TYPE_LEVEL_HIGH>,
1713 <GIC_SPI 339 IRQ_TYPE_LEVEL_HIGH>,
1714 <GIC_SPI 340 IRQ_TYPE_LEVEL_HIGH>,
1715 <GIC_SPI 341 IRQ_TYPE_LEVEL_HIGH>,
1716 <GIC_SPI 342 IRQ_TYPE_LEVEL_HIGH>,
1717 <GIC_SPI 343 IRQ_TYPE_LEVEL_HIGH>;
1718 };
1719
1720 gladiator_noc: interconnect@17900000 {
1721 compatible = "qcom,sdm670-gladiator-noc";
1722 reg = <0 0x17900000 0 0xd080>;
1723 #interconnect-cells = <2>;
1724 qcom,bcm-voters = <&apps_bcm_voter>;
1725 };
1726
1727 apps_rsc: rsc@179c0000 {
1728 compatible = "qcom,rpmh-rsc";
1729 reg = <0 0x179c0000 0 0x10000>,
1730 <0 0x179d0000 0 0x10000>,
1731 <0 0x179e0000 0 0x10000>;
1732 reg-names = "drv-0", "drv-1", "drv-2";
1733 interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>,
1734 <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>,
1735 <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
1736 label = "apps_rsc";
1737 qcom,tcs-offset = <0xd00>;
1738 qcom,drv-id = <2>;
1739 qcom,tcs-config = <ACTIVE_TCS 2>,
1740 <SLEEP_TCS 3>,
1741 <WAKE_TCS 3>,
1742 <CONTROL_TCS 1>;
1743 power-domains = <&CLUSTER_PD>;
1744
1745 apps_bcm_voter: bcm-voter {
1746 compatible = "qcom,bcm-voter";
1747 };
1748
1749 rpmhcc: clock-controller {
1750 compatible = "qcom,sdm670-rpmh-clk";
1751 #clock-cells = <1>;
1752 clock-names = "xo";
1753 clocks = <&xo_board>;
1754 };
1755
1756 rpmhpd: power-controller {
1757 compatible = "qcom,sdm670-rpmhpd";
1758 #power-domain-cells = <1>;
1759 operating-points-v2 = <&rpmhpd_opp_table>;
1760
1761 rpmhpd_opp_table: opp-table {
1762 compatible = "operating-points-v2";
1763
1764 rpmhpd_opp_ret: opp1 {
1765 opp-level = <RPMH_REGULATOR_LEVEL_RETENTION>;
1766 };
1767
1768 rpmhpd_opp_min_svs: opp2 {
1769 opp-level = <RPMH_REGULATOR_LEVEL_MIN_SVS>;
1770 };
1771
1772 rpmhpd_opp_low_svs: opp3 {
1773 opp-level = <RPMH_REGULATOR_LEVEL_LOW_SVS>;
1774 };
1775
1776 rpmhpd_opp_svs: opp4 {
1777 opp-level = <RPMH_REGULATOR_LEVEL_SVS>;
1778 };
1779
1780 rpmhpd_opp_svs_l1: opp5 {
1781 opp-level = <RPMH_REGULATOR_LEVEL_SVS_L1>;
1782 };
1783
1784 rpmhpd_opp_nom: opp6 {
1785 opp-level = <RPMH_REGULATOR_LEVEL_NOM>;
1786 };
1787
1788 rpmhpd_opp_nom_l1: opp7 {
1789 opp-level = <RPMH_REGULATOR_LEVEL_NOM_L1>;
1790 };
1791
1792 rpmhpd_opp_nom_l2: opp8 {
1793 opp-level = <RPMH_REGULATOR_LEVEL_NOM_L2>;
1794 };
1795
1796 rpmhpd_opp_turbo: opp9 {
1797 opp-level = <RPMH_REGULATOR_LEVEL_TURBO>;
1798 };
1799
1800 rpmhpd_opp_turbo_l1: opp10 {
1801 opp-level = <RPMH_REGULATOR_LEVEL_TURBO_L1>;
1802 };
1803 };
1804 };
1805 };
1806
1807 intc: interrupt-controller@17a00000 {
1808 compatible = "arm,gic-v3";
1809 reg = <0 0x17a00000 0 0x10000>, /* GICD */
1810 <0 0x17a60000 0 0x100000>; /* GICR * 8 */
1811 interrupt-controller;
1812 interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>;
1813 #interrupt-cells = <3>;
1814 };
1815
1816 osm_l3: interconnect@17d41000 {
1817 compatible = "qcom,sdm670-osm-l3", "qcom,osm-l3";
1818 reg = <0 0x17d41000 0 0x1400>;
1819
1820 clocks = <&rpmhcc RPMH_CXO_CLK>, <&gcc GPLL0>;
1821 clock-names = "xo", "alternate";
1822
1823 #interconnect-cells = <1>;
1824 };
1825
1826 cpufreq_hw: cpufreq@17d43000 {
Tom Rini93743d22024-04-01 09:08:13 -04001827 compatible = "qcom,sdm670-cpufreq-hw", "qcom,cpufreq-hw";
Tom Rini53633a82024-02-29 12:33:36 -05001828 reg = <0 0x17d43000 0 0x1400>, <0 0x17d45800 0 0x1400>;
1829 reg-names = "freq-domain0", "freq-domain1";
1830
1831 clocks = <&rpmhcc RPMH_CXO_CLK>, <&gcc GPLL0>;
1832 clock-names = "xo", "alternate";
1833
1834 #freq-domain-cells = <1>;
1835 };
1836 };
1837};