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