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,cortex-a55-pmu"; 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@0 { 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}; 916