Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

arm64: dts: qcom: Add initial support for MSM8937

Add initial support for MSM8937 SoC.

Signed-off-by: Dang Huynh <danct12@riseup.net>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Co-developed-by: Barnabás Czémán <barnabas.czeman@mainlining.org>
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Signed-off-by: Barnabás Czémán <barnabas.czeman@mainlining.org>
Link: https://lore.kernel.org/r/20251014-msm8937-v10-1-b3e8da82e968@mainlining.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>

authored by

Dang Huynh and committed by
Bjorn Andersson
a829f6f2 08ce5274

+2133
+2133
arch/arm64/boot/dts/qcom/msm8937.dtsi
··· 1 + // SPDX-License-Identifier: BSD-3-Clause 2 + /* 3 + * Copyright (c) 2023, Dang Huynh <danct12@riseup.net> 4 + */ 5 + 6 + #include <dt-bindings/clock/qcom,dsi-phy-28nm.h> 7 + #include <dt-bindings/clock/qcom,gcc-msm8917.h> 8 + #include <dt-bindings/clock/qcom,rpmcc.h> 9 + #include <dt-bindings/interrupt-controller/arm-gic.h> 10 + #include <dt-bindings/power/qcom-rpmpd.h> 11 + #include <dt-bindings/thermal/thermal.h> 12 + 13 + / { 14 + interrupt-parent = <&intc>; 15 + 16 + #address-cells = <2>; 17 + #size-cells = <2>; 18 + 19 + clocks { 20 + xo_board: xo-board { 21 + compatible = "fixed-clock"; 22 + #clock-cells = <0>; 23 + }; 24 + 25 + sleep_clk: sleep-clk { 26 + compatible = "fixed-clock"; 27 + #clock-cells = <0>; 28 + }; 29 + }; 30 + 31 + cpus { 32 + #address-cells = <1>; 33 + #size-cells = <0>; 34 + 35 + cpu0: cpu@0 { 36 + compatible = "arm,cortex-a53"; 37 + reg = <0x0>; 38 + device_type = "cpu"; 39 + enable-method = "psci"; 40 + operating-points-v2 = <&cpu_opp_table_c0>; 41 + next-level-cache = <&l2_0>; 42 + #cooling-cells = <2>; 43 + 44 + l2_0: l2-cache { 45 + compatible = "cache"; 46 + cache-level = <2>; 47 + cache-size = <0x80000>; 48 + cache-unified; 49 + }; 50 + }; 51 + 52 + cpu1: cpu@1 { 53 + compatible = "arm,cortex-a53"; 54 + reg = <0x1>; 55 + device_type = "cpu"; 56 + enable-method = "psci"; 57 + operating-points-v2 = <&cpu_opp_table_c0>; 58 + next-level-cache = <&l2_0>; 59 + #cooling-cells = <2>; 60 + }; 61 + 62 + cpu2: cpu@2 { 63 + compatible = "arm,cortex-a53"; 64 + reg = <0x2>; 65 + device_type = "cpu"; 66 + enable-method = "psci"; 67 + operating-points-v2 = <&cpu_opp_table_c0>; 68 + next-level-cache = <&l2_0>; 69 + #cooling-cells = <2>; 70 + }; 71 + 72 + cpu3: cpu@3 { 73 + compatible = "arm,cortex-a53"; 74 + reg = <0x3>; 75 + device_type = "cpu"; 76 + enable-method = "psci"; 77 + operating-points-v2 = <&cpu_opp_table_c0>; 78 + next-level-cache = <&l2_0>; 79 + #cooling-cells = <2>; 80 + }; 81 + 82 + cpu4: cpu@100 { 83 + compatible = "arm,cortex-a53"; 84 + reg = <0x100>; 85 + device_type = "cpu"; 86 + next-level-cache = <&l2_1>; 87 + enable-method = "psci"; 88 + operating-points-v2 = <&cpu_opp_table_c1>; 89 + #cooling-cells = <2>; 90 + 91 + l2_1: l2-cache { 92 + compatible = "cache"; 93 + cache-level = <2>; 94 + cache-size = <0x100000>; 95 + cache-unified; 96 + }; 97 + }; 98 + 99 + cpu5: cpu@101 { 100 + compatible = "arm,cortex-a53"; 101 + reg = <0x101>; 102 + device_type = "cpu"; 103 + next-level-cache = <&l2_1>; 104 + enable-method = "psci"; 105 + operating-points-v2 = <&cpu_opp_table_c1>; 106 + #cooling-cells = <2>; 107 + }; 108 + 109 + cpu6: cpu@102 { 110 + compatible = "arm,cortex-a53"; 111 + reg = <0x102>; 112 + device_type = "cpu"; 113 + next-level-cache = <&l2_1>; 114 + enable-method = "psci"; 115 + operating-points-v2 = <&cpu_opp_table_c1>; 116 + #cooling-cells = <2>; 117 + }; 118 + 119 + cpu7: cpu@103 { 120 + compatible = "arm,cortex-a53"; 121 + reg = <0x103>; 122 + device_type = "cpu"; 123 + next-level-cache = <&l2_1>; 124 + enable-method = "psci"; 125 + operating-points-v2 = <&cpu_opp_table_c1>; 126 + #cooling-cells = <2>; 127 + }; 128 + 129 + cpu-map { 130 + /* Little Cores */ 131 + cluster0 { 132 + core0 { 133 + cpu = <&cpu0>; 134 + }; 135 + 136 + core1 { 137 + cpu = <&cpu1>; 138 + }; 139 + 140 + core2 { 141 + cpu = <&cpu2>; 142 + }; 143 + 144 + core3 { 145 + cpu = <&cpu3>; 146 + }; 147 + }; 148 + 149 + /* Big Cores */ 150 + cluster1 { 151 + core0 { 152 + cpu = <&cpu4>; 153 + }; 154 + 155 + core1 { 156 + cpu = <&cpu5>; 157 + }; 158 + 159 + core2 { 160 + cpu = <&cpu6>; 161 + }; 162 + 163 + core3 { 164 + cpu = <&cpu7>; 165 + }; 166 + }; 167 + }; 168 + }; 169 + 170 + firmware { 171 + scm: scm { 172 + compatible = "qcom,scm-msm8937", "qcom,scm"; 173 + clocks = <&gcc GCC_CRYPTO_CLK>, 174 + <&gcc GCC_CRYPTO_AXI_CLK>, 175 + <&gcc GCC_CRYPTO_AHB_CLK>; 176 + clock-names = "core", 177 + "bus", 178 + "iface"; 179 + #reset-cells = <1>; 180 + 181 + qcom,dload-mode = <&tcsr 0x6100>; 182 + }; 183 + }; 184 + 185 + memory@80000000 { 186 + /* We expect the bootloader to fill in the reg */ 187 + reg = <0 0x80000000 0 0>; 188 + device_type = "memory"; 189 + }; 190 + 191 + reserved-memory { 192 + ranges; 193 + #address-cells = <2>; 194 + #size-cells = <2>; 195 + 196 + qseecom_mem: reserved@85b00000 { 197 + reg = <0x0 0x85b00000 0x0 0x800000>; 198 + no-map; 199 + }; 200 + 201 + smem@86300000 { 202 + compatible = "qcom,smem"; 203 + reg = <0x0 0x86300000 0x0 0x100000>; 204 + no-map; 205 + 206 + hwlocks = <&tcsr_mutex 3>; 207 + qcom,rpm-msg-ram = <&rpm_msg_ram>; 208 + }; 209 + 210 + reserved@86400000 { 211 + reg = <0x0 0x86400000 0x0 0x400000>; 212 + no-map; 213 + }; 214 + 215 + rmtfs@92100000 { 216 + compatible = "qcom,rmtfs-mem"; 217 + reg = <0x0 0x92100000 0x0 0x180000>; 218 + no-map; 219 + 220 + qcom,client-id = <1>; 221 + }; 222 + 223 + adsp_mem: adsp { 224 + size = <0x0 0x1100000>; 225 + alignment = <0x0 0x100000>; 226 + alloc-ranges = <0x0 0x86800000 0x0 0x8000000>; 227 + no-map; 228 + status = "disabled"; 229 + }; 230 + 231 + mba_mem: mba { 232 + size = <0x0 0x100000>; 233 + alignment = <0x0 0x100000>; 234 + alloc-ranges = <0x0 0x86800000 0x0 0x8000000>; 235 + no-map; 236 + status = "disabled"; 237 + }; 238 + 239 + wcnss_mem: wcnss { 240 + size = <0x0 0x700000>; 241 + alignment = <0x0 0x100000>; 242 + alloc-ranges = <0x0 0x86800000 0x0 0x8000000>; 243 + no-map; 244 + status = "disabled"; 245 + }; 246 + 247 + venus_mem: venus { 248 + size = <0x0 0x400000>; 249 + alignment = <0x0 0x100000>; 250 + alloc-ranges = <0x0 0x86800000 0x0 0x8000000>; 251 + no-map; 252 + status = "disabled"; 253 + }; 254 + }; 255 + 256 + cpu_opp_table_c0: opp-table-c0 { 257 + compatible = "operating-points-v2"; 258 + opp-shared; 259 + 260 + opp-768000000 { 261 + opp-hz = /bits/ 64 <768000000>; 262 + }; 263 + 264 + opp-902400000 { 265 + opp-hz = /bits/ 64 <902400000>; 266 + }; 267 + 268 + opp-998400000 { 269 + opp-hz = /bits/ 64 <998400000>; 270 + }; 271 + 272 + opp-1094400000 { 273 + opp-hz = /bits/ 64 <1094400000>; 274 + }; 275 + }; 276 + 277 + cpu_opp_table_c1: opp-table-c1 { 278 + compatible = "operating-points-v2"; 279 + opp-shared; 280 + 281 + opp-960000000 { 282 + opp-hz = /bits/ 64 <960000000>; 283 + }; 284 + 285 + opp-1094400000 { 286 + opp-hz = /bits/ 64 <1094400000>; 287 + }; 288 + 289 + opp-1209600000 { 290 + opp-hz = /bits/ 64 <1209600000>; 291 + }; 292 + 293 + opp-1248000000 { 294 + opp-hz = /bits/ 64 <1248000000>; 295 + }; 296 + 297 + opp-1344000000 { 298 + opp-hz = /bits/ 64 <1344000000>; 299 + }; 300 + 301 + opp-1401600000 { 302 + opp-hz = /bits/ 64 <1401600000>; 303 + }; 304 + }; 305 + 306 + pmu { 307 + compatible = "arm,cortex-a53-pmu"; 308 + interrupts = <GIC_PPI 7 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_HIGH)>; 309 + }; 310 + 311 + psci { 312 + compatible = "arm,psci-1.0"; 313 + method = "smc"; 314 + }; 315 + 316 + rpm: remoteproc { 317 + compatible = "qcom,msm8937-rpm-proc", "qcom,rpm-proc"; 318 + 319 + smd-edge { 320 + interrupts = <GIC_SPI 168 IRQ_TYPE_EDGE_RISING>; 321 + qcom,ipc = <&apcs1 8 0>; 322 + qcom,smd-edge = <15>; 323 + 324 + rpm_requests: rpm-requests { 325 + compatible = "qcom,rpm-msm8937", "qcom,smd-rpm"; 326 + qcom,smd-channels = "rpm_requests"; 327 + 328 + rpmcc: clock-controller { 329 + compatible = "qcom,rpmcc-msm8937", "qcom,rpmcc"; 330 + #clock-cells = <1>; 331 + clocks = <&xo_board>; 332 + clock-names = "xo"; 333 + }; 334 + 335 + rpmpd: power-controller { 336 + compatible = "qcom,msm8937-rpmpd", "qcom,msm8917-rpmpd"; 337 + #power-domain-cells = <1>; 338 + operating-points-v2 = <&rpmpd_opp_table>; 339 + 340 + rpmpd_opp_table: opp-table { 341 + compatible = "operating-points-v2"; 342 + 343 + rpmpd_opp_ret: opp1 { 344 + opp-level = <RPM_SMD_LEVEL_RETENTION>; 345 + }; 346 + 347 + rpmpd_opp_ret_plus: opp2 { 348 + opp-level = <RPM_SMD_LEVEL_RETENTION_PLUS>; 349 + }; 350 + 351 + rpmpd_opp_min_svs: opp3 { 352 + opp-level = <RPM_SMD_LEVEL_MIN_SVS>; 353 + }; 354 + 355 + rpmpd_opp_low_svs: opp4 { 356 + opp-level = <RPM_SMD_LEVEL_LOW_SVS>; 357 + }; 358 + 359 + rpmpd_opp_svs: opp5 { 360 + opp-level = <RPM_SMD_LEVEL_SVS>; 361 + }; 362 + 363 + rpmpd_opp_svs_plus: opp6 { 364 + opp-level = <RPM_SMD_LEVEL_SVS_PLUS>; 365 + }; 366 + 367 + rpmpd_opp_nom: opp7 { 368 + opp-level = <RPM_SMD_LEVEL_NOM>; 369 + }; 370 + 371 + rpmpd_opp_nom_plus: opp8 { 372 + opp-level = <RPM_SMD_LEVEL_NOM_PLUS>; 373 + }; 374 + 375 + rpmpd_opp_turbo: opp9 { 376 + opp-level = <RPM_SMD_LEVEL_TURBO>; 377 + }; 378 + }; 379 + }; 380 + }; 381 + }; 382 + }; 383 + 384 + smp2p-adsp { 385 + compatible = "qcom,smp2p"; 386 + qcom,smem = <443>, <429>; 387 + 388 + interrupts = <GIC_SPI 291 IRQ_TYPE_EDGE_RISING>; 389 + 390 + mboxes = <&apcs1 10>; 391 + 392 + qcom,local-pid = <0>; 393 + qcom,remote-pid = <2>; 394 + 395 + adsp_smp2p_out: master-kernel { 396 + qcom,entry-name = "master-kernel"; 397 + 398 + #qcom,smem-state-cells = <1>; 399 + }; 400 + 401 + adsp_smp2p_in: slave-kernel { 402 + qcom,entry-name = "slave-kernel"; 403 + 404 + interrupt-controller; 405 + #interrupt-cells = <2>; 406 + }; 407 + }; 408 + 409 + smp2p-modem { 410 + compatible = "qcom,smp2p"; 411 + qcom,smem = <435>, <428>; 412 + 413 + interrupts = <GIC_SPI 27 IRQ_TYPE_EDGE_RISING>; 414 + 415 + mboxes = <&apcs1 14>; 416 + 417 + qcom,local-pid = <0>; 418 + qcom,remote-pid = <1>; 419 + 420 + modem_smp2p_out: master-kernel { 421 + qcom,entry-name = "master-kernel"; 422 + 423 + #qcom,smem-state-cells = <1>; 424 + }; 425 + 426 + modem_smp2p_in: slave-kernel { 427 + qcom,entry-name = "slave-kernel"; 428 + 429 + interrupt-controller; 430 + #interrupt-cells = <2>; 431 + }; 432 + }; 433 + 434 + smp2p-wcnss { 435 + compatible = "qcom,smp2p"; 436 + qcom,smem = <451>, <431>; 437 + 438 + interrupts = <GIC_SPI 143 IRQ_TYPE_EDGE_RISING>; 439 + 440 + mboxes = <&apcs1 18>; 441 + 442 + qcom,local-pid = <0>; 443 + qcom,remote-pid = <4>; 444 + 445 + wcnss_smp2p_out: master-kernel { 446 + qcom,entry-name = "master-kernel"; 447 + 448 + #qcom,smem-state-cells = <1>; 449 + }; 450 + 451 + wcnss_smp2p_in: slave-kernel { 452 + qcom,entry-name = "slave-kernel"; 453 + 454 + interrupt-controller; 455 + #interrupt-cells = <2>; 456 + }; 457 + }; 458 + 459 + smsm { 460 + compatible = "qcom,smsm"; 461 + 462 + #address-cells = <1>; 463 + #size-cells = <0>; 464 + 465 + mboxes = <0>, <&apcs1 13>, <0>, <&apcs1 19>; 466 + 467 + apps_smsm: apps@0 { 468 + reg = <0>; 469 + 470 + #qcom,smem-state-cells = <1>; 471 + }; 472 + 473 + hexagon_smsm: hexagon@1 { 474 + reg = <1>; 475 + interrupts = <GIC_SPI 26 IRQ_TYPE_EDGE_RISING>; 476 + 477 + interrupt-controller; 478 + #interrupt-cells = <2>; 479 + }; 480 + 481 + wcnss_smsm: wcnss@6 { 482 + reg = <6>; 483 + interrupts = <GIC_SPI 144 IRQ_TYPE_EDGE_RISING>; 484 + 485 + interrupt-controller; 486 + #interrupt-cells = <2>; 487 + }; 488 + }; 489 + 490 + soc: soc@0 { 491 + compatible = "simple-bus"; 492 + ranges = <0 0 0 0xffffffff>; 493 + #address-cells = <1>; 494 + #size-cells = <1>; 495 + 496 + qfprom: qfprom@a4000 { 497 + compatible = "qcom,msm8937-qfprom", "qcom,qfprom"; 498 + reg = <0x000a4000 0x3000>; 499 + #address-cells = <1>; 500 + #size-cells = <1>; 501 + 502 + tsens_base1: base1@1d8 { 503 + reg = <0x1d8 0x1>; 504 + bits = <0 8>; 505 + }; 506 + 507 + tsens_s5_p1: s5-p1@1d9 { 508 + reg = <0x1d9 0x1>; 509 + bits = <0 6>; 510 + }; 511 + 512 + tsens_s5_p2: s5-p2@1d9 { 513 + reg = <0x1d9 0x2>; 514 + bits = <6 6>; 515 + }; 516 + 517 + tsens_s6_p1: s6-p1@1da { 518 + reg = <0x1da 0x2>; 519 + bits = <4 6>; 520 + }; 521 + 522 + tsens_s6_p2: s6-p2@1db { 523 + reg = <0x1db 0x1>; 524 + bits = <2 6>; 525 + }; 526 + 527 + tsens_s7_p1: s7-p1@1dc { 528 + reg = <0x1dc 0x1>; 529 + bits = <0 6>; 530 + }; 531 + 532 + tsens_s7_p2: s7-p2@1dc { 533 + reg = <0x1dc 0x2>; 534 + bits = <6 6>; 535 + }; 536 + 537 + tsens_s8_p1: s8-p1@1dd { 538 + reg = <0x1dd 0x2>; 539 + bits = <4 6>; 540 + }; 541 + 542 + tsens_s8_p2: s8-p2@1de { 543 + reg = <0x1de 0x1>; 544 + bits = <2 6>; 545 + }; 546 + 547 + tsens_base2: base2@1df { 548 + reg = <0x1df 0x1>; 549 + bits = <0 8>; 550 + }; 551 + 552 + tsens_mode: mode@210 { 553 + reg = <0x210 0x1>; 554 + bits = <0 3>; 555 + }; 556 + 557 + tsens_s0_p1: s0-p1@210 { 558 + reg = <0x210 0x2>; 559 + bits = <3 6>; 560 + }; 561 + 562 + tsens_s0_p2: s0-p2@211 { 563 + reg = <0x211 0x1>; 564 + bits = <1 6>; 565 + }; 566 + 567 + tsens_s1_p1: s1-p1@211 { 568 + reg = <0x211 0x2>; 569 + bits = <7 6>; 570 + }; 571 + 572 + tsens_s1_p2: s1-p2@212 { 573 + reg = <0x212 0x2>; 574 + bits = <5 6>; 575 + }; 576 + 577 + tsens_s2_p1: s2-p1@213 { 578 + reg = <0x213 0x2>; 579 + bits = <3 6>; 580 + }; 581 + 582 + tsens_s2_p2: s2-p2@214 { 583 + reg = <0x214 0x1>; 584 + bits = <1 6>; 585 + }; 586 + 587 + tsens_s3_p1: s3-p1@214 { 588 + reg = <0x214 0x2>; 589 + bits = <7 6>; 590 + }; 591 + 592 + tsens_s3_p2: s3-p2@215 { 593 + reg = <0x215 0x2>; 594 + bits = <5 6>; 595 + }; 596 + 597 + tsens_s4_p1: s4-p1@216 { 598 + reg = <0x216 0x2>; 599 + bits = <3 6>; 600 + }; 601 + 602 + tsens_s4_p2: s4-p2@217 { 603 + reg = <0x217 0x1>; 604 + bits = <1 6>; 605 + }; 606 + 607 + tsens_s9_p1: s9-p1@230 { 608 + reg = <0x230 0x1>; 609 + bits = <0 6>; 610 + }; 611 + 612 + tsens_s9_p2: s9-p2@230 { 613 + reg = <0x230 0x2>; 614 + bits = <6 6>; 615 + }; 616 + 617 + tsens_s10_p1: s10-p1@231 { 618 + reg = <0x231 0x2>; 619 + bits = <4 6>; 620 + }; 621 + 622 + tsens_s10_p2: s10-p2@232 { 623 + reg = <0x232 0x1>; 624 + bits = <2 6>; 625 + }; 626 + 627 + gpu_speed_bin: gpu-speed-bin@201b { 628 + reg = <0x201b 0x1>; 629 + bits = <7 1>; 630 + }; 631 + }; 632 + 633 + rpm_msg_ram: sram@60000 { 634 + compatible = "qcom,rpm-msg-ram"; 635 + reg = <0x00060000 0x8000>; 636 + }; 637 + 638 + usb_hs_phy: phy@6c000 { 639 + compatible = "qcom,usb-hs-28nm-femtophy"; 640 + reg = <0x0006c000 0x200>; 641 + #phy-cells = <0>; 642 + clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>, 643 + <&gcc GCC_USB_HS_PHY_CFG_AHB_CLK>, 644 + <&gcc GCC_USB2A_PHY_SLEEP_CLK>; 645 + clock-names = "ref", 646 + "ahb", 647 + "sleep"; 648 + resets = <&gcc GCC_QUSB2_PHY_BCR>, 649 + <&gcc GCC_USB2_HS_PHY_ONLY_BCR>; 650 + reset-names = "phy", 651 + "por"; 652 + status = "disabled"; 653 + }; 654 + 655 + rng@e3000 { 656 + compatible = "qcom,prng"; 657 + reg = <0x000e3000 0x1000>; 658 + clocks = <&gcc GCC_PRNG_AHB_CLK>; 659 + clock-names = "core"; 660 + }; 661 + 662 + tsens: thermal-sensor@4a9000 { 663 + compatible = "qcom,msm8937-tsens", "qcom,tsens-v1"; 664 + reg = <0x004a9000 0x1000>, 665 + <0x004a8000 0x1000>; 666 + interrupts = <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>; 667 + interrupt-names = "uplow"; 668 + nvmem-cells = <&tsens_mode>, 669 + <&tsens_base1>, <&tsens_base2>, 670 + <&tsens_s0_p1>, <&tsens_s0_p2>, 671 + <&tsens_s1_p1>, <&tsens_s1_p2>, 672 + <&tsens_s2_p1>, <&tsens_s2_p2>, 673 + <&tsens_s3_p1>, <&tsens_s3_p2>, 674 + <&tsens_s4_p1>, <&tsens_s4_p2>, 675 + <&tsens_s5_p1>, <&tsens_s5_p2>, 676 + <&tsens_s6_p1>, <&tsens_s6_p2>, 677 + <&tsens_s7_p1>, <&tsens_s7_p2>, 678 + <&tsens_s8_p1>, <&tsens_s8_p2>, 679 + <&tsens_s9_p1>, <&tsens_s9_p2>, 680 + <&tsens_s10_p1>, <&tsens_s10_p2>; 681 + nvmem-cell-names = "mode", 682 + "base1", "base2", 683 + "s0_p1", "s0_p2", 684 + "s1_p1", "s1_p2", 685 + "s2_p1", "s2_p2", 686 + "s3_p1", "s3_p2", 687 + "s4_p1", "s4_p2", 688 + "s5_p1", "s5_p2", 689 + "s6_p1", "s6_p2", 690 + "s7_p1", "s7_p2", 691 + "s8_p1", "s8_p2", 692 + "s9_p1", "s9_p2", 693 + "s10_p1", "s10_p2"; 694 + #qcom,sensors = <11>; 695 + #thermal-sensor-cells = <1>; 696 + }; 697 + 698 + restart@4ab000 { 699 + compatible = "qcom,pshold"; 700 + reg = <0x004ab000 0x4>; 701 + }; 702 + 703 + tlmm: pinctrl@1000000 { 704 + compatible = "qcom,msm8917-pinctrl"; 705 + reg = <0x01000000 0x300000>; 706 + interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>; 707 + gpio-controller; 708 + gpio-ranges = <&tlmm 0 0 134>; 709 + #gpio-cells = <2>; 710 + interrupt-controller; 711 + #interrupt-cells = <2>; 712 + 713 + blsp1_i2c2_default: blsp1-i2c2-default-state { 714 + pins = "gpio6", "gpio7"; 715 + function = "blsp_i2c2"; 716 + drive-strength = <2>; 717 + bias-disable; 718 + }; 719 + 720 + blsp1_i2c2_sleep: blsp1-i2c2-sleep-state { 721 + pins = "gpio6", "gpio7"; 722 + function = "gpio"; 723 + drive-strength = <2>; 724 + bias-disable; 725 + }; 726 + 727 + blsp1_i2c3_default: blsp1-i2c3-default-state { 728 + pins = "gpio10", "gpio11"; 729 + function = "blsp_i2c3"; 730 + drive-strength = <2>; 731 + bias-disable; 732 + }; 733 + 734 + blsp1_i2c3_sleep: blsp1-i2c3-sleep-state { 735 + pins = "gpio10", "gpio11"; 736 + function = "gpio"; 737 + drive-strength = <2>; 738 + bias-disable; 739 + }; 740 + 741 + blsp1_i2c4_default: blsp1-i2c4-default-state { 742 + pins = "gpio14", "gpio15"; 743 + function = "blsp_i2c4"; 744 + drive-strength = <2>; 745 + bias-disable; 746 + }; 747 + 748 + blsp1_i2c4_sleep: blsp1-i2c4-sleep-state { 749 + pins = "gpio14", "gpio15"; 750 + function = "gpio"; 751 + drive-strength = <2>; 752 + bias-disable; 753 + }; 754 + 755 + blsp2_i2c1_default: blsp2-i2c1-default-state { 756 + pins = "gpio18", "gpio19"; 757 + function = "blsp_i2c5"; 758 + drive-strength = <2>; 759 + bias-disable; 760 + }; 761 + 762 + blsp2_i2c1_sleep: blsp2-i2c1-sleep-state { 763 + pins = "gpio18", "gpio19"; 764 + function = "gpio"; 765 + drive-strength = <2>; 766 + bias-disable; 767 + }; 768 + 769 + blsp1_spi3_default: blsp1-spi3-default-state { 770 + cs-pins { 771 + pins = "gpio10"; 772 + function = "blsp_spi3"; 773 + drive-strength = <2>; 774 + bias-disable; 775 + }; 776 + 777 + spi-pins { 778 + pins = "gpio8", "gpio9", "gpio11"; 779 + function = "blsp_spi3"; 780 + drive-strength = <12>; 781 + bias-disable; 782 + }; 783 + }; 784 + 785 + blsp1_spi3_sleep: blsp1-spi3-sleep-state { 786 + cs-pins { 787 + pins = "gpio10"; 788 + function = "gpio"; 789 + drive-strength = <2>; 790 + bias-disable; 791 + }; 792 + 793 + spi-pins { 794 + pins = "gpio8", "gpio9", "gpio11"; 795 + function = "gpio"; 796 + drive-strength = <2>; 797 + bias-pull-down; 798 + }; 799 + }; 800 + 801 + blsp2_spi2_default: blsp2-spi2-default-state { 802 + cs0-pins { 803 + pins = "gpio47"; 804 + function = "blsp_spi6"; 805 + drive-strength = <16>; 806 + bias-disable; 807 + }; 808 + 809 + cs1-pins { 810 + pins = "gpio22"; 811 + function = "blsp_spi6"; 812 + drive-strength = <16>; 813 + bias-disable; 814 + }; 815 + 816 + spi-pins { 817 + pins = "gpio20", "gpio21", "gpio23"; 818 + function = "blsp_spi6"; 819 + drive-strength = <16>; 820 + bias-disable; 821 + }; 822 + }; 823 + 824 + blsp2_spi2_sleep: blsp2-spi2-sleep-state { 825 + cs0-pins { 826 + pins = "gpio47"; 827 + function = "gpio"; 828 + drive-strength = <2>; 829 + bias-disable; 830 + }; 831 + 832 + cs1-pins { 833 + pins = "gpio22"; 834 + function = "gpio"; 835 + drive-strength = <2>; 836 + bias-disable; 837 + }; 838 + 839 + spi-pins { 840 + pins = "gpio20", "gpio21", "gpio23"; 841 + function = "gpio"; 842 + drive-strength = <2>; 843 + bias-pull-down; 844 + }; 845 + }; 846 + 847 + blsp1_uart1_default: blsp1-uart1-default-state { 848 + pins = "gpio0", "gpio1", "gpio2", "gpio3"; 849 + function = "blsp_uart1"; 850 + drive-strength = <2>; 851 + bias-disable; 852 + }; 853 + 854 + blsp1_uart1_sleep: blsp1-uart1-sleep-state { 855 + pins = "gpio0", "gpio1", "gpio2", "gpio3"; 856 + function = "gpio"; 857 + drive-strength = <2>; 858 + bias-disable; 859 + }; 860 + 861 + blsp1_uart2_default: blsp1-uart2-default-state { 862 + pins = "gpio4", "gpio5"; 863 + function = "blsp_uart2"; 864 + drive-strength = <2>; 865 + bias-disable; 866 + }; 867 + 868 + blsp1_uart2_sleep: blsp1-uart2-sleep-state { 869 + pins = "gpio4", "gpio5"; 870 + function = "gpio"; 871 + drive-strength = <2>; 872 + bias-pull-down; 873 + }; 874 + 875 + sdc1_default: sdc1-default-state { 876 + clk-pins { 877 + pins = "sdc1_clk"; 878 + drive-strength = <16>; 879 + bias-disable; 880 + }; 881 + 882 + cmd-pins { 883 + pins = "sdc1_cmd"; 884 + drive-strength = <10>; 885 + bias-pull-up; 886 + }; 887 + 888 + data-pins { 889 + pins = "sdc1_data"; 890 + drive-strength = <10>; 891 + bias-pull-up; 892 + }; 893 + 894 + rclk-pins { 895 + pins = "sdc1_rclk"; 896 + bias-pull-down; 897 + }; 898 + }; 899 + 900 + sdc1_sleep: sdc1-sleep-state { 901 + clk-pins { 902 + pins = "sdc1_clk"; 903 + drive-strength = <2>; 904 + bias-disable; 905 + }; 906 + 907 + cmd-pins { 908 + pins = "sdc1_cmd"; 909 + drive-strength = <2>; 910 + bias-pull-up; 911 + }; 912 + 913 + data-pins { 914 + pins = "sdc1_data"; 915 + drive-strength = <2>; 916 + bias-pull-up; 917 + }; 918 + 919 + rclk-pins { 920 + pins = "sdc1_rclk"; 921 + bias-pull-down; 922 + }; 923 + }; 924 + 925 + sdc2_default: sdc2-default-state { 926 + clk-pins { 927 + pins = "sdc2_clk"; 928 + drive-strength = <16>; 929 + bias-disable; 930 + }; 931 + 932 + sdc2_cmd_default: cmd-pins { 933 + pins = "sdc2_cmd"; 934 + drive-strength = <16>; 935 + bias-pull-up; 936 + }; 937 + 938 + sdc2_data_default: data-pins { 939 + pins = "sdc2_data"; 940 + drive-strength = <16>; 941 + bias-pull-up; 942 + }; 943 + }; 944 + 945 + sdc2_sleep: sdc2-sleep-state { 946 + clk-pins { 947 + pins = "sdc2_clk"; 948 + drive-strength = <2>; 949 + bias-disable; 950 + }; 951 + 952 + cmd-pins { 953 + pins = "sdc2_cmd"; 954 + drive-strength = <2>; 955 + bias-pull-up; 956 + }; 957 + 958 + data-pins { 959 + pins = "sdc2_data"; 960 + drive-strength = <2>; 961 + bias-pull-up; 962 + }; 963 + }; 964 + 965 + wcnss_pin_a: wcnss-active-state { 966 + wcss-wlan-pins { 967 + pins = "gpio79", "gpio80"; 968 + function = "wcss_wlan"; 969 + drive-strength = <6>; 970 + bias-pull-up; 971 + 972 + }; 973 + 974 + wcss-wlan0-pins { 975 + pins = "gpio78"; 976 + function = "wcss_wlan0"; 977 + drive-strength = <6>; 978 + bias-pull-up; 979 + 980 + }; 981 + 982 + wcss-wlan1-pins { 983 + pins = "gpio77"; 984 + function = "wcss_wlan1"; 985 + drive-strength = <6>; 986 + bias-pull-up; 987 + 988 + }; 989 + 990 + wcss-wlan2-pins { 991 + pins = "gpio76"; 992 + function = "wcss_wlan2"; 993 + drive-strength = <6>; 994 + bias-pull-up; 995 + 996 + }; 997 + }; 998 + }; 999 + 1000 + gcc: clock-controller@1800000 { 1001 + compatible = "qcom,gcc-msm8937"; 1002 + reg = <0x01800000 0x80000>; 1003 + #clock-cells = <1>; 1004 + #reset-cells = <1>; 1005 + #power-domain-cells = <1>; 1006 + clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>, 1007 + <&sleep_clk>, 1008 + <&mdss_dsi0_phy DSI_PIXEL_PLL_CLK>, 1009 + <&mdss_dsi0_phy DSI_BYTE_PLL_CLK>, 1010 + <&mdss_dsi1_phy DSI_PIXEL_PLL_CLK>, 1011 + <&mdss_dsi1_phy DSI_BYTE_PLL_CLK>; 1012 + clock-names = "xo", 1013 + "sleep", 1014 + "dsi0pll", 1015 + "dsi0pllbyte", 1016 + "dsi1pll", 1017 + "dsi1pllbyte"; 1018 + }; 1019 + 1020 + tcsr_mutex: hwlock@1905000 { 1021 + compatible = "qcom,tcsr-mutex"; 1022 + reg = <0x01905000 0x20000>; 1023 + #hwlock-cells = <1>; 1024 + }; 1025 + 1026 + tcsr: syscon@1937000 { 1027 + compatible = "qcom,tcsr-msm8937", "syscon"; 1028 + reg = <0x01937000 0x30000>; 1029 + }; 1030 + 1031 + mdss: display-subsystem@1a00000 { 1032 + compatible = "qcom,mdss"; 1033 + reg = <0x01a00000 0x1000>, 1034 + <0x01ab0000 0x3000>; 1035 + reg-names = "mdss_phys", 1036 + "vbif_phys"; 1037 + ranges; 1038 + 1039 + power-domains = <&gcc MDSS_GDSC>; 1040 + 1041 + clocks = <&gcc GCC_MDSS_AHB_CLK>, 1042 + <&gcc GCC_MDSS_AXI_CLK>, 1043 + <&gcc GCC_MDSS_VSYNC_CLK>; 1044 + clock-names = "iface", 1045 + "bus", 1046 + "vsync"; 1047 + interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>; 1048 + 1049 + interrupt-controller; 1050 + #interrupt-cells = <1>; 1051 + 1052 + #address-cells = <1>; 1053 + #size-cells = <1>; 1054 + 1055 + status = "disabled"; 1056 + 1057 + mdp: display-controller@1a01000 { 1058 + compatible = "qcom,msm8937-mdp5", "qcom,mdp5"; 1059 + reg = <0x01a01000 0x89000>; 1060 + reg-names = "mdp_phys"; 1061 + 1062 + interrupt-parent = <&mdss>; 1063 + interrupts = <0>; 1064 + 1065 + clocks = <&gcc GCC_MDSS_AHB_CLK>, 1066 + <&gcc GCC_MDSS_AXI_CLK>, 1067 + <&gcc GCC_MDSS_MDP_CLK>, 1068 + <&gcc GCC_MDSS_VSYNC_CLK>; 1069 + clock-names = "iface", 1070 + "bus", 1071 + "core", 1072 + "vsync"; 1073 + 1074 + iommus = <&apps_iommu 0x15>; 1075 + 1076 + ports { 1077 + #address-cells = <1>; 1078 + #size-cells = <0>; 1079 + 1080 + port@0 { 1081 + reg = <0>; 1082 + mdp5_intf1_out: endpoint { 1083 + remote-endpoint = <&mdss_dsi0_in>; 1084 + }; 1085 + }; 1086 + 1087 + port@1 { 1088 + reg = <1>; 1089 + mdp5_intf2_out: endpoint { 1090 + remote-endpoint = <&mdss_dsi1_in>; 1091 + }; 1092 + }; 1093 + }; 1094 + }; 1095 + 1096 + mdss_dsi0: dsi@1a94000 { 1097 + compatible = "qcom,mdss-dsi-ctrl"; 1098 + reg = <0x01a94000 0x300>; 1099 + reg-names = "dsi_ctrl"; 1100 + 1101 + interrupt-parent = <&mdss>; 1102 + interrupts = <4>; 1103 + 1104 + assigned-clocks = <&gcc BYTE0_CLK_SRC>, 1105 + <&gcc PCLK0_CLK_SRC>; 1106 + assigned-clock-parents = <&mdss_dsi0_phy DSI_BYTE_PLL_CLK>, 1107 + <&mdss_dsi0_phy DSI_PIXEL_PLL_CLK>; 1108 + 1109 + clocks = <&gcc GCC_MDSS_MDP_CLK>, 1110 + <&gcc GCC_MDSS_AHB_CLK>, 1111 + <&gcc GCC_MDSS_AXI_CLK>, 1112 + <&gcc GCC_MDSS_BYTE0_CLK>, 1113 + <&gcc GCC_MDSS_PCLK0_CLK>, 1114 + <&gcc GCC_MDSS_ESC0_CLK>; 1115 + clock-names = "mdp_core", 1116 + "iface", 1117 + "bus", 1118 + "byte", 1119 + "pixel", 1120 + "core"; 1121 + phys = <&mdss_dsi0_phy>; 1122 + 1123 + operating-points-v2 = <&mdss_dsi0_opp_table>; 1124 + power-domains = <&rpmpd MSM8937_VDDCX>; 1125 + 1126 + #address-cells = <1>; 1127 + #size-cells = <0>; 1128 + 1129 + status = "disabled"; 1130 + 1131 + ports { 1132 + #address-cells = <1>; 1133 + #size-cells = <0>; 1134 + 1135 + port@0 { 1136 + reg = <0>; 1137 + mdss_dsi0_in: endpoint { 1138 + remote-endpoint = <&mdp5_intf1_out>; 1139 + }; 1140 + }; 1141 + 1142 + port@1 { 1143 + reg = <1>; 1144 + mdss_dsi0_out: endpoint { 1145 + }; 1146 + }; 1147 + }; 1148 + 1149 + mdss_dsi0_opp_table: opp-table { 1150 + compatible = "operating-points-v2"; 1151 + 1152 + opp-125000000 { 1153 + opp-hz = /bits/ 64 <125000000>; 1154 + required-opps = <&rpmpd_opp_svs>; 1155 + }; 1156 + 1157 + opp-187500000 { 1158 + opp-hz = /bits/ 64 <187500000>; 1159 + required-opps = <&rpmpd_opp_nom>; 1160 + }; 1161 + }; 1162 + }; 1163 + 1164 + mdss_dsi0_phy: phy@1a94400 { 1165 + compatible = "qcom,dsi-phy-28nm-8937"; 1166 + reg = <0x01a94a00 0xd4>, 1167 + <0x01a94400 0x280>, 1168 + <0x01a94b80 0x30>; 1169 + reg-names = "dsi_pll", 1170 + "dsi_phy", 1171 + "dsi_phy_regulator"; 1172 + 1173 + #clock-cells = <1>; 1174 + #phy-cells = <0>; 1175 + 1176 + clocks = <&gcc GCC_MDSS_AHB_CLK>, 1177 + <&rpmcc RPM_SMD_XO_CLK_SRC>; 1178 + clock-names = "iface", 1179 + "ref"; 1180 + 1181 + status = "disabled"; 1182 + }; 1183 + 1184 + mdss_dsi1: dsi@1a96000 { 1185 + compatible = "qcom,mdss-dsi-ctrl"; 1186 + reg = <0x01a96000 0x300>; 1187 + reg-names = "dsi_ctrl"; 1188 + 1189 + interrupt-parent = <&mdss>; 1190 + interrupts = <4>; 1191 + 1192 + assigned-clocks = <&gcc MSM8937_BYTE1_CLK_SRC>, 1193 + <&gcc MSM8937_PCLK1_CLK_SRC>; 1194 + assigned-clock-parents = <&mdss_dsi1_phy DSI_BYTE_PLL_CLK>, 1195 + <&mdss_dsi1_phy DSI_PIXEL_PLL_CLK>; 1196 + 1197 + clocks = <&gcc GCC_MDSS_MDP_CLK>, 1198 + <&gcc GCC_MDSS_AHB_CLK>, 1199 + <&gcc GCC_MDSS_AXI_CLK>, 1200 + <&gcc MSM8937_GCC_MDSS_BYTE1_CLK>, 1201 + <&gcc MSM8937_GCC_MDSS_PCLK1_CLK>, 1202 + <&gcc MSM8937_GCC_MDSS_ESC1_CLK>; 1203 + clock-names = "mdp_core", 1204 + "iface", 1205 + "bus", 1206 + "byte", 1207 + "pixel", 1208 + "core"; 1209 + phys = <&mdss_dsi1_phy>; 1210 + 1211 + operating-points-v2 = <&mdss_dsi1_opp_table>; 1212 + power-domains = <&rpmpd MSM8937_VDDCX>; 1213 + 1214 + #address-cells = <1>; 1215 + #size-cells = <0>; 1216 + 1217 + status = "disabled"; 1218 + 1219 + ports { 1220 + #address-cells = <1>; 1221 + #size-cells = <0>; 1222 + 1223 + port@0 { 1224 + reg = <0>; 1225 + mdss_dsi1_in: endpoint { 1226 + remote-endpoint = <&mdp5_intf2_out>; 1227 + }; 1228 + }; 1229 + 1230 + port@1 { 1231 + reg = <1>; 1232 + mdss_dsi1_out: endpoint { 1233 + }; 1234 + }; 1235 + }; 1236 + 1237 + mdss_dsi1_opp_table: opp-table { 1238 + compatible = "operating-points-v2"; 1239 + 1240 + opp-125000000 { 1241 + opp-hz = /bits/ 64 <125000000>; 1242 + required-opps = <&rpmpd_opp_svs>; 1243 + }; 1244 + 1245 + opp-187500000 { 1246 + opp-hz = /bits/ 64 <187500000>; 1247 + required-opps = <&rpmpd_opp_nom>; 1248 + }; 1249 + }; 1250 + }; 1251 + 1252 + mdss_dsi1_phy: phy@1a96a00 { 1253 + compatible = "qcom,dsi-phy-28nm-8937"; 1254 + reg = <0x01a96a00 0xd4>, 1255 + <0x01a96400 0x280>, 1256 + <0x01a94b80 0x30>; 1257 + reg-names = "dsi_pll", 1258 + "dsi_phy", 1259 + "dsi_phy_regulator"; 1260 + 1261 + #clock-cells = <1>; 1262 + #phy-cells = <0>; 1263 + 1264 + clocks = <&gcc GCC_MDSS_AHB_CLK>, 1265 + <&rpmcc RPM_SMD_XO_CLK_SRC>; 1266 + clock-names = "iface", 1267 + "ref"; 1268 + 1269 + status = "disabled"; 1270 + }; 1271 + }; 1272 + 1273 + gpu: gpu@1c00000 { 1274 + compatible = "qcom,adreno-505.0", "qcom,adreno"; 1275 + reg = <0x01c00000 0x40000>; 1276 + reg-names = "kgsl_3d0_reg_memory"; 1277 + interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>; 1278 + interrupt-names = "kgsl_3d0_irq"; 1279 + #cooling-cells = <2>; 1280 + clocks = <&gcc GCC_OXILI_GFX3D_CLK>, 1281 + <&gcc GCC_OXILI_AHB_CLK>, 1282 + <&gcc GCC_BIMC_GFX_CLK>, 1283 + <&gcc GCC_BIMC_GPU_CLK>, 1284 + <&gcc MSM8937_GCC_OXILI_TIMER_CLK>, 1285 + <&gcc MSM8937_GCC_OXILI_AON_CLK>; 1286 + clock-names = "core", 1287 + "iface", 1288 + "mem_iface", 1289 + "alt_mem_iface", 1290 + "rbbmtimer", 1291 + "alwayson"; 1292 + operating-points-v2 = <&gpu_opp_table>; 1293 + power-domains = <&gcc OXILI_GX_GDSC>; 1294 + 1295 + iommus = <&adreno_smmu 0>; 1296 + 1297 + nvmem-cells = <&gpu_speed_bin>; 1298 + nvmem-cell-names = "speed_bin"; 1299 + 1300 + status = "disabled"; 1301 + 1302 + gpu_opp_table: opp-table { 1303 + compatible = "operating-points-v2"; 1304 + 1305 + opp-19200000 { 1306 + opp-hz = /bits/ 64 <19200000>; 1307 + opp-supported-hw = <0xff>; 1308 + required-opps = <&rpmpd_opp_min_svs>; 1309 + }; 1310 + 1311 + opp-216000000 { 1312 + opp-hz = /bits/ 64 <216000000>; 1313 + opp-supported-hw = <0xff>; 1314 + required-opps = <&rpmpd_opp_svs>; 1315 + }; 1316 + 1317 + opp-300000000 { 1318 + opp-hz = /bits/ 64 <300000000>; 1319 + opp-supported-hw = <0xff>; 1320 + required-opps = <&rpmpd_opp_svs_plus>; 1321 + }; 1322 + 1323 + opp-375000000 { 1324 + opp-hz = /bits/ 64 <375000000>; 1325 + opp-supported-hw = <0xff>; 1326 + required-opps = <&rpmpd_opp_nom>; 1327 + }; 1328 + 1329 + opp-400000000 { 1330 + opp-hz = /bits/ 64 <400000000>; 1331 + opp-supported-hw = <0xff>; 1332 + required-opps = <&rpmpd_opp_nom_plus>; 1333 + }; 1334 + 1335 + opp-450000000 { 1336 + opp-hz = /bits/ 64 <450000000>; 1337 + opp-supported-hw = <0xff>; 1338 + required-opps = <&rpmpd_opp_turbo>; 1339 + }; 1340 + }; 1341 + }; 1342 + 1343 + adreno_smmu: iommu@1c40000 { 1344 + compatible = "qcom,msm8996-smmu-v2", 1345 + "qcom,adreno-smmu", 1346 + "qcom,smmu-v2"; 1347 + reg = <0x01c40000 0x10000>; 1348 + 1349 + #global-interrupts = <1>; 1350 + interrupts = <GIC_SPI 199 IRQ_TYPE_LEVEL_HIGH>, 1351 + <GIC_SPI 225 IRQ_TYPE_LEVEL_HIGH>, 1352 + <GIC_SPI 232 IRQ_TYPE_LEVEL_HIGH>, 1353 + <GIC_SPI 233 IRQ_TYPE_LEVEL_HIGH>, 1354 + <GIC_SPI 234 IRQ_TYPE_LEVEL_HIGH>; 1355 + #iommu-cells = <1>; 1356 + 1357 + clocks = <&gcc GCC_BIMC_GFX_CLK>, 1358 + <&gcc GCC_OXILI_AHB_CLK>; 1359 + clock-names = "bus", 1360 + "iface"; 1361 + 1362 + power-domains = <&gcc MSM8937_OXILI_CX_GDSC>; 1363 + }; 1364 + 1365 + apps_iommu: iommu@1e20000 { 1366 + compatible = "qcom,msm8937-iommu", "qcom,msm-iommu-v1"; 1367 + ranges = <0 0x01e20000 0x20000>; 1368 + 1369 + clocks = <&gcc GCC_SMMU_CFG_CLK>, 1370 + <&gcc GCC_APSS_TCU_CLK>; 1371 + clock-names = "iface", 1372 + "bus"; 1373 + 1374 + qcom,iommu-secure-id = <17>; 1375 + 1376 + #address-cells = <1>; 1377 + #iommu-cells = <1>; 1378 + #size-cells = <1>; 1379 + 1380 + /* VFE */ 1381 + iommu-ctx@14000 { 1382 + compatible = "qcom,msm-iommu-v1-ns"; 1383 + reg = <0x14000 0x1000>; 1384 + interrupts = <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>; 1385 + }; 1386 + 1387 + /* MDP_0 */ 1388 + iommu-ctx@15000 { 1389 + compatible = "qcom,msm-iommu-v1-ns"; 1390 + reg = <0x15000 0x1000>; 1391 + interrupts = <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>; 1392 + }; 1393 + 1394 + /* VENUS_NS */ 1395 + iommu-ctx@16000 { 1396 + compatible = "qcom,msm-iommu-v1-ns"; 1397 + reg = <0x16000 0x1000>; 1398 + interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>; 1399 + }; 1400 + }; 1401 + 1402 + spmi_bus: spmi@200f000 { 1403 + compatible = "qcom,spmi-pmic-arb"; 1404 + reg = <0x0200f000 0x001000>, 1405 + <0x02400000 0x800000>, 1406 + <0x02c00000 0x800000>, 1407 + <0x03800000 0x200000>, 1408 + <0x0200a000 0x002100>; 1409 + reg-names = "core", 1410 + "chnls", 1411 + "obsrvr", 1412 + "intr", 1413 + "cnfg"; 1414 + interrupt-names = "periph_irq"; 1415 + interrupts = <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>; 1416 + qcom,ee = <0>; 1417 + qcom,channel = <0>; 1418 + #address-cells = <2>; 1419 + #size-cells = <0>; 1420 + interrupt-controller; 1421 + #interrupt-cells = <4>; 1422 + }; 1423 + 1424 + bam_dmux_dma: dma-controller@4044000 { 1425 + compatible = "qcom,bam-v1.7.0"; 1426 + reg = <0x04044000 0x19000>; 1427 + interrupts = <GIC_SPI 162 IRQ_TYPE_LEVEL_HIGH>; 1428 + #dma-cells = <1>; 1429 + qcom,ee = <0>; 1430 + 1431 + num-channels = <6>; 1432 + qcom,num-ees = <1>; 1433 + qcom,powered-remotely; 1434 + 1435 + status = "disabled"; 1436 + }; 1437 + 1438 + sdhc_1: mmc@7824900 { 1439 + compatible = "qcom,sdhci-msm-v4"; 1440 + reg = <0x07824900 0x500>, 1441 + <0x07824000 0x800>; 1442 + reg-names = "hc", 1443 + "core"; 1444 + 1445 + interrupts = <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>, 1446 + <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>; 1447 + interrupt-names = "hc_irq", 1448 + "pwr_irq"; 1449 + clocks = <&gcc GCC_SDCC1_AHB_CLK>, 1450 + <&gcc GCC_SDCC1_APPS_CLK>, 1451 + <&rpmcc RPM_SMD_XO_CLK_SRC>; 1452 + clock-names = "iface", 1453 + "core", 1454 + "xo"; 1455 + pinctrl-0 = <&sdc1_default>; 1456 + pinctrl-1 = <&sdc1_sleep>; 1457 + pinctrl-names = "default", 1458 + "sleep"; 1459 + power-domains = <&rpmpd MSM8937_VDDCX>; 1460 + mmc-hs200-1_8v; 1461 + mmc-hs400-1_8v; 1462 + mmc-ddr-1_8v; 1463 + bus-width = <8>; 1464 + non-removable; 1465 + status = "disabled"; 1466 + }; 1467 + 1468 + sdhc_2: mmc@7864900 { 1469 + compatible = "qcom,sdhci-msm-v4"; 1470 + reg = <0x07864900 0x500>, 1471 + <0x07864000 0x800>; 1472 + reg-names = "hc", 1473 + "core"; 1474 + 1475 + interrupts = <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>, 1476 + <GIC_SPI 221 IRQ_TYPE_LEVEL_HIGH>; 1477 + interrupt-names = "hc_irq", 1478 + "pwr_irq"; 1479 + clocks = <&gcc GCC_SDCC2_AHB_CLK>, 1480 + <&gcc GCC_SDCC2_APPS_CLK>, 1481 + <&rpmcc RPM_SMD_XO_CLK_SRC>; 1482 + clock-names = "iface", 1483 + "core", 1484 + "xo"; 1485 + pinctrl-0 = <&sdc2_default>; 1486 + pinctrl-1 = <&sdc2_sleep>; 1487 + pinctrl-names = "default", 1488 + "sleep"; 1489 + power-domains = <&rpmpd MSM8937_VDDCX>; 1490 + bus-width = <4>; 1491 + status = "disabled"; 1492 + }; 1493 + 1494 + blsp1_dma: dma-controller@7884000 { 1495 + compatible = "qcom,bam-v1.7.0"; 1496 + reg = <0x07884000 0x1f000>; 1497 + interrupts = <GIC_SPI 238 IRQ_TYPE_LEVEL_HIGH>; 1498 + clocks = <&gcc GCC_BLSP1_AHB_CLK>; 1499 + clock-names = "bam_clk"; 1500 + qcom,controlled-remotely; 1501 + #dma-cells = <1>; 1502 + num-channels = <12>; 1503 + qcom,num-ees = <4>; 1504 + qcom,ee = <0>; 1505 + }; 1506 + 1507 + blsp1_uart2: serial@78b0000 { 1508 + compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm"; 1509 + reg = <0x078b0000 0x200>; 1510 + interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>; 1511 + clocks = <&gcc GCC_BLSP1_UART2_APPS_CLK>, 1512 + <&gcc GCC_BLSP1_AHB_CLK>; 1513 + clock-names = "core", 1514 + "iface"; 1515 + dmas = <&blsp1_dma 2>, 1516 + <&blsp1_dma 3>; 1517 + dma-names = "tx", 1518 + "rx"; 1519 + pinctrl-0 = <&blsp1_uart2_default>; 1520 + pinctrl-1 = <&blsp1_uart2_sleep>; 1521 + pinctrl-names = "default", 1522 + "sleep"; 1523 + status = "disabled"; 1524 + }; 1525 + 1526 + blsp1_i2c2: i2c@78b6000 { 1527 + compatible = "qcom,i2c-qup-v2.2.1"; 1528 + reg = <0x078b6000 0x600>; 1529 + interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>; 1530 + clocks = <&gcc GCC_BLSP1_QUP2_I2C_APPS_CLK>, 1531 + <&gcc GCC_BLSP1_AHB_CLK>; 1532 + clock-names = "core", "iface"; 1533 + dmas = <&blsp1_dma 6>, 1534 + <&blsp1_dma 7>; 1535 + dma-names = "tx", 1536 + "rx"; 1537 + pinctrl-0 = <&blsp1_i2c2_default>; 1538 + pinctrl-1 = <&blsp1_i2c2_sleep>; 1539 + pinctrl-names = "default", 1540 + "sleep"; 1541 + #address-cells = <1>; 1542 + #size-cells = <0>; 1543 + status = "disabled"; 1544 + }; 1545 + 1546 + blsp1_i2c3: i2c@78b7000 { 1547 + compatible = "qcom,i2c-qup-v2.2.1"; 1548 + reg = <0x078b7000 0x600>; 1549 + interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>; 1550 + clocks = <&gcc GCC_BLSP1_QUP3_I2C_APPS_CLK>, 1551 + <&gcc GCC_BLSP1_AHB_CLK>; 1552 + clock-names = "core", 1553 + "iface"; 1554 + dmas = <&blsp1_dma 8>, 1555 + <&blsp1_dma 9>; 1556 + dma-names = "tx", 1557 + "rx"; 1558 + pinctrl-0 = <&blsp1_i2c3_default>; 1559 + pinctrl-1 = <&blsp1_i2c3_sleep>; 1560 + pinctrl-names = "default", 1561 + "sleep"; 1562 + #address-cells = <1>; 1563 + #size-cells = <0>; 1564 + status = "disabled"; 1565 + }; 1566 + 1567 + blsp1_spi3: spi@78b7000 { 1568 + compatible = "qcom,spi-qup-v2.2.1"; 1569 + reg = <0x078b7000 0x600>; 1570 + interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>; 1571 + clocks = <&gcc GCC_BLSP1_QUP3_SPI_APPS_CLK>, 1572 + <&gcc GCC_BLSP1_AHB_CLK>; 1573 + clock-names = "core", 1574 + "iface"; 1575 + dmas = <&blsp1_dma 8>, 1576 + <&blsp1_dma 9>; 1577 + dma-names = "tx", 1578 + "rx"; 1579 + pinctrl-0 = <&blsp1_spi3_default>; 1580 + pinctrl-1 = <&blsp1_spi3_sleep>; 1581 + pinctrl-names = "default", 1582 + "sleep"; 1583 + #address-cells = <1>; 1584 + #size-cells = <0>; 1585 + status = "disabled"; 1586 + }; 1587 + 1588 + blsp1_i2c4: i2c@78b8000 { 1589 + compatible = "qcom,i2c-qup-v2.2.1"; 1590 + reg = <0x078b8000 0x500>; 1591 + interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>; 1592 + clocks = <&gcc GCC_BLSP1_QUP4_I2C_APPS_CLK>, 1593 + <&gcc GCC_BLSP1_AHB_CLK>; 1594 + clock-names = "core", 1595 + "iface"; 1596 + dmas = <&blsp1_dma 10>, 1597 + <&blsp1_dma 11>; 1598 + dma-names = "tx", 1599 + "rx"; 1600 + pinctrl-0 = <&blsp1_i2c4_default>; 1601 + pinctrl-1 = <&blsp1_i2c4_sleep>; 1602 + pinctrl-names = "default", 1603 + "sleep"; 1604 + #address-cells = <1>; 1605 + #size-cells = <0>; 1606 + status = "disabled"; 1607 + }; 1608 + 1609 + blsp2_dma: dma-controller@7ac4000 { 1610 + compatible = "qcom,bam-v1.7.0"; 1611 + reg = <0x07ac4000 0x1d000>; 1612 + interrupts = <GIC_SPI 239 IRQ_TYPE_LEVEL_HIGH>; 1613 + clocks = <&gcc GCC_BLSP2_AHB_CLK>; 1614 + clock-names = "bam_clk"; 1615 + qcom,controlled-remotely; 1616 + #dma-cells = <1>; 1617 + num-channels = <10>; 1618 + qcom,num-ees = <4>; 1619 + qcom,ee = <0>; 1620 + }; 1621 + 1622 + blsp2_i2c1: i2c@7af5000 { 1623 + compatible = "qcom,i2c-qup-v2.2.1"; 1624 + reg = <0x07af5000 0x600>; 1625 + interrupts = <GIC_SPI 299 IRQ_TYPE_LEVEL_HIGH>; 1626 + clocks = <&gcc GCC_BLSP2_QUP1_I2C_APPS_CLK>, 1627 + <&gcc GCC_BLSP2_AHB_CLK>; 1628 + clock-names = "core", 1629 + "iface"; 1630 + dmas = <&blsp2_dma 4>, 1631 + <&blsp2_dma 5>; 1632 + dma-names = "tx", 1633 + "rx"; 1634 + pinctrl-0 = <&blsp2_i2c1_default>; 1635 + pinctrl-1 = <&blsp2_i2c1_sleep>; 1636 + pinctrl-names = "default", 1637 + "sleep"; 1638 + #address-cells = <1>; 1639 + #size-cells = <0>; 1640 + status = "disabled"; 1641 + }; 1642 + 1643 + blsp2_spi2: spi@7af6000 { 1644 + compatible = "qcom,spi-qup-v2.2.1"; 1645 + reg = <0x07af6000 0x600>; 1646 + interrupts = <GIC_SPI 300 IRQ_TYPE_LEVEL_HIGH>; 1647 + clocks = <&gcc GCC_BLSP2_QUP2_SPI_APPS_CLK>, 1648 + <&gcc GCC_BLSP2_AHB_CLK>; 1649 + clock-names = "core", 1650 + "iface"; 1651 + dmas = <&blsp2_dma 6>, 1652 + <&blsp2_dma 7>; 1653 + dma-names = "tx", 1654 + "rx"; 1655 + pinctrl-0 = <&blsp2_spi2_default>; 1656 + pinctrl-1 = <&blsp2_spi2_sleep>; 1657 + pinctrl-names = "default", 1658 + "sleep"; 1659 + #address-cells = <1>; 1660 + #size-cells = <0>; 1661 + status = "disabled"; 1662 + }; 1663 + 1664 + usb: usb@78db000 { 1665 + compatible = "qcom,ci-hdrc"; 1666 + reg = <0x078db000 0x200>, 1667 + <0x078db200 0x200>; 1668 + interrupts = <GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>, 1669 + <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>; 1670 + clocks = <&gcc GCC_USB_HS_AHB_CLK>, 1671 + <&gcc GCC_USB_HS_SYSTEM_CLK>; 1672 + clock-names = "iface", 1673 + "core"; 1674 + assigned-clocks = <&gcc GCC_USB_HS_SYSTEM_CLK>; 1675 + assigned-clock-rates = <80000000>; 1676 + resets = <&gcc GCC_USB_HS_BCR>; 1677 + reset-names = "core"; 1678 + phy_type = "ulpi"; 1679 + dr_mode = "otg"; 1680 + hnp-disable; 1681 + srp-disable; 1682 + adp-disable; 1683 + ahb-burst-config = <0>; 1684 + phy-names = "usb-phy"; 1685 + phys = <&usb_hs_phy>; 1686 + status = "disabled"; 1687 + #reset-cells = <1>; 1688 + }; 1689 + 1690 + wcnss: remoteproc@a204000 { 1691 + compatible = "qcom,pronto-v3-pil", "qcom,pronto"; 1692 + reg = <0x0a204000 0x2000>, 1693 + <0x0a202000 0x1000>, 1694 + <0x0a21b000 0x3000>; 1695 + reg-names = "ccu", 1696 + "dxe", 1697 + "pmu"; 1698 + 1699 + memory-region = <&wcnss_mem>; 1700 + 1701 + interrupts-extended = <&intc GIC_SPI 149 IRQ_TYPE_EDGE_RISING>, 1702 + <&wcnss_smp2p_in 0 IRQ_TYPE_EDGE_RISING>, 1703 + <&wcnss_smp2p_in 1 IRQ_TYPE_EDGE_RISING>, 1704 + <&wcnss_smp2p_in 2 IRQ_TYPE_EDGE_RISING>, 1705 + <&wcnss_smp2p_in 3 IRQ_TYPE_EDGE_RISING>; 1706 + interrupt-names = "wdog", 1707 + "fatal", 1708 + "ready", 1709 + "handover", 1710 + "stop-ack"; 1711 + 1712 + power-domains = <&rpmpd MSM8937_VDDCX>, 1713 + <&rpmpd MSM8937_VDDMX>; 1714 + power-domain-names = "cx", 1715 + "mx"; 1716 + 1717 + qcom,smem-states = <&wcnss_smp2p_out 0>; 1718 + qcom,smem-state-names = "stop"; 1719 + 1720 + pinctrl-0 = <&wcnss_pin_a>; 1721 + pinctrl-names = "default"; 1722 + 1723 + status = "disabled"; 1724 + 1725 + wcnss_iris: iris { 1726 + clocks = <&rpmcc RPM_SMD_RF_CLK2>; 1727 + clock-names = "xo"; 1728 + }; 1729 + 1730 + smd-edge { 1731 + interrupts = <GIC_SPI 142 IRQ_TYPE_EDGE_RISING>; 1732 + 1733 + mboxes = <&apcs1 17>; 1734 + qcom,smd-edge = <6>; 1735 + qcom,remote-pid = <4>; 1736 + 1737 + label = "pronto"; 1738 + 1739 + wcnss_ctrl: wcnss { 1740 + compatible = "qcom,wcnss"; 1741 + qcom,smd-channels = "WCNSS_CTRL"; 1742 + 1743 + qcom,mmio = <&wcnss>; 1744 + 1745 + wcnss_bt: bluetooth { 1746 + compatible = "qcom,wcnss-bt"; 1747 + }; 1748 + 1749 + wcnss_wifi: wifi { 1750 + compatible = "qcom,wcnss-wlan"; 1751 + 1752 + interrupts = <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>, 1753 + <GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>; 1754 + interrupt-names = "tx", 1755 + "rx"; 1756 + 1757 + qcom,smem-states = <&apps_smsm 10>, <&apps_smsm 9>; 1758 + qcom,smem-state-names = "tx-enable", 1759 + "tx-rings-empty"; 1760 + }; 1761 + }; 1762 + }; 1763 + }; 1764 + 1765 + intc: interrupt-controller@b000000 { 1766 + compatible = "qcom,msm-qgic2"; 1767 + interrupt-controller; 1768 + #interrupt-cells = <3>; 1769 + reg = <0x0b000000 0x1000>, 1770 + <0x0b002000 0x1000>; 1771 + }; 1772 + 1773 + apcs1: mailbox@b011000 { 1774 + compatible = "qcom,msm8939-apcs-kpss-global", "syscon"; 1775 + reg = <0x0b011000 0x1000>; 1776 + #mbox-cells = <1>; 1777 + }; 1778 + 1779 + watchdog@b017000 { 1780 + compatible = "qcom,apss-wdt-qcs404", "qcom,kpss-wdt"; 1781 + reg = <0x0b017000 0x1000>; 1782 + clocks = <&sleep_clk>; 1783 + }; 1784 + 1785 + timer@b120000 { 1786 + compatible = "arm,armv7-timer-mem"; 1787 + reg = <0x0b120000 0x1000>; 1788 + ranges; 1789 + #address-cells = <1>; 1790 + #size-cells = <1>; 1791 + 1792 + frame@b121000 { 1793 + reg = <0x0b121000 0x1000>, 1794 + <0x0b122000 0x1000>; 1795 + frame-number = <0>; 1796 + interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>, 1797 + <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>; 1798 + }; 1799 + 1800 + frame@b123000 { 1801 + reg = <0x0b123000 0x1000>; 1802 + frame-number = <1>; 1803 + interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>; 1804 + status = "disabled"; 1805 + }; 1806 + 1807 + frame@b124000 { 1808 + reg = <0x0b124000 0x1000>; 1809 + frame-number = <2>; 1810 + interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>; 1811 + status = "disabled"; 1812 + }; 1813 + 1814 + frame@b125000 { 1815 + reg = <0x0b125000 0x1000>; 1816 + frame-number = <3>; 1817 + interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>; 1818 + status = "disabled"; 1819 + }; 1820 + 1821 + frame@b126000 { 1822 + reg = <0x0b126000 0x1000>; 1823 + frame-number = <4>; 1824 + interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>; 1825 + status = "disabled"; 1826 + }; 1827 + 1828 + frame@b127000 { 1829 + reg = <0x0b127000 0x1000>; 1830 + frame-number = <5>; 1831 + interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>; 1832 + status = "disabled"; 1833 + }; 1834 + 1835 + frame@b128000 { 1836 + reg = <0x0b128000 0x1000>; 1837 + frame-number = <6>; 1838 + interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>; 1839 + status = "disabled"; 1840 + }; 1841 + }; 1842 + }; 1843 + 1844 + thermal_zones: thermal-zones { 1845 + aoss-thermal { 1846 + thermal-sensors = <&tsens 0>; 1847 + 1848 + trips { 1849 + aoss_alert0: trip-point0 { 1850 + temperature = <85000>; 1851 + hysteresis = <2000>; 1852 + type = "critical"; 1853 + }; 1854 + }; 1855 + }; 1856 + 1857 + mdm-core-thermal { 1858 + thermal-sensors = <&tsens 1>; 1859 + 1860 + trips { 1861 + mdm_core_alert0: trip-point0 { 1862 + temperature = <85000>; 1863 + hysteresis = <2000>; 1864 + type = "critical"; 1865 + }; 1866 + }; 1867 + }; 1868 + 1869 + q6-thermal { 1870 + thermal-sensors = <&tsens 2>; 1871 + 1872 + trips { 1873 + q6_alert0: trip-point0 { 1874 + temperature = <85000>; 1875 + hysteresis = <2000>; 1876 + type = "critical"; 1877 + }; 1878 + }; 1879 + }; 1880 + 1881 + camera-thermal { 1882 + thermal-sensors = <&tsens 3>; 1883 + 1884 + trips { 1885 + camera_alert0: trip-point0 { 1886 + temperature = <85000>; 1887 + hysteresis = <2000>; 1888 + type = "critical"; 1889 + }; 1890 + }; 1891 + }; 1892 + 1893 + cpuss1-thermal { 1894 + thermal-sensors = <&tsens 4>; 1895 + 1896 + cooling-maps { 1897 + map0 { 1898 + trip = <&cpuss1_alert0>; 1899 + cooling-device = <&cpu4 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 1900 + <&cpu5 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 1901 + <&cpu6 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 1902 + <&cpu7 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; 1903 + }; 1904 + }; 1905 + 1906 + trips { 1907 + cpuss1_alert0: trip-point0 { 1908 + temperature = <75000>; 1909 + hysteresis = <2000>; 1910 + type = "passive"; 1911 + }; 1912 + 1913 + cpuss1_alert1: trip-point1 { 1914 + temperature = <85000>; 1915 + hysteresis = <2000>; 1916 + type = "hot"; 1917 + }; 1918 + 1919 + cpuss1_crit: cpuss1-crit { 1920 + temperature = <100000>; 1921 + hysteresis = <2000>; 1922 + type = "critical"; 1923 + }; 1924 + }; 1925 + }; 1926 + 1927 + cpu4-thermal { 1928 + thermal-sensors = <&tsens 5>; 1929 + 1930 + cooling-maps { 1931 + map0 { 1932 + trip = <&cpu4_alert1>; 1933 + cooling-device = <&cpu4 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 1934 + <&cpu5 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 1935 + <&cpu6 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 1936 + <&cpu7 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; 1937 + }; 1938 + }; 1939 + 1940 + trips { 1941 + cpu4_alert0: trip-point0 { 1942 + temperature = <75000>; 1943 + hysteresis = <2000>; 1944 + type = "passive"; 1945 + }; 1946 + 1947 + cpu4_alert1: trip-point1 { 1948 + temperature = <85000>; 1949 + hysteresis = <2000>; 1950 + type = "hot"; 1951 + }; 1952 + 1953 + cpu4_crit: cpu-crit { 1954 + temperature = <100000>; 1955 + hysteresis = <2000>; 1956 + type = "critical"; 1957 + }; 1958 + }; 1959 + }; 1960 + 1961 + cpu5-thermal { 1962 + thermal-sensors = <&tsens 6>; 1963 + 1964 + cooling-maps { 1965 + map0 { 1966 + trip = <&cpu5_alert1>; 1967 + cooling-device = <&cpu4 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 1968 + <&cpu5 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 1969 + <&cpu6 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 1970 + <&cpu7 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; 1971 + }; 1972 + }; 1973 + 1974 + trips { 1975 + cpu5_alert0: trip-point0 { 1976 + temperature = <75000>; 1977 + hysteresis = <2000>; 1978 + type = "hot"; 1979 + }; 1980 + 1981 + cpu5_alert1: trip-point1 { 1982 + temperature = <85000>; 1983 + hysteresis = <2000>; 1984 + type = "passive"; 1985 + }; 1986 + 1987 + cpu5_crit: cpu-crit { 1988 + temperature = <100000>; 1989 + hysteresis = <2000>; 1990 + type = "critical"; 1991 + }; 1992 + }; 1993 + }; 1994 + 1995 + cpu6-thermal { 1996 + thermal-sensors = <&tsens 7>; 1997 + 1998 + cooling-maps { 1999 + map0 { 2000 + trip = <&cpu6_alert1>; 2001 + cooling-device = <&cpu4 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 2002 + <&cpu5 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 2003 + <&cpu6 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 2004 + <&cpu7 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; 2005 + }; 2006 + }; 2007 + 2008 + trips { 2009 + cpu6_alert0: trip-point0 { 2010 + temperature = <75000>; 2011 + hysteresis = <2000>; 2012 + type = "hot"; 2013 + }; 2014 + 2015 + cpu6_alert1: trip-point1 { 2016 + temperature = <85000>; 2017 + hysteresis = <2000>; 2018 + type = "passive"; 2019 + }; 2020 + 2021 + cpu6_crit: cpu-crit { 2022 + temperature = <100000>; 2023 + hysteresis = <2000>; 2024 + type = "critical"; 2025 + }; 2026 + }; 2027 + }; 2028 + 2029 + cpu7-thermal { 2030 + thermal-sensors = <&tsens 8>; 2031 + 2032 + cooling-maps { 2033 + map0 { 2034 + trip = <&cpu7_alert1>; 2035 + cooling-device = <&cpu4 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 2036 + <&cpu5 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 2037 + <&cpu6 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 2038 + <&cpu7 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; 2039 + }; 2040 + }; 2041 + 2042 + trips { 2043 + cpu7_alert0: trip-point0 { 2044 + temperature = <75000>; 2045 + hysteresis = <2000>; 2046 + type = "hot"; 2047 + }; 2048 + 2049 + cpu7_alert1: trip-point1 { 2050 + temperature = <85000>; 2051 + hysteresis = <2000>; 2052 + type = "passive"; 2053 + }; 2054 + 2055 + cpu7_crit: cpu-crit { 2056 + temperature = <100000>; 2057 + hysteresis = <2000>; 2058 + type = "critical"; 2059 + }; 2060 + }; 2061 + }; 2062 + 2063 + cpuss0-thermal { 2064 + thermal-sensors = <&tsens 9>; 2065 + 2066 + cooling-maps { 2067 + map0 { 2068 + trip = <&cpuss0_alert0>; 2069 + cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 2070 + <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 2071 + <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 2072 + <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; 2073 + }; 2074 + }; 2075 + 2076 + trips { 2077 + cpuss0_alert0: trip-point0 { 2078 + temperature = <75000>; 2079 + hysteresis = <2000>; 2080 + type = "passive"; 2081 + }; 2082 + 2083 + cpuss0_alert1: trip-point1 { 2084 + temperature = <85000>; 2085 + hysteresis = <2000>; 2086 + type = "hot"; 2087 + }; 2088 + 2089 + cpuss0_crit: cpuss0-crit { 2090 + temperature = <100000>; 2091 + hysteresis = <2000>; 2092 + type = "critical"; 2093 + }; 2094 + }; 2095 + }; 2096 + 2097 + gpu-thermal { 2098 + polling-delay-passive = <250>; 2099 + 2100 + thermal-sensors = <&tsens 10>; 2101 + 2102 + cooling-maps { 2103 + map0 { 2104 + trip = <&gpu_alert>; 2105 + cooling-device = <&gpu THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; 2106 + }; 2107 + }; 2108 + 2109 + trips { 2110 + gpu_alert: trip-point0 { 2111 + temperature = <70000>; 2112 + hysteresis = <2000>; 2113 + type = "passive"; 2114 + }; 2115 + 2116 + gpu_crit: gpu-crit { 2117 + temperature = <90000>; 2118 + hysteresis = <2000>; 2119 + type = "critical"; 2120 + }; 2121 + }; 2122 + }; 2123 + }; 2124 + 2125 + timer { 2126 + compatible = "arm,armv8-timer"; 2127 + interrupts = <GIC_PPI 2 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>, 2128 + <GIC_PPI 3 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>, 2129 + <GIC_PPI 4 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>, 2130 + <GIC_PPI 1 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>; 2131 + }; 2132 + }; 2133 +