Add the rt linux 4.1.3-rt3 as base
[kvmfornfv.git] / kernel / 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