1*4882a593Smuzhiyun// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause) 2*4882a593Smuzhiyun/* 3*4882a593Smuzhiyun * IPQ6018 SoC device tree source 4*4882a593Smuzhiyun * 5*4882a593Smuzhiyun * Copyright (c) 2019, The Linux Foundation. All rights reserved. 6*4882a593Smuzhiyun */ 7*4882a593Smuzhiyun 8*4882a593Smuzhiyun#include <dt-bindings/interrupt-controller/arm-gic.h> 9*4882a593Smuzhiyun#include <dt-bindings/clock/qcom,gcc-ipq6018.h> 10*4882a593Smuzhiyun#include <dt-bindings/reset/qcom,gcc-ipq6018.h> 11*4882a593Smuzhiyun#include <dt-bindings/clock/qcom,apss-ipq.h> 12*4882a593Smuzhiyun 13*4882a593Smuzhiyun/ { 14*4882a593Smuzhiyun #address-cells = <2>; 15*4882a593Smuzhiyun #size-cells = <2>; 16*4882a593Smuzhiyun interrupt-parent = <&intc>; 17*4882a593Smuzhiyun 18*4882a593Smuzhiyun clocks { 19*4882a593Smuzhiyun sleep_clk: sleep-clk { 20*4882a593Smuzhiyun compatible = "fixed-clock"; 21*4882a593Smuzhiyun clock-frequency = <32000>; 22*4882a593Smuzhiyun #clock-cells = <0>; 23*4882a593Smuzhiyun }; 24*4882a593Smuzhiyun 25*4882a593Smuzhiyun xo: xo { 26*4882a593Smuzhiyun compatible = "fixed-clock"; 27*4882a593Smuzhiyun clock-frequency = <24000000>; 28*4882a593Smuzhiyun #clock-cells = <0>; 29*4882a593Smuzhiyun }; 30*4882a593Smuzhiyun }; 31*4882a593Smuzhiyun 32*4882a593Smuzhiyun cpus: cpus { 33*4882a593Smuzhiyun #address-cells = <1>; 34*4882a593Smuzhiyun #size-cells = <0>; 35*4882a593Smuzhiyun 36*4882a593Smuzhiyun CPU0: cpu@0 { 37*4882a593Smuzhiyun device_type = "cpu"; 38*4882a593Smuzhiyun compatible = "arm,cortex-a53"; 39*4882a593Smuzhiyun reg = <0x0>; 40*4882a593Smuzhiyun enable-method = "psci"; 41*4882a593Smuzhiyun next-level-cache = <&L2_0>; 42*4882a593Smuzhiyun clocks = <&apcs_glb APCS_ALIAS0_CORE_CLK>; 43*4882a593Smuzhiyun clock-names = "cpu"; 44*4882a593Smuzhiyun operating-points-v2 = <&cpu_opp_table>; 45*4882a593Smuzhiyun cpu-supply = <&ipq6018_s2>; 46*4882a593Smuzhiyun }; 47*4882a593Smuzhiyun 48*4882a593Smuzhiyun CPU1: cpu@1 { 49*4882a593Smuzhiyun device_type = "cpu"; 50*4882a593Smuzhiyun compatible = "arm,cortex-a53"; 51*4882a593Smuzhiyun enable-method = "psci"; 52*4882a593Smuzhiyun reg = <0x1>; 53*4882a593Smuzhiyun next-level-cache = <&L2_0>; 54*4882a593Smuzhiyun clocks = <&apcs_glb APCS_ALIAS0_CORE_CLK>; 55*4882a593Smuzhiyun clock-names = "cpu"; 56*4882a593Smuzhiyun operating-points-v2 = <&cpu_opp_table>; 57*4882a593Smuzhiyun cpu-supply = <&ipq6018_s2>; 58*4882a593Smuzhiyun }; 59*4882a593Smuzhiyun 60*4882a593Smuzhiyun CPU2: cpu@2 { 61*4882a593Smuzhiyun device_type = "cpu"; 62*4882a593Smuzhiyun compatible = "arm,cortex-a53"; 63*4882a593Smuzhiyun enable-method = "psci"; 64*4882a593Smuzhiyun reg = <0x2>; 65*4882a593Smuzhiyun next-level-cache = <&L2_0>; 66*4882a593Smuzhiyun clocks = <&apcs_glb APCS_ALIAS0_CORE_CLK>; 67*4882a593Smuzhiyun clock-names = "cpu"; 68*4882a593Smuzhiyun operating-points-v2 = <&cpu_opp_table>; 69*4882a593Smuzhiyun cpu-supply = <&ipq6018_s2>; 70*4882a593Smuzhiyun }; 71*4882a593Smuzhiyun 72*4882a593Smuzhiyun CPU3: cpu@3 { 73*4882a593Smuzhiyun device_type = "cpu"; 74*4882a593Smuzhiyun compatible = "arm,cortex-a53"; 75*4882a593Smuzhiyun enable-method = "psci"; 76*4882a593Smuzhiyun reg = <0x3>; 77*4882a593Smuzhiyun next-level-cache = <&L2_0>; 78*4882a593Smuzhiyun clocks = <&apcs_glb APCS_ALIAS0_CORE_CLK>; 79*4882a593Smuzhiyun clock-names = "cpu"; 80*4882a593Smuzhiyun operating-points-v2 = <&cpu_opp_table>; 81*4882a593Smuzhiyun cpu-supply = <&ipq6018_s2>; 82*4882a593Smuzhiyun }; 83*4882a593Smuzhiyun 84*4882a593Smuzhiyun L2_0: l2-cache { 85*4882a593Smuzhiyun compatible = "cache"; 86*4882a593Smuzhiyun cache-level = <0x2>; 87*4882a593Smuzhiyun }; 88*4882a593Smuzhiyun }; 89*4882a593Smuzhiyun 90*4882a593Smuzhiyun cpu_opp_table: cpu_opp_table { 91*4882a593Smuzhiyun compatible = "operating-points-v2"; 92*4882a593Smuzhiyun opp-shared; 93*4882a593Smuzhiyun 94*4882a593Smuzhiyun opp-864000000 { 95*4882a593Smuzhiyun opp-hz = /bits/ 64 <864000000>; 96*4882a593Smuzhiyun opp-microvolt = <725000>; 97*4882a593Smuzhiyun clock-latency-ns = <200000>; 98*4882a593Smuzhiyun }; 99*4882a593Smuzhiyun opp-1056000000 { 100*4882a593Smuzhiyun opp-hz = /bits/ 64 <1056000000>; 101*4882a593Smuzhiyun opp-microvolt = <787500>; 102*4882a593Smuzhiyun clock-latency-ns = <200000>; 103*4882a593Smuzhiyun }; 104*4882a593Smuzhiyun opp-1320000000 { 105*4882a593Smuzhiyun opp-hz = /bits/ 64 <1320000000>; 106*4882a593Smuzhiyun opp-microvolt = <862500>; 107*4882a593Smuzhiyun clock-latency-ns = <200000>; 108*4882a593Smuzhiyun }; 109*4882a593Smuzhiyun opp-1440000000 { 110*4882a593Smuzhiyun opp-hz = /bits/ 64 <1440000000>; 111*4882a593Smuzhiyun opp-microvolt = <925000>; 112*4882a593Smuzhiyun clock-latency-ns = <200000>; 113*4882a593Smuzhiyun }; 114*4882a593Smuzhiyun opp-1608000000 { 115*4882a593Smuzhiyun opp-hz = /bits/ 64 <1608000000>; 116*4882a593Smuzhiyun opp-microvolt = <987500>; 117*4882a593Smuzhiyun clock-latency-ns = <200000>; 118*4882a593Smuzhiyun }; 119*4882a593Smuzhiyun opp-1800000000 { 120*4882a593Smuzhiyun opp-hz = /bits/ 64 <1800000000>; 121*4882a593Smuzhiyun opp-microvolt = <1062500>; 122*4882a593Smuzhiyun clock-latency-ns = <200000>; 123*4882a593Smuzhiyun }; 124*4882a593Smuzhiyun }; 125*4882a593Smuzhiyun 126*4882a593Smuzhiyun firmware { 127*4882a593Smuzhiyun scm { 128*4882a593Smuzhiyun compatible = "qcom,scm"; 129*4882a593Smuzhiyun }; 130*4882a593Smuzhiyun }; 131*4882a593Smuzhiyun 132*4882a593Smuzhiyun tcsr_mutex: hwlock { 133*4882a593Smuzhiyun compatible = "qcom,tcsr-mutex"; 134*4882a593Smuzhiyun syscon = <&tcsr_mutex_regs 0 0x80>; 135*4882a593Smuzhiyun #hwlock-cells = <1>; 136*4882a593Smuzhiyun }; 137*4882a593Smuzhiyun 138*4882a593Smuzhiyun pmuv8: pmu { 139*4882a593Smuzhiyun compatible = "arm,cortex-a53-pmu"; 140*4882a593Smuzhiyun interrupts = <GIC_PPI 7 (GIC_CPU_MASK_SIMPLE(4) | 141*4882a593Smuzhiyun IRQ_TYPE_LEVEL_HIGH)>; 142*4882a593Smuzhiyun }; 143*4882a593Smuzhiyun 144*4882a593Smuzhiyun psci: psci { 145*4882a593Smuzhiyun compatible = "arm,psci-1.0"; 146*4882a593Smuzhiyun method = "smc"; 147*4882a593Smuzhiyun }; 148*4882a593Smuzhiyun 149*4882a593Smuzhiyun reserved-memory { 150*4882a593Smuzhiyun #address-cells = <2>; 151*4882a593Smuzhiyun #size-cells = <2>; 152*4882a593Smuzhiyun ranges; 153*4882a593Smuzhiyun 154*4882a593Smuzhiyun rpm_msg_ram: memory@60000 { 155*4882a593Smuzhiyun reg = <0x0 0x60000 0x0 0x6000>; 156*4882a593Smuzhiyun no-map; 157*4882a593Smuzhiyun }; 158*4882a593Smuzhiyun 159*4882a593Smuzhiyun tz: memory@4a600000 { 160*4882a593Smuzhiyun reg = <0x0 0x4a600000 0x0 0x00400000>; 161*4882a593Smuzhiyun no-map; 162*4882a593Smuzhiyun }; 163*4882a593Smuzhiyun 164*4882a593Smuzhiyun smem_region: memory@4aa00000 { 165*4882a593Smuzhiyun reg = <0x0 0x4aa00000 0x0 0x00100000>; 166*4882a593Smuzhiyun no-map; 167*4882a593Smuzhiyun }; 168*4882a593Smuzhiyun 169*4882a593Smuzhiyun q6_region: memory@4ab00000 { 170*4882a593Smuzhiyun reg = <0x0 0x4ab00000 0x0 0x05500000>; 171*4882a593Smuzhiyun no-map; 172*4882a593Smuzhiyun }; 173*4882a593Smuzhiyun }; 174*4882a593Smuzhiyun 175*4882a593Smuzhiyun smem { 176*4882a593Smuzhiyun compatible = "qcom,smem"; 177*4882a593Smuzhiyun memory-region = <&smem_region>; 178*4882a593Smuzhiyun hwlocks = <&tcsr_mutex 0>; 179*4882a593Smuzhiyun }; 180*4882a593Smuzhiyun 181*4882a593Smuzhiyun soc: soc { 182*4882a593Smuzhiyun #address-cells = <2>; 183*4882a593Smuzhiyun #size-cells = <2>; 184*4882a593Smuzhiyun ranges = <0 0 0 0 0x0 0xffffffff>; 185*4882a593Smuzhiyun dma-ranges; 186*4882a593Smuzhiyun compatible = "simple-bus"; 187*4882a593Smuzhiyun 188*4882a593Smuzhiyun prng: qrng@e1000 { 189*4882a593Smuzhiyun compatible = "qcom,prng-ee"; 190*4882a593Smuzhiyun reg = <0x0 0xe3000 0x0 0x1000>; 191*4882a593Smuzhiyun clocks = <&gcc GCC_PRNG_AHB_CLK>; 192*4882a593Smuzhiyun clock-names = "core"; 193*4882a593Smuzhiyun }; 194*4882a593Smuzhiyun 195*4882a593Smuzhiyun cryptobam: dma@704000 { 196*4882a593Smuzhiyun compatible = "qcom,bam-v1.7.0"; 197*4882a593Smuzhiyun reg = <0x0 0x00704000 0x0 0x20000>; 198*4882a593Smuzhiyun interrupts = <GIC_SPI 207 IRQ_TYPE_LEVEL_HIGH>; 199*4882a593Smuzhiyun clocks = <&gcc GCC_CRYPTO_AHB_CLK>; 200*4882a593Smuzhiyun clock-names = "bam_clk"; 201*4882a593Smuzhiyun #dma-cells = <1>; 202*4882a593Smuzhiyun qcom,ee = <1>; 203*4882a593Smuzhiyun qcom,controlled-remotely; 204*4882a593Smuzhiyun qcom,config-pipe-trust-reg = <0>; 205*4882a593Smuzhiyun }; 206*4882a593Smuzhiyun 207*4882a593Smuzhiyun crypto: crypto@73a000 { 208*4882a593Smuzhiyun compatible = "qcom,crypto-v5.1"; 209*4882a593Smuzhiyun reg = <0x0 0x0073a000 0x0 0x6000>; 210*4882a593Smuzhiyun clocks = <&gcc GCC_CRYPTO_AHB_CLK>, 211*4882a593Smuzhiyun <&gcc GCC_CRYPTO_AXI_CLK>, 212*4882a593Smuzhiyun <&gcc GCC_CRYPTO_CLK>; 213*4882a593Smuzhiyun clock-names = "iface", "bus", "core"; 214*4882a593Smuzhiyun dmas = <&cryptobam 2>, <&cryptobam 3>; 215*4882a593Smuzhiyun dma-names = "rx", "tx"; 216*4882a593Smuzhiyun }; 217*4882a593Smuzhiyun 218*4882a593Smuzhiyun tlmm: pinctrl@1000000 { 219*4882a593Smuzhiyun compatible = "qcom,ipq6018-pinctrl"; 220*4882a593Smuzhiyun reg = <0x0 0x01000000 0x0 0x300000>; 221*4882a593Smuzhiyun interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>; 222*4882a593Smuzhiyun gpio-controller; 223*4882a593Smuzhiyun #gpio-cells = <2>; 224*4882a593Smuzhiyun gpio-ranges = <&tlmm 0 0 80>; 225*4882a593Smuzhiyun interrupt-controller; 226*4882a593Smuzhiyun #interrupt-cells = <2>; 227*4882a593Smuzhiyun 228*4882a593Smuzhiyun serial_3_pins: serial3-pinmux { 229*4882a593Smuzhiyun pins = "gpio44", "gpio45"; 230*4882a593Smuzhiyun function = "blsp2_uart"; 231*4882a593Smuzhiyun drive-strength = <8>; 232*4882a593Smuzhiyun bias-pull-down; 233*4882a593Smuzhiyun }; 234*4882a593Smuzhiyun }; 235*4882a593Smuzhiyun 236*4882a593Smuzhiyun gcc: gcc@1800000 { 237*4882a593Smuzhiyun compatible = "qcom,gcc-ipq6018"; 238*4882a593Smuzhiyun reg = <0x0 0x01800000 0x0 0x80000>; 239*4882a593Smuzhiyun clocks = <&xo>, <&sleep_clk>; 240*4882a593Smuzhiyun clock-names = "xo", "sleep_clk"; 241*4882a593Smuzhiyun #clock-cells = <1>; 242*4882a593Smuzhiyun #reset-cells = <1>; 243*4882a593Smuzhiyun }; 244*4882a593Smuzhiyun 245*4882a593Smuzhiyun tcsr_mutex_regs: syscon@1905000 { 246*4882a593Smuzhiyun compatible = "syscon"; 247*4882a593Smuzhiyun reg = <0x0 0x01905000 0x0 0x8000>; 248*4882a593Smuzhiyun }; 249*4882a593Smuzhiyun 250*4882a593Smuzhiyun tcsr_q6: syscon@1945000 { 251*4882a593Smuzhiyun compatible = "syscon"; 252*4882a593Smuzhiyun reg = <0x0 0x01945000 0x0 0xe000>; 253*4882a593Smuzhiyun }; 254*4882a593Smuzhiyun 255*4882a593Smuzhiyun blsp_dma: dma@7884000 { 256*4882a593Smuzhiyun compatible = "qcom,bam-v1.7.0"; 257*4882a593Smuzhiyun reg = <0x0 0x07884000 0x0 0x2b000>; 258*4882a593Smuzhiyun interrupts = <GIC_SPI 238 IRQ_TYPE_LEVEL_HIGH>; 259*4882a593Smuzhiyun clocks = <&gcc GCC_BLSP1_AHB_CLK>; 260*4882a593Smuzhiyun clock-names = "bam_clk"; 261*4882a593Smuzhiyun #dma-cells = <1>; 262*4882a593Smuzhiyun qcom,ee = <0>; 263*4882a593Smuzhiyun }; 264*4882a593Smuzhiyun 265*4882a593Smuzhiyun blsp1_uart3: serial@78b1000 { 266*4882a593Smuzhiyun compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm"; 267*4882a593Smuzhiyun reg = <0x0 0x078b1000 0x0 0x200>; 268*4882a593Smuzhiyun interrupts = <GIC_SPI 306 IRQ_TYPE_LEVEL_HIGH>; 269*4882a593Smuzhiyun clocks = <&gcc GCC_BLSP1_UART3_APPS_CLK>, 270*4882a593Smuzhiyun <&gcc GCC_BLSP1_AHB_CLK>; 271*4882a593Smuzhiyun clock-names = "core", "iface"; 272*4882a593Smuzhiyun status = "disabled"; 273*4882a593Smuzhiyun }; 274*4882a593Smuzhiyun 275*4882a593Smuzhiyun spi_0: spi@78b5000 { 276*4882a593Smuzhiyun compatible = "qcom,spi-qup-v2.2.1"; 277*4882a593Smuzhiyun #address-cells = <1>; 278*4882a593Smuzhiyun #size-cells = <0>; 279*4882a593Smuzhiyun reg = <0x0 0x078b5000 0x0 0x600>; 280*4882a593Smuzhiyun interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>; 281*4882a593Smuzhiyun spi-max-frequency = <50000000>; 282*4882a593Smuzhiyun clocks = <&gcc GCC_BLSP1_QUP1_SPI_APPS_CLK>, 283*4882a593Smuzhiyun <&gcc GCC_BLSP1_AHB_CLK>; 284*4882a593Smuzhiyun clock-names = "core", "iface"; 285*4882a593Smuzhiyun dmas = <&blsp_dma 12>, <&blsp_dma 13>; 286*4882a593Smuzhiyun dma-names = "tx", "rx"; 287*4882a593Smuzhiyun status = "disabled"; 288*4882a593Smuzhiyun }; 289*4882a593Smuzhiyun 290*4882a593Smuzhiyun spi_1: spi@78b6000 { 291*4882a593Smuzhiyun compatible = "qcom,spi-qup-v2.2.1"; 292*4882a593Smuzhiyun #address-cells = <1>; 293*4882a593Smuzhiyun #size-cells = <0>; 294*4882a593Smuzhiyun reg = <0x0 0x078b6000 0x0 0x600>; 295*4882a593Smuzhiyun interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>; 296*4882a593Smuzhiyun spi-max-frequency = <50000000>; 297*4882a593Smuzhiyun clocks = <&gcc GCC_BLSP1_QUP2_SPI_APPS_CLK>, 298*4882a593Smuzhiyun <&gcc GCC_BLSP1_AHB_CLK>; 299*4882a593Smuzhiyun clock-names = "core", "iface"; 300*4882a593Smuzhiyun dmas = <&blsp_dma 14>, <&blsp_dma 15>; 301*4882a593Smuzhiyun dma-names = "tx", "rx"; 302*4882a593Smuzhiyun status = "disabled"; 303*4882a593Smuzhiyun }; 304*4882a593Smuzhiyun 305*4882a593Smuzhiyun i2c_0: i2c@78b6000 { 306*4882a593Smuzhiyun compatible = "qcom,i2c-qup-v2.2.1"; 307*4882a593Smuzhiyun #address-cells = <1>; 308*4882a593Smuzhiyun #size-cells = <0>; 309*4882a593Smuzhiyun reg = <0x0 0x078b6000 0x0 0x600>; 310*4882a593Smuzhiyun interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>; 311*4882a593Smuzhiyun clocks = <&gcc GCC_BLSP1_AHB_CLK>, 312*4882a593Smuzhiyun <&gcc GCC_BLSP1_QUP2_I2C_APPS_CLK>; 313*4882a593Smuzhiyun clock-names = "iface", "core"; 314*4882a593Smuzhiyun clock-frequency = <400000>; 315*4882a593Smuzhiyun dmas = <&blsp_dma 15>, <&blsp_dma 14>; 316*4882a593Smuzhiyun dma-names = "rx", "tx"; 317*4882a593Smuzhiyun status = "disabled"; 318*4882a593Smuzhiyun }; 319*4882a593Smuzhiyun 320*4882a593Smuzhiyun i2c_1: i2c@78b7000 { /* BLSP1 QUP2 */ 321*4882a593Smuzhiyun compatible = "qcom,i2c-qup-v2.2.1"; 322*4882a593Smuzhiyun #address-cells = <1>; 323*4882a593Smuzhiyun #size-cells = <0>; 324*4882a593Smuzhiyun reg = <0x0 0x078b7000 0x0 0x600>; 325*4882a593Smuzhiyun interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>; 326*4882a593Smuzhiyun clocks = <&gcc GCC_BLSP1_AHB_CLK>, 327*4882a593Smuzhiyun <&gcc GCC_BLSP1_QUP3_I2C_APPS_CLK>; 328*4882a593Smuzhiyun clock-names = "iface", "core"; 329*4882a593Smuzhiyun clock-frequency = <400000>; 330*4882a593Smuzhiyun dmas = <&blsp_dma 17>, <&blsp_dma 16>; 331*4882a593Smuzhiyun dma-names = "rx", "tx"; 332*4882a593Smuzhiyun status = "disabled"; 333*4882a593Smuzhiyun }; 334*4882a593Smuzhiyun 335*4882a593Smuzhiyun intc: interrupt-controller@b000000 { 336*4882a593Smuzhiyun compatible = "qcom,msm-qgic2"; 337*4882a593Smuzhiyun interrupt-controller; 338*4882a593Smuzhiyun #interrupt-cells = <0x3>; 339*4882a593Smuzhiyun reg = <0x0 0x0b000000 0x0 0x1000>, /*GICD*/ 340*4882a593Smuzhiyun <0x0 0x0b002000 0x0 0x1000>, /*GICC*/ 341*4882a593Smuzhiyun <0x0 0x0b001000 0x0 0x1000>, /*GICH*/ 342*4882a593Smuzhiyun <0x0 0x0b004000 0x0 0x1000>; /*GICV*/ 343*4882a593Smuzhiyun interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>; 344*4882a593Smuzhiyun }; 345*4882a593Smuzhiyun 346*4882a593Smuzhiyun watchdog@b017000 { 347*4882a593Smuzhiyun compatible = "qcom,kpss-wdt"; 348*4882a593Smuzhiyun interrupts = <GIC_SPI 3 IRQ_TYPE_EDGE_RISING>; 349*4882a593Smuzhiyun reg = <0x0 0x0b017000 0x0 0x40>; 350*4882a593Smuzhiyun clocks = <&sleep_clk>; 351*4882a593Smuzhiyun timeout-sec = <10>; 352*4882a593Smuzhiyun }; 353*4882a593Smuzhiyun 354*4882a593Smuzhiyun apcs_glb: mailbox@b111000 { 355*4882a593Smuzhiyun compatible = "qcom,ipq6018-apcs-apps-global"; 356*4882a593Smuzhiyun reg = <0x0 0x0b111000 0x0 0x1000>; 357*4882a593Smuzhiyun #clock-cells = <1>; 358*4882a593Smuzhiyun clocks = <&a53pll>, <&xo>; 359*4882a593Smuzhiyun clock-names = "pll", "xo"; 360*4882a593Smuzhiyun #mbox-cells = <1>; 361*4882a593Smuzhiyun }; 362*4882a593Smuzhiyun 363*4882a593Smuzhiyun a53pll: clock@b116000 { 364*4882a593Smuzhiyun compatible = "qcom,ipq6018-a53pll"; 365*4882a593Smuzhiyun reg = <0x0 0x0b116000 0x0 0x40>; 366*4882a593Smuzhiyun #clock-cells = <0>; 367*4882a593Smuzhiyun clocks = <&xo>; 368*4882a593Smuzhiyun clock-names = "xo"; 369*4882a593Smuzhiyun }; 370*4882a593Smuzhiyun 371*4882a593Smuzhiyun timer { 372*4882a593Smuzhiyun compatible = "arm,armv8-timer"; 373*4882a593Smuzhiyun interrupts = <GIC_PPI 2 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 374*4882a593Smuzhiyun <GIC_PPI 3 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 375*4882a593Smuzhiyun <GIC_PPI 4 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 376*4882a593Smuzhiyun <GIC_PPI 1 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>; 377*4882a593Smuzhiyun }; 378*4882a593Smuzhiyun 379*4882a593Smuzhiyun timer@b120000 { 380*4882a593Smuzhiyun #address-cells = <2>; 381*4882a593Smuzhiyun #size-cells = <2>; 382*4882a593Smuzhiyun ranges; 383*4882a593Smuzhiyun compatible = "arm,armv7-timer-mem"; 384*4882a593Smuzhiyun reg = <0x0 0x0b120000 0x0 0x1000>; 385*4882a593Smuzhiyun clock-frequency = <19200000>; 386*4882a593Smuzhiyun 387*4882a593Smuzhiyun frame@b120000 { 388*4882a593Smuzhiyun frame-number = <0>; 389*4882a593Smuzhiyun interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>, 390*4882a593Smuzhiyun <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>; 391*4882a593Smuzhiyun reg = <0x0 0x0b121000 0x0 0x1000>, 392*4882a593Smuzhiyun <0x0 0x0b122000 0x0 0x1000>; 393*4882a593Smuzhiyun }; 394*4882a593Smuzhiyun 395*4882a593Smuzhiyun frame@b123000 { 396*4882a593Smuzhiyun frame-number = <1>; 397*4882a593Smuzhiyun interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>; 398*4882a593Smuzhiyun reg = <0x0 0xb123000 0x0 0x1000>; 399*4882a593Smuzhiyun status = "disabled"; 400*4882a593Smuzhiyun }; 401*4882a593Smuzhiyun 402*4882a593Smuzhiyun frame@b124000 { 403*4882a593Smuzhiyun frame-number = <2>; 404*4882a593Smuzhiyun interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>; 405*4882a593Smuzhiyun reg = <0x0 0x0b124000 0x0 0x1000>; 406*4882a593Smuzhiyun status = "disabled"; 407*4882a593Smuzhiyun }; 408*4882a593Smuzhiyun 409*4882a593Smuzhiyun frame@b125000 { 410*4882a593Smuzhiyun frame-number = <3>; 411*4882a593Smuzhiyun interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>; 412*4882a593Smuzhiyun reg = <0x0 0x0b125000 0x0 0x1000>; 413*4882a593Smuzhiyun status = "disabled"; 414*4882a593Smuzhiyun }; 415*4882a593Smuzhiyun 416*4882a593Smuzhiyun frame@b126000 { 417*4882a593Smuzhiyun frame-number = <4>; 418*4882a593Smuzhiyun interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>; 419*4882a593Smuzhiyun reg = <0x0 0x0b126000 0x0 0x1000>; 420*4882a593Smuzhiyun status = "disabled"; 421*4882a593Smuzhiyun }; 422*4882a593Smuzhiyun 423*4882a593Smuzhiyun frame@b127000 { 424*4882a593Smuzhiyun frame-number = <5>; 425*4882a593Smuzhiyun interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>; 426*4882a593Smuzhiyun reg = <0x0 0x0b127000 0x0 0x1000>; 427*4882a593Smuzhiyun status = "disabled"; 428*4882a593Smuzhiyun }; 429*4882a593Smuzhiyun 430*4882a593Smuzhiyun frame@b128000 { 431*4882a593Smuzhiyun frame-number = <6>; 432*4882a593Smuzhiyun interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>; 433*4882a593Smuzhiyun reg = <0x0 0x0b128000 0x0 0x1000>; 434*4882a593Smuzhiyun status = "disabled"; 435*4882a593Smuzhiyun }; 436*4882a593Smuzhiyun }; 437*4882a593Smuzhiyun 438*4882a593Smuzhiyun q6v5_wcss: remoteproc@cd00000 { 439*4882a593Smuzhiyun compatible = "qcom,ipq8074-wcss-pil"; 440*4882a593Smuzhiyun reg = <0x0 0x0cd00000 0x0 0x4040>, 441*4882a593Smuzhiyun <0x0 0x004ab000 0x0 0x20>; 442*4882a593Smuzhiyun reg-names = "qdsp6", 443*4882a593Smuzhiyun "rmb"; 444*4882a593Smuzhiyun interrupts-extended = <&intc GIC_SPI 325 IRQ_TYPE_EDGE_RISING>, 445*4882a593Smuzhiyun <&wcss_smp2p_in 0 0>, 446*4882a593Smuzhiyun <&wcss_smp2p_in 1 0>, 447*4882a593Smuzhiyun <&wcss_smp2p_in 2 0>, 448*4882a593Smuzhiyun <&wcss_smp2p_in 3 0>; 449*4882a593Smuzhiyun interrupt-names = "wdog", 450*4882a593Smuzhiyun "fatal", 451*4882a593Smuzhiyun "ready", 452*4882a593Smuzhiyun "handover", 453*4882a593Smuzhiyun "stop-ack"; 454*4882a593Smuzhiyun 455*4882a593Smuzhiyun resets = <&gcc GCC_WCSSAON_RESET>, 456*4882a593Smuzhiyun <&gcc GCC_WCSS_BCR>, 457*4882a593Smuzhiyun <&gcc GCC_WCSS_Q6_BCR>; 458*4882a593Smuzhiyun 459*4882a593Smuzhiyun reset-names = "wcss_aon_reset", 460*4882a593Smuzhiyun "wcss_reset", 461*4882a593Smuzhiyun "wcss_q6_reset"; 462*4882a593Smuzhiyun 463*4882a593Smuzhiyun clocks = <&gcc GCC_PRNG_AHB_CLK>; 464*4882a593Smuzhiyun clock-names = "prng"; 465*4882a593Smuzhiyun 466*4882a593Smuzhiyun qcom,halt-regs = <&tcsr_q6 0xa000 0xd000 0x0>; 467*4882a593Smuzhiyun 468*4882a593Smuzhiyun qcom,smem-states = <&wcss_smp2p_out 0>, 469*4882a593Smuzhiyun <&wcss_smp2p_out 1>; 470*4882a593Smuzhiyun qcom,smem-state-names = "shutdown", 471*4882a593Smuzhiyun "stop"; 472*4882a593Smuzhiyun 473*4882a593Smuzhiyun memory-region = <&q6_region>; 474*4882a593Smuzhiyun 475*4882a593Smuzhiyun glink-edge { 476*4882a593Smuzhiyun interrupts = <GIC_SPI 321 IRQ_TYPE_EDGE_RISING>; 477*4882a593Smuzhiyun qcom,remote-pid = <1>; 478*4882a593Smuzhiyun mboxes = <&apcs_glb 8>; 479*4882a593Smuzhiyun 480*4882a593Smuzhiyun qrtr_requests { 481*4882a593Smuzhiyun qcom,glink-channels = "IPCRTR"; 482*4882a593Smuzhiyun }; 483*4882a593Smuzhiyun }; 484*4882a593Smuzhiyun }; 485*4882a593Smuzhiyun 486*4882a593Smuzhiyun }; 487*4882a593Smuzhiyun 488*4882a593Smuzhiyun wcss: wcss-smp2p { 489*4882a593Smuzhiyun compatible = "qcom,smp2p"; 490*4882a593Smuzhiyun qcom,smem = <435>, <428>; 491*4882a593Smuzhiyun 492*4882a593Smuzhiyun interrupt-parent = <&intc>; 493*4882a593Smuzhiyun interrupts = <GIC_SPI 322 IRQ_TYPE_EDGE_RISING>; 494*4882a593Smuzhiyun 495*4882a593Smuzhiyun mboxes = <&apcs_glb 9>; 496*4882a593Smuzhiyun 497*4882a593Smuzhiyun qcom,local-pid = <0>; 498*4882a593Smuzhiyun qcom,remote-pid = <1>; 499*4882a593Smuzhiyun 500*4882a593Smuzhiyun wcss_smp2p_out: master-kernel { 501*4882a593Smuzhiyun qcom,entry-name = "master-kernel"; 502*4882a593Smuzhiyun #qcom,smem-state-cells = <1>; 503*4882a593Smuzhiyun }; 504*4882a593Smuzhiyun 505*4882a593Smuzhiyun wcss_smp2p_in: slave-kernel { 506*4882a593Smuzhiyun qcom,entry-name = "slave-kernel"; 507*4882a593Smuzhiyun interrupt-controller; 508*4882a593Smuzhiyun #interrupt-cells = <2>; 509*4882a593Smuzhiyun }; 510*4882a593Smuzhiyun }; 511*4882a593Smuzhiyun 512*4882a593Smuzhiyun rpm-glink { 513*4882a593Smuzhiyun compatible = "qcom,glink-rpm"; 514*4882a593Smuzhiyun interrupts = <GIC_SPI 168 IRQ_TYPE_EDGE_RISING>; 515*4882a593Smuzhiyun qcom,rpm-msg-ram = <&rpm_msg_ram>; 516*4882a593Smuzhiyun mboxes = <&apcs_glb 0>; 517*4882a593Smuzhiyun 518*4882a593Smuzhiyun rpm_requests: glink-channel { 519*4882a593Smuzhiyun compatible = "qcom,rpm-ipq6018"; 520*4882a593Smuzhiyun qcom,glink-channels = "rpm_requests"; 521*4882a593Smuzhiyun 522*4882a593Smuzhiyun regulators { 523*4882a593Smuzhiyun compatible = "qcom,rpm-mp5496-regulators"; 524*4882a593Smuzhiyun 525*4882a593Smuzhiyun ipq6018_s2: s2 { 526*4882a593Smuzhiyun regulator-min-microvolt = <725000>; 527*4882a593Smuzhiyun regulator-max-microvolt = <1062500>; 528*4882a593Smuzhiyun regulator-always-on; 529*4882a593Smuzhiyun }; 530*4882a593Smuzhiyun }; 531*4882a593Smuzhiyun }; 532*4882a593Smuzhiyun }; 533*4882a593Smuzhiyun}; 534