]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - src/arm64/qcom/msm8996pro.dtsi
Import device-tree files from Linux 6.2
[FreeBSD/FreeBSD.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                 };
28                 opp-384000000 {
29                         opp-hz = /bits/ 64 <384000000>;
30                         opp-supported-hw = <0x70>;
31                         clock-latency-ns = <200000>;
32                 };
33                 opp-460800000 {
34                         opp-hz = /bits/ 64 <460800000>;
35                         opp-supported-hw = <0x70>;
36                         clock-latency-ns = <200000>;
37                 };
38                 opp-537600000 {
39                         opp-hz = /bits/ 64 <537600000>;
40                         opp-supported-hw = <0x70>;
41                         clock-latency-ns = <200000>;
42                 };
43                 opp-614400000 {
44                         opp-hz = /bits/ 64 <614400000>;
45                         opp-supported-hw = <0x70>;
46                         clock-latency-ns = <200000>;
47                 };
48                 opp-691200000 {
49                         opp-hz = /bits/ 64 <691200000>;
50                         opp-supported-hw = <0x70>;
51                         clock-latency-ns = <200000>;
52                 };
53                 opp-768000000 {
54                         opp-hz = /bits/ 64 <768000000>;
55                         opp-supported-hw = <0x70>;
56                         clock-latency-ns = <200000>;
57                 };
58                 opp-844800000 {
59                         opp-hz = /bits/ 64 <844800000>;
60                         opp-supported-hw = <0x70>;
61                         clock-latency-ns = <200000>;
62                 };
63                 opp-902400000 {
64                         opp-hz = /bits/ 64 <902400000>;
65                         opp-supported-hw = <0x70>;
66                         clock-latency-ns = <200000>;
67                 };
68                 opp-979200000 {
69                         opp-hz = /bits/ 64 <979200000>;
70                         opp-supported-hw = <0x70>;
71                         clock-latency-ns = <200000>;
72                 };
73                 opp-1056000000 {
74                         opp-hz = /bits/ 64 <1056000000>;
75                         opp-supported-hw = <0x70>;
76                         clock-latency-ns = <200000>;
77                 };
78                 opp-1132800000 {
79                         opp-hz = /bits/ 64 <1132800000>;
80                         opp-supported-hw = <0x70>;
81                         clock-latency-ns = <200000>;
82                 };
83                 opp-1209600000 {
84                         opp-hz = /bits/ 64 <1209600000>;
85                         opp-supported-hw = <0x70>;
86                         clock-latency-ns = <200000>;
87                 };
88                 opp-1286400000 {
89                         opp-hz = /bits/ 64 <1286400000>;
90                         opp-supported-hw = <0x70>;
91                         clock-latency-ns = <200000>;
92                 };
93                 opp-1363200000 {
94                         opp-hz = /bits/ 64 <1363200000>;
95                         opp-supported-hw = <0x70>;
96                         clock-latency-ns = <200000>;
97                 };
98                 opp-1440000000 {
99                         opp-hz = /bits/ 64 <1440000000>;
100                         opp-supported-hw = <0x70>;
101                         clock-latency-ns = <200000>;
102                 };
103                 opp-1516800000 {
104                         opp-hz = /bits/ 64 <1516800000>;
105                         opp-supported-hw = <0x70>;
106                         clock-latency-ns = <200000>;
107                 };
108                 opp-1593600000 {
109                         opp-hz = /bits/ 64 <1593600000>;
110                         opp-supported-hw = <0x70>;
111                         clock-latency-ns = <200000>;
112                 };
113                 opp-1996800000 {
114                         opp-hz = /bits/ 64 <1996800000>;
115                         opp-supported-hw = <0x20>;
116                         clock-latency-ns = <200000>;
117                 };
118                 opp-2188800000 {
119                         opp-hz = /bits/ 64 <2188800000>;
120                         opp-supported-hw = <0x10>;
121                         clock-latency-ns = <200000>;
122                 };
123         };
124
125         cluster1_opp: opp-table-cluster1 {
126                 compatible = "operating-points-v2-kryo-cpu";
127                 nvmem-cells = <&speedbin_efuse>;
128                 opp-shared;
129
130                 opp-307200000 {
131                         opp-hz = /bits/ 64 <307200000>;
132                         opp-supported-hw = <0x70>;
133                         clock-latency-ns = <200000>;
134                 };
135                 opp-384000000 {
136                         opp-hz = /bits/ 64 <384000000>;
137                         opp-supported-hw = <0x70>;
138                         clock-latency-ns = <200000>;
139                 };
140                 opp-460800000 {
141                         opp-hz = /bits/ 64 <460800000>;
142                         opp-supported-hw = <0x70>;
143                         clock-latency-ns = <200000>;
144                 };
145                 opp-537600000 {
146                         opp-hz = /bits/ 64 <537600000>;
147                         opp-supported-hw = <0x70>;
148                         clock-latency-ns = <200000>;
149                 };
150                 opp-614400000 {
151                         opp-hz = /bits/ 64 <614400000>;
152                         opp-supported-hw = <0x70>;
153                         clock-latency-ns = <200000>;
154                 };
155                 opp-691200000 {
156                         opp-hz = /bits/ 64 <691200000>;
157                         opp-supported-hw = <0x70>;
158                         clock-latency-ns = <200000>;
159                 };
160                 opp-748800000 {
161                         opp-hz = /bits/ 64 <748800000>;
162                         opp-supported-hw = <0x70>;
163                         clock-latency-ns = <200000>;
164                 };
165                 opp-825600000 {
166                         opp-hz = /bits/ 64 <825600000>;
167                         opp-supported-hw = <0x70>;
168                         clock-latency-ns = <200000>;
169                 };
170                 opp-902400000 {
171                         opp-hz = /bits/ 64 <902400000>;
172                         opp-supported-hw = <0x70>;
173                         clock-latency-ns = <200000>;
174                 };
175                 opp-979200000 {
176                         opp-hz = /bits/ 64 <979200000>;
177                         opp-supported-hw = <0x70>;
178                         clock-latency-ns = <200000>;
179                 };
180                 opp-1056000000 {
181                         opp-hz = /bits/ 64 <1056000000>;
182                         opp-supported-hw = <0x70>;
183                         clock-latency-ns = <200000>;
184                 };
185                 opp-1132800000 {
186                         opp-hz = /bits/ 64 <1132800000>;
187                         opp-supported-hw = <0x70>;
188                         clock-latency-ns = <200000>;
189                 };
190                 opp-1209600000 {
191                         opp-hz = /bits/ 64 <1209600000>;
192                         opp-supported-hw = <0x70>;
193                         clock-latency-ns = <200000>;
194                 };
195                 opp-1286400000 {
196                         opp-hz = /bits/ 64 <1286400000>;
197                         opp-supported-hw = <0x70>;
198                         clock-latency-ns = <200000>;
199                 };
200                 opp-1363200000 {
201                         opp-hz = /bits/ 64 <1363200000>;
202                         opp-supported-hw = <0x70>;
203                         clock-latency-ns = <200000>;
204                 };
205                 opp-1440000000 {
206                         opp-hz = /bits/ 64 <1440000000>;
207                         opp-supported-hw = <0x70>;
208                         clock-latency-ns = <200000>;
209                 };
210                 opp-1516800000 {
211                         opp-hz = /bits/ 64 <1516800000>;
212                         opp-supported-hw = <0x70>;
213                         clock-latency-ns = <200000>;
214                 };
215                 opp-1593600000 {
216                         opp-hz = /bits/ 64 <1593600000>;
217                         opp-supported-hw = <0x70>;
218                         clock-latency-ns = <200000>;
219                 };
220                 opp-1670400000 {
221                         opp-hz = /bits/ 64 <1670400000>;
222                         opp-supported-hw = <0x70>;
223                         clock-latency-ns = <200000>;
224                 };
225                 opp-1747200000 {
226                         opp-hz = /bits/ 64 <1747200000>;
227                         opp-supported-hw = <0x70>;
228                         clock-latency-ns = <200000>;
229                 };
230                 opp-1824000000 {
231                         opp-hz = /bits/ 64 <1824000000>;
232                         opp-supported-hw = <0x70>;
233                         clock-latency-ns = <200000>;
234                 };
235                 opp-1900800000 {
236                         opp-hz = /bits/ 64 <1900800000>;
237                         opp-supported-hw = <0x70>;
238                         clock-latency-ns = <200000>;
239                 };
240                 opp-1977600000 {
241                         opp-hz = /bits/ 64 <1977600000>;
242                         opp-supported-hw = <0x30>;
243                         clock-latency-ns = <200000>;
244                 };
245                 opp-2054400000 {
246                         opp-hz = /bits/ 64 <2054400000>;
247                         opp-supported-hw = <0x30>;
248                         clock-latency-ns = <200000>;
249                 };
250                 opp-2150400000 {
251                         opp-hz = /bits/ 64 <2150400000>;
252                         opp-supported-hw = <0x30>;
253                         clock-latency-ns = <200000>;
254                 };
255                 opp-2246400000 {
256                         opp-hz = /bits/ 64 <2246400000>;
257                         opp-supported-hw = <0x10>;
258                         clock-latency-ns = <200000>;
259                 };
260                 opp-2342400000 {
261                         opp-hz = /bits/ 64 <2342400000>;
262                         opp-supported-hw = <0x10>;
263                         clock-latency-ns = <200000>;
264                 };
265         };
266 };
267
268 &gpu_opp_table {
269         /*
270          * Unlike CPU opp tables, the GPU driver does not shift speed bins.
271          *
272          * 652.8 Mhz is available on speed bin 0 only.
273          * 624 Mhz and 560 Mhz are available on speed bins 0 and 1.
274          * All the rest are available on all bins of the hardware (like on
275          * plain 8996).
276          */
277
278         opp-652800000 {
279                 opp-hz = /bits/ 64 <652800000>;
280                 opp-supported-hw = <0x01>;
281         };
282         opp-624000000 {
283                 opp-hz = /bits/ 64 <624000000>;
284                 opp-supported-hw = <0x03>;
285         };
286         opp-560000000 {
287                 opp-hz = /bits/ 64 <560000000>;
288                 opp-supported-hw = <0x03>;
289         };
290         /* The rest is inherited from msm8996 */
291 };