1*4882a593Smuzhiyun// SPDX-License-Identifier: GPL-2.0-only 2*4882a593Smuzhiyun/* Copyright (c) 2013-2016, The Linux Foundation. All rights reserved. 3*4882a593Smuzhiyun */ 4*4882a593Smuzhiyun 5*4882a593Smuzhiyun#include <dt-bindings/interrupt-controller/arm-gic.h> 6*4882a593Smuzhiyun#include <dt-bindings/clock/qcom,gcc-msm8994.h> 7*4882a593Smuzhiyun 8*4882a593Smuzhiyun/ { 9*4882a593Smuzhiyun interrupt-parent = <&intc>; 10*4882a593Smuzhiyun 11*4882a593Smuzhiyun #address-cells = <2>; 12*4882a593Smuzhiyun #size-cells = <2>; 13*4882a593Smuzhiyun 14*4882a593Smuzhiyun chosen { }; 15*4882a593Smuzhiyun 16*4882a593Smuzhiyun cpus { 17*4882a593Smuzhiyun #address-cells = <2>; 18*4882a593Smuzhiyun #size-cells = <0>; 19*4882a593Smuzhiyun 20*4882a593Smuzhiyun CPU0: cpu@0 { 21*4882a593Smuzhiyun device_type = "cpu"; 22*4882a593Smuzhiyun compatible = "arm,cortex-a53"; 23*4882a593Smuzhiyun reg = <0x0 0x0>; 24*4882a593Smuzhiyun next-level-cache = <&L2_0>; 25*4882a593Smuzhiyun enable-method = "psci"; 26*4882a593Smuzhiyun L2_0: l2-cache { 27*4882a593Smuzhiyun compatible = "cache"; 28*4882a593Smuzhiyun cache-level = <2>; 29*4882a593Smuzhiyun }; 30*4882a593Smuzhiyun }; 31*4882a593Smuzhiyun 32*4882a593Smuzhiyun CPU1: cpu@1 { 33*4882a593Smuzhiyun device_type = "cpu"; 34*4882a593Smuzhiyun compatible = "arm,cortex-a53"; 35*4882a593Smuzhiyun reg = <0x0 0x1>; 36*4882a593Smuzhiyun next-level-cache = <&L2_0>; 37*4882a593Smuzhiyun enable-method = "psci"; 38*4882a593Smuzhiyun }; 39*4882a593Smuzhiyun 40*4882a593Smuzhiyun CPU2: cpu@2 { 41*4882a593Smuzhiyun device_type = "cpu"; 42*4882a593Smuzhiyun compatible = "arm,cortex-a53"; 43*4882a593Smuzhiyun reg = <0x0 0x2>; 44*4882a593Smuzhiyun next-level-cache = <&L2_0>; 45*4882a593Smuzhiyun enable-method = "psci"; 46*4882a593Smuzhiyun }; 47*4882a593Smuzhiyun 48*4882a593Smuzhiyun CPU3: cpu@3 { 49*4882a593Smuzhiyun device_type = "cpu"; 50*4882a593Smuzhiyun compatible = "arm,cortex-a53"; 51*4882a593Smuzhiyun reg = <0x0 0x3>; 52*4882a593Smuzhiyun next-level-cache = <&L2_0>; 53*4882a593Smuzhiyun enable-method = "psci"; 54*4882a593Smuzhiyun }; 55*4882a593Smuzhiyun 56*4882a593Smuzhiyun CPU4: cpu@100 { 57*4882a593Smuzhiyun device_type = "cpu"; 58*4882a593Smuzhiyun compatible = "arm,cortex-a57"; 59*4882a593Smuzhiyun reg = <0x0 0x100>; 60*4882a593Smuzhiyun next-level-cache = <&L2_1>; 61*4882a593Smuzhiyun enable-method = "psci"; 62*4882a593Smuzhiyun L2_1: l2-cache { 63*4882a593Smuzhiyun compatible = "cache"; 64*4882a593Smuzhiyun cache-level = <2>; 65*4882a593Smuzhiyun }; 66*4882a593Smuzhiyun }; 67*4882a593Smuzhiyun 68*4882a593Smuzhiyun CPU5: cpu@101 { 69*4882a593Smuzhiyun device_type = "cpu"; 70*4882a593Smuzhiyun compatible = "arm,cortex-a57"; 71*4882a593Smuzhiyun reg = <0x0 0x101>; 72*4882a593Smuzhiyun next-level-cache = <&L2_1>; 73*4882a593Smuzhiyun enable-method = "psci"; 74*4882a593Smuzhiyun }; 75*4882a593Smuzhiyun 76*4882a593Smuzhiyun cpu-map { 77*4882a593Smuzhiyun cluster0 { 78*4882a593Smuzhiyun core0 { 79*4882a593Smuzhiyun cpu = <&CPU0>; 80*4882a593Smuzhiyun }; 81*4882a593Smuzhiyun 82*4882a593Smuzhiyun core1 { 83*4882a593Smuzhiyun cpu = <&CPU1>; 84*4882a593Smuzhiyun }; 85*4882a593Smuzhiyun 86*4882a593Smuzhiyun core2 { 87*4882a593Smuzhiyun cpu = <&CPU2>; 88*4882a593Smuzhiyun }; 89*4882a593Smuzhiyun 90*4882a593Smuzhiyun core3 { 91*4882a593Smuzhiyun cpu = <&CPU3>; 92*4882a593Smuzhiyun }; 93*4882a593Smuzhiyun }; 94*4882a593Smuzhiyun 95*4882a593Smuzhiyun cluster1 { 96*4882a593Smuzhiyun core0 { 97*4882a593Smuzhiyun cpu = <&CPU4>; 98*4882a593Smuzhiyun }; 99*4882a593Smuzhiyun 100*4882a593Smuzhiyun core1 { 101*4882a593Smuzhiyun cpu = <&CPU5>; 102*4882a593Smuzhiyun }; 103*4882a593Smuzhiyun }; 104*4882a593Smuzhiyun }; 105*4882a593Smuzhiyun }; 106*4882a593Smuzhiyun 107*4882a593Smuzhiyun clocks { 108*4882a593Smuzhiyun xo_board: xo_board { 109*4882a593Smuzhiyun compatible = "fixed-clock"; 110*4882a593Smuzhiyun #clock-cells = <0>; 111*4882a593Smuzhiyun clock-frequency = <19200000>; 112*4882a593Smuzhiyun }; 113*4882a593Smuzhiyun 114*4882a593Smuzhiyun sleep_clk: sleep_clk { 115*4882a593Smuzhiyun compatible = "fixed-clock"; 116*4882a593Smuzhiyun #clock-cells = <0>; 117*4882a593Smuzhiyun clock-frequency = <32768>; 118*4882a593Smuzhiyun }; 119*4882a593Smuzhiyun }; 120*4882a593Smuzhiyun 121*4882a593Smuzhiyun firmware { 122*4882a593Smuzhiyun scm { 123*4882a593Smuzhiyun compatible = "qcom,scm-msm8994", "qcom,scm"; 124*4882a593Smuzhiyun }; 125*4882a593Smuzhiyun }; 126*4882a593Smuzhiyun 127*4882a593Smuzhiyun memory { 128*4882a593Smuzhiyun device_type = "memory"; 129*4882a593Smuzhiyun /* We expect the bootloader to fill in the reg */ 130*4882a593Smuzhiyun reg = <0 0 0 0>; 131*4882a593Smuzhiyun }; 132*4882a593Smuzhiyun 133*4882a593Smuzhiyun pmu { 134*4882a593Smuzhiyun compatible = "arm,cortex-a53-pmu"; 135*4882a593Smuzhiyun interrupts = <GIC_PPI 7 (GIC_CPU_MASK_SIMPLE(4)| IRQ_TYPE_LEVEL_HIGH)>; 136*4882a593Smuzhiyun }; 137*4882a593Smuzhiyun 138*4882a593Smuzhiyun psci { 139*4882a593Smuzhiyun compatible = "arm,psci-0.2"; 140*4882a593Smuzhiyun method = "hvc"; 141*4882a593Smuzhiyun }; 142*4882a593Smuzhiyun 143*4882a593Smuzhiyun reserved-memory { 144*4882a593Smuzhiyun #address-cells = <2>; 145*4882a593Smuzhiyun #size-cells = <2>; 146*4882a593Smuzhiyun ranges; 147*4882a593Smuzhiyun 148*4882a593Smuzhiyun smem_region: smem@6a00000 { 149*4882a593Smuzhiyun reg = <0x0 0x6a00000 0x0 0x200000>; 150*4882a593Smuzhiyun no-map; 151*4882a593Smuzhiyun }; 152*4882a593Smuzhiyun }; 153*4882a593Smuzhiyun 154*4882a593Smuzhiyun sfpb_mutex: hwmutex { 155*4882a593Smuzhiyun compatible = "qcom,sfpb-mutex"; 156*4882a593Smuzhiyun syscon = <&sfpb_mutex_regs 0x0 0x100>; 157*4882a593Smuzhiyun #hwlock-cells = <1>; 158*4882a593Smuzhiyun }; 159*4882a593Smuzhiyun 160*4882a593Smuzhiyun smem { 161*4882a593Smuzhiyun compatible = "qcom,smem"; 162*4882a593Smuzhiyun memory-region = <&smem_region>; 163*4882a593Smuzhiyun qcom,rpm-msg-ram = <&rpm_msg_ram>; 164*4882a593Smuzhiyun hwlocks = <&sfpb_mutex 3>; 165*4882a593Smuzhiyun }; 166*4882a593Smuzhiyun 167*4882a593Smuzhiyun soc { 168*4882a593Smuzhiyun #address-cells = <1>; 169*4882a593Smuzhiyun #size-cells = <1>; 170*4882a593Smuzhiyun ranges = <0 0 0 0xffffffff>; 171*4882a593Smuzhiyun compatible = "simple-bus"; 172*4882a593Smuzhiyun 173*4882a593Smuzhiyun intc: interrupt-controller@f9000000 { 174*4882a593Smuzhiyun compatible = "qcom,msm-qgic2"; 175*4882a593Smuzhiyun interrupt-controller; 176*4882a593Smuzhiyun #interrupt-cells = <3>; 177*4882a593Smuzhiyun reg = <0xf9000000 0x1000>, 178*4882a593Smuzhiyun <0xf9002000 0x1000>; 179*4882a593Smuzhiyun }; 180*4882a593Smuzhiyun 181*4882a593Smuzhiyun apcs: mailbox@f900d000 { 182*4882a593Smuzhiyun compatible = "qcom,msm8994-apcs-kpss-global", "syscon"; 183*4882a593Smuzhiyun reg = <0xf900d000 0x2000>; 184*4882a593Smuzhiyun #mbox-cells = <1>; 185*4882a593Smuzhiyun }; 186*4882a593Smuzhiyun 187*4882a593Smuzhiyun timer@f9020000 { 188*4882a593Smuzhiyun #address-cells = <1>; 189*4882a593Smuzhiyun #size-cells = <1>; 190*4882a593Smuzhiyun ranges; 191*4882a593Smuzhiyun compatible = "arm,armv7-timer-mem"; 192*4882a593Smuzhiyun reg = <0xf9020000 0x1000>; 193*4882a593Smuzhiyun 194*4882a593Smuzhiyun frame@f9021000 { 195*4882a593Smuzhiyun frame-number = <0>; 196*4882a593Smuzhiyun interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>, 197*4882a593Smuzhiyun <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>; 198*4882a593Smuzhiyun reg = <0xf9021000 0x1000>, 199*4882a593Smuzhiyun <0xf9022000 0x1000>; 200*4882a593Smuzhiyun }; 201*4882a593Smuzhiyun 202*4882a593Smuzhiyun frame@f9023000 { 203*4882a593Smuzhiyun frame-number = <1>; 204*4882a593Smuzhiyun interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>; 205*4882a593Smuzhiyun reg = <0xf9023000 0x1000>; 206*4882a593Smuzhiyun status = "disabled"; 207*4882a593Smuzhiyun }; 208*4882a593Smuzhiyun 209*4882a593Smuzhiyun frame@f9024000 { 210*4882a593Smuzhiyun frame-number = <2>; 211*4882a593Smuzhiyun interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>; 212*4882a593Smuzhiyun reg = <0xf9024000 0x1000>; 213*4882a593Smuzhiyun status = "disabled"; 214*4882a593Smuzhiyun }; 215*4882a593Smuzhiyun 216*4882a593Smuzhiyun frame@f9025000 { 217*4882a593Smuzhiyun frame-number = <3>; 218*4882a593Smuzhiyun interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>; 219*4882a593Smuzhiyun reg = <0xf9025000 0x1000>; 220*4882a593Smuzhiyun status = "disabled"; 221*4882a593Smuzhiyun }; 222*4882a593Smuzhiyun 223*4882a593Smuzhiyun frame@f9026000 { 224*4882a593Smuzhiyun frame-number = <4>; 225*4882a593Smuzhiyun interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>; 226*4882a593Smuzhiyun reg = <0xf9026000 0x1000>; 227*4882a593Smuzhiyun status = "disabled"; 228*4882a593Smuzhiyun }; 229*4882a593Smuzhiyun 230*4882a593Smuzhiyun frame@f9027000 { 231*4882a593Smuzhiyun frame-number = <5>; 232*4882a593Smuzhiyun interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>; 233*4882a593Smuzhiyun reg = <0xf9027000 0x1000>; 234*4882a593Smuzhiyun status = "disabled"; 235*4882a593Smuzhiyun }; 236*4882a593Smuzhiyun 237*4882a593Smuzhiyun frame@f9028000 { 238*4882a593Smuzhiyun frame-number = <6>; 239*4882a593Smuzhiyun interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>; 240*4882a593Smuzhiyun reg = <0xf9028000 0x1000>; 241*4882a593Smuzhiyun status = "disabled"; 242*4882a593Smuzhiyun }; 243*4882a593Smuzhiyun }; 244*4882a593Smuzhiyun 245*4882a593Smuzhiyun sdhc_1: sdhci@f9824900 { 246*4882a593Smuzhiyun compatible = "qcom,sdhci-msm-v4"; 247*4882a593Smuzhiyun reg = <0xf9824900 0x1a0>, <0xf9824000 0x800>; 248*4882a593Smuzhiyun reg-names = "hc_mem", "core_mem"; 249*4882a593Smuzhiyun 250*4882a593Smuzhiyun interrupts = <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>, 251*4882a593Smuzhiyun <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>; 252*4882a593Smuzhiyun interrupt-names = "hc_irq", "pwr_irq"; 253*4882a593Smuzhiyun 254*4882a593Smuzhiyun clocks = <&gcc GCC_SDCC1_APPS_CLK>, 255*4882a593Smuzhiyun <&gcc GCC_SDCC1_AHB_CLK>, 256*4882a593Smuzhiyun <&xo_board>; 257*4882a593Smuzhiyun clock-names = "core", "iface", "xo"; 258*4882a593Smuzhiyun 259*4882a593Smuzhiyun pinctrl-names = "default", "sleep"; 260*4882a593Smuzhiyun pinctrl-0 = <&sdc1_clk_on &sdc1_cmd_on &sdc1_data_on 261*4882a593Smuzhiyun &sdc1_rclk_on>; 262*4882a593Smuzhiyun pinctrl-1 = <&sdc1_clk_off &sdc1_cmd_off &sdc1_data_off 263*4882a593Smuzhiyun &sdc1_rclk_off>; 264*4882a593Smuzhiyun 265*4882a593Smuzhiyun regulator-always-on; 266*4882a593Smuzhiyun bus-width = <8>; 267*4882a593Smuzhiyun non-removable; 268*4882a593Smuzhiyun 269*4882a593Smuzhiyun status = "disabled"; 270*4882a593Smuzhiyun }; 271*4882a593Smuzhiyun 272*4882a593Smuzhiyun blsp1_uart2: serial@f991e000 { 273*4882a593Smuzhiyun compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm"; 274*4882a593Smuzhiyun reg = <0xf991e000 0x1000>; 275*4882a593Smuzhiyun interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_LOW>; 276*4882a593Smuzhiyun clock-names = "core", "iface"; 277*4882a593Smuzhiyun clocks = <&gcc GCC_BLSP1_UART2_APPS_CLK>, 278*4882a593Smuzhiyun <&gcc GCC_BLSP1_AHB_CLK>; 279*4882a593Smuzhiyun pinctrl-names = "default", "sleep"; 280*4882a593Smuzhiyun pinctrl-0 = <&blsp1_uart2_default>; 281*4882a593Smuzhiyun pinctrl-1 = <&blsp1_uart2_sleep>; 282*4882a593Smuzhiyun status = "disabled"; 283*4882a593Smuzhiyun }; 284*4882a593Smuzhiyun 285*4882a593Smuzhiyun blsp_i2c2: i2c@f9924000 { 286*4882a593Smuzhiyun compatible = "qcom,i2c-qup-v2.2.1"; 287*4882a593Smuzhiyun reg = <0xf9924000 0x500>; 288*4882a593Smuzhiyun interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>; 289*4882a593Smuzhiyun clocks = <&gcc GCC_BLSP1_AHB_CLK>, 290*4882a593Smuzhiyun <&gcc GCC_BLSP1_QUP2_I2C_APPS_CLK>; 291*4882a593Smuzhiyun clock-names = "iface", "core"; 292*4882a593Smuzhiyun clock-frequency = <400000>; 293*4882a593Smuzhiyun pinctrl-names = "default", "sleep"; 294*4882a593Smuzhiyun pinctrl-0 = <&i2c2_default>; 295*4882a593Smuzhiyun pinctrl-1 = <&i2c2_sleep>; 296*4882a593Smuzhiyun #address-cells = <1>; 297*4882a593Smuzhiyun #size-cells = <0>; 298*4882a593Smuzhiyun status = "disabled"; 299*4882a593Smuzhiyun }; 300*4882a593Smuzhiyun 301*4882a593Smuzhiyun /* Somebody was very creative with their numbering scheme downstream... */ 302*4882a593Smuzhiyun 303*4882a593Smuzhiyun blsp_i2c13: i2c@f9927000 { 304*4882a593Smuzhiyun compatible = "qcom,i2c-qup-v2.2.1"; 305*4882a593Smuzhiyun reg = <0xf9927000 0x500>; 306*4882a593Smuzhiyun interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>; 307*4882a593Smuzhiyun clocks = <&gcc GCC_BLSP1_AHB_CLK>, 308*4882a593Smuzhiyun <&gcc GCC_BLSP1_QUP5_I2C_APPS_CLK>; 309*4882a593Smuzhiyun clock-names = "iface", "core"; 310*4882a593Smuzhiyun clock-frequency = <400000>; 311*4882a593Smuzhiyun pinctrl-names = "default", "sleep"; 312*4882a593Smuzhiyun pinctrl-0 = <&i2c13_default>; 313*4882a593Smuzhiyun pinctrl-1 = <&i2c13_sleep>; 314*4882a593Smuzhiyun #address-cells = <1>; 315*4882a593Smuzhiyun #size-cells = <0>; 316*4882a593Smuzhiyun status = "disabled"; 317*4882a593Smuzhiyun }; 318*4882a593Smuzhiyun 319*4882a593Smuzhiyun blsp_i2c6: i2c@f9928000 { 320*4882a593Smuzhiyun compatible = "qcom,i2c-qup-v2.2.1"; 321*4882a593Smuzhiyun reg = <0xf9928000 0x500>; 322*4882a593Smuzhiyun interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>; 323*4882a593Smuzhiyun clocks = <&gcc GCC_BLSP1_AHB_CLK>, 324*4882a593Smuzhiyun <&gcc GCC_BLSP1_QUP6_I2C_APPS_CLK>; 325*4882a593Smuzhiyun clock-names = "iface", "core"; 326*4882a593Smuzhiyun clock-frequency = <400000>; 327*4882a593Smuzhiyun pinctrl-names = "default", "sleep"; 328*4882a593Smuzhiyun pinctrl-0 = <&i2c6_default>; 329*4882a593Smuzhiyun pinctrl-1 = <&i2c6_sleep>; 330*4882a593Smuzhiyun #address-cells = <1>; 331*4882a593Smuzhiyun #size-cells = <0>; 332*4882a593Smuzhiyun status = "disabled"; 333*4882a593Smuzhiyun }; 334*4882a593Smuzhiyun 335*4882a593Smuzhiyun blsp2_uart2: serial@f995e000 { 336*4882a593Smuzhiyun compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm"; 337*4882a593Smuzhiyun reg = <0xf995e000 0x1000>; 338*4882a593Smuzhiyun interrupts = <GIC_SPI 146 IRQ_TYPE_LEVEL_LOW>; 339*4882a593Smuzhiyun clock-names = "core", "iface"; 340*4882a593Smuzhiyun clocks = <&gcc GCC_BLSP2_UART2_APPS_CLK>, 341*4882a593Smuzhiyun <&gcc GCC_BLSP2_AHB_CLK>; 342*4882a593Smuzhiyun pinctrl-names = "default", "sleep"; 343*4882a593Smuzhiyun pinctrl-0 = <&blsp2_uart2_default>; 344*4882a593Smuzhiyun pinctrl-1 = <&blsp2_uart2_sleep>; 345*4882a593Smuzhiyun status = "disabled"; 346*4882a593Smuzhiyun }; 347*4882a593Smuzhiyun 348*4882a593Smuzhiyun blsp_i2c7: i2c@f9963000 { 349*4882a593Smuzhiyun compatible = "qcom,i2c-qup-v2.2.1"; 350*4882a593Smuzhiyun reg = <0xf9963000 0x500>; 351*4882a593Smuzhiyun interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>; 352*4882a593Smuzhiyun clocks = <&gcc GCC_BLSP2_AHB_CLK>, 353*4882a593Smuzhiyun <&gcc GCC_BLSP2_QUP1_I2C_APPS_CLK>; 354*4882a593Smuzhiyun clock-names = "iface", "core"; 355*4882a593Smuzhiyun clock-frequency = <400000>; 356*4882a593Smuzhiyun pinctrl-names = "default", "sleep"; 357*4882a593Smuzhiyun pinctrl-0 = <&i2c7_default>; 358*4882a593Smuzhiyun pinctrl-1 = <&i2c7_sleep>; 359*4882a593Smuzhiyun #address-cells = <1>; 360*4882a593Smuzhiyun #size-cells = <0>; 361*4882a593Smuzhiyun status = "disabled"; 362*4882a593Smuzhiyun }; 363*4882a593Smuzhiyun 364*4882a593Smuzhiyun blsp_i2c5: i2c@f9967000 { 365*4882a593Smuzhiyun compatible = "qcom,i2c-qup-v2.2.1"; 366*4882a593Smuzhiyun reg = <0xf9967000 0x500>; 367*4882a593Smuzhiyun interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>; 368*4882a593Smuzhiyun clocks = <&gcc GCC_BLSP2_AHB_CLK>, 369*4882a593Smuzhiyun <&gcc GCC_BLSP2_QUP5_I2C_APPS_CLK>; 370*4882a593Smuzhiyun clock-names = "iface", "core"; 371*4882a593Smuzhiyun clock-frequency = <100000>; 372*4882a593Smuzhiyun pinctrl-names = "default", "sleep"; 373*4882a593Smuzhiyun pinctrl-0 = <&i2c5_default>; 374*4882a593Smuzhiyun pinctrl-1 = <&i2c5_sleep>; 375*4882a593Smuzhiyun #address-cells = <1>; 376*4882a593Smuzhiyun #size-cells = <0>; 377*4882a593Smuzhiyun status = "disabled"; 378*4882a593Smuzhiyun }; 379*4882a593Smuzhiyun 380*4882a593Smuzhiyun gcc: clock-controller@fc400000 { 381*4882a593Smuzhiyun compatible = "qcom,gcc-msm8994"; 382*4882a593Smuzhiyun #clock-cells = <1>; 383*4882a593Smuzhiyun #reset-cells = <1>; 384*4882a593Smuzhiyun #power-domain-cells = <1>; 385*4882a593Smuzhiyun reg = <0xfc400000 0x2000>; 386*4882a593Smuzhiyun }; 387*4882a593Smuzhiyun 388*4882a593Smuzhiyun rpm_msg_ram: memory@fc428000 { 389*4882a593Smuzhiyun compatible = "qcom,rpm-msg-ram"; 390*4882a593Smuzhiyun reg = <0xfc428000 0x4000>; 391*4882a593Smuzhiyun }; 392*4882a593Smuzhiyun 393*4882a593Smuzhiyun restart@fc4ab000 { 394*4882a593Smuzhiyun compatible = "qcom,pshold"; 395*4882a593Smuzhiyun reg = <0xfc4ab000 0x4>; 396*4882a593Smuzhiyun }; 397*4882a593Smuzhiyun 398*4882a593Smuzhiyun spmi_bus: spmi@fc4c0000 { 399*4882a593Smuzhiyun compatible = "qcom,spmi-pmic-arb"; 400*4882a593Smuzhiyun reg = <0xfc4cf000 0x1000>, 401*4882a593Smuzhiyun <0xfc4cb000 0x1000>, 402*4882a593Smuzhiyun <0xfc4ca000 0x1000>; 403*4882a593Smuzhiyun reg-names = "core", "intr", "cnfg"; 404*4882a593Smuzhiyun interrupt-names = "periph_irq"; 405*4882a593Smuzhiyun interrupts = <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>; 406*4882a593Smuzhiyun qcom,ee = <0>; 407*4882a593Smuzhiyun qcom,channel = <0>; 408*4882a593Smuzhiyun #address-cells = <2>; 409*4882a593Smuzhiyun #size-cells = <0>; 410*4882a593Smuzhiyun interrupt-controller; 411*4882a593Smuzhiyun #interrupt-cells = <4>; 412*4882a593Smuzhiyun }; 413*4882a593Smuzhiyun 414*4882a593Smuzhiyun sfpb_mutex_regs: syscon@fd484000 { 415*4882a593Smuzhiyun #address-cells = <1>; 416*4882a593Smuzhiyun #size-cells = <1>; 417*4882a593Smuzhiyun compatible = "syscon"; 418*4882a593Smuzhiyun reg = <0xfd484000 0x400>; 419*4882a593Smuzhiyun }; 420*4882a593Smuzhiyun 421*4882a593Smuzhiyun tlmm: pinctrl@fd510000 { 422*4882a593Smuzhiyun compatible = "qcom,msm8994-pinctrl"; 423*4882a593Smuzhiyun reg = <0xfd510000 0x4000>; 424*4882a593Smuzhiyun interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>; 425*4882a593Smuzhiyun gpio-controller; 426*4882a593Smuzhiyun gpio-ranges = <&tlmm 0 0 146>; 427*4882a593Smuzhiyun #gpio-cells = <2>; 428*4882a593Smuzhiyun interrupt-controller; 429*4882a593Smuzhiyun #interrupt-cells = <2>; 430*4882a593Smuzhiyun 431*4882a593Smuzhiyun blsp1_uart2_default: blsp1-uart2-default { 432*4882a593Smuzhiyun function = "blsp_uart2"; 433*4882a593Smuzhiyun pins = "gpio4", "gpio5"; 434*4882a593Smuzhiyun drive-strength = <16>; 435*4882a593Smuzhiyun bias-disable; 436*4882a593Smuzhiyun }; 437*4882a593Smuzhiyun 438*4882a593Smuzhiyun blsp1_uart2_sleep: blsp1-uart2-sleep { 439*4882a593Smuzhiyun function = "gpio"; 440*4882a593Smuzhiyun pins = "gpio4", "gpio5"; 441*4882a593Smuzhiyun drive-strength = <2>; 442*4882a593Smuzhiyun bias-pull-down; 443*4882a593Smuzhiyun }; 444*4882a593Smuzhiyun 445*4882a593Smuzhiyun blsp2_uart2_default: blsp2-uart2-default { 446*4882a593Smuzhiyun function = "blsp_uart8"; 447*4882a593Smuzhiyun pins = "gpio45", "gpio46", "gpio47", "gpio48"; 448*4882a593Smuzhiyun drive-strength = <16>; 449*4882a593Smuzhiyun bias-disable; 450*4882a593Smuzhiyun }; 451*4882a593Smuzhiyun 452*4882a593Smuzhiyun blsp2_uart2_sleep: blsp2-uart2-sleep { 453*4882a593Smuzhiyun function = "gpio"; 454*4882a593Smuzhiyun pins = "gpio45", "gpio46", "gpio47", "gpio48"; 455*4882a593Smuzhiyun drive-strength = <2>; 456*4882a593Smuzhiyun bias-pull-down; 457*4882a593Smuzhiyun }; 458*4882a593Smuzhiyun 459*4882a593Smuzhiyun sdc1_clk_on: clk-on { 460*4882a593Smuzhiyun pins = "sdc1_clk"; 461*4882a593Smuzhiyun bias-disable; 462*4882a593Smuzhiyun drive-strength = <6>; 463*4882a593Smuzhiyun }; 464*4882a593Smuzhiyun 465*4882a593Smuzhiyun sdc1_clk_off: clk-off { 466*4882a593Smuzhiyun pins = "sdc1_clk"; 467*4882a593Smuzhiyun bias-disable; 468*4882a593Smuzhiyun drive-strength = <2>; 469*4882a593Smuzhiyun }; 470*4882a593Smuzhiyun 471*4882a593Smuzhiyun sdc1_cmd_on: cmd-on { 472*4882a593Smuzhiyun pins = "sdc1_cmd"; 473*4882a593Smuzhiyun bias-pull-up; 474*4882a593Smuzhiyun drive-strength = <6>; 475*4882a593Smuzhiyun }; 476*4882a593Smuzhiyun 477*4882a593Smuzhiyun sdc1_cmd_off: cmd-off { 478*4882a593Smuzhiyun pins = "sdc1_cmd"; 479*4882a593Smuzhiyun bias-pull-up; 480*4882a593Smuzhiyun drive-strength = <2>; 481*4882a593Smuzhiyun }; 482*4882a593Smuzhiyun 483*4882a593Smuzhiyun sdc1_data_on: data-on { 484*4882a593Smuzhiyun pins = "sdc1_data"; 485*4882a593Smuzhiyun bias-pull-up; 486*4882a593Smuzhiyun drive-strength = <6>; 487*4882a593Smuzhiyun }; 488*4882a593Smuzhiyun 489*4882a593Smuzhiyun sdc1_data_off: data-off { 490*4882a593Smuzhiyun pins = "sdc1_data"; 491*4882a593Smuzhiyun bias-pull-up; 492*4882a593Smuzhiyun drive-strength = <2>; 493*4882a593Smuzhiyun }; 494*4882a593Smuzhiyun 495*4882a593Smuzhiyun sdc1_rclk_on: rclk-on { 496*4882a593Smuzhiyun pins = "sdc1_rclk"; 497*4882a593Smuzhiyun bias-pull-down; 498*4882a593Smuzhiyun }; 499*4882a593Smuzhiyun 500*4882a593Smuzhiyun sdc1_rclk_off: rclk-off { 501*4882a593Smuzhiyun pins = "sdc1_rclk"; 502*4882a593Smuzhiyun bias-pull-down; 503*4882a593Smuzhiyun }; 504*4882a593Smuzhiyun 505*4882a593Smuzhiyun i2c2_default: i2c2-default { 506*4882a593Smuzhiyun function = "blsp_i2c2"; 507*4882a593Smuzhiyun pins = "gpio6", "gpio7"; 508*4882a593Smuzhiyun drive-strength = <2>; 509*4882a593Smuzhiyun bias-disable; 510*4882a593Smuzhiyun }; 511*4882a593Smuzhiyun 512*4882a593Smuzhiyun i2c2_sleep: i2c2-sleep { 513*4882a593Smuzhiyun function = "gpio"; 514*4882a593Smuzhiyun pins = "gpio6", "gpio7"; 515*4882a593Smuzhiyun drive-strength = <2>; 516*4882a593Smuzhiyun bias-disable; 517*4882a593Smuzhiyun }; 518*4882a593Smuzhiyun 519*4882a593Smuzhiyun i2c5_default: i2c5-default { 520*4882a593Smuzhiyun /* Don't be fooled! Nobody knows the reason why though... */ 521*4882a593Smuzhiyun function = "blsp_i2c11"; 522*4882a593Smuzhiyun pins = "gpio83", "gpio84"; 523*4882a593Smuzhiyun drive-strength = <2>; 524*4882a593Smuzhiyun bias-disable; 525*4882a593Smuzhiyun }; 526*4882a593Smuzhiyun 527*4882a593Smuzhiyun i2c5_sleep: i2c5-sleep { 528*4882a593Smuzhiyun function = "gpio"; 529*4882a593Smuzhiyun pins = "gpio83", "gpio84"; 530*4882a593Smuzhiyun drive-strength = <2>; 531*4882a593Smuzhiyun bias-disable; 532*4882a593Smuzhiyun }; 533*4882a593Smuzhiyun 534*4882a593Smuzhiyun i2c6_default: i2c6-default { 535*4882a593Smuzhiyun function = "blsp_i2c6"; 536*4882a593Smuzhiyun pins = "gpio28", "gpio27"; 537*4882a593Smuzhiyun drive-strength = <2>; 538*4882a593Smuzhiyun bias-disable; 539*4882a593Smuzhiyun }; 540*4882a593Smuzhiyun 541*4882a593Smuzhiyun i2c6_sleep: i2c6-sleep { 542*4882a593Smuzhiyun function = "gpio"; 543*4882a593Smuzhiyun pins = "gpio28", "gpio27"; 544*4882a593Smuzhiyun drive-strength = <2>; 545*4882a593Smuzhiyun bias-disable; 546*4882a593Smuzhiyun }; 547*4882a593Smuzhiyun 548*4882a593Smuzhiyun i2c7_default: i2c7-default { 549*4882a593Smuzhiyun function = "blsp_i2c7"; 550*4882a593Smuzhiyun pins = "gpio43", "gpio44"; 551*4882a593Smuzhiyun drive-strength = <2>; 552*4882a593Smuzhiyun bias-disable; 553*4882a593Smuzhiyun }; 554*4882a593Smuzhiyun 555*4882a593Smuzhiyun i2c7_sleep: i2c7-sleep { 556*4882a593Smuzhiyun function = "gpio"; 557*4882a593Smuzhiyun pins = "gpio43", "gpio44"; 558*4882a593Smuzhiyun drive-strength = <2>; 559*4882a593Smuzhiyun bias-disable; 560*4882a593Smuzhiyun }; 561*4882a593Smuzhiyun 562*4882a593Smuzhiyun i2c13_default: i2c13-default { 563*4882a593Smuzhiyun /* Not a typo either. */ 564*4882a593Smuzhiyun function = "blsp_i2c5"; 565*4882a593Smuzhiyun pins = "gpio23", "gpio24"; 566*4882a593Smuzhiyun drive-strength = <2>; 567*4882a593Smuzhiyun bias-disable; 568*4882a593Smuzhiyun }; 569*4882a593Smuzhiyun 570*4882a593Smuzhiyun i2c13_sleep: i2c13-sleep { 571*4882a593Smuzhiyun function = "gpio"; 572*4882a593Smuzhiyun pins = "gpio23", "gpio24"; 573*4882a593Smuzhiyun drive-strength = <2>; 574*4882a593Smuzhiyun bias-disable; 575*4882a593Smuzhiyun }; 576*4882a593Smuzhiyun }; 577*4882a593Smuzhiyun }; 578*4882a593Smuzhiyun 579*4882a593Smuzhiyun smd_rpm: smd { 580*4882a593Smuzhiyun compatible = "qcom,smd"; 581*4882a593Smuzhiyun rpm { 582*4882a593Smuzhiyun interrupts = <GIC_SPI 168 IRQ_TYPE_EDGE_RISING>; 583*4882a593Smuzhiyun qcom,ipc = <&apcs 8 0>; 584*4882a593Smuzhiyun qcom,smd-edge = <15>; 585*4882a593Smuzhiyun qcom,local-pid = <0>; 586*4882a593Smuzhiyun qcom,remote-pid = <6>; 587*4882a593Smuzhiyun 588*4882a593Smuzhiyun rpm_requests: rpm-requests { 589*4882a593Smuzhiyun compatible = "qcom,rpm-msm8994"; 590*4882a593Smuzhiyun qcom,smd-channels = "rpm_requests"; 591*4882a593Smuzhiyun 592*4882a593Smuzhiyun rpmcc: rpmcc { 593*4882a593Smuzhiyun compatible = "qcom,rpmcc-msm8992"; 594*4882a593Smuzhiyun #clock-cells = <1>; 595*4882a593Smuzhiyun }; 596*4882a593Smuzhiyun }; 597*4882a593Smuzhiyun }; 598*4882a593Smuzhiyun }; 599*4882a593Smuzhiyun 600*4882a593Smuzhiyun timer { 601*4882a593Smuzhiyun compatible = "arm,armv8-timer"; 602*4882a593Smuzhiyun interrupts = <GIC_PPI 2 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 603*4882a593Smuzhiyun <GIC_PPI 3 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 604*4882a593Smuzhiyun <GIC_PPI 4 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 605*4882a593Smuzhiyun <GIC_PPI 1 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>; 606*4882a593Smuzhiyun }; 607*4882a593Smuzhiyun 608*4882a593Smuzhiyun vreg_vph_pwr: vreg-vph-pwr { 609*4882a593Smuzhiyun compatible = "regulator-fixed"; 610*4882a593Smuzhiyun status = "okay"; 611*4882a593Smuzhiyun regulator-name = "vph-pwr"; 612*4882a593Smuzhiyun 613*4882a593Smuzhiyun regulator-min-microvolt = <3600000>; 614*4882a593Smuzhiyun regulator-max-microvolt = <3600000>; 615*4882a593Smuzhiyun 616*4882a593Smuzhiyun regulator-always-on; 617*4882a593Smuzhiyun }; 618*4882a593Smuzhiyun}; 619*4882a593Smuzhiyun 620