1*8575f197SBjorn Andersson// SPDX-License-Identifier: BSD-3-Clause 2*8575f197SBjorn Andersson/* 3*8575f197SBjorn Andersson * Copyright (c) 2017-2019, The Linux Foundation. All rights reserved. 4*8575f197SBjorn Andersson * Copyright (c) 2020-2023, Linaro Limited 5*8575f197SBjorn Andersson */ 6*8575f197SBjorn Andersson 7*8575f197SBjorn Andersson#include <dt-bindings/clock/qcom,gcc-sc8180x.h> 8*8575f197SBjorn Andersson#include <dt-bindings/clock/qcom,rpmh.h> 9*8575f197SBjorn Andersson#include <dt-bindings/interrupt-controller/arm-gic.h> 10*8575f197SBjorn Andersson#include <dt-bindings/power/qcom-rpmpd.h> 11*8575f197SBjorn Andersson#include <dt-bindings/soc/qcom,rpmh-rsc.h> 12*8575f197SBjorn Andersson 13*8575f197SBjorn Andersson/ { 14*8575f197SBjorn Andersson interrupt-parent = <&intc>; 15*8575f197SBjorn Andersson 16*8575f197SBjorn Andersson #address-cells = <2>; 17*8575f197SBjorn Andersson #size-cells = <2>; 18*8575f197SBjorn Andersson 19*8575f197SBjorn Andersson clocks { 20*8575f197SBjorn Andersson xo_board_clk: xo-board { 21*8575f197SBjorn Andersson compatible = "fixed-clock"; 22*8575f197SBjorn Andersson #clock-cells = <0>; 23*8575f197SBjorn Andersson clock-frequency = <38400000>; 24*8575f197SBjorn Andersson }; 25*8575f197SBjorn Andersson 26*8575f197SBjorn Andersson sleep_clk: sleep-clk { 27*8575f197SBjorn Andersson compatible = "fixed-clock"; 28*8575f197SBjorn Andersson #clock-cells = <0>; 29*8575f197SBjorn Andersson clock-frequency = <32764>; 30*8575f197SBjorn Andersson clock-output-names = "sleep_clk"; 31*8575f197SBjorn Andersson }; 32*8575f197SBjorn Andersson }; 33*8575f197SBjorn Andersson 34*8575f197SBjorn Andersson cpus { 35*8575f197SBjorn Andersson #address-cells = <2>; 36*8575f197SBjorn Andersson #size-cells = <0>; 37*8575f197SBjorn Andersson 38*8575f197SBjorn Andersson CPU0: cpu@0 { 39*8575f197SBjorn Andersson device_type = "cpu"; 40*8575f197SBjorn Andersson compatible = "qcom,kryo485"; 41*8575f197SBjorn Andersson reg = <0x0 0x0>; 42*8575f197SBjorn Andersson enable-method = "psci"; 43*8575f197SBjorn Andersson capacity-dmips-mhz = <602>; 44*8575f197SBjorn Andersson next-level-cache = <&L2_0>; 45*8575f197SBjorn Andersson qcom,freq-domain = <&cpufreq_hw 0>; 46*8575f197SBjorn Andersson operating-points-v2 = <&cpu0_opp_table>; 47*8575f197SBjorn Andersson power-domains = <&CPU_PD0>; 48*8575f197SBjorn Andersson power-domain-names = "psci"; 49*8575f197SBjorn Andersson #cooling-cells = <2>; 50*8575f197SBjorn Andersson clocks = <&cpufreq_hw 0>; 51*8575f197SBjorn Andersson 52*8575f197SBjorn Andersson L2_0: l2-cache { 53*8575f197SBjorn Andersson compatible = "cache"; 54*8575f197SBjorn Andersson cache-level = <2>; 55*8575f197SBjorn Andersson cache-unified; 56*8575f197SBjorn Andersson next-level-cache = <&L3_0>; 57*8575f197SBjorn Andersson L3_0: l3-cache { 58*8575f197SBjorn Andersson compatible = "cache"; 59*8575f197SBjorn Andersson cache-level = <3>; 60*8575f197SBjorn Andersson }; 61*8575f197SBjorn Andersson }; 62*8575f197SBjorn Andersson }; 63*8575f197SBjorn Andersson 64*8575f197SBjorn Andersson CPU1: cpu@100 { 65*8575f197SBjorn Andersson device_type = "cpu"; 66*8575f197SBjorn Andersson compatible = "qcom,kryo485"; 67*8575f197SBjorn Andersson reg = <0x0 0x100>; 68*8575f197SBjorn Andersson enable-method = "psci"; 69*8575f197SBjorn Andersson capacity-dmips-mhz = <602>; 70*8575f197SBjorn Andersson next-level-cache = <&L2_100>; 71*8575f197SBjorn Andersson qcom,freq-domain = <&cpufreq_hw 0>; 72*8575f197SBjorn Andersson operating-points-v2 = <&cpu0_opp_table>; 73*8575f197SBjorn Andersson power-domains = <&CPU_PD1>; 74*8575f197SBjorn Andersson power-domain-names = "psci"; 75*8575f197SBjorn Andersson #cooling-cells = <2>; 76*8575f197SBjorn Andersson clocks = <&cpufreq_hw 0>; 77*8575f197SBjorn Andersson 78*8575f197SBjorn Andersson L2_100: l2-cache { 79*8575f197SBjorn Andersson compatible = "cache"; 80*8575f197SBjorn Andersson cache-level = <2>; 81*8575f197SBjorn Andersson cache-unified; 82*8575f197SBjorn Andersson next-level-cache = <&L3_0>; 83*8575f197SBjorn Andersson }; 84*8575f197SBjorn Andersson 85*8575f197SBjorn Andersson }; 86*8575f197SBjorn Andersson 87*8575f197SBjorn Andersson CPU2: cpu@200 { 88*8575f197SBjorn Andersson device_type = "cpu"; 89*8575f197SBjorn Andersson compatible = "qcom,kryo485"; 90*8575f197SBjorn Andersson reg = <0x0 0x200>; 91*8575f197SBjorn Andersson enable-method = "psci"; 92*8575f197SBjorn Andersson capacity-dmips-mhz = <602>; 93*8575f197SBjorn Andersson next-level-cache = <&L2_200>; 94*8575f197SBjorn Andersson qcom,freq-domain = <&cpufreq_hw 0>; 95*8575f197SBjorn Andersson operating-points-v2 = <&cpu0_opp_table>; 96*8575f197SBjorn Andersson power-domains = <&CPU_PD2>; 97*8575f197SBjorn Andersson power-domain-names = "psci"; 98*8575f197SBjorn Andersson #cooling-cells = <2>; 99*8575f197SBjorn Andersson clocks = <&cpufreq_hw 0>; 100*8575f197SBjorn Andersson 101*8575f197SBjorn Andersson L2_200: l2-cache { 102*8575f197SBjorn Andersson compatible = "cache"; 103*8575f197SBjorn Andersson cache-level = <2>; 104*8575f197SBjorn Andersson cache-unified; 105*8575f197SBjorn Andersson next-level-cache = <&L3_0>; 106*8575f197SBjorn Andersson }; 107*8575f197SBjorn Andersson }; 108*8575f197SBjorn Andersson 109*8575f197SBjorn Andersson CPU3: cpu@300 { 110*8575f197SBjorn Andersson device_type = "cpu"; 111*8575f197SBjorn Andersson compatible = "qcom,kryo485"; 112*8575f197SBjorn Andersson reg = <0x0 0x300>; 113*8575f197SBjorn Andersson enable-method = "psci"; 114*8575f197SBjorn Andersson capacity-dmips-mhz = <602>; 115*8575f197SBjorn Andersson next-level-cache = <&L2_300>; 116*8575f197SBjorn Andersson qcom,freq-domain = <&cpufreq_hw 0>; 117*8575f197SBjorn Andersson operating-points-v2 = <&cpu0_opp_table>; 118*8575f197SBjorn Andersson power-domains = <&CPU_PD3>; 119*8575f197SBjorn Andersson power-domain-names = "psci"; 120*8575f197SBjorn Andersson #cooling-cells = <2>; 121*8575f197SBjorn Andersson clocks = <&cpufreq_hw 0>; 122*8575f197SBjorn Andersson 123*8575f197SBjorn Andersson L2_300: l2-cache { 124*8575f197SBjorn Andersson compatible = "cache"; 125*8575f197SBjorn Andersson cache-unified; 126*8575f197SBjorn Andersson cache-level = <2>; 127*8575f197SBjorn Andersson next-level-cache = <&L3_0>; 128*8575f197SBjorn Andersson }; 129*8575f197SBjorn Andersson }; 130*8575f197SBjorn Andersson 131*8575f197SBjorn Andersson CPU4: cpu@400 { 132*8575f197SBjorn Andersson device_type = "cpu"; 133*8575f197SBjorn Andersson compatible = "qcom,kryo485"; 134*8575f197SBjorn Andersson reg = <0x0 0x400>; 135*8575f197SBjorn Andersson enable-method = "psci"; 136*8575f197SBjorn Andersson capacity-dmips-mhz = <1024>; 137*8575f197SBjorn Andersson next-level-cache = <&L2_400>; 138*8575f197SBjorn Andersson qcom,freq-domain = <&cpufreq_hw 1>; 139*8575f197SBjorn Andersson operating-points-v2 = <&cpu4_opp_table>; 140*8575f197SBjorn Andersson power-domains = <&CPU_PD4>; 141*8575f197SBjorn Andersson power-domain-names = "psci"; 142*8575f197SBjorn Andersson #cooling-cells = <2>; 143*8575f197SBjorn Andersson clocks = <&cpufreq_hw 1>; 144*8575f197SBjorn Andersson 145*8575f197SBjorn Andersson L2_400: l2-cache { 146*8575f197SBjorn Andersson compatible = "cache"; 147*8575f197SBjorn Andersson cache-unified; 148*8575f197SBjorn Andersson cache-level = <2>; 149*8575f197SBjorn Andersson next-level-cache = <&L3_0>; 150*8575f197SBjorn Andersson }; 151*8575f197SBjorn Andersson }; 152*8575f197SBjorn Andersson 153*8575f197SBjorn Andersson CPU5: cpu@500 { 154*8575f197SBjorn Andersson device_type = "cpu"; 155*8575f197SBjorn Andersson compatible = "qcom,kryo485"; 156*8575f197SBjorn Andersson reg = <0x0 0x500>; 157*8575f197SBjorn Andersson enable-method = "psci"; 158*8575f197SBjorn Andersson capacity-dmips-mhz = <1024>; 159*8575f197SBjorn Andersson next-level-cache = <&L2_500>; 160*8575f197SBjorn Andersson qcom,freq-domain = <&cpufreq_hw 1>; 161*8575f197SBjorn Andersson operating-points-v2 = <&cpu4_opp_table>; 162*8575f197SBjorn Andersson power-domains = <&CPU_PD5>; 163*8575f197SBjorn Andersson power-domain-names = "psci"; 164*8575f197SBjorn Andersson #cooling-cells = <2>; 165*8575f197SBjorn Andersson clocks = <&cpufreq_hw 1>; 166*8575f197SBjorn Andersson 167*8575f197SBjorn Andersson L2_500: l2-cache { 168*8575f197SBjorn Andersson compatible = "cache"; 169*8575f197SBjorn Andersson cache-unified; 170*8575f197SBjorn Andersson cache-level = <2>; 171*8575f197SBjorn Andersson next-level-cache = <&L3_0>; 172*8575f197SBjorn Andersson }; 173*8575f197SBjorn Andersson }; 174*8575f197SBjorn Andersson 175*8575f197SBjorn Andersson CPU6: cpu@600 { 176*8575f197SBjorn Andersson device_type = "cpu"; 177*8575f197SBjorn Andersson compatible = "qcom,kryo485"; 178*8575f197SBjorn Andersson reg = <0x0 0x600>; 179*8575f197SBjorn Andersson enable-method = "psci"; 180*8575f197SBjorn Andersson capacity-dmips-mhz = <1024>; 181*8575f197SBjorn Andersson next-level-cache = <&L2_600>; 182*8575f197SBjorn Andersson qcom,freq-domain = <&cpufreq_hw 1>; 183*8575f197SBjorn Andersson operating-points-v2 = <&cpu4_opp_table>; 184*8575f197SBjorn Andersson power-domains = <&CPU_PD6>; 185*8575f197SBjorn Andersson power-domain-names = "psci"; 186*8575f197SBjorn Andersson #cooling-cells = <2>; 187*8575f197SBjorn Andersson clocks = <&cpufreq_hw 1>; 188*8575f197SBjorn Andersson 189*8575f197SBjorn Andersson L2_600: l2-cache { 190*8575f197SBjorn Andersson compatible = "cache"; 191*8575f197SBjorn Andersson cache-unified; 192*8575f197SBjorn Andersson cache-level = <2>; 193*8575f197SBjorn Andersson next-level-cache = <&L3_0>; 194*8575f197SBjorn Andersson }; 195*8575f197SBjorn Andersson }; 196*8575f197SBjorn Andersson 197*8575f197SBjorn Andersson CPU7: cpu@700 { 198*8575f197SBjorn Andersson device_type = "cpu"; 199*8575f197SBjorn Andersson compatible = "qcom,kryo485"; 200*8575f197SBjorn Andersson reg = <0x0 0x700>; 201*8575f197SBjorn Andersson enable-method = "psci"; 202*8575f197SBjorn Andersson capacity-dmips-mhz = <1024>; 203*8575f197SBjorn Andersson next-level-cache = <&L2_700>; 204*8575f197SBjorn Andersson qcom,freq-domain = <&cpufreq_hw 1>; 205*8575f197SBjorn Andersson operating-points-v2 = <&cpu4_opp_table>; 206*8575f197SBjorn Andersson power-domains = <&CPU_PD7>; 207*8575f197SBjorn Andersson power-domain-names = "psci"; 208*8575f197SBjorn Andersson #cooling-cells = <2>; 209*8575f197SBjorn Andersson clocks = <&cpufreq_hw 1>; 210*8575f197SBjorn Andersson 211*8575f197SBjorn Andersson L2_700: l2-cache { 212*8575f197SBjorn Andersson compatible = "cache"; 213*8575f197SBjorn Andersson cache-unified; 214*8575f197SBjorn Andersson cache-level = <2>; 215*8575f197SBjorn Andersson next-level-cache = <&L3_0>; 216*8575f197SBjorn Andersson }; 217*8575f197SBjorn Andersson }; 218*8575f197SBjorn Andersson 219*8575f197SBjorn Andersson cpu-map { 220*8575f197SBjorn Andersson cluster0 { 221*8575f197SBjorn Andersson core0 { 222*8575f197SBjorn Andersson cpu = <&CPU0>; 223*8575f197SBjorn Andersson }; 224*8575f197SBjorn Andersson 225*8575f197SBjorn Andersson core1 { 226*8575f197SBjorn Andersson cpu = <&CPU1>; 227*8575f197SBjorn Andersson }; 228*8575f197SBjorn Andersson 229*8575f197SBjorn Andersson core2 { 230*8575f197SBjorn Andersson cpu = <&CPU2>; 231*8575f197SBjorn Andersson }; 232*8575f197SBjorn Andersson 233*8575f197SBjorn Andersson core3 { 234*8575f197SBjorn Andersson cpu = <&CPU3>; 235*8575f197SBjorn Andersson }; 236*8575f197SBjorn Andersson 237*8575f197SBjorn Andersson core4 { 238*8575f197SBjorn Andersson cpu = <&CPU4>; 239*8575f197SBjorn Andersson }; 240*8575f197SBjorn Andersson 241*8575f197SBjorn Andersson core5 { 242*8575f197SBjorn Andersson cpu = <&CPU5>; 243*8575f197SBjorn Andersson }; 244*8575f197SBjorn Andersson 245*8575f197SBjorn Andersson core6 { 246*8575f197SBjorn Andersson cpu = <&CPU6>; 247*8575f197SBjorn Andersson }; 248*8575f197SBjorn Andersson 249*8575f197SBjorn Andersson core7 { 250*8575f197SBjorn Andersson cpu = <&CPU7>; 251*8575f197SBjorn Andersson }; 252*8575f197SBjorn Andersson }; 253*8575f197SBjorn Andersson }; 254*8575f197SBjorn Andersson 255*8575f197SBjorn Andersson idle-states { 256*8575f197SBjorn Andersson entry-method = "psci"; 257*8575f197SBjorn Andersson 258*8575f197SBjorn Andersson LITTLE_CPU_SLEEP_0: cpu-sleep-0-0 { 259*8575f197SBjorn Andersson compatible = "arm,idle-state"; 260*8575f197SBjorn Andersson arm,psci-suspend-param = <0x40000004>; 261*8575f197SBjorn Andersson entry-latency-us = <355>; 262*8575f197SBjorn Andersson exit-latency-us = <909>; 263*8575f197SBjorn Andersson min-residency-us = <3934>; 264*8575f197SBjorn Andersson local-timer-stop; 265*8575f197SBjorn Andersson }; 266*8575f197SBjorn Andersson 267*8575f197SBjorn Andersson BIG_CPU_SLEEP_0: cpu-sleep-1-0 { 268*8575f197SBjorn Andersson compatible = "arm,idle-state"; 269*8575f197SBjorn Andersson arm,psci-suspend-param = <0x40000004>; 270*8575f197SBjorn Andersson entry-latency-us = <241>; 271*8575f197SBjorn Andersson exit-latency-us = <1461>; 272*8575f197SBjorn Andersson min-residency-us = <4488>; 273*8575f197SBjorn Andersson local-timer-stop; 274*8575f197SBjorn Andersson }; 275*8575f197SBjorn Andersson }; 276*8575f197SBjorn Andersson 277*8575f197SBjorn Andersson domain-idle-states { 278*8575f197SBjorn Andersson CLUSTER_SLEEP_0: cluster-sleep-0 { 279*8575f197SBjorn Andersson compatible = "domain-idle-state"; 280*8575f197SBjorn Andersson arm,psci-suspend-param = <0x4100c244>; 281*8575f197SBjorn Andersson entry-latency-us = <3263>; 282*8575f197SBjorn Andersson exit-latency-us = <6562>; 283*8575f197SBjorn Andersson min-residency-us = <9987>; 284*8575f197SBjorn Andersson }; 285*8575f197SBjorn Andersson }; 286*8575f197SBjorn Andersson }; 287*8575f197SBjorn Andersson 288*8575f197SBjorn Andersson cpu0_opp_table: opp-table-cpu0 { 289*8575f197SBjorn Andersson compatible = "operating-points-v2"; 290*8575f197SBjorn Andersson opp-shared; 291*8575f197SBjorn Andersson 292*8575f197SBjorn Andersson opp-300000000 { 293*8575f197SBjorn Andersson opp-hz = /bits/ 64 <300000000>; 294*8575f197SBjorn Andersson opp-peak-kBps = <800000 9600000>; 295*8575f197SBjorn Andersson }; 296*8575f197SBjorn Andersson 297*8575f197SBjorn Andersson opp-422400000 { 298*8575f197SBjorn Andersson opp-hz = /bits/ 64 <422400000>; 299*8575f197SBjorn Andersson opp-peak-kBps = <800000 9600000>; 300*8575f197SBjorn Andersson }; 301*8575f197SBjorn Andersson 302*8575f197SBjorn Andersson opp-537600000 { 303*8575f197SBjorn Andersson opp-hz = /bits/ 64 <537600000>; 304*8575f197SBjorn Andersson opp-peak-kBps = <800000 12902400>; 305*8575f197SBjorn Andersson }; 306*8575f197SBjorn Andersson 307*8575f197SBjorn Andersson opp-652800000 { 308*8575f197SBjorn Andersson opp-hz = /bits/ 64 <652800000>; 309*8575f197SBjorn Andersson opp-peak-kBps = <800000 12902400>; 310*8575f197SBjorn Andersson }; 311*8575f197SBjorn Andersson 312*8575f197SBjorn Andersson opp-768000000 { 313*8575f197SBjorn Andersson opp-hz = /bits/ 64 <768000000>; 314*8575f197SBjorn Andersson opp-peak-kBps = <800000 15974400>; 315*8575f197SBjorn Andersson }; 316*8575f197SBjorn Andersson 317*8575f197SBjorn Andersson opp-883200000 { 318*8575f197SBjorn Andersson opp-hz = /bits/ 64 <883200000>; 319*8575f197SBjorn Andersson opp-peak-kBps = <1804000 19660800>; 320*8575f197SBjorn Andersson }; 321*8575f197SBjorn Andersson 322*8575f197SBjorn Andersson opp-998400000 { 323*8575f197SBjorn Andersson opp-hz = /bits/ 64 <998400000>; 324*8575f197SBjorn Andersson opp-peak-kBps = <1804000 19660800>; 325*8575f197SBjorn Andersson }; 326*8575f197SBjorn Andersson 327*8575f197SBjorn Andersson opp-1113600000 { 328*8575f197SBjorn Andersson opp-hz = /bits/ 64 <1113600000>; 329*8575f197SBjorn Andersson opp-peak-kBps = <1804000 22732800>; 330*8575f197SBjorn Andersson }; 331*8575f197SBjorn Andersson 332*8575f197SBjorn Andersson opp-1228800000 { 333*8575f197SBjorn Andersson opp-hz = /bits/ 64 <1228800000>; 334*8575f197SBjorn Andersson opp-peak-kBps = <1804000 22732800>; 335*8575f197SBjorn Andersson }; 336*8575f197SBjorn Andersson 337*8575f197SBjorn Andersson opp-1363200000 { 338*8575f197SBjorn Andersson opp-hz = /bits/ 64 <1363200000>; 339*8575f197SBjorn Andersson opp-peak-kBps = <2188000 25804800>; 340*8575f197SBjorn Andersson }; 341*8575f197SBjorn Andersson 342*8575f197SBjorn Andersson opp-1478400000 { 343*8575f197SBjorn Andersson opp-hz = /bits/ 64 <1478400000>; 344*8575f197SBjorn Andersson opp-peak-kBps = <2188000 31948800>; 345*8575f197SBjorn Andersson }; 346*8575f197SBjorn Andersson 347*8575f197SBjorn Andersson opp-1574400000 { 348*8575f197SBjorn Andersson opp-hz = /bits/ 64 <1574400000>; 349*8575f197SBjorn Andersson opp-peak-kBps = <3072000 31948800>; 350*8575f197SBjorn Andersson }; 351*8575f197SBjorn Andersson 352*8575f197SBjorn Andersson opp-1670400000 { 353*8575f197SBjorn Andersson opp-hz = /bits/ 64 <1670400000>; 354*8575f197SBjorn Andersson opp-peak-kBps = <3072000 31948800>; 355*8575f197SBjorn Andersson }; 356*8575f197SBjorn Andersson 357*8575f197SBjorn Andersson opp-1766400000 { 358*8575f197SBjorn Andersson opp-hz = /bits/ 64 <1766400000>; 359*8575f197SBjorn Andersson opp-peak-kBps = <3072000 31948800>; 360*8575f197SBjorn Andersson }; 361*8575f197SBjorn Andersson }; 362*8575f197SBjorn Andersson 363*8575f197SBjorn Andersson cpu4_opp_table: opp-table-cpu4 { 364*8575f197SBjorn Andersson compatible = "operating-points-v2"; 365*8575f197SBjorn Andersson opp-shared; 366*8575f197SBjorn Andersson 367*8575f197SBjorn Andersson opp-825600000 { 368*8575f197SBjorn Andersson opp-hz = /bits/ 64 <825600000>; 369*8575f197SBjorn Andersson opp-peak-kBps = <1804000 15974400>; 370*8575f197SBjorn Andersson }; 371*8575f197SBjorn Andersson 372*8575f197SBjorn Andersson opp-940800000 { 373*8575f197SBjorn Andersson opp-hz = /bits/ 64 <940800000>; 374*8575f197SBjorn Andersson opp-peak-kBps = <2188000 19660800>; 375*8575f197SBjorn Andersson }; 376*8575f197SBjorn Andersson 377*8575f197SBjorn Andersson opp-1056000000 { 378*8575f197SBjorn Andersson opp-hz = /bits/ 64 <1056000000>; 379*8575f197SBjorn Andersson opp-peak-kBps = <2188000 22732800>; 380*8575f197SBjorn Andersson }; 381*8575f197SBjorn Andersson 382*8575f197SBjorn Andersson opp-1171200000 { 383*8575f197SBjorn Andersson opp-hz = /bits/ 64 <1171200000>; 384*8575f197SBjorn Andersson opp-peak-kBps = <3072000 25804800>; 385*8575f197SBjorn Andersson }; 386*8575f197SBjorn Andersson 387*8575f197SBjorn Andersson opp-1286400000 { 388*8575f197SBjorn Andersson opp-hz = /bits/ 64 <1286400000>; 389*8575f197SBjorn Andersson opp-peak-kBps = <3072000 31948800>; 390*8575f197SBjorn Andersson }; 391*8575f197SBjorn Andersson 392*8575f197SBjorn Andersson opp-1420800000 { 393*8575f197SBjorn Andersson opp-hz = /bits/ 64 <1420800000>; 394*8575f197SBjorn Andersson opp-peak-kBps = <4068000 31948800>; 395*8575f197SBjorn Andersson }; 396*8575f197SBjorn Andersson 397*8575f197SBjorn Andersson opp-1536000000 { 398*8575f197SBjorn Andersson opp-hz = /bits/ 64 <1536000000>; 399*8575f197SBjorn Andersson opp-peak-kBps = <4068000 31948800>; 400*8575f197SBjorn Andersson }; 401*8575f197SBjorn Andersson 402*8575f197SBjorn Andersson opp-1651200000 { 403*8575f197SBjorn Andersson opp-hz = /bits/ 64 <1651200000>; 404*8575f197SBjorn Andersson opp-peak-kBps = <4068000 40550400>; 405*8575f197SBjorn Andersson }; 406*8575f197SBjorn Andersson 407*8575f197SBjorn Andersson opp-1766400000 { 408*8575f197SBjorn Andersson opp-hz = /bits/ 64 <1766400000>; 409*8575f197SBjorn Andersson opp-peak-kBps = <4068000 40550400>; 410*8575f197SBjorn Andersson }; 411*8575f197SBjorn Andersson 412*8575f197SBjorn Andersson opp-1881600000 { 413*8575f197SBjorn Andersson opp-hz = /bits/ 64 <1881600000>; 414*8575f197SBjorn Andersson opp-peak-kBps = <4068000 43008000>; 415*8575f197SBjorn Andersson }; 416*8575f197SBjorn Andersson 417*8575f197SBjorn Andersson opp-1996800000 { 418*8575f197SBjorn Andersson opp-hz = /bits/ 64 <1996800000>; 419*8575f197SBjorn Andersson opp-peak-kBps = <6220000 43008000>; 420*8575f197SBjorn Andersson }; 421*8575f197SBjorn Andersson 422*8575f197SBjorn Andersson opp-2131200000 { 423*8575f197SBjorn Andersson opp-hz = /bits/ 64 <2131200000>; 424*8575f197SBjorn Andersson opp-peak-kBps = <6220000 49152000>; 425*8575f197SBjorn Andersson }; 426*8575f197SBjorn Andersson 427*8575f197SBjorn Andersson opp-2246400000 { 428*8575f197SBjorn Andersson opp-hz = /bits/ 64 <2246400000>; 429*8575f197SBjorn Andersson opp-peak-kBps = <7216000 49152000>; 430*8575f197SBjorn Andersson }; 431*8575f197SBjorn Andersson 432*8575f197SBjorn Andersson opp-2361600000 { 433*8575f197SBjorn Andersson opp-hz = /bits/ 64 <2361600000>; 434*8575f197SBjorn Andersson opp-peak-kBps = <8368000 49152000>; 435*8575f197SBjorn Andersson }; 436*8575f197SBjorn Andersson 437*8575f197SBjorn Andersson opp-2457600000 { 438*8575f197SBjorn Andersson opp-hz = /bits/ 64 <2457600000>; 439*8575f197SBjorn Andersson opp-peak-kBps = <8368000 51609600>; 440*8575f197SBjorn Andersson }; 441*8575f197SBjorn Andersson 442*8575f197SBjorn Andersson opp-2553600000 { 443*8575f197SBjorn Andersson opp-hz = /bits/ 64 <2553600000>; 444*8575f197SBjorn Andersson opp-peak-kBps = <8368000 51609600>; 445*8575f197SBjorn Andersson }; 446*8575f197SBjorn Andersson 447*8575f197SBjorn Andersson opp-2649600000 { 448*8575f197SBjorn Andersson opp-hz = /bits/ 64 <2649600000>; 449*8575f197SBjorn Andersson opp-peak-kBps = <8368000 51609600>; 450*8575f197SBjorn Andersson }; 451*8575f197SBjorn Andersson 452*8575f197SBjorn Andersson opp-2745600000 { 453*8575f197SBjorn Andersson opp-hz = /bits/ 64 <2745600000>; 454*8575f197SBjorn Andersson opp-peak-kBps = <8368000 51609600>; 455*8575f197SBjorn Andersson }; 456*8575f197SBjorn Andersson 457*8575f197SBjorn Andersson opp-2841600000 { 458*8575f197SBjorn Andersson opp-hz = /bits/ 64 <2841600000>; 459*8575f197SBjorn Andersson opp-peak-kBps = <8368000 51609600>; 460*8575f197SBjorn Andersson }; 461*8575f197SBjorn Andersson 462*8575f197SBjorn Andersson opp-2918400000 { 463*8575f197SBjorn Andersson opp-hz = /bits/ 64 <2918400000>; 464*8575f197SBjorn Andersson opp-peak-kBps = <8368000 51609600>; 465*8575f197SBjorn Andersson }; 466*8575f197SBjorn Andersson 467*8575f197SBjorn Andersson opp-2995200000 { 468*8575f197SBjorn Andersson opp-hz = /bits/ 64 <2995200000>; 469*8575f197SBjorn Andersson opp-peak-kBps = <8368000 51609600>; 470*8575f197SBjorn Andersson }; 471*8575f197SBjorn Andersson }; 472*8575f197SBjorn Andersson 473*8575f197SBjorn Andersson firmware { 474*8575f197SBjorn Andersson scm: scm { 475*8575f197SBjorn Andersson compatible = "qcom,scm-sc8180x", "qcom,scm"; 476*8575f197SBjorn Andersson }; 477*8575f197SBjorn Andersson }; 478*8575f197SBjorn Andersson 479*8575f197SBjorn Andersson memory@80000000 { 480*8575f197SBjorn Andersson device_type = "memory"; 481*8575f197SBjorn Andersson /* We expect the bootloader to fill in the size */ 482*8575f197SBjorn Andersson reg = <0x0 0x80000000 0x0 0x0>; 483*8575f197SBjorn Andersson }; 484*8575f197SBjorn Andersson 485*8575f197SBjorn Andersson pmu { 486*8575f197SBjorn Andersson compatible = "arm,armv8-pmuv3"; 487*8575f197SBjorn Andersson interrupts = <GIC_PPI 5 IRQ_TYPE_LEVEL_HIGH>; 488*8575f197SBjorn Andersson }; 489*8575f197SBjorn Andersson 490*8575f197SBjorn Andersson psci { 491*8575f197SBjorn Andersson compatible = "arm,psci-1.0"; 492*8575f197SBjorn Andersson method = "smc"; 493*8575f197SBjorn Andersson 494*8575f197SBjorn Andersson CPU_PD0: power-domain-cpu0 { 495*8575f197SBjorn Andersson #power-domain-cells = <0>; 496*8575f197SBjorn Andersson power-domains = <&CLUSTER_PD>; 497*8575f197SBjorn Andersson domain-idle-states = <&LITTLE_CPU_SLEEP_0>; 498*8575f197SBjorn Andersson }; 499*8575f197SBjorn Andersson 500*8575f197SBjorn Andersson CPU_PD1: power-domain-cpu1 { 501*8575f197SBjorn Andersson #power-domain-cells = <0>; 502*8575f197SBjorn Andersson power-domains = <&CLUSTER_PD>; 503*8575f197SBjorn Andersson domain-idle-states = <&LITTLE_CPU_SLEEP_0>; 504*8575f197SBjorn Andersson }; 505*8575f197SBjorn Andersson 506*8575f197SBjorn Andersson CPU_PD2: power-domain-cpu2 { 507*8575f197SBjorn Andersson #power-domain-cells = <0>; 508*8575f197SBjorn Andersson power-domains = <&CLUSTER_PD>; 509*8575f197SBjorn Andersson domain-idle-states = <&LITTLE_CPU_SLEEP_0>; 510*8575f197SBjorn Andersson }; 511*8575f197SBjorn Andersson 512*8575f197SBjorn Andersson CPU_PD3: power-domain-cpu3 { 513*8575f197SBjorn Andersson #power-domain-cells = <0>; 514*8575f197SBjorn Andersson power-domains = <&CLUSTER_PD>; 515*8575f197SBjorn Andersson domain-idle-states = <&LITTLE_CPU_SLEEP_0>; 516*8575f197SBjorn Andersson }; 517*8575f197SBjorn Andersson 518*8575f197SBjorn Andersson CPU_PD4: power-domain-cpu4 { 519*8575f197SBjorn Andersson #power-domain-cells = <0>; 520*8575f197SBjorn Andersson power-domains = <&CLUSTER_PD>; 521*8575f197SBjorn Andersson domain-idle-states = <&BIG_CPU_SLEEP_0>; 522*8575f197SBjorn Andersson }; 523*8575f197SBjorn Andersson 524*8575f197SBjorn Andersson CPU_PD5: power-domain-cpu5 { 525*8575f197SBjorn Andersson #power-domain-cells = <0>; 526*8575f197SBjorn Andersson power-domains = <&CLUSTER_PD>; 527*8575f197SBjorn Andersson domain-idle-states = <&BIG_CPU_SLEEP_0>; 528*8575f197SBjorn Andersson }; 529*8575f197SBjorn Andersson 530*8575f197SBjorn Andersson CPU_PD6: power-domain-cpu6 { 531*8575f197SBjorn Andersson #power-domain-cells = <0>; 532*8575f197SBjorn Andersson power-domains = <&CLUSTER_PD>; 533*8575f197SBjorn Andersson domain-idle-states = <&BIG_CPU_SLEEP_0>; 534*8575f197SBjorn Andersson }; 535*8575f197SBjorn Andersson 536*8575f197SBjorn Andersson CPU_PD7: power-domain-cpu7 { 537*8575f197SBjorn Andersson #power-domain-cells = <0>; 538*8575f197SBjorn Andersson power-domains = <&CLUSTER_PD>; 539*8575f197SBjorn Andersson domain-idle-states = <&BIG_CPU_SLEEP_0>; 540*8575f197SBjorn Andersson }; 541*8575f197SBjorn Andersson 542*8575f197SBjorn Andersson CLUSTER_PD: power-domain-cpu-cluster0 { 543*8575f197SBjorn Andersson #power-domain-cells = <0>; 544*8575f197SBjorn Andersson domain-idle-states = <&CLUSTER_SLEEP_0>; 545*8575f197SBjorn Andersson }; 546*8575f197SBjorn Andersson }; 547*8575f197SBjorn Andersson 548*8575f197SBjorn Andersson reserved-memory { 549*8575f197SBjorn Andersson #address-cells = <2>; 550*8575f197SBjorn Andersson #size-cells = <2>; 551*8575f197SBjorn Andersson ranges; 552*8575f197SBjorn Andersson 553*8575f197SBjorn Andersson hyp_mem: hyp@85700000 { 554*8575f197SBjorn Andersson reg = <0x0 0x85700000 0x0 0x600000>; 555*8575f197SBjorn Andersson no-map; 556*8575f197SBjorn Andersson }; 557*8575f197SBjorn Andersson 558*8575f197SBjorn Andersson xbl_mem: xbl@85d00000 { 559*8575f197SBjorn Andersson reg = <0x0 0x85d00000 0x0 0x140000>; 560*8575f197SBjorn Andersson no-map; 561*8575f197SBjorn Andersson }; 562*8575f197SBjorn Andersson 563*8575f197SBjorn Andersson aop_mem: aop@85f00000 { 564*8575f197SBjorn Andersson reg = <0x0 0x85f00000 0x0 0x20000>; 565*8575f197SBjorn Andersson no-map; 566*8575f197SBjorn Andersson }; 567*8575f197SBjorn Andersson 568*8575f197SBjorn Andersson aop_cmd_db: cmd-db@85f20000 { 569*8575f197SBjorn Andersson compatible = "qcom,cmd-db"; 570*8575f197SBjorn Andersson reg = <0x0 0x85f20000 0x0 0x20000>; 571*8575f197SBjorn Andersson no-map; 572*8575f197SBjorn Andersson }; 573*8575f197SBjorn Andersson 574*8575f197SBjorn Andersson reserved@85f40000 { 575*8575f197SBjorn Andersson reg = <0x0 0x85f40000 0x0 0x10000>; 576*8575f197SBjorn Andersson no-map; 577*8575f197SBjorn Andersson }; 578*8575f197SBjorn Andersson 579*8575f197SBjorn Andersson smem_mem: smem@86000000 { 580*8575f197SBjorn Andersson compatible = "qcom,smem"; 581*8575f197SBjorn Andersson reg = <0x0 0x86000000 0x0 0x200000>; 582*8575f197SBjorn Andersson no-map; 583*8575f197SBjorn Andersson hwlocks = <&tcsr_mutex 3>; 584*8575f197SBjorn Andersson }; 585*8575f197SBjorn Andersson 586*8575f197SBjorn Andersson reserved@86200000 { 587*8575f197SBjorn Andersson reg = <0x0 0x86200000 0x0 0x3900000>; 588*8575f197SBjorn Andersson no-map; 589*8575f197SBjorn Andersson }; 590*8575f197SBjorn Andersson 591*8575f197SBjorn Andersson reserved@89b00000 { 592*8575f197SBjorn Andersson reg = <0x0 0x89b00000 0x0 0x1c00000>; 593*8575f197SBjorn Andersson no-map; 594*8575f197SBjorn Andersson }; 595*8575f197SBjorn Andersson 596*8575f197SBjorn Andersson reserved@9d400000 { 597*8575f197SBjorn Andersson reg = <0x0 0x9d400000 0x0 0x1000000>; 598*8575f197SBjorn Andersson no-map; 599*8575f197SBjorn Andersson }; 600*8575f197SBjorn Andersson 601*8575f197SBjorn Andersson reserved@9e400000 { 602*8575f197SBjorn Andersson reg = <0x0 0x9e400000 0x0 0x1400000>; 603*8575f197SBjorn Andersson no-map; 604*8575f197SBjorn Andersson }; 605*8575f197SBjorn Andersson 606*8575f197SBjorn Andersson reserved@9f800000 { 607*8575f197SBjorn Andersson reg = <0x0 0x9f800000 0x0 0x800000>; 608*8575f197SBjorn Andersson no-map; 609*8575f197SBjorn Andersson }; 610*8575f197SBjorn Andersson }; 611*8575f197SBjorn Andersson 612*8575f197SBjorn Andersson smp2p-cdsp { 613*8575f197SBjorn Andersson compatible = "qcom,smp2p"; 614*8575f197SBjorn Andersson qcom,smem = <94>, <432>; 615*8575f197SBjorn Andersson 616*8575f197SBjorn Andersson interrupts = <GIC_SPI 576 IRQ_TYPE_EDGE_RISING>; 617*8575f197SBjorn Andersson 618*8575f197SBjorn Andersson mboxes = <&apss_shared 6>; 619*8575f197SBjorn Andersson 620*8575f197SBjorn Andersson qcom,local-pid = <0>; 621*8575f197SBjorn Andersson qcom,remote-pid = <5>; 622*8575f197SBjorn Andersson 623*8575f197SBjorn Andersson cdsp_smp2p_out: master-kernel { 624*8575f197SBjorn Andersson qcom,entry-name = "master-kernel"; 625*8575f197SBjorn Andersson #qcom,smem-state-cells = <1>; 626*8575f197SBjorn Andersson }; 627*8575f197SBjorn Andersson 628*8575f197SBjorn Andersson cdsp_smp2p_in: slave-kernel { 629*8575f197SBjorn Andersson qcom,entry-name = "slave-kernel"; 630*8575f197SBjorn Andersson 631*8575f197SBjorn Andersson interrupt-controller; 632*8575f197SBjorn Andersson #interrupt-cells = <2>; 633*8575f197SBjorn Andersson }; 634*8575f197SBjorn Andersson }; 635*8575f197SBjorn Andersson 636*8575f197SBjorn Andersson smp2p-lpass { 637*8575f197SBjorn Andersson compatible = "qcom,smp2p"; 638*8575f197SBjorn Andersson qcom,smem = <443>, <429>; 639*8575f197SBjorn Andersson 640*8575f197SBjorn Andersson interrupts = <GIC_SPI 158 IRQ_TYPE_EDGE_RISING>; 641*8575f197SBjorn Andersson 642*8575f197SBjorn Andersson mboxes = <&apss_shared 10>; 643*8575f197SBjorn Andersson 644*8575f197SBjorn Andersson qcom,local-pid = <0>; 645*8575f197SBjorn Andersson qcom,remote-pid = <2>; 646*8575f197SBjorn Andersson 647*8575f197SBjorn Andersson adsp_smp2p_out: master-kernel { 648*8575f197SBjorn Andersson qcom,entry-name = "master-kernel"; 649*8575f197SBjorn Andersson #qcom,smem-state-cells = <1>; 650*8575f197SBjorn Andersson }; 651*8575f197SBjorn Andersson 652*8575f197SBjorn Andersson adsp_smp2p_in: slave-kernel { 653*8575f197SBjorn Andersson qcom,entry-name = "slave-kernel"; 654*8575f197SBjorn Andersson 655*8575f197SBjorn Andersson interrupt-controller; 656*8575f197SBjorn Andersson #interrupt-cells = <2>; 657*8575f197SBjorn Andersson }; 658*8575f197SBjorn Andersson }; 659*8575f197SBjorn Andersson 660*8575f197SBjorn Andersson smp2p-mpss { 661*8575f197SBjorn Andersson compatible = "qcom,smp2p"; 662*8575f197SBjorn Andersson qcom,smem = <435>, <428>; 663*8575f197SBjorn Andersson 664*8575f197SBjorn Andersson interrupts = <GIC_SPI 451 IRQ_TYPE_EDGE_RISING>; 665*8575f197SBjorn Andersson 666*8575f197SBjorn Andersson mboxes = <&apss_shared 14>; 667*8575f197SBjorn Andersson 668*8575f197SBjorn Andersson qcom,local-pid = <0>; 669*8575f197SBjorn Andersson qcom,remote-pid = <1>; 670*8575f197SBjorn Andersson 671*8575f197SBjorn Andersson modem_smp2p_out: master-kernel { 672*8575f197SBjorn Andersson qcom,entry-name = "master-kernel"; 673*8575f197SBjorn Andersson #qcom,smem-state-cells = <1>; 674*8575f197SBjorn Andersson }; 675*8575f197SBjorn Andersson 676*8575f197SBjorn Andersson modem_smp2p_in: slave-kernel { 677*8575f197SBjorn Andersson qcom,entry-name = "slave-kernel"; 678*8575f197SBjorn Andersson 679*8575f197SBjorn Andersson interrupt-controller; 680*8575f197SBjorn Andersson #interrupt-cells = <2>; 681*8575f197SBjorn Andersson }; 682*8575f197SBjorn Andersson 683*8575f197SBjorn Andersson modem_smp2p_ipa_out: ipa-ap-to-modem { 684*8575f197SBjorn Andersson qcom,entry-name = "ipa"; 685*8575f197SBjorn Andersson #qcom,smem-state-cells = <1>; 686*8575f197SBjorn Andersson }; 687*8575f197SBjorn Andersson 688*8575f197SBjorn Andersson modem_smp2p_ipa_in: ipa-modem-to-ap { 689*8575f197SBjorn Andersson qcom,entry-name = "ipa"; 690*8575f197SBjorn Andersson interrupt-controller; 691*8575f197SBjorn Andersson #interrupt-cells = <2>; 692*8575f197SBjorn Andersson }; 693*8575f197SBjorn Andersson 694*8575f197SBjorn Andersson modem_smp2p_wlan_in: wlan-wpss-to-ap { 695*8575f197SBjorn Andersson qcom,entry-name = "wlan"; 696*8575f197SBjorn Andersson interrupt-controller; 697*8575f197SBjorn Andersson #interrupt-cells = <2>; 698*8575f197SBjorn Andersson }; 699*8575f197SBjorn Andersson }; 700*8575f197SBjorn Andersson 701*8575f197SBjorn Andersson smp2p-slpi { 702*8575f197SBjorn Andersson compatible = "qcom,smp2p"; 703*8575f197SBjorn Andersson qcom,smem = <481>, <430>; 704*8575f197SBjorn Andersson 705*8575f197SBjorn Andersson interrupts = <GIC_SPI 172 IRQ_TYPE_EDGE_RISING>; 706*8575f197SBjorn Andersson 707*8575f197SBjorn Andersson mboxes = <&apss_shared 26>; 708*8575f197SBjorn Andersson 709*8575f197SBjorn Andersson qcom,local-pid = <0>; 710*8575f197SBjorn Andersson qcom,remote-pid = <3>; 711*8575f197SBjorn Andersson 712*8575f197SBjorn Andersson slpi_smp2p_out: master-kernel { 713*8575f197SBjorn Andersson qcom,entry-name = "master-kernel"; 714*8575f197SBjorn Andersson #qcom,smem-state-cells = <1>; 715*8575f197SBjorn Andersson }; 716*8575f197SBjorn Andersson 717*8575f197SBjorn Andersson slpi_smp2p_in: slave-kernel { 718*8575f197SBjorn Andersson qcom,entry-name = "slave-kernel"; 719*8575f197SBjorn Andersson 720*8575f197SBjorn Andersson interrupt-controller; 721*8575f197SBjorn Andersson #interrupt-cells = <2>; 722*8575f197SBjorn Andersson }; 723*8575f197SBjorn Andersson }; 724*8575f197SBjorn Andersson 725*8575f197SBjorn Andersson soc: soc@0 { 726*8575f197SBjorn Andersson compatible = "simple-bus"; 727*8575f197SBjorn Andersson #address-cells = <2>; 728*8575f197SBjorn Andersson #size-cells = <2>; 729*8575f197SBjorn Andersson ranges = <0 0 0 0 0x10 0>; 730*8575f197SBjorn Andersson dma-ranges = <0 0 0 0 0x10 0>; 731*8575f197SBjorn Andersson 732*8575f197SBjorn Andersson gcc: clock-controller@100000 { 733*8575f197SBjorn Andersson compatible = "qcom,gcc-sc8180x"; 734*8575f197SBjorn Andersson reg = <0x0 0x00100000 0x0 0x1f0000>; 735*8575f197SBjorn Andersson #clock-cells = <1>; 736*8575f197SBjorn Andersson #reset-cells = <1>; 737*8575f197SBjorn Andersson #power-domain-cells = <1>; 738*8575f197SBjorn Andersson clocks = <&rpmhcc RPMH_CXO_CLK>, 739*8575f197SBjorn Andersson <&rpmhcc RPMH_CXO_CLK_A>, 740*8575f197SBjorn Andersson <&sleep_clk>; 741*8575f197SBjorn Andersson clock-names = "bi_tcxo", 742*8575f197SBjorn Andersson "bi_tcxo_ao", 743*8575f197SBjorn Andersson "sleep_clk"; 744*8575f197SBjorn Andersson }; 745*8575f197SBjorn Andersson 746*8575f197SBjorn Andersson ufs_mem_hc: ufshc@1d84000 { 747*8575f197SBjorn Andersson compatible = "qcom,sc8180x-ufshc", "qcom,ufshc", 748*8575f197SBjorn Andersson "jedec,ufs-2.0"; 749*8575f197SBjorn Andersson reg = <0 0x01d84000 0 0x2500>; 750*8575f197SBjorn Andersson interrupts = <GIC_SPI 265 IRQ_TYPE_LEVEL_HIGH>; 751*8575f197SBjorn Andersson phys = <&ufs_mem_phy_lanes>; 752*8575f197SBjorn Andersson phy-names = "ufsphy"; 753*8575f197SBjorn Andersson lanes-per-direction = <2>; 754*8575f197SBjorn Andersson #reset-cells = <1>; 755*8575f197SBjorn Andersson resets = <&gcc GCC_UFS_PHY_BCR>; 756*8575f197SBjorn Andersson reset-names = "rst"; 757*8575f197SBjorn Andersson 758*8575f197SBjorn Andersson iommus = <&apps_smmu 0x300 0>; 759*8575f197SBjorn Andersson 760*8575f197SBjorn Andersson clocks = <&gcc GCC_UFS_PHY_AXI_CLK>, 761*8575f197SBjorn Andersson <&gcc GCC_AGGRE_UFS_PHY_AXI_CLK>, 762*8575f197SBjorn Andersson <&gcc GCC_UFS_PHY_AHB_CLK>, 763*8575f197SBjorn Andersson <&gcc GCC_UFS_PHY_UNIPRO_CORE_CLK>, 764*8575f197SBjorn Andersson <&rpmhcc RPMH_CXO_CLK>, 765*8575f197SBjorn Andersson <&gcc GCC_UFS_PHY_TX_SYMBOL_0_CLK>, 766*8575f197SBjorn Andersson <&gcc GCC_UFS_PHY_RX_SYMBOL_0_CLK>, 767*8575f197SBjorn Andersson <&gcc GCC_UFS_PHY_RX_SYMBOL_1_CLK>; 768*8575f197SBjorn Andersson clock-names = "core_clk", 769*8575f197SBjorn Andersson "bus_aggr_clk", 770*8575f197SBjorn Andersson "iface_clk", 771*8575f197SBjorn Andersson "core_clk_unipro", 772*8575f197SBjorn Andersson "ref_clk", 773*8575f197SBjorn Andersson "tx_lane0_sync_clk", 774*8575f197SBjorn Andersson "rx_lane0_sync_clk", 775*8575f197SBjorn Andersson "rx_lane1_sync_clk"; 776*8575f197SBjorn Andersson freq-table-hz = <37500000 300000000>, 777*8575f197SBjorn Andersson <0 0>, 778*8575f197SBjorn Andersson <0 0>, 779*8575f197SBjorn Andersson <37500000 300000000>, 780*8575f197SBjorn Andersson <0 0>, 781*8575f197SBjorn Andersson <0 0>, 782*8575f197SBjorn Andersson <0 0>, 783*8575f197SBjorn Andersson <0 0>; 784*8575f197SBjorn Andersson 785*8575f197SBjorn Andersson status = "disabled"; 786*8575f197SBjorn Andersson }; 787*8575f197SBjorn Andersson 788*8575f197SBjorn Andersson ufs_mem_phy: phy-wrapper@1d87000 { 789*8575f197SBjorn Andersson compatible = "qcom,sc8180x-qmp-ufs-phy"; 790*8575f197SBjorn Andersson reg = <0 0x01d87000 0 0x1c0>; 791*8575f197SBjorn Andersson #address-cells = <2>; 792*8575f197SBjorn Andersson #size-cells = <2>; 793*8575f197SBjorn Andersson ranges; 794*8575f197SBjorn Andersson clocks = <&rpmhcc RPMH_CXO_CLK>, 795*8575f197SBjorn Andersson <&gcc GCC_UFS_PHY_PHY_AUX_CLK>; 796*8575f197SBjorn Andersson clock-names = "ref", 797*8575f197SBjorn Andersson "ref_aux"; 798*8575f197SBjorn Andersson 799*8575f197SBjorn Andersson resets = <&ufs_mem_hc 0>; 800*8575f197SBjorn Andersson reset-names = "ufsphy"; 801*8575f197SBjorn Andersson status = "disabled"; 802*8575f197SBjorn Andersson 803*8575f197SBjorn Andersson ufs_mem_phy_lanes: phy@1d87400 { 804*8575f197SBjorn Andersson reg = <0 0x01d87400 0 0x108>, 805*8575f197SBjorn Andersson <0 0x01d87600 0 0x1e0>, 806*8575f197SBjorn Andersson <0 0x01d87c00 0 0x1dc>, 807*8575f197SBjorn Andersson <0 0x01d87800 0 0x108>, 808*8575f197SBjorn Andersson <0 0x01d87a00 0 0x1e0>; 809*8575f197SBjorn Andersson #phy-cells = <0>; 810*8575f197SBjorn Andersson }; 811*8575f197SBjorn Andersson }; 812*8575f197SBjorn Andersson 813*8575f197SBjorn Andersson tcsr_mutex: hwlock@1f40000 { 814*8575f197SBjorn Andersson compatible = "qcom,tcsr-mutex"; 815*8575f197SBjorn Andersson reg = <0x0 0x01f40000 0x0 0x40000>; 816*8575f197SBjorn Andersson #hwlock-cells = <1>; 817*8575f197SBjorn Andersson }; 818*8575f197SBjorn Andersson 819*8575f197SBjorn Andersson adreno_smmu: iommu@2ca0000 { 820*8575f197SBjorn Andersson compatible = "qcom,sc8180x-smmu-500", "arm,mmu-500"; 821*8575f197SBjorn Andersson reg = <0 0x02ca0000 0 0x10000>; 822*8575f197SBjorn Andersson #iommu-cells = <2>; 823*8575f197SBjorn Andersson #global-interrupts = <1>; 824*8575f197SBjorn Andersson interrupts = <GIC_SPI 674 IRQ_TYPE_LEVEL_HIGH>, 825*8575f197SBjorn Andersson <GIC_SPI 681 IRQ_TYPE_LEVEL_HIGH>, 826*8575f197SBjorn Andersson <GIC_SPI 682 IRQ_TYPE_LEVEL_HIGH>, 827*8575f197SBjorn Andersson <GIC_SPI 683 IRQ_TYPE_LEVEL_HIGH>, 828*8575f197SBjorn Andersson <GIC_SPI 684 IRQ_TYPE_LEVEL_HIGH>, 829*8575f197SBjorn Andersson <GIC_SPI 685 IRQ_TYPE_LEVEL_HIGH>, 830*8575f197SBjorn Andersson <GIC_SPI 686 IRQ_TYPE_LEVEL_HIGH>, 831*8575f197SBjorn Andersson <GIC_SPI 687 IRQ_TYPE_LEVEL_HIGH>, 832*8575f197SBjorn Andersson <GIC_SPI 688 IRQ_TYPE_LEVEL_HIGH>; 833*8575f197SBjorn Andersson clocks = <&gpucc GPU_CC_AHB_CLK>, 834*8575f197SBjorn Andersson <&gcc GCC_GPU_MEMNOC_GFX_CLK>, 835*8575f197SBjorn Andersson <&gcc GCC_GPU_SNOC_DVM_GFX_CLK>; 836*8575f197SBjorn Andersson clock-names = "ahb", "bus", "iface"; 837*8575f197SBjorn Andersson 838*8575f197SBjorn Andersson power-domains = <&gpucc GPU_CX_GDSC>; 839*8575f197SBjorn Andersson }; 840*8575f197SBjorn Andersson 841*8575f197SBjorn Andersson tlmm: pinctrl@3100000 { 842*8575f197SBjorn Andersson compatible = "qcom,sc8180x-tlmm"; 843*8575f197SBjorn Andersson reg = <0 0x03100000 0 0x300000>, 844*8575f197SBjorn Andersson <0 0x03500000 0 0x700000>, 845*8575f197SBjorn Andersson <0 0x03d00000 0 0x300000>; 846*8575f197SBjorn Andersson reg-names = "west", "east", "south"; 847*8575f197SBjorn Andersson interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>; 848*8575f197SBjorn Andersson gpio-controller; 849*8575f197SBjorn Andersson #gpio-cells = <2>; 850*8575f197SBjorn Andersson interrupt-controller; 851*8575f197SBjorn Andersson #interrupt-cells = <2>; 852*8575f197SBjorn Andersson gpio-ranges = <&tlmm 0 0 191>; 853*8575f197SBjorn Andersson wakeup-parent = <&pdc>; 854*8575f197SBjorn Andersson }; 855*8575f197SBjorn Andersson 856*8575f197SBjorn Andersson system-cache-controller@9200000 { 857*8575f197SBjorn Andersson compatible = "qcom,sc8180x-llcc"; 858*8575f197SBjorn Andersson reg = <0 0x09200000 0 0x50000>, <0 0x09600000 0 0x50000>; 859*8575f197SBjorn Andersson reg-names = "llcc_base", "llcc_broadcast_base"; 860*8575f197SBjorn Andersson interrupts = <GIC_SPI 582 IRQ_TYPE_LEVEL_HIGH>; 861*8575f197SBjorn Andersson }; 862*8575f197SBjorn Andersson 863*8575f197SBjorn Andersson pdc: interrupt-controller@b220000 { 864*8575f197SBjorn Andersson compatible = "qcom,sc8180x-pdc", "qcom,pdc"; 865*8575f197SBjorn Andersson reg = <0 0x0b220000 0 0x30000>; 866*8575f197SBjorn Andersson qcom,pdc-ranges = <0 480 94>, <94 609 31>; 867*8575f197SBjorn Andersson #interrupt-cells = <2>; 868*8575f197SBjorn Andersson interrupt-parent = <&intc>; 869*8575f197SBjorn Andersson interrupt-controller; 870*8575f197SBjorn Andersson }; 871*8575f197SBjorn Andersson 872*8575f197SBjorn Andersson aoss_qmp: power-controller@c300000 { 873*8575f197SBjorn Andersson compatible = "qcom,sc8180x-aoss-qmp", "qcom,aoss-qmp"; 874*8575f197SBjorn Andersson reg = <0x0 0x0c300000 0x0 0x100000>; 875*8575f197SBjorn Andersson interrupts = <GIC_SPI 389 IRQ_TYPE_EDGE_RISING>; 876*8575f197SBjorn Andersson mboxes = <&apss_shared 0>; 877*8575f197SBjorn Andersson 878*8575f197SBjorn Andersson #clock-cells = <0>; 879*8575f197SBjorn Andersson #power-domain-cells = <1>; 880*8575f197SBjorn Andersson }; 881*8575f197SBjorn Andersson 882*8575f197SBjorn Andersson spmi_bus: spmi@c440000 { 883*8575f197SBjorn Andersson compatible = "qcom,spmi-pmic-arb"; 884*8575f197SBjorn Andersson reg = <0x0 0x0c440000 0x0 0x0001100>, 885*8575f197SBjorn Andersson <0x0 0x0c600000 0x0 0x2000000>, 886*8575f197SBjorn Andersson <0x0 0x0e600000 0x0 0x0100000>, 887*8575f197SBjorn Andersson <0x0 0x0e700000 0x0 0x00a0000>, 888*8575f197SBjorn Andersson <0x0 0x0c40a000 0x0 0x0026000>; 889*8575f197SBjorn Andersson reg-names = "core", "chnls", "obsrvr", "intr", "cnfg"; 890*8575f197SBjorn Andersson interrupt-names = "periph_irq"; 891*8575f197SBjorn Andersson interrupts = <GIC_SPI 481 IRQ_TYPE_LEVEL_HIGH>; 892*8575f197SBjorn Andersson qcom,ee = <0>; 893*8575f197SBjorn Andersson qcom,channel = <0>; 894*8575f197SBjorn Andersson #address-cells = <2>; 895*8575f197SBjorn Andersson #size-cells = <0>; 896*8575f197SBjorn Andersson interrupt-controller; 897*8575f197SBjorn Andersson #interrupt-cells = <4>; 898*8575f197SBjorn Andersson cell-index = <0>; 899*8575f197SBjorn Andersson }; 900*8575f197SBjorn Andersson 901*8575f197SBjorn Andersson apps_smmu: iommu@15000000 { 902*8575f197SBjorn Andersson compatible = "qcom,sc8180x-smmu-500", "arm,mmu-500"; 903*8575f197SBjorn Andersson reg = <0 0x15000000 0 0x100000>; 904*8575f197SBjorn Andersson #iommu-cells = <2>; 905*8575f197SBjorn Andersson #global-interrupts = <1>; 906*8575f197SBjorn Andersson interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>, 907*8575f197SBjorn Andersson <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>, 908*8575f197SBjorn Andersson <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>, 909*8575f197SBjorn Andersson <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>, 910*8575f197SBjorn Andersson <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>, 911*8575f197SBjorn Andersson <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>, 912*8575f197SBjorn Andersson <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>, 913*8575f197SBjorn Andersson <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>, 914*8575f197SBjorn Andersson <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>, 915*8575f197SBjorn Andersson <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>, 916*8575f197SBjorn Andersson <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>, 917*8575f197SBjorn Andersson <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>, 918*8575f197SBjorn Andersson <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>, 919*8575f197SBjorn Andersson <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>, 920*8575f197SBjorn Andersson <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>, 921*8575f197SBjorn Andersson <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>, 922*8575f197SBjorn Andersson <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>, 923*8575f197SBjorn Andersson <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>, 924*8575f197SBjorn Andersson <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>, 925*8575f197SBjorn Andersson <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>, 926*8575f197SBjorn Andersson <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>, 927*8575f197SBjorn Andersson <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>, 928*8575f197SBjorn Andersson <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>, 929*8575f197SBjorn Andersson <GIC_SPI 181 IRQ_TYPE_LEVEL_HIGH>, 930*8575f197SBjorn Andersson <GIC_SPI 182 IRQ_TYPE_LEVEL_HIGH>, 931*8575f197SBjorn Andersson <GIC_SPI 183 IRQ_TYPE_LEVEL_HIGH>, 932*8575f197SBjorn Andersson <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>, 933*8575f197SBjorn Andersson <GIC_SPI 185 IRQ_TYPE_LEVEL_HIGH>, 934*8575f197SBjorn Andersson <GIC_SPI 186 IRQ_TYPE_LEVEL_HIGH>, 935*8575f197SBjorn Andersson <GIC_SPI 187 IRQ_TYPE_LEVEL_HIGH>, 936*8575f197SBjorn Andersson <GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>, 937*8575f197SBjorn Andersson <GIC_SPI 189 IRQ_TYPE_LEVEL_HIGH>, 938*8575f197SBjorn Andersson <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>, 939*8575f197SBjorn Andersson <GIC_SPI 191 IRQ_TYPE_LEVEL_HIGH>, 940*8575f197SBjorn Andersson <GIC_SPI 192 IRQ_TYPE_LEVEL_HIGH>, 941*8575f197SBjorn Andersson <GIC_SPI 315 IRQ_TYPE_LEVEL_HIGH>, 942*8575f197SBjorn Andersson <GIC_SPI 316 IRQ_TYPE_LEVEL_HIGH>, 943*8575f197SBjorn Andersson <GIC_SPI 317 IRQ_TYPE_LEVEL_HIGH>, 944*8575f197SBjorn Andersson <GIC_SPI 318 IRQ_TYPE_LEVEL_HIGH>, 945*8575f197SBjorn Andersson <GIC_SPI 319 IRQ_TYPE_LEVEL_HIGH>, 946*8575f197SBjorn Andersson <GIC_SPI 320 IRQ_TYPE_LEVEL_HIGH>, 947*8575f197SBjorn Andersson <GIC_SPI 321 IRQ_TYPE_LEVEL_HIGH>, 948*8575f197SBjorn Andersson <GIC_SPI 322 IRQ_TYPE_LEVEL_HIGH>, 949*8575f197SBjorn Andersson <GIC_SPI 323 IRQ_TYPE_LEVEL_HIGH>, 950*8575f197SBjorn Andersson <GIC_SPI 324 IRQ_TYPE_LEVEL_HIGH>, 951*8575f197SBjorn Andersson <GIC_SPI 325 IRQ_TYPE_LEVEL_HIGH>, 952*8575f197SBjorn Andersson <GIC_SPI 326 IRQ_TYPE_LEVEL_HIGH>, 953*8575f197SBjorn Andersson <GIC_SPI 327 IRQ_TYPE_LEVEL_HIGH>, 954*8575f197SBjorn Andersson <GIC_SPI 328 IRQ_TYPE_LEVEL_HIGH>, 955*8575f197SBjorn Andersson <GIC_SPI 329 IRQ_TYPE_LEVEL_HIGH>, 956*8575f197SBjorn Andersson <GIC_SPI 330 IRQ_TYPE_LEVEL_HIGH>, 957*8575f197SBjorn Andersson <GIC_SPI 331 IRQ_TYPE_LEVEL_HIGH>, 958*8575f197SBjorn Andersson <GIC_SPI 332 IRQ_TYPE_LEVEL_HIGH>, 959*8575f197SBjorn Andersson <GIC_SPI 333 IRQ_TYPE_LEVEL_HIGH>, 960*8575f197SBjorn Andersson <GIC_SPI 334 IRQ_TYPE_LEVEL_HIGH>, 961*8575f197SBjorn Andersson <GIC_SPI 335 IRQ_TYPE_LEVEL_HIGH>, 962*8575f197SBjorn Andersson <GIC_SPI 336 IRQ_TYPE_LEVEL_HIGH>, 963*8575f197SBjorn Andersson <GIC_SPI 337 IRQ_TYPE_LEVEL_HIGH>, 964*8575f197SBjorn Andersson <GIC_SPI 338 IRQ_TYPE_LEVEL_HIGH>, 965*8575f197SBjorn Andersson <GIC_SPI 339 IRQ_TYPE_LEVEL_HIGH>, 966*8575f197SBjorn Andersson <GIC_SPI 340 IRQ_TYPE_LEVEL_HIGH>, 967*8575f197SBjorn Andersson <GIC_SPI 341 IRQ_TYPE_LEVEL_HIGH>, 968*8575f197SBjorn Andersson <GIC_SPI 342 IRQ_TYPE_LEVEL_HIGH>, 969*8575f197SBjorn Andersson <GIC_SPI 343 IRQ_TYPE_LEVEL_HIGH>, 970*8575f197SBjorn Andersson <GIC_SPI 344 IRQ_TYPE_LEVEL_HIGH>, 971*8575f197SBjorn Andersson <GIC_SPI 345 IRQ_TYPE_LEVEL_HIGH>, 972*8575f197SBjorn Andersson <GIC_SPI 395 IRQ_TYPE_LEVEL_HIGH>, 973*8575f197SBjorn Andersson <GIC_SPI 396 IRQ_TYPE_LEVEL_HIGH>, 974*8575f197SBjorn Andersson <GIC_SPI 397 IRQ_TYPE_LEVEL_HIGH>, 975*8575f197SBjorn Andersson <GIC_SPI 398 IRQ_TYPE_LEVEL_HIGH>, 976*8575f197SBjorn Andersson <GIC_SPI 399 IRQ_TYPE_LEVEL_HIGH>, 977*8575f197SBjorn Andersson <GIC_SPI 400 IRQ_TYPE_LEVEL_HIGH>, 978*8575f197SBjorn Andersson <GIC_SPI 401 IRQ_TYPE_LEVEL_HIGH>, 979*8575f197SBjorn Andersson <GIC_SPI 402 IRQ_TYPE_LEVEL_HIGH>, 980*8575f197SBjorn Andersson <GIC_SPI 403 IRQ_TYPE_LEVEL_HIGH>, 981*8575f197SBjorn Andersson <GIC_SPI 404 IRQ_TYPE_LEVEL_HIGH>, 982*8575f197SBjorn Andersson <GIC_SPI 405 IRQ_TYPE_LEVEL_HIGH>, 983*8575f197SBjorn Andersson <GIC_SPI 406 IRQ_TYPE_LEVEL_HIGH>, 984*8575f197SBjorn Andersson <GIC_SPI 407 IRQ_TYPE_LEVEL_HIGH>, 985*8575f197SBjorn Andersson <GIC_SPI 408 IRQ_TYPE_LEVEL_HIGH>, 986*8575f197SBjorn Andersson <GIC_SPI 409 IRQ_TYPE_LEVEL_HIGH>, 987*8575f197SBjorn Andersson <GIC_SPI 410 IRQ_TYPE_LEVEL_HIGH>, 988*8575f197SBjorn Andersson <GIC_SPI 411 IRQ_TYPE_LEVEL_HIGH>, 989*8575f197SBjorn Andersson <GIC_SPI 412 IRQ_TYPE_LEVEL_HIGH>, 990*8575f197SBjorn Andersson <GIC_SPI 413 IRQ_TYPE_LEVEL_HIGH>, 991*8575f197SBjorn Andersson <GIC_SPI 706 IRQ_TYPE_LEVEL_HIGH>, 992*8575f197SBjorn Andersson <GIC_SPI 707 IRQ_TYPE_LEVEL_HIGH>, 993*8575f197SBjorn Andersson <GIC_SPI 708 IRQ_TYPE_LEVEL_HIGH>, 994*8575f197SBjorn Andersson <GIC_SPI 709 IRQ_TYPE_LEVEL_HIGH>, 995*8575f197SBjorn Andersson <GIC_SPI 710 IRQ_TYPE_LEVEL_HIGH>, 996*8575f197SBjorn Andersson <GIC_SPI 711 IRQ_TYPE_LEVEL_HIGH>, 997*8575f197SBjorn Andersson <GIC_SPI 712 IRQ_TYPE_LEVEL_HIGH>, 998*8575f197SBjorn Andersson <GIC_SPI 713 IRQ_TYPE_LEVEL_HIGH>, 999*8575f197SBjorn Andersson <GIC_SPI 714 IRQ_TYPE_LEVEL_HIGH>, 1000*8575f197SBjorn Andersson <GIC_SPI 715 IRQ_TYPE_LEVEL_HIGH>, 1001*8575f197SBjorn Andersson <GIC_SPI 643 IRQ_TYPE_LEVEL_HIGH>, 1002*8575f197SBjorn Andersson <GIC_SPI 642 IRQ_TYPE_LEVEL_HIGH>, 1003*8575f197SBjorn Andersson <GIC_SPI 641 IRQ_TYPE_LEVEL_HIGH>, 1004*8575f197SBjorn Andersson <GIC_SPI 640 IRQ_TYPE_LEVEL_HIGH>, 1005*8575f197SBjorn Andersson <GIC_SPI 768 IRQ_TYPE_LEVEL_HIGH>, 1006*8575f197SBjorn Andersson <GIC_SPI 769 IRQ_TYPE_LEVEL_HIGH>, 1007*8575f197SBjorn Andersson <GIC_SPI 770 IRQ_TYPE_LEVEL_HIGH>, 1008*8575f197SBjorn Andersson <GIC_SPI 771 IRQ_TYPE_LEVEL_HIGH>, 1009*8575f197SBjorn Andersson <GIC_SPI 772 IRQ_TYPE_LEVEL_HIGH>, 1010*8575f197SBjorn Andersson <GIC_SPI 773 IRQ_TYPE_LEVEL_HIGH>, 1011*8575f197SBjorn Andersson <GIC_SPI 774 IRQ_TYPE_LEVEL_HIGH>, 1012*8575f197SBjorn Andersson <GIC_SPI 775 IRQ_TYPE_LEVEL_HIGH>; 1013*8575f197SBjorn Andersson 1014*8575f197SBjorn Andersson }; 1015*8575f197SBjorn Andersson 1016*8575f197SBjorn Andersson intc: interrupt-controller@17a00000 { 1017*8575f197SBjorn Andersson compatible = "arm,gic-v3"; 1018*8575f197SBjorn Andersson interrupt-controller; 1019*8575f197SBjorn Andersson #interrupt-cells = <3>; 1020*8575f197SBjorn Andersson reg = <0x0 0x17a00000 0x0 0x10000>, /* GICD */ 1021*8575f197SBjorn Andersson <0x0 0x17a60000 0x0 0x100000>; /* GICR * 8 */ 1022*8575f197SBjorn Andersson interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>; 1023*8575f197SBjorn Andersson }; 1024*8575f197SBjorn Andersson 1025*8575f197SBjorn Andersson apss_shared: mailbox@17c00000 { 1026*8575f197SBjorn Andersson compatible = "qcom,sc8180x-apss-shared"; 1027*8575f197SBjorn Andersson reg = <0x0 0x17c00000 0x0 0x1000>; 1028*8575f197SBjorn Andersson #mbox-cells = <1>; 1029*8575f197SBjorn Andersson }; 1030*8575f197SBjorn Andersson 1031*8575f197SBjorn Andersson timer@17c20000 { 1032*8575f197SBjorn Andersson compatible = "arm,armv7-timer-mem"; 1033*8575f197SBjorn Andersson reg = <0x0 0x17c20000 0x0 0x1000>; 1034*8575f197SBjorn Andersson 1035*8575f197SBjorn Andersson #address-cells = <1>; 1036*8575f197SBjorn Andersson #size-cells = <1>; 1037*8575f197SBjorn Andersson ranges = <0 0 0 0x20000000>; 1038*8575f197SBjorn Andersson 1039*8575f197SBjorn Andersson frame@17c21000{ 1040*8575f197SBjorn Andersson reg = <0x17c21000 0x1000>, 1041*8575f197SBjorn Andersson <0x17c22000 0x1000>; 1042*8575f197SBjorn Andersson frame-number = <0>; 1043*8575f197SBjorn Andersson interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>, 1044*8575f197SBjorn Andersson <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>; 1045*8575f197SBjorn Andersson }; 1046*8575f197SBjorn Andersson 1047*8575f197SBjorn Andersson frame@17c23000 { 1048*8575f197SBjorn Andersson reg = <0x17c23000 0x1000>; 1049*8575f197SBjorn Andersson frame-number = <1>; 1050*8575f197SBjorn Andersson interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>; 1051*8575f197SBjorn Andersson status = "disabled"; 1052*8575f197SBjorn Andersson }; 1053*8575f197SBjorn Andersson 1054*8575f197SBjorn Andersson frame@17c25000 { 1055*8575f197SBjorn Andersson reg = <0x17c25000 0x1000>; 1056*8575f197SBjorn Andersson frame-number = <2>; 1057*8575f197SBjorn Andersson interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>; 1058*8575f197SBjorn Andersson status = "disabled"; 1059*8575f197SBjorn Andersson }; 1060*8575f197SBjorn Andersson 1061*8575f197SBjorn Andersson frame@17c27000 { 1062*8575f197SBjorn Andersson reg = <0x17c26000 0x1000>; 1063*8575f197SBjorn Andersson frame-number = <3>; 1064*8575f197SBjorn Andersson interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>; 1065*8575f197SBjorn Andersson status = "disabled"; 1066*8575f197SBjorn Andersson }; 1067*8575f197SBjorn Andersson 1068*8575f197SBjorn Andersson frame@17c29000 { 1069*8575f197SBjorn Andersson reg = <0x17c29000 0x1000>; 1070*8575f197SBjorn Andersson frame-number = <4>; 1071*8575f197SBjorn Andersson interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>; 1072*8575f197SBjorn Andersson status = "disabled"; 1073*8575f197SBjorn Andersson }; 1074*8575f197SBjorn Andersson 1075*8575f197SBjorn Andersson frame@17c2b000 { 1076*8575f197SBjorn Andersson reg = <0x17c2b000 0x1000>; 1077*8575f197SBjorn Andersson frame-number = <5>; 1078*8575f197SBjorn Andersson interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>; 1079*8575f197SBjorn Andersson status = "disabled"; 1080*8575f197SBjorn Andersson }; 1081*8575f197SBjorn Andersson 1082*8575f197SBjorn Andersson frame@17c2d000 { 1083*8575f197SBjorn Andersson reg = <0x17c2d000 0x1000>; 1084*8575f197SBjorn Andersson frame-number = <6>; 1085*8575f197SBjorn Andersson interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>; 1086*8575f197SBjorn Andersson status = "disabled"; 1087*8575f197SBjorn Andersson }; 1088*8575f197SBjorn Andersson }; 1089*8575f197SBjorn Andersson 1090*8575f197SBjorn Andersson apps_rsc: rsc@18200000 { 1091*8575f197SBjorn Andersson compatible = "qcom,rpmh-rsc"; 1092*8575f197SBjorn Andersson reg = <0x0 0x18200000 0x0 0x10000>, 1093*8575f197SBjorn Andersson <0x0 0x18210000 0x0 0x10000>, 1094*8575f197SBjorn Andersson <0x0 0x18220000 0x0 0x10000>; 1095*8575f197SBjorn Andersson reg-names = "drv-0", "drv-1", "drv-2"; 1096*8575f197SBjorn Andersson interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>, 1097*8575f197SBjorn Andersson <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>, 1098*8575f197SBjorn Andersson <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>; 1099*8575f197SBjorn Andersson qcom,tcs-offset = <0xd00>; 1100*8575f197SBjorn Andersson qcom,drv-id = <2>; 1101*8575f197SBjorn Andersson qcom,tcs-config = <ACTIVE_TCS 2>, 1102*8575f197SBjorn Andersson <SLEEP_TCS 1>, 1103*8575f197SBjorn Andersson <WAKE_TCS 1>, 1104*8575f197SBjorn Andersson <CONTROL_TCS 0>; 1105*8575f197SBjorn Andersson label = "apps_rsc"; 1106*8575f197SBjorn Andersson 1107*8575f197SBjorn Andersson apps_bcm_voter: bcm-voter { 1108*8575f197SBjorn Andersson compatible = "qcom,bcm-voter"; 1109*8575f197SBjorn Andersson }; 1110*8575f197SBjorn Andersson 1111*8575f197SBjorn Andersson rpmhcc: clock-controller { 1112*8575f197SBjorn Andersson compatible = "qcom,sc8180x-rpmh-clk"; 1113*8575f197SBjorn Andersson #clock-cells = <1>; 1114*8575f197SBjorn Andersson clock-names = "xo"; 1115*8575f197SBjorn Andersson clocks = <&xo_board_clk>; 1116*8575f197SBjorn Andersson }; 1117*8575f197SBjorn Andersson 1118*8575f197SBjorn Andersson rpmhpd: power-controller { 1119*8575f197SBjorn Andersson compatible = "qcom,sc8180x-rpmhpd"; 1120*8575f197SBjorn Andersson #power-domain-cells = <1>; 1121*8575f197SBjorn Andersson operating-points-v2 = <&rpmhpd_opp_table>; 1122*8575f197SBjorn Andersson 1123*8575f197SBjorn Andersson rpmhpd_opp_table: opp-table { 1124*8575f197SBjorn Andersson compatible = "operating-points-v2"; 1125*8575f197SBjorn Andersson 1126*8575f197SBjorn Andersson rpmhpd_opp_ret: opp1 { 1127*8575f197SBjorn Andersson opp-level = <RPMH_REGULATOR_LEVEL_RETENTION>; 1128*8575f197SBjorn Andersson }; 1129*8575f197SBjorn Andersson 1130*8575f197SBjorn Andersson rpmhpd_opp_min_svs: opp2 { 1131*8575f197SBjorn Andersson opp-level = <RPMH_REGULATOR_LEVEL_MIN_SVS>; 1132*8575f197SBjorn Andersson }; 1133*8575f197SBjorn Andersson 1134*8575f197SBjorn Andersson rpmhpd_opp_low_svs: opp3 { 1135*8575f197SBjorn Andersson opp-level = <RPMH_REGULATOR_LEVEL_LOW_SVS>; 1136*8575f197SBjorn Andersson }; 1137*8575f197SBjorn Andersson 1138*8575f197SBjorn Andersson rpmhpd_opp_svs: opp4 { 1139*8575f197SBjorn Andersson opp-level = <RPMH_REGULATOR_LEVEL_SVS>; 1140*8575f197SBjorn Andersson }; 1141*8575f197SBjorn Andersson 1142*8575f197SBjorn Andersson rpmhpd_opp_svs_l1: opp5 { 1143*8575f197SBjorn Andersson opp-level = <RPMH_REGULATOR_LEVEL_SVS_L1>; 1144*8575f197SBjorn Andersson }; 1145*8575f197SBjorn Andersson 1146*8575f197SBjorn Andersson rpmhpd_opp_nom: opp6 { 1147*8575f197SBjorn Andersson opp-level = <RPMH_REGULATOR_LEVEL_NOM>; 1148*8575f197SBjorn Andersson }; 1149*8575f197SBjorn Andersson 1150*8575f197SBjorn Andersson rpmhpd_opp_nom_l1: opp7 { 1151*8575f197SBjorn Andersson opp-level = <RPMH_REGULATOR_LEVEL_NOM_L1>; 1152*8575f197SBjorn Andersson }; 1153*8575f197SBjorn Andersson 1154*8575f197SBjorn Andersson rpmhpd_opp_nom_l2: opp8 { 1155*8575f197SBjorn Andersson opp-level = <RPMH_REGULATOR_LEVEL_NOM_L2>; 1156*8575f197SBjorn Andersson }; 1157*8575f197SBjorn Andersson 1158*8575f197SBjorn Andersson rpmhpd_opp_turbo: opp9 { 1159*8575f197SBjorn Andersson opp-level = <RPMH_REGULATOR_LEVEL_TURBO>; 1160*8575f197SBjorn Andersson }; 1161*8575f197SBjorn Andersson 1162*8575f197SBjorn Andersson rpmhpd_opp_turbo_l1: opp10 { 1163*8575f197SBjorn Andersson opp-level = <RPMH_REGULATOR_LEVEL_TURBO_L1>; 1164*8575f197SBjorn Andersson }; 1165*8575f197SBjorn Andersson }; 1166*8575f197SBjorn Andersson }; 1167*8575f197SBjorn Andersson }; 1168*8575f197SBjorn Andersson 1169*8575f197SBjorn Andersson cpufreq_hw: cpufreq@18323000 { 1170*8575f197SBjorn Andersson compatible = "qcom,cpufreq-hw"; 1171*8575f197SBjorn Andersson reg = <0 0x18323000 0 0x1400>, <0 0x18325800 0 0x1400>; 1172*8575f197SBjorn Andersson reg-names = "freq-domain0", "freq-domain1"; 1173*8575f197SBjorn Andersson 1174*8575f197SBjorn Andersson clocks = <&rpmhcc RPMH_CXO_CLK>, <&gcc GPLL0>; 1175*8575f197SBjorn Andersson clock-names = "xo", "alternate"; 1176*8575f197SBjorn Andersson 1177*8575f197SBjorn Andersson #freq-domain-cells = <1>; 1178*8575f197SBjorn Andersson #clock-cells = <1>; 1179*8575f197SBjorn Andersson }; 1180*8575f197SBjorn Andersson 1181*8575f197SBjorn Andersson timer { 1182*8575f197SBjorn Andersson compatible = "arm,armv8-timer"; 1183*8575f197SBjorn Andersson interrupts = <GIC_PPI 1 IRQ_TYPE_LEVEL_LOW>, 1184*8575f197SBjorn Andersson <GIC_PPI 2 IRQ_TYPE_LEVEL_LOW>, 1185*8575f197SBjorn Andersson <GIC_PPI 3 IRQ_TYPE_LEVEL_LOW>, 1186*8575f197SBjorn Andersson <GIC_PPI 0 IRQ_TYPE_LEVEL_LOW>; 1187*8575f197SBjorn Andersson }; 1188*8575f197SBjorn Andersson}; 1189