]> git.ipfire.org Git - thirdparty/u-boot.git/blob - src/arm64/qcom/sdx75.dtsi
Squashed 'dts/upstream/' changes from aaba2d45dc2a..b35b9bd1d4ee
[thirdparty/u-boot.git] / src / arm64 / qcom / sdx75.dtsi
1 // SPDX-License-Identifier: BSD-3-Clause
2 /*
3 * SDX75 SoC device tree source
4 *
5 * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
6 *
7 */
8
9 #include <dt-bindings/clock/qcom,rpmh.h>
10 #include <dt-bindings/clock/qcom,sdx75-gcc.h>
11 #include <dt-bindings/interconnect/qcom,icc.h>
12 #include <dt-bindings/interconnect/qcom,sdx75.h>
13 #include <dt-bindings/interrupt-controller/arm-gic.h>
14 #include <dt-bindings/power/qcom,rpmhpd.h>
15 #include <dt-bindings/power/qcom-rpmpd.h>
16 #include <dt-bindings/soc/qcom,rpmh-rsc.h>
17
18 / {
19 #address-cells = <2>;
20 #size-cells = <2>;
21 interrupt-parent = <&intc>;
22
23 chosen: chosen { };
24
25 clocks {
26 xo_board: xo-board {
27 compatible = "fixed-clock";
28 clock-frequency = <76800000>;
29 #clock-cells = <0>;
30 };
31
32 sleep_clk: sleep-clk {
33 compatible = "fixed-clock";
34 clock-frequency = <32000>;
35 #clock-cells = <0>;
36 };
37 };
38
39 cpus {
40 #address-cells = <2>;
41 #size-cells = <0>;
42
43 CPU0: cpu@0 {
44 device_type = "cpu";
45 compatible = "arm,cortex-a55";
46 reg = <0x0 0x0>;
47 clocks = <&cpufreq_hw 0>;
48 enable-method = "psci";
49 power-domains = <&CPU_PD0>;
50 power-domain-names = "psci";
51 qcom,freq-domain = <&cpufreq_hw 0>;
52 capacity-dmips-mhz = <1024>;
53 dynamic-power-coefficient = <100>;
54 next-level-cache = <&L2_0>;
55
56 L2_0: l2-cache {
57 compatible = "cache";
58 cache-level = <2>;
59 cache-unified;
60 next-level-cache = <&L3_0>;
61 L3_0: l3-cache {
62 compatible = "cache";
63 cache-level = <3>;
64 cache-unified;
65 };
66 };
67 };
68
69 CPU1: cpu@100 {
70 device_type = "cpu";
71 compatible = "arm,cortex-a55";
72 reg = <0x0 0x100>;
73 clocks = <&cpufreq_hw 0>;
74 enable-method = "psci";
75 power-domains = <&CPU_PD1>;
76 power-domain-names = "psci";
77 qcom,freq-domain = <&cpufreq_hw 0>;
78 capacity-dmips-mhz = <1024>;
79 dynamic-power-coefficient = <100>;
80 next-level-cache = <&L2_100>;
81
82 L2_100: l2-cache {
83 compatible = "cache";
84 cache-level = <2>;
85 cache-unified;
86 next-level-cache = <&L3_0>;
87 };
88 };
89
90 CPU2: cpu@200 {
91 device_type = "cpu";
92 compatible = "arm,cortex-a55";
93 reg = <0x0 0x200>;
94 clocks = <&cpufreq_hw 0>;
95 enable-method = "psci";
96 power-domains = <&CPU_PD2>;
97 power-domain-names = "psci";
98 qcom,freq-domain = <&cpufreq_hw 0>;
99 capacity-dmips-mhz = <1024>;
100 dynamic-power-coefficient = <100>;
101 next-level-cache = <&L2_200>;
102
103 L2_200: l2-cache {
104 compatible = "cache";
105 cache-level = <2>;
106 cache-unified;
107 next-level-cache = <&L3_0>;
108 };
109 };
110
111 CPU3: cpu@300 {
112 device_type = "cpu";
113 compatible = "arm,cortex-a55";
114 reg = <0x0 0x300>;
115 clocks = <&cpufreq_hw 0>;
116 enable-method = "psci";
117 power-domains = <&CPU_PD3>;
118 power-domain-names = "psci";
119 qcom,freq-domain = <&cpufreq_hw 0>;
120 capacity-dmips-mhz = <1024>;
121 dynamic-power-coefficient = <100>;
122 next-level-cache = <&L2_300>;
123
124 L2_300: l2-cache {
125 compatible = "cache";
126 cache-level = <2>;
127 cache-unified;
128 next-level-cache = <&L3_0>;
129 };
130 };
131
132 cpu-map {
133 cluster0 {
134 core0 {
135 cpu = <&CPU0>;
136 };
137
138 core1 {
139 cpu = <&CPU1>;
140 };
141
142 core2 {
143 cpu = <&CPU2>;
144 };
145
146 core3 {
147 cpu = <&CPU3>;
148 };
149 };
150 };
151
152 idle-states {
153 entry-method = "psci";
154
155 CPU_OFF: cpu-sleep-0 {
156 compatible = "arm,idle-state";
157 entry-latency-us = <235>;
158 exit-latency-us = <428>;
159 min-residency-us = <1774>;
160 arm,psci-suspend-param = <0x40000003>;
161 local-timer-stop;
162 };
163
164 CPU_RAIL_OFF: cpu-rail-sleep-1 {
165 compatible = "arm,idle-state";
166 entry-latency-us = <800>;
167 exit-latency-us = <750>;
168 min-residency-us = <4090>;
169 arm,psci-suspend-param = <0x40000004>;
170 local-timer-stop;
171 };
172
173 };
174
175 domain-idle-states {
176 CLUSTER_SLEEP_0: cluster-sleep-0 {
177 compatible = "domain-idle-state";
178 arm,psci-suspend-param = <0x41000044>;
179 entry-latency-us = <1050>;
180 exit-latency-us = <2500>;
181 min-residency-us = <5309>;
182 };
183
184 CLUSTER_SLEEP_1: cluster-sleep-1 {
185 compatible = "domain-idle-state";
186 arm,psci-suspend-param = <0x41001344>;
187 entry-latency-us = <2761>;
188 exit-latency-us = <3964>;
189 min-residency-us = <8467>;
190 };
191
192 CLUSTER_SLEEP_2: cluster-sleep-2 {
193 compatible = "domain-idle-state";
194 arm,psci-suspend-param = <0x4100b344>;
195 entry-latency-us = <2793>;
196 exit-latency-us = <4023>;
197 min-residency-us = <9826>;
198 };
199 };
200 };
201
202 firmware {
203 scm: scm {
204 compatible = "qcom,scm-sdx75", "qcom,scm";
205 };
206 };
207
208 clk_virt: interconnect-0 {
209 compatible = "qcom,sdx75-clk-virt";
210 #interconnect-cells = <2>;
211 qcom,bcm-voters = <&apps_bcm_voter>;
212 clocks = <&rpmhcc RPMH_QPIC_CLK>;
213 };
214
215 mc_virt: interconnect-1 {
216 compatible = "qcom,sdx75-mc-virt";
217 #interconnect-cells = <2>;
218 qcom,bcm-voters = <&apps_bcm_voter>;
219 };
220
221 memory@80000000 {
222 device_type = "memory";
223 reg = <0x0 0x80000000 0x0 0x0>;
224 };
225
226 pmu {
227 compatible = "arm,armv8-pmuv3";
228 interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_HIGH>;
229 };
230
231 psci {
232 compatible = "arm,psci-1.0";
233 method = "smc";
234
235 CPU_PD0: power-domain-cpu0 {
236 #power-domain-cells = <0>;
237 power-domains = <&CLUSTER_PD>;
238 domain-idle-states = <&CPU_OFF &CPU_RAIL_OFF>;
239 };
240
241 CPU_PD1: power-domain-cpu1 {
242 #power-domain-cells = <0>;
243 power-domains = <&CLUSTER_PD>;
244 domain-idle-states = <&CPU_OFF &CPU_RAIL_OFF>;
245 };
246
247 CPU_PD2: power-domain-cpu2 {
248 #power-domain-cells = <0>;
249 power-domains = <&CLUSTER_PD>;
250 domain-idle-states = <&CPU_OFF &CPU_RAIL_OFF>;
251 };
252
253 CPU_PD3: power-domain-cpu3 {
254 #power-domain-cells = <0>;
255 power-domains = <&CLUSTER_PD>;
256 domain-idle-states = <&CPU_OFF &CPU_RAIL_OFF>;
257 };
258
259 CLUSTER_PD: power-domain-cpu-cluster0 {
260 #power-domain-cells = <0>;
261 domain-idle-states = <&CLUSTER_SLEEP_0 &CLUSTER_SLEEP_1 &CLUSTER_SLEEP_2>;
262 };
263 };
264
265 reserved-memory {
266 #address-cells = <2>;
267 #size-cells = <2>;
268 ranges;
269
270 gunyah_hyp_mem: gunyah-hyp@80000000 {
271 reg = <0x0 0x80000000 0x0 0x800000>;
272 no-map;
273 };
274
275 hyp_elf_package_mem: hyp-elf-package@80800000 {
276 reg = <0x0 0x80800000 0x0 0x200000>;
277 no-map;
278 };
279
280 access_control_db_mem: access-control-db@81380000 {
281 reg = <0x0 0x81380000 0x0 0x80000>;
282 no-map;
283 };
284
285 qteetz_mem: qteetz@814e0000 {
286 reg = <0x0 0x814e0000 0x0 0x2a0000>;
287 no-map;
288 };
289
290 trusted_apps_mem: trusted-apps@81780000 {
291 reg = <0x0 0x81780000 0x0 0xa00000>;
292 no-map;
293 };
294
295 xbl_ramdump_mem: xbl-ramdump@87a00000 {
296 reg = <0x0 0x87a00000 0x0 0x1c0000>;
297 no-map;
298 };
299
300 cpucp_fw_mem: cpucp-fw@87c00000 {
301 reg = <0x0 0x87c00000 0x0 0x100000>;
302 no-map;
303 };
304
305 xbl_dtlog_mem: xbl-dtlog@87d00000 {
306 reg = <0x0 0x87d00000 0x0 0x40000>;
307 no-map;
308 };
309
310 xbl_sc_mem: xbl-sc@87d40000 {
311 reg = <0x0 0x87d40000 0x0 0x40000>;
312 no-map;
313 };
314
315 modem_efs_shared_mem: modem-efs-shared@87d80000 {
316 reg = <0x0 0x87d80000 0x0 0x10000>;
317 no-map;
318 };
319
320 aop_image_mem: aop-image@87e00000 {
321 reg = <0x0 0x87e00000 0x0 0x20000>;
322 no-map;
323 };
324
325 smem_mem: smem@87e20000 {
326 reg = <0x0 0x87e20000 0x0 0xc0000>;
327 no-map;
328 };
329
330 aop_cmd_db_mem: aop-cmd-db@87ee0000 {
331 compatible = "qcom,cmd-db";
332 reg = <0x0 0x87ee0000 0x0 0x20000>;
333 no-map;
334 };
335
336 aop_config_mem: aop-config@87f00000 {
337 reg = <0x0 0x87f00000 0x0 0x20000>;
338 no-map;
339 };
340
341 ipa_fw_mem: ipa-fw@87f20000 {
342 reg = <0x0 0x87f20000 0x0 0x10000>;
343 no-map;
344 };
345
346 secdata_mem: secdata@87f30000 {
347 reg = <0x0 0x87f30000 0x0 0x1000>;
348 no-map;
349 };
350
351 tme_crashdump_mem: tme-crashdump@87f31000 {
352 reg = <0x0 0x87f31000 0x0 0x40000>;
353 no-map;
354 };
355
356 tme_log_mem: tme-log@87f71000 {
357 reg = <0x0 0x87f71000 0x0 0x4000>;
358 no-map;
359 };
360
361 uefi_log_mem: uefi-log@87f75000 {
362 reg = <0x0 0x87f75000 0x0 0x10000>;
363 no-map;
364 };
365
366 qdss_mem: qdss@88800000 {
367 reg = <0x0 0x88800000 0x0 0x300000>;
368 no-map;
369 };
370
371 audio_heap_mem: audio-heap@88b00000 {
372 compatible = "shared-dma-pool";
373 reg = <0x0 0x88b00000 0x0 0x400000>;
374 no-map;
375 };
376
377 mpss_dsmharq_mem: mpss-dsmharq@88f00000 {
378 reg = <0x0 0x88f00000 0x0 0x5080000>;
379 no-map;
380 };
381
382 q6_mpss_dtb_mem: q6-mpss-dtb@8df80000 {
383 reg = <0x0 0x8df80000 0x0 0x80000>;
384 no-map;
385 };
386
387 mpssadsp_mem: mpssadsp@8e000000 {
388 reg = <0x0 0x8e000000 0x0 0xf400000>;
389 no-map;
390 };
391
392 gunyah_trace_buffer_mem: gunyah-trace-buffer@bdb00000 {
393 reg = <0x0 0xbdb00000 0x0 0x2000000>;
394 no-map;
395 };
396
397 smmu_debug_buf_mem: smmu-debug-buf@bfb00000 {
398 reg = <0x0 0xbfb00000 0x0 0x100000>;
399 no-map;
400 };
401
402 hyp_smmu_s2_pt_mem: hyp-smmu-s2-pt@bfc00000 {
403 reg = <0x0 0xbfc00000 0x0 0x400000>;
404 no-map;
405 };
406 };
407
408 smem: qcom,smem {
409 compatible = "qcom,smem";
410 memory-region = <&smem_mem>;
411 hwlocks = <&tcsr_mutex 3>;
412 };
413
414 soc: soc {
415 compatible = "simple-bus";
416 #address-cells = <2>;
417 #size-cells = <2>;
418 ranges = <0 0 0 0 0x10 0>;
419 dma-ranges = <0 0 0 0 0x10 0>;
420
421 gcc: clock-controller@80000 {
422 compatible = "qcom,sdx75-gcc";
423 reg = <0x0 0x0080000 0x0 0x1f7400>;
424 clocks = <&rpmhcc RPMH_CXO_CLK>,
425 <&sleep_clk>,
426 <0>,
427 <0>,
428 <0>,
429 <0>,
430 <0>,
431 <0>,
432 <0>,
433 <0>,
434 <0>,
435 <0>,
436 <0>,
437 <0>,
438 <0>;
439 #clock-cells = <1>;
440 #reset-cells = <1>;
441 #power-domain-cells = <1>;
442 };
443
444 qupv3_id_0: geniqup@9c0000 {
445 compatible = "qcom,geni-se-qup";
446 reg = <0x0 0x009c0000 0x0 0x2000>;
447 clocks = <&gcc GCC_QUPV3_WRAP_0_M_AHB_CLK>,
448 <&gcc GCC_QUPV3_WRAP_0_S_AHB_CLK>;
449 clock-names = "m-ahb",
450 "s-ahb";
451 iommus = <&apps_smmu 0xe3 0x0>;
452 interconnects = <&clk_virt MASTER_QUP_CORE_0 QCOM_ICC_TAG_ALWAYS
453 &clk_virt SLAVE_QUP_CORE_0 QCOM_ICC_TAG_ALWAYS>;
454 interconnect-names = "qup-core";
455 #address-cells = <2>;
456 #size-cells = <2>;
457 ranges;
458 status = "disabled";
459
460 uart1: serial@984000 {
461 compatible = "qcom,geni-debug-uart";
462 reg = <0x0 0x00984000 0x0 0x4000>;
463 clocks = <&gcc GCC_QUPV3_WRAP0_S1_CLK>;
464 clock-names = "se";
465 interconnects = <&clk_virt MASTER_QUP_CORE_0 QCOM_ICC_TAG_ALWAYS
466 &clk_virt SLAVE_QUP_CORE_0 QCOM_ICC_TAG_ALWAYS>,
467 <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS
468 &system_noc SLAVE_QUP_0 QCOM_ICC_TAG_ALWAYS>;
469 interconnect-names = "qup-core",
470 "qup-config";
471 interrupts = <GIC_SPI 338 IRQ_TYPE_LEVEL_HIGH>;
472 pinctrl-0 = <&qupv3_se1_2uart_active>;
473 pinctrl-1 = <&qupv3_se1_2uart_sleep>;
474 pinctrl-names = "default",
475 "sleep";
476 status = "disabled";
477 };
478 };
479
480 usb_hsphy: phy@ff4000 {
481 compatible = "qcom,sdx75-snps-eusb2-phy", "qcom,sm8550-snps-eusb2-phy";
482 reg = <0x0 0x00ff4000 0x0 0x154>;
483 #phy-cells = <0>;
484
485 clocks = <&rpmhcc RPMH_CXO_CLK>;
486 clock-names = "ref";
487
488 resets = <&gcc GCC_QUSB2PHY_BCR>;
489
490 status = "disabled";
491 };
492
493 usb_qmpphy: phy@ff6000 {
494 compatible = "qcom,sdx75-qmp-usb3-uni-phy";
495 reg = <0x0 0x00ff6000 0x0 0x2000>;
496
497 clocks = <&gcc GCC_USB3_PHY_AUX_CLK>,
498 <&gcc GCC_USB2_CLKREF_EN>,
499 <&gcc GCC_USB_PHY_CFG_AHB2PHY_CLK>,
500 <&gcc GCC_USB3_PHY_PIPE_CLK>;
501 clock-names = "aux",
502 "ref",
503 "cfg_ahb",
504 "pipe";
505
506 power-domains = <&gcc GCC_USB3_PHY_GDSC>;
507
508 resets = <&gcc GCC_USB3_PHY_BCR>,
509 <&gcc GCC_USB3PHY_PHY_BCR>;
510 reset-names = "phy",
511 "phy_phy";
512
513 #clock-cells = <0>;
514 clock-output-names = "usb3_uni_phy_pipe_clk_src";
515
516 #phy-cells = <0>;
517
518 status = "disabled";
519 };
520
521 system_noc: interconnect@1640000 {
522 compatible = "qcom,sdx75-system-noc";
523 reg = <0x0 0x01640000 0x0 0x4b400>;
524 #interconnect-cells = <2>;
525 qcom,bcm-voters = <&apps_bcm_voter>;
526 };
527
528 pcie_anoc: interconnect@16c0000 {
529 compatible = "qcom,sdx75-pcie-anoc";
530 reg = <0x0 0x016c0000 0x0 0x14200>;
531 #interconnect-cells = <2>;
532 qcom,bcm-voters = <&apps_bcm_voter>;
533 };
534
535 tcsr_mutex: hwlock@1f40000 {
536 compatible = "qcom,tcsr-mutex";
537 reg = <0x0 0x01f40000 0x0 0x40000>;
538 #hwlock-cells = <1>;
539 };
540
541 usb: usb@a6f8800 {
542 compatible = "qcom,sdx75-dwc3", "qcom,dwc3";
543 reg = <0x0 0x0a6f8800 0x0 0x400>;
544 #address-cells = <2>;
545 #size-cells = <2>;
546 ranges;
547
548 clocks = <&gcc GCC_USB30_SLV_AHB_CLK>,
549 <&gcc GCC_USB30_MASTER_CLK>,
550 <&gcc GCC_USB30_MSTR_AXI_CLK>,
551 <&gcc GCC_USB30_SLEEP_CLK>,
552 <&gcc GCC_USB30_MOCK_UTMI_CLK>;
553 clock-names = "cfg_noc",
554 "core",
555 "iface",
556 "sleep",
557 "mock_utmi";
558
559 assigned-clocks = <&gcc GCC_USB30_MOCK_UTMI_CLK>,
560 <&gcc GCC_USB30_MASTER_CLK>;
561 assigned-clock-rates = <19200000>, <200000000>;
562
563 interrupts-extended = <&intc GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>,
564 <&pdc 17 IRQ_TYPE_LEVEL_HIGH>,
565 <&pdc 9 IRQ_TYPE_EDGE_RISING>,
566 <&pdc 10 IRQ_TYPE_EDGE_RISING>;
567 interrupt-names = "hs_phy_irq",
568 "ss_phy_irq",
569 "dm_hs_phy_irq",
570 "dp_hs_phy_irq";
571
572 power-domains = <&gcc GCC_USB30_GDSC>;
573
574 resets = <&gcc GCC_USB30_BCR>;
575
576 interconnects = <&system_noc MASTER_USB3_0 QCOM_ICC_TAG_ALWAYS
577 &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>,
578 <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS
579 &system_noc SLAVE_USB3 QCOM_ICC_TAG_ALWAYS>;
580 interconnect-names = "usb-ddr",
581 "apps-usb";
582
583 status = "disabled";
584
585 usb_dwc3: usb@a600000 {
586 compatible = "snps,dwc3";
587 reg = <0x0 0x0a600000 0x0 0xcd00>;
588 interrupts = <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>;
589 iommus = <&apps_smmu 0x80 0x0>;
590 snps,dis_u2_susphy_quirk;
591 snps,dis_enblslpm_quirk;
592 phys = <&usb_hsphy>,
593 <&usb_qmpphy>;
594 phy-names = "usb2-phy",
595 "usb3-phy";
596
597 ports {
598 #address-cells = <1>;
599 #size-cells = <0>;
600
601 port@0 {
602 reg = <0>;
603
604 usb_1_dwc3_hs: endpoint {
605 };
606 };
607
608 port@1 {
609 reg = <1>;
610
611 usb_1_dwc3_ss: endpoint {
612 };
613 };
614 };
615 };
616 };
617
618 pdc: interrupt-controller@b220000 {
619 compatible = "qcom,sdx75-pdc", "qcom,pdc";
620 reg = <0x0 0xb220000 0x0 0x30000>,
621 <0x0 0x174000f0 0x0 0x64>;
622 qcom,pdc-ranges = <0 147 52>,
623 <52 266 32>,
624 <84 500 59>;
625 #interrupt-cells = <2>;
626 interrupt-parent = <&intc>;
627 interrupt-controller;
628 };
629
630 spmi_bus: spmi@c400000 {
631 compatible = "qcom,spmi-pmic-arb";
632 reg = <0x0 0x0c400000 0x0 0x3000>,
633 <0x0 0x0c500000 0x0 0x400000>,
634 <0x0 0x0c440000 0x0 0x80000>,
635 <0x0 0x0c4c0000 0x0 0x10000>,
636 <0x0 0x0c42d000 0x0 0x4000>;
637 reg-names = "core",
638 "chnls",
639 "obsrvr",
640 "intr",
641 "cnfg";
642 interrupts-extended = <&pdc 1 IRQ_TYPE_LEVEL_HIGH>;
643 interrupt-names = "periph_irq";
644 qcom,ee = <0>;
645 qcom,channel = <0>;
646 qcom,bus-id = <0>;
647 #address-cells = <2>;
648 #size-cells = <0>;
649 interrupt-controller;
650 #interrupt-cells = <4>;
651 };
652
653 tlmm: pinctrl@f000000 {
654 compatible = "qcom,sdx75-tlmm";
655 reg = <0x0 0x0f000000 0x0 0x400000>;
656 interrupts = <GIC_SPI 212 IRQ_TYPE_LEVEL_HIGH>;
657 gpio-controller;
658 #gpio-cells = <2>;
659 gpio-ranges = <&tlmm 0 0 133>;
660 interrupt-controller;
661 #interrupt-cells = <2>;
662 wakeup-parent = <&pdc>;
663
664 qupv3_se1_2uart_active: qupv3-se1-2uart-active-state {
665 tx-pins {
666 pins = "gpio12";
667 function = "qup_se1_l2_mira";
668 drive-strength = <2>;
669 bias-disable;
670 };
671
672 rx-pins {
673 pins = "gpio13";
674 function = "qup_se1_l3_mira";
675 drive-strength = <2>;
676 bias-disable;
677 };
678 };
679
680 qupv3_se1_2uart_sleep: qupv3-se1-2uart-sleep-state {
681 pins = "gpio12", "gpio13";
682 function = "gpio";
683 drive-strength = <2>;
684 bias-pull-down;
685 };
686 };
687
688 apps_smmu: iommu@15000000 {
689 compatible = "qcom,sdx75-smmu-500", "qcom,smmu-500", "arm,mmu-500";
690 reg = <0x0 0x15000000 0x0 0x40000>;
691 #iommu-cells = <2>;
692 #global-interrupts = <2>;
693 dma-coherent;
694 interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>,
695 <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>,
696 <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>,
697 <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>,
698 <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>,
699 <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>,
700 <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>,
701 <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>,
702 <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>,
703 <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>,
704 <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>,
705 <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>,
706 <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>,
707 <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>,
708 <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>,
709 <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>,
710 <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>,
711 <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>,
712 <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>,
713 <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>,
714 <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>,
715 <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>,
716 <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>,
717 <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>,
718 <GIC_SPI 298 IRQ_TYPE_LEVEL_HIGH>,
719 <GIC_SPI 299 IRQ_TYPE_LEVEL_HIGH>,
720 <GIC_SPI 300 IRQ_TYPE_LEVEL_HIGH>,
721 <GIC_SPI 301 IRQ_TYPE_LEVEL_HIGH>,
722 <GIC_SPI 302 IRQ_TYPE_LEVEL_HIGH>,
723 <GIC_SPI 303 IRQ_TYPE_LEVEL_HIGH>,
724 <GIC_SPI 304 IRQ_TYPE_LEVEL_HIGH>,
725 <GIC_SPI 305 IRQ_TYPE_LEVEL_HIGH>,
726 <GIC_SPI 306 IRQ_TYPE_LEVEL_HIGH>;
727 };
728
729 intc: interrupt-controller@17200000 {
730 compatible = "arm,gic-v3";
731 #interrupt-cells = <3>;
732 interrupt-controller;
733 #redistributor-regions = <1>;
734 redistributor-stride = <0x0 0x20000>;
735 reg = <0x0 0x17200000 0x0 0x10000>,
736 <0x0 0x17260000 0x0 0x80000>;
737 interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>;
738 };
739
740 timer@17420000 {
741 compatible = "arm,armv7-timer-mem";
742 reg = <0x0 0x17420000 0x0 0x1000>;
743 #address-cells = <1>;
744 #size-cells = <1>;
745 ranges = <0 0 0 0x20000000>;
746
747 frame@17421000 {
748 reg = <0x17421000 0x1000>,
749 <0x17422000 0x1000>;
750 frame-number = <0>;
751 interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
752 <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>;
753 };
754
755 frame@17423000 {
756 reg = <0x17423000 0x1000>;
757 frame-number = <1>;
758 interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
759 status = "disabled";
760 };
761
762 frame@17425000 {
763 reg = <0x17425000 0x1000>;
764 frame-number = <2>;
765 interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
766 status = "disabled";
767 };
768
769 frame@17427000 {
770 reg = <0x17427000 0x1000>;
771 frame-number = <3>;
772 interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
773 status = "disabled";
774 };
775
776 frame@17429000 {
777 reg = <0x17429000 0x1000>;
778 frame-number = <4>;
779 interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
780 status = "disabled";
781 };
782
783 frame@1742b000 {
784 reg = <0x1742b000 0x1000>;
785 frame-number = <5>;
786 interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
787 status = "disabled";
788 };
789
790 frame@1742d000 {
791 reg = <0x1742d000 0x1000>;
792 frame-number = <6>;
793 interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
794 status = "disabled";
795 };
796 };
797
798 apps_rsc: rsc@17a00000 {
799 label = "apps_rsc";
800 compatible = "qcom,rpmh-rsc";
801 reg = <0x0 0x17a00000 0x0 0x10000>,
802 <0x0 0x17a10000 0x0 0x10000>,
803 <0x0 0x17a20000 0x0 0x10000>;
804 reg-names = "drv-0", "drv-1", "drv-2";
805 interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>,
806 <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>,
807 <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
808
809 power-domains = <&CLUSTER_PD>;
810 qcom,tcs-offset = <0xd00>;
811 qcom,drv-id = <2>;
812 qcom,tcs-config = <ACTIVE_TCS 3>,
813 <SLEEP_TCS 2>,
814 <WAKE_TCS 2>,
815 <CONTROL_TCS 0>;
816
817 apps_bcm_voter: bcm-voter {
818 compatible = "qcom,bcm-voter";
819 };
820
821 rpmhcc: clock-controller {
822 compatible = "qcom,sdx75-rpmh-clk";
823 clocks = <&xo_board>;
824 clock-names = "xo";
825 #clock-cells = <1>;
826 };
827
828 rpmhpd: power-controller {
829 compatible = "qcom,sdx75-rpmhpd";
830 #power-domain-cells = <1>;
831 operating-points-v2 = <&rpmhpd_opp_table>;
832
833 rpmhpd_opp_table: opp-table {
834 compatible = "operating-points-v2";
835
836 rpmhpd_opp_ret: opp-16 {
837 opp-level = <RPMH_REGULATOR_LEVEL_RETENTION>;
838 };
839
840 rpmhpd_opp_min_svs: opp-48 {
841 opp-level = <RPMH_REGULATOR_LEVEL_MIN_SVS>;
842 };
843
844 rpmhpd_opp_low_svs: opp-64 {
845 opp-level = <RPMH_REGULATOR_LEVEL_LOW_SVS>;
846 };
847
848 rpmhpd_opp_svs: opp-128 {
849 opp-level = <RPMH_REGULATOR_LEVEL_SVS>;
850 };
851
852 rpmhpd_opp_svs_l1: opp-192 {
853 opp-level = <RPMH_REGULATOR_LEVEL_SVS_L1>;
854 };
855
856 rpmhpd_opp_nom: opp-256 {
857 opp-level = <RPMH_REGULATOR_LEVEL_NOM>;
858 };
859
860 rpmhpd_opp_nom_l1: opp-320 {
861 opp-level = <RPMH_REGULATOR_LEVEL_NOM_L1>;
862 };
863
864 rpmhpd_opp_nom_l2: opp-336 {
865 opp-level = <RPMH_REGULATOR_LEVEL_NOM_L2>;
866 };
867
868 rpmhpd_opp_turbo: opp-384 {
869 opp-level = <RPMH_REGULATOR_LEVEL_TURBO>;
870 };
871
872 rpmhpd_opp_turbo_l1: opp-416 {
873 opp-level = <RPMH_REGULATOR_LEVEL_TURBO_L1>;
874 };
875 };
876 };
877 };
878
879 cpufreq_hw: cpufreq@17d91000 {
880 compatible = "qcom,sdx75-cpufreq-epss", "qcom,cpufreq-epss";
881 reg = <0x0 0x17d91000 0x0 0x1000>;
882 reg-names = "freq-domain0";
883 clocks = <&rpmhcc RPMH_CXO_CLK>,
884 <&gcc GPLL0>;
885 clock-names = "xo",
886 "alternate";
887 interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
888 interrupt-names = "dcvsh-irq-0";
889 #freq-domain-cells = <1>;
890 #clock-cells = <1>;
891 };
892
893 dc_noc: interconnect@190e0000 {
894 compatible = "qcom,sdx75-dc-noc";
895 reg = <0x0 0x190e0000 0x0 0x8200>;
896 #interconnect-cells = <2>;
897 qcom,bcm-voters = <&apps_bcm_voter>;
898 };
899
900 gem_noc: interconnect@19100000 {
901 compatible = "qcom,sdx75-gem-noc";
902 reg = <0x0 0x19100000 0x0 0x34080>;
903 #interconnect-cells = <2>;
904 qcom,bcm-voters = <&apps_bcm_voter>;
905 };
906 };
907
908 timer {
909 compatible = "arm,armv8-timer";
910 interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>,
911 <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>,
912 <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>,
913 <GIC_PPI 12 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>;
914 };
915 };