1// SPDX-License-Identifier: GPL-2.0-only 2/* 3 * Copyright (c) 2013-2015, The Linux Foundation. All rights reserved. 4 */ 5 6#include <dt-bindings/arm/coresight-cti-dt.h> 7#include <dt-bindings/clock/qcom,gcc-msm8916.h> 8#include <dt-bindings/clock/qcom,rpmcc.h> 9#include <dt-bindings/interconnect/qcom,msm8916.h> 10#include <dt-bindings/interrupt-controller/arm-gic.h> 11#include <dt-bindings/power/qcom-rpmpd.h> 12#include <dt-bindings/reset/qcom,gcc-msm8916.h> 13#include <dt-bindings/thermal/thermal.h> 14 15/ { 16 interrupt-parent = <&intc>; 17 18 #address-cells = <2>; 19 #size-cells = <2>; 20 21 aliases { 22 mmc0 = &sdhc_1; /* SDC1 eMMC slot */ 23 mmc1 = &sdhc_2; /* SDC2 SD card slot */ 24 }; 25 26 chosen { }; 27 28 memory@80000000 { 29 device_type = "memory"; 30 /* We expect the bootloader to fill in the reg */ 31 reg = <0 0x80000000 0 0>; 32 }; 33 34 reserved-memory { 35 #address-cells = <2>; 36 #size-cells = <2>; 37 ranges; 38 39 tz-apps@86000000 { 40 reg = <0x0 0x86000000 0x0 0x300000>; 41 no-map; 42 }; 43 44 smem@86300000 { 45 compatible = "qcom,smem"; 46 reg = <0x0 0x86300000 0x0 0x100000>; 47 no-map; 48 49 hwlocks = <&tcsr_mutex 3>; 50 qcom,rpm-msg-ram = <&rpm_msg_ram>; 51 }; 52 53 hypervisor@86400000 { 54 reg = <0x0 0x86400000 0x0 0x100000>; 55 no-map; 56 }; 57 58 tz@86500000 { 59 reg = <0x0 0x86500000 0x0 0x180000>; 60 no-map; 61 }; 62 63 reserved@86680000 { 64 reg = <0x0 0x86680000 0x0 0x80000>; 65 no-map; 66 }; 67 68 rmtfs@86700000 { 69 compatible = "qcom,rmtfs-mem"; 70 reg = <0x0 0x86700000 0x0 0xe0000>; 71 no-map; 72 73 qcom,client-id = <1>; 74 }; 75 76 rfsa@867e0000 { 77 reg = <0x0 0x867e0000 0x0 0x20000>; 78 no-map; 79 }; 80 81 mpss_mem: mpss@86800000 { 82 reg = <0x0 0x86800000 0x0 0x2b00000>; 83 no-map; 84 }; 85 86 wcnss_mem: wcnss@89300000 { 87 reg = <0x0 0x89300000 0x0 0x600000>; 88 no-map; 89 }; 90 91 venus_mem: venus@89900000 { 92 reg = <0x0 0x89900000 0x0 0x600000>; 93 no-map; 94 }; 95 96 mba_mem: mba@8ea00000 { 97 no-map; 98 reg = <0 0x8ea00000 0 0x100000>; 99 }; 100 }; 101 102 clocks { 103 xo_board: xo-board { 104 compatible = "fixed-clock"; 105 #clock-cells = <0>; 106 clock-frequency = <19200000>; 107 }; 108 109 sleep_clk: sleep-clk { 110 compatible = "fixed-clock"; 111 #clock-cells = <0>; 112 clock-frequency = <32768>; 113 }; 114 }; 115 116 cpus { 117 #address-cells = <1>; 118 #size-cells = <0>; 119 120 CPU0: cpu@0 { 121 device_type = "cpu"; 122 compatible = "arm,cortex-a53"; 123 reg = <0x0>; 124 next-level-cache = <&L2_0>; 125 enable-method = "psci"; 126 clocks = <&apcs>; 127 operating-points-v2 = <&cpu_opp_table>; 128 #cooling-cells = <2>; 129 power-domains = <&CPU_PD0>; 130 power-domain-names = "psci"; 131 qcom,acc = <&cpu0_acc>; 132 qcom,saw = <&cpu0_saw>; 133 }; 134 135 CPU1: cpu@1 { 136 device_type = "cpu"; 137 compatible = "arm,cortex-a53"; 138 reg = <0x1>; 139 next-level-cache = <&L2_0>; 140 enable-method = "psci"; 141 clocks = <&apcs>; 142 operating-points-v2 = <&cpu_opp_table>; 143 #cooling-cells = <2>; 144 power-domains = <&CPU_PD1>; 145 power-domain-names = "psci"; 146 qcom,acc = <&cpu1_acc>; 147 qcom,saw = <&cpu1_saw>; 148 }; 149 150 CPU2: cpu@2 { 151 device_type = "cpu"; 152 compatible = "arm,cortex-a53"; 153 reg = <0x2>; 154 next-level-cache = <&L2_0>; 155 enable-method = "psci"; 156 clocks = <&apcs>; 157 operating-points-v2 = <&cpu_opp_table>; 158 #cooling-cells = <2>; 159 power-domains = <&CPU_PD2>; 160 power-domain-names = "psci"; 161 qcom,acc = <&cpu2_acc>; 162 qcom,saw = <&cpu2_saw>; 163 }; 164 165 CPU3: cpu@3 { 166 device_type = "cpu"; 167 compatible = "arm,cortex-a53"; 168 reg = <0x3>; 169 next-level-cache = <&L2_0>; 170 enable-method = "psci"; 171 clocks = <&apcs>; 172 operating-points-v2 = <&cpu_opp_table>; 173 #cooling-cells = <2>; 174 power-domains = <&CPU_PD3>; 175 power-domain-names = "psci"; 176 qcom,acc = <&cpu3_acc>; 177 qcom,saw = <&cpu3_saw>; 178 }; 179 180 L2_0: l2-cache { 181 compatible = "cache"; 182 cache-level = <2>; 183 }; 184 185 idle-states { 186 entry-method = "psci"; 187 188 CPU_SLEEP_0: cpu-sleep-0 { 189 compatible = "arm,idle-state"; 190 idle-state-name = "standalone-power-collapse"; 191 arm,psci-suspend-param = <0x40000002>; 192 entry-latency-us = <130>; 193 exit-latency-us = <150>; 194 min-residency-us = <2000>; 195 local-timer-stop; 196 }; 197 }; 198 199 domain-idle-states { 200 201 CLUSTER_RET: cluster-retention { 202 compatible = "domain-idle-state"; 203 arm,psci-suspend-param = <0x41000012>; 204 entry-latency-us = <500>; 205 exit-latency-us = <500>; 206 min-residency-us = <2000>; 207 }; 208 209 CLUSTER_PWRDN: cluster-gdhs { 210 compatible = "domain-idle-state"; 211 arm,psci-suspend-param = <0x41000032>; 212 entry-latency-us = <2000>; 213 exit-latency-us = <2000>; 214 min-residency-us = <6000>; 215 }; 216 }; 217 }; 218 219 cpu_opp_table: cpu-opp-table { 220 compatible = "operating-points-v2"; 221 opp-shared; 222 223 opp-200000000 { 224 opp-hz = /bits/ 64 <200000000>; 225 }; 226 opp-400000000 { 227 opp-hz = /bits/ 64 <400000000>; 228 }; 229 opp-800000000 { 230 opp-hz = /bits/ 64 <800000000>; 231 }; 232 opp-998400000 { 233 opp-hz = /bits/ 64 <998400000>; 234 }; 235 }; 236 237 firmware { 238 scm: scm { 239 compatible = "qcom,scm-msm8916", "qcom,scm"; 240 clocks = <&gcc GCC_CRYPTO_CLK>, 241 <&gcc GCC_CRYPTO_AXI_CLK>, 242 <&gcc GCC_CRYPTO_AHB_CLK>; 243 clock-names = "core", "bus", "iface"; 244 #reset-cells = <1>; 245 246 qcom,dload-mode = <&tcsr 0x6100>; 247 }; 248 }; 249 250 pmu { 251 compatible = "arm,cortex-a53-pmu"; 252 interrupts = <GIC_PPI 7 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>; 253 }; 254 255 psci { 256 compatible = "arm,psci-1.0"; 257 method = "smc"; 258 259 CPU_PD0: power-domain-cpu0 { 260 #power-domain-cells = <0>; 261 power-domains = <&CLUSTER_PD>; 262 domain-idle-states = <&CPU_SLEEP_0>; 263 }; 264 265 CPU_PD1: power-domain-cpu1 { 266 #power-domain-cells = <0>; 267 power-domains = <&CLUSTER_PD>; 268 domain-idle-states = <&CPU_SLEEP_0>; 269 }; 270 271 CPU_PD2: power-domain-cpu2 { 272 #power-domain-cells = <0>; 273 power-domains = <&CLUSTER_PD>; 274 domain-idle-states = <&CPU_SLEEP_0>; 275 }; 276 277 CPU_PD3: power-domain-cpu3 { 278 #power-domain-cells = <0>; 279 power-domains = <&CLUSTER_PD>; 280 domain-idle-states = <&CPU_SLEEP_0>; 281 }; 282 283 CLUSTER_PD: power-domain-cluster { 284 #power-domain-cells = <0>; 285 domain-idle-states = <&CLUSTER_RET>, <&CLUSTER_PWRDN>; 286 }; 287 }; 288 289 smd { 290 compatible = "qcom,smd"; 291 292 rpm { 293 interrupts = <GIC_SPI 168 IRQ_TYPE_EDGE_RISING>; 294 qcom,ipc = <&apcs 8 0>; 295 qcom,smd-edge = <15>; 296 297 rpm_requests: rpm-requests { 298 compatible = "qcom,rpm-msm8916"; 299 qcom,smd-channels = "rpm_requests"; 300 301 rpmcc: clock-controller { 302 compatible = "qcom,rpmcc-msm8916"; 303 #clock-cells = <1>; 304 }; 305 306 rpmpd: power-controller { 307 compatible = "qcom,msm8916-rpmpd"; 308 #power-domain-cells = <1>; 309 operating-points-v2 = <&rpmpd_opp_table>; 310 311 rpmpd_opp_table: opp-table { 312 compatible = "operating-points-v2"; 313 314 rpmpd_opp_ret: opp1 { 315 opp-level = <1>; 316 }; 317 rpmpd_opp_svs_krait: opp2 { 318 opp-level = <2>; 319 }; 320 rpmpd_opp_svs_soc: opp3 { 321 opp-level = <3>; 322 }; 323 rpmpd_opp_nom: opp4 { 324 opp-level = <4>; 325 }; 326 rpmpd_opp_turbo: opp5 { 327 opp-level = <5>; 328 }; 329 rpmpd_opp_super_turbo: opp6 { 330 opp-level = <6>; 331 }; 332 }; 333 }; 334 }; 335 }; 336 }; 337 338 smp2p-hexagon { 339 compatible = "qcom,smp2p"; 340 qcom,smem = <435>, <428>; 341 342 interrupts = <GIC_SPI 27 IRQ_TYPE_EDGE_RISING>; 343 344 qcom,ipc = <&apcs 8 14>; 345 346 qcom,local-pid = <0>; 347 qcom,remote-pid = <1>; 348 349 hexagon_smp2p_out: master-kernel { 350 qcom,entry-name = "master-kernel"; 351 352 #qcom,smem-state-cells = <1>; 353 }; 354 355 hexagon_smp2p_in: slave-kernel { 356 qcom,entry-name = "slave-kernel"; 357 358 interrupt-controller; 359 #interrupt-cells = <2>; 360 }; 361 }; 362 363 smp2p-wcnss { 364 compatible = "qcom,smp2p"; 365 qcom,smem = <451>, <431>; 366 367 interrupts = <GIC_SPI 143 IRQ_TYPE_EDGE_RISING>; 368 369 qcom,ipc = <&apcs 8 18>; 370 371 qcom,local-pid = <0>; 372 qcom,remote-pid = <4>; 373 374 wcnss_smp2p_out: master-kernel { 375 qcom,entry-name = "master-kernel"; 376 377 #qcom,smem-state-cells = <1>; 378 }; 379 380 wcnss_smp2p_in: slave-kernel { 381 qcom,entry-name = "slave-kernel"; 382 383 interrupt-controller; 384 #interrupt-cells = <2>; 385 }; 386 }; 387 388 smsm { 389 compatible = "qcom,smsm"; 390 391 #address-cells = <1>; 392 #size-cells = <0>; 393 394 qcom,ipc-1 = <&apcs 8 13>; 395 qcom,ipc-3 = <&apcs 8 19>; 396 397 apps_smsm: apps@0 { 398 reg = <0>; 399 400 #qcom,smem-state-cells = <1>; 401 }; 402 403 hexagon_smsm: hexagon@1 { 404 reg = <1>; 405 interrupts = <GIC_SPI 26 IRQ_TYPE_EDGE_RISING>; 406 407 interrupt-controller; 408 #interrupt-cells = <2>; 409 }; 410 411 wcnss_smsm: wcnss@6 { 412 reg = <6>; 413 interrupts = <GIC_SPI 144 IRQ_TYPE_EDGE_RISING>; 414 415 interrupt-controller; 416 #interrupt-cells = <2>; 417 }; 418 }; 419 420 soc: soc@0 { 421 #address-cells = <1>; 422 #size-cells = <1>; 423 ranges = <0 0 0 0xffffffff>; 424 compatible = "simple-bus"; 425 426 rng@22000 { 427 compatible = "qcom,prng"; 428 reg = <0x00022000 0x200>; 429 clocks = <&gcc GCC_PRNG_AHB_CLK>; 430 clock-names = "core"; 431 }; 432 433 restart@4ab000 { 434 compatible = "qcom,pshold"; 435 reg = <0x004ab000 0x4>; 436 }; 437 438 qfprom: qfprom@5c000 { 439 compatible = "qcom,qfprom"; 440 reg = <0x0005c000 0x1000>; 441 #address-cells = <1>; 442 #size-cells = <1>; 443 tsens_caldata: caldata@d0 { 444 reg = <0xd0 0x8>; 445 }; 446 tsens_calsel: calsel@ec { 447 reg = <0xec 0x4>; 448 }; 449 }; 450 451 rpm_msg_ram: sram@60000 { 452 compatible = "qcom,rpm-msg-ram"; 453 reg = <0x00060000 0x8000>; 454 }; 455 456 sram@290000 { 457 compatible = "qcom,msm8916-rpm-stats"; 458 reg = <0x00290000 0x10000>; 459 }; 460 461 bimc: interconnect@400000 { 462 compatible = "qcom,msm8916-bimc"; 463 reg = <0x00400000 0x62000>; 464 #interconnect-cells = <1>; 465 clock-names = "bus", "bus_a"; 466 clocks = <&rpmcc RPM_SMD_BIMC_CLK>, 467 <&rpmcc RPM_SMD_BIMC_A_CLK>; 468 }; 469 470 tsens: thermal-sensor@4a9000 { 471 compatible = "qcom,msm8916-tsens", "qcom,tsens-v0_1"; 472 reg = <0x004a9000 0x1000>, /* TM */ 473 <0x004a8000 0x1000>; /* SROT */ 474 nvmem-cells = <&tsens_caldata>, <&tsens_calsel>; 475 nvmem-cell-names = "calib", "calib_sel"; 476 #qcom,sensors = <5>; 477 interrupts = <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>; 478 interrupt-names = "uplow"; 479 #thermal-sensor-cells = <1>; 480 }; 481 482 pcnoc: interconnect@500000 { 483 compatible = "qcom,msm8916-pcnoc"; 484 reg = <0x00500000 0x11000>; 485 #interconnect-cells = <1>; 486 clock-names = "bus", "bus_a"; 487 clocks = <&rpmcc RPM_SMD_PCNOC_CLK>, 488 <&rpmcc RPM_SMD_PCNOC_A_CLK>; 489 }; 490 491 snoc: interconnect@580000 { 492 compatible = "qcom,msm8916-snoc"; 493 reg = <0x00580000 0x14000>; 494 #interconnect-cells = <1>; 495 clock-names = "bus", "bus_a"; 496 clocks = <&rpmcc RPM_SMD_SNOC_CLK>, 497 <&rpmcc RPM_SMD_SNOC_A_CLK>; 498 }; 499 500 stm: stm@802000 { 501 compatible = "arm,coresight-stm", "arm,primecell"; 502 reg = <0x00802000 0x1000>, 503 <0x09280000 0x180000>; 504 reg-names = "stm-base", "stm-stimulus-base"; 505 506 clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>; 507 clock-names = "apb_pclk", "atclk"; 508 509 status = "disabled"; 510 511 out-ports { 512 port { 513 stm_out: endpoint { 514 remote-endpoint = <&funnel0_in7>; 515 }; 516 }; 517 }; 518 }; 519 520 /* System CTIs */ 521 /* CTI 0 - TMC connections */ 522 cti0: cti@810000 { 523 compatible = "arm,coresight-cti", "arm,primecell"; 524 reg = <0x00810000 0x1000>; 525 526 clocks = <&rpmcc RPM_QDSS_CLK>; 527 clock-names = "apb_pclk"; 528 529 status = "disabled"; 530 }; 531 532 /* CTI 1 - TPIU connections */ 533 cti1: cti@811000 { 534 compatible = "arm,coresight-cti", "arm,primecell"; 535 reg = <0x00811000 0x1000>; 536 537 clocks = <&rpmcc RPM_QDSS_CLK>; 538 clock-names = "apb_pclk"; 539 540 status = "disabled"; 541 }; 542 543 /* CTIs 2-11 - no information - not instantiated */ 544 545 tpiu: tpiu@820000 { 546 compatible = "arm,coresight-tpiu", "arm,primecell"; 547 reg = <0x00820000 0x1000>; 548 549 clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>; 550 clock-names = "apb_pclk", "atclk"; 551 552 status = "disabled"; 553 554 in-ports { 555 port { 556 tpiu_in: endpoint { 557 remote-endpoint = <&replicator_out1>; 558 }; 559 }; 560 }; 561 }; 562 563 funnel0: funnel@821000 { 564 compatible = "arm,coresight-dynamic-funnel", "arm,primecell"; 565 reg = <0x00821000 0x1000>; 566 567 clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>; 568 clock-names = "apb_pclk", "atclk"; 569 570 status = "disabled"; 571 572 in-ports { 573 #address-cells = <1>; 574 #size-cells = <0>; 575 576 /* 577 * Not described input ports: 578 * 0 - connected to Resource and Power Manger CPU ETM 579 * 1 - not-connected 580 * 2 - connected to Modem CPU ETM 581 * 3 - not-connected 582 * 5 - not-connected 583 * 6 - connected trought funnel to Wireless CPU ETM 584 * 7 - connected to STM component 585 */ 586 587 port@4 { 588 reg = <4>; 589 funnel0_in4: endpoint { 590 remote-endpoint = <&funnel1_out>; 591 }; 592 }; 593 594 port@7 { 595 reg = <7>; 596 funnel0_in7: endpoint { 597 remote-endpoint = <&stm_out>; 598 }; 599 }; 600 }; 601 602 out-ports { 603 port { 604 funnel0_out: endpoint { 605 remote-endpoint = <&etf_in>; 606 }; 607 }; 608 }; 609 }; 610 611 replicator: replicator@824000 { 612 compatible = "arm,coresight-dynamic-replicator", "arm,primecell"; 613 reg = <0x00824000 0x1000>; 614 615 clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>; 616 clock-names = "apb_pclk", "atclk"; 617 618 status = "disabled"; 619 620 out-ports { 621 #address-cells = <1>; 622 #size-cells = <0>; 623 624 port@0 { 625 reg = <0>; 626 replicator_out0: endpoint { 627 remote-endpoint = <&etr_in>; 628 }; 629 }; 630 port@1 { 631 reg = <1>; 632 replicator_out1: endpoint { 633 remote-endpoint = <&tpiu_in>; 634 }; 635 }; 636 }; 637 638 in-ports { 639 port { 640 replicator_in: endpoint { 641 remote-endpoint = <&etf_out>; 642 }; 643 }; 644 }; 645 }; 646 647 etf: etf@825000 { 648 compatible = "arm,coresight-tmc", "arm,primecell"; 649 reg = <0x00825000 0x1000>; 650 651 clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>; 652 clock-names = "apb_pclk", "atclk"; 653 654 status = "disabled"; 655 656 in-ports { 657 port { 658 etf_in: endpoint { 659 remote-endpoint = <&funnel0_out>; 660 }; 661 }; 662 }; 663 664 out-ports { 665 port { 666 etf_out: endpoint { 667 remote-endpoint = <&replicator_in>; 668 }; 669 }; 670 }; 671 }; 672 673 etr: etr@826000 { 674 compatible = "arm,coresight-tmc", "arm,primecell"; 675 reg = <0x00826000 0x1000>; 676 677 clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>; 678 clock-names = "apb_pclk", "atclk"; 679 680 status = "disabled"; 681 682 in-ports { 683 port { 684 etr_in: endpoint { 685 remote-endpoint = <&replicator_out0>; 686 }; 687 }; 688 }; 689 }; 690 691 funnel1: funnel@841000 { /* APSS funnel only 4 inputs are used */ 692 compatible = "arm,coresight-dynamic-funnel", "arm,primecell"; 693 reg = <0x00841000 0x1000>; 694 695 clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>; 696 clock-names = "apb_pclk", "atclk"; 697 698 status = "disabled"; 699 700 in-ports { 701 #address-cells = <1>; 702 #size-cells = <0>; 703 704 port@0 { 705 reg = <0>; 706 funnel1_in0: endpoint { 707 remote-endpoint = <&etm0_out>; 708 }; 709 }; 710 port@1 { 711 reg = <1>; 712 funnel1_in1: endpoint { 713 remote-endpoint = <&etm1_out>; 714 }; 715 }; 716 port@2 { 717 reg = <2>; 718 funnel1_in2: endpoint { 719 remote-endpoint = <&etm2_out>; 720 }; 721 }; 722 port@3 { 723 reg = <3>; 724 funnel1_in3: endpoint { 725 remote-endpoint = <&etm3_out>; 726 }; 727 }; 728 }; 729 730 out-ports { 731 port { 732 funnel1_out: endpoint { 733 remote-endpoint = <&funnel0_in4>; 734 }; 735 }; 736 }; 737 }; 738 739 debug0: debug@850000 { 740 compatible = "arm,coresight-cpu-debug", "arm,primecell"; 741 reg = <0x00850000 0x1000>; 742 clocks = <&rpmcc RPM_QDSS_CLK>; 743 clock-names = "apb_pclk"; 744 cpu = <&CPU0>; 745 status = "disabled"; 746 }; 747 748 debug1: debug@852000 { 749 compatible = "arm,coresight-cpu-debug", "arm,primecell"; 750 reg = <0x00852000 0x1000>; 751 clocks = <&rpmcc RPM_QDSS_CLK>; 752 clock-names = "apb_pclk"; 753 cpu = <&CPU1>; 754 status = "disabled"; 755 }; 756 757 debug2: debug@854000 { 758 compatible = "arm,coresight-cpu-debug", "arm,primecell"; 759 reg = <0x00854000 0x1000>; 760 clocks = <&rpmcc RPM_QDSS_CLK>; 761 clock-names = "apb_pclk"; 762 cpu = <&CPU2>; 763 status = "disabled"; 764 }; 765 766 debug3: debug@856000 { 767 compatible = "arm,coresight-cpu-debug", "arm,primecell"; 768 reg = <0x00856000 0x1000>; 769 clocks = <&rpmcc RPM_QDSS_CLK>; 770 clock-names = "apb_pclk"; 771 cpu = <&CPU3>; 772 status = "disabled"; 773 }; 774 775 /* Core CTIs; CTIs 12-15 */ 776 /* CTI - CPU-0 */ 777 cti12: cti@858000 { 778 compatible = "arm,coresight-cti-v8-arch", "arm,coresight-cti", 779 "arm,primecell"; 780 reg = <0x00858000 0x1000>; 781 782 clocks = <&rpmcc RPM_QDSS_CLK>; 783 clock-names = "apb_pclk"; 784 785 cpu = <&CPU0>; 786 arm,cs-dev-assoc = <&etm0>; 787 788 status = "disabled"; 789 }; 790 791 /* CTI - CPU-1 */ 792 cti13: cti@859000 { 793 compatible = "arm,coresight-cti-v8-arch", "arm,coresight-cti", 794 "arm,primecell"; 795 reg = <0x00859000 0x1000>; 796 797 clocks = <&rpmcc RPM_QDSS_CLK>; 798 clock-names = "apb_pclk"; 799 800 cpu = <&CPU1>; 801 arm,cs-dev-assoc = <&etm1>; 802 803 status = "disabled"; 804 }; 805 806 /* CTI - CPU-2 */ 807 cti14: cti@85a000 { 808 compatible = "arm,coresight-cti-v8-arch", "arm,coresight-cti", 809 "arm,primecell"; 810 reg = <0x0085a000 0x1000>; 811 812 clocks = <&rpmcc RPM_QDSS_CLK>; 813 clock-names = "apb_pclk"; 814 815 cpu = <&CPU2>; 816 arm,cs-dev-assoc = <&etm2>; 817 818 status = "disabled"; 819 }; 820 821 /* CTI - CPU-3 */ 822 cti15: cti@85b000 { 823 compatible = "arm,coresight-cti-v8-arch", "arm,coresight-cti", 824 "arm,primecell"; 825 reg = <0x0085b000 0x1000>; 826 827 clocks = <&rpmcc RPM_QDSS_CLK>; 828 clock-names = "apb_pclk"; 829 830 cpu = <&CPU3>; 831 arm,cs-dev-assoc = <&etm3>; 832 833 status = "disabled"; 834 }; 835 836 etm0: etm@85c000 { 837 compatible = "arm,coresight-etm4x", "arm,primecell"; 838 reg = <0x0085c000 0x1000>; 839 840 clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>; 841 clock-names = "apb_pclk", "atclk"; 842 arm,coresight-loses-context-with-cpu; 843 844 cpu = <&CPU0>; 845 846 status = "disabled"; 847 848 out-ports { 849 port { 850 etm0_out: endpoint { 851 remote-endpoint = <&funnel1_in0>; 852 }; 853 }; 854 }; 855 }; 856 857 etm1: etm@85d000 { 858 compatible = "arm,coresight-etm4x", "arm,primecell"; 859 reg = <0x0085d000 0x1000>; 860 861 clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>; 862 clock-names = "apb_pclk", "atclk"; 863 arm,coresight-loses-context-with-cpu; 864 865 cpu = <&CPU1>; 866 867 status = "disabled"; 868 869 out-ports { 870 port { 871 etm1_out: endpoint { 872 remote-endpoint = <&funnel1_in1>; 873 }; 874 }; 875 }; 876 }; 877 878 etm2: etm@85e000 { 879 compatible = "arm,coresight-etm4x", "arm,primecell"; 880 reg = <0x0085e000 0x1000>; 881 882 clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>; 883 clock-names = "apb_pclk", "atclk"; 884 arm,coresight-loses-context-with-cpu; 885 886 cpu = <&CPU2>; 887 888 status = "disabled"; 889 890 out-ports { 891 port { 892 etm2_out: endpoint { 893 remote-endpoint = <&funnel1_in2>; 894 }; 895 }; 896 }; 897 }; 898 899 etm3: etm@85f000 { 900 compatible = "arm,coresight-etm4x", "arm,primecell"; 901 reg = <0x0085f000 0x1000>; 902 903 clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>; 904 clock-names = "apb_pclk", "atclk"; 905 arm,coresight-loses-context-with-cpu; 906 907 cpu = <&CPU3>; 908 909 status = "disabled"; 910 911 out-ports { 912 port { 913 etm3_out: endpoint { 914 remote-endpoint = <&funnel1_in3>; 915 }; 916 }; 917 }; 918 }; 919 920 msmgpio: pinctrl@1000000 { 921 compatible = "qcom,msm8916-pinctrl"; 922 reg = <0x01000000 0x300000>; 923 interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>; 924 gpio-controller; 925 gpio-ranges = <&msmgpio 0 0 122>; 926 #gpio-cells = <2>; 927 interrupt-controller; 928 #interrupt-cells = <2>; 929 }; 930 931 gcc: clock-controller@1800000 { 932 compatible = "qcom,gcc-msm8916"; 933 #clock-cells = <1>; 934 #reset-cells = <1>; 935 #power-domain-cells = <1>; 936 reg = <0x01800000 0x80000>; 937 }; 938 939 tcsr_mutex: hwlock@1905000 { 940 compatible = "qcom,tcsr-mutex"; 941 reg = <0x01905000 0x20000>; 942 #hwlock-cells = <1>; 943 }; 944 945 tcsr: syscon@1937000 { 946 compatible = "qcom,tcsr-msm8916", "syscon"; 947 reg = <0x01937000 0x30000>; 948 }; 949 950 mdss: mdss@1a00000 { 951 status = "disabled"; 952 compatible = "qcom,mdss"; 953 reg = <0x01a00000 0x1000>, 954 <0x01ac8000 0x3000>; 955 reg-names = "mdss_phys", "vbif_phys"; 956 957 power-domains = <&gcc MDSS_GDSC>; 958 959 clocks = <&gcc GCC_MDSS_AHB_CLK>, 960 <&gcc GCC_MDSS_AXI_CLK>, 961 <&gcc GCC_MDSS_VSYNC_CLK>; 962 clock-names = "iface", 963 "bus", 964 "vsync"; 965 966 interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>; 967 968 interrupt-controller; 969 #interrupt-cells = <1>; 970 971 #address-cells = <1>; 972 #size-cells = <1>; 973 ranges; 974 975 mdp: mdp@1a01000 { 976 compatible = "qcom,mdp5"; 977 reg = <0x01a01000 0x89000>; 978 reg-names = "mdp_phys"; 979 980 interrupt-parent = <&mdss>; 981 interrupts = <0>; 982 983 clocks = <&gcc GCC_MDSS_AHB_CLK>, 984 <&gcc GCC_MDSS_AXI_CLK>, 985 <&gcc GCC_MDSS_MDP_CLK>, 986 <&gcc GCC_MDSS_VSYNC_CLK>; 987 clock-names = "iface", 988 "bus", 989 "core", 990 "vsync"; 991 992 iommus = <&apps_iommu 4>; 993 994 ports { 995 #address-cells = <1>; 996 #size-cells = <0>; 997 998 port@0 { 999 reg = <0>; 1000 mdp5_intf1_out: endpoint { 1001 remote-endpoint = <&dsi0_in>; 1002 }; 1003 }; 1004 }; 1005 }; 1006 1007 dsi0: dsi@1a98000 { 1008 compatible = "qcom,mdss-dsi-ctrl"; 1009 reg = <0x01a98000 0x25c>; 1010 reg-names = "dsi_ctrl"; 1011 1012 interrupt-parent = <&mdss>; 1013 interrupts = <4>; 1014 1015 assigned-clocks = <&gcc BYTE0_CLK_SRC>, 1016 <&gcc PCLK0_CLK_SRC>; 1017 assigned-clock-parents = <&dsi_phy0 0>, 1018 <&dsi_phy0 1>; 1019 1020 clocks = <&gcc GCC_MDSS_MDP_CLK>, 1021 <&gcc GCC_MDSS_AHB_CLK>, 1022 <&gcc GCC_MDSS_AXI_CLK>, 1023 <&gcc GCC_MDSS_BYTE0_CLK>, 1024 <&gcc GCC_MDSS_PCLK0_CLK>, 1025 <&gcc GCC_MDSS_ESC0_CLK>; 1026 clock-names = "mdp_core", 1027 "iface", 1028 "bus", 1029 "byte", 1030 "pixel", 1031 "core"; 1032 phys = <&dsi_phy0>; 1033 phy-names = "dsi-phy"; 1034 1035 #address-cells = <1>; 1036 #size-cells = <0>; 1037 1038 ports { 1039 #address-cells = <1>; 1040 #size-cells = <0>; 1041 1042 port@0 { 1043 reg = <0>; 1044 dsi0_in: endpoint { 1045 remote-endpoint = <&mdp5_intf1_out>; 1046 }; 1047 }; 1048 1049 port@1 { 1050 reg = <1>; 1051 dsi0_out: endpoint { 1052 }; 1053 }; 1054 }; 1055 }; 1056 1057 dsi_phy0: dsi-phy@1a98300 { 1058 compatible = "qcom,dsi-phy-28nm-lp"; 1059 reg = <0x01a98300 0xd4>, 1060 <0x01a98500 0x280>, 1061 <0x01a98780 0x30>; 1062 reg-names = "dsi_pll", 1063 "dsi_phy", 1064 "dsi_phy_regulator"; 1065 1066 #clock-cells = <1>; 1067 #phy-cells = <0>; 1068 1069 clocks = <&gcc GCC_MDSS_AHB_CLK>, 1070 <&xo_board>; 1071 clock-names = "iface", "ref"; 1072 }; 1073 }; 1074 1075 camss: camss@1b00000 { 1076 compatible = "qcom,msm8916-camss"; 1077 reg = <0x01b0ac00 0x200>, 1078 <0x01b00030 0x4>, 1079 <0x01b0b000 0x200>, 1080 <0x01b00038 0x4>, 1081 <0x01b08000 0x100>, 1082 <0x01b08400 0x100>, 1083 <0x01b0a000 0x500>, 1084 <0x01b00020 0x10>, 1085 <0x01b10000 0x1000>; 1086 reg-names = "csiphy0", 1087 "csiphy0_clk_mux", 1088 "csiphy1", 1089 "csiphy1_clk_mux", 1090 "csid0", 1091 "csid1", 1092 "ispif", 1093 "csi_clk_mux", 1094 "vfe0"; 1095 interrupts = <GIC_SPI 78 IRQ_TYPE_EDGE_RISING>, 1096 <GIC_SPI 79 IRQ_TYPE_EDGE_RISING>, 1097 <GIC_SPI 51 IRQ_TYPE_EDGE_RISING>, 1098 <GIC_SPI 52 IRQ_TYPE_EDGE_RISING>, 1099 <GIC_SPI 55 IRQ_TYPE_EDGE_RISING>, 1100 <GIC_SPI 57 IRQ_TYPE_EDGE_RISING>; 1101 interrupt-names = "csiphy0", 1102 "csiphy1", 1103 "csid0", 1104 "csid1", 1105 "ispif", 1106 "vfe0"; 1107 power-domains = <&gcc VFE_GDSC>; 1108 clocks = <&gcc GCC_CAMSS_TOP_AHB_CLK>, 1109 <&gcc GCC_CAMSS_ISPIF_AHB_CLK>, 1110 <&gcc GCC_CAMSS_CSI0PHYTIMER_CLK>, 1111 <&gcc GCC_CAMSS_CSI1PHYTIMER_CLK>, 1112 <&gcc GCC_CAMSS_CSI0_AHB_CLK>, 1113 <&gcc GCC_CAMSS_CSI0_CLK>, 1114 <&gcc GCC_CAMSS_CSI0PHY_CLK>, 1115 <&gcc GCC_CAMSS_CSI0PIX_CLK>, 1116 <&gcc GCC_CAMSS_CSI0RDI_CLK>, 1117 <&gcc GCC_CAMSS_CSI1_AHB_CLK>, 1118 <&gcc GCC_CAMSS_CSI1_CLK>, 1119 <&gcc GCC_CAMSS_CSI1PHY_CLK>, 1120 <&gcc GCC_CAMSS_CSI1PIX_CLK>, 1121 <&gcc GCC_CAMSS_CSI1RDI_CLK>, 1122 <&gcc GCC_CAMSS_AHB_CLK>, 1123 <&gcc GCC_CAMSS_VFE0_CLK>, 1124 <&gcc GCC_CAMSS_CSI_VFE0_CLK>, 1125 <&gcc GCC_CAMSS_VFE_AHB_CLK>, 1126 <&gcc GCC_CAMSS_VFE_AXI_CLK>; 1127 clock-names = "top_ahb", 1128 "ispif_ahb", 1129 "csiphy0_timer", 1130 "csiphy1_timer", 1131 "csi0_ahb", 1132 "csi0", 1133 "csi0_phy", 1134 "csi0_pix", 1135 "csi0_rdi", 1136 "csi1_ahb", 1137 "csi1", 1138 "csi1_phy", 1139 "csi1_pix", 1140 "csi1_rdi", 1141 "ahb", 1142 "vfe0", 1143 "csi_vfe0", 1144 "vfe_ahb", 1145 "vfe_axi"; 1146 iommus = <&apps_iommu 3>; 1147 status = "disabled"; 1148 ports { 1149 #address-cells = <1>; 1150 #size-cells = <0>; 1151 }; 1152 }; 1153 1154 cci: cci@1b0c000 { 1155 compatible = "qcom,msm8916-cci"; 1156 #address-cells = <1>; 1157 #size-cells = <0>; 1158 reg = <0x01b0c000 0x1000>; 1159 interrupts = <GIC_SPI 50 IRQ_TYPE_EDGE_RISING>; 1160 clocks = <&gcc GCC_CAMSS_TOP_AHB_CLK>, 1161 <&gcc GCC_CAMSS_CCI_AHB_CLK>, 1162 <&gcc GCC_CAMSS_CCI_CLK>, 1163 <&gcc GCC_CAMSS_AHB_CLK>; 1164 clock-names = "camss_top_ahb", "cci_ahb", 1165 "cci", "camss_ahb"; 1166 assigned-clocks = <&gcc GCC_CAMSS_CCI_AHB_CLK>, 1167 <&gcc GCC_CAMSS_CCI_CLK>; 1168 assigned-clock-rates = <80000000>, <19200000>; 1169 pinctrl-names = "default"; 1170 pinctrl-0 = <&cci0_default>; 1171 status = "disabled"; 1172 1173 cci_i2c0: i2c-bus@0 { 1174 reg = <0>; 1175 clock-frequency = <400000>; 1176 #address-cells = <1>; 1177 #size-cells = <0>; 1178 }; 1179 }; 1180 1181 gpu@1c00000 { 1182 compatible = "qcom,adreno-306.0", "qcom,adreno"; 1183 reg = <0x01c00000 0x20000>; 1184 reg-names = "kgsl_3d0_reg_memory"; 1185 interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>; 1186 interrupt-names = "kgsl_3d0_irq"; 1187 clock-names = 1188 "core", 1189 "iface", 1190 "mem", 1191 "mem_iface", 1192 "alt_mem_iface", 1193 "gfx3d"; 1194 clocks = 1195 <&gcc GCC_OXILI_GFX3D_CLK>, 1196 <&gcc GCC_OXILI_AHB_CLK>, 1197 <&gcc GCC_OXILI_GMEM_CLK>, 1198 <&gcc GCC_BIMC_GFX_CLK>, 1199 <&gcc GCC_BIMC_GPU_CLK>, 1200 <&gcc GFX3D_CLK_SRC>; 1201 power-domains = <&gcc OXILI_GDSC>; 1202 operating-points-v2 = <&gpu_opp_table>; 1203 iommus = <&gpu_iommu 1>, <&gpu_iommu 2>; 1204 1205 gpu_opp_table: opp-table { 1206 compatible = "operating-points-v2"; 1207 1208 opp-400000000 { 1209 opp-hz = /bits/ 64 <400000000>; 1210 }; 1211 opp-19200000 { 1212 opp-hz = /bits/ 64 <19200000>; 1213 }; 1214 }; 1215 }; 1216 1217 venus: video-codec@1d00000 { 1218 compatible = "qcom,msm8916-venus"; 1219 reg = <0x01d00000 0xff000>; 1220 interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>; 1221 power-domains = <&gcc VENUS_GDSC>; 1222 clocks = <&gcc GCC_VENUS0_VCODEC0_CLK>, 1223 <&gcc GCC_VENUS0_AHB_CLK>, 1224 <&gcc GCC_VENUS0_AXI_CLK>; 1225 clock-names = "core", "iface", "bus"; 1226 iommus = <&apps_iommu 5>; 1227 memory-region = <&venus_mem>; 1228 status = "okay"; 1229 1230 video-decoder { 1231 compatible = "venus-decoder"; 1232 }; 1233 1234 video-encoder { 1235 compatible = "venus-encoder"; 1236 }; 1237 }; 1238 1239 apps_iommu: iommu@1ef0000 { 1240 #address-cells = <1>; 1241 #size-cells = <1>; 1242 #iommu-cells = <1>; 1243 compatible = "qcom,msm8916-iommu", "qcom,msm-iommu-v1"; 1244 ranges = <0 0x01e20000 0x40000>; 1245 reg = <0x01ef0000 0x3000>; 1246 clocks = <&gcc GCC_SMMU_CFG_CLK>, 1247 <&gcc GCC_APSS_TCU_CLK>; 1248 clock-names = "iface", "bus"; 1249 qcom,iommu-secure-id = <17>; 1250 1251 // vfe: 1252 iommu-ctx@3000 { 1253 compatible = "qcom,msm-iommu-v1-sec"; 1254 reg = <0x3000 0x1000>; 1255 interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>; 1256 }; 1257 1258 // mdp_0: 1259 iommu-ctx@4000 { 1260 compatible = "qcom,msm-iommu-v1-ns"; 1261 reg = <0x4000 0x1000>; 1262 interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>; 1263 }; 1264 1265 // venus_ns: 1266 iommu-ctx@5000 { 1267 compatible = "qcom,msm-iommu-v1-sec"; 1268 reg = <0x5000 0x1000>; 1269 interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>; 1270 }; 1271 }; 1272 1273 gpu_iommu: iommu@1f08000 { 1274 #address-cells = <1>; 1275 #size-cells = <1>; 1276 #iommu-cells = <1>; 1277 compatible = "qcom,msm8916-iommu", "qcom,msm-iommu-v1"; 1278 ranges = <0 0x01f08000 0x10000>; 1279 clocks = <&gcc GCC_SMMU_CFG_CLK>, 1280 <&gcc GCC_GFX_TCU_CLK>; 1281 clock-names = "iface", "bus"; 1282 qcom,iommu-secure-id = <18>; 1283 1284 // gfx3d_user: 1285 iommu-ctx@1000 { 1286 compatible = "qcom,msm-iommu-v1-ns"; 1287 reg = <0x1000 0x1000>; 1288 interrupts = <GIC_SPI 241 IRQ_TYPE_LEVEL_HIGH>; 1289 }; 1290 1291 // gfx3d_priv: 1292 iommu-ctx@2000 { 1293 compatible = "qcom,msm-iommu-v1-ns"; 1294 reg = <0x2000 0x1000>; 1295 interrupts = <GIC_SPI 242 IRQ_TYPE_LEVEL_HIGH>; 1296 }; 1297 }; 1298 1299 spmi_bus: spmi@200f000 { 1300 compatible = "qcom,spmi-pmic-arb"; 1301 reg = <0x0200f000 0x001000>, 1302 <0x02400000 0x400000>, 1303 <0x02c00000 0x400000>, 1304 <0x03800000 0x200000>, 1305 <0x0200a000 0x002100>; 1306 reg-names = "core", "chnls", "obsrvr", "intr", "cnfg"; 1307 interrupt-names = "periph_irq"; 1308 interrupts = <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>; 1309 qcom,ee = <0>; 1310 qcom,channel = <0>; 1311 #address-cells = <2>; 1312 #size-cells = <0>; 1313 interrupt-controller; 1314 #interrupt-cells = <4>; 1315 }; 1316 1317 mpss: remoteproc@4080000 { 1318 compatible = "qcom,msm8916-mss-pil", "qcom,q6v5-pil"; 1319 reg = <0x04080000 0x100>, 1320 <0x04020000 0x040>; 1321 1322 reg-names = "qdsp6", "rmb"; 1323 1324 interrupts-extended = <&intc GIC_SPI 24 IRQ_TYPE_EDGE_RISING>, 1325 <&hexagon_smp2p_in 0 IRQ_TYPE_EDGE_RISING>, 1326 <&hexagon_smp2p_in 1 IRQ_TYPE_EDGE_RISING>, 1327 <&hexagon_smp2p_in 2 IRQ_TYPE_EDGE_RISING>, 1328 <&hexagon_smp2p_in 3 IRQ_TYPE_EDGE_RISING>; 1329 interrupt-names = "wdog", "fatal", "ready", 1330 "handover", "stop-ack"; 1331 1332 power-domains = <&rpmpd MSM8916_VDDCX>, 1333 <&rpmpd MSM8916_VDDMX>; 1334 power-domain-names = "cx", "mx"; 1335 1336 clocks = <&gcc GCC_MSS_CFG_AHB_CLK>, 1337 <&gcc GCC_MSS_Q6_BIMC_AXI_CLK>, 1338 <&gcc GCC_BOOT_ROM_AHB_CLK>, 1339 <&xo_board>; 1340 clock-names = "iface", "bus", "mem", "xo"; 1341 1342 qcom,smem-states = <&hexagon_smp2p_out 0>; 1343 qcom,smem-state-names = "stop"; 1344 1345 resets = <&scm 0>; 1346 reset-names = "mss_restart"; 1347 1348 qcom,halt-regs = <&tcsr 0x18000 0x19000 0x1a000>; 1349 1350 status = "disabled"; 1351 1352 mba { 1353 memory-region = <&mba_mem>; 1354 }; 1355 1356 mpss { 1357 memory-region = <&mpss_mem>; 1358 }; 1359 1360 smd-edge { 1361 interrupts = <GIC_SPI 25 IRQ_TYPE_EDGE_RISING>; 1362 1363 qcom,smd-edge = <0>; 1364 qcom,ipc = <&apcs 8 12>; 1365 qcom,remote-pid = <1>; 1366 1367 label = "hexagon"; 1368 1369 fastrpc { 1370 compatible = "qcom,fastrpc"; 1371 qcom,smd-channels = "fastrpcsmd-apps-dsp"; 1372 label = "adsp"; 1373 qcom,non-secure-domain; 1374 1375 #address-cells = <1>; 1376 #size-cells = <0>; 1377 1378 cb@1 { 1379 compatible = "qcom,fastrpc-compute-cb"; 1380 reg = <1>; 1381 }; 1382 }; 1383 }; 1384 }; 1385 1386 sound: sound@7702000 { 1387 status = "disabled"; 1388 compatible = "qcom,apq8016-sbc-sndcard"; 1389 reg = <0x07702000 0x4>, <0x07702004 0x4>; 1390 reg-names = "mic-iomux", "spkr-iomux"; 1391 }; 1392 1393 lpass: audio-controller@7708000 { 1394 status = "disabled"; 1395 compatible = "qcom,lpass-cpu-apq8016"; 1396 1397 /* 1398 * Note: Unlike the name would suggest, the SEC_I2S_CLK 1399 * is actually only used by Tertiary MI2S while 1400 * Primary/Secondary MI2S both use the PRI_I2S_CLK. 1401 */ 1402 clocks = <&gcc GCC_ULTAUDIO_AHBFABRIC_IXFABRIC_CLK>, 1403 <&gcc GCC_ULTAUDIO_PCNOC_MPORT_CLK>, 1404 <&gcc GCC_ULTAUDIO_PCNOC_SWAY_CLK>, 1405 <&gcc GCC_ULTAUDIO_LPAIF_PRI_I2S_CLK>, 1406 <&gcc GCC_ULTAUDIO_LPAIF_PRI_I2S_CLK>, 1407 <&gcc GCC_ULTAUDIO_LPAIF_SEC_I2S_CLK>, 1408 <&gcc GCC_ULTAUDIO_LPAIF_AUX_I2S_CLK>; 1409 1410 clock-names = "ahbix-clk", 1411 "pcnoc-mport-clk", 1412 "pcnoc-sway-clk", 1413 "mi2s-bit-clk0", 1414 "mi2s-bit-clk1", 1415 "mi2s-bit-clk2", 1416 "mi2s-bit-clk3"; 1417 #sound-dai-cells = <1>; 1418 1419 interrupts = <GIC_SPI 160 IRQ_TYPE_LEVEL_HIGH>; 1420 interrupt-names = "lpass-irq-lpaif"; 1421 reg = <0x07708000 0x10000>; 1422 reg-names = "lpass-lpaif"; 1423 1424 #address-cells = <1>; 1425 #size-cells = <0>; 1426 }; 1427 1428 lpass_codec: audio-codec@771c000 { 1429 compatible = "qcom,msm8916-wcd-digital-codec"; 1430 reg = <0x0771c000 0x400>; 1431 clocks = <&gcc GCC_ULTAUDIO_AHBFABRIC_IXFABRIC_CLK>, 1432 <&gcc GCC_CODEC_DIGCODEC_CLK>; 1433 clock-names = "ahbix-clk", "mclk"; 1434 #sound-dai-cells = <1>; 1435 }; 1436 1437 sdhc_1: sdhci@7824000 { 1438 compatible = "qcom,msm8916-sdhci", "qcom,sdhci-msm-v4"; 1439 reg = <0x07824900 0x11c>, <0x07824000 0x800>; 1440 reg-names = "hc_mem", "core_mem"; 1441 1442 interrupts = <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>, 1443 <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>; 1444 interrupt-names = "hc_irq", "pwr_irq"; 1445 clocks = <&gcc GCC_SDCC1_APPS_CLK>, 1446 <&gcc GCC_SDCC1_AHB_CLK>, 1447 <&xo_board>; 1448 clock-names = "core", "iface", "xo"; 1449 mmc-ddr-1_8v; 1450 bus-width = <8>; 1451 non-removable; 1452 status = "disabled"; 1453 }; 1454 1455 sdhc_2: sdhci@7864000 { 1456 compatible = "qcom,msm8916-sdhci", "qcom,sdhci-msm-v4"; 1457 reg = <0x07864900 0x11c>, <0x07864000 0x800>; 1458 reg-names = "hc_mem", "core_mem"; 1459 1460 interrupts = <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>, 1461 <GIC_SPI 221 IRQ_TYPE_LEVEL_HIGH>; 1462 interrupt-names = "hc_irq", "pwr_irq"; 1463 clocks = <&gcc GCC_SDCC2_APPS_CLK>, 1464 <&gcc GCC_SDCC2_AHB_CLK>, 1465 <&xo_board>; 1466 clock-names = "core", "iface", "xo"; 1467 bus-width = <4>; 1468 status = "disabled"; 1469 }; 1470 1471 blsp_dma: dma-controller@7884000 { 1472 compatible = "qcom,bam-v1.7.0"; 1473 reg = <0x07884000 0x23000>; 1474 interrupts = <GIC_SPI 238 IRQ_TYPE_LEVEL_HIGH>; 1475 clocks = <&gcc GCC_BLSP1_AHB_CLK>; 1476 clock-names = "bam_clk"; 1477 #dma-cells = <1>; 1478 qcom,ee = <0>; 1479 status = "disabled"; 1480 }; 1481 1482 blsp1_uart1: serial@78af000 { 1483 compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm"; 1484 reg = <0x078af000 0x200>; 1485 interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>; 1486 clocks = <&gcc GCC_BLSP1_UART1_APPS_CLK>, <&gcc GCC_BLSP1_AHB_CLK>; 1487 clock-names = "core", "iface"; 1488 dmas = <&blsp_dma 1>, <&blsp_dma 0>; 1489 dma-names = "rx", "tx"; 1490 pinctrl-names = "default", "sleep"; 1491 pinctrl-0 = <&blsp1_uart1_default>; 1492 pinctrl-1 = <&blsp1_uart1_sleep>; 1493 status = "disabled"; 1494 }; 1495 1496 blsp1_uart2: serial@78b0000 { 1497 compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm"; 1498 reg = <0x078b0000 0x200>; 1499 interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>; 1500 clocks = <&gcc GCC_BLSP1_UART2_APPS_CLK>, <&gcc GCC_BLSP1_AHB_CLK>; 1501 clock-names = "core", "iface"; 1502 dmas = <&blsp_dma 3>, <&blsp_dma 2>; 1503 dma-names = "rx", "tx"; 1504 pinctrl-names = "default", "sleep"; 1505 pinctrl-0 = <&blsp1_uart2_default>; 1506 pinctrl-1 = <&blsp1_uart2_sleep>; 1507 status = "disabled"; 1508 }; 1509 1510 blsp_i2c1: i2c@78b5000 { 1511 compatible = "qcom,i2c-qup-v2.2.1"; 1512 reg = <0x078b5000 0x500>; 1513 interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>; 1514 clocks = <&gcc GCC_BLSP1_AHB_CLK>, 1515 <&gcc GCC_BLSP1_QUP1_I2C_APPS_CLK>; 1516 clock-names = "iface", "core"; 1517 pinctrl-names = "default", "sleep"; 1518 pinctrl-0 = <&i2c1_default>; 1519 pinctrl-1 = <&i2c1_sleep>; 1520 #address-cells = <1>; 1521 #size-cells = <0>; 1522 status = "disabled"; 1523 }; 1524 1525 blsp_spi1: spi@78b5000 { 1526 compatible = "qcom,spi-qup-v2.2.1"; 1527 reg = <0x078b5000 0x500>; 1528 interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>; 1529 clocks = <&gcc GCC_BLSP1_QUP1_SPI_APPS_CLK>, 1530 <&gcc GCC_BLSP1_AHB_CLK>; 1531 clock-names = "core", "iface"; 1532 dmas = <&blsp_dma 5>, <&blsp_dma 4>; 1533 dma-names = "rx", "tx"; 1534 pinctrl-names = "default", "sleep"; 1535 pinctrl-0 = <&spi1_default>; 1536 pinctrl-1 = <&spi1_sleep>; 1537 #address-cells = <1>; 1538 #size-cells = <0>; 1539 status = "disabled"; 1540 }; 1541 1542 blsp_i2c2: i2c@78b6000 { 1543 compatible = "qcom,i2c-qup-v2.2.1"; 1544 reg = <0x078b6000 0x500>; 1545 interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>; 1546 clocks = <&gcc GCC_BLSP1_AHB_CLK>, 1547 <&gcc GCC_BLSP1_QUP2_I2C_APPS_CLK>; 1548 clock-names = "iface", "core"; 1549 pinctrl-names = "default", "sleep"; 1550 pinctrl-0 = <&i2c2_default>; 1551 pinctrl-1 = <&i2c2_sleep>; 1552 #address-cells = <1>; 1553 #size-cells = <0>; 1554 status = "disabled"; 1555 }; 1556 1557 blsp_spi2: spi@78b6000 { 1558 compatible = "qcom,spi-qup-v2.2.1"; 1559 reg = <0x078b6000 0x500>; 1560 interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>; 1561 clocks = <&gcc GCC_BLSP1_QUP2_SPI_APPS_CLK>, 1562 <&gcc GCC_BLSP1_AHB_CLK>; 1563 clock-names = "core", "iface"; 1564 dmas = <&blsp_dma 7>, <&blsp_dma 6>; 1565 dma-names = "rx", "tx"; 1566 pinctrl-names = "default", "sleep"; 1567 pinctrl-0 = <&spi2_default>; 1568 pinctrl-1 = <&spi2_sleep>; 1569 #address-cells = <1>; 1570 #size-cells = <0>; 1571 status = "disabled"; 1572 }; 1573 1574 blsp_i2c3: i2c@78b7000 { 1575 compatible = "qcom,i2c-qup-v2.2.1"; 1576 reg = <0x078b7000 0x500>; 1577 interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>; 1578 clocks = <&gcc GCC_BLSP1_AHB_CLK>, 1579 <&gcc GCC_BLSP1_QUP3_I2C_APPS_CLK>; 1580 clock-names = "iface", "core"; 1581 pinctrl-names = "default", "sleep"; 1582 pinctrl-0 = <&i2c3_default>; 1583 pinctrl-1 = <&i2c3_sleep>; 1584 #address-cells = <1>; 1585 #size-cells = <0>; 1586 status = "disabled"; 1587 }; 1588 1589 blsp_spi3: spi@78b7000 { 1590 compatible = "qcom,spi-qup-v2.2.1"; 1591 reg = <0x078b7000 0x500>; 1592 interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>; 1593 clocks = <&gcc GCC_BLSP1_QUP3_SPI_APPS_CLK>, 1594 <&gcc GCC_BLSP1_AHB_CLK>; 1595 clock-names = "core", "iface"; 1596 dmas = <&blsp_dma 9>, <&blsp_dma 8>; 1597 dma-names = "rx", "tx"; 1598 pinctrl-names = "default", "sleep"; 1599 pinctrl-0 = <&spi3_default>; 1600 pinctrl-1 = <&spi3_sleep>; 1601 #address-cells = <1>; 1602 #size-cells = <0>; 1603 status = "disabled"; 1604 }; 1605 1606 blsp_i2c4: i2c@78b8000 { 1607 compatible = "qcom,i2c-qup-v2.2.1"; 1608 reg = <0x078b8000 0x500>; 1609 interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>; 1610 clocks = <&gcc GCC_BLSP1_AHB_CLK>, 1611 <&gcc GCC_BLSP1_QUP4_I2C_APPS_CLK>; 1612 clock-names = "iface", "core"; 1613 pinctrl-names = "default", "sleep"; 1614 pinctrl-0 = <&i2c4_default>; 1615 pinctrl-1 = <&i2c4_sleep>; 1616 #address-cells = <1>; 1617 #size-cells = <0>; 1618 status = "disabled"; 1619 }; 1620 1621 blsp_spi4: spi@78b8000 { 1622 compatible = "qcom,spi-qup-v2.2.1"; 1623 reg = <0x078b8000 0x500>; 1624 interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>; 1625 clocks = <&gcc GCC_BLSP1_QUP4_SPI_APPS_CLK>, 1626 <&gcc GCC_BLSP1_AHB_CLK>; 1627 clock-names = "core", "iface"; 1628 dmas = <&blsp_dma 11>, <&blsp_dma 10>; 1629 dma-names = "rx", "tx"; 1630 pinctrl-names = "default", "sleep"; 1631 pinctrl-0 = <&spi4_default>; 1632 pinctrl-1 = <&spi4_sleep>; 1633 #address-cells = <1>; 1634 #size-cells = <0>; 1635 status = "disabled"; 1636 }; 1637 1638 blsp_i2c5: i2c@78b9000 { 1639 compatible = "qcom,i2c-qup-v2.2.1"; 1640 reg = <0x078b9000 0x500>; 1641 interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>; 1642 clocks = <&gcc GCC_BLSP1_AHB_CLK>, 1643 <&gcc GCC_BLSP1_QUP5_I2C_APPS_CLK>; 1644 clock-names = "iface", "core"; 1645 pinctrl-names = "default", "sleep"; 1646 pinctrl-0 = <&i2c5_default>; 1647 pinctrl-1 = <&i2c5_sleep>; 1648 #address-cells = <1>; 1649 #size-cells = <0>; 1650 status = "disabled"; 1651 }; 1652 1653 blsp_spi5: spi@78b9000 { 1654 compatible = "qcom,spi-qup-v2.2.1"; 1655 reg = <0x078b9000 0x500>; 1656 interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>; 1657 clocks = <&gcc GCC_BLSP1_QUP5_SPI_APPS_CLK>, 1658 <&gcc GCC_BLSP1_AHB_CLK>; 1659 clock-names = "core", "iface"; 1660 dmas = <&blsp_dma 13>, <&blsp_dma 12>; 1661 dma-names = "rx", "tx"; 1662 pinctrl-names = "default", "sleep"; 1663 pinctrl-0 = <&spi5_default>; 1664 pinctrl-1 = <&spi5_sleep>; 1665 #address-cells = <1>; 1666 #size-cells = <0>; 1667 status = "disabled"; 1668 }; 1669 1670 blsp_i2c6: i2c@78ba000 { 1671 compatible = "qcom,i2c-qup-v2.2.1"; 1672 reg = <0x078ba000 0x500>; 1673 interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>; 1674 clocks = <&gcc GCC_BLSP1_AHB_CLK>, 1675 <&gcc GCC_BLSP1_QUP6_I2C_APPS_CLK>; 1676 clock-names = "iface", "core"; 1677 pinctrl-names = "default", "sleep"; 1678 pinctrl-0 = <&i2c6_default>; 1679 pinctrl-1 = <&i2c6_sleep>; 1680 #address-cells = <1>; 1681 #size-cells = <0>; 1682 status = "disabled"; 1683 }; 1684 1685 blsp_spi6: spi@78ba000 { 1686 compatible = "qcom,spi-qup-v2.2.1"; 1687 reg = <0x078ba000 0x500>; 1688 interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>; 1689 clocks = <&gcc GCC_BLSP1_QUP6_SPI_APPS_CLK>, 1690 <&gcc GCC_BLSP1_AHB_CLK>; 1691 clock-names = "core", "iface"; 1692 dmas = <&blsp_dma 15>, <&blsp_dma 14>; 1693 dma-names = "rx", "tx"; 1694 pinctrl-names = "default", "sleep"; 1695 pinctrl-0 = <&spi6_default>; 1696 pinctrl-1 = <&spi6_sleep>; 1697 #address-cells = <1>; 1698 #size-cells = <0>; 1699 status = "disabled"; 1700 }; 1701 1702 usb: usb@78d9000 { 1703 compatible = "qcom,ci-hdrc"; 1704 reg = <0x078d9000 0x200>, 1705 <0x078d9200 0x200>; 1706 interrupts = <GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>, 1707 <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>; 1708 clocks = <&gcc GCC_USB_HS_AHB_CLK>, 1709 <&gcc GCC_USB_HS_SYSTEM_CLK>; 1710 clock-names = "iface", "core"; 1711 assigned-clocks = <&gcc GCC_USB_HS_SYSTEM_CLK>; 1712 assigned-clock-rates = <80000000>; 1713 resets = <&gcc GCC_USB_HS_BCR>; 1714 reset-names = "core"; 1715 phy_type = "ulpi"; 1716 dr_mode = "otg"; 1717 hnp-disable; 1718 srp-disable; 1719 adp-disable; 1720 ahb-burst-config = <0>; 1721 phy-names = "usb-phy"; 1722 phys = <&usb_hs_phy>; 1723 status = "disabled"; 1724 #reset-cells = <1>; 1725 1726 ulpi { 1727 usb_hs_phy: phy { 1728 compatible = "qcom,usb-hs-phy-msm8916", 1729 "qcom,usb-hs-phy"; 1730 #phy-cells = <0>; 1731 clocks = <&xo_board>, <&gcc GCC_USB2A_PHY_SLEEP_CLK>; 1732 clock-names = "ref", "sleep"; 1733 resets = <&gcc GCC_USB2A_PHY_BCR>, <&usb 0>; 1734 reset-names = "phy", "por"; 1735 qcom,init-seq = /bits/ 8 <0x0 0x44>, 1736 <0x1 0x6b>, 1737 <0x2 0x24>, 1738 <0x3 0x13>; 1739 }; 1740 }; 1741 }; 1742 1743 pronto: remoteproc@a21b000 { 1744 compatible = "qcom,pronto-v2-pil", "qcom,pronto"; 1745 reg = <0x0a204000 0x2000>, <0x0a202000 0x1000>, <0x0a21b000 0x3000>; 1746 reg-names = "ccu", "dxe", "pmu"; 1747 1748 memory-region = <&wcnss_mem>; 1749 1750 interrupts-extended = <&intc GIC_SPI 149 IRQ_TYPE_EDGE_RISING>, 1751 <&wcnss_smp2p_in 0 IRQ_TYPE_EDGE_RISING>, 1752 <&wcnss_smp2p_in 1 IRQ_TYPE_EDGE_RISING>, 1753 <&wcnss_smp2p_in 2 IRQ_TYPE_EDGE_RISING>, 1754 <&wcnss_smp2p_in 3 IRQ_TYPE_EDGE_RISING>; 1755 interrupt-names = "wdog", "fatal", "ready", "handover", "stop-ack"; 1756 1757 power-domains = <&rpmpd MSM8916_VDDCX>, 1758 <&rpmpd MSM8916_VDDMX>; 1759 power-domain-names = "cx", "mx"; 1760 1761 qcom,state = <&wcnss_smp2p_out 0>; 1762 qcom,state-names = "stop"; 1763 1764 pinctrl-names = "default"; 1765 pinctrl-0 = <&wcnss_pin_a>; 1766 1767 status = "disabled"; 1768 1769 iris { 1770 compatible = "qcom,wcn3620"; 1771 1772 clocks = <&rpmcc RPM_SMD_RF_CLK2>; 1773 clock-names = "xo"; 1774 }; 1775 1776 smd-edge { 1777 interrupts = <GIC_SPI 142 IRQ_TYPE_EDGE_RISING>; 1778 1779 qcom,ipc = <&apcs 8 17>; 1780 qcom,smd-edge = <6>; 1781 qcom,remote-pid = <4>; 1782 1783 label = "pronto"; 1784 1785 wcnss_ctrl: wcnss { 1786 compatible = "qcom,wcnss"; 1787 qcom,smd-channels = "WCNSS_CTRL"; 1788 1789 qcom,mmio = <&pronto>; 1790 1791 bt { 1792 compatible = "qcom,wcnss-bt"; 1793 }; 1794 1795 wifi { 1796 compatible = "qcom,wcnss-wlan"; 1797 1798 interrupts = <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>, 1799 <GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>; 1800 interrupt-names = "tx", "rx"; 1801 1802 qcom,smem-states = <&apps_smsm 10>, <&apps_smsm 9>; 1803 qcom,smem-state-names = "tx-enable", "tx-rings-empty"; 1804 }; 1805 }; 1806 }; 1807 }; 1808 1809 intc: interrupt-controller@b000000 { 1810 compatible = "qcom,msm-qgic2"; 1811 interrupt-controller; 1812 #interrupt-cells = <3>; 1813 reg = <0x0b000000 0x1000>, <0x0b002000 0x2000>, 1814 <0x0b001000 0x1000>, <0x0b004000 0x2000>; 1815 interrupts = <GIC_PPI 0 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>; 1816 }; 1817 1818 apcs: mailbox@b011000 { 1819 compatible = "qcom,msm8916-apcs-kpss-global", "syscon"; 1820 reg = <0x0b011000 0x1000>; 1821 #mbox-cells = <1>; 1822 clocks = <&a53pll>, <&gcc GPLL0_VOTE>; 1823 clock-names = "pll", "aux"; 1824 #clock-cells = <0>; 1825 }; 1826 1827 a53pll: clock@b016000 { 1828 compatible = "qcom,msm8916-a53pll"; 1829 reg = <0x0b016000 0x40>; 1830 #clock-cells = <0>; 1831 }; 1832 1833 timer@b020000 { 1834 #address-cells = <1>; 1835 #size-cells = <1>; 1836 ranges; 1837 compatible = "arm,armv7-timer-mem"; 1838 reg = <0x0b020000 0x1000>; 1839 clock-frequency = <19200000>; 1840 1841 frame@b021000 { 1842 frame-number = <0>; 1843 interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>, 1844 <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>; 1845 reg = <0x0b021000 0x1000>, 1846 <0x0b022000 0x1000>; 1847 }; 1848 1849 frame@b023000 { 1850 frame-number = <1>; 1851 interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>; 1852 reg = <0x0b023000 0x1000>; 1853 status = "disabled"; 1854 }; 1855 1856 frame@b024000 { 1857 frame-number = <2>; 1858 interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>; 1859 reg = <0x0b024000 0x1000>; 1860 status = "disabled"; 1861 }; 1862 1863 frame@b025000 { 1864 frame-number = <3>; 1865 interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>; 1866 reg = <0x0b025000 0x1000>; 1867 status = "disabled"; 1868 }; 1869 1870 frame@b026000 { 1871 frame-number = <4>; 1872 interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>; 1873 reg = <0x0b026000 0x1000>; 1874 status = "disabled"; 1875 }; 1876 1877 frame@b027000 { 1878 frame-number = <5>; 1879 interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>; 1880 reg = <0x0b027000 0x1000>; 1881 status = "disabled"; 1882 }; 1883 1884 frame@b028000 { 1885 frame-number = <6>; 1886 interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>; 1887 reg = <0x0b028000 0x1000>; 1888 status = "disabled"; 1889 }; 1890 }; 1891 1892 cpu0_acc: power-manager@b088000 { 1893 compatible = "qcom,msm8916-acc"; 1894 reg = <0x0b088000 0x1000>; 1895 status = "reserved"; /* Controlled by PSCI firmware */ 1896 }; 1897 1898 cpu0_saw: power-manager@b089000 { 1899 compatible = "qcom,msm8916-saw2-v3.0-cpu", "qcom,saw2"; 1900 reg = <0x0b089000 0x1000>; 1901 status = "reserved"; /* Controlled by PSCI firmware */ 1902 }; 1903 1904 cpu1_acc: power-manager@b098000 { 1905 compatible = "qcom,msm8916-acc"; 1906 reg = <0x0b098000 0x1000>; 1907 status = "reserved"; /* Controlled by PSCI firmware */ 1908 }; 1909 1910 cpu1_saw: power-manager@b099000 { 1911 compatible = "qcom,msm8916-saw2-v3.0-cpu", "qcom,saw2"; 1912 reg = <0x0b099000 0x1000>; 1913 status = "reserved"; /* Controlled by PSCI firmware */ 1914 }; 1915 1916 cpu2_acc: power-manager@b0a8000 { 1917 compatible = "qcom,msm8916-acc"; 1918 reg = <0x0b0a8000 0x1000>; 1919 status = "reserved"; /* Controlled by PSCI firmware */ 1920 }; 1921 1922 cpu2_saw: power-manager@b0a9000 { 1923 compatible = "qcom,msm8916-saw2-v3.0-cpu", "qcom,saw2"; 1924 reg = <0x0b0a9000 0x1000>; 1925 status = "reserved"; /* Controlled by PSCI firmware */ 1926 }; 1927 1928 cpu3_acc: power-manager@b0b8000 { 1929 compatible = "qcom,msm8916-acc"; 1930 reg = <0x0b0b8000 0x1000>; 1931 status = "reserved"; /* Controlled by PSCI firmware */ 1932 }; 1933 1934 cpu3_saw: power-manager@b0b9000 { 1935 compatible = "qcom,msm8916-saw2-v3.0-cpu", "qcom,saw2"; 1936 reg = <0x0b0b9000 0x1000>; 1937 status = "reserved"; /* Controlled by PSCI firmware */ 1938 }; 1939 }; 1940 1941 thermal-zones { 1942 cpu0-1-thermal { 1943 polling-delay-passive = <250>; 1944 polling-delay = <1000>; 1945 1946 thermal-sensors = <&tsens 5>; 1947 1948 trips { 1949 cpu0_1_alert0: trip-point0 { 1950 temperature = <75000>; 1951 hysteresis = <2000>; 1952 type = "passive"; 1953 }; 1954 cpu0_1_crit: cpu_crit { 1955 temperature = <110000>; 1956 hysteresis = <2000>; 1957 type = "critical"; 1958 }; 1959 }; 1960 1961 cooling-maps { 1962 map0 { 1963 trip = <&cpu0_1_alert0>; 1964 cooling-device = <&CPU0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 1965 <&CPU1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 1966 <&CPU2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 1967 <&CPU3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; 1968 }; 1969 }; 1970 }; 1971 1972 cpu2-3-thermal { 1973 polling-delay-passive = <250>; 1974 polling-delay = <1000>; 1975 1976 thermal-sensors = <&tsens 4>; 1977 1978 trips { 1979 cpu2_3_alert0: trip-point0 { 1980 temperature = <75000>; 1981 hysteresis = <2000>; 1982 type = "passive"; 1983 }; 1984 cpu2_3_crit: cpu_crit { 1985 temperature = <110000>; 1986 hysteresis = <2000>; 1987 type = "critical"; 1988 }; 1989 }; 1990 1991 cooling-maps { 1992 map0 { 1993 trip = <&cpu2_3_alert0>; 1994 cooling-device = <&CPU0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 1995 <&CPU1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 1996 <&CPU2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 1997 <&CPU3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; 1998 }; 1999 }; 2000 }; 2001 2002 gpu-thermal { 2003 polling-delay-passive = <250>; 2004 polling-delay = <1000>; 2005 2006 thermal-sensors = <&tsens 2>; 2007 2008 trips { 2009 gpu_alert0: trip-point0 { 2010 temperature = <75000>; 2011 hysteresis = <2000>; 2012 type = "passive"; 2013 }; 2014 gpu_crit: gpu_crit { 2015 temperature = <95000>; 2016 hysteresis = <2000>; 2017 type = "critical"; 2018 }; 2019 }; 2020 }; 2021 2022 camera-thermal { 2023 polling-delay-passive = <250>; 2024 polling-delay = <1000>; 2025 2026 thermal-sensors = <&tsens 1>; 2027 2028 trips { 2029 cam_alert0: trip-point0 { 2030 temperature = <75000>; 2031 hysteresis = <2000>; 2032 type = "hot"; 2033 }; 2034 }; 2035 }; 2036 2037 modem-thermal { 2038 polling-delay-passive = <250>; 2039 polling-delay = <1000>; 2040 2041 thermal-sensors = <&tsens 0>; 2042 2043 trips { 2044 modem_alert0: trip-point0 { 2045 temperature = <85000>; 2046 hysteresis = <2000>; 2047 type = "hot"; 2048 }; 2049 }; 2050 }; 2051 2052 }; 2053 2054 timer { 2055 compatible = "arm,armv8-timer"; 2056 interrupts = <GIC_PPI 2 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 2057 <GIC_PPI 3 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 2058 <GIC_PPI 4 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 2059 <GIC_PPI 1 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>; 2060 }; 2061}; 2062 2063#include "msm8916-pins.dtsi" 2064