1// SPDX-License-Identifier: GPL-2.0-only 2/* 3 * Copyright (c) 2013-2016, The Linux Foundation. All rights reserved. 4 */ 5 6#include <dt-bindings/interrupt-controller/arm-gic.h> 7#include <dt-bindings/clock/qcom,gcc-msm8994.h> 8#include <dt-bindings/clock/qcom,mmcc-msm8994.h> 9#include <dt-bindings/clock/qcom,rpmcc.h> 10#include <dt-bindings/gpio/gpio.h> 11#include <dt-bindings/power/qcom-rpmpd.h> 12 13/ { 14 interrupt-parent = <&intc>; 15 16 #address-cells = <2>; 17 #size-cells = <2>; 18 19 aliases { 20 mmc1 = &sdhc1; 21 mmc2 = &sdhc2; 22 }; 23 24 chosen { }; 25 26 clocks { 27 xo_board: xo-board { 28 compatible = "fixed-clock"; 29 #clock-cells = <0>; 30 clock-frequency = <19200000>; 31 clock-output-names = "xo_board"; 32 }; 33 34 sleep_clk: sleep-clk { 35 compatible = "fixed-clock"; 36 #clock-cells = <0>; 37 clock-frequency = <32764>; 38 clock-output-names = "sleep_clk"; 39 }; 40 }; 41 42 cpus { 43 #address-cells = <2>; 44 #size-cells = <0>; 45 46 CPU0: cpu@0 { 47 device_type = "cpu"; 48 compatible = "arm,cortex-a53"; 49 reg = <0x0 0x0>; 50 enable-method = "psci"; 51 next-level-cache = <&L2_0>; 52 L2_0: l2-cache { 53 compatible = "cache"; 54 cache-level = <2>; 55 cache-unified; 56 }; 57 }; 58 59 CPU1: cpu@1 { 60 device_type = "cpu"; 61 compatible = "arm,cortex-a53"; 62 reg = <0x0 0x1>; 63 enable-method = "psci"; 64 next-level-cache = <&L2_0>; 65 }; 66 67 CPU2: cpu@2 { 68 device_type = "cpu"; 69 compatible = "arm,cortex-a53"; 70 reg = <0x0 0x2>; 71 enable-method = "psci"; 72 next-level-cache = <&L2_0>; 73 }; 74 75 CPU3: cpu@3 { 76 device_type = "cpu"; 77 compatible = "arm,cortex-a53"; 78 reg = <0x0 0x3>; 79 enable-method = "psci"; 80 next-level-cache = <&L2_0>; 81 }; 82 83 CPU4: cpu@100 { 84 device_type = "cpu"; 85 compatible = "arm,cortex-a57"; 86 reg = <0x0 0x100>; 87 enable-method = "psci"; 88 next-level-cache = <&L2_1>; 89 L2_1: l2-cache { 90 compatible = "cache"; 91 cache-level = <2>; 92 cache-unified; 93 }; 94 }; 95 96 CPU5: cpu@101 { 97 device_type = "cpu"; 98 compatible = "arm,cortex-a57"; 99 reg = <0x0 0x101>; 100 enable-method = "psci"; 101 next-level-cache = <&L2_1>; 102 }; 103 104 CPU6: cpu@102 { 105 device_type = "cpu"; 106 compatible = "arm,cortex-a57"; 107 reg = <0x0 0x102>; 108 enable-method = "psci"; 109 next-level-cache = <&L2_1>; 110 }; 111 112 CPU7: cpu@103 { 113 device_type = "cpu"; 114 compatible = "arm,cortex-a57"; 115 reg = <0x0 0x103>; 116 enable-method = "psci"; 117 next-level-cache = <&L2_1>; 118 }; 119 120 cpu-map { 121 cluster0 { 122 core0 { 123 cpu = <&CPU0>; 124 }; 125 126 core1 { 127 cpu = <&CPU1>; 128 }; 129 130 core2 { 131 cpu = <&CPU2>; 132 }; 133 134 core3 { 135 cpu = <&CPU3>; 136 }; 137 }; 138 139 cluster1 { 140 core0 { 141 cpu = <&CPU4>; 142 }; 143 144 core1 { 145 cpu = <&CPU5>; 146 }; 147 148 cpu6_map: core2 { 149 cpu = <&CPU6>; 150 }; 151 152 cpu7_map: core3 { 153 cpu = <&CPU7>; 154 }; 155 }; 156 }; 157 }; 158 159 firmware { 160 scm { 161 compatible = "qcom,scm-msm8994", "qcom,scm"; 162 }; 163 }; 164 165 memory@80000000 { 166 device_type = "memory"; 167 /* We expect the bootloader to fill in the reg */ 168 reg = <0 0x80000000 0 0>; 169 }; 170 171 pmu { 172 compatible = "arm,cortex-a53-pmu"; 173 interrupts = <GIC_PPI 7 (GIC_CPU_MASK_SIMPLE(4)| IRQ_TYPE_LEVEL_HIGH)>; 174 }; 175 176 psci { 177 compatible = "arm,psci-0.2"; 178 method = "hvc"; 179 }; 180 181 rpm: remoteproc { 182 compatible = "qcom,msm8994-rpm-proc", "qcom,rpm-proc"; 183 184 smd-edge { 185 interrupts = <GIC_SPI 168 IRQ_TYPE_EDGE_RISING>; 186 qcom,ipc = <&apcs 8 0>; 187 qcom,smd-edge = <15>; 188 qcom,remote-pid = <6>; 189 190 rpm_requests: rpm-requests { 191 compatible = "qcom,rpm-msm8994"; 192 qcom,smd-channels = "rpm_requests"; 193 194 rpmcc: clock-controller { 195 compatible = "qcom,rpmcc-msm8994", "qcom,rpmcc"; 196 #clock-cells = <1>; 197 }; 198 199 rpmpd: power-controller { 200 compatible = "qcom,msm8994-rpmpd"; 201 #power-domain-cells = <1>; 202 operating-points-v2 = <&rpmpd_opp_table>; 203 204 rpmpd_opp_table: opp-table { 205 compatible = "operating-points-v2"; 206 207 rpmpd_opp_ret: opp1 { 208 opp-level = <1>; 209 }; 210 rpmpd_opp_svs_krait: opp2 { 211 opp-level = <2>; 212 }; 213 rpmpd_opp_svs_soc: opp3 { 214 opp-level = <3>; 215 }; 216 rpmpd_opp_nom: opp4 { 217 opp-level = <4>; 218 }; 219 rpmpd_opp_turbo: opp5 { 220 opp-level = <5>; 221 }; 222 rpmpd_opp_super_turbo: opp6 { 223 opp-level = <6>; 224 }; 225 }; 226 }; 227 }; 228 }; 229 }; 230 231 reserved-memory { 232 #address-cells = <2>; 233 #size-cells = <2>; 234 ranges; 235 236 dfps_data_mem: dfps_data_mem@3400000 { 237 reg = <0 0x03400000 0 0x1000>; 238 no-map; 239 }; 240 241 cont_splash_mem: memory@3401000 { 242 reg = <0 0x03401000 0 0x2200000>; 243 no-map; 244 }; 245 246 smem_mem: smem_region@6a00000 { 247 reg = <0 0x06a00000 0 0x200000>; 248 no-map; 249 }; 250 251 mpss_mem: memory@7000000 { 252 reg = <0 0x07000000 0 0x5a00000>; 253 no-map; 254 }; 255 256 peripheral_region: memory@ca00000 { 257 reg = <0 0x0ca00000 0 0x1f00000>; 258 no-map; 259 }; 260 261 rmtfs_mem: memory@c6400000 { 262 compatible = "qcom,rmtfs-mem"; 263 reg = <0 0xc6400000 0 0x180000>; 264 no-map; 265 266 qcom,client-id = <1>; 267 }; 268 269 mba_mem: memory@c6700000 { 270 reg = <0 0xc6700000 0 0x100000>; 271 no-map; 272 }; 273 274 audio_mem: memory@c7000000 { 275 reg = <0 0xc7000000 0 0x800000>; 276 no-map; 277 }; 278 279 adsp_mem: memory@c9400000 { 280 reg = <0 0xc9400000 0 0x3f00000>; 281 no-map; 282 }; 283 284 reserved@6c00000 { 285 reg = <0 0x06c00000 0 0x400000>; 286 no-map; 287 }; 288 }; 289 290 smem { 291 compatible = "qcom,smem"; 292 memory-region = <&smem_mem>; 293 qcom,rpm-msg-ram = <&rpm_msg_ram>; 294 hwlocks = <&tcsr_mutex 3>; 295 }; 296 297 smp2p-lpass { 298 compatible = "qcom,smp2p"; 299 qcom,smem = <443>, <429>; 300 301 interrupts = <GIC_SPI 158 IRQ_TYPE_EDGE_RISING>; 302 303 qcom,ipc = <&apcs 8 10>; 304 305 qcom,local-pid = <0>; 306 qcom,remote-pid = <2>; 307 308 adsp_smp2p_out: master-kernel { 309 qcom,entry-name = "master-kernel"; 310 #qcom,smem-state-cells = <1>; 311 }; 312 313 adsp_smp2p_in: slave-kernel { 314 qcom,entry-name = "slave-kernel"; 315 316 interrupt-controller; 317 #interrupt-cells = <2>; 318 }; 319 }; 320 321 smp2p-modem { 322 compatible = "qcom,smp2p"; 323 qcom,smem = <435>, <428>; 324 325 interrupt-parent = <&intc>; 326 interrupts = <GIC_SPI 27 IRQ_TYPE_EDGE_RISING>; 327 328 qcom,ipc = <&apcs 8 14>; 329 330 qcom,local-pid = <0>; 331 qcom,remote-pid = <1>; 332 333 modem_smp2p_out: master-kernel { 334 qcom,entry-name = "master-kernel"; 335 #qcom,smem-state-cells = <1>; 336 }; 337 338 modem_smp2p_in: slave-kernel { 339 qcom,entry-name = "slave-kernel"; 340 341 interrupt-controller; 342 #interrupt-cells = <2>; 343 }; 344 }; 345 346 soc: soc@0 { 347 #address-cells = <1>; 348 #size-cells = <1>; 349 ranges = <0 0 0 0xffffffff>; 350 compatible = "simple-bus"; 351 352 intc: interrupt-controller@f9000000 { 353 compatible = "qcom,msm-qgic2"; 354 interrupt-controller; 355 #interrupt-cells = <3>; 356 reg = <0xf9000000 0x1000>, 357 <0xf9002000 0x1000>; 358 }; 359 360 apcs: mailbox@f900d000 { 361 compatible = "qcom,msm8994-apcs-kpss-global", "syscon"; 362 reg = <0xf900d000 0x2000>; 363 #mbox-cells = <1>; 364 }; 365 366 watchdog@f9017000 { 367 compatible = "qcom,apss-wdt-msm8994", "qcom,kpss-wdt"; 368 reg = <0xf9017000 0x1000>; 369 interrupts = <GIC_SPI 3 IRQ_TYPE_EDGE_RISING>, 370 <GIC_SPI 4 IRQ_TYPE_EDGE_RISING>; 371 clocks = <&sleep_clk>; 372 timeout-sec = <10>; 373 }; 374 375 timer@f9020000 { 376 #address-cells = <1>; 377 #size-cells = <1>; 378 ranges; 379 compatible = "arm,armv7-timer-mem"; 380 reg = <0xf9020000 0x1000>; 381 382 frame@f9021000 { 383 frame-number = <0>; 384 interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>, 385 <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>; 386 reg = <0xf9021000 0x1000>, 387 <0xf9022000 0x1000>; 388 }; 389 390 frame@f9023000 { 391 frame-number = <1>; 392 interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>; 393 reg = <0xf9023000 0x1000>; 394 status = "disabled"; 395 }; 396 397 frame@f9024000 { 398 frame-number = <2>; 399 interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>; 400 reg = <0xf9024000 0x1000>; 401 status = "disabled"; 402 }; 403 404 frame@f9025000 { 405 frame-number = <3>; 406 interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>; 407 reg = <0xf9025000 0x1000>; 408 status = "disabled"; 409 }; 410 411 frame@f9026000 { 412 frame-number = <4>; 413 interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>; 414 reg = <0xf9026000 0x1000>; 415 status = "disabled"; 416 }; 417 418 frame@f9027000 { 419 frame-number = <5>; 420 interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>; 421 reg = <0xf9027000 0x1000>; 422 status = "disabled"; 423 }; 424 425 frame@f9028000 { 426 frame-number = <6>; 427 interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>; 428 reg = <0xf9028000 0x1000>; 429 status = "disabled"; 430 }; 431 }; 432 433 usb3: usb@f92f8800 { 434 compatible = "qcom,msm8994-dwc3", "qcom,dwc3"; 435 reg = <0xf92f8800 0x400>; 436 #address-cells = <1>; 437 #size-cells = <1>; 438 ranges; 439 440 interrupts = <GIC_SPI 180 IRQ_TYPE_LEVEL_HIGH>, 441 <GIC_SPI 311 IRQ_TYPE_LEVEL_HIGH>, 442 <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>, 443 <GIC_SPI 310 IRQ_TYPE_LEVEL_HIGH>; 444 interrupt-names = "pwr_event", 445 "qusb2_phy", 446 "hs_phy_irq", 447 "ss_phy_irq"; 448 449 clocks = <&gcc GCC_USB30_MASTER_CLK>, 450 <&gcc GCC_SYS_NOC_USB3_AXI_CLK>, 451 <&gcc GCC_USB30_SLEEP_CLK>, 452 <&gcc GCC_USB30_MOCK_UTMI_CLK>; 453 clock-names = "core", 454 "iface", 455 "sleep", 456 "mock_utmi"; 457 458 assigned-clocks = <&gcc GCC_USB30_MOCK_UTMI_CLK>, 459 <&gcc GCC_USB30_MASTER_CLK>; 460 assigned-clock-rates = <19200000>, <120000000>; 461 462 power-domains = <&gcc USB30_GDSC>; 463 qcom,select-utmi-as-pipe-clk; 464 465 usb@f9200000 { 466 compatible = "snps,dwc3"; 467 reg = <0xf9200000 0xcc00>; 468 interrupts = <GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>; 469 snps,dis_u2_susphy_quirk; 470 snps,dis_enblslpm_quirk; 471 maximum-speed = "high-speed"; 472 dr_mode = "peripheral"; 473 }; 474 }; 475 476 sdhc1: mmc@f9824900 { 477 compatible = "qcom,msm8994-sdhci", "qcom,sdhci-msm-v4"; 478 reg = <0xf9824900 0x1a0>, <0xf9824000 0x800>; 479 reg-names = "hc", "core"; 480 481 interrupts = <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>, 482 <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>; 483 interrupt-names = "hc_irq", "pwr_irq"; 484 485 clocks = <&gcc GCC_SDCC1_AHB_CLK>, 486 <&gcc GCC_SDCC1_APPS_CLK>, 487 <&xo_board>; 488 clock-names = "iface", "core", "xo"; 489 490 pinctrl-names = "default", "sleep"; 491 pinctrl-0 = <&sdc1_clk_on &sdc1_cmd_on &sdc1_data_on &sdc1_rclk_on>; 492 pinctrl-1 = <&sdc1_clk_off &sdc1_cmd_off &sdc1_data_off &sdc1_rclk_off>; 493 494 bus-width = <8>; 495 non-removable; 496 status = "disabled"; 497 }; 498 499 sdhc2: mmc@f98a4900 { 500 compatible = "qcom,msm8994-sdhci", "qcom,sdhci-msm-v4"; 501 reg = <0xf98a4900 0x11c>, <0xf98a4000 0x800>; 502 reg-names = "hc", "core"; 503 504 interrupts = <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>, 505 <GIC_SPI 221 IRQ_TYPE_LEVEL_HIGH>; 506 interrupt-names = "hc_irq", "pwr_irq"; 507 508 clocks = <&gcc GCC_SDCC2_AHB_CLK>, 509 <&gcc GCC_SDCC2_APPS_CLK>, 510 <&xo_board>; 511 clock-names = "iface", "core", "xo"; 512 513 pinctrl-names = "default", "sleep"; 514 pinctrl-0 = <&sdc2_clk_on &sdc2_cmd_on &sdc2_data_on>; 515 pinctrl-1 = <&sdc2_clk_off &sdc2_cmd_off &sdc2_data_off>; 516 517 cd-gpios = <&tlmm 100 GPIO_ACTIVE_HIGH>; 518 bus-width = <4>; 519 status = "disabled"; 520 }; 521 522 blsp1_dma: dma-controller@f9904000 { 523 compatible = "qcom,bam-v1.7.0"; 524 reg = <0xf9904000 0x19000>; 525 interrupts = <GIC_SPI 238 IRQ_TYPE_LEVEL_HIGH>; 526 clocks = <&gcc GCC_BLSP1_AHB_CLK>; 527 clock-names = "bam_clk"; 528 #dma-cells = <1>; 529 qcom,ee = <0>; 530 qcom,controlled-remotely; 531 num-channels = <24>; 532 qcom,num-ees = <4>; 533 }; 534 535 blsp1_uart2: serial@f991e000 { 536 compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm"; 537 reg = <0xf991e000 0x1000>; 538 interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>; 539 clock-names = "core", "iface"; 540 clocks = <&gcc GCC_BLSP1_UART2_APPS_CLK>, 541 <&gcc GCC_BLSP1_AHB_CLK>; 542 pinctrl-names = "default", "sleep"; 543 pinctrl-0 = <&blsp1_uart2_default>; 544 pinctrl-1 = <&blsp1_uart2_sleep>; 545 status = "disabled"; 546 }; 547 548 blsp1_i2c1: i2c@f9923000 { 549 compatible = "qcom,i2c-qup-v2.2.1"; 550 reg = <0xf9923000 0x500>; 551 interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>; 552 clocks = <&gcc GCC_BLSP1_QUP1_I2C_APPS_CLK>, 553 <&gcc GCC_BLSP1_AHB_CLK>; 554 clock-names = "core", "iface"; 555 clock-frequency = <400000>; 556 dmas = <&blsp1_dma 12>, <&blsp1_dma 13>; 557 dma-names = "tx", "rx"; 558 pinctrl-names = "default", "sleep"; 559 pinctrl-0 = <&i2c1_default>; 560 pinctrl-1 = <&i2c1_sleep>; 561 #address-cells = <1>; 562 #size-cells = <0>; 563 status = "disabled"; 564 }; 565 566 blsp1_spi1: spi@f9923000 { 567 compatible = "qcom,spi-qup-v2.2.1"; 568 reg = <0xf9923000 0x500>; 569 interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>; 570 clocks = <&gcc GCC_BLSP1_QUP1_SPI_APPS_CLK>, 571 <&gcc GCC_BLSP1_AHB_CLK>; 572 clock-names = "core", "iface"; 573 dmas = <&blsp1_dma 12>, <&blsp1_dma 13>; 574 dma-names = "tx", "rx"; 575 pinctrl-names = "default", "sleep"; 576 pinctrl-0 = <&blsp1_spi1_default>; 577 pinctrl-1 = <&blsp1_spi1_sleep>; 578 #address-cells = <1>; 579 #size-cells = <0>; 580 status = "disabled"; 581 }; 582 583 blsp1_i2c2: i2c@f9924000 { 584 compatible = "qcom,i2c-qup-v2.2.1"; 585 reg = <0xf9924000 0x500>; 586 interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>; 587 clocks = <&gcc GCC_BLSP1_QUP2_I2C_APPS_CLK>, 588 <&gcc GCC_BLSP1_AHB_CLK>; 589 clock-names = "core", "iface"; 590 clock-frequency = <400000>; 591 dmas = <&blsp1_dma 14>, <&blsp1_dma 15>; 592 dma-names = "tx", "rx"; 593 pinctrl-names = "default", "sleep"; 594 pinctrl-0 = <&i2c2_default>; 595 pinctrl-1 = <&i2c2_sleep>; 596 #address-cells = <1>; 597 #size-cells = <0>; 598 status = "disabled"; 599 }; 600 601 /* I2C3 doesn't exist */ 602 603 blsp1_i2c4: i2c@f9926000 { 604 compatible = "qcom,i2c-qup-v2.2.1"; 605 reg = <0xf9926000 0x500>; 606 interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>; 607 clocks = <&gcc GCC_BLSP1_QUP4_I2C_APPS_CLK>, 608 <&gcc GCC_BLSP1_AHB_CLK>; 609 clock-names = "core", "iface"; 610 clock-frequency = <400000>; 611 dmas = <&blsp1_dma 18>, <&blsp1_dma 19>; 612 dma-names = "tx", "rx"; 613 pinctrl-names = "default", "sleep"; 614 pinctrl-0 = <&i2c4_default>; 615 pinctrl-1 = <&i2c4_sleep>; 616 #address-cells = <1>; 617 #size-cells = <0>; 618 status = "disabled"; 619 }; 620 621 blsp1_i2c5: i2c@f9927000 { 622 compatible = "qcom,i2c-qup-v2.2.1"; 623 reg = <0xf9927000 0x500>; 624 interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>; 625 clocks = <&gcc GCC_BLSP1_QUP5_I2C_APPS_CLK>, 626 <&gcc GCC_BLSP1_AHB_CLK>; 627 clock-names = "core", "iface"; 628 clock-frequency = <400000>; 629 dmas = <&blsp2_dma 20>, <&blsp2_dma 21>; 630 dma-names = "tx", "rx"; 631 pinctrl-names = "default", "sleep"; 632 pinctrl-0 = <&i2c5_default>; 633 pinctrl-1 = <&i2c5_sleep>; 634 #address-cells = <1>; 635 #size-cells = <0>; 636 status = "disabled"; 637 }; 638 639 blsp1_i2c6: i2c@f9928000 { 640 compatible = "qcom,i2c-qup-v2.2.1"; 641 reg = <0xf9928000 0x500>; 642 interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>; 643 clocks = <&gcc GCC_BLSP1_QUP6_I2C_APPS_CLK>, 644 <&gcc GCC_BLSP1_AHB_CLK>; 645 clock-names = "core", "iface"; 646 clock-frequency = <400000>; 647 dmas = <&blsp1_dma 22>, <&blsp1_dma 23>; 648 dma-names = "tx", "rx"; 649 pinctrl-names = "default", "sleep"; 650 pinctrl-0 = <&i2c6_default>; 651 pinctrl-1 = <&i2c6_sleep>; 652 #address-cells = <1>; 653 #size-cells = <0>; 654 status = "disabled"; 655 }; 656 657 blsp2_dma: dma-controller@f9944000 { 658 compatible = "qcom,bam-v1.7.0"; 659 reg = <0xf9944000 0x19000>; 660 interrupts = <GIC_SPI 239 IRQ_TYPE_LEVEL_HIGH>; 661 clocks = <&gcc GCC_BLSP2_AHB_CLK>; 662 clock-names = "bam_clk"; 663 #dma-cells = <1>; 664 qcom,ee = <0>; 665 qcom,controlled-remotely; 666 num-channels = <24>; 667 qcom,num-ees = <4>; 668 }; 669 670 blsp2_uart2: serial@f995e000 { 671 compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm"; 672 reg = <0xf995e000 0x1000>; 673 interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>; 674 clock-names = "core", "iface"; 675 clocks = <&gcc GCC_BLSP2_UART2_APPS_CLK>, 676 <&gcc GCC_BLSP2_AHB_CLK>; 677 dmas = <&blsp2_dma 2>, <&blsp2_dma 3>; 678 dma-names = "tx", "rx"; 679 pinctrl-names = "default", "sleep"; 680 pinctrl-0 = <&blsp2_uart2_default>; 681 pinctrl-1 = <&blsp2_uart2_sleep>; 682 status = "disabled"; 683 }; 684 685 blsp2_i2c1: i2c@f9963000 { 686 compatible = "qcom,i2c-qup-v2.2.1"; 687 reg = <0xf9963000 0x500>; 688 interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>; 689 clocks = <&gcc GCC_BLSP2_QUP1_I2C_APPS_CLK>, 690 <&gcc GCC_BLSP2_AHB_CLK>; 691 clock-names = "core", "iface"; 692 clock-frequency = <400000>; 693 dmas = <&blsp2_dma 12>, <&blsp2_dma 13>; 694 dma-names = "tx", "rx"; 695 pinctrl-names = "default", "sleep"; 696 pinctrl-0 = <&i2c7_default>; 697 pinctrl-1 = <&i2c7_sleep>; 698 #address-cells = <1>; 699 #size-cells = <0>; 700 status = "disabled"; 701 }; 702 703 blsp2_spi4: spi@f9966000 { 704 compatible = "qcom,spi-qup-v2.2.1"; 705 reg = <0xf9966000 0x500>; 706 interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>; 707 clocks = <&gcc GCC_BLSP2_QUP4_SPI_APPS_CLK>, 708 <&gcc GCC_BLSP2_AHB_CLK>; 709 clock-names = "core", "iface"; 710 dmas = <&blsp2_dma 18>, <&blsp2_dma 19>; 711 dma-names = "tx", "rx"; 712 pinctrl-names = "default", "sleep"; 713 pinctrl-0 = <&blsp2_spi10_default>; 714 pinctrl-1 = <&blsp2_spi10_sleep>; 715 #address-cells = <1>; 716 #size-cells = <0>; 717 status = "disabled"; 718 }; 719 720 blsp2_i2c5: i2c@f9967000 { 721 compatible = "qcom,i2c-qup-v2.2.1"; 722 reg = <0xf9967000 0x500>; 723 interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>; 724 clocks = <&gcc GCC_BLSP2_QUP5_I2C_APPS_CLK>, 725 <&gcc GCC_BLSP2_AHB_CLK>; 726 clock-names = "core", "iface"; 727 clock-frequency = <355000>; 728 dmas = <&blsp2_dma 20>, <&blsp2_dma 21>; 729 dma-names = "tx", "rx"; 730 pinctrl-names = "default", "sleep"; 731 pinctrl-0 = <&i2c11_default>; 732 pinctrl-1 = <&i2c11_sleep>; 733 #address-cells = <1>; 734 #size-cells = <0>; 735 status = "disabled"; 736 }; 737 738 gcc: clock-controller@fc400000 { 739 compatible = "qcom,gcc-msm8994"; 740 #clock-cells = <1>; 741 #reset-cells = <1>; 742 #power-domain-cells = <1>; 743 reg = <0xfc400000 0x2000>; 744 745 clock-names = "xo", "sleep"; 746 clocks = <&xo_board>, <&sleep_clk>; 747 }; 748 749 rpm_msg_ram: sram@fc428000 { 750 compatible = "qcom,rpm-msg-ram"; 751 reg = <0xfc428000 0x4000>; 752 }; 753 754 restart@fc4ab000 { 755 compatible = "qcom,pshold"; 756 reg = <0xfc4ab000 0x4>; 757 }; 758 759 spmi_bus: spmi@fc4cf000 { 760 compatible = "qcom,spmi-pmic-arb"; 761 reg = <0xfc4cf000 0x1000>, 762 <0xfc4cb000 0x1000>, 763 <0xfc4ca000 0x1000>; 764 reg-names = "core", "intr", "cnfg"; 765 interrupt-names = "periph_irq"; 766 interrupts = <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>; 767 qcom,ee = <0>; 768 qcom,channel = <0>; 769 #address-cells = <2>; 770 #size-cells = <0>; 771 interrupt-controller; 772 #interrupt-cells = <4>; 773 }; 774 775 tcsr_mutex: hwlock@fd484000 { 776 compatible = "qcom,msm8994-tcsr-mutex", "qcom,tcsr-mutex"; 777 reg = <0xfd484000 0x1000>; 778 #hwlock-cells = <1>; 779 }; 780 781 tlmm: pinctrl@fd510000 { 782 compatible = "qcom,msm8994-pinctrl"; 783 reg = <0xfd510000 0x4000>; 784 interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>; 785 gpio-controller; 786 gpio-ranges = <&tlmm 0 0 146>; 787 #gpio-cells = <2>; 788 interrupt-controller; 789 #interrupt-cells = <2>; 790 791 blsp1_uart2_default: blsp1-uart2-default-state { 792 pins = "gpio4", "gpio5"; 793 function = "blsp_uart2"; 794 drive-strength = <16>; 795 bias-disable; 796 }; 797 798 blsp1_uart2_sleep: blsp1-uart2-sleep-state { 799 pins = "gpio4", "gpio5"; 800 function = "gpio"; 801 drive-strength = <2>; 802 bias-pull-down; 803 }; 804 805 blsp2_uart2_default: blsp2-uart2-default-state { 806 pins = "gpio45", "gpio46", "gpio47", "gpio48"; 807 function = "blsp_uart8"; 808 drive-strength = <16>; 809 bias-disable; 810 }; 811 812 blsp2_uart2_sleep: blsp2-uart2-sleep-state { 813 pins = "gpio45", "gpio46", "gpio47", "gpio48"; 814 function = "gpio"; 815 drive-strength = <2>; 816 bias-disable; 817 }; 818 819 i2c1_default: i2c1-default-state { 820 pins = "gpio2", "gpio3"; 821 function = "blsp_i2c1"; 822 drive-strength = <2>; 823 bias-disable; 824 }; 825 826 i2c1_sleep: i2c1-sleep-state { 827 pins = "gpio2", "gpio3"; 828 function = "gpio"; 829 drive-strength = <2>; 830 bias-disable; 831 }; 832 833 i2c2_default: i2c2-default-state { 834 pins = "gpio6", "gpio7"; 835 function = "blsp_i2c2"; 836 drive-strength = <2>; 837 bias-disable; 838 }; 839 840 i2c2_sleep: i2c2-sleep-state { 841 pins = "gpio6", "gpio7"; 842 function = "gpio"; 843 drive-strength = <2>; 844 bias-disable; 845 }; 846 847 i2c4_default: i2c4-default-state { 848 pins = "gpio19", "gpio20"; 849 function = "blsp_i2c4"; 850 drive-strength = <2>; 851 bias-disable; 852 }; 853 854 i2c4_sleep: i2c4-sleep-state { 855 pins = "gpio19", "gpio20"; 856 function = "gpio"; 857 drive-strength = <2>; 858 bias-pull-down; 859 }; 860 861 i2c5_default: i2c5-default-state { 862 pins = "gpio23", "gpio24"; 863 function = "blsp_i2c5"; 864 drive-strength = <2>; 865 bias-disable; 866 }; 867 868 i2c5_sleep: i2c5-sleep-state { 869 pins = "gpio23", "gpio24"; 870 function = "gpio"; 871 drive-strength = <2>; 872 bias-disable; 873 }; 874 875 i2c6_default: i2c6-default-state { 876 pins = "gpio28", "gpio27"; 877 function = "blsp_i2c6"; 878 drive-strength = <2>; 879 bias-disable; 880 }; 881 882 i2c6_sleep: i2c6-sleep-state { 883 pins = "gpio28", "gpio27"; 884 function = "gpio"; 885 drive-strength = <2>; 886 bias-disable; 887 }; 888 889 i2c7_default: i2c7-default-state { 890 pins = "gpio44", "gpio43"; 891 function = "blsp_i2c7"; 892 drive-strength = <2>; 893 bias-disable; 894 }; 895 896 i2c7_sleep: i2c7-sleep-state { 897 pins = "gpio44", "gpio43"; 898 function = "gpio"; 899 drive-strength = <2>; 900 bias-disable; 901 }; 902 903 blsp2_spi10_default: blsp2-spi10-default-state { 904 default-pins { 905 pins = "gpio53", "gpio54", "gpio55"; 906 function = "blsp_spi10"; 907 drive-strength = <10>; 908 bias-pull-down; 909 }; 910 911 cs-pins { 912 pins = "gpio67"; 913 function = "gpio"; 914 drive-strength = <2>; 915 bias-disable; 916 }; 917 }; 918 919 blsp2_spi10_sleep: blsp2-spi10-sleep-state { 920 pins = "gpio53", "gpio54", "gpio55"; 921 function = "gpio"; 922 drive-strength = <2>; 923 bias-disable; 924 }; 925 926 i2c11_default: i2c11-default-state { 927 pins = "gpio83", "gpio84"; 928 function = "blsp_i2c11"; 929 drive-strength = <2>; 930 bias-disable; 931 }; 932 933 i2c11_sleep: i2c11-sleep-state { 934 pins = "gpio83", "gpio84"; 935 function = "gpio"; 936 drive-strength = <2>; 937 bias-disable; 938 }; 939 940 blsp1_spi1_default: blsp1-spi1-default-state { 941 default-pins { 942 pins = "gpio0", "gpio1", "gpio3"; 943 function = "blsp_spi1"; 944 drive-strength = <10>; 945 bias-pull-down; 946 }; 947 948 cs-pins { 949 pins = "gpio8"; 950 function = "gpio"; 951 drive-strength = <2>; 952 bias-disable; 953 }; 954 }; 955 956 blsp1_spi1_sleep: blsp1-spi1-sleep-state { 957 pins = "gpio0", "gpio1", "gpio3"; 958 function = "gpio"; 959 drive-strength = <2>; 960 bias-disable; 961 }; 962 963 sdc1_clk_on: clk-on-state { 964 pins = "sdc1_clk"; 965 bias-disable; 966 drive-strength = <16>; 967 }; 968 969 sdc1_clk_off: clk-off-state { 970 pins = "sdc1_clk"; 971 bias-disable; 972 drive-strength = <2>; 973 }; 974 975 sdc1_cmd_on: cmd-on-state { 976 pins = "sdc1_cmd"; 977 bias-pull-up; 978 drive-strength = <8>; 979 }; 980 981 sdc1_cmd_off: cmd-off-state { 982 pins = "sdc1_cmd"; 983 bias-pull-up; 984 drive-strength = <2>; 985 }; 986 987 sdc1_data_on: data-on-state { 988 pins = "sdc1_data"; 989 bias-pull-up; 990 drive-strength = <8>; 991 }; 992 993 sdc1_data_off: data-off-state { 994 pins = "sdc1_data"; 995 bias-pull-up; 996 drive-strength = <2>; 997 }; 998 999 sdc1_rclk_on: rclk-on-state { 1000 pins = "sdc1_rclk"; 1001 bias-pull-down; 1002 }; 1003 1004 sdc1_rclk_off: rclk-off-state { 1005 pins = "sdc1_rclk"; 1006 bias-pull-down; 1007 }; 1008 1009 sdc2_clk_on: sdc2-clk-on-state { 1010 pins = "sdc2_clk"; 1011 bias-disable; 1012 drive-strength = <10>; 1013 }; 1014 1015 sdc2_clk_off: sdc2-clk-off-state { 1016 pins = "sdc2_clk"; 1017 bias-disable; 1018 drive-strength = <2>; 1019 }; 1020 1021 sdc2_cmd_on: sdc2-cmd-on-state { 1022 pins = "sdc2_cmd"; 1023 bias-pull-up; 1024 drive-strength = <10>; 1025 }; 1026 1027 sdc2_cmd_off: sdc2-cmd-off-state { 1028 pins = "sdc2_cmd"; 1029 bias-pull-up; 1030 drive-strength = <2>; 1031 }; 1032 1033 sdc2_data_on: sdc2-data-on-state { 1034 pins = "sdc2_data"; 1035 bias-pull-up; 1036 drive-strength = <10>; 1037 }; 1038 1039 sdc2_data_off: sdc2-data-off-state { 1040 pins = "sdc2_data"; 1041 bias-pull-up; 1042 drive-strength = <2>; 1043 }; 1044 }; 1045 1046 mmcc: clock-controller@fd8c0000 { 1047 compatible = "qcom,mmcc-msm8994"; 1048 reg = <0xfd8c0000 0x5200>; 1049 #clock-cells = <1>; 1050 #reset-cells = <1>; 1051 #power-domain-cells = <1>; 1052 1053 clock-names = "xo", 1054 "gpll0", 1055 "mmssnoc_ahb", 1056 "oxili_gfx3d_clk_src", 1057 "dsi0pll", 1058 "dsi0pllbyte", 1059 "dsi1pll", 1060 "dsi1pllbyte", 1061 "hdmipll"; 1062 clocks = <&xo_board>, 1063 <&gcc GPLL0_OUT_MMSSCC>, 1064 <&rpmcc RPM_SMD_MMSSNOC_AHB_CLK>, 1065 <&rpmcc RPM_SMD_GFX3D_CLK_SRC>, 1066 <0>, 1067 <0>, 1068 <0>, 1069 <0>, 1070 <0>; 1071 1072 assigned-clocks = <&mmcc MMPLL0_PLL>, 1073 <&mmcc MMPLL1_PLL>, 1074 <&mmcc MMPLL3_PLL>, 1075 <&mmcc MMPLL4_PLL>, 1076 <&mmcc MMPLL5_PLL>; 1077 assigned-clock-rates = <800000000>, 1078 <1167000000>, 1079 <1020000000>, 1080 <960000000>, 1081 <600000000>; 1082 }; 1083 1084 ocmem: sram@fdd00000 { 1085 compatible = "qcom,msm8974-ocmem"; 1086 reg = <0xfdd00000 0x2000>, 1087 <0xfec00000 0x200000>; 1088 reg-names = "ctrl", "mem"; 1089 ranges = <0 0xfec00000 0x200000>; 1090 clocks = <&rpmcc RPM_SMD_OCMEMGX_CLK>, 1091 <&mmcc OCMEMCX_OCMEMNOC_CLK>; 1092 clock-names = "core", "iface"; 1093 1094 #address-cells = <1>; 1095 #size-cells = <1>; 1096 1097 gmu_sram: gmu-sram@0 { 1098 reg = <0x0 0x180000>; 1099 }; 1100 }; 1101 }; 1102 1103 timer: timer { 1104 compatible = "arm,armv8-timer"; 1105 interrupts = <GIC_PPI 2 0xff08>, 1106 <GIC_PPI 3 0xff08>, 1107 <GIC_PPI 4 0xff08>, 1108 <GIC_PPI 1 0xff08>; 1109 }; 1110 1111 vph_pwr: vph-pwr-regulator { 1112 compatible = "regulator-fixed"; 1113 regulator-name = "vph_pwr"; 1114 1115 regulator-min-microvolt = <3600000>; 1116 regulator-max-microvolt = <3600000>; 1117 1118 regulator-always-on; 1119 }; 1120}; 1121 1122