1*f126890aSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0 2*f126890aSEmmanuel Vadot/dts-v1/; 3*f126890aSEmmanuel Vadot 4*f126890aSEmmanuel Vadot#include <dt-bindings/clock/qcom,gcc-msm8960.h> 5*f126890aSEmmanuel Vadot#include <dt-bindings/clock/qcom,lcc-msm8960.h> 6*f126890aSEmmanuel Vadot#include <dt-bindings/reset/qcom,gcc-msm8960.h> 7*f126890aSEmmanuel Vadot#include <dt-bindings/clock/qcom,mmcc-msm8960.h> 8*f126890aSEmmanuel Vadot#include <dt-bindings/clock/qcom,rpmcc.h> 9*f126890aSEmmanuel Vadot#include <dt-bindings/soc/qcom,gsbi.h> 10*f126890aSEmmanuel Vadot#include <dt-bindings/interrupt-controller/irq.h> 11*f126890aSEmmanuel Vadot#include <dt-bindings/interrupt-controller/arm-gic.h> 12*f126890aSEmmanuel Vadot/ { 13*f126890aSEmmanuel Vadot #address-cells = <1>; 14*f126890aSEmmanuel Vadot #size-cells = <1>; 15*f126890aSEmmanuel Vadot model = "Qualcomm APQ8064"; 16*f126890aSEmmanuel Vadot compatible = "qcom,apq8064"; 17*f126890aSEmmanuel Vadot interrupt-parent = <&intc>; 18*f126890aSEmmanuel Vadot 19*f126890aSEmmanuel Vadot reserved-memory { 20*f126890aSEmmanuel Vadot #address-cells = <1>; 21*f126890aSEmmanuel Vadot #size-cells = <1>; 22*f126890aSEmmanuel Vadot ranges; 23*f126890aSEmmanuel Vadot 24*f126890aSEmmanuel Vadot smem_region: smem@80000000 { 25*f126890aSEmmanuel Vadot reg = <0x80000000 0x200000>; 26*f126890aSEmmanuel Vadot no-map; 27*f126890aSEmmanuel Vadot }; 28*f126890aSEmmanuel Vadot 29*f126890aSEmmanuel Vadot wcnss_mem: wcnss@8f000000 { 30*f126890aSEmmanuel Vadot reg = <0x8f000000 0x700000>; 31*f126890aSEmmanuel Vadot no-map; 32*f126890aSEmmanuel Vadot }; 33*f126890aSEmmanuel Vadot }; 34*f126890aSEmmanuel Vadot 35*f126890aSEmmanuel Vadot cpus { 36*f126890aSEmmanuel Vadot #address-cells = <1>; 37*f126890aSEmmanuel Vadot #size-cells = <0>; 38*f126890aSEmmanuel Vadot 39*f126890aSEmmanuel Vadot CPU0: cpu@0 { 40*f126890aSEmmanuel Vadot compatible = "qcom,krait"; 41*f126890aSEmmanuel Vadot enable-method = "qcom,kpss-acc-v1"; 42*f126890aSEmmanuel Vadot device_type = "cpu"; 43*f126890aSEmmanuel Vadot reg = <0>; 44*f126890aSEmmanuel Vadot next-level-cache = <&L2>; 45*f126890aSEmmanuel Vadot qcom,acc = <&acc0>; 46*f126890aSEmmanuel Vadot qcom,saw = <&saw0>; 47*f126890aSEmmanuel Vadot cpu-idle-states = <&CPU_SPC>; 48*f126890aSEmmanuel Vadot }; 49*f126890aSEmmanuel Vadot 50*f126890aSEmmanuel Vadot CPU1: cpu@1 { 51*f126890aSEmmanuel Vadot compatible = "qcom,krait"; 52*f126890aSEmmanuel Vadot enable-method = "qcom,kpss-acc-v1"; 53*f126890aSEmmanuel Vadot device_type = "cpu"; 54*f126890aSEmmanuel Vadot reg = <1>; 55*f126890aSEmmanuel Vadot next-level-cache = <&L2>; 56*f126890aSEmmanuel Vadot qcom,acc = <&acc1>; 57*f126890aSEmmanuel Vadot qcom,saw = <&saw1>; 58*f126890aSEmmanuel Vadot cpu-idle-states = <&CPU_SPC>; 59*f126890aSEmmanuel Vadot }; 60*f126890aSEmmanuel Vadot 61*f126890aSEmmanuel Vadot CPU2: cpu@2 { 62*f126890aSEmmanuel Vadot compatible = "qcom,krait"; 63*f126890aSEmmanuel Vadot enable-method = "qcom,kpss-acc-v1"; 64*f126890aSEmmanuel Vadot device_type = "cpu"; 65*f126890aSEmmanuel Vadot reg = <2>; 66*f126890aSEmmanuel Vadot next-level-cache = <&L2>; 67*f126890aSEmmanuel Vadot qcom,acc = <&acc2>; 68*f126890aSEmmanuel Vadot qcom,saw = <&saw2>; 69*f126890aSEmmanuel Vadot cpu-idle-states = <&CPU_SPC>; 70*f126890aSEmmanuel Vadot }; 71*f126890aSEmmanuel Vadot 72*f126890aSEmmanuel Vadot CPU3: cpu@3 { 73*f126890aSEmmanuel Vadot compatible = "qcom,krait"; 74*f126890aSEmmanuel Vadot enable-method = "qcom,kpss-acc-v1"; 75*f126890aSEmmanuel Vadot device_type = "cpu"; 76*f126890aSEmmanuel Vadot reg = <3>; 77*f126890aSEmmanuel Vadot next-level-cache = <&L2>; 78*f126890aSEmmanuel Vadot qcom,acc = <&acc3>; 79*f126890aSEmmanuel Vadot qcom,saw = <&saw3>; 80*f126890aSEmmanuel Vadot cpu-idle-states = <&CPU_SPC>; 81*f126890aSEmmanuel Vadot }; 82*f126890aSEmmanuel Vadot 83*f126890aSEmmanuel Vadot L2: l2-cache { 84*f126890aSEmmanuel Vadot compatible = "cache"; 85*f126890aSEmmanuel Vadot cache-level = <2>; 86*f126890aSEmmanuel Vadot cache-unified; 87*f126890aSEmmanuel Vadot }; 88*f126890aSEmmanuel Vadot 89*f126890aSEmmanuel Vadot idle-states { 90*f126890aSEmmanuel Vadot CPU_SPC: spc { 91*f126890aSEmmanuel Vadot compatible = "qcom,idle-state-spc", 92*f126890aSEmmanuel Vadot "arm,idle-state"; 93*f126890aSEmmanuel Vadot entry-latency-us = <400>; 94*f126890aSEmmanuel Vadot exit-latency-us = <900>; 95*f126890aSEmmanuel Vadot min-residency-us = <3000>; 96*f126890aSEmmanuel Vadot }; 97*f126890aSEmmanuel Vadot }; 98*f126890aSEmmanuel Vadot }; 99*f126890aSEmmanuel Vadot 100*f126890aSEmmanuel Vadot memory@0 { 101*f126890aSEmmanuel Vadot device_type = "memory"; 102*f126890aSEmmanuel Vadot reg = <0x0 0x0>; 103*f126890aSEmmanuel Vadot }; 104*f126890aSEmmanuel Vadot 105*f126890aSEmmanuel Vadot thermal-zones { 106*f126890aSEmmanuel Vadot cpu0-thermal { 107*f126890aSEmmanuel Vadot polling-delay-passive = <250>; 108*f126890aSEmmanuel Vadot polling-delay = <1000>; 109*f126890aSEmmanuel Vadot 110*f126890aSEmmanuel Vadot thermal-sensors = <&tsens 7>; 111*f126890aSEmmanuel Vadot coefficients = <1199 0>; 112*f126890aSEmmanuel Vadot 113*f126890aSEmmanuel Vadot trips { 114*f126890aSEmmanuel Vadot cpu_alert0: trip0 { 115*f126890aSEmmanuel Vadot temperature = <75000>; 116*f126890aSEmmanuel Vadot hysteresis = <2000>; 117*f126890aSEmmanuel Vadot type = "passive"; 118*f126890aSEmmanuel Vadot }; 119*f126890aSEmmanuel Vadot cpu_crit0: trip1 { 120*f126890aSEmmanuel Vadot temperature = <110000>; 121*f126890aSEmmanuel Vadot hysteresis = <2000>; 122*f126890aSEmmanuel Vadot type = "critical"; 123*f126890aSEmmanuel Vadot }; 124*f126890aSEmmanuel Vadot }; 125*f126890aSEmmanuel Vadot }; 126*f126890aSEmmanuel Vadot 127*f126890aSEmmanuel Vadot cpu1-thermal { 128*f126890aSEmmanuel Vadot polling-delay-passive = <250>; 129*f126890aSEmmanuel Vadot polling-delay = <1000>; 130*f126890aSEmmanuel Vadot 131*f126890aSEmmanuel Vadot thermal-sensors = <&tsens 8>; 132*f126890aSEmmanuel Vadot coefficients = <1132 0>; 133*f126890aSEmmanuel Vadot 134*f126890aSEmmanuel Vadot trips { 135*f126890aSEmmanuel Vadot cpu_alert1: trip0 { 136*f126890aSEmmanuel Vadot temperature = <75000>; 137*f126890aSEmmanuel Vadot hysteresis = <2000>; 138*f126890aSEmmanuel Vadot type = "passive"; 139*f126890aSEmmanuel Vadot }; 140*f126890aSEmmanuel Vadot cpu_crit1: trip1 { 141*f126890aSEmmanuel Vadot temperature = <110000>; 142*f126890aSEmmanuel Vadot hysteresis = <2000>; 143*f126890aSEmmanuel Vadot type = "critical"; 144*f126890aSEmmanuel Vadot }; 145*f126890aSEmmanuel Vadot }; 146*f126890aSEmmanuel Vadot }; 147*f126890aSEmmanuel Vadot 148*f126890aSEmmanuel Vadot cpu2-thermal { 149*f126890aSEmmanuel Vadot polling-delay-passive = <250>; 150*f126890aSEmmanuel Vadot polling-delay = <1000>; 151*f126890aSEmmanuel Vadot 152*f126890aSEmmanuel Vadot thermal-sensors = <&tsens 9>; 153*f126890aSEmmanuel Vadot coefficients = <1199 0>; 154*f126890aSEmmanuel Vadot 155*f126890aSEmmanuel Vadot trips { 156*f126890aSEmmanuel Vadot cpu_alert2: trip0 { 157*f126890aSEmmanuel Vadot temperature = <75000>; 158*f126890aSEmmanuel Vadot hysteresis = <2000>; 159*f126890aSEmmanuel Vadot type = "passive"; 160*f126890aSEmmanuel Vadot }; 161*f126890aSEmmanuel Vadot cpu_crit2: trip1 { 162*f126890aSEmmanuel Vadot temperature = <110000>; 163*f126890aSEmmanuel Vadot hysteresis = <2000>; 164*f126890aSEmmanuel Vadot type = "critical"; 165*f126890aSEmmanuel Vadot }; 166*f126890aSEmmanuel Vadot }; 167*f126890aSEmmanuel Vadot }; 168*f126890aSEmmanuel Vadot 169*f126890aSEmmanuel Vadot cpu3-thermal { 170*f126890aSEmmanuel Vadot polling-delay-passive = <250>; 171*f126890aSEmmanuel Vadot polling-delay = <1000>; 172*f126890aSEmmanuel Vadot 173*f126890aSEmmanuel Vadot thermal-sensors = <&tsens 10>; 174*f126890aSEmmanuel Vadot coefficients = <1132 0>; 175*f126890aSEmmanuel Vadot 176*f126890aSEmmanuel Vadot trips { 177*f126890aSEmmanuel Vadot cpu_alert3: trip0 { 178*f126890aSEmmanuel Vadot temperature = <75000>; 179*f126890aSEmmanuel Vadot hysteresis = <2000>; 180*f126890aSEmmanuel Vadot type = "passive"; 181*f126890aSEmmanuel Vadot }; 182*f126890aSEmmanuel Vadot cpu_crit3: trip1 { 183*f126890aSEmmanuel Vadot temperature = <110000>; 184*f126890aSEmmanuel Vadot hysteresis = <2000>; 185*f126890aSEmmanuel Vadot type = "critical"; 186*f126890aSEmmanuel Vadot }; 187*f126890aSEmmanuel Vadot }; 188*f126890aSEmmanuel Vadot }; 189*f126890aSEmmanuel Vadot }; 190*f126890aSEmmanuel Vadot 191*f126890aSEmmanuel Vadot cpu-pmu { 192*f126890aSEmmanuel Vadot compatible = "qcom,krait-pmu"; 193*f126890aSEmmanuel Vadot interrupts = <1 10 0x304>; 194*f126890aSEmmanuel Vadot }; 195*f126890aSEmmanuel Vadot 196*f126890aSEmmanuel Vadot clocks { 197*f126890aSEmmanuel Vadot cxo_board: cxo_board { 198*f126890aSEmmanuel Vadot compatible = "fixed-clock"; 199*f126890aSEmmanuel Vadot #clock-cells = <0>; 200*f126890aSEmmanuel Vadot clock-frequency = <19200000>; 201*f126890aSEmmanuel Vadot }; 202*f126890aSEmmanuel Vadot 203*f126890aSEmmanuel Vadot pxo_board: pxo_board { 204*f126890aSEmmanuel Vadot compatible = "fixed-clock"; 205*f126890aSEmmanuel Vadot #clock-cells = <0>; 206*f126890aSEmmanuel Vadot clock-frequency = <27000000>; 207*f126890aSEmmanuel Vadot }; 208*f126890aSEmmanuel Vadot 209*f126890aSEmmanuel Vadot sleep_clk: sleep_clk { 210*f126890aSEmmanuel Vadot compatible = "fixed-clock"; 211*f126890aSEmmanuel Vadot #clock-cells = <0>; 212*f126890aSEmmanuel Vadot clock-frequency = <32768>; 213*f126890aSEmmanuel Vadot }; 214*f126890aSEmmanuel Vadot }; 215*f126890aSEmmanuel Vadot 216*f126890aSEmmanuel Vadot sfpb_mutex: hwmutex { 217*f126890aSEmmanuel Vadot compatible = "qcom,sfpb-mutex"; 218*f126890aSEmmanuel Vadot syscon = <&sfpb_wrapper_mutex 0x604 0x4>; 219*f126890aSEmmanuel Vadot #hwlock-cells = <1>; 220*f126890aSEmmanuel Vadot }; 221*f126890aSEmmanuel Vadot 222*f126890aSEmmanuel Vadot smem { 223*f126890aSEmmanuel Vadot compatible = "qcom,smem"; 224*f126890aSEmmanuel Vadot memory-region = <&smem_region>; 225*f126890aSEmmanuel Vadot 226*f126890aSEmmanuel Vadot hwlocks = <&sfpb_mutex 3>; 227*f126890aSEmmanuel Vadot }; 228*f126890aSEmmanuel Vadot 229*f126890aSEmmanuel Vadot smd { 230*f126890aSEmmanuel Vadot compatible = "qcom,smd"; 231*f126890aSEmmanuel Vadot 232*f126890aSEmmanuel Vadot modem-edge { 233*f126890aSEmmanuel Vadot interrupts = <0 37 IRQ_TYPE_EDGE_RISING>; 234*f126890aSEmmanuel Vadot 235*f126890aSEmmanuel Vadot qcom,ipc = <&l2cc 8 3>; 236*f126890aSEmmanuel Vadot qcom,smd-edge = <0>; 237*f126890aSEmmanuel Vadot 238*f126890aSEmmanuel Vadot status = "disabled"; 239*f126890aSEmmanuel Vadot }; 240*f126890aSEmmanuel Vadot 241*f126890aSEmmanuel Vadot q6-edge { 242*f126890aSEmmanuel Vadot interrupts = <0 90 IRQ_TYPE_EDGE_RISING>; 243*f126890aSEmmanuel Vadot 244*f126890aSEmmanuel Vadot qcom,ipc = <&l2cc 8 15>; 245*f126890aSEmmanuel Vadot qcom,smd-edge = <1>; 246*f126890aSEmmanuel Vadot 247*f126890aSEmmanuel Vadot status = "disabled"; 248*f126890aSEmmanuel Vadot }; 249*f126890aSEmmanuel Vadot 250*f126890aSEmmanuel Vadot dsps-edge { 251*f126890aSEmmanuel Vadot interrupts = <0 138 IRQ_TYPE_EDGE_RISING>; 252*f126890aSEmmanuel Vadot 253*f126890aSEmmanuel Vadot qcom,ipc = <&sps_sic_non_secure 0x4080 0>; 254*f126890aSEmmanuel Vadot qcom,smd-edge = <3>; 255*f126890aSEmmanuel Vadot 256*f126890aSEmmanuel Vadot status = "disabled"; 257*f126890aSEmmanuel Vadot }; 258*f126890aSEmmanuel Vadot 259*f126890aSEmmanuel Vadot riva-edge { 260*f126890aSEmmanuel Vadot interrupts = <0 198 IRQ_TYPE_EDGE_RISING>; 261*f126890aSEmmanuel Vadot 262*f126890aSEmmanuel Vadot qcom,ipc = <&l2cc 8 25>; 263*f126890aSEmmanuel Vadot qcom,smd-edge = <6>; 264*f126890aSEmmanuel Vadot 265*f126890aSEmmanuel Vadot status = "disabled"; 266*f126890aSEmmanuel Vadot }; 267*f126890aSEmmanuel Vadot }; 268*f126890aSEmmanuel Vadot 269*f126890aSEmmanuel Vadot smsm { 270*f126890aSEmmanuel Vadot compatible = "qcom,smsm"; 271*f126890aSEmmanuel Vadot 272*f126890aSEmmanuel Vadot #address-cells = <1>; 273*f126890aSEmmanuel Vadot #size-cells = <0>; 274*f126890aSEmmanuel Vadot 275*f126890aSEmmanuel Vadot qcom,ipc-1 = <&l2cc 8 4>; 276*f126890aSEmmanuel Vadot qcom,ipc-2 = <&l2cc 8 14>; 277*f126890aSEmmanuel Vadot qcom,ipc-3 = <&l2cc 8 23>; 278*f126890aSEmmanuel Vadot qcom,ipc-4 = <&sps_sic_non_secure 0x4094 0>; 279*f126890aSEmmanuel Vadot 280*f126890aSEmmanuel Vadot apps_smsm: apps@0 { 281*f126890aSEmmanuel Vadot reg = <0>; 282*f126890aSEmmanuel Vadot #qcom,smem-state-cells = <1>; 283*f126890aSEmmanuel Vadot }; 284*f126890aSEmmanuel Vadot 285*f126890aSEmmanuel Vadot modem_smsm: modem@1 { 286*f126890aSEmmanuel Vadot reg = <1>; 287*f126890aSEmmanuel Vadot interrupts = <0 38 IRQ_TYPE_EDGE_RISING>; 288*f126890aSEmmanuel Vadot 289*f126890aSEmmanuel Vadot interrupt-controller; 290*f126890aSEmmanuel Vadot #interrupt-cells = <2>; 291*f126890aSEmmanuel Vadot }; 292*f126890aSEmmanuel Vadot 293*f126890aSEmmanuel Vadot q6_smsm: q6@2 { 294*f126890aSEmmanuel Vadot reg = <2>; 295*f126890aSEmmanuel Vadot interrupts = <0 89 IRQ_TYPE_EDGE_RISING>; 296*f126890aSEmmanuel Vadot 297*f126890aSEmmanuel Vadot interrupt-controller; 298*f126890aSEmmanuel Vadot #interrupt-cells = <2>; 299*f126890aSEmmanuel Vadot }; 300*f126890aSEmmanuel Vadot 301*f126890aSEmmanuel Vadot wcnss_smsm: wcnss@3 { 302*f126890aSEmmanuel Vadot reg = <3>; 303*f126890aSEmmanuel Vadot interrupts = <0 204 IRQ_TYPE_EDGE_RISING>; 304*f126890aSEmmanuel Vadot 305*f126890aSEmmanuel Vadot interrupt-controller; 306*f126890aSEmmanuel Vadot #interrupt-cells = <2>; 307*f126890aSEmmanuel Vadot }; 308*f126890aSEmmanuel Vadot 309*f126890aSEmmanuel Vadot dsps_smsm: dsps@4 { 310*f126890aSEmmanuel Vadot reg = <4>; 311*f126890aSEmmanuel Vadot interrupts = <0 137 IRQ_TYPE_EDGE_RISING>; 312*f126890aSEmmanuel Vadot 313*f126890aSEmmanuel Vadot interrupt-controller; 314*f126890aSEmmanuel Vadot #interrupt-cells = <2>; 315*f126890aSEmmanuel Vadot }; 316*f126890aSEmmanuel Vadot }; 317*f126890aSEmmanuel Vadot 318*f126890aSEmmanuel Vadot firmware { 319*f126890aSEmmanuel Vadot scm { 320*f126890aSEmmanuel Vadot compatible = "qcom,scm-apq8064", "qcom,scm"; 321*f126890aSEmmanuel Vadot 322*f126890aSEmmanuel Vadot clocks = <&rpmcc RPM_DAYTONA_FABRIC_CLK>; 323*f126890aSEmmanuel Vadot clock-names = "core"; 324*f126890aSEmmanuel Vadot }; 325*f126890aSEmmanuel Vadot }; 326*f126890aSEmmanuel Vadot 327*f126890aSEmmanuel Vadot 328*f126890aSEmmanuel Vadot /* 329*f126890aSEmmanuel Vadot * These channels from the ADC are simply hardware monitors. 330*f126890aSEmmanuel Vadot * That is why the ADC is referred to as "HKADC" - HouseKeeping 331*f126890aSEmmanuel Vadot * ADC. 332*f126890aSEmmanuel Vadot */ 333*f126890aSEmmanuel Vadot iio-hwmon { 334*f126890aSEmmanuel Vadot compatible = "iio-hwmon"; 335*f126890aSEmmanuel Vadot io-channels = <&xoadc 0x00 0x01>, /* Battery */ 336*f126890aSEmmanuel Vadot <&xoadc 0x00 0x02>, /* DC in (charger) */ 337*f126890aSEmmanuel Vadot <&xoadc 0x00 0x04>, /* VPH the main system voltage */ 338*f126890aSEmmanuel Vadot <&xoadc 0x00 0x0b>, /* Die temperature */ 339*f126890aSEmmanuel Vadot <&xoadc 0x00 0x0c>, /* Reference voltage 1.25V */ 340*f126890aSEmmanuel Vadot <&xoadc 0x00 0x0d>, /* Reference voltage 0.625V */ 341*f126890aSEmmanuel Vadot <&xoadc 0x00 0x0e>; /* Charger temperature */ 342*f126890aSEmmanuel Vadot }; 343*f126890aSEmmanuel Vadot 344*f126890aSEmmanuel Vadot soc: soc { 345*f126890aSEmmanuel Vadot #address-cells = <1>; 346*f126890aSEmmanuel Vadot #size-cells = <1>; 347*f126890aSEmmanuel Vadot ranges; 348*f126890aSEmmanuel Vadot compatible = "simple-bus"; 349*f126890aSEmmanuel Vadot 350*f126890aSEmmanuel Vadot tlmm_pinmux: pinctrl@800000 { 351*f126890aSEmmanuel Vadot compatible = "qcom,apq8064-pinctrl"; 352*f126890aSEmmanuel Vadot reg = <0x800000 0x4000>; 353*f126890aSEmmanuel Vadot 354*f126890aSEmmanuel Vadot gpio-controller; 355*f126890aSEmmanuel Vadot gpio-ranges = <&tlmm_pinmux 0 0 90>; 356*f126890aSEmmanuel Vadot #gpio-cells = <2>; 357*f126890aSEmmanuel Vadot interrupt-controller; 358*f126890aSEmmanuel Vadot #interrupt-cells = <2>; 359*f126890aSEmmanuel Vadot interrupts = <0 16 IRQ_TYPE_LEVEL_HIGH>; 360*f126890aSEmmanuel Vadot 361*f126890aSEmmanuel Vadot pinctrl-names = "default"; 362*f126890aSEmmanuel Vadot pinctrl-0 = <&ps_hold>; 363*f126890aSEmmanuel Vadot }; 364*f126890aSEmmanuel Vadot 365*f126890aSEmmanuel Vadot sfpb_wrapper_mutex: syscon@1200000 { 366*f126890aSEmmanuel Vadot compatible = "syscon"; 367*f126890aSEmmanuel Vadot reg = <0x01200000 0x8000>; 368*f126890aSEmmanuel Vadot }; 369*f126890aSEmmanuel Vadot 370*f126890aSEmmanuel Vadot intc: interrupt-controller@2000000 { 371*f126890aSEmmanuel Vadot compatible = "qcom,msm-qgic2"; 372*f126890aSEmmanuel Vadot interrupt-controller; 373*f126890aSEmmanuel Vadot #interrupt-cells = <3>; 374*f126890aSEmmanuel Vadot reg = <0x02000000 0x1000>, 375*f126890aSEmmanuel Vadot <0x02002000 0x1000>; 376*f126890aSEmmanuel Vadot }; 377*f126890aSEmmanuel Vadot 378*f126890aSEmmanuel Vadot timer@200a000 { 379*f126890aSEmmanuel Vadot compatible = "qcom,kpss-wdt-apq8064", "qcom,kpss-timer", 380*f126890aSEmmanuel Vadot "qcom,msm-timer"; 381*f126890aSEmmanuel Vadot interrupts = <1 1 0x301>, 382*f126890aSEmmanuel Vadot <1 2 0x301>, 383*f126890aSEmmanuel Vadot <1 3 0x301>; 384*f126890aSEmmanuel Vadot reg = <0x0200a000 0x100>; 385*f126890aSEmmanuel Vadot clock-frequency = <27000000>; 386*f126890aSEmmanuel Vadot cpu-offset = <0x80000>; 387*f126890aSEmmanuel Vadot }; 388*f126890aSEmmanuel Vadot 389*f126890aSEmmanuel Vadot acc0: clock-controller@2088000 { 390*f126890aSEmmanuel Vadot compatible = "qcom,kpss-acc-v1"; 391*f126890aSEmmanuel Vadot reg = <0x02088000 0x1000>, <0x02008000 0x1000>; 392*f126890aSEmmanuel Vadot clocks = <&gcc PLL8_VOTE>, <&pxo_board>; 393*f126890aSEmmanuel Vadot clock-names = "pll8_vote", "pxo"; 394*f126890aSEmmanuel Vadot clock-output-names = "acpu0_aux"; 395*f126890aSEmmanuel Vadot #clock-cells = <0>; 396*f126890aSEmmanuel Vadot }; 397*f126890aSEmmanuel Vadot 398*f126890aSEmmanuel Vadot acc1: clock-controller@2098000 { 399*f126890aSEmmanuel Vadot compatible = "qcom,kpss-acc-v1"; 400*f126890aSEmmanuel Vadot reg = <0x02098000 0x1000>, <0x02008000 0x1000>; 401*f126890aSEmmanuel Vadot clocks = <&gcc PLL8_VOTE>, <&pxo_board>; 402*f126890aSEmmanuel Vadot clock-names = "pll8_vote", "pxo"; 403*f126890aSEmmanuel Vadot clock-output-names = "acpu1_aux"; 404*f126890aSEmmanuel Vadot #clock-cells = <0>; 405*f126890aSEmmanuel Vadot }; 406*f126890aSEmmanuel Vadot 407*f126890aSEmmanuel Vadot acc2: clock-controller@20a8000 { 408*f126890aSEmmanuel Vadot compatible = "qcom,kpss-acc-v1"; 409*f126890aSEmmanuel Vadot reg = <0x020a8000 0x1000>, <0x02008000 0x1000>; 410*f126890aSEmmanuel Vadot clocks = <&gcc PLL8_VOTE>, <&pxo_board>; 411*f126890aSEmmanuel Vadot clock-names = "pll8_vote", "pxo"; 412*f126890aSEmmanuel Vadot clock-output-names = "acpu2_aux"; 413*f126890aSEmmanuel Vadot #clock-cells = <0>; 414*f126890aSEmmanuel Vadot }; 415*f126890aSEmmanuel Vadot 416*f126890aSEmmanuel Vadot acc3: clock-controller@20b8000 { 417*f126890aSEmmanuel Vadot compatible = "qcom,kpss-acc-v1"; 418*f126890aSEmmanuel Vadot reg = <0x020b8000 0x1000>, <0x02008000 0x1000>; 419*f126890aSEmmanuel Vadot clocks = <&gcc PLL8_VOTE>, <&pxo_board>; 420*f126890aSEmmanuel Vadot clock-names = "pll8_vote", "pxo"; 421*f126890aSEmmanuel Vadot clock-output-names = "acpu3_aux"; 422*f126890aSEmmanuel Vadot #clock-cells = <0>; 423*f126890aSEmmanuel Vadot }; 424*f126890aSEmmanuel Vadot 425*f126890aSEmmanuel Vadot saw0: power-controller@2089000 { 426*f126890aSEmmanuel Vadot compatible = "qcom,apq8064-saw2-v1.1-cpu", "qcom,saw2"; 427*f126890aSEmmanuel Vadot reg = <0x02089000 0x1000>, <0x02009000 0x1000>; 428*f126890aSEmmanuel Vadot regulator; 429*f126890aSEmmanuel Vadot }; 430*f126890aSEmmanuel Vadot 431*f126890aSEmmanuel Vadot saw1: power-controller@2099000 { 432*f126890aSEmmanuel Vadot compatible = "qcom,apq8064-saw2-v1.1-cpu", "qcom,saw2"; 433*f126890aSEmmanuel Vadot reg = <0x02099000 0x1000>, <0x02009000 0x1000>; 434*f126890aSEmmanuel Vadot regulator; 435*f126890aSEmmanuel Vadot }; 436*f126890aSEmmanuel Vadot 437*f126890aSEmmanuel Vadot saw2: power-controller@20a9000 { 438*f126890aSEmmanuel Vadot compatible = "qcom,apq8064-saw2-v1.1-cpu", "qcom,saw2"; 439*f126890aSEmmanuel Vadot reg = <0x020a9000 0x1000>, <0x02009000 0x1000>; 440*f126890aSEmmanuel Vadot regulator; 441*f126890aSEmmanuel Vadot }; 442*f126890aSEmmanuel Vadot 443*f126890aSEmmanuel Vadot saw3: power-controller@20b9000 { 444*f126890aSEmmanuel Vadot compatible = "qcom,apq8064-saw2-v1.1-cpu", "qcom,saw2"; 445*f126890aSEmmanuel Vadot reg = <0x020b9000 0x1000>, <0x02009000 0x1000>; 446*f126890aSEmmanuel Vadot regulator; 447*f126890aSEmmanuel Vadot }; 448*f126890aSEmmanuel Vadot 449*f126890aSEmmanuel Vadot sps_sic_non_secure: sps-sic-non-secure@12100000 { 450*f126890aSEmmanuel Vadot compatible = "syscon"; 451*f126890aSEmmanuel Vadot reg = <0x12100000 0x10000>; 452*f126890aSEmmanuel Vadot }; 453*f126890aSEmmanuel Vadot 454*f126890aSEmmanuel Vadot gsbi1: gsbi@12440000 { 455*f126890aSEmmanuel Vadot status = "disabled"; 456*f126890aSEmmanuel Vadot compatible = "qcom,gsbi-v1.0.0"; 457*f126890aSEmmanuel Vadot cell-index = <1>; 458*f126890aSEmmanuel Vadot reg = <0x12440000 0x100>; 459*f126890aSEmmanuel Vadot clocks = <&gcc GSBI1_H_CLK>; 460*f126890aSEmmanuel Vadot clock-names = "iface"; 461*f126890aSEmmanuel Vadot #address-cells = <1>; 462*f126890aSEmmanuel Vadot #size-cells = <1>; 463*f126890aSEmmanuel Vadot ranges; 464*f126890aSEmmanuel Vadot 465*f126890aSEmmanuel Vadot syscon-tcsr = <&tcsr>; 466*f126890aSEmmanuel Vadot 467*f126890aSEmmanuel Vadot gsbi1_serial: serial@12450000 { 468*f126890aSEmmanuel Vadot compatible = "qcom,msm-uartdm-v1.3", "qcom,msm-uartdm"; 469*f126890aSEmmanuel Vadot reg = <0x12450000 0x100>, 470*f126890aSEmmanuel Vadot <0x12400000 0x03>; 471*f126890aSEmmanuel Vadot interrupts = <0 193 IRQ_TYPE_LEVEL_HIGH>; 472*f126890aSEmmanuel Vadot clocks = <&gcc GSBI1_UART_CLK>, <&gcc GSBI1_H_CLK>; 473*f126890aSEmmanuel Vadot clock-names = "core", "iface"; 474*f126890aSEmmanuel Vadot status = "disabled"; 475*f126890aSEmmanuel Vadot }; 476*f126890aSEmmanuel Vadot 477*f126890aSEmmanuel Vadot gsbi1_i2c: i2c@12460000 { 478*f126890aSEmmanuel Vadot compatible = "qcom,i2c-qup-v1.1.1"; 479*f126890aSEmmanuel Vadot pinctrl-0 = <&i2c1_pins>; 480*f126890aSEmmanuel Vadot pinctrl-1 = <&i2c1_pins_sleep>; 481*f126890aSEmmanuel Vadot pinctrl-names = "default", "sleep"; 482*f126890aSEmmanuel Vadot reg = <0x12460000 0x1000>; 483*f126890aSEmmanuel Vadot interrupts = <0 194 IRQ_TYPE_LEVEL_HIGH>; 484*f126890aSEmmanuel Vadot clocks = <&gcc GSBI1_QUP_CLK>, <&gcc GSBI1_H_CLK>; 485*f126890aSEmmanuel Vadot clock-names = "core", "iface"; 486*f126890aSEmmanuel Vadot #address-cells = <1>; 487*f126890aSEmmanuel Vadot #size-cells = <0>; 488*f126890aSEmmanuel Vadot status = "disabled"; 489*f126890aSEmmanuel Vadot }; 490*f126890aSEmmanuel Vadot 491*f126890aSEmmanuel Vadot }; 492*f126890aSEmmanuel Vadot 493*f126890aSEmmanuel Vadot gsbi2: gsbi@12480000 { 494*f126890aSEmmanuel Vadot status = "disabled"; 495*f126890aSEmmanuel Vadot compatible = "qcom,gsbi-v1.0.0"; 496*f126890aSEmmanuel Vadot cell-index = <2>; 497*f126890aSEmmanuel Vadot reg = <0x12480000 0x100>; 498*f126890aSEmmanuel Vadot clocks = <&gcc GSBI2_H_CLK>; 499*f126890aSEmmanuel Vadot clock-names = "iface"; 500*f126890aSEmmanuel Vadot #address-cells = <1>; 501*f126890aSEmmanuel Vadot #size-cells = <1>; 502*f126890aSEmmanuel Vadot ranges; 503*f126890aSEmmanuel Vadot 504*f126890aSEmmanuel Vadot syscon-tcsr = <&tcsr>; 505*f126890aSEmmanuel Vadot 506*f126890aSEmmanuel Vadot gsbi2_i2c: i2c@124a0000 { 507*f126890aSEmmanuel Vadot compatible = "qcom,i2c-qup-v1.1.1"; 508*f126890aSEmmanuel Vadot reg = <0x124a0000 0x1000>; 509*f126890aSEmmanuel Vadot pinctrl-0 = <&i2c2_pins>; 510*f126890aSEmmanuel Vadot pinctrl-1 = <&i2c2_pins_sleep>; 511*f126890aSEmmanuel Vadot pinctrl-names = "default", "sleep"; 512*f126890aSEmmanuel Vadot interrupts = <0 196 IRQ_TYPE_LEVEL_HIGH>; 513*f126890aSEmmanuel Vadot clocks = <&gcc GSBI2_QUP_CLK>, <&gcc GSBI2_H_CLK>; 514*f126890aSEmmanuel Vadot clock-names = "core", "iface"; 515*f126890aSEmmanuel Vadot #address-cells = <1>; 516*f126890aSEmmanuel Vadot #size-cells = <0>; 517*f126890aSEmmanuel Vadot status = "disabled"; 518*f126890aSEmmanuel Vadot }; 519*f126890aSEmmanuel Vadot }; 520*f126890aSEmmanuel Vadot 521*f126890aSEmmanuel Vadot gsbi3: gsbi@16200000 { 522*f126890aSEmmanuel Vadot status = "disabled"; 523*f126890aSEmmanuel Vadot compatible = "qcom,gsbi-v1.0.0"; 524*f126890aSEmmanuel Vadot cell-index = <3>; 525*f126890aSEmmanuel Vadot reg = <0x16200000 0x100>; 526*f126890aSEmmanuel Vadot clocks = <&gcc GSBI3_H_CLK>; 527*f126890aSEmmanuel Vadot clock-names = "iface"; 528*f126890aSEmmanuel Vadot #address-cells = <1>; 529*f126890aSEmmanuel Vadot #size-cells = <1>; 530*f126890aSEmmanuel Vadot ranges; 531*f126890aSEmmanuel Vadot gsbi3_i2c: i2c@16280000 { 532*f126890aSEmmanuel Vadot compatible = "qcom,i2c-qup-v1.1.1"; 533*f126890aSEmmanuel Vadot pinctrl-0 = <&i2c3_pins>; 534*f126890aSEmmanuel Vadot pinctrl-1 = <&i2c3_pins_sleep>; 535*f126890aSEmmanuel Vadot pinctrl-names = "default", "sleep"; 536*f126890aSEmmanuel Vadot reg = <0x16280000 0x1000>; 537*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 151 IRQ_TYPE_LEVEL_HIGH>; 538*f126890aSEmmanuel Vadot clocks = <&gcc GSBI3_QUP_CLK>, 539*f126890aSEmmanuel Vadot <&gcc GSBI3_H_CLK>; 540*f126890aSEmmanuel Vadot clock-names = "core", "iface"; 541*f126890aSEmmanuel Vadot #address-cells = <1>; 542*f126890aSEmmanuel Vadot #size-cells = <0>; 543*f126890aSEmmanuel Vadot status = "disabled"; 544*f126890aSEmmanuel Vadot }; 545*f126890aSEmmanuel Vadot }; 546*f126890aSEmmanuel Vadot 547*f126890aSEmmanuel Vadot gsbi4: gsbi@16300000 { 548*f126890aSEmmanuel Vadot status = "disabled"; 549*f126890aSEmmanuel Vadot compatible = "qcom,gsbi-v1.0.0"; 550*f126890aSEmmanuel Vadot cell-index = <4>; 551*f126890aSEmmanuel Vadot reg = <0x16300000 0x03>; 552*f126890aSEmmanuel Vadot clocks = <&gcc GSBI4_H_CLK>; 553*f126890aSEmmanuel Vadot clock-names = "iface"; 554*f126890aSEmmanuel Vadot #address-cells = <1>; 555*f126890aSEmmanuel Vadot #size-cells = <1>; 556*f126890aSEmmanuel Vadot ranges; 557*f126890aSEmmanuel Vadot 558*f126890aSEmmanuel Vadot gsbi4_i2c: i2c@16380000 { 559*f126890aSEmmanuel Vadot compatible = "qcom,i2c-qup-v1.1.1"; 560*f126890aSEmmanuel Vadot pinctrl-0 = <&i2c4_pins>; 561*f126890aSEmmanuel Vadot pinctrl-1 = <&i2c4_pins_sleep>; 562*f126890aSEmmanuel Vadot pinctrl-names = "default", "sleep"; 563*f126890aSEmmanuel Vadot reg = <0x16380000 0x1000>; 564*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 153 IRQ_TYPE_LEVEL_HIGH>; 565*f126890aSEmmanuel Vadot clocks = <&gcc GSBI4_QUP_CLK>, 566*f126890aSEmmanuel Vadot <&gcc GSBI4_H_CLK>; 567*f126890aSEmmanuel Vadot clock-names = "core", "iface"; 568*f126890aSEmmanuel Vadot status = "disabled"; 569*f126890aSEmmanuel Vadot }; 570*f126890aSEmmanuel Vadot }; 571*f126890aSEmmanuel Vadot 572*f126890aSEmmanuel Vadot gsbi5: gsbi@1a200000 { 573*f126890aSEmmanuel Vadot status = "disabled"; 574*f126890aSEmmanuel Vadot compatible = "qcom,gsbi-v1.0.0"; 575*f126890aSEmmanuel Vadot cell-index = <5>; 576*f126890aSEmmanuel Vadot reg = <0x1a200000 0x03>; 577*f126890aSEmmanuel Vadot clocks = <&gcc GSBI5_H_CLK>; 578*f126890aSEmmanuel Vadot clock-names = "iface"; 579*f126890aSEmmanuel Vadot #address-cells = <1>; 580*f126890aSEmmanuel Vadot #size-cells = <1>; 581*f126890aSEmmanuel Vadot ranges; 582*f126890aSEmmanuel Vadot 583*f126890aSEmmanuel Vadot gsbi5_serial: serial@1a240000 { 584*f126890aSEmmanuel Vadot compatible = "qcom,msm-uartdm-v1.3", "qcom,msm-uartdm"; 585*f126890aSEmmanuel Vadot reg = <0x1a240000 0x100>, 586*f126890aSEmmanuel Vadot <0x1a200000 0x03>; 587*f126890aSEmmanuel Vadot interrupts = <0 154 IRQ_TYPE_LEVEL_HIGH>; 588*f126890aSEmmanuel Vadot clocks = <&gcc GSBI5_UART_CLK>, <&gcc GSBI5_H_CLK>; 589*f126890aSEmmanuel Vadot clock-names = "core", "iface"; 590*f126890aSEmmanuel Vadot status = "disabled"; 591*f126890aSEmmanuel Vadot }; 592*f126890aSEmmanuel Vadot 593*f126890aSEmmanuel Vadot gsbi5_spi: spi@1a280000 { 594*f126890aSEmmanuel Vadot compatible = "qcom,spi-qup-v1.1.1"; 595*f126890aSEmmanuel Vadot reg = <0x1a280000 0x1000>; 596*f126890aSEmmanuel Vadot interrupts = <0 155 IRQ_TYPE_LEVEL_HIGH>; 597*f126890aSEmmanuel Vadot pinctrl-0 = <&spi5_default>; 598*f126890aSEmmanuel Vadot pinctrl-1 = <&spi5_sleep>; 599*f126890aSEmmanuel Vadot pinctrl-names = "default", "sleep"; 600*f126890aSEmmanuel Vadot clocks = <&gcc GSBI5_QUP_CLK>, <&gcc GSBI5_H_CLK>; 601*f126890aSEmmanuel Vadot clock-names = "core", "iface"; 602*f126890aSEmmanuel Vadot status = "disabled"; 603*f126890aSEmmanuel Vadot #address-cells = <1>; 604*f126890aSEmmanuel Vadot #size-cells = <0>; 605*f126890aSEmmanuel Vadot }; 606*f126890aSEmmanuel Vadot }; 607*f126890aSEmmanuel Vadot 608*f126890aSEmmanuel Vadot gsbi6: gsbi@16500000 { 609*f126890aSEmmanuel Vadot status = "disabled"; 610*f126890aSEmmanuel Vadot compatible = "qcom,gsbi-v1.0.0"; 611*f126890aSEmmanuel Vadot cell-index = <6>; 612*f126890aSEmmanuel Vadot reg = <0x16500000 0x03>; 613*f126890aSEmmanuel Vadot clocks = <&gcc GSBI6_H_CLK>; 614*f126890aSEmmanuel Vadot clock-names = "iface"; 615*f126890aSEmmanuel Vadot #address-cells = <1>; 616*f126890aSEmmanuel Vadot #size-cells = <1>; 617*f126890aSEmmanuel Vadot ranges; 618*f126890aSEmmanuel Vadot 619*f126890aSEmmanuel Vadot gsbi6_serial: serial@16540000 { 620*f126890aSEmmanuel Vadot compatible = "qcom,msm-uartdm-v1.3", "qcom,msm-uartdm"; 621*f126890aSEmmanuel Vadot reg = <0x16540000 0x100>, 622*f126890aSEmmanuel Vadot <0x16500000 0x03>; 623*f126890aSEmmanuel Vadot interrupts = <0 156 IRQ_TYPE_LEVEL_HIGH>; 624*f126890aSEmmanuel Vadot clocks = <&gcc GSBI6_UART_CLK>, <&gcc GSBI6_H_CLK>; 625*f126890aSEmmanuel Vadot clock-names = "core", "iface"; 626*f126890aSEmmanuel Vadot status = "disabled"; 627*f126890aSEmmanuel Vadot }; 628*f126890aSEmmanuel Vadot 629*f126890aSEmmanuel Vadot gsbi6_i2c: i2c@16580000 { 630*f126890aSEmmanuel Vadot compatible = "qcom,i2c-qup-v1.1.1"; 631*f126890aSEmmanuel Vadot pinctrl-0 = <&i2c6_pins>; 632*f126890aSEmmanuel Vadot pinctrl-1 = <&i2c6_pins_sleep>; 633*f126890aSEmmanuel Vadot pinctrl-names = "default", "sleep"; 634*f126890aSEmmanuel Vadot reg = <0x16580000 0x1000>; 635*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 157 IRQ_TYPE_LEVEL_HIGH>; 636*f126890aSEmmanuel Vadot clocks = <&gcc GSBI6_QUP_CLK>, 637*f126890aSEmmanuel Vadot <&gcc GSBI6_H_CLK>; 638*f126890aSEmmanuel Vadot clock-names = "core", "iface"; 639*f126890aSEmmanuel Vadot status = "disabled"; 640*f126890aSEmmanuel Vadot }; 641*f126890aSEmmanuel Vadot }; 642*f126890aSEmmanuel Vadot 643*f126890aSEmmanuel Vadot gsbi7: gsbi@16600000 { 644*f126890aSEmmanuel Vadot status = "disabled"; 645*f126890aSEmmanuel Vadot compatible = "qcom,gsbi-v1.0.0"; 646*f126890aSEmmanuel Vadot cell-index = <7>; 647*f126890aSEmmanuel Vadot reg = <0x16600000 0x100>; 648*f126890aSEmmanuel Vadot clocks = <&gcc GSBI7_H_CLK>; 649*f126890aSEmmanuel Vadot clock-names = "iface"; 650*f126890aSEmmanuel Vadot #address-cells = <1>; 651*f126890aSEmmanuel Vadot #size-cells = <1>; 652*f126890aSEmmanuel Vadot ranges; 653*f126890aSEmmanuel Vadot syscon-tcsr = <&tcsr>; 654*f126890aSEmmanuel Vadot 655*f126890aSEmmanuel Vadot gsbi7_serial: serial@16640000 { 656*f126890aSEmmanuel Vadot compatible = "qcom,msm-uartdm-v1.3", "qcom,msm-uartdm"; 657*f126890aSEmmanuel Vadot reg = <0x16640000 0x1000>, 658*f126890aSEmmanuel Vadot <0x16600000 0x1000>; 659*f126890aSEmmanuel Vadot interrupts = <0 158 IRQ_TYPE_LEVEL_HIGH>; 660*f126890aSEmmanuel Vadot clocks = <&gcc GSBI7_UART_CLK>, <&gcc GSBI7_H_CLK>; 661*f126890aSEmmanuel Vadot clock-names = "core", "iface"; 662*f126890aSEmmanuel Vadot status = "disabled"; 663*f126890aSEmmanuel Vadot }; 664*f126890aSEmmanuel Vadot 665*f126890aSEmmanuel Vadot gsbi7_i2c: i2c@16680000 { 666*f126890aSEmmanuel Vadot compatible = "qcom,i2c-qup-v1.1.1"; 667*f126890aSEmmanuel Vadot pinctrl-0 = <&i2c7_pins>; 668*f126890aSEmmanuel Vadot pinctrl-1 = <&i2c7_pins_sleep>; 669*f126890aSEmmanuel Vadot pinctrl-names = "default", "sleep"; 670*f126890aSEmmanuel Vadot reg = <0x16680000 0x1000>; 671*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 159 IRQ_TYPE_LEVEL_HIGH>; 672*f126890aSEmmanuel Vadot clocks = <&gcc GSBI7_QUP_CLK>, 673*f126890aSEmmanuel Vadot <&gcc GSBI7_H_CLK>; 674*f126890aSEmmanuel Vadot clock-names = "core", "iface"; 675*f126890aSEmmanuel Vadot status = "disabled"; 676*f126890aSEmmanuel Vadot }; 677*f126890aSEmmanuel Vadot }; 678*f126890aSEmmanuel Vadot 679*f126890aSEmmanuel Vadot rng@1a500000 { 680*f126890aSEmmanuel Vadot compatible = "qcom,prng"; 681*f126890aSEmmanuel Vadot reg = <0x1a500000 0x200>; 682*f126890aSEmmanuel Vadot clocks = <&gcc PRNG_CLK>; 683*f126890aSEmmanuel Vadot clock-names = "core"; 684*f126890aSEmmanuel Vadot }; 685*f126890aSEmmanuel Vadot 686*f126890aSEmmanuel Vadot ssbi@c00000 { 687*f126890aSEmmanuel Vadot compatible = "qcom,ssbi"; 688*f126890aSEmmanuel Vadot reg = <0x00c00000 0x1000>; 689*f126890aSEmmanuel Vadot qcom,controller-type = "pmic-arbiter"; 690*f126890aSEmmanuel Vadot 691*f126890aSEmmanuel Vadot pm8821: pmic { 692*f126890aSEmmanuel Vadot compatible = "qcom,pm8821"; 693*f126890aSEmmanuel Vadot interrupt-parent = <&tlmm_pinmux>; 694*f126890aSEmmanuel Vadot interrupts = <76 IRQ_TYPE_LEVEL_LOW>; 695*f126890aSEmmanuel Vadot #interrupt-cells = <2>; 696*f126890aSEmmanuel Vadot interrupt-controller; 697*f126890aSEmmanuel Vadot #address-cells = <1>; 698*f126890aSEmmanuel Vadot #size-cells = <0>; 699*f126890aSEmmanuel Vadot 700*f126890aSEmmanuel Vadot pm8821_mpps: mpps@50 { 701*f126890aSEmmanuel Vadot compatible = "qcom,pm8821-mpp", "qcom,ssbi-mpp"; 702*f126890aSEmmanuel Vadot reg = <0x50>; 703*f126890aSEmmanuel Vadot interrupt-controller; 704*f126890aSEmmanuel Vadot #interrupt-cells = <2>; 705*f126890aSEmmanuel Vadot gpio-controller; 706*f126890aSEmmanuel Vadot #gpio-cells = <2>; 707*f126890aSEmmanuel Vadot gpio-ranges = <&pm8821_mpps 0 0 4>; 708*f126890aSEmmanuel Vadot }; 709*f126890aSEmmanuel Vadot }; 710*f126890aSEmmanuel Vadot }; 711*f126890aSEmmanuel Vadot 712*f126890aSEmmanuel Vadot ssbi@500000 { 713*f126890aSEmmanuel Vadot compatible = "qcom,ssbi"; 714*f126890aSEmmanuel Vadot reg = <0x00500000 0x1000>; 715*f126890aSEmmanuel Vadot qcom,controller-type = "pmic-arbiter"; 716*f126890aSEmmanuel Vadot 717*f126890aSEmmanuel Vadot pmicintc: pmic { 718*f126890aSEmmanuel Vadot compatible = "qcom,pm8921"; 719*f126890aSEmmanuel Vadot interrupt-parent = <&tlmm_pinmux>; 720*f126890aSEmmanuel Vadot interrupts = <74 8>; 721*f126890aSEmmanuel Vadot #interrupt-cells = <2>; 722*f126890aSEmmanuel Vadot interrupt-controller; 723*f126890aSEmmanuel Vadot #address-cells = <1>; 724*f126890aSEmmanuel Vadot #size-cells = <0>; 725*f126890aSEmmanuel Vadot 726*f126890aSEmmanuel Vadot pm8921_gpio: gpio@150 { 727*f126890aSEmmanuel Vadot 728*f126890aSEmmanuel Vadot compatible = "qcom,pm8921-gpio", 729*f126890aSEmmanuel Vadot "qcom,ssbi-gpio"; 730*f126890aSEmmanuel Vadot reg = <0x150>; 731*f126890aSEmmanuel Vadot interrupt-controller; 732*f126890aSEmmanuel Vadot #interrupt-cells = <2>; 733*f126890aSEmmanuel Vadot gpio-controller; 734*f126890aSEmmanuel Vadot gpio-ranges = <&pm8921_gpio 0 0 44>; 735*f126890aSEmmanuel Vadot #gpio-cells = <2>; 736*f126890aSEmmanuel Vadot 737*f126890aSEmmanuel Vadot }; 738*f126890aSEmmanuel Vadot 739*f126890aSEmmanuel Vadot pm8921_mpps: mpps@50 { 740*f126890aSEmmanuel Vadot compatible = "qcom,pm8921-mpp", 741*f126890aSEmmanuel Vadot "qcom,ssbi-mpp"; 742*f126890aSEmmanuel Vadot reg = <0x50>; 743*f126890aSEmmanuel Vadot gpio-controller; 744*f126890aSEmmanuel Vadot #gpio-cells = <2>; 745*f126890aSEmmanuel Vadot gpio-ranges = <&pm8921_mpps 0 0 12>; 746*f126890aSEmmanuel Vadot interrupt-controller; 747*f126890aSEmmanuel Vadot #interrupt-cells = <2>; 748*f126890aSEmmanuel Vadot }; 749*f126890aSEmmanuel Vadot 750*f126890aSEmmanuel Vadot rtc@11d { 751*f126890aSEmmanuel Vadot compatible = "qcom,pm8921-rtc"; 752*f126890aSEmmanuel Vadot interrupt-parent = <&pmicintc>; 753*f126890aSEmmanuel Vadot interrupts = <39 1>; 754*f126890aSEmmanuel Vadot reg = <0x11d>; 755*f126890aSEmmanuel Vadot allow-set-time; 756*f126890aSEmmanuel Vadot }; 757*f126890aSEmmanuel Vadot 758*f126890aSEmmanuel Vadot pwrkey@1c { 759*f126890aSEmmanuel Vadot compatible = "qcom,pm8921-pwrkey"; 760*f126890aSEmmanuel Vadot reg = <0x1c>; 761*f126890aSEmmanuel Vadot interrupt-parent = <&pmicintc>; 762*f126890aSEmmanuel Vadot interrupts = <50 1>, <51 1>; 763*f126890aSEmmanuel Vadot debounce = <15625>; 764*f126890aSEmmanuel Vadot pull-up; 765*f126890aSEmmanuel Vadot }; 766*f126890aSEmmanuel Vadot 767*f126890aSEmmanuel Vadot xoadc: xoadc@197 { 768*f126890aSEmmanuel Vadot compatible = "qcom,pm8921-adc"; 769*f126890aSEmmanuel Vadot reg = <197>; 770*f126890aSEmmanuel Vadot interrupts-extended = <&pmicintc 78 IRQ_TYPE_EDGE_RISING>; 771*f126890aSEmmanuel Vadot #address-cells = <2>; 772*f126890aSEmmanuel Vadot #size-cells = <0>; 773*f126890aSEmmanuel Vadot #io-channel-cells = <2>; 774*f126890aSEmmanuel Vadot 775*f126890aSEmmanuel Vadot vcoin: adc-channel@0 { 776*f126890aSEmmanuel Vadot reg = <0x00 0x00>; 777*f126890aSEmmanuel Vadot }; 778*f126890aSEmmanuel Vadot vbat: adc-channel@1 { 779*f126890aSEmmanuel Vadot reg = <0x00 0x01>; 780*f126890aSEmmanuel Vadot }; 781*f126890aSEmmanuel Vadot dcin: adc-channel@2 { 782*f126890aSEmmanuel Vadot reg = <0x00 0x02>; 783*f126890aSEmmanuel Vadot }; 784*f126890aSEmmanuel Vadot vph_pwr: adc-channel@4 { 785*f126890aSEmmanuel Vadot reg = <0x00 0x04>; 786*f126890aSEmmanuel Vadot }; 787*f126890aSEmmanuel Vadot batt_therm: adc-channel@8 { 788*f126890aSEmmanuel Vadot reg = <0x00 0x08>; 789*f126890aSEmmanuel Vadot }; 790*f126890aSEmmanuel Vadot batt_id: adc-channel@9 { 791*f126890aSEmmanuel Vadot reg = <0x00 0x09>; 792*f126890aSEmmanuel Vadot }; 793*f126890aSEmmanuel Vadot usb_vbus: adc-channel@a { 794*f126890aSEmmanuel Vadot reg = <0x00 0x0a>; 795*f126890aSEmmanuel Vadot }; 796*f126890aSEmmanuel Vadot die_temp: adc-channel@b { 797*f126890aSEmmanuel Vadot reg = <0x00 0x0b>; 798*f126890aSEmmanuel Vadot }; 799*f126890aSEmmanuel Vadot ref_625mv: adc-channel@c { 800*f126890aSEmmanuel Vadot reg = <0x00 0x0c>; 801*f126890aSEmmanuel Vadot }; 802*f126890aSEmmanuel Vadot ref_1250mv: adc-channel@d { 803*f126890aSEmmanuel Vadot reg = <0x00 0x0d>; 804*f126890aSEmmanuel Vadot }; 805*f126890aSEmmanuel Vadot chg_temp: adc-channel@e { 806*f126890aSEmmanuel Vadot reg = <0x00 0x0e>; 807*f126890aSEmmanuel Vadot }; 808*f126890aSEmmanuel Vadot ref_muxoff: adc-channel@f { 809*f126890aSEmmanuel Vadot reg = <0x00 0x0f>; 810*f126890aSEmmanuel Vadot }; 811*f126890aSEmmanuel Vadot }; 812*f126890aSEmmanuel Vadot }; 813*f126890aSEmmanuel Vadot }; 814*f126890aSEmmanuel Vadot 815*f126890aSEmmanuel Vadot qfprom: qfprom@700000 { 816*f126890aSEmmanuel Vadot compatible = "qcom,apq8064-qfprom", "qcom,qfprom"; 817*f126890aSEmmanuel Vadot reg = <0x00700000 0x1000>; 818*f126890aSEmmanuel Vadot #address-cells = <1>; 819*f126890aSEmmanuel Vadot #size-cells = <1>; 820*f126890aSEmmanuel Vadot ranges; 821*f126890aSEmmanuel Vadot tsens_calib: calib@404 { 822*f126890aSEmmanuel Vadot reg = <0x404 0x10>; 823*f126890aSEmmanuel Vadot }; 824*f126890aSEmmanuel Vadot tsens_backup: backup_calib@414 { 825*f126890aSEmmanuel Vadot reg = <0x414 0x10>; 826*f126890aSEmmanuel Vadot }; 827*f126890aSEmmanuel Vadot }; 828*f126890aSEmmanuel Vadot 829*f126890aSEmmanuel Vadot gcc: clock-controller@900000 { 830*f126890aSEmmanuel Vadot compatible = "qcom,gcc-apq8064", "syscon"; 831*f126890aSEmmanuel Vadot reg = <0x00900000 0x4000>; 832*f126890aSEmmanuel Vadot #clock-cells = <1>; 833*f126890aSEmmanuel Vadot #power-domain-cells = <1>; 834*f126890aSEmmanuel Vadot #reset-cells = <1>; 835*f126890aSEmmanuel Vadot clocks = <&cxo_board>, 836*f126890aSEmmanuel Vadot <&pxo_board>, 837*f126890aSEmmanuel Vadot <&lcc PLL4>; 838*f126890aSEmmanuel Vadot clock-names = "cxo", "pxo", "pll4"; 839*f126890aSEmmanuel Vadot 840*f126890aSEmmanuel Vadot tsens: thermal-sensor { 841*f126890aSEmmanuel Vadot compatible = "qcom,msm8960-tsens"; 842*f126890aSEmmanuel Vadot 843*f126890aSEmmanuel Vadot nvmem-cells = <&tsens_calib>, <&tsens_backup>; 844*f126890aSEmmanuel Vadot nvmem-cell-names = "calib", "calib_backup"; 845*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 178 IRQ_TYPE_LEVEL_HIGH>; 846*f126890aSEmmanuel Vadot interrupt-names = "uplow"; 847*f126890aSEmmanuel Vadot 848*f126890aSEmmanuel Vadot #qcom,sensors = <11>; 849*f126890aSEmmanuel Vadot #thermal-sensor-cells = <1>; 850*f126890aSEmmanuel Vadot }; 851*f126890aSEmmanuel Vadot }; 852*f126890aSEmmanuel Vadot 853*f126890aSEmmanuel Vadot lcc: clock-controller@28000000 { 854*f126890aSEmmanuel Vadot compatible = "qcom,lcc-apq8064"; 855*f126890aSEmmanuel Vadot reg = <0x28000000 0x1000>; 856*f126890aSEmmanuel Vadot #clock-cells = <1>; 857*f126890aSEmmanuel Vadot #reset-cells = <1>; 858*f126890aSEmmanuel Vadot clocks = <&pxo_board>, 859*f126890aSEmmanuel Vadot <&gcc PLL4_VOTE>, 860*f126890aSEmmanuel Vadot <0>, 861*f126890aSEmmanuel Vadot <0>, <0>, 862*f126890aSEmmanuel Vadot <0>, <0>, 863*f126890aSEmmanuel Vadot <0>; 864*f126890aSEmmanuel Vadot clock-names = "pxo", 865*f126890aSEmmanuel Vadot "pll4_vote", 866*f126890aSEmmanuel Vadot "mi2s_codec_clk", 867*f126890aSEmmanuel Vadot "codec_i2s_mic_codec_clk", 868*f126890aSEmmanuel Vadot "spare_i2s_mic_codec_clk", 869*f126890aSEmmanuel Vadot "codec_i2s_spkr_codec_clk", 870*f126890aSEmmanuel Vadot "spare_i2s_spkr_codec_clk", 871*f126890aSEmmanuel Vadot "pcm_codec_clk"; 872*f126890aSEmmanuel Vadot }; 873*f126890aSEmmanuel Vadot 874*f126890aSEmmanuel Vadot mmcc: clock-controller@4000000 { 875*f126890aSEmmanuel Vadot compatible = "qcom,mmcc-apq8064"; 876*f126890aSEmmanuel Vadot reg = <0x4000000 0x1000>; 877*f126890aSEmmanuel Vadot #clock-cells = <1>; 878*f126890aSEmmanuel Vadot #power-domain-cells = <1>; 879*f126890aSEmmanuel Vadot #reset-cells = <1>; 880*f126890aSEmmanuel Vadot clocks = <&pxo_board>, 881*f126890aSEmmanuel Vadot <&gcc PLL3>, 882*f126890aSEmmanuel Vadot <&gcc PLL8_VOTE>, 883*f126890aSEmmanuel Vadot <&dsi0_phy 1>, 884*f126890aSEmmanuel Vadot <&dsi0_phy 0>, 885*f126890aSEmmanuel Vadot <&dsi1_phy 1>, 886*f126890aSEmmanuel Vadot <&dsi1_phy 0>, 887*f126890aSEmmanuel Vadot <&hdmi_phy>; 888*f126890aSEmmanuel Vadot clock-names = "pxo", 889*f126890aSEmmanuel Vadot "pll3", 890*f126890aSEmmanuel Vadot "pll8_vote", 891*f126890aSEmmanuel Vadot "dsi1pll", 892*f126890aSEmmanuel Vadot "dsi1pllbyte", 893*f126890aSEmmanuel Vadot "dsi2pll", 894*f126890aSEmmanuel Vadot "dsi2pllbyte", 895*f126890aSEmmanuel Vadot "hdmipll"; 896*f126890aSEmmanuel Vadot }; 897*f126890aSEmmanuel Vadot 898*f126890aSEmmanuel Vadot l2cc: clock-controller@2011000 { 899*f126890aSEmmanuel Vadot compatible = "qcom,kpss-gcc-apq8064", "qcom,kpss-gcc", "syscon"; 900*f126890aSEmmanuel Vadot reg = <0x2011000 0x1000>; 901*f126890aSEmmanuel Vadot clocks = <&gcc PLL8_VOTE>, <&pxo_board>; 902*f126890aSEmmanuel Vadot clock-names = "pll8_vote", "pxo"; 903*f126890aSEmmanuel Vadot #clock-cells = <0>; 904*f126890aSEmmanuel Vadot }; 905*f126890aSEmmanuel Vadot 906*f126890aSEmmanuel Vadot rpm: rpm@108000 { 907*f126890aSEmmanuel Vadot compatible = "qcom,rpm-apq8064"; 908*f126890aSEmmanuel Vadot reg = <0x108000 0x1000>; 909*f126890aSEmmanuel Vadot qcom,ipc = <&l2cc 0x8 2>; 910*f126890aSEmmanuel Vadot 911*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 19 IRQ_TYPE_EDGE_RISING>, 912*f126890aSEmmanuel Vadot <GIC_SPI 21 IRQ_TYPE_EDGE_RISING>, 913*f126890aSEmmanuel Vadot <GIC_SPI 22 IRQ_TYPE_EDGE_RISING>; 914*f126890aSEmmanuel Vadot interrupt-names = "ack", "err", "wakeup"; 915*f126890aSEmmanuel Vadot 916*f126890aSEmmanuel Vadot rpmcc: clock-controller { 917*f126890aSEmmanuel Vadot compatible = "qcom,rpmcc-apq8064", "qcom,rpmcc"; 918*f126890aSEmmanuel Vadot #clock-cells = <1>; 919*f126890aSEmmanuel Vadot clocks = <&pxo_board>, <&cxo_board>; 920*f126890aSEmmanuel Vadot clock-names = "pxo", "cxo"; 921*f126890aSEmmanuel Vadot }; 922*f126890aSEmmanuel Vadot 923*f126890aSEmmanuel Vadot regulators { 924*f126890aSEmmanuel Vadot compatible = "qcom,rpm-pm8921-regulators"; 925*f126890aSEmmanuel Vadot 926*f126890aSEmmanuel Vadot pm8921_s1: s1 {}; 927*f126890aSEmmanuel Vadot pm8921_s2: s2 {}; 928*f126890aSEmmanuel Vadot pm8921_s3: s3 {}; 929*f126890aSEmmanuel Vadot pm8921_s4: s4 {}; 930*f126890aSEmmanuel Vadot pm8921_s7: s7 {}; 931*f126890aSEmmanuel Vadot pm8921_s8: s8 {}; 932*f126890aSEmmanuel Vadot 933*f126890aSEmmanuel Vadot pm8921_l1: l1 {}; 934*f126890aSEmmanuel Vadot pm8921_l2: l2 {}; 935*f126890aSEmmanuel Vadot pm8921_l3: l3 {}; 936*f126890aSEmmanuel Vadot pm8921_l4: l4 {}; 937*f126890aSEmmanuel Vadot pm8921_l5: l5 {}; 938*f126890aSEmmanuel Vadot pm8921_l6: l6 {}; 939*f126890aSEmmanuel Vadot pm8921_l7: l7 {}; 940*f126890aSEmmanuel Vadot pm8921_l8: l8 {}; 941*f126890aSEmmanuel Vadot pm8921_l9: l9 {}; 942*f126890aSEmmanuel Vadot pm8921_l10: l10 {}; 943*f126890aSEmmanuel Vadot pm8921_l11: l11 {}; 944*f126890aSEmmanuel Vadot pm8921_l12: l12 {}; 945*f126890aSEmmanuel Vadot pm8921_l14: l14 {}; 946*f126890aSEmmanuel Vadot pm8921_l15: l15 {}; 947*f126890aSEmmanuel Vadot pm8921_l16: l16 {}; 948*f126890aSEmmanuel Vadot pm8921_l17: l17 {}; 949*f126890aSEmmanuel Vadot pm8921_l18: l18 {}; 950*f126890aSEmmanuel Vadot pm8921_l21: l21 {}; 951*f126890aSEmmanuel Vadot pm8921_l22: l22 {}; 952*f126890aSEmmanuel Vadot pm8921_l23: l23 {}; 953*f126890aSEmmanuel Vadot pm8921_l24: l24 {}; 954*f126890aSEmmanuel Vadot pm8921_l25: l25 {}; 955*f126890aSEmmanuel Vadot pm8921_l26: l26 {}; 956*f126890aSEmmanuel Vadot pm8921_l27: l27 {}; 957*f126890aSEmmanuel Vadot pm8921_l28: l28 {}; 958*f126890aSEmmanuel Vadot pm8921_l29: l29 {}; 959*f126890aSEmmanuel Vadot 960*f126890aSEmmanuel Vadot pm8921_lvs1: lvs1 {}; 961*f126890aSEmmanuel Vadot pm8921_lvs2: lvs2 {}; 962*f126890aSEmmanuel Vadot pm8921_lvs3: lvs3 {}; 963*f126890aSEmmanuel Vadot pm8921_lvs4: lvs4 {}; 964*f126890aSEmmanuel Vadot pm8921_lvs5: lvs5 {}; 965*f126890aSEmmanuel Vadot pm8921_lvs6: lvs6 {}; 966*f126890aSEmmanuel Vadot pm8921_lvs7: lvs7 {}; 967*f126890aSEmmanuel Vadot 968*f126890aSEmmanuel Vadot pm8921_usb_switch: usb-switch {}; 969*f126890aSEmmanuel Vadot 970*f126890aSEmmanuel Vadot pm8921_hdmi_switch: hdmi-switch { 971*f126890aSEmmanuel Vadot bias-pull-down; 972*f126890aSEmmanuel Vadot }; 973*f126890aSEmmanuel Vadot 974*f126890aSEmmanuel Vadot pm8921_ncp: ncp {}; 975*f126890aSEmmanuel Vadot }; 976*f126890aSEmmanuel Vadot }; 977*f126890aSEmmanuel Vadot 978*f126890aSEmmanuel Vadot usb1: usb@12500000 { 979*f126890aSEmmanuel Vadot compatible = "qcom,ci-hdrc"; 980*f126890aSEmmanuel Vadot reg = <0x12500000 0x200>, 981*f126890aSEmmanuel Vadot <0x12500200 0x200>; 982*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>; 983*f126890aSEmmanuel Vadot clocks = <&gcc USB_HS1_XCVR_CLK>, <&gcc USB_HS1_H_CLK>; 984*f126890aSEmmanuel Vadot clock-names = "core", "iface"; 985*f126890aSEmmanuel Vadot assigned-clocks = <&gcc USB_HS1_XCVR_CLK>; 986*f126890aSEmmanuel Vadot assigned-clock-rates = <60000000>; 987*f126890aSEmmanuel Vadot resets = <&gcc USB_HS1_RESET>; 988*f126890aSEmmanuel Vadot reset-names = "core"; 989*f126890aSEmmanuel Vadot phy_type = "ulpi"; 990*f126890aSEmmanuel Vadot ahb-burst-config = <0>; 991*f126890aSEmmanuel Vadot phys = <&usb_hs1_phy>; 992*f126890aSEmmanuel Vadot phy-names = "usb-phy"; 993*f126890aSEmmanuel Vadot status = "disabled"; 994*f126890aSEmmanuel Vadot #reset-cells = <1>; 995*f126890aSEmmanuel Vadot 996*f126890aSEmmanuel Vadot ulpi { 997*f126890aSEmmanuel Vadot usb_hs1_phy: phy { 998*f126890aSEmmanuel Vadot compatible = "qcom,usb-hs-phy-apq8064", 999*f126890aSEmmanuel Vadot "qcom,usb-hs-phy"; 1000*f126890aSEmmanuel Vadot clocks = <&sleep_clk>, <&cxo_board>; 1001*f126890aSEmmanuel Vadot clock-names = "sleep", "ref"; 1002*f126890aSEmmanuel Vadot resets = <&usb1 0>; 1003*f126890aSEmmanuel Vadot reset-names = "por"; 1004*f126890aSEmmanuel Vadot #phy-cells = <0>; 1005*f126890aSEmmanuel Vadot }; 1006*f126890aSEmmanuel Vadot }; 1007*f126890aSEmmanuel Vadot }; 1008*f126890aSEmmanuel Vadot 1009*f126890aSEmmanuel Vadot usb3: usb@12520000 { 1010*f126890aSEmmanuel Vadot compatible = "qcom,ci-hdrc"; 1011*f126890aSEmmanuel Vadot reg = <0x12520000 0x200>, 1012*f126890aSEmmanuel Vadot <0x12520200 0x200>; 1013*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>; 1014*f126890aSEmmanuel Vadot clocks = <&gcc USB_HS3_XCVR_CLK>, <&gcc USB_HS3_H_CLK>; 1015*f126890aSEmmanuel Vadot clock-names = "core", "iface"; 1016*f126890aSEmmanuel Vadot assigned-clocks = <&gcc USB_HS3_XCVR_CLK>; 1017*f126890aSEmmanuel Vadot assigned-clock-rates = <60000000>; 1018*f126890aSEmmanuel Vadot resets = <&gcc USB_HS3_RESET>; 1019*f126890aSEmmanuel Vadot reset-names = "core"; 1020*f126890aSEmmanuel Vadot phy_type = "ulpi"; 1021*f126890aSEmmanuel Vadot ahb-burst-config = <0>; 1022*f126890aSEmmanuel Vadot phys = <&usb_hs3_phy>; 1023*f126890aSEmmanuel Vadot phy-names = "usb-phy"; 1024*f126890aSEmmanuel Vadot status = "disabled"; 1025*f126890aSEmmanuel Vadot #reset-cells = <1>; 1026*f126890aSEmmanuel Vadot 1027*f126890aSEmmanuel Vadot ulpi { 1028*f126890aSEmmanuel Vadot usb_hs3_phy: phy { 1029*f126890aSEmmanuel Vadot compatible = "qcom,usb-hs-phy-apq8064", 1030*f126890aSEmmanuel Vadot "qcom,usb-hs-phy"; 1031*f126890aSEmmanuel Vadot #phy-cells = <0>; 1032*f126890aSEmmanuel Vadot clocks = <&sleep_clk>, <&cxo_board>; 1033*f126890aSEmmanuel Vadot clock-names = "sleep", "ref"; 1034*f126890aSEmmanuel Vadot resets = <&usb3 0>; 1035*f126890aSEmmanuel Vadot reset-names = "por"; 1036*f126890aSEmmanuel Vadot }; 1037*f126890aSEmmanuel Vadot }; 1038*f126890aSEmmanuel Vadot }; 1039*f126890aSEmmanuel Vadot 1040*f126890aSEmmanuel Vadot usb4: usb@12530000 { 1041*f126890aSEmmanuel Vadot compatible = "qcom,ci-hdrc"; 1042*f126890aSEmmanuel Vadot reg = <0x12530000 0x200>, 1043*f126890aSEmmanuel Vadot <0x12530200 0x200>; 1044*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 215 IRQ_TYPE_LEVEL_HIGH>; 1045*f126890aSEmmanuel Vadot clocks = <&gcc USB_HS4_XCVR_CLK>, <&gcc USB_HS4_H_CLK>; 1046*f126890aSEmmanuel Vadot clock-names = "core", "iface"; 1047*f126890aSEmmanuel Vadot assigned-clocks = <&gcc USB_HS4_XCVR_CLK>; 1048*f126890aSEmmanuel Vadot assigned-clock-rates = <60000000>; 1049*f126890aSEmmanuel Vadot resets = <&gcc USB_HS4_RESET>; 1050*f126890aSEmmanuel Vadot reset-names = "core"; 1051*f126890aSEmmanuel Vadot phy_type = "ulpi"; 1052*f126890aSEmmanuel Vadot ahb-burst-config = <0>; 1053*f126890aSEmmanuel Vadot phys = <&usb_hs4_phy>; 1054*f126890aSEmmanuel Vadot phy-names = "usb-phy"; 1055*f126890aSEmmanuel Vadot status = "disabled"; 1056*f126890aSEmmanuel Vadot #reset-cells = <1>; 1057*f126890aSEmmanuel Vadot 1058*f126890aSEmmanuel Vadot ulpi { 1059*f126890aSEmmanuel Vadot usb_hs4_phy: phy { 1060*f126890aSEmmanuel Vadot compatible = "qcom,usb-hs-phy-apq8064", 1061*f126890aSEmmanuel Vadot "qcom,usb-hs-phy"; 1062*f126890aSEmmanuel Vadot #phy-cells = <0>; 1063*f126890aSEmmanuel Vadot clocks = <&sleep_clk>, <&cxo_board>; 1064*f126890aSEmmanuel Vadot clock-names = "sleep", "ref"; 1065*f126890aSEmmanuel Vadot resets = <&usb4 0>; 1066*f126890aSEmmanuel Vadot reset-names = "por"; 1067*f126890aSEmmanuel Vadot }; 1068*f126890aSEmmanuel Vadot }; 1069*f126890aSEmmanuel Vadot }; 1070*f126890aSEmmanuel Vadot 1071*f126890aSEmmanuel Vadot sata_phy0: phy@1b400000 { 1072*f126890aSEmmanuel Vadot compatible = "qcom,apq8064-sata-phy"; 1073*f126890aSEmmanuel Vadot status = "disabled"; 1074*f126890aSEmmanuel Vadot reg = <0x1b400000 0x200>; 1075*f126890aSEmmanuel Vadot reg-names = "phy_mem"; 1076*f126890aSEmmanuel Vadot clocks = <&gcc SATA_PHY_CFG_CLK>; 1077*f126890aSEmmanuel Vadot clock-names = "cfg"; 1078*f126890aSEmmanuel Vadot #phy-cells = <0>; 1079*f126890aSEmmanuel Vadot }; 1080*f126890aSEmmanuel Vadot 1081*f126890aSEmmanuel Vadot sata0: sata@29000000 { 1082*f126890aSEmmanuel Vadot compatible = "qcom,apq8064-ahci", "generic-ahci"; 1083*f126890aSEmmanuel Vadot status = "disabled"; 1084*f126890aSEmmanuel Vadot reg = <0x29000000 0x180>; 1085*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 209 IRQ_TYPE_LEVEL_HIGH>; 1086*f126890aSEmmanuel Vadot 1087*f126890aSEmmanuel Vadot clocks = <&gcc SFAB_SATA_S_H_CLK>, 1088*f126890aSEmmanuel Vadot <&gcc SATA_H_CLK>, 1089*f126890aSEmmanuel Vadot <&gcc SATA_A_CLK>, 1090*f126890aSEmmanuel Vadot <&gcc SATA_RXOOB_CLK>, 1091*f126890aSEmmanuel Vadot <&gcc SATA_PMALIVE_CLK>; 1092*f126890aSEmmanuel Vadot clock-names = "slave_iface", 1093*f126890aSEmmanuel Vadot "iface", 1094*f126890aSEmmanuel Vadot "bus", 1095*f126890aSEmmanuel Vadot "rxoob", 1096*f126890aSEmmanuel Vadot "core_pmalive"; 1097*f126890aSEmmanuel Vadot 1098*f126890aSEmmanuel Vadot assigned-clocks = <&gcc SATA_RXOOB_CLK>, 1099*f126890aSEmmanuel Vadot <&gcc SATA_PMALIVE_CLK>; 1100*f126890aSEmmanuel Vadot assigned-clock-rates = <100000000>, <100000000>; 1101*f126890aSEmmanuel Vadot 1102*f126890aSEmmanuel Vadot phys = <&sata_phy0>; 1103*f126890aSEmmanuel Vadot phy-names = "sata-phy"; 1104*f126890aSEmmanuel Vadot ports-implemented = <0x1>; 1105*f126890aSEmmanuel Vadot }; 1106*f126890aSEmmanuel Vadot 1107*f126890aSEmmanuel Vadot sdcc3: mmc@12180000 { 1108*f126890aSEmmanuel Vadot compatible = "arm,pl18x", "arm,primecell"; 1109*f126890aSEmmanuel Vadot arm,primecell-periphid = <0x00051180>; 1110*f126890aSEmmanuel Vadot status = "disabled"; 1111*f126890aSEmmanuel Vadot reg = <0x12180000 0x2000>; 1112*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>; 1113*f126890aSEmmanuel Vadot clocks = <&gcc SDC3_CLK>, <&gcc SDC3_H_CLK>; 1114*f126890aSEmmanuel Vadot clock-names = "mclk", "apb_pclk"; 1115*f126890aSEmmanuel Vadot bus-width = <4>; 1116*f126890aSEmmanuel Vadot cap-sd-highspeed; 1117*f126890aSEmmanuel Vadot cap-mmc-highspeed; 1118*f126890aSEmmanuel Vadot max-frequency = <192000000>; 1119*f126890aSEmmanuel Vadot no-1-8-v; 1120*f126890aSEmmanuel Vadot dmas = <&sdcc3bam 2>, <&sdcc3bam 1>; 1121*f126890aSEmmanuel Vadot dma-names = "tx", "rx"; 1122*f126890aSEmmanuel Vadot }; 1123*f126890aSEmmanuel Vadot 1124*f126890aSEmmanuel Vadot sdcc3bam: dma-controller@12182000 { 1125*f126890aSEmmanuel Vadot compatible = "qcom,bam-v1.3.0"; 1126*f126890aSEmmanuel Vadot reg = <0x12182000 0x8000>; 1127*f126890aSEmmanuel Vadot interrupts = <0 96 IRQ_TYPE_LEVEL_HIGH>; 1128*f126890aSEmmanuel Vadot clocks = <&gcc SDC3_H_CLK>; 1129*f126890aSEmmanuel Vadot clock-names = "bam_clk"; 1130*f126890aSEmmanuel Vadot #dma-cells = <1>; 1131*f126890aSEmmanuel Vadot qcom,ee = <0>; 1132*f126890aSEmmanuel Vadot }; 1133*f126890aSEmmanuel Vadot 1134*f126890aSEmmanuel Vadot sdcc4: mmc@121c0000 { 1135*f126890aSEmmanuel Vadot compatible = "arm,pl18x", "arm,primecell"; 1136*f126890aSEmmanuel Vadot arm,primecell-periphid = <0x00051180>; 1137*f126890aSEmmanuel Vadot status = "disabled"; 1138*f126890aSEmmanuel Vadot reg = <0x121c0000 0x2000>; 1139*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>; 1140*f126890aSEmmanuel Vadot clocks = <&gcc SDC4_CLK>, <&gcc SDC4_H_CLK>; 1141*f126890aSEmmanuel Vadot clock-names = "mclk", "apb_pclk"; 1142*f126890aSEmmanuel Vadot bus-width = <4>; 1143*f126890aSEmmanuel Vadot cap-sd-highspeed; 1144*f126890aSEmmanuel Vadot cap-mmc-highspeed; 1145*f126890aSEmmanuel Vadot max-frequency = <48000000>; 1146*f126890aSEmmanuel Vadot dmas = <&sdcc4bam 2>, <&sdcc4bam 1>; 1147*f126890aSEmmanuel Vadot dma-names = "tx", "rx"; 1148*f126890aSEmmanuel Vadot pinctrl-names = "default"; 1149*f126890aSEmmanuel Vadot pinctrl-0 = <&sdc4_gpios>; 1150*f126890aSEmmanuel Vadot }; 1151*f126890aSEmmanuel Vadot 1152*f126890aSEmmanuel Vadot sdcc4bam: dma-controller@121c2000 { 1153*f126890aSEmmanuel Vadot compatible = "qcom,bam-v1.3.0"; 1154*f126890aSEmmanuel Vadot reg = <0x121c2000 0x8000>; 1155*f126890aSEmmanuel Vadot interrupts = <0 95 IRQ_TYPE_LEVEL_HIGH>; 1156*f126890aSEmmanuel Vadot clocks = <&gcc SDC4_H_CLK>; 1157*f126890aSEmmanuel Vadot clock-names = "bam_clk"; 1158*f126890aSEmmanuel Vadot #dma-cells = <1>; 1159*f126890aSEmmanuel Vadot qcom,ee = <0>; 1160*f126890aSEmmanuel Vadot }; 1161*f126890aSEmmanuel Vadot 1162*f126890aSEmmanuel Vadot sdcc1: mmc@12400000 { 1163*f126890aSEmmanuel Vadot status = "disabled"; 1164*f126890aSEmmanuel Vadot compatible = "arm,pl18x", "arm,primecell"; 1165*f126890aSEmmanuel Vadot pinctrl-names = "default"; 1166*f126890aSEmmanuel Vadot pinctrl-0 = <&sdcc1_pins>; 1167*f126890aSEmmanuel Vadot arm,primecell-periphid = <0x00051180>; 1168*f126890aSEmmanuel Vadot reg = <0x12400000 0x2000>; 1169*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>; 1170*f126890aSEmmanuel Vadot clocks = <&gcc SDC1_CLK>, <&gcc SDC1_H_CLK>; 1171*f126890aSEmmanuel Vadot clock-names = "mclk", "apb_pclk"; 1172*f126890aSEmmanuel Vadot bus-width = <8>; 1173*f126890aSEmmanuel Vadot max-frequency = <96000000>; 1174*f126890aSEmmanuel Vadot non-removable; 1175*f126890aSEmmanuel Vadot cap-sd-highspeed; 1176*f126890aSEmmanuel Vadot cap-mmc-highspeed; 1177*f126890aSEmmanuel Vadot dmas = <&sdcc1bam 2>, <&sdcc1bam 1>; 1178*f126890aSEmmanuel Vadot dma-names = "tx", "rx"; 1179*f126890aSEmmanuel Vadot }; 1180*f126890aSEmmanuel Vadot 1181*f126890aSEmmanuel Vadot sdcc1bam: dma-controller@12402000 { 1182*f126890aSEmmanuel Vadot compatible = "qcom,bam-v1.3.0"; 1183*f126890aSEmmanuel Vadot reg = <0x12402000 0x8000>; 1184*f126890aSEmmanuel Vadot interrupts = <0 98 IRQ_TYPE_LEVEL_HIGH>; 1185*f126890aSEmmanuel Vadot clocks = <&gcc SDC1_H_CLK>; 1186*f126890aSEmmanuel Vadot clock-names = "bam_clk"; 1187*f126890aSEmmanuel Vadot #dma-cells = <1>; 1188*f126890aSEmmanuel Vadot qcom,ee = <0>; 1189*f126890aSEmmanuel Vadot }; 1190*f126890aSEmmanuel Vadot 1191*f126890aSEmmanuel Vadot tcsr: syscon@1a400000 { 1192*f126890aSEmmanuel Vadot compatible = "qcom,tcsr-apq8064", "syscon"; 1193*f126890aSEmmanuel Vadot reg = <0x1a400000 0x100>; 1194*f126890aSEmmanuel Vadot }; 1195*f126890aSEmmanuel Vadot 1196*f126890aSEmmanuel Vadot gpu: adreno-3xx@4300000 { 1197*f126890aSEmmanuel Vadot compatible = "qcom,adreno-320.2", "qcom,adreno"; 1198*f126890aSEmmanuel Vadot reg = <0x04300000 0x20000>; 1199*f126890aSEmmanuel Vadot reg-names = "kgsl_3d0_reg_memory"; 1200*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>; 1201*f126890aSEmmanuel Vadot interrupt-names = "kgsl_3d0_irq"; 1202*f126890aSEmmanuel Vadot clock-names = 1203*f126890aSEmmanuel Vadot "core", 1204*f126890aSEmmanuel Vadot "iface", 1205*f126890aSEmmanuel Vadot "mem", 1206*f126890aSEmmanuel Vadot "mem_iface"; 1207*f126890aSEmmanuel Vadot clocks = 1208*f126890aSEmmanuel Vadot <&mmcc GFX3D_CLK>, 1209*f126890aSEmmanuel Vadot <&mmcc GFX3D_AHB_CLK>, 1210*f126890aSEmmanuel Vadot <&mmcc GFX3D_AXI_CLK>, 1211*f126890aSEmmanuel Vadot <&mmcc MMSS_IMEM_AHB_CLK>; 1212*f126890aSEmmanuel Vadot 1213*f126890aSEmmanuel Vadot iommus = <&gfx3d 0 1214*f126890aSEmmanuel Vadot &gfx3d 1 1215*f126890aSEmmanuel Vadot &gfx3d 2 1216*f126890aSEmmanuel Vadot &gfx3d 3 1217*f126890aSEmmanuel Vadot &gfx3d 4 1218*f126890aSEmmanuel Vadot &gfx3d 5 1219*f126890aSEmmanuel Vadot &gfx3d 6 1220*f126890aSEmmanuel Vadot &gfx3d 7 1221*f126890aSEmmanuel Vadot &gfx3d 8 1222*f126890aSEmmanuel Vadot &gfx3d 9 1223*f126890aSEmmanuel Vadot &gfx3d 10 1224*f126890aSEmmanuel Vadot &gfx3d 11 1225*f126890aSEmmanuel Vadot &gfx3d 12 1226*f126890aSEmmanuel Vadot &gfx3d 13 1227*f126890aSEmmanuel Vadot &gfx3d 14 1228*f126890aSEmmanuel Vadot &gfx3d 15 1229*f126890aSEmmanuel Vadot &gfx3d 16 1230*f126890aSEmmanuel Vadot &gfx3d 17 1231*f126890aSEmmanuel Vadot &gfx3d 18 1232*f126890aSEmmanuel Vadot &gfx3d 19 1233*f126890aSEmmanuel Vadot &gfx3d 20 1234*f126890aSEmmanuel Vadot &gfx3d 21 1235*f126890aSEmmanuel Vadot &gfx3d 22 1236*f126890aSEmmanuel Vadot &gfx3d 23 1237*f126890aSEmmanuel Vadot &gfx3d 24 1238*f126890aSEmmanuel Vadot &gfx3d 25 1239*f126890aSEmmanuel Vadot &gfx3d 26 1240*f126890aSEmmanuel Vadot &gfx3d 27 1241*f126890aSEmmanuel Vadot &gfx3d 28 1242*f126890aSEmmanuel Vadot &gfx3d 29 1243*f126890aSEmmanuel Vadot &gfx3d 30 1244*f126890aSEmmanuel Vadot &gfx3d 31 1245*f126890aSEmmanuel Vadot &gfx3d1 0 1246*f126890aSEmmanuel Vadot &gfx3d1 1 1247*f126890aSEmmanuel Vadot &gfx3d1 2 1248*f126890aSEmmanuel Vadot &gfx3d1 3 1249*f126890aSEmmanuel Vadot &gfx3d1 4 1250*f126890aSEmmanuel Vadot &gfx3d1 5 1251*f126890aSEmmanuel Vadot &gfx3d1 6 1252*f126890aSEmmanuel Vadot &gfx3d1 7 1253*f126890aSEmmanuel Vadot &gfx3d1 8 1254*f126890aSEmmanuel Vadot &gfx3d1 9 1255*f126890aSEmmanuel Vadot &gfx3d1 10 1256*f126890aSEmmanuel Vadot &gfx3d1 11 1257*f126890aSEmmanuel Vadot &gfx3d1 12 1258*f126890aSEmmanuel Vadot &gfx3d1 13 1259*f126890aSEmmanuel Vadot &gfx3d1 14 1260*f126890aSEmmanuel Vadot &gfx3d1 15 1261*f126890aSEmmanuel Vadot &gfx3d1 16 1262*f126890aSEmmanuel Vadot &gfx3d1 17 1263*f126890aSEmmanuel Vadot &gfx3d1 18 1264*f126890aSEmmanuel Vadot &gfx3d1 19 1265*f126890aSEmmanuel Vadot &gfx3d1 20 1266*f126890aSEmmanuel Vadot &gfx3d1 21 1267*f126890aSEmmanuel Vadot &gfx3d1 22 1268*f126890aSEmmanuel Vadot &gfx3d1 23 1269*f126890aSEmmanuel Vadot &gfx3d1 24 1270*f126890aSEmmanuel Vadot &gfx3d1 25 1271*f126890aSEmmanuel Vadot &gfx3d1 26 1272*f126890aSEmmanuel Vadot &gfx3d1 27 1273*f126890aSEmmanuel Vadot &gfx3d1 28 1274*f126890aSEmmanuel Vadot &gfx3d1 29 1275*f126890aSEmmanuel Vadot &gfx3d1 30 1276*f126890aSEmmanuel Vadot &gfx3d1 31>; 1277*f126890aSEmmanuel Vadot 1278*f126890aSEmmanuel Vadot operating-points-v2 = <&gpu_opp_table>; 1279*f126890aSEmmanuel Vadot 1280*f126890aSEmmanuel Vadot gpu_opp_table: opp-table { 1281*f126890aSEmmanuel Vadot compatible = "operating-points-v2"; 1282*f126890aSEmmanuel Vadot 1283*f126890aSEmmanuel Vadot opp-450000000 { 1284*f126890aSEmmanuel Vadot opp-hz = /bits/ 64 <450000000>; 1285*f126890aSEmmanuel Vadot }; 1286*f126890aSEmmanuel Vadot 1287*f126890aSEmmanuel Vadot opp-27000000 { 1288*f126890aSEmmanuel Vadot opp-hz = /bits/ 64 <27000000>; 1289*f126890aSEmmanuel Vadot }; 1290*f126890aSEmmanuel Vadot }; 1291*f126890aSEmmanuel Vadot }; 1292*f126890aSEmmanuel Vadot 1293*f126890aSEmmanuel Vadot mmss_sfpb: syscon@5700000 { 1294*f126890aSEmmanuel Vadot compatible = "syscon"; 1295*f126890aSEmmanuel Vadot reg = <0x5700000 0x70>; 1296*f126890aSEmmanuel Vadot }; 1297*f126890aSEmmanuel Vadot 1298*f126890aSEmmanuel Vadot dsi0: dsi@4700000 { 1299*f126890aSEmmanuel Vadot compatible = "qcom,apq8064-dsi-ctrl", 1300*f126890aSEmmanuel Vadot "qcom,mdss-dsi-ctrl"; 1301*f126890aSEmmanuel Vadot label = "MDSS DSI CTRL->0"; 1302*f126890aSEmmanuel Vadot #address-cells = <1>; 1303*f126890aSEmmanuel Vadot #size-cells = <0>; 1304*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>; 1305*f126890aSEmmanuel Vadot reg = <0x04700000 0x200>; 1306*f126890aSEmmanuel Vadot reg-names = "dsi_ctrl"; 1307*f126890aSEmmanuel Vadot 1308*f126890aSEmmanuel Vadot clocks = <&mmcc DSI_M_AHB_CLK>, 1309*f126890aSEmmanuel Vadot <&mmcc DSI_S_AHB_CLK>, 1310*f126890aSEmmanuel Vadot <&mmcc AMP_AHB_CLK>, 1311*f126890aSEmmanuel Vadot <&mmcc DSI_CLK>, 1312*f126890aSEmmanuel Vadot <&mmcc DSI1_BYTE_CLK>, 1313*f126890aSEmmanuel Vadot <&mmcc DSI_PIXEL_CLK>, 1314*f126890aSEmmanuel Vadot <&mmcc DSI1_ESC_CLK>; 1315*f126890aSEmmanuel Vadot clock-names = "iface", "bus", "core_mmss", 1316*f126890aSEmmanuel Vadot "src", "byte", "pixel", 1317*f126890aSEmmanuel Vadot "core"; 1318*f126890aSEmmanuel Vadot 1319*f126890aSEmmanuel Vadot assigned-clocks = <&mmcc DSI1_BYTE_SRC>, 1320*f126890aSEmmanuel Vadot <&mmcc DSI1_ESC_SRC>, 1321*f126890aSEmmanuel Vadot <&mmcc DSI_SRC>, 1322*f126890aSEmmanuel Vadot <&mmcc DSI_PIXEL_SRC>; 1323*f126890aSEmmanuel Vadot assigned-clock-parents = <&dsi0_phy 0>, 1324*f126890aSEmmanuel Vadot <&dsi0_phy 0>, 1325*f126890aSEmmanuel Vadot <&dsi0_phy 1>, 1326*f126890aSEmmanuel Vadot <&dsi0_phy 1>; 1327*f126890aSEmmanuel Vadot syscon-sfpb = <&mmss_sfpb>; 1328*f126890aSEmmanuel Vadot phys = <&dsi0_phy>; 1329*f126890aSEmmanuel Vadot status = "disabled"; 1330*f126890aSEmmanuel Vadot 1331*f126890aSEmmanuel Vadot ports { 1332*f126890aSEmmanuel Vadot #address-cells = <1>; 1333*f126890aSEmmanuel Vadot #size-cells = <0>; 1334*f126890aSEmmanuel Vadot 1335*f126890aSEmmanuel Vadot port@0 { 1336*f126890aSEmmanuel Vadot reg = <0>; 1337*f126890aSEmmanuel Vadot dsi0_in: endpoint { 1338*f126890aSEmmanuel Vadot }; 1339*f126890aSEmmanuel Vadot }; 1340*f126890aSEmmanuel Vadot 1341*f126890aSEmmanuel Vadot port@1 { 1342*f126890aSEmmanuel Vadot reg = <1>; 1343*f126890aSEmmanuel Vadot dsi0_out: endpoint { 1344*f126890aSEmmanuel Vadot }; 1345*f126890aSEmmanuel Vadot }; 1346*f126890aSEmmanuel Vadot }; 1347*f126890aSEmmanuel Vadot }; 1348*f126890aSEmmanuel Vadot 1349*f126890aSEmmanuel Vadot 1350*f126890aSEmmanuel Vadot dsi0_phy: phy@4700200 { 1351*f126890aSEmmanuel Vadot compatible = "qcom,dsi-phy-28nm-8960"; 1352*f126890aSEmmanuel Vadot #clock-cells = <1>; 1353*f126890aSEmmanuel Vadot #phy-cells = <0>; 1354*f126890aSEmmanuel Vadot 1355*f126890aSEmmanuel Vadot reg = <0x04700200 0x100>, 1356*f126890aSEmmanuel Vadot <0x04700300 0x200>, 1357*f126890aSEmmanuel Vadot <0x04700500 0x5c>; 1358*f126890aSEmmanuel Vadot reg-names = "dsi_pll", "dsi_phy", "dsi_phy_regulator"; 1359*f126890aSEmmanuel Vadot clock-names = "iface", "ref"; 1360*f126890aSEmmanuel Vadot clocks = <&mmcc DSI_M_AHB_CLK>, 1361*f126890aSEmmanuel Vadot <&pxo_board>; 1362*f126890aSEmmanuel Vadot status = "disabled"; 1363*f126890aSEmmanuel Vadot }; 1364*f126890aSEmmanuel Vadot 1365*f126890aSEmmanuel Vadot dsi1: dsi@5800000 { 1366*f126890aSEmmanuel Vadot compatible = "qcom,mdss-dsi-ctrl"; 1367*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 166 IRQ_TYPE_LEVEL_HIGH>; 1368*f126890aSEmmanuel Vadot reg = <0x05800000 0x200>; 1369*f126890aSEmmanuel Vadot reg-names = "dsi_ctrl"; 1370*f126890aSEmmanuel Vadot 1371*f126890aSEmmanuel Vadot clocks = <&mmcc DSI2_M_AHB_CLK>, 1372*f126890aSEmmanuel Vadot <&mmcc DSI2_S_AHB_CLK>, 1373*f126890aSEmmanuel Vadot <&mmcc AMP_AHB_CLK>, 1374*f126890aSEmmanuel Vadot <&mmcc DSI2_CLK>, 1375*f126890aSEmmanuel Vadot <&mmcc DSI2_BYTE_CLK>, 1376*f126890aSEmmanuel Vadot <&mmcc DSI2_PIXEL_CLK>, 1377*f126890aSEmmanuel Vadot <&mmcc DSI2_ESC_CLK>; 1378*f126890aSEmmanuel Vadot clock-names = "iface", 1379*f126890aSEmmanuel Vadot "bus", 1380*f126890aSEmmanuel Vadot "core_mmss", 1381*f126890aSEmmanuel Vadot "src", 1382*f126890aSEmmanuel Vadot "byte", 1383*f126890aSEmmanuel Vadot "pixel", 1384*f126890aSEmmanuel Vadot "core"; 1385*f126890aSEmmanuel Vadot 1386*f126890aSEmmanuel Vadot assigned-clocks = <&mmcc DSI2_BYTE_SRC>, 1387*f126890aSEmmanuel Vadot <&mmcc DSI2_ESC_SRC>, 1388*f126890aSEmmanuel Vadot <&mmcc DSI2_SRC>, 1389*f126890aSEmmanuel Vadot <&mmcc DSI2_PIXEL_SRC>; 1390*f126890aSEmmanuel Vadot assigned-clock-parents = <&dsi1_phy 0>, 1391*f126890aSEmmanuel Vadot <&dsi1_phy 0>, 1392*f126890aSEmmanuel Vadot <&dsi1_phy 1>, 1393*f126890aSEmmanuel Vadot <&dsi1_phy 1>; 1394*f126890aSEmmanuel Vadot 1395*f126890aSEmmanuel Vadot syscon-sfpb = <&mmss_sfpb>; 1396*f126890aSEmmanuel Vadot phys = <&dsi1_phy>; 1397*f126890aSEmmanuel Vadot 1398*f126890aSEmmanuel Vadot #address-cells = <1>; 1399*f126890aSEmmanuel Vadot #size-cells = <0>; 1400*f126890aSEmmanuel Vadot 1401*f126890aSEmmanuel Vadot status = "disabled"; 1402*f126890aSEmmanuel Vadot 1403*f126890aSEmmanuel Vadot ports { 1404*f126890aSEmmanuel Vadot #address-cells = <1>; 1405*f126890aSEmmanuel Vadot #size-cells = <0>; 1406*f126890aSEmmanuel Vadot 1407*f126890aSEmmanuel Vadot port@0 { 1408*f126890aSEmmanuel Vadot reg = <0>; 1409*f126890aSEmmanuel Vadot dsi1_in: endpoint { 1410*f126890aSEmmanuel Vadot }; 1411*f126890aSEmmanuel Vadot }; 1412*f126890aSEmmanuel Vadot 1413*f126890aSEmmanuel Vadot port@1 { 1414*f126890aSEmmanuel Vadot reg = <1>; 1415*f126890aSEmmanuel Vadot dsi1_out: endpoint { 1416*f126890aSEmmanuel Vadot }; 1417*f126890aSEmmanuel Vadot }; 1418*f126890aSEmmanuel Vadot }; 1419*f126890aSEmmanuel Vadot }; 1420*f126890aSEmmanuel Vadot 1421*f126890aSEmmanuel Vadot 1422*f126890aSEmmanuel Vadot dsi1_phy: dsi-phy@5800200 { 1423*f126890aSEmmanuel Vadot compatible = "qcom,dsi-phy-28nm-8960"; 1424*f126890aSEmmanuel Vadot reg = <0x05800200 0x100>, 1425*f126890aSEmmanuel Vadot <0x05800300 0x200>, 1426*f126890aSEmmanuel Vadot <0x05800500 0x5c>; 1427*f126890aSEmmanuel Vadot reg-names = "dsi_pll", 1428*f126890aSEmmanuel Vadot "dsi_phy", 1429*f126890aSEmmanuel Vadot "dsi_phy_regulator"; 1430*f126890aSEmmanuel Vadot clock-names = "iface", 1431*f126890aSEmmanuel Vadot "ref"; 1432*f126890aSEmmanuel Vadot clocks = <&mmcc DSI2_M_AHB_CLK>, 1433*f126890aSEmmanuel Vadot <&pxo_board>; 1434*f126890aSEmmanuel Vadot #clock-cells = <1>; 1435*f126890aSEmmanuel Vadot #phy-cells = <0>; 1436*f126890aSEmmanuel Vadot 1437*f126890aSEmmanuel Vadot status = "disabled"; 1438*f126890aSEmmanuel Vadot }; 1439*f126890aSEmmanuel Vadot 1440*f126890aSEmmanuel Vadot mdp_port0: iommu@7500000 { 1441*f126890aSEmmanuel Vadot compatible = "qcom,apq8064-iommu"; 1442*f126890aSEmmanuel Vadot #iommu-cells = <1>; 1443*f126890aSEmmanuel Vadot clock-names = 1444*f126890aSEmmanuel Vadot "smmu_pclk", 1445*f126890aSEmmanuel Vadot "iommu_clk"; 1446*f126890aSEmmanuel Vadot clocks = 1447*f126890aSEmmanuel Vadot <&mmcc SMMU_AHB_CLK>, 1448*f126890aSEmmanuel Vadot <&mmcc MDP_AXI_CLK>; 1449*f126890aSEmmanuel Vadot reg = <0x07500000 0x100000>; 1450*f126890aSEmmanuel Vadot interrupts = 1451*f126890aSEmmanuel Vadot <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>, 1452*f126890aSEmmanuel Vadot <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>; 1453*f126890aSEmmanuel Vadot qcom,ncb = <2>; 1454*f126890aSEmmanuel Vadot }; 1455*f126890aSEmmanuel Vadot 1456*f126890aSEmmanuel Vadot mdp_port1: iommu@7600000 { 1457*f126890aSEmmanuel Vadot compatible = "qcom,apq8064-iommu"; 1458*f126890aSEmmanuel Vadot #iommu-cells = <1>; 1459*f126890aSEmmanuel Vadot clock-names = 1460*f126890aSEmmanuel Vadot "smmu_pclk", 1461*f126890aSEmmanuel Vadot "iommu_clk"; 1462*f126890aSEmmanuel Vadot clocks = 1463*f126890aSEmmanuel Vadot <&mmcc SMMU_AHB_CLK>, 1464*f126890aSEmmanuel Vadot <&mmcc MDP_AXI_CLK>; 1465*f126890aSEmmanuel Vadot reg = <0x07600000 0x100000>; 1466*f126890aSEmmanuel Vadot interrupts = 1467*f126890aSEmmanuel Vadot <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>, 1468*f126890aSEmmanuel Vadot <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>; 1469*f126890aSEmmanuel Vadot qcom,ncb = <2>; 1470*f126890aSEmmanuel Vadot }; 1471*f126890aSEmmanuel Vadot 1472*f126890aSEmmanuel Vadot gfx3d: iommu@7c00000 { 1473*f126890aSEmmanuel Vadot compatible = "qcom,apq8064-iommu"; 1474*f126890aSEmmanuel Vadot #iommu-cells = <1>; 1475*f126890aSEmmanuel Vadot clock-names = 1476*f126890aSEmmanuel Vadot "smmu_pclk", 1477*f126890aSEmmanuel Vadot "iommu_clk"; 1478*f126890aSEmmanuel Vadot clocks = 1479*f126890aSEmmanuel Vadot <&mmcc SMMU_AHB_CLK>, 1480*f126890aSEmmanuel Vadot <&mmcc GFX3D_AXI_CLK>; 1481*f126890aSEmmanuel Vadot reg = <0x07c00000 0x100000>; 1482*f126890aSEmmanuel Vadot interrupts = 1483*f126890aSEmmanuel Vadot <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>, 1484*f126890aSEmmanuel Vadot <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>; 1485*f126890aSEmmanuel Vadot qcom,ncb = <3>; 1486*f126890aSEmmanuel Vadot }; 1487*f126890aSEmmanuel Vadot 1488*f126890aSEmmanuel Vadot gfx3d1: iommu@7d00000 { 1489*f126890aSEmmanuel Vadot compatible = "qcom,apq8064-iommu"; 1490*f126890aSEmmanuel Vadot #iommu-cells = <1>; 1491*f126890aSEmmanuel Vadot clock-names = 1492*f126890aSEmmanuel Vadot "smmu_pclk", 1493*f126890aSEmmanuel Vadot "iommu_clk"; 1494*f126890aSEmmanuel Vadot clocks = 1495*f126890aSEmmanuel Vadot <&mmcc SMMU_AHB_CLK>, 1496*f126890aSEmmanuel Vadot <&mmcc GFX3D_AXI_CLK>; 1497*f126890aSEmmanuel Vadot reg = <0x07d00000 0x100000>; 1498*f126890aSEmmanuel Vadot interrupts = 1499*f126890aSEmmanuel Vadot <GIC_SPI 210 IRQ_TYPE_LEVEL_HIGH>, 1500*f126890aSEmmanuel Vadot <GIC_SPI 211 IRQ_TYPE_LEVEL_HIGH>; 1501*f126890aSEmmanuel Vadot qcom,ncb = <3>; 1502*f126890aSEmmanuel Vadot }; 1503*f126890aSEmmanuel Vadot 1504*f126890aSEmmanuel Vadot pcie: pci@1b500000 { 1505*f126890aSEmmanuel Vadot compatible = "qcom,pcie-apq8064"; 1506*f126890aSEmmanuel Vadot reg = <0x1b500000 0x1000>, 1507*f126890aSEmmanuel Vadot <0x1b502000 0x80>, 1508*f126890aSEmmanuel Vadot <0x1b600000 0x100>, 1509*f126890aSEmmanuel Vadot <0x0ff00000 0x100000>; 1510*f126890aSEmmanuel Vadot reg-names = "dbi", "elbi", "parf", "config"; 1511*f126890aSEmmanuel Vadot device_type = "pci"; 1512*f126890aSEmmanuel Vadot linux,pci-domain = <0>; 1513*f126890aSEmmanuel Vadot bus-range = <0x00 0xff>; 1514*f126890aSEmmanuel Vadot num-lanes = <1>; 1515*f126890aSEmmanuel Vadot #address-cells = <3>; 1516*f126890aSEmmanuel Vadot #size-cells = <2>; 1517*f126890aSEmmanuel Vadot ranges = <0x81000000 0x0 0x00000000 0x0fe00000 0x0 0x00100000>, /* I/O */ 1518*f126890aSEmmanuel Vadot <0x82000000 0x0 0x08000000 0x08000000 0x0 0x07e00000>; /* mem */ 1519*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 238 IRQ_TYPE_LEVEL_HIGH>; 1520*f126890aSEmmanuel Vadot interrupt-names = "msi"; 1521*f126890aSEmmanuel Vadot #interrupt-cells = <1>; 1522*f126890aSEmmanuel Vadot interrupt-map-mask = <0 0 0 0x7>; 1523*f126890aSEmmanuel Vadot interrupt-map = <0 0 0 1 &intc 0 36 IRQ_TYPE_LEVEL_HIGH>, /* int_a */ 1524*f126890aSEmmanuel Vadot <0 0 0 2 &intc 0 37 IRQ_TYPE_LEVEL_HIGH>, /* int_b */ 1525*f126890aSEmmanuel Vadot <0 0 0 3 &intc 0 38 IRQ_TYPE_LEVEL_HIGH>, /* int_c */ 1526*f126890aSEmmanuel Vadot <0 0 0 4 &intc 0 39 IRQ_TYPE_LEVEL_HIGH>; /* int_d */ 1527*f126890aSEmmanuel Vadot clocks = <&gcc PCIE_A_CLK>, 1528*f126890aSEmmanuel Vadot <&gcc PCIE_H_CLK>, 1529*f126890aSEmmanuel Vadot <&gcc PCIE_PHY_REF_CLK>; 1530*f126890aSEmmanuel Vadot clock-names = "core", "iface", "phy"; 1531*f126890aSEmmanuel Vadot resets = <&gcc PCIE_ACLK_RESET>, 1532*f126890aSEmmanuel Vadot <&gcc PCIE_HCLK_RESET>, 1533*f126890aSEmmanuel Vadot <&gcc PCIE_POR_RESET>, 1534*f126890aSEmmanuel Vadot <&gcc PCIE_PCI_RESET>, 1535*f126890aSEmmanuel Vadot <&gcc PCIE_PHY_RESET>; 1536*f126890aSEmmanuel Vadot reset-names = "axi", "ahb", "por", "pci", "phy"; 1537*f126890aSEmmanuel Vadot status = "disabled"; 1538*f126890aSEmmanuel Vadot }; 1539*f126890aSEmmanuel Vadot 1540*f126890aSEmmanuel Vadot hdmi: hdmi-tx@4a00000 { 1541*f126890aSEmmanuel Vadot compatible = "qcom,hdmi-tx-8960"; 1542*f126890aSEmmanuel Vadot pinctrl-names = "default"; 1543*f126890aSEmmanuel Vadot pinctrl-0 = <&hdmi_pinctrl>; 1544*f126890aSEmmanuel Vadot reg = <0x04a00000 0x2f0>; 1545*f126890aSEmmanuel Vadot reg-names = "core_physical"; 1546*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>; 1547*f126890aSEmmanuel Vadot clocks = <&mmcc HDMI_APP_CLK>, 1548*f126890aSEmmanuel Vadot <&mmcc HDMI_M_AHB_CLK>, 1549*f126890aSEmmanuel Vadot <&mmcc HDMI_S_AHB_CLK>; 1550*f126890aSEmmanuel Vadot clock-names = "core", 1551*f126890aSEmmanuel Vadot "master_iface", 1552*f126890aSEmmanuel Vadot "slave_iface"; 1553*f126890aSEmmanuel Vadot 1554*f126890aSEmmanuel Vadot phys = <&hdmi_phy>; 1555*f126890aSEmmanuel Vadot 1556*f126890aSEmmanuel Vadot status = "disabled"; 1557*f126890aSEmmanuel Vadot 1558*f126890aSEmmanuel Vadot ports { 1559*f126890aSEmmanuel Vadot #address-cells = <1>; 1560*f126890aSEmmanuel Vadot #size-cells = <0>; 1561*f126890aSEmmanuel Vadot 1562*f126890aSEmmanuel Vadot port@0 { 1563*f126890aSEmmanuel Vadot reg = <0>; 1564*f126890aSEmmanuel Vadot hdmi_in: endpoint { 1565*f126890aSEmmanuel Vadot }; 1566*f126890aSEmmanuel Vadot }; 1567*f126890aSEmmanuel Vadot 1568*f126890aSEmmanuel Vadot port@1 { 1569*f126890aSEmmanuel Vadot reg = <1>; 1570*f126890aSEmmanuel Vadot hdmi_out: endpoint { 1571*f126890aSEmmanuel Vadot }; 1572*f126890aSEmmanuel Vadot }; 1573*f126890aSEmmanuel Vadot }; 1574*f126890aSEmmanuel Vadot }; 1575*f126890aSEmmanuel Vadot 1576*f126890aSEmmanuel Vadot hdmi_phy: phy@4a00400 { 1577*f126890aSEmmanuel Vadot compatible = "qcom,hdmi-phy-8960"; 1578*f126890aSEmmanuel Vadot reg = <0x4a00400 0x60>, 1579*f126890aSEmmanuel Vadot <0x4a00500 0x100>; 1580*f126890aSEmmanuel Vadot reg-names = "hdmi_phy", 1581*f126890aSEmmanuel Vadot "hdmi_pll"; 1582*f126890aSEmmanuel Vadot 1583*f126890aSEmmanuel Vadot clocks = <&mmcc HDMI_S_AHB_CLK>; 1584*f126890aSEmmanuel Vadot clock-names = "slave_iface"; 1585*f126890aSEmmanuel Vadot #phy-cells = <0>; 1586*f126890aSEmmanuel Vadot #clock-cells = <0>; 1587*f126890aSEmmanuel Vadot 1588*f126890aSEmmanuel Vadot status = "disabled"; 1589*f126890aSEmmanuel Vadot }; 1590*f126890aSEmmanuel Vadot 1591*f126890aSEmmanuel Vadot mdp: display-controller@5100000 { 1592*f126890aSEmmanuel Vadot compatible = "qcom,mdp4"; 1593*f126890aSEmmanuel Vadot reg = <0x05100000 0xf0000>; 1594*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>; 1595*f126890aSEmmanuel Vadot clocks = <&mmcc MDP_CLK>, 1596*f126890aSEmmanuel Vadot <&mmcc MDP_AHB_CLK>, 1597*f126890aSEmmanuel Vadot <&mmcc MDP_AXI_CLK>, 1598*f126890aSEmmanuel Vadot <&mmcc MDP_LUT_CLK>, 1599*f126890aSEmmanuel Vadot <&mmcc HDMI_TV_CLK>, 1600*f126890aSEmmanuel Vadot <&mmcc MDP_TV_CLK>; 1601*f126890aSEmmanuel Vadot clock-names = "core_clk", 1602*f126890aSEmmanuel Vadot "iface_clk", 1603*f126890aSEmmanuel Vadot "bus_clk", 1604*f126890aSEmmanuel Vadot "lut_clk", 1605*f126890aSEmmanuel Vadot "hdmi_clk", 1606*f126890aSEmmanuel Vadot "tv_clk"; 1607*f126890aSEmmanuel Vadot 1608*f126890aSEmmanuel Vadot iommus = <&mdp_port0 0 1609*f126890aSEmmanuel Vadot &mdp_port0 2 1610*f126890aSEmmanuel Vadot &mdp_port1 0 1611*f126890aSEmmanuel Vadot &mdp_port1 2>; 1612*f126890aSEmmanuel Vadot 1613*f126890aSEmmanuel Vadot ports { 1614*f126890aSEmmanuel Vadot #address-cells = <1>; 1615*f126890aSEmmanuel Vadot #size-cells = <0>; 1616*f126890aSEmmanuel Vadot 1617*f126890aSEmmanuel Vadot port@0 { 1618*f126890aSEmmanuel Vadot reg = <0>; 1619*f126890aSEmmanuel Vadot mdp_lvds_out: endpoint { 1620*f126890aSEmmanuel Vadot }; 1621*f126890aSEmmanuel Vadot }; 1622*f126890aSEmmanuel Vadot 1623*f126890aSEmmanuel Vadot port@1 { 1624*f126890aSEmmanuel Vadot reg = <1>; 1625*f126890aSEmmanuel Vadot mdp_dsi1_out: endpoint { 1626*f126890aSEmmanuel Vadot }; 1627*f126890aSEmmanuel Vadot }; 1628*f126890aSEmmanuel Vadot 1629*f126890aSEmmanuel Vadot port@2 { 1630*f126890aSEmmanuel Vadot reg = <2>; 1631*f126890aSEmmanuel Vadot mdp_dsi2_out: endpoint { 1632*f126890aSEmmanuel Vadot }; 1633*f126890aSEmmanuel Vadot }; 1634*f126890aSEmmanuel Vadot 1635*f126890aSEmmanuel Vadot port@3 { 1636*f126890aSEmmanuel Vadot reg = <3>; 1637*f126890aSEmmanuel Vadot mdp_dtv_out: endpoint { 1638*f126890aSEmmanuel Vadot }; 1639*f126890aSEmmanuel Vadot }; 1640*f126890aSEmmanuel Vadot }; 1641*f126890aSEmmanuel Vadot }; 1642*f126890aSEmmanuel Vadot 1643*f126890aSEmmanuel Vadot riva: riva-pil@3200800 { 1644*f126890aSEmmanuel Vadot compatible = "qcom,riva-pil"; 1645*f126890aSEmmanuel Vadot 1646*f126890aSEmmanuel Vadot reg = <0x03200800 0x1000>, <0x03202000 0x2000>, <0x03204000 0x100>; 1647*f126890aSEmmanuel Vadot reg-names = "ccu", "dxe", "pmu"; 1648*f126890aSEmmanuel Vadot 1649*f126890aSEmmanuel Vadot interrupts-extended = <&intc GIC_SPI 199 IRQ_TYPE_EDGE_RISING>, 1650*f126890aSEmmanuel Vadot <&wcnss_smsm 6 IRQ_TYPE_EDGE_RISING>; 1651*f126890aSEmmanuel Vadot interrupt-names = "wdog", "fatal"; 1652*f126890aSEmmanuel Vadot 1653*f126890aSEmmanuel Vadot memory-region = <&wcnss_mem>; 1654*f126890aSEmmanuel Vadot 1655*f126890aSEmmanuel Vadot vddcx-supply = <&pm8921_s3>; 1656*f126890aSEmmanuel Vadot vddmx-supply = <&pm8921_l24>; 1657*f126890aSEmmanuel Vadot vddpx-supply = <&pm8921_s4>; 1658*f126890aSEmmanuel Vadot 1659*f126890aSEmmanuel Vadot status = "disabled"; 1660*f126890aSEmmanuel Vadot 1661*f126890aSEmmanuel Vadot iris { 1662*f126890aSEmmanuel Vadot compatible = "qcom,wcn3660"; 1663*f126890aSEmmanuel Vadot 1664*f126890aSEmmanuel Vadot clocks = <&cxo_board>; 1665*f126890aSEmmanuel Vadot clock-names = "xo"; 1666*f126890aSEmmanuel Vadot 1667*f126890aSEmmanuel Vadot vddxo-supply = <&pm8921_l4>; 1668*f126890aSEmmanuel Vadot vddrfa-supply = <&pm8921_s2>; 1669*f126890aSEmmanuel Vadot vddpa-supply = <&pm8921_l10>; 1670*f126890aSEmmanuel Vadot vdddig-supply = <&pm8921_lvs2>; 1671*f126890aSEmmanuel Vadot }; 1672*f126890aSEmmanuel Vadot 1673*f126890aSEmmanuel Vadot smd-edge { 1674*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 198 IRQ_TYPE_EDGE_RISING>; 1675*f126890aSEmmanuel Vadot 1676*f126890aSEmmanuel Vadot qcom,ipc = <&l2cc 8 25>; 1677*f126890aSEmmanuel Vadot qcom,smd-edge = <6>; 1678*f126890aSEmmanuel Vadot 1679*f126890aSEmmanuel Vadot label = "riva"; 1680*f126890aSEmmanuel Vadot 1681*f126890aSEmmanuel Vadot wcnss { 1682*f126890aSEmmanuel Vadot compatible = "qcom,wcnss"; 1683*f126890aSEmmanuel Vadot qcom,smd-channels = "WCNSS_CTRL"; 1684*f126890aSEmmanuel Vadot 1685*f126890aSEmmanuel Vadot qcom,mmio = <&riva>; 1686*f126890aSEmmanuel Vadot 1687*f126890aSEmmanuel Vadot bluetooth { 1688*f126890aSEmmanuel Vadot compatible = "qcom,wcnss-bt"; 1689*f126890aSEmmanuel Vadot }; 1690*f126890aSEmmanuel Vadot 1691*f126890aSEmmanuel Vadot wifi { 1692*f126890aSEmmanuel Vadot compatible = "qcom,wcnss-wlan"; 1693*f126890aSEmmanuel Vadot 1694*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 203 IRQ_TYPE_LEVEL_HIGH>, 1695*f126890aSEmmanuel Vadot <GIC_SPI 202 IRQ_TYPE_LEVEL_HIGH>; 1696*f126890aSEmmanuel Vadot interrupt-names = "tx", "rx"; 1697*f126890aSEmmanuel Vadot 1698*f126890aSEmmanuel Vadot qcom,smem-states = <&apps_smsm 10>, <&apps_smsm 9>; 1699*f126890aSEmmanuel Vadot qcom,smem-state-names = "tx-enable", "tx-rings-empty"; 1700*f126890aSEmmanuel Vadot }; 1701*f126890aSEmmanuel Vadot }; 1702*f126890aSEmmanuel Vadot }; 1703*f126890aSEmmanuel Vadot }; 1704*f126890aSEmmanuel Vadot 1705*f126890aSEmmanuel Vadot etb@1a01000 { 1706*f126890aSEmmanuel Vadot compatible = "arm,coresight-etb10", "arm,primecell"; 1707*f126890aSEmmanuel Vadot reg = <0x1a01000 0x1000>; 1708*f126890aSEmmanuel Vadot 1709*f126890aSEmmanuel Vadot clocks = <&rpmcc RPM_QDSS_CLK>; 1710*f126890aSEmmanuel Vadot clock-names = "apb_pclk"; 1711*f126890aSEmmanuel Vadot 1712*f126890aSEmmanuel Vadot in-ports { 1713*f126890aSEmmanuel Vadot port { 1714*f126890aSEmmanuel Vadot etb_in: endpoint { 1715*f126890aSEmmanuel Vadot remote-endpoint = <&replicator_out0>; 1716*f126890aSEmmanuel Vadot }; 1717*f126890aSEmmanuel Vadot }; 1718*f126890aSEmmanuel Vadot }; 1719*f126890aSEmmanuel Vadot }; 1720*f126890aSEmmanuel Vadot 1721*f126890aSEmmanuel Vadot tpiu@1a03000 { 1722*f126890aSEmmanuel Vadot compatible = "arm,coresight-tpiu", "arm,primecell"; 1723*f126890aSEmmanuel Vadot reg = <0x1a03000 0x1000>; 1724*f126890aSEmmanuel Vadot 1725*f126890aSEmmanuel Vadot clocks = <&rpmcc RPM_QDSS_CLK>; 1726*f126890aSEmmanuel Vadot clock-names = "apb_pclk"; 1727*f126890aSEmmanuel Vadot 1728*f126890aSEmmanuel Vadot in-ports { 1729*f126890aSEmmanuel Vadot port { 1730*f126890aSEmmanuel Vadot tpiu_in: endpoint { 1731*f126890aSEmmanuel Vadot remote-endpoint = <&replicator_out1>; 1732*f126890aSEmmanuel Vadot }; 1733*f126890aSEmmanuel Vadot }; 1734*f126890aSEmmanuel Vadot }; 1735*f126890aSEmmanuel Vadot }; 1736*f126890aSEmmanuel Vadot 1737*f126890aSEmmanuel Vadot replicator { 1738*f126890aSEmmanuel Vadot compatible = "arm,coresight-static-replicator"; 1739*f126890aSEmmanuel Vadot 1740*f126890aSEmmanuel Vadot clocks = <&rpmcc RPM_QDSS_CLK>; 1741*f126890aSEmmanuel Vadot clock-names = "apb_pclk"; 1742*f126890aSEmmanuel Vadot 1743*f126890aSEmmanuel Vadot out-ports { 1744*f126890aSEmmanuel Vadot #address-cells = <1>; 1745*f126890aSEmmanuel Vadot #size-cells = <0>; 1746*f126890aSEmmanuel Vadot 1747*f126890aSEmmanuel Vadot port@0 { 1748*f126890aSEmmanuel Vadot reg = <0>; 1749*f126890aSEmmanuel Vadot replicator_out0: endpoint { 1750*f126890aSEmmanuel Vadot remote-endpoint = <&etb_in>; 1751*f126890aSEmmanuel Vadot }; 1752*f126890aSEmmanuel Vadot }; 1753*f126890aSEmmanuel Vadot port@1 { 1754*f126890aSEmmanuel Vadot reg = <1>; 1755*f126890aSEmmanuel Vadot replicator_out1: endpoint { 1756*f126890aSEmmanuel Vadot remote-endpoint = <&tpiu_in>; 1757*f126890aSEmmanuel Vadot }; 1758*f126890aSEmmanuel Vadot }; 1759*f126890aSEmmanuel Vadot }; 1760*f126890aSEmmanuel Vadot 1761*f126890aSEmmanuel Vadot in-ports { 1762*f126890aSEmmanuel Vadot port { 1763*f126890aSEmmanuel Vadot replicator_in: endpoint { 1764*f126890aSEmmanuel Vadot remote-endpoint = <&funnel_out>; 1765*f126890aSEmmanuel Vadot }; 1766*f126890aSEmmanuel Vadot }; 1767*f126890aSEmmanuel Vadot }; 1768*f126890aSEmmanuel Vadot }; 1769*f126890aSEmmanuel Vadot 1770*f126890aSEmmanuel Vadot funnel@1a04000 { 1771*f126890aSEmmanuel Vadot compatible = "arm,coresight-dynamic-funnel", "arm,primecell"; 1772*f126890aSEmmanuel Vadot reg = <0x1a04000 0x1000>; 1773*f126890aSEmmanuel Vadot 1774*f126890aSEmmanuel Vadot clocks = <&rpmcc RPM_QDSS_CLK>; 1775*f126890aSEmmanuel Vadot clock-names = "apb_pclk"; 1776*f126890aSEmmanuel Vadot 1777*f126890aSEmmanuel Vadot in-ports { 1778*f126890aSEmmanuel Vadot #address-cells = <1>; 1779*f126890aSEmmanuel Vadot #size-cells = <0>; 1780*f126890aSEmmanuel Vadot 1781*f126890aSEmmanuel Vadot /* 1782*f126890aSEmmanuel Vadot * Not described input ports: 1783*f126890aSEmmanuel Vadot * 2 - connected to STM component 1784*f126890aSEmmanuel Vadot * 3 - not-connected 1785*f126890aSEmmanuel Vadot * 6 - not-connected 1786*f126890aSEmmanuel Vadot * 7 - not-connected 1787*f126890aSEmmanuel Vadot */ 1788*f126890aSEmmanuel Vadot port@0 { 1789*f126890aSEmmanuel Vadot reg = <0>; 1790*f126890aSEmmanuel Vadot funnel_in0: endpoint { 1791*f126890aSEmmanuel Vadot remote-endpoint = <&etm0_out>; 1792*f126890aSEmmanuel Vadot }; 1793*f126890aSEmmanuel Vadot }; 1794*f126890aSEmmanuel Vadot port@1 { 1795*f126890aSEmmanuel Vadot reg = <1>; 1796*f126890aSEmmanuel Vadot funnel_in1: endpoint { 1797*f126890aSEmmanuel Vadot remote-endpoint = <&etm1_out>; 1798*f126890aSEmmanuel Vadot }; 1799*f126890aSEmmanuel Vadot }; 1800*f126890aSEmmanuel Vadot port@4 { 1801*f126890aSEmmanuel Vadot reg = <4>; 1802*f126890aSEmmanuel Vadot funnel_in4: endpoint { 1803*f126890aSEmmanuel Vadot remote-endpoint = <&etm2_out>; 1804*f126890aSEmmanuel Vadot }; 1805*f126890aSEmmanuel Vadot }; 1806*f126890aSEmmanuel Vadot port@5 { 1807*f126890aSEmmanuel Vadot reg = <5>; 1808*f126890aSEmmanuel Vadot funnel_in5: endpoint { 1809*f126890aSEmmanuel Vadot remote-endpoint = <&etm3_out>; 1810*f126890aSEmmanuel Vadot }; 1811*f126890aSEmmanuel Vadot }; 1812*f126890aSEmmanuel Vadot }; 1813*f126890aSEmmanuel Vadot 1814*f126890aSEmmanuel Vadot out-ports { 1815*f126890aSEmmanuel Vadot port { 1816*f126890aSEmmanuel Vadot funnel_out: endpoint { 1817*f126890aSEmmanuel Vadot remote-endpoint = <&replicator_in>; 1818*f126890aSEmmanuel Vadot }; 1819*f126890aSEmmanuel Vadot }; 1820*f126890aSEmmanuel Vadot }; 1821*f126890aSEmmanuel Vadot }; 1822*f126890aSEmmanuel Vadot 1823*f126890aSEmmanuel Vadot etm@1a1c000 { 1824*f126890aSEmmanuel Vadot compatible = "arm,coresight-etm3x", "arm,primecell"; 1825*f126890aSEmmanuel Vadot reg = <0x1a1c000 0x1000>; 1826*f126890aSEmmanuel Vadot 1827*f126890aSEmmanuel Vadot clocks = <&rpmcc RPM_QDSS_CLK>; 1828*f126890aSEmmanuel Vadot clock-names = "apb_pclk"; 1829*f126890aSEmmanuel Vadot 1830*f126890aSEmmanuel Vadot cpu = <&CPU0>; 1831*f126890aSEmmanuel Vadot 1832*f126890aSEmmanuel Vadot out-ports { 1833*f126890aSEmmanuel Vadot port { 1834*f126890aSEmmanuel Vadot etm0_out: endpoint { 1835*f126890aSEmmanuel Vadot remote-endpoint = <&funnel_in0>; 1836*f126890aSEmmanuel Vadot }; 1837*f126890aSEmmanuel Vadot }; 1838*f126890aSEmmanuel Vadot }; 1839*f126890aSEmmanuel Vadot }; 1840*f126890aSEmmanuel Vadot 1841*f126890aSEmmanuel Vadot etm@1a1d000 { 1842*f126890aSEmmanuel Vadot compatible = "arm,coresight-etm3x", "arm,primecell"; 1843*f126890aSEmmanuel Vadot reg = <0x1a1d000 0x1000>; 1844*f126890aSEmmanuel Vadot 1845*f126890aSEmmanuel Vadot clocks = <&rpmcc RPM_QDSS_CLK>; 1846*f126890aSEmmanuel Vadot clock-names = "apb_pclk"; 1847*f126890aSEmmanuel Vadot 1848*f126890aSEmmanuel Vadot cpu = <&CPU1>; 1849*f126890aSEmmanuel Vadot 1850*f126890aSEmmanuel Vadot out-ports { 1851*f126890aSEmmanuel Vadot port { 1852*f126890aSEmmanuel Vadot etm1_out: endpoint { 1853*f126890aSEmmanuel Vadot remote-endpoint = <&funnel_in1>; 1854*f126890aSEmmanuel Vadot }; 1855*f126890aSEmmanuel Vadot }; 1856*f126890aSEmmanuel Vadot }; 1857*f126890aSEmmanuel Vadot }; 1858*f126890aSEmmanuel Vadot 1859*f126890aSEmmanuel Vadot etm@1a1e000 { 1860*f126890aSEmmanuel Vadot compatible = "arm,coresight-etm3x", "arm,primecell"; 1861*f126890aSEmmanuel Vadot reg = <0x1a1e000 0x1000>; 1862*f126890aSEmmanuel Vadot 1863*f126890aSEmmanuel Vadot clocks = <&rpmcc RPM_QDSS_CLK>; 1864*f126890aSEmmanuel Vadot clock-names = "apb_pclk"; 1865*f126890aSEmmanuel Vadot 1866*f126890aSEmmanuel Vadot cpu = <&CPU2>; 1867*f126890aSEmmanuel Vadot 1868*f126890aSEmmanuel Vadot out-ports { 1869*f126890aSEmmanuel Vadot port { 1870*f126890aSEmmanuel Vadot etm2_out: endpoint { 1871*f126890aSEmmanuel Vadot remote-endpoint = <&funnel_in4>; 1872*f126890aSEmmanuel Vadot }; 1873*f126890aSEmmanuel Vadot }; 1874*f126890aSEmmanuel Vadot }; 1875*f126890aSEmmanuel Vadot }; 1876*f126890aSEmmanuel Vadot 1877*f126890aSEmmanuel Vadot etm@1a1f000 { 1878*f126890aSEmmanuel Vadot compatible = "arm,coresight-etm3x", "arm,primecell"; 1879*f126890aSEmmanuel Vadot reg = <0x1a1f000 0x1000>; 1880*f126890aSEmmanuel Vadot 1881*f126890aSEmmanuel Vadot clocks = <&rpmcc RPM_QDSS_CLK>; 1882*f126890aSEmmanuel Vadot clock-names = "apb_pclk"; 1883*f126890aSEmmanuel Vadot 1884*f126890aSEmmanuel Vadot cpu = <&CPU3>; 1885*f126890aSEmmanuel Vadot 1886*f126890aSEmmanuel Vadot out-ports { 1887*f126890aSEmmanuel Vadot port { 1888*f126890aSEmmanuel Vadot etm3_out: endpoint { 1889*f126890aSEmmanuel Vadot remote-endpoint = <&funnel_in5>; 1890*f126890aSEmmanuel Vadot }; 1891*f126890aSEmmanuel Vadot }; 1892*f126890aSEmmanuel Vadot }; 1893*f126890aSEmmanuel Vadot }; 1894*f126890aSEmmanuel Vadot }; 1895*f126890aSEmmanuel Vadot}; 1896*f126890aSEmmanuel Vadot#include "qcom-apq8064-pins.dtsi" 1897