]> git.ipfire.org Git - thirdparty/u-boot.git/blob - src/arm64/qcom/msm8996pro.dtsi
Squashed 'dts/upstream/' content from commit aaba2d45dc2a
[thirdparty/u-boot.git] / src / arm64 / qcom / msm8996pro.dtsi
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 };