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 1374 #address-cells = <1>; 1375 #size-cells = <0>; 1376 1377 cb@1 { 1378 compatible = "qcom,fastrpc-compute-cb"; 1379 reg = <1>; 1380 }; 1381 }; 1382 }; 1383 }; 1384 1385 sound: sound@7702000 { 1386 status = "disabled"; 1387 compatible = "qcom,apq8016-sbc-sndcard"; 1388 reg = <0x07702000 0x4>, <0x07702004 0x4>; 1389 reg-names = "mic-iomux", "spkr-iomux"; 1390 }; 1391 1392 lpass: audio-controller@7708000 { 1393 status = "disabled"; 1394 compatible = "qcom,lpass-cpu-apq8016"; 1395 1396 /* 1397 * Note: Unlike the name would suggest, the SEC_I2S_CLK 1398 * is actually only used by Tertiary MI2S while 1399 * Primary/Secondary MI2S both use the PRI_I2S_CLK. 1400 */ 1401 clocks = <&gcc GCC_ULTAUDIO_AHBFABRIC_IXFABRIC_CLK>, 1402 <&gcc GCC_ULTAUDIO_PCNOC_MPORT_CLK>, 1403 <&gcc GCC_ULTAUDIO_PCNOC_SWAY_CLK>, 1404 <&gcc GCC_ULTAUDIO_LPAIF_PRI_I2S_CLK>, 1405 <&gcc GCC_ULTAUDIO_LPAIF_PRI_I2S_CLK>, 1406 <&gcc GCC_ULTAUDIO_LPAIF_SEC_I2S_CLK>, 1407 <&gcc GCC_ULTAUDIO_LPAIF_AUX_I2S_CLK>; 1408 1409 clock-names = "ahbix-clk", 1410 "pcnoc-mport-clk", 1411 "pcnoc-sway-clk", 1412 "mi2s-bit-clk0", 1413 "mi2s-bit-clk1", 1414 "mi2s-bit-clk2", 1415 "mi2s-bit-clk3"; 1416 #sound-dai-cells = <1>; 1417 1418 interrupts = <GIC_SPI 160 IRQ_TYPE_LEVEL_HIGH>; 1419 interrupt-names = "lpass-irq-lpaif"; 1420 reg = <0x07708000 0x10000>; 1421 reg-names = "lpass-lpaif"; 1422 1423 #address-cells = <1>; 1424 #size-cells = <0>; 1425 }; 1426 1427 lpass_codec: audio-codec@771c000 { 1428 compatible = "qcom,msm8916-wcd-digital-codec"; 1429 reg = <0x0771c000 0x400>; 1430 clocks = <&gcc GCC_ULTAUDIO_AHBFABRIC_IXFABRIC_CLK>, 1431 <&gcc GCC_CODEC_DIGCODEC_CLK>; 1432 clock-names = "ahbix-clk", "mclk"; 1433 #sound-dai-cells = <1>; 1434 }; 1435 1436 sdhc_1: sdhci@7824000 { 1437 compatible = "qcom,msm8916-sdhci", "qcom,sdhci-msm-v4"; 1438 reg = <0x07824900 0x11c>, <0x07824000 0x800>; 1439 reg-names = "hc_mem", "core_mem"; 1440 1441 interrupts = <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>, 1442 <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>; 1443 interrupt-names = "hc_irq", "pwr_irq"; 1444 clocks = <&gcc GCC_SDCC1_APPS_CLK>, 1445 <&gcc GCC_SDCC1_AHB_CLK>, 1446 <&xo_board>; 1447 clock-names = "core", "iface", "xo"; 1448 mmc-ddr-1_8v; 1449 bus-width = <8>; 1450 non-removable; 1451 status = "disabled"; 1452 }; 1453 1454 sdhc_2: sdhci@7864000 { 1455 compatible = "qcom,msm8916-sdhci", "qcom,sdhci-msm-v4"; 1456 reg = <0x07864900 0x11c>, <0x07864000 0x800>; 1457 reg-names = "hc_mem", "core_mem"; 1458 1459 interrupts = <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>, 1460 <GIC_SPI 221 IRQ_TYPE_LEVEL_HIGH>; 1461 interrupt-names = "hc_irq", "pwr_irq"; 1462 clocks = <&gcc GCC_SDCC2_APPS_CLK>, 1463 <&gcc GCC_SDCC2_AHB_CLK>, 1464 <&xo_board>; 1465 clock-names = "core", "iface", "xo"; 1466 bus-width = <4>; 1467 status = "disabled"; 1468 }; 1469 1470 blsp_dma: dma-controller@7884000 { 1471 compatible = "qcom,bam-v1.7.0"; 1472 reg = <0x07884000 0x23000>; 1473 interrupts = <GIC_SPI 238 IRQ_TYPE_LEVEL_HIGH>; 1474 clocks = <&gcc GCC_BLSP1_AHB_CLK>; 1475 clock-names = "bam_clk"; 1476 #dma-cells = <1>; 1477 qcom,ee = <0>; 1478 status = "disabled"; 1479 }; 1480 1481 blsp1_uart1: serial@78af000 { 1482 compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm"; 1483 reg = <0x078af000 0x200>; 1484 interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>; 1485 clocks = <&gcc GCC_BLSP1_UART1_APPS_CLK>, <&gcc GCC_BLSP1_AHB_CLK>; 1486 clock-names = "core", "iface"; 1487 dmas = <&blsp_dma 1>, <&blsp_dma 0>; 1488 dma-names = "rx", "tx"; 1489 pinctrl-names = "default", "sleep"; 1490 pinctrl-0 = <&blsp1_uart1_default>; 1491 pinctrl-1 = <&blsp1_uart1_sleep>; 1492 status = "disabled"; 1493 }; 1494 1495 blsp1_uart2: serial@78b0000 { 1496 compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm"; 1497 reg = <0x078b0000 0x200>; 1498 interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>; 1499 clocks = <&gcc GCC_BLSP1_UART2_APPS_CLK>, <&gcc GCC_BLSP1_AHB_CLK>; 1500 clock-names = "core", "iface"; 1501 dmas = <&blsp_dma 3>, <&blsp_dma 2>; 1502 dma-names = "rx", "tx"; 1503 pinctrl-names = "default", "sleep"; 1504 pinctrl-0 = <&blsp1_uart2_default>; 1505 pinctrl-1 = <&blsp1_uart2_sleep>; 1506 status = "disabled"; 1507 }; 1508 1509 blsp_i2c1: i2c@78b5000 { 1510 compatible = "qcom,i2c-qup-v2.2.1"; 1511 reg = <0x078b5000 0x500>; 1512 interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>; 1513 clocks = <&gcc GCC_BLSP1_AHB_CLK>, 1514 <&gcc GCC_BLSP1_QUP1_I2C_APPS_CLK>; 1515 clock-names = "iface", "core"; 1516 pinctrl-names = "default", "sleep"; 1517 pinctrl-0 = <&i2c1_default>; 1518 pinctrl-1 = <&i2c1_sleep>; 1519 #address-cells = <1>; 1520 #size-cells = <0>; 1521 status = "disabled"; 1522 }; 1523 1524 blsp_spi1: spi@78b5000 { 1525 compatible = "qcom,spi-qup-v2.2.1"; 1526 reg = <0x078b5000 0x500>; 1527 interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>; 1528 clocks = <&gcc GCC_BLSP1_QUP1_SPI_APPS_CLK>, 1529 <&gcc GCC_BLSP1_AHB_CLK>; 1530 clock-names = "core", "iface"; 1531 dmas = <&blsp_dma 5>, <&blsp_dma 4>; 1532 dma-names = "rx", "tx"; 1533 pinctrl-names = "default", "sleep"; 1534 pinctrl-0 = <&spi1_default>; 1535 pinctrl-1 = <&spi1_sleep>; 1536 #address-cells = <1>; 1537 #size-cells = <0>; 1538 status = "disabled"; 1539 }; 1540 1541 blsp_i2c2: i2c@78b6000 { 1542 compatible = "qcom,i2c-qup-v2.2.1"; 1543 reg = <0x078b6000 0x500>; 1544 interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>; 1545 clocks = <&gcc GCC_BLSP1_AHB_CLK>, 1546 <&gcc GCC_BLSP1_QUP2_I2C_APPS_CLK>; 1547 clock-names = "iface", "core"; 1548 pinctrl-names = "default", "sleep"; 1549 pinctrl-0 = <&i2c2_default>; 1550 pinctrl-1 = <&i2c2_sleep>; 1551 #address-cells = <1>; 1552 #size-cells = <0>; 1553 status = "disabled"; 1554 }; 1555 1556 blsp_spi2: spi@78b6000 { 1557 compatible = "qcom,spi-qup-v2.2.1"; 1558 reg = <0x078b6000 0x500>; 1559 interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>; 1560 clocks = <&gcc GCC_BLSP1_QUP2_SPI_APPS_CLK>, 1561 <&gcc GCC_BLSP1_AHB_CLK>; 1562 clock-names = "core", "iface"; 1563 dmas = <&blsp_dma 7>, <&blsp_dma 6>; 1564 dma-names = "rx", "tx"; 1565 pinctrl-names = "default", "sleep"; 1566 pinctrl-0 = <&spi2_default>; 1567 pinctrl-1 = <&spi2_sleep>; 1568 #address-cells = <1>; 1569 #size-cells = <0>; 1570 status = "disabled"; 1571 }; 1572 1573 blsp_i2c3: i2c@78b7000 { 1574 compatible = "qcom,i2c-qup-v2.2.1"; 1575 reg = <0x078b7000 0x500>; 1576 interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>; 1577 clocks = <&gcc GCC_BLSP1_AHB_CLK>, 1578 <&gcc GCC_BLSP1_QUP3_I2C_APPS_CLK>; 1579 clock-names = "iface", "core"; 1580 pinctrl-names = "default", "sleep"; 1581 pinctrl-0 = <&i2c3_default>; 1582 pinctrl-1 = <&i2c3_sleep>; 1583 #address-cells = <1>; 1584 #size-cells = <0>; 1585 status = "disabled"; 1586 }; 1587 1588 blsp_spi3: spi@78b7000 { 1589 compatible = "qcom,spi-qup-v2.2.1"; 1590 reg = <0x078b7000 0x500>; 1591 interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>; 1592 clocks = <&gcc GCC_BLSP1_QUP3_SPI_APPS_CLK>, 1593 <&gcc GCC_BLSP1_AHB_CLK>; 1594 clock-names = "core", "iface"; 1595 dmas = <&blsp_dma 9>, <&blsp_dma 8>; 1596 dma-names = "rx", "tx"; 1597 pinctrl-names = "default", "sleep"; 1598 pinctrl-0 = <&spi3_default>; 1599 pinctrl-1 = <&spi3_sleep>; 1600 #address-cells = <1>; 1601 #size-cells = <0>; 1602 status = "disabled"; 1603 }; 1604 1605 blsp_i2c4: i2c@78b8000 { 1606 compatible = "qcom,i2c-qup-v2.2.1"; 1607 reg = <0x078b8000 0x500>; 1608 interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>; 1609 clocks = <&gcc GCC_BLSP1_AHB_CLK>, 1610 <&gcc GCC_BLSP1_QUP4_I2C_APPS_CLK>; 1611 clock-names = "iface", "core"; 1612 pinctrl-names = "default", "sleep"; 1613 pinctrl-0 = <&i2c4_default>; 1614 pinctrl-1 = <&i2c4_sleep>; 1615 #address-cells = <1>; 1616 #size-cells = <0>; 1617 status = "disabled"; 1618 }; 1619 1620 blsp_spi4: spi@78b8000 { 1621 compatible = "qcom,spi-qup-v2.2.1"; 1622 reg = <0x078b8000 0x500>; 1623 interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>; 1624 clocks = <&gcc GCC_BLSP1_QUP4_SPI_APPS_CLK>, 1625 <&gcc GCC_BLSP1_AHB_CLK>; 1626 clock-names = "core", "iface"; 1627 dmas = <&blsp_dma 11>, <&blsp_dma 10>; 1628 dma-names = "rx", "tx"; 1629 pinctrl-names = "default", "sleep"; 1630 pinctrl-0 = <&spi4_default>; 1631 pinctrl-1 = <&spi4_sleep>; 1632 #address-cells = <1>; 1633 #size-cells = <0>; 1634 status = "disabled"; 1635 }; 1636 1637 blsp_i2c5: i2c@78b9000 { 1638 compatible = "qcom,i2c-qup-v2.2.1"; 1639 reg = <0x078b9000 0x500>; 1640 interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>; 1641 clocks = <&gcc GCC_BLSP1_AHB_CLK>, 1642 <&gcc GCC_BLSP1_QUP5_I2C_APPS_CLK>; 1643 clock-names = "iface", "core"; 1644 pinctrl-names = "default", "sleep"; 1645 pinctrl-0 = <&i2c5_default>; 1646 pinctrl-1 = <&i2c5_sleep>; 1647 #address-cells = <1>; 1648 #size-cells = <0>; 1649 status = "disabled"; 1650 }; 1651 1652 blsp_spi5: spi@78b9000 { 1653 compatible = "qcom,spi-qup-v2.2.1"; 1654 reg = <0x078b9000 0x500>; 1655 interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>; 1656 clocks = <&gcc GCC_BLSP1_QUP5_SPI_APPS_CLK>, 1657 <&gcc GCC_BLSP1_AHB_CLK>; 1658 clock-names = "core", "iface"; 1659 dmas = <&blsp_dma 13>, <&blsp_dma 12>; 1660 dma-names = "rx", "tx"; 1661 pinctrl-names = "default", "sleep"; 1662 pinctrl-0 = <&spi5_default>; 1663 pinctrl-1 = <&spi5_sleep>; 1664 #address-cells = <1>; 1665 #size-cells = <0>; 1666 status = "disabled"; 1667 }; 1668 1669 blsp_i2c6: i2c@78ba000 { 1670 compatible = "qcom,i2c-qup-v2.2.1"; 1671 reg = <0x078ba000 0x500>; 1672 interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>; 1673 clocks = <&gcc GCC_BLSP1_AHB_CLK>, 1674 <&gcc GCC_BLSP1_QUP6_I2C_APPS_CLK>; 1675 clock-names = "iface", "core"; 1676 pinctrl-names = "default", "sleep"; 1677 pinctrl-0 = <&i2c6_default>; 1678 pinctrl-1 = <&i2c6_sleep>; 1679 #address-cells = <1>; 1680 #size-cells = <0>; 1681 status = "disabled"; 1682 }; 1683 1684 blsp_spi6: spi@78ba000 { 1685 compatible = "qcom,spi-qup-v2.2.1"; 1686 reg = <0x078ba000 0x500>; 1687 interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>; 1688 clocks = <&gcc GCC_BLSP1_QUP6_SPI_APPS_CLK>, 1689 <&gcc GCC_BLSP1_AHB_CLK>; 1690 clock-names = "core", "iface"; 1691 dmas = <&blsp_dma 15>, <&blsp_dma 14>; 1692 dma-names = "rx", "tx"; 1693 pinctrl-names = "default", "sleep"; 1694 pinctrl-0 = <&spi6_default>; 1695 pinctrl-1 = <&spi6_sleep>; 1696 #address-cells = <1>; 1697 #size-cells = <0>; 1698 status = "disabled"; 1699 }; 1700 1701 usb: usb@78d9000 { 1702 compatible = "qcom,ci-hdrc"; 1703 reg = <0x078d9000 0x200>, 1704 <0x078d9200 0x200>; 1705 interrupts = <GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>, 1706 <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>; 1707 clocks = <&gcc GCC_USB_HS_AHB_CLK>, 1708 <&gcc GCC_USB_HS_SYSTEM_CLK>; 1709 clock-names = "iface", "core"; 1710 assigned-clocks = <&gcc GCC_USB_HS_SYSTEM_CLK>; 1711 assigned-clock-rates = <80000000>; 1712 resets = <&gcc GCC_USB_HS_BCR>; 1713 reset-names = "core"; 1714 phy_type = "ulpi"; 1715 dr_mode = "otg"; 1716 hnp-disable; 1717 srp-disable; 1718 adp-disable; 1719 ahb-burst-config = <0>; 1720 phy-names = "usb-phy"; 1721 phys = <&usb_hs_phy>; 1722 status = "disabled"; 1723 #reset-cells = <1>; 1724 1725 ulpi { 1726 usb_hs_phy: phy { 1727 compatible = "qcom,usb-hs-phy-msm8916", 1728 "qcom,usb-hs-phy"; 1729 #phy-cells = <0>; 1730 clocks = <&xo_board>, <&gcc GCC_USB2A_PHY_SLEEP_CLK>; 1731 clock-names = "ref", "sleep"; 1732 resets = <&gcc GCC_USB2A_PHY_BCR>, <&usb 0>; 1733 reset-names = "phy", "por"; 1734 qcom,init-seq = /bits/ 8 <0x0 0x44 1735 0x1 0x6b 0x2 0x24 0x3 0x13>; 1736 }; 1737 }; 1738 }; 1739 1740 pronto: remoteproc@a21b000 { 1741 compatible = "qcom,pronto-v2-pil", "qcom,pronto"; 1742 reg = <0x0a204000 0x2000>, <0x0a202000 0x1000>, <0x0a21b000 0x3000>; 1743 reg-names = "ccu", "dxe", "pmu"; 1744 1745 memory-region = <&wcnss_mem>; 1746 1747 interrupts-extended = <&intc GIC_SPI 149 IRQ_TYPE_EDGE_RISING>, 1748 <&wcnss_smp2p_in 0 IRQ_TYPE_EDGE_RISING>, 1749 <&wcnss_smp2p_in 1 IRQ_TYPE_EDGE_RISING>, 1750 <&wcnss_smp2p_in 2 IRQ_TYPE_EDGE_RISING>, 1751 <&wcnss_smp2p_in 3 IRQ_TYPE_EDGE_RISING>; 1752 interrupt-names = "wdog", "fatal", "ready", "handover", "stop-ack"; 1753 1754 power-domains = <&rpmpd MSM8916_VDDCX>, 1755 <&rpmpd MSM8916_VDDMX>; 1756 power-domain-names = "cx", "mx"; 1757 1758 qcom,state = <&wcnss_smp2p_out 0>; 1759 qcom,state-names = "stop"; 1760 1761 pinctrl-names = "default"; 1762 pinctrl-0 = <&wcnss_pin_a>; 1763 1764 status = "disabled"; 1765 1766 iris { 1767 compatible = "qcom,wcn3620"; 1768 1769 clocks = <&rpmcc RPM_SMD_RF_CLK2>; 1770 clock-names = "xo"; 1771 }; 1772 1773 smd-edge { 1774 interrupts = <GIC_SPI 142 IRQ_TYPE_EDGE_RISING>; 1775 1776 qcom,ipc = <&apcs 8 17>; 1777 qcom,smd-edge = <6>; 1778 qcom,remote-pid = <4>; 1779 1780 label = "pronto"; 1781 1782 wcnss_ctrl: wcnss { 1783 compatible = "qcom,wcnss"; 1784 qcom,smd-channels = "WCNSS_CTRL"; 1785 1786 qcom,mmio = <&pronto>; 1787 1788 bt { 1789 compatible = "qcom,wcnss-bt"; 1790 }; 1791 1792 wifi { 1793 compatible = "qcom,wcnss-wlan"; 1794 1795 interrupts = <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>, 1796 <GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>; 1797 interrupt-names = "tx", "rx"; 1798 1799 qcom,smem-states = <&apps_smsm 10>, <&apps_smsm 9>; 1800 qcom,smem-state-names = "tx-enable", "tx-rings-empty"; 1801 }; 1802 }; 1803 }; 1804 }; 1805 1806 intc: interrupt-controller@b000000 { 1807 compatible = "qcom,msm-qgic2"; 1808 interrupt-controller; 1809 #interrupt-cells = <3>; 1810 reg = <0x0b000000 0x1000>, <0x0b002000 0x2000>, 1811 <0x0b001000 0x1000>, <0x0b004000 0x2000>; 1812 interrupts = <GIC_PPI 0 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>; 1813 }; 1814 1815 apcs: mailbox@b011000 { 1816 compatible = "qcom,msm8916-apcs-kpss-global", "syscon"; 1817 reg = <0x0b011000 0x1000>; 1818 #mbox-cells = <1>; 1819 clocks = <&a53pll>, <&gcc GPLL0_VOTE>; 1820 clock-names = "pll", "aux"; 1821 #clock-cells = <0>; 1822 }; 1823 1824 a53pll: clock@b016000 { 1825 compatible = "qcom,msm8916-a53pll"; 1826 reg = <0x0b016000 0x40>; 1827 #clock-cells = <0>; 1828 }; 1829 1830 timer@b020000 { 1831 #address-cells = <1>; 1832 #size-cells = <1>; 1833 ranges; 1834 compatible = "arm,armv7-timer-mem"; 1835 reg = <0x0b020000 0x1000>; 1836 clock-frequency = <19200000>; 1837 1838 frame@b021000 { 1839 frame-number = <0>; 1840 interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>, 1841 <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>; 1842 reg = <0x0b021000 0x1000>, 1843 <0x0b022000 0x1000>; 1844 }; 1845 1846 frame@b023000 { 1847 frame-number = <1>; 1848 interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>; 1849 reg = <0x0b023000 0x1000>; 1850 status = "disabled"; 1851 }; 1852 1853 frame@b024000 { 1854 frame-number = <2>; 1855 interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>; 1856 reg = <0x0b024000 0x1000>; 1857 status = "disabled"; 1858 }; 1859 1860 frame@b025000 { 1861 frame-number = <3>; 1862 interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>; 1863 reg = <0x0b025000 0x1000>; 1864 status = "disabled"; 1865 }; 1866 1867 frame@b026000 { 1868 frame-number = <4>; 1869 interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>; 1870 reg = <0x0b026000 0x1000>; 1871 status = "disabled"; 1872 }; 1873 1874 frame@b027000 { 1875 frame-number = <5>; 1876 interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>; 1877 reg = <0x0b027000 0x1000>; 1878 status = "disabled"; 1879 }; 1880 1881 frame@b028000 { 1882 frame-number = <6>; 1883 interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>; 1884 reg = <0x0b028000 0x1000>; 1885 status = "disabled"; 1886 }; 1887 }; 1888 1889 cpu0_acc: power-manager@b088000 { 1890 compatible = "qcom,msm8916-acc"; 1891 reg = <0x0b088000 0x1000>; 1892 status = "reserved"; /* Controlled by PSCI firmware */ 1893 }; 1894 1895 cpu0_saw: power-manager@b089000 { 1896 compatible = "qcom,msm8916-saw2-v3.0-cpu", "qcom,saw2"; 1897 reg = <0x0b089000 0x1000>; 1898 status = "reserved"; /* Controlled by PSCI firmware */ 1899 }; 1900 1901 cpu1_acc: power-manager@b098000 { 1902 compatible = "qcom,msm8916-acc"; 1903 reg = <0x0b098000 0x1000>; 1904 status = "reserved"; /* Controlled by PSCI firmware */ 1905 }; 1906 1907 cpu1_saw: power-manager@b099000 { 1908 compatible = "qcom,msm8916-saw2-v3.0-cpu", "qcom,saw2"; 1909 reg = <0x0b099000 0x1000>; 1910 status = "reserved"; /* Controlled by PSCI firmware */ 1911 }; 1912 1913 cpu2_acc: power-manager@b0a8000 { 1914 compatible = "qcom,msm8916-acc"; 1915 reg = <0x0b0a8000 0x1000>; 1916 status = "reserved"; /* Controlled by PSCI firmware */ 1917 }; 1918 1919 cpu2_saw: power-manager@b0a9000 { 1920 compatible = "qcom,msm8916-saw2-v3.0-cpu", "qcom,saw2"; 1921 reg = <0x0b0a9000 0x1000>; 1922 status = "reserved"; /* Controlled by PSCI firmware */ 1923 }; 1924 1925 cpu3_acc: power-manager@b0b8000 { 1926 compatible = "qcom,msm8916-acc"; 1927 reg = <0x0b0b8000 0x1000>; 1928 status = "reserved"; /* Controlled by PSCI firmware */ 1929 }; 1930 1931 cpu3_saw: power-manager@b0b9000 { 1932 compatible = "qcom,msm8916-saw2-v3.0-cpu", "qcom,saw2"; 1933 reg = <0x0b0b9000 0x1000>; 1934 status = "reserved"; /* Controlled by PSCI firmware */ 1935 }; 1936 }; 1937 1938 thermal-zones { 1939 cpu0-1-thermal { 1940 polling-delay-passive = <250>; 1941 polling-delay = <1000>; 1942 1943 thermal-sensors = <&tsens 5>; 1944 1945 trips { 1946 cpu0_1_alert0: trip-point0 { 1947 temperature = <75000>; 1948 hysteresis = <2000>; 1949 type = "passive"; 1950 }; 1951 cpu0_1_crit: cpu_crit { 1952 temperature = <110000>; 1953 hysteresis = <2000>; 1954 type = "critical"; 1955 }; 1956 }; 1957 1958 cooling-maps { 1959 map0 { 1960 trip = <&cpu0_1_alert0>; 1961 cooling-device = <&CPU0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 1962 <&CPU1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 1963 <&CPU2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 1964 <&CPU3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; 1965 }; 1966 }; 1967 }; 1968 1969 cpu2-3-thermal { 1970 polling-delay-passive = <250>; 1971 polling-delay = <1000>; 1972 1973 thermal-sensors = <&tsens 4>; 1974 1975 trips { 1976 cpu2_3_alert0: trip-point0 { 1977 temperature = <75000>; 1978 hysteresis = <2000>; 1979 type = "passive"; 1980 }; 1981 cpu2_3_crit: cpu_crit { 1982 temperature = <110000>; 1983 hysteresis = <2000>; 1984 type = "critical"; 1985 }; 1986 }; 1987 1988 cooling-maps { 1989 map0 { 1990 trip = <&cpu2_3_alert0>; 1991 cooling-device = <&CPU0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 1992 <&CPU1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 1993 <&CPU2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 1994 <&CPU3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; 1995 }; 1996 }; 1997 }; 1998 1999 gpu-thermal { 2000 polling-delay-passive = <250>; 2001 polling-delay = <1000>; 2002 2003 thermal-sensors = <&tsens 2>; 2004 2005 trips { 2006 gpu_alert0: trip-point0 { 2007 temperature = <75000>; 2008 hysteresis = <2000>; 2009 type = "passive"; 2010 }; 2011 gpu_crit: gpu_crit { 2012 temperature = <95000>; 2013 hysteresis = <2000>; 2014 type = "critical"; 2015 }; 2016 }; 2017 }; 2018 2019 camera-thermal { 2020 polling-delay-passive = <250>; 2021 polling-delay = <1000>; 2022 2023 thermal-sensors = <&tsens 1>; 2024 2025 trips { 2026 cam_alert0: trip-point0 { 2027 temperature = <75000>; 2028 hysteresis = <2000>; 2029 type = "hot"; 2030 }; 2031 }; 2032 }; 2033 2034 modem-thermal { 2035 polling-delay-passive = <250>; 2036 polling-delay = <1000>; 2037 2038 thermal-sensors = <&tsens 0>; 2039 2040 trips { 2041 modem_alert0: trip-point0 { 2042 temperature = <85000>; 2043 hysteresis = <2000>; 2044 type = "hot"; 2045 }; 2046 }; 2047 }; 2048 2049 }; 2050 2051 timer { 2052 compatible = "arm,armv8-timer"; 2053 interrupts = <GIC_PPI 2 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 2054 <GIC_PPI 3 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 2055 <GIC_PPI 4 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 2056 <GIC_PPI 1 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>; 2057 }; 2058}; 2059 2060#include "msm8916-pins.dtsi" 2061