1// SPDX-License-Identifier: BSD-3-Clause 2/* 3 * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved. 4 */ 5 6#include <dt-bindings/clock/qcom,qdu1000-gcc.h> 7#include <dt-bindings/clock/qcom,rpmh.h> 8#include <dt-bindings/dma/qcom-gpi.h> 9#include <dt-bindings/gpio/gpio.h> 10#include <dt-bindings/interconnect/qcom,icc.h> 11#include <dt-bindings/interconnect/qcom,qdu1000-rpmh.h> 12#include <dt-bindings/interrupt-controller/arm-gic.h> 13#include <dt-bindings/power/qcom-rpmpd.h> 14#include <dt-bindings/soc/qcom,rpmh-rsc.h> 15 16/ { 17 interrupt-parent = <&intc>; 18 19 #address-cells = <2>; 20 #size-cells = <2>; 21 22 chosen: chosen { }; 23 24 cpus { 25 #address-cells = <2>; 26 #size-cells = <0>; 27 28 cpu0: cpu@0 { 29 device_type = "cpu"; 30 compatible = "arm,cortex-a55"; 31 reg = <0x0 0x0>; 32 clocks = <&cpufreq_hw 0>; 33 enable-method = "psci"; 34 power-domains = <&cpu_pd0>; 35 power-domain-names = "psci"; 36 qcom,freq-domains = <&cpufreq_hw 0>; 37 next-level-cache = <&l2_0>; 38 l2_0: l2-cache { 39 compatible = "cache"; 40 cache-level = <2>; 41 cache-unified; 42 next-level-cache = <&l3_0>; 43 l3_0: l3-cache { 44 compatible = "cache"; 45 cache-level = <3>; 46 cache-unified; 47 }; 48 }; 49 }; 50 51 cpu1: cpu@100 { 52 device_type = "cpu"; 53 compatible = "arm,cortex-a55"; 54 reg = <0x0 0x100>; 55 clocks = <&cpufreq_hw 0>; 56 enable-method = "psci"; 57 power-domains = <&cpu_pd1>; 58 power-domain-names = "psci"; 59 qcom,freq-domains = <&cpufreq_hw 0>; 60 next-level-cache = <&l2_100>; 61 l2_100: l2-cache { 62 compatible = "cache"; 63 cache-level = <2>; 64 cache-unified; 65 next-level-cache = <&l3_0>; 66 }; 67 }; 68 69 cpu2: cpu@200 { 70 device_type = "cpu"; 71 compatible = "arm,cortex-a55"; 72 reg = <0x0 0x200>; 73 clocks = <&cpufreq_hw 0>; 74 enable-method = "psci"; 75 power-domains = <&cpu_pd2>; 76 power-domain-names = "psci"; 77 qcom,freq-domains = <&cpufreq_hw 0>; 78 next-level-cache = <&l2_200>; 79 l2_200: l2-cache { 80 compatible = "cache"; 81 cache-level = <2>; 82 cache-unified; 83 next-level-cache = <&l3_0>; 84 }; 85 }; 86 87 cpu3: cpu@300 { 88 device_type = "cpu"; 89 compatible = "arm,cortex-a55"; 90 reg = <0x0 0x300>; 91 clocks = <&cpufreq_hw 0>; 92 enable-method = "psci"; 93 power-domains = <&cpu_pd3>; 94 power-domain-names = "psci"; 95 qcom,freq-domains = <&cpufreq_hw 0>; 96 next-level-cache = <&l2_300>; 97 l2_300: l2-cache { 98 compatible = "cache"; 99 cache-level = <2>; 100 cache-unified; 101 next-level-cache = <&l3_0>; 102 }; 103 }; 104 105 cpu-map { 106 cluster0 { 107 core0 { 108 cpu = <&cpu0>; 109 }; 110 111 core1 { 112 cpu = <&cpu1>; 113 }; 114 115 core2 { 116 cpu = <&cpu2>; 117 }; 118 119 core3 { 120 cpu = <&cpu3>; 121 }; 122 }; 123 }; 124 }; 125 126 idle-states { 127 entry-method = "psci"; 128 129 cpu_off: cpu-sleep-0 { 130 compatible = "arm,idle-state"; 131 entry-latency-us = <274>; 132 exit-latency-us = <480>; 133 min-residency-us = <3934>; 134 arm,psci-suspend-param = <0x40000004>; 135 local-timer-stop; 136 }; 137 }; 138 139 domain-idle-states { 140 cluster_sleep_0: cluster-sleep-0 { 141 compatible = "domain-idle-state"; 142 entry-latency-us = <584>; 143 exit-latency-us = <2332>; 144 min-residency-us = <6118>; 145 arm,psci-suspend-param = <0x41000044>; 146 }; 147 148 cluster_sleep_1: cluster-sleep-1 { 149 compatible = "domain-idle-state"; 150 entry-latency-us = <2893>; 151 exit-latency-us = <4023>; 152 min-residency-us = <9987>; 153 arm,psci-suspend-param = <0x41003344>; 154 }; 155 }; 156 157 firmware { 158 scm { 159 compatible = "qcom,scm-qdu1000", "qcom,scm"; 160 }; 161 }; 162 163 mc_virt: interconnect-0 { 164 compatible = "qcom,qdu1000-mc-virt"; 165 qcom,bcm-voters = <&apps_bcm_voter>; 166 #interconnect-cells = <2>; 167 }; 168 169 clk_virt: interconnect-1 { 170 compatible = "qcom,qdu1000-clk-virt"; 171 qcom,bcm-voters = <&apps_bcm_voter>; 172 #interconnect-cells = <2>; 173 }; 174 175 memory@80000000 { 176 device_type = "memory"; 177 /* We expect the bootloader to fill in the size */ 178 reg = <0x0 0x80000000 0x0 0x0>; 179 }; 180 181 pmu { 182 compatible = "arm,cortex-a55-pmu"; 183 interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_HIGH>; 184 }; 185 186 psci { 187 compatible = "arm,psci-1.0"; 188 method = "smc"; 189 190 cpu_pd0: power-domain-cpu0 { 191 #power-domain-cells = <0>; 192 power-domains = <&cluster_pd>; 193 domain-idle-states = <&cpu_off>; 194 }; 195 196 cpu_pd1: power-domain-cpu1 { 197 #power-domain-cells = <0>; 198 power-domains = <&cluster_pd>; 199 domain-idle-states = <&cpu_off>; 200 }; 201 202 cpu_pd2: power-domain-cpu2 { 203 #power-domain-cells = <0>; 204 power-domains = <&cluster_pd>; 205 domain-idle-states = <&cpu_off>; 206 }; 207 208 cpu_pd3: power-domain-cpu3 { 209 #power-domain-cells = <0>; 210 power-domains = <&cluster_pd>; 211 domain-idle-states = <&cpu_off>; 212 }; 213 214 cluster_pd: power-domain-cluster { 215 #power-domain-cells = <0>; 216 domain-idle-states = <&cluster_sleep_0 &cluster_sleep_1>; 217 }; 218 }; 219 220 reserved_memory: reserved-memory { 221 #address-cells = <2>; 222 #size-cells = <2>; 223 ranges; 224 225 hyp_mem: hyp@80000000 { 226 reg = <0x0 0x80000000 0x0 0x600000>; 227 no-map; 228 }; 229 230 xbl_dt_log_mem: xbl-dt-log@80600000 { 231 reg = <0x0 0x80600000 0x0 0x40000>; 232 no-map; 233 }; 234 235 xbl_ramdump_mem: xbl-ramdump@80640000 { 236 reg = <0x0 0x80640000 0x0 0x1c0000>; 237 no-map; 238 }; 239 240 aop_image_mem: aop-image@80800000 { 241 reg = <0x0 0x80800000 0x0 0x60000>; 242 no-map; 243 }; 244 245 aop_cmd_db_mem: aop-cmd-db@80860000 { 246 compatible = "qcom,cmd-db"; 247 reg = <0x0 0x80860000 0x0 0x20000>; 248 no-map; 249 }; 250 251 aop_config_mem: aop-config@80880000 { 252 reg = <0x0 0x80880000 0x0 0x20000>; 253 no-map; 254 }; 255 256 tme_crash_dump_mem: tme-crash-dump@808a0000 { 257 reg = <0x0 0x808a0000 0x0 0x40000>; 258 no-map; 259 }; 260 261 tme_log_mem: tme-log@808e0000 { 262 reg = <0x0 0x808e0000 0x0 0x4000>; 263 no-map; 264 }; 265 266 uefi_log_mem: uefi-log@808e4000 { 267 reg = <0x0 0x808e4000 0x0 0x10000>; 268 no-map; 269 }; 270 271 smem_mem: smem@80900000 { 272 compatible = "qcom,smem"; 273 reg = <0x0 0x80900000 0x0 0x200000>; 274 no-map; 275 hwlocks = <&tcsr_mutex 3>; 276 }; 277 278 cpucp_fw_mem: cpucp-fw@80b00000 { 279 reg = <0x0 0x80b00000 0x0 0x100000>; 280 no-map; 281 }; 282 283 xbl_sc_mem: memory@80c00000 { 284 reg = <0x0 0x80c00000 0x0 0x40000>; 285 no-map; 286 }; 287 288 tz_stat_mem: tz-stat@81d00000 { 289 reg = <0x0 0x81d00000 0x0 0x100000>; 290 no-map; 291 }; 292 293 tags_mem: tags@81e00000 { 294 reg = <0x0 0x81e00000 0x0 0x500000>; 295 no-map; 296 }; 297 298 qtee_mem: qtee@82300000 { 299 reg = <0x0 0x82300000 0x0 0x500000>; 300 no-map; 301 }; 302 303 ta_mem: ta@82800000 { 304 reg = <0x0 0x82800000 0x0 0xa00000>; 305 no-map; 306 }; 307 308 fs1_mem: fs1@83200000 { 309 reg = <0x0 0x83200000 0x0 0x400000>; 310 no-map; 311 }; 312 313 fs2_mem: fs2@83600000 { 314 reg = <0x0 0x83600000 0x0 0x400000>; 315 no-map; 316 }; 317 318 fs3_mem: fs3@83a00000 { 319 reg = <0x0 0x83a00000 0x0 0x400000>; 320 no-map; 321 }; 322 323 /* Linux kernel image is loaded at 0x83e00000 */ 324 325 ipa_fw_mem: ipa-fw@8be00000 { 326 reg = <0x0 0x8be00000 0x0 0x10000>; 327 no-map; 328 }; 329 330 ipa_gsi_mem: ipa-gsi@8be10000 { 331 reg = <0x0 0x8be10000 0x0 0x14000>; 332 no-map; 333 }; 334 335 mpss_mem: mpss@8c000000 { 336 reg = <0x0 0x8c000000 0x0 0x12c00000>; 337 no-map; 338 }; 339 340 q6_mpss_dtb_mem: q6-mpss-dtb@9ec00000 { 341 reg = <0x0 0x9ec00000 0x0 0x80000>; 342 no-map; 343 }; 344 345 tenx_mem: tenx@a0000000 { 346 reg = <0x0 0xa0000000 0x0 0x19600000>; 347 no-map; 348 }; 349 350 oem_tenx_mem: oem-tenx@b9600000 { 351 reg = <0x0 0xb9600000 0x0 0x6a00000>; 352 no-map; 353 }; 354 355 tenx_q6_buffer_mem: tenx-q6-buffer@c0000000 { 356 reg = <0x0 0xc0000000 0x0 0x3200000>; 357 no-map; 358 }; 359 360 ipa_buffer_mem: ipa-buffer@c3200000 { 361 reg = <0x0 0xc3200000 0x0 0x12c00000>; 362 no-map; 363 }; 364 }; 365 366 soc: soc@0 { 367 compatible = "simple-bus"; 368 #address-cells = <2>; 369 #size-cells = <2>; 370 ranges = <0 0 0 0 0x10 0>; 371 dma-ranges = <0 0 0 0 0x10 0>; 372 373 gcc: clock-controller@80000 { 374 compatible = "qcom,qdu1000-gcc"; 375 reg = <0x0 0x80000 0x0 0x1f4200>; 376 clocks = <&rpmhcc RPMH_CXO_CLK>, 377 <&sleep_clk>, 378 <0>, 379 <0>, 380 <0>; 381 #clock-cells = <1>; 382 #reset-cells = <1>; 383 #power-domain-cells = <1>; 384 }; 385 386 ecpricc: clock-controller@280000 { 387 compatible = "qcom,qdu1000-ecpricc"; 388 reg = <0x0 0x00280000 0x0 0x31c00>; 389 clocks = <&rpmhcc RPMH_CXO_CLK>, 390 <&gcc GCC_ECPRI_CC_GPLL0_CLK_SRC>, 391 <&gcc GCC_ECPRI_CC_GPLL1_EVEN_CLK_SRC>, 392 <&gcc GCC_ECPRI_CC_GPLL2_EVEN_CLK_SRC>, 393 <&gcc GCC_ECPRI_CC_GPLL3_CLK_SRC>, 394 <&gcc GCC_ECPRI_CC_GPLL4_CLK_SRC>, 395 <&gcc GCC_ECPRI_CC_GPLL5_EVEN_CLK_SRC>; 396 #clock-cells = <1>; 397 #reset-cells = <1>; 398 }; 399 400 gpi_dma0: dma-controller@900000 { 401 compatible = "qcom,qdu1000-gpi-dma", "qcom,sm6350-gpi-dma"; 402 reg = <0x0 0x900000 0x0 0x60000>; 403 interrupts = <GIC_SPI 244 IRQ_TYPE_LEVEL_HIGH>, 404 <GIC_SPI 245 IRQ_TYPE_LEVEL_HIGH>, 405 <GIC_SPI 246 IRQ_TYPE_LEVEL_HIGH>, 406 <GIC_SPI 247 IRQ_TYPE_LEVEL_HIGH>, 407 <GIC_SPI 248 IRQ_TYPE_LEVEL_HIGH>, 408 <GIC_SPI 249 IRQ_TYPE_LEVEL_HIGH>, 409 <GIC_SPI 250 IRQ_TYPE_LEVEL_HIGH>, 410 <GIC_SPI 251 IRQ_TYPE_LEVEL_HIGH>, 411 <GIC_SPI 252 IRQ_TYPE_LEVEL_HIGH>, 412 <GIC_SPI 253 IRQ_TYPE_LEVEL_HIGH>, 413 <GIC_SPI 254 IRQ_TYPE_LEVEL_HIGH>, 414 <GIC_SPI 255 IRQ_TYPE_LEVEL_HIGH>; 415 dma-channels = <12>; 416 dma-channel-mask = <0x3f>; 417 iommus = <&apps_smmu 0xf6 0x0>; 418 #dma-cells = <3>; 419 }; 420 421 qupv3_id_0: geniqup@9c0000 { 422 compatible = "qcom,geni-se-qup"; 423 reg = <0x0 0x9c0000 0x0 0x2000>; 424 clocks = <&gcc GCC_QUPV3_WRAP_0_M_AHB_CLK>, 425 <&gcc GCC_QUPV3_WRAP_0_S_AHB_CLK>; 426 clock-names = "m-ahb", "s-ahb"; 427 iommus = <&apps_smmu 0xe3 0x0>; 428 interconnects = <&clk_virt MASTER_QUP_CORE_0 0 429 &clk_virt SLAVE_QUP_CORE_0 0>; 430 interconnect-names = "qup-core"; 431 432 #address-cells = <2>; 433 #size-cells = <2>; 434 ranges; 435 status = "disabled"; 436 437 uart0: serial@980000 { 438 compatible = "qcom,geni-uart"; 439 reg = <0x0 0x980000 0x0 0x4000>; 440 clocks = <&gcc GCC_QUPV3_WRAP0_S0_CLK>; 441 clock-names = "se"; 442 pinctrl-0 = <&qup_uart0_default>; 443 pinctrl-names = "default"; 444 interrupts = <GIC_SPI 601 IRQ_TYPE_LEVEL_HIGH>; 445 status = "disabled"; 446 }; 447 448 i2c1: i2c@984000 { 449 compatible = "qcom,geni-i2c"; 450 reg = <0x0 0x984000 0x0 0x4000>; 451 clocks = <&gcc GCC_QUPV3_WRAP0_S1_CLK>; 452 clock-names = "se"; 453 interrupts = <GIC_SPI 602 IRQ_TYPE_LEVEL_HIGH>; 454 pinctrl-0 = <&qup_i2c1_data_clk>; 455 pinctrl-names = "default"; 456 #address-cells = <1>; 457 #size-cells = <0>; 458 status = "disabled"; 459 }; 460 461 spi1: spi@984000 { 462 compatible = "qcom,geni-spi"; 463 reg = <0x0 0x984000 0x0 0x4000>; 464 #address-cells = <1>; 465 #size-cells = <0>; 466 interrupts = <GIC_SPI 602 IRQ_TYPE_LEVEL_HIGH>; 467 clocks = <&gcc GCC_QUPV3_WRAP0_S1_CLK>; 468 clock-names = "se"; 469 pinctrl-0 = <&qup_spi1_data_clk>, <&qup_spi1_cs>; 470 pinctrl-names = "default"; 471 status = "disabled"; 472 }; 473 474 i2c2: i2c@988000 { 475 compatible = "qcom,geni-i2c"; 476 reg = <0x0 0x988000 0x0 0x4000>; 477 clocks = <&gcc GCC_QUPV3_WRAP0_S2_CLK>; 478 clock-names = "se"; 479 interrupts = <GIC_SPI 603 IRQ_TYPE_LEVEL_HIGH>; 480 pinctrl-0 = <&qup_i2c2_data_clk>; 481 pinctrl-names = "default"; 482 #address-cells = <1>; 483 #size-cells = <0>; 484 status = "disabled"; 485 }; 486 487 spi2: spi@988000 { 488 compatible = "qcom,geni-spi"; 489 reg = <0x0 0x988000 0x0 0x4000>; 490 #address-cells = <1>; 491 #size-cells = <0>; 492 interrupts = <GIC_SPI 603 IRQ_TYPE_LEVEL_HIGH>; 493 clocks = <&gcc GCC_QUPV3_WRAP0_S2_CLK>; 494 clock-names = "se"; 495 pinctrl-0 = <&qup_spi2_data_clk>, <&qup_spi2_cs>; 496 pinctrl-names = "default"; 497 status = "disabled"; 498 }; 499 500 i2c3: i2c@98c000 { 501 compatible = "qcom,geni-i2c"; 502 reg = <0x0 0x98c000 0x0 0x4000>; 503 clocks = <&gcc GCC_QUPV3_WRAP0_S3_CLK>; 504 clock-names = "se"; 505 interrupts = <GIC_SPI 604 IRQ_TYPE_LEVEL_HIGH>; 506 pinctrl-0 = <&qup_i2c3_data_clk>; 507 pinctrl-names = "default"; 508 #address-cells = <1>; 509 #size-cells = <0>; 510 status = "disabled"; 511 }; 512 513 spi3: spi@98c000 { 514 compatible = "qcom,geni-spi"; 515 reg = <0x0 0x98c000 0x0 0x4000>; 516 #address-cells = <1>; 517 #size-cells = <0>; 518 interrupts = <GIC_SPI 604 IRQ_TYPE_LEVEL_HIGH>; 519 clocks = <&gcc GCC_QUPV3_WRAP0_S3_CLK>; 520 clock-names = "se"; 521 pinctrl-0 = <&qup_spi3_data_clk>, <&qup_spi3_cs>; 522 pinctrl-names = "default"; 523 status = "disabled"; 524 }; 525 526 i2c4: i2c@990000 { 527 compatible = "qcom,geni-i2c"; 528 reg = <0x0 0x990000 0x0 0x4000>; 529 clocks = <&gcc GCC_QUPV3_WRAP0_S4_CLK>; 530 clock-names = "se"; 531 interrupts = <GIC_SPI 605 IRQ_TYPE_LEVEL_HIGH>; 532 pinctrl-0 = <&qup_i2c4_data_clk>; 533 pinctrl-names = "default"; 534 #address-cells = <1>; 535 #size-cells = <0>; 536 status = "disabled"; 537 }; 538 539 spi4: spi@990000 { 540 compatible = "qcom,geni-spi"; 541 reg = <0x0 0x990000 0x0 0x4000>; 542 #address-cells = <1>; 543 #size-cells = <0>; 544 interrupts = <GIC_SPI 605 IRQ_TYPE_LEVEL_HIGH>; 545 clocks = <&gcc GCC_QUPV3_WRAP0_S4_CLK>; 546 clock-names = "se"; 547 pinctrl-0 = <&qup_spi4_data_clk>, <&qup_spi4_cs>; 548 pinctrl-names = "default"; 549 status = "disabled"; 550 }; 551 552 i2c5: i2c@994000 { 553 compatible = "qcom,geni-i2c"; 554 reg = <0x0 0x994000 0x0 0x4000>; 555 clocks = <&gcc GCC_QUPV3_WRAP0_S5_CLK>; 556 clock-names = "se"; 557 interrupts = <GIC_SPI 606 IRQ_TYPE_LEVEL_HIGH>; 558 pinctrl-0 = <&qup_i2c5_data_clk>; 559 pinctrl-names = "default"; 560 #address-cells = <1>; 561 #size-cells = <0>; 562 status = "disabled"; 563 }; 564 565 spi5: spi@994000 { 566 compatible = "qcom,geni-spi"; 567 reg = <0x0 0x994000 0x0 0x4000>; 568 #address-cells = <1>; 569 #size-cells = <0>; 570 interrupts = <GIC_SPI 606 IRQ_TYPE_LEVEL_HIGH>; 571 clocks = <&gcc GCC_QUPV3_WRAP0_S5_CLK>; 572 clock-names = "se"; 573 pinctrl-0 = <&qup_spi5_data_clk>, <&qup_spi5_cs>; 574 pinctrl-names = "default"; 575 status = "disabled"; 576 }; 577 578 i2c6: i2c@998000 { 579 compatible = "qcom,geni-i2c"; 580 reg = <0x0 0x998000 0x0 0x4000>; 581 clocks = <&gcc GCC_QUPV3_WRAP0_S6_CLK>; 582 clock-names = "se"; 583 interrupts = <GIC_SPI 607 IRQ_TYPE_LEVEL_HIGH>; 584 pinctrl-0 = <&qup_i2c6_data_clk>; 585 pinctrl-names = "default"; 586 #address-cells = <1>; 587 #size-cells = <0>; 588 status = "disabled"; 589 }; 590 591 spi6: spi@998000 { 592 compatible = "qcom,geni-spi"; 593 reg = <0x0 0x998000 0x0 0x4000>; 594 #address-cells = <1>; 595 #size-cells = <0>; 596 interrupts = <GIC_SPI 607 IRQ_TYPE_LEVEL_HIGH>; 597 clocks = <&gcc GCC_QUPV3_WRAP0_S6_CLK>; 598 clock-names = "se"; 599 pinctrl-0 = <&qup_spi6_data_clk>, <&qup_spi6_cs>; 600 pinctrl-names = "default"; 601 status = "disabled"; 602 }; 603 604 uart7: serial@99c000 { 605 compatible = "qcom,geni-debug-uart"; 606 reg = <0x0 0x99c000 0x0 0x4000>; 607 clocks = <&gcc GCC_QUPV3_WRAP0_S7_CLK>; 608 clock-names = "se"; 609 pinctrl-0 = <&qup_uart7_tx>, <&qup_uart7_rx>; 610 pinctrl-names = "default"; 611 interrupts = <GIC_SPI 608 IRQ_TYPE_LEVEL_HIGH>; 612 status = "disabled"; 613 }; 614 }; 615 616 gpi_dma1: dma-controller@a00000 { 617 compatible = "qcom,qdu1000-gpi-dma", "qcom,sm6350-gpi-dma"; 618 reg = <0x0 0xa00000 0x0 0x60000>; 619 interrupts = <GIC_SPI 279 IRQ_TYPE_LEVEL_HIGH>, 620 <GIC_SPI 280 IRQ_TYPE_LEVEL_HIGH>, 621 <GIC_SPI 281 IRQ_TYPE_LEVEL_HIGH>, 622 <GIC_SPI 282 IRQ_TYPE_LEVEL_HIGH>, 623 <GIC_SPI 283 IRQ_TYPE_LEVEL_HIGH>, 624 <GIC_SPI 284 IRQ_TYPE_LEVEL_HIGH>, 625 <GIC_SPI 293 IRQ_TYPE_LEVEL_HIGH>, 626 <GIC_SPI 294 IRQ_TYPE_LEVEL_HIGH>, 627 <GIC_SPI 295 IRQ_TYPE_LEVEL_HIGH>, 628 <GIC_SPI 296 IRQ_TYPE_LEVEL_HIGH>, 629 <GIC_SPI 297 IRQ_TYPE_LEVEL_HIGH>, 630 <GIC_SPI 298 IRQ_TYPE_LEVEL_HIGH>; 631 dma-channels = <12>; 632 dma-channel-mask = <0x3f>; 633 iommus = <&apps_smmu 0x116 0x0>; 634 #dma-cells = <3>; 635 }; 636 637 qupv3_id_1: geniqup@ac0000 { 638 compatible = "qcom,geni-se-qup"; 639 reg = <0x0 0xac0000 0x0 0x2000>; 640 clocks = <&gcc GCC_QUPV3_WRAP_1_M_AHB_CLK>, 641 <&gcc GCC_QUPV3_WRAP_1_S_AHB_CLK>; 642 clock-names = "m-ahb", "s-ahb"; 643 iommus = <&apps_smmu 0x103 0x0>; 644 #address-cells = <2>; 645 #size-cells = <2>; 646 ranges; 647 status = "disabled"; 648 649 uart8: serial@a80000 { 650 compatible = "qcom,geni-uart"; 651 reg = <0x0 0xa80000 0x0 0x4000>; 652 clocks = <&gcc GCC_QUPV3_WRAP1_S0_CLK>; 653 clock-names = "se"; 654 pinctrl-0 = <&qup_uart8_default>; 655 pinctrl-names = "default"; 656 interrupts = <GIC_SPI 353 IRQ_TYPE_LEVEL_HIGH>; 657 #address-cells = <1>; 658 #size-cells = <0>; 659 status = "disabled"; 660 }; 661 662 i2c9: i2c@a84000 { 663 compatible = "qcom,geni-i2c"; 664 reg = <0x0 0xa84000 0x0 0x4000>; 665 clocks = <&gcc GCC_QUPV3_WRAP1_S1_CLK>; 666 clock-names = "se"; 667 interrupts = <GIC_SPI 354 IRQ_TYPE_LEVEL_HIGH>; 668 pinctrl-0 = <&qup_i2c9_data_clk>; 669 pinctrl-names = "default"; 670 #address-cells = <1>; 671 #size-cells = <0>; 672 status = "disabled"; 673 }; 674 675 spi9: spi@a84000 { 676 compatible = "qcom,geni-spi"; 677 reg = <0x0 0xa84000 0x0 0x4000>; 678 #address-cells = <1>; 679 #size-cells = <0>; 680 interrupts = <GIC_SPI 354 IRQ_TYPE_LEVEL_HIGH>; 681 clocks = <&gcc GCC_QUPV3_WRAP1_S1_CLK>; 682 clock-names = "se"; 683 pinctrl-0 = <&qup_spi9_data_clk>, <&qup_spi9_cs>; 684 pinctrl-names = "default"; 685 status = "disabled"; 686 }; 687 688 i2c10: i2c@a88000 { 689 compatible = "qcom,geni-i2c"; 690 reg = <0x0 0xa88000 0x0 0x4000>; 691 clocks = <&gcc GCC_QUPV3_WRAP1_S2_CLK>; 692 clock-names = "se"; 693 interrupts = <GIC_SPI 355 IRQ_TYPE_LEVEL_HIGH>; 694 pinctrl-0 = <&qup_i2c10_data_clk>; 695 pinctrl-names = "default"; 696 #address-cells = <1>; 697 #size-cells = <0>; 698 status = "disabled"; 699 }; 700 701 spi10: spi@a88000 { 702 compatible = "qcom,geni-spi"; 703 reg = <0x0 0xa88000 0x0 0x4000>; 704 #address-cells = <1>; 705 #size-cells = <0>; 706 interrupts = <GIC_SPI 355 IRQ_TYPE_LEVEL_HIGH>; 707 clocks = <&gcc GCC_QUPV3_WRAP1_S2_CLK>; 708 clock-names = "se"; 709 pinctrl-0 = <&qup_spi10_data_clk>, <&qup_spi10_cs>; 710 pinctrl-names = "default"; 711 status = "disabled"; 712 }; 713 714 i2c11: i2c@a8c000 { 715 compatible = "qcom,geni-i2c"; 716 reg = <0x0 0xa8c000 0x0 0x4000>; 717 clocks = <&gcc GCC_QUPV3_WRAP1_S3_CLK>; 718 clock-names = "se"; 719 interrupts = <GIC_SPI 356 IRQ_TYPE_LEVEL_HIGH>; 720 pinctrl-0 = <&qup_i2c11_data_clk>; 721 pinctrl-names = "default"; 722 #address-cells = <1>; 723 #size-cells = <0>; 724 status = "disabled"; 725 }; 726 727 spi11: spi@a8c000 { 728 compatible = "qcom,geni-spi"; 729 reg = <0x0 0xa8c000 0x0 0x4000>; 730 #address-cells = <1>; 731 #size-cells = <0>; 732 interrupts = <GIC_SPI 356 IRQ_TYPE_LEVEL_HIGH>; 733 clocks = <&gcc GCC_QUPV3_WRAP1_S3_CLK>; 734 clock-names = "se"; 735 pinctrl-0 = <&qup_spi11_data_clk>, <&qup_spi11_cs>; 736 pinctrl-names = "default"; 737 status = "disabled"; 738 }; 739 740 i2c12: i2c@a90000 { 741 compatible = "qcom,geni-i2c"; 742 reg = <0x0 0xa90000 0x0 0x4000>; 743 clocks = <&gcc GCC_QUPV3_WRAP1_S4_CLK>; 744 clock-names = "se"; 745 interrupts = <GIC_SPI 357 IRQ_TYPE_LEVEL_HIGH>; 746 pinctrl-0 = <&qup_i2c12_data_clk>; 747 pinctrl-names = "default"; 748 #address-cells = <1>; 749 #size-cells = <0>; 750 status = "disabled"; 751 }; 752 753 spi12: spi@a90000 { 754 compatible = "qcom,geni-spi"; 755 reg = <0x0 0xa90000 0x0 0x4000>; 756 #address-cells = <1>; 757 #size-cells = <0>; 758 interrupts = <GIC_SPI 357 IRQ_TYPE_LEVEL_HIGH>; 759 clocks = <&gcc GCC_QUPV3_WRAP1_S4_CLK>; 760 clock-names = "se"; 761 pinctrl-0 = <&qup_spi12_data_clk>, <&qup_spi12_cs>; 762 pinctrl-names = "default"; 763 status = "disabled"; 764 }; 765 766 i2c13: i2c@a94000 { 767 compatible = "qcom,geni-i2c"; 768 reg = <0x0 0xa94000 0x0 0x4000>; 769 clocks = <&gcc GCC_QUPV3_WRAP1_S5_CLK>; 770 clock-names = "se"; 771 interrupts = <GIC_SPI 358 IRQ_TYPE_LEVEL_HIGH>; 772 pinctrl-0 = <&qup_i2c13_data_clk>; 773 pinctrl-names = "default"; 774 #address-cells = <1>; 775 #size-cells = <0>; 776 status = "disabled"; 777 }; 778 779 uart13: serial@a94000 { 780 compatible = "qcom,geni-uart"; 781 reg = <0x0 0xa94000 0x0 0x4000>; 782 clocks = <&gcc GCC_QUPV3_WRAP1_S5_CLK>; 783 clock-names = "se"; 784 pinctrl-0 = <&qup_uart13_default>; 785 pinctrl-names = "default"; 786 interrupts = <GIC_SPI 358 IRQ_TYPE_LEVEL_HIGH>; 787 #address-cells = <1>; 788 #size-cells = <0>; 789 status = "disabled"; 790 }; 791 792 spi13: spi@a94000 { 793 compatible = "qcom,geni-spi"; 794 reg = <0x0 0xa94000 0x0 0x4000>; 795 #address-cells = <1>; 796 #size-cells = <0>; 797 interrupts = <GIC_SPI 358 IRQ_TYPE_LEVEL_HIGH>; 798 clocks = <&gcc GCC_QUPV3_WRAP1_S5_CLK>; 799 clock-names = "se"; 800 pinctrl-0 = <&qup_spi13_data_clk>, <&qup_spi13_cs>; 801 pinctrl-names = "default"; 802 status = "disabled"; 803 }; 804 805 i2c14: i2c@a98000 { 806 compatible = "qcom,geni-i2c"; 807 reg = <0x0 0xa98000 0x0 0x4000>; 808 clocks = <&gcc GCC_QUPV3_WRAP1_S6_CLK>; 809 clock-names = "se"; 810 interrupts = <GIC_SPI 363 IRQ_TYPE_LEVEL_HIGH>; 811 pinctrl-0 = <&qup_i2c14_data_clk>; 812 pinctrl-names = "default"; 813 #address-cells = <1>; 814 #size-cells = <0>; 815 status = "disabled"; 816 }; 817 818 spi14: spi@a98000 { 819 compatible = "qcom,geni-spi"; 820 reg = <0x0 0xa98000 0x0 0x4000>; 821 #address-cells = <1>; 822 #size-cells = <0>; 823 interrupts = <GIC_SPI 363 IRQ_TYPE_LEVEL_HIGH>; 824 clocks = <&gcc GCC_QUPV3_WRAP1_S6_CLK>; 825 clock-names = "se"; 826 pinctrl-0 = <&qup_spi14_data_clk>, <&qup_spi14_cs>; 827 pinctrl-names = "default"; 828 status = "disabled"; 829 }; 830 831 i2c15: i2c@a9c000 { 832 compatible = "qcom,geni-i2c"; 833 reg = <0x0 0xa9c000 0x0 0x4000>; 834 clocks = <&gcc GCC_QUPV3_WRAP1_S7_CLK>; 835 clock-names = "se"; 836 interrupts = <GIC_SPI 365 IRQ_TYPE_LEVEL_HIGH>; 837 pinctrl-0 = <&qup_i2c15_data_clk>; 838 pinctrl-names = "default"; 839 #address-cells = <1>; 840 #size-cells = <0>; 841 status = "disabled"; 842 }; 843 844 spi15: spi@a9c000 { 845 compatible = "qcom,geni-spi"; 846 reg = <0x0 0xa9c000 0x0 0x4000>; 847 #address-cells = <1>; 848 #size-cells = <0>; 849 interrupts = <GIC_SPI 365 IRQ_TYPE_LEVEL_HIGH>; 850 clocks = <&gcc GCC_QUPV3_WRAP1_S7_CLK>; 851 clock-names = "se"; 852 pinctrl-0 = <&qup_spi15_data_clk>, <&qup_spi15_cs>; 853 pinctrl-names = "default"; 854 status = "disabled"; 855 }; 856 }; 857 858 system_noc: interconnect@1640000 { 859 compatible = "qcom,qdu1000-system-noc"; 860 reg = <0x0 0x1640000 0x0 0x45080>; 861 qcom,bcm-voters = <&apps_bcm_voter>; 862 #interconnect-cells = <2>; 863 }; 864 865 tcsr_mutex: hwlock@1f40000 { 866 compatible = "qcom,tcsr-mutex"; 867 reg = <0x0 0x1f40000 0x0 0x20000>; 868 #hwlock-cells = <1>; 869 }; 870 871 sdhc: mmc@8804000 { 872 compatible = "qcom,qdu1000-sdhci", "qcom,sdhci-msm-v5"; 873 reg = <0x0 0x08804000 0x0 0x1000>, 874 <0x0 0x08805000 0x0 0x1000>; 875 reg-names = "hc", "cqhci"; 876 877 interrupts = <GIC_SPI 207 IRQ_TYPE_LEVEL_HIGH>, 878 <GIC_SPI 223 IRQ_TYPE_LEVEL_HIGH>; 879 interrupt-names = "hc_irq", "pwr_irq"; 880 881 clocks = <&gcc GCC_SDCC5_AHB_CLK>, 882 <&gcc GCC_SDCC5_APPS_CLK>, 883 <&rpmhcc RPMH_CXO_CLK>; 884 clock-names = "iface", 885 "core", 886 "xo"; 887 888 resets = <&gcc GCC_SDCC5_BCR>; 889 890 interconnects = <&system_noc MASTER_SDCC_1 0 &mc_virt SLAVE_EBI1 0>, 891 <&gem_noc MASTER_APPSS_PROC 0 &system_noc SLAVE_SDCC_2 0>; 892 interconnect-names = "sdhc-ddr", "cpu-sdhc"; 893 power-domains = <&rpmhpd QDU1000_CX>; 894 operating-points-v2 = <&sdhc1_opp_table>; 895 896 iommus = <&apps_smmu 0x80 0x0>; 897 dma-coherent; 898 899 bus-width = <8>; 900 901 qcom,dll-config = <0x0007642c>; 902 qcom,ddr-config = <0x80040868>; 903 904 status = "disabled"; 905 906 sdhc1_opp_table: opp-table { 907 compatible = "operating-points-v2"; 908 909 opp-384000000 { 910 opp-hz = /bits/ 64 <384000000>; 911 required-opps = <&rpmhpd_opp_nom>; 912 opp-peak-kBps = <6528000 1652800>; 913 opp-avg-kBps = <400000 0>; 914 }; 915 }; 916 }; 917 918 usb_1_hsphy: phy@88e3000 { 919 compatible = "qcom,qdu1000-usb-hs-phy", 920 "qcom,usb-snps-hs-7nm-phy"; 921 reg = <0x0 0x088e3000 0x0 0x120>; 922 #phy-cells = <0>; 923 924 clocks = <&gcc GCC_USB2_CLKREF_EN>; 925 clock-names = "ref"; 926 927 resets = <&gcc GCC_QUSB2PHY_PRIM_BCR>; 928 929 status = "disabled"; 930 }; 931 932 usb_1_qmpphy: phy@88e5000 { 933 compatible = "qcom,qdu1000-qmp-usb3-uni-phy"; 934 reg = <0x0 0x088e5000 0x0 0x2000>; 935 936 clocks = <&gcc GCC_USB3_PRIM_PHY_AUX_CLK>, 937 <&gcc GCC_USB2_CLKREF_EN>, 938 <&gcc GCC_USB3_PRIM_PHY_COM_AUX_CLK>, 939 <&gcc GCC_USB3_PRIM_PHY_PIPE_CLK>; 940 clock-names = "aux", 941 "ref", 942 "com_aux", 943 "pipe"; 944 945 resets = <&gcc GCC_USB3_PHY_PRIM_BCR>, 946 <&gcc GCC_USB3PHY_PHY_PRIM_BCR>; 947 reset-names = "phy", 948 "phy_phy"; 949 950 #clock-cells = <0>; 951 clock-output-names = "usb3_uni_phy_pipe_clk_src"; 952 953 #phy-cells = <0>; 954 955 status = "disabled"; 956 }; 957 958 usb_1: usb@a6f8800 { 959 compatible = "qcom,qdu1000-dwc3", "qcom,dwc3"; 960 reg = <0 0x0a6f8800 0 0x400>; 961 #address-cells = <2>; 962 #size-cells = <2>; 963 ranges; 964 965 clocks = <&gcc GCC_CFG_NOC_USB3_PRIM_AXI_CLK>, 966 <&gcc GCC_USB30_PRIM_MASTER_CLK>, 967 <&gcc GCC_USB30_PRIM_SLEEP_CLK>, 968 <&gcc GCC_USB30_PRIM_MOCK_UTMI_CLK>; 969 clock-names = "cfg_noc", 970 "core", 971 "sleep", 972 "mock_utmi"; 973 974 assigned-clocks = <&gcc GCC_USB30_PRIM_MOCK_UTMI_CLK>, 975 <&gcc GCC_USB30_PRIM_MASTER_CLK>; 976 assigned-clock-rates = <19200000>, <200000000>; 977 978 interrupts-extended = <&intc GIC_SPI 130 IRQ_TYPE_LEVEL_HIGH>, 979 <&intc GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>, 980 <&pdc 8 IRQ_TYPE_EDGE_BOTH>, 981 <&pdc 9 IRQ_TYPE_EDGE_BOTH>, 982 <&pdc 6 IRQ_TYPE_LEVEL_HIGH>; 983 interrupt-names = "pwr_event", 984 "hs_phy_irq", 985 "dp_hs_phy_irq", 986 "dm_hs_phy_irq", 987 "ss_phy_irq"; 988 989 power-domains = <&gcc USB30_PRIM_GDSC>; 990 required-opps = <&rpmhpd_opp_nom>; 991 992 resets = <&gcc GCC_USB30_PRIM_BCR>; 993 994 interconnects = <&system_noc MASTER_USB3 QCOM_ICC_TAG_ALWAYS 995 &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>, 996 <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS 997 &system_noc SLAVE_USB3_0 QCOM_ICC_TAG_ALWAYS>; 998 999 interconnect-names = "usb-ddr", 1000 "apps-usb"; 1001 1002 status = "disabled"; 1003 1004 usb_1_dwc3: usb@a600000 { 1005 compatible = "snps,dwc3"; 1006 reg = <0 0x0a600000 0 0xcd00>; 1007 interrupts = <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>; 1008 1009 iommus = <&apps_smmu 0xc0 0x0>; 1010 snps,dis_u2_susphy_quirk; 1011 snps,dis_enblslpm_quirk; 1012 phys = <&usb_1_hsphy>, 1013 <&usb_1_qmpphy>; 1014 phy-names = "usb2-phy", 1015 "usb3-phy"; 1016 1017 ports { 1018 #address-cells = <1>; 1019 #size-cells = <0>; 1020 1021 port@0 { 1022 reg = <0>; 1023 1024 usb_1_dwc3_hs: endpoint { 1025 }; 1026 }; 1027 1028 port@1 { 1029 reg = <1>; 1030 1031 usb_1_dwc3_ss: endpoint { 1032 }; 1033 }; 1034 }; 1035 }; 1036 }; 1037 1038 pdc: interrupt-controller@b220000 { 1039 compatible = "qcom,qdu1000-pdc", "qcom,pdc"; 1040 reg = <0x0 0xb220000 0x0 0x30000>, <0x0 0x174000f0 0x0 0x64>; 1041 qcom,pdc-ranges = <0 480 12>, <14 494 24>, <40 520 54>, 1042 <94 609 31>, <125 63 1>; 1043 #interrupt-cells = <2>; 1044 interrupt-parent = <&intc>; 1045 interrupt-controller; 1046 }; 1047 1048 spmi_bus: spmi@c400000 { 1049 compatible = "qcom,spmi-pmic-arb"; 1050 reg = <0x0 0xc400000 0x0 0x3000>, 1051 <0x0 0xc500000 0x0 0x400000>, 1052 <0x0 0xc440000 0x0 0x80000>, 1053 <0x0 0xc4c0000 0x0 0x10000>, 1054 <0x0 0xc42d000 0x0 0x4000>; 1055 reg-names = "core", "chnls", "obsrvr", "intr", "cnfg"; 1056 interrupts-extended = <&pdc 1 IRQ_TYPE_LEVEL_HIGH>; 1057 interrupt-names = "periph_irq"; 1058 qcom,ee = <0>; 1059 qcom,channel = <0>; 1060 #address-cells = <2>; 1061 #size-cells = <0>; 1062 interrupt-controller; 1063 #interrupt-cells = <4>; 1064 }; 1065 1066 tlmm: pinctrl@f000000 { 1067 compatible = "qcom,qdu1000-tlmm"; 1068 reg = <0x0 0xf000000 0x0 0x1000000>; 1069 interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>; 1070 gpio-controller; 1071 #gpio-cells = <2>; 1072 interrupt-controller; 1073 #interrupt-cells = <2>; 1074 gpio-ranges = <&tlmm 0 0 151>; 1075 wakeup-parent = <&pdc>; 1076 1077 qup_uart0_default: qup-uart0-default-state { 1078 pins = "gpio6", "gpio7", "gpio8", "gpio9"; 1079 function = "qup00"; 1080 }; 1081 1082 qup_i2c1_data_clk: qup-i2c1-data-clk-state { 1083 pins = "gpio10", "gpio11"; 1084 function = "qup01"; 1085 }; 1086 1087 qup_spi1_data_clk: qup-spi1-data-clk-state { 1088 pins = "gpio10", "gpio11", "gpio12"; 1089 function = "qup01"; 1090 }; 1091 1092 qup_spi1_cs: qup-spi1-cs-state { 1093 pins = "gpio13"; 1094 function = "gpio"; 1095 }; 1096 1097 qup_i2c2_data_clk: qup-i2c2-data-clk-state { 1098 pins = "gpio12", "gpio13"; 1099 function = "qup02"; 1100 }; 1101 1102 qup_spi2_data_clk: qup-spi2-data-clk-state { 1103 pins = "gpio12", "gpio13", "gpio10"; 1104 function = "qup02"; 1105 }; 1106 1107 qup_spi2_cs: qup-spi2-cs-state { 1108 pins = "gpio11"; 1109 function = "gpio"; 1110 }; 1111 1112 qup_i2c3_data_clk: qup-i2c3-data-clk-state { 1113 pins = "gpio14", "gpio15"; 1114 function = "qup03"; 1115 }; 1116 1117 qup_spi3_data_clk: qup-spi3-data-clk-state { 1118 pins = "gpio14", "gpio15", "gpio16"; 1119 function = "qup03"; 1120 }; 1121 1122 qup_spi3_cs: qup-spi3-cs-state { 1123 pins = "gpio17"; 1124 function = "gpio"; 1125 }; 1126 1127 qup_i2c4_data_clk: qup-i2c4-data-clk-state { 1128 pins = "gpio16", "gpio17"; 1129 function = "qup04"; 1130 }; 1131 1132 qup_spi4_data_clk: qup-spi4-data-clk-state { 1133 pins = "gpio16", "gpio17", "gpio14"; 1134 function = "qup04"; 1135 }; 1136 1137 qup_spi4_cs: qup-spi4-cs-state { 1138 pins = "gpio15"; 1139 function = "gpio"; 1140 }; 1141 1142 qup_i2c5_data_clk: qup-i2c5-data-clk-state { 1143 pins = "gpio130", "gpio131"; 1144 function = "qup05"; 1145 }; 1146 1147 qup_spi5_data_clk: qup-spi5-data-clk-state { 1148 pins = "gpio130", "gpio131", "gpio132"; 1149 function = "qup05"; 1150 }; 1151 1152 qup_spi5_cs: qup-spi5-cs-state { 1153 pins = "gpio133"; 1154 function = "gpio"; 1155 }; 1156 1157 qup_i2c6_data_clk: qup-i2c6-data-clk-state { 1158 pins = "gpio132", "gpio133"; 1159 function = "qup06"; 1160 }; 1161 1162 qup_spi6_data_clk: qup-spi6-data-clk-state { 1163 pins = "gpio132", "gpio133", "gpio130"; 1164 function = "qup06"; 1165 }; 1166 1167 qup_spi6_cs: qup-spi6-cs-state { 1168 pins = "gpio131"; 1169 function = "gpio"; 1170 }; 1171 1172 qup_uart7_rx: qup-uart7-rx-state { 1173 pins = "gpio135"; 1174 function = "qup07"; 1175 }; 1176 1177 qup_uart7_tx: qup-uart7-tx-state { 1178 pins = "gpio134"; 1179 function = "qup07"; 1180 }; 1181 1182 qup_uart8_default: qup-uart8-default-state { 1183 pins = "gpio18", "gpio19", "gpio20", "gpio21"; 1184 function = "qup10"; 1185 }; 1186 1187 qup_i2c9_data_clk: qup-i2c9-data-clk-state { 1188 pins = "gpio22", "gpio23"; 1189 function = "qup11"; 1190 }; 1191 1192 qup_spi9_data_clk: qup-spi9-data-clk-state { 1193 pins = "gpio22", "gpio23", "gpio24"; 1194 function = "qup11"; 1195 }; 1196 1197 qup_spi9_cs: qup-spi9-cs-state { 1198 pins = "gpio25"; 1199 function = "gpio"; 1200 }; 1201 1202 qup_i2c10_data_clk: qup-i2c10-data-clk-state { 1203 pins = "gpio24", "gpio25"; 1204 function = "qup12"; 1205 }; 1206 1207 qup_spi10_data_clk: qup-spi10-data-clk-state { 1208 pins = "gpio24", "gpio25", "gpio22"; 1209 function = "qup12"; 1210 }; 1211 1212 qup_spi10_cs: qup-spi10-cs-state { 1213 pins = "gpio23"; 1214 function = "gpio"; 1215 }; 1216 1217 qup_i2c11_data_clk: qup-i2c11-data-clk-state { 1218 pins = "gpio26", "gpio27"; 1219 function = "qup13"; 1220 }; 1221 1222 qup_spi11_data_clk: qup-spi11-data-clk-state { 1223 pins = "gpio26", "gpio27", "gpio28"; 1224 function = "qup13"; 1225 }; 1226 1227 qup_spi11_cs: qup-spi11-cs-state { 1228 pins = "gpio29"; 1229 function = "gpio"; 1230 }; 1231 1232 qup_i2c12_data_clk: qup-i2c12-data-clk-state { 1233 pins = "gpio28", "gpio29"; 1234 function = "qup14"; 1235 }; 1236 1237 qup_spi12_data_clk: qup-spi12-data-clk-state { 1238 pins = "gpio28", "gpio29", "gpio26"; 1239 function = "qup14"; 1240 }; 1241 1242 qup_spi12_cs: qup-spi12-cs-state { 1243 pins = "gpio27"; 1244 function = "gpio"; 1245 }; 1246 1247 qup_i2c13_data_clk: qup-i2c13-data-clk-state { 1248 pins = "gpio30", "gpio31"; 1249 function = "qup15"; 1250 }; 1251 1252 qup_spi13_data_clk: qup-spi13-data-clk-state { 1253 pins = "gpio30", "gpio31", "gpio32"; 1254 function = "qup15"; 1255 }; 1256 1257 qup_spi13_cs: qup-spi13-cs-state { 1258 pins = "gpio33"; 1259 function = "gpio"; 1260 }; 1261 1262 qup_uart13_default: qup-uart13-default-state { 1263 pins = "gpio30", "gpio31", "gpio32", "gpio33"; 1264 function = "qup15"; 1265 }; 1266 1267 qup_i2c14_data_clk: qup-i2c14-data-clk-state { 1268 pins = "gpio34", "gpio35"; 1269 function = "qup16"; 1270 }; 1271 1272 qup_spi14_data_clk: qup-spi14-data-clk-state { 1273 pins = "gpio34", "gpio35", "gpio36"; 1274 function = "qup16"; 1275 }; 1276 1277 qup_spi14_cs: qup-spi14-cs-state { 1278 pins = "gpio37", "gpio38"; 1279 function = "gpio"; 1280 }; 1281 1282 qup_i2c15_data_clk: qup-i2c15-data-clk-state { 1283 pins = "gpio40", "gpio41"; 1284 function = "qup17"; 1285 }; 1286 1287 qup_spi15_data_clk: qup-spi15-data-clk-state { 1288 pins = "gpio40", "gpio41", "gpio30"; 1289 function = "qup17"; 1290 }; 1291 1292 qup_spi15_cs: qup-spi15-cs-state { 1293 pins = "gpio31"; 1294 function = "gpio"; 1295 }; 1296 1297 sdc_on_state: sdc-on-state { 1298 clk-pins { 1299 pins = "sdc1_clk"; 1300 drive-strength = <16>; 1301 bias-disable; 1302 }; 1303 1304 cmd-pins { 1305 pins = "sdc1_cmd"; 1306 drive-strength = <10>; 1307 bias-pull-up; 1308 }; 1309 1310 data-pins { 1311 pins = "sdc1_data"; 1312 drive-strength = <10>; 1313 bias-pull-up; 1314 }; 1315 1316 rclk-pins { 1317 pins = "sdc1_rclk"; 1318 bias-pull-down; 1319 }; 1320 }; 1321 1322 sdc_off_state: sdc-off-state { 1323 clk-pins { 1324 pins = "sdc1_clk"; 1325 drive-strength = <2>; 1326 bias-disable; 1327 }; 1328 1329 cmd-pins { 1330 pins = "sdc1_cmd"; 1331 drive-strength = <2>; 1332 bias-pull-up; 1333 }; 1334 1335 data-pins { 1336 pins = "sdc1_data"; 1337 drive-strength = <2>; 1338 bias-pull-up; 1339 }; 1340 1341 rclk-pins { 1342 pins = "sdc1_rclk"; 1343 bias-pull-down; 1344 }; 1345 }; 1346 }; 1347 1348 sram@14680000 { 1349 compatible = "qcom,qdu1000-imem", "syscon", "simple-mfd"; 1350 reg = <0 0x14680000 0 0x1000>; 1351 ranges = <0 0 0x14680000 0x1000>; 1352 #address-cells = <1>; 1353 #size-cells = <1>; 1354 1355 pil-reloc@94c { 1356 compatible = "qcom,pil-reloc-info"; 1357 reg = <0x94c 0xc8>; 1358 }; 1359 }; 1360 1361 apps_smmu: iommu@15000000 { 1362 compatible = "qcom,qdu1000-smmu-500", "qcom,smmu-500", "arm,mmu-500"; 1363 reg = <0x0 0x15000000 0x0 0x100000>; 1364 #iommu-cells = <2>; 1365 #global-interrupts = <2>; 1366 interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>, 1367 <GIC_SPI 426 IRQ_TYPE_LEVEL_HIGH>, 1368 <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>, 1369 <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>, 1370 <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>, 1371 <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>, 1372 <GIC_SPI 671 IRQ_TYPE_LEVEL_HIGH>, 1373 <GIC_SPI 672 IRQ_TYPE_LEVEL_HIGH>, 1374 <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>, 1375 <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>, 1376 <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>, 1377 <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>, 1378 <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>, 1379 <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>, 1380 <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>, 1381 <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>, 1382 <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>, 1383 <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>, 1384 <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>, 1385 <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>, 1386 <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>, 1387 <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>, 1388 <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>, 1389 <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>, 1390 <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>, 1391 <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>, 1392 <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>, 1393 <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>, 1394 <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>, 1395 <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>, 1396 <GIC_SPI 181 IRQ_TYPE_LEVEL_HIGH>, 1397 <GIC_SPI 182 IRQ_TYPE_LEVEL_HIGH>, 1398 <GIC_SPI 183 IRQ_TYPE_LEVEL_HIGH>, 1399 <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>, 1400 <GIC_SPI 185 IRQ_TYPE_LEVEL_HIGH>, 1401 <GIC_SPI 186 IRQ_TYPE_LEVEL_HIGH>, 1402 <GIC_SPI 187 IRQ_TYPE_LEVEL_HIGH>, 1403 <GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>, 1404 <GIC_SPI 189 IRQ_TYPE_LEVEL_HIGH>, 1405 <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>, 1406 <GIC_SPI 191 IRQ_TYPE_LEVEL_HIGH>, 1407 <GIC_SPI 192 IRQ_TYPE_LEVEL_HIGH>, 1408 <GIC_SPI 315 IRQ_TYPE_LEVEL_HIGH>, 1409 <GIC_SPI 316 IRQ_TYPE_LEVEL_HIGH>, 1410 <GIC_SPI 317 IRQ_TYPE_LEVEL_HIGH>, 1411 <GIC_SPI 318 IRQ_TYPE_LEVEL_HIGH>, 1412 <GIC_SPI 319 IRQ_TYPE_LEVEL_HIGH>, 1413 <GIC_SPI 320 IRQ_TYPE_LEVEL_HIGH>, 1414 <GIC_SPI 321 IRQ_TYPE_LEVEL_HIGH>; 1415 dma-coherent; 1416 }; 1417 1418 intc: interrupt-controller@17200000 { 1419 compatible = "arm,gic-v3"; 1420 reg = <0x0 0x17200000 0x0 0x10000>, /* GICD */ 1421 <0x0 0x17260000 0x0 0x80000>; /* GICR * 4 */ 1422 interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_LOW>; 1423 #interrupt-cells = <3>; 1424 interrupt-controller; 1425 #redistributor-regions = <1>; 1426 redistributor-stride = <0x0 0x20000>; 1427 }; 1428 1429 timer@17420000 { 1430 compatible = "arm,armv7-timer-mem"; 1431 reg = <0x0 0x17420000 0x0 0x1000>; 1432 #address-cells = <1>; 1433 #size-cells = <1>; 1434 ranges = <0x0 0x0 0x0 0x20000000>; 1435 1436 frame@17421000 { 1437 reg = <0x17421000 0x1000>, 1438 <0x17422000 0x1000>; 1439 interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>, 1440 <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>; 1441 frame-number = <0>; 1442 }; 1443 1444 frame@17423000 { 1445 reg = <0x17423000 0x1000>; 1446 interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>; 1447 frame-number = <1>; 1448 status = "disabled"; 1449 }; 1450 1451 frame@17425000 { 1452 reg = <0x17425000 0x1000>, 1453 <0x17426000 0x1000>; 1454 interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>; 1455 frame-number = <2>; 1456 status = "disabled"; 1457 }; 1458 1459 frame@17427000 { 1460 reg = <0x17427000 0x1000>; 1461 interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>; 1462 frame-number = <3>; 1463 status = "disabled"; 1464 }; 1465 1466 frame@17429000 { 1467 reg = <0x17429000 0x1000>; 1468 interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>; 1469 frame-number = <4>; 1470 status = "disabled"; 1471 }; 1472 1473 frame@1742b000 { 1474 reg = <0x1742b000 0x1000>; 1475 interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>; 1476 frame-number = <5>; 1477 status = "disabled"; 1478 }; 1479 1480 frame@1742d000 { 1481 reg = <0x1742d000 0x1000>; 1482 interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>; 1483 frame-number = <6>; 1484 status = "disabled"; 1485 }; 1486 }; 1487 1488 apps_rsc: rsc@17a00000 { 1489 compatible = "qcom,rpmh-rsc"; 1490 reg = <0x0 0x17a00000 0x0 0x10000>, 1491 <0x0 0x17a10000 0x0 0x10000>, 1492 <0x0 0x17a20000 0x0 0x10000>; 1493 reg-names = "drv-0", "drv-1", "drv-2"; 1494 interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>, 1495 <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>, 1496 <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>; 1497 qcom,tcs-offset = <0xd00>; 1498 qcom,drv-id = <2>; 1499 qcom,tcs-config = <ACTIVE_TCS 2>, <SLEEP_TCS 3>, 1500 <WAKE_TCS 3>, <CONTROL_TCS 0>; 1501 label = "apps_rsc"; 1502 power-domains = <&cluster_pd>; 1503 1504 apps_bcm_voter: bcm-voter { 1505 compatible = "qcom,bcm-voter"; 1506 }; 1507 1508 rpmhcc: clock-controller { 1509 compatible = "qcom,qdu1000-rpmh-clk"; 1510 clocks = <&xo_board>; 1511 clock-names = "xo"; 1512 #clock-cells = <1>; 1513 }; 1514 1515 rpmhpd: power-controller { 1516 compatible = "qcom,qdu1000-rpmhpd"; 1517 #power-domain-cells = <1>; 1518 operating-points-v2 = <&rpmhpd_opp_table>; 1519 1520 rpmhpd_opp_table: opp-table { 1521 compatible = "operating-points-v2"; 1522 1523 rpmhpd_opp_ret: opp1 { 1524 opp-level = <RPMH_REGULATOR_LEVEL_RETENTION>; 1525 }; 1526 1527 rpmhpd_opp_min_svs: opp2 { 1528 opp-level = <RPMH_REGULATOR_LEVEL_MIN_SVS>; 1529 }; 1530 1531 rpmhpd_opp_low_svs: opp3 { 1532 opp-level = <RPMH_REGULATOR_LEVEL_LOW_SVS>; 1533 }; 1534 1535 rpmhpd_opp_svs: opp4 { 1536 opp-level = <RPMH_REGULATOR_LEVEL_SVS>; 1537 }; 1538 1539 rpmhpd_opp_svs_l1: opp5 { 1540 opp-level = <RPMH_REGULATOR_LEVEL_SVS_L1>; 1541 }; 1542 1543 rpmhpd_opp_nom: opp6 { 1544 opp-level = <RPMH_REGULATOR_LEVEL_NOM>; 1545 }; 1546 1547 rpmhpd_opp_nom_l1: opp7 { 1548 opp-level = <RPMH_REGULATOR_LEVEL_NOM_L1>; 1549 }; 1550 1551 rpmhpd_opp_nom_l2: opp8 { 1552 opp-level = <RPMH_REGULATOR_LEVEL_NOM_L2>; 1553 }; 1554 1555 rpmhpd_opp_turbo: opp9 { 1556 opp-level = <RPMH_REGULATOR_LEVEL_TURBO>; 1557 }; 1558 1559 rpmhpd_opp_turbo_l1: opp10 { 1560 opp-level = <RPMH_REGULATOR_LEVEL_TURBO_L1>; 1561 }; 1562 }; 1563 }; 1564 }; 1565 1566 cpufreq_hw: cpufreq@17d90000 { 1567 compatible = "qcom,qdu1000-cpufreq-epss", "qcom,cpufreq-epss"; 1568 reg = <0x0 0x17d90000 0x0 0x1000>, <0x0 0x17d91000 0x0 0x1000>; 1569 reg-names = "freq-domain0", "freq-domain1"; 1570 clocks = <&rpmhcc RPMH_CXO_CLK>, <&gcc GCC_GPLL0>; 1571 clock-names = "xo", "alternate"; 1572 #freq-domain-cells = <1>; 1573 #clock-cells = <1>; 1574 }; 1575 1576 gem_noc: interconnect@19100000 { 1577 compatible = "qcom,qdu1000-gem-noc"; 1578 reg = <0x0 0x19100000 0x0 0xB8080>; 1579 qcom,bcm-voters = <&apps_bcm_voter>; 1580 #interconnect-cells = <2>; 1581 }; 1582 1583 system-cache-controller@19200000 { 1584 compatible = "qcom,qdu1000-llcc"; 1585 reg = <0 0x19200000 0 0x80000>, 1586 <0 0x19300000 0 0x80000>, 1587 <0 0x19600000 0 0x80000>, 1588 <0 0x19700000 0 0x80000>, 1589 <0 0x19a00000 0 0x80000>, 1590 <0 0x19b00000 0 0x80000>, 1591 <0 0x19e00000 0 0x80000>, 1592 <0 0x19f00000 0 0x80000>, 1593 <0 0x1a200000 0 0x80000>; 1594 reg-names = "llcc0_base", 1595 "llcc1_base", 1596 "llcc2_base", 1597 "llcc3_base", 1598 "llcc4_base", 1599 "llcc5_base", 1600 "llcc6_base", 1601 "llcc7_base", 1602 "llcc_broadcast_base"; 1603 interrupts = <GIC_SPI 266 IRQ_TYPE_LEVEL_HIGH>; 1604 1605 nvmem-cells = <&multi_chan_ddr>; 1606 nvmem-cell-names = "multi-chan-ddr"; 1607 }; 1608 1609 sec_qfprom: efuse@221c8000 { 1610 compatible = "qcom,qdu1000-sec-qfprom", "qcom,sec-qfprom"; 1611 reg = <0 0x221c8000 0 0x1000>; 1612 #address-cells = <1>; 1613 #size-cells = <1>; 1614 1615 multi_chan_ddr: multi-chan-ddr@12b { 1616 reg = <0x12b 0x1>; 1617 bits = <0 2>; 1618 }; 1619 }; 1620 }; 1621 1622 timer { 1623 compatible = "arm,armv8-timer"; 1624 interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>, 1625 <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>, 1626 <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>, 1627 <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>, 1628 <GIC_PPI 12 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>; 1629 }; 1630}; 1631