1// SPDX-License-Identifier: BSD-3-Clause 2/* 3 * Copyright (c) 2022, Linaro Limited 4 */ 5 6#include "msm8996.dtsi" 7 8/ { 9 /delete-node/ opp-table-cluster0; 10 /delete-node/ opp-table-cluster1; 11 12 /* 13 * On MSM8996 Pro the cpufreq driver shifts speed bins into the high 14 * nibble of supported hw, so speed bin 0 becomes 0x10, speed bin 1 15 * becomes 0x20, speed 2 becomes 0x40. 16 */ 17 18 cluster0_opp: opp-table-cluster0 { 19 compatible = "operating-points-v2-kryo-cpu"; 20 nvmem-cells = <&speedbin_efuse>; 21 opp-shared; 22 23 opp-307200000 { 24 opp-hz = /bits/ 64 <307200000>; 25 opp-supported-hw = <0x70>; 26 clock-latency-ns = <200000>; 27 opp-peak-kBps = <192000>; 28 }; 29 opp-384000000 { 30 opp-hz = /bits/ 64 <384000000>; 31 opp-supported-hw = <0x70>; 32 clock-latency-ns = <200000>; 33 opp-peak-kBps = <192000>; 34 }; 35 opp-460800000 { 36 opp-hz = /bits/ 64 <460800000>; 37 opp-supported-hw = <0x70>; 38 clock-latency-ns = <200000>; 39 opp-peak-kBps = <192000>; 40 }; 41 opp-537600000 { 42 opp-hz = /bits/ 64 <537600000>; 43 opp-supported-hw = <0x70>; 44 clock-latency-ns = <200000>; 45 opp-peak-kBps = <192000>; 46 }; 47 opp-614400000 { 48 opp-hz = /bits/ 64 <614400000>; 49 opp-supported-hw = <0x70>; 50 clock-latency-ns = <200000>; 51 opp-peak-kBps = <192000>; 52 }; 53 opp-691200000 { 54 opp-hz = /bits/ 64 <691200000>; 55 opp-supported-hw = <0x70>; 56 clock-latency-ns = <200000>; 57 opp-peak-kBps = <307200>; 58 }; 59 opp-768000000 { 60 opp-hz = /bits/ 64 <768000000>; 61 opp-supported-hw = <0x70>; 62 clock-latency-ns = <200000>; 63 opp-peak-kBps = <307200>; 64 }; 65 opp-844800000 { 66 opp-hz = /bits/ 64 <844800000>; 67 opp-supported-hw = <0x70>; 68 clock-latency-ns = <200000>; 69 opp-peak-kBps = <384000>; 70 }; 71 opp-902400000 { 72 opp-hz = /bits/ 64 <902400000>; 73 opp-supported-hw = <0x70>; 74 clock-latency-ns = <200000>; 75 opp-peak-kBps = <441600>; 76 }; 77 opp-979200000 { 78 opp-hz = /bits/ 64 <979200000>; 79 opp-supported-hw = <0x70>; 80 clock-latency-ns = <200000>; 81 opp-peak-kBps = <537600>; 82 }; 83 opp-1056000000 { 84 opp-hz = /bits/ 64 <1056000000>; 85 opp-supported-hw = <0x70>; 86 clock-latency-ns = <200000>; 87 opp-peak-kBps = <614400>; 88 }; 89 opp-1132800000 { 90 opp-hz = /bits/ 64 <1132800000>; 91 opp-supported-hw = <0x70>; 92 clock-latency-ns = <200000>; 93 opp-peak-kBps = <691200>; 94 }; 95 opp-1209600000 { 96 opp-hz = /bits/ 64 <1209600000>; 97 opp-supported-hw = <0x70>; 98 clock-latency-ns = <200000>; 99 opp-peak-kBps = <768000>; 100 }; 101 opp-1286400000 { 102 opp-hz = /bits/ 64 <1286400000>; 103 opp-supported-hw = <0x70>; 104 clock-latency-ns = <200000>; 105 opp-peak-kBps = <844800>; 106 }; 107 opp-1363200000 { 108 opp-hz = /bits/ 64 <1363200000>; 109 opp-supported-hw = <0x70>; 110 clock-latency-ns = <200000>; 111 opp-peak-kBps = <902400>; 112 }; 113 opp-1440000000 { 114 opp-hz = /bits/ 64 <1440000000>; 115 opp-supported-hw = <0x70>; 116 clock-latency-ns = <200000>; 117 opp-peak-kBps = <979200>; 118 }; 119 opp-1516800000 { 120 opp-hz = /bits/ 64 <1516800000>; 121 opp-supported-hw = <0x70>; 122 clock-latency-ns = <200000>; 123 opp-peak-kBps = <1132800>; 124 }; 125 opp-1593600000 { 126 opp-hz = /bits/ 64 <1593600000>; 127 opp-supported-hw = <0x70>; 128 clock-latency-ns = <200000>; 129 opp-peak-kBps = <1190400>; 130 }; 131 opp-1996800000 { 132 opp-hz = /bits/ 64 <1996800000>; 133 opp-supported-hw = <0x20>; 134 clock-latency-ns = <200000>; 135 opp-peak-kBps = <1516800>; 136 }; 137 opp-2188800000 { 138 opp-hz = /bits/ 64 <2188800000>; 139 opp-supported-hw = <0x10>; 140 clock-latency-ns = <200000>; 141 opp-peak-kBps = <1593600>; 142 }; 143 }; 144 145 cluster1_opp: opp-table-cluster1 { 146 compatible = "operating-points-v2-kryo-cpu"; 147 nvmem-cells = <&speedbin_efuse>; 148 opp-shared; 149 150 opp-307200000 { 151 opp-hz = /bits/ 64 <307200000>; 152 opp-supported-hw = <0x70>; 153 clock-latency-ns = <200000>; 154 opp-peak-kBps = <192000>; 155 }; 156 opp-384000000 { 157 opp-hz = /bits/ 64 <384000000>; 158 opp-supported-hw = <0x70>; 159 clock-latency-ns = <200000>; 160 opp-peak-kBps = <192000>; 161 }; 162 opp-460800000 { 163 opp-hz = /bits/ 64 <460800000>; 164 opp-supported-hw = <0x70>; 165 clock-latency-ns = <200000>; 166 opp-peak-kBps = <192000>; 167 }; 168 opp-537600000 { 169 opp-hz = /bits/ 64 <537600000>; 170 opp-supported-hw = <0x70>; 171 clock-latency-ns = <200000>; 172 opp-peak-kBps = <192000>; 173 }; 174 opp-614400000 { 175 opp-hz = /bits/ 64 <614400000>; 176 opp-supported-hw = <0x70>; 177 clock-latency-ns = <200000>; 178 opp-peak-kBps = <192000>; 179 }; 180 opp-691200000 { 181 opp-hz = /bits/ 64 <691200000>; 182 opp-supported-hw = <0x70>; 183 clock-latency-ns = <200000>; 184 opp-peak-kBps = <307200>; 185 }; 186 opp-748800000 { 187 opp-hz = /bits/ 64 <748800000>; 188 opp-supported-hw = <0x70>; 189 clock-latency-ns = <200000>; 190 opp-peak-kBps = <307200>; 191 }; 192 opp-825600000 { 193 opp-hz = /bits/ 64 <825600000>; 194 opp-supported-hw = <0x70>; 195 clock-latency-ns = <200000>; 196 opp-peak-kBps = <384000>; 197 }; 198 opp-902400000 { 199 opp-hz = /bits/ 64 <902400000>; 200 opp-supported-hw = <0x70>; 201 clock-latency-ns = <200000>; 202 opp-peak-kBps = <441600>; 203 }; 204 opp-979200000 { 205 opp-hz = /bits/ 64 <979200000>; 206 opp-supported-hw = <0x70>; 207 clock-latency-ns = <200000>; 208 opp-peak-kBps = <441600>; 209 }; 210 opp-1056000000 { 211 opp-hz = /bits/ 64 <1056000000>; 212 opp-supported-hw = <0x70>; 213 clock-latency-ns = <200000>; 214 opp-peak-kBps = <537600>; 215 }; 216 opp-1132800000 { 217 opp-hz = /bits/ 64 <1132800000>; 218 opp-supported-hw = <0x70>; 219 clock-latency-ns = <200000>; 220 opp-peak-kBps = <614400>; 221 }; 222 opp-1209600000 { 223 opp-hz = /bits/ 64 <1209600000>; 224 opp-supported-hw = <0x70>; 225 clock-latency-ns = <200000>; 226 opp-peak-kBps = <691200>; 227 }; 228 opp-1286400000 { 229 opp-hz = /bits/ 64 <1286400000>; 230 opp-supported-hw = <0x70>; 231 clock-latency-ns = <200000>; 232 opp-peak-kBps = <768000>; 233 }; 234 opp-1363200000 { 235 opp-hz = /bits/ 64 <1363200000>; 236 opp-supported-hw = <0x70>; 237 clock-latency-ns = <200000>; 238 opp-peak-kBps = <844800>; 239 }; 240 opp-1440000000 { 241 opp-hz = /bits/ 64 <1440000000>; 242 opp-supported-hw = <0x70>; 243 clock-latency-ns = <200000>; 244 opp-peak-kBps = <902400>; 245 }; 246 opp-1516800000 { 247 opp-hz = /bits/ 64 <1516800000>; 248 opp-supported-hw = <0x70>; 249 clock-latency-ns = <200000>; 250 opp-peak-kBps = <979200>; 251 }; 252 opp-1593600000 { 253 opp-hz = /bits/ 64 <1593600000>; 254 opp-supported-hw = <0x70>; 255 clock-latency-ns = <200000>; 256 opp-peak-kBps = <1056000>; 257 }; 258 opp-1670400000 { 259 opp-hz = /bits/ 64 <1670400000>; 260 opp-supported-hw = <0x70>; 261 clock-latency-ns = <200000>; 262 opp-peak-kBps = <1132800>; 263 }; 264 opp-1747200000 { 265 opp-hz = /bits/ 64 <1747200000>; 266 opp-supported-hw = <0x70>; 267 clock-latency-ns = <200000>; 268 opp-peak-kBps = <1190400>; 269 }; 270 opp-1824000000 { 271 opp-hz = /bits/ 64 <1824000000>; 272 opp-supported-hw = <0x70>; 273 clock-latency-ns = <200000>; 274 opp-peak-kBps = <1286400>; 275 }; 276 opp-1900800000 { 277 opp-hz = /bits/ 64 <1900800000>; 278 opp-supported-hw = <0x70>; 279 clock-latency-ns = <200000>; 280 opp-peak-kBps = <1363200>; 281 }; 282 opp-1977600000 { 283 opp-hz = /bits/ 64 <1977600000>; 284 opp-supported-hw = <0x30>; 285 clock-latency-ns = <200000>; 286 opp-peak-kBps = <1440000>; 287 }; 288 opp-2054400000 { 289 opp-hz = /bits/ 64 <2054400000>; 290 opp-supported-hw = <0x30>; 291 clock-latency-ns = <200000>; 292 opp-peak-kBps = <1516800>; 293 }; 294 opp-2150400000 { 295 opp-hz = /bits/ 64 <2150400000>; 296 opp-supported-hw = <0x30>; 297 clock-latency-ns = <200000>; 298 opp-peak-kBps = <1593600>; 299 }; 300 opp-2246400000 { 301 opp-hz = /bits/ 64 <2246400000>; 302 opp-supported-hw = <0x10>; 303 clock-latency-ns = <200000>; 304 opp-peak-kBps = <1593600>; 305 }; 306 opp-2342400000 { 307 opp-hz = /bits/ 64 <2342400000>; 308 opp-supported-hw = <0x10>; 309 clock-latency-ns = <200000>; 310 opp-peak-kBps = <1593600>; 311 }; 312 }; 313}; 314 315&gpu_opp_table { 316 /* 317 * Unlike CPU opp tables, the GPU driver does not shift speed bins. 318 * 319 * 652.8 Mhz is available on speed bin 0 only. 320 * 624 Mhz and 560 Mhz are available on speed bins 0 and 1. 321 * All the rest are available on all bins of the hardware (like on 322 * plain 8996). 323 */ 324 325 opp-652800000 { 326 opp-hz = /bits/ 64 <652800000>; 327 opp-supported-hw = <0x01>; 328 }; 329 opp-624000000 { 330 opp-hz = /bits/ 64 <624000000>; 331 opp-supported-hw = <0x03>; 332 }; 333 opp-560000000 { 334 opp-hz = /bits/ 64 <560000000>; 335 opp-supported-hw = <0x03>; 336 }; 337 /* The rest is inherited from msm8996 */ 338}; 339 340&cbf { 341 compatible = "qcom,msm8996pro-cbf"; 342}; 343