1 /***********************license start***************
2  * Author: Cavium Networks
3  *
4  * Contact: support@caviumnetworks.com
5  * This file is part of the OCTEON SDK
6  *
7  * Copyright (c) 2003-2012 Cavium Networks
8  *
9  * This file is free software; you can redistribute it and/or modify
10  * it under the terms of the GNU General Public License, Version 2, as
11  * published by the Free Software Foundation.
12  *
13  * This file is distributed in the hope that it will be useful, but
14  * AS-IS and WITHOUT ANY WARRANTY; without even the implied warranty
15  * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE, TITLE, or
16  * NONINFRINGEMENT.  See the GNU General Public License for more
17  * details.
18  *
19  * You should have received a copy of the GNU General Public License
20  * along with this file; if not, write to the Free Software
21  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
22  * or visit http://www.gnu.org/licenses/.
23  *
24  * This file may also be available under a different license from Cavium.
25  * Contact Cavium Networks for more information
26  ***********************license end**************************************/
27 
28 #ifndef __CVMX_FPA_DEFS_H__
29 #define __CVMX_FPA_DEFS_H__
30 
31 #define CVMX_FPA_ADDR_RANGE_ERROR (CVMX_ADD_IO_SEG(0x0001180028000458ull))
32 #define CVMX_FPA_BIST_STATUS (CVMX_ADD_IO_SEG(0x00011800280000E8ull))
33 #define CVMX_FPA_CTL_STATUS (CVMX_ADD_IO_SEG(0x0001180028000050ull))
34 #define CVMX_FPA_FPF0_MARKS (CVMX_ADD_IO_SEG(0x0001180028000000ull))
35 #define CVMX_FPA_FPF0_SIZE (CVMX_ADD_IO_SEG(0x0001180028000058ull))
36 #define CVMX_FPA_FPF1_MARKS CVMX_FPA_FPFX_MARKS(1)
37 #define CVMX_FPA_FPF2_MARKS CVMX_FPA_FPFX_MARKS(2)
38 #define CVMX_FPA_FPF3_MARKS CVMX_FPA_FPFX_MARKS(3)
39 #define CVMX_FPA_FPF4_MARKS CVMX_FPA_FPFX_MARKS(4)
40 #define CVMX_FPA_FPF5_MARKS CVMX_FPA_FPFX_MARKS(5)
41 #define CVMX_FPA_FPF6_MARKS CVMX_FPA_FPFX_MARKS(6)
42 #define CVMX_FPA_FPF7_MARKS CVMX_FPA_FPFX_MARKS(7)
43 #define CVMX_FPA_FPF8_MARKS (CVMX_ADD_IO_SEG(0x0001180028000240ull))
44 #define CVMX_FPA_FPF8_SIZE (CVMX_ADD_IO_SEG(0x0001180028000248ull))
45 #define CVMX_FPA_FPFX_MARKS(offset) (CVMX_ADD_IO_SEG(0x0001180028000008ull) + ((offset) & 7) * 8 - 8*1)
46 #define CVMX_FPA_FPFX_SIZE(offset) (CVMX_ADD_IO_SEG(0x0001180028000060ull) + ((offset) & 7) * 8 - 8*1)
47 #define CVMX_FPA_INT_ENB (CVMX_ADD_IO_SEG(0x0001180028000048ull))
48 #define CVMX_FPA_INT_SUM (CVMX_ADD_IO_SEG(0x0001180028000040ull))
49 #define CVMX_FPA_PACKET_THRESHOLD (CVMX_ADD_IO_SEG(0x0001180028000460ull))
50 #define CVMX_FPA_POOLX_END_ADDR(offset) (CVMX_ADD_IO_SEG(0x0001180028000358ull) + ((offset) & 15) * 8)
51 #define CVMX_FPA_POOLX_START_ADDR(offset) (CVMX_ADD_IO_SEG(0x0001180028000258ull) + ((offset) & 15) * 8)
52 #define CVMX_FPA_POOLX_THRESHOLD(offset) (CVMX_ADD_IO_SEG(0x0001180028000140ull) + ((offset) & 15) * 8)
53 #define CVMX_FPA_QUE0_PAGE_INDEX CVMX_FPA_QUEX_PAGE_INDEX(0)
54 #define CVMX_FPA_QUE1_PAGE_INDEX CVMX_FPA_QUEX_PAGE_INDEX(1)
55 #define CVMX_FPA_QUE2_PAGE_INDEX CVMX_FPA_QUEX_PAGE_INDEX(2)
56 #define CVMX_FPA_QUE3_PAGE_INDEX CVMX_FPA_QUEX_PAGE_INDEX(3)
57 #define CVMX_FPA_QUE4_PAGE_INDEX CVMX_FPA_QUEX_PAGE_INDEX(4)
58 #define CVMX_FPA_QUE5_PAGE_INDEX CVMX_FPA_QUEX_PAGE_INDEX(5)
59 #define CVMX_FPA_QUE6_PAGE_INDEX CVMX_FPA_QUEX_PAGE_INDEX(6)
60 #define CVMX_FPA_QUE7_PAGE_INDEX CVMX_FPA_QUEX_PAGE_INDEX(7)
61 #define CVMX_FPA_QUE8_PAGE_INDEX (CVMX_ADD_IO_SEG(0x0001180028000250ull))
62 #define CVMX_FPA_QUEX_AVAILABLE(offset) (CVMX_ADD_IO_SEG(0x0001180028000098ull) + ((offset) & 15) * 8)
63 #define CVMX_FPA_QUEX_PAGE_INDEX(offset) (CVMX_ADD_IO_SEG(0x00011800280000F0ull) + ((offset) & 7) * 8)
64 #define CVMX_FPA_QUE_ACT (CVMX_ADD_IO_SEG(0x0001180028000138ull))
65 #define CVMX_FPA_QUE_EXP (CVMX_ADD_IO_SEG(0x0001180028000130ull))
66 #define CVMX_FPA_WART_CTL (CVMX_ADD_IO_SEG(0x00011800280000D8ull))
67 #define CVMX_FPA_WART_STATUS (CVMX_ADD_IO_SEG(0x00011800280000E0ull))
68 #define CVMX_FPA_WQE_THRESHOLD (CVMX_ADD_IO_SEG(0x0001180028000468ull))
69 #define CVMX_FPA_CLK_COUNT (CVMX_ADD_IO_SEG(0x00012800000000F0ull))
70 
71 union cvmx_fpa_addr_range_error {
72 	uint64_t u64;
73 	struct cvmx_fpa_addr_range_error_s {
74 #ifdef __BIG_ENDIAN_BITFIELD
75 		uint64_t reserved_38_63:26;
76 		uint64_t pool:5;
77 		uint64_t addr:33;
78 #else
79 		uint64_t addr:33;
80 		uint64_t pool:5;
81 		uint64_t reserved_38_63:26;
82 #endif
83 	} s;
84 	struct cvmx_fpa_addr_range_error_s cn61xx;
85 	struct cvmx_fpa_addr_range_error_s cn66xx;
86 	struct cvmx_fpa_addr_range_error_s cn68xx;
87 	struct cvmx_fpa_addr_range_error_s cn68xxp1;
88 	struct cvmx_fpa_addr_range_error_s cnf71xx;
89 };
90 
91 union cvmx_fpa_bist_status {
92 	uint64_t u64;
93 	struct cvmx_fpa_bist_status_s {
94 #ifdef __BIG_ENDIAN_BITFIELD
95 		uint64_t reserved_5_63:59;
96 		uint64_t frd:1;
97 		uint64_t fpf0:1;
98 		uint64_t fpf1:1;
99 		uint64_t ffr:1;
100 		uint64_t fdr:1;
101 #else
102 		uint64_t fdr:1;
103 		uint64_t ffr:1;
104 		uint64_t fpf1:1;
105 		uint64_t fpf0:1;
106 		uint64_t frd:1;
107 		uint64_t reserved_5_63:59;
108 #endif
109 	} s;
110 	struct cvmx_fpa_bist_status_s cn30xx;
111 	struct cvmx_fpa_bist_status_s cn31xx;
112 	struct cvmx_fpa_bist_status_s cn38xx;
113 	struct cvmx_fpa_bist_status_s cn38xxp2;
114 	struct cvmx_fpa_bist_status_s cn50xx;
115 	struct cvmx_fpa_bist_status_s cn52xx;
116 	struct cvmx_fpa_bist_status_s cn52xxp1;
117 	struct cvmx_fpa_bist_status_s cn56xx;
118 	struct cvmx_fpa_bist_status_s cn56xxp1;
119 	struct cvmx_fpa_bist_status_s cn58xx;
120 	struct cvmx_fpa_bist_status_s cn58xxp1;
121 	struct cvmx_fpa_bist_status_s cn61xx;
122 	struct cvmx_fpa_bist_status_s cn63xx;
123 	struct cvmx_fpa_bist_status_s cn63xxp1;
124 	struct cvmx_fpa_bist_status_s cn66xx;
125 	struct cvmx_fpa_bist_status_s cn68xx;
126 	struct cvmx_fpa_bist_status_s cn68xxp1;
127 	struct cvmx_fpa_bist_status_s cnf71xx;
128 };
129 
130 union cvmx_fpa_ctl_status {
131 	uint64_t u64;
132 	struct cvmx_fpa_ctl_status_s {
133 #ifdef __BIG_ENDIAN_BITFIELD
134 		uint64_t reserved_21_63:43;
135 		uint64_t free_en:1;
136 		uint64_t ret_off:1;
137 		uint64_t req_off:1;
138 		uint64_t reset:1;
139 		uint64_t use_ldt:1;
140 		uint64_t use_stt:1;
141 		uint64_t enb:1;
142 		uint64_t mem1_err:7;
143 		uint64_t mem0_err:7;
144 #else
145 		uint64_t mem0_err:7;
146 		uint64_t mem1_err:7;
147 		uint64_t enb:1;
148 		uint64_t use_stt:1;
149 		uint64_t use_ldt:1;
150 		uint64_t reset:1;
151 		uint64_t req_off:1;
152 		uint64_t ret_off:1;
153 		uint64_t free_en:1;
154 		uint64_t reserved_21_63:43;
155 #endif
156 	} s;
157 	struct cvmx_fpa_ctl_status_cn30xx {
158 #ifdef __BIG_ENDIAN_BITFIELD
159 		uint64_t reserved_18_63:46;
160 		uint64_t reset:1;
161 		uint64_t use_ldt:1;
162 		uint64_t use_stt:1;
163 		uint64_t enb:1;
164 		uint64_t mem1_err:7;
165 		uint64_t mem0_err:7;
166 #else
167 		uint64_t mem0_err:7;
168 		uint64_t mem1_err:7;
169 		uint64_t enb:1;
170 		uint64_t use_stt:1;
171 		uint64_t use_ldt:1;
172 		uint64_t reset:1;
173 		uint64_t reserved_18_63:46;
174 #endif
175 	} cn30xx;
176 	struct cvmx_fpa_ctl_status_cn30xx cn31xx;
177 	struct cvmx_fpa_ctl_status_cn30xx cn38xx;
178 	struct cvmx_fpa_ctl_status_cn30xx cn38xxp2;
179 	struct cvmx_fpa_ctl_status_cn30xx cn50xx;
180 	struct cvmx_fpa_ctl_status_cn30xx cn52xx;
181 	struct cvmx_fpa_ctl_status_cn30xx cn52xxp1;
182 	struct cvmx_fpa_ctl_status_cn30xx cn56xx;
183 	struct cvmx_fpa_ctl_status_cn30xx cn56xxp1;
184 	struct cvmx_fpa_ctl_status_cn30xx cn58xx;
185 	struct cvmx_fpa_ctl_status_cn30xx cn58xxp1;
186 	struct cvmx_fpa_ctl_status_s cn61xx;
187 	struct cvmx_fpa_ctl_status_s cn63xx;
188 	struct cvmx_fpa_ctl_status_cn30xx cn63xxp1;
189 	struct cvmx_fpa_ctl_status_s cn66xx;
190 	struct cvmx_fpa_ctl_status_s cn68xx;
191 	struct cvmx_fpa_ctl_status_s cn68xxp1;
192 	struct cvmx_fpa_ctl_status_s cnf71xx;
193 };
194 
195 union cvmx_fpa_fpfx_marks {
196 	uint64_t u64;
197 	struct cvmx_fpa_fpfx_marks_s {
198 #ifdef __BIG_ENDIAN_BITFIELD
199 		uint64_t reserved_22_63:42;
200 		uint64_t fpf_wr:11;
201 		uint64_t fpf_rd:11;
202 #else
203 		uint64_t fpf_rd:11;
204 		uint64_t fpf_wr:11;
205 		uint64_t reserved_22_63:42;
206 #endif
207 	} s;
208 	struct cvmx_fpa_fpfx_marks_s cn38xx;
209 	struct cvmx_fpa_fpfx_marks_s cn38xxp2;
210 	struct cvmx_fpa_fpfx_marks_s cn56xx;
211 	struct cvmx_fpa_fpfx_marks_s cn56xxp1;
212 	struct cvmx_fpa_fpfx_marks_s cn58xx;
213 	struct cvmx_fpa_fpfx_marks_s cn58xxp1;
214 	struct cvmx_fpa_fpfx_marks_s cn61xx;
215 	struct cvmx_fpa_fpfx_marks_s cn63xx;
216 	struct cvmx_fpa_fpfx_marks_s cn63xxp1;
217 	struct cvmx_fpa_fpfx_marks_s cn66xx;
218 	struct cvmx_fpa_fpfx_marks_s cn68xx;
219 	struct cvmx_fpa_fpfx_marks_s cn68xxp1;
220 	struct cvmx_fpa_fpfx_marks_s cnf71xx;
221 };
222 
223 union cvmx_fpa_fpfx_size {
224 	uint64_t u64;
225 	struct cvmx_fpa_fpfx_size_s {
226 #ifdef __BIG_ENDIAN_BITFIELD
227 		uint64_t reserved_11_63:53;
228 		uint64_t fpf_siz:11;
229 #else
230 		uint64_t fpf_siz:11;
231 		uint64_t reserved_11_63:53;
232 #endif
233 	} s;
234 	struct cvmx_fpa_fpfx_size_s cn38xx;
235 	struct cvmx_fpa_fpfx_size_s cn38xxp2;
236 	struct cvmx_fpa_fpfx_size_s cn56xx;
237 	struct cvmx_fpa_fpfx_size_s cn56xxp1;
238 	struct cvmx_fpa_fpfx_size_s cn58xx;
239 	struct cvmx_fpa_fpfx_size_s cn58xxp1;
240 	struct cvmx_fpa_fpfx_size_s cn61xx;
241 	struct cvmx_fpa_fpfx_size_s cn63xx;
242 	struct cvmx_fpa_fpfx_size_s cn63xxp1;
243 	struct cvmx_fpa_fpfx_size_s cn66xx;
244 	struct cvmx_fpa_fpfx_size_s cn68xx;
245 	struct cvmx_fpa_fpfx_size_s cn68xxp1;
246 	struct cvmx_fpa_fpfx_size_s cnf71xx;
247 };
248 
249 union cvmx_fpa_fpf0_marks {
250 	uint64_t u64;
251 	struct cvmx_fpa_fpf0_marks_s {
252 #ifdef __BIG_ENDIAN_BITFIELD
253 		uint64_t reserved_24_63:40;
254 		uint64_t fpf_wr:12;
255 		uint64_t fpf_rd:12;
256 #else
257 		uint64_t fpf_rd:12;
258 		uint64_t fpf_wr:12;
259 		uint64_t reserved_24_63:40;
260 #endif
261 	} s;
262 	struct cvmx_fpa_fpf0_marks_s cn38xx;
263 	struct cvmx_fpa_fpf0_marks_s cn38xxp2;
264 	struct cvmx_fpa_fpf0_marks_s cn56xx;
265 	struct cvmx_fpa_fpf0_marks_s cn56xxp1;
266 	struct cvmx_fpa_fpf0_marks_s cn58xx;
267 	struct cvmx_fpa_fpf0_marks_s cn58xxp1;
268 	struct cvmx_fpa_fpf0_marks_s cn61xx;
269 	struct cvmx_fpa_fpf0_marks_s cn63xx;
270 	struct cvmx_fpa_fpf0_marks_s cn63xxp1;
271 	struct cvmx_fpa_fpf0_marks_s cn66xx;
272 	struct cvmx_fpa_fpf0_marks_s cn68xx;
273 	struct cvmx_fpa_fpf0_marks_s cn68xxp1;
274 	struct cvmx_fpa_fpf0_marks_s cnf71xx;
275 };
276 
277 union cvmx_fpa_fpf0_size {
278 	uint64_t u64;
279 	struct cvmx_fpa_fpf0_size_s {
280 #ifdef __BIG_ENDIAN_BITFIELD
281 		uint64_t reserved_12_63:52;
282 		uint64_t fpf_siz:12;
283 #else
284 		uint64_t fpf_siz:12;
285 		uint64_t reserved_12_63:52;
286 #endif
287 	} s;
288 	struct cvmx_fpa_fpf0_size_s cn38xx;
289 	struct cvmx_fpa_fpf0_size_s cn38xxp2;
290 	struct cvmx_fpa_fpf0_size_s cn56xx;
291 	struct cvmx_fpa_fpf0_size_s cn56xxp1;
292 	struct cvmx_fpa_fpf0_size_s cn58xx;
293 	struct cvmx_fpa_fpf0_size_s cn58xxp1;
294 	struct cvmx_fpa_fpf0_size_s cn61xx;
295 	struct cvmx_fpa_fpf0_size_s cn63xx;
296 	struct cvmx_fpa_fpf0_size_s cn63xxp1;
297 	struct cvmx_fpa_fpf0_size_s cn66xx;
298 	struct cvmx_fpa_fpf0_size_s cn68xx;
299 	struct cvmx_fpa_fpf0_size_s cn68xxp1;
300 	struct cvmx_fpa_fpf0_size_s cnf71xx;
301 };
302 
303 union cvmx_fpa_fpf8_marks {
304 	uint64_t u64;
305 	struct cvmx_fpa_fpf8_marks_s {
306 #ifdef __BIG_ENDIAN_BITFIELD
307 		uint64_t reserved_22_63:42;
308 		uint64_t fpf_wr:11;
309 		uint64_t fpf_rd:11;
310 #else
311 		uint64_t fpf_rd:11;
312 		uint64_t fpf_wr:11;
313 		uint64_t reserved_22_63:42;
314 #endif
315 	} s;
316 	struct cvmx_fpa_fpf8_marks_s cn68xx;
317 	struct cvmx_fpa_fpf8_marks_s cn68xxp1;
318 };
319 
320 union cvmx_fpa_fpf8_size {
321 	uint64_t u64;
322 	struct cvmx_fpa_fpf8_size_s {
323 #ifdef __BIG_ENDIAN_BITFIELD
324 		uint64_t reserved_12_63:52;
325 		uint64_t fpf_siz:12;
326 #else
327 		uint64_t fpf_siz:12;
328 		uint64_t reserved_12_63:52;
329 #endif
330 	} s;
331 	struct cvmx_fpa_fpf8_size_s cn68xx;
332 	struct cvmx_fpa_fpf8_size_s cn68xxp1;
333 };
334 
335 union cvmx_fpa_int_enb {
336 	uint64_t u64;
337 	struct cvmx_fpa_int_enb_s {
338 #ifdef __BIG_ENDIAN_BITFIELD
339 		uint64_t reserved_50_63:14;
340 		uint64_t paddr_e:1;
341 		uint64_t reserved_44_48:5;
342 		uint64_t free7:1;
343 		uint64_t free6:1;
344 		uint64_t free5:1;
345 		uint64_t free4:1;
346 		uint64_t free3:1;
347 		uint64_t free2:1;
348 		uint64_t free1:1;
349 		uint64_t free0:1;
350 		uint64_t pool7th:1;
351 		uint64_t pool6th:1;
352 		uint64_t pool5th:1;
353 		uint64_t pool4th:1;
354 		uint64_t pool3th:1;
355 		uint64_t pool2th:1;
356 		uint64_t pool1th:1;
357 		uint64_t pool0th:1;
358 		uint64_t q7_perr:1;
359 		uint64_t q7_coff:1;
360 		uint64_t q7_und:1;
361 		uint64_t q6_perr:1;
362 		uint64_t q6_coff:1;
363 		uint64_t q6_und:1;
364 		uint64_t q5_perr:1;
365 		uint64_t q5_coff:1;
366 		uint64_t q5_und:1;
367 		uint64_t q4_perr:1;
368 		uint64_t q4_coff:1;
369 		uint64_t q4_und:1;
370 		uint64_t q3_perr:1;
371 		uint64_t q3_coff:1;
372 		uint64_t q3_und:1;
373 		uint64_t q2_perr:1;
374 		uint64_t q2_coff:1;
375 		uint64_t q2_und:1;
376 		uint64_t q1_perr:1;
377 		uint64_t q1_coff:1;
378 		uint64_t q1_und:1;
379 		uint64_t q0_perr:1;
380 		uint64_t q0_coff:1;
381 		uint64_t q0_und:1;
382 		uint64_t fed1_dbe:1;
383 		uint64_t fed1_sbe:1;
384 		uint64_t fed0_dbe:1;
385 		uint64_t fed0_sbe:1;
386 #else
387 		uint64_t fed0_sbe:1;
388 		uint64_t fed0_dbe:1;
389 		uint64_t fed1_sbe:1;
390 		uint64_t fed1_dbe:1;
391 		uint64_t q0_und:1;
392 		uint64_t q0_coff:1;
393 		uint64_t q0_perr:1;
394 		uint64_t q1_und:1;
395 		uint64_t q1_coff:1;
396 		uint64_t q1_perr:1;
397 		uint64_t q2_und:1;
398 		uint64_t q2_coff:1;
399 		uint64_t q2_perr:1;
400 		uint64_t q3_und:1;
401 		uint64_t q3_coff:1;
402 		uint64_t q3_perr:1;
403 		uint64_t q4_und:1;
404 		uint64_t q4_coff:1;
405 		uint64_t q4_perr:1;
406 		uint64_t q5_und:1;
407 		uint64_t q5_coff:1;
408 		uint64_t q5_perr:1;
409 		uint64_t q6_und:1;
410 		uint64_t q6_coff:1;
411 		uint64_t q6_perr:1;
412 		uint64_t q7_und:1;
413 		uint64_t q7_coff:1;
414 		uint64_t q7_perr:1;
415 		uint64_t pool0th:1;
416 		uint64_t pool1th:1;
417 		uint64_t pool2th:1;
418 		uint64_t pool3th:1;
419 		uint64_t pool4th:1;
420 		uint64_t pool5th:1;
421 		uint64_t pool6th:1;
422 		uint64_t pool7th:1;
423 		uint64_t free0:1;
424 		uint64_t free1:1;
425 		uint64_t free2:1;
426 		uint64_t free3:1;
427 		uint64_t free4:1;
428 		uint64_t free5:1;
429 		uint64_t free6:1;
430 		uint64_t free7:1;
431 		uint64_t reserved_44_48:5;
432 		uint64_t paddr_e:1;
433 		uint64_t reserved_50_63:14;
434 #endif
435 	} s;
436 	struct cvmx_fpa_int_enb_cn30xx {
437 #ifdef __BIG_ENDIAN_BITFIELD
438 		uint64_t reserved_28_63:36;
439 		uint64_t q7_perr:1;
440 		uint64_t q7_coff:1;
441 		uint64_t q7_und:1;
442 		uint64_t q6_perr:1;
443 		uint64_t q6_coff:1;
444 		uint64_t q6_und:1;
445 		uint64_t q5_perr:1;
446 		uint64_t q5_coff:1;
447 		uint64_t q5_und:1;
448 		uint64_t q4_perr:1;
449 		uint64_t q4_coff:1;
450 		uint64_t q4_und:1;
451 		uint64_t q3_perr:1;
452 		uint64_t q3_coff:1;
453 		uint64_t q3_und:1;
454 		uint64_t q2_perr:1;
455 		uint64_t q2_coff:1;
456 		uint64_t q2_und:1;
457 		uint64_t q1_perr:1;
458 		uint64_t q1_coff:1;
459 		uint64_t q1_und:1;
460 		uint64_t q0_perr:1;
461 		uint64_t q0_coff:1;
462 		uint64_t q0_und:1;
463 		uint64_t fed1_dbe:1;
464 		uint64_t fed1_sbe:1;
465 		uint64_t fed0_dbe:1;
466 		uint64_t fed0_sbe:1;
467 #else
468 		uint64_t fed0_sbe:1;
469 		uint64_t fed0_dbe:1;
470 		uint64_t fed1_sbe:1;
471 		uint64_t fed1_dbe:1;
472 		uint64_t q0_und:1;
473 		uint64_t q0_coff:1;
474 		uint64_t q0_perr:1;
475 		uint64_t q1_und:1;
476 		uint64_t q1_coff:1;
477 		uint64_t q1_perr:1;
478 		uint64_t q2_und:1;
479 		uint64_t q2_coff:1;
480 		uint64_t q2_perr:1;
481 		uint64_t q3_und:1;
482 		uint64_t q3_coff:1;
483 		uint64_t q3_perr:1;
484 		uint64_t q4_und:1;
485 		uint64_t q4_coff:1;
486 		uint64_t q4_perr:1;
487 		uint64_t q5_und:1;
488 		uint64_t q5_coff:1;
489 		uint64_t q5_perr:1;
490 		uint64_t q6_und:1;
491 		uint64_t q6_coff:1;
492 		uint64_t q6_perr:1;
493 		uint64_t q7_und:1;
494 		uint64_t q7_coff:1;
495 		uint64_t q7_perr:1;
496 		uint64_t reserved_28_63:36;
497 #endif
498 	} cn30xx;
499 	struct cvmx_fpa_int_enb_cn30xx cn31xx;
500 	struct cvmx_fpa_int_enb_cn30xx cn38xx;
501 	struct cvmx_fpa_int_enb_cn30xx cn38xxp2;
502 	struct cvmx_fpa_int_enb_cn30xx cn50xx;
503 	struct cvmx_fpa_int_enb_cn30xx cn52xx;
504 	struct cvmx_fpa_int_enb_cn30xx cn52xxp1;
505 	struct cvmx_fpa_int_enb_cn30xx cn56xx;
506 	struct cvmx_fpa_int_enb_cn30xx cn56xxp1;
507 	struct cvmx_fpa_int_enb_cn30xx cn58xx;
508 	struct cvmx_fpa_int_enb_cn30xx cn58xxp1;
509 	struct cvmx_fpa_int_enb_cn61xx {
510 #ifdef __BIG_ENDIAN_BITFIELD
511 		uint64_t reserved_50_63:14;
512 		uint64_t paddr_e:1;
513 		uint64_t res_44:5;
514 		uint64_t free7:1;
515 		uint64_t free6:1;
516 		uint64_t free5:1;
517 		uint64_t free4:1;
518 		uint64_t free3:1;
519 		uint64_t free2:1;
520 		uint64_t free1:1;
521 		uint64_t free0:1;
522 		uint64_t pool7th:1;
523 		uint64_t pool6th:1;
524 		uint64_t pool5th:1;
525 		uint64_t pool4th:1;
526 		uint64_t pool3th:1;
527 		uint64_t pool2th:1;
528 		uint64_t pool1th:1;
529 		uint64_t pool0th:1;
530 		uint64_t q7_perr:1;
531 		uint64_t q7_coff:1;
532 		uint64_t q7_und:1;
533 		uint64_t q6_perr:1;
534 		uint64_t q6_coff:1;
535 		uint64_t q6_und:1;
536 		uint64_t q5_perr:1;
537 		uint64_t q5_coff:1;
538 		uint64_t q5_und:1;
539 		uint64_t q4_perr:1;
540 		uint64_t q4_coff:1;
541 		uint64_t q4_und:1;
542 		uint64_t q3_perr:1;
543 		uint64_t q3_coff:1;
544 		uint64_t q3_und:1;
545 		uint64_t q2_perr:1;
546 		uint64_t q2_coff:1;
547 		uint64_t q2_und:1;
548 		uint64_t q1_perr:1;
549 		uint64_t q1_coff:1;
550 		uint64_t q1_und:1;
551 		uint64_t q0_perr:1;
552 		uint64_t q0_coff:1;
553 		uint64_t q0_und:1;
554 		uint64_t fed1_dbe:1;
555 		uint64_t fed1_sbe:1;
556 		uint64_t fed0_dbe:1;
557 		uint64_t fed0_sbe:1;
558 #else
559 		uint64_t fed0_sbe:1;
560 		uint64_t fed0_dbe:1;
561 		uint64_t fed1_sbe:1;
562 		uint64_t fed1_dbe:1;
563 		uint64_t q0_und:1;
564 		uint64_t q0_coff:1;
565 		uint64_t q0_perr:1;
566 		uint64_t q1_und:1;
567 		uint64_t q1_coff:1;
568 		uint64_t q1_perr:1;
569 		uint64_t q2_und:1;
570 		uint64_t q2_coff:1;
571 		uint64_t q2_perr:1;
572 		uint64_t q3_und:1;
573 		uint64_t q3_coff:1;
574 		uint64_t q3_perr:1;
575 		uint64_t q4_und:1;
576 		uint64_t q4_coff:1;
577 		uint64_t q4_perr:1;
578 		uint64_t q5_und:1;
579 		uint64_t q5_coff:1;
580 		uint64_t q5_perr:1;
581 		uint64_t q6_und:1;
582 		uint64_t q6_coff:1;
583 		uint64_t q6_perr:1;
584 		uint64_t q7_und:1;
585 		uint64_t q7_coff:1;
586 		uint64_t q7_perr:1;
587 		uint64_t pool0th:1;
588 		uint64_t pool1th:1;
589 		uint64_t pool2th:1;
590 		uint64_t pool3th:1;
591 		uint64_t pool4th:1;
592 		uint64_t pool5th:1;
593 		uint64_t pool6th:1;
594 		uint64_t pool7th:1;
595 		uint64_t free0:1;
596 		uint64_t free1:1;
597 		uint64_t free2:1;
598 		uint64_t free3:1;
599 		uint64_t free4:1;
600 		uint64_t free5:1;
601 		uint64_t free6:1;
602 		uint64_t free7:1;
603 		uint64_t res_44:5;
604 		uint64_t paddr_e:1;
605 		uint64_t reserved_50_63:14;
606 #endif
607 	} cn61xx;
608 	struct cvmx_fpa_int_enb_cn63xx {
609 #ifdef __BIG_ENDIAN_BITFIELD
610 		uint64_t reserved_44_63:20;
611 		uint64_t free7:1;
612 		uint64_t free6:1;
613 		uint64_t free5:1;
614 		uint64_t free4:1;
615 		uint64_t free3:1;
616 		uint64_t free2:1;
617 		uint64_t free1:1;
618 		uint64_t free0:1;
619 		uint64_t pool7th:1;
620 		uint64_t pool6th:1;
621 		uint64_t pool5th:1;
622 		uint64_t pool4th:1;
623 		uint64_t pool3th:1;
624 		uint64_t pool2th:1;
625 		uint64_t pool1th:1;
626 		uint64_t pool0th:1;
627 		uint64_t q7_perr:1;
628 		uint64_t q7_coff:1;
629 		uint64_t q7_und:1;
630 		uint64_t q6_perr:1;
631 		uint64_t q6_coff:1;
632 		uint64_t q6_und:1;
633 		uint64_t q5_perr:1;
634 		uint64_t q5_coff:1;
635 		uint64_t q5_und:1;
636 		uint64_t q4_perr:1;
637 		uint64_t q4_coff:1;
638 		uint64_t q4_und:1;
639 		uint64_t q3_perr:1;
640 		uint64_t q3_coff:1;
641 		uint64_t q3_und:1;
642 		uint64_t q2_perr:1;
643 		uint64_t q2_coff:1;
644 		uint64_t q2_und:1;
645 		uint64_t q1_perr:1;
646 		uint64_t q1_coff:1;
647 		uint64_t q1_und:1;
648 		uint64_t q0_perr:1;
649 		uint64_t q0_coff:1;
650 		uint64_t q0_und:1;
651 		uint64_t fed1_dbe:1;
652 		uint64_t fed1_sbe:1;
653 		uint64_t fed0_dbe:1;
654 		uint64_t fed0_sbe:1;
655 #else
656 		uint64_t fed0_sbe:1;
657 		uint64_t fed0_dbe:1;
658 		uint64_t fed1_sbe:1;
659 		uint64_t fed1_dbe:1;
660 		uint64_t q0_und:1;
661 		uint64_t q0_coff:1;
662 		uint64_t q0_perr:1;
663 		uint64_t q1_und:1;
664 		uint64_t q1_coff:1;
665 		uint64_t q1_perr:1;
666 		uint64_t q2_und:1;
667 		uint64_t q2_coff:1;
668 		uint64_t q2_perr:1;
669 		uint64_t q3_und:1;
670 		uint64_t q3_coff:1;
671 		uint64_t q3_perr:1;
672 		uint64_t q4_und:1;
673 		uint64_t q4_coff:1;
674 		uint64_t q4_perr:1;
675 		uint64_t q5_und:1;
676 		uint64_t q5_coff:1;
677 		uint64_t q5_perr:1;
678 		uint64_t q6_und:1;
679 		uint64_t q6_coff:1;
680 		uint64_t q6_perr:1;
681 		uint64_t q7_und:1;
682 		uint64_t q7_coff:1;
683 		uint64_t q7_perr:1;
684 		uint64_t pool0th:1;
685 		uint64_t pool1th:1;
686 		uint64_t pool2th:1;
687 		uint64_t pool3th:1;
688 		uint64_t pool4th:1;
689 		uint64_t pool5th:1;
690 		uint64_t pool6th:1;
691 		uint64_t pool7th:1;
692 		uint64_t free0:1;
693 		uint64_t free1:1;
694 		uint64_t free2:1;
695 		uint64_t free3:1;
696 		uint64_t free4:1;
697 		uint64_t free5:1;
698 		uint64_t free6:1;
699 		uint64_t free7:1;
700 		uint64_t reserved_44_63:20;
701 #endif
702 	} cn63xx;
703 	struct cvmx_fpa_int_enb_cn30xx cn63xxp1;
704 	struct cvmx_fpa_int_enb_cn61xx cn66xx;
705 	struct cvmx_fpa_int_enb_cn68xx {
706 #ifdef __BIG_ENDIAN_BITFIELD
707 		uint64_t reserved_50_63:14;
708 		uint64_t paddr_e:1;
709 		uint64_t pool8th:1;
710 		uint64_t q8_perr:1;
711 		uint64_t q8_coff:1;
712 		uint64_t q8_und:1;
713 		uint64_t free8:1;
714 		uint64_t free7:1;
715 		uint64_t free6:1;
716 		uint64_t free5:1;
717 		uint64_t free4:1;
718 		uint64_t free3:1;
719 		uint64_t free2:1;
720 		uint64_t free1:1;
721 		uint64_t free0:1;
722 		uint64_t pool7th:1;
723 		uint64_t pool6th:1;
724 		uint64_t pool5th:1;
725 		uint64_t pool4th:1;
726 		uint64_t pool3th:1;
727 		uint64_t pool2th:1;
728 		uint64_t pool1th:1;
729 		uint64_t pool0th:1;
730 		uint64_t q7_perr:1;
731 		uint64_t q7_coff:1;
732 		uint64_t q7_und:1;
733 		uint64_t q6_perr:1;
734 		uint64_t q6_coff:1;
735 		uint64_t q6_und:1;
736 		uint64_t q5_perr:1;
737 		uint64_t q5_coff:1;
738 		uint64_t q5_und:1;
739 		uint64_t q4_perr:1;
740 		uint64_t q4_coff:1;
741 		uint64_t q4_und:1;
742 		uint64_t q3_perr:1;
743 		uint64_t q3_coff:1;
744 		uint64_t q3_und:1;
745 		uint64_t q2_perr:1;
746 		uint64_t q2_coff:1;
747 		uint64_t q2_und:1;
748 		uint64_t q1_perr:1;
749 		uint64_t q1_coff:1;
750 		uint64_t q1_und:1;
751 		uint64_t q0_perr:1;
752 		uint64_t q0_coff:1;
753 		uint64_t q0_und:1;
754 		uint64_t fed1_dbe:1;
755 		uint64_t fed1_sbe:1;
756 		uint64_t fed0_dbe:1;
757 		uint64_t fed0_sbe:1;
758 #else
759 		uint64_t fed0_sbe:1;
760 		uint64_t fed0_dbe:1;
761 		uint64_t fed1_sbe:1;
762 		uint64_t fed1_dbe:1;
763 		uint64_t q0_und:1;
764 		uint64_t q0_coff:1;
765 		uint64_t q0_perr:1;
766 		uint64_t q1_und:1;
767 		uint64_t q1_coff:1;
768 		uint64_t q1_perr:1;
769 		uint64_t q2_und:1;
770 		uint64_t q2_coff:1;
771 		uint64_t q2_perr:1;
772 		uint64_t q3_und:1;
773 		uint64_t q3_coff:1;
774 		uint64_t q3_perr:1;
775 		uint64_t q4_und:1;
776 		uint64_t q4_coff:1;
777 		uint64_t q4_perr:1;
778 		uint64_t q5_und:1;
779 		uint64_t q5_coff:1;
780 		uint64_t q5_perr:1;
781 		uint64_t q6_und:1;
782 		uint64_t q6_coff:1;
783 		uint64_t q6_perr:1;
784 		uint64_t q7_und:1;
785 		uint64_t q7_coff:1;
786 		uint64_t q7_perr:1;
787 		uint64_t pool0th:1;
788 		uint64_t pool1th:1;
789 		uint64_t pool2th:1;
790 		uint64_t pool3th:1;
791 		uint64_t pool4th:1;
792 		uint64_t pool5th:1;
793 		uint64_t pool6th:1;
794 		uint64_t pool7th:1;
795 		uint64_t free0:1;
796 		uint64_t free1:1;
797 		uint64_t free2:1;
798 		uint64_t free3:1;
799 		uint64_t free4:1;
800 		uint64_t free5:1;
801 		uint64_t free6:1;
802 		uint64_t free7:1;
803 		uint64_t free8:1;
804 		uint64_t q8_und:1;
805 		uint64_t q8_coff:1;
806 		uint64_t q8_perr:1;
807 		uint64_t pool8th:1;
808 		uint64_t paddr_e:1;
809 		uint64_t reserved_50_63:14;
810 #endif
811 	} cn68xx;
812 	struct cvmx_fpa_int_enb_cn68xx cn68xxp1;
813 	struct cvmx_fpa_int_enb_cn61xx cnf71xx;
814 };
815 
816 union cvmx_fpa_int_sum {
817 	uint64_t u64;
818 	struct cvmx_fpa_int_sum_s {
819 #ifdef __BIG_ENDIAN_BITFIELD
820 		uint64_t reserved_50_63:14;
821 		uint64_t paddr_e:1;
822 		uint64_t pool8th:1;
823 		uint64_t q8_perr:1;
824 		uint64_t q8_coff:1;
825 		uint64_t q8_und:1;
826 		uint64_t free8:1;
827 		uint64_t free7:1;
828 		uint64_t free6:1;
829 		uint64_t free5:1;
830 		uint64_t free4:1;
831 		uint64_t free3:1;
832 		uint64_t free2:1;
833 		uint64_t free1:1;
834 		uint64_t free0:1;
835 		uint64_t pool7th:1;
836 		uint64_t pool6th:1;
837 		uint64_t pool5th:1;
838 		uint64_t pool4th:1;
839 		uint64_t pool3th:1;
840 		uint64_t pool2th:1;
841 		uint64_t pool1th:1;
842 		uint64_t pool0th:1;
843 		uint64_t q7_perr:1;
844 		uint64_t q7_coff:1;
845 		uint64_t q7_und:1;
846 		uint64_t q6_perr:1;
847 		uint64_t q6_coff:1;
848 		uint64_t q6_und:1;
849 		uint64_t q5_perr:1;
850 		uint64_t q5_coff:1;
851 		uint64_t q5_und:1;
852 		uint64_t q4_perr:1;
853 		uint64_t q4_coff:1;
854 		uint64_t q4_und:1;
855 		uint64_t q3_perr:1;
856 		uint64_t q3_coff:1;
857 		uint64_t q3_und:1;
858 		uint64_t q2_perr:1;
859 		uint64_t q2_coff:1;
860 		uint64_t q2_und:1;
861 		uint64_t q1_perr:1;
862 		uint64_t q1_coff:1;
863 		uint64_t q1_und:1;
864 		uint64_t q0_perr:1;
865 		uint64_t q0_coff:1;
866 		uint64_t q0_und:1;
867 		uint64_t fed1_dbe:1;
868 		uint64_t fed1_sbe:1;
869 		uint64_t fed0_dbe:1;
870 		uint64_t fed0_sbe:1;
871 #else
872 		uint64_t fed0_sbe:1;
873 		uint64_t fed0_dbe:1;
874 		uint64_t fed1_sbe:1;
875 		uint64_t fed1_dbe:1;
876 		uint64_t q0_und:1;
877 		uint64_t q0_coff:1;
878 		uint64_t q0_perr:1;
879 		uint64_t q1_und:1;
880 		uint64_t q1_coff:1;
881 		uint64_t q1_perr:1;
882 		uint64_t q2_und:1;
883 		uint64_t q2_coff:1;
884 		uint64_t q2_perr:1;
885 		uint64_t q3_und:1;
886 		uint64_t q3_coff:1;
887 		uint64_t q3_perr:1;
888 		uint64_t q4_und:1;
889 		uint64_t q4_coff:1;
890 		uint64_t q4_perr:1;
891 		uint64_t q5_und:1;
892 		uint64_t q5_coff:1;
893 		uint64_t q5_perr:1;
894 		uint64_t q6_und:1;
895 		uint64_t q6_coff:1;
896 		uint64_t q6_perr:1;
897 		uint64_t q7_und:1;
898 		uint64_t q7_coff:1;
899 		uint64_t q7_perr:1;
900 		uint64_t pool0th:1;
901 		uint64_t pool1th:1;
902 		uint64_t pool2th:1;
903 		uint64_t pool3th:1;
904 		uint64_t pool4th:1;
905 		uint64_t pool5th:1;
906 		uint64_t pool6th:1;
907 		uint64_t pool7th:1;
908 		uint64_t free0:1;
909 		uint64_t free1:1;
910 		uint64_t free2:1;
911 		uint64_t free3:1;
912 		uint64_t free4:1;
913 		uint64_t free5:1;
914 		uint64_t free6:1;
915 		uint64_t free7:1;
916 		uint64_t free8:1;
917 		uint64_t q8_und:1;
918 		uint64_t q8_coff:1;
919 		uint64_t q8_perr:1;
920 		uint64_t pool8th:1;
921 		uint64_t paddr_e:1;
922 		uint64_t reserved_50_63:14;
923 #endif
924 	} s;
925 	struct cvmx_fpa_int_sum_cn30xx {
926 #ifdef __BIG_ENDIAN_BITFIELD
927 		uint64_t reserved_28_63:36;
928 		uint64_t q7_perr:1;
929 		uint64_t q7_coff:1;
930 		uint64_t q7_und:1;
931 		uint64_t q6_perr:1;
932 		uint64_t q6_coff:1;
933 		uint64_t q6_und:1;
934 		uint64_t q5_perr:1;
935 		uint64_t q5_coff:1;
936 		uint64_t q5_und:1;
937 		uint64_t q4_perr:1;
938 		uint64_t q4_coff:1;
939 		uint64_t q4_und:1;
940 		uint64_t q3_perr:1;
941 		uint64_t q3_coff:1;
942 		uint64_t q3_und:1;
943 		uint64_t q2_perr:1;
944 		uint64_t q2_coff:1;
945 		uint64_t q2_und:1;
946 		uint64_t q1_perr:1;
947 		uint64_t q1_coff:1;
948 		uint64_t q1_und:1;
949 		uint64_t q0_perr:1;
950 		uint64_t q0_coff:1;
951 		uint64_t q0_und:1;
952 		uint64_t fed1_dbe:1;
953 		uint64_t fed1_sbe:1;
954 		uint64_t fed0_dbe:1;
955 		uint64_t fed0_sbe:1;
956 #else
957 		uint64_t fed0_sbe:1;
958 		uint64_t fed0_dbe:1;
959 		uint64_t fed1_sbe:1;
960 		uint64_t fed1_dbe:1;
961 		uint64_t q0_und:1;
962 		uint64_t q0_coff:1;
963 		uint64_t q0_perr:1;
964 		uint64_t q1_und:1;
965 		uint64_t q1_coff:1;
966 		uint64_t q1_perr:1;
967 		uint64_t q2_und:1;
968 		uint64_t q2_coff:1;
969 		uint64_t q2_perr:1;
970 		uint64_t q3_und:1;
971 		uint64_t q3_coff:1;
972 		uint64_t q3_perr:1;
973 		uint64_t q4_und:1;
974 		uint64_t q4_coff:1;
975 		uint64_t q4_perr:1;
976 		uint64_t q5_und:1;
977 		uint64_t q5_coff:1;
978 		uint64_t q5_perr:1;
979 		uint64_t q6_und:1;
980 		uint64_t q6_coff:1;
981 		uint64_t q6_perr:1;
982 		uint64_t q7_und:1;
983 		uint64_t q7_coff:1;
984 		uint64_t q7_perr:1;
985 		uint64_t reserved_28_63:36;
986 #endif
987 	} cn30xx;
988 	struct cvmx_fpa_int_sum_cn30xx cn31xx;
989 	struct cvmx_fpa_int_sum_cn30xx cn38xx;
990 	struct cvmx_fpa_int_sum_cn30xx cn38xxp2;
991 	struct cvmx_fpa_int_sum_cn30xx cn50xx;
992 	struct cvmx_fpa_int_sum_cn30xx cn52xx;
993 	struct cvmx_fpa_int_sum_cn30xx cn52xxp1;
994 	struct cvmx_fpa_int_sum_cn30xx cn56xx;
995 	struct cvmx_fpa_int_sum_cn30xx cn56xxp1;
996 	struct cvmx_fpa_int_sum_cn30xx cn58xx;
997 	struct cvmx_fpa_int_sum_cn30xx cn58xxp1;
998 	struct cvmx_fpa_int_sum_cn61xx {
999 #ifdef __BIG_ENDIAN_BITFIELD
1000 		uint64_t reserved_50_63:14;
1001 		uint64_t paddr_e:1;
1002 		uint64_t reserved_44_48:5;
1003 		uint64_t free7:1;
1004 		uint64_t free6:1;
1005 		uint64_t free5:1;
1006 		uint64_t free4:1;
1007 		uint64_t free3:1;
1008 		uint64_t free2:1;
1009 		uint64_t free1:1;
1010 		uint64_t free0:1;
1011 		uint64_t pool7th:1;
1012 		uint64_t pool6th:1;
1013 		uint64_t pool5th:1;
1014 		uint64_t pool4th:1;
1015 		uint64_t pool3th:1;
1016 		uint64_t pool2th:1;
1017 		uint64_t pool1th:1;
1018 		uint64_t pool0th:1;
1019 		uint64_t q7_perr:1;
1020 		uint64_t q7_coff:1;
1021 		uint64_t q7_und:1;
1022 		uint64_t q6_perr:1;
1023 		uint64_t q6_coff:1;
1024 		uint64_t q6_und:1;
1025 		uint64_t q5_perr:1;
1026 		uint64_t q5_coff:1;
1027 		uint64_t q5_und:1;
1028 		uint64_t q4_perr:1;
1029 		uint64_t q4_coff:1;
1030 		uint64_t q4_und:1;
1031 		uint64_t q3_perr:1;
1032 		uint64_t q3_coff:1;
1033 		uint64_t q3_und:1;
1034 		uint64_t q2_perr:1;
1035 		uint64_t q2_coff:1;
1036 		uint64_t q2_und:1;
1037 		uint64_t q1_perr:1;
1038 		uint64_t q1_coff:1;
1039 		uint64_t q1_und:1;
1040 		uint64_t q0_perr:1;
1041 		uint64_t q0_coff:1;
1042 		uint64_t q0_und:1;
1043 		uint64_t fed1_dbe:1;
1044 		uint64_t fed1_sbe:1;
1045 		uint64_t fed0_dbe:1;
1046 		uint64_t fed0_sbe:1;
1047 #else
1048 		uint64_t fed0_sbe:1;
1049 		uint64_t fed0_dbe:1;
1050 		uint64_t fed1_sbe:1;
1051 		uint64_t fed1_dbe:1;
1052 		uint64_t q0_und:1;
1053 		uint64_t q0_coff:1;
1054 		uint64_t q0_perr:1;
1055 		uint64_t q1_und:1;
1056 		uint64_t q1_coff:1;
1057 		uint64_t q1_perr:1;
1058 		uint64_t q2_und:1;
1059 		uint64_t q2_coff:1;
1060 		uint64_t q2_perr:1;
1061 		uint64_t q3_und:1;
1062 		uint64_t q3_coff:1;
1063 		uint64_t q3_perr:1;
1064 		uint64_t q4_und:1;
1065 		uint64_t q4_coff:1;
1066 		uint64_t q4_perr:1;
1067 		uint64_t q5_und:1;
1068 		uint64_t q5_coff:1;
1069 		uint64_t q5_perr:1;
1070 		uint64_t q6_und:1;
1071 		uint64_t q6_coff:1;
1072 		uint64_t q6_perr:1;
1073 		uint64_t q7_und:1;
1074 		uint64_t q7_coff:1;
1075 		uint64_t q7_perr:1;
1076 		uint64_t pool0th:1;
1077 		uint64_t pool1th:1;
1078 		uint64_t pool2th:1;
1079 		uint64_t pool3th:1;
1080 		uint64_t pool4th:1;
1081 		uint64_t pool5th:1;
1082 		uint64_t pool6th:1;
1083 		uint64_t pool7th:1;
1084 		uint64_t free0:1;
1085 		uint64_t free1:1;
1086 		uint64_t free2:1;
1087 		uint64_t free3:1;
1088 		uint64_t free4:1;
1089 		uint64_t free5:1;
1090 		uint64_t free6:1;
1091 		uint64_t free7:1;
1092 		uint64_t reserved_44_48:5;
1093 		uint64_t paddr_e:1;
1094 		uint64_t reserved_50_63:14;
1095 #endif
1096 	} cn61xx;
1097 	struct cvmx_fpa_int_sum_cn63xx {
1098 #ifdef __BIG_ENDIAN_BITFIELD
1099 		uint64_t reserved_44_63:20;
1100 		uint64_t free7:1;
1101 		uint64_t free6:1;
1102 		uint64_t free5:1;
1103 		uint64_t free4:1;
1104 		uint64_t free3:1;
1105 		uint64_t free2:1;
1106 		uint64_t free1:1;
1107 		uint64_t free0:1;
1108 		uint64_t pool7th:1;
1109 		uint64_t pool6th:1;
1110 		uint64_t pool5th:1;
1111 		uint64_t pool4th:1;
1112 		uint64_t pool3th:1;
1113 		uint64_t pool2th:1;
1114 		uint64_t pool1th:1;
1115 		uint64_t pool0th:1;
1116 		uint64_t q7_perr:1;
1117 		uint64_t q7_coff:1;
1118 		uint64_t q7_und:1;
1119 		uint64_t q6_perr:1;
1120 		uint64_t q6_coff:1;
1121 		uint64_t q6_und:1;
1122 		uint64_t q5_perr:1;
1123 		uint64_t q5_coff:1;
1124 		uint64_t q5_und:1;
1125 		uint64_t q4_perr:1;
1126 		uint64_t q4_coff:1;
1127 		uint64_t q4_und:1;
1128 		uint64_t q3_perr:1;
1129 		uint64_t q3_coff:1;
1130 		uint64_t q3_und:1;
1131 		uint64_t q2_perr:1;
1132 		uint64_t q2_coff:1;
1133 		uint64_t q2_und:1;
1134 		uint64_t q1_perr:1;
1135 		uint64_t q1_coff:1;
1136 		uint64_t q1_und:1;
1137 		uint64_t q0_perr:1;
1138 		uint64_t q0_coff:1;
1139 		uint64_t q0_und:1;
1140 		uint64_t fed1_dbe:1;
1141 		uint64_t fed1_sbe:1;
1142 		uint64_t fed0_dbe:1;
1143 		uint64_t fed0_sbe:1;
1144 #else
1145 		uint64_t fed0_sbe:1;
1146 		uint64_t fed0_dbe:1;
1147 		uint64_t fed1_sbe:1;
1148 		uint64_t fed1_dbe:1;
1149 		uint64_t q0_und:1;
1150 		uint64_t q0_coff:1;
1151 		uint64_t q0_perr:1;
1152 		uint64_t q1_und:1;
1153 		uint64_t q1_coff:1;
1154 		uint64_t q1_perr:1;
1155 		uint64_t q2_und:1;
1156 		uint64_t q2_coff:1;
1157 		uint64_t q2_perr:1;
1158 		uint64_t q3_und:1;
1159 		uint64_t q3_coff:1;
1160 		uint64_t q3_perr:1;
1161 		uint64_t q4_und:1;
1162 		uint64_t q4_coff:1;
1163 		uint64_t q4_perr:1;
1164 		uint64_t q5_und:1;
1165 		uint64_t q5_coff:1;
1166 		uint64_t q5_perr:1;
1167 		uint64_t q6_und:1;
1168 		uint64_t q6_coff:1;
1169 		uint64_t q6_perr:1;
1170 		uint64_t q7_und:1;
1171 		uint64_t q7_coff:1;
1172 		uint64_t q7_perr:1;
1173 		uint64_t pool0th:1;
1174 		uint64_t pool1th:1;
1175 		uint64_t pool2th:1;
1176 		uint64_t pool3th:1;
1177 		uint64_t pool4th:1;
1178 		uint64_t pool5th:1;
1179 		uint64_t pool6th:1;
1180 		uint64_t pool7th:1;
1181 		uint64_t free0:1;
1182 		uint64_t free1:1;
1183 		uint64_t free2:1;
1184 		uint64_t free3:1;
1185 		uint64_t free4:1;
1186 		uint64_t free5:1;
1187 		uint64_t free6:1;
1188 		uint64_t free7:1;
1189 		uint64_t reserved_44_63:20;
1190 #endif
1191 	} cn63xx;
1192 	struct cvmx_fpa_int_sum_cn30xx cn63xxp1;
1193 	struct cvmx_fpa_int_sum_cn61xx cn66xx;
1194 	struct cvmx_fpa_int_sum_s cn68xx;
1195 	struct cvmx_fpa_int_sum_s cn68xxp1;
1196 	struct cvmx_fpa_int_sum_cn61xx cnf71xx;
1197 };
1198 
1199 union cvmx_fpa_packet_threshold {
1200 	uint64_t u64;
1201 	struct cvmx_fpa_packet_threshold_s {
1202 #ifdef __BIG_ENDIAN_BITFIELD
1203 		uint64_t reserved_32_63:32;
1204 		uint64_t thresh:32;
1205 #else
1206 		uint64_t thresh:32;
1207 		uint64_t reserved_32_63:32;
1208 #endif
1209 	} s;
1210 	struct cvmx_fpa_packet_threshold_s cn61xx;
1211 	struct cvmx_fpa_packet_threshold_s cn63xx;
1212 	struct cvmx_fpa_packet_threshold_s cn66xx;
1213 	struct cvmx_fpa_packet_threshold_s cn68xx;
1214 	struct cvmx_fpa_packet_threshold_s cn68xxp1;
1215 	struct cvmx_fpa_packet_threshold_s cnf71xx;
1216 };
1217 
1218 union cvmx_fpa_poolx_end_addr {
1219 	uint64_t u64;
1220 	struct cvmx_fpa_poolx_end_addr_s {
1221 #ifdef __BIG_ENDIAN_BITFIELD
1222 		uint64_t reserved_33_63:31;
1223 		uint64_t addr:33;
1224 #else
1225 		uint64_t addr:33;
1226 		uint64_t reserved_33_63:31;
1227 #endif
1228 	} s;
1229 	struct cvmx_fpa_poolx_end_addr_s cn61xx;
1230 	struct cvmx_fpa_poolx_end_addr_s cn66xx;
1231 	struct cvmx_fpa_poolx_end_addr_s cn68xx;
1232 	struct cvmx_fpa_poolx_end_addr_s cn68xxp1;
1233 	struct cvmx_fpa_poolx_end_addr_s cnf71xx;
1234 };
1235 
1236 union cvmx_fpa_poolx_start_addr {
1237 	uint64_t u64;
1238 	struct cvmx_fpa_poolx_start_addr_s {
1239 #ifdef __BIG_ENDIAN_BITFIELD
1240 		uint64_t reserved_33_63:31;
1241 		uint64_t addr:33;
1242 #else
1243 		uint64_t addr:33;
1244 		uint64_t reserved_33_63:31;
1245 #endif
1246 	} s;
1247 	struct cvmx_fpa_poolx_start_addr_s cn61xx;
1248 	struct cvmx_fpa_poolx_start_addr_s cn66xx;
1249 	struct cvmx_fpa_poolx_start_addr_s cn68xx;
1250 	struct cvmx_fpa_poolx_start_addr_s cn68xxp1;
1251 	struct cvmx_fpa_poolx_start_addr_s cnf71xx;
1252 };
1253 
1254 union cvmx_fpa_poolx_threshold {
1255 	uint64_t u64;
1256 	struct cvmx_fpa_poolx_threshold_s {
1257 #ifdef __BIG_ENDIAN_BITFIELD
1258 		uint64_t reserved_32_63:32;
1259 		uint64_t thresh:32;
1260 #else
1261 		uint64_t thresh:32;
1262 		uint64_t reserved_32_63:32;
1263 #endif
1264 	} s;
1265 	struct cvmx_fpa_poolx_threshold_cn61xx {
1266 #ifdef __BIG_ENDIAN_BITFIELD
1267 		uint64_t reserved_29_63:35;
1268 		uint64_t thresh:29;
1269 #else
1270 		uint64_t thresh:29;
1271 		uint64_t reserved_29_63:35;
1272 #endif
1273 	} cn61xx;
1274 	struct cvmx_fpa_poolx_threshold_cn61xx cn63xx;
1275 	struct cvmx_fpa_poolx_threshold_cn61xx cn66xx;
1276 	struct cvmx_fpa_poolx_threshold_s cn68xx;
1277 	struct cvmx_fpa_poolx_threshold_s cn68xxp1;
1278 	struct cvmx_fpa_poolx_threshold_cn61xx cnf71xx;
1279 };
1280 
1281 union cvmx_fpa_quex_available {
1282 	uint64_t u64;
1283 	struct cvmx_fpa_quex_available_s {
1284 #ifdef __BIG_ENDIAN_BITFIELD
1285 		uint64_t reserved_32_63:32;
1286 		uint64_t que_siz:32;
1287 #else
1288 		uint64_t que_siz:32;
1289 		uint64_t reserved_32_63:32;
1290 #endif
1291 	} s;
1292 	struct cvmx_fpa_quex_available_cn30xx {
1293 #ifdef __BIG_ENDIAN_BITFIELD
1294 		uint64_t reserved_29_63:35;
1295 		uint64_t que_siz:29;
1296 #else
1297 		uint64_t que_siz:29;
1298 		uint64_t reserved_29_63:35;
1299 #endif
1300 	} cn30xx;
1301 	struct cvmx_fpa_quex_available_cn30xx cn31xx;
1302 	struct cvmx_fpa_quex_available_cn30xx cn38xx;
1303 	struct cvmx_fpa_quex_available_cn30xx cn38xxp2;
1304 	struct cvmx_fpa_quex_available_cn30xx cn50xx;
1305 	struct cvmx_fpa_quex_available_cn30xx cn52xx;
1306 	struct cvmx_fpa_quex_available_cn30xx cn52xxp1;
1307 	struct cvmx_fpa_quex_available_cn30xx cn56xx;
1308 	struct cvmx_fpa_quex_available_cn30xx cn56xxp1;
1309 	struct cvmx_fpa_quex_available_cn30xx cn58xx;
1310 	struct cvmx_fpa_quex_available_cn30xx cn58xxp1;
1311 	struct cvmx_fpa_quex_available_cn30xx cn61xx;
1312 	struct cvmx_fpa_quex_available_cn30xx cn63xx;
1313 	struct cvmx_fpa_quex_available_cn30xx cn63xxp1;
1314 	struct cvmx_fpa_quex_available_cn30xx cn66xx;
1315 	struct cvmx_fpa_quex_available_s cn68xx;
1316 	struct cvmx_fpa_quex_available_s cn68xxp1;
1317 	struct cvmx_fpa_quex_available_cn30xx cnf71xx;
1318 };
1319 
1320 union cvmx_fpa_quex_page_index {
1321 	uint64_t u64;
1322 	struct cvmx_fpa_quex_page_index_s {
1323 #ifdef __BIG_ENDIAN_BITFIELD
1324 		uint64_t reserved_25_63:39;
1325 		uint64_t pg_num:25;
1326 #else
1327 		uint64_t pg_num:25;
1328 		uint64_t reserved_25_63:39;
1329 #endif
1330 	} s;
1331 	struct cvmx_fpa_quex_page_index_s cn30xx;
1332 	struct cvmx_fpa_quex_page_index_s cn31xx;
1333 	struct cvmx_fpa_quex_page_index_s cn38xx;
1334 	struct cvmx_fpa_quex_page_index_s cn38xxp2;
1335 	struct cvmx_fpa_quex_page_index_s cn50xx;
1336 	struct cvmx_fpa_quex_page_index_s cn52xx;
1337 	struct cvmx_fpa_quex_page_index_s cn52xxp1;
1338 	struct cvmx_fpa_quex_page_index_s cn56xx;
1339 	struct cvmx_fpa_quex_page_index_s cn56xxp1;
1340 	struct cvmx_fpa_quex_page_index_s cn58xx;
1341 	struct cvmx_fpa_quex_page_index_s cn58xxp1;
1342 	struct cvmx_fpa_quex_page_index_s cn61xx;
1343 	struct cvmx_fpa_quex_page_index_s cn63xx;
1344 	struct cvmx_fpa_quex_page_index_s cn63xxp1;
1345 	struct cvmx_fpa_quex_page_index_s cn66xx;
1346 	struct cvmx_fpa_quex_page_index_s cn68xx;
1347 	struct cvmx_fpa_quex_page_index_s cn68xxp1;
1348 	struct cvmx_fpa_quex_page_index_s cnf71xx;
1349 };
1350 
1351 union cvmx_fpa_que8_page_index {
1352 	uint64_t u64;
1353 	struct cvmx_fpa_que8_page_index_s {
1354 #ifdef __BIG_ENDIAN_BITFIELD
1355 		uint64_t reserved_25_63:39;
1356 		uint64_t pg_num:25;
1357 #else
1358 		uint64_t pg_num:25;
1359 		uint64_t reserved_25_63:39;
1360 #endif
1361 	} s;
1362 	struct cvmx_fpa_que8_page_index_s cn68xx;
1363 	struct cvmx_fpa_que8_page_index_s cn68xxp1;
1364 };
1365 
1366 union cvmx_fpa_que_act {
1367 	uint64_t u64;
1368 	struct cvmx_fpa_que_act_s {
1369 #ifdef __BIG_ENDIAN_BITFIELD
1370 		uint64_t reserved_29_63:35;
1371 		uint64_t act_que:3;
1372 		uint64_t act_indx:26;
1373 #else
1374 		uint64_t act_indx:26;
1375 		uint64_t act_que:3;
1376 		uint64_t reserved_29_63:35;
1377 #endif
1378 	} s;
1379 	struct cvmx_fpa_que_act_s cn30xx;
1380 	struct cvmx_fpa_que_act_s cn31xx;
1381 	struct cvmx_fpa_que_act_s cn38xx;
1382 	struct cvmx_fpa_que_act_s cn38xxp2;
1383 	struct cvmx_fpa_que_act_s cn50xx;
1384 	struct cvmx_fpa_que_act_s cn52xx;
1385 	struct cvmx_fpa_que_act_s cn52xxp1;
1386 	struct cvmx_fpa_que_act_s cn56xx;
1387 	struct cvmx_fpa_que_act_s cn56xxp1;
1388 	struct cvmx_fpa_que_act_s cn58xx;
1389 	struct cvmx_fpa_que_act_s cn58xxp1;
1390 	struct cvmx_fpa_que_act_s cn61xx;
1391 	struct cvmx_fpa_que_act_s cn63xx;
1392 	struct cvmx_fpa_que_act_s cn63xxp1;
1393 	struct cvmx_fpa_que_act_s cn66xx;
1394 	struct cvmx_fpa_que_act_s cn68xx;
1395 	struct cvmx_fpa_que_act_s cn68xxp1;
1396 	struct cvmx_fpa_que_act_s cnf71xx;
1397 };
1398 
1399 union cvmx_fpa_que_exp {
1400 	uint64_t u64;
1401 	struct cvmx_fpa_que_exp_s {
1402 #ifdef __BIG_ENDIAN_BITFIELD
1403 		uint64_t reserved_29_63:35;
1404 		uint64_t exp_que:3;
1405 		uint64_t exp_indx:26;
1406 #else
1407 		uint64_t exp_indx:26;
1408 		uint64_t exp_que:3;
1409 		uint64_t reserved_29_63:35;
1410 #endif
1411 	} s;
1412 	struct cvmx_fpa_que_exp_s cn30xx;
1413 	struct cvmx_fpa_que_exp_s cn31xx;
1414 	struct cvmx_fpa_que_exp_s cn38xx;
1415 	struct cvmx_fpa_que_exp_s cn38xxp2;
1416 	struct cvmx_fpa_que_exp_s cn50xx;
1417 	struct cvmx_fpa_que_exp_s cn52xx;
1418 	struct cvmx_fpa_que_exp_s cn52xxp1;
1419 	struct cvmx_fpa_que_exp_s cn56xx;
1420 	struct cvmx_fpa_que_exp_s cn56xxp1;
1421 	struct cvmx_fpa_que_exp_s cn58xx;
1422 	struct cvmx_fpa_que_exp_s cn58xxp1;
1423 	struct cvmx_fpa_que_exp_s cn61xx;
1424 	struct cvmx_fpa_que_exp_s cn63xx;
1425 	struct cvmx_fpa_que_exp_s cn63xxp1;
1426 	struct cvmx_fpa_que_exp_s cn66xx;
1427 	struct cvmx_fpa_que_exp_s cn68xx;
1428 	struct cvmx_fpa_que_exp_s cn68xxp1;
1429 	struct cvmx_fpa_que_exp_s cnf71xx;
1430 };
1431 
1432 union cvmx_fpa_wart_ctl {
1433 	uint64_t u64;
1434 	struct cvmx_fpa_wart_ctl_s {
1435 #ifdef __BIG_ENDIAN_BITFIELD
1436 		uint64_t reserved_16_63:48;
1437 		uint64_t ctl:16;
1438 #else
1439 		uint64_t ctl:16;
1440 		uint64_t reserved_16_63:48;
1441 #endif
1442 	} s;
1443 	struct cvmx_fpa_wart_ctl_s cn30xx;
1444 	struct cvmx_fpa_wart_ctl_s cn31xx;
1445 	struct cvmx_fpa_wart_ctl_s cn38xx;
1446 	struct cvmx_fpa_wart_ctl_s cn38xxp2;
1447 	struct cvmx_fpa_wart_ctl_s cn50xx;
1448 	struct cvmx_fpa_wart_ctl_s cn52xx;
1449 	struct cvmx_fpa_wart_ctl_s cn52xxp1;
1450 	struct cvmx_fpa_wart_ctl_s cn56xx;
1451 	struct cvmx_fpa_wart_ctl_s cn56xxp1;
1452 	struct cvmx_fpa_wart_ctl_s cn58xx;
1453 	struct cvmx_fpa_wart_ctl_s cn58xxp1;
1454 };
1455 
1456 union cvmx_fpa_wart_status {
1457 	uint64_t u64;
1458 	struct cvmx_fpa_wart_status_s {
1459 #ifdef __BIG_ENDIAN_BITFIELD
1460 		uint64_t reserved_32_63:32;
1461 		uint64_t status:32;
1462 #else
1463 		uint64_t status:32;
1464 		uint64_t reserved_32_63:32;
1465 #endif
1466 	} s;
1467 	struct cvmx_fpa_wart_status_s cn30xx;
1468 	struct cvmx_fpa_wart_status_s cn31xx;
1469 	struct cvmx_fpa_wart_status_s cn38xx;
1470 	struct cvmx_fpa_wart_status_s cn38xxp2;
1471 	struct cvmx_fpa_wart_status_s cn50xx;
1472 	struct cvmx_fpa_wart_status_s cn52xx;
1473 	struct cvmx_fpa_wart_status_s cn52xxp1;
1474 	struct cvmx_fpa_wart_status_s cn56xx;
1475 	struct cvmx_fpa_wart_status_s cn56xxp1;
1476 	struct cvmx_fpa_wart_status_s cn58xx;
1477 	struct cvmx_fpa_wart_status_s cn58xxp1;
1478 };
1479 
1480 union cvmx_fpa_wqe_threshold {
1481 	uint64_t u64;
1482 	struct cvmx_fpa_wqe_threshold_s {
1483 #ifdef __BIG_ENDIAN_BITFIELD
1484 		uint64_t reserved_32_63:32;
1485 		uint64_t thresh:32;
1486 #else
1487 		uint64_t thresh:32;
1488 		uint64_t reserved_32_63:32;
1489 #endif
1490 	} s;
1491 	struct cvmx_fpa_wqe_threshold_s cn61xx;
1492 	struct cvmx_fpa_wqe_threshold_s cn63xx;
1493 	struct cvmx_fpa_wqe_threshold_s cn66xx;
1494 	struct cvmx_fpa_wqe_threshold_s cn68xx;
1495 	struct cvmx_fpa_wqe_threshold_s cn68xxp1;
1496 	struct cvmx_fpa_wqe_threshold_s cnf71xx;
1497 };
1498 
1499 #endif
1500