]> CyberLeo.Net >> Repos - FreeBSD/releng/10.0.git/blob - sys/contrib/octeon-sdk/cvmx-fpa-defs.h
- Copy stable/10 (r259064) to releng/10.0 as part of the
[FreeBSD/releng/10.0.git] / sys / contrib / octeon-sdk / cvmx-fpa-defs.h
1 /***********************license start***************
2  * Copyright (c) 2003-2012  Cavium Inc. (support@cavium.com). All rights
3  * reserved.
4  *
5  *
6  * Redistribution and use in source and binary forms, with or without
7  * modification, are permitted provided that the following conditions are
8  * met:
9  *
10  *   * Redistributions of source code must retain the above copyright
11  *     notice, this list of conditions and the following disclaimer.
12  *
13  *   * Redistributions in binary form must reproduce the above
14  *     copyright notice, this list of conditions and the following
15  *     disclaimer in the documentation and/or other materials provided
16  *     with the distribution.
17
18  *   * Neither the name of Cavium Inc. nor the names of
19  *     its contributors may be used to endorse or promote products
20  *     derived from this software without specific prior written
21  *     permission.
22
23  * This Software, including technical data, may be subject to U.S. export  control
24  * laws, including the U.S. Export Administration Act and its  associated
25  * regulations, and may be subject to export or import  regulations in other
26  * countries.
27
28  * TO THE MAXIMUM EXTENT PERMITTED BY LAW, THE SOFTWARE IS PROVIDED "AS IS"
29  * AND WITH ALL FAULTS AND CAVIUM INC. MAKES NO PROMISES, REPRESENTATIONS OR
30  * WARRANTIES, EITHER EXPRESS, IMPLIED, STATUTORY, OR OTHERWISE, WITH RESPECT TO
31  * THE SOFTWARE, INCLUDING ITS CONDITION, ITS CONFORMITY TO ANY REPRESENTATION OR
32  * DESCRIPTION, OR THE EXISTENCE OF ANY LATENT OR PATENT DEFECTS, AND CAVIUM
33  * SPECIFICALLY DISCLAIMS ALL IMPLIED (IF ANY) WARRANTIES OF TITLE,
34  * MERCHANTABILITY, NONINFRINGEMENT, FITNESS FOR A PARTICULAR PURPOSE, LACK OF
35  * VIRUSES, ACCURACY OR COMPLETENESS, QUIET ENJOYMENT, QUIET POSSESSION OR
36  * CORRESPONDENCE TO DESCRIPTION. THE ENTIRE  RISK ARISING OUT OF USE OR
37  * PERFORMANCE OF THE SOFTWARE LIES WITH YOU.
38  ***********************license end**************************************/
39
40
41 /**
42  * cvmx-fpa-defs.h
43  *
44  * Configuration and status register (CSR) type definitions for
45  * Octeon fpa.
46  *
47  * This file is auto generated. Do not edit.
48  *
49  * <hr>$Revision$<hr>
50  *
51  */
52 #ifndef __CVMX_FPA_DEFS_H__
53 #define __CVMX_FPA_DEFS_H__
54
55 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
56 #define CVMX_FPA_ADDR_RANGE_ERROR CVMX_FPA_ADDR_RANGE_ERROR_FUNC()
57 static inline uint64_t CVMX_FPA_ADDR_RANGE_ERROR_FUNC(void)
58 {
59         if (!(OCTEON_IS_MODEL(OCTEON_CN61XX) || OCTEON_IS_MODEL(OCTEON_CN66XX) || OCTEON_IS_MODEL(OCTEON_CN68XX) || OCTEON_IS_MODEL(OCTEON_CNF71XX)))
60                 cvmx_warn("CVMX_FPA_ADDR_RANGE_ERROR not supported on this chip\n");
61         return CVMX_ADD_IO_SEG(0x0001180028000458ull);
62 }
63 #else
64 #define CVMX_FPA_ADDR_RANGE_ERROR (CVMX_ADD_IO_SEG(0x0001180028000458ull))
65 #endif
66 #define CVMX_FPA_BIST_STATUS (CVMX_ADD_IO_SEG(0x00011800280000E8ull))
67 #define CVMX_FPA_CTL_STATUS (CVMX_ADD_IO_SEG(0x0001180028000050ull))
68 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
69 #define CVMX_FPA_FPF0_MARKS CVMX_FPA_FPF0_MARKS_FUNC()
70 static inline uint64_t CVMX_FPA_FPF0_MARKS_FUNC(void)
71 {
72         if (!(OCTEON_IS_MODEL(OCTEON_CN38XX) || OCTEON_IS_MODEL(OCTEON_CN56XX) || OCTEON_IS_MODEL(OCTEON_CN58XX) || OCTEON_IS_MODEL(OCTEON_CN61XX) || OCTEON_IS_MODEL(OCTEON_CN63XX) || OCTEON_IS_MODEL(OCTEON_CN66XX) || OCTEON_IS_MODEL(OCTEON_CN68XX) || OCTEON_IS_MODEL(OCTEON_CNF71XX)))
73                 cvmx_warn("CVMX_FPA_FPF0_MARKS not supported on this chip\n");
74         return CVMX_ADD_IO_SEG(0x0001180028000000ull);
75 }
76 #else
77 #define CVMX_FPA_FPF0_MARKS (CVMX_ADD_IO_SEG(0x0001180028000000ull))
78 #endif
79 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
80 #define CVMX_FPA_FPF0_SIZE CVMX_FPA_FPF0_SIZE_FUNC()
81 static inline uint64_t CVMX_FPA_FPF0_SIZE_FUNC(void)
82 {
83         if (!(OCTEON_IS_MODEL(OCTEON_CN38XX) || OCTEON_IS_MODEL(OCTEON_CN56XX) || OCTEON_IS_MODEL(OCTEON_CN58XX) || OCTEON_IS_MODEL(OCTEON_CN61XX) || OCTEON_IS_MODEL(OCTEON_CN63XX) || OCTEON_IS_MODEL(OCTEON_CN66XX) || OCTEON_IS_MODEL(OCTEON_CN68XX) || OCTEON_IS_MODEL(OCTEON_CNF71XX)))
84                 cvmx_warn("CVMX_FPA_FPF0_SIZE not supported on this chip\n");
85         return CVMX_ADD_IO_SEG(0x0001180028000058ull);
86 }
87 #else
88 #define CVMX_FPA_FPF0_SIZE (CVMX_ADD_IO_SEG(0x0001180028000058ull))
89 #endif
90 #define CVMX_FPA_FPF1_MARKS CVMX_FPA_FPFX_MARKS(1)
91 #define CVMX_FPA_FPF2_MARKS CVMX_FPA_FPFX_MARKS(2)
92 #define CVMX_FPA_FPF3_MARKS CVMX_FPA_FPFX_MARKS(3)
93 #define CVMX_FPA_FPF4_MARKS CVMX_FPA_FPFX_MARKS(4)
94 #define CVMX_FPA_FPF5_MARKS CVMX_FPA_FPFX_MARKS(5)
95 #define CVMX_FPA_FPF6_MARKS CVMX_FPA_FPFX_MARKS(6)
96 #define CVMX_FPA_FPF7_MARKS CVMX_FPA_FPFX_MARKS(7)
97 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
98 #define CVMX_FPA_FPF8_MARKS CVMX_FPA_FPF8_MARKS_FUNC()
99 static inline uint64_t CVMX_FPA_FPF8_MARKS_FUNC(void)
100 {
101         if (!(OCTEON_IS_MODEL(OCTEON_CN68XX)))
102                 cvmx_warn("CVMX_FPA_FPF8_MARKS not supported on this chip\n");
103         return CVMX_ADD_IO_SEG(0x0001180028000240ull);
104 }
105 #else
106 #define CVMX_FPA_FPF8_MARKS (CVMX_ADD_IO_SEG(0x0001180028000240ull))
107 #endif
108 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
109 #define CVMX_FPA_FPF8_SIZE CVMX_FPA_FPF8_SIZE_FUNC()
110 static inline uint64_t CVMX_FPA_FPF8_SIZE_FUNC(void)
111 {
112         if (!(OCTEON_IS_MODEL(OCTEON_CN68XX)))
113                 cvmx_warn("CVMX_FPA_FPF8_SIZE not supported on this chip\n");
114         return CVMX_ADD_IO_SEG(0x0001180028000248ull);
115 }
116 #else
117 #define CVMX_FPA_FPF8_SIZE (CVMX_ADD_IO_SEG(0x0001180028000248ull))
118 #endif
119 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
120 static inline uint64_t CVMX_FPA_FPFX_MARKS(unsigned long offset)
121 {
122         if (!(
123               (OCTEON_IS_MODEL(OCTEON_CN38XX) && (((offset >= 1) && (offset <= 7)))) ||
124               (OCTEON_IS_MODEL(OCTEON_CN56XX) && (((offset >= 1) && (offset <= 7)))) ||
125               (OCTEON_IS_MODEL(OCTEON_CN58XX) && (((offset >= 1) && (offset <= 7)))) ||
126               (OCTEON_IS_MODEL(OCTEON_CN61XX) && (((offset >= 1) && (offset <= 7)))) ||
127               (OCTEON_IS_MODEL(OCTEON_CN63XX) && (((offset >= 1) && (offset <= 7)))) ||
128               (OCTEON_IS_MODEL(OCTEON_CN66XX) && (((offset >= 1) && (offset <= 7)))) ||
129               (OCTEON_IS_MODEL(OCTEON_CN68XX) && (((offset >= 1) && (offset <= 7)))) ||
130               (OCTEON_IS_MODEL(OCTEON_CNF71XX) && (((offset >= 1) && (offset <= 7))))))
131                 cvmx_warn("CVMX_FPA_FPFX_MARKS(%lu) is invalid on this chip\n", offset);
132         return CVMX_ADD_IO_SEG(0x0001180028000008ull) + ((offset) & 7) * 8 - 8*1;
133 }
134 #else
135 #define CVMX_FPA_FPFX_MARKS(offset) (CVMX_ADD_IO_SEG(0x0001180028000008ull) + ((offset) & 7) * 8 - 8*1)
136 #endif
137 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
138 static inline uint64_t CVMX_FPA_FPFX_SIZE(unsigned long offset)
139 {
140         if (!(
141               (OCTEON_IS_MODEL(OCTEON_CN38XX) && (((offset >= 1) && (offset <= 7)))) ||
142               (OCTEON_IS_MODEL(OCTEON_CN56XX) && (((offset >= 1) && (offset <= 7)))) ||
143               (OCTEON_IS_MODEL(OCTEON_CN58XX) && (((offset >= 1) && (offset <= 7)))) ||
144               (OCTEON_IS_MODEL(OCTEON_CN61XX) && (((offset >= 1) && (offset <= 7)))) ||
145               (OCTEON_IS_MODEL(OCTEON_CN63XX) && (((offset >= 1) && (offset <= 7)))) ||
146               (OCTEON_IS_MODEL(OCTEON_CN66XX) && (((offset >= 1) && (offset <= 7)))) ||
147               (OCTEON_IS_MODEL(OCTEON_CN68XX) && (((offset >= 1) && (offset <= 7)))) ||
148               (OCTEON_IS_MODEL(OCTEON_CNF71XX) && (((offset >= 1) && (offset <= 7))))))
149                 cvmx_warn("CVMX_FPA_FPFX_SIZE(%lu) is invalid on this chip\n", offset);
150         return CVMX_ADD_IO_SEG(0x0001180028000060ull) + ((offset) & 7) * 8 - 8*1;
151 }
152 #else
153 #define CVMX_FPA_FPFX_SIZE(offset) (CVMX_ADD_IO_SEG(0x0001180028000060ull) + ((offset) & 7) * 8 - 8*1)
154 #endif
155 #define CVMX_FPA_INT_ENB (CVMX_ADD_IO_SEG(0x0001180028000048ull))
156 #define CVMX_FPA_INT_SUM (CVMX_ADD_IO_SEG(0x0001180028000040ull))
157 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
158 #define CVMX_FPA_PACKET_THRESHOLD CVMX_FPA_PACKET_THRESHOLD_FUNC()
159 static inline uint64_t CVMX_FPA_PACKET_THRESHOLD_FUNC(void)
160 {
161         if (!(OCTEON_IS_MODEL(OCTEON_CN61XX) || OCTEON_IS_MODEL(OCTEON_CN63XX) || OCTEON_IS_MODEL(OCTEON_CN66XX) || OCTEON_IS_MODEL(OCTEON_CN68XX) || OCTEON_IS_MODEL(OCTEON_CNF71XX)))
162                 cvmx_warn("CVMX_FPA_PACKET_THRESHOLD not supported on this chip\n");
163         return CVMX_ADD_IO_SEG(0x0001180028000460ull);
164 }
165 #else
166 #define CVMX_FPA_PACKET_THRESHOLD (CVMX_ADD_IO_SEG(0x0001180028000460ull))
167 #endif
168 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
169 static inline uint64_t CVMX_FPA_POOLX_END_ADDR(unsigned long offset)
170 {
171         if (!(
172               (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((offset <= 7))) ||
173               (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((offset <= 7))) ||
174               (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((offset <= 8))) ||
175               (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((offset <= 7)))))
176                 cvmx_warn("CVMX_FPA_POOLX_END_ADDR(%lu) is invalid on this chip\n", offset);
177         return CVMX_ADD_IO_SEG(0x0001180028000358ull) + ((offset) & 15) * 8;
178 }
179 #else
180 #define CVMX_FPA_POOLX_END_ADDR(offset) (CVMX_ADD_IO_SEG(0x0001180028000358ull) + ((offset) & 15) * 8)
181 #endif
182 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
183 static inline uint64_t CVMX_FPA_POOLX_START_ADDR(unsigned long offset)
184 {
185         if (!(
186               (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((offset <= 7))) ||
187               (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((offset <= 7))) ||
188               (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((offset <= 8))) ||
189               (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((offset <= 7)))))
190                 cvmx_warn("CVMX_FPA_POOLX_START_ADDR(%lu) is invalid on this chip\n", offset);
191         return CVMX_ADD_IO_SEG(0x0001180028000258ull) + ((offset) & 15) * 8;
192 }
193 #else
194 #define CVMX_FPA_POOLX_START_ADDR(offset) (CVMX_ADD_IO_SEG(0x0001180028000258ull) + ((offset) & 15) * 8)
195 #endif
196 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
197 static inline uint64_t CVMX_FPA_POOLX_THRESHOLD(unsigned long offset)
198 {
199         if (!(
200               (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((offset <= 7))) ||
201               (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((offset <= 7))) ||
202               (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((offset <= 7))) ||
203               (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((offset <= 8))) ||
204               (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((offset <= 7)))))
205                 cvmx_warn("CVMX_FPA_POOLX_THRESHOLD(%lu) is invalid on this chip\n", offset);
206         return CVMX_ADD_IO_SEG(0x0001180028000140ull) + ((offset) & 15) * 8;
207 }
208 #else
209 #define CVMX_FPA_POOLX_THRESHOLD(offset) (CVMX_ADD_IO_SEG(0x0001180028000140ull) + ((offset) & 15) * 8)
210 #endif
211 #define CVMX_FPA_QUE0_PAGE_INDEX CVMX_FPA_QUEX_PAGE_INDEX(0)
212 #define CVMX_FPA_QUE1_PAGE_INDEX CVMX_FPA_QUEX_PAGE_INDEX(1)
213 #define CVMX_FPA_QUE2_PAGE_INDEX CVMX_FPA_QUEX_PAGE_INDEX(2)
214 #define CVMX_FPA_QUE3_PAGE_INDEX CVMX_FPA_QUEX_PAGE_INDEX(3)
215 #define CVMX_FPA_QUE4_PAGE_INDEX CVMX_FPA_QUEX_PAGE_INDEX(4)
216 #define CVMX_FPA_QUE5_PAGE_INDEX CVMX_FPA_QUEX_PAGE_INDEX(5)
217 #define CVMX_FPA_QUE6_PAGE_INDEX CVMX_FPA_QUEX_PAGE_INDEX(6)
218 #define CVMX_FPA_QUE7_PAGE_INDEX CVMX_FPA_QUEX_PAGE_INDEX(7)
219 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
220 #define CVMX_FPA_QUE8_PAGE_INDEX CVMX_FPA_QUE8_PAGE_INDEX_FUNC()
221 static inline uint64_t CVMX_FPA_QUE8_PAGE_INDEX_FUNC(void)
222 {
223         if (!(OCTEON_IS_MODEL(OCTEON_CN68XX)))
224                 cvmx_warn("CVMX_FPA_QUE8_PAGE_INDEX not supported on this chip\n");
225         return CVMX_ADD_IO_SEG(0x0001180028000250ull);
226 }
227 #else
228 #define CVMX_FPA_QUE8_PAGE_INDEX (CVMX_ADD_IO_SEG(0x0001180028000250ull))
229 #endif
230 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
231 static inline uint64_t CVMX_FPA_QUEX_AVAILABLE(unsigned long offset)
232 {
233         if (!(
234               (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset <= 7))) ||
235               (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 7))) ||
236               (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((offset <= 7))) ||
237               (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 7))) ||
238               (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 7))) ||
239               (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 7))) ||
240               (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 7))) ||
241               (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((offset <= 7))) ||
242               (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((offset <= 7))) ||
243               (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((offset <= 7))) ||
244               (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((offset <= 8))) ||
245               (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((offset <= 7)))))
246                 cvmx_warn("CVMX_FPA_QUEX_AVAILABLE(%lu) is invalid on this chip\n", offset);
247         return CVMX_ADD_IO_SEG(0x0001180028000098ull) + ((offset) & 15) * 8;
248 }
249 #else
250 #define CVMX_FPA_QUEX_AVAILABLE(offset) (CVMX_ADD_IO_SEG(0x0001180028000098ull) + ((offset) & 15) * 8)
251 #endif
252 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
253 static inline uint64_t CVMX_FPA_QUEX_PAGE_INDEX(unsigned long offset)
254 {
255         if (!(
256               (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset <= 7))) ||
257               (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 7))) ||
258               (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((offset <= 7))) ||
259               (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 7))) ||
260               (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 7))) ||
261               (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 7))) ||
262               (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 7))) ||
263               (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((offset <= 7))) ||
264               (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((offset <= 7))) ||
265               (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((offset <= 7))) ||
266               (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((offset <= 7))) ||
267               (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((offset <= 7)))))
268                 cvmx_warn("CVMX_FPA_QUEX_PAGE_INDEX(%lu) is invalid on this chip\n", offset);
269         return CVMX_ADD_IO_SEG(0x00011800280000F0ull) + ((offset) & 7) * 8;
270 }
271 #else
272 #define CVMX_FPA_QUEX_PAGE_INDEX(offset) (CVMX_ADD_IO_SEG(0x00011800280000F0ull) + ((offset) & 7) * 8)
273 #endif
274 #define CVMX_FPA_QUE_ACT (CVMX_ADD_IO_SEG(0x0001180028000138ull))
275 #define CVMX_FPA_QUE_EXP (CVMX_ADD_IO_SEG(0x0001180028000130ull))
276 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
277 #define CVMX_FPA_WART_CTL CVMX_FPA_WART_CTL_FUNC()
278 static inline uint64_t CVMX_FPA_WART_CTL_FUNC(void)
279 {
280         if (!(OCTEON_IS_MODEL(OCTEON_CN3XXX) || OCTEON_IS_MODEL(OCTEON_CN5XXX)))
281                 cvmx_warn("CVMX_FPA_WART_CTL not supported on this chip\n");
282         return CVMX_ADD_IO_SEG(0x00011800280000D8ull);
283 }
284 #else
285 #define CVMX_FPA_WART_CTL (CVMX_ADD_IO_SEG(0x00011800280000D8ull))
286 #endif
287 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
288 #define CVMX_FPA_WART_STATUS CVMX_FPA_WART_STATUS_FUNC()
289 static inline uint64_t CVMX_FPA_WART_STATUS_FUNC(void)
290 {
291         if (!(OCTEON_IS_MODEL(OCTEON_CN3XXX) || OCTEON_IS_MODEL(OCTEON_CN5XXX)))
292                 cvmx_warn("CVMX_FPA_WART_STATUS not supported on this chip\n");
293         return CVMX_ADD_IO_SEG(0x00011800280000E0ull);
294 }
295 #else
296 #define CVMX_FPA_WART_STATUS (CVMX_ADD_IO_SEG(0x00011800280000E0ull))
297 #endif
298 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
299 #define CVMX_FPA_WQE_THRESHOLD CVMX_FPA_WQE_THRESHOLD_FUNC()
300 static inline uint64_t CVMX_FPA_WQE_THRESHOLD_FUNC(void)
301 {
302         if (!(OCTEON_IS_MODEL(OCTEON_CN61XX) || OCTEON_IS_MODEL(OCTEON_CN63XX) || OCTEON_IS_MODEL(OCTEON_CN66XX) || OCTEON_IS_MODEL(OCTEON_CN68XX) || OCTEON_IS_MODEL(OCTEON_CNF71XX)))
303                 cvmx_warn("CVMX_FPA_WQE_THRESHOLD not supported on this chip\n");
304         return CVMX_ADD_IO_SEG(0x0001180028000468ull);
305 }
306 #else
307 #define CVMX_FPA_WQE_THRESHOLD (CVMX_ADD_IO_SEG(0x0001180028000468ull))
308 #endif
309
310 /**
311  * cvmx_fpa_addr_range_error
312  *
313  * Space here reserved
314  *
315  *                  FPA_ADDR_RANGE_ERROR = FPA's Pool Address Range Error Information
316  *
317  * When an address is sent to a pool that does not fall in the start and end address spcified by
318  * FPA_POOLX_START_ADDR and FPA_POOLX_END_ADDR the information related to the failure is captured here.
319  * In addition FPA_INT_SUM[PADDR_E] will be set and this register will not be updated again till
320  * FPA_INT_SUM[PADDR_E] is cleared.
321  */
322 union cvmx_fpa_addr_range_error {
323         uint64_t u64;
324         struct cvmx_fpa_addr_range_error_s {
325 #ifdef __BIG_ENDIAN_BITFIELD
326         uint64_t reserved_38_63               : 26;
327         uint64_t pool                         : 5;  /**< Pool address sent to. */
328         uint64_t addr                         : 33; /**< Failing address. */
329 #else
330         uint64_t addr                         : 33;
331         uint64_t pool                         : 5;
332         uint64_t reserved_38_63               : 26;
333 #endif
334         } s;
335         struct cvmx_fpa_addr_range_error_s    cn61xx;
336         struct cvmx_fpa_addr_range_error_s    cn66xx;
337         struct cvmx_fpa_addr_range_error_s    cn68xx;
338         struct cvmx_fpa_addr_range_error_s    cn68xxp1;
339         struct cvmx_fpa_addr_range_error_s    cnf71xx;
340 };
341 typedef union cvmx_fpa_addr_range_error cvmx_fpa_addr_range_error_t;
342
343 /**
344  * cvmx_fpa_bist_status
345  *
346  * FPA_BIST_STATUS = BIST Status of FPA Memories
347  *
348  * The result of the BIST run on the FPA memories.
349  */
350 union cvmx_fpa_bist_status {
351         uint64_t u64;
352         struct cvmx_fpa_bist_status_s {
353 #ifdef __BIG_ENDIAN_BITFIELD
354         uint64_t reserved_5_63                : 59;
355         uint64_t frd                          : 1;  /**< fpa_frd  memory bist status. */
356         uint64_t fpf0                         : 1;  /**< fpa_fpf0 memory bist status. */
357         uint64_t fpf1                         : 1;  /**< fpa_fpf1 memory bist status. */
358         uint64_t ffr                          : 1;  /**< fpa_ffr  memory bist status. */
359         uint64_t fdr                          : 1;  /**< fpa_fdr  memory bist status. */
360 #else
361         uint64_t fdr                          : 1;
362         uint64_t ffr                          : 1;
363         uint64_t fpf1                         : 1;
364         uint64_t fpf0                         : 1;
365         uint64_t frd                          : 1;
366         uint64_t reserved_5_63                : 59;
367 #endif
368         } s;
369         struct cvmx_fpa_bist_status_s         cn30xx;
370         struct cvmx_fpa_bist_status_s         cn31xx;
371         struct cvmx_fpa_bist_status_s         cn38xx;
372         struct cvmx_fpa_bist_status_s         cn38xxp2;
373         struct cvmx_fpa_bist_status_s         cn50xx;
374         struct cvmx_fpa_bist_status_s         cn52xx;
375         struct cvmx_fpa_bist_status_s         cn52xxp1;
376         struct cvmx_fpa_bist_status_s         cn56xx;
377         struct cvmx_fpa_bist_status_s         cn56xxp1;
378         struct cvmx_fpa_bist_status_s         cn58xx;
379         struct cvmx_fpa_bist_status_s         cn58xxp1;
380         struct cvmx_fpa_bist_status_s         cn61xx;
381         struct cvmx_fpa_bist_status_s         cn63xx;
382         struct cvmx_fpa_bist_status_s         cn63xxp1;
383         struct cvmx_fpa_bist_status_s         cn66xx;
384         struct cvmx_fpa_bist_status_s         cn68xx;
385         struct cvmx_fpa_bist_status_s         cn68xxp1;
386         struct cvmx_fpa_bist_status_s         cnf71xx;
387 };
388 typedef union cvmx_fpa_bist_status cvmx_fpa_bist_status_t;
389
390 /**
391  * cvmx_fpa_ctl_status
392  *
393  * FPA_CTL_STATUS = FPA's Control/Status Register
394  *
395  * The FPA's interrupt enable register.
396  */
397 union cvmx_fpa_ctl_status {
398         uint64_t u64;
399         struct cvmx_fpa_ctl_status_s {
400 #ifdef __BIG_ENDIAN_BITFIELD
401         uint64_t reserved_21_63               : 43;
402         uint64_t free_en                      : 1;  /**< Enables the setting of the INT_SUM_[FREE*] bits. */
403         uint64_t ret_off                      : 1;  /**< When set NCB devices returning pointer will be
404                                                          stalled. */
405         uint64_t req_off                      : 1;  /**< When set NCB devices requesting pointers will be
406                                                          stalled. */
407         uint64_t reset                        : 1;  /**< When set causes a reset of the FPA with the */
408         uint64_t use_ldt                      : 1;  /**< When clear '0' the FPA will use LDT to load
409                                                          pointers from the L2C. This is a PASS-2 field. */
410         uint64_t use_stt                      : 1;  /**< When clear '0' the FPA will use STT to store
411                                                          pointers to the L2C. This is a PASS-2 field. */
412         uint64_t enb                          : 1;  /**< Must be set to 1 AFTER writing all config registers
413                                                          and 10 cycles have past. If any of the config
414                                                          register are written after writing this bit the
415                                                          FPA may begin to operate incorrectly. */
416         uint64_t mem1_err                     : 7;  /**< Causes a flip of the ECC bit associated 38:32
417                                                          respective to bit 6:0 of this field, for FPF
418                                                          FIFO 1. */
419         uint64_t mem0_err                     : 7;  /**< Causes a flip of the ECC bit associated 38:32
420                                                          respective to bit 6:0 of this field, for FPF
421                                                          FIFO 0. */
422 #else
423         uint64_t mem0_err                     : 7;
424         uint64_t mem1_err                     : 7;
425         uint64_t enb                          : 1;
426         uint64_t use_stt                      : 1;
427         uint64_t use_ldt                      : 1;
428         uint64_t reset                        : 1;
429         uint64_t req_off                      : 1;
430         uint64_t ret_off                      : 1;
431         uint64_t free_en                      : 1;
432         uint64_t reserved_21_63               : 43;
433 #endif
434         } s;
435         struct cvmx_fpa_ctl_status_cn30xx {
436 #ifdef __BIG_ENDIAN_BITFIELD
437         uint64_t reserved_18_63               : 46;
438         uint64_t reset                        : 1;  /**< When set causes a reset of the FPA with the
439                                                          exception of the RSL. */
440         uint64_t use_ldt                      : 1;  /**< When clear '0' the FPA will use LDT to load
441                                                          pointers from the L2C. */
442         uint64_t use_stt                      : 1;  /**< When clear '0' the FPA will use STT to store
443                                                          pointers to the L2C. */
444         uint64_t enb                          : 1;  /**< Must be set to 1 AFTER writing all config registers
445                                                          and 10 cycles have past. If any of the config
446                                                          register are written after writing this bit the
447                                                          FPA may begin to operate incorrectly. */
448         uint64_t mem1_err                     : 7;  /**< Causes a flip of the ECC bit associated 38:32
449                                                          respective to bit 6:0 of this field, for FPF
450                                                          FIFO 1. */
451         uint64_t mem0_err                     : 7;  /**< Causes a flip of the ECC bit associated 38:32
452                                                          respective to bit 6:0 of this field, for FPF
453                                                          FIFO 0. */
454 #else
455         uint64_t mem0_err                     : 7;
456         uint64_t mem1_err                     : 7;
457         uint64_t enb                          : 1;
458         uint64_t use_stt                      : 1;
459         uint64_t use_ldt                      : 1;
460         uint64_t reset                        : 1;
461         uint64_t reserved_18_63               : 46;
462 #endif
463         } cn30xx;
464         struct cvmx_fpa_ctl_status_cn30xx     cn31xx;
465         struct cvmx_fpa_ctl_status_cn30xx     cn38xx;
466         struct cvmx_fpa_ctl_status_cn30xx     cn38xxp2;
467         struct cvmx_fpa_ctl_status_cn30xx     cn50xx;
468         struct cvmx_fpa_ctl_status_cn30xx     cn52xx;
469         struct cvmx_fpa_ctl_status_cn30xx     cn52xxp1;
470         struct cvmx_fpa_ctl_status_cn30xx     cn56xx;
471         struct cvmx_fpa_ctl_status_cn30xx     cn56xxp1;
472         struct cvmx_fpa_ctl_status_cn30xx     cn58xx;
473         struct cvmx_fpa_ctl_status_cn30xx     cn58xxp1;
474         struct cvmx_fpa_ctl_status_s          cn61xx;
475         struct cvmx_fpa_ctl_status_s          cn63xx;
476         struct cvmx_fpa_ctl_status_cn30xx     cn63xxp1;
477         struct cvmx_fpa_ctl_status_s          cn66xx;
478         struct cvmx_fpa_ctl_status_s          cn68xx;
479         struct cvmx_fpa_ctl_status_s          cn68xxp1;
480         struct cvmx_fpa_ctl_status_s          cnf71xx;
481 };
482 typedef union cvmx_fpa_ctl_status cvmx_fpa_ctl_status_t;
483
484 /**
485  * cvmx_fpa_fpf#_marks
486  *
487  * FPA_FPF1_MARKS = FPA's Queue 1 Free Page FIFO Read Write Marks
488  *
489  * The high and low watermark register that determines when we write and read free pages from L2C
490  * for Queue 1. The value of FPF_RD and FPF_WR should have at least a 33 difference. Recommend value
491  * is FPF_RD == (FPA_FPF#_SIZE[FPF_SIZ] * .25) and FPF_WR == (FPA_FPF#_SIZE[FPF_SIZ] * .75)
492  */
493 union cvmx_fpa_fpfx_marks {
494         uint64_t u64;
495         struct cvmx_fpa_fpfx_marks_s {
496 #ifdef __BIG_ENDIAN_BITFIELD
497         uint64_t reserved_22_63               : 42;
498         uint64_t fpf_wr                       : 11; /**< When the number of free-page-pointers in a
499                                                           queue exceeds this value the FPA will write
500                                                           32-page-pointers of that queue to DRAM.
501                                                          The MAX value for this field should be
502                                                          FPA_FPF1_SIZE[FPF_SIZ]-2. */
503         uint64_t fpf_rd                       : 11; /**< When the number of free-page-pointers in a
504                                                           queue drops below this value and there are
505                                                           free-page-pointers in DRAM, the FPA will
506                                                           read one page (32 pointers) from DRAM.
507                                                          This maximum value for this field should be
508                                                          FPA_FPF1_SIZE[FPF_SIZ]-34. The min number
509                                                          for this would be 16. */
510 #else
511         uint64_t fpf_rd                       : 11;
512         uint64_t fpf_wr                       : 11;
513         uint64_t reserved_22_63               : 42;
514 #endif
515         } s;
516         struct cvmx_fpa_fpfx_marks_s          cn38xx;
517         struct cvmx_fpa_fpfx_marks_s          cn38xxp2;
518         struct cvmx_fpa_fpfx_marks_s          cn56xx;
519         struct cvmx_fpa_fpfx_marks_s          cn56xxp1;
520         struct cvmx_fpa_fpfx_marks_s          cn58xx;
521         struct cvmx_fpa_fpfx_marks_s          cn58xxp1;
522         struct cvmx_fpa_fpfx_marks_s          cn61xx;
523         struct cvmx_fpa_fpfx_marks_s          cn63xx;
524         struct cvmx_fpa_fpfx_marks_s          cn63xxp1;
525         struct cvmx_fpa_fpfx_marks_s          cn66xx;
526         struct cvmx_fpa_fpfx_marks_s          cn68xx;
527         struct cvmx_fpa_fpfx_marks_s          cn68xxp1;
528         struct cvmx_fpa_fpfx_marks_s          cnf71xx;
529 };
530 typedef union cvmx_fpa_fpfx_marks cvmx_fpa_fpfx_marks_t;
531
532 /**
533  * cvmx_fpa_fpf#_size
534  *
535  * FPA_FPFX_SIZE = FPA's Queue 1-7 Free Page FIFO Size
536  *
537  * The number of page pointers that will be kept local to the FPA for this Queue. FPA Queues are
538  * assigned in order from Queue 0 to Queue 7, though only Queue 0 through Queue x can be used.
539  * The sum of the 8 (0-7) FPA_FPF#_SIZE registers must be limited to 2048.
540  */
541 union cvmx_fpa_fpfx_size {
542         uint64_t u64;
543         struct cvmx_fpa_fpfx_size_s {
544 #ifdef __BIG_ENDIAN_BITFIELD
545         uint64_t reserved_11_63               : 53;
546         uint64_t fpf_siz                      : 11; /**< The number of entries assigned in the FPA FIFO
547                                                          (used to hold page-pointers) for this Queue.
548                                                          The value of this register must divisable by 2,
549                                                          and the FPA will ignore bit [0] of this register.
550                                                          The total of the FPF_SIZ field of the 8 (0-7)
551                                                          FPA_FPF#_SIZE registers must not exceed 2048.
552                                                          After writing this field the FPA will need 10
553                                                          core clock cycles to be ready for operation. The
554                                                          assignment of location in the FPA FIFO must
555                                                          start with Queue 0, then 1, 2, etc.
556                                                          The number of useable entries will be FPF_SIZ-2. */
557 #else
558         uint64_t fpf_siz                      : 11;
559         uint64_t reserved_11_63               : 53;
560 #endif
561         } s;
562         struct cvmx_fpa_fpfx_size_s           cn38xx;
563         struct cvmx_fpa_fpfx_size_s           cn38xxp2;
564         struct cvmx_fpa_fpfx_size_s           cn56xx;
565         struct cvmx_fpa_fpfx_size_s           cn56xxp1;
566         struct cvmx_fpa_fpfx_size_s           cn58xx;
567         struct cvmx_fpa_fpfx_size_s           cn58xxp1;
568         struct cvmx_fpa_fpfx_size_s           cn61xx;
569         struct cvmx_fpa_fpfx_size_s           cn63xx;
570         struct cvmx_fpa_fpfx_size_s           cn63xxp1;
571         struct cvmx_fpa_fpfx_size_s           cn66xx;
572         struct cvmx_fpa_fpfx_size_s           cn68xx;
573         struct cvmx_fpa_fpfx_size_s           cn68xxp1;
574         struct cvmx_fpa_fpfx_size_s           cnf71xx;
575 };
576 typedef union cvmx_fpa_fpfx_size cvmx_fpa_fpfx_size_t;
577
578 /**
579  * cvmx_fpa_fpf0_marks
580  *
581  * FPA_FPF0_MARKS = FPA's Queue 0 Free Page FIFO Read Write Marks
582  *
583  * The high and low watermark register that determines when we write and read free pages from L2C
584  * for Queue 0. The value of FPF_RD and FPF_WR should have at least a 33 difference. Recommend value
585  * is FPF_RD == (FPA_FPF#_SIZE[FPF_SIZ] * .25) and FPF_WR == (FPA_FPF#_SIZE[FPF_SIZ] * .75)
586  */
587 union cvmx_fpa_fpf0_marks {
588         uint64_t u64;
589         struct cvmx_fpa_fpf0_marks_s {
590 #ifdef __BIG_ENDIAN_BITFIELD
591         uint64_t reserved_24_63               : 40;
592         uint64_t fpf_wr                       : 12; /**< When the number of free-page-pointers in a
593                                                           queue exceeds this value the FPA will write
594                                                           32-page-pointers of that queue to DRAM.
595                                                          The MAX value for this field should be
596                                                          FPA_FPF0_SIZE[FPF_SIZ]-2. */
597         uint64_t fpf_rd                       : 12; /**< When the number of free-page-pointers in a
598                                                          queue drops below this value and there are
599                                                          free-page-pointers in DRAM, the FPA will
600                                                          read one page (32 pointers) from DRAM.
601                                                          This maximum value for this field should be
602                                                          FPA_FPF0_SIZE[FPF_SIZ]-34. The min number
603                                                          for this would be 16. */
604 #else
605         uint64_t fpf_rd                       : 12;
606         uint64_t fpf_wr                       : 12;
607         uint64_t reserved_24_63               : 40;
608 #endif
609         } s;
610         struct cvmx_fpa_fpf0_marks_s          cn38xx;
611         struct cvmx_fpa_fpf0_marks_s          cn38xxp2;
612         struct cvmx_fpa_fpf0_marks_s          cn56xx;
613         struct cvmx_fpa_fpf0_marks_s          cn56xxp1;
614         struct cvmx_fpa_fpf0_marks_s          cn58xx;
615         struct cvmx_fpa_fpf0_marks_s          cn58xxp1;
616         struct cvmx_fpa_fpf0_marks_s          cn61xx;
617         struct cvmx_fpa_fpf0_marks_s          cn63xx;
618         struct cvmx_fpa_fpf0_marks_s          cn63xxp1;
619         struct cvmx_fpa_fpf0_marks_s          cn66xx;
620         struct cvmx_fpa_fpf0_marks_s          cn68xx;
621         struct cvmx_fpa_fpf0_marks_s          cn68xxp1;
622         struct cvmx_fpa_fpf0_marks_s          cnf71xx;
623 };
624 typedef union cvmx_fpa_fpf0_marks cvmx_fpa_fpf0_marks_t;
625
626 /**
627  * cvmx_fpa_fpf0_size
628  *
629  * FPA_FPF0_SIZE = FPA's Queue 0 Free Page FIFO Size
630  *
631  * The number of page pointers that will be kept local to the FPA for this Queue. FPA Queues are
632  * assigned in order from Queue 0 to Queue 7, though only Queue 0 through Queue x can be used.
633  * The sum of the 8 (0-7) FPA_FPF#_SIZE registers must be limited to 2048.
634  */
635 union cvmx_fpa_fpf0_size {
636         uint64_t u64;
637         struct cvmx_fpa_fpf0_size_s {
638 #ifdef __BIG_ENDIAN_BITFIELD
639         uint64_t reserved_12_63               : 52;
640         uint64_t fpf_siz                      : 12; /**< The number of entries assigned in the FPA FIFO
641                                                          (used to hold page-pointers) for this Queue.
642                                                          The value of this register must divisable by 2,
643                                                          and the FPA will ignore bit [0] of this register.
644                                                          The total of the FPF_SIZ field of the 8 (0-7)
645                                                          FPA_FPF#_SIZE registers must not exceed 2048.
646                                                          After writing this field the FPA will need 10
647                                                          core clock cycles to be ready for operation. The
648                                                          assignment of location in the FPA FIFO must
649                                                          start with Queue 0, then 1, 2, etc.
650                                                          The number of useable entries will be FPF_SIZ-2. */
651 #else
652         uint64_t fpf_siz                      : 12;
653         uint64_t reserved_12_63               : 52;
654 #endif
655         } s;
656         struct cvmx_fpa_fpf0_size_s           cn38xx;
657         struct cvmx_fpa_fpf0_size_s           cn38xxp2;
658         struct cvmx_fpa_fpf0_size_s           cn56xx;
659         struct cvmx_fpa_fpf0_size_s           cn56xxp1;
660         struct cvmx_fpa_fpf0_size_s           cn58xx;
661         struct cvmx_fpa_fpf0_size_s           cn58xxp1;
662         struct cvmx_fpa_fpf0_size_s           cn61xx;
663         struct cvmx_fpa_fpf0_size_s           cn63xx;
664         struct cvmx_fpa_fpf0_size_s           cn63xxp1;
665         struct cvmx_fpa_fpf0_size_s           cn66xx;
666         struct cvmx_fpa_fpf0_size_s           cn68xx;
667         struct cvmx_fpa_fpf0_size_s           cn68xxp1;
668         struct cvmx_fpa_fpf0_size_s           cnf71xx;
669 };
670 typedef union cvmx_fpa_fpf0_size cvmx_fpa_fpf0_size_t;
671
672 /**
673  * cvmx_fpa_fpf8_marks
674  *
675  * Reserved through 0x238 for additional thresholds
676  *
677  *                  FPA_FPF8_MARKS = FPA's Queue 8 Free Page FIFO Read Write Marks
678  *
679  * The high and low watermark register that determines when we write and read free pages from L2C
680  * for Queue 8. The value of FPF_RD and FPF_WR should have at least a 33 difference. Recommend value
681  * is FPF_RD == (FPA_FPF#_SIZE[FPF_SIZ] * .25) and FPF_WR == (FPA_FPF#_SIZE[FPF_SIZ] * .75)
682  */
683 union cvmx_fpa_fpf8_marks {
684         uint64_t u64;
685         struct cvmx_fpa_fpf8_marks_s {
686 #ifdef __BIG_ENDIAN_BITFIELD
687         uint64_t reserved_22_63               : 42;
688         uint64_t fpf_wr                       : 11; /**< When the number of free-page-pointers in a
689                                                          queue exceeds this value the FPA will write
690                                                          32-page-pointers of that queue to DRAM.
691                                                          The MAX value for this field should be
692                                                          FPA_FPF0_SIZE[FPF_SIZ]-2. */
693         uint64_t fpf_rd                       : 11; /**< When the number of free-page-pointers in a
694                                                          queue drops below this value and there are
695                                                          free-page-pointers in DRAM, the FPA will
696                                                          read one page (32 pointers) from DRAM.
697                                                          This maximum value for this field should be
698                                                          FPA_FPF0_SIZE[FPF_SIZ]-34. The min number
699                                                          for this would be 16. */
700 #else
701         uint64_t fpf_rd                       : 11;
702         uint64_t fpf_wr                       : 11;
703         uint64_t reserved_22_63               : 42;
704 #endif
705         } s;
706         struct cvmx_fpa_fpf8_marks_s          cn68xx;
707         struct cvmx_fpa_fpf8_marks_s          cn68xxp1;
708 };
709 typedef union cvmx_fpa_fpf8_marks cvmx_fpa_fpf8_marks_t;
710
711 /**
712  * cvmx_fpa_fpf8_size
713  *
714  * FPA_FPF8_SIZE = FPA's Queue 8 Free Page FIFO Size
715  *
716  * The number of page pointers that will be kept local to the FPA for this Queue. FPA Queues are
717  * assigned in order from Queue 0 to Queue 7, though only Queue 0 through Queue x can be used.
718  * The sum of the 9 (0-8) FPA_FPF#_SIZE registers must be limited to 2048.
719  */
720 union cvmx_fpa_fpf8_size {
721         uint64_t u64;
722         struct cvmx_fpa_fpf8_size_s {
723 #ifdef __BIG_ENDIAN_BITFIELD
724         uint64_t reserved_12_63               : 52;
725         uint64_t fpf_siz                      : 12; /**< The number of entries assigned in the FPA FIFO
726                                                          (used to hold page-pointers) for this Queue.
727                                                          The value of this register must divisable by 2,
728                                                          and the FPA will ignore bit [0] of this register.
729                                                          The total of the FPF_SIZ field of the 8 (0-7)
730                                                          FPA_FPF#_SIZE registers must not exceed 2048.
731                                                          After writing this field the FPA will need 10
732                                                          core clock cycles to be ready for operation. The
733                                                          assignment of location in the FPA FIFO must
734                                                          start with Queue 0, then 1, 2, etc.
735                                                          The number of useable entries will be FPF_SIZ-2. */
736 #else
737         uint64_t fpf_siz                      : 12;
738         uint64_t reserved_12_63               : 52;
739 #endif
740         } s;
741         struct cvmx_fpa_fpf8_size_s           cn68xx;
742         struct cvmx_fpa_fpf8_size_s           cn68xxp1;
743 };
744 typedef union cvmx_fpa_fpf8_size cvmx_fpa_fpf8_size_t;
745
746 /**
747  * cvmx_fpa_int_enb
748  *
749  * FPA_INT_ENB = FPA's Interrupt Enable
750  *
751  * The FPA's interrupt enable register.
752  */
753 union cvmx_fpa_int_enb {
754         uint64_t u64;
755         struct cvmx_fpa_int_enb_s {
756 #ifdef __BIG_ENDIAN_BITFIELD
757         uint64_t reserved_50_63               : 14;
758         uint64_t paddr_e                      : 1;  /**< When set (1) and bit 49 of the FPA_INT_SUM
759                                                          register is asserted the FPA will assert an
760                                                          interrupt. */
761         uint64_t reserved_44_48               : 5;
762         uint64_t free7                        : 1;  /**< When set (1) and bit 43 of the FPA_INT_SUM
763                                                          register is asserted the FPA will assert an
764                                                          interrupt. */
765         uint64_t free6                        : 1;  /**< When set (1) and bit 42 of the FPA_INT_SUM
766                                                          register is asserted the FPA will assert an
767                                                          interrupt. */
768         uint64_t free5                        : 1;  /**< When set (1) and bit 41 of the FPA_INT_SUM
769                                                          register is asserted the FPA will assert an
770                                                          interrupt. */
771         uint64_t free4                        : 1;  /**< When set (1) and bit 40 of the FPA_INT_SUM
772                                                          register is asserted the FPA will assert an
773                                                          interrupt. */
774         uint64_t free3                        : 1;  /**< When set (1) and bit 39 of the FPA_INT_SUM
775                                                          register is asserted the FPA will assert an
776                                                          interrupt. */
777         uint64_t free2                        : 1;  /**< When set (1) and bit 38 of the FPA_INT_SUM
778                                                          register is asserted the FPA will assert an
779                                                          interrupt. */
780         uint64_t free1                        : 1;  /**< When set (1) and bit 37 of the FPA_INT_SUM
781                                                          register is asserted the FPA will assert an
782                                                          interrupt. */
783         uint64_t free0                        : 1;  /**< When set (1) and bit 36 of the FPA_INT_SUM
784                                                          register is asserted the FPA will assert an
785                                                          interrupt. */
786         uint64_t pool7th                      : 1;  /**< When set (1) and bit 35 of the FPA_INT_SUM
787                                                          register is asserted the FPA will assert an
788                                                          interrupt. */
789         uint64_t pool6th                      : 1;  /**< When set (1) and bit 34 of the FPA_INT_SUM
790                                                          register is asserted the FPA will assert an
791                                                          interrupt. */
792         uint64_t pool5th                      : 1;  /**< When set (1) and bit 33 of the FPA_INT_SUM
793                                                          register is asserted the FPA will assert an
794                                                          interrupt. */
795         uint64_t pool4th                      : 1;  /**< When set (1) and bit 32 of the FPA_INT_SUM
796                                                          register is asserted the FPA will assert an
797                                                          interrupt. */
798         uint64_t pool3th                      : 1;  /**< When set (1) and bit 31 of the FPA_INT_SUM
799                                                          register is asserted the FPA will assert an
800                                                          interrupt. */
801         uint64_t pool2th                      : 1;  /**< When set (1) and bit 30 of the FPA_INT_SUM
802                                                          register is asserted the FPA will assert an
803                                                          interrupt. */
804         uint64_t pool1th                      : 1;  /**< When set (1) and bit 29 of the FPA_INT_SUM
805                                                          register is asserted the FPA will assert an
806                                                          interrupt. */
807         uint64_t pool0th                      : 1;  /**< When set (1) and bit 28 of the FPA_INT_SUM
808                                                          register is asserted the FPA will assert an
809                                                          interrupt. */
810         uint64_t q7_perr                      : 1;  /**< When set (1) and bit 27 of the FPA_INT_SUM
811                                                          register is asserted the FPA will assert an
812                                                          interrupt. */
813         uint64_t q7_coff                      : 1;  /**< When set (1) and bit 26 of the FPA_INT_SUM
814                                                          register is asserted the FPA will assert an
815                                                          interrupt. */
816         uint64_t q7_und                       : 1;  /**< When set (1) and bit 25 of the FPA_INT_SUM
817                                                          register is asserted the FPA will assert an
818                                                          interrupt. */
819         uint64_t q6_perr                      : 1;  /**< When set (1) and bit 24 of the FPA_INT_SUM
820                                                          register is asserted the FPA will assert an
821                                                          interrupt. */
822         uint64_t q6_coff                      : 1;  /**< When set (1) and bit 23 of the FPA_INT_SUM
823                                                          register is asserted the FPA will assert an
824                                                          interrupt. */
825         uint64_t q6_und                       : 1;  /**< When set (1) and bit 22 of the FPA_INT_SUM
826                                                          register is asserted the FPA will assert an
827                                                          interrupt. */
828         uint64_t q5_perr                      : 1;  /**< When set (1) and bit 21 of the FPA_INT_SUM
829                                                          register is asserted the FPA will assert an
830                                                          interrupt. */
831         uint64_t q5_coff                      : 1;  /**< When set (1) and bit 20 of the FPA_INT_SUM
832                                                          register is asserted the FPA will assert an
833                                                          interrupt. */
834         uint64_t q5_und                       : 1;  /**< When set (1) and bit 19 of the FPA_INT_SUM
835                                                          register is asserted the FPA will assert an
836                                                          interrupt. */
837         uint64_t q4_perr                      : 1;  /**< When set (1) and bit 18 of the FPA_INT_SUM
838                                                          register is asserted the FPA will assert an
839                                                          interrupt. */
840         uint64_t q4_coff                      : 1;  /**< When set (1) and bit 17 of the FPA_INT_SUM
841                                                          register is asserted the FPA will assert an
842                                                          interrupt. */
843         uint64_t q4_und                       : 1;  /**< When set (1) and bit 16 of the FPA_INT_SUM
844                                                          register is asserted the FPA will assert an
845                                                          interrupt. */
846         uint64_t q3_perr                      : 1;  /**< When set (1) and bit 15 of the FPA_INT_SUM
847                                                          register is asserted the FPA will assert an
848                                                          interrupt. */
849         uint64_t q3_coff                      : 1;  /**< When set (1) and bit 14 of the FPA_INT_SUM
850                                                          register is asserted the FPA will assert an
851                                                          interrupt. */
852         uint64_t q3_und                       : 1;  /**< When set (1) and bit 13 of the FPA_INT_SUM
853                                                          register is asserted the FPA will assert an
854                                                          interrupt. */
855         uint64_t q2_perr                      : 1;  /**< When set (1) and bit 12 of the FPA_INT_SUM
856                                                          register is asserted the FPA will assert an
857                                                          interrupt. */
858         uint64_t q2_coff                      : 1;  /**< When set (1) and bit 11 of the FPA_INT_SUM
859                                                          register is asserted the FPA will assert an
860                                                          interrupt. */
861         uint64_t q2_und                       : 1;  /**< When set (1) and bit 10 of the FPA_INT_SUM
862                                                          register is asserted the FPA will assert an
863                                                          interrupt. */
864         uint64_t q1_perr                      : 1;  /**< When set (1) and bit 9 of the FPA_INT_SUM
865                                                          register is asserted the FPA will assert an
866                                                          interrupt. */
867         uint64_t q1_coff                      : 1;  /**< When set (1) and bit 8 of the FPA_INT_SUM
868                                                          register is asserted the FPA will assert an
869                                                          interrupt. */
870         uint64_t q1_und                       : 1;  /**< When set (1) and bit 7 of the FPA_INT_SUM
871                                                          register is asserted the FPA will assert an
872                                                          interrupt. */
873         uint64_t q0_perr                      : 1;  /**< When set (1) and bit 6 of the FPA_INT_SUM
874                                                          register is asserted the FPA will assert an
875                                                          interrupt. */
876         uint64_t q0_coff                      : 1;  /**< When set (1) and bit 5 of the FPA_INT_SUM
877                                                          register is asserted the FPA will assert an
878                                                          interrupt. */
879         uint64_t q0_und                       : 1;  /**< When set (1) and bit 4 of the FPA_INT_SUM
880                                                          register is asserted the FPA will assert an
881                                                          interrupt. */
882         uint64_t fed1_dbe                     : 1;  /**< When set (1) and bit 3 of the FPA_INT_SUM
883                                                          register is asserted the FPA will assert an
884                                                          interrupt. */
885         uint64_t fed1_sbe                     : 1;  /**< When set (1) and bit 2 of the FPA_INT_SUM
886                                                          register is asserted the FPA will assert an
887                                                          interrupt. */
888         uint64_t fed0_dbe                     : 1;  /**< When set (1) and bit 1 of the FPA_INT_SUM
889                                                          register is asserted the FPA will assert an
890                                                          interrupt. */
891         uint64_t fed0_sbe                     : 1;  /**< When set (1) and bit 0 of the FPA_INT_SUM
892                                                          register is asserted the FPA will assert an
893                                                          interrupt. */
894 #else
895         uint64_t fed0_sbe                     : 1;
896         uint64_t fed0_dbe                     : 1;
897         uint64_t fed1_sbe                     : 1;
898         uint64_t fed1_dbe                     : 1;
899         uint64_t q0_und                       : 1;
900         uint64_t q0_coff                      : 1;
901         uint64_t q0_perr                      : 1;
902         uint64_t q1_und                       : 1;
903         uint64_t q1_coff                      : 1;
904         uint64_t q1_perr                      : 1;
905         uint64_t q2_und                       : 1;
906         uint64_t q2_coff                      : 1;
907         uint64_t q2_perr                      : 1;
908         uint64_t q3_und                       : 1;
909         uint64_t q3_coff                      : 1;
910         uint64_t q3_perr                      : 1;
911         uint64_t q4_und                       : 1;
912         uint64_t q4_coff                      : 1;
913         uint64_t q4_perr                      : 1;
914         uint64_t q5_und                       : 1;
915         uint64_t q5_coff                      : 1;
916         uint64_t q5_perr                      : 1;
917         uint64_t q6_und                       : 1;
918         uint64_t q6_coff                      : 1;
919         uint64_t q6_perr                      : 1;
920         uint64_t q7_und                       : 1;
921         uint64_t q7_coff                      : 1;
922         uint64_t q7_perr                      : 1;
923         uint64_t pool0th                      : 1;
924         uint64_t pool1th                      : 1;
925         uint64_t pool2th                      : 1;
926         uint64_t pool3th                      : 1;
927         uint64_t pool4th                      : 1;
928         uint64_t pool5th                      : 1;
929         uint64_t pool6th                      : 1;
930         uint64_t pool7th                      : 1;
931         uint64_t free0                        : 1;
932         uint64_t free1                        : 1;
933         uint64_t free2                        : 1;
934         uint64_t free3                        : 1;
935         uint64_t free4                        : 1;
936         uint64_t free5                        : 1;
937         uint64_t free6                        : 1;
938         uint64_t free7                        : 1;
939         uint64_t reserved_44_48               : 5;
940         uint64_t paddr_e                      : 1;
941         uint64_t reserved_50_63               : 14;
942 #endif
943         } s;
944         struct cvmx_fpa_int_enb_cn30xx {
945 #ifdef __BIG_ENDIAN_BITFIELD
946         uint64_t reserved_28_63               : 36;
947         uint64_t q7_perr                      : 1;  /**< When set (1) and bit 27 of the FPA_INT_SUM
948                                                          register is asserted the FPA will assert an
949                                                          interrupt. */
950         uint64_t q7_coff                      : 1;  /**< When set (1) and bit 26 of the FPA_INT_SUM
951                                                          register is asserted the FPA will assert an
952                                                          interrupt. */
953         uint64_t q7_und                       : 1;  /**< When set (1) and bit 25 of the FPA_INT_SUM
954                                                          register is asserted the FPA will assert an
955                                                          interrupt. */
956         uint64_t q6_perr                      : 1;  /**< When set (1) and bit 24 of the FPA_INT_SUM
957                                                          register is asserted the FPA will assert an
958                                                          interrupt. */
959         uint64_t q6_coff                      : 1;  /**< When set (1) and bit 23 of the FPA_INT_SUM
960                                                          register is asserted the FPA will assert an
961                                                          interrupt. */
962         uint64_t q6_und                       : 1;  /**< When set (1) and bit 22 of the FPA_INT_SUM
963                                                          register is asserted the FPA will assert an
964                                                          interrupt. */
965         uint64_t q5_perr                      : 1;  /**< When set (1) and bit 21 of the FPA_INT_SUM
966                                                          register is asserted the FPA will assert an
967                                                          interrupt. */
968         uint64_t q5_coff                      : 1;  /**< When set (1) and bit 20 of the FPA_INT_SUM
969                                                          register is asserted the FPA will assert an
970                                                          interrupt. */
971         uint64_t q5_und                       : 1;  /**< When set (1) and bit 19 of the FPA_INT_SUM
972                                                          register is asserted the FPA will assert an
973                                                          interrupt. */
974         uint64_t q4_perr                      : 1;  /**< When set (1) and bit 18 of the FPA_INT_SUM
975                                                          register is asserted the FPA will assert an
976                                                          interrupt. */
977         uint64_t q4_coff                      : 1;  /**< When set (1) and bit 17 of the FPA_INT_SUM
978                                                          register is asserted the FPA will assert an
979                                                          interrupt. */
980         uint64_t q4_und                       : 1;  /**< When set (1) and bit 16 of the FPA_INT_SUM
981                                                          register is asserted the FPA will assert an
982                                                          interrupt. */
983         uint64_t q3_perr                      : 1;  /**< When set (1) and bit 15 of the FPA_INT_SUM
984                                                          register is asserted the FPA will assert an
985                                                          interrupt. */
986         uint64_t q3_coff                      : 1;  /**< When set (1) and bit 14 of the FPA_INT_SUM
987                                                          register is asserted the FPA will assert an
988                                                          interrupt. */
989         uint64_t q3_und                       : 1;  /**< When set (1) and bit 13 of the FPA_INT_SUM
990                                                          register is asserted the FPA will assert an
991                                                          interrupt. */
992         uint64_t q2_perr                      : 1;  /**< When set (1) and bit 12 of the FPA_INT_SUM
993                                                          register is asserted the FPA will assert an
994                                                          interrupt. */
995         uint64_t q2_coff                      : 1;  /**< When set (1) and bit 11 of the FPA_INT_SUM
996                                                          register is asserted the FPA will assert an
997                                                          interrupt. */
998         uint64_t q2_und                       : 1;  /**< When set (1) and bit 10 of the FPA_INT_SUM
999                                                          register is asserted the FPA will assert an
1000                                                          interrupt. */
1001         uint64_t q1_perr                      : 1;  /**< When set (1) and bit 9 of the FPA_INT_SUM
1002                                                          register is asserted the FPA will assert an
1003                                                          interrupt. */
1004         uint64_t q1_coff                      : 1;  /**< When set (1) and bit 8 of the FPA_INT_SUM
1005                                                          register is asserted the FPA will assert an
1006                                                          interrupt. */
1007         uint64_t q1_und                       : 1;  /**< When set (1) and bit 7 of the FPA_INT_SUM
1008                                                          register is asserted the FPA will assert an
1009                                                          interrupt. */
1010         uint64_t q0_perr                      : 1;  /**< When set (1) and bit 6 of the FPA_INT_SUM
1011                                                          register is asserted the FPA will assert an
1012                                                          interrupt. */
1013         uint64_t q0_coff                      : 1;  /**< When set (1) and bit 5 of the FPA_INT_SUM
1014                                                          register is asserted the FPA will assert an
1015                                                          interrupt. */
1016         uint64_t q0_und                       : 1;  /**< When set (1) and bit 4 of the FPA_INT_SUM
1017                                                          register is asserted the FPA will assert an
1018                                                          interrupt. */
1019         uint64_t fed1_dbe                     : 1;  /**< When set (1) and bit 3 of the FPA_INT_SUM
1020                                                          register is asserted the FPA will assert an
1021                                                          interrupt. */
1022         uint64_t fed1_sbe                     : 1;  /**< When set (1) and bit 2 of the FPA_INT_SUM
1023                                                          register is asserted the FPA will assert an
1024                                                          interrupt. */
1025         uint64_t fed0_dbe                     : 1;  /**< When set (1) and bit 1 of the FPA_INT_SUM
1026                                                          register is asserted the FPA will assert an
1027                                                          interrupt. */
1028         uint64_t fed0_sbe                     : 1;  /**< When set (1) and bit 0 of the FPA_INT_SUM
1029                                                          register is asserted the FPA will assert an
1030                                                          interrupt. */
1031 #else
1032         uint64_t fed0_sbe                     : 1;
1033         uint64_t fed0_dbe                     : 1;
1034         uint64_t fed1_sbe                     : 1;
1035         uint64_t fed1_dbe                     : 1;
1036         uint64_t q0_und                       : 1;
1037         uint64_t q0_coff                      : 1;
1038         uint64_t q0_perr                      : 1;
1039         uint64_t q1_und                       : 1;
1040         uint64_t q1_coff                      : 1;
1041         uint64_t q1_perr                      : 1;
1042         uint64_t q2_und                       : 1;
1043         uint64_t q2_coff                      : 1;
1044         uint64_t q2_perr                      : 1;
1045         uint64_t q3_und                       : 1;
1046         uint64_t q3_coff                      : 1;
1047         uint64_t q3_perr                      : 1;
1048         uint64_t q4_und                       : 1;
1049         uint64_t q4_coff                      : 1;
1050         uint64_t q4_perr                      : 1;
1051         uint64_t q5_und                       : 1;
1052         uint64_t q5_coff                      : 1;
1053         uint64_t q5_perr                      : 1;
1054         uint64_t q6_und                       : 1;
1055         uint64_t q6_coff                      : 1;
1056         uint64_t q6_perr                      : 1;
1057         uint64_t q7_und                       : 1;
1058         uint64_t q7_coff                      : 1;
1059         uint64_t q7_perr                      : 1;
1060         uint64_t reserved_28_63               : 36;
1061 #endif
1062         } cn30xx;
1063         struct cvmx_fpa_int_enb_cn30xx        cn31xx;
1064         struct cvmx_fpa_int_enb_cn30xx        cn38xx;
1065         struct cvmx_fpa_int_enb_cn30xx        cn38xxp2;
1066         struct cvmx_fpa_int_enb_cn30xx        cn50xx;
1067         struct cvmx_fpa_int_enb_cn30xx        cn52xx;
1068         struct cvmx_fpa_int_enb_cn30xx        cn52xxp1;
1069         struct cvmx_fpa_int_enb_cn30xx        cn56xx;
1070         struct cvmx_fpa_int_enb_cn30xx        cn56xxp1;
1071         struct cvmx_fpa_int_enb_cn30xx        cn58xx;
1072         struct cvmx_fpa_int_enb_cn30xx        cn58xxp1;
1073         struct cvmx_fpa_int_enb_cn61xx {
1074 #ifdef __BIG_ENDIAN_BITFIELD
1075         uint64_t reserved_50_63               : 14;
1076         uint64_t paddr_e                      : 1;  /**< When set (1) and bit 49 of the FPA_INT_SUM
1077                                                          register is asserted the FPA will assert an
1078                                                          interrupt. */
1079         uint64_t res_44                       : 5;  /**< Reserved */
1080         uint64_t free7                        : 1;  /**< When set (1) and bit 43 of the FPA_INT_SUM
1081                                                          register is asserted the FPA will assert an
1082                                                          interrupt. */
1083         uint64_t free6                        : 1;  /**< When set (1) and bit 42 of the FPA_INT_SUM
1084                                                          register is asserted the FPA will assert an
1085                                                          interrupt. */
1086         uint64_t free5                        : 1;  /**< When set (1) and bit 41 of the FPA_INT_SUM
1087                                                          register is asserted the FPA will assert an
1088                                                          interrupt. */
1089         uint64_t free4                        : 1;  /**< When set (1) and bit 40 of the FPA_INT_SUM
1090                                                          register is asserted the FPA will assert an
1091                                                          interrupt. */
1092         uint64_t free3                        : 1;  /**< When set (1) and bit 39 of the FPA_INT_SUM
1093                                                          register is asserted the FPA will assert an
1094                                                          interrupt. */
1095         uint64_t free2                        : 1;  /**< When set (1) and bit 38 of the FPA_INT_SUM
1096                                                          register is asserted the FPA will assert an
1097                                                          interrupt. */
1098         uint64_t free1                        : 1;  /**< When set (1) and bit 37 of the FPA_INT_SUM
1099                                                          register is asserted the FPA will assert an
1100                                                          interrupt. */
1101         uint64_t free0                        : 1;  /**< When set (1) and bit 36 of the FPA_INT_SUM
1102                                                          register is asserted the FPA will assert an
1103                                                          interrupt. */
1104         uint64_t pool7th                      : 1;  /**< When set (1) and bit 35 of the FPA_INT_SUM
1105                                                          register is asserted the FPA will assert an
1106                                                          interrupt. */
1107         uint64_t pool6th                      : 1;  /**< When set (1) and bit 34 of the FPA_INT_SUM
1108                                                          register is asserted the FPA will assert an
1109                                                          interrupt. */
1110         uint64_t pool5th                      : 1;  /**< When set (1) and bit 33 of the FPA_INT_SUM
1111                                                          register is asserted the FPA will assert an
1112                                                          interrupt. */
1113         uint64_t pool4th                      : 1;  /**< When set (1) and bit 32 of the FPA_INT_SUM
1114                                                          register is asserted the FPA will assert an
1115                                                          interrupt. */
1116         uint64_t pool3th                      : 1;  /**< When set (1) and bit 31 of the FPA_INT_SUM
1117                                                          register is asserted the FPA will assert an
1118                                                          interrupt. */
1119         uint64_t pool2th                      : 1;  /**< When set (1) and bit 30 of the FPA_INT_SUM
1120                                                          register is asserted the FPA will assert an
1121                                                          interrupt. */
1122         uint64_t pool1th                      : 1;  /**< When set (1) and bit 29 of the FPA_INT_SUM
1123                                                          register is asserted the FPA will assert an
1124                                                          interrupt. */
1125         uint64_t pool0th                      : 1;  /**< When set (1) and bit 28 of the FPA_INT_SUM
1126                                                          register is asserted the FPA will assert an
1127                                                          interrupt. */
1128         uint64_t q7_perr                      : 1;  /**< When set (1) and bit 27 of the FPA_INT_SUM
1129                                                          register is asserted the FPA will assert an
1130                                                          interrupt. */
1131         uint64_t q7_coff                      : 1;  /**< When set (1) and bit 26 of the FPA_INT_SUM
1132                                                          register is asserted the FPA will assert an
1133                                                          interrupt. */
1134         uint64_t q7_und                       : 1;  /**< When set (1) and bit 25 of the FPA_INT_SUM
1135                                                          register is asserted the FPA will assert an
1136                                                          interrupt. */
1137         uint64_t q6_perr                      : 1;  /**< When set (1) and bit 24 of the FPA_INT_SUM
1138                                                          register is asserted the FPA will assert an
1139                                                          interrupt. */
1140         uint64_t q6_coff                      : 1;  /**< When set (1) and bit 23 of the FPA_INT_SUM
1141                                                          register is asserted the FPA will assert an
1142                                                          interrupt. */
1143         uint64_t q6_und                       : 1;  /**< When set (1) and bit 22 of the FPA_INT_SUM
1144                                                          register is asserted the FPA will assert an
1145                                                          interrupt. */
1146         uint64_t q5_perr                      : 1;  /**< When set (1) and bit 21 of the FPA_INT_SUM
1147                                                          register is asserted the FPA will assert an
1148                                                          interrupt. */
1149         uint64_t q5_coff                      : 1;  /**< When set (1) and bit 20 of the FPA_INT_SUM
1150                                                          register is asserted the FPA will assert an
1151                                                          interrupt. */
1152         uint64_t q5_und                       : 1;  /**< When set (1) and bit 19 of the FPA_INT_SUM
1153                                                          register is asserted the FPA will assert an
1154                                                          interrupt. */
1155         uint64_t q4_perr                      : 1;  /**< When set (1) and bit 18 of the FPA_INT_SUM
1156                                                          register is asserted the FPA will assert an
1157                                                          interrupt. */
1158         uint64_t q4_coff                      : 1;  /**< When set (1) and bit 17 of the FPA_INT_SUM
1159                                                          register is asserted the FPA will assert an
1160                                                          interrupt. */
1161         uint64_t q4_und                       : 1;  /**< When set (1) and bit 16 of the FPA_INT_SUM
1162                                                          register is asserted the FPA will assert an
1163                                                          interrupt. */
1164         uint64_t q3_perr                      : 1;  /**< When set (1) and bit 15 of the FPA_INT_SUM
1165                                                          register is asserted the FPA will assert an
1166                                                          interrupt. */
1167         uint64_t q3_coff                      : 1;  /**< When set (1) and bit 14 of the FPA_INT_SUM
1168                                                          register is asserted the FPA will assert an
1169                                                          interrupt. */
1170         uint64_t q3_und                       : 1;  /**< When set (1) and bit 13 of the FPA_INT_SUM
1171                                                          register is asserted the FPA will assert an
1172                                                          interrupt. */
1173         uint64_t q2_perr                      : 1;  /**< When set (1) and bit 12 of the FPA_INT_SUM
1174                                                          register is asserted the FPA will assert an
1175                                                          interrupt. */
1176         uint64_t q2_coff                      : 1;  /**< When set (1) and bit 11 of the FPA_INT_SUM
1177                                                          register is asserted the FPA will assert an
1178                                                          interrupt. */
1179         uint64_t q2_und                       : 1;  /**< When set (1) and bit 10 of the FPA_INT_SUM
1180                                                          register is asserted the FPA will assert an
1181                                                          interrupt. */
1182         uint64_t q1_perr                      : 1;  /**< When set (1) and bit 9 of the FPA_INT_SUM
1183                                                          register is asserted the FPA will assert an
1184                                                          interrupt. */
1185         uint64_t q1_coff                      : 1;  /**< When set (1) and bit 8 of the FPA_INT_SUM
1186                                                          register is asserted the FPA will assert an
1187                                                          interrupt. */
1188         uint64_t q1_und                       : 1;  /**< When set (1) and bit 7 of the FPA_INT_SUM
1189                                                          register is asserted the FPA will assert an
1190                                                          interrupt. */
1191         uint64_t q0_perr                      : 1;  /**< When set (1) and bit 6 of the FPA_INT_SUM
1192                                                          register is asserted the FPA will assert an
1193                                                          interrupt. */
1194         uint64_t q0_coff                      : 1;  /**< When set (1) and bit 5 of the FPA_INT_SUM
1195                                                          register is asserted the FPA will assert an
1196                                                          interrupt. */
1197         uint64_t q0_und                       : 1;  /**< When set (1) and bit 4 of the FPA_INT_SUM
1198                                                          register is asserted the FPA will assert an
1199                                                          interrupt. */
1200         uint64_t fed1_dbe                     : 1;  /**< When set (1) and bit 3 of the FPA_INT_SUM
1201                                                          register is asserted the FPA will assert an
1202                                                          interrupt. */
1203         uint64_t fed1_sbe                     : 1;  /**< When set (1) and bit 2 of the FPA_INT_SUM
1204                                                          register is asserted the FPA will assert an
1205                                                          interrupt. */
1206         uint64_t fed0_dbe                     : 1;  /**< When set (1) and bit 1 of the FPA_INT_SUM
1207                                                          register is asserted the FPA will assert an
1208                                                          interrupt. */
1209         uint64_t fed0_sbe                     : 1;  /**< When set (1) and bit 0 of the FPA_INT_SUM
1210                                                          register is asserted the FPA will assert an
1211                                                          interrupt. */
1212 #else
1213         uint64_t fed0_sbe                     : 1;
1214         uint64_t fed0_dbe                     : 1;
1215         uint64_t fed1_sbe                     : 1;
1216         uint64_t fed1_dbe                     : 1;
1217         uint64_t q0_und                       : 1;
1218         uint64_t q0_coff                      : 1;
1219         uint64_t q0_perr                      : 1;
1220         uint64_t q1_und                       : 1;
1221         uint64_t q1_coff                      : 1;
1222         uint64_t q1_perr                      : 1;
1223         uint64_t q2_und                       : 1;
1224         uint64_t q2_coff                      : 1;
1225         uint64_t q2_perr                      : 1;
1226         uint64_t q3_und                       : 1;
1227         uint64_t q3_coff                      : 1;
1228         uint64_t q3_perr                      : 1;
1229         uint64_t q4_und                       : 1;
1230         uint64_t q4_coff                      : 1;
1231         uint64_t q4_perr                      : 1;
1232         uint64_t q5_und                       : 1;
1233         uint64_t q5_coff                      : 1;
1234         uint64_t q5_perr                      : 1;
1235         uint64_t q6_und                       : 1;
1236         uint64_t q6_coff                      : 1;
1237         uint64_t q6_perr                      : 1;
1238         uint64_t q7_und                       : 1;
1239         uint64_t q7_coff                      : 1;
1240         uint64_t q7_perr                      : 1;
1241         uint64_t pool0th                      : 1;
1242         uint64_t pool1th                      : 1;
1243         uint64_t pool2th                      : 1;
1244         uint64_t pool3th                      : 1;
1245         uint64_t pool4th                      : 1;
1246         uint64_t pool5th                      : 1;
1247         uint64_t pool6th                      : 1;
1248         uint64_t pool7th                      : 1;
1249         uint64_t free0                        : 1;
1250         uint64_t free1                        : 1;
1251         uint64_t free2                        : 1;
1252         uint64_t free3                        : 1;
1253         uint64_t free4                        : 1;
1254         uint64_t free5                        : 1;
1255         uint64_t free6                        : 1;
1256         uint64_t free7                        : 1;
1257         uint64_t res_44                       : 5;
1258         uint64_t paddr_e                      : 1;
1259         uint64_t reserved_50_63               : 14;
1260 #endif
1261         } cn61xx;
1262         struct cvmx_fpa_int_enb_cn63xx {
1263 #ifdef __BIG_ENDIAN_BITFIELD
1264         uint64_t reserved_44_63               : 20;
1265         uint64_t free7                        : 1;  /**< When set (1) and bit 43 of the FPA_INT_SUM
1266                                                          register is asserted the FPA will assert an
1267                                                          interrupt. */
1268         uint64_t free6                        : 1;  /**< When set (1) and bit 42 of the FPA_INT_SUM
1269                                                          register is asserted the FPA will assert an
1270                                                          interrupt. */
1271         uint64_t free5                        : 1;  /**< When set (1) and bit 41 of the FPA_INT_SUM
1272                                                          register is asserted the FPA will assert an
1273                                                          interrupt. */
1274         uint64_t free4                        : 1;  /**< When set (1) and bit 40 of the FPA_INT_SUM
1275                                                          register is asserted the FPA will assert an
1276                                                          interrupt. */
1277         uint64_t free3                        : 1;  /**< When set (1) and bit 39 of the FPA_INT_SUM
1278                                                          register is asserted the FPA will assert an
1279                                                          interrupt. */
1280         uint64_t free2                        : 1;  /**< When set (1) and bit 38 of the FPA_INT_SUM
1281                                                          register is asserted the FPA will assert an
1282                                                          interrupt. */
1283         uint64_t free1                        : 1;  /**< When set (1) and bit 37 of the FPA_INT_SUM
1284                                                          register is asserted the FPA will assert an
1285                                                          interrupt. */
1286         uint64_t free0                        : 1;  /**< When set (1) and bit 36 of the FPA_INT_SUM
1287                                                          register is asserted the FPA will assert an
1288                                                          interrupt. */
1289         uint64_t pool7th                      : 1;  /**< When set (1) and bit 35 of the FPA_INT_SUM
1290                                                          register is asserted the FPA will assert an
1291                                                          interrupt. */
1292         uint64_t pool6th                      : 1;  /**< When set (1) and bit 34 of the FPA_INT_SUM
1293                                                          register is asserted the FPA will assert an
1294                                                          interrupt. */
1295         uint64_t pool5th                      : 1;  /**< When set (1) and bit 33 of the FPA_INT_SUM
1296                                                          register is asserted the FPA will assert an
1297                                                          interrupt. */
1298         uint64_t pool4th                      : 1;  /**< When set (1) and bit 32 of the FPA_INT_SUM
1299                                                          register is asserted the FPA will assert an
1300                                                          interrupt. */
1301         uint64_t pool3th                      : 1;  /**< When set (1) and bit 31 of the FPA_INT_SUM
1302                                                          register is asserted the FPA will assert an
1303                                                          interrupt. */
1304         uint64_t pool2th                      : 1;  /**< When set (1) and bit 30 of the FPA_INT_SUM
1305                                                          register is asserted the FPA will assert an
1306                                                          interrupt. */
1307         uint64_t pool1th                      : 1;  /**< When set (1) and bit 29 of the FPA_INT_SUM
1308                                                          register is asserted the FPA will assert an
1309                                                          interrupt. */
1310         uint64_t pool0th                      : 1;  /**< When set (1) and bit 28 of the FPA_INT_SUM
1311                                                          register is asserted the FPA will assert an
1312                                                          interrupt. */
1313         uint64_t q7_perr                      : 1;  /**< When set (1) and bit 27 of the FPA_INT_SUM
1314                                                          register is asserted the FPA will assert an
1315                                                          interrupt. */
1316         uint64_t q7_coff                      : 1;  /**< When set (1) and bit 26 of the FPA_INT_SUM
1317                                                          register is asserted the FPA will assert an
1318                                                          interrupt. */
1319         uint64_t q7_und                       : 1;  /**< When set (1) and bit 25 of the FPA_INT_SUM
1320                                                          register is asserted the FPA will assert an
1321                                                          interrupt. */
1322         uint64_t q6_perr                      : 1;  /**< When set (1) and bit 24 of the FPA_INT_SUM
1323                                                          register is asserted the FPA will assert an
1324                                                          interrupt. */
1325         uint64_t q6_coff                      : 1;  /**< When set (1) and bit 23 of the FPA_INT_SUM
1326                                                          register is asserted the FPA will assert an
1327                                                          interrupt. */
1328         uint64_t q6_und                       : 1;  /**< When set (1) and bit 22 of the FPA_INT_SUM
1329                                                          register is asserted the FPA will assert an
1330                                                          interrupt. */
1331         uint64_t q5_perr                      : 1;  /**< When set (1) and bit 21 of the FPA_INT_SUM
1332                                                          register is asserted the FPA will assert an
1333                                                          interrupt. */
1334         uint64_t q5_coff                      : 1;  /**< When set (1) and bit 20 of the FPA_INT_SUM
1335                                                          register is asserted the FPA will assert an
1336                                                          interrupt. */
1337         uint64_t q5_und                       : 1;  /**< When set (1) and bit 19 of the FPA_INT_SUM
1338                                                          register is asserted the FPA will assert an
1339                                                          interrupt. */
1340         uint64_t q4_perr                      : 1;  /**< When set (1) and bit 18 of the FPA_INT_SUM
1341                                                          register is asserted the FPA will assert an
1342                                                          interrupt. */
1343         uint64_t q4_coff                      : 1;  /**< When set (1) and bit 17 of the FPA_INT_SUM
1344                                                          register is asserted the FPA will assert an
1345                                                          interrupt. */
1346         uint64_t q4_und                       : 1;  /**< When set (1) and bit 16 of the FPA_INT_SUM
1347                                                          register is asserted the FPA will assert an
1348                                                          interrupt. */
1349         uint64_t q3_perr                      : 1;  /**< When set (1) and bit 15 of the FPA_INT_SUM
1350                                                          register is asserted the FPA will assert an
1351                                                          interrupt. */
1352         uint64_t q3_coff                      : 1;  /**< When set (1) and bit 14 of the FPA_INT_SUM
1353                                                          register is asserted the FPA will assert an
1354                                                          interrupt. */
1355         uint64_t q3_und                       : 1;  /**< When set (1) and bit 13 of the FPA_INT_SUM
1356                                                          register is asserted the FPA will assert an
1357                                                          interrupt. */
1358         uint64_t q2_perr                      : 1;  /**< When set (1) and bit 12 of the FPA_INT_SUM
1359                                                          register is asserted the FPA will assert an
1360                                                          interrupt. */
1361         uint64_t q2_coff                      : 1;  /**< When set (1) and bit 11 of the FPA_INT_SUM
1362                                                          register is asserted the FPA will assert an
1363                                                          interrupt. */
1364         uint64_t q2_und                       : 1;  /**< When set (1) and bit 10 of the FPA_INT_SUM
1365                                                          register is asserted the FPA will assert an
1366                                                          interrupt. */
1367         uint64_t q1_perr                      : 1;  /**< When set (1) and bit 9 of the FPA_INT_SUM
1368                                                          register is asserted the FPA will assert an
1369                                                          interrupt. */
1370         uint64_t q1_coff                      : 1;  /**< When set (1) and bit 8 of the FPA_INT_SUM
1371                                                          register is asserted the FPA will assert an
1372                                                          interrupt. */
1373         uint64_t q1_und                       : 1;  /**< When set (1) and bit 7 of the FPA_INT_SUM
1374                                                          register is asserted the FPA will assert an
1375                                                          interrupt. */
1376         uint64_t q0_perr                      : 1;  /**< When set (1) and bit 6 of the FPA_INT_SUM
1377                                                          register is asserted the FPA will assert an
1378                                                          interrupt. */
1379         uint64_t q0_coff                      : 1;  /**< When set (1) and bit 5 of the FPA_INT_SUM
1380                                                          register is asserted the FPA will assert an
1381                                                          interrupt. */
1382         uint64_t q0_und                       : 1;  /**< When set (1) and bit 4 of the FPA_INT_SUM
1383                                                          register is asserted the FPA will assert an
1384                                                          interrupt. */
1385         uint64_t fed1_dbe                     : 1;  /**< When set (1) and bit 3 of the FPA_INT_SUM
1386                                                          register is asserted the FPA will assert an
1387                                                          interrupt. */
1388         uint64_t fed1_sbe                     : 1;  /**< When set (1) and bit 2 of the FPA_INT_SUM
1389                                                          register is asserted the FPA will assert an
1390                                                          interrupt. */
1391         uint64_t fed0_dbe                     : 1;  /**< When set (1) and bit 1 of the FPA_INT_SUM
1392                                                          register is asserted the FPA will assert an
1393                                                          interrupt. */
1394         uint64_t fed0_sbe                     : 1;  /**< When set (1) and bit 0 of the FPA_INT_SUM
1395                                                          register is asserted the FPA will assert an
1396                                                          interrupt. */
1397 #else
1398         uint64_t fed0_sbe                     : 1;
1399         uint64_t fed0_dbe                     : 1;
1400         uint64_t fed1_sbe                     : 1;
1401         uint64_t fed1_dbe                     : 1;
1402         uint64_t q0_und                       : 1;
1403         uint64_t q0_coff                      : 1;
1404         uint64_t q0_perr                      : 1;
1405         uint64_t q1_und                       : 1;
1406         uint64_t q1_coff                      : 1;
1407         uint64_t q1_perr                      : 1;
1408         uint64_t q2_und                       : 1;
1409         uint64_t q2_coff                      : 1;
1410         uint64_t q2_perr                      : 1;
1411         uint64_t q3_und                       : 1;
1412         uint64_t q3_coff                      : 1;
1413         uint64_t q3_perr                      : 1;
1414         uint64_t q4_und                       : 1;
1415         uint64_t q4_coff                      : 1;
1416         uint64_t q4_perr                      : 1;
1417         uint64_t q5_und                       : 1;
1418         uint64_t q5_coff                      : 1;
1419         uint64_t q5_perr                      : 1;
1420         uint64_t q6_und                       : 1;
1421         uint64_t q6_coff                      : 1;
1422         uint64_t q6_perr                      : 1;
1423         uint64_t q7_und                       : 1;
1424         uint64_t q7_coff                      : 1;
1425         uint64_t q7_perr                      : 1;
1426         uint64_t pool0th                      : 1;
1427         uint64_t pool1th                      : 1;
1428         uint64_t pool2th                      : 1;
1429         uint64_t pool3th                      : 1;
1430         uint64_t pool4th                      : 1;
1431         uint64_t pool5th                      : 1;
1432         uint64_t pool6th                      : 1;
1433         uint64_t pool7th                      : 1;
1434         uint64_t free0                        : 1;
1435         uint64_t free1                        : 1;
1436         uint64_t free2                        : 1;
1437         uint64_t free3                        : 1;
1438         uint64_t free4                        : 1;
1439         uint64_t free5                        : 1;
1440         uint64_t free6                        : 1;
1441         uint64_t free7                        : 1;
1442         uint64_t reserved_44_63               : 20;
1443 #endif
1444         } cn63xx;
1445         struct cvmx_fpa_int_enb_cn30xx        cn63xxp1;
1446         struct cvmx_fpa_int_enb_cn61xx        cn66xx;
1447         struct cvmx_fpa_int_enb_cn68xx {
1448 #ifdef __BIG_ENDIAN_BITFIELD
1449         uint64_t reserved_50_63               : 14;
1450         uint64_t paddr_e                      : 1;  /**< When set (1) and bit 49 of the FPA_INT_SUM
1451                                                          register is asserted the FPA will assert an
1452                                                          interrupt. */
1453         uint64_t pool8th                      : 1;  /**< When set (1) and bit 48 of the FPA_INT_SUM
1454                                                          register is asserted the FPA will assert an
1455                                                          interrupt. */
1456         uint64_t q8_perr                      : 1;  /**< When set (1) and bit 47 of the FPA_INT_SUM
1457                                                          register is asserted the FPA will assert an
1458                                                          interrupt. */
1459         uint64_t q8_coff                      : 1;  /**< When set (1) and bit 46 of the FPA_INT_SUM
1460                                                          register is asserted the FPA will assert an
1461                                                          interrupt. */
1462         uint64_t q8_und                       : 1;  /**< When set (1) and bit 45 of the FPA_INT_SUM
1463                                                          register is asserted the FPA will assert an
1464                                                          interrupt. */
1465         uint64_t free8                        : 1;  /**< When set (1) and bit 44 of the FPA_INT_SUM
1466                                                          register is asserted the FPA will assert an
1467                                                          interrupt. */
1468         uint64_t free7                        : 1;  /**< When set (1) and bit 43 of the FPA_INT_SUM
1469                                                          register is asserted the FPA will assert an
1470                                                          interrupt. */
1471         uint64_t free6                        : 1;  /**< When set (1) and bit 42 of the FPA_INT_SUM
1472                                                          register is asserted the FPA will assert an
1473                                                          interrupt. */
1474         uint64_t free5                        : 1;  /**< When set (1) and bit 41 of the FPA_INT_SUM
1475                                                          register is asserted the FPA will assert an
1476                                                          interrupt. */
1477         uint64_t free4                        : 1;  /**< When set (1) and bit 40 of the FPA_INT_SUM
1478                                                          register is asserted the FPA will assert an
1479                                                          interrupt. */
1480         uint64_t free3                        : 1;  /**< When set (1) and bit 39 of the FPA_INT_SUM
1481                                                          register is asserted the FPA will assert an
1482                                                          interrupt. */
1483         uint64_t free2                        : 1;  /**< When set (1) and bit 38 of the FPA_INT_SUM
1484                                                          register is asserted the FPA will assert an
1485                                                          interrupt. */
1486         uint64_t free1                        : 1;  /**< When set (1) and bit 37 of the FPA_INT_SUM
1487                                                          register is asserted the FPA will assert an
1488                                                          interrupt. */
1489         uint64_t free0                        : 1;  /**< When set (1) and bit 36 of the FPA_INT_SUM
1490                                                          register is asserted the FPA will assert an
1491                                                          interrupt. */
1492         uint64_t pool7th                      : 1;  /**< When set (1) and bit 35 of the FPA_INT_SUM
1493                                                          register is asserted the FPA will assert an
1494                                                          interrupt. */
1495         uint64_t pool6th                      : 1;  /**< When set (1) and bit 34 of the FPA_INT_SUM
1496                                                          register is asserted the FPA will assert an
1497                                                          interrupt. */
1498         uint64_t pool5th                      : 1;  /**< When set (1) and bit 33 of the FPA_INT_SUM
1499                                                          register is asserted the FPA will assert an
1500                                                          interrupt. */
1501         uint64_t pool4th                      : 1;  /**< When set (1) and bit 32 of the FPA_INT_SUM
1502                                                          register is asserted the FPA will assert an
1503                                                          interrupt. */
1504         uint64_t pool3th                      : 1;  /**< When set (1) and bit 31 of the FPA_INT_SUM
1505                                                          register is asserted the FPA will assert an
1506                                                          interrupt. */
1507         uint64_t pool2th                      : 1;  /**< When set (1) and bit 30 of the FPA_INT_SUM
1508                                                          register is asserted the FPA will assert an
1509                                                          interrupt. */
1510         uint64_t pool1th                      : 1;  /**< When set (1) and bit 29 of the FPA_INT_SUM
1511                                                          register is asserted the FPA will assert an
1512                                                          interrupt. */
1513         uint64_t pool0th                      : 1;  /**< When set (1) and bit 28 of the FPA_INT_SUM
1514                                                          register is asserted the FPA will assert an
1515                                                          interrupt. */
1516         uint64_t q7_perr                      : 1;  /**< When set (1) and bit 27 of the FPA_INT_SUM
1517                                                          register is asserted the FPA will assert an
1518                                                          interrupt. */
1519         uint64_t q7_coff                      : 1;  /**< When set (1) and bit 26 of the FPA_INT_SUM
1520                                                          register is asserted the FPA will assert an
1521                                                          interrupt. */
1522         uint64_t q7_und                       : 1;  /**< When set (1) and bit 25 of the FPA_INT_SUM
1523                                                          register is asserted the FPA will assert an
1524                                                          interrupt. */
1525         uint64_t q6_perr                      : 1;  /**< When set (1) and bit 24 of the FPA_INT_SUM
1526                                                          register is asserted the FPA will assert an
1527                                                          interrupt. */
1528         uint64_t q6_coff                      : 1;  /**< When set (1) and bit 23 of the FPA_INT_SUM
1529                                                          register is asserted the FPA will assert an
1530                                                          interrupt. */
1531         uint64_t q6_und                       : 1;  /**< When set (1) and bit 22 of the FPA_INT_SUM
1532                                                          register is asserted the FPA will assert an
1533                                                          interrupt. */
1534         uint64_t q5_perr                      : 1;  /**< When set (1) and bit 21 of the FPA_INT_SUM
1535                                                          register is asserted the FPA will assert an
1536                                                          interrupt. */
1537         uint64_t q5_coff                      : 1;  /**< When set (1) and bit 20 of the FPA_INT_SUM
1538                                                          register is asserted the FPA will assert an
1539                                                          interrupt. */
1540         uint64_t q5_und                       : 1;  /**< When set (1) and bit 19 of the FPA_INT_SUM
1541                                                          register is asserted the FPA will assert an
1542                                                          interrupt. */
1543         uint64_t q4_perr                      : 1;  /**< When set (1) and bit 18 of the FPA_INT_SUM
1544                                                          register is asserted the FPA will assert an
1545                                                          interrupt. */
1546         uint64_t q4_coff                      : 1;  /**< When set (1) and bit 17 of the FPA_INT_SUM
1547                                                          register is asserted the FPA will assert an
1548                                                          interrupt. */
1549         uint64_t q4_und                       : 1;  /**< When set (1) and bit 16 of the FPA_INT_SUM
1550                                                          register is asserted the FPA will assert an
1551                                                          interrupt. */
1552         uint64_t q3_perr                      : 1;  /**< When set (1) and bit 15 of the FPA_INT_SUM
1553                                                          register is asserted the FPA will assert an
1554                                                          interrupt. */
1555         uint64_t q3_coff                      : 1;  /**< When set (1) and bit 14 of the FPA_INT_SUM
1556                                                          register is asserted the FPA will assert an
1557                                                          interrupt. */
1558         uint64_t q3_und                       : 1;  /**< When set (1) and bit 13 of the FPA_INT_SUM
1559                                                          register is asserted the FPA will assert an
1560                                                          interrupt. */
1561         uint64_t q2_perr                      : 1;  /**< When set (1) and bit 12 of the FPA_INT_SUM
1562                                                          register is asserted the FPA will assert an
1563                                                          interrupt. */
1564         uint64_t q2_coff                      : 1;  /**< When set (1) and bit 11 of the FPA_INT_SUM
1565                                                          register is asserted the FPA will assert an
1566                                                          interrupt. */
1567         uint64_t q2_und                       : 1;  /**< When set (1) and bit 10 of the FPA_INT_SUM
1568                                                          register is asserted the FPA will assert an
1569                                                          interrupt. */
1570         uint64_t q1_perr                      : 1;  /**< When set (1) and bit 9 of the FPA_INT_SUM
1571                                                          register is asserted the FPA will assert an
1572                                                          interrupt. */
1573         uint64_t q1_coff                      : 1;  /**< When set (1) and bit 8 of the FPA_INT_SUM
1574                                                          register is asserted the FPA will assert an
1575                                                          interrupt. */
1576         uint64_t q1_und                       : 1;  /**< When set (1) and bit 7 of the FPA_INT_SUM
1577                                                          register is asserted the FPA will assert an
1578                                                          interrupt. */
1579         uint64_t q0_perr                      : 1;  /**< When set (1) and bit 6 of the FPA_INT_SUM
1580                                                          register is asserted the FPA will assert an
1581                                                          interrupt. */
1582         uint64_t q0_coff                      : 1;  /**< When set (1) and bit 5 of the FPA_INT_SUM
1583                                                          register is asserted the FPA will assert an
1584                                                          interrupt. */
1585         uint64_t q0_und                       : 1;  /**< When set (1) and bit 4 of the FPA_INT_SUM
1586                                                          register is asserted the FPA will assert an
1587                                                          interrupt. */
1588         uint64_t fed1_dbe                     : 1;  /**< When set (1) and bit 3 of the FPA_INT_SUM
1589                                                          register is asserted the FPA will assert an
1590                                                          interrupt. */
1591         uint64_t fed1_sbe                     : 1;  /**< When set (1) and bit 2 of the FPA_INT_SUM
1592                                                          register is asserted the FPA will assert an
1593                                                          interrupt. */
1594         uint64_t fed0_dbe                     : 1;  /**< When set (1) and bit 1 of the FPA_INT_SUM
1595                                                          register is asserted the FPA will assert an
1596                                                          interrupt. */
1597         uint64_t fed0_sbe                     : 1;  /**< When set (1) and bit 0 of the FPA_INT_SUM
1598                                                          register is asserted the FPA will assert an
1599                                                          interrupt. */
1600 #else
1601         uint64_t fed0_sbe                     : 1;
1602         uint64_t fed0_dbe                     : 1;
1603         uint64_t fed1_sbe                     : 1;
1604         uint64_t fed1_dbe                     : 1;
1605         uint64_t q0_und                       : 1;
1606         uint64_t q0_coff                      : 1;
1607         uint64_t q0_perr                      : 1;
1608         uint64_t q1_und                       : 1;
1609         uint64_t q1_coff                      : 1;
1610         uint64_t q1_perr                      : 1;
1611         uint64_t q2_und                       : 1;
1612         uint64_t q2_coff                      : 1;
1613         uint64_t q2_perr                      : 1;
1614         uint64_t q3_und                       : 1;
1615         uint64_t q3_coff                      : 1;
1616         uint64_t q3_perr                      : 1;
1617         uint64_t q4_und                       : 1;
1618         uint64_t q4_coff                      : 1;
1619         uint64_t q4_perr                      : 1;
1620         uint64_t q5_und                       : 1;
1621         uint64_t q5_coff                      : 1;
1622         uint64_t q5_perr                      : 1;
1623         uint64_t q6_und                       : 1;
1624         uint64_t q6_coff                      : 1;
1625         uint64_t q6_perr                      : 1;
1626         uint64_t q7_und                       : 1;
1627         uint64_t q7_coff                      : 1;
1628         uint64_t q7_perr                      : 1;
1629         uint64_t pool0th                      : 1;
1630         uint64_t pool1th                      : 1;
1631         uint64_t pool2th                      : 1;
1632         uint64_t pool3th                      : 1;
1633         uint64_t pool4th                      : 1;
1634         uint64_t pool5th                      : 1;
1635         uint64_t pool6th                      : 1;
1636         uint64_t pool7th                      : 1;
1637         uint64_t free0                        : 1;
1638         uint64_t free1                        : 1;
1639         uint64_t free2                        : 1;
1640         uint64_t free3                        : 1;
1641         uint64_t free4                        : 1;
1642         uint64_t free5                        : 1;
1643         uint64_t free6                        : 1;
1644         uint64_t free7                        : 1;
1645         uint64_t free8                        : 1;
1646         uint64_t q8_und                       : 1;
1647         uint64_t q8_coff                      : 1;
1648         uint64_t q8_perr                      : 1;
1649         uint64_t pool8th                      : 1;
1650         uint64_t paddr_e                      : 1;
1651         uint64_t reserved_50_63               : 14;
1652 #endif
1653         } cn68xx;
1654         struct cvmx_fpa_int_enb_cn68xx        cn68xxp1;
1655         struct cvmx_fpa_int_enb_cn61xx        cnf71xx;
1656 };
1657 typedef union cvmx_fpa_int_enb cvmx_fpa_int_enb_t;
1658
1659 /**
1660  * cvmx_fpa_int_sum
1661  *
1662  * FPA_INT_SUM = FPA's Interrupt Summary Register
1663  *
1664  * Contains the different interrupt summary bits of the FPA.
1665  */
1666 union cvmx_fpa_int_sum {
1667         uint64_t u64;
1668         struct cvmx_fpa_int_sum_s {
1669 #ifdef __BIG_ENDIAN_BITFIELD
1670         uint64_t reserved_50_63               : 14;
1671         uint64_t paddr_e                      : 1;  /**< Set when a pointer address does not fall in the
1672                                                          address range for a pool specified by
1673                                                          FPA_POOLX_START_ADDR and FPA_POOLX_END_ADDR. */
1674         uint64_t pool8th                      : 1;  /**< Set when FPA_QUE8_AVAILABLE is equal to
1675                                                          FPA_POOL8_THRESHOLD[THRESH] and a pointer is
1676                                                          allocated or de-allocated. */
1677         uint64_t q8_perr                      : 1;  /**< Set when a Queue8 pointer read from the stack in
1678                                                          the L2C does not have the FPA owner ship bit set. */
1679         uint64_t q8_coff                      : 1;  /**< Set when a Queue8 stack end tag is present and
1680                                                          the count available is greater than than pointers
1681                                                          present in the FPA. */
1682         uint64_t q8_und                       : 1;  /**< Set when a Queue8 page count available goes
1683                                                          negative. */
1684         uint64_t free8                        : 1;  /**< When a pointer for POOL8 is freed bit is set. */
1685         uint64_t free7                        : 1;  /**< When a pointer for POOL7 is freed bit is set. */
1686         uint64_t free6                        : 1;  /**< When a pointer for POOL6 is freed bit is set. */
1687         uint64_t free5                        : 1;  /**< When a pointer for POOL5 is freed bit is set. */
1688         uint64_t free4                        : 1;  /**< When a pointer for POOL4 is freed bit is set. */
1689         uint64_t free3                        : 1;  /**< When a pointer for POOL3 is freed bit is set. */
1690         uint64_t free2                        : 1;  /**< When a pointer for POOL2 is freed bit is set. */
1691         uint64_t free1                        : 1;  /**< When a pointer for POOL1 is freed bit is set. */
1692         uint64_t free0                        : 1;  /**< When a pointer for POOL0 is freed bit is set. */
1693         uint64_t pool7th                      : 1;  /**< Set when FPA_QUE7_AVAILABLE is equal to
1694                                                          FPA_POOL7_THRESHOLD[THRESH] and a pointer is
1695                                                          allocated or de-allocated. */
1696         uint64_t pool6th                      : 1;  /**< Set when FPA_QUE6_AVAILABLE is equal to
1697                                                          FPA_POOL6_THRESHOLD[THRESH] and a pointer is
1698                                                          allocated or de-allocated. */
1699         uint64_t pool5th                      : 1;  /**< Set when FPA_QUE5_AVAILABLE is equal to
1700                                                          FPA_POOL5_THRESHOLD[THRESH] and a pointer is
1701                                                          allocated or de-allocated. */
1702         uint64_t pool4th                      : 1;  /**< Set when FPA_QUE4_AVAILABLE is equal to
1703                                                          FPA_POOL4_THRESHOLD[THRESH] and a pointer is
1704                                                          allocated or de-allocated. */
1705         uint64_t pool3th                      : 1;  /**< Set when FPA_QUE3_AVAILABLE is equal to
1706                                                          FPA_POOL3_THRESHOLD[THRESH] and a pointer is
1707                                                          allocated or de-allocated. */
1708         uint64_t pool2th                      : 1;  /**< Set when FPA_QUE2_AVAILABLE is equal to
1709                                                          FPA_POOL2_THRESHOLD[THRESH] and a pointer is
1710                                                          allocated or de-allocated. */
1711         uint64_t pool1th                      : 1;  /**< Set when FPA_QUE1_AVAILABLE is equal to
1712                                                          FPA_POOL1_THRESHOLD[THRESH] and a pointer is
1713                                                          allocated or de-allocated. */
1714         uint64_t pool0th                      : 1;  /**< Set when FPA_QUE0_AVAILABLE is equal to
1715                                                          FPA_POOL`_THRESHOLD[THRESH] and a pointer is
1716                                                          allocated or de-allocated. */
1717         uint64_t q7_perr                      : 1;  /**< Set when a Queue0 pointer read from the stack in
1718                                                          the L2C does not have the FPA owner ship bit set. */
1719         uint64_t q7_coff                      : 1;  /**< Set when a Queue0 stack end tag is present and
1720                                                          the count available is greater than than pointers
1721                                                          present in the FPA. */
1722         uint64_t q7_und                       : 1;  /**< Set when a Queue0 page count available goes
1723                                                          negative. */
1724         uint64_t q6_perr                      : 1;  /**< Set when a Queue0 pointer read from the stack in
1725                                                          the L2C does not have the FPA owner ship bit set. */
1726         uint64_t q6_coff                      : 1;  /**< Set when a Queue0 stack end tag is present and
1727                                                          the count available is greater than than pointers
1728                                                          present in the FPA. */
1729         uint64_t q6_und                       : 1;  /**< Set when a Queue0 page count available goes
1730                                                          negative. */
1731         uint64_t q5_perr                      : 1;  /**< Set when a Queue0 pointer read from the stack in
1732                                                          the L2C does not have the FPA owner ship bit set. */
1733         uint64_t q5_coff                      : 1;  /**< Set when a Queue0 stack end tag is present and
1734                                                          the count available is greater than than pointers
1735                                                          present in the FPA. */
1736         uint64_t q5_und                       : 1;  /**< Set when a Queue0 page count available goes
1737                                                          negative. */
1738         uint64_t q4_perr                      : 1;  /**< Set when a Queue0 pointer read from the stack in
1739                                                          the L2C does not have the FPA owner ship bit set. */
1740         uint64_t q4_coff                      : 1;  /**< Set when a Queue0 stack end tag is present and
1741                                                          the count available is greater than than pointers
1742                                                          present in the FPA. */
1743         uint64_t q4_und                       : 1;  /**< Set when a Queue0 page count available goes
1744                                                          negative. */
1745         uint64_t q3_perr                      : 1;  /**< Set when a Queue0 pointer read from the stack in
1746                                                          the L2C does not have the FPA owner ship bit set. */
1747         uint64_t q3_coff                      : 1;  /**< Set when a Queue0 stack end tag is present and
1748                                                          the count available is greater than than pointers
1749                                                          present in the FPA. */
1750         uint64_t q3_und                       : 1;  /**< Set when a Queue0 page count available goes
1751                                                          negative. */
1752         uint64_t q2_perr                      : 1;  /**< Set when a Queue0 pointer read from the stack in
1753                                                          the L2C does not have the FPA owner ship bit set. */
1754         uint64_t q2_coff                      : 1;  /**< Set when a Queue0 stack end tag is present and
1755                                                          the count available is greater than than pointers
1756                                                          present in the FPA. */
1757         uint64_t q2_und                       : 1;  /**< Set when a Queue0 page count available goes
1758                                                          negative. */
1759         uint64_t q1_perr                      : 1;  /**< Set when a Queue0 pointer read from the stack in
1760                                                          the L2C does not have the FPA owner ship bit set. */
1761         uint64_t q1_coff                      : 1;  /**< Set when a Queue0 stack end tag is present and
1762                                                          the count available is greater than pointers
1763                                                          present in the FPA. */
1764         uint64_t q1_und                       : 1;  /**< Set when a Queue0 page count available goes
1765                                                          negative. */
1766         uint64_t q0_perr                      : 1;  /**< Set when a Queue0 pointer read from the stack in
1767                                                          the L2C does not have the FPA owner ship bit set. */
1768         uint64_t q0_coff                      : 1;  /**< Set when a Queue0 stack end tag is present and
1769                                                          the count available is greater than pointers
1770                                                          present in the FPA. */
1771         uint64_t q0_und                       : 1;  /**< Set when a Queue0 page count available goes
1772                                                          negative. */
1773         uint64_t fed1_dbe                     : 1;  /**< Set when a Double Bit Error is detected in FPF1. */
1774         uint64_t fed1_sbe                     : 1;  /**< Set when a Single Bit Error is detected in FPF1. */
1775         uint64_t fed0_dbe                     : 1;  /**< Set when a Double Bit Error is detected in FPF0. */
1776         uint64_t fed0_sbe                     : 1;  /**< Set when a Single Bit Error is detected in FPF0. */
1777 #else
1778         uint64_t fed0_sbe                     : 1;
1779         uint64_t fed0_dbe                     : 1;
1780         uint64_t fed1_sbe                     : 1;
1781         uint64_t fed1_dbe                     : 1;
1782         uint64_t q0_und                       : 1;
1783         uint64_t q0_coff                      : 1;
1784         uint64_t q0_perr                      : 1;
1785         uint64_t q1_und                       : 1;
1786         uint64_t q1_coff                      : 1;
1787         uint64_t q1_perr                      : 1;
1788         uint64_t q2_und                       : 1;
1789         uint64_t q2_coff                      : 1;
1790         uint64_t q2_perr                      : 1;
1791         uint64_t q3_und                       : 1;
1792         uint64_t q3_coff                      : 1;
1793         uint64_t q3_perr                      : 1;
1794         uint64_t q4_und                       : 1;
1795         uint64_t q4_coff                      : 1;
1796         uint64_t q4_perr                      : 1;
1797         uint64_t q5_und                       : 1;
1798         uint64_t q5_coff                      : 1;
1799         uint64_t q5_perr                      : 1;
1800         uint64_t q6_und                       : 1;
1801         uint64_t q6_coff                      : 1;
1802         uint64_t q6_perr                      : 1;
1803         uint64_t q7_und                       : 1;
1804         uint64_t q7_coff                      : 1;
1805         uint64_t q7_perr                      : 1;
1806         uint64_t pool0th                      : 1;
1807         uint64_t pool1th                      : 1;
1808         uint64_t pool2th                      : 1;
1809         uint64_t pool3th                      : 1;
1810         uint64_t pool4th                      : 1;
1811         uint64_t pool5th                      : 1;
1812         uint64_t pool6th                      : 1;
1813         uint64_t pool7th                      : 1;
1814         uint64_t free0                        : 1;
1815         uint64_t free1                        : 1;
1816         uint64_t free2                        : 1;
1817         uint64_t free3                        : 1;
1818         uint64_t free4                        : 1;
1819         uint64_t free5                        : 1;
1820         uint64_t free6                        : 1;
1821         uint64_t free7                        : 1;
1822         uint64_t free8                        : 1;
1823         uint64_t q8_und                       : 1;
1824         uint64_t q8_coff                      : 1;
1825         uint64_t q8_perr                      : 1;
1826         uint64_t pool8th                      : 1;
1827         uint64_t paddr_e                      : 1;
1828         uint64_t reserved_50_63               : 14;
1829 #endif
1830         } s;
1831         struct cvmx_fpa_int_sum_cn30xx {
1832 #ifdef __BIG_ENDIAN_BITFIELD
1833         uint64_t reserved_28_63               : 36;
1834         uint64_t q7_perr                      : 1;  /**< Set when a Queue0 pointer read from the stack in
1835                                                          the L2C does not have the FPA owner ship bit set. */
1836         uint64_t q7_coff                      : 1;  /**< Set when a Queue0 stack end tag is present and
1837                                                          the count available is greater than than pointers
1838                                                          present in the FPA. */
1839         uint64_t q7_und                       : 1;  /**< Set when a Queue0 page count available goes
1840                                                          negative. */
1841         uint64_t q6_perr                      : 1;  /**< Set when a Queue0 pointer read from the stack in
1842                                                          the L2C does not have the FPA owner ship bit set. */
1843         uint64_t q6_coff                      : 1;  /**< Set when a Queue0 stack end tag is present and
1844                                                          the count available is greater than than pointers
1845                                                          present in the FPA. */
1846         uint64_t q6_und                       : 1;  /**< Set when a Queue0 page count available goes
1847                                                          negative. */
1848         uint64_t q5_perr                      : 1;  /**< Set when a Queue0 pointer read from the stack in
1849                                                          the L2C does not have the FPA owner ship bit set. */
1850         uint64_t q5_coff                      : 1;  /**< Set when a Queue0 stack end tag is present and
1851                                                          the count available is greater than than pointers
1852                                                          present in the FPA. */
1853         uint64_t q5_und                       : 1;  /**< Set when a Queue0 page count available goes
1854                                                          negative. */
1855         uint64_t q4_perr                      : 1;  /**< Set when a Queue0 pointer read from the stack in
1856                                                          the L2C does not have the FPA owner ship bit set. */
1857         uint64_t q4_coff                      : 1;  /**< Set when a Queue0 stack end tag is present and
1858                                                          the count available is greater than than pointers
1859                                                          present in the FPA. */
1860         uint64_t q4_und                       : 1;  /**< Set when a Queue0 page count available goes
1861                                                          negative. */
1862         uint64_t q3_perr                      : 1;  /**< Set when a Queue0 pointer read from the stack in
1863                                                          the L2C does not have the FPA owner ship bit set. */
1864         uint64_t q3_coff                      : 1;  /**< Set when a Queue0 stack end tag is present and
1865                                                          the count available is greater than than pointers
1866                                                          present in the FPA. */
1867         uint64_t q3_und                       : 1;  /**< Set when a Queue0 page count available goes
1868                                                          negative. */
1869         uint64_t q2_perr                      : 1;  /**< Set when a Queue0 pointer read from the stack in
1870                                                          the L2C does not have the FPA owner ship bit set. */
1871         uint64_t q2_coff                      : 1;  /**< Set when a Queue0 stack end tag is present and
1872                                                          the count available is greater than than pointers
1873                                                          present in the FPA. */
1874         uint64_t q2_und                       : 1;  /**< Set when a Queue0 page count available goes
1875                                                          negative. */
1876         uint64_t q1_perr                      : 1;  /**< Set when a Queue0 pointer read from the stack in
1877                                                          the L2C does not have the FPA owner ship bit set. */
1878         uint64_t q1_coff                      : 1;  /**< Set when a Queue0 stack end tag is present and
1879                                                          the count available is greater than pointers
1880                                                          present in the FPA. */
1881         uint64_t q1_und                       : 1;  /**< Set when a Queue0 page count available goes
1882                                                          negative. */
1883         uint64_t q0_perr                      : 1;  /**< Set when a Queue0 pointer read from the stack in
1884                                                          the L2C does not have the FPA owner ship bit set. */
1885         uint64_t q0_coff                      : 1;  /**< Set when a Queue0 stack end tag is present and
1886                                                          the count available is greater than pointers
1887                                                          present in the FPA. */
1888         uint64_t q0_und                       : 1;  /**< Set when a Queue0 page count available goes
1889                                                          negative. */
1890         uint64_t fed1_dbe                     : 1;  /**< Set when a Double Bit Error is detected in FPF1. */
1891         uint64_t fed1_sbe                     : 1;  /**< Set when a Single Bit Error is detected in FPF1. */
1892         uint64_t fed0_dbe                     : 1;  /**< Set when a Double Bit Error is detected in FPF0. */
1893         uint64_t fed0_sbe                     : 1;  /**< Set when a Single Bit Error is detected in FPF0. */
1894 #else
1895         uint64_t fed0_sbe                     : 1;
1896         uint64_t fed0_dbe                     : 1;
1897         uint64_t fed1_sbe                     : 1;
1898         uint64_t fed1_dbe                     : 1;
1899         uint64_t q0_und                       : 1;
1900         uint64_t q0_coff                      : 1;
1901         uint64_t q0_perr                      : 1;
1902         uint64_t q1_und                       : 1;
1903         uint64_t q1_coff                      : 1;
1904         uint64_t q1_perr                      : 1;
1905         uint64_t q2_und                       : 1;
1906         uint64_t q2_coff                      : 1;
1907         uint64_t q2_perr                      : 1;
1908         uint64_t q3_und                       : 1;
1909         uint64_t q3_coff                      : 1;
1910         uint64_t q3_perr                      : 1;
1911         uint64_t q4_und                       : 1;
1912         uint64_t q4_coff                      : 1;
1913         uint64_t q4_perr                      : 1;
1914         uint64_t q5_und                       : 1;
1915         uint64_t q5_coff                      : 1;
1916         uint64_t q5_perr                      : 1;
1917         uint64_t q6_und                       : 1;
1918         uint64_t q6_coff                      : 1;
1919         uint64_t q6_perr                      : 1;
1920         uint64_t q7_und                       : 1;
1921         uint64_t q7_coff                      : 1;
1922         uint64_t q7_perr                      : 1;
1923         uint64_t reserved_28_63               : 36;
1924 #endif
1925         } cn30xx;
1926         struct cvmx_fpa_int_sum_cn30xx        cn31xx;
1927         struct cvmx_fpa_int_sum_cn30xx        cn38xx;
1928         struct cvmx_fpa_int_sum_cn30xx        cn38xxp2;
1929         struct cvmx_fpa_int_sum_cn30xx        cn50xx;
1930         struct cvmx_fpa_int_sum_cn30xx        cn52xx;
1931         struct cvmx_fpa_int_sum_cn30xx        cn52xxp1;
1932         struct cvmx_fpa_int_sum_cn30xx        cn56xx;
1933         struct cvmx_fpa_int_sum_cn30xx        cn56xxp1;
1934         struct cvmx_fpa_int_sum_cn30xx        cn58xx;
1935         struct cvmx_fpa_int_sum_cn30xx        cn58xxp1;
1936         struct cvmx_fpa_int_sum_cn61xx {
1937 #ifdef __BIG_ENDIAN_BITFIELD
1938         uint64_t reserved_50_63               : 14;
1939         uint64_t paddr_e                      : 1;  /**< Set when a pointer address does not fall in the
1940                                                          address range for a pool specified by
1941                                                          FPA_POOLX_START_ADDR and FPA_POOLX_END_ADDR. */
1942         uint64_t reserved_44_48               : 5;
1943         uint64_t free7                        : 1;  /**< When a pointer for POOL7 is freed bit is set. */
1944         uint64_t free6                        : 1;  /**< When a pointer for POOL6 is freed bit is set. */
1945         uint64_t free5                        : 1;  /**< When a pointer for POOL5 is freed bit is set. */
1946         uint64_t free4                        : 1;  /**< When a pointer for POOL4 is freed bit is set. */
1947         uint64_t free3                        : 1;  /**< When a pointer for POOL3 is freed bit is set. */
1948         uint64_t free2                        : 1;  /**< When a pointer for POOL2 is freed bit is set. */
1949         uint64_t free1                        : 1;  /**< When a pointer for POOL1 is freed bit is set. */
1950         uint64_t free0                        : 1;  /**< When a pointer for POOL0 is freed bit is set. */
1951         uint64_t pool7th                      : 1;  /**< Set when FPA_QUE7_AVAILABLE is equal to
1952                                                          FPA_POOL7_THRESHOLD[THRESH] and a pointer is
1953                                                          allocated or de-allocated. */
1954         uint64_t pool6th                      : 1;  /**< Set when FPA_QUE6_AVAILABLE is equal to
1955                                                          FPA_POOL6_THRESHOLD[THRESH] and a pointer is
1956                                                          allocated or de-allocated. */
1957         uint64_t pool5th                      : 1;  /**< Set when FPA_QUE5_AVAILABLE is equal to
1958                                                          FPA_POOL5_THRESHOLD[THRESH] and a pointer is
1959                                                          allocated or de-allocated. */
1960         uint64_t pool4th                      : 1;  /**< Set when FPA_QUE4_AVAILABLE is equal to
1961                                                          FPA_POOL4_THRESHOLD[THRESH] and a pointer is
1962                                                          allocated or de-allocated. */
1963         uint64_t pool3th                      : 1;  /**< Set when FPA_QUE3_AVAILABLE is equal to
1964                                                          FPA_POOL3_THRESHOLD[THRESH] and a pointer is
1965                                                          allocated or de-allocated. */
1966         uint64_t pool2th                      : 1;  /**< Set when FPA_QUE2_AVAILABLE is equal to
1967                                                          FPA_POOL2_THRESHOLD[THRESH] and a pointer is
1968                                                          allocated or de-allocated. */
1969         uint64_t pool1th                      : 1;  /**< Set when FPA_QUE1_AVAILABLE is equal to
1970                                                          FPA_POOL1_THRESHOLD[THRESH] and a pointer is
1971                                                          allocated or de-allocated. */
1972         uint64_t pool0th                      : 1;  /**< Set when FPA_QUE0_AVAILABLE is equal to
1973                                                          FPA_POOL`_THRESHOLD[THRESH] and a pointer is
1974                                                          allocated or de-allocated. */
1975         uint64_t q7_perr                      : 1;  /**< Set when a Queue0 pointer read from the stack in
1976                                                          the L2C does not have the FPA owner ship bit set. */
1977         uint64_t q7_coff                      : 1;  /**< Set when a Queue0 stack end tag is present and
1978                                                          the count available is greater than than pointers
1979                                                          present in the FPA. */
1980         uint64_t q7_und                       : 1;  /**< Set when a Queue0 page count available goes
1981                                                          negative. */
1982         uint64_t q6_perr                      : 1;  /**< Set when a Queue0 pointer read from the stack in
1983                                                          the L2C does not have the FPA owner ship bit set. */
1984         uint64_t q6_coff                      : 1;  /**< Set when a Queue0 stack end tag is present and
1985                                                          the count available is greater than than pointers
1986                                                          present in the FPA. */
1987         uint64_t q6_und                       : 1;  /**< Set when a Queue0 page count available goes
1988                                                          negative. */
1989         uint64_t q5_perr                      : 1;  /**< Set when a Queue0 pointer read from the stack in
1990                                                          the L2C does not have the FPA owner ship bit set. */
1991         uint64_t q5_coff                      : 1;  /**< Set when a Queue0 stack end tag is present and
1992                                                          the count available is greater than than pointers
1993                                                          present in the FPA. */
1994         uint64_t q5_und                       : 1;  /**< Set when a Queue0 page count available goes
1995                                                          negative. */
1996         uint64_t q4_perr                      : 1;  /**< Set when a Queue0 pointer read from the stack in
1997                                                          the L2C does not have the FPA owner ship bit set. */
1998         uint64_t q4_coff                      : 1;  /**< Set when a Queue0 stack end tag is present and
1999                                                          the count available is greater than than pointers
2000                                                          present in the FPA. */
2001         uint64_t q4_und                       : 1;  /**< Set when a Queue0 page count available goes
2002                                                          negative. */
2003         uint64_t q3_perr                      : 1;  /**< Set when a Queue0 pointer read from the stack in
2004                                                          the L2C does not have the FPA owner ship bit set. */
2005         uint64_t q3_coff                      : 1;  /**< Set when a Queue0 stack end tag is present and
2006                                                          the count available is greater than than pointers
2007                                                          present in the FPA. */
2008         uint64_t q3_und                       : 1;  /**< Set when a Queue0 page count available goes
2009                                                          negative. */
2010         uint64_t q2_perr                      : 1;  /**< Set when a Queue0 pointer read from the stack in
2011                                                          the L2C does not have the FPA owner ship bit set. */
2012         uint64_t q2_coff                      : 1;  /**< Set when a Queue0 stack end tag is present and
2013                                                          the count available is greater than than pointers
2014                                                          present in the FPA. */
2015         uint64_t q2_und                       : 1;  /**< Set when a Queue0 page count available goes
2016                                                          negative. */
2017         uint64_t q1_perr                      : 1;  /**< Set when a Queue0 pointer read from the stack in
2018                                                          the L2C does not have the FPA owner ship bit set. */
2019         uint64_t q1_coff                      : 1;  /**< Set when a Queue0 stack end tag is present and
2020                                                          the count available is greater than pointers
2021                                                          present in the FPA. */
2022         uint64_t q1_und                       : 1;  /**< Set when a Queue0 page count available goes
2023                                                          negative. */
2024         uint64_t q0_perr                      : 1;  /**< Set when a Queue0 pointer read from the stack in
2025                                                          the L2C does not have the FPA owner ship bit set. */
2026         uint64_t q0_coff                      : 1;  /**< Set when a Queue0 stack end tag is present and
2027                                                          the count available is greater than pointers
2028                                                          present in the FPA. */
2029         uint64_t q0_und                       : 1;  /**< Set when a Queue0 page count available goes
2030                                                          negative. */
2031         uint64_t fed1_dbe                     : 1;  /**< Set when a Double Bit Error is detected in FPF1. */
2032         uint64_t fed1_sbe                     : 1;  /**< Set when a Single Bit Error is detected in FPF1. */
2033         uint64_t fed0_dbe                     : 1;  /**< Set when a Double Bit Error is detected in FPF0. */
2034         uint64_t fed0_sbe                     : 1;  /**< Set when a Single Bit Error is detected in FPF0. */
2035 #else
2036         uint64_t fed0_sbe                     : 1;
2037         uint64_t fed0_dbe                     : 1;
2038         uint64_t fed1_sbe                     : 1;
2039         uint64_t fed1_dbe                     : 1;
2040         uint64_t q0_und                       : 1;
2041         uint64_t q0_coff                      : 1;
2042         uint64_t q0_perr                      : 1;
2043         uint64_t q1_und                       : 1;
2044         uint64_t q1_coff                      : 1;
2045         uint64_t q1_perr                      : 1;
2046         uint64_t q2_und                       : 1;
2047         uint64_t q2_coff                      : 1;
2048         uint64_t q2_perr                      : 1;
2049         uint64_t q3_und                       : 1;
2050         uint64_t q3_coff                      : 1;
2051         uint64_t q3_perr                      : 1;
2052         uint64_t q4_und                       : 1;
2053         uint64_t q4_coff                      : 1;
2054         uint64_t q4_perr                      : 1;
2055         uint64_t q5_und                       : 1;
2056         uint64_t q5_coff                      : 1;
2057         uint64_t q5_perr                      : 1;
2058         uint64_t q6_und                       : 1;
2059         uint64_t q6_coff                      : 1;
2060         uint64_t q6_perr                      : 1;
2061         uint64_t q7_und                       : 1;
2062         uint64_t q7_coff                      : 1;
2063         uint64_t q7_perr                      : 1;
2064         uint64_t pool0th                      : 1;
2065         uint64_t pool1th                      : 1;
2066         uint64_t pool2th                      : 1;
2067         uint64_t pool3th                      : 1;
2068         uint64_t pool4th                      : 1;
2069         uint64_t pool5th                      : 1;
2070         uint64_t pool6th                      : 1;
2071         uint64_t pool7th                      : 1;
2072         uint64_t free0                        : 1;
2073         uint64_t free1                        : 1;
2074         uint64_t free2                        : 1;
2075         uint64_t free3                        : 1;
2076         uint64_t free4                        : 1;
2077         uint64_t free5                        : 1;
2078         uint64_t free6                        : 1;
2079         uint64_t free7                        : 1;
2080         uint64_t reserved_44_48               : 5;
2081         uint64_t paddr_e                      : 1;
2082         uint64_t reserved_50_63               : 14;
2083 #endif
2084         } cn61xx;
2085         struct cvmx_fpa_int_sum_cn63xx {
2086 #ifdef __BIG_ENDIAN_BITFIELD
2087         uint64_t reserved_44_63               : 20;
2088         uint64_t free7                        : 1;  /**< When a pointer for POOL7 is freed bit is set. */
2089         uint64_t free6                        : 1;  /**< When a pointer for POOL6 is freed bit is set. */
2090         uint64_t free5                        : 1;  /**< When a pointer for POOL5 is freed bit is set. */
2091         uint64_t free4                        : 1;  /**< When a pointer for POOL4 is freed bit is set. */
2092         uint64_t free3                        : 1;  /**< When a pointer for POOL3 is freed bit is set. */
2093         uint64_t free2                        : 1;  /**< When a pointer for POOL2 is freed bit is set. */
2094         uint64_t free1                        : 1;  /**< When a pointer for POOL1 is freed bit is set. */
2095         uint64_t free0                        : 1;  /**< When a pointer for POOL0 is freed bit is set. */
2096         uint64_t pool7th                      : 1;  /**< Set when FPA_QUE7_AVAILABLE is equal to
2097                                                          FPA_POOL7_THRESHOLD[THRESH] and a pointer is
2098                                                          allocated or de-allocated. */
2099         uint64_t pool6th                      : 1;  /**< Set when FPA_QUE6_AVAILABLE is equal to
2100                                                          FPA_POOL6_THRESHOLD[THRESH] and a pointer is
2101                                                          allocated or de-allocated. */
2102         uint64_t pool5th                      : 1;  /**< Set when FPA_QUE5_AVAILABLE is equal to
2103                                                          FPA_POOL5_THRESHOLD[THRESH] and a pointer is
2104                                                          allocated or de-allocated. */
2105         uint64_t pool4th                      : 1;  /**< Set when FPA_QUE4_AVAILABLE is equal to
2106                                                          FPA_POOL4_THRESHOLD[THRESH] and a pointer is
2107                                                          allocated or de-allocated. */
2108         uint64_t pool3th                      : 1;  /**< Set when FPA_QUE3_AVAILABLE is equal to
2109                                                          FPA_POOL3_THRESHOLD[THRESH] and a pointer is
2110                                                          allocated or de-allocated. */
2111         uint64_t pool2th                      : 1;  /**< Set when FPA_QUE2_AVAILABLE is equal to
2112                                                          FPA_POOL2_THRESHOLD[THRESH] and a pointer is
2113                                                          allocated or de-allocated. */
2114         uint64_t pool1th                      : 1;  /**< Set when FPA_QUE1_AVAILABLE is equal to
2115                                                          FPA_POOL1_THRESHOLD[THRESH] and a pointer is
2116                                                          allocated or de-allocated. */
2117         uint64_t pool0th                      : 1;  /**< Set when FPA_QUE0_AVAILABLE is equal to
2118                                                          FPA_POOL`_THRESHOLD[THRESH] and a pointer is
2119                                                          allocated or de-allocated. */
2120         uint64_t q7_perr                      : 1;  /**< Set when a Queue0 pointer read from the stack in
2121                                                          the L2C does not have the FPA owner ship bit set. */
2122         uint64_t q7_coff                      : 1;  /**< Set when a Queue0 stack end tag is present and
2123                                                          the count available is greater than than pointers
2124                                                          present in the FPA. */
2125         uint64_t q7_und                       : 1;  /**< Set when a Queue0 page count available goes
2126                                                          negative. */
2127         uint64_t q6_perr                      : 1;  /**< Set when a Queue0 pointer read from the stack in
2128                                                          the L2C does not have the FPA owner ship bit set. */
2129         uint64_t q6_coff                      : 1;  /**< Set when a Queue0 stack end tag is present and
2130                                                          the count available is greater than than pointers
2131                                                          present in the FPA. */
2132         uint64_t q6_und                       : 1;  /**< Set when a Queue0 page count available goes
2133                                                          negative. */
2134         uint64_t q5_perr                      : 1;  /**< Set when a Queue0 pointer read from the stack in
2135                                                          the L2C does not have the FPA owner ship bit set. */
2136         uint64_t q5_coff                      : 1;  /**< Set when a Queue0 stack end tag is present and
2137                                                          the count available is greater than than pointers
2138                                                          present in the FPA. */
2139         uint64_t q5_und                       : 1;  /**< Set when a Queue0 page count available goes
2140                                                          negative. */
2141         uint64_t q4_perr                      : 1;  /**< Set when a Queue0 pointer read from the stack in
2142                                                          the L2C does not have the FPA owner ship bit set. */
2143         uint64_t q4_coff                      : 1;  /**< Set when a Queue0 stack end tag is present and
2144                                                          the count available is greater than than pointers
2145                                                          present in the FPA. */
2146         uint64_t q4_und                       : 1;  /**< Set when a Queue0 page count available goes
2147                                                          negative. */
2148         uint64_t q3_perr                      : 1;  /**< Set when a Queue0 pointer read from the stack in
2149                                                          the L2C does not have the FPA owner ship bit set. */
2150         uint64_t q3_coff                      : 1;  /**< Set when a Queue0 stack end tag is present and
2151                                                          the count available is greater than than pointers
2152                                                          present in the FPA. */
2153         uint64_t q3_und                       : 1;  /**< Set when a Queue0 page count available goes
2154                                                          negative. */
2155         uint64_t q2_perr                      : 1;  /**< Set when a Queue0 pointer read from the stack in
2156                                                          the L2C does not have the FPA owner ship bit set. */
2157         uint64_t q2_coff                      : 1;  /**< Set when a Queue0 stack end tag is present and
2158                                                          the count available is greater than than pointers
2159                                                          present in the FPA. */
2160         uint64_t q2_und                       : 1;  /**< Set when a Queue0 page count available goes
2161                                                          negative. */
2162         uint64_t q1_perr                      : 1;  /**< Set when a Queue0 pointer read from the stack in
2163                                                          the L2C does not have the FPA owner ship bit set. */
2164         uint64_t q1_coff                      : 1;  /**< Set when a Queue0 stack end tag is present and
2165                                                          the count available is greater than pointers
2166                                                          present in the FPA. */
2167         uint64_t q1_und                       : 1;  /**< Set when a Queue0 page count available goes
2168                                                          negative. */
2169         uint64_t q0_perr                      : 1;  /**< Set when a Queue0 pointer read from the stack in
2170                                                          the L2C does not have the FPA owner ship bit set. */
2171         uint64_t q0_coff                      : 1;  /**< Set when a Queue0 stack end tag is present and
2172                                                          the count available is greater than pointers
2173                                                          present in the FPA. */
2174         uint64_t q0_und                       : 1;  /**< Set when a Queue0 page count available goes
2175                                                          negative. */
2176         uint64_t fed1_dbe                     : 1;  /**< Set when a Double Bit Error is detected in FPF1. */
2177         uint64_t fed1_sbe                     : 1;  /**< Set when a Single Bit Error is detected in FPF1. */
2178         uint64_t fed0_dbe                     : 1;  /**< Set when a Double Bit Error is detected in FPF0. */
2179         uint64_t fed0_sbe                     : 1;  /**< Set when a Single Bit Error is detected in FPF0. */
2180 #else
2181         uint64_t fed0_sbe                     : 1;
2182         uint64_t fed0_dbe                     : 1;
2183         uint64_t fed1_sbe                     : 1;
2184         uint64_t fed1_dbe                     : 1;
2185         uint64_t q0_und                       : 1;
2186         uint64_t q0_coff                      : 1;
2187         uint64_t q0_perr                      : 1;
2188         uint64_t q1_und                       : 1;
2189         uint64_t q1_coff                      : 1;
2190         uint64_t q1_perr                      : 1;
2191         uint64_t q2_und                       : 1;
2192         uint64_t q2_coff                      : 1;
2193         uint64_t q2_perr                      : 1;
2194         uint64_t q3_und                       : 1;
2195         uint64_t q3_coff                      : 1;
2196         uint64_t q3_perr                      : 1;
2197         uint64_t q4_und                       : 1;
2198         uint64_t q4_coff                      : 1;
2199         uint64_t q4_perr                      : 1;
2200         uint64_t q5_und                       : 1;
2201         uint64_t q5_coff                      : 1;
2202         uint64_t q5_perr                      : 1;
2203         uint64_t q6_und                       : 1;
2204         uint64_t q6_coff                      : 1;
2205         uint64_t q6_perr                      : 1;
2206         uint64_t q7_und                       : 1;
2207         uint64_t q7_coff                      : 1;
2208         uint64_t q7_perr                      : 1;
2209         uint64_t pool0th                      : 1;
2210         uint64_t pool1th                      : 1;
2211         uint64_t pool2th                      : 1;
2212         uint64_t pool3th                      : 1;
2213         uint64_t pool4th                      : 1;
2214         uint64_t pool5th                      : 1;
2215         uint64_t pool6th                      : 1;
2216         uint64_t pool7th                      : 1;
2217         uint64_t free0                        : 1;
2218         uint64_t free1                        : 1;
2219         uint64_t free2                        : 1;
2220         uint64_t free3                        : 1;
2221         uint64_t free4                        : 1;
2222         uint64_t free5                        : 1;
2223         uint64_t free6                        : 1;
2224         uint64_t free7                        : 1;
2225         uint64_t reserved_44_63               : 20;
2226 #endif
2227         } cn63xx;
2228         struct cvmx_fpa_int_sum_cn30xx        cn63xxp1;
2229         struct cvmx_fpa_int_sum_cn61xx        cn66xx;
2230         struct cvmx_fpa_int_sum_s             cn68xx;
2231         struct cvmx_fpa_int_sum_s             cn68xxp1;
2232         struct cvmx_fpa_int_sum_cn61xx        cnf71xx;
2233 };
2234 typedef union cvmx_fpa_int_sum cvmx_fpa_int_sum_t;
2235
2236 /**
2237  * cvmx_fpa_packet_threshold
2238  *
2239  * FPA_PACKET_THRESHOLD = FPA's Packet Threshold
2240  *
2241  * When the value of FPA_QUE0_AVAILABLE[QUE_SIZ] is Less than the value of this register a low pool count signal is sent to the
2242  * PCIe packet instruction engine (to make it stop reading instructions) and to the Packet-Arbiter informing it to not give grants
2243  * to packets MAC with the exception of the PCIe MAC.
2244  */
2245 union cvmx_fpa_packet_threshold {
2246         uint64_t u64;
2247         struct cvmx_fpa_packet_threshold_s {
2248 #ifdef __BIG_ENDIAN_BITFIELD
2249         uint64_t reserved_32_63               : 32;
2250         uint64_t thresh                       : 32; /**< Packet Threshold. */
2251 #else
2252         uint64_t thresh                       : 32;
2253         uint64_t reserved_32_63               : 32;
2254 #endif
2255         } s;
2256         struct cvmx_fpa_packet_threshold_s    cn61xx;
2257         struct cvmx_fpa_packet_threshold_s    cn63xx;
2258         struct cvmx_fpa_packet_threshold_s    cn66xx;
2259         struct cvmx_fpa_packet_threshold_s    cn68xx;
2260         struct cvmx_fpa_packet_threshold_s    cn68xxp1;
2261         struct cvmx_fpa_packet_threshold_s    cnf71xx;
2262 };
2263 typedef union cvmx_fpa_packet_threshold cvmx_fpa_packet_threshold_t;
2264
2265 /**
2266  * cvmx_fpa_pool#_end_addr
2267  *
2268  * Space here reserved
2269  *
2270  *                  FPA_POOLX_END_ADDR = FPA's Pool-X Ending Addres
2271  *
2272  * Pointers sent to this pool must be equal to or less than this address.
2273  */
2274 union cvmx_fpa_poolx_end_addr {
2275         uint64_t u64;
2276         struct cvmx_fpa_poolx_end_addr_s {
2277 #ifdef __BIG_ENDIAN_BITFIELD
2278         uint64_t reserved_33_63               : 31;
2279         uint64_t addr                         : 33; /**< Address. */
2280 #else
2281         uint64_t addr                         : 33;
2282         uint64_t reserved_33_63               : 31;
2283 #endif
2284         } s;
2285         struct cvmx_fpa_poolx_end_addr_s      cn61xx;
2286         struct cvmx_fpa_poolx_end_addr_s      cn66xx;
2287         struct cvmx_fpa_poolx_end_addr_s      cn68xx;
2288         struct cvmx_fpa_poolx_end_addr_s      cn68xxp1;
2289         struct cvmx_fpa_poolx_end_addr_s      cnf71xx;
2290 };
2291 typedef union cvmx_fpa_poolx_end_addr cvmx_fpa_poolx_end_addr_t;
2292
2293 /**
2294  * cvmx_fpa_pool#_start_addr
2295  *
2296  * FPA_POOLX_START_ADDR = FPA's Pool-X Starting Addres
2297  *
2298  * Pointers sent to this pool must be equal to or greater than this address.
2299  */
2300 union cvmx_fpa_poolx_start_addr {
2301         uint64_t u64;
2302         struct cvmx_fpa_poolx_start_addr_s {
2303 #ifdef __BIG_ENDIAN_BITFIELD
2304         uint64_t reserved_33_63               : 31;
2305         uint64_t addr                         : 33; /**< Address. */
2306 #else
2307         uint64_t addr                         : 33;
2308         uint64_t reserved_33_63               : 31;
2309 #endif
2310         } s;
2311         struct cvmx_fpa_poolx_start_addr_s    cn61xx;
2312         struct cvmx_fpa_poolx_start_addr_s    cn66xx;
2313         struct cvmx_fpa_poolx_start_addr_s    cn68xx;
2314         struct cvmx_fpa_poolx_start_addr_s    cn68xxp1;
2315         struct cvmx_fpa_poolx_start_addr_s    cnf71xx;
2316 };
2317 typedef union cvmx_fpa_poolx_start_addr cvmx_fpa_poolx_start_addr_t;
2318
2319 /**
2320  * cvmx_fpa_pool#_threshold
2321  *
2322  * FPA_POOLX_THRESHOLD = FPA's Pool 0-7 Threshold
2323  *
2324  * When the value of FPA_QUEX_AVAILABLE is equal to FPA_POOLX_THRESHOLD[THRESH] when a pointer is allocated
2325  * or deallocated, set interrupt FPA_INT_SUM[POOLXTH].
2326  */
2327 union cvmx_fpa_poolx_threshold {
2328         uint64_t u64;
2329         struct cvmx_fpa_poolx_threshold_s {
2330 #ifdef __BIG_ENDIAN_BITFIELD
2331         uint64_t reserved_32_63               : 32;
2332         uint64_t thresh                       : 32; /**< The Threshold. */
2333 #else
2334         uint64_t thresh                       : 32;
2335         uint64_t reserved_32_63               : 32;
2336 #endif
2337         } s;
2338         struct cvmx_fpa_poolx_threshold_cn61xx {
2339 #ifdef __BIG_ENDIAN_BITFIELD
2340         uint64_t reserved_29_63               : 35;
2341         uint64_t thresh                       : 29; /**< The Threshold. */
2342 #else
2343         uint64_t thresh                       : 29;
2344         uint64_t reserved_29_63               : 35;
2345 #endif
2346         } cn61xx;
2347         struct cvmx_fpa_poolx_threshold_cn61xx cn63xx;
2348         struct cvmx_fpa_poolx_threshold_cn61xx cn66xx;
2349         struct cvmx_fpa_poolx_threshold_s     cn68xx;
2350         struct cvmx_fpa_poolx_threshold_s     cn68xxp1;
2351         struct cvmx_fpa_poolx_threshold_cn61xx cnf71xx;
2352 };
2353 typedef union cvmx_fpa_poolx_threshold cvmx_fpa_poolx_threshold_t;
2354
2355 /**
2356  * cvmx_fpa_que#_available
2357  *
2358  * FPA_QUEX_PAGES_AVAILABLE = FPA's Queue 0-7 Free Page Available Register
2359  *
2360  * The number of page pointers that are available in the FPA and local DRAM.
2361  */
2362 union cvmx_fpa_quex_available {
2363         uint64_t u64;
2364         struct cvmx_fpa_quex_available_s {
2365 #ifdef __BIG_ENDIAN_BITFIELD
2366         uint64_t reserved_32_63               : 32;
2367         uint64_t que_siz                      : 32; /**< The number of free pages available in this Queue.
2368                                                          In PASS-1 this field was [25:0]. */
2369 #else
2370         uint64_t que_siz                      : 32;
2371         uint64_t reserved_32_63               : 32;
2372 #endif
2373         } s;
2374         struct cvmx_fpa_quex_available_cn30xx {
2375 #ifdef __BIG_ENDIAN_BITFIELD
2376         uint64_t reserved_29_63               : 35;
2377         uint64_t que_siz                      : 29; /**< The number of free pages available in this Queue. */
2378 #else
2379         uint64_t que_siz                      : 29;
2380         uint64_t reserved_29_63               : 35;
2381 #endif
2382         } cn30xx;
2383         struct cvmx_fpa_quex_available_cn30xx cn31xx;
2384         struct cvmx_fpa_quex_available_cn30xx cn38xx;
2385         struct cvmx_fpa_quex_available_cn30xx cn38xxp2;
2386         struct cvmx_fpa_quex_available_cn30xx cn50xx;
2387         struct cvmx_fpa_quex_available_cn30xx cn52xx;
2388         struct cvmx_fpa_quex_available_cn30xx cn52xxp1;
2389         struct cvmx_fpa_quex_available_cn30xx cn56xx;
2390         struct cvmx_fpa_quex_available_cn30xx cn56xxp1;
2391         struct cvmx_fpa_quex_available_cn30xx cn58xx;
2392         struct cvmx_fpa_quex_available_cn30xx cn58xxp1;
2393         struct cvmx_fpa_quex_available_cn30xx cn61xx;
2394         struct cvmx_fpa_quex_available_cn30xx cn63xx;
2395         struct cvmx_fpa_quex_available_cn30xx cn63xxp1;
2396         struct cvmx_fpa_quex_available_cn30xx cn66xx;
2397         struct cvmx_fpa_quex_available_s      cn68xx;
2398         struct cvmx_fpa_quex_available_s      cn68xxp1;
2399         struct cvmx_fpa_quex_available_cn30xx cnf71xx;
2400 };
2401 typedef union cvmx_fpa_quex_available cvmx_fpa_quex_available_t;
2402
2403 /**
2404  * cvmx_fpa_que#_page_index
2405  *
2406  * FPA_QUE0_PAGE_INDEX = FPA's Queue0 Page Index
2407  *
2408  * The present index page for queue 0 of the FPA, this is a PASS-2 register.
2409  * This number reflects the number of pages of pointers that have been written to memory
2410  * for this queue.
2411  */
2412 union cvmx_fpa_quex_page_index {
2413         uint64_t u64;
2414         struct cvmx_fpa_quex_page_index_s {
2415 #ifdef __BIG_ENDIAN_BITFIELD
2416         uint64_t reserved_25_63               : 39;
2417         uint64_t pg_num                       : 25; /**< Page number. */
2418 #else
2419         uint64_t pg_num                       : 25;
2420         uint64_t reserved_25_63               : 39;
2421 #endif
2422         } s;
2423         struct cvmx_fpa_quex_page_index_s     cn30xx;
2424         struct cvmx_fpa_quex_page_index_s     cn31xx;
2425         struct cvmx_fpa_quex_page_index_s     cn38xx;
2426         struct cvmx_fpa_quex_page_index_s     cn38xxp2;
2427         struct cvmx_fpa_quex_page_index_s     cn50xx;
2428         struct cvmx_fpa_quex_page_index_s     cn52xx;
2429         struct cvmx_fpa_quex_page_index_s     cn52xxp1;
2430         struct cvmx_fpa_quex_page_index_s     cn56xx;
2431         struct cvmx_fpa_quex_page_index_s     cn56xxp1;
2432         struct cvmx_fpa_quex_page_index_s     cn58xx;
2433         struct cvmx_fpa_quex_page_index_s     cn58xxp1;
2434         struct cvmx_fpa_quex_page_index_s     cn61xx;
2435         struct cvmx_fpa_quex_page_index_s     cn63xx;
2436         struct cvmx_fpa_quex_page_index_s     cn63xxp1;
2437         struct cvmx_fpa_quex_page_index_s     cn66xx;
2438         struct cvmx_fpa_quex_page_index_s     cn68xx;
2439         struct cvmx_fpa_quex_page_index_s     cn68xxp1;
2440         struct cvmx_fpa_quex_page_index_s     cnf71xx;
2441 };
2442 typedef union cvmx_fpa_quex_page_index cvmx_fpa_quex_page_index_t;
2443
2444 /**
2445  * cvmx_fpa_que8_page_index
2446  *
2447  * FPA_QUE8_PAGE_INDEX = FPA's Queue7 Page Index
2448  *
2449  * The present index page for queue 7 of the FPA.
2450  * This number reflects the number of pages of pointers that have been written to memory
2451  * for this queue.
2452  * Because the address space is 38-bits the number of 128 byte pages could cause this register value to wrap.
2453  */
2454 union cvmx_fpa_que8_page_index {
2455         uint64_t u64;
2456         struct cvmx_fpa_que8_page_index_s {
2457 #ifdef __BIG_ENDIAN_BITFIELD
2458         uint64_t reserved_25_63               : 39;
2459         uint64_t pg_num                       : 25; /**< Page number. */
2460 #else
2461         uint64_t pg_num                       : 25;
2462         uint64_t reserved_25_63               : 39;
2463 #endif
2464         } s;
2465         struct cvmx_fpa_que8_page_index_s     cn68xx;
2466         struct cvmx_fpa_que8_page_index_s     cn68xxp1;
2467 };
2468 typedef union cvmx_fpa_que8_page_index cvmx_fpa_que8_page_index_t;
2469
2470 /**
2471  * cvmx_fpa_que_act
2472  *
2473  * FPA_QUE_ACT = FPA's Queue# Actual Page Index
2474  *
2475  * When a INT_SUM[PERR#] occurs this will be latched with the value read from L2C. PASS-2 register.
2476  * This is latched on the first error and will not latch again unitl all errors are cleared.
2477  */
2478 union cvmx_fpa_que_act {
2479         uint64_t u64;
2480         struct cvmx_fpa_que_act_s {
2481 #ifdef __BIG_ENDIAN_BITFIELD
2482         uint64_t reserved_29_63               : 35;
2483         uint64_t act_que                      : 3;  /**< FPA-queue-number read from memory. */
2484         uint64_t act_indx                     : 26; /**< Page number read from memory. */
2485 #else
2486         uint64_t act_indx                     : 26;
2487         uint64_t act_que                      : 3;
2488         uint64_t reserved_29_63               : 35;
2489 #endif
2490         } s;
2491         struct cvmx_fpa_que_act_s             cn30xx;
2492         struct cvmx_fpa_que_act_s             cn31xx;
2493         struct cvmx_fpa_que_act_s             cn38xx;
2494         struct cvmx_fpa_que_act_s             cn38xxp2;
2495         struct cvmx_fpa_que_act_s             cn50xx;
2496         struct cvmx_fpa_que_act_s             cn52xx;
2497         struct cvmx_fpa_que_act_s             cn52xxp1;
2498         struct cvmx_fpa_que_act_s             cn56xx;
2499         struct cvmx_fpa_que_act_s             cn56xxp1;
2500         struct cvmx_fpa_que_act_s             cn58xx;
2501         struct cvmx_fpa_que_act_s             cn58xxp1;
2502         struct cvmx_fpa_que_act_s             cn61xx;
2503         struct cvmx_fpa_que_act_s             cn63xx;
2504         struct cvmx_fpa_que_act_s             cn63xxp1;
2505         struct cvmx_fpa_que_act_s             cn66xx;
2506         struct cvmx_fpa_que_act_s             cn68xx;
2507         struct cvmx_fpa_que_act_s             cn68xxp1;
2508         struct cvmx_fpa_que_act_s             cnf71xx;
2509 };
2510 typedef union cvmx_fpa_que_act cvmx_fpa_que_act_t;
2511
2512 /**
2513  * cvmx_fpa_que_exp
2514  *
2515  * FPA_QUE_EXP = FPA's Queue# Expected Page Index
2516  *
2517  * When a INT_SUM[PERR#] occurs this will be latched with the expected value. PASS-2 register.
2518  * This is latched on the first error and will not latch again unitl all errors are cleared.
2519  */
2520 union cvmx_fpa_que_exp {
2521         uint64_t u64;
2522         struct cvmx_fpa_que_exp_s {
2523 #ifdef __BIG_ENDIAN_BITFIELD
2524         uint64_t reserved_29_63               : 35;
2525         uint64_t exp_que                      : 3;  /**< Expected fpa-queue-number read from memory. */
2526         uint64_t exp_indx                     : 26; /**< Expected page number read from memory. */
2527 #else
2528         uint64_t exp_indx                     : 26;
2529         uint64_t exp_que                      : 3;
2530         uint64_t reserved_29_63               : 35;
2531 #endif
2532         } s;
2533         struct cvmx_fpa_que_exp_s             cn30xx;
2534         struct cvmx_fpa_que_exp_s             cn31xx;
2535         struct cvmx_fpa_que_exp_s             cn38xx;
2536         struct cvmx_fpa_que_exp_s             cn38xxp2;
2537         struct cvmx_fpa_que_exp_s             cn50xx;
2538         struct cvmx_fpa_que_exp_s             cn52xx;
2539         struct cvmx_fpa_que_exp_s             cn52xxp1;
2540         struct cvmx_fpa_que_exp_s             cn56xx;
2541         struct cvmx_fpa_que_exp_s             cn56xxp1;
2542         struct cvmx_fpa_que_exp_s             cn58xx;
2543         struct cvmx_fpa_que_exp_s             cn58xxp1;
2544         struct cvmx_fpa_que_exp_s             cn61xx;
2545         struct cvmx_fpa_que_exp_s             cn63xx;
2546         struct cvmx_fpa_que_exp_s             cn63xxp1;
2547         struct cvmx_fpa_que_exp_s             cn66xx;
2548         struct cvmx_fpa_que_exp_s             cn68xx;
2549         struct cvmx_fpa_que_exp_s             cn68xxp1;
2550         struct cvmx_fpa_que_exp_s             cnf71xx;
2551 };
2552 typedef union cvmx_fpa_que_exp cvmx_fpa_que_exp_t;
2553
2554 /**
2555  * cvmx_fpa_wart_ctl
2556  *
2557  * FPA_WART_CTL = FPA's WART Control
2558  *
2559  * Control and status for the WART block.
2560  */
2561 union cvmx_fpa_wart_ctl {
2562         uint64_t u64;
2563         struct cvmx_fpa_wart_ctl_s {
2564 #ifdef __BIG_ENDIAN_BITFIELD
2565         uint64_t reserved_16_63               : 48;
2566         uint64_t ctl                          : 16; /**< Control information. */
2567 #else
2568         uint64_t ctl                          : 16;
2569         uint64_t reserved_16_63               : 48;
2570 #endif
2571         } s;
2572         struct cvmx_fpa_wart_ctl_s            cn30xx;
2573         struct cvmx_fpa_wart_ctl_s            cn31xx;
2574         struct cvmx_fpa_wart_ctl_s            cn38xx;
2575         struct cvmx_fpa_wart_ctl_s            cn38xxp2;
2576         struct cvmx_fpa_wart_ctl_s            cn50xx;
2577         struct cvmx_fpa_wart_ctl_s            cn52xx;
2578         struct cvmx_fpa_wart_ctl_s            cn52xxp1;
2579         struct cvmx_fpa_wart_ctl_s            cn56xx;
2580         struct cvmx_fpa_wart_ctl_s            cn56xxp1;
2581         struct cvmx_fpa_wart_ctl_s            cn58xx;
2582         struct cvmx_fpa_wart_ctl_s            cn58xxp1;
2583 };
2584 typedef union cvmx_fpa_wart_ctl cvmx_fpa_wart_ctl_t;
2585
2586 /**
2587  * cvmx_fpa_wart_status
2588  *
2589  * FPA_WART_STATUS = FPA's WART Status
2590  *
2591  * Control and status for the WART block.
2592  */
2593 union cvmx_fpa_wart_status {
2594         uint64_t u64;
2595         struct cvmx_fpa_wart_status_s {
2596 #ifdef __BIG_ENDIAN_BITFIELD
2597         uint64_t reserved_32_63               : 32;
2598         uint64_t status                       : 32; /**< Status information. */
2599 #else
2600         uint64_t status                       : 32;
2601         uint64_t reserved_32_63               : 32;
2602 #endif
2603         } s;
2604         struct cvmx_fpa_wart_status_s         cn30xx;
2605         struct cvmx_fpa_wart_status_s         cn31xx;
2606         struct cvmx_fpa_wart_status_s         cn38xx;
2607         struct cvmx_fpa_wart_status_s         cn38xxp2;
2608         struct cvmx_fpa_wart_status_s         cn50xx;
2609         struct cvmx_fpa_wart_status_s         cn52xx;
2610         struct cvmx_fpa_wart_status_s         cn52xxp1;
2611         struct cvmx_fpa_wart_status_s         cn56xx;
2612         struct cvmx_fpa_wart_status_s         cn56xxp1;
2613         struct cvmx_fpa_wart_status_s         cn58xx;
2614         struct cvmx_fpa_wart_status_s         cn58xxp1;
2615 };
2616 typedef union cvmx_fpa_wart_status cvmx_fpa_wart_status_t;
2617
2618 /**
2619  * cvmx_fpa_wqe_threshold
2620  *
2621  * FPA_WQE_THRESHOLD = FPA's WQE Threshold
2622  *
2623  * When the value of FPA_QUE#_AVAILABLE[QUE_SIZ] (\# is determined by the value of IPD_WQE_FPA_QUEUE) is Less than the value of this
2624  * register a low pool count signal is sent to the PCIe packet instruction engine (to make it stop reading instructions) and to the
2625  * Packet-Arbiter informing it to not give grants to packets MAC with the exception of the PCIe MAC.
2626  */
2627 union cvmx_fpa_wqe_threshold {
2628         uint64_t u64;
2629         struct cvmx_fpa_wqe_threshold_s {
2630 #ifdef __BIG_ENDIAN_BITFIELD
2631         uint64_t reserved_32_63               : 32;
2632         uint64_t thresh                       : 32; /**< WQE Threshold. */
2633 #else
2634         uint64_t thresh                       : 32;
2635         uint64_t reserved_32_63               : 32;
2636 #endif
2637         } s;
2638         struct cvmx_fpa_wqe_threshold_s       cn61xx;
2639         struct cvmx_fpa_wqe_threshold_s       cn63xx;
2640         struct cvmx_fpa_wqe_threshold_s       cn66xx;
2641         struct cvmx_fpa_wqe_threshold_s       cn68xx;
2642         struct cvmx_fpa_wqe_threshold_s       cn68xxp1;
2643         struct cvmx_fpa_wqe_threshold_s       cnf71xx;
2644 };
2645 typedef union cvmx_fpa_wqe_threshold cvmx_fpa_wqe_threshold_t;
2646
2647 #endif