1// SPDX-License-Identifier: BSD-3-Clause 2/* Copyright (c) 2022, The Linux Foundation. All rights reserved. */ 3 4#include <dt-bindings/clock/qcom,dsi-phy-28nm.h> 5#include <dt-bindings/clock/qcom,gcc-msm8953.h> 6#include <dt-bindings/clock/qcom,rpmcc.h> 7#include <dt-bindings/gpio/gpio.h> 8#include <dt-bindings/interconnect/qcom,msm8953.h> 9#include <dt-bindings/interconnect/qcom,rpm-icc.h> 10#include <dt-bindings/interrupt-controller/arm-gic.h> 11#include <dt-bindings/power/qcom-rpmpd.h> 12#include <dt-bindings/soc/qcom,apr.h> 13#include <dt-bindings/sound/qcom,q6afe.h> 14#include <dt-bindings/sound/qcom,q6asm.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 clocks { 26 sleep_clk: sleep-clk { 27 compatible = "fixed-clock"; 28 #clock-cells = <0>; 29 clock-frequency = <32768>; 30 }; 31 32 xo_board: xo-board { 33 compatible = "fixed-clock"; 34 #clock-cells = <0>; 35 clock-frequency = <19200000>; 36 clock-output-names = "xo"; 37 }; 38 }; 39 40 cpus { 41 #address-cells = <1>; 42 #size-cells = <0>; 43 44 cpu0: cpu@0 { 45 device_type = "cpu"; 46 compatible = "arm,cortex-a53"; 47 reg = <0x0>; 48 enable-method = "psci"; 49 capacity-dmips-mhz = <1024>; 50 interconnects = <&bimc MAS_APPS_PROC RPM_ACTIVE_TAG 51 &bimc SLV_EBI RPM_ACTIVE_TAG>; 52 next-level-cache = <&l2_0>; 53 #cooling-cells = <2>; 54 }; 55 56 cpu1: cpu@1 { 57 device_type = "cpu"; 58 compatible = "arm,cortex-a53"; 59 reg = <0x1>; 60 enable-method = "psci"; 61 capacity-dmips-mhz = <1024>; 62 interconnects = <&bimc MAS_APPS_PROC RPM_ACTIVE_TAG 63 &bimc SLV_EBI RPM_ACTIVE_TAG>; 64 next-level-cache = <&l2_0>; 65 #cooling-cells = <2>; 66 }; 67 68 cpu2: cpu@2 { 69 device_type = "cpu"; 70 compatible = "arm,cortex-a53"; 71 reg = <0x2>; 72 enable-method = "psci"; 73 capacity-dmips-mhz = <1024>; 74 interconnects = <&bimc MAS_APPS_PROC RPM_ACTIVE_TAG 75 &bimc SLV_EBI RPM_ACTIVE_TAG>; 76 next-level-cache = <&l2_0>; 77 #cooling-cells = <2>; 78 }; 79 80 cpu3: cpu@3 { 81 device_type = "cpu"; 82 compatible = "arm,cortex-a53"; 83 reg = <0x3>; 84 enable-method = "psci"; 85 capacity-dmips-mhz = <1024>; 86 interconnects = <&bimc MAS_APPS_PROC RPM_ACTIVE_TAG 87 &bimc SLV_EBI RPM_ACTIVE_TAG>; 88 next-level-cache = <&l2_0>; 89 #cooling-cells = <2>; 90 }; 91 92 cpu4: cpu@100 { 93 device_type = "cpu"; 94 compatible = "arm,cortex-a53"; 95 reg = <0x100>; 96 enable-method = "psci"; 97 capacity-dmips-mhz = <1024>; 98 interconnects = <&bimc MAS_APPS_PROC RPM_ACTIVE_TAG 99 &bimc SLV_EBI RPM_ACTIVE_TAG>; 100 next-level-cache = <&l2_1>; 101 #cooling-cells = <2>; 102 }; 103 104 cpu5: cpu@101 { 105 device_type = "cpu"; 106 compatible = "arm,cortex-a53"; 107 reg = <0x101>; 108 enable-method = "psci"; 109 capacity-dmips-mhz = <1024>; 110 interconnects = <&bimc MAS_APPS_PROC RPM_ACTIVE_TAG 111 &bimc SLV_EBI RPM_ACTIVE_TAG>; 112 next-level-cache = <&l2_1>; 113 #cooling-cells = <2>; 114 }; 115 116 cpu6: cpu@102 { 117 device_type = "cpu"; 118 compatible = "arm,cortex-a53"; 119 reg = <0x102>; 120 enable-method = "psci"; 121 capacity-dmips-mhz = <1024>; 122 interconnects = <&bimc MAS_APPS_PROC RPM_ACTIVE_TAG 123 &bimc SLV_EBI RPM_ACTIVE_TAG>; 124 next-level-cache = <&l2_1>; 125 #cooling-cells = <2>; 126 }; 127 128 cpu7: cpu@103 { 129 device_type = "cpu"; 130 compatible = "arm,cortex-a53"; 131 reg = <0x103>; 132 enable-method = "psci"; 133 capacity-dmips-mhz = <1024>; 134 interconnects = <&bimc MAS_APPS_PROC RPM_ACTIVE_TAG 135 &bimc SLV_EBI RPM_ACTIVE_TAG>; 136 next-level-cache = <&l2_1>; 137 #cooling-cells = <2>; 138 }; 139 140 cpu-map { 141 cluster0 { 142 core0 { 143 cpu = <&cpu0>; 144 }; 145 core1 { 146 cpu = <&cpu1>; 147 }; 148 core2 { 149 cpu = <&cpu2>; 150 }; 151 core3 { 152 cpu = <&cpu3>; 153 }; 154 }; 155 156 cluster1 { 157 core0 { 158 cpu = <&cpu4>; 159 }; 160 core1 { 161 cpu = <&cpu5>; 162 }; 163 core2 { 164 cpu = <&cpu6>; 165 }; 166 core3 { 167 cpu = <&cpu7>; 168 }; 169 }; 170 }; 171 172 l2_0: l2-cache-0 { 173 compatible = "cache"; 174 cache-level = <2>; 175 cache-unified; 176 }; 177 178 l2_1: l2-cache-1 { 179 compatible = "cache"; 180 cache-level = <2>; 181 cache-unified; 182 }; 183 }; 184 185 firmware { 186 scm: scm { 187 compatible = "qcom,scm-msm8953", "qcom,scm"; 188 clocks = <&gcc GCC_CRYPTO_CLK>, 189 <&gcc GCC_CRYPTO_AXI_CLK>, 190 <&gcc GCC_CRYPTO_AHB_CLK>; 191 clock-names = "core", "bus", "iface"; 192 #reset-cells = <1>; 193 }; 194 }; 195 196 memory@10000000 { 197 device_type = "memory"; 198 /* We expect the bootloader to fill in the reg */ 199 reg = <0 0x10000000 0 0>; 200 }; 201 202 pmu { 203 compatible = "arm,cortex-a53-pmu"; 204 interrupts = <GIC_PPI 7 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_HIGH)>; 205 }; 206 207 psci { 208 compatible = "arm,psci-1.0"; 209 method = "smc"; 210 }; 211 212 rpm: remoteproc { 213 compatible = "qcom,msm8953-rpm-proc", "qcom,rpm-proc"; 214 215 smd-edge { 216 interrupts = <GIC_SPI 168 IRQ_TYPE_EDGE_RISING>; 217 mboxes = <&apcs 0>; 218 qcom,smd-edge = <15>; 219 220 rpm_requests: rpm-requests { 221 compatible = "qcom,rpm-msm8953", "qcom,smd-rpm"; 222 qcom,smd-channels = "rpm_requests"; 223 224 rpmcc: clock-controller { 225 compatible = "qcom,rpmcc-msm8953", "qcom,rpmcc"; 226 clocks = <&xo_board>; 227 clock-names = "xo"; 228 #clock-cells = <1>; 229 }; 230 231 rpmpd: power-controller { 232 compatible = "qcom,msm8953-rpmpd"; 233 #power-domain-cells = <1>; 234 operating-points-v2 = <&rpmpd_opp_table>; 235 236 rpmpd_opp_table: opp-table { 237 compatible = "operating-points-v2"; 238 239 rpmpd_opp_ret: opp1 { 240 opp-level = <RPM_SMD_LEVEL_RETENTION>; 241 }; 242 243 rpmpd_opp_ret_plus: opp2 { 244 opp-level = <RPM_SMD_LEVEL_RETENTION_PLUS>; 245 }; 246 247 rpmpd_opp_min_svs: opp3 { 248 opp-level = <RPM_SMD_LEVEL_MIN_SVS>; 249 }; 250 251 rpmpd_opp_low_svs: opp4 { 252 opp-level = <RPM_SMD_LEVEL_LOW_SVS>; 253 }; 254 255 rpmpd_opp_svs: opp5 { 256 opp-level = <RPM_SMD_LEVEL_SVS>; 257 }; 258 259 rpmpd_opp_svs_plus: opp6 { 260 opp-level = <RPM_SMD_LEVEL_SVS_PLUS>; 261 }; 262 263 rpmpd_opp_nom: opp7 { 264 opp-level = <RPM_SMD_LEVEL_NOM>; 265 }; 266 267 rpmpd_opp_nom_plus: opp8 { 268 opp-level = <RPM_SMD_LEVEL_NOM_PLUS>; 269 }; 270 271 rpmpd_opp_turbo: opp9 { 272 opp-level = <RPM_SMD_LEVEL_TURBO>; 273 }; 274 }; 275 }; 276 }; 277 }; 278 }; 279 280 reserved-memory { 281 #address-cells = <2>; 282 #size-cells = <2>; 283 ranges; 284 285 zap_shader_region: zap@81800000 { 286 compatible = "shared-dma-pool"; 287 reg = <0x0 0x81800000 0x0 0x2000>; 288 no-map; 289 }; 290 291 qseecom_mem: qseecom@85b00000 { 292 reg = <0x0 0x85b00000 0x0 0x800000>; 293 no-map; 294 }; 295 296 smem_mem: smem@86300000 { 297 compatible = "qcom,smem"; 298 reg = <0x0 0x86300000 0x0 0x100000>; 299 qcom,rpm-msg-ram = <&rpm_msg_ram>; 300 hwlocks = <&tcsr_mutex 3>; 301 no-map; 302 }; 303 304 reserved@86400000 { 305 reg = <0x0 0x86400000 0x0 0x400000>; 306 no-map; 307 }; 308 309 mpss_mem: mpss@86c00000 { 310 reg = <0x0 0x86c00000 0x0 0x6a00000>; 311 no-map; 312 }; 313 314 adsp_fw_mem: adsp@8d600000 { 315 reg = <0x0 0x8d600000 0x0 0x1100000>; 316 no-map; 317 }; 318 319 wcnss_fw_mem: wcnss@8e700000 { 320 reg = <0x0 0x8e700000 0x0 0x700000>; 321 no-map; 322 }; 323 324 dfps_data_mem: dfps-data@90000000 { 325 reg = <0 0x90000000 0 0x1000>; 326 no-map; 327 }; 328 329 cont_splash_mem: cont-splash@90001000 { 330 reg = <0x0 0x90001000 0x0 0x13ff000>; 331 no-map; 332 }; 333 334 venus_mem: venus@91400000 { 335 reg = <0x0 0x91400000 0x0 0x700000>; 336 no-map; 337 }; 338 339 mba_mem: mba@92000000 { 340 reg = <0x0 0x92000000 0x0 0x100000>; 341 no-map; 342 }; 343 344 rmtfs@f2d00000 { 345 compatible = "qcom,rmtfs-mem"; 346 reg = <0x0 0xf2d00000 0x0 0x180000>; 347 no-map; 348 349 qcom,client-id = <1>; 350 }; 351 }; 352 353 smp2p-adsp { 354 compatible = "qcom,smp2p"; 355 qcom,smem = <443>, <429>; 356 357 interrupts = <GIC_SPI 291 IRQ_TYPE_EDGE_RISING>; 358 359 mboxes = <&apcs 10>; 360 361 qcom,local-pid = <0>; 362 qcom,remote-pid = <2>; 363 364 smp2p_adsp_out: master-kernel { 365 qcom,entry-name = "master-kernel"; 366 #qcom,smem-state-cells = <1>; 367 }; 368 369 smp2p_adsp_in: slave-kernel { 370 qcom,entry-name = "slave-kernel"; 371 372 interrupt-controller; 373 #interrupt-cells = <2>; 374 }; 375 }; 376 377 smp2p-modem { 378 compatible = "qcom,smp2p"; 379 qcom,smem = <435>, <428>; 380 381 interrupts = <GIC_SPI 27 IRQ_TYPE_EDGE_RISING>; 382 383 mboxes = <&apcs 14>; 384 385 qcom,local-pid = <0>; 386 qcom,remote-pid = <1>; 387 388 smp2p_modem_out: master-kernel { 389 qcom,entry-name = "master-kernel"; 390 391 #qcom,smem-state-cells = <1>; 392 }; 393 394 smp2p_modem_in: slave-kernel { 395 qcom,entry-name = "slave-kernel"; 396 397 interrupt-controller; 398 #interrupt-cells = <2>; 399 }; 400 }; 401 402 smp2p-wcnss { 403 compatible = "qcom,smp2p"; 404 qcom,smem = <451>, <431>; 405 406 interrupts = <GIC_SPI 143 IRQ_TYPE_EDGE_RISING>; 407 408 mboxes = <&apcs 18>; 409 410 qcom,local-pid = <0>; 411 qcom,remote-pid = <4>; 412 413 smp2p_wcnss_out: master-kernel { 414 qcom,entry-name = "master-kernel"; 415 416 #qcom,smem-state-cells = <1>; 417 }; 418 419 smp2p_wcnss_in: slave-kernel { 420 qcom,entry-name = "slave-kernel"; 421 422 interrupt-controller; 423 #interrupt-cells = <2>; 424 }; 425 }; 426 427 smsm { 428 compatible = "qcom,smsm"; 429 430 #address-cells = <1>; 431 #size-cells = <0>; 432 433 mboxes = <0>, <&apcs 13>, <0>, <&apcs 19>; 434 435 apps_smsm: apps@0 { 436 reg = <0>; 437 438 #qcom,smem-state-cells = <1>; 439 }; 440 441 modem_smsm: modem@1 { 442 reg = <1>; 443 interrupts = <GIC_SPI 26 IRQ_TYPE_EDGE_RISING>; 444 445 interrupt-controller; 446 #interrupt-cells = <2>; 447 }; 448 449 wcnss_smsm: wcnss@6 { 450 reg = <6>; 451 interrupts = <GIC_SPI 144 IRQ_TYPE_EDGE_RISING>; 452 453 interrupt-controller; 454 #interrupt-cells = <2>; 455 }; 456 }; 457 458 soc: soc@0 { 459 #address-cells = <1>; 460 #size-cells = <1>; 461 ranges = <0 0 0 0xffffffff>; 462 compatible = "simple-bus"; 463 464 rpm_msg_ram: sram@60000 { 465 compatible = "qcom,rpm-msg-ram"; 466 reg = <0x00060000 0x8000>; 467 }; 468 469 hsusb_phy: phy@79000 { 470 compatible = "qcom,msm8953-qusb2-phy"; 471 reg = <0x00079000 0x180>; 472 #phy-cells = <0>; 473 474 clocks = <&gcc GCC_USB_PHY_CFG_AHB_CLK>, 475 <&gcc GCC_QUSB_REF_CLK>; 476 clock-names = "cfg_ahb", "ref"; 477 478 qcom,tcsr-syscon = <&tcsr_phy_clk_scheme_sel>; 479 480 resets = <&gcc GCC_QUSB2_PHY_BCR>; 481 482 status = "disabled"; 483 }; 484 485 rng@e3000 { 486 compatible = "qcom,prng"; 487 reg = <0x000e3000 0x1000>; 488 clocks = <&gcc GCC_PRNG_AHB_CLK>; 489 clock-names = "core"; 490 }; 491 492 bimc: interconnect@400000 { 493 compatible = "qcom,msm8953-bimc"; 494 reg = <0x00400000 0x5a000>; 495 496 #interconnect-cells = <2>; 497 }; 498 499 tsens0: thermal-sensor@4a9000 { 500 compatible = "qcom,msm8953-tsens", "qcom,tsens-v2"; 501 reg = <0x004a9000 0x1000>, /* TM */ 502 <0x004a8000 0x1000>; /* SROT */ 503 #qcom,sensors = <16>; 504 interrupts = <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>, 505 <GIC_SPI 314 IRQ_TYPE_LEVEL_HIGH>; 506 interrupt-names = "uplow", "critical"; 507 #thermal-sensor-cells = <1>; 508 }; 509 510 restart@4ab000 { 511 compatible = "qcom,pshold"; 512 reg = <0x004ab000 0x4>; 513 }; 514 515 pcnoc: interconnect@500000 { 516 compatible = "qcom,msm8953-pcnoc"; 517 reg = <0x00500000 0x12080>; 518 519 clocks = <&gcc GCC_PCNOC_USB3_AXI_CLK>; 520 clock-names = "pcnoc_usb3_axi"; 521 522 #interconnect-cells = <2>; 523 }; 524 525 snoc: interconnect@580000 { 526 compatible = "qcom,msm8953-snoc"; 527 reg = <0x00580000 0x16080>; 528 529 #interconnect-cells = <2>; 530 531 snoc_mm: interconnect-snoc { 532 compatible = "qcom,msm8953-snoc-mm"; 533 534 #interconnect-cells = <2>; 535 }; 536 }; 537 538 tlmm: pinctrl@1000000 { 539 compatible = "qcom,msm8953-pinctrl"; 540 reg = <0x01000000 0x300000>; 541 interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>; 542 gpio-controller; 543 gpio-ranges = <&tlmm 0 0 142>; 544 #gpio-cells = <2>; 545 interrupt-controller; 546 #interrupt-cells = <2>; 547 548 uart_console_active: uart-console-active-state { 549 pins = "gpio4", "gpio5"; 550 function = "blsp_uart2"; 551 drive-strength = <2>; 552 bias-disable; 553 }; 554 555 uart_console_sleep: uart-console-sleep-state { 556 pins = "gpio4", "gpio5"; 557 function = "blsp_uart2"; 558 drive-strength = <2>; 559 bias-pull-down; 560 }; 561 562 sdc1_clk_on: sdc1-clk-on-state { 563 pins = "sdc1_clk"; 564 bias-disable; 565 drive-strength = <16>; 566 }; 567 568 sdc1_clk_off: sdc1-clk-off-state { 569 pins = "sdc1_clk"; 570 bias-disable; 571 drive-strength = <2>; 572 }; 573 574 sdc1_cmd_on: sdc1-cmd-on-state { 575 pins = "sdc1_cmd"; 576 bias-disable; 577 drive-strength = <10>; 578 }; 579 580 sdc1_cmd_off: sdc1-cmd-off-state { 581 pins = "sdc1_cmd"; 582 bias-disable; 583 drive-strength = <2>; 584 }; 585 586 sdc1_data_on: sdc1-data-on-state { 587 pins = "sdc1_data"; 588 bias-pull-up; 589 drive-strength = <10>; 590 }; 591 592 sdc1_data_off: sdc1-data-off-state { 593 pins = "sdc1_data"; 594 bias-pull-up; 595 drive-strength = <2>; 596 }; 597 598 sdc1_rclk_on: sdc1-rclk-on-state { 599 pins = "sdc1_rclk"; 600 bias-pull-down; 601 }; 602 603 sdc1_rclk_off: sdc1-rclk-off-state { 604 pins = "sdc1_rclk"; 605 bias-pull-down; 606 }; 607 608 sdc2_clk_on: sdc2-clk-on-state { 609 pins = "sdc2_clk"; 610 drive-strength = <16>; 611 bias-disable; 612 }; 613 614 sdc2_clk_off: sdc2-clk-off-state { 615 pins = "sdc2_clk"; 616 bias-disable; 617 drive-strength = <2>; 618 }; 619 620 sdc2_cmd_on: sdc2-cmd-on-state { 621 pins = "sdc2_cmd"; 622 bias-pull-up; 623 drive-strength = <10>; 624 }; 625 626 sdc2_cmd_off: sdc2-cmd-off-state { 627 pins = "sdc2_cmd"; 628 bias-pull-up; 629 drive-strength = <2>; 630 }; 631 632 sdc2_data_on: sdc2-data-on-state { 633 pins = "sdc2_data"; 634 bias-pull-up; 635 drive-strength = <10>; 636 }; 637 638 sdc2_data_off: sdc2-data-off-state { 639 pins = "sdc2_data"; 640 bias-pull-up; 641 drive-strength = <2>; 642 }; 643 644 sdc2_cd_on: cd-on-state { 645 pins = "gpio133"; 646 function = "gpio"; 647 drive-strength = <2>; 648 bias-pull-up; 649 }; 650 651 sdc2_cd_off: cd-off-state { 652 pins = "gpio133"; 653 function = "gpio"; 654 drive-strength = <2>; 655 bias-disable; 656 }; 657 658 gpio_key_default: gpio-key-default-state { 659 pins = "gpio85"; 660 function = "gpio"; 661 drive-strength = <2>; 662 bias-pull-up; 663 }; 664 665 i2c_1_default: i2c-1-default-state { 666 pins = "gpio2", "gpio3"; 667 function = "blsp_i2c1"; 668 drive-strength = <2>; 669 bias-disable; 670 }; 671 672 i2c_1_sleep: i2c-1-sleep-state { 673 pins = "gpio2", "gpio3"; 674 function = "gpio"; 675 drive-strength = <2>; 676 bias-disable; 677 }; 678 679 i2c_2_default: i2c-2-default-state { 680 pins = "gpio6", "gpio7"; 681 function = "blsp_i2c2"; 682 drive-strength = <2>; 683 bias-disable; 684 }; 685 686 i2c_2_sleep: i2c-2-sleep-state { 687 pins = "gpio6", "gpio7"; 688 function = "gpio"; 689 drive-strength = <2>; 690 bias-disable; 691 }; 692 693 i2c_3_default: i2c-3-default-state { 694 pins = "gpio10", "gpio11"; 695 function = "blsp_i2c3"; 696 drive-strength = <2>; 697 bias-disable; 698 }; 699 700 i2c_3_sleep: i2c-3-sleep-state { 701 pins = "gpio10", "gpio11"; 702 function = "gpio"; 703 drive-strength = <2>; 704 bias-disable; 705 }; 706 707 i2c_4_default: i2c-4-default-state { 708 pins = "gpio14", "gpio15"; 709 function = "blsp_i2c4"; 710 drive-strength = <2>; 711 bias-disable; 712 }; 713 714 i2c_4_sleep: i2c-4-sleep-state { 715 pins = "gpio14", "gpio15"; 716 function = "gpio"; 717 drive-strength = <2>; 718 bias-disable; 719 }; 720 721 i2c_5_default: i2c-5-default-state { 722 pins = "gpio18", "gpio19"; 723 function = "blsp_i2c5"; 724 drive-strength = <2>; 725 bias-disable; 726 }; 727 728 i2c_5_sleep: i2c-5-sleep-state { 729 pins = "gpio18", "gpio19"; 730 function = "gpio"; 731 drive-strength = <2>; 732 bias-disable; 733 }; 734 735 i2c_6_default: i2c-6-default-state { 736 pins = "gpio22", "gpio23"; 737 function = "blsp_i2c6"; 738 drive-strength = <2>; 739 bias-disable; 740 }; 741 742 i2c_6_sleep: i2c-6-sleep-state { 743 pins = "gpio22", "gpio23"; 744 function = "gpio"; 745 drive-strength = <2>; 746 bias-disable; 747 }; 748 749 i2c_7_default: i2c-7-default-state { 750 pins = "gpio135", "gpio136"; 751 function = "blsp_i2c7"; 752 drive-strength = <2>; 753 bias-disable; 754 }; 755 756 i2c_7_sleep: i2c-7-sleep-state { 757 pins = "gpio135", "gpio136"; 758 function = "gpio"; 759 drive-strength = <2>; 760 bias-disable; 761 }; 762 763 i2c_8_default: i2c-8-default-state { 764 pins = "gpio98", "gpio99"; 765 function = "blsp_i2c8"; 766 drive-strength = <2>; 767 bias-disable; 768 }; 769 770 i2c_8_sleep: i2c-8-sleep-state { 771 pins = "gpio98", "gpio99"; 772 function = "gpio"; 773 drive-strength = <2>; 774 bias-disable; 775 }; 776 777 spi_3_default: spi-3-default-state { 778 cs-pins { 779 pins = "gpio10"; 780 function = "blsp_spi3"; 781 drive-strength = <2>; 782 bias-disable; 783 }; 784 785 spi-pins { 786 pins = "gpio8", "gpio9", "gpio11"; 787 function = "blsp_spi3"; 788 drive-strength = <12>; 789 bias-disable; 790 }; 791 }; 792 793 spi_3_sleep: spi-3-sleep-state { 794 cs-pins { 795 pins = "gpio10"; 796 function = "gpio"; 797 drive-strength = <2>; 798 bias-disable; 799 }; 800 801 spi-pins { 802 pins = "gpio8", "gpio9", "gpio11"; 803 function = "gpio"; 804 drive-strength = <2>; 805 bias-pull-down; 806 }; 807 }; 808 809 spi_5_default: spi-5-default-state { 810 cs-pins { 811 pins = "gpio18"; 812 function = "blsp_spi5"; 813 drive-strength = <2>; 814 bias-disable; 815 }; 816 817 spi-pins { 818 pins = "gpio16", "gpio17", "gpio19"; 819 function = "blsp_spi5"; 820 drive-strength = <12>; 821 bias-disable; 822 }; 823 }; 824 825 spi_5_sleep: spi-5-sleep-state { 826 cs-pins { 827 pins = "gpio18"; 828 function = "gpio"; 829 drive-strength = <2>; 830 bias-disable; 831 }; 832 833 spi-pins { 834 pins = "gpio16", "gpio17", "gpio19"; 835 function = "gpio"; 836 drive-strength = <2>; 837 bias-pull-down; 838 }; 839 }; 840 841 spi_6_default: spi-6-default-state { 842 cs-pins { 843 pins = "gpio22"; 844 function = "blsp_spi6"; 845 drive-strength = <2>; 846 bias-disable; 847 }; 848 849 spi-pins { 850 pins = "gpio20", "gpio21", "gpio23"; 851 function = "blsp_spi6"; 852 drive-strength = <12>; 853 bias-disable; 854 }; 855 }; 856 857 spi_6_sleep: spi-6-sleep-state { 858 cs-pins { 859 pins = "gpio22"; 860 function = "gpio"; 861 drive-strength = <2>; 862 bias-disable; 863 }; 864 865 spi-pins { 866 pins = "gpio20", "gpio21", "gpio23"; 867 function = "gpio"; 868 drive-strength = <2>; 869 bias-pull-down; 870 }; 871 }; 872 873 spi_7_default: spi-7-default-state { 874 cs-pins { 875 pins = "gpio136"; 876 function = "blsp_spi7"; 877 drive-strength = <2>; 878 bias-disable; 879 }; 880 881 spi-pins { 882 pins = "gpio135", "gpio137", "gpio138"; 883 function = "blsp_spi7"; 884 drive-strength = <12>; 885 bias-disable; 886 }; 887 }; 888 889 spi_7_sleep: spi-7-sleep-state { 890 cs-pins { 891 pins = "gpio136"; 892 function = "gpio"; 893 drive-strength = <2>; 894 bias-disable; 895 }; 896 897 spi-pins { 898 pins = "gpio135", "gpio137", "gpio138"; 899 function = "gpio"; 900 drive-strength = <2>; 901 bias-pull-down; 902 }; 903 }; 904 905 uart_5_default: uart-5-default-state { 906 pins = "gpio16", "gpio17", "gpio18", "gpio19"; 907 function = "blsp_uart5"; 908 drive-strength = <16>; 909 bias-disable; 910 }; 911 912 uart_5_sleep: uart-5-sleep-state { 913 pins = "gpio16", "gpio17", "gpio18", "gpio19"; 914 function = "gpio"; 915 drive-strength = <2>; 916 bias-disable; 917 }; 918 919 wcnss_pin_a: wcnss-active-state { 920 921 wcss-wlan2-pins { 922 pins = "gpio76"; 923 function = "wcss_wlan2"; 924 drive-strength = <6>; 925 bias-pull-up; 926 }; 927 928 wcss-wlan1-pins { 929 pins = "gpio77"; 930 function = "wcss_wlan1"; 931 drive-strength = <6>; 932 bias-pull-up; 933 }; 934 935 wcss-wlan0-pins { 936 pins = "gpio78"; 937 function = "wcss_wlan0"; 938 drive-strength = <6>; 939 bias-pull-up; 940 }; 941 942 wcss-wlan-pins { 943 pins = "gpio79", "gpio80"; 944 function = "wcss_wlan"; 945 drive-strength = <6>; 946 bias-pull-up; 947 }; 948 }; 949 }; 950 951 gcc: clock-controller@1800000 { 952 compatible = "qcom,gcc-msm8953"; 953 reg = <0x01800000 0x80000>; 954 #clock-cells = <1>; 955 #reset-cells = <1>; 956 #power-domain-cells = <1>; 957 clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>, 958 <&sleep_clk>, 959 <&mdss_dsi0_phy DSI_PIXEL_PLL_CLK>, 960 <&mdss_dsi0_phy DSI_BYTE_PLL_CLK>, 961 <&mdss_dsi1_phy DSI_PIXEL_PLL_CLK>, 962 <&mdss_dsi1_phy DSI_BYTE_PLL_CLK>; 963 clock-names = "xo", 964 "sleep", 965 "dsi0pll", 966 "dsi0pllbyte", 967 "dsi1pll", 968 "dsi1pllbyte"; 969 }; 970 971 tcsr_mutex: hwlock@1905000 { 972 compatible = "qcom,tcsr-mutex"; 973 reg = <0x01905000 0x20000>; 974 #hwlock-cells = <1>; 975 }; 976 977 tcsr: syscon@1937000 { 978 compatible = "qcom,tcsr-msm8953", "syscon"; 979 reg = <0x01937000 0x30000>; 980 }; 981 982 tcsr_phy_clk_scheme_sel: syscon@193f044 { 983 compatible = "qcom,tcsr-msm8953", "syscon"; 984 reg = <0x0193f044 0x4>; 985 }; 986 987 mdss: display-subsystem@1a00000 { 988 compatible = "qcom,mdss"; 989 990 reg = <0x01a00000 0x1000>, 991 <0x01ab0000 0x1040>; 992 reg-names = "mdss_phys", 993 "vbif_phys"; 994 995 power-domains = <&gcc MDSS_GDSC>; 996 interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>; 997 998 interrupt-controller; 999 #interrupt-cells = <1>; 1000 1001 interconnects = <&snoc_mm MAS_MDP RPM_ALWAYS_TAG 1002 &bimc SLV_EBI RPM_ALWAYS_TAG>, 1003 <&bimc MAS_APPS_PROC RPM_ACTIVE_TAG 1004 &pcnoc SLV_DISP_SS_CFG RPM_ACTIVE_TAG>; 1005 interconnect-names = "mdp0-mem", 1006 "cpu-cfg"; 1007 1008 clocks = <&gcc GCC_MDSS_AHB_CLK>, 1009 <&gcc GCC_MDSS_AXI_CLK>, 1010 <&gcc GCC_MDSS_VSYNC_CLK>, 1011 <&gcc GCC_MDSS_MDP_CLK>; 1012 clock-names = "iface", 1013 "bus", 1014 "vsync", 1015 "core"; 1016 1017 resets = <&gcc GCC_MDSS_BCR>; 1018 1019 #address-cells = <1>; 1020 #size-cells = <1>; 1021 ranges; 1022 1023 status = "disabled"; 1024 1025 mdp: display-controller@1a01000 { 1026 compatible = "qcom,msm8953-mdp5", "qcom,mdp5"; 1027 reg = <0x01a01000 0x89000>; 1028 reg-names = "mdp_phys"; 1029 1030 interrupt-parent = <&mdss>; 1031 interrupts = <0>; 1032 1033 power-domains = <&gcc MDSS_GDSC>; 1034 1035 clocks = <&gcc GCC_MDSS_AHB_CLK>, 1036 <&gcc GCC_MDSS_AXI_CLK>, 1037 <&gcc GCC_MDSS_MDP_CLK>, 1038 <&gcc GCC_MDSS_VSYNC_CLK>; 1039 clock-names = "iface", 1040 "bus", 1041 "core", 1042 "vsync"; 1043 1044 iommus = <&apps_iommu 0x15>; 1045 1046 ports { 1047 #address-cells = <1>; 1048 #size-cells = <0>; 1049 1050 port@0 { 1051 reg = <0>; 1052 mdp5_intf1_out: endpoint { 1053 remote-endpoint = <&mdss_dsi0_in>; 1054 }; 1055 }; 1056 1057 port@1 { 1058 reg = <1>; 1059 mdp5_intf2_out: endpoint { 1060 remote-endpoint = <&mdss_dsi1_in>; 1061 }; 1062 }; 1063 }; 1064 }; 1065 1066 mdss_dsi0: dsi@1a94000 { 1067 compatible = "qcom,msm8953-dsi-ctrl", "qcom,mdss-dsi-ctrl"; 1068 reg = <0x01a94000 0x400>; 1069 reg-names = "dsi_ctrl"; 1070 1071 interrupt-parent = <&mdss>; 1072 interrupts = <4>; 1073 1074 assigned-clocks = <&gcc BYTE0_CLK_SRC>, 1075 <&gcc PCLK0_CLK_SRC>; 1076 assigned-clock-parents = <&mdss_dsi0_phy DSI_BYTE_PLL_CLK>, 1077 <&mdss_dsi0_phy DSI_PIXEL_PLL_CLK>; 1078 1079 clocks = <&gcc GCC_MDSS_MDP_CLK>, 1080 <&gcc GCC_MDSS_AHB_CLK>, 1081 <&gcc GCC_MDSS_AXI_CLK>, 1082 <&gcc GCC_MDSS_BYTE0_CLK>, 1083 <&gcc GCC_MDSS_PCLK0_CLK>, 1084 <&gcc GCC_MDSS_ESC0_CLK>; 1085 clock-names = "mdp_core", 1086 "iface", 1087 "bus", 1088 "byte", 1089 "pixel", 1090 "core"; 1091 1092 phys = <&mdss_dsi0_phy>; 1093 1094 #address-cells = <1>; 1095 #size-cells = <0>; 1096 1097 status = "disabled"; 1098 1099 ports { 1100 #address-cells = <1>; 1101 #size-cells = <0>; 1102 1103 port@0 { 1104 reg = <0>; 1105 mdss_dsi0_in: endpoint { 1106 remote-endpoint = <&mdp5_intf1_out>; 1107 }; 1108 }; 1109 1110 port@1 { 1111 reg = <1>; 1112 mdss_dsi0_out: endpoint { 1113 }; 1114 }; 1115 }; 1116 }; 1117 1118 mdss_dsi0_phy: phy@1a94400 { 1119 compatible = "qcom,dsi-phy-14nm-8953"; 1120 reg = <0x01a94400 0x100>, 1121 <0x01a94500 0x300>, 1122 <0x01a94800 0x188>; 1123 reg-names = "dsi_phy", 1124 "dsi_phy_lane", 1125 "dsi_pll"; 1126 1127 #clock-cells = <1>; 1128 #phy-cells = <0>; 1129 1130 clocks = <&gcc GCC_MDSS_AHB_CLK>, <&rpmcc RPM_SMD_XO_CLK_SRC>; 1131 clock-names = "iface", "ref"; 1132 1133 status = "disabled"; 1134 }; 1135 1136 mdss_dsi1: dsi@1a96000 { 1137 compatible = "qcom,msm8953-dsi-ctrl", "qcom,mdss-dsi-ctrl"; 1138 reg = <0x01a96000 0x400>; 1139 reg-names = "dsi_ctrl"; 1140 1141 interrupt-parent = <&mdss>; 1142 interrupts = <5>; 1143 1144 assigned-clocks = <&gcc BYTE1_CLK_SRC>, 1145 <&gcc PCLK1_CLK_SRC>; 1146 assigned-clock-parents = <&mdss_dsi1_phy DSI_BYTE_PLL_CLK>, 1147 <&mdss_dsi1_phy DSI_PIXEL_PLL_CLK>; 1148 1149 clocks = <&gcc GCC_MDSS_MDP_CLK>, 1150 <&gcc GCC_MDSS_AHB_CLK>, 1151 <&gcc GCC_MDSS_AXI_CLK>, 1152 <&gcc GCC_MDSS_BYTE1_CLK>, 1153 <&gcc GCC_MDSS_PCLK1_CLK>, 1154 <&gcc GCC_MDSS_ESC1_CLK>; 1155 clock-names = "mdp_core", 1156 "iface", 1157 "bus", 1158 "byte", 1159 "pixel", 1160 "core"; 1161 1162 phys = <&mdss_dsi1_phy>; 1163 1164 status = "disabled"; 1165 1166 ports { 1167 #address-cells = <1>; 1168 #size-cells = <0>; 1169 1170 port@0 { 1171 reg = <0>; 1172 mdss_dsi1_in: endpoint { 1173 remote-endpoint = <&mdp5_intf2_out>; 1174 }; 1175 }; 1176 1177 port@1 { 1178 reg = <1>; 1179 mdss_dsi1_out: endpoint { 1180 }; 1181 }; 1182 }; 1183 }; 1184 1185 mdss_dsi1_phy: phy@1a96400 { 1186 compatible = "qcom,dsi-phy-14nm-8953"; 1187 reg = <0x01a96400 0x100>, 1188 <0x01a96500 0x300>, 1189 <0x01a96800 0x188>; 1190 reg-names = "dsi_phy", 1191 "dsi_phy_lane", 1192 "dsi_pll"; 1193 1194 #clock-cells = <1>; 1195 #phy-cells = <0>; 1196 1197 clocks = <&gcc GCC_MDSS_AHB_CLK>, <&rpmcc RPM_SMD_XO_CLK_SRC>; 1198 clock-names = "iface", "ref"; 1199 1200 status = "disabled"; 1201 }; 1202 }; 1203 1204 gpu: gpu@1c00000 { 1205 compatible = "qcom,adreno-506.0", "qcom,adreno"; 1206 reg = <0x01c00000 0x40000>; 1207 reg-names = "kgsl_3d0_reg_memory"; 1208 interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>; 1209 1210 clocks = <&gcc GCC_OXILI_GFX3D_CLK>, 1211 <&gcc GCC_OXILI_AHB_CLK>, 1212 <&gcc GCC_BIMC_GFX_CLK>, 1213 <&gcc GCC_BIMC_GPU_CLK>, 1214 <&gcc GCC_OXILI_TIMER_CLK>, 1215 <&gcc GCC_OXILI_AON_CLK>; 1216 clock-names = "core", 1217 "iface", 1218 "mem_iface", 1219 "alt_mem_iface", 1220 "rbbmtimer", 1221 "alwayson"; 1222 power-domains = <&gcc OXILI_GX_GDSC>; 1223 1224 interconnects = <&bimc MAS_OXILI RPM_ALWAYS_TAG 1225 &bimc SLV_EBI RPM_ALWAYS_TAG>, 1226 <&bimc MAS_APPS_PROC RPM_ACTIVE_TAG 1227 &pcnoc SLV_GPU_CFG RPM_ACTIVE_TAG>; 1228 1229 iommus = <&gpu_iommu 0>; 1230 operating-points-v2 = <&gpu_opp_table>; 1231 1232 #cooling-cells = <2>; 1233 1234 status = "disabled"; 1235 1236 gpu_zap_shader: zap-shader { 1237 memory-region = <&zap_shader_region>; 1238 }; 1239 1240 gpu_opp_table: opp-table { 1241 compatible = "operating-points-v2"; 1242 1243 opp-19200000 { 1244 opp-hz = /bits/ 64 <19200000>; 1245 opp-supported-hw = <0xff>; 1246 required-opps = <&rpmpd_opp_min_svs>; 1247 }; 1248 1249 opp-133300000 { 1250 opp-hz = /bits/ 64 <133300000>; 1251 opp-supported-hw = <0xff>; 1252 required-opps = <&rpmpd_opp_min_svs>; 1253 }; 1254 1255 opp-216000000 { 1256 opp-hz = /bits/ 64 <216000000>; 1257 opp-supported-hw = <0xff>; 1258 required-opps = <&rpmpd_opp_low_svs>; 1259 }; 1260 1261 opp-320000000 { 1262 opp-hz = /bits/ 64 <320000000>; 1263 opp-supported-hw = <0xff>; 1264 required-opps = <&rpmpd_opp_svs>; 1265 }; 1266 1267 opp-400000000 { 1268 opp-hz = /bits/ 64 <400000000>; 1269 opp-supported-hw = <0xff>; 1270 required-opps = <&rpmpd_opp_svs_plus>; 1271 }; 1272 1273 opp-510000000 { 1274 opp-hz = /bits/ 64 <510000000>; 1275 opp-supported-hw = <0xff>; 1276 required-opps = <&rpmpd_opp_nom>; 1277 }; 1278 1279 opp-560000000 { 1280 opp-hz = /bits/ 64 <560000000>; 1281 opp-supported-hw = <0xff>; 1282 required-opps = <&rpmpd_opp_nom_plus>; 1283 }; 1284 1285 /* 1286 * This opp is only available on msm8953 and 1287 * sdm632, the max for sdm450 is 600MHz. 1288 */ 1289 opp-650000000 { 1290 opp-hz = /bits/ 64 <650000000>; 1291 opp-supported-hw = <0xff>; 1292 required-opps = <&rpmpd_opp_turbo>; 1293 }; 1294 }; 1295 }; 1296 1297 gpu_iommu: iommu@1c48000 { 1298 compatible = "qcom,msm8953-iommu", "qcom,msm-iommu-v2"; 1299 ranges = <0 0x01c48000 0x8000>; 1300 1301 clocks = <&gcc GCC_OXILI_AHB_CLK>, 1302 <&gcc GCC_BIMC_GFX_CLK>; 1303 clock-names = "iface", "bus"; 1304 1305 power-domains = <&gcc OXILI_CX_GDSC>; 1306 1307 qcom,iommu-secure-id = <18>; 1308 1309 #address-cells = <1>; 1310 #iommu-cells = <1>; 1311 #size-cells = <1>; 1312 1313 /* gfx3d_user */ 1314 iommu-ctx@0 { 1315 compatible = "qcom,msm-iommu-v2-ns"; 1316 reg = <0x0000 0x1000>; 1317 interrupts = <GIC_SPI 225 IRQ_TYPE_LEVEL_HIGH>; 1318 }; 1319 1320 /* gfx3d_secure */ 1321 iommu-ctx@2000 { 1322 compatible = "qcom,msm-iommu-v2-sec"; 1323 reg = <0x2000 0x1000>; 1324 interrupts = <GIC_SPI 233 IRQ_TYPE_LEVEL_HIGH>; 1325 }; 1326 }; 1327 1328 apps_iommu: iommu@1e20000 { 1329 compatible = "qcom,msm8953-iommu", "qcom,msm-iommu-v1"; 1330 ranges = <0 0x01e20000 0x20000>; 1331 1332 clocks = <&gcc GCC_SMMU_CFG_CLK>, 1333 <&gcc GCC_APSS_TCU_ASYNC_CLK>; 1334 clock-names = "iface", "bus"; 1335 1336 qcom,iommu-secure-id = <17>; 1337 1338 #address-cells = <1>; 1339 #iommu-cells = <1>; 1340 #size-cells = <1>; 1341 1342 /* VFE */ 1343 iommu-ctx@14000 { 1344 compatible = "qcom,msm-iommu-v1-ns"; 1345 reg = <0x14000 0x1000>; 1346 interrupts = <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>; 1347 }; 1348 1349 /* MDP_0 */ 1350 iommu-ctx@15000 { 1351 compatible = "qcom,msm-iommu-v1-ns"; 1352 reg = <0x15000 0x1000>; 1353 interrupts = <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>; 1354 }; 1355 1356 /* VENUS_NS */ 1357 iommu-ctx@16000 { 1358 compatible = "qcom,msm-iommu-v1-ns"; 1359 reg = <0x16000 0x1000>; 1360 interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>; 1361 }; 1362 }; 1363 1364 spmi_bus: spmi@200f000 { 1365 compatible = "qcom,spmi-pmic-arb"; 1366 reg = <0x0200f000 0x1000>, 1367 <0x02400000 0x800000>, 1368 <0x02c00000 0x800000>, 1369 <0x03800000 0x200000>, 1370 <0x0200a000 0x2100>; 1371 reg-names = "core", "chnls", "obsrvr", "intr", "cnfg"; 1372 interrupt-names = "periph_irq"; 1373 interrupts = <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>; 1374 qcom,ee = <0>; 1375 qcom,channel = <0>; 1376 interrupt-controller; 1377 1378 #interrupt-cells = <4>; 1379 #address-cells = <2>; 1380 #size-cells = <0>; 1381 }; 1382 1383 mpss: remoteproc@4080000 { 1384 compatible = "qcom,msm8953-mss-pil"; 1385 reg = <0x04080000 0x100>, 1386 <0x04020000 0x040>; 1387 reg-names = "qdsp6", "rmb"; 1388 1389 interrupts-extended = <&intc GIC_SPI 24 IRQ_TYPE_EDGE_RISING>, 1390 <&smp2p_modem_in 0 IRQ_TYPE_EDGE_RISING>, 1391 <&smp2p_modem_in 1 IRQ_TYPE_EDGE_RISING>, 1392 <&smp2p_modem_in 2 IRQ_TYPE_EDGE_RISING>, 1393 <&smp2p_modem_in 3 IRQ_TYPE_EDGE_RISING>; 1394 interrupt-names = "wdog", "fatal", "ready", 1395 "handover", "stop-ack"; 1396 1397 power-domains = <&rpmpd MSM8953_VDDCX>, 1398 <&rpmpd MSM8953_VDDMX>, 1399 <&rpmpd MSM8953_VDDMD>; 1400 power-domain-names = "cx", "mx","mss"; 1401 1402 clocks = <&gcc GCC_MSS_CFG_AHB_CLK>, 1403 <&gcc GCC_MSS_Q6_BIMC_AXI_CLK>, 1404 <&gcc GCC_BOOT_ROM_AHB_CLK>, 1405 <&rpmcc RPM_SMD_XO_CLK_SRC>; 1406 clock-names = "iface", "bus", "mem", "xo"; 1407 1408 qcom,smem-states = <&smp2p_modem_out 0>; 1409 qcom,smem-state-names = "stop"; 1410 1411 resets = <&gcc GCC_MSS_BCR>; 1412 reset-names = "mss_restart"; 1413 1414 qcom,halt-regs = <&tcsr 0x18000 0x19000 0x1a000>; 1415 1416 status = "disabled"; 1417 1418 mba { 1419 memory-region = <&mba_mem>; 1420 }; 1421 1422 mpss { 1423 memory-region = <&mpss_mem>; 1424 }; 1425 1426 smd-edge { 1427 interrupts = <GIC_SPI 25 IRQ_TYPE_EDGE_RISING>; 1428 1429 qcom,smd-edge = <0>; 1430 mboxes = <&apcs 12>; 1431 qcom,remote-pid = <1>; 1432 1433 label = "modem"; 1434 }; 1435 }; 1436 1437 usb3: usb@70f8800 { 1438 compatible = "qcom,msm8953-dwc3", "qcom,dwc3"; 1439 reg = <0x070f8800 0x400>; 1440 #address-cells = <1>; 1441 #size-cells = <1>; 1442 ranges; 1443 1444 interrupts = <GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>, 1445 <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>, 1446 <GIC_SPI 220 IRQ_TYPE_LEVEL_HIGH>; 1447 interrupt-names = "pwr_event", 1448 "qusb2_phy", 1449 "ss_phy_irq"; 1450 1451 clocks = <&gcc GCC_USB_PHY_CFG_AHB_CLK>, 1452 <&gcc GCC_USB30_MASTER_CLK>, 1453 <&gcc GCC_PCNOC_USB3_AXI_CLK>, 1454 <&gcc GCC_USB30_SLEEP_CLK>, 1455 <&gcc GCC_USB30_MOCK_UTMI_CLK>; 1456 clock-names = "cfg_noc", 1457 "core", 1458 "iface", 1459 "sleep", 1460 "mock_utmi"; 1461 1462 assigned-clocks = <&gcc GCC_USB30_MOCK_UTMI_CLK>, 1463 <&gcc GCC_USB30_MASTER_CLK>; 1464 assigned-clock-rates = <19200000>, <133330000>; 1465 1466 interconnects = <&pcnoc MAS_USB3 RPM_ALWAYS_TAG 1467 &bimc SLV_EBI RPM_ALWAYS_TAG>, 1468 <&bimc MAS_APPS_PROC RPM_ACTIVE_TAG 1469 &pcnoc SLV_USB3 RPM_ACTIVE_TAG>; 1470 interconnect-names = "usb-ddr", 1471 "apps-usb"; 1472 1473 power-domains = <&gcc USB30_GDSC>; 1474 1475 qcom,select-utmi-as-pipe-clk; 1476 1477 status = "disabled"; 1478 1479 usb3_dwc3: usb@7000000 { 1480 compatible = "snps,dwc3"; 1481 reg = <0x07000000 0xcc00>; 1482 interrupts = <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>; 1483 phys = <&hsusb_phy>; 1484 phy-names = "usb2-phy"; 1485 1486 snps,usb2-gadget-lpm-disable; 1487 snps,dis-u1-entry-quirk; 1488 snps,dis-u2-entry-quirk; 1489 snps,is-utmi-l1-suspend; 1490 snps,hird-threshold = /bits/ 8 <0x00>; 1491 1492 maximum-speed = "high-speed"; 1493 1494 usb-role-switch; 1495 1496 ports { 1497 #address-cells = <1>; 1498 #size-cells = <0>; 1499 1500 port@0 { 1501 reg = <0>; 1502 1503 usb_dwc3_hs: endpoint { 1504 }; 1505 }; 1506 }; 1507 }; 1508 }; 1509 1510 sdhc_1: mmc@7824900 { 1511 compatible = "qcom,msm8953-sdhci", "qcom,sdhci-msm-v4"; 1512 1513 reg = <0x07824900 0x500>, <0x07824000 0x800>; 1514 reg-names = "hc", "core"; 1515 1516 interrupts = <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>, 1517 <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>; 1518 interrupt-names = "hc_irq", "pwr_irq"; 1519 1520 clocks = <&gcc GCC_SDCC1_AHB_CLK>, 1521 <&gcc GCC_SDCC1_APPS_CLK>, 1522 <&rpmcc RPM_SMD_XO_CLK_SRC>; 1523 clock-names = "iface", "core", "xo"; 1524 1525 interconnects = <&pcnoc MAS_SDCC_1 RPM_ALWAYS_TAG 1526 &bimc SLV_EBI RPM_ALWAYS_TAG>, 1527 <&bimc MAS_APPS_PROC RPM_ACTIVE_TAG 1528 &pcnoc SLV_SDCC_1 RPM_ACTIVE_TAG>; 1529 interconnect-names = "sdhc-ddr", 1530 "cpu-sdhc"; 1531 1532 power-domains = <&rpmpd MSM8953_VDDCX>; 1533 operating-points-v2 = <&sdhc1_opp_table>; 1534 1535 pinctrl-names = "default", "sleep"; 1536 pinctrl-0 = <&sdc1_clk_on &sdc1_cmd_on &sdc1_data_on &sdc1_rclk_on>; 1537 pinctrl-1 = <&sdc1_clk_off &sdc1_cmd_off &sdc1_data_off &sdc1_rclk_off>; 1538 1539 mmc-hs400-1_8v; 1540 mmc-hs200-1_8v; 1541 mmc-ddr-1_8v; 1542 bus-width = <8>; 1543 non-removable; 1544 1545 status = "disabled"; 1546 1547 sdhc1_opp_table: opp-table-sdhc1 { 1548 compatible = "operating-points-v2"; 1549 1550 opp-25000000 { 1551 opp-hz = /bits/ 64 <25000000>; 1552 opp-peak-kBps = <200000>, <100000>; 1553 opp-avg-kBps = <65360>, <32768>; 1554 required-opps = <&rpmpd_opp_low_svs>; 1555 }; 1556 1557 opp-50000000 { 1558 opp-hz = /bits/ 64 <50000000>; 1559 opp-peak-kBps = <400000>, <200000>; 1560 opp-avg-kBps = <130718>, <65360>; 1561 required-opps = <&rpmpd_opp_svs>; 1562 }; 1563 1564 opp-100000000 { 1565 opp-hz = /bits/ 64 <100000000>; 1566 opp-peak-kBps = <400000>, <400000>; 1567 opp-avg-kBps = <130718>, <65360>; 1568 required-opps = <&rpmpd_opp_svs>; 1569 }; 1570 1571 opp-192000000 { 1572 opp-hz = /bits/ 64 <192000000>; 1573 opp-peak-kBps = <800000>, <600000>; 1574 opp-avg-kBps = <261438>, <130718>; 1575 required-opps = <&rpmpd_opp_nom>; 1576 }; 1577 1578 opp-384000000 { 1579 opp-hz = /bits/ 64 <384000000>; 1580 opp-peak-kBps = <800000>, <800000>; 1581 opp-avg-kBps = <261438>, <300000>; 1582 required-opps = <&rpmpd_opp_nom>; 1583 }; 1584 }; 1585 }; 1586 1587 sdhc_2: mmc@7864900 { 1588 compatible = "qcom,msm8953-sdhci", "qcom,sdhci-msm-v4"; 1589 1590 reg = <0x07864900 0x500>, <0x07864000 0x800>; 1591 reg-names = "hc", "core"; 1592 1593 interrupts = <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>, 1594 <GIC_SPI 221 IRQ_TYPE_LEVEL_HIGH>; 1595 interrupt-names = "hc_irq", "pwr_irq"; 1596 1597 clocks = <&gcc GCC_SDCC2_AHB_CLK>, 1598 <&gcc GCC_SDCC2_APPS_CLK>, 1599 <&rpmcc RPM_SMD_XO_CLK_SRC>; 1600 clock-names = "iface", "core", "xo"; 1601 1602 interconnects = <&pcnoc MAS_SDCC_2 RPM_ALWAYS_TAG 1603 &bimc SLV_EBI RPM_ALWAYS_TAG>, 1604 <&bimc MAS_APPS_PROC RPM_ACTIVE_TAG 1605 &pcnoc SLV_SDCC_2 RPM_ACTIVE_TAG>; 1606 interconnect-names = "sdhc-ddr", 1607 "cpu-sdhc"; 1608 1609 power-domains = <&rpmpd MSM8953_VDDCX>; 1610 operating-points-v2 = <&sdhc2_opp_table>; 1611 1612 pinctrl-names = "default", "sleep"; 1613 pinctrl-0 = <&sdc2_clk_on &sdc2_cmd_on &sdc2_data_on>; 1614 pinctrl-1 = <&sdc2_clk_off &sdc2_cmd_off &sdc2_data_off>; 1615 1616 bus-width = <4>; 1617 1618 status = "disabled"; 1619 1620 sdhc2_opp_table: opp-table-sdhc2 { 1621 compatible = "operating-points-v2"; 1622 1623 opp-25000000 { 1624 opp-hz = /bits/ 64 <25000000>; 1625 opp-peak-kBps = <200000>, <100000>; 1626 opp-avg-kBps = <65360>, <32768>; 1627 required-opps = <&rpmpd_opp_low_svs>; 1628 }; 1629 1630 opp-50000000 { 1631 opp-hz = /bits/ 64 <50000000>; 1632 opp-peak-kBps = <400000>, <400000>; 1633 opp-avg-kBps = <130718>, <65360>; 1634 required-opps = <&rpmpd_opp_svs>; 1635 }; 1636 1637 opp-100000000 { 1638 opp-hz = /bits/ 64 <100000000>; 1639 opp-peak-kBps = <800000>, <400000>; 1640 opp-avg-kBps = <130718>, <130718>; 1641 required-opps = <&rpmpd_opp_svs>; 1642 }; 1643 1644 opp-177770000 { 1645 opp-hz = /bits/ 64 <177770000>; 1646 opp-peak-kBps = <600000>, <600000>; 1647 opp-avg-kBps = <261438>, <130718>; 1648 required-opps = <&rpmpd_opp_nom>; 1649 }; 1650 1651 opp-200000000 { 1652 opp-hz = /bits/ 64 <200000000>; 1653 opp-peak-kBps = <800000>, <800000>; 1654 opp-avg-kBps = <261438>, <130718>; 1655 required-opps = <&rpmpd_opp_nom>; 1656 }; 1657 }; 1658 }; 1659 1660 blsp1_dma: dma-controller@7884000 { 1661 compatible = "qcom,bam-v1.7.0"; 1662 reg = <0x07884000 0x1f000>; 1663 interrupts = <GIC_SPI 238 IRQ_TYPE_LEVEL_HIGH>; 1664 clocks = <&gcc GCC_BLSP1_AHB_CLK>; 1665 clock-names = "bam_clk"; 1666 num-channels = <12>; 1667 #dma-cells = <1>; 1668 qcom,ee = <0>; 1669 qcom,num-ees = <4>; 1670 qcom,controlled-remotely; 1671 }; 1672 1673 uart_0: serial@78af000 { 1674 compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm"; 1675 reg = <0x078af000 0x200>; 1676 interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>; 1677 clocks = <&gcc GCC_BLSP1_UART1_APPS_CLK>, 1678 <&gcc GCC_BLSP1_AHB_CLK>; 1679 clock-names = "core", "iface"; 1680 1681 status = "disabled"; 1682 }; 1683 1684 i2c_1: i2c@78b5000 { 1685 compatible = "qcom,i2c-qup-v2.2.1"; 1686 reg = <0x078b5000 0x600>; 1687 interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>; 1688 clock-names = "core", "iface"; 1689 clocks = <&gcc GCC_BLSP1_QUP1_I2C_APPS_CLK>, 1690 <&gcc GCC_BLSP1_AHB_CLK>; 1691 dmas = <&blsp1_dma 4>, <&blsp1_dma 5>; 1692 dma-names = "tx", "rx"; 1693 1694 pinctrl-names = "default", "sleep"; 1695 pinctrl-0 = <&i2c_1_default>; 1696 pinctrl-1 = <&i2c_1_sleep>; 1697 1698 #address-cells = <1>; 1699 #size-cells = <0>; 1700 1701 status = "disabled"; 1702 }; 1703 1704 i2c_2: i2c@78b6000 { 1705 compatible = "qcom,i2c-qup-v2.2.1"; 1706 reg = <0x078b6000 0x600>; 1707 interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>; 1708 clock-names = "core", "iface"; 1709 clocks = <&gcc GCC_BLSP1_QUP2_I2C_APPS_CLK>, 1710 <&gcc GCC_BLSP1_AHB_CLK>; 1711 dmas = <&blsp1_dma 6>, <&blsp1_dma 7>; 1712 dma-names = "tx", "rx"; 1713 1714 pinctrl-names = "default", "sleep"; 1715 pinctrl-0 = <&i2c_2_default>; 1716 pinctrl-1 = <&i2c_2_sleep>; 1717 1718 #address-cells = <1>; 1719 #size-cells = <0>; 1720 1721 status = "disabled"; 1722 }; 1723 1724 i2c_3: i2c@78b7000 { 1725 compatible = "qcom,i2c-qup-v2.2.1"; 1726 reg = <0x078b7000 0x600>; 1727 interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>; 1728 clock-names = "core", "iface"; 1729 clocks = <&gcc GCC_BLSP1_QUP3_I2C_APPS_CLK>, 1730 <&gcc GCC_BLSP1_AHB_CLK>; 1731 dmas = <&blsp1_dma 8>, <&blsp1_dma 9>; 1732 dma-names = "tx", "rx"; 1733 1734 pinctrl-names = "default", "sleep"; 1735 pinctrl-0 = <&i2c_3_default>; 1736 pinctrl-1 = <&i2c_3_sleep>; 1737 1738 #address-cells = <1>; 1739 #size-cells = <0>; 1740 1741 status = "disabled"; 1742 }; 1743 1744 spi_3: spi@78b7000 { 1745 compatible = "qcom,spi-qup-v2.2.1"; 1746 reg = <0x078b7000 0x600>; 1747 interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>; 1748 clock-names = "core", "iface"; 1749 clocks = <&gcc GCC_BLSP1_QUP3_SPI_APPS_CLK>, 1750 <&gcc GCC_BLSP1_AHB_CLK>; 1751 dmas = <&blsp1_dma 8>, <&blsp1_dma 9>; 1752 dma-names = "tx", "rx"; 1753 1754 pinctrl-names = "default", "sleep"; 1755 pinctrl-0 = <&spi_3_default>; 1756 pinctrl-1 = <&spi_3_sleep>; 1757 1758 #address-cells = <1>; 1759 #size-cells = <0>; 1760 1761 status = "disabled"; 1762 }; 1763 1764 i2c_4: i2c@78b8000 { 1765 compatible = "qcom,i2c-qup-v2.2.1"; 1766 reg = <0x078b8000 0x600>; 1767 interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>; 1768 clock-names = "core", "iface"; 1769 clocks = <&gcc GCC_BLSP1_QUP4_I2C_APPS_CLK>, 1770 <&gcc GCC_BLSP1_AHB_CLK>; 1771 dmas = <&blsp2_dma 10>, <&blsp2_dma 11>; 1772 dma-names = "tx", "rx"; 1773 1774 pinctrl-names = "default", "sleep"; 1775 pinctrl-0 = <&i2c_4_default>; 1776 pinctrl-1 = <&i2c_4_sleep>; 1777 1778 #address-cells = <1>; 1779 #size-cells = <0>; 1780 1781 status = "disabled"; 1782 }; 1783 1784 blsp2_dma: dma-controller@7ac4000 { 1785 compatible = "qcom,bam-v1.7.0"; 1786 reg = <0x07ac4000 0x1f000>; 1787 interrupts = <GIC_SPI 239 IRQ_TYPE_LEVEL_HIGH>; 1788 clocks = <&gcc GCC_BLSP2_AHB_CLK>; 1789 clock-names = "bam_clk"; 1790 num-channels = <12>; 1791 #dma-cells = <1>; 1792 qcom,ee = <0>; 1793 qcom,num-ees = <4>; 1794 qcom,controlled-remotely; 1795 }; 1796 1797 uart_5: serial@7aef000 { 1798 compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm"; 1799 reg = <0x07aef000 0x200>; 1800 interrupts = <GIC_SPI 306 IRQ_TYPE_LEVEL_HIGH>; 1801 clocks = <&gcc GCC_BLSP2_UART1_APPS_CLK>, 1802 <&gcc GCC_BLSP2_AHB_CLK>; 1803 clock-names = "core", 1804 "iface"; 1805 dmas = <&blsp2_dma 0>, <&blsp2_dma 1>; 1806 dma-names = "tx", "rx"; 1807 1808 pinctrl-0 = <&uart_5_default>; 1809 pinctrl-1 = <&uart_5_sleep>; 1810 pinctrl-names = "default", "sleep"; 1811 1812 status = "disabled"; 1813 }; 1814 1815 i2c_5: i2c@7af5000 { 1816 compatible = "qcom,i2c-qup-v2.2.1"; 1817 reg = <0x07af5000 0x600>; 1818 interrupts = <GIC_SPI 299 IRQ_TYPE_LEVEL_HIGH>; 1819 clock-names = "core", "iface"; 1820 clocks = <&gcc GCC_BLSP2_QUP1_I2C_APPS_CLK>, 1821 <&gcc GCC_BLSP2_AHB_CLK>; 1822 dmas = <&blsp2_dma 4>, <&blsp2_dma 5>; 1823 dma-names = "tx", "rx"; 1824 1825 pinctrl-names = "default", "sleep"; 1826 pinctrl-0 = <&i2c_5_default>; 1827 pinctrl-1 = <&i2c_5_sleep>; 1828 1829 #address-cells = <1>; 1830 #size-cells = <0>; 1831 1832 status = "disabled"; 1833 }; 1834 1835 spi_5: spi@7af5000 { 1836 compatible = "qcom,spi-qup-v2.2.1"; 1837 reg = <0x07af5000 0x600>; 1838 interrupts = <GIC_SPI 299 IRQ_TYPE_LEVEL_HIGH>; 1839 clock-names = "core", "iface"; 1840 clocks = <&gcc GCC_BLSP2_QUP1_SPI_APPS_CLK>, 1841 <&gcc GCC_BLSP2_AHB_CLK>; 1842 dmas = <&blsp2_dma 4>, <&blsp2_dma 5>; 1843 dma-names = "tx", "rx"; 1844 1845 pinctrl-names = "default", "sleep"; 1846 pinctrl-0 = <&spi_5_default>; 1847 pinctrl-1 = <&spi_5_sleep>; 1848 1849 #address-cells = <1>; 1850 #size-cells = <0>; 1851 1852 status = "disabled"; 1853 }; 1854 1855 i2c_6: i2c@7af6000 { 1856 compatible = "qcom,i2c-qup-v2.2.1"; 1857 reg = <0x07af6000 0x600>; 1858 interrupts = <GIC_SPI 300 IRQ_TYPE_LEVEL_HIGH>; 1859 clock-names = "core", "iface"; 1860 clocks = <&gcc GCC_BLSP2_QUP2_I2C_APPS_CLK>, 1861 <&gcc GCC_BLSP2_AHB_CLK>; 1862 dmas = <&blsp2_dma 6>, <&blsp2_dma 7>; 1863 dma-names = "tx", "rx"; 1864 1865 pinctrl-names = "default", "sleep"; 1866 pinctrl-0 = <&i2c_6_default>; 1867 pinctrl-1 = <&i2c_6_sleep>; 1868 1869 #address-cells = <1>; 1870 #size-cells = <0>; 1871 1872 status = "disabled"; 1873 }; 1874 1875 spi_6: spi@7af6000 { 1876 compatible = "qcom,spi-qup-v2.2.1"; 1877 reg = <0x07af6000 0x600>; 1878 interrupts = <GIC_SPI 300 IRQ_TYPE_LEVEL_HIGH>; 1879 clock-names = "core", "iface"; 1880 clocks = <&gcc GCC_BLSP2_QUP2_SPI_APPS_CLK>, 1881 <&gcc GCC_BLSP2_AHB_CLK>; 1882 dmas = <&blsp2_dma 6>, <&blsp2_dma 7>; 1883 dma-names = "tx", "rx"; 1884 1885 pinctrl-names = "default", "sleep"; 1886 pinctrl-0 = <&spi_6_default>; 1887 pinctrl-1 = <&spi_6_sleep>; 1888 1889 #address-cells = <1>; 1890 #size-cells = <0>; 1891 1892 status = "disabled"; 1893 }; 1894 1895 i2c_7: i2c@7af7000 { 1896 compatible = "qcom,i2c-qup-v2.2.1"; 1897 reg = <0x07af7000 0x600>; 1898 interrupts = <GIC_SPI 301 IRQ_TYPE_LEVEL_HIGH>; 1899 clock-names = "core", "iface"; 1900 clocks = <&gcc GCC_BLSP2_QUP3_I2C_APPS_CLK>, 1901 <&gcc GCC_BLSP2_AHB_CLK>; 1902 dmas = <&blsp2_dma 8>, <&blsp2_dma 9>; 1903 dma-names = "tx", "rx"; 1904 1905 pinctrl-names = "default", "sleep"; 1906 pinctrl-0 = <&i2c_7_default>; 1907 pinctrl-1 = <&i2c_7_sleep>; 1908 1909 #address-cells = <1>; 1910 #size-cells = <0>; 1911 1912 status = "disabled"; 1913 }; 1914 1915 spi_7: spi@7af7000 { 1916 compatible = "qcom,spi-qup-v2.2.1"; 1917 reg = <0x07af7000 0x600>; 1918 interrupts = <GIC_SPI 301 IRQ_TYPE_LEVEL_HIGH>; 1919 clock-names = "core", "iface"; 1920 clocks = <&gcc GCC_BLSP2_QUP3_SPI_APPS_CLK>, 1921 <&gcc GCC_BLSP2_AHB_CLK>; 1922 dmas = <&blsp2_dma 8>, <&blsp2_dma 9>; 1923 dma-names = "tx", "rx"; 1924 1925 pinctrl-names = "default", "sleep"; 1926 pinctrl-0 = <&spi_7_default>; 1927 pinctrl-1 = <&spi_7_sleep>; 1928 1929 #address-cells = <1>; 1930 #size-cells = <0>; 1931 1932 status = "disabled"; 1933 }; 1934 1935 i2c_8: i2c@7af8000 { 1936 compatible = "qcom,i2c-qup-v2.2.1"; 1937 reg = <0x07af8000 0x600>; 1938 interrupts = <GIC_SPI 302 IRQ_TYPE_LEVEL_HIGH>; 1939 clock-names = "core", "iface"; 1940 clocks = <&gcc GCC_BLSP2_QUP4_I2C_APPS_CLK>, 1941 <&gcc GCC_BLSP2_AHB_CLK>; 1942 dmas = <&blsp2_dma 10>, <&blsp2_dma 11>; 1943 dma-names = "tx", "rx"; 1944 1945 pinctrl-names = "default", "sleep"; 1946 pinctrl-0 = <&i2c_8_default>; 1947 pinctrl-1 = <&i2c_8_sleep>; 1948 1949 #address-cells = <1>; 1950 #size-cells = <0>; 1951 1952 status = "disabled"; 1953 }; 1954 1955 wcnss: remoteproc@a204000 { 1956 compatible = "qcom,pronto-v3-pil", "qcom,pronto"; 1957 reg = <0x0a204000 0x2000>, <0x0a202000 0x1000>, <0x0a21b000 0x3000>; 1958 reg-names = "ccu", "dxe", "pmu"; 1959 1960 memory-region = <&wcnss_fw_mem>; 1961 1962 interrupts-extended = <&intc GIC_SPI 149 IRQ_TYPE_EDGE_RISING>, 1963 <&smp2p_wcnss_in 0 IRQ_TYPE_EDGE_RISING>, 1964 <&smp2p_wcnss_in 1 IRQ_TYPE_EDGE_RISING>, 1965 <&smp2p_wcnss_in 2 IRQ_TYPE_EDGE_RISING>, 1966 <&smp2p_wcnss_in 3 IRQ_TYPE_EDGE_RISING>; 1967 interrupt-names = "wdog", "fatal", "ready", "handover", "stop-ack"; 1968 1969 power-domains = <&rpmpd MSM8953_VDDCX>, 1970 <&rpmpd MSM8953_VDDMX>; 1971 power-domain-names = "cx", "mx"; 1972 1973 qcom,smem-states = <&smp2p_wcnss_out 0>; 1974 qcom,smem-state-names = "stop"; 1975 1976 pinctrl-names = "default"; 1977 pinctrl-0 = <&wcnss_pin_a>; 1978 1979 status = "disabled"; 1980 1981 wcnss_iris: iris { 1982 /* Separate chip, compatible is board-specific */ 1983 clocks = <&rpmcc RPM_SMD_RF_CLK2>; 1984 clock-names = "xo"; 1985 }; 1986 1987 smd-edge { 1988 interrupts = <GIC_SPI 142 IRQ_TYPE_EDGE_RISING>; 1989 1990 mboxes = <&apcs 17>; 1991 qcom,smd-edge = <6>; 1992 qcom,remote-pid = <4>; 1993 1994 label = "pronto"; 1995 1996 wcnss_ctrl: wcnss { 1997 compatible = "qcom,wcnss"; 1998 qcom,smd-channels = "WCNSS_CTRL"; 1999 2000 qcom,mmio = <&wcnss>; 2001 2002 wcnss_bt: bluetooth { 2003 compatible = "qcom,wcnss-bt"; 2004 }; 2005 2006 wcnss_wifi: wifi { 2007 compatible = "qcom,wcnss-wlan"; 2008 2009 interrupts = <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>, 2010 <GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>; 2011 interrupt-names = "tx", "rx"; 2012 2013 qcom,smem-states = <&apps_smsm 10>, <&apps_smsm 9>; 2014 qcom,smem-state-names = "tx-enable", 2015 "tx-rings-empty"; 2016 }; 2017 }; 2018 }; 2019 }; 2020 2021 intc: interrupt-controller@b000000 { 2022 compatible = "qcom,msm-qgic2"; 2023 interrupt-controller; 2024 #interrupt-cells = <3>; 2025 reg = <0x0b000000 0x1000>, <0x0b002000 0x1000>; 2026 }; 2027 2028 apcs: mailbox@b011000 { 2029 compatible = "qcom,msm8953-apcs-kpss-global", "syscon"; 2030 reg = <0x0b011000 0x1000>; 2031 #mbox-cells = <1>; 2032 }; 2033 2034 timer@b120000 { 2035 compatible = "arm,armv7-timer-mem"; 2036 reg = <0x0b120000 0x1000>; 2037 #address-cells = <1>; 2038 #size-cells = <1>; 2039 ranges; 2040 2041 frame@b121000 { 2042 frame-number = <0>; 2043 interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>, 2044 <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>; 2045 reg = <0x0b121000 0x1000>, 2046 <0x0b122000 0x1000>; 2047 }; 2048 2049 frame@b123000 { 2050 frame-number = <1>; 2051 interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>; 2052 reg = <0x0b123000 0x1000>; 2053 status = "disabled"; 2054 }; 2055 2056 frame@b124000 { 2057 frame-number = <2>; 2058 interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>; 2059 reg = <0x0b124000 0x1000>; 2060 status = "disabled"; 2061 }; 2062 2063 frame@b125000 { 2064 frame-number = <3>; 2065 interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>; 2066 reg = <0x0b125000 0x1000>; 2067 status = "disabled"; 2068 }; 2069 2070 frame@b126000 { 2071 frame-number = <4>; 2072 interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>; 2073 reg = <0x0b126000 0x1000>; 2074 status = "disabled"; 2075 }; 2076 2077 frame@b127000 { 2078 frame-number = <5>; 2079 interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>; 2080 reg = <0x0b127000 0x1000>; 2081 status = "disabled"; 2082 }; 2083 2084 frame@b128000 { 2085 frame-number = <6>; 2086 interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>; 2087 reg = <0x0b128000 0x1000>; 2088 status = "disabled"; 2089 }; 2090 }; 2091 2092 lpass: remoteproc@c200000 { 2093 compatible = "qcom,msm8953-adsp-pil"; 2094 reg = <0x0c200000 0x100>; 2095 2096 interrupts-extended = <&intc 0 293 IRQ_TYPE_EDGE_RISING>, 2097 <&smp2p_adsp_in 0 IRQ_TYPE_EDGE_RISING>, 2098 <&smp2p_adsp_in 1 IRQ_TYPE_EDGE_RISING>, 2099 <&smp2p_adsp_in 2 IRQ_TYPE_EDGE_RISING>, 2100 <&smp2p_adsp_in 3 IRQ_TYPE_EDGE_RISING>; 2101 interrupt-names = "wdog", "fatal", "ready", 2102 "handover", "stop-ack"; 2103 clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>; 2104 clock-names = "xo"; 2105 2106 power-domains = <&rpmpd MSM8953_VDDCX>; 2107 power-domain-names = "cx"; 2108 2109 memory-region = <&adsp_fw_mem>; 2110 2111 qcom,smem-states = <&smp2p_adsp_out 0>; 2112 qcom,smem-state-names = "stop"; 2113 2114 status = "disabled"; 2115 2116 smd-edge { 2117 interrupts = <GIC_SPI 289 IRQ_TYPE_EDGE_RISING>; 2118 2119 label = "lpass"; 2120 mboxes = <&apcs 8>; 2121 qcom,smd-edge = <1>; 2122 qcom,remote-pid = <2>; 2123 2124 apr { 2125 compatible = "qcom,apr-v2"; 2126 qcom,smd-channels = "apr_audio_svc"; 2127 qcom,domain = <APR_DOMAIN_ADSP>; 2128 #address-cells = <1>; 2129 #size-cells = <0>; 2130 2131 q6core: service@3 { 2132 reg = <APR_SVC_ADSP_CORE>; 2133 compatible = "qcom,q6core"; 2134 }; 2135 2136 q6afe: service@4 { 2137 compatible = "qcom,q6afe"; 2138 reg = <APR_SVC_AFE>; 2139 q6afedai: dais { 2140 compatible = "qcom,q6afe-dais"; 2141 #address-cells = <1>; 2142 #size-cells = <0>; 2143 #sound-dai-cells = <1>; 2144 2145 dai@16 { 2146 reg = <PRIMARY_MI2S_RX>; 2147 qcom,sd-lines = <0 1>; 2148 }; 2149 dai@20 { 2150 reg = <TERTIARY_MI2S_TX>; 2151 qcom,sd-lines = <0 1>; 2152 }; 2153 dai@127 { 2154 reg = <QUINARY_MI2S_RX>; 2155 qcom,sd-lines = <0>; 2156 }; 2157 }; 2158 2159 q6afecc: clock-controller { 2160 compatible = "qcom,q6afe-clocks"; 2161 #clock-cells = <2>; 2162 }; 2163 }; 2164 2165 q6asm: service@7 { 2166 compatible = "qcom,q6asm"; 2167 reg = <APR_SVC_ASM>; 2168 q6asmdai: dais { 2169 compatible = "qcom,q6asm-dais"; 2170 #address-cells = <1>; 2171 #size-cells = <0>; 2172 #sound-dai-cells = <1>; 2173 2174 dai@0 { 2175 reg = <MSM_FRONTEND_DAI_MULTIMEDIA1>; 2176 direction = <Q6ASM_DAI_RX>; 2177 }; 2178 dai@1 { 2179 reg = <MSM_FRONTEND_DAI_MULTIMEDIA2>; 2180 direction = <Q6ASM_DAI_TX>; 2181 }; 2182 dai@2 { 2183 reg = <MSM_FRONTEND_DAI_MULTIMEDIA3>; 2184 direction = <Q6ASM_DAI_RX>; 2185 }; 2186 dai@3 { 2187 reg = <MSM_FRONTEND_DAI_MULTIMEDIA4>; 2188 direction = <Q6ASM_DAI_RX>; 2189 is-compress-dai; 2190 }; 2191 }; 2192 }; 2193 2194 q6adm: service@8 { 2195 compatible = "qcom,q6adm"; 2196 reg = <APR_SVC_ADM>; 2197 q6routing: routing { 2198 compatible = "qcom,q6adm-routing"; 2199 #sound-dai-cells = <0>; 2200 }; 2201 }; 2202 }; 2203 }; 2204 }; 2205 }; 2206 2207 thermal-zones { 2208 cpu0-thermal { 2209 polling-delay-passive = <250>; 2210 2211 thermal-sensors = <&tsens0 9>; 2212 2213 trips { 2214 cpu0_alert: trip-point0 { 2215 temperature = <80000>; 2216 hysteresis = <2000>; 2217 type = "passive"; 2218 }; 2219 cpu0_crit: crit { 2220 temperature = <100000>; 2221 hysteresis = <2000>; 2222 type = "critical"; 2223 }; 2224 }; 2225 cooling-maps { 2226 map0 { 2227 trip = <&cpu0_alert>; 2228 cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; 2229 }; 2230 }; 2231 }; 2232 cpu1-thermal { 2233 polling-delay-passive = <250>; 2234 2235 thermal-sensors = <&tsens0 10>; 2236 2237 trips { 2238 cpu1_alert: trip-point0 { 2239 temperature = <80000>; 2240 hysteresis = <2000>; 2241 type = "passive"; 2242 }; 2243 cpu1_crit: crit { 2244 temperature = <100000>; 2245 hysteresis = <2000>; 2246 type = "critical"; 2247 }; 2248 }; 2249 cooling-maps { 2250 map0 { 2251 trip = <&cpu1_alert>; 2252 cooling-device = <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; 2253 }; 2254 }; 2255 }; 2256 cpu2-thermal { 2257 polling-delay-passive = <250>; 2258 2259 thermal-sensors = <&tsens0 11>; 2260 2261 trips { 2262 cpu2_alert: trip-point0 { 2263 temperature = <80000>; 2264 hysteresis = <2000>; 2265 type = "passive"; 2266 }; 2267 cpu2_crit: crit { 2268 temperature = <100000>; 2269 hysteresis = <2000>; 2270 type = "critical"; 2271 }; 2272 }; 2273 cooling-maps { 2274 map0 { 2275 trip = <&cpu2_alert>; 2276 cooling-device = <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; 2277 }; 2278 }; 2279 }; 2280 cpu3-thermal { 2281 polling-delay-passive = <250>; 2282 2283 thermal-sensors = <&tsens0 12>; 2284 2285 trips { 2286 cpu3_alert: trip-point0 { 2287 temperature = <80000>; 2288 hysteresis = <2000>; 2289 type = "passive"; 2290 }; 2291 cpu3_crit: crit { 2292 temperature = <100000>; 2293 hysteresis = <2000>; 2294 type = "critical"; 2295 }; 2296 }; 2297 cooling-maps { 2298 map0 { 2299 trip = <&cpu3_alert>; 2300 cooling-device = <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; 2301 }; 2302 }; 2303 }; 2304 cpu4-thermal { 2305 polling-delay-passive = <250>; 2306 thermal-sensors = <&tsens0 4>; 2307 trips { 2308 cpu4_alert: trip-point0 { 2309 temperature = <80000>; 2310 hysteresis = <2000>; 2311 type = "passive"; 2312 }; 2313 cpu4_crit: crit { 2314 temperature = <100000>; 2315 hysteresis = <2000>; 2316 type = "critical"; 2317 }; 2318 }; 2319 cooling-maps { 2320 map0 { 2321 trip = <&cpu4_alert>; 2322 cooling-device = <&cpu4 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; 2323 }; 2324 }; 2325 }; 2326 cpu5-thermal { 2327 polling-delay-passive = <250>; 2328 thermal-sensors = <&tsens0 5>; 2329 trips { 2330 cpu5_alert: trip-point0 { 2331 temperature = <80000>; 2332 hysteresis = <2000>; 2333 type = "passive"; 2334 }; 2335 cpu5_crit: crit { 2336 temperature = <100000>; 2337 hysteresis = <2000>; 2338 type = "critical"; 2339 }; 2340 }; 2341 cooling-maps { 2342 map0 { 2343 trip = <&cpu5_alert>; 2344 cooling-device = <&cpu5 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; 2345 }; 2346 }; 2347 }; 2348 cpu6-thermal { 2349 polling-delay-passive = <250>; 2350 thermal-sensors = <&tsens0 6>; 2351 trips { 2352 cpu6_alert: trip-point0 { 2353 temperature = <80000>; 2354 hysteresis = <2000>; 2355 type = "passive"; 2356 }; 2357 cpu6_crit: crit { 2358 temperature = <100000>; 2359 hysteresis = <2000>; 2360 type = "critical"; 2361 }; 2362 }; 2363 cooling-maps { 2364 map0 { 2365 trip = <&cpu6_alert>; 2366 cooling-device = <&cpu6 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; 2367 }; 2368 }; 2369 }; 2370 cpu7-thermal { 2371 polling-delay-passive = <250>; 2372 thermal-sensors = <&tsens0 7>; 2373 trips { 2374 cpu7_alert: trip-point0 { 2375 temperature = <80000>; 2376 hysteresis = <2000>; 2377 type = "passive"; 2378 }; 2379 cpu7_crit: crit { 2380 temperature = <100000>; 2381 hysteresis = <2000>; 2382 type = "critical"; 2383 }; 2384 }; 2385 cooling-maps { 2386 map0 { 2387 trip = <&cpu7_alert>; 2388 cooling-device = <&cpu7 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; 2389 }; 2390 }; 2391 }; 2392 2393 gpu-thermal { 2394 polling-delay-passive = <250>; 2395 thermal-sensors = <&tsens0 15>; 2396 2397 trips { 2398 gpu_alert: trip-point0 { 2399 temperature = <70000>; 2400 hysteresis = <2000>; 2401 type = "passive"; 2402 }; 2403 2404 gpu_crit: crit { 2405 temperature = <90000>; 2406 hysteresis = <2000>; 2407 type = "critical"; 2408 }; 2409 }; 2410 2411 cooling-maps { 2412 map0 { 2413 trip = <&gpu_alert>; 2414 cooling-device = <&gpu THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; 2415 }; 2416 }; 2417 }; 2418 }; 2419 2420 timer { 2421 compatible = "arm,armv8-timer"; 2422 interrupts = <GIC_PPI 2 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>, 2423 <GIC_PPI 3 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>, 2424 <GIC_PPI 4 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>, 2425 <GIC_PPI 1 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>; 2426 }; 2427}; 2428