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/dma/qcom-gpi.h> 12#include <dt-bindings/gpio/gpio.h> 13#include <dt-bindings/interconnect/qcom,icc.h> 14#include <dt-bindings/interconnect/qcom,sdx75.h> 15#include <dt-bindings/interrupt-controller/arm-gic.h> 16#include <dt-bindings/mailbox/qcom-ipcc.h> 17#include <dt-bindings/power/qcom,rpmhpd.h> 18#include <dt-bindings/power/qcom-rpmpd.h> 19#include <dt-bindings/soc/qcom,rpmh-rsc.h> 20 21/ { 22 #address-cells = <2>; 23 #size-cells = <2>; 24 interrupt-parent = <&intc>; 25 26 chosen: chosen { }; 27 28 clocks { 29 xo_board: xo-board { 30 compatible = "fixed-clock"; 31 clock-frequency = <76800000>; 32 #clock-cells = <0>; 33 }; 34 35 sleep_clk: sleep-clk { 36 compatible = "fixed-clock"; 37 clock-frequency = <32764>; 38 #clock-cells = <0>; 39 }; 40 }; 41 42 cpus { 43 #address-cells = <2>; 44 #size-cells = <0>; 45 46 cpu0: cpu@0 { 47 device_type = "cpu"; 48 compatible = "arm,cortex-a55"; 49 reg = <0x0 0x0>; 50 clocks = <&cpufreq_hw 0>; 51 enable-method = "psci"; 52 power-domains = <&cpu_pd0>; 53 power-domain-names = "psci"; 54 qcom,freq-domain = <&cpufreq_hw 0>; 55 capacity-dmips-mhz = <1024>; 56 dynamic-power-coefficient = <100>; 57 next-level-cache = <&l2_0>; 58 59 l2_0: l2-cache { 60 compatible = "cache"; 61 cache-level = <2>; 62 cache-unified; 63 next-level-cache = <&l3_0>; 64 l3_0: l3-cache { 65 compatible = "cache"; 66 cache-level = <3>; 67 cache-unified; 68 }; 69 }; 70 }; 71 72 cpu1: cpu@100 { 73 device_type = "cpu"; 74 compatible = "arm,cortex-a55"; 75 reg = <0x0 0x100>; 76 clocks = <&cpufreq_hw 0>; 77 enable-method = "psci"; 78 power-domains = <&cpu_pd1>; 79 power-domain-names = "psci"; 80 qcom,freq-domain = <&cpufreq_hw 0>; 81 capacity-dmips-mhz = <1024>; 82 dynamic-power-coefficient = <100>; 83 next-level-cache = <&l2_100>; 84 85 l2_100: l2-cache { 86 compatible = "cache"; 87 cache-level = <2>; 88 cache-unified; 89 next-level-cache = <&l3_0>; 90 }; 91 }; 92 93 cpu2: cpu@200 { 94 device_type = "cpu"; 95 compatible = "arm,cortex-a55"; 96 reg = <0x0 0x200>; 97 clocks = <&cpufreq_hw 0>; 98 enable-method = "psci"; 99 power-domains = <&cpu_pd2>; 100 power-domain-names = "psci"; 101 qcom,freq-domain = <&cpufreq_hw 0>; 102 capacity-dmips-mhz = <1024>; 103 dynamic-power-coefficient = <100>; 104 next-level-cache = <&l2_200>; 105 106 l2_200: l2-cache { 107 compatible = "cache"; 108 cache-level = <2>; 109 cache-unified; 110 next-level-cache = <&l3_0>; 111 }; 112 }; 113 114 cpu3: cpu@300 { 115 device_type = "cpu"; 116 compatible = "arm,cortex-a55"; 117 reg = <0x0 0x300>; 118 clocks = <&cpufreq_hw 0>; 119 enable-method = "psci"; 120 power-domains = <&cpu_pd3>; 121 power-domain-names = "psci"; 122 qcom,freq-domain = <&cpufreq_hw 0>; 123 capacity-dmips-mhz = <1024>; 124 dynamic-power-coefficient = <100>; 125 next-level-cache = <&l2_300>; 126 127 l2_300: l2-cache { 128 compatible = "cache"; 129 cache-level = <2>; 130 cache-unified; 131 next-level-cache = <&l3_0>; 132 }; 133 }; 134 135 cpu-map { 136 cluster0 { 137 core0 { 138 cpu = <&cpu0>; 139 }; 140 141 core1 { 142 cpu = <&cpu1>; 143 }; 144 145 core2 { 146 cpu = <&cpu2>; 147 }; 148 149 core3 { 150 cpu = <&cpu3>; 151 }; 152 }; 153 }; 154 155 idle-states { 156 entry-method = "psci"; 157 158 cpu_off: cpu-sleep-0 { 159 compatible = "arm,idle-state"; 160 entry-latency-us = <235>; 161 exit-latency-us = <428>; 162 min-residency-us = <1774>; 163 arm,psci-suspend-param = <0x40000003>; 164 local-timer-stop; 165 }; 166 167 cpu_rail_off: cpu-rail-sleep-1 { 168 compatible = "arm,idle-state"; 169 entry-latency-us = <800>; 170 exit-latency-us = <750>; 171 min-residency-us = <4090>; 172 arm,psci-suspend-param = <0x40000004>; 173 local-timer-stop; 174 }; 175 176 }; 177 178 domain-idle-states { 179 cluster_sleep_0: cluster-sleep-0 { 180 compatible = "domain-idle-state"; 181 arm,psci-suspend-param = <0x41000044>; 182 entry-latency-us = <1050>; 183 exit-latency-us = <2500>; 184 min-residency-us = <5309>; 185 }; 186 187 cluster_sleep_1: cluster-sleep-1 { 188 compatible = "domain-idle-state"; 189 arm,psci-suspend-param = <0x41001344>; 190 entry-latency-us = <2761>; 191 exit-latency-us = <3964>; 192 min-residency-us = <8467>; 193 }; 194 195 cluster_sleep_2: cluster-sleep-2 { 196 compatible = "domain-idle-state"; 197 arm,psci-suspend-param = <0x4100b344>; 198 entry-latency-us = <2793>; 199 exit-latency-us = <4023>; 200 min-residency-us = <9826>; 201 }; 202 }; 203 }; 204 205 firmware { 206 scm: scm { 207 compatible = "qcom,scm-sdx75", "qcom,scm"; 208 }; 209 }; 210 211 clk_virt: interconnect-0 { 212 compatible = "qcom,sdx75-clk-virt"; 213 #interconnect-cells = <2>; 214 qcom,bcm-voters = <&apps_bcm_voter>; 215 clocks = <&rpmhcc RPMH_QPIC_CLK>; 216 }; 217 218 mc_virt: interconnect-1 { 219 compatible = "qcom,sdx75-mc-virt"; 220 #interconnect-cells = <2>; 221 qcom,bcm-voters = <&apps_bcm_voter>; 222 }; 223 224 memory@80000000 { 225 device_type = "memory"; 226 reg = <0x0 0x80000000 0x0 0x0>; 227 }; 228 229 pmu { 230 compatible = "arm,cortex-a55-pmu"; 231 interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_HIGH>; 232 }; 233 234 psci { 235 compatible = "arm,psci-1.0"; 236 method = "smc"; 237 238 cpu_pd0: power-domain-cpu0 { 239 #power-domain-cells = <0>; 240 power-domains = <&cluster_pd>; 241 domain-idle-states = <&cpu_off &cpu_rail_off>; 242 }; 243 244 cpu_pd1: power-domain-cpu1 { 245 #power-domain-cells = <0>; 246 power-domains = <&cluster_pd>; 247 domain-idle-states = <&cpu_off &cpu_rail_off>; 248 }; 249 250 cpu_pd2: power-domain-cpu2 { 251 #power-domain-cells = <0>; 252 power-domains = <&cluster_pd>; 253 domain-idle-states = <&cpu_off &cpu_rail_off>; 254 }; 255 256 cpu_pd3: power-domain-cpu3 { 257 #power-domain-cells = <0>; 258 power-domains = <&cluster_pd>; 259 domain-idle-states = <&cpu_off &cpu_rail_off>; 260 }; 261 262 cluster_pd: power-domain-cpu-cluster0 { 263 #power-domain-cells = <0>; 264 domain-idle-states = <&cluster_sleep_0 &cluster_sleep_1 &cluster_sleep_2>; 265 }; 266 }; 267 268 reserved-memory { 269 #address-cells = <2>; 270 #size-cells = <2>; 271 ranges; 272 273 gunyah_hyp_mem: gunyah-hyp@80000000 { 274 reg = <0x0 0x80000000 0x0 0x800000>; 275 no-map; 276 }; 277 278 hyp_elf_package_mem: hyp-elf-package@80800000 { 279 reg = <0x0 0x80800000 0x0 0x200000>; 280 no-map; 281 }; 282 283 access_control_db_mem: access-control-db@81380000 { 284 reg = <0x0 0x81380000 0x0 0x80000>; 285 no-map; 286 }; 287 288 qteetz_mem: qteetz@814e0000 { 289 reg = <0x0 0x814e0000 0x0 0x2a0000>; 290 no-map; 291 }; 292 293 trusted_apps_mem: trusted-apps@81780000 { 294 reg = <0x0 0x81780000 0x0 0xa00000>; 295 no-map; 296 }; 297 298 xbl_ramdump_mem: xbl-ramdump@87a00000 { 299 reg = <0x0 0x87a00000 0x0 0x1c0000>; 300 no-map; 301 }; 302 303 cpucp_fw_mem: cpucp-fw@87c00000 { 304 reg = <0x0 0x87c00000 0x0 0x100000>; 305 no-map; 306 }; 307 308 xbl_dtlog_mem: xbl-dtlog@87d00000 { 309 reg = <0x0 0x87d00000 0x0 0x40000>; 310 no-map; 311 }; 312 313 xbl_sc_mem: xbl-sc@87d40000 { 314 reg = <0x0 0x87d40000 0x0 0x40000>; 315 no-map; 316 }; 317 318 modem_efs_shared_mem: modem-efs-shared@87d80000 { 319 reg = <0x0 0x87d80000 0x0 0x10000>; 320 no-map; 321 }; 322 323 aop_image_mem: aop-image@87e00000 { 324 reg = <0x0 0x87e00000 0x0 0x20000>; 325 no-map; 326 }; 327 328 smem_mem: smem@87e20000 { 329 reg = <0x0 0x87e20000 0x0 0xc0000>; 330 no-map; 331 }; 332 333 aop_cmd_db_mem: aop-cmd-db@87ee0000 { 334 compatible = "qcom,cmd-db"; 335 reg = <0x0 0x87ee0000 0x0 0x20000>; 336 no-map; 337 }; 338 339 aop_config_mem: aop-config@87f00000 { 340 reg = <0x0 0x87f00000 0x0 0x20000>; 341 no-map; 342 }; 343 344 ipa_fw_mem: ipa-fw@87f20000 { 345 reg = <0x0 0x87f20000 0x0 0x10000>; 346 no-map; 347 }; 348 349 secdata_mem: secdata@87f30000 { 350 reg = <0x0 0x87f30000 0x0 0x1000>; 351 no-map; 352 }; 353 354 tme_crashdump_mem: tme-crashdump@87f31000 { 355 reg = <0x0 0x87f31000 0x0 0x40000>; 356 no-map; 357 }; 358 359 tme_log_mem: tme-log@87f71000 { 360 reg = <0x0 0x87f71000 0x0 0x4000>; 361 no-map; 362 }; 363 364 uefi_log_mem: uefi-log@87f75000 { 365 reg = <0x0 0x87f75000 0x0 0x10000>; 366 no-map; 367 }; 368 369 qdss_mem: qdss@88500000 { 370 reg = <0x0 0x88500000 0x0 0x300000>; 371 no-map; 372 }; 373 374 qlink_logging_mem: qlink-logging@88800000 { 375 reg = <0x0 0x88800000 0x0 0x300000>; 376 no-map; 377 }; 378 379 audio_heap_mem: audio-heap@88b00000 { 380 compatible = "shared-dma-pool"; 381 reg = <0x0 0x88b00000 0x0 0x400000>; 382 no-map; 383 }; 384 385 mpss_dsm_mem_2: mpss-dsm-2@88f00000 { 386 reg = <0x0 0x88f00000 0x0 0x2500000>; 387 no-map; 388 }; 389 390 mpss_dsm_mem: mpss-dsm@8b400000 { 391 reg = <0x0 0x8b400000 0x0 0x2b80000>; 392 no-map; 393 }; 394 395 q6_mpss_dtb_mem: q6-mpss-dtb@8df80000 { 396 reg = <0x0 0x8df80000 0x0 0x80000>; 397 no-map; 398 }; 399 400 mpssadsp_mem: mpssadsp@8e000000 { 401 reg = <0x0 0x8e000000 0x0 0xf100000>; 402 no-map; 403 }; 404 405 gunyah_trace_buffer_mem: gunyah-trace-buffer@bdb00000 { 406 reg = <0x0 0xbdb00000 0x0 0x2000000>; 407 no-map; 408 }; 409 410 smmu_debug_buf_mem: smmu-debug-buf@bfb00000 { 411 reg = <0x0 0xbfb00000 0x0 0x100000>; 412 no-map; 413 }; 414 415 hyp_smmu_s2_pt_mem: hyp-smmu-s2-pt@bfc00000 { 416 reg = <0x0 0xbfc00000 0x0 0x400000>; 417 no-map; 418 }; 419 }; 420 421 smp2p-modem { 422 compatible = "qcom,smp2p"; 423 qcom,smem = <435>, <428>; 424 interrupts-extended = <&ipcc IPCC_CLIENT_MPSS 425 IPCC_MPROC_SIGNAL_SMP2P 426 IRQ_TYPE_EDGE_RISING>; 427 mboxes = <&ipcc IPCC_CLIENT_MPSS 428 IPCC_MPROC_SIGNAL_SMP2P>; 429 430 qcom,local-pid = <0>; 431 qcom,remote-pid = <1>; 432 433 smp2p_modem_out: master-kernel { 434 qcom,entry-name = "master-kernel"; 435 #qcom,smem-state-cells = <1>; 436 }; 437 438 smp2p_modem_in: slave-kernel { 439 qcom,entry-name = "slave-kernel"; 440 interrupt-controller; 441 #interrupt-cells = <2>; 442 }; 443 444 ipa_smp2p_out: ipa-ap-to-modem { 445 qcom,entry-name = "ipa"; 446 #qcom,smem-state-cells = <1>; 447 }; 448 449 ipa_smp2p_in: ipa-modem-to-ap { 450 qcom,entry-name = "ipa"; 451 interrupt-controller; 452 #interrupt-cells = <2>; 453 }; 454 }; 455 456 smem: smem { 457 compatible = "qcom,smem"; 458 memory-region = <&smem_mem>; 459 hwlocks = <&tcsr_mutex 3>; 460 }; 461 462 soc: soc@0 { 463 compatible = "simple-bus"; 464 #address-cells = <2>; 465 #size-cells = <2>; 466 ranges = <0 0 0 0 0x10 0>; 467 dma-ranges = <0 0 0 0 0x10 0>; 468 469 gcc: clock-controller@80000 { 470 compatible = "qcom,sdx75-gcc"; 471 reg = <0x0 0x0080000 0x0 0x1f7400>; 472 clocks = <&rpmhcc RPMH_CXO_CLK>, 473 <&sleep_clk>, 474 <0>, 475 <0>, 476 <0>, 477 <0>, 478 <0>, 479 <0>, 480 <0>, 481 <0>, 482 <0>, 483 <0>, 484 <0>, 485 <0>, 486 <0>; 487 #clock-cells = <1>; 488 #reset-cells = <1>; 489 #power-domain-cells = <1>; 490 }; 491 492 ipcc: mailbox@408000 { 493 compatible = "qcom,sdx75-ipcc", "qcom,ipcc"; 494 reg = <0 0x00408000 0 0x1000>; 495 interrupts = <GIC_SPI 241 IRQ_TYPE_LEVEL_HIGH>; 496 interrupt-controller; 497 #interrupt-cells = <3>; 498 #mbox-cells = <2>; 499 }; 500 501 gpi_dma: dma-controller@900000 { 502 compatible = "qcom,sdx75-gpi-dma", "qcom,sm6350-gpi-dma"; 503 reg = <0x0 0x00900000 0x0 0x60000>; 504 #dma-cells = <3>; 505 interrupts = <GIC_SPI 345 IRQ_TYPE_LEVEL_HIGH>, 506 <GIC_SPI 346 IRQ_TYPE_LEVEL_HIGH>, 507 <GIC_SPI 347 IRQ_TYPE_LEVEL_HIGH>, 508 <GIC_SPI 348 IRQ_TYPE_LEVEL_HIGH>, 509 <GIC_SPI 349 IRQ_TYPE_LEVEL_HIGH>, 510 <GIC_SPI 350 IRQ_TYPE_LEVEL_HIGH>, 511 <GIC_SPI 351 IRQ_TYPE_LEVEL_HIGH>, 512 <GIC_SPI 352 IRQ_TYPE_LEVEL_HIGH>, 513 <GIC_SPI 353 IRQ_TYPE_LEVEL_HIGH>, 514 <GIC_SPI 354 IRQ_TYPE_LEVEL_HIGH>, 515 <GIC_SPI 355 IRQ_TYPE_LEVEL_HIGH>, 516 <GIC_SPI 356 IRQ_TYPE_LEVEL_HIGH>; 517 dma-channels = <12>; 518 dma-channel-mask = <0x7f>; 519 iommus = <&apps_smmu 0xf6 0x0>; 520 status = "disabled"; 521 }; 522 523 qupv3_id_0: geniqup@9c0000 { 524 compatible = "qcom,geni-se-qup"; 525 reg = <0x0 0x009c0000 0x0 0x2000>; 526 clocks = <&gcc GCC_QUPV3_WRAP_0_M_AHB_CLK>, 527 <&gcc GCC_QUPV3_WRAP_0_S_AHB_CLK>; 528 clock-names = "m-ahb", 529 "s-ahb"; 530 iommus = <&apps_smmu 0xe3 0x0>; 531 interconnects = <&clk_virt MASTER_QUP_CORE_0 QCOM_ICC_TAG_ALWAYS 532 &clk_virt SLAVE_QUP_CORE_0 QCOM_ICC_TAG_ALWAYS>; 533 interconnect-names = "qup-core"; 534 #address-cells = <2>; 535 #size-cells = <2>; 536 ranges; 537 status = "disabled"; 538 539 i2c0: i2c@980000 { 540 compatible = "qcom,geni-i2c"; 541 reg = <0x0 0x00980000 0x0 0x4000>; 542 clocks = <&gcc GCC_QUPV3_WRAP0_S0_CLK>; 543 clock-names = "se"; 544 interrupts = <GIC_SPI 337 IRQ_TYPE_LEVEL_HIGH>; 545 #address-cells = <1>; 546 #size-cells = <0>; 547 pinctrl-0 = <&qup_i2c0_data_clk>; 548 pinctrl-names = "default"; 549 interconnects = <&clk_virt MASTER_QUP_CORE_0 QCOM_ICC_TAG_ALWAYS 550 &clk_virt SLAVE_QUP_CORE_0 QCOM_ICC_TAG_ALWAYS>, 551 <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS 552 &system_noc SLAVE_QUP_0 QCOM_ICC_TAG_ALWAYS>, 553 <&system_noc MASTER_QUP_0 QCOM_ICC_TAG_ALWAYS 554 &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>; 555 interconnect-names = "qup-core", "qup-config", "qup-memory"; 556 dmas = <&gpi_dma 0 0 QCOM_GPI_I2C>, 557 <&gpi_dma 1 0 QCOM_GPI_I2C>; 558 dma-names = "tx", "rx"; 559 status = "disabled"; 560 }; 561 562 spi0: spi@980000 { 563 compatible = "qcom,geni-spi"; 564 reg = <0x0 0x00980000 0x0 0x4000>; 565 clocks = <&gcc GCC_QUPV3_WRAP0_S0_CLK>; 566 clock-names = "se"; 567 interrupts = <GIC_SPI 337 IRQ_TYPE_LEVEL_HIGH>; 568 #address-cells = <1>; 569 #size-cells = <0>; 570 pinctrl-0 = <&qup_spi0_data_clk>, <&qup_spi0_cs>; 571 pinctrl-names = "default"; 572 interconnects = <&clk_virt MASTER_QUP_CORE_0 QCOM_ICC_TAG_ALWAYS 573 &clk_virt SLAVE_QUP_CORE_0 QCOM_ICC_TAG_ALWAYS>, 574 <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS 575 &system_noc SLAVE_QUP_0 QCOM_ICC_TAG_ALWAYS>, 576 <&system_noc MASTER_QUP_0 QCOM_ICC_TAG_ALWAYS 577 &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>; 578 interconnect-names = "qup-core", "qup-config", "qup-memory"; 579 dmas = <&gpi_dma 0 0 QCOM_GPI_SPI>, 580 <&gpi_dma 1 0 QCOM_GPI_SPI>; 581 dma-names = "tx", "rx"; 582 status = "disabled"; 583 }; 584 585 uart1: serial@984000 { 586 compatible = "qcom,geni-debug-uart"; 587 reg = <0x0 0x00984000 0x0 0x4000>; 588 clocks = <&gcc GCC_QUPV3_WRAP0_S1_CLK>; 589 clock-names = "se"; 590 interconnects = <&clk_virt MASTER_QUP_CORE_0 QCOM_ICC_TAG_ALWAYS 591 &clk_virt SLAVE_QUP_CORE_0 QCOM_ICC_TAG_ALWAYS>, 592 <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS 593 &system_noc SLAVE_QUP_0 QCOM_ICC_TAG_ALWAYS>; 594 interconnect-names = "qup-core", 595 "qup-config"; 596 interrupts = <GIC_SPI 338 IRQ_TYPE_LEVEL_HIGH>; 597 pinctrl-0 = <&qupv3_se1_2uart_active>; 598 pinctrl-1 = <&qupv3_se1_2uart_sleep>; 599 pinctrl-names = "default", 600 "sleep"; 601 status = "disabled"; 602 }; 603 604 i2c2: i2c@988000 { 605 compatible = "qcom,geni-i2c"; 606 reg = <0x0 0x00988000 0x0 0x4000>; 607 clocks = <&gcc GCC_QUPV3_WRAP0_S2_CLK>; 608 clock-names = "se"; 609 interrupts = <GIC_SPI 339 IRQ_TYPE_LEVEL_HIGH>; 610 #address-cells = <1>; 611 #size-cells = <0>; 612 pinctrl-0 = <&qup_i2c2_data_clk>; 613 pinctrl-names = "default"; 614 interconnects = <&clk_virt MASTER_QUP_CORE_0 QCOM_ICC_TAG_ALWAYS 615 &clk_virt SLAVE_QUP_CORE_0 QCOM_ICC_TAG_ALWAYS>, 616 <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS 617 &system_noc SLAVE_QUP_0 QCOM_ICC_TAG_ALWAYS>, 618 <&system_noc MASTER_QUP_0 QCOM_ICC_TAG_ALWAYS 619 &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>; 620 interconnect-names = "qup-core", "qup-config", "qup-memory"; 621 dmas = <&gpi_dma 0 2 QCOM_GPI_I2C>, 622 <&gpi_dma 1 2 QCOM_GPI_I2C>; 623 dma-names = "tx", "rx"; 624 status = "disabled"; 625 }; 626 627 spi2: spi@988000 { 628 compatible = "qcom,geni-spi"; 629 reg = <0x0 0x00988000 0x0 0x4000>; 630 clocks = <&gcc GCC_QUPV3_WRAP0_S2_CLK>; 631 clock-names = "se"; 632 interrupts = <GIC_SPI 339 IRQ_TYPE_LEVEL_HIGH>; 633 #address-cells = <1>; 634 #size-cells = <0>; 635 pinctrl-0 = <&qup_spi2_data_clk>, <&qup_spi2_cs>; 636 pinctrl-names = "default"; 637 interconnects = <&clk_virt MASTER_QUP_CORE_0 QCOM_ICC_TAG_ALWAYS 638 &clk_virt SLAVE_QUP_CORE_0 QCOM_ICC_TAG_ALWAYS>, 639 <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS 640 &system_noc SLAVE_QUP_0 QCOM_ICC_TAG_ALWAYS>, 641 <&system_noc MASTER_QUP_0 QCOM_ICC_TAG_ALWAYS 642 &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>; 643 interconnect-names = "qup-core", "qup-config", "qup-memory"; 644 dmas = <&gpi_dma 0 2 QCOM_GPI_SPI>, 645 <&gpi_dma 1 2 QCOM_GPI_SPI>; 646 dma-names = "tx", "rx"; 647 status = "disabled"; 648 }; 649 650 i2c3: i2c@98c000 { 651 compatible = "qcom,geni-i2c"; 652 reg = <0x0 0x0098c000 0x0 0x4000>; 653 clocks = <&gcc GCC_QUPV3_WRAP0_S3_CLK>; 654 clock-names = "se"; 655 interrupts = <GIC_SPI 340 IRQ_TYPE_LEVEL_HIGH>; 656 #address-cells = <1>; 657 #size-cells = <0>; 658 pinctrl-0 = <&qup_i2c3_data_clk>; 659 pinctrl-names = "default"; 660 interconnects = <&clk_virt MASTER_QUP_CORE_0 QCOM_ICC_TAG_ALWAYS 661 &clk_virt SLAVE_QUP_CORE_0 QCOM_ICC_TAG_ALWAYS>, 662 <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS 663 &system_noc SLAVE_QUP_0 QCOM_ICC_TAG_ALWAYS>, 664 <&system_noc MASTER_QUP_0 QCOM_ICC_TAG_ALWAYS 665 &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>; 666 interconnect-names = "qup-core", "qup-config", "qup-memory"; 667 dmas = <&gpi_dma 0 3 QCOM_GPI_I2C>, 668 <&gpi_dma 1 3 QCOM_GPI_I2C>; 669 dma-names = "tx", "rx"; 670 status = "disabled"; 671 }; 672 673 spi3: spi@98c000 { 674 compatible = "qcom,geni-spi"; 675 reg = <0x0 0x0098c000 0x0 0x4000>; 676 clocks = <&gcc GCC_QUPV3_WRAP0_S3_CLK>; 677 clock-names = "se"; 678 interrupts = <GIC_SPI 340 IRQ_TYPE_LEVEL_HIGH>; 679 #address-cells = <1>; 680 #size-cells = <0>; 681 pinctrl-0 = <&qup_spi3_data_clk>, <&qup_spi3_cs>; 682 pinctrl-names = "default"; 683 interconnects = <&clk_virt MASTER_QUP_CORE_0 QCOM_ICC_TAG_ALWAYS 684 &clk_virt SLAVE_QUP_CORE_0 QCOM_ICC_TAG_ALWAYS>, 685 <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS 686 &system_noc SLAVE_QUP_0 QCOM_ICC_TAG_ALWAYS>, 687 <&system_noc MASTER_QUP_0 QCOM_ICC_TAG_ALWAYS 688 &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>; 689 interconnect-names = "qup-core", "qup-config", "qup-memory"; 690 dmas = <&gpi_dma 0 3 QCOM_GPI_SPI>, 691 <&gpi_dma 1 3 QCOM_GPI_SPI>; 692 dma-names = "tx", "rx"; 693 status = "disabled"; 694 }; 695 696 uart4: serial@990000 { 697 compatible = "qcom,geni-uart"; 698 reg = <0x0 0x00990000 0x0 0x4000>; 699 clocks = <&gcc GCC_QUPV3_WRAP0_S4_CLK>; 700 clock-names = "se"; 701 interrupts = <GIC_SPI 341 IRQ_TYPE_LEVEL_HIGH>; 702 pinctrl-0 = <&qup_uart4_default>, <&qup_uart4_cts_rts>; 703 pinctrl-names = "default"; 704 interconnects = <&clk_virt MASTER_QUP_CORE_0 QCOM_ICC_TAG_ALWAYS 705 &clk_virt SLAVE_QUP_CORE_0 QCOM_ICC_TAG_ALWAYS>, 706 <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS 707 &system_noc SLAVE_QUP_0 QCOM_ICC_TAG_ALWAYS>; 708 interconnect-names = "qup-core", "qup-config"; 709 status = "disabled"; 710 }; 711 712 i2c5: i2c@994000 { 713 compatible = "qcom,geni-i2c"; 714 reg = <0x0 0x00994000 0x0 0x4000>; 715 clocks = <&gcc GCC_QUPV3_WRAP0_S5_CLK>; 716 clock-names = "se"; 717 interrupts = <GIC_SPI 342 IRQ_TYPE_LEVEL_HIGH>; 718 #address-cells = <1>; 719 #size-cells = <0>; 720 pinctrl-0 = <&qup_i2c5_data_clk>; 721 pinctrl-names = "default"; 722 interconnects = <&clk_virt MASTER_QUP_CORE_0 QCOM_ICC_TAG_ALWAYS 723 &clk_virt SLAVE_QUP_CORE_0 QCOM_ICC_TAG_ALWAYS>, 724 <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS 725 &system_noc SLAVE_QUP_0 QCOM_ICC_TAG_ALWAYS>, 726 <&system_noc MASTER_QUP_0 QCOM_ICC_TAG_ALWAYS 727 &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>; 728 interconnect-names = "qup-core", "qup-config", "qup-memory"; 729 dmas = <&gpi_dma 0 5 QCOM_GPI_I2C>, 730 <&gpi_dma 1 5 QCOM_GPI_I2C>; 731 dma-names = "tx", "rx"; 732 status = "disabled"; 733 }; 734 735 i2c6: i2c@998000 { 736 compatible = "qcom,geni-i2c"; 737 reg = <0x0 0x00998000 0x0 0x4000>; 738 clocks = <&gcc GCC_QUPV3_WRAP0_S6_CLK>; 739 clock-names = "se"; 740 interrupts = <GIC_SPI 343 IRQ_TYPE_LEVEL_HIGH>; 741 #address-cells = <1>; 742 #size-cells = <0>; 743 pinctrl-0 = <&qup_i2c6_data_clk>; 744 pinctrl-names = "default"; 745 interconnects = <&clk_virt MASTER_QUP_CORE_0 QCOM_ICC_TAG_ALWAYS 746 &clk_virt SLAVE_QUP_CORE_0 QCOM_ICC_TAG_ALWAYS>, 747 <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS 748 &system_noc SLAVE_QUP_0 QCOM_ICC_TAG_ALWAYS>, 749 <&system_noc MASTER_QUP_0 QCOM_ICC_TAG_ALWAYS 750 &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>; 751 interconnect-names = "qup-core", "qup-config", "qup-memory"; 752 dmas = <&gpi_dma 0 6 QCOM_GPI_I2C>, 753 <&gpi_dma 1 6 QCOM_GPI_I2C>; 754 dma-names = "tx", "rx"; 755 status = "disabled"; 756 }; 757 758 spi6: spi@998000 { 759 compatible = "qcom,geni-spi"; 760 reg = <0x0 0x00998000 0x0 0x4000>; 761 clocks = <&gcc GCC_QUPV3_WRAP0_S6_CLK>; 762 clock-names = "se"; 763 interrupts = <GIC_SPI 343 IRQ_TYPE_LEVEL_HIGH>; 764 #address-cells = <1>; 765 #size-cells = <0>; 766 pinctrl-0 = <&qup_spi6_data_clk>, <&qup_spi6_cs>; 767 pinctrl-names = "default"; 768 interconnects = <&clk_virt MASTER_QUP_CORE_0 QCOM_ICC_TAG_ALWAYS 769 &clk_virt SLAVE_QUP_CORE_0 QCOM_ICC_TAG_ALWAYS>, 770 <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS 771 &system_noc SLAVE_QUP_0 QCOM_ICC_TAG_ALWAYS>, 772 <&system_noc MASTER_QUP_0 QCOM_ICC_TAG_ALWAYS 773 &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>; 774 interconnect-names = "qup-core", "qup-config", "qup-memory"; 775 dmas = <&gpi_dma 0 6 QCOM_GPI_SPI>, 776 <&gpi_dma 1 6 QCOM_GPI_SPI>; 777 dma-names = "tx", "rx"; 778 status = "disabled"; 779 }; 780 781 i2c7: i2c@99c000 { 782 compatible = "qcom,geni-i2c"; 783 reg = <0x0 0x0099c000 0x0 0x4000>; 784 clocks = <&gcc GCC_QUPV3_WRAP0_S7_CLK>; 785 clock-names = "se"; 786 interrupts = <GIC_SPI 344 IRQ_TYPE_LEVEL_HIGH>; 787 #address-cells = <1>; 788 #size-cells = <0>; 789 pinctrl-0 = <&qup_i2c7_data_clk>; 790 pinctrl-names = "default"; 791 interconnects = <&clk_virt MASTER_QUP_CORE_0 QCOM_ICC_TAG_ALWAYS 792 &clk_virt SLAVE_QUP_CORE_0 QCOM_ICC_TAG_ALWAYS>, 793 <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS 794 &system_noc SLAVE_QUP_0 QCOM_ICC_TAG_ALWAYS>, 795 <&system_noc MASTER_QUP_0 QCOM_ICC_TAG_ALWAYS 796 &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>; 797 interconnect-names = "qup-core", "qup-config", "qup-memory"; 798 dmas = <&gpi_dma 0 7 QCOM_GPI_I2C>, 799 <&gpi_dma 1 7 QCOM_GPI_I2C>; 800 dma-names = "tx", "rx"; 801 status = "disabled"; 802 }; 803 804 spi7: spi@99c000 { 805 compatible = "qcom,geni-spi"; 806 reg = <0x0 0x0099c000 0x0 0x4000>; 807 clocks = <&gcc GCC_QUPV3_WRAP0_S7_CLK>; 808 clock-names = "se"; 809 interrupts = <GIC_SPI 344 IRQ_TYPE_LEVEL_HIGH>; 810 #address-cells = <1>; 811 #size-cells = <0>; 812 pinctrl-0 = <&qup_spi7_data_clk>, <&qup_spi7_cs>; 813 pinctrl-names = "default"; 814 interconnects = <&clk_virt MASTER_QUP_CORE_0 QCOM_ICC_TAG_ALWAYS 815 &clk_virt SLAVE_QUP_CORE_0 QCOM_ICC_TAG_ALWAYS>, 816 <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS 817 &system_noc SLAVE_QUP_0 QCOM_ICC_TAG_ALWAYS>, 818 <&system_noc MASTER_QUP_0 QCOM_ICC_TAG_ALWAYS 819 &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>; 820 interconnect-names = "qup-core", "qup-config", "qup-memory"; 821 dmas = <&gpi_dma 0 7 QCOM_GPI_SPI>, 822 <&gpi_dma 1 7 QCOM_GPI_SPI>; 823 dma-names = "tx", "rx"; 824 status = "disabled"; 825 }; 826 }; 827 828 usb_hsphy: phy@ff4000 { 829 compatible = "qcom,sdx75-snps-eusb2-phy", "qcom,sm8550-snps-eusb2-phy"; 830 reg = <0x0 0x00ff4000 0x0 0x154>; 831 #phy-cells = <0>; 832 833 clocks = <&rpmhcc RPMH_CXO_CLK>; 834 clock-names = "ref"; 835 836 resets = <&gcc GCC_QUSB2PHY_BCR>; 837 838 status = "disabled"; 839 }; 840 841 usb_qmpphy: phy@ff6000 { 842 compatible = "qcom,sdx75-qmp-usb3-uni-phy"; 843 reg = <0x0 0x00ff6000 0x0 0x2000>; 844 845 clocks = <&gcc GCC_USB3_PHY_AUX_CLK>, 846 <&gcc GCC_USB2_CLKREF_EN>, 847 <&gcc GCC_USB_PHY_CFG_AHB2PHY_CLK>, 848 <&gcc GCC_USB3_PHY_PIPE_CLK>; 849 clock-names = "aux", 850 "ref", 851 "cfg_ahb", 852 "pipe"; 853 854 power-domains = <&gcc GCC_USB3_PHY_GDSC>; 855 856 resets = <&gcc GCC_USB3_PHY_BCR>, 857 <&gcc GCC_USB3PHY_PHY_BCR>; 858 reset-names = "phy", 859 "phy_phy"; 860 861 #clock-cells = <0>; 862 clock-output-names = "usb3_uni_phy_pipe_clk_src"; 863 864 #phy-cells = <0>; 865 866 status = "disabled"; 867 }; 868 869 system_noc: interconnect@1640000 { 870 compatible = "qcom,sdx75-system-noc"; 871 reg = <0x0 0x01640000 0x0 0x4b400>; 872 #interconnect-cells = <2>; 873 qcom,bcm-voters = <&apps_bcm_voter>; 874 }; 875 876 pcie_anoc: interconnect@16c0000 { 877 compatible = "qcom,sdx75-pcie-anoc"; 878 reg = <0x0 0x016c0000 0x0 0x14200>; 879 #interconnect-cells = <2>; 880 qcom,bcm-voters = <&apps_bcm_voter>; 881 }; 882 883 tcsr_mutex: hwlock@1f40000 { 884 compatible = "qcom,tcsr-mutex"; 885 reg = <0x0 0x01f40000 0x0 0x40000>; 886 #hwlock-cells = <1>; 887 }; 888 889 tcsr: syscon@1fc0000 { 890 compatible = "qcom,sdx75-tcsr", "syscon"; 891 reg = <0x0 0x01fc0000 0x0 0x30000>; 892 }; 893 894 remoteproc_mpss: remoteproc@4080000 { 895 compatible = "qcom,sdx75-mpss-pas"; 896 reg = <0 0x04080000 0 0x10000>; 897 898 interrupts-extended = <&intc GIC_SPI 250 IRQ_TYPE_EDGE_RISING>, 899 <&smp2p_modem_in 0 IRQ_TYPE_EDGE_RISING>, 900 <&smp2p_modem_in 1 IRQ_TYPE_EDGE_RISING>, 901 <&smp2p_modem_in 2 IRQ_TYPE_EDGE_RISING>, 902 <&smp2p_modem_in 3 IRQ_TYPE_EDGE_RISING>, 903 <&smp2p_modem_in 7 IRQ_TYPE_EDGE_RISING>; 904 interrupt-names = "wdog", 905 "fatal", 906 "ready", 907 "handover", 908 "stop-ack", 909 "shutdown-ack"; 910 911 clocks = <&rpmhcc RPMH_CXO_CLK>; 912 clock-names = "xo"; 913 914 power-domains = <&rpmhpd RPMHPD_CX>, 915 <&rpmhpd RPMHPD_MSS>; 916 power-domain-names = "cx", 917 "mss"; 918 919 memory-region = <&mpssadsp_mem>, <&q6_mpss_dtb_mem>, 920 <&mpss_dsm_mem>, <&mpss_dsm_mem_2>, 921 <&qlink_logging_mem>; 922 923 qcom,qmp = <&aoss_qmp>; 924 925 qcom,smem-states = <&smp2p_modem_out 0>; 926 qcom,smem-state-names = "stop"; 927 928 status = "disabled"; 929 930 glink-edge { 931 interrupts-extended = <&ipcc IPCC_CLIENT_MPSS 932 IPCC_MPROC_SIGNAL_PING 933 IRQ_TYPE_EDGE_RISING>; 934 mboxes = <&ipcc IPCC_CLIENT_MPSS 935 IPCC_MPROC_SIGNAL_PING>; 936 label = "mpss"; 937 qcom,remote-pid = <1>; 938 }; 939 }; 940 941 sdhc: mmc@8804000 { 942 compatible = "qcom,sdx75-sdhci", "qcom,sdhci-msm-v5"; 943 reg = <0x0 0x08804000 0x0 0x1000>; 944 945 interrupts = <GIC_SPI 210 IRQ_TYPE_LEVEL_HIGH>, 946 <GIC_SPI 227 IRQ_TYPE_LEVEL_HIGH>; 947 interrupt-names = "hc_irq", 948 "pwr_irq"; 949 950 clocks = <&gcc GCC_SDCC1_AHB_CLK>, 951 <&gcc GCC_SDCC1_APPS_CLK>, 952 <&rpmhcc RPMH_CXO_CLK>; 953 clock-names = "iface", 954 "core", 955 "xo"; 956 iommus = <&apps_smmu 0x00a0 0x0>; 957 qcom,dll-config = <0x0007442c>; 958 qcom,ddr-config = <0x80040868>; 959 power-domains = <&rpmhpd RPMHPD_CX>; 960 operating-points-v2 = <&sdhc1_opp_table>; 961 962 interconnects = <&system_noc MASTER_SDCC_1 &mc_virt SLAVE_EBI1>, 963 <&gem_noc MASTER_APPSS_PROC &system_noc SLAVE_SDCC_1>; 964 interconnect-names = "sdhc-ddr", 965 "cpu-sdhc"; 966 bus-width = <4>; 967 dma-coherent; 968 969 /* Forbid SDR104/SDR50 - broken hw! */ 970 sdhci-caps-mask = <0x3 0>; 971 972 status = "disabled"; 973 974 sdhc1_opp_table: opp-table { 975 compatible = "operating-points-v2"; 976 977 opp-100000000 { 978 opp-hz = /bits/ 64 <100000000>; 979 required-opps = <&rpmhpd_opp_low_svs>; 980 }; 981 982 opp-384000000 { 983 opp-hz = /bits/ 64 <384000000>; 984 required-opps = <&rpmhpd_opp_nom>; 985 }; 986 }; 987 }; 988 989 usb: usb@a6f8800 { 990 compatible = "qcom,sdx75-dwc3", "qcom,dwc3"; 991 reg = <0x0 0x0a6f8800 0x0 0x400>; 992 #address-cells = <2>; 993 #size-cells = <2>; 994 ranges; 995 996 clocks = <&gcc GCC_USB30_SLV_AHB_CLK>, 997 <&gcc GCC_USB30_MASTER_CLK>, 998 <&gcc GCC_USB30_MSTR_AXI_CLK>, 999 <&gcc GCC_USB30_SLEEP_CLK>, 1000 <&gcc GCC_USB30_MOCK_UTMI_CLK>; 1001 clock-names = "cfg_noc", 1002 "core", 1003 "iface", 1004 "sleep", 1005 "mock_utmi"; 1006 1007 assigned-clocks = <&gcc GCC_USB30_MOCK_UTMI_CLK>, 1008 <&gcc GCC_USB30_MASTER_CLK>; 1009 assigned-clock-rates = <19200000>, <200000000>; 1010 1011 interrupts-extended = <&intc GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>, 1012 <&pdc 17 IRQ_TYPE_LEVEL_HIGH>, 1013 <&pdc 9 IRQ_TYPE_EDGE_RISING>, 1014 <&pdc 10 IRQ_TYPE_EDGE_RISING>; 1015 interrupt-names = "hs_phy_irq", 1016 "ss_phy_irq", 1017 "dm_hs_phy_irq", 1018 "dp_hs_phy_irq"; 1019 1020 power-domains = <&gcc GCC_USB30_GDSC>; 1021 1022 resets = <&gcc GCC_USB30_BCR>; 1023 1024 interconnects = <&system_noc MASTER_USB3_0 QCOM_ICC_TAG_ALWAYS 1025 &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>, 1026 <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS 1027 &system_noc SLAVE_USB3 QCOM_ICC_TAG_ALWAYS>; 1028 interconnect-names = "usb-ddr", 1029 "apps-usb"; 1030 1031 status = "disabled"; 1032 1033 usb_dwc3: usb@a600000 { 1034 compatible = "snps,dwc3"; 1035 reg = <0x0 0x0a600000 0x0 0xcd00>; 1036 interrupts = <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>; 1037 iommus = <&apps_smmu 0x80 0x0>; 1038 snps,dis_u2_susphy_quirk; 1039 snps,dis_enblslpm_quirk; 1040 snps,dis-u1-entry-quirk; 1041 snps,dis-u2-entry-quirk; 1042 phys = <&usb_hsphy>, 1043 <&usb_qmpphy>; 1044 phy-names = "usb2-phy", 1045 "usb3-phy"; 1046 1047 ports { 1048 #address-cells = <1>; 1049 #size-cells = <0>; 1050 1051 port@0 { 1052 reg = <0>; 1053 1054 usb_1_dwc3_hs: endpoint { 1055 }; 1056 }; 1057 1058 port@1 { 1059 reg = <1>; 1060 1061 usb_1_dwc3_ss: endpoint { 1062 }; 1063 }; 1064 }; 1065 }; 1066 }; 1067 1068 pdc: interrupt-controller@b220000 { 1069 compatible = "qcom,sdx75-pdc", "qcom,pdc"; 1070 reg = <0x0 0xb220000 0x0 0x30000>, 1071 <0x0 0x174000f0 0x0 0x64>; 1072 qcom,pdc-ranges = <0 147 52>, 1073 <52 266 32>, 1074 <84 500 59>; 1075 #interrupt-cells = <2>; 1076 interrupt-parent = <&intc>; 1077 interrupt-controller; 1078 }; 1079 1080 aoss_qmp: power-controller@c310000 { 1081 compatible = "qcom,sdx75-aoss-qmp", "qcom,aoss-qmp"; 1082 reg = <0 0x0c310000 0 0x1000>; 1083 interrupt-parent = <&ipcc>; 1084 interrupts-extended = <&ipcc IPCC_CLIENT_AOP IPCC_MPROC_SIGNAL_GLINK_QMP 1085 IRQ_TYPE_EDGE_RISING>; 1086 mboxes = <&ipcc IPCC_CLIENT_AOP IPCC_MPROC_SIGNAL_GLINK_QMP>; 1087 1088 #clock-cells = <0>; 1089 }; 1090 1091 spmi_bus: spmi@c400000 { 1092 compatible = "qcom,spmi-pmic-arb"; 1093 reg = <0x0 0x0c400000 0x0 0x3000>, 1094 <0x0 0x0c500000 0x0 0x400000>, 1095 <0x0 0x0c440000 0x0 0x80000>, 1096 <0x0 0x0c4c0000 0x0 0x10000>, 1097 <0x0 0x0c42d000 0x0 0x4000>; 1098 reg-names = "core", 1099 "chnls", 1100 "obsrvr", 1101 "intr", 1102 "cnfg"; 1103 interrupts-extended = <&pdc 1 IRQ_TYPE_LEVEL_HIGH>; 1104 interrupt-names = "periph_irq"; 1105 qcom,ee = <0>; 1106 qcom,channel = <0>; 1107 qcom,bus-id = <0>; 1108 #address-cells = <2>; 1109 #size-cells = <0>; 1110 interrupt-controller; 1111 #interrupt-cells = <4>; 1112 }; 1113 1114 tlmm: pinctrl@f000000 { 1115 compatible = "qcom,sdx75-tlmm"; 1116 reg = <0x0 0x0f000000 0x0 0x400000>; 1117 interrupts = <GIC_SPI 212 IRQ_TYPE_LEVEL_HIGH>; 1118 gpio-controller; 1119 #gpio-cells = <2>; 1120 gpio-ranges = <&tlmm 0 0 133>; 1121 interrupt-controller; 1122 #interrupt-cells = <2>; 1123 wakeup-parent = <&pdc>; 1124 1125 qup_i2c0_data_clk: qup-i2c0-data-clk-state { 1126 /* SDA, SCL */ 1127 pins = "gpio8", "gpio9"; 1128 function = "qup_se0"; 1129 drive-strength = <2>; 1130 bias-pull-up; 1131 }; 1132 1133 qup_i2c2_data_clk: qup-i2c2-data-clk-state { 1134 /* SDA, SCL */ 1135 pins = "gpio14", "gpio15"; 1136 function = "qup_se2"; 1137 drive-strength = <2>; 1138 bias-pull-up; 1139 }; 1140 1141 qup_i2c3_data_clk: qup-i2c3-data-clk-state { 1142 /* SDA, SCL */ 1143 pins = "gpio52", "gpio53"; 1144 function = "qup_se3"; 1145 drive-strength = <2>; 1146 bias-pull-up; 1147 }; 1148 1149 qup_i2c5_data_clk: qup-i2c5-data-clk-state { 1150 /* SDA, SCL */ 1151 pins = "gpio110", "gpio111"; 1152 function = "qup_se5"; 1153 drive-strength = <2>; 1154 bias-pull-up; 1155 }; 1156 1157 qup_i2c6_data_clk: qup-i2c6-data-clk-state { 1158 /* SDA, SCL */ 1159 pins = "gpio112", "gpio113"; 1160 function = "qup_se6"; 1161 drive-strength = <2>; 1162 bias-pull-up; 1163 }; 1164 1165 qup_i2c7_data_clk: qup-i2c7-data-clk-state { 1166 /* SDA, SCL */ 1167 pins = "gpio116", "gpio117"; 1168 function = "qup_se7"; 1169 drive-strength = <2>; 1170 bias-pull-up; 1171 }; 1172 1173 qup_spi0_cs: qup-spi0-cs-state { 1174 pins = "gpio11"; 1175 function = "qup_se0"; 1176 drive-strength = <6>; 1177 bias-pull-down; 1178 }; 1179 1180 qup_spi0_data_clk: qup-spi0-data-clk-state { 1181 /* MISO, MOSI, CLK */ 1182 pins = "gpio8", "gpio9", "gpio10"; 1183 function = "qup_se0"; 1184 drive-strength = <6>; 1185 bias-pull-down; 1186 }; 1187 1188 qup_spi2_cs: qup-spi2-cs-state { 1189 pins = "gpio17"; 1190 function = "qup_se2"; 1191 drive-strength = <6>; 1192 bias-pull-down; 1193 }; 1194 1195 qup_spi2_data_clk: qup-spi2-data-clk-state { 1196 /* MISO, MOSI, CLK */ 1197 pins = "gpio14", "gpio15", "gpio16"; 1198 function = "qup_se2"; 1199 drive-strength = <6>; 1200 bias-pull-down; 1201 }; 1202 1203 qup_spi3_cs: qup-spi3-cs-state { 1204 pins = "gpio55"; 1205 function = "qup_se3"; 1206 drive-strength = <6>; 1207 bias-pull-down; 1208 }; 1209 1210 qup_spi3_data_clk: qup-spi3-data-clk-state { 1211 /* MISO, MOSI, CLK */ 1212 pins = "gpio52", "gpio53", "gpio54"; 1213 function = "qup_se3"; 1214 drive-strength = <6>; 1215 bias-pull-down; 1216 }; 1217 1218 qup_spi6_cs: qup-spi6-cs-state { 1219 pins = "gpio115"; 1220 function = "qup_se6"; 1221 drive-strength = <6>; 1222 bias-pull-down; 1223 }; 1224 1225 qup_spi6_data_clk: qup-spi6-data-clk-state { 1226 /* MISO, MOSI, CLK */ 1227 pins = "gpio112", "gpio113", "gpio114"; 1228 function = "qup_se6"; 1229 drive-strength = <6>; 1230 bias-pull-down; 1231 }; 1232 1233 qup_spi7_cs: qup-spi7-cs-state { 1234 pins = "gpio119"; 1235 function = "qup_se7"; 1236 drive-strength = <6>; 1237 bias-pull-down; 1238 }; 1239 1240 qup_spi7_data_clk: qup-spi7-data-clk-state { 1241 /* MISO, MOSI, CLK */ 1242 pins = "gpio116", "gpio117", "gpio118"; 1243 function = "qup_se7"; 1244 drive-strength = <6>; 1245 bias-pull-down; 1246 }; 1247 1248 qup_uart4_cts_rts: qup-uart4-cts-rts-state { 1249 /* CTS, RTS */ 1250 pins = "gpio52", "gpio53"; 1251 function = "qup_se3"; 1252 drive-strength = <2>; 1253 bias-pull-down; 1254 }; 1255 1256 qup_uart4_default: qup-uart4-default-state { 1257 /* TX, RX */ 1258 pins = "gpio54", "gpio55"; 1259 function = "qup_se3"; 1260 drive-strength = <2>; 1261 bias-pull-up; 1262 }; 1263 1264 qupv3_se1_2uart_active: qupv3-se1-2uart-active-state { 1265 tx-pins { 1266 pins = "gpio12"; 1267 function = "qup_se1_l2_mira"; 1268 drive-strength = <2>; 1269 bias-disable; 1270 }; 1271 1272 rx-pins { 1273 pins = "gpio13"; 1274 function = "qup_se1_l3_mira"; 1275 drive-strength = <2>; 1276 bias-disable; 1277 }; 1278 }; 1279 1280 qupv3_se1_2uart_sleep: qupv3-se1-2uart-sleep-state { 1281 pins = "gpio12", "gpio13"; 1282 function = "gpio"; 1283 drive-strength = <2>; 1284 bias-pull-down; 1285 }; 1286 1287 sdc1_default: sdc1-default-state { 1288 clk-pins { 1289 pins = "sdc1_clk"; 1290 drive-strength = <16>; 1291 bias-disable; 1292 }; 1293 1294 cmd-pins { 1295 pins = "sdc1_cmd"; 1296 drive-strength = <10>; 1297 bias-pull-up; 1298 }; 1299 1300 data-pins { 1301 pins = "sdc1_data"; 1302 drive-strength = <10>; 1303 bias-pull-up; 1304 }; 1305 }; 1306 1307 sdc1_sleep: sdc1-sleep-state { 1308 clk-pins { 1309 pins = "sdc1_clk"; 1310 drive-strength = <2>; 1311 bias-disable; 1312 }; 1313 1314 cmd-pins { 1315 pins = "sdc1_cmd"; 1316 drive-strength = <2>; 1317 bias-pull-up; 1318 }; 1319 1320 data-pins { 1321 pins = "sdc1_data"; 1322 drive-strength = <2>; 1323 bias-pull-up; 1324 }; 1325 }; 1326 }; 1327 1328 apps_smmu: iommu@15000000 { 1329 compatible = "qcom,sdx75-smmu-500", "qcom,smmu-500", "arm,mmu-500"; 1330 reg = <0x0 0x15000000 0x0 0x40000>; 1331 #iommu-cells = <2>; 1332 #global-interrupts = <2>; 1333 dma-coherent; 1334 interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>, 1335 <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>, 1336 <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>, 1337 <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>, 1338 <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>, 1339 <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>, 1340 <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>, 1341 <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>, 1342 <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>, 1343 <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>, 1344 <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>, 1345 <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>, 1346 <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>, 1347 <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>, 1348 <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>, 1349 <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>, 1350 <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>, 1351 <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>, 1352 <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>, 1353 <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>, 1354 <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>, 1355 <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>, 1356 <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>, 1357 <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>, 1358 <GIC_SPI 298 IRQ_TYPE_LEVEL_HIGH>, 1359 <GIC_SPI 299 IRQ_TYPE_LEVEL_HIGH>, 1360 <GIC_SPI 300 IRQ_TYPE_LEVEL_HIGH>, 1361 <GIC_SPI 301 IRQ_TYPE_LEVEL_HIGH>, 1362 <GIC_SPI 302 IRQ_TYPE_LEVEL_HIGH>, 1363 <GIC_SPI 303 IRQ_TYPE_LEVEL_HIGH>, 1364 <GIC_SPI 304 IRQ_TYPE_LEVEL_HIGH>, 1365 <GIC_SPI 305 IRQ_TYPE_LEVEL_HIGH>, 1366 <GIC_SPI 306 IRQ_TYPE_LEVEL_HIGH>; 1367 }; 1368 1369 intc: interrupt-controller@17200000 { 1370 compatible = "arm,gic-v3"; 1371 #interrupt-cells = <3>; 1372 interrupt-controller; 1373 #redistributor-regions = <1>; 1374 redistributor-stride = <0x0 0x20000>; 1375 reg = <0x0 0x17200000 0x0 0x10000>, 1376 <0x0 0x17260000 0x0 0x80000>; 1377 interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>; 1378 }; 1379 1380 timer@17420000 { 1381 compatible = "arm,armv7-timer-mem"; 1382 reg = <0x0 0x17420000 0x0 0x1000>; 1383 #address-cells = <1>; 1384 #size-cells = <1>; 1385 ranges = <0 0 0 0x20000000>; 1386 1387 frame@17421000 { 1388 reg = <0x17421000 0x1000>, 1389 <0x17422000 0x1000>; 1390 frame-number = <0>; 1391 interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>, 1392 <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>; 1393 }; 1394 1395 frame@17423000 { 1396 reg = <0x17423000 0x1000>; 1397 frame-number = <1>; 1398 interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>; 1399 status = "disabled"; 1400 }; 1401 1402 frame@17425000 { 1403 reg = <0x17425000 0x1000>; 1404 frame-number = <2>; 1405 interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>; 1406 status = "disabled"; 1407 }; 1408 1409 frame@17427000 { 1410 reg = <0x17427000 0x1000>; 1411 frame-number = <3>; 1412 interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>; 1413 status = "disabled"; 1414 }; 1415 1416 frame@17429000 { 1417 reg = <0x17429000 0x1000>; 1418 frame-number = <4>; 1419 interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>; 1420 status = "disabled"; 1421 }; 1422 1423 frame@1742b000 { 1424 reg = <0x1742b000 0x1000>; 1425 frame-number = <5>; 1426 interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>; 1427 status = "disabled"; 1428 }; 1429 1430 frame@1742d000 { 1431 reg = <0x1742d000 0x1000>; 1432 frame-number = <6>; 1433 interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>; 1434 status = "disabled"; 1435 }; 1436 }; 1437 1438 apps_rsc: rsc@17a00000 { 1439 label = "apps_rsc"; 1440 compatible = "qcom,rpmh-rsc"; 1441 reg = <0x0 0x17a00000 0x0 0x10000>, 1442 <0x0 0x17a10000 0x0 0x10000>, 1443 <0x0 0x17a20000 0x0 0x10000>; 1444 reg-names = "drv-0", "drv-1", "drv-2"; 1445 interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>, 1446 <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>, 1447 <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>; 1448 1449 power-domains = <&cluster_pd>; 1450 qcom,tcs-offset = <0xd00>; 1451 qcom,drv-id = <2>; 1452 qcom,tcs-config = <ACTIVE_TCS 3>, 1453 <SLEEP_TCS 2>, 1454 <WAKE_TCS 2>, 1455 <CONTROL_TCS 0>; 1456 1457 apps_bcm_voter: bcm-voter { 1458 compatible = "qcom,bcm-voter"; 1459 }; 1460 1461 rpmhcc: clock-controller { 1462 compatible = "qcom,sdx75-rpmh-clk"; 1463 clocks = <&xo_board>; 1464 clock-names = "xo"; 1465 #clock-cells = <1>; 1466 }; 1467 1468 rpmhpd: power-controller { 1469 compatible = "qcom,sdx75-rpmhpd"; 1470 #power-domain-cells = <1>; 1471 operating-points-v2 = <&rpmhpd_opp_table>; 1472 1473 rpmhpd_opp_table: opp-table { 1474 compatible = "operating-points-v2"; 1475 1476 rpmhpd_opp_ret: opp-16 { 1477 opp-level = <RPMH_REGULATOR_LEVEL_RETENTION>; 1478 }; 1479 1480 rpmhpd_opp_min_svs: opp-48 { 1481 opp-level = <RPMH_REGULATOR_LEVEL_MIN_SVS>; 1482 }; 1483 1484 rpmhpd_opp_low_svs: opp-64 { 1485 opp-level = <RPMH_REGULATOR_LEVEL_LOW_SVS>; 1486 }; 1487 1488 rpmhpd_opp_svs: opp-128 { 1489 opp-level = <RPMH_REGULATOR_LEVEL_SVS>; 1490 }; 1491 1492 rpmhpd_opp_svs_l1: opp-192 { 1493 opp-level = <RPMH_REGULATOR_LEVEL_SVS_L1>; 1494 }; 1495 1496 rpmhpd_opp_nom: opp-256 { 1497 opp-level = <RPMH_REGULATOR_LEVEL_NOM>; 1498 }; 1499 1500 rpmhpd_opp_nom_l1: opp-320 { 1501 opp-level = <RPMH_REGULATOR_LEVEL_NOM_L1>; 1502 }; 1503 1504 rpmhpd_opp_nom_l2: opp-336 { 1505 opp-level = <RPMH_REGULATOR_LEVEL_NOM_L2>; 1506 }; 1507 1508 rpmhpd_opp_turbo: opp-384 { 1509 opp-level = <RPMH_REGULATOR_LEVEL_TURBO>; 1510 }; 1511 1512 rpmhpd_opp_turbo_l1: opp-416 { 1513 opp-level = <RPMH_REGULATOR_LEVEL_TURBO_L1>; 1514 }; 1515 }; 1516 }; 1517 }; 1518 1519 cpufreq_hw: cpufreq@17d91000 { 1520 compatible = "qcom,sdx75-cpufreq-epss", "qcom,cpufreq-epss"; 1521 reg = <0x0 0x17d91000 0x0 0x1000>; 1522 reg-names = "freq-domain0"; 1523 clocks = <&rpmhcc RPMH_CXO_CLK>, 1524 <&gcc GPLL0>; 1525 clock-names = "xo", 1526 "alternate"; 1527 interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>; 1528 interrupt-names = "dcvsh-irq-0"; 1529 #freq-domain-cells = <1>; 1530 #clock-cells = <1>; 1531 }; 1532 1533 dc_noc: interconnect@190e0000 { 1534 compatible = "qcom,sdx75-dc-noc"; 1535 reg = <0x0 0x190e0000 0x0 0x8200>; 1536 #interconnect-cells = <2>; 1537 qcom,bcm-voters = <&apps_bcm_voter>; 1538 }; 1539 1540 gem_noc: interconnect@19100000 { 1541 compatible = "qcom,sdx75-gem-noc"; 1542 reg = <0x0 0x19100000 0x0 0x34080>; 1543 #interconnect-cells = <2>; 1544 qcom,bcm-voters = <&apps_bcm_voter>; 1545 }; 1546 }; 1547 1548 timer { 1549 compatible = "arm,armv8-timer"; 1550 interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>, 1551 <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>, 1552 <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>, 1553 <GIC_PPI 12 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>; 1554 }; 1555}; 1556