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
3168