xref: /OK3568_Linux_fs/kernel/arch/mips/include/asm/octeon/cvmx-pow-defs.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun /***********************license start***************
2*4882a593Smuzhiyun  * Author: Cavium Networks
3*4882a593Smuzhiyun  *
4*4882a593Smuzhiyun  * Contact: support@caviumnetworks.com
5*4882a593Smuzhiyun  * This file is part of the OCTEON SDK
6*4882a593Smuzhiyun  *
7*4882a593Smuzhiyun  * Copyright (c) 2003-2012 Cavium Networks
8*4882a593Smuzhiyun  *
9*4882a593Smuzhiyun  * This file is free software; you can redistribute it and/or modify
10*4882a593Smuzhiyun  * it under the terms of the GNU General Public License, Version 2, as
11*4882a593Smuzhiyun  * published by the Free Software Foundation.
12*4882a593Smuzhiyun  *
13*4882a593Smuzhiyun  * This file is distributed in the hope that it will be useful, but
14*4882a593Smuzhiyun  * AS-IS and WITHOUT ANY WARRANTY; without even the implied warranty
15*4882a593Smuzhiyun  * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE, TITLE, or
16*4882a593Smuzhiyun  * NONINFRINGEMENT.  See the GNU General Public License for more
17*4882a593Smuzhiyun  * details.
18*4882a593Smuzhiyun  *
19*4882a593Smuzhiyun  * You should have received a copy of the GNU General Public License
20*4882a593Smuzhiyun  * along with this file; if not, write to the Free Software
21*4882a593Smuzhiyun  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
22*4882a593Smuzhiyun  * or visit http://www.gnu.org/licenses/.
23*4882a593Smuzhiyun  *
24*4882a593Smuzhiyun  * This file may also be available under a different license from Cavium.
25*4882a593Smuzhiyun  * Contact Cavium Networks for more information
26*4882a593Smuzhiyun  ***********************license end**************************************/
27*4882a593Smuzhiyun 
28*4882a593Smuzhiyun #ifndef __CVMX_POW_DEFS_H__
29*4882a593Smuzhiyun #define __CVMX_POW_DEFS_H__
30*4882a593Smuzhiyun 
31*4882a593Smuzhiyun #define CVMX_POW_BIST_STAT (CVMX_ADD_IO_SEG(0x00016700000003F8ull))
32*4882a593Smuzhiyun #define CVMX_POW_DS_PC (CVMX_ADD_IO_SEG(0x0001670000000398ull))
33*4882a593Smuzhiyun #define CVMX_POW_ECC_ERR (CVMX_ADD_IO_SEG(0x0001670000000218ull))
34*4882a593Smuzhiyun #define CVMX_POW_INT_CTL (CVMX_ADD_IO_SEG(0x0001670000000220ull))
35*4882a593Smuzhiyun #define CVMX_POW_IQ_CNTX(offset) (CVMX_ADD_IO_SEG(0x0001670000000340ull) + ((offset) & 7) * 8)
36*4882a593Smuzhiyun #define CVMX_POW_IQ_COM_CNT (CVMX_ADD_IO_SEG(0x0001670000000388ull))
37*4882a593Smuzhiyun #define CVMX_POW_IQ_INT (CVMX_ADD_IO_SEG(0x0001670000000238ull))
38*4882a593Smuzhiyun #define CVMX_POW_IQ_INT_EN (CVMX_ADD_IO_SEG(0x0001670000000240ull))
39*4882a593Smuzhiyun #define CVMX_POW_IQ_THRX(offset) (CVMX_ADD_IO_SEG(0x00016700000003A0ull) + ((offset) & 7) * 8)
40*4882a593Smuzhiyun #define CVMX_POW_NOS_CNT (CVMX_ADD_IO_SEG(0x0001670000000228ull))
41*4882a593Smuzhiyun #define CVMX_POW_NW_TIM (CVMX_ADD_IO_SEG(0x0001670000000210ull))
42*4882a593Smuzhiyun #define CVMX_POW_PF_RST_MSK (CVMX_ADD_IO_SEG(0x0001670000000230ull))
43*4882a593Smuzhiyun #define CVMX_POW_PP_GRP_MSKX(offset) (CVMX_ADD_IO_SEG(0x0001670000000000ull) + ((offset) & 15) * 8)
44*4882a593Smuzhiyun #define CVMX_POW_QOS_RNDX(offset) (CVMX_ADD_IO_SEG(0x00016700000001C0ull) + ((offset) & 7) * 8)
45*4882a593Smuzhiyun #define CVMX_POW_QOS_THRX(offset) (CVMX_ADD_IO_SEG(0x0001670000000180ull) + ((offset) & 7) * 8)
46*4882a593Smuzhiyun #define CVMX_POW_TS_PC (CVMX_ADD_IO_SEG(0x0001670000000390ull))
47*4882a593Smuzhiyun #define CVMX_POW_WA_COM_PC (CVMX_ADD_IO_SEG(0x0001670000000380ull))
48*4882a593Smuzhiyun #define CVMX_POW_WA_PCX(offset) (CVMX_ADD_IO_SEG(0x0001670000000300ull) + ((offset) & 7) * 8)
49*4882a593Smuzhiyun #define CVMX_POW_WQ_INT (CVMX_ADD_IO_SEG(0x0001670000000200ull))
50*4882a593Smuzhiyun #define CVMX_POW_WQ_INT_CNTX(offset) (CVMX_ADD_IO_SEG(0x0001670000000100ull) + ((offset) & 15) * 8)
51*4882a593Smuzhiyun #define CVMX_POW_WQ_INT_PC (CVMX_ADD_IO_SEG(0x0001670000000208ull))
52*4882a593Smuzhiyun #define CVMX_POW_WQ_INT_THRX(offset) (CVMX_ADD_IO_SEG(0x0001670000000080ull) + ((offset) & 15) * 8)
53*4882a593Smuzhiyun #define CVMX_POW_WS_PCX(offset) (CVMX_ADD_IO_SEG(0x0001670000000280ull) + ((offset) & 15) * 8)
54*4882a593Smuzhiyun 
55*4882a593Smuzhiyun #define CVMX_SSO_WQ_INT (CVMX_ADD_IO_SEG(0x0001670000001000ull))
56*4882a593Smuzhiyun #define CVMX_SSO_WQ_IQ_DIS (CVMX_ADD_IO_SEG(0x0001670000001010ull))
57*4882a593Smuzhiyun #define CVMX_SSO_WQ_INT_PC (CVMX_ADD_IO_SEG(0x0001670000001020ull))
58*4882a593Smuzhiyun #define CVMX_SSO_PPX_GRP_MSK(offset) (CVMX_ADD_IO_SEG(0x0001670000006000ull) + ((offset) & 31) * 8)
59*4882a593Smuzhiyun #define CVMX_SSO_WQ_INT_THRX(offset) (CVMX_ADD_IO_SEG(0x0001670000007000ull) + ((offset) & 63) * 8)
60*4882a593Smuzhiyun 
61*4882a593Smuzhiyun union cvmx_pow_bist_stat {
62*4882a593Smuzhiyun 	uint64_t u64;
63*4882a593Smuzhiyun 	struct cvmx_pow_bist_stat_s {
64*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD
65*4882a593Smuzhiyun 		uint64_t reserved_32_63:32;
66*4882a593Smuzhiyun 		uint64_t pp:16;
67*4882a593Smuzhiyun 		uint64_t reserved_0_15:16;
68*4882a593Smuzhiyun #else
69*4882a593Smuzhiyun 		uint64_t reserved_0_15:16;
70*4882a593Smuzhiyun 		uint64_t pp:16;
71*4882a593Smuzhiyun 		uint64_t reserved_32_63:32;
72*4882a593Smuzhiyun #endif
73*4882a593Smuzhiyun 	} s;
74*4882a593Smuzhiyun 	struct cvmx_pow_bist_stat_cn30xx {
75*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD
76*4882a593Smuzhiyun 		uint64_t reserved_17_63:47;
77*4882a593Smuzhiyun 		uint64_t pp:1;
78*4882a593Smuzhiyun 		uint64_t reserved_9_15:7;
79*4882a593Smuzhiyun 		uint64_t cam:1;
80*4882a593Smuzhiyun 		uint64_t nbt1:1;
81*4882a593Smuzhiyun 		uint64_t nbt0:1;
82*4882a593Smuzhiyun 		uint64_t index:1;
83*4882a593Smuzhiyun 		uint64_t fidx:1;
84*4882a593Smuzhiyun 		uint64_t nbr1:1;
85*4882a593Smuzhiyun 		uint64_t nbr0:1;
86*4882a593Smuzhiyun 		uint64_t pend:1;
87*4882a593Smuzhiyun 		uint64_t adr:1;
88*4882a593Smuzhiyun #else
89*4882a593Smuzhiyun 		uint64_t adr:1;
90*4882a593Smuzhiyun 		uint64_t pend:1;
91*4882a593Smuzhiyun 		uint64_t nbr0:1;
92*4882a593Smuzhiyun 		uint64_t nbr1:1;
93*4882a593Smuzhiyun 		uint64_t fidx:1;
94*4882a593Smuzhiyun 		uint64_t index:1;
95*4882a593Smuzhiyun 		uint64_t nbt0:1;
96*4882a593Smuzhiyun 		uint64_t nbt1:1;
97*4882a593Smuzhiyun 		uint64_t cam:1;
98*4882a593Smuzhiyun 		uint64_t reserved_9_15:7;
99*4882a593Smuzhiyun 		uint64_t pp:1;
100*4882a593Smuzhiyun 		uint64_t reserved_17_63:47;
101*4882a593Smuzhiyun #endif
102*4882a593Smuzhiyun 	} cn30xx;
103*4882a593Smuzhiyun 	struct cvmx_pow_bist_stat_cn31xx {
104*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD
105*4882a593Smuzhiyun 		uint64_t reserved_18_63:46;
106*4882a593Smuzhiyun 		uint64_t pp:2;
107*4882a593Smuzhiyun 		uint64_t reserved_9_15:7;
108*4882a593Smuzhiyun 		uint64_t cam:1;
109*4882a593Smuzhiyun 		uint64_t nbt1:1;
110*4882a593Smuzhiyun 		uint64_t nbt0:1;
111*4882a593Smuzhiyun 		uint64_t index:1;
112*4882a593Smuzhiyun 		uint64_t fidx:1;
113*4882a593Smuzhiyun 		uint64_t nbr1:1;
114*4882a593Smuzhiyun 		uint64_t nbr0:1;
115*4882a593Smuzhiyun 		uint64_t pend:1;
116*4882a593Smuzhiyun 		uint64_t adr:1;
117*4882a593Smuzhiyun #else
118*4882a593Smuzhiyun 		uint64_t adr:1;
119*4882a593Smuzhiyun 		uint64_t pend:1;
120*4882a593Smuzhiyun 		uint64_t nbr0:1;
121*4882a593Smuzhiyun 		uint64_t nbr1:1;
122*4882a593Smuzhiyun 		uint64_t fidx:1;
123*4882a593Smuzhiyun 		uint64_t index:1;
124*4882a593Smuzhiyun 		uint64_t nbt0:1;
125*4882a593Smuzhiyun 		uint64_t nbt1:1;
126*4882a593Smuzhiyun 		uint64_t cam:1;
127*4882a593Smuzhiyun 		uint64_t reserved_9_15:7;
128*4882a593Smuzhiyun 		uint64_t pp:2;
129*4882a593Smuzhiyun 		uint64_t reserved_18_63:46;
130*4882a593Smuzhiyun #endif
131*4882a593Smuzhiyun 	} cn31xx;
132*4882a593Smuzhiyun 	struct cvmx_pow_bist_stat_cn38xx {
133*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD
134*4882a593Smuzhiyun 		uint64_t reserved_32_63:32;
135*4882a593Smuzhiyun 		uint64_t pp:16;
136*4882a593Smuzhiyun 		uint64_t reserved_10_15:6;
137*4882a593Smuzhiyun 		uint64_t cam:1;
138*4882a593Smuzhiyun 		uint64_t nbt:1;
139*4882a593Smuzhiyun 		uint64_t index:1;
140*4882a593Smuzhiyun 		uint64_t fidx:1;
141*4882a593Smuzhiyun 		uint64_t nbr1:1;
142*4882a593Smuzhiyun 		uint64_t nbr0:1;
143*4882a593Smuzhiyun 		uint64_t pend1:1;
144*4882a593Smuzhiyun 		uint64_t pend0:1;
145*4882a593Smuzhiyun 		uint64_t adr1:1;
146*4882a593Smuzhiyun 		uint64_t adr0:1;
147*4882a593Smuzhiyun #else
148*4882a593Smuzhiyun 		uint64_t adr0:1;
149*4882a593Smuzhiyun 		uint64_t adr1:1;
150*4882a593Smuzhiyun 		uint64_t pend0:1;
151*4882a593Smuzhiyun 		uint64_t pend1:1;
152*4882a593Smuzhiyun 		uint64_t nbr0:1;
153*4882a593Smuzhiyun 		uint64_t nbr1:1;
154*4882a593Smuzhiyun 		uint64_t fidx:1;
155*4882a593Smuzhiyun 		uint64_t index:1;
156*4882a593Smuzhiyun 		uint64_t nbt:1;
157*4882a593Smuzhiyun 		uint64_t cam:1;
158*4882a593Smuzhiyun 		uint64_t reserved_10_15:6;
159*4882a593Smuzhiyun 		uint64_t pp:16;
160*4882a593Smuzhiyun 		uint64_t reserved_32_63:32;
161*4882a593Smuzhiyun #endif
162*4882a593Smuzhiyun 	} cn38xx;
163*4882a593Smuzhiyun 	struct cvmx_pow_bist_stat_cn52xx {
164*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD
165*4882a593Smuzhiyun 		uint64_t reserved_20_63:44;
166*4882a593Smuzhiyun 		uint64_t pp:4;
167*4882a593Smuzhiyun 		uint64_t reserved_9_15:7;
168*4882a593Smuzhiyun 		uint64_t cam:1;
169*4882a593Smuzhiyun 		uint64_t nbt1:1;
170*4882a593Smuzhiyun 		uint64_t nbt0:1;
171*4882a593Smuzhiyun 		uint64_t index:1;
172*4882a593Smuzhiyun 		uint64_t fidx:1;
173*4882a593Smuzhiyun 		uint64_t nbr1:1;
174*4882a593Smuzhiyun 		uint64_t nbr0:1;
175*4882a593Smuzhiyun 		uint64_t pend:1;
176*4882a593Smuzhiyun 		uint64_t adr:1;
177*4882a593Smuzhiyun #else
178*4882a593Smuzhiyun 		uint64_t adr:1;
179*4882a593Smuzhiyun 		uint64_t pend:1;
180*4882a593Smuzhiyun 		uint64_t nbr0:1;
181*4882a593Smuzhiyun 		uint64_t nbr1:1;
182*4882a593Smuzhiyun 		uint64_t fidx:1;
183*4882a593Smuzhiyun 		uint64_t index:1;
184*4882a593Smuzhiyun 		uint64_t nbt0:1;
185*4882a593Smuzhiyun 		uint64_t nbt1:1;
186*4882a593Smuzhiyun 		uint64_t cam:1;
187*4882a593Smuzhiyun 		uint64_t reserved_9_15:7;
188*4882a593Smuzhiyun 		uint64_t pp:4;
189*4882a593Smuzhiyun 		uint64_t reserved_20_63:44;
190*4882a593Smuzhiyun #endif
191*4882a593Smuzhiyun 	} cn52xx;
192*4882a593Smuzhiyun 	struct cvmx_pow_bist_stat_cn56xx {
193*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD
194*4882a593Smuzhiyun 		uint64_t reserved_28_63:36;
195*4882a593Smuzhiyun 		uint64_t pp:12;
196*4882a593Smuzhiyun 		uint64_t reserved_10_15:6;
197*4882a593Smuzhiyun 		uint64_t cam:1;
198*4882a593Smuzhiyun 		uint64_t nbt:1;
199*4882a593Smuzhiyun 		uint64_t index:1;
200*4882a593Smuzhiyun 		uint64_t fidx:1;
201*4882a593Smuzhiyun 		uint64_t nbr1:1;
202*4882a593Smuzhiyun 		uint64_t nbr0:1;
203*4882a593Smuzhiyun 		uint64_t pend1:1;
204*4882a593Smuzhiyun 		uint64_t pend0:1;
205*4882a593Smuzhiyun 		uint64_t adr1:1;
206*4882a593Smuzhiyun 		uint64_t adr0:1;
207*4882a593Smuzhiyun #else
208*4882a593Smuzhiyun 		uint64_t adr0:1;
209*4882a593Smuzhiyun 		uint64_t adr1:1;
210*4882a593Smuzhiyun 		uint64_t pend0:1;
211*4882a593Smuzhiyun 		uint64_t pend1:1;
212*4882a593Smuzhiyun 		uint64_t nbr0:1;
213*4882a593Smuzhiyun 		uint64_t nbr1:1;
214*4882a593Smuzhiyun 		uint64_t fidx:1;
215*4882a593Smuzhiyun 		uint64_t index:1;
216*4882a593Smuzhiyun 		uint64_t nbt:1;
217*4882a593Smuzhiyun 		uint64_t cam:1;
218*4882a593Smuzhiyun 		uint64_t reserved_10_15:6;
219*4882a593Smuzhiyun 		uint64_t pp:12;
220*4882a593Smuzhiyun 		uint64_t reserved_28_63:36;
221*4882a593Smuzhiyun #endif
222*4882a593Smuzhiyun 	} cn56xx;
223*4882a593Smuzhiyun 	struct cvmx_pow_bist_stat_cn61xx {
224*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD
225*4882a593Smuzhiyun 		uint64_t reserved_20_63:44;
226*4882a593Smuzhiyun 		uint64_t pp:4;
227*4882a593Smuzhiyun 		uint64_t reserved_12_15:4;
228*4882a593Smuzhiyun 		uint64_t cam:1;
229*4882a593Smuzhiyun 		uint64_t nbr:3;
230*4882a593Smuzhiyun 		uint64_t nbt:4;
231*4882a593Smuzhiyun 		uint64_t index:1;
232*4882a593Smuzhiyun 		uint64_t fidx:1;
233*4882a593Smuzhiyun 		uint64_t pend:1;
234*4882a593Smuzhiyun 		uint64_t adr:1;
235*4882a593Smuzhiyun #else
236*4882a593Smuzhiyun 		uint64_t adr:1;
237*4882a593Smuzhiyun 		uint64_t pend:1;
238*4882a593Smuzhiyun 		uint64_t fidx:1;
239*4882a593Smuzhiyun 		uint64_t index:1;
240*4882a593Smuzhiyun 		uint64_t nbt:4;
241*4882a593Smuzhiyun 		uint64_t nbr:3;
242*4882a593Smuzhiyun 		uint64_t cam:1;
243*4882a593Smuzhiyun 		uint64_t reserved_12_15:4;
244*4882a593Smuzhiyun 		uint64_t pp:4;
245*4882a593Smuzhiyun 		uint64_t reserved_20_63:44;
246*4882a593Smuzhiyun #endif
247*4882a593Smuzhiyun 	} cn61xx;
248*4882a593Smuzhiyun 	struct cvmx_pow_bist_stat_cn63xx {
249*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD
250*4882a593Smuzhiyun 		uint64_t reserved_22_63:42;
251*4882a593Smuzhiyun 		uint64_t pp:6;
252*4882a593Smuzhiyun 		uint64_t reserved_12_15:4;
253*4882a593Smuzhiyun 		uint64_t cam:1;
254*4882a593Smuzhiyun 		uint64_t nbr:3;
255*4882a593Smuzhiyun 		uint64_t nbt:4;
256*4882a593Smuzhiyun 		uint64_t index:1;
257*4882a593Smuzhiyun 		uint64_t fidx:1;
258*4882a593Smuzhiyun 		uint64_t pend:1;
259*4882a593Smuzhiyun 		uint64_t adr:1;
260*4882a593Smuzhiyun #else
261*4882a593Smuzhiyun 		uint64_t adr:1;
262*4882a593Smuzhiyun 		uint64_t pend:1;
263*4882a593Smuzhiyun 		uint64_t fidx:1;
264*4882a593Smuzhiyun 		uint64_t index:1;
265*4882a593Smuzhiyun 		uint64_t nbt:4;
266*4882a593Smuzhiyun 		uint64_t nbr:3;
267*4882a593Smuzhiyun 		uint64_t cam:1;
268*4882a593Smuzhiyun 		uint64_t reserved_12_15:4;
269*4882a593Smuzhiyun 		uint64_t pp:6;
270*4882a593Smuzhiyun 		uint64_t reserved_22_63:42;
271*4882a593Smuzhiyun #endif
272*4882a593Smuzhiyun 	} cn63xx;
273*4882a593Smuzhiyun 	struct cvmx_pow_bist_stat_cn66xx {
274*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD
275*4882a593Smuzhiyun 		uint64_t reserved_26_63:38;
276*4882a593Smuzhiyun 		uint64_t pp:10;
277*4882a593Smuzhiyun 		uint64_t reserved_12_15:4;
278*4882a593Smuzhiyun 		uint64_t cam:1;
279*4882a593Smuzhiyun 		uint64_t nbr:3;
280*4882a593Smuzhiyun 		uint64_t nbt:4;
281*4882a593Smuzhiyun 		uint64_t index:1;
282*4882a593Smuzhiyun 		uint64_t fidx:1;
283*4882a593Smuzhiyun 		uint64_t pend:1;
284*4882a593Smuzhiyun 		uint64_t adr:1;
285*4882a593Smuzhiyun #else
286*4882a593Smuzhiyun 		uint64_t adr:1;
287*4882a593Smuzhiyun 		uint64_t pend:1;
288*4882a593Smuzhiyun 		uint64_t fidx:1;
289*4882a593Smuzhiyun 		uint64_t index:1;
290*4882a593Smuzhiyun 		uint64_t nbt:4;
291*4882a593Smuzhiyun 		uint64_t nbr:3;
292*4882a593Smuzhiyun 		uint64_t cam:1;
293*4882a593Smuzhiyun 		uint64_t reserved_12_15:4;
294*4882a593Smuzhiyun 		uint64_t pp:10;
295*4882a593Smuzhiyun 		uint64_t reserved_26_63:38;
296*4882a593Smuzhiyun #endif
297*4882a593Smuzhiyun 	} cn66xx;
298*4882a593Smuzhiyun };
299*4882a593Smuzhiyun 
300*4882a593Smuzhiyun union cvmx_pow_ds_pc {
301*4882a593Smuzhiyun 	uint64_t u64;
302*4882a593Smuzhiyun 	struct cvmx_pow_ds_pc_s {
303*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD
304*4882a593Smuzhiyun 		uint64_t reserved_32_63:32;
305*4882a593Smuzhiyun 		uint64_t ds_pc:32;
306*4882a593Smuzhiyun #else
307*4882a593Smuzhiyun 		uint64_t ds_pc:32;
308*4882a593Smuzhiyun 		uint64_t reserved_32_63:32;
309*4882a593Smuzhiyun #endif
310*4882a593Smuzhiyun 	} s;
311*4882a593Smuzhiyun };
312*4882a593Smuzhiyun 
313*4882a593Smuzhiyun union cvmx_pow_ecc_err {
314*4882a593Smuzhiyun 	uint64_t u64;
315*4882a593Smuzhiyun 	struct cvmx_pow_ecc_err_s {
316*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD
317*4882a593Smuzhiyun 		uint64_t reserved_45_63:19;
318*4882a593Smuzhiyun 		uint64_t iop_ie:13;
319*4882a593Smuzhiyun 		uint64_t reserved_29_31:3;
320*4882a593Smuzhiyun 		uint64_t iop:13;
321*4882a593Smuzhiyun 		uint64_t reserved_14_15:2;
322*4882a593Smuzhiyun 		uint64_t rpe_ie:1;
323*4882a593Smuzhiyun 		uint64_t rpe:1;
324*4882a593Smuzhiyun 		uint64_t reserved_9_11:3;
325*4882a593Smuzhiyun 		uint64_t syn:5;
326*4882a593Smuzhiyun 		uint64_t dbe_ie:1;
327*4882a593Smuzhiyun 		uint64_t sbe_ie:1;
328*4882a593Smuzhiyun 		uint64_t dbe:1;
329*4882a593Smuzhiyun 		uint64_t sbe:1;
330*4882a593Smuzhiyun #else
331*4882a593Smuzhiyun 		uint64_t sbe:1;
332*4882a593Smuzhiyun 		uint64_t dbe:1;
333*4882a593Smuzhiyun 		uint64_t sbe_ie:1;
334*4882a593Smuzhiyun 		uint64_t dbe_ie:1;
335*4882a593Smuzhiyun 		uint64_t syn:5;
336*4882a593Smuzhiyun 		uint64_t reserved_9_11:3;
337*4882a593Smuzhiyun 		uint64_t rpe:1;
338*4882a593Smuzhiyun 		uint64_t rpe_ie:1;
339*4882a593Smuzhiyun 		uint64_t reserved_14_15:2;
340*4882a593Smuzhiyun 		uint64_t iop:13;
341*4882a593Smuzhiyun 		uint64_t reserved_29_31:3;
342*4882a593Smuzhiyun 		uint64_t iop_ie:13;
343*4882a593Smuzhiyun 		uint64_t reserved_45_63:19;
344*4882a593Smuzhiyun #endif
345*4882a593Smuzhiyun 	} s;
346*4882a593Smuzhiyun 	struct cvmx_pow_ecc_err_cn31xx {
347*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD
348*4882a593Smuzhiyun 		uint64_t reserved_14_63:50;
349*4882a593Smuzhiyun 		uint64_t rpe_ie:1;
350*4882a593Smuzhiyun 		uint64_t rpe:1;
351*4882a593Smuzhiyun 		uint64_t reserved_9_11:3;
352*4882a593Smuzhiyun 		uint64_t syn:5;
353*4882a593Smuzhiyun 		uint64_t dbe_ie:1;
354*4882a593Smuzhiyun 		uint64_t sbe_ie:1;
355*4882a593Smuzhiyun 		uint64_t dbe:1;
356*4882a593Smuzhiyun 		uint64_t sbe:1;
357*4882a593Smuzhiyun #else
358*4882a593Smuzhiyun 		uint64_t sbe:1;
359*4882a593Smuzhiyun 		uint64_t dbe:1;
360*4882a593Smuzhiyun 		uint64_t sbe_ie:1;
361*4882a593Smuzhiyun 		uint64_t dbe_ie:1;
362*4882a593Smuzhiyun 		uint64_t syn:5;
363*4882a593Smuzhiyun 		uint64_t reserved_9_11:3;
364*4882a593Smuzhiyun 		uint64_t rpe:1;
365*4882a593Smuzhiyun 		uint64_t rpe_ie:1;
366*4882a593Smuzhiyun 		uint64_t reserved_14_63:50;
367*4882a593Smuzhiyun #endif
368*4882a593Smuzhiyun 	} cn31xx;
369*4882a593Smuzhiyun };
370*4882a593Smuzhiyun 
371*4882a593Smuzhiyun union cvmx_pow_int_ctl {
372*4882a593Smuzhiyun 	uint64_t u64;
373*4882a593Smuzhiyun 	struct cvmx_pow_int_ctl_s {
374*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD
375*4882a593Smuzhiyun 		uint64_t reserved_6_63:58;
376*4882a593Smuzhiyun 		uint64_t pfr_dis:1;
377*4882a593Smuzhiyun 		uint64_t nbr_thr:5;
378*4882a593Smuzhiyun #else
379*4882a593Smuzhiyun 		uint64_t nbr_thr:5;
380*4882a593Smuzhiyun 		uint64_t pfr_dis:1;
381*4882a593Smuzhiyun 		uint64_t reserved_6_63:58;
382*4882a593Smuzhiyun #endif
383*4882a593Smuzhiyun 	} s;
384*4882a593Smuzhiyun };
385*4882a593Smuzhiyun 
386*4882a593Smuzhiyun union cvmx_pow_iq_cntx {
387*4882a593Smuzhiyun 	uint64_t u64;
388*4882a593Smuzhiyun 	struct cvmx_pow_iq_cntx_s {
389*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD
390*4882a593Smuzhiyun 		uint64_t reserved_32_63:32;
391*4882a593Smuzhiyun 		uint64_t iq_cnt:32;
392*4882a593Smuzhiyun #else
393*4882a593Smuzhiyun 		uint64_t iq_cnt:32;
394*4882a593Smuzhiyun 		uint64_t reserved_32_63:32;
395*4882a593Smuzhiyun #endif
396*4882a593Smuzhiyun 	} s;
397*4882a593Smuzhiyun };
398*4882a593Smuzhiyun 
399*4882a593Smuzhiyun union cvmx_pow_iq_com_cnt {
400*4882a593Smuzhiyun 	uint64_t u64;
401*4882a593Smuzhiyun 	struct cvmx_pow_iq_com_cnt_s {
402*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD
403*4882a593Smuzhiyun 		uint64_t reserved_32_63:32;
404*4882a593Smuzhiyun 		uint64_t iq_cnt:32;
405*4882a593Smuzhiyun #else
406*4882a593Smuzhiyun 		uint64_t iq_cnt:32;
407*4882a593Smuzhiyun 		uint64_t reserved_32_63:32;
408*4882a593Smuzhiyun #endif
409*4882a593Smuzhiyun 	} s;
410*4882a593Smuzhiyun };
411*4882a593Smuzhiyun 
412*4882a593Smuzhiyun union cvmx_pow_iq_int {
413*4882a593Smuzhiyun 	uint64_t u64;
414*4882a593Smuzhiyun 	struct cvmx_pow_iq_int_s {
415*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD
416*4882a593Smuzhiyun 		uint64_t reserved_8_63:56;
417*4882a593Smuzhiyun 		uint64_t iq_int:8;
418*4882a593Smuzhiyun #else
419*4882a593Smuzhiyun 		uint64_t iq_int:8;
420*4882a593Smuzhiyun 		uint64_t reserved_8_63:56;
421*4882a593Smuzhiyun #endif
422*4882a593Smuzhiyun 	} s;
423*4882a593Smuzhiyun };
424*4882a593Smuzhiyun 
425*4882a593Smuzhiyun union cvmx_pow_iq_int_en {
426*4882a593Smuzhiyun 	uint64_t u64;
427*4882a593Smuzhiyun 	struct cvmx_pow_iq_int_en_s {
428*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD
429*4882a593Smuzhiyun 		uint64_t reserved_8_63:56;
430*4882a593Smuzhiyun 		uint64_t int_en:8;
431*4882a593Smuzhiyun #else
432*4882a593Smuzhiyun 		uint64_t int_en:8;
433*4882a593Smuzhiyun 		uint64_t reserved_8_63:56;
434*4882a593Smuzhiyun #endif
435*4882a593Smuzhiyun 	} s;
436*4882a593Smuzhiyun };
437*4882a593Smuzhiyun 
438*4882a593Smuzhiyun union cvmx_pow_iq_thrx {
439*4882a593Smuzhiyun 	uint64_t u64;
440*4882a593Smuzhiyun 	struct cvmx_pow_iq_thrx_s {
441*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD
442*4882a593Smuzhiyun 		uint64_t reserved_32_63:32;
443*4882a593Smuzhiyun 		uint64_t iq_thr:32;
444*4882a593Smuzhiyun #else
445*4882a593Smuzhiyun 		uint64_t iq_thr:32;
446*4882a593Smuzhiyun 		uint64_t reserved_32_63:32;
447*4882a593Smuzhiyun #endif
448*4882a593Smuzhiyun 	} s;
449*4882a593Smuzhiyun };
450*4882a593Smuzhiyun 
451*4882a593Smuzhiyun union cvmx_pow_nos_cnt {
452*4882a593Smuzhiyun 	uint64_t u64;
453*4882a593Smuzhiyun 	struct cvmx_pow_nos_cnt_s {
454*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD
455*4882a593Smuzhiyun 		uint64_t reserved_12_63:52;
456*4882a593Smuzhiyun 		uint64_t nos_cnt:12;
457*4882a593Smuzhiyun #else
458*4882a593Smuzhiyun 		uint64_t nos_cnt:12;
459*4882a593Smuzhiyun 		uint64_t reserved_12_63:52;
460*4882a593Smuzhiyun #endif
461*4882a593Smuzhiyun 	} s;
462*4882a593Smuzhiyun 	struct cvmx_pow_nos_cnt_cn30xx {
463*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD
464*4882a593Smuzhiyun 		uint64_t reserved_7_63:57;
465*4882a593Smuzhiyun 		uint64_t nos_cnt:7;
466*4882a593Smuzhiyun #else
467*4882a593Smuzhiyun 		uint64_t nos_cnt:7;
468*4882a593Smuzhiyun 		uint64_t reserved_7_63:57;
469*4882a593Smuzhiyun #endif
470*4882a593Smuzhiyun 	} cn30xx;
471*4882a593Smuzhiyun 	struct cvmx_pow_nos_cnt_cn31xx {
472*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD
473*4882a593Smuzhiyun 		uint64_t reserved_9_63:55;
474*4882a593Smuzhiyun 		uint64_t nos_cnt:9;
475*4882a593Smuzhiyun #else
476*4882a593Smuzhiyun 		uint64_t nos_cnt:9;
477*4882a593Smuzhiyun 		uint64_t reserved_9_63:55;
478*4882a593Smuzhiyun #endif
479*4882a593Smuzhiyun 	} cn31xx;
480*4882a593Smuzhiyun 	struct cvmx_pow_nos_cnt_cn52xx {
481*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD
482*4882a593Smuzhiyun 		uint64_t reserved_10_63:54;
483*4882a593Smuzhiyun 		uint64_t nos_cnt:10;
484*4882a593Smuzhiyun #else
485*4882a593Smuzhiyun 		uint64_t nos_cnt:10;
486*4882a593Smuzhiyun 		uint64_t reserved_10_63:54;
487*4882a593Smuzhiyun #endif
488*4882a593Smuzhiyun 	} cn52xx;
489*4882a593Smuzhiyun 	struct cvmx_pow_nos_cnt_cn63xx {
490*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD
491*4882a593Smuzhiyun 		uint64_t reserved_11_63:53;
492*4882a593Smuzhiyun 		uint64_t nos_cnt:11;
493*4882a593Smuzhiyun #else
494*4882a593Smuzhiyun 		uint64_t nos_cnt:11;
495*4882a593Smuzhiyun 		uint64_t reserved_11_63:53;
496*4882a593Smuzhiyun #endif
497*4882a593Smuzhiyun 	} cn63xx;
498*4882a593Smuzhiyun };
499*4882a593Smuzhiyun 
500*4882a593Smuzhiyun union cvmx_pow_nw_tim {
501*4882a593Smuzhiyun 	uint64_t u64;
502*4882a593Smuzhiyun 	struct cvmx_pow_nw_tim_s {
503*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD
504*4882a593Smuzhiyun 		uint64_t reserved_10_63:54;
505*4882a593Smuzhiyun 		uint64_t nw_tim:10;
506*4882a593Smuzhiyun #else
507*4882a593Smuzhiyun 		uint64_t nw_tim:10;
508*4882a593Smuzhiyun 		uint64_t reserved_10_63:54;
509*4882a593Smuzhiyun #endif
510*4882a593Smuzhiyun 	} s;
511*4882a593Smuzhiyun };
512*4882a593Smuzhiyun 
513*4882a593Smuzhiyun union cvmx_pow_pf_rst_msk {
514*4882a593Smuzhiyun 	uint64_t u64;
515*4882a593Smuzhiyun 	struct cvmx_pow_pf_rst_msk_s {
516*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD
517*4882a593Smuzhiyun 		uint64_t reserved_8_63:56;
518*4882a593Smuzhiyun 		uint64_t rst_msk:8;
519*4882a593Smuzhiyun #else
520*4882a593Smuzhiyun 		uint64_t rst_msk:8;
521*4882a593Smuzhiyun 		uint64_t reserved_8_63:56;
522*4882a593Smuzhiyun #endif
523*4882a593Smuzhiyun 	} s;
524*4882a593Smuzhiyun };
525*4882a593Smuzhiyun 
526*4882a593Smuzhiyun union cvmx_pow_pp_grp_mskx {
527*4882a593Smuzhiyun 	uint64_t u64;
528*4882a593Smuzhiyun 	struct cvmx_pow_pp_grp_mskx_s {
529*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD
530*4882a593Smuzhiyun 		uint64_t reserved_48_63:16;
531*4882a593Smuzhiyun 		uint64_t qos7_pri:4;
532*4882a593Smuzhiyun 		uint64_t qos6_pri:4;
533*4882a593Smuzhiyun 		uint64_t qos5_pri:4;
534*4882a593Smuzhiyun 		uint64_t qos4_pri:4;
535*4882a593Smuzhiyun 		uint64_t qos3_pri:4;
536*4882a593Smuzhiyun 		uint64_t qos2_pri:4;
537*4882a593Smuzhiyun 		uint64_t qos1_pri:4;
538*4882a593Smuzhiyun 		uint64_t qos0_pri:4;
539*4882a593Smuzhiyun 		uint64_t grp_msk:16;
540*4882a593Smuzhiyun #else
541*4882a593Smuzhiyun 		uint64_t grp_msk:16;
542*4882a593Smuzhiyun 		uint64_t qos0_pri:4;
543*4882a593Smuzhiyun 		uint64_t qos1_pri:4;
544*4882a593Smuzhiyun 		uint64_t qos2_pri:4;
545*4882a593Smuzhiyun 		uint64_t qos3_pri:4;
546*4882a593Smuzhiyun 		uint64_t qos4_pri:4;
547*4882a593Smuzhiyun 		uint64_t qos5_pri:4;
548*4882a593Smuzhiyun 		uint64_t qos6_pri:4;
549*4882a593Smuzhiyun 		uint64_t qos7_pri:4;
550*4882a593Smuzhiyun 		uint64_t reserved_48_63:16;
551*4882a593Smuzhiyun #endif
552*4882a593Smuzhiyun 	} s;
553*4882a593Smuzhiyun 	struct cvmx_pow_pp_grp_mskx_cn30xx {
554*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD
555*4882a593Smuzhiyun 		uint64_t reserved_16_63:48;
556*4882a593Smuzhiyun 		uint64_t grp_msk:16;
557*4882a593Smuzhiyun #else
558*4882a593Smuzhiyun 		uint64_t grp_msk:16;
559*4882a593Smuzhiyun 		uint64_t reserved_16_63:48;
560*4882a593Smuzhiyun #endif
561*4882a593Smuzhiyun 	} cn30xx;
562*4882a593Smuzhiyun };
563*4882a593Smuzhiyun 
564*4882a593Smuzhiyun union cvmx_pow_qos_rndx {
565*4882a593Smuzhiyun 	uint64_t u64;
566*4882a593Smuzhiyun 	struct cvmx_pow_qos_rndx_s {
567*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD
568*4882a593Smuzhiyun 		uint64_t reserved_32_63:32;
569*4882a593Smuzhiyun 		uint64_t rnd_p3:8;
570*4882a593Smuzhiyun 		uint64_t rnd_p2:8;
571*4882a593Smuzhiyun 		uint64_t rnd_p1:8;
572*4882a593Smuzhiyun 		uint64_t rnd:8;
573*4882a593Smuzhiyun #else
574*4882a593Smuzhiyun 		uint64_t rnd:8;
575*4882a593Smuzhiyun 		uint64_t rnd_p1:8;
576*4882a593Smuzhiyun 		uint64_t rnd_p2:8;
577*4882a593Smuzhiyun 		uint64_t rnd_p3:8;
578*4882a593Smuzhiyun 		uint64_t reserved_32_63:32;
579*4882a593Smuzhiyun #endif
580*4882a593Smuzhiyun 	} s;
581*4882a593Smuzhiyun };
582*4882a593Smuzhiyun 
583*4882a593Smuzhiyun union cvmx_pow_qos_thrx {
584*4882a593Smuzhiyun 	uint64_t u64;
585*4882a593Smuzhiyun 	struct cvmx_pow_qos_thrx_s {
586*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD
587*4882a593Smuzhiyun 		uint64_t reserved_60_63:4;
588*4882a593Smuzhiyun 		uint64_t des_cnt:12;
589*4882a593Smuzhiyun 		uint64_t buf_cnt:12;
590*4882a593Smuzhiyun 		uint64_t free_cnt:12;
591*4882a593Smuzhiyun 		uint64_t reserved_23_23:1;
592*4882a593Smuzhiyun 		uint64_t max_thr:11;
593*4882a593Smuzhiyun 		uint64_t reserved_11_11:1;
594*4882a593Smuzhiyun 		uint64_t min_thr:11;
595*4882a593Smuzhiyun #else
596*4882a593Smuzhiyun 		uint64_t min_thr:11;
597*4882a593Smuzhiyun 		uint64_t reserved_11_11:1;
598*4882a593Smuzhiyun 		uint64_t max_thr:11;
599*4882a593Smuzhiyun 		uint64_t reserved_23_23:1;
600*4882a593Smuzhiyun 		uint64_t free_cnt:12;
601*4882a593Smuzhiyun 		uint64_t buf_cnt:12;
602*4882a593Smuzhiyun 		uint64_t des_cnt:12;
603*4882a593Smuzhiyun 		uint64_t reserved_60_63:4;
604*4882a593Smuzhiyun #endif
605*4882a593Smuzhiyun 	} s;
606*4882a593Smuzhiyun 	struct cvmx_pow_qos_thrx_cn30xx {
607*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD
608*4882a593Smuzhiyun 		uint64_t reserved_55_63:9;
609*4882a593Smuzhiyun 		uint64_t des_cnt:7;
610*4882a593Smuzhiyun 		uint64_t reserved_43_47:5;
611*4882a593Smuzhiyun 		uint64_t buf_cnt:7;
612*4882a593Smuzhiyun 		uint64_t reserved_31_35:5;
613*4882a593Smuzhiyun 		uint64_t free_cnt:7;
614*4882a593Smuzhiyun 		uint64_t reserved_18_23:6;
615*4882a593Smuzhiyun 		uint64_t max_thr:6;
616*4882a593Smuzhiyun 		uint64_t reserved_6_11:6;
617*4882a593Smuzhiyun 		uint64_t min_thr:6;
618*4882a593Smuzhiyun #else
619*4882a593Smuzhiyun 		uint64_t min_thr:6;
620*4882a593Smuzhiyun 		uint64_t reserved_6_11:6;
621*4882a593Smuzhiyun 		uint64_t max_thr:6;
622*4882a593Smuzhiyun 		uint64_t reserved_18_23:6;
623*4882a593Smuzhiyun 		uint64_t free_cnt:7;
624*4882a593Smuzhiyun 		uint64_t reserved_31_35:5;
625*4882a593Smuzhiyun 		uint64_t buf_cnt:7;
626*4882a593Smuzhiyun 		uint64_t reserved_43_47:5;
627*4882a593Smuzhiyun 		uint64_t des_cnt:7;
628*4882a593Smuzhiyun 		uint64_t reserved_55_63:9;
629*4882a593Smuzhiyun #endif
630*4882a593Smuzhiyun 	} cn30xx;
631*4882a593Smuzhiyun 	struct cvmx_pow_qos_thrx_cn31xx {
632*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD
633*4882a593Smuzhiyun 		uint64_t reserved_57_63:7;
634*4882a593Smuzhiyun 		uint64_t des_cnt:9;
635*4882a593Smuzhiyun 		uint64_t reserved_45_47:3;
636*4882a593Smuzhiyun 		uint64_t buf_cnt:9;
637*4882a593Smuzhiyun 		uint64_t reserved_33_35:3;
638*4882a593Smuzhiyun 		uint64_t free_cnt:9;
639*4882a593Smuzhiyun 		uint64_t reserved_20_23:4;
640*4882a593Smuzhiyun 		uint64_t max_thr:8;
641*4882a593Smuzhiyun 		uint64_t reserved_8_11:4;
642*4882a593Smuzhiyun 		uint64_t min_thr:8;
643*4882a593Smuzhiyun #else
644*4882a593Smuzhiyun 		uint64_t min_thr:8;
645*4882a593Smuzhiyun 		uint64_t reserved_8_11:4;
646*4882a593Smuzhiyun 		uint64_t max_thr:8;
647*4882a593Smuzhiyun 		uint64_t reserved_20_23:4;
648*4882a593Smuzhiyun 		uint64_t free_cnt:9;
649*4882a593Smuzhiyun 		uint64_t reserved_33_35:3;
650*4882a593Smuzhiyun 		uint64_t buf_cnt:9;
651*4882a593Smuzhiyun 		uint64_t reserved_45_47:3;
652*4882a593Smuzhiyun 		uint64_t des_cnt:9;
653*4882a593Smuzhiyun 		uint64_t reserved_57_63:7;
654*4882a593Smuzhiyun #endif
655*4882a593Smuzhiyun 	} cn31xx;
656*4882a593Smuzhiyun 	struct cvmx_pow_qos_thrx_cn52xx {
657*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD
658*4882a593Smuzhiyun 		uint64_t reserved_58_63:6;
659*4882a593Smuzhiyun 		uint64_t des_cnt:10;
660*4882a593Smuzhiyun 		uint64_t reserved_46_47:2;
661*4882a593Smuzhiyun 		uint64_t buf_cnt:10;
662*4882a593Smuzhiyun 		uint64_t reserved_34_35:2;
663*4882a593Smuzhiyun 		uint64_t free_cnt:10;
664*4882a593Smuzhiyun 		uint64_t reserved_21_23:3;
665*4882a593Smuzhiyun 		uint64_t max_thr:9;
666*4882a593Smuzhiyun 		uint64_t reserved_9_11:3;
667*4882a593Smuzhiyun 		uint64_t min_thr:9;
668*4882a593Smuzhiyun #else
669*4882a593Smuzhiyun 		uint64_t min_thr:9;
670*4882a593Smuzhiyun 		uint64_t reserved_9_11:3;
671*4882a593Smuzhiyun 		uint64_t max_thr:9;
672*4882a593Smuzhiyun 		uint64_t reserved_21_23:3;
673*4882a593Smuzhiyun 		uint64_t free_cnt:10;
674*4882a593Smuzhiyun 		uint64_t reserved_34_35:2;
675*4882a593Smuzhiyun 		uint64_t buf_cnt:10;
676*4882a593Smuzhiyun 		uint64_t reserved_46_47:2;
677*4882a593Smuzhiyun 		uint64_t des_cnt:10;
678*4882a593Smuzhiyun 		uint64_t reserved_58_63:6;
679*4882a593Smuzhiyun #endif
680*4882a593Smuzhiyun 	} cn52xx;
681*4882a593Smuzhiyun 	struct cvmx_pow_qos_thrx_cn63xx {
682*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD
683*4882a593Smuzhiyun 		uint64_t reserved_59_63:5;
684*4882a593Smuzhiyun 		uint64_t des_cnt:11;
685*4882a593Smuzhiyun 		uint64_t reserved_47_47:1;
686*4882a593Smuzhiyun 		uint64_t buf_cnt:11;
687*4882a593Smuzhiyun 		uint64_t reserved_35_35:1;
688*4882a593Smuzhiyun 		uint64_t free_cnt:11;
689*4882a593Smuzhiyun 		uint64_t reserved_22_23:2;
690*4882a593Smuzhiyun 		uint64_t max_thr:10;
691*4882a593Smuzhiyun 		uint64_t reserved_10_11:2;
692*4882a593Smuzhiyun 		uint64_t min_thr:10;
693*4882a593Smuzhiyun #else
694*4882a593Smuzhiyun 		uint64_t min_thr:10;
695*4882a593Smuzhiyun 		uint64_t reserved_10_11:2;
696*4882a593Smuzhiyun 		uint64_t max_thr:10;
697*4882a593Smuzhiyun 		uint64_t reserved_22_23:2;
698*4882a593Smuzhiyun 		uint64_t free_cnt:11;
699*4882a593Smuzhiyun 		uint64_t reserved_35_35:1;
700*4882a593Smuzhiyun 		uint64_t buf_cnt:11;
701*4882a593Smuzhiyun 		uint64_t reserved_47_47:1;
702*4882a593Smuzhiyun 		uint64_t des_cnt:11;
703*4882a593Smuzhiyun 		uint64_t reserved_59_63:5;
704*4882a593Smuzhiyun #endif
705*4882a593Smuzhiyun 	} cn63xx;
706*4882a593Smuzhiyun };
707*4882a593Smuzhiyun 
708*4882a593Smuzhiyun union cvmx_pow_ts_pc {
709*4882a593Smuzhiyun 	uint64_t u64;
710*4882a593Smuzhiyun 	struct cvmx_pow_ts_pc_s {
711*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD
712*4882a593Smuzhiyun 		uint64_t reserved_32_63:32;
713*4882a593Smuzhiyun 		uint64_t ts_pc:32;
714*4882a593Smuzhiyun #else
715*4882a593Smuzhiyun 		uint64_t ts_pc:32;
716*4882a593Smuzhiyun 		uint64_t reserved_32_63:32;
717*4882a593Smuzhiyun #endif
718*4882a593Smuzhiyun 	} s;
719*4882a593Smuzhiyun };
720*4882a593Smuzhiyun 
721*4882a593Smuzhiyun union cvmx_pow_wa_com_pc {
722*4882a593Smuzhiyun 	uint64_t u64;
723*4882a593Smuzhiyun 	struct cvmx_pow_wa_com_pc_s {
724*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD
725*4882a593Smuzhiyun 		uint64_t reserved_32_63:32;
726*4882a593Smuzhiyun 		uint64_t wa_pc:32;
727*4882a593Smuzhiyun #else
728*4882a593Smuzhiyun 		uint64_t wa_pc:32;
729*4882a593Smuzhiyun 		uint64_t reserved_32_63:32;
730*4882a593Smuzhiyun #endif
731*4882a593Smuzhiyun 	} s;
732*4882a593Smuzhiyun };
733*4882a593Smuzhiyun 
734*4882a593Smuzhiyun union cvmx_pow_wa_pcx {
735*4882a593Smuzhiyun 	uint64_t u64;
736*4882a593Smuzhiyun 	struct cvmx_pow_wa_pcx_s {
737*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD
738*4882a593Smuzhiyun 		uint64_t reserved_32_63:32;
739*4882a593Smuzhiyun 		uint64_t wa_pc:32;
740*4882a593Smuzhiyun #else
741*4882a593Smuzhiyun 		uint64_t wa_pc:32;
742*4882a593Smuzhiyun 		uint64_t reserved_32_63:32;
743*4882a593Smuzhiyun #endif
744*4882a593Smuzhiyun 	} s;
745*4882a593Smuzhiyun };
746*4882a593Smuzhiyun 
747*4882a593Smuzhiyun union cvmx_pow_wq_int {
748*4882a593Smuzhiyun 	uint64_t u64;
749*4882a593Smuzhiyun 	struct cvmx_pow_wq_int_s {
750*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD
751*4882a593Smuzhiyun 		uint64_t reserved_32_63:32;
752*4882a593Smuzhiyun 		uint64_t iq_dis:16;
753*4882a593Smuzhiyun 		uint64_t wq_int:16;
754*4882a593Smuzhiyun #else
755*4882a593Smuzhiyun 		uint64_t wq_int:16;
756*4882a593Smuzhiyun 		uint64_t iq_dis:16;
757*4882a593Smuzhiyun 		uint64_t reserved_32_63:32;
758*4882a593Smuzhiyun #endif
759*4882a593Smuzhiyun 	} s;
760*4882a593Smuzhiyun };
761*4882a593Smuzhiyun 
762*4882a593Smuzhiyun union cvmx_pow_wq_int_cntx {
763*4882a593Smuzhiyun 	uint64_t u64;
764*4882a593Smuzhiyun 	struct cvmx_pow_wq_int_cntx_s {
765*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD
766*4882a593Smuzhiyun 		uint64_t reserved_28_63:36;
767*4882a593Smuzhiyun 		uint64_t tc_cnt:4;
768*4882a593Smuzhiyun 		uint64_t ds_cnt:12;
769*4882a593Smuzhiyun 		uint64_t iq_cnt:12;
770*4882a593Smuzhiyun #else
771*4882a593Smuzhiyun 		uint64_t iq_cnt:12;
772*4882a593Smuzhiyun 		uint64_t ds_cnt:12;
773*4882a593Smuzhiyun 		uint64_t tc_cnt:4;
774*4882a593Smuzhiyun 		uint64_t reserved_28_63:36;
775*4882a593Smuzhiyun #endif
776*4882a593Smuzhiyun 	} s;
777*4882a593Smuzhiyun 	struct cvmx_pow_wq_int_cntx_cn30xx {
778*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD
779*4882a593Smuzhiyun 		uint64_t reserved_28_63:36;
780*4882a593Smuzhiyun 		uint64_t tc_cnt:4;
781*4882a593Smuzhiyun 		uint64_t reserved_19_23:5;
782*4882a593Smuzhiyun 		uint64_t ds_cnt:7;
783*4882a593Smuzhiyun 		uint64_t reserved_7_11:5;
784*4882a593Smuzhiyun 		uint64_t iq_cnt:7;
785*4882a593Smuzhiyun #else
786*4882a593Smuzhiyun 		uint64_t iq_cnt:7;
787*4882a593Smuzhiyun 		uint64_t reserved_7_11:5;
788*4882a593Smuzhiyun 		uint64_t ds_cnt:7;
789*4882a593Smuzhiyun 		uint64_t reserved_19_23:5;
790*4882a593Smuzhiyun 		uint64_t tc_cnt:4;
791*4882a593Smuzhiyun 		uint64_t reserved_28_63:36;
792*4882a593Smuzhiyun #endif
793*4882a593Smuzhiyun 	} cn30xx;
794*4882a593Smuzhiyun 	struct cvmx_pow_wq_int_cntx_cn31xx {
795*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD
796*4882a593Smuzhiyun 		uint64_t reserved_28_63:36;
797*4882a593Smuzhiyun 		uint64_t tc_cnt:4;
798*4882a593Smuzhiyun 		uint64_t reserved_21_23:3;
799*4882a593Smuzhiyun 		uint64_t ds_cnt:9;
800*4882a593Smuzhiyun 		uint64_t reserved_9_11:3;
801*4882a593Smuzhiyun 		uint64_t iq_cnt:9;
802*4882a593Smuzhiyun #else
803*4882a593Smuzhiyun 		uint64_t iq_cnt:9;
804*4882a593Smuzhiyun 		uint64_t reserved_9_11:3;
805*4882a593Smuzhiyun 		uint64_t ds_cnt:9;
806*4882a593Smuzhiyun 		uint64_t reserved_21_23:3;
807*4882a593Smuzhiyun 		uint64_t tc_cnt:4;
808*4882a593Smuzhiyun 		uint64_t reserved_28_63:36;
809*4882a593Smuzhiyun #endif
810*4882a593Smuzhiyun 	} cn31xx;
811*4882a593Smuzhiyun 	struct cvmx_pow_wq_int_cntx_cn52xx {
812*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD
813*4882a593Smuzhiyun 		uint64_t reserved_28_63:36;
814*4882a593Smuzhiyun 		uint64_t tc_cnt:4;
815*4882a593Smuzhiyun 		uint64_t reserved_22_23:2;
816*4882a593Smuzhiyun 		uint64_t ds_cnt:10;
817*4882a593Smuzhiyun 		uint64_t reserved_10_11:2;
818*4882a593Smuzhiyun 		uint64_t iq_cnt:10;
819*4882a593Smuzhiyun #else
820*4882a593Smuzhiyun 		uint64_t iq_cnt:10;
821*4882a593Smuzhiyun 		uint64_t reserved_10_11:2;
822*4882a593Smuzhiyun 		uint64_t ds_cnt:10;
823*4882a593Smuzhiyun 		uint64_t reserved_22_23:2;
824*4882a593Smuzhiyun 		uint64_t tc_cnt:4;
825*4882a593Smuzhiyun 		uint64_t reserved_28_63:36;
826*4882a593Smuzhiyun #endif
827*4882a593Smuzhiyun 	} cn52xx;
828*4882a593Smuzhiyun 	struct cvmx_pow_wq_int_cntx_cn63xx {
829*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD
830*4882a593Smuzhiyun 		uint64_t reserved_28_63:36;
831*4882a593Smuzhiyun 		uint64_t tc_cnt:4;
832*4882a593Smuzhiyun 		uint64_t reserved_23_23:1;
833*4882a593Smuzhiyun 		uint64_t ds_cnt:11;
834*4882a593Smuzhiyun 		uint64_t reserved_11_11:1;
835*4882a593Smuzhiyun 		uint64_t iq_cnt:11;
836*4882a593Smuzhiyun #else
837*4882a593Smuzhiyun 		uint64_t iq_cnt:11;
838*4882a593Smuzhiyun 		uint64_t reserved_11_11:1;
839*4882a593Smuzhiyun 		uint64_t ds_cnt:11;
840*4882a593Smuzhiyun 		uint64_t reserved_23_23:1;
841*4882a593Smuzhiyun 		uint64_t tc_cnt:4;
842*4882a593Smuzhiyun 		uint64_t reserved_28_63:36;
843*4882a593Smuzhiyun #endif
844*4882a593Smuzhiyun 	} cn63xx;
845*4882a593Smuzhiyun };
846*4882a593Smuzhiyun 
847*4882a593Smuzhiyun union cvmx_pow_wq_int_pc {
848*4882a593Smuzhiyun 	uint64_t u64;
849*4882a593Smuzhiyun 	struct cvmx_pow_wq_int_pc_s {
850*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD
851*4882a593Smuzhiyun 		uint64_t reserved_60_63:4;
852*4882a593Smuzhiyun 		uint64_t pc:28;
853*4882a593Smuzhiyun 		uint64_t reserved_28_31:4;
854*4882a593Smuzhiyun 		uint64_t pc_thr:20;
855*4882a593Smuzhiyun 		uint64_t reserved_0_7:8;
856*4882a593Smuzhiyun #else
857*4882a593Smuzhiyun 		uint64_t reserved_0_7:8;
858*4882a593Smuzhiyun 		uint64_t pc_thr:20;
859*4882a593Smuzhiyun 		uint64_t reserved_28_31:4;
860*4882a593Smuzhiyun 		uint64_t pc:28;
861*4882a593Smuzhiyun 		uint64_t reserved_60_63:4;
862*4882a593Smuzhiyun #endif
863*4882a593Smuzhiyun 	} s;
864*4882a593Smuzhiyun };
865*4882a593Smuzhiyun 
866*4882a593Smuzhiyun union cvmx_pow_wq_int_thrx {
867*4882a593Smuzhiyun 	uint64_t u64;
868*4882a593Smuzhiyun 	struct cvmx_pow_wq_int_thrx_s {
869*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD
870*4882a593Smuzhiyun 		uint64_t reserved_29_63:35;
871*4882a593Smuzhiyun 		uint64_t tc_en:1;
872*4882a593Smuzhiyun 		uint64_t tc_thr:4;
873*4882a593Smuzhiyun 		uint64_t reserved_23_23:1;
874*4882a593Smuzhiyun 		uint64_t ds_thr:11;
875*4882a593Smuzhiyun 		uint64_t reserved_11_11:1;
876*4882a593Smuzhiyun 		uint64_t iq_thr:11;
877*4882a593Smuzhiyun #else
878*4882a593Smuzhiyun 		uint64_t iq_thr:11;
879*4882a593Smuzhiyun 		uint64_t reserved_11_11:1;
880*4882a593Smuzhiyun 		uint64_t ds_thr:11;
881*4882a593Smuzhiyun 		uint64_t reserved_23_23:1;
882*4882a593Smuzhiyun 		uint64_t tc_thr:4;
883*4882a593Smuzhiyun 		uint64_t tc_en:1;
884*4882a593Smuzhiyun 		uint64_t reserved_29_63:35;
885*4882a593Smuzhiyun #endif
886*4882a593Smuzhiyun 	} s;
887*4882a593Smuzhiyun 	struct cvmx_pow_wq_int_thrx_cn30xx {
888*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD
889*4882a593Smuzhiyun 		uint64_t reserved_29_63:35;
890*4882a593Smuzhiyun 		uint64_t tc_en:1;
891*4882a593Smuzhiyun 		uint64_t tc_thr:4;
892*4882a593Smuzhiyun 		uint64_t reserved_18_23:6;
893*4882a593Smuzhiyun 		uint64_t ds_thr:6;
894*4882a593Smuzhiyun 		uint64_t reserved_6_11:6;
895*4882a593Smuzhiyun 		uint64_t iq_thr:6;
896*4882a593Smuzhiyun #else
897*4882a593Smuzhiyun 		uint64_t iq_thr:6;
898*4882a593Smuzhiyun 		uint64_t reserved_6_11:6;
899*4882a593Smuzhiyun 		uint64_t ds_thr:6;
900*4882a593Smuzhiyun 		uint64_t reserved_18_23:6;
901*4882a593Smuzhiyun 		uint64_t tc_thr:4;
902*4882a593Smuzhiyun 		uint64_t tc_en:1;
903*4882a593Smuzhiyun 		uint64_t reserved_29_63:35;
904*4882a593Smuzhiyun #endif
905*4882a593Smuzhiyun 	} cn30xx;
906*4882a593Smuzhiyun 	struct cvmx_pow_wq_int_thrx_cn31xx {
907*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD
908*4882a593Smuzhiyun 		uint64_t reserved_29_63:35;
909*4882a593Smuzhiyun 		uint64_t tc_en:1;
910*4882a593Smuzhiyun 		uint64_t tc_thr:4;
911*4882a593Smuzhiyun 		uint64_t reserved_20_23:4;
912*4882a593Smuzhiyun 		uint64_t ds_thr:8;
913*4882a593Smuzhiyun 		uint64_t reserved_8_11:4;
914*4882a593Smuzhiyun 		uint64_t iq_thr:8;
915*4882a593Smuzhiyun #else
916*4882a593Smuzhiyun 		uint64_t iq_thr:8;
917*4882a593Smuzhiyun 		uint64_t reserved_8_11:4;
918*4882a593Smuzhiyun 		uint64_t ds_thr:8;
919*4882a593Smuzhiyun 		uint64_t reserved_20_23:4;
920*4882a593Smuzhiyun 		uint64_t tc_thr:4;
921*4882a593Smuzhiyun 		uint64_t tc_en:1;
922*4882a593Smuzhiyun 		uint64_t reserved_29_63:35;
923*4882a593Smuzhiyun #endif
924*4882a593Smuzhiyun 	} cn31xx;
925*4882a593Smuzhiyun 	struct cvmx_pow_wq_int_thrx_cn52xx {
926*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD
927*4882a593Smuzhiyun 		uint64_t reserved_29_63:35;
928*4882a593Smuzhiyun 		uint64_t tc_en:1;
929*4882a593Smuzhiyun 		uint64_t tc_thr:4;
930*4882a593Smuzhiyun 		uint64_t reserved_21_23:3;
931*4882a593Smuzhiyun 		uint64_t ds_thr:9;
932*4882a593Smuzhiyun 		uint64_t reserved_9_11:3;
933*4882a593Smuzhiyun 		uint64_t iq_thr:9;
934*4882a593Smuzhiyun #else
935*4882a593Smuzhiyun 		uint64_t iq_thr:9;
936*4882a593Smuzhiyun 		uint64_t reserved_9_11:3;
937*4882a593Smuzhiyun 		uint64_t ds_thr:9;
938*4882a593Smuzhiyun 		uint64_t reserved_21_23:3;
939*4882a593Smuzhiyun 		uint64_t tc_thr:4;
940*4882a593Smuzhiyun 		uint64_t tc_en:1;
941*4882a593Smuzhiyun 		uint64_t reserved_29_63:35;
942*4882a593Smuzhiyun #endif
943*4882a593Smuzhiyun 	} cn52xx;
944*4882a593Smuzhiyun 	struct cvmx_pow_wq_int_thrx_cn63xx {
945*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD
946*4882a593Smuzhiyun 		uint64_t reserved_29_63:35;
947*4882a593Smuzhiyun 		uint64_t tc_en:1;
948*4882a593Smuzhiyun 		uint64_t tc_thr:4;
949*4882a593Smuzhiyun 		uint64_t reserved_22_23:2;
950*4882a593Smuzhiyun 		uint64_t ds_thr:10;
951*4882a593Smuzhiyun 		uint64_t reserved_10_11:2;
952*4882a593Smuzhiyun 		uint64_t iq_thr:10;
953*4882a593Smuzhiyun #else
954*4882a593Smuzhiyun 		uint64_t iq_thr:10;
955*4882a593Smuzhiyun 		uint64_t reserved_10_11:2;
956*4882a593Smuzhiyun 		uint64_t ds_thr:10;
957*4882a593Smuzhiyun 		uint64_t reserved_22_23:2;
958*4882a593Smuzhiyun 		uint64_t tc_thr:4;
959*4882a593Smuzhiyun 		uint64_t tc_en:1;
960*4882a593Smuzhiyun 		uint64_t reserved_29_63:35;
961*4882a593Smuzhiyun #endif
962*4882a593Smuzhiyun 	} cn63xx;
963*4882a593Smuzhiyun };
964*4882a593Smuzhiyun 
965*4882a593Smuzhiyun union cvmx_pow_ws_pcx {
966*4882a593Smuzhiyun 	uint64_t u64;
967*4882a593Smuzhiyun 	struct cvmx_pow_ws_pcx_s {
968*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD
969*4882a593Smuzhiyun 		uint64_t reserved_32_63:32;
970*4882a593Smuzhiyun 		uint64_t ws_pc:32;
971*4882a593Smuzhiyun #else
972*4882a593Smuzhiyun 		uint64_t ws_pc:32;
973*4882a593Smuzhiyun 		uint64_t reserved_32_63:32;
974*4882a593Smuzhiyun #endif
975*4882a593Smuzhiyun 	} s;
976*4882a593Smuzhiyun };
977*4882a593Smuzhiyun 
978*4882a593Smuzhiyun union cvmx_sso_wq_int_thrx {
979*4882a593Smuzhiyun 	uint64_t u64;
980*4882a593Smuzhiyun 	struct {
981*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD
982*4882a593Smuzhiyun 		uint64_t reserved_33_63:31;
983*4882a593Smuzhiyun 		uint64_t tc_en:1;
984*4882a593Smuzhiyun 		uint64_t tc_thr:4;
985*4882a593Smuzhiyun 		uint64_t reserved_26_27:2;
986*4882a593Smuzhiyun 		uint64_t ds_thr:12;
987*4882a593Smuzhiyun 		uint64_t reserved_12_13:2;
988*4882a593Smuzhiyun 		uint64_t iq_thr:12;
989*4882a593Smuzhiyun #else
990*4882a593Smuzhiyun 		uint64_t iq_thr:12;
991*4882a593Smuzhiyun 		uint64_t reserved_12_13:2;
992*4882a593Smuzhiyun 		uint64_t ds_thr:12;
993*4882a593Smuzhiyun 		uint64_t reserved_26_27:2;
994*4882a593Smuzhiyun 		uint64_t tc_thr:4;
995*4882a593Smuzhiyun 		uint64_t tc_en:1;
996*4882a593Smuzhiyun 		uint64_t reserved_33_63:31;
997*4882a593Smuzhiyun #endif
998*4882a593Smuzhiyun 	} s;
999*4882a593Smuzhiyun };
1000*4882a593Smuzhiyun 
1001*4882a593Smuzhiyun #endif
1002