1// SPDX-License-Identifier: BSD-3-Clause 2/* 3 * Copyright (c) 2022, Konrad Dybcio <konrad.dybcio@somainline.org> 4 */ 5 6#include <dt-bindings/clock/qcom,rpmcc.h> 7#include <dt-bindings/clock/qcom,sm6375-gcc.h> 8#include <dt-bindings/dma/qcom-gpi.h> 9#include <dt-bindings/interrupt-controller/arm-gic.h> 10#include <dt-bindings/mailbox/qcom-ipcc.h> 11#include <dt-bindings/power/qcom-rpmpd.h> 12 13/ { 14 interrupt-parent = <&intc>; 15 16 #address-cells = <2>; 17 #size-cells = <2>; 18 19 chosen { }; 20 21 clocks { 22 xo_board_clk: xo-board-clk { 23 compatible = "fixed-clock"; 24 #clock-cells = <0>; 25 }; 26 27 sleep_clk: sleep-clk { 28 compatible = "fixed-clock"; 29 clock-frequency = <32000>; 30 #clock-cells = <0>; 31 }; 32 }; 33 34 cpus { 35 #address-cells = <2>; 36 #size-cells = <0>; 37 38 CPU0: cpu@0 { 39 device_type = "cpu"; 40 compatible = "qcom,kryo660"; 41 reg = <0x0 0x0>; 42 enable-method = "psci"; 43 next-level-cache = <&L2_0>; 44 qcom,freq-domain = <&cpufreq_hw 0>; 45 power-domains = <&CPU_PD0>; 46 power-domain-names = "psci"; 47 #cooling-cells = <2>; 48 L2_0: l2-cache { 49 compatible = "cache"; 50 next-level-cache = <&L3_0>; 51 L3_0: l3-cache { 52 compatible = "cache"; 53 }; 54 }; 55 }; 56 57 CPU1: cpu@100 { 58 device_type = "cpu"; 59 compatible = "qcom,kryo660"; 60 reg = <0x0 0x100>; 61 enable-method = "psci"; 62 next-level-cache = <&L2_100>; 63 qcom,freq-domain = <&cpufreq_hw 0>; 64 power-domains = <&CPU_PD1>; 65 power-domain-names = "psci"; 66 #cooling-cells = <2>; 67 L2_100: l2-cache { 68 compatible = "cache"; 69 next-level-cache = <&L3_0>; 70 }; 71 }; 72 73 CPU2: cpu@200 { 74 device_type = "cpu"; 75 compatible = "qcom,kryo660"; 76 reg = <0x0 0x200>; 77 enable-method = "psci"; 78 next-level-cache = <&L2_200>; 79 qcom,freq-domain = <&cpufreq_hw 0>; 80 power-domains = <&CPU_PD2>; 81 power-domain-names = "psci"; 82 #cooling-cells = <2>; 83 L2_200: l2-cache { 84 compatible = "cache"; 85 next-level-cache = <&L3_0>; 86 }; 87 }; 88 89 CPU3: cpu@300 { 90 device_type = "cpu"; 91 compatible = "qcom,kryo660"; 92 reg = <0x0 0x300>; 93 enable-method = "psci"; 94 next-level-cache = <&L2_300>; 95 qcom,freq-domain = <&cpufreq_hw 0>; 96 power-domains = <&CPU_PD3>; 97 power-domain-names = "psci"; 98 #cooling-cells = <2>; 99 L2_300: l2-cache { 100 compatible = "cache"; 101 next-level-cache = <&L3_0>; 102 }; 103 }; 104 105 CPU4: cpu@400 { 106 device_type = "cpu"; 107 compatible = "qcom,kryo660"; 108 reg = <0x0 0x400>; 109 enable-method = "psci"; 110 next-level-cache = <&L2_400>; 111 qcom,freq-domain = <&cpufreq_hw 0>; 112 power-domains = <&CPU_PD4>; 113 power-domain-names = "psci"; 114 #cooling-cells = <2>; 115 L2_400: l2-cache { 116 compatible = "cache"; 117 next-level-cache = <&L3_0>; 118 }; 119 }; 120 121 CPU5: cpu@500 { 122 device_type = "cpu"; 123 compatible = "qcom,kryo660"; 124 reg = <0x0 0x500>; 125 enable-method = "psci"; 126 next-level-cache = <&L2_500>; 127 qcom,freq-domain = <&cpufreq_hw 0>; 128 power-domains = <&CPU_PD5>; 129 power-domain-names = "psci"; 130 #cooling-cells = <2>; 131 L2_500: l2-cache { 132 compatible = "cache"; 133 next-level-cache = <&L3_0>; 134 }; 135 136 }; 137 138 CPU6: cpu@600 { 139 device_type = "cpu"; 140 compatible = "qcom,kryo660"; 141 reg = <0x0 0x600>; 142 enable-method = "psci"; 143 next-level-cache = <&L2_600>; 144 qcom,freq-domain = <&cpufreq_hw 1>; 145 power-domains = <&CPU_PD6>; 146 power-domain-names = "psci"; 147 #cooling-cells = <2>; 148 L2_600: l2-cache { 149 compatible = "cache"; 150 next-level-cache = <&L3_0>; 151 }; 152 }; 153 154 CPU7: cpu@700 { 155 device_type = "cpu"; 156 compatible = "qcom,kryo660"; 157 reg = <0x0 0x700>; 158 enable-method = "psci"; 159 next-level-cache = <&L2_700>; 160 qcom,freq-domain = <&cpufreq_hw 1>; 161 power-domains = <&CPU_PD7>; 162 power-domain-names = "psci"; 163 #cooling-cells = <2>; 164 L2_700: l2-cache { 165 compatible = "cache"; 166 next-level-cache = <&L3_0>; 167 }; 168 }; 169 170 cpu-map { 171 cluster0 { 172 core0 { 173 cpu = <&CPU0>; 174 }; 175 176 core1 { 177 cpu = <&CPU1>; 178 }; 179 180 core2 { 181 cpu = <&CPU2>; 182 }; 183 184 core3 { 185 cpu = <&CPU3>; 186 }; 187 188 core4 { 189 cpu = <&CPU4>; 190 }; 191 192 core5 { 193 cpu = <&CPU5>; 194 }; 195 196 core6 { 197 cpu = <&CPU6>; 198 }; 199 200 core7 { 201 cpu = <&CPU7>; 202 }; 203 }; 204 }; 205 206 idle-states { 207 entry-method = "psci"; 208 209 LITTLE_CPU_SLEEP_0: cpu-sleep-0-0 { 210 compatible = "arm,idle-state"; 211 idle-state-name = "silver-rail-power-collapse"; 212 arm,psci-suspend-param = <0x40000004>; 213 entry-latency-us = <702>; 214 exit-latency-us = <915>; 215 min-residency-us = <4001>; 216 local-timer-stop; 217 }; 218 219 BIG_CPU_SLEEP_0: cpu-sleep-1-0 { 220 compatible = "arm,idle-state"; 221 idle-state-name = "gold-rail-power-collapse"; 222 arm,psci-suspend-param = <0x40000004>; 223 entry-latency-us = <526>; 224 exit-latency-us = <1854>; 225 min-residency-us = <5555>; 226 local-timer-stop; 227 }; 228 }; 229 230 domain-idle-states { 231 CLUSTER_SLEEP_0: cluster-sleep-0 { 232 compatible = "domain-idle-state"; 233 idle-state-name = "cluster-power-collapse"; 234 arm,psci-suspend-param = <0x41000044>; 235 entry-latency-us = <2752>; 236 exit-latency-us = <3048>; 237 min-residency-us = <6118>; 238 local-timer-stop; 239 }; 240 }; 241 }; 242 243 firmware { 244 scm { 245 compatible = "qcom,scm-sm6375", "qcom,scm"; 246 clocks = <&rpmcc RPM_SMD_CE1_CLK>; 247 clock-names = "core"; 248 #reset-cells = <1>; 249 }; 250 }; 251 252 memory@80000000 { 253 device_type = "memory"; 254 /* We expect the bootloader to fill in the size */ 255 reg = <0x0 0x80000000 0x0 0x0>; 256 }; 257 258 pmu { 259 compatible = "arm,armv8-pmuv3"; 260 interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_LOW>; 261 }; 262 263 psci { 264 compatible = "arm,psci-1.0"; 265 method = "smc"; 266 267 CPU_PD0: power-domain-cpu0 { 268 #power-domain-cells = <0>; 269 power-domains = <&CLUSTER_PD>; 270 domain-idle-states = <&LITTLE_CPU_SLEEP_0>; 271 }; 272 273 CPU_PD1: power-domain-cpu1 { 274 #power-domain-cells = <0>; 275 power-domains = <&CLUSTER_PD>; 276 domain-idle-states = <&LITTLE_CPU_SLEEP_0>; 277 }; 278 279 CPU_PD2: power-domain-cpu2 { 280 #power-domain-cells = <0>; 281 power-domains = <&CLUSTER_PD>; 282 domain-idle-states = <&LITTLE_CPU_SLEEP_0>; 283 }; 284 285 CPU_PD3: power-domain-cpu3 { 286 #power-domain-cells = <0>; 287 power-domains = <&CLUSTER_PD>; 288 domain-idle-states = <&LITTLE_CPU_SLEEP_0>; 289 }; 290 291 CPU_PD4: power-domain-cpu4 { 292 #power-domain-cells = <0>; 293 power-domains = <&CLUSTER_PD>; 294 domain-idle-states = <&LITTLE_CPU_SLEEP_0>; 295 }; 296 297 CPU_PD5: power-domain-cpu5 { 298 #power-domain-cells = <0>; 299 power-domains = <&CLUSTER_PD>; 300 domain-idle-states = <&LITTLE_CPU_SLEEP_0>; 301 }; 302 303 CPU_PD6: power-domain-cpu6 { 304 #power-domain-cells = <0>; 305 power-domains = <&CLUSTER_PD>; 306 domain-idle-states = <&BIG_CPU_SLEEP_0>; 307 }; 308 309 CPU_PD7: power-domain-cpu7 { 310 #power-domain-cells = <0>; 311 power-domains = <&CLUSTER_PD>; 312 domain-idle-states = <&BIG_CPU_SLEEP_0>; 313 }; 314 315 CLUSTER_PD: power-domain-cpu-cluster0 { 316 #power-domain-cells = <0>; 317 domain-idle-states = <&CLUSTER_SLEEP_0>; 318 }; 319 }; 320 321 qup_opp_table: opp-table-qup { 322 compatible = "operating-points-v2"; 323 324 opp-75000000 { 325 opp-hz = /bits/ 64 <75000000>; 326 required-opps = <&rpmpd_opp_low_svs>; 327 }; 328 329 opp-100000000 { 330 opp-hz = /bits/ 64 <100000000>; 331 required-opps = <&rpmpd_opp_svs>; 332 }; 333 334 opp-128000000 { 335 opp-hz = /bits/ 64 <128000000>; 336 required-opps = <&rpmpd_opp_nom>; 337 }; 338 }; 339 340 reserved_memory: reserved-memory { 341 #address-cells = <2>; 342 #size-cells = <2>; 343 ranges; 344 345 hyp_mem: hypervisor@80000000 { 346 reg = <0 0x80000000 0 0x600000>; 347 no-map; 348 }; 349 350 xbl_aop_mem: xbl-aop@80700000 { 351 reg = <0 0x80700000 0 0x100000>; 352 no-map; 353 }; 354 355 reserved_xbl_uefi: xbl-uefi-res@80880000 { 356 reg = <0 0x80880000 0 0x14000>; 357 no-map; 358 }; 359 360 smem_mem: smem@80900000 { 361 compatible = "qcom,smem"; 362 reg = <0 0x80900000 0 0x200000>; 363 hwlocks = <&tcsr_mutex 3>; 364 no-map; 365 }; 366 367 fw_mem: fw@80b00000 { 368 reg = <0 0x80b00000 0 0x100000>; 369 no-map; 370 }; 371 372 cdsp_secure_heap_mem: cdsp-sec-heap@80c00000 { 373 reg = <0 0x80c00000 0 0x1e00000>; 374 no-map; 375 }; 376 377 dfps_data_mem: dpfs-data@85e00000 { 378 reg = <0 0x85e00000 0 0x100000>; 379 no-map; 380 }; 381 382 pil_wlan_mem: pil-wlan@86500000 { 383 reg = <0 0x86500000 0 0x200000>; 384 no-map; 385 }; 386 387 pil_adsp_mem: pil-adsp@86700000 { 388 reg = <0 0x86700000 0 0x2000000>; 389 no-map; 390 }; 391 392 pil_cdsp_mem: pil-cdsp@88700000 { 393 reg = <0 0x88700000 0 0x1e00000>; 394 no-map; 395 }; 396 397 pil_video_mem: pil-video@8a500000 { 398 reg = <0 0x8a500000 0 0x500000>; 399 no-map; 400 }; 401 402 pil_ipa_fw_mem: pil-ipa-fw@8aa00000 { 403 reg = <0 0x8aa00000 0 0x10000>; 404 no-map; 405 }; 406 407 pil_ipa_gsi_mem: pil-ipa-gsi@8aa10000 { 408 reg = <0 0x8aa10000 0 0xa000>; 409 no-map; 410 }; 411 412 pil_gpu_micro_code_mem: pil-gpu-ucode@8aa1a000 { 413 reg = <0 0x8aa1a000 0 0x2000>; 414 no-map; 415 }; 416 417 pil_mpss_wlan_mem: pil-mpss-wlan@8b800000 { 418 reg = <0 0x8b800000 0 0x10000000>; 419 no-map; 420 }; 421 422 removed_mem: removed@c0000000 { 423 reg = <0 0xc0000000 0 0x5100000>; 424 no-map; 425 }; 426 427 debug_mem: debug@ffb00000 { 428 reg = <0 0xffb00000 0 0xc0000>; 429 no-map; 430 }; 431 432 last_log_mem: lastlog@ffbc0000 { 433 reg = <0 0xffbc0000 0 0x80000>; 434 no-map; 435 }; 436 437 cmdline_region: cmdline@ffd00000 { 438 reg = <0 0xffd00000 0 0x1000>; 439 no-map; 440 }; 441 }; 442 443 rpm-glink { 444 compatible = "qcom,glink-rpm"; 445 interrupts-extended = <&ipcc IPCC_CLIENT_AOP 446 IPCC_MPROC_SIGNAL_GLINK_QMP 447 IRQ_TYPE_EDGE_RISING>; 448 qcom,rpm-msg-ram = <&rpm_msg_ram>; 449 mboxes = <&ipcc IPCC_CLIENT_AOP IPCC_MPROC_SIGNAL_GLINK_QMP>; 450 451 rpm_requests: rpm-requests { 452 compatible = "qcom,rpm-sm6375"; 453 qcom,glink-channels = "rpm_requests"; 454 455 rpmcc: clock-controller { 456 compatible = "qcom,rpmcc-sm6375", "qcom,rpmcc"; 457 clocks = <&xo_board_clk>; 458 clock-names = "xo"; 459 #clock-cells = <1>; 460 }; 461 462 rpmpd: power-controller { 463 compatible = "qcom,sm6375-rpmpd"; 464 #power-domain-cells = <1>; 465 operating-points-v2 = <&rpmpd_opp_table>; 466 467 rpmpd_opp_table: opp-table { 468 compatible = "operating-points-v2"; 469 470 rpmpd_opp_ret: opp1 { 471 opp-level = <RPM_SMD_LEVEL_RETENTION>; 472 }; 473 474 rpmpd_opp_min_svs: opp2 { 475 opp-level = <RPM_SMD_LEVEL_MIN_SVS>; 476 }; 477 478 rpmpd_opp_low_svs: opp3 { 479 opp-level = <RPM_SMD_LEVEL_LOW_SVS>; 480 }; 481 482 rpmpd_opp_svs: opp4 { 483 opp-level = <RPM_SMD_LEVEL_SVS>; 484 }; 485 486 rpmpd_opp_svs_plus: opp5 { 487 opp-level = <RPM_SMD_LEVEL_SVS_PLUS>; 488 }; 489 490 rpmpd_opp_nom: opp6 { 491 opp-level = <RPM_SMD_LEVEL_NOM>; 492 }; 493 494 rpmpd_opp_nom_plus: opp7 { 495 opp-level = <RPM_SMD_LEVEL_NOM_PLUS>; 496 }; 497 498 rpmpd_opp_turbo: opp8 { 499 opp-level = <RPM_SMD_LEVEL_TURBO>; 500 }; 501 502 rpmpd_opp_turbo_no_cpr: opp9 { 503 opp-level = <RPM_SMD_LEVEL_TURBO_NO_CPR>; 504 }; 505 }; 506 }; 507 }; 508 }; 509 510 smp2p-adsp { 511 compatible = "qcom,smp2p"; 512 qcom,smem = <443>, <429>; 513 interrupts-extended = <&ipcc IPCC_CLIENT_LPASS 514 IPCC_MPROC_SIGNAL_SMP2P 515 IRQ_TYPE_EDGE_RISING>; 516 mboxes = <&ipcc IPCC_CLIENT_LPASS 517 IPCC_MPROC_SIGNAL_SMP2P>; 518 519 qcom,local-pid = <0>; 520 qcom,remote-pid = <2>; 521 522 smp2p_adsp_out: master-kernel { 523 qcom,entry-name = "master-kernel"; 524 #qcom,smem-state-cells = <1>; 525 }; 526 527 smp2p_adsp_in: slave-kernel { 528 qcom,entry-name = "slave-kernel"; 529 interrupt-controller; 530 #interrupt-cells = <2>; 531 }; 532 }; 533 534 smp2p-cdsp { 535 compatible = "qcom,smp2p"; 536 qcom,smem = <94>, <432>; 537 interrupts-extended = <&ipcc IPCC_CLIENT_CDSP 538 IPCC_MPROC_SIGNAL_SMP2P 539 IRQ_TYPE_EDGE_RISING>; 540 mboxes = <&ipcc IPCC_CLIENT_CDSP 541 IPCC_MPROC_SIGNAL_SMP2P>; 542 543 qcom,local-pid = <0>; 544 qcom,remote-pid = <5>; 545 546 smp2p_cdsp_out: master-kernel { 547 qcom,entry-name = "master-kernel"; 548 #qcom,smem-state-cells = <1>; 549 }; 550 551 smp2p_cdsp_in: slave-kernel { 552 qcom,entry-name = "slave-kernel"; 553 interrupt-controller; 554 #interrupt-cells = <2>; 555 }; 556 }; 557 558 soc: soc@0 { 559 #address-cells = <2>; 560 #size-cells = <2>; 561 ranges = <0 0 0 0 0x10 0>; 562 dma-ranges = <0 0 0 0 0x10 0>; 563 compatible = "simple-bus"; 564 565 ipcc: mailbox@208000 { 566 compatible = "qcom,sm6375-ipcc", "qcom,ipcc"; 567 reg = <0 0x00208000 0 0x1000>; 568 interrupts = <GIC_SPI 334 IRQ_TYPE_LEVEL_HIGH>; 569 interrupt-controller; 570 #interrupt-cells = <3>; 571 #mbox-cells = <2>; 572 }; 573 574 tcsr_mutex: hwlock@340000 { 575 compatible = "qcom,tcsr-mutex"; 576 reg = <0x0 0x00340000 0x0 0x40000>; 577 #hwlock-cells = <1>; 578 }; 579 580 tlmm: pinctrl@500000 { 581 compatible = "qcom,sm6375-tlmm"; 582 reg = <0 0x00500000 0 0x800000>; 583 interrupts = <GIC_SPI 227 IRQ_TYPE_LEVEL_HIGH>; 584 gpio-ranges = <&tlmm 0 0 157>; 585 /* TODO: Hook up MPM as wakeup-parent when it's there */ 586 interrupt-controller; 587 gpio-controller; 588 #interrupt-cells = <2>; 589 #gpio-cells = <2>; 590 591 sdc2_off_state: sdc2-off-state { 592 clk-pins { 593 pins = "sdc2_clk"; 594 drive-strength = <2>; 595 bias-disable; 596 }; 597 598 cmd-pins { 599 pins = "sdc2_cmd"; 600 drive-strength = <2>; 601 bias-pull-up; 602 }; 603 604 data-pins { 605 pins = "sdc2_data"; 606 drive-strength = <2>; 607 bias-pull-up; 608 }; 609 }; 610 611 sdc2_on_state: sdc2-on-state { 612 clk-pins { 613 pins = "sdc2_clk"; 614 drive-strength = <16>; 615 bias-disable; 616 }; 617 618 cmd-pins { 619 pins = "sdc2_cmd"; 620 drive-strength = <10>; 621 bias-pull-up; 622 }; 623 624 data-pins { 625 pins = "sdc2_data"; 626 drive-strength = <10>; 627 bias-pull-up; 628 }; 629 }; 630 631 qup_i2c0_default: qup-i2c0-default-state { 632 pins = "gpio0", "gpio1"; 633 function = "qup00"; 634 drive-strength = <2>; 635 bias-pull-up; 636 }; 637 638 qup_i2c1_default: qup-i2c1-default-state { 639 pins = "gpio61", "gpio62"; 640 function = "qup01"; 641 drive-strength = <2>; 642 bias-pull-up; 643 }; 644 645 qup_i2c2_default: qup-i2c2-default-state { 646 pins = "gpio45", "gpio46"; 647 function = "qup02"; 648 drive-strength = <2>; 649 bias-pull-up; 650 }; 651 652 qup_i2c8_default: qup-i2c8-default-state { 653 pins = "gpio19", "gpio20"; 654 /* TLMM, GCC and vendor DT all have different indices.. */ 655 function = "qup12"; 656 drive-strength = <2>; 657 bias-pull-up; 658 }; 659 660 qup_i2c10_default: qup-i2c10-default-state { 661 pins = "gpio4", "gpio5"; 662 function = "qup10"; 663 drive-strength = <2>; 664 bias-pull-up; 665 }; 666 667 qup_spi0_default: qup-spi0-default-state { 668 pins = "gpio0", "gpio1", "gpio2", "gpio3"; 669 function = "qup00"; 670 drive-strength = <6>; 671 bias-disable; 672 }; 673 }; 674 675 gcc: clock-controller@1400000 { 676 compatible = "qcom,sm6375-gcc"; 677 reg = <0 0x01400000 0 0x1f0000>; 678 clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>, 679 <&rpmcc RPM_SMD_XO_A_CLK_SRC>, 680 <&sleep_clk>; 681 #power-domain-cells = <1>; 682 #clock-cells = <1>; 683 #reset-cells = <1>; 684 }; 685 686 usb_1_hsphy: phy@162b000 { 687 compatible = "qcom,sm6375-usb-hs-phy", "qcom,usb-snps-hs-7nm-phy"; 688 reg = <0 0x0162b000 0 0x400>; 689 690 clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>; 691 clock-names = "ref"; 692 resets = <&gcc GCC_QUSB2PHY_PRIM_BCR>; 693 #phy-cells = <0>; 694 695 status = "disabled"; 696 }; 697 698 spmi_bus: spmi@1c40000 { 699 compatible = "qcom,spmi-pmic-arb"; 700 reg = <0 0x01c40000 0 0x1100>, 701 <0 0x01e00000 0 0x2000000>, 702 <0 0x03e00000 0 0x100000>, 703 <0 0x03f00000 0 0xa0000>, 704 <0 0x01c0a000 0 0x26000>; 705 reg-names = "core", "chnls", "obsrvr", "intr", "cnfg"; 706 interrupt-names = "periph_irq"; 707 interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>; 708 qcom,ee = <0>; 709 qcom,channel = <0>; 710 #address-cells = <2>; 711 #size-cells = <0>; 712 interrupt-controller; 713 #interrupt-cells = <4>; 714 }; 715 716 rpm_msg_ram: sram@45f0000 { 717 compatible = "qcom,rpm-msg-ram"; 718 reg = <0 0x045f0000 0 0x7000>; 719 }; 720 721 sdhc_2: mmc@4784000 { 722 compatible = "qcom,sm6375-sdhci", "qcom,sdhci-msm-v5"; 723 reg = <0 0x04784000 0 0x1000>; 724 725 interrupts = <GIC_SPI 350 IRQ_TYPE_LEVEL_HIGH>, 726 <GIC_SPI 353 IRQ_TYPE_LEVEL_HIGH>; 727 interrupt-names = "hc_irq", "pwr_irq"; 728 729 clocks = <&gcc GCC_SDCC2_AHB_CLK>, 730 <&gcc GCC_SDCC2_APPS_CLK>, 731 <&rpmcc RPM_SMD_XO_CLK_SRC>; 732 clock-names = "iface", "core", "xo"; 733 resets = <&gcc GCC_SDCC2_BCR>; 734 iommus = <&apps_smmu 0x40 0x0>; 735 736 pinctrl-0 = <&sdc2_on_state>; 737 pinctrl-1 = <&sdc2_off_state>; 738 pinctrl-names = "default", "sleep"; 739 740 qcom,dll-config = <0x0007642c>; 741 qcom,ddr-config = <0x80040868>; 742 power-domains = <&rpmpd SM6375_VDDCX>; 743 operating-points-v2 = <&sdhc2_opp_table>; 744 bus-width = <4>; 745 746 status = "disabled"; 747 748 sdhc2_opp_table: opp-table { 749 compatible = "operating-points-v2"; 750 751 opp-100000000 { 752 opp-hz = /bits/ 64 <100000000>; 753 required-opps = <&rpmpd_opp_low_svs>; 754 }; 755 756 opp-202000000 { 757 opp-hz = /bits/ 64 <202000000>; 758 required-opps = <&rpmpd_opp_svs_plus>; 759 }; 760 }; 761 }; 762 763 gpi_dma0: dma-controller@4a00000 { 764 compatible = "qcom,sm6375-gpi-dma", "qcom,sm6350-gpi-dma"; 765 reg = <0 0x04a00000 0 0x60000>; 766 interrupts = <GIC_SPI 335 IRQ_TYPE_LEVEL_HIGH>, 767 <GIC_SPI 336 IRQ_TYPE_LEVEL_HIGH>, 768 <GIC_SPI 337 IRQ_TYPE_LEVEL_HIGH>, 769 <GIC_SPI 338 IRQ_TYPE_LEVEL_HIGH>, 770 <GIC_SPI 339 IRQ_TYPE_LEVEL_HIGH>, 771 <GIC_SPI 340 IRQ_TYPE_LEVEL_HIGH>, 772 <GIC_SPI 341 IRQ_TYPE_LEVEL_HIGH>, 773 <GIC_SPI 342 IRQ_TYPE_LEVEL_HIGH>, 774 <GIC_SPI 343 IRQ_TYPE_LEVEL_HIGH>, 775 <GIC_SPI 344 IRQ_TYPE_LEVEL_HIGH>; 776 dma-channels = <10>; 777 dma-channel-mask = <0x1f>; 778 iommus = <&apps_smmu 0x16 0x0>; 779 #dma-cells = <3>; 780 status = "disabled"; 781 }; 782 783 qupv3_id_0: geniqup@4ac0000 { 784 compatible = "qcom,geni-se-qup"; 785 reg = <0x0 0x04ac0000 0x0 0x2000>; 786 clock-names = "m-ahb", "s-ahb"; 787 clocks = <&gcc GCC_QUPV3_WRAP_0_M_AHB_CLK>, 788 <&gcc GCC_QUPV3_WRAP_0_S_AHB_CLK>; 789 iommus = <&apps_smmu 0x3 0x0>; 790 #address-cells = <2>; 791 #size-cells = <2>; 792 ranges; 793 status = "disabled"; 794 795 i2c0: i2c@4a80000 { 796 compatible = "qcom,geni-i2c"; 797 reg = <0x0 0x04a80000 0x0 0x4000>; 798 clock-names = "se"; 799 clocks = <&gcc GCC_QUPV3_WRAP0_S0_CLK>; 800 interrupts = <GIC_SPI 327 IRQ_TYPE_LEVEL_HIGH>; 801 pinctrl-names = "default"; 802 pinctrl-0 = <&qup_i2c0_default>; 803 dmas = <&gpi_dma0 0 0 QCOM_GPI_I2C>, 804 <&gpi_dma0 1 0 QCOM_GPI_I2C>; 805 dma-names = "tx", "rx"; 806 #address-cells = <1>; 807 #size-cells = <0>; 808 status = "disabled"; 809 }; 810 811 spi0: spi@4a80000 { 812 compatible = "qcom,geni-spi"; 813 reg = <0x0 0x04a80000 0x0 0x4000>; 814 clock-names = "se"; 815 clocks = <&gcc GCC_QUPV3_WRAP0_S0_CLK>; 816 interrupts = <GIC_SPI 327 IRQ_TYPE_LEVEL_HIGH>; 817 pinctrl-names = "default"; 818 pinctrl-0 = <&qup_spi0_default>; 819 power-domains = <&rpmpd SM6375_VDDCX>; 820 operating-points-v2 = <&qup_opp_table>; 821 dmas = <&gpi_dma0 0 0 QCOM_GPI_SPI>, 822 <&gpi_dma0 1 0 QCOM_GPI_SPI>; 823 dma-names = "tx", "rx"; 824 #address-cells = <1>; 825 #size-cells = <0>; 826 status = "disabled"; 827 }; 828 829 i2c1: i2c@4a84000 { 830 compatible = "qcom,geni-i2c"; 831 reg = <0x0 0x04a84000 0x0 0x4000>; 832 clock-names = "se"; 833 clocks = <&gcc GCC_QUPV3_WRAP0_S1_CLK>; 834 interrupts = <GIC_SPI 328 IRQ_TYPE_LEVEL_HIGH>; 835 pinctrl-names = "default"; 836 pinctrl-0 = <&qup_i2c1_default>; 837 dmas = <&gpi_dma0 0 1 QCOM_GPI_I2C>, 838 <&gpi_dma0 1 1 QCOM_GPI_I2C>; 839 dma-names = "tx", "rx"; 840 #address-cells = <1>; 841 #size-cells = <0>; 842 status = "disabled"; 843 }; 844 845 spi1: spi@4a84000 { 846 compatible = "qcom,geni-spi"; 847 reg = <0x0 0x04a84000 0x0 0x4000>; 848 clock-names = "se"; 849 clocks = <&gcc GCC_QUPV3_WRAP0_S1_CLK>; 850 interrupts = <GIC_SPI 328 IRQ_TYPE_LEVEL_HIGH>; 851 power-domains = <&rpmpd SM6375_VDDCX>; 852 operating-points-v2 = <&qup_opp_table>; 853 dmas = <&gpi_dma0 0 1 QCOM_GPI_SPI>, 854 <&gpi_dma0 1 1 QCOM_GPI_SPI>; 855 dma-names = "tx", "rx"; 856 #address-cells = <1>; 857 #size-cells = <0>; 858 status = "disabled"; 859 }; 860 861 i2c2: i2c@4a88000 { 862 compatible = "qcom,geni-i2c"; 863 reg = <0x0 0x04a88000 0x0 0x4000>; 864 clock-names = "se"; 865 clocks = <&gcc GCC_QUPV3_WRAP0_S2_CLK>; 866 interrupts = <GIC_SPI 329 IRQ_TYPE_LEVEL_HIGH>; 867 pinctrl-names = "default"; 868 pinctrl-0 = <&qup_i2c2_default>; 869 dmas = <&gpi_dma0 0 2 QCOM_GPI_I2C>, 870 <&gpi_dma0 1 2 QCOM_GPI_I2C>; 871 dma-names = "tx", "rx"; 872 #address-cells = <1>; 873 #size-cells = <0>; 874 status = "disabled"; 875 }; 876 877 spi2: spi@4a88000 { 878 compatible = "qcom,geni-spi"; 879 reg = <0x0 0x04a88000 0x0 0x4000>; 880 clock-names = "se"; 881 clocks = <&gcc GCC_QUPV3_WRAP0_S2_CLK>; 882 interrupts = <GIC_SPI 329 IRQ_TYPE_LEVEL_HIGH>; 883 power-domains = <&rpmpd SM6375_VDDCX>; 884 operating-points-v2 = <&qup_opp_table>; 885 dmas = <&gpi_dma0 0 2 QCOM_GPI_SPI>, 886 <&gpi_dma0 1 2 QCOM_GPI_SPI>; 887 dma-names = "tx", "rx"; 888 #address-cells = <1>; 889 #size-cells = <0>; 890 status = "disabled"; 891 }; 892 893 /* 894 * As per GCC, QUP3/4/5/11 also exist, but are not even defined downstream. 895 * There is a comment in the included DTSI of another SoC saying that they 896 * are not "bolled out" (probably meaning not routed to solder balls) 897 * TLMM driver however, suggests there are as many as 15 QUPs in total! 898 * Most of which don't even have pin configurations for.. Sad stuff! 899 */ 900 }; 901 902 gpi_dma1: dma-controller@4c00000 { 903 compatible = "qcom,sm6375-gpi-dma", "qcom,sm6350-gpi-dma"; 904 reg = <0 0x04c00000 0 0x60000>; 905 interrupts = <GIC_SPI 497 IRQ_TYPE_LEVEL_HIGH>, 906 <GIC_SPI 498 IRQ_TYPE_LEVEL_HIGH>, 907 <GIC_SPI 499 IRQ_TYPE_LEVEL_HIGH>, 908 <GIC_SPI 500 IRQ_TYPE_LEVEL_HIGH>, 909 <GIC_SPI 501 IRQ_TYPE_LEVEL_HIGH>, 910 <GIC_SPI 502 IRQ_TYPE_LEVEL_HIGH>, 911 <GIC_SPI 503 IRQ_TYPE_LEVEL_HIGH>, 912 <GIC_SPI 504 IRQ_TYPE_LEVEL_HIGH>, 913 <GIC_SPI 505 IRQ_TYPE_LEVEL_HIGH>, 914 <GIC_SPI 506 IRQ_TYPE_LEVEL_HIGH>; 915 dma-channels = <10>; 916 dma-channel-mask = <0x1f>; 917 iommus = <&apps_smmu 0xd6 0x0>; 918 #dma-cells = <3>; 919 status = "disabled"; 920 }; 921 922 qupv3_id_1: geniqup@4cc0000 { 923 compatible = "qcom,geni-se-qup"; 924 reg = <0x0 0x04cc0000 0x0 0x2000>; 925 clock-names = "m-ahb", "s-ahb"; 926 clocks = <&gcc GCC_QUPV3_WRAP_1_M_AHB_CLK>, 927 <&gcc GCC_QUPV3_WRAP_1_S_AHB_CLK>; 928 iommus = <&apps_smmu 0xc3 0x0>; 929 #address-cells = <2>; 930 #size-cells = <2>; 931 ranges; 932 status = "disabled"; 933 934 i2c6: i2c@4c80000 { 935 compatible = "qcom,geni-i2c"; 936 reg = <0x0 0x04c80000 0x0 0x4000>; 937 clock-names = "se"; 938 clocks = <&gcc GCC_QUPV3_WRAP1_S0_CLK>; 939 interrupts = <GIC_SPI 507 IRQ_TYPE_LEVEL_HIGH>; 940 dmas = <&gpi_dma1 0 0 QCOM_GPI_I2C>, 941 <&gpi_dma1 1 0 QCOM_GPI_I2C>; 942 dma-names = "tx", "rx"; 943 #address-cells = <1>; 944 #size-cells = <0>; 945 status = "disabled"; 946 }; 947 948 spi6: spi@4c80000 { 949 compatible = "qcom,geni-spi"; 950 reg = <0x0 0x04c80000 0x0 0x4000>; 951 clock-names = "se"; 952 clocks = <&gcc GCC_QUPV3_WRAP1_S0_CLK>; 953 interrupts = <GIC_SPI 507 IRQ_TYPE_LEVEL_HIGH>; 954 power-domains = <&rpmpd SM6375_VDDCX>; 955 operating-points-v2 = <&qup_opp_table>; 956 dmas = <&gpi_dma1 0 0 QCOM_GPI_SPI>, 957 <&gpi_dma1 1 0 QCOM_GPI_SPI>; 958 dma-names = "tx", "rx"; 959 #address-cells = <1>; 960 #size-cells = <0>; 961 status = "disabled"; 962 }; 963 964 i2c7: i2c@4c84000 { 965 compatible = "qcom,geni-i2c"; 966 reg = <0x0 0x04c84000 0x0 0x4000>; 967 clock-names = "se"; 968 clocks = <&gcc GCC_QUPV3_WRAP1_S1_CLK>; 969 interrupts = <GIC_SPI 508 IRQ_TYPE_LEVEL_HIGH>; 970 dmas = <&gpi_dma1 0 1 QCOM_GPI_I2C>, 971 <&gpi_dma1 1 1 QCOM_GPI_I2C>; 972 dma-names = "tx", "rx"; 973 #address-cells = <1>; 974 #size-cells = <0>; 975 status = "disabled"; 976 }; 977 978 spi7: spi@4c84000 { 979 compatible = "qcom,geni-spi"; 980 reg = <0x0 0x04c84000 0x0 0x4000>; 981 clock-names = "se"; 982 clocks = <&gcc GCC_QUPV3_WRAP1_S1_CLK>; 983 interrupts = <GIC_SPI 508 IRQ_TYPE_LEVEL_HIGH>; 984 power-domains = <&rpmpd SM6375_VDDCX>; 985 operating-points-v2 = <&qup_opp_table>; 986 dmas = <&gpi_dma1 0 1 QCOM_GPI_SPI>, 987 <&gpi_dma1 1 1 QCOM_GPI_SPI>; 988 dma-names = "tx", "rx"; 989 #address-cells = <1>; 990 #size-cells = <0>; 991 status = "disabled"; 992 }; 993 994 i2c8: i2c@4c88000 { 995 compatible = "qcom,geni-i2c"; 996 reg = <0x0 0x04c88000 0x0 0x4000>; 997 clock-names = "se"; 998 clocks = <&gcc GCC_QUPV3_WRAP1_S2_CLK>; 999 interrupts = <GIC_SPI 509 IRQ_TYPE_LEVEL_HIGH>; 1000 pinctrl-names = "default"; 1001 pinctrl-0 = <&qup_i2c8_default>; 1002 dmas = <&gpi_dma1 0 2 QCOM_GPI_I2C>, 1003 <&gpi_dma1 1 2 QCOM_GPI_I2C>; 1004 dma-names = "tx", "rx"; 1005 #address-cells = <1>; 1006 #size-cells = <0>; 1007 status = "disabled"; 1008 }; 1009 1010 spi8: spi@4c88000 { 1011 compatible = "qcom,geni-spi"; 1012 reg = <0x0 0x04c88000 0x0 0x4000>; 1013 clock-names = "se"; 1014 clocks = <&gcc GCC_QUPV3_WRAP1_S2_CLK>; 1015 interrupts = <GIC_SPI 509 IRQ_TYPE_LEVEL_HIGH>; 1016 power-domains = <&rpmpd SM6375_VDDCX>; 1017 operating-points-v2 = <&qup_opp_table>; 1018 dmas = <&gpi_dma1 0 2 QCOM_GPI_SPI>, 1019 <&gpi_dma1 1 2 QCOM_GPI_SPI>; 1020 dma-names = "tx", "rx"; 1021 #address-cells = <1>; 1022 #size-cells = <0>; 1023 status = "disabled"; 1024 }; 1025 1026 i2c9: i2c@4c8c000 { 1027 compatible = "qcom,geni-i2c"; 1028 reg = <0x0 0x04c8c000 0x0 0x4000>; 1029 clock-names = "se"; 1030 clocks = <&gcc GCC_QUPV3_WRAP1_S3_CLK>; 1031 interrupts = <GIC_SPI 510 IRQ_TYPE_LEVEL_HIGH>; 1032 dmas = <&gpi_dma1 0 3 QCOM_GPI_I2C>, 1033 <&gpi_dma1 1 3 QCOM_GPI_I2C>; 1034 dma-names = "tx", "rx"; 1035 #address-cells = <1>; 1036 #size-cells = <0>; 1037 status = "disabled"; 1038 }; 1039 1040 spi9: spi@4c8c000 { 1041 compatible = "qcom,geni-spi"; 1042 reg = <0x0 0x04c8c000 0x0 0x4000>; 1043 clock-names = "se"; 1044 clocks = <&gcc GCC_QUPV3_WRAP1_S3_CLK>; 1045 interrupts = <GIC_SPI 510 IRQ_TYPE_LEVEL_HIGH>; 1046 power-domains = <&rpmpd SM6375_VDDCX>; 1047 operating-points-v2 = <&qup_opp_table>; 1048 dmas = <&gpi_dma1 0 3 QCOM_GPI_SPI>, 1049 <&gpi_dma1 1 3 QCOM_GPI_SPI>; 1050 dma-names = "tx", "rx"; 1051 #address-cells = <1>; 1052 #size-cells = <0>; 1053 status = "disabled"; 1054 }; 1055 1056 i2c10: i2c@4c90000 { 1057 compatible = "qcom,geni-i2c"; 1058 reg = <0x0 0x04c90000 0x0 0x4000>; 1059 clock-names = "se"; 1060 clocks = <&gcc GCC_QUPV3_WRAP1_S4_CLK>; 1061 interrupts = <GIC_SPI 511 IRQ_TYPE_LEVEL_HIGH>; 1062 pinctrl-names = "default"; 1063 pinctrl-0 = <&qup_i2c10_default>; 1064 dmas = <&gpi_dma1 0 4 QCOM_GPI_I2C>, 1065 <&gpi_dma1 1 4 QCOM_GPI_I2C>; 1066 dma-names = "tx", "rx"; 1067 #address-cells = <1>; 1068 #size-cells = <0>; 1069 status = "disabled"; 1070 }; 1071 1072 spi10: spi@4c90000 { 1073 compatible = "qcom,geni-spi"; 1074 reg = <0x0 0x04c90000 0x0 0x4000>; 1075 clock-names = "se"; 1076 clocks = <&gcc GCC_QUPV3_WRAP1_S4_CLK>; 1077 interrupts = <GIC_SPI 511 IRQ_TYPE_LEVEL_HIGH>; 1078 power-domains = <&rpmpd SM6375_VDDCX>; 1079 operating-points-v2 = <&qup_opp_table>; 1080 dmas = <&gpi_dma1 0 4 QCOM_GPI_SPI>, 1081 <&gpi_dma1 1 4 QCOM_GPI_SPI>; 1082 dma-names = "tx", "rx"; 1083 #address-cells = <1>; 1084 #size-cells = <0>; 1085 status = "disabled"; 1086 }; 1087 }; 1088 1089 usb_1: usb@4ef8800 { 1090 compatible = "qcom,sm6375-dwc3", "qcom,dwc3"; 1091 reg = <0 0x04ef8800 0 0x400>; 1092 1093 clocks = <&gcc GCC_CFG_NOC_USB3_PRIM_AXI_CLK>, 1094 <&gcc GCC_USB30_PRIM_MASTER_CLK>, 1095 <&gcc GCC_SYS_NOC_USB3_PRIM_AXI_CLK>, 1096 <&gcc GCC_USB30_PRIM_SLEEP_CLK>, 1097 <&gcc GCC_USB30_PRIM_MOCK_UTMI_CLK>, 1098 <&gcc GCC_USB3_PRIM_CLKREF_CLK>; 1099 clock-names = "cfg_noc", 1100 "core", 1101 "iface", 1102 "sleep", 1103 "mock_utmi", 1104 "xo"; 1105 1106 assigned-clocks = <&gcc GCC_USB30_PRIM_MOCK_UTMI_CLK>, 1107 <&gcc GCC_USB30_PRIM_MASTER_CLK>; 1108 assigned-clock-rates = <19200000>, <133333333>; 1109 1110 interrupts = <GIC_SPI 302 IRQ_TYPE_LEVEL_HIGH>, 1111 <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>, 1112 <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>, 1113 <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>; 1114 interrupt-names = "hs_phy_irq", 1115 "ss_phy_irq", 1116 "dm_hs_phy_irq", 1117 "dp_hs_phy_irq"; 1118 1119 power-domains = <&gcc USB30_PRIM_GDSC>; 1120 1121 resets = <&gcc GCC_USB30_PRIM_BCR>; 1122 1123 /* 1124 * This property is there to allow USB2 to work, as 1125 * USB3 is not implemented yet - (re)move it when 1126 * proper support is in place. 1127 */ 1128 qcom,select-utmi-as-pipe-clk; 1129 1130 #address-cells = <2>; 1131 #size-cells = <2>; 1132 ranges; 1133 1134 status = "disabled"; 1135 1136 usb_1_dwc3: usb@4e00000 { 1137 compatible = "snps,dwc3"; 1138 reg = <0 0x04e00000 0 0xcd00>; 1139 interrupts = <GIC_SPI 255 IRQ_TYPE_LEVEL_HIGH>; 1140 maximum-speed = "high-speed"; 1141 phys = <&usb_1_hsphy>; 1142 phy-names = "usb2-phy"; 1143 iommus = <&apps_smmu 0xe0 0x0>; 1144 1145 /* Yes, this impl *does* have an unfunny number of quirks.. */ 1146 snps,hird-threshold = /bits/ 8 <0x10>; 1147 snps,usb2-gadget-lpm-disable; 1148 snps,dis_u2_susphy_quirk; 1149 snps,is-utmi-l1-suspend; 1150 snps,dis-u1-entry-quirk; 1151 snps,dis-u2-entry-quirk; 1152 snps,usb3_lpm_capable; 1153 snps,has-lpm-erratum; 1154 tx-fifo-resize; 1155 }; 1156 }; 1157 1158 remoteproc_adsp: remoteproc@a400000 { 1159 compatible = "qcom,sm6375-adsp-pas"; 1160 reg = <0 0x0a400000 0 0x100>; 1161 1162 interrupts-extended = <&intc GIC_SPI 282 IRQ_TYPE_LEVEL_HIGH>, 1163 <&smp2p_adsp_in 0 IRQ_TYPE_EDGE_RISING>, 1164 <&smp2p_adsp_in 1 IRQ_TYPE_EDGE_RISING>, 1165 <&smp2p_adsp_in 2 IRQ_TYPE_EDGE_RISING>, 1166 <&smp2p_adsp_in 3 IRQ_TYPE_EDGE_RISING>; 1167 interrupt-names = "wdog", "fatal", "ready", 1168 "handover", "stop-ack"; 1169 1170 clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>; 1171 clock-names = "xo"; 1172 1173 power-domains = <&rpmpd SM6375_VDD_LPI_CX>, 1174 <&rpmpd SM6375_VDD_LPI_MX>; 1175 power-domain-names = "lcx", "lmx"; 1176 1177 memory-region = <&pil_adsp_mem>; 1178 1179 qcom,smem-states = <&smp2p_adsp_out 0>; 1180 qcom,smem-state-names = "stop"; 1181 1182 status = "disabled"; 1183 1184 glink-edge { 1185 interrupts-extended = <&ipcc IPCC_CLIENT_LPASS 1186 IPCC_MPROC_SIGNAL_GLINK_QMP 1187 IRQ_TYPE_EDGE_RISING>; 1188 mboxes = <&ipcc IPCC_CLIENT_LPASS 1189 IPCC_MPROC_SIGNAL_GLINK_QMP>; 1190 1191 label = "lpass"; 1192 qcom,remote-pid = <2>; 1193 }; 1194 }; 1195 1196 remoteproc_cdsp: remoteproc@b000000 { 1197 compatible = "qcom,sm6375-cdsp-pas"; 1198 reg = <0x0 0x0b000000 0x0 0x100000>; 1199 1200 interrupts-extended = <&intc GIC_SPI 265 IRQ_TYPE_EDGE_RISING>, 1201 <&smp2p_cdsp_in 0 IRQ_TYPE_EDGE_RISING>, 1202 <&smp2p_cdsp_in 1 IRQ_TYPE_EDGE_RISING>, 1203 <&smp2p_cdsp_in 2 IRQ_TYPE_EDGE_RISING>, 1204 <&smp2p_cdsp_in 3 IRQ_TYPE_EDGE_RISING>; 1205 interrupt-names = "wdog", "fatal", "ready", 1206 "handover", "stop-ack"; 1207 1208 clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>; 1209 clock-names = "xo"; 1210 1211 power-domains = <&rpmpd SM6375_VDDCX>; 1212 power-domain-names = "cx"; 1213 1214 memory-region = <&pil_cdsp_mem>; 1215 1216 qcom,smem-states = <&smp2p_cdsp_out 0>; 1217 qcom,smem-state-names = "stop"; 1218 1219 status = "disabled"; 1220 1221 glink-edge { 1222 interrupts-extended = <&ipcc IPCC_CLIENT_CDSP 1223 IPCC_MPROC_SIGNAL_GLINK_QMP 1224 IRQ_TYPE_EDGE_RISING>; 1225 mboxes = <&ipcc IPCC_CLIENT_CDSP 1226 IPCC_MPROC_SIGNAL_GLINK_QMP>; 1227 label = "cdsp"; 1228 qcom,remote-pid = <5>; 1229 }; 1230 }; 1231 1232 apps_smmu: iommu@c600000 { 1233 compatible = "qcom,sm6375-smmu-500", "arm,mmu-500"; 1234 reg = <0 0x0c600000 0 0x100000>; 1235 interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>, 1236 <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>, 1237 <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>, 1238 <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>, 1239 <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>, 1240 <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>, 1241 <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>, 1242 <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>, 1243 <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>, 1244 <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>, 1245 <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>, 1246 <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>, 1247 <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>, 1248 <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>, 1249 <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>, 1250 <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>, 1251 <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>, 1252 <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>, 1253 <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>, 1254 <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>, 1255 <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>, 1256 <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>, 1257 <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>, 1258 <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>, 1259 <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>, 1260 <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>, 1261 <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>, 1262 <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>, 1263 <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>, 1264 <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>, 1265 <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>, 1266 <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>, 1267 <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>, 1268 <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>, 1269 <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>, 1270 <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>, 1271 <GIC_SPI 124 IRQ_TYPE_LEVEL_HIGH>, 1272 <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>, 1273 <GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH>, 1274 <GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>, 1275 <GIC_SPI 128 IRQ_TYPE_LEVEL_HIGH>, 1276 <GIC_SPI 129 IRQ_TYPE_LEVEL_HIGH>, 1277 <GIC_SPI 130 IRQ_TYPE_LEVEL_HIGH>, 1278 <GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>, 1279 <GIC_SPI 132 IRQ_TYPE_LEVEL_HIGH>, 1280 <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>, 1281 <GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>, 1282 <GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>, 1283 <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>, 1284 <GIC_SPI 137 IRQ_TYPE_LEVEL_HIGH>, 1285 <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>, 1286 <GIC_SPI 139 IRQ_TYPE_LEVEL_HIGH>, 1287 <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>, 1288 <GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>, 1289 <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>, 1290 <GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>, 1291 <GIC_SPI 144 IRQ_TYPE_LEVEL_HIGH>, 1292 <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>, 1293 <GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>, 1294 <GIC_SPI 147 IRQ_TYPE_LEVEL_HIGH>, 1295 <GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>, 1296 <GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>, 1297 <GIC_SPI 150 IRQ_TYPE_LEVEL_HIGH>, 1298 <GIC_SPI 151 IRQ_TYPE_LEVEL_HIGH>, 1299 <GIC_SPI 152 IRQ_TYPE_LEVEL_HIGH>; 1300 1301 power-domains = <&gcc HLOS1_VOTE_MM_SNOC_MMU_TBU_RT_GDSC>, 1302 <&gcc HLOS1_VOTE_MM_SNOC_MMU_TBU_NRT_GDSC>, 1303 <&gcc HLOS1_VOTE_TURING_MMU_TBU0_GDSC>; 1304 #global-interrupts = <1>; 1305 #iommu-cells = <2>; 1306 }; 1307 1308 intc: interrupt-controller@f200000 { 1309 compatible = "arm,gic-v3"; 1310 reg = <0x0 0x0f200000 0x0 0x10000>, /* GICD */ 1311 <0x0 0x0f240000 0x0 0x100000>; /* GICR * 8 */ 1312 interrupts = <GIC_PPI 8 IRQ_TYPE_LEVEL_HIGH>; 1313 #redistributor-regions = <1>; 1314 #interrupt-cells = <3>; 1315 redistributor-stride = <0 0x20000>; 1316 interrupt-controller; 1317 }; 1318 1319 timer@f420000 { 1320 compatible = "arm,armv7-timer-mem"; 1321 reg = <0 0x0f420000 0 0x1000>; 1322 ranges = <0 0 0 0x20000000>; 1323 #address-cells = <1>; 1324 #size-cells = <1>; 1325 1326 frame@f421000 { 1327 reg = <0x0f421000 0x1000>, <0x0f422000 0x1000>; 1328 interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>, 1329 <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>; 1330 frame-number = <0>; 1331 }; 1332 1333 frame@f423000 { 1334 reg = <0x0f243000 0x1000>; 1335 interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>; 1336 frame-number = <1>; 1337 status = "disabled"; 1338 }; 1339 1340 frame@f425000 { 1341 reg = <0x0f425000 0x1000>; 1342 interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>; 1343 frame-number = <2>; 1344 status = "disabled"; 1345 }; 1346 1347 frame@f427000 { 1348 reg = <0x0f427000 0x1000>; 1349 interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>; 1350 frame-number = <3>; 1351 status = "disabled"; 1352 }; 1353 1354 frame@f429000 { 1355 reg = <0x0f429000 0x1000>; 1356 interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>; 1357 frame-number = <4>; 1358 status = "disabled"; 1359 }; 1360 1361 frame@f42b000 { 1362 reg = <0x0f42b000 0x1000>; 1363 interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>; 1364 frame-number = <5>; 1365 status = "disabled"; 1366 }; 1367 1368 frame@f42d000 { 1369 reg = <0x0f42d000 0x1000>; 1370 interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>; 1371 frame-number = <6>; 1372 status = "disabled"; 1373 }; 1374 }; 1375 1376 cpufreq_hw: cpufreq@fd91000 { 1377 compatible = "qcom,sm6375-cpufreq-epss", "qcom,cpufreq-epss"; 1378 reg = <0 0x0fd91000 0 0x1000>, <0 0x0fd92000 0 0x1000>; 1379 reg-names = "freq-domain0", "freq-domain1"; 1380 1381 clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>, <&gcc GPLL0>; 1382 clock-names = "xo", "alternate"; 1383 interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>, 1384 <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>; 1385 interrupt-names = "dcvsh-irq-0", "dcvsh-irq-1"; 1386 #freq-domain-cells = <1>; 1387 }; 1388 }; 1389 1390 timer { 1391 compatible = "arm,armv8-timer"; 1392 interrupts = <GIC_PPI 1 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>, 1393 <GIC_PPI 2 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>, 1394 <GIC_PPI 3 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>, 1395 <GIC_PPI 0 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>; 1396 }; 1397}; 1398