1// SPDX-License-Identifier: GPL-2.0+ OR BSD-3-Clause 2/* 3 * IPQ5018 SoC device tree source 4 * 5 * Copyright (c) 2023-2025 The Linux Foundation. All rights reserved. 6 */ 7 8#include <dt-bindings/clock/qcom,apss-ipq.h> 9#include <dt-bindings/clock/qcom,gcc-ipq5018.h> 10#include <dt-bindings/clock/qcom,ipq5018-cmn-pll.h> 11#include <dt-bindings/interrupt-controller/arm-gic.h> 12#include <dt-bindings/reset/qcom,gcc-ipq5018.h> 13#include <dt-bindings/thermal/thermal.h> 14 15/ { 16 interrupt-parent = <&intc>; 17 #address-cells = <2>; 18 #size-cells = <2>; 19 20 clocks { 21 gephy_rx_clk: gephy-rx-clk { 22 compatible = "fixed-clock"; 23 clock-frequency = <125000000>; 24 #clock-cells = <0>; 25 }; 26 27 gephy_tx_clk: gephy-tx-clk { 28 compatible = "fixed-clock"; 29 clock-frequency = <125000000>; 30 #clock-cells = <0>; 31 }; 32 33 ref_96mhz_clk: ref-96mhz-clk { 34 compatible = "fixed-factor-clock"; 35 clocks = <&xo_clk>; 36 #clock-cells = <0>; 37 clock-div = <1>; 38 clock-mult = <2>; 39 }; 40 41 sleep_clk: sleep-clk { 42 compatible = "fixed-clock"; 43 #clock-cells = <0>; 44 }; 45 46 xo_board_clk: xo-board-clk { 47 compatible = "fixed-factor-clock"; 48 clocks = <&ref_96mhz_clk>; 49 #clock-cells = <0>; 50 }; 51 52 xo_clk: xo-clk { 53 compatible = "fixed-clock"; 54 #clock-cells = <0>; 55 clock-frequency = <48000000>; 56 }; 57 }; 58 59 cpus { 60 #address-cells = <1>; 61 #size-cells = <0>; 62 63 cpu0: cpu@0 { 64 device_type = "cpu"; 65 compatible = "arm,cortex-a53"; 66 reg = <0x0>; 67 enable-method = "psci"; 68 next-level-cache = <&l2_0>; 69 clocks = <&apcs_glb APCS_ALIAS0_CORE_CLK>; 70 operating-points-v2 = <&cpu_opp_table>; 71 #cooling-cells = <2>; 72 }; 73 74 cpu1: cpu@1 { 75 device_type = "cpu"; 76 compatible = "arm,cortex-a53"; 77 reg = <0x1>; 78 enable-method = "psci"; 79 next-level-cache = <&l2_0>; 80 clocks = <&apcs_glb APCS_ALIAS0_CORE_CLK>; 81 operating-points-v2 = <&cpu_opp_table>; 82 #cooling-cells = <2>; 83 }; 84 85 l2_0: l2-cache { 86 compatible = "cache"; 87 cache-level = <2>; 88 cache-size = <0x80000>; 89 cache-unified; 90 }; 91 }; 92 93 cpu_opp_table: opp-table-cpu { 94 compatible = "operating-points-v2"; 95 opp-shared; 96 97 opp-800000000 { 98 opp-hz = /bits/ 64 <800000000>; 99 opp-microvolt = <1100000>; 100 clock-latency-ns = <200000>; 101 }; 102 103 opp-1008000000 { 104 opp-hz = /bits/ 64 <1008000000>; 105 opp-microvolt = <1100000>; 106 clock-latency-ns = <200000>; 107 }; 108 }; 109 110 firmware { 111 scm { 112 compatible = "qcom,scm-ipq5018", "qcom,scm"; 113 qcom,dload-mode = <&tcsr 0x6100>; 114 qcom,sdi-enabled; 115 }; 116 }; 117 118 memory@40000000 { 119 device_type = "memory"; 120 /* We expect the bootloader to fill in the size */ 121 reg = <0x0 0x40000000 0x0 0x0>; 122 }; 123 124 pmu { 125 compatible = "arm,cortex-a53-pmu"; 126 interrupts = <GIC_PPI 7 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>; 127 }; 128 129 psci { 130 compatible = "arm,psci-1.0"; 131 method = "smc"; 132 }; 133 134 reserved-memory { 135 #address-cells = <2>; 136 #size-cells = <2>; 137 ranges; 138 139 bootloader@4a800000 { 140 reg = <0x0 0x4a800000 0x0 0x200000>; 141 no-map; 142 }; 143 144 sbl@4aa00000 { 145 reg = <0x0 0x4aa00000 0x0 0x100000>; 146 no-map; 147 }; 148 149 smem@4ab00000 { 150 compatible = "qcom,smem"; 151 reg = <0x0 0x4ab00000 0x0 0x100000>; 152 no-map; 153 154 hwlocks = <&tcsr_mutex 3>; 155 }; 156 157 tz_region: tz@4ac00000 { 158 reg = <0x0 0x4ac00000 0x0 0x200000>; 159 no-map; 160 }; 161 }; 162 163 soc: soc@0 { 164 compatible = "simple-bus"; 165 #address-cells = <1>; 166 #size-cells = <1>; 167 ranges = <0 0 0 0xffffffff>; 168 169 usbphy0: phy@5b000 { 170 compatible = "qcom,ipq5018-usb-hsphy"; 171 reg = <0x0005b000 0x120>; 172 173 clocks = <&gcc GCC_USB0_PHY_CFG_AHB_CLK>; 174 175 resets = <&gcc GCC_QUSB2_0_PHY_BCR>; 176 177 #phy-cells = <0>; 178 179 status = "disabled"; 180 }; 181 182 pcie1_phy: phy@7e000 { 183 compatible = "qcom,ipq5018-uniphy-pcie-phy"; 184 reg = <0x0007e000 0x800>; 185 186 clocks = <&gcc GCC_PCIE1_PIPE_CLK>; 187 188 resets = <&gcc GCC_PCIE1_PHY_BCR>, 189 <&gcc GCC_PCIE1PHY_PHY_BCR>; 190 191 #clock-cells = <0>; 192 #phy-cells = <0>; 193 194 num-lanes = <1>; 195 196 status = "disabled"; 197 }; 198 199 pcie0_phy: phy@86000 { 200 compatible = "qcom,ipq5018-uniphy-pcie-phy"; 201 reg = <0x00086000 0x1000>; 202 203 clocks = <&gcc GCC_PCIE0_PIPE_CLK>; 204 205 resets = <&gcc GCC_PCIE0_PHY_BCR>, 206 <&gcc GCC_PCIE0PHY_PHY_BCR>; 207 208 #clock-cells = <0>; 209 #phy-cells = <0>; 210 211 num-lanes = <2>; 212 213 status = "disabled"; 214 }; 215 216 mdio0: mdio@88000 { 217 compatible = "qcom,ipq5018-mdio"; 218 reg = <0x00088000 0x64>, 219 <0x019475c4 0x4>; 220 #address-cells = <1>; 221 #size-cells = <0>; 222 223 clocks = <&gcc GCC_MDIO0_AHB_CLK>; 224 clock-names = "gcc_mdio_ahb_clk"; 225 226 status = "disabled"; 227 228 ge_phy: ethernet-phy@7 { 229 compatible = "ethernet-phy-id004d.d0c0"; 230 reg = <7>; 231 232 resets = <&gcc GCC_GEPHY_MISC_ARES>; 233 }; 234 }; 235 236 mdio1: mdio@90000 { 237 compatible = "qcom,ipq5018-mdio"; 238 reg = <0x00090000 0x64>; 239 #address-cells = <1>; 240 #size-cells = <0>; 241 242 clocks = <&gcc GCC_MDIO1_AHB_CLK>; 243 clock-names = "gcc_mdio_ahb_clk"; 244 245 status = "disabled"; 246 }; 247 248 cmn_pll: clock-controller@9b000 { 249 compatible = "qcom,ipq5018-cmn-pll"; 250 reg = <0x0009b000 0x800>; 251 clocks = <&ref_96mhz_clk>, 252 <&gcc GCC_CMN_BLK_AHB_CLK>, 253 <&gcc GCC_CMN_BLK_SYS_CLK>; 254 clock-names = "ref", 255 "ahb", 256 "sys"; 257 #clock-cells = <1>; 258 assigned-clocks = <&cmn_pll IPQ5018_CMN_PLL_CLK>; 259 assigned-clock-rates-u64 = /bits/ 64 <9600000000>; 260 }; 261 262 qfprom: qfprom@a0000 { 263 compatible = "qcom,ipq5018-qfprom", "qcom,qfprom"; 264 reg = <0x000a0000 0x1000>; 265 #address-cells = <1>; 266 #size-cells = <1>; 267 268 tsens_mode: mode@249 { 269 reg = <0x249 0x1>; 270 bits = <0 3>; 271 }; 272 273 tsens_base1: base1@249 { 274 reg = <0x249 0x2>; 275 bits = <3 8>; 276 }; 277 278 tsens_base2: base2@24a { 279 reg = <0x24a 0x2>; 280 bits = <3 8>; 281 }; 282 283 tsens_s0_p1: s0-p1@24b { 284 reg = <0x24b 0x2>; 285 bits = <2 6>; 286 }; 287 288 tsens_s0_p2: s0-p2@24c { 289 reg = <0x24c 0x1>; 290 bits = <1 6>; 291 }; 292 293 tsens_s1_p1: s1-p1@24c { 294 reg = <0x24c 0x2>; 295 bits = <7 6>; 296 }; 297 298 tsens_s1_p2: s1-p2@24d { 299 reg = <0x24d 0x2>; 300 bits = <5 6>; 301 }; 302 303 tsens_s2_p1: s2-p1@24e { 304 reg = <0x24e 0x2>; 305 bits = <3 6>; 306 }; 307 308 tsens_s2_p2: s2-p2@24f { 309 reg = <0x24f 0x1>; 310 bits = <1 6>; 311 }; 312 313 tsens_s3_p1: s3-p1@24f { 314 reg = <0x24f 0x2>; 315 bits = <7 6>; 316 }; 317 318 tsens_s3_p2: s3-p2@250 { 319 reg = <0x250 0x2>; 320 bits = <5 6>; 321 }; 322 323 tsens_s4_p1: s4-p1@251 { 324 reg = <0x251 0x2>; 325 bits = <3 6>; 326 }; 327 328 tsens_s4_p2: s4-p2@254 { 329 reg = <0x254 0x1>; 330 bits = <0 6>; 331 }; 332 }; 333 334 prng: rng@e3000 { 335 compatible = "qcom,prng-ee"; 336 reg = <0x000e3000 0x1000>; 337 clocks = <&gcc GCC_PRNG_AHB_CLK>; 338 clock-names = "core"; 339 status = "disabled"; 340 }; 341 342 tsens: thermal-sensor@4a9000 { 343 compatible = "qcom,ipq5018-tsens"; 344 reg = <0x004a9000 0x1000>, 345 <0x004a8000 0x1000>; 346 347 nvmem-cells = <&tsens_mode>, 348 <&tsens_base1>, 349 <&tsens_base2>, 350 <&tsens_s0_p1>, 351 <&tsens_s0_p2>, 352 <&tsens_s1_p1>, 353 <&tsens_s1_p2>, 354 <&tsens_s2_p1>, 355 <&tsens_s2_p2>, 356 <&tsens_s3_p1>, 357 <&tsens_s3_p2>, 358 <&tsens_s4_p1>, 359 <&tsens_s4_p2>; 360 361 nvmem-cell-names = "mode", 362 "base1", 363 "base2", 364 "s0_p1", 365 "s0_p2", 366 "s1_p1", 367 "s1_p2", 368 "s2_p1", 369 "s2_p2", 370 "s3_p1", 371 "s3_p2", 372 "s4_p1", 373 "s4_p2"; 374 375 interrupts = <GIC_SPI 184 IRQ_TYPE_EDGE_RISING>; 376 interrupt-names = "uplow"; 377 #qcom,sensors = <5>; 378 #thermal-sensor-cells = <1>; 379 }; 380 381 cryptobam: dma-controller@704000 { 382 compatible = "qcom,bam-v1.7.4", "qcom,bam-v1.7.0"; 383 reg = <0x00704000 0x20000>; 384 interrupts = <GIC_SPI 207 IRQ_TYPE_LEVEL_HIGH>; 385 386 clocks = <&gcc GCC_CRYPTO_AHB_CLK>; 387 clock-names = "bam_clk"; 388 389 #dma-cells = <1>; 390 qcom,ee = <1>; 391 qcom,controlled-remotely; 392 }; 393 394 crypto: crypto@73a000 { 395 compatible = "qcom,crypto-v5.1"; 396 reg = <0x0073a000 0x6000>; 397 398 clocks = <&gcc GCC_CRYPTO_AHB_CLK>, 399 <&gcc GCC_CRYPTO_AXI_CLK>, 400 <&gcc GCC_CRYPTO_CLK>; 401 clock-names = "iface", 402 "bus", 403 "core"; 404 405 dmas = <&cryptobam 2>, 406 <&cryptobam 3>; 407 dma-names = "rx", 408 "tx"; 409 }; 410 411 tlmm: pinctrl@1000000 { 412 compatible = "qcom,ipq5018-tlmm"; 413 reg = <0x01000000 0x300000>; 414 interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>; 415 gpio-controller; 416 #gpio-cells = <2>; 417 gpio-ranges = <&tlmm 0 0 47>; 418 interrupt-controller; 419 #interrupt-cells = <2>; 420 421 uart1_pins: uart1-state { 422 pins = "gpio31", "gpio32", "gpio33", "gpio34"; 423 function = "blsp1_uart1"; 424 drive-strength = <8>; 425 bias-pull-down; 426 }; 427 }; 428 429 gcc: clock-controller@1800000 { 430 compatible = "qcom,gcc-ipq5018"; 431 reg = <0x01800000 0x80000>; 432 clocks = <&xo_board_clk>, 433 <&sleep_clk>, 434 <&pcie0_phy>, 435 <&pcie1_phy>, 436 <0>, 437 <&gephy_rx_clk>, 438 <&gephy_tx_clk>, 439 <0>, 440 <0>; 441 #clock-cells = <1>; 442 #reset-cells = <1>; 443 }; 444 445 tcsr_mutex: hwlock@1905000 { 446 compatible = "qcom,tcsr-mutex"; 447 reg = <0x01905000 0x20000>; 448 #hwlock-cells = <1>; 449 }; 450 451 tcsr: syscon@1937000 { 452 compatible = "qcom,tcsr-ipq5018", "syscon"; 453 reg = <0x01937000 0x21000>; 454 }; 455 456 sdhc_1: mmc@7804000 { 457 compatible = "qcom,ipq5018-sdhci", "qcom,sdhci-msm-v5"; 458 reg = <0x7804000 0x1000>; 459 reg-names = "hc"; 460 461 interrupts = <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>, 462 <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>; 463 interrupt-names = "hc_irq", "pwr_irq"; 464 465 clocks = <&gcc GCC_SDCC1_AHB_CLK>, 466 <&gcc GCC_SDCC1_APPS_CLK>, 467 <&xo_board_clk>; 468 clock-names = "iface", "core", "xo"; 469 non-removable; 470 status = "disabled"; 471 }; 472 473 blsp_dma: dma-controller@7884000 { 474 compatible = "qcom,bam-v1.7.0"; 475 reg = <0x07884000 0x1d000>; 476 interrupts = <GIC_SPI 238 IRQ_TYPE_LEVEL_HIGH>; 477 clocks = <&gcc GCC_BLSP1_AHB_CLK>; 478 clock-names = "bam_clk"; 479 #dma-cells = <1>; 480 qcom,ee = <0>; 481 }; 482 483 blsp1_uart1: serial@78af000 { 484 compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm"; 485 reg = <0x078af000 0x200>; 486 interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>; 487 clocks = <&gcc GCC_BLSP1_UART1_APPS_CLK>, 488 <&gcc GCC_BLSP1_AHB_CLK>; 489 clock-names = "core", "iface"; 490 status = "disabled"; 491 }; 492 493 blsp1_uart2: serial@78b0000 { 494 compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm"; 495 reg = <0x078b0000 0x200>; 496 interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>; 497 clocks = <&gcc GCC_BLSP1_UART2_APPS_CLK>, 498 <&gcc GCC_BLSP1_AHB_CLK>; 499 clock-names = "core", "iface"; 500 status = "disabled"; 501 }; 502 503 blsp1_spi1: spi@78b5000 { 504 compatible = "qcom,spi-qup-v2.2.1"; 505 #address-cells = <1>; 506 #size-cells = <0>; 507 reg = <0x078b5000 0x600>; 508 interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>; 509 clocks = <&gcc GCC_BLSP1_QUP1_SPI_APPS_CLK>, 510 <&gcc GCC_BLSP1_AHB_CLK>; 511 clock-names = "core", "iface"; 512 dmas = <&blsp_dma 4>, <&blsp_dma 5>; 513 dma-names = "tx", "rx"; 514 status = "disabled"; 515 }; 516 517 blsp1_i2c3: i2c@78b7000 { 518 compatible = "qcom,i2c-qup-v2.2.1"; 519 reg = <0x078b7000 0x600>; 520 #address-cells = <1>; 521 #size-cells = <0>; 522 interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>; 523 clocks = <&gcc GCC_BLSP1_QUP3_I2C_APPS_CLK>, 524 <&gcc GCC_BLSP1_AHB_CLK>; 525 clock-names = "core", "iface"; 526 clock-frequency = <400000>; 527 dmas = <&blsp_dma 9>, <&blsp_dma 8>; 528 dma-names = "tx", "rx"; 529 status = "disabled"; 530 }; 531 532 qpic_bam: dma-controller@7984000 { 533 compatible = "qcom,bam-v1.7.4", "qcom,bam-v1.7.0"; 534 reg = <0x07984000 0x1c000>; 535 536 interrupts = <GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>; 537 538 clocks = <&gcc GCC_QPIC_AHB_CLK>; 539 clock-names = "bam_clk"; 540 541 #dma-cells = <1>; 542 qcom,ee = <0>; 543 544 status = "disabled"; 545 }; 546 547 qpic_nand: spi@79b0000 { 548 compatible = "qcom,ipq5018-snand", "qcom,ipq9574-snand"; 549 reg = <0x079b0000 0x10000>; 550 #address-cells = <1>; 551 #size-cells = <0>; 552 553 clocks = <&gcc GCC_QPIC_CLK>, 554 <&gcc GCC_QPIC_AHB_CLK>, 555 <&gcc GCC_QPIC_IO_MACRO_CLK>; 556 clock-names = "core", 557 "aon", 558 "iom"; 559 560 dmas = <&qpic_bam 0>, 561 <&qpic_bam 1>, 562 <&qpic_bam 2>; 563 dma-names = "tx", 564 "rx", 565 "cmd"; 566 567 status = "disabled"; 568 }; 569 570 usb: usb@8af8800 { 571 compatible = "qcom,ipq5018-dwc3", "qcom,dwc3"; 572 reg = <0x08af8800 0x400>; 573 574 interrupts = <GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>, 575 <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>, 576 <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>; 577 interrupt-names = "pwr_event", 578 "dp_hs_phy_irq", 579 "dm_hs_phy_irq"; 580 581 clocks = <&gcc GCC_USB0_MASTER_CLK>, 582 <&gcc GCC_SYS_NOC_USB0_AXI_CLK>, 583 <&gcc GCC_USB0_SLEEP_CLK>, 584 <&gcc GCC_USB0_MOCK_UTMI_CLK>; 585 clock-names = "core", 586 "iface", 587 "sleep", 588 "mock_utmi"; 589 590 resets = <&gcc GCC_USB0_BCR>; 591 592 qcom,select-utmi-as-pipe-clk; 593 #address-cells = <1>; 594 #size-cells = <1>; 595 ranges; 596 597 status = "disabled"; 598 599 usb_dwc: usb@8a00000 { 600 compatible = "snps,dwc3"; 601 reg = <0x08a00000 0xe000>; 602 clocks = <&gcc GCC_USB0_MOCK_UTMI_CLK>; 603 clock-names = "ref"; 604 interrupts = <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>; 605 phy-names = "usb2-phy"; 606 phys = <&usbphy0>; 607 tx-fifo-resize; 608 snps,is-utmi-l1-suspend; 609 snps,hird-threshold = /bits/ 8 <0x0>; 610 snps,dis_u2_susphy_quirk; 611 snps,dis_u3_susphy_quirk; 612 }; 613 }; 614 615 intc: interrupt-controller@b000000 { 616 compatible = "qcom,msm-qgic2"; 617 reg = <0x0b000000 0x1000>, /* GICD */ 618 <0x0b002000 0x2000>, /* GICC */ 619 <0x0b001000 0x1000>, /* GICH */ 620 <0x0b004000 0x2000>; /* GICV */ 621 interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>; 622 interrupt-controller; 623 #interrupt-cells = <3>; 624 #address-cells = <1>; 625 #size-cells = <1>; 626 ranges = <0 0x0b00a000 0x1ffa>; 627 628 v2m0: v2m@0 { 629 compatible = "arm,gic-v2m-frame"; 630 reg = <0x00000000 0xff8>; 631 msi-controller; 632 }; 633 634 v2m1: v2m@1000 { 635 compatible = "arm,gic-v2m-frame"; 636 reg = <0x00001000 0xff8>; 637 msi-controller; 638 }; 639 }; 640 641 watchdog: watchdog@b017000 { 642 compatible = "qcom,apss-wdt-ipq5018", "qcom,kpss-wdt"; 643 reg = <0x0b017000 0x40>; 644 interrupts = <GIC_SPI 3 IRQ_TYPE_EDGE_RISING>; 645 clocks = <&sleep_clk>; 646 }; 647 648 apcs_glb: mailbox@b111000 { 649 compatible = "qcom,ipq5018-apcs-apps-global", 650 "qcom,ipq6018-apcs-apps-global"; 651 reg = <0x0b111000 0x1000>; 652 #clock-cells = <1>; 653 clocks = <&a53pll>, <&xo_board_clk>, <&gcc GPLL0>; 654 clock-names = "pll", "xo", "gpll0"; 655 #mbox-cells = <1>; 656 }; 657 658 a53pll: clock@b116000 { 659 compatible = "qcom,ipq5018-a53pll"; 660 reg = <0x0b116000 0x40>; 661 #clock-cells = <0>; 662 clocks = <&xo_board_clk>; 663 clock-names = "xo"; 664 }; 665 666 timer@b120000 { 667 compatible = "arm,armv7-timer-mem"; 668 reg = <0x0b120000 0x1000>; 669 #address-cells = <1>; 670 #size-cells = <1>; 671 ranges; 672 673 frame@b120000 { 674 reg = <0x0b121000 0x1000>, 675 <0x0b122000 0x1000>; 676 interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>, 677 <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>; 678 frame-number = <0>; 679 }; 680 681 frame@b123000 { 682 reg = <0xb123000 0x1000>; 683 interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>; 684 frame-number = <1>; 685 status = "disabled"; 686 }; 687 688 frame@b124000 { 689 frame-number = <2>; 690 interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>; 691 reg = <0x0b124000 0x1000>; 692 status = "disabled"; 693 }; 694 695 frame@b125000 { 696 reg = <0x0b125000 0x1000>; 697 interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>; 698 frame-number = <3>; 699 status = "disabled"; 700 }; 701 702 frame@b126000 { 703 reg = <0x0b126000 0x1000>; 704 interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>; 705 frame-number = <4>; 706 status = "disabled"; 707 }; 708 709 frame@b127000 { 710 reg = <0x0b127000 0x1000>; 711 interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>; 712 frame-number = <5>; 713 status = "disabled"; 714 }; 715 716 frame@b128000 { 717 reg = <0x0b128000 0x1000>; 718 interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>; 719 frame-number = <6>; 720 status = "disabled"; 721 }; 722 }; 723 724 pcie1: pcie@80000000 { 725 compatible = "qcom,pcie-ipq5018"; 726 reg = <0x80000000 0xf1d>, 727 <0x80000f20 0xa8>, 728 <0x80001000 0x1000>, 729 <0x00078000 0x3000>, 730 <0x80100000 0x1000>, 731 <0x0007b000 0x1000>; 732 reg-names = "dbi", 733 "elbi", 734 "atu", 735 "parf", 736 "config", 737 "mhi"; 738 device_type = "pci"; 739 linux,pci-domain = <1>; 740 bus-range = <0x00 0xff>; 741 num-lanes = <1>; 742 #address-cells = <3>; 743 #size-cells = <2>; 744 745 /* The controller supports Gen3, but the connected PHY is Gen2-capable */ 746 max-link-speed = <2>; 747 748 phys = <&pcie1_phy>; 749 phy-names = "pciephy"; 750 751 ranges = <0x01000000 0 0x00000000 0x80200000 0 0x00100000>, 752 <0x02000000 0 0x80300000 0x80300000 0 0x10000000>; 753 754 msi-map = <0x0 &v2m0 0x0 0xff8>; 755 756 interrupts = <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>, 757 <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>, 758 <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>, 759 <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>, 760 <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>, 761 <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>, 762 <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>, 763 <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>, 764 <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>; 765 interrupt-names = "msi0", 766 "msi1", 767 "msi2", 768 "msi3", 769 "msi4", 770 "msi5", 771 "msi6", 772 "msi7", 773 "global"; 774 775 #interrupt-cells = <1>; 776 interrupt-map-mask = <0 0 0 0x7>; 777 interrupt-map = <0 0 0 1 &intc 0 GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>, 778 <0 0 0 2 &intc 0 GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>, 779 <0 0 0 3 &intc 0 GIC_SPI 144 IRQ_TYPE_LEVEL_HIGH>, 780 <0 0 0 4 &intc 0 GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>; 781 782 clocks = <&gcc GCC_SYS_NOC_PCIE1_AXI_CLK>, 783 <&gcc GCC_PCIE1_AXI_M_CLK>, 784 <&gcc GCC_PCIE1_AXI_S_CLK>, 785 <&gcc GCC_PCIE1_AHB_CLK>, 786 <&gcc GCC_PCIE1_AUX_CLK>, 787 <&gcc GCC_PCIE1_AXI_S_BRIDGE_CLK>; 788 clock-names = "iface", 789 "axi_m", 790 "axi_s", 791 "ahb", 792 "aux", 793 "axi_bridge"; 794 795 resets = <&gcc GCC_PCIE1_PIPE_ARES>, 796 <&gcc GCC_PCIE1_SLEEP_ARES>, 797 <&gcc GCC_PCIE1_CORE_STICKY_ARES>, 798 <&gcc GCC_PCIE1_AXI_MASTER_ARES>, 799 <&gcc GCC_PCIE1_AXI_SLAVE_ARES>, 800 <&gcc GCC_PCIE1_AHB_ARES>, 801 <&gcc GCC_PCIE1_AXI_MASTER_STICKY_ARES>, 802 <&gcc GCC_PCIE1_AXI_SLAVE_STICKY_ARES>; 803 reset-names = "pipe", 804 "sleep", 805 "sticky", 806 "axi_m", 807 "axi_s", 808 "ahb", 809 "axi_m_sticky", 810 "axi_s_sticky"; 811 812 status = "disabled"; 813 814 pcie@0 { 815 device_type = "pci"; 816 reg = <0x0 0x0 0x0 0x0 0x0>; 817 bus-range = <0x01 0xff>; 818 819 #address-cells = <3>; 820 #size-cells = <2>; 821 ranges; 822 }; 823 }; 824 825 pcie0: pcie@a0000000 { 826 compatible = "qcom,pcie-ipq5018"; 827 reg = <0xa0000000 0xf1d>, 828 <0xa0000f20 0xa8>, 829 <0xa0001000 0x1000>, 830 <0x00080000 0x3000>, 831 <0xa0100000 0x1000>, 832 <0x00083000 0x1000>; 833 reg-names = "dbi", 834 "elbi", 835 "atu", 836 "parf", 837 "config", 838 "mhi"; 839 device_type = "pci"; 840 linux,pci-domain = <0>; 841 bus-range = <0x00 0xff>; 842 num-lanes = <2>; 843 #address-cells = <3>; 844 #size-cells = <2>; 845 846 /* The controller supports Gen3, but the connected PHY is Gen2-capable */ 847 max-link-speed = <2>; 848 849 phys = <&pcie0_phy>; 850 phy-names = "pciephy"; 851 852 ranges = <0x01000000 0 0x00000000 0xa0200000 0 0x00100000>, 853 <0x02000000 0 0xa0300000 0xa0300000 0 0x10000000>; 854 855 msi-map = <0x0 &v2m0 0x0 0xff8>; 856 857 interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>, 858 <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>, 859 <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>, 860 <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>, 861 <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>, 862 <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>, 863 <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>, 864 <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>, 865 <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>; 866 interrupt-names = "msi0", 867 "msi1", 868 "msi2", 869 "msi3", 870 "msi4", 871 "msi5", 872 "msi6", 873 "msi7", 874 "global"; 875 876 #interrupt-cells = <1>; 877 interrupt-map-mask = <0 0 0 0x7>; 878 interrupt-map = <0 0 0 1 &intc 0 GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>, 879 <0 0 0 2 &intc 0 GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>, 880 <0 0 0 3 &intc 0 GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>, 881 <0 0 0 4 &intc 0 GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>; 882 883 clocks = <&gcc GCC_SYS_NOC_PCIE0_AXI_CLK>, 884 <&gcc GCC_PCIE0_AXI_M_CLK>, 885 <&gcc GCC_PCIE0_AXI_S_CLK>, 886 <&gcc GCC_PCIE0_AHB_CLK>, 887 <&gcc GCC_PCIE0_AUX_CLK>, 888 <&gcc GCC_PCIE0_AXI_S_BRIDGE_CLK>; 889 clock-names = "iface", 890 "axi_m", 891 "axi_s", 892 "ahb", 893 "aux", 894 "axi_bridge"; 895 896 resets = <&gcc GCC_PCIE0_PIPE_ARES>, 897 <&gcc GCC_PCIE0_SLEEP_ARES>, 898 <&gcc GCC_PCIE0_CORE_STICKY_ARES>, 899 <&gcc GCC_PCIE0_AXI_MASTER_ARES>, 900 <&gcc GCC_PCIE0_AXI_SLAVE_ARES>, 901 <&gcc GCC_PCIE0_AHB_ARES>, 902 <&gcc GCC_PCIE0_AXI_MASTER_STICKY_ARES>, 903 <&gcc GCC_PCIE0_AXI_SLAVE_STICKY_ARES>; 904 reset-names = "pipe", 905 "sleep", 906 "sticky", 907 "axi_m", 908 "axi_s", 909 "ahb", 910 "axi_m_sticky", 911 "axi_s_sticky"; 912 913 status = "disabled"; 914 915 pcie@0 { 916 device_type = "pci"; 917 reg = <0x0 0x0 0x0 0x0 0x0>; 918 bus-range = <0x01 0xff>; 919 920 #address-cells = <3>; 921 #size-cells = <2>; 922 ranges; 923 }; 924 }; 925 }; 926 927 thermal-zones { 928 cpu-thermal { 929 thermal-sensors = <&tsens 2>; 930 931 trips { 932 cpu-critical { 933 temperature = <120000>; 934 hysteresis = <1000>; 935 type = "critical"; 936 }; 937 938 cpu_alert: cpu-passive { 939 temperature = <100000>; 940 hysteresis = <1000>; 941 type = "passive"; 942 }; 943 }; 944 945 cooling-maps { 946 map0 { 947 trip = <&cpu_alert>; 948 cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 949 <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; 950 }; 951 }; 952 }; 953 954 gephy-thermal { 955 thermal-sensors = <&tsens 4>; 956 957 trips { 958 gephy-critical { 959 temperature = <120000>; 960 hysteresis = <1000>; 961 type = "critical"; 962 }; 963 }; 964 }; 965 966 top-glue-thermal { 967 thermal-sensors = <&tsens 3>; 968 969 trips { 970 top-glue-critical { 971 temperature = <120000>; 972 hysteresis = <1000>; 973 type = "critical"; 974 }; 975 }; 976 }; 977 978 ubi32-thermal { 979 thermal-sensors = <&tsens 1>; 980 981 trips { 982 ubi32-critical { 983 temperature = <120000>; 984 hysteresis = <1000>; 985 type = "critical"; 986 }; 987 }; 988 }; 989 }; 990 991 timer { 992 compatible = "arm,armv8-timer"; 993 interrupts = <GIC_PPI 2 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 994 <GIC_PPI 3 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 995 <GIC_PPI 4 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 996 <GIC_PPI 1 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>; 997 }; 998}; 999