]> git.proxmox.com Git - mirror_ubuntu-zesty-kernel.git/blob - arch/mips/include/asm/octeon/cvmx-l2c-defs.h
Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus
[mirror_ubuntu-zesty-kernel.git] / arch / mips / include / asm / octeon / cvmx-l2c-defs.h
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-2012 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_BIG_CTL (CVMX_ADD_IO_SEG(0x0001180080800030ull))
32 #define CVMX_L2C_BST (CVMX_ADD_IO_SEG(0x00011800808007F8ull))
33 #define CVMX_L2C_BST0 (CVMX_ADD_IO_SEG(0x00011800800007F8ull))
34 #define CVMX_L2C_BST1 (CVMX_ADD_IO_SEG(0x00011800800007F0ull))
35 #define CVMX_L2C_BST2 (CVMX_ADD_IO_SEG(0x00011800800007E8ull))
36 #define CVMX_L2C_BST_MEMX(block_id) (CVMX_ADD_IO_SEG(0x0001180080C007F8ull) + ((block_id) & 3) * 0x40000ull)
37 #define CVMX_L2C_BST_TDTX(block_id) (CVMX_ADD_IO_SEG(0x0001180080A007F0ull) + ((block_id) & 3) * 0x40000ull)
38 #define CVMX_L2C_BST_TTGX(block_id) (CVMX_ADD_IO_SEG(0x0001180080A007F8ull) + ((block_id) & 3) * 0x40000ull)
39 #define CVMX_L2C_CFG (CVMX_ADD_IO_SEG(0x0001180080000000ull))
40 #define CVMX_L2C_COP0_MAPX(offset) (CVMX_ADD_IO_SEG(0x0001180080940000ull) + ((offset) & 16383) * 8)
41 #define CVMX_L2C_CTL (CVMX_ADD_IO_SEG(0x0001180080800000ull))
42 #define CVMX_L2C_DBG (CVMX_ADD_IO_SEG(0x0001180080000030ull))
43 #define CVMX_L2C_DUT (CVMX_ADD_IO_SEG(0x0001180080000050ull))
44 #define CVMX_L2C_DUT_MAPX(offset) (CVMX_ADD_IO_SEG(0x0001180080E00000ull) + ((offset) & 8191) * 8)
45 #define CVMX_L2C_ERR_TDTX(block_id) (CVMX_ADD_IO_SEG(0x0001180080A007E0ull) + ((block_id) & 3) * 0x40000ull)
46 #define CVMX_L2C_ERR_TTGX(block_id) (CVMX_ADD_IO_SEG(0x0001180080A007E8ull) + ((block_id) & 3) * 0x40000ull)
47 #define CVMX_L2C_ERR_VBFX(block_id) (CVMX_ADD_IO_SEG(0x0001180080C007F0ull) + ((block_id) & 3) * 0x40000ull)
48 #define CVMX_L2C_ERR_XMC (CVMX_ADD_IO_SEG(0x00011800808007D8ull))
49 #define CVMX_L2C_GRPWRR0 (CVMX_ADD_IO_SEG(0x00011800800000C8ull))
50 #define CVMX_L2C_GRPWRR1 (CVMX_ADD_IO_SEG(0x00011800800000D0ull))
51 #define CVMX_L2C_INT_EN (CVMX_ADD_IO_SEG(0x0001180080000100ull))
52 #define CVMX_L2C_INT_ENA (CVMX_ADD_IO_SEG(0x0001180080800020ull))
53 #define CVMX_L2C_INT_REG (CVMX_ADD_IO_SEG(0x0001180080800018ull))
54 #define CVMX_L2C_INT_STAT (CVMX_ADD_IO_SEG(0x00011800800000F8ull))
55 #define CVMX_L2C_IOCX_PFC(block_id) (CVMX_ADD_IO_SEG(0x0001180080800420ull))
56 #define CVMX_L2C_IORX_PFC(block_id) (CVMX_ADD_IO_SEG(0x0001180080800428ull))
57 #define CVMX_L2C_LCKBASE (CVMX_ADD_IO_SEG(0x0001180080000058ull))
58 #define CVMX_L2C_LCKOFF (CVMX_ADD_IO_SEG(0x0001180080000060ull))
59 #define CVMX_L2C_LFB0 (CVMX_ADD_IO_SEG(0x0001180080000038ull))
60 #define CVMX_L2C_LFB1 (CVMX_ADD_IO_SEG(0x0001180080000040ull))
61 #define CVMX_L2C_LFB2 (CVMX_ADD_IO_SEG(0x0001180080000048ull))
62 #define CVMX_L2C_LFB3 (CVMX_ADD_IO_SEG(0x00011800800000B8ull))
63 #define CVMX_L2C_OOB (CVMX_ADD_IO_SEG(0x00011800800000D8ull))
64 #define CVMX_L2C_OOB1 (CVMX_ADD_IO_SEG(0x00011800800000E0ull))
65 #define CVMX_L2C_OOB2 (CVMX_ADD_IO_SEG(0x00011800800000E8ull))
66 #define CVMX_L2C_OOB3 (CVMX_ADD_IO_SEG(0x00011800800000F0ull))
67 #define CVMX_L2C_PFC0 CVMX_L2C_PFCX(0)
68 #define CVMX_L2C_PFC1 CVMX_L2C_PFCX(1)
69 #define CVMX_L2C_PFC2 CVMX_L2C_PFCX(2)
70 #define CVMX_L2C_PFC3 CVMX_L2C_PFCX(3)
71 #define CVMX_L2C_PFCTL (CVMX_ADD_IO_SEG(0x0001180080000090ull))
72 #define CVMX_L2C_PFCX(offset) (CVMX_ADD_IO_SEG(0x0001180080000098ull) + ((offset) & 3) * 8)
73 #define CVMX_L2C_PPGRP (CVMX_ADD_IO_SEG(0x00011800800000C0ull))
74 #define CVMX_L2C_QOS_IOBX(offset) (CVMX_ADD_IO_SEG(0x0001180080880200ull) + ((offset) & 1) * 8)
75 #define CVMX_L2C_QOS_PPX(offset) (CVMX_ADD_IO_SEG(0x0001180080880000ull) + ((offset) & 31) * 8)
76 #define CVMX_L2C_QOS_WGT (CVMX_ADD_IO_SEG(0x0001180080800008ull))
77 #define CVMX_L2C_RSCX_PFC(offset) (CVMX_ADD_IO_SEG(0x0001180080800410ull) + ((offset) & 3) * 64)
78 #define CVMX_L2C_RSDX_PFC(offset) (CVMX_ADD_IO_SEG(0x0001180080800418ull) + ((offset) & 3) * 64)
79 #define CVMX_L2C_SPAR0 (CVMX_ADD_IO_SEG(0x0001180080000068ull))
80 #define CVMX_L2C_SPAR1 (CVMX_ADD_IO_SEG(0x0001180080000070ull))
81 #define CVMX_L2C_SPAR2 (CVMX_ADD_IO_SEG(0x0001180080000078ull))
82 #define CVMX_L2C_SPAR3 (CVMX_ADD_IO_SEG(0x0001180080000080ull))
83 #define CVMX_L2C_SPAR4 (CVMX_ADD_IO_SEG(0x0001180080000088ull))
84 #define CVMX_L2C_TADX_ECC0(block_id) (CVMX_ADD_IO_SEG(0x0001180080A00018ull) + ((block_id) & 3) * 0x40000ull)
85 #define CVMX_L2C_TADX_ECC1(block_id) (CVMX_ADD_IO_SEG(0x0001180080A00020ull) + ((block_id) & 3) * 0x40000ull)
86 #define CVMX_L2C_TADX_IEN(block_id) (CVMX_ADD_IO_SEG(0x0001180080A00000ull) + ((block_id) & 3) * 0x40000ull)
87 #define CVMX_L2C_TADX_INT(block_id) (CVMX_ADD_IO_SEG(0x0001180080A00028ull) + ((block_id) & 3) * 0x40000ull)
88 #define CVMX_L2C_TADX_PFC0(block_id) (CVMX_ADD_IO_SEG(0x0001180080A00400ull) + ((block_id) & 3) * 0x40000ull)
89 #define CVMX_L2C_TADX_PFC1(block_id) (CVMX_ADD_IO_SEG(0x0001180080A00408ull) + ((block_id) & 3) * 0x40000ull)
90 #define CVMX_L2C_TADX_PFC2(block_id) (CVMX_ADD_IO_SEG(0x0001180080A00410ull) + ((block_id) & 3) * 0x40000ull)
91 #define CVMX_L2C_TADX_PFC3(block_id) (CVMX_ADD_IO_SEG(0x0001180080A00418ull) + ((block_id) & 3) * 0x40000ull)
92 #define CVMX_L2C_TADX_PRF(block_id) (CVMX_ADD_IO_SEG(0x0001180080A00008ull) + ((block_id) & 3) * 0x40000ull)
93 #define CVMX_L2C_TADX_TAG(block_id) (CVMX_ADD_IO_SEG(0x0001180080A00010ull) + ((block_id) & 3) * 0x40000ull)
94 #define CVMX_L2C_VER_ID (CVMX_ADD_IO_SEG(0x00011800808007E0ull))
95 #define CVMX_L2C_VER_IOB (CVMX_ADD_IO_SEG(0x00011800808007F0ull))
96 #define CVMX_L2C_VER_MSC (CVMX_ADD_IO_SEG(0x00011800808007D0ull))
97 #define CVMX_L2C_VER_PP (CVMX_ADD_IO_SEG(0x00011800808007E8ull))
98 #define CVMX_L2C_VIRTID_IOBX(offset) (CVMX_ADD_IO_SEG(0x00011800808C0200ull) + ((offset) & 1) * 8)
99 #define CVMX_L2C_VIRTID_PPX(offset) (CVMX_ADD_IO_SEG(0x00011800808C0000ull) + ((offset) & 31) * 8)
100 #define CVMX_L2C_VRT_CTL (CVMX_ADD_IO_SEG(0x0001180080800010ull))
101 #define CVMX_L2C_VRT_MEMX(offset) (CVMX_ADD_IO_SEG(0x0001180080900000ull) + ((offset) & 1023) * 8)
102 #define CVMX_L2C_WPAR_IOBX(offset) (CVMX_ADD_IO_SEG(0x0001180080840200ull) + ((offset) & 1) * 8)
103 #define CVMX_L2C_WPAR_PPX(offset) (CVMX_ADD_IO_SEG(0x0001180080840000ull) + ((offset) & 31) * 8)
104 #define CVMX_L2C_XMCX_PFC(offset) (CVMX_ADD_IO_SEG(0x0001180080800400ull) + ((offset) & 3) * 64)
105 #define CVMX_L2C_XMC_CMD (CVMX_ADD_IO_SEG(0x0001180080800028ull))
106 #define CVMX_L2C_XMDX_PFC(offset) (CVMX_ADD_IO_SEG(0x0001180080800408ull) + ((offset) & 3) * 64)
107
108 union cvmx_l2c_big_ctl {
109 uint64_t u64;
110 struct cvmx_l2c_big_ctl_s {
111 #ifdef __BIG_ENDIAN_BITFIELD
112 uint64_t reserved_8_63:56;
113 uint64_t maxdram:4;
114 uint64_t reserved_1_3:3;
115 uint64_t disable:1;
116 #else
117 uint64_t disable:1;
118 uint64_t reserved_1_3:3;
119 uint64_t maxdram:4;
120 uint64_t reserved_8_63:56;
121 #endif
122 } s;
123 struct cvmx_l2c_big_ctl_s cn61xx;
124 struct cvmx_l2c_big_ctl_s cn63xx;
125 struct cvmx_l2c_big_ctl_s cn66xx;
126 struct cvmx_l2c_big_ctl_s cn68xx;
127 struct cvmx_l2c_big_ctl_s cn68xxp1;
128 struct cvmx_l2c_big_ctl_s cnf71xx;
129 };
130
131 union cvmx_l2c_bst {
132 uint64_t u64;
133 struct cvmx_l2c_bst_s {
134 #ifdef __BIG_ENDIAN_BITFIELD
135 uint64_t dutfl:32;
136 uint64_t rbffl:4;
137 uint64_t xbffl:4;
138 uint64_t tdpfl:4;
139 uint64_t ioccmdfl:4;
140 uint64_t iocdatfl:4;
141 uint64_t dutresfl:4;
142 uint64_t vrtfl:4;
143 uint64_t tdffl:4;
144 #else
145 uint64_t tdffl:4;
146 uint64_t vrtfl:4;
147 uint64_t dutresfl:4;
148 uint64_t iocdatfl:4;
149 uint64_t ioccmdfl:4;
150 uint64_t tdpfl:4;
151 uint64_t xbffl:4;
152 uint64_t rbffl:4;
153 uint64_t dutfl:32;
154 #endif
155 } s;
156 struct cvmx_l2c_bst_cn61xx {
157 #ifdef __BIG_ENDIAN_BITFIELD
158 uint64_t reserved_36_63:28;
159 uint64_t dutfl:4;
160 uint64_t reserved_17_31:15;
161 uint64_t ioccmdfl:1;
162 uint64_t reserved_13_15:3;
163 uint64_t iocdatfl:1;
164 uint64_t reserved_9_11:3;
165 uint64_t dutresfl:1;
166 uint64_t reserved_5_7:3;
167 uint64_t vrtfl:1;
168 uint64_t reserved_1_3:3;
169 uint64_t tdffl:1;
170 #else
171 uint64_t tdffl:1;
172 uint64_t reserved_1_3:3;
173 uint64_t vrtfl:1;
174 uint64_t reserved_5_7:3;
175 uint64_t dutresfl:1;
176 uint64_t reserved_9_11:3;
177 uint64_t iocdatfl:1;
178 uint64_t reserved_13_15:3;
179 uint64_t ioccmdfl:1;
180 uint64_t reserved_17_31:15;
181 uint64_t dutfl:4;
182 uint64_t reserved_36_63:28;
183 #endif
184 } cn61xx;
185 struct cvmx_l2c_bst_cn63xx {
186 #ifdef __BIG_ENDIAN_BITFIELD
187 uint64_t reserved_38_63:26;
188 uint64_t dutfl:6;
189 uint64_t reserved_17_31:15;
190 uint64_t ioccmdfl:1;
191 uint64_t reserved_13_15:3;
192 uint64_t iocdatfl:1;
193 uint64_t reserved_9_11:3;
194 uint64_t dutresfl:1;
195 uint64_t reserved_5_7:3;
196 uint64_t vrtfl:1;
197 uint64_t reserved_1_3:3;
198 uint64_t tdffl:1;
199 #else
200 uint64_t tdffl:1;
201 uint64_t reserved_1_3:3;
202 uint64_t vrtfl:1;
203 uint64_t reserved_5_7:3;
204 uint64_t dutresfl:1;
205 uint64_t reserved_9_11:3;
206 uint64_t iocdatfl:1;
207 uint64_t reserved_13_15:3;
208 uint64_t ioccmdfl:1;
209 uint64_t reserved_17_31:15;
210 uint64_t dutfl:6;
211 uint64_t reserved_38_63:26;
212 #endif
213 } cn63xx;
214 struct cvmx_l2c_bst_cn63xx cn63xxp1;
215 struct cvmx_l2c_bst_cn66xx {
216 #ifdef __BIG_ENDIAN_BITFIELD
217 uint64_t reserved_42_63:22;
218 uint64_t dutfl:10;
219 uint64_t reserved_17_31:15;
220 uint64_t ioccmdfl:1;
221 uint64_t reserved_13_15:3;
222 uint64_t iocdatfl:1;
223 uint64_t reserved_9_11:3;
224 uint64_t dutresfl:1;
225 uint64_t reserved_5_7:3;
226 uint64_t vrtfl:1;
227 uint64_t reserved_1_3:3;
228 uint64_t tdffl:1;
229 #else
230 uint64_t tdffl:1;
231 uint64_t reserved_1_3:3;
232 uint64_t vrtfl:1;
233 uint64_t reserved_5_7:3;
234 uint64_t dutresfl:1;
235 uint64_t reserved_9_11:3;
236 uint64_t iocdatfl:1;
237 uint64_t reserved_13_15:3;
238 uint64_t ioccmdfl:1;
239 uint64_t reserved_17_31:15;
240 uint64_t dutfl:10;
241 uint64_t reserved_42_63:22;
242 #endif
243 } cn66xx;
244 struct cvmx_l2c_bst_s cn68xx;
245 struct cvmx_l2c_bst_s cn68xxp1;
246 struct cvmx_l2c_bst_cn61xx cnf71xx;
247 };
248
249 union cvmx_l2c_bst0 {
250 uint64_t u64;
251 struct cvmx_l2c_bst0_s {
252 #ifdef __BIG_ENDIAN_BITFIELD
253 uint64_t reserved_24_63:40;
254 uint64_t dtbnk:1;
255 uint64_t wlb_msk:4;
256 uint64_t dtcnt:13;
257 uint64_t dt:1;
258 uint64_t stin_msk:1;
259 uint64_t wlb_dat:4;
260 #else
261 uint64_t wlb_dat:4;
262 uint64_t stin_msk:1;
263 uint64_t dt:1;
264 uint64_t dtcnt:13;
265 uint64_t wlb_msk:4;
266 uint64_t dtbnk:1;
267 uint64_t reserved_24_63:40;
268 #endif
269 } s;
270 struct cvmx_l2c_bst0_cn30xx {
271 #ifdef __BIG_ENDIAN_BITFIELD
272 uint64_t reserved_23_63:41;
273 uint64_t wlb_msk:4;
274 uint64_t reserved_15_18:4;
275 uint64_t dtcnt:9;
276 uint64_t dt:1;
277 uint64_t reserved_4_4:1;
278 uint64_t wlb_dat:4;
279 #else
280 uint64_t wlb_dat:4;
281 uint64_t reserved_4_4:1;
282 uint64_t dt:1;
283 uint64_t dtcnt:9;
284 uint64_t reserved_15_18:4;
285 uint64_t wlb_msk:4;
286 uint64_t reserved_23_63:41;
287 #endif
288 } cn30xx;
289 struct cvmx_l2c_bst0_cn31xx {
290 #ifdef __BIG_ENDIAN_BITFIELD
291 uint64_t reserved_23_63:41;
292 uint64_t wlb_msk:4;
293 uint64_t reserved_16_18:3;
294 uint64_t dtcnt:10;
295 uint64_t dt:1;
296 uint64_t stin_msk:1;
297 uint64_t wlb_dat:4;
298 #else
299 uint64_t wlb_dat:4;
300 uint64_t stin_msk:1;
301 uint64_t dt:1;
302 uint64_t dtcnt:10;
303 uint64_t reserved_16_18:3;
304 uint64_t wlb_msk:4;
305 uint64_t reserved_23_63:41;
306 #endif
307 } cn31xx;
308 struct cvmx_l2c_bst0_cn38xx {
309 #ifdef __BIG_ENDIAN_BITFIELD
310 uint64_t reserved_19_63:45;
311 uint64_t dtcnt:13;
312 uint64_t dt:1;
313 uint64_t stin_msk:1;
314 uint64_t wlb_dat:4;
315 #else
316 uint64_t wlb_dat:4;
317 uint64_t stin_msk:1;
318 uint64_t dt:1;
319 uint64_t dtcnt:13;
320 uint64_t reserved_19_63:45;
321 #endif
322 } cn38xx;
323 struct cvmx_l2c_bst0_cn38xx cn38xxp2;
324 struct cvmx_l2c_bst0_cn50xx {
325 #ifdef __BIG_ENDIAN_BITFIELD
326 uint64_t reserved_24_63:40;
327 uint64_t dtbnk:1;
328 uint64_t wlb_msk:4;
329 uint64_t reserved_16_18:3;
330 uint64_t dtcnt:10;
331 uint64_t dt:1;
332 uint64_t stin_msk:1;
333 uint64_t wlb_dat:4;
334 #else
335 uint64_t wlb_dat:4;
336 uint64_t stin_msk:1;
337 uint64_t dt:1;
338 uint64_t dtcnt:10;
339 uint64_t reserved_16_18:3;
340 uint64_t wlb_msk:4;
341 uint64_t dtbnk:1;
342 uint64_t reserved_24_63:40;
343 #endif
344 } cn50xx;
345 struct cvmx_l2c_bst0_cn50xx cn52xx;
346 struct cvmx_l2c_bst0_cn50xx cn52xxp1;
347 struct cvmx_l2c_bst0_s cn56xx;
348 struct cvmx_l2c_bst0_s cn56xxp1;
349 struct cvmx_l2c_bst0_s cn58xx;
350 struct cvmx_l2c_bst0_s cn58xxp1;
351 };
352
353 union cvmx_l2c_bst1 {
354 uint64_t u64;
355 struct cvmx_l2c_bst1_s {
356 #ifdef __BIG_ENDIAN_BITFIELD
357 uint64_t reserved_9_63:55;
358 uint64_t l2t:9;
359 #else
360 uint64_t l2t:9;
361 uint64_t reserved_9_63:55;
362 #endif
363 } s;
364 struct cvmx_l2c_bst1_cn30xx {
365 #ifdef __BIG_ENDIAN_BITFIELD
366 uint64_t reserved_16_63:48;
367 uint64_t vwdf:4;
368 uint64_t lrf:2;
369 uint64_t vab_vwcf:1;
370 uint64_t reserved_5_8:4;
371 uint64_t l2t:5;
372 #else
373 uint64_t l2t:5;
374 uint64_t reserved_5_8:4;
375 uint64_t vab_vwcf:1;
376 uint64_t lrf:2;
377 uint64_t vwdf:4;
378 uint64_t reserved_16_63:48;
379 #endif
380 } cn30xx;
381 struct cvmx_l2c_bst1_cn30xx cn31xx;
382 struct cvmx_l2c_bst1_cn38xx {
383 #ifdef __BIG_ENDIAN_BITFIELD
384 uint64_t reserved_16_63:48;
385 uint64_t vwdf:4;
386 uint64_t lrf:2;
387 uint64_t vab_vwcf:1;
388 uint64_t l2t:9;
389 #else
390 uint64_t l2t:9;
391 uint64_t vab_vwcf:1;
392 uint64_t lrf:2;
393 uint64_t vwdf:4;
394 uint64_t reserved_16_63:48;
395 #endif
396 } cn38xx;
397 struct cvmx_l2c_bst1_cn38xx cn38xxp2;
398 struct cvmx_l2c_bst1_cn38xx cn50xx;
399 struct cvmx_l2c_bst1_cn52xx {
400 #ifdef __BIG_ENDIAN_BITFIELD
401 uint64_t reserved_19_63:45;
402 uint64_t plc2:1;
403 uint64_t plc1:1;
404 uint64_t plc0:1;
405 uint64_t vwdf:4;
406 uint64_t reserved_11_11:1;
407 uint64_t ilc:1;
408 uint64_t vab_vwcf:1;
409 uint64_t l2t:9;
410 #else
411 uint64_t l2t:9;
412 uint64_t vab_vwcf:1;
413 uint64_t ilc:1;
414 uint64_t reserved_11_11:1;
415 uint64_t vwdf:4;
416 uint64_t plc0:1;
417 uint64_t plc1:1;
418 uint64_t plc2:1;
419 uint64_t reserved_19_63:45;
420 #endif
421 } cn52xx;
422 struct cvmx_l2c_bst1_cn52xx cn52xxp1;
423 struct cvmx_l2c_bst1_cn56xx {
424 #ifdef __BIG_ENDIAN_BITFIELD
425 uint64_t reserved_24_63:40;
426 uint64_t plc2:1;
427 uint64_t plc1:1;
428 uint64_t plc0:1;
429 uint64_t ilc:1;
430 uint64_t vwdf1:4;
431 uint64_t vwdf0:4;
432 uint64_t vab_vwcf1:1;
433 uint64_t reserved_10_10:1;
434 uint64_t vab_vwcf0:1;
435 uint64_t l2t:9;
436 #else
437 uint64_t l2t:9;
438 uint64_t vab_vwcf0:1;
439 uint64_t reserved_10_10:1;
440 uint64_t vab_vwcf1:1;
441 uint64_t vwdf0:4;
442 uint64_t vwdf1:4;
443 uint64_t ilc:1;
444 uint64_t plc0:1;
445 uint64_t plc1:1;
446 uint64_t plc2:1;
447 uint64_t reserved_24_63:40;
448 #endif
449 } cn56xx;
450 struct cvmx_l2c_bst1_cn56xx cn56xxp1;
451 struct cvmx_l2c_bst1_cn38xx cn58xx;
452 struct cvmx_l2c_bst1_cn38xx cn58xxp1;
453 };
454
455 union cvmx_l2c_bst2 {
456 uint64_t u64;
457 struct cvmx_l2c_bst2_s {
458 #ifdef __BIG_ENDIAN_BITFIELD
459 uint64_t reserved_16_63:48;
460 uint64_t mrb:4;
461 uint64_t reserved_4_11:8;
462 uint64_t ipcbst:1;
463 uint64_t picbst:1;
464 uint64_t xrdmsk:1;
465 uint64_t xrddat:1;
466 #else
467 uint64_t xrddat:1;
468 uint64_t xrdmsk:1;
469 uint64_t picbst:1;
470 uint64_t ipcbst:1;
471 uint64_t reserved_4_11:8;
472 uint64_t mrb:4;
473 uint64_t reserved_16_63:48;
474 #endif
475 } s;
476 struct cvmx_l2c_bst2_cn30xx {
477 #ifdef __BIG_ENDIAN_BITFIELD
478 uint64_t reserved_16_63:48;
479 uint64_t mrb:4;
480 uint64_t rmdf:4;
481 uint64_t reserved_4_7:4;
482 uint64_t ipcbst:1;
483 uint64_t reserved_2_2:1;
484 uint64_t xrdmsk:1;
485 uint64_t xrddat:1;
486 #else
487 uint64_t xrddat:1;
488 uint64_t xrdmsk:1;
489 uint64_t reserved_2_2:1;
490 uint64_t ipcbst:1;
491 uint64_t reserved_4_7:4;
492 uint64_t rmdf:4;
493 uint64_t mrb:4;
494 uint64_t reserved_16_63:48;
495 #endif
496 } cn30xx;
497 struct cvmx_l2c_bst2_cn30xx cn31xx;
498 struct cvmx_l2c_bst2_cn38xx {
499 #ifdef __BIG_ENDIAN_BITFIELD
500 uint64_t reserved_16_63:48;
501 uint64_t mrb:4;
502 uint64_t rmdf:4;
503 uint64_t rhdf:4;
504 uint64_t ipcbst:1;
505 uint64_t picbst:1;
506 uint64_t xrdmsk:1;
507 uint64_t xrddat:1;
508 #else
509 uint64_t xrddat:1;
510 uint64_t xrdmsk:1;
511 uint64_t picbst:1;
512 uint64_t ipcbst:1;
513 uint64_t rhdf:4;
514 uint64_t rmdf:4;
515 uint64_t mrb:4;
516 uint64_t reserved_16_63:48;
517 #endif
518 } cn38xx;
519 struct cvmx_l2c_bst2_cn38xx cn38xxp2;
520 struct cvmx_l2c_bst2_cn30xx cn50xx;
521 struct cvmx_l2c_bst2_cn30xx cn52xx;
522 struct cvmx_l2c_bst2_cn30xx cn52xxp1;
523 struct cvmx_l2c_bst2_cn56xx {
524 #ifdef __BIG_ENDIAN_BITFIELD
525 uint64_t reserved_16_63:48;
526 uint64_t mrb:4;
527 uint64_t rmdb:4;
528 uint64_t rhdb:4;
529 uint64_t ipcbst:1;
530 uint64_t picbst:1;
531 uint64_t xrdmsk:1;
532 uint64_t xrddat:1;
533 #else
534 uint64_t xrddat:1;
535 uint64_t xrdmsk:1;
536 uint64_t picbst:1;
537 uint64_t ipcbst:1;
538 uint64_t rhdb:4;
539 uint64_t rmdb:4;
540 uint64_t mrb:4;
541 uint64_t reserved_16_63:48;
542 #endif
543 } cn56xx;
544 struct cvmx_l2c_bst2_cn56xx cn56xxp1;
545 struct cvmx_l2c_bst2_cn56xx cn58xx;
546 struct cvmx_l2c_bst2_cn56xx cn58xxp1;
547 };
548
549 union cvmx_l2c_bst_memx {
550 uint64_t u64;
551 struct cvmx_l2c_bst_memx_s {
552 #ifdef __BIG_ENDIAN_BITFIELD
553 uint64_t start_bist:1;
554 uint64_t clear_bist:1;
555 uint64_t reserved_5_61:57;
556 uint64_t rdffl:1;
557 uint64_t vbffl:4;
558 #else
559 uint64_t vbffl:4;
560 uint64_t rdffl:1;
561 uint64_t reserved_5_61:57;
562 uint64_t clear_bist:1;
563 uint64_t start_bist:1;
564 #endif
565 } s;
566 struct cvmx_l2c_bst_memx_s cn61xx;
567 struct cvmx_l2c_bst_memx_s cn63xx;
568 struct cvmx_l2c_bst_memx_s cn63xxp1;
569 struct cvmx_l2c_bst_memx_s cn66xx;
570 struct cvmx_l2c_bst_memx_s cn68xx;
571 struct cvmx_l2c_bst_memx_s cn68xxp1;
572 struct cvmx_l2c_bst_memx_s cnf71xx;
573 };
574
575 union cvmx_l2c_bst_tdtx {
576 uint64_t u64;
577 struct cvmx_l2c_bst_tdtx_s {
578 #ifdef __BIG_ENDIAN_BITFIELD
579 uint64_t reserved_32_63:32;
580 uint64_t fbfrspfl:8;
581 uint64_t sbffl:8;
582 uint64_t fbffl:8;
583 uint64_t l2dfl:8;
584 #else
585 uint64_t l2dfl:8;
586 uint64_t fbffl:8;
587 uint64_t sbffl:8;
588 uint64_t fbfrspfl:8;
589 uint64_t reserved_32_63:32;
590 #endif
591 } s;
592 struct cvmx_l2c_bst_tdtx_s cn61xx;
593 struct cvmx_l2c_bst_tdtx_s cn63xx;
594 struct cvmx_l2c_bst_tdtx_cn63xxp1 {
595 #ifdef __BIG_ENDIAN_BITFIELD
596 uint64_t reserved_24_63:40;
597 uint64_t sbffl:8;
598 uint64_t fbffl:8;
599 uint64_t l2dfl:8;
600 #else
601 uint64_t l2dfl:8;
602 uint64_t fbffl:8;
603 uint64_t sbffl:8;
604 uint64_t reserved_24_63:40;
605 #endif
606 } cn63xxp1;
607 struct cvmx_l2c_bst_tdtx_s cn66xx;
608 struct cvmx_l2c_bst_tdtx_s cn68xx;
609 struct cvmx_l2c_bst_tdtx_s cn68xxp1;
610 struct cvmx_l2c_bst_tdtx_s cnf71xx;
611 };
612
613 union cvmx_l2c_bst_ttgx {
614 uint64_t u64;
615 struct cvmx_l2c_bst_ttgx_s {
616 #ifdef __BIG_ENDIAN_BITFIELD
617 uint64_t reserved_17_63:47;
618 uint64_t lrufl:1;
619 uint64_t tagfl:16;
620 #else
621 uint64_t tagfl:16;
622 uint64_t lrufl:1;
623 uint64_t reserved_17_63:47;
624 #endif
625 } s;
626 struct cvmx_l2c_bst_ttgx_s cn61xx;
627 struct cvmx_l2c_bst_ttgx_s cn63xx;
628 struct cvmx_l2c_bst_ttgx_s cn63xxp1;
629 struct cvmx_l2c_bst_ttgx_s cn66xx;
630 struct cvmx_l2c_bst_ttgx_s cn68xx;
631 struct cvmx_l2c_bst_ttgx_s cn68xxp1;
632 struct cvmx_l2c_bst_ttgx_s cnf71xx;
633 };
634
635 union cvmx_l2c_cfg {
636 uint64_t u64;
637 struct cvmx_l2c_cfg_s {
638 #ifdef __BIG_ENDIAN_BITFIELD
639 uint64_t reserved_20_63:44;
640 uint64_t bstrun:1;
641 uint64_t lbist:1;
642 uint64_t xor_bank:1;
643 uint64_t dpres1:1;
644 uint64_t dpres0:1;
645 uint64_t dfill_dis:1;
646 uint64_t fpexp:4;
647 uint64_t fpempty:1;
648 uint64_t fpen:1;
649 uint64_t idxalias:1;
650 uint64_t mwf_crd:4;
651 uint64_t rsp_arb_mode:1;
652 uint64_t rfb_arb_mode:1;
653 uint64_t lrf_arb_mode:1;
654 #else
655 uint64_t lrf_arb_mode:1;
656 uint64_t rfb_arb_mode:1;
657 uint64_t rsp_arb_mode:1;
658 uint64_t mwf_crd:4;
659 uint64_t idxalias:1;
660 uint64_t fpen:1;
661 uint64_t fpempty:1;
662 uint64_t fpexp:4;
663 uint64_t dfill_dis:1;
664 uint64_t dpres0:1;
665 uint64_t dpres1:1;
666 uint64_t xor_bank:1;
667 uint64_t lbist:1;
668 uint64_t bstrun:1;
669 uint64_t reserved_20_63:44;
670 #endif
671 } s;
672 struct cvmx_l2c_cfg_cn30xx {
673 #ifdef __BIG_ENDIAN_BITFIELD
674 uint64_t reserved_14_63:50;
675 uint64_t fpexp:4;
676 uint64_t fpempty:1;
677 uint64_t fpen:1;
678 uint64_t idxalias:1;
679 uint64_t mwf_crd:4;
680 uint64_t rsp_arb_mode:1;
681 uint64_t rfb_arb_mode:1;
682 uint64_t lrf_arb_mode:1;
683 #else
684 uint64_t lrf_arb_mode:1;
685 uint64_t rfb_arb_mode:1;
686 uint64_t rsp_arb_mode:1;
687 uint64_t mwf_crd:4;
688 uint64_t idxalias:1;
689 uint64_t fpen:1;
690 uint64_t fpempty:1;
691 uint64_t fpexp:4;
692 uint64_t reserved_14_63:50;
693 #endif
694 } cn30xx;
695 struct cvmx_l2c_cfg_cn30xx cn31xx;
696 struct cvmx_l2c_cfg_cn30xx cn38xx;
697 struct cvmx_l2c_cfg_cn30xx cn38xxp2;
698 struct cvmx_l2c_cfg_cn50xx {
699 #ifdef __BIG_ENDIAN_BITFIELD
700 uint64_t reserved_20_63:44;
701 uint64_t bstrun:1;
702 uint64_t lbist:1;
703 uint64_t reserved_14_17:4;
704 uint64_t fpexp:4;
705 uint64_t fpempty:1;
706 uint64_t fpen:1;
707 uint64_t idxalias:1;
708 uint64_t mwf_crd:4;
709 uint64_t rsp_arb_mode:1;
710 uint64_t rfb_arb_mode:1;
711 uint64_t lrf_arb_mode:1;
712 #else
713 uint64_t lrf_arb_mode:1;
714 uint64_t rfb_arb_mode:1;
715 uint64_t rsp_arb_mode:1;
716 uint64_t mwf_crd:4;
717 uint64_t idxalias:1;
718 uint64_t fpen:1;
719 uint64_t fpempty:1;
720 uint64_t fpexp:4;
721 uint64_t reserved_14_17:4;
722 uint64_t lbist:1;
723 uint64_t bstrun:1;
724 uint64_t reserved_20_63:44;
725 #endif
726 } cn50xx;
727 struct cvmx_l2c_cfg_cn50xx cn52xx;
728 struct cvmx_l2c_cfg_cn50xx cn52xxp1;
729 struct cvmx_l2c_cfg_s cn56xx;
730 struct cvmx_l2c_cfg_s cn56xxp1;
731 struct cvmx_l2c_cfg_cn58xx {
732 #ifdef __BIG_ENDIAN_BITFIELD
733 uint64_t reserved_20_63:44;
734 uint64_t bstrun:1;
735 uint64_t lbist:1;
736 uint64_t reserved_15_17:3;
737 uint64_t dfill_dis:1;
738 uint64_t fpexp:4;
739 uint64_t fpempty:1;
740 uint64_t fpen:1;
741 uint64_t idxalias:1;
742 uint64_t mwf_crd:4;
743 uint64_t rsp_arb_mode:1;
744 uint64_t rfb_arb_mode:1;
745 uint64_t lrf_arb_mode:1;
746 #else
747 uint64_t lrf_arb_mode:1;
748 uint64_t rfb_arb_mode:1;
749 uint64_t rsp_arb_mode:1;
750 uint64_t mwf_crd:4;
751 uint64_t idxalias:1;
752 uint64_t fpen:1;
753 uint64_t fpempty:1;
754 uint64_t fpexp:4;
755 uint64_t dfill_dis:1;
756 uint64_t reserved_15_17:3;
757 uint64_t lbist:1;
758 uint64_t bstrun:1;
759 uint64_t reserved_20_63:44;
760 #endif
761 } cn58xx;
762 struct cvmx_l2c_cfg_cn58xxp1 {
763 #ifdef __BIG_ENDIAN_BITFIELD
764 uint64_t reserved_15_63:49;
765 uint64_t dfill_dis:1;
766 uint64_t fpexp:4;
767 uint64_t fpempty:1;
768 uint64_t fpen:1;
769 uint64_t idxalias:1;
770 uint64_t mwf_crd:4;
771 uint64_t rsp_arb_mode:1;
772 uint64_t rfb_arb_mode:1;
773 uint64_t lrf_arb_mode:1;
774 #else
775 uint64_t lrf_arb_mode:1;
776 uint64_t rfb_arb_mode:1;
777 uint64_t rsp_arb_mode:1;
778 uint64_t mwf_crd:4;
779 uint64_t idxalias:1;
780 uint64_t fpen:1;
781 uint64_t fpempty:1;
782 uint64_t fpexp:4;
783 uint64_t dfill_dis:1;
784 uint64_t reserved_15_63:49;
785 #endif
786 } cn58xxp1;
787 };
788
789 union cvmx_l2c_cop0_mapx {
790 uint64_t u64;
791 struct cvmx_l2c_cop0_mapx_s {
792 #ifdef __BIG_ENDIAN_BITFIELD
793 uint64_t data:64;
794 #else
795 uint64_t data:64;
796 #endif
797 } s;
798 struct cvmx_l2c_cop0_mapx_s cn61xx;
799 struct cvmx_l2c_cop0_mapx_s cn63xx;
800 struct cvmx_l2c_cop0_mapx_s cn63xxp1;
801 struct cvmx_l2c_cop0_mapx_s cn66xx;
802 struct cvmx_l2c_cop0_mapx_s cn68xx;
803 struct cvmx_l2c_cop0_mapx_s cn68xxp1;
804 struct cvmx_l2c_cop0_mapx_s cnf71xx;
805 };
806
807 union cvmx_l2c_ctl {
808 uint64_t u64;
809 struct cvmx_l2c_ctl_s {
810 #ifdef __BIG_ENDIAN_BITFIELD
811 uint64_t reserved_30_63:34;
812 uint64_t sepcmt:1;
813 uint64_t rdf_fast:1;
814 uint64_t disstgl2i:1;
815 uint64_t l2dfsbe:1;
816 uint64_t l2dfdbe:1;
817 uint64_t discclk:1;
818 uint64_t maxvab:4;
819 uint64_t maxlfb:4;
820 uint64_t rsp_arb_mode:1;
821 uint64_t xmc_arb_mode:1;
822 uint64_t ef_ena:1;
823 uint64_t ef_cnt:7;
824 uint64_t vab_thresh:4;
825 uint64_t disecc:1;
826 uint64_t disidxalias:1;
827 #else
828 uint64_t disidxalias:1;
829 uint64_t disecc:1;
830 uint64_t vab_thresh:4;
831 uint64_t ef_cnt:7;
832 uint64_t ef_ena:1;
833 uint64_t xmc_arb_mode:1;
834 uint64_t rsp_arb_mode:1;
835 uint64_t maxlfb:4;
836 uint64_t maxvab:4;
837 uint64_t discclk:1;
838 uint64_t l2dfdbe:1;
839 uint64_t l2dfsbe:1;
840 uint64_t disstgl2i:1;
841 uint64_t rdf_fast:1;
842 uint64_t sepcmt:1;
843 uint64_t reserved_30_63:34;
844 #endif
845 } s;
846 struct cvmx_l2c_ctl_cn61xx {
847 #ifdef __BIG_ENDIAN_BITFIELD
848 uint64_t reserved_29_63:35;
849 uint64_t rdf_fast:1;
850 uint64_t disstgl2i:1;
851 uint64_t l2dfsbe:1;
852 uint64_t l2dfdbe:1;
853 uint64_t discclk:1;
854 uint64_t maxvab:4;
855 uint64_t maxlfb:4;
856 uint64_t rsp_arb_mode:1;
857 uint64_t xmc_arb_mode:1;
858 uint64_t ef_ena:1;
859 uint64_t ef_cnt:7;
860 uint64_t vab_thresh:4;
861 uint64_t disecc:1;
862 uint64_t disidxalias:1;
863 #else
864 uint64_t disidxalias:1;
865 uint64_t disecc:1;
866 uint64_t vab_thresh:4;
867 uint64_t ef_cnt:7;
868 uint64_t ef_ena:1;
869 uint64_t xmc_arb_mode:1;
870 uint64_t rsp_arb_mode:1;
871 uint64_t maxlfb:4;
872 uint64_t maxvab:4;
873 uint64_t discclk:1;
874 uint64_t l2dfdbe:1;
875 uint64_t l2dfsbe:1;
876 uint64_t disstgl2i:1;
877 uint64_t rdf_fast:1;
878 uint64_t reserved_29_63:35;
879 #endif
880 } cn61xx;
881 struct cvmx_l2c_ctl_cn63xx {
882 #ifdef __BIG_ENDIAN_BITFIELD
883 uint64_t reserved_28_63:36;
884 uint64_t disstgl2i:1;
885 uint64_t l2dfsbe:1;
886 uint64_t l2dfdbe:1;
887 uint64_t discclk:1;
888 uint64_t maxvab:4;
889 uint64_t maxlfb:4;
890 uint64_t rsp_arb_mode:1;
891 uint64_t xmc_arb_mode:1;
892 uint64_t ef_ena:1;
893 uint64_t ef_cnt:7;
894 uint64_t vab_thresh:4;
895 uint64_t disecc:1;
896 uint64_t disidxalias:1;
897 #else
898 uint64_t disidxalias:1;
899 uint64_t disecc:1;
900 uint64_t vab_thresh:4;
901 uint64_t ef_cnt:7;
902 uint64_t ef_ena:1;
903 uint64_t xmc_arb_mode:1;
904 uint64_t rsp_arb_mode:1;
905 uint64_t maxlfb:4;
906 uint64_t maxvab:4;
907 uint64_t discclk:1;
908 uint64_t l2dfdbe:1;
909 uint64_t l2dfsbe:1;
910 uint64_t disstgl2i:1;
911 uint64_t reserved_28_63:36;
912 #endif
913 } cn63xx;
914 struct cvmx_l2c_ctl_cn63xxp1 {
915 #ifdef __BIG_ENDIAN_BITFIELD
916 uint64_t reserved_25_63:39;
917 uint64_t discclk:1;
918 uint64_t maxvab:4;
919 uint64_t maxlfb:4;
920 uint64_t rsp_arb_mode:1;
921 uint64_t xmc_arb_mode:1;
922 uint64_t ef_ena:1;
923 uint64_t ef_cnt:7;
924 uint64_t vab_thresh:4;
925 uint64_t disecc:1;
926 uint64_t disidxalias:1;
927 #else
928 uint64_t disidxalias:1;
929 uint64_t disecc:1;
930 uint64_t vab_thresh:4;
931 uint64_t ef_cnt:7;
932 uint64_t ef_ena:1;
933 uint64_t xmc_arb_mode:1;
934 uint64_t rsp_arb_mode:1;
935 uint64_t maxlfb:4;
936 uint64_t maxvab:4;
937 uint64_t discclk:1;
938 uint64_t reserved_25_63:39;
939 #endif
940 } cn63xxp1;
941 struct cvmx_l2c_ctl_cn61xx cn66xx;
942 struct cvmx_l2c_ctl_s cn68xx;
943 struct cvmx_l2c_ctl_cn63xx cn68xxp1;
944 struct cvmx_l2c_ctl_cn61xx cnf71xx;
945 };
946
947 union cvmx_l2c_dbg {
948 uint64_t u64;
949 struct cvmx_l2c_dbg_s {
950 #ifdef __BIG_ENDIAN_BITFIELD
951 uint64_t reserved_15_63:49;
952 uint64_t lfb_enum:4;
953 uint64_t lfb_dmp:1;
954 uint64_t ppnum:4;
955 uint64_t set:3;
956 uint64_t finv:1;
957 uint64_t l2d:1;
958 uint64_t l2t:1;
959 #else
960 uint64_t l2t:1;
961 uint64_t l2d:1;
962 uint64_t finv:1;
963 uint64_t set:3;
964 uint64_t ppnum:4;
965 uint64_t lfb_dmp:1;
966 uint64_t lfb_enum:4;
967 uint64_t reserved_15_63:49;
968 #endif
969 } s;
970 struct cvmx_l2c_dbg_cn30xx {
971 #ifdef __BIG_ENDIAN_BITFIELD
972 uint64_t reserved_13_63:51;
973 uint64_t lfb_enum:2;
974 uint64_t lfb_dmp:1;
975 uint64_t reserved_7_9:3;
976 uint64_t ppnum:1;
977 uint64_t reserved_5_5:1;
978 uint64_t set:2;
979 uint64_t finv:1;
980 uint64_t l2d:1;
981 uint64_t l2t:1;
982 #else
983 uint64_t l2t:1;
984 uint64_t l2d:1;
985 uint64_t finv:1;
986 uint64_t set:2;
987 uint64_t reserved_5_5:1;
988 uint64_t ppnum:1;
989 uint64_t reserved_7_9:3;
990 uint64_t lfb_dmp:1;
991 uint64_t lfb_enum:2;
992 uint64_t reserved_13_63:51;
993 #endif
994 } cn30xx;
995 struct cvmx_l2c_dbg_cn31xx {
996 #ifdef __BIG_ENDIAN_BITFIELD
997 uint64_t reserved_14_63:50;
998 uint64_t lfb_enum:3;
999 uint64_t lfb_dmp:1;
1000 uint64_t reserved_7_9:3;
1001 uint64_t ppnum:1;
1002 uint64_t reserved_5_5:1;
1003 uint64_t set:2;
1004 uint64_t finv:1;
1005 uint64_t l2d:1;
1006 uint64_t l2t:1;
1007 #else
1008 uint64_t l2t:1;
1009 uint64_t l2d:1;
1010 uint64_t finv:1;
1011 uint64_t set:2;
1012 uint64_t reserved_5_5:1;
1013 uint64_t ppnum:1;
1014 uint64_t reserved_7_9:3;
1015 uint64_t lfb_dmp:1;
1016 uint64_t lfb_enum:3;
1017 uint64_t reserved_14_63:50;
1018 #endif
1019 } cn31xx;
1020 struct cvmx_l2c_dbg_s cn38xx;
1021 struct cvmx_l2c_dbg_s cn38xxp2;
1022 struct cvmx_l2c_dbg_cn50xx {
1023 #ifdef __BIG_ENDIAN_BITFIELD
1024 uint64_t reserved_14_63:50;
1025 uint64_t lfb_enum:3;
1026 uint64_t lfb_dmp:1;
1027 uint64_t reserved_7_9:3;
1028 uint64_t ppnum:1;
1029 uint64_t set:3;
1030 uint64_t finv:1;
1031 uint64_t l2d:1;
1032 uint64_t l2t:1;
1033 #else
1034 uint64_t l2t:1;
1035 uint64_t l2d:1;
1036 uint64_t finv:1;
1037 uint64_t set:3;
1038 uint64_t ppnum:1;
1039 uint64_t reserved_7_9:3;
1040 uint64_t lfb_dmp:1;
1041 uint64_t lfb_enum:3;
1042 uint64_t reserved_14_63:50;
1043 #endif
1044 } cn50xx;
1045 struct cvmx_l2c_dbg_cn52xx {
1046 #ifdef __BIG_ENDIAN_BITFIELD
1047 uint64_t reserved_14_63:50;
1048 uint64_t lfb_enum:3;
1049 uint64_t lfb_dmp:1;
1050 uint64_t reserved_8_9:2;
1051 uint64_t ppnum:2;
1052 uint64_t set:3;
1053 uint64_t finv:1;
1054 uint64_t l2d:1;
1055 uint64_t l2t:1;
1056 #else
1057 uint64_t l2t:1;
1058 uint64_t l2d:1;
1059 uint64_t finv:1;
1060 uint64_t set:3;
1061 uint64_t ppnum:2;
1062 uint64_t reserved_8_9:2;
1063 uint64_t lfb_dmp:1;
1064 uint64_t lfb_enum:3;
1065 uint64_t reserved_14_63:50;
1066 #endif
1067 } cn52xx;
1068 struct cvmx_l2c_dbg_cn52xx cn52xxp1;
1069 struct cvmx_l2c_dbg_s cn56xx;
1070 struct cvmx_l2c_dbg_s cn56xxp1;
1071 struct cvmx_l2c_dbg_s cn58xx;
1072 struct cvmx_l2c_dbg_s cn58xxp1;
1073 };
1074
1075 union cvmx_l2c_dut {
1076 uint64_t u64;
1077 struct cvmx_l2c_dut_s {
1078 #ifdef __BIG_ENDIAN_BITFIELD
1079 uint64_t reserved_32_63:32;
1080 uint64_t dtena:1;
1081 uint64_t reserved_30_30:1;
1082 uint64_t dt_vld:1;
1083 uint64_t dt_tag:29;
1084 #else
1085 uint64_t dt_tag:29;
1086 uint64_t dt_vld:1;
1087 uint64_t reserved_30_30:1;
1088 uint64_t dtena:1;
1089 uint64_t reserved_32_63:32;
1090 #endif
1091 } s;
1092 struct cvmx_l2c_dut_s cn30xx;
1093 struct cvmx_l2c_dut_s cn31xx;
1094 struct cvmx_l2c_dut_s cn38xx;
1095 struct cvmx_l2c_dut_s cn38xxp2;
1096 struct cvmx_l2c_dut_s cn50xx;
1097 struct cvmx_l2c_dut_s cn52xx;
1098 struct cvmx_l2c_dut_s cn52xxp1;
1099 struct cvmx_l2c_dut_s cn56xx;
1100 struct cvmx_l2c_dut_s cn56xxp1;
1101 struct cvmx_l2c_dut_s cn58xx;
1102 struct cvmx_l2c_dut_s cn58xxp1;
1103 };
1104
1105 union cvmx_l2c_dut_mapx {
1106 uint64_t u64;
1107 struct cvmx_l2c_dut_mapx_s {
1108 #ifdef __BIG_ENDIAN_BITFIELD
1109 uint64_t reserved_38_63:26;
1110 uint64_t tag:28;
1111 uint64_t reserved_1_9:9;
1112 uint64_t valid:1;
1113 #else
1114 uint64_t valid:1;
1115 uint64_t reserved_1_9:9;
1116 uint64_t tag:28;
1117 uint64_t reserved_38_63:26;
1118 #endif
1119 } s;
1120 struct cvmx_l2c_dut_mapx_s cn61xx;
1121 struct cvmx_l2c_dut_mapx_s cn63xx;
1122 struct cvmx_l2c_dut_mapx_s cn63xxp1;
1123 struct cvmx_l2c_dut_mapx_s cn66xx;
1124 struct cvmx_l2c_dut_mapx_s cn68xx;
1125 struct cvmx_l2c_dut_mapx_s cn68xxp1;
1126 struct cvmx_l2c_dut_mapx_s cnf71xx;
1127 };
1128
1129 union cvmx_l2c_err_tdtx {
1130 uint64_t u64;
1131 struct cvmx_l2c_err_tdtx_s {
1132 #ifdef __BIG_ENDIAN_BITFIELD
1133 uint64_t dbe:1;
1134 uint64_t sbe:1;
1135 uint64_t vdbe:1;
1136 uint64_t vsbe:1;
1137 uint64_t syn:10;
1138 uint64_t reserved_22_49:28;
1139 uint64_t wayidx:18;
1140 uint64_t reserved_2_3:2;
1141 uint64_t type:2;
1142 #else
1143 uint64_t type:2;
1144 uint64_t reserved_2_3:2;
1145 uint64_t wayidx:18;
1146 uint64_t reserved_22_49:28;
1147 uint64_t syn:10;
1148 uint64_t vsbe:1;
1149 uint64_t vdbe:1;
1150 uint64_t sbe:1;
1151 uint64_t dbe:1;
1152 #endif
1153 } s;
1154 struct cvmx_l2c_err_tdtx_cn61xx {
1155 #ifdef __BIG_ENDIAN_BITFIELD
1156 uint64_t dbe:1;
1157 uint64_t sbe:1;
1158 uint64_t vdbe:1;
1159 uint64_t vsbe:1;
1160 uint64_t syn:10;
1161 uint64_t reserved_20_49:30;
1162 uint64_t wayidx:16;
1163 uint64_t reserved_2_3:2;
1164 uint64_t type:2;
1165 #else
1166 uint64_t type:2;
1167 uint64_t reserved_2_3:2;
1168 uint64_t wayidx:16;
1169 uint64_t reserved_20_49:30;
1170 uint64_t syn:10;
1171 uint64_t vsbe:1;
1172 uint64_t vdbe:1;
1173 uint64_t sbe:1;
1174 uint64_t dbe:1;
1175 #endif
1176 } cn61xx;
1177 struct cvmx_l2c_err_tdtx_cn63xx {
1178 #ifdef __BIG_ENDIAN_BITFIELD
1179 uint64_t dbe:1;
1180 uint64_t sbe:1;
1181 uint64_t vdbe:1;
1182 uint64_t vsbe:1;
1183 uint64_t syn:10;
1184 uint64_t reserved_21_49:29;
1185 uint64_t wayidx:17;
1186 uint64_t reserved_2_3:2;
1187 uint64_t type:2;
1188 #else
1189 uint64_t type:2;
1190 uint64_t reserved_2_3:2;
1191 uint64_t wayidx:17;
1192 uint64_t reserved_21_49:29;
1193 uint64_t syn:10;
1194 uint64_t vsbe:1;
1195 uint64_t vdbe:1;
1196 uint64_t sbe:1;
1197 uint64_t dbe:1;
1198 #endif
1199 } cn63xx;
1200 struct cvmx_l2c_err_tdtx_cn63xx cn63xxp1;
1201 struct cvmx_l2c_err_tdtx_cn63xx cn66xx;
1202 struct cvmx_l2c_err_tdtx_s cn68xx;
1203 struct cvmx_l2c_err_tdtx_s cn68xxp1;
1204 struct cvmx_l2c_err_tdtx_cn61xx cnf71xx;
1205 };
1206
1207 union cvmx_l2c_err_ttgx {
1208 uint64_t u64;
1209 struct cvmx_l2c_err_ttgx_s {
1210 #ifdef __BIG_ENDIAN_BITFIELD
1211 uint64_t dbe:1;
1212 uint64_t sbe:1;
1213 uint64_t noway:1;
1214 uint64_t reserved_56_60:5;
1215 uint64_t syn:6;
1216 uint64_t reserved_22_49:28;
1217 uint64_t wayidx:15;
1218 uint64_t reserved_2_6:5;
1219 uint64_t type:2;
1220 #else
1221 uint64_t type:2;
1222 uint64_t reserved_2_6:5;
1223 uint64_t wayidx:15;
1224 uint64_t reserved_22_49:28;
1225 uint64_t syn:6;
1226 uint64_t reserved_56_60:5;
1227 uint64_t noway:1;
1228 uint64_t sbe:1;
1229 uint64_t dbe:1;
1230 #endif
1231 } s;
1232 struct cvmx_l2c_err_ttgx_cn61xx {
1233 #ifdef __BIG_ENDIAN_BITFIELD
1234 uint64_t dbe:1;
1235 uint64_t sbe:1;
1236 uint64_t noway:1;
1237 uint64_t reserved_56_60:5;
1238 uint64_t syn:6;
1239 uint64_t reserved_20_49:30;
1240 uint64_t wayidx:13;
1241 uint64_t reserved_2_6:5;
1242 uint64_t type:2;
1243 #else
1244 uint64_t type:2;
1245 uint64_t reserved_2_6:5;
1246 uint64_t wayidx:13;
1247 uint64_t reserved_20_49:30;
1248 uint64_t syn:6;
1249 uint64_t reserved_56_60:5;
1250 uint64_t noway:1;
1251 uint64_t sbe:1;
1252 uint64_t dbe:1;
1253 #endif
1254 } cn61xx;
1255 struct cvmx_l2c_err_ttgx_cn63xx {
1256 #ifdef __BIG_ENDIAN_BITFIELD
1257 uint64_t dbe:1;
1258 uint64_t sbe:1;
1259 uint64_t noway:1;
1260 uint64_t reserved_56_60:5;
1261 uint64_t syn:6;
1262 uint64_t reserved_21_49:29;
1263 uint64_t wayidx:14;
1264 uint64_t reserved_2_6:5;
1265 uint64_t type:2;
1266 #else
1267 uint64_t type:2;
1268 uint64_t reserved_2_6:5;
1269 uint64_t wayidx:14;
1270 uint64_t reserved_21_49:29;
1271 uint64_t syn:6;
1272 uint64_t reserved_56_60:5;
1273 uint64_t noway:1;
1274 uint64_t sbe:1;
1275 uint64_t dbe:1;
1276 #endif
1277 } cn63xx;
1278 struct cvmx_l2c_err_ttgx_cn63xx cn63xxp1;
1279 struct cvmx_l2c_err_ttgx_cn63xx cn66xx;
1280 struct cvmx_l2c_err_ttgx_s cn68xx;
1281 struct cvmx_l2c_err_ttgx_s cn68xxp1;
1282 struct cvmx_l2c_err_ttgx_cn61xx cnf71xx;
1283 };
1284
1285 union cvmx_l2c_err_vbfx {
1286 uint64_t u64;
1287 struct cvmx_l2c_err_vbfx_s {
1288 #ifdef __BIG_ENDIAN_BITFIELD
1289 uint64_t reserved_62_63:2;
1290 uint64_t vdbe:1;
1291 uint64_t vsbe:1;
1292 uint64_t vsyn:10;
1293 uint64_t reserved_2_49:48;
1294 uint64_t type:2;
1295 #else
1296 uint64_t type:2;
1297 uint64_t reserved_2_49:48;
1298 uint64_t vsyn:10;
1299 uint64_t vsbe:1;
1300 uint64_t vdbe:1;
1301 uint64_t reserved_62_63:2;
1302 #endif
1303 } s;
1304 struct cvmx_l2c_err_vbfx_s cn61xx;
1305 struct cvmx_l2c_err_vbfx_s cn63xx;
1306 struct cvmx_l2c_err_vbfx_s cn63xxp1;
1307 struct cvmx_l2c_err_vbfx_s cn66xx;
1308 struct cvmx_l2c_err_vbfx_s cn68xx;
1309 struct cvmx_l2c_err_vbfx_s cn68xxp1;
1310 struct cvmx_l2c_err_vbfx_s cnf71xx;
1311 };
1312
1313 union cvmx_l2c_err_xmc {
1314 uint64_t u64;
1315 struct cvmx_l2c_err_xmc_s {
1316 #ifdef __BIG_ENDIAN_BITFIELD
1317 uint64_t cmd:6;
1318 uint64_t reserved_54_57:4;
1319 uint64_t sid:6;
1320 uint64_t reserved_38_47:10;
1321 uint64_t addr:38;
1322 #else
1323 uint64_t addr:38;
1324 uint64_t reserved_38_47:10;
1325 uint64_t sid:6;
1326 uint64_t reserved_54_57:4;
1327 uint64_t cmd:6;
1328 #endif
1329 } s;
1330 struct cvmx_l2c_err_xmc_cn61xx {
1331 #ifdef __BIG_ENDIAN_BITFIELD
1332 uint64_t cmd:6;
1333 uint64_t reserved_52_57:6;
1334 uint64_t sid:4;
1335 uint64_t reserved_38_47:10;
1336 uint64_t addr:38;
1337 #else
1338 uint64_t addr:38;
1339 uint64_t reserved_38_47:10;
1340 uint64_t sid:4;
1341 uint64_t reserved_52_57:6;
1342 uint64_t cmd:6;
1343 #endif
1344 } cn61xx;
1345 struct cvmx_l2c_err_xmc_cn61xx cn63xx;
1346 struct cvmx_l2c_err_xmc_cn61xx cn63xxp1;
1347 struct cvmx_l2c_err_xmc_cn66xx {
1348 #ifdef __BIG_ENDIAN_BITFIELD
1349 uint64_t cmd:6;
1350 uint64_t reserved_53_57:5;
1351 uint64_t sid:5;
1352 uint64_t reserved_38_47:10;
1353 uint64_t addr:38;
1354 #else
1355 uint64_t addr:38;
1356 uint64_t reserved_38_47:10;
1357 uint64_t sid:5;
1358 uint64_t reserved_53_57:5;
1359 uint64_t cmd:6;
1360 #endif
1361 } cn66xx;
1362 struct cvmx_l2c_err_xmc_s cn68xx;
1363 struct cvmx_l2c_err_xmc_s cn68xxp1;
1364 struct cvmx_l2c_err_xmc_cn61xx cnf71xx;
1365 };
1366
1367 union cvmx_l2c_grpwrr0 {
1368 uint64_t u64;
1369 struct cvmx_l2c_grpwrr0_s {
1370 #ifdef __BIG_ENDIAN_BITFIELD
1371 uint64_t plc1rmsk:32;
1372 uint64_t plc0rmsk:32;
1373 #else
1374 uint64_t plc0rmsk:32;
1375 uint64_t plc1rmsk:32;
1376 #endif
1377 } s;
1378 struct cvmx_l2c_grpwrr0_s cn52xx;
1379 struct cvmx_l2c_grpwrr0_s cn52xxp1;
1380 struct cvmx_l2c_grpwrr0_s cn56xx;
1381 struct cvmx_l2c_grpwrr0_s cn56xxp1;
1382 };
1383
1384 union cvmx_l2c_grpwrr1 {
1385 uint64_t u64;
1386 struct cvmx_l2c_grpwrr1_s {
1387 #ifdef __BIG_ENDIAN_BITFIELD
1388 uint64_t ilcrmsk:32;
1389 uint64_t plc2rmsk:32;
1390 #else
1391 uint64_t plc2rmsk:32;
1392 uint64_t ilcrmsk:32;
1393 #endif
1394 } s;
1395 struct cvmx_l2c_grpwrr1_s cn52xx;
1396 struct cvmx_l2c_grpwrr1_s cn52xxp1;
1397 struct cvmx_l2c_grpwrr1_s cn56xx;
1398 struct cvmx_l2c_grpwrr1_s cn56xxp1;
1399 };
1400
1401 union cvmx_l2c_int_en {
1402 uint64_t u64;
1403 struct cvmx_l2c_int_en_s {
1404 #ifdef __BIG_ENDIAN_BITFIELD
1405 uint64_t reserved_9_63:55;
1406 uint64_t lck2ena:1;
1407 uint64_t lckena:1;
1408 uint64_t l2ddeden:1;
1409 uint64_t l2dsecen:1;
1410 uint64_t l2tdeden:1;
1411 uint64_t l2tsecen:1;
1412 uint64_t oob3en:1;
1413 uint64_t oob2en:1;
1414 uint64_t oob1en:1;
1415 #else
1416 uint64_t oob1en:1;
1417 uint64_t oob2en:1;
1418 uint64_t oob3en:1;
1419 uint64_t l2tsecen:1;
1420 uint64_t l2tdeden:1;
1421 uint64_t l2dsecen:1;
1422 uint64_t l2ddeden:1;
1423 uint64_t lckena:1;
1424 uint64_t lck2ena:1;
1425 uint64_t reserved_9_63:55;
1426 #endif
1427 } s;
1428 struct cvmx_l2c_int_en_s cn52xx;
1429 struct cvmx_l2c_int_en_s cn52xxp1;
1430 struct cvmx_l2c_int_en_s cn56xx;
1431 struct cvmx_l2c_int_en_s cn56xxp1;
1432 };
1433
1434 union cvmx_l2c_int_ena {
1435 uint64_t u64;
1436 struct cvmx_l2c_int_ena_s {
1437 #ifdef __BIG_ENDIAN_BITFIELD
1438 uint64_t reserved_8_63:56;
1439 uint64_t bigrd:1;
1440 uint64_t bigwr:1;
1441 uint64_t vrtpe:1;
1442 uint64_t vrtadrng:1;
1443 uint64_t vrtidrng:1;
1444 uint64_t vrtwr:1;
1445 uint64_t holewr:1;
1446 uint64_t holerd:1;
1447 #else
1448 uint64_t holerd:1;
1449 uint64_t holewr:1;
1450 uint64_t vrtwr:1;
1451 uint64_t vrtidrng:1;
1452 uint64_t vrtadrng:1;
1453 uint64_t vrtpe:1;
1454 uint64_t bigwr:1;
1455 uint64_t bigrd:1;
1456 uint64_t reserved_8_63:56;
1457 #endif
1458 } s;
1459 struct cvmx_l2c_int_ena_s cn61xx;
1460 struct cvmx_l2c_int_ena_s cn63xx;
1461 struct cvmx_l2c_int_ena_cn63xxp1 {
1462 #ifdef __BIG_ENDIAN_BITFIELD
1463 uint64_t reserved_6_63:58;
1464 uint64_t vrtpe:1;
1465 uint64_t vrtadrng:1;
1466 uint64_t vrtidrng:1;
1467 uint64_t vrtwr:1;
1468 uint64_t holewr:1;
1469 uint64_t holerd:1;
1470 #else
1471 uint64_t holerd:1;
1472 uint64_t holewr:1;
1473 uint64_t vrtwr:1;
1474 uint64_t vrtidrng:1;
1475 uint64_t vrtadrng:1;
1476 uint64_t vrtpe:1;
1477 uint64_t reserved_6_63:58;
1478 #endif
1479 } cn63xxp1;
1480 struct cvmx_l2c_int_ena_s cn66xx;
1481 struct cvmx_l2c_int_ena_s cn68xx;
1482 struct cvmx_l2c_int_ena_s cn68xxp1;
1483 struct cvmx_l2c_int_ena_s cnf71xx;
1484 };
1485
1486 union cvmx_l2c_int_reg {
1487 uint64_t u64;
1488 struct cvmx_l2c_int_reg_s {
1489 #ifdef __BIG_ENDIAN_BITFIELD
1490 uint64_t reserved_20_63:44;
1491 uint64_t tad3:1;
1492 uint64_t tad2:1;
1493 uint64_t tad1:1;
1494 uint64_t tad0:1;
1495 uint64_t reserved_8_15:8;
1496 uint64_t bigrd:1;
1497 uint64_t bigwr:1;
1498 uint64_t vrtpe:1;
1499 uint64_t vrtadrng:1;
1500 uint64_t vrtidrng:1;
1501 uint64_t vrtwr:1;
1502 uint64_t holewr:1;
1503 uint64_t holerd:1;
1504 #else
1505 uint64_t holerd:1;
1506 uint64_t holewr:1;
1507 uint64_t vrtwr:1;
1508 uint64_t vrtidrng:1;
1509 uint64_t vrtadrng:1;
1510 uint64_t vrtpe:1;
1511 uint64_t bigwr:1;
1512 uint64_t bigrd:1;
1513 uint64_t reserved_8_15:8;
1514 uint64_t tad0:1;
1515 uint64_t tad1:1;
1516 uint64_t tad2:1;
1517 uint64_t tad3:1;
1518 uint64_t reserved_20_63:44;
1519 #endif
1520 } s;
1521 struct cvmx_l2c_int_reg_cn61xx {
1522 #ifdef __BIG_ENDIAN_BITFIELD
1523 uint64_t reserved_17_63:47;
1524 uint64_t tad0:1;
1525 uint64_t reserved_8_15:8;
1526 uint64_t bigrd:1;
1527 uint64_t bigwr:1;
1528 uint64_t vrtpe:1;
1529 uint64_t vrtadrng:1;
1530 uint64_t vrtidrng:1;
1531 uint64_t vrtwr:1;
1532 uint64_t holewr:1;
1533 uint64_t holerd:1;
1534 #else
1535 uint64_t holerd:1;
1536 uint64_t holewr:1;
1537 uint64_t vrtwr:1;
1538 uint64_t vrtidrng:1;
1539 uint64_t vrtadrng:1;
1540 uint64_t vrtpe:1;
1541 uint64_t bigwr:1;
1542 uint64_t bigrd:1;
1543 uint64_t reserved_8_15:8;
1544 uint64_t tad0:1;
1545 uint64_t reserved_17_63:47;
1546 #endif
1547 } cn61xx;
1548 struct cvmx_l2c_int_reg_cn61xx cn63xx;
1549 struct cvmx_l2c_int_reg_cn63xxp1 {
1550 #ifdef __BIG_ENDIAN_BITFIELD
1551 uint64_t reserved_17_63:47;
1552 uint64_t tad0:1;
1553 uint64_t reserved_6_15:10;
1554 uint64_t vrtpe:1;
1555 uint64_t vrtadrng:1;
1556 uint64_t vrtidrng:1;
1557 uint64_t vrtwr:1;
1558 uint64_t holewr:1;
1559 uint64_t holerd:1;
1560 #else
1561 uint64_t holerd:1;
1562 uint64_t holewr:1;
1563 uint64_t vrtwr:1;
1564 uint64_t vrtidrng:1;
1565 uint64_t vrtadrng:1;
1566 uint64_t vrtpe:1;
1567 uint64_t reserved_6_15:10;
1568 uint64_t tad0:1;
1569 uint64_t reserved_17_63:47;
1570 #endif
1571 } cn63xxp1;
1572 struct cvmx_l2c_int_reg_cn61xx cn66xx;
1573 struct cvmx_l2c_int_reg_s cn68xx;
1574 struct cvmx_l2c_int_reg_s cn68xxp1;
1575 struct cvmx_l2c_int_reg_cn61xx cnf71xx;
1576 };
1577
1578 union cvmx_l2c_int_stat {
1579 uint64_t u64;
1580 struct cvmx_l2c_int_stat_s {
1581 #ifdef __BIG_ENDIAN_BITFIELD
1582 uint64_t reserved_9_63:55;
1583 uint64_t lck2:1;
1584 uint64_t lck:1;
1585 uint64_t l2dded:1;
1586 uint64_t l2dsec:1;
1587 uint64_t l2tded:1;
1588 uint64_t l2tsec:1;
1589 uint64_t oob3:1;
1590 uint64_t oob2:1;
1591 uint64_t oob1:1;
1592 #else
1593 uint64_t oob1:1;
1594 uint64_t oob2:1;
1595 uint64_t oob3:1;
1596 uint64_t l2tsec:1;
1597 uint64_t l2tded:1;
1598 uint64_t l2dsec:1;
1599 uint64_t l2dded:1;
1600 uint64_t lck:1;
1601 uint64_t lck2:1;
1602 uint64_t reserved_9_63:55;
1603 #endif
1604 } s;
1605 struct cvmx_l2c_int_stat_s cn52xx;
1606 struct cvmx_l2c_int_stat_s cn52xxp1;
1607 struct cvmx_l2c_int_stat_s cn56xx;
1608 struct cvmx_l2c_int_stat_s cn56xxp1;
1609 };
1610
1611 union cvmx_l2c_iocx_pfc {
1612 uint64_t u64;
1613 struct cvmx_l2c_iocx_pfc_s {
1614 #ifdef __BIG_ENDIAN_BITFIELD
1615 uint64_t count:64;
1616 #else
1617 uint64_t count:64;
1618 #endif
1619 } s;
1620 struct cvmx_l2c_iocx_pfc_s cn61xx;
1621 struct cvmx_l2c_iocx_pfc_s cn63xx;
1622 struct cvmx_l2c_iocx_pfc_s cn63xxp1;
1623 struct cvmx_l2c_iocx_pfc_s cn66xx;
1624 struct cvmx_l2c_iocx_pfc_s cn68xx;
1625 struct cvmx_l2c_iocx_pfc_s cn68xxp1;
1626 struct cvmx_l2c_iocx_pfc_s cnf71xx;
1627 };
1628
1629 union cvmx_l2c_iorx_pfc {
1630 uint64_t u64;
1631 struct cvmx_l2c_iorx_pfc_s {
1632 #ifdef __BIG_ENDIAN_BITFIELD
1633 uint64_t count:64;
1634 #else
1635 uint64_t count:64;
1636 #endif
1637 } s;
1638 struct cvmx_l2c_iorx_pfc_s cn61xx;
1639 struct cvmx_l2c_iorx_pfc_s cn63xx;
1640 struct cvmx_l2c_iorx_pfc_s cn63xxp1;
1641 struct cvmx_l2c_iorx_pfc_s cn66xx;
1642 struct cvmx_l2c_iorx_pfc_s cn68xx;
1643 struct cvmx_l2c_iorx_pfc_s cn68xxp1;
1644 struct cvmx_l2c_iorx_pfc_s cnf71xx;
1645 };
1646
1647 union cvmx_l2c_lckbase {
1648 uint64_t u64;
1649 struct cvmx_l2c_lckbase_s {
1650 #ifdef __BIG_ENDIAN_BITFIELD
1651 uint64_t reserved_31_63:33;
1652 uint64_t lck_base:27;
1653 uint64_t reserved_1_3:3;
1654 uint64_t lck_ena:1;
1655 #else
1656 uint64_t lck_ena:1;
1657 uint64_t reserved_1_3:3;
1658 uint64_t lck_base:27;
1659 uint64_t reserved_31_63:33;
1660 #endif
1661 } s;
1662 struct cvmx_l2c_lckbase_s cn30xx;
1663 struct cvmx_l2c_lckbase_s cn31xx;
1664 struct cvmx_l2c_lckbase_s cn38xx;
1665 struct cvmx_l2c_lckbase_s cn38xxp2;
1666 struct cvmx_l2c_lckbase_s cn50xx;
1667 struct cvmx_l2c_lckbase_s cn52xx;
1668 struct cvmx_l2c_lckbase_s cn52xxp1;
1669 struct cvmx_l2c_lckbase_s cn56xx;
1670 struct cvmx_l2c_lckbase_s cn56xxp1;
1671 struct cvmx_l2c_lckbase_s cn58xx;
1672 struct cvmx_l2c_lckbase_s cn58xxp1;
1673 };
1674
1675 union cvmx_l2c_lckoff {
1676 uint64_t u64;
1677 struct cvmx_l2c_lckoff_s {
1678 #ifdef __BIG_ENDIAN_BITFIELD
1679 uint64_t reserved_10_63:54;
1680 uint64_t lck_offset:10;
1681 #else
1682 uint64_t lck_offset:10;
1683 uint64_t reserved_10_63:54;
1684 #endif
1685 } s;
1686 struct cvmx_l2c_lckoff_s cn30xx;
1687 struct cvmx_l2c_lckoff_s cn31xx;
1688 struct cvmx_l2c_lckoff_s cn38xx;
1689 struct cvmx_l2c_lckoff_s cn38xxp2;
1690 struct cvmx_l2c_lckoff_s cn50xx;
1691 struct cvmx_l2c_lckoff_s cn52xx;
1692 struct cvmx_l2c_lckoff_s cn52xxp1;
1693 struct cvmx_l2c_lckoff_s cn56xx;
1694 struct cvmx_l2c_lckoff_s cn56xxp1;
1695 struct cvmx_l2c_lckoff_s cn58xx;
1696 struct cvmx_l2c_lckoff_s cn58xxp1;
1697 };
1698
1699 union cvmx_l2c_lfb0 {
1700 uint64_t u64;
1701 struct cvmx_l2c_lfb0_s {
1702 #ifdef __BIG_ENDIAN_BITFIELD
1703 uint64_t reserved_32_63:32;
1704 uint64_t stcpnd:1;
1705 uint64_t stpnd:1;
1706 uint64_t stinv:1;
1707 uint64_t stcfl:1;
1708 uint64_t vam:1;
1709 uint64_t inxt:4;
1710 uint64_t itl:1;
1711 uint64_t ihd:1;
1712 uint64_t set:3;
1713 uint64_t vabnum:4;
1714 uint64_t sid:9;
1715 uint64_t cmd:4;
1716 uint64_t vld:1;
1717 #else
1718 uint64_t vld:1;
1719 uint64_t cmd:4;
1720 uint64_t sid:9;
1721 uint64_t vabnum:4;
1722 uint64_t set:3;
1723 uint64_t ihd:1;
1724 uint64_t itl:1;
1725 uint64_t inxt:4;
1726 uint64_t vam:1;
1727 uint64_t stcfl:1;
1728 uint64_t stinv:1;
1729 uint64_t stpnd:1;
1730 uint64_t stcpnd:1;
1731 uint64_t reserved_32_63:32;
1732 #endif
1733 } s;
1734 struct cvmx_l2c_lfb0_cn30xx {
1735 #ifdef __BIG_ENDIAN_BITFIELD
1736 uint64_t reserved_32_63:32;
1737 uint64_t stcpnd:1;
1738 uint64_t stpnd:1;
1739 uint64_t stinv:1;
1740 uint64_t stcfl:1;
1741 uint64_t vam:1;
1742 uint64_t reserved_25_26:2;
1743 uint64_t inxt:2;
1744 uint64_t itl:1;
1745 uint64_t ihd:1;
1746 uint64_t reserved_20_20:1;
1747 uint64_t set:2;
1748 uint64_t reserved_16_17:2;
1749 uint64_t vabnum:2;
1750 uint64_t sid:9;
1751 uint64_t cmd:4;
1752 uint64_t vld:1;
1753 #else
1754 uint64_t vld:1;
1755 uint64_t cmd:4;
1756 uint64_t sid:9;
1757 uint64_t vabnum:2;
1758 uint64_t reserved_16_17:2;
1759 uint64_t set:2;
1760 uint64_t reserved_20_20:1;
1761 uint64_t ihd:1;
1762 uint64_t itl:1;
1763 uint64_t inxt:2;
1764 uint64_t reserved_25_26:2;
1765 uint64_t vam:1;
1766 uint64_t stcfl:1;
1767 uint64_t stinv:1;
1768 uint64_t stpnd:1;
1769 uint64_t stcpnd:1;
1770 uint64_t reserved_32_63:32;
1771 #endif
1772 } cn30xx;
1773 struct cvmx_l2c_lfb0_cn31xx {
1774 #ifdef __BIG_ENDIAN_BITFIELD
1775 uint64_t reserved_32_63:32;
1776 uint64_t stcpnd:1;
1777 uint64_t stpnd:1;
1778 uint64_t stinv:1;
1779 uint64_t stcfl:1;
1780 uint64_t vam:1;
1781 uint64_t reserved_26_26:1;
1782 uint64_t inxt:3;
1783 uint64_t itl:1;
1784 uint64_t ihd:1;
1785 uint64_t reserved_20_20:1;
1786 uint64_t set:2;
1787 uint64_t reserved_17_17:1;
1788 uint64_t vabnum:3;
1789 uint64_t sid:9;
1790 uint64_t cmd:4;
1791 uint64_t vld:1;
1792 #else
1793 uint64_t vld:1;
1794 uint64_t cmd:4;
1795 uint64_t sid:9;
1796 uint64_t vabnum:3;
1797 uint64_t reserved_17_17:1;
1798 uint64_t set:2;
1799 uint64_t reserved_20_20:1;
1800 uint64_t ihd:1;
1801 uint64_t itl:1;
1802 uint64_t inxt:3;
1803 uint64_t reserved_26_26:1;
1804 uint64_t vam:1;
1805 uint64_t stcfl:1;
1806 uint64_t stinv:1;
1807 uint64_t stpnd:1;
1808 uint64_t stcpnd:1;
1809 uint64_t reserved_32_63:32;
1810 #endif
1811 } cn31xx;
1812 struct cvmx_l2c_lfb0_s cn38xx;
1813 struct cvmx_l2c_lfb0_s cn38xxp2;
1814 struct cvmx_l2c_lfb0_cn50xx {
1815 #ifdef __BIG_ENDIAN_BITFIELD
1816 uint64_t reserved_32_63:32;
1817 uint64_t stcpnd:1;
1818 uint64_t stpnd:1;
1819 uint64_t stinv:1;
1820 uint64_t stcfl:1;
1821 uint64_t vam:1;
1822 uint64_t reserved_26_26:1;
1823 uint64_t inxt:3;
1824 uint64_t itl:1;
1825 uint64_t ihd:1;
1826 uint64_t set:3;
1827 uint64_t reserved_17_17:1;
1828 uint64_t vabnum:3;
1829 uint64_t sid:9;
1830 uint64_t cmd:4;
1831 uint64_t vld:1;
1832 #else
1833 uint64_t vld:1;
1834 uint64_t cmd:4;
1835 uint64_t sid:9;
1836 uint64_t vabnum:3;
1837 uint64_t reserved_17_17:1;
1838 uint64_t set:3;
1839 uint64_t ihd:1;
1840 uint64_t itl:1;
1841 uint64_t inxt:3;
1842 uint64_t reserved_26_26:1;
1843 uint64_t vam:1;
1844 uint64_t stcfl:1;
1845 uint64_t stinv:1;
1846 uint64_t stpnd:1;
1847 uint64_t stcpnd:1;
1848 uint64_t reserved_32_63:32;
1849 #endif
1850 } cn50xx;
1851 struct cvmx_l2c_lfb0_cn50xx cn52xx;
1852 struct cvmx_l2c_lfb0_cn50xx cn52xxp1;
1853 struct cvmx_l2c_lfb0_s cn56xx;
1854 struct cvmx_l2c_lfb0_s cn56xxp1;
1855 struct cvmx_l2c_lfb0_s cn58xx;
1856 struct cvmx_l2c_lfb0_s cn58xxp1;
1857 };
1858
1859 union cvmx_l2c_lfb1 {
1860 uint64_t u64;
1861 struct cvmx_l2c_lfb1_s {
1862 #ifdef __BIG_ENDIAN_BITFIELD
1863 uint64_t reserved_19_63:45;
1864 uint64_t dsgoing:1;
1865 uint64_t bid:2;
1866 uint64_t wtrsp:1;
1867 uint64_t wtdw:1;
1868 uint64_t wtdq:1;
1869 uint64_t wtwhp:1;
1870 uint64_t wtwhf:1;
1871 uint64_t wtwrm:1;
1872 uint64_t wtstm:1;
1873 uint64_t wtrda:1;
1874 uint64_t wtstdt:1;
1875 uint64_t wtstrsp:1;
1876 uint64_t wtstrsc:1;
1877 uint64_t wtvtm:1;
1878 uint64_t wtmfl:1;
1879 uint64_t prbrty:1;
1880 uint64_t wtprb:1;
1881 uint64_t vld:1;
1882 #else
1883 uint64_t vld:1;
1884 uint64_t wtprb:1;
1885 uint64_t prbrty:1;
1886 uint64_t wtmfl:1;
1887 uint64_t wtvtm:1;
1888 uint64_t wtstrsc:1;
1889 uint64_t wtstrsp:1;
1890 uint64_t wtstdt:1;
1891 uint64_t wtrda:1;
1892 uint64_t wtstm:1;
1893 uint64_t wtwrm:1;
1894 uint64_t wtwhf:1;
1895 uint64_t wtwhp:1;
1896 uint64_t wtdq:1;
1897 uint64_t wtdw:1;
1898 uint64_t wtrsp:1;
1899 uint64_t bid:2;
1900 uint64_t dsgoing:1;
1901 uint64_t reserved_19_63:45;
1902 #endif
1903 } s;
1904 struct cvmx_l2c_lfb1_s cn30xx;
1905 struct cvmx_l2c_lfb1_s cn31xx;
1906 struct cvmx_l2c_lfb1_s cn38xx;
1907 struct cvmx_l2c_lfb1_s cn38xxp2;
1908 struct cvmx_l2c_lfb1_s cn50xx;
1909 struct cvmx_l2c_lfb1_s cn52xx;
1910 struct cvmx_l2c_lfb1_s cn52xxp1;
1911 struct cvmx_l2c_lfb1_s cn56xx;
1912 struct cvmx_l2c_lfb1_s cn56xxp1;
1913 struct cvmx_l2c_lfb1_s cn58xx;
1914 struct cvmx_l2c_lfb1_s cn58xxp1;
1915 };
1916
1917 union cvmx_l2c_lfb2 {
1918 uint64_t u64;
1919 struct cvmx_l2c_lfb2_s {
1920 #ifdef __BIG_ENDIAN_BITFIELD
1921 uint64_t reserved_0_63:64;
1922 #else
1923 uint64_t reserved_0_63:64;
1924 #endif
1925 } s;
1926 struct cvmx_l2c_lfb2_cn30xx {
1927 #ifdef __BIG_ENDIAN_BITFIELD
1928 uint64_t reserved_27_63:37;
1929 uint64_t lfb_tag:19;
1930 uint64_t lfb_idx:8;
1931 #else
1932 uint64_t lfb_idx:8;
1933 uint64_t lfb_tag:19;
1934 uint64_t reserved_27_63:37;
1935 #endif
1936 } cn30xx;
1937 struct cvmx_l2c_lfb2_cn31xx {
1938 #ifdef __BIG_ENDIAN_BITFIELD
1939 uint64_t reserved_27_63:37;
1940 uint64_t lfb_tag:17;
1941 uint64_t lfb_idx:10;
1942 #else
1943 uint64_t lfb_idx:10;
1944 uint64_t lfb_tag:17;
1945 uint64_t reserved_27_63:37;
1946 #endif
1947 } cn31xx;
1948 struct cvmx_l2c_lfb2_cn31xx cn38xx;
1949 struct cvmx_l2c_lfb2_cn31xx cn38xxp2;
1950 struct cvmx_l2c_lfb2_cn50xx {
1951 #ifdef __BIG_ENDIAN_BITFIELD
1952 uint64_t reserved_27_63:37;
1953 uint64_t lfb_tag:20;
1954 uint64_t lfb_idx:7;
1955 #else
1956 uint64_t lfb_idx:7;
1957 uint64_t lfb_tag:20;
1958 uint64_t reserved_27_63:37;
1959 #endif
1960 } cn50xx;
1961 struct cvmx_l2c_lfb2_cn52xx {
1962 #ifdef __BIG_ENDIAN_BITFIELD
1963 uint64_t reserved_27_63:37;
1964 uint64_t lfb_tag:18;
1965 uint64_t lfb_idx:9;
1966 #else
1967 uint64_t lfb_idx:9;
1968 uint64_t lfb_tag:18;
1969 uint64_t reserved_27_63:37;
1970 #endif
1971 } cn52xx;
1972 struct cvmx_l2c_lfb2_cn52xx cn52xxp1;
1973 struct cvmx_l2c_lfb2_cn56xx {
1974 #ifdef __BIG_ENDIAN_BITFIELD
1975 uint64_t reserved_27_63:37;
1976 uint64_t lfb_tag:16;
1977 uint64_t lfb_idx:11;
1978 #else
1979 uint64_t lfb_idx:11;
1980 uint64_t lfb_tag:16;
1981 uint64_t reserved_27_63:37;
1982 #endif
1983 } cn56xx;
1984 struct cvmx_l2c_lfb2_cn56xx cn56xxp1;
1985 struct cvmx_l2c_lfb2_cn56xx cn58xx;
1986 struct cvmx_l2c_lfb2_cn56xx cn58xxp1;
1987 };
1988
1989 union cvmx_l2c_lfb3 {
1990 uint64_t u64;
1991 struct cvmx_l2c_lfb3_s {
1992 #ifdef __BIG_ENDIAN_BITFIELD
1993 uint64_t reserved_5_63:59;
1994 uint64_t stpartdis:1;
1995 uint64_t lfb_hwm:4;
1996 #else
1997 uint64_t lfb_hwm:4;
1998 uint64_t stpartdis:1;
1999 uint64_t reserved_5_63:59;
2000 #endif
2001 } s;
2002 struct cvmx_l2c_lfb3_cn30xx {
2003 #ifdef __BIG_ENDIAN_BITFIELD
2004 uint64_t reserved_5_63:59;
2005 uint64_t stpartdis:1;
2006 uint64_t reserved_2_3:2;
2007 uint64_t lfb_hwm:2;
2008 #else
2009 uint64_t lfb_hwm:2;
2010 uint64_t reserved_2_3:2;
2011 uint64_t stpartdis:1;
2012 uint64_t reserved_5_63:59;
2013 #endif
2014 } cn30xx;
2015 struct cvmx_l2c_lfb3_cn31xx {
2016 #ifdef __BIG_ENDIAN_BITFIELD
2017 uint64_t reserved_5_63:59;
2018 uint64_t stpartdis:1;
2019 uint64_t reserved_3_3:1;
2020 uint64_t lfb_hwm:3;
2021 #else
2022 uint64_t lfb_hwm:3;
2023 uint64_t reserved_3_3:1;
2024 uint64_t stpartdis:1;
2025 uint64_t reserved_5_63:59;
2026 #endif
2027 } cn31xx;
2028 struct cvmx_l2c_lfb3_s cn38xx;
2029 struct cvmx_l2c_lfb3_s cn38xxp2;
2030 struct cvmx_l2c_lfb3_cn31xx cn50xx;
2031 struct cvmx_l2c_lfb3_cn31xx cn52xx;
2032 struct cvmx_l2c_lfb3_cn31xx cn52xxp1;
2033 struct cvmx_l2c_lfb3_s cn56xx;
2034 struct cvmx_l2c_lfb3_s cn56xxp1;
2035 struct cvmx_l2c_lfb3_s cn58xx;
2036 struct cvmx_l2c_lfb3_s cn58xxp1;
2037 };
2038
2039 union cvmx_l2c_oob {
2040 uint64_t u64;
2041 struct cvmx_l2c_oob_s {
2042 #ifdef __BIG_ENDIAN_BITFIELD
2043 uint64_t reserved_2_63:62;
2044 uint64_t dwbena:1;
2045 uint64_t stena:1;
2046 #else
2047 uint64_t stena:1;
2048 uint64_t dwbena:1;
2049 uint64_t reserved_2_63:62;
2050 #endif
2051 } s;
2052 struct cvmx_l2c_oob_s cn52xx;
2053 struct cvmx_l2c_oob_s cn52xxp1;
2054 struct cvmx_l2c_oob_s cn56xx;
2055 struct cvmx_l2c_oob_s cn56xxp1;
2056 };
2057
2058 union cvmx_l2c_oob1 {
2059 uint64_t u64;
2060 struct cvmx_l2c_oob1_s {
2061 #ifdef __BIG_ENDIAN_BITFIELD
2062 uint64_t fadr:27;
2063 uint64_t fsrc:1;
2064 uint64_t reserved_34_35:2;
2065 uint64_t sadr:14;
2066 uint64_t reserved_14_19:6;
2067 uint64_t size:14;
2068 #else
2069 uint64_t size:14;
2070 uint64_t reserved_14_19:6;
2071 uint64_t sadr:14;
2072 uint64_t reserved_34_35:2;
2073 uint64_t fsrc:1;
2074 uint64_t fadr:27;
2075 #endif
2076 } s;
2077 struct cvmx_l2c_oob1_s cn52xx;
2078 struct cvmx_l2c_oob1_s cn52xxp1;
2079 struct cvmx_l2c_oob1_s cn56xx;
2080 struct cvmx_l2c_oob1_s cn56xxp1;
2081 };
2082
2083 union cvmx_l2c_oob2 {
2084 uint64_t u64;
2085 struct cvmx_l2c_oob2_s {
2086 #ifdef __BIG_ENDIAN_BITFIELD
2087 uint64_t fadr:27;
2088 uint64_t fsrc:1;
2089 uint64_t reserved_34_35:2;
2090 uint64_t sadr:14;
2091 uint64_t reserved_14_19:6;
2092 uint64_t size:14;
2093 #else
2094 uint64_t size:14;
2095 uint64_t reserved_14_19:6;
2096 uint64_t sadr:14;
2097 uint64_t reserved_34_35:2;
2098 uint64_t fsrc:1;
2099 uint64_t fadr:27;
2100 #endif
2101 } s;
2102 struct cvmx_l2c_oob2_s cn52xx;
2103 struct cvmx_l2c_oob2_s cn52xxp1;
2104 struct cvmx_l2c_oob2_s cn56xx;
2105 struct cvmx_l2c_oob2_s cn56xxp1;
2106 };
2107
2108 union cvmx_l2c_oob3 {
2109 uint64_t u64;
2110 struct cvmx_l2c_oob3_s {
2111 #ifdef __BIG_ENDIAN_BITFIELD
2112 uint64_t fadr:27;
2113 uint64_t fsrc:1;
2114 uint64_t reserved_34_35:2;
2115 uint64_t sadr:14;
2116 uint64_t reserved_14_19:6;
2117 uint64_t size:14;
2118 #else
2119 uint64_t size:14;
2120 uint64_t reserved_14_19:6;
2121 uint64_t sadr:14;
2122 uint64_t reserved_34_35:2;
2123 uint64_t fsrc:1;
2124 uint64_t fadr:27;
2125 #endif
2126 } s;
2127 struct cvmx_l2c_oob3_s cn52xx;
2128 struct cvmx_l2c_oob3_s cn52xxp1;
2129 struct cvmx_l2c_oob3_s cn56xx;
2130 struct cvmx_l2c_oob3_s cn56xxp1;
2131 };
2132
2133 union cvmx_l2c_pfcx {
2134 uint64_t u64;
2135 struct cvmx_l2c_pfcx_s {
2136 #ifdef __BIG_ENDIAN_BITFIELD
2137 uint64_t reserved_36_63:28;
2138 uint64_t pfcnt0:36;
2139 #else
2140 uint64_t pfcnt0:36;
2141 uint64_t reserved_36_63:28;
2142 #endif
2143 } s;
2144 struct cvmx_l2c_pfcx_s cn30xx;
2145 struct cvmx_l2c_pfcx_s cn31xx;
2146 struct cvmx_l2c_pfcx_s cn38xx;
2147 struct cvmx_l2c_pfcx_s cn38xxp2;
2148 struct cvmx_l2c_pfcx_s cn50xx;
2149 struct cvmx_l2c_pfcx_s cn52xx;
2150 struct cvmx_l2c_pfcx_s cn52xxp1;
2151 struct cvmx_l2c_pfcx_s cn56xx;
2152 struct cvmx_l2c_pfcx_s cn56xxp1;
2153 struct cvmx_l2c_pfcx_s cn58xx;
2154 struct cvmx_l2c_pfcx_s cn58xxp1;
2155 };
2156
2157 union cvmx_l2c_pfctl {
2158 uint64_t u64;
2159 struct cvmx_l2c_pfctl_s {
2160 #ifdef __BIG_ENDIAN_BITFIELD
2161 uint64_t reserved_36_63:28;
2162 uint64_t cnt3rdclr:1;
2163 uint64_t cnt2rdclr:1;
2164 uint64_t cnt1rdclr:1;
2165 uint64_t cnt0rdclr:1;
2166 uint64_t cnt3ena:1;
2167 uint64_t cnt3clr:1;
2168 uint64_t cnt3sel:6;
2169 uint64_t cnt2ena:1;
2170 uint64_t cnt2clr:1;
2171 uint64_t cnt2sel:6;
2172 uint64_t cnt1ena:1;
2173 uint64_t cnt1clr:1;
2174 uint64_t cnt1sel:6;
2175 uint64_t cnt0ena:1;
2176 uint64_t cnt0clr:1;
2177 uint64_t cnt0sel:6;
2178 #else
2179 uint64_t cnt0sel:6;
2180 uint64_t cnt0clr:1;
2181 uint64_t cnt0ena:1;
2182 uint64_t cnt1sel:6;
2183 uint64_t cnt1clr:1;
2184 uint64_t cnt1ena:1;
2185 uint64_t cnt2sel:6;
2186 uint64_t cnt2clr:1;
2187 uint64_t cnt2ena:1;
2188 uint64_t cnt3sel:6;
2189 uint64_t cnt3clr:1;
2190 uint64_t cnt3ena:1;
2191 uint64_t cnt0rdclr:1;
2192 uint64_t cnt1rdclr:1;
2193 uint64_t cnt2rdclr:1;
2194 uint64_t cnt3rdclr:1;
2195 uint64_t reserved_36_63:28;
2196 #endif
2197 } s;
2198 struct cvmx_l2c_pfctl_s cn30xx;
2199 struct cvmx_l2c_pfctl_s cn31xx;
2200 struct cvmx_l2c_pfctl_s cn38xx;
2201 struct cvmx_l2c_pfctl_s cn38xxp2;
2202 struct cvmx_l2c_pfctl_s cn50xx;
2203 struct cvmx_l2c_pfctl_s cn52xx;
2204 struct cvmx_l2c_pfctl_s cn52xxp1;
2205 struct cvmx_l2c_pfctl_s cn56xx;
2206 struct cvmx_l2c_pfctl_s cn56xxp1;
2207 struct cvmx_l2c_pfctl_s cn58xx;
2208 struct cvmx_l2c_pfctl_s cn58xxp1;
2209 };
2210
2211 union cvmx_l2c_ppgrp {
2212 uint64_t u64;
2213 struct cvmx_l2c_ppgrp_s {
2214 #ifdef __BIG_ENDIAN_BITFIELD
2215 uint64_t reserved_24_63:40;
2216 uint64_t pp11grp:2;
2217 uint64_t pp10grp:2;
2218 uint64_t pp9grp:2;
2219 uint64_t pp8grp:2;
2220 uint64_t pp7grp:2;
2221 uint64_t pp6grp:2;
2222 uint64_t pp5grp:2;
2223 uint64_t pp4grp:2;
2224 uint64_t pp3grp:2;
2225 uint64_t pp2grp:2;
2226 uint64_t pp1grp:2;
2227 uint64_t pp0grp:2;
2228 #else
2229 uint64_t pp0grp:2;
2230 uint64_t pp1grp:2;
2231 uint64_t pp2grp:2;
2232 uint64_t pp3grp:2;
2233 uint64_t pp4grp:2;
2234 uint64_t pp5grp:2;
2235 uint64_t pp6grp:2;
2236 uint64_t pp7grp:2;
2237 uint64_t pp8grp:2;
2238 uint64_t pp9grp:2;
2239 uint64_t pp10grp:2;
2240 uint64_t pp11grp:2;
2241 uint64_t reserved_24_63:40;
2242 #endif
2243 } s;
2244 struct cvmx_l2c_ppgrp_cn52xx {
2245 #ifdef __BIG_ENDIAN_BITFIELD
2246 uint64_t reserved_8_63:56;
2247 uint64_t pp3grp:2;
2248 uint64_t pp2grp:2;
2249 uint64_t pp1grp:2;
2250 uint64_t pp0grp:2;
2251 #else
2252 uint64_t pp0grp:2;
2253 uint64_t pp1grp:2;
2254 uint64_t pp2grp:2;
2255 uint64_t pp3grp:2;
2256 uint64_t reserved_8_63:56;
2257 #endif
2258 } cn52xx;
2259 struct cvmx_l2c_ppgrp_cn52xx cn52xxp1;
2260 struct cvmx_l2c_ppgrp_s cn56xx;
2261 struct cvmx_l2c_ppgrp_s cn56xxp1;
2262 };
2263
2264 union cvmx_l2c_qos_iobx {
2265 uint64_t u64;
2266 struct cvmx_l2c_qos_iobx_s {
2267 #ifdef __BIG_ENDIAN_BITFIELD
2268 uint64_t reserved_7_63:57;
2269 uint64_t dwblvl:3;
2270 uint64_t reserved_3_3:1;
2271 uint64_t lvl:3;
2272 #else
2273 uint64_t lvl:3;
2274 uint64_t reserved_3_3:1;
2275 uint64_t dwblvl:3;
2276 uint64_t reserved_7_63:57;
2277 #endif
2278 } s;
2279 struct cvmx_l2c_qos_iobx_cn61xx {
2280 #ifdef __BIG_ENDIAN_BITFIELD
2281 uint64_t reserved_6_63:58;
2282 uint64_t dwblvl:2;
2283 uint64_t reserved_2_3:2;
2284 uint64_t lvl:2;
2285 #else
2286 uint64_t lvl:2;
2287 uint64_t reserved_2_3:2;
2288 uint64_t dwblvl:2;
2289 uint64_t reserved_6_63:58;
2290 #endif
2291 } cn61xx;
2292 struct cvmx_l2c_qos_iobx_cn61xx cn63xx;
2293 struct cvmx_l2c_qos_iobx_cn61xx cn63xxp1;
2294 struct cvmx_l2c_qos_iobx_cn61xx cn66xx;
2295 struct cvmx_l2c_qos_iobx_s cn68xx;
2296 struct cvmx_l2c_qos_iobx_s cn68xxp1;
2297 struct cvmx_l2c_qos_iobx_cn61xx cnf71xx;
2298 };
2299
2300 union cvmx_l2c_qos_ppx {
2301 uint64_t u64;
2302 struct cvmx_l2c_qos_ppx_s {
2303 #ifdef __BIG_ENDIAN_BITFIELD
2304 uint64_t reserved_3_63:61;
2305 uint64_t lvl:3;
2306 #else
2307 uint64_t lvl:3;
2308 uint64_t reserved_3_63:61;
2309 #endif
2310 } s;
2311 struct cvmx_l2c_qos_ppx_cn61xx {
2312 #ifdef __BIG_ENDIAN_BITFIELD
2313 uint64_t reserved_2_63:62;
2314 uint64_t lvl:2;
2315 #else
2316 uint64_t lvl:2;
2317 uint64_t reserved_2_63:62;
2318 #endif
2319 } cn61xx;
2320 struct cvmx_l2c_qos_ppx_cn61xx cn63xx;
2321 struct cvmx_l2c_qos_ppx_cn61xx cn63xxp1;
2322 struct cvmx_l2c_qos_ppx_cn61xx cn66xx;
2323 struct cvmx_l2c_qos_ppx_s cn68xx;
2324 struct cvmx_l2c_qos_ppx_s cn68xxp1;
2325 struct cvmx_l2c_qos_ppx_cn61xx cnf71xx;
2326 };
2327
2328 union cvmx_l2c_qos_wgt {
2329 uint64_t u64;
2330 struct cvmx_l2c_qos_wgt_s {
2331 #ifdef __BIG_ENDIAN_BITFIELD
2332 uint64_t wgt7:8;
2333 uint64_t wgt6:8;
2334 uint64_t wgt5:8;
2335 uint64_t wgt4:8;
2336 uint64_t wgt3:8;
2337 uint64_t wgt2:8;
2338 uint64_t wgt1:8;
2339 uint64_t wgt0:8;
2340 #else
2341 uint64_t wgt0:8;
2342 uint64_t wgt1:8;
2343 uint64_t wgt2:8;
2344 uint64_t wgt3:8;
2345 uint64_t wgt4:8;
2346 uint64_t wgt5:8;
2347 uint64_t wgt6:8;
2348 uint64_t wgt7:8;
2349 #endif
2350 } s;
2351 struct cvmx_l2c_qos_wgt_cn61xx {
2352 #ifdef __BIG_ENDIAN_BITFIELD
2353 uint64_t reserved_32_63:32;
2354 uint64_t wgt3:8;
2355 uint64_t wgt2:8;
2356 uint64_t wgt1:8;
2357 uint64_t wgt0:8;
2358 #else
2359 uint64_t wgt0:8;
2360 uint64_t wgt1:8;
2361 uint64_t wgt2:8;
2362 uint64_t wgt3:8;
2363 uint64_t reserved_32_63:32;
2364 #endif
2365 } cn61xx;
2366 struct cvmx_l2c_qos_wgt_cn61xx cn63xx;
2367 struct cvmx_l2c_qos_wgt_cn61xx cn63xxp1;
2368 struct cvmx_l2c_qos_wgt_cn61xx cn66xx;
2369 struct cvmx_l2c_qos_wgt_s cn68xx;
2370 struct cvmx_l2c_qos_wgt_s cn68xxp1;
2371 struct cvmx_l2c_qos_wgt_cn61xx cnf71xx;
2372 };
2373
2374 union cvmx_l2c_rscx_pfc {
2375 uint64_t u64;
2376 struct cvmx_l2c_rscx_pfc_s {
2377 #ifdef __BIG_ENDIAN_BITFIELD
2378 uint64_t count:64;
2379 #else
2380 uint64_t count:64;
2381 #endif
2382 } s;
2383 struct cvmx_l2c_rscx_pfc_s cn61xx;
2384 struct cvmx_l2c_rscx_pfc_s cn63xx;
2385 struct cvmx_l2c_rscx_pfc_s cn63xxp1;
2386 struct cvmx_l2c_rscx_pfc_s cn66xx;
2387 struct cvmx_l2c_rscx_pfc_s cn68xx;
2388 struct cvmx_l2c_rscx_pfc_s cn68xxp1;
2389 struct cvmx_l2c_rscx_pfc_s cnf71xx;
2390 };
2391
2392 union cvmx_l2c_rsdx_pfc {
2393 uint64_t u64;
2394 struct cvmx_l2c_rsdx_pfc_s {
2395 #ifdef __BIG_ENDIAN_BITFIELD
2396 uint64_t count:64;
2397 #else
2398 uint64_t count:64;
2399 #endif
2400 } s;
2401 struct cvmx_l2c_rsdx_pfc_s cn61xx;
2402 struct cvmx_l2c_rsdx_pfc_s cn63xx;
2403 struct cvmx_l2c_rsdx_pfc_s cn63xxp1;
2404 struct cvmx_l2c_rsdx_pfc_s cn66xx;
2405 struct cvmx_l2c_rsdx_pfc_s cn68xx;
2406 struct cvmx_l2c_rsdx_pfc_s cn68xxp1;
2407 struct cvmx_l2c_rsdx_pfc_s cnf71xx;
2408 };
2409
2410 union cvmx_l2c_spar0 {
2411 uint64_t u64;
2412 struct cvmx_l2c_spar0_s {
2413 #ifdef __BIG_ENDIAN_BITFIELD
2414 uint64_t reserved_32_63:32;
2415 uint64_t umsk3:8;
2416 uint64_t umsk2:8;
2417 uint64_t umsk1:8;
2418 uint64_t umsk0:8;
2419 #else
2420 uint64_t umsk0:8;
2421 uint64_t umsk1:8;
2422 uint64_t umsk2:8;
2423 uint64_t umsk3:8;
2424 uint64_t reserved_32_63:32;
2425 #endif
2426 } s;
2427 struct cvmx_l2c_spar0_cn30xx {
2428 #ifdef __BIG_ENDIAN_BITFIELD
2429 uint64_t reserved_4_63:60;
2430 uint64_t umsk0:4;
2431 #else
2432 uint64_t umsk0:4;
2433 uint64_t reserved_4_63:60;
2434 #endif
2435 } cn30xx;
2436 struct cvmx_l2c_spar0_cn31xx {
2437 #ifdef __BIG_ENDIAN_BITFIELD
2438 uint64_t reserved_12_63:52;
2439 uint64_t umsk1:4;
2440 uint64_t reserved_4_7:4;
2441 uint64_t umsk0:4;
2442 #else
2443 uint64_t umsk0:4;
2444 uint64_t reserved_4_7:4;
2445 uint64_t umsk1:4;
2446 uint64_t reserved_12_63:52;
2447 #endif
2448 } cn31xx;
2449 struct cvmx_l2c_spar0_s cn38xx;
2450 struct cvmx_l2c_spar0_s cn38xxp2;
2451 struct cvmx_l2c_spar0_cn50xx {
2452 #ifdef __BIG_ENDIAN_BITFIELD
2453 uint64_t reserved_16_63:48;
2454 uint64_t umsk1:8;
2455 uint64_t umsk0:8;
2456 #else
2457 uint64_t umsk0:8;
2458 uint64_t umsk1:8;
2459 uint64_t reserved_16_63:48;
2460 #endif
2461 } cn50xx;
2462 struct cvmx_l2c_spar0_s cn52xx;
2463 struct cvmx_l2c_spar0_s cn52xxp1;
2464 struct cvmx_l2c_spar0_s cn56xx;
2465 struct cvmx_l2c_spar0_s cn56xxp1;
2466 struct cvmx_l2c_spar0_s cn58xx;
2467 struct cvmx_l2c_spar0_s cn58xxp1;
2468 };
2469
2470 union cvmx_l2c_spar1 {
2471 uint64_t u64;
2472 struct cvmx_l2c_spar1_s {
2473 #ifdef __BIG_ENDIAN_BITFIELD
2474 uint64_t reserved_32_63:32;
2475 uint64_t umsk7:8;
2476 uint64_t umsk6:8;
2477 uint64_t umsk5:8;
2478 uint64_t umsk4:8;
2479 #else
2480 uint64_t umsk4:8;
2481 uint64_t umsk5:8;
2482 uint64_t umsk6:8;
2483 uint64_t umsk7:8;
2484 uint64_t reserved_32_63:32;
2485 #endif
2486 } s;
2487 struct cvmx_l2c_spar1_s cn38xx;
2488 struct cvmx_l2c_spar1_s cn38xxp2;
2489 struct cvmx_l2c_spar1_s cn56xx;
2490 struct cvmx_l2c_spar1_s cn56xxp1;
2491 struct cvmx_l2c_spar1_s cn58xx;
2492 struct cvmx_l2c_spar1_s cn58xxp1;
2493 };
2494
2495 union cvmx_l2c_spar2 {
2496 uint64_t u64;
2497 struct cvmx_l2c_spar2_s {
2498 #ifdef __BIG_ENDIAN_BITFIELD
2499 uint64_t reserved_32_63:32;
2500 uint64_t umsk11:8;
2501 uint64_t umsk10:8;
2502 uint64_t umsk9:8;
2503 uint64_t umsk8:8;
2504 #else
2505 uint64_t umsk8:8;
2506 uint64_t umsk9:8;
2507 uint64_t umsk10:8;
2508 uint64_t umsk11:8;
2509 uint64_t reserved_32_63:32;
2510 #endif
2511 } s;
2512 struct cvmx_l2c_spar2_s cn38xx;
2513 struct cvmx_l2c_spar2_s cn38xxp2;
2514 struct cvmx_l2c_spar2_s cn56xx;
2515 struct cvmx_l2c_spar2_s cn56xxp1;
2516 struct cvmx_l2c_spar2_s cn58xx;
2517 struct cvmx_l2c_spar2_s cn58xxp1;
2518 };
2519
2520 union cvmx_l2c_spar3 {
2521 uint64_t u64;
2522 struct cvmx_l2c_spar3_s {
2523 #ifdef __BIG_ENDIAN_BITFIELD
2524 uint64_t reserved_32_63:32;
2525 uint64_t umsk15:8;
2526 uint64_t umsk14:8;
2527 uint64_t umsk13:8;
2528 uint64_t umsk12:8;
2529 #else
2530 uint64_t umsk12:8;
2531 uint64_t umsk13:8;
2532 uint64_t umsk14:8;
2533 uint64_t umsk15:8;
2534 uint64_t reserved_32_63:32;
2535 #endif
2536 } s;
2537 struct cvmx_l2c_spar3_s cn38xx;
2538 struct cvmx_l2c_spar3_s cn38xxp2;
2539 struct cvmx_l2c_spar3_s cn58xx;
2540 struct cvmx_l2c_spar3_s cn58xxp1;
2541 };
2542
2543 union cvmx_l2c_spar4 {
2544 uint64_t u64;
2545 struct cvmx_l2c_spar4_s {
2546 #ifdef __BIG_ENDIAN_BITFIELD
2547 uint64_t reserved_8_63:56;
2548 uint64_t umskiob:8;
2549 #else
2550 uint64_t umskiob:8;
2551 uint64_t reserved_8_63:56;
2552 #endif
2553 } s;
2554 struct cvmx_l2c_spar4_cn30xx {
2555 #ifdef __BIG_ENDIAN_BITFIELD
2556 uint64_t reserved_4_63:60;
2557 uint64_t umskiob:4;
2558 #else
2559 uint64_t umskiob:4;
2560 uint64_t reserved_4_63:60;
2561 #endif
2562 } cn30xx;
2563 struct cvmx_l2c_spar4_cn30xx cn31xx;
2564 struct cvmx_l2c_spar4_s cn38xx;
2565 struct cvmx_l2c_spar4_s cn38xxp2;
2566 struct cvmx_l2c_spar4_s cn50xx;
2567 struct cvmx_l2c_spar4_s cn52xx;
2568 struct cvmx_l2c_spar4_s cn52xxp1;
2569 struct cvmx_l2c_spar4_s cn56xx;
2570 struct cvmx_l2c_spar4_s cn56xxp1;
2571 struct cvmx_l2c_spar4_s cn58xx;
2572 struct cvmx_l2c_spar4_s cn58xxp1;
2573 };
2574
2575 union cvmx_l2c_tadx_ecc0 {
2576 uint64_t u64;
2577 struct cvmx_l2c_tadx_ecc0_s {
2578 #ifdef __BIG_ENDIAN_BITFIELD
2579 uint64_t reserved_58_63:6;
2580 uint64_t ow3ecc:10;
2581 uint64_t reserved_42_47:6;
2582 uint64_t ow2ecc:10;
2583 uint64_t reserved_26_31:6;
2584 uint64_t ow1ecc:10;
2585 uint64_t reserved_10_15:6;
2586 uint64_t ow0ecc:10;
2587 #else
2588 uint64_t ow0ecc:10;
2589 uint64_t reserved_10_15:6;
2590 uint64_t ow1ecc:10;
2591 uint64_t reserved_26_31:6;
2592 uint64_t ow2ecc:10;
2593 uint64_t reserved_42_47:6;
2594 uint64_t ow3ecc:10;
2595 uint64_t reserved_58_63:6;
2596 #endif
2597 } s;
2598 struct cvmx_l2c_tadx_ecc0_s cn61xx;
2599 struct cvmx_l2c_tadx_ecc0_s cn63xx;
2600 struct cvmx_l2c_tadx_ecc0_s cn63xxp1;
2601 struct cvmx_l2c_tadx_ecc0_s cn66xx;
2602 struct cvmx_l2c_tadx_ecc0_s cn68xx;
2603 struct cvmx_l2c_tadx_ecc0_s cn68xxp1;
2604 struct cvmx_l2c_tadx_ecc0_s cnf71xx;
2605 };
2606
2607 union cvmx_l2c_tadx_ecc1 {
2608 uint64_t u64;
2609 struct cvmx_l2c_tadx_ecc1_s {
2610 #ifdef __BIG_ENDIAN_BITFIELD
2611 uint64_t reserved_58_63:6;
2612 uint64_t ow7ecc:10;
2613 uint64_t reserved_42_47:6;
2614 uint64_t ow6ecc:10;
2615 uint64_t reserved_26_31:6;
2616 uint64_t ow5ecc:10;
2617 uint64_t reserved_10_15:6;
2618 uint64_t ow4ecc:10;
2619 #else
2620 uint64_t ow4ecc:10;
2621 uint64_t reserved_10_15:6;
2622 uint64_t ow5ecc:10;
2623 uint64_t reserved_26_31:6;
2624 uint64_t ow6ecc:10;
2625 uint64_t reserved_42_47:6;
2626 uint64_t ow7ecc:10;
2627 uint64_t reserved_58_63:6;
2628 #endif
2629 } s;
2630 struct cvmx_l2c_tadx_ecc1_s cn61xx;
2631 struct cvmx_l2c_tadx_ecc1_s cn63xx;
2632 struct cvmx_l2c_tadx_ecc1_s cn63xxp1;
2633 struct cvmx_l2c_tadx_ecc1_s cn66xx;
2634 struct cvmx_l2c_tadx_ecc1_s cn68xx;
2635 struct cvmx_l2c_tadx_ecc1_s cn68xxp1;
2636 struct cvmx_l2c_tadx_ecc1_s cnf71xx;
2637 };
2638
2639 union cvmx_l2c_tadx_ien {
2640 uint64_t u64;
2641 struct cvmx_l2c_tadx_ien_s {
2642 #ifdef __BIG_ENDIAN_BITFIELD
2643 uint64_t reserved_9_63:55;
2644 uint64_t wrdislmc:1;
2645 uint64_t rddislmc:1;
2646 uint64_t noway:1;
2647 uint64_t vbfdbe:1;
2648 uint64_t vbfsbe:1;
2649 uint64_t tagdbe:1;
2650 uint64_t tagsbe:1;
2651 uint64_t l2ddbe:1;
2652 uint64_t l2dsbe:1;
2653 #else
2654 uint64_t l2dsbe:1;
2655 uint64_t l2ddbe:1;
2656 uint64_t tagsbe:1;
2657 uint64_t tagdbe:1;
2658 uint64_t vbfsbe:1;
2659 uint64_t vbfdbe:1;
2660 uint64_t noway:1;
2661 uint64_t rddislmc:1;
2662 uint64_t wrdislmc:1;
2663 uint64_t reserved_9_63:55;
2664 #endif
2665 } s;
2666 struct cvmx_l2c_tadx_ien_s cn61xx;
2667 struct cvmx_l2c_tadx_ien_s cn63xx;
2668 struct cvmx_l2c_tadx_ien_cn63xxp1 {
2669 #ifdef __BIG_ENDIAN_BITFIELD
2670 uint64_t reserved_7_63:57;
2671 uint64_t noway:1;
2672 uint64_t vbfdbe:1;
2673 uint64_t vbfsbe:1;
2674 uint64_t tagdbe:1;
2675 uint64_t tagsbe:1;
2676 uint64_t l2ddbe:1;
2677 uint64_t l2dsbe:1;
2678 #else
2679 uint64_t l2dsbe:1;
2680 uint64_t l2ddbe:1;
2681 uint64_t tagsbe:1;
2682 uint64_t tagdbe:1;
2683 uint64_t vbfsbe:1;
2684 uint64_t vbfdbe:1;
2685 uint64_t noway:1;
2686 uint64_t reserved_7_63:57;
2687 #endif
2688 } cn63xxp1;
2689 struct cvmx_l2c_tadx_ien_s cn66xx;
2690 struct cvmx_l2c_tadx_ien_s cn68xx;
2691 struct cvmx_l2c_tadx_ien_s cn68xxp1;
2692 struct cvmx_l2c_tadx_ien_s cnf71xx;
2693 };
2694
2695 union cvmx_l2c_tadx_int {
2696 uint64_t u64;
2697 struct cvmx_l2c_tadx_int_s {
2698 #ifdef __BIG_ENDIAN_BITFIELD
2699 uint64_t reserved_9_63:55;
2700 uint64_t wrdislmc:1;
2701 uint64_t rddislmc:1;
2702 uint64_t noway:1;
2703 uint64_t vbfdbe:1;
2704 uint64_t vbfsbe:1;
2705 uint64_t tagdbe:1;
2706 uint64_t tagsbe:1;
2707 uint64_t l2ddbe:1;
2708 uint64_t l2dsbe:1;
2709 #else
2710 uint64_t l2dsbe:1;
2711 uint64_t l2ddbe:1;
2712 uint64_t tagsbe:1;
2713 uint64_t tagdbe:1;
2714 uint64_t vbfsbe:1;
2715 uint64_t vbfdbe:1;
2716 uint64_t noway:1;
2717 uint64_t rddislmc:1;
2718 uint64_t wrdislmc:1;
2719 uint64_t reserved_9_63:55;
2720 #endif
2721 } s;
2722 struct cvmx_l2c_tadx_int_s cn61xx;
2723 struct cvmx_l2c_tadx_int_s cn63xx;
2724 struct cvmx_l2c_tadx_int_s cn66xx;
2725 struct cvmx_l2c_tadx_int_s cn68xx;
2726 struct cvmx_l2c_tadx_int_s cn68xxp1;
2727 struct cvmx_l2c_tadx_int_s cnf71xx;
2728 };
2729
2730 union cvmx_l2c_tadx_pfc0 {
2731 uint64_t u64;
2732 struct cvmx_l2c_tadx_pfc0_s {
2733 #ifdef __BIG_ENDIAN_BITFIELD
2734 uint64_t count:64;
2735 #else
2736 uint64_t count:64;
2737 #endif
2738 } s;
2739 struct cvmx_l2c_tadx_pfc0_s cn61xx;
2740 struct cvmx_l2c_tadx_pfc0_s cn63xx;
2741 struct cvmx_l2c_tadx_pfc0_s cn63xxp1;
2742 struct cvmx_l2c_tadx_pfc0_s cn66xx;
2743 struct cvmx_l2c_tadx_pfc0_s cn68xx;
2744 struct cvmx_l2c_tadx_pfc0_s cn68xxp1;
2745 struct cvmx_l2c_tadx_pfc0_s cnf71xx;
2746 };
2747
2748 union cvmx_l2c_tadx_pfc1 {
2749 uint64_t u64;
2750 struct cvmx_l2c_tadx_pfc1_s {
2751 #ifdef __BIG_ENDIAN_BITFIELD
2752 uint64_t count:64;
2753 #else
2754 uint64_t count:64;
2755 #endif
2756 } s;
2757 struct cvmx_l2c_tadx_pfc1_s cn61xx;
2758 struct cvmx_l2c_tadx_pfc1_s cn63xx;
2759 struct cvmx_l2c_tadx_pfc1_s cn63xxp1;
2760 struct cvmx_l2c_tadx_pfc1_s cn66xx;
2761 struct cvmx_l2c_tadx_pfc1_s cn68xx;
2762 struct cvmx_l2c_tadx_pfc1_s cn68xxp1;
2763 struct cvmx_l2c_tadx_pfc1_s cnf71xx;
2764 };
2765
2766 union cvmx_l2c_tadx_pfc2 {
2767 uint64_t u64;
2768 struct cvmx_l2c_tadx_pfc2_s {
2769 #ifdef __BIG_ENDIAN_BITFIELD
2770 uint64_t count:64;
2771 #else
2772 uint64_t count:64;
2773 #endif
2774 } s;
2775 struct cvmx_l2c_tadx_pfc2_s cn61xx;
2776 struct cvmx_l2c_tadx_pfc2_s cn63xx;
2777 struct cvmx_l2c_tadx_pfc2_s cn63xxp1;
2778 struct cvmx_l2c_tadx_pfc2_s cn66xx;
2779 struct cvmx_l2c_tadx_pfc2_s cn68xx;
2780 struct cvmx_l2c_tadx_pfc2_s cn68xxp1;
2781 struct cvmx_l2c_tadx_pfc2_s cnf71xx;
2782 };
2783
2784 union cvmx_l2c_tadx_pfc3 {
2785 uint64_t u64;
2786 struct cvmx_l2c_tadx_pfc3_s {
2787 #ifdef __BIG_ENDIAN_BITFIELD
2788 uint64_t count:64;
2789 #else
2790 uint64_t count:64;
2791 #endif
2792 } s;
2793 struct cvmx_l2c_tadx_pfc3_s cn61xx;
2794 struct cvmx_l2c_tadx_pfc3_s cn63xx;
2795 struct cvmx_l2c_tadx_pfc3_s cn63xxp1;
2796 struct cvmx_l2c_tadx_pfc3_s cn66xx;
2797 struct cvmx_l2c_tadx_pfc3_s cn68xx;
2798 struct cvmx_l2c_tadx_pfc3_s cn68xxp1;
2799 struct cvmx_l2c_tadx_pfc3_s cnf71xx;
2800 };
2801
2802 union cvmx_l2c_tadx_prf {
2803 uint64_t u64;
2804 struct cvmx_l2c_tadx_prf_s {
2805 #ifdef __BIG_ENDIAN_BITFIELD
2806 uint64_t reserved_32_63:32;
2807 uint64_t cnt3sel:8;
2808 uint64_t cnt2sel:8;
2809 uint64_t cnt1sel:8;
2810 uint64_t cnt0sel:8;
2811 #else
2812 uint64_t cnt0sel:8;
2813 uint64_t cnt1sel:8;
2814 uint64_t cnt2sel:8;
2815 uint64_t cnt3sel:8;
2816 uint64_t reserved_32_63:32;
2817 #endif
2818 } s;
2819 struct cvmx_l2c_tadx_prf_s cn61xx;
2820 struct cvmx_l2c_tadx_prf_s cn63xx;
2821 struct cvmx_l2c_tadx_prf_s cn63xxp1;
2822 struct cvmx_l2c_tadx_prf_s cn66xx;
2823 struct cvmx_l2c_tadx_prf_s cn68xx;
2824 struct cvmx_l2c_tadx_prf_s cn68xxp1;
2825 struct cvmx_l2c_tadx_prf_s cnf71xx;
2826 };
2827
2828 union cvmx_l2c_tadx_tag {
2829 uint64_t u64;
2830 struct cvmx_l2c_tadx_tag_s {
2831 #ifdef __BIG_ENDIAN_BITFIELD
2832 uint64_t reserved_46_63:18;
2833 uint64_t ecc:6;
2834 uint64_t reserved_36_39:4;
2835 uint64_t tag:19;
2836 uint64_t reserved_4_16:13;
2837 uint64_t use:1;
2838 uint64_t valid:1;
2839 uint64_t dirty:1;
2840 uint64_t lock:1;
2841 #else
2842 uint64_t lock:1;
2843 uint64_t dirty:1;
2844 uint64_t valid:1;
2845 uint64_t use:1;
2846 uint64_t reserved_4_16:13;
2847 uint64_t tag:19;
2848 uint64_t reserved_36_39:4;
2849 uint64_t ecc:6;
2850 uint64_t reserved_46_63:18;
2851 #endif
2852 } s;
2853 struct cvmx_l2c_tadx_tag_s cn61xx;
2854 struct cvmx_l2c_tadx_tag_s cn63xx;
2855 struct cvmx_l2c_tadx_tag_s cn63xxp1;
2856 struct cvmx_l2c_tadx_tag_s cn66xx;
2857 struct cvmx_l2c_tadx_tag_s cn68xx;
2858 struct cvmx_l2c_tadx_tag_s cn68xxp1;
2859 struct cvmx_l2c_tadx_tag_s cnf71xx;
2860 };
2861
2862 union cvmx_l2c_ver_id {
2863 uint64_t u64;
2864 struct cvmx_l2c_ver_id_s {
2865 #ifdef __BIG_ENDIAN_BITFIELD
2866 uint64_t mask:64;
2867 #else
2868 uint64_t mask:64;
2869 #endif
2870 } s;
2871 struct cvmx_l2c_ver_id_s cn61xx;
2872 struct cvmx_l2c_ver_id_s cn63xx;
2873 struct cvmx_l2c_ver_id_s cn63xxp1;
2874 struct cvmx_l2c_ver_id_s cn66xx;
2875 struct cvmx_l2c_ver_id_s cn68xx;
2876 struct cvmx_l2c_ver_id_s cn68xxp1;
2877 struct cvmx_l2c_ver_id_s cnf71xx;
2878 };
2879
2880 union cvmx_l2c_ver_iob {
2881 uint64_t u64;
2882 struct cvmx_l2c_ver_iob_s {
2883 #ifdef __BIG_ENDIAN_BITFIELD
2884 uint64_t reserved_2_63:62;
2885 uint64_t mask:2;
2886 #else
2887 uint64_t mask:2;
2888 uint64_t reserved_2_63:62;
2889 #endif
2890 } s;
2891 struct cvmx_l2c_ver_iob_cn61xx {
2892 #ifdef __BIG_ENDIAN_BITFIELD
2893 uint64_t reserved_1_63:63;
2894 uint64_t mask:1;
2895 #else
2896 uint64_t mask:1;
2897 uint64_t reserved_1_63:63;
2898 #endif
2899 } cn61xx;
2900 struct cvmx_l2c_ver_iob_cn61xx cn63xx;
2901 struct cvmx_l2c_ver_iob_cn61xx cn63xxp1;
2902 struct cvmx_l2c_ver_iob_cn61xx cn66xx;
2903 struct cvmx_l2c_ver_iob_s cn68xx;
2904 struct cvmx_l2c_ver_iob_s cn68xxp1;
2905 struct cvmx_l2c_ver_iob_cn61xx cnf71xx;
2906 };
2907
2908 union cvmx_l2c_ver_msc {
2909 uint64_t u64;
2910 struct cvmx_l2c_ver_msc_s {
2911 #ifdef __BIG_ENDIAN_BITFIELD
2912 uint64_t reserved_2_63:62;
2913 uint64_t invl2:1;
2914 uint64_t dwb:1;
2915 #else
2916 uint64_t dwb:1;
2917 uint64_t invl2:1;
2918 uint64_t reserved_2_63:62;
2919 #endif
2920 } s;
2921 struct cvmx_l2c_ver_msc_s cn61xx;
2922 struct cvmx_l2c_ver_msc_s cn63xx;
2923 struct cvmx_l2c_ver_msc_s cn66xx;
2924 struct cvmx_l2c_ver_msc_s cn68xx;
2925 struct cvmx_l2c_ver_msc_s cn68xxp1;
2926 struct cvmx_l2c_ver_msc_s cnf71xx;
2927 };
2928
2929 union cvmx_l2c_ver_pp {
2930 uint64_t u64;
2931 struct cvmx_l2c_ver_pp_s {
2932 #ifdef __BIG_ENDIAN_BITFIELD
2933 uint64_t reserved_32_63:32;
2934 uint64_t mask:32;
2935 #else
2936 uint64_t mask:32;
2937 uint64_t reserved_32_63:32;
2938 #endif
2939 } s;
2940 struct cvmx_l2c_ver_pp_cn61xx {
2941 #ifdef __BIG_ENDIAN_BITFIELD
2942 uint64_t reserved_4_63:60;
2943 uint64_t mask:4;
2944 #else
2945 uint64_t mask:4;
2946 uint64_t reserved_4_63:60;
2947 #endif
2948 } cn61xx;
2949 struct cvmx_l2c_ver_pp_cn63xx {
2950 #ifdef __BIG_ENDIAN_BITFIELD
2951 uint64_t reserved_6_63:58;
2952 uint64_t mask:6;
2953 #else
2954 uint64_t mask:6;
2955 uint64_t reserved_6_63:58;
2956 #endif
2957 } cn63xx;
2958 struct cvmx_l2c_ver_pp_cn63xx cn63xxp1;
2959 struct cvmx_l2c_ver_pp_cn66xx {
2960 #ifdef __BIG_ENDIAN_BITFIELD
2961 uint64_t reserved_10_63:54;
2962 uint64_t mask:10;
2963 #else
2964 uint64_t mask:10;
2965 uint64_t reserved_10_63:54;
2966 #endif
2967 } cn66xx;
2968 struct cvmx_l2c_ver_pp_s cn68xx;
2969 struct cvmx_l2c_ver_pp_s cn68xxp1;
2970 struct cvmx_l2c_ver_pp_cn61xx cnf71xx;
2971 };
2972
2973 union cvmx_l2c_virtid_iobx {
2974 uint64_t u64;
2975 struct cvmx_l2c_virtid_iobx_s {
2976 #ifdef __BIG_ENDIAN_BITFIELD
2977 uint64_t reserved_14_63:50;
2978 uint64_t dwbid:6;
2979 uint64_t reserved_6_7:2;
2980 uint64_t id:6;
2981 #else
2982 uint64_t id:6;
2983 uint64_t reserved_6_7:2;
2984 uint64_t dwbid:6;
2985 uint64_t reserved_14_63:50;
2986 #endif
2987 } s;
2988 struct cvmx_l2c_virtid_iobx_s cn61xx;
2989 struct cvmx_l2c_virtid_iobx_s cn63xx;
2990 struct cvmx_l2c_virtid_iobx_s cn63xxp1;
2991 struct cvmx_l2c_virtid_iobx_s cn66xx;
2992 struct cvmx_l2c_virtid_iobx_s cn68xx;
2993 struct cvmx_l2c_virtid_iobx_s cn68xxp1;
2994 struct cvmx_l2c_virtid_iobx_s cnf71xx;
2995 };
2996
2997 union cvmx_l2c_virtid_ppx {
2998 uint64_t u64;
2999 struct cvmx_l2c_virtid_ppx_s {
3000 #ifdef __BIG_ENDIAN_BITFIELD
3001 uint64_t reserved_6_63:58;
3002 uint64_t id:6;
3003 #else
3004 uint64_t id:6;
3005 uint64_t reserved_6_63:58;
3006 #endif
3007 } s;
3008 struct cvmx_l2c_virtid_ppx_s cn61xx;
3009 struct cvmx_l2c_virtid_ppx_s cn63xx;
3010 struct cvmx_l2c_virtid_ppx_s cn63xxp1;
3011 struct cvmx_l2c_virtid_ppx_s cn66xx;
3012 struct cvmx_l2c_virtid_ppx_s cn68xx;
3013 struct cvmx_l2c_virtid_ppx_s cn68xxp1;
3014 struct cvmx_l2c_virtid_ppx_s cnf71xx;
3015 };
3016
3017 union cvmx_l2c_vrt_ctl {
3018 uint64_t u64;
3019 struct cvmx_l2c_vrt_ctl_s {
3020 #ifdef __BIG_ENDIAN_BITFIELD
3021 uint64_t reserved_9_63:55;
3022 uint64_t ooberr:1;
3023 uint64_t reserved_7_7:1;
3024 uint64_t memsz:3;
3025 uint64_t numid:3;
3026 uint64_t enable:1;
3027 #else
3028 uint64_t enable:1;
3029 uint64_t numid:3;
3030 uint64_t memsz:3;
3031 uint64_t reserved_7_7:1;
3032 uint64_t ooberr:1;
3033 uint64_t reserved_9_63:55;
3034 #endif
3035 } s;
3036 struct cvmx_l2c_vrt_ctl_s cn61xx;
3037 struct cvmx_l2c_vrt_ctl_s cn63xx;
3038 struct cvmx_l2c_vrt_ctl_s cn63xxp1;
3039 struct cvmx_l2c_vrt_ctl_s cn66xx;
3040 struct cvmx_l2c_vrt_ctl_s cn68xx;
3041 struct cvmx_l2c_vrt_ctl_s cn68xxp1;
3042 struct cvmx_l2c_vrt_ctl_s cnf71xx;
3043 };
3044
3045 union cvmx_l2c_vrt_memx {
3046 uint64_t u64;
3047 struct cvmx_l2c_vrt_memx_s {
3048 #ifdef __BIG_ENDIAN_BITFIELD
3049 uint64_t reserved_36_63:28;
3050 uint64_t parity:4;
3051 uint64_t data:32;
3052 #else
3053 uint64_t data:32;
3054 uint64_t parity:4;
3055 uint64_t reserved_36_63:28;
3056 #endif
3057 } s;
3058 struct cvmx_l2c_vrt_memx_s cn61xx;
3059 struct cvmx_l2c_vrt_memx_s cn63xx;
3060 struct cvmx_l2c_vrt_memx_s cn63xxp1;
3061 struct cvmx_l2c_vrt_memx_s cn66xx;
3062 struct cvmx_l2c_vrt_memx_s cn68xx;
3063 struct cvmx_l2c_vrt_memx_s cn68xxp1;
3064 struct cvmx_l2c_vrt_memx_s cnf71xx;
3065 };
3066
3067 union cvmx_l2c_wpar_iobx {
3068 uint64_t u64;
3069 struct cvmx_l2c_wpar_iobx_s {
3070 #ifdef __BIG_ENDIAN_BITFIELD
3071 uint64_t reserved_16_63:48;
3072 uint64_t mask:16;
3073 #else
3074 uint64_t mask:16;
3075 uint64_t reserved_16_63:48;
3076 #endif
3077 } s;
3078 struct cvmx_l2c_wpar_iobx_s cn61xx;
3079 struct cvmx_l2c_wpar_iobx_s cn63xx;
3080 struct cvmx_l2c_wpar_iobx_s cn63xxp1;
3081 struct cvmx_l2c_wpar_iobx_s cn66xx;
3082 struct cvmx_l2c_wpar_iobx_s cn68xx;
3083 struct cvmx_l2c_wpar_iobx_s cn68xxp1;
3084 struct cvmx_l2c_wpar_iobx_s cnf71xx;
3085 };
3086
3087 union cvmx_l2c_wpar_ppx {
3088 uint64_t u64;
3089 struct cvmx_l2c_wpar_ppx_s {
3090 #ifdef __BIG_ENDIAN_BITFIELD
3091 uint64_t reserved_16_63:48;
3092 uint64_t mask:16;
3093 #else
3094 uint64_t mask:16;
3095 uint64_t reserved_16_63:48;
3096 #endif
3097 } s;
3098 struct cvmx_l2c_wpar_ppx_s cn61xx;
3099 struct cvmx_l2c_wpar_ppx_s cn63xx;
3100 struct cvmx_l2c_wpar_ppx_s cn63xxp1;
3101 struct cvmx_l2c_wpar_ppx_s cn66xx;
3102 struct cvmx_l2c_wpar_ppx_s cn68xx;
3103 struct cvmx_l2c_wpar_ppx_s cn68xxp1;
3104 struct cvmx_l2c_wpar_ppx_s cnf71xx;
3105 };
3106
3107 union cvmx_l2c_xmcx_pfc {
3108 uint64_t u64;
3109 struct cvmx_l2c_xmcx_pfc_s {
3110 #ifdef __BIG_ENDIAN_BITFIELD
3111 uint64_t count:64;
3112 #else
3113 uint64_t count:64;
3114 #endif
3115 } s;
3116 struct cvmx_l2c_xmcx_pfc_s cn61xx;
3117 struct cvmx_l2c_xmcx_pfc_s cn63xx;
3118 struct cvmx_l2c_xmcx_pfc_s cn63xxp1;
3119 struct cvmx_l2c_xmcx_pfc_s cn66xx;
3120 struct cvmx_l2c_xmcx_pfc_s cn68xx;
3121 struct cvmx_l2c_xmcx_pfc_s cn68xxp1;
3122 struct cvmx_l2c_xmcx_pfc_s cnf71xx;
3123 };
3124
3125 union cvmx_l2c_xmc_cmd {
3126 uint64_t u64;
3127 struct cvmx_l2c_xmc_cmd_s {
3128 #ifdef __BIG_ENDIAN_BITFIELD
3129 uint64_t inuse:1;
3130 uint64_t cmd:6;
3131 uint64_t reserved_38_56:19;
3132 uint64_t addr:38;
3133 #else
3134 uint64_t addr:38;
3135 uint64_t reserved_38_56:19;
3136 uint64_t cmd:6;
3137 uint64_t inuse:1;
3138 #endif
3139 } s;
3140 struct cvmx_l2c_xmc_cmd_s cn61xx;
3141 struct cvmx_l2c_xmc_cmd_s cn63xx;
3142 struct cvmx_l2c_xmc_cmd_s cn63xxp1;
3143 struct cvmx_l2c_xmc_cmd_s cn66xx;
3144 struct cvmx_l2c_xmc_cmd_s cn68xx;
3145 struct cvmx_l2c_xmc_cmd_s cn68xxp1;
3146 struct cvmx_l2c_xmc_cmd_s cnf71xx;
3147 };
3148
3149 union cvmx_l2c_xmdx_pfc {
3150 uint64_t u64;
3151 struct cvmx_l2c_xmdx_pfc_s {
3152 #ifdef __BIG_ENDIAN_BITFIELD
3153 uint64_t count:64;
3154 #else
3155 uint64_t count:64;
3156 #endif
3157 } s;
3158 struct cvmx_l2c_xmdx_pfc_s cn61xx;
3159 struct cvmx_l2c_xmdx_pfc_s cn63xx;
3160 struct cvmx_l2c_xmdx_pfc_s cn63xxp1;
3161 struct cvmx_l2c_xmdx_pfc_s cn66xx;
3162 struct cvmx_l2c_xmdx_pfc_s cn68xx;
3163 struct cvmx_l2c_xmdx_pfc_s cn68xxp1;
3164 struct cvmx_l2c_xmdx_pfc_s cnf71xx;
3165 };
3166
3167 #endif