1 /***********************license start***************
2 * Copyright (c) 2003-2010 Cavium Networks (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 Networks 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 NETWORKS 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_CIU_TYPEDEFS_H__
53 #define __CVMX_CIU_TYPEDEFS_H__
55 #define CVMX_CIU_BIST (CVMX_ADD_IO_SEG(0x0001070000000730ull))
56 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
57 #define CVMX_CIU_BLOCK_INT CVMX_CIU_BLOCK_INT_FUNC()
58 static inline uint64_t CVMX_CIU_BLOCK_INT_FUNC(void)
60 if (!(OCTEON_IS_MODEL(OCTEON_CN63XX)))
61 cvmx_warn("CVMX_CIU_BLOCK_INT not supported on this chip\n");
62 return CVMX_ADD_IO_SEG(0x00010700000007C0ull);
65 #define CVMX_CIU_BLOCK_INT (CVMX_ADD_IO_SEG(0x00010700000007C0ull))
67 #define CVMX_CIU_DINT (CVMX_ADD_IO_SEG(0x0001070000000720ull))
68 #define CVMX_CIU_FUSE (CVMX_ADD_IO_SEG(0x0001070000000728ull))
69 #define CVMX_CIU_GSTOP (CVMX_ADD_IO_SEG(0x0001070000000710ull))
70 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
71 #define CVMX_CIU_INT33_SUM0 CVMX_CIU_INT33_SUM0_FUNC()
72 static inline uint64_t CVMX_CIU_INT33_SUM0_FUNC(void)
74 if (!(OCTEON_IS_MODEL(OCTEON_CN63XX)))
75 cvmx_warn("CVMX_CIU_INT33_SUM0 not supported on this chip\n");
76 return CVMX_ADD_IO_SEG(0x0001070000000110ull);
79 #define CVMX_CIU_INT33_SUM0 (CVMX_ADD_IO_SEG(0x0001070000000110ull))
81 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
82 static inline uint64_t CVMX_CIU_INTX_EN0(unsigned long offset)
85 (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset <= 1) || (offset == 32))) ||
86 (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 3) || (offset == 32))) ||
87 (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((offset <= 32))) ||
88 (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 3) || (offset == 32))) ||
89 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 7) || (offset == 32))) ||
90 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 23) || (offset == 32))) ||
91 (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 32))) ||
92 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((offset <= 11) || ((offset >= 32) && (offset <= 33))))))
93 cvmx_warn("CVMX_CIU_INTX_EN0(%lu) is invalid on this chip\n", offset);
94 return CVMX_ADD_IO_SEG(0x0001070000000200ull) + ((offset) & 63) * 16;
97 #define CVMX_CIU_INTX_EN0(offset) (CVMX_ADD_IO_SEG(0x0001070000000200ull) + ((offset) & 63) * 16)
99 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
100 static inline uint64_t CVMX_CIU_INTX_EN0_W1C(unsigned long offset)
103 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 7) || (offset == 32))) ||
104 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 23) || (offset == 32))) ||
105 (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 32))) ||
106 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((offset <= 11) || ((offset >= 32) && (offset <= 33))))))
107 cvmx_warn("CVMX_CIU_INTX_EN0_W1C(%lu) is invalid on this chip\n", offset);
108 return CVMX_ADD_IO_SEG(0x0001070000002200ull) + ((offset) & 63) * 16;
111 #define CVMX_CIU_INTX_EN0_W1C(offset) (CVMX_ADD_IO_SEG(0x0001070000002200ull) + ((offset) & 63) * 16)
113 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
114 static inline uint64_t CVMX_CIU_INTX_EN0_W1S(unsigned long offset)
117 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 7) || (offset == 32))) ||
118 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 23) || (offset == 32))) ||
119 (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 32))) ||
120 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((offset <= 11) || ((offset >= 32) && (offset <= 33))))))
121 cvmx_warn("CVMX_CIU_INTX_EN0_W1S(%lu) is invalid on this chip\n", offset);
122 return CVMX_ADD_IO_SEG(0x0001070000006200ull) + ((offset) & 63) * 16;
125 #define CVMX_CIU_INTX_EN0_W1S(offset) (CVMX_ADD_IO_SEG(0x0001070000006200ull) + ((offset) & 63) * 16)
127 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
128 static inline uint64_t CVMX_CIU_INTX_EN1(unsigned long offset)
131 (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset <= 1) || (offset == 32))) ||
132 (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 3) || (offset == 32))) ||
133 (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((offset <= 32))) ||
134 (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 3) || (offset == 32))) ||
135 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 7) || (offset == 32))) ||
136 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 23) || (offset == 32))) ||
137 (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 32))) ||
138 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((offset <= 11) || ((offset >= 32) && (offset <= 33))))))
139 cvmx_warn("CVMX_CIU_INTX_EN1(%lu) is invalid on this chip\n", offset);
140 return CVMX_ADD_IO_SEG(0x0001070000000208ull) + ((offset) & 63) * 16;
143 #define CVMX_CIU_INTX_EN1(offset) (CVMX_ADD_IO_SEG(0x0001070000000208ull) + ((offset) & 63) * 16)
145 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
146 static inline uint64_t CVMX_CIU_INTX_EN1_W1C(unsigned long offset)
149 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 7) || (offset == 32))) ||
150 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 23) || (offset == 32))) ||
151 (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 32))) ||
152 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((offset <= 11) || ((offset >= 32) && (offset <= 33))))))
153 cvmx_warn("CVMX_CIU_INTX_EN1_W1C(%lu) is invalid on this chip\n", offset);
154 return CVMX_ADD_IO_SEG(0x0001070000002208ull) + ((offset) & 63) * 16;
157 #define CVMX_CIU_INTX_EN1_W1C(offset) (CVMX_ADD_IO_SEG(0x0001070000002208ull) + ((offset) & 63) * 16)
159 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
160 static inline uint64_t CVMX_CIU_INTX_EN1_W1S(unsigned long offset)
163 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 7) || (offset == 32))) ||
164 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 23) || (offset == 32))) ||
165 (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 32))) ||
166 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((offset <= 11) || ((offset >= 32) && (offset <= 33))))))
167 cvmx_warn("CVMX_CIU_INTX_EN1_W1S(%lu) is invalid on this chip\n", offset);
168 return CVMX_ADD_IO_SEG(0x0001070000006208ull) + ((offset) & 63) * 16;
171 #define CVMX_CIU_INTX_EN1_W1S(offset) (CVMX_ADD_IO_SEG(0x0001070000006208ull) + ((offset) & 63) * 16)
173 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
174 static inline uint64_t CVMX_CIU_INTX_EN4_0(unsigned long offset)
177 (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 1))) ||
178 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 3))) ||
179 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 11))) ||
180 (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 15))) ||
181 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((offset <= 5)))))
182 cvmx_warn("CVMX_CIU_INTX_EN4_0(%lu) is invalid on this chip\n", offset);
183 return CVMX_ADD_IO_SEG(0x0001070000000C80ull) + ((offset) & 15) * 16;
186 #define CVMX_CIU_INTX_EN4_0(offset) (CVMX_ADD_IO_SEG(0x0001070000000C80ull) + ((offset) & 15) * 16)
188 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
189 static inline uint64_t CVMX_CIU_INTX_EN4_0_W1C(unsigned long offset)
192 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 3))) ||
193 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 11))) ||
194 (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 15))) ||
195 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((offset <= 5)))))
196 cvmx_warn("CVMX_CIU_INTX_EN4_0_W1C(%lu) is invalid on this chip\n", offset);
197 return CVMX_ADD_IO_SEG(0x0001070000002C80ull) + ((offset) & 15) * 16;
200 #define CVMX_CIU_INTX_EN4_0_W1C(offset) (CVMX_ADD_IO_SEG(0x0001070000002C80ull) + ((offset) & 15) * 16)
202 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
203 static inline uint64_t CVMX_CIU_INTX_EN4_0_W1S(unsigned long offset)
206 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 3))) ||
207 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 11))) ||
208 (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 15))) ||
209 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((offset <= 5)))))
210 cvmx_warn("CVMX_CIU_INTX_EN4_0_W1S(%lu) is invalid on this chip\n", offset);
211 return CVMX_ADD_IO_SEG(0x0001070000006C80ull) + ((offset) & 15) * 16;
214 #define CVMX_CIU_INTX_EN4_0_W1S(offset) (CVMX_ADD_IO_SEG(0x0001070000006C80ull) + ((offset) & 15) * 16)
216 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
217 static inline uint64_t CVMX_CIU_INTX_EN4_1(unsigned long offset)
220 (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 1))) ||
221 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 3))) ||
222 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 11))) ||
223 (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 15))) ||
224 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((offset <= 5)))))
225 cvmx_warn("CVMX_CIU_INTX_EN4_1(%lu) is invalid on this chip\n", offset);
226 return CVMX_ADD_IO_SEG(0x0001070000000C88ull) + ((offset) & 15) * 16;
229 #define CVMX_CIU_INTX_EN4_1(offset) (CVMX_ADD_IO_SEG(0x0001070000000C88ull) + ((offset) & 15) * 16)
231 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
232 static inline uint64_t CVMX_CIU_INTX_EN4_1_W1C(unsigned long offset)
235 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 3))) ||
236 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 11))) ||
237 (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 15))) ||
238 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((offset <= 5)))))
239 cvmx_warn("CVMX_CIU_INTX_EN4_1_W1C(%lu) is invalid on this chip\n", offset);
240 return CVMX_ADD_IO_SEG(0x0001070000002C88ull) + ((offset) & 15) * 16;
243 #define CVMX_CIU_INTX_EN4_1_W1C(offset) (CVMX_ADD_IO_SEG(0x0001070000002C88ull) + ((offset) & 15) * 16)
245 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
246 static inline uint64_t CVMX_CIU_INTX_EN4_1_W1S(unsigned long offset)
249 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 3))) ||
250 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 11))) ||
251 (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 15))) ||
252 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((offset <= 5)))))
253 cvmx_warn("CVMX_CIU_INTX_EN4_1_W1S(%lu) is invalid on this chip\n", offset);
254 return CVMX_ADD_IO_SEG(0x0001070000006C88ull) + ((offset) & 15) * 16;
257 #define CVMX_CIU_INTX_EN4_1_W1S(offset) (CVMX_ADD_IO_SEG(0x0001070000006C88ull) + ((offset) & 15) * 16)
259 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
260 static inline uint64_t CVMX_CIU_INTX_SUM0(unsigned long offset)
263 (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset <= 1) || (offset == 32))) ||
264 (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 3) || (offset == 32))) ||
265 (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((offset <= 32))) ||
266 (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 3) || (offset == 32))) ||
267 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 7) || (offset == 32))) ||
268 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 23) || (offset == 32))) ||
269 (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 32))) ||
270 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((offset <= 11) || (offset == 32)))))
271 cvmx_warn("CVMX_CIU_INTX_SUM0(%lu) is invalid on this chip\n", offset);
272 return CVMX_ADD_IO_SEG(0x0001070000000000ull) + ((offset) & 63) * 8;
275 #define CVMX_CIU_INTX_SUM0(offset) (CVMX_ADD_IO_SEG(0x0001070000000000ull) + ((offset) & 63) * 8)
277 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
278 static inline uint64_t CVMX_CIU_INTX_SUM4(unsigned long offset)
281 (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 1))) ||
282 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 3))) ||
283 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 11))) ||
284 (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 15))) ||
285 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((offset <= 5)))))
286 cvmx_warn("CVMX_CIU_INTX_SUM4(%lu) is invalid on this chip\n", offset);
287 return CVMX_ADD_IO_SEG(0x0001070000000C00ull) + ((offset) & 15) * 8;
290 #define CVMX_CIU_INTX_SUM4(offset) (CVMX_ADD_IO_SEG(0x0001070000000C00ull) + ((offset) & 15) * 8)
292 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
293 #define CVMX_CIU_INT_DBG_SEL CVMX_CIU_INT_DBG_SEL_FUNC()
294 static inline uint64_t CVMX_CIU_INT_DBG_SEL_FUNC(void)
296 if (!(OCTEON_IS_MODEL(OCTEON_CN63XX)))
297 cvmx_warn("CVMX_CIU_INT_DBG_SEL not supported on this chip\n");
298 return CVMX_ADD_IO_SEG(0x00010700000007D0ull);
301 #define CVMX_CIU_INT_DBG_SEL (CVMX_ADD_IO_SEG(0x00010700000007D0ull))
303 #define CVMX_CIU_INT_SUM1 (CVMX_ADD_IO_SEG(0x0001070000000108ull))
304 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
305 static inline uint64_t CVMX_CIU_MBOX_CLRX(unsigned long offset)
308 (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset == 0))) ||
309 (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 1))) ||
310 (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((offset <= 15))) ||
311 (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 1))) ||
312 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 3))) ||
313 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 11))) ||
314 (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 15))) ||
315 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((offset <= 5)))))
316 cvmx_warn("CVMX_CIU_MBOX_CLRX(%lu) is invalid on this chip\n", offset);
317 return CVMX_ADD_IO_SEG(0x0001070000000680ull) + ((offset) & 15) * 8;
320 #define CVMX_CIU_MBOX_CLRX(offset) (CVMX_ADD_IO_SEG(0x0001070000000680ull) + ((offset) & 15) * 8)
322 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
323 static inline uint64_t CVMX_CIU_MBOX_SETX(unsigned long offset)
326 (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset == 0))) ||
327 (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 1))) ||
328 (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((offset <= 15))) ||
329 (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 1))) ||
330 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 3))) ||
331 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 11))) ||
332 (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 15))) ||
333 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((offset <= 5)))))
334 cvmx_warn("CVMX_CIU_MBOX_SETX(%lu) is invalid on this chip\n", offset);
335 return CVMX_ADD_IO_SEG(0x0001070000000600ull) + ((offset) & 15) * 8;
338 #define CVMX_CIU_MBOX_SETX(offset) (CVMX_ADD_IO_SEG(0x0001070000000600ull) + ((offset) & 15) * 8)
340 #define CVMX_CIU_NMI (CVMX_ADD_IO_SEG(0x0001070000000718ull))
341 #define CVMX_CIU_PCI_INTA (CVMX_ADD_IO_SEG(0x0001070000000750ull))
342 #define CVMX_CIU_PP_DBG (CVMX_ADD_IO_SEG(0x0001070000000708ull))
343 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
344 static inline uint64_t CVMX_CIU_PP_POKEX(unsigned long offset)
347 (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset == 0))) ||
348 (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 1))) ||
349 (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((offset <= 15))) ||
350 (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 1))) ||
351 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 3))) ||
352 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 11))) ||
353 (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 15))) ||
354 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((offset <= 5)))))
355 cvmx_warn("CVMX_CIU_PP_POKEX(%lu) is invalid on this chip\n", offset);
356 return CVMX_ADD_IO_SEG(0x0001070000000580ull) + ((offset) & 15) * 8;
359 #define CVMX_CIU_PP_POKEX(offset) (CVMX_ADD_IO_SEG(0x0001070000000580ull) + ((offset) & 15) * 8)
361 #define CVMX_CIU_PP_RST (CVMX_ADD_IO_SEG(0x0001070000000700ull))
362 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
363 #define CVMX_CIU_QLM0 CVMX_CIU_QLM0_FUNC()
364 static inline uint64_t CVMX_CIU_QLM0_FUNC(void)
366 if (!(OCTEON_IS_MODEL(OCTEON_CN63XX)))
367 cvmx_warn("CVMX_CIU_QLM0 not supported on this chip\n");
368 return CVMX_ADD_IO_SEG(0x0001070000000780ull);
371 #define CVMX_CIU_QLM0 (CVMX_ADD_IO_SEG(0x0001070000000780ull))
373 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
374 #define CVMX_CIU_QLM1 CVMX_CIU_QLM1_FUNC()
375 static inline uint64_t CVMX_CIU_QLM1_FUNC(void)
377 if (!(OCTEON_IS_MODEL(OCTEON_CN63XX)))
378 cvmx_warn("CVMX_CIU_QLM1 not supported on this chip\n");
379 return CVMX_ADD_IO_SEG(0x0001070000000788ull);
382 #define CVMX_CIU_QLM1 (CVMX_ADD_IO_SEG(0x0001070000000788ull))
384 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
385 #define CVMX_CIU_QLM2 CVMX_CIU_QLM2_FUNC()
386 static inline uint64_t CVMX_CIU_QLM2_FUNC(void)
388 if (!(OCTEON_IS_MODEL(OCTEON_CN63XX)))
389 cvmx_warn("CVMX_CIU_QLM2 not supported on this chip\n");
390 return CVMX_ADD_IO_SEG(0x0001070000000790ull);
393 #define CVMX_CIU_QLM2 (CVMX_ADD_IO_SEG(0x0001070000000790ull))
395 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
396 #define CVMX_CIU_QLM_DCOK CVMX_CIU_QLM_DCOK_FUNC()
397 static inline uint64_t CVMX_CIU_QLM_DCOK_FUNC(void)
399 if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
400 cvmx_warn("CVMX_CIU_QLM_DCOK not supported on this chip\n");
401 return CVMX_ADD_IO_SEG(0x0001070000000760ull);
404 #define CVMX_CIU_QLM_DCOK (CVMX_ADD_IO_SEG(0x0001070000000760ull))
406 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
407 #define CVMX_CIU_QLM_JTGC CVMX_CIU_QLM_JTGC_FUNC()
408 static inline uint64_t CVMX_CIU_QLM_JTGC_FUNC(void)
410 if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX) || OCTEON_IS_MODEL(OCTEON_CN63XX)))
411 cvmx_warn("CVMX_CIU_QLM_JTGC not supported on this chip\n");
412 return CVMX_ADD_IO_SEG(0x0001070000000768ull);
415 #define CVMX_CIU_QLM_JTGC (CVMX_ADD_IO_SEG(0x0001070000000768ull))
417 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
418 #define CVMX_CIU_QLM_JTGD CVMX_CIU_QLM_JTGD_FUNC()
419 static inline uint64_t CVMX_CIU_QLM_JTGD_FUNC(void)
421 if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX) || OCTEON_IS_MODEL(OCTEON_CN63XX)))
422 cvmx_warn("CVMX_CIU_QLM_JTGD not supported on this chip\n");
423 return CVMX_ADD_IO_SEG(0x0001070000000770ull);
426 #define CVMX_CIU_QLM_JTGD (CVMX_ADD_IO_SEG(0x0001070000000770ull))
428 #define CVMX_CIU_SOFT_BIST (CVMX_ADD_IO_SEG(0x0001070000000738ull))
429 #define CVMX_CIU_SOFT_PRST (CVMX_ADD_IO_SEG(0x0001070000000748ull))
430 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
431 #define CVMX_CIU_SOFT_PRST1 CVMX_CIU_SOFT_PRST1_FUNC()
432 static inline uint64_t CVMX_CIU_SOFT_PRST1_FUNC(void)
434 if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX) || OCTEON_IS_MODEL(OCTEON_CN63XX)))
435 cvmx_warn("CVMX_CIU_SOFT_PRST1 not supported on this chip\n");
436 return CVMX_ADD_IO_SEG(0x0001070000000758ull);
439 #define CVMX_CIU_SOFT_PRST1 (CVMX_ADD_IO_SEG(0x0001070000000758ull))
441 #define CVMX_CIU_SOFT_RST (CVMX_ADD_IO_SEG(0x0001070000000740ull))
442 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
443 static inline uint64_t CVMX_CIU_TIMX(unsigned long offset)
446 (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset <= 3))) ||
447 (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 3))) ||
448 (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((offset <= 3))) ||
449 (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 3))) ||
450 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 3))) ||
451 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 3))) ||
452 (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 3))) ||
453 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((offset <= 3)))))
454 cvmx_warn("CVMX_CIU_TIMX(%lu) is invalid on this chip\n", offset);
455 return CVMX_ADD_IO_SEG(0x0001070000000480ull) + ((offset) & 3) * 8;
458 #define CVMX_CIU_TIMX(offset) (CVMX_ADD_IO_SEG(0x0001070000000480ull) + ((offset) & 3) * 8)
460 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
461 static inline uint64_t CVMX_CIU_WDOGX(unsigned long offset)
464 (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset == 0))) ||
465 (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 1))) ||
466 (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((offset <= 15))) ||
467 (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 1))) ||
468 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 3))) ||
469 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 11))) ||
470 (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 15))) ||
471 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((offset <= 5)))))
472 cvmx_warn("CVMX_CIU_WDOGX(%lu) is invalid on this chip\n", offset);
473 return CVMX_ADD_IO_SEG(0x0001070000000500ull) + ((offset) & 15) * 8;
476 #define CVMX_CIU_WDOGX(offset) (CVMX_ADD_IO_SEG(0x0001070000000500ull) + ((offset) & 15) * 8)
485 struct cvmx_ciu_bist_s
487 #if __BYTE_ORDER == __BIG_ENDIAN
488 uint64_t reserved_5_63 : 59;
489 uint64_t bist : 5; /**< BIST Results.
490 HW sets a bit in BIST for for memory that fails
494 uint64_t reserved_5_63 : 59;
497 struct cvmx_ciu_bist_cn30xx
499 #if __BYTE_ORDER == __BIG_ENDIAN
500 uint64_t reserved_4_63 : 60;
501 uint64_t bist : 4; /**< BIST Results.
502 HW sets a bit in BIST for for memory that fails
506 uint64_t reserved_4_63 : 60;
509 struct cvmx_ciu_bist_cn30xx cn31xx;
510 struct cvmx_ciu_bist_cn30xx cn38xx;
511 struct cvmx_ciu_bist_cn30xx cn38xxp2;
512 struct cvmx_ciu_bist_cn50xx
514 #if __BYTE_ORDER == __BIG_ENDIAN
515 uint64_t reserved_2_63 : 62;
516 uint64_t bist : 2; /**< BIST Results.
517 HW sets a bit in BIST for for memory that fails
521 uint64_t reserved_2_63 : 62;
524 struct cvmx_ciu_bist_cn52xx
526 #if __BYTE_ORDER == __BIG_ENDIAN
527 uint64_t reserved_3_63 : 61;
528 uint64_t bist : 3; /**< BIST Results.
529 HW sets a bit in BIST for for memory that fails
533 uint64_t reserved_3_63 : 61;
536 struct cvmx_ciu_bist_cn52xx cn52xxp1;
537 struct cvmx_ciu_bist_cn30xx cn56xx;
538 struct cvmx_ciu_bist_cn30xx cn56xxp1;
539 struct cvmx_ciu_bist_cn30xx cn58xx;
540 struct cvmx_ciu_bist_cn30xx cn58xxp1;
541 struct cvmx_ciu_bist_s cn63xx;
542 struct cvmx_ciu_bist_s cn63xxp1;
544 typedef union cvmx_ciu_bist cvmx_ciu_bist_t;
549 * CIU_BLOCK_INT = CIU Blocks Interrupt
551 * The interrupt lines from the various chip blocks.
553 union cvmx_ciu_block_int
556 struct cvmx_ciu_block_int_s
558 #if __BYTE_ORDER == __BIG_ENDIAN
559 uint64_t reserved_43_63 : 21;
560 uint64_t ptp : 1; /**< PTP interrupt
561 See CIU_INT_SUM1[PTP] */
562 uint64_t dpi : 1; /**< DPI interrupt
564 uint64_t dfm : 1; /**< DFM interrupt
566 uint64_t reserved_34_39 : 6;
567 uint64_t srio1 : 1; /**< SRIO1 interrupt
569 uint64_t srio0 : 1; /**< SRIO0 interrupt
571 uint64_t reserved_31_31 : 1;
572 uint64_t iob : 1; /**< IOB interrupt
574 uint64_t reserved_29_29 : 1;
575 uint64_t agl : 1; /**< AGL interrupt
576 See AGL_GMX_RX*_INT_REG, AGL_GMX_TX_INT_REG */
577 uint64_t reserved_27_27 : 1;
578 uint64_t pem1 : 1; /**< PEM1 interrupt
579 See PEM1_INT_SUM (enabled by PEM1_INT_ENB) */
580 uint64_t pem0 : 1; /**< PEM0 interrupt
581 See PEM0_INT_SUM (enabled by PEM0_INT_ENB) */
582 uint64_t reserved_23_24 : 2;
583 uint64_t asxpcs0 : 1; /**< See PCS0_INT*_REG, PCSX0_INT_REG */
584 uint64_t reserved_21_21 : 1;
585 uint64_t pip : 1; /**< PIP interrupt
587 uint64_t reserved_18_19 : 2;
588 uint64_t lmc0 : 1; /**< LMC0 interrupt
590 uint64_t l2c : 1; /**< L2C interrupt
592 uint64_t reserved_15_15 : 1;
593 uint64_t rad : 1; /**< RAD interrupt
595 uint64_t usb : 1; /**< USB UCTL0 interrupt
597 uint64_t pow : 1; /**< POW err interrupt
599 uint64_t tim : 1; /**< TIM interrupt
601 uint64_t pko : 1; /**< PKO interrupt
603 uint64_t ipd : 1; /**< IPD interrupt
605 uint64_t reserved_8_8 : 1;
606 uint64_t zip : 1; /**< ZIP interrupt
608 uint64_t dfa : 1; /**< DFA interrupt
610 uint64_t fpa : 1; /**< FPA interrupt
612 uint64_t key : 1; /**< KEY interrupt
614 uint64_t sli : 1; /**< SLI interrupt
615 See SLI_INT_SUM (enabled by SLI_INT_ENB_CIU) */
616 uint64_t reserved_2_2 : 1;
617 uint64_t gmx0 : 1; /**< GMX0 interrupt
618 See GMX0_RX*_INT_REG, GMX0_TX_INT_REG */
619 uint64_t mio : 1; /**< MIO boot interrupt
624 uint64_t reserved_2_2 : 1;
630 uint64_t reserved_8_8 : 1;
637 uint64_t reserved_15_15 : 1;
640 uint64_t reserved_18_19 : 2;
642 uint64_t reserved_21_21 : 1;
643 uint64_t asxpcs0 : 1;
644 uint64_t reserved_23_24 : 2;
647 uint64_t reserved_27_27 : 1;
649 uint64_t reserved_29_29 : 1;
651 uint64_t reserved_31_31 : 1;
654 uint64_t reserved_34_39 : 6;
658 uint64_t reserved_43_63 : 21;
661 struct cvmx_ciu_block_int_s cn63xx;
662 struct cvmx_ciu_block_int_s cn63xxp1;
664 typedef union cvmx_ciu_block_int cvmx_ciu_block_int_t;
672 struct cvmx_ciu_dint_s
674 #if __BYTE_ORDER == __BIG_ENDIAN
675 uint64_t reserved_16_63 : 48;
676 uint64_t dint : 16; /**< Send DINT pulse to PP vector */
679 uint64_t reserved_16_63 : 48;
682 struct cvmx_ciu_dint_cn30xx
684 #if __BYTE_ORDER == __BIG_ENDIAN
685 uint64_t reserved_1_63 : 63;
686 uint64_t dint : 1; /**< Send DINT pulse to PP vector */
689 uint64_t reserved_1_63 : 63;
692 struct cvmx_ciu_dint_cn31xx
694 #if __BYTE_ORDER == __BIG_ENDIAN
695 uint64_t reserved_2_63 : 62;
696 uint64_t dint : 2; /**< Send DINT pulse to PP vector */
699 uint64_t reserved_2_63 : 62;
702 struct cvmx_ciu_dint_s cn38xx;
703 struct cvmx_ciu_dint_s cn38xxp2;
704 struct cvmx_ciu_dint_cn31xx cn50xx;
705 struct cvmx_ciu_dint_cn52xx
707 #if __BYTE_ORDER == __BIG_ENDIAN
708 uint64_t reserved_4_63 : 60;
709 uint64_t dint : 4; /**< Send DINT pulse to PP vector */
712 uint64_t reserved_4_63 : 60;
715 struct cvmx_ciu_dint_cn52xx cn52xxp1;
716 struct cvmx_ciu_dint_cn56xx
718 #if __BYTE_ORDER == __BIG_ENDIAN
719 uint64_t reserved_12_63 : 52;
720 uint64_t dint : 12; /**< Send DINT pulse to PP vector */
723 uint64_t reserved_12_63 : 52;
726 struct cvmx_ciu_dint_cn56xx cn56xxp1;
727 struct cvmx_ciu_dint_s cn58xx;
728 struct cvmx_ciu_dint_s cn58xxp1;
729 struct cvmx_ciu_dint_cn63xx
731 #if __BYTE_ORDER == __BIG_ENDIAN
732 uint64_t reserved_6_63 : 58;
733 uint64_t dint : 6; /**< Send DINT pulse to PP vector */
736 uint64_t reserved_6_63 : 58;
739 struct cvmx_ciu_dint_cn63xx cn63xxp1;
741 typedef union cvmx_ciu_dint cvmx_ciu_dint_t;
749 struct cvmx_ciu_fuse_s
751 #if __BYTE_ORDER == __BIG_ENDIAN
752 uint64_t reserved_16_63 : 48;
753 uint64_t fuse : 16; /**< Physical PP is present */
756 uint64_t reserved_16_63 : 48;
759 struct cvmx_ciu_fuse_cn30xx
761 #if __BYTE_ORDER == __BIG_ENDIAN
762 uint64_t reserved_1_63 : 63;
763 uint64_t fuse : 1; /**< Physical PP is present */
766 uint64_t reserved_1_63 : 63;
769 struct cvmx_ciu_fuse_cn31xx
771 #if __BYTE_ORDER == __BIG_ENDIAN
772 uint64_t reserved_2_63 : 62;
773 uint64_t fuse : 2; /**< Physical PP is present */
776 uint64_t reserved_2_63 : 62;
779 struct cvmx_ciu_fuse_s cn38xx;
780 struct cvmx_ciu_fuse_s cn38xxp2;
781 struct cvmx_ciu_fuse_cn31xx cn50xx;
782 struct cvmx_ciu_fuse_cn52xx
784 #if __BYTE_ORDER == __BIG_ENDIAN
785 uint64_t reserved_4_63 : 60;
786 uint64_t fuse : 4; /**< Physical PP is present */
789 uint64_t reserved_4_63 : 60;
792 struct cvmx_ciu_fuse_cn52xx cn52xxp1;
793 struct cvmx_ciu_fuse_cn56xx
795 #if __BYTE_ORDER == __BIG_ENDIAN
796 uint64_t reserved_12_63 : 52;
797 uint64_t fuse : 12; /**< Physical PP is present */
800 uint64_t reserved_12_63 : 52;
803 struct cvmx_ciu_fuse_cn56xx cn56xxp1;
804 struct cvmx_ciu_fuse_s cn58xx;
805 struct cvmx_ciu_fuse_s cn58xxp1;
806 struct cvmx_ciu_fuse_cn63xx
808 #if __BYTE_ORDER == __BIG_ENDIAN
809 uint64_t reserved_6_63 : 58;
810 uint64_t fuse : 6; /**< Physical PP is present */
813 uint64_t reserved_6_63 : 58;
816 struct cvmx_ciu_fuse_cn63xx cn63xxp1;
818 typedef union cvmx_ciu_fuse cvmx_ciu_fuse_t;
826 struct cvmx_ciu_gstop_s
828 #if __BYTE_ORDER == __BIG_ENDIAN
829 uint64_t reserved_1_63 : 63;
830 uint64_t gstop : 1; /**< GSTOP bit */
833 uint64_t reserved_1_63 : 63;
836 struct cvmx_ciu_gstop_s cn30xx;
837 struct cvmx_ciu_gstop_s cn31xx;
838 struct cvmx_ciu_gstop_s cn38xx;
839 struct cvmx_ciu_gstop_s cn38xxp2;
840 struct cvmx_ciu_gstop_s cn50xx;
841 struct cvmx_ciu_gstop_s cn52xx;
842 struct cvmx_ciu_gstop_s cn52xxp1;
843 struct cvmx_ciu_gstop_s cn56xx;
844 struct cvmx_ciu_gstop_s cn56xxp1;
845 struct cvmx_ciu_gstop_s cn58xx;
846 struct cvmx_ciu_gstop_s cn58xxp1;
847 struct cvmx_ciu_gstop_s cn63xx;
848 struct cvmx_ciu_gstop_s cn63xxp1;
850 typedef union cvmx_ciu_gstop cvmx_ciu_gstop_t;
856 * CIU_INT0_EN0: PP0 /IP2
857 * CIU_INT1_EN0: PP0 /IP3
859 * CIU_INT6_EN0: PP3/IP2
860 * CIU_INT7_EN0: PP3/IP3
862 * CIU_INT32_EN0: PCI /IP
864 union cvmx_ciu_intx_en0
867 struct cvmx_ciu_intx_en0_s
869 #if __BYTE_ORDER == __BIG_ENDIAN
870 uint64_t bootdma : 1; /**< Boot bus DMA engines Interrupt enable */
871 uint64_t mii : 1; /**< RGMII/MII/MIX Interface 0 Interrupt enable */
872 uint64_t ipdppthr : 1; /**< IPD per-port counter threshold interrupt enable */
873 uint64_t powiq : 1; /**< POW IQ interrupt enable */
874 uint64_t twsi2 : 1; /**< 2nd TWSI Interrupt enable */
875 uint64_t mpi : 1; /**< MPI/SPI interrupt */
876 uint64_t pcm : 1; /**< PCM/TDM interrupt */
877 uint64_t usb : 1; /**< USB EHCI or OHCI Interrupt enable */
878 uint64_t timer : 4; /**< General timer interrupt enables */
879 uint64_t key_zero : 1; /**< Key Zeroization interrupt */
880 uint64_t ipd_drp : 1; /**< IPD QOS packet drop interrupt enable */
881 uint64_t gmx_drp : 2; /**< GMX packet drop interrupt enable */
882 uint64_t trace : 1; /**< Trace buffer interrupt enable */
883 uint64_t rml : 1; /**< RML Interrupt enable */
884 uint64_t twsi : 1; /**< TWSI Interrupt enable */
885 uint64_t reserved_44_44 : 1;
886 uint64_t pci_msi : 4; /**< PCIe/sRIO MSI enables */
887 uint64_t pci_int : 4; /**< PCIe INTA/B/C/D enables */
888 uint64_t uart : 2; /**< Two UART interrupt enables */
889 uint64_t mbox : 2; /**< Two mailbox/PCIe/sRIO interrupt enables */
890 uint64_t gpio : 16; /**< 16 GPIO interrupt enables */
891 uint64_t workq : 16; /**< 16 work queue interrupt enables */
897 uint64_t pci_int : 4;
898 uint64_t pci_msi : 4;
899 uint64_t reserved_44_44 : 1;
903 uint64_t gmx_drp : 2;
904 uint64_t ipd_drp : 1;
905 uint64_t key_zero : 1;
912 uint64_t ipdppthr : 1;
914 uint64_t bootdma : 1;
917 struct cvmx_ciu_intx_en0_cn30xx
919 #if __BYTE_ORDER == __BIG_ENDIAN
920 uint64_t reserved_59_63 : 5;
921 uint64_t mpi : 1; /**< MPI/SPI interrupt */
922 uint64_t pcm : 1; /**< PCM/TDM interrupt */
923 uint64_t usb : 1; /**< USB interrupt */
924 uint64_t timer : 4; /**< General timer interrupts */
925 uint64_t reserved_51_51 : 1;
926 uint64_t ipd_drp : 1; /**< IPD QOS packet drop */
927 uint64_t reserved_49_49 : 1;
928 uint64_t gmx_drp : 1; /**< GMX packet drop */
929 uint64_t reserved_47_47 : 1;
930 uint64_t rml : 1; /**< RML Interrupt */
931 uint64_t twsi : 1; /**< TWSI Interrupt */
932 uint64_t reserved_44_44 : 1;
933 uint64_t pci_msi : 4; /**< PCI MSI */
934 uint64_t pci_int : 4; /**< PCI INTA/B/C/D */
935 uint64_t uart : 2; /**< Two UART interrupts */
936 uint64_t mbox : 2; /**< Two mailbox/PCI interrupts */
937 uint64_t gpio : 16; /**< 16 GPIO interrupts */
938 uint64_t workq : 16; /**< 16 work queue interrupts */
944 uint64_t pci_int : 4;
945 uint64_t pci_msi : 4;
946 uint64_t reserved_44_44 : 1;
949 uint64_t reserved_47_47 : 1;
950 uint64_t gmx_drp : 1;
951 uint64_t reserved_49_49 : 1;
952 uint64_t ipd_drp : 1;
953 uint64_t reserved_51_51 : 1;
958 uint64_t reserved_59_63 : 5;
961 struct cvmx_ciu_intx_en0_cn31xx
963 #if __BYTE_ORDER == __BIG_ENDIAN
964 uint64_t reserved_59_63 : 5;
965 uint64_t mpi : 1; /**< MPI/SPI interrupt */
966 uint64_t pcm : 1; /**< PCM/TDM interrupt */
967 uint64_t usb : 1; /**< USB interrupt */
968 uint64_t timer : 4; /**< General timer interrupts */
969 uint64_t reserved_51_51 : 1;
970 uint64_t ipd_drp : 1; /**< IPD QOS packet drop */
971 uint64_t reserved_49_49 : 1;
972 uint64_t gmx_drp : 1; /**< GMX packet drop */
973 uint64_t trace : 1; /**< L2C has the CMB trace buffer */
974 uint64_t rml : 1; /**< RML Interrupt */
975 uint64_t twsi : 1; /**< TWSI Interrupt */
976 uint64_t reserved_44_44 : 1;
977 uint64_t pci_msi : 4; /**< PCI MSI */
978 uint64_t pci_int : 4; /**< PCI INTA/B/C/D */
979 uint64_t uart : 2; /**< Two UART interrupts */
980 uint64_t mbox : 2; /**< Two mailbox/PCI interrupts */
981 uint64_t gpio : 16; /**< 16 GPIO interrupts */
982 uint64_t workq : 16; /**< 16 work queue interrupts */
988 uint64_t pci_int : 4;
989 uint64_t pci_msi : 4;
990 uint64_t reserved_44_44 : 1;
994 uint64_t gmx_drp : 1;
995 uint64_t reserved_49_49 : 1;
996 uint64_t ipd_drp : 1;
997 uint64_t reserved_51_51 : 1;
1002 uint64_t reserved_59_63 : 5;
1005 struct cvmx_ciu_intx_en0_cn38xx
1007 #if __BYTE_ORDER == __BIG_ENDIAN
1008 uint64_t reserved_56_63 : 8;
1009 uint64_t timer : 4; /**< General timer interrupts */
1010 uint64_t key_zero : 1; /**< Key Zeroization interrupt */
1011 uint64_t ipd_drp : 1; /**< IPD QOS packet drop */
1012 uint64_t gmx_drp : 2; /**< GMX packet drop */
1013 uint64_t trace : 1; /**< L2C has the CMB trace buffer */
1014 uint64_t rml : 1; /**< RML Interrupt */
1015 uint64_t twsi : 1; /**< TWSI Interrupt */
1016 uint64_t reserved_44_44 : 1;
1017 uint64_t pci_msi : 4; /**< PCI MSI */
1018 uint64_t pci_int : 4; /**< PCI INTA/B/C/D */
1019 uint64_t uart : 2; /**< Two UART interrupts */
1020 uint64_t mbox : 2; /**< Two mailbox/PCI interrupts */
1021 uint64_t gpio : 16; /**< 16 GPIO interrupts */
1022 uint64_t workq : 16; /**< 16 work queue interrupts */
1024 uint64_t workq : 16;
1028 uint64_t pci_int : 4;
1029 uint64_t pci_msi : 4;
1030 uint64_t reserved_44_44 : 1;
1034 uint64_t gmx_drp : 2;
1035 uint64_t ipd_drp : 1;
1036 uint64_t key_zero : 1;
1038 uint64_t reserved_56_63 : 8;
1041 struct cvmx_ciu_intx_en0_cn38xx cn38xxp2;
1042 struct cvmx_ciu_intx_en0_cn30xx cn50xx;
1043 struct cvmx_ciu_intx_en0_cn52xx
1045 #if __BYTE_ORDER == __BIG_ENDIAN
1046 uint64_t bootdma : 1; /**< Boot bus DMA engines Interrupt */
1047 uint64_t mii : 1; /**< MII Interface Interrupt */
1048 uint64_t ipdppthr : 1; /**< IPD per-port counter threshold interrupt */
1049 uint64_t powiq : 1; /**< POW IQ interrupt */
1050 uint64_t twsi2 : 1; /**< 2nd TWSI Interrupt */
1051 uint64_t reserved_57_58 : 2;
1052 uint64_t usb : 1; /**< USB Interrupt */
1053 uint64_t timer : 4; /**< General timer interrupts */
1054 uint64_t reserved_51_51 : 1;
1055 uint64_t ipd_drp : 1; /**< IPD QOS packet drop */
1056 uint64_t reserved_49_49 : 1;
1057 uint64_t gmx_drp : 1; /**< GMX packet drop */
1058 uint64_t trace : 1; /**< L2C has the CMB trace buffer */
1059 uint64_t rml : 1; /**< RML Interrupt */
1060 uint64_t twsi : 1; /**< TWSI Interrupt */
1061 uint64_t reserved_44_44 : 1;
1062 uint64_t pci_msi : 4; /**< PCI MSI */
1063 uint64_t pci_int : 4; /**< PCI INTA/B/C/D */
1064 uint64_t uart : 2; /**< Two UART interrupts */
1065 uint64_t mbox : 2; /**< Two mailbox/PCI interrupts */
1066 uint64_t gpio : 16; /**< 16 GPIO interrupts */
1067 uint64_t workq : 16; /**< 16 work queue interrupts */
1069 uint64_t workq : 16;
1073 uint64_t pci_int : 4;
1074 uint64_t pci_msi : 4;
1075 uint64_t reserved_44_44 : 1;
1079 uint64_t gmx_drp : 1;
1080 uint64_t reserved_49_49 : 1;
1081 uint64_t ipd_drp : 1;
1082 uint64_t reserved_51_51 : 1;
1085 uint64_t reserved_57_58 : 2;
1088 uint64_t ipdppthr : 1;
1090 uint64_t bootdma : 1;
1093 struct cvmx_ciu_intx_en0_cn52xx cn52xxp1;
1094 struct cvmx_ciu_intx_en0_cn56xx
1096 #if __BYTE_ORDER == __BIG_ENDIAN
1097 uint64_t bootdma : 1; /**< Boot bus DMA engines Interrupt */
1098 uint64_t mii : 1; /**< MII Interface Interrupt */
1099 uint64_t ipdppthr : 1; /**< IPD per-port counter threshold interrupt */
1100 uint64_t powiq : 1; /**< POW IQ interrupt */
1101 uint64_t twsi2 : 1; /**< 2nd TWSI Interrupt */
1102 uint64_t reserved_57_58 : 2;
1103 uint64_t usb : 1; /**< USB Interrupt */
1104 uint64_t timer : 4; /**< General timer interrupts */
1105 uint64_t key_zero : 1; /**< Key Zeroization interrupt */
1106 uint64_t ipd_drp : 1; /**< IPD QOS packet drop */
1107 uint64_t gmx_drp : 2; /**< GMX packet drop */
1108 uint64_t trace : 1; /**< L2C has the CMB trace buffer */
1109 uint64_t rml : 1; /**< RML Interrupt */
1110 uint64_t twsi : 1; /**< TWSI Interrupt */
1111 uint64_t reserved_44_44 : 1;
1112 uint64_t pci_msi : 4; /**< PCI MSI */
1113 uint64_t pci_int : 4; /**< PCI INTA/B/C/D */
1114 uint64_t uart : 2; /**< Two UART interrupts */
1115 uint64_t mbox : 2; /**< Two mailbox/PCI interrupts */
1116 uint64_t gpio : 16; /**< 16 GPIO interrupts */
1117 uint64_t workq : 16; /**< 16 work queue interrupts */
1119 uint64_t workq : 16;
1123 uint64_t pci_int : 4;
1124 uint64_t pci_msi : 4;
1125 uint64_t reserved_44_44 : 1;
1129 uint64_t gmx_drp : 2;
1130 uint64_t ipd_drp : 1;
1131 uint64_t key_zero : 1;
1134 uint64_t reserved_57_58 : 2;
1137 uint64_t ipdppthr : 1;
1139 uint64_t bootdma : 1;
1142 struct cvmx_ciu_intx_en0_cn56xx cn56xxp1;
1143 struct cvmx_ciu_intx_en0_cn38xx cn58xx;
1144 struct cvmx_ciu_intx_en0_cn38xx cn58xxp1;
1145 struct cvmx_ciu_intx_en0_cn52xx cn63xx;
1146 struct cvmx_ciu_intx_en0_cn52xx cn63xxp1;
1148 typedef union cvmx_ciu_intx_en0 cvmx_ciu_intx_en0_t;
1151 * cvmx_ciu_int#_en0_w1c
1154 * Write-1-to-clear version of the CIU_INTx_EN0 register
1157 union cvmx_ciu_intx_en0_w1c
1160 struct cvmx_ciu_intx_en0_w1c_s
1162 #if __BYTE_ORDER == __BIG_ENDIAN
1163 uint64_t bootdma : 1; /**< Write 1 to clear Boot bus DMA engines Interrupt
1165 uint64_t mii : 1; /**< Write 1 to clr RGMII/MII/MIX Interface 0 Interrupt
1167 uint64_t ipdppthr : 1; /**< Write 1 to clear IPD per-port counter threshold
1169 uint64_t powiq : 1; /**< Write 1 to clear POW IQ interrupt */
1170 uint64_t twsi2 : 1; /**< Write 1 to clear 2nd TWSI Interrupt */
1171 uint64_t reserved_57_58 : 2;
1172 uint64_t usb : 1; /**< Write 1 to clear USB EHCI or OHCI Interrupt */
1173 uint64_t timer : 4; /**< Write 1 to clear General timer interrupts */
1174 uint64_t key_zero : 1; /**< Key Zeroization interrupt */
1175 uint64_t ipd_drp : 1; /**< Write 1 to clear IPD QOS packet drop interrupt
1177 uint64_t gmx_drp : 2; /**< Write 1 to clear GMX packet drop interrupt enable */
1178 uint64_t trace : 1; /**< Write 1 to clear Trace buffer interrupt enable */
1179 uint64_t rml : 1; /**< Write 1 to clear RML Interrupt enable */
1180 uint64_t twsi : 1; /**< Write 1 to clear TWSI Interrupt enable */
1181 uint64_t reserved_44_44 : 1;
1182 uint64_t pci_msi : 4; /**< Write 1s to clear PCIe/sRIO MSI enables */
1183 uint64_t pci_int : 4; /**< Write 1s to clear PCIe INTA/B/C/D enables */
1184 uint64_t uart : 2; /**< Write 1s to clear UART interrupt enables */
1185 uint64_t mbox : 2; /**< Write 1s to clear mailbox/PCIe/sRIO interrupt
1187 uint64_t gpio : 16; /**< Write 1s to clear GPIO interrupt enables */
1188 uint64_t workq : 16; /**< Write 1s to clear work queue interrupt enables */
1190 uint64_t workq : 16;
1194 uint64_t pci_int : 4;
1195 uint64_t pci_msi : 4;
1196 uint64_t reserved_44_44 : 1;
1200 uint64_t gmx_drp : 2;
1201 uint64_t ipd_drp : 1;
1202 uint64_t key_zero : 1;
1205 uint64_t reserved_57_58 : 2;
1208 uint64_t ipdppthr : 1;
1210 uint64_t bootdma : 1;
1213 struct cvmx_ciu_intx_en0_w1c_cn52xx
1215 #if __BYTE_ORDER == __BIG_ENDIAN
1216 uint64_t bootdma : 1; /**< Boot bus DMA engines Interrupt */
1217 uint64_t mii : 1; /**< MII Interface Interrupt */
1218 uint64_t ipdppthr : 1; /**< IPD per-port counter threshold interrupt */
1219 uint64_t powiq : 1; /**< POW IQ interrupt */
1220 uint64_t twsi2 : 1; /**< 2nd TWSI Interrupt */
1221 uint64_t reserved_57_58 : 2;
1222 uint64_t usb : 1; /**< USB Interrupt */
1223 uint64_t timer : 4; /**< General timer interrupts */
1224 uint64_t reserved_51_51 : 1;
1225 uint64_t ipd_drp : 1; /**< IPD QOS packet drop */
1226 uint64_t reserved_49_49 : 1;
1227 uint64_t gmx_drp : 1; /**< GMX packet drop */
1228 uint64_t trace : 1; /**< L2C has the CMB trace buffer */
1229 uint64_t rml : 1; /**< RML Interrupt */
1230 uint64_t twsi : 1; /**< TWSI Interrupt */
1231 uint64_t reserved_44_44 : 1;
1232 uint64_t pci_msi : 4; /**< PCI MSI */
1233 uint64_t pci_int : 4; /**< PCI INTA/B/C/D */
1234 uint64_t uart : 2; /**< Two UART interrupts */
1235 uint64_t mbox : 2; /**< Two mailbox/PCI interrupts */
1236 uint64_t gpio : 16; /**< 16 GPIO interrupts */
1237 uint64_t workq : 16; /**< 16 work queue interrupts */
1239 uint64_t workq : 16;
1243 uint64_t pci_int : 4;
1244 uint64_t pci_msi : 4;
1245 uint64_t reserved_44_44 : 1;
1249 uint64_t gmx_drp : 1;
1250 uint64_t reserved_49_49 : 1;
1251 uint64_t ipd_drp : 1;
1252 uint64_t reserved_51_51 : 1;
1255 uint64_t reserved_57_58 : 2;
1258 uint64_t ipdppthr : 1;
1260 uint64_t bootdma : 1;
1263 struct cvmx_ciu_intx_en0_w1c_s cn56xx;
1264 struct cvmx_ciu_intx_en0_w1c_cn58xx
1266 #if __BYTE_ORDER == __BIG_ENDIAN
1267 uint64_t reserved_56_63 : 8;
1268 uint64_t timer : 4; /**< General timer interrupts */
1269 uint64_t key_zero : 1; /**< Key Zeroization interrupt */
1270 uint64_t ipd_drp : 1; /**< IPD QOS packet drop */
1271 uint64_t gmx_drp : 2; /**< GMX packet drop */
1272 uint64_t trace : 1; /**< L2C has the CMB trace buffer */
1273 uint64_t rml : 1; /**< RML Interrupt */
1274 uint64_t twsi : 1; /**< TWSI Interrupt */
1275 uint64_t reserved_44_44 : 1;
1276 uint64_t pci_msi : 4; /**< PCI MSI */
1277 uint64_t pci_int : 4; /**< PCI INTA/B/C/D */
1278 uint64_t uart : 2; /**< Two UART interrupts */
1279 uint64_t mbox : 2; /**< Two mailbox/PCI interrupts */
1280 uint64_t gpio : 16; /**< 16 GPIO interrupts */
1281 uint64_t workq : 16; /**< 16 work queue interrupts */
1283 uint64_t workq : 16;
1287 uint64_t pci_int : 4;
1288 uint64_t pci_msi : 4;
1289 uint64_t reserved_44_44 : 1;
1293 uint64_t gmx_drp : 2;
1294 uint64_t ipd_drp : 1;
1295 uint64_t key_zero : 1;
1297 uint64_t reserved_56_63 : 8;
1300 struct cvmx_ciu_intx_en0_w1c_cn52xx cn63xx;
1301 struct cvmx_ciu_intx_en0_w1c_cn52xx cn63xxp1;
1303 typedef union cvmx_ciu_intx_en0_w1c cvmx_ciu_intx_en0_w1c_t;
1306 * cvmx_ciu_int#_en0_w1s
1309 * Write-1-to-set version of the CIU_INTx_EN0 register
1312 union cvmx_ciu_intx_en0_w1s
1315 struct cvmx_ciu_intx_en0_w1s_s
1317 #if __BYTE_ORDER == __BIG_ENDIAN
1318 uint64_t bootdma : 1; /**< Write 1 to set Boot bus DMA engines Interrupt
1320 uint64_t mii : 1; /**< Write 1 to set RGMII/MII/MIX Interface 0 Interrupt
1322 uint64_t ipdppthr : 1; /**< Write 1 to set IPD per-port counter threshold
1324 uint64_t powiq : 1; /**< Write 1 to set POW IQ interrupt */
1325 uint64_t twsi2 : 1; /**< Write 1 to set 2nd TWSI Interrupt */
1326 uint64_t reserved_57_58 : 2;
1327 uint64_t usb : 1; /**< Write 1 to set USB EHCI or OHCI Interrupt */
1328 uint64_t timer : 4; /**< Write 1 to set General timer interrupts */
1329 uint64_t key_zero : 1; /**< Key Zeroization interrupt */
1330 uint64_t ipd_drp : 1; /**< Write 1 to set IPD QOS packet drop interrupt
1332 uint64_t gmx_drp : 2; /**< Write 1 to set GMX packet drop interrupt enable */
1333 uint64_t trace : 1; /**< Write 1 to set Trace buffer interrupt enable */
1334 uint64_t rml : 1; /**< Write 1 to set RML Interrupt enable */
1335 uint64_t twsi : 1; /**< Write 1 to set TWSI Interrupt enable */
1336 uint64_t reserved_44_44 : 1;
1337 uint64_t pci_msi : 4; /**< Write 1s to set PCIe/sRIO MSI enables */
1338 uint64_t pci_int : 4; /**< Write 1s to set PCIe INTA/B/C/D enables */
1339 uint64_t uart : 2; /**< Write 1s to set UART interrupt enables */
1340 uint64_t mbox : 2; /**< Write 1s to set mailbox/PCIe/sRIO interrupt
1342 uint64_t gpio : 16; /**< Write 1s to set GPIO interrupt enables */
1343 uint64_t workq : 16; /**< Write 1s to set work queue interrupt enables */
1345 uint64_t workq : 16;
1349 uint64_t pci_int : 4;
1350 uint64_t pci_msi : 4;
1351 uint64_t reserved_44_44 : 1;
1355 uint64_t gmx_drp : 2;
1356 uint64_t ipd_drp : 1;
1357 uint64_t key_zero : 1;
1360 uint64_t reserved_57_58 : 2;
1363 uint64_t ipdppthr : 1;
1365 uint64_t bootdma : 1;
1368 struct cvmx_ciu_intx_en0_w1s_cn52xx
1370 #if __BYTE_ORDER == __BIG_ENDIAN
1371 uint64_t bootdma : 1; /**< Boot bus DMA engines Interrupt */
1372 uint64_t mii : 1; /**< MII Interface Interrupt */
1373 uint64_t ipdppthr : 1; /**< IPD per-port counter threshold interrupt */
1374 uint64_t powiq : 1; /**< POW IQ interrupt */
1375 uint64_t twsi2 : 1; /**< 2nd TWSI Interrupt */
1376 uint64_t reserved_57_58 : 2;
1377 uint64_t usb : 1; /**< USB Interrupt */
1378 uint64_t timer : 4; /**< General timer interrupts */
1379 uint64_t reserved_51_51 : 1;
1380 uint64_t ipd_drp : 1; /**< IPD QOS packet drop */
1381 uint64_t reserved_49_49 : 1;
1382 uint64_t gmx_drp : 1; /**< GMX packet drop */
1383 uint64_t trace : 1; /**< L2C has the CMB trace buffer */
1384 uint64_t rml : 1; /**< RML Interrupt */
1385 uint64_t twsi : 1; /**< TWSI Interrupt */
1386 uint64_t reserved_44_44 : 1;
1387 uint64_t pci_msi : 4; /**< PCI MSI */
1388 uint64_t pci_int : 4; /**< PCI INTA/B/C/D */
1389 uint64_t uart : 2; /**< Two UART interrupts */
1390 uint64_t mbox : 2; /**< Two mailbox/PCI interrupts */
1391 uint64_t gpio : 16; /**< 16 GPIO interrupts */
1392 uint64_t workq : 16; /**< 16 work queue interrupts */
1394 uint64_t workq : 16;
1398 uint64_t pci_int : 4;
1399 uint64_t pci_msi : 4;
1400 uint64_t reserved_44_44 : 1;
1404 uint64_t gmx_drp : 1;
1405 uint64_t reserved_49_49 : 1;
1406 uint64_t ipd_drp : 1;
1407 uint64_t reserved_51_51 : 1;
1410 uint64_t reserved_57_58 : 2;
1413 uint64_t ipdppthr : 1;
1415 uint64_t bootdma : 1;
1418 struct cvmx_ciu_intx_en0_w1s_s cn56xx;
1419 struct cvmx_ciu_intx_en0_w1s_cn58xx
1421 #if __BYTE_ORDER == __BIG_ENDIAN
1422 uint64_t reserved_56_63 : 8;
1423 uint64_t timer : 4; /**< General timer interrupts */
1424 uint64_t key_zero : 1; /**< Key Zeroization interrupt */
1425 uint64_t ipd_drp : 1; /**< IPD QOS packet drop */
1426 uint64_t gmx_drp : 2; /**< GMX packet drop */
1427 uint64_t trace : 1; /**< L2C has the CMB trace buffer */
1428 uint64_t rml : 1; /**< RML Interrupt */
1429 uint64_t twsi : 1; /**< TWSI Interrupt */
1430 uint64_t reserved_44_44 : 1;
1431 uint64_t pci_msi : 4; /**< PCI MSI */
1432 uint64_t pci_int : 4; /**< PCI INTA/B/C/D */
1433 uint64_t uart : 2; /**< Two UART interrupts */
1434 uint64_t mbox : 2; /**< Two mailbox/PCI interrupts */
1435 uint64_t gpio : 16; /**< 16 GPIO interrupts */
1436 uint64_t workq : 16; /**< 16 work queue interrupts */
1438 uint64_t workq : 16;
1442 uint64_t pci_int : 4;
1443 uint64_t pci_msi : 4;
1444 uint64_t reserved_44_44 : 1;
1448 uint64_t gmx_drp : 2;
1449 uint64_t ipd_drp : 1;
1450 uint64_t key_zero : 1;
1452 uint64_t reserved_56_63 : 8;
1455 struct cvmx_ciu_intx_en0_w1s_cn52xx cn63xx;
1456 struct cvmx_ciu_intx_en0_w1s_cn52xx cn63xxp1;
1458 typedef union cvmx_ciu_intx_en0_w1s cvmx_ciu_intx_en0_w1s_t;
1465 * PPx/IP2 will be raised when...
1468 * PPx/IP2 = |([CIU_INT_SUM1, CIU_INTn_SUM0] & [CIU_INTn_EN1, CIU_INTn_EN0])
1470 * PPx/IP3 will be raised when...
1473 * PPx/IP3 = |([CIU_INT_SUM1, CIU_INTn_SUM0] & [CIU_INTn_EN1, CIU_INTn_EN0])
1475 * PCI/INT will be raised when...
1477 * PCI/INT = |([CIU_INT_SUM1, CIU_INT32_SUM0] & [CIU_INT32_EN1, CIU_INT32_EN0])
1480 union cvmx_ciu_intx_en1
1483 struct cvmx_ciu_intx_en1_s
1485 #if __BYTE_ORDER == __BIG_ENDIAN
1486 uint64_t rst : 1; /**< MIO RST interrupt enable */
1487 uint64_t reserved_57_62 : 6;
1488 uint64_t dfm : 1; /**< DFM interrupt enable */
1489 uint64_t reserved_53_55 : 3;
1490 uint64_t lmc0 : 1; /**< LMC0 interrupt enable */
1491 uint64_t srio1 : 1; /**< SRIO1 interrupt enable */
1492 uint64_t srio0 : 1; /**< SRIO0 interrupt enable */
1493 uint64_t pem1 : 1; /**< PEM1 interrupt enable */
1494 uint64_t pem0 : 1; /**< PEM0 interrupt enable */
1495 uint64_t ptp : 1; /**< PTP interrupt enable */
1496 uint64_t agl : 1; /**< AGL interrupt enable */
1497 uint64_t reserved_37_45 : 9;
1498 uint64_t agx0 : 1; /**< GMX0 interrupt enable */
1499 uint64_t dpi : 1; /**< DPI interrupt enable */
1500 uint64_t sli : 1; /**< SLI interrupt enable */
1501 uint64_t usb : 1; /**< USB UCTL0 interrupt enable */
1502 uint64_t dfa : 1; /**< DFA interrupt enable */
1503 uint64_t key : 1; /**< KEY interrupt enable */
1504 uint64_t rad : 1; /**< RAD interrupt enable */
1505 uint64_t tim : 1; /**< TIM interrupt enable */
1506 uint64_t zip : 1; /**< ZIP interrupt enable */
1507 uint64_t pko : 1; /**< PKO interrupt enable */
1508 uint64_t pip : 1; /**< PIP interrupt enable */
1509 uint64_t ipd : 1; /**< IPD interrupt enable */
1510 uint64_t l2c : 1; /**< L2C interrupt enable */
1511 uint64_t pow : 1; /**< POW err interrupt enable */
1512 uint64_t fpa : 1; /**< FPA interrupt enable */
1513 uint64_t iob : 1; /**< IOB interrupt enable */
1514 uint64_t mio : 1; /**< MIO boot interrupt enable */
1515 uint64_t nand : 1; /**< NAND Flash Controller interrupt enable */
1516 uint64_t mii1 : 1; /**< RGMII/MII/MIX Interface 1 Interrupt enable */
1517 uint64_t usb1 : 1; /**< Second USB Interrupt */
1518 uint64_t uart2 : 1; /**< Third UART interrupt */
1519 uint64_t wdog : 16; /**< Watchdog summary interrupt enable vector */
1543 uint64_t reserved_37_45 : 9;
1551 uint64_t reserved_53_55 : 3;
1553 uint64_t reserved_57_62 : 6;
1557 struct cvmx_ciu_intx_en1_cn30xx
1559 #if __BYTE_ORDER == __BIG_ENDIAN
1560 uint64_t reserved_1_63 : 63;
1561 uint64_t wdog : 1; /**< Watchdog summary interrupt enable vector */
1564 uint64_t reserved_1_63 : 63;
1567 struct cvmx_ciu_intx_en1_cn31xx
1569 #if __BYTE_ORDER == __BIG_ENDIAN
1570 uint64_t reserved_2_63 : 62;
1571 uint64_t wdog : 2; /**< Watchdog summary interrupt enable vectory */
1574 uint64_t reserved_2_63 : 62;
1577 struct cvmx_ciu_intx_en1_cn38xx
1579 #if __BYTE_ORDER == __BIG_ENDIAN
1580 uint64_t reserved_16_63 : 48;
1581 uint64_t wdog : 16; /**< Watchdog summary interrupt enable vectory */
1584 uint64_t reserved_16_63 : 48;
1587 struct cvmx_ciu_intx_en1_cn38xx cn38xxp2;
1588 struct cvmx_ciu_intx_en1_cn31xx cn50xx;
1589 struct cvmx_ciu_intx_en1_cn52xx
1591 #if __BYTE_ORDER == __BIG_ENDIAN
1592 uint64_t reserved_20_63 : 44;
1593 uint64_t nand : 1; /**< NAND Flash Controller */
1594 uint64_t mii1 : 1; /**< Second MII Interrupt */
1595 uint64_t usb1 : 1; /**< Second USB Interrupt */
1596 uint64_t uart2 : 1; /**< Third UART interrupt */
1597 uint64_t reserved_4_15 : 12;
1598 uint64_t wdog : 4; /**< Watchdog summary interrupt enable vector */
1601 uint64_t reserved_4_15 : 12;
1606 uint64_t reserved_20_63 : 44;
1609 struct cvmx_ciu_intx_en1_cn52xxp1
1611 #if __BYTE_ORDER == __BIG_ENDIAN
1612 uint64_t reserved_19_63 : 45;
1613 uint64_t mii1 : 1; /**< Second MII Interrupt */
1614 uint64_t usb1 : 1; /**< Second USB Interrupt */
1615 uint64_t uart2 : 1; /**< Third UART interrupt */
1616 uint64_t reserved_4_15 : 12;
1617 uint64_t wdog : 4; /**< Watchdog summary interrupt enable vector */
1620 uint64_t reserved_4_15 : 12;
1624 uint64_t reserved_19_63 : 45;
1627 struct cvmx_ciu_intx_en1_cn56xx
1629 #if __BYTE_ORDER == __BIG_ENDIAN
1630 uint64_t reserved_12_63 : 52;
1631 uint64_t wdog : 12; /**< Watchdog summary interrupt enable vectory */
1634 uint64_t reserved_12_63 : 52;
1637 struct cvmx_ciu_intx_en1_cn56xx cn56xxp1;
1638 struct cvmx_ciu_intx_en1_cn38xx cn58xx;
1639 struct cvmx_ciu_intx_en1_cn38xx cn58xxp1;
1640 struct cvmx_ciu_intx_en1_cn63xx
1642 #if __BYTE_ORDER == __BIG_ENDIAN
1643 uint64_t rst : 1; /**< MIO RST interrupt enable */
1644 uint64_t reserved_57_62 : 6;
1645 uint64_t dfm : 1; /**< DFM interrupt enable */
1646 uint64_t reserved_53_55 : 3;
1647 uint64_t lmc0 : 1; /**< LMC0 interrupt enable */
1648 uint64_t srio1 : 1; /**< SRIO1 interrupt enable */
1649 uint64_t srio0 : 1; /**< SRIO0 interrupt enable */
1650 uint64_t pem1 : 1; /**< PEM1 interrupt enable */
1651 uint64_t pem0 : 1; /**< PEM0 interrupt enable */
1652 uint64_t ptp : 1; /**< PTP interrupt enable */
1653 uint64_t agl : 1; /**< AGL interrupt enable */
1654 uint64_t reserved_37_45 : 9;
1655 uint64_t agx0 : 1; /**< GMX0 interrupt enable */
1656 uint64_t dpi : 1; /**< DPI interrupt enable */
1657 uint64_t sli : 1; /**< SLI interrupt enable */
1658 uint64_t usb : 1; /**< USB UCTL0 interrupt enable */
1659 uint64_t dfa : 1; /**< DFA interrupt enable */
1660 uint64_t key : 1; /**< KEY interrupt enable */
1661 uint64_t rad : 1; /**< RAD interrupt enable */
1662 uint64_t tim : 1; /**< TIM interrupt enable */
1663 uint64_t zip : 1; /**< ZIP interrupt enable */
1664 uint64_t pko : 1; /**< PKO interrupt enable */
1665 uint64_t pip : 1; /**< PIP interrupt enable */
1666 uint64_t ipd : 1; /**< IPD interrupt enable */
1667 uint64_t l2c : 1; /**< L2C interrupt enable */
1668 uint64_t pow : 1; /**< POW err interrupt enable */
1669 uint64_t fpa : 1; /**< FPA interrupt enable */
1670 uint64_t iob : 1; /**< IOB interrupt enable */
1671 uint64_t mio : 1; /**< MIO boot interrupt enable */
1672 uint64_t nand : 1; /**< NAND Flash Controller interrupt enable */
1673 uint64_t mii1 : 1; /**< RGMII/MII/MIX Interface 1 Interrupt enable */
1674 uint64_t reserved_6_17 : 12;
1675 uint64_t wdog : 6; /**< Watchdog summary interrupt enable vector */
1678 uint64_t reserved_6_17 : 12;
1698 uint64_t reserved_37_45 : 9;
1706 uint64_t reserved_53_55 : 3;
1708 uint64_t reserved_57_62 : 6;
1712 struct cvmx_ciu_intx_en1_cn63xx cn63xxp1;
1714 typedef union cvmx_ciu_intx_en1 cvmx_ciu_intx_en1_t;
1717 * cvmx_ciu_int#_en1_w1c
1720 * Write-1-to-clear version of the CIU_INTx_EN1 register
1723 union cvmx_ciu_intx_en1_w1c
1726 struct cvmx_ciu_intx_en1_w1c_s
1728 #if __BYTE_ORDER == __BIG_ENDIAN
1729 uint64_t rst : 1; /**< Write 1 to clear MIO RST interrupt enable */
1730 uint64_t reserved_57_62 : 6;
1731 uint64_t dfm : 1; /**< Write 1 to clear DFM interrupt enable */
1732 uint64_t reserved_53_55 : 3;
1733 uint64_t lmc0 : 1; /**< Write 1 to clear LMC0 interrupt enable */
1734 uint64_t srio1 : 1; /**< Write 1 to clear SRIO1 interrupt enable */
1735 uint64_t srio0 : 1; /**< Write 1 to clear SRIO0 interrupt enable */
1736 uint64_t pem1 : 1; /**< Write 1 to clear PEM1 interrupt enable */
1737 uint64_t pem0 : 1; /**< Write 1 to clear PEM0 interrupt enable */
1738 uint64_t ptp : 1; /**< Write 1 to clear PTP interrupt enable */
1739 uint64_t agl : 1; /**< Write 1 to clear AGL interrupt enable */
1740 uint64_t reserved_37_45 : 9;
1741 uint64_t agx0 : 1; /**< Write 1 to clear GMX0 interrupt enable */
1742 uint64_t dpi : 1; /**< Write 1 to clear DPI interrupt enable */
1743 uint64_t sli : 1; /**< Write 1 to clear SLI interrupt enable */
1744 uint64_t usb : 1; /**< Write 1 to clear USB UCTL0 interrupt enable */
1745 uint64_t dfa : 1; /**< Write 1 to clear DFA interrupt enable */
1746 uint64_t key : 1; /**< Write 1 to clear KEY interrupt enable */
1747 uint64_t rad : 1; /**< Write 1 to clear RAD interrupt enable */
1748 uint64_t tim : 1; /**< Write 1 to clear TIM interrupt enable */
1749 uint64_t zip : 1; /**< Write 1 to clear ZIP interrupt enable */
1750 uint64_t pko : 1; /**< Write 1 to clear PKO interrupt enable */
1751 uint64_t pip : 1; /**< Write 1 to clear PIP interrupt enable */
1752 uint64_t ipd : 1; /**< Write 1 to clear IPD interrupt enable */
1753 uint64_t l2c : 1; /**< Write 1 to clear L2C interrupt enable */
1754 uint64_t pow : 1; /**< Write 1 to clear POW err interrupt enable */
1755 uint64_t fpa : 1; /**< Write 1 to clear FPA interrupt enable */
1756 uint64_t iob : 1; /**< Write 1 to clear IOB interrupt enable */
1757 uint64_t mio : 1; /**< Write 1 to clear MIO boot interrupt enable */
1758 uint64_t nand : 1; /**< Write 1 to clear NAND Flash Controller interrupt
1760 uint64_t mii1 : 1; /**< Write 1 to clear RGMII/MII/MIX Interface 1
1762 uint64_t usb1 : 1; /**< Second USB Interrupt */
1763 uint64_t uart2 : 1; /**< Third UART interrupt */
1764 uint64_t wdog : 16; /**< Write 1s to clear Watchdog summary interrupt enable */
1788 uint64_t reserved_37_45 : 9;
1796 uint64_t reserved_53_55 : 3;
1798 uint64_t reserved_57_62 : 6;
1802 struct cvmx_ciu_intx_en1_w1c_cn52xx
1804 #if __BYTE_ORDER == __BIG_ENDIAN
1805 uint64_t reserved_20_63 : 44;
1806 uint64_t nand : 1; /**< NAND Flash Controller */
1807 uint64_t mii1 : 1; /**< Second MII Interrupt */
1808 uint64_t usb1 : 1; /**< Second USB Interrupt */
1809 uint64_t uart2 : 1; /**< Third UART interrupt */
1810 uint64_t reserved_4_15 : 12;
1811 uint64_t wdog : 4; /**< Watchdog summary interrupt enable vector */
1814 uint64_t reserved_4_15 : 12;
1819 uint64_t reserved_20_63 : 44;
1822 struct cvmx_ciu_intx_en1_w1c_cn56xx
1824 #if __BYTE_ORDER == __BIG_ENDIAN
1825 uint64_t reserved_12_63 : 52;
1826 uint64_t wdog : 12; /**< Watchdog summary interrupt enable vectory */
1829 uint64_t reserved_12_63 : 52;
1832 struct cvmx_ciu_intx_en1_w1c_cn58xx
1834 #if __BYTE_ORDER == __BIG_ENDIAN
1835 uint64_t reserved_16_63 : 48;
1836 uint64_t wdog : 16; /**< Watchdog summary interrupt enable vectory */
1839 uint64_t reserved_16_63 : 48;
1842 struct cvmx_ciu_intx_en1_w1c_cn63xx
1844 #if __BYTE_ORDER == __BIG_ENDIAN
1845 uint64_t rst : 1; /**< Write 1 to clear MIO RST interrupt enable */
1846 uint64_t reserved_57_62 : 6;
1847 uint64_t dfm : 1; /**< Write 1 to clear DFM interrupt enable */
1848 uint64_t reserved_53_55 : 3;
1849 uint64_t lmc0 : 1; /**< Write 1 to clear LMC0 interrupt enable */
1850 uint64_t srio1 : 1; /**< Write 1 to clear SRIO1 interrupt enable */
1851 uint64_t srio0 : 1; /**< Write 1 to clear SRIO0 interrupt enable */
1852 uint64_t pem1 : 1; /**< Write 1 to clear PEM1 interrupt enable */
1853 uint64_t pem0 : 1; /**< Write 1 to clear PEM0 interrupt enable */
1854 uint64_t ptp : 1; /**< Write 1 to clear PTP interrupt enable */
1855 uint64_t agl : 1; /**< Write 1 to clear AGL interrupt enable */
1856 uint64_t reserved_37_45 : 9;
1857 uint64_t agx0 : 1; /**< Write 1 to clear GMX0 interrupt enable */
1858 uint64_t dpi : 1; /**< Write 1 to clear DPI interrupt enable */
1859 uint64_t sli : 1; /**< Write 1 to clear SLI interrupt enable */
1860 uint64_t usb : 1; /**< Write 1 to clear USB UCTL0 interrupt enable */
1861 uint64_t dfa : 1; /**< Write 1 to clear DFA interrupt enable */
1862 uint64_t key : 1; /**< Write 1 to clear KEY interrupt enable */
1863 uint64_t rad : 1; /**< Write 1 to clear RAD interrupt enable */
1864 uint64_t tim : 1; /**< Write 1 to clear TIM interrupt enable */
1865 uint64_t zip : 1; /**< Write 1 to clear ZIP interrupt enable */
1866 uint64_t pko : 1; /**< Write 1 to clear PKO interrupt enable */
1867 uint64_t pip : 1; /**< Write 1 to clear PIP interrupt enable */
1868 uint64_t ipd : 1; /**< Write 1 to clear IPD interrupt enable */
1869 uint64_t l2c : 1; /**< Write 1 to clear L2C interrupt enable */
1870 uint64_t pow : 1; /**< Write 1 to clear POW err interrupt enable */
1871 uint64_t fpa : 1; /**< Write 1 to clear FPA interrupt enable */
1872 uint64_t iob : 1; /**< Write 1 to clear IOB interrupt enable */
1873 uint64_t mio : 1; /**< Write 1 to clear MIO boot interrupt enable */
1874 uint64_t nand : 1; /**< Write 1 to clear NAND Flash Controller interrupt
1876 uint64_t mii1 : 1; /**< Write 1 to clear RGMII/MII/MIX Interface 1
1878 uint64_t reserved_6_17 : 12;
1879 uint64_t wdog : 6; /**< Write 1s to clear Watchdog summary interrupt enable */
1882 uint64_t reserved_6_17 : 12;
1902 uint64_t reserved_37_45 : 9;
1910 uint64_t reserved_53_55 : 3;
1912 uint64_t reserved_57_62 : 6;
1916 struct cvmx_ciu_intx_en1_w1c_cn63xx cn63xxp1;
1918 typedef union cvmx_ciu_intx_en1_w1c cvmx_ciu_intx_en1_w1c_t;
1921 * cvmx_ciu_int#_en1_w1s
1924 * Write-1-to-set version of the CIU_INTx_EN1 register
1927 union cvmx_ciu_intx_en1_w1s
1930 struct cvmx_ciu_intx_en1_w1s_s
1932 #if __BYTE_ORDER == __BIG_ENDIAN
1933 uint64_t rst : 1; /**< Write 1 to set MIO RST interrupt enable */
1934 uint64_t reserved_57_62 : 6;
1935 uint64_t dfm : 1; /**< Write 1 to set DFM interrupt enable */
1936 uint64_t reserved_53_55 : 3;
1937 uint64_t lmc0 : 1; /**< Write 1 to set LMC0 interrupt enable */
1938 uint64_t srio1 : 1; /**< Write 1 to set SRIO1 interrupt enable */
1939 uint64_t srio0 : 1; /**< Write 1 to set SRIO0 interrupt enable */
1940 uint64_t pem1 : 1; /**< Write 1 to set PEM1 interrupt enable */
1941 uint64_t pem0 : 1; /**< Write 1 to set PEM0 interrupt enable */
1942 uint64_t ptp : 1; /**< Write 1 to set PTP interrupt enable */
1943 uint64_t agl : 1; /**< Write 1 to set AGL interrupt enable */
1944 uint64_t reserved_37_45 : 9;
1945 uint64_t agx0 : 1; /**< Write 1 to set GMX0 interrupt enable */
1946 uint64_t dpi : 1; /**< Write 1 to set DPI interrupt enable */
1947 uint64_t sli : 1; /**< Write 1 to set SLI interrupt enable */
1948 uint64_t usb : 1; /**< Write 1 to set USB UCTL0 interrupt enable */
1949 uint64_t dfa : 1; /**< Write 1 to set DFA interrupt enable */
1950 uint64_t key : 1; /**< Write 1 to set KEY interrupt enable */
1951 uint64_t rad : 1; /**< Write 1 to set RAD interrupt enable */
1952 uint64_t tim : 1; /**< Write 1 to set TIM interrupt enable */
1953 uint64_t zip : 1; /**< Write 1 to set ZIP interrupt enable */
1954 uint64_t pko : 1; /**< Write 1 to set PKO interrupt enable */
1955 uint64_t pip : 1; /**< Write 1 to set PIP interrupt enable */
1956 uint64_t ipd : 1; /**< Write 1 to set IPD interrupt enable */
1957 uint64_t l2c : 1; /**< Write 1 to set L2C interrupt enable */
1958 uint64_t pow : 1; /**< Write 1 to set POW err interrupt enable */
1959 uint64_t fpa : 1; /**< Write 1 to set FPA interrupt enable */
1960 uint64_t iob : 1; /**< Write 1 to set IOB interrupt enable */
1961 uint64_t mio : 1; /**< Write 1 to set MIO boot interrupt enable */
1962 uint64_t nand : 1; /**< Write 1 to set NAND Flash Controller interrupt
1964 uint64_t mii1 : 1; /**< Write 1 to set RGMII/MII/MIX Interface 1 Interrupt
1966 uint64_t usb1 : 1; /**< Second USB Interrupt */
1967 uint64_t uart2 : 1; /**< Third UART interrupt */
1968 uint64_t wdog : 16; /**< Write 1s to set Watchdog summary interrupt enable */
1992 uint64_t reserved_37_45 : 9;
2000 uint64_t reserved_53_55 : 3;
2002 uint64_t reserved_57_62 : 6;
2006 struct cvmx_ciu_intx_en1_w1s_cn52xx
2008 #if __BYTE_ORDER == __BIG_ENDIAN
2009 uint64_t reserved_20_63 : 44;
2010 uint64_t nand : 1; /**< NAND Flash Controller */
2011 uint64_t mii1 : 1; /**< Second MII Interrupt */
2012 uint64_t usb1 : 1; /**< Second USB Interrupt */
2013 uint64_t uart2 : 1; /**< Third UART interrupt */
2014 uint64_t reserved_4_15 : 12;
2015 uint64_t wdog : 4; /**< Watchdog summary interrupt enable vector */
2018 uint64_t reserved_4_15 : 12;
2023 uint64_t reserved_20_63 : 44;
2026 struct cvmx_ciu_intx_en1_w1s_cn56xx
2028 #if __BYTE_ORDER == __BIG_ENDIAN
2029 uint64_t reserved_12_63 : 52;
2030 uint64_t wdog : 12; /**< Watchdog summary interrupt enable vectory */
2033 uint64_t reserved_12_63 : 52;
2036 struct cvmx_ciu_intx_en1_w1s_cn58xx
2038 #if __BYTE_ORDER == __BIG_ENDIAN
2039 uint64_t reserved_16_63 : 48;
2040 uint64_t wdog : 16; /**< Watchdog summary interrupt enable vectory */
2043 uint64_t reserved_16_63 : 48;
2046 struct cvmx_ciu_intx_en1_w1s_cn63xx
2048 #if __BYTE_ORDER == __BIG_ENDIAN
2049 uint64_t rst : 1; /**< Write 1 to set MIO RST interrupt enable */
2050 uint64_t reserved_57_62 : 6;
2051 uint64_t dfm : 1; /**< Write 1 to set DFM interrupt enable */
2052 uint64_t reserved_53_55 : 3;
2053 uint64_t lmc0 : 1; /**< Write 1 to set LMC0 interrupt enable */
2054 uint64_t srio1 : 1; /**< Write 1 to set SRIO1 interrupt enable */
2055 uint64_t srio0 : 1; /**< Write 1 to set SRIO0 interrupt enable */
2056 uint64_t pem1 : 1; /**< Write 1 to set PEM1 interrupt enable */
2057 uint64_t pem0 : 1; /**< Write 1 to set PEM0 interrupt enable */
2058 uint64_t ptp : 1; /**< Write 1 to set PTP interrupt enable */
2059 uint64_t agl : 1; /**< Write 1 to set AGL interrupt enable */
2060 uint64_t reserved_37_45 : 9;
2061 uint64_t agx0 : 1; /**< Write 1 to set GMX0 interrupt enable */
2062 uint64_t dpi : 1; /**< Write 1 to set DPI interrupt enable */
2063 uint64_t sli : 1; /**< Write 1 to set SLI interrupt enable */
2064 uint64_t usb : 1; /**< Write 1 to set USB UCTL0 interrupt enable */
2065 uint64_t dfa : 1; /**< Write 1 to set DFA interrupt enable */
2066 uint64_t key : 1; /**< Write 1 to set KEY interrupt enable */
2067 uint64_t rad : 1; /**< Write 1 to set RAD interrupt enable */
2068 uint64_t tim : 1; /**< Write 1 to set TIM interrupt enable */
2069 uint64_t zip : 1; /**< Write 1 to set ZIP interrupt enable */
2070 uint64_t pko : 1; /**< Write 1 to set PKO interrupt enable */
2071 uint64_t pip : 1; /**< Write 1 to set PIP interrupt enable */
2072 uint64_t ipd : 1; /**< Write 1 to set IPD interrupt enable */
2073 uint64_t l2c : 1; /**< Write 1 to set L2C interrupt enable */
2074 uint64_t pow : 1; /**< Write 1 to set POW err interrupt enable */
2075 uint64_t fpa : 1; /**< Write 1 to set FPA interrupt enable */
2076 uint64_t iob : 1; /**< Write 1 to set IOB interrupt enable */
2077 uint64_t mio : 1; /**< Write 1 to set MIO boot interrupt enable */
2078 uint64_t nand : 1; /**< Write 1 to set NAND Flash Controller interrupt
2080 uint64_t mii1 : 1; /**< Write 1 to set RGMII/MII/MIX Interface 1 Interrupt
2082 uint64_t reserved_6_17 : 12;
2083 uint64_t wdog : 6; /**< Write 1s to set Watchdog summary interrupt enable */
2086 uint64_t reserved_6_17 : 12;
2106 uint64_t reserved_37_45 : 9;
2114 uint64_t reserved_53_55 : 3;
2116 uint64_t reserved_57_62 : 6;
2120 struct cvmx_ciu_intx_en1_w1s_cn63xx cn63xxp1;
2122 typedef union cvmx_ciu_intx_en1_w1s cvmx_ciu_intx_en1_w1s_t;
2125 * cvmx_ciu_int#_en4_0
2128 * CIU_INT0_EN4_0: PP0 /IP4
2129 * CIU_INT1_EN4_0: PP1 /IP4
2131 * CIU_INT11_EN4_0: PP11 /IP4
2133 union cvmx_ciu_intx_en4_0
2136 struct cvmx_ciu_intx_en4_0_s
2138 #if __BYTE_ORDER == __BIG_ENDIAN
2139 uint64_t bootdma : 1; /**< Boot bus DMA engines Interrupt enable */
2140 uint64_t mii : 1; /**< RGMII/MII/MIX Interface 0 Interrupt enable */
2141 uint64_t ipdppthr : 1; /**< IPD per-port counter threshold interrupt enable */
2142 uint64_t powiq : 1; /**< POW IQ interrupt enable */
2143 uint64_t twsi2 : 1; /**< 2nd TWSI Interrupt enable */
2144 uint64_t mpi : 1; /**< MPI/SPI interrupt */
2145 uint64_t pcm : 1; /**< PCM/TDM interrupt */
2146 uint64_t usb : 1; /**< USB EHCI or OHCI Interrupt enable */
2147 uint64_t timer : 4; /**< General timer interrupt enables */
2148 uint64_t key_zero : 1; /**< Key Zeroization interrupt */
2149 uint64_t ipd_drp : 1; /**< IPD QOS packet drop interrupt enable */
2150 uint64_t gmx_drp : 2; /**< GMX packet drop interrupt enable */
2151 uint64_t trace : 1; /**< Trace buffer interrupt enable */
2152 uint64_t rml : 1; /**< RML Interrupt enable */
2153 uint64_t twsi : 1; /**< TWSI Interrupt enable */
2154 uint64_t reserved_44_44 : 1;
2155 uint64_t pci_msi : 4; /**< PCIe/sRIO MSI enables */
2156 uint64_t pci_int : 4; /**< PCIe INTA/B/C/D enables */
2157 uint64_t uart : 2; /**< Two UART interrupt enables */
2158 uint64_t mbox : 2; /**< Two mailbox interrupt enables */
2159 uint64_t gpio : 16; /**< 16 GPIO interrupt enables */
2160 uint64_t workq : 16; /**< 16 work queue interrupt enables */
2162 uint64_t workq : 16;
2166 uint64_t pci_int : 4;
2167 uint64_t pci_msi : 4;
2168 uint64_t reserved_44_44 : 1;
2172 uint64_t gmx_drp : 2;
2173 uint64_t ipd_drp : 1;
2174 uint64_t key_zero : 1;
2181 uint64_t ipdppthr : 1;
2183 uint64_t bootdma : 1;
2186 struct cvmx_ciu_intx_en4_0_cn50xx
2188 #if __BYTE_ORDER == __BIG_ENDIAN
2189 uint64_t reserved_59_63 : 5;
2190 uint64_t mpi : 1; /**< MPI/SPI interrupt */
2191 uint64_t pcm : 1; /**< PCM/TDM interrupt */
2192 uint64_t usb : 1; /**< USB interrupt */
2193 uint64_t timer : 4; /**< General timer interrupts */
2194 uint64_t reserved_51_51 : 1;
2195 uint64_t ipd_drp : 1; /**< IPD QOS packet drop */
2196 uint64_t reserved_49_49 : 1;
2197 uint64_t gmx_drp : 1; /**< GMX packet drop */
2198 uint64_t reserved_47_47 : 1;
2199 uint64_t rml : 1; /**< RML Interrupt */
2200 uint64_t twsi : 1; /**< TWSI Interrupt */
2201 uint64_t reserved_44_44 : 1;
2202 uint64_t pci_msi : 4; /**< PCI MSI */
2203 uint64_t pci_int : 4; /**< PCI INTA/B/C/D */
2204 uint64_t uart : 2; /**< Two UART interrupts */
2205 uint64_t mbox : 2; /**< Two mailbox/PCI interrupts */
2206 uint64_t gpio : 16; /**< 16 GPIO interrupts */
2207 uint64_t workq : 16; /**< 16 work queue interrupts */
2209 uint64_t workq : 16;
2213 uint64_t pci_int : 4;
2214 uint64_t pci_msi : 4;
2215 uint64_t reserved_44_44 : 1;
2218 uint64_t reserved_47_47 : 1;
2219 uint64_t gmx_drp : 1;
2220 uint64_t reserved_49_49 : 1;
2221 uint64_t ipd_drp : 1;
2222 uint64_t reserved_51_51 : 1;
2227 uint64_t reserved_59_63 : 5;
2230 struct cvmx_ciu_intx_en4_0_cn52xx
2232 #if __BYTE_ORDER == __BIG_ENDIAN
2233 uint64_t bootdma : 1; /**< Boot bus DMA engines Interrupt */
2234 uint64_t mii : 1; /**< MII Interface Interrupt */
2235 uint64_t ipdppthr : 1; /**< IPD per-port counter threshold interrupt */
2236 uint64_t powiq : 1; /**< POW IQ interrupt */
2237 uint64_t twsi2 : 1; /**< 2nd TWSI Interrupt */
2238 uint64_t reserved_57_58 : 2;
2239 uint64_t usb : 1; /**< USB Interrupt */
2240 uint64_t timer : 4; /**< General timer interrupts */
2241 uint64_t reserved_51_51 : 1;
2242 uint64_t ipd_drp : 1; /**< IPD QOS packet drop */
2243 uint64_t reserved_49_49 : 1;
2244 uint64_t gmx_drp : 1; /**< GMX packet drop */
2245 uint64_t trace : 1; /**< L2C has the CMB trace buffer */
2246 uint64_t rml : 1; /**< RML Interrupt */
2247 uint64_t twsi : 1; /**< TWSI Interrupt */
2248 uint64_t reserved_44_44 : 1;
2249 uint64_t pci_msi : 4; /**< PCI MSI */
2250 uint64_t pci_int : 4; /**< PCI INTA/B/C/D */
2251 uint64_t uart : 2; /**< Two UART interrupts */
2252 uint64_t mbox : 2; /**< Two mailbox/PCI interrupts */
2253 uint64_t gpio : 16; /**< 16 GPIO interrupts */
2254 uint64_t workq : 16; /**< 16 work queue interrupts */
2256 uint64_t workq : 16;
2260 uint64_t pci_int : 4;
2261 uint64_t pci_msi : 4;
2262 uint64_t reserved_44_44 : 1;
2266 uint64_t gmx_drp : 1;
2267 uint64_t reserved_49_49 : 1;
2268 uint64_t ipd_drp : 1;
2269 uint64_t reserved_51_51 : 1;
2272 uint64_t reserved_57_58 : 2;
2275 uint64_t ipdppthr : 1;
2277 uint64_t bootdma : 1;
2280 struct cvmx_ciu_intx_en4_0_cn52xx cn52xxp1;
2281 struct cvmx_ciu_intx_en4_0_cn56xx
2283 #if __BYTE_ORDER == __BIG_ENDIAN
2284 uint64_t bootdma : 1; /**< Boot bus DMA engines Interrupt */
2285 uint64_t mii : 1; /**< MII Interface Interrupt */
2286 uint64_t ipdppthr : 1; /**< IPD per-port counter threshold interrupt */
2287 uint64_t powiq : 1; /**< POW IQ interrupt */
2288 uint64_t twsi2 : 1; /**< 2nd TWSI Interrupt */
2289 uint64_t reserved_57_58 : 2;
2290 uint64_t usb : 1; /**< USB Interrupt */
2291 uint64_t timer : 4; /**< General timer interrupts */
2292 uint64_t key_zero : 1; /**< Key Zeroization interrupt */
2293 uint64_t ipd_drp : 1; /**< IPD QOS packet drop */
2294 uint64_t gmx_drp : 2; /**< GMX packet drop */
2295 uint64_t trace : 1; /**< L2C has the CMB trace buffer */
2296 uint64_t rml : 1; /**< RML Interrupt */
2297 uint64_t twsi : 1; /**< TWSI Interrupt */
2298 uint64_t reserved_44_44 : 1;
2299 uint64_t pci_msi : 4; /**< PCI MSI */
2300 uint64_t pci_int : 4; /**< PCI INTA/B/C/D */
2301 uint64_t uart : 2; /**< Two UART interrupts */
2302 uint64_t mbox : 2; /**< Two mailbox/PCI interrupts */
2303 uint64_t gpio : 16; /**< 16 GPIO interrupts */
2304 uint64_t workq : 16; /**< 16 work queue interrupts */
2306 uint64_t workq : 16;
2310 uint64_t pci_int : 4;
2311 uint64_t pci_msi : 4;
2312 uint64_t reserved_44_44 : 1;
2316 uint64_t gmx_drp : 2;
2317 uint64_t ipd_drp : 1;
2318 uint64_t key_zero : 1;
2321 uint64_t reserved_57_58 : 2;
2324 uint64_t ipdppthr : 1;
2326 uint64_t bootdma : 1;
2329 struct cvmx_ciu_intx_en4_0_cn56xx cn56xxp1;
2330 struct cvmx_ciu_intx_en4_0_cn58xx
2332 #if __BYTE_ORDER == __BIG_ENDIAN
2333 uint64_t reserved_56_63 : 8;
2334 uint64_t timer : 4; /**< General timer interrupts */
2335 uint64_t key_zero : 1; /**< Key Zeroization interrupt */
2336 uint64_t ipd_drp : 1; /**< IPD QOS packet drop */
2337 uint64_t gmx_drp : 2; /**< GMX packet drop */
2338 uint64_t trace : 1; /**< L2C has the CMB trace buffer */
2339 uint64_t rml : 1; /**< RML Interrupt */
2340 uint64_t twsi : 1; /**< TWSI Interrupt */
2341 uint64_t reserved_44_44 : 1;
2342 uint64_t pci_msi : 4; /**< PCI MSI */
2343 uint64_t pci_int : 4; /**< PCI INTA/B/C/D */
2344 uint64_t uart : 2; /**< Two UART interrupts */
2345 uint64_t mbox : 2; /**< Two mailbox/PCI interrupts */
2346 uint64_t gpio : 16; /**< 16 GPIO interrupts */
2347 uint64_t workq : 16; /**< 16 work queue interrupts */
2349 uint64_t workq : 16;
2353 uint64_t pci_int : 4;
2354 uint64_t pci_msi : 4;
2355 uint64_t reserved_44_44 : 1;
2359 uint64_t gmx_drp : 2;
2360 uint64_t ipd_drp : 1;
2361 uint64_t key_zero : 1;
2363 uint64_t reserved_56_63 : 8;
2366 struct cvmx_ciu_intx_en4_0_cn58xx cn58xxp1;
2367 struct cvmx_ciu_intx_en4_0_cn52xx cn63xx;
2368 struct cvmx_ciu_intx_en4_0_cn52xx cn63xxp1;
2370 typedef union cvmx_ciu_intx_en4_0 cvmx_ciu_intx_en4_0_t;
2373 * cvmx_ciu_int#_en4_0_w1c
2376 * Write-1-to-clear version of the CIU_INTx_EN4_0 register
2379 union cvmx_ciu_intx_en4_0_w1c
2382 struct cvmx_ciu_intx_en4_0_w1c_s
2384 #if __BYTE_ORDER == __BIG_ENDIAN
2385 uint64_t bootdma : 1; /**< Write 1 to clear Boot bus DMA engines Interrupt
2387 uint64_t mii : 1; /**< Write 1 to clr RGMII/MII/MIX Interface 0 Interrupt
2389 uint64_t ipdppthr : 1; /**< Write 1 to clear IPD per-port counter threshold
2391 uint64_t powiq : 1; /**< Write 1 to clear POW IQ interrupt */
2392 uint64_t twsi2 : 1; /**< Write 1 to clear 2nd TWSI Interrupt */
2393 uint64_t reserved_57_58 : 2;
2394 uint64_t usb : 1; /**< Write 1 to clear USB EHCI or OHCI Interrupt */
2395 uint64_t timer : 4; /**< Write 1 to clear General timer interrupts */
2396 uint64_t key_zero : 1; /**< Key Zeroization interrupt */
2397 uint64_t ipd_drp : 1; /**< Write 1 to clear IPD QOS packet drop interrupt
2399 uint64_t gmx_drp : 2; /**< Write 1 to clear GMX packet drop interrupt enable */
2400 uint64_t trace : 1; /**< Write 1 to clear Trace buffer interrupt enable */
2401 uint64_t rml : 1; /**< Write 1 to clear RML Interrupt enable */
2402 uint64_t twsi : 1; /**< Write 1 to clear TWSI Interrupt enable */
2403 uint64_t reserved_44_44 : 1;
2404 uint64_t pci_msi : 4; /**< Write 1s to clear PCIe/sRIO MSI enables */
2405 uint64_t pci_int : 4; /**< Write 1s to clear PCIe INTA/B/C/D enables */
2406 uint64_t uart : 2; /**< Write 1s to clear UART interrupt enables */
2407 uint64_t mbox : 2; /**< Write 1s to clear mailbox interrupt enables */
2408 uint64_t gpio : 16; /**< Write 1s to clear GPIO interrupt enables */
2409 uint64_t workq : 16; /**< Write 1s to clear work queue interrupt enables */
2411 uint64_t workq : 16;
2415 uint64_t pci_int : 4;
2416 uint64_t pci_msi : 4;
2417 uint64_t reserved_44_44 : 1;
2421 uint64_t gmx_drp : 2;
2422 uint64_t ipd_drp : 1;
2423 uint64_t key_zero : 1;
2426 uint64_t reserved_57_58 : 2;
2429 uint64_t ipdppthr : 1;
2431 uint64_t bootdma : 1;
2434 struct cvmx_ciu_intx_en4_0_w1c_cn52xx
2436 #if __BYTE_ORDER == __BIG_ENDIAN
2437 uint64_t bootdma : 1; /**< Boot bus DMA engines Interrupt */
2438 uint64_t mii : 1; /**< MII Interface Interrupt */
2439 uint64_t ipdppthr : 1; /**< IPD per-port counter threshold interrupt */
2440 uint64_t powiq : 1; /**< POW IQ interrupt */
2441 uint64_t twsi2 : 1; /**< 2nd TWSI Interrupt */
2442 uint64_t reserved_57_58 : 2;
2443 uint64_t usb : 1; /**< USB Interrupt */
2444 uint64_t timer : 4; /**< General timer interrupts */
2445 uint64_t reserved_51_51 : 1;
2446 uint64_t ipd_drp : 1; /**< IPD QOS packet drop */
2447 uint64_t reserved_49_49 : 1;
2448 uint64_t gmx_drp : 1; /**< GMX packet drop */
2449 uint64_t trace : 1; /**< L2C has the CMB trace buffer */
2450 uint64_t rml : 1; /**< RML Interrupt */
2451 uint64_t twsi : 1; /**< TWSI Interrupt */
2452 uint64_t reserved_44_44 : 1;
2453 uint64_t pci_msi : 4; /**< PCI MSI */
2454 uint64_t pci_int : 4; /**< PCI INTA/B/C/D */
2455 uint64_t uart : 2; /**< Two UART interrupts */
2456 uint64_t mbox : 2; /**< Two mailbox/PCI interrupts */
2457 uint64_t gpio : 16; /**< 16 GPIO interrupts */
2458 uint64_t workq : 16; /**< 16 work queue interrupts */
2460 uint64_t workq : 16;
2464 uint64_t pci_int : 4;
2465 uint64_t pci_msi : 4;
2466 uint64_t reserved_44_44 : 1;
2470 uint64_t gmx_drp : 1;
2471 uint64_t reserved_49_49 : 1;
2472 uint64_t ipd_drp : 1;
2473 uint64_t reserved_51_51 : 1;
2476 uint64_t reserved_57_58 : 2;
2479 uint64_t ipdppthr : 1;
2481 uint64_t bootdma : 1;
2484 struct cvmx_ciu_intx_en4_0_w1c_s cn56xx;
2485 struct cvmx_ciu_intx_en4_0_w1c_cn58xx
2487 #if __BYTE_ORDER == __BIG_ENDIAN
2488 uint64_t reserved_56_63 : 8;
2489 uint64_t timer : 4; /**< General timer interrupts */
2490 uint64_t key_zero : 1; /**< Key Zeroization interrupt */
2491 uint64_t ipd_drp : 1; /**< IPD QOS packet drop */
2492 uint64_t gmx_drp : 2; /**< GMX packet drop */
2493 uint64_t trace : 1; /**< L2C has the CMB trace buffer */
2494 uint64_t rml : 1; /**< RML Interrupt */
2495 uint64_t twsi : 1; /**< TWSI Interrupt */
2496 uint64_t reserved_44_44 : 1;
2497 uint64_t pci_msi : 4; /**< PCI MSI */
2498 uint64_t pci_int : 4; /**< PCI INTA/B/C/D */
2499 uint64_t uart : 2; /**< Two UART interrupts */
2500 uint64_t mbox : 2; /**< Two mailbox/PCI interrupts */
2501 uint64_t gpio : 16; /**< 16 GPIO interrupts */
2502 uint64_t workq : 16; /**< 16 work queue interrupts */
2504 uint64_t workq : 16;
2508 uint64_t pci_int : 4;
2509 uint64_t pci_msi : 4;
2510 uint64_t reserved_44_44 : 1;
2514 uint64_t gmx_drp : 2;
2515 uint64_t ipd_drp : 1;
2516 uint64_t key_zero : 1;
2518 uint64_t reserved_56_63 : 8;
2521 struct cvmx_ciu_intx_en4_0_w1c_cn52xx cn63xx;
2522 struct cvmx_ciu_intx_en4_0_w1c_cn52xx cn63xxp1;
2524 typedef union cvmx_ciu_intx_en4_0_w1c cvmx_ciu_intx_en4_0_w1c_t;
2527 * cvmx_ciu_int#_en4_0_w1s
2530 * Write-1-to-set version of the CIU_INTx_EN4_0 register
2533 union cvmx_ciu_intx_en4_0_w1s
2536 struct cvmx_ciu_intx_en4_0_w1s_s
2538 #if __BYTE_ORDER == __BIG_ENDIAN
2539 uint64_t bootdma : 1; /**< Write 1 to set Boot bus DMA engines Interrupt
2541 uint64_t mii : 1; /**< Write 1 to set RGMII/MII/MIX Interface 0 Interrupt
2543 uint64_t ipdppthr : 1; /**< Write 1 to set IPD per-port counter threshold
2545 uint64_t powiq : 1; /**< Write 1 to set POW IQ interrupt */
2546 uint64_t twsi2 : 1; /**< Write 1 to set 2nd TWSI Interrupt */
2547 uint64_t reserved_57_58 : 2;
2548 uint64_t usb : 1; /**< Write 1 to set USB EHCI or OHCI Interrupt */
2549 uint64_t timer : 4; /**< Write 1 to set General timer interrupts */
2550 uint64_t key_zero : 1; /**< Key Zeroization interrupt */
2551 uint64_t ipd_drp : 1; /**< Write 1 to set IPD QOS packet drop interrupt
2553 uint64_t gmx_drp : 2; /**< Write 1 to set GMX packet drop interrupt enable */
2554 uint64_t trace : 1; /**< Write 1 to set Trace buffer interrupt enable */
2555 uint64_t rml : 1; /**< Write 1 to set RML Interrupt enable */
2556 uint64_t twsi : 1; /**< Write 1 to set TWSI Interrupt enable */
2557 uint64_t reserved_44_44 : 1;
2558 uint64_t pci_msi : 4; /**< Write 1s to set PCIe/sRIO MSI enables */
2559 uint64_t pci_int : 4; /**< Write 1s to set PCIe INTA/B/C/D enables */
2560 uint64_t uart : 2; /**< Write 1s to set UART interrupt enables */
2561 uint64_t mbox : 2; /**< Write 1s to set mailbox interrupt enables */
2562 uint64_t gpio : 16; /**< Write 1s to set GPIO interrupt enables */
2563 uint64_t workq : 16; /**< Write 1s to set work queue interrupt enables */
2565 uint64_t workq : 16;
2569 uint64_t pci_int : 4;
2570 uint64_t pci_msi : 4;
2571 uint64_t reserved_44_44 : 1;
2575 uint64_t gmx_drp : 2;
2576 uint64_t ipd_drp : 1;
2577 uint64_t key_zero : 1;
2580 uint64_t reserved_57_58 : 2;
2583 uint64_t ipdppthr : 1;
2585 uint64_t bootdma : 1;
2588 struct cvmx_ciu_intx_en4_0_w1s_cn52xx
2590 #if __BYTE_ORDER == __BIG_ENDIAN
2591 uint64_t bootdma : 1; /**< Boot bus DMA engines Interrupt */
2592 uint64_t mii : 1; /**< MII Interface Interrupt */
2593 uint64_t ipdppthr : 1; /**< IPD per-port counter threshold interrupt */
2594 uint64_t powiq : 1; /**< POW IQ interrupt */
2595 uint64_t twsi2 : 1; /**< 2nd TWSI Interrupt */
2596 uint64_t reserved_57_58 : 2;
2597 uint64_t usb : 1; /**< USB Interrupt */
2598 uint64_t timer : 4; /**< General timer interrupts */
2599 uint64_t reserved_51_51 : 1;
2600 uint64_t ipd_drp : 1; /**< IPD QOS packet drop */
2601 uint64_t reserved_49_49 : 1;
2602 uint64_t gmx_drp : 1; /**< GMX packet drop */
2603 uint64_t trace : 1; /**< L2C has the CMB trace buffer */
2604 uint64_t rml : 1; /**< RML Interrupt */
2605 uint64_t twsi : 1; /**< TWSI Interrupt */
2606 uint64_t reserved_44_44 : 1;
2607 uint64_t pci_msi : 4; /**< PCI MSI */
2608 uint64_t pci_int : 4; /**< PCI INTA/B/C/D */
2609 uint64_t uart : 2; /**< Two UART interrupts */
2610 uint64_t mbox : 2; /**< Two mailbox/PCI interrupts */
2611 uint64_t gpio : 16; /**< 16 GPIO interrupts */
2612 uint64_t workq : 16; /**< 16 work queue interrupts */
2614 uint64_t workq : 16;
2618 uint64_t pci_int : 4;
2619 uint64_t pci_msi : 4;
2620 uint64_t reserved_44_44 : 1;
2624 uint64_t gmx_drp : 1;
2625 uint64_t reserved_49_49 : 1;
2626 uint64_t ipd_drp : 1;
2627 uint64_t reserved_51_51 : 1;
2630 uint64_t reserved_57_58 : 2;
2633 uint64_t ipdppthr : 1;
2635 uint64_t bootdma : 1;
2638 struct cvmx_ciu_intx_en4_0_w1s_s cn56xx;
2639 struct cvmx_ciu_intx_en4_0_w1s_cn58xx
2641 #if __BYTE_ORDER == __BIG_ENDIAN
2642 uint64_t reserved_56_63 : 8;
2643 uint64_t timer : 4; /**< General timer interrupts */
2644 uint64_t key_zero : 1; /**< Key Zeroization interrupt */
2645 uint64_t ipd_drp : 1; /**< IPD QOS packet drop */
2646 uint64_t gmx_drp : 2; /**< GMX packet drop */
2647 uint64_t trace : 1; /**< L2C has the CMB trace buffer */
2648 uint64_t rml : 1; /**< RML Interrupt */
2649 uint64_t twsi : 1; /**< TWSI Interrupt */
2650 uint64_t reserved_44_44 : 1;
2651 uint64_t pci_msi : 4; /**< PCI MSI */
2652 uint64_t pci_int : 4; /**< PCI INTA/B/C/D */
2653 uint64_t uart : 2; /**< Two UART interrupts */
2654 uint64_t mbox : 2; /**< Two mailbox/PCI interrupts */
2655 uint64_t gpio : 16; /**< 16 GPIO interrupts */
2656 uint64_t workq : 16; /**< 16 work queue interrupts */
2658 uint64_t workq : 16;
2662 uint64_t pci_int : 4;
2663 uint64_t pci_msi : 4;
2664 uint64_t reserved_44_44 : 1;
2668 uint64_t gmx_drp : 2;
2669 uint64_t ipd_drp : 1;
2670 uint64_t key_zero : 1;
2672 uint64_t reserved_56_63 : 8;
2675 struct cvmx_ciu_intx_en4_0_w1s_cn52xx cn63xx;
2676 struct cvmx_ciu_intx_en4_0_w1s_cn52xx cn63xxp1;
2678 typedef union cvmx_ciu_intx_en4_0_w1s cvmx_ciu_intx_en4_0_w1s_t;
2681 * cvmx_ciu_int#_en4_1
2684 * PPx/IP4 will be raised when...
2685 * PPx/IP4 = |([CIU_INT_SUM1, CIU_INTx_SUM4] & [CIU_INTx_EN4_1, CIU_INTx_EN4_0])
2687 union cvmx_ciu_intx_en4_1
2690 struct cvmx_ciu_intx_en4_1_s
2692 #if __BYTE_ORDER == __BIG_ENDIAN
2693 uint64_t rst : 1; /**< MIO RST interrupt enable */
2694 uint64_t reserved_57_62 : 6;
2695 uint64_t dfm : 1; /**< DFM interrupt enable */
2696 uint64_t reserved_53_55 : 3;
2697 uint64_t lmc0 : 1; /**< LMC0 interrupt enable */
2698 uint64_t srio1 : 1; /**< SRIO1 interrupt enable */
2699 uint64_t srio0 : 1; /**< SRIO0 interrupt enable */
2700 uint64_t pem1 : 1; /**< PEM1 interrupt enable */
2701 uint64_t pem0 : 1; /**< PEM0 interrupt enable */
2702 uint64_t ptp : 1; /**< PTP interrupt enable */
2703 uint64_t agl : 1; /**< AGL interrupt enable */
2704 uint64_t reserved_37_45 : 9;
2705 uint64_t agx0 : 1; /**< GMX0 interrupt enable */
2706 uint64_t dpi : 1; /**< DPI interrupt enable */
2707 uint64_t sli : 1; /**< SLI interrupt enable */
2708 uint64_t usb : 1; /**< USB UCTL0 interrupt enable */
2709 uint64_t dfa : 1; /**< DFA interrupt enable */
2710 uint64_t key : 1; /**< KEY interrupt enable */
2711 uint64_t rad : 1; /**< RAD interrupt enable */
2712 uint64_t tim : 1; /**< TIM interrupt enable */
2713 uint64_t zip : 1; /**< ZIP interrupt enable */
2714 uint64_t pko : 1; /**< PKO interrupt enable */
2715 uint64_t pip : 1; /**< PIP interrupt enable */
2716 uint64_t ipd : 1; /**< IPD interrupt enable */
2717 uint64_t l2c : 1; /**< L2C interrupt enable */
2718 uint64_t pow : 1; /**< POW err interrupt enable */
2719 uint64_t fpa : 1; /**< FPA interrupt enable */
2720 uint64_t iob : 1; /**< IOB interrupt enable */
2721 uint64_t mio : 1; /**< MIO boot interrupt enable */
2722 uint64_t nand : 1; /**< NAND Flash Controller interrupt enable */
2723 uint64_t mii1 : 1; /**< RGMII/MII/MIX Interface 1 Interrupt enable */
2724 uint64_t usb1 : 1; /**< Second USB Interrupt */
2725 uint64_t uart2 : 1; /**< Third UART interrupt */
2726 uint64_t wdog : 16; /**< Watchdog summary interrupt enable vector */
2750 uint64_t reserved_37_45 : 9;
2758 uint64_t reserved_53_55 : 3;
2760 uint64_t reserved_57_62 : 6;
2764 struct cvmx_ciu_intx_en4_1_cn50xx
2766 #if __BYTE_ORDER == __BIG_ENDIAN
2767 uint64_t reserved_2_63 : 62;
2768 uint64_t wdog : 2; /**< Watchdog summary interrupt enable vectory */
2771 uint64_t reserved_2_63 : 62;
2774 struct cvmx_ciu_intx_en4_1_cn52xx
2776 #if __BYTE_ORDER == __BIG_ENDIAN
2777 uint64_t reserved_20_63 : 44;
2778 uint64_t nand : 1; /**< NAND Flash Controller */
2779 uint64_t mii1 : 1; /**< Second MII Interrupt */
2780 uint64_t usb1 : 1; /**< Second USB Interrupt */
2781 uint64_t uart2 : 1; /**< Third UART interrupt */
2782 uint64_t reserved_4_15 : 12;
2783 uint64_t wdog : 4; /**< Watchdog summary interrupt enable vector */
2786 uint64_t reserved_4_15 : 12;
2791 uint64_t reserved_20_63 : 44;
2794 struct cvmx_ciu_intx_en4_1_cn52xxp1
2796 #if __BYTE_ORDER == __BIG_ENDIAN
2797 uint64_t reserved_19_63 : 45;
2798 uint64_t mii1 : 1; /**< Second MII Interrupt */
2799 uint64_t usb1 : 1; /**< Second USB Interrupt */
2800 uint64_t uart2 : 1; /**< Third UART interrupt */
2801 uint64_t reserved_4_15 : 12;
2802 uint64_t wdog : 4; /**< Watchdog summary interrupt enable vector */
2805 uint64_t reserved_4_15 : 12;
2809 uint64_t reserved_19_63 : 45;
2812 struct cvmx_ciu_intx_en4_1_cn56xx
2814 #if __BYTE_ORDER == __BIG_ENDIAN
2815 uint64_t reserved_12_63 : 52;
2816 uint64_t wdog : 12; /**< Watchdog summary interrupt enable vectory */
2819 uint64_t reserved_12_63 : 52;
2822 struct cvmx_ciu_intx_en4_1_cn56xx cn56xxp1;
2823 struct cvmx_ciu_intx_en4_1_cn58xx
2825 #if __BYTE_ORDER == __BIG_ENDIAN
2826 uint64_t reserved_16_63 : 48;
2827 uint64_t wdog : 16; /**< Watchdog summary interrupt enable vectory */
2830 uint64_t reserved_16_63 : 48;
2833 struct cvmx_ciu_intx_en4_1_cn58xx cn58xxp1;
2834 struct cvmx_ciu_intx_en4_1_cn63xx
2836 #if __BYTE_ORDER == __BIG_ENDIAN
2837 uint64_t rst : 1; /**< MIO RST interrupt enable */
2838 uint64_t reserved_57_62 : 6;
2839 uint64_t dfm : 1; /**< DFM interrupt enable */
2840 uint64_t reserved_53_55 : 3;
2841 uint64_t lmc0 : 1; /**< LMC0 interrupt enable */
2842 uint64_t srio1 : 1; /**< SRIO1 interrupt enable */
2843 uint64_t srio0 : 1; /**< SRIO0 interrupt enable */
2844 uint64_t pem1 : 1; /**< PEM1 interrupt enable */
2845 uint64_t pem0 : 1; /**< PEM0 interrupt enable */
2846 uint64_t ptp : 1; /**< PTP interrupt enable */
2847 uint64_t agl : 1; /**< AGL interrupt enable */
2848 uint64_t reserved_37_45 : 9;
2849 uint64_t agx0 : 1; /**< GMX0 interrupt enable */
2850 uint64_t dpi : 1; /**< DPI interrupt enable */
2851 uint64_t sli : 1; /**< SLI interrupt enable */
2852 uint64_t usb : 1; /**< USB UCTL0 interrupt enable */
2853 uint64_t dfa : 1; /**< DFA interrupt enable */
2854 uint64_t key : 1; /**< KEY interrupt enable */
2855 uint64_t rad : 1; /**< RAD interrupt enable */
2856 uint64_t tim : 1; /**< TIM interrupt enable */
2857 uint64_t zip : 1; /**< ZIP interrupt enable */
2858 uint64_t pko : 1; /**< PKO interrupt enable */
2859 uint64_t pip : 1; /**< PIP interrupt enable */
2860 uint64_t ipd : 1; /**< IPD interrupt enable */
2861 uint64_t l2c : 1; /**< L2C interrupt enable */
2862 uint64_t pow : 1; /**< POW err interrupt enable */
2863 uint64_t fpa : 1; /**< FPA interrupt enable */
2864 uint64_t iob : 1; /**< IOB interrupt enable */
2865 uint64_t mio : 1; /**< MIO boot interrupt enable */
2866 uint64_t nand : 1; /**< NAND Flash Controller interrupt enable */
2867 uint64_t mii1 : 1; /**< RGMII/MII/MIX Interface 1 Interrupt enable */
2868 uint64_t reserved_6_17 : 12;
2869 uint64_t wdog : 6; /**< Watchdog summary interrupt enable vector */
2872 uint64_t reserved_6_17 : 12;
2892 uint64_t reserved_37_45 : 9;
2900 uint64_t reserved_53_55 : 3;
2902 uint64_t reserved_57_62 : 6;
2906 struct cvmx_ciu_intx_en4_1_cn63xx cn63xxp1;
2908 typedef union cvmx_ciu_intx_en4_1 cvmx_ciu_intx_en4_1_t;
2911 * cvmx_ciu_int#_en4_1_w1c
2914 * Write-1-to-clear version of the CIU_INTx_EN4_1 register
2917 union cvmx_ciu_intx_en4_1_w1c
2920 struct cvmx_ciu_intx_en4_1_w1c_s
2922 #if __BYTE_ORDER == __BIG_ENDIAN
2923 uint64_t rst : 1; /**< Write 1 to clear MIO RST interrupt enable */
2924 uint64_t reserved_57_62 : 6;
2925 uint64_t dfm : 1; /**< Write 1 to clear DFM interrupt enable */
2926 uint64_t reserved_53_55 : 3;
2927 uint64_t lmc0 : 1; /**< Write 1 to clear LMC0 interrupt enable */
2928 uint64_t srio1 : 1; /**< Write 1 to clear SRIO1 interrupt enable */
2929 uint64_t srio0 : 1; /**< Write 1 to clear SRIO0 interrupt enable */
2930 uint64_t pem1 : 1; /**< Write 1 to clear PEM1 interrupt enable */
2931 uint64_t pem0 : 1; /**< Write 1 to clear PEM0 interrupt enable */
2932 uint64_t ptp : 1; /**< Write 1 to clear PTP interrupt enable */
2933 uint64_t agl : 1; /**< Write 1 to clear AGL interrupt enable */
2934 uint64_t reserved_37_45 : 9;
2935 uint64_t agx0 : 1; /**< Write 1 to clear GMX0 interrupt enable */
2936 uint64_t dpi : 1; /**< Write 1 to clear DPI interrupt enable */
2937 uint64_t sli : 1; /**< Write 1 to clear SLI interrupt enable */
2938 uint64_t usb : 1; /**< Write 1 to clear USB UCTL0 interrupt enable */
2939 uint64_t dfa : 1; /**< Write 1 to clear DFA interrupt enable */
2940 uint64_t key : 1; /**< Write 1 to clear KEY interrupt enable */
2941 uint64_t rad : 1; /**< Write 1 to clear RAD interrupt enable */
2942 uint64_t tim : 1; /**< Write 1 to clear TIM interrupt enable */
2943 uint64_t zip : 1; /**< Write 1 to clear ZIP interrupt enable */
2944 uint64_t pko : 1; /**< Write 1 to clear PKO interrupt enable */
2945 uint64_t pip : 1; /**< Write 1 to clear PIP interrupt enable */
2946 uint64_t ipd : 1; /**< Write 1 to clear IPD interrupt enable */
2947 uint64_t l2c : 1; /**< Write 1 to clear L2C interrupt enable */
2948 uint64_t pow : 1; /**< Write 1 to clear POW err interrupt enable */
2949 uint64_t fpa : 1; /**< Write 1 to clear FPA interrupt enable */
2950 uint64_t iob : 1; /**< Write 1 to clear IOB interrupt enable */
2951 uint64_t mio : 1; /**< Write 1 to clear MIO boot interrupt enable */
2952 uint64_t nand : 1; /**< Write 1 to clear NAND Flash Controller interrupt
2954 uint64_t mii1 : 1; /**< Write 1 to clear RGMII/MII/MIX Interface 1
2956 uint64_t usb1 : 1; /**< Second USB Interrupt */
2957 uint64_t uart2 : 1; /**< Third UART interrupt */
2958 uint64_t wdog : 16; /**< Write 1s to clear Watchdog summary interrupt enable */
2982 uint64_t reserved_37_45 : 9;
2990 uint64_t reserved_53_55 : 3;
2992 uint64_t reserved_57_62 : 6;
2996 struct cvmx_ciu_intx_en4_1_w1c_cn52xx
2998 #if __BYTE_ORDER == __BIG_ENDIAN
2999 uint64_t reserved_20_63 : 44;
3000 uint64_t nand : 1; /**< NAND Flash Controller */
3001 uint64_t mii1 : 1; /**< Second MII Interrupt */
3002 uint64_t usb1 : 1; /**< Second USB Interrupt */
3003 uint64_t uart2 : 1; /**< Third UART interrupt */
3004 uint64_t reserved_4_15 : 12;
3005 uint64_t wdog : 4; /**< Watchdog summary interrupt enable vector */
3008 uint64_t reserved_4_15 : 12;
3013 uint64_t reserved_20_63 : 44;
3016 struct cvmx_ciu_intx_en4_1_w1c_cn56xx
3018 #if __BYTE_ORDER == __BIG_ENDIAN
3019 uint64_t reserved_12_63 : 52;
3020 uint64_t wdog : 12; /**< Watchdog summary interrupt enable vectory */
3023 uint64_t reserved_12_63 : 52;
3026 struct cvmx_ciu_intx_en4_1_w1c_cn58xx
3028 #if __BYTE_ORDER == __BIG_ENDIAN
3029 uint64_t reserved_16_63 : 48;
3030 uint64_t wdog : 16; /**< Watchdog summary interrupt enable vectory */
3033 uint64_t reserved_16_63 : 48;
3036 struct cvmx_ciu_intx_en4_1_w1c_cn63xx
3038 #if __BYTE_ORDER == __BIG_ENDIAN
3039 uint64_t rst : 1; /**< Write 1 to clear MIO RST interrupt enable */
3040 uint64_t reserved_57_62 : 6;
3041 uint64_t dfm : 1; /**< Write 1 to clear DFM interrupt enable */
3042 uint64_t reserved_53_55 : 3;
3043 uint64_t lmc0 : 1; /**< Write 1 to clear LMC0 interrupt enable */
3044 uint64_t srio1 : 1; /**< Write 1 to clear SRIO1 interrupt enable */
3045 uint64_t srio0 : 1; /**< Write 1 to clear SRIO0 interrupt enable */
3046 uint64_t pem1 : 1; /**< Write 1 to clear PEM1 interrupt enable */
3047 uint64_t pem0 : 1; /**< Write 1 to clear PEM0 interrupt enable */
3048 uint64_t ptp : 1; /**< Write 1 to clear PTP interrupt enable */
3049 uint64_t agl : 1; /**< Write 1 to clear AGL interrupt enable */
3050 uint64_t reserved_37_45 : 9;
3051 uint64_t agx0 : 1; /**< Write 1 to clear GMX0 interrupt enable */
3052 uint64_t dpi : 1; /**< Write 1 to clear DPI interrupt enable */
3053 uint64_t sli : 1; /**< Write 1 to clear SLI interrupt enable */
3054 uint64_t usb : 1; /**< Write 1 to clear USB UCTL0 interrupt enable */
3055 uint64_t dfa : 1; /**< Write 1 to clear DFA interrupt enable */
3056 uint64_t key : 1; /**< Write 1 to clear KEY interrupt enable */
3057 uint64_t rad : 1; /**< Write 1 to clear RAD interrupt enable */
3058 uint64_t tim : 1; /**< Write 1 to clear TIM interrupt enable */
3059 uint64_t zip : 1; /**< Write 1 to clear ZIP interrupt enable */
3060 uint64_t pko : 1; /**< Write 1 to clear PKO interrupt enable */
3061 uint64_t pip : 1; /**< Write 1 to clear PIP interrupt enable */
3062 uint64_t ipd : 1; /**< Write 1 to clear IPD interrupt enable */
3063 uint64_t l2c : 1; /**< Write 1 to clear L2C interrupt enable */
3064 uint64_t pow : 1; /**< Write 1 to clear POW err interrupt enable */
3065 uint64_t fpa : 1; /**< Write 1 to clear FPA interrupt enable */
3066 uint64_t iob : 1; /**< Write 1 to clear IOB interrupt enable */
3067 uint64_t mio : 1; /**< Write 1 to clear MIO boot interrupt enable */
3068 uint64_t nand : 1; /**< Write 1 to clear NAND Flash Controller interrupt
3070 uint64_t mii1 : 1; /**< Write 1 to clear RGMII/MII/MIX Interface 1
3072 uint64_t reserved_6_17 : 12;
3073 uint64_t wdog : 6; /**< Write 1s to clear Watchdog summary interrupt enable */
3076 uint64_t reserved_6_17 : 12;
3096 uint64_t reserved_37_45 : 9;
3104 uint64_t reserved_53_55 : 3;
3106 uint64_t reserved_57_62 : 6;
3110 struct cvmx_ciu_intx_en4_1_w1c_cn63xx cn63xxp1;
3112 typedef union cvmx_ciu_intx_en4_1_w1c cvmx_ciu_intx_en4_1_w1c_t;
3115 * cvmx_ciu_int#_en4_1_w1s
3118 * Write-1-to-set version of the CIU_INTx_EN4_1 register
3121 union cvmx_ciu_intx_en4_1_w1s
3124 struct cvmx_ciu_intx_en4_1_w1s_s
3126 #if __BYTE_ORDER == __BIG_ENDIAN
3127 uint64_t rst : 1; /**< Write 1 to set MIO RST interrupt enable */
3128 uint64_t reserved_57_62 : 6;
3129 uint64_t dfm : 1; /**< Write 1 to set DFM interrupt enable */
3130 uint64_t reserved_53_55 : 3;
3131 uint64_t lmc0 : 1; /**< Write 1 to set LMC0 interrupt enable */
3132 uint64_t srio1 : 1; /**< Write 1 to set SRIO1 interrupt enable */
3133 uint64_t srio0 : 1; /**< Write 1 to set SRIO0 interrupt enable */
3134 uint64_t pem1 : 1; /**< Write 1 to set PEM1 interrupt enable */
3135 uint64_t pem0 : 1; /**< Write 1 to set PEM0 interrupt enable */
3136 uint64_t ptp : 1; /**< Write 1 to set PTP interrupt enable */
3137 uint64_t agl : 1; /**< Write 1 to set AGL interrupt enable */
3138 uint64_t reserved_37_45 : 9;
3139 uint64_t agx0 : 1; /**< Write 1 to set GMX0 interrupt enable */
3140 uint64_t dpi : 1; /**< Write 1 to set DPI interrupt enable */
3141 uint64_t sli : 1; /**< Write 1 to set SLI interrupt enable */
3142 uint64_t usb : 1; /**< Write 1 to set USB UCTL0 interrupt enable */
3143 uint64_t dfa : 1; /**< Write 1 to set DFA interrupt enable */
3144 uint64_t key : 1; /**< Write 1 to set KEY interrupt enable */
3145 uint64_t rad : 1; /**< Write 1 to set RAD interrupt enable */
3146 uint64_t tim : 1; /**< Write 1 to set TIM interrupt enable */
3147 uint64_t zip : 1; /**< Write 1 to set ZIP interrupt enable */
3148 uint64_t pko : 1; /**< Write 1 to set PKO interrupt enable */
3149 uint64_t pip : 1; /**< Write 1 to set PIP interrupt enable */
3150 uint64_t ipd : 1; /**< Write 1 to set IPD interrupt enable */
3151 uint64_t l2c : 1; /**< Write 1 to set L2C interrupt enable */
3152 uint64_t pow : 1; /**< Write 1 to set POW err interrupt enable */
3153 uint64_t fpa : 1; /**< Write 1 to set FPA interrupt enable */
3154 uint64_t iob : 1; /**< Write 1 to set IOB interrupt enable */
3155 uint64_t mio : 1; /**< Write 1 to set MIO boot interrupt enable */
3156 uint64_t nand : 1; /**< Write 1 to set NAND Flash Controller interrupt
3158 uint64_t mii1 : 1; /**< Write 1 to set RGMII/MII/MIX Interface 1 Interrupt
3160 uint64_t usb1 : 1; /**< Second USB Interrupt */
3161 uint64_t uart2 : 1; /**< Third UART interrupt */
3162 uint64_t wdog : 16; /**< Write 1s to set Watchdog summary interrupt enable */
3186 uint64_t reserved_37_45 : 9;
3194 uint64_t reserved_53_55 : 3;
3196 uint64_t reserved_57_62 : 6;
3200 struct cvmx_ciu_intx_en4_1_w1s_cn52xx
3202 #if __BYTE_ORDER == __BIG_ENDIAN
3203 uint64_t reserved_20_63 : 44;
3204 uint64_t nand : 1; /**< NAND Flash Controller */
3205 uint64_t mii1 : 1; /**< Second MII Interrupt */
3206 uint64_t usb1 : 1; /**< Second USB Interrupt */
3207 uint64_t uart2 : 1; /**< Third UART interrupt */
3208 uint64_t reserved_4_15 : 12;
3209 uint64_t wdog : 4; /**< Watchdog summary interrupt enable vector */
3212 uint64_t reserved_4_15 : 12;
3217 uint64_t reserved_20_63 : 44;
3220 struct cvmx_ciu_intx_en4_1_w1s_cn56xx
3222 #if __BYTE_ORDER == __BIG_ENDIAN
3223 uint64_t reserved_12_63 : 52;
3224 uint64_t wdog : 12; /**< Watchdog summary interrupt enable vectory */
3227 uint64_t reserved_12_63 : 52;
3230 struct cvmx_ciu_intx_en4_1_w1s_cn58xx
3232 #if __BYTE_ORDER == __BIG_ENDIAN
3233 uint64_t reserved_16_63 : 48;
3234 uint64_t wdog : 16; /**< Watchdog summary interrupt enable vectory */
3237 uint64_t reserved_16_63 : 48;
3240 struct cvmx_ciu_intx_en4_1_w1s_cn63xx
3242 #if __BYTE_ORDER == __BIG_ENDIAN
3243 uint64_t rst : 1; /**< Write 1 to set MIO RST interrupt enable */
3244 uint64_t reserved_57_62 : 6;
3245 uint64_t dfm : 1; /**< Write 1 to set DFM interrupt enable */
3246 uint64_t reserved_53_55 : 3;
3247 uint64_t lmc0 : 1; /**< Write 1 to set LMC0 interrupt enable */
3248 uint64_t srio1 : 1; /**< Write 1 to set SRIO1 interrupt enable */
3249 uint64_t srio0 : 1; /**< Write 1 to set SRIO0 interrupt enable */
3250 uint64_t pem1 : 1; /**< Write 1 to set PEM1 interrupt enable */
3251 uint64_t pem0 : 1; /**< Write 1 to set PEM0 interrupt enable */
3252 uint64_t ptp : 1; /**< Write 1 to set PTP interrupt enable */
3253 uint64_t agl : 1; /**< Write 1 to set AGL interrupt enable */
3254 uint64_t reserved_37_45 : 9;
3255 uint64_t agx0 : 1; /**< Write 1 to set GMX0 interrupt enable */
3256 uint64_t dpi : 1; /**< Write 1 to set DPI interrupt enable */
3257 uint64_t sli : 1; /**< Write 1 to set SLI interrupt enable */
3258 uint64_t usb : 1; /**< Write 1 to set USB UCTL0 interrupt enable */
3259 uint64_t dfa : 1; /**< Write 1 to set DFA interrupt enable */
3260 uint64_t key : 1; /**< Write 1 to set KEY interrupt enable */
3261 uint64_t rad : 1; /**< Write 1 to set RAD interrupt enable */
3262 uint64_t tim : 1; /**< Write 1 to set TIM interrupt enable */
3263 uint64_t zip : 1; /**< Write 1 to set ZIP interrupt enable */
3264 uint64_t pko : 1; /**< Write 1 to set PKO interrupt enable */
3265 uint64_t pip : 1; /**< Write 1 to set PIP interrupt enable */
3266 uint64_t ipd : 1; /**< Write 1 to set IPD interrupt enable */
3267 uint64_t l2c : 1; /**< Write 1 to set L2C interrupt enable */
3268 uint64_t pow : 1; /**< Write 1 to set POW err interrupt enable */
3269 uint64_t fpa : 1; /**< Write 1 to set FPA interrupt enable */
3270 uint64_t iob : 1; /**< Write 1 to set IOB interrupt enable */
3271 uint64_t mio : 1; /**< Write 1 to set MIO boot interrupt enable */
3272 uint64_t nand : 1; /**< Write 1 to set NAND Flash Controller interrupt
3274 uint64_t mii1 : 1; /**< Write 1 to set RGMII/MII/MIX Interface 1 Interrupt
3276 uint64_t reserved_6_17 : 12;
3277 uint64_t wdog : 6; /**< Write 1s to set Watchdog summary interrupt enable */
3280 uint64_t reserved_6_17 : 12;
3300 uint64_t reserved_37_45 : 9;
3308 uint64_t reserved_53_55 : 3;
3310 uint64_t reserved_57_62 : 6;
3314 struct cvmx_ciu_intx_en4_1_w1s_cn63xx cn63xxp1;
3316 typedef union cvmx_ciu_intx_en4_1_w1s cvmx_ciu_intx_en4_1_w1s_t;
3319 * cvmx_ciu_int#_sum0
3321 union cvmx_ciu_intx_sum0
3324 struct cvmx_ciu_intx_sum0_s
3326 #if __BYTE_ORDER == __BIG_ENDIAN
3327 uint64_t bootdma : 1; /**< Boot bus DMA engines Interrupt
3328 See MIO_BOOT_DMA_INT*, MIO_NDF_DMA_INT */
3329 uint64_t mii : 1; /**< RGMII/MII/MIX Interface 0 Interrupt
3331 uint64_t ipdppthr : 1; /**< IPD per-port counter threshold interrupt
3332 See IPD_PORT_QOS_INT* */
3333 uint64_t powiq : 1; /**< POW IQ interrupt
3335 uint64_t twsi2 : 1; /**< 2nd TWSI Interrupt
3337 uint64_t mpi : 1; /**< MPI/SPI interrupt */
3338 uint64_t pcm : 1; /**< PCM/TDM interrupt */
3339 uint64_t usb : 1; /**< USB EHCI or OHCI Interrupt
3340 See UAHC0_EHCI_USBSTS UAHC0_OHCI0_HCINTERRUPTSTATUS */
3341 uint64_t timer : 4; /**< General timer interrupts
3342 Set any time the corresponding CIU timer expires */
3343 uint64_t key_zero : 1; /**< Key Zeroization interrupt
3344 KEY_ZERO will be set when the external ZERO_KEYS
3345 pin is sampled high. KEY_ZERO is cleared by SW */
3346 uint64_t ipd_drp : 1; /**< IPD QOS packet drop interrupt
3347 Set any time PIP/IPD drops a packet */
3348 uint64_t gmx_drp : 2; /**< GMX packet drop interrupt
3349 Set any time corresponding GMX drops a packet */
3350 uint64_t trace : 1; /**< Trace buffer interrupt
3351 See TRA_INT_STATUS */
3352 uint64_t rml : 1; /**< RML Interrupt
3353 This interrupt will assert if any bit within
3354 CIU_BLOCK_INT is asserted. */
3355 uint64_t twsi : 1; /**< TWSI Interrupt
3357 uint64_t wdog_sum : 1; /**< SUM1&EN1 summary bit
3358 This read-only bit reads as a one whenever any
3359 CIU_INT_SUM1 bit is set and corresponding
3360 enable bit in CIU_INTx_EN is set, where x
3361 is the same as x in this CIU_INTx_SUM0.
3362 PPs use CIU_INTx_SUM0 where x=0-11
3363 PCIe/sRIO uses the CIU_INTx_SUM0 where x=32-33.
3364 Even INTx registers report WDOG to IP2
3365 Odd INTx registers report WDOG to IP3
3366 Note that WDOG_SUM only summarizes the SUM/EN1
3367 result and does not have a corresponding enable
3368 bit, so does not directly contribute to
3370 uint64_t pci_msi : 4; /**< PCIe/sRIO MSI
3371 See SLI_MSI_RCVn for bit <40+n> */
3372 uint64_t pci_int : 4; /**< PCIe INTA/B/C/D
3373 Refer to "Receiving Emulated INTA/INTB/
3374 INTC/INTD" in the SLI chapter of the spec */
3375 uint64_t uart : 2; /**< Two UART interrupts
3376 See MIO_UARTn_IIR[IID] for bit <34+n> */
3377 uint64_t mbox : 2; /**< Two mailbox interrupts for entries 0-11
3378 [33] is the or of <31:16>
3379 [32] is the or of <15:0>
3380 Two PCIe/sRIO internal interrupts for entries 32-33
3381 which equal CIU_PCI_INTA[INT] */
3382 uint64_t gpio : 16; /**< 16 GPIO interrupts */
3383 uint64_t workq : 16; /**< 16 work queue interrupts
3384 See POW_WQ_INT[WQ_INT]
3385 1 bit/group. A copy of the R/W1C bit in the POW. */
3387 uint64_t workq : 16;
3391 uint64_t pci_int : 4;
3392 uint64_t pci_msi : 4;
3393 uint64_t wdog_sum : 1;
3397 uint64_t gmx_drp : 2;
3398 uint64_t ipd_drp : 1;
3399 uint64_t key_zero : 1;
3406 uint64_t ipdppthr : 1;
3408 uint64_t bootdma : 1;
3411 struct cvmx_ciu_intx_sum0_cn30xx
3413 #if __BYTE_ORDER == __BIG_ENDIAN
3414 uint64_t reserved_59_63 : 5;
3415 uint64_t mpi : 1; /**< MPI/SPI interrupt */
3416 uint64_t pcm : 1; /**< PCM/TDM interrupt */
3417 uint64_t usb : 1; /**< USB interrupt */
3418 uint64_t timer : 4; /**< General timer interrupts */
3419 uint64_t reserved_51_51 : 1;
3420 uint64_t ipd_drp : 1; /**< IPD QOS packet drop */
3421 uint64_t reserved_49_49 : 1;
3422 uint64_t gmx_drp : 1; /**< GMX packet drop */
3423 uint64_t reserved_47_47 : 1;
3424 uint64_t rml : 1; /**< RML Interrupt */
3425 uint64_t twsi : 1; /**< TWSI Interrupt */
3426 uint64_t wdog_sum : 1; /**< Watchdog summary
3427 PPs use CIU_INTx_SUM0 where x=0-1.
3428 PCI uses the CIU_INTx_SUM0 where x=32.
3429 Even INTx registers report WDOG to IP2
3430 Odd INTx registers report WDOG to IP3 */
3431 uint64_t pci_msi : 4; /**< PCI MSI
3432 [43] is the or of <63:48>
3433 [42] is the or of <47:32>
3434 [41] is the or of <31:16>
3435 [40] is the or of <15:0> */
3436 uint64_t pci_int : 4; /**< PCI INTA/B/C/D */
3437 uint64_t uart : 2; /**< Two UART interrupts */
3438 uint64_t mbox : 2; /**< Two mailbox interrupts for entries 0-31
3439 [33] is the or of <31:16>
3440 [32] is the or of <15:0>
3441 Two PCI internal interrupts for entry 32
3443 uint64_t gpio : 16; /**< 16 GPIO interrupts */
3444 uint64_t workq : 16; /**< 16 work queue interrupts
3445 1 bit/group. A copy of the R/W1C bit in the POW. */
3447 uint64_t workq : 16;
3451 uint64_t pci_int : 4;
3452 uint64_t pci_msi : 4;
3453 uint64_t wdog_sum : 1;
3456 uint64_t reserved_47_47 : 1;
3457 uint64_t gmx_drp : 1;
3458 uint64_t reserved_49_49 : 1;
3459 uint64_t ipd_drp : 1;
3460 uint64_t reserved_51_51 : 1;
3465 uint64_t reserved_59_63 : 5;
3468 struct cvmx_ciu_intx_sum0_cn31xx
3470 #if __BYTE_ORDER == __BIG_ENDIAN
3471 uint64_t reserved_59_63 : 5;
3472 uint64_t mpi : 1; /**< MPI/SPI interrupt */
3473 uint64_t pcm : 1; /**< PCM/TDM interrupt */
3474 uint64_t usb : 1; /**< USB interrupt */
3475 uint64_t timer : 4; /**< General timer interrupts */
3476 uint64_t reserved_51_51 : 1;
3477 uint64_t ipd_drp : 1; /**< IPD QOS packet drop */
3478 uint64_t reserved_49_49 : 1;
3479 uint64_t gmx_drp : 1; /**< GMX packet drop */
3480 uint64_t trace : 1; /**< L2C has the CMB trace buffer */
3481 uint64_t rml : 1; /**< RML Interrupt */
3482 uint64_t twsi : 1; /**< TWSI Interrupt */
3483 uint64_t wdog_sum : 1; /**< Watchdog summary
3484 PPs use CIU_INTx_SUM0 where x=0-3.
3485 PCI uses the CIU_INTx_SUM0 where x=32.
3486 Even INTx registers report WDOG to IP2
3487 Odd INTx registers report WDOG to IP3 */
3488 uint64_t pci_msi : 4; /**< PCI MSI
3489 [43] is the or of <63:48>
3490 [42] is the or of <47:32>
3491 [41] is the or of <31:16>
3492 [40] is the or of <15:0> */
3493 uint64_t pci_int : 4; /**< PCI INTA/B/C/D */
3494 uint64_t uart : 2; /**< Two UART interrupts */
3495 uint64_t mbox : 2; /**< Two mailbox interrupts for entries 0-31
3496 [33] is the or of <31:16>
3497 [32] is the or of <15:0>
3498 Two PCI internal interrupts for entry 32
3500 uint64_t gpio : 16; /**< 16 GPIO interrupts */
3501 uint64_t workq : 16; /**< 16 work queue interrupts
3502 1 bit/group. A copy of the R/W1C bit in the POW. */
3504 uint64_t workq : 16;
3508 uint64_t pci_int : 4;
3509 uint64_t pci_msi : 4;
3510 uint64_t wdog_sum : 1;
3514 uint64_t gmx_drp : 1;
3515 uint64_t reserved_49_49 : 1;
3516 uint64_t ipd_drp : 1;
3517 uint64_t reserved_51_51 : 1;
3522 uint64_t reserved_59_63 : 5;
3525 struct cvmx_ciu_intx_sum0_cn38xx
3527 #if __BYTE_ORDER == __BIG_ENDIAN
3528 uint64_t reserved_56_63 : 8;
3529 uint64_t timer : 4; /**< General timer interrupts */
3530 uint64_t key_zero : 1; /**< Key Zeroization interrupt
3531 KEY_ZERO will be set when the external ZERO_KEYS
3532 pin is sampled high. KEY_ZERO is cleared by SW */
3533 uint64_t ipd_drp : 1; /**< IPD QOS packet drop */
3534 uint64_t gmx_drp : 2; /**< GMX packet drop */
3535 uint64_t trace : 1; /**< L2C has the CMB trace buffer */
3536 uint64_t rml : 1; /**< RML Interrupt */
3537 uint64_t twsi : 1; /**< TWSI Interrupt */
3538 uint64_t wdog_sum : 1; /**< Watchdog summary
3539 PPs use CIU_INTx_SUM0 where x=0-31.
3540 PCI uses the CIU_INTx_SUM0 where x=32.
3541 Even INTx registers report WDOG to IP2
3542 Odd INTx registers report WDOG to IP3 */
3543 uint64_t pci_msi : 4; /**< PCI MSI
3544 [43] is the or of <63:48>
3545 [42] is the or of <47:32>
3546 [41] is the or of <31:16>
3547 [40] is the or of <15:0> */
3548 uint64_t pci_int : 4; /**< PCI INTA/B/C/D */
3549 uint64_t uart : 2; /**< Two UART interrupts */
3550 uint64_t mbox : 2; /**< Two mailbox interrupts for entries 0-31
3551 [33] is the or of <31:16>
3552 [32] is the or of <15:0>
3553 Two PCI internal interrupts for entry 32
3555 uint64_t gpio : 16; /**< 16 GPIO interrupts */
3556 uint64_t workq : 16; /**< 16 work queue interrupts
3557 1 bit/group. A copy of the R/W1C bit in the POW. */
3559 uint64_t workq : 16;
3563 uint64_t pci_int : 4;
3564 uint64_t pci_msi : 4;
3565 uint64_t wdog_sum : 1;
3569 uint64_t gmx_drp : 2;
3570 uint64_t ipd_drp : 1;
3571 uint64_t key_zero : 1;
3573 uint64_t reserved_56_63 : 8;
3576 struct cvmx_ciu_intx_sum0_cn38xx cn38xxp2;
3577 struct cvmx_ciu_intx_sum0_cn30xx cn50xx;
3578 struct cvmx_ciu_intx_sum0_cn52xx
3580 #if __BYTE_ORDER == __BIG_ENDIAN
3581 uint64_t bootdma : 1; /**< Boot bus DMA engines Interrupt */
3582 uint64_t mii : 1; /**< MII Interface Interrupt */
3583 uint64_t ipdppthr : 1; /**< IPD per-port counter threshold interrupt */
3584 uint64_t powiq : 1; /**< POW IQ interrupt */
3585 uint64_t twsi2 : 1; /**< 2nd TWSI Interrupt */
3586 uint64_t reserved_57_58 : 2;
3587 uint64_t usb : 1; /**< USB Interrupt */
3588 uint64_t timer : 4; /**< General timer interrupts */
3589 uint64_t reserved_51_51 : 1;
3590 uint64_t ipd_drp : 1; /**< IPD QOS packet drop */
3591 uint64_t reserved_49_49 : 1;
3592 uint64_t gmx_drp : 1; /**< GMX packet drop */
3593 uint64_t trace : 1; /**< L2C has the CMB trace buffer */
3594 uint64_t rml : 1; /**< RML Interrupt */
3595 uint64_t twsi : 1; /**< TWSI Interrupt */
3596 uint64_t wdog_sum : 1; /**< SUM1&EN1 summary bit
3597 This read-only bit reads as a one whenever any
3598 CIU_INT_SUM1 bit is set and corresponding
3599 enable bit in CIU_INTx_EN is set, where x
3600 is the same as x in this CIU_INTx_SUM0.
3601 PPs use CIU_INTx_SUM0 where x=0-7.
3602 PCI uses the CIU_INTx_SUM0 where x=32.
3603 Even INTx registers report WDOG to IP2
3604 Odd INTx registers report WDOG to IP3
3605 Note that WDOG_SUM only summarizes the SUM/EN1
3606 result and does not have a corresponding enable
3607 bit, so does not directly contribute to
3609 uint64_t pci_msi : 4; /**< PCI MSI
3610 Refer to "Receiving Message-Signalled
3611 Interrupts" in the PCIe chapter of the spec */
3612 uint64_t pci_int : 4; /**< PCI INTA/B/C/D
3613 Refer to "Receiving Emulated INTA/INTB/
3614 INTC/INTD" in the PCIe chapter of the spec */
3615 uint64_t uart : 2; /**< Two UART interrupts */
3616 uint64_t mbox : 2; /**< Two mailbox interrupts for entries 0-7
3617 [33] is the or of <31:16>
3618 [32] is the or of <15:0>
3619 Two PCI internal interrupts for entry 32
3621 uint64_t gpio : 16; /**< 16 GPIO interrupts */
3622 uint64_t workq : 16; /**< 16 work queue interrupts
3623 1 bit/group. A copy of the R/W1C bit in the POW. */
3625 uint64_t workq : 16;
3629 uint64_t pci_int : 4;
3630 uint64_t pci_msi : 4;
3631 uint64_t wdog_sum : 1;
3635 uint64_t gmx_drp : 1;
3636 uint64_t reserved_49_49 : 1;
3637 uint64_t ipd_drp : 1;
3638 uint64_t reserved_51_51 : 1;
3641 uint64_t reserved_57_58 : 2;
3644 uint64_t ipdppthr : 1;
3646 uint64_t bootdma : 1;
3649 struct cvmx_ciu_intx_sum0_cn52xx cn52xxp1;
3650 struct cvmx_ciu_intx_sum0_cn56xx
3652 #if __BYTE_ORDER == __BIG_ENDIAN
3653 uint64_t bootdma : 1; /**< Boot bus DMA engines Interrupt */
3654 uint64_t mii : 1; /**< MII Interface Interrupt */
3655 uint64_t ipdppthr : 1; /**< IPD per-port counter threshold interrupt */
3656 uint64_t powiq : 1; /**< POW IQ interrupt */
3657 uint64_t twsi2 : 1; /**< 2nd TWSI Interrupt */
3658 uint64_t reserved_57_58 : 2;
3659 uint64_t usb : 1; /**< USB Interrupt */
3660 uint64_t timer : 4; /**< General timer interrupts */
3661 uint64_t key_zero : 1; /**< Key Zeroization interrupt
3662 KEY_ZERO will be set when the external ZERO_KEYS
3663 pin is sampled high. KEY_ZERO is cleared by SW */
3664 uint64_t ipd_drp : 1; /**< IPD QOS packet drop */
3665 uint64_t gmx_drp : 2; /**< GMX packet drop */
3666 uint64_t trace : 1; /**< L2C has the CMB trace buffer */
3667 uint64_t rml : 1; /**< RML Interrupt */
3668 uint64_t twsi : 1; /**< TWSI Interrupt */
3669 uint64_t wdog_sum : 1; /**< Watchdog summary
3670 PPs use CIU_INTx_SUM0 where x=0-23.
3671 PCI uses the CIU_INTx_SUM0 where x=32.
3672 Even INTx registers report WDOG to IP2
3673 Odd INTx registers report WDOG to IP3 */
3674 uint64_t pci_msi : 4; /**< PCI MSI
3675 Refer to "Receiving Message-Signalled
3676 Interrupts" in the PCIe chapter of the spec */
3677 uint64_t pci_int : 4; /**< PCI INTA/B/C/D
3678 Refer to "Receiving Emulated INTA/INTB/
3679 INTC/INTD" in the PCIe chapter of the spec */
3680 uint64_t uart : 2; /**< Two UART interrupts */
3681 uint64_t mbox : 2; /**< Two mailbox interrupts for entries 0-23
3682 [33] is the or of <31:16>
3683 [32] is the or of <15:0>
3684 Two PCI internal interrupts for entry 32
3686 uint64_t gpio : 16; /**< 16 GPIO interrupts */
3687 uint64_t workq : 16; /**< 16 work queue interrupts
3688 1 bit/group. A copy of the R/W1C bit in the POW. */
3690 uint64_t workq : 16;
3694 uint64_t pci_int : 4;
3695 uint64_t pci_msi : 4;
3696 uint64_t wdog_sum : 1;
3700 uint64_t gmx_drp : 2;
3701 uint64_t ipd_drp : 1;
3702 uint64_t key_zero : 1;
3705 uint64_t reserved_57_58 : 2;
3708 uint64_t ipdppthr : 1;
3710 uint64_t bootdma : 1;
3713 struct cvmx_ciu_intx_sum0_cn56xx cn56xxp1;
3714 struct cvmx_ciu_intx_sum0_cn38xx cn58xx;
3715 struct cvmx_ciu_intx_sum0_cn38xx cn58xxp1;
3716 struct cvmx_ciu_intx_sum0_cn52xx cn63xx;
3717 struct cvmx_ciu_intx_sum0_cn52xx cn63xxp1;
3719 typedef union cvmx_ciu_intx_sum0 cvmx_ciu_intx_sum0_t;
3722 * cvmx_ciu_int#_sum4
3724 union cvmx_ciu_intx_sum4
3727 struct cvmx_ciu_intx_sum4_s
3729 #if __BYTE_ORDER == __BIG_ENDIAN
3730 uint64_t bootdma : 1; /**< Boot bus DMA engines Interrupt
3731 See MIO_BOOT_DMA_INT*, MIO_NDF_DMA_INT */
3732 uint64_t mii : 1; /**< RGMII/MII/MIX Interface 0 Interrupt
3734 uint64_t ipdppthr : 1; /**< IPD per-port counter threshold interrupt
3735 See IPD_PORT_QOS_INT* */
3736 uint64_t powiq : 1; /**< POW IQ interrupt
3738 uint64_t twsi2 : 1; /**< 2nd TWSI Interrupt
3740 uint64_t mpi : 1; /**< MPI/SPI interrupt */
3741 uint64_t pcm : 1; /**< PCM/TDM interrupt */
3742 uint64_t usb : 1; /**< USB EHCI or OHCI Interrupt
3743 See UAHC0_EHCI_USBSTS UAHC0_OHCI0_HCINTERRUPTSTATUS */
3744 uint64_t timer : 4; /**< General timer interrupts
3745 Set any time the corresponding CIU timer expires */
3746 uint64_t key_zero : 1; /**< Key Zeroization interrupt
3747 KEY_ZERO will be set when the external ZERO_KEYS
3748 pin is sampled high. KEY_ZERO is cleared by SW */
3749 uint64_t ipd_drp : 1; /**< IPD QOS packet drop interrupt
3750 Set any time PIP/IPD drops a packet */
3751 uint64_t gmx_drp : 2; /**< GMX packet drop interrupt
3752 Set any time corresponding GMX drops a packet */
3753 uint64_t trace : 1; /**< Trace buffer interrupt
3754 See TRA_INT_STATUS */
3755 uint64_t rml : 1; /**< RML Interrupt
3756 This bit is set when any bit is set in
3758 uint64_t twsi : 1; /**< TWSI Interrupt
3760 uint64_t wdog_sum : 1; /**< SUM1&EN4_1 summary bit
3761 This read-only bit reads as a one whenever any
3762 CIU_INT_SUM1 bit is set and corresponding
3763 enable bit in CIU_INTx_EN4_1 is set, where x
3764 is the same as x in this CIU_INTx_SUM4.
3765 PPs use CIU_INTx_SUM4 for IP4, where x=PPid.
3766 Note that WDOG_SUM only summarizes the SUM/EN4_1
3767 result and does not have a corresponding enable
3768 bit, so does not directly contribute to
3770 uint64_t pci_msi : 4; /**< PCIe/sRIO MSI
3771 See SLI_MSI_RCVn for bit <40+n> */
3772 uint64_t pci_int : 4; /**< PCIe INTA/B/C/D
3773 Refer to "Receiving Emulated INTA/INTB/
3774 INTC/INTD" in the SLI chapter of the spec */
3775 uint64_t uart : 2; /**< Two UART interrupts
3776 See MIO_UARTn_IIR[IID] for bit <34+n> */
3777 uint64_t mbox : 2; /**< Two mailbox interrupts for entries 0-5
3778 [33] is the or of <31:16>
3779 [32] is the or of <15:0> */
3780 uint64_t gpio : 16; /**< 16 GPIO interrupts */
3781 uint64_t workq : 16; /**< 16 work queue interrupts
3782 See POW_WQ_INT[WQ_INT]
3783 1 bit/group. A copy of the R/W1C bit in the POW. */
3785 uint64_t workq : 16;
3789 uint64_t pci_int : 4;
3790 uint64_t pci_msi : 4;
3791 uint64_t wdog_sum : 1;
3795 uint64_t gmx_drp : 2;
3796 uint64_t ipd_drp : 1;
3797 uint64_t key_zero : 1;
3804 uint64_t ipdppthr : 1;
3806 uint64_t bootdma : 1;
3809 struct cvmx_ciu_intx_sum4_cn50xx
3811 #if __BYTE_ORDER == __BIG_ENDIAN
3812 uint64_t reserved_59_63 : 5;
3813 uint64_t mpi : 1; /**< MPI/SPI interrupt */
3814 uint64_t pcm : 1; /**< PCM/TDM interrupt */
3815 uint64_t usb : 1; /**< USB interrupt */
3816 uint64_t timer : 4; /**< General timer interrupts */
3817 uint64_t reserved_51_51 : 1;
3818 uint64_t ipd_drp : 1; /**< IPD QOS packet drop */
3819 uint64_t reserved_49_49 : 1;
3820 uint64_t gmx_drp : 1; /**< GMX packet drop */
3821 uint64_t reserved_47_47 : 1;
3822 uint64_t rml : 1; /**< RML Interrupt */
3823 uint64_t twsi : 1; /**< TWSI Interrupt */
3824 uint64_t wdog_sum : 1; /**< Watchdog summary
3825 PPs use CIU_INTx_SUM4 where x=0-1. */
3826 uint64_t pci_msi : 4; /**< PCI MSI
3827 [43] is the or of <63:48>
3828 [42] is the or of <47:32>
3829 [41] is the or of <31:16>
3830 [40] is the or of <15:0> */
3831 uint64_t pci_int : 4; /**< PCI INTA/B/C/D */
3832 uint64_t uart : 2; /**< Two UART interrupts */
3833 uint64_t mbox : 2; /**< Two mailbox interrupts for entries 0-31
3834 [33] is the or of <31:16>
3835 [32] is the or of <15:0>
3836 Two PCI internal interrupts for entry 32
3838 uint64_t gpio : 16; /**< 16 GPIO interrupts */
3839 uint64_t workq : 16; /**< 16 work queue interrupts
3840 1 bit/group. A copy of the R/W1C bit in the POW. */
3842 uint64_t workq : 16;
3846 uint64_t pci_int : 4;
3847 uint64_t pci_msi : 4;
3848 uint64_t wdog_sum : 1;
3851 uint64_t reserved_47_47 : 1;
3852 uint64_t gmx_drp : 1;
3853 uint64_t reserved_49_49 : 1;
3854 uint64_t ipd_drp : 1;
3855 uint64_t reserved_51_51 : 1;
3860 uint64_t reserved_59_63 : 5;
3863 struct cvmx_ciu_intx_sum4_cn52xx
3865 #if __BYTE_ORDER == __BIG_ENDIAN
3866 uint64_t bootdma : 1; /**< Boot bus DMA engines Interrupt */
3867 uint64_t mii : 1; /**< MII Interface Interrupt */
3868 uint64_t ipdppthr : 1; /**< IPD per-port counter threshold interrupt */
3869 uint64_t powiq : 1; /**< POW IQ interrupt */
3870 uint64_t twsi2 : 1; /**< 2nd TWSI Interrupt */
3871 uint64_t reserved_57_58 : 2;
3872 uint64_t usb : 1; /**< USB Interrupt */
3873 uint64_t timer : 4; /**< General timer interrupts */
3874 uint64_t reserved_51_51 : 1;
3875 uint64_t ipd_drp : 1; /**< IPD QOS packet drop */
3876 uint64_t reserved_49_49 : 1;
3877 uint64_t gmx_drp : 1; /**< GMX packet drop */
3878 uint64_t trace : 1; /**< L2C has the CMB trace buffer */
3879 uint64_t rml : 1; /**< RML Interrupt */
3880 uint64_t twsi : 1; /**< TWSI Interrupt */
3881 uint64_t wdog_sum : 1; /**< SUM1&EN4_1 summary bit
3882 This read-only bit reads as a one whenever any
3883 CIU_INT_SUM1 bit is set and corresponding
3884 enable bit in CIU_INTx_EN4_1 is set, where x
3885 is the same as x in this CIU_INTx_SUM4.
3886 PPs use CIU_INTx_SUM4 for IP4, where x=PPid.
3887 Note that WDOG_SUM only summarizes the SUM/EN4_1
3888 result and does not have a corresponding enable
3889 bit, so does not directly contribute to
3891 uint64_t pci_msi : 4; /**< PCI MSI
3892 Refer to "Receiving Message-Signalled
3893 Interrupts" in the PCIe chapter of the spec */
3894 uint64_t pci_int : 4; /**< PCI INTA/B/C/D
3895 Refer to "Receiving Emulated INTA/INTB/
3896 INTC/INTD" in the PCIe chapter of the spec */
3897 uint64_t uart : 2; /**< Two UART interrupts */
3898 uint64_t mbox : 2; /**< Two mailbox interrupts for entries 0-3
3899 [33] is the or of <31:16>
3900 [32] is the or of <15:0> */
3901 uint64_t gpio : 16; /**< 16 GPIO interrupts */
3902 uint64_t workq : 16; /**< 16 work queue interrupts
3903 1 bit/group. A copy of the R/W1C bit in the POW. */
3905 uint64_t workq : 16;
3909 uint64_t pci_int : 4;
3910 uint64_t pci_msi : 4;
3911 uint64_t wdog_sum : 1;
3915 uint64_t gmx_drp : 1;
3916 uint64_t reserved_49_49 : 1;
3917 uint64_t ipd_drp : 1;
3918 uint64_t reserved_51_51 : 1;
3921 uint64_t reserved_57_58 : 2;
3924 uint64_t ipdppthr : 1;
3926 uint64_t bootdma : 1;
3929 struct cvmx_ciu_intx_sum4_cn52xx cn52xxp1;
3930 struct cvmx_ciu_intx_sum4_cn56xx
3932 #if __BYTE_ORDER == __BIG_ENDIAN
3933 uint64_t bootdma : 1; /**< Boot bus DMA engines Interrupt */
3934 uint64_t mii : 1; /**< MII Interface Interrupt */
3935 uint64_t ipdppthr : 1; /**< IPD per-port counter threshold interrupt */
3936 uint64_t powiq : 1; /**< POW IQ interrupt */
3937 uint64_t twsi2 : 1; /**< 2nd TWSI Interrupt */
3938 uint64_t reserved_57_58 : 2;
3939 uint64_t usb : 1; /**< USB Interrupt */
3940 uint64_t timer : 4; /**< General timer interrupts */
3941 uint64_t key_zero : 1; /**< Key Zeroization interrupt
3942 KEY_ZERO will be set when the external ZERO_KEYS
3943 pin is sampled high. KEY_ZERO is cleared by SW */
3944 uint64_t ipd_drp : 1; /**< IPD QOS packet drop */
3945 uint64_t gmx_drp : 2; /**< GMX packet drop */
3946 uint64_t trace : 1; /**< L2C has the CMB trace buffer */
3947 uint64_t rml : 1; /**< RML Interrupt */
3948 uint64_t twsi : 1; /**< TWSI Interrupt */
3949 uint64_t wdog_sum : 1; /**< Watchdog summary
3950 These registers report WDOG to IP4 */
3951 uint64_t pci_msi : 4; /**< PCI MSI
3952 Refer to "Receiving Message-Signalled
3953 Interrupts" in the PCIe chapter of the spec */
3954 uint64_t pci_int : 4; /**< PCI INTA/B/C/D
3955 Refer to "Receiving Emulated INTA/INTB/
3956 INTC/INTD" in the PCIe chapter of the spec */
3957 uint64_t uart : 2; /**< Two UART interrupts */
3958 uint64_t mbox : 2; /**< Two mailbox interrupts for entries 0-11
3959 [33] is the or of <31:16>
3960 [32] is the or of <15:0> */
3961 uint64_t gpio : 16; /**< 16 GPIO interrupts */
3962 uint64_t workq : 16; /**< 16 work queue interrupts
3963 1 bit/group. A copy of the R/W1C bit in the POW. */
3965 uint64_t workq : 16;
3969 uint64_t pci_int : 4;
3970 uint64_t pci_msi : 4;
3971 uint64_t wdog_sum : 1;
3975 uint64_t gmx_drp : 2;
3976 uint64_t ipd_drp : 1;
3977 uint64_t key_zero : 1;
3980 uint64_t reserved_57_58 : 2;
3983 uint64_t ipdppthr : 1;
3985 uint64_t bootdma : 1;
3988 struct cvmx_ciu_intx_sum4_cn56xx cn56xxp1;
3989 struct cvmx_ciu_intx_sum4_cn58xx
3991 #if __BYTE_ORDER == __BIG_ENDIAN
3992 uint64_t reserved_56_63 : 8;
3993 uint64_t timer : 4; /**< General timer interrupts */
3994 uint64_t key_zero : 1; /**< Key Zeroization interrupt
3995 KEY_ZERO will be set when the external ZERO_KEYS
3996 pin is sampled high. KEY_ZERO is cleared by SW */
3997 uint64_t ipd_drp : 1; /**< IPD QOS packet drop */
3998 uint64_t gmx_drp : 2; /**< GMX packet drop */
3999 uint64_t trace : 1; /**< L2C has the CMB trace buffer */
4000 uint64_t rml : 1; /**< RML Interrupt */
4001 uint64_t twsi : 1; /**< TWSI Interrupt */
4002 uint64_t wdog_sum : 1; /**< Watchdog summary
4003 These registers report WDOG to IP4 */
4004 uint64_t pci_msi : 4; /**< PCI MSI
4005 [43] is the or of <63:48>
4006 [42] is the or of <47:32>
4007 [41] is the or of <31:16>
4008 [40] is the or of <15:0> */
4009 uint64_t pci_int : 4; /**< PCI INTA/B/C/D */
4010 uint64_t uart : 2; /**< Two UART interrupts */
4011 uint64_t mbox : 2; /**< Two mailbox interrupts for entries 0-31
4012 [33] is the or of <31:16>
4013 [32] is the or of <15:0>
4014 Two PCI internal interrupts for entry 32
4016 uint64_t gpio : 16; /**< 16 GPIO interrupts */
4017 uint64_t workq : 16; /**< 16 work queue interrupts
4018 1 bit/group. A copy of the R/W1C bit in the POW. */
4020 uint64_t workq : 16;
4024 uint64_t pci_int : 4;
4025 uint64_t pci_msi : 4;
4026 uint64_t wdog_sum : 1;
4030 uint64_t gmx_drp : 2;
4031 uint64_t ipd_drp : 1;
4032 uint64_t key_zero : 1;
4034 uint64_t reserved_56_63 : 8;
4037 struct cvmx_ciu_intx_sum4_cn58xx cn58xxp1;
4038 struct cvmx_ciu_intx_sum4_cn52xx cn63xx;
4039 struct cvmx_ciu_intx_sum4_cn52xx cn63xxp1;
4041 typedef union cvmx_ciu_intx_sum4 cvmx_ciu_intx_sum4_t;
4044 * cvmx_ciu_int33_sum0
4046 union cvmx_ciu_int33_sum0
4049 struct cvmx_ciu_int33_sum0_s
4051 #if __BYTE_ORDER == __BIG_ENDIAN
4052 uint64_t bootdma : 1; /**< Boot bus DMA engines Interrupt
4053 See MIO_BOOT_DMA_INT*, MIO_NDF_DMA_INT */
4054 uint64_t mii : 1; /**< RGMII/MII/MIX Interface 0 Interrupt
4056 uint64_t ipdppthr : 1; /**< IPD per-port counter threshold interrupt
4057 See IPD_PORT_QOS_INT* */
4058 uint64_t powiq : 1; /**< POW IQ interrupt
4060 uint64_t twsi2 : 1; /**< 2nd TWSI Interrupt
4062 uint64_t reserved_57_58 : 2;
4063 uint64_t usb : 1; /**< USB EHCI or OHCI Interrupt
4064 See UAHC0_EHCI_USBSTS UAHC0_OHCI0_HCINTERRUPTSTATUS */
4065 uint64_t timer : 4; /**< General timer interrupts
4066 Set any time the corresponding CIU timer expires */
4067 uint64_t reserved_51_51 : 1;
4068 uint64_t ipd_drp : 1; /**< IPD QOS packet drop interrupt
4069 Set any time PIP/IPD drops a packet */
4070 uint64_t reserved_49_49 : 1;
4071 uint64_t gmx_drp : 1; /**< GMX packet drop interrupt
4072 Set any time corresponding GMX drops a packet */
4073 uint64_t trace : 1; /**< Trace buffer interrupt
4074 See TRA_INT_STATUS */
4075 uint64_t rml : 1; /**< RML Interrupt
4076 This interrupt will assert if any bit within
4077 CIU_BLOCK_INT is asserted. */
4078 uint64_t twsi : 1; /**< TWSI Interrupt
4080 uint64_t wdog_sum : 1; /**< SUM1&EN1 summary bit
4081 This read-only bit reads as a one whenever any
4082 CIU_INT_SUM1 bit is set and corresponding
4083 enable bit in CIU_INTx_EN is set, where x
4084 is the same as x in this CIU_INTx_SUM0.
4085 PPs use CIU_INTx_SUM0 where x=0-11.
4086 PCIe/sRIO uses the CIU_INTx_SUM0 where x=32-33.
4087 Even INTx registers report WDOG to IP2
4088 Odd INTx registers report WDOG to IP3
4089 Note that WDOG_SUM only summarizes the SUM/EN1
4090 result and does not have a corresponding enable
4091 bit, so does not directly contribute to
4093 uint64_t pci_msi : 4; /**< PCIe/sRIO MSI
4094 See SLI_MSI_RCVn for bit <40+n> */
4095 uint64_t pci_int : 4; /**< PCIe INTA/B/C/D
4096 Refer to "Receiving Emulated INTA/INTB/
4097 INTC/INTD" in the SLI chapter of the spec */
4098 uint64_t uart : 2; /**< Two UART interrupts
4099 See MIO_UARTn_IIR[IID] for bit <34+n> */
4100 uint64_t mbox : 2; /**< A read-only copy of CIU_PCI_INTA[INT] */
4101 uint64_t gpio : 16; /**< 16 GPIO interrupts */
4102 uint64_t workq : 16; /**< 16 work queue interrupts
4103 See POW_WQ_INT[WQ_INT]
4104 1 bit/group. A copy of the R/W1C bit in the POW. */
4106 uint64_t workq : 16;
4110 uint64_t pci_int : 4;
4111 uint64_t pci_msi : 4;
4112 uint64_t wdog_sum : 1;
4116 uint64_t gmx_drp : 1;
4117 uint64_t reserved_49_49 : 1;
4118 uint64_t ipd_drp : 1;
4119 uint64_t reserved_51_51 : 1;
4122 uint64_t reserved_57_58 : 2;
4125 uint64_t ipdppthr : 1;
4127 uint64_t bootdma : 1;
4130 struct cvmx_ciu_int33_sum0_s cn63xx;
4131 struct cvmx_ciu_int33_sum0_s cn63xxp1;
4133 typedef union cvmx_ciu_int33_sum0 cvmx_ciu_int33_sum0_t;
4136 * cvmx_ciu_int_dbg_sel
4138 union cvmx_ciu_int_dbg_sel
4141 struct cvmx_ciu_int_dbg_sel_s
4143 #if __BYTE_ORDER == __BIG_ENDIAN
4144 uint64_t reserved_19_63 : 45;
4145 uint64_t sel : 3; /**< Selects if all or the specific interrupt is
4146 presented on the debug port.
4149 2=toggle at sclk/2 freq
4150 3=All PP interrupt bits are ORed together
4151 4=Only the selected PP/IRQ is selected */
4152 uint64_t reserved_10_15 : 6;
4153 uint64_t irq : 2; /**< Which IRQ to select
4157 uint64_t reserved_3_7 : 5;
4158 uint64_t pp : 3; /**< Which PP to select */
4161 uint64_t reserved_3_7 : 5;
4163 uint64_t reserved_10_15 : 6;
4165 uint64_t reserved_19_63 : 45;
4168 struct cvmx_ciu_int_dbg_sel_s cn63xx;
4170 typedef union cvmx_ciu_int_dbg_sel cvmx_ciu_int_dbg_sel_t;
4175 union cvmx_ciu_int_sum1
4178 struct cvmx_ciu_int_sum1_s
4180 #if __BYTE_ORDER == __BIG_ENDIAN
4181 uint64_t rst : 1; /**< MIO RST interrupt
4183 uint64_t reserved_57_62 : 6;
4184 uint64_t dfm : 1; /**< DFM Interrupt
4186 uint64_t reserved_53_55 : 3;
4187 uint64_t lmc0 : 1; /**< LMC0 interrupt
4189 uint64_t srio1 : 1; /**< SRIO1 interrupt
4190 See SRIO1_INT_REG */
4191 uint64_t srio0 : 1; /**< SRIO0 interrupt
4192 See SRIO0_INT_REG */
4193 uint64_t pem1 : 1; /**< PEM1 interrupt
4194 See PEM1_INT_SUM (enabled by PEM1_INT_ENB) */
4195 uint64_t pem0 : 1; /**< PEM0 interrupt
4196 See PEM0_INT_SUM (enabled by PEM0_INT_ENB) */
4197 uint64_t ptp : 1; /**< PTP interrupt
4198 Set when HW decrements MIO_PTP_EVT_CNT to zero */
4199 uint64_t agl : 1; /**< AGL interrupt
4200 See AGL_GMX_RX*_INT_REG, AGL_GMX_TX_INT_REG */
4201 uint64_t reserved_37_45 : 9;
4202 uint64_t agx0 : 1; /**< GMX0 interrupt
4203 See GMX0_RX*_INT_REG, GMX0_TX_INT_REG,
4204 PCS0_INT*_REG, PCSX0_INT_REG */
4205 uint64_t dpi : 1; /**< DPI interrupt
4207 uint64_t sli : 1; /**< SLI interrupt
4208 See SLI_INT_SUM (enabled by SLI_INT_ENB_CIU) */
4209 uint64_t usb : 1; /**< USB UCTL0 interrupt
4210 See UCTL0_INT_REG */
4211 uint64_t dfa : 1; /**< DFA interrupt
4213 uint64_t key : 1; /**< KEY interrupt
4215 uint64_t rad : 1; /**< RAD interrupt
4216 See RAD_REG_ERROR */
4217 uint64_t tim : 1; /**< TIM interrupt
4218 See TIM_REG_ERROR */
4219 uint64_t zip : 1; /**< ZIP interrupt
4221 uint64_t pko : 1; /**< PKO interrupt
4222 See PKO_REG_ERROR */
4223 uint64_t pip : 1; /**< PIP interrupt
4225 uint64_t ipd : 1; /**< IPD interrupt
4227 uint64_t l2c : 1; /**< L2C interrupt
4229 uint64_t pow : 1; /**< POW err interrupt
4231 uint64_t fpa : 1; /**< FPA interrupt
4233 uint64_t iob : 1; /**< IOB interrupt
4235 uint64_t mio : 1; /**< MIO boot interrupt
4237 uint64_t nand : 1; /**< NAND Flash Controller interrupt
4239 uint64_t mii1 : 1; /**< RGMII/MII/MIX Interface 1 Interrupt
4241 uint64_t usb1 : 1; /**< Second USB Interrupt */
4242 uint64_t uart2 : 1; /**< Third UART interrupt */
4243 uint64_t wdog : 16; /**< 6 watchdog interrupts */
4267 uint64_t reserved_37_45 : 9;
4275 uint64_t reserved_53_55 : 3;
4277 uint64_t reserved_57_62 : 6;
4281 struct cvmx_ciu_int_sum1_cn30xx
4283 #if __BYTE_ORDER == __BIG_ENDIAN
4284 uint64_t reserved_1_63 : 63;
4285 uint64_t wdog : 1; /**< 1 watchdog interrupt */
4288 uint64_t reserved_1_63 : 63;
4291 struct cvmx_ciu_int_sum1_cn31xx
4293 #if __BYTE_ORDER == __BIG_ENDIAN
4294 uint64_t reserved_2_63 : 62;
4295 uint64_t wdog : 2; /**< 2 watchdog interrupts */
4298 uint64_t reserved_2_63 : 62;
4301 struct cvmx_ciu_int_sum1_cn38xx
4303 #if __BYTE_ORDER == __BIG_ENDIAN
4304 uint64_t reserved_16_63 : 48;
4305 uint64_t wdog : 16; /**< 16 watchdog interrupts */
4308 uint64_t reserved_16_63 : 48;
4311 struct cvmx_ciu_int_sum1_cn38xx cn38xxp2;
4312 struct cvmx_ciu_int_sum1_cn31xx cn50xx;
4313 struct cvmx_ciu_int_sum1_cn52xx
4315 #if __BYTE_ORDER == __BIG_ENDIAN
4316 uint64_t reserved_20_63 : 44;
4317 uint64_t nand : 1; /**< NAND Flash Controller */
4318 uint64_t mii1 : 1; /**< Second MII Interrupt */
4319 uint64_t usb1 : 1; /**< Second USB Interrupt */
4320 uint64_t uart2 : 1; /**< Third UART interrupt */
4321 uint64_t reserved_4_15 : 12;
4322 uint64_t wdog : 4; /**< 4 watchdog interrupts */
4325 uint64_t reserved_4_15 : 12;
4330 uint64_t reserved_20_63 : 44;
4333 struct cvmx_ciu_int_sum1_cn52xxp1
4335 #if __BYTE_ORDER == __BIG_ENDIAN
4336 uint64_t reserved_19_63 : 45;
4337 uint64_t mii1 : 1; /**< Second MII Interrupt */
4338 uint64_t usb1 : 1; /**< Second USB Interrupt */
4339 uint64_t uart2 : 1; /**< Third UART interrupt */
4340 uint64_t reserved_4_15 : 12;
4341 uint64_t wdog : 4; /**< 4 watchdog interrupts */
4344 uint64_t reserved_4_15 : 12;
4348 uint64_t reserved_19_63 : 45;
4351 struct cvmx_ciu_int_sum1_cn56xx
4353 #if __BYTE_ORDER == __BIG_ENDIAN
4354 uint64_t reserved_12_63 : 52;
4355 uint64_t wdog : 12; /**< 12 watchdog interrupts */
4358 uint64_t reserved_12_63 : 52;
4361 struct cvmx_ciu_int_sum1_cn56xx cn56xxp1;
4362 struct cvmx_ciu_int_sum1_cn38xx cn58xx;
4363 struct cvmx_ciu_int_sum1_cn38xx cn58xxp1;
4364 struct cvmx_ciu_int_sum1_cn63xx
4366 #if __BYTE_ORDER == __BIG_ENDIAN
4367 uint64_t rst : 1; /**< MIO RST interrupt
4369 uint64_t reserved_57_62 : 6;
4370 uint64_t dfm : 1; /**< DFM Interrupt
4372 uint64_t reserved_53_55 : 3;
4373 uint64_t lmc0 : 1; /**< LMC0 interrupt
4375 uint64_t srio1 : 1; /**< SRIO1 interrupt
4376 See SRIO1_INT_REG, SRIO1_INT2_REG */
4377 uint64_t srio0 : 1; /**< SRIO0 interrupt
4378 See SRIO0_INT_REG, SRIO0_INT2_REG */
4379 uint64_t pem1 : 1; /**< PEM1 interrupt
4380 See PEM1_INT_SUM (enabled by PEM1_INT_ENB) */
4381 uint64_t pem0 : 1; /**< PEM0 interrupt
4382 See PEM0_INT_SUM (enabled by PEM0_INT_ENB) */
4383 uint64_t ptp : 1; /**< PTP interrupt
4384 Set when HW decrements MIO_PTP_EVT_CNT to zero */
4385 uint64_t agl : 1; /**< AGL interrupt
4386 See AGL_GMX_RX*_INT_REG, AGL_GMX_TX_INT_REG */
4387 uint64_t reserved_37_45 : 9;
4388 uint64_t agx0 : 1; /**< GMX0 interrupt
4389 See GMX0_RX*_INT_REG, GMX0_TX_INT_REG,
4390 PCS0_INT*_REG, PCSX0_INT_REG */
4391 uint64_t dpi : 1; /**< DPI interrupt
4393 uint64_t sli : 1; /**< SLI interrupt
4394 See SLI_INT_SUM (enabled by SLI_INT_ENB_CIU) */
4395 uint64_t usb : 1; /**< USB UCTL0 interrupt
4396 See UCTL0_INT_REG */
4397 uint64_t dfa : 1; /**< DFA interrupt
4399 uint64_t key : 1; /**< KEY interrupt
4401 uint64_t rad : 1; /**< RAD interrupt
4402 See RAD_REG_ERROR */
4403 uint64_t tim : 1; /**< TIM interrupt
4404 See TIM_REG_ERROR */
4405 uint64_t zip : 1; /**< ZIP interrupt
4407 uint64_t pko : 1; /**< PKO interrupt
4408 See PKO_REG_ERROR */
4409 uint64_t pip : 1; /**< PIP interrupt
4411 uint64_t ipd : 1; /**< IPD interrupt
4413 uint64_t l2c : 1; /**< L2C interrupt
4415 uint64_t pow : 1; /**< POW err interrupt
4417 uint64_t fpa : 1; /**< FPA interrupt
4419 uint64_t iob : 1; /**< IOB interrupt
4421 uint64_t mio : 1; /**< MIO boot interrupt
4423 uint64_t nand : 1; /**< NAND Flash Controller interrupt
4425 uint64_t mii1 : 1; /**< RGMII/MII/MIX Interface 1 Interrupt
4427 uint64_t reserved_6_17 : 12;
4428 uint64_t wdog : 6; /**< 6 watchdog interrupts */
4431 uint64_t reserved_6_17 : 12;
4451 uint64_t reserved_37_45 : 9;
4459 uint64_t reserved_53_55 : 3;
4461 uint64_t reserved_57_62 : 6;
4465 struct cvmx_ciu_int_sum1_cn63xx cn63xxp1;
4467 typedef union cvmx_ciu_int_sum1 cvmx_ciu_int_sum1_t;
4470 * cvmx_ciu_mbox_clr#
4472 union cvmx_ciu_mbox_clrx
4475 struct cvmx_ciu_mbox_clrx_s
4477 #if __BYTE_ORDER == __BIG_ENDIAN
4478 uint64_t reserved_32_63 : 32;
4479 uint64_t bits : 32; /**< On writes, clr corresponding bit in MBOX register
4480 on reads, return the MBOX register */
4483 uint64_t reserved_32_63 : 32;
4486 struct cvmx_ciu_mbox_clrx_s cn30xx;
4487 struct cvmx_ciu_mbox_clrx_s cn31xx;
4488 struct cvmx_ciu_mbox_clrx_s cn38xx;
4489 struct cvmx_ciu_mbox_clrx_s cn38xxp2;
4490 struct cvmx_ciu_mbox_clrx_s cn50xx;
4491 struct cvmx_ciu_mbox_clrx_s cn52xx;
4492 struct cvmx_ciu_mbox_clrx_s cn52xxp1;
4493 struct cvmx_ciu_mbox_clrx_s cn56xx;
4494 struct cvmx_ciu_mbox_clrx_s cn56xxp1;
4495 struct cvmx_ciu_mbox_clrx_s cn58xx;
4496 struct cvmx_ciu_mbox_clrx_s cn58xxp1;
4497 struct cvmx_ciu_mbox_clrx_s cn63xx;
4498 struct cvmx_ciu_mbox_clrx_s cn63xxp1;
4500 typedef union cvmx_ciu_mbox_clrx cvmx_ciu_mbox_clrx_t;
4503 * cvmx_ciu_mbox_set#
4505 union cvmx_ciu_mbox_setx
4508 struct cvmx_ciu_mbox_setx_s
4510 #if __BYTE_ORDER == __BIG_ENDIAN
4511 uint64_t reserved_32_63 : 32;
4512 uint64_t bits : 32; /**< On writes, set corresponding bit in MBOX register
4513 on reads, return the MBOX register */
4516 uint64_t reserved_32_63 : 32;
4519 struct cvmx_ciu_mbox_setx_s cn30xx;
4520 struct cvmx_ciu_mbox_setx_s cn31xx;
4521 struct cvmx_ciu_mbox_setx_s cn38xx;
4522 struct cvmx_ciu_mbox_setx_s cn38xxp2;
4523 struct cvmx_ciu_mbox_setx_s cn50xx;
4524 struct cvmx_ciu_mbox_setx_s cn52xx;
4525 struct cvmx_ciu_mbox_setx_s cn52xxp1;
4526 struct cvmx_ciu_mbox_setx_s cn56xx;
4527 struct cvmx_ciu_mbox_setx_s cn56xxp1;
4528 struct cvmx_ciu_mbox_setx_s cn58xx;
4529 struct cvmx_ciu_mbox_setx_s cn58xxp1;
4530 struct cvmx_ciu_mbox_setx_s cn63xx;
4531 struct cvmx_ciu_mbox_setx_s cn63xxp1;
4533 typedef union cvmx_ciu_mbox_setx cvmx_ciu_mbox_setx_t;
4541 struct cvmx_ciu_nmi_s
4543 #if __BYTE_ORDER == __BIG_ENDIAN
4544 uint64_t reserved_16_63 : 48;
4545 uint64_t nmi : 16; /**< Send NMI pulse to PP vector */
4548 uint64_t reserved_16_63 : 48;
4551 struct cvmx_ciu_nmi_cn30xx
4553 #if __BYTE_ORDER == __BIG_ENDIAN
4554 uint64_t reserved_1_63 : 63;
4555 uint64_t nmi : 1; /**< Send NMI pulse to PP vector */
4558 uint64_t reserved_1_63 : 63;
4561 struct cvmx_ciu_nmi_cn31xx
4563 #if __BYTE_ORDER == __BIG_ENDIAN
4564 uint64_t reserved_2_63 : 62;
4565 uint64_t nmi : 2; /**< Send NMI pulse to PP vector */
4568 uint64_t reserved_2_63 : 62;
4571 struct cvmx_ciu_nmi_s cn38xx;
4572 struct cvmx_ciu_nmi_s cn38xxp2;
4573 struct cvmx_ciu_nmi_cn31xx cn50xx;
4574 struct cvmx_ciu_nmi_cn52xx
4576 #if __BYTE_ORDER == __BIG_ENDIAN
4577 uint64_t reserved_4_63 : 60;
4578 uint64_t nmi : 4; /**< Send NMI pulse to PP vector */
4581 uint64_t reserved_4_63 : 60;
4584 struct cvmx_ciu_nmi_cn52xx cn52xxp1;
4585 struct cvmx_ciu_nmi_cn56xx
4587 #if __BYTE_ORDER == __BIG_ENDIAN
4588 uint64_t reserved_12_63 : 52;
4589 uint64_t nmi : 12; /**< Send NMI pulse to PP vector */
4592 uint64_t reserved_12_63 : 52;
4595 struct cvmx_ciu_nmi_cn56xx cn56xxp1;
4596 struct cvmx_ciu_nmi_s cn58xx;
4597 struct cvmx_ciu_nmi_s cn58xxp1;
4598 struct cvmx_ciu_nmi_cn63xx
4600 #if __BYTE_ORDER == __BIG_ENDIAN
4601 uint64_t reserved_6_63 : 58;
4602 uint64_t nmi : 6; /**< Send NMI pulse to PP vector */
4605 uint64_t reserved_6_63 : 58;
4608 struct cvmx_ciu_nmi_cn63xx cn63xxp1;
4610 typedef union cvmx_ciu_nmi cvmx_ciu_nmi_t;
4615 union cvmx_ciu_pci_inta
4618 struct cvmx_ciu_pci_inta_s
4620 #if __BYTE_ORDER == __BIG_ENDIAN
4621 uint64_t reserved_2_63 : 62;
4622 uint64_t intr : 2; /**< PCIe/sRIO interrupt
4623 These bits are observed in CIU_INTX_SUM0<33:32>
4627 uint64_t reserved_2_63 : 62;
4630 struct cvmx_ciu_pci_inta_s cn30xx;
4631 struct cvmx_ciu_pci_inta_s cn31xx;
4632 struct cvmx_ciu_pci_inta_s cn38xx;
4633 struct cvmx_ciu_pci_inta_s cn38xxp2;
4634 struct cvmx_ciu_pci_inta_s cn50xx;
4635 struct cvmx_ciu_pci_inta_s cn52xx;
4636 struct cvmx_ciu_pci_inta_s cn52xxp1;
4637 struct cvmx_ciu_pci_inta_s cn56xx;
4638 struct cvmx_ciu_pci_inta_s cn56xxp1;
4639 struct cvmx_ciu_pci_inta_s cn58xx;
4640 struct cvmx_ciu_pci_inta_s cn58xxp1;
4641 struct cvmx_ciu_pci_inta_s cn63xx;
4642 struct cvmx_ciu_pci_inta_s cn63xxp1;
4644 typedef union cvmx_ciu_pci_inta cvmx_ciu_pci_inta_t;
4649 union cvmx_ciu_pp_dbg
4652 struct cvmx_ciu_pp_dbg_s
4654 #if __BYTE_ORDER == __BIG_ENDIAN
4655 uint64_t reserved_16_63 : 48;
4656 uint64_t ppdbg : 16; /**< Debug[DM] value for each PP
4657 whether the PP's are in debug mode or not */
4659 uint64_t ppdbg : 16;
4660 uint64_t reserved_16_63 : 48;
4663 struct cvmx_ciu_pp_dbg_cn30xx
4665 #if __BYTE_ORDER == __BIG_ENDIAN
4666 uint64_t reserved_1_63 : 63;
4667 uint64_t ppdbg : 1; /**< Debug[DM] value for each PP
4668 whether the PP's are in debug mode or not */
4671 uint64_t reserved_1_63 : 63;
4674 struct cvmx_ciu_pp_dbg_cn31xx
4676 #if __BYTE_ORDER == __BIG_ENDIAN
4677 uint64_t reserved_2_63 : 62;
4678 uint64_t ppdbg : 2; /**< Debug[DM] value for each PP
4679 whether the PP's are in debug mode or not */
4682 uint64_t reserved_2_63 : 62;
4685 struct cvmx_ciu_pp_dbg_s cn38xx;
4686 struct cvmx_ciu_pp_dbg_s cn38xxp2;
4687 struct cvmx_ciu_pp_dbg_cn31xx cn50xx;
4688 struct cvmx_ciu_pp_dbg_cn52xx
4690 #if __BYTE_ORDER == __BIG_ENDIAN
4691 uint64_t reserved_4_63 : 60;
4692 uint64_t ppdbg : 4; /**< Debug[DM] value for each PP
4693 whether the PP's are in debug mode or not */
4696 uint64_t reserved_4_63 : 60;
4699 struct cvmx_ciu_pp_dbg_cn52xx cn52xxp1;
4700 struct cvmx_ciu_pp_dbg_cn56xx
4702 #if __BYTE_ORDER == __BIG_ENDIAN
4703 uint64_t reserved_12_63 : 52;
4704 uint64_t ppdbg : 12; /**< Debug[DM] value for each PP
4705 whether the PP's are in debug mode or not */
4707 uint64_t ppdbg : 12;
4708 uint64_t reserved_12_63 : 52;
4711 struct cvmx_ciu_pp_dbg_cn56xx cn56xxp1;
4712 struct cvmx_ciu_pp_dbg_s cn58xx;
4713 struct cvmx_ciu_pp_dbg_s cn58xxp1;
4714 struct cvmx_ciu_pp_dbg_cn63xx
4716 #if __BYTE_ORDER == __BIG_ENDIAN
4717 uint64_t reserved_6_63 : 58;
4718 uint64_t ppdbg : 6; /**< Debug[DM] value for each PP
4719 whether the PP's are in debug mode or not */
4722 uint64_t reserved_6_63 : 58;
4725 struct cvmx_ciu_pp_dbg_cn63xx cn63xxp1;
4727 typedef union cvmx_ciu_pp_dbg cvmx_ciu_pp_dbg_t;
4733 * Any write to a CIU_PP_POKE register clears any pending interrupt generated
4734 * by the associated watchdog, resets the CIU_WDOG[STATE] field, and set
4735 * CIU_WDOG[CNT] to be (CIU_WDOG[LEN] << 8).
4737 * Reads to this register will return the associated CIU_WDOG register.
4739 union cvmx_ciu_pp_pokex
4742 struct cvmx_ciu_pp_pokex_s
4744 #if __BYTE_ORDER == __BIG_ENDIAN
4745 uint64_t poke : 64; /**< Reserved */
4750 struct cvmx_ciu_pp_pokex_s cn30xx;
4751 struct cvmx_ciu_pp_pokex_s cn31xx;
4752 struct cvmx_ciu_pp_pokex_s cn38xx;
4753 struct cvmx_ciu_pp_pokex_s cn38xxp2;
4754 struct cvmx_ciu_pp_pokex_s cn50xx;
4755 struct cvmx_ciu_pp_pokex_s cn52xx;
4756 struct cvmx_ciu_pp_pokex_s cn52xxp1;
4757 struct cvmx_ciu_pp_pokex_s cn56xx;
4758 struct cvmx_ciu_pp_pokex_s cn56xxp1;
4759 struct cvmx_ciu_pp_pokex_s cn58xx;
4760 struct cvmx_ciu_pp_pokex_s cn58xxp1;
4761 struct cvmx_ciu_pp_pokex_s cn63xx;
4762 struct cvmx_ciu_pp_pokex_s cn63xxp1;
4764 typedef union cvmx_ciu_pp_pokex cvmx_ciu_pp_pokex_t;
4769 * Contains the reset control for each PP. Value of '1' will hold a PP in reset, '0' will release.
4770 * Resets to 0xffff when PCI boot is enabled, 0xfffe otherwise.
4772 union cvmx_ciu_pp_rst
4775 struct cvmx_ciu_pp_rst_s
4777 #if __BYTE_ORDER == __BIG_ENDIAN
4778 uint64_t reserved_16_63 : 48;
4779 uint64_t rst : 15; /**< PP Rst for PP's 5-1 */
4780 uint64_t rst0 : 1; /**< PP Rst for PP0
4781 depends on standalone mode */
4785 uint64_t reserved_16_63 : 48;
4788 struct cvmx_ciu_pp_rst_cn30xx
4790 #if __BYTE_ORDER == __BIG_ENDIAN
4791 uint64_t reserved_1_63 : 63;
4792 uint64_t rst0 : 1; /**< PP Rst for PP0
4793 depends on standalone mode */
4796 uint64_t reserved_1_63 : 63;
4799 struct cvmx_ciu_pp_rst_cn31xx
4801 #if __BYTE_ORDER == __BIG_ENDIAN
4802 uint64_t reserved_2_63 : 62;
4803 uint64_t rst : 1; /**< PP Rst for PP1 */
4804 uint64_t rst0 : 1; /**< PP Rst for PP0
4805 depends on standalone mode */
4809 uint64_t reserved_2_63 : 62;
4812 struct cvmx_ciu_pp_rst_s cn38xx;
4813 struct cvmx_ciu_pp_rst_s cn38xxp2;
4814 struct cvmx_ciu_pp_rst_cn31xx cn50xx;
4815 struct cvmx_ciu_pp_rst_cn52xx
4817 #if __BYTE_ORDER == __BIG_ENDIAN
4818 uint64_t reserved_4_63 : 60;
4819 uint64_t rst : 3; /**< PP Rst for PP's 11-1 */
4820 uint64_t rst0 : 1; /**< PP Rst for PP0
4821 depends on standalone mode */
4825 uint64_t reserved_4_63 : 60;
4828 struct cvmx_ciu_pp_rst_cn52xx cn52xxp1;
4829 struct cvmx_ciu_pp_rst_cn56xx
4831 #if __BYTE_ORDER == __BIG_ENDIAN
4832 uint64_t reserved_12_63 : 52;
4833 uint64_t rst : 11; /**< PP Rst for PP's 11-1 */
4834 uint64_t rst0 : 1; /**< PP Rst for PP0
4835 depends on standalone mode */
4839 uint64_t reserved_12_63 : 52;
4842 struct cvmx_ciu_pp_rst_cn56xx cn56xxp1;
4843 struct cvmx_ciu_pp_rst_s cn58xx;
4844 struct cvmx_ciu_pp_rst_s cn58xxp1;
4845 struct cvmx_ciu_pp_rst_cn63xx
4847 #if __BYTE_ORDER == __BIG_ENDIAN
4848 uint64_t reserved_6_63 : 58;
4849 uint64_t rst : 5; /**< PP Rst for PP's 5-1 */
4850 uint64_t rst0 : 1; /**< PP Rst for PP0
4851 depends on standalone mode */
4855 uint64_t reserved_6_63 : 58;
4858 struct cvmx_ciu_pp_rst_cn63xx cn63xxp1;
4860 typedef union cvmx_ciu_pp_rst cvmx_ciu_pp_rst_t;
4866 * This register is only reset by cold reset.
4872 struct cvmx_ciu_qlm0_s
4874 #if __BYTE_ORDER == __BIG_ENDIAN
4875 uint64_t g2bypass : 1; /**< QLM0 PCIE Gen2 tx bypass enable */
4876 uint64_t reserved_53_62 : 10;
4877 uint64_t g2deemph : 5; /**< QLM0 PCIE Gen2 tx bypass de-emphasis value */
4878 uint64_t reserved_45_47 : 3;
4879 uint64_t g2margin : 5; /**< QLM0 PCIE Gen2 tx bypass margin (amplitude) value */
4880 uint64_t reserved_32_39 : 8;
4881 uint64_t txbypass : 1; /**< QLM0 transmitter bypass enable */
4882 uint64_t reserved_21_30 : 10;
4883 uint64_t txdeemph : 5; /**< QLM0 transmitter bypass de-emphasis value */
4884 uint64_t reserved_13_15 : 3;
4885 uint64_t txmargin : 5; /**< QLM0 transmitter bypass margin (amplitude) value */
4886 uint64_t reserved_4_7 : 4;
4887 uint64_t lane_en : 4; /**< QLM0 lane enable mask */
4889 uint64_t lane_en : 4;
4890 uint64_t reserved_4_7 : 4;
4891 uint64_t txmargin : 5;
4892 uint64_t reserved_13_15 : 3;
4893 uint64_t txdeemph : 5;
4894 uint64_t reserved_21_30 : 10;
4895 uint64_t txbypass : 1;
4896 uint64_t reserved_32_39 : 8;
4897 uint64_t g2margin : 5;
4898 uint64_t reserved_45_47 : 3;
4899 uint64_t g2deemph : 5;
4900 uint64_t reserved_53_62 : 10;
4901 uint64_t g2bypass : 1;
4904 struct cvmx_ciu_qlm0_s cn63xx;
4905 struct cvmx_ciu_qlm0_cn63xxp1
4907 #if __BYTE_ORDER == __BIG_ENDIAN
4908 uint64_t reserved_32_63 : 32;
4909 uint64_t txbypass : 1; /**< QLM0 transmitter bypass enable */
4910 uint64_t reserved_20_30 : 11;
4911 uint64_t txdeemph : 4; /**< QLM0 transmitter bypass de-emphasis value */
4912 uint64_t reserved_13_15 : 3;
4913 uint64_t txmargin : 5; /**< QLM0 transmitter bypass margin (amplitude) value */
4914 uint64_t reserved_4_7 : 4;
4915 uint64_t lane_en : 4; /**< QLM0 lane enable mask */
4917 uint64_t lane_en : 4;
4918 uint64_t reserved_4_7 : 4;
4919 uint64_t txmargin : 5;
4920 uint64_t reserved_13_15 : 3;
4921 uint64_t txdeemph : 4;
4922 uint64_t reserved_20_30 : 11;
4923 uint64_t txbypass : 1;
4924 uint64_t reserved_32_63 : 32;
4928 typedef union cvmx_ciu_qlm0 cvmx_ciu_qlm0_t;
4934 * This register is only reset by cold reset.
4940 struct cvmx_ciu_qlm1_s
4942 #if __BYTE_ORDER == __BIG_ENDIAN
4943 uint64_t g2bypass : 1; /**< QLM1 PCIE Gen2 tx bypass enable */
4944 uint64_t reserved_53_62 : 10;
4945 uint64_t g2deemph : 5; /**< QLM1 PCIE Gen2 tx bypass de-emphasis value */
4946 uint64_t reserved_45_47 : 3;
4947 uint64_t g2margin : 5; /**< QLM1 PCIE Gen2 tx bypass margin (amplitude) value */
4948 uint64_t reserved_32_39 : 8;
4949 uint64_t txbypass : 1; /**< QLM1 transmitter bypass enable */
4950 uint64_t reserved_21_30 : 10;
4951 uint64_t txdeemph : 5; /**< QLM1 transmitter bypass de-emphasis value */
4952 uint64_t reserved_13_15 : 3;
4953 uint64_t txmargin : 5; /**< QLM1 transmitter bypass margin (amplitude) value */
4954 uint64_t reserved_4_7 : 4;
4955 uint64_t lane_en : 4; /**< QLM1 lane enable mask */
4957 uint64_t lane_en : 4;
4958 uint64_t reserved_4_7 : 4;
4959 uint64_t txmargin : 5;
4960 uint64_t reserved_13_15 : 3;
4961 uint64_t txdeemph : 5;
4962 uint64_t reserved_21_30 : 10;
4963 uint64_t txbypass : 1;
4964 uint64_t reserved_32_39 : 8;
4965 uint64_t g2margin : 5;
4966 uint64_t reserved_45_47 : 3;
4967 uint64_t g2deemph : 5;
4968 uint64_t reserved_53_62 : 10;
4969 uint64_t g2bypass : 1;
4972 struct cvmx_ciu_qlm1_s cn63xx;
4973 struct cvmx_ciu_qlm1_cn63xxp1
4975 #if __BYTE_ORDER == __BIG_ENDIAN
4976 uint64_t reserved_32_63 : 32;
4977 uint64_t txbypass : 1; /**< QLM1 transmitter bypass enable */
4978 uint64_t reserved_20_30 : 11;
4979 uint64_t txdeemph : 4; /**< QLM1 transmitter bypass de-emphasis value */
4980 uint64_t reserved_13_15 : 3;
4981 uint64_t txmargin : 5; /**< QLM1 transmitter bypass margin (amplitude) value */
4982 uint64_t reserved_4_7 : 4;
4983 uint64_t lane_en : 4; /**< QLM1 lane enable mask */
4985 uint64_t lane_en : 4;
4986 uint64_t reserved_4_7 : 4;
4987 uint64_t txmargin : 5;
4988 uint64_t reserved_13_15 : 3;
4989 uint64_t txdeemph : 4;
4990 uint64_t reserved_20_30 : 11;
4991 uint64_t txbypass : 1;
4992 uint64_t reserved_32_63 : 32;
4996 typedef union cvmx_ciu_qlm1 cvmx_ciu_qlm1_t;
5002 * This register is only reset by cold reset.
5008 struct cvmx_ciu_qlm2_s
5010 #if __BYTE_ORDER == __BIG_ENDIAN
5011 uint64_t reserved_32_63 : 32;
5012 uint64_t txbypass : 1; /**< QLM2 transmitter bypass enable */
5013 uint64_t reserved_21_30 : 10;
5014 uint64_t txdeemph : 5; /**< QLM2 transmitter bypass de-emphasis value */
5015 uint64_t reserved_13_15 : 3;
5016 uint64_t txmargin : 5; /**< QLM2 transmitter bypass margin (amplitude) value */
5017 uint64_t reserved_4_7 : 4;
5018 uint64_t lane_en : 4; /**< QLM2 lane enable mask */
5020 uint64_t lane_en : 4;
5021 uint64_t reserved_4_7 : 4;
5022 uint64_t txmargin : 5;
5023 uint64_t reserved_13_15 : 3;
5024 uint64_t txdeemph : 5;
5025 uint64_t reserved_21_30 : 10;
5026 uint64_t txbypass : 1;
5027 uint64_t reserved_32_63 : 32;
5030 struct cvmx_ciu_qlm2_s cn63xx;
5031 struct cvmx_ciu_qlm2_cn63xxp1
5033 #if __BYTE_ORDER == __BIG_ENDIAN
5034 uint64_t reserved_32_63 : 32;
5035 uint64_t txbypass : 1; /**< QLM2 transmitter bypass enable */
5036 uint64_t reserved_20_30 : 11;
5037 uint64_t txdeemph : 4; /**< QLM2 transmitter bypass de-emphasis value */
5038 uint64_t reserved_13_15 : 3;
5039 uint64_t txmargin : 5; /**< QLM2 transmitter bypass margin (amplitude) value */
5040 uint64_t reserved_4_7 : 4;
5041 uint64_t lane_en : 4; /**< QLM2 lane enable mask */
5043 uint64_t lane_en : 4;
5044 uint64_t reserved_4_7 : 4;
5045 uint64_t txmargin : 5;
5046 uint64_t reserved_13_15 : 3;
5047 uint64_t txdeemph : 4;
5048 uint64_t reserved_20_30 : 11;
5049 uint64_t txbypass : 1;
5050 uint64_t reserved_32_63 : 32;
5054 typedef union cvmx_ciu_qlm2 cvmx_ciu_qlm2_t;
5059 union cvmx_ciu_qlm_dcok
5062 struct cvmx_ciu_qlm_dcok_s
5064 #if __BYTE_ORDER == __BIG_ENDIAN
5065 uint64_t reserved_4_63 : 60;
5066 uint64_t qlm_dcok : 4; /**< Re-assert dcok for each QLM. The value in this
5067 field is "anded" with the pll_dcok pin and then
5068 sent to each QLM (0..3). */
5070 uint64_t qlm_dcok : 4;
5071 uint64_t reserved_4_63 : 60;
5074 struct cvmx_ciu_qlm_dcok_cn52xx
5076 #if __BYTE_ORDER == __BIG_ENDIAN
5077 uint64_t reserved_2_63 : 62;
5078 uint64_t qlm_dcok : 2; /**< Re-assert dcok for each QLM. The value in this
5079 field is "anded" with the pll_dcok pin and then
5080 sent to each QLM (0..3). */
5082 uint64_t qlm_dcok : 2;
5083 uint64_t reserved_2_63 : 62;
5086 struct cvmx_ciu_qlm_dcok_cn52xx cn52xxp1;
5087 struct cvmx_ciu_qlm_dcok_s cn56xx;
5088 struct cvmx_ciu_qlm_dcok_s cn56xxp1;
5090 typedef union cvmx_ciu_qlm_dcok cvmx_ciu_qlm_dcok_t;
5095 union cvmx_ciu_qlm_jtgc
5098 struct cvmx_ciu_qlm_jtgc_s
5100 #if __BYTE_ORDER == __BIG_ENDIAN
5101 uint64_t reserved_11_63 : 53;
5102 uint64_t clk_div : 3; /**< Clock divider for QLM JTAG operations. eclk is
5103 divided by 2^(CLK_DIV + 2) */
5104 uint64_t reserved_6_7 : 2;
5105 uint64_t mux_sel : 2; /**< Selects which QLM JTAG shift out is shifted into
5106 the QLM JTAG shift register: CIU_QLM_JTGD[SHFT_REG] */
5107 uint64_t bypass : 4; /**< Selects which QLM JTAG shift chains are bypassed
5108 by the QLM JTAG data register (CIU_QLM_JTGD) (one
5111 uint64_t bypass : 4;
5112 uint64_t mux_sel : 2;
5113 uint64_t reserved_6_7 : 2;
5114 uint64_t clk_div : 3;
5115 uint64_t reserved_11_63 : 53;
5118 struct cvmx_ciu_qlm_jtgc_cn52xx
5120 #if __BYTE_ORDER == __BIG_ENDIAN
5121 uint64_t reserved_11_63 : 53;
5122 uint64_t clk_div : 3; /**< Clock divider for QLM JTAG operations. eclk is
5123 divided by 2^(CLK_DIV + 2) */
5124 uint64_t reserved_5_7 : 3;
5125 uint64_t mux_sel : 1; /**< Selects which QLM JTAG shift out is shifted into
5126 the QLM JTAG shift register: CIU_QLM_JTGD[SHFT_REG] */
5127 uint64_t reserved_2_3 : 2;
5128 uint64_t bypass : 2; /**< Selects which QLM JTAG shift chains are bypassed
5129 by the QLM JTAG data register (CIU_QLM_JTGD) (one
5132 uint64_t bypass : 2;
5133 uint64_t reserved_2_3 : 2;
5134 uint64_t mux_sel : 1;
5135 uint64_t reserved_5_7 : 3;
5136 uint64_t clk_div : 3;
5137 uint64_t reserved_11_63 : 53;
5140 struct cvmx_ciu_qlm_jtgc_cn52xx cn52xxp1;
5141 struct cvmx_ciu_qlm_jtgc_s cn56xx;
5142 struct cvmx_ciu_qlm_jtgc_s cn56xxp1;
5143 struct cvmx_ciu_qlm_jtgc_cn63xx
5145 #if __BYTE_ORDER == __BIG_ENDIAN
5146 uint64_t reserved_11_63 : 53;
5147 uint64_t clk_div : 3; /**< Clock divider for QLM JTAG operations. eclk is
5148 divided by 2^(CLK_DIV + 2) */
5149 uint64_t reserved_6_7 : 2;
5150 uint64_t mux_sel : 2; /**< Selects which QLM JTAG shift out is shifted into
5151 the QLM JTAG shift register: CIU_QLM_JTGD[SHFT_REG] */
5152 uint64_t reserved_3_3 : 1;
5153 uint64_t bypass : 3; /**< Selects which QLM JTAG shift chains are bypassed
5154 by the QLM JTAG data register (CIU_QLM_JTGD) (one
5157 uint64_t bypass : 3;
5158 uint64_t reserved_3_3 : 1;
5159 uint64_t mux_sel : 2;
5160 uint64_t reserved_6_7 : 2;
5161 uint64_t clk_div : 3;
5162 uint64_t reserved_11_63 : 53;
5165 struct cvmx_ciu_qlm_jtgc_cn63xx cn63xxp1;
5167 typedef union cvmx_ciu_qlm_jtgc cvmx_ciu_qlm_jtgc_t;
5172 union cvmx_ciu_qlm_jtgd
5175 struct cvmx_ciu_qlm_jtgd_s
5177 #if __BYTE_ORDER == __BIG_ENDIAN
5178 uint64_t capture : 1; /**< Perform JTAG capture operation (self-clearing when
5180 uint64_t shift : 1; /**< Perform JTAG shift operation (self-clearing when
5182 uint64_t update : 1; /**< Perform JTAG update operation (self-clearing when
5184 uint64_t reserved_44_60 : 17;
5185 uint64_t select : 4; /**< Selects which QLM JTAG shift chains the JTAG
5186 operations are performed on */
5187 uint64_t reserved_37_39 : 3;
5188 uint64_t shft_cnt : 5; /**< QLM JTAG shift count (encoded in -1 notation) */
5189 uint64_t shft_reg : 32; /**< QLM JTAG shift register */
5191 uint64_t shft_reg : 32;
5192 uint64_t shft_cnt : 5;
5193 uint64_t reserved_37_39 : 3;
5194 uint64_t select : 4;
5195 uint64_t reserved_44_60 : 17;
5196 uint64_t update : 1;
5198 uint64_t capture : 1;
5201 struct cvmx_ciu_qlm_jtgd_cn52xx
5203 #if __BYTE_ORDER == __BIG_ENDIAN
5204 uint64_t capture : 1; /**< Perform JTAG capture operation (self-clearing when
5206 uint64_t shift : 1; /**< Perform JTAG shift operation (self-clearing when
5208 uint64_t update : 1; /**< Perform JTAG update operation (self-clearing when
5210 uint64_t reserved_42_60 : 19;
5211 uint64_t select : 2; /**< Selects which QLM JTAG shift chains the JTAG
5212 operations are performed on */
5213 uint64_t reserved_37_39 : 3;
5214 uint64_t shft_cnt : 5; /**< QLM JTAG shift count (encoded in -1 notation) */
5215 uint64_t shft_reg : 32; /**< QLM JTAG shift register */
5217 uint64_t shft_reg : 32;
5218 uint64_t shft_cnt : 5;
5219 uint64_t reserved_37_39 : 3;
5220 uint64_t select : 2;
5221 uint64_t reserved_42_60 : 19;
5222 uint64_t update : 1;
5224 uint64_t capture : 1;
5227 struct cvmx_ciu_qlm_jtgd_cn52xx cn52xxp1;
5228 struct cvmx_ciu_qlm_jtgd_s cn56xx;
5229 struct cvmx_ciu_qlm_jtgd_cn56xxp1
5231 #if __BYTE_ORDER == __BIG_ENDIAN
5232 uint64_t capture : 1; /**< Perform JTAG capture operation (self-clearing when
5234 uint64_t shift : 1; /**< Perform JTAG shift operation (self-clearing when
5236 uint64_t update : 1; /**< Perform JTAG update operation (self-clearing when
5238 uint64_t reserved_37_60 : 24;
5239 uint64_t shft_cnt : 5; /**< QLM JTAG shift count (encoded in -1 notation) */
5240 uint64_t shft_reg : 32; /**< QLM JTAG shift register */
5242 uint64_t shft_reg : 32;
5243 uint64_t shft_cnt : 5;
5244 uint64_t reserved_37_60 : 24;
5245 uint64_t update : 1;
5247 uint64_t capture : 1;
5250 struct cvmx_ciu_qlm_jtgd_cn63xx
5252 #if __BYTE_ORDER == __BIG_ENDIAN
5253 uint64_t capture : 1; /**< Perform JTAG capture operation (self-clearing when
5255 uint64_t shift : 1; /**< Perform JTAG shift operation (self-clearing when
5257 uint64_t update : 1; /**< Perform JTAG update operation (self-clearing when
5259 uint64_t reserved_43_60 : 18;
5260 uint64_t select : 3; /**< Selects which QLM JTAG shift chains the JTAG
5261 operations are performed on */
5262 uint64_t reserved_37_39 : 3;
5263 uint64_t shft_cnt : 5; /**< QLM JTAG shift count (encoded in -1 notation) */
5264 uint64_t shft_reg : 32; /**< QLM JTAG shift register */
5266 uint64_t shft_reg : 32;
5267 uint64_t shft_cnt : 5;
5268 uint64_t reserved_37_39 : 3;
5269 uint64_t select : 3;
5270 uint64_t reserved_43_60 : 18;
5271 uint64_t update : 1;
5273 uint64_t capture : 1;
5276 struct cvmx_ciu_qlm_jtgd_cn63xx cn63xxp1;
5278 typedef union cvmx_ciu_qlm_jtgd cvmx_ciu_qlm_jtgd_t;
5281 * cvmx_ciu_soft_bist
5283 union cvmx_ciu_soft_bist
5286 struct cvmx_ciu_soft_bist_s
5288 #if __BYTE_ORDER == __BIG_ENDIAN
5289 uint64_t reserved_1_63 : 63;
5290 uint64_t soft_bist : 1; /**< Reserved */
5292 uint64_t soft_bist : 1;
5293 uint64_t reserved_1_63 : 63;
5296 struct cvmx_ciu_soft_bist_s cn30xx;
5297 struct cvmx_ciu_soft_bist_s cn31xx;
5298 struct cvmx_ciu_soft_bist_s cn38xx;
5299 struct cvmx_ciu_soft_bist_s cn38xxp2;
5300 struct cvmx_ciu_soft_bist_s cn50xx;
5301 struct cvmx_ciu_soft_bist_s cn52xx;
5302 struct cvmx_ciu_soft_bist_s cn52xxp1;
5303 struct cvmx_ciu_soft_bist_s cn56xx;
5304 struct cvmx_ciu_soft_bist_s cn56xxp1;
5305 struct cvmx_ciu_soft_bist_s cn58xx;
5306 struct cvmx_ciu_soft_bist_s cn58xxp1;
5307 struct cvmx_ciu_soft_bist_s cn63xx;
5308 struct cvmx_ciu_soft_bist_s cn63xxp1;
5310 typedef union cvmx_ciu_soft_bist cvmx_ciu_soft_bist_t;
5313 * cvmx_ciu_soft_prst
5315 union cvmx_ciu_soft_prst
5318 struct cvmx_ciu_soft_prst_s
5320 #if __BYTE_ORDER == __BIG_ENDIAN
5321 uint64_t reserved_3_63 : 61;
5322 uint64_t host64 : 1; /**< PCX Host Mode Device Capability (0=32b/1=64b) */
5323 uint64_t npi : 1; /**< When PCI soft reset is asserted, also reset the
5324 NPI and PNI logic */
5325 uint64_t soft_prst : 1; /**< Resets the PCIe/sRIO logic in all modes, not just
5326 RC mode. The reset value is based on the
5327 corresponding MIO_RST_CTL[PRTMODE] CSR field:
5328 If PRTMODE == 0, then SOFT_PRST resets to 0
5329 If PRTMODE != 0, then SOFT_PRST resets to 1
5330 When OCTEON is configured to drive the PERST*_L
5331 chip pin (ie. MIO_RST_CTL0[RST_DRV] is set), this
5332 controls the PERST*_L chip pin. */
5334 uint64_t soft_prst : 1;
5336 uint64_t host64 : 1;
5337 uint64_t reserved_3_63 : 61;
5340 struct cvmx_ciu_soft_prst_s cn30xx;
5341 struct cvmx_ciu_soft_prst_s cn31xx;
5342 struct cvmx_ciu_soft_prst_s cn38xx;
5343 struct cvmx_ciu_soft_prst_s cn38xxp2;
5344 struct cvmx_ciu_soft_prst_s cn50xx;
5345 struct cvmx_ciu_soft_prst_cn52xx
5347 #if __BYTE_ORDER == __BIG_ENDIAN
5348 uint64_t reserved_1_63 : 63;
5349 uint64_t soft_prst : 1; /**< Reset the PCI bus. Only works when Octane is
5350 configured as a HOST. When OCTEON is a PCI host
5351 (i.e. when PCI_HOST_MODE = 1), This controls
5352 PCI_RST_L. Refer to section 10.11.1. */
5354 uint64_t soft_prst : 1;
5355 uint64_t reserved_1_63 : 63;
5358 struct cvmx_ciu_soft_prst_cn52xx cn52xxp1;
5359 struct cvmx_ciu_soft_prst_cn52xx cn56xx;
5360 struct cvmx_ciu_soft_prst_cn52xx cn56xxp1;
5361 struct cvmx_ciu_soft_prst_s cn58xx;
5362 struct cvmx_ciu_soft_prst_s cn58xxp1;
5363 struct cvmx_ciu_soft_prst_cn52xx cn63xx;
5364 struct cvmx_ciu_soft_prst_cn52xx cn63xxp1;
5366 typedef union cvmx_ciu_soft_prst cvmx_ciu_soft_prst_t;
5369 * cvmx_ciu_soft_prst1
5371 union cvmx_ciu_soft_prst1
5374 struct cvmx_ciu_soft_prst1_s
5376 #if __BYTE_ORDER == __BIG_ENDIAN
5377 uint64_t reserved_1_63 : 63;
5378 uint64_t soft_prst : 1; /**< Resets the PCIe/sRIO logic in all modes, not just
5379 RC mode. The reset value is based on the
5380 corresponding MIO_RST_CTL[PRTMODE] CSR field:
5381 If PRTMODE == 0, then SOFT_PRST resets to 0
5382 If PRTMODE != 0, then SOFT_PRST resets to 1
5383 When OCTEON is configured to drive the PERST*_L
5384 chip pin (ie. MIO_RST_CTL1[RST_DRV] is set), this
5385 controls the PERST*_L chip pin. */
5387 uint64_t soft_prst : 1;
5388 uint64_t reserved_1_63 : 63;
5391 struct cvmx_ciu_soft_prst1_s cn52xx;
5392 struct cvmx_ciu_soft_prst1_s cn52xxp1;
5393 struct cvmx_ciu_soft_prst1_s cn56xx;
5394 struct cvmx_ciu_soft_prst1_s cn56xxp1;
5395 struct cvmx_ciu_soft_prst1_s cn63xx;
5396 struct cvmx_ciu_soft_prst1_s cn63xxp1;
5398 typedef union cvmx_ciu_soft_prst1 cvmx_ciu_soft_prst1_t;
5403 union cvmx_ciu_soft_rst
5406 struct cvmx_ciu_soft_rst_s
5408 #if __BYTE_ORDER == __BIG_ENDIAN
5409 uint64_t reserved_1_63 : 63;
5410 uint64_t soft_rst : 1; /**< Resets Octeon
5411 When soft reseting Octeon from a remote PCIe/sRIO
5412 host, always read CIU_SOFT_RST (and wait for
5413 result) before writing SOFT_RST to '1'. */
5415 uint64_t soft_rst : 1;
5416 uint64_t reserved_1_63 : 63;
5419 struct cvmx_ciu_soft_rst_s cn30xx;
5420 struct cvmx_ciu_soft_rst_s cn31xx;
5421 struct cvmx_ciu_soft_rst_s cn38xx;
5422 struct cvmx_ciu_soft_rst_s cn38xxp2;
5423 struct cvmx_ciu_soft_rst_s cn50xx;
5424 struct cvmx_ciu_soft_rst_s cn52xx;
5425 struct cvmx_ciu_soft_rst_s cn52xxp1;
5426 struct cvmx_ciu_soft_rst_s cn56xx;
5427 struct cvmx_ciu_soft_rst_s cn56xxp1;
5428 struct cvmx_ciu_soft_rst_s cn58xx;
5429 struct cvmx_ciu_soft_rst_s cn58xxp1;
5430 struct cvmx_ciu_soft_rst_s cn63xx;
5431 struct cvmx_ciu_soft_rst_s cn63xxp1;
5433 typedef union cvmx_ciu_soft_rst cvmx_ciu_soft_rst_t;
5441 struct cvmx_ciu_timx_s
5443 #if __BYTE_ORDER == __BIG_ENDIAN
5444 uint64_t reserved_37_63 : 27;
5445 uint64_t one_shot : 1; /**< One-shot mode */
5446 uint64_t len : 36; /**< Timeout length in core clock cycles
5447 Periodic interrupts will occur every LEN+1 core
5448 clock cycles when ONE_SHOT==0
5449 Timer disabled when LEN==0 */
5452 uint64_t one_shot : 1;
5453 uint64_t reserved_37_63 : 27;
5456 struct cvmx_ciu_timx_s cn30xx;
5457 struct cvmx_ciu_timx_s cn31xx;
5458 struct cvmx_ciu_timx_s cn38xx;
5459 struct cvmx_ciu_timx_s cn38xxp2;
5460 struct cvmx_ciu_timx_s cn50xx;
5461 struct cvmx_ciu_timx_s cn52xx;
5462 struct cvmx_ciu_timx_s cn52xxp1;
5463 struct cvmx_ciu_timx_s cn56xx;
5464 struct cvmx_ciu_timx_s cn56xxp1;
5465 struct cvmx_ciu_timx_s cn58xx;
5466 struct cvmx_ciu_timx_s cn58xxp1;
5467 struct cvmx_ciu_timx_s cn63xx;
5468 struct cvmx_ciu_timx_s cn63xxp1;
5470 typedef union cvmx_ciu_timx cvmx_ciu_timx_t;
5475 union cvmx_ciu_wdogx
5478 struct cvmx_ciu_wdogx_s
5480 #if __BYTE_ORDER == __BIG_ENDIAN
5481 uint64_t reserved_46_63 : 18;
5482 uint64_t gstopen : 1; /**< GSTOPEN */
5483 uint64_t dstop : 1; /**< DSTOP */
5484 uint64_t cnt : 24; /**< Number of 256-cycle intervals until next watchdog
5485 expiration. Cleared on write to associated
5486 CIU_PP_POKE register. */
5487 uint64_t len : 16; /**< Watchdog time expiration length
5488 The 16 bits of LEN represent the most significant
5489 bits of a 24 bit decrementer that decrements
5491 LEN must be set > 0 */
5492 uint64_t state : 2; /**< Watchdog state
5493 number of watchdog time expirations since last
5494 PP poke. Cleared on write to associated
5495 CIU_PP_POKE register. */
5496 uint64_t mode : 2; /**< Watchdog mode
5500 3 = Interrupt + NMI + Soft-Reset */
5507 uint64_t gstopen : 1;
5508 uint64_t reserved_46_63 : 18;
5511 struct cvmx_ciu_wdogx_s cn30xx;
5512 struct cvmx_ciu_wdogx_s cn31xx;
5513 struct cvmx_ciu_wdogx_s cn38xx;
5514 struct cvmx_ciu_wdogx_s cn38xxp2;
5515 struct cvmx_ciu_wdogx_s cn50xx;
5516 struct cvmx_ciu_wdogx_s cn52xx;
5517 struct cvmx_ciu_wdogx_s cn52xxp1;
5518 struct cvmx_ciu_wdogx_s cn56xx;
5519 struct cvmx_ciu_wdogx_s cn56xxp1;
5520 struct cvmx_ciu_wdogx_s cn58xx;
5521 struct cvmx_ciu_wdogx_s cn58xxp1;
5522 struct cvmx_ciu_wdogx_s cn63xx;
5523 struct cvmx_ciu_wdogx_s cn63xxp1;
5525 typedef union cvmx_ciu_wdogx cvmx_ciu_wdogx_t;