157000675SSricharan Ramabadhran// SPDX-License-Identifier: GPL-2.0+ OR BSD-3-Clause 257000675SSricharan Ramabadhran/* 357000675SSricharan Ramabadhran * IPQ5018 SoC device tree source 457000675SSricharan Ramabadhran * 557000675SSricharan Ramabadhran * Copyright (c) 2023 The Linux Foundation. All rights reserved. 657000675SSricharan Ramabadhran */ 757000675SSricharan Ramabadhran 83e4b53e0SGokul Sriram Palanisamy#include <dt-bindings/clock/qcom,apss-ipq.h> 957000675SSricharan Ramabadhran#include <dt-bindings/interrupt-controller/arm-gic.h> 1057000675SSricharan Ramabadhran#include <dt-bindings/clock/qcom,gcc-ipq5018.h> 1157000675SSricharan Ramabadhran#include <dt-bindings/reset/qcom,gcc-ipq5018.h> 1257000675SSricharan Ramabadhran 1357000675SSricharan Ramabadhran/ { 1457000675SSricharan Ramabadhran interrupt-parent = <&intc>; 1557000675SSricharan Ramabadhran #address-cells = <2>; 1657000675SSricharan Ramabadhran #size-cells = <2>; 1757000675SSricharan Ramabadhran 1857000675SSricharan Ramabadhran clocks { 1957000675SSricharan Ramabadhran sleep_clk: sleep-clk { 2057000675SSricharan Ramabadhran compatible = "fixed-clock"; 2157000675SSricharan Ramabadhran #clock-cells = <0>; 2257000675SSricharan Ramabadhran }; 2357000675SSricharan Ramabadhran 2457000675SSricharan Ramabadhran xo_board_clk: xo-board-clk { 2557000675SSricharan Ramabadhran compatible = "fixed-clock"; 2657000675SSricharan Ramabadhran #clock-cells = <0>; 2757000675SSricharan Ramabadhran }; 2857000675SSricharan Ramabadhran }; 2957000675SSricharan Ramabadhran 3057000675SSricharan Ramabadhran cpus { 3157000675SSricharan Ramabadhran #address-cells = <1>; 3257000675SSricharan Ramabadhran #size-cells = <0>; 3357000675SSricharan Ramabadhran 346f8c1ed2SKrzysztof Kozlowski cpu0: cpu@0 { 3557000675SSricharan Ramabadhran device_type = "cpu"; 3657000675SSricharan Ramabadhran compatible = "arm,cortex-a53"; 3757000675SSricharan Ramabadhran reg = <0x0>; 3857000675SSricharan Ramabadhran enable-method = "psci"; 396f8c1ed2SKrzysztof Kozlowski next-level-cache = <&l2_0>; 403e4b53e0SGokul Sriram Palanisamy clocks = <&apcs_glb APCS_ALIAS0_CORE_CLK>; 413e4b53e0SGokul Sriram Palanisamy operating-points-v2 = <&cpu_opp_table>; 4257000675SSricharan Ramabadhran }; 4357000675SSricharan Ramabadhran 446f8c1ed2SKrzysztof Kozlowski cpu1: cpu@1 { 4557000675SSricharan Ramabadhran device_type = "cpu"; 4657000675SSricharan Ramabadhran compatible = "arm,cortex-a53"; 4757000675SSricharan Ramabadhran reg = <0x1>; 4857000675SSricharan Ramabadhran enable-method = "psci"; 496f8c1ed2SKrzysztof Kozlowski next-level-cache = <&l2_0>; 503e4b53e0SGokul Sriram Palanisamy clocks = <&apcs_glb APCS_ALIAS0_CORE_CLK>; 513e4b53e0SGokul Sriram Palanisamy operating-points-v2 = <&cpu_opp_table>; 5257000675SSricharan Ramabadhran }; 5357000675SSricharan Ramabadhran 546f8c1ed2SKrzysztof Kozlowski l2_0: l2-cache { 5557000675SSricharan Ramabadhran compatible = "cache"; 5657000675SSricharan Ramabadhran cache-level = <2>; 5757000675SSricharan Ramabadhran cache-size = <0x80000>; 5857000675SSricharan Ramabadhran cache-unified; 5957000675SSricharan Ramabadhran }; 6057000675SSricharan Ramabadhran }; 6157000675SSricharan Ramabadhran 623e4b53e0SGokul Sriram Palanisamy cpu_opp_table: opp-table-cpu { 633e4b53e0SGokul Sriram Palanisamy compatible = "operating-points-v2"; 643e4b53e0SGokul Sriram Palanisamy opp-shared; 653e4b53e0SGokul Sriram Palanisamy 663e4b53e0SGokul Sriram Palanisamy opp-800000000 { 673e4b53e0SGokul Sriram Palanisamy opp-hz = /bits/ 64 <800000000>; 683e4b53e0SGokul Sriram Palanisamy opp-microvolt = <1100000>; 693e4b53e0SGokul Sriram Palanisamy clock-latency-ns = <200000>; 703e4b53e0SGokul Sriram Palanisamy }; 713e4b53e0SGokul Sriram Palanisamy 723e4b53e0SGokul Sriram Palanisamy opp-1008000000 { 733e4b53e0SGokul Sriram Palanisamy opp-hz = /bits/ 64 <1008000000>; 743e4b53e0SGokul Sriram Palanisamy opp-microvolt = <1100000>; 753e4b53e0SGokul Sriram Palanisamy clock-latency-ns = <200000>; 763e4b53e0SGokul Sriram Palanisamy }; 773e4b53e0SGokul Sriram Palanisamy }; 783e4b53e0SGokul Sriram Palanisamy 7957000675SSricharan Ramabadhran firmware { 8057000675SSricharan Ramabadhran scm { 8157000675SSricharan Ramabadhran compatible = "qcom,scm-ipq5018", "qcom,scm"; 82*43fefd6cSGeorge Moussalem qcom,dload-mode = <&tcsr 0x6100>; 8379796e87SRobert Marko qcom,sdi-enabled; 8457000675SSricharan Ramabadhran }; 8557000675SSricharan Ramabadhran }; 8657000675SSricharan Ramabadhran 8757000675SSricharan Ramabadhran memory@40000000 { 8857000675SSricharan Ramabadhran device_type = "memory"; 8957000675SSricharan Ramabadhran /* We expect the bootloader to fill in the size */ 9057000675SSricharan Ramabadhran reg = <0x0 0x40000000 0x0 0x0>; 9157000675SSricharan Ramabadhran }; 9257000675SSricharan Ramabadhran 9357000675SSricharan Ramabadhran pmu { 9457000675SSricharan Ramabadhran compatible = "arm,cortex-a53-pmu"; 9557000675SSricharan Ramabadhran interrupts = <GIC_PPI 7 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>; 9657000675SSricharan Ramabadhran }; 9757000675SSricharan Ramabadhran 9857000675SSricharan Ramabadhran psci { 9957000675SSricharan Ramabadhran compatible = "arm,psci-1.0"; 10057000675SSricharan Ramabadhran method = "smc"; 10157000675SSricharan Ramabadhran }; 10257000675SSricharan Ramabadhran 10357000675SSricharan Ramabadhran reserved-memory { 10457000675SSricharan Ramabadhran #address-cells = <2>; 10557000675SSricharan Ramabadhran #size-cells = <2>; 10657000675SSricharan Ramabadhran ranges; 10757000675SSricharan Ramabadhran 108a427dd16SKathiravan Thirumoorthy bootloader@4a800000 { 109a427dd16SKathiravan Thirumoorthy reg = <0x0 0x4a800000 0x0 0x200000>; 110a427dd16SKathiravan Thirumoorthy no-map; 111a427dd16SKathiravan Thirumoorthy }; 112a427dd16SKathiravan Thirumoorthy 113a427dd16SKathiravan Thirumoorthy sbl@4aa00000 { 114a427dd16SKathiravan Thirumoorthy reg = <0x0 0x4aa00000 0x0 0x100000>; 115a427dd16SKathiravan Thirumoorthy no-map; 116a427dd16SKathiravan Thirumoorthy }; 117a427dd16SKathiravan Thirumoorthy 118a427dd16SKathiravan Thirumoorthy smem@4ab00000 { 119a427dd16SKathiravan Thirumoorthy compatible = "qcom,smem"; 120a427dd16SKathiravan Thirumoorthy reg = <0x0 0x4ab00000 0x0 0x100000>; 121a427dd16SKathiravan Thirumoorthy no-map; 122a427dd16SKathiravan Thirumoorthy 123a427dd16SKathiravan Thirumoorthy hwlocks = <&tcsr_mutex 3>; 124a427dd16SKathiravan Thirumoorthy }; 125a427dd16SKathiravan Thirumoorthy 12657000675SSricharan Ramabadhran tz_region: tz@4ac00000 { 12757000675SSricharan Ramabadhran reg = <0x0 0x4ac00000 0x0 0x200000>; 12857000675SSricharan Ramabadhran no-map; 12957000675SSricharan Ramabadhran }; 13057000675SSricharan Ramabadhran }; 13157000675SSricharan Ramabadhran 13257000675SSricharan Ramabadhran soc: soc@0 { 13357000675SSricharan Ramabadhran compatible = "simple-bus"; 13457000675SSricharan Ramabadhran #address-cells = <1>; 13557000675SSricharan Ramabadhran #size-cells = <1>; 13657000675SSricharan Ramabadhran ranges = <0 0 0 0xffffffff>; 13757000675SSricharan Ramabadhran 138e7166f27SNitheesh Sekar usbphy0: phy@5b000 { 139e7166f27SNitheesh Sekar compatible = "qcom,ipq5018-usb-hsphy"; 140e7166f27SNitheesh Sekar reg = <0x0005b000 0x120>; 141e7166f27SNitheesh Sekar 142e7166f27SNitheesh Sekar clocks = <&gcc GCC_USB0_PHY_CFG_AHB_CLK>; 143e7166f27SNitheesh Sekar 144e7166f27SNitheesh Sekar resets = <&gcc GCC_QUSB2_0_PHY_BCR>; 145e7166f27SNitheesh Sekar 146e7166f27SNitheesh Sekar #phy-cells = <0>; 147e7166f27SNitheesh Sekar 148e7166f27SNitheesh Sekar status = "disabled"; 149e7166f27SNitheesh Sekar }; 150e7166f27SNitheesh Sekar 15118a5bf00SNitheesh Sekar pcie1_phy: phy@7e000 { 15218a5bf00SNitheesh Sekar compatible = "qcom,ipq5018-uniphy-pcie-phy"; 15318a5bf00SNitheesh Sekar reg = <0x0007e000 0x800>; 15418a5bf00SNitheesh Sekar 15518a5bf00SNitheesh Sekar clocks = <&gcc GCC_PCIE1_PIPE_CLK>; 15618a5bf00SNitheesh Sekar 15718a5bf00SNitheesh Sekar resets = <&gcc GCC_PCIE1_PHY_BCR>, 15818a5bf00SNitheesh Sekar <&gcc GCC_PCIE1PHY_PHY_BCR>; 15918a5bf00SNitheesh Sekar 16018a5bf00SNitheesh Sekar #clock-cells = <0>; 16118a5bf00SNitheesh Sekar #phy-cells = <0>; 16218a5bf00SNitheesh Sekar 16318a5bf00SNitheesh Sekar num-lanes = <1>; 16418a5bf00SNitheesh Sekar 16518a5bf00SNitheesh Sekar status = "disabled"; 16618a5bf00SNitheesh Sekar }; 16718a5bf00SNitheesh Sekar 16818a5bf00SNitheesh Sekar pcie0_phy: phy@86000 { 16918a5bf00SNitheesh Sekar compatible = "qcom,ipq5018-uniphy-pcie-phy"; 17018a5bf00SNitheesh Sekar reg = <0x00086000 0x1000>; 17118a5bf00SNitheesh Sekar 17218a5bf00SNitheesh Sekar clocks = <&gcc GCC_PCIE0_PIPE_CLK>; 17318a5bf00SNitheesh Sekar 17418a5bf00SNitheesh Sekar resets = <&gcc GCC_PCIE0_PHY_BCR>, 17518a5bf00SNitheesh Sekar <&gcc GCC_PCIE0PHY_PHY_BCR>; 17618a5bf00SNitheesh Sekar 17718a5bf00SNitheesh Sekar #clock-cells = <0>; 17818a5bf00SNitheesh Sekar #phy-cells = <0>; 17918a5bf00SNitheesh Sekar 18018a5bf00SNitheesh Sekar num-lanes = <2>; 18118a5bf00SNitheesh Sekar 18218a5bf00SNitheesh Sekar status = "disabled"; 18318a5bf00SNitheesh Sekar }; 18418a5bf00SNitheesh Sekar 18557000675SSricharan Ramabadhran tlmm: pinctrl@1000000 { 18657000675SSricharan Ramabadhran compatible = "qcom,ipq5018-tlmm"; 18757000675SSricharan Ramabadhran reg = <0x01000000 0x300000>; 18857000675SSricharan Ramabadhran interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>; 18957000675SSricharan Ramabadhran gpio-controller; 19057000675SSricharan Ramabadhran #gpio-cells = <2>; 19157000675SSricharan Ramabadhran gpio-ranges = <&tlmm 0 0 47>; 19257000675SSricharan Ramabadhran interrupt-controller; 19357000675SSricharan Ramabadhran #interrupt-cells = <2>; 19457000675SSricharan Ramabadhran 19557000675SSricharan Ramabadhran uart1_pins: uart1-state { 19657000675SSricharan Ramabadhran pins = "gpio31", "gpio32", "gpio33", "gpio34"; 19757000675SSricharan Ramabadhran function = "blsp1_uart1"; 19857000675SSricharan Ramabadhran drive-strength = <8>; 19957000675SSricharan Ramabadhran bias-pull-down; 20057000675SSricharan Ramabadhran }; 20157000675SSricharan Ramabadhran }; 20257000675SSricharan Ramabadhran 20357000675SSricharan Ramabadhran gcc: clock-controller@1800000 { 20457000675SSricharan Ramabadhran compatible = "qcom,gcc-ipq5018"; 20557000675SSricharan Ramabadhran reg = <0x01800000 0x80000>; 20657000675SSricharan Ramabadhran clocks = <&xo_board_clk>, 20757000675SSricharan Ramabadhran <&sleep_clk>, 20818a5bf00SNitheesh Sekar <&pcie0_phy>, 20918a5bf00SNitheesh Sekar <&pcie1_phy>, 21057000675SSricharan Ramabadhran <0>, 21157000675SSricharan Ramabadhran <0>, 21257000675SSricharan Ramabadhran <0>, 21357000675SSricharan Ramabadhran <0>, 21457000675SSricharan Ramabadhran <0>; 21557000675SSricharan Ramabadhran #clock-cells = <1>; 21657000675SSricharan Ramabadhran #reset-cells = <1>; 21757000675SSricharan Ramabadhran }; 21857000675SSricharan Ramabadhran 219a427dd16SKathiravan Thirumoorthy tcsr_mutex: hwlock@1905000 { 220a427dd16SKathiravan Thirumoorthy compatible = "qcom,tcsr-mutex"; 221a427dd16SKathiravan Thirumoorthy reg = <0x01905000 0x20000>; 222a427dd16SKathiravan Thirumoorthy #hwlock-cells = <1>; 223a427dd16SKathiravan Thirumoorthy }; 224a427dd16SKathiravan Thirumoorthy 225*43fefd6cSGeorge Moussalem tcsr: syscon@1937000 { 226*43fefd6cSGeorge Moussalem compatible = "qcom,tcsr-ipq5018", "syscon"; 227*43fefd6cSGeorge Moussalem reg = <0x01937000 0x21000>; 228*43fefd6cSGeorge Moussalem }; 229*43fefd6cSGeorge Moussalem 23057000675SSricharan Ramabadhran sdhc_1: mmc@7804000 { 23157000675SSricharan Ramabadhran compatible = "qcom,ipq5018-sdhci", "qcom,sdhci-msm-v5"; 23257000675SSricharan Ramabadhran reg = <0x7804000 0x1000>; 23357000675SSricharan Ramabadhran reg-names = "hc"; 23457000675SSricharan Ramabadhran 23557000675SSricharan Ramabadhran interrupts = <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>, 23657000675SSricharan Ramabadhran <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>; 23757000675SSricharan Ramabadhran interrupt-names = "hc_irq", "pwr_irq"; 23857000675SSricharan Ramabadhran 23957000675SSricharan Ramabadhran clocks = <&gcc GCC_SDCC1_AHB_CLK>, 24057000675SSricharan Ramabadhran <&gcc GCC_SDCC1_APPS_CLK>, 24157000675SSricharan Ramabadhran <&xo_board_clk>; 24257000675SSricharan Ramabadhran clock-names = "iface", "core", "xo"; 24357000675SSricharan Ramabadhran non-removable; 24457000675SSricharan Ramabadhran status = "disabled"; 24557000675SSricharan Ramabadhran }; 24657000675SSricharan Ramabadhran 247a1f42e08SRobert Marko blsp_dma: dma-controller@7884000 { 248a1f42e08SRobert Marko compatible = "qcom,bam-v1.7.0"; 249a1f42e08SRobert Marko reg = <0x07884000 0x1d000>; 250a1f42e08SRobert Marko interrupts = <GIC_SPI 238 IRQ_TYPE_LEVEL_HIGH>; 251a1f42e08SRobert Marko clocks = <&gcc GCC_BLSP1_AHB_CLK>; 252a1f42e08SRobert Marko clock-names = "bam_clk"; 253a1f42e08SRobert Marko #dma-cells = <1>; 254a1f42e08SRobert Marko qcom,ee = <0>; 255a1f42e08SRobert Marko }; 256a1f42e08SRobert Marko 25757000675SSricharan Ramabadhran blsp1_uart1: serial@78af000 { 25857000675SSricharan Ramabadhran compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm"; 25957000675SSricharan Ramabadhran reg = <0x078af000 0x200>; 26057000675SSricharan Ramabadhran interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>; 26157000675SSricharan Ramabadhran clocks = <&gcc GCC_BLSP1_UART1_APPS_CLK>, 26257000675SSricharan Ramabadhran <&gcc GCC_BLSP1_AHB_CLK>; 26357000675SSricharan Ramabadhran clock-names = "core", "iface"; 26457000675SSricharan Ramabadhran status = "disabled"; 26557000675SSricharan Ramabadhran }; 26657000675SSricharan Ramabadhran 267a1f42e08SRobert Marko blsp1_spi1: spi@78b5000 { 268a1f42e08SRobert Marko compatible = "qcom,spi-qup-v2.2.1"; 269a1f42e08SRobert Marko #address-cells = <1>; 270a1f42e08SRobert Marko #size-cells = <0>; 271a1f42e08SRobert Marko reg = <0x078b5000 0x600>; 272a1f42e08SRobert Marko interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>; 273a1f42e08SRobert Marko clocks = <&gcc GCC_BLSP1_QUP1_SPI_APPS_CLK>, 274a1f42e08SRobert Marko <&gcc GCC_BLSP1_AHB_CLK>; 275a1f42e08SRobert Marko clock-names = "core", "iface"; 276a1f42e08SRobert Marko dmas = <&blsp_dma 4>, <&blsp_dma 5>; 277a1f42e08SRobert Marko dma-names = "tx", "rx"; 278a1f42e08SRobert Marko status = "disabled"; 279a1f42e08SRobert Marko }; 280a1f42e08SRobert Marko 281e7166f27SNitheesh Sekar usb: usb@8af8800 { 282e7166f27SNitheesh Sekar compatible = "qcom,ipq5018-dwc3", "qcom,dwc3"; 283e7166f27SNitheesh Sekar reg = <0x08af8800 0x400>; 284e7166f27SNitheesh Sekar 285e7166f27SNitheesh Sekar interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>; 286e7166f27SNitheesh Sekar interrupt-names = "hs_phy_irq"; 287e7166f27SNitheesh Sekar 288e7166f27SNitheesh Sekar clocks = <&gcc GCC_USB0_MASTER_CLK>, 289e7166f27SNitheesh Sekar <&gcc GCC_SYS_NOC_USB0_AXI_CLK>, 290e7166f27SNitheesh Sekar <&gcc GCC_USB0_SLEEP_CLK>, 291e7166f27SNitheesh Sekar <&gcc GCC_USB0_MOCK_UTMI_CLK>; 292e7166f27SNitheesh Sekar clock-names = "core", 293e7166f27SNitheesh Sekar "iface", 294e7166f27SNitheesh Sekar "sleep", 295e7166f27SNitheesh Sekar "mock_utmi"; 296e7166f27SNitheesh Sekar 297e7166f27SNitheesh Sekar resets = <&gcc GCC_USB0_BCR>; 298e7166f27SNitheesh Sekar 299e7166f27SNitheesh Sekar qcom,select-utmi-as-pipe-clk; 300e7166f27SNitheesh Sekar #address-cells = <1>; 301e7166f27SNitheesh Sekar #size-cells = <1>; 302e7166f27SNitheesh Sekar ranges; 303e7166f27SNitheesh Sekar 304e7166f27SNitheesh Sekar status = "disabled"; 305e7166f27SNitheesh Sekar 306e7166f27SNitheesh Sekar usb_dwc: usb@8a00000 { 307e7166f27SNitheesh Sekar compatible = "snps,dwc3"; 308e7166f27SNitheesh Sekar reg = <0x08a00000 0xe000>; 309e7166f27SNitheesh Sekar clocks = <&gcc GCC_USB0_MOCK_UTMI_CLK>; 310e7166f27SNitheesh Sekar clock-names = "ref"; 311e7166f27SNitheesh Sekar interrupts = <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>; 312e7166f27SNitheesh Sekar phy-names = "usb2-phy"; 313e7166f27SNitheesh Sekar phys = <&usbphy0>; 314e7166f27SNitheesh Sekar tx-fifo-resize; 315e7166f27SNitheesh Sekar snps,is-utmi-l1-suspend; 316e7166f27SNitheesh Sekar snps,hird-threshold = /bits/ 8 <0x0>; 317e7166f27SNitheesh Sekar snps,dis_u2_susphy_quirk; 318e7166f27SNitheesh Sekar snps,dis_u3_susphy_quirk; 319e7166f27SNitheesh Sekar }; 320e7166f27SNitheesh Sekar }; 321e7166f27SNitheesh Sekar 32257000675SSricharan Ramabadhran intc: interrupt-controller@b000000 { 32357000675SSricharan Ramabadhran compatible = "qcom,msm-qgic2"; 32457000675SSricharan Ramabadhran reg = <0x0b000000 0x1000>, /* GICD */ 32557000675SSricharan Ramabadhran <0x0b002000 0x2000>, /* GICC */ 32657000675SSricharan Ramabadhran <0x0b001000 0x1000>, /* GICH */ 32757000675SSricharan Ramabadhran <0x0b004000 0x2000>; /* GICV */ 32857000675SSricharan Ramabadhran interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>; 32957000675SSricharan Ramabadhran interrupt-controller; 33057000675SSricharan Ramabadhran #interrupt-cells = <3>; 33157000675SSricharan Ramabadhran #address-cells = <1>; 33257000675SSricharan Ramabadhran #size-cells = <1>; 33357000675SSricharan Ramabadhran ranges = <0 0x0b00a000 0x1ffa>; 33457000675SSricharan Ramabadhran 33557000675SSricharan Ramabadhran v2m0: v2m@0 { 33657000675SSricharan Ramabadhran compatible = "arm,gic-v2m-frame"; 33757000675SSricharan Ramabadhran reg = <0x00000000 0xff8>; 33857000675SSricharan Ramabadhran msi-controller; 33957000675SSricharan Ramabadhran }; 34057000675SSricharan Ramabadhran 34157000675SSricharan Ramabadhran v2m1: v2m@1000 { 34257000675SSricharan Ramabadhran compatible = "arm,gic-v2m-frame"; 34357000675SSricharan Ramabadhran reg = <0x00001000 0xff8>; 34457000675SSricharan Ramabadhran msi-controller; 34557000675SSricharan Ramabadhran }; 34657000675SSricharan Ramabadhran }; 34757000675SSricharan Ramabadhran 3489cbaee83SRobert Marko watchdog: watchdog@b017000 { 3499cbaee83SRobert Marko compatible = "qcom,apss-wdt-ipq5018", "qcom,kpss-wdt"; 3509cbaee83SRobert Marko reg = <0x0b017000 0x40>; 3519cbaee83SRobert Marko interrupts = <GIC_SPI 3 IRQ_TYPE_EDGE_RISING>; 3529cbaee83SRobert Marko clocks = <&sleep_clk>; 3539cbaee83SRobert Marko }; 3549cbaee83SRobert Marko 3553e4b53e0SGokul Sriram Palanisamy apcs_glb: mailbox@b111000 { 3563e4b53e0SGokul Sriram Palanisamy compatible = "qcom,ipq5018-apcs-apps-global", 3573e4b53e0SGokul Sriram Palanisamy "qcom,ipq6018-apcs-apps-global"; 3583e4b53e0SGokul Sriram Palanisamy reg = <0x0b111000 0x1000>; 3593e4b53e0SGokul Sriram Palanisamy #clock-cells = <1>; 3603e4b53e0SGokul Sriram Palanisamy clocks = <&a53pll>, <&xo_board_clk>, <&gcc GPLL0>; 3613e4b53e0SGokul Sriram Palanisamy clock-names = "pll", "xo", "gpll0"; 3623e4b53e0SGokul Sriram Palanisamy #mbox-cells = <1>; 3633e4b53e0SGokul Sriram Palanisamy }; 3643e4b53e0SGokul Sriram Palanisamy 3653e4b53e0SGokul Sriram Palanisamy a53pll: clock@b116000 { 3663e4b53e0SGokul Sriram Palanisamy compatible = "qcom,ipq5018-a53pll"; 3673e4b53e0SGokul Sriram Palanisamy reg = <0x0b116000 0x40>; 3683e4b53e0SGokul Sriram Palanisamy #clock-cells = <0>; 3693e4b53e0SGokul Sriram Palanisamy clocks = <&xo_board_clk>; 3703e4b53e0SGokul Sriram Palanisamy clock-names = "xo"; 3713e4b53e0SGokul Sriram Palanisamy }; 3723e4b53e0SGokul Sriram Palanisamy 37357000675SSricharan Ramabadhran timer@b120000 { 37457000675SSricharan Ramabadhran compatible = "arm,armv7-timer-mem"; 37557000675SSricharan Ramabadhran reg = <0x0b120000 0x1000>; 37657000675SSricharan Ramabadhran #address-cells = <1>; 37757000675SSricharan Ramabadhran #size-cells = <1>; 37857000675SSricharan Ramabadhran ranges; 37957000675SSricharan Ramabadhran 38057000675SSricharan Ramabadhran frame@b120000 { 38157000675SSricharan Ramabadhran reg = <0x0b121000 0x1000>, 38257000675SSricharan Ramabadhran <0x0b122000 0x1000>; 38357000675SSricharan Ramabadhran interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>, 38457000675SSricharan Ramabadhran <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>; 38557000675SSricharan Ramabadhran frame-number = <0>; 38657000675SSricharan Ramabadhran }; 38757000675SSricharan Ramabadhran 38857000675SSricharan Ramabadhran frame@b123000 { 38957000675SSricharan Ramabadhran reg = <0xb123000 0x1000>; 39057000675SSricharan Ramabadhran interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>; 39157000675SSricharan Ramabadhran frame-number = <1>; 39257000675SSricharan Ramabadhran status = "disabled"; 39357000675SSricharan Ramabadhran }; 39457000675SSricharan Ramabadhran 39557000675SSricharan Ramabadhran frame@b124000 { 39657000675SSricharan Ramabadhran frame-number = <2>; 39757000675SSricharan Ramabadhran interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>; 39857000675SSricharan Ramabadhran reg = <0x0b124000 0x1000>; 39957000675SSricharan Ramabadhran status = "disabled"; 40057000675SSricharan Ramabadhran }; 40157000675SSricharan Ramabadhran 40257000675SSricharan Ramabadhran frame@b125000 { 40357000675SSricharan Ramabadhran reg = <0x0b125000 0x1000>; 40457000675SSricharan Ramabadhran interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>; 40557000675SSricharan Ramabadhran frame-number = <3>; 40657000675SSricharan Ramabadhran status = "disabled"; 40757000675SSricharan Ramabadhran }; 40857000675SSricharan Ramabadhran 40957000675SSricharan Ramabadhran frame@b126000 { 41057000675SSricharan Ramabadhran reg = <0x0b126000 0x1000>; 41157000675SSricharan Ramabadhran interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>; 41257000675SSricharan Ramabadhran frame-number = <4>; 41357000675SSricharan Ramabadhran status = "disabled"; 41457000675SSricharan Ramabadhran }; 41557000675SSricharan Ramabadhran 41657000675SSricharan Ramabadhran frame@b127000 { 41757000675SSricharan Ramabadhran reg = <0x0b127000 0x1000>; 41857000675SSricharan Ramabadhran interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>; 41957000675SSricharan Ramabadhran frame-number = <5>; 42057000675SSricharan Ramabadhran status = "disabled"; 42157000675SSricharan Ramabadhran }; 42257000675SSricharan Ramabadhran 42357000675SSricharan Ramabadhran frame@b128000 { 42457000675SSricharan Ramabadhran reg = <0x0b128000 0x1000>; 42557000675SSricharan Ramabadhran interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>; 42657000675SSricharan Ramabadhran frame-number = <6>; 42757000675SSricharan Ramabadhran status = "disabled"; 42857000675SSricharan Ramabadhran }; 42957000675SSricharan Ramabadhran }; 43018a5bf00SNitheesh Sekar 43118a5bf00SNitheesh Sekar pcie1: pcie@80000000 { 43218a5bf00SNitheesh Sekar compatible = "qcom,pcie-ipq5018"; 43318a5bf00SNitheesh Sekar reg = <0x80000000 0xf1d>, 43418a5bf00SNitheesh Sekar <0x80000f20 0xa8>, 43518a5bf00SNitheesh Sekar <0x80001000 0x1000>, 43618a5bf00SNitheesh Sekar <0x00078000 0x3000>, 43718a5bf00SNitheesh Sekar <0x80100000 0x1000>, 43818a5bf00SNitheesh Sekar <0x0007b000 0x1000>; 43918a5bf00SNitheesh Sekar reg-names = "dbi", 44018a5bf00SNitheesh Sekar "elbi", 44118a5bf00SNitheesh Sekar "atu", 44218a5bf00SNitheesh Sekar "parf", 44318a5bf00SNitheesh Sekar "config", 44418a5bf00SNitheesh Sekar "mhi"; 44518a5bf00SNitheesh Sekar device_type = "pci"; 44618a5bf00SNitheesh Sekar linux,pci-domain = <1>; 44718a5bf00SNitheesh Sekar bus-range = <0x00 0xff>; 44818a5bf00SNitheesh Sekar num-lanes = <1>; 44918a5bf00SNitheesh Sekar #address-cells = <3>; 45018a5bf00SNitheesh Sekar #size-cells = <2>; 45118a5bf00SNitheesh Sekar 45218a5bf00SNitheesh Sekar /* The controller supports Gen3, but the connected PHY is Gen2-capable */ 45318a5bf00SNitheesh Sekar max-link-speed = <2>; 45418a5bf00SNitheesh Sekar 45518a5bf00SNitheesh Sekar phys = <&pcie1_phy>; 45618a5bf00SNitheesh Sekar phy-names ="pciephy"; 45718a5bf00SNitheesh Sekar 45818a5bf00SNitheesh Sekar ranges = <0x01000000 0 0x00000000 0x80200000 0 0x00100000>, 45918a5bf00SNitheesh Sekar <0x02000000 0 0x80300000 0x80300000 0 0x10000000>; 46018a5bf00SNitheesh Sekar 46118a5bf00SNitheesh Sekar msi-map = <0x0 &v2m0 0x0 0xff8>; 46218a5bf00SNitheesh Sekar 46318a5bf00SNitheesh Sekar interrupts = <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>, 46418a5bf00SNitheesh Sekar <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>, 46518a5bf00SNitheesh Sekar <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>, 46618a5bf00SNitheesh Sekar <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>, 46718a5bf00SNitheesh Sekar <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>, 46818a5bf00SNitheesh Sekar <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>, 46918a5bf00SNitheesh Sekar <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>, 47018a5bf00SNitheesh Sekar <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>, 47118a5bf00SNitheesh Sekar <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>; 47218a5bf00SNitheesh Sekar interrupt-names = "msi0", 47318a5bf00SNitheesh Sekar "msi1", 47418a5bf00SNitheesh Sekar "msi2", 47518a5bf00SNitheesh Sekar "msi3", 47618a5bf00SNitheesh Sekar "msi4", 47718a5bf00SNitheesh Sekar "msi5", 47818a5bf00SNitheesh Sekar "msi6", 47918a5bf00SNitheesh Sekar "msi7", 48018a5bf00SNitheesh Sekar "global"; 48118a5bf00SNitheesh Sekar 48218a5bf00SNitheesh Sekar #interrupt-cells = <1>; 48318a5bf00SNitheesh Sekar interrupt-map-mask = <0 0 0 0x7>; 48418a5bf00SNitheesh Sekar interrupt-map = <0 0 0 1 &intc 0 0 142 IRQ_TYPE_LEVEL_HIGH>, 48518a5bf00SNitheesh Sekar <0 0 0 2 &intc 0 0 143 IRQ_TYPE_LEVEL_HIGH>, 48618a5bf00SNitheesh Sekar <0 0 0 3 &intc 0 0 144 IRQ_TYPE_LEVEL_HIGH>, 48718a5bf00SNitheesh Sekar <0 0 0 4 &intc 0 0 145 IRQ_TYPE_LEVEL_HIGH>; 48818a5bf00SNitheesh Sekar 48918a5bf00SNitheesh Sekar clocks = <&gcc GCC_SYS_NOC_PCIE1_AXI_CLK>, 49018a5bf00SNitheesh Sekar <&gcc GCC_PCIE1_AXI_M_CLK>, 49118a5bf00SNitheesh Sekar <&gcc GCC_PCIE1_AXI_S_CLK>, 49218a5bf00SNitheesh Sekar <&gcc GCC_PCIE1_AHB_CLK>, 49318a5bf00SNitheesh Sekar <&gcc GCC_PCIE1_AUX_CLK>, 49418a5bf00SNitheesh Sekar <&gcc GCC_PCIE1_AXI_S_BRIDGE_CLK>; 49518a5bf00SNitheesh Sekar clock-names = "iface", 49618a5bf00SNitheesh Sekar "axi_m", 49718a5bf00SNitheesh Sekar "axi_s", 49818a5bf00SNitheesh Sekar "ahb", 49918a5bf00SNitheesh Sekar "aux", 50018a5bf00SNitheesh Sekar "axi_bridge"; 50118a5bf00SNitheesh Sekar 50218a5bf00SNitheesh Sekar resets = <&gcc GCC_PCIE1_PIPE_ARES>, 50318a5bf00SNitheesh Sekar <&gcc GCC_PCIE1_SLEEP_ARES>, 50418a5bf00SNitheesh Sekar <&gcc GCC_PCIE1_CORE_STICKY_ARES>, 50518a5bf00SNitheesh Sekar <&gcc GCC_PCIE1_AXI_MASTER_ARES>, 50618a5bf00SNitheesh Sekar <&gcc GCC_PCIE1_AXI_SLAVE_ARES>, 50718a5bf00SNitheesh Sekar <&gcc GCC_PCIE1_AHB_ARES>, 50818a5bf00SNitheesh Sekar <&gcc GCC_PCIE1_AXI_MASTER_STICKY_ARES>, 50918a5bf00SNitheesh Sekar <&gcc GCC_PCIE1_AXI_SLAVE_STICKY_ARES>; 51018a5bf00SNitheesh Sekar reset-names = "pipe", 51118a5bf00SNitheesh Sekar "sleep", 51218a5bf00SNitheesh Sekar "sticky", 51318a5bf00SNitheesh Sekar "axi_m", 51418a5bf00SNitheesh Sekar "axi_s", 51518a5bf00SNitheesh Sekar "ahb", 51618a5bf00SNitheesh Sekar "axi_m_sticky", 51718a5bf00SNitheesh Sekar "axi_s_sticky"; 51818a5bf00SNitheesh Sekar 51918a5bf00SNitheesh Sekar status = "disabled"; 52018a5bf00SNitheesh Sekar 52118a5bf00SNitheesh Sekar pcie@0 { 52218a5bf00SNitheesh Sekar device_type = "pci"; 52318a5bf00SNitheesh Sekar reg = <0x0 0x0 0x0 0x0 0x0>; 52418a5bf00SNitheesh Sekar bus-range = <0x01 0xff>; 52518a5bf00SNitheesh Sekar 52618a5bf00SNitheesh Sekar #address-cells = <3>; 52718a5bf00SNitheesh Sekar #size-cells = <2>; 52818a5bf00SNitheesh Sekar ranges; 52918a5bf00SNitheesh Sekar }; 53018a5bf00SNitheesh Sekar }; 53118a5bf00SNitheesh Sekar 53218a5bf00SNitheesh Sekar pcie0: pcie@a0000000 { 53318a5bf00SNitheesh Sekar compatible = "qcom,pcie-ipq5018"; 53418a5bf00SNitheesh Sekar reg = <0xa0000000 0xf1d>, 53518a5bf00SNitheesh Sekar <0xa0000f20 0xa8>, 53618a5bf00SNitheesh Sekar <0xa0001000 0x1000>, 53718a5bf00SNitheesh Sekar <0x00080000 0x3000>, 53818a5bf00SNitheesh Sekar <0xa0100000 0x1000>, 53918a5bf00SNitheesh Sekar <0x00083000 0x1000>; 54018a5bf00SNitheesh Sekar reg-names = "dbi", 54118a5bf00SNitheesh Sekar "elbi", 54218a5bf00SNitheesh Sekar "atu", 54318a5bf00SNitheesh Sekar "parf", 54418a5bf00SNitheesh Sekar "config", 54518a5bf00SNitheesh Sekar "mhi"; 54618a5bf00SNitheesh Sekar device_type = "pci"; 54718a5bf00SNitheesh Sekar linux,pci-domain = <0>; 54818a5bf00SNitheesh Sekar bus-range = <0x00 0xff>; 54918a5bf00SNitheesh Sekar num-lanes = <2>; 55018a5bf00SNitheesh Sekar #address-cells = <3>; 55118a5bf00SNitheesh Sekar #size-cells = <2>; 55218a5bf00SNitheesh Sekar 55318a5bf00SNitheesh Sekar /* The controller supports Gen3, but the connected PHY is Gen2-capable */ 55418a5bf00SNitheesh Sekar max-link-speed = <2>; 55518a5bf00SNitheesh Sekar 55618a5bf00SNitheesh Sekar phys = <&pcie0_phy>; 55718a5bf00SNitheesh Sekar phy-names ="pciephy"; 55818a5bf00SNitheesh Sekar 55918a5bf00SNitheesh Sekar ranges = <0x01000000 0 0x00000000 0xa0200000 0 0x00100000>, 56018a5bf00SNitheesh Sekar <0x02000000 0 0xa0300000 0xa0300000 0 0x10000000>; 56118a5bf00SNitheesh Sekar 56218a5bf00SNitheesh Sekar msi-map = <0x0 &v2m0 0x0 0xff8>; 56318a5bf00SNitheesh Sekar 56418a5bf00SNitheesh Sekar interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>, 56518a5bf00SNitheesh Sekar <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>, 56618a5bf00SNitheesh Sekar <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>, 56718a5bf00SNitheesh Sekar <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>, 56818a5bf00SNitheesh Sekar <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>, 56918a5bf00SNitheesh Sekar <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>, 57018a5bf00SNitheesh Sekar <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>, 57118a5bf00SNitheesh Sekar <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>, 57218a5bf00SNitheesh Sekar <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>; 57318a5bf00SNitheesh Sekar interrupt-names = "msi0", 57418a5bf00SNitheesh Sekar "msi1", 57518a5bf00SNitheesh Sekar "msi2", 57618a5bf00SNitheesh Sekar "msi3", 57718a5bf00SNitheesh Sekar "msi4", 57818a5bf00SNitheesh Sekar "msi5", 57918a5bf00SNitheesh Sekar "msi6", 58018a5bf00SNitheesh Sekar "msi7", 58118a5bf00SNitheesh Sekar "global"; 58218a5bf00SNitheesh Sekar 58318a5bf00SNitheesh Sekar #interrupt-cells = <1>; 58418a5bf00SNitheesh Sekar interrupt-map-mask = <0 0 0 0x7>; 58518a5bf00SNitheesh Sekar interrupt-map = <0 0 0 1 &intc 0 0 75 IRQ_TYPE_LEVEL_HIGH>, 58618a5bf00SNitheesh Sekar <0 0 0 2 &intc 0 0 78 IRQ_TYPE_LEVEL_HIGH>, 58718a5bf00SNitheesh Sekar <0 0 0 3 &intc 0 0 79 IRQ_TYPE_LEVEL_HIGH>, 58818a5bf00SNitheesh Sekar <0 0 0 4 &intc 0 0 83 IRQ_TYPE_LEVEL_HIGH>; 58918a5bf00SNitheesh Sekar 59018a5bf00SNitheesh Sekar clocks = <&gcc GCC_SYS_NOC_PCIE0_AXI_CLK>, 59118a5bf00SNitheesh Sekar <&gcc GCC_PCIE0_AXI_M_CLK>, 59218a5bf00SNitheesh Sekar <&gcc GCC_PCIE0_AXI_S_CLK>, 59318a5bf00SNitheesh Sekar <&gcc GCC_PCIE0_AHB_CLK>, 59418a5bf00SNitheesh Sekar <&gcc GCC_PCIE0_AUX_CLK>, 59518a5bf00SNitheesh Sekar <&gcc GCC_PCIE0_AXI_S_BRIDGE_CLK>; 59618a5bf00SNitheesh Sekar clock-names = "iface", 59718a5bf00SNitheesh Sekar "axi_m", 59818a5bf00SNitheesh Sekar "axi_s", 59918a5bf00SNitheesh Sekar "ahb", 60018a5bf00SNitheesh Sekar "aux", 60118a5bf00SNitheesh Sekar "axi_bridge"; 60218a5bf00SNitheesh Sekar 60318a5bf00SNitheesh Sekar resets = <&gcc GCC_PCIE0_PIPE_ARES>, 60418a5bf00SNitheesh Sekar <&gcc GCC_PCIE0_SLEEP_ARES>, 60518a5bf00SNitheesh Sekar <&gcc GCC_PCIE0_CORE_STICKY_ARES>, 60618a5bf00SNitheesh Sekar <&gcc GCC_PCIE0_AXI_MASTER_ARES>, 60718a5bf00SNitheesh Sekar <&gcc GCC_PCIE0_AXI_SLAVE_ARES>, 60818a5bf00SNitheesh Sekar <&gcc GCC_PCIE0_AHB_ARES>, 60918a5bf00SNitheesh Sekar <&gcc GCC_PCIE0_AXI_MASTER_STICKY_ARES>, 61018a5bf00SNitheesh Sekar <&gcc GCC_PCIE0_AXI_SLAVE_STICKY_ARES>; 61118a5bf00SNitheesh Sekar reset-names = "pipe", 61218a5bf00SNitheesh Sekar "sleep", 61318a5bf00SNitheesh Sekar "sticky", 61418a5bf00SNitheesh Sekar "axi_m", 61518a5bf00SNitheesh Sekar "axi_s", 61618a5bf00SNitheesh Sekar "ahb", 61718a5bf00SNitheesh Sekar "axi_m_sticky", 61818a5bf00SNitheesh Sekar "axi_s_sticky"; 61918a5bf00SNitheesh Sekar 62018a5bf00SNitheesh Sekar status = "disabled"; 62118a5bf00SNitheesh Sekar 62218a5bf00SNitheesh Sekar pcie@0 { 62318a5bf00SNitheesh Sekar device_type = "pci"; 62418a5bf00SNitheesh Sekar reg = <0x0 0x0 0x0 0x0 0x0>; 62518a5bf00SNitheesh Sekar bus-range = <0x01 0xff>; 62618a5bf00SNitheesh Sekar 62718a5bf00SNitheesh Sekar #address-cells = <3>; 62818a5bf00SNitheesh Sekar #size-cells = <2>; 62918a5bf00SNitheesh Sekar ranges; 63018a5bf00SNitheesh Sekar }; 63118a5bf00SNitheesh Sekar }; 63257000675SSricharan Ramabadhran }; 63357000675SSricharan Ramabadhran 63457000675SSricharan Ramabadhran timer { 63557000675SSricharan Ramabadhran compatible = "arm,armv8-timer"; 63657000675SSricharan Ramabadhran interrupts = <GIC_PPI 2 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 63757000675SSricharan Ramabadhran <GIC_PPI 3 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 63857000675SSricharan Ramabadhran <GIC_PPI 4 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 63957000675SSricharan Ramabadhran <GIC_PPI 1 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>; 64057000675SSricharan Ramabadhran }; 64157000675SSricharan Ramabadhran}; 642