154293ec3SDavid Daney /***********************license start***************
254293ec3SDavid Daney  * Author: Cavium Networks
354293ec3SDavid Daney  *
454293ec3SDavid Daney  * Contact: support@caviumnetworks.com
554293ec3SDavid Daney  * This file is part of the OCTEON SDK
654293ec3SDavid Daney  *
7c5aa59e8SDavid Daney  * Copyright (c) 2003-2012 Cavium Networks
854293ec3SDavid Daney  *
954293ec3SDavid Daney  * This file is free software; you can redistribute it and/or modify
1054293ec3SDavid Daney  * it under the terms of the GNU General Public License, Version 2, as
1154293ec3SDavid Daney  * published by the Free Software Foundation.
1254293ec3SDavid Daney  *
1354293ec3SDavid Daney  * This file is distributed in the hope that it will be useful, but
1454293ec3SDavid Daney  * AS-IS and WITHOUT ANY WARRANTY; without even the implied warranty
1554293ec3SDavid Daney  * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE, TITLE, or
1654293ec3SDavid Daney  * NONINFRINGEMENT.  See the GNU General Public License for more
1754293ec3SDavid Daney  * details.
1854293ec3SDavid Daney  *
1954293ec3SDavid Daney  * You should have received a copy of the GNU General Public License
2054293ec3SDavid Daney  * along with this file; if not, write to the Free Software
2154293ec3SDavid Daney  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
2254293ec3SDavid Daney  * or visit http://www.gnu.org/licenses/.
2354293ec3SDavid Daney  *
2454293ec3SDavid Daney  * This file may also be available under a different license from Cavium.
2554293ec3SDavid Daney  * Contact Cavium Networks for more information
2654293ec3SDavid Daney  ***********************license end**************************************/
2754293ec3SDavid Daney 
2854293ec3SDavid Daney #ifndef __CVMX_L2C_DEFS_H__
2954293ec3SDavid Daney #define __CVMX_L2C_DEFS_H__
3054293ec3SDavid Daney 
31aa32a955SDavid Daney #define CVMX_L2C_BIG_CTL (CVMX_ADD_IO_SEG(0x0001180080800030ull))
32aa32a955SDavid Daney #define CVMX_L2C_BST (CVMX_ADD_IO_SEG(0x00011800808007F8ull))
33aa32a955SDavid Daney #define CVMX_L2C_BST0 (CVMX_ADD_IO_SEG(0x00011800800007F8ull))
34aa32a955SDavid Daney #define CVMX_L2C_BST1 (CVMX_ADD_IO_SEG(0x00011800800007F0ull))
35aa32a955SDavid Daney #define CVMX_L2C_BST2 (CVMX_ADD_IO_SEG(0x00011800800007E8ull))
36c5aa59e8SDavid Daney #define CVMX_L2C_BST_MEMX(block_id) (CVMX_ADD_IO_SEG(0x0001180080C007F8ull) + ((block_id) & 3) * 0x40000ull)
37c5aa59e8SDavid Daney #define CVMX_L2C_BST_TDTX(block_id) (CVMX_ADD_IO_SEG(0x0001180080A007F0ull) + ((block_id) & 3) * 0x40000ull)
38c5aa59e8SDavid Daney #define CVMX_L2C_BST_TTGX(block_id) (CVMX_ADD_IO_SEG(0x0001180080A007F8ull) + ((block_id) & 3) * 0x40000ull)
39aa32a955SDavid Daney #define CVMX_L2C_CFG (CVMX_ADD_IO_SEG(0x0001180080000000ull))
40aa32a955SDavid Daney #define CVMX_L2C_COP0_MAPX(offset) (CVMX_ADD_IO_SEG(0x0001180080940000ull) + ((offset) & 16383) * 8)
41aa32a955SDavid Daney #define CVMX_L2C_CTL (CVMX_ADD_IO_SEG(0x0001180080800000ull))
42aa32a955SDavid Daney #define CVMX_L2C_DBG (CVMX_ADD_IO_SEG(0x0001180080000030ull))
43aa32a955SDavid Daney #define CVMX_L2C_DUT (CVMX_ADD_IO_SEG(0x0001180080000050ull))
44c5aa59e8SDavid Daney #define CVMX_L2C_DUT_MAPX(offset) (CVMX_ADD_IO_SEG(0x0001180080E00000ull) + ((offset) & 8191) * 8)
45c5aa59e8SDavid Daney #define CVMX_L2C_ERR_TDTX(block_id) (CVMX_ADD_IO_SEG(0x0001180080A007E0ull) + ((block_id) & 3) * 0x40000ull)
46c5aa59e8SDavid Daney #define CVMX_L2C_ERR_TTGX(block_id) (CVMX_ADD_IO_SEG(0x0001180080A007E8ull) + ((block_id) & 3) * 0x40000ull)
47c5aa59e8SDavid Daney #define CVMX_L2C_ERR_VBFX(block_id) (CVMX_ADD_IO_SEG(0x0001180080C007F0ull) + ((block_id) & 3) * 0x40000ull)
48aa32a955SDavid Daney #define CVMX_L2C_ERR_XMC (CVMX_ADD_IO_SEG(0x00011800808007D8ull))
49aa32a955SDavid Daney #define CVMX_L2C_GRPWRR0 (CVMX_ADD_IO_SEG(0x00011800800000C8ull))
50aa32a955SDavid Daney #define CVMX_L2C_GRPWRR1 (CVMX_ADD_IO_SEG(0x00011800800000D0ull))
51aa32a955SDavid Daney #define CVMX_L2C_INT_EN (CVMX_ADD_IO_SEG(0x0001180080000100ull))
52aa32a955SDavid Daney #define CVMX_L2C_INT_ENA (CVMX_ADD_IO_SEG(0x0001180080800020ull))
53aa32a955SDavid Daney #define CVMX_L2C_INT_REG (CVMX_ADD_IO_SEG(0x0001180080800018ull))
54aa32a955SDavid Daney #define CVMX_L2C_INT_STAT (CVMX_ADD_IO_SEG(0x00011800800000F8ull))
55aa32a955SDavid Daney #define CVMX_L2C_IOCX_PFC(block_id) (CVMX_ADD_IO_SEG(0x0001180080800420ull))
56aa32a955SDavid Daney #define CVMX_L2C_IORX_PFC(block_id) (CVMX_ADD_IO_SEG(0x0001180080800428ull))
57aa32a955SDavid Daney #define CVMX_L2C_LCKBASE (CVMX_ADD_IO_SEG(0x0001180080000058ull))
58aa32a955SDavid Daney #define CVMX_L2C_LCKOFF (CVMX_ADD_IO_SEG(0x0001180080000060ull))
59aa32a955SDavid Daney #define CVMX_L2C_LFB0 (CVMX_ADD_IO_SEG(0x0001180080000038ull))
60aa32a955SDavid Daney #define CVMX_L2C_LFB1 (CVMX_ADD_IO_SEG(0x0001180080000040ull))
61aa32a955SDavid Daney #define CVMX_L2C_LFB2 (CVMX_ADD_IO_SEG(0x0001180080000048ull))
62aa32a955SDavid Daney #define CVMX_L2C_LFB3 (CVMX_ADD_IO_SEG(0x00011800800000B8ull))
63aa32a955SDavid Daney #define CVMX_L2C_OOB (CVMX_ADD_IO_SEG(0x00011800800000D8ull))
64aa32a955SDavid Daney #define CVMX_L2C_OOB1 (CVMX_ADD_IO_SEG(0x00011800800000E0ull))
65aa32a955SDavid Daney #define CVMX_L2C_OOB2 (CVMX_ADD_IO_SEG(0x00011800800000E8ull))
66aa32a955SDavid Daney #define CVMX_L2C_OOB3 (CVMX_ADD_IO_SEG(0x00011800800000F0ull))
67aa32a955SDavid Daney #define CVMX_L2C_PFC0 CVMX_L2C_PFCX(0)
68aa32a955SDavid Daney #define CVMX_L2C_PFC1 CVMX_L2C_PFCX(1)
69aa32a955SDavid Daney #define CVMX_L2C_PFC2 CVMX_L2C_PFCX(2)
70aa32a955SDavid Daney #define CVMX_L2C_PFC3 CVMX_L2C_PFCX(3)
71aa32a955SDavid Daney #define CVMX_L2C_PFCTL (CVMX_ADD_IO_SEG(0x0001180080000090ull))
72aa32a955SDavid Daney #define CVMX_L2C_PFCX(offset) (CVMX_ADD_IO_SEG(0x0001180080000098ull) + ((offset) & 3) * 8)
73aa32a955SDavid Daney #define CVMX_L2C_PPGRP (CVMX_ADD_IO_SEG(0x00011800800000C0ull))
74c5aa59e8SDavid Daney #define CVMX_L2C_QOS_IOBX(offset) (CVMX_ADD_IO_SEG(0x0001180080880200ull) + ((offset) & 1) * 8)
75c5aa59e8SDavid Daney #define CVMX_L2C_QOS_PPX(offset) (CVMX_ADD_IO_SEG(0x0001180080880000ull) + ((offset) & 31) * 8)
76aa32a955SDavid Daney #define CVMX_L2C_QOS_WGT (CVMX_ADD_IO_SEG(0x0001180080800008ull))
77c5aa59e8SDavid Daney #define CVMX_L2C_RSCX_PFC(offset) (CVMX_ADD_IO_SEG(0x0001180080800410ull) + ((offset) & 3) * 64)
78c5aa59e8SDavid Daney #define CVMX_L2C_RSDX_PFC(offset) (CVMX_ADD_IO_SEG(0x0001180080800418ull) + ((offset) & 3) * 64)
79aa32a955SDavid Daney #define CVMX_L2C_SPAR0 (CVMX_ADD_IO_SEG(0x0001180080000068ull))
80aa32a955SDavid Daney #define CVMX_L2C_SPAR1 (CVMX_ADD_IO_SEG(0x0001180080000070ull))
81aa32a955SDavid Daney #define CVMX_L2C_SPAR2 (CVMX_ADD_IO_SEG(0x0001180080000078ull))
82aa32a955SDavid Daney #define CVMX_L2C_SPAR3 (CVMX_ADD_IO_SEG(0x0001180080000080ull))
83aa32a955SDavid Daney #define CVMX_L2C_SPAR4 (CVMX_ADD_IO_SEG(0x0001180080000088ull))
84c5aa59e8SDavid Daney #define CVMX_L2C_TADX_ECC0(block_id) (CVMX_ADD_IO_SEG(0x0001180080A00018ull) + ((block_id) & 3) * 0x40000ull)
85c5aa59e8SDavid Daney #define CVMX_L2C_TADX_ECC1(block_id) (CVMX_ADD_IO_SEG(0x0001180080A00020ull) + ((block_id) & 3) * 0x40000ull)
86c5aa59e8SDavid Daney #define CVMX_L2C_TADX_IEN(block_id) (CVMX_ADD_IO_SEG(0x0001180080A00000ull) + ((block_id) & 3) * 0x40000ull)
87c5aa59e8SDavid Daney #define CVMX_L2C_TADX_INT(block_id) (CVMX_ADD_IO_SEG(0x0001180080A00028ull) + ((block_id) & 3) * 0x40000ull)
88c5aa59e8SDavid Daney #define CVMX_L2C_TADX_PFC0(block_id) (CVMX_ADD_IO_SEG(0x0001180080A00400ull) + ((block_id) & 3) * 0x40000ull)
89c5aa59e8SDavid Daney #define CVMX_L2C_TADX_PFC1(block_id) (CVMX_ADD_IO_SEG(0x0001180080A00408ull) + ((block_id) & 3) * 0x40000ull)
90c5aa59e8SDavid Daney #define CVMX_L2C_TADX_PFC2(block_id) (CVMX_ADD_IO_SEG(0x0001180080A00410ull) + ((block_id) & 3) * 0x40000ull)
91c5aa59e8SDavid Daney #define CVMX_L2C_TADX_PFC3(block_id) (CVMX_ADD_IO_SEG(0x0001180080A00418ull) + ((block_id) & 3) * 0x40000ull)
92c5aa59e8SDavid Daney #define CVMX_L2C_TADX_PRF(block_id) (CVMX_ADD_IO_SEG(0x0001180080A00008ull) + ((block_id) & 3) * 0x40000ull)
93c5aa59e8SDavid Daney #define CVMX_L2C_TADX_TAG(block_id) (CVMX_ADD_IO_SEG(0x0001180080A00010ull) + ((block_id) & 3) * 0x40000ull)
94aa32a955SDavid Daney #define CVMX_L2C_VER_ID (CVMX_ADD_IO_SEG(0x00011800808007E0ull))
95aa32a955SDavid Daney #define CVMX_L2C_VER_IOB (CVMX_ADD_IO_SEG(0x00011800808007F0ull))
96aa32a955SDavid Daney #define CVMX_L2C_VER_MSC (CVMX_ADD_IO_SEG(0x00011800808007D0ull))
97aa32a955SDavid Daney #define CVMX_L2C_VER_PP (CVMX_ADD_IO_SEG(0x00011800808007E8ull))
98c5aa59e8SDavid Daney #define CVMX_L2C_VIRTID_IOBX(offset) (CVMX_ADD_IO_SEG(0x00011800808C0200ull) + ((offset) & 1) * 8)
99c5aa59e8SDavid Daney #define CVMX_L2C_VIRTID_PPX(offset) (CVMX_ADD_IO_SEG(0x00011800808C0000ull) + ((offset) & 31) * 8)
100aa32a955SDavid Daney #define CVMX_L2C_VRT_CTL (CVMX_ADD_IO_SEG(0x0001180080800010ull))
101aa32a955SDavid Daney #define CVMX_L2C_VRT_MEMX(offset) (CVMX_ADD_IO_SEG(0x0001180080900000ull) + ((offset) & 1023) * 8)
102c5aa59e8SDavid Daney #define CVMX_L2C_WPAR_IOBX(offset) (CVMX_ADD_IO_SEG(0x0001180080840200ull) + ((offset) & 1) * 8)
103c5aa59e8SDavid Daney #define CVMX_L2C_WPAR_PPX(offset) (CVMX_ADD_IO_SEG(0x0001180080840000ull) + ((offset) & 31) * 8)
104c5aa59e8SDavid Daney #define CVMX_L2C_XMCX_PFC(offset) (CVMX_ADD_IO_SEG(0x0001180080800400ull) + ((offset) & 3) * 64)
105aa32a955SDavid Daney #define CVMX_L2C_XMC_CMD (CVMX_ADD_IO_SEG(0x0001180080800028ull))
106c5aa59e8SDavid Daney #define CVMX_L2C_XMDX_PFC(offset) (CVMX_ADD_IO_SEG(0x0001180080800408ull) + ((offset) & 3) * 64)
107aa32a955SDavid Daney 
108aa32a955SDavid Daney union cvmx_l2c_big_ctl {
109aa32a955SDavid Daney 	uint64_t u64;
110aa32a955SDavid Daney 	struct cvmx_l2c_big_ctl_s {
111c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
112aa32a955SDavid Daney 		uint64_t reserved_8_63:56;
113aa32a955SDavid Daney 		uint64_t maxdram:4;
114aa32a955SDavid Daney 		uint64_t reserved_1_3:3;
115aa32a955SDavid Daney 		uint64_t disable:1;
116c5aa59e8SDavid Daney #else
117c5aa59e8SDavid Daney 		uint64_t disable:1;
118c5aa59e8SDavid Daney 		uint64_t reserved_1_3:3;
119c5aa59e8SDavid Daney 		uint64_t maxdram:4;
120c5aa59e8SDavid Daney 		uint64_t reserved_8_63:56;
121c5aa59e8SDavid Daney #endif
122aa32a955SDavid Daney 	} s;
123c5aa59e8SDavid Daney 	struct cvmx_l2c_big_ctl_s cn61xx;
124aa32a955SDavid Daney 	struct cvmx_l2c_big_ctl_s cn63xx;
125c5aa59e8SDavid Daney 	struct cvmx_l2c_big_ctl_s cn66xx;
126c5aa59e8SDavid Daney 	struct cvmx_l2c_big_ctl_s cn68xx;
127c5aa59e8SDavid Daney 	struct cvmx_l2c_big_ctl_s cn68xxp1;
128c5aa59e8SDavid Daney 	struct cvmx_l2c_big_ctl_s cnf71xx;
129aa32a955SDavid Daney };
130aa32a955SDavid Daney 
131aa32a955SDavid Daney union cvmx_l2c_bst {
132aa32a955SDavid Daney 	uint64_t u64;
133aa32a955SDavid Daney 	struct cvmx_l2c_bst_s {
134c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
135c5aa59e8SDavid Daney 		uint64_t dutfl:32;
136c5aa59e8SDavid Daney 		uint64_t rbffl:4;
137c5aa59e8SDavid Daney 		uint64_t xbffl:4;
138c5aa59e8SDavid Daney 		uint64_t tdpfl:4;
139c5aa59e8SDavid Daney 		uint64_t ioccmdfl:4;
140c5aa59e8SDavid Daney 		uint64_t iocdatfl:4;
141c5aa59e8SDavid Daney 		uint64_t dutresfl:4;
142c5aa59e8SDavid Daney 		uint64_t vrtfl:4;
143c5aa59e8SDavid Daney 		uint64_t tdffl:4;
144c5aa59e8SDavid Daney #else
145c5aa59e8SDavid Daney 		uint64_t tdffl:4;
146c5aa59e8SDavid Daney 		uint64_t vrtfl:4;
147c5aa59e8SDavid Daney 		uint64_t dutresfl:4;
148c5aa59e8SDavid Daney 		uint64_t iocdatfl:4;
149c5aa59e8SDavid Daney 		uint64_t ioccmdfl:4;
150c5aa59e8SDavid Daney 		uint64_t tdpfl:4;
151c5aa59e8SDavid Daney 		uint64_t xbffl:4;
152c5aa59e8SDavid Daney 		uint64_t rbffl:4;
153c5aa59e8SDavid Daney 		uint64_t dutfl:32;
154c5aa59e8SDavid Daney #endif
155c5aa59e8SDavid Daney 	} s;
156c5aa59e8SDavid Daney 	struct cvmx_l2c_bst_cn61xx {
157c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
158c5aa59e8SDavid Daney 		uint64_t reserved_36_63:28;
159c5aa59e8SDavid Daney 		uint64_t dutfl:4;
160c5aa59e8SDavid Daney 		uint64_t reserved_17_31:15;
161c5aa59e8SDavid Daney 		uint64_t ioccmdfl:1;
162c5aa59e8SDavid Daney 		uint64_t reserved_13_15:3;
163c5aa59e8SDavid Daney 		uint64_t iocdatfl:1;
164c5aa59e8SDavid Daney 		uint64_t reserved_9_11:3;
165c5aa59e8SDavid Daney 		uint64_t dutresfl:1;
166c5aa59e8SDavid Daney 		uint64_t reserved_5_7:3;
167c5aa59e8SDavid Daney 		uint64_t vrtfl:1;
168c5aa59e8SDavid Daney 		uint64_t reserved_1_3:3;
169c5aa59e8SDavid Daney 		uint64_t tdffl:1;
170c5aa59e8SDavid Daney #else
171c5aa59e8SDavid Daney 		uint64_t tdffl:1;
172c5aa59e8SDavid Daney 		uint64_t reserved_1_3:3;
173c5aa59e8SDavid Daney 		uint64_t vrtfl:1;
174c5aa59e8SDavid Daney 		uint64_t reserved_5_7:3;
175c5aa59e8SDavid Daney 		uint64_t dutresfl:1;
176c5aa59e8SDavid Daney 		uint64_t reserved_9_11:3;
177c5aa59e8SDavid Daney 		uint64_t iocdatfl:1;
178c5aa59e8SDavid Daney 		uint64_t reserved_13_15:3;
179c5aa59e8SDavid Daney 		uint64_t ioccmdfl:1;
180c5aa59e8SDavid Daney 		uint64_t reserved_17_31:15;
181c5aa59e8SDavid Daney 		uint64_t dutfl:4;
182c5aa59e8SDavid Daney 		uint64_t reserved_36_63:28;
183c5aa59e8SDavid Daney #endif
184c5aa59e8SDavid Daney 	} cn61xx;
185c5aa59e8SDavid Daney 	struct cvmx_l2c_bst_cn63xx {
186c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
187aa32a955SDavid Daney 		uint64_t reserved_38_63:26;
188aa32a955SDavid Daney 		uint64_t dutfl:6;
189aa32a955SDavid Daney 		uint64_t reserved_17_31:15;
190aa32a955SDavid Daney 		uint64_t ioccmdfl:1;
191aa32a955SDavid Daney 		uint64_t reserved_13_15:3;
192aa32a955SDavid Daney 		uint64_t iocdatfl:1;
193aa32a955SDavid Daney 		uint64_t reserved_9_11:3;
194aa32a955SDavid Daney 		uint64_t dutresfl:1;
195aa32a955SDavid Daney 		uint64_t reserved_5_7:3;
196aa32a955SDavid Daney 		uint64_t vrtfl:1;
197aa32a955SDavid Daney 		uint64_t reserved_1_3:3;
198aa32a955SDavid Daney 		uint64_t tdffl:1;
199c5aa59e8SDavid Daney #else
200c5aa59e8SDavid Daney 		uint64_t tdffl:1;
201c5aa59e8SDavid Daney 		uint64_t reserved_1_3:3;
202c5aa59e8SDavid Daney 		uint64_t vrtfl:1;
203c5aa59e8SDavid Daney 		uint64_t reserved_5_7:3;
204c5aa59e8SDavid Daney 		uint64_t dutresfl:1;
205c5aa59e8SDavid Daney 		uint64_t reserved_9_11:3;
206c5aa59e8SDavid Daney 		uint64_t iocdatfl:1;
207c5aa59e8SDavid Daney 		uint64_t reserved_13_15:3;
208c5aa59e8SDavid Daney 		uint64_t ioccmdfl:1;
209c5aa59e8SDavid Daney 		uint64_t reserved_17_31:15;
210c5aa59e8SDavid Daney 		uint64_t dutfl:6;
211c5aa59e8SDavid Daney 		uint64_t reserved_38_63:26;
212c5aa59e8SDavid Daney #endif
213c5aa59e8SDavid Daney 	} cn63xx;
214c5aa59e8SDavid Daney 	struct cvmx_l2c_bst_cn63xx cn63xxp1;
215c5aa59e8SDavid Daney 	struct cvmx_l2c_bst_cn66xx {
216c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
217c5aa59e8SDavid Daney 		uint64_t reserved_42_63:22;
218c5aa59e8SDavid Daney 		uint64_t dutfl:10;
219c5aa59e8SDavid Daney 		uint64_t reserved_17_31:15;
220c5aa59e8SDavid Daney 		uint64_t ioccmdfl:1;
221c5aa59e8SDavid Daney 		uint64_t reserved_13_15:3;
222c5aa59e8SDavid Daney 		uint64_t iocdatfl:1;
223c5aa59e8SDavid Daney 		uint64_t reserved_9_11:3;
224c5aa59e8SDavid Daney 		uint64_t dutresfl:1;
225c5aa59e8SDavid Daney 		uint64_t reserved_5_7:3;
226c5aa59e8SDavid Daney 		uint64_t vrtfl:1;
227c5aa59e8SDavid Daney 		uint64_t reserved_1_3:3;
228c5aa59e8SDavid Daney 		uint64_t tdffl:1;
229c5aa59e8SDavid Daney #else
230c5aa59e8SDavid Daney 		uint64_t tdffl:1;
231c5aa59e8SDavid Daney 		uint64_t reserved_1_3:3;
232c5aa59e8SDavid Daney 		uint64_t vrtfl:1;
233c5aa59e8SDavid Daney 		uint64_t reserved_5_7:3;
234c5aa59e8SDavid Daney 		uint64_t dutresfl:1;
235c5aa59e8SDavid Daney 		uint64_t reserved_9_11:3;
236c5aa59e8SDavid Daney 		uint64_t iocdatfl:1;
237c5aa59e8SDavid Daney 		uint64_t reserved_13_15:3;
238c5aa59e8SDavid Daney 		uint64_t ioccmdfl:1;
239c5aa59e8SDavid Daney 		uint64_t reserved_17_31:15;
240c5aa59e8SDavid Daney 		uint64_t dutfl:10;
241c5aa59e8SDavid Daney 		uint64_t reserved_42_63:22;
242c5aa59e8SDavid Daney #endif
243c5aa59e8SDavid Daney 	} cn66xx;
244c5aa59e8SDavid Daney 	struct cvmx_l2c_bst_s cn68xx;
245c5aa59e8SDavid Daney 	struct cvmx_l2c_bst_s cn68xxp1;
246c5aa59e8SDavid Daney 	struct cvmx_l2c_bst_cn61xx cnf71xx;
247aa32a955SDavid Daney };
24854293ec3SDavid Daney 
24954293ec3SDavid Daney union cvmx_l2c_bst0 {
25054293ec3SDavid Daney 	uint64_t u64;
25154293ec3SDavid Daney 	struct cvmx_l2c_bst0_s {
252c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
25354293ec3SDavid Daney 		uint64_t reserved_24_63:40;
25454293ec3SDavid Daney 		uint64_t dtbnk:1;
25554293ec3SDavid Daney 		uint64_t wlb_msk:4;
25654293ec3SDavid Daney 		uint64_t dtcnt:13;
25754293ec3SDavid Daney 		uint64_t dt:1;
25854293ec3SDavid Daney 		uint64_t stin_msk:1;
25954293ec3SDavid Daney 		uint64_t wlb_dat:4;
260c5aa59e8SDavid Daney #else
261c5aa59e8SDavid Daney 		uint64_t wlb_dat:4;
262c5aa59e8SDavid Daney 		uint64_t stin_msk:1;
263c5aa59e8SDavid Daney 		uint64_t dt:1;
264c5aa59e8SDavid Daney 		uint64_t dtcnt:13;
265c5aa59e8SDavid Daney 		uint64_t wlb_msk:4;
266c5aa59e8SDavid Daney 		uint64_t dtbnk:1;
267c5aa59e8SDavid Daney 		uint64_t reserved_24_63:40;
268c5aa59e8SDavid Daney #endif
26954293ec3SDavid Daney 	} s;
27054293ec3SDavid Daney 	struct cvmx_l2c_bst0_cn30xx {
271c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
27254293ec3SDavid Daney 		uint64_t reserved_23_63:41;
27354293ec3SDavid Daney 		uint64_t wlb_msk:4;
27454293ec3SDavid Daney 		uint64_t reserved_15_18:4;
27554293ec3SDavid Daney 		uint64_t dtcnt:9;
27654293ec3SDavid Daney 		uint64_t dt:1;
27754293ec3SDavid Daney 		uint64_t reserved_4_4:1;
27854293ec3SDavid Daney 		uint64_t wlb_dat:4;
279c5aa59e8SDavid Daney #else
280c5aa59e8SDavid Daney 		uint64_t wlb_dat:4;
281c5aa59e8SDavid Daney 		uint64_t reserved_4_4:1;
282c5aa59e8SDavid Daney 		uint64_t dt:1;
283c5aa59e8SDavid Daney 		uint64_t dtcnt:9;
284c5aa59e8SDavid Daney 		uint64_t reserved_15_18:4;
285c5aa59e8SDavid Daney 		uint64_t wlb_msk:4;
286c5aa59e8SDavid Daney 		uint64_t reserved_23_63:41;
287c5aa59e8SDavid Daney #endif
28854293ec3SDavid Daney 	} cn30xx;
28954293ec3SDavid Daney 	struct cvmx_l2c_bst0_cn31xx {
290c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
29154293ec3SDavid Daney 		uint64_t reserved_23_63:41;
29254293ec3SDavid Daney 		uint64_t wlb_msk:4;
29354293ec3SDavid Daney 		uint64_t reserved_16_18:3;
29454293ec3SDavid Daney 		uint64_t dtcnt:10;
29554293ec3SDavid Daney 		uint64_t dt:1;
29654293ec3SDavid Daney 		uint64_t stin_msk:1;
29754293ec3SDavid Daney 		uint64_t wlb_dat:4;
298c5aa59e8SDavid Daney #else
299c5aa59e8SDavid Daney 		uint64_t wlb_dat:4;
300c5aa59e8SDavid Daney 		uint64_t stin_msk:1;
301c5aa59e8SDavid Daney 		uint64_t dt:1;
302c5aa59e8SDavid Daney 		uint64_t dtcnt:10;
303c5aa59e8SDavid Daney 		uint64_t reserved_16_18:3;
304c5aa59e8SDavid Daney 		uint64_t wlb_msk:4;
305c5aa59e8SDavid Daney 		uint64_t reserved_23_63:41;
306c5aa59e8SDavid Daney #endif
30754293ec3SDavid Daney 	} cn31xx;
30854293ec3SDavid Daney 	struct cvmx_l2c_bst0_cn38xx {
309c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
31054293ec3SDavid Daney 		uint64_t reserved_19_63:45;
31154293ec3SDavid Daney 		uint64_t dtcnt:13;
31254293ec3SDavid Daney 		uint64_t dt:1;
31354293ec3SDavid Daney 		uint64_t stin_msk:1;
31454293ec3SDavid Daney 		uint64_t wlb_dat:4;
315c5aa59e8SDavid Daney #else
316c5aa59e8SDavid Daney 		uint64_t wlb_dat:4;
317c5aa59e8SDavid Daney 		uint64_t stin_msk:1;
318c5aa59e8SDavid Daney 		uint64_t dt:1;
319c5aa59e8SDavid Daney 		uint64_t dtcnt:13;
320c5aa59e8SDavid Daney 		uint64_t reserved_19_63:45;
321c5aa59e8SDavid Daney #endif
32254293ec3SDavid Daney 	} cn38xx;
32354293ec3SDavid Daney 	struct cvmx_l2c_bst0_cn38xx cn38xxp2;
32454293ec3SDavid Daney 	struct cvmx_l2c_bst0_cn50xx {
325c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
32654293ec3SDavid Daney 		uint64_t reserved_24_63:40;
32754293ec3SDavid Daney 		uint64_t dtbnk:1;
32854293ec3SDavid Daney 		uint64_t wlb_msk:4;
32954293ec3SDavid Daney 		uint64_t reserved_16_18:3;
33054293ec3SDavid Daney 		uint64_t dtcnt:10;
33154293ec3SDavid Daney 		uint64_t dt:1;
33254293ec3SDavid Daney 		uint64_t stin_msk:1;
33354293ec3SDavid Daney 		uint64_t wlb_dat:4;
334c5aa59e8SDavid Daney #else
335c5aa59e8SDavid Daney 		uint64_t wlb_dat:4;
336c5aa59e8SDavid Daney 		uint64_t stin_msk:1;
337c5aa59e8SDavid Daney 		uint64_t dt:1;
338c5aa59e8SDavid Daney 		uint64_t dtcnt:10;
339c5aa59e8SDavid Daney 		uint64_t reserved_16_18:3;
340c5aa59e8SDavid Daney 		uint64_t wlb_msk:4;
341c5aa59e8SDavid Daney 		uint64_t dtbnk:1;
342c5aa59e8SDavid Daney 		uint64_t reserved_24_63:40;
343c5aa59e8SDavid Daney #endif
34454293ec3SDavid Daney 	} cn50xx;
34554293ec3SDavid Daney 	struct cvmx_l2c_bst0_cn50xx cn52xx;
34654293ec3SDavid Daney 	struct cvmx_l2c_bst0_cn50xx cn52xxp1;
34754293ec3SDavid Daney 	struct cvmx_l2c_bst0_s cn56xx;
34854293ec3SDavid Daney 	struct cvmx_l2c_bst0_s cn56xxp1;
34954293ec3SDavid Daney 	struct cvmx_l2c_bst0_s cn58xx;
35054293ec3SDavid Daney 	struct cvmx_l2c_bst0_s cn58xxp1;
35154293ec3SDavid Daney };
35254293ec3SDavid Daney 
35354293ec3SDavid Daney union cvmx_l2c_bst1 {
35454293ec3SDavid Daney 	uint64_t u64;
35554293ec3SDavid Daney 	struct cvmx_l2c_bst1_s {
356c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
35754293ec3SDavid Daney 		uint64_t reserved_9_63:55;
35854293ec3SDavid Daney 		uint64_t l2t:9;
359c5aa59e8SDavid Daney #else
360c5aa59e8SDavid Daney 		uint64_t l2t:9;
361c5aa59e8SDavid Daney 		uint64_t reserved_9_63:55;
362c5aa59e8SDavid Daney #endif
36354293ec3SDavid Daney 	} s;
36454293ec3SDavid Daney 	struct cvmx_l2c_bst1_cn30xx {
365c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
36654293ec3SDavid Daney 		uint64_t reserved_16_63:48;
36754293ec3SDavid Daney 		uint64_t vwdf:4;
36854293ec3SDavid Daney 		uint64_t lrf:2;
36954293ec3SDavid Daney 		uint64_t vab_vwcf:1;
37054293ec3SDavid Daney 		uint64_t reserved_5_8:4;
37154293ec3SDavid Daney 		uint64_t l2t:5;
372c5aa59e8SDavid Daney #else
373c5aa59e8SDavid Daney 		uint64_t l2t:5;
374c5aa59e8SDavid Daney 		uint64_t reserved_5_8:4;
375c5aa59e8SDavid Daney 		uint64_t vab_vwcf:1;
376c5aa59e8SDavid Daney 		uint64_t lrf:2;
377c5aa59e8SDavid Daney 		uint64_t vwdf:4;
378c5aa59e8SDavid Daney 		uint64_t reserved_16_63:48;
379c5aa59e8SDavid Daney #endif
38054293ec3SDavid Daney 	} cn30xx;
38154293ec3SDavid Daney 	struct cvmx_l2c_bst1_cn30xx cn31xx;
38254293ec3SDavid Daney 	struct cvmx_l2c_bst1_cn38xx {
383c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
38454293ec3SDavid Daney 		uint64_t reserved_16_63:48;
38554293ec3SDavid Daney 		uint64_t vwdf:4;
38654293ec3SDavid Daney 		uint64_t lrf:2;
38754293ec3SDavid Daney 		uint64_t vab_vwcf:1;
38854293ec3SDavid Daney 		uint64_t l2t:9;
389c5aa59e8SDavid Daney #else
390c5aa59e8SDavid Daney 		uint64_t l2t:9;
391c5aa59e8SDavid Daney 		uint64_t vab_vwcf:1;
392c5aa59e8SDavid Daney 		uint64_t lrf:2;
393c5aa59e8SDavid Daney 		uint64_t vwdf:4;
394c5aa59e8SDavid Daney 		uint64_t reserved_16_63:48;
395c5aa59e8SDavid Daney #endif
39654293ec3SDavid Daney 	} cn38xx;
39754293ec3SDavid Daney 	struct cvmx_l2c_bst1_cn38xx cn38xxp2;
39854293ec3SDavid Daney 	struct cvmx_l2c_bst1_cn38xx cn50xx;
39954293ec3SDavid Daney 	struct cvmx_l2c_bst1_cn52xx {
400c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
40154293ec3SDavid Daney 		uint64_t reserved_19_63:45;
40254293ec3SDavid Daney 		uint64_t plc2:1;
40354293ec3SDavid Daney 		uint64_t plc1:1;
40454293ec3SDavid Daney 		uint64_t plc0:1;
40554293ec3SDavid Daney 		uint64_t vwdf:4;
40654293ec3SDavid Daney 		uint64_t reserved_11_11:1;
40754293ec3SDavid Daney 		uint64_t ilc:1;
40854293ec3SDavid Daney 		uint64_t vab_vwcf:1;
40954293ec3SDavid Daney 		uint64_t l2t:9;
410c5aa59e8SDavid Daney #else
411c5aa59e8SDavid Daney 		uint64_t l2t:9;
412c5aa59e8SDavid Daney 		uint64_t vab_vwcf:1;
413c5aa59e8SDavid Daney 		uint64_t ilc:1;
414c5aa59e8SDavid Daney 		uint64_t reserved_11_11:1;
415c5aa59e8SDavid Daney 		uint64_t vwdf:4;
416c5aa59e8SDavid Daney 		uint64_t plc0:1;
417c5aa59e8SDavid Daney 		uint64_t plc1:1;
418c5aa59e8SDavid Daney 		uint64_t plc2:1;
419c5aa59e8SDavid Daney 		uint64_t reserved_19_63:45;
420c5aa59e8SDavid Daney #endif
42154293ec3SDavid Daney 	} cn52xx;
42254293ec3SDavid Daney 	struct cvmx_l2c_bst1_cn52xx cn52xxp1;
42354293ec3SDavid Daney 	struct cvmx_l2c_bst1_cn56xx {
424c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
42554293ec3SDavid Daney 		uint64_t reserved_24_63:40;
42654293ec3SDavid Daney 		uint64_t plc2:1;
42754293ec3SDavid Daney 		uint64_t plc1:1;
42854293ec3SDavid Daney 		uint64_t plc0:1;
42954293ec3SDavid Daney 		uint64_t ilc:1;
43054293ec3SDavid Daney 		uint64_t vwdf1:4;
43154293ec3SDavid Daney 		uint64_t vwdf0:4;
43254293ec3SDavid Daney 		uint64_t vab_vwcf1:1;
43354293ec3SDavid Daney 		uint64_t reserved_10_10:1;
43454293ec3SDavid Daney 		uint64_t vab_vwcf0:1;
43554293ec3SDavid Daney 		uint64_t l2t:9;
436c5aa59e8SDavid Daney #else
437c5aa59e8SDavid Daney 		uint64_t l2t:9;
438c5aa59e8SDavid Daney 		uint64_t vab_vwcf0:1;
439c5aa59e8SDavid Daney 		uint64_t reserved_10_10:1;
440c5aa59e8SDavid Daney 		uint64_t vab_vwcf1:1;
441c5aa59e8SDavid Daney 		uint64_t vwdf0:4;
442c5aa59e8SDavid Daney 		uint64_t vwdf1:4;
443c5aa59e8SDavid Daney 		uint64_t ilc:1;
444c5aa59e8SDavid Daney 		uint64_t plc0:1;
445c5aa59e8SDavid Daney 		uint64_t plc1:1;
446c5aa59e8SDavid Daney 		uint64_t plc2:1;
447c5aa59e8SDavid Daney 		uint64_t reserved_24_63:40;
448c5aa59e8SDavid Daney #endif
44954293ec3SDavid Daney 	} cn56xx;
45054293ec3SDavid Daney 	struct cvmx_l2c_bst1_cn56xx cn56xxp1;
45154293ec3SDavid Daney 	struct cvmx_l2c_bst1_cn38xx cn58xx;
45254293ec3SDavid Daney 	struct cvmx_l2c_bst1_cn38xx cn58xxp1;
45354293ec3SDavid Daney };
45454293ec3SDavid Daney 
45554293ec3SDavid Daney union cvmx_l2c_bst2 {
45654293ec3SDavid Daney 	uint64_t u64;
45754293ec3SDavid Daney 	struct cvmx_l2c_bst2_s {
458c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
45954293ec3SDavid Daney 		uint64_t reserved_16_63:48;
46054293ec3SDavid Daney 		uint64_t mrb:4;
46154293ec3SDavid Daney 		uint64_t reserved_4_11:8;
46254293ec3SDavid Daney 		uint64_t ipcbst:1;
46354293ec3SDavid Daney 		uint64_t picbst:1;
46454293ec3SDavid Daney 		uint64_t xrdmsk:1;
46554293ec3SDavid Daney 		uint64_t xrddat:1;
466c5aa59e8SDavid Daney #else
467c5aa59e8SDavid Daney 		uint64_t xrddat:1;
468c5aa59e8SDavid Daney 		uint64_t xrdmsk:1;
469c5aa59e8SDavid Daney 		uint64_t picbst:1;
470c5aa59e8SDavid Daney 		uint64_t ipcbst:1;
471c5aa59e8SDavid Daney 		uint64_t reserved_4_11:8;
472c5aa59e8SDavid Daney 		uint64_t mrb:4;
473c5aa59e8SDavid Daney 		uint64_t reserved_16_63:48;
474c5aa59e8SDavid Daney #endif
47554293ec3SDavid Daney 	} s;
47654293ec3SDavid Daney 	struct cvmx_l2c_bst2_cn30xx {
477c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
47854293ec3SDavid Daney 		uint64_t reserved_16_63:48;
47954293ec3SDavid Daney 		uint64_t mrb:4;
48054293ec3SDavid Daney 		uint64_t rmdf:4;
48154293ec3SDavid Daney 		uint64_t reserved_4_7:4;
48254293ec3SDavid Daney 		uint64_t ipcbst:1;
48354293ec3SDavid Daney 		uint64_t reserved_2_2:1;
48454293ec3SDavid Daney 		uint64_t xrdmsk:1;
48554293ec3SDavid Daney 		uint64_t xrddat:1;
486c5aa59e8SDavid Daney #else
487c5aa59e8SDavid Daney 		uint64_t xrddat:1;
488c5aa59e8SDavid Daney 		uint64_t xrdmsk:1;
489c5aa59e8SDavid Daney 		uint64_t reserved_2_2:1;
490c5aa59e8SDavid Daney 		uint64_t ipcbst:1;
491c5aa59e8SDavid Daney 		uint64_t reserved_4_7:4;
492c5aa59e8SDavid Daney 		uint64_t rmdf:4;
493c5aa59e8SDavid Daney 		uint64_t mrb:4;
494c5aa59e8SDavid Daney 		uint64_t reserved_16_63:48;
495c5aa59e8SDavid Daney #endif
49654293ec3SDavid Daney 	} cn30xx;
49754293ec3SDavid Daney 	struct cvmx_l2c_bst2_cn30xx cn31xx;
49854293ec3SDavid Daney 	struct cvmx_l2c_bst2_cn38xx {
499c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
50054293ec3SDavid Daney 		uint64_t reserved_16_63:48;
50154293ec3SDavid Daney 		uint64_t mrb:4;
50254293ec3SDavid Daney 		uint64_t rmdf:4;
50354293ec3SDavid Daney 		uint64_t rhdf:4;
50454293ec3SDavid Daney 		uint64_t ipcbst:1;
50554293ec3SDavid Daney 		uint64_t picbst:1;
50654293ec3SDavid Daney 		uint64_t xrdmsk:1;
50754293ec3SDavid Daney 		uint64_t xrddat:1;
508c5aa59e8SDavid Daney #else
509c5aa59e8SDavid Daney 		uint64_t xrddat:1;
510c5aa59e8SDavid Daney 		uint64_t xrdmsk:1;
511c5aa59e8SDavid Daney 		uint64_t picbst:1;
512c5aa59e8SDavid Daney 		uint64_t ipcbst:1;
513c5aa59e8SDavid Daney 		uint64_t rhdf:4;
514c5aa59e8SDavid Daney 		uint64_t rmdf:4;
515c5aa59e8SDavid Daney 		uint64_t mrb:4;
516c5aa59e8SDavid Daney 		uint64_t reserved_16_63:48;
517c5aa59e8SDavid Daney #endif
51854293ec3SDavid Daney 	} cn38xx;
51954293ec3SDavid Daney 	struct cvmx_l2c_bst2_cn38xx cn38xxp2;
52054293ec3SDavid Daney 	struct cvmx_l2c_bst2_cn30xx cn50xx;
52154293ec3SDavid Daney 	struct cvmx_l2c_bst2_cn30xx cn52xx;
52254293ec3SDavid Daney 	struct cvmx_l2c_bst2_cn30xx cn52xxp1;
52354293ec3SDavid Daney 	struct cvmx_l2c_bst2_cn56xx {
524c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
52554293ec3SDavid Daney 		uint64_t reserved_16_63:48;
52654293ec3SDavid Daney 		uint64_t mrb:4;
52754293ec3SDavid Daney 		uint64_t rmdb:4;
52854293ec3SDavid Daney 		uint64_t rhdb:4;
52954293ec3SDavid Daney 		uint64_t ipcbst:1;
53054293ec3SDavid Daney 		uint64_t picbst:1;
53154293ec3SDavid Daney 		uint64_t xrdmsk:1;
53254293ec3SDavid Daney 		uint64_t xrddat:1;
533c5aa59e8SDavid Daney #else
534c5aa59e8SDavid Daney 		uint64_t xrddat:1;
535c5aa59e8SDavid Daney 		uint64_t xrdmsk:1;
536c5aa59e8SDavid Daney 		uint64_t picbst:1;
537c5aa59e8SDavid Daney 		uint64_t ipcbst:1;
538c5aa59e8SDavid Daney 		uint64_t rhdb:4;
539c5aa59e8SDavid Daney 		uint64_t rmdb:4;
540c5aa59e8SDavid Daney 		uint64_t mrb:4;
541c5aa59e8SDavid Daney 		uint64_t reserved_16_63:48;
542c5aa59e8SDavid Daney #endif
54354293ec3SDavid Daney 	} cn56xx;
54454293ec3SDavid Daney 	struct cvmx_l2c_bst2_cn56xx cn56xxp1;
54554293ec3SDavid Daney 	struct cvmx_l2c_bst2_cn56xx cn58xx;
54654293ec3SDavid Daney 	struct cvmx_l2c_bst2_cn56xx cn58xxp1;
54754293ec3SDavid Daney };
54854293ec3SDavid Daney 
549aa32a955SDavid Daney union cvmx_l2c_bst_memx {
550aa32a955SDavid Daney 	uint64_t u64;
551aa32a955SDavid Daney 	struct cvmx_l2c_bst_memx_s {
552c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
553aa32a955SDavid Daney 		uint64_t start_bist:1;
554aa32a955SDavid Daney 		uint64_t clear_bist:1;
555aa32a955SDavid Daney 		uint64_t reserved_5_61:57;
556aa32a955SDavid Daney 		uint64_t rdffl:1;
557aa32a955SDavid Daney 		uint64_t vbffl:4;
558c5aa59e8SDavid Daney #else
559c5aa59e8SDavid Daney 		uint64_t vbffl:4;
560c5aa59e8SDavid Daney 		uint64_t rdffl:1;
561c5aa59e8SDavid Daney 		uint64_t reserved_5_61:57;
562c5aa59e8SDavid Daney 		uint64_t clear_bist:1;
563c5aa59e8SDavid Daney 		uint64_t start_bist:1;
564c5aa59e8SDavid Daney #endif
565aa32a955SDavid Daney 	} s;
566c5aa59e8SDavid Daney 	struct cvmx_l2c_bst_memx_s cn61xx;
567aa32a955SDavid Daney 	struct cvmx_l2c_bst_memx_s cn63xx;
568aa32a955SDavid Daney 	struct cvmx_l2c_bst_memx_s cn63xxp1;
569c5aa59e8SDavid Daney 	struct cvmx_l2c_bst_memx_s cn66xx;
570c5aa59e8SDavid Daney 	struct cvmx_l2c_bst_memx_s cn68xx;
571c5aa59e8SDavid Daney 	struct cvmx_l2c_bst_memx_s cn68xxp1;
572c5aa59e8SDavid Daney 	struct cvmx_l2c_bst_memx_s cnf71xx;
573aa32a955SDavid Daney };
574aa32a955SDavid Daney 
575aa32a955SDavid Daney union cvmx_l2c_bst_tdtx {
576aa32a955SDavid Daney 	uint64_t u64;
577aa32a955SDavid Daney 	struct cvmx_l2c_bst_tdtx_s {
578c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
579aa32a955SDavid Daney 		uint64_t reserved_32_63:32;
580aa32a955SDavid Daney 		uint64_t fbfrspfl:8;
581aa32a955SDavid Daney 		uint64_t sbffl:8;
582aa32a955SDavid Daney 		uint64_t fbffl:8;
583aa32a955SDavid Daney 		uint64_t l2dfl:8;
584c5aa59e8SDavid Daney #else
585c5aa59e8SDavid Daney 		uint64_t l2dfl:8;
586c5aa59e8SDavid Daney 		uint64_t fbffl:8;
587c5aa59e8SDavid Daney 		uint64_t sbffl:8;
588c5aa59e8SDavid Daney 		uint64_t fbfrspfl:8;
589c5aa59e8SDavid Daney 		uint64_t reserved_32_63:32;
590c5aa59e8SDavid Daney #endif
591aa32a955SDavid Daney 	} s;
592c5aa59e8SDavid Daney 	struct cvmx_l2c_bst_tdtx_s cn61xx;
593aa32a955SDavid Daney 	struct cvmx_l2c_bst_tdtx_s cn63xx;
594aa32a955SDavid Daney 	struct cvmx_l2c_bst_tdtx_cn63xxp1 {
595c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
596aa32a955SDavid Daney 		uint64_t reserved_24_63:40;
597aa32a955SDavid Daney 		uint64_t sbffl:8;
598aa32a955SDavid Daney 		uint64_t fbffl:8;
599aa32a955SDavid Daney 		uint64_t l2dfl:8;
600c5aa59e8SDavid Daney #else
601c5aa59e8SDavid Daney 		uint64_t l2dfl:8;
602c5aa59e8SDavid Daney 		uint64_t fbffl:8;
603c5aa59e8SDavid Daney 		uint64_t sbffl:8;
604c5aa59e8SDavid Daney 		uint64_t reserved_24_63:40;
605c5aa59e8SDavid Daney #endif
606aa32a955SDavid Daney 	} cn63xxp1;
607c5aa59e8SDavid Daney 	struct cvmx_l2c_bst_tdtx_s cn66xx;
608c5aa59e8SDavid Daney 	struct cvmx_l2c_bst_tdtx_s cn68xx;
609c5aa59e8SDavid Daney 	struct cvmx_l2c_bst_tdtx_s cn68xxp1;
610c5aa59e8SDavid Daney 	struct cvmx_l2c_bst_tdtx_s cnf71xx;
611aa32a955SDavid Daney };
612aa32a955SDavid Daney 
613aa32a955SDavid Daney union cvmx_l2c_bst_ttgx {
614aa32a955SDavid Daney 	uint64_t u64;
615aa32a955SDavid Daney 	struct cvmx_l2c_bst_ttgx_s {
616c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
617aa32a955SDavid Daney 		uint64_t reserved_17_63:47;
618aa32a955SDavid Daney 		uint64_t lrufl:1;
619aa32a955SDavid Daney 		uint64_t tagfl:16;
620c5aa59e8SDavid Daney #else
621c5aa59e8SDavid Daney 		uint64_t tagfl:16;
622c5aa59e8SDavid Daney 		uint64_t lrufl:1;
623c5aa59e8SDavid Daney 		uint64_t reserved_17_63:47;
624c5aa59e8SDavid Daney #endif
625aa32a955SDavid Daney 	} s;
626c5aa59e8SDavid Daney 	struct cvmx_l2c_bst_ttgx_s cn61xx;
627aa32a955SDavid Daney 	struct cvmx_l2c_bst_ttgx_s cn63xx;
628aa32a955SDavid Daney 	struct cvmx_l2c_bst_ttgx_s cn63xxp1;
629c5aa59e8SDavid Daney 	struct cvmx_l2c_bst_ttgx_s cn66xx;
630c5aa59e8SDavid Daney 	struct cvmx_l2c_bst_ttgx_s cn68xx;
631c5aa59e8SDavid Daney 	struct cvmx_l2c_bst_ttgx_s cn68xxp1;
632c5aa59e8SDavid Daney 	struct cvmx_l2c_bst_ttgx_s cnf71xx;
633aa32a955SDavid Daney };
634aa32a955SDavid Daney 
63554293ec3SDavid Daney union cvmx_l2c_cfg {
63654293ec3SDavid Daney 	uint64_t u64;
63754293ec3SDavid Daney 	struct cvmx_l2c_cfg_s {
638c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
63954293ec3SDavid Daney 		uint64_t reserved_20_63:44;
64054293ec3SDavid Daney 		uint64_t bstrun:1;
64154293ec3SDavid Daney 		uint64_t lbist:1;
64254293ec3SDavid Daney 		uint64_t xor_bank:1;
64354293ec3SDavid Daney 		uint64_t dpres1:1;
64454293ec3SDavid Daney 		uint64_t dpres0:1;
64554293ec3SDavid Daney 		uint64_t dfill_dis:1;
64654293ec3SDavid Daney 		uint64_t fpexp:4;
64754293ec3SDavid Daney 		uint64_t fpempty:1;
64854293ec3SDavid Daney 		uint64_t fpen:1;
64954293ec3SDavid Daney 		uint64_t idxalias:1;
65054293ec3SDavid Daney 		uint64_t mwf_crd:4;
65154293ec3SDavid Daney 		uint64_t rsp_arb_mode:1;
65254293ec3SDavid Daney 		uint64_t rfb_arb_mode:1;
65354293ec3SDavid Daney 		uint64_t lrf_arb_mode:1;
654c5aa59e8SDavid Daney #else
655c5aa59e8SDavid Daney 		uint64_t lrf_arb_mode:1;
656c5aa59e8SDavid Daney 		uint64_t rfb_arb_mode:1;
657c5aa59e8SDavid Daney 		uint64_t rsp_arb_mode:1;
658c5aa59e8SDavid Daney 		uint64_t mwf_crd:4;
659c5aa59e8SDavid Daney 		uint64_t idxalias:1;
660c5aa59e8SDavid Daney 		uint64_t fpen:1;
661c5aa59e8SDavid Daney 		uint64_t fpempty:1;
662c5aa59e8SDavid Daney 		uint64_t fpexp:4;
663c5aa59e8SDavid Daney 		uint64_t dfill_dis:1;
664c5aa59e8SDavid Daney 		uint64_t dpres0:1;
665c5aa59e8SDavid Daney 		uint64_t dpres1:1;
666c5aa59e8SDavid Daney 		uint64_t xor_bank:1;
667c5aa59e8SDavid Daney 		uint64_t lbist:1;
668c5aa59e8SDavid Daney 		uint64_t bstrun:1;
669c5aa59e8SDavid Daney 		uint64_t reserved_20_63:44;
670c5aa59e8SDavid Daney #endif
67154293ec3SDavid Daney 	} s;
67254293ec3SDavid Daney 	struct cvmx_l2c_cfg_cn30xx {
673c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
67454293ec3SDavid Daney 		uint64_t reserved_14_63:50;
67554293ec3SDavid Daney 		uint64_t fpexp:4;
67654293ec3SDavid Daney 		uint64_t fpempty:1;
67754293ec3SDavid Daney 		uint64_t fpen:1;
67854293ec3SDavid Daney 		uint64_t idxalias:1;
67954293ec3SDavid Daney 		uint64_t mwf_crd:4;
68054293ec3SDavid Daney 		uint64_t rsp_arb_mode:1;
68154293ec3SDavid Daney 		uint64_t rfb_arb_mode:1;
68254293ec3SDavid Daney 		uint64_t lrf_arb_mode:1;
683c5aa59e8SDavid Daney #else
684c5aa59e8SDavid Daney 		uint64_t lrf_arb_mode:1;
685c5aa59e8SDavid Daney 		uint64_t rfb_arb_mode:1;
686c5aa59e8SDavid Daney 		uint64_t rsp_arb_mode:1;
687c5aa59e8SDavid Daney 		uint64_t mwf_crd:4;
688c5aa59e8SDavid Daney 		uint64_t idxalias:1;
689c5aa59e8SDavid Daney 		uint64_t fpen:1;
690c5aa59e8SDavid Daney 		uint64_t fpempty:1;
691c5aa59e8SDavid Daney 		uint64_t fpexp:4;
692c5aa59e8SDavid Daney 		uint64_t reserved_14_63:50;
693c5aa59e8SDavid Daney #endif
69454293ec3SDavid Daney 	} cn30xx;
69554293ec3SDavid Daney 	struct cvmx_l2c_cfg_cn30xx cn31xx;
69654293ec3SDavid Daney 	struct cvmx_l2c_cfg_cn30xx cn38xx;
69754293ec3SDavid Daney 	struct cvmx_l2c_cfg_cn30xx cn38xxp2;
69854293ec3SDavid Daney 	struct cvmx_l2c_cfg_cn50xx {
699c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
70054293ec3SDavid Daney 		uint64_t reserved_20_63:44;
70154293ec3SDavid Daney 		uint64_t bstrun:1;
70254293ec3SDavid Daney 		uint64_t lbist:1;
70354293ec3SDavid Daney 		uint64_t reserved_14_17:4;
70454293ec3SDavid Daney 		uint64_t fpexp:4;
70554293ec3SDavid Daney 		uint64_t fpempty:1;
70654293ec3SDavid Daney 		uint64_t fpen:1;
70754293ec3SDavid Daney 		uint64_t idxalias:1;
70854293ec3SDavid Daney 		uint64_t mwf_crd:4;
70954293ec3SDavid Daney 		uint64_t rsp_arb_mode:1;
71054293ec3SDavid Daney 		uint64_t rfb_arb_mode:1;
71154293ec3SDavid Daney 		uint64_t lrf_arb_mode:1;
712c5aa59e8SDavid Daney #else
713c5aa59e8SDavid Daney 		uint64_t lrf_arb_mode:1;
714c5aa59e8SDavid Daney 		uint64_t rfb_arb_mode:1;
715c5aa59e8SDavid Daney 		uint64_t rsp_arb_mode:1;
716c5aa59e8SDavid Daney 		uint64_t mwf_crd:4;
717c5aa59e8SDavid Daney 		uint64_t idxalias:1;
718c5aa59e8SDavid Daney 		uint64_t fpen:1;
719c5aa59e8SDavid Daney 		uint64_t fpempty:1;
720c5aa59e8SDavid Daney 		uint64_t fpexp:4;
721c5aa59e8SDavid Daney 		uint64_t reserved_14_17:4;
722c5aa59e8SDavid Daney 		uint64_t lbist:1;
723c5aa59e8SDavid Daney 		uint64_t bstrun:1;
724c5aa59e8SDavid Daney 		uint64_t reserved_20_63:44;
725c5aa59e8SDavid Daney #endif
72654293ec3SDavid Daney 	} cn50xx;
72754293ec3SDavid Daney 	struct cvmx_l2c_cfg_cn50xx cn52xx;
72854293ec3SDavid Daney 	struct cvmx_l2c_cfg_cn50xx cn52xxp1;
72954293ec3SDavid Daney 	struct cvmx_l2c_cfg_s cn56xx;
73054293ec3SDavid Daney 	struct cvmx_l2c_cfg_s cn56xxp1;
73154293ec3SDavid Daney 	struct cvmx_l2c_cfg_cn58xx {
732c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
73354293ec3SDavid Daney 		uint64_t reserved_20_63:44;
73454293ec3SDavid Daney 		uint64_t bstrun:1;
73554293ec3SDavid Daney 		uint64_t lbist:1;
73654293ec3SDavid Daney 		uint64_t reserved_15_17:3;
73754293ec3SDavid Daney 		uint64_t dfill_dis:1;
73854293ec3SDavid Daney 		uint64_t fpexp:4;
73954293ec3SDavid Daney 		uint64_t fpempty:1;
74054293ec3SDavid Daney 		uint64_t fpen:1;
74154293ec3SDavid Daney 		uint64_t idxalias:1;
74254293ec3SDavid Daney 		uint64_t mwf_crd:4;
74354293ec3SDavid Daney 		uint64_t rsp_arb_mode:1;
74454293ec3SDavid Daney 		uint64_t rfb_arb_mode:1;
74554293ec3SDavid Daney 		uint64_t lrf_arb_mode:1;
746c5aa59e8SDavid Daney #else
747c5aa59e8SDavid Daney 		uint64_t lrf_arb_mode:1;
748c5aa59e8SDavid Daney 		uint64_t rfb_arb_mode:1;
749c5aa59e8SDavid Daney 		uint64_t rsp_arb_mode:1;
750c5aa59e8SDavid Daney 		uint64_t mwf_crd:4;
751c5aa59e8SDavid Daney 		uint64_t idxalias:1;
752c5aa59e8SDavid Daney 		uint64_t fpen:1;
753c5aa59e8SDavid Daney 		uint64_t fpempty:1;
754c5aa59e8SDavid Daney 		uint64_t fpexp:4;
755c5aa59e8SDavid Daney 		uint64_t dfill_dis:1;
756c5aa59e8SDavid Daney 		uint64_t reserved_15_17:3;
757c5aa59e8SDavid Daney 		uint64_t lbist:1;
758c5aa59e8SDavid Daney 		uint64_t bstrun:1;
759c5aa59e8SDavid Daney 		uint64_t reserved_20_63:44;
760c5aa59e8SDavid Daney #endif
76154293ec3SDavid Daney 	} cn58xx;
76254293ec3SDavid Daney 	struct cvmx_l2c_cfg_cn58xxp1 {
763c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
76454293ec3SDavid Daney 		uint64_t reserved_15_63:49;
76554293ec3SDavid Daney 		uint64_t dfill_dis:1;
76654293ec3SDavid Daney 		uint64_t fpexp:4;
76754293ec3SDavid Daney 		uint64_t fpempty:1;
76854293ec3SDavid Daney 		uint64_t fpen:1;
76954293ec3SDavid Daney 		uint64_t idxalias:1;
77054293ec3SDavid Daney 		uint64_t mwf_crd:4;
77154293ec3SDavid Daney 		uint64_t rsp_arb_mode:1;
77254293ec3SDavid Daney 		uint64_t rfb_arb_mode:1;
77354293ec3SDavid Daney 		uint64_t lrf_arb_mode:1;
774c5aa59e8SDavid Daney #else
775c5aa59e8SDavid Daney 		uint64_t lrf_arb_mode:1;
776c5aa59e8SDavid Daney 		uint64_t rfb_arb_mode:1;
777c5aa59e8SDavid Daney 		uint64_t rsp_arb_mode:1;
778c5aa59e8SDavid Daney 		uint64_t mwf_crd:4;
779c5aa59e8SDavid Daney 		uint64_t idxalias:1;
780c5aa59e8SDavid Daney 		uint64_t fpen:1;
781c5aa59e8SDavid Daney 		uint64_t fpempty:1;
782c5aa59e8SDavid Daney 		uint64_t fpexp:4;
783c5aa59e8SDavid Daney 		uint64_t dfill_dis:1;
784c5aa59e8SDavid Daney 		uint64_t reserved_15_63:49;
785c5aa59e8SDavid Daney #endif
78654293ec3SDavid Daney 	} cn58xxp1;
78754293ec3SDavid Daney };
78854293ec3SDavid Daney 
789aa32a955SDavid Daney union cvmx_l2c_cop0_mapx {
790aa32a955SDavid Daney 	uint64_t u64;
791aa32a955SDavid Daney 	struct cvmx_l2c_cop0_mapx_s {
792c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
793aa32a955SDavid Daney 		uint64_t data:64;
794c5aa59e8SDavid Daney #else
795c5aa59e8SDavid Daney 		uint64_t data:64;
796c5aa59e8SDavid Daney #endif
797aa32a955SDavid Daney 	} s;
798c5aa59e8SDavid Daney 	struct cvmx_l2c_cop0_mapx_s cn61xx;
799aa32a955SDavid Daney 	struct cvmx_l2c_cop0_mapx_s cn63xx;
800aa32a955SDavid Daney 	struct cvmx_l2c_cop0_mapx_s cn63xxp1;
801c5aa59e8SDavid Daney 	struct cvmx_l2c_cop0_mapx_s cn66xx;
802c5aa59e8SDavid Daney 	struct cvmx_l2c_cop0_mapx_s cn68xx;
803c5aa59e8SDavid Daney 	struct cvmx_l2c_cop0_mapx_s cn68xxp1;
804c5aa59e8SDavid Daney 	struct cvmx_l2c_cop0_mapx_s cnf71xx;
805aa32a955SDavid Daney };
806aa32a955SDavid Daney 
807aa32a955SDavid Daney union cvmx_l2c_ctl {
808aa32a955SDavid Daney 	uint64_t u64;
809aa32a955SDavid Daney 	struct cvmx_l2c_ctl_s {
810c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
811c5aa59e8SDavid Daney 		uint64_t reserved_30_63:34;
812c5aa59e8SDavid Daney 		uint64_t sepcmt:1;
813c5aa59e8SDavid Daney 		uint64_t rdf_fast:1;
814c5aa59e8SDavid Daney 		uint64_t disstgl2i:1;
815c5aa59e8SDavid Daney 		uint64_t l2dfsbe:1;
816c5aa59e8SDavid Daney 		uint64_t l2dfdbe:1;
817c5aa59e8SDavid Daney 		uint64_t discclk:1;
818c5aa59e8SDavid Daney 		uint64_t maxvab:4;
819c5aa59e8SDavid Daney 		uint64_t maxlfb:4;
820c5aa59e8SDavid Daney 		uint64_t rsp_arb_mode:1;
821c5aa59e8SDavid Daney 		uint64_t xmc_arb_mode:1;
822c5aa59e8SDavid Daney 		uint64_t ef_ena:1;
823c5aa59e8SDavid Daney 		uint64_t ef_cnt:7;
824c5aa59e8SDavid Daney 		uint64_t vab_thresh:4;
825c5aa59e8SDavid Daney 		uint64_t disecc:1;
826c5aa59e8SDavid Daney 		uint64_t disidxalias:1;
827c5aa59e8SDavid Daney #else
828c5aa59e8SDavid Daney 		uint64_t disidxalias:1;
829c5aa59e8SDavid Daney 		uint64_t disecc:1;
830c5aa59e8SDavid Daney 		uint64_t vab_thresh:4;
831c5aa59e8SDavid Daney 		uint64_t ef_cnt:7;
832c5aa59e8SDavid Daney 		uint64_t ef_ena:1;
833c5aa59e8SDavid Daney 		uint64_t xmc_arb_mode:1;
834c5aa59e8SDavid Daney 		uint64_t rsp_arb_mode:1;
835c5aa59e8SDavid Daney 		uint64_t maxlfb:4;
836c5aa59e8SDavid Daney 		uint64_t maxvab:4;
837c5aa59e8SDavid Daney 		uint64_t discclk:1;
838c5aa59e8SDavid Daney 		uint64_t l2dfdbe:1;
839c5aa59e8SDavid Daney 		uint64_t l2dfsbe:1;
840c5aa59e8SDavid Daney 		uint64_t disstgl2i:1;
841c5aa59e8SDavid Daney 		uint64_t rdf_fast:1;
842c5aa59e8SDavid Daney 		uint64_t sepcmt:1;
843c5aa59e8SDavid Daney 		uint64_t reserved_30_63:34;
844c5aa59e8SDavid Daney #endif
845c5aa59e8SDavid Daney 	} s;
846c5aa59e8SDavid Daney 	struct cvmx_l2c_ctl_cn61xx {
847c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
848c5aa59e8SDavid Daney 		uint64_t reserved_29_63:35;
849c5aa59e8SDavid Daney 		uint64_t rdf_fast:1;
850c5aa59e8SDavid Daney 		uint64_t disstgl2i:1;
851c5aa59e8SDavid Daney 		uint64_t l2dfsbe:1;
852c5aa59e8SDavid Daney 		uint64_t l2dfdbe:1;
853c5aa59e8SDavid Daney 		uint64_t discclk:1;
854c5aa59e8SDavid Daney 		uint64_t maxvab:4;
855c5aa59e8SDavid Daney 		uint64_t maxlfb:4;
856c5aa59e8SDavid Daney 		uint64_t rsp_arb_mode:1;
857c5aa59e8SDavid Daney 		uint64_t xmc_arb_mode:1;
858c5aa59e8SDavid Daney 		uint64_t ef_ena:1;
859c5aa59e8SDavid Daney 		uint64_t ef_cnt:7;
860c5aa59e8SDavid Daney 		uint64_t vab_thresh:4;
861c5aa59e8SDavid Daney 		uint64_t disecc:1;
862c5aa59e8SDavid Daney 		uint64_t disidxalias:1;
863c5aa59e8SDavid Daney #else
864c5aa59e8SDavid Daney 		uint64_t disidxalias:1;
865c5aa59e8SDavid Daney 		uint64_t disecc:1;
866c5aa59e8SDavid Daney 		uint64_t vab_thresh:4;
867c5aa59e8SDavid Daney 		uint64_t ef_cnt:7;
868c5aa59e8SDavid Daney 		uint64_t ef_ena:1;
869c5aa59e8SDavid Daney 		uint64_t xmc_arb_mode:1;
870c5aa59e8SDavid Daney 		uint64_t rsp_arb_mode:1;
871c5aa59e8SDavid Daney 		uint64_t maxlfb:4;
872c5aa59e8SDavid Daney 		uint64_t maxvab:4;
873c5aa59e8SDavid Daney 		uint64_t discclk:1;
874c5aa59e8SDavid Daney 		uint64_t l2dfdbe:1;
875c5aa59e8SDavid Daney 		uint64_t l2dfsbe:1;
876c5aa59e8SDavid Daney 		uint64_t disstgl2i:1;
877c5aa59e8SDavid Daney 		uint64_t rdf_fast:1;
878c5aa59e8SDavid Daney 		uint64_t reserved_29_63:35;
879c5aa59e8SDavid Daney #endif
880c5aa59e8SDavid Daney 	} cn61xx;
881c5aa59e8SDavid Daney 	struct cvmx_l2c_ctl_cn63xx {
882c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
883aa32a955SDavid Daney 		uint64_t reserved_28_63:36;
884aa32a955SDavid Daney 		uint64_t disstgl2i:1;
885aa32a955SDavid Daney 		uint64_t l2dfsbe:1;
886aa32a955SDavid Daney 		uint64_t l2dfdbe:1;
887aa32a955SDavid Daney 		uint64_t discclk:1;
888aa32a955SDavid Daney 		uint64_t maxvab:4;
889aa32a955SDavid Daney 		uint64_t maxlfb:4;
890aa32a955SDavid Daney 		uint64_t rsp_arb_mode:1;
891aa32a955SDavid Daney 		uint64_t xmc_arb_mode:1;
892aa32a955SDavid Daney 		uint64_t ef_ena:1;
893aa32a955SDavid Daney 		uint64_t ef_cnt:7;
894aa32a955SDavid Daney 		uint64_t vab_thresh:4;
895aa32a955SDavid Daney 		uint64_t disecc:1;
896aa32a955SDavid Daney 		uint64_t disidxalias:1;
897c5aa59e8SDavid Daney #else
898c5aa59e8SDavid Daney 		uint64_t disidxalias:1;
899c5aa59e8SDavid Daney 		uint64_t disecc:1;
900c5aa59e8SDavid Daney 		uint64_t vab_thresh:4;
901c5aa59e8SDavid Daney 		uint64_t ef_cnt:7;
902c5aa59e8SDavid Daney 		uint64_t ef_ena:1;
903c5aa59e8SDavid Daney 		uint64_t xmc_arb_mode:1;
904c5aa59e8SDavid Daney 		uint64_t rsp_arb_mode:1;
905c5aa59e8SDavid Daney 		uint64_t maxlfb:4;
906c5aa59e8SDavid Daney 		uint64_t maxvab:4;
907c5aa59e8SDavid Daney 		uint64_t discclk:1;
908c5aa59e8SDavid Daney 		uint64_t l2dfdbe:1;
909c5aa59e8SDavid Daney 		uint64_t l2dfsbe:1;
910c5aa59e8SDavid Daney 		uint64_t disstgl2i:1;
911c5aa59e8SDavid Daney 		uint64_t reserved_28_63:36;
912c5aa59e8SDavid Daney #endif
913c5aa59e8SDavid Daney 	} cn63xx;
914aa32a955SDavid Daney 	struct cvmx_l2c_ctl_cn63xxp1 {
915c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
916aa32a955SDavid Daney 		uint64_t reserved_25_63:39;
917aa32a955SDavid Daney 		uint64_t discclk:1;
918aa32a955SDavid Daney 		uint64_t maxvab:4;
919aa32a955SDavid Daney 		uint64_t maxlfb:4;
920aa32a955SDavid Daney 		uint64_t rsp_arb_mode:1;
921aa32a955SDavid Daney 		uint64_t xmc_arb_mode:1;
922aa32a955SDavid Daney 		uint64_t ef_ena:1;
923aa32a955SDavid Daney 		uint64_t ef_cnt:7;
924aa32a955SDavid Daney 		uint64_t vab_thresh:4;
925aa32a955SDavid Daney 		uint64_t disecc:1;
926aa32a955SDavid Daney 		uint64_t disidxalias:1;
927c5aa59e8SDavid Daney #else
928c5aa59e8SDavid Daney 		uint64_t disidxalias:1;
929c5aa59e8SDavid Daney 		uint64_t disecc:1;
930c5aa59e8SDavid Daney 		uint64_t vab_thresh:4;
931c5aa59e8SDavid Daney 		uint64_t ef_cnt:7;
932c5aa59e8SDavid Daney 		uint64_t ef_ena:1;
933c5aa59e8SDavid Daney 		uint64_t xmc_arb_mode:1;
934c5aa59e8SDavid Daney 		uint64_t rsp_arb_mode:1;
935c5aa59e8SDavid Daney 		uint64_t maxlfb:4;
936c5aa59e8SDavid Daney 		uint64_t maxvab:4;
937c5aa59e8SDavid Daney 		uint64_t discclk:1;
938c5aa59e8SDavid Daney 		uint64_t reserved_25_63:39;
939c5aa59e8SDavid Daney #endif
940aa32a955SDavid Daney 	} cn63xxp1;
941c5aa59e8SDavid Daney 	struct cvmx_l2c_ctl_cn61xx cn66xx;
942c5aa59e8SDavid Daney 	struct cvmx_l2c_ctl_s cn68xx;
943c5aa59e8SDavid Daney 	struct cvmx_l2c_ctl_cn63xx cn68xxp1;
944c5aa59e8SDavid Daney 	struct cvmx_l2c_ctl_cn61xx cnf71xx;
945aa32a955SDavid Daney };
946aa32a955SDavid Daney 
94754293ec3SDavid Daney union cvmx_l2c_dbg {
94854293ec3SDavid Daney 	uint64_t u64;
94954293ec3SDavid Daney 	struct cvmx_l2c_dbg_s {
950c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
95154293ec3SDavid Daney 		uint64_t reserved_15_63:49;
95254293ec3SDavid Daney 		uint64_t lfb_enum:4;
95354293ec3SDavid Daney 		uint64_t lfb_dmp:1;
95454293ec3SDavid Daney 		uint64_t ppnum:4;
95554293ec3SDavid Daney 		uint64_t set:3;
95654293ec3SDavid Daney 		uint64_t finv:1;
95754293ec3SDavid Daney 		uint64_t l2d:1;
95854293ec3SDavid Daney 		uint64_t l2t:1;
959c5aa59e8SDavid Daney #else
960c5aa59e8SDavid Daney 		uint64_t l2t:1;
961c5aa59e8SDavid Daney 		uint64_t l2d:1;
962c5aa59e8SDavid Daney 		uint64_t finv:1;
963c5aa59e8SDavid Daney 		uint64_t set:3;
964c5aa59e8SDavid Daney 		uint64_t ppnum:4;
965c5aa59e8SDavid Daney 		uint64_t lfb_dmp:1;
966c5aa59e8SDavid Daney 		uint64_t lfb_enum:4;
967c5aa59e8SDavid Daney 		uint64_t reserved_15_63:49;
968c5aa59e8SDavid Daney #endif
96954293ec3SDavid Daney 	} s;
97054293ec3SDavid Daney 	struct cvmx_l2c_dbg_cn30xx {
971c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
97254293ec3SDavid Daney 		uint64_t reserved_13_63:51;
97354293ec3SDavid Daney 		uint64_t lfb_enum:2;
97454293ec3SDavid Daney 		uint64_t lfb_dmp:1;
975aa32a955SDavid Daney 		uint64_t reserved_7_9:3;
976aa32a955SDavid Daney 		uint64_t ppnum:1;
977aa32a955SDavid Daney 		uint64_t reserved_5_5:1;
97854293ec3SDavid Daney 		uint64_t set:2;
97954293ec3SDavid Daney 		uint64_t finv:1;
98054293ec3SDavid Daney 		uint64_t l2d:1;
98154293ec3SDavid Daney 		uint64_t l2t:1;
982c5aa59e8SDavid Daney #else
983c5aa59e8SDavid Daney 		uint64_t l2t:1;
984c5aa59e8SDavid Daney 		uint64_t l2d:1;
985c5aa59e8SDavid Daney 		uint64_t finv:1;
986c5aa59e8SDavid Daney 		uint64_t set:2;
987c5aa59e8SDavid Daney 		uint64_t reserved_5_5:1;
988c5aa59e8SDavid Daney 		uint64_t ppnum:1;
989c5aa59e8SDavid Daney 		uint64_t reserved_7_9:3;
990c5aa59e8SDavid Daney 		uint64_t lfb_dmp:1;
991c5aa59e8SDavid Daney 		uint64_t lfb_enum:2;
992c5aa59e8SDavid Daney 		uint64_t reserved_13_63:51;
993c5aa59e8SDavid Daney #endif
99454293ec3SDavid Daney 	} cn30xx;
99554293ec3SDavid Daney 	struct cvmx_l2c_dbg_cn31xx {
996c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
99754293ec3SDavid Daney 		uint64_t reserved_14_63:50;
99854293ec3SDavid Daney 		uint64_t lfb_enum:3;
99954293ec3SDavid Daney 		uint64_t lfb_dmp:1;
100054293ec3SDavid Daney 		uint64_t reserved_7_9:3;
100154293ec3SDavid Daney 		uint64_t ppnum:1;
100254293ec3SDavid Daney 		uint64_t reserved_5_5:1;
100354293ec3SDavid Daney 		uint64_t set:2;
100454293ec3SDavid Daney 		uint64_t finv:1;
100554293ec3SDavid Daney 		uint64_t l2d:1;
100654293ec3SDavid Daney 		uint64_t l2t:1;
1007c5aa59e8SDavid Daney #else
1008c5aa59e8SDavid Daney 		uint64_t l2t:1;
1009c5aa59e8SDavid Daney 		uint64_t l2d:1;
1010c5aa59e8SDavid Daney 		uint64_t finv:1;
1011c5aa59e8SDavid Daney 		uint64_t set:2;
1012c5aa59e8SDavid Daney 		uint64_t reserved_5_5:1;
1013c5aa59e8SDavid Daney 		uint64_t ppnum:1;
1014c5aa59e8SDavid Daney 		uint64_t reserved_7_9:3;
1015c5aa59e8SDavid Daney 		uint64_t lfb_dmp:1;
1016c5aa59e8SDavid Daney 		uint64_t lfb_enum:3;
1017c5aa59e8SDavid Daney 		uint64_t reserved_14_63:50;
1018c5aa59e8SDavid Daney #endif
101954293ec3SDavid Daney 	} cn31xx;
102054293ec3SDavid Daney 	struct cvmx_l2c_dbg_s cn38xx;
102154293ec3SDavid Daney 	struct cvmx_l2c_dbg_s cn38xxp2;
102254293ec3SDavid Daney 	struct cvmx_l2c_dbg_cn50xx {
1023c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
102454293ec3SDavid Daney 		uint64_t reserved_14_63:50;
102554293ec3SDavid Daney 		uint64_t lfb_enum:3;
102654293ec3SDavid Daney 		uint64_t lfb_dmp:1;
102754293ec3SDavid Daney 		uint64_t reserved_7_9:3;
102854293ec3SDavid Daney 		uint64_t ppnum:1;
102954293ec3SDavid Daney 		uint64_t set:3;
103054293ec3SDavid Daney 		uint64_t finv:1;
103154293ec3SDavid Daney 		uint64_t l2d:1;
103254293ec3SDavid Daney 		uint64_t l2t:1;
1033c5aa59e8SDavid Daney #else
1034c5aa59e8SDavid Daney 		uint64_t l2t:1;
1035c5aa59e8SDavid Daney 		uint64_t l2d:1;
1036c5aa59e8SDavid Daney 		uint64_t finv:1;
1037c5aa59e8SDavid Daney 		uint64_t set:3;
1038c5aa59e8SDavid Daney 		uint64_t ppnum:1;
1039c5aa59e8SDavid Daney 		uint64_t reserved_7_9:3;
1040c5aa59e8SDavid Daney 		uint64_t lfb_dmp:1;
1041c5aa59e8SDavid Daney 		uint64_t lfb_enum:3;
1042c5aa59e8SDavid Daney 		uint64_t reserved_14_63:50;
1043c5aa59e8SDavid Daney #endif
104454293ec3SDavid Daney 	} cn50xx;
104554293ec3SDavid Daney 	struct cvmx_l2c_dbg_cn52xx {
1046c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
104754293ec3SDavid Daney 		uint64_t reserved_14_63:50;
104854293ec3SDavid Daney 		uint64_t lfb_enum:3;
104954293ec3SDavid Daney 		uint64_t lfb_dmp:1;
105054293ec3SDavid Daney 		uint64_t reserved_8_9:2;
105154293ec3SDavid Daney 		uint64_t ppnum:2;
105254293ec3SDavid Daney 		uint64_t set:3;
105354293ec3SDavid Daney 		uint64_t finv:1;
105454293ec3SDavid Daney 		uint64_t l2d:1;
105554293ec3SDavid Daney 		uint64_t l2t:1;
1056c5aa59e8SDavid Daney #else
1057c5aa59e8SDavid Daney 		uint64_t l2t:1;
1058c5aa59e8SDavid Daney 		uint64_t l2d:1;
1059c5aa59e8SDavid Daney 		uint64_t finv:1;
1060c5aa59e8SDavid Daney 		uint64_t set:3;
1061c5aa59e8SDavid Daney 		uint64_t ppnum:2;
1062c5aa59e8SDavid Daney 		uint64_t reserved_8_9:2;
1063c5aa59e8SDavid Daney 		uint64_t lfb_dmp:1;
1064c5aa59e8SDavid Daney 		uint64_t lfb_enum:3;
1065c5aa59e8SDavid Daney 		uint64_t reserved_14_63:50;
1066c5aa59e8SDavid Daney #endif
106754293ec3SDavid Daney 	} cn52xx;
106854293ec3SDavid Daney 	struct cvmx_l2c_dbg_cn52xx cn52xxp1;
106954293ec3SDavid Daney 	struct cvmx_l2c_dbg_s cn56xx;
107054293ec3SDavid Daney 	struct cvmx_l2c_dbg_s cn56xxp1;
107154293ec3SDavid Daney 	struct cvmx_l2c_dbg_s cn58xx;
107254293ec3SDavid Daney 	struct cvmx_l2c_dbg_s cn58xxp1;
107354293ec3SDavid Daney };
107454293ec3SDavid Daney 
107554293ec3SDavid Daney union cvmx_l2c_dut {
107654293ec3SDavid Daney 	uint64_t u64;
107754293ec3SDavid Daney 	struct cvmx_l2c_dut_s {
1078c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
107954293ec3SDavid Daney 		uint64_t reserved_32_63:32;
108054293ec3SDavid Daney 		uint64_t dtena:1;
108154293ec3SDavid Daney 		uint64_t reserved_30_30:1;
108254293ec3SDavid Daney 		uint64_t dt_vld:1;
108354293ec3SDavid Daney 		uint64_t dt_tag:29;
1084c5aa59e8SDavid Daney #else
1085c5aa59e8SDavid Daney 		uint64_t dt_tag:29;
1086c5aa59e8SDavid Daney 		uint64_t dt_vld:1;
1087c5aa59e8SDavid Daney 		uint64_t reserved_30_30:1;
1088c5aa59e8SDavid Daney 		uint64_t dtena:1;
1089c5aa59e8SDavid Daney 		uint64_t reserved_32_63:32;
1090c5aa59e8SDavid Daney #endif
109154293ec3SDavid Daney 	} s;
109254293ec3SDavid Daney 	struct cvmx_l2c_dut_s cn30xx;
109354293ec3SDavid Daney 	struct cvmx_l2c_dut_s cn31xx;
109454293ec3SDavid Daney 	struct cvmx_l2c_dut_s cn38xx;
109554293ec3SDavid Daney 	struct cvmx_l2c_dut_s cn38xxp2;
109654293ec3SDavid Daney 	struct cvmx_l2c_dut_s cn50xx;
109754293ec3SDavid Daney 	struct cvmx_l2c_dut_s cn52xx;
109854293ec3SDavid Daney 	struct cvmx_l2c_dut_s cn52xxp1;
109954293ec3SDavid Daney 	struct cvmx_l2c_dut_s cn56xx;
110054293ec3SDavid Daney 	struct cvmx_l2c_dut_s cn56xxp1;
110154293ec3SDavid Daney 	struct cvmx_l2c_dut_s cn58xx;
110254293ec3SDavid Daney 	struct cvmx_l2c_dut_s cn58xxp1;
110354293ec3SDavid Daney };
110454293ec3SDavid Daney 
1105aa32a955SDavid Daney union cvmx_l2c_dut_mapx {
1106aa32a955SDavid Daney 	uint64_t u64;
1107aa32a955SDavid Daney 	struct cvmx_l2c_dut_mapx_s {
1108c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
1109aa32a955SDavid Daney 		uint64_t reserved_38_63:26;
1110aa32a955SDavid Daney 		uint64_t tag:28;
1111aa32a955SDavid Daney 		uint64_t reserved_1_9:9;
1112aa32a955SDavid Daney 		uint64_t valid:1;
1113c5aa59e8SDavid Daney #else
1114c5aa59e8SDavid Daney 		uint64_t valid:1;
1115c5aa59e8SDavid Daney 		uint64_t reserved_1_9:9;
1116c5aa59e8SDavid Daney 		uint64_t tag:28;
1117c5aa59e8SDavid Daney 		uint64_t reserved_38_63:26;
1118c5aa59e8SDavid Daney #endif
1119aa32a955SDavid Daney 	} s;
1120c5aa59e8SDavid Daney 	struct cvmx_l2c_dut_mapx_s cn61xx;
1121aa32a955SDavid Daney 	struct cvmx_l2c_dut_mapx_s cn63xx;
1122aa32a955SDavid Daney 	struct cvmx_l2c_dut_mapx_s cn63xxp1;
1123c5aa59e8SDavid Daney 	struct cvmx_l2c_dut_mapx_s cn66xx;
1124c5aa59e8SDavid Daney 	struct cvmx_l2c_dut_mapx_s cn68xx;
1125c5aa59e8SDavid Daney 	struct cvmx_l2c_dut_mapx_s cn68xxp1;
1126c5aa59e8SDavid Daney 	struct cvmx_l2c_dut_mapx_s cnf71xx;
1127aa32a955SDavid Daney };
1128aa32a955SDavid Daney 
1129aa32a955SDavid Daney union cvmx_l2c_err_tdtx {
1130aa32a955SDavid Daney 	uint64_t u64;
1131aa32a955SDavid Daney 	struct cvmx_l2c_err_tdtx_s {
1132c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
1133c5aa59e8SDavid Daney 		uint64_t dbe:1;
1134c5aa59e8SDavid Daney 		uint64_t sbe:1;
1135c5aa59e8SDavid Daney 		uint64_t vdbe:1;
1136c5aa59e8SDavid Daney 		uint64_t vsbe:1;
1137c5aa59e8SDavid Daney 		uint64_t syn:10;
1138c5aa59e8SDavid Daney 		uint64_t reserved_22_49:28;
1139c5aa59e8SDavid Daney 		uint64_t wayidx:18;
1140c5aa59e8SDavid Daney 		uint64_t reserved_2_3:2;
1141c5aa59e8SDavid Daney 		uint64_t type:2;
1142c5aa59e8SDavid Daney #else
1143c5aa59e8SDavid Daney 		uint64_t type:2;
1144c5aa59e8SDavid Daney 		uint64_t reserved_2_3:2;
1145c5aa59e8SDavid Daney 		uint64_t wayidx:18;
1146c5aa59e8SDavid Daney 		uint64_t reserved_22_49:28;
1147c5aa59e8SDavid Daney 		uint64_t syn:10;
1148c5aa59e8SDavid Daney 		uint64_t vsbe:1;
1149c5aa59e8SDavid Daney 		uint64_t vdbe:1;
1150c5aa59e8SDavid Daney 		uint64_t sbe:1;
1151c5aa59e8SDavid Daney 		uint64_t dbe:1;
1152c5aa59e8SDavid Daney #endif
1153c5aa59e8SDavid Daney 	} s;
1154c5aa59e8SDavid Daney 	struct cvmx_l2c_err_tdtx_cn61xx {
1155c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
1156c5aa59e8SDavid Daney 		uint64_t dbe:1;
1157c5aa59e8SDavid Daney 		uint64_t sbe:1;
1158c5aa59e8SDavid Daney 		uint64_t vdbe:1;
1159c5aa59e8SDavid Daney 		uint64_t vsbe:1;
1160c5aa59e8SDavid Daney 		uint64_t syn:10;
1161c5aa59e8SDavid Daney 		uint64_t reserved_20_49:30;
1162c5aa59e8SDavid Daney 		uint64_t wayidx:16;
1163c5aa59e8SDavid Daney 		uint64_t reserved_2_3:2;
1164c5aa59e8SDavid Daney 		uint64_t type:2;
1165c5aa59e8SDavid Daney #else
1166c5aa59e8SDavid Daney 		uint64_t type:2;
1167c5aa59e8SDavid Daney 		uint64_t reserved_2_3:2;
1168c5aa59e8SDavid Daney 		uint64_t wayidx:16;
1169c5aa59e8SDavid Daney 		uint64_t reserved_20_49:30;
1170c5aa59e8SDavid Daney 		uint64_t syn:10;
1171c5aa59e8SDavid Daney 		uint64_t vsbe:1;
1172c5aa59e8SDavid Daney 		uint64_t vdbe:1;
1173c5aa59e8SDavid Daney 		uint64_t sbe:1;
1174c5aa59e8SDavid Daney 		uint64_t dbe:1;
1175c5aa59e8SDavid Daney #endif
1176c5aa59e8SDavid Daney 	} cn61xx;
1177c5aa59e8SDavid Daney 	struct cvmx_l2c_err_tdtx_cn63xx {
1178c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
1179aa32a955SDavid Daney 		uint64_t dbe:1;
1180aa32a955SDavid Daney 		uint64_t sbe:1;
1181aa32a955SDavid Daney 		uint64_t vdbe:1;
1182aa32a955SDavid Daney 		uint64_t vsbe:1;
1183aa32a955SDavid Daney 		uint64_t syn:10;
1184aa32a955SDavid Daney 		uint64_t reserved_21_49:29;
1185aa32a955SDavid Daney 		uint64_t wayidx:17;
1186aa32a955SDavid Daney 		uint64_t reserved_2_3:2;
1187aa32a955SDavid Daney 		uint64_t type:2;
1188c5aa59e8SDavid Daney #else
1189c5aa59e8SDavid Daney 		uint64_t type:2;
1190c5aa59e8SDavid Daney 		uint64_t reserved_2_3:2;
1191c5aa59e8SDavid Daney 		uint64_t wayidx:17;
1192c5aa59e8SDavid Daney 		uint64_t reserved_21_49:29;
1193c5aa59e8SDavid Daney 		uint64_t syn:10;
1194c5aa59e8SDavid Daney 		uint64_t vsbe:1;
1195c5aa59e8SDavid Daney 		uint64_t vdbe:1;
1196c5aa59e8SDavid Daney 		uint64_t sbe:1;
1197c5aa59e8SDavid Daney 		uint64_t dbe:1;
1198c5aa59e8SDavid Daney #endif
1199c5aa59e8SDavid Daney 	} cn63xx;
1200c5aa59e8SDavid Daney 	struct cvmx_l2c_err_tdtx_cn63xx cn63xxp1;
1201c5aa59e8SDavid Daney 	struct cvmx_l2c_err_tdtx_cn63xx cn66xx;
1202c5aa59e8SDavid Daney 	struct cvmx_l2c_err_tdtx_s cn68xx;
1203c5aa59e8SDavid Daney 	struct cvmx_l2c_err_tdtx_s cn68xxp1;
1204c5aa59e8SDavid Daney 	struct cvmx_l2c_err_tdtx_cn61xx cnf71xx;
1205aa32a955SDavid Daney };
1206aa32a955SDavid Daney 
1207aa32a955SDavid Daney union cvmx_l2c_err_ttgx {
1208aa32a955SDavid Daney 	uint64_t u64;
1209aa32a955SDavid Daney 	struct cvmx_l2c_err_ttgx_s {
1210c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
1211c5aa59e8SDavid Daney 		uint64_t dbe:1;
1212c5aa59e8SDavid Daney 		uint64_t sbe:1;
1213c5aa59e8SDavid Daney 		uint64_t noway:1;
1214c5aa59e8SDavid Daney 		uint64_t reserved_56_60:5;
1215c5aa59e8SDavid Daney 		uint64_t syn:6;
1216c5aa59e8SDavid Daney 		uint64_t reserved_22_49:28;
1217c5aa59e8SDavid Daney 		uint64_t wayidx:15;
1218c5aa59e8SDavid Daney 		uint64_t reserved_2_6:5;
1219c5aa59e8SDavid Daney 		uint64_t type:2;
1220c5aa59e8SDavid Daney #else
1221c5aa59e8SDavid Daney 		uint64_t type:2;
1222c5aa59e8SDavid Daney 		uint64_t reserved_2_6:5;
1223c5aa59e8SDavid Daney 		uint64_t wayidx:15;
1224c5aa59e8SDavid Daney 		uint64_t reserved_22_49:28;
1225c5aa59e8SDavid Daney 		uint64_t syn:6;
1226c5aa59e8SDavid Daney 		uint64_t reserved_56_60:5;
1227c5aa59e8SDavid Daney 		uint64_t noway:1;
1228c5aa59e8SDavid Daney 		uint64_t sbe:1;
1229c5aa59e8SDavid Daney 		uint64_t dbe:1;
1230c5aa59e8SDavid Daney #endif
1231c5aa59e8SDavid Daney 	} s;
1232c5aa59e8SDavid Daney 	struct cvmx_l2c_err_ttgx_cn61xx {
1233c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
1234c5aa59e8SDavid Daney 		uint64_t dbe:1;
1235c5aa59e8SDavid Daney 		uint64_t sbe:1;
1236c5aa59e8SDavid Daney 		uint64_t noway:1;
1237c5aa59e8SDavid Daney 		uint64_t reserved_56_60:5;
1238c5aa59e8SDavid Daney 		uint64_t syn:6;
1239c5aa59e8SDavid Daney 		uint64_t reserved_20_49:30;
1240c5aa59e8SDavid Daney 		uint64_t wayidx:13;
1241c5aa59e8SDavid Daney 		uint64_t reserved_2_6:5;
1242c5aa59e8SDavid Daney 		uint64_t type:2;
1243c5aa59e8SDavid Daney #else
1244c5aa59e8SDavid Daney 		uint64_t type:2;
1245c5aa59e8SDavid Daney 		uint64_t reserved_2_6:5;
1246c5aa59e8SDavid Daney 		uint64_t wayidx:13;
1247c5aa59e8SDavid Daney 		uint64_t reserved_20_49:30;
1248c5aa59e8SDavid Daney 		uint64_t syn:6;
1249c5aa59e8SDavid Daney 		uint64_t reserved_56_60:5;
1250c5aa59e8SDavid Daney 		uint64_t noway:1;
1251c5aa59e8SDavid Daney 		uint64_t sbe:1;
1252c5aa59e8SDavid Daney 		uint64_t dbe:1;
1253c5aa59e8SDavid Daney #endif
1254c5aa59e8SDavid Daney 	} cn61xx;
1255c5aa59e8SDavid Daney 	struct cvmx_l2c_err_ttgx_cn63xx {
1256c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
1257aa32a955SDavid Daney 		uint64_t dbe:1;
1258aa32a955SDavid Daney 		uint64_t sbe:1;
1259aa32a955SDavid Daney 		uint64_t noway:1;
1260aa32a955SDavid Daney 		uint64_t reserved_56_60:5;
1261aa32a955SDavid Daney 		uint64_t syn:6;
1262aa32a955SDavid Daney 		uint64_t reserved_21_49:29;
1263aa32a955SDavid Daney 		uint64_t wayidx:14;
1264aa32a955SDavid Daney 		uint64_t reserved_2_6:5;
1265aa32a955SDavid Daney 		uint64_t type:2;
1266c5aa59e8SDavid Daney #else
1267c5aa59e8SDavid Daney 		uint64_t type:2;
1268c5aa59e8SDavid Daney 		uint64_t reserved_2_6:5;
1269c5aa59e8SDavid Daney 		uint64_t wayidx:14;
1270c5aa59e8SDavid Daney 		uint64_t reserved_21_49:29;
1271c5aa59e8SDavid Daney 		uint64_t syn:6;
1272c5aa59e8SDavid Daney 		uint64_t reserved_56_60:5;
1273c5aa59e8SDavid Daney 		uint64_t noway:1;
1274c5aa59e8SDavid Daney 		uint64_t sbe:1;
1275c5aa59e8SDavid Daney 		uint64_t dbe:1;
1276c5aa59e8SDavid Daney #endif
1277c5aa59e8SDavid Daney 	} cn63xx;
1278c5aa59e8SDavid Daney 	struct cvmx_l2c_err_ttgx_cn63xx cn63xxp1;
1279c5aa59e8SDavid Daney 	struct cvmx_l2c_err_ttgx_cn63xx cn66xx;
1280c5aa59e8SDavid Daney 	struct cvmx_l2c_err_ttgx_s cn68xx;
1281c5aa59e8SDavid Daney 	struct cvmx_l2c_err_ttgx_s cn68xxp1;
1282c5aa59e8SDavid Daney 	struct cvmx_l2c_err_ttgx_cn61xx cnf71xx;
1283aa32a955SDavid Daney };
1284aa32a955SDavid Daney 
1285aa32a955SDavid Daney union cvmx_l2c_err_vbfx {
1286aa32a955SDavid Daney 	uint64_t u64;
1287aa32a955SDavid Daney 	struct cvmx_l2c_err_vbfx_s {
1288c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
1289aa32a955SDavid Daney 		uint64_t reserved_62_63:2;
1290aa32a955SDavid Daney 		uint64_t vdbe:1;
1291aa32a955SDavid Daney 		uint64_t vsbe:1;
1292aa32a955SDavid Daney 		uint64_t vsyn:10;
1293aa32a955SDavid Daney 		uint64_t reserved_2_49:48;
1294aa32a955SDavid Daney 		uint64_t type:2;
1295c5aa59e8SDavid Daney #else
1296c5aa59e8SDavid Daney 		uint64_t type:2;
1297c5aa59e8SDavid Daney 		uint64_t reserved_2_49:48;
1298c5aa59e8SDavid Daney 		uint64_t vsyn:10;
1299c5aa59e8SDavid Daney 		uint64_t vsbe:1;
1300c5aa59e8SDavid Daney 		uint64_t vdbe:1;
1301c5aa59e8SDavid Daney 		uint64_t reserved_62_63:2;
1302c5aa59e8SDavid Daney #endif
1303aa32a955SDavid Daney 	} s;
1304c5aa59e8SDavid Daney 	struct cvmx_l2c_err_vbfx_s cn61xx;
1305aa32a955SDavid Daney 	struct cvmx_l2c_err_vbfx_s cn63xx;
1306aa32a955SDavid Daney 	struct cvmx_l2c_err_vbfx_s cn63xxp1;
1307c5aa59e8SDavid Daney 	struct cvmx_l2c_err_vbfx_s cn66xx;
1308c5aa59e8SDavid Daney 	struct cvmx_l2c_err_vbfx_s cn68xx;
1309c5aa59e8SDavid Daney 	struct cvmx_l2c_err_vbfx_s cn68xxp1;
1310c5aa59e8SDavid Daney 	struct cvmx_l2c_err_vbfx_s cnf71xx;
1311aa32a955SDavid Daney };
1312aa32a955SDavid Daney 
1313aa32a955SDavid Daney union cvmx_l2c_err_xmc {
1314aa32a955SDavid Daney 	uint64_t u64;
1315aa32a955SDavid Daney 	struct cvmx_l2c_err_xmc_s {
1316c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
1317c5aa59e8SDavid Daney 		uint64_t cmd:6;
1318c5aa59e8SDavid Daney 		uint64_t reserved_54_57:4;
1319c5aa59e8SDavid Daney 		uint64_t sid:6;
1320c5aa59e8SDavid Daney 		uint64_t reserved_38_47:10;
1321c5aa59e8SDavid Daney 		uint64_t addr:38;
1322c5aa59e8SDavid Daney #else
1323c5aa59e8SDavid Daney 		uint64_t addr:38;
1324c5aa59e8SDavid Daney 		uint64_t reserved_38_47:10;
1325c5aa59e8SDavid Daney 		uint64_t sid:6;
1326c5aa59e8SDavid Daney 		uint64_t reserved_54_57:4;
1327c5aa59e8SDavid Daney 		uint64_t cmd:6;
1328c5aa59e8SDavid Daney #endif
1329c5aa59e8SDavid Daney 	} s;
1330c5aa59e8SDavid Daney 	struct cvmx_l2c_err_xmc_cn61xx {
1331c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
1332aa32a955SDavid Daney 		uint64_t cmd:6;
1333aa32a955SDavid Daney 		uint64_t reserved_52_57:6;
1334aa32a955SDavid Daney 		uint64_t sid:4;
1335aa32a955SDavid Daney 		uint64_t reserved_38_47:10;
1336aa32a955SDavid Daney 		uint64_t addr:38;
1337c5aa59e8SDavid Daney #else
1338c5aa59e8SDavid Daney 		uint64_t addr:38;
1339c5aa59e8SDavid Daney 		uint64_t reserved_38_47:10;
1340c5aa59e8SDavid Daney 		uint64_t sid:4;
1341c5aa59e8SDavid Daney 		uint64_t reserved_52_57:6;
1342c5aa59e8SDavid Daney 		uint64_t cmd:6;
1343c5aa59e8SDavid Daney #endif
1344c5aa59e8SDavid Daney 	} cn61xx;
1345c5aa59e8SDavid Daney 	struct cvmx_l2c_err_xmc_cn61xx cn63xx;
1346c5aa59e8SDavid Daney 	struct cvmx_l2c_err_xmc_cn61xx cn63xxp1;
1347c5aa59e8SDavid Daney 	struct cvmx_l2c_err_xmc_cn66xx {
1348c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
1349c5aa59e8SDavid Daney 		uint64_t cmd:6;
1350c5aa59e8SDavid Daney 		uint64_t reserved_53_57:5;
1351c5aa59e8SDavid Daney 		uint64_t sid:5;
1352c5aa59e8SDavid Daney 		uint64_t reserved_38_47:10;
1353c5aa59e8SDavid Daney 		uint64_t addr:38;
1354c5aa59e8SDavid Daney #else
1355c5aa59e8SDavid Daney 		uint64_t addr:38;
1356c5aa59e8SDavid Daney 		uint64_t reserved_38_47:10;
1357c5aa59e8SDavid Daney 		uint64_t sid:5;
1358c5aa59e8SDavid Daney 		uint64_t reserved_53_57:5;
1359c5aa59e8SDavid Daney 		uint64_t cmd:6;
1360c5aa59e8SDavid Daney #endif
1361c5aa59e8SDavid Daney 	} cn66xx;
1362c5aa59e8SDavid Daney 	struct cvmx_l2c_err_xmc_s cn68xx;
1363c5aa59e8SDavid Daney 	struct cvmx_l2c_err_xmc_s cn68xxp1;
1364c5aa59e8SDavid Daney 	struct cvmx_l2c_err_xmc_cn61xx cnf71xx;
1365aa32a955SDavid Daney };
1366aa32a955SDavid Daney 
136754293ec3SDavid Daney union cvmx_l2c_grpwrr0 {
136854293ec3SDavid Daney 	uint64_t u64;
136954293ec3SDavid Daney 	struct cvmx_l2c_grpwrr0_s {
1370c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
137154293ec3SDavid Daney 		uint64_t plc1rmsk:32;
137254293ec3SDavid Daney 		uint64_t plc0rmsk:32;
1373c5aa59e8SDavid Daney #else
1374c5aa59e8SDavid Daney 		uint64_t plc0rmsk:32;
1375c5aa59e8SDavid Daney 		uint64_t plc1rmsk:32;
1376c5aa59e8SDavid Daney #endif
137754293ec3SDavid Daney 	} s;
137854293ec3SDavid Daney 	struct cvmx_l2c_grpwrr0_s cn52xx;
137954293ec3SDavid Daney 	struct cvmx_l2c_grpwrr0_s cn52xxp1;
138054293ec3SDavid Daney 	struct cvmx_l2c_grpwrr0_s cn56xx;
138154293ec3SDavid Daney 	struct cvmx_l2c_grpwrr0_s cn56xxp1;
138254293ec3SDavid Daney };
138354293ec3SDavid Daney 
138454293ec3SDavid Daney union cvmx_l2c_grpwrr1 {
138554293ec3SDavid Daney 	uint64_t u64;
138654293ec3SDavid Daney 	struct cvmx_l2c_grpwrr1_s {
1387c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
138854293ec3SDavid Daney 		uint64_t ilcrmsk:32;
138954293ec3SDavid Daney 		uint64_t plc2rmsk:32;
1390c5aa59e8SDavid Daney #else
1391c5aa59e8SDavid Daney 		uint64_t plc2rmsk:32;
1392c5aa59e8SDavid Daney 		uint64_t ilcrmsk:32;
1393c5aa59e8SDavid Daney #endif
139454293ec3SDavid Daney 	} s;
139554293ec3SDavid Daney 	struct cvmx_l2c_grpwrr1_s cn52xx;
139654293ec3SDavid Daney 	struct cvmx_l2c_grpwrr1_s cn52xxp1;
139754293ec3SDavid Daney 	struct cvmx_l2c_grpwrr1_s cn56xx;
139854293ec3SDavid Daney 	struct cvmx_l2c_grpwrr1_s cn56xxp1;
139954293ec3SDavid Daney };
140054293ec3SDavid Daney 
140154293ec3SDavid Daney union cvmx_l2c_int_en {
140254293ec3SDavid Daney 	uint64_t u64;
140354293ec3SDavid Daney 	struct cvmx_l2c_int_en_s {
1404c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
140554293ec3SDavid Daney 		uint64_t reserved_9_63:55;
140654293ec3SDavid Daney 		uint64_t lck2ena:1;
140754293ec3SDavid Daney 		uint64_t lckena:1;
140854293ec3SDavid Daney 		uint64_t l2ddeden:1;
140954293ec3SDavid Daney 		uint64_t l2dsecen:1;
141054293ec3SDavid Daney 		uint64_t l2tdeden:1;
141154293ec3SDavid Daney 		uint64_t l2tsecen:1;
141254293ec3SDavid Daney 		uint64_t oob3en:1;
141354293ec3SDavid Daney 		uint64_t oob2en:1;
141454293ec3SDavid Daney 		uint64_t oob1en:1;
1415c5aa59e8SDavid Daney #else
1416c5aa59e8SDavid Daney 		uint64_t oob1en:1;
1417c5aa59e8SDavid Daney 		uint64_t oob2en:1;
1418c5aa59e8SDavid Daney 		uint64_t oob3en:1;
1419c5aa59e8SDavid Daney 		uint64_t l2tsecen:1;
1420c5aa59e8SDavid Daney 		uint64_t l2tdeden:1;
1421c5aa59e8SDavid Daney 		uint64_t l2dsecen:1;
1422c5aa59e8SDavid Daney 		uint64_t l2ddeden:1;
1423c5aa59e8SDavid Daney 		uint64_t lckena:1;
1424c5aa59e8SDavid Daney 		uint64_t lck2ena:1;
1425c5aa59e8SDavid Daney 		uint64_t reserved_9_63:55;
1426c5aa59e8SDavid Daney #endif
142754293ec3SDavid Daney 	} s;
142854293ec3SDavid Daney 	struct cvmx_l2c_int_en_s cn52xx;
142954293ec3SDavid Daney 	struct cvmx_l2c_int_en_s cn52xxp1;
143054293ec3SDavid Daney 	struct cvmx_l2c_int_en_s cn56xx;
143154293ec3SDavid Daney 	struct cvmx_l2c_int_en_s cn56xxp1;
143254293ec3SDavid Daney };
143354293ec3SDavid Daney 
1434aa32a955SDavid Daney union cvmx_l2c_int_ena {
1435aa32a955SDavid Daney 	uint64_t u64;
1436aa32a955SDavid Daney 	struct cvmx_l2c_int_ena_s {
1437c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
1438aa32a955SDavid Daney 		uint64_t reserved_8_63:56;
1439aa32a955SDavid Daney 		uint64_t bigrd:1;
1440aa32a955SDavid Daney 		uint64_t bigwr:1;
1441aa32a955SDavid Daney 		uint64_t vrtpe:1;
1442aa32a955SDavid Daney 		uint64_t vrtadrng:1;
1443aa32a955SDavid Daney 		uint64_t vrtidrng:1;
1444aa32a955SDavid Daney 		uint64_t vrtwr:1;
1445aa32a955SDavid Daney 		uint64_t holewr:1;
1446aa32a955SDavid Daney 		uint64_t holerd:1;
1447c5aa59e8SDavid Daney #else
1448c5aa59e8SDavid Daney 		uint64_t holerd:1;
1449c5aa59e8SDavid Daney 		uint64_t holewr:1;
1450c5aa59e8SDavid Daney 		uint64_t vrtwr:1;
1451c5aa59e8SDavid Daney 		uint64_t vrtidrng:1;
1452c5aa59e8SDavid Daney 		uint64_t vrtadrng:1;
1453c5aa59e8SDavid Daney 		uint64_t vrtpe:1;
1454c5aa59e8SDavid Daney 		uint64_t bigwr:1;
1455c5aa59e8SDavid Daney 		uint64_t bigrd:1;
1456c5aa59e8SDavid Daney 		uint64_t reserved_8_63:56;
1457c5aa59e8SDavid Daney #endif
1458aa32a955SDavid Daney 	} s;
1459c5aa59e8SDavid Daney 	struct cvmx_l2c_int_ena_s cn61xx;
1460aa32a955SDavid Daney 	struct cvmx_l2c_int_ena_s cn63xx;
1461aa32a955SDavid Daney 	struct cvmx_l2c_int_ena_cn63xxp1 {
1462c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
1463aa32a955SDavid Daney 		uint64_t reserved_6_63:58;
1464aa32a955SDavid Daney 		uint64_t vrtpe:1;
1465aa32a955SDavid Daney 		uint64_t vrtadrng:1;
1466aa32a955SDavid Daney 		uint64_t vrtidrng:1;
1467aa32a955SDavid Daney 		uint64_t vrtwr:1;
1468aa32a955SDavid Daney 		uint64_t holewr:1;
1469aa32a955SDavid Daney 		uint64_t holerd:1;
1470c5aa59e8SDavid Daney #else
1471c5aa59e8SDavid Daney 		uint64_t holerd:1;
1472c5aa59e8SDavid Daney 		uint64_t holewr:1;
1473c5aa59e8SDavid Daney 		uint64_t vrtwr:1;
1474c5aa59e8SDavid Daney 		uint64_t vrtidrng:1;
1475c5aa59e8SDavid Daney 		uint64_t vrtadrng:1;
1476c5aa59e8SDavid Daney 		uint64_t vrtpe:1;
1477c5aa59e8SDavid Daney 		uint64_t reserved_6_63:58;
1478c5aa59e8SDavid Daney #endif
1479aa32a955SDavid Daney 	} cn63xxp1;
1480c5aa59e8SDavid Daney 	struct cvmx_l2c_int_ena_s cn66xx;
1481c5aa59e8SDavid Daney 	struct cvmx_l2c_int_ena_s cn68xx;
1482c5aa59e8SDavid Daney 	struct cvmx_l2c_int_ena_s cn68xxp1;
1483c5aa59e8SDavid Daney 	struct cvmx_l2c_int_ena_s cnf71xx;
1484aa32a955SDavid Daney };
1485aa32a955SDavid Daney 
1486aa32a955SDavid Daney union cvmx_l2c_int_reg {
1487aa32a955SDavid Daney 	uint64_t u64;
1488aa32a955SDavid Daney 	struct cvmx_l2c_int_reg_s {
1489c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
1490c5aa59e8SDavid Daney 		uint64_t reserved_20_63:44;
1491c5aa59e8SDavid Daney 		uint64_t tad3:1;
1492c5aa59e8SDavid Daney 		uint64_t tad2:1;
1493c5aa59e8SDavid Daney 		uint64_t tad1:1;
1494c5aa59e8SDavid Daney 		uint64_t tad0:1;
1495c5aa59e8SDavid Daney 		uint64_t reserved_8_15:8;
1496c5aa59e8SDavid Daney 		uint64_t bigrd:1;
1497c5aa59e8SDavid Daney 		uint64_t bigwr:1;
1498c5aa59e8SDavid Daney 		uint64_t vrtpe:1;
1499c5aa59e8SDavid Daney 		uint64_t vrtadrng:1;
1500c5aa59e8SDavid Daney 		uint64_t vrtidrng:1;
1501c5aa59e8SDavid Daney 		uint64_t vrtwr:1;
1502c5aa59e8SDavid Daney 		uint64_t holewr:1;
1503c5aa59e8SDavid Daney 		uint64_t holerd:1;
1504c5aa59e8SDavid Daney #else
1505c5aa59e8SDavid Daney 		uint64_t holerd:1;
1506c5aa59e8SDavid Daney 		uint64_t holewr:1;
1507c5aa59e8SDavid Daney 		uint64_t vrtwr:1;
1508c5aa59e8SDavid Daney 		uint64_t vrtidrng:1;
1509c5aa59e8SDavid Daney 		uint64_t vrtadrng:1;
1510c5aa59e8SDavid Daney 		uint64_t vrtpe:1;
1511c5aa59e8SDavid Daney 		uint64_t bigwr:1;
1512c5aa59e8SDavid Daney 		uint64_t bigrd:1;
1513c5aa59e8SDavid Daney 		uint64_t reserved_8_15:8;
1514c5aa59e8SDavid Daney 		uint64_t tad0:1;
1515c5aa59e8SDavid Daney 		uint64_t tad1:1;
1516c5aa59e8SDavid Daney 		uint64_t tad2:1;
1517c5aa59e8SDavid Daney 		uint64_t tad3:1;
1518c5aa59e8SDavid Daney 		uint64_t reserved_20_63:44;
1519c5aa59e8SDavid Daney #endif
1520c5aa59e8SDavid Daney 	} s;
1521c5aa59e8SDavid Daney 	struct cvmx_l2c_int_reg_cn61xx {
1522c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
1523aa32a955SDavid Daney 		uint64_t reserved_17_63:47;
1524aa32a955SDavid Daney 		uint64_t tad0:1;
1525aa32a955SDavid Daney 		uint64_t reserved_8_15:8;
1526aa32a955SDavid Daney 		uint64_t bigrd:1;
1527aa32a955SDavid Daney 		uint64_t bigwr:1;
1528aa32a955SDavid Daney 		uint64_t vrtpe:1;
1529aa32a955SDavid Daney 		uint64_t vrtadrng:1;
1530aa32a955SDavid Daney 		uint64_t vrtidrng:1;
1531aa32a955SDavid Daney 		uint64_t vrtwr:1;
1532aa32a955SDavid Daney 		uint64_t holewr:1;
1533aa32a955SDavid Daney 		uint64_t holerd:1;
1534c5aa59e8SDavid Daney #else
1535c5aa59e8SDavid Daney 		uint64_t holerd:1;
1536c5aa59e8SDavid Daney 		uint64_t holewr:1;
1537c5aa59e8SDavid Daney 		uint64_t vrtwr:1;
1538c5aa59e8SDavid Daney 		uint64_t vrtidrng:1;
1539c5aa59e8SDavid Daney 		uint64_t vrtadrng:1;
1540c5aa59e8SDavid Daney 		uint64_t vrtpe:1;
1541c5aa59e8SDavid Daney 		uint64_t bigwr:1;
1542c5aa59e8SDavid Daney 		uint64_t bigrd:1;
1543c5aa59e8SDavid Daney 		uint64_t reserved_8_15:8;
1544c5aa59e8SDavid Daney 		uint64_t tad0:1;
1545c5aa59e8SDavid Daney 		uint64_t reserved_17_63:47;
1546c5aa59e8SDavid Daney #endif
1547c5aa59e8SDavid Daney 	} cn61xx;
1548c5aa59e8SDavid Daney 	struct cvmx_l2c_int_reg_cn61xx cn63xx;
1549aa32a955SDavid Daney 	struct cvmx_l2c_int_reg_cn63xxp1 {
1550c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
1551aa32a955SDavid Daney 		uint64_t reserved_17_63:47;
1552aa32a955SDavid Daney 		uint64_t tad0:1;
1553aa32a955SDavid Daney 		uint64_t reserved_6_15:10;
1554aa32a955SDavid Daney 		uint64_t vrtpe:1;
1555aa32a955SDavid Daney 		uint64_t vrtadrng:1;
1556aa32a955SDavid Daney 		uint64_t vrtidrng:1;
1557aa32a955SDavid Daney 		uint64_t vrtwr:1;
1558aa32a955SDavid Daney 		uint64_t holewr:1;
1559aa32a955SDavid Daney 		uint64_t holerd:1;
1560c5aa59e8SDavid Daney #else
1561c5aa59e8SDavid Daney 		uint64_t holerd:1;
1562c5aa59e8SDavid Daney 		uint64_t holewr:1;
1563c5aa59e8SDavid Daney 		uint64_t vrtwr:1;
1564c5aa59e8SDavid Daney 		uint64_t vrtidrng:1;
1565c5aa59e8SDavid Daney 		uint64_t vrtadrng:1;
1566c5aa59e8SDavid Daney 		uint64_t vrtpe:1;
1567c5aa59e8SDavid Daney 		uint64_t reserved_6_15:10;
1568c5aa59e8SDavid Daney 		uint64_t tad0:1;
1569c5aa59e8SDavid Daney 		uint64_t reserved_17_63:47;
1570c5aa59e8SDavid Daney #endif
1571aa32a955SDavid Daney 	} cn63xxp1;
1572c5aa59e8SDavid Daney 	struct cvmx_l2c_int_reg_cn61xx cn66xx;
1573c5aa59e8SDavid Daney 	struct cvmx_l2c_int_reg_s cn68xx;
1574c5aa59e8SDavid Daney 	struct cvmx_l2c_int_reg_s cn68xxp1;
1575c5aa59e8SDavid Daney 	struct cvmx_l2c_int_reg_cn61xx cnf71xx;
1576aa32a955SDavid Daney };
1577aa32a955SDavid Daney 
157854293ec3SDavid Daney union cvmx_l2c_int_stat {
157954293ec3SDavid Daney 	uint64_t u64;
158054293ec3SDavid Daney 	struct cvmx_l2c_int_stat_s {
1581c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
158254293ec3SDavid Daney 		uint64_t reserved_9_63:55;
158354293ec3SDavid Daney 		uint64_t lck2:1;
158454293ec3SDavid Daney 		uint64_t lck:1;
158554293ec3SDavid Daney 		uint64_t l2dded:1;
158654293ec3SDavid Daney 		uint64_t l2dsec:1;
158754293ec3SDavid Daney 		uint64_t l2tded:1;
158854293ec3SDavid Daney 		uint64_t l2tsec:1;
158954293ec3SDavid Daney 		uint64_t oob3:1;
159054293ec3SDavid Daney 		uint64_t oob2:1;
159154293ec3SDavid Daney 		uint64_t oob1:1;
1592c5aa59e8SDavid Daney #else
1593c5aa59e8SDavid Daney 		uint64_t oob1:1;
1594c5aa59e8SDavid Daney 		uint64_t oob2:1;
1595c5aa59e8SDavid Daney 		uint64_t oob3:1;
1596c5aa59e8SDavid Daney 		uint64_t l2tsec:1;
1597c5aa59e8SDavid Daney 		uint64_t l2tded:1;
1598c5aa59e8SDavid Daney 		uint64_t l2dsec:1;
1599c5aa59e8SDavid Daney 		uint64_t l2dded:1;
1600c5aa59e8SDavid Daney 		uint64_t lck:1;
1601c5aa59e8SDavid Daney 		uint64_t lck2:1;
1602c5aa59e8SDavid Daney 		uint64_t reserved_9_63:55;
1603c5aa59e8SDavid Daney #endif
160454293ec3SDavid Daney 	} s;
160554293ec3SDavid Daney 	struct cvmx_l2c_int_stat_s cn52xx;
160654293ec3SDavid Daney 	struct cvmx_l2c_int_stat_s cn52xxp1;
160754293ec3SDavid Daney 	struct cvmx_l2c_int_stat_s cn56xx;
160854293ec3SDavid Daney 	struct cvmx_l2c_int_stat_s cn56xxp1;
160954293ec3SDavid Daney };
161054293ec3SDavid Daney 
1611aa32a955SDavid Daney union cvmx_l2c_iocx_pfc {
1612aa32a955SDavid Daney 	uint64_t u64;
1613aa32a955SDavid Daney 	struct cvmx_l2c_iocx_pfc_s {
1614c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
1615aa32a955SDavid Daney 		uint64_t count:64;
1616c5aa59e8SDavid Daney #else
1617c5aa59e8SDavid Daney 		uint64_t count:64;
1618c5aa59e8SDavid Daney #endif
1619aa32a955SDavid Daney 	} s;
1620c5aa59e8SDavid Daney 	struct cvmx_l2c_iocx_pfc_s cn61xx;
1621aa32a955SDavid Daney 	struct cvmx_l2c_iocx_pfc_s cn63xx;
1622aa32a955SDavid Daney 	struct cvmx_l2c_iocx_pfc_s cn63xxp1;
1623c5aa59e8SDavid Daney 	struct cvmx_l2c_iocx_pfc_s cn66xx;
1624c5aa59e8SDavid Daney 	struct cvmx_l2c_iocx_pfc_s cn68xx;
1625c5aa59e8SDavid Daney 	struct cvmx_l2c_iocx_pfc_s cn68xxp1;
1626c5aa59e8SDavid Daney 	struct cvmx_l2c_iocx_pfc_s cnf71xx;
1627aa32a955SDavid Daney };
1628aa32a955SDavid Daney 
1629aa32a955SDavid Daney union cvmx_l2c_iorx_pfc {
1630aa32a955SDavid Daney 	uint64_t u64;
1631aa32a955SDavid Daney 	struct cvmx_l2c_iorx_pfc_s {
1632c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
1633aa32a955SDavid Daney 		uint64_t count:64;
1634c5aa59e8SDavid Daney #else
1635c5aa59e8SDavid Daney 		uint64_t count:64;
1636c5aa59e8SDavid Daney #endif
1637aa32a955SDavid Daney 	} s;
1638c5aa59e8SDavid Daney 	struct cvmx_l2c_iorx_pfc_s cn61xx;
1639aa32a955SDavid Daney 	struct cvmx_l2c_iorx_pfc_s cn63xx;
1640aa32a955SDavid Daney 	struct cvmx_l2c_iorx_pfc_s cn63xxp1;
1641c5aa59e8SDavid Daney 	struct cvmx_l2c_iorx_pfc_s cn66xx;
1642c5aa59e8SDavid Daney 	struct cvmx_l2c_iorx_pfc_s cn68xx;
1643c5aa59e8SDavid Daney 	struct cvmx_l2c_iorx_pfc_s cn68xxp1;
1644c5aa59e8SDavid Daney 	struct cvmx_l2c_iorx_pfc_s cnf71xx;
1645aa32a955SDavid Daney };
1646aa32a955SDavid Daney 
164754293ec3SDavid Daney union cvmx_l2c_lckbase {
164854293ec3SDavid Daney 	uint64_t u64;
164954293ec3SDavid Daney 	struct cvmx_l2c_lckbase_s {
1650c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
165154293ec3SDavid Daney 		uint64_t reserved_31_63:33;
165254293ec3SDavid Daney 		uint64_t lck_base:27;
165354293ec3SDavid Daney 		uint64_t reserved_1_3:3;
165454293ec3SDavid Daney 		uint64_t lck_ena:1;
1655c5aa59e8SDavid Daney #else
1656c5aa59e8SDavid Daney 		uint64_t lck_ena:1;
1657c5aa59e8SDavid Daney 		uint64_t reserved_1_3:3;
1658c5aa59e8SDavid Daney 		uint64_t lck_base:27;
1659c5aa59e8SDavid Daney 		uint64_t reserved_31_63:33;
1660c5aa59e8SDavid Daney #endif
166154293ec3SDavid Daney 	} s;
166254293ec3SDavid Daney 	struct cvmx_l2c_lckbase_s cn30xx;
166354293ec3SDavid Daney 	struct cvmx_l2c_lckbase_s cn31xx;
166454293ec3SDavid Daney 	struct cvmx_l2c_lckbase_s cn38xx;
166554293ec3SDavid Daney 	struct cvmx_l2c_lckbase_s cn38xxp2;
166654293ec3SDavid Daney 	struct cvmx_l2c_lckbase_s cn50xx;
166754293ec3SDavid Daney 	struct cvmx_l2c_lckbase_s cn52xx;
166854293ec3SDavid Daney 	struct cvmx_l2c_lckbase_s cn52xxp1;
166954293ec3SDavid Daney 	struct cvmx_l2c_lckbase_s cn56xx;
167054293ec3SDavid Daney 	struct cvmx_l2c_lckbase_s cn56xxp1;
167154293ec3SDavid Daney 	struct cvmx_l2c_lckbase_s cn58xx;
167254293ec3SDavid Daney 	struct cvmx_l2c_lckbase_s cn58xxp1;
167354293ec3SDavid Daney };
167454293ec3SDavid Daney 
167554293ec3SDavid Daney union cvmx_l2c_lckoff {
167654293ec3SDavid Daney 	uint64_t u64;
167754293ec3SDavid Daney 	struct cvmx_l2c_lckoff_s {
1678c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
167954293ec3SDavid Daney 		uint64_t reserved_10_63:54;
168054293ec3SDavid Daney 		uint64_t lck_offset:10;
1681c5aa59e8SDavid Daney #else
1682c5aa59e8SDavid Daney 		uint64_t lck_offset:10;
1683c5aa59e8SDavid Daney 		uint64_t reserved_10_63:54;
1684c5aa59e8SDavid Daney #endif
168554293ec3SDavid Daney 	} s;
168654293ec3SDavid Daney 	struct cvmx_l2c_lckoff_s cn30xx;
168754293ec3SDavid Daney 	struct cvmx_l2c_lckoff_s cn31xx;
168854293ec3SDavid Daney 	struct cvmx_l2c_lckoff_s cn38xx;
168954293ec3SDavid Daney 	struct cvmx_l2c_lckoff_s cn38xxp2;
169054293ec3SDavid Daney 	struct cvmx_l2c_lckoff_s cn50xx;
169154293ec3SDavid Daney 	struct cvmx_l2c_lckoff_s cn52xx;
169254293ec3SDavid Daney 	struct cvmx_l2c_lckoff_s cn52xxp1;
169354293ec3SDavid Daney 	struct cvmx_l2c_lckoff_s cn56xx;
169454293ec3SDavid Daney 	struct cvmx_l2c_lckoff_s cn56xxp1;
169554293ec3SDavid Daney 	struct cvmx_l2c_lckoff_s cn58xx;
169654293ec3SDavid Daney 	struct cvmx_l2c_lckoff_s cn58xxp1;
169754293ec3SDavid Daney };
169854293ec3SDavid Daney 
169954293ec3SDavid Daney union cvmx_l2c_lfb0 {
170054293ec3SDavid Daney 	uint64_t u64;
170154293ec3SDavid Daney 	struct cvmx_l2c_lfb0_s {
1702c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
170354293ec3SDavid Daney 		uint64_t reserved_32_63:32;
170454293ec3SDavid Daney 		uint64_t stcpnd:1;
170554293ec3SDavid Daney 		uint64_t stpnd:1;
170654293ec3SDavid Daney 		uint64_t stinv:1;
170754293ec3SDavid Daney 		uint64_t stcfl:1;
170854293ec3SDavid Daney 		uint64_t vam:1;
170954293ec3SDavid Daney 		uint64_t inxt:4;
171054293ec3SDavid Daney 		uint64_t itl:1;
171154293ec3SDavid Daney 		uint64_t ihd:1;
171254293ec3SDavid Daney 		uint64_t set:3;
171354293ec3SDavid Daney 		uint64_t vabnum:4;
171454293ec3SDavid Daney 		uint64_t sid:9;
171554293ec3SDavid Daney 		uint64_t cmd:4;
171654293ec3SDavid Daney 		uint64_t vld:1;
1717c5aa59e8SDavid Daney #else
1718c5aa59e8SDavid Daney 		uint64_t vld:1;
1719c5aa59e8SDavid Daney 		uint64_t cmd:4;
1720c5aa59e8SDavid Daney 		uint64_t sid:9;
1721c5aa59e8SDavid Daney 		uint64_t vabnum:4;
1722c5aa59e8SDavid Daney 		uint64_t set:3;
1723c5aa59e8SDavid Daney 		uint64_t ihd:1;
1724c5aa59e8SDavid Daney 		uint64_t itl:1;
1725c5aa59e8SDavid Daney 		uint64_t inxt:4;
1726c5aa59e8SDavid Daney 		uint64_t vam:1;
1727c5aa59e8SDavid Daney 		uint64_t stcfl:1;
1728c5aa59e8SDavid Daney 		uint64_t stinv:1;
1729c5aa59e8SDavid Daney 		uint64_t stpnd:1;
1730c5aa59e8SDavid Daney 		uint64_t stcpnd:1;
1731c5aa59e8SDavid Daney 		uint64_t reserved_32_63:32;
1732c5aa59e8SDavid Daney #endif
173354293ec3SDavid Daney 	} s;
173454293ec3SDavid Daney 	struct cvmx_l2c_lfb0_cn30xx {
1735c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
173654293ec3SDavid Daney 		uint64_t reserved_32_63:32;
173754293ec3SDavid Daney 		uint64_t stcpnd:1;
173854293ec3SDavid Daney 		uint64_t stpnd:1;
173954293ec3SDavid Daney 		uint64_t stinv:1;
174054293ec3SDavid Daney 		uint64_t stcfl:1;
174154293ec3SDavid Daney 		uint64_t vam:1;
174254293ec3SDavid Daney 		uint64_t reserved_25_26:2;
174354293ec3SDavid Daney 		uint64_t inxt:2;
174454293ec3SDavid Daney 		uint64_t itl:1;
174554293ec3SDavid Daney 		uint64_t ihd:1;
174654293ec3SDavid Daney 		uint64_t reserved_20_20:1;
174754293ec3SDavid Daney 		uint64_t set:2;
174854293ec3SDavid Daney 		uint64_t reserved_16_17:2;
174954293ec3SDavid Daney 		uint64_t vabnum:2;
175054293ec3SDavid Daney 		uint64_t sid:9;
175154293ec3SDavid Daney 		uint64_t cmd:4;
175254293ec3SDavid Daney 		uint64_t vld:1;
1753c5aa59e8SDavid Daney #else
1754c5aa59e8SDavid Daney 		uint64_t vld:1;
1755c5aa59e8SDavid Daney 		uint64_t cmd:4;
1756c5aa59e8SDavid Daney 		uint64_t sid:9;
1757c5aa59e8SDavid Daney 		uint64_t vabnum:2;
1758c5aa59e8SDavid Daney 		uint64_t reserved_16_17:2;
1759c5aa59e8SDavid Daney 		uint64_t set:2;
1760c5aa59e8SDavid Daney 		uint64_t reserved_20_20:1;
1761c5aa59e8SDavid Daney 		uint64_t ihd:1;
1762c5aa59e8SDavid Daney 		uint64_t itl:1;
1763c5aa59e8SDavid Daney 		uint64_t inxt:2;
1764c5aa59e8SDavid Daney 		uint64_t reserved_25_26:2;
1765c5aa59e8SDavid Daney 		uint64_t vam:1;
1766c5aa59e8SDavid Daney 		uint64_t stcfl:1;
1767c5aa59e8SDavid Daney 		uint64_t stinv:1;
1768c5aa59e8SDavid Daney 		uint64_t stpnd:1;
1769c5aa59e8SDavid Daney 		uint64_t stcpnd:1;
1770c5aa59e8SDavid Daney 		uint64_t reserved_32_63:32;
1771c5aa59e8SDavid Daney #endif
177254293ec3SDavid Daney 	} cn30xx;
177354293ec3SDavid Daney 	struct cvmx_l2c_lfb0_cn31xx {
1774c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
177554293ec3SDavid Daney 		uint64_t reserved_32_63:32;
177654293ec3SDavid Daney 		uint64_t stcpnd:1;
177754293ec3SDavid Daney 		uint64_t stpnd:1;
177854293ec3SDavid Daney 		uint64_t stinv:1;
177954293ec3SDavid Daney 		uint64_t stcfl:1;
178054293ec3SDavid Daney 		uint64_t vam:1;
178154293ec3SDavid Daney 		uint64_t reserved_26_26:1;
178254293ec3SDavid Daney 		uint64_t inxt:3;
178354293ec3SDavid Daney 		uint64_t itl:1;
178454293ec3SDavid Daney 		uint64_t ihd:1;
178554293ec3SDavid Daney 		uint64_t reserved_20_20:1;
178654293ec3SDavid Daney 		uint64_t set:2;
178754293ec3SDavid Daney 		uint64_t reserved_17_17:1;
178854293ec3SDavid Daney 		uint64_t vabnum:3;
178954293ec3SDavid Daney 		uint64_t sid:9;
179054293ec3SDavid Daney 		uint64_t cmd:4;
179154293ec3SDavid Daney 		uint64_t vld:1;
1792c5aa59e8SDavid Daney #else
1793c5aa59e8SDavid Daney 		uint64_t vld:1;
1794c5aa59e8SDavid Daney 		uint64_t cmd:4;
1795c5aa59e8SDavid Daney 		uint64_t sid:9;
1796c5aa59e8SDavid Daney 		uint64_t vabnum:3;
1797c5aa59e8SDavid Daney 		uint64_t reserved_17_17:1;
1798c5aa59e8SDavid Daney 		uint64_t set:2;
1799c5aa59e8SDavid Daney 		uint64_t reserved_20_20:1;
1800c5aa59e8SDavid Daney 		uint64_t ihd:1;
1801c5aa59e8SDavid Daney 		uint64_t itl:1;
1802c5aa59e8SDavid Daney 		uint64_t inxt:3;
1803c5aa59e8SDavid Daney 		uint64_t reserved_26_26:1;
1804c5aa59e8SDavid Daney 		uint64_t vam:1;
1805c5aa59e8SDavid Daney 		uint64_t stcfl:1;
1806c5aa59e8SDavid Daney 		uint64_t stinv:1;
1807c5aa59e8SDavid Daney 		uint64_t stpnd:1;
1808c5aa59e8SDavid Daney 		uint64_t stcpnd:1;
1809c5aa59e8SDavid Daney 		uint64_t reserved_32_63:32;
1810c5aa59e8SDavid Daney #endif
181154293ec3SDavid Daney 	} cn31xx;
181254293ec3SDavid Daney 	struct cvmx_l2c_lfb0_s cn38xx;
181354293ec3SDavid Daney 	struct cvmx_l2c_lfb0_s cn38xxp2;
181454293ec3SDavid Daney 	struct cvmx_l2c_lfb0_cn50xx {
1815c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
181654293ec3SDavid Daney 		uint64_t reserved_32_63:32;
181754293ec3SDavid Daney 		uint64_t stcpnd:1;
181854293ec3SDavid Daney 		uint64_t stpnd:1;
181954293ec3SDavid Daney 		uint64_t stinv:1;
182054293ec3SDavid Daney 		uint64_t stcfl:1;
182154293ec3SDavid Daney 		uint64_t vam:1;
182254293ec3SDavid Daney 		uint64_t reserved_26_26:1;
182354293ec3SDavid Daney 		uint64_t inxt:3;
182454293ec3SDavid Daney 		uint64_t itl:1;
182554293ec3SDavid Daney 		uint64_t ihd:1;
182654293ec3SDavid Daney 		uint64_t set:3;
182754293ec3SDavid Daney 		uint64_t reserved_17_17:1;
182854293ec3SDavid Daney 		uint64_t vabnum:3;
182954293ec3SDavid Daney 		uint64_t sid:9;
183054293ec3SDavid Daney 		uint64_t cmd:4;
183154293ec3SDavid Daney 		uint64_t vld:1;
1832c5aa59e8SDavid Daney #else
1833c5aa59e8SDavid Daney 		uint64_t vld:1;
1834c5aa59e8SDavid Daney 		uint64_t cmd:4;
1835c5aa59e8SDavid Daney 		uint64_t sid:9;
1836c5aa59e8SDavid Daney 		uint64_t vabnum:3;
1837c5aa59e8SDavid Daney 		uint64_t reserved_17_17:1;
1838c5aa59e8SDavid Daney 		uint64_t set:3;
1839c5aa59e8SDavid Daney 		uint64_t ihd:1;
1840c5aa59e8SDavid Daney 		uint64_t itl:1;
1841c5aa59e8SDavid Daney 		uint64_t inxt:3;
1842c5aa59e8SDavid Daney 		uint64_t reserved_26_26:1;
1843c5aa59e8SDavid Daney 		uint64_t vam:1;
1844c5aa59e8SDavid Daney 		uint64_t stcfl:1;
1845c5aa59e8SDavid Daney 		uint64_t stinv:1;
1846c5aa59e8SDavid Daney 		uint64_t stpnd:1;
1847c5aa59e8SDavid Daney 		uint64_t stcpnd:1;
1848c5aa59e8SDavid Daney 		uint64_t reserved_32_63:32;
1849c5aa59e8SDavid Daney #endif
185054293ec3SDavid Daney 	} cn50xx;
185154293ec3SDavid Daney 	struct cvmx_l2c_lfb0_cn50xx cn52xx;
185254293ec3SDavid Daney 	struct cvmx_l2c_lfb0_cn50xx cn52xxp1;
185354293ec3SDavid Daney 	struct cvmx_l2c_lfb0_s cn56xx;
185454293ec3SDavid Daney 	struct cvmx_l2c_lfb0_s cn56xxp1;
185554293ec3SDavid Daney 	struct cvmx_l2c_lfb0_s cn58xx;
185654293ec3SDavid Daney 	struct cvmx_l2c_lfb0_s cn58xxp1;
185754293ec3SDavid Daney };
185854293ec3SDavid Daney 
185954293ec3SDavid Daney union cvmx_l2c_lfb1 {
186054293ec3SDavid Daney 	uint64_t u64;
186154293ec3SDavid Daney 	struct cvmx_l2c_lfb1_s {
1862c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
186354293ec3SDavid Daney 		uint64_t reserved_19_63:45;
186454293ec3SDavid Daney 		uint64_t dsgoing:1;
186554293ec3SDavid Daney 		uint64_t bid:2;
186654293ec3SDavid Daney 		uint64_t wtrsp:1;
186754293ec3SDavid Daney 		uint64_t wtdw:1;
186854293ec3SDavid Daney 		uint64_t wtdq:1;
186954293ec3SDavid Daney 		uint64_t wtwhp:1;
187054293ec3SDavid Daney 		uint64_t wtwhf:1;
187154293ec3SDavid Daney 		uint64_t wtwrm:1;
187254293ec3SDavid Daney 		uint64_t wtstm:1;
187354293ec3SDavid Daney 		uint64_t wtrda:1;
187454293ec3SDavid Daney 		uint64_t wtstdt:1;
187554293ec3SDavid Daney 		uint64_t wtstrsp:1;
187654293ec3SDavid Daney 		uint64_t wtstrsc:1;
187754293ec3SDavid Daney 		uint64_t wtvtm:1;
187854293ec3SDavid Daney 		uint64_t wtmfl:1;
187954293ec3SDavid Daney 		uint64_t prbrty:1;
188054293ec3SDavid Daney 		uint64_t wtprb:1;
188154293ec3SDavid Daney 		uint64_t vld:1;
1882c5aa59e8SDavid Daney #else
1883c5aa59e8SDavid Daney 		uint64_t vld:1;
1884c5aa59e8SDavid Daney 		uint64_t wtprb:1;
1885c5aa59e8SDavid Daney 		uint64_t prbrty:1;
1886c5aa59e8SDavid Daney 		uint64_t wtmfl:1;
1887c5aa59e8SDavid Daney 		uint64_t wtvtm:1;
1888c5aa59e8SDavid Daney 		uint64_t wtstrsc:1;
1889c5aa59e8SDavid Daney 		uint64_t wtstrsp:1;
1890c5aa59e8SDavid Daney 		uint64_t wtstdt:1;
1891c5aa59e8SDavid Daney 		uint64_t wtrda:1;
1892c5aa59e8SDavid Daney 		uint64_t wtstm:1;
1893c5aa59e8SDavid Daney 		uint64_t wtwrm:1;
1894c5aa59e8SDavid Daney 		uint64_t wtwhf:1;
1895c5aa59e8SDavid Daney 		uint64_t wtwhp:1;
1896c5aa59e8SDavid Daney 		uint64_t wtdq:1;
1897c5aa59e8SDavid Daney 		uint64_t wtdw:1;
1898c5aa59e8SDavid Daney 		uint64_t wtrsp:1;
1899c5aa59e8SDavid Daney 		uint64_t bid:2;
1900c5aa59e8SDavid Daney 		uint64_t dsgoing:1;
1901c5aa59e8SDavid Daney 		uint64_t reserved_19_63:45;
1902c5aa59e8SDavid Daney #endif
190354293ec3SDavid Daney 	} s;
190454293ec3SDavid Daney 	struct cvmx_l2c_lfb1_s cn30xx;
190554293ec3SDavid Daney 	struct cvmx_l2c_lfb1_s cn31xx;
190654293ec3SDavid Daney 	struct cvmx_l2c_lfb1_s cn38xx;
190754293ec3SDavid Daney 	struct cvmx_l2c_lfb1_s cn38xxp2;
190854293ec3SDavid Daney 	struct cvmx_l2c_lfb1_s cn50xx;
190954293ec3SDavid Daney 	struct cvmx_l2c_lfb1_s cn52xx;
191054293ec3SDavid Daney 	struct cvmx_l2c_lfb1_s cn52xxp1;
191154293ec3SDavid Daney 	struct cvmx_l2c_lfb1_s cn56xx;
191254293ec3SDavid Daney 	struct cvmx_l2c_lfb1_s cn56xxp1;
191354293ec3SDavid Daney 	struct cvmx_l2c_lfb1_s cn58xx;
191454293ec3SDavid Daney 	struct cvmx_l2c_lfb1_s cn58xxp1;
191554293ec3SDavid Daney };
191654293ec3SDavid Daney 
191754293ec3SDavid Daney union cvmx_l2c_lfb2 {
191854293ec3SDavid Daney 	uint64_t u64;
191954293ec3SDavid Daney 	struct cvmx_l2c_lfb2_s {
1920c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
192154293ec3SDavid Daney 		uint64_t reserved_0_63:64;
1922c5aa59e8SDavid Daney #else
1923c5aa59e8SDavid Daney 		uint64_t reserved_0_63:64;
1924c5aa59e8SDavid Daney #endif
192554293ec3SDavid Daney 	} s;
192654293ec3SDavid Daney 	struct cvmx_l2c_lfb2_cn30xx {
1927c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
192854293ec3SDavid Daney 		uint64_t reserved_27_63:37;
192954293ec3SDavid Daney 		uint64_t lfb_tag:19;
193054293ec3SDavid Daney 		uint64_t lfb_idx:8;
1931c5aa59e8SDavid Daney #else
1932c5aa59e8SDavid Daney 		uint64_t lfb_idx:8;
1933c5aa59e8SDavid Daney 		uint64_t lfb_tag:19;
1934c5aa59e8SDavid Daney 		uint64_t reserved_27_63:37;
1935c5aa59e8SDavid Daney #endif
193654293ec3SDavid Daney 	} cn30xx;
193754293ec3SDavid Daney 	struct cvmx_l2c_lfb2_cn31xx {
1938c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
193954293ec3SDavid Daney 		uint64_t reserved_27_63:37;
194054293ec3SDavid Daney 		uint64_t lfb_tag:17;
194154293ec3SDavid Daney 		uint64_t lfb_idx:10;
1942c5aa59e8SDavid Daney #else
1943c5aa59e8SDavid Daney 		uint64_t lfb_idx:10;
1944c5aa59e8SDavid Daney 		uint64_t lfb_tag:17;
1945c5aa59e8SDavid Daney 		uint64_t reserved_27_63:37;
1946c5aa59e8SDavid Daney #endif
194754293ec3SDavid Daney 	} cn31xx;
194854293ec3SDavid Daney 	struct cvmx_l2c_lfb2_cn31xx cn38xx;
194954293ec3SDavid Daney 	struct cvmx_l2c_lfb2_cn31xx cn38xxp2;
195054293ec3SDavid Daney 	struct cvmx_l2c_lfb2_cn50xx {
1951c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
195254293ec3SDavid Daney 		uint64_t reserved_27_63:37;
195354293ec3SDavid Daney 		uint64_t lfb_tag:20;
195454293ec3SDavid Daney 		uint64_t lfb_idx:7;
1955c5aa59e8SDavid Daney #else
1956c5aa59e8SDavid Daney 		uint64_t lfb_idx:7;
1957c5aa59e8SDavid Daney 		uint64_t lfb_tag:20;
1958c5aa59e8SDavid Daney 		uint64_t reserved_27_63:37;
1959c5aa59e8SDavid Daney #endif
196054293ec3SDavid Daney 	} cn50xx;
196154293ec3SDavid Daney 	struct cvmx_l2c_lfb2_cn52xx {
1962c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
196354293ec3SDavid Daney 		uint64_t reserved_27_63:37;
196454293ec3SDavid Daney 		uint64_t lfb_tag:18;
196554293ec3SDavid Daney 		uint64_t lfb_idx:9;
1966c5aa59e8SDavid Daney #else
1967c5aa59e8SDavid Daney 		uint64_t lfb_idx:9;
1968c5aa59e8SDavid Daney 		uint64_t lfb_tag:18;
1969c5aa59e8SDavid Daney 		uint64_t reserved_27_63:37;
1970c5aa59e8SDavid Daney #endif
197154293ec3SDavid Daney 	} cn52xx;
197254293ec3SDavid Daney 	struct cvmx_l2c_lfb2_cn52xx cn52xxp1;
197354293ec3SDavid Daney 	struct cvmx_l2c_lfb2_cn56xx {
1974c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
197554293ec3SDavid Daney 		uint64_t reserved_27_63:37;
197654293ec3SDavid Daney 		uint64_t lfb_tag:16;
197754293ec3SDavid Daney 		uint64_t lfb_idx:11;
1978c5aa59e8SDavid Daney #else
1979c5aa59e8SDavid Daney 		uint64_t lfb_idx:11;
1980c5aa59e8SDavid Daney 		uint64_t lfb_tag:16;
1981c5aa59e8SDavid Daney 		uint64_t reserved_27_63:37;
1982c5aa59e8SDavid Daney #endif
198354293ec3SDavid Daney 	} cn56xx;
198454293ec3SDavid Daney 	struct cvmx_l2c_lfb2_cn56xx cn56xxp1;
198554293ec3SDavid Daney 	struct cvmx_l2c_lfb2_cn56xx cn58xx;
198654293ec3SDavid Daney 	struct cvmx_l2c_lfb2_cn56xx cn58xxp1;
198754293ec3SDavid Daney };
198854293ec3SDavid Daney 
198954293ec3SDavid Daney union cvmx_l2c_lfb3 {
199054293ec3SDavid Daney 	uint64_t u64;
199154293ec3SDavid Daney 	struct cvmx_l2c_lfb3_s {
1992c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
199354293ec3SDavid Daney 		uint64_t reserved_5_63:59;
199454293ec3SDavid Daney 		uint64_t stpartdis:1;
199554293ec3SDavid Daney 		uint64_t lfb_hwm:4;
1996c5aa59e8SDavid Daney #else
1997c5aa59e8SDavid Daney 		uint64_t lfb_hwm:4;
1998c5aa59e8SDavid Daney 		uint64_t stpartdis:1;
1999c5aa59e8SDavid Daney 		uint64_t reserved_5_63:59;
2000c5aa59e8SDavid Daney #endif
200154293ec3SDavid Daney 	} s;
200254293ec3SDavid Daney 	struct cvmx_l2c_lfb3_cn30xx {
2003c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
200454293ec3SDavid Daney 		uint64_t reserved_5_63:59;
200554293ec3SDavid Daney 		uint64_t stpartdis:1;
200654293ec3SDavid Daney 		uint64_t reserved_2_3:2;
200754293ec3SDavid Daney 		uint64_t lfb_hwm:2;
2008c5aa59e8SDavid Daney #else
2009c5aa59e8SDavid Daney 		uint64_t lfb_hwm:2;
2010c5aa59e8SDavid Daney 		uint64_t reserved_2_3:2;
2011c5aa59e8SDavid Daney 		uint64_t stpartdis:1;
2012c5aa59e8SDavid Daney 		uint64_t reserved_5_63:59;
2013c5aa59e8SDavid Daney #endif
201454293ec3SDavid Daney 	} cn30xx;
201554293ec3SDavid Daney 	struct cvmx_l2c_lfb3_cn31xx {
2016c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
201754293ec3SDavid Daney 		uint64_t reserved_5_63:59;
201854293ec3SDavid Daney 		uint64_t stpartdis:1;
201954293ec3SDavid Daney 		uint64_t reserved_3_3:1;
202054293ec3SDavid Daney 		uint64_t lfb_hwm:3;
2021c5aa59e8SDavid Daney #else
2022c5aa59e8SDavid Daney 		uint64_t lfb_hwm:3;
2023c5aa59e8SDavid Daney 		uint64_t reserved_3_3:1;
2024c5aa59e8SDavid Daney 		uint64_t stpartdis:1;
2025c5aa59e8SDavid Daney 		uint64_t reserved_5_63:59;
2026c5aa59e8SDavid Daney #endif
202754293ec3SDavid Daney 	} cn31xx;
202854293ec3SDavid Daney 	struct cvmx_l2c_lfb3_s cn38xx;
202954293ec3SDavid Daney 	struct cvmx_l2c_lfb3_s cn38xxp2;
203054293ec3SDavid Daney 	struct cvmx_l2c_lfb3_cn31xx cn50xx;
203154293ec3SDavid Daney 	struct cvmx_l2c_lfb3_cn31xx cn52xx;
203254293ec3SDavid Daney 	struct cvmx_l2c_lfb3_cn31xx cn52xxp1;
203354293ec3SDavid Daney 	struct cvmx_l2c_lfb3_s cn56xx;
203454293ec3SDavid Daney 	struct cvmx_l2c_lfb3_s cn56xxp1;
203554293ec3SDavid Daney 	struct cvmx_l2c_lfb3_s cn58xx;
203654293ec3SDavid Daney 	struct cvmx_l2c_lfb3_s cn58xxp1;
203754293ec3SDavid Daney };
203854293ec3SDavid Daney 
203954293ec3SDavid Daney union cvmx_l2c_oob {
204054293ec3SDavid Daney 	uint64_t u64;
204154293ec3SDavid Daney 	struct cvmx_l2c_oob_s {
2042c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
204354293ec3SDavid Daney 		uint64_t reserved_2_63:62;
204454293ec3SDavid Daney 		uint64_t dwbena:1;
204554293ec3SDavid Daney 		uint64_t stena:1;
2046c5aa59e8SDavid Daney #else
2047c5aa59e8SDavid Daney 		uint64_t stena:1;
2048c5aa59e8SDavid Daney 		uint64_t dwbena:1;
2049c5aa59e8SDavid Daney 		uint64_t reserved_2_63:62;
2050c5aa59e8SDavid Daney #endif
205154293ec3SDavid Daney 	} s;
205254293ec3SDavid Daney 	struct cvmx_l2c_oob_s cn52xx;
205354293ec3SDavid Daney 	struct cvmx_l2c_oob_s cn52xxp1;
205454293ec3SDavid Daney 	struct cvmx_l2c_oob_s cn56xx;
205554293ec3SDavid Daney 	struct cvmx_l2c_oob_s cn56xxp1;
205654293ec3SDavid Daney };
205754293ec3SDavid Daney 
205854293ec3SDavid Daney union cvmx_l2c_oob1 {
205954293ec3SDavid Daney 	uint64_t u64;
206054293ec3SDavid Daney 	struct cvmx_l2c_oob1_s {
2061c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
206254293ec3SDavid Daney 		uint64_t fadr:27;
206354293ec3SDavid Daney 		uint64_t fsrc:1;
206454293ec3SDavid Daney 		uint64_t reserved_34_35:2;
206554293ec3SDavid Daney 		uint64_t sadr:14;
206654293ec3SDavid Daney 		uint64_t reserved_14_19:6;
206754293ec3SDavid Daney 		uint64_t size:14;
2068c5aa59e8SDavid Daney #else
2069c5aa59e8SDavid Daney 		uint64_t size:14;
2070c5aa59e8SDavid Daney 		uint64_t reserved_14_19:6;
2071c5aa59e8SDavid Daney 		uint64_t sadr:14;
2072c5aa59e8SDavid Daney 		uint64_t reserved_34_35:2;
2073c5aa59e8SDavid Daney 		uint64_t fsrc:1;
2074c5aa59e8SDavid Daney 		uint64_t fadr:27;
2075c5aa59e8SDavid Daney #endif
207654293ec3SDavid Daney 	} s;
207754293ec3SDavid Daney 	struct cvmx_l2c_oob1_s cn52xx;
207854293ec3SDavid Daney 	struct cvmx_l2c_oob1_s cn52xxp1;
207954293ec3SDavid Daney 	struct cvmx_l2c_oob1_s cn56xx;
208054293ec3SDavid Daney 	struct cvmx_l2c_oob1_s cn56xxp1;
208154293ec3SDavid Daney };
208254293ec3SDavid Daney 
208354293ec3SDavid Daney union cvmx_l2c_oob2 {
208454293ec3SDavid Daney 	uint64_t u64;
208554293ec3SDavid Daney 	struct cvmx_l2c_oob2_s {
2086c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
208754293ec3SDavid Daney 		uint64_t fadr:27;
208854293ec3SDavid Daney 		uint64_t fsrc:1;
208954293ec3SDavid Daney 		uint64_t reserved_34_35:2;
209054293ec3SDavid Daney 		uint64_t sadr:14;
209154293ec3SDavid Daney 		uint64_t reserved_14_19:6;
209254293ec3SDavid Daney 		uint64_t size:14;
2093c5aa59e8SDavid Daney #else
2094c5aa59e8SDavid Daney 		uint64_t size:14;
2095c5aa59e8SDavid Daney 		uint64_t reserved_14_19:6;
2096c5aa59e8SDavid Daney 		uint64_t sadr:14;
2097c5aa59e8SDavid Daney 		uint64_t reserved_34_35:2;
2098c5aa59e8SDavid Daney 		uint64_t fsrc:1;
2099c5aa59e8SDavid Daney 		uint64_t fadr:27;
2100c5aa59e8SDavid Daney #endif
210154293ec3SDavid Daney 	} s;
210254293ec3SDavid Daney 	struct cvmx_l2c_oob2_s cn52xx;
210354293ec3SDavid Daney 	struct cvmx_l2c_oob2_s cn52xxp1;
210454293ec3SDavid Daney 	struct cvmx_l2c_oob2_s cn56xx;
210554293ec3SDavid Daney 	struct cvmx_l2c_oob2_s cn56xxp1;
210654293ec3SDavid Daney };
210754293ec3SDavid Daney 
210854293ec3SDavid Daney union cvmx_l2c_oob3 {
210954293ec3SDavid Daney 	uint64_t u64;
211054293ec3SDavid Daney 	struct cvmx_l2c_oob3_s {
2111c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
211254293ec3SDavid Daney 		uint64_t fadr:27;
211354293ec3SDavid Daney 		uint64_t fsrc:1;
211454293ec3SDavid Daney 		uint64_t reserved_34_35:2;
211554293ec3SDavid Daney 		uint64_t sadr:14;
211654293ec3SDavid Daney 		uint64_t reserved_14_19:6;
211754293ec3SDavid Daney 		uint64_t size:14;
2118c5aa59e8SDavid Daney #else
2119c5aa59e8SDavid Daney 		uint64_t size:14;
2120c5aa59e8SDavid Daney 		uint64_t reserved_14_19:6;
2121c5aa59e8SDavid Daney 		uint64_t sadr:14;
2122c5aa59e8SDavid Daney 		uint64_t reserved_34_35:2;
2123c5aa59e8SDavid Daney 		uint64_t fsrc:1;
2124c5aa59e8SDavid Daney 		uint64_t fadr:27;
2125c5aa59e8SDavid Daney #endif
212654293ec3SDavid Daney 	} s;
212754293ec3SDavid Daney 	struct cvmx_l2c_oob3_s cn52xx;
212854293ec3SDavid Daney 	struct cvmx_l2c_oob3_s cn52xxp1;
212954293ec3SDavid Daney 	struct cvmx_l2c_oob3_s cn56xx;
213054293ec3SDavid Daney 	struct cvmx_l2c_oob3_s cn56xxp1;
213154293ec3SDavid Daney };
213254293ec3SDavid Daney 
213354293ec3SDavid Daney union cvmx_l2c_pfcx {
213454293ec3SDavid Daney 	uint64_t u64;
213554293ec3SDavid Daney 	struct cvmx_l2c_pfcx_s {
2136c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
213754293ec3SDavid Daney 		uint64_t reserved_36_63:28;
213854293ec3SDavid Daney 		uint64_t pfcnt0:36;
2139c5aa59e8SDavid Daney #else
2140c5aa59e8SDavid Daney 		uint64_t pfcnt0:36;
2141c5aa59e8SDavid Daney 		uint64_t reserved_36_63:28;
2142c5aa59e8SDavid Daney #endif
214354293ec3SDavid Daney 	} s;
214454293ec3SDavid Daney 	struct cvmx_l2c_pfcx_s cn30xx;
214554293ec3SDavid Daney 	struct cvmx_l2c_pfcx_s cn31xx;
214654293ec3SDavid Daney 	struct cvmx_l2c_pfcx_s cn38xx;
214754293ec3SDavid Daney 	struct cvmx_l2c_pfcx_s cn38xxp2;
214854293ec3SDavid Daney 	struct cvmx_l2c_pfcx_s cn50xx;
214954293ec3SDavid Daney 	struct cvmx_l2c_pfcx_s cn52xx;
215054293ec3SDavid Daney 	struct cvmx_l2c_pfcx_s cn52xxp1;
215154293ec3SDavid Daney 	struct cvmx_l2c_pfcx_s cn56xx;
215254293ec3SDavid Daney 	struct cvmx_l2c_pfcx_s cn56xxp1;
215354293ec3SDavid Daney 	struct cvmx_l2c_pfcx_s cn58xx;
215454293ec3SDavid Daney 	struct cvmx_l2c_pfcx_s cn58xxp1;
215554293ec3SDavid Daney };
215654293ec3SDavid Daney 
215754293ec3SDavid Daney union cvmx_l2c_pfctl {
215854293ec3SDavid Daney 	uint64_t u64;
215954293ec3SDavid Daney 	struct cvmx_l2c_pfctl_s {
2160c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
216154293ec3SDavid Daney 		uint64_t reserved_36_63:28;
216254293ec3SDavid Daney 		uint64_t cnt3rdclr:1;
216354293ec3SDavid Daney 		uint64_t cnt2rdclr:1;
216454293ec3SDavid Daney 		uint64_t cnt1rdclr:1;
216554293ec3SDavid Daney 		uint64_t cnt0rdclr:1;
216654293ec3SDavid Daney 		uint64_t cnt3ena:1;
216754293ec3SDavid Daney 		uint64_t cnt3clr:1;
216854293ec3SDavid Daney 		uint64_t cnt3sel:6;
216954293ec3SDavid Daney 		uint64_t cnt2ena:1;
217054293ec3SDavid Daney 		uint64_t cnt2clr:1;
217154293ec3SDavid Daney 		uint64_t cnt2sel:6;
217254293ec3SDavid Daney 		uint64_t cnt1ena:1;
217354293ec3SDavid Daney 		uint64_t cnt1clr:1;
217454293ec3SDavid Daney 		uint64_t cnt1sel:6;
217554293ec3SDavid Daney 		uint64_t cnt0ena:1;
217654293ec3SDavid Daney 		uint64_t cnt0clr:1;
217754293ec3SDavid Daney 		uint64_t cnt0sel:6;
2178c5aa59e8SDavid Daney #else
2179c5aa59e8SDavid Daney 		uint64_t cnt0sel:6;
2180c5aa59e8SDavid Daney 		uint64_t cnt0clr:1;
2181c5aa59e8SDavid Daney 		uint64_t cnt0ena:1;
2182c5aa59e8SDavid Daney 		uint64_t cnt1sel:6;
2183c5aa59e8SDavid Daney 		uint64_t cnt1clr:1;
2184c5aa59e8SDavid Daney 		uint64_t cnt1ena:1;
2185c5aa59e8SDavid Daney 		uint64_t cnt2sel:6;
2186c5aa59e8SDavid Daney 		uint64_t cnt2clr:1;
2187c5aa59e8SDavid Daney 		uint64_t cnt2ena:1;
2188c5aa59e8SDavid Daney 		uint64_t cnt3sel:6;
2189c5aa59e8SDavid Daney 		uint64_t cnt3clr:1;
2190c5aa59e8SDavid Daney 		uint64_t cnt3ena:1;
2191c5aa59e8SDavid Daney 		uint64_t cnt0rdclr:1;
2192c5aa59e8SDavid Daney 		uint64_t cnt1rdclr:1;
2193c5aa59e8SDavid Daney 		uint64_t cnt2rdclr:1;
2194c5aa59e8SDavid Daney 		uint64_t cnt3rdclr:1;
2195c5aa59e8SDavid Daney 		uint64_t reserved_36_63:28;
2196c5aa59e8SDavid Daney #endif
219754293ec3SDavid Daney 	} s;
219854293ec3SDavid Daney 	struct cvmx_l2c_pfctl_s cn30xx;
219954293ec3SDavid Daney 	struct cvmx_l2c_pfctl_s cn31xx;
220054293ec3SDavid Daney 	struct cvmx_l2c_pfctl_s cn38xx;
220154293ec3SDavid Daney 	struct cvmx_l2c_pfctl_s cn38xxp2;
220254293ec3SDavid Daney 	struct cvmx_l2c_pfctl_s cn50xx;
220354293ec3SDavid Daney 	struct cvmx_l2c_pfctl_s cn52xx;
220454293ec3SDavid Daney 	struct cvmx_l2c_pfctl_s cn52xxp1;
220554293ec3SDavid Daney 	struct cvmx_l2c_pfctl_s cn56xx;
220654293ec3SDavid Daney 	struct cvmx_l2c_pfctl_s cn56xxp1;
220754293ec3SDavid Daney 	struct cvmx_l2c_pfctl_s cn58xx;
220854293ec3SDavid Daney 	struct cvmx_l2c_pfctl_s cn58xxp1;
220954293ec3SDavid Daney };
221054293ec3SDavid Daney 
221154293ec3SDavid Daney union cvmx_l2c_ppgrp {
221254293ec3SDavid Daney 	uint64_t u64;
221354293ec3SDavid Daney 	struct cvmx_l2c_ppgrp_s {
2214c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
221554293ec3SDavid Daney 		uint64_t reserved_24_63:40;
221654293ec3SDavid Daney 		uint64_t pp11grp:2;
221754293ec3SDavid Daney 		uint64_t pp10grp:2;
221854293ec3SDavid Daney 		uint64_t pp9grp:2;
221954293ec3SDavid Daney 		uint64_t pp8grp:2;
222054293ec3SDavid Daney 		uint64_t pp7grp:2;
222154293ec3SDavid Daney 		uint64_t pp6grp:2;
222254293ec3SDavid Daney 		uint64_t pp5grp:2;
222354293ec3SDavid Daney 		uint64_t pp4grp:2;
222454293ec3SDavid Daney 		uint64_t pp3grp:2;
222554293ec3SDavid Daney 		uint64_t pp2grp:2;
222654293ec3SDavid Daney 		uint64_t pp1grp:2;
222754293ec3SDavid Daney 		uint64_t pp0grp:2;
2228c5aa59e8SDavid Daney #else
2229c5aa59e8SDavid Daney 		uint64_t pp0grp:2;
2230c5aa59e8SDavid Daney 		uint64_t pp1grp:2;
2231c5aa59e8SDavid Daney 		uint64_t pp2grp:2;
2232c5aa59e8SDavid Daney 		uint64_t pp3grp:2;
2233c5aa59e8SDavid Daney 		uint64_t pp4grp:2;
2234c5aa59e8SDavid Daney 		uint64_t pp5grp:2;
2235c5aa59e8SDavid Daney 		uint64_t pp6grp:2;
2236c5aa59e8SDavid Daney 		uint64_t pp7grp:2;
2237c5aa59e8SDavid Daney 		uint64_t pp8grp:2;
2238c5aa59e8SDavid Daney 		uint64_t pp9grp:2;
2239c5aa59e8SDavid Daney 		uint64_t pp10grp:2;
2240c5aa59e8SDavid Daney 		uint64_t pp11grp:2;
2241c5aa59e8SDavid Daney 		uint64_t reserved_24_63:40;
2242c5aa59e8SDavid Daney #endif
224354293ec3SDavid Daney 	} s;
224454293ec3SDavid Daney 	struct cvmx_l2c_ppgrp_cn52xx {
2245c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
224654293ec3SDavid Daney 		uint64_t reserved_8_63:56;
224754293ec3SDavid Daney 		uint64_t pp3grp:2;
224854293ec3SDavid Daney 		uint64_t pp2grp:2;
224954293ec3SDavid Daney 		uint64_t pp1grp:2;
225054293ec3SDavid Daney 		uint64_t pp0grp:2;
2251c5aa59e8SDavid Daney #else
2252c5aa59e8SDavid Daney 		uint64_t pp0grp:2;
2253c5aa59e8SDavid Daney 		uint64_t pp1grp:2;
2254c5aa59e8SDavid Daney 		uint64_t pp2grp:2;
2255c5aa59e8SDavid Daney 		uint64_t pp3grp:2;
2256c5aa59e8SDavid Daney 		uint64_t reserved_8_63:56;
2257c5aa59e8SDavid Daney #endif
225854293ec3SDavid Daney 	} cn52xx;
225954293ec3SDavid Daney 	struct cvmx_l2c_ppgrp_cn52xx cn52xxp1;
226054293ec3SDavid Daney 	struct cvmx_l2c_ppgrp_s cn56xx;
226154293ec3SDavid Daney 	struct cvmx_l2c_ppgrp_s cn56xxp1;
226254293ec3SDavid Daney };
226354293ec3SDavid Daney 
2264aa32a955SDavid Daney union cvmx_l2c_qos_iobx {
2265aa32a955SDavid Daney 	uint64_t u64;
2266aa32a955SDavid Daney 	struct cvmx_l2c_qos_iobx_s {
2267c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
2268c5aa59e8SDavid Daney 		uint64_t reserved_7_63:57;
2269c5aa59e8SDavid Daney 		uint64_t dwblvl:3;
2270c5aa59e8SDavid Daney 		uint64_t reserved_3_3:1;
2271c5aa59e8SDavid Daney 		uint64_t lvl:3;
2272c5aa59e8SDavid Daney #else
2273c5aa59e8SDavid Daney 		uint64_t lvl:3;
2274c5aa59e8SDavid Daney 		uint64_t reserved_3_3:1;
2275c5aa59e8SDavid Daney 		uint64_t dwblvl:3;
2276c5aa59e8SDavid Daney 		uint64_t reserved_7_63:57;
2277c5aa59e8SDavid Daney #endif
2278c5aa59e8SDavid Daney 	} s;
2279c5aa59e8SDavid Daney 	struct cvmx_l2c_qos_iobx_cn61xx {
2280c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
2281aa32a955SDavid Daney 		uint64_t reserved_6_63:58;
2282aa32a955SDavid Daney 		uint64_t dwblvl:2;
2283aa32a955SDavid Daney 		uint64_t reserved_2_3:2;
2284aa32a955SDavid Daney 		uint64_t lvl:2;
2285c5aa59e8SDavid Daney #else
2286c5aa59e8SDavid Daney 		uint64_t lvl:2;
2287c5aa59e8SDavid Daney 		uint64_t reserved_2_3:2;
2288c5aa59e8SDavid Daney 		uint64_t dwblvl:2;
2289c5aa59e8SDavid Daney 		uint64_t reserved_6_63:58;
2290c5aa59e8SDavid Daney #endif
2291c5aa59e8SDavid Daney 	} cn61xx;
2292c5aa59e8SDavid Daney 	struct cvmx_l2c_qos_iobx_cn61xx cn63xx;
2293c5aa59e8SDavid Daney 	struct cvmx_l2c_qos_iobx_cn61xx cn63xxp1;
2294c5aa59e8SDavid Daney 	struct cvmx_l2c_qos_iobx_cn61xx cn66xx;
2295c5aa59e8SDavid Daney 	struct cvmx_l2c_qos_iobx_s cn68xx;
2296c5aa59e8SDavid Daney 	struct cvmx_l2c_qos_iobx_s cn68xxp1;
2297c5aa59e8SDavid Daney 	struct cvmx_l2c_qos_iobx_cn61xx cnf71xx;
2298aa32a955SDavid Daney };
2299aa32a955SDavid Daney 
2300aa32a955SDavid Daney union cvmx_l2c_qos_ppx {
2301aa32a955SDavid Daney 	uint64_t u64;
2302aa32a955SDavid Daney 	struct cvmx_l2c_qos_ppx_s {
2303c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
2304c5aa59e8SDavid Daney 		uint64_t reserved_3_63:61;
2305c5aa59e8SDavid Daney 		uint64_t lvl:3;
2306c5aa59e8SDavid Daney #else
2307c5aa59e8SDavid Daney 		uint64_t lvl:3;
2308c5aa59e8SDavid Daney 		uint64_t reserved_3_63:61;
2309c5aa59e8SDavid Daney #endif
2310c5aa59e8SDavid Daney 	} s;
2311c5aa59e8SDavid Daney 	struct cvmx_l2c_qos_ppx_cn61xx {
2312c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
2313aa32a955SDavid Daney 		uint64_t reserved_2_63:62;
2314aa32a955SDavid Daney 		uint64_t lvl:2;
2315c5aa59e8SDavid Daney #else
2316c5aa59e8SDavid Daney 		uint64_t lvl:2;
2317c5aa59e8SDavid Daney 		uint64_t reserved_2_63:62;
2318c5aa59e8SDavid Daney #endif
2319c5aa59e8SDavid Daney 	} cn61xx;
2320c5aa59e8SDavid Daney 	struct cvmx_l2c_qos_ppx_cn61xx cn63xx;
2321c5aa59e8SDavid Daney 	struct cvmx_l2c_qos_ppx_cn61xx cn63xxp1;
2322c5aa59e8SDavid Daney 	struct cvmx_l2c_qos_ppx_cn61xx cn66xx;
2323c5aa59e8SDavid Daney 	struct cvmx_l2c_qos_ppx_s cn68xx;
2324c5aa59e8SDavid Daney 	struct cvmx_l2c_qos_ppx_s cn68xxp1;
2325c5aa59e8SDavid Daney 	struct cvmx_l2c_qos_ppx_cn61xx cnf71xx;
2326aa32a955SDavid Daney };
2327aa32a955SDavid Daney 
2328aa32a955SDavid Daney union cvmx_l2c_qos_wgt {
2329aa32a955SDavid Daney 	uint64_t u64;
2330aa32a955SDavid Daney 	struct cvmx_l2c_qos_wgt_s {
2331c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
2332c5aa59e8SDavid Daney 		uint64_t wgt7:8;
2333c5aa59e8SDavid Daney 		uint64_t wgt6:8;
2334c5aa59e8SDavid Daney 		uint64_t wgt5:8;
2335c5aa59e8SDavid Daney 		uint64_t wgt4:8;
2336c5aa59e8SDavid Daney 		uint64_t wgt3:8;
2337c5aa59e8SDavid Daney 		uint64_t wgt2:8;
2338c5aa59e8SDavid Daney 		uint64_t wgt1:8;
2339c5aa59e8SDavid Daney 		uint64_t wgt0:8;
2340c5aa59e8SDavid Daney #else
2341c5aa59e8SDavid Daney 		uint64_t wgt0:8;
2342c5aa59e8SDavid Daney 		uint64_t wgt1:8;
2343c5aa59e8SDavid Daney 		uint64_t wgt2:8;
2344c5aa59e8SDavid Daney 		uint64_t wgt3:8;
2345c5aa59e8SDavid Daney 		uint64_t wgt4:8;
2346c5aa59e8SDavid Daney 		uint64_t wgt5:8;
2347c5aa59e8SDavid Daney 		uint64_t wgt6:8;
2348c5aa59e8SDavid Daney 		uint64_t wgt7:8;
2349c5aa59e8SDavid Daney #endif
2350c5aa59e8SDavid Daney 	} s;
2351c5aa59e8SDavid Daney 	struct cvmx_l2c_qos_wgt_cn61xx {
2352c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
2353aa32a955SDavid Daney 		uint64_t reserved_32_63:32;
2354aa32a955SDavid Daney 		uint64_t wgt3:8;
2355aa32a955SDavid Daney 		uint64_t wgt2:8;
2356aa32a955SDavid Daney 		uint64_t wgt1:8;
2357aa32a955SDavid Daney 		uint64_t wgt0:8;
2358c5aa59e8SDavid Daney #else
2359c5aa59e8SDavid Daney 		uint64_t wgt0:8;
2360c5aa59e8SDavid Daney 		uint64_t wgt1:8;
2361c5aa59e8SDavid Daney 		uint64_t wgt2:8;
2362c5aa59e8SDavid Daney 		uint64_t wgt3:8;
2363c5aa59e8SDavid Daney 		uint64_t reserved_32_63:32;
2364c5aa59e8SDavid Daney #endif
2365c5aa59e8SDavid Daney 	} cn61xx;
2366c5aa59e8SDavid Daney 	struct cvmx_l2c_qos_wgt_cn61xx cn63xx;
2367c5aa59e8SDavid Daney 	struct cvmx_l2c_qos_wgt_cn61xx cn63xxp1;
2368c5aa59e8SDavid Daney 	struct cvmx_l2c_qos_wgt_cn61xx cn66xx;
2369c5aa59e8SDavid Daney 	struct cvmx_l2c_qos_wgt_s cn68xx;
2370c5aa59e8SDavid Daney 	struct cvmx_l2c_qos_wgt_s cn68xxp1;
2371c5aa59e8SDavid Daney 	struct cvmx_l2c_qos_wgt_cn61xx cnf71xx;
2372aa32a955SDavid Daney };
2373aa32a955SDavid Daney 
2374aa32a955SDavid Daney union cvmx_l2c_rscx_pfc {
2375aa32a955SDavid Daney 	uint64_t u64;
2376aa32a955SDavid Daney 	struct cvmx_l2c_rscx_pfc_s {
2377c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
2378aa32a955SDavid Daney 		uint64_t count:64;
2379c5aa59e8SDavid Daney #else
2380c5aa59e8SDavid Daney 		uint64_t count:64;
2381c5aa59e8SDavid Daney #endif
2382aa32a955SDavid Daney 	} s;
2383c5aa59e8SDavid Daney 	struct cvmx_l2c_rscx_pfc_s cn61xx;
2384aa32a955SDavid Daney 	struct cvmx_l2c_rscx_pfc_s cn63xx;
2385aa32a955SDavid Daney 	struct cvmx_l2c_rscx_pfc_s cn63xxp1;
2386c5aa59e8SDavid Daney 	struct cvmx_l2c_rscx_pfc_s cn66xx;
2387c5aa59e8SDavid Daney 	struct cvmx_l2c_rscx_pfc_s cn68xx;
2388c5aa59e8SDavid Daney 	struct cvmx_l2c_rscx_pfc_s cn68xxp1;
2389c5aa59e8SDavid Daney 	struct cvmx_l2c_rscx_pfc_s cnf71xx;
2390aa32a955SDavid Daney };
2391aa32a955SDavid Daney 
2392aa32a955SDavid Daney union cvmx_l2c_rsdx_pfc {
2393aa32a955SDavid Daney 	uint64_t u64;
2394aa32a955SDavid Daney 	struct cvmx_l2c_rsdx_pfc_s {
2395c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
2396aa32a955SDavid Daney 		uint64_t count:64;
2397c5aa59e8SDavid Daney #else
2398c5aa59e8SDavid Daney 		uint64_t count:64;
2399c5aa59e8SDavid Daney #endif
2400aa32a955SDavid Daney 	} s;
2401c5aa59e8SDavid Daney 	struct cvmx_l2c_rsdx_pfc_s cn61xx;
2402aa32a955SDavid Daney 	struct cvmx_l2c_rsdx_pfc_s cn63xx;
2403aa32a955SDavid Daney 	struct cvmx_l2c_rsdx_pfc_s cn63xxp1;
2404c5aa59e8SDavid Daney 	struct cvmx_l2c_rsdx_pfc_s cn66xx;
2405c5aa59e8SDavid Daney 	struct cvmx_l2c_rsdx_pfc_s cn68xx;
2406c5aa59e8SDavid Daney 	struct cvmx_l2c_rsdx_pfc_s cn68xxp1;
2407c5aa59e8SDavid Daney 	struct cvmx_l2c_rsdx_pfc_s cnf71xx;
2408aa32a955SDavid Daney };
2409aa32a955SDavid Daney 
241054293ec3SDavid Daney union cvmx_l2c_spar0 {
241154293ec3SDavid Daney 	uint64_t u64;
241254293ec3SDavid Daney 	struct cvmx_l2c_spar0_s {
2413c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
241454293ec3SDavid Daney 		uint64_t reserved_32_63:32;
241554293ec3SDavid Daney 		uint64_t umsk3:8;
241654293ec3SDavid Daney 		uint64_t umsk2:8;
241754293ec3SDavid Daney 		uint64_t umsk1:8;
241854293ec3SDavid Daney 		uint64_t umsk0:8;
2419c5aa59e8SDavid Daney #else
2420c5aa59e8SDavid Daney 		uint64_t umsk0:8;
2421c5aa59e8SDavid Daney 		uint64_t umsk1:8;
2422c5aa59e8SDavid Daney 		uint64_t umsk2:8;
2423c5aa59e8SDavid Daney 		uint64_t umsk3:8;
2424c5aa59e8SDavid Daney 		uint64_t reserved_32_63:32;
2425c5aa59e8SDavid Daney #endif
242654293ec3SDavid Daney 	} s;
242754293ec3SDavid Daney 	struct cvmx_l2c_spar0_cn30xx {
2428c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
242954293ec3SDavid Daney 		uint64_t reserved_4_63:60;
243054293ec3SDavid Daney 		uint64_t umsk0:4;
2431c5aa59e8SDavid Daney #else
2432c5aa59e8SDavid Daney 		uint64_t umsk0:4;
2433c5aa59e8SDavid Daney 		uint64_t reserved_4_63:60;
2434c5aa59e8SDavid Daney #endif
243554293ec3SDavid Daney 	} cn30xx;
243654293ec3SDavid Daney 	struct cvmx_l2c_spar0_cn31xx {
2437c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
243854293ec3SDavid Daney 		uint64_t reserved_12_63:52;
243954293ec3SDavid Daney 		uint64_t umsk1:4;
244054293ec3SDavid Daney 		uint64_t reserved_4_7:4;
244154293ec3SDavid Daney 		uint64_t umsk0:4;
2442c5aa59e8SDavid Daney #else
2443c5aa59e8SDavid Daney 		uint64_t umsk0:4;
2444c5aa59e8SDavid Daney 		uint64_t reserved_4_7:4;
2445c5aa59e8SDavid Daney 		uint64_t umsk1:4;
2446c5aa59e8SDavid Daney 		uint64_t reserved_12_63:52;
2447c5aa59e8SDavid Daney #endif
244854293ec3SDavid Daney 	} cn31xx;
244954293ec3SDavid Daney 	struct cvmx_l2c_spar0_s cn38xx;
245054293ec3SDavid Daney 	struct cvmx_l2c_spar0_s cn38xxp2;
245154293ec3SDavid Daney 	struct cvmx_l2c_spar0_cn50xx {
2452c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
245354293ec3SDavid Daney 		uint64_t reserved_16_63:48;
245454293ec3SDavid Daney 		uint64_t umsk1:8;
245554293ec3SDavid Daney 		uint64_t umsk0:8;
2456c5aa59e8SDavid Daney #else
2457c5aa59e8SDavid Daney 		uint64_t umsk0:8;
2458c5aa59e8SDavid Daney 		uint64_t umsk1:8;
2459c5aa59e8SDavid Daney 		uint64_t reserved_16_63:48;
2460c5aa59e8SDavid Daney #endif
246154293ec3SDavid Daney 	} cn50xx;
246254293ec3SDavid Daney 	struct cvmx_l2c_spar0_s cn52xx;
246354293ec3SDavid Daney 	struct cvmx_l2c_spar0_s cn52xxp1;
246454293ec3SDavid Daney 	struct cvmx_l2c_spar0_s cn56xx;
246554293ec3SDavid Daney 	struct cvmx_l2c_spar0_s cn56xxp1;
246654293ec3SDavid Daney 	struct cvmx_l2c_spar0_s cn58xx;
246754293ec3SDavid Daney 	struct cvmx_l2c_spar0_s cn58xxp1;
246854293ec3SDavid Daney };
246954293ec3SDavid Daney 
247054293ec3SDavid Daney union cvmx_l2c_spar1 {
247154293ec3SDavid Daney 	uint64_t u64;
247254293ec3SDavid Daney 	struct cvmx_l2c_spar1_s {
2473c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
247454293ec3SDavid Daney 		uint64_t reserved_32_63:32;
247554293ec3SDavid Daney 		uint64_t umsk7:8;
247654293ec3SDavid Daney 		uint64_t umsk6:8;
247754293ec3SDavid Daney 		uint64_t umsk5:8;
247854293ec3SDavid Daney 		uint64_t umsk4:8;
2479c5aa59e8SDavid Daney #else
2480c5aa59e8SDavid Daney 		uint64_t umsk4:8;
2481c5aa59e8SDavid Daney 		uint64_t umsk5:8;
2482c5aa59e8SDavid Daney 		uint64_t umsk6:8;
2483c5aa59e8SDavid Daney 		uint64_t umsk7:8;
2484c5aa59e8SDavid Daney 		uint64_t reserved_32_63:32;
2485c5aa59e8SDavid Daney #endif
248654293ec3SDavid Daney 	} s;
248754293ec3SDavid Daney 	struct cvmx_l2c_spar1_s cn38xx;
248854293ec3SDavid Daney 	struct cvmx_l2c_spar1_s cn38xxp2;
248954293ec3SDavid Daney 	struct cvmx_l2c_spar1_s cn56xx;
249054293ec3SDavid Daney 	struct cvmx_l2c_spar1_s cn56xxp1;
249154293ec3SDavid Daney 	struct cvmx_l2c_spar1_s cn58xx;
249254293ec3SDavid Daney 	struct cvmx_l2c_spar1_s cn58xxp1;
249354293ec3SDavid Daney };
249454293ec3SDavid Daney 
249554293ec3SDavid Daney union cvmx_l2c_spar2 {
249654293ec3SDavid Daney 	uint64_t u64;
249754293ec3SDavid Daney 	struct cvmx_l2c_spar2_s {
2498c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
249954293ec3SDavid Daney 		uint64_t reserved_32_63:32;
250054293ec3SDavid Daney 		uint64_t umsk11:8;
250154293ec3SDavid Daney 		uint64_t umsk10:8;
250254293ec3SDavid Daney 		uint64_t umsk9:8;
250354293ec3SDavid Daney 		uint64_t umsk8:8;
2504c5aa59e8SDavid Daney #else
2505c5aa59e8SDavid Daney 		uint64_t umsk8:8;
2506c5aa59e8SDavid Daney 		uint64_t umsk9:8;
2507c5aa59e8SDavid Daney 		uint64_t umsk10:8;
2508c5aa59e8SDavid Daney 		uint64_t umsk11:8;
2509c5aa59e8SDavid Daney 		uint64_t reserved_32_63:32;
2510c5aa59e8SDavid Daney #endif
251154293ec3SDavid Daney 	} s;
251254293ec3SDavid Daney 	struct cvmx_l2c_spar2_s cn38xx;
251354293ec3SDavid Daney 	struct cvmx_l2c_spar2_s cn38xxp2;
251454293ec3SDavid Daney 	struct cvmx_l2c_spar2_s cn56xx;
251554293ec3SDavid Daney 	struct cvmx_l2c_spar2_s cn56xxp1;
251654293ec3SDavid Daney 	struct cvmx_l2c_spar2_s cn58xx;
251754293ec3SDavid Daney 	struct cvmx_l2c_spar2_s cn58xxp1;
251854293ec3SDavid Daney };
251954293ec3SDavid Daney 
252054293ec3SDavid Daney union cvmx_l2c_spar3 {
252154293ec3SDavid Daney 	uint64_t u64;
252254293ec3SDavid Daney 	struct cvmx_l2c_spar3_s {
2523c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
252454293ec3SDavid Daney 		uint64_t reserved_32_63:32;
252554293ec3SDavid Daney 		uint64_t umsk15:8;
252654293ec3SDavid Daney 		uint64_t umsk14:8;
252754293ec3SDavid Daney 		uint64_t umsk13:8;
252854293ec3SDavid Daney 		uint64_t umsk12:8;
2529c5aa59e8SDavid Daney #else
2530c5aa59e8SDavid Daney 		uint64_t umsk12:8;
2531c5aa59e8SDavid Daney 		uint64_t umsk13:8;
2532c5aa59e8SDavid Daney 		uint64_t umsk14:8;
2533c5aa59e8SDavid Daney 		uint64_t umsk15:8;
2534c5aa59e8SDavid Daney 		uint64_t reserved_32_63:32;
2535c5aa59e8SDavid Daney #endif
253654293ec3SDavid Daney 	} s;
253754293ec3SDavid Daney 	struct cvmx_l2c_spar3_s cn38xx;
253854293ec3SDavid Daney 	struct cvmx_l2c_spar3_s cn38xxp2;
253954293ec3SDavid Daney 	struct cvmx_l2c_spar3_s cn58xx;
254054293ec3SDavid Daney 	struct cvmx_l2c_spar3_s cn58xxp1;
254154293ec3SDavid Daney };
254254293ec3SDavid Daney 
254354293ec3SDavid Daney union cvmx_l2c_spar4 {
254454293ec3SDavid Daney 	uint64_t u64;
254554293ec3SDavid Daney 	struct cvmx_l2c_spar4_s {
2546c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
254754293ec3SDavid Daney 		uint64_t reserved_8_63:56;
254854293ec3SDavid Daney 		uint64_t umskiob:8;
2549c5aa59e8SDavid Daney #else
2550c5aa59e8SDavid Daney 		uint64_t umskiob:8;
2551c5aa59e8SDavid Daney 		uint64_t reserved_8_63:56;
2552c5aa59e8SDavid Daney #endif
255354293ec3SDavid Daney 	} s;
255454293ec3SDavid Daney 	struct cvmx_l2c_spar4_cn30xx {
2555c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
255654293ec3SDavid Daney 		uint64_t reserved_4_63:60;
255754293ec3SDavid Daney 		uint64_t umskiob:4;
2558c5aa59e8SDavid Daney #else
2559c5aa59e8SDavid Daney 		uint64_t umskiob:4;
2560c5aa59e8SDavid Daney 		uint64_t reserved_4_63:60;
2561c5aa59e8SDavid Daney #endif
256254293ec3SDavid Daney 	} cn30xx;
256354293ec3SDavid Daney 	struct cvmx_l2c_spar4_cn30xx cn31xx;
256454293ec3SDavid Daney 	struct cvmx_l2c_spar4_s cn38xx;
256554293ec3SDavid Daney 	struct cvmx_l2c_spar4_s cn38xxp2;
256654293ec3SDavid Daney 	struct cvmx_l2c_spar4_s cn50xx;
256754293ec3SDavid Daney 	struct cvmx_l2c_spar4_s cn52xx;
256854293ec3SDavid Daney 	struct cvmx_l2c_spar4_s cn52xxp1;
256954293ec3SDavid Daney 	struct cvmx_l2c_spar4_s cn56xx;
257054293ec3SDavid Daney 	struct cvmx_l2c_spar4_s cn56xxp1;
257154293ec3SDavid Daney 	struct cvmx_l2c_spar4_s cn58xx;
257254293ec3SDavid Daney 	struct cvmx_l2c_spar4_s cn58xxp1;
257354293ec3SDavid Daney };
257454293ec3SDavid Daney 
2575aa32a955SDavid Daney union cvmx_l2c_tadx_ecc0 {
2576aa32a955SDavid Daney 	uint64_t u64;
2577aa32a955SDavid Daney 	struct cvmx_l2c_tadx_ecc0_s {
2578c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
2579aa32a955SDavid Daney 		uint64_t reserved_58_63:6;
2580aa32a955SDavid Daney 		uint64_t ow3ecc:10;
2581aa32a955SDavid Daney 		uint64_t reserved_42_47:6;
2582aa32a955SDavid Daney 		uint64_t ow2ecc:10;
2583aa32a955SDavid Daney 		uint64_t reserved_26_31:6;
2584aa32a955SDavid Daney 		uint64_t ow1ecc:10;
2585aa32a955SDavid Daney 		uint64_t reserved_10_15:6;
2586aa32a955SDavid Daney 		uint64_t ow0ecc:10;
2587c5aa59e8SDavid Daney #else
2588c5aa59e8SDavid Daney 		uint64_t ow0ecc:10;
2589c5aa59e8SDavid Daney 		uint64_t reserved_10_15:6;
2590c5aa59e8SDavid Daney 		uint64_t ow1ecc:10;
2591c5aa59e8SDavid Daney 		uint64_t reserved_26_31:6;
2592c5aa59e8SDavid Daney 		uint64_t ow2ecc:10;
2593c5aa59e8SDavid Daney 		uint64_t reserved_42_47:6;
2594c5aa59e8SDavid Daney 		uint64_t ow3ecc:10;
2595c5aa59e8SDavid Daney 		uint64_t reserved_58_63:6;
2596c5aa59e8SDavid Daney #endif
2597aa32a955SDavid Daney 	} s;
2598c5aa59e8SDavid Daney 	struct cvmx_l2c_tadx_ecc0_s cn61xx;
2599aa32a955SDavid Daney 	struct cvmx_l2c_tadx_ecc0_s cn63xx;
2600aa32a955SDavid Daney 	struct cvmx_l2c_tadx_ecc0_s cn63xxp1;
2601c5aa59e8SDavid Daney 	struct cvmx_l2c_tadx_ecc0_s cn66xx;
2602c5aa59e8SDavid Daney 	struct cvmx_l2c_tadx_ecc0_s cn68xx;
2603c5aa59e8SDavid Daney 	struct cvmx_l2c_tadx_ecc0_s cn68xxp1;
2604c5aa59e8SDavid Daney 	struct cvmx_l2c_tadx_ecc0_s cnf71xx;
2605aa32a955SDavid Daney };
2606aa32a955SDavid Daney 
2607aa32a955SDavid Daney union cvmx_l2c_tadx_ecc1 {
2608aa32a955SDavid Daney 	uint64_t u64;
2609aa32a955SDavid Daney 	struct cvmx_l2c_tadx_ecc1_s {
2610c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
2611aa32a955SDavid Daney 		uint64_t reserved_58_63:6;
2612aa32a955SDavid Daney 		uint64_t ow7ecc:10;
2613aa32a955SDavid Daney 		uint64_t reserved_42_47:6;
2614aa32a955SDavid Daney 		uint64_t ow6ecc:10;
2615aa32a955SDavid Daney 		uint64_t reserved_26_31:6;
2616aa32a955SDavid Daney 		uint64_t ow5ecc:10;
2617aa32a955SDavid Daney 		uint64_t reserved_10_15:6;
2618aa32a955SDavid Daney 		uint64_t ow4ecc:10;
2619c5aa59e8SDavid Daney #else
2620c5aa59e8SDavid Daney 		uint64_t ow4ecc:10;
2621c5aa59e8SDavid Daney 		uint64_t reserved_10_15:6;
2622c5aa59e8SDavid Daney 		uint64_t ow5ecc:10;
2623c5aa59e8SDavid Daney 		uint64_t reserved_26_31:6;
2624c5aa59e8SDavid Daney 		uint64_t ow6ecc:10;
2625c5aa59e8SDavid Daney 		uint64_t reserved_42_47:6;
2626c5aa59e8SDavid Daney 		uint64_t ow7ecc:10;
2627c5aa59e8SDavid Daney 		uint64_t reserved_58_63:6;
2628c5aa59e8SDavid Daney #endif
2629aa32a955SDavid Daney 	} s;
2630c5aa59e8SDavid Daney 	struct cvmx_l2c_tadx_ecc1_s cn61xx;
2631aa32a955SDavid Daney 	struct cvmx_l2c_tadx_ecc1_s cn63xx;
2632aa32a955SDavid Daney 	struct cvmx_l2c_tadx_ecc1_s cn63xxp1;
2633c5aa59e8SDavid Daney 	struct cvmx_l2c_tadx_ecc1_s cn66xx;
2634c5aa59e8SDavid Daney 	struct cvmx_l2c_tadx_ecc1_s cn68xx;
2635c5aa59e8SDavid Daney 	struct cvmx_l2c_tadx_ecc1_s cn68xxp1;
2636c5aa59e8SDavid Daney 	struct cvmx_l2c_tadx_ecc1_s cnf71xx;
2637aa32a955SDavid Daney };
2638aa32a955SDavid Daney 
2639aa32a955SDavid Daney union cvmx_l2c_tadx_ien {
2640aa32a955SDavid Daney 	uint64_t u64;
2641aa32a955SDavid Daney 	struct cvmx_l2c_tadx_ien_s {
2642c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
2643aa32a955SDavid Daney 		uint64_t reserved_9_63:55;
2644aa32a955SDavid Daney 		uint64_t wrdislmc:1;
2645aa32a955SDavid Daney 		uint64_t rddislmc:1;
2646aa32a955SDavid Daney 		uint64_t noway:1;
2647aa32a955SDavid Daney 		uint64_t vbfdbe:1;
2648aa32a955SDavid Daney 		uint64_t vbfsbe:1;
2649aa32a955SDavid Daney 		uint64_t tagdbe:1;
2650aa32a955SDavid Daney 		uint64_t tagsbe:1;
2651aa32a955SDavid Daney 		uint64_t l2ddbe:1;
2652aa32a955SDavid Daney 		uint64_t l2dsbe:1;
2653c5aa59e8SDavid Daney #else
2654c5aa59e8SDavid Daney 		uint64_t l2dsbe:1;
2655c5aa59e8SDavid Daney 		uint64_t l2ddbe:1;
2656c5aa59e8SDavid Daney 		uint64_t tagsbe:1;
2657c5aa59e8SDavid Daney 		uint64_t tagdbe:1;
2658c5aa59e8SDavid Daney 		uint64_t vbfsbe:1;
2659c5aa59e8SDavid Daney 		uint64_t vbfdbe:1;
2660c5aa59e8SDavid Daney 		uint64_t noway:1;
2661c5aa59e8SDavid Daney 		uint64_t rddislmc:1;
2662c5aa59e8SDavid Daney 		uint64_t wrdislmc:1;
2663c5aa59e8SDavid Daney 		uint64_t reserved_9_63:55;
2664c5aa59e8SDavid Daney #endif
2665aa32a955SDavid Daney 	} s;
2666c5aa59e8SDavid Daney 	struct cvmx_l2c_tadx_ien_s cn61xx;
2667aa32a955SDavid Daney 	struct cvmx_l2c_tadx_ien_s cn63xx;
2668aa32a955SDavid Daney 	struct cvmx_l2c_tadx_ien_cn63xxp1 {
2669c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
2670aa32a955SDavid Daney 		uint64_t reserved_7_63:57;
2671aa32a955SDavid Daney 		uint64_t noway:1;
2672aa32a955SDavid Daney 		uint64_t vbfdbe:1;
2673aa32a955SDavid Daney 		uint64_t vbfsbe:1;
2674aa32a955SDavid Daney 		uint64_t tagdbe:1;
2675aa32a955SDavid Daney 		uint64_t tagsbe:1;
2676aa32a955SDavid Daney 		uint64_t l2ddbe:1;
2677aa32a955SDavid Daney 		uint64_t l2dsbe:1;
2678c5aa59e8SDavid Daney #else
2679c5aa59e8SDavid Daney 		uint64_t l2dsbe:1;
2680c5aa59e8SDavid Daney 		uint64_t l2ddbe:1;
2681c5aa59e8SDavid Daney 		uint64_t tagsbe:1;
2682c5aa59e8SDavid Daney 		uint64_t tagdbe:1;
2683c5aa59e8SDavid Daney 		uint64_t vbfsbe:1;
2684c5aa59e8SDavid Daney 		uint64_t vbfdbe:1;
2685c5aa59e8SDavid Daney 		uint64_t noway:1;
2686c5aa59e8SDavid Daney 		uint64_t reserved_7_63:57;
2687c5aa59e8SDavid Daney #endif
2688aa32a955SDavid Daney 	} cn63xxp1;
2689c5aa59e8SDavid Daney 	struct cvmx_l2c_tadx_ien_s cn66xx;
2690c5aa59e8SDavid Daney 	struct cvmx_l2c_tadx_ien_s cn68xx;
2691c5aa59e8SDavid Daney 	struct cvmx_l2c_tadx_ien_s cn68xxp1;
2692c5aa59e8SDavid Daney 	struct cvmx_l2c_tadx_ien_s cnf71xx;
2693aa32a955SDavid Daney };
2694aa32a955SDavid Daney 
2695aa32a955SDavid Daney union cvmx_l2c_tadx_int {
2696aa32a955SDavid Daney 	uint64_t u64;
2697aa32a955SDavid Daney 	struct cvmx_l2c_tadx_int_s {
2698c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
2699aa32a955SDavid Daney 		uint64_t reserved_9_63:55;
2700aa32a955SDavid Daney 		uint64_t wrdislmc:1;
2701aa32a955SDavid Daney 		uint64_t rddislmc:1;
2702aa32a955SDavid Daney 		uint64_t noway:1;
2703aa32a955SDavid Daney 		uint64_t vbfdbe:1;
2704aa32a955SDavid Daney 		uint64_t vbfsbe:1;
2705aa32a955SDavid Daney 		uint64_t tagdbe:1;
2706aa32a955SDavid Daney 		uint64_t tagsbe:1;
2707aa32a955SDavid Daney 		uint64_t l2ddbe:1;
2708aa32a955SDavid Daney 		uint64_t l2dsbe:1;
2709c5aa59e8SDavid Daney #else
2710c5aa59e8SDavid Daney 		uint64_t l2dsbe:1;
2711c5aa59e8SDavid Daney 		uint64_t l2ddbe:1;
2712c5aa59e8SDavid Daney 		uint64_t tagsbe:1;
2713c5aa59e8SDavid Daney 		uint64_t tagdbe:1;
2714c5aa59e8SDavid Daney 		uint64_t vbfsbe:1;
2715c5aa59e8SDavid Daney 		uint64_t vbfdbe:1;
2716c5aa59e8SDavid Daney 		uint64_t noway:1;
2717c5aa59e8SDavid Daney 		uint64_t rddislmc:1;
2718c5aa59e8SDavid Daney 		uint64_t wrdislmc:1;
2719c5aa59e8SDavid Daney 		uint64_t reserved_9_63:55;
2720c5aa59e8SDavid Daney #endif
2721aa32a955SDavid Daney 	} s;
2722c5aa59e8SDavid Daney 	struct cvmx_l2c_tadx_int_s cn61xx;
2723aa32a955SDavid Daney 	struct cvmx_l2c_tadx_int_s cn63xx;
2724c5aa59e8SDavid Daney 	struct cvmx_l2c_tadx_int_s cn66xx;
2725c5aa59e8SDavid Daney 	struct cvmx_l2c_tadx_int_s cn68xx;
2726c5aa59e8SDavid Daney 	struct cvmx_l2c_tadx_int_s cn68xxp1;
2727c5aa59e8SDavid Daney 	struct cvmx_l2c_tadx_int_s cnf71xx;
2728aa32a955SDavid Daney };
2729aa32a955SDavid Daney 
2730aa32a955SDavid Daney union cvmx_l2c_tadx_pfc0 {
2731aa32a955SDavid Daney 	uint64_t u64;
2732aa32a955SDavid Daney 	struct cvmx_l2c_tadx_pfc0_s {
2733c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
2734aa32a955SDavid Daney 		uint64_t count:64;
2735c5aa59e8SDavid Daney #else
2736c5aa59e8SDavid Daney 		uint64_t count:64;
2737c5aa59e8SDavid Daney #endif
2738aa32a955SDavid Daney 	} s;
2739c5aa59e8SDavid Daney 	struct cvmx_l2c_tadx_pfc0_s cn61xx;
2740aa32a955SDavid Daney 	struct cvmx_l2c_tadx_pfc0_s cn63xx;
2741aa32a955SDavid Daney 	struct cvmx_l2c_tadx_pfc0_s cn63xxp1;
2742c5aa59e8SDavid Daney 	struct cvmx_l2c_tadx_pfc0_s cn66xx;
2743c5aa59e8SDavid Daney 	struct cvmx_l2c_tadx_pfc0_s cn68xx;
2744c5aa59e8SDavid Daney 	struct cvmx_l2c_tadx_pfc0_s cn68xxp1;
2745c5aa59e8SDavid Daney 	struct cvmx_l2c_tadx_pfc0_s cnf71xx;
2746aa32a955SDavid Daney };
2747aa32a955SDavid Daney 
2748aa32a955SDavid Daney union cvmx_l2c_tadx_pfc1 {
2749aa32a955SDavid Daney 	uint64_t u64;
2750aa32a955SDavid Daney 	struct cvmx_l2c_tadx_pfc1_s {
2751c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
2752aa32a955SDavid Daney 		uint64_t count:64;
2753c5aa59e8SDavid Daney #else
2754c5aa59e8SDavid Daney 		uint64_t count:64;
2755c5aa59e8SDavid Daney #endif
2756aa32a955SDavid Daney 	} s;
2757c5aa59e8SDavid Daney 	struct cvmx_l2c_tadx_pfc1_s cn61xx;
2758aa32a955SDavid Daney 	struct cvmx_l2c_tadx_pfc1_s cn63xx;
2759aa32a955SDavid Daney 	struct cvmx_l2c_tadx_pfc1_s cn63xxp1;
2760c5aa59e8SDavid Daney 	struct cvmx_l2c_tadx_pfc1_s cn66xx;
2761c5aa59e8SDavid Daney 	struct cvmx_l2c_tadx_pfc1_s cn68xx;
2762c5aa59e8SDavid Daney 	struct cvmx_l2c_tadx_pfc1_s cn68xxp1;
2763c5aa59e8SDavid Daney 	struct cvmx_l2c_tadx_pfc1_s cnf71xx;
2764aa32a955SDavid Daney };
2765aa32a955SDavid Daney 
2766aa32a955SDavid Daney union cvmx_l2c_tadx_pfc2 {
2767aa32a955SDavid Daney 	uint64_t u64;
2768aa32a955SDavid Daney 	struct cvmx_l2c_tadx_pfc2_s {
2769c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
2770aa32a955SDavid Daney 		uint64_t count:64;
2771c5aa59e8SDavid Daney #else
2772c5aa59e8SDavid Daney 		uint64_t count:64;
2773c5aa59e8SDavid Daney #endif
2774aa32a955SDavid Daney 	} s;
2775c5aa59e8SDavid Daney 	struct cvmx_l2c_tadx_pfc2_s cn61xx;
2776aa32a955SDavid Daney 	struct cvmx_l2c_tadx_pfc2_s cn63xx;
2777aa32a955SDavid Daney 	struct cvmx_l2c_tadx_pfc2_s cn63xxp1;
2778c5aa59e8SDavid Daney 	struct cvmx_l2c_tadx_pfc2_s cn66xx;
2779c5aa59e8SDavid Daney 	struct cvmx_l2c_tadx_pfc2_s cn68xx;
2780c5aa59e8SDavid Daney 	struct cvmx_l2c_tadx_pfc2_s cn68xxp1;
2781c5aa59e8SDavid Daney 	struct cvmx_l2c_tadx_pfc2_s cnf71xx;
2782aa32a955SDavid Daney };
2783aa32a955SDavid Daney 
2784aa32a955SDavid Daney union cvmx_l2c_tadx_pfc3 {
2785aa32a955SDavid Daney 	uint64_t u64;
2786aa32a955SDavid Daney 	struct cvmx_l2c_tadx_pfc3_s {
2787c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
2788aa32a955SDavid Daney 		uint64_t count:64;
2789c5aa59e8SDavid Daney #else
2790c5aa59e8SDavid Daney 		uint64_t count:64;
2791c5aa59e8SDavid Daney #endif
2792aa32a955SDavid Daney 	} s;
2793c5aa59e8SDavid Daney 	struct cvmx_l2c_tadx_pfc3_s cn61xx;
2794aa32a955SDavid Daney 	struct cvmx_l2c_tadx_pfc3_s cn63xx;
2795aa32a955SDavid Daney 	struct cvmx_l2c_tadx_pfc3_s cn63xxp1;
2796c5aa59e8SDavid Daney 	struct cvmx_l2c_tadx_pfc3_s cn66xx;
2797c5aa59e8SDavid Daney 	struct cvmx_l2c_tadx_pfc3_s cn68xx;
2798c5aa59e8SDavid Daney 	struct cvmx_l2c_tadx_pfc3_s cn68xxp1;
2799c5aa59e8SDavid Daney 	struct cvmx_l2c_tadx_pfc3_s cnf71xx;
2800aa32a955SDavid Daney };
2801aa32a955SDavid Daney 
2802aa32a955SDavid Daney union cvmx_l2c_tadx_prf {
2803aa32a955SDavid Daney 	uint64_t u64;
2804aa32a955SDavid Daney 	struct cvmx_l2c_tadx_prf_s {
2805c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
2806aa32a955SDavid Daney 		uint64_t reserved_32_63:32;
2807aa32a955SDavid Daney 		uint64_t cnt3sel:8;
2808aa32a955SDavid Daney 		uint64_t cnt2sel:8;
2809aa32a955SDavid Daney 		uint64_t cnt1sel:8;
2810aa32a955SDavid Daney 		uint64_t cnt0sel:8;
2811c5aa59e8SDavid Daney #else
2812c5aa59e8SDavid Daney 		uint64_t cnt0sel:8;
2813c5aa59e8SDavid Daney 		uint64_t cnt1sel:8;
2814c5aa59e8SDavid Daney 		uint64_t cnt2sel:8;
2815c5aa59e8SDavid Daney 		uint64_t cnt3sel:8;
2816c5aa59e8SDavid Daney 		uint64_t reserved_32_63:32;
2817c5aa59e8SDavid Daney #endif
2818aa32a955SDavid Daney 	} s;
2819c5aa59e8SDavid Daney 	struct cvmx_l2c_tadx_prf_s cn61xx;
2820aa32a955SDavid Daney 	struct cvmx_l2c_tadx_prf_s cn63xx;
2821aa32a955SDavid Daney 	struct cvmx_l2c_tadx_prf_s cn63xxp1;
2822c5aa59e8SDavid Daney 	struct cvmx_l2c_tadx_prf_s cn66xx;
2823c5aa59e8SDavid Daney 	struct cvmx_l2c_tadx_prf_s cn68xx;
2824c5aa59e8SDavid Daney 	struct cvmx_l2c_tadx_prf_s cn68xxp1;
2825c5aa59e8SDavid Daney 	struct cvmx_l2c_tadx_prf_s cnf71xx;
2826aa32a955SDavid Daney };
2827aa32a955SDavid Daney 
2828aa32a955SDavid Daney union cvmx_l2c_tadx_tag {
2829aa32a955SDavid Daney 	uint64_t u64;
2830aa32a955SDavid Daney 	struct cvmx_l2c_tadx_tag_s {
2831c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
2832aa32a955SDavid Daney 		uint64_t reserved_46_63:18;
2833aa32a955SDavid Daney 		uint64_t ecc:6;
2834aa32a955SDavid Daney 		uint64_t reserved_36_39:4;
2835aa32a955SDavid Daney 		uint64_t tag:19;
2836aa32a955SDavid Daney 		uint64_t reserved_4_16:13;
2837aa32a955SDavid Daney 		uint64_t use:1;
2838aa32a955SDavid Daney 		uint64_t valid:1;
2839aa32a955SDavid Daney 		uint64_t dirty:1;
2840aa32a955SDavid Daney 		uint64_t lock:1;
2841c5aa59e8SDavid Daney #else
2842c5aa59e8SDavid Daney 		uint64_t lock:1;
2843c5aa59e8SDavid Daney 		uint64_t dirty:1;
2844c5aa59e8SDavid Daney 		uint64_t valid:1;
2845c5aa59e8SDavid Daney 		uint64_t use:1;
2846c5aa59e8SDavid Daney 		uint64_t reserved_4_16:13;
2847c5aa59e8SDavid Daney 		uint64_t tag:19;
2848c5aa59e8SDavid Daney 		uint64_t reserved_36_39:4;
2849c5aa59e8SDavid Daney 		uint64_t ecc:6;
2850c5aa59e8SDavid Daney 		uint64_t reserved_46_63:18;
2851c5aa59e8SDavid Daney #endif
2852aa32a955SDavid Daney 	} s;
2853c5aa59e8SDavid Daney 	struct cvmx_l2c_tadx_tag_s cn61xx;
2854aa32a955SDavid Daney 	struct cvmx_l2c_tadx_tag_s cn63xx;
2855aa32a955SDavid Daney 	struct cvmx_l2c_tadx_tag_s cn63xxp1;
2856c5aa59e8SDavid Daney 	struct cvmx_l2c_tadx_tag_s cn66xx;
2857c5aa59e8SDavid Daney 	struct cvmx_l2c_tadx_tag_s cn68xx;
2858c5aa59e8SDavid Daney 	struct cvmx_l2c_tadx_tag_s cn68xxp1;
2859c5aa59e8SDavid Daney 	struct cvmx_l2c_tadx_tag_s cnf71xx;
2860aa32a955SDavid Daney };
2861aa32a955SDavid Daney 
2862aa32a955SDavid Daney union cvmx_l2c_ver_id {
2863aa32a955SDavid Daney 	uint64_t u64;
2864aa32a955SDavid Daney 	struct cvmx_l2c_ver_id_s {
2865c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
2866aa32a955SDavid Daney 		uint64_t mask:64;
2867c5aa59e8SDavid Daney #else
2868c5aa59e8SDavid Daney 		uint64_t mask:64;
2869c5aa59e8SDavid Daney #endif
2870aa32a955SDavid Daney 	} s;
2871c5aa59e8SDavid Daney 	struct cvmx_l2c_ver_id_s cn61xx;
2872aa32a955SDavid Daney 	struct cvmx_l2c_ver_id_s cn63xx;
2873aa32a955SDavid Daney 	struct cvmx_l2c_ver_id_s cn63xxp1;
2874c5aa59e8SDavid Daney 	struct cvmx_l2c_ver_id_s cn66xx;
2875c5aa59e8SDavid Daney 	struct cvmx_l2c_ver_id_s cn68xx;
2876c5aa59e8SDavid Daney 	struct cvmx_l2c_ver_id_s cn68xxp1;
2877c5aa59e8SDavid Daney 	struct cvmx_l2c_ver_id_s cnf71xx;
2878aa32a955SDavid Daney };
2879aa32a955SDavid Daney 
2880aa32a955SDavid Daney union cvmx_l2c_ver_iob {
2881aa32a955SDavid Daney 	uint64_t u64;
2882aa32a955SDavid Daney 	struct cvmx_l2c_ver_iob_s {
2883c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
2884c5aa59e8SDavid Daney 		uint64_t reserved_2_63:62;
2885c5aa59e8SDavid Daney 		uint64_t mask:2;
2886c5aa59e8SDavid Daney #else
2887c5aa59e8SDavid Daney 		uint64_t mask:2;
2888c5aa59e8SDavid Daney 		uint64_t reserved_2_63:62;
2889c5aa59e8SDavid Daney #endif
2890c5aa59e8SDavid Daney 	} s;
2891c5aa59e8SDavid Daney 	struct cvmx_l2c_ver_iob_cn61xx {
2892c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
2893aa32a955SDavid Daney 		uint64_t reserved_1_63:63;
2894aa32a955SDavid Daney 		uint64_t mask:1;
2895c5aa59e8SDavid Daney #else
2896c5aa59e8SDavid Daney 		uint64_t mask:1;
2897c5aa59e8SDavid Daney 		uint64_t reserved_1_63:63;
2898c5aa59e8SDavid Daney #endif
2899c5aa59e8SDavid Daney 	} cn61xx;
2900c5aa59e8SDavid Daney 	struct cvmx_l2c_ver_iob_cn61xx cn63xx;
2901c5aa59e8SDavid Daney 	struct cvmx_l2c_ver_iob_cn61xx cn63xxp1;
2902c5aa59e8SDavid Daney 	struct cvmx_l2c_ver_iob_cn61xx cn66xx;
2903c5aa59e8SDavid Daney 	struct cvmx_l2c_ver_iob_s cn68xx;
2904c5aa59e8SDavid Daney 	struct cvmx_l2c_ver_iob_s cn68xxp1;
2905c5aa59e8SDavid Daney 	struct cvmx_l2c_ver_iob_cn61xx cnf71xx;
2906aa32a955SDavid Daney };
2907aa32a955SDavid Daney 
2908aa32a955SDavid Daney union cvmx_l2c_ver_msc {
2909aa32a955SDavid Daney 	uint64_t u64;
2910aa32a955SDavid Daney 	struct cvmx_l2c_ver_msc_s {
2911c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
2912aa32a955SDavid Daney 		uint64_t reserved_2_63:62;
2913aa32a955SDavid Daney 		uint64_t invl2:1;
2914aa32a955SDavid Daney 		uint64_t dwb:1;
2915c5aa59e8SDavid Daney #else
2916c5aa59e8SDavid Daney 		uint64_t dwb:1;
2917c5aa59e8SDavid Daney 		uint64_t invl2:1;
2918c5aa59e8SDavid Daney 		uint64_t reserved_2_63:62;
2919c5aa59e8SDavid Daney #endif
2920aa32a955SDavid Daney 	} s;
2921c5aa59e8SDavid Daney 	struct cvmx_l2c_ver_msc_s cn61xx;
2922aa32a955SDavid Daney 	struct cvmx_l2c_ver_msc_s cn63xx;
2923c5aa59e8SDavid Daney 	struct cvmx_l2c_ver_msc_s cn66xx;
2924c5aa59e8SDavid Daney 	struct cvmx_l2c_ver_msc_s cn68xx;
2925c5aa59e8SDavid Daney 	struct cvmx_l2c_ver_msc_s cn68xxp1;
2926c5aa59e8SDavid Daney 	struct cvmx_l2c_ver_msc_s cnf71xx;
2927aa32a955SDavid Daney };
2928aa32a955SDavid Daney 
2929aa32a955SDavid Daney union cvmx_l2c_ver_pp {
2930aa32a955SDavid Daney 	uint64_t u64;
2931aa32a955SDavid Daney 	struct cvmx_l2c_ver_pp_s {
2932c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
2933c5aa59e8SDavid Daney 		uint64_t reserved_32_63:32;
2934c5aa59e8SDavid Daney 		uint64_t mask:32;
2935c5aa59e8SDavid Daney #else
2936c5aa59e8SDavid Daney 		uint64_t mask:32;
2937c5aa59e8SDavid Daney 		uint64_t reserved_32_63:32;
2938c5aa59e8SDavid Daney #endif
2939c5aa59e8SDavid Daney 	} s;
2940c5aa59e8SDavid Daney 	struct cvmx_l2c_ver_pp_cn61xx {
2941c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
2942c5aa59e8SDavid Daney 		uint64_t reserved_4_63:60;
2943c5aa59e8SDavid Daney 		uint64_t mask:4;
2944c5aa59e8SDavid Daney #else
2945c5aa59e8SDavid Daney 		uint64_t mask:4;
2946c5aa59e8SDavid Daney 		uint64_t reserved_4_63:60;
2947c5aa59e8SDavid Daney #endif
2948c5aa59e8SDavid Daney 	} cn61xx;
2949c5aa59e8SDavid Daney 	struct cvmx_l2c_ver_pp_cn63xx {
2950c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
2951aa32a955SDavid Daney 		uint64_t reserved_6_63:58;
2952aa32a955SDavid Daney 		uint64_t mask:6;
2953c5aa59e8SDavid Daney #else
2954c5aa59e8SDavid Daney 		uint64_t mask:6;
2955c5aa59e8SDavid Daney 		uint64_t reserved_6_63:58;
2956c5aa59e8SDavid Daney #endif
2957c5aa59e8SDavid Daney 	} cn63xx;
2958c5aa59e8SDavid Daney 	struct cvmx_l2c_ver_pp_cn63xx cn63xxp1;
2959c5aa59e8SDavid Daney 	struct cvmx_l2c_ver_pp_cn66xx {
2960c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
2961c5aa59e8SDavid Daney 		uint64_t reserved_10_63:54;
2962c5aa59e8SDavid Daney 		uint64_t mask:10;
2963c5aa59e8SDavid Daney #else
2964c5aa59e8SDavid Daney 		uint64_t mask:10;
2965c5aa59e8SDavid Daney 		uint64_t reserved_10_63:54;
2966c5aa59e8SDavid Daney #endif
2967c5aa59e8SDavid Daney 	} cn66xx;
2968c5aa59e8SDavid Daney 	struct cvmx_l2c_ver_pp_s cn68xx;
2969c5aa59e8SDavid Daney 	struct cvmx_l2c_ver_pp_s cn68xxp1;
2970c5aa59e8SDavid Daney 	struct cvmx_l2c_ver_pp_cn61xx cnf71xx;
2971aa32a955SDavid Daney };
2972aa32a955SDavid Daney 
2973aa32a955SDavid Daney union cvmx_l2c_virtid_iobx {
2974aa32a955SDavid Daney 	uint64_t u64;
2975aa32a955SDavid Daney 	struct cvmx_l2c_virtid_iobx_s {
2976c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
2977aa32a955SDavid Daney 		uint64_t reserved_14_63:50;
2978aa32a955SDavid Daney 		uint64_t dwbid:6;
2979aa32a955SDavid Daney 		uint64_t reserved_6_7:2;
2980aa32a955SDavid Daney 		uint64_t id:6;
2981c5aa59e8SDavid Daney #else
2982c5aa59e8SDavid Daney 		uint64_t id:6;
2983c5aa59e8SDavid Daney 		uint64_t reserved_6_7:2;
2984c5aa59e8SDavid Daney 		uint64_t dwbid:6;
2985c5aa59e8SDavid Daney 		uint64_t reserved_14_63:50;
2986c5aa59e8SDavid Daney #endif
2987aa32a955SDavid Daney 	} s;
2988c5aa59e8SDavid Daney 	struct cvmx_l2c_virtid_iobx_s cn61xx;
2989aa32a955SDavid Daney 	struct cvmx_l2c_virtid_iobx_s cn63xx;
2990aa32a955SDavid Daney 	struct cvmx_l2c_virtid_iobx_s cn63xxp1;
2991c5aa59e8SDavid Daney 	struct cvmx_l2c_virtid_iobx_s cn66xx;
2992c5aa59e8SDavid Daney 	struct cvmx_l2c_virtid_iobx_s cn68xx;
2993c5aa59e8SDavid Daney 	struct cvmx_l2c_virtid_iobx_s cn68xxp1;
2994c5aa59e8SDavid Daney 	struct cvmx_l2c_virtid_iobx_s cnf71xx;
2995aa32a955SDavid Daney };
2996aa32a955SDavid Daney 
2997aa32a955SDavid Daney union cvmx_l2c_virtid_ppx {
2998aa32a955SDavid Daney 	uint64_t u64;
2999aa32a955SDavid Daney 	struct cvmx_l2c_virtid_ppx_s {
3000c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
3001aa32a955SDavid Daney 		uint64_t reserved_6_63:58;
3002aa32a955SDavid Daney 		uint64_t id:6;
3003c5aa59e8SDavid Daney #else
3004c5aa59e8SDavid Daney 		uint64_t id:6;
3005c5aa59e8SDavid Daney 		uint64_t reserved_6_63:58;
3006c5aa59e8SDavid Daney #endif
3007aa32a955SDavid Daney 	} s;
3008c5aa59e8SDavid Daney 	struct cvmx_l2c_virtid_ppx_s cn61xx;
3009aa32a955SDavid Daney 	struct cvmx_l2c_virtid_ppx_s cn63xx;
3010aa32a955SDavid Daney 	struct cvmx_l2c_virtid_ppx_s cn63xxp1;
3011c5aa59e8SDavid Daney 	struct cvmx_l2c_virtid_ppx_s cn66xx;
3012c5aa59e8SDavid Daney 	struct cvmx_l2c_virtid_ppx_s cn68xx;
3013c5aa59e8SDavid Daney 	struct cvmx_l2c_virtid_ppx_s cn68xxp1;
3014c5aa59e8SDavid Daney 	struct cvmx_l2c_virtid_ppx_s cnf71xx;
3015aa32a955SDavid Daney };
3016aa32a955SDavid Daney 
3017aa32a955SDavid Daney union cvmx_l2c_vrt_ctl {
3018aa32a955SDavid Daney 	uint64_t u64;
3019aa32a955SDavid Daney 	struct cvmx_l2c_vrt_ctl_s {
3020c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
3021aa32a955SDavid Daney 		uint64_t reserved_9_63:55;
3022aa32a955SDavid Daney 		uint64_t ooberr:1;
3023aa32a955SDavid Daney 		uint64_t reserved_7_7:1;
3024aa32a955SDavid Daney 		uint64_t memsz:3;
3025aa32a955SDavid Daney 		uint64_t numid:3;
3026aa32a955SDavid Daney 		uint64_t enable:1;
3027c5aa59e8SDavid Daney #else
3028c5aa59e8SDavid Daney 		uint64_t enable:1;
3029c5aa59e8SDavid Daney 		uint64_t numid:3;
3030c5aa59e8SDavid Daney 		uint64_t memsz:3;
3031c5aa59e8SDavid Daney 		uint64_t reserved_7_7:1;
3032c5aa59e8SDavid Daney 		uint64_t ooberr:1;
3033c5aa59e8SDavid Daney 		uint64_t reserved_9_63:55;
3034c5aa59e8SDavid Daney #endif
3035aa32a955SDavid Daney 	} s;
3036c5aa59e8SDavid Daney 	struct cvmx_l2c_vrt_ctl_s cn61xx;
3037aa32a955SDavid Daney 	struct cvmx_l2c_vrt_ctl_s cn63xx;
3038aa32a955SDavid Daney 	struct cvmx_l2c_vrt_ctl_s cn63xxp1;
3039c5aa59e8SDavid Daney 	struct cvmx_l2c_vrt_ctl_s cn66xx;
3040c5aa59e8SDavid Daney 	struct cvmx_l2c_vrt_ctl_s cn68xx;
3041c5aa59e8SDavid Daney 	struct cvmx_l2c_vrt_ctl_s cn68xxp1;
3042c5aa59e8SDavid Daney 	struct cvmx_l2c_vrt_ctl_s cnf71xx;
3043aa32a955SDavid Daney };
3044aa32a955SDavid Daney 
3045aa32a955SDavid Daney union cvmx_l2c_vrt_memx {
3046aa32a955SDavid Daney 	uint64_t u64;
3047aa32a955SDavid Daney 	struct cvmx_l2c_vrt_memx_s {
3048c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
3049aa32a955SDavid Daney 		uint64_t reserved_36_63:28;
3050aa32a955SDavid Daney 		uint64_t parity:4;
3051aa32a955SDavid Daney 		uint64_t data:32;
3052c5aa59e8SDavid Daney #else
3053c5aa59e8SDavid Daney 		uint64_t data:32;
3054c5aa59e8SDavid Daney 		uint64_t parity:4;
3055c5aa59e8SDavid Daney 		uint64_t reserved_36_63:28;
3056c5aa59e8SDavid Daney #endif
3057aa32a955SDavid Daney 	} s;
3058c5aa59e8SDavid Daney 	struct cvmx_l2c_vrt_memx_s cn61xx;
3059aa32a955SDavid Daney 	struct cvmx_l2c_vrt_memx_s cn63xx;
3060aa32a955SDavid Daney 	struct cvmx_l2c_vrt_memx_s cn63xxp1;
3061c5aa59e8SDavid Daney 	struct cvmx_l2c_vrt_memx_s cn66xx;
3062c5aa59e8SDavid Daney 	struct cvmx_l2c_vrt_memx_s cn68xx;
3063c5aa59e8SDavid Daney 	struct cvmx_l2c_vrt_memx_s cn68xxp1;
3064c5aa59e8SDavid Daney 	struct cvmx_l2c_vrt_memx_s cnf71xx;
3065aa32a955SDavid Daney };
3066aa32a955SDavid Daney 
3067aa32a955SDavid Daney union cvmx_l2c_wpar_iobx {
3068aa32a955SDavid Daney 	uint64_t u64;
3069aa32a955SDavid Daney 	struct cvmx_l2c_wpar_iobx_s {
3070c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
3071aa32a955SDavid Daney 		uint64_t reserved_16_63:48;
3072aa32a955SDavid Daney 		uint64_t mask:16;
3073c5aa59e8SDavid Daney #else
3074c5aa59e8SDavid Daney 		uint64_t mask:16;
3075c5aa59e8SDavid Daney 		uint64_t reserved_16_63:48;
3076c5aa59e8SDavid Daney #endif
3077aa32a955SDavid Daney 	} s;
3078c5aa59e8SDavid Daney 	struct cvmx_l2c_wpar_iobx_s cn61xx;
3079aa32a955SDavid Daney 	struct cvmx_l2c_wpar_iobx_s cn63xx;
3080aa32a955SDavid Daney 	struct cvmx_l2c_wpar_iobx_s cn63xxp1;
3081c5aa59e8SDavid Daney 	struct cvmx_l2c_wpar_iobx_s cn66xx;
3082c5aa59e8SDavid Daney 	struct cvmx_l2c_wpar_iobx_s cn68xx;
3083c5aa59e8SDavid Daney 	struct cvmx_l2c_wpar_iobx_s cn68xxp1;
3084c5aa59e8SDavid Daney 	struct cvmx_l2c_wpar_iobx_s cnf71xx;
3085aa32a955SDavid Daney };
3086aa32a955SDavid Daney 
3087aa32a955SDavid Daney union cvmx_l2c_wpar_ppx {
3088aa32a955SDavid Daney 	uint64_t u64;
3089aa32a955SDavid Daney 	struct cvmx_l2c_wpar_ppx_s {
3090c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
3091aa32a955SDavid Daney 		uint64_t reserved_16_63:48;
3092aa32a955SDavid Daney 		uint64_t mask:16;
3093c5aa59e8SDavid Daney #else
3094c5aa59e8SDavid Daney 		uint64_t mask:16;
3095c5aa59e8SDavid Daney 		uint64_t reserved_16_63:48;
3096c5aa59e8SDavid Daney #endif
3097aa32a955SDavid Daney 	} s;
3098c5aa59e8SDavid Daney 	struct cvmx_l2c_wpar_ppx_s cn61xx;
3099aa32a955SDavid Daney 	struct cvmx_l2c_wpar_ppx_s cn63xx;
3100aa32a955SDavid Daney 	struct cvmx_l2c_wpar_ppx_s cn63xxp1;
3101c5aa59e8SDavid Daney 	struct cvmx_l2c_wpar_ppx_s cn66xx;
3102c5aa59e8SDavid Daney 	struct cvmx_l2c_wpar_ppx_s cn68xx;
3103c5aa59e8SDavid Daney 	struct cvmx_l2c_wpar_ppx_s cn68xxp1;
3104c5aa59e8SDavid Daney 	struct cvmx_l2c_wpar_ppx_s cnf71xx;
3105aa32a955SDavid Daney };
3106aa32a955SDavid Daney 
3107aa32a955SDavid Daney union cvmx_l2c_xmcx_pfc {
3108aa32a955SDavid Daney 	uint64_t u64;
3109aa32a955SDavid Daney 	struct cvmx_l2c_xmcx_pfc_s {
3110c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
3111aa32a955SDavid Daney 		uint64_t count:64;
3112c5aa59e8SDavid Daney #else
3113c5aa59e8SDavid Daney 		uint64_t count:64;
3114c5aa59e8SDavid Daney #endif
3115aa32a955SDavid Daney 	} s;
3116c5aa59e8SDavid Daney 	struct cvmx_l2c_xmcx_pfc_s cn61xx;
3117aa32a955SDavid Daney 	struct cvmx_l2c_xmcx_pfc_s cn63xx;
3118aa32a955SDavid Daney 	struct cvmx_l2c_xmcx_pfc_s cn63xxp1;
3119c5aa59e8SDavid Daney 	struct cvmx_l2c_xmcx_pfc_s cn66xx;
3120c5aa59e8SDavid Daney 	struct cvmx_l2c_xmcx_pfc_s cn68xx;
3121c5aa59e8SDavid Daney 	struct cvmx_l2c_xmcx_pfc_s cn68xxp1;
3122c5aa59e8SDavid Daney 	struct cvmx_l2c_xmcx_pfc_s cnf71xx;
3123aa32a955SDavid Daney };
3124aa32a955SDavid Daney 
3125aa32a955SDavid Daney union cvmx_l2c_xmc_cmd {
3126aa32a955SDavid Daney 	uint64_t u64;
3127aa32a955SDavid Daney 	struct cvmx_l2c_xmc_cmd_s {
3128c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
3129aa32a955SDavid Daney 		uint64_t inuse:1;
3130aa32a955SDavid Daney 		uint64_t cmd:6;
3131aa32a955SDavid Daney 		uint64_t reserved_38_56:19;
3132aa32a955SDavid Daney 		uint64_t addr:38;
3133c5aa59e8SDavid Daney #else
3134c5aa59e8SDavid Daney 		uint64_t addr:38;
3135c5aa59e8SDavid Daney 		uint64_t reserved_38_56:19;
3136c5aa59e8SDavid Daney 		uint64_t cmd:6;
3137c5aa59e8SDavid Daney 		uint64_t inuse:1;
3138c5aa59e8SDavid Daney #endif
3139aa32a955SDavid Daney 	} s;
3140c5aa59e8SDavid Daney 	struct cvmx_l2c_xmc_cmd_s cn61xx;
3141aa32a955SDavid Daney 	struct cvmx_l2c_xmc_cmd_s cn63xx;
3142aa32a955SDavid Daney 	struct cvmx_l2c_xmc_cmd_s cn63xxp1;
3143c5aa59e8SDavid Daney 	struct cvmx_l2c_xmc_cmd_s cn66xx;
3144c5aa59e8SDavid Daney 	struct cvmx_l2c_xmc_cmd_s cn68xx;
3145c5aa59e8SDavid Daney 	struct cvmx_l2c_xmc_cmd_s cn68xxp1;
3146c5aa59e8SDavid Daney 	struct cvmx_l2c_xmc_cmd_s cnf71xx;
3147aa32a955SDavid Daney };
3148aa32a955SDavid Daney 
3149aa32a955SDavid Daney union cvmx_l2c_xmdx_pfc {
3150aa32a955SDavid Daney 	uint64_t u64;
3151aa32a955SDavid Daney 	struct cvmx_l2c_xmdx_pfc_s {
3152c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
3153aa32a955SDavid Daney 		uint64_t count:64;
3154c5aa59e8SDavid Daney #else
3155c5aa59e8SDavid Daney 		uint64_t count:64;
3156c5aa59e8SDavid Daney #endif
3157aa32a955SDavid Daney 	} s;
3158c5aa59e8SDavid Daney 	struct cvmx_l2c_xmdx_pfc_s cn61xx;
3159aa32a955SDavid Daney 	struct cvmx_l2c_xmdx_pfc_s cn63xx;
3160aa32a955SDavid Daney 	struct cvmx_l2c_xmdx_pfc_s cn63xxp1;
3161c5aa59e8SDavid Daney 	struct cvmx_l2c_xmdx_pfc_s cn66xx;
3162c5aa59e8SDavid Daney 	struct cvmx_l2c_xmdx_pfc_s cn68xx;
3163c5aa59e8SDavid Daney 	struct cvmx_l2c_xmdx_pfc_s cn68xxp1;
3164c5aa59e8SDavid Daney 	struct cvmx_l2c_xmdx_pfc_s cnf71xx;
3165aa32a955SDavid Daney };
3166aa32a955SDavid Daney 
316754293ec3SDavid Daney #endif
3168