xref: /freebsd-src/sys/contrib/device-tree/Bindings/opp/qcom-nvmem-cpufreq.txt (revision c66ec88fed842fbaad62c30d510644ceb7bd2d71)
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