diff options
author | David Daney <ddaney@caviumnetworks.com> | 2008-12-11 18:33:19 -0500 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2009-01-11 04:57:20 -0500 |
commit | 54293ec3074a5fe61abd297502f68b2529a3dab3 (patch) | |
tree | 740675a4e198c487225bd35fb5fe8b9951aab2f5 /arch/mips/include/asm/octeon/cvmx-l2c-defs.h | |
parent | 2bd2dd059ca7406a030bace8dccdb25f635578c1 (diff) |
MIPS: Add Cavium OCTEON processor CSR definitions
Here we define the addresses and bit-fields of the Configuration and
Status Registers (CSRs) for some of the hardware functional units on
the OCTEON SOC.
Definitions are needed for:
CIU -- Central Interrupt Unit.
GPIO -- General Purpose Input Output.
IOB -- Input / Output {Busing,Bridge}.
IPD -- Input Packet Data unit.
L2C -- Level-2 Cache controller.
L2D -- Level-2 Data cache.
L2T -- Level-2 cache Tag.
LED -- Light Emitting Diode controller.
MIO -- Miscellaneous Input / Output.
POW -- Packet Order / Work unit.
Signed-off-by: Tomaso Paoletti <tpaoletti@caviumnetworks.com>
Signed-off-by: David Daney <ddaney@caviumnetworks.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'arch/mips/include/asm/octeon/cvmx-l2c-defs.h')
-rw-r--r-- | arch/mips/include/asm/octeon/cvmx-l2c-defs.h | 963 |
1 files changed, 963 insertions, 0 deletions
diff --git a/arch/mips/include/asm/octeon/cvmx-l2c-defs.h b/arch/mips/include/asm/octeon/cvmx-l2c-defs.h new file mode 100644 index 00000000000..337583842b5 --- /dev/null +++ b/arch/mips/include/asm/octeon/cvmx-l2c-defs.h | |||
@@ -0,0 +1,963 @@ | |||
1 | /***********************license start*************** | ||
2 | * Author: Cavium Networks | ||
3 | * | ||
4 | * Contact: support@caviumnetworks.com | ||
5 | * This file is part of the OCTEON SDK | ||
6 | * | ||
7 | * Copyright (c) 2003-2008 Cavium Networks | ||
8 | * | ||
9 | * This file is free software; you can redistribute it and/or modify | ||
10 | * it under the terms of the GNU General Public License, Version 2, as | ||
11 | * published by the Free Software Foundation. | ||
12 | * | ||
13 | * This file is distributed in the hope that it will be useful, but | ||
14 | * AS-IS and WITHOUT ANY WARRANTY; without even the implied warranty | ||
15 | * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE, TITLE, or | ||
16 | * NONINFRINGEMENT. See the GNU General Public License for more | ||
17 | * details. | ||
18 | * | ||
19 | * You should have received a copy of the GNU General Public License | ||
20 | * along with this file; if not, write to the Free Software | ||
21 | * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
22 | * or visit http://www.gnu.org/licenses/. | ||
23 | * | ||
24 | * This file may also be available under a different license from Cavium. | ||
25 | * Contact Cavium Networks for more information | ||
26 | ***********************license end**************************************/ | ||
27 | |||
28 | #ifndef __CVMX_L2C_DEFS_H__ | ||
29 | #define __CVMX_L2C_DEFS_H__ | ||
30 | |||
31 | #define CVMX_L2C_BST0 \ | ||
32 | CVMX_ADD_IO_SEG(0x00011800800007F8ull) | ||
33 | #define CVMX_L2C_BST1 \ | ||
34 | CVMX_ADD_IO_SEG(0x00011800800007F0ull) | ||
35 | #define CVMX_L2C_BST2 \ | ||
36 | CVMX_ADD_IO_SEG(0x00011800800007E8ull) | ||
37 | #define CVMX_L2C_CFG \ | ||
38 | CVMX_ADD_IO_SEG(0x0001180080000000ull) | ||
39 | #define CVMX_L2C_DBG \ | ||
40 | CVMX_ADD_IO_SEG(0x0001180080000030ull) | ||
41 | #define CVMX_L2C_DUT \ | ||
42 | CVMX_ADD_IO_SEG(0x0001180080000050ull) | ||
43 | #define CVMX_L2C_GRPWRR0 \ | ||
44 | CVMX_ADD_IO_SEG(0x00011800800000C8ull) | ||
45 | #define CVMX_L2C_GRPWRR1 \ | ||
46 | CVMX_ADD_IO_SEG(0x00011800800000D0ull) | ||
47 | #define CVMX_L2C_INT_EN \ | ||
48 | CVMX_ADD_IO_SEG(0x0001180080000100ull) | ||
49 | #define CVMX_L2C_INT_STAT \ | ||
50 | CVMX_ADD_IO_SEG(0x00011800800000F8ull) | ||
51 | #define CVMX_L2C_LCKBASE \ | ||
52 | CVMX_ADD_IO_SEG(0x0001180080000058ull) | ||
53 | #define CVMX_L2C_LCKOFF \ | ||
54 | CVMX_ADD_IO_SEG(0x0001180080000060ull) | ||
55 | #define CVMX_L2C_LFB0 \ | ||
56 | CVMX_ADD_IO_SEG(0x0001180080000038ull) | ||
57 | #define CVMX_L2C_LFB1 \ | ||
58 | CVMX_ADD_IO_SEG(0x0001180080000040ull) | ||
59 | #define CVMX_L2C_LFB2 \ | ||
60 | CVMX_ADD_IO_SEG(0x0001180080000048ull) | ||
61 | #define CVMX_L2C_LFB3 \ | ||
62 | CVMX_ADD_IO_SEG(0x00011800800000B8ull) | ||
63 | #define CVMX_L2C_OOB \ | ||
64 | CVMX_ADD_IO_SEG(0x00011800800000D8ull) | ||
65 | #define CVMX_L2C_OOB1 \ | ||
66 | CVMX_ADD_IO_SEG(0x00011800800000E0ull) | ||
67 | #define CVMX_L2C_OOB2 \ | ||
68 | CVMX_ADD_IO_SEG(0x00011800800000E8ull) | ||
69 | #define CVMX_L2C_OOB3 \ | ||
70 | CVMX_ADD_IO_SEG(0x00011800800000F0ull) | ||
71 | #define CVMX_L2C_PFC0 \ | ||
72 | CVMX_ADD_IO_SEG(0x0001180080000098ull) | ||
73 | #define CVMX_L2C_PFC1 \ | ||
74 | CVMX_ADD_IO_SEG(0x00011800800000A0ull) | ||
75 | #define CVMX_L2C_PFC2 \ | ||
76 | CVMX_ADD_IO_SEG(0x00011800800000A8ull) | ||
77 | #define CVMX_L2C_PFC3 \ | ||
78 | CVMX_ADD_IO_SEG(0x00011800800000B0ull) | ||
79 | #define CVMX_L2C_PFCTL \ | ||
80 | CVMX_ADD_IO_SEG(0x0001180080000090ull) | ||
81 | #define CVMX_L2C_PFCX(offset) \ | ||
82 | CVMX_ADD_IO_SEG(0x0001180080000098ull + (((offset) & 3) * 8)) | ||
83 | #define CVMX_L2C_PPGRP \ | ||
84 | CVMX_ADD_IO_SEG(0x00011800800000C0ull) | ||
85 | #define CVMX_L2C_SPAR0 \ | ||
86 | CVMX_ADD_IO_SEG(0x0001180080000068ull) | ||
87 | #define CVMX_L2C_SPAR1 \ | ||
88 | CVMX_ADD_IO_SEG(0x0001180080000070ull) | ||
89 | #define CVMX_L2C_SPAR2 \ | ||
90 | CVMX_ADD_IO_SEG(0x0001180080000078ull) | ||
91 | #define CVMX_L2C_SPAR3 \ | ||
92 | CVMX_ADD_IO_SEG(0x0001180080000080ull) | ||
93 | #define CVMX_L2C_SPAR4 \ | ||
94 | CVMX_ADD_IO_SEG(0x0001180080000088ull) | ||
95 | |||
96 | union cvmx_l2c_bst0 { | ||
97 | uint64_t u64; | ||
98 | struct cvmx_l2c_bst0_s { | ||
99 | uint64_t reserved_24_63:40; | ||
100 | uint64_t dtbnk:1; | ||
101 | uint64_t wlb_msk:4; | ||
102 | uint64_t dtcnt:13; | ||
103 | uint64_t dt:1; | ||
104 | uint64_t stin_msk:1; | ||
105 | uint64_t wlb_dat:4; | ||
106 | } s; | ||
107 | struct cvmx_l2c_bst0_cn30xx { | ||
108 | uint64_t reserved_23_63:41; | ||
109 | uint64_t wlb_msk:4; | ||
110 | uint64_t reserved_15_18:4; | ||
111 | uint64_t dtcnt:9; | ||
112 | uint64_t dt:1; | ||
113 | uint64_t reserved_4_4:1; | ||
114 | uint64_t wlb_dat:4; | ||
115 | } cn30xx; | ||
116 | struct cvmx_l2c_bst0_cn31xx { | ||
117 | uint64_t reserved_23_63:41; | ||
118 | uint64_t wlb_msk:4; | ||
119 | uint64_t reserved_16_18:3; | ||
120 | uint64_t dtcnt:10; | ||
121 | uint64_t dt:1; | ||
122 | uint64_t stin_msk:1; | ||
123 | uint64_t wlb_dat:4; | ||
124 | } cn31xx; | ||
125 | struct cvmx_l2c_bst0_cn38xx { | ||
126 | uint64_t reserved_19_63:45; | ||
127 | uint64_t dtcnt:13; | ||
128 | uint64_t dt:1; | ||
129 | uint64_t stin_msk:1; | ||
130 | uint64_t wlb_dat:4; | ||
131 | } cn38xx; | ||
132 | struct cvmx_l2c_bst0_cn38xx cn38xxp2; | ||
133 | struct cvmx_l2c_bst0_cn50xx { | ||
134 | uint64_t reserved_24_63:40; | ||
135 | uint64_t dtbnk:1; | ||
136 | uint64_t wlb_msk:4; | ||
137 | uint64_t reserved_16_18:3; | ||
138 | uint64_t dtcnt:10; | ||
139 | uint64_t dt:1; | ||
140 | uint64_t stin_msk:1; | ||
141 | uint64_t wlb_dat:4; | ||
142 | } cn50xx; | ||
143 | struct cvmx_l2c_bst0_cn50xx cn52xx; | ||
144 | struct cvmx_l2c_bst0_cn50xx cn52xxp1; | ||
145 | struct cvmx_l2c_bst0_s cn56xx; | ||
146 | struct cvmx_l2c_bst0_s cn56xxp1; | ||
147 | struct cvmx_l2c_bst0_s cn58xx; | ||
148 | struct cvmx_l2c_bst0_s cn58xxp1; | ||
149 | }; | ||
150 | |||
151 | union cvmx_l2c_bst1 { | ||
152 | uint64_t u64; | ||
153 | struct cvmx_l2c_bst1_s { | ||
154 | uint64_t reserved_9_63:55; | ||
155 | uint64_t l2t:9; | ||
156 | } s; | ||
157 | struct cvmx_l2c_bst1_cn30xx { | ||
158 | uint64_t reserved_16_63:48; | ||
159 | uint64_t vwdf:4; | ||
160 | uint64_t lrf:2; | ||
161 | uint64_t vab_vwcf:1; | ||
162 | uint64_t reserved_5_8:4; | ||
163 | uint64_t l2t:5; | ||
164 | } cn30xx; | ||
165 | struct cvmx_l2c_bst1_cn30xx cn31xx; | ||
166 | struct cvmx_l2c_bst1_cn38xx { | ||
167 | uint64_t reserved_16_63:48; | ||
168 | uint64_t vwdf:4; | ||
169 | uint64_t lrf:2; | ||
170 | uint64_t vab_vwcf:1; | ||
171 | uint64_t l2t:9; | ||
172 | } cn38xx; | ||
173 | struct cvmx_l2c_bst1_cn38xx cn38xxp2; | ||
174 | struct cvmx_l2c_bst1_cn38xx cn50xx; | ||
175 | struct cvmx_l2c_bst1_cn52xx { | ||
176 | uint64_t reserved_19_63:45; | ||
177 | uint64_t plc2:1; | ||
178 | uint64_t plc1:1; | ||
179 | uint64_t plc0:1; | ||
180 | uint64_t vwdf:4; | ||
181 | uint64_t reserved_11_11:1; | ||
182 | uint64_t ilc:1; | ||
183 | uint64_t vab_vwcf:1; | ||
184 | uint64_t l2t:9; | ||
185 | } cn52xx; | ||
186 | struct cvmx_l2c_bst1_cn52xx cn52xxp1; | ||
187 | struct cvmx_l2c_bst1_cn56xx { | ||
188 | uint64_t reserved_24_63:40; | ||
189 | uint64_t plc2:1; | ||
190 | uint64_t plc1:1; | ||
191 | uint64_t plc0:1; | ||
192 | uint64_t ilc:1; | ||
193 | uint64_t vwdf1:4; | ||
194 | uint64_t vwdf0:4; | ||
195 | uint64_t vab_vwcf1:1; | ||
196 | uint64_t reserved_10_10:1; | ||
197 | uint64_t vab_vwcf0:1; | ||
198 | uint64_t l2t:9; | ||
199 | } cn56xx; | ||
200 | struct cvmx_l2c_bst1_cn56xx cn56xxp1; | ||
201 | struct cvmx_l2c_bst1_cn38xx cn58xx; | ||
202 | struct cvmx_l2c_bst1_cn38xx cn58xxp1; | ||
203 | }; | ||
204 | |||
205 | union cvmx_l2c_bst2 { | ||
206 | uint64_t u64; | ||
207 | struct cvmx_l2c_bst2_s { | ||
208 | uint64_t reserved_16_63:48; | ||
209 | uint64_t mrb:4; | ||
210 | uint64_t reserved_4_11:8; | ||
211 | uint64_t ipcbst:1; | ||
212 | uint64_t picbst:1; | ||
213 | uint64_t xrdmsk:1; | ||
214 | uint64_t xrddat:1; | ||
215 | } s; | ||
216 | struct cvmx_l2c_bst2_cn30xx { | ||
217 | uint64_t reserved_16_63:48; | ||
218 | uint64_t mrb:4; | ||
219 | uint64_t rmdf:4; | ||
220 | uint64_t reserved_4_7:4; | ||
221 | uint64_t ipcbst:1; | ||
222 | uint64_t reserved_2_2:1; | ||
223 | uint64_t xrdmsk:1; | ||
224 | uint64_t xrddat:1; | ||
225 | } cn30xx; | ||
226 | struct cvmx_l2c_bst2_cn30xx cn31xx; | ||
227 | struct cvmx_l2c_bst2_cn38xx { | ||
228 | uint64_t reserved_16_63:48; | ||
229 | uint64_t mrb:4; | ||
230 | uint64_t rmdf:4; | ||
231 | uint64_t rhdf:4; | ||
232 | uint64_t ipcbst:1; | ||
233 | uint64_t picbst:1; | ||
234 | uint64_t xrdmsk:1; | ||
235 | uint64_t xrddat:1; | ||
236 | } cn38xx; | ||
237 | struct cvmx_l2c_bst2_cn38xx cn38xxp2; | ||
238 | struct cvmx_l2c_bst2_cn30xx cn50xx; | ||
239 | struct cvmx_l2c_bst2_cn30xx cn52xx; | ||
240 | struct cvmx_l2c_bst2_cn30xx cn52xxp1; | ||
241 | struct cvmx_l2c_bst2_cn56xx { | ||
242 | uint64_t reserved_16_63:48; | ||
243 | uint64_t mrb:4; | ||
244 | uint64_t rmdb:4; | ||
245 | uint64_t rhdb:4; | ||
246 | uint64_t ipcbst:1; | ||
247 | uint64_t picbst:1; | ||
248 | uint64_t xrdmsk:1; | ||
249 | uint64_t xrddat:1; | ||
250 | } cn56xx; | ||
251 | struct cvmx_l2c_bst2_cn56xx cn56xxp1; | ||
252 | struct cvmx_l2c_bst2_cn56xx cn58xx; | ||
253 | struct cvmx_l2c_bst2_cn56xx cn58xxp1; | ||
254 | }; | ||
255 | |||
256 | union cvmx_l2c_cfg { | ||
257 | uint64_t u64; | ||
258 | struct cvmx_l2c_cfg_s { | ||
259 | uint64_t reserved_20_63:44; | ||
260 | uint64_t bstrun:1; | ||
261 | uint64_t lbist:1; | ||
262 | uint64_t xor_bank:1; | ||
263 | uint64_t dpres1:1; | ||
264 | uint64_t dpres0:1; | ||
265 | uint64_t dfill_dis:1; | ||
266 | uint64_t fpexp:4; | ||
267 | uint64_t fpempty:1; | ||
268 | uint64_t fpen:1; | ||
269 | uint64_t idxalias:1; | ||
270 | uint64_t mwf_crd:4; | ||
271 | uint64_t rsp_arb_mode:1; | ||
272 | uint64_t rfb_arb_mode:1; | ||
273 | uint64_t lrf_arb_mode:1; | ||
274 | } s; | ||
275 | struct cvmx_l2c_cfg_cn30xx { | ||
276 | uint64_t reserved_14_63:50; | ||
277 | uint64_t fpexp:4; | ||
278 | uint64_t fpempty:1; | ||
279 | uint64_t fpen:1; | ||
280 | uint64_t idxalias:1; | ||
281 | uint64_t mwf_crd:4; | ||
282 | uint64_t rsp_arb_mode:1; | ||
283 | uint64_t rfb_arb_mode:1; | ||
284 | uint64_t lrf_arb_mode:1; | ||
285 | } cn30xx; | ||
286 | struct cvmx_l2c_cfg_cn30xx cn31xx; | ||
287 | struct cvmx_l2c_cfg_cn30xx cn38xx; | ||
288 | struct cvmx_l2c_cfg_cn30xx cn38xxp2; | ||
289 | struct cvmx_l2c_cfg_cn50xx { | ||
290 | uint64_t reserved_20_63:44; | ||
291 | uint64_t bstrun:1; | ||
292 | uint64_t lbist:1; | ||
293 | uint64_t reserved_14_17:4; | ||
294 | uint64_t fpexp:4; | ||
295 | uint64_t fpempty:1; | ||
296 | uint64_t fpen:1; | ||
297 | uint64_t idxalias:1; | ||
298 | uint64_t mwf_crd:4; | ||
299 | uint64_t rsp_arb_mode:1; | ||
300 | uint64_t rfb_arb_mode:1; | ||
301 | uint64_t lrf_arb_mode:1; | ||
302 | } cn50xx; | ||
303 | struct cvmx_l2c_cfg_cn50xx cn52xx; | ||
304 | struct cvmx_l2c_cfg_cn50xx cn52xxp1; | ||
305 | struct cvmx_l2c_cfg_s cn56xx; | ||
306 | struct cvmx_l2c_cfg_s cn56xxp1; | ||
307 | struct cvmx_l2c_cfg_cn58xx { | ||
308 | uint64_t reserved_20_63:44; | ||
309 | uint64_t bstrun:1; | ||
310 | uint64_t lbist:1; | ||
311 | uint64_t reserved_15_17:3; | ||
312 | uint64_t dfill_dis:1; | ||
313 | uint64_t fpexp:4; | ||
314 | uint64_t fpempty:1; | ||
315 | uint64_t fpen:1; | ||
316 | uint64_t idxalias:1; | ||
317 | uint64_t mwf_crd:4; | ||
318 | uint64_t rsp_arb_mode:1; | ||
319 | uint64_t rfb_arb_mode:1; | ||
320 | uint64_t lrf_arb_mode:1; | ||
321 | } cn58xx; | ||
322 | struct cvmx_l2c_cfg_cn58xxp1 { | ||
323 | uint64_t reserved_15_63:49; | ||
324 | uint64_t dfill_dis:1; | ||
325 | uint64_t fpexp:4; | ||
326 | uint64_t fpempty:1; | ||
327 | uint64_t fpen:1; | ||
328 | uint64_t idxalias:1; | ||
329 | uint64_t mwf_crd:4; | ||
330 | uint64_t rsp_arb_mode:1; | ||
331 | uint64_t rfb_arb_mode:1; | ||
332 | uint64_t lrf_arb_mode:1; | ||
333 | } cn58xxp1; | ||
334 | }; | ||
335 | |||
336 | union cvmx_l2c_dbg { | ||
337 | uint64_t u64; | ||
338 | struct cvmx_l2c_dbg_s { | ||
339 | uint64_t reserved_15_63:49; | ||
340 | uint64_t lfb_enum:4; | ||
341 | uint64_t lfb_dmp:1; | ||
342 | uint64_t ppnum:4; | ||
343 | uint64_t set:3; | ||
344 | uint64_t finv:1; | ||
345 | uint64_t l2d:1; | ||
346 | uint64_t l2t:1; | ||
347 | } s; | ||
348 | struct cvmx_l2c_dbg_cn30xx { | ||
349 | uint64_t reserved_13_63:51; | ||
350 | uint64_t lfb_enum:2; | ||
351 | uint64_t lfb_dmp:1; | ||
352 | uint64_t reserved_5_9:5; | ||
353 | uint64_t set:2; | ||
354 | uint64_t finv:1; | ||
355 | uint64_t l2d:1; | ||
356 | uint64_t l2t:1; | ||
357 | } cn30xx; | ||
358 | struct cvmx_l2c_dbg_cn31xx { | ||
359 | uint64_t reserved_14_63:50; | ||
360 | uint64_t lfb_enum:3; | ||
361 | uint64_t lfb_dmp:1; | ||
362 | uint64_t reserved_7_9:3; | ||
363 | uint64_t ppnum:1; | ||
364 | uint64_t reserved_5_5:1; | ||
365 | uint64_t set:2; | ||
366 | uint64_t finv:1; | ||
367 | uint64_t l2d:1; | ||
368 | uint64_t l2t:1; | ||
369 | } cn31xx; | ||
370 | struct cvmx_l2c_dbg_s cn38xx; | ||
371 | struct cvmx_l2c_dbg_s cn38xxp2; | ||
372 | struct cvmx_l2c_dbg_cn50xx { | ||
373 | uint64_t reserved_14_63:50; | ||
374 | uint64_t lfb_enum:3; | ||
375 | uint64_t lfb_dmp:1; | ||
376 | uint64_t reserved_7_9:3; | ||
377 | uint64_t ppnum:1; | ||
378 | uint64_t set:3; | ||
379 | uint64_t finv:1; | ||
380 | uint64_t l2d:1; | ||
381 | uint64_t l2t:1; | ||
382 | } cn50xx; | ||
383 | struct cvmx_l2c_dbg_cn52xx { | ||
384 | uint64_t reserved_14_63:50; | ||
385 | uint64_t lfb_enum:3; | ||
386 | uint64_t lfb_dmp:1; | ||
387 | uint64_t reserved_8_9:2; | ||
388 | uint64_t ppnum:2; | ||
389 | uint64_t set:3; | ||
390 | uint64_t finv:1; | ||
391 | uint64_t l2d:1; | ||
392 | uint64_t l2t:1; | ||
393 | } cn52xx; | ||
394 | struct cvmx_l2c_dbg_cn52xx cn52xxp1; | ||
395 | struct cvmx_l2c_dbg_s cn56xx; | ||
396 | struct cvmx_l2c_dbg_s cn56xxp1; | ||
397 | struct cvmx_l2c_dbg_s cn58xx; | ||
398 | struct cvmx_l2c_dbg_s cn58xxp1; | ||
399 | }; | ||
400 | |||
401 | union cvmx_l2c_dut { | ||
402 | uint64_t u64; | ||
403 | struct cvmx_l2c_dut_s { | ||
404 | uint64_t reserved_32_63:32; | ||
405 | uint64_t dtena:1; | ||
406 | uint64_t reserved_30_30:1; | ||
407 | uint64_t dt_vld:1; | ||
408 | uint64_t dt_tag:29; | ||
409 | } s; | ||
410 | struct cvmx_l2c_dut_s cn30xx; | ||
411 | struct cvmx_l2c_dut_s cn31xx; | ||
412 | struct cvmx_l2c_dut_s cn38xx; | ||
413 | struct cvmx_l2c_dut_s cn38xxp2; | ||
414 | struct cvmx_l2c_dut_s cn50xx; | ||
415 | struct cvmx_l2c_dut_s cn52xx; | ||
416 | struct cvmx_l2c_dut_s cn52xxp1; | ||
417 | struct cvmx_l2c_dut_s cn56xx; | ||
418 | struct cvmx_l2c_dut_s cn56xxp1; | ||
419 | struct cvmx_l2c_dut_s cn58xx; | ||
420 | struct cvmx_l2c_dut_s cn58xxp1; | ||
421 | }; | ||
422 | |||
423 | union cvmx_l2c_grpwrr0 { | ||
424 | uint64_t u64; | ||
425 | struct cvmx_l2c_grpwrr0_s { | ||
426 | uint64_t plc1rmsk:32; | ||
427 | uint64_t plc0rmsk:32; | ||
428 | } s; | ||
429 | struct cvmx_l2c_grpwrr0_s cn52xx; | ||
430 | struct cvmx_l2c_grpwrr0_s cn52xxp1; | ||
431 | struct cvmx_l2c_grpwrr0_s cn56xx; | ||
432 | struct cvmx_l2c_grpwrr0_s cn56xxp1; | ||
433 | }; | ||
434 | |||
435 | union cvmx_l2c_grpwrr1 { | ||
436 | uint64_t u64; | ||
437 | struct cvmx_l2c_grpwrr1_s { | ||
438 | uint64_t ilcrmsk:32; | ||
439 | uint64_t plc2rmsk:32; | ||
440 | } s; | ||
441 | struct cvmx_l2c_grpwrr1_s cn52xx; | ||
442 | struct cvmx_l2c_grpwrr1_s cn52xxp1; | ||
443 | struct cvmx_l2c_grpwrr1_s cn56xx; | ||
444 | struct cvmx_l2c_grpwrr1_s cn56xxp1; | ||
445 | }; | ||
446 | |||
447 | union cvmx_l2c_int_en { | ||
448 | uint64_t u64; | ||
449 | struct cvmx_l2c_int_en_s { | ||
450 | uint64_t reserved_9_63:55; | ||
451 | uint64_t lck2ena:1; | ||
452 | uint64_t lckena:1; | ||
453 | uint64_t l2ddeden:1; | ||
454 | uint64_t l2dsecen:1; | ||
455 | uint64_t l2tdeden:1; | ||
456 | uint64_t l2tsecen:1; | ||
457 | uint64_t oob3en:1; | ||
458 | uint64_t oob2en:1; | ||
459 | uint64_t oob1en:1; | ||
460 | } s; | ||
461 | struct cvmx_l2c_int_en_s cn52xx; | ||
462 | struct cvmx_l2c_int_en_s cn52xxp1; | ||
463 | struct cvmx_l2c_int_en_s cn56xx; | ||
464 | struct cvmx_l2c_int_en_s cn56xxp1; | ||
465 | }; | ||
466 | |||
467 | union cvmx_l2c_int_stat { | ||
468 | uint64_t u64; | ||
469 | struct cvmx_l2c_int_stat_s { | ||
470 | uint64_t reserved_9_63:55; | ||
471 | uint64_t lck2:1; | ||
472 | uint64_t lck:1; | ||
473 | uint64_t l2dded:1; | ||
474 | uint64_t l2dsec:1; | ||
475 | uint64_t l2tded:1; | ||
476 | uint64_t l2tsec:1; | ||
477 | uint64_t oob3:1; | ||
478 | uint64_t oob2:1; | ||
479 | uint64_t oob1:1; | ||
480 | } s; | ||
481 | struct cvmx_l2c_int_stat_s cn52xx; | ||
482 | struct cvmx_l2c_int_stat_s cn52xxp1; | ||
483 | struct cvmx_l2c_int_stat_s cn56xx; | ||
484 | struct cvmx_l2c_int_stat_s cn56xxp1; | ||
485 | }; | ||
486 | |||
487 | union cvmx_l2c_lckbase { | ||
488 | uint64_t u64; | ||
489 | struct cvmx_l2c_lckbase_s { | ||
490 | uint64_t reserved_31_63:33; | ||
491 | uint64_t lck_base:27; | ||
492 | uint64_t reserved_1_3:3; | ||
493 | uint64_t lck_ena:1; | ||
494 | } s; | ||
495 | struct cvmx_l2c_lckbase_s cn30xx; | ||
496 | struct cvmx_l2c_lckbase_s cn31xx; | ||
497 | struct cvmx_l2c_lckbase_s cn38xx; | ||
498 | struct cvmx_l2c_lckbase_s cn38xxp2; | ||
499 | struct cvmx_l2c_lckbase_s cn50xx; | ||
500 | struct cvmx_l2c_lckbase_s cn52xx; | ||
501 | struct cvmx_l2c_lckbase_s cn52xxp1; | ||
502 | struct cvmx_l2c_lckbase_s cn56xx; | ||
503 | struct cvmx_l2c_lckbase_s cn56xxp1; | ||
504 | struct cvmx_l2c_lckbase_s cn58xx; | ||
505 | struct cvmx_l2c_lckbase_s cn58xxp1; | ||
506 | }; | ||
507 | |||
508 | union cvmx_l2c_lckoff { | ||
509 | uint64_t u64; | ||
510 | struct cvmx_l2c_lckoff_s { | ||
511 | uint64_t reserved_10_63:54; | ||
512 | uint64_t lck_offset:10; | ||
513 | } s; | ||
514 | struct cvmx_l2c_lckoff_s cn30xx; | ||
515 | struct cvmx_l2c_lckoff_s cn31xx; | ||
516 | struct cvmx_l2c_lckoff_s cn38xx; | ||
517 | struct cvmx_l2c_lckoff_s cn38xxp2; | ||
518 | struct cvmx_l2c_lckoff_s cn50xx; | ||
519 | struct cvmx_l2c_lckoff_s cn52xx; | ||
520 | struct cvmx_l2c_lckoff_s cn52xxp1; | ||
521 | struct cvmx_l2c_lckoff_s cn56xx; | ||
522 | struct cvmx_l2c_lckoff_s cn56xxp1; | ||
523 | struct cvmx_l2c_lckoff_s cn58xx; | ||
524 | struct cvmx_l2c_lckoff_s cn58xxp1; | ||
525 | }; | ||
526 | |||
527 | union cvmx_l2c_lfb0 { | ||
528 | uint64_t u64; | ||
529 | struct cvmx_l2c_lfb0_s { | ||
530 | uint64_t reserved_32_63:32; | ||
531 | uint64_t stcpnd:1; | ||
532 | uint64_t stpnd:1; | ||
533 | uint64_t stinv:1; | ||
534 | uint64_t stcfl:1; | ||
535 | uint64_t vam:1; | ||
536 | uint64_t inxt:4; | ||
537 | uint64_t itl:1; | ||
538 | uint64_t ihd:1; | ||
539 | uint64_t set:3; | ||
540 | uint64_t vabnum:4; | ||
541 | uint64_t sid:9; | ||
542 | uint64_t cmd:4; | ||
543 | uint64_t vld:1; | ||
544 | } s; | ||
545 | struct cvmx_l2c_lfb0_cn30xx { | ||
546 | uint64_t reserved_32_63:32; | ||
547 | uint64_t stcpnd:1; | ||
548 | uint64_t stpnd:1; | ||
549 | uint64_t stinv:1; | ||
550 | uint64_t stcfl:1; | ||
551 | uint64_t vam:1; | ||
552 | uint64_t reserved_25_26:2; | ||
553 | uint64_t inxt:2; | ||
554 | uint64_t itl:1; | ||
555 | uint64_t ihd:1; | ||
556 | uint64_t reserved_20_20:1; | ||
557 | uint64_t set:2; | ||
558 | uint64_t reserved_16_17:2; | ||
559 | uint64_t vabnum:2; | ||
560 | uint64_t sid:9; | ||
561 | uint64_t cmd:4; | ||
562 | uint64_t vld:1; | ||
563 | } cn30xx; | ||
564 | struct cvmx_l2c_lfb0_cn31xx { | ||
565 | uint64_t reserved_32_63:32; | ||
566 | uint64_t stcpnd:1; | ||
567 | uint64_t stpnd:1; | ||
568 | uint64_t stinv:1; | ||
569 | uint64_t stcfl:1; | ||
570 | uint64_t vam:1; | ||
571 | uint64_t reserved_26_26:1; | ||
572 | uint64_t inxt:3; | ||
573 | uint64_t itl:1; | ||
574 | uint64_t ihd:1; | ||
575 | uint64_t reserved_20_20:1; | ||
576 | uint64_t set:2; | ||
577 | uint64_t reserved_17_17:1; | ||
578 | uint64_t vabnum:3; | ||
579 | uint64_t sid:9; | ||
580 | uint64_t cmd:4; | ||
581 | uint64_t vld:1; | ||
582 | } cn31xx; | ||
583 | struct cvmx_l2c_lfb0_s cn38xx; | ||
584 | struct cvmx_l2c_lfb0_s cn38xxp2; | ||
585 | struct cvmx_l2c_lfb0_cn50xx { | ||
586 | uint64_t reserved_32_63:32; | ||
587 | uint64_t stcpnd:1; | ||
588 | uint64_t stpnd:1; | ||
589 | uint64_t stinv:1; | ||
590 | uint64_t stcfl:1; | ||
591 | uint64_t vam:1; | ||
592 | uint64_t reserved_26_26:1; | ||
593 | uint64_t inxt:3; | ||
594 | uint64_t itl:1; | ||
595 | uint64_t ihd:1; | ||
596 | uint64_t set:3; | ||
597 | uint64_t reserved_17_17:1; | ||
598 | uint64_t vabnum:3; | ||
599 | uint64_t sid:9; | ||
600 | uint64_t cmd:4; | ||
601 | uint64_t vld:1; | ||
602 | } cn50xx; | ||
603 | struct cvmx_l2c_lfb0_cn50xx cn52xx; | ||
604 | struct cvmx_l2c_lfb0_cn50xx cn52xxp1; | ||
605 | struct cvmx_l2c_lfb0_s cn56xx; | ||
606 | struct cvmx_l2c_lfb0_s cn56xxp1; | ||
607 | struct cvmx_l2c_lfb0_s cn58xx; | ||
608 | struct cvmx_l2c_lfb0_s cn58xxp1; | ||
609 | }; | ||
610 | |||
611 | union cvmx_l2c_lfb1 { | ||
612 | uint64_t u64; | ||
613 | struct cvmx_l2c_lfb1_s { | ||
614 | uint64_t reserved_19_63:45; | ||
615 | uint64_t dsgoing:1; | ||
616 | uint64_t bid:2; | ||
617 | uint64_t wtrsp:1; | ||
618 | uint64_t wtdw:1; | ||
619 | uint64_t wtdq:1; | ||
620 | uint64_t wtwhp:1; | ||
621 | uint64_t wtwhf:1; | ||
622 | uint64_t wtwrm:1; | ||
623 | uint64_t wtstm:1; | ||
624 | uint64_t wtrda:1; | ||
625 | uint64_t wtstdt:1; | ||
626 | uint64_t wtstrsp:1; | ||
627 | uint64_t wtstrsc:1; | ||
628 | uint64_t wtvtm:1; | ||
629 | uint64_t wtmfl:1; | ||
630 | uint64_t prbrty:1; | ||
631 | uint64_t wtprb:1; | ||
632 | uint64_t vld:1; | ||
633 | } s; | ||
634 | struct cvmx_l2c_lfb1_s cn30xx; | ||
635 | struct cvmx_l2c_lfb1_s cn31xx; | ||
636 | struct cvmx_l2c_lfb1_s cn38xx; | ||
637 | struct cvmx_l2c_lfb1_s cn38xxp2; | ||
638 | struct cvmx_l2c_lfb1_s cn50xx; | ||
639 | struct cvmx_l2c_lfb1_s cn52xx; | ||
640 | struct cvmx_l2c_lfb1_s cn52xxp1; | ||
641 | struct cvmx_l2c_lfb1_s cn56xx; | ||
642 | struct cvmx_l2c_lfb1_s cn56xxp1; | ||
643 | struct cvmx_l2c_lfb1_s cn58xx; | ||
644 | struct cvmx_l2c_lfb1_s cn58xxp1; | ||
645 | }; | ||
646 | |||
647 | union cvmx_l2c_lfb2 { | ||
648 | uint64_t u64; | ||
649 | struct cvmx_l2c_lfb2_s { | ||
650 | uint64_t reserved_0_63:64; | ||
651 | } s; | ||
652 | struct cvmx_l2c_lfb2_cn30xx { | ||
653 | uint64_t reserved_27_63:37; | ||
654 | uint64_t lfb_tag:19; | ||
655 | uint64_t lfb_idx:8; | ||
656 | } cn30xx; | ||
657 | struct cvmx_l2c_lfb2_cn31xx { | ||
658 | uint64_t reserved_27_63:37; | ||
659 | uint64_t lfb_tag:17; | ||
660 | uint64_t lfb_idx:10; | ||
661 | } cn31xx; | ||
662 | struct cvmx_l2c_lfb2_cn31xx cn38xx; | ||
663 | struct cvmx_l2c_lfb2_cn31xx cn38xxp2; | ||
664 | struct cvmx_l2c_lfb2_cn50xx { | ||
665 | uint64_t reserved_27_63:37; | ||
666 | uint64_t lfb_tag:20; | ||
667 | uint64_t lfb_idx:7; | ||
668 | } cn50xx; | ||
669 | struct cvmx_l2c_lfb2_cn52xx { | ||
670 | uint64_t reserved_27_63:37; | ||
671 | uint64_t lfb_tag:18; | ||
672 | uint64_t lfb_idx:9; | ||
673 | } cn52xx; | ||
674 | struct cvmx_l2c_lfb2_cn52xx cn52xxp1; | ||
675 | struct cvmx_l2c_lfb2_cn56xx { | ||
676 | uint64_t reserved_27_63:37; | ||
677 | uint64_t lfb_tag:16; | ||
678 | uint64_t lfb_idx:11; | ||
679 | } cn56xx; | ||
680 | struct cvmx_l2c_lfb2_cn56xx cn56xxp1; | ||
681 | struct cvmx_l2c_lfb2_cn56xx cn58xx; | ||
682 | struct cvmx_l2c_lfb2_cn56xx cn58xxp1; | ||
683 | }; | ||
684 | |||
685 | union cvmx_l2c_lfb3 { | ||
686 | uint64_t u64; | ||
687 | struct cvmx_l2c_lfb3_s { | ||
688 | uint64_t reserved_5_63:59; | ||
689 | uint64_t stpartdis:1; | ||
690 | uint64_t lfb_hwm:4; | ||
691 | } s; | ||
692 | struct cvmx_l2c_lfb3_cn30xx { | ||
693 | uint64_t reserved_5_63:59; | ||
694 | uint64_t stpartdis:1; | ||
695 | uint64_t reserved_2_3:2; | ||
696 | uint64_t lfb_hwm:2; | ||
697 | } cn30xx; | ||
698 | struct cvmx_l2c_lfb3_cn31xx { | ||
699 | uint64_t reserved_5_63:59; | ||
700 | uint64_t stpartdis:1; | ||
701 | uint64_t reserved_3_3:1; | ||
702 | uint64_t lfb_hwm:3; | ||
703 | } cn31xx; | ||
704 | struct cvmx_l2c_lfb3_s cn38xx; | ||
705 | struct cvmx_l2c_lfb3_s cn38xxp2; | ||
706 | struct cvmx_l2c_lfb3_cn31xx cn50xx; | ||
707 | struct cvmx_l2c_lfb3_cn31xx cn52xx; | ||
708 | struct cvmx_l2c_lfb3_cn31xx cn52xxp1; | ||
709 | struct cvmx_l2c_lfb3_s cn56xx; | ||
710 | struct cvmx_l2c_lfb3_s cn56xxp1; | ||
711 | struct cvmx_l2c_lfb3_s cn58xx; | ||
712 | struct cvmx_l2c_lfb3_s cn58xxp1; | ||
713 | }; | ||
714 | |||
715 | union cvmx_l2c_oob { | ||
716 | uint64_t u64; | ||
717 | struct cvmx_l2c_oob_s { | ||
718 | uint64_t reserved_2_63:62; | ||
719 | uint64_t dwbena:1; | ||
720 | uint64_t stena:1; | ||
721 | } s; | ||
722 | struct cvmx_l2c_oob_s cn52xx; | ||
723 | struct cvmx_l2c_oob_s cn52xxp1; | ||
724 | struct cvmx_l2c_oob_s cn56xx; | ||
725 | struct cvmx_l2c_oob_s cn56xxp1; | ||
726 | }; | ||
727 | |||
728 | union cvmx_l2c_oob1 { | ||
729 | uint64_t u64; | ||
730 | struct cvmx_l2c_oob1_s { | ||
731 | uint64_t fadr:27; | ||
732 | uint64_t fsrc:1; | ||
733 | uint64_t reserved_34_35:2; | ||
734 | uint64_t sadr:14; | ||
735 | uint64_t reserved_14_19:6; | ||
736 | uint64_t size:14; | ||
737 | } s; | ||
738 | struct cvmx_l2c_oob1_s cn52xx; | ||
739 | struct cvmx_l2c_oob1_s cn52xxp1; | ||
740 | struct cvmx_l2c_oob1_s cn56xx; | ||
741 | struct cvmx_l2c_oob1_s cn56xxp1; | ||
742 | }; | ||
743 | |||
744 | union cvmx_l2c_oob2 { | ||
745 | uint64_t u64; | ||
746 | struct cvmx_l2c_oob2_s { | ||
747 | uint64_t fadr:27; | ||
748 | uint64_t fsrc:1; | ||
749 | uint64_t reserved_34_35:2; | ||
750 | uint64_t sadr:14; | ||
751 | uint64_t reserved_14_19:6; | ||
752 | uint64_t size:14; | ||
753 | } s; | ||
754 | struct cvmx_l2c_oob2_s cn52xx; | ||
755 | struct cvmx_l2c_oob2_s cn52xxp1; | ||
756 | struct cvmx_l2c_oob2_s cn56xx; | ||
757 | struct cvmx_l2c_oob2_s cn56xxp1; | ||
758 | }; | ||
759 | |||
760 | union cvmx_l2c_oob3 { | ||
761 | uint64_t u64; | ||
762 | struct cvmx_l2c_oob3_s { | ||
763 | uint64_t fadr:27; | ||
764 | uint64_t fsrc:1; | ||
765 | uint64_t reserved_34_35:2; | ||
766 | uint64_t sadr:14; | ||
767 | uint64_t reserved_14_19:6; | ||
768 | uint64_t size:14; | ||
769 | } s; | ||
770 | struct cvmx_l2c_oob3_s cn52xx; | ||
771 | struct cvmx_l2c_oob3_s cn52xxp1; | ||
772 | struct cvmx_l2c_oob3_s cn56xx; | ||
773 | struct cvmx_l2c_oob3_s cn56xxp1; | ||
774 | }; | ||
775 | |||
776 | union cvmx_l2c_pfcx { | ||
777 | uint64_t u64; | ||
778 | struct cvmx_l2c_pfcx_s { | ||
779 | uint64_t reserved_36_63:28; | ||
780 | uint64_t pfcnt0:36; | ||
781 | } s; | ||
782 | struct cvmx_l2c_pfcx_s cn30xx; | ||
783 | struct cvmx_l2c_pfcx_s cn31xx; | ||
784 | struct cvmx_l2c_pfcx_s cn38xx; | ||
785 | struct cvmx_l2c_pfcx_s cn38xxp2; | ||
786 | struct cvmx_l2c_pfcx_s cn50xx; | ||
787 | struct cvmx_l2c_pfcx_s cn52xx; | ||
788 | struct cvmx_l2c_pfcx_s cn52xxp1; | ||
789 | struct cvmx_l2c_pfcx_s cn56xx; | ||
790 | struct cvmx_l2c_pfcx_s cn56xxp1; | ||
791 | struct cvmx_l2c_pfcx_s cn58xx; | ||
792 | struct cvmx_l2c_pfcx_s cn58xxp1; | ||
793 | }; | ||
794 | |||
795 | union cvmx_l2c_pfctl { | ||
796 | uint64_t u64; | ||
797 | struct cvmx_l2c_pfctl_s { | ||
798 | uint64_t reserved_36_63:28; | ||
799 | uint64_t cnt3rdclr:1; | ||
800 | uint64_t cnt2rdclr:1; | ||
801 | uint64_t cnt1rdclr:1; | ||
802 | uint64_t cnt0rdclr:1; | ||
803 | uint64_t cnt3ena:1; | ||
804 | uint64_t cnt3clr:1; | ||
805 | uint64_t cnt3sel:6; | ||
806 | uint64_t cnt2ena:1; | ||
807 | uint64_t cnt2clr:1; | ||
808 | uint64_t cnt2sel:6; | ||
809 | uint64_t cnt1ena:1; | ||
810 | uint64_t cnt1clr:1; | ||
811 | uint64_t cnt1sel:6; | ||
812 | uint64_t cnt0ena:1; | ||
813 | uint64_t cnt0clr:1; | ||
814 | uint64_t cnt0sel:6; | ||
815 | } s; | ||
816 | struct cvmx_l2c_pfctl_s cn30xx; | ||
817 | struct cvmx_l2c_pfctl_s cn31xx; | ||
818 | struct cvmx_l2c_pfctl_s cn38xx; | ||
819 | struct cvmx_l2c_pfctl_s cn38xxp2; | ||
820 | struct cvmx_l2c_pfctl_s cn50xx; | ||
821 | struct cvmx_l2c_pfctl_s cn52xx; | ||
822 | struct cvmx_l2c_pfctl_s cn52xxp1; | ||
823 | struct cvmx_l2c_pfctl_s cn56xx; | ||
824 | struct cvmx_l2c_pfctl_s cn56xxp1; | ||
825 | struct cvmx_l2c_pfctl_s cn58xx; | ||
826 | struct cvmx_l2c_pfctl_s cn58xxp1; | ||
827 | }; | ||
828 | |||
829 | union cvmx_l2c_ppgrp { | ||
830 | uint64_t u64; | ||
831 | struct cvmx_l2c_ppgrp_s { | ||
832 | uint64_t reserved_24_63:40; | ||
833 | uint64_t pp11grp:2; | ||
834 | uint64_t pp10grp:2; | ||
835 | uint64_t pp9grp:2; | ||
836 | uint64_t pp8grp:2; | ||
837 | uint64_t pp7grp:2; | ||
838 | uint64_t pp6grp:2; | ||
839 | uint64_t pp5grp:2; | ||
840 | uint64_t pp4grp:2; | ||
841 | uint64_t pp3grp:2; | ||
842 | uint64_t pp2grp:2; | ||
843 | uint64_t pp1grp:2; | ||
844 | uint64_t pp0grp:2; | ||
845 | } s; | ||
846 | struct cvmx_l2c_ppgrp_cn52xx { | ||
847 | uint64_t reserved_8_63:56; | ||
848 | uint64_t pp3grp:2; | ||
849 | uint64_t pp2grp:2; | ||
850 | uint64_t pp1grp:2; | ||
851 | uint64_t pp0grp:2; | ||
852 | } cn52xx; | ||
853 | struct cvmx_l2c_ppgrp_cn52xx cn52xxp1; | ||
854 | struct cvmx_l2c_ppgrp_s cn56xx; | ||
855 | struct cvmx_l2c_ppgrp_s cn56xxp1; | ||
856 | }; | ||
857 | |||
858 | union cvmx_l2c_spar0 { | ||
859 | uint64_t u64; | ||
860 | struct cvmx_l2c_spar0_s { | ||
861 | uint64_t reserved_32_63:32; | ||
862 | uint64_t umsk3:8; | ||
863 | uint64_t umsk2:8; | ||
864 | uint64_t umsk1:8; | ||
865 | uint64_t umsk0:8; | ||
866 | } s; | ||
867 | struct cvmx_l2c_spar0_cn30xx { | ||
868 | uint64_t reserved_4_63:60; | ||
869 | uint64_t umsk0:4; | ||
870 | } cn30xx; | ||
871 | struct cvmx_l2c_spar0_cn31xx { | ||
872 | uint64_t reserved_12_63:52; | ||
873 | uint64_t umsk1:4; | ||
874 | uint64_t reserved_4_7:4; | ||
875 | uint64_t umsk0:4; | ||
876 | } cn31xx; | ||
877 | struct cvmx_l2c_spar0_s cn38xx; | ||
878 | struct cvmx_l2c_spar0_s cn38xxp2; | ||
879 | struct cvmx_l2c_spar0_cn50xx { | ||
880 | uint64_t reserved_16_63:48; | ||
881 | uint64_t umsk1:8; | ||
882 | uint64_t umsk0:8; | ||
883 | } cn50xx; | ||
884 | struct cvmx_l2c_spar0_s cn52xx; | ||
885 | struct cvmx_l2c_spar0_s cn52xxp1; | ||
886 | struct cvmx_l2c_spar0_s cn56xx; | ||
887 | struct cvmx_l2c_spar0_s cn56xxp1; | ||
888 | struct cvmx_l2c_spar0_s cn58xx; | ||
889 | struct cvmx_l2c_spar0_s cn58xxp1; | ||
890 | }; | ||
891 | |||
892 | union cvmx_l2c_spar1 { | ||
893 | uint64_t u64; | ||
894 | struct cvmx_l2c_spar1_s { | ||
895 | uint64_t reserved_32_63:32; | ||
896 | uint64_t umsk7:8; | ||
897 | uint64_t umsk6:8; | ||
898 | uint64_t umsk5:8; | ||
899 | uint64_t umsk4:8; | ||
900 | } s; | ||
901 | struct cvmx_l2c_spar1_s cn38xx; | ||
902 | struct cvmx_l2c_spar1_s cn38xxp2; | ||
903 | struct cvmx_l2c_spar1_s cn56xx; | ||
904 | struct cvmx_l2c_spar1_s cn56xxp1; | ||
905 | struct cvmx_l2c_spar1_s cn58xx; | ||
906 | struct cvmx_l2c_spar1_s cn58xxp1; | ||
907 | }; | ||
908 | |||
909 | union cvmx_l2c_spar2 { | ||
910 | uint64_t u64; | ||
911 | struct cvmx_l2c_spar2_s { | ||
912 | uint64_t reserved_32_63:32; | ||
913 | uint64_t umsk11:8; | ||
914 | uint64_t umsk10:8; | ||
915 | uint64_t umsk9:8; | ||
916 | uint64_t umsk8:8; | ||
917 | } s; | ||
918 | struct cvmx_l2c_spar2_s cn38xx; | ||
919 | struct cvmx_l2c_spar2_s cn38xxp2; | ||
920 | struct cvmx_l2c_spar2_s cn56xx; | ||
921 | struct cvmx_l2c_spar2_s cn56xxp1; | ||
922 | struct cvmx_l2c_spar2_s cn58xx; | ||
923 | struct cvmx_l2c_spar2_s cn58xxp1; | ||
924 | }; | ||
925 | |||
926 | union cvmx_l2c_spar3 { | ||
927 | uint64_t u64; | ||
928 | struct cvmx_l2c_spar3_s { | ||
929 | uint64_t reserved_32_63:32; | ||
930 | uint64_t umsk15:8; | ||
931 | uint64_t umsk14:8; | ||
932 | uint64_t umsk13:8; | ||
933 | uint64_t umsk12:8; | ||
934 | } s; | ||
935 | struct cvmx_l2c_spar3_s cn38xx; | ||
936 | struct cvmx_l2c_spar3_s cn38xxp2; | ||
937 | struct cvmx_l2c_spar3_s cn58xx; | ||
938 | struct cvmx_l2c_spar3_s cn58xxp1; | ||
939 | }; | ||
940 | |||
941 | union cvmx_l2c_spar4 { | ||
942 | uint64_t u64; | ||
943 | struct cvmx_l2c_spar4_s { | ||
944 | uint64_t reserved_8_63:56; | ||
945 | uint64_t umskiob:8; | ||
946 | } s; | ||
947 | struct cvmx_l2c_spar4_cn30xx { | ||
948 | uint64_t reserved_4_63:60; | ||
949 | uint64_t umskiob:4; | ||
950 | } cn30xx; | ||
951 | struct cvmx_l2c_spar4_cn30xx cn31xx; | ||
952 | struct cvmx_l2c_spar4_s cn38xx; | ||
953 | struct cvmx_l2c_spar4_s cn38xxp2; | ||
954 | struct cvmx_l2c_spar4_s cn50xx; | ||
955 | struct cvmx_l2c_spar4_s cn52xx; | ||
956 | struct cvmx_l2c_spar4_s cn52xxp1; | ||
957 | struct cvmx_l2c_spar4_s cn56xx; | ||
958 | struct cvmx_l2c_spar4_s cn56xxp1; | ||
959 | struct cvmx_l2c_spar4_s cn58xx; | ||
960 | struct cvmx_l2c_spar4_s cn58xxp1; | ||
961 | }; | ||
962 | |||
963 | #endif | ||