1 /***********************license start***************
2 * Copyright (c) 2003-2012 Cavium Inc. (support@cavium.com). All rights
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions are
10 * * Redistributions of source code must retain the above copyright
11 * notice, this list of conditions and the following disclaimer.
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.
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
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
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**************************************/
44 * Configuration and status register (CSR) type definitions for
47 * This file is auto generated. Do not edit.
52 #ifndef __CVMX_FPA_DEFS_H__
53 #define __CVMX_FPA_DEFS_H__
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)
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);
64 #define CVMX_FPA_ADDR_RANGE_ERROR (CVMX_ADD_IO_SEG(0x0001180028000458ull))
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)
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);
77 #define CVMX_FPA_FPF0_MARKS (CVMX_ADD_IO_SEG(0x0001180028000000ull))
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)
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);
88 #define CVMX_FPA_FPF0_SIZE (CVMX_ADD_IO_SEG(0x0001180028000058ull))
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)
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);
106 #define CVMX_FPA_FPF8_MARKS (CVMX_ADD_IO_SEG(0x0001180028000240ull))
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)
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);
117 #define CVMX_FPA_FPF8_SIZE (CVMX_ADD_IO_SEG(0x0001180028000248ull))
119 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
120 static inline uint64_t CVMX_FPA_FPFX_MARKS(unsigned long offset)
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;
135 #define CVMX_FPA_FPFX_MARKS(offset) (CVMX_ADD_IO_SEG(0x0001180028000008ull) + ((offset) & 7) * 8 - 8*1)
137 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
138 static inline uint64_t CVMX_FPA_FPFX_SIZE(unsigned long offset)
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;
153 #define CVMX_FPA_FPFX_SIZE(offset) (CVMX_ADD_IO_SEG(0x0001180028000060ull) + ((offset) & 7) * 8 - 8*1)
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)
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);
166 #define CVMX_FPA_PACKET_THRESHOLD (CVMX_ADD_IO_SEG(0x0001180028000460ull))
168 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
169 static inline uint64_t CVMX_FPA_POOLX_END_ADDR(unsigned long offset)
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;
180 #define CVMX_FPA_POOLX_END_ADDR(offset) (CVMX_ADD_IO_SEG(0x0001180028000358ull) + ((offset) & 15) * 8)
182 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
183 static inline uint64_t CVMX_FPA_POOLX_START_ADDR(unsigned long offset)
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;
194 #define CVMX_FPA_POOLX_START_ADDR(offset) (CVMX_ADD_IO_SEG(0x0001180028000258ull) + ((offset) & 15) * 8)
196 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
197 static inline uint64_t CVMX_FPA_POOLX_THRESHOLD(unsigned long offset)
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;
209 #define CVMX_FPA_POOLX_THRESHOLD(offset) (CVMX_ADD_IO_SEG(0x0001180028000140ull) + ((offset) & 15) * 8)
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)
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);
228 #define CVMX_FPA_QUE8_PAGE_INDEX (CVMX_ADD_IO_SEG(0x0001180028000250ull))
230 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
231 static inline uint64_t CVMX_FPA_QUEX_AVAILABLE(unsigned long offset)
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;
250 #define CVMX_FPA_QUEX_AVAILABLE(offset) (CVMX_ADD_IO_SEG(0x0001180028000098ull) + ((offset) & 15) * 8)
252 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
253 static inline uint64_t CVMX_FPA_QUEX_PAGE_INDEX(unsigned long offset)
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;
272 #define CVMX_FPA_QUEX_PAGE_INDEX(offset) (CVMX_ADD_IO_SEG(0x00011800280000F0ull) + ((offset) & 7) * 8)
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)
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);
285 #define CVMX_FPA_WART_CTL (CVMX_ADD_IO_SEG(0x00011800280000D8ull))
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)
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);
296 #define CVMX_FPA_WART_STATUS (CVMX_ADD_IO_SEG(0x00011800280000E0ull))
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)
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);
307 #define CVMX_FPA_WQE_THRESHOLD (CVMX_ADD_IO_SEG(0x0001180028000468ull))
311 * cvmx_fpa_addr_range_error
313 * Space here reserved
315 * FPA_ADDR_RANGE_ERROR = FPA's Pool Address Range Error Information
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.
322 union cvmx_fpa_addr_range_error {
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. */
332 uint64_t reserved_38_63 : 26;
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;
341 typedef union cvmx_fpa_addr_range_error cvmx_fpa_addr_range_error_t;
344 * cvmx_fpa_bist_status
346 * FPA_BIST_STATUS = BIST Status of FPA Memories
348 * The result of the BIST run on the FPA memories.
350 union cvmx_fpa_bist_status {
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. */
366 uint64_t reserved_5_63 : 59;
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;
388 typedef union cvmx_fpa_bist_status cvmx_fpa_bist_status_t;
391 * cvmx_fpa_ctl_status
393 * FPA_CTL_STATUS = FPA's Control/Status Register
395 * The FPA's interrupt enable register.
397 union cvmx_fpa_ctl_status {
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
405 uint64_t req_off : 1; /**< When set NCB devices requesting pointers will be
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
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
423 uint64_t mem0_err : 7;
424 uint64_t mem1_err : 7;
426 uint64_t use_stt : 1;
427 uint64_t use_ldt : 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;
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
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
455 uint64_t mem0_err : 7;
456 uint64_t mem1_err : 7;
458 uint64_t use_stt : 1;
459 uint64_t use_ldt : 1;
461 uint64_t reserved_18_63 : 46;
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;
482 typedef union cvmx_fpa_ctl_status cvmx_fpa_ctl_status_t;
485 * cvmx_fpa_fpf#_marks
487 * FPA_FPF1_MARKS = FPA's Queue 1 Free Page FIFO Read Write Marks
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)
493 union cvmx_fpa_fpfx_marks {
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. */
511 uint64_t fpf_rd : 11;
512 uint64_t fpf_wr : 11;
513 uint64_t reserved_22_63 : 42;
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;
530 typedef union cvmx_fpa_fpfx_marks cvmx_fpa_fpfx_marks_t;
535 * FPA_FPFX_SIZE = FPA's Queue 1-7 Free Page FIFO Size
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.
541 union cvmx_fpa_fpfx_size {
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. */
558 uint64_t fpf_siz : 11;
559 uint64_t reserved_11_63 : 53;
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;
576 typedef union cvmx_fpa_fpfx_size cvmx_fpa_fpfx_size_t;
579 * cvmx_fpa_fpf0_marks
581 * FPA_FPF0_MARKS = FPA's Queue 0 Free Page FIFO Read Write Marks
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)
587 union cvmx_fpa_fpf0_marks {
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. */
605 uint64_t fpf_rd : 12;
606 uint64_t fpf_wr : 12;
607 uint64_t reserved_24_63 : 40;
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;
624 typedef union cvmx_fpa_fpf0_marks cvmx_fpa_fpf0_marks_t;
629 * FPA_FPF0_SIZE = FPA's Queue 0 Free Page FIFO Size
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.
635 union cvmx_fpa_fpf0_size {
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. */
652 uint64_t fpf_siz : 12;
653 uint64_t reserved_12_63 : 52;
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;
670 typedef union cvmx_fpa_fpf0_size cvmx_fpa_fpf0_size_t;
673 * cvmx_fpa_fpf8_marks
675 * Reserved through 0x238 for additional thresholds
677 * FPA_FPF8_MARKS = FPA's Queue 8 Free Page FIFO Read Write Marks
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)
683 union cvmx_fpa_fpf8_marks {
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. */
701 uint64_t fpf_rd : 11;
702 uint64_t fpf_wr : 11;
703 uint64_t reserved_22_63 : 42;
706 struct cvmx_fpa_fpf8_marks_s cn68xx;
707 struct cvmx_fpa_fpf8_marks_s cn68xxp1;
709 typedef union cvmx_fpa_fpf8_marks cvmx_fpa_fpf8_marks_t;
714 * FPA_FPF8_SIZE = FPA's Queue 8 Free Page FIFO Size
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.
720 union cvmx_fpa_fpf8_size {
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. */
737 uint64_t fpf_siz : 12;
738 uint64_t reserved_12_63 : 52;
741 struct cvmx_fpa_fpf8_size_s cn68xx;
742 struct cvmx_fpa_fpf8_size_s cn68xxp1;
744 typedef union cvmx_fpa_fpf8_size cvmx_fpa_fpf8_size_t;
749 * FPA_INT_ENB = FPA's Interrupt Enable
751 * The FPA's interrupt enable register.
753 union cvmx_fpa_int_enb {
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
895 uint64_t fed0_sbe : 1;
896 uint64_t fed0_dbe : 1;
897 uint64_t fed1_sbe : 1;
898 uint64_t fed1_dbe : 1;
900 uint64_t q0_coff : 1;
901 uint64_t q0_perr : 1;
903 uint64_t q1_coff : 1;
904 uint64_t q1_perr : 1;
906 uint64_t q2_coff : 1;
907 uint64_t q2_perr : 1;
909 uint64_t q3_coff : 1;
910 uint64_t q3_perr : 1;
912 uint64_t q4_coff : 1;
913 uint64_t q4_perr : 1;
915 uint64_t q5_coff : 1;
916 uint64_t q5_perr : 1;
918 uint64_t q6_coff : 1;
919 uint64_t q6_perr : 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;
939 uint64_t reserved_44_48 : 5;
940 uint64_t paddr_e : 1;
941 uint64_t reserved_50_63 : 14;
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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;
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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;
1257 uint64_t res_44 : 5;
1258 uint64_t paddr_e : 1;
1259 uint64_t reserved_50_63 : 14;
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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;
1442 uint64_t reserved_44_63 : 20;
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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;
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;
1654 struct cvmx_fpa_int_enb_cn68xx cn68xxp1;
1655 struct cvmx_fpa_int_enb_cn61xx cnf71xx;
1657 typedef union cvmx_fpa_int_enb cvmx_fpa_int_enb_t;
1662 * FPA_INT_SUM = FPA's Interrupt Summary Register
1664 * Contains the different interrupt summary bits of the FPA.
1666 union cvmx_fpa_int_sum {
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
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
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
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
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
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
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
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
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
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. */
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;
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;
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
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
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
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
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
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
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
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
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. */
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;
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
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
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
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
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
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
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
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
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. */
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;
2080 uint64_t reserved_44_48 : 5;
2081 uint64_t paddr_e : 1;
2082 uint64_t reserved_50_63 : 14;
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
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
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
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
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
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
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
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
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. */
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;
2225 uint64_t reserved_44_63 : 20;
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;
2234 typedef union cvmx_fpa_int_sum cvmx_fpa_int_sum_t;
2237 * cvmx_fpa_packet_threshold
2239 * FPA_PACKET_THRESHOLD = FPA's Packet Threshold
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.
2245 union cvmx_fpa_packet_threshold {
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. */
2252 uint64_t thresh : 32;
2253 uint64_t reserved_32_63 : 32;
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;
2263 typedef union cvmx_fpa_packet_threshold cvmx_fpa_packet_threshold_t;
2266 * cvmx_fpa_pool#_end_addr
2268 * Space here reserved
2270 * FPA_POOLX_END_ADDR = FPA's Pool-X Ending Addres
2272 * Pointers sent to this pool must be equal to or less than this address.
2274 union cvmx_fpa_poolx_end_addr {
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. */
2282 uint64_t reserved_33_63 : 31;
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;
2291 typedef union cvmx_fpa_poolx_end_addr cvmx_fpa_poolx_end_addr_t;
2294 * cvmx_fpa_pool#_start_addr
2296 * FPA_POOLX_START_ADDR = FPA's Pool-X Starting Addres
2298 * Pointers sent to this pool must be equal to or greater than this address.
2300 union cvmx_fpa_poolx_start_addr {
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. */
2308 uint64_t reserved_33_63 : 31;
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;
2317 typedef union cvmx_fpa_poolx_start_addr cvmx_fpa_poolx_start_addr_t;
2320 * cvmx_fpa_pool#_threshold
2322 * FPA_POOLX_THRESHOLD = FPA's Pool 0-7 Threshold
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].
2327 union cvmx_fpa_poolx_threshold {
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. */
2334 uint64_t thresh : 32;
2335 uint64_t reserved_32_63 : 32;
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. */
2343 uint64_t thresh : 29;
2344 uint64_t reserved_29_63 : 35;
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;
2353 typedef union cvmx_fpa_poolx_threshold cvmx_fpa_poolx_threshold_t;
2356 * cvmx_fpa_que#_available
2358 * FPA_QUEX_PAGES_AVAILABLE = FPA's Queue 0-7 Free Page Available Register
2360 * The number of page pointers that are available in the FPA and local DRAM.
2362 union cvmx_fpa_quex_available {
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]. */
2370 uint64_t que_siz : 32;
2371 uint64_t reserved_32_63 : 32;
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. */
2379 uint64_t que_siz : 29;
2380 uint64_t reserved_29_63 : 35;
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;
2401 typedef union cvmx_fpa_quex_available cvmx_fpa_quex_available_t;
2404 * cvmx_fpa_que#_page_index
2406 * FPA_QUE0_PAGE_INDEX = FPA's Queue0 Page Index
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
2412 union cvmx_fpa_quex_page_index {
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. */
2419 uint64_t pg_num : 25;
2420 uint64_t reserved_25_63 : 39;
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;
2442 typedef union cvmx_fpa_quex_page_index cvmx_fpa_quex_page_index_t;
2445 * cvmx_fpa_que8_page_index
2447 * FPA_QUE8_PAGE_INDEX = FPA's Queue7 Page Index
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
2452 * Because the address space is 38-bits the number of 128 byte pages could cause this register value to wrap.
2454 union cvmx_fpa_que8_page_index {
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. */
2461 uint64_t pg_num : 25;
2462 uint64_t reserved_25_63 : 39;
2465 struct cvmx_fpa_que8_page_index_s cn68xx;
2466 struct cvmx_fpa_que8_page_index_s cn68xxp1;
2468 typedef union cvmx_fpa_que8_page_index cvmx_fpa_que8_page_index_t;
2473 * FPA_QUE_ACT = FPA's Queue# Actual Page Index
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.
2478 union cvmx_fpa_que_act {
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. */
2486 uint64_t act_indx : 26;
2487 uint64_t act_que : 3;
2488 uint64_t reserved_29_63 : 35;
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;
2510 typedef union cvmx_fpa_que_act cvmx_fpa_que_act_t;
2515 * FPA_QUE_EXP = FPA's Queue# Expected Page Index
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.
2520 union cvmx_fpa_que_exp {
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. */
2528 uint64_t exp_indx : 26;
2529 uint64_t exp_que : 3;
2530 uint64_t reserved_29_63 : 35;
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;
2552 typedef union cvmx_fpa_que_exp cvmx_fpa_que_exp_t;
2557 * FPA_WART_CTL = FPA's WART Control
2559 * Control and status for the WART block.
2561 union cvmx_fpa_wart_ctl {
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. */
2569 uint64_t reserved_16_63 : 48;
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;
2584 typedef union cvmx_fpa_wart_ctl cvmx_fpa_wart_ctl_t;
2587 * cvmx_fpa_wart_status
2589 * FPA_WART_STATUS = FPA's WART Status
2591 * Control and status for the WART block.
2593 union cvmx_fpa_wart_status {
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. */
2600 uint64_t status : 32;
2601 uint64_t reserved_32_63 : 32;
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;
2616 typedef union cvmx_fpa_wart_status cvmx_fpa_wart_status_t;
2619 * cvmx_fpa_wqe_threshold
2621 * FPA_WQE_THRESHOLD = FPA's WQE Threshold
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.
2627 union cvmx_fpa_wqe_threshold {
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. */
2634 uint64_t thresh : 32;
2635 uint64_t reserved_32_63 : 32;
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;
2645 typedef union cvmx_fpa_wqe_threshold cvmx_fpa_wqe_threshold_t;