1*c66ec88fSEmmanuel VadotQualcomm Technologies, Inc. NVMEM CPUFreq and OPP bindings 2*c66ec88fSEmmanuel Vadot=================================== 3*c66ec88fSEmmanuel Vadot 4*c66ec88fSEmmanuel VadotIn Certain Qualcomm Technologies, Inc. SoCs like apq8096 and msm8996, 5*c66ec88fSEmmanuel Vadotthe CPU frequencies subset and voltage value of each OPP varies based on 6*c66ec88fSEmmanuel Vadotthe silicon variant in use. 7*c66ec88fSEmmanuel VadotQualcomm Technologies, Inc. Process Voltage Scaling Tables 8*c66ec88fSEmmanuel Vadotdefines the voltage and frequency value based on the msm-id in SMEM 9*c66ec88fSEmmanuel Vadotand speedbin blown in the efuse combination. 10*c66ec88fSEmmanuel VadotThe qcom-cpufreq-nvmem driver reads the msm-id and efuse value from the SoC 11*c66ec88fSEmmanuel Vadotto provide the OPP framework with required information (existing HW bitmap). 12*c66ec88fSEmmanuel VadotThis is used to determine the voltage and frequency value for each OPP of 13*c66ec88fSEmmanuel Vadotoperating-points-v2 table when it is parsed by the OPP framework. 14*c66ec88fSEmmanuel Vadot 15*c66ec88fSEmmanuel VadotRequired properties: 16*c66ec88fSEmmanuel Vadot-------------------- 17*c66ec88fSEmmanuel VadotIn 'cpu' nodes: 18*c66ec88fSEmmanuel Vadot- operating-points-v2: Phandle to the operating-points-v2 table to use. 19*c66ec88fSEmmanuel Vadot 20*c66ec88fSEmmanuel VadotIn 'operating-points-v2' table: 21*c66ec88fSEmmanuel Vadot- compatible: Should be 22*c66ec88fSEmmanuel Vadot - 'operating-points-v2-kryo-cpu' for apq8096, msm8996, msm8974, 23*c66ec88fSEmmanuel Vadot apq8064, ipq8064, msm8960 and ipq8074. 24*c66ec88fSEmmanuel Vadot 25*c66ec88fSEmmanuel VadotOptional properties: 26*c66ec88fSEmmanuel Vadot-------------------- 27*c66ec88fSEmmanuel VadotIn 'cpu' nodes: 28*c66ec88fSEmmanuel Vadot- power-domains: A phandle pointing to the PM domain specifier which provides 29*c66ec88fSEmmanuel Vadot the performance states available for active state management. 30*c66ec88fSEmmanuel Vadot Please refer to the power-domains bindings 31*c66ec88fSEmmanuel Vadot Documentation/devicetree/bindings/power/power_domain.txt 32*c66ec88fSEmmanuel Vadot and also examples below. 33*c66ec88fSEmmanuel Vadot- power-domain-names: Should be 34*c66ec88fSEmmanuel Vadot - 'cpr' for qcs404. 35*c66ec88fSEmmanuel Vadot 36*c66ec88fSEmmanuel VadotIn 'operating-points-v2' table: 37*c66ec88fSEmmanuel Vadot- nvmem-cells: A phandle pointing to a nvmem-cells node representing the 38*c66ec88fSEmmanuel Vadot efuse registers that has information about the 39*c66ec88fSEmmanuel Vadot speedbin that is used to select the right frequency/voltage 40*c66ec88fSEmmanuel Vadot value pair. 41*c66ec88fSEmmanuel Vadot Please refer the for nvmem-cells 42*c66ec88fSEmmanuel Vadot bindings Documentation/devicetree/bindings/nvmem/nvmem.txt 43*c66ec88fSEmmanuel Vadot and also examples below. 44*c66ec88fSEmmanuel Vadot 45*c66ec88fSEmmanuel VadotIn every OPP node: 46*c66ec88fSEmmanuel Vadot- opp-supported-hw: A single 32 bit bitmap value, representing compatible HW. 47*c66ec88fSEmmanuel Vadot Bitmap: 48*c66ec88fSEmmanuel Vadot 0: MSM8996 V3, speedbin 0 49*c66ec88fSEmmanuel Vadot 1: MSM8996 V3, speedbin 1 50*c66ec88fSEmmanuel Vadot 2: MSM8996 V3, speedbin 2 51*c66ec88fSEmmanuel Vadot 3: unused 52*c66ec88fSEmmanuel Vadot 4: MSM8996 SG, speedbin 0 53*c66ec88fSEmmanuel Vadot 5: MSM8996 SG, speedbin 1 54*c66ec88fSEmmanuel Vadot 6: MSM8996 SG, speedbin 2 55*c66ec88fSEmmanuel Vadot 7-31: unused 56*c66ec88fSEmmanuel Vadot 57*c66ec88fSEmmanuel VadotExample 1: 58*c66ec88fSEmmanuel Vadot--------- 59*c66ec88fSEmmanuel Vadot 60*c66ec88fSEmmanuel Vadot cpus { 61*c66ec88fSEmmanuel Vadot #address-cells = <2>; 62*c66ec88fSEmmanuel Vadot #size-cells = <0>; 63*c66ec88fSEmmanuel Vadot 64*c66ec88fSEmmanuel Vadot CPU0: cpu@0 { 65*c66ec88fSEmmanuel Vadot device_type = "cpu"; 66*c66ec88fSEmmanuel Vadot compatible = "qcom,kryo"; 67*c66ec88fSEmmanuel Vadot reg = <0x0 0x0>; 68*c66ec88fSEmmanuel Vadot enable-method = "psci"; 69*c66ec88fSEmmanuel Vadot clocks = <&kryocc 0>; 70*c66ec88fSEmmanuel Vadot cpu-supply = <&pm8994_s11_saw>; 71*c66ec88fSEmmanuel Vadot operating-points-v2 = <&cluster0_opp>; 72*c66ec88fSEmmanuel Vadot #cooling-cells = <2>; 73*c66ec88fSEmmanuel Vadot next-level-cache = <&L2_0>; 74*c66ec88fSEmmanuel Vadot L2_0: l2-cache { 75*c66ec88fSEmmanuel Vadot compatible = "cache"; 76*c66ec88fSEmmanuel Vadot cache-level = <2>; 77*c66ec88fSEmmanuel Vadot }; 78*c66ec88fSEmmanuel Vadot }; 79*c66ec88fSEmmanuel Vadot 80*c66ec88fSEmmanuel Vadot CPU1: cpu@1 { 81*c66ec88fSEmmanuel Vadot device_type = "cpu"; 82*c66ec88fSEmmanuel Vadot compatible = "qcom,kryo"; 83*c66ec88fSEmmanuel Vadot reg = <0x0 0x1>; 84*c66ec88fSEmmanuel Vadot enable-method = "psci"; 85*c66ec88fSEmmanuel Vadot clocks = <&kryocc 0>; 86*c66ec88fSEmmanuel Vadot cpu-supply = <&pm8994_s11_saw>; 87*c66ec88fSEmmanuel Vadot operating-points-v2 = <&cluster0_opp>; 88*c66ec88fSEmmanuel Vadot #cooling-cells = <2>; 89*c66ec88fSEmmanuel Vadot next-level-cache = <&L2_0>; 90*c66ec88fSEmmanuel Vadot }; 91*c66ec88fSEmmanuel Vadot 92*c66ec88fSEmmanuel Vadot CPU2: cpu@100 { 93*c66ec88fSEmmanuel Vadot device_type = "cpu"; 94*c66ec88fSEmmanuel Vadot compatible = "qcom,kryo"; 95*c66ec88fSEmmanuel Vadot reg = <0x0 0x100>; 96*c66ec88fSEmmanuel Vadot enable-method = "psci"; 97*c66ec88fSEmmanuel Vadot clocks = <&kryocc 1>; 98*c66ec88fSEmmanuel Vadot cpu-supply = <&pm8994_s11_saw>; 99*c66ec88fSEmmanuel Vadot operating-points-v2 = <&cluster1_opp>; 100*c66ec88fSEmmanuel Vadot #cooling-cells = <2>; 101*c66ec88fSEmmanuel Vadot next-level-cache = <&L2_1>; 102*c66ec88fSEmmanuel Vadot L2_1: l2-cache { 103*c66ec88fSEmmanuel Vadot compatible = "cache"; 104*c66ec88fSEmmanuel Vadot cache-level = <2>; 105*c66ec88fSEmmanuel Vadot }; 106*c66ec88fSEmmanuel Vadot }; 107*c66ec88fSEmmanuel Vadot 108*c66ec88fSEmmanuel Vadot CPU3: cpu@101 { 109*c66ec88fSEmmanuel Vadot device_type = "cpu"; 110*c66ec88fSEmmanuel Vadot compatible = "qcom,kryo"; 111*c66ec88fSEmmanuel Vadot reg = <0x0 0x101>; 112*c66ec88fSEmmanuel Vadot enable-method = "psci"; 113*c66ec88fSEmmanuel Vadot clocks = <&kryocc 1>; 114*c66ec88fSEmmanuel Vadot cpu-supply = <&pm8994_s11_saw>; 115*c66ec88fSEmmanuel Vadot operating-points-v2 = <&cluster1_opp>; 116*c66ec88fSEmmanuel Vadot #cooling-cells = <2>; 117*c66ec88fSEmmanuel Vadot next-level-cache = <&L2_1>; 118*c66ec88fSEmmanuel Vadot }; 119*c66ec88fSEmmanuel Vadot 120*c66ec88fSEmmanuel Vadot cpu-map { 121*c66ec88fSEmmanuel Vadot cluster0 { 122*c66ec88fSEmmanuel Vadot core0 { 123*c66ec88fSEmmanuel Vadot cpu = <&CPU0>; 124*c66ec88fSEmmanuel Vadot }; 125*c66ec88fSEmmanuel Vadot 126*c66ec88fSEmmanuel Vadot core1 { 127*c66ec88fSEmmanuel Vadot cpu = <&CPU1>; 128*c66ec88fSEmmanuel Vadot }; 129*c66ec88fSEmmanuel Vadot }; 130*c66ec88fSEmmanuel Vadot 131*c66ec88fSEmmanuel Vadot cluster1 { 132*c66ec88fSEmmanuel Vadot core0 { 133*c66ec88fSEmmanuel Vadot cpu = <&CPU2>; 134*c66ec88fSEmmanuel Vadot }; 135*c66ec88fSEmmanuel Vadot 136*c66ec88fSEmmanuel Vadot core1 { 137*c66ec88fSEmmanuel Vadot cpu = <&CPU3>; 138*c66ec88fSEmmanuel Vadot }; 139*c66ec88fSEmmanuel Vadot }; 140*c66ec88fSEmmanuel Vadot }; 141*c66ec88fSEmmanuel Vadot }; 142*c66ec88fSEmmanuel Vadot 143*c66ec88fSEmmanuel Vadot cluster0_opp: opp_table0 { 144*c66ec88fSEmmanuel Vadot compatible = "operating-points-v2-kryo-cpu"; 145*c66ec88fSEmmanuel Vadot nvmem-cells = <&speedbin_efuse>; 146*c66ec88fSEmmanuel Vadot opp-shared; 147*c66ec88fSEmmanuel Vadot 148*c66ec88fSEmmanuel Vadot opp-307200000 { 149*c66ec88fSEmmanuel Vadot opp-hz = /bits/ 64 <307200000>; 150*c66ec88fSEmmanuel Vadot opp-microvolt = <905000 905000 1140000>; 151*c66ec88fSEmmanuel Vadot opp-supported-hw = <0x77>; 152*c66ec88fSEmmanuel Vadot clock-latency-ns = <200000>; 153*c66ec88fSEmmanuel Vadot }; 154*c66ec88fSEmmanuel Vadot opp-384000000 { 155*c66ec88fSEmmanuel Vadot opp-hz = /bits/ 64 <384000000>; 156*c66ec88fSEmmanuel Vadot opp-microvolt = <905000 905000 1140000>; 157*c66ec88fSEmmanuel Vadot opp-supported-hw = <0x70>; 158*c66ec88fSEmmanuel Vadot clock-latency-ns = <200000>; 159*c66ec88fSEmmanuel Vadot }; 160*c66ec88fSEmmanuel Vadot opp-422400000 { 161*c66ec88fSEmmanuel Vadot opp-hz = /bits/ 64 <422400000>; 162*c66ec88fSEmmanuel Vadot opp-microvolt = <905000 905000 1140000>; 163*c66ec88fSEmmanuel Vadot opp-supported-hw = <0x7>; 164*c66ec88fSEmmanuel Vadot clock-latency-ns = <200000>; 165*c66ec88fSEmmanuel Vadot }; 166*c66ec88fSEmmanuel Vadot opp-460800000 { 167*c66ec88fSEmmanuel Vadot opp-hz = /bits/ 64 <460800000>; 168*c66ec88fSEmmanuel Vadot opp-microvolt = <905000 905000 1140000>; 169*c66ec88fSEmmanuel Vadot opp-supported-hw = <0x70>; 170*c66ec88fSEmmanuel Vadot clock-latency-ns = <200000>; 171*c66ec88fSEmmanuel Vadot }; 172*c66ec88fSEmmanuel Vadot opp-480000000 { 173*c66ec88fSEmmanuel Vadot opp-hz = /bits/ 64 <480000000>; 174*c66ec88fSEmmanuel Vadot opp-microvolt = <905000 905000 1140000>; 175*c66ec88fSEmmanuel Vadot opp-supported-hw = <0x7>; 176*c66ec88fSEmmanuel Vadot clock-latency-ns = <200000>; 177*c66ec88fSEmmanuel Vadot }; 178*c66ec88fSEmmanuel Vadot opp-537600000 { 179*c66ec88fSEmmanuel Vadot opp-hz = /bits/ 64 <537600000>; 180*c66ec88fSEmmanuel Vadot opp-microvolt = <905000 905000 1140000>; 181*c66ec88fSEmmanuel Vadot opp-supported-hw = <0x70>; 182*c66ec88fSEmmanuel Vadot clock-latency-ns = <200000>; 183*c66ec88fSEmmanuel Vadot }; 184*c66ec88fSEmmanuel Vadot opp-556800000 { 185*c66ec88fSEmmanuel Vadot opp-hz = /bits/ 64 <556800000>; 186*c66ec88fSEmmanuel Vadot opp-microvolt = <905000 905000 1140000>; 187*c66ec88fSEmmanuel Vadot opp-supported-hw = <0x7>; 188*c66ec88fSEmmanuel Vadot clock-latency-ns = <200000>; 189*c66ec88fSEmmanuel Vadot }; 190*c66ec88fSEmmanuel Vadot opp-614400000 { 191*c66ec88fSEmmanuel Vadot opp-hz = /bits/ 64 <614400000>; 192*c66ec88fSEmmanuel Vadot opp-microvolt = <905000 905000 1140000>; 193*c66ec88fSEmmanuel Vadot opp-supported-hw = <0x70>; 194*c66ec88fSEmmanuel Vadot clock-latency-ns = <200000>; 195*c66ec88fSEmmanuel Vadot }; 196*c66ec88fSEmmanuel Vadot opp-652800000 { 197*c66ec88fSEmmanuel Vadot opp-hz = /bits/ 64 <652800000>; 198*c66ec88fSEmmanuel Vadot opp-microvolt = <905000 905000 1140000>; 199*c66ec88fSEmmanuel Vadot opp-supported-hw = <0x7>; 200*c66ec88fSEmmanuel Vadot clock-latency-ns = <200000>; 201*c66ec88fSEmmanuel Vadot }; 202*c66ec88fSEmmanuel Vadot opp-691200000 { 203*c66ec88fSEmmanuel Vadot opp-hz = /bits/ 64 <691200000>; 204*c66ec88fSEmmanuel Vadot opp-microvolt = <905000 905000 1140000>; 205*c66ec88fSEmmanuel Vadot opp-supported-hw = <0x70>; 206*c66ec88fSEmmanuel Vadot clock-latency-ns = <200000>; 207*c66ec88fSEmmanuel Vadot }; 208*c66ec88fSEmmanuel Vadot opp-729600000 { 209*c66ec88fSEmmanuel Vadot opp-hz = /bits/ 64 <729600000>; 210*c66ec88fSEmmanuel Vadot opp-microvolt = <905000 905000 1140000>; 211*c66ec88fSEmmanuel Vadot opp-supported-hw = <0x7>; 212*c66ec88fSEmmanuel Vadot clock-latency-ns = <200000>; 213*c66ec88fSEmmanuel Vadot }; 214*c66ec88fSEmmanuel Vadot opp-768000000 { 215*c66ec88fSEmmanuel Vadot opp-hz = /bits/ 64 <768000000>; 216*c66ec88fSEmmanuel Vadot opp-microvolt = <905000 905000 1140000>; 217*c66ec88fSEmmanuel Vadot opp-supported-hw = <0x70>; 218*c66ec88fSEmmanuel Vadot clock-latency-ns = <200000>; 219*c66ec88fSEmmanuel Vadot }; 220*c66ec88fSEmmanuel Vadot opp-844800000 { 221*c66ec88fSEmmanuel Vadot opp-hz = /bits/ 64 <844800000>; 222*c66ec88fSEmmanuel Vadot opp-microvolt = <905000 905000 1140000>; 223*c66ec88fSEmmanuel Vadot opp-supported-hw = <0x77>; 224*c66ec88fSEmmanuel Vadot clock-latency-ns = <200000>; 225*c66ec88fSEmmanuel Vadot }; 226*c66ec88fSEmmanuel Vadot opp-902400000 { 227*c66ec88fSEmmanuel Vadot opp-hz = /bits/ 64 <902400000>; 228*c66ec88fSEmmanuel Vadot opp-microvolt = <905000 905000 1140000>; 229*c66ec88fSEmmanuel Vadot opp-supported-hw = <0x70>; 230*c66ec88fSEmmanuel Vadot clock-latency-ns = <200000>; 231*c66ec88fSEmmanuel Vadot }; 232*c66ec88fSEmmanuel Vadot opp-960000000 { 233*c66ec88fSEmmanuel Vadot opp-hz = /bits/ 64 <960000000>; 234*c66ec88fSEmmanuel Vadot opp-microvolt = <905000 905000 1140000>; 235*c66ec88fSEmmanuel Vadot opp-supported-hw = <0x7>; 236*c66ec88fSEmmanuel Vadot clock-latency-ns = <200000>; 237*c66ec88fSEmmanuel Vadot }; 238*c66ec88fSEmmanuel Vadot opp-979200000 { 239*c66ec88fSEmmanuel Vadot opp-hz = /bits/ 64 <979200000>; 240*c66ec88fSEmmanuel Vadot opp-microvolt = <905000 905000 1140000>; 241*c66ec88fSEmmanuel Vadot opp-supported-hw = <0x70>; 242*c66ec88fSEmmanuel Vadot clock-latency-ns = <200000>; 243*c66ec88fSEmmanuel Vadot }; 244*c66ec88fSEmmanuel Vadot opp-1036800000 { 245*c66ec88fSEmmanuel Vadot opp-hz = /bits/ 64 <1036800000>; 246*c66ec88fSEmmanuel Vadot opp-microvolt = <905000 905000 1140000>; 247*c66ec88fSEmmanuel Vadot opp-supported-hw = <0x7>; 248*c66ec88fSEmmanuel Vadot clock-latency-ns = <200000>; 249*c66ec88fSEmmanuel Vadot }; 250*c66ec88fSEmmanuel Vadot opp-1056000000 { 251*c66ec88fSEmmanuel Vadot opp-hz = /bits/ 64 <1056000000>; 252*c66ec88fSEmmanuel Vadot opp-microvolt = <905000 905000 1140000>; 253*c66ec88fSEmmanuel Vadot opp-supported-hw = <0x70>; 254*c66ec88fSEmmanuel Vadot clock-latency-ns = <200000>; 255*c66ec88fSEmmanuel Vadot }; 256*c66ec88fSEmmanuel Vadot opp-1113600000 { 257*c66ec88fSEmmanuel Vadot opp-hz = /bits/ 64 <1113600000>; 258*c66ec88fSEmmanuel Vadot opp-microvolt = <905000 905000 1140000>; 259*c66ec88fSEmmanuel Vadot opp-supported-hw = <0x7>; 260*c66ec88fSEmmanuel Vadot clock-latency-ns = <200000>; 261*c66ec88fSEmmanuel Vadot }; 262*c66ec88fSEmmanuel Vadot opp-1132800000 { 263*c66ec88fSEmmanuel Vadot opp-hz = /bits/ 64 <1132800000>; 264*c66ec88fSEmmanuel Vadot opp-microvolt = <905000 905000 1140000>; 265*c66ec88fSEmmanuel Vadot opp-supported-hw = <0x70>; 266*c66ec88fSEmmanuel Vadot clock-latency-ns = <200000>; 267*c66ec88fSEmmanuel Vadot }; 268*c66ec88fSEmmanuel Vadot opp-1190400000 { 269*c66ec88fSEmmanuel Vadot opp-hz = /bits/ 64 <1190400000>; 270*c66ec88fSEmmanuel Vadot opp-microvolt = <905000 905000 1140000>; 271*c66ec88fSEmmanuel Vadot opp-supported-hw = <0x7>; 272*c66ec88fSEmmanuel Vadot clock-latency-ns = <200000>; 273*c66ec88fSEmmanuel Vadot }; 274*c66ec88fSEmmanuel Vadot opp-1209600000 { 275*c66ec88fSEmmanuel Vadot opp-hz = /bits/ 64 <1209600000>; 276*c66ec88fSEmmanuel Vadot opp-microvolt = <905000 905000 1140000>; 277*c66ec88fSEmmanuel Vadot opp-supported-hw = <0x70>; 278*c66ec88fSEmmanuel Vadot clock-latency-ns = <200000>; 279*c66ec88fSEmmanuel Vadot }; 280*c66ec88fSEmmanuel Vadot opp-1228800000 { 281*c66ec88fSEmmanuel Vadot opp-hz = /bits/ 64 <1228800000>; 282*c66ec88fSEmmanuel Vadot opp-microvolt = <905000 905000 1140000>; 283*c66ec88fSEmmanuel Vadot opp-supported-hw = <0x7>; 284*c66ec88fSEmmanuel Vadot clock-latency-ns = <200000>; 285*c66ec88fSEmmanuel Vadot }; 286*c66ec88fSEmmanuel Vadot opp-1286400000 { 287*c66ec88fSEmmanuel Vadot opp-hz = /bits/ 64 <1286400000>; 288*c66ec88fSEmmanuel Vadot opp-microvolt = <1140000 905000 1140000>; 289*c66ec88fSEmmanuel Vadot opp-supported-hw = <0x70>; 290*c66ec88fSEmmanuel Vadot clock-latency-ns = <200000>; 291*c66ec88fSEmmanuel Vadot }; 292*c66ec88fSEmmanuel Vadot opp-1324800000 { 293*c66ec88fSEmmanuel Vadot opp-hz = /bits/ 64 <1324800000>; 294*c66ec88fSEmmanuel Vadot opp-microvolt = <1140000 905000 1140000>; 295*c66ec88fSEmmanuel Vadot opp-supported-hw = <0x5>; 296*c66ec88fSEmmanuel Vadot clock-latency-ns = <200000>; 297*c66ec88fSEmmanuel Vadot }; 298*c66ec88fSEmmanuel Vadot opp-1363200000 { 299*c66ec88fSEmmanuel Vadot opp-hz = /bits/ 64 <1363200000>; 300*c66ec88fSEmmanuel Vadot opp-microvolt = <1140000 905000 1140000>; 301*c66ec88fSEmmanuel Vadot opp-supported-hw = <0x72>; 302*c66ec88fSEmmanuel Vadot clock-latency-ns = <200000>; 303*c66ec88fSEmmanuel Vadot }; 304*c66ec88fSEmmanuel Vadot opp-1401600000 { 305*c66ec88fSEmmanuel Vadot opp-hz = /bits/ 64 <1401600000>; 306*c66ec88fSEmmanuel Vadot opp-microvolt = <1140000 905000 1140000>; 307*c66ec88fSEmmanuel Vadot opp-supported-hw = <0x5>; 308*c66ec88fSEmmanuel Vadot clock-latency-ns = <200000>; 309*c66ec88fSEmmanuel Vadot }; 310*c66ec88fSEmmanuel Vadot opp-1440000000 { 311*c66ec88fSEmmanuel Vadot opp-hz = /bits/ 64 <1440000000>; 312*c66ec88fSEmmanuel Vadot opp-microvolt = <1140000 905000 1140000>; 313*c66ec88fSEmmanuel Vadot opp-supported-hw = <0x70>; 314*c66ec88fSEmmanuel Vadot clock-latency-ns = <200000>; 315*c66ec88fSEmmanuel Vadot }; 316*c66ec88fSEmmanuel Vadot opp-1478400000 { 317*c66ec88fSEmmanuel Vadot opp-hz = /bits/ 64 <1478400000>; 318*c66ec88fSEmmanuel Vadot opp-microvolt = <1140000 905000 1140000>; 319*c66ec88fSEmmanuel Vadot opp-supported-hw = <0x1>; 320*c66ec88fSEmmanuel Vadot clock-latency-ns = <200000>; 321*c66ec88fSEmmanuel Vadot }; 322*c66ec88fSEmmanuel Vadot opp-1497600000 { 323*c66ec88fSEmmanuel Vadot opp-hz = /bits/ 64 <1497600000>; 324*c66ec88fSEmmanuel Vadot opp-microvolt = <1140000 905000 1140000>; 325*c66ec88fSEmmanuel Vadot opp-supported-hw = <0x4>; 326*c66ec88fSEmmanuel Vadot clock-latency-ns = <200000>; 327*c66ec88fSEmmanuel Vadot }; 328*c66ec88fSEmmanuel Vadot opp-1516800000 { 329*c66ec88fSEmmanuel Vadot opp-hz = /bits/ 64 <1516800000>; 330*c66ec88fSEmmanuel Vadot opp-microvolt = <1140000 905000 1140000>; 331*c66ec88fSEmmanuel Vadot opp-supported-hw = <0x70>; 332*c66ec88fSEmmanuel Vadot clock-latency-ns = <200000>; 333*c66ec88fSEmmanuel Vadot }; 334*c66ec88fSEmmanuel Vadot opp-1593600000 { 335*c66ec88fSEmmanuel Vadot opp-hz = /bits/ 64 <1593600000>; 336*c66ec88fSEmmanuel Vadot opp-microvolt = <1140000 905000 1140000>; 337*c66ec88fSEmmanuel Vadot opp-supported-hw = <0x71>; 338*c66ec88fSEmmanuel Vadot clock-latency-ns = <200000>; 339*c66ec88fSEmmanuel Vadot }; 340*c66ec88fSEmmanuel Vadot opp-1996800000 { 341*c66ec88fSEmmanuel Vadot opp-hz = /bits/ 64 <1996800000>; 342*c66ec88fSEmmanuel Vadot opp-microvolt = <1140000 905000 1140000>; 343*c66ec88fSEmmanuel Vadot opp-supported-hw = <0x20>; 344*c66ec88fSEmmanuel Vadot clock-latency-ns = <200000>; 345*c66ec88fSEmmanuel Vadot }; 346*c66ec88fSEmmanuel Vadot opp-2188800000 { 347*c66ec88fSEmmanuel Vadot opp-hz = /bits/ 64 <2188800000>; 348*c66ec88fSEmmanuel Vadot opp-microvolt = <1140000 905000 1140000>; 349*c66ec88fSEmmanuel Vadot opp-supported-hw = <0x10>; 350*c66ec88fSEmmanuel Vadot clock-latency-ns = <200000>; 351*c66ec88fSEmmanuel Vadot }; 352*c66ec88fSEmmanuel Vadot }; 353*c66ec88fSEmmanuel Vadot 354*c66ec88fSEmmanuel Vadot cluster1_opp: opp_table1 { 355*c66ec88fSEmmanuel Vadot compatible = "operating-points-v2-kryo-cpu"; 356*c66ec88fSEmmanuel Vadot nvmem-cells = <&speedbin_efuse>; 357*c66ec88fSEmmanuel Vadot opp-shared; 358*c66ec88fSEmmanuel Vadot 359*c66ec88fSEmmanuel Vadot opp-307200000 { 360*c66ec88fSEmmanuel Vadot opp-hz = /bits/ 64 <307200000>; 361*c66ec88fSEmmanuel Vadot opp-microvolt = <905000 905000 1140000>; 362*c66ec88fSEmmanuel Vadot opp-supported-hw = <0x77>; 363*c66ec88fSEmmanuel Vadot clock-latency-ns = <200000>; 364*c66ec88fSEmmanuel Vadot }; 365*c66ec88fSEmmanuel Vadot opp-384000000 { 366*c66ec88fSEmmanuel Vadot opp-hz = /bits/ 64 <384000000>; 367*c66ec88fSEmmanuel Vadot opp-microvolt = <905000 905000 1140000>; 368*c66ec88fSEmmanuel Vadot opp-supported-hw = <0x70>; 369*c66ec88fSEmmanuel Vadot clock-latency-ns = <200000>; 370*c66ec88fSEmmanuel Vadot }; 371*c66ec88fSEmmanuel Vadot opp-403200000 { 372*c66ec88fSEmmanuel Vadot opp-hz = /bits/ 64 <403200000>; 373*c66ec88fSEmmanuel Vadot opp-microvolt = <905000 905000 1140000>; 374*c66ec88fSEmmanuel Vadot opp-supported-hw = <0x7>; 375*c66ec88fSEmmanuel Vadot clock-latency-ns = <200000>; 376*c66ec88fSEmmanuel Vadot }; 377*c66ec88fSEmmanuel Vadot opp-460800000 { 378*c66ec88fSEmmanuel Vadot opp-hz = /bits/ 64 <460800000>; 379*c66ec88fSEmmanuel Vadot opp-microvolt = <905000 905000 1140000>; 380*c66ec88fSEmmanuel Vadot opp-supported-hw = <0x70>; 381*c66ec88fSEmmanuel Vadot clock-latency-ns = <200000>; 382*c66ec88fSEmmanuel Vadot }; 383*c66ec88fSEmmanuel Vadot opp-480000000 { 384*c66ec88fSEmmanuel Vadot opp-hz = /bits/ 64 <480000000>; 385*c66ec88fSEmmanuel Vadot opp-microvolt = <905000 905000 1140000>; 386*c66ec88fSEmmanuel Vadot opp-supported-hw = <0x7>; 387*c66ec88fSEmmanuel Vadot clock-latency-ns = <200000>; 388*c66ec88fSEmmanuel Vadot }; 389*c66ec88fSEmmanuel Vadot opp-537600000 { 390*c66ec88fSEmmanuel Vadot opp-hz = /bits/ 64 <537600000>; 391*c66ec88fSEmmanuel Vadot opp-microvolt = <905000 905000 1140000>; 392*c66ec88fSEmmanuel Vadot opp-supported-hw = <0x70>; 393*c66ec88fSEmmanuel Vadot clock-latency-ns = <200000>; 394*c66ec88fSEmmanuel Vadot }; 395*c66ec88fSEmmanuel Vadot opp-556800000 { 396*c66ec88fSEmmanuel Vadot opp-hz = /bits/ 64 <556800000>; 397*c66ec88fSEmmanuel Vadot opp-microvolt = <905000 905000 1140000>; 398*c66ec88fSEmmanuel Vadot opp-supported-hw = <0x7>; 399*c66ec88fSEmmanuel Vadot clock-latency-ns = <200000>; 400*c66ec88fSEmmanuel Vadot }; 401*c66ec88fSEmmanuel Vadot opp-614400000 { 402*c66ec88fSEmmanuel Vadot opp-hz = /bits/ 64 <614400000>; 403*c66ec88fSEmmanuel Vadot opp-microvolt = <905000 905000 1140000>; 404*c66ec88fSEmmanuel Vadot opp-supported-hw = <0x70>; 405*c66ec88fSEmmanuel Vadot clock-latency-ns = <200000>; 406*c66ec88fSEmmanuel Vadot }; 407*c66ec88fSEmmanuel Vadot opp-652800000 { 408*c66ec88fSEmmanuel Vadot opp-hz = /bits/ 64 <652800000>; 409*c66ec88fSEmmanuel Vadot opp-microvolt = <905000 905000 1140000>; 410*c66ec88fSEmmanuel Vadot opp-supported-hw = <0x7>; 411*c66ec88fSEmmanuel Vadot clock-latency-ns = <200000>; 412*c66ec88fSEmmanuel Vadot }; 413*c66ec88fSEmmanuel Vadot opp-691200000 { 414*c66ec88fSEmmanuel Vadot opp-hz = /bits/ 64 <691200000>; 415*c66ec88fSEmmanuel Vadot opp-microvolt = <905000 905000 1140000>; 416*c66ec88fSEmmanuel Vadot opp-supported-hw = <0x70>; 417*c66ec88fSEmmanuel Vadot clock-latency-ns = <200000>; 418*c66ec88fSEmmanuel Vadot }; 419*c66ec88fSEmmanuel Vadot opp-729600000 { 420*c66ec88fSEmmanuel Vadot opp-hz = /bits/ 64 <729600000>; 421*c66ec88fSEmmanuel Vadot opp-microvolt = <905000 905000 1140000>; 422*c66ec88fSEmmanuel Vadot opp-supported-hw = <0x7>; 423*c66ec88fSEmmanuel Vadot clock-latency-ns = <200000>; 424*c66ec88fSEmmanuel Vadot }; 425*c66ec88fSEmmanuel Vadot opp-748800000 { 426*c66ec88fSEmmanuel Vadot opp-hz = /bits/ 64 <748800000>; 427*c66ec88fSEmmanuel Vadot opp-microvolt = <905000 905000 1140000>; 428*c66ec88fSEmmanuel Vadot opp-supported-hw = <0x70>; 429*c66ec88fSEmmanuel Vadot clock-latency-ns = <200000>; 430*c66ec88fSEmmanuel Vadot }; 431*c66ec88fSEmmanuel Vadot opp-806400000 { 432*c66ec88fSEmmanuel Vadot opp-hz = /bits/ 64 <806400000>; 433*c66ec88fSEmmanuel Vadot opp-microvolt = <905000 905000 1140000>; 434*c66ec88fSEmmanuel Vadot opp-supported-hw = <0x7>; 435*c66ec88fSEmmanuel Vadot clock-latency-ns = <200000>; 436*c66ec88fSEmmanuel Vadot }; 437*c66ec88fSEmmanuel Vadot opp-825600000 { 438*c66ec88fSEmmanuel Vadot opp-hz = /bits/ 64 <825600000>; 439*c66ec88fSEmmanuel Vadot opp-microvolt = <905000 905000 1140000>; 440*c66ec88fSEmmanuel Vadot opp-supported-hw = <0x70>; 441*c66ec88fSEmmanuel Vadot clock-latency-ns = <200000>; 442*c66ec88fSEmmanuel Vadot }; 443*c66ec88fSEmmanuel Vadot opp-883200000 { 444*c66ec88fSEmmanuel Vadot opp-hz = /bits/ 64 <883200000>; 445*c66ec88fSEmmanuel Vadot opp-microvolt = <905000 905000 1140000>; 446*c66ec88fSEmmanuel Vadot opp-supported-hw = <0x7>; 447*c66ec88fSEmmanuel Vadot clock-latency-ns = <200000>; 448*c66ec88fSEmmanuel Vadot }; 449*c66ec88fSEmmanuel Vadot opp-902400000 { 450*c66ec88fSEmmanuel Vadot opp-hz = /bits/ 64 <902400000>; 451*c66ec88fSEmmanuel Vadot opp-microvolt = <905000 905000 1140000>; 452*c66ec88fSEmmanuel Vadot opp-supported-hw = <0x70>; 453*c66ec88fSEmmanuel Vadot clock-latency-ns = <200000>; 454*c66ec88fSEmmanuel Vadot }; 455*c66ec88fSEmmanuel Vadot opp-940800000 { 456*c66ec88fSEmmanuel Vadot opp-hz = /bits/ 64 <940800000>; 457*c66ec88fSEmmanuel Vadot opp-microvolt = <905000 905000 1140000>; 458*c66ec88fSEmmanuel Vadot opp-supported-hw = <0x7>; 459*c66ec88fSEmmanuel Vadot clock-latency-ns = <200000>; 460*c66ec88fSEmmanuel Vadot }; 461*c66ec88fSEmmanuel Vadot opp-979200000 { 462*c66ec88fSEmmanuel Vadot opp-hz = /bits/ 64 <979200000>; 463*c66ec88fSEmmanuel Vadot opp-microvolt = <905000 905000 1140000>; 464*c66ec88fSEmmanuel Vadot opp-supported-hw = <0x70>; 465*c66ec88fSEmmanuel Vadot clock-latency-ns = <200000>; 466*c66ec88fSEmmanuel Vadot }; 467*c66ec88fSEmmanuel Vadot opp-1036800000 { 468*c66ec88fSEmmanuel Vadot opp-hz = /bits/ 64 <1036800000>; 469*c66ec88fSEmmanuel Vadot opp-microvolt = <905000 905000 1140000>; 470*c66ec88fSEmmanuel Vadot opp-supported-hw = <0x7>; 471*c66ec88fSEmmanuel Vadot clock-latency-ns = <200000>; 472*c66ec88fSEmmanuel Vadot }; 473*c66ec88fSEmmanuel Vadot opp-1056000000 { 474*c66ec88fSEmmanuel Vadot opp-hz = /bits/ 64 <1056000000>; 475*c66ec88fSEmmanuel Vadot opp-microvolt = <905000 905000 1140000>; 476*c66ec88fSEmmanuel Vadot opp-supported-hw = <0x70>; 477*c66ec88fSEmmanuel Vadot clock-latency-ns = <200000>; 478*c66ec88fSEmmanuel Vadot }; 479*c66ec88fSEmmanuel Vadot opp-1113600000 { 480*c66ec88fSEmmanuel Vadot opp-hz = /bits/ 64 <1113600000>; 481*c66ec88fSEmmanuel Vadot opp-microvolt = <905000 905000 1140000>; 482*c66ec88fSEmmanuel Vadot opp-supported-hw = <0x7>; 483*c66ec88fSEmmanuel Vadot clock-latency-ns = <200000>; 484*c66ec88fSEmmanuel Vadot }; 485*c66ec88fSEmmanuel Vadot opp-1132800000 { 486*c66ec88fSEmmanuel Vadot opp-hz = /bits/ 64 <1132800000>; 487*c66ec88fSEmmanuel Vadot opp-microvolt = <905000 905000 1140000>; 488*c66ec88fSEmmanuel Vadot opp-supported-hw = <0x70>; 489*c66ec88fSEmmanuel Vadot clock-latency-ns = <200000>; 490*c66ec88fSEmmanuel Vadot }; 491*c66ec88fSEmmanuel Vadot opp-1190400000 { 492*c66ec88fSEmmanuel Vadot opp-hz = /bits/ 64 <1190400000>; 493*c66ec88fSEmmanuel Vadot opp-microvolt = <905000 905000 1140000>; 494*c66ec88fSEmmanuel Vadot opp-supported-hw = <0x7>; 495*c66ec88fSEmmanuel Vadot clock-latency-ns = <200000>; 496*c66ec88fSEmmanuel Vadot }; 497*c66ec88fSEmmanuel Vadot opp-1209600000 { 498*c66ec88fSEmmanuel Vadot opp-hz = /bits/ 64 <1209600000>; 499*c66ec88fSEmmanuel Vadot opp-microvolt = <905000 905000 1140000>; 500*c66ec88fSEmmanuel Vadot opp-supported-hw = <0x70>; 501*c66ec88fSEmmanuel Vadot clock-latency-ns = <200000>; 502*c66ec88fSEmmanuel Vadot }; 503*c66ec88fSEmmanuel Vadot opp-1248000000 { 504*c66ec88fSEmmanuel Vadot opp-hz = /bits/ 64 <1248000000>; 505*c66ec88fSEmmanuel Vadot opp-microvolt = <905000 905000 1140000>; 506*c66ec88fSEmmanuel Vadot opp-supported-hw = <0x7>; 507*c66ec88fSEmmanuel Vadot clock-latency-ns = <200000>; 508*c66ec88fSEmmanuel Vadot }; 509*c66ec88fSEmmanuel Vadot opp-1286400000 { 510*c66ec88fSEmmanuel Vadot opp-hz = /bits/ 64 <1286400000>; 511*c66ec88fSEmmanuel Vadot opp-microvolt = <905000 905000 1140000>; 512*c66ec88fSEmmanuel Vadot opp-supported-hw = <0x70>; 513*c66ec88fSEmmanuel Vadot clock-latency-ns = <200000>; 514*c66ec88fSEmmanuel Vadot }; 515*c66ec88fSEmmanuel Vadot opp-1324800000 { 516*c66ec88fSEmmanuel Vadot opp-hz = /bits/ 64 <1324800000>; 517*c66ec88fSEmmanuel Vadot opp-microvolt = <1140000 905000 1140000>; 518*c66ec88fSEmmanuel Vadot opp-supported-hw = <0x7>; 519*c66ec88fSEmmanuel Vadot clock-latency-ns = <200000>; 520*c66ec88fSEmmanuel Vadot }; 521*c66ec88fSEmmanuel Vadot opp-1363200000 { 522*c66ec88fSEmmanuel Vadot opp-hz = /bits/ 64 <1363200000>; 523*c66ec88fSEmmanuel Vadot opp-microvolt = <1140000 905000 1140000>; 524*c66ec88fSEmmanuel Vadot opp-supported-hw = <0x70>; 525*c66ec88fSEmmanuel Vadot clock-latency-ns = <200000>; 526*c66ec88fSEmmanuel Vadot }; 527*c66ec88fSEmmanuel Vadot opp-1401600000 { 528*c66ec88fSEmmanuel Vadot opp-hz = /bits/ 64 <1401600000>; 529*c66ec88fSEmmanuel Vadot opp-microvolt = <1140000 905000 1140000>; 530*c66ec88fSEmmanuel Vadot opp-supported-hw = <0x7>; 531*c66ec88fSEmmanuel Vadot clock-latency-ns = <200000>; 532*c66ec88fSEmmanuel Vadot }; 533*c66ec88fSEmmanuel Vadot opp-1440000000 { 534*c66ec88fSEmmanuel Vadot opp-hz = /bits/ 64 <1440000000>; 535*c66ec88fSEmmanuel Vadot opp-microvolt = <1140000 905000 1140000>; 536*c66ec88fSEmmanuel Vadot opp-supported-hw = <0x70>; 537*c66ec88fSEmmanuel Vadot clock-latency-ns = <200000>; 538*c66ec88fSEmmanuel Vadot }; 539*c66ec88fSEmmanuel Vadot opp-1478400000 { 540*c66ec88fSEmmanuel Vadot opp-hz = /bits/ 64 <1478400000>; 541*c66ec88fSEmmanuel Vadot opp-microvolt = <1140000 905000 1140000>; 542*c66ec88fSEmmanuel Vadot opp-supported-hw = <0x7>; 543*c66ec88fSEmmanuel Vadot clock-latency-ns = <200000>; 544*c66ec88fSEmmanuel Vadot }; 545*c66ec88fSEmmanuel Vadot opp-1516800000 { 546*c66ec88fSEmmanuel Vadot opp-hz = /bits/ 64 <1516800000>; 547*c66ec88fSEmmanuel Vadot opp-microvolt = <1140000 905000 1140000>; 548*c66ec88fSEmmanuel Vadot opp-supported-hw = <0x70>; 549*c66ec88fSEmmanuel Vadot clock-latency-ns = <200000>; 550*c66ec88fSEmmanuel Vadot }; 551*c66ec88fSEmmanuel Vadot opp-1555200000 { 552*c66ec88fSEmmanuel Vadot opp-hz = /bits/ 64 <1555200000>; 553*c66ec88fSEmmanuel Vadot opp-microvolt = <1140000 905000 1140000>; 554*c66ec88fSEmmanuel Vadot opp-supported-hw = <0x7>; 555*c66ec88fSEmmanuel Vadot clock-latency-ns = <200000>; 556*c66ec88fSEmmanuel Vadot }; 557*c66ec88fSEmmanuel Vadot opp-1593600000 { 558*c66ec88fSEmmanuel Vadot opp-hz = /bits/ 64 <1593600000>; 559*c66ec88fSEmmanuel Vadot opp-microvolt = <1140000 905000 1140000>; 560*c66ec88fSEmmanuel Vadot opp-supported-hw = <0x70>; 561*c66ec88fSEmmanuel Vadot clock-latency-ns = <200000>; 562*c66ec88fSEmmanuel Vadot }; 563*c66ec88fSEmmanuel Vadot opp-1632000000 { 564*c66ec88fSEmmanuel Vadot opp-hz = /bits/ 64 <1632000000>; 565*c66ec88fSEmmanuel Vadot opp-microvolt = <1140000 905000 1140000>; 566*c66ec88fSEmmanuel Vadot opp-supported-hw = <0x7>; 567*c66ec88fSEmmanuel Vadot clock-latency-ns = <200000>; 568*c66ec88fSEmmanuel Vadot }; 569*c66ec88fSEmmanuel Vadot opp-1670400000 { 570*c66ec88fSEmmanuel Vadot opp-hz = /bits/ 64 <1670400000>; 571*c66ec88fSEmmanuel Vadot opp-microvolt = <1140000 905000 1140000>; 572*c66ec88fSEmmanuel Vadot opp-supported-hw = <0x70>; 573*c66ec88fSEmmanuel Vadot clock-latency-ns = <200000>; 574*c66ec88fSEmmanuel Vadot }; 575*c66ec88fSEmmanuel Vadot opp-1708800000 { 576*c66ec88fSEmmanuel Vadot opp-hz = /bits/ 64 <1708800000>; 577*c66ec88fSEmmanuel Vadot opp-microvolt = <1140000 905000 1140000>; 578*c66ec88fSEmmanuel Vadot opp-supported-hw = <0x7>; 579*c66ec88fSEmmanuel Vadot clock-latency-ns = <200000>; 580*c66ec88fSEmmanuel Vadot }; 581*c66ec88fSEmmanuel Vadot opp-1747200000 { 582*c66ec88fSEmmanuel Vadot opp-hz = /bits/ 64 <1747200000>; 583*c66ec88fSEmmanuel Vadot opp-microvolt = <1140000 905000 1140000>; 584*c66ec88fSEmmanuel Vadot opp-supported-hw = <0x70>; 585*c66ec88fSEmmanuel Vadot clock-latency-ns = <200000>; 586*c66ec88fSEmmanuel Vadot }; 587*c66ec88fSEmmanuel Vadot opp-1785600000 { 588*c66ec88fSEmmanuel Vadot opp-hz = /bits/ 64 <1785600000>; 589*c66ec88fSEmmanuel Vadot opp-microvolt = <1140000 905000 1140000>; 590*c66ec88fSEmmanuel Vadot opp-supported-hw = <0x7>; 591*c66ec88fSEmmanuel Vadot clock-latency-ns = <200000>; 592*c66ec88fSEmmanuel Vadot }; 593*c66ec88fSEmmanuel Vadot opp-1804800000 { 594*c66ec88fSEmmanuel Vadot opp-hz = /bits/ 64 <1804800000>; 595*c66ec88fSEmmanuel Vadot opp-microvolt = <1140000 905000 1140000>; 596*c66ec88fSEmmanuel Vadot opp-supported-hw = <0x6>; 597*c66ec88fSEmmanuel Vadot clock-latency-ns = <200000>; 598*c66ec88fSEmmanuel Vadot }; 599*c66ec88fSEmmanuel Vadot opp-1824000000 { 600*c66ec88fSEmmanuel Vadot opp-hz = /bits/ 64 <1824000000>; 601*c66ec88fSEmmanuel Vadot opp-microvolt = <1140000 905000 1140000>; 602*c66ec88fSEmmanuel Vadot opp-supported-hw = <0x71>; 603*c66ec88fSEmmanuel Vadot clock-latency-ns = <200000>; 604*c66ec88fSEmmanuel Vadot }; 605*c66ec88fSEmmanuel Vadot opp-1900800000 { 606*c66ec88fSEmmanuel Vadot opp-hz = /bits/ 64 <1900800000>; 607*c66ec88fSEmmanuel Vadot opp-microvolt = <1140000 905000 1140000>; 608*c66ec88fSEmmanuel Vadot opp-supported-hw = <0x74>; 609*c66ec88fSEmmanuel Vadot clock-latency-ns = <200000>; 610*c66ec88fSEmmanuel Vadot }; 611*c66ec88fSEmmanuel Vadot opp-1920000000 { 612*c66ec88fSEmmanuel Vadot opp-hz = /bits/ 64 <1920000000>; 613*c66ec88fSEmmanuel Vadot opp-microvolt = <1140000 905000 1140000>; 614*c66ec88fSEmmanuel Vadot opp-supported-hw = <0x1>; 615*c66ec88fSEmmanuel Vadot clock-latency-ns = <200000>; 616*c66ec88fSEmmanuel Vadot }; 617*c66ec88fSEmmanuel Vadot opp-1977600000 { 618*c66ec88fSEmmanuel Vadot opp-hz = /bits/ 64 <1977600000>; 619*c66ec88fSEmmanuel Vadot opp-microvolt = <1140000 905000 1140000>; 620*c66ec88fSEmmanuel Vadot opp-supported-hw = <0x30>; 621*c66ec88fSEmmanuel Vadot clock-latency-ns = <200000>; 622*c66ec88fSEmmanuel Vadot }; 623*c66ec88fSEmmanuel Vadot opp-1996800000 { 624*c66ec88fSEmmanuel Vadot opp-hz = /bits/ 64 <1996800000>; 625*c66ec88fSEmmanuel Vadot opp-microvolt = <1140000 905000 1140000>; 626*c66ec88fSEmmanuel Vadot opp-supported-hw = <0x1>; 627*c66ec88fSEmmanuel Vadot clock-latency-ns = <200000>; 628*c66ec88fSEmmanuel Vadot }; 629*c66ec88fSEmmanuel Vadot opp-2054400000 { 630*c66ec88fSEmmanuel Vadot opp-hz = /bits/ 64 <2054400000>; 631*c66ec88fSEmmanuel Vadot opp-microvolt = <1140000 905000 1140000>; 632*c66ec88fSEmmanuel Vadot opp-supported-hw = <0x30>; 633*c66ec88fSEmmanuel Vadot clock-latency-ns = <200000>; 634*c66ec88fSEmmanuel Vadot }; 635*c66ec88fSEmmanuel Vadot opp-2073600000 { 636*c66ec88fSEmmanuel Vadot opp-hz = /bits/ 64 <2073600000>; 637*c66ec88fSEmmanuel Vadot opp-microvolt = <1140000 905000 1140000>; 638*c66ec88fSEmmanuel Vadot opp-supported-hw = <0x1>; 639*c66ec88fSEmmanuel Vadot clock-latency-ns = <200000>; 640*c66ec88fSEmmanuel Vadot }; 641*c66ec88fSEmmanuel Vadot opp-2150400000 { 642*c66ec88fSEmmanuel Vadot opp-hz = /bits/ 64 <2150400000>; 643*c66ec88fSEmmanuel Vadot opp-microvolt = <1140000 905000 1140000>; 644*c66ec88fSEmmanuel Vadot opp-supported-hw = <0x31>; 645*c66ec88fSEmmanuel Vadot clock-latency-ns = <200000>; 646*c66ec88fSEmmanuel Vadot }; 647*c66ec88fSEmmanuel Vadot opp-2246400000 { 648*c66ec88fSEmmanuel Vadot opp-hz = /bits/ 64 <2246400000>; 649*c66ec88fSEmmanuel Vadot opp-microvolt = <1140000 905000 1140000>; 650*c66ec88fSEmmanuel Vadot opp-supported-hw = <0x10>; 651*c66ec88fSEmmanuel Vadot clock-latency-ns = <200000>; 652*c66ec88fSEmmanuel Vadot }; 653*c66ec88fSEmmanuel Vadot opp-2342400000 { 654*c66ec88fSEmmanuel Vadot opp-hz = /bits/ 64 <2342400000>; 655*c66ec88fSEmmanuel Vadot opp-microvolt = <1140000 905000 1140000>; 656*c66ec88fSEmmanuel Vadot opp-supported-hw = <0x10>; 657*c66ec88fSEmmanuel Vadot clock-latency-ns = <200000>; 658*c66ec88fSEmmanuel Vadot }; 659*c66ec88fSEmmanuel Vadot }; 660*c66ec88fSEmmanuel Vadot 661*c66ec88fSEmmanuel Vadot.... 662*c66ec88fSEmmanuel Vadot 663*c66ec88fSEmmanuel Vadotreserved-memory { 664*c66ec88fSEmmanuel Vadot #address-cells = <2>; 665*c66ec88fSEmmanuel Vadot #size-cells = <2>; 666*c66ec88fSEmmanuel Vadot ranges; 667*c66ec88fSEmmanuel Vadot.... 668*c66ec88fSEmmanuel Vadot smem_mem: smem-mem@86000000 { 669*c66ec88fSEmmanuel Vadot reg = <0x0 0x86000000 0x0 0x200000>; 670*c66ec88fSEmmanuel Vadot no-map; 671*c66ec88fSEmmanuel Vadot }; 672*c66ec88fSEmmanuel Vadot.... 673*c66ec88fSEmmanuel Vadot}; 674*c66ec88fSEmmanuel Vadot 675*c66ec88fSEmmanuel Vadotsmem { 676*c66ec88fSEmmanuel Vadot compatible = "qcom,smem"; 677*c66ec88fSEmmanuel Vadot memory-region = <&smem_mem>; 678*c66ec88fSEmmanuel Vadot hwlocks = <&tcsr_mutex 3>; 679*c66ec88fSEmmanuel Vadot}; 680*c66ec88fSEmmanuel Vadot 681*c66ec88fSEmmanuel Vadotsoc { 682*c66ec88fSEmmanuel Vadot.... 683*c66ec88fSEmmanuel Vadot qfprom: qfprom@74000 { 684*c66ec88fSEmmanuel Vadot compatible = "qcom,qfprom"; 685*c66ec88fSEmmanuel Vadot reg = <0x00074000 0x8ff>; 686*c66ec88fSEmmanuel Vadot #address-cells = <1>; 687*c66ec88fSEmmanuel Vadot #size-cells = <1>; 688*c66ec88fSEmmanuel Vadot .... 689*c66ec88fSEmmanuel Vadot speedbin_efuse: speedbin@133 { 690*c66ec88fSEmmanuel Vadot reg = <0x133 0x1>; 691*c66ec88fSEmmanuel Vadot bits = <5 3>; 692*c66ec88fSEmmanuel Vadot }; 693*c66ec88fSEmmanuel Vadot }; 694*c66ec88fSEmmanuel Vadot}; 695*c66ec88fSEmmanuel Vadot 696*c66ec88fSEmmanuel VadotExample 2: 697*c66ec88fSEmmanuel Vadot--------- 698*c66ec88fSEmmanuel Vadot 699*c66ec88fSEmmanuel Vadot cpus { 700*c66ec88fSEmmanuel Vadot #address-cells = <1>; 701*c66ec88fSEmmanuel Vadot #size-cells = <0>; 702*c66ec88fSEmmanuel Vadot 703*c66ec88fSEmmanuel Vadot CPU0: cpu@100 { 704*c66ec88fSEmmanuel Vadot device_type = "cpu"; 705*c66ec88fSEmmanuel Vadot compatible = "arm,cortex-a53"; 706*c66ec88fSEmmanuel Vadot reg = <0x100>; 707*c66ec88fSEmmanuel Vadot .... 708*c66ec88fSEmmanuel Vadot clocks = <&apcs_glb>; 709*c66ec88fSEmmanuel Vadot operating-points-v2 = <&cpu_opp_table>; 710*c66ec88fSEmmanuel Vadot power-domains = <&cpr>; 711*c66ec88fSEmmanuel Vadot power-domain-names = "cpr"; 712*c66ec88fSEmmanuel Vadot }; 713*c66ec88fSEmmanuel Vadot 714*c66ec88fSEmmanuel Vadot CPU1: cpu@101 { 715*c66ec88fSEmmanuel Vadot device_type = "cpu"; 716*c66ec88fSEmmanuel Vadot compatible = "arm,cortex-a53"; 717*c66ec88fSEmmanuel Vadot reg = <0x101>; 718*c66ec88fSEmmanuel Vadot .... 719*c66ec88fSEmmanuel Vadot clocks = <&apcs_glb>; 720*c66ec88fSEmmanuel Vadot operating-points-v2 = <&cpu_opp_table>; 721*c66ec88fSEmmanuel Vadot power-domains = <&cpr>; 722*c66ec88fSEmmanuel Vadot power-domain-names = "cpr"; 723*c66ec88fSEmmanuel Vadot }; 724*c66ec88fSEmmanuel Vadot 725*c66ec88fSEmmanuel Vadot CPU2: cpu@102 { 726*c66ec88fSEmmanuel Vadot device_type = "cpu"; 727*c66ec88fSEmmanuel Vadot compatible = "arm,cortex-a53"; 728*c66ec88fSEmmanuel Vadot reg = <0x102>; 729*c66ec88fSEmmanuel Vadot .... 730*c66ec88fSEmmanuel Vadot clocks = <&apcs_glb>; 731*c66ec88fSEmmanuel Vadot operating-points-v2 = <&cpu_opp_table>; 732*c66ec88fSEmmanuel Vadot power-domains = <&cpr>; 733*c66ec88fSEmmanuel Vadot power-domain-names = "cpr"; 734*c66ec88fSEmmanuel Vadot }; 735*c66ec88fSEmmanuel Vadot 736*c66ec88fSEmmanuel Vadot CPU3: cpu@103 { 737*c66ec88fSEmmanuel Vadot device_type = "cpu"; 738*c66ec88fSEmmanuel Vadot compatible = "arm,cortex-a53"; 739*c66ec88fSEmmanuel Vadot reg = <0x103>; 740*c66ec88fSEmmanuel Vadot .... 741*c66ec88fSEmmanuel Vadot clocks = <&apcs_glb>; 742*c66ec88fSEmmanuel Vadot operating-points-v2 = <&cpu_opp_table>; 743*c66ec88fSEmmanuel Vadot power-domains = <&cpr>; 744*c66ec88fSEmmanuel Vadot power-domain-names = "cpr"; 745*c66ec88fSEmmanuel Vadot }; 746*c66ec88fSEmmanuel Vadot }; 747*c66ec88fSEmmanuel Vadot 748*c66ec88fSEmmanuel Vadot cpu_opp_table: cpu-opp-table { 749*c66ec88fSEmmanuel Vadot compatible = "operating-points-v2-kryo-cpu"; 750*c66ec88fSEmmanuel Vadot opp-shared; 751*c66ec88fSEmmanuel Vadot 752*c66ec88fSEmmanuel Vadot opp-1094400000 { 753*c66ec88fSEmmanuel Vadot opp-hz = /bits/ 64 <1094400000>; 754*c66ec88fSEmmanuel Vadot required-opps = <&cpr_opp1>; 755*c66ec88fSEmmanuel Vadot }; 756*c66ec88fSEmmanuel Vadot opp-1248000000 { 757*c66ec88fSEmmanuel Vadot opp-hz = /bits/ 64 <1248000000>; 758*c66ec88fSEmmanuel Vadot required-opps = <&cpr_opp2>; 759*c66ec88fSEmmanuel Vadot }; 760*c66ec88fSEmmanuel Vadot opp-1401600000 { 761*c66ec88fSEmmanuel Vadot opp-hz = /bits/ 64 <1401600000>; 762*c66ec88fSEmmanuel Vadot required-opps = <&cpr_opp3>; 763*c66ec88fSEmmanuel Vadot }; 764*c66ec88fSEmmanuel Vadot }; 765*c66ec88fSEmmanuel Vadot 766*c66ec88fSEmmanuel Vadot cpr_opp_table: cpr-opp-table { 767*c66ec88fSEmmanuel Vadot compatible = "operating-points-v2-qcom-level"; 768*c66ec88fSEmmanuel Vadot 769*c66ec88fSEmmanuel Vadot cpr_opp1: opp1 { 770*c66ec88fSEmmanuel Vadot opp-level = <1>; 771*c66ec88fSEmmanuel Vadot qcom,opp-fuse-level = <1>; 772*c66ec88fSEmmanuel Vadot }; 773*c66ec88fSEmmanuel Vadot cpr_opp2: opp2 { 774*c66ec88fSEmmanuel Vadot opp-level = <2>; 775*c66ec88fSEmmanuel Vadot qcom,opp-fuse-level = <2>; 776*c66ec88fSEmmanuel Vadot }; 777*c66ec88fSEmmanuel Vadot cpr_opp3: opp3 { 778*c66ec88fSEmmanuel Vadot opp-level = <3>; 779*c66ec88fSEmmanuel Vadot qcom,opp-fuse-level = <3>; 780*c66ec88fSEmmanuel Vadot }; 781*c66ec88fSEmmanuel Vadot }; 782*c66ec88fSEmmanuel Vadot 783*c66ec88fSEmmanuel Vadot.... 784*c66ec88fSEmmanuel Vadot 785*c66ec88fSEmmanuel Vadotsoc { 786*c66ec88fSEmmanuel Vadot.... 787*c66ec88fSEmmanuel Vadot cpr: power-controller@b018000 { 788*c66ec88fSEmmanuel Vadot compatible = "qcom,qcs404-cpr", "qcom,cpr"; 789*c66ec88fSEmmanuel Vadot reg = <0x0b018000 0x1000>; 790*c66ec88fSEmmanuel Vadot .... 791*c66ec88fSEmmanuel Vadot vdd-apc-supply = <&pms405_s3>; 792*c66ec88fSEmmanuel Vadot #power-domain-cells = <0>; 793*c66ec88fSEmmanuel Vadot operating-points-v2 = <&cpr_opp_table>; 794*c66ec88fSEmmanuel Vadot .... 795*c66ec88fSEmmanuel Vadot }; 796*c66ec88fSEmmanuel Vadot}; 797