1 // SPDX-License-Identifier: BSD-3-Clause
3 * Copyright (c) 2022, Linaro Limited
6 #include "msm8996.dtsi"
9 /delete-node/ opp-table-cluster0;
10 /delete-node/ opp-table-cluster1;
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.
18 cluster0_opp: opp-table-cluster0 {
19 compatible = "operating-points-v2-kryo-cpu";
20 nvmem-cells = <&speedbin_efuse>;
24 opp-hz = /bits/ 64 <307200000>;
25 opp-supported-hw = <0x70>;
26 clock-latency-ns = <200000>;
27 opp-peak-kBps = <192000>;
30 opp-hz = /bits/ 64 <384000000>;
31 opp-supported-hw = <0x70>;
32 clock-latency-ns = <200000>;
33 opp-peak-kBps = <192000>;
36 opp-hz = /bits/ 64 <460800000>;
37 opp-supported-hw = <0x70>;
38 clock-latency-ns = <200000>;
39 opp-peak-kBps = <192000>;
42 opp-hz = /bits/ 64 <537600000>;
43 opp-supported-hw = <0x70>;
44 clock-latency-ns = <200000>;
45 opp-peak-kBps = <192000>;
48 opp-hz = /bits/ 64 <614400000>;
49 opp-supported-hw = <0x70>;
50 clock-latency-ns = <200000>;
51 opp-peak-kBps = <192000>;
54 opp-hz = /bits/ 64 <691200000>;
55 opp-supported-hw = <0x70>;
56 clock-latency-ns = <200000>;
57 opp-peak-kBps = <307200>;
60 opp-hz = /bits/ 64 <768000000>;
61 opp-supported-hw = <0x70>;
62 clock-latency-ns = <200000>;
63 opp-peak-kBps = <307200>;
66 opp-hz = /bits/ 64 <844800000>;
67 opp-supported-hw = <0x70>;
68 clock-latency-ns = <200000>;
69 opp-peak-kBps = <384000>;
72 opp-hz = /bits/ 64 <902400000>;
73 opp-supported-hw = <0x70>;
74 clock-latency-ns = <200000>;
75 opp-peak-kBps = <441600>;
78 opp-hz = /bits/ 64 <979200000>;
79 opp-supported-hw = <0x70>;
80 clock-latency-ns = <200000>;
81 opp-peak-kBps = <537600>;
84 opp-hz = /bits/ 64 <1056000000>;
85 opp-supported-hw = <0x70>;
86 clock-latency-ns = <200000>;
87 opp-peak-kBps = <614400>;
90 opp-hz = /bits/ 64 <1132800000>;
91 opp-supported-hw = <0x70>;
92 clock-latency-ns = <200000>;
93 opp-peak-kBps = <691200>;
96 opp-hz = /bits/ 64 <1209600000>;
97 opp-supported-hw = <0x70>;
98 clock-latency-ns = <200000>;
99 opp-peak-kBps = <768000>;
102 opp-hz = /bits/ 64 <1286400000>;
103 opp-supported-hw = <0x70>;
104 clock-latency-ns = <200000>;
105 opp-peak-kBps = <844800>;
108 opp-hz = /bits/ 64 <1363200000>;
109 opp-supported-hw = <0x70>;
110 clock-latency-ns = <200000>;
111 opp-peak-kBps = <902400>;
114 opp-hz = /bits/ 64 <1440000000>;
115 opp-supported-hw = <0x70>;
116 clock-latency-ns = <200000>;
117 opp-peak-kBps = <979200>;
120 opp-hz = /bits/ 64 <1516800000>;
121 opp-supported-hw = <0x70>;
122 clock-latency-ns = <200000>;
123 opp-peak-kBps = <1132800>;
126 opp-hz = /bits/ 64 <1593600000>;
127 opp-supported-hw = <0x70>;
128 clock-latency-ns = <200000>;
129 opp-peak-kBps = <1190400>;
132 opp-hz = /bits/ 64 <1996800000>;
133 opp-supported-hw = <0x20>;
134 clock-latency-ns = <200000>;
135 opp-peak-kBps = <1516800>;
138 opp-hz = /bits/ 64 <2188800000>;
139 opp-supported-hw = <0x10>;
140 clock-latency-ns = <200000>;
141 opp-peak-kBps = <1593600>;
145 cluster1_opp: opp-table-cluster1 {
146 compatible = "operating-points-v2-kryo-cpu";
147 nvmem-cells = <&speedbin_efuse>;
151 opp-hz = /bits/ 64 <307200000>;
152 opp-supported-hw = <0x70>;
153 clock-latency-ns = <200000>;
154 opp-peak-kBps = <192000>;
157 opp-hz = /bits/ 64 <384000000>;
158 opp-supported-hw = <0x70>;
159 clock-latency-ns = <200000>;
160 opp-peak-kBps = <192000>;
163 opp-hz = /bits/ 64 <460800000>;
164 opp-supported-hw = <0x70>;
165 clock-latency-ns = <200000>;
166 opp-peak-kBps = <192000>;
169 opp-hz = /bits/ 64 <537600000>;
170 opp-supported-hw = <0x70>;
171 clock-latency-ns = <200000>;
172 opp-peak-kBps = <192000>;
175 opp-hz = /bits/ 64 <614400000>;
176 opp-supported-hw = <0x70>;
177 clock-latency-ns = <200000>;
178 opp-peak-kBps = <192000>;
181 opp-hz = /bits/ 64 <691200000>;
182 opp-supported-hw = <0x70>;
183 clock-latency-ns = <200000>;
184 opp-peak-kBps = <307200>;
187 opp-hz = /bits/ 64 <748800000>;
188 opp-supported-hw = <0x70>;
189 clock-latency-ns = <200000>;
190 opp-peak-kBps = <307200>;
193 opp-hz = /bits/ 64 <825600000>;
194 opp-supported-hw = <0x70>;
195 clock-latency-ns = <200000>;
196 opp-peak-kBps = <384000>;
199 opp-hz = /bits/ 64 <902400000>;
200 opp-supported-hw = <0x70>;
201 clock-latency-ns = <200000>;
202 opp-peak-kBps = <441600>;
205 opp-hz = /bits/ 64 <979200000>;
206 opp-supported-hw = <0x70>;
207 clock-latency-ns = <200000>;
208 opp-peak-kBps = <441600>;
211 opp-hz = /bits/ 64 <1056000000>;
212 opp-supported-hw = <0x70>;
213 clock-latency-ns = <200000>;
214 opp-peak-kBps = <537600>;
217 opp-hz = /bits/ 64 <1132800000>;
218 opp-supported-hw = <0x70>;
219 clock-latency-ns = <200000>;
220 opp-peak-kBps = <614400>;
223 opp-hz = /bits/ 64 <1209600000>;
224 opp-supported-hw = <0x70>;
225 clock-latency-ns = <200000>;
226 opp-peak-kBps = <691200>;
229 opp-hz = /bits/ 64 <1286400000>;
230 opp-supported-hw = <0x70>;
231 clock-latency-ns = <200000>;
232 opp-peak-kBps = <768000>;
235 opp-hz = /bits/ 64 <1363200000>;
236 opp-supported-hw = <0x70>;
237 clock-latency-ns = <200000>;
238 opp-peak-kBps = <844800>;
241 opp-hz = /bits/ 64 <1440000000>;
242 opp-supported-hw = <0x70>;
243 clock-latency-ns = <200000>;
244 opp-peak-kBps = <902400>;
247 opp-hz = /bits/ 64 <1516800000>;
248 opp-supported-hw = <0x70>;
249 clock-latency-ns = <200000>;
250 opp-peak-kBps = <979200>;
253 opp-hz = /bits/ 64 <1593600000>;
254 opp-supported-hw = <0x70>;
255 clock-latency-ns = <200000>;
256 opp-peak-kBps = <1056000>;
259 opp-hz = /bits/ 64 <1670400000>;
260 opp-supported-hw = <0x70>;
261 clock-latency-ns = <200000>;
262 opp-peak-kBps = <1132800>;
265 opp-hz = /bits/ 64 <1747200000>;
266 opp-supported-hw = <0x70>;
267 clock-latency-ns = <200000>;
268 opp-peak-kBps = <1190400>;
271 opp-hz = /bits/ 64 <1824000000>;
272 opp-supported-hw = <0x70>;
273 clock-latency-ns = <200000>;
274 opp-peak-kBps = <1286400>;
277 opp-hz = /bits/ 64 <1900800000>;
278 opp-supported-hw = <0x70>;
279 clock-latency-ns = <200000>;
280 opp-peak-kBps = <1363200>;
283 opp-hz = /bits/ 64 <1977600000>;
284 opp-supported-hw = <0x30>;
285 clock-latency-ns = <200000>;
286 opp-peak-kBps = <1440000>;
289 opp-hz = /bits/ 64 <2054400000>;
290 opp-supported-hw = <0x30>;
291 clock-latency-ns = <200000>;
292 opp-peak-kBps = <1516800>;
295 opp-hz = /bits/ 64 <2150400000>;
296 opp-supported-hw = <0x30>;
297 clock-latency-ns = <200000>;
298 opp-peak-kBps = <1593600>;
301 opp-hz = /bits/ 64 <2246400000>;
302 opp-supported-hw = <0x10>;
303 clock-latency-ns = <200000>;
304 opp-peak-kBps = <1593600>;
307 opp-hz = /bits/ 64 <2342400000>;
308 opp-supported-hw = <0x10>;
309 clock-latency-ns = <200000>;
310 opp-peak-kBps = <1593600>;
317 * Unlike CPU opp tables, the GPU driver does not shift speed bins.
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
326 opp-hz = /bits/ 64 <652800000>;
327 opp-supported-hw = <0x01>;
330 opp-hz = /bits/ 64 <624000000>;
331 opp-supported-hw = <0x03>;
334 opp-hz = /bits/ 64 <560000000>;
335 opp-supported-hw = <0x03>;
337 /* The rest is inherited from msm8996 */
341 compatible = "qcom,msm8996pro-cbf";