1*8898c974SYassine Oudjana// SPDX-License-Identifier: BSD-3-Clause
2*8898c974SYassine Oudjana/*
3*8898c974SYassine Oudjana * Copyright (c) 2022, Linaro Limited
4*8898c974SYassine Oudjana */
5*8898c974SYassine Oudjana
6*8898c974SYassine Oudjana#include "msm8996.dtsi"
7*8898c974SYassine Oudjana
8*8898c974SYassine Oudjana/ {
9*8898c974SYassine Oudjana	/delete-node/ opp-table-cluster0;
10*8898c974SYassine Oudjana	/delete-node/ opp-table-cluster1;
11*8898c974SYassine Oudjana
12*8898c974SYassine Oudjana	/*
13*8898c974SYassine Oudjana	 * On MSM8996 Pro the cpufreq driver shifts speed bins into the high
14*8898c974SYassine Oudjana	 * nibble of supported hw, so speed bin 0 becomes 0x10, speed bin 1
15*8898c974SYassine Oudjana	 * becomes 0x20, speed 2 becomes 0x40.
16*8898c974SYassine Oudjana	 */
17*8898c974SYassine Oudjana
18*8898c974SYassine Oudjana	cluster0_opp: opp-table-cluster0 {
19*8898c974SYassine Oudjana		compatible = "operating-points-v2-kryo-cpu";
20*8898c974SYassine Oudjana		nvmem-cells = <&speedbin_efuse>;
21*8898c974SYassine Oudjana		opp-shared;
22*8898c974SYassine Oudjana
23*8898c974SYassine Oudjana		opp-307200000 {
24*8898c974SYassine Oudjana			opp-hz = /bits/ 64 <307200000>;
25*8898c974SYassine Oudjana			opp-supported-hw = <0x70>;
26*8898c974SYassine Oudjana			clock-latency-ns = <200000>;
27*8898c974SYassine Oudjana		};
28*8898c974SYassine Oudjana		opp-384000000 {
29*8898c974SYassine Oudjana			opp-hz = /bits/ 64 <384000000>;
30*8898c974SYassine Oudjana			opp-supported-hw = <0x70>;
31*8898c974SYassine Oudjana			clock-latency-ns = <200000>;
32*8898c974SYassine Oudjana		};
33*8898c974SYassine Oudjana		opp-460800000 {
34*8898c974SYassine Oudjana			opp-hz = /bits/ 64 <460800000>;
35*8898c974SYassine Oudjana			opp-supported-hw = <0x70>;
36*8898c974SYassine Oudjana			clock-latency-ns = <200000>;
37*8898c974SYassine Oudjana		};
38*8898c974SYassine Oudjana		opp-537600000 {
39*8898c974SYassine Oudjana			opp-hz = /bits/ 64 <537600000>;
40*8898c974SYassine Oudjana			opp-supported-hw = <0x70>;
41*8898c974SYassine Oudjana			clock-latency-ns = <200000>;
42*8898c974SYassine Oudjana		};
43*8898c974SYassine Oudjana		opp-614400000 {
44*8898c974SYassine Oudjana			opp-hz = /bits/ 64 <614400000>;
45*8898c974SYassine Oudjana			opp-supported-hw = <0x70>;
46*8898c974SYassine Oudjana			clock-latency-ns = <200000>;
47*8898c974SYassine Oudjana		};
48*8898c974SYassine Oudjana		opp-691200000 {
49*8898c974SYassine Oudjana			opp-hz = /bits/ 64 <691200000>;
50*8898c974SYassine Oudjana			opp-supported-hw = <0x70>;
51*8898c974SYassine Oudjana			clock-latency-ns = <200000>;
52*8898c974SYassine Oudjana		};
53*8898c974SYassine Oudjana		opp-768000000 {
54*8898c974SYassine Oudjana			opp-hz = /bits/ 64 <768000000>;
55*8898c974SYassine Oudjana			opp-supported-hw = <0x70>;
56*8898c974SYassine Oudjana			clock-latency-ns = <200000>;
57*8898c974SYassine Oudjana		};
58*8898c974SYassine Oudjana		opp-844800000 {
59*8898c974SYassine Oudjana			opp-hz = /bits/ 64 <844800000>;
60*8898c974SYassine Oudjana			opp-supported-hw = <0x70>;
61*8898c974SYassine Oudjana			clock-latency-ns = <200000>;
62*8898c974SYassine Oudjana		};
63*8898c974SYassine Oudjana		opp-902400000 {
64*8898c974SYassine Oudjana			opp-hz = /bits/ 64 <902400000>;
65*8898c974SYassine Oudjana			opp-supported-hw = <0x70>;
66*8898c974SYassine Oudjana			clock-latency-ns = <200000>;
67*8898c974SYassine Oudjana		};
68*8898c974SYassine Oudjana		opp-979200000 {
69*8898c974SYassine Oudjana			opp-hz = /bits/ 64 <979200000>;
70*8898c974SYassine Oudjana			opp-supported-hw = <0x70>;
71*8898c974SYassine Oudjana			clock-latency-ns = <200000>;
72*8898c974SYassine Oudjana		};
73*8898c974SYassine Oudjana		opp-1056000000 {
74*8898c974SYassine Oudjana			opp-hz = /bits/ 64 <1056000000>;
75*8898c974SYassine Oudjana			opp-supported-hw = <0x70>;
76*8898c974SYassine Oudjana			clock-latency-ns = <200000>;
77*8898c974SYassine Oudjana		};
78*8898c974SYassine Oudjana		opp-1132800000 {
79*8898c974SYassine Oudjana			opp-hz = /bits/ 64 <1132800000>;
80*8898c974SYassine Oudjana			opp-supported-hw = <0x70>;
81*8898c974SYassine Oudjana			clock-latency-ns = <200000>;
82*8898c974SYassine Oudjana		};
83*8898c974SYassine Oudjana		opp-1209600000 {
84*8898c974SYassine Oudjana			opp-hz = /bits/ 64 <1209600000>;
85*8898c974SYassine Oudjana			opp-supported-hw = <0x70>;
86*8898c974SYassine Oudjana			clock-latency-ns = <200000>;
87*8898c974SYassine Oudjana		};
88*8898c974SYassine Oudjana		opp-1286400000 {
89*8898c974SYassine Oudjana			opp-hz = /bits/ 64 <1286400000>;
90*8898c974SYassine Oudjana			opp-supported-hw = <0x70>;
91*8898c974SYassine Oudjana			clock-latency-ns = <200000>;
92*8898c974SYassine Oudjana		};
93*8898c974SYassine Oudjana		opp-1363200000 {
94*8898c974SYassine Oudjana			opp-hz = /bits/ 64 <1363200000>;
95*8898c974SYassine Oudjana			opp-supported-hw = <0x70>;
96*8898c974SYassine Oudjana			clock-latency-ns = <200000>;
97*8898c974SYassine Oudjana		};
98*8898c974SYassine Oudjana		opp-1440000000 {
99*8898c974SYassine Oudjana			opp-hz = /bits/ 64 <1440000000>;
100*8898c974SYassine Oudjana			opp-supported-hw = <0x70>;
101*8898c974SYassine Oudjana			clock-latency-ns = <200000>;
102*8898c974SYassine Oudjana		};
103*8898c974SYassine Oudjana		opp-1516800000 {
104*8898c974SYassine Oudjana			opp-hz = /bits/ 64 <1516800000>;
105*8898c974SYassine Oudjana			opp-supported-hw = <0x70>;
106*8898c974SYassine Oudjana			clock-latency-ns = <200000>;
107*8898c974SYassine Oudjana		};
108*8898c974SYassine Oudjana		opp-1593600000 {
109*8898c974SYassine Oudjana			opp-hz = /bits/ 64 <1593600000>;
110*8898c974SYassine Oudjana			opp-supported-hw = <0x70>;
111*8898c974SYassine Oudjana			clock-latency-ns = <200000>;
112*8898c974SYassine Oudjana		};
113*8898c974SYassine Oudjana		opp-1996800000 {
114*8898c974SYassine Oudjana			opp-hz = /bits/ 64 <1996800000>;
115*8898c974SYassine Oudjana			opp-supported-hw = <0x20>;
116*8898c974SYassine Oudjana			clock-latency-ns = <200000>;
117*8898c974SYassine Oudjana		};
118*8898c974SYassine Oudjana		opp-2188800000 {
119*8898c974SYassine Oudjana			opp-hz = /bits/ 64 <2188800000>;
120*8898c974SYassine Oudjana			opp-supported-hw = <0x10>;
121*8898c974SYassine Oudjana			clock-latency-ns = <200000>;
122*8898c974SYassine Oudjana		};
123*8898c974SYassine Oudjana	};
124*8898c974SYassine Oudjana
125*8898c974SYassine Oudjana	cluster1_opp: opp-table-cluster1 {
126*8898c974SYassine Oudjana		compatible = "operating-points-v2-kryo-cpu";
127*8898c974SYassine Oudjana		nvmem-cells = <&speedbin_efuse>;
128*8898c974SYassine Oudjana		opp-shared;
129*8898c974SYassine Oudjana
130*8898c974SYassine Oudjana		opp-307200000 {
131*8898c974SYassine Oudjana			opp-hz = /bits/ 64 <307200000>;
132*8898c974SYassine Oudjana			opp-supported-hw = <0x70>;
133*8898c974SYassine Oudjana			clock-latency-ns = <200000>;
134*8898c974SYassine Oudjana		};
135*8898c974SYassine Oudjana		opp-384000000 {
136*8898c974SYassine Oudjana			opp-hz = /bits/ 64 <384000000>;
137*8898c974SYassine Oudjana			opp-supported-hw = <0x70>;
138*8898c974SYassine Oudjana			clock-latency-ns = <200000>;
139*8898c974SYassine Oudjana		};
140*8898c974SYassine Oudjana		opp-460800000 {
141*8898c974SYassine Oudjana			opp-hz = /bits/ 64 <460800000>;
142*8898c974SYassine Oudjana			opp-supported-hw = <0x70>;
143*8898c974SYassine Oudjana			clock-latency-ns = <200000>;
144*8898c974SYassine Oudjana		};
145*8898c974SYassine Oudjana		opp-537600000 {
146*8898c974SYassine Oudjana			opp-hz = /bits/ 64 <537600000>;
147*8898c974SYassine Oudjana			opp-supported-hw = <0x70>;
148*8898c974SYassine Oudjana			clock-latency-ns = <200000>;
149*8898c974SYassine Oudjana		};
150*8898c974SYassine Oudjana		opp-614400000 {
151*8898c974SYassine Oudjana			opp-hz = /bits/ 64 <614400000>;
152*8898c974SYassine Oudjana			opp-supported-hw = <0x70>;
153*8898c974SYassine Oudjana			clock-latency-ns = <200000>;
154*8898c974SYassine Oudjana		};
155*8898c974SYassine Oudjana		opp-691200000 {
156*8898c974SYassine Oudjana			opp-hz = /bits/ 64 <691200000>;
157*8898c974SYassine Oudjana			opp-supported-hw = <0x70>;
158*8898c974SYassine Oudjana			clock-latency-ns = <200000>;
159*8898c974SYassine Oudjana		};
160*8898c974SYassine Oudjana		opp-748800000 {
161*8898c974SYassine Oudjana			opp-hz = /bits/ 64 <748800000>;
162*8898c974SYassine Oudjana			opp-supported-hw = <0x70>;
163*8898c974SYassine Oudjana			clock-latency-ns = <200000>;
164*8898c974SYassine Oudjana		};
165*8898c974SYassine Oudjana		opp-825600000 {
166*8898c974SYassine Oudjana			opp-hz = /bits/ 64 <825600000>;
167*8898c974SYassine Oudjana			opp-supported-hw = <0x70>;
168*8898c974SYassine Oudjana			clock-latency-ns = <200000>;
169*8898c974SYassine Oudjana		};
170*8898c974SYassine Oudjana		opp-902400000 {
171*8898c974SYassine Oudjana			opp-hz = /bits/ 64 <902400000>;
172*8898c974SYassine Oudjana			opp-supported-hw = <0x70>;
173*8898c974SYassine Oudjana			clock-latency-ns = <200000>;
174*8898c974SYassine Oudjana		};
175*8898c974SYassine Oudjana		opp-979200000 {
176*8898c974SYassine Oudjana			opp-hz = /bits/ 64 <979200000>;
177*8898c974SYassine Oudjana			opp-supported-hw = <0x70>;
178*8898c974SYassine Oudjana			clock-latency-ns = <200000>;
179*8898c974SYassine Oudjana		};
180*8898c974SYassine Oudjana		opp-1056000000 {
181*8898c974SYassine Oudjana			opp-hz = /bits/ 64 <1056000000>;
182*8898c974SYassine Oudjana			opp-supported-hw = <0x70>;
183*8898c974SYassine Oudjana			clock-latency-ns = <200000>;
184*8898c974SYassine Oudjana		};
185*8898c974SYassine Oudjana		opp-1132800000 {
186*8898c974SYassine Oudjana			opp-hz = /bits/ 64 <1132800000>;
187*8898c974SYassine Oudjana			opp-supported-hw = <0x70>;
188*8898c974SYassine Oudjana			clock-latency-ns = <200000>;
189*8898c974SYassine Oudjana		};
190*8898c974SYassine Oudjana		opp-1209600000 {
191*8898c974SYassine Oudjana			opp-hz = /bits/ 64 <1209600000>;
192*8898c974SYassine Oudjana			opp-supported-hw = <0x70>;
193*8898c974SYassine Oudjana			clock-latency-ns = <200000>;
194*8898c974SYassine Oudjana		};
195*8898c974SYassine Oudjana		opp-1286400000 {
196*8898c974SYassine Oudjana			opp-hz = /bits/ 64 <1286400000>;
197*8898c974SYassine Oudjana			opp-supported-hw = <0x70>;
198*8898c974SYassine Oudjana			clock-latency-ns = <200000>;
199*8898c974SYassine Oudjana		};
200*8898c974SYassine Oudjana		opp-1363200000 {
201*8898c974SYassine Oudjana			opp-hz = /bits/ 64 <1363200000>;
202*8898c974SYassine Oudjana			opp-supported-hw = <0x70>;
203*8898c974SYassine Oudjana			clock-latency-ns = <200000>;
204*8898c974SYassine Oudjana		};
205*8898c974SYassine Oudjana		opp-1440000000 {
206*8898c974SYassine Oudjana			opp-hz = /bits/ 64 <1440000000>;
207*8898c974SYassine Oudjana			opp-supported-hw = <0x70>;
208*8898c974SYassine Oudjana			clock-latency-ns = <200000>;
209*8898c974SYassine Oudjana		};
210*8898c974SYassine Oudjana		opp-1516800000 {
211*8898c974SYassine Oudjana			opp-hz = /bits/ 64 <1516800000>;
212*8898c974SYassine Oudjana			opp-supported-hw = <0x70>;
213*8898c974SYassine Oudjana			clock-latency-ns = <200000>;
214*8898c974SYassine Oudjana		};
215*8898c974SYassine Oudjana		opp-1593600000 {
216*8898c974SYassine Oudjana			opp-hz = /bits/ 64 <1593600000>;
217*8898c974SYassine Oudjana			opp-supported-hw = <0x70>;
218*8898c974SYassine Oudjana			clock-latency-ns = <200000>;
219*8898c974SYassine Oudjana		};
220*8898c974SYassine Oudjana		opp-1670400000 {
221*8898c974SYassine Oudjana			opp-hz = /bits/ 64 <1670400000>;
222*8898c974SYassine Oudjana			opp-supported-hw = <0x70>;
223*8898c974SYassine Oudjana			clock-latency-ns = <200000>;
224*8898c974SYassine Oudjana		};
225*8898c974SYassine Oudjana		opp-1747200000 {
226*8898c974SYassine Oudjana			opp-hz = /bits/ 64 <1747200000>;
227*8898c974SYassine Oudjana			opp-supported-hw = <0x70>;
228*8898c974SYassine Oudjana			clock-latency-ns = <200000>;
229*8898c974SYassine Oudjana		};
230*8898c974SYassine Oudjana		opp-1824000000 {
231*8898c974SYassine Oudjana			opp-hz = /bits/ 64 <1824000000>;
232*8898c974SYassine Oudjana			opp-supported-hw = <0x70>;
233*8898c974SYassine Oudjana			clock-latency-ns = <200000>;
234*8898c974SYassine Oudjana		};
235*8898c974SYassine Oudjana		opp-1900800000 {
236*8898c974SYassine Oudjana			opp-hz = /bits/ 64 <1900800000>;
237*8898c974SYassine Oudjana			opp-supported-hw = <0x70>;
238*8898c974SYassine Oudjana			clock-latency-ns = <200000>;
239*8898c974SYassine Oudjana		};
240*8898c974SYassine Oudjana		opp-1977600000 {
241*8898c974SYassine Oudjana			opp-hz = /bits/ 64 <1977600000>;
242*8898c974SYassine Oudjana			opp-supported-hw = <0x30>;
243*8898c974SYassine Oudjana			clock-latency-ns = <200000>;
244*8898c974SYassine Oudjana		};
245*8898c974SYassine Oudjana		opp-2054400000 {
246*8898c974SYassine Oudjana			opp-hz = /bits/ 64 <2054400000>;
247*8898c974SYassine Oudjana			opp-supported-hw = <0x30>;
248*8898c974SYassine Oudjana			clock-latency-ns = <200000>;
249*8898c974SYassine Oudjana		};
250*8898c974SYassine Oudjana		opp-2150400000 {
251*8898c974SYassine Oudjana			opp-hz = /bits/ 64 <2150400000>;
252*8898c974SYassine Oudjana			opp-supported-hw = <0x30>;
253*8898c974SYassine Oudjana			clock-latency-ns = <200000>;
254*8898c974SYassine Oudjana		};
255*8898c974SYassine Oudjana		opp-2246400000 {
256*8898c974SYassine Oudjana			opp-hz = /bits/ 64 <2246400000>;
257*8898c974SYassine Oudjana			opp-supported-hw = <0x10>;
258*8898c974SYassine Oudjana			clock-latency-ns = <200000>;
259*8898c974SYassine Oudjana		};
260*8898c974SYassine Oudjana		opp-2342400000 {
261*8898c974SYassine Oudjana			opp-hz = /bits/ 64 <2342400000>;
262*8898c974SYassine Oudjana			opp-supported-hw = <0x10>;
263*8898c974SYassine Oudjana			clock-latency-ns = <200000>;
264*8898c974SYassine Oudjana		};
265*8898c974SYassine Oudjana	};
266*8898c974SYassine Oudjana};
267