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,dsi-phy-28nm.h> 8#include <dt-bindings/clock/qcom,gcc-msm8916.h> 9#include <dt-bindings/clock/qcom,rpmcc.h> 10#include <dt-bindings/interconnect/qcom,msm8916.h> 11#include <dt-bindings/interrupt-controller/arm-gic.h> 12#include <dt-bindings/power/qcom-rpmpd.h> 13#include <dt-bindings/reset/qcom,gcc-msm8916.h> 14#include <dt-bindings/soc/qcom,apr.h> 15#include <dt-bindings/thermal/thermal.h> 16 17/ { 18 interrupt-parent = <&intc>; 19 20 #address-cells = <2>; 21 #size-cells = <2>; 22 23 chosen { }; 24 25 memory@80000000 { 26 device_type = "memory"; 27 /* We expect the bootloader to fill in the reg */ 28 reg = <0 0x80000000 0 0>; 29 }; 30 31 reserved-memory { 32 #address-cells = <2>; 33 #size-cells = <2>; 34 ranges; 35 36 tz-apps@86000000 { 37 reg = <0x0 0x86000000 0x0 0x300000>; 38 no-map; 39 }; 40 41 smem@86300000 { 42 compatible = "qcom,smem"; 43 reg = <0x0 0x86300000 0x0 0x100000>; 44 no-map; 45 46 hwlocks = <&tcsr_mutex 3>; 47 qcom,rpm-msg-ram = <&rpm_msg_ram>; 48 }; 49 50 hypervisor@86400000 { 51 reg = <0x0 0x86400000 0x0 0x100000>; 52 no-map; 53 }; 54 55 tz@86500000 { 56 reg = <0x0 0x86500000 0x0 0x180000>; 57 no-map; 58 }; 59 60 reserved@86680000 { 61 reg = <0x0 0x86680000 0x0 0x80000>; 62 no-map; 63 }; 64 65 rmtfs@86700000 { 66 compatible = "qcom,rmtfs-mem"; 67 reg = <0x0 0x86700000 0x0 0xe0000>; 68 no-map; 69 70 qcom,client-id = <1>; 71 }; 72 73 rfsa@867e0000 { 74 reg = <0x0 0x867e0000 0x0 0x20000>; 75 no-map; 76 }; 77 78 mpss_mem: mpss@86800000 { 79 /* 80 * The memory region for the mpss firmware is generally 81 * relocatable and could be allocated dynamically. 82 * However, many firmware versions tend to fail when 83 * loaded to some special addresses, so it is hard to 84 * define reliable alloc-ranges. 85 * 86 * alignment = <0x0 0x400000>; 87 * alloc-ranges = <0x0 0x86800000 0x0 0x8000000>; 88 */ 89 reg = <0x0 0x86800000 0x0 0>; /* size is device-specific */ 90 no-map; 91 status = "disabled"; 92 }; 93 94 wcnss_mem: wcnss { 95 size = <0x0 0x600000>; 96 alignment = <0x0 0x100000>; 97 alloc-ranges = <0x0 0x86800000 0x0 0x8000000>; 98 no-map; 99 status = "disabled"; 100 }; 101 102 venus_mem: venus { 103 size = <0x0 0x500000>; 104 alignment = <0x0 0x100000>; 105 alloc-ranges = <0x0 0x86800000 0x0 0x8000000>; 106 no-map; 107 status = "disabled"; 108 }; 109 110 mba_mem: mba { 111 size = <0x0 0x100000>; 112 alignment = <0x0 0x100000>; 113 alloc-ranges = <0x0 0x86800000 0x0 0x8000000>; 114 no-map; 115 status = "disabled"; 116 }; 117 }; 118 119 clocks { 120 xo_board: xo-board { 121 compatible = "fixed-clock"; 122 #clock-cells = <0>; 123 clock-frequency = <19200000>; 124 }; 125 126 sleep_clk: sleep-clk { 127 compatible = "fixed-clock"; 128 #clock-cells = <0>; 129 clock-frequency = <32764>; 130 }; 131 }; 132 133 cpus { 134 #address-cells = <1>; 135 #size-cells = <0>; 136 137 cpu0: cpu@0 { 138 device_type = "cpu"; 139 compatible = "arm,cortex-a53"; 140 reg = <0x0>; 141 next-level-cache = <&l2_0>; 142 enable-method = "psci"; 143 clocks = <&apcs>; 144 operating-points-v2 = <&cpu_opp_table>; 145 #cooling-cells = <2>; 146 power-domains = <&cpu_pd0>; 147 power-domain-names = "psci"; 148 qcom,acc = <&cpu0_acc>; 149 qcom,saw = <&cpu0_saw>; 150 }; 151 152 cpu1: cpu@1 { 153 device_type = "cpu"; 154 compatible = "arm,cortex-a53"; 155 reg = <0x1>; 156 next-level-cache = <&l2_0>; 157 enable-method = "psci"; 158 clocks = <&apcs>; 159 operating-points-v2 = <&cpu_opp_table>; 160 #cooling-cells = <2>; 161 power-domains = <&cpu_pd1>; 162 power-domain-names = "psci"; 163 qcom,acc = <&cpu1_acc>; 164 qcom,saw = <&cpu1_saw>; 165 }; 166 167 cpu2: cpu@2 { 168 device_type = "cpu"; 169 compatible = "arm,cortex-a53"; 170 reg = <0x2>; 171 next-level-cache = <&l2_0>; 172 enable-method = "psci"; 173 clocks = <&apcs>; 174 operating-points-v2 = <&cpu_opp_table>; 175 #cooling-cells = <2>; 176 power-domains = <&cpu_pd2>; 177 power-domain-names = "psci"; 178 qcom,acc = <&cpu2_acc>; 179 qcom,saw = <&cpu2_saw>; 180 }; 181 182 cpu3: cpu@3 { 183 device_type = "cpu"; 184 compatible = "arm,cortex-a53"; 185 reg = <0x3>; 186 next-level-cache = <&l2_0>; 187 enable-method = "psci"; 188 clocks = <&apcs>; 189 operating-points-v2 = <&cpu_opp_table>; 190 #cooling-cells = <2>; 191 power-domains = <&cpu_pd3>; 192 power-domain-names = "psci"; 193 qcom,acc = <&cpu3_acc>; 194 qcom,saw = <&cpu3_saw>; 195 }; 196 197 l2_0: l2-cache { 198 compatible = "cache"; 199 cache-level = <2>; 200 cache-unified; 201 }; 202 203 idle-states { 204 entry-method = "psci"; 205 206 cpu_sleep_0: cpu-sleep-0 { 207 compatible = "arm,idle-state"; 208 idle-state-name = "standalone-power-collapse"; 209 arm,psci-suspend-param = <0x40000002>; 210 entry-latency-us = <130>; 211 exit-latency-us = <150>; 212 min-residency-us = <2000>; 213 local-timer-stop; 214 }; 215 }; 216 217 domain-idle-states { 218 219 cluster_ret: cluster-retention { 220 compatible = "domain-idle-state"; 221 arm,psci-suspend-param = <0x41000012>; 222 entry-latency-us = <500>; 223 exit-latency-us = <500>; 224 min-residency-us = <2000>; 225 }; 226 227 cluster_pwrdn: cluster-gdhs { 228 compatible = "domain-idle-state"; 229 arm,psci-suspend-param = <0x41000032>; 230 entry-latency-us = <2000>; 231 exit-latency-us = <2000>; 232 min-residency-us = <6000>; 233 }; 234 }; 235 }; 236 237 cpu_opp_table: opp-table-cpu { 238 compatible = "operating-points-v2"; 239 opp-shared; 240 241 opp-200000000 { 242 opp-hz = /bits/ 64 <200000000>; 243 }; 244 opp-400000000 { 245 opp-hz = /bits/ 64 <400000000>; 246 }; 247 opp-800000000 { 248 opp-hz = /bits/ 64 <800000000>; 249 }; 250 opp-998400000 { 251 opp-hz = /bits/ 64 <998400000>; 252 }; 253 }; 254 255 firmware { 256 scm: scm { 257 compatible = "qcom,scm-msm8916", "qcom,scm"; 258 clocks = <&gcc GCC_CRYPTO_CLK>, 259 <&gcc GCC_CRYPTO_AXI_CLK>, 260 <&gcc GCC_CRYPTO_AHB_CLK>; 261 clock-names = "core", "bus", "iface"; 262 #reset-cells = <1>; 263 264 qcom,dload-mode = <&tcsr 0x6100>; 265 }; 266 }; 267 268 pmu { 269 compatible = "arm,cortex-a53-pmu"; 270 interrupts = <GIC_PPI 7 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>; 271 }; 272 273 psci { 274 compatible = "arm,psci-1.0"; 275 method = "smc"; 276 277 cpu_pd0: power-domain-cpu0 { 278 #power-domain-cells = <0>; 279 power-domains = <&cluster_pd>; 280 domain-idle-states = <&cpu_sleep_0>; 281 }; 282 283 cpu_pd1: power-domain-cpu1 { 284 #power-domain-cells = <0>; 285 power-domains = <&cluster_pd>; 286 domain-idle-states = <&cpu_sleep_0>; 287 }; 288 289 cpu_pd2: power-domain-cpu2 { 290 #power-domain-cells = <0>; 291 power-domains = <&cluster_pd>; 292 domain-idle-states = <&cpu_sleep_0>; 293 }; 294 295 cpu_pd3: power-domain-cpu3 { 296 #power-domain-cells = <0>; 297 power-domains = <&cluster_pd>; 298 domain-idle-states = <&cpu_sleep_0>; 299 }; 300 301 cluster_pd: power-domain-cluster { 302 #power-domain-cells = <0>; 303 domain-idle-states = <&cluster_ret>, <&cluster_pwrdn>; 304 }; 305 }; 306 307 rpm: remoteproc { 308 compatible = "qcom,msm8916-rpm-proc", "qcom,rpm-proc"; 309 310 smd-edge { 311 interrupts = <GIC_SPI 168 IRQ_TYPE_EDGE_RISING>; 312 mboxes = <&apcs 0>; 313 qcom,smd-edge = <15>; 314 315 rpm_requests: rpm-requests { 316 compatible = "qcom,rpm-msm8916", "qcom,smd-rpm"; 317 qcom,smd-channels = "rpm_requests"; 318 319 rpmcc: clock-controller { 320 compatible = "qcom,rpmcc-msm8916", "qcom,rpmcc"; 321 #clock-cells = <1>; 322 clocks = <&xo_board>; 323 clock-names = "xo"; 324 }; 325 326 rpmpd: power-controller { 327 compatible = "qcom,msm8916-rpmpd"; 328 #power-domain-cells = <1>; 329 operating-points-v2 = <&rpmpd_opp_table>; 330 331 rpmpd_opp_table: opp-table { 332 compatible = "operating-points-v2"; 333 334 rpmpd_opp_ret: opp1 { 335 opp-level = <1>; 336 }; 337 rpmpd_opp_svs_krait: opp2 { 338 opp-level = <2>; 339 }; 340 rpmpd_opp_svs_soc: opp3 { 341 opp-level = <3>; 342 }; 343 rpmpd_opp_nom: opp4 { 344 opp-level = <4>; 345 }; 346 rpmpd_opp_turbo: opp5 { 347 opp-level = <5>; 348 }; 349 rpmpd_opp_super_turbo: opp6 { 350 opp-level = <6>; 351 }; 352 }; 353 }; 354 }; 355 }; 356 }; 357 358 smp2p-hexagon { 359 compatible = "qcom,smp2p"; 360 qcom,smem = <435>, <428>; 361 362 interrupts = <GIC_SPI 27 IRQ_TYPE_EDGE_RISING>; 363 364 mboxes = <&apcs 14>; 365 366 qcom,local-pid = <0>; 367 qcom,remote-pid = <1>; 368 369 hexagon_smp2p_out: master-kernel { 370 qcom,entry-name = "master-kernel"; 371 372 #qcom,smem-state-cells = <1>; 373 }; 374 375 hexagon_smp2p_in: slave-kernel { 376 qcom,entry-name = "slave-kernel"; 377 378 interrupt-controller; 379 #interrupt-cells = <2>; 380 }; 381 }; 382 383 smp2p-wcnss { 384 compatible = "qcom,smp2p"; 385 qcom,smem = <451>, <431>; 386 387 interrupts = <GIC_SPI 143 IRQ_TYPE_EDGE_RISING>; 388 389 mboxes = <&apcs 18>; 390 391 qcom,local-pid = <0>; 392 qcom,remote-pid = <4>; 393 394 wcnss_smp2p_out: master-kernel { 395 qcom,entry-name = "master-kernel"; 396 397 #qcom,smem-state-cells = <1>; 398 }; 399 400 wcnss_smp2p_in: slave-kernel { 401 qcom,entry-name = "slave-kernel"; 402 403 interrupt-controller; 404 #interrupt-cells = <2>; 405 }; 406 }; 407 408 smsm { 409 compatible = "qcom,smsm"; 410 411 #address-cells = <1>; 412 #size-cells = <0>; 413 414 mboxes = <0>, <&apcs 13>, <0>, <&apcs 19>; 415 416 apps_smsm: apps@0 { 417 reg = <0>; 418 419 #qcom,smem-state-cells = <1>; 420 }; 421 422 hexagon_smsm: hexagon@1 { 423 reg = <1>; 424 interrupts = <GIC_SPI 26 IRQ_TYPE_EDGE_RISING>; 425 426 interrupt-controller; 427 #interrupt-cells = <2>; 428 }; 429 430 wcnss_smsm: wcnss@6 { 431 reg = <6>; 432 interrupts = <GIC_SPI 144 IRQ_TYPE_EDGE_RISING>; 433 434 interrupt-controller; 435 #interrupt-cells = <2>; 436 }; 437 }; 438 439 soc: soc@0 { 440 #address-cells = <1>; 441 #size-cells = <1>; 442 ranges = <0 0 0 0xffffffff>; 443 compatible = "simple-bus"; 444 445 rng@22000 { 446 compatible = "qcom,prng"; 447 reg = <0x00022000 0x200>; 448 clocks = <&gcc GCC_PRNG_AHB_CLK>; 449 clock-names = "core"; 450 }; 451 452 restart@4ab000 { 453 compatible = "qcom,pshold"; 454 reg = <0x004ab000 0x4>; 455 }; 456 457 qfprom: qfprom@5c000 { 458 compatible = "qcom,msm8916-qfprom", "qcom,qfprom"; 459 reg = <0x0005c000 0x1000>; 460 #address-cells = <1>; 461 #size-cells = <1>; 462 463 tsens_base1: base1@d0 { 464 reg = <0xd0 0x1>; 465 bits = <0 7>; 466 }; 467 468 tsens_s0_p1: s0-p1@d0 { 469 reg = <0xd0 0x2>; 470 bits = <7 5>; 471 }; 472 473 tsens_s0_p2: s0-p2@d1 { 474 reg = <0xd1 0x2>; 475 bits = <4 5>; 476 }; 477 478 tsens_s1_p1: s1-p1@d2 { 479 reg = <0xd2 0x1>; 480 bits = <1 5>; 481 }; 482 tsens_s1_p2: s1-p2@d2 { 483 reg = <0xd2 0x2>; 484 bits = <6 5>; 485 }; 486 tsens_s2_p1: s2-p1@d3 { 487 reg = <0xd3 0x1>; 488 bits = <3 5>; 489 }; 490 491 tsens_s2_p2: s2-p2@d4 { 492 reg = <0xd4 0x1>; 493 bits = <0 5>; 494 }; 495 496 // no tsens with hw_id 3 497 498 tsens_s4_p1: s4-p1@d4 { 499 reg = <0xd4 0x2>; 500 bits = <5 5>; 501 }; 502 503 tsens_s4_p2: s4-p2@d5 { 504 reg = <0xd5 0x1>; 505 bits = <2 5>; 506 }; 507 508 tsens_s5_p1: s5-p1@d5 { 509 reg = <0xd5 0x2>; 510 bits = <7 5>; 511 }; 512 513 tsens_s5_p2: s5-p2@d6 { 514 reg = <0xd6 0x2>; 515 bits = <4 5>; 516 }; 517 518 tsens_base2: base2@d7 { 519 reg = <0xd7 0x1>; 520 bits = <1 7>; 521 }; 522 523 tsens_mode: mode@ef { 524 reg = <0xef 0x1>; 525 bits = <5 3>; 526 }; 527 }; 528 529 rpm_msg_ram: sram@60000 { 530 compatible = "qcom,rpm-msg-ram"; 531 reg = <0x00060000 0x8000>; 532 }; 533 534 sram@290000 { 535 compatible = "qcom,msm8916-rpm-stats"; 536 reg = <0x00290000 0x10000>; 537 }; 538 539 bimc: interconnect@400000 { 540 compatible = "qcom,msm8916-bimc"; 541 reg = <0x00400000 0x62000>; 542 #interconnect-cells = <1>; 543 }; 544 545 tsens: thermal-sensor@4a9000 { 546 compatible = "qcom,msm8916-tsens", "qcom,tsens-v0_1"; 547 reg = <0x004a9000 0x1000>, /* TM */ 548 <0x004a8000 0x1000>; /* SROT */ 549 550 // no hw_id 3 551 nvmem-cells = <&tsens_mode>, 552 <&tsens_base1>, <&tsens_base2>, 553 <&tsens_s0_p1>, <&tsens_s0_p2>, 554 <&tsens_s1_p1>, <&tsens_s1_p2>, 555 <&tsens_s2_p1>, <&tsens_s2_p2>, 556 <&tsens_s4_p1>, <&tsens_s4_p2>, 557 <&tsens_s5_p1>, <&tsens_s5_p2>; 558 nvmem-cell-names = "mode", 559 "base1", "base2", 560 "s0_p1", "s0_p2", 561 "s1_p1", "s1_p2", 562 "s2_p1", "s2_p2", 563 "s4_p1", "s4_p2", 564 "s5_p1", "s5_p2"; 565 #qcom,sensors = <5>; 566 interrupts = <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>; 567 interrupt-names = "uplow"; 568 #thermal-sensor-cells = <1>; 569 }; 570 571 pcnoc: interconnect@500000 { 572 compatible = "qcom,msm8916-pcnoc"; 573 reg = <0x00500000 0x11000>; 574 #interconnect-cells = <1>; 575 }; 576 577 snoc: interconnect@580000 { 578 compatible = "qcom,msm8916-snoc"; 579 reg = <0x00580000 0x14000>; 580 #interconnect-cells = <1>; 581 }; 582 583 stm: stm@802000 { 584 compatible = "arm,coresight-stm", "arm,primecell"; 585 reg = <0x00802000 0x1000>, 586 <0x09280000 0x180000>; 587 reg-names = "stm-base", "stm-stimulus-base"; 588 589 clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>; 590 clock-names = "apb_pclk", "atclk"; 591 592 status = "disabled"; 593 594 out-ports { 595 port { 596 stm_out: endpoint { 597 remote-endpoint = <&funnel0_in7>; 598 }; 599 }; 600 }; 601 }; 602 603 /* System CTIs */ 604 /* CTI 0 - TMC connections */ 605 cti0: cti@810000 { 606 compatible = "arm,coresight-cti", "arm,primecell"; 607 reg = <0x00810000 0x1000>; 608 609 clocks = <&rpmcc RPM_QDSS_CLK>; 610 clock-names = "apb_pclk"; 611 612 status = "disabled"; 613 }; 614 615 /* CTI 1 - TPIU connections */ 616 cti1: cti@811000 { 617 compatible = "arm,coresight-cti", "arm,primecell"; 618 reg = <0x00811000 0x1000>; 619 620 clocks = <&rpmcc RPM_QDSS_CLK>; 621 clock-names = "apb_pclk"; 622 623 status = "disabled"; 624 }; 625 626 /* CTIs 2-11 - no information - not instantiated */ 627 628 tpiu: tpiu@820000 { 629 compatible = "arm,coresight-tpiu", "arm,primecell"; 630 reg = <0x00820000 0x1000>; 631 632 clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>; 633 clock-names = "apb_pclk", "atclk"; 634 635 status = "disabled"; 636 637 in-ports { 638 port { 639 tpiu_in: endpoint { 640 remote-endpoint = <&replicator_out1>; 641 }; 642 }; 643 }; 644 }; 645 646 funnel0: funnel@821000 { 647 compatible = "arm,coresight-dynamic-funnel", "arm,primecell"; 648 reg = <0x00821000 0x1000>; 649 650 clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>; 651 clock-names = "apb_pclk", "atclk"; 652 653 status = "disabled"; 654 655 in-ports { 656 #address-cells = <1>; 657 #size-cells = <0>; 658 659 /* 660 * Not described input ports: 661 * 0 - connected to Resource and Power Manger CPU ETM 662 * 1 - not-connected 663 * 2 - connected to Modem CPU ETM 664 * 3 - not-connected 665 * 5 - not-connected 666 * 6 - connected trought funnel to Wireless CPU ETM 667 * 7 - connected to STM component 668 */ 669 670 port@4 { 671 reg = <4>; 672 funnel0_in4: endpoint { 673 remote-endpoint = <&funnel1_out>; 674 }; 675 }; 676 677 port@7 { 678 reg = <7>; 679 funnel0_in7: endpoint { 680 remote-endpoint = <&stm_out>; 681 }; 682 }; 683 }; 684 685 out-ports { 686 port { 687 funnel0_out: endpoint { 688 remote-endpoint = <&etf_in>; 689 }; 690 }; 691 }; 692 }; 693 694 replicator: replicator@824000 { 695 compatible = "arm,coresight-dynamic-replicator", "arm,primecell"; 696 reg = <0x00824000 0x1000>; 697 698 clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>; 699 clock-names = "apb_pclk", "atclk"; 700 701 status = "disabled"; 702 703 out-ports { 704 #address-cells = <1>; 705 #size-cells = <0>; 706 707 port@0 { 708 reg = <0>; 709 replicator_out0: endpoint { 710 remote-endpoint = <&etr_in>; 711 }; 712 }; 713 port@1 { 714 reg = <1>; 715 replicator_out1: endpoint { 716 remote-endpoint = <&tpiu_in>; 717 }; 718 }; 719 }; 720 721 in-ports { 722 port { 723 replicator_in: endpoint { 724 remote-endpoint = <&etf_out>; 725 }; 726 }; 727 }; 728 }; 729 730 etf: etf@825000 { 731 compatible = "arm,coresight-tmc", "arm,primecell"; 732 reg = <0x00825000 0x1000>; 733 734 clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>; 735 clock-names = "apb_pclk", "atclk"; 736 737 status = "disabled"; 738 739 in-ports { 740 port { 741 etf_in: endpoint { 742 remote-endpoint = <&funnel0_out>; 743 }; 744 }; 745 }; 746 747 out-ports { 748 port { 749 etf_out: endpoint { 750 remote-endpoint = <&replicator_in>; 751 }; 752 }; 753 }; 754 }; 755 756 etr: etr@826000 { 757 compatible = "arm,coresight-tmc", "arm,primecell"; 758 reg = <0x00826000 0x1000>; 759 760 clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>; 761 clock-names = "apb_pclk", "atclk"; 762 763 status = "disabled"; 764 765 in-ports { 766 port { 767 etr_in: endpoint { 768 remote-endpoint = <&replicator_out0>; 769 }; 770 }; 771 }; 772 }; 773 774 funnel1: funnel@841000 { /* APSS funnel only 4 inputs are used */ 775 compatible = "arm,coresight-dynamic-funnel", "arm,primecell"; 776 reg = <0x00841000 0x1000>; 777 778 clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>; 779 clock-names = "apb_pclk", "atclk"; 780 781 status = "disabled"; 782 783 in-ports { 784 #address-cells = <1>; 785 #size-cells = <0>; 786 787 port@0 { 788 reg = <0>; 789 funnel1_in0: endpoint { 790 remote-endpoint = <&etm0_out>; 791 }; 792 }; 793 port@1 { 794 reg = <1>; 795 funnel1_in1: endpoint { 796 remote-endpoint = <&etm1_out>; 797 }; 798 }; 799 port@2 { 800 reg = <2>; 801 funnel1_in2: endpoint { 802 remote-endpoint = <&etm2_out>; 803 }; 804 }; 805 port@3 { 806 reg = <3>; 807 funnel1_in3: endpoint { 808 remote-endpoint = <&etm3_out>; 809 }; 810 }; 811 }; 812 813 out-ports { 814 port { 815 funnel1_out: endpoint { 816 remote-endpoint = <&funnel0_in4>; 817 }; 818 }; 819 }; 820 }; 821 822 debug0: debug@850000 { 823 compatible = "arm,coresight-cpu-debug", "arm,primecell"; 824 reg = <0x00850000 0x1000>; 825 clocks = <&rpmcc RPM_QDSS_CLK>; 826 clock-names = "apb_pclk"; 827 cpu = <&cpu0>; 828 status = "disabled"; 829 }; 830 831 debug1: debug@852000 { 832 compatible = "arm,coresight-cpu-debug", "arm,primecell"; 833 reg = <0x00852000 0x1000>; 834 clocks = <&rpmcc RPM_QDSS_CLK>; 835 clock-names = "apb_pclk"; 836 cpu = <&cpu1>; 837 status = "disabled"; 838 }; 839 840 debug2: debug@854000 { 841 compatible = "arm,coresight-cpu-debug", "arm,primecell"; 842 reg = <0x00854000 0x1000>; 843 clocks = <&rpmcc RPM_QDSS_CLK>; 844 clock-names = "apb_pclk"; 845 cpu = <&cpu2>; 846 status = "disabled"; 847 }; 848 849 debug3: debug@856000 { 850 compatible = "arm,coresight-cpu-debug", "arm,primecell"; 851 reg = <0x00856000 0x1000>; 852 clocks = <&rpmcc RPM_QDSS_CLK>; 853 clock-names = "apb_pclk"; 854 cpu = <&cpu3>; 855 status = "disabled"; 856 }; 857 858 /* Core CTIs; CTIs 12-15 */ 859 /* CTI - CPU-0 */ 860 cti12: cti@858000 { 861 compatible = "arm,coresight-cti-v8-arch", "arm,coresight-cti", 862 "arm,primecell"; 863 reg = <0x00858000 0x1000>; 864 865 clocks = <&rpmcc RPM_QDSS_CLK>; 866 clock-names = "apb_pclk"; 867 868 cpu = <&cpu0>; 869 arm,cs-dev-assoc = <&etm0>; 870 871 status = "disabled"; 872 }; 873 874 /* CTI - CPU-1 */ 875 cti13: cti@859000 { 876 compatible = "arm,coresight-cti-v8-arch", "arm,coresight-cti", 877 "arm,primecell"; 878 reg = <0x00859000 0x1000>; 879 880 clocks = <&rpmcc RPM_QDSS_CLK>; 881 clock-names = "apb_pclk"; 882 883 cpu = <&cpu1>; 884 arm,cs-dev-assoc = <&etm1>; 885 886 status = "disabled"; 887 }; 888 889 /* CTI - CPU-2 */ 890 cti14: cti@85a000 { 891 compatible = "arm,coresight-cti-v8-arch", "arm,coresight-cti", 892 "arm,primecell"; 893 reg = <0x0085a000 0x1000>; 894 895 clocks = <&rpmcc RPM_QDSS_CLK>; 896 clock-names = "apb_pclk"; 897 898 cpu = <&cpu2>; 899 arm,cs-dev-assoc = <&etm2>; 900 901 status = "disabled"; 902 }; 903 904 /* CTI - CPU-3 */ 905 cti15: cti@85b000 { 906 compatible = "arm,coresight-cti-v8-arch", "arm,coresight-cti", 907 "arm,primecell"; 908 reg = <0x0085b000 0x1000>; 909 910 clocks = <&rpmcc RPM_QDSS_CLK>; 911 clock-names = "apb_pclk"; 912 913 cpu = <&cpu3>; 914 arm,cs-dev-assoc = <&etm3>; 915 916 status = "disabled"; 917 }; 918 919 etm0: etm@85c000 { 920 compatible = "arm,coresight-etm4x", "arm,primecell"; 921 reg = <0x0085c000 0x1000>; 922 923 clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>; 924 clock-names = "apb_pclk", "atclk"; 925 arm,coresight-loses-context-with-cpu; 926 927 cpu = <&cpu0>; 928 929 status = "disabled"; 930 931 out-ports { 932 port { 933 etm0_out: endpoint { 934 remote-endpoint = <&funnel1_in0>; 935 }; 936 }; 937 }; 938 }; 939 940 etm1: etm@85d000 { 941 compatible = "arm,coresight-etm4x", "arm,primecell"; 942 reg = <0x0085d000 0x1000>; 943 944 clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>; 945 clock-names = "apb_pclk", "atclk"; 946 arm,coresight-loses-context-with-cpu; 947 948 cpu = <&cpu1>; 949 950 status = "disabled"; 951 952 out-ports { 953 port { 954 etm1_out: endpoint { 955 remote-endpoint = <&funnel1_in1>; 956 }; 957 }; 958 }; 959 }; 960 961 etm2: etm@85e000 { 962 compatible = "arm,coresight-etm4x", "arm,primecell"; 963 reg = <0x0085e000 0x1000>; 964 965 clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>; 966 clock-names = "apb_pclk", "atclk"; 967 arm,coresight-loses-context-with-cpu; 968 969 cpu = <&cpu2>; 970 971 status = "disabled"; 972 973 out-ports { 974 port { 975 etm2_out: endpoint { 976 remote-endpoint = <&funnel1_in2>; 977 }; 978 }; 979 }; 980 }; 981 982 etm3: etm@85f000 { 983 compatible = "arm,coresight-etm4x", "arm,primecell"; 984 reg = <0x0085f000 0x1000>; 985 986 clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>; 987 clock-names = "apb_pclk", "atclk"; 988 arm,coresight-loses-context-with-cpu; 989 990 cpu = <&cpu3>; 991 992 status = "disabled"; 993 994 out-ports { 995 port { 996 etm3_out: endpoint { 997 remote-endpoint = <&funnel1_in3>; 998 }; 999 }; 1000 }; 1001 }; 1002 1003 tlmm: pinctrl@1000000 { 1004 compatible = "qcom,msm8916-pinctrl"; 1005 reg = <0x01000000 0x300000>; 1006 interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>; 1007 gpio-controller; 1008 gpio-ranges = <&tlmm 0 0 122>; 1009 #gpio-cells = <2>; 1010 interrupt-controller; 1011 #interrupt-cells = <2>; 1012 1013 blsp_i2c1_default: blsp-i2c1-default-state { 1014 pins = "gpio2", "gpio3"; 1015 function = "blsp_i2c1"; 1016 drive-strength = <2>; 1017 bias-disable; 1018 }; 1019 1020 blsp_i2c1_sleep: blsp-i2c1-sleep-state { 1021 pins = "gpio2", "gpio3"; 1022 function = "gpio"; 1023 drive-strength = <2>; 1024 bias-disable; 1025 }; 1026 1027 blsp_i2c2_default: blsp-i2c2-default-state { 1028 pins = "gpio6", "gpio7"; 1029 function = "blsp_i2c2"; 1030 drive-strength = <2>; 1031 bias-disable; 1032 }; 1033 1034 blsp_i2c2_sleep: blsp-i2c2-sleep-state { 1035 pins = "gpio6", "gpio7"; 1036 function = "gpio"; 1037 drive-strength = <2>; 1038 bias-disable; 1039 }; 1040 1041 blsp_i2c3_default: blsp-i2c3-default-state { 1042 pins = "gpio10", "gpio11"; 1043 function = "blsp_i2c3"; 1044 drive-strength = <2>; 1045 bias-disable; 1046 }; 1047 1048 blsp_i2c3_sleep: blsp-i2c3-sleep-state { 1049 pins = "gpio10", "gpio11"; 1050 function = "gpio"; 1051 drive-strength = <2>; 1052 bias-disable; 1053 }; 1054 1055 blsp_i2c4_default: blsp-i2c4-default-state { 1056 pins = "gpio14", "gpio15"; 1057 function = "blsp_i2c4"; 1058 drive-strength = <2>; 1059 bias-disable; 1060 }; 1061 1062 blsp_i2c4_sleep: blsp-i2c4-sleep-state { 1063 pins = "gpio14", "gpio15"; 1064 function = "gpio"; 1065 drive-strength = <2>; 1066 bias-disable; 1067 }; 1068 1069 blsp_i2c5_default: blsp-i2c5-default-state { 1070 pins = "gpio18", "gpio19"; 1071 function = "blsp_i2c5"; 1072 drive-strength = <2>; 1073 bias-disable; 1074 }; 1075 1076 blsp_i2c5_sleep: blsp-i2c5-sleep-state { 1077 pins = "gpio18", "gpio19"; 1078 function = "gpio"; 1079 drive-strength = <2>; 1080 bias-disable; 1081 }; 1082 1083 blsp_i2c6_default: blsp-i2c6-default-state { 1084 pins = "gpio22", "gpio23"; 1085 function = "blsp_i2c6"; 1086 drive-strength = <2>; 1087 bias-disable; 1088 }; 1089 1090 blsp_i2c6_sleep: blsp-i2c6-sleep-state { 1091 pins = "gpio22", "gpio23"; 1092 function = "gpio"; 1093 drive-strength = <2>; 1094 bias-disable; 1095 }; 1096 1097 blsp_spi1_default: blsp-spi1-default-state { 1098 spi-pins { 1099 pins = "gpio0", "gpio1", "gpio3"; 1100 function = "blsp_spi1"; 1101 drive-strength = <12>; 1102 bias-disable; 1103 }; 1104 cs-pins { 1105 pins = "gpio2"; 1106 function = "gpio"; 1107 drive-strength = <16>; 1108 bias-disable; 1109 output-high; 1110 }; 1111 }; 1112 1113 blsp_spi1_sleep: blsp-spi1-sleep-state { 1114 pins = "gpio0", "gpio1", "gpio2", "gpio3"; 1115 function = "gpio"; 1116 drive-strength = <2>; 1117 bias-pull-down; 1118 }; 1119 1120 blsp_spi2_default: blsp-spi2-default-state { 1121 spi-pins { 1122 pins = "gpio4", "gpio5", "gpio7"; 1123 function = "blsp_spi2"; 1124 drive-strength = <12>; 1125 bias-disable; 1126 }; 1127 cs-pins { 1128 pins = "gpio6"; 1129 function = "gpio"; 1130 drive-strength = <16>; 1131 bias-disable; 1132 output-high; 1133 }; 1134 }; 1135 1136 blsp_spi2_sleep: blsp-spi2-sleep-state { 1137 pins = "gpio4", "gpio5", "gpio6", "gpio7"; 1138 function = "gpio"; 1139 drive-strength = <2>; 1140 bias-pull-down; 1141 }; 1142 1143 blsp_spi3_default: blsp-spi3-default-state { 1144 spi-pins { 1145 pins = "gpio8", "gpio9", "gpio11"; 1146 function = "blsp_spi3"; 1147 drive-strength = <12>; 1148 bias-disable; 1149 }; 1150 cs-pins { 1151 pins = "gpio10"; 1152 function = "gpio"; 1153 drive-strength = <16>; 1154 bias-disable; 1155 output-high; 1156 }; 1157 }; 1158 1159 blsp_spi3_sleep: blsp-spi3-sleep-state { 1160 pins = "gpio8", "gpio9", "gpio10", "gpio11"; 1161 function = "gpio"; 1162 drive-strength = <2>; 1163 bias-pull-down; 1164 }; 1165 1166 blsp_spi4_default: blsp-spi4-default-state { 1167 spi-pins { 1168 pins = "gpio12", "gpio13", "gpio15"; 1169 function = "blsp_spi4"; 1170 drive-strength = <12>; 1171 bias-disable; 1172 }; 1173 cs-pins { 1174 pins = "gpio14"; 1175 function = "gpio"; 1176 drive-strength = <16>; 1177 bias-disable; 1178 output-high; 1179 }; 1180 }; 1181 1182 blsp_spi4_sleep: blsp-spi4-sleep-state { 1183 pins = "gpio12", "gpio13", "gpio14", "gpio15"; 1184 function = "gpio"; 1185 drive-strength = <2>; 1186 bias-pull-down; 1187 }; 1188 1189 blsp_spi5_default: blsp-spi5-default-state { 1190 spi-pins { 1191 pins = "gpio16", "gpio17", "gpio19"; 1192 function = "blsp_spi5"; 1193 drive-strength = <12>; 1194 bias-disable; 1195 }; 1196 cs-pins { 1197 pins = "gpio18"; 1198 function = "gpio"; 1199 drive-strength = <16>; 1200 bias-disable; 1201 output-high; 1202 }; 1203 }; 1204 1205 blsp_spi5_sleep: blsp-spi5-sleep-state { 1206 pins = "gpio16", "gpio17", "gpio18", "gpio19"; 1207 function = "gpio"; 1208 drive-strength = <2>; 1209 bias-pull-down; 1210 }; 1211 1212 blsp_spi6_default: blsp-spi6-default-state { 1213 spi-pins { 1214 pins = "gpio20", "gpio21", "gpio23"; 1215 function = "blsp_spi6"; 1216 drive-strength = <12>; 1217 bias-disable; 1218 }; 1219 cs-pins { 1220 pins = "gpio22"; 1221 function = "gpio"; 1222 drive-strength = <16>; 1223 bias-disable; 1224 output-high; 1225 }; 1226 }; 1227 1228 blsp_spi6_sleep: blsp-spi6-sleep-state { 1229 pins = "gpio20", "gpio21", "gpio22", "gpio23"; 1230 function = "gpio"; 1231 drive-strength = <2>; 1232 bias-pull-down; 1233 }; 1234 1235 blsp_uart1_console_default: blsp-uart1-console-default-state { 1236 tx-pins { 1237 pins = "gpio0"; 1238 function = "blsp_uart1"; 1239 drive-strength = <16>; 1240 bias-disable; 1241 bootph-all; 1242 }; 1243 1244 rx-pins { 1245 pins = "gpio1"; 1246 function = "blsp_uart1"; 1247 drive-strength = <16>; 1248 bias-pull-up; 1249 bootph-all; 1250 }; 1251 }; 1252 1253 blsp_uart1_console_sleep: blsp-uart1-console-sleep-state { 1254 pins = "gpio0", "gpio1"; 1255 function = "gpio"; 1256 drive-strength = <2>; 1257 bias-pull-down; 1258 }; 1259 1260 blsp_uart2_console_default: blsp-uart2-console-default-state { 1261 tx-pins { 1262 pins = "gpio4"; 1263 function = "blsp_uart2"; 1264 drive-strength = <16>; 1265 bias-disable; 1266 bootph-all; 1267 }; 1268 1269 rx-pins { 1270 pins = "gpio5"; 1271 function = "blsp_uart2"; 1272 drive-strength = <16>; 1273 bias-pull-up; 1274 bootph-all; 1275 }; 1276 }; 1277 1278 blsp_uart2_console_sleep: blsp-uart2-console-sleep-state { 1279 pins = "gpio4", "gpio5"; 1280 function = "gpio"; 1281 drive-strength = <2>; 1282 bias-pull-down; 1283 }; 1284 1285 camera_front_default: camera-front-default-state { 1286 pwdn-pins { 1287 pins = "gpio33"; 1288 function = "gpio"; 1289 drive-strength = <16>; 1290 bias-disable; 1291 }; 1292 rst-pins { 1293 pins = "gpio28"; 1294 function = "gpio"; 1295 drive-strength = <16>; 1296 bias-disable; 1297 }; 1298 mclk1-pins { 1299 pins = "gpio27"; 1300 function = "cam_mclk1"; 1301 drive-strength = <16>; 1302 bias-disable; 1303 }; 1304 }; 1305 1306 camera_rear_default: camera-rear-default-state { 1307 pwdn-pins { 1308 pins = "gpio34"; 1309 function = "gpio"; 1310 drive-strength = <16>; 1311 bias-disable; 1312 }; 1313 rst-pins { 1314 pins = "gpio35"; 1315 function = "gpio"; 1316 drive-strength = <16>; 1317 bias-disable; 1318 }; 1319 mclk0-pins { 1320 pins = "gpio26"; 1321 function = "cam_mclk0"; 1322 drive-strength = <16>; 1323 bias-disable; 1324 }; 1325 }; 1326 1327 cci0_default: cci0-default-state { 1328 pins = "gpio29", "gpio30"; 1329 function = "cci_i2c"; 1330 drive-strength = <16>; 1331 bias-disable; 1332 }; 1333 1334 cdc_dmic_default: cdc-dmic-default-state { 1335 clk-pins { 1336 pins = "gpio0"; 1337 function = "dmic0_clk"; 1338 drive-strength = <8>; 1339 }; 1340 data-pins { 1341 pins = "gpio1"; 1342 function = "dmic0_data"; 1343 drive-strength = <8>; 1344 }; 1345 }; 1346 1347 cdc_dmic_sleep: cdc-dmic-sleep-state { 1348 clk-pins { 1349 pins = "gpio0"; 1350 function = "dmic0_clk"; 1351 drive-strength = <2>; 1352 bias-disable; 1353 }; 1354 data-pins { 1355 pins = "gpio1"; 1356 function = "dmic0_data"; 1357 drive-strength = <2>; 1358 bias-disable; 1359 }; 1360 }; 1361 1362 cdc_pdm_default: cdc-pdm-default-state { 1363 pins = "gpio63", "gpio64", "gpio65", "gpio66", 1364 "gpio67", "gpio68"; 1365 function = "cdc_pdm0"; 1366 drive-strength = <8>; 1367 bias-disable; 1368 }; 1369 1370 cdc_pdm_sleep: cdc-pdm-sleep-state { 1371 pins = "gpio63", "gpio64", "gpio65", "gpio66", 1372 "gpio67", "gpio68"; 1373 function = "cdc_pdm0"; 1374 drive-strength = <2>; 1375 bias-pull-down; 1376 }; 1377 1378 pri_mi2s_default: mi2s-pri-default-state { 1379 pins = "gpio113", "gpio114", "gpio115", "gpio116"; 1380 function = "pri_mi2s"; 1381 drive-strength = <8>; 1382 bias-disable; 1383 }; 1384 1385 pri_mi2s_sleep: mi2s-pri-sleep-state { 1386 pins = "gpio113", "gpio114", "gpio115", "gpio116"; 1387 function = "pri_mi2s"; 1388 drive-strength = <2>; 1389 bias-disable; 1390 }; 1391 1392 pri_mi2s_mclk_default: mi2s-pri-mclk-default-state { 1393 pins = "gpio116"; 1394 function = "pri_mi2s"; 1395 drive-strength = <8>; 1396 bias-disable; 1397 }; 1398 1399 pri_mi2s_mclk_sleep: mi2s-pri-mclk-sleep-state { 1400 pins = "gpio116"; 1401 function = "pri_mi2s"; 1402 drive-strength = <2>; 1403 bias-disable; 1404 }; 1405 1406 pri_mi2s_ws_default: mi2s-pri-ws-default-state { 1407 pins = "gpio110"; 1408 function = "pri_mi2s_ws"; 1409 drive-strength = <8>; 1410 bias-disable; 1411 }; 1412 1413 pri_mi2s_ws_sleep: mi2s-pri-ws-sleep-state { 1414 pins = "gpio110"; 1415 function = "pri_mi2s_ws"; 1416 drive-strength = <2>; 1417 bias-disable; 1418 }; 1419 1420 sec_mi2s_default: mi2s-sec-default-state { 1421 pins = "gpio112", "gpio117", "gpio118", "gpio119"; 1422 function = "sec_mi2s"; 1423 drive-strength = <8>; 1424 bias-disable; 1425 }; 1426 1427 sec_mi2s_sleep: mi2s-sec-sleep-state { 1428 pins = "gpio112", "gpio117", "gpio118", "gpio119"; 1429 function = "sec_mi2s"; 1430 drive-strength = <2>; 1431 bias-disable; 1432 }; 1433 1434 sdc1_default: sdc1-default-state { 1435 clk-pins { 1436 pins = "sdc1_clk"; 1437 bias-disable; 1438 drive-strength = <16>; 1439 }; 1440 cmd-pins { 1441 pins = "sdc1_cmd"; 1442 bias-pull-up; 1443 drive-strength = <10>; 1444 }; 1445 data-pins { 1446 pins = "sdc1_data"; 1447 bias-pull-up; 1448 drive-strength = <10>; 1449 }; 1450 }; 1451 1452 sdc1_sleep: sdc1-sleep-state { 1453 clk-pins { 1454 pins = "sdc1_clk"; 1455 bias-disable; 1456 drive-strength = <2>; 1457 }; 1458 cmd-pins { 1459 pins = "sdc1_cmd"; 1460 bias-pull-up; 1461 drive-strength = <2>; 1462 }; 1463 data-pins { 1464 pins = "sdc1_data"; 1465 bias-pull-up; 1466 drive-strength = <2>; 1467 }; 1468 }; 1469 1470 sdc2_default: sdc2-default-state { 1471 clk-pins { 1472 pins = "sdc2_clk"; 1473 bias-disable; 1474 drive-strength = <16>; 1475 }; 1476 cmd-pins { 1477 pins = "sdc2_cmd"; 1478 bias-pull-up; 1479 drive-strength = <10>; 1480 }; 1481 data-pins { 1482 pins = "sdc2_data"; 1483 bias-pull-up; 1484 drive-strength = <10>; 1485 }; 1486 }; 1487 1488 sdc2_sleep: sdc2-sleep-state { 1489 clk-pins { 1490 pins = "sdc2_clk"; 1491 bias-disable; 1492 drive-strength = <2>; 1493 }; 1494 cmd-pins { 1495 pins = "sdc2_cmd"; 1496 bias-pull-up; 1497 drive-strength = <2>; 1498 }; 1499 data-pins { 1500 pins = "sdc2_data"; 1501 bias-pull-up; 1502 drive-strength = <2>; 1503 }; 1504 }; 1505 1506 wcss_wlan_default: wcss-wlan-default-state { 1507 pins = "gpio40", "gpio41", "gpio42", "gpio43", "gpio44"; 1508 function = "wcss_wlan"; 1509 drive-strength = <6>; 1510 bias-pull-up; 1511 }; 1512 }; 1513 1514 gcc: clock-controller@1800000 { 1515 compatible = "qcom,gcc-msm8916"; 1516 #clock-cells = <1>; 1517 #reset-cells = <1>; 1518 #power-domain-cells = <1>; 1519 reg = <0x01800000 0x80000>; 1520 clocks = <&xo_board>, 1521 <&sleep_clk>, 1522 <&mdss_dsi0_phy DSI_PIXEL_PLL_CLK>, 1523 <&mdss_dsi0_phy DSI_BYTE_PLL_CLK>, 1524 <0>, 1525 <0>, 1526 <0>; 1527 clock-names = "xo", 1528 "sleep_clk", 1529 "dsi0pll", 1530 "dsi0pllbyte", 1531 "ext_mclk", 1532 "ext_pri_i2s", 1533 "ext_sec_i2s"; 1534 }; 1535 1536 tcsr_mutex: hwlock@1905000 { 1537 compatible = "qcom,tcsr-mutex"; 1538 reg = <0x01905000 0x20000>; 1539 #hwlock-cells = <1>; 1540 }; 1541 1542 tcsr: syscon@1937000 { 1543 compatible = "qcom,tcsr-msm8916", "syscon"; 1544 reg = <0x01937000 0x30000>; 1545 }; 1546 1547 mdss: display-subsystem@1a00000 { 1548 status = "disabled"; 1549 compatible = "qcom,mdss"; 1550 reg = <0x01a00000 0x1000>, 1551 <0x01ac8000 0x3000>; 1552 reg-names = "mdss_phys", "vbif_phys"; 1553 1554 power-domains = <&gcc MDSS_GDSC>; 1555 1556 clocks = <&gcc GCC_MDSS_AHB_CLK>, 1557 <&gcc GCC_MDSS_AXI_CLK>, 1558 <&gcc GCC_MDSS_VSYNC_CLK>; 1559 clock-names = "iface", 1560 "bus", 1561 "vsync"; 1562 1563 interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>; 1564 1565 interrupt-controller; 1566 #interrupt-cells = <1>; 1567 1568 #address-cells = <1>; 1569 #size-cells = <1>; 1570 ranges; 1571 1572 mdss_mdp: display-controller@1a01000 { 1573 compatible = "qcom,msm8916-mdp5", "qcom,mdp5"; 1574 reg = <0x01a01000 0x89000>; 1575 reg-names = "mdp_phys"; 1576 1577 interrupt-parent = <&mdss>; 1578 interrupts = <0>; 1579 1580 clocks = <&gcc GCC_MDSS_AHB_CLK>, 1581 <&gcc GCC_MDSS_AXI_CLK>, 1582 <&gcc GCC_MDSS_MDP_CLK>, 1583 <&gcc GCC_MDSS_VSYNC_CLK>; 1584 clock-names = "iface", 1585 "bus", 1586 "core", 1587 "vsync"; 1588 1589 iommus = <&apps_iommu 4>; 1590 1591 ports { 1592 #address-cells = <1>; 1593 #size-cells = <0>; 1594 1595 port@0 { 1596 reg = <0>; 1597 mdss_mdp_intf1_out: endpoint { 1598 remote-endpoint = <&mdss_dsi0_in>; 1599 }; 1600 }; 1601 }; 1602 }; 1603 1604 mdss_dsi0: dsi@1a98000 { 1605 compatible = "qcom,msm8916-dsi-ctrl", 1606 "qcom,mdss-dsi-ctrl"; 1607 reg = <0x01a98000 0x25c>; 1608 reg-names = "dsi_ctrl"; 1609 1610 interrupt-parent = <&mdss>; 1611 interrupts = <4>; 1612 1613 assigned-clocks = <&gcc BYTE0_CLK_SRC>, 1614 <&gcc PCLK0_CLK_SRC>; 1615 assigned-clock-parents = <&mdss_dsi0_phy DSI_BYTE_PLL_CLK>, 1616 <&mdss_dsi0_phy DSI_PIXEL_PLL_CLK>; 1617 1618 clocks = <&gcc GCC_MDSS_MDP_CLK>, 1619 <&gcc GCC_MDSS_AHB_CLK>, 1620 <&gcc GCC_MDSS_AXI_CLK>, 1621 <&gcc GCC_MDSS_BYTE0_CLK>, 1622 <&gcc GCC_MDSS_PCLK0_CLK>, 1623 <&gcc GCC_MDSS_ESC0_CLK>; 1624 clock-names = "mdp_core", 1625 "iface", 1626 "bus", 1627 "byte", 1628 "pixel", 1629 "core"; 1630 phys = <&mdss_dsi0_phy>; 1631 1632 #address-cells = <1>; 1633 #size-cells = <0>; 1634 1635 ports { 1636 #address-cells = <1>; 1637 #size-cells = <0>; 1638 1639 port@0 { 1640 reg = <0>; 1641 mdss_dsi0_in: endpoint { 1642 remote-endpoint = <&mdss_mdp_intf1_out>; 1643 }; 1644 }; 1645 1646 port@1 { 1647 reg = <1>; 1648 mdss_dsi0_out: endpoint { 1649 }; 1650 }; 1651 }; 1652 }; 1653 1654 mdss_dsi0_phy: phy@1a98300 { 1655 compatible = "qcom,dsi-phy-28nm-lp"; 1656 reg = <0x01a98300 0xd4>, 1657 <0x01a98500 0x280>, 1658 <0x01a98780 0x30>; 1659 reg-names = "dsi_pll", 1660 "dsi_phy", 1661 "dsi_phy_regulator"; 1662 1663 #clock-cells = <1>; 1664 #phy-cells = <0>; 1665 1666 clocks = <&gcc GCC_MDSS_AHB_CLK>, 1667 <&xo_board>; 1668 clock-names = "iface", "ref"; 1669 }; 1670 }; 1671 1672 camss: camss@1b0ac00 { 1673 compatible = "qcom,msm8916-camss"; 1674 reg = <0x01b0ac00 0x200>, 1675 <0x01b00030 0x4>, 1676 <0x01b0b000 0x200>, 1677 <0x01b00038 0x4>, 1678 <0x01b08000 0x100>, 1679 <0x01b08400 0x100>, 1680 <0x01b0a000 0x500>, 1681 <0x01b00020 0x10>, 1682 <0x01b10000 0x1000>; 1683 reg-names = "csiphy0", 1684 "csiphy0_clk_mux", 1685 "csiphy1", 1686 "csiphy1_clk_mux", 1687 "csid0", 1688 "csid1", 1689 "ispif", 1690 "csi_clk_mux", 1691 "vfe0"; 1692 interrupts = <GIC_SPI 78 IRQ_TYPE_EDGE_RISING>, 1693 <GIC_SPI 79 IRQ_TYPE_EDGE_RISING>, 1694 <GIC_SPI 51 IRQ_TYPE_EDGE_RISING>, 1695 <GIC_SPI 52 IRQ_TYPE_EDGE_RISING>, 1696 <GIC_SPI 55 IRQ_TYPE_EDGE_RISING>, 1697 <GIC_SPI 57 IRQ_TYPE_EDGE_RISING>; 1698 interrupt-names = "csiphy0", 1699 "csiphy1", 1700 "csid0", 1701 "csid1", 1702 "ispif", 1703 "vfe0"; 1704 power-domains = <&gcc VFE_GDSC>; 1705 clocks = <&gcc GCC_CAMSS_TOP_AHB_CLK>, 1706 <&gcc GCC_CAMSS_ISPIF_AHB_CLK>, 1707 <&gcc GCC_CAMSS_CSI0PHYTIMER_CLK>, 1708 <&gcc GCC_CAMSS_CSI1PHYTIMER_CLK>, 1709 <&gcc GCC_CAMSS_CSI0_AHB_CLK>, 1710 <&gcc GCC_CAMSS_CSI0_CLK>, 1711 <&gcc GCC_CAMSS_CSI0PHY_CLK>, 1712 <&gcc GCC_CAMSS_CSI0PIX_CLK>, 1713 <&gcc GCC_CAMSS_CSI0RDI_CLK>, 1714 <&gcc GCC_CAMSS_CSI1_AHB_CLK>, 1715 <&gcc GCC_CAMSS_CSI1_CLK>, 1716 <&gcc GCC_CAMSS_CSI1PHY_CLK>, 1717 <&gcc GCC_CAMSS_CSI1PIX_CLK>, 1718 <&gcc GCC_CAMSS_CSI1RDI_CLK>, 1719 <&gcc GCC_CAMSS_AHB_CLK>, 1720 <&gcc GCC_CAMSS_VFE0_CLK>, 1721 <&gcc GCC_CAMSS_CSI_VFE0_CLK>, 1722 <&gcc GCC_CAMSS_VFE_AHB_CLK>, 1723 <&gcc GCC_CAMSS_VFE_AXI_CLK>; 1724 clock-names = "top_ahb", 1725 "ispif_ahb", 1726 "csiphy0_timer", 1727 "csiphy1_timer", 1728 "csi0_ahb", 1729 "csi0", 1730 "csi0_phy", 1731 "csi0_pix", 1732 "csi0_rdi", 1733 "csi1_ahb", 1734 "csi1", 1735 "csi1_phy", 1736 "csi1_pix", 1737 "csi1_rdi", 1738 "ahb", 1739 "vfe0", 1740 "csi_vfe0", 1741 "vfe_ahb", 1742 "vfe_axi"; 1743 iommus = <&apps_iommu 3>; 1744 status = "disabled"; 1745 ports { 1746 #address-cells = <1>; 1747 #size-cells = <0>; 1748 1749 port@0 { 1750 reg = <0>; 1751 }; 1752 1753 port@1 { 1754 reg = <1>; 1755 }; 1756 }; 1757 }; 1758 1759 cci: cci@1b0c000 { 1760 compatible = "qcom,msm8916-cci", "qcom,msm8226-cci"; 1761 #address-cells = <1>; 1762 #size-cells = <0>; 1763 reg = <0x01b0c000 0x1000>; 1764 interrupts = <GIC_SPI 50 IRQ_TYPE_EDGE_RISING>; 1765 clocks = <&gcc GCC_CAMSS_TOP_AHB_CLK>, 1766 <&gcc GCC_CAMSS_CCI_AHB_CLK>, 1767 <&gcc GCC_CAMSS_CCI_CLK>, 1768 <&gcc GCC_CAMSS_AHB_CLK>; 1769 clock-names = "camss_top_ahb", "cci_ahb", 1770 "cci", "camss_ahb"; 1771 assigned-clocks = <&gcc GCC_CAMSS_CCI_AHB_CLK>, 1772 <&gcc GCC_CAMSS_CCI_CLK>; 1773 assigned-clock-rates = <80000000>, <19200000>; 1774 pinctrl-names = "default"; 1775 pinctrl-0 = <&cci0_default>; 1776 status = "disabled"; 1777 1778 cci_i2c0: i2c-bus@0 { 1779 reg = <0>; 1780 clock-frequency = <400000>; 1781 #address-cells = <1>; 1782 #size-cells = <0>; 1783 }; 1784 }; 1785 1786 gpu: gpu@1c00000 { 1787 compatible = "qcom,adreno-306.0", "qcom,adreno"; 1788 reg = <0x01c00000 0x20000>; 1789 reg-names = "kgsl_3d0_reg_memory"; 1790 interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>; 1791 interrupt-names = "kgsl_3d0_irq"; 1792 clock-names = 1793 "core", 1794 "iface", 1795 "mem", 1796 "mem_iface", 1797 "alt_mem_iface", 1798 "gfx3d"; 1799 clocks = 1800 <&gcc GCC_OXILI_GFX3D_CLK>, 1801 <&gcc GCC_OXILI_AHB_CLK>, 1802 <&gcc GCC_OXILI_GMEM_CLK>, 1803 <&gcc GCC_BIMC_GFX_CLK>, 1804 <&gcc GCC_BIMC_GPU_CLK>, 1805 <&gcc GFX3D_CLK_SRC>; 1806 power-domains = <&gcc OXILI_GDSC>; 1807 operating-points-v2 = <&gpu_opp_table>; 1808 iommus = <&gpu_iommu 1>, <&gpu_iommu 2>; 1809 #cooling-cells = <2>; 1810 1811 status = "disabled"; 1812 1813 gpu_opp_table: opp-table { 1814 compatible = "operating-points-v2"; 1815 1816 opp-400000000 { 1817 opp-hz = /bits/ 64 <400000000>; 1818 }; 1819 opp-19200000 { 1820 opp-hz = /bits/ 64 <19200000>; 1821 }; 1822 }; 1823 }; 1824 1825 venus: video-codec@1d00000 { 1826 compatible = "qcom,msm8916-venus"; 1827 reg = <0x01d00000 0xff000>; 1828 interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>; 1829 power-domains = <&gcc VENUS_GDSC>; 1830 clocks = <&gcc GCC_VENUS0_VCODEC0_CLK>, 1831 <&gcc GCC_VENUS0_AHB_CLK>, 1832 <&gcc GCC_VENUS0_AXI_CLK>; 1833 clock-names = "core", "iface", "bus"; 1834 iommus = <&apps_iommu 5>; 1835 memory-region = <&venus_mem>; 1836 status = "disabled"; 1837 1838 video-decoder { 1839 compatible = "venus-decoder"; 1840 }; 1841 1842 video-encoder { 1843 compatible = "venus-encoder"; 1844 }; 1845 }; 1846 1847 apps_iommu: iommu@1ef0000 { 1848 #address-cells = <1>; 1849 #size-cells = <1>; 1850 #iommu-cells = <1>; 1851 compatible = "qcom,msm8916-iommu", "qcom,msm-iommu-v1"; 1852 ranges = <0 0x01e20000 0x20000>; 1853 reg = <0x01ef0000 0x3000>; 1854 clocks = <&gcc GCC_SMMU_CFG_CLK>, 1855 <&gcc GCC_APSS_TCU_CLK>; 1856 clock-names = "iface", "bus"; 1857 qcom,iommu-secure-id = <17>; 1858 1859 /* VFE */ 1860 iommu-ctx@3000 { 1861 compatible = "qcom,msm-iommu-v1-sec"; 1862 reg = <0x3000 0x1000>; 1863 interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>; 1864 }; 1865 1866 /* MDP_0 */ 1867 iommu-ctx@4000 { 1868 compatible = "qcom,msm-iommu-v1-ns"; 1869 reg = <0x4000 0x1000>; 1870 interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>; 1871 }; 1872 1873 /* VENUS_NS */ 1874 iommu-ctx@5000 { 1875 compatible = "qcom,msm-iommu-v1-sec"; 1876 reg = <0x5000 0x1000>; 1877 interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>; 1878 }; 1879 }; 1880 1881 gpu_iommu: iommu@1f08000 { 1882 #address-cells = <1>; 1883 #size-cells = <1>; 1884 #iommu-cells = <1>; 1885 compatible = "qcom,msm8916-iommu", "qcom,msm-iommu-v1"; 1886 ranges = <0 0x01f08000 0x10000>; 1887 clocks = <&gcc GCC_SMMU_CFG_CLK>, 1888 <&gcc GCC_GFX_TCU_CLK>; 1889 clock-names = "iface", "bus"; 1890 qcom,iommu-secure-id = <18>; 1891 1892 /* GFX3D_USER */ 1893 iommu-ctx@1000 { 1894 compatible = "qcom,msm-iommu-v1-ns"; 1895 reg = <0x1000 0x1000>; 1896 interrupts = <GIC_SPI 241 IRQ_TYPE_LEVEL_HIGH>; 1897 }; 1898 1899 /* GFX3D_PRIV */ 1900 iommu-ctx@2000 { 1901 compatible = "qcom,msm-iommu-v1-ns"; 1902 reg = <0x2000 0x1000>; 1903 interrupts = <GIC_SPI 242 IRQ_TYPE_LEVEL_HIGH>; 1904 }; 1905 }; 1906 1907 spmi_bus: spmi@200f000 { 1908 compatible = "qcom,spmi-pmic-arb"; 1909 reg = <0x0200f000 0x001000>, 1910 <0x02400000 0x400000>, 1911 <0x02c00000 0x400000>, 1912 <0x03800000 0x200000>, 1913 <0x0200a000 0x002100>; 1914 reg-names = "core", "chnls", "obsrvr", "intr", "cnfg"; 1915 interrupt-names = "periph_irq"; 1916 interrupts = <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>; 1917 qcom,ee = <0>; 1918 qcom,channel = <0>; 1919 #address-cells = <2>; 1920 #size-cells = <0>; 1921 interrupt-controller; 1922 #interrupt-cells = <4>; 1923 }; 1924 1925 bam_dmux_dma: dma-controller@4044000 { 1926 compatible = "qcom,bam-v1.7.0"; 1927 reg = <0x04044000 0x19000>; 1928 interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>; 1929 #dma-cells = <1>; 1930 qcom,ee = <0>; 1931 1932 num-channels = <6>; 1933 qcom,num-ees = <1>; 1934 qcom,powered-remotely; 1935 1936 status = "disabled"; 1937 }; 1938 1939 mpss: remoteproc@4080000 { 1940 compatible = "qcom,msm8916-mss-pil"; 1941 reg = <0x04080000 0x100>, 1942 <0x04020000 0x040>; 1943 1944 reg-names = "qdsp6", "rmb"; 1945 1946 interrupts-extended = <&intc GIC_SPI 24 IRQ_TYPE_EDGE_RISING>, 1947 <&hexagon_smp2p_in 0 IRQ_TYPE_EDGE_RISING>, 1948 <&hexagon_smp2p_in 1 IRQ_TYPE_EDGE_RISING>, 1949 <&hexagon_smp2p_in 2 IRQ_TYPE_EDGE_RISING>, 1950 <&hexagon_smp2p_in 3 IRQ_TYPE_EDGE_RISING>; 1951 interrupt-names = "wdog", "fatal", "ready", 1952 "handover", "stop-ack"; 1953 1954 power-domains = <&rpmpd MSM8916_VDDCX>, 1955 <&rpmpd MSM8916_VDDMX>; 1956 power-domain-names = "cx", "mx"; 1957 1958 clocks = <&gcc GCC_MSS_CFG_AHB_CLK>, 1959 <&gcc GCC_MSS_Q6_BIMC_AXI_CLK>, 1960 <&gcc GCC_BOOT_ROM_AHB_CLK>, 1961 <&xo_board>; 1962 clock-names = "iface", "bus", "mem", "xo"; 1963 1964 qcom,smem-states = <&hexagon_smp2p_out 0>; 1965 qcom,smem-state-names = "stop"; 1966 1967 resets = <&scm 0>; 1968 reset-names = "mss_restart"; 1969 1970 qcom,halt-regs = <&tcsr 0x18000 0x19000 0x1a000>; 1971 1972 status = "disabled"; 1973 1974 mba { 1975 memory-region = <&mba_mem>; 1976 }; 1977 1978 mpss { 1979 memory-region = <&mpss_mem>; 1980 }; 1981 1982 bam_dmux: bam-dmux { 1983 compatible = "qcom,bam-dmux"; 1984 1985 interrupt-parent = <&hexagon_smsm>; 1986 interrupts = <1 IRQ_TYPE_EDGE_BOTH>, <11 IRQ_TYPE_EDGE_BOTH>; 1987 interrupt-names = "pc", "pc-ack"; 1988 1989 qcom,smem-states = <&apps_smsm 1>, <&apps_smsm 11>; 1990 qcom,smem-state-names = "pc", "pc-ack"; 1991 1992 dmas = <&bam_dmux_dma 4>, <&bam_dmux_dma 5>; 1993 dma-names = "tx", "rx"; 1994 1995 status = "disabled"; 1996 }; 1997 1998 smd-edge { 1999 interrupts = <GIC_SPI 25 IRQ_TYPE_EDGE_RISING>; 2000 2001 qcom,smd-edge = <0>; 2002 mboxes = <&apcs 12>; 2003 qcom,remote-pid = <1>; 2004 2005 label = "hexagon"; 2006 2007 apr: apr { 2008 compatible = "qcom,apr-v2"; 2009 qcom,smd-channels = "apr_audio_svc"; 2010 qcom,domain = <APR_DOMAIN_ADSP>; 2011 #address-cells = <1>; 2012 #size-cells = <0>; 2013 status = "disabled"; 2014 2015 q6core: service@3 { 2016 compatible = "qcom,q6core"; 2017 reg = <APR_SVC_ADSP_CORE>; 2018 }; 2019 2020 q6afe: service@4 { 2021 compatible = "qcom,q6afe"; 2022 reg = <APR_SVC_AFE>; 2023 2024 q6afedai: dais { 2025 compatible = "qcom,q6afe-dais"; 2026 #address-cells = <1>; 2027 #size-cells = <0>; 2028 #sound-dai-cells = <1>; 2029 }; 2030 }; 2031 2032 q6asm: service@7 { 2033 compatible = "qcom,q6asm"; 2034 reg = <APR_SVC_ASM>; 2035 2036 q6asmdai: dais { 2037 compatible = "qcom,q6asm-dais"; 2038 #address-cells = <1>; 2039 #size-cells = <0>; 2040 #sound-dai-cells = <1>; 2041 }; 2042 }; 2043 2044 q6adm: service@8 { 2045 compatible = "qcom,q6adm"; 2046 reg = <APR_SVC_ADM>; 2047 2048 q6routing: routing { 2049 compatible = "qcom,q6adm-routing"; 2050 #sound-dai-cells = <0>; 2051 }; 2052 }; 2053 }; 2054 2055 fastrpc { 2056 compatible = "qcom,fastrpc"; 2057 qcom,smd-channels = "fastrpcsmd-apps-dsp"; 2058 label = "adsp"; 2059 qcom,non-secure-domain; 2060 2061 #address-cells = <1>; 2062 #size-cells = <0>; 2063 2064 cb@1 { 2065 compatible = "qcom,fastrpc-compute-cb"; 2066 reg = <1>; 2067 }; 2068 }; 2069 }; 2070 }; 2071 2072 sound: sound@7702000 { 2073 status = "disabled"; 2074 compatible = "qcom,apq8016-sbc-sndcard"; 2075 reg = <0x07702000 0x4>, <0x07702004 0x4>; 2076 reg-names = "mic-iomux", "spkr-iomux"; 2077 }; 2078 2079 lpass: audio-controller@7708000 { 2080 status = "disabled"; 2081 compatible = "qcom,apq8016-lpass-cpu"; 2082 2083 /* 2084 * Note: Unlike the name would suggest, the SEC_I2S_CLK 2085 * is actually only used by Tertiary MI2S while 2086 * Primary/Secondary MI2S both use the PRI_I2S_CLK. 2087 */ 2088 clocks = <&gcc GCC_ULTAUDIO_AHBFABRIC_IXFABRIC_CLK>, 2089 <&gcc GCC_ULTAUDIO_LPAIF_PRI_I2S_CLK>, 2090 <&gcc GCC_ULTAUDIO_LPAIF_PRI_I2S_CLK>, 2091 <&gcc GCC_ULTAUDIO_LPAIF_SEC_I2S_CLK>, 2092 <&gcc GCC_ULTAUDIO_LPAIF_AUX_I2S_CLK>, 2093 <&gcc GCC_ULTAUDIO_PCNOC_MPORT_CLK>, 2094 <&gcc GCC_ULTAUDIO_PCNOC_SWAY_CLK>; 2095 2096 clock-names = "ahbix-clk", 2097 "mi2s-bit-clk0", 2098 "mi2s-bit-clk1", 2099 "mi2s-bit-clk2", 2100 "mi2s-bit-clk3", 2101 "pcnoc-mport-clk", 2102 "pcnoc-sway-clk"; 2103 #sound-dai-cells = <1>; 2104 2105 interrupts = <GIC_SPI 160 IRQ_TYPE_LEVEL_HIGH>; 2106 interrupt-names = "lpass-irq-lpaif"; 2107 reg = <0x07708000 0x10000>; 2108 reg-names = "lpass-lpaif"; 2109 2110 #address-cells = <1>; 2111 #size-cells = <0>; 2112 }; 2113 2114 lpass_codec: audio-codec@771c000 { 2115 compatible = "qcom,msm8916-wcd-digital-codec"; 2116 reg = <0x0771c000 0x400>; 2117 clocks = <&gcc GCC_ULTAUDIO_AHBFABRIC_IXFABRIC_CLK>, 2118 <&gcc GCC_CODEC_DIGCODEC_CLK>; 2119 clock-names = "ahbix-clk", "mclk"; 2120 #sound-dai-cells = <1>; 2121 status = "disabled"; 2122 }; 2123 2124 sdhc_1: mmc@7824900 { 2125 compatible = "qcom,msm8916-sdhci", "qcom,sdhci-msm-v4"; 2126 reg = <0x07824900 0x11c>, <0x07824000 0x800>; 2127 reg-names = "hc", "core"; 2128 2129 interrupts = <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>, 2130 <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>; 2131 interrupt-names = "hc_irq", "pwr_irq"; 2132 clocks = <&gcc GCC_SDCC1_AHB_CLK>, 2133 <&gcc GCC_SDCC1_APPS_CLK>, 2134 <&xo_board>; 2135 clock-names = "iface", "core", "xo"; 2136 pinctrl-0 = <&sdc1_default>; 2137 pinctrl-1 = <&sdc1_sleep>; 2138 pinctrl-names = "default", "sleep"; 2139 mmc-ddr-1_8v; 2140 bus-width = <8>; 2141 non-removable; 2142 status = "disabled"; 2143 }; 2144 2145 sdhc_2: mmc@7864900 { 2146 compatible = "qcom,msm8916-sdhci", "qcom,sdhci-msm-v4"; 2147 reg = <0x07864900 0x11c>, <0x07864000 0x800>; 2148 reg-names = "hc", "core"; 2149 2150 interrupts = <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>, 2151 <GIC_SPI 221 IRQ_TYPE_LEVEL_HIGH>; 2152 interrupt-names = "hc_irq", "pwr_irq"; 2153 clocks = <&gcc GCC_SDCC2_AHB_CLK>, 2154 <&gcc GCC_SDCC2_APPS_CLK>, 2155 <&xo_board>; 2156 clock-names = "iface", "core", "xo"; 2157 pinctrl-0 = <&sdc2_default>; 2158 pinctrl-1 = <&sdc2_sleep>; 2159 pinctrl-names = "default", "sleep"; 2160 bus-width = <4>; 2161 status = "disabled"; 2162 }; 2163 2164 blsp_dma: dma-controller@7884000 { 2165 compatible = "qcom,bam-v1.7.0"; 2166 reg = <0x07884000 0x23000>; 2167 interrupts = <GIC_SPI 238 IRQ_TYPE_LEVEL_HIGH>; 2168 clocks = <&gcc GCC_BLSP1_AHB_CLK>; 2169 clock-names = "bam_clk"; 2170 #dma-cells = <1>; 2171 qcom,ee = <0>; 2172 qcom,controlled-remotely; 2173 }; 2174 2175 blsp_uart1: serial@78af000 { 2176 compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm"; 2177 reg = <0x078af000 0x200>; 2178 interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>; 2179 clocks = <&gcc GCC_BLSP1_UART1_APPS_CLK>, <&gcc GCC_BLSP1_AHB_CLK>; 2180 clock-names = "core", "iface"; 2181 dmas = <&blsp_dma 0>, <&blsp_dma 1>; 2182 dma-names = "tx", "rx"; 2183 status = "disabled"; 2184 }; 2185 2186 blsp_uart2: serial@78b0000 { 2187 compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm"; 2188 reg = <0x078b0000 0x200>; 2189 interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>; 2190 clocks = <&gcc GCC_BLSP1_UART2_APPS_CLK>, <&gcc GCC_BLSP1_AHB_CLK>; 2191 clock-names = "core", "iface"; 2192 dmas = <&blsp_dma 2>, <&blsp_dma 3>; 2193 dma-names = "tx", "rx"; 2194 status = "disabled"; 2195 }; 2196 2197 blsp_i2c1: i2c@78b5000 { 2198 compatible = "qcom,i2c-qup-v2.2.1"; 2199 reg = <0x078b5000 0x500>; 2200 interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>; 2201 clocks = <&gcc GCC_BLSP1_QUP1_I2C_APPS_CLK>, 2202 <&gcc GCC_BLSP1_AHB_CLK>; 2203 clock-names = "core", "iface"; 2204 dmas = <&blsp_dma 4>, <&blsp_dma 5>; 2205 dma-names = "tx", "rx"; 2206 pinctrl-names = "default", "sleep"; 2207 pinctrl-0 = <&blsp_i2c1_default>; 2208 pinctrl-1 = <&blsp_i2c1_sleep>; 2209 #address-cells = <1>; 2210 #size-cells = <0>; 2211 status = "disabled"; 2212 }; 2213 2214 blsp_spi1: spi@78b5000 { 2215 compatible = "qcom,spi-qup-v2.2.1"; 2216 reg = <0x078b5000 0x500>; 2217 interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>; 2218 clocks = <&gcc GCC_BLSP1_QUP1_SPI_APPS_CLK>, 2219 <&gcc GCC_BLSP1_AHB_CLK>; 2220 clock-names = "core", "iface"; 2221 dmas = <&blsp_dma 4>, <&blsp_dma 5>; 2222 dma-names = "tx", "rx"; 2223 pinctrl-names = "default", "sleep"; 2224 pinctrl-0 = <&blsp_spi1_default>; 2225 pinctrl-1 = <&blsp_spi1_sleep>; 2226 #address-cells = <1>; 2227 #size-cells = <0>; 2228 status = "disabled"; 2229 }; 2230 2231 blsp_i2c2: i2c@78b6000 { 2232 compatible = "qcom,i2c-qup-v2.2.1"; 2233 reg = <0x078b6000 0x500>; 2234 interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>; 2235 clocks = <&gcc GCC_BLSP1_QUP2_I2C_APPS_CLK>, 2236 <&gcc GCC_BLSP1_AHB_CLK>; 2237 clock-names = "core", "iface"; 2238 dmas = <&blsp_dma 6>, <&blsp_dma 7>; 2239 dma-names = "tx", "rx"; 2240 pinctrl-names = "default", "sleep"; 2241 pinctrl-0 = <&blsp_i2c2_default>; 2242 pinctrl-1 = <&blsp_i2c2_sleep>; 2243 #address-cells = <1>; 2244 #size-cells = <0>; 2245 status = "disabled"; 2246 }; 2247 2248 blsp_spi2: spi@78b6000 { 2249 compatible = "qcom,spi-qup-v2.2.1"; 2250 reg = <0x078b6000 0x500>; 2251 interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>; 2252 clocks = <&gcc GCC_BLSP1_QUP2_SPI_APPS_CLK>, 2253 <&gcc GCC_BLSP1_AHB_CLK>; 2254 clock-names = "core", "iface"; 2255 dmas = <&blsp_dma 6>, <&blsp_dma 7>; 2256 dma-names = "tx", "rx"; 2257 pinctrl-names = "default", "sleep"; 2258 pinctrl-0 = <&blsp_spi2_default>; 2259 pinctrl-1 = <&blsp_spi2_sleep>; 2260 #address-cells = <1>; 2261 #size-cells = <0>; 2262 status = "disabled"; 2263 }; 2264 2265 blsp_i2c3: i2c@78b7000 { 2266 compatible = "qcom,i2c-qup-v2.2.1"; 2267 reg = <0x078b7000 0x500>; 2268 interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>; 2269 clocks = <&gcc GCC_BLSP1_QUP3_I2C_APPS_CLK>, 2270 <&gcc GCC_BLSP1_AHB_CLK>; 2271 clock-names = "core", "iface"; 2272 dmas = <&blsp_dma 8>, <&blsp_dma 9>; 2273 dma-names = "tx", "rx"; 2274 pinctrl-names = "default", "sleep"; 2275 pinctrl-0 = <&blsp_i2c3_default>; 2276 pinctrl-1 = <&blsp_i2c3_sleep>; 2277 #address-cells = <1>; 2278 #size-cells = <0>; 2279 status = "disabled"; 2280 }; 2281 2282 blsp_spi3: spi@78b7000 { 2283 compatible = "qcom,spi-qup-v2.2.1"; 2284 reg = <0x078b7000 0x500>; 2285 interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>; 2286 clocks = <&gcc GCC_BLSP1_QUP3_SPI_APPS_CLK>, 2287 <&gcc GCC_BLSP1_AHB_CLK>; 2288 clock-names = "core", "iface"; 2289 dmas = <&blsp_dma 8>, <&blsp_dma 9>; 2290 dma-names = "tx", "rx"; 2291 pinctrl-names = "default", "sleep"; 2292 pinctrl-0 = <&blsp_spi3_default>; 2293 pinctrl-1 = <&blsp_spi3_sleep>; 2294 #address-cells = <1>; 2295 #size-cells = <0>; 2296 status = "disabled"; 2297 }; 2298 2299 blsp_i2c4: i2c@78b8000 { 2300 compatible = "qcom,i2c-qup-v2.2.1"; 2301 reg = <0x078b8000 0x500>; 2302 interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>; 2303 clocks = <&gcc GCC_BLSP1_QUP4_I2C_APPS_CLK>, 2304 <&gcc GCC_BLSP1_AHB_CLK>; 2305 clock-names = "core", "iface"; 2306 dmas = <&blsp_dma 10>, <&blsp_dma 11>; 2307 dma-names = "tx", "rx"; 2308 pinctrl-names = "default", "sleep"; 2309 pinctrl-0 = <&blsp_i2c4_default>; 2310 pinctrl-1 = <&blsp_i2c4_sleep>; 2311 #address-cells = <1>; 2312 #size-cells = <0>; 2313 status = "disabled"; 2314 }; 2315 2316 blsp_spi4: spi@78b8000 { 2317 compatible = "qcom,spi-qup-v2.2.1"; 2318 reg = <0x078b8000 0x500>; 2319 interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>; 2320 clocks = <&gcc GCC_BLSP1_QUP4_SPI_APPS_CLK>, 2321 <&gcc GCC_BLSP1_AHB_CLK>; 2322 clock-names = "core", "iface"; 2323 dmas = <&blsp_dma 10>, <&blsp_dma 11>; 2324 dma-names = "tx", "rx"; 2325 pinctrl-names = "default", "sleep"; 2326 pinctrl-0 = <&blsp_spi4_default>; 2327 pinctrl-1 = <&blsp_spi4_sleep>; 2328 #address-cells = <1>; 2329 #size-cells = <0>; 2330 status = "disabled"; 2331 }; 2332 2333 blsp_i2c5: i2c@78b9000 { 2334 compatible = "qcom,i2c-qup-v2.2.1"; 2335 reg = <0x078b9000 0x500>; 2336 interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>; 2337 clocks = <&gcc GCC_BLSP1_QUP5_I2C_APPS_CLK>, 2338 <&gcc GCC_BLSP1_AHB_CLK>; 2339 clock-names = "core", "iface"; 2340 dmas = <&blsp_dma 12>, <&blsp_dma 13>; 2341 dma-names = "tx", "rx"; 2342 pinctrl-names = "default", "sleep"; 2343 pinctrl-0 = <&blsp_i2c5_default>; 2344 pinctrl-1 = <&blsp_i2c5_sleep>; 2345 #address-cells = <1>; 2346 #size-cells = <0>; 2347 status = "disabled"; 2348 }; 2349 2350 blsp_spi5: spi@78b9000 { 2351 compatible = "qcom,spi-qup-v2.2.1"; 2352 reg = <0x078b9000 0x500>; 2353 interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>; 2354 clocks = <&gcc GCC_BLSP1_QUP5_SPI_APPS_CLK>, 2355 <&gcc GCC_BLSP1_AHB_CLK>; 2356 clock-names = "core", "iface"; 2357 dmas = <&blsp_dma 12>, <&blsp_dma 13>; 2358 dma-names = "tx", "rx"; 2359 pinctrl-names = "default", "sleep"; 2360 pinctrl-0 = <&blsp_spi5_default>; 2361 pinctrl-1 = <&blsp_spi5_sleep>; 2362 #address-cells = <1>; 2363 #size-cells = <0>; 2364 status = "disabled"; 2365 }; 2366 2367 blsp_i2c6: i2c@78ba000 { 2368 compatible = "qcom,i2c-qup-v2.2.1"; 2369 reg = <0x078ba000 0x500>; 2370 interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>; 2371 clocks = <&gcc GCC_BLSP1_QUP6_I2C_APPS_CLK>, 2372 <&gcc GCC_BLSP1_AHB_CLK>; 2373 clock-names = "core", "iface"; 2374 dmas = <&blsp_dma 14>, <&blsp_dma 15>; 2375 dma-names = "tx", "rx"; 2376 pinctrl-names = "default", "sleep"; 2377 pinctrl-0 = <&blsp_i2c6_default>; 2378 pinctrl-1 = <&blsp_i2c6_sleep>; 2379 #address-cells = <1>; 2380 #size-cells = <0>; 2381 status = "disabled"; 2382 }; 2383 2384 blsp_spi6: spi@78ba000 { 2385 compatible = "qcom,spi-qup-v2.2.1"; 2386 reg = <0x078ba000 0x500>; 2387 interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>; 2388 clocks = <&gcc GCC_BLSP1_QUP6_SPI_APPS_CLK>, 2389 <&gcc GCC_BLSP1_AHB_CLK>; 2390 clock-names = "core", "iface"; 2391 dmas = <&blsp_dma 14>, <&blsp_dma 15>; 2392 dma-names = "tx", "rx"; 2393 pinctrl-names = "default", "sleep"; 2394 pinctrl-0 = <&blsp_spi6_default>; 2395 pinctrl-1 = <&blsp_spi6_sleep>; 2396 #address-cells = <1>; 2397 #size-cells = <0>; 2398 status = "disabled"; 2399 }; 2400 2401 usb: usb@78d9000 { 2402 compatible = "qcom,ci-hdrc"; 2403 reg = <0x078d9000 0x200>, 2404 <0x078d9200 0x200>; 2405 interrupts = <GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>, 2406 <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>; 2407 clocks = <&gcc GCC_USB_HS_AHB_CLK>, 2408 <&gcc GCC_USB_HS_SYSTEM_CLK>; 2409 clock-names = "iface", "core"; 2410 assigned-clocks = <&gcc GCC_USB_HS_SYSTEM_CLK>; 2411 assigned-clock-rates = <80000000>; 2412 resets = <&gcc GCC_USB_HS_BCR>; 2413 reset-names = "core"; 2414 phy_type = "ulpi"; 2415 dr_mode = "otg"; 2416 hnp-disable; 2417 srp-disable; 2418 adp-disable; 2419 ahb-burst-config = <0>; 2420 phy-names = "usb-phy"; 2421 phys = <&usb_hs_phy>; 2422 status = "disabled"; 2423 #reset-cells = <1>; 2424 2425 ulpi { 2426 usb_hs_phy: phy { 2427 compatible = "qcom,usb-hs-phy-msm8916", 2428 "qcom,usb-hs-phy"; 2429 #phy-cells = <0>; 2430 clocks = <&xo_board>, <&gcc GCC_USB2A_PHY_SLEEP_CLK>; 2431 clock-names = "ref", "sleep"; 2432 resets = <&gcc GCC_USB2A_PHY_BCR>, <&usb 0>; 2433 reset-names = "phy", "por"; 2434 qcom,init-seq = /bits/ 8 <0x0 0x44>, 2435 <0x1 0x6b>, 2436 <0x2 0x24>, 2437 <0x3 0x13>; 2438 }; 2439 }; 2440 }; 2441 2442 wcnss: remoteproc@a204000 { 2443 compatible = "qcom,pronto-v2-pil", "qcom,pronto"; 2444 reg = <0x0a204000 0x2000>, <0x0a202000 0x1000>, <0x0a21b000 0x3000>; 2445 reg-names = "ccu", "dxe", "pmu"; 2446 2447 memory-region = <&wcnss_mem>; 2448 2449 interrupts-extended = <&intc GIC_SPI 149 IRQ_TYPE_EDGE_RISING>, 2450 <&wcnss_smp2p_in 0 IRQ_TYPE_EDGE_RISING>, 2451 <&wcnss_smp2p_in 1 IRQ_TYPE_EDGE_RISING>, 2452 <&wcnss_smp2p_in 2 IRQ_TYPE_EDGE_RISING>, 2453 <&wcnss_smp2p_in 3 IRQ_TYPE_EDGE_RISING>; 2454 interrupt-names = "wdog", "fatal", "ready", "handover", "stop-ack"; 2455 2456 power-domains = <&rpmpd MSM8916_VDDCX>, 2457 <&rpmpd MSM8916_VDDMX>; 2458 power-domain-names = "cx", "mx"; 2459 2460 qcom,smem-states = <&wcnss_smp2p_out 0>; 2461 qcom,smem-state-names = "stop"; 2462 2463 pinctrl-names = "default"; 2464 pinctrl-0 = <&wcss_wlan_default>; 2465 2466 status = "disabled"; 2467 2468 wcnss_iris: iris { 2469 /* Separate chip, compatible is board-specific */ 2470 clocks = <&rpmcc RPM_SMD_RF_CLK2>; 2471 clock-names = "xo"; 2472 }; 2473 2474 smd-edge { 2475 interrupts = <GIC_SPI 142 IRQ_TYPE_EDGE_RISING>; 2476 2477 mboxes = <&apcs 17>; 2478 qcom,smd-edge = <6>; 2479 qcom,remote-pid = <4>; 2480 2481 label = "pronto"; 2482 2483 wcnss_ctrl: wcnss { 2484 compatible = "qcom,wcnss"; 2485 qcom,smd-channels = "WCNSS_CTRL"; 2486 2487 qcom,mmio = <&wcnss>; 2488 2489 wcnss_bt: bluetooth { 2490 compatible = "qcom,wcnss-bt"; 2491 }; 2492 2493 wcnss_wifi: wifi { 2494 compatible = "qcom,wcnss-wlan"; 2495 2496 interrupts = <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>, 2497 <GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>; 2498 interrupt-names = "tx", "rx"; 2499 2500 qcom,smem-states = <&apps_smsm 10>, <&apps_smsm 9>; 2501 qcom,smem-state-names = "tx-enable", "tx-rings-empty"; 2502 }; 2503 }; 2504 }; 2505 }; 2506 2507 intc: interrupt-controller@b000000 { 2508 compatible = "qcom,msm-qgic2"; 2509 interrupt-controller; 2510 #interrupt-cells = <3>; 2511 reg = <0x0b000000 0x1000>, <0x0b002000 0x2000>, 2512 <0x0b001000 0x1000>, <0x0b004000 0x2000>; 2513 interrupts = <GIC_PPI 0 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>; 2514 }; 2515 2516 apcs: mailbox@b011000 { 2517 compatible = "qcom,msm8916-apcs-kpss-global", "syscon"; 2518 reg = <0x0b011000 0x1000>; 2519 #mbox-cells = <1>; 2520 clocks = <&a53pll>, <&gcc GPLL0_VOTE>; 2521 clock-names = "pll", "aux"; 2522 #clock-cells = <0>; 2523 }; 2524 2525 a53pll: clock@b016000 { 2526 compatible = "qcom,msm8916-a53pll"; 2527 reg = <0x0b016000 0x40>; 2528 #clock-cells = <0>; 2529 clocks = <&xo_board>; 2530 clock-names = "xo"; 2531 }; 2532 2533 timer@b020000 { 2534 #address-cells = <1>; 2535 #size-cells = <1>; 2536 ranges; 2537 compatible = "arm,armv7-timer-mem"; 2538 reg = <0x0b020000 0x1000>; 2539 clock-frequency = <19200000>; 2540 2541 frame@b021000 { 2542 frame-number = <0>; 2543 interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>, 2544 <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>; 2545 reg = <0x0b021000 0x1000>, 2546 <0x0b022000 0x1000>; 2547 }; 2548 2549 frame@b023000 { 2550 frame-number = <1>; 2551 interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>; 2552 reg = <0x0b023000 0x1000>; 2553 status = "disabled"; 2554 }; 2555 2556 frame@b024000 { 2557 frame-number = <2>; 2558 interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>; 2559 reg = <0x0b024000 0x1000>; 2560 status = "disabled"; 2561 }; 2562 2563 frame@b025000 { 2564 frame-number = <3>; 2565 interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>; 2566 reg = <0x0b025000 0x1000>; 2567 status = "disabled"; 2568 }; 2569 2570 frame@b026000 { 2571 frame-number = <4>; 2572 interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>; 2573 reg = <0x0b026000 0x1000>; 2574 status = "disabled"; 2575 }; 2576 2577 frame@b027000 { 2578 frame-number = <5>; 2579 interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>; 2580 reg = <0x0b027000 0x1000>; 2581 status = "disabled"; 2582 }; 2583 2584 frame@b028000 { 2585 frame-number = <6>; 2586 interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>; 2587 reg = <0x0b028000 0x1000>; 2588 status = "disabled"; 2589 }; 2590 }; 2591 2592 cpu0_acc: power-manager@b088000 { 2593 compatible = "qcom,msm8916-acc"; 2594 reg = <0x0b088000 0x1000>; 2595 status = "reserved"; /* Controlled by PSCI firmware */ 2596 }; 2597 2598 cpu0_saw: power-manager@b089000 { 2599 compatible = "qcom,msm8916-saw2-v3.0-cpu", "qcom,saw2"; 2600 reg = <0x0b089000 0x1000>; 2601 status = "reserved"; /* Controlled by PSCI firmware */ 2602 }; 2603 2604 cpu1_acc: power-manager@b098000 { 2605 compatible = "qcom,msm8916-acc"; 2606 reg = <0x0b098000 0x1000>; 2607 status = "reserved"; /* Controlled by PSCI firmware */ 2608 }; 2609 2610 cpu1_saw: power-manager@b099000 { 2611 compatible = "qcom,msm8916-saw2-v3.0-cpu", "qcom,saw2"; 2612 reg = <0x0b099000 0x1000>; 2613 status = "reserved"; /* Controlled by PSCI firmware */ 2614 }; 2615 2616 cpu2_acc: power-manager@b0a8000 { 2617 compatible = "qcom,msm8916-acc"; 2618 reg = <0x0b0a8000 0x1000>; 2619 status = "reserved"; /* Controlled by PSCI firmware */ 2620 }; 2621 2622 cpu2_saw: power-manager@b0a9000 { 2623 compatible = "qcom,msm8916-saw2-v3.0-cpu", "qcom,saw2"; 2624 reg = <0x0b0a9000 0x1000>; 2625 status = "reserved"; /* Controlled by PSCI firmware */ 2626 }; 2627 2628 cpu3_acc: power-manager@b0b8000 { 2629 compatible = "qcom,msm8916-acc"; 2630 reg = <0x0b0b8000 0x1000>; 2631 status = "reserved"; /* Controlled by PSCI firmware */ 2632 }; 2633 2634 cpu3_saw: power-manager@b0b9000 { 2635 compatible = "qcom,msm8916-saw2-v3.0-cpu", "qcom,saw2"; 2636 reg = <0x0b0b9000 0x1000>; 2637 status = "reserved"; /* Controlled by PSCI firmware */ 2638 }; 2639 }; 2640 2641 thermal-zones { 2642 cpu0-1-thermal { 2643 polling-delay-passive = <250>; 2644 2645 thermal-sensors = <&tsens 5>; 2646 2647 trips { 2648 cpu0_1_alert0: trip-point0 { 2649 temperature = <75000>; 2650 hysteresis = <2000>; 2651 type = "passive"; 2652 }; 2653 cpu0_1_crit: cpu-crit { 2654 temperature = <110000>; 2655 hysteresis = <2000>; 2656 type = "critical"; 2657 }; 2658 }; 2659 2660 cooling-maps { 2661 map0 { 2662 trip = <&cpu0_1_alert0>; 2663 cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 2664 <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 2665 <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 2666 <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; 2667 }; 2668 }; 2669 }; 2670 2671 cpu2-3-thermal { 2672 polling-delay-passive = <250>; 2673 2674 thermal-sensors = <&tsens 4>; 2675 2676 trips { 2677 cpu2_3_alert0: trip-point0 { 2678 temperature = <75000>; 2679 hysteresis = <2000>; 2680 type = "passive"; 2681 }; 2682 cpu2_3_crit: cpu-crit { 2683 temperature = <110000>; 2684 hysteresis = <2000>; 2685 type = "critical"; 2686 }; 2687 }; 2688 2689 cooling-maps { 2690 map0 { 2691 trip = <&cpu2_3_alert0>; 2692 cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 2693 <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 2694 <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 2695 <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; 2696 }; 2697 }; 2698 }; 2699 2700 gpu-thermal { 2701 polling-delay-passive = <250>; 2702 2703 thermal-sensors = <&tsens 2>; 2704 2705 cooling-maps { 2706 map0 { 2707 trip = <&gpu_alert0>; 2708 cooling-device = <&gpu THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; 2709 }; 2710 }; 2711 2712 trips { 2713 gpu_alert0: trip-point0 { 2714 temperature = <75000>; 2715 hysteresis = <2000>; 2716 type = "passive"; 2717 }; 2718 gpu_crit: gpu-crit { 2719 temperature = <95000>; 2720 hysteresis = <2000>; 2721 type = "critical"; 2722 }; 2723 }; 2724 }; 2725 2726 camera-thermal { 2727 polling-delay-passive = <250>; 2728 2729 thermal-sensors = <&tsens 1>; 2730 2731 trips { 2732 cam_alert0: trip-point0 { 2733 temperature = <75000>; 2734 hysteresis = <2000>; 2735 type = "hot"; 2736 }; 2737 }; 2738 }; 2739 2740 modem-thermal { 2741 polling-delay-passive = <250>; 2742 2743 thermal-sensors = <&tsens 0>; 2744 2745 trips { 2746 modem_alert0: trip-point0 { 2747 temperature = <85000>; 2748 hysteresis = <2000>; 2749 type = "hot"; 2750 }; 2751 }; 2752 }; 2753 }; 2754 2755 timer { 2756 compatible = "arm,armv8-timer"; 2757 interrupts = <GIC_PPI 2 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 2758 <GIC_PPI 3 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 2759 <GIC_PPI 4 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 2760 <GIC_PPI 1 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>; 2761 }; 2762}; 2763