1// SPDX-License-Identifier: BSD-3-Clause 2/* 3 * Copyright (c) 2021, Konrad Dybcio <konrad.dybcio@somainline.org> 4 */ 5 6#include <dt-bindings/clock/qcom,gcc-sm6350.h> 7#include <dt-bindings/clock/qcom,rpmh.h> 8#include <dt-bindings/gpio/gpio.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#include <dt-bindings/soc/qcom,rpmh-rsc.h> 13 14/ { 15 interrupt-parent = <&intc>; 16 #address-cells = <2>; 17 #size-cells = <2>; 18 19 clocks { 20 xo_board: xo-board { 21 compatible = "fixed-clock"; 22 #clock-cells = <0>; 23 clock-frequency = <76800000>; 24 clock-output-names = "xo_board"; 25 }; 26 27 sleep_clk: sleep-clk { 28 compatible = "fixed-clock"; 29 clock-frequency = <32764>; 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,kryo560"; 41 reg = <0x0 0x0>; 42 enable-method = "psci"; 43 capacity-dmips-mhz = <1024>; 44 dynamic-power-coefficient = <100>; 45 next-level-cache = <&L2_0>; 46 qcom,freq-domain = <&cpufreq_hw 0>; 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,kryo560"; 60 reg = <0x0 0x100>; 61 enable-method = "psci"; 62 capacity-dmips-mhz = <1024>; 63 dynamic-power-coefficient = <100>; 64 next-level-cache = <&L2_100>; 65 qcom,freq-domain = <&cpufreq_hw 0>; 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,kryo560"; 76 reg = <0x0 0x200>; 77 enable-method = "psci"; 78 capacity-dmips-mhz = <1024>; 79 dynamic-power-coefficient = <100>; 80 next-level-cache = <&L2_200>; 81 qcom,freq-domain = <&cpufreq_hw 0>; 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,kryo560"; 92 reg = <0x0 0x300>; 93 enable-method = "psci"; 94 capacity-dmips-mhz = <1024>; 95 dynamic-power-coefficient = <100>; 96 next-level-cache = <&L2_300>; 97 qcom,freq-domain = <&cpufreq_hw 0>; 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,kryo560"; 108 reg = <0x0 0x400>; 109 enable-method = "psci"; 110 capacity-dmips-mhz = <1024>; 111 dynamic-power-coefficient = <100>; 112 next-level-cache = <&L2_400>; 113 qcom,freq-domain = <&cpufreq_hw 0>; 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,kryo560"; 124 reg = <0x0 0x500>; 125 enable-method = "psci"; 126 capacity-dmips-mhz = <1024>; 127 dynamic-power-coefficient = <100>; 128 next-level-cache = <&L2_500>; 129 qcom,freq-domain = <&cpufreq_hw 0>; 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,kryo560"; 141 reg = <0x0 0x600>; 142 enable-method = "psci"; 143 capacity-dmips-mhz = <1894>; 144 dynamic-power-coefficient = <703>; 145 next-level-cache = <&L2_600>; 146 qcom,freq-domain = <&cpufreq_hw 1>; 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,kryo560"; 157 reg = <0x0 0x700>; 158 enable-method = "psci"; 159 capacity-dmips-mhz = <1894>; 160 dynamic-power-coefficient = <703>; 161 next-level-cache = <&L2_700>; 162 qcom,freq-domain = <&cpufreq_hw 1>; 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 207 firmware { 208 scm: scm { 209 compatible = "qcom,scm-sm6350", "qcom,scm"; 210 #reset-cells = <1>; 211 }; 212 }; 213 214 memory@80000000 { 215 device_type = "memory"; 216 /* We expect the bootloader to fill in the size */ 217 reg = <0x0 0x80000000 0x0 0x0>; 218 }; 219 220 pmu { 221 compatible = "arm,armv8-pmuv3"; 222 interrupts = <GIC_PPI 5 IRQ_TYPE_LEVEL_LOW>; 223 }; 224 225 psci { 226 compatible = "arm,psci-1.0"; 227 method = "smc"; 228 }; 229 230 reserved_memory: reserved-memory { 231 #address-cells = <2>; 232 #size-cells = <2>; 233 ranges; 234 235 hyp_mem: memory@80000000 { 236 reg = <0 0x80000000 0 0x600000>; 237 no-map; 238 }; 239 240 xbl_aop_mem: memory@80700000 { 241 reg = <0 0x80700000 0 0x160000>; 242 no-map; 243 }; 244 245 cmd_db: memory@80860000 { 246 compatible = "qcom,cmd-db"; 247 reg = <0 0x80860000 0 0x20000>; 248 no-map; 249 }; 250 251 sec_apps_mem: memory@808ff000 { 252 reg = <0 0x808ff000 0 0x1000>; 253 no-map; 254 }; 255 256 smem_mem: memory@80900000 { 257 reg = <0 0x80900000 0 0x200000>; 258 no-map; 259 }; 260 261 cdsp_sec_mem: memory@80b00000 { 262 reg = <0 0x80b00000 0 0x1e00000>; 263 no-map; 264 }; 265 266 pil_camera_mem: memory@86000000 { 267 reg = <0 0x86000000 0 0x500000>; 268 no-map; 269 }; 270 271 pil_npu_mem: memory@86500000 { 272 reg = <0 0x86500000 0 0x500000>; 273 no-map; 274 }; 275 276 pil_video_mem: memory@86a00000 { 277 reg = <0 0x86a00000 0 0x500000>; 278 no-map; 279 }; 280 281 pil_cdsp_mem: memory@86f00000 { 282 reg = <0 0x86f00000 0 0x1e00000>; 283 no-map; 284 }; 285 286 pil_adsp_mem: memory@88d00000 { 287 reg = <0 0x88d00000 0 0x2800000>; 288 no-map; 289 }; 290 291 wlan_fw_mem: memory@8b500000 { 292 reg = <0 0x8b500000 0 0x200000>; 293 no-map; 294 }; 295 296 pil_ipa_fw_mem: memory@8b700000 { 297 reg = <0 0x8b700000 0 0x10000>; 298 no-map; 299 }; 300 301 pil_ipa_gsi_mem: memory@8b710000 { 302 reg = <0 0x8b710000 0 0x5400>; 303 no-map; 304 }; 305 306 pil_gpu_mem: memory@8b715400 { 307 reg = <0 0x8b715400 0 0x2000>; 308 no-map; 309 }; 310 311 pil_modem_mem: memory@8b800000 { 312 reg = <0 0x8b800000 0 0xf800000>; 313 no-map; 314 }; 315 316 cont_splash_memory: memory@a0000000 { 317 reg = <0 0xa0000000 0 0x2300000>; 318 no-map; 319 }; 320 321 dfps_data_memory: memory@a2300000 { 322 reg = <0 0xa2300000 0 0x100000>; 323 no-map; 324 }; 325 326 removed_region: memory@c0000000 { 327 reg = <0 0xc0000000 0 0x3900000>; 328 no-map; 329 }; 330 331 debug_region: memory@ffb00000 { 332 reg = <0 0xffb00000 0 0xc0000>; 333 no-map; 334 }; 335 336 last_log_region: memory@ffbc0000 { 337 reg = <0 0xffbc0000 0 0x40000>; 338 no-map; 339 }; 340 341 ramoops: ramoops@ffc00000 { 342 compatible = "removed-dma-pool", "ramoops"; 343 reg = <0 0xffc00000 0 0x00100000>; 344 record-size = <0x1000>; 345 console-size = <0x40000>; 346 ftrace-size = <0x0>; 347 msg-size = <0x20000 0x20000>; 348 cc-size = <0x0>; 349 no-map; 350 }; 351 352 cmdline_region: memory@ffd00000 { 353 reg = <0 0xffd00000 0 0x1000>; 354 no-map; 355 }; 356 }; 357 358 smem { 359 compatible = "qcom,smem"; 360 memory-region = <&smem_mem>; 361 hwlocks = <&tcsr_mutex 3>; 362 }; 363 364 smp2p-adsp { 365 compatible = "qcom,smp2p"; 366 qcom,smem = <443>, <429>; 367 interrupts-extended = <&ipcc IPCC_CLIENT_LPASS 368 IPCC_MPROC_SIGNAL_SMP2P 369 IRQ_TYPE_EDGE_RISING>; 370 mboxes = <&ipcc IPCC_CLIENT_LPASS 371 IPCC_MPROC_SIGNAL_SMP2P>; 372 373 qcom,local-pid = <0>; 374 qcom,remote-pid = <2>; 375 376 smp2p_adsp_out: master-kernel { 377 qcom,entry-name = "master-kernel"; 378 #qcom,smem-state-cells = <1>; 379 }; 380 381 smp2p_adsp_in: slave-kernel { 382 qcom,entry-name = "slave-kernel"; 383 interrupt-controller; 384 #interrupt-cells = <2>; 385 }; 386 }; 387 388 smp2p-cdsp { 389 compatible = "qcom,smp2p"; 390 qcom,smem = <94>, <432>; 391 interrupts-extended = <&ipcc IPCC_CLIENT_CDSP 392 IPCC_MPROC_SIGNAL_SMP2P 393 IRQ_TYPE_EDGE_RISING>; 394 mboxes = <&ipcc IPCC_CLIENT_CDSP 395 IPCC_MPROC_SIGNAL_SMP2P>; 396 397 qcom,local-pid = <0>; 398 qcom,remote-pid = <5>; 399 400 smp2p_cdsp_out: master-kernel { 401 qcom,entry-name = "master-kernel"; 402 #qcom,smem-state-cells = <1>; 403 }; 404 405 smp2p_cdsp_in: slave-kernel { 406 qcom,entry-name = "slave-kernel"; 407 interrupt-controller; 408 #interrupt-cells = <2>; 409 }; 410 }; 411 412 smp2p-mpss { 413 compatible = "qcom,smp2p"; 414 qcom,smem = <435>, <428>; 415 416 interrupts-extended = <&ipcc IPCC_CLIENT_MPSS 417 IPCC_MPROC_SIGNAL_SMP2P 418 IRQ_TYPE_EDGE_RISING>; 419 mboxes = <&ipcc IPCC_CLIENT_MPSS 420 IPCC_MPROC_SIGNAL_SMP2P>; 421 422 qcom,local-pid = <0>; 423 qcom,remote-pid = <1>; 424 425 modem_smp2p_out: master-kernel { 426 qcom,entry-name = "master-kernel"; 427 #qcom,smem-state-cells = <1>; 428 }; 429 430 modem_smp2p_in: slave-kernel { 431 qcom,entry-name = "slave-kernel"; 432 433 interrupt-controller; 434 #interrupt-cells = <2>; 435 }; 436 }; 437 438 soc: soc@0 { 439 #address-cells = <2>; 440 #size-cells = <2>; 441 ranges = <0 0 0 0 0x10 0>; 442 dma-ranges = <0 0 0 0 0x10 0>; 443 compatible = "simple-bus"; 444 445 gcc: clock-controller@100000 { 446 compatible = "qcom,gcc-sm6350"; 447 reg = <0 0x00100000 0 0x1f0000>; 448 #clock-cells = <1>; 449 #reset-cells = <1>; 450 #power-domain-cells = <1>; 451 clock-names = "bi_tcxo", 452 "bi_tcxo_ao", 453 "sleep_clk"; 454 clocks = <&rpmhcc RPMH_CXO_CLK>, 455 <&rpmhcc RPMH_CXO_CLK_A>, 456 <&sleep_clk>; 457 }; 458 459 ipcc: mailbox@408000 { 460 compatible = "qcom,sm6350-ipcc", "qcom,ipcc"; 461 reg = <0 0x00408000 0 0x1000>; 462 interrupts = <GIC_SPI 228 IRQ_TYPE_LEVEL_HIGH>; 463 interrupt-controller; 464 #interrupt-cells = <3>; 465 #mbox-cells = <2>; 466 }; 467 468 rng: rng@793000 { 469 compatible = "qcom,prng-ee"; 470 reg = <0 0x00793000 0 0x1000>; 471 clocks = <&gcc GCC_PRNG_AHB_CLK>; 472 clock-names = "core"; 473 }; 474 475 sdhc_1: mmc@7c4000 { 476 compatible = "qcom,sm6350-sdhci", "qcom,sdhci-msm-v5"; 477 reg = <0 0x007c4000 0 0x1000>, 478 <0 0x007c5000 0 0x1000>, 479 <0 0x007c8000 0 0x8000>; 480 reg-names = "hc", "cqhci", "ice"; 481 482 interrupts = <GIC_SPI 641 IRQ_TYPE_LEVEL_HIGH>, 483 <GIC_SPI 644 IRQ_TYPE_LEVEL_HIGH>; 484 interrupt-names = "hc_irq", "pwr_irq"; 485 486 clocks = <&gcc GCC_SDCC1_AHB_CLK>, 487 <&gcc GCC_SDCC1_APPS_CLK>, 488 <&rpmhcc RPMH_CXO_CLK>; 489 clock-names = "iface", "core", "xo"; 490 qcom,dll-config = <0x000f642c>; 491 qcom,ddr-config = <0x80040868>; 492 power-domains = <&rpmhpd SM6350_CX>; 493 operating-points-v2 = <&sdhc1_opp_table>; 494 bus-width = <8>; 495 non-removable; 496 supports-cqe; 497 498 status = "disabled"; 499 500 sdhc1_opp_table: opp-table { 501 compatible = "operating-points-v2"; 502 503 opp-19200000 { 504 opp-hz = /bits/ 64 <19200000>; 505 required-opps = <&rpmhpd_opp_min_svs>; 506 }; 507 508 opp-100000000 { 509 opp-hz = /bits/ 64 <100000000>; 510 required-opps = <&rpmhpd_opp_low_svs>; 511 }; 512 513 opp-384000000 { 514 opp-hz = /bits/ 64 <384000000>; 515 required-opps = <&rpmhpd_opp_svs_l1>; 516 }; 517 }; 518 }; 519 520 qupv3_id_0: geniqup@8c0000 { 521 compatible = "qcom,geni-se-qup"; 522 reg = <0x0 0x8c0000 0x0 0x2000>; 523 clock-names = "m-ahb", "s-ahb"; 524 clocks = <&gcc GCC_QUPV3_WRAP_0_M_AHB_CLK>, 525 <&gcc GCC_QUPV3_WRAP_0_S_AHB_CLK>; 526 #address-cells = <2>; 527 #size-cells = <2>; 528 iommus = <&apps_smmu 0x43 0x0>; 529 ranges; 530 status = "disabled"; 531 532 i2c0: i2c@880000 { 533 compatible = "qcom,geni-i2c"; 534 reg = <0 0x00880000 0 0x4000>; 535 clock-names = "se"; 536 clocks = <&gcc GCC_QUPV3_WRAP0_S0_CLK>; 537 pinctrl-names = "default"; 538 pinctrl-0 = <&qup_i2c0_default>; 539 interrupts = <GIC_SPI 601 IRQ_TYPE_LEVEL_HIGH>; 540 #address-cells = <1>; 541 #size-cells = <0>; 542 status = "disabled"; 543 }; 544 545 i2c2: i2c@888000 { 546 compatible = "qcom,geni-i2c"; 547 reg = <0 0x00888000 0 0x4000>; 548 clock-names = "se"; 549 clocks = <&gcc GCC_QUPV3_WRAP0_S2_CLK>; 550 pinctrl-names = "default"; 551 pinctrl-0 = <&qup_i2c2_default>; 552 interrupts = <GIC_SPI 603 IRQ_TYPE_LEVEL_HIGH>; 553 #address-cells = <1>; 554 #size-cells = <0>; 555 status = "disabled"; 556 }; 557 }; 558 559 qupv3_id_1: geniqup@9c0000 { 560 compatible = "qcom,geni-se-qup"; 561 reg = <0x0 0x9c0000 0x0 0x2000>; 562 clock-names = "m-ahb", "s-ahb"; 563 clocks = <&gcc GCC_QUPV3_WRAP_1_M_AHB_CLK>, 564 <&gcc GCC_QUPV3_WRAP_1_S_AHB_CLK>; 565 #address-cells = <2>; 566 #size-cells = <2>; 567 iommus = <&apps_smmu 0x4c3 0x0>; 568 ranges; 569 status = "disabled"; 570 571 i2c6: i2c@980000 { 572 compatible = "qcom,geni-i2c"; 573 reg = <0 0x00980000 0 0x4000>; 574 clock-names = "se"; 575 clocks = <&gcc GCC_QUPV3_WRAP1_S0_CLK>; 576 pinctrl-names = "default"; 577 pinctrl-0 = <&qup_i2c6_default>; 578 interrupts = <GIC_SPI 353 IRQ_TYPE_LEVEL_HIGH>; 579 #address-cells = <1>; 580 #size-cells = <0>; 581 status = "disabled"; 582 }; 583 584 i2c7: i2c@984000 { 585 compatible = "qcom,geni-i2c"; 586 reg = <0 0x00984000 0 0x4000>; 587 clock-names = "se"; 588 clocks = <&gcc GCC_QUPV3_WRAP1_S1_CLK>; 589 pinctrl-names = "default"; 590 pinctrl-0 = <&qup_i2c7_default>; 591 interrupts = <GIC_SPI 354 IRQ_TYPE_LEVEL_HIGH>; 592 #address-cells = <1>; 593 #size-cells = <0>; 594 status = "disabled"; 595 }; 596 597 i2c8: i2c@988000 { 598 compatible = "qcom,geni-i2c"; 599 reg = <0 0x00988000 0 0x4000>; 600 clock-names = "se"; 601 clocks = <&gcc GCC_QUPV3_WRAP1_S2_CLK>; 602 pinctrl-names = "default"; 603 pinctrl-0 = <&qup_i2c8_default>; 604 interrupts = <GIC_SPI 355 IRQ_TYPE_LEVEL_HIGH>; 605 #address-cells = <1>; 606 #size-cells = <0>; 607 status = "disabled"; 608 }; 609 610 uart9: serial@98c000 { 611 compatible = "qcom,geni-debug-uart"; 612 reg = <0 0x98c000 0 0x4000>; 613 clock-names = "se"; 614 clocks = <&gcc GCC_QUPV3_WRAP1_S3_CLK>; 615 pinctrl-names = "default"; 616 pinctrl-0 = <&qup_uart9_default>; 617 interrupts = <GIC_SPI 356 IRQ_TYPE_LEVEL_HIGH>; 618 status = "disabled"; 619 }; 620 621 i2c10: i2c@990000 { 622 compatible = "qcom,geni-i2c"; 623 reg = <0 0x00990000 0 0x4000>; 624 clock-names = "se"; 625 clocks = <&gcc GCC_QUPV3_WRAP1_S4_CLK>; 626 pinctrl-names = "default"; 627 pinctrl-0 = <&qup_i2c10_default>; 628 interrupts = <GIC_SPI 357 IRQ_TYPE_LEVEL_HIGH>; 629 #address-cells = <1>; 630 #size-cells = <0>; 631 status = "disabled"; 632 }; 633 634 }; 635 636 ufs_mem_hc: ufs@1d84000 { 637 compatible = "qcom,sm6350-ufshc", "qcom,ufshc", 638 "jedec,ufs-2.0"; 639 reg = <0 0x01d84000 0 0x3000>, 640 <0 0x01d90000 0 0x8000>; 641 reg-names = "std", "ice"; 642 interrupts = <GIC_SPI 265 IRQ_TYPE_LEVEL_HIGH>; 643 phys = <&ufs_mem_phy_lanes>; 644 phy-names = "ufsphy"; 645 lanes-per-direction = <2>; 646 #reset-cells = <1>; 647 resets = <&gcc GCC_UFS_PHY_BCR>; 648 reset-names = "rst"; 649 650 power-domains = <&gcc UFS_PHY_GDSC>; 651 652 iommus = <&apps_smmu 0x80 0x0>; 653 654 clock-names = "core_clk", 655 "bus_aggr_clk", 656 "iface_clk", 657 "core_clk_unipro", 658 "ref_clk", 659 "tx_lane0_sync_clk", 660 "rx_lane0_sync_clk", 661 "rx_lane1_sync_clk", 662 "ice_core_clk"; 663 clocks = <&gcc GCC_UFS_PHY_AXI_CLK>, 664 <&gcc GCC_AGGRE_UFS_PHY_AXI_CLK>, 665 <&gcc GCC_UFS_PHY_AHB_CLK>, 666 <&gcc GCC_UFS_PHY_UNIPRO_CORE_CLK>, 667 <&rpmhcc RPMH_QLINK_CLK>, 668 <&gcc GCC_UFS_PHY_TX_SYMBOL_0_CLK>, 669 <&gcc GCC_UFS_PHY_RX_SYMBOL_0_CLK>, 670 <&gcc GCC_UFS_PHY_RX_SYMBOL_1_CLK>, 671 <&gcc GCC_UFS_PHY_ICE_CORE_CLK>; 672 freq-table-hz = 673 <50000000 200000000>, 674 <0 0>, 675 <0 0>, 676 <37500000 150000000>, 677 <75000000 300000000>, 678 <0 0>, 679 <0 0>, 680 <0 0>, 681 <0 0>; 682 683 status = "disabled"; 684 }; 685 686 ufs_mem_phy: phy@1d87000 { 687 compatible = "qcom,sm6350-qmp-ufs-phy"; 688 reg = <0 0x01d87000 0 0x18c>; 689 #address-cells = <2>; 690 #size-cells = <2>; 691 ranges; 692 693 clock-names = "ref", 694 "ref_aux"; 695 clocks = <&gcc GCC_UFS_MEM_CLKREF_CLK>, 696 <&gcc GCC_UFS_PHY_PHY_AUX_CLK>; 697 698 resets = <&ufs_mem_hc 0>; 699 reset-names = "ufsphy"; 700 701 status = "disabled"; 702 703 ufs_mem_phy_lanes: phy@1d87400 { 704 reg = <0 0x01d87400 0 0x128>, 705 <0 0x01d87600 0 0x1fc>, 706 <0 0x01d87c00 0 0x1dc>, 707 <0 0x01d87800 0 0x128>, 708 <0 0x01d87a00 0 0x1fc>; 709 #phy-cells = <0>; 710 }; 711 }; 712 713 tcsr_mutex: hwlock@1f40000 { 714 compatible = "qcom,tcsr-mutex"; 715 reg = <0x0 0x01f40000 0x0 0x40000>; 716 #hwlock-cells = <1>; 717 }; 718 719 adsp: remoteproc@3000000 { 720 compatible = "qcom,sm6350-adsp-pas"; 721 reg = <0 0x03000000 0 0x100>; 722 723 interrupts-extended = <&pdc 6 IRQ_TYPE_LEVEL_HIGH>, 724 <&smp2p_adsp_in 0 IRQ_TYPE_EDGE_RISING>, 725 <&smp2p_adsp_in 1 IRQ_TYPE_EDGE_RISING>, 726 <&smp2p_adsp_in 2 IRQ_TYPE_EDGE_RISING>, 727 <&smp2p_adsp_in 3 IRQ_TYPE_EDGE_RISING>; 728 interrupt-names = "wdog", "fatal", "ready", 729 "handover", "stop-ack"; 730 731 clocks = <&rpmhcc RPMH_CXO_CLK>; 732 clock-names = "xo"; 733 734 power-domains = <&rpmhpd SM6350_LCX>, 735 <&rpmhpd SM6350_LMX>; 736 power-domain-names = "lcx", "lmx"; 737 738 memory-region = <&pil_adsp_mem>; 739 740 qcom,qmp = <&aoss_qmp>; 741 742 qcom,smem-states = <&smp2p_adsp_out 0>; 743 qcom,smem-state-names = "stop"; 744 745 status = "disabled"; 746 747 glink-edge { 748 interrupts-extended = <&ipcc IPCC_CLIENT_LPASS 749 IPCC_MPROC_SIGNAL_GLINK_QMP 750 IRQ_TYPE_EDGE_RISING>; 751 mboxes = <&ipcc IPCC_CLIENT_LPASS 752 IPCC_MPROC_SIGNAL_GLINK_QMP>; 753 754 label = "lpass"; 755 qcom,remote-pid = <2>; 756 757 fastrpc { 758 compatible = "qcom,fastrpc"; 759 qcom,glink-channels = "fastrpcglink-apps-dsp"; 760 label = "adsp"; 761 #address-cells = <1>; 762 #size-cells = <0>; 763 764 compute-cb@3 { 765 compatible = "qcom,fastrpc-compute-cb"; 766 reg = <3>; 767 iommus = <&apps_smmu 0x1003 0x0>; 768 }; 769 770 compute-cb@4 { 771 compatible = "qcom,fastrpc-compute-cb"; 772 reg = <4>; 773 iommus = <&apps_smmu 0x1004 0x0>; 774 }; 775 776 compute-cb@5 { 777 compatible = "qcom,fastrpc-compute-cb"; 778 reg = <5>; 779 iommus = <&apps_smmu 0x1005 0x0>; 780 qcom,nsessions = <5>; 781 }; 782 }; 783 }; 784 }; 785 786 mpss: remoteproc@4080000 { 787 compatible = "qcom,sm6350-mpss-pas"; 788 reg = <0x0 0x04080000 0x0 0x4040>; 789 790 interrupts-extended = <&intc GIC_SPI 136 IRQ_TYPE_EDGE_RISING>, 791 <&modem_smp2p_in 0 IRQ_TYPE_EDGE_RISING>, 792 <&modem_smp2p_in 1 IRQ_TYPE_EDGE_RISING>, 793 <&modem_smp2p_in 2 IRQ_TYPE_EDGE_RISING>, 794 <&modem_smp2p_in 3 IRQ_TYPE_EDGE_RISING>, 795 <&modem_smp2p_in 7 IRQ_TYPE_EDGE_RISING>; 796 interrupt-names = "wdog", "fatal", "ready", "handover", 797 "stop-ack", "shutdown-ack"; 798 799 clocks = <&rpmhcc RPMH_CXO_CLK>; 800 clock-names = "xo"; 801 802 power-domains = <&rpmhpd SM6350_CX>, 803 <&rpmhpd SM6350_MSS>; 804 power-domain-names = "cx", "mss"; 805 806 memory-region = <&pil_modem_mem>; 807 808 qcom,qmp = <&aoss_qmp>; 809 810 qcom,smem-states = <&modem_smp2p_out 0>; 811 qcom,smem-state-names = "stop"; 812 813 status = "disabled"; 814 815 glink-edge { 816 interrupts-extended = <&ipcc IPCC_CLIENT_MPSS 817 IPCC_MPROC_SIGNAL_GLINK_QMP 818 IRQ_TYPE_EDGE_RISING>; 819 mboxes = <&ipcc IPCC_CLIENT_MPSS 820 IPCC_MPROC_SIGNAL_GLINK_QMP>; 821 label = "modem"; 822 qcom,remote-pid = <1>; 823 }; 824 }; 825 826 cdsp: remoteproc@8300000 { 827 compatible = "qcom,sm6350-cdsp-pas"; 828 reg = <0 0x08300000 0 0x10000>; 829 830 interrupts-extended = <&intc GIC_SPI 578 IRQ_TYPE_LEVEL_HIGH>, 831 <&smp2p_cdsp_in 0 IRQ_TYPE_EDGE_RISING>, 832 <&smp2p_cdsp_in 1 IRQ_TYPE_EDGE_RISING>, 833 <&smp2p_cdsp_in 2 IRQ_TYPE_EDGE_RISING>, 834 <&smp2p_cdsp_in 3 IRQ_TYPE_EDGE_RISING>; 835 interrupt-names = "wdog", "fatal", "ready", 836 "handover", "stop-ack"; 837 838 clocks = <&rpmhcc RPMH_CXO_CLK>; 839 clock-names = "xo"; 840 841 power-domains = <&rpmhpd SM6350_CX>, 842 <&rpmhpd SM6350_MX>; 843 power-domain-names = "cx", "mx"; 844 845 memory-region = <&pil_cdsp_mem>; 846 847 qcom,qmp = <&aoss_qmp>; 848 849 qcom,smem-states = <&smp2p_cdsp_out 0>; 850 qcom,smem-state-names = "stop"; 851 852 status = "disabled"; 853 854 glink-edge { 855 interrupts-extended = <&ipcc IPCC_CLIENT_CDSP 856 IPCC_MPROC_SIGNAL_GLINK_QMP 857 IRQ_TYPE_EDGE_RISING>; 858 mboxes = <&ipcc IPCC_CLIENT_CDSP 859 IPCC_MPROC_SIGNAL_GLINK_QMP>; 860 861 label = "cdsp"; 862 qcom,remote-pid = <5>; 863 864 fastrpc { 865 compatible = "qcom,fastrpc"; 866 qcom,glink-channels = "fastrpcglink-apps-dsp"; 867 label = "cdsp"; 868 #address-cells = <1>; 869 #size-cells = <0>; 870 871 compute-cb@1 { 872 compatible = "qcom,fastrpc-compute-cb"; 873 reg = <1>; 874 iommus = <&apps_smmu 0x1401 0x20>; 875 }; 876 877 compute-cb@2 { 878 compatible = "qcom,fastrpc-compute-cb"; 879 reg = <2>; 880 iommus = <&apps_smmu 0x1402 0x20>; 881 }; 882 883 compute-cb@3 { 884 compatible = "qcom,fastrpc-compute-cb"; 885 reg = <3>; 886 iommus = <&apps_smmu 0x1403 0x20>; 887 }; 888 889 compute-cb@4 { 890 compatible = "qcom,fastrpc-compute-cb"; 891 reg = <4>; 892 iommus = <&apps_smmu 0x1404 0x20>; 893 }; 894 895 compute-cb@5 { 896 compatible = "qcom,fastrpc-compute-cb"; 897 reg = <5>; 898 iommus = <&apps_smmu 0x1405 0x20>; 899 }; 900 901 compute-cb@6 { 902 compatible = "qcom,fastrpc-compute-cb"; 903 reg = <6>; 904 iommus = <&apps_smmu 0x1406 0x20>; 905 }; 906 907 compute-cb@7 { 908 compatible = "qcom,fastrpc-compute-cb"; 909 reg = <7>; 910 iommus = <&apps_smmu 0x1407 0x20>; 911 }; 912 913 compute-cb@8 { 914 compatible = "qcom,fastrpc-compute-cb"; 915 reg = <8>; 916 iommus = <&apps_smmu 0x1408 0x20>; 917 }; 918 919 /* note: secure cb9 in downstream */ 920 }; 921 }; 922 }; 923 924 sdhc_2: mmc@8804000 { 925 compatible = "qcom,sm6350-sdhci", "qcom,sdhci-msm-v5"; 926 reg = <0 0x08804000 0 0x1000>; 927 928 interrupts = <GIC_SPI 204 IRQ_TYPE_LEVEL_HIGH>, 929 <GIC_SPI 222 IRQ_TYPE_LEVEL_HIGH>; 930 interrupt-names = "hc_irq", "pwr_irq"; 931 932 clocks = <&gcc GCC_SDCC2_AHB_CLK>, 933 <&gcc GCC_SDCC2_APPS_CLK>, 934 <&rpmhcc RPMH_CXO_CLK>; 935 clock-names = "iface", "core", "xo"; 936 qcom,dll-config = <0x0007642c>; 937 qcom,ddr-config = <0x80040868>; 938 power-domains = <&rpmhpd SM6350_CX>; 939 operating-points-v2 = <&sdhc2_opp_table>; 940 bus-width = <4>; 941 942 status = "disabled"; 943 944 sdhc2_opp_table: opp-table { 945 compatible = "operating-points-v2"; 946 947 opp-100000000 { 948 opp-hz = /bits/ 64 <100000000>; 949 required-opps = <&rpmhpd_opp_svs_l1>; 950 }; 951 952 opp-202000000 { 953 opp-hz = /bits/ 64 <202000000>; 954 required-opps = <&rpmhpd_opp_nom>; 955 }; 956 }; 957 }; 958 959 usb_1_hsphy: phy@88e3000 { 960 compatible = "qcom,sm6350-qusb2-phy", "qcom,qusb2-v2-phy"; 961 reg = <0 0x088e3000 0 0x400>; 962 status = "disabled"; 963 #phy-cells = <0>; 964 965 clocks = <&xo_board>, <&rpmhcc RPMH_CXO_CLK>; 966 clock-names = "cfg_ahb", "ref"; 967 968 resets = <&gcc GCC_QUSB2PHY_PRIM_BCR>; 969 }; 970 971 usb_1_qmpphy: phy@88e9000 { 972 compatible = "qcom,sc7180-qmp-usb3-dp-phy"; 973 reg = <0 0x088e9000 0 0x200>, 974 <0 0x088e8000 0 0x40>, 975 <0 0x088ea000 0 0x200>; 976 status = "disabled"; 977 #address-cells = <2>; 978 #size-cells = <2>; 979 ranges; 980 981 clocks = <&gcc GCC_USB3_PRIM_PHY_AUX_CLK>, 982 <&xo_board>, 983 <&rpmhcc RPMH_QLINK_CLK>, 984 <&gcc GCC_USB3_PRIM_PHY_COM_AUX_CLK>; 985 clock-names = "aux", "cfg_ahb", "ref", "com_aux"; 986 987 resets = <&gcc GCC_USB3_DP_PHY_PRIM_BCR>, 988 <&gcc GCC_USB3_PHY_PRIM_BCR>; 989 reset-names = "phy", "common"; 990 991 usb_1_ssphy: usb3-phy@88e9200 { 992 reg = <0 0x088e9200 0 0x200>, 993 <0 0x088e9400 0 0x200>, 994 <0 0x088e9c00 0 0x400>, 995 <0 0x088e9600 0 0x200>, 996 <0 0x088e9800 0 0x200>, 997 <0 0x088e9a00 0 0x100>; 998 #clock-cells = <0>; 999 #phy-cells = <0>; 1000 clocks = <&gcc GCC_USB3_PRIM_PHY_PIPE_CLK>; 1001 clock-names = "pipe0"; 1002 clock-output-names = "usb3_phy_pipe_clk_src"; 1003 }; 1004 1005 dp_phy: dp-phy@88ea200 { 1006 reg = <0 0x088ea200 0 0x200>, 1007 <0 0x088ea400 0 0x200>, 1008 <0 0x088eac00 0 0x400>, 1009 <0 0x088ea600 0 0x200>, 1010 <0 0x088ea800 0 0x200>, 1011 <0 0x088eaa00 0 0x100>; 1012 #phy-cells = <0>; 1013 #clock-cells = <1>; 1014 clocks = <&gcc GCC_USB3_PRIM_PHY_PIPE_CLK>; 1015 clock-names = "pipe0"; 1016 clock-output-names = "usb3_phy_pipe_clk_src"; 1017 }; 1018 }; 1019 1020 system-cache-controller@9200000 { 1021 compatible = "qcom,sm6350-llcc"; 1022 reg = <0 0x09200000 0 0x50000>, <0 0x09600000 0 0x50000>; 1023 reg-names = "llcc_base", "llcc_broadcast_base"; 1024 }; 1025 1026 usb_1: usb@a6f8800 { 1027 compatible = "qcom,sm6350-dwc3", "qcom,dwc3"; 1028 reg = <0 0x0a6f8800 0 0x400>; 1029 status = "disabled"; 1030 #address-cells = <2>; 1031 #size-cells = <2>; 1032 ranges; 1033 1034 clocks = <&gcc GCC_CFG_NOC_USB3_PRIM_AXI_CLK>, 1035 <&gcc GCC_USB30_PRIM_MASTER_CLK>, 1036 <&gcc GCC_AGGRE_USB3_PRIM_AXI_CLK>, 1037 <&gcc GCC_USB30_PRIM_SLEEP_CLK>, 1038 <&gcc GCC_USB30_PRIM_MOCK_UTMI_CLK>; 1039 clock-names = "cfg_noc", 1040 "core", 1041 "iface", 1042 "sleep", 1043 "mock_utmi"; 1044 1045 interrupts-extended = <&intc GIC_SPI 130 IRQ_TYPE_LEVEL_HIGH>, 1046 <&pdc 17 IRQ_TYPE_LEVEL_HIGH>, 1047 <&pdc 15 IRQ_TYPE_EDGE_BOTH>, 1048 <&pdc 14 IRQ_TYPE_EDGE_BOTH>; 1049 1050 interrupt-names = "hs_phy_irq", "ss_phy_irq", 1051 "dm_hs_phy_irq", "dp_hs_phy_irq"; 1052 1053 power-domains = <&gcc USB30_PRIM_GDSC>; 1054 1055 resets = <&gcc GCC_USB30_PRIM_BCR>; 1056 1057 usb_1_dwc3: usb@a600000 { 1058 compatible = "snps,dwc3"; 1059 reg = <0 0x0a600000 0 0xcd00>; 1060 interrupts = <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>; 1061 iommus = <&apps_smmu 0x540 0x0>; 1062 snps,dis_u2_susphy_quirk; 1063 snps,dis_enblslpm_quirk; 1064 snps,has-lpm-erratum; 1065 snps,hird-threshold = /bits/ 8 <0x10>; 1066 phys = <&usb_1_hsphy>, <&usb_1_ssphy>; 1067 phy-names = "usb2-phy", "usb3-phy"; 1068 }; 1069 }; 1070 1071 pdc: interrupt-controller@b220000 { 1072 compatible = "qcom,sm6350-pdc", "qcom,pdc"; 1073 reg = <0 0x0b220000 0 0x30000>, <0 0x17c000f0 0 0x64>; 1074 qcom,pdc-ranges = <0 480 94>, <94 609 31>, 1075 <125 63 1>, <126 655 12>, <138 139 15>; 1076 #interrupt-cells = <2>; 1077 interrupt-parent = <&intc>; 1078 interrupt-controller; 1079 }; 1080 1081 tsens0: thermal-sensor@c263000 { 1082 compatible = "qcom,sm6350-tsens", "qcom,tsens-v2"; 1083 reg = <0 0x0c263000 0 0x1ff>, /* TM */ 1084 <0 0x0c222000 0 0x8>; /* SROT */ 1085 #qcom,sensors = <16>; 1086 interrupts-extended = <&pdc 26 IRQ_TYPE_LEVEL_HIGH>, 1087 <&pdc 28 IRQ_TYPE_LEVEL_HIGH>; 1088 interrupt-names = "uplow", "critical"; 1089 #thermal-sensor-cells = <1>; 1090 }; 1091 1092 tsens1: thermal-sensor@c265000 { 1093 compatible = "qcom,sm6350-tsens", "qcom,tsens-v2"; 1094 reg = <0 0x0c265000 0 0x1ff>, /* TM */ 1095 <0 0x0c223000 0 0x8>; /* SROT */ 1096 #qcom,sensors = <16>; 1097 interrupts-extended = <&pdc 27 IRQ_TYPE_LEVEL_HIGH>, 1098 <&pdc 29 IRQ_TYPE_LEVEL_HIGH>; 1099 interrupt-names = "uplow", "critical"; 1100 #thermal-sensor-cells = <1>; 1101 }; 1102 1103 aoss_qmp: power-controller@c300000 { 1104 compatible = "qcom,sm6350-aoss-qmp", "qcom,aoss-qmp"; 1105 reg = <0 0x0c300000 0 0x1000>; 1106 interrupts-extended = <&ipcc IPCC_CLIENT_AOP IPCC_MPROC_SIGNAL_GLINK_QMP 1107 IRQ_TYPE_EDGE_RISING>; 1108 mboxes = <&ipcc IPCC_CLIENT_AOP IPCC_MPROC_SIGNAL_GLINK_QMP>; 1109 1110 #clock-cells = <0>; 1111 }; 1112 1113 spmi_bus: spmi@c440000 { 1114 compatible = "qcom,spmi-pmic-arb"; 1115 reg = <0 0xc440000 0 0x1100>, 1116 <0 0xc600000 0 0x2000000>, 1117 <0 0xe600000 0 0x100000>, 1118 <0 0xe700000 0 0xa0000>, 1119 <0 0xc40a000 0 0x26000>; 1120 reg-names = "core", "chnls", "obsrvr", "intr", "cnfg"; 1121 interrupt-names = "periph_irq"; 1122 interrupts-extended = <&pdc 1 IRQ_TYPE_LEVEL_HIGH>; 1123 qcom,ee = <0>; 1124 qcom,channel = <0>; 1125 #address-cells = <2>; 1126 #size-cells = <0>; 1127 interrupt-controller; 1128 #interrupt-cells = <4>; 1129 }; 1130 1131 tlmm: pinctrl@f100000 { 1132 compatible = "qcom,sm6350-tlmm"; 1133 reg = <0 0x0f100000 0 0x300000>; 1134 interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>, 1135 <GIC_SPI 209 IRQ_TYPE_LEVEL_HIGH>, 1136 <GIC_SPI 210 IRQ_TYPE_LEVEL_HIGH>, 1137 <GIC_SPI 211 IRQ_TYPE_LEVEL_HIGH>, 1138 <GIC_SPI 212 IRQ_TYPE_LEVEL_HIGH>, 1139 <GIC_SPI 213 IRQ_TYPE_LEVEL_HIGH>, 1140 <GIC_SPI 214 IRQ_TYPE_LEVEL_HIGH>, 1141 <GIC_SPI 215 IRQ_TYPE_LEVEL_HIGH>, 1142 <GIC_SPI 216 IRQ_TYPE_LEVEL_HIGH>; 1143 gpio-controller; 1144 #gpio-cells = <2>; 1145 interrupt-controller; 1146 #interrupt-cells = <2>; 1147 gpio-ranges = <&tlmm 0 0 157>; 1148 1149 qup_uart9_default: qup-uart9-default { 1150 pins = "gpio25", "gpio26"; 1151 function = "qup13_f2"; 1152 drive-strength = <2>; 1153 bias-disable; 1154 }; 1155 1156 qup_i2c0_default: qup-i2c0-default { 1157 pins = "gpio0", "gpio1"; 1158 function = "qup00"; 1159 drive-strength = <2>; 1160 bias-pull-up; 1161 }; 1162 1163 qup_i2c2_default: qup-i2c2-default { 1164 pins = "gpio45", "gpio46"; 1165 function = "qup02"; 1166 drive-strength = <2>; 1167 bias-pull-up; 1168 }; 1169 1170 qup_i2c6_default: qup-i2c6-default { 1171 pins = "gpio13", "gpio14"; 1172 function = "qup10"; 1173 drive-strength = <2>; 1174 bias-pull-up; 1175 }; 1176 1177 qup_i2c7_default: qup-i2c7-default { 1178 pins = "gpio27", "gpio28"; 1179 function = "qup11"; 1180 drive-strength = <2>; 1181 bias-pull-up; 1182 }; 1183 1184 qup_i2c8_default: qup-i2c8-default { 1185 pins = "gpio19", "gpio20"; 1186 function = "qup12"; 1187 drive-strength = <2>; 1188 bias-pull-up; 1189 }; 1190 1191 qup_i2c10_default: qup-i2c10-default { 1192 pins = "gpio4", "gpio5"; 1193 function = "qup14"; 1194 drive-strength = <2>; 1195 bias-pull-up; 1196 }; 1197 }; 1198 1199 apps_smmu: iommu@15000000 { 1200 compatible = "qcom,sm6350-smmu-500", "arm,mmu-500"; 1201 reg = <0 0x15000000 0 0x100000>; 1202 #iommu-cells = <2>; 1203 #global-interrupts = <1>; 1204 interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>, 1205 <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>, 1206 <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>, 1207 <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>, 1208 <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>, 1209 <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>, 1210 <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>, 1211 <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>, 1212 <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>, 1213 <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>, 1214 <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>, 1215 <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>, 1216 <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>, 1217 <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>, 1218 <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>, 1219 <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>, 1220 <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>, 1221 <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>, 1222 <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>, 1223 <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>, 1224 <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>, 1225 <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>, 1226 <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>, 1227 <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>, 1228 <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>, 1229 <GIC_SPI 181 IRQ_TYPE_LEVEL_HIGH>, 1230 <GIC_SPI 182 IRQ_TYPE_LEVEL_HIGH>, 1231 <GIC_SPI 183 IRQ_TYPE_LEVEL_HIGH>, 1232 <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>, 1233 <GIC_SPI 185 IRQ_TYPE_LEVEL_HIGH>, 1234 <GIC_SPI 186 IRQ_TYPE_LEVEL_HIGH>, 1235 <GIC_SPI 187 IRQ_TYPE_LEVEL_HIGH>, 1236 <GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>, 1237 <GIC_SPI 189 IRQ_TYPE_LEVEL_HIGH>, 1238 <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>, 1239 <GIC_SPI 191 IRQ_TYPE_LEVEL_HIGH>, 1240 <GIC_SPI 192 IRQ_TYPE_LEVEL_HIGH>, 1241 <GIC_SPI 315 IRQ_TYPE_LEVEL_HIGH>, 1242 <GIC_SPI 316 IRQ_TYPE_LEVEL_HIGH>, 1243 <GIC_SPI 317 IRQ_TYPE_LEVEL_HIGH>, 1244 <GIC_SPI 318 IRQ_TYPE_LEVEL_HIGH>, 1245 <GIC_SPI 319 IRQ_TYPE_LEVEL_HIGH>, 1246 <GIC_SPI 320 IRQ_TYPE_LEVEL_HIGH>, 1247 <GIC_SPI 321 IRQ_TYPE_LEVEL_HIGH>, 1248 <GIC_SPI 322 IRQ_TYPE_LEVEL_HIGH>, 1249 <GIC_SPI 323 IRQ_TYPE_LEVEL_HIGH>, 1250 <GIC_SPI 324 IRQ_TYPE_LEVEL_HIGH>, 1251 <GIC_SPI 325 IRQ_TYPE_LEVEL_HIGH>, 1252 <GIC_SPI 326 IRQ_TYPE_LEVEL_HIGH>, 1253 <GIC_SPI 327 IRQ_TYPE_LEVEL_HIGH>, 1254 <GIC_SPI 328 IRQ_TYPE_LEVEL_HIGH>, 1255 <GIC_SPI 329 IRQ_TYPE_LEVEL_HIGH>, 1256 <GIC_SPI 330 IRQ_TYPE_LEVEL_HIGH>, 1257 <GIC_SPI 331 IRQ_TYPE_LEVEL_HIGH>, 1258 <GIC_SPI 332 IRQ_TYPE_LEVEL_HIGH>, 1259 <GIC_SPI 333 IRQ_TYPE_LEVEL_HIGH>, 1260 <GIC_SPI 334 IRQ_TYPE_LEVEL_HIGH>, 1261 <GIC_SPI 335 IRQ_TYPE_LEVEL_HIGH>, 1262 <GIC_SPI 336 IRQ_TYPE_LEVEL_HIGH>, 1263 <GIC_SPI 337 IRQ_TYPE_LEVEL_HIGH>, 1264 <GIC_SPI 338 IRQ_TYPE_LEVEL_HIGH>, 1265 <GIC_SPI 339 IRQ_TYPE_LEVEL_HIGH>, 1266 <GIC_SPI 340 IRQ_TYPE_LEVEL_HIGH>, 1267 <GIC_SPI 341 IRQ_TYPE_LEVEL_HIGH>, 1268 <GIC_SPI 342 IRQ_TYPE_LEVEL_HIGH>, 1269 <GIC_SPI 343 IRQ_TYPE_LEVEL_HIGH>, 1270 <GIC_SPI 344 IRQ_TYPE_LEVEL_HIGH>, 1271 <GIC_SPI 345 IRQ_TYPE_LEVEL_HIGH>, 1272 <GIC_SPI 401 IRQ_TYPE_LEVEL_HIGH>, 1273 <GIC_SPI 402 IRQ_TYPE_LEVEL_HIGH>, 1274 <GIC_SPI 403 IRQ_TYPE_LEVEL_HIGH>, 1275 <GIC_SPI 404 IRQ_TYPE_LEVEL_HIGH>, 1276 <GIC_SPI 405 IRQ_TYPE_LEVEL_HIGH>, 1277 <GIC_SPI 406 IRQ_TYPE_LEVEL_HIGH>, 1278 <GIC_SPI 407 IRQ_TYPE_LEVEL_HIGH>, 1279 <GIC_SPI 408 IRQ_TYPE_LEVEL_HIGH>, 1280 <GIC_SPI 409 IRQ_TYPE_LEVEL_HIGH>, 1281 <GIC_SPI 410 IRQ_TYPE_LEVEL_HIGH>, 1282 <GIC_SPI 411 IRQ_TYPE_LEVEL_HIGH>, 1283 <GIC_SPI 412 IRQ_TYPE_LEVEL_HIGH>, 1284 <GIC_SPI 413 IRQ_TYPE_LEVEL_HIGH>; 1285 }; 1286 1287 intc: interrupt-controller@17a00000 { 1288 compatible = "arm,gic-v3"; 1289 #interrupt-cells = <3>; 1290 interrupt-controller; 1291 reg = <0x0 0x17a00000 0x0 0x10000>, /* GICD */ 1292 <0x0 0x17a60000 0x0 0x100000>; /* GICR * 8 */ 1293 interrupts = <GIC_PPI 8 IRQ_TYPE_LEVEL_HIGH>; 1294 }; 1295 1296 watchdog@17c10000 { 1297 compatible = "qcom,apss-wdt-sm6350", "qcom,kpss-wdt"; 1298 reg = <0 0x17c10000 0 0x1000>; 1299 clocks = <&sleep_clk>; 1300 interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>; 1301 }; 1302 1303 timer@17c20000 { 1304 compatible = "arm,armv7-timer-mem"; 1305 reg = <0x0 0x17c20000 0x0 0x1000>; 1306 clock-frequency = <19200000>; 1307 #address-cells = <1>; 1308 #size-cells = <1>; 1309 ranges = <0 0 0 0x20000000>; 1310 1311 frame@17c21000 { 1312 frame-number = <0>; 1313 interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>, 1314 <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>; 1315 reg = <0x17c21000 0x1000>, 1316 <0x17c22000 0x1000>; 1317 }; 1318 1319 frame@17c23000 { 1320 frame-number = <1>; 1321 interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>; 1322 reg = <0x17c23000 0x1000>; 1323 status = "disabled"; 1324 }; 1325 1326 frame@17c25000 { 1327 frame-number = <2>; 1328 interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>; 1329 reg = <0x17c25000 0x1000>; 1330 status = "disabled"; 1331 }; 1332 1333 frame@17c27000 { 1334 frame-number = <3>; 1335 interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>; 1336 reg = <0x17c27000 0x1000>; 1337 status = "disabled"; 1338 }; 1339 1340 frame@17c29000 { 1341 frame-number = <4>; 1342 interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>; 1343 reg = <0x17c29000 0x1000>; 1344 status = "disabled"; 1345 }; 1346 1347 frame@17c2b000 { 1348 frame-number = <5>; 1349 interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>; 1350 reg = <0x17c2b000 0x1000>; 1351 status = "disabled"; 1352 }; 1353 1354 frame@17c2d000 { 1355 frame-number = <6>; 1356 interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>; 1357 reg = <0x17c2d000 0x1000>; 1358 status = "disabled"; 1359 }; 1360 }; 1361 1362 wifi: wifi@18800000 { 1363 compatible = "qcom,wcn3990-wifi"; 1364 reg = <0 0x18800000 0 0x800000>; 1365 reg-names = "membase"; 1366 memory-region = <&wlan_fw_mem>; 1367 interrupts = <GIC_SPI 414 IRQ_TYPE_LEVEL_HIGH>, 1368 <GIC_SPI 415 IRQ_TYPE_LEVEL_HIGH>, 1369 <GIC_SPI 416 IRQ_TYPE_LEVEL_HIGH>, 1370 <GIC_SPI 417 IRQ_TYPE_LEVEL_HIGH>, 1371 <GIC_SPI 418 IRQ_TYPE_LEVEL_HIGH>, 1372 <GIC_SPI 419 IRQ_TYPE_LEVEL_HIGH>, 1373 <GIC_SPI 420 IRQ_TYPE_LEVEL_HIGH>, 1374 <GIC_SPI 421 IRQ_TYPE_LEVEL_HIGH>, 1375 <GIC_SPI 422 IRQ_TYPE_LEVEL_HIGH>, 1376 <GIC_SPI 423 IRQ_TYPE_LEVEL_HIGH>, 1377 <GIC_SPI 424 IRQ_TYPE_LEVEL_HIGH>, 1378 <GIC_SPI 425 IRQ_TYPE_LEVEL_HIGH>; 1379 iommus = <&apps_smmu 0x20 0x1>; 1380 qcom,msa-fixed-perm; 1381 status = "disabled"; 1382 }; 1383 1384 apps_rsc: rsc@18200000 { 1385 compatible = "qcom,rpmh-rsc"; 1386 label = "apps_rsc"; 1387 reg = <0x0 0x18200000 0x0 0x10000>, 1388 <0x0 0x18210000 0x0 0x10000>, 1389 <0x0 0x18220000 0x0 0x10000>; 1390 reg-names = "drv-0", "drv-1", "drv-2"; 1391 interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>, 1392 <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>, 1393 <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>; 1394 qcom,tcs-offset = <0xd00>; 1395 qcom,drv-id = <2>; 1396 qcom,tcs-config = <ACTIVE_TCS 2>, <SLEEP_TCS 3>, 1397 <WAKE_TCS 3>, <CONTROL_TCS 1>; 1398 1399 rpmhcc: clock-controller { 1400 compatible = "qcom,sm6350-rpmh-clk"; 1401 #clock-cells = <1>; 1402 clock-names = "xo"; 1403 clocks = <&xo_board>; 1404 }; 1405 1406 rpmhpd: power-controller { 1407 compatible = "qcom,sm6350-rpmhpd"; 1408 #power-domain-cells = <1>; 1409 operating-points-v2 = <&rpmhpd_opp_table>; 1410 1411 rpmhpd_opp_table: opp-table { 1412 compatible = "operating-points-v2"; 1413 1414 rpmhpd_opp_ret: opp1 { 1415 opp-level = <RPMH_REGULATOR_LEVEL_RETENTION>; 1416 }; 1417 1418 rpmhpd_opp_min_svs: opp2 { 1419 opp-level = <RPMH_REGULATOR_LEVEL_MIN_SVS>; 1420 }; 1421 1422 rpmhpd_opp_low_svs: opp3 { 1423 opp-level = <RPMH_REGULATOR_LEVEL_LOW_SVS>; 1424 }; 1425 1426 rpmhpd_opp_svs: opp4 { 1427 opp-level = <RPMH_REGULATOR_LEVEL_SVS>; 1428 }; 1429 1430 rpmhpd_opp_svs_l1: opp5 { 1431 opp-level = <RPMH_REGULATOR_LEVEL_SVS_L1>; 1432 }; 1433 1434 rpmhpd_opp_nom: opp6 { 1435 opp-level = <RPMH_REGULATOR_LEVEL_NOM>; 1436 }; 1437 1438 rpmhpd_opp_nom_l1: opp7 { 1439 opp-level = <RPMH_REGULATOR_LEVEL_NOM_L1>; 1440 }; 1441 1442 rpmhpd_opp_nom_l2: opp8 { 1443 opp-level = <RPMH_REGULATOR_LEVEL_NOM_L2>; 1444 }; 1445 1446 rpmhpd_opp_turbo: opp9 { 1447 opp-level = <RPMH_REGULATOR_LEVEL_TURBO>; 1448 }; 1449 1450 rpmhpd_opp_turbo_l1: opp10 { 1451 opp-level = <RPMH_REGULATOR_LEVEL_TURBO_L1>; 1452 }; 1453 }; 1454 }; 1455 1456 apps_bcm_voter: bcm-voter { 1457 compatible = "qcom,bcm-voter"; 1458 }; 1459 }; 1460 1461 cpufreq_hw: cpufreq@18323000 { 1462 compatible = "qcom,cpufreq-hw"; 1463 reg = <0 0x18323000 0 0x1000>, <0 0x18325800 0 0x1000>; 1464 reg-names = "freq-domain0", "freq-domain1"; 1465 clocks = <&rpmhcc RPMH_CXO_CLK>, <&gcc GPLL0>; 1466 clock-names = "xo", "alternate"; 1467 1468 #freq-domain-cells = <1>; 1469 }; 1470 }; 1471 1472 timer { 1473 compatible = "arm,armv8-timer"; 1474 clock-frequency = <19200000>; 1475 interrupts = <GIC_PPI 1 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>, 1476 <GIC_PPI 2 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>, 1477 <GIC_PPI 3 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>, 1478 <GIC_PPI 0 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>; 1479 }; 1480}; 1481