1*8bab661aSEmmanuel Vadot// SPDX-License-Identifier: BSD-3-Clause 2*8bab661aSEmmanuel Vadot/* 3*8bab661aSEmmanuel Vadot * Copyright (c) 2016-2022, AngeloGioacchino Del Regno 4*8bab661aSEmmanuel Vadot * <angelogioacchino.delregno@collabora.com> 5*8bab661aSEmmanuel Vadot * Copyright (c) 2022, Konrad Dybcio <konrad.dybcio@somainline.org> 6*8bab661aSEmmanuel Vadot * Copyright (c) 2022, Marijn Suijten <marijn.suijten@somainline.org> 7*8bab661aSEmmanuel Vadot */ 8*8bab661aSEmmanuel Vadot 9*8bab661aSEmmanuel Vadot#include <dt-bindings/clock/qcom,gcc-msm8976.h> 10*8bab661aSEmmanuel Vadot#include <dt-bindings/clock/qcom,rpmcc.h> 11*8bab661aSEmmanuel Vadot#include <dt-bindings/gpio/gpio.h> 12*8bab661aSEmmanuel Vadot#include <dt-bindings/interrupt-controller/arm-gic.h> 13*8bab661aSEmmanuel Vadot#include <dt-bindings/interrupt-controller/irq.h> 14*8bab661aSEmmanuel Vadot#include <dt-bindings/power/qcom-rpmpd.h> 15*8bab661aSEmmanuel Vadot 16*8bab661aSEmmanuel Vadot/ { 17*8bab661aSEmmanuel Vadot interrupt-parent = <&intc>; 18*8bab661aSEmmanuel Vadot #address-cells = <2>; 19*8bab661aSEmmanuel Vadot #size-cells = <2>; 20*8bab661aSEmmanuel Vadot 21*8bab661aSEmmanuel Vadot chosen { }; 22*8bab661aSEmmanuel Vadot 23*8bab661aSEmmanuel Vadot cpus { 24*8bab661aSEmmanuel Vadot #address-cells = <1>; 25*8bab661aSEmmanuel Vadot #size-cells = <0>; 26*8bab661aSEmmanuel Vadot 27*8bab661aSEmmanuel Vadot CPU0: cpu@0 { 28*8bab661aSEmmanuel Vadot device_type = "cpu"; 29*8bab661aSEmmanuel Vadot compatible = "arm,cortex-a53"; 30*8bab661aSEmmanuel Vadot reg = <0x0>; 31*8bab661aSEmmanuel Vadot enable-method = "psci"; 32*8bab661aSEmmanuel Vadot cpu-idle-states = <&little_cpu_sleep_0>; 33*8bab661aSEmmanuel Vadot capacity-dmips-mhz = <573>; 34*8bab661aSEmmanuel Vadot next-level-cache = <&l2_0>; 35*8bab661aSEmmanuel Vadot #cooling-cells = <2>; 36*8bab661aSEmmanuel Vadot }; 37*8bab661aSEmmanuel Vadot 38*8bab661aSEmmanuel Vadot CPU1: cpu@1 { 39*8bab661aSEmmanuel Vadot device_type = "cpu"; 40*8bab661aSEmmanuel Vadot compatible = "arm,cortex-a53"; 41*8bab661aSEmmanuel Vadot reg = <0x1>; 42*8bab661aSEmmanuel Vadot enable-method = "psci"; 43*8bab661aSEmmanuel Vadot cpu-idle-states = <&little_cpu_sleep_0>; 44*8bab661aSEmmanuel Vadot capacity-dmips-mhz = <573>; 45*8bab661aSEmmanuel Vadot next-level-cache = <&l2_0>; 46*8bab661aSEmmanuel Vadot #cooling-cells = <2>; 47*8bab661aSEmmanuel Vadot }; 48*8bab661aSEmmanuel Vadot 49*8bab661aSEmmanuel Vadot CPU2: cpu@2 { 50*8bab661aSEmmanuel Vadot device_type = "cpu"; 51*8bab661aSEmmanuel Vadot compatible = "arm,cortex-a53"; 52*8bab661aSEmmanuel Vadot reg = <0x2>; 53*8bab661aSEmmanuel Vadot enable-method = "psci"; 54*8bab661aSEmmanuel Vadot cpu-idle-states = <&little_cpu_sleep_0>; 55*8bab661aSEmmanuel Vadot capacity-dmips-mhz = <573>; 56*8bab661aSEmmanuel Vadot next-level-cache = <&l2_0>; 57*8bab661aSEmmanuel Vadot #cooling-cells = <2>; 58*8bab661aSEmmanuel Vadot }; 59*8bab661aSEmmanuel Vadot 60*8bab661aSEmmanuel Vadot CPU3: cpu@3 { 61*8bab661aSEmmanuel Vadot device_type = "cpu"; 62*8bab661aSEmmanuel Vadot compatible = "arm,cortex-a53"; 63*8bab661aSEmmanuel Vadot reg = <0x3>; 64*8bab661aSEmmanuel Vadot enable-method = "psci"; 65*8bab661aSEmmanuel Vadot cpu-idle-states = <&little_cpu_sleep_0>; 66*8bab661aSEmmanuel Vadot capacity-dmips-mhz = <573>; 67*8bab661aSEmmanuel Vadot next-level-cache = <&l2_0>; 68*8bab661aSEmmanuel Vadot #cooling-cells = <2>; 69*8bab661aSEmmanuel Vadot }; 70*8bab661aSEmmanuel Vadot 71*8bab661aSEmmanuel Vadot CPU4: cpu@100 { 72*8bab661aSEmmanuel Vadot device_type = "cpu"; 73*8bab661aSEmmanuel Vadot compatible = "arm,cortex-a72"; 74*8bab661aSEmmanuel Vadot reg = <0x100>; 75*8bab661aSEmmanuel Vadot enable-method = "psci"; 76*8bab661aSEmmanuel Vadot cpu-idle-states = <&big_cpu_sleep_0 &big_cpu_sleep_1>; 77*8bab661aSEmmanuel Vadot capacity-dmips-mhz = <1024>; 78*8bab661aSEmmanuel Vadot next-level-cache = <&l2_1>; 79*8bab661aSEmmanuel Vadot #cooling-cells = <2>; 80*8bab661aSEmmanuel Vadot }; 81*8bab661aSEmmanuel Vadot 82*8bab661aSEmmanuel Vadot CPU5: cpu@101 { 83*8bab661aSEmmanuel Vadot device_type = "cpu"; 84*8bab661aSEmmanuel Vadot compatible = "arm,cortex-a72"; 85*8bab661aSEmmanuel Vadot reg = <0x101>; 86*8bab661aSEmmanuel Vadot enable-method = "psci"; 87*8bab661aSEmmanuel Vadot cpu-idle-states = <&big_cpu_sleep_0 &big_cpu_sleep_1>; 88*8bab661aSEmmanuel Vadot capacity-dmips-mhz = <1024>; 89*8bab661aSEmmanuel Vadot next-level-cache = <&l2_1>; 90*8bab661aSEmmanuel Vadot #cooling-cells = <2>; 91*8bab661aSEmmanuel Vadot }; 92*8bab661aSEmmanuel Vadot 93*8bab661aSEmmanuel Vadot CPU6: cpu@102 { 94*8bab661aSEmmanuel Vadot device_type = "cpu"; 95*8bab661aSEmmanuel Vadot compatible = "arm,cortex-a72"; 96*8bab661aSEmmanuel Vadot reg = <0x102>; 97*8bab661aSEmmanuel Vadot enable-method = "psci"; 98*8bab661aSEmmanuel Vadot cpu-idle-states = <&big_cpu_sleep_0 &big_cpu_sleep_1>; 99*8bab661aSEmmanuel Vadot capacity-dmips-mhz = <1024>; 100*8bab661aSEmmanuel Vadot next-level-cache = <&l2_1>; 101*8bab661aSEmmanuel Vadot #cooling-cells = <2>; 102*8bab661aSEmmanuel Vadot }; 103*8bab661aSEmmanuel Vadot 104*8bab661aSEmmanuel Vadot CPU7: cpu@103 { 105*8bab661aSEmmanuel Vadot device_type = "cpu"; 106*8bab661aSEmmanuel Vadot compatible = "arm,cortex-a72"; 107*8bab661aSEmmanuel Vadot reg = <0x103>; 108*8bab661aSEmmanuel Vadot enable-method = "psci"; 109*8bab661aSEmmanuel Vadot cpu-idle-states = <&big_cpu_sleep_0 &big_cpu_sleep_1>; 110*8bab661aSEmmanuel Vadot capacity-dmips-mhz = <1024>; 111*8bab661aSEmmanuel Vadot next-level-cache = <&l2_1>; 112*8bab661aSEmmanuel Vadot #cooling-cells = <2>; 113*8bab661aSEmmanuel Vadot }; 114*8bab661aSEmmanuel Vadot 115*8bab661aSEmmanuel Vadot cpu-map { 116*8bab661aSEmmanuel Vadot cluster0 { 117*8bab661aSEmmanuel Vadot core0 { 118*8bab661aSEmmanuel Vadot cpu = <&CPU0>; 119*8bab661aSEmmanuel Vadot }; 120*8bab661aSEmmanuel Vadot 121*8bab661aSEmmanuel Vadot core1 { 122*8bab661aSEmmanuel Vadot cpu = <&CPU1>; 123*8bab661aSEmmanuel Vadot }; 124*8bab661aSEmmanuel Vadot 125*8bab661aSEmmanuel Vadot core2 { 126*8bab661aSEmmanuel Vadot cpu = <&CPU2>; 127*8bab661aSEmmanuel Vadot }; 128*8bab661aSEmmanuel Vadot 129*8bab661aSEmmanuel Vadot core3 { 130*8bab661aSEmmanuel Vadot cpu = <&CPU3>; 131*8bab661aSEmmanuel Vadot }; 132*8bab661aSEmmanuel Vadot }; 133*8bab661aSEmmanuel Vadot 134*8bab661aSEmmanuel Vadot cluster1 { 135*8bab661aSEmmanuel Vadot core0 { 136*8bab661aSEmmanuel Vadot cpu = <&CPU4>; 137*8bab661aSEmmanuel Vadot }; 138*8bab661aSEmmanuel Vadot 139*8bab661aSEmmanuel Vadot core1 { 140*8bab661aSEmmanuel Vadot cpu = <&CPU5>; 141*8bab661aSEmmanuel Vadot }; 142*8bab661aSEmmanuel Vadot 143*8bab661aSEmmanuel Vadot core2 { 144*8bab661aSEmmanuel Vadot cpu = <&CPU6>; 145*8bab661aSEmmanuel Vadot }; 146*8bab661aSEmmanuel Vadot 147*8bab661aSEmmanuel Vadot core3 { 148*8bab661aSEmmanuel Vadot cpu = <&CPU7>; 149*8bab661aSEmmanuel Vadot }; 150*8bab661aSEmmanuel Vadot }; 151*8bab661aSEmmanuel Vadot }; 152*8bab661aSEmmanuel Vadot 153*8bab661aSEmmanuel Vadot idle-states { 154*8bab661aSEmmanuel Vadot entry-method = "psci"; 155*8bab661aSEmmanuel Vadot 156*8bab661aSEmmanuel Vadot little_cpu_sleep_0: cpu-sleep-0-0 { 157*8bab661aSEmmanuel Vadot compatible = "arm,idle-state"; 158*8bab661aSEmmanuel Vadot idle-state-name = "little-power-collapse"; 159*8bab661aSEmmanuel Vadot arm,psci-suspend-param = <0x40000003>; 160*8bab661aSEmmanuel Vadot entry-latency-us = <181>; 161*8bab661aSEmmanuel Vadot exit-latency-us = <149>; 162*8bab661aSEmmanuel Vadot min-residency-us = <703>; 163*8bab661aSEmmanuel Vadot local-timer-stop; 164*8bab661aSEmmanuel Vadot }; 165*8bab661aSEmmanuel Vadot 166*8bab661aSEmmanuel Vadot big_cpu_sleep_0: cpu-sleep-1-0 { 167*8bab661aSEmmanuel Vadot compatible = "arm,idle-state"; 168*8bab661aSEmmanuel Vadot idle-state-name = "big-retention"; 169*8bab661aSEmmanuel Vadot arm,psci-suspend-param = <0x00000002>; 170*8bab661aSEmmanuel Vadot entry-latency-us = <142>; 171*8bab661aSEmmanuel Vadot exit-latency-us = <99>; 172*8bab661aSEmmanuel Vadot min-residency-us = <242>; 173*8bab661aSEmmanuel Vadot }; 174*8bab661aSEmmanuel Vadot 175*8bab661aSEmmanuel Vadot big_cpu_sleep_1: cpu-sleep-1-1 { 176*8bab661aSEmmanuel Vadot compatible = "arm,idle-state"; 177*8bab661aSEmmanuel Vadot idle-state-name = "big-power-collapse"; 178*8bab661aSEmmanuel Vadot arm,psci-suspend-param = <0x40000003>; 179*8bab661aSEmmanuel Vadot entry-latency-us = <158>; 180*8bab661aSEmmanuel Vadot exit-latency-us = <144>; 181*8bab661aSEmmanuel Vadot min-residency-us = <863>; 182*8bab661aSEmmanuel Vadot local-timer-stop; 183*8bab661aSEmmanuel Vadot }; 184*8bab661aSEmmanuel Vadot }; 185*8bab661aSEmmanuel Vadot 186*8bab661aSEmmanuel Vadot l2_0: l2-cache0 { 187*8bab661aSEmmanuel Vadot compatible = "cache"; 188*8bab661aSEmmanuel Vadot cache-level = <2>; 189*8bab661aSEmmanuel Vadot }; 190*8bab661aSEmmanuel Vadot 191*8bab661aSEmmanuel Vadot l2_1: l2-cache1 { 192*8bab661aSEmmanuel Vadot compatible = "cache"; 193*8bab661aSEmmanuel Vadot cache-level = <2>; 194*8bab661aSEmmanuel Vadot }; 195*8bab661aSEmmanuel Vadot }; 196*8bab661aSEmmanuel Vadot 197*8bab661aSEmmanuel Vadot firmware { 198*8bab661aSEmmanuel Vadot scm: scm { 199*8bab661aSEmmanuel Vadot compatible = "qcom,scm-msm8976", "qcom,scm"; 200*8bab661aSEmmanuel Vadot clocks = <&gcc GCC_CRYPTO_CLK>, 201*8bab661aSEmmanuel Vadot <&gcc GCC_CRYPTO_AXI_CLK>, 202*8bab661aSEmmanuel Vadot <&gcc GCC_CRYPTO_AHB_CLK>; 203*8bab661aSEmmanuel Vadot clock-names = "core", "bus", "iface"; 204*8bab661aSEmmanuel Vadot #reset-cells = <1>; 205*8bab661aSEmmanuel Vadot 206*8bab661aSEmmanuel Vadot qcom,dload-mode = <&tcsr 0x6100>; 207*8bab661aSEmmanuel Vadot }; 208*8bab661aSEmmanuel Vadot }; 209*8bab661aSEmmanuel Vadot 210*8bab661aSEmmanuel Vadot memory@80000000 { 211*8bab661aSEmmanuel Vadot device_type = "memory"; 212*8bab661aSEmmanuel Vadot /* We expect the bootloader to fill in the size */ 213*8bab661aSEmmanuel Vadot reg = <0x0 0x80000000 0x0 0x0>; 214*8bab661aSEmmanuel Vadot }; 215*8bab661aSEmmanuel Vadot 216*8bab661aSEmmanuel Vadot pmu: pmu { 217*8bab661aSEmmanuel Vadot compatible = "arm,armv8-pmuv3"; 218*8bab661aSEmmanuel Vadot interrupts = <GIC_PPI 7 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_HIGH)>; 219*8bab661aSEmmanuel Vadot }; 220*8bab661aSEmmanuel Vadot 221*8bab661aSEmmanuel Vadot psci { 222*8bab661aSEmmanuel Vadot compatible = "arm,psci-1.0"; 223*8bab661aSEmmanuel Vadot method = "smc"; 224*8bab661aSEmmanuel Vadot }; 225*8bab661aSEmmanuel Vadot 226*8bab661aSEmmanuel Vadot reserved-memory { 227*8bab661aSEmmanuel Vadot #address-cells = <2>; 228*8bab661aSEmmanuel Vadot #size-cells = <2>; 229*8bab661aSEmmanuel Vadot ranges; 230*8bab661aSEmmanuel Vadot 231*8bab661aSEmmanuel Vadot ext-region@85b00000 { 232*8bab661aSEmmanuel Vadot reg = <0x0 0x85b00000 0x0 0x500000>; 233*8bab661aSEmmanuel Vadot no-map; 234*8bab661aSEmmanuel Vadot }; 235*8bab661aSEmmanuel Vadot 236*8bab661aSEmmanuel Vadot smem@86300000 { 237*8bab661aSEmmanuel Vadot compatible = "qcom,smem"; 238*8bab661aSEmmanuel Vadot reg = <0x0 0x86300000 0x0 0x100000>; 239*8bab661aSEmmanuel Vadot no-map; 240*8bab661aSEmmanuel Vadot 241*8bab661aSEmmanuel Vadot hwlocks = <&tcsr_mutex 3>; 242*8bab661aSEmmanuel Vadot qcom,rpm-msg-ram = <&rpm_msg_ram>; 243*8bab661aSEmmanuel Vadot }; 244*8bab661aSEmmanuel Vadot 245*8bab661aSEmmanuel Vadot reserved@86400000 { 246*8bab661aSEmmanuel Vadot reg = <0x0 0x86400000 0x0 0x800000>; 247*8bab661aSEmmanuel Vadot no-map; 248*8bab661aSEmmanuel Vadot }; 249*8bab661aSEmmanuel Vadot 250*8bab661aSEmmanuel Vadot mpss_mem: mpss@86c00000 { 251*8bab661aSEmmanuel Vadot reg = <0x0 0x86c00000 0x0 0x5600000>; 252*8bab661aSEmmanuel Vadot no-map; 253*8bab661aSEmmanuel Vadot }; 254*8bab661aSEmmanuel Vadot 255*8bab661aSEmmanuel Vadot lpass_mem: lpass@8c200000 { 256*8bab661aSEmmanuel Vadot reg = <0x0 0x8c200000 0x0 0x1800000>; 257*8bab661aSEmmanuel Vadot no-map; 258*8bab661aSEmmanuel Vadot }; 259*8bab661aSEmmanuel Vadot 260*8bab661aSEmmanuel Vadot venus_mem: memory@8da00000 { 261*8bab661aSEmmanuel Vadot reg = <0x0 0x8da00000 0x0 0x2600000>; 262*8bab661aSEmmanuel Vadot no-map; 263*8bab661aSEmmanuel Vadot }; 264*8bab661aSEmmanuel Vadot 265*8bab661aSEmmanuel Vadot tz-apps@8dd00000 { 266*8bab661aSEmmanuel Vadot reg = <0x0 0x8dd00000 0x0 0x1400000>; 267*8bab661aSEmmanuel Vadot no-map; 268*8bab661aSEmmanuel Vadot }; 269*8bab661aSEmmanuel Vadot }; 270*8bab661aSEmmanuel Vadot 271*8bab661aSEmmanuel Vadot smp2p-hexagon { 272*8bab661aSEmmanuel Vadot compatible = "qcom,smp2p"; 273*8bab661aSEmmanuel Vadot interrupts = <GIC_SPI 291 IRQ_TYPE_EDGE_RISING>; 274*8bab661aSEmmanuel Vadot qcom,ipc = <&apcs 8 10>; 275*8bab661aSEmmanuel Vadot 276*8bab661aSEmmanuel Vadot qcom,local-pid = <0>; 277*8bab661aSEmmanuel Vadot qcom,remote-pid = <2>; 278*8bab661aSEmmanuel Vadot qcom,smem = <443>, <429>; 279*8bab661aSEmmanuel Vadot 280*8bab661aSEmmanuel Vadot adsp_smp2p_out: master-kernel { 281*8bab661aSEmmanuel Vadot qcom,entry-name = "master-kernel"; 282*8bab661aSEmmanuel Vadot 283*8bab661aSEmmanuel Vadot #qcom,smem-state-cells = <1>; 284*8bab661aSEmmanuel Vadot }; 285*8bab661aSEmmanuel Vadot 286*8bab661aSEmmanuel Vadot adsp_smp2p_in: slave-kernel { 287*8bab661aSEmmanuel Vadot qcom,entry-name = "slave-kernel"; 288*8bab661aSEmmanuel Vadot 289*8bab661aSEmmanuel Vadot interrupt-controller; 290*8bab661aSEmmanuel Vadot #interrupt-cells = <2>; 291*8bab661aSEmmanuel Vadot }; 292*8bab661aSEmmanuel Vadot }; 293*8bab661aSEmmanuel Vadot 294*8bab661aSEmmanuel Vadot smp2p-modem { 295*8bab661aSEmmanuel Vadot compatible = "qcom,smp2p"; 296*8bab661aSEmmanuel Vadot interrupts = <GIC_SPI 27 IRQ_TYPE_EDGE_RISING>; 297*8bab661aSEmmanuel Vadot qcom,ipc = <&apcs 8 13>; 298*8bab661aSEmmanuel Vadot 299*8bab661aSEmmanuel Vadot qcom,local-pid = <0>; 300*8bab661aSEmmanuel Vadot qcom,remote-pid = <1>; 301*8bab661aSEmmanuel Vadot qcom,smem = <435>, <428>; 302*8bab661aSEmmanuel Vadot 303*8bab661aSEmmanuel Vadot modem_smp2p_out: master-kernel { 304*8bab661aSEmmanuel Vadot qcom,entry-name = "master-kernel"; 305*8bab661aSEmmanuel Vadot 306*8bab661aSEmmanuel Vadot #qcom,smem-state-cells = <1>; 307*8bab661aSEmmanuel Vadot }; 308*8bab661aSEmmanuel Vadot 309*8bab661aSEmmanuel Vadot modem_smp2p_in: slave-kernel { 310*8bab661aSEmmanuel Vadot qcom,entry-name = "slave-kernel"; 311*8bab661aSEmmanuel Vadot 312*8bab661aSEmmanuel Vadot interrupt-controller; 313*8bab661aSEmmanuel Vadot #interrupt-cells = <2>; 314*8bab661aSEmmanuel Vadot }; 315*8bab661aSEmmanuel Vadot }; 316*8bab661aSEmmanuel Vadot 317*8bab661aSEmmanuel Vadot smp2p-wcnss { 318*8bab661aSEmmanuel Vadot compatible = "qcom,smp2p"; 319*8bab661aSEmmanuel Vadot interrupts = <GIC_SPI 143 IRQ_TYPE_EDGE_RISING>; 320*8bab661aSEmmanuel Vadot qcom,ipc = <&apcs 8 17>; 321*8bab661aSEmmanuel Vadot 322*8bab661aSEmmanuel Vadot qcom,local-pid = <0>; 323*8bab661aSEmmanuel Vadot qcom,remote-pid = <4>; 324*8bab661aSEmmanuel Vadot qcom,smem = <451>, <431>; 325*8bab661aSEmmanuel Vadot 326*8bab661aSEmmanuel Vadot wcnss_smp2p_out: master-kernel { 327*8bab661aSEmmanuel Vadot qcom,entry-name = "master-kernel"; 328*8bab661aSEmmanuel Vadot 329*8bab661aSEmmanuel Vadot #qcom,smem-state-cells = <1>; 330*8bab661aSEmmanuel Vadot }; 331*8bab661aSEmmanuel Vadot 332*8bab661aSEmmanuel Vadot wcnss_smp2p_in: slave-kernel { 333*8bab661aSEmmanuel Vadot qcom,entry-name = "slave-kernel"; 334*8bab661aSEmmanuel Vadot 335*8bab661aSEmmanuel Vadot interrupt-controller; 336*8bab661aSEmmanuel Vadot #interrupt-cells = <2>; 337*8bab661aSEmmanuel Vadot }; 338*8bab661aSEmmanuel Vadot }; 339*8bab661aSEmmanuel Vadot 340*8bab661aSEmmanuel Vadot smd { 341*8bab661aSEmmanuel Vadot compatible = "qcom,smd"; 342*8bab661aSEmmanuel Vadot 343*8bab661aSEmmanuel Vadot rpm { 344*8bab661aSEmmanuel Vadot interrupts = <GIC_SPI 168 IRQ_TYPE_EDGE_RISING>; 345*8bab661aSEmmanuel Vadot qcom,ipc = <&apcs 8 0>; 346*8bab661aSEmmanuel Vadot qcom,smd-edge = <15>; 347*8bab661aSEmmanuel Vadot 348*8bab661aSEmmanuel Vadot rpm_requests: rpm-requests { 349*8bab661aSEmmanuel Vadot compatible = "qcom,rpm-msm8976"; 350*8bab661aSEmmanuel Vadot qcom,smd-channels = "rpm_requests"; 351*8bab661aSEmmanuel Vadot 352*8bab661aSEmmanuel Vadot rpmcc: clock-controller { 353*8bab661aSEmmanuel Vadot compatible = "qcom,rpmcc-msm8976", "qcom,rpmcc"; 354*8bab661aSEmmanuel Vadot #clock-cells = <1>; 355*8bab661aSEmmanuel Vadot }; 356*8bab661aSEmmanuel Vadot 357*8bab661aSEmmanuel Vadot rpmpd: power-controller { 358*8bab661aSEmmanuel Vadot compatible = "qcom,msm8976-rpmpd"; 359*8bab661aSEmmanuel Vadot #power-domain-cells = <1>; 360*8bab661aSEmmanuel Vadot operating-points-v2 = <&rpmpd_opp_table>; 361*8bab661aSEmmanuel Vadot 362*8bab661aSEmmanuel Vadot rpmpd_opp_table: opp-table { 363*8bab661aSEmmanuel Vadot compatible = "operating-points-v2"; 364*8bab661aSEmmanuel Vadot 365*8bab661aSEmmanuel Vadot rpmpd_opp_ret: opp1 { 366*8bab661aSEmmanuel Vadot opp-level = <RPM_SMD_LEVEL_RETENTION>; 367*8bab661aSEmmanuel Vadot }; 368*8bab661aSEmmanuel Vadot 369*8bab661aSEmmanuel Vadot rpmpd_opp_ret_plus: opp2 { 370*8bab661aSEmmanuel Vadot opp-level = <RPM_SMD_LEVEL_RETENTION_PLUS>; 371*8bab661aSEmmanuel Vadot }; 372*8bab661aSEmmanuel Vadot 373*8bab661aSEmmanuel Vadot rpmpd_opp_min_svs: opp3 { 374*8bab661aSEmmanuel Vadot opp-level = <RPM_SMD_LEVEL_MIN_SVS>; 375*8bab661aSEmmanuel Vadot }; 376*8bab661aSEmmanuel Vadot 377*8bab661aSEmmanuel Vadot rpmpd_opp_low_svs: opp4 { 378*8bab661aSEmmanuel Vadot opp-level = <RPM_SMD_LEVEL_LOW_SVS>; 379*8bab661aSEmmanuel Vadot }; 380*8bab661aSEmmanuel Vadot 381*8bab661aSEmmanuel Vadot rpmpd_opp_svs: opp5 { 382*8bab661aSEmmanuel Vadot opp-level = <RPM_SMD_LEVEL_SVS>; 383*8bab661aSEmmanuel Vadot }; 384*8bab661aSEmmanuel Vadot 385*8bab661aSEmmanuel Vadot rpmpd_opp_svs_plus: opp6 { 386*8bab661aSEmmanuel Vadot opp-level = <RPM_SMD_LEVEL_SVS_PLUS>; 387*8bab661aSEmmanuel Vadot }; 388*8bab661aSEmmanuel Vadot 389*8bab661aSEmmanuel Vadot rpmpd_opp_nom: opp7 { 390*8bab661aSEmmanuel Vadot opp-level = <RPM_SMD_LEVEL_NOM>; 391*8bab661aSEmmanuel Vadot }; 392*8bab661aSEmmanuel Vadot 393*8bab661aSEmmanuel Vadot rpmpd_opp_nom_plus: opp8 { 394*8bab661aSEmmanuel Vadot opp-level = <RPM_SMD_LEVEL_NOM_PLUS>; 395*8bab661aSEmmanuel Vadot }; 396*8bab661aSEmmanuel Vadot 397*8bab661aSEmmanuel Vadot rpmpd_opp_turbo: opp9 { 398*8bab661aSEmmanuel Vadot opp-level = <RPM_SMD_LEVEL_TURBO>; 399*8bab661aSEmmanuel Vadot }; 400*8bab661aSEmmanuel Vadot 401*8bab661aSEmmanuel Vadot rpmpd_opp_turbo_no_cpr: opp10 { 402*8bab661aSEmmanuel Vadot opp-level = <RPM_SMD_LEVEL_TURBO_NO_CPR>; 403*8bab661aSEmmanuel Vadot }; 404*8bab661aSEmmanuel Vadot 405*8bab661aSEmmanuel Vadot rpmpd_opp_turbo_high: opp111 { 406*8bab661aSEmmanuel Vadot opp-level = <RPM_SMD_LEVEL_TURBO_HIGH>; 407*8bab661aSEmmanuel Vadot }; 408*8bab661aSEmmanuel Vadot }; 409*8bab661aSEmmanuel Vadot }; 410*8bab661aSEmmanuel Vadot }; 411*8bab661aSEmmanuel Vadot }; 412*8bab661aSEmmanuel Vadot }; 413*8bab661aSEmmanuel Vadot 414*8bab661aSEmmanuel Vadot smsm { 415*8bab661aSEmmanuel Vadot compatible = "qcom,smsm"; 416*8bab661aSEmmanuel Vadot 417*8bab661aSEmmanuel Vadot #address-cells = <1>; 418*8bab661aSEmmanuel Vadot #size-cells = <0>; 419*8bab661aSEmmanuel Vadot 420*8bab661aSEmmanuel Vadot qcom,ipc-1 = <&apcs 8 12>; 421*8bab661aSEmmanuel Vadot qcom,ipc-2 = <&apcs 8 9>; 422*8bab661aSEmmanuel Vadot qcom,ipc-3 = <&apcs 8 18>; 423*8bab661aSEmmanuel Vadot 424*8bab661aSEmmanuel Vadot apps_smsm: apps@0 { 425*8bab661aSEmmanuel Vadot reg = <0>; 426*8bab661aSEmmanuel Vadot #qcom,smem-state-cells = <1>; 427*8bab661aSEmmanuel Vadot }; 428*8bab661aSEmmanuel Vadot 429*8bab661aSEmmanuel Vadot hexagon_smsm: hexagon@1 { 430*8bab661aSEmmanuel Vadot reg = <1>; 431*8bab661aSEmmanuel Vadot interrupts = <0 290 IRQ_TYPE_EDGE_RISING>; 432*8bab661aSEmmanuel Vadot 433*8bab661aSEmmanuel Vadot interrupt-controller; 434*8bab661aSEmmanuel Vadot #interrupt-cells = <2>; 435*8bab661aSEmmanuel Vadot }; 436*8bab661aSEmmanuel Vadot 437*8bab661aSEmmanuel Vadot wcnss_smsm: wcnss@6 { 438*8bab661aSEmmanuel Vadot reg = <6>; 439*8bab661aSEmmanuel Vadot interrupts = <GIC_SPI 144 IRQ_TYPE_EDGE_RISING>; 440*8bab661aSEmmanuel Vadot 441*8bab661aSEmmanuel Vadot interrupt-controller; 442*8bab661aSEmmanuel Vadot #interrupt-cells = <2>; 443*8bab661aSEmmanuel Vadot }; 444*8bab661aSEmmanuel Vadot }; 445*8bab661aSEmmanuel Vadot 446*8bab661aSEmmanuel Vadot soc: soc@0 { 447*8bab661aSEmmanuel Vadot #address-cells = <1>; 448*8bab661aSEmmanuel Vadot #size-cells = <1>; 449*8bab661aSEmmanuel Vadot ranges = <0 0 0 0xffffffff>; 450*8bab661aSEmmanuel Vadot compatible = "simple-bus"; 451*8bab661aSEmmanuel Vadot 452*8bab661aSEmmanuel Vadot rng@22000 { 453*8bab661aSEmmanuel Vadot compatible = "qcom,prng"; 454*8bab661aSEmmanuel Vadot reg = <0x00022000 0x140>; 455*8bab661aSEmmanuel Vadot clocks = <&gcc GCC_PRNG_AHB_CLK>; 456*8bab661aSEmmanuel Vadot clock-names = "core"; 457*8bab661aSEmmanuel Vadot }; 458*8bab661aSEmmanuel Vadot 459*8bab661aSEmmanuel Vadot rpm_msg_ram: sram@60000 { 460*8bab661aSEmmanuel Vadot compatible = "qcom,rpm-msg-ram"; 461*8bab661aSEmmanuel Vadot reg = <0x00060000 0x8000>; 462*8bab661aSEmmanuel Vadot }; 463*8bab661aSEmmanuel Vadot 464*8bab661aSEmmanuel Vadot usb_hs_phy: phy@6c000 { 465*8bab661aSEmmanuel Vadot compatible = "qcom,usb-hs-28nm-femtophy"; 466*8bab661aSEmmanuel Vadot reg = <0x0006c000 0x200>; 467*8bab661aSEmmanuel Vadot #phy-cells = <0>; 468*8bab661aSEmmanuel Vadot clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>, 469*8bab661aSEmmanuel Vadot <&gcc GCC_USB_HS_PHY_CFG_AHB_CLK>, 470*8bab661aSEmmanuel Vadot <&gcc GCC_USB2A_PHY_SLEEP_CLK>; 471*8bab661aSEmmanuel Vadot clock-names = "ref", "ahb", "sleep"; 472*8bab661aSEmmanuel Vadot resets = <&gcc RST_QUSB2_PHY_BCR>, 473*8bab661aSEmmanuel Vadot <&gcc RST_USB2_HS_PHY_ONLY_BCR>; 474*8bab661aSEmmanuel Vadot reset-names = "phy", "por"; 475*8bab661aSEmmanuel Vadot status = "disabled"; 476*8bab661aSEmmanuel Vadot }; 477*8bab661aSEmmanuel Vadot 478*8bab661aSEmmanuel Vadot qfprom: qfprom@a4000 { 479*8bab661aSEmmanuel Vadot compatible = "qcom,msm8976-qfprom", "qcom,qfprom"; 480*8bab661aSEmmanuel Vadot reg = <0x000a4000 0x1000>; 481*8bab661aSEmmanuel Vadot #address-cells = <1>; 482*8bab661aSEmmanuel Vadot #size-cells = <1>; 483*8bab661aSEmmanuel Vadot 484*8bab661aSEmmanuel Vadot tsens_caldata: caldata@218 { 485*8bab661aSEmmanuel Vadot reg = <0x218 0x18>; 486*8bab661aSEmmanuel Vadot }; 487*8bab661aSEmmanuel Vadot }; 488*8bab661aSEmmanuel Vadot 489*8bab661aSEmmanuel Vadot tsens: thermal-sensor@4a9000 { 490*8bab661aSEmmanuel Vadot compatible = "qcom,msm8976-tsens", "qcom,tsens-v1"; 491*8bab661aSEmmanuel Vadot reg = <0x004a9000 0x1000>, /* TM */ 492*8bab661aSEmmanuel Vadot <0x004a8000 0x1000>; /* SROT */ 493*8bab661aSEmmanuel Vadot interrupts = <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>; 494*8bab661aSEmmanuel Vadot interrupt-names = "uplow"; 495*8bab661aSEmmanuel Vadot nvmem-cells = <&tsens_caldata>; 496*8bab661aSEmmanuel Vadot nvmem-cell-names = "calib"; 497*8bab661aSEmmanuel Vadot #qcom,sensors = <11>; 498*8bab661aSEmmanuel Vadot #thermal-sensor-cells = <1>; 499*8bab661aSEmmanuel Vadot }; 500*8bab661aSEmmanuel Vadot 501*8bab661aSEmmanuel Vadot tlmm: pinctrl@1000000 { 502*8bab661aSEmmanuel Vadot compatible = "qcom,msm8976-pinctrl"; 503*8bab661aSEmmanuel Vadot reg = <0x01000000 0x300000>; 504*8bab661aSEmmanuel Vadot interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>; 505*8bab661aSEmmanuel Vadot #gpio-cells = <2>; 506*8bab661aSEmmanuel Vadot gpio-controller; 507*8bab661aSEmmanuel Vadot gpio-ranges = <&tlmm 0 0 145>; 508*8bab661aSEmmanuel Vadot interrupt-controller; 509*8bab661aSEmmanuel Vadot #interrupt-cells = <2>; 510*8bab661aSEmmanuel Vadot 511*8bab661aSEmmanuel Vadot spi1_default: spi0-default-state { 512*8bab661aSEmmanuel Vadot spi-pins { 513*8bab661aSEmmanuel Vadot pins = "gpio0", "gpio1", "gpio3"; 514*8bab661aSEmmanuel Vadot function = "blsp_spi1"; 515*8bab661aSEmmanuel Vadot drive-strength = <12>; 516*8bab661aSEmmanuel Vadot bias-disable; 517*8bab661aSEmmanuel Vadot }; 518*8bab661aSEmmanuel Vadot 519*8bab661aSEmmanuel Vadot cs-pins { 520*8bab661aSEmmanuel Vadot pins = "gpio2"; 521*8bab661aSEmmanuel Vadot function = "blsp_spi1"; 522*8bab661aSEmmanuel Vadot drive-strength = <2>; 523*8bab661aSEmmanuel Vadot bias-disable; 524*8bab661aSEmmanuel Vadot }; 525*8bab661aSEmmanuel Vadot }; 526*8bab661aSEmmanuel Vadot 527*8bab661aSEmmanuel Vadot spi1_sleep: spi0-sleep-state { 528*8bab661aSEmmanuel Vadot spi-pins { 529*8bab661aSEmmanuel Vadot pins = "gpio0", "gpio1", "gpio3"; 530*8bab661aSEmmanuel Vadot function = "gpio"; 531*8bab661aSEmmanuel Vadot drive-strength = <2>; 532*8bab661aSEmmanuel Vadot bias-pull-down; 533*8bab661aSEmmanuel Vadot }; 534*8bab661aSEmmanuel Vadot 535*8bab661aSEmmanuel Vadot cs-pins { 536*8bab661aSEmmanuel Vadot pins = "gpio2"; 537*8bab661aSEmmanuel Vadot function = "gpio"; 538*8bab661aSEmmanuel Vadot drive-strength = <2>; 539*8bab661aSEmmanuel Vadot bias-disable; 540*8bab661aSEmmanuel Vadot }; 541*8bab661aSEmmanuel Vadot }; 542*8bab661aSEmmanuel Vadot 543*8bab661aSEmmanuel Vadot blsp1_i2c2_default: blsp1-i2c2-default-state { 544*8bab661aSEmmanuel Vadot pins = "gpio6", "gpio7"; 545*8bab661aSEmmanuel Vadot function = "blsp_i2c2"; 546*8bab661aSEmmanuel Vadot drive-strength = <2>; 547*8bab661aSEmmanuel Vadot bias-disable; 548*8bab661aSEmmanuel Vadot }; 549*8bab661aSEmmanuel Vadot 550*8bab661aSEmmanuel Vadot blsp1_i2c2_sleep: blsp1-i2c2-sleep-state { 551*8bab661aSEmmanuel Vadot pins = "gpio6", "gpio7"; 552*8bab661aSEmmanuel Vadot function = "gpio"; 553*8bab661aSEmmanuel Vadot drive-strength = <2>; 554*8bab661aSEmmanuel Vadot bias-disable; 555*8bab661aSEmmanuel Vadot }; 556*8bab661aSEmmanuel Vadot 557*8bab661aSEmmanuel Vadot blsp1_i2c4_default: blsp1-i2c4-default-state { 558*8bab661aSEmmanuel Vadot pins = "gpio14", "gpio15"; 559*8bab661aSEmmanuel Vadot function = "blsp_i2c4"; 560*8bab661aSEmmanuel Vadot drive-strength = <2>; 561*8bab661aSEmmanuel Vadot bias-disable; 562*8bab661aSEmmanuel Vadot }; 563*8bab661aSEmmanuel Vadot 564*8bab661aSEmmanuel Vadot blsp1_i2c4_sleep: blsp1-i2c4-sleep-state { 565*8bab661aSEmmanuel Vadot pins = "gpio14", "gpio15"; 566*8bab661aSEmmanuel Vadot function = "gpio"; 567*8bab661aSEmmanuel Vadot drive-strength = <2>; 568*8bab661aSEmmanuel Vadot bias-disable; 569*8bab661aSEmmanuel Vadot }; 570*8bab661aSEmmanuel Vadot 571*8bab661aSEmmanuel Vadot blsp2_uart2_active: blsp2-uart2-active-state { 572*8bab661aSEmmanuel Vadot pins = "gpio20", "gpio21"; 573*8bab661aSEmmanuel Vadot function = "blsp_uart6"; 574*8bab661aSEmmanuel Vadot drive-strength = <4>; 575*8bab661aSEmmanuel Vadot bias-disable; 576*8bab661aSEmmanuel Vadot }; 577*8bab661aSEmmanuel Vadot 578*8bab661aSEmmanuel Vadot blsp2_uart2_sleep: blsp2-uart2-sleep-state { 579*8bab661aSEmmanuel Vadot pins = "gpio20", "gpio21"; 580*8bab661aSEmmanuel Vadot function = "gpio"; 581*8bab661aSEmmanuel Vadot drive-strength = <2>; 582*8bab661aSEmmanuel Vadot bias-disable; 583*8bab661aSEmmanuel Vadot }; 584*8bab661aSEmmanuel Vadot 585*8bab661aSEmmanuel Vadot /* 4 (not 6!) interfaces per QUP, BLSP2 indexes are numbered (n)+4 */ 586*8bab661aSEmmanuel Vadot blsp2_i2c2_default: blsp2-i2c2-default-state { 587*8bab661aSEmmanuel Vadot pins = "gpio22", "gpio23"; 588*8bab661aSEmmanuel Vadot function = "blsp_i2c6"; 589*8bab661aSEmmanuel Vadot drive-strength = <2>; 590*8bab661aSEmmanuel Vadot bias-disable; 591*8bab661aSEmmanuel Vadot }; 592*8bab661aSEmmanuel Vadot 593*8bab661aSEmmanuel Vadot blsp2_i2c2_sleep: blsp2-i2c2-sleep-state { 594*8bab661aSEmmanuel Vadot pins = "gpio22", "gpio23"; 595*8bab661aSEmmanuel Vadot function = "gpio"; 596*8bab661aSEmmanuel Vadot drive-strength = <2>; 597*8bab661aSEmmanuel Vadot bias-disable; 598*8bab661aSEmmanuel Vadot }; 599*8bab661aSEmmanuel Vadot 600*8bab661aSEmmanuel Vadot blsp2_i2c4_default: blsp2-i2c4-default-state { 601*8bab661aSEmmanuel Vadot pins = "gpio18", "gpio19"; 602*8bab661aSEmmanuel Vadot function = "blsp_i2c8"; 603*8bab661aSEmmanuel Vadot drive-strength = <2>; 604*8bab661aSEmmanuel Vadot bias-disable; 605*8bab661aSEmmanuel Vadot }; 606*8bab661aSEmmanuel Vadot 607*8bab661aSEmmanuel Vadot blsp2_i2c4_sleep: blsp2-i2c4-sleep-state { 608*8bab661aSEmmanuel Vadot pins = "gpio18", "gpio19"; 609*8bab661aSEmmanuel Vadot function = "gpio"; 610*8bab661aSEmmanuel Vadot drive-strength = <2>; 611*8bab661aSEmmanuel Vadot bias-disable; 612*8bab661aSEmmanuel Vadot }; 613*8bab661aSEmmanuel Vadot }; 614*8bab661aSEmmanuel Vadot 615*8bab661aSEmmanuel Vadot gcc: clock-controller@1800000 { 616*8bab661aSEmmanuel Vadot compatible = "qcom,gcc-msm8976"; 617*8bab661aSEmmanuel Vadot reg = <0x01800000 0x80000>; 618*8bab661aSEmmanuel Vadot #clock-cells = <1>; 619*8bab661aSEmmanuel Vadot #reset-cells = <1>; 620*8bab661aSEmmanuel Vadot #power-domain-cells = <1>; 621*8bab661aSEmmanuel Vadot 622*8bab661aSEmmanuel Vadot assigned-clocks = <&gcc GPLL3>; 623*8bab661aSEmmanuel Vadot assigned-clock-rates = <1100000000>; 624*8bab661aSEmmanuel Vadot 625*8bab661aSEmmanuel Vadot clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>, 626*8bab661aSEmmanuel Vadot <&rpmcc RPM_SMD_XO_A_CLK_SRC>, 627*8bab661aSEmmanuel Vadot <0>, 628*8bab661aSEmmanuel Vadot <0>, 629*8bab661aSEmmanuel Vadot <0>, 630*8bab661aSEmmanuel Vadot <0>; 631*8bab661aSEmmanuel Vadot clock-names = "xo", 632*8bab661aSEmmanuel Vadot "xo_a", 633*8bab661aSEmmanuel Vadot "dsi0pll", 634*8bab661aSEmmanuel Vadot "dsi0pllbyte", 635*8bab661aSEmmanuel Vadot "dsi1pll", 636*8bab661aSEmmanuel Vadot "dsi1pllbyte"; 637*8bab661aSEmmanuel Vadot }; 638*8bab661aSEmmanuel Vadot 639*8bab661aSEmmanuel Vadot tcsr_mutex: hwlock@1905000 { 640*8bab661aSEmmanuel Vadot compatible = "qcom,tcsr-mutex"; 641*8bab661aSEmmanuel Vadot reg = <0x01905000 0x20000>; 642*8bab661aSEmmanuel Vadot #hwlock-cells = <1>; 643*8bab661aSEmmanuel Vadot }; 644*8bab661aSEmmanuel Vadot 645*8bab661aSEmmanuel Vadot tcsr: syscon@1937000 { 646*8bab661aSEmmanuel Vadot compatible = "qcom,msm8976-tcsr", "syscon"; 647*8bab661aSEmmanuel Vadot reg = <0x01937000 0x30000>; 648*8bab661aSEmmanuel Vadot }; 649*8bab661aSEmmanuel Vadot 650*8bab661aSEmmanuel Vadot spmi_bus: spmi@200f000 { 651*8bab661aSEmmanuel Vadot compatible = "qcom,spmi-pmic-arb"; 652*8bab661aSEmmanuel Vadot reg = <0x0200f000 0x1000>, 653*8bab661aSEmmanuel Vadot <0x02400000 0x800000>, 654*8bab661aSEmmanuel Vadot <0x02c00000 0x800000>, 655*8bab661aSEmmanuel Vadot <0x03800000 0x200000>, 656*8bab661aSEmmanuel Vadot <0x0200a000 0x2100>; 657*8bab661aSEmmanuel Vadot reg-names = "core", "chnls", "obsrvr", "intr", "cnfg"; 658*8bab661aSEmmanuel Vadot interrupts = <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>; 659*8bab661aSEmmanuel Vadot interrupt-names = "periph_irq"; 660*8bab661aSEmmanuel Vadot qcom,channel = <0>; 661*8bab661aSEmmanuel Vadot qcom,ee = <0>; 662*8bab661aSEmmanuel Vadot 663*8bab661aSEmmanuel Vadot #address-cells = <2>; 664*8bab661aSEmmanuel Vadot #size-cells = <0>; 665*8bab661aSEmmanuel Vadot interrupt-controller; 666*8bab661aSEmmanuel Vadot #interrupt-cells = <4>; 667*8bab661aSEmmanuel Vadot cell-index = <0>; 668*8bab661aSEmmanuel Vadot }; 669*8bab661aSEmmanuel Vadot 670*8bab661aSEmmanuel Vadot sdhc_1: mmc@7824000 { 671*8bab661aSEmmanuel Vadot compatible = "qcom,msm8976-sdhci", "qcom,sdhci-msm-v4"; 672*8bab661aSEmmanuel Vadot reg = <0x07824900 0x500>, <0x07824000 0x800>; 673*8bab661aSEmmanuel Vadot reg-names = "hc", "core"; 674*8bab661aSEmmanuel Vadot 675*8bab661aSEmmanuel Vadot interrupts = <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>, 676*8bab661aSEmmanuel Vadot <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>; 677*8bab661aSEmmanuel Vadot interrupt-names = "hc_irq", "pwr_irq"; 678*8bab661aSEmmanuel Vadot 679*8bab661aSEmmanuel Vadot clocks = <&gcc GCC_SDCC1_AHB_CLK>, 680*8bab661aSEmmanuel Vadot <&gcc GCC_SDCC1_APPS_CLK>, 681*8bab661aSEmmanuel Vadot <&rpmcc RPM_SMD_XO_CLK_SRC>; 682*8bab661aSEmmanuel Vadot clock-names = "iface", "core", "xo"; 683*8bab661aSEmmanuel Vadot status = "disabled"; 684*8bab661aSEmmanuel Vadot }; 685*8bab661aSEmmanuel Vadot 686*8bab661aSEmmanuel Vadot sdhc_2: mmc@7864000 { 687*8bab661aSEmmanuel Vadot compatible = "qcom,msm8976-sdhci", "qcom,sdhci-msm-v4"; 688*8bab661aSEmmanuel Vadot reg = <0x07864900 0x11c>, <0x07864000 0x800>; 689*8bab661aSEmmanuel Vadot reg-names = "hc", "core"; 690*8bab661aSEmmanuel Vadot 691*8bab661aSEmmanuel Vadot interrupts = <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>, 692*8bab661aSEmmanuel Vadot <GIC_SPI 221 IRQ_TYPE_LEVEL_HIGH>; 693*8bab661aSEmmanuel Vadot interrupt-names = "hc_irq", "pwr_irq"; 694*8bab661aSEmmanuel Vadot 695*8bab661aSEmmanuel Vadot clocks = <&gcc GCC_SDCC2_AHB_CLK>, 696*8bab661aSEmmanuel Vadot <&gcc GCC_SDCC2_APPS_CLK>, 697*8bab661aSEmmanuel Vadot <&rpmcc RPM_SMD_XO_CLK_SRC>; 698*8bab661aSEmmanuel Vadot clock-names = "iface", "core", "xo"; 699*8bab661aSEmmanuel Vadot status = "disabled"; 700*8bab661aSEmmanuel Vadot }; 701*8bab661aSEmmanuel Vadot 702*8bab661aSEmmanuel Vadot blsp1_dma: dma-controller@7884000 { 703*8bab661aSEmmanuel Vadot compatible = "qcom,bam-v1.7.0"; 704*8bab661aSEmmanuel Vadot reg = <0x07884000 0x1f000>; 705*8bab661aSEmmanuel Vadot interrupts = <GIC_SPI 238 IRQ_TYPE_LEVEL_HIGH>; 706*8bab661aSEmmanuel Vadot clocks = <&gcc GCC_BLSP1_AHB_CLK>; 707*8bab661aSEmmanuel Vadot clock-names = "bam_clk"; 708*8bab661aSEmmanuel Vadot #dma-cells = <1>; 709*8bab661aSEmmanuel Vadot qcom,ee = <0>; 710*8bab661aSEmmanuel Vadot }; 711*8bab661aSEmmanuel Vadot 712*8bab661aSEmmanuel Vadot blsp1_uart1: serial@78af000 { 713*8bab661aSEmmanuel Vadot compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm"; 714*8bab661aSEmmanuel Vadot reg = <0x078af000 0x200>; 715*8bab661aSEmmanuel Vadot interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>; 716*8bab661aSEmmanuel Vadot clocks = <&gcc GCC_BLSP1_UART1_APPS_CLK>, <&gcc GCC_BLSP1_AHB_CLK>; 717*8bab661aSEmmanuel Vadot clock-names = "core", "iface"; 718*8bab661aSEmmanuel Vadot dmas = <&blsp1_dma 0>, <&blsp1_dma 1>; 719*8bab661aSEmmanuel Vadot dma-names = "tx", "rx"; 720*8bab661aSEmmanuel Vadot status = "disabled"; 721*8bab661aSEmmanuel Vadot }; 722*8bab661aSEmmanuel Vadot 723*8bab661aSEmmanuel Vadot blsp1_uart2: serial@78b0000 { 724*8bab661aSEmmanuel Vadot compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm"; 725*8bab661aSEmmanuel Vadot reg = <0x078b0000 0x200>; 726*8bab661aSEmmanuel Vadot interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>; 727*8bab661aSEmmanuel Vadot clocks = <&gcc GCC_BLSP1_UART2_APPS_CLK>, <&gcc GCC_BLSP1_AHB_CLK>; 728*8bab661aSEmmanuel Vadot clock-names = "core", "iface"; 729*8bab661aSEmmanuel Vadot dmas = <&blsp1_dma 2>, <&blsp1_dma 3>; 730*8bab661aSEmmanuel Vadot dma-names = "tx", "rx"; 731*8bab661aSEmmanuel Vadot status = "disabled"; 732*8bab661aSEmmanuel Vadot }; 733*8bab661aSEmmanuel Vadot 734*8bab661aSEmmanuel Vadot blsp1_spi1: spi@78b5000 { 735*8bab661aSEmmanuel Vadot compatible = "qcom,spi-qup-v2.2.1"; 736*8bab661aSEmmanuel Vadot reg = <0x078b5000 0x500>; 737*8bab661aSEmmanuel Vadot interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>; 738*8bab661aSEmmanuel Vadot clocks = <&gcc GCC_BLSP1_QUP1_SPI_APPS_CLK>, <&gcc GCC_BLSP1_AHB_CLK>; 739*8bab661aSEmmanuel Vadot clock-names = "core", "iface"; 740*8bab661aSEmmanuel Vadot dmas = <&blsp1_dma 4>, <&blsp1_dma 5>; 741*8bab661aSEmmanuel Vadot dma-names = "tx", "rx"; 742*8bab661aSEmmanuel Vadot pinctrl-names = "default", "sleep"; 743*8bab661aSEmmanuel Vadot pinctrl-0 = <&spi1_default>; 744*8bab661aSEmmanuel Vadot pinctrl-1 = <&spi1_sleep>; 745*8bab661aSEmmanuel Vadot #address-cells = <1>; 746*8bab661aSEmmanuel Vadot #size-cells = <0>; 747*8bab661aSEmmanuel Vadot status = "disabled"; 748*8bab661aSEmmanuel Vadot }; 749*8bab661aSEmmanuel Vadot 750*8bab661aSEmmanuel Vadot blsp1_i2c2: i2c@78b6000 { 751*8bab661aSEmmanuel Vadot compatible = "qcom,i2c-qup-v2.2.1"; 752*8bab661aSEmmanuel Vadot reg = <0x078b6000 0x500>; 753*8bab661aSEmmanuel Vadot interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>; 754*8bab661aSEmmanuel Vadot clocks = <&gcc GCC_BLSP1_QUP2_I2C_APPS_CLK>, <&gcc GCC_BLSP1_AHB_CLK>; 755*8bab661aSEmmanuel Vadot clock-names = "core", "iface"; 756*8bab661aSEmmanuel Vadot clock-frequency = <400000>; 757*8bab661aSEmmanuel Vadot dmas = <&blsp1_dma 6>, <&blsp1_dma 7>; 758*8bab661aSEmmanuel Vadot dma-names = "tx", "rx"; 759*8bab661aSEmmanuel Vadot pinctrl-names = "default", "sleep"; 760*8bab661aSEmmanuel Vadot pinctrl-0 = <&blsp1_i2c2_default>; 761*8bab661aSEmmanuel Vadot pinctrl-1 = <&blsp1_i2c2_default>; 762*8bab661aSEmmanuel Vadot #address-cells = <1>; 763*8bab661aSEmmanuel Vadot #size-cells = <0>; 764*8bab661aSEmmanuel Vadot status = "disabled"; 765*8bab661aSEmmanuel Vadot }; 766*8bab661aSEmmanuel Vadot 767*8bab661aSEmmanuel Vadot blsp1_i2c4: i2c@78b8000 { 768*8bab661aSEmmanuel Vadot compatible = "qcom,i2c-qup-v2.2.1"; 769*8bab661aSEmmanuel Vadot reg = <0x078b8000 0x500>; 770*8bab661aSEmmanuel Vadot interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>; 771*8bab661aSEmmanuel Vadot clocks = <&gcc GCC_BLSP1_QUP4_I2C_APPS_CLK>, <&gcc GCC_BLSP1_AHB_CLK>; 772*8bab661aSEmmanuel Vadot clock-names = "core", "iface"; 773*8bab661aSEmmanuel Vadot clock-frequency = <400000>; 774*8bab661aSEmmanuel Vadot dmas = <&blsp1_dma 10>, <&blsp1_dma 11>; 775*8bab661aSEmmanuel Vadot dma-names = "tx", "rx"; 776*8bab661aSEmmanuel Vadot pinctrl-names = "default", "sleep"; 777*8bab661aSEmmanuel Vadot pinctrl-0 = <&blsp1_i2c4_default>; 778*8bab661aSEmmanuel Vadot pinctrl-1 = <&blsp1_i2c4_sleep>; 779*8bab661aSEmmanuel Vadot #address-cells = <1>; 780*8bab661aSEmmanuel Vadot #size-cells = <0>; 781*8bab661aSEmmanuel Vadot status = "disabled"; 782*8bab661aSEmmanuel Vadot }; 783*8bab661aSEmmanuel Vadot 784*8bab661aSEmmanuel Vadot otg: usb@78db000 { 785*8bab661aSEmmanuel Vadot compatible = "qcom,ci-hdrc"; 786*8bab661aSEmmanuel Vadot reg = <0x078db000 0x200>, 787*8bab661aSEmmanuel Vadot <0x078db200 0x200>; 788*8bab661aSEmmanuel Vadot interrupts = <GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>, 789*8bab661aSEmmanuel Vadot <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>; 790*8bab661aSEmmanuel Vadot clocks = <&gcc GCC_USB_HS_AHB_CLK>, <&gcc GCC_USB_HS_SYSTEM_CLK>; 791*8bab661aSEmmanuel Vadot clock-names = "iface", "core"; 792*8bab661aSEmmanuel Vadot assigned-clocks = <&gcc GCC_USB_HS_SYSTEM_CLK>; 793*8bab661aSEmmanuel Vadot assigned-clock-rates = <80000000>; 794*8bab661aSEmmanuel Vadot resets = <&gcc RST_USB_HS_BCR>; 795*8bab661aSEmmanuel Vadot reset-names = "core"; 796*8bab661aSEmmanuel Vadot ahb-burst-config = <0>; 797*8bab661aSEmmanuel Vadot dr_mode = "peripheral"; 798*8bab661aSEmmanuel Vadot phy_type = "ulpi"; 799*8bab661aSEmmanuel Vadot phy-names = "usb-phy"; 800*8bab661aSEmmanuel Vadot phys = <&usb_hs_phy>; 801*8bab661aSEmmanuel Vadot status = "disabled"; 802*8bab661aSEmmanuel Vadot #reset-cells = <1>; 803*8bab661aSEmmanuel Vadot }; 804*8bab661aSEmmanuel Vadot 805*8bab661aSEmmanuel Vadot sdhc_3: mmc@7a24000 { 806*8bab661aSEmmanuel Vadot compatible = "qcom,msm8976-sdhci", "qcom,sdhci-msm-v4"; 807*8bab661aSEmmanuel Vadot reg = <0x07a24900 0x11c>, <0x07a24000 0x800>; 808*8bab661aSEmmanuel Vadot reg-names = "hc", "core"; 809*8bab661aSEmmanuel Vadot 810*8bab661aSEmmanuel Vadot interrupts = <GIC_SPI 295 IRQ_TYPE_LEVEL_HIGH>, 811*8bab661aSEmmanuel Vadot <GIC_SPI 297 IRQ_TYPE_LEVEL_HIGH>; 812*8bab661aSEmmanuel Vadot interrupt-names = "hc_irq", "pwr_irq"; 813*8bab661aSEmmanuel Vadot 814*8bab661aSEmmanuel Vadot clocks = <&gcc GCC_SDCC3_AHB_CLK>, 815*8bab661aSEmmanuel Vadot <&gcc GCC_SDCC3_APPS_CLK>, 816*8bab661aSEmmanuel Vadot <&rpmcc RPM_SMD_XO_CLK_SRC>; 817*8bab661aSEmmanuel Vadot clock-names = "iface", "core", "xo"; 818*8bab661aSEmmanuel Vadot 819*8bab661aSEmmanuel Vadot status = "disabled"; 820*8bab661aSEmmanuel Vadot }; 821*8bab661aSEmmanuel Vadot 822*8bab661aSEmmanuel Vadot blsp2_dma: dma-controller@7ac4000 { 823*8bab661aSEmmanuel Vadot compatible = "qcom,bam-v1.7.0"; 824*8bab661aSEmmanuel Vadot reg = <0x07ac4000 0x1f000>; 825*8bab661aSEmmanuel Vadot interrupts = <GIC_SPI 239 IRQ_TYPE_LEVEL_HIGH>; 826*8bab661aSEmmanuel Vadot clocks = <&gcc GCC_BLSP2_AHB_CLK>; 827*8bab661aSEmmanuel Vadot clock-names = "bam_clk"; 828*8bab661aSEmmanuel Vadot #dma-cells = <1>; 829*8bab661aSEmmanuel Vadot qcom,ee = <0>; 830*8bab661aSEmmanuel Vadot }; 831*8bab661aSEmmanuel Vadot 832*8bab661aSEmmanuel Vadot blsp2_uart2: serial@7af0000 { 833*8bab661aSEmmanuel Vadot compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm"; 834*8bab661aSEmmanuel Vadot reg = <0x07af0000 0x200>; 835*8bab661aSEmmanuel Vadot interrupts = <GIC_SPI 307 IRQ_TYPE_LEVEL_HIGH>; 836*8bab661aSEmmanuel Vadot clocks = <&gcc GCC_BLSP2_UART2_APPS_CLK>, <&gcc GCC_BLSP2_AHB_CLK>; 837*8bab661aSEmmanuel Vadot clock-names = "core", "iface"; 838*8bab661aSEmmanuel Vadot dmas = <&blsp2_dma 0>, <&blsp2_dma 1>; 839*8bab661aSEmmanuel Vadot dma-names = "tx", "rx"; 840*8bab661aSEmmanuel Vadot status = "disabled"; 841*8bab661aSEmmanuel Vadot }; 842*8bab661aSEmmanuel Vadot 843*8bab661aSEmmanuel Vadot blsp2_i2c2: i2c@7af6000 { 844*8bab661aSEmmanuel Vadot compatible = "qcom,i2c-qup-v2.2.1"; 845*8bab661aSEmmanuel Vadot reg = <0x07af6000 0x600>; 846*8bab661aSEmmanuel Vadot interrupts = <GIC_SPI 300 IRQ_TYPE_LEVEL_HIGH>; 847*8bab661aSEmmanuel Vadot clocks = <&gcc GCC_BLSP2_QUP2_I2C_APPS_CLK>, <&gcc GCC_BLSP2_AHB_CLK>; 848*8bab661aSEmmanuel Vadot clock-names = "core", "iface"; 849*8bab661aSEmmanuel Vadot clock-frequency = <400000>; 850*8bab661aSEmmanuel Vadot dmas = <&blsp2_dma 6>, <&blsp2_dma 7>; 851*8bab661aSEmmanuel Vadot dma-names = "tx", "rx"; 852*8bab661aSEmmanuel Vadot pinctrl-names = "default", "sleep"; 853*8bab661aSEmmanuel Vadot pinctrl-0 = <&blsp2_i2c2_default>; 854*8bab661aSEmmanuel Vadot pinctrl-1 = <&blsp2_i2c2_sleep>; 855*8bab661aSEmmanuel Vadot #address-cells = <1>; 856*8bab661aSEmmanuel Vadot #size-cells = <0>; 857*8bab661aSEmmanuel Vadot status = "disabled"; 858*8bab661aSEmmanuel Vadot }; 859*8bab661aSEmmanuel Vadot 860*8bab661aSEmmanuel Vadot blsp2_i2c4: i2c@7af8000 { 861*8bab661aSEmmanuel Vadot compatible = "qcom,i2c-qup-v2.2.1"; 862*8bab661aSEmmanuel Vadot reg = <0x07af8000 0x600>; 863*8bab661aSEmmanuel Vadot interrupts = <GIC_SPI 302 IRQ_TYPE_LEVEL_HIGH>; 864*8bab661aSEmmanuel Vadot clocks = <&gcc GCC_BLSP2_QUP4_I2C_APPS_CLK>, <&gcc GCC_BLSP2_AHB_CLK>; 865*8bab661aSEmmanuel Vadot clock-names = "core", "iface"; 866*8bab661aSEmmanuel Vadot clock-frequency = <400000>; 867*8bab661aSEmmanuel Vadot dmas = <&blsp2_dma 10>, <&blsp2_dma 11>; 868*8bab661aSEmmanuel Vadot dma-names = "tx", "rx"; 869*8bab661aSEmmanuel Vadot pinctrl-names = "default", "sleep"; 870*8bab661aSEmmanuel Vadot pinctrl-0 = <&blsp2_i2c4_default>; 871*8bab661aSEmmanuel Vadot pinctrl-1 = <&blsp2_i2c4_sleep>; 872*8bab661aSEmmanuel Vadot #address-cells = <1>; 873*8bab661aSEmmanuel Vadot #size-cells = <0>; 874*8bab661aSEmmanuel Vadot status = "disabled"; 875*8bab661aSEmmanuel Vadot }; 876*8bab661aSEmmanuel Vadot 877*8bab661aSEmmanuel Vadot intc: interrupt-controller@b000000 { 878*8bab661aSEmmanuel Vadot compatible = "qcom,msm-qgic2"; 879*8bab661aSEmmanuel Vadot reg = <0x0b000000 0x1000>, <0x0b002000 0x1000>; 880*8bab661aSEmmanuel Vadot interrupt-controller; 881*8bab661aSEmmanuel Vadot #interrupt-cells = <3>; 882*8bab661aSEmmanuel Vadot }; 883*8bab661aSEmmanuel Vadot 884*8bab661aSEmmanuel Vadot apcs: mailbox@b011000 { 885*8bab661aSEmmanuel Vadot compatible = "qcom,msm8976-apcs-kpss-global", "syscon"; 886*8bab661aSEmmanuel Vadot reg = <0x0b011000 0x1000>; 887*8bab661aSEmmanuel Vadot #mbox-cells = <1>; 888*8bab661aSEmmanuel Vadot }; 889*8bab661aSEmmanuel Vadot 890*8bab661aSEmmanuel Vadot timer@b120000 { 891*8bab661aSEmmanuel Vadot compatible = "arm,armv7-timer-mem"; 892*8bab661aSEmmanuel Vadot reg = <0x0b120000 0x1000>; 893*8bab661aSEmmanuel Vadot #address-cells = <1>; 894*8bab661aSEmmanuel Vadot #size-cells = <1>; 895*8bab661aSEmmanuel Vadot ranges; 896*8bab661aSEmmanuel Vadot clock-frequency = <19200000>; 897*8bab661aSEmmanuel Vadot 898*8bab661aSEmmanuel Vadot frame@b121000 { 899*8bab661aSEmmanuel Vadot reg = <0x0b121000 0x1000>, <0x0b122000 0x1000>; 900*8bab661aSEmmanuel Vadot interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>, 901*8bab661aSEmmanuel Vadot <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>; 902*8bab661aSEmmanuel Vadot frame-number = <0>; 903*8bab661aSEmmanuel Vadot }; 904*8bab661aSEmmanuel Vadot 905*8bab661aSEmmanuel Vadot frame@b123000 { 906*8bab661aSEmmanuel Vadot reg = <0x0b123000 0x1000>; 907*8bab661aSEmmanuel Vadot interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>; 908*8bab661aSEmmanuel Vadot frame-number = <1>; 909*8bab661aSEmmanuel Vadot status = "disabled"; 910*8bab661aSEmmanuel Vadot }; 911*8bab661aSEmmanuel Vadot 912*8bab661aSEmmanuel Vadot frame@b124000 { 913*8bab661aSEmmanuel Vadot reg = <0x0b124000 0x1000>; 914*8bab661aSEmmanuel Vadot interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>; 915*8bab661aSEmmanuel Vadot frame-number = <2>; 916*8bab661aSEmmanuel Vadot status = "disabled"; 917*8bab661aSEmmanuel Vadot }; 918*8bab661aSEmmanuel Vadot 919*8bab661aSEmmanuel Vadot frame@b125000 { 920*8bab661aSEmmanuel Vadot reg = <0x0b125000 0x1000>; 921*8bab661aSEmmanuel Vadot interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>; 922*8bab661aSEmmanuel Vadot frame-number = <3>; 923*8bab661aSEmmanuel Vadot status = "disabled"; 924*8bab661aSEmmanuel Vadot }; 925*8bab661aSEmmanuel Vadot 926*8bab661aSEmmanuel Vadot frame@b126000 { 927*8bab661aSEmmanuel Vadot reg = <0x0b126000 0x1000>; 928*8bab661aSEmmanuel Vadot interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>; 929*8bab661aSEmmanuel Vadot frame-number = <4>; 930*8bab661aSEmmanuel Vadot status = "disabled"; 931*8bab661aSEmmanuel Vadot }; 932*8bab661aSEmmanuel Vadot 933*8bab661aSEmmanuel Vadot frame@b127000 { 934*8bab661aSEmmanuel Vadot reg = <0x0b127000 0x1000>; 935*8bab661aSEmmanuel Vadot interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>; 936*8bab661aSEmmanuel Vadot frame-number = <5>; 937*8bab661aSEmmanuel Vadot status = "disabled"; 938*8bab661aSEmmanuel Vadot }; 939*8bab661aSEmmanuel Vadot 940*8bab661aSEmmanuel Vadot frame@b128000 { 941*8bab661aSEmmanuel Vadot reg = <0x0b128000 0x1000>; 942*8bab661aSEmmanuel Vadot interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>; 943*8bab661aSEmmanuel Vadot frame-number = <6>; 944*8bab661aSEmmanuel Vadot status = "disabled"; 945*8bab661aSEmmanuel Vadot }; 946*8bab661aSEmmanuel Vadot }; 947*8bab661aSEmmanuel Vadot 948*8bab661aSEmmanuel Vadot imem: sram@8600000 { 949*8bab661aSEmmanuel Vadot compatible = "qcom,msm8976-imem", "syscon", "simple-mfd"; 950*8bab661aSEmmanuel Vadot reg = <0x08600000 0x1000>; 951*8bab661aSEmmanuel Vadot #address-cells = <1>; 952*8bab661aSEmmanuel Vadot #size-cells = <1>; 953*8bab661aSEmmanuel Vadot 954*8bab661aSEmmanuel Vadot ranges = <0 0x08600000 0x1000>; 955*8bab661aSEmmanuel Vadot 956*8bab661aSEmmanuel Vadot pil-reloc@94c { 957*8bab661aSEmmanuel Vadot compatible = "qcom,pil-reloc-info"; 958*8bab661aSEmmanuel Vadot reg = <0x94c 0xc8>; 959*8bab661aSEmmanuel Vadot }; 960*8bab661aSEmmanuel Vadot }; 961*8bab661aSEmmanuel Vadot }; 962*8bab661aSEmmanuel Vadot 963*8bab661aSEmmanuel Vadot thermal-zones { 964*8bab661aSEmmanuel Vadot aoss0-thermal { 965*8bab661aSEmmanuel Vadot polling-delay-passive = <250>; 966*8bab661aSEmmanuel Vadot polling-delay = <1000>; 967*8bab661aSEmmanuel Vadot 968*8bab661aSEmmanuel Vadot thermal-sensors = <&tsens 0>; 969*8bab661aSEmmanuel Vadot 970*8bab661aSEmmanuel Vadot trips { 971*8bab661aSEmmanuel Vadot aoss0_alert0: trip-point0 { 972*8bab661aSEmmanuel Vadot temperature = <75000>; 973*8bab661aSEmmanuel Vadot hysteresis = <2000>; 974*8bab661aSEmmanuel Vadot type = "hot"; 975*8bab661aSEmmanuel Vadot }; 976*8bab661aSEmmanuel Vadot }; 977*8bab661aSEmmanuel Vadot }; 978*8bab661aSEmmanuel Vadot 979*8bab661aSEmmanuel Vadot modem-thermal { 980*8bab661aSEmmanuel Vadot polling-delay-passive = <250>; 981*8bab661aSEmmanuel Vadot polling-delay = <1000>; 982*8bab661aSEmmanuel Vadot 983*8bab661aSEmmanuel Vadot thermal-sensors = <&tsens 1>; 984*8bab661aSEmmanuel Vadot trips { 985*8bab661aSEmmanuel Vadot modem_alert0: trip-point0 { 986*8bab661aSEmmanuel Vadot temperature = <75000>; 987*8bab661aSEmmanuel Vadot hysteresis = <2000>; 988*8bab661aSEmmanuel Vadot type = "hot"; 989*8bab661aSEmmanuel Vadot }; 990*8bab661aSEmmanuel Vadot }; 991*8bab661aSEmmanuel Vadot }; 992*8bab661aSEmmanuel Vadot 993*8bab661aSEmmanuel Vadot qdsp-thermal { 994*8bab661aSEmmanuel Vadot polling-delay-passive = <250>; 995*8bab661aSEmmanuel Vadot polling-delay = <1000>; 996*8bab661aSEmmanuel Vadot 997*8bab661aSEmmanuel Vadot thermal-sensors = <&tsens 2>; 998*8bab661aSEmmanuel Vadot trips { 999*8bab661aSEmmanuel Vadot qdsp_alert0: trip-point0 { 1000*8bab661aSEmmanuel Vadot temperature = <75000>; 1001*8bab661aSEmmanuel Vadot hysteresis = <2000>; 1002*8bab661aSEmmanuel Vadot type = "hot"; 1003*8bab661aSEmmanuel Vadot }; 1004*8bab661aSEmmanuel Vadot }; 1005*8bab661aSEmmanuel Vadot }; 1006*8bab661aSEmmanuel Vadot 1007*8bab661aSEmmanuel Vadot cam-isp-thermal { 1008*8bab661aSEmmanuel Vadot polling-delay-passive = <250>; 1009*8bab661aSEmmanuel Vadot polling-delay = <1000>; 1010*8bab661aSEmmanuel Vadot 1011*8bab661aSEmmanuel Vadot thermal-sensors = <&tsens 3>; 1012*8bab661aSEmmanuel Vadot trips { 1013*8bab661aSEmmanuel Vadot cam_isp_alert0: trip-point0 { 1014*8bab661aSEmmanuel Vadot temperature = <75000>; 1015*8bab661aSEmmanuel Vadot hysteresis = <2000>; 1016*8bab661aSEmmanuel Vadot type = "hot"; 1017*8bab661aSEmmanuel Vadot }; 1018*8bab661aSEmmanuel Vadot }; 1019*8bab661aSEmmanuel Vadot }; 1020*8bab661aSEmmanuel Vadot 1021*8bab661aSEmmanuel Vadot cpu4-thermal { 1022*8bab661aSEmmanuel Vadot polling-delay-passive = <250>; 1023*8bab661aSEmmanuel Vadot polling-delay = <1000>; 1024*8bab661aSEmmanuel Vadot thermal-sensors = <&tsens 4>; 1025*8bab661aSEmmanuel Vadot 1026*8bab661aSEmmanuel Vadot trips { 1027*8bab661aSEmmanuel Vadot cpu4_alert0: trip-point0 { 1028*8bab661aSEmmanuel Vadot temperature = <50000>; 1029*8bab661aSEmmanuel Vadot hysteresis = <2000>; 1030*8bab661aSEmmanuel Vadot type = "hot"; 1031*8bab661aSEmmanuel Vadot }; 1032*8bab661aSEmmanuel Vadot cpu4_alert1: trip-point1 { 1033*8bab661aSEmmanuel Vadot temperature = <55000>; 1034*8bab661aSEmmanuel Vadot hysteresis = <2000>; 1035*8bab661aSEmmanuel Vadot type = "passive"; 1036*8bab661aSEmmanuel Vadot }; 1037*8bab661aSEmmanuel Vadot cpu4_crit: cpu-crit { 1038*8bab661aSEmmanuel Vadot temperature = <75000>; 1039*8bab661aSEmmanuel Vadot hysteresis = <2000>; 1040*8bab661aSEmmanuel Vadot type = "critical"; 1041*8bab661aSEmmanuel Vadot }; 1042*8bab661aSEmmanuel Vadot }; 1043*8bab661aSEmmanuel Vadot }; 1044*8bab661aSEmmanuel Vadot 1045*8bab661aSEmmanuel Vadot cpu5-thermal { 1046*8bab661aSEmmanuel Vadot polling-delay-passive = <250>; 1047*8bab661aSEmmanuel Vadot polling-delay = <1000>; 1048*8bab661aSEmmanuel Vadot thermal-sensors = <&tsens 5>; 1049*8bab661aSEmmanuel Vadot 1050*8bab661aSEmmanuel Vadot trips { 1051*8bab661aSEmmanuel Vadot cpu5_alert0: trip-point0 { 1052*8bab661aSEmmanuel Vadot temperature = <50000>; 1053*8bab661aSEmmanuel Vadot hysteresis = <2000>; 1054*8bab661aSEmmanuel Vadot type = "hot"; 1055*8bab661aSEmmanuel Vadot }; 1056*8bab661aSEmmanuel Vadot cpu5_alert1: trip-point1 { 1057*8bab661aSEmmanuel Vadot temperature = <55000>; 1058*8bab661aSEmmanuel Vadot hysteresis = <2000>; 1059*8bab661aSEmmanuel Vadot type = "passive"; 1060*8bab661aSEmmanuel Vadot }; 1061*8bab661aSEmmanuel Vadot cpu5_crit: cpu-crit { 1062*8bab661aSEmmanuel Vadot temperature = <75000>; 1063*8bab661aSEmmanuel Vadot hysteresis = <2000>; 1064*8bab661aSEmmanuel Vadot type = "critical"; 1065*8bab661aSEmmanuel Vadot }; 1066*8bab661aSEmmanuel Vadot }; 1067*8bab661aSEmmanuel Vadot }; 1068*8bab661aSEmmanuel Vadot 1069*8bab661aSEmmanuel Vadot cpu6-thermal { 1070*8bab661aSEmmanuel Vadot polling-delay-passive = <250>; 1071*8bab661aSEmmanuel Vadot polling-delay = <1000>; 1072*8bab661aSEmmanuel Vadot thermal-sensors = <&tsens 6>; 1073*8bab661aSEmmanuel Vadot 1074*8bab661aSEmmanuel Vadot trips { 1075*8bab661aSEmmanuel Vadot cpu6_alert0: trip-point0 { 1076*8bab661aSEmmanuel Vadot temperature = <50000>; 1077*8bab661aSEmmanuel Vadot hysteresis = <2000>; 1078*8bab661aSEmmanuel Vadot type = "hot"; 1079*8bab661aSEmmanuel Vadot }; 1080*8bab661aSEmmanuel Vadot cpu6_alert1: trip-point1 { 1081*8bab661aSEmmanuel Vadot temperature = <55000>; 1082*8bab661aSEmmanuel Vadot hysteresis = <2000>; 1083*8bab661aSEmmanuel Vadot type = "passive"; 1084*8bab661aSEmmanuel Vadot }; 1085*8bab661aSEmmanuel Vadot cpu6_crit: cpu-crit { 1086*8bab661aSEmmanuel Vadot temperature = <75000>; 1087*8bab661aSEmmanuel Vadot hysteresis = <2000>; 1088*8bab661aSEmmanuel Vadot type = "critical"; 1089*8bab661aSEmmanuel Vadot }; 1090*8bab661aSEmmanuel Vadot }; 1091*8bab661aSEmmanuel Vadot }; 1092*8bab661aSEmmanuel Vadot 1093*8bab661aSEmmanuel Vadot cpu7-thermal { 1094*8bab661aSEmmanuel Vadot polling-delay-passive = <250>; 1095*8bab661aSEmmanuel Vadot polling-delay = <1000>; 1096*8bab661aSEmmanuel Vadot thermal-sensors = <&tsens 7>; 1097*8bab661aSEmmanuel Vadot 1098*8bab661aSEmmanuel Vadot trips { 1099*8bab661aSEmmanuel Vadot cpu7_alert0: trip-point0 { 1100*8bab661aSEmmanuel Vadot temperature = <50000>; 1101*8bab661aSEmmanuel Vadot hysteresis = <2000>; 1102*8bab661aSEmmanuel Vadot type = "hot"; 1103*8bab661aSEmmanuel Vadot }; 1104*8bab661aSEmmanuel Vadot cpu7_alert1: trip-point1 { 1105*8bab661aSEmmanuel Vadot temperature = <55000>; 1106*8bab661aSEmmanuel Vadot hysteresis = <2000>; 1107*8bab661aSEmmanuel Vadot type = "passive"; 1108*8bab661aSEmmanuel Vadot }; 1109*8bab661aSEmmanuel Vadot cpu7_crit: cpu-crit { 1110*8bab661aSEmmanuel Vadot temperature = <75000>; 1111*8bab661aSEmmanuel Vadot hysteresis = <2000>; 1112*8bab661aSEmmanuel Vadot type = "critical"; 1113*8bab661aSEmmanuel Vadot }; 1114*8bab661aSEmmanuel Vadot }; 1115*8bab661aSEmmanuel Vadot }; 1116*8bab661aSEmmanuel Vadot 1117*8bab661aSEmmanuel Vadot big-l2-thermal { 1118*8bab661aSEmmanuel Vadot polling-delay-passive = <250>; 1119*8bab661aSEmmanuel Vadot polling-delay = <1000>; 1120*8bab661aSEmmanuel Vadot thermal-sensors = <&tsens 8>; 1121*8bab661aSEmmanuel Vadot 1122*8bab661aSEmmanuel Vadot trips { 1123*8bab661aSEmmanuel Vadot l2_alert0: trip-point0 { 1124*8bab661aSEmmanuel Vadot temperature = <50000>; 1125*8bab661aSEmmanuel Vadot hysteresis = <2000>; 1126*8bab661aSEmmanuel Vadot type = "hot"; 1127*8bab661aSEmmanuel Vadot }; 1128*8bab661aSEmmanuel Vadot l2_alert1: trip-point1 { 1129*8bab661aSEmmanuel Vadot temperature = <55000>; 1130*8bab661aSEmmanuel Vadot hysteresis = <2000>; 1131*8bab661aSEmmanuel Vadot type = "passive"; 1132*8bab661aSEmmanuel Vadot }; 1133*8bab661aSEmmanuel Vadot l2_crit: l2-crit { 1134*8bab661aSEmmanuel Vadot temperature = <75000>; 1135*8bab661aSEmmanuel Vadot hysteresis = <2000>; 1136*8bab661aSEmmanuel Vadot type = "critical"; 1137*8bab661aSEmmanuel Vadot }; 1138*8bab661aSEmmanuel Vadot }; 1139*8bab661aSEmmanuel Vadot }; 1140*8bab661aSEmmanuel Vadot 1141*8bab661aSEmmanuel Vadot cpu0-thermal { 1142*8bab661aSEmmanuel Vadot polling-delay-passive = <250>; 1143*8bab661aSEmmanuel Vadot polling-delay = <1000>; 1144*8bab661aSEmmanuel Vadot thermal-sensors = <&tsens 9>; 1145*8bab661aSEmmanuel Vadot 1146*8bab661aSEmmanuel Vadot trips { 1147*8bab661aSEmmanuel Vadot cpu0_alert0: trip-point0 { 1148*8bab661aSEmmanuel Vadot temperature = <50000>; 1149*8bab661aSEmmanuel Vadot hysteresis = <2000>; 1150*8bab661aSEmmanuel Vadot type = "hot"; 1151*8bab661aSEmmanuel Vadot }; 1152*8bab661aSEmmanuel Vadot cpu0_alert1: trip-point1 { 1153*8bab661aSEmmanuel Vadot temperature = <55000>; 1154*8bab661aSEmmanuel Vadot hysteresis = <2000>; 1155*8bab661aSEmmanuel Vadot type = "passive"; 1156*8bab661aSEmmanuel Vadot }; 1157*8bab661aSEmmanuel Vadot cpu0_crit: cpu-crit { 1158*8bab661aSEmmanuel Vadot temperature = <75000>; 1159*8bab661aSEmmanuel Vadot hysteresis = <2000>; 1160*8bab661aSEmmanuel Vadot type = "critical"; 1161*8bab661aSEmmanuel Vadot }; 1162*8bab661aSEmmanuel Vadot }; 1163*8bab661aSEmmanuel Vadot }; 1164*8bab661aSEmmanuel Vadot 1165*8bab661aSEmmanuel Vadot gpu-thermal { 1166*8bab661aSEmmanuel Vadot polling-delay-passive = <250>; 1167*8bab661aSEmmanuel Vadot polling-delay = <1000>; 1168*8bab661aSEmmanuel Vadot thermal-sensors = <&tsens 10>; 1169*8bab661aSEmmanuel Vadot 1170*8bab661aSEmmanuel Vadot trips { 1171*8bab661aSEmmanuel Vadot gpu_alert0: trip-point0 { 1172*8bab661aSEmmanuel Vadot temperature = <50000>; 1173*8bab661aSEmmanuel Vadot hysteresis = <2000>; 1174*8bab661aSEmmanuel Vadot type = "hot"; 1175*8bab661aSEmmanuel Vadot }; 1176*8bab661aSEmmanuel Vadot gpu_alert1: trip-point1 { 1177*8bab661aSEmmanuel Vadot temperature = <55000>; 1178*8bab661aSEmmanuel Vadot hysteresis = <2000>; 1179*8bab661aSEmmanuel Vadot type = "passive"; 1180*8bab661aSEmmanuel Vadot }; 1181*8bab661aSEmmanuel Vadot gpu_crit: gpu-crit { 1182*8bab661aSEmmanuel Vadot temperature = <75000>; 1183*8bab661aSEmmanuel Vadot hysteresis = <2000>; 1184*8bab661aSEmmanuel Vadot type = "critical"; 1185*8bab661aSEmmanuel Vadot }; 1186*8bab661aSEmmanuel Vadot }; 1187*8bab661aSEmmanuel Vadot }; 1188*8bab661aSEmmanuel Vadot }; 1189*8bab661aSEmmanuel Vadot 1190*8bab661aSEmmanuel Vadot timer { 1191*8bab661aSEmmanuel Vadot compatible = "arm,armv8-timer"; 1192*8bab661aSEmmanuel Vadot interrupts = <GIC_PPI 2 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>, 1193*8bab661aSEmmanuel Vadot <GIC_PPI 3 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>, 1194*8bab661aSEmmanuel Vadot <GIC_PPI 4 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>, 1195*8bab661aSEmmanuel Vadot <GIC_PPI 1 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>; 1196*8bab661aSEmmanuel Vadot clock-frequency = <19200000>; 1197*8bab661aSEmmanuel Vadot }; 1198*8bab661aSEmmanuel Vadot}; 1199