]> CyberLeo.Net >> Repos - FreeBSD/releng/10.2.git/blob - sys/contrib/octeon-sdk/cvmx-ciu-defs.h
- Copy stable/10@285827 to releng/10.2 in preparation for 10.2-RC1
[FreeBSD/releng/10.2.git] / sys / contrib / octeon-sdk / cvmx-ciu-defs.h
1 /***********************license start***************
2  * Copyright (c) 2003-2012  Cavium Inc. (support@cavium.com). All rights
3  * reserved.
4  *
5  *
6  * Redistribution and use in source and binary forms, with or without
7  * modification, are permitted provided that the following conditions are
8  * met:
9  *
10  *   * Redistributions of source code must retain the above copyright
11  *     notice, this list of conditions and the following disclaimer.
12  *
13  *   * Redistributions in binary form must reproduce the above
14  *     copyright notice, this list of conditions and the following
15  *     disclaimer in the documentation and/or other materials provided
16  *     with the distribution.
17
18  *   * Neither the name of Cavium Inc. nor the names of
19  *     its contributors may be used to endorse or promote products
20  *     derived from this software without specific prior written
21  *     permission.
22
23  * This Software, including technical data, may be subject to U.S. export  control
24  * laws, including the U.S. Export Administration Act and its  associated
25  * regulations, and may be subject to export or import  regulations in other
26  * countries.
27
28  * TO THE MAXIMUM EXTENT PERMITTED BY LAW, THE SOFTWARE IS PROVIDED "AS IS"
29  * AND WITH ALL FAULTS AND CAVIUM INC. MAKES NO PROMISES, REPRESENTATIONS OR
30  * WARRANTIES, EITHER EXPRESS, IMPLIED, STATUTORY, OR OTHERWISE, WITH RESPECT TO
31  * THE SOFTWARE, INCLUDING ITS CONDITION, ITS CONFORMITY TO ANY REPRESENTATION OR
32  * DESCRIPTION, OR THE EXISTENCE OF ANY LATENT OR PATENT DEFECTS, AND CAVIUM
33  * SPECIFICALLY DISCLAIMS ALL IMPLIED (IF ANY) WARRANTIES OF TITLE,
34  * MERCHANTABILITY, NONINFRINGEMENT, FITNESS FOR A PARTICULAR PURPOSE, LACK OF
35  * VIRUSES, ACCURACY OR COMPLETENESS, QUIET ENJOYMENT, QUIET POSSESSION OR
36  * CORRESPONDENCE TO DESCRIPTION. THE ENTIRE  RISK ARISING OUT OF USE OR
37  * PERFORMANCE OF THE SOFTWARE LIES WITH YOU.
38  ***********************license end**************************************/
39
40
41 /**
42  * cvmx-ciu-defs.h
43  *
44  * Configuration and status register (CSR) type definitions for
45  * Octeon ciu.
46  *
47  * This file is auto generated. Do not edit.
48  *
49  * <hr>$Revision$<hr>
50  *
51  */
52 #ifndef __CVMX_CIU_DEFS_H__
53 #define __CVMX_CIU_DEFS_H__
54
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)
59 {
60         if (!(OCTEON_IS_MODEL(OCTEON_CN61XX) || OCTEON_IS_MODEL(OCTEON_CN63XX) || OCTEON_IS_MODEL(OCTEON_CN66XX) || OCTEON_IS_MODEL(OCTEON_CNF71XX)))
61                 cvmx_warn("CVMX_CIU_BLOCK_INT not supported on this chip\n");
62         return CVMX_ADD_IO_SEG(0x00010700000007C0ull);
63 }
64 #else
65 #define CVMX_CIU_BLOCK_INT (CVMX_ADD_IO_SEG(0x00010700000007C0ull))
66 #endif
67 #define CVMX_CIU_DINT (CVMX_ADD_IO_SEG(0x0001070000000720ull))
68 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
69 static inline uint64_t CVMX_CIU_EN2_IOX_INT(unsigned long offset)
70 {
71         if (!(
72               (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((offset <= 1))) ||
73               (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((offset <= 1))) ||
74               (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((offset <= 1)))))
75                 cvmx_warn("CVMX_CIU_EN2_IOX_INT(%lu) is invalid on this chip\n", offset);
76         return CVMX_ADD_IO_SEG(0x000107000000A600ull) + ((offset) & 1) * 8;
77 }
78 #else
79 #define CVMX_CIU_EN2_IOX_INT(offset) (CVMX_ADD_IO_SEG(0x000107000000A600ull) + ((offset) & 1) * 8)
80 #endif
81 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
82 static inline uint64_t CVMX_CIU_EN2_IOX_INT_W1C(unsigned long offset)
83 {
84         if (!(
85               (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((offset <= 1))) ||
86               (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((offset <= 1))) ||
87               (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((offset <= 1)))))
88                 cvmx_warn("CVMX_CIU_EN2_IOX_INT_W1C(%lu) is invalid on this chip\n", offset);
89         return CVMX_ADD_IO_SEG(0x000107000000CE00ull) + ((offset) & 1) * 8;
90 }
91 #else
92 #define CVMX_CIU_EN2_IOX_INT_W1C(offset) (CVMX_ADD_IO_SEG(0x000107000000CE00ull) + ((offset) & 1) * 8)
93 #endif
94 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
95 static inline uint64_t CVMX_CIU_EN2_IOX_INT_W1S(unsigned long offset)
96 {
97         if (!(
98               (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((offset <= 1))) ||
99               (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((offset <= 1))) ||
100               (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((offset <= 1)))))
101                 cvmx_warn("CVMX_CIU_EN2_IOX_INT_W1S(%lu) is invalid on this chip\n", offset);
102         return CVMX_ADD_IO_SEG(0x000107000000AE00ull) + ((offset) & 1) * 8;
103 }
104 #else
105 #define CVMX_CIU_EN2_IOX_INT_W1S(offset) (CVMX_ADD_IO_SEG(0x000107000000AE00ull) + ((offset) & 1) * 8)
106 #endif
107 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
108 static inline uint64_t CVMX_CIU_EN2_PPX_IP2(unsigned long offset)
109 {
110         if (!(
111               (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((offset <= 3))) ||
112               (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((offset <= 9))) ||
113               (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((offset <= 3)))))
114                 cvmx_warn("CVMX_CIU_EN2_PPX_IP2(%lu) is invalid on this chip\n", offset);
115         return CVMX_ADD_IO_SEG(0x000107000000A000ull) + ((offset) & 15) * 8;
116 }
117 #else
118 #define CVMX_CIU_EN2_PPX_IP2(offset) (CVMX_ADD_IO_SEG(0x000107000000A000ull) + ((offset) & 15) * 8)
119 #endif
120 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
121 static inline uint64_t CVMX_CIU_EN2_PPX_IP2_W1C(unsigned long offset)
122 {
123         if (!(
124               (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((offset <= 3))) ||
125               (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((offset <= 9))) ||
126               (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((offset <= 3)))))
127                 cvmx_warn("CVMX_CIU_EN2_PPX_IP2_W1C(%lu) is invalid on this chip\n", offset);
128         return CVMX_ADD_IO_SEG(0x000107000000C800ull) + ((offset) & 15) * 8;
129 }
130 #else
131 #define CVMX_CIU_EN2_PPX_IP2_W1C(offset) (CVMX_ADD_IO_SEG(0x000107000000C800ull) + ((offset) & 15) * 8)
132 #endif
133 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
134 static inline uint64_t CVMX_CIU_EN2_PPX_IP2_W1S(unsigned long offset)
135 {
136         if (!(
137               (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((offset <= 3))) ||
138               (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((offset <= 9))) ||
139               (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((offset <= 3)))))
140                 cvmx_warn("CVMX_CIU_EN2_PPX_IP2_W1S(%lu) is invalid on this chip\n", offset);
141         return CVMX_ADD_IO_SEG(0x000107000000A800ull) + ((offset) & 15) * 8;
142 }
143 #else
144 #define CVMX_CIU_EN2_PPX_IP2_W1S(offset) (CVMX_ADD_IO_SEG(0x000107000000A800ull) + ((offset) & 15) * 8)
145 #endif
146 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
147 static inline uint64_t CVMX_CIU_EN2_PPX_IP3(unsigned long offset)
148 {
149         if (!(
150               (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((offset <= 3))) ||
151               (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((offset <= 9))) ||
152               (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((offset <= 3)))))
153                 cvmx_warn("CVMX_CIU_EN2_PPX_IP3(%lu) is invalid on this chip\n", offset);
154         return CVMX_ADD_IO_SEG(0x000107000000A200ull) + ((offset) & 15) * 8;
155 }
156 #else
157 #define CVMX_CIU_EN2_PPX_IP3(offset) (CVMX_ADD_IO_SEG(0x000107000000A200ull) + ((offset) & 15) * 8)
158 #endif
159 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
160 static inline uint64_t CVMX_CIU_EN2_PPX_IP3_W1C(unsigned long offset)
161 {
162         if (!(
163               (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((offset <= 3))) ||
164               (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((offset <= 9))) ||
165               (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((offset <= 3)))))
166                 cvmx_warn("CVMX_CIU_EN2_PPX_IP3_W1C(%lu) is invalid on this chip\n", offset);
167         return CVMX_ADD_IO_SEG(0x000107000000CA00ull) + ((offset) & 15) * 8;
168 }
169 #else
170 #define CVMX_CIU_EN2_PPX_IP3_W1C(offset) (CVMX_ADD_IO_SEG(0x000107000000CA00ull) + ((offset) & 15) * 8)
171 #endif
172 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
173 static inline uint64_t CVMX_CIU_EN2_PPX_IP3_W1S(unsigned long offset)
174 {
175         if (!(
176               (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((offset <= 3))) ||
177               (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((offset <= 9))) ||
178               (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((offset <= 3)))))
179                 cvmx_warn("CVMX_CIU_EN2_PPX_IP3_W1S(%lu) is invalid on this chip\n", offset);
180         return CVMX_ADD_IO_SEG(0x000107000000AA00ull) + ((offset) & 15) * 8;
181 }
182 #else
183 #define CVMX_CIU_EN2_PPX_IP3_W1S(offset) (CVMX_ADD_IO_SEG(0x000107000000AA00ull) + ((offset) & 15) * 8)
184 #endif
185 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
186 static inline uint64_t CVMX_CIU_EN2_PPX_IP4(unsigned long offset)
187 {
188         if (!(
189               (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((offset <= 3))) ||
190               (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((offset <= 9))) ||
191               (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((offset <= 3)))))
192                 cvmx_warn("CVMX_CIU_EN2_PPX_IP4(%lu) is invalid on this chip\n", offset);
193         return CVMX_ADD_IO_SEG(0x000107000000A400ull) + ((offset) & 15) * 8;
194 }
195 #else
196 #define CVMX_CIU_EN2_PPX_IP4(offset) (CVMX_ADD_IO_SEG(0x000107000000A400ull) + ((offset) & 15) * 8)
197 #endif
198 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
199 static inline uint64_t CVMX_CIU_EN2_PPX_IP4_W1C(unsigned long offset)
200 {
201         if (!(
202               (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((offset <= 3))) ||
203               (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((offset <= 9))) ||
204               (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((offset <= 3)))))
205                 cvmx_warn("CVMX_CIU_EN2_PPX_IP4_W1C(%lu) is invalid on this chip\n", offset);
206         return CVMX_ADD_IO_SEG(0x000107000000CC00ull) + ((offset) & 15) * 8;
207 }
208 #else
209 #define CVMX_CIU_EN2_PPX_IP4_W1C(offset) (CVMX_ADD_IO_SEG(0x000107000000CC00ull) + ((offset) & 15) * 8)
210 #endif
211 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
212 static inline uint64_t CVMX_CIU_EN2_PPX_IP4_W1S(unsigned long offset)
213 {
214         if (!(
215               (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((offset <= 3))) ||
216               (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((offset <= 9))) ||
217               (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((offset <= 3)))))
218                 cvmx_warn("CVMX_CIU_EN2_PPX_IP4_W1S(%lu) is invalid on this chip\n", offset);
219         return CVMX_ADD_IO_SEG(0x000107000000AC00ull) + ((offset) & 15) * 8;
220 }
221 #else
222 #define CVMX_CIU_EN2_PPX_IP4_W1S(offset) (CVMX_ADD_IO_SEG(0x000107000000AC00ull) + ((offset) & 15) * 8)
223 #endif
224 #define CVMX_CIU_FUSE (CVMX_ADD_IO_SEG(0x0001070000000728ull))
225 #define CVMX_CIU_GSTOP (CVMX_ADD_IO_SEG(0x0001070000000710ull))
226 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
227 #define CVMX_CIU_INT33_SUM0 CVMX_CIU_INT33_SUM0_FUNC()
228 static inline uint64_t CVMX_CIU_INT33_SUM0_FUNC(void)
229 {
230         if (!(OCTEON_IS_MODEL(OCTEON_CN61XX) || OCTEON_IS_MODEL(OCTEON_CN63XX) || OCTEON_IS_MODEL(OCTEON_CN66XX) || OCTEON_IS_MODEL(OCTEON_CNF71XX)))
231                 cvmx_warn("CVMX_CIU_INT33_SUM0 not supported on this chip\n");
232         return CVMX_ADD_IO_SEG(0x0001070000000110ull);
233 }
234 #else
235 #define CVMX_CIU_INT33_SUM0 (CVMX_ADD_IO_SEG(0x0001070000000110ull))
236 #endif
237 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
238 static inline uint64_t CVMX_CIU_INTX_EN0(unsigned long offset)
239 {
240         if (!(
241               (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset <= 1) || (offset == 32))) ||
242               (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 3) || (offset == 32))) ||
243               (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((offset <= 32))) ||
244               (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 3) || (offset == 32))) ||
245               (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 7) || (offset == 32))) ||
246               (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 23) || (offset == 32))) ||
247               (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 32))) ||
248               (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((offset <= 7) || ((offset >= 32) && (offset <= 33)))) ||
249               (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((offset <= 11) || ((offset >= 32) && (offset <= 33)))) ||
250               (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((offset <= 19) || ((offset >= 32) && (offset <= 33)))) ||
251               (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((offset <= 7) || ((offset >= 32) && (offset <= 33))))))
252                 cvmx_warn("CVMX_CIU_INTX_EN0(%lu) is invalid on this chip\n", offset);
253         return CVMX_ADD_IO_SEG(0x0001070000000200ull) + ((offset) & 63) * 16;
254 }
255 #else
256 #define CVMX_CIU_INTX_EN0(offset) (CVMX_ADD_IO_SEG(0x0001070000000200ull) + ((offset) & 63) * 16)
257 #endif
258 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
259 static inline uint64_t CVMX_CIU_INTX_EN0_W1C(unsigned long offset)
260 {
261         if (!(
262               (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 7) || (offset == 32))) ||
263               (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 23) || (offset == 32))) ||
264               (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 32))) ||
265               (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((offset <= 7) || ((offset >= 32) && (offset <= 33)))) ||
266               (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((offset <= 11) || ((offset >= 32) && (offset <= 33)))) ||
267               (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((offset <= 19) || ((offset >= 32) && (offset <= 33)))) ||
268               (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((offset <= 7) || ((offset >= 32) && (offset <= 33))))))
269                 cvmx_warn("CVMX_CIU_INTX_EN0_W1C(%lu) is invalid on this chip\n", offset);
270         return CVMX_ADD_IO_SEG(0x0001070000002200ull) + ((offset) & 63) * 16;
271 }
272 #else
273 #define CVMX_CIU_INTX_EN0_W1C(offset) (CVMX_ADD_IO_SEG(0x0001070000002200ull) + ((offset) & 63) * 16)
274 #endif
275 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
276 static inline uint64_t CVMX_CIU_INTX_EN0_W1S(unsigned long offset)
277 {
278         if (!(
279               (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 7) || (offset == 32))) ||
280               (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 23) || (offset == 32))) ||
281               (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 32))) ||
282               (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((offset <= 7) || ((offset >= 32) && (offset <= 33)))) ||
283               (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((offset <= 11) || ((offset >= 32) && (offset <= 33)))) ||
284               (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((offset <= 19) || ((offset >= 32) && (offset <= 33)))) ||
285               (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((offset <= 7) || ((offset >= 32) && (offset <= 33))))))
286                 cvmx_warn("CVMX_CIU_INTX_EN0_W1S(%lu) is invalid on this chip\n", offset);
287         return CVMX_ADD_IO_SEG(0x0001070000006200ull) + ((offset) & 63) * 16;
288 }
289 #else
290 #define CVMX_CIU_INTX_EN0_W1S(offset) (CVMX_ADD_IO_SEG(0x0001070000006200ull) + ((offset) & 63) * 16)
291 #endif
292 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
293 static inline uint64_t CVMX_CIU_INTX_EN1(unsigned long offset)
294 {
295         if (!(
296               (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset <= 1) || (offset == 32))) ||
297               (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 3) || (offset == 32))) ||
298               (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((offset <= 32))) ||
299               (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 3) || (offset == 32))) ||
300               (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 7) || (offset == 32))) ||
301               (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 23) || (offset == 32))) ||
302               (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 32))) ||
303               (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((offset <= 7) || ((offset >= 32) && (offset <= 33)))) ||
304               (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((offset <= 11) || ((offset >= 32) && (offset <= 33)))) ||
305               (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((offset <= 19) || ((offset >= 32) && (offset <= 33)))) ||
306               (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((offset <= 7) || ((offset >= 32) && (offset <= 33))))))
307                 cvmx_warn("CVMX_CIU_INTX_EN1(%lu) is invalid on this chip\n", offset);
308         return CVMX_ADD_IO_SEG(0x0001070000000208ull) + ((offset) & 63) * 16;
309 }
310 #else
311 #define CVMX_CIU_INTX_EN1(offset) (CVMX_ADD_IO_SEG(0x0001070000000208ull) + ((offset) & 63) * 16)
312 #endif
313 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
314 static inline uint64_t CVMX_CIU_INTX_EN1_W1C(unsigned long offset)
315 {
316         if (!(
317               (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 7) || (offset == 32))) ||
318               (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 23) || (offset == 32))) ||
319               (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 32))) ||
320               (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((offset <= 7) || ((offset >= 32) && (offset <= 33)))) ||
321               (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((offset <= 11) || ((offset >= 32) && (offset <= 33)))) ||
322               (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((offset <= 19) || ((offset >= 32) && (offset <= 33)))) ||
323               (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((offset <= 7) || ((offset >= 32) && (offset <= 33))))))
324                 cvmx_warn("CVMX_CIU_INTX_EN1_W1C(%lu) is invalid on this chip\n", offset);
325         return CVMX_ADD_IO_SEG(0x0001070000002208ull) + ((offset) & 63) * 16;
326 }
327 #else
328 #define CVMX_CIU_INTX_EN1_W1C(offset) (CVMX_ADD_IO_SEG(0x0001070000002208ull) + ((offset) & 63) * 16)
329 #endif
330 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
331 static inline uint64_t CVMX_CIU_INTX_EN1_W1S(unsigned long offset)
332 {
333         if (!(
334               (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 7) || (offset == 32))) ||
335               (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 23) || (offset == 32))) ||
336               (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 32))) ||
337               (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((offset <= 7) || ((offset >= 32) && (offset <= 33)))) ||
338               (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((offset <= 11) || ((offset >= 32) && (offset <= 33)))) ||
339               (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((offset <= 19) || ((offset >= 32) && (offset <= 33)))) ||
340               (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((offset <= 7) || ((offset >= 32) && (offset <= 33))))))
341                 cvmx_warn("CVMX_CIU_INTX_EN1_W1S(%lu) is invalid on this chip\n", offset);
342         return CVMX_ADD_IO_SEG(0x0001070000006208ull) + ((offset) & 63) * 16;
343 }
344 #else
345 #define CVMX_CIU_INTX_EN1_W1S(offset) (CVMX_ADD_IO_SEG(0x0001070000006208ull) + ((offset) & 63) * 16)
346 #endif
347 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
348 static inline uint64_t CVMX_CIU_INTX_EN4_0(unsigned long offset)
349 {
350         if (!(
351               (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 1))) ||
352               (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 3))) ||
353               (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 11))) ||
354               (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 15))) ||
355               (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((offset <= 3))) ||
356               (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((offset <= 5))) ||
357               (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((offset <= 9))) ||
358               (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((offset <= 3)))))
359                 cvmx_warn("CVMX_CIU_INTX_EN4_0(%lu) is invalid on this chip\n", offset);
360         return CVMX_ADD_IO_SEG(0x0001070000000C80ull) + ((offset) & 15) * 16;
361 }
362 #else
363 #define CVMX_CIU_INTX_EN4_0(offset) (CVMX_ADD_IO_SEG(0x0001070000000C80ull) + ((offset) & 15) * 16)
364 #endif
365 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
366 static inline uint64_t CVMX_CIU_INTX_EN4_0_W1C(unsigned long offset)
367 {
368         if (!(
369               (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 3))) ||
370               (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 11))) ||
371               (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 15))) ||
372               (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((offset <= 3))) ||
373               (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((offset <= 5))) ||
374               (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((offset <= 9))) ||
375               (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((offset <= 3)))))
376                 cvmx_warn("CVMX_CIU_INTX_EN4_0_W1C(%lu) is invalid on this chip\n", offset);
377         return CVMX_ADD_IO_SEG(0x0001070000002C80ull) + ((offset) & 15) * 16;
378 }
379 #else
380 #define CVMX_CIU_INTX_EN4_0_W1C(offset) (CVMX_ADD_IO_SEG(0x0001070000002C80ull) + ((offset) & 15) * 16)
381 #endif
382 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
383 static inline uint64_t CVMX_CIU_INTX_EN4_0_W1S(unsigned long offset)
384 {
385         if (!(
386               (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 3))) ||
387               (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 11))) ||
388               (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 15))) ||
389               (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((offset <= 3))) ||
390               (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((offset <= 5))) ||
391               (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((offset <= 9))) ||
392               (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((offset <= 3)))))
393                 cvmx_warn("CVMX_CIU_INTX_EN4_0_W1S(%lu) is invalid on this chip\n", offset);
394         return CVMX_ADD_IO_SEG(0x0001070000006C80ull) + ((offset) & 15) * 16;
395 }
396 #else
397 #define CVMX_CIU_INTX_EN4_0_W1S(offset) (CVMX_ADD_IO_SEG(0x0001070000006C80ull) + ((offset) & 15) * 16)
398 #endif
399 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
400 static inline uint64_t CVMX_CIU_INTX_EN4_1(unsigned long offset)
401 {
402         if (!(
403               (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 1))) ||
404               (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 3))) ||
405               (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 11))) ||
406               (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 15))) ||
407               (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((offset <= 3))) ||
408               (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((offset <= 5))) ||
409               (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((offset <= 9))) ||
410               (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((offset <= 3)))))
411                 cvmx_warn("CVMX_CIU_INTX_EN4_1(%lu) is invalid on this chip\n", offset);
412         return CVMX_ADD_IO_SEG(0x0001070000000C88ull) + ((offset) & 15) * 16;
413 }
414 #else
415 #define CVMX_CIU_INTX_EN4_1(offset) (CVMX_ADD_IO_SEG(0x0001070000000C88ull) + ((offset) & 15) * 16)
416 #endif
417 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
418 static inline uint64_t CVMX_CIU_INTX_EN4_1_W1C(unsigned long offset)
419 {
420         if (!(
421               (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 3))) ||
422               (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 11))) ||
423               (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 15))) ||
424               (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((offset <= 3))) ||
425               (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((offset <= 5))) ||
426               (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((offset <= 9))) ||
427               (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((offset <= 3)))))
428                 cvmx_warn("CVMX_CIU_INTX_EN4_1_W1C(%lu) is invalid on this chip\n", offset);
429         return CVMX_ADD_IO_SEG(0x0001070000002C88ull) + ((offset) & 15) * 16;
430 }
431 #else
432 #define CVMX_CIU_INTX_EN4_1_W1C(offset) (CVMX_ADD_IO_SEG(0x0001070000002C88ull) + ((offset) & 15) * 16)
433 #endif
434 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
435 static inline uint64_t CVMX_CIU_INTX_EN4_1_W1S(unsigned long offset)
436 {
437         if (!(
438               (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 3))) ||
439               (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 11))) ||
440               (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 15))) ||
441               (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((offset <= 3))) ||
442               (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((offset <= 5))) ||
443               (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((offset <= 9))) ||
444               (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((offset <= 3)))))
445                 cvmx_warn("CVMX_CIU_INTX_EN4_1_W1S(%lu) is invalid on this chip\n", offset);
446         return CVMX_ADD_IO_SEG(0x0001070000006C88ull) + ((offset) & 15) * 16;
447 }
448 #else
449 #define CVMX_CIU_INTX_EN4_1_W1S(offset) (CVMX_ADD_IO_SEG(0x0001070000006C88ull) + ((offset) & 15) * 16)
450 #endif
451 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
452 static inline uint64_t CVMX_CIU_INTX_SUM0(unsigned long offset)
453 {
454         if (!(
455               (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset <= 1) || (offset == 32))) ||
456               (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 3) || (offset == 32))) ||
457               (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((offset <= 32))) ||
458               (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 3) || (offset == 32))) ||
459               (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 7) || (offset == 32))) ||
460               (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 23) || (offset == 32))) ||
461               (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 32))) ||
462               (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((offset <= 7) || (offset == 32))) ||
463               (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((offset <= 11) || (offset == 32))) ||
464               (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((offset <= 19) || (offset == 32))) ||
465               (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((offset <= 7) || (offset == 32)))))
466                 cvmx_warn("CVMX_CIU_INTX_SUM0(%lu) is invalid on this chip\n", offset);
467         return CVMX_ADD_IO_SEG(0x0001070000000000ull) + ((offset) & 63) * 8;
468 }
469 #else
470 #define CVMX_CIU_INTX_SUM0(offset) (CVMX_ADD_IO_SEG(0x0001070000000000ull) + ((offset) & 63) * 8)
471 #endif
472 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
473 static inline uint64_t CVMX_CIU_INTX_SUM4(unsigned long offset)
474 {
475         if (!(
476               (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 1))) ||
477               (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 3))) ||
478               (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 11))) ||
479               (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 15))) ||
480               (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((offset <= 3))) ||
481               (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((offset <= 5))) ||
482               (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((offset <= 9))) ||
483               (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((offset <= 3)))))
484                 cvmx_warn("CVMX_CIU_INTX_SUM4(%lu) is invalid on this chip\n", offset);
485         return CVMX_ADD_IO_SEG(0x0001070000000C00ull) + ((offset) & 15) * 8;
486 }
487 #else
488 #define CVMX_CIU_INTX_SUM4(offset) (CVMX_ADD_IO_SEG(0x0001070000000C00ull) + ((offset) & 15) * 8)
489 #endif
490 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
491 #define CVMX_CIU_INT_DBG_SEL CVMX_CIU_INT_DBG_SEL_FUNC()
492 static inline uint64_t CVMX_CIU_INT_DBG_SEL_FUNC(void)
493 {
494         if (!(OCTEON_IS_MODEL(OCTEON_CN61XX) || OCTEON_IS_MODEL(OCTEON_CN63XX) || OCTEON_IS_MODEL(OCTEON_CN66XX) || OCTEON_IS_MODEL(OCTEON_CN68XX) || OCTEON_IS_MODEL(OCTEON_CNF71XX)))
495                 cvmx_warn("CVMX_CIU_INT_DBG_SEL not supported on this chip\n");
496         return CVMX_ADD_IO_SEG(0x00010700000007D0ull);
497 }
498 #else
499 #define CVMX_CIU_INT_DBG_SEL (CVMX_ADD_IO_SEG(0x00010700000007D0ull))
500 #endif
501 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
502 #define CVMX_CIU_INT_SUM1 CVMX_CIU_INT_SUM1_FUNC()
503 static inline uint64_t CVMX_CIU_INT_SUM1_FUNC(void)
504 {
505         if (!(OCTEON_IS_MODEL(OCTEON_CN3XXX) || OCTEON_IS_MODEL(OCTEON_CN5XXX) || OCTEON_IS_MODEL(OCTEON_CN61XX) || OCTEON_IS_MODEL(OCTEON_CN63XX) || OCTEON_IS_MODEL(OCTEON_CN66XX) || OCTEON_IS_MODEL(OCTEON_CNF71XX)))
506                 cvmx_warn("CVMX_CIU_INT_SUM1 not supported on this chip\n");
507         return CVMX_ADD_IO_SEG(0x0001070000000108ull);
508 }
509 #else
510 #define CVMX_CIU_INT_SUM1 (CVMX_ADD_IO_SEG(0x0001070000000108ull))
511 #endif
512 static inline uint64_t CVMX_CIU_MBOX_CLRX(unsigned long offset)
513 {
514         switch(cvmx_get_octeon_family()) {
515                 case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
516                         if ((offset == 0))
517                                 return CVMX_ADD_IO_SEG(0x0001070000000680ull) + ((offset) & 0) * 8;
518                         break;
519                 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
520                 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
521                 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
522                         if ((offset <= 3))
523                                 return CVMX_ADD_IO_SEG(0x0001070000000680ull) + ((offset) & 3) * 8;
524                         break;
525                 case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
526                 case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
527                         if ((offset <= 1))
528                                 return CVMX_ADD_IO_SEG(0x0001070000000680ull) + ((offset) & 1) * 8;
529                         break;
530                 case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
531                 case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
532                         if ((offset <= 15))
533                                 return CVMX_ADD_IO_SEG(0x0001070000000680ull) + ((offset) & 15) * 8;
534                         break;
535                 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
536                         if ((offset <= 11))
537                                 return CVMX_ADD_IO_SEG(0x0001070000000680ull) + ((offset) & 15) * 8;
538                         break;
539                 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
540                         if ((offset <= 9))
541                                 return CVMX_ADD_IO_SEG(0x0001070000000680ull) + ((offset) & 15) * 8;
542                         break;
543                 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
544                         if ((offset <= 5))
545                                 return CVMX_ADD_IO_SEG(0x0001070000000680ull) + ((offset) & 7) * 8;
546                         break;
547                 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
548                         if ((offset <= 31))
549                                 return CVMX_ADD_IO_SEG(0x0001070100100600ull) + ((offset) & 31) * 8;
550                         break;
551         }
552         cvmx_warn("CVMX_CIU_MBOX_CLRX (offset = %lu) not supported on this chip\n", offset);
553         return CVMX_ADD_IO_SEG(0x0001070000000680ull) + ((offset) & 3) * 8;
554 }
555 static inline uint64_t CVMX_CIU_MBOX_SETX(unsigned long offset)
556 {
557         switch(cvmx_get_octeon_family()) {
558                 case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
559                         if ((offset == 0))
560                                 return CVMX_ADD_IO_SEG(0x0001070000000600ull) + ((offset) & 0) * 8;
561                         break;
562                 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
563                 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
564                 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
565                         if ((offset <= 3))
566                                 return CVMX_ADD_IO_SEG(0x0001070000000600ull) + ((offset) & 3) * 8;
567                         break;
568                 case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
569                 case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
570                         if ((offset <= 1))
571                                 return CVMX_ADD_IO_SEG(0x0001070000000600ull) + ((offset) & 1) * 8;
572                         break;
573                 case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
574                 case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
575                         if ((offset <= 15))
576                                 return CVMX_ADD_IO_SEG(0x0001070000000600ull) + ((offset) & 15) * 8;
577                         break;
578                 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
579                         if ((offset <= 11))
580                                 return CVMX_ADD_IO_SEG(0x0001070000000600ull) + ((offset) & 15) * 8;
581                         break;
582                 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
583                         if ((offset <= 9))
584                                 return CVMX_ADD_IO_SEG(0x0001070000000600ull) + ((offset) & 15) * 8;
585                         break;
586                 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
587                         if ((offset <= 5))
588                                 return CVMX_ADD_IO_SEG(0x0001070000000600ull) + ((offset) & 7) * 8;
589                         break;
590                 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
591                         if ((offset <= 31))
592                                 return CVMX_ADD_IO_SEG(0x0001070100100400ull) + ((offset) & 31) * 8;
593                         break;
594         }
595         cvmx_warn("CVMX_CIU_MBOX_SETX (offset = %lu) not supported on this chip\n", offset);
596         return CVMX_ADD_IO_SEG(0x0001070000000600ull) + ((offset) & 3) * 8;
597 }
598 #define CVMX_CIU_NMI (CVMX_ADD_IO_SEG(0x0001070000000718ull))
599 #define CVMX_CIU_PCI_INTA (CVMX_ADD_IO_SEG(0x0001070000000750ull))
600 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
601 #define CVMX_CIU_PP_BIST_STAT CVMX_CIU_PP_BIST_STAT_FUNC()
602 static inline uint64_t CVMX_CIU_PP_BIST_STAT_FUNC(void)
603 {
604         if (!(OCTEON_IS_MODEL(OCTEON_CN68XX)))
605                 cvmx_warn("CVMX_CIU_PP_BIST_STAT not supported on this chip\n");
606         return CVMX_ADD_IO_SEG(0x00010700000007E0ull);
607 }
608 #else
609 #define CVMX_CIU_PP_BIST_STAT (CVMX_ADD_IO_SEG(0x00010700000007E0ull))
610 #endif
611 #define CVMX_CIU_PP_DBG (CVMX_ADD_IO_SEG(0x0001070000000708ull))
612 static inline uint64_t CVMX_CIU_PP_POKEX(unsigned long offset)
613 {
614         switch(cvmx_get_octeon_family()) {
615                 case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
616                         if ((offset == 0))
617                                 return CVMX_ADD_IO_SEG(0x0001070000000580ull) + ((offset) & 0) * 8;
618                         break;
619                 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
620                 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
621                 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
622                         if ((offset <= 3))
623                                 return CVMX_ADD_IO_SEG(0x0001070000000580ull) + ((offset) & 3) * 8;
624                         break;
625                 case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
626                 case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
627                         if ((offset <= 1))
628                                 return CVMX_ADD_IO_SEG(0x0001070000000580ull) + ((offset) & 1) * 8;
629                         break;
630                 case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
631                 case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
632                         if ((offset <= 15))
633                                 return CVMX_ADD_IO_SEG(0x0001070000000580ull) + ((offset) & 15) * 8;
634                         break;
635                 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
636                         if ((offset <= 11))
637                                 return CVMX_ADD_IO_SEG(0x0001070000000580ull) + ((offset) & 15) * 8;
638                         break;
639                 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
640                         if ((offset <= 9))
641                                 return CVMX_ADD_IO_SEG(0x0001070000000580ull) + ((offset) & 15) * 8;
642                         break;
643                 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
644                         if ((offset <= 5))
645                                 return CVMX_ADD_IO_SEG(0x0001070000000580ull) + ((offset) & 7) * 8;
646                         break;
647                 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
648                         if ((offset <= 31))
649                                 return CVMX_ADD_IO_SEG(0x0001070100100200ull) + ((offset) & 31) * 8;
650                         break;
651         }
652         cvmx_warn("CVMX_CIU_PP_POKEX (offset = %lu) not supported on this chip\n", offset);
653         return CVMX_ADD_IO_SEG(0x0001070000000580ull) + ((offset) & 3) * 8;
654 }
655 #define CVMX_CIU_PP_RST (CVMX_ADD_IO_SEG(0x0001070000000700ull))
656 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
657 #define CVMX_CIU_QLM0 CVMX_CIU_QLM0_FUNC()
658 static inline uint64_t CVMX_CIU_QLM0_FUNC(void)
659 {
660         if (!(OCTEON_IS_MODEL(OCTEON_CN61XX) || OCTEON_IS_MODEL(OCTEON_CN63XX) || OCTEON_IS_MODEL(OCTEON_CN66XX) || OCTEON_IS_MODEL(OCTEON_CN68XX) || OCTEON_IS_MODEL(OCTEON_CNF71XX)))
661                 cvmx_warn("CVMX_CIU_QLM0 not supported on this chip\n");
662         return CVMX_ADD_IO_SEG(0x0001070000000780ull);
663 }
664 #else
665 #define CVMX_CIU_QLM0 (CVMX_ADD_IO_SEG(0x0001070000000780ull))
666 #endif
667 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
668 #define CVMX_CIU_QLM1 CVMX_CIU_QLM1_FUNC()
669 static inline uint64_t CVMX_CIU_QLM1_FUNC(void)
670 {
671         if (!(OCTEON_IS_MODEL(OCTEON_CN61XX) || OCTEON_IS_MODEL(OCTEON_CN63XX) || OCTEON_IS_MODEL(OCTEON_CN66XX) || OCTEON_IS_MODEL(OCTEON_CN68XX) || OCTEON_IS_MODEL(OCTEON_CNF71XX)))
672                 cvmx_warn("CVMX_CIU_QLM1 not supported on this chip\n");
673         return CVMX_ADD_IO_SEG(0x0001070000000788ull);
674 }
675 #else
676 #define CVMX_CIU_QLM1 (CVMX_ADD_IO_SEG(0x0001070000000788ull))
677 #endif
678 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
679 #define CVMX_CIU_QLM2 CVMX_CIU_QLM2_FUNC()
680 static inline uint64_t CVMX_CIU_QLM2_FUNC(void)
681 {
682         if (!(OCTEON_IS_MODEL(OCTEON_CN61XX) || OCTEON_IS_MODEL(OCTEON_CN63XX) || OCTEON_IS_MODEL(OCTEON_CN66XX) || OCTEON_IS_MODEL(OCTEON_CN68XX) || OCTEON_IS_MODEL(OCTEON_CNF71XX)))
683                 cvmx_warn("CVMX_CIU_QLM2 not supported on this chip\n");
684         return CVMX_ADD_IO_SEG(0x0001070000000790ull);
685 }
686 #else
687 #define CVMX_CIU_QLM2 (CVMX_ADD_IO_SEG(0x0001070000000790ull))
688 #endif
689 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
690 #define CVMX_CIU_QLM3 CVMX_CIU_QLM3_FUNC()
691 static inline uint64_t CVMX_CIU_QLM3_FUNC(void)
692 {
693         if (!(OCTEON_IS_MODEL(OCTEON_CN68XX)))
694                 cvmx_warn("CVMX_CIU_QLM3 not supported on this chip\n");
695         return CVMX_ADD_IO_SEG(0x0001070000000798ull);
696 }
697 #else
698 #define CVMX_CIU_QLM3 (CVMX_ADD_IO_SEG(0x0001070000000798ull))
699 #endif
700 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
701 #define CVMX_CIU_QLM4 CVMX_CIU_QLM4_FUNC()
702 static inline uint64_t CVMX_CIU_QLM4_FUNC(void)
703 {
704         if (!(OCTEON_IS_MODEL(OCTEON_CN68XX)))
705                 cvmx_warn("CVMX_CIU_QLM4 not supported on this chip\n");
706         return CVMX_ADD_IO_SEG(0x00010700000007A0ull);
707 }
708 #else
709 #define CVMX_CIU_QLM4 (CVMX_ADD_IO_SEG(0x00010700000007A0ull))
710 #endif
711 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
712 #define CVMX_CIU_QLM_DCOK CVMX_CIU_QLM_DCOK_FUNC()
713 static inline uint64_t CVMX_CIU_QLM_DCOK_FUNC(void)
714 {
715         if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
716                 cvmx_warn("CVMX_CIU_QLM_DCOK not supported on this chip\n");
717         return CVMX_ADD_IO_SEG(0x0001070000000760ull);
718 }
719 #else
720 #define CVMX_CIU_QLM_DCOK (CVMX_ADD_IO_SEG(0x0001070000000760ull))
721 #endif
722 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
723 #define CVMX_CIU_QLM_JTGC CVMX_CIU_QLM_JTGC_FUNC()
724 static inline uint64_t CVMX_CIU_QLM_JTGC_FUNC(void)
725 {
726         if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX) || OCTEON_IS_MODEL(OCTEON_CN61XX) || OCTEON_IS_MODEL(OCTEON_CN63XX) || OCTEON_IS_MODEL(OCTEON_CN66XX) || OCTEON_IS_MODEL(OCTEON_CN68XX) || OCTEON_IS_MODEL(OCTEON_CNF71XX)))
727                 cvmx_warn("CVMX_CIU_QLM_JTGC not supported on this chip\n");
728         return CVMX_ADD_IO_SEG(0x0001070000000768ull);
729 }
730 #else
731 #define CVMX_CIU_QLM_JTGC (CVMX_ADD_IO_SEG(0x0001070000000768ull))
732 #endif
733 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
734 #define CVMX_CIU_QLM_JTGD CVMX_CIU_QLM_JTGD_FUNC()
735 static inline uint64_t CVMX_CIU_QLM_JTGD_FUNC(void)
736 {
737         if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX) || OCTEON_IS_MODEL(OCTEON_CN61XX) || OCTEON_IS_MODEL(OCTEON_CN63XX) || OCTEON_IS_MODEL(OCTEON_CN66XX) || OCTEON_IS_MODEL(OCTEON_CN68XX) || OCTEON_IS_MODEL(OCTEON_CNF71XX)))
738                 cvmx_warn("CVMX_CIU_QLM_JTGD not supported on this chip\n");
739         return CVMX_ADD_IO_SEG(0x0001070000000770ull);
740 }
741 #else
742 #define CVMX_CIU_QLM_JTGD (CVMX_ADD_IO_SEG(0x0001070000000770ull))
743 #endif
744 #define CVMX_CIU_SOFT_BIST (CVMX_ADD_IO_SEG(0x0001070000000738ull))
745 #define CVMX_CIU_SOFT_PRST (CVMX_ADD_IO_SEG(0x0001070000000748ull))
746 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
747 #define CVMX_CIU_SOFT_PRST1 CVMX_CIU_SOFT_PRST1_FUNC()
748 static inline uint64_t CVMX_CIU_SOFT_PRST1_FUNC(void)
749 {
750         if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX) || OCTEON_IS_MODEL(OCTEON_CN61XX) || OCTEON_IS_MODEL(OCTEON_CN63XX) || OCTEON_IS_MODEL(OCTEON_CN66XX) || OCTEON_IS_MODEL(OCTEON_CN68XX) || OCTEON_IS_MODEL(OCTEON_CNF71XX)))
751                 cvmx_warn("CVMX_CIU_SOFT_PRST1 not supported on this chip\n");
752         return CVMX_ADD_IO_SEG(0x0001070000000758ull);
753 }
754 #else
755 #define CVMX_CIU_SOFT_PRST1 (CVMX_ADD_IO_SEG(0x0001070000000758ull))
756 #endif
757 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
758 #define CVMX_CIU_SOFT_PRST2 CVMX_CIU_SOFT_PRST2_FUNC()
759 static inline uint64_t CVMX_CIU_SOFT_PRST2_FUNC(void)
760 {
761         if (!(OCTEON_IS_MODEL(OCTEON_CN66XX)))
762                 cvmx_warn("CVMX_CIU_SOFT_PRST2 not supported on this chip\n");
763         return CVMX_ADD_IO_SEG(0x00010700000007D8ull);
764 }
765 #else
766 #define CVMX_CIU_SOFT_PRST2 (CVMX_ADD_IO_SEG(0x00010700000007D8ull))
767 #endif
768 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
769 #define CVMX_CIU_SOFT_PRST3 CVMX_CIU_SOFT_PRST3_FUNC()
770 static inline uint64_t CVMX_CIU_SOFT_PRST3_FUNC(void)
771 {
772         if (!(OCTEON_IS_MODEL(OCTEON_CN66XX)))
773                 cvmx_warn("CVMX_CIU_SOFT_PRST3 not supported on this chip\n");
774         return CVMX_ADD_IO_SEG(0x00010700000007E0ull);
775 }
776 #else
777 #define CVMX_CIU_SOFT_PRST3 (CVMX_ADD_IO_SEG(0x00010700000007E0ull))
778 #endif
779 #define CVMX_CIU_SOFT_RST (CVMX_ADD_IO_SEG(0x0001070000000740ull))
780 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
781 static inline uint64_t CVMX_CIU_SUM1_IOX_INT(unsigned long offset)
782 {
783         if (!(
784               (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((offset <= 1))) ||
785               (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((offset <= 1))) ||
786               (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((offset <= 1)))))
787                 cvmx_warn("CVMX_CIU_SUM1_IOX_INT(%lu) is invalid on this chip\n", offset);
788         return CVMX_ADD_IO_SEG(0x0001070000008600ull) + ((offset) & 1) * 8;
789 }
790 #else
791 #define CVMX_CIU_SUM1_IOX_INT(offset) (CVMX_ADD_IO_SEG(0x0001070000008600ull) + ((offset) & 1) * 8)
792 #endif
793 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
794 static inline uint64_t CVMX_CIU_SUM1_PPX_IP2(unsigned long offset)
795 {
796         if (!(
797               (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((offset <= 3))) ||
798               (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((offset <= 9))) ||
799               (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((offset <= 3)))))
800                 cvmx_warn("CVMX_CIU_SUM1_PPX_IP2(%lu) is invalid on this chip\n", offset);
801         return CVMX_ADD_IO_SEG(0x0001070000008000ull) + ((offset) & 15) * 8;
802 }
803 #else
804 #define CVMX_CIU_SUM1_PPX_IP2(offset) (CVMX_ADD_IO_SEG(0x0001070000008000ull) + ((offset) & 15) * 8)
805 #endif
806 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
807 static inline uint64_t CVMX_CIU_SUM1_PPX_IP3(unsigned long offset)
808 {
809         if (!(
810               (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((offset <= 3))) ||
811               (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((offset <= 9))) ||
812               (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((offset <= 3)))))
813                 cvmx_warn("CVMX_CIU_SUM1_PPX_IP3(%lu) is invalid on this chip\n", offset);
814         return CVMX_ADD_IO_SEG(0x0001070000008200ull) + ((offset) & 15) * 8;
815 }
816 #else
817 #define CVMX_CIU_SUM1_PPX_IP3(offset) (CVMX_ADD_IO_SEG(0x0001070000008200ull) + ((offset) & 15) * 8)
818 #endif
819 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
820 static inline uint64_t CVMX_CIU_SUM1_PPX_IP4(unsigned long offset)
821 {
822         if (!(
823               (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((offset <= 3))) ||
824               (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((offset <= 9))) ||
825               (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((offset <= 3)))))
826                 cvmx_warn("CVMX_CIU_SUM1_PPX_IP4(%lu) is invalid on this chip\n", offset);
827         return CVMX_ADD_IO_SEG(0x0001070000008400ull) + ((offset) & 15) * 8;
828 }
829 #else
830 #define CVMX_CIU_SUM1_PPX_IP4(offset) (CVMX_ADD_IO_SEG(0x0001070000008400ull) + ((offset) & 15) * 8)
831 #endif
832 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
833 static inline uint64_t CVMX_CIU_SUM2_IOX_INT(unsigned long offset)
834 {
835         if (!(
836               (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((offset <= 1))) ||
837               (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((offset <= 1))) ||
838               (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((offset <= 1)))))
839                 cvmx_warn("CVMX_CIU_SUM2_IOX_INT(%lu) is invalid on this chip\n", offset);
840         return CVMX_ADD_IO_SEG(0x0001070000008E00ull) + ((offset) & 1) * 8;
841 }
842 #else
843 #define CVMX_CIU_SUM2_IOX_INT(offset) (CVMX_ADD_IO_SEG(0x0001070000008E00ull) + ((offset) & 1) * 8)
844 #endif
845 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
846 static inline uint64_t CVMX_CIU_SUM2_PPX_IP2(unsigned long offset)
847 {
848         if (!(
849               (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((offset <= 3))) ||
850               (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((offset <= 9))) ||
851               (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((offset <= 3)))))
852                 cvmx_warn("CVMX_CIU_SUM2_PPX_IP2(%lu) is invalid on this chip\n", offset);
853         return CVMX_ADD_IO_SEG(0x0001070000008800ull) + ((offset) & 15) * 8;
854 }
855 #else
856 #define CVMX_CIU_SUM2_PPX_IP2(offset) (CVMX_ADD_IO_SEG(0x0001070000008800ull) + ((offset) & 15) * 8)
857 #endif
858 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
859 static inline uint64_t CVMX_CIU_SUM2_PPX_IP3(unsigned long offset)
860 {
861         if (!(
862               (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((offset <= 3))) ||
863               (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((offset <= 9))) ||
864               (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((offset <= 3)))))
865                 cvmx_warn("CVMX_CIU_SUM2_PPX_IP3(%lu) is invalid on this chip\n", offset);
866         return CVMX_ADD_IO_SEG(0x0001070000008A00ull) + ((offset) & 15) * 8;
867 }
868 #else
869 #define CVMX_CIU_SUM2_PPX_IP3(offset) (CVMX_ADD_IO_SEG(0x0001070000008A00ull) + ((offset) & 15) * 8)
870 #endif
871 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
872 static inline uint64_t CVMX_CIU_SUM2_PPX_IP4(unsigned long offset)
873 {
874         if (!(
875               (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((offset <= 3))) ||
876               (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((offset <= 9))) ||
877               (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((offset <= 3)))))
878                 cvmx_warn("CVMX_CIU_SUM2_PPX_IP4(%lu) is invalid on this chip\n", offset);
879         return CVMX_ADD_IO_SEG(0x0001070000008C00ull) + ((offset) & 15) * 8;
880 }
881 #else
882 #define CVMX_CIU_SUM2_PPX_IP4(offset) (CVMX_ADD_IO_SEG(0x0001070000008C00ull) + ((offset) & 15) * 8)
883 #endif
884 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
885 static inline uint64_t CVMX_CIU_TIMX(unsigned long offset)
886 {
887         if (!(
888               (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset <= 3))) ||
889               (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 3))) ||
890               (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((offset <= 3))) ||
891               (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 3))) ||
892               (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 3))) ||
893               (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 3))) ||
894               (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 3))) ||
895               (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((offset <= 9))) ||
896               (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((offset <= 3))) ||
897               (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((offset <= 9))) ||
898               (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((offset <= 3))) ||
899               (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((offset <= 9)))))
900                 cvmx_warn("CVMX_CIU_TIMX(%lu) is invalid on this chip\n", offset);
901         return CVMX_ADD_IO_SEG(0x0001070000000480ull) + ((offset) & 15) * 8;
902 }
903 #else
904 #define CVMX_CIU_TIMX(offset) (CVMX_ADD_IO_SEG(0x0001070000000480ull) + ((offset) & 15) * 8)
905 #endif
906 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
907 #define CVMX_CIU_TIM_MULTI_CAST CVMX_CIU_TIM_MULTI_CAST_FUNC()
908 static inline uint64_t CVMX_CIU_TIM_MULTI_CAST_FUNC(void)
909 {
910         if (!(OCTEON_IS_MODEL(OCTEON_CN61XX) || OCTEON_IS_MODEL(OCTEON_CN66XX) || OCTEON_IS_MODEL(OCTEON_CNF71XX)))
911                 cvmx_warn("CVMX_CIU_TIM_MULTI_CAST not supported on this chip\n");
912         return CVMX_ADD_IO_SEG(0x000107000000C200ull);
913 }
914 #else
915 #define CVMX_CIU_TIM_MULTI_CAST (CVMX_ADD_IO_SEG(0x000107000000C200ull))
916 #endif
917 static inline uint64_t CVMX_CIU_WDOGX(unsigned long offset)
918 {
919         switch(cvmx_get_octeon_family()) {
920                 case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
921                         if ((offset == 0))
922                                 return CVMX_ADD_IO_SEG(0x0001070000000500ull) + ((offset) & 0) * 8;
923                         break;
924                 case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
925                 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
926                 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
927                         if ((offset <= 3))
928                                 return CVMX_ADD_IO_SEG(0x0001070000000500ull) + ((offset) & 3) * 8;
929                         break;
930                 case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
931                 case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
932                         if ((offset <= 1))
933                                 return CVMX_ADD_IO_SEG(0x0001070000000500ull) + ((offset) & 1) * 8;
934                         break;
935                 case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
936                 case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
937                         if ((offset <= 15))
938                                 return CVMX_ADD_IO_SEG(0x0001070000000500ull) + ((offset) & 15) * 8;
939                         break;
940                 case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
941                         if ((offset <= 11))
942                                 return CVMX_ADD_IO_SEG(0x0001070000000500ull) + ((offset) & 15) * 8;
943                         break;
944                 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
945                         if ((offset <= 9))
946                                 return CVMX_ADD_IO_SEG(0x0001070000000500ull) + ((offset) & 15) * 8;
947                         break;
948                 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
949                         if ((offset <= 5))
950                                 return CVMX_ADD_IO_SEG(0x0001070000000500ull) + ((offset) & 7) * 8;
951                         break;
952                 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
953                         if ((offset <= 31))
954                                 return CVMX_ADD_IO_SEG(0x0001070100100000ull) + ((offset) & 31) * 8;
955                         break;
956         }
957         cvmx_warn("CVMX_CIU_WDOGX (offset = %lu) not supported on this chip\n", offset);
958         return CVMX_ADD_IO_SEG(0x0001070000000500ull) + ((offset) & 3) * 8;
959 }
960
961 /**
962  * cvmx_ciu_bist
963  */
964 union cvmx_ciu_bist {
965         uint64_t u64;
966         struct cvmx_ciu_bist_s {
967 #ifdef __BIG_ENDIAN_BITFIELD
968         uint64_t reserved_7_63                : 57;
969         uint64_t bist                         : 7;  /**< BIST Results.
970                                                          HW sets a bit in BIST for for memory that fails
971                                                          BIST. */
972 #else
973         uint64_t bist                         : 7;
974         uint64_t reserved_7_63                : 57;
975 #endif
976         } s;
977         struct cvmx_ciu_bist_cn30xx {
978 #ifdef __BIG_ENDIAN_BITFIELD
979         uint64_t reserved_4_63                : 60;
980         uint64_t bist                         : 4;  /**< BIST Results.
981                                                          HW sets a bit in BIST for for memory that fails
982                                                          BIST. */
983 #else
984         uint64_t bist                         : 4;
985         uint64_t reserved_4_63                : 60;
986 #endif
987         } cn30xx;
988         struct cvmx_ciu_bist_cn30xx           cn31xx;
989         struct cvmx_ciu_bist_cn30xx           cn38xx;
990         struct cvmx_ciu_bist_cn30xx           cn38xxp2;
991         struct cvmx_ciu_bist_cn50xx {
992 #ifdef __BIG_ENDIAN_BITFIELD
993         uint64_t reserved_2_63                : 62;
994         uint64_t bist                         : 2;  /**< BIST Results.
995                                                          HW sets a bit in BIST for for memory that fails
996                                                          BIST. */
997 #else
998         uint64_t bist                         : 2;
999         uint64_t reserved_2_63                : 62;
1000 #endif
1001         } cn50xx;
1002         struct cvmx_ciu_bist_cn52xx {
1003 #ifdef __BIG_ENDIAN_BITFIELD
1004         uint64_t reserved_3_63                : 61;
1005         uint64_t bist                         : 3;  /**< BIST Results.
1006                                                          HW sets a bit in BIST for for memory that fails
1007                                                          BIST. */
1008 #else
1009         uint64_t bist                         : 3;
1010         uint64_t reserved_3_63                : 61;
1011 #endif
1012         } cn52xx;
1013         struct cvmx_ciu_bist_cn52xx           cn52xxp1;
1014         struct cvmx_ciu_bist_cn30xx           cn56xx;
1015         struct cvmx_ciu_bist_cn30xx           cn56xxp1;
1016         struct cvmx_ciu_bist_cn30xx           cn58xx;
1017         struct cvmx_ciu_bist_cn30xx           cn58xxp1;
1018         struct cvmx_ciu_bist_cn61xx {
1019 #ifdef __BIG_ENDIAN_BITFIELD
1020         uint64_t reserved_6_63                : 58;
1021         uint64_t bist                         : 6;  /**< BIST Results.
1022                                                          HW sets a bit in BIST for for memory that fails
1023                                                          BIST. */
1024 #else
1025         uint64_t bist                         : 6;
1026         uint64_t reserved_6_63                : 58;
1027 #endif
1028         } cn61xx;
1029         struct cvmx_ciu_bist_cn63xx {
1030 #ifdef __BIG_ENDIAN_BITFIELD
1031         uint64_t reserved_5_63                : 59;
1032         uint64_t bist                         : 5;  /**< BIST Results.
1033                                                          HW sets a bit in BIST for for memory that fails
1034                                                          BIST. */
1035 #else
1036         uint64_t bist                         : 5;
1037         uint64_t reserved_5_63                : 59;
1038 #endif
1039         } cn63xx;
1040         struct cvmx_ciu_bist_cn63xx           cn63xxp1;
1041         struct cvmx_ciu_bist_cn61xx           cn66xx;
1042         struct cvmx_ciu_bist_s                cn68xx;
1043         struct cvmx_ciu_bist_s                cn68xxp1;
1044         struct cvmx_ciu_bist_cn61xx           cnf71xx;
1045 };
1046 typedef union cvmx_ciu_bist cvmx_ciu_bist_t;
1047
1048 /**
1049  * cvmx_ciu_block_int
1050  *
1051  * CIU_BLOCK_INT = CIU Blocks Interrupt
1052  *
1053  * The interrupt lines from the various chip blocks.
1054  */
1055 union cvmx_ciu_block_int {
1056         uint64_t u64;
1057         struct cvmx_ciu_block_int_s {
1058 #ifdef __BIG_ENDIAN_BITFIELD
1059         uint64_t reserved_62_63               : 2;
1060         uint64_t srio3                        : 1;  /**< SRIO3 interrupt
1061                                                          See SRIO3_INT_REG, SRIO3_INT2_REG */
1062         uint64_t srio2                        : 1;  /**< SRIO2 interrupt
1063                                                          See SRIO2_INT_REG, SRIO2_INT2_REG */
1064         uint64_t reserved_43_59               : 17;
1065         uint64_t ptp                          : 1;  /**< PTP interrupt
1066                                                          See CIU_INT_SUM1[PTP] */
1067         uint64_t dpi                          : 1;  /**< DPI interrupt
1068                                                          See DPI_INT_REG */
1069         uint64_t dfm                          : 1;  /**< DFM interrupt
1070                                                          See DFM_FNT_STAT */
1071         uint64_t reserved_34_39               : 6;
1072         uint64_t srio1                        : 1;  /**< SRIO1 interrupt
1073                                                          See SRIO1_INT_REG */
1074         uint64_t srio0                        : 1;  /**< SRIO0 interrupt
1075                                                          See SRIO0_INT_REG, SRIO0_INT2_REG */
1076         uint64_t reserved_31_31               : 1;
1077         uint64_t iob                          : 1;  /**< IOB interrupt
1078                                                          See IOB_INT_SUM */
1079         uint64_t reserved_29_29               : 1;
1080         uint64_t agl                          : 1;  /**< AGL interrupt
1081                                                          See AGL_GMX_RX*_INT_REG, AGL_GMX_TX_INT_REG */
1082         uint64_t reserved_27_27               : 1;
1083         uint64_t pem1                         : 1;  /**< PEM1 interrupt
1084                                                          See PEM1_INT_SUM (enabled by PEM1_INT_ENB) */
1085         uint64_t pem0                         : 1;  /**< PEM0 interrupt
1086                                                          See PEM0_INT_SUM (enabled by PEM0_INT_ENB) */
1087         uint64_t reserved_24_24               : 1;
1088         uint64_t asxpcs1                      : 1;  /**< See PCS1_INT*_REG, PCSX1_INT_REG */
1089         uint64_t asxpcs0                      : 1;  /**< See PCS0_INT*_REG, PCSX0_INT_REG */
1090         uint64_t reserved_21_21               : 1;
1091         uint64_t pip                          : 1;  /**< PIP interrupt
1092                                                          See PIP_INT_REG */
1093         uint64_t reserved_18_19               : 2;
1094         uint64_t lmc0                         : 1;  /**< LMC0 interrupt
1095                                                          See LMC0_INT */
1096         uint64_t l2c                          : 1;  /**< L2C interrupt
1097                                                          See L2C_INT_REG */
1098         uint64_t reserved_15_15               : 1;
1099         uint64_t rad                          : 1;  /**< RAD interrupt
1100                                                          See RAD_REG_ERROR */
1101         uint64_t usb                          : 1;  /**< USB UCTL0 interrupt
1102                                                          See UCTL0_INT_REG */
1103         uint64_t pow                          : 1;  /**< POW err interrupt
1104                                                          See POW_ECC_ERR */
1105         uint64_t tim                          : 1;  /**< TIM interrupt
1106                                                          See TIM_REG_ERROR */
1107         uint64_t pko                          : 1;  /**< PKO interrupt
1108                                                          See PKO_REG_ERROR */
1109         uint64_t ipd                          : 1;  /**< IPD interrupt
1110                                                          See IPD_INT_SUM */
1111         uint64_t reserved_8_8                 : 1;
1112         uint64_t zip                          : 1;  /**< ZIP interrupt
1113                                                          See ZIP_ERROR */
1114         uint64_t dfa                          : 1;  /**< DFA interrupt
1115                                                          See DFA_ERROR */
1116         uint64_t fpa                          : 1;  /**< FPA interrupt
1117                                                          See FPA_INT_SUM */
1118         uint64_t key                          : 1;  /**< KEY interrupt
1119                                                          See KEY_INT_SUM */
1120         uint64_t sli                          : 1;  /**< SLI interrupt
1121                                                          See SLI_INT_SUM (enabled by SLI_INT_ENB_CIU) */
1122         uint64_t gmx1                         : 1;  /**< GMX1 interrupt
1123                                                          See GMX1_RX*_INT_REG, GMX1_TX_INT_REG */
1124         uint64_t gmx0                         : 1;  /**< GMX0 interrupt
1125                                                          See GMX0_RX*_INT_REG, GMX0_TX_INT_REG */
1126         uint64_t mio                          : 1;  /**< MIO boot interrupt
1127                                                          See MIO_BOOT_ERR */
1128 #else
1129         uint64_t mio                          : 1;
1130         uint64_t gmx0                         : 1;
1131         uint64_t gmx1                         : 1;
1132         uint64_t sli                          : 1;
1133         uint64_t key                          : 1;
1134         uint64_t fpa                          : 1;
1135         uint64_t dfa                          : 1;
1136         uint64_t zip                          : 1;
1137         uint64_t reserved_8_8                 : 1;
1138         uint64_t ipd                          : 1;
1139         uint64_t pko                          : 1;
1140         uint64_t tim                          : 1;
1141         uint64_t pow                          : 1;
1142         uint64_t usb                          : 1;
1143         uint64_t rad                          : 1;
1144         uint64_t reserved_15_15               : 1;
1145         uint64_t l2c                          : 1;
1146         uint64_t lmc0                         : 1;
1147         uint64_t reserved_18_19               : 2;
1148         uint64_t pip                          : 1;
1149         uint64_t reserved_21_21               : 1;
1150         uint64_t asxpcs0                      : 1;
1151         uint64_t asxpcs1                      : 1;
1152         uint64_t reserved_24_24               : 1;
1153         uint64_t pem0                         : 1;
1154         uint64_t pem1                         : 1;
1155         uint64_t reserved_27_27               : 1;
1156         uint64_t agl                          : 1;
1157         uint64_t reserved_29_29               : 1;
1158         uint64_t iob                          : 1;
1159         uint64_t reserved_31_31               : 1;
1160         uint64_t srio0                        : 1;
1161         uint64_t srio1                        : 1;
1162         uint64_t reserved_34_39               : 6;
1163         uint64_t dfm                          : 1;
1164         uint64_t dpi                          : 1;
1165         uint64_t ptp                          : 1;
1166         uint64_t reserved_43_59               : 17;
1167         uint64_t srio2                        : 1;
1168         uint64_t srio3                        : 1;
1169         uint64_t reserved_62_63               : 2;
1170 #endif
1171         } s;
1172         struct cvmx_ciu_block_int_cn61xx {
1173 #ifdef __BIG_ENDIAN_BITFIELD
1174         uint64_t reserved_43_63               : 21;
1175         uint64_t ptp                          : 1;  /**< PTP interrupt
1176                                                          See CIU_INT_SUM1[PTP] */
1177         uint64_t dpi                          : 1;  /**< DPI interrupt
1178                                                          See DPI_INT_REG */
1179         uint64_t reserved_31_40               : 10;
1180         uint64_t iob                          : 1;  /**< IOB interrupt
1181                                                          See IOB_INT_SUM */
1182         uint64_t reserved_29_29               : 1;
1183         uint64_t agl                          : 1;  /**< AGL interrupt
1184                                                          See AGL_GMX_RX*_INT_REG, AGL_GMX_TX_INT_REG */
1185         uint64_t reserved_27_27               : 1;
1186         uint64_t pem1                         : 1;  /**< PEM1 interrupt
1187                                                          See PEM1_INT_SUM (enabled by PEM1_INT_ENB) */
1188         uint64_t pem0                         : 1;  /**< PEM0 interrupt
1189                                                          See PEM0_INT_SUM (enabled by PEM0_INT_ENB) */
1190         uint64_t reserved_24_24               : 1;
1191         uint64_t asxpcs1                      : 1;  /**< See PCS1_INT*_REG, PCSX1_INT_REG */
1192         uint64_t asxpcs0                      : 1;  /**< See PCS0_INT*_REG, PCSX0_INT_REG */
1193         uint64_t reserved_21_21               : 1;
1194         uint64_t pip                          : 1;  /**< PIP interrupt
1195                                                          See PIP_INT_REG */
1196         uint64_t reserved_18_19               : 2;
1197         uint64_t lmc0                         : 1;  /**< LMC0 interrupt
1198                                                          See LMC0_INT */
1199         uint64_t l2c                          : 1;  /**< L2C interrupt
1200                                                          See L2C_INT_REG */
1201         uint64_t reserved_15_15               : 1;
1202         uint64_t rad                          : 1;  /**< RAD interrupt
1203                                                          See RAD_REG_ERROR */
1204         uint64_t usb                          : 1;  /**< USB UCTL0 interrupt
1205                                                          See UCTL0_INT_REG */
1206         uint64_t pow                          : 1;  /**< POW err interrupt
1207                                                          See POW_ECC_ERR */
1208         uint64_t tim                          : 1;  /**< TIM interrupt
1209                                                          See TIM_REG_ERROR */
1210         uint64_t pko                          : 1;  /**< PKO interrupt
1211                                                          See PKO_REG_ERROR */
1212         uint64_t ipd                          : 1;  /**< IPD interrupt
1213                                                          See IPD_INT_SUM */
1214         uint64_t reserved_8_8                 : 1;
1215         uint64_t zip                          : 1;  /**< ZIP interrupt
1216                                                          See ZIP_ERROR */
1217         uint64_t dfa                          : 1;  /**< DFA interrupt
1218                                                          See DFA_ERROR */
1219         uint64_t fpa                          : 1;  /**< FPA interrupt
1220                                                          See FPA_INT_SUM */
1221         uint64_t key                          : 1;  /**< KEY interrupt
1222                                                          See KEY_INT_SUM */
1223         uint64_t sli                          : 1;  /**< SLI interrupt
1224                                                          See SLI_INT_SUM (enabled by SLI_INT_ENB_CIU) */
1225         uint64_t gmx1                         : 1;  /**< GMX1 interrupt
1226                                                          See GMX1_RX*_INT_REG, GMX1_TX_INT_REG */
1227         uint64_t gmx0                         : 1;  /**< GMX0 interrupt
1228                                                          See GMX0_RX*_INT_REG, GMX0_TX_INT_REG */
1229         uint64_t mio                          : 1;  /**< MIO boot interrupt
1230                                                          See MIO_BOOT_ERR */
1231 #else
1232         uint64_t mio                          : 1;
1233         uint64_t gmx0                         : 1;
1234         uint64_t gmx1                         : 1;
1235         uint64_t sli                          : 1;
1236         uint64_t key                          : 1;
1237         uint64_t fpa                          : 1;
1238         uint64_t dfa                          : 1;
1239         uint64_t zip                          : 1;
1240         uint64_t reserved_8_8                 : 1;
1241         uint64_t ipd                          : 1;
1242         uint64_t pko                          : 1;
1243         uint64_t tim                          : 1;
1244         uint64_t pow                          : 1;
1245         uint64_t usb                          : 1;
1246         uint64_t rad                          : 1;
1247         uint64_t reserved_15_15               : 1;
1248         uint64_t l2c                          : 1;
1249         uint64_t lmc0                         : 1;
1250         uint64_t reserved_18_19               : 2;
1251         uint64_t pip                          : 1;
1252         uint64_t reserved_21_21               : 1;
1253         uint64_t asxpcs0                      : 1;
1254         uint64_t asxpcs1                      : 1;
1255         uint64_t reserved_24_24               : 1;
1256         uint64_t pem0                         : 1;
1257         uint64_t pem1                         : 1;
1258         uint64_t reserved_27_27               : 1;
1259         uint64_t agl                          : 1;
1260         uint64_t reserved_29_29               : 1;
1261         uint64_t iob                          : 1;
1262         uint64_t reserved_31_40               : 10;
1263         uint64_t dpi                          : 1;
1264         uint64_t ptp                          : 1;
1265         uint64_t reserved_43_63               : 21;
1266 #endif
1267         } cn61xx;
1268         struct cvmx_ciu_block_int_cn63xx {
1269 #ifdef __BIG_ENDIAN_BITFIELD
1270         uint64_t reserved_43_63               : 21;
1271         uint64_t ptp                          : 1;  /**< PTP interrupt
1272                                                          See CIU_INT_SUM1[PTP] */
1273         uint64_t dpi                          : 1;  /**< DPI interrupt
1274                                                          See DPI_INT_REG */
1275         uint64_t dfm                          : 1;  /**< DFM interrupt
1276                                                          See DFM_FNT_STAT */
1277         uint64_t reserved_34_39               : 6;
1278         uint64_t srio1                        : 1;  /**< SRIO1 interrupt
1279                                                          See SRIO1_INT_REG, SRIO1_INT2_REG */
1280         uint64_t srio0                        : 1;  /**< SRIO0 interrupt
1281                                                          See SRIO0_INT_REG, SRIO0_INT2_REG */
1282         uint64_t reserved_31_31               : 1;
1283         uint64_t iob                          : 1;  /**< IOB interrupt
1284                                                          See IOB_INT_SUM */
1285         uint64_t reserved_29_29               : 1;
1286         uint64_t agl                          : 1;  /**< AGL interrupt
1287                                                          See AGL_GMX_RX*_INT_REG, AGL_GMX_TX_INT_REG */
1288         uint64_t reserved_27_27               : 1;
1289         uint64_t pem1                         : 1;  /**< PEM1 interrupt
1290                                                          See PEM1_INT_SUM (enabled by PEM1_INT_ENB) */
1291         uint64_t pem0                         : 1;  /**< PEM0 interrupt
1292                                                          See PEM0_INT_SUM (enabled by PEM0_INT_ENB) */
1293         uint64_t reserved_23_24               : 2;
1294         uint64_t asxpcs0                      : 1;  /**< See PCS0_INT*_REG, PCSX0_INT_REG */
1295         uint64_t reserved_21_21               : 1;
1296         uint64_t pip                          : 1;  /**< PIP interrupt
1297                                                          See PIP_INT_REG */
1298         uint64_t reserved_18_19               : 2;
1299         uint64_t lmc0                         : 1;  /**< LMC0 interrupt
1300                                                          See LMC0_INT */
1301         uint64_t l2c                          : 1;  /**< L2C interrupt
1302                                                          See L2C_INT_REG */
1303         uint64_t reserved_15_15               : 1;
1304         uint64_t rad                          : 1;  /**< RAD interrupt
1305                                                          See RAD_REG_ERROR */
1306         uint64_t usb                          : 1;  /**< USB UCTL0 interrupt
1307                                                          See UCTL0_INT_REG */
1308         uint64_t pow                          : 1;  /**< POW err interrupt
1309                                                          See POW_ECC_ERR */
1310         uint64_t tim                          : 1;  /**< TIM interrupt
1311                                                          See TIM_REG_ERROR */
1312         uint64_t pko                          : 1;  /**< PKO interrupt
1313                                                          See PKO_REG_ERROR */
1314         uint64_t ipd                          : 1;  /**< IPD interrupt
1315                                                          See IPD_INT_SUM */
1316         uint64_t reserved_8_8                 : 1;
1317         uint64_t zip                          : 1;  /**< ZIP interrupt
1318                                                          See ZIP_ERROR */
1319         uint64_t dfa                          : 1;  /**< DFA interrupt
1320                                                          See DFA_ERROR */
1321         uint64_t fpa                          : 1;  /**< FPA interrupt
1322                                                          See FPA_INT_SUM */
1323         uint64_t key                          : 1;  /**< KEY interrupt
1324                                                          See KEY_INT_SUM */
1325         uint64_t sli                          : 1;  /**< SLI interrupt
1326                                                          See SLI_INT_SUM (enabled by SLI_INT_ENB_CIU) */
1327         uint64_t reserved_2_2                 : 1;
1328         uint64_t gmx0                         : 1;  /**< GMX0 interrupt
1329                                                          See GMX0_RX*_INT_REG, GMX0_TX_INT_REG */
1330         uint64_t mio                          : 1;  /**< MIO boot interrupt
1331                                                          See MIO_BOOT_ERR */
1332 #else
1333         uint64_t mio                          : 1;
1334         uint64_t gmx0                         : 1;
1335         uint64_t reserved_2_2                 : 1;
1336         uint64_t sli                          : 1;
1337         uint64_t key                          : 1;
1338         uint64_t fpa                          : 1;
1339         uint64_t dfa                          : 1;
1340         uint64_t zip                          : 1;
1341         uint64_t reserved_8_8                 : 1;
1342         uint64_t ipd                          : 1;
1343         uint64_t pko                          : 1;
1344         uint64_t tim                          : 1;
1345         uint64_t pow                          : 1;
1346         uint64_t usb                          : 1;
1347         uint64_t rad                          : 1;
1348         uint64_t reserved_15_15               : 1;
1349         uint64_t l2c                          : 1;
1350         uint64_t lmc0                         : 1;
1351         uint64_t reserved_18_19               : 2;
1352         uint64_t pip                          : 1;
1353         uint64_t reserved_21_21               : 1;
1354         uint64_t asxpcs0                      : 1;
1355         uint64_t reserved_23_24               : 2;
1356         uint64_t pem0                         : 1;
1357         uint64_t pem1                         : 1;
1358         uint64_t reserved_27_27               : 1;
1359         uint64_t agl                          : 1;
1360         uint64_t reserved_29_29               : 1;
1361         uint64_t iob                          : 1;
1362         uint64_t reserved_31_31               : 1;
1363         uint64_t srio0                        : 1;
1364         uint64_t srio1                        : 1;
1365         uint64_t reserved_34_39               : 6;
1366         uint64_t dfm                          : 1;
1367         uint64_t dpi                          : 1;
1368         uint64_t ptp                          : 1;
1369         uint64_t reserved_43_63               : 21;
1370 #endif
1371         } cn63xx;
1372         struct cvmx_ciu_block_int_cn63xx      cn63xxp1;
1373         struct cvmx_ciu_block_int_cn66xx {
1374 #ifdef __BIG_ENDIAN_BITFIELD
1375         uint64_t reserved_62_63               : 2;
1376         uint64_t srio3                        : 1;  /**< SRIO3 interrupt
1377                                                          See SRIO3_INT_REG, SRIO3_INT2_REG */
1378         uint64_t srio2                        : 1;  /**< SRIO2 interrupt
1379                                                          See SRIO2_INT_REG, SRIO2_INT2_REG */
1380         uint64_t reserved_43_59               : 17;
1381         uint64_t ptp                          : 1;  /**< PTP interrupt
1382                                                          See CIU_INT_SUM1[PTP] */
1383         uint64_t dpi                          : 1;  /**< DPI interrupt
1384                                                          See DPI_INT_REG */
1385         uint64_t dfm                          : 1;  /**< DFM interrupt
1386                                                          See DFM_FNT_STAT */
1387         uint64_t reserved_33_39               : 7;
1388         uint64_t srio0                        : 1;  /**< SRIO0 interrupt
1389                                                          See SRIO0_INT_REG, SRIO0_INT2_REG */
1390         uint64_t reserved_31_31               : 1;
1391         uint64_t iob                          : 1;  /**< IOB interrupt
1392                                                          See IOB_INT_SUM */
1393         uint64_t reserved_29_29               : 1;
1394         uint64_t agl                          : 1;  /**< AGL interrupt
1395                                                          See AGL_GMX_RX*_INT_REG, AGL_GMX_TX_INT_REG */
1396         uint64_t reserved_27_27               : 1;
1397         uint64_t pem1                         : 1;  /**< PEM1 interrupt
1398                                                          See PEM1_INT_SUM (enabled by PEM1_INT_ENB) */
1399         uint64_t pem0                         : 1;  /**< PEM0 interrupt
1400                                                          See PEM0_INT_SUM (enabled by PEM0_INT_ENB) */
1401         uint64_t reserved_24_24               : 1;
1402         uint64_t asxpcs1                      : 1;  /**< See PCS1_INT*_REG, PCSX1_INT_REG */
1403         uint64_t asxpcs0                      : 1;  /**< See PCS0_INT*_REG, PCSX0_INT_REG */
1404         uint64_t reserved_21_21               : 1;
1405         uint64_t pip                          : 1;  /**< PIP interrupt
1406                                                          See PIP_INT_REG */
1407         uint64_t reserved_18_19               : 2;
1408         uint64_t lmc0                         : 1;  /**< LMC0 interrupt
1409                                                          See LMC0_INT */
1410         uint64_t l2c                          : 1;  /**< L2C interrupt
1411                                                          See L2C_INT_REG */
1412         uint64_t reserved_15_15               : 1;
1413         uint64_t rad                          : 1;  /**< RAD interrupt
1414                                                          See RAD_REG_ERROR */
1415         uint64_t usb                          : 1;  /**< USB UCTL0 interrupt
1416                                                          See UCTL0_INT_REG */
1417         uint64_t pow                          : 1;  /**< POW err interrupt
1418                                                          See POW_ECC_ERR */
1419         uint64_t tim                          : 1;  /**< TIM interrupt
1420                                                          See TIM_REG_ERROR */
1421         uint64_t pko                          : 1;  /**< PKO interrupt
1422                                                          See PKO_REG_ERROR */
1423         uint64_t ipd                          : 1;  /**< IPD interrupt
1424                                                          See IPD_INT_SUM */
1425         uint64_t reserved_8_8                 : 1;
1426         uint64_t zip                          : 1;  /**< ZIP interrupt
1427                                                          See ZIP_ERROR */
1428         uint64_t dfa                          : 1;  /**< DFA interrupt
1429                                                          See DFA_ERROR */
1430         uint64_t fpa                          : 1;  /**< FPA interrupt
1431                                                          See FPA_INT_SUM */
1432         uint64_t key                          : 1;  /**< KEY interrupt
1433                                                          See KEY_INT_SUM */
1434         uint64_t sli                          : 1;  /**< SLI interrupt
1435                                                          See SLI_INT_SUM (enabled by SLI_INT_ENB_CIU) */
1436         uint64_t gmx1                         : 1;  /**< GMX1 interrupt
1437                                                          See GMX1_RX*_INT_REG, GMX1_TX_INT_REG */
1438         uint64_t gmx0                         : 1;  /**< GMX0 interrupt
1439                                                          See GMX0_RX*_INT_REG, GMX0_TX_INT_REG */
1440         uint64_t mio                          : 1;  /**< MIO boot interrupt
1441                                                          See MIO_BOOT_ERR */
1442 #else
1443         uint64_t mio                          : 1;
1444         uint64_t gmx0                         : 1;
1445         uint64_t gmx1                         : 1;
1446         uint64_t sli                          : 1;
1447         uint64_t key                          : 1;
1448         uint64_t fpa                          : 1;
1449         uint64_t dfa                          : 1;
1450         uint64_t zip                          : 1;
1451         uint64_t reserved_8_8                 : 1;
1452         uint64_t ipd                          : 1;
1453         uint64_t pko                          : 1;
1454         uint64_t tim                          : 1;
1455         uint64_t pow                          : 1;
1456         uint64_t usb                          : 1;
1457         uint64_t rad                          : 1;
1458         uint64_t reserved_15_15               : 1;
1459         uint64_t l2c                          : 1;
1460         uint64_t lmc0                         : 1;
1461         uint64_t reserved_18_19               : 2;
1462         uint64_t pip                          : 1;
1463         uint64_t reserved_21_21               : 1;
1464         uint64_t asxpcs0                      : 1;
1465         uint64_t asxpcs1                      : 1;
1466         uint64_t reserved_24_24               : 1;
1467         uint64_t pem0                         : 1;
1468         uint64_t pem1                         : 1;
1469         uint64_t reserved_27_27               : 1;
1470         uint64_t agl                          : 1;
1471         uint64_t reserved_29_29               : 1;
1472         uint64_t iob                          : 1;
1473         uint64_t reserved_31_31               : 1;
1474         uint64_t srio0                        : 1;
1475         uint64_t reserved_33_39               : 7;
1476         uint64_t dfm                          : 1;
1477         uint64_t dpi                          : 1;
1478         uint64_t ptp                          : 1;
1479         uint64_t reserved_43_59               : 17;
1480         uint64_t srio2                        : 1;
1481         uint64_t srio3                        : 1;
1482         uint64_t reserved_62_63               : 2;
1483 #endif
1484         } cn66xx;
1485         struct cvmx_ciu_block_int_cnf71xx {
1486 #ifdef __BIG_ENDIAN_BITFIELD
1487         uint64_t reserved_43_63               : 21;
1488         uint64_t ptp                          : 1;  /**< PTP interrupt
1489                                                          See CIU_INT_SUM1[PTP] */
1490         uint64_t dpi                          : 1;  /**< DPI interrupt
1491                                                          See DPI_INT_REG */
1492         uint64_t reserved_31_40               : 10;
1493         uint64_t iob                          : 1;  /**< IOB interrupt
1494                                                          See IOB_INT_SUM */
1495         uint64_t reserved_27_29               : 3;
1496         uint64_t pem1                         : 1;  /**< PEM1 interrupt
1497                                                          See PEM1_INT_SUM (enabled by PEM1_INT_ENB) */
1498         uint64_t pem0                         : 1;  /**< PEM0 interrupt
1499                                                          See PEM0_INT_SUM (enabled by PEM0_INT_ENB) */
1500         uint64_t reserved_23_24               : 2;
1501         uint64_t asxpcs0                      : 1;  /**< See PCS0_INT*_REG, PCSX0_INT_REG */
1502         uint64_t reserved_21_21               : 1;
1503         uint64_t pip                          : 1;  /**< PIP interrupt
1504                                                          See PIP_INT_REG */
1505         uint64_t reserved_18_19               : 2;
1506         uint64_t lmc0                         : 1;  /**< LMC0 interrupt
1507                                                          See LMC0_INT */
1508         uint64_t l2c                          : 1;  /**< L2C interrupt
1509                                                          See L2C_INT_REG */
1510         uint64_t reserved_15_15               : 1;
1511         uint64_t rad                          : 1;  /**< RAD interrupt
1512                                                          See RAD_REG_ERROR */
1513         uint64_t usb                          : 1;  /**< USB UCTL0 interrupt
1514                                                          See UCTL0_INT_REG */
1515         uint64_t pow                          : 1;  /**< POW err interrupt
1516                                                          See POW_ECC_ERR */
1517         uint64_t tim                          : 1;  /**< TIM interrupt
1518                                                          See TIM_REG_ERROR */
1519         uint64_t pko                          : 1;  /**< PKO interrupt
1520                                                          See PKO_REG_ERROR */
1521         uint64_t ipd                          : 1;  /**< IPD interrupt
1522                                                          See IPD_INT_SUM */
1523         uint64_t reserved_6_8                 : 3;
1524         uint64_t fpa                          : 1;  /**< FPA interrupt
1525                                                          See FPA_INT_SUM */
1526         uint64_t key                          : 1;  /**< KEY interrupt
1527                                                          See KEY_INT_SUM */
1528         uint64_t sli                          : 1;  /**< SLI interrupt
1529                                                          See SLI_INT_SUM (enabled by SLI_INT_ENB_CIU) */
1530         uint64_t reserved_2_2                 : 1;
1531         uint64_t gmx0                         : 1;  /**< GMX0 interrupt
1532                                                          See GMX0_RX*_INT_REG, GMX0_TX_INT_REG */
1533         uint64_t mio                          : 1;  /**< MIO boot interrupt
1534                                                          See MIO_BOOT_ERR */
1535 #else
1536         uint64_t mio                          : 1;
1537         uint64_t gmx0                         : 1;
1538         uint64_t reserved_2_2                 : 1;
1539         uint64_t sli                          : 1;
1540         uint64_t key                          : 1;
1541         uint64_t fpa                          : 1;
1542         uint64_t reserved_6_8                 : 3;
1543         uint64_t ipd                          : 1;
1544         uint64_t pko                          : 1;
1545         uint64_t tim                          : 1;
1546         uint64_t pow                          : 1;
1547         uint64_t usb                          : 1;
1548         uint64_t rad                          : 1;
1549         uint64_t reserved_15_15               : 1;
1550         uint64_t l2c                          : 1;
1551         uint64_t lmc0                         : 1;
1552         uint64_t reserved_18_19               : 2;
1553         uint64_t pip                          : 1;
1554         uint64_t reserved_21_21               : 1;
1555         uint64_t asxpcs0                      : 1;
1556         uint64_t reserved_23_24               : 2;
1557         uint64_t pem0                         : 1;
1558         uint64_t pem1                         : 1;
1559         uint64_t reserved_27_29               : 3;
1560         uint64_t iob                          : 1;
1561         uint64_t reserved_31_40               : 10;
1562         uint64_t dpi                          : 1;
1563         uint64_t ptp                          : 1;
1564         uint64_t reserved_43_63               : 21;
1565 #endif
1566         } cnf71xx;
1567 };
1568 typedef union cvmx_ciu_block_int cvmx_ciu_block_int_t;
1569
1570 /**
1571  * cvmx_ciu_dint
1572  */
1573 union cvmx_ciu_dint {
1574         uint64_t u64;
1575         struct cvmx_ciu_dint_s {
1576 #ifdef __BIG_ENDIAN_BITFIELD
1577         uint64_t reserved_32_63               : 32;
1578         uint64_t dint                         : 32; /**< Send DINT pulse to PP vector */
1579 #else
1580         uint64_t dint                         : 32;
1581         uint64_t reserved_32_63               : 32;
1582 #endif
1583         } s;
1584         struct cvmx_ciu_dint_cn30xx {
1585 #ifdef __BIG_ENDIAN_BITFIELD
1586         uint64_t reserved_1_63                : 63;
1587         uint64_t dint                         : 1;  /**< Send DINT pulse to PP vector */
1588 #else
1589         uint64_t dint                         : 1;
1590         uint64_t reserved_1_63                : 63;
1591 #endif
1592         } cn30xx;
1593         struct cvmx_ciu_dint_cn31xx {
1594 #ifdef __BIG_ENDIAN_BITFIELD
1595         uint64_t reserved_2_63                : 62;
1596         uint64_t dint                         : 2;  /**< Send DINT pulse to PP vector */
1597 #else
1598         uint64_t dint                         : 2;
1599         uint64_t reserved_2_63                : 62;
1600 #endif
1601         } cn31xx;
1602         struct cvmx_ciu_dint_cn38xx {
1603 #ifdef __BIG_ENDIAN_BITFIELD
1604         uint64_t reserved_16_63               : 48;
1605         uint64_t dint                         : 16; /**< Send DINT pulse to PP vector */
1606 #else
1607         uint64_t dint                         : 16;
1608         uint64_t reserved_16_63               : 48;
1609 #endif
1610         } cn38xx;
1611         struct cvmx_ciu_dint_cn38xx           cn38xxp2;
1612         struct cvmx_ciu_dint_cn31xx           cn50xx;
1613         struct cvmx_ciu_dint_cn52xx {
1614 #ifdef __BIG_ENDIAN_BITFIELD
1615         uint64_t reserved_4_63                : 60;
1616         uint64_t dint                         : 4;  /**< Send DINT pulse to PP vector */
1617 #else
1618         uint64_t dint                         : 4;
1619         uint64_t reserved_4_63                : 60;
1620 #endif
1621         } cn52xx;
1622         struct cvmx_ciu_dint_cn52xx           cn52xxp1;
1623         struct cvmx_ciu_dint_cn56xx {
1624 #ifdef __BIG_ENDIAN_BITFIELD
1625         uint64_t reserved_12_63               : 52;
1626         uint64_t dint                         : 12; /**< Send DINT pulse to PP vector */
1627 #else
1628         uint64_t dint                         : 12;
1629         uint64_t reserved_12_63               : 52;
1630 #endif
1631         } cn56xx;
1632         struct cvmx_ciu_dint_cn56xx           cn56xxp1;
1633         struct cvmx_ciu_dint_cn38xx           cn58xx;
1634         struct cvmx_ciu_dint_cn38xx           cn58xxp1;
1635         struct cvmx_ciu_dint_cn52xx           cn61xx;
1636         struct cvmx_ciu_dint_cn63xx {
1637 #ifdef __BIG_ENDIAN_BITFIELD
1638         uint64_t reserved_6_63                : 58;
1639         uint64_t dint                         : 6;  /**< Send DINT pulse to PP vector */
1640 #else
1641         uint64_t dint                         : 6;
1642         uint64_t reserved_6_63                : 58;
1643 #endif
1644         } cn63xx;
1645         struct cvmx_ciu_dint_cn63xx           cn63xxp1;
1646         struct cvmx_ciu_dint_cn66xx {
1647 #ifdef __BIG_ENDIAN_BITFIELD
1648         uint64_t reserved_10_63               : 54;
1649         uint64_t dint                         : 10; /**< Send DINT pulse to PP vector */
1650 #else
1651         uint64_t dint                         : 10;
1652         uint64_t reserved_10_63               : 54;
1653 #endif
1654         } cn66xx;
1655         struct cvmx_ciu_dint_s                cn68xx;
1656         struct cvmx_ciu_dint_s                cn68xxp1;
1657         struct cvmx_ciu_dint_cn52xx           cnf71xx;
1658 };
1659 typedef union cvmx_ciu_dint cvmx_ciu_dint_t;
1660
1661 /**
1662  * cvmx_ciu_en2_io#_int
1663  *
1664  * Notes:
1665  * These SUM2 CSR's did not exist prior to pass 1.2. CIU_TIM4-9 did not exist prior to pass 1.2.
1666  *
1667  */
1668 union cvmx_ciu_en2_iox_int {
1669         uint64_t u64;
1670         struct cvmx_ciu_en2_iox_int_s {
1671 #ifdef __BIG_ENDIAN_BITFIELD
1672         uint64_t reserved_15_63               : 49;
1673         uint64_t endor                        : 2;  /**< ENDOR PHY interrupts enable */
1674         uint64_t eoi                          : 1;  /**< EOI rsl interrupt enable */
1675         uint64_t reserved_10_11               : 2;
1676         uint64_t timer                        : 6;  /**< General timer 4-9 interrupt enable */
1677         uint64_t reserved_0_3                 : 4;
1678 #else
1679         uint64_t reserved_0_3                 : 4;
1680         uint64_t timer                        : 6;
1681         uint64_t reserved_10_11               : 2;
1682         uint64_t eoi                          : 1;
1683         uint64_t endor                        : 2;
1684         uint64_t reserved_15_63               : 49;
1685 #endif
1686         } s;
1687         struct cvmx_ciu_en2_iox_int_cn61xx {
1688 #ifdef __BIG_ENDIAN_BITFIELD
1689         uint64_t reserved_10_63               : 54;
1690         uint64_t timer                        : 6;  /**< General timer 4-9 interrupt enable */
1691         uint64_t reserved_0_3                 : 4;
1692 #else
1693         uint64_t reserved_0_3                 : 4;
1694         uint64_t timer                        : 6;
1695         uint64_t reserved_10_63               : 54;
1696 #endif
1697         } cn61xx;
1698         struct cvmx_ciu_en2_iox_int_cn61xx    cn66xx;
1699         struct cvmx_ciu_en2_iox_int_s         cnf71xx;
1700 };
1701 typedef union cvmx_ciu_en2_iox_int cvmx_ciu_en2_iox_int_t;
1702
1703 /**
1704  * cvmx_ciu_en2_io#_int_w1c
1705  *
1706  * Notes:
1707  * Write-1-to-clear version of the CIU_EN2_PP(IO)X_IPx(INT) register, read back corresponding
1708  * CIU_EN2_PP(IO)X_IPx(INT) value.
1709  */
1710 union cvmx_ciu_en2_iox_int_w1c {
1711         uint64_t u64;
1712         struct cvmx_ciu_en2_iox_int_w1c_s {
1713 #ifdef __BIG_ENDIAN_BITFIELD
1714         uint64_t reserved_15_63               : 49;
1715         uint64_t endor                        : 2;  /**< Write 1 to clear ENDOR PHY interrupts enable */
1716         uint64_t eoi                          : 1;  /**< Write 1 to clear EOI rsl interrupt enable */
1717         uint64_t reserved_10_11               : 2;
1718         uint64_t timer                        : 6;  /**< Write 1 to clear General timer 4-9 interrupt enable */
1719         uint64_t reserved_0_3                 : 4;
1720 #else
1721         uint64_t reserved_0_3                 : 4;
1722         uint64_t timer                        : 6;
1723         uint64_t reserved_10_11               : 2;
1724         uint64_t eoi                          : 1;
1725         uint64_t endor                        : 2;
1726         uint64_t reserved_15_63               : 49;
1727 #endif
1728         } s;
1729         struct cvmx_ciu_en2_iox_int_w1c_cn61xx {
1730 #ifdef __BIG_ENDIAN_BITFIELD
1731         uint64_t reserved_10_63               : 54;
1732         uint64_t timer                        : 6;  /**< Write 1 to clear General timer 4-9 interrupt enable */
1733         uint64_t reserved_0_3                 : 4;
1734 #else
1735         uint64_t reserved_0_3                 : 4;
1736         uint64_t timer                        : 6;
1737         uint64_t reserved_10_63               : 54;
1738 #endif
1739         } cn61xx;
1740         struct cvmx_ciu_en2_iox_int_w1c_cn61xx cn66xx;
1741         struct cvmx_ciu_en2_iox_int_w1c_s     cnf71xx;
1742 };
1743 typedef union cvmx_ciu_en2_iox_int_w1c cvmx_ciu_en2_iox_int_w1c_t;
1744
1745 /**
1746  * cvmx_ciu_en2_io#_int_w1s
1747  *
1748  * Notes:
1749  * Write-1-to-set version of the CIU_EN2_PP(IO)X_IPx(INT) register, read back corresponding
1750  * CIU_EN2_PP(IO)X_IPx(INT) value.
1751  */
1752 union cvmx_ciu_en2_iox_int_w1s {
1753         uint64_t u64;
1754         struct cvmx_ciu_en2_iox_int_w1s_s {
1755 #ifdef __BIG_ENDIAN_BITFIELD
1756         uint64_t reserved_15_63               : 49;
1757         uint64_t endor                        : 2;  /**< Write 1 to set ENDOR PHY interrupts enable */
1758         uint64_t eoi                          : 1;  /**< Write 1 to set EOI rsl interrupt enable */
1759         uint64_t reserved_10_11               : 2;
1760         uint64_t timer                        : 6;  /**< Write 1 to set General timer 4-9 interrupt enables */
1761         uint64_t reserved_0_3                 : 4;
1762 #else
1763         uint64_t reserved_0_3                 : 4;
1764         uint64_t timer                        : 6;
1765         uint64_t reserved_10_11               : 2;
1766         uint64_t eoi                          : 1;
1767         uint64_t endor                        : 2;
1768         uint64_t reserved_15_63               : 49;
1769 #endif
1770         } s;
1771         struct cvmx_ciu_en2_iox_int_w1s_cn61xx {
1772 #ifdef __BIG_ENDIAN_BITFIELD
1773         uint64_t reserved_10_63               : 54;
1774         uint64_t timer                        : 6;  /**< Write 1 to set General timer 4-9 interrupt enables */
1775         uint64_t reserved_0_3                 : 4;
1776 #else
1777         uint64_t reserved_0_3                 : 4;
1778         uint64_t timer                        : 6;
1779         uint64_t reserved_10_63               : 54;
1780 #endif
1781         } cn61xx;
1782         struct cvmx_ciu_en2_iox_int_w1s_cn61xx cn66xx;
1783         struct cvmx_ciu_en2_iox_int_w1s_s     cnf71xx;
1784 };
1785 typedef union cvmx_ciu_en2_iox_int_w1s cvmx_ciu_en2_iox_int_w1s_t;
1786
1787 /**
1788  * cvmx_ciu_en2_pp#_ip2
1789  *
1790  * Notes:
1791  * These SUM2 CSR's did not exist prior to pass 1.2. CIU_TIM4-9 did not exist prior to pass 1.2.
1792  *
1793  */
1794 union cvmx_ciu_en2_ppx_ip2 {
1795         uint64_t u64;
1796         struct cvmx_ciu_en2_ppx_ip2_s {
1797 #ifdef __BIG_ENDIAN_BITFIELD
1798         uint64_t reserved_15_63               : 49;
1799         uint64_t endor                        : 2;  /**< ENDOR PHY interrupts enable */
1800         uint64_t eoi                          : 1;  /**< EOI rsl interrupt enable */
1801         uint64_t reserved_10_11               : 2;
1802         uint64_t timer                        : 6;  /**< General timer 4-9 interrupt enable */
1803         uint64_t reserved_0_3                 : 4;
1804 #else
1805         uint64_t reserved_0_3                 : 4;
1806         uint64_t timer                        : 6;
1807         uint64_t reserved_10_11               : 2;
1808         uint64_t eoi                          : 1;
1809         uint64_t endor                        : 2;
1810         uint64_t reserved_15_63               : 49;
1811 #endif
1812         } s;
1813         struct cvmx_ciu_en2_ppx_ip2_cn61xx {
1814 #ifdef __BIG_ENDIAN_BITFIELD
1815         uint64_t reserved_10_63               : 54;
1816         uint64_t timer                        : 6;  /**< General timer 4-9 interrupt enable */
1817         uint64_t reserved_0_3                 : 4;
1818 #else
1819         uint64_t reserved_0_3                 : 4;
1820         uint64_t timer                        : 6;
1821         uint64_t reserved_10_63               : 54;
1822 #endif
1823         } cn61xx;
1824         struct cvmx_ciu_en2_ppx_ip2_cn61xx    cn66xx;
1825         struct cvmx_ciu_en2_ppx_ip2_s         cnf71xx;
1826 };
1827 typedef union cvmx_ciu_en2_ppx_ip2 cvmx_ciu_en2_ppx_ip2_t;
1828
1829 /**
1830  * cvmx_ciu_en2_pp#_ip2_w1c
1831  *
1832  * Notes:
1833  * Write-1-to-clear version of the CIU_EN2_PP(IO)X_IPx(INT) register, read back corresponding
1834  * CIU_EN2_PP(IO)X_IPx(INT) value.
1835  */
1836 union cvmx_ciu_en2_ppx_ip2_w1c {
1837         uint64_t u64;
1838         struct cvmx_ciu_en2_ppx_ip2_w1c_s {
1839 #ifdef __BIG_ENDIAN_BITFIELD
1840         uint64_t reserved_15_63               : 49;
1841         uint64_t endor                        : 2;  /**< Write 1 to clear ENDOR PHY interrupts enable */
1842         uint64_t eoi                          : 1;  /**< Write 1 to clear EOI rsl interrupt enable */
1843         uint64_t reserved_10_11               : 2;
1844         uint64_t timer                        : 6;  /**< Write 1 to clear General timer 4-9 interrupt enable */
1845         uint64_t reserved_0_3                 : 4;
1846 #else
1847         uint64_t reserved_0_3                 : 4;
1848         uint64_t timer                        : 6;
1849         uint64_t reserved_10_11               : 2;
1850         uint64_t eoi                          : 1;
1851         uint64_t endor                        : 2;
1852         uint64_t reserved_15_63               : 49;
1853 #endif
1854         } s;
1855         struct cvmx_ciu_en2_ppx_ip2_w1c_cn61xx {
1856 #ifdef __BIG_ENDIAN_BITFIELD
1857         uint64_t reserved_10_63               : 54;
1858         uint64_t timer                        : 6;  /**< Write 1 to clear General timer 4-9 interrupt enable */
1859         uint64_t reserved_0_3                 : 4;
1860 #else
1861         uint64_t reserved_0_3                 : 4;
1862         uint64_t timer                        : 6;
1863         uint64_t reserved_10_63               : 54;
1864 #endif
1865         } cn61xx;
1866         struct cvmx_ciu_en2_ppx_ip2_w1c_cn61xx cn66xx;
1867         struct cvmx_ciu_en2_ppx_ip2_w1c_s     cnf71xx;
1868 };
1869 typedef union cvmx_ciu_en2_ppx_ip2_w1c cvmx_ciu_en2_ppx_ip2_w1c_t;
1870
1871 /**
1872  * cvmx_ciu_en2_pp#_ip2_w1s
1873  *
1874  * Notes:
1875  * Write-1-to-set version of the CIU_EN2_PP(IO)X_IPx(INT) register, read back corresponding
1876  * CIU_EN2_PP(IO)X_IPx(INT) value.
1877  */
1878 union cvmx_ciu_en2_ppx_ip2_w1s {
1879         uint64_t u64;
1880         struct cvmx_ciu_en2_ppx_ip2_w1s_s {
1881 #ifdef __BIG_ENDIAN_BITFIELD
1882         uint64_t reserved_15_63               : 49;
1883         uint64_t endor                        : 2;  /**< Write 1 to set ENDOR PHY interrupts enable */
1884         uint64_t eoi                          : 1;  /**< Write 1 to set EOI rsl interrupt enable */
1885         uint64_t reserved_10_11               : 2;
1886         uint64_t timer                        : 6;  /**< Write 1 to set General timer 4-9 interrupt enables */
1887         uint64_t reserved_0_3                 : 4;
1888 #else
1889         uint64_t reserved_0_3                 : 4;
1890         uint64_t timer                        : 6;
1891         uint64_t reserved_10_11               : 2;
1892         uint64_t eoi                          : 1;
1893         uint64_t endor                        : 2;
1894         uint64_t reserved_15_63               : 49;
1895 #endif
1896         } s;
1897         struct cvmx_ciu_en2_ppx_ip2_w1s_cn61xx {
1898 #ifdef __BIG_ENDIAN_BITFIELD
1899         uint64_t reserved_10_63               : 54;
1900         uint64_t timer                        : 6;  /**< Write 1 to set General timer 4-9 interrupt enables */
1901         uint64_t reserved_0_3                 : 4;
1902 #else
1903         uint64_t reserved_0_3                 : 4;
1904         uint64_t timer                        : 6;
1905         uint64_t reserved_10_63               : 54;
1906 #endif
1907         } cn61xx;
1908         struct cvmx_ciu_en2_ppx_ip2_w1s_cn61xx cn66xx;
1909         struct cvmx_ciu_en2_ppx_ip2_w1s_s     cnf71xx;
1910 };
1911 typedef union cvmx_ciu_en2_ppx_ip2_w1s cvmx_ciu_en2_ppx_ip2_w1s_t;
1912
1913 /**
1914  * cvmx_ciu_en2_pp#_ip3
1915  *
1916  * Notes:
1917  * These SUM2 CSR's did not exist prior to pass 1.2. CIU_TIM4-9 did not exist prior to pass 1.2.
1918  *
1919  */
1920 union cvmx_ciu_en2_ppx_ip3 {
1921         uint64_t u64;
1922         struct cvmx_ciu_en2_ppx_ip3_s {
1923 #ifdef __BIG_ENDIAN_BITFIELD
1924         uint64_t reserved_15_63               : 49;
1925         uint64_t endor                        : 2;  /**< ENDOR PHY interrupts enable */
1926         uint64_t eoi                          : 1;  /**< EOI rsl interrupt enable */
1927         uint64_t reserved_10_11               : 2;
1928         uint64_t timer                        : 6;  /**< General timer 4-9 interrupt enable */
1929         uint64_t reserved_0_3                 : 4;
1930 #else
1931         uint64_t reserved_0_3                 : 4;
1932         uint64_t timer                        : 6;
1933         uint64_t reserved_10_11               : 2;
1934         uint64_t eoi                          : 1;
1935         uint64_t endor                        : 2;
1936         uint64_t reserved_15_63               : 49;
1937 #endif
1938         } s;
1939         struct cvmx_ciu_en2_ppx_ip3_cn61xx {
1940 #ifdef __BIG_ENDIAN_BITFIELD
1941         uint64_t reserved_10_63               : 54;
1942         uint64_t timer                        : 6;  /**< General timer 4-9 interrupt enable */
1943         uint64_t reserved_0_3                 : 4;
1944 #else
1945         uint64_t reserved_0_3                 : 4;
1946         uint64_t timer                        : 6;
1947         uint64_t reserved_10_63               : 54;
1948 #endif
1949         } cn61xx;
1950         struct cvmx_ciu_en2_ppx_ip3_cn61xx    cn66xx;
1951         struct cvmx_ciu_en2_ppx_ip3_s         cnf71xx;
1952 };
1953 typedef union cvmx_ciu_en2_ppx_ip3 cvmx_ciu_en2_ppx_ip3_t;
1954
1955 /**
1956  * cvmx_ciu_en2_pp#_ip3_w1c
1957  *
1958  * Notes:
1959  * Write-1-to-clear version of the CIU_EN2_PP(IO)X_IPx(INT) register, read back corresponding
1960  * CIU_EN2_PP(IO)X_IPx(INT) value.
1961  */
1962 union cvmx_ciu_en2_ppx_ip3_w1c {
1963         uint64_t u64;
1964         struct cvmx_ciu_en2_ppx_ip3_w1c_s {
1965 #ifdef __BIG_ENDIAN_BITFIELD
1966         uint64_t reserved_15_63               : 49;
1967         uint64_t endor                        : 2;  /**< Write 1 to clear ENDOR PHY interrupts enable */
1968         uint64_t eoi                          : 1;  /**< Write 1 to clear EOI rsl interrupt enable */
1969         uint64_t reserved_10_11               : 2;
1970         uint64_t timer                        : 6;  /**< Write 1 to clear General timer 4-9 interrupt enable */
1971         uint64_t reserved_0_3                 : 4;
1972 #else
1973         uint64_t reserved_0_3                 : 4;
1974         uint64_t timer                        : 6;
1975         uint64_t reserved_10_11               : 2;
1976         uint64_t eoi                          : 1;
1977         uint64_t endor                        : 2;
1978         uint64_t reserved_15_63               : 49;
1979 #endif
1980         } s;
1981         struct cvmx_ciu_en2_ppx_ip3_w1c_cn61xx {
1982 #ifdef __BIG_ENDIAN_BITFIELD
1983         uint64_t reserved_10_63               : 54;
1984         uint64_t timer                        : 6;  /**< Write 1 to clear General timer 4-9 interrupt enable */
1985         uint64_t reserved_0_3                 : 4;
1986 #else
1987         uint64_t reserved_0_3                 : 4;
1988         uint64_t timer                        : 6;
1989         uint64_t reserved_10_63               : 54;
1990 #endif
1991         } cn61xx;
1992         struct cvmx_ciu_en2_ppx_ip3_w1c_cn61xx cn66xx;
1993         struct cvmx_ciu_en2_ppx_ip3_w1c_s     cnf71xx;
1994 };
1995 typedef union cvmx_ciu_en2_ppx_ip3_w1c cvmx_ciu_en2_ppx_ip3_w1c_t;
1996
1997 /**
1998  * cvmx_ciu_en2_pp#_ip3_w1s
1999  *
2000  * Notes:
2001  * Write-1-to-set version of the CIU_EN2_PP(IO)X_IPx(INT) register, read back corresponding
2002  * CIU_EN2_PP(IO)X_IPx(INT) value.
2003  */
2004 union cvmx_ciu_en2_ppx_ip3_w1s {
2005         uint64_t u64;
2006         struct cvmx_ciu_en2_ppx_ip3_w1s_s {
2007 #ifdef __BIG_ENDIAN_BITFIELD
2008         uint64_t reserved_15_63               : 49;
2009         uint64_t endor                        : 2;  /**< Write 1 to set ENDOR PHY interrupts enable */
2010         uint64_t eoi                          : 1;  /**< Write 1 to set EOI rsl interrupt enable */
2011         uint64_t reserved_10_11               : 2;
2012         uint64_t timer                        : 6;  /**< Write 1 to set General timer 4-9 interrupt enables */
2013         uint64_t reserved_0_3                 : 4;
2014 #else
2015         uint64_t reserved_0_3                 : 4;
2016         uint64_t timer                        : 6;
2017         uint64_t reserved_10_11               : 2;
2018         uint64_t eoi                          : 1;
2019         uint64_t endor                        : 2;
2020         uint64_t reserved_15_63               : 49;
2021 #endif
2022         } s;
2023         struct cvmx_ciu_en2_ppx_ip3_w1s_cn61xx {
2024 #ifdef __BIG_ENDIAN_BITFIELD
2025         uint64_t reserved_10_63               : 54;
2026         uint64_t timer                        : 6;  /**< Write 1 to set General timer 4-9 interrupt enables */
2027         uint64_t reserved_0_3                 : 4;
2028 #else
2029         uint64_t reserved_0_3                 : 4;
2030         uint64_t timer                        : 6;
2031         uint64_t reserved_10_63               : 54;
2032 #endif
2033         } cn61xx;
2034         struct cvmx_ciu_en2_ppx_ip3_w1s_cn61xx cn66xx;
2035         struct cvmx_ciu_en2_ppx_ip3_w1s_s     cnf71xx;
2036 };
2037 typedef union cvmx_ciu_en2_ppx_ip3_w1s cvmx_ciu_en2_ppx_ip3_w1s_t;
2038
2039 /**
2040  * cvmx_ciu_en2_pp#_ip4
2041  *
2042  * Notes:
2043  * These SUM2 CSR's did not exist prior to pass 1.2. CIU_TIM4-9 did not exist prior to pass 1.2.
2044  *
2045  */
2046 union cvmx_ciu_en2_ppx_ip4 {
2047         uint64_t u64;
2048         struct cvmx_ciu_en2_ppx_ip4_s {
2049 #ifdef __BIG_ENDIAN_BITFIELD
2050         uint64_t reserved_15_63               : 49;
2051         uint64_t endor                        : 2;  /**< ENDOR PHY interrupts enable */
2052         uint64_t eoi                          : 1;  /**< EOI rsl interrupt enable */
2053         uint64_t reserved_10_11               : 2;
2054         uint64_t timer                        : 6;  /**< General timer 4-9 interrupt enable */
2055         uint64_t reserved_0_3                 : 4;
2056 #else
2057         uint64_t reserved_0_3                 : 4;
2058         uint64_t timer                        : 6;
2059         uint64_t reserved_10_11               : 2;
2060         uint64_t eoi                          : 1;
2061         uint64_t endor                        : 2;
2062         uint64_t reserved_15_63               : 49;
2063 #endif
2064         } s;
2065         struct cvmx_ciu_en2_ppx_ip4_cn61xx {
2066 #ifdef __BIG_ENDIAN_BITFIELD
2067         uint64_t reserved_10_63               : 54;
2068         uint64_t timer                        : 6;  /**< General timer 4-9 interrupt enable */
2069         uint64_t reserved_0_3                 : 4;
2070 #else
2071         uint64_t reserved_0_3                 : 4;
2072         uint64_t timer                        : 6;
2073         uint64_t reserved_10_63               : 54;
2074 #endif
2075         } cn61xx;
2076         struct cvmx_ciu_en2_ppx_ip4_cn61xx    cn66xx;
2077         struct cvmx_ciu_en2_ppx_ip4_s         cnf71xx;
2078 };
2079 typedef union cvmx_ciu_en2_ppx_ip4 cvmx_ciu_en2_ppx_ip4_t;
2080
2081 /**
2082  * cvmx_ciu_en2_pp#_ip4_w1c
2083  *
2084  * Notes:
2085  * Write-1-to-clear version of the CIU_EN2_PP(IO)X_IPx(INT) register, read back corresponding
2086  * CIU_EN2_PP(IO)X_IPx(INT) value.
2087  */
2088 union cvmx_ciu_en2_ppx_ip4_w1c {
2089         uint64_t u64;
2090         struct cvmx_ciu_en2_ppx_ip4_w1c_s {
2091 #ifdef __BIG_ENDIAN_BITFIELD
2092         uint64_t reserved_15_63               : 49;
2093         uint64_t endor                        : 2;  /**< Write 1 to clear ENDOR PHY interrupts enable */
2094         uint64_t eoi                          : 1;  /**< Write 1 to clear EOI rsl interrupt enable */
2095         uint64_t reserved_10_11               : 2;
2096         uint64_t timer                        : 6;  /**< Write 1 to clear General timer 4-9 interrupt enable */
2097         uint64_t reserved_0_3                 : 4;
2098 #else
2099         uint64_t reserved_0_3                 : 4;
2100         uint64_t timer                        : 6;
2101         uint64_t reserved_10_11               : 2;
2102         uint64_t eoi                          : 1;
2103         uint64_t endor                        : 2;
2104         uint64_t reserved_15_63               : 49;
2105 #endif
2106         } s;
2107         struct cvmx_ciu_en2_ppx_ip4_w1c_cn61xx {
2108 #ifdef __BIG_ENDIAN_BITFIELD
2109         uint64_t reserved_10_63               : 54;
2110         uint64_t timer                        : 6;  /**< Write 1 to clear General timer 4-9 interrupt enable */
2111         uint64_t reserved_0_3                 : 4;
2112 #else
2113         uint64_t reserved_0_3                 : 4;
2114         uint64_t timer                        : 6;
2115         uint64_t reserved_10_63               : 54;
2116 #endif
2117         } cn61xx;
2118         struct cvmx_ciu_en2_ppx_ip4_w1c_cn61xx cn66xx;
2119         struct cvmx_ciu_en2_ppx_ip4_w1c_s     cnf71xx;
2120 };
2121 typedef union cvmx_ciu_en2_ppx_ip4_w1c cvmx_ciu_en2_ppx_ip4_w1c_t;
2122
2123 /**
2124  * cvmx_ciu_en2_pp#_ip4_w1s
2125  *
2126  * Notes:
2127  * Write-1-to-set version of the CIU_EN2_PP(IO)X_IPx(INT) register, read back corresponding
2128  * CIU_EN2_PP(IO)X_IPx(INT) value.
2129  */
2130 union cvmx_ciu_en2_ppx_ip4_w1s {
2131         uint64_t u64;
2132         struct cvmx_ciu_en2_ppx_ip4_w1s_s {
2133 #ifdef __BIG_ENDIAN_BITFIELD
2134         uint64_t reserved_15_63               : 49;
2135         uint64_t endor                        : 2;  /**< Write 1 to set ENDOR PHY interrupts enable */
2136         uint64_t eoi                          : 1;  /**< Write 1 to set EOI rsl interrupt enable */
2137         uint64_t reserved_10_11               : 2;
2138         uint64_t timer                        : 6;  /**< Write 1 to set General timer 4-9 interrupt enables */
2139         uint64_t reserved_0_3                 : 4;
2140 #else
2141         uint64_t reserved_0_3                 : 4;
2142         uint64_t timer                        : 6;
2143         uint64_t reserved_10_11               : 2;
2144         uint64_t eoi                          : 1;
2145         uint64_t endor                        : 2;
2146         uint64_t reserved_15_63               : 49;
2147 #endif
2148         } s;
2149         struct cvmx_ciu_en2_ppx_ip4_w1s_cn61xx {
2150 #ifdef __BIG_ENDIAN_BITFIELD
2151         uint64_t reserved_10_63               : 54;
2152         uint64_t timer                        : 6;  /**< Write 1 to set General timer 4-9 interrupt enables */
2153         uint64_t reserved_0_3                 : 4;
2154 #else
2155         uint64_t reserved_0_3                 : 4;
2156         uint64_t timer                        : 6;
2157         uint64_t reserved_10_63               : 54;
2158 #endif
2159         } cn61xx;
2160         struct cvmx_ciu_en2_ppx_ip4_w1s_cn61xx cn66xx;
2161         struct cvmx_ciu_en2_ppx_ip4_w1s_s     cnf71xx;
2162 };
2163 typedef union cvmx_ciu_en2_ppx_ip4_w1s cvmx_ciu_en2_ppx_ip4_w1s_t;
2164
2165 /**
2166  * cvmx_ciu_fuse
2167  */
2168 union cvmx_ciu_fuse {
2169         uint64_t u64;
2170         struct cvmx_ciu_fuse_s {
2171 #ifdef __BIG_ENDIAN_BITFIELD
2172         uint64_t reserved_32_63               : 32;
2173         uint64_t fuse                         : 32; /**< Physical PP is present */
2174 #else
2175         uint64_t fuse                         : 32;
2176         uint64_t reserved_32_63               : 32;
2177 #endif
2178         } s;
2179         struct cvmx_ciu_fuse_cn30xx {
2180 #ifdef __BIG_ENDIAN_BITFIELD
2181         uint64_t reserved_1_63                : 63;
2182         uint64_t fuse                         : 1;  /**< Physical PP is present */
2183 #else
2184         uint64_t fuse                         : 1;
2185         uint64_t reserved_1_63                : 63;
2186 #endif
2187         } cn30xx;
2188         struct cvmx_ciu_fuse_cn31xx {
2189 #ifdef __BIG_ENDIAN_BITFIELD
2190         uint64_t reserved_2_63                : 62;
2191         uint64_t fuse                         : 2;  /**< Physical PP is present */
2192 #else
2193         uint64_t fuse                         : 2;
2194         uint64_t reserved_2_63                : 62;
2195 #endif
2196         } cn31xx;
2197         struct cvmx_ciu_fuse_cn38xx {
2198 #ifdef __BIG_ENDIAN_BITFIELD
2199         uint64_t reserved_16_63               : 48;
2200         uint64_t fuse                         : 16; /**< Physical PP is present */
2201 #else
2202         uint64_t fuse                         : 16;
2203         uint64_t reserved_16_63               : 48;
2204 #endif
2205         } cn38xx;
2206         struct cvmx_ciu_fuse_cn38xx           cn38xxp2;
2207         struct cvmx_ciu_fuse_cn31xx           cn50xx;
2208         struct cvmx_ciu_fuse_cn52xx {
2209 #ifdef __BIG_ENDIAN_BITFIELD
2210         uint64_t reserved_4_63                : 60;
2211         uint64_t fuse                         : 4;  /**< Physical PP is present */
2212 #else
2213         uint64_t fuse                         : 4;
2214         uint64_t reserved_4_63                : 60;
2215 #endif
2216         } cn52xx;
2217         struct cvmx_ciu_fuse_cn52xx           cn52xxp1;
2218         struct cvmx_ciu_fuse_cn56xx {
2219 #ifdef __BIG_ENDIAN_BITFIELD
2220         uint64_t reserved_12_63               : 52;
2221         uint64_t fuse                         : 12; /**< Physical PP is present */
2222 #else
2223         uint64_t fuse                         : 12;
2224         uint64_t reserved_12_63               : 52;
2225 #endif
2226         } cn56xx;
2227         struct cvmx_ciu_fuse_cn56xx           cn56xxp1;
2228         struct cvmx_ciu_fuse_cn38xx           cn58xx;
2229         struct cvmx_ciu_fuse_cn38xx           cn58xxp1;
2230         struct cvmx_ciu_fuse_cn52xx           cn61xx;
2231         struct cvmx_ciu_fuse_cn63xx {
2232 #ifdef __BIG_ENDIAN_BITFIELD
2233         uint64_t reserved_6_63                : 58;
2234         uint64_t fuse                         : 6;  /**< Physical PP is present */
2235 #else
2236         uint64_t fuse                         : 6;
2237         uint64_t reserved_6_63                : 58;
2238 #endif
2239         } cn63xx;
2240         struct cvmx_ciu_fuse_cn63xx           cn63xxp1;
2241         struct cvmx_ciu_fuse_cn66xx {
2242 #ifdef __BIG_ENDIAN_BITFIELD
2243         uint64_t reserved_10_63               : 54;
2244         uint64_t fuse                         : 10; /**< Physical PP is present */
2245 #else
2246         uint64_t fuse                         : 10;
2247         uint64_t reserved_10_63               : 54;
2248 #endif
2249         } cn66xx;
2250         struct cvmx_ciu_fuse_s                cn68xx;
2251         struct cvmx_ciu_fuse_s                cn68xxp1;
2252         struct cvmx_ciu_fuse_cn52xx           cnf71xx;
2253 };
2254 typedef union cvmx_ciu_fuse cvmx_ciu_fuse_t;
2255
2256 /**
2257  * cvmx_ciu_gstop
2258  */
2259 union cvmx_ciu_gstop {
2260         uint64_t u64;
2261         struct cvmx_ciu_gstop_s {
2262 #ifdef __BIG_ENDIAN_BITFIELD
2263         uint64_t reserved_1_63                : 63;
2264         uint64_t gstop                        : 1;  /**< GSTOP bit */
2265 #else
2266         uint64_t gstop                        : 1;
2267         uint64_t reserved_1_63                : 63;
2268 #endif
2269         } s;
2270         struct cvmx_ciu_gstop_s               cn30xx;
2271         struct cvmx_ciu_gstop_s               cn31xx;
2272         struct cvmx_ciu_gstop_s               cn38xx;
2273         struct cvmx_ciu_gstop_s               cn38xxp2;
2274         struct cvmx_ciu_gstop_s               cn50xx;
2275         struct cvmx_ciu_gstop_s               cn52xx;
2276         struct cvmx_ciu_gstop_s               cn52xxp1;
2277         struct cvmx_ciu_gstop_s               cn56xx;
2278         struct cvmx_ciu_gstop_s               cn56xxp1;
2279         struct cvmx_ciu_gstop_s               cn58xx;
2280         struct cvmx_ciu_gstop_s               cn58xxp1;
2281         struct cvmx_ciu_gstop_s               cn61xx;
2282         struct cvmx_ciu_gstop_s               cn63xx;
2283         struct cvmx_ciu_gstop_s               cn63xxp1;
2284         struct cvmx_ciu_gstop_s               cn66xx;
2285         struct cvmx_ciu_gstop_s               cn68xx;
2286         struct cvmx_ciu_gstop_s               cn68xxp1;
2287         struct cvmx_ciu_gstop_s               cnf71xx;
2288 };
2289 typedef union cvmx_ciu_gstop cvmx_ciu_gstop_t;
2290
2291 /**
2292  * cvmx_ciu_int#_en0
2293  *
2294  * Notes:
2295  * CIU_INT0_EN0:  PP0/IP2
2296  * CIU_INT1_EN0:  PP0/IP3
2297  * CIU_INT2_EN0:  PP1/IP2
2298  * CIU_INT3_EN0:  PP1/IP3
2299  * CIU_INT4_EN0:  PP2/IP2
2300  * CIU_INT5_EN0:  PP2/IP3
2301  * CIU_INT6_EN0:  PP3/IP2
2302  * CIU_INT7_EN0:  PP3/IP3
2303  * .....
2304  *
2305  * (hole)
2306  * CIU_INT32_EN0: IO 0
2307  * CIU_INT33_EN0: IO 1
2308  */
2309 union cvmx_ciu_intx_en0 {
2310         uint64_t u64;
2311         struct cvmx_ciu_intx_en0_s {
2312 #ifdef __BIG_ENDIAN_BITFIELD
2313         uint64_t bootdma                      : 1;  /**< Boot bus DMA engines Interrupt enable */
2314         uint64_t mii                          : 1;  /**< RGMII/MII/MIX Interface 0 Interrupt enable */
2315         uint64_t ipdppthr                     : 1;  /**< IPD per-port counter threshold interrupt enable */
2316         uint64_t powiq                        : 1;  /**< POW IQ interrupt enable */
2317         uint64_t twsi2                        : 1;  /**< 2nd TWSI Interrupt enable */
2318         uint64_t mpi                          : 1;  /**< MPI/SPI interrupt enable */
2319         uint64_t pcm                          : 1;  /**< PCM/TDM interrupt enable */
2320         uint64_t usb                          : 1;  /**< USB EHCI or OHCI Interrupt enable */
2321         uint64_t timer                        : 4;  /**< General timer interrupt enables */
2322         uint64_t key_zero                     : 1;  /**< Key Zeroization interrupt */
2323         uint64_t ipd_drp                      : 1;  /**< IPD QOS packet drop interrupt enable */
2324         uint64_t gmx_drp                      : 2;  /**< GMX packet drop interrupt enable */
2325         uint64_t trace                        : 1;  /**< Trace buffer interrupt enable */
2326         uint64_t rml                          : 1;  /**< RML Interrupt enable */
2327         uint64_t twsi                         : 1;  /**< TWSI Interrupt enable */
2328         uint64_t reserved_44_44               : 1;
2329         uint64_t pci_msi                      : 4;  /**< PCIe MSI enables */
2330         uint64_t pci_int                      : 4;  /**< PCIe INTA/B/C/D enables */
2331         uint64_t uart                         : 2;  /**< Two UART interrupt enables */
2332         uint64_t mbox                         : 2;  /**< Two mailbox/PCIe interrupt enables */
2333         uint64_t gpio                         : 16; /**< 16 GPIO interrupt enables */
2334         uint64_t workq                        : 16; /**< 16 work queue interrupt enables */
2335 #else
2336         uint64_t workq                        : 16;
2337         uint64_t gpio                         : 16;
2338         uint64_t mbox                         : 2;
2339         uint64_t uart                         : 2;
2340         uint64_t pci_int                      : 4;
2341         uint64_t pci_msi                      : 4;
2342         uint64_t reserved_44_44               : 1;
2343         uint64_t twsi                         : 1;
2344         uint64_t rml                          : 1;
2345         uint64_t trace                        : 1;
2346         uint64_t gmx_drp                      : 2;
2347         uint64_t ipd_drp                      : 1;
2348         uint64_t key_zero                     : 1;
2349         uint64_t timer                        : 4;
2350         uint64_t usb                          : 1;
2351         uint64_t pcm                          : 1;
2352         uint64_t mpi                          : 1;
2353         uint64_t twsi2                        : 1;
2354         uint64_t powiq                        : 1;
2355         uint64_t ipdppthr                     : 1;
2356         uint64_t mii                          : 1;
2357         uint64_t bootdma                      : 1;
2358 #endif
2359         } s;
2360         struct cvmx_ciu_intx_en0_cn30xx {
2361 #ifdef __BIG_ENDIAN_BITFIELD
2362         uint64_t reserved_59_63               : 5;
2363         uint64_t mpi                          : 1;  /**< MPI/SPI interrupt */
2364         uint64_t pcm                          : 1;  /**< PCM/TDM interrupt */
2365         uint64_t usb                          : 1;  /**< USB interrupt */
2366         uint64_t timer                        : 4;  /**< General timer interrupts */
2367         uint64_t reserved_51_51               : 1;
2368         uint64_t ipd_drp                      : 1;  /**< IPD QOS packet drop */
2369         uint64_t reserved_49_49               : 1;
2370         uint64_t gmx_drp                      : 1;  /**< GMX packet drop */
2371         uint64_t reserved_47_47               : 1;
2372         uint64_t rml                          : 1;  /**< RML Interrupt */
2373         uint64_t twsi                         : 1;  /**< TWSI Interrupt */
2374         uint64_t reserved_44_44               : 1;
2375         uint64_t pci_msi                      : 4;  /**< PCI MSI */
2376         uint64_t pci_int                      : 4;  /**< PCI INTA/B/C/D */
2377         uint64_t uart                         : 2;  /**< Two UART interrupts */
2378         uint64_t mbox                         : 2;  /**< Two mailbox/PCI interrupts */
2379         uint64_t gpio                         : 16; /**< 16 GPIO interrupts */
2380         uint64_t workq                        : 16; /**< 16 work queue interrupts */
2381 #else
2382         uint64_t workq                        : 16;
2383         uint64_t gpio                         : 16;
2384         uint64_t mbox                         : 2;
2385         uint64_t uart                         : 2;
2386         uint64_t pci_int                      : 4;
2387         uint64_t pci_msi                      : 4;
2388         uint64_t reserved_44_44               : 1;
2389         uint64_t twsi                         : 1;
2390         uint64_t rml                          : 1;
2391         uint64_t reserved_47_47               : 1;
2392         uint64_t gmx_drp                      : 1;
2393         uint64_t reserved_49_49               : 1;
2394         uint64_t ipd_drp                      : 1;
2395         uint64_t reserved_51_51               : 1;
2396         uint64_t timer                        : 4;
2397         uint64_t usb                          : 1;
2398         uint64_t pcm                          : 1;
2399         uint64_t mpi                          : 1;
2400         uint64_t reserved_59_63               : 5;
2401 #endif
2402         } cn30xx;
2403         struct cvmx_ciu_intx_en0_cn31xx {
2404 #ifdef __BIG_ENDIAN_BITFIELD
2405         uint64_t reserved_59_63               : 5;
2406         uint64_t mpi                          : 1;  /**< MPI/SPI interrupt */
2407         uint64_t pcm                          : 1;  /**< PCM/TDM interrupt */
2408         uint64_t usb                          : 1;  /**< USB interrupt */
2409         uint64_t timer                        : 4;  /**< General timer interrupts */
2410         uint64_t reserved_51_51               : 1;
2411         uint64_t ipd_drp                      : 1;  /**< IPD QOS packet drop */
2412         uint64_t reserved_49_49               : 1;
2413         uint64_t gmx_drp                      : 1;  /**< GMX packet drop */
2414         uint64_t trace                        : 1;  /**< L2C has the CMB trace buffer */
2415         uint64_t rml                          : 1;  /**< RML Interrupt */
2416         uint64_t twsi                         : 1;  /**< TWSI Interrupt */
2417         uint64_t reserved_44_44               : 1;
2418         uint64_t pci_msi                      : 4;  /**< PCI MSI */
2419         uint64_t pci_int                      : 4;  /**< PCI INTA/B/C/D */
2420         uint64_t uart                         : 2;  /**< Two UART interrupts */
2421         uint64_t mbox                         : 2;  /**< Two mailbox/PCI interrupts */
2422         uint64_t gpio                         : 16; /**< 16 GPIO interrupts */
2423         uint64_t workq                        : 16; /**< 16 work queue interrupts */
2424 #else
2425         uint64_t workq                        : 16;
2426         uint64_t gpio                         : 16;
2427         uint64_t mbox                         : 2;
2428         uint64_t uart                         : 2;
2429         uint64_t pci_int                      : 4;
2430         uint64_t pci_msi                      : 4;
2431         uint64_t reserved_44_44               : 1;
2432         uint64_t twsi                         : 1;
2433         uint64_t rml                          : 1;
2434         uint64_t trace                        : 1;
2435         uint64_t gmx_drp                      : 1;
2436         uint64_t reserved_49_49               : 1;
2437         uint64_t ipd_drp                      : 1;
2438         uint64_t reserved_51_51               : 1;
2439         uint64_t timer                        : 4;
2440         uint64_t usb                          : 1;
2441         uint64_t pcm                          : 1;
2442         uint64_t mpi                          : 1;
2443         uint64_t reserved_59_63               : 5;
2444 #endif
2445         } cn31xx;
2446         struct cvmx_ciu_intx_en0_cn38xx {
2447 #ifdef __BIG_ENDIAN_BITFIELD
2448         uint64_t reserved_56_63               : 8;
2449         uint64_t timer                        : 4;  /**< General timer interrupts */
2450         uint64_t key_zero                     : 1;  /**< Key Zeroization interrupt */
2451         uint64_t ipd_drp                      : 1;  /**< IPD QOS packet drop */
2452         uint64_t gmx_drp                      : 2;  /**< GMX packet drop */
2453         uint64_t trace                        : 1;  /**< L2C has the CMB trace buffer */
2454         uint64_t rml                          : 1;  /**< RML Interrupt */
2455         uint64_t twsi                         : 1;  /**< TWSI Interrupt */
2456         uint64_t reserved_44_44               : 1;
2457         uint64_t pci_msi                      : 4;  /**< PCI MSI */
2458         uint64_t pci_int                      : 4;  /**< PCI INTA/B/C/D */
2459         uint64_t uart                         : 2;  /**< Two UART interrupts */
2460         uint64_t mbox                         : 2;  /**< Two mailbox/PCI interrupts */
2461         uint64_t gpio                         : 16; /**< 16 GPIO interrupts */
2462         uint64_t workq                        : 16; /**< 16 work queue interrupts */
2463 #else
2464         uint64_t workq                        : 16;
2465         uint64_t gpio                         : 16;
2466         uint64_t mbox                         : 2;
2467         uint64_t uart                         : 2;
2468         uint64_t pci_int                      : 4;
2469         uint64_t pci_msi                      : 4;
2470         uint64_t reserved_44_44               : 1;
2471         uint64_t twsi                         : 1;
2472         uint64_t rml                          : 1;
2473         uint64_t trace                        : 1;
2474         uint64_t gmx_drp                      : 2;
2475         uint64_t ipd_drp                      : 1;
2476         uint64_t key_zero                     : 1;
2477         uint64_t timer                        : 4;
2478         uint64_t reserved_56_63               : 8;
2479 #endif
2480         } cn38xx;
2481         struct cvmx_ciu_intx_en0_cn38xx       cn38xxp2;
2482         struct cvmx_ciu_intx_en0_cn30xx       cn50xx;
2483         struct cvmx_ciu_intx_en0_cn52xx {
2484 #ifdef __BIG_ENDIAN_BITFIELD
2485         uint64_t bootdma                      : 1;  /**< Boot bus DMA engines Interrupt */
2486         uint64_t mii                          : 1;  /**< MII Interface Interrupt */
2487         uint64_t ipdppthr                     : 1;  /**< IPD per-port counter threshold interrupt */
2488         uint64_t powiq                        : 1;  /**< POW IQ interrupt */
2489         uint64_t twsi2                        : 1;  /**< 2nd TWSI Interrupt */
2490         uint64_t reserved_57_58               : 2;
2491         uint64_t usb                          : 1;  /**< USB Interrupt */
2492         uint64_t timer                        : 4;  /**< General timer interrupts */
2493         uint64_t reserved_51_51               : 1;
2494         uint64_t ipd_drp                      : 1;  /**< IPD QOS packet drop */
2495         uint64_t reserved_49_49               : 1;
2496         uint64_t gmx_drp                      : 1;  /**< GMX packet drop */
2497         uint64_t trace                        : 1;  /**< L2C has the CMB trace buffer */
2498         uint64_t rml                          : 1;  /**< RML Interrupt */
2499         uint64_t twsi                         : 1;  /**< TWSI Interrupt */
2500         uint64_t reserved_44_44               : 1;
2501         uint64_t pci_msi                      : 4;  /**< PCI MSI */
2502         uint64_t pci_int                      : 4;  /**< PCI INTA/B/C/D */
2503         uint64_t uart                         : 2;  /**< Two UART interrupts */
2504         uint64_t mbox                         : 2;  /**< Two mailbox/PCI interrupts */
2505         uint64_t gpio                         : 16; /**< 16 GPIO interrupts */
2506         uint64_t workq                        : 16; /**< 16 work queue interrupts */
2507 #else
2508         uint64_t workq                        : 16;
2509         uint64_t gpio                         : 16;
2510         uint64_t mbox                         : 2;
2511         uint64_t uart                         : 2;
2512         uint64_t pci_int                      : 4;
2513         uint64_t pci_msi                      : 4;
2514         uint64_t reserved_44_44               : 1;
2515         uint64_t twsi                         : 1;
2516         uint64_t rml                          : 1;
2517         uint64_t trace                        : 1;
2518         uint64_t gmx_drp                      : 1;
2519         uint64_t reserved_49_49               : 1;
2520         uint64_t ipd_drp                      : 1;
2521         uint64_t reserved_51_51               : 1;
2522         uint64_t timer                        : 4;
2523         uint64_t usb                          : 1;
2524         uint64_t reserved_57_58               : 2;
2525         uint64_t twsi2                        : 1;
2526         uint64_t powiq                        : 1;
2527         uint64_t ipdppthr                     : 1;
2528         uint64_t mii                          : 1;
2529         uint64_t bootdma                      : 1;
2530 #endif
2531         } cn52xx;
2532         struct cvmx_ciu_intx_en0_cn52xx       cn52xxp1;
2533         struct cvmx_ciu_intx_en0_cn56xx {
2534 #ifdef __BIG_ENDIAN_BITFIELD
2535         uint64_t bootdma                      : 1;  /**< Boot bus DMA engines Interrupt */
2536         uint64_t mii                          : 1;  /**< MII Interface Interrupt */
2537         uint64_t ipdppthr                     : 1;  /**< IPD per-port counter threshold interrupt */
2538         uint64_t powiq                        : 1;  /**< POW IQ interrupt */
2539         uint64_t twsi2                        : 1;  /**< 2nd TWSI Interrupt */
2540         uint64_t reserved_57_58               : 2;
2541         uint64_t usb                          : 1;  /**< USB Interrupt */
2542         uint64_t timer                        : 4;  /**< General timer interrupts */
2543         uint64_t key_zero                     : 1;  /**< Key Zeroization interrupt */
2544         uint64_t ipd_drp                      : 1;  /**< IPD QOS packet drop */
2545         uint64_t gmx_drp                      : 2;  /**< GMX packet drop */
2546         uint64_t trace                        : 1;  /**< L2C has the CMB trace buffer */
2547         uint64_t rml                          : 1;  /**< RML Interrupt */
2548         uint64_t twsi                         : 1;  /**< TWSI Interrupt */
2549         uint64_t reserved_44_44               : 1;
2550         uint64_t pci_msi                      : 4;  /**< PCI MSI */
2551         uint64_t pci_int                      : 4;  /**< PCI INTA/B/C/D */
2552         uint64_t uart                         : 2;  /**< Two UART interrupts */
2553         uint64_t mbox                         : 2;  /**< Two mailbox/PCI interrupts */
2554         uint64_t gpio                         : 16; /**< 16 GPIO interrupts */
2555         uint64_t workq                        : 16; /**< 16 work queue interrupts */
2556 #else
2557         uint64_t workq                        : 16;
2558         uint64_t gpio                         : 16;
2559         uint64_t mbox                         : 2;
2560         uint64_t uart                         : 2;
2561         uint64_t pci_int                      : 4;
2562         uint64_t pci_msi                      : 4;
2563         uint64_t reserved_44_44               : 1;
2564         uint64_t twsi                         : 1;
2565         uint64_t rml                          : 1;
2566         uint64_t trace                        : 1;
2567         uint64_t gmx_drp                      : 2;
2568         uint64_t ipd_drp                      : 1;
2569         uint64_t key_zero                     : 1;
2570         uint64_t timer                        : 4;
2571         uint64_t usb                          : 1;
2572         uint64_t reserved_57_58               : 2;
2573         uint64_t twsi2                        : 1;
2574         uint64_t powiq                        : 1;
2575         uint64_t ipdppthr                     : 1;
2576         uint64_t mii                          : 1;
2577         uint64_t bootdma                      : 1;
2578 #endif
2579         } cn56xx;
2580         struct cvmx_ciu_intx_en0_cn56xx       cn56xxp1;
2581         struct cvmx_ciu_intx_en0_cn38xx       cn58xx;
2582         struct cvmx_ciu_intx_en0_cn38xx       cn58xxp1;
2583         struct cvmx_ciu_intx_en0_cn61xx {
2584 #ifdef __BIG_ENDIAN_BITFIELD
2585         uint64_t bootdma                      : 1;  /**< Boot bus DMA engines Interrupt enable */
2586         uint64_t mii                          : 1;  /**< RGMII/MIX Interface 0 Interrupt enable */
2587         uint64_t ipdppthr                     : 1;  /**< IPD per-port counter threshold interrupt enable */
2588         uint64_t powiq                        : 1;  /**< POW IQ interrupt enable */
2589         uint64_t twsi2                        : 1;  /**< 2nd TWSI Interrupt enable */
2590         uint64_t mpi                          : 1;  /**< MPI/SPI interrupt enable */
2591         uint64_t pcm                          : 1;  /**< PCM/TDM interrupt enable */
2592         uint64_t usb                          : 1;  /**< USB EHCI or OHCI Interrupt enable */
2593         uint64_t timer                        : 4;  /**< General timer interrupt enables */
2594         uint64_t reserved_51_51               : 1;
2595         uint64_t ipd_drp                      : 1;  /**< IPD QOS packet drop interrupt enable */
2596         uint64_t gmx_drp                      : 2;  /**< GMX packet drop interrupt enable */
2597         uint64_t trace                        : 1;  /**< Trace buffer interrupt enable */
2598         uint64_t rml                          : 1;  /**< RML Interrupt enable */
2599         uint64_t twsi                         : 1;  /**< TWSI Interrupt enable */
2600         uint64_t reserved_44_44               : 1;
2601         uint64_t pci_msi                      : 4;  /**< PCIe MSI enables */
2602         uint64_t pci_int                      : 4;  /**< PCIe INTA/B/C/D enables */
2603         uint64_t uart                         : 2;  /**< Two UART interrupt enables */
2604         uint64_t mbox                         : 2;  /**< Two mailbox/PCIe interrupt enables */
2605         uint64_t gpio                         : 16; /**< 16 GPIO interrupt enables */
2606         uint64_t workq                        : 16; /**< 16 work queue interrupt enables */
2607 #else
2608         uint64_t workq                        : 16;
2609         uint64_t gpio                         : 16;
2610         uint64_t mbox                         : 2;
2611         uint64_t uart                         : 2;
2612         uint64_t pci_int                      : 4;
2613         uint64_t pci_msi                      : 4;
2614         uint64_t reserved_44_44               : 1;
2615         uint64_t twsi                         : 1;
2616         uint64_t rml                          : 1;
2617         uint64_t trace                        : 1;
2618         uint64_t gmx_drp                      : 2;
2619         uint64_t ipd_drp                      : 1;
2620         uint64_t reserved_51_51               : 1;
2621         uint64_t timer                        : 4;
2622         uint64_t usb                          : 1;
2623         uint64_t pcm                          : 1;
2624         uint64_t mpi                          : 1;
2625         uint64_t twsi2                        : 1;
2626         uint64_t powiq                        : 1;
2627         uint64_t ipdppthr                     : 1;
2628         uint64_t mii                          : 1;
2629         uint64_t bootdma                      : 1;
2630 #endif
2631         } cn61xx;
2632         struct cvmx_ciu_intx_en0_cn52xx       cn63xx;
2633         struct cvmx_ciu_intx_en0_cn52xx       cn63xxp1;
2634         struct cvmx_ciu_intx_en0_cn66xx {
2635 #ifdef __BIG_ENDIAN_BITFIELD
2636         uint64_t bootdma                      : 1;  /**< Boot bus DMA engines Interrupt enable */
2637         uint64_t mii                          : 1;  /**< RGMII/MII/MIX Interface 0 Interrupt enable */
2638         uint64_t ipdppthr                     : 1;  /**< IPD per-port counter threshold interrupt enable */
2639         uint64_t powiq                        : 1;  /**< POW IQ interrupt enable */
2640         uint64_t twsi2                        : 1;  /**< 2nd TWSI Interrupt enable */
2641         uint64_t mpi                          : 1;  /**< MPI/SPI interrupt enable */
2642         uint64_t reserved_57_57               : 1;
2643         uint64_t usb                          : 1;  /**< USB EHCI or OHCI Interrupt enable */
2644         uint64_t timer                        : 4;  /**< General timer interrupt enables */
2645         uint64_t reserved_51_51               : 1;
2646         uint64_t ipd_drp                      : 1;  /**< IPD QOS packet drop interrupt enable */
2647         uint64_t gmx_drp                      : 2;  /**< GMX packet drop interrupt enable */
2648         uint64_t trace                        : 1;  /**< Trace buffer interrupt enable */
2649         uint64_t rml                          : 1;  /**< RML Interrupt enable */
2650         uint64_t twsi                         : 1;  /**< TWSI Interrupt enable */
2651         uint64_t reserved_44_44               : 1;
2652         uint64_t pci_msi                      : 4;  /**< PCIe/sRIO MSI enables */
2653         uint64_t pci_int                      : 4;  /**< PCIe INTA/B/C/D enables */
2654         uint64_t uart                         : 2;  /**< Two UART interrupt enables */
2655         uint64_t mbox                         : 2;  /**< Two mailbox/PCIe/sRIO interrupt enables */
2656         uint64_t gpio                         : 16; /**< 16 GPIO interrupt enables */
2657         uint64_t workq                        : 16; /**< 16 work queue interrupt enables */
2658 #else
2659         uint64_t workq                        : 16;
2660         uint64_t gpio                         : 16;
2661         uint64_t mbox                         : 2;
2662         uint64_t uart                         : 2;
2663         uint64_t pci_int                      : 4;
2664         uint64_t pci_msi                      : 4;
2665         uint64_t reserved_44_44               : 1;
2666         uint64_t twsi                         : 1;
2667         uint64_t rml                          : 1;
2668         uint64_t trace                        : 1;
2669         uint64_t gmx_drp                      : 2;
2670         uint64_t ipd_drp                      : 1;
2671         uint64_t reserved_51_51               : 1;
2672         uint64_t timer                        : 4;
2673         uint64_t usb                          : 1;
2674         uint64_t reserved_57_57               : 1;
2675         uint64_t mpi                          : 1;
2676         uint64_t twsi2                        : 1;
2677         uint64_t powiq                        : 1;
2678         uint64_t ipdppthr                     : 1;
2679         uint64_t mii                          : 1;
2680         uint64_t bootdma                      : 1;
2681 #endif
2682         } cn66xx;
2683         struct cvmx_ciu_intx_en0_cnf71xx {
2684 #ifdef __BIG_ENDIAN_BITFIELD
2685         uint64_t bootdma                      : 1;  /**< Boot bus DMA engines Interrupt enable */
2686         uint64_t reserved_62_62               : 1;
2687         uint64_t ipdppthr                     : 1;  /**< IPD per-port counter threshold interrupt enable */
2688         uint64_t powiq                        : 1;  /**< POW IQ interrupt enable */
2689         uint64_t twsi2                        : 1;  /**< 2nd TWSI Interrupt enable */
2690         uint64_t mpi                          : 1;  /**< MPI/SPI interrupt enable */
2691         uint64_t pcm                          : 1;  /**< PCM/TDM interrupt enable */
2692         uint64_t usb                          : 1;  /**< USB EHCI or OHCI Interrupt enable */
2693         uint64_t timer                        : 4;  /**< General timer interrupt enables */
2694         uint64_t reserved_51_51               : 1;
2695         uint64_t ipd_drp                      : 1;  /**< IPD QOS packet drop interrupt enable */
2696         uint64_t reserved_49_49               : 1;
2697         uint64_t gmx_drp                      : 1;  /**< GMX packet drop interrupt enable */
2698         uint64_t trace                        : 1;  /**< Trace buffer interrupt enable */
2699         uint64_t rml                          : 1;  /**< RML Interrupt enable */
2700         uint64_t twsi                         : 1;  /**< TWSI Interrupt enable */
2701         uint64_t reserved_44_44               : 1;
2702         uint64_t pci_msi                      : 4;  /**< PCIe MSI enables */
2703         uint64_t pci_int                      : 4;  /**< PCIe INTA/B/C/D enables */
2704         uint64_t uart                         : 2;  /**< Two UART interrupt enables */
2705         uint64_t mbox                         : 2;  /**< Two mailbox/PCIe interrupt enables */
2706         uint64_t gpio                         : 16; /**< 16 GPIO interrupt enables */
2707         uint64_t workq                        : 16; /**< 16 work queue interrupt enables */
2708 #else
2709         uint64_t workq                        : 16;
2710         uint64_t gpio                         : 16;
2711         uint64_t mbox                         : 2;
2712         uint64_t uart                         : 2;
2713         uint64_t pci_int                      : 4;
2714         uint64_t pci_msi                      : 4;
2715         uint64_t reserved_44_44               : 1;
2716         uint64_t twsi                         : 1;
2717         uint64_t rml                          : 1;
2718         uint64_t trace                        : 1;
2719         uint64_t gmx_drp                      : 1;
2720         uint64_t reserved_49_49               : 1;
2721         uint64_t ipd_drp                      : 1;
2722         uint64_t reserved_51_51               : 1;
2723         uint64_t timer                        : 4;
2724         uint64_t usb                          : 1;
2725         uint64_t pcm                          : 1;
2726         uint64_t mpi                          : 1;
2727         uint64_t twsi2                        : 1;
2728         uint64_t powiq                        : 1;
2729         uint64_t ipdppthr                     : 1;
2730         uint64_t reserved_62_62               : 1;
2731         uint64_t bootdma                      : 1;
2732 #endif
2733         } cnf71xx;
2734 };
2735 typedef union cvmx_ciu_intx_en0 cvmx_ciu_intx_en0_t;
2736
2737 /**
2738  * cvmx_ciu_int#_en0_w1c
2739  *
2740  * Notes:
2741  * Write-1-to-clear version of the CIU_INTx_EN0 register, read back corresponding CIU_INTx_EN0 value.
2742  *
2743  */
2744 union cvmx_ciu_intx_en0_w1c {
2745         uint64_t u64;
2746         struct cvmx_ciu_intx_en0_w1c_s {
2747 #ifdef __BIG_ENDIAN_BITFIELD
2748         uint64_t bootdma                      : 1;  /**< Write 1 to clear Boot bus DMA engines Interrupt
2749                                                          enable */
2750         uint64_t mii                          : 1;  /**< Write 1 to clr RGMII/MII/MIX Interface 0 Interrupt
2751                                                          enable */
2752         uint64_t ipdppthr                     : 1;  /**< Write 1 to clear IPD per-port counter threshold
2753                                                          interrupt enable */
2754         uint64_t powiq                        : 1;  /**< Write 1 to clear POW IQ interrupt enable */
2755         uint64_t twsi2                        : 1;  /**< Write 1 to clear 2nd TWSI Interrupt enable */
2756         uint64_t mpi                          : 1;  /**< Write 1 to clear MPI/SPI interrupt enable */
2757         uint64_t pcm                          : 1;  /**< Write 1 to clear PCM/TDM interrupt enable */
2758         uint64_t usb                          : 1;  /**< Write 1 to clear USB EHCI or OHCI Interrupt enable */
2759         uint64_t timer                        : 4;  /**< Write 1 to clear General timer interrupt enables */
2760         uint64_t key_zero                     : 1;  /**< Key Zeroization interrupt */
2761         uint64_t ipd_drp                      : 1;  /**< Write 1 to clear IPD QOS packet drop interrupt
2762                                                          enable */
2763         uint64_t gmx_drp                      : 2;  /**< Write 1 to clear GMX packet drop interrupt enable */
2764         uint64_t trace                        : 1;  /**< Write 1 to clear Trace buffer interrupt enable */
2765         uint64_t rml                          : 1;  /**< Write 1 to clear RML Interrupt enable */
2766         uint64_t twsi                         : 1;  /**< Write 1 to clear TWSI Interrupt enable */
2767         uint64_t reserved_44_44               : 1;
2768         uint64_t pci_msi                      : 4;  /**< Write 1s to clear PCIe MSI enables */
2769         uint64_t pci_int                      : 4;  /**< Write 1s to clear PCIe INTA/B/C/D enables */
2770         uint64_t uart                         : 2;  /**< Write 1s to clear UART interrupt enables */
2771         uint64_t mbox                         : 2;  /**< Write 1s to clear mailbox/PCIe interrupt
2772                                                          enables */
2773         uint64_t gpio                         : 16; /**< Write 1s to clear GPIO interrupt enables */
2774         uint64_t workq                        : 16; /**< Write 1s to clear work queue interrupt enables */
2775 #else
2776         uint64_t workq                        : 16;
2777         uint64_t gpio                         : 16;
2778         uint64_t mbox                         : 2;
2779         uint64_t uart                         : 2;
2780         uint64_t pci_int                      : 4;
2781         uint64_t pci_msi                      : 4;
2782         uint64_t reserved_44_44               : 1;
2783         uint64_t twsi                         : 1;
2784         uint64_t rml                          : 1;
2785         uint64_t trace                        : 1;
2786         uint64_t gmx_drp                      : 2;
2787         uint64_t ipd_drp                      : 1;
2788         uint64_t key_zero                     : 1;
2789         uint64_t timer                        : 4;
2790         uint64_t usb                          : 1;
2791         uint64_t pcm                          : 1;
2792         uint64_t mpi                          : 1;
2793         uint64_t twsi2                        : 1;
2794         uint64_t powiq                        : 1;
2795         uint64_t ipdppthr                     : 1;
2796         uint64_t mii                          : 1;
2797         uint64_t bootdma                      : 1;
2798 #endif
2799         } s;
2800         struct cvmx_ciu_intx_en0_w1c_cn52xx {
2801 #ifdef __BIG_ENDIAN_BITFIELD
2802         uint64_t bootdma                      : 1;  /**< Boot bus DMA engines Interrupt */
2803         uint64_t mii                          : 1;  /**< MII Interface Interrupt */
2804         uint64_t ipdppthr                     : 1;  /**< IPD per-port counter threshold interrupt */
2805         uint64_t powiq                        : 1;  /**< POW IQ interrupt */
2806         uint64_t twsi2                        : 1;  /**< 2nd TWSI Interrupt */
2807         uint64_t reserved_57_58               : 2;
2808         uint64_t usb                          : 1;  /**< USB Interrupt */
2809         uint64_t timer                        : 4;  /**< General timer interrupts */
2810         uint64_t reserved_51_51               : 1;
2811         uint64_t ipd_drp                      : 1;  /**< IPD QOS packet drop */
2812         uint64_t reserved_49_49               : 1;
2813         uint64_t gmx_drp                      : 1;  /**< GMX packet drop */
2814         uint64_t trace                        : 1;  /**< L2C has the CMB trace buffer */
2815         uint64_t rml                          : 1;  /**< RML Interrupt */
2816         uint64_t twsi                         : 1;  /**< TWSI Interrupt */
2817         uint64_t reserved_44_44               : 1;
2818         uint64_t pci_msi                      : 4;  /**< PCI MSI */
2819         uint64_t pci_int                      : 4;  /**< PCI INTA/B/C/D */
2820         uint64_t uart                         : 2;  /**< Two UART interrupts */
2821         uint64_t mbox                         : 2;  /**< Two mailbox/PCI interrupts */
2822         uint64_t gpio                         : 16; /**< 16 GPIO interrupts */
2823         uint64_t workq                        : 16; /**< 16 work queue interrupts */
2824 #else
2825         uint64_t workq                        : 16;
2826         uint64_t gpio                         : 16;
2827         uint64_t mbox                         : 2;
2828         uint64_t uart                         : 2;
2829         uint64_t pci_int                      : 4;
2830         uint64_t pci_msi                      : 4;
2831         uint64_t reserved_44_44               : 1;
2832         uint64_t twsi                         : 1;
2833         uint64_t rml                          : 1;
2834         uint64_t trace                        : 1;
2835         uint64_t gmx_drp                      : 1;
2836         uint64_t reserved_49_49               : 1;
2837         uint64_t ipd_drp                      : 1;
2838         uint64_t reserved_51_51               : 1;
2839         uint64_t timer                        : 4;
2840         uint64_t usb                          : 1;
2841         uint64_t reserved_57_58               : 2;
2842         uint64_t twsi2                        : 1;
2843         uint64_t powiq                        : 1;
2844         uint64_t ipdppthr                     : 1;
2845         uint64_t mii                          : 1;
2846         uint64_t bootdma                      : 1;
2847 #endif
2848         } cn52xx;
2849         struct cvmx_ciu_intx_en0_w1c_cn56xx {
2850 #ifdef __BIG_ENDIAN_BITFIELD
2851         uint64_t bootdma                      : 1;  /**< Boot bus DMA engines Interrupt */
2852         uint64_t mii                          : 1;  /**< MII Interface Interrupt */
2853         uint64_t ipdppthr                     : 1;  /**< IPD per-port counter threshold interrupt */
2854         uint64_t powiq                        : 1;  /**< POW IQ interrupt */
2855         uint64_t twsi2                        : 1;  /**< 2nd TWSI Interrupt */
2856         uint64_t reserved_57_58               : 2;
2857         uint64_t usb                          : 1;  /**< USB Interrupt */
2858         uint64_t timer                        : 4;  /**< General timer interrupts */
2859         uint64_t key_zero                     : 1;  /**< Key Zeroization interrupt */
2860         uint64_t ipd_drp                      : 1;  /**< IPD QOS packet drop */
2861         uint64_t gmx_drp                      : 2;  /**< GMX packet drop */
2862         uint64_t trace                        : 1;  /**< L2C has the CMB trace buffer */
2863         uint64_t rml                          : 1;  /**< RML Interrupt */
2864         uint64_t twsi                         : 1;  /**< TWSI Interrupt */
2865         uint64_t reserved_44_44               : 1;
2866         uint64_t pci_msi                      : 4;  /**< PCI MSI */
2867         uint64_t pci_int                      : 4;  /**< PCI INTA/B/C/D */
2868         uint64_t uart                         : 2;  /**< Two UART interrupts */
2869         uint64_t mbox                         : 2;  /**< Two mailbox/PCI interrupts */
2870         uint64_t gpio                         : 16; /**< 16 GPIO interrupts */
2871         uint64_t workq                        : 16; /**< 16 work queue interrupts */
2872 #else
2873         uint64_t workq                        : 16;
2874         uint64_t gpio                         : 16;
2875         uint64_t mbox                         : 2;
2876         uint64_t uart                         : 2;
2877         uint64_t pci_int                      : 4;
2878         uint64_t pci_msi                      : 4;
2879         uint64_t reserved_44_44               : 1;
2880         uint64_t twsi                         : 1;
2881         uint64_t rml                          : 1;
2882         uint64_t trace                        : 1;
2883         uint64_t gmx_drp                      : 2;
2884         uint64_t ipd_drp                      : 1;
2885         uint64_t key_zero                     : 1;
2886         uint64_t timer                        : 4;
2887         uint64_t usb                          : 1;
2888         uint64_t reserved_57_58               : 2;
2889         uint64_t twsi2                        : 1;
2890         uint64_t powiq                        : 1;
2891         uint64_t ipdppthr                     : 1;
2892         uint64_t mii                          : 1;
2893         uint64_t bootdma                      : 1;
2894 #endif
2895         } cn56xx;
2896         struct cvmx_ciu_intx_en0_w1c_cn58xx {
2897 #ifdef __BIG_ENDIAN_BITFIELD
2898         uint64_t reserved_56_63               : 8;
2899         uint64_t timer                        : 4;  /**< General timer interrupts */
2900         uint64_t key_zero                     : 1;  /**< Key Zeroization interrupt */
2901         uint64_t ipd_drp                      : 1;  /**< IPD QOS packet drop */
2902         uint64_t gmx_drp                      : 2;  /**< GMX packet drop */
2903         uint64_t trace                        : 1;  /**< L2C has the CMB trace buffer */
2904         uint64_t rml                          : 1;  /**< RML Interrupt */
2905         uint64_t twsi                         : 1;  /**< TWSI Interrupt */
2906         uint64_t reserved_44_44               : 1;
2907         uint64_t pci_msi                      : 4;  /**< PCI MSI */
2908         uint64_t pci_int                      : 4;  /**< PCI INTA/B/C/D */
2909         uint64_t uart                         : 2;  /**< Two UART interrupts */
2910         uint64_t mbox                         : 2;  /**< Two mailbox/PCI interrupts */
2911         uint64_t gpio                         : 16; /**< 16 GPIO interrupts */
2912         uint64_t workq                        : 16; /**< 16 work queue interrupts */
2913 #else
2914         uint64_t workq                        : 16;
2915         uint64_t gpio                         : 16;
2916         uint64_t mbox                         : 2;
2917         uint64_t uart                         : 2;
2918         uint64_t pci_int                      : 4;
2919         uint64_t pci_msi                      : 4;
2920         uint64_t reserved_44_44               : 1;
2921         uint64_t twsi                         : 1;
2922         uint64_t rml                          : 1;
2923         uint64_t trace                        : 1;
2924         uint64_t gmx_drp                      : 2;
2925         uint64_t ipd_drp                      : 1;
2926         uint64_t key_zero                     : 1;
2927         uint64_t timer                        : 4;
2928         uint64_t reserved_56_63               : 8;
2929 #endif
2930         } cn58xx;
2931         struct cvmx_ciu_intx_en0_w1c_cn61xx {
2932 #ifdef __BIG_ENDIAN_BITFIELD
2933         uint64_t bootdma                      : 1;  /**< Write 1 to clear Boot bus DMA engines Interrupt
2934                                                          enable */
2935         uint64_t mii                          : 1;  /**< Write 1 to clr RGMII/MIX Interface 0 Interrupt
2936                                                          enable */
2937         uint64_t ipdppthr                     : 1;  /**< Write 1 to clear IPD per-port counter threshold
2938                                                          interrupt enable */
2939         uint64_t powiq                        : 1;  /**< Write 1 to clear POW IQ interrupt enable */
2940         uint64_t twsi2                        : 1;  /**< Write 1 to clear 2nd TWSI Interrupt enable */
2941         uint64_t mpi                          : 1;  /**< Write 1 to clear MPI/SPI interrupt enable */
2942         uint64_t pcm                          : 1;  /**< Write 1 to clear PCM/TDM interrupt enable */
2943         uint64_t usb                          : 1;  /**< Write 1 to clear USB EHCI or OHCI Interrupt enable */
2944         uint64_t timer                        : 4;  /**< Write 1 to clear General timer interrupt enables */
2945         uint64_t reserved_51_51               : 1;
2946         uint64_t ipd_drp                      : 1;  /**< Write 1 to clear IPD QOS packet drop interrupt
2947                                                          enable */
2948         uint64_t gmx_drp                      : 2;  /**< Write 1 to clear GMX packet drop interrupt enable */
2949         uint64_t trace                        : 1;  /**< Write 1 to clear Trace buffer interrupt enable */
2950         uint64_t rml                          : 1;  /**< Write 1 to clear RML Interrupt enable */
2951         uint64_t twsi                         : 1;  /**< Write 1 to clear TWSI Interrupt enable */
2952         uint64_t reserved_44_44               : 1;
2953         uint64_t pci_msi                      : 4;  /**< Write 1s to clear PCIe MSI enables */
2954         uint64_t pci_int                      : 4;  /**< Write 1s to clear PCIe INTA/B/C/D enables */
2955         uint64_t uart                         : 2;  /**< Write 1s to clear UART interrupt enables */
2956         uint64_t mbox                         : 2;  /**< Write 1s to clear mailbox/PCIe interrupt
2957                                                          enables */
2958         uint64_t gpio                         : 16; /**< Write 1s to clear GPIO interrupt enables */
2959         uint64_t workq                        : 16; /**< Write 1s to clear work queue interrupt enables */
2960 #else
2961         uint64_t workq                        : 16;
2962         uint64_t gpio                         : 16;
2963         uint64_t mbox                         : 2;
2964         uint64_t uart                         : 2;
2965         uint64_t pci_int                      : 4;
2966         uint64_t pci_msi                      : 4;
2967         uint64_t reserved_44_44               : 1;
2968         uint64_t twsi                         : 1;
2969         uint64_t rml                          : 1;
2970         uint64_t trace                        : 1;
2971         uint64_t gmx_drp                      : 2;
2972         uint64_t ipd_drp                      : 1;
2973         uint64_t reserved_51_51               : 1;
2974         uint64_t timer                        : 4;
2975         uint64_t usb                          : 1;
2976         uint64_t pcm                          : 1;
2977         uint64_t mpi                          : 1;
2978         uint64_t twsi2                        : 1;
2979         uint64_t powiq                        : 1;
2980         uint64_t ipdppthr                     : 1;
2981         uint64_t mii                          : 1;
2982         uint64_t bootdma                      : 1;
2983 #endif
2984         } cn61xx;
2985         struct cvmx_ciu_intx_en0_w1c_cn52xx   cn63xx;
2986         struct cvmx_ciu_intx_en0_w1c_cn52xx   cn63xxp1;
2987         struct cvmx_ciu_intx_en0_w1c_cn66xx {
2988 #ifdef __BIG_ENDIAN_BITFIELD
2989         uint64_t bootdma                      : 1;  /**< Write 1 to clear Boot bus DMA engines Interrupt
2990                                                          enable */
2991         uint64_t mii                          : 1;  /**< Write 1 to clr RGMII/MII/MIX Interface 0 Interrupt
2992                                                          enable */
2993         uint64_t ipdppthr                     : 1;  /**< Write 1 to clear IPD per-port counter threshold
2994                                                          interrupt enable */
2995         uint64_t powiq                        : 1;  /**< Write 1 to clear POW IQ interrupt */
2996         uint64_t twsi2                        : 1;  /**< Write 1 to clear 2nd TWSI Interrupt */
2997         uint64_t mpi                          : 1;  /**< Write 1 to clear MPI/SPI interrupt */
2998         uint64_t reserved_57_57               : 1;
2999         uint64_t usb                          : 1;  /**< Write 1 to clear USB EHCI or OHCI Interrupt */
3000         uint64_t timer                        : 4;  /**< Write 1 to clear General timer interrupts */
3001         uint64_t reserved_51_51               : 1;
3002         uint64_t ipd_drp                      : 1;  /**< Write 1 to clear IPD QOS packet drop interrupt
3003                                                          enable */
3004         uint64_t gmx_drp                      : 2;  /**< Write 1 to clear GMX packet drop interrupt enable */
3005         uint64_t trace                        : 1;  /**< Write 1 to clear Trace buffer interrupt enable */
3006         uint64_t rml                          : 1;  /**< Write 1 to clear RML Interrupt enable */
3007         uint64_t twsi                         : 1;  /**< Write 1 to clear TWSI Interrupt enable */
3008         uint64_t reserved_44_44               : 1;
3009         uint64_t pci_msi                      : 4;  /**< Write 1s to clear PCIe/sRIO MSI enables */
3010         uint64_t pci_int                      : 4;  /**< Write 1s to clear PCIe INTA/B/C/D enables */
3011         uint64_t uart                         : 2;  /**< Write 1s to clear UART interrupt enables */
3012         uint64_t mbox                         : 2;  /**< Write 1s to clear mailbox/PCIe/sRIO interrupt
3013                                                          enables */
3014         uint64_t gpio                         : 16; /**< Write 1s to clear GPIO interrupt enables */
3015         uint64_t workq                        : 16; /**< Write 1s to clear work queue interrupt enables */
3016 #else
3017         uint64_t workq                        : 16;
3018         uint64_t gpio                         : 16;
3019         uint64_t mbox                         : 2;
3020         uint64_t uart                         : 2;
3021         uint64_t pci_int                      : 4;
3022         uint64_t pci_msi                      : 4;
3023         uint64_t reserved_44_44               : 1;
3024         uint64_t twsi                         : 1;
3025         uint64_t rml                          : 1;
3026         uint64_t trace                        : 1;
3027         uint64_t gmx_drp                      : 2;
3028         uint64_t ipd_drp                      : 1;
3029         uint64_t reserved_51_51               : 1;
3030         uint64_t timer                        : 4;
3031         uint64_t usb                          : 1;
3032         uint64_t reserved_57_57               : 1;
3033         uint64_t mpi                          : 1;
3034         uint64_t twsi2                        : 1;
3035         uint64_t powiq                        : 1;
3036         uint64_t ipdppthr                     : 1;
3037         uint64_t mii                          : 1;
3038         uint64_t bootdma                      : 1;
3039 #endif
3040         } cn66xx;
3041         struct cvmx_ciu_intx_en0_w1c_cnf71xx {
3042 #ifdef __BIG_ENDIAN_BITFIELD
3043         uint64_t bootdma                      : 1;  /**< Write 1 to clear Boot bus DMA engines Interrupt
3044                                                          enable */
3045         uint64_t reserved_62_62               : 1;
3046         uint64_t ipdppthr                     : 1;  /**< Write 1 to clear IPD per-port counter threshold
3047                                                          interrupt enable */
3048         uint64_t powiq                        : 1;  /**< Write 1 to clear POW IQ interrupt enable */
3049         uint64_t twsi2                        : 1;  /**< Write 1 to clear 2nd TWSI Interrupt enable */
3050         uint64_t mpi                          : 1;  /**< Write 1 to clear MPI/SPI interrupt enable */
3051         uint64_t pcm                          : 1;  /**< Write 1 to clear PCM/TDM interrupt enable */
3052         uint64_t usb                          : 1;  /**< Write 1 to clear USB EHCI or OHCI Interrupt enable */
3053         uint64_t timer                        : 4;  /**< Write 1 to clear General timer interrupt enables */
3054         uint64_t reserved_51_51               : 1;
3055         uint64_t ipd_drp                      : 1;  /**< Write 1 to clear IPD QOS packet drop interrupt
3056                                                          enable */
3057         uint64_t reserved_49_49               : 1;
3058         uint64_t gmx_drp                      : 1;  /**< Write 1 to clear GMX packet drop interrupt enable */
3059         uint64_t trace                        : 1;  /**< Write 1 to clear Trace buffer interrupt enable */
3060         uint64_t rml                          : 1;  /**< Write 1 to clear RML Interrupt enable */
3061         uint64_t twsi                         : 1;  /**< Write 1 to clear TWSI Interrupt enable */
3062         uint64_t reserved_44_44               : 1;
3063         uint64_t pci_msi                      : 4;  /**< Write 1s to clear PCIe MSI enables */
3064         uint64_t pci_int                      : 4;  /**< Write 1s to clear PCIe INTA/B/C/D enables */
3065         uint64_t uart                         : 2;  /**< Write 1s to clear UART interrupt enables */
3066         uint64_t mbox                         : 2;  /**< Write 1s to clear mailbox/PCIe interrupt
3067                                                          enables */
3068         uint64_t gpio                         : 16; /**< Write 1s to clear GPIO interrupt enables */
3069         uint64_t workq                        : 16; /**< Write 1s to clear work queue interrupt enables */
3070 #else
3071         uint64_t workq                        : 16;
3072         uint64_t gpio                         : 16;
3073         uint64_t mbox                         : 2;
3074         uint64_t uart                         : 2;
3075         uint64_t pci_int                      : 4;
3076         uint64_t pci_msi                      : 4;
3077         uint64_t reserved_44_44               : 1;
3078         uint64_t twsi                         : 1;
3079         uint64_t rml                          : 1;
3080         uint64_t trace                        : 1;
3081         uint64_t gmx_drp                      : 1;
3082         uint64_t reserved_49_49               : 1;
3083         uint64_t ipd_drp                      : 1;
3084         uint64_t reserved_51_51               : 1;
3085         uint64_t timer                        : 4;
3086         uint64_t usb                          : 1;
3087         uint64_t pcm                          : 1;
3088         uint64_t mpi                          : 1;
3089         uint64_t twsi2                        : 1;
3090         uint64_t powiq                        : 1;
3091         uint64_t ipdppthr                     : 1;
3092         uint64_t reserved_62_62               : 1;
3093         uint64_t bootdma                      : 1;
3094 #endif
3095         } cnf71xx;
3096 };
3097 typedef union cvmx_ciu_intx_en0_w1c cvmx_ciu_intx_en0_w1c_t;
3098
3099 /**
3100  * cvmx_ciu_int#_en0_w1s
3101  *
3102  * Notes:
3103  * Write-1-to-set version of the CIU_INTx_EN0 register, read back corresponding CIU_INTx_EN0 value.
3104  *
3105  */
3106 union cvmx_ciu_intx_en0_w1s {
3107         uint64_t u64;
3108         struct cvmx_ciu_intx_en0_w1s_s {
3109 #ifdef __BIG_ENDIAN_BITFIELD
3110         uint64_t bootdma                      : 1;  /**< Write 1 to set Boot bus DMA engines Interrupt
3111                                                          enable */
3112         uint64_t mii                          : 1;  /**< Write 1 to set RGMII/MII/MIX Interface 0 Interrupt
3113                                                          enable */
3114         uint64_t ipdppthr                     : 1;  /**< Write 1 to set IPD per-port counter threshold
3115                                                          interrupt enable */
3116         uint64_t powiq                        : 1;  /**< Write 1 to set POW IQ interrupt enable */
3117         uint64_t twsi2                        : 1;  /**< Write 1 to set 2nd TWSI Interrupt enable */
3118         uint64_t mpi                          : 1;  /**< Write 1 to set MPI/SPI interrupt enable */
3119         uint64_t pcm                          : 1;  /**< Write 1 to set PCM/TDM interrupt enable */
3120         uint64_t usb                          : 1;  /**< Write 1 to set USB EHCI or OHCI Interrupt enable */
3121         uint64_t timer                        : 4;  /**< Write 1 to set General timer interrupt enables */
3122         uint64_t key_zero                     : 1;  /**< Key Zeroization interrupt */
3123         uint64_t ipd_drp                      : 1;  /**< Write 1 to set IPD QOS packet drop interrupt
3124                                                          enable */
3125         uint64_t gmx_drp                      : 2;  /**< Write 1 to set GMX packet drop interrupt enable */
3126         uint64_t trace                        : 1;  /**< Write 1 to set Trace buffer interrupt enable */
3127         uint64_t rml                          : 1;  /**< Write 1 to set RML Interrupt enable */
3128         uint64_t twsi                         : 1;  /**< Write 1 to set TWSI Interrupt enable */
3129         uint64_t reserved_44_44               : 1;
3130         uint64_t pci_msi                      : 4;  /**< Write 1s to set PCIe MSI enables */
3131         uint64_t pci_int                      : 4;  /**< Write 1s to set PCIe INTA/B/C/D enables */
3132         uint64_t uart                         : 2;  /**< Write 1s to set UART interrupt enables */
3133         uint64_t mbox                         : 2;  /**< Write 1s to set mailbox/PCIe interrupt
3134                                                          enables */
3135         uint64_t gpio                         : 16; /**< Write 1s to set GPIO interrupt enables */
3136         uint64_t workq                        : 16; /**< Write 1s to set work queue interrupt enables */
3137 #else
3138         uint64_t workq                        : 16;
3139         uint64_t gpio                         : 16;
3140         uint64_t mbox                         : 2;
3141         uint64_t uart                         : 2;
3142         uint64_t pci_int                      : 4;
3143         uint64_t pci_msi                      : 4;
3144         uint64_t reserved_44_44               : 1;
3145         uint64_t twsi                         : 1;
3146         uint64_t rml                          : 1;
3147         uint64_t trace                        : 1;
3148         uint64_t gmx_drp                      : 2;
3149         uint64_t ipd_drp                      : 1;
3150         uint64_t key_zero                     : 1;
3151         uint64_t timer                        : 4;
3152         uint64_t usb                          : 1;
3153         uint64_t pcm                          : 1;
3154         uint64_t mpi                          : 1;
3155         uint64_t twsi2                        : 1;
3156         uint64_t powiq                        : 1;
3157         uint64_t ipdppthr                     : 1;
3158         uint64_t mii                          : 1;
3159         uint64_t bootdma                      : 1;
3160 #endif
3161         } s;
3162         struct cvmx_ciu_intx_en0_w1s_cn52xx {
3163 #ifdef __BIG_ENDIAN_BITFIELD
3164         uint64_t bootdma                      : 1;  /**< Boot bus DMA engines Interrupt */
3165         uint64_t mii                          : 1;  /**< MII Interface Interrupt */
3166         uint64_t ipdppthr                     : 1;  /**< IPD per-port counter threshold interrupt */
3167         uint64_t powiq                        : 1;  /**< POW IQ interrupt */
3168         uint64_t twsi2                        : 1;  /**< 2nd TWSI Interrupt */
3169         uint64_t reserved_57_58               : 2;
3170         uint64_t usb                          : 1;  /**< USB Interrupt */
3171         uint64_t timer                        : 4;  /**< General timer interrupts */
3172         uint64_t reserved_51_51               : 1;
3173         uint64_t ipd_drp                      : 1;  /**< IPD QOS packet drop */
3174         uint64_t reserved_49_49               : 1;
3175         uint64_t gmx_drp                      : 1;  /**< GMX packet drop */
3176         uint64_t trace                        : 1;  /**< L2C has the CMB trace buffer */
3177         uint64_t rml                          : 1;  /**< RML Interrupt */
3178         uint64_t twsi                         : 1;  /**< TWSI Interrupt */
3179         uint64_t reserved_44_44               : 1;
3180         uint64_t pci_msi                      : 4;  /**< PCI MSI */
3181         uint64_t pci_int                      : 4;  /**< PCI INTA/B/C/D */
3182         uint64_t uart                         : 2;  /**< Two UART interrupts */
3183         uint64_t mbox                         : 2;  /**< Two mailbox/PCI interrupts */
3184         uint64_t gpio                         : 16; /**< 16 GPIO interrupts */
3185         uint64_t workq                        : 16; /**< 16 work queue interrupts */
3186 #else
3187         uint64_t workq                        : 16;
3188         uint64_t gpio                         : 16;
3189         uint64_t mbox                         : 2;
3190         uint64_t uart                         : 2;
3191         uint64_t pci_int                      : 4;
3192         uint64_t pci_msi                      : 4;
3193         uint64_t reserved_44_44               : 1;
3194         uint64_t twsi                         : 1;
3195         uint64_t rml                          : 1;
3196         uint64_t trace                        : 1;
3197         uint64_t gmx_drp                      : 1;
3198         uint64_t reserved_49_49               : 1;
3199         uint64_t ipd_drp                      : 1;
3200         uint64_t reserved_51_51               : 1;
3201         uint64_t timer                        : 4;
3202         uint64_t usb                          : 1;
3203         uint64_t reserved_57_58               : 2;
3204         uint64_t twsi2                        : 1;
3205         uint64_t powiq                        : 1;
3206         uint64_t ipdppthr                     : 1;
3207         uint64_t mii                          : 1;
3208         uint64_t bootdma                      : 1;
3209 #endif
3210         } cn52xx;
3211         struct cvmx_ciu_intx_en0_w1s_cn56xx {
3212 #ifdef __BIG_ENDIAN_BITFIELD
3213         uint64_t bootdma                      : 1;  /**< Boot bus DMA engines Interrupt */
3214         uint64_t mii                          : 1;  /**< MII Interface Interrupt */
3215         uint64_t ipdppthr                     : 1;  /**< IPD per-port counter threshold interrupt */
3216         uint64_t powiq                        : 1;  /**< POW IQ interrupt */
3217         uint64_t twsi2                        : 1;  /**< 2nd TWSI Interrupt */
3218         uint64_t reserved_57_58               : 2;
3219         uint64_t usb                          : 1;  /**< USB Interrupt */
3220         uint64_t timer                        : 4;  /**< General timer interrupts */
3221         uint64_t key_zero                     : 1;  /**< Key Zeroization interrupt */
3222         uint64_t ipd_drp                      : 1;  /**< IPD QOS packet drop */
3223         uint64_t gmx_drp                      : 2;  /**< GMX packet drop */
3224         uint64_t trace                        : 1;  /**< L2C has the CMB trace buffer */
3225         uint64_t rml                          : 1;  /**< RML Interrupt */
3226         uint64_t twsi                         : 1;  /**< TWSI Interrupt */
3227         uint64_t reserved_44_44               : 1;
3228         uint64_t pci_msi                      : 4;  /**< PCI MSI */
3229         uint64_t pci_int                      : 4;  /**< PCI INTA/B/C/D */
3230         uint64_t uart                         : 2;  /**< Two UART interrupts */
3231         uint64_t mbox                         : 2;  /**< Two mailbox/PCI interrupts */
3232         uint64_t gpio                         : 16; /**< 16 GPIO interrupts */
3233         uint64_t workq                        : 16; /**< 16 work queue interrupts */
3234 #else
3235         uint64_t workq                        : 16;
3236         uint64_t gpio                         : 16;
3237         uint64_t mbox                         : 2;
3238         uint64_t uart                         : 2;
3239         uint64_t pci_int                      : 4;
3240         uint64_t pci_msi                      : 4;
3241         uint64_t reserved_44_44               : 1;
3242         uint64_t twsi                         : 1;
3243         uint64_t rml                          : 1;
3244         uint64_t trace                        : 1;
3245         uint64_t gmx_drp                      : 2;
3246         uint64_t ipd_drp                      : 1;
3247         uint64_t key_zero                     : 1;
3248         uint64_t timer                        : 4;
3249         uint64_t usb                          : 1;
3250         uint64_t reserved_57_58               : 2;
3251         uint64_t twsi2                        : 1;
3252         uint64_t powiq                        : 1;
3253         uint64_t ipdppthr                     : 1;
3254         uint64_t mii                          : 1;
3255         uint64_t bootdma                      : 1;
3256 #endif
3257         } cn56xx;
3258         struct cvmx_ciu_intx_en0_w1s_cn58xx {
3259 #ifdef __BIG_ENDIAN_BITFIELD
3260         uint64_t reserved_56_63               : 8;
3261         uint64_t timer                        : 4;  /**< General timer interrupts */
3262         uint64_t key_zero                     : 1;  /**< Key Zeroization interrupt */
3263         uint64_t ipd_drp                      : 1;  /**< IPD QOS packet drop */
3264         uint64_t gmx_drp                      : 2;  /**< GMX packet drop */
3265         uint64_t trace                        : 1;  /**< L2C has the CMB trace buffer */
3266         uint64_t rml                          : 1;  /**< RML Interrupt */
3267         uint64_t twsi                         : 1;  /**< TWSI Interrupt */
3268         uint64_t reserved_44_44               : 1;
3269         uint64_t pci_msi                      : 4;  /**< PCI MSI */
3270         uint64_t pci_int                      : 4;  /**< PCI INTA/B/C/D */
3271         uint64_t uart                         : 2;  /**< Two UART interrupts */
3272         uint64_t mbox                         : 2;  /**< Two mailbox/PCI interrupts */
3273         uint64_t gpio                         : 16; /**< 16 GPIO interrupts */
3274         uint64_t workq                        : 16; /**< 16 work queue interrupts */
3275 #else
3276         uint64_t workq                        : 16;
3277         uint64_t gpio                         : 16;
3278         uint64_t mbox                         : 2;
3279         uint64_t uart                         : 2;
3280         uint64_t pci_int                      : 4;
3281         uint64_t pci_msi                      : 4;
3282         uint64_t reserved_44_44               : 1;
3283         uint64_t twsi                         : 1;
3284         uint64_t rml                          : 1;
3285         uint64_t trace                        : 1;
3286         uint64_t gmx_drp                      : 2;
3287         uint64_t ipd_drp                      : 1;
3288         uint64_t key_zero                     : 1;
3289         uint64_t timer                        : 4;
3290         uint64_t reserved_56_63               : 8;
3291 #endif
3292         } cn58xx;
3293         struct cvmx_ciu_intx_en0_w1s_cn61xx {
3294 #ifdef __BIG_ENDIAN_BITFIELD
3295         uint64_t bootdma                      : 1;  /**< Write 1 to set Boot bus DMA engines Interrupt
3296                                                          enable */
3297         uint64_t mii                          : 1;  /**< Write 1 to set RGMII/MIX Interface 0 Interrupt
3298                                                          enable */
3299         uint64_t ipdppthr                     : 1;  /**< Write 1 to set IPD per-port counter threshold
3300                                                          interrupt enable */
3301         uint64_t powiq                        : 1;  /**< Write 1 to set POW IQ interrupt enable */
3302         uint64_t twsi2                        : 1;  /**< Write 1 to set 2nd TWSI Interrupt enable */
3303         uint64_t mpi                          : 1;  /**< Write 1 to set MPI/SPI interrupt enable */
3304         uint64_t pcm                          : 1;  /**< Write 1 to set PCM/TDM interrupt enable */
3305         uint64_t usb                          : 1;  /**< Write 1 to set USB EHCI or OHCI Interrupt enable */
3306         uint64_t timer                        : 4;  /**< Write 1 to set General timer interrupt enables */
3307         uint64_t reserved_51_51               : 1;
3308         uint64_t ipd_drp                      : 1;  /**< Write 1 to set IPD QOS packet drop interrupt
3309                                                          enable */
3310         uint64_t gmx_drp                      : 2;  /**< Write 1 to set GMX packet drop interrupt enable */
3311         uint64_t trace                        : 1;  /**< Write 1 to set Trace buffer interrupt enable */
3312         uint64_t rml                          : 1;  /**< Write 1 to set RML Interrupt enable */
3313         uint64_t twsi                         : 1;  /**< Write 1 to set TWSI Interrupt enable */
3314         uint64_t reserved_44_44               : 1;
3315         uint64_t pci_msi                      : 4;  /**< Write 1s to set PCIe MSI enables */
3316         uint64_t pci_int                      : 4;  /**< Write 1s to set PCIe INTA/B/C/D enables */
3317         uint64_t uart                         : 2;  /**< Write 1s to set UART interrupt enables */
3318         uint64_t mbox                         : 2;  /**< Write 1s to set mailbox/PCIe interrupt
3319                                                          enables */
3320         uint64_t gpio                         : 16; /**< Write 1s to set GPIO interrupt enables */
3321         uint64_t workq                        : 16; /**< Write 1s to set work queue interrupt enables */
3322 #else
3323         uint64_t workq                        : 16;
3324         uint64_t gpio                         : 16;
3325         uint64_t mbox                         : 2;
3326         uint64_t uart                         : 2;
3327         uint64_t pci_int                      : 4;
3328         uint64_t pci_msi                      : 4;
3329         uint64_t reserved_44_44               : 1;
3330         uint64_t twsi                         : 1;
3331         uint64_t rml                          : 1;
3332         uint64_t trace                        : 1;
3333         uint64_t gmx_drp                      : 2;
3334         uint64_t ipd_drp                      : 1;
3335         uint64_t reserved_51_51               : 1;
3336         uint64_t timer                        : 4;
3337         uint64_t usb                          : 1;
3338         uint64_t pcm                          : 1;
3339         uint64_t mpi                          : 1;
3340         uint64_t twsi2                        : 1;
3341         uint64_t powiq                        : 1;
3342         uint64_t ipdppthr                     : 1;
3343         uint64_t mii                          : 1;
3344         uint64_t bootdma                      : 1;
3345 #endif
3346         } cn61xx;
3347         struct cvmx_ciu_intx_en0_w1s_cn52xx   cn63xx;
3348         struct cvmx_ciu_intx_en0_w1s_cn52xx   cn63xxp1;
3349         struct cvmx_ciu_intx_en0_w1s_cn66xx {
3350 #ifdef __BIG_ENDIAN_BITFIELD
3351         uint64_t bootdma                      : 1;  /**< Write 1 to set Boot bus DMA engines Interrupt
3352                                                          enable */
3353         uint64_t mii                          : 1;  /**< Write 1 to set RGMII/MII/MIX Interface 0 Interrupt
3354                                                          enable */
3355         uint64_t ipdppthr                     : 1;  /**< Write 1 to set IPD per-port counter threshold
3356                                                          interrupt enable */
3357         uint64_t powiq                        : 1;  /**< Write 1 to set POW IQ interrupt */
3358         uint64_t twsi2                        : 1;  /**< Write 1 to set 2nd TWSI Interrupt */
3359         uint64_t mpi                          : 1;  /**< Write 1 to set MPI/SPI interrupt */
3360         uint64_t reserved_57_57               : 1;
3361         uint64_t usb                          : 1;  /**< Write 1 to set USB EHCI or OHCI Interrupt */
3362         uint64_t timer                        : 4;  /**< Write 1 to set General timer interrupts */
3363         uint64_t reserved_51_51               : 1;
3364         uint64_t ipd_drp                      : 1;  /**< Write 1 to set IPD QOS packet drop interrupt
3365                                                          enable */
3366         uint64_t gmx_drp                      : 2;  /**< Write 1 to set GMX packet drop interrupt enable */
3367         uint64_t trace                        : 1;  /**< Write 1 to set Trace buffer interrupt enable */
3368         uint64_t rml                          : 1;  /**< Write 1 to set RML Interrupt enable */
3369         uint64_t twsi                         : 1;  /**< Write 1 to set TWSI Interrupt enable */
3370         uint64_t reserved_44_44               : 1;
3371         uint64_t pci_msi                      : 4;  /**< Write 1s to set PCIe/sRIO MSI enables */
3372         uint64_t pci_int                      : 4;  /**< Write 1s to set PCIe INTA/B/C/D enables */
3373         uint64_t uart                         : 2;  /**< Write 1s to set UART interrupt enables */
3374         uint64_t mbox                         : 2;  /**< Write 1s to set mailbox/PCIe/sRIO interrupt
3375                                                          enables */
3376         uint64_t gpio                         : 16; /**< Write 1s to set GPIO interrupt enables */
3377         uint64_t workq                        : 16; /**< Write 1s to set work queue interrupt enables */
3378 #else
3379         uint64_t workq                        : 16;
3380         uint64_t gpio                         : 16;
3381         uint64_t mbox                         : 2;
3382         uint64_t uart                         : 2;
3383         uint64_t pci_int                      : 4;
3384         uint64_t pci_msi                      : 4;
3385         uint64_t reserved_44_44               : 1;
3386         uint64_t twsi                         : 1;
3387         uint64_t rml                          : 1;
3388         uint64_t trace                        : 1;
3389         uint64_t gmx_drp                      : 2;
3390         uint64_t ipd_drp                      : 1;
3391         uint64_t reserved_51_51               : 1;
3392         uint64_t timer                        : 4;
3393         uint64_t usb                          : 1;
3394         uint64_t reserved_57_57               : 1;
3395         uint64_t mpi                          : 1;
3396         uint64_t twsi2                        : 1;
3397         uint64_t powiq                        : 1;
3398         uint64_t ipdppthr                     : 1;
3399         uint64_t mii                          : 1;
3400         uint64_t bootdma                      : 1;
3401 #endif
3402         } cn66xx;
3403         struct cvmx_ciu_intx_en0_w1s_cnf71xx {
3404 #ifdef __BIG_ENDIAN_BITFIELD
3405         uint64_t bootdma                      : 1;  /**< Write 1 to set Boot bus DMA engines Interrupt
3406                                                          enable */
3407         uint64_t reserved_62_62               : 1;
3408         uint64_t ipdppthr                     : 1;  /**< Write 1 to set IPD per-port counter threshold
3409                                                          interrupt enable */
3410         uint64_t powiq                        : 1;  /**< Write 1 to set POW IQ interrupt enable */
3411         uint64_t twsi2                        : 1;  /**< Write 1 to set 2nd TWSI Interrupt enable */
3412         uint64_t mpi                          : 1;  /**< Write 1 to set MPI/SPI interrupt enable */
3413         uint64_t pcm                          : 1;  /**< Write 1 to set PCM/TDM interrupt enable */
3414         uint64_t usb                          : 1;  /**< Write 1 to set USB EHCI or OHCI Interrupt enable */
3415         uint64_t timer                        : 4;  /**< Write 1 to set General timer interrupt enables */
3416         uint64_t reserved_51_51               : 1;
3417         uint64_t ipd_drp                      : 1;  /**< Write 1 to set IPD QOS packet drop interrupt
3418                                                          enable */
3419         uint64_t reserved_49_49               : 1;
3420         uint64_t gmx_drp                      : 1;  /**< Write 1 to set GMX packet drop interrupt enable */
3421         uint64_t trace                        : 1;  /**< Write 1 to set Trace buffer interrupt enable */
3422         uint64_t rml                          : 1;  /**< Write 1 to set RML Interrupt enable */
3423         uint64_t twsi                         : 1;  /**< Write 1 to set TWSI Interrupt enable */
3424         uint64_t reserved_44_44               : 1;
3425         uint64_t pci_msi                      : 4;  /**< Write 1s to set PCIe MSI enables */
3426         uint64_t pci_int                      : 4;  /**< Write 1s to set PCIe INTA/B/C/D enables */
3427         uint64_t uart                         : 2;  /**< Write 1s to set UART interrupt enables */
3428         uint64_t mbox                         : 2;  /**< Write 1s to set mailbox/PCIe interrupt
3429                                                          enables */
3430         uint64_t gpio                         : 16; /**< Write 1s to set GPIO interrupt enables */
3431         uint64_t workq                        : 16; /**< Write 1s to set work queue interrupt enables */
3432 #else
3433         uint64_t workq                        : 16;
3434         uint64_t gpio                         : 16;
3435         uint64_t mbox                         : 2;
3436         uint64_t uart                         : 2;
3437         uint64_t pci_int                      : 4;
3438         uint64_t pci_msi                      : 4;
3439         uint64_t reserved_44_44               : 1;
3440         uint64_t twsi                         : 1;
3441         uint64_t rml                          : 1;
3442         uint64_t trace                        : 1;
3443         uint64_t gmx_drp                      : 1;
3444         uint64_t reserved_49_49               : 1;
3445         uint64_t ipd_drp                      : 1;
3446         uint64_t reserved_51_51               : 1;
3447         uint64_t timer                        : 4;
3448         uint64_t usb                          : 1;
3449         uint64_t pcm                          : 1;
3450         uint64_t mpi                          : 1;
3451         uint64_t twsi2                        : 1;
3452         uint64_t powiq                        : 1;
3453         uint64_t ipdppthr                     : 1;
3454         uint64_t reserved_62_62               : 1;
3455         uint64_t bootdma                      : 1;
3456 #endif
3457         } cnf71xx;
3458 };
3459 typedef union cvmx_ciu_intx_en0_w1s cvmx_ciu_intx_en0_w1s_t;
3460
3461 /**
3462  * cvmx_ciu_int#_en1
3463  *
3464  * Notes:
3465  * Enables for CIU_SUM1_PPX_IPx  or CIU_SUM1_IOX_INT
3466  * CIU_INT0_EN1:  PP0/IP2
3467  * CIU_INT1_EN1:  PP0/IP3
3468  * CIU_INT2_EN1:  PP1/IP2
3469  * CIU_INT3_EN1:  PP1/IP3
3470  * CIU_INT4_EN1:  PP2/IP2
3471  * CIU_INT5_EN1:  PP2/IP3
3472  * CIU_INT6_EN1:  PP3/IP2
3473  * CIU_INT7_EN1:  PP3/IP3
3474  * .....
3475  *
3476  * (hole)
3477  * CIU_INT32_EN1: IO0
3478  * CIU_INT33_EN1: IO1
3479  *
3480  * @verbatim
3481  * PPx/IP2 will be raised when...
3482  *
3483  *    n = x*2
3484  *    PPx/IP2 = |([CIU_SUM2_PPx_IP2,CIU_SUM1_PPx_IP2, CIU_INTn_SUM0] & [CIU_EN2_PPx_IP2,CIU_INTn_EN1, CIU_INTn_EN0])
3485  *
3486  * PPx/IP3 will be raised when...
3487  *
3488  *    n = x*2 + 1
3489  *    PPx/IP3 =  |([CIU_SUM2_PPx_IP3,CIU_SUM1_PPx_IP3, CIU_INTn_SUM0] & [CIU_EN2_PPx_IP3,CIU_INTn_EN1, CIU_INTn_EN0])
3490  *
3491  * PCI/INT will be raised when...
3492  *
3493  *    PCI/INT = |([CIU_SUM2_IO0_INT,CIU_SUM1_IO0_INT, CIU_INT32_SUM0] & [CIU_EN2_IO0_INT,CIU_INT32_EN1, CIU_INT32_EN0])
3494  *    PCI/INT = |([CIU_SUM2_IO1_INT,CIU_SUM1_IO1_INT, CIU_INT33_SUM0] & [CIU_EN2_IO1_INT,CIU_INT33_EN1, CIU_INT33_EN0])
3495  * @endverbatim
3496  */
3497 union cvmx_ciu_intx_en1 {
3498         uint64_t u64;
3499         struct cvmx_ciu_intx_en1_s {
3500 #ifdef __BIG_ENDIAN_BITFIELD
3501         uint64_t rst                          : 1;  /**< MIO RST interrupt enable */
3502         uint64_t reserved_62_62               : 1;
3503         uint64_t srio3                        : 1;  /**< SRIO3 interrupt enable */
3504         uint64_t srio2                        : 1;  /**< SRIO2 interrupt enable */
3505         uint64_t reserved_57_59               : 3;
3506         uint64_t dfm                          : 1;  /**< DFM interrupt enable */
3507         uint64_t reserved_53_55               : 3;
3508         uint64_t lmc0                         : 1;  /**< LMC0 interrupt enable */
3509         uint64_t srio1                        : 1;  /**< SRIO1 interrupt enable */
3510         uint64_t srio0                        : 1;  /**< SRIO0 interrupt enable */
3511         uint64_t pem1                         : 1;  /**< PEM1 interrupt enable */
3512         uint64_t pem0                         : 1;  /**< PEM0 interrupt enable */
3513         uint64_t ptp                          : 1;  /**< PTP interrupt enable */
3514         uint64_t agl                          : 1;  /**< AGL interrupt enable */
3515         uint64_t reserved_41_45               : 5;
3516         uint64_t dpi_dma                      : 1;  /**< DPI_DMA interrupt enable */
3517         uint64_t reserved_38_39               : 2;
3518         uint64_t agx1                         : 1;  /**< GMX1 interrupt enable */
3519         uint64_t agx0                         : 1;  /**< GMX0 interrupt enable */
3520         uint64_t dpi                          : 1;  /**< DPI interrupt enable */
3521         uint64_t sli                          : 1;  /**< SLI interrupt enable */
3522         uint64_t usb                          : 1;  /**< USB UCTL0 interrupt enable */
3523         uint64_t dfa                          : 1;  /**< DFA interrupt enable */
3524         uint64_t key                          : 1;  /**< KEY interrupt enable */
3525         uint64_t rad                          : 1;  /**< RAD interrupt enable */
3526         uint64_t tim                          : 1;  /**< TIM interrupt enable */
3527         uint64_t zip                          : 1;  /**< ZIP interrupt enable */
3528         uint64_t pko                          : 1;  /**< PKO interrupt enable */
3529         uint64_t pip                          : 1;  /**< PIP interrupt enable */
3530         uint64_t ipd                          : 1;  /**< IPD interrupt enable */
3531         uint64_t l2c                          : 1;  /**< L2C interrupt enable */
3532         uint64_t pow                          : 1;  /**< POW err interrupt enable */
3533         uint64_t fpa                          : 1;  /**< FPA interrupt enable */
3534         uint64_t iob                          : 1;  /**< IOB interrupt enable */
3535         uint64_t mio                          : 1;  /**< MIO boot interrupt enable */
3536         uint64_t nand                         : 1;  /**< EMMC Flash Controller interrupt enable */
3537         uint64_t mii1                         : 1;  /**< RGMII/MII/MIX Interface 1 Interrupt enable */
3538         uint64_t usb1                         : 1;  /**< Second USB Interrupt */
3539         uint64_t uart2                        : 1;  /**< Third UART interrupt */
3540         uint64_t wdog                         : 16; /**< Watchdog summary interrupt enable vector */
3541 #else
3542         uint64_t wdog                         : 16;
3543         uint64_t uart2                        : 1;
3544         uint64_t usb1                         : 1;
3545         uint64_t mii1                         : 1;
3546         uint64_t nand                         : 1;
3547         uint64_t mio                          : 1;
3548         uint64_t iob                          : 1;
3549         uint64_t fpa                          : 1;
3550         uint64_t pow                          : 1;
3551         uint64_t l2c                          : 1;
3552         uint64_t ipd                          : 1;
3553         uint64_t pip                          : 1;
3554         uint64_t pko                          : 1;
3555         uint64_t zip                          : 1;
3556         uint64_t tim                          : 1;
3557         uint64_t rad                          : 1;
3558         uint64_t key                          : 1;
3559         uint64_t dfa                          : 1;
3560         uint64_t usb                          : 1;
3561         uint64_t sli                          : 1;
3562         uint64_t dpi                          : 1;
3563         uint64_t agx0                         : 1;
3564         uint64_t agx1                         : 1;
3565         uint64_t reserved_38_39               : 2;
3566         uint64_t dpi_dma                      : 1;
3567         uint64_t reserved_41_45               : 5;
3568         uint64_t agl                          : 1;
3569         uint64_t ptp                          : 1;
3570         uint64_t pem0                         : 1;
3571         uint64_t pem1                         : 1;
3572         uint64_t srio0                        : 1;
3573         uint64_t srio1                        : 1;
3574         uint64_t lmc0                         : 1;
3575         uint64_t reserved_53_55               : 3;
3576         uint64_t dfm                          : 1;
3577         uint64_t reserved_57_59               : 3;
3578         uint64_t srio2                        : 1;
3579         uint64_t srio3                        : 1;
3580         uint64_t reserved_62_62               : 1;
3581         uint64_t rst                          : 1;
3582 #endif
3583         } s;
3584         struct cvmx_ciu_intx_en1_cn30xx {
3585 #ifdef __BIG_ENDIAN_BITFIELD
3586         uint64_t reserved_1_63                : 63;
3587         uint64_t wdog                         : 1;  /**< Watchdog summary interrupt enable vector */
3588 #else
3589         uint64_t wdog                         : 1;
3590         uint64_t reserved_1_63                : 63;
3591 #endif
3592         } cn30xx;
3593         struct cvmx_ciu_intx_en1_cn31xx {
3594 #ifdef __BIG_ENDIAN_BITFIELD
3595         uint64_t reserved_2_63                : 62;
3596         uint64_t wdog                         : 2;  /**< Watchdog summary interrupt enable vectory */
3597 #else
3598         uint64_t wdog                         : 2;
3599         uint64_t reserved_2_63                : 62;
3600 #endif
3601         } cn31xx;
3602         struct cvmx_ciu_intx_en1_cn38xx {
3603 #ifdef __BIG_ENDIAN_BITFIELD
3604         uint64_t reserved_16_63               : 48;
3605         uint64_t wdog                         : 16; /**< Watchdog summary interrupt enable vectory */
3606 #else
3607         uint64_t wdog                         : 16;
3608         uint64_t reserved_16_63               : 48;
3609 #endif
3610         } cn38xx;
3611         struct cvmx_ciu_intx_en1_cn38xx       cn38xxp2;
3612         struct cvmx_ciu_intx_en1_cn31xx       cn50xx;
3613         struct cvmx_ciu_intx_en1_cn52xx {
3614 #ifdef __BIG_ENDIAN_BITFIELD
3615         uint64_t reserved_20_63               : 44;
3616         uint64_t nand                         : 1;  /**< NAND Flash Controller */
3617         uint64_t mii1                         : 1;  /**< Second MII Interrupt */
3618         uint64_t usb1                         : 1;  /**< Second USB Interrupt */
3619         uint64_t uart2                        : 1;  /**< Third UART interrupt */
3620         uint64_t reserved_4_15                : 12;
3621         uint64_t wdog                         : 4;  /**< Watchdog summary interrupt enable vector */
3622 #else
3623         uint64_t wdog                         : 4;
3624         uint64_t reserved_4_15                : 12;
3625         uint64_t uart2                        : 1;
3626         uint64_t usb1                         : 1;
3627         uint64_t mii1                         : 1;
3628         uint64_t nand                         : 1;
3629         uint64_t reserved_20_63               : 44;
3630 #endif
3631         } cn52xx;
3632         struct cvmx_ciu_intx_en1_cn52xxp1 {
3633 #ifdef __BIG_ENDIAN_BITFIELD
3634         uint64_t reserved_19_63               : 45;
3635         uint64_t mii1                         : 1;  /**< Second MII Interrupt */
3636         uint64_t usb1                         : 1;  /**< Second USB Interrupt */
3637         uint64_t uart2                        : 1;  /**< Third UART interrupt */
3638         uint64_t reserved_4_15                : 12;
3639         uint64_t wdog                         : 4;  /**< Watchdog summary interrupt enable vector */
3640 #else
3641         uint64_t wdog                         : 4;
3642         uint64_t reserved_4_15                : 12;
3643         uint64_t uart2                        : 1;
3644         uint64_t usb1                         : 1;
3645         uint64_t mii1                         : 1;
3646         uint64_t reserved_19_63               : 45;
3647 #endif
3648         } cn52xxp1;
3649         struct cvmx_ciu_intx_en1_cn56xx {
3650 #ifdef __BIG_ENDIAN_BITFIELD
3651         uint64_t reserved_12_63               : 52;
3652         uint64_t wdog                         : 12; /**< Watchdog summary interrupt enable vectory */
3653 #else
3654         uint64_t wdog                         : 12;
3655         uint64_t reserved_12_63               : 52;
3656 #endif
3657         } cn56xx;
3658         struct cvmx_ciu_intx_en1_cn56xx       cn56xxp1;
3659         struct cvmx_ciu_intx_en1_cn38xx       cn58xx;
3660         struct cvmx_ciu_intx_en1_cn38xx       cn58xxp1;
3661         struct cvmx_ciu_intx_en1_cn61xx {
3662 #ifdef __BIG_ENDIAN_BITFIELD
3663         uint64_t rst                          : 1;  /**< MIO RST interrupt enable */
3664         uint64_t reserved_53_62               : 10;
3665         uint64_t lmc0                         : 1;  /**< LMC0 interrupt enable */
3666         uint64_t reserved_50_51               : 2;
3667         uint64_t pem1                         : 1;  /**< PEM1 interrupt enable */
3668         uint64_t pem0                         : 1;  /**< PEM0 interrupt enable */
3669         uint64_t ptp                          : 1;  /**< PTP interrupt enable */
3670         uint64_t agl                          : 1;  /**< AGL interrupt enable */
3671         uint64_t reserved_41_45               : 5;
3672         uint64_t dpi_dma                      : 1;  /**< DPI_DMA interrupt enable */
3673         uint64_t reserved_38_39               : 2;
3674         uint64_t agx1                         : 1;  /**< GMX1 interrupt enable */
3675         uint64_t agx0                         : 1;  /**< GMX0 interrupt enable */
3676         uint64_t dpi                          : 1;  /**< DPI interrupt enable */
3677         uint64_t sli                          : 1;  /**< SLI interrupt enable */
3678         uint64_t usb                          : 1;  /**< USB UCTL0 interrupt enable */
3679         uint64_t dfa                          : 1;  /**< DFA interrupt enable */
3680         uint64_t key                          : 1;  /**< KEY interrupt enable */
3681         uint64_t rad                          : 1;  /**< RAD interrupt enable */
3682         uint64_t tim                          : 1;  /**< TIM interrupt enable */
3683         uint64_t zip                          : 1;  /**< ZIP interrupt enable */
3684         uint64_t pko                          : 1;  /**< PKO interrupt enable */
3685         uint64_t pip                          : 1;  /**< PIP interrupt enable */
3686         uint64_t ipd                          : 1;  /**< IPD interrupt enable */
3687         uint64_t l2c                          : 1;  /**< L2C interrupt enable */
3688         uint64_t pow                          : 1;  /**< POW err interrupt enable */
3689         uint64_t fpa                          : 1;  /**< FPA interrupt enable */
3690         uint64_t iob                          : 1;  /**< IOB interrupt enable */
3691         uint64_t mio                          : 1;  /**< MIO boot interrupt enable */
3692         uint64_t nand                         : 1;  /**< EMMC Flash Controller interrupt enable */
3693         uint64_t mii1                         : 1;  /**< RGMII/MIX Interface 1 Interrupt enable */
3694         uint64_t reserved_4_17                : 14;
3695         uint64_t wdog                         : 4;  /**< Watchdog summary interrupt enable vector */
3696 #else
3697         uint64_t wdog                         : 4;
3698         uint64_t reserved_4_17                : 14;
3699         uint64_t mii1                         : 1;
3700         uint64_t nand                         : 1;
3701         uint64_t mio                          : 1;
3702         uint64_t iob                          : 1;
3703         uint64_t fpa                          : 1;
3704         uint64_t pow                          : 1;
3705         uint64_t l2c                          : 1;
3706         uint64_t ipd                          : 1;
3707         uint64_t pip                          : 1;
3708         uint64_t pko                          : 1;
3709         uint64_t zip                          : 1;
3710         uint64_t tim                          : 1;
3711         uint64_t rad                          : 1;
3712         uint64_t key                          : 1;
3713         uint64_t dfa                          : 1;
3714         uint64_t usb                          : 1;
3715         uint64_t sli                          : 1;
3716         uint64_t dpi                          : 1;
3717         uint64_t agx0                         : 1;
3718         uint64_t agx1                         : 1;
3719         uint64_t reserved_38_39               : 2;
3720         uint64_t dpi_dma                      : 1;
3721         uint64_t reserved_41_45               : 5;
3722         uint64_t agl                          : 1;
3723         uint64_t ptp                          : 1;
3724         uint64_t pem0                         : 1;
3725         uint64_t pem1                         : 1;
3726         uint64_t reserved_50_51               : 2;
3727         uint64_t lmc0                         : 1;
3728         uint64_t reserved_53_62               : 10;
3729         uint64_t rst                          : 1;
3730 #endif
3731         } cn61xx;
3732         struct cvmx_ciu_intx_en1_cn63xx {
3733 #ifdef __BIG_ENDIAN_BITFIELD
3734         uint64_t rst                          : 1;  /**< MIO RST interrupt enable */
3735         uint64_t reserved_57_62               : 6;
3736         uint64_t dfm                          : 1;  /**< DFM interrupt enable */
3737         uint64_t reserved_53_55               : 3;
3738         uint64_t lmc0                         : 1;  /**< LMC0 interrupt enable */
3739         uint64_t srio1                        : 1;  /**< SRIO1 interrupt enable */
3740         uint64_t srio0                        : 1;  /**< SRIO0 interrupt enable */
3741         uint64_t pem1                         : 1;  /**< PEM1 interrupt enable */
3742         uint64_t pem0                         : 1;  /**< PEM0 interrupt enable */
3743         uint64_t ptp                          : 1;  /**< PTP interrupt enable */
3744         uint64_t agl                          : 1;  /**< AGL interrupt enable */
3745         uint64_t reserved_37_45               : 9;
3746         uint64_t agx0                         : 1;  /**< GMX0 interrupt enable */
3747         uint64_t dpi                          : 1;  /**< DPI interrupt enable */
3748         uint64_t sli                          : 1;  /**< SLI interrupt enable */
3749         uint64_t usb                          : 1;  /**< USB UCTL0 interrupt enable */
3750         uint64_t dfa                          : 1;  /**< DFA interrupt enable */
3751         uint64_t key                          : 1;  /**< KEY interrupt enable */
3752         uint64_t rad                          : 1;  /**< RAD interrupt enable */
3753         uint64_t tim                          : 1;  /**< TIM interrupt enable */
3754         uint64_t zip                          : 1;  /**< ZIP interrupt enable */
3755         uint64_t pko                          : 1;  /**< PKO interrupt enable */
3756         uint64_t pip                          : 1;  /**< PIP interrupt enable */
3757         uint64_t ipd                          : 1;  /**< IPD interrupt enable */
3758         uint64_t l2c                          : 1;  /**< L2C interrupt enable */
3759         uint64_t pow                          : 1;  /**< POW err interrupt enable */
3760         uint64_t fpa                          : 1;  /**< FPA interrupt enable */
3761         uint64_t iob                          : 1;  /**< IOB interrupt enable */
3762         uint64_t mio                          : 1;  /**< MIO boot interrupt enable */
3763         uint64_t nand                         : 1;  /**< NAND Flash Controller interrupt enable */
3764         uint64_t mii1                         : 1;  /**< RGMII/MII/MIX Interface 1 Interrupt enable */
3765         uint64_t reserved_6_17                : 12;
3766         uint64_t wdog                         : 6;  /**< Watchdog summary interrupt enable vector */
3767 #else
3768         uint64_t wdog                         : 6;
3769         uint64_t reserved_6_17                : 12;
3770         uint64_t mii1                         : 1;
3771         uint64_t nand                         : 1;
3772         uint64_t mio                          : 1;
3773         uint64_t iob                          : 1;
3774         uint64_t fpa                          : 1;
3775         uint64_t pow                          : 1;
3776         uint64_t l2c                          : 1;
3777         uint64_t ipd                          : 1;
3778         uint64_t pip                          : 1;
3779         uint64_t pko                          : 1;
3780         uint64_t zip                          : 1;
3781         uint64_t tim                          : 1;
3782         uint64_t rad                          : 1;
3783         uint64_t key                          : 1;
3784         uint64_t dfa                          : 1;
3785         uint64_t usb                          : 1;
3786         uint64_t sli                          : 1;
3787         uint64_t dpi                          : 1;
3788         uint64_t agx0                         : 1;
3789         uint64_t reserved_37_45               : 9;
3790         uint64_t agl                          : 1;
3791         uint64_t ptp                          : 1;
3792         uint64_t pem0                         : 1;
3793         uint64_t pem1                         : 1;
3794         uint64_t srio0                        : 1;
3795         uint64_t srio1                        : 1;
3796         uint64_t lmc0                         : 1;
3797         uint64_t reserved_53_55               : 3;
3798         uint64_t dfm                          : 1;
3799         uint64_t reserved_57_62               : 6;
3800         uint64_t rst                          : 1;
3801 #endif
3802         } cn63xx;
3803         struct cvmx_ciu_intx_en1_cn63xx       cn63xxp1;
3804         struct cvmx_ciu_intx_en1_cn66xx {
3805 #ifdef __BIG_ENDIAN_BITFIELD
3806         uint64_t rst                          : 1;  /**< MIO RST interrupt enable */
3807         uint64_t reserved_62_62               : 1;
3808         uint64_t srio3                        : 1;  /**< SRIO3 interrupt enable */
3809         uint64_t srio2                        : 1;  /**< SRIO2 interrupt enable */
3810         uint64_t reserved_57_59               : 3;
3811         uint64_t dfm                          : 1;  /**< DFM interrupt enable */
3812         uint64_t reserved_53_55               : 3;
3813         uint64_t lmc0                         : 1;  /**< LMC0 interrupt enable */
3814         uint64_t reserved_51_51               : 1;
3815         uint64_t srio0                        : 1;  /**< SRIO0 interrupt enable */
3816         uint64_t pem1                         : 1;  /**< PEM1 interrupt enable */
3817         uint64_t pem0                         : 1;  /**< PEM0 interrupt enable */
3818         uint64_t ptp                          : 1;  /**< PTP interrupt enable */
3819         uint64_t agl                          : 1;  /**< AGL interrupt enable */
3820         uint64_t reserved_38_45               : 8;
3821         uint64_t agx1                         : 1;  /**< GMX1 interrupt enable */
3822         uint64_t agx0                         : 1;  /**< GMX0 interrupt enable */
3823         uint64_t dpi                          : 1;  /**< DPI interrupt enable */
3824         uint64_t sli                          : 1;  /**< SLI interrupt enable */
3825         uint64_t usb                          : 1;  /**< USB UCTL0 interrupt enable */
3826         uint64_t dfa                          : 1;  /**< DFA interrupt enable */
3827         uint64_t key                          : 1;  /**< KEY interrupt enable */
3828         uint64_t rad                          : 1;  /**< RAD interrupt enable */
3829         uint64_t tim                          : 1;  /**< TIM interrupt enable */
3830         uint64_t zip                          : 1;  /**< ZIP interrupt enable */
3831         uint64_t pko                          : 1;  /**< PKO interrupt enable */
3832         uint64_t pip                          : 1;  /**< PIP interrupt enable */
3833         uint64_t ipd                          : 1;  /**< IPD interrupt enable */
3834         uint64_t l2c                          : 1;  /**< L2C interrupt enable */
3835         uint64_t pow                          : 1;  /**< POW err interrupt enable */
3836         uint64_t fpa                          : 1;  /**< FPA interrupt enable */
3837         uint64_t iob                          : 1;  /**< IOB interrupt enable */
3838         uint64_t mio                          : 1;  /**< MIO boot interrupt enable */
3839         uint64_t nand                         : 1;  /**< NAND Flash Controller interrupt enable */
3840         uint64_t mii1                         : 1;  /**< RGMII/MII/MIX Interface 1 Interrupt enable */
3841         uint64_t reserved_10_17               : 8;
3842         uint64_t wdog                         : 10; /**< Watchdog summary interrupt enable vector */
3843 #else
3844         uint64_t wdog                         : 10;
3845         uint64_t reserved_10_17               : 8;
3846         uint64_t mii1                         : 1;
3847         uint64_t nand                         : 1;
3848         uint64_t mio                          : 1;
3849         uint64_t iob                          : 1;
3850         uint64_t fpa                          : 1;
3851         uint64_t pow                          : 1;
3852         uint64_t l2c                          : 1;
3853         uint64_t ipd                          : 1;
3854         uint64_t pip                          : 1;
3855         uint64_t pko                          : 1;
3856         uint64_t zip                          : 1;
3857         uint64_t tim                          : 1;
3858         uint64_t rad                          : 1;
3859         uint64_t key                          : 1;
3860         uint64_t dfa                          : 1;
3861         uint64_t usb                          : 1;
3862         uint64_t sli                          : 1;
3863         uint64_t dpi                          : 1;
3864         uint64_t agx0                         : 1;
3865         uint64_t agx1                         : 1;
3866         uint64_t reserved_38_45               : 8;
3867         uint64_t agl                          : 1;
3868         uint64_t ptp                          : 1;
3869         uint64_t pem0                         : 1;
3870         uint64_t pem1                         : 1;
3871         uint64_t srio0                        : 1;
3872         uint64_t reserved_51_51               : 1;
3873         uint64_t lmc0                         : 1;
3874         uint64_t reserved_53_55               : 3;
3875         uint64_t dfm                          : 1;
3876         uint64_t reserved_57_59               : 3;
3877         uint64_t srio2                        : 1;
3878         uint64_t srio3                        : 1;
3879         uint64_t reserved_62_62               : 1;
3880         uint64_t rst                          : 1;
3881 #endif
3882         } cn66xx;
3883         struct cvmx_ciu_intx_en1_cnf71xx {
3884 #ifdef __BIG_ENDIAN_BITFIELD
3885         uint64_t rst                          : 1;  /**< MIO RST interrupt enable */
3886         uint64_t reserved_53_62               : 10;
3887         uint64_t lmc0                         : 1;  /**< LMC0 interrupt enable */
3888         uint64_t reserved_50_51               : 2;
3889         uint64_t pem1                         : 1;  /**< PEM1 interrupt enable */
3890         uint64_t pem0                         : 1;  /**< PEM0 interrupt enable */
3891         uint64_t ptp                          : 1;  /**< PTP interrupt enable */
3892         uint64_t reserved_41_46               : 6;
3893         uint64_t dpi_dma                      : 1;  /**< DPI_DMA interrupt enable */
3894         uint64_t reserved_37_39               : 3;
3895         uint64_t agx0                         : 1;  /**< GMX0 interrupt enable */
3896         uint64_t dpi                          : 1;  /**< DPI interrupt enable */
3897         uint64_t sli                          : 1;  /**< SLI interrupt enable */
3898         uint64_t usb                          : 1;  /**< USB UCTL0 interrupt enable */
3899         uint64_t reserved_32_32               : 1;
3900         uint64_t key                          : 1;  /**< KEY interrupt enable */
3901         uint64_t rad                          : 1;  /**< RAD interrupt enable */
3902         uint64_t tim                          : 1;  /**< TIM interrupt enable */
3903         uint64_t reserved_28_28               : 1;
3904         uint64_t pko                          : 1;  /**< PKO interrupt enable */
3905         uint64_t pip                          : 1;  /**< PIP interrupt enable */
3906         uint64_t ipd                          : 1;  /**< IPD interrupt enable */
3907         uint64_t l2c                          : 1;  /**< L2C interrupt enable */
3908         uint64_t pow                          : 1;  /**< POW err interrupt enable */
3909         uint64_t fpa                          : 1;  /**< FPA interrupt enable */
3910         uint64_t iob                          : 1;  /**< IOB interrupt enable */
3911         uint64_t mio                          : 1;  /**< MIO boot interrupt enable */
3912         uint64_t nand                         : 1;  /**< EMMC Flash Controller interrupt enable */
3913         uint64_t reserved_4_18                : 15;
3914         uint64_t wdog                         : 4;  /**< Watchdog summary interrupt enable vector */
3915 #else
3916         uint64_t wdog                         : 4;
3917         uint64_t reserved_4_18                : 15;
3918         uint64_t nand                         : 1;
3919         uint64_t mio                          : 1;
3920         uint64_t iob                          : 1;
3921         uint64_t fpa                          : 1;
3922         uint64_t pow                          : 1;
3923         uint64_t l2c                          : 1;
3924         uint64_t ipd                          : 1;
3925         uint64_t pip                          : 1;
3926         uint64_t pko                          : 1;
3927         uint64_t reserved_28_28               : 1;
3928         uint64_t tim                          : 1;
3929         uint64_t rad                          : 1;
3930         uint64_t key                          : 1;
3931         uint64_t reserved_32_32               : 1;
3932         uint64_t usb                          : 1;
3933         uint64_t sli                          : 1;
3934         uint64_t dpi                          : 1;
3935         uint64_t agx0                         : 1;
3936         uint64_t reserved_37_39               : 3;
3937         uint64_t dpi_dma                      : 1;
3938         uint64_t reserved_41_46               : 6;
3939         uint64_t ptp                          : 1;
3940         uint64_t pem0                         : 1;
3941         uint64_t pem1                         : 1;
3942         uint64_t reserved_50_51               : 2;
3943         uint64_t lmc0                         : 1;
3944         uint64_t reserved_53_62               : 10;
3945         uint64_t rst                          : 1;
3946 #endif
3947         } cnf71xx;
3948 };
3949 typedef union cvmx_ciu_intx_en1 cvmx_ciu_intx_en1_t;
3950
3951 /**
3952  * cvmx_ciu_int#_en1_w1c
3953  *
3954  * Notes:
3955  * Write-1-to-clear version of the CIU_INTX_EN1 register, read back corresponding CIU_INTX_EN1 value.
3956  *
3957  */
3958 union cvmx_ciu_intx_en1_w1c {
3959         uint64_t u64;
3960         struct cvmx_ciu_intx_en1_w1c_s {
3961 #ifdef __BIG_ENDIAN_BITFIELD
3962         uint64_t rst                          : 1;  /**< Write 1 to clear MIO RST interrupt enable */
3963         uint64_t reserved_62_62               : 1;
3964         uint64_t srio3                        : 1;  /**< Write 1 to clear SRIO3 interrupt enable */
3965         uint64_t srio2                        : 1;  /**< Write 1 to clear SRIO2 interrupt enable */
3966         uint64_t reserved_57_59               : 3;
3967         uint64_t dfm                          : 1;  /**< Write 1 to clear DFM interrupt enable */
3968         uint64_t reserved_53_55               : 3;
3969         uint64_t lmc0                         : 1;  /**< Write 1 to clear LMC0 interrupt enable */
3970         uint64_t srio1                        : 1;  /**< Write 1 to clear SRIO1 interrupt enable */
3971         uint64_t srio0                        : 1;  /**< Write 1 to clear SRIO0 interrupt enable */
3972         uint64_t pem1                         : 1;  /**< Write 1 to clear PEM1 interrupt enable */
3973         uint64_t pem0                         : 1;  /**< Write 1 to clear PEM0 interrupt enable */
3974         uint64_t ptp                          : 1;  /**< Write 1 to clear PTP interrupt enable */
3975         uint64_t agl                          : 1;  /**< Write 1 to clear AGL interrupt enable */
3976         uint64_t reserved_41_45               : 5;
3977         uint64_t dpi_dma                      : 1;  /**< Write 1 to clear DPI_DMA interrupt enable */
3978         uint64_t reserved_38_39               : 2;
3979         uint64_t agx1                         : 1;  /**< Write 1 to clear GMX1 interrupt enable */
3980         uint64_t agx0                         : 1;  /**< Write 1 to clear GMX0 interrupt enable */
3981         uint64_t dpi                          : 1;  /**< Write 1 to clear DPI interrupt enable */
3982         uint64_t sli                          : 1;  /**< Write 1 to clear SLI interrupt enable */
3983         uint64_t usb                          : 1;  /**< Write 1 to clear USB UCTL0 interrupt enable */
3984         uint64_t dfa                          : 1;  /**< Write 1 to clear DFA interrupt enable */
3985         uint64_t key                          : 1;  /**< Write 1 to clear KEY interrupt enable */
3986         uint64_t rad                          : 1;  /**< Write 1 to clear RAD interrupt enable */
3987         uint64_t tim                          : 1;  /**< Write 1 to clear TIM interrupt enable */
3988         uint64_t zip                          : 1;  /**< Write 1 to clear ZIP interrupt enable */
3989         uint64_t pko                          : 1;  /**< Write 1 to clear PKO interrupt enable */
3990         uint64_t pip                          : 1;  /**< Write 1 to clear PIP interrupt enable */
3991         uint64_t ipd                          : 1;  /**< Write 1 to clear IPD interrupt enable */
3992         uint64_t l2c                          : 1;  /**< Write 1 to clear L2C interrupt enable */
3993         uint64_t pow                          : 1;  /**< Write 1 to clear POW err interrupt enable */
3994         uint64_t fpa                          : 1;  /**< Write 1 to clear FPA interrupt enable */
3995         uint64_t iob                          : 1;  /**< Write 1 to clear IOB interrupt enable */
3996         uint64_t mio                          : 1;  /**< Write 1 to clear MIO boot interrupt enable */
3997         uint64_t nand                         : 1;  /**< Write 1 to clear EMMC Flash Controller interrupt
3998                                                          enable */
3999         uint64_t mii1                         : 1;  /**< Write 1 to clear RGMII/MII/MIX Interface 1
4000                                                          Interrupt enable */
4001         uint64_t usb1                         : 1;  /**< Second USB Interrupt */
4002         uint64_t uart2                        : 1;  /**< Third UART interrupt */
4003         uint64_t wdog                         : 16; /**< Write 1s to clear Watchdog summary interrupt enable */
4004 #else
4005         uint64_t wdog                         : 16;
4006         uint64_t uart2                        : 1;
4007         uint64_t usb1                         : 1;
4008         uint64_t mii1                         : 1;
4009         uint64_t nand                         : 1;
4010         uint64_t mio                          : 1;
4011         uint64_t iob                          : 1;
4012         uint64_t fpa                          : 1;
4013         uint64_t pow                          : 1;
4014         uint64_t l2c                          : 1;
4015         uint64_t ipd                          : 1;
4016         uint64_t pip                          : 1;
4017         uint64_t pko                          : 1;
4018         uint64_t zip                          : 1;
4019         uint64_t tim                          : 1;
4020         uint64_t rad                          : 1;
4021         uint64_t key                          : 1;
4022         uint64_t dfa                          : 1;
4023         uint64_t usb                          : 1;
4024         uint64_t sli                          : 1;
4025         uint64_t dpi                          : 1;
4026         uint64_t agx0                         : 1;
4027         uint64_t agx1                         : 1;
4028         uint64_t reserved_38_39               : 2;
4029         uint64_t dpi_dma                      : 1;
4030         uint64_t reserved_41_45               : 5;
4031         uint64_t agl                          : 1;
4032         uint64_t ptp                          : 1;
4033         uint64_t pem0                         : 1;
4034         uint64_t pem1                         : 1;
4035         uint64_t srio0                        : 1;
4036         uint64_t srio1                        : 1;
4037         uint64_t lmc0                         : 1;
4038         uint64_t reserved_53_55               : 3;
4039         uint64_t dfm                          : 1;
4040         uint64_t reserved_57_59               : 3;
4041         uint64_t srio2                        : 1;
4042         uint64_t srio3                        : 1;
4043         uint64_t reserved_62_62               : 1;
4044         uint64_t rst                          : 1;
4045 #endif
4046         } s;
4047         struct cvmx_ciu_intx_en1_w1c_cn52xx {
4048 #ifdef __BIG_ENDIAN_BITFIELD
4049         uint64_t reserved_20_63               : 44;
4050         uint64_t nand                         : 1;  /**< NAND Flash Controller */
4051         uint64_t mii1                         : 1;  /**< Second MII Interrupt */
4052         uint64_t usb1                         : 1;  /**< Second USB Interrupt */
4053         uint64_t uart2                        : 1;  /**< Third UART interrupt */
4054         uint64_t reserved_4_15                : 12;
4055         uint64_t wdog                         : 4;  /**< Watchdog summary interrupt enable vector */
4056 #else
4057         uint64_t wdog                         : 4;
4058         uint64_t reserved_4_15                : 12;
4059         uint64_t uart2                        : 1;
4060         uint64_t usb1                         : 1;
4061         uint64_t mii1                         : 1;
4062         uint64_t nand                         : 1;
4063         uint64_t reserved_20_63               : 44;
4064 #endif
4065         } cn52xx;
4066         struct cvmx_ciu_intx_en1_w1c_cn56xx {
4067 #ifdef __BIG_ENDIAN_BITFIELD
4068         uint64_t reserved_12_63               : 52;
4069         uint64_t wdog                         : 12; /**< Watchdog summary interrupt enable vectory */
4070 #else
4071         uint64_t wdog                         : 12;
4072         uint64_t reserved_12_63               : 52;
4073 #endif
4074         } cn56xx;
4075         struct cvmx_ciu_intx_en1_w1c_cn58xx {
4076 #ifdef __BIG_ENDIAN_BITFIELD
4077         uint64_t reserved_16_63               : 48;
4078         uint64_t wdog                         : 16; /**< Watchdog summary interrupt enable vectory */
4079 #else
4080         uint64_t wdog                         : 16;
4081         uint64_t reserved_16_63               : 48;
4082 #endif
4083         } cn58xx;
4084         struct cvmx_ciu_intx_en1_w1c_cn61xx {
4085 #ifdef __BIG_ENDIAN_BITFIELD
4086         uint64_t rst                          : 1;  /**< Write 1 to clear MIO RST interrupt enable */
4087         uint64_t reserved_53_62               : 10;
4088         uint64_t lmc0                         : 1;  /**< Write 1 to clear LMC0 interrupt enable */
4089         uint64_t reserved_50_51               : 2;
4090         uint64_t pem1                         : 1;  /**< Write 1 to clear PEM1 interrupt enable */
4091         uint64_t pem0                         : 1;  /**< Write 1 to clear PEM0 interrupt enable */
4092         uint64_t ptp                          : 1;  /**< Write 1 to clear PTP interrupt enable */
4093         uint64_t agl                          : 1;  /**< Write 1 to clear AGL interrupt enable */
4094         uint64_t reserved_41_45               : 5;
4095         uint64_t dpi_dma                      : 1;  /**< Write 1 to clear DPI_DMA interrupt enable */
4096         uint64_t reserved_38_39               : 2;
4097         uint64_t agx1                         : 1;  /**< Write 1 to clear GMX1 interrupt enable */
4098         uint64_t agx0                         : 1;  /**< Write 1 to clear GMX0 interrupt enable */
4099         uint64_t dpi                          : 1;  /**< Write 1 to clear DPI interrupt enable */
4100         uint64_t sli                          : 1;  /**< Write 1 to clear SLI interrupt enable */
4101         uint64_t usb                          : 1;  /**< Write 1 to clear USB UCTL0 interrupt enable */
4102         uint64_t dfa                          : 1;  /**< Write 1 to clear DFA interrupt enable */
4103         uint64_t key                          : 1;  /**< Write 1 to clear KEY interrupt enable */
4104         uint64_t rad                          : 1;  /**< Write 1 to clear RAD interrupt enable */
4105         uint64_t tim                          : 1;  /**< Write 1 to clear TIM interrupt enable */
4106         uint64_t zip                          : 1;  /**< Write 1 to clear ZIP interrupt enable */
4107         uint64_t pko                          : 1;  /**< Write 1 to clear PKO interrupt enable */
4108         uint64_t pip                          : 1;  /**< Write 1 to clear PIP interrupt enable */
4109         uint64_t ipd                          : 1;  /**< Write 1 to clear IPD interrupt enable */
4110         uint64_t l2c                          : 1;  /**< Write 1 to clear L2C interrupt enable */
4111         uint64_t pow                          : 1;  /**< Write 1 to clear POW err interrupt enable */
4112         uint64_t fpa                          : 1;  /**< Write 1 to clear FPA interrupt enable */
4113         uint64_t iob                          : 1;  /**< Write 1 to clear IOB interrupt enable */
4114         uint64_t mio                          : 1;  /**< Write 1 to clear MIO boot interrupt enable */
4115         uint64_t nand                         : 1;  /**< Write 1 to clear EMMC Flash Controller interrupt
4116                                                          enable */
4117         uint64_t mii1                         : 1;  /**< Write 1 to clear RGMII/MIX Interface 1
4118                                                          Interrupt enable */
4119         uint64_t reserved_4_17                : 14;
4120         uint64_t wdog                         : 4;  /**< Write 1s to clear Watchdog summary interrupt enable */
4121 #else
4122         uint64_t wdog                         : 4;
4123         uint64_t reserved_4_17                : 14;
4124         uint64_t mii1                         : 1;
4125         uint64_t nand                         : 1;
4126         uint64_t mio                          : 1;
4127         uint64_t iob                          : 1;
4128         uint64_t fpa                          : 1;
4129         uint64_t pow                          : 1;
4130         uint64_t l2c                          : 1;
4131         uint64_t ipd                          : 1;
4132         uint64_t pip                          : 1;
4133         uint64_t pko                          : 1;
4134         uint64_t zip                          : 1;
4135         uint64_t tim                          : 1;
4136         uint64_t rad                          : 1;
4137         uint64_t key                          : 1;
4138         uint64_t dfa                          : 1;
4139         uint64_t usb                          : 1;
4140         uint64_t sli                          : 1;
4141         uint64_t dpi                          : 1;
4142         uint64_t agx0                         : 1;
4143         uint64_t agx1                         : 1;
4144         uint64_t reserved_38_39               : 2;
4145         uint64_t dpi_dma                      : 1;
4146         uint64_t reserved_41_45               : 5;
4147         uint64_t agl                          : 1;
4148         uint64_t ptp                          : 1;
4149         uint64_t pem0                         : 1;
4150         uint64_t pem1                         : 1;
4151         uint64_t reserved_50_51               : 2;
4152         uint64_t lmc0                         : 1;
4153         uint64_t reserved_53_62               : 10;
4154         uint64_t rst                          : 1;
4155 #endif
4156         } cn61xx;
4157         struct cvmx_ciu_intx_en1_w1c_cn63xx {
4158 #ifdef __BIG_ENDIAN_BITFIELD
4159         uint64_t rst                          : 1;  /**< Write 1 to clear MIO RST interrupt enable */
4160         uint64_t reserved_57_62               : 6;
4161         uint64_t dfm                          : 1;  /**< Write 1 to clear DFM interrupt enable */
4162         uint64_t reserved_53_55               : 3;
4163         uint64_t lmc0                         : 1;  /**< Write 1 to clear LMC0 interrupt enable */
4164         uint64_t srio1                        : 1;  /**< Write 1 to clear SRIO1 interrupt enable */
4165         uint64_t srio0                        : 1;  /**< Write 1 to clear SRIO0 interrupt enable */
4166         uint64_t pem1                         : 1;  /**< Write 1 to clear PEM1 interrupt enable */
4167         uint64_t pem0                         : 1;  /**< Write 1 to clear PEM0 interrupt enable */
4168         uint64_t ptp                          : 1;  /**< Write 1 to clear PTP interrupt enable */
4169         uint64_t agl                          : 1;  /**< Write 1 to clear AGL interrupt enable */
4170         uint64_t reserved_37_45               : 9;
4171         uint64_t agx0                         : 1;  /**< Write 1 to clear GMX0 interrupt enable */
4172         uint64_t dpi                          : 1;  /**< Write 1 to clear DPI interrupt enable */
4173         uint64_t sli                          : 1;  /**< Write 1 to clear SLI interrupt enable */
4174         uint64_t usb                          : 1;  /**< Write 1 to clear USB UCTL0 interrupt enable */
4175         uint64_t dfa                          : 1;  /**< Write 1 to clear DFA interrupt enable */
4176         uint64_t key                          : 1;  /**< Write 1 to clear KEY interrupt enable */
4177         uint64_t rad                          : 1;  /**< Write 1 to clear RAD interrupt enable */
4178         uint64_t tim                          : 1;  /**< Write 1 to clear TIM interrupt enable */
4179         uint64_t zip                          : 1;  /**< Write 1 to clear ZIP interrupt enable */
4180         uint64_t pko                          : 1;  /**< Write 1 to clear PKO interrupt enable */
4181         uint64_t pip                          : 1;  /**< Write 1 to clear PIP interrupt enable */
4182         uint64_t ipd                          : 1;  /**< Write 1 to clear IPD interrupt enable */
4183         uint64_t l2c                          : 1;  /**< Write 1 to clear L2C interrupt enable */
4184         uint64_t pow                          : 1;  /**< Write 1 to clear POW err interrupt enable */
4185         uint64_t fpa                          : 1;  /**< Write 1 to clear FPA interrupt enable */
4186         uint64_t iob                          : 1;  /**< Write 1 to clear IOB interrupt enable */
4187         uint64_t mio                          : 1;  /**< Write 1 to clear MIO boot interrupt enable */
4188         uint64_t nand                         : 1;  /**< Write 1 to clear NAND Flash Controller interrupt
4189                                                          enable */
4190         uint64_t mii1                         : 1;  /**< Write 1 to clear RGMII/MII/MIX Interface 1
4191                                                          Interrupt enable */
4192         uint64_t reserved_6_17                : 12;
4193         uint64_t wdog                         : 6;  /**< Write 1s to clear Watchdog summary interrupt enable */
4194 #else
4195         uint64_t wdog                         : 6;
4196         uint64_t reserved_6_17                : 12;
4197         uint64_t mii1                         : 1;
4198         uint64_t nand                         : 1;
4199         uint64_t mio                          : 1;
4200         uint64_t iob                          : 1;
4201         uint64_t fpa                          : 1;
4202         uint64_t pow                          : 1;
4203         uint64_t l2c                          : 1;
4204         uint64_t ipd                          : 1;
4205         uint64_t pip                          : 1;
4206         uint64_t pko                          : 1;
4207         uint64_t zip                          : 1;
4208         uint64_t tim                          : 1;
4209         uint64_t rad                          : 1;
4210         uint64_t key                          : 1;
4211         uint64_t dfa                          : 1;
4212         uint64_t usb                          : 1;
4213         uint64_t sli                          : 1;
4214         uint64_t dpi                          : 1;
4215         uint64_t agx0                         : 1;
4216         uint64_t reserved_37_45               : 9;
4217         uint64_t agl                          : 1;
4218         uint64_t ptp                          : 1;
4219         uint64_t pem0                         : 1;
4220         uint64_t pem1                         : 1;
4221         uint64_t srio0                        : 1;
4222         uint64_t srio1                        : 1;
4223         uint64_t lmc0                         : 1;
4224         uint64_t reserved_53_55               : 3;
4225         uint64_t dfm                          : 1;
4226         uint64_t reserved_57_62               : 6;
4227         uint64_t rst                          : 1;
4228 #endif
4229         } cn63xx;
4230         struct cvmx_ciu_intx_en1_w1c_cn63xx   cn63xxp1;
4231         struct cvmx_ciu_intx_en1_w1c_cn66xx {
4232 #ifdef __BIG_ENDIAN_BITFIELD
4233         uint64_t rst                          : 1;  /**< Write 1 to clear MIO RST interrupt enable */
4234         uint64_t reserved_62_62               : 1;
4235         uint64_t srio3                        : 1;  /**< Write 1 to clear SRIO3 interrupt enable */
4236         uint64_t srio2                        : 1;  /**< Write 1 to clear SRIO2 interrupt enable */
4237         uint64_t reserved_57_59               : 3;
4238         uint64_t dfm                          : 1;  /**< Write 1 to clear DFM interrupt enable */
4239         uint64_t reserved_53_55               : 3;
4240         uint64_t lmc0                         : 1;  /**< Write 1 to clear LMC0 interrupt enable */
4241         uint64_t reserved_51_51               : 1;
4242         uint64_t srio0                        : 1;  /**< Write 1 to clear SRIO0 interrupt enable */
4243         uint64_t pem1                         : 1;  /**< Write 1 to clear PEM1 interrupt enable */
4244         uint64_t pem0                         : 1;  /**< Write 1 to clear PEM0 interrupt enable */
4245         uint64_t ptp                          : 1;  /**< Write 1 to clear PTP interrupt enable */
4246         uint64_t agl                          : 1;  /**< Write 1 to clear AGL interrupt enable */
4247         uint64_t reserved_38_45               : 8;
4248         uint64_t agx1                         : 1;  /**< Write 1 to clear GMX1 interrupt enable */
4249         uint64_t agx0                         : 1;  /**< Write 1 to clear GMX0 interrupt enable */
4250         uint64_t dpi                          : 1;  /**< Write 1 to clear DPI interrupt enable */
4251         uint64_t sli                          : 1;  /**< Write 1 to clear SLI interrupt enable */
4252         uint64_t usb                          : 1;  /**< Write 1 to clear USB UCTL0 interrupt enable */
4253         uint64_t dfa                          : 1;  /**< Write 1 to clear DFA interrupt enable */
4254         uint64_t key                          : 1;  /**< Write 1 to clear KEY interrupt enable */
4255         uint64_t rad                          : 1;  /**< Write 1 to clear RAD interrupt enable */
4256         uint64_t tim                          : 1;  /**< Write 1 to clear TIM interrupt enable */
4257         uint64_t zip                          : 1;  /**< Write 1 to clear ZIP interrupt enable */
4258         uint64_t pko                          : 1;  /**< Write 1 to clear PKO interrupt enable */
4259         uint64_t pip                          : 1;  /**< Write 1 to clear PIP interrupt enable */
4260         uint64_t ipd                          : 1;  /**< Write 1 to clear IPD interrupt enable */
4261         uint64_t l2c                          : 1;  /**< Write 1 to clear L2C interrupt enable */
4262         uint64_t pow                          : 1;  /**< Write 1 to clear POW err interrupt enable */
4263         uint64_t fpa                          : 1;  /**< Write 1 to clear FPA interrupt enable */
4264         uint64_t iob                          : 1;  /**< Write 1 to clear IOB interrupt enable */
4265         uint64_t mio                          : 1;  /**< Write 1 to clear MIO boot interrupt enable */
4266         uint64_t nand                         : 1;  /**< Write 1 to clear NAND Flash Controller interrupt
4267                                                          enable */
4268         uint64_t mii1                         : 1;  /**< Write 1 to clear RGMII/MII/MIX Interface 1
4269                                                          Interrupt enable */
4270         uint64_t reserved_10_17               : 8;
4271         uint64_t wdog                         : 10; /**< Write 1s to clear Watchdog summary interrupt enable */
4272 #else
4273         uint64_t wdog                         : 10;
4274         uint64_t reserved_10_17               : 8;
4275         uint64_t mii1                         : 1;
4276         uint64_t nand                         : 1;
4277         uint64_t mio                          : 1;
4278         uint64_t iob                          : 1;
4279         uint64_t fpa                          : 1;
4280         uint64_t pow                          : 1;
4281         uint64_t l2c                          : 1;
4282         uint64_t ipd                          : 1;
4283         uint64_t pip                          : 1;
4284         uint64_t pko                          : 1;
4285         uint64_t zip                          : 1;
4286         uint64_t tim                          : 1;
4287         uint64_t rad                          : 1;
4288         uint64_t key                          : 1;
4289         uint64_t dfa                          : 1;
4290         uint64_t usb                          : 1;
4291         uint64_t sli                          : 1;
4292         uint64_t dpi                          : 1;
4293         uint64_t agx0                         : 1;
4294         uint64_t agx1                         : 1;
4295         uint64_t reserved_38_45               : 8;
4296         uint64_t agl                          : 1;
4297         uint64_t ptp                          : 1;
4298         uint64_t pem0                         : 1;
4299         uint64_t pem1                         : 1;
4300         uint64_t srio0                        : 1;
4301         uint64_t reserved_51_51               : 1;
4302         uint64_t lmc0                         : 1;
4303         uint64_t reserved_53_55               : 3;
4304         uint64_t dfm                          : 1;
4305         uint64_t reserved_57_59               : 3;
4306         uint64_t srio2                        : 1;
4307         uint64_t srio3                        : 1;
4308         uint64_t reserved_62_62               : 1;
4309         uint64_t rst                          : 1;
4310 #endif
4311         } cn66xx;
4312         struct cvmx_ciu_intx_en1_w1c_cnf71xx {
4313 #ifdef __BIG_ENDIAN_BITFIELD
4314         uint64_t rst                          : 1;  /**< Write 1 to clear MIO RST interrupt enable */
4315         uint64_t reserved_53_62               : 10;
4316         uint64_t lmc0                         : 1;  /**< Write 1 to clear LMC0 interrupt enable */
4317         uint64_t reserved_50_51               : 2;
4318         uint64_t pem1                         : 1;  /**< Write 1 to clear PEM1 interrupt enable */
4319         uint64_t pem0                         : 1;  /**< Write 1 to clear PEM0 interrupt enable */
4320         uint64_t ptp                          : 1;  /**< Write 1 to clear PTP interrupt enable */
4321         uint64_t reserved_41_46               : 6;
4322         uint64_t dpi_dma                      : 1;  /**< Write 1 to clear DPI_DMA interrupt enable */
4323         uint64_t reserved_37_39               : 3;
4324         uint64_t agx0                         : 1;  /**< Write 1 to clear GMX0 interrupt enable */
4325         uint64_t dpi                          : 1;  /**< Write 1 to clear DPI interrupt enable */
4326         uint64_t sli                          : 1;  /**< Write 1 to clear SLI interrupt enable */
4327         uint64_t usb                          : 1;  /**< Write 1 to clear USB UCTL0 interrupt enable */
4328         uint64_t reserved_32_32               : 1;
4329         uint64_t key                          : 1;  /**< Write 1 to clear KEY interrupt enable */
4330         uint64_t rad                          : 1;  /**< Write 1 to clear RAD interrupt enable */
4331         uint64_t tim                          : 1;  /**< Write 1 to clear TIM interrupt enable */
4332         uint64_t reserved_28_28               : 1;
4333         uint64_t pko                          : 1;  /**< Write 1 to clear PKO interrupt enable */
4334         uint64_t pip                          : 1;  /**< Write 1 to clear PIP interrupt enable */
4335         uint64_t ipd                          : 1;  /**< Write 1 to clear IPD interrupt enable */
4336         uint64_t l2c                          : 1;  /**< Write 1 to clear L2C interrupt enable */
4337         uint64_t pow                          : 1;  /**< Write 1 to clear POW err interrupt enable */
4338         uint64_t fpa                          : 1;  /**< Write 1 to clear FPA interrupt enable */
4339         uint64_t iob                          : 1;  /**< Write 1 to clear IOB interrupt enable */
4340         uint64_t mio                          : 1;  /**< Write 1 to clear MIO boot interrupt enable */
4341         uint64_t nand                         : 1;  /**< Write 1 to clear EMMC Flash Controller interrupt
4342                                                          enable */
4343         uint64_t reserved_4_18                : 15;
4344         uint64_t wdog                         : 4;  /**< Write 1s to clear Watchdog summary interrupt enable */
4345 #else
4346         uint64_t wdog                         : 4;
4347         uint64_t reserved_4_18                : 15;
4348         uint64_t nand                         : 1;
4349         uint64_t mio                          : 1;
4350         uint64_t iob                          : 1;
4351         uint64_t fpa                          : 1;
4352         uint64_t pow                          : 1;
4353         uint64_t l2c                          : 1;
4354         uint64_t ipd                          : 1;
4355         uint64_t pip                          : 1;
4356         uint64_t pko                          : 1;
4357         uint64_t reserved_28_28               : 1;
4358         uint64_t tim                          : 1;
4359         uint64_t rad                          : 1;
4360         uint64_t key                          : 1;
4361         uint64_t reserved_32_32               : 1;
4362         uint64_t usb                          : 1;
4363         uint64_t sli                          : 1;
4364         uint64_t dpi                          : 1;
4365         uint64_t agx0                         : 1;
4366         uint64_t reserved_37_39               : 3;
4367         uint64_t dpi_dma                      : 1;
4368         uint64_t reserved_41_46               : 6;
4369         uint64_t ptp                          : 1;
4370         uint64_t pem0                         : 1;
4371         uint64_t pem1                         : 1;
4372         uint64_t reserved_50_51               : 2;
4373         uint64_t lmc0                         : 1;
4374         uint64_t reserved_53_62               : 10;
4375         uint64_t rst                          : 1;
4376 #endif
4377         } cnf71xx;
4378 };
4379 typedef union cvmx_ciu_intx_en1_w1c cvmx_ciu_intx_en1_w1c_t;
4380
4381 /**
4382  * cvmx_ciu_int#_en1_w1s
4383  *
4384  * Notes:
4385  * Write-1-to-set version of the CIU_INTX_EN1 register, read back corresponding CIU_INTX_EN1 value.
4386  *
4387  */
4388 union cvmx_ciu_intx_en1_w1s {
4389         uint64_t u64;
4390         struct cvmx_ciu_intx_en1_w1s_s {
4391 #ifdef __BIG_ENDIAN_BITFIELD
4392         uint64_t rst                          : 1;  /**< Write 1 to set MIO RST interrupt enable */
4393         uint64_t reserved_62_62               : 1;
4394         uint64_t srio3                        : 1;  /**< Write 1 to set SRIO3 interrupt enable */
4395         uint64_t srio2                        : 1;  /**< Write 1 to set SRIO2 interrupt enable */
4396         uint64_t reserved_57_59               : 3;
4397         uint64_t dfm                          : 1;  /**< Write 1 to set DFM interrupt enable */
4398         uint64_t reserved_53_55               : 3;
4399         uint64_t lmc0                         : 1;  /**< Write 1 to set LMC0 interrupt enable */
4400         uint64_t srio1                        : 1;  /**< Write 1 to set SRIO1 interrupt enable */
4401         uint64_t srio0                        : 1;  /**< Write 1 to set SRIO0 interrupt enable */
4402         uint64_t pem1                         : 1;  /**< Write 1 to set PEM1 interrupt enable */
4403         uint64_t pem0                         : 1;  /**< Write 1 to set PEM0 interrupt enable */
4404         uint64_t ptp                          : 1;  /**< Write 1 to set PTP interrupt enable */
4405         uint64_t agl                          : 1;  /**< Write 1 to set AGL interrupt enable */
4406         uint64_t reserved_41_45               : 5;
4407         uint64_t dpi_dma                      : 1;  /**< Write 1 to set DPI_DMA interrupt enable */
4408         uint64_t reserved_38_39               : 2;
4409         uint64_t agx1                         : 1;  /**< Write 1 to set GMX1 interrupt enable */
4410         uint64_t agx0                         : 1;  /**< Write 1 to set GMX0 interrupt enable */
4411         uint64_t dpi                          : 1;  /**< Write 1 to set DPI interrupt enable */
4412         uint64_t sli                          : 1;  /**< Write 1 to set SLI interrupt enable */
4413         uint64_t usb                          : 1;  /**< Write 1 to set USB UCTL0 interrupt enable */
4414         uint64_t dfa                          : 1;  /**< Write 1 to set DFA interrupt enable */
4415         uint64_t key                          : 1;  /**< Write 1 to set KEY interrupt enable */
4416         uint64_t rad                          : 1;  /**< Write 1 to set RAD interrupt enable */
4417         uint64_t tim                          : 1;  /**< Write 1 to set TIM interrupt enable */
4418         uint64_t zip                          : 1;  /**< Write 1 to set ZIP interrupt enable */
4419         uint64_t pko                          : 1;  /**< Write 1 to set PKO interrupt enable */
4420         uint64_t pip                          : 1;  /**< Write 1 to set PIP interrupt enable */
4421         uint64_t ipd                          : 1;  /**< Write 1 to set IPD interrupt enable */
4422         uint64_t l2c                          : 1;  /**< Write 1 to set L2C interrupt enable */
4423         uint64_t pow                          : 1;  /**< Write 1 to set POW err interrupt enable */
4424         uint64_t fpa                          : 1;  /**< Write 1 to set FPA interrupt enable */
4425         uint64_t iob                          : 1;  /**< Write 1 to set IOB interrupt enable */
4426         uint64_t mio                          : 1;  /**< Write 1 to set MIO boot interrupt enable */
4427         uint64_t nand                         : 1;  /**< Write 1 to set EMMC Flash Controller interrupt
4428                                                          enable */
4429         uint64_t mii1                         : 1;  /**< Write 1 to set RGMII/MII/MIX Interface 1 Interrupt
4430                                                          enable */
4431         uint64_t usb1                         : 1;  /**< Second USB Interrupt */
4432         uint64_t uart2                        : 1;  /**< Third UART interrupt */
4433         uint64_t wdog                         : 16; /**< Write 1s to set Watchdog summary interrupt enable */
4434 #else
4435         uint64_t wdog                         : 16;
4436         uint64_t uart2                        : 1;
4437         uint64_t usb1                         : 1;
4438         uint64_t mii1                         : 1;
4439         uint64_t nand                         : 1;
4440         uint64_t mio                          : 1;
4441         uint64_t iob                          : 1;
4442         uint64_t fpa                          : 1;
4443         uint64_t pow                          : 1;
4444         uint64_t l2c                          : 1;
4445         uint64_t ipd                          : 1;
4446         uint64_t pip                          : 1;
4447         uint64_t pko                          : 1;
4448         uint64_t zip                          : 1;
4449         uint64_t tim                          : 1;
4450         uint64_t rad                          : 1;
4451         uint64_t key                          : 1;
4452         uint64_t dfa                          : 1;
4453         uint64_t usb                          : 1;
4454         uint64_t sli                          : 1;
4455         uint64_t dpi                          : 1;
4456         uint64_t agx0                         : 1;
4457         uint64_t agx1                         : 1;
4458         uint64_t reserved_38_39               : 2;
4459         uint64_t dpi_dma                      : 1;
4460         uint64_t reserved_41_45               : 5;
4461         uint64_t agl                          : 1;
4462         uint64_t ptp                          : 1;
4463         uint64_t pem0                         : 1;
4464         uint64_t pem1                         : 1;
4465         uint64_t srio0                        : 1;
4466         uint64_t srio1                        : 1;
4467         uint64_t lmc0                         : 1;
4468         uint64_t reserved_53_55               : 3;
4469         uint64_t dfm                          : 1;
4470         uint64_t reserved_57_59               : 3;
4471         uint64_t srio2                        : 1;
4472         uint64_t srio3                        : 1;
4473         uint64_t reserved_62_62               : 1;
4474         uint64_t rst                          : 1;
4475 #endif
4476         } s;
4477         struct cvmx_ciu_intx_en1_w1s_cn52xx {
4478 #ifdef __BIG_ENDIAN_BITFIELD
4479         uint64_t reserved_20_63               : 44;
4480         uint64_t nand                         : 1;  /**< NAND Flash Controller */
4481         uint64_t mii1                         : 1;  /**< Second MII Interrupt */
4482         uint64_t usb1                         : 1;  /**< Second USB Interrupt */
4483         uint64_t uart2                        : 1;  /**< Third UART interrupt */
4484         uint64_t reserved_4_15                : 12;
4485         uint64_t wdog                         : 4;  /**< Watchdog summary interrupt enable vector */
4486 #else
4487         uint64_t wdog                         : 4;
4488         uint64_t reserved_4_15                : 12;
4489         uint64_t uart2                        : 1;
4490         uint64_t usb1                         : 1;
4491         uint64_t mii1                         : 1;
4492         uint64_t nand                         : 1;
4493         uint64_t reserved_20_63               : 44;
4494 #endif
4495         } cn52xx;
4496         struct cvmx_ciu_intx_en1_w1s_cn56xx {
4497 #ifdef __BIG_ENDIAN_BITFIELD
4498         uint64_t reserved_12_63               : 52;
4499         uint64_t wdog                         : 12; /**< Watchdog summary interrupt enable vectory */
4500 #else
4501         uint64_t wdog                         : 12;
4502         uint64_t reserved_12_63               : 52;
4503 #endif
4504         } cn56xx;
4505         struct cvmx_ciu_intx_en1_w1s_cn58xx {
4506 #ifdef __BIG_ENDIAN_BITFIELD
4507         uint64_t reserved_16_63               : 48;
4508         uint64_t wdog                         : 16; /**< Watchdog summary interrupt enable vectory */
4509 #else
4510         uint64_t wdog                         : 16;
4511         uint64_t reserved_16_63               : 48;
4512 #endif
4513         } cn58xx;
4514         struct cvmx_ciu_intx_en1_w1s_cn61xx {
4515 #ifdef __BIG_ENDIAN_BITFIELD
4516         uint64_t rst                          : 1;  /**< Write 1 to set MIO RST interrupt enable */
4517         uint64_t reserved_53_62               : 10;
4518         uint64_t lmc0                         : 1;  /**< Write 1 to set LMC0 interrupt enable */
4519         uint64_t reserved_50_51               : 2;
4520         uint64_t pem1                         : 1;  /**< Write 1 to set PEM1 interrupt enable */
4521         uint64_t pem0                         : 1;  /**< Write 1 to set PEM0 interrupt enable */
4522         uint64_t ptp                          : 1;  /**< Write 1 to set PTP interrupt enable */
4523         uint64_t agl                          : 1;  /**< Write 1 to set AGL interrupt enable */
4524         uint64_t reserved_41_45               : 5;
4525         uint64_t dpi_dma                      : 1;  /**< Write 1 to set DPI_DMA interrupt enable */
4526         uint64_t reserved_38_39               : 2;
4527         uint64_t agx1                         : 1;  /**< Write 1 to set GMX1 interrupt enable */
4528         uint64_t agx0                         : 1;  /**< Write 1 to set GMX0 interrupt enable */
4529         uint64_t dpi                          : 1;  /**< Write 1 to set DPI interrupt enable */
4530         uint64_t sli                          : 1;  /**< Write 1 to set SLI interrupt enable */
4531         uint64_t usb                          : 1;  /**< Write 1 to set USB UCTL0 interrupt enable */
4532         uint64_t dfa                          : 1;  /**< Write 1 to set DFA interrupt enable */
4533         uint64_t key                          : 1;  /**< Write 1 to set KEY interrupt enable */
4534         uint64_t rad                          : 1;  /**< Write 1 to set RAD interrupt enable */
4535         uint64_t tim                          : 1;  /**< Write 1 to set TIM interrupt enable */
4536         uint64_t zip                          : 1;  /**< Write 1 to set ZIP interrupt enable */
4537         uint64_t pko                          : 1;  /**< Write 1 to set PKO interrupt enable */
4538         uint64_t pip                          : 1;  /**< Write 1 to set PIP interrupt enable */
4539         uint64_t ipd                          : 1;  /**< Write 1 to set IPD interrupt enable */
4540         uint64_t l2c                          : 1;  /**< Write 1 to set L2C interrupt enable */
4541         uint64_t pow                          : 1;  /**< Write 1 to set POW err interrupt enable */
4542         uint64_t fpa                          : 1;  /**< Write 1 to set FPA interrupt enable */
4543         uint64_t iob                          : 1;  /**< Write 1 to set IOB interrupt enable */
4544         uint64_t mio                          : 1;  /**< Write 1 to set MIO boot interrupt enable */
4545         uint64_t nand                         : 1;  /**< Write 1 to set EMMC Flash Controller interrupt
4546                                                          enable */
4547         uint64_t mii1                         : 1;  /**< Write 1 to set RGMII/MIX Interface 1 Interrupt
4548                                                          enable */
4549         uint64_t reserved_4_17                : 14;
4550         uint64_t wdog                         : 4;  /**< Write 1s to set Watchdog summary interrupt enable */
4551 #else
4552         uint64_t wdog                         : 4;
4553         uint64_t reserved_4_17                : 14;
4554         uint64_t mii1                         : 1;
4555         uint64_t nand                         : 1;
4556         uint64_t mio                          : 1;
4557         uint64_t iob                          : 1;
4558         uint64_t fpa                          : 1;
4559         uint64_t pow                          : 1;
4560         uint64_t l2c                          : 1;
4561         uint64_t ipd                          : 1;
4562         uint64_t pip                          : 1;
4563         uint64_t pko                          : 1;
4564         uint64_t zip                          : 1;
4565         uint64_t tim                          : 1;
4566         uint64_t rad                          : 1;
4567         uint64_t key                          : 1;
4568         uint64_t dfa                          : 1;
4569         uint64_t usb                          : 1;
4570         uint64_t sli                          : 1;
4571         uint64_t dpi                          : 1;
4572         uint64_t agx0                         : 1;
4573         uint64_t agx1                         : 1;
4574         uint64_t reserved_38_39               : 2;
4575         uint64_t dpi_dma                      : 1;
4576         uint64_t reserved_41_45               : 5;
4577         uint64_t agl                          : 1;
4578         uint64_t ptp                          : 1;
4579         uint64_t pem0                         : 1;
4580         uint64_t pem1                         : 1;
4581         uint64_t reserved_50_51               : 2;
4582         uint64_t lmc0                         : 1;
4583         uint64_t reserved_53_62               : 10;
4584         uint64_t rst                          : 1;
4585 #endif
4586         } cn61xx;
4587         struct cvmx_ciu_intx_en1_w1s_cn63xx {
4588 #ifdef __BIG_ENDIAN_BITFIELD
4589         uint64_t rst                          : 1;  /**< Write 1 to set MIO RST interrupt enable */
4590         uint64_t reserved_57_62               : 6;
4591         uint64_t dfm                          : 1;  /**< Write 1 to set DFM interrupt enable */
4592         uint64_t reserved_53_55               : 3;
4593         uint64_t lmc0                         : 1;  /**< Write 1 to set LMC0 interrupt enable */
4594         uint64_t srio1                        : 1;  /**< Write 1 to set SRIO1 interrupt enable */
4595         uint64_t srio0                        : 1;  /**< Write 1 to set SRIO0 interrupt enable */
4596         uint64_t pem1                         : 1;  /**< Write 1 to set PEM1 interrupt enable */
4597         uint64_t pem0                         : 1;  /**< Write 1 to set PEM0 interrupt enable */
4598         uint64_t ptp                          : 1;  /**< Write 1 to set PTP interrupt enable */
4599         uint64_t agl                          : 1;  /**< Write 1 to set AGL interrupt enable */
4600         uint64_t reserved_37_45               : 9;
4601         uint64_t agx0                         : 1;  /**< Write 1 to set GMX0 interrupt enable */
4602         uint64_t dpi                          : 1;  /**< Write 1 to set DPI interrupt enable */
4603         uint64_t sli                          : 1;  /**< Write 1 to set SLI interrupt enable */
4604         uint64_t usb                          : 1;  /**< Write 1 to set USB UCTL0 interrupt enable */
4605         uint64_t dfa                          : 1;  /**< Write 1 to set DFA interrupt enable */
4606         uint64_t key                          : 1;  /**< Write 1 to set KEY interrupt enable */
4607         uint64_t rad                          : 1;  /**< Write 1 to set RAD interrupt enable */
4608         uint64_t tim                          : 1;  /**< Write 1 to set TIM interrupt enable */
4609         uint64_t zip                          : 1;  /**< Write 1 to set ZIP interrupt enable */
4610         uint64_t pko                          : 1;  /**< Write 1 to set PKO interrupt enable */
4611         uint64_t pip                          : 1;  /**< Write 1 to set PIP interrupt enable */
4612         uint64_t ipd                          : 1;  /**< Write 1 to set IPD interrupt enable */
4613         uint64_t l2c                          : 1;  /**< Write 1 to set L2C interrupt enable */
4614         uint64_t pow                          : 1;  /**< Write 1 to set POW err interrupt enable */
4615         uint64_t fpa                          : 1;  /**< Write 1 to set FPA interrupt enable */
4616         uint64_t iob                          : 1;  /**< Write 1 to set IOB interrupt enable */
4617         uint64_t mio                          : 1;  /**< Write 1 to set MIO boot interrupt enable */
4618         uint64_t nand                         : 1;  /**< Write 1 to set NAND Flash Controller interrupt
4619                                                          enable */
4620         uint64_t mii1                         : 1;  /**< Write 1 to set RGMII/MII/MIX Interface 1 Interrupt
4621                                                          enable */
4622         uint64_t reserved_6_17                : 12;
4623         uint64_t wdog                         : 6;  /**< Write 1s to set Watchdog summary interrupt enable */
4624 #else
4625         uint64_t wdog                         : 6;
4626         uint64_t reserved_6_17                : 12;
4627         uint64_t mii1                         : 1;
4628         uint64_t nand                         : 1;
4629         uint64_t mio                          : 1;
4630         uint64_t iob                          : 1;
4631         uint64_t fpa                          : 1;
4632         uint64_t pow                          : 1;
4633         uint64_t l2c                          : 1;
4634         uint64_t ipd                          : 1;
4635         uint64_t pip                          : 1;
4636         uint64_t pko                          : 1;
4637         uint64_t zip                          : 1;
4638         uint64_t tim                          : 1;
4639         uint64_t rad                          : 1;
4640         uint64_t key                          : 1;
4641         uint64_t dfa                          : 1;
4642         uint64_t usb                          : 1;
4643         uint64_t sli                          : 1;
4644         uint64_t dpi                          : 1;
4645         uint64_t agx0                         : 1;
4646         uint64_t reserved_37_45               : 9;
4647         uint64_t agl                          : 1;
4648         uint64_t ptp                          : 1;
4649         uint64_t pem0                         : 1;
4650         uint64_t pem1                         : 1;
4651         uint64_t srio0                        : 1;
4652         uint64_t srio1                        : 1;
4653         uint64_t lmc0                         : 1;
4654         uint64_t reserved_53_55               : 3;
4655         uint64_t dfm                          : 1;
4656         uint64_t reserved_57_62               : 6;
4657         uint64_t rst                          : 1;
4658 #endif
4659         } cn63xx;
4660         struct cvmx_ciu_intx_en1_w1s_cn63xx   cn63xxp1;
4661         struct cvmx_ciu_intx_en1_w1s_cn66xx {
4662 #ifdef __BIG_ENDIAN_BITFIELD
4663         uint64_t rst                          : 1;  /**< Write 1 to set MIO RST interrupt enable */
4664         uint64_t reserved_62_62               : 1;
4665         uint64_t srio3                        : 1;  /**< Write 1 to set SRIO3 interrupt enable */
4666         uint64_t srio2                        : 1;  /**< Write 1 to set SRIO2 interrupt enable */
4667         uint64_t reserved_57_59               : 3;
4668         uint64_t dfm                          : 1;  /**< Write 1 to set DFM interrupt enable */
4669         uint64_t reserved_53_55               : 3;
4670         uint64_t lmc0                         : 1;  /**< Write 1 to set LMC0 interrupt enable */
4671         uint64_t reserved_51_51               : 1;
4672         uint64_t srio0                        : 1;  /**< Write 1 to set SRIO0 interrupt enable */
4673         uint64_t pem1                         : 1;  /**< Write 1 to set PEM1 interrupt enable */
4674         uint64_t pem0                         : 1;  /**< Write 1 to set PEM0 interrupt enable */
4675         uint64_t ptp                          : 1;  /**< Write 1 to set PTP interrupt enable */
4676         uint64_t agl                          : 1;  /**< Write 1 to set AGL interrupt enable */
4677         uint64_t reserved_38_45               : 8;
4678         uint64_t agx1                         : 1;  /**< Write 1 to set GMX1 interrupt enable */
4679         uint64_t agx0                         : 1;  /**< Write 1 to set GMX0 interrupt enable */
4680         uint64_t dpi                          : 1;  /**< Write 1 to set DPI interrupt enable */
4681         uint64_t sli                          : 1;  /**< Write 1 to set SLI interrupt enable */
4682         uint64_t usb                          : 1;  /**< Write 1 to set USB UCTL0 interrupt enable */
4683         uint64_t dfa                          : 1;  /**< Write 1 to set DFA interrupt enable */
4684         uint64_t key                          : 1;  /**< Write 1 to set KEY interrupt enable */
4685         uint64_t rad                          : 1;  /**< Write 1 to set RAD interrupt enable */
4686         uint64_t tim                          : 1;  /**< Write 1 to set TIM interrupt enable */
4687         uint64_t zip                          : 1;  /**< Write 1 to set ZIP interrupt enable */
4688         uint64_t pko                          : 1;  /**< Write 1 to set PKO interrupt enable */
4689         uint64_t pip                          : 1;  /**< Write 1 to set PIP interrupt enable */
4690         uint64_t ipd                          : 1;  /**< Write 1 to set IPD interrupt enable */
4691         uint64_t l2c                          : 1;  /**< Write 1 to set L2C interrupt enable */
4692         uint64_t pow                          : 1;  /**< Write 1 to set POW err interrupt enable */
4693         uint64_t fpa                          : 1;  /**< Write 1 to set FPA interrupt enable */
4694         uint64_t iob                          : 1;  /**< Write 1 to set IOB interrupt enable */
4695         uint64_t mio                          : 1;  /**< Write 1 to set MIO boot interrupt enable */
4696         uint64_t nand                         : 1;  /**< Write 1 to set NAND Flash Controller interrupt
4697                                                          enable */
4698         uint64_t mii1                         : 1;  /**< Write 1 to set RGMII/MII/MIX Interface 1 Interrupt
4699                                                          enable */
4700         uint64_t reserved_10_17               : 8;
4701         uint64_t wdog                         : 10; /**< Write 1s to set Watchdog summary interrupt enable */
4702 #else
4703         uint64_t wdog                         : 10;
4704         uint64_t reserved_10_17               : 8;
4705         uint64_t mii1                         : 1;
4706         uint64_t nand                         : 1;
4707         uint64_t mio                          : 1;
4708         uint64_t iob                          : 1;
4709         uint64_t fpa                          : 1;
4710         uint64_t pow                          : 1;
4711         uint64_t l2c                          : 1;
4712         uint64_t ipd                          : 1;
4713         uint64_t pip                          : 1;
4714         uint64_t pko                          : 1;
4715         uint64_t zip                          : 1;
4716         uint64_t tim                          : 1;
4717         uint64_t rad                          : 1;
4718         uint64_t key                          : 1;
4719         uint64_t dfa                          : 1;
4720         uint64_t usb                          : 1;
4721         uint64_t sli                          : 1;
4722         uint64_t dpi                          : 1;
4723         uint64_t agx0                         : 1;
4724         uint64_t agx1                         : 1;
4725         uint64_t reserved_38_45               : 8;
4726         uint64_t agl                          : 1;
4727         uint64_t ptp                          : 1;
4728         uint64_t pem0                         : 1;
4729         uint64_t pem1                         : 1;
4730         uint64_t srio0                        : 1;
4731         uint64_t reserved_51_51               : 1;
4732         uint64_t lmc0                         : 1;
4733         uint64_t reserved_53_55               : 3;
4734         uint64_t dfm                          : 1;
4735         uint64_t reserved_57_59               : 3;
4736         uint64_t srio2                        : 1;
4737         uint64_t srio3                        : 1;
4738         uint64_t reserved_62_62               : 1;
4739         uint64_t rst                          : 1;
4740 #endif
4741         } cn66xx;
4742         struct cvmx_ciu_intx_en1_w1s_cnf71xx {
4743 #ifdef __BIG_ENDIAN_BITFIELD
4744         uint64_t rst                          : 1;  /**< Write 1 to set MIO RST interrupt enable */
4745         uint64_t reserved_53_62               : 10;
4746         uint64_t lmc0                         : 1;  /**< Write 1 to set LMC0 interrupt enable */
4747         uint64_t reserved_50_51               : 2;
4748         uint64_t pem1                         : 1;  /**< Write 1 to set PEM1 interrupt enable */
4749         uint64_t pem0                         : 1;  /**< Write 1 to set PEM0 interrupt enable */
4750         uint64_t ptp                          : 1;  /**< Write 1 to set PTP interrupt enable */
4751         uint64_t reserved_41_46               : 6;
4752         uint64_t dpi_dma                      : 1;  /**< Write 1 to set DPI_DMA interrupt enable */
4753         uint64_t reserved_37_39               : 3;
4754         uint64_t agx0                         : 1;  /**< Write 1 to set GMX0 interrupt enable */
4755         uint64_t dpi                          : 1;  /**< Write 1 to set DPI interrupt enable */
4756         uint64_t sli                          : 1;  /**< Write 1 to set SLI interrupt enable */
4757         uint64_t usb                          : 1;  /**< Write 1 to set USB UCTL0 interrupt enable */
4758         uint64_t reserved_32_32               : 1;
4759         uint64_t key                          : 1;  /**< Write 1 to set KEY interrupt enable */
4760         uint64_t rad                          : 1;  /**< Write 1 to set RAD interrupt enable */
4761         uint64_t tim                          : 1;  /**< Write 1 to set TIM interrupt enable */
4762         uint64_t reserved_28_28               : 1;
4763         uint64_t pko                          : 1;  /**< Write 1 to set PKO interrupt enable */
4764         uint64_t pip                          : 1;  /**< Write 1 to set PIP interrupt enable */
4765         uint64_t ipd                          : 1;  /**< Write 1 to set IPD interrupt enable */
4766         uint64_t l2c                          : 1;  /**< Write 1 to set L2C interrupt enable */
4767         uint64_t pow                          : 1;  /**< Write 1 to set POW err interrupt enable */
4768         uint64_t fpa                          : 1;  /**< Write 1 to set FPA interrupt enable */
4769         uint64_t iob                          : 1;  /**< Write 1 to set IOB interrupt enable */
4770         uint64_t mio                          : 1;  /**< Write 1 to set MIO boot interrupt enable */
4771         uint64_t nand                         : 1;  /**< Write 1 to set EMMC Flash Controller interrupt
4772                                                          enable */
4773         uint64_t reserved_4_18                : 15;
4774         uint64_t wdog                         : 4;  /**< Write 1s to set Watchdog summary interrupt enable */
4775 #else
4776         uint64_t wdog                         : 4;
4777         uint64_t reserved_4_18                : 15;
4778         uint64_t nand                         : 1;
4779         uint64_t mio                          : 1;
4780         uint64_t iob                          : 1;
4781         uint64_t fpa                          : 1;
4782         uint64_t pow                          : 1;
4783         uint64_t l2c                          : 1;
4784         uint64_t ipd                          : 1;
4785         uint64_t pip                          : 1;
4786         uint64_t pko                          : 1;
4787         uint64_t reserved_28_28               : 1;
4788         uint64_t tim                          : 1;
4789         uint64_t rad                          : 1;
4790         uint64_t key                          : 1;
4791         uint64_t reserved_32_32               : 1;
4792         uint64_t usb                          : 1;
4793         uint64_t sli                          : 1;
4794         uint64_t dpi                          : 1;
4795         uint64_t agx0                         : 1;
4796         uint64_t reserved_37_39               : 3;
4797         uint64_t dpi_dma                      : 1;
4798         uint64_t reserved_41_46               : 6;
4799         uint64_t ptp                          : 1;
4800         uint64_t pem0                         : 1;
4801         uint64_t pem1                         : 1;
4802         uint64_t reserved_50_51               : 2;
4803         uint64_t lmc0                         : 1;
4804         uint64_t reserved_53_62               : 10;
4805         uint64_t rst                          : 1;
4806 #endif
4807         } cnf71xx;
4808 };
4809 typedef union cvmx_ciu_intx_en1_w1s cvmx_ciu_intx_en1_w1s_t;
4810
4811 /**
4812  * cvmx_ciu_int#_en4_0
4813  *
4814  * Notes:
4815  * CIU_INT0_EN4_0:   PP0  /IP4
4816  * CIU_INT1_EN4_0:   PP1  /IP4
4817  * ...
4818  * CIU_INT3_EN4_0:   PP3  /IP4
4819  */
4820 union cvmx_ciu_intx_en4_0 {
4821         uint64_t u64;
4822         struct cvmx_ciu_intx_en4_0_s {
4823 #ifdef __BIG_ENDIAN_BITFIELD
4824         uint64_t bootdma                      : 1;  /**< Boot bus DMA engines Interrupt enable */
4825         uint64_t mii                          : 1;  /**< RGMII/MII/MIX Interface 0 Interrupt enable */
4826         uint64_t ipdppthr                     : 1;  /**< IPD per-port counter threshold interrupt enable */
4827         uint64_t powiq                        : 1;  /**< POW IQ interrupt enable */
4828         uint64_t twsi2                        : 1;  /**< 2nd TWSI Interrupt enable */
4829         uint64_t mpi                          : 1;  /**< MPI/SPI interrupt enable */
4830         uint64_t pcm                          : 1;  /**< PCM/TDM interrupt enable */
4831         uint64_t usb                          : 1;  /**< USB EHCI or OHCI Interrupt enable */
4832         uint64_t timer                        : 4;  /**< General timer interrupt enables */
4833         uint64_t key_zero                     : 1;  /**< Key Zeroization interrupt */
4834         uint64_t ipd_drp                      : 1;  /**< IPD QOS packet drop interrupt enable */
4835         uint64_t gmx_drp                      : 2;  /**< GMX packet drop interrupt enable */
4836         uint64_t trace                        : 1;  /**< Trace buffer interrupt enable */
4837         uint64_t rml                          : 1;  /**< RML Interrupt enable */
4838         uint64_t twsi                         : 1;  /**< TWSI Interrupt enable */
4839         uint64_t reserved_44_44               : 1;
4840         uint64_t pci_msi                      : 4;  /**< PCIe MSI enables */
4841         uint64_t pci_int                      : 4;  /**< PCIe INTA/B/C/D enables */
4842         uint64_t uart                         : 2;  /**< Two UART interrupt enables */
4843         uint64_t mbox                         : 2;  /**< Two mailbox interrupt enables */
4844         uint64_t gpio                         : 16; /**< 16 GPIO interrupt enables */
4845         uint64_t workq                        : 16; /**< 16 work queue interrupt enables */
4846 #else
4847         uint64_t workq                        : 16;
4848         uint64_t gpio                         : 16;
4849         uint64_t mbox                         : 2;
4850         uint64_t uart                         : 2;
4851         uint64_t pci_int                      : 4;
4852         uint64_t pci_msi                      : 4;
4853         uint64_t reserved_44_44               : 1;
4854         uint64_t twsi                         : 1;
4855         uint64_t rml                          : 1;
4856         uint64_t trace                        : 1;
4857         uint64_t gmx_drp                      : 2;
4858         uint64_t ipd_drp                      : 1;
4859         uint64_t key_zero                     : 1;
4860         uint64_t timer                        : 4;
4861         uint64_t usb                          : 1;
4862         uint64_t pcm                          : 1;
4863         uint64_t mpi                          : 1;
4864         uint64_t twsi2                        : 1;
4865         uint64_t powiq                        : 1;
4866         uint64_t ipdppthr                     : 1;
4867         uint64_t mii                          : 1;
4868         uint64_t bootdma                      : 1;
4869 #endif
4870         } s;
4871         struct cvmx_ciu_intx_en4_0_cn50xx {
4872 #ifdef __BIG_ENDIAN_BITFIELD
4873         uint64_t reserved_59_63               : 5;
4874         uint64_t mpi                          : 1;  /**< MPI/SPI interrupt */
4875         uint64_t pcm                          : 1;  /**< PCM/TDM interrupt */
4876         uint64_t usb                          : 1;  /**< USB interrupt */
4877         uint64_t timer                        : 4;  /**< General timer interrupts */
4878         uint64_t reserved_51_51               : 1;
4879         uint64_t ipd_drp                      : 1;  /**< IPD QOS packet drop */
4880         uint64_t reserved_49_49               : 1;
4881         uint64_t gmx_drp                      : 1;  /**< GMX packet drop */
4882         uint64_t reserved_47_47               : 1;
4883         uint64_t rml                          : 1;  /**< RML Interrupt */
4884         uint64_t twsi                         : 1;  /**< TWSI Interrupt */
4885         uint64_t reserved_44_44               : 1;
4886         uint64_t pci_msi                      : 4;  /**< PCI MSI */
4887         uint64_t pci_int                      : 4;  /**< PCI INTA/B/C/D */
4888         uint64_t uart                         : 2;  /**< Two UART interrupts */
4889         uint64_t mbox                         : 2;  /**< Two mailbox/PCI interrupts */
4890         uint64_t gpio                         : 16; /**< 16 GPIO interrupts */
4891         uint64_t workq                        : 16; /**< 16 work queue interrupts */
4892 #else
4893         uint64_t workq                        : 16;
4894         uint64_t gpio                         : 16;
4895         uint64_t mbox                         : 2;
4896         uint64_t uart                         : 2;
4897         uint64_t pci_int                      : 4;
4898         uint64_t pci_msi                      : 4;
4899         uint64_t reserved_44_44               : 1;
4900         uint64_t twsi                         : 1;
4901         uint64_t rml                          : 1;
4902         uint64_t reserved_47_47               : 1;
4903         uint64_t gmx_drp                      : 1;
4904         uint64_t reserved_49_49               : 1;
4905         uint64_t ipd_drp                      : 1;
4906         uint64_t reserved_51_51               : 1;
4907         uint64_t timer                        : 4;
4908         uint64_t usb                          : 1;
4909         uint64_t pcm                          : 1;
4910         uint64_t mpi                          : 1;
4911         uint64_t reserved_59_63               : 5;
4912 #endif
4913         } cn50xx;
4914         struct cvmx_ciu_intx_en4_0_cn52xx {
4915 #ifdef __BIG_ENDIAN_BITFIELD
4916         uint64_t bootdma                      : 1;  /**< Boot bus DMA engines Interrupt */
4917         uint64_t mii                          : 1;  /**< MII Interface Interrupt */
4918         uint64_t ipdppthr                     : 1;  /**< IPD per-port counter threshold interrupt */
4919         uint64_t powiq                        : 1;  /**< POW IQ interrupt */
4920         uint64_t twsi2                        : 1;  /**< 2nd TWSI Interrupt */
4921         uint64_t reserved_57_58               : 2;
4922         uint64_t usb                          : 1;  /**< USB Interrupt */
4923         uint64_t timer                        : 4;  /**< General timer interrupts */
4924         uint64_t reserved_51_51               : 1;
4925         uint64_t ipd_drp                      : 1;  /**< IPD QOS packet drop */
4926         uint64_t reserved_49_49               : 1;
4927         uint64_t gmx_drp                      : 1;  /**< GMX packet drop */
4928         uint64_t trace                        : 1;  /**< L2C has the CMB trace buffer */
4929         uint64_t rml                          : 1;  /**< RML Interrupt */
4930         uint64_t twsi                         : 1;  /**< TWSI Interrupt */
4931         uint64_t reserved_44_44               : 1;
4932         uint64_t pci_msi                      : 4;  /**< PCI MSI */
4933         uint64_t pci_int                      : 4;  /**< PCI INTA/B/C/D */
4934         uint64_t uart                         : 2;  /**< Two UART interrupts */
4935         uint64_t mbox                         : 2;  /**< Two mailbox/PCI interrupts */
4936         uint64_t gpio                         : 16; /**< 16 GPIO interrupts */
4937         uint64_t workq                        : 16; /**< 16 work queue interrupts */
4938 #else
4939         uint64_t workq                        : 16;
4940         uint64_t gpio                         : 16;
4941         uint64_t mbox                         : 2;
4942         uint64_t uart                         : 2;
4943         uint64_t pci_int                      : 4;
4944         uint64_t pci_msi                      : 4;
4945         uint64_t reserved_44_44               : 1;
4946         uint64_t twsi                         : 1;
4947         uint64_t rml                          : 1;
4948         uint64_t trace                        : 1;
4949         uint64_t gmx_drp                      : 1;
4950         uint64_t reserved_49_49               : 1;
4951         uint64_t ipd_drp                      : 1;
4952         uint64_t reserved_51_51               : 1;
4953         uint64_t timer                        : 4;
4954         uint64_t usb                          : 1;
4955         uint64_t reserved_57_58               : 2;
4956         uint64_t twsi2                        : 1;
4957         uint64_t powiq                        : 1;
4958         uint64_t ipdppthr                     : 1;
4959         uint64_t mii                          : 1;
4960         uint64_t bootdma                      : 1;
4961 #endif
4962         } cn52xx;
4963         struct cvmx_ciu_intx_en4_0_cn52xx     cn52xxp1;
4964         struct cvmx_ciu_intx_en4_0_cn56xx {
4965 #ifdef __BIG_ENDIAN_BITFIELD
4966         uint64_t bootdma                      : 1;  /**< Boot bus DMA engines Interrupt */
4967         uint64_t mii                          : 1;  /**< MII Interface Interrupt */
4968         uint64_t ipdppthr                     : 1;  /**< IPD per-port counter threshold interrupt */
4969         uint64_t powiq                        : 1;  /**< POW IQ interrupt */
4970         uint64_t twsi2                        : 1;  /**< 2nd TWSI Interrupt */
4971         uint64_t reserved_57_58               : 2;
4972         uint64_t usb                          : 1;  /**< USB Interrupt */
4973         uint64_t timer                        : 4;  /**< General timer interrupts */
4974         uint64_t key_zero                     : 1;  /**< Key Zeroization interrupt */
4975         uint64_t ipd_drp                      : 1;  /**< IPD QOS packet drop */
4976         uint64_t gmx_drp                      : 2;  /**< GMX packet drop */
4977         uint64_t trace                        : 1;  /**< L2C has the CMB trace buffer */
4978         uint64_t rml                          : 1;  /**< RML Interrupt */
4979         uint64_t twsi                         : 1;  /**< TWSI Interrupt */
4980         uint64_t reserved_44_44               : 1;
4981         uint64_t pci_msi                      : 4;  /**< PCI MSI */
4982         uint64_t pci_int                      : 4;  /**< PCI INTA/B/C/D */
4983         uint64_t uart                         : 2;  /**< Two UART interrupts */
4984         uint64_t mbox                         : 2;  /**< Two mailbox/PCI interrupts */
4985         uint64_t gpio                         : 16; /**< 16 GPIO interrupts */
4986         uint64_t workq                        : 16; /**< 16 work queue interrupts */
4987 #else
4988         uint64_t workq                        : 16;
4989         uint64_t gpio                         : 16;
4990         uint64_t mbox                         : 2;
4991         uint64_t uart                         : 2;
4992         uint64_t pci_int                      : 4;
4993         uint64_t pci_msi                      : 4;
4994         uint64_t reserved_44_44               : 1;
4995         uint64_t twsi                         : 1;
4996         uint64_t rml                          : 1;
4997         uint64_t trace                        : 1;
4998         uint64_t gmx_drp                      : 2;
4999         uint64_t ipd_drp                      : 1;
5000         uint64_t key_zero                     : 1;
5001         uint64_t timer                        : 4;
5002         uint64_t usb                          : 1;
5003         uint64_t reserved_57_58               : 2;
5004         uint64_t twsi2                        : 1;
5005         uint64_t powiq                        : 1;
5006         uint64_t ipdppthr                     : 1;
5007         uint64_t mii                          : 1;
5008         uint64_t bootdma                      : 1;
5009 #endif
5010         } cn56xx;
5011         struct cvmx_ciu_intx_en4_0_cn56xx     cn56xxp1;
5012         struct cvmx_ciu_intx_en4_0_cn58xx {
5013 #ifdef __BIG_ENDIAN_BITFIELD
5014         uint64_t reserved_56_63               : 8;
5015         uint64_t timer                        : 4;  /**< General timer interrupts */
5016         uint64_t key_zero                     : 1;  /**< Key Zeroization interrupt */
5017         uint64_t ipd_drp                      : 1;  /**< IPD QOS packet drop */
5018         uint64_t gmx_drp                      : 2;  /**< GMX packet drop */
5019         uint64_t trace                        : 1;  /**< L2C has the CMB trace buffer */
5020         uint64_t rml                          : 1;  /**< RML Interrupt */
5021         uint64_t twsi                         : 1;  /**< TWSI Interrupt */
5022         uint64_t reserved_44_44               : 1;
5023         uint64_t pci_msi                      : 4;  /**< PCI MSI */
5024         uint64_t pci_int                      : 4;  /**< PCI INTA/B/C/D */
5025         uint64_t uart                         : 2;  /**< Two UART interrupts */
5026         uint64_t mbox                         : 2;  /**< Two mailbox/PCI interrupts */
5027         uint64_t gpio                         : 16; /**< 16 GPIO interrupts */
5028         uint64_t workq                        : 16; /**< 16 work queue interrupts */
5029 #else
5030         uint64_t workq                        : 16;
5031         uint64_t gpio                         : 16;
5032         uint64_t mbox                         : 2;
5033         uint64_t uart                         : 2;
5034         uint64_t pci_int                      : 4;
5035         uint64_t pci_msi                      : 4;
5036         uint64_t reserved_44_44               : 1;
5037         uint64_t twsi                         : 1;
5038         uint64_t rml                          : 1;
5039         uint64_t trace                        : 1;
5040         uint64_t gmx_drp                      : 2;
5041         uint64_t ipd_drp                      : 1;
5042         uint64_t key_zero                     : 1;
5043         uint64_t timer                        : 4;
5044         uint64_t reserved_56_63               : 8;
5045 #endif
5046         } cn58xx;
5047         struct cvmx_ciu_intx_en4_0_cn58xx     cn58xxp1;
5048         struct cvmx_ciu_intx_en4_0_cn61xx {
5049 #ifdef __BIG_ENDIAN_BITFIELD
5050         uint64_t bootdma                      : 1;  /**< Boot bus DMA engines Interrupt enable */
5051         uint64_t mii                          : 1;  /**< RGMII/MIX Interface 0 Interrupt enable */
5052         uint64_t ipdppthr                     : 1;  /**< IPD per-port counter threshold interrupt enable */
5053         uint64_t powiq                        : 1;  /**< POW IQ interrupt enable */
5054         uint64_t twsi2                        : 1;  /**< 2nd TWSI Interrupt enable */
5055         uint64_t mpi                          : 1;  /**< MPI/SPI interrupt enable */
5056         uint64_t pcm                          : 1;  /**< PCM/TDM interrupt enable */
5057         uint64_t usb                          : 1;  /**< USB EHCI or OHCI Interrupt enable */
5058         uint64_t timer                        : 4;  /**< General timer interrupt enables */
5059         uint64_t reserved_51_51               : 1;
5060         uint64_t ipd_drp                      : 1;  /**< IPD QOS packet drop interrupt enable */
5061         uint64_t gmx_drp                      : 2;  /**< GMX packet drop interrupt enable */
5062         uint64_t trace                        : 1;  /**< Trace buffer interrupt enable */
5063         uint64_t rml                          : 1;  /**< RML Interrupt enable */
5064         uint64_t twsi                         : 1;  /**< TWSI Interrupt enable */
5065         uint64_t reserved_44_44               : 1;
5066         uint64_t pci_msi                      : 4;  /**< PCIe MSI enables */
5067         uint64_t pci_int                      : 4;  /**< PCIe INTA/B/C/D enables */
5068         uint64_t uart                         : 2;  /**< Two UART interrupt enables */
5069         uint64_t mbox                         : 2;  /**< Two mailbox interrupt enables */
5070         uint64_t gpio                         : 16; /**< 16 GPIO interrupt enables */
5071         uint64_t workq                        : 16; /**< 16 work queue interrupt enables */
5072 #else
5073         uint64_t workq                        : 16;
5074         uint64_t gpio                         : 16;
5075         uint64_t mbox                         : 2;
5076         uint64_t uart                         : 2;
5077         uint64_t pci_int                      : 4;
5078         uint64_t pci_msi                      : 4;
5079         uint64_t reserved_44_44               : 1;
5080         uint64_t twsi                         : 1;
5081         uint64_t rml                          : 1;
5082         uint64_t trace                        : 1;
5083         uint64_t gmx_drp                      : 2;
5084         uint64_t ipd_drp                      : 1;
5085         uint64_t reserved_51_51               : 1;
5086         uint64_t timer                        : 4;
5087         uint64_t usb                          : 1;
5088         uint64_t pcm                          : 1;
5089         uint64_t mpi                          : 1;
5090         uint64_t twsi2                        : 1;
5091         uint64_t powiq                        : 1;
5092         uint64_t ipdppthr                     : 1;
5093         uint64_t mii                          : 1;
5094         uint64_t bootdma                      : 1;
5095 #endif
5096         } cn61xx;
5097         struct cvmx_ciu_intx_en4_0_cn52xx     cn63xx;
5098         struct cvmx_ciu_intx_en4_0_cn52xx     cn63xxp1;
5099         struct cvmx_ciu_intx_en4_0_cn66xx {
5100 #ifdef __BIG_ENDIAN_BITFIELD
5101         uint64_t bootdma                      : 1;  /**< Boot bus DMA engines Interrupt enable */
5102         uint64_t mii                          : 1;  /**< RGMII/MII/MIX Interface 0 Interrupt enable */
5103         uint64_t ipdppthr                     : 1;  /**< IPD per-port counter threshold interrupt enable */
5104         uint64_t powiq                        : 1;  /**< POW IQ interrupt enable */
5105         uint64_t twsi2                        : 1;  /**< 2nd TWSI Interrupt enable */
5106         uint64_t mpi                          : 1;  /**< MPI/SPI interrupt enable */
5107         uint64_t reserved_57_57               : 1;
5108         uint64_t usb                          : 1;  /**< USB EHCI or OHCI Interrupt enable */
5109         uint64_t timer                        : 4;  /**< General timer interrupt enables */
5110         uint64_t reserved_51_51               : 1;
5111         uint64_t ipd_drp                      : 1;  /**< IPD QOS packet drop interrupt enable */
5112         uint64_t gmx_drp                      : 2;  /**< GMX packet drop interrupt enable */
5113         uint64_t trace                        : 1;  /**< Trace buffer interrupt enable */
5114         uint64_t rml                          : 1;  /**< RML Interrupt enable */
5115         uint64_t twsi                         : 1;  /**< TWSI Interrupt enable */
5116         uint64_t reserved_44_44               : 1;
5117         uint64_t pci_msi                      : 4;  /**< PCIe/sRIO MSI enables */
5118         uint64_t pci_int                      : 4;  /**< PCIe INTA/B/C/D enables */
5119         uint64_t uart                         : 2;  /**< Two UART interrupt enables */
5120         uint64_t mbox                         : 2;  /**< Two mailbox interrupt enables */
5121         uint64_t gpio                         : 16; /**< 16 GPIO interrupt enables */
5122         uint64_t workq                        : 16; /**< 16 work queue interrupt enables */
5123 #else
5124         uint64_t workq                        : 16;
5125         uint64_t gpio                         : 16;
5126         uint64_t mbox                         : 2;
5127         uint64_t uart                         : 2;
5128         uint64_t pci_int                      : 4;
5129         uint64_t pci_msi                      : 4;
5130         uint64_t reserved_44_44               : 1;
5131         uint64_t twsi                         : 1;
5132         uint64_t rml                          : 1;
5133         uint64_t trace                        : 1;
5134         uint64_t gmx_drp                      : 2;
5135         uint64_t ipd_drp                      : 1;
5136         uint64_t reserved_51_51               : 1;
5137         uint64_t timer                        : 4;
5138         uint64_t usb                          : 1;
5139         uint64_t reserved_57_57               : 1;
5140         uint64_t mpi                          : 1;
5141         uint64_t twsi2                        : 1;
5142         uint64_t powiq                        : 1;
5143         uint64_t ipdppthr                     : 1;
5144         uint64_t mii                          : 1;
5145         uint64_t bootdma                      : 1;
5146 #endif
5147         } cn66xx;
5148         struct cvmx_ciu_intx_en4_0_cnf71xx {
5149 #ifdef __BIG_ENDIAN_BITFIELD
5150         uint64_t bootdma                      : 1;  /**< Boot bus DMA engines Interrupt enable */
5151         uint64_t reserved_62_62               : 1;
5152         uint64_t ipdppthr                     : 1;  /**< IPD per-port counter threshold interrupt enable */
5153         uint64_t powiq                        : 1;  /**< POW IQ interrupt enable */
5154         uint64_t twsi2                        : 1;  /**< 2nd TWSI Interrupt enable */
5155         uint64_t mpi                          : 1;  /**< MPI/SPI interrupt enable */
5156         uint64_t pcm                          : 1;  /**< PCM/TDM interrupt enable */
5157         uint64_t usb                          : 1;  /**< USB EHCI or OHCI Interrupt enable */
5158         uint64_t timer                        : 4;  /**< General timer interrupt enables */
5159         uint64_t reserved_51_51               : 1;
5160         uint64_t ipd_drp                      : 1;  /**< IPD QOS packet drop interrupt enable */
5161         uint64_t reserved_49_49               : 1;
5162         uint64_t gmx_drp                      : 1;  /**< GMX packet drop interrupt enable */
5163         uint64_t trace                        : 1;  /**< Trace buffer interrupt enable */
5164         uint64_t rml                          : 1;  /**< RML Interrupt enable */
5165         uint64_t twsi                         : 1;  /**< TWSI Interrupt enable */
5166         uint64_t reserved_44_44               : 1;
5167         uint64_t pci_msi                      : 4;  /**< PCIe MSI enables */
5168         uint64_t pci_int                      : 4;  /**< PCIe INTA/B/C/D enables */
5169         uint64_t uart                         : 2;  /**< Two UART interrupt enables */
5170         uint64_t mbox                         : 2;  /**< Two mailbox interrupt enables */
5171         uint64_t gpio                         : 16; /**< 16 GPIO interrupt enables */
5172         uint64_t workq                        : 16; /**< 16 work queue interrupt enables */
5173 #else
5174         uint64_t workq                        : 16;
5175         uint64_t gpio                         : 16;
5176         uint64_t mbox                         : 2;
5177         uint64_t uart                         : 2;
5178         uint64_t pci_int                      : 4;
5179         uint64_t pci_msi                      : 4;
5180         uint64_t reserved_44_44               : 1;
5181         uint64_t twsi                         : 1;
5182         uint64_t rml                          : 1;
5183         uint64_t trace                        : 1;
5184         uint64_t gmx_drp                      : 1;
5185         uint64_t reserved_49_49               : 1;
5186         uint64_t ipd_drp                      : 1;
5187         uint64_t reserved_51_51               : 1;
5188         uint64_t timer                        : 4;
5189         uint64_t usb                          : 1;
5190         uint64_t pcm                          : 1;
5191         uint64_t mpi                          : 1;
5192         uint64_t twsi2                        : 1;
5193         uint64_t powiq                        : 1;
5194         uint64_t ipdppthr                     : 1;
5195         uint64_t reserved_62_62               : 1;
5196         uint64_t bootdma                      : 1;
5197 #endif
5198         } cnf71xx;
5199 };
5200 typedef union cvmx_ciu_intx_en4_0 cvmx_ciu_intx_en4_0_t;
5201
5202 /**
5203  * cvmx_ciu_int#_en4_0_w1c
5204  *
5205  * Notes:
5206  * Write-1-to-clear version of the CIU_INTx_EN4_0 register, read back corresponding CIU_INTx_EN4_0 value.
5207  *
5208  */
5209 union cvmx_ciu_intx_en4_0_w1c {
5210         uint64_t u64;
5211         struct cvmx_ciu_intx_en4_0_w1c_s {
5212 #ifdef __BIG_ENDIAN_BITFIELD
5213         uint64_t bootdma                      : 1;  /**< Write 1 to clear Boot bus DMA engines Interrupt
5214                                                          enable */
5215         uint64_t mii                          : 1;  /**< Write 1 to clr RGMII/MII/MIX Interface 0 Interrupt
5216                                                          enable */
5217         uint64_t ipdppthr                     : 1;  /**< Write 1 to clear IPD per-port counter threshold
5218                                                          interrupt enable */
5219         uint64_t powiq                        : 1;  /**< Write 1 to clear POW IQ interrupt enable */
5220         uint64_t twsi2                        : 1;  /**< Write 1 to clear 2nd TWSI Interrupt enable */
5221         uint64_t mpi                          : 1;  /**< Write 1 to clear MPI/SPI interrupt enable */
5222         uint64_t pcm                          : 1;  /**< Write 1 to clear PCM/TDM interrupt enable */
5223         uint64_t usb                          : 1;  /**< Write 1 to clear USB EHCI or OHCI Interrupt enable */
5224         uint64_t timer                        : 4;  /**< Write 1 to clear General timer interrupt enables */
5225         uint64_t key_zero                     : 1;  /**< Key Zeroization interrupt */
5226         uint64_t ipd_drp                      : 1;  /**< Write 1 to clear IPD QOS packet drop interrupt
5227                                                          enable */
5228         uint64_t gmx_drp                      : 2;  /**< Write 1 to clear GMX packet drop interrupt enable */
5229         uint64_t trace                        : 1;  /**< Write 1 to clear Trace buffer interrupt enable */
5230         uint64_t rml                          : 1;  /**< Write 1 to clear RML Interrupt enable */
5231         uint64_t twsi                         : 1;  /**< Write 1 to clear TWSI Interrupt enable */
5232         uint64_t reserved_44_44               : 1;
5233         uint64_t pci_msi                      : 4;  /**< Write 1s to clear PCIe MSI enables */
5234         uint64_t pci_int                      : 4;  /**< Write 1s to clear PCIe INTA/B/C/D enables */
5235         uint64_t uart                         : 2;  /**< Write 1s to clear UART interrupt enables */
5236         uint64_t mbox                         : 2;  /**< Write 1s to clear mailbox interrupt enables */
5237         uint64_t gpio                         : 16; /**< Write 1s to clear GPIO interrupt enables */
5238         uint64_t workq                        : 16; /**< Write 1s to clear work queue interrupt enables */
5239 #else
5240         uint64_t workq                        : 16;
5241         uint64_t gpio                         : 16;
5242         uint64_t mbox                         : 2;
5243         uint64_t uart                         : 2;
5244         uint64_t pci_int                      : 4;
5245         uint64_t pci_msi                      : 4;
5246         uint64_t reserved_44_44               : 1;
5247         uint64_t twsi                         : 1;
5248         uint64_t rml                          : 1;
5249         uint64_t trace                        : 1;
5250         uint64_t gmx_drp                      : 2;
5251         uint64_t ipd_drp                      : 1;
5252         uint64_t key_zero                     : 1;
5253         uint64_t timer                        : 4;
5254         uint64_t usb                          : 1;
5255         uint64_t pcm                          : 1;
5256         uint64_t mpi                          : 1;
5257         uint64_t twsi2                        : 1;
5258         uint64_t powiq                        : 1;
5259         uint64_t ipdppthr                     : 1;
5260         uint64_t mii                          : 1;
5261         uint64_t bootdma                      : 1;
5262 #endif
5263         } s;
5264         struct cvmx_ciu_intx_en4_0_w1c_cn52xx {
5265 #ifdef __BIG_ENDIAN_BITFIELD
5266         uint64_t bootdma                      : 1;  /**< Boot bus DMA engines Interrupt */
5267         uint64_t mii                          : 1;  /**< MII Interface Interrupt */
5268         uint64_t ipdppthr                     : 1;  /**< IPD per-port counter threshold interrupt */
5269         uint64_t powiq                        : 1;  /**< POW IQ interrupt */
5270         uint64_t twsi2                        : 1;  /**< 2nd TWSI Interrupt */
5271         uint64_t reserved_57_58               : 2;
5272         uint64_t usb                          : 1;  /**< USB Interrupt */
5273         uint64_t timer                        : 4;  /**< General timer interrupts */
5274         uint64_t reserved_51_51               : 1;
5275         uint64_t ipd_drp                      : 1;  /**< IPD QOS packet drop */
5276         uint64_t reserved_49_49               : 1;
5277         uint64_t gmx_drp                      : 1;  /**< GMX packet drop */
5278         uint64_t trace                        : 1;  /**< L2C has the CMB trace buffer */
5279         uint64_t rml                          : 1;  /**< RML Interrupt */
5280         uint64_t twsi                         : 1;  /**< TWSI Interrupt */
5281         uint64_t reserved_44_44               : 1;
5282         uint64_t pci_msi                      : 4;  /**< PCI MSI */
5283         uint64_t pci_int                      : 4;  /**< PCI INTA/B/C/D */
5284         uint64_t uart                         : 2;  /**< Two UART interrupts */
5285         uint64_t mbox                         : 2;  /**< Two mailbox/PCI interrupts */
5286         uint64_t gpio                         : 16; /**< 16 GPIO interrupts */
5287         uint64_t workq                        : 16; /**< 16 work queue interrupts */
5288 #else
5289         uint64_t workq                        : 16;
5290         uint64_t gpio                         : 16;
5291         uint64_t mbox                         : 2;
5292         uint64_t uart                         : 2;
5293         uint64_t pci_int                      : 4;
5294         uint64_t pci_msi                      : 4;
5295         uint64_t reserved_44_44               : 1;
5296         uint64_t twsi                         : 1;
5297         uint64_t rml                          : 1;
5298         uint64_t trace                        : 1;
5299         uint64_t gmx_drp                      : 1;
5300         uint64_t reserved_49_49               : 1;
5301         uint64_t ipd_drp                      : 1;
5302         uint64_t reserved_51_51               : 1;
5303         uint64_t timer                        : 4;
5304         uint64_t usb                          : 1;
5305         uint64_t reserved_57_58               : 2;
5306         uint64_t twsi2                        : 1;
5307         uint64_t powiq                        : 1;
5308         uint64_t ipdppthr                     : 1;
5309         uint64_t mii                          : 1;
5310         uint64_t bootdma                      : 1;
5311 #endif
5312         } cn52xx;
5313         struct cvmx_ciu_intx_en4_0_w1c_cn56xx {
5314 #ifdef __BIG_ENDIAN_BITFIELD
5315         uint64_t bootdma                      : 1;  /**< Boot bus DMA engines Interrupt */
5316         uint64_t mii                          : 1;  /**< MII Interface Interrupt */
5317         uint64_t ipdppthr                     : 1;  /**< IPD per-port counter threshold interrupt */
5318         uint64_t powiq                        : 1;  /**< POW IQ interrupt */
5319         uint64_t twsi2                        : 1;  /**< 2nd TWSI Interrupt */
5320         uint64_t reserved_57_58               : 2;
5321         uint64_t usb                          : 1;  /**< USB Interrupt */
5322         uint64_t timer                        : 4;  /**< General timer interrupts */
5323         uint64_t key_zero                     : 1;  /**< Key Zeroization interrupt */
5324         uint64_t ipd_drp                      : 1;  /**< IPD QOS packet drop */
5325         uint64_t gmx_drp                      : 2;  /**< GMX packet drop */
5326         uint64_t trace                        : 1;  /**< L2C has the CMB trace buffer */
5327         uint64_t rml                          : 1;  /**< RML Interrupt */
5328         uint64_t twsi                         : 1;  /**< TWSI Interrupt */
5329         uint64_t reserved_44_44               : 1;
5330         uint64_t pci_msi                      : 4;  /**< PCI MSI */
5331         uint64_t pci_int                      : 4;  /**< PCI INTA/B/C/D */
5332         uint64_t uart                         : 2;  /**< Two UART interrupts */
5333         uint64_t mbox                         : 2;  /**< Two mailbox/PCI interrupts */
5334         uint64_t gpio                         : 16; /**< 16 GPIO interrupts */
5335         uint64_t workq                        : 16; /**< 16 work queue interrupts */
5336 #else
5337         uint64_t workq                        : 16;
5338         uint64_t gpio                         : 16;
5339         uint64_t mbox                         : 2;
5340         uint64_t uart                         : 2;
5341         uint64_t pci_int                      : 4;
5342         uint64_t pci_msi                      : 4;
5343         uint64_t reserved_44_44               : 1;
5344         uint64_t twsi                         : 1;
5345         uint64_t rml                          : 1;
5346         uint64_t trace                        : 1;
5347         uint64_t gmx_drp                      : 2;
5348         uint64_t ipd_drp                      : 1;
5349         uint64_t key_zero                     : 1;
5350         uint64_t timer                        : 4;
5351         uint64_t usb                          : 1;
5352         uint64_t reserved_57_58               : 2;
5353         uint64_t twsi2                        : 1;
5354         uint64_t powiq                        : 1;
5355         uint64_t ipdppthr                     : 1;
5356         uint64_t mii                          : 1;
5357         uint64_t bootdma                      : 1;
5358 #endif
5359         } cn56xx;
5360         struct cvmx_ciu_intx_en4_0_w1c_cn58xx {
5361 #ifdef __BIG_ENDIAN_BITFIELD
5362         uint64_t reserved_56_63               : 8;
5363         uint64_t timer                        : 4;  /**< General timer interrupts */
5364         uint64_t key_zero                     : 1;  /**< Key Zeroization interrupt */
5365         uint64_t ipd_drp                      : 1;  /**< IPD QOS packet drop */
5366         uint64_t gmx_drp                      : 2;  /**< GMX packet drop */
5367         uint64_t trace                        : 1;  /**< L2C has the CMB trace buffer */
5368         uint64_t rml                          : 1;  /**< RML Interrupt */
5369         uint64_t twsi                         : 1;  /**< TWSI Interrupt */
5370         uint64_t reserved_44_44               : 1;
5371         uint64_t pci_msi                      : 4;  /**< PCI MSI */
5372         uint64_t pci_int                      : 4;  /**< PCI INTA/B/C/D */
5373         uint64_t uart                         : 2;  /**< Two UART interrupts */
5374         uint64_t mbox                         : 2;  /**< Two mailbox/PCI interrupts */
5375         uint64_t gpio                         : 16; /**< 16 GPIO interrupts */
5376         uint64_t workq                        : 16; /**< 16 work queue interrupts */
5377 #else
5378         uint64_t workq                        : 16;
5379         uint64_t gpio                         : 16;
5380         uint64_t mbox                         : 2;
5381         uint64_t uart                         : 2;
5382         uint64_t pci_int                      : 4;
5383         uint64_t pci_msi                      : 4;
5384         uint64_t reserved_44_44               : 1;
5385         uint64_t twsi                         : 1;
5386         uint64_t rml                          : 1;
5387         uint64_t trace                        : 1;
5388         uint64_t gmx_drp                      : 2;
5389         uint64_t ipd_drp                      : 1;
5390         uint64_t key_zero                     : 1;
5391         uint64_t timer                        : 4;
5392         uint64_t reserved_56_63               : 8;
5393 #endif
5394         } cn58xx;
5395         struct cvmx_ciu_intx_en4_0_w1c_cn61xx {
5396 #ifdef __BIG_ENDIAN_BITFIELD
5397         uint64_t bootdma                      : 1;  /**< Write 1 to clear Boot bus DMA engines Interrupt
5398                                                          enable */
5399         uint64_t mii                          : 1;  /**< Write 1 to clr RGMII/MIX Interface 0 Interrupt
5400                                                          enable */
5401         uint64_t ipdppthr                     : 1;  /**< Write 1 to clear IPD per-port counter threshold
5402                                                          interrupt enable */
5403         uint64_t powiq                        : 1;  /**< Write 1 to clear POW IQ interrupt enable */
5404         uint64_t twsi2                        : 1;  /**< Write 1 to clear 2nd TWSI Interrupt enable */
5405         uint64_t mpi                          : 1;  /**< Write 1 to clear MPI/SPI interrupt enable */
5406         uint64_t pcm                          : 1;  /**< Write 1 to clear PCM/TDM interrupt enable */
5407         uint64_t usb                          : 1;  /**< Write 1 to clear USB EHCI or OHCI Interrupt enable */
5408         uint64_t timer                        : 4;  /**< Write 1 to clear General timer interrupt enables */
5409         uint64_t reserved_51_51               : 1;
5410         uint64_t ipd_drp                      : 1;  /**< Write 1 to clear IPD QOS packet drop interrupt
5411                                                          enable */
5412         uint64_t gmx_drp                      : 2;  /**< Write 1 to clear GMX packet drop interrupt enable */
5413         uint64_t trace                        : 1;  /**< Write 1 to clear Trace buffer interrupt enable */
5414         uint64_t rml                          : 1;  /**< Write 1 to clear RML Interrupt enable */
5415         uint64_t twsi                         : 1;  /**< Write 1 to clear TWSI Interrupt enable */
5416         uint64_t reserved_44_44               : 1;
5417         uint64_t pci_msi                      : 4;  /**< Write 1s to clear PCIe MSI enables */
5418         uint64_t pci_int                      : 4;  /**< Write 1s to clear PCIe INTA/B/C/D enables */
5419         uint64_t uart                         : 2;  /**< Write 1s to clear UART interrupt enables */
5420         uint64_t mbox                         : 2;  /**< Write 1s to clear mailbox interrupt enables */
5421         uint64_t gpio                         : 16; /**< Write 1s to clear GPIO interrupt enables */
5422         uint64_t workq                        : 16; /**< Write 1s to clear work queue interrupt enables */
5423 #else
5424         uint64_t workq                        : 16;
5425         uint64_t gpio                         : 16;
5426         uint64_t mbox                         : 2;
5427         uint64_t uart                         : 2;
5428         uint64_t pci_int                      : 4;
5429         uint64_t pci_msi                      : 4;
5430         uint64_t reserved_44_44               : 1;
5431         uint64_t twsi                         : 1;
5432         uint64_t rml                          : 1;
5433         uint64_t trace                        : 1;
5434         uint64_t gmx_drp                      : 2;
5435         uint64_t ipd_drp                      : 1;
5436         uint64_t reserved_51_51               : 1;
5437         uint64_t timer                        : 4;
5438         uint64_t usb                          : 1;
5439         uint64_t pcm                          : 1;
5440         uint64_t mpi                          : 1;
5441         uint64_t twsi2                        : 1;
5442         uint64_t powiq                        : 1;
5443         uint64_t ipdppthr                     : 1;
5444         uint64_t mii                          : 1;
5445         uint64_t bootdma                      : 1;
5446 #endif
5447         } cn61xx;
5448         struct cvmx_ciu_intx_en4_0_w1c_cn52xx cn63xx;
5449         struct cvmx_ciu_intx_en4_0_w1c_cn52xx cn63xxp1;
5450         struct cvmx_ciu_intx_en4_0_w1c_cn66xx {
5451 #ifdef __BIG_ENDIAN_BITFIELD
5452         uint64_t bootdma                      : 1;  /**< Write 1 to clear Boot bus DMA engines Interrupt
5453                                                          enable */
5454         uint64_t mii                          : 1;  /**< Write 1 to clr RGMII/MII/MIX Interface 0 Interrupt
5455                                                          enable */
5456         uint64_t ipdppthr                     : 1;  /**< Write 1 to clear IPD per-port counter threshold
5457                                                          interrupt enable */
5458         uint64_t powiq                        : 1;  /**< Write 1 to clear POW IQ interrupt */
5459         uint64_t twsi2                        : 1;  /**< Write 1 to clear 2nd TWSI Interrupt */
5460         uint64_t mpi                          : 1;  /**< Write 1 to clear MPI/SPI interrupt */
5461         uint64_t reserved_57_57               : 1;
5462         uint64_t usb                          : 1;  /**< Write 1 to clear USB EHCI or OHCI Interrupt */
5463         uint64_t timer                        : 4;  /**< Write 1 to clear General timer interrupts */
5464         uint64_t reserved_51_51               : 1;
5465         uint64_t ipd_drp                      : 1;  /**< Write 1 to clear IPD QOS packet drop interrupt
5466                                                          enable */
5467         uint64_t gmx_drp                      : 2;  /**< Write 1 to clear GMX packet drop interrupt enable */
5468         uint64_t trace                        : 1;  /**< Write 1 to clear Trace buffer interrupt enable */
5469         uint64_t rml                          : 1;  /**< Write 1 to clear RML Interrupt enable */
5470         uint64_t twsi                         : 1;  /**< Write 1 to clear TWSI Interrupt enable */
5471         uint64_t reserved_44_44               : 1;
5472         uint64_t pci_msi                      : 4;  /**< Write 1s to clear PCIe/sRIO MSI enables */
5473         uint64_t pci_int                      : 4;  /**< Write 1s to clear PCIe INTA/B/C/D enables */
5474         uint64_t uart                         : 2;  /**< Write 1s to clear UART interrupt enables */
5475         uint64_t mbox                         : 2;  /**< Write 1s to clear mailbox interrupt enables */
5476         uint64_t gpio                         : 16; /**< Write 1s to clear GPIO interrupt enables */
5477         uint64_t workq                        : 16; /**< Write 1s to clear work queue interrupt enables */
5478 #else
5479         uint64_t workq                        : 16;
5480         uint64_t gpio                         : 16;
5481         uint64_t mbox                         : 2;
5482         uint64_t uart                         : 2;
5483         uint64_t pci_int                      : 4;
5484         uint64_t pci_msi                      : 4;
5485         uint64_t reserved_44_44               : 1;
5486         uint64_t twsi                         : 1;
5487         uint64_t rml                          : 1;
5488         uint64_t trace                        : 1;
5489         uint64_t gmx_drp                      : 2;
5490         uint64_t ipd_drp                      : 1;
5491         uint64_t reserved_51_51               : 1;
5492         uint64_t timer                        : 4;
5493         uint64_t usb                          : 1;
5494         uint64_t reserved_57_57               : 1;
5495         uint64_t mpi                          : 1;
5496         uint64_t twsi2                        : 1;
5497         uint64_t powiq                        : 1;
5498         uint64_t ipdppthr                     : 1;
5499         uint64_t mii                          : 1;
5500         uint64_t bootdma                      : 1;
5501 #endif
5502         } cn66xx;
5503         struct cvmx_ciu_intx_en4_0_w1c_cnf71xx {
5504 #ifdef __BIG_ENDIAN_BITFIELD
5505         uint64_t bootdma                      : 1;  /**< Write 1 to clear Boot bus DMA engines Interrupt
5506                                                          enable */
5507         uint64_t reserved_62_62               : 1;
5508         uint64_t ipdppthr                     : 1;  /**< Write 1 to clear IPD per-port counter threshold
5509                                                          interrupt enable */
5510         uint64_t powiq                        : 1;  /**< Write 1 to clear POW IQ interrupt enable */
5511         uint64_t twsi2                        : 1;  /**< Write 1 to clear 2nd TWSI Interrupt enable */
5512         uint64_t mpi                          : 1;  /**< Write 1 to clear MPI/SPI interrupt enable */
5513         uint64_t pcm                          : 1;  /**< Write 1 to clear PCM/TDM interrupt enable */
5514         uint64_t usb                          : 1;  /**< Write 1 to clear USB EHCI or OHCI Interrupt enable */
5515         uint64_t timer                        : 4;  /**< Write 1 to clear General timer interrupt enables */
5516         uint64_t reserved_51_51               : 1;
5517         uint64_t ipd_drp                      : 1;  /**< Write 1 to clear IPD QOS packet drop interrupt
5518                                                          enable */
5519         uint64_t reserved_49_49               : 1;
5520         uint64_t gmx_drp                      : 1;  /**< Write 1 to clear GMX packet drop interrupt enable */
5521         uint64_t trace                        : 1;  /**< Write 1 to clear Trace buffer interrupt enable */
5522         uint64_t rml                          : 1;  /**< Write 1 to clear RML Interrupt enable */
5523         uint64_t twsi                         : 1;  /**< Write 1 to clear TWSI Interrupt enable */
5524         uint64_t reserved_44_44               : 1;
5525         uint64_t pci_msi                      : 4;  /**< Write 1s to clear PCIe MSI enables */
5526         uint64_t pci_int                      : 4;  /**< Write 1s to clear PCIe INTA/B/C/D enables */
5527         uint64_t uart                         : 2;  /**< Write 1s to clear UART interrupt enables */
5528         uint64_t mbox                         : 2;  /**< Write 1s to clear mailbox interrupt enables */
5529         uint64_t gpio                         : 16; /**< Write 1s to clear GPIO interrupt enables */
5530         uint64_t workq                        : 16; /**< Write 1s to clear work queue interrupt enables */
5531 #else
5532         uint64_t workq                        : 16;
5533         uint64_t gpio                         : 16;
5534         uint64_t mbox                         : 2;
5535         uint64_t uart                         : 2;
5536         uint64_t pci_int                      : 4;
5537         uint64_t pci_msi                      : 4;
5538         uint64_t reserved_44_44               : 1;
5539         uint64_t twsi                         : 1;
5540         uint64_t rml                          : 1;
5541         uint64_t trace                        : 1;
5542         uint64_t gmx_drp                      : 1;
5543         uint64_t reserved_49_49               : 1;
5544         uint64_t ipd_drp                      : 1;
5545         uint64_t reserved_51_51               : 1;
5546         uint64_t timer                        : 4;
5547         uint64_t usb                          : 1;
5548         uint64_t pcm                          : 1;
5549         uint64_t mpi                          : 1;
5550         uint64_t twsi2                        : 1;
5551         uint64_t powiq                        : 1;
5552         uint64_t ipdppthr                     : 1;
5553         uint64_t reserved_62_62               : 1;
5554         uint64_t bootdma                      : 1;
5555 #endif
5556         } cnf71xx;
5557 };
5558 typedef union cvmx_ciu_intx_en4_0_w1c cvmx_ciu_intx_en4_0_w1c_t;
5559
5560 /**
5561  * cvmx_ciu_int#_en4_0_w1s
5562  *
5563  * Notes:
5564  * Write-1-to-set version of the CIU_INTX_EN4_0 register, read back corresponding CIU_INTX_EN4_0 value.
5565  *
5566  */
5567 union cvmx_ciu_intx_en4_0_w1s {
5568         uint64_t u64;
5569         struct cvmx_ciu_intx_en4_0_w1s_s {
5570 #ifdef __BIG_ENDIAN_BITFIELD
5571         uint64_t bootdma                      : 1;  /**< Write 1 to set Boot bus DMA engines Interrupt
5572                                                          enable */
5573         uint64_t mii                          : 1;  /**< Write 1 to set RGMII/MII/MIX Interface 0 Interrupt
5574                                                          enable */
5575         uint64_t ipdppthr                     : 1;  /**< Write 1 to set IPD per-port counter threshold
5576                                                          interrupt enable */
5577         uint64_t powiq                        : 1;  /**< Write 1 to set POW IQ interrupt enable */
5578         uint64_t twsi2                        : 1;  /**< Write 1 to set 2nd TWSI Interrupt enable */
5579         uint64_t mpi                          : 1;  /**< Write 1 to set MPI/SPI interrupt enable */
5580         uint64_t pcm                          : 1;  /**< Write 1 to set PCM/TDM interrupt enable */
5581         uint64_t usb                          : 1;  /**< Write 1 to set USB EHCI or OHCI Interrupt enable */
5582         uint64_t timer                        : 4;  /**< Write 1 to set General timer interrupt enables */
5583         uint64_t key_zero                     : 1;  /**< Key Zeroization interrupt */
5584         uint64_t ipd_drp                      : 1;  /**< Write 1 to set IPD QOS packet drop interrupt
5585                                                          enable */
5586         uint64_t gmx_drp                      : 2;  /**< Write 1 to set GMX packet drop interrupt enable */
5587         uint64_t trace                        : 1;  /**< Write 1 to set Trace buffer interrupt enable */
5588         uint64_t rml                          : 1;  /**< Write 1 to set RML Interrupt enable */
5589         uint64_t twsi                         : 1;  /**< Write 1 to set TWSI Interrupt enable */
5590         uint64_t reserved_44_44               : 1;
5591         uint64_t pci_msi                      : 4;  /**< Write 1s to set PCIe MSI enables */
5592         uint64_t pci_int                      : 4;  /**< Write 1s to set PCIe INTA/B/C/D enables */
5593         uint64_t uart                         : 2;  /**< Write 1s to set UART interrupt enables */
5594         uint64_t mbox                         : 2;  /**< Write 1s to set mailbox interrupt enables */
5595         uint64_t gpio                         : 16; /**< Write 1s to set GPIO interrupt enables */
5596         uint64_t workq                        : 16; /**< Write 1s to set work queue interrupt enables */
5597 #else
5598         uint64_t workq                        : 16;
5599         uint64_t gpio                         : 16;
5600         uint64_t mbox                         : 2;
5601         uint64_t uart                         : 2;
5602         uint64_t pci_int                      : 4;
5603         uint64_t pci_msi                      : 4;
5604         uint64_t reserved_44_44               : 1;
5605         uint64_t twsi                         : 1;
5606         uint64_t rml                          : 1;
5607         uint64_t trace                        : 1;
5608         uint64_t gmx_drp                      : 2;
5609         uint64_t ipd_drp                      : 1;
5610         uint64_t key_zero                     : 1;
5611         uint64_t timer                        : 4;
5612         uint64_t usb                          : 1;
5613         uint64_t pcm                          : 1;
5614         uint64_t mpi                          : 1;
5615         uint64_t twsi2                        : 1;
5616         uint64_t powiq                        : 1;
5617         uint64_t ipdppthr                     : 1;
5618         uint64_t mii                          : 1;
5619         uint64_t bootdma                      : 1;
5620 #endif
5621         } s;
5622         struct cvmx_ciu_intx_en4_0_w1s_cn52xx {
5623 #ifdef __BIG_ENDIAN_BITFIELD
5624         uint64_t bootdma                      : 1;  /**< Boot bus DMA engines Interrupt */
5625         uint64_t mii                          : 1;  /**< MII Interface Interrupt */
5626         uint64_t ipdppthr                     : 1;  /**< IPD per-port counter threshold interrupt */
5627         uint64_t powiq                        : 1;  /**< POW IQ interrupt */
5628         uint64_t twsi2                        : 1;  /**< 2nd TWSI Interrupt */
5629         uint64_t reserved_57_58               : 2;
5630         uint64_t usb                          : 1;  /**< USB Interrupt */
5631         uint64_t timer                        : 4;  /**< General timer interrupts */
5632         uint64_t reserved_51_51               : 1;
5633         uint64_t ipd_drp                      : 1;  /**< IPD QOS packet drop */
5634         uint64_t reserved_49_49               : 1;
5635         uint64_t gmx_drp                      : 1;  /**< GMX packet drop */
5636         uint64_t trace                        : 1;  /**< L2C has the CMB trace buffer */
5637         uint64_t rml                          : 1;  /**< RML Interrupt */
5638         uint64_t twsi                         : 1;  /**< TWSI Interrupt */
5639         uint64_t reserved_44_44               : 1;
5640         uint64_t pci_msi                      : 4;  /**< PCI MSI */
5641         uint64_t pci_int                      : 4;  /**< PCI INTA/B/C/D */
5642         uint64_t uart                         : 2;  /**< Two UART interrupts */
5643         uint64_t mbox                         : 2;  /**< Two mailbox/PCI interrupts */
5644         uint64_t gpio                         : 16; /**< 16 GPIO interrupts */
5645         uint64_t workq                        : 16; /**< 16 work queue interrupts */
5646 #else
5647         uint64_t workq                        : 16;
5648         uint64_t gpio                         : 16;
5649         uint64_t mbox                         : 2;
5650         uint64_t uart                         : 2;
5651         uint64_t pci_int                      : 4;
5652         uint64_t pci_msi                      : 4;
5653         uint64_t reserved_44_44               : 1;
5654         uint64_t twsi                         : 1;
5655         uint64_t rml                          : 1;
5656         uint64_t trace                        : 1;
5657         uint64_t gmx_drp                      : 1;
5658         uint64_t reserved_49_49               : 1;
5659         uint64_t ipd_drp                      : 1;
5660         uint64_t reserved_51_51               : 1;
5661         uint64_t timer                        : 4;
5662         uint64_t usb                          : 1;
5663         uint64_t reserved_57_58               : 2;
5664         uint64_t twsi2                        : 1;
5665         uint64_t powiq                        : 1;
5666         uint64_t ipdppthr                     : 1;
5667         uint64_t mii                          : 1;
5668         uint64_t bootdma                      : 1;
5669 #endif
5670         } cn52xx;
5671         struct cvmx_ciu_intx_en4_0_w1s_cn56xx {
5672 #ifdef __BIG_ENDIAN_BITFIELD
5673         uint64_t bootdma                      : 1;  /**< Boot bus DMA engines Interrupt */
5674         uint64_t mii                          : 1;  /**< MII Interface Interrupt */
5675         uint64_t ipdppthr                     : 1;  /**< IPD per-port counter threshold interrupt */
5676         uint64_t powiq                        : 1;  /**< POW IQ interrupt */
5677         uint64_t twsi2                        : 1;  /**< 2nd TWSI Interrupt */
5678         uint64_t reserved_57_58               : 2;
5679         uint64_t usb                          : 1;  /**< USB Interrupt */
5680         uint64_t timer                        : 4;  /**< General timer interrupts */
5681         uint64_t key_zero                     : 1;  /**< Key Zeroization interrupt */
5682         uint64_t ipd_drp                      : 1;  /**< IPD QOS packet drop */
5683         uint64_t gmx_drp                      : 2;  /**< GMX packet drop */
5684         uint64_t trace                        : 1;  /**< L2C has the CMB trace buffer */
5685         uint64_t rml                          : 1;  /**< RML Interrupt */
5686         uint64_t twsi                         : 1;  /**< TWSI Interrupt */
5687         uint64_t reserved_44_44               : 1;
5688         uint64_t pci_msi                      : 4;  /**< PCI MSI */
5689         uint64_t pci_int                      : 4;  /**< PCI INTA/B/C/D */
5690         uint64_t uart                         : 2;  /**< Two UART interrupts */
5691         uint64_t mbox                         : 2;  /**< Two mailbox/PCI interrupts */
5692         uint64_t gpio                         : 16; /**< 16 GPIO interrupts */
5693         uint64_t workq                        : 16; /**< 16 work queue interrupts */
5694 #else
5695         uint64_t workq                        : 16;
5696         uint64_t gpio                         : 16;
5697         uint64_t mbox                         : 2;
5698         uint64_t uart                         : 2;
5699         uint64_t pci_int                      : 4;
5700         uint64_t pci_msi                      : 4;
5701         uint64_t reserved_44_44               : 1;
5702         uint64_t twsi                         : 1;
5703         uint64_t rml                          : 1;
5704         uint64_t trace                        : 1;
5705         uint64_t gmx_drp                      : 2;
5706         uint64_t ipd_drp                      : 1;
5707         uint64_t key_zero                     : 1;
5708         uint64_t timer                        : 4;
5709         uint64_t usb                          : 1;
5710         uint64_t reserved_57_58               : 2;
5711         uint64_t twsi2                        : 1;
5712         uint64_t powiq                        : 1;
5713         uint64_t ipdppthr                     : 1;
5714         uint64_t mii                          : 1;
5715         uint64_t bootdma                      : 1;
5716 #endif
5717         } cn56xx;
5718         struct cvmx_ciu_intx_en4_0_w1s_cn58xx {
5719 #ifdef __BIG_ENDIAN_BITFIELD
5720         uint64_t reserved_56_63               : 8;
5721         uint64_t timer                        : 4;  /**< General timer interrupts */
5722         uint64_t key_zero                     : 1;  /**< Key Zeroization interrupt */
5723         uint64_t ipd_drp                      : 1;  /**< IPD QOS packet drop */
5724         uint64_t gmx_drp                      : 2;  /**< GMX packet drop */
5725         uint64_t trace                        : 1;  /**< L2C has the CMB trace buffer */
5726         uint64_t rml                          : 1;  /**< RML Interrupt */
5727         uint64_t twsi                         : 1;  /**< TWSI Interrupt */
5728         uint64_t reserved_44_44               : 1;
5729         uint64_t pci_msi                      : 4;  /**< PCI MSI */
5730         uint64_t pci_int                      : 4;  /**< PCI INTA/B/C/D */
5731         uint64_t uart                         : 2;  /**< Two UART interrupts */
5732         uint64_t mbox                         : 2;  /**< Two mailbox/PCI interrupts */
5733         uint64_t gpio                         : 16; /**< 16 GPIO interrupts */
5734         uint64_t workq                        : 16; /**< 16 work queue interrupts */
5735 #else
5736         uint64_t workq                        : 16;
5737         uint64_t gpio                         : 16;
5738         uint64_t mbox                         : 2;
5739         uint64_t uart                         : 2;
5740         uint64_t pci_int                      : 4;
5741         uint64_t pci_msi                      : 4;
5742         uint64_t reserved_44_44               : 1;
5743         uint64_t twsi                         : 1;
5744         uint64_t rml                          : 1;
5745         uint64_t trace                        : 1;
5746         uint64_t gmx_drp                      : 2;
5747         uint64_t ipd_drp                      : 1;
5748         uint64_t key_zero                     : 1;
5749         uint64_t timer                        : 4;
5750         uint64_t reserved_56_63               : 8;
5751 #endif
5752         } cn58xx;
5753         struct cvmx_ciu_intx_en4_0_w1s_cn61xx {
5754 #ifdef __BIG_ENDIAN_BITFIELD
5755         uint64_t bootdma                      : 1;  /**< Write 1 to set Boot bus DMA engines Interrupt
5756                                                          enable */
5757         uint64_t mii                          : 1;  /**< Write 1 to set RGMII/MIX Interface 0 Interrupt
5758                                                          enable */
5759         uint64_t ipdppthr                     : 1;  /**< Write 1 to set IPD per-port counter threshold
5760                                                          interrupt enable */
5761         uint64_t powiq                        : 1;  /**< Write 1 to set POW IQ interrupt enable */
5762         uint64_t twsi2                        : 1;  /**< Write 1 to set 2nd TWSI Interrupt enable */
5763         uint64_t mpi                          : 1;  /**< Write 1 to set MPI/SPI interrupt enable */
5764         uint64_t pcm                          : 1;  /**< Write 1 to set PCM/TDM interrupt enable */
5765         uint64_t usb                          : 1;  /**< Write 1 to set USB EHCI or OHCI Interrupt enable */
5766         uint64_t timer                        : 4;  /**< Write 1 to set General timer interrupt enables */
5767         uint64_t reserved_51_51               : 1;
5768         uint64_t ipd_drp                      : 1;  /**< Write 1 to set IPD QOS packet drop interrupt
5769                                                          enable */
5770         uint64_t gmx_drp                      : 2;  /**< Write 1 to set GMX packet drop interrupt enable */
5771         uint64_t trace                        : 1;  /**< Write 1 to set Trace buffer interrupt enable */
5772         uint64_t rml                          : 1;  /**< Write 1 to set RML Interrupt enable */
5773         uint64_t twsi                         : 1;  /**< Write 1 to set TWSI Interrupt enable */
5774         uint64_t reserved_44_44               : 1;
5775         uint64_t pci_msi                      : 4;  /**< Write 1s to set PCIe MSI enables */
5776         uint64_t pci_int                      : 4;  /**< Write 1s to set PCIe INTA/B/C/D enables */
5777         uint64_t uart                         : 2;  /**< Write 1s to set UART interrupt enables */
5778         uint64_t mbox                         : 2;  /**< Write 1s to set mailbox interrupt enables */
5779         uint64_t gpio                         : 16; /**< Write 1s to set GPIO interrupt enables */
5780         uint64_t workq                        : 16; /**< Write 1s to set work queue interrupt enables */
5781 #else
5782         uint64_t workq                        : 16;
5783         uint64_t gpio                         : 16;
5784         uint64_t mbox                         : 2;
5785         uint64_t uart                         : 2;
5786         uint64_t pci_int                      : 4;
5787         uint64_t pci_msi                      : 4;
5788         uint64_t reserved_44_44               : 1;
5789         uint64_t twsi                         : 1;
5790         uint64_t rml                          : 1;
5791         uint64_t trace                        : 1;
5792         uint64_t gmx_drp                      : 2;
5793         uint64_t ipd_drp                      : 1;
5794         uint64_t reserved_51_51               : 1;
5795         uint64_t timer                        : 4;
5796         uint64_t usb                          : 1;
5797         uint64_t pcm                          : 1;
5798         uint64_t mpi                          : 1;
5799         uint64_t twsi2                        : 1;
5800         uint64_t powiq                        : 1;
5801         uint64_t ipdppthr                     : 1;
5802         uint64_t mii                          : 1;
5803         uint64_t bootdma                      : 1;
5804 #endif
5805         } cn61xx;
5806         struct cvmx_ciu_intx_en4_0_w1s_cn52xx cn63xx;
5807         struct cvmx_ciu_intx_en4_0_w1s_cn52xx cn63xxp1;
5808         struct cvmx_ciu_intx_en4_0_w1s_cn66xx {
5809 #ifdef __BIG_ENDIAN_BITFIELD
5810         uint64_t bootdma                      : 1;  /**< Write 1 to set Boot bus DMA engines Interrupt
5811                                                          enable */
5812         uint64_t mii                          : 1;  /**< Write 1 to set RGMII/MII/MIX Interface 0 Interrupt
5813                                                          enable */
5814         uint64_t ipdppthr                     : 1;  /**< Write 1 to set IPD per-port counter threshold
5815                                                          interrupt enable */
5816         uint64_t powiq                        : 1;  /**< Write 1 to set POW IQ interrupt */
5817         uint64_t twsi2                        : 1;  /**< Write 1 to set 2nd TWSI Interrupt */
5818         uint64_t mpi                          : 1;  /**< Write 1 to set MPI/SPI interrupt */
5819         uint64_t reserved_57_57               : 1;
5820         uint64_t usb                          : 1;  /**< Write 1 to set USB EHCI or OHCI Interrupt */
5821         uint64_t timer                        : 4;  /**< Write 1 to set General timer interrupts */
5822         uint64_t reserved_51_51               : 1;
5823         uint64_t ipd_drp                      : 1;  /**< Write 1 to set IPD QOS packet drop interrupt
5824                                                          enable */
5825         uint64_t gmx_drp                      : 2;  /**< Write 1 to set GMX packet drop interrupt enable */
5826         uint64_t trace                        : 1;  /**< Write 1 to set Trace buffer interrupt enable */
5827         uint64_t rml                          : 1;  /**< Write 1 to set RML Interrupt enable */
5828         uint64_t twsi                         : 1;  /**< Write 1 to set TWSI Interrupt enable */
5829         uint64_t reserved_44_44               : 1;
5830         uint64_t pci_msi                      : 4;  /**< Write 1s to set PCIe/sRIO MSI enables */
5831         uint64_t pci_int                      : 4;  /**< Write 1s to set PCIe INTA/B/C/D enables */
5832         uint64_t uart                         : 2;  /**< Write 1s to set UART interrupt enables */
5833         uint64_t mbox                         : 2;  /**< Write 1s to set mailbox interrupt enables */
5834         uint64_t gpio                         : 16; /**< Write 1s to set GPIO interrupt enables */
5835         uint64_t workq                        : 16; /**< Write 1s to set work queue interrupt enables */
5836 #else
5837         uint64_t workq                        : 16;
5838         uint64_t gpio                         : 16;
5839         uint64_t mbox                         : 2;
5840         uint64_t uart                         : 2;
5841         uint64_t pci_int                      : 4;
5842         uint64_t pci_msi                      : 4;
5843         uint64_t reserved_44_44               : 1;
5844         uint64_t twsi                         : 1;
5845         uint64_t rml                          : 1;
5846         uint64_t trace                        : 1;
5847         uint64_t gmx_drp                      : 2;
5848         uint64_t ipd_drp                      : 1;
5849         uint64_t reserved_51_51               : 1;
5850         uint64_t timer                        : 4;
5851         uint64_t usb                          : 1;
5852         uint64_t reserved_57_57               : 1;
5853         uint64_t mpi                          : 1;
5854         uint64_t twsi2                        : 1;
5855         uint64_t powiq                        : 1;
5856         uint64_t ipdppthr                     : 1;
5857         uint64_t mii                          : 1;
5858         uint64_t bootdma                      : 1;
5859 #endif
5860         } cn66xx;
5861         struct cvmx_ciu_intx_en4_0_w1s_cnf71xx {
5862 #ifdef __BIG_ENDIAN_BITFIELD
5863         uint64_t bootdma                      : 1;  /**< Write 1 to set Boot bus DMA engines Interrupt
5864                                                          enable */
5865         uint64_t reserved_62_62               : 1;
5866         uint64_t ipdppthr                     : 1;  /**< Write 1 to set IPD per-port counter threshold
5867                                                          interrupt enable */
5868         uint64_t powiq                        : 1;  /**< Write 1 to set POW IQ interrupt enable */
5869         uint64_t twsi2                        : 1;  /**< Write 1 to set 2nd TWSI Interrupt enable */
5870         uint64_t mpi                          : 1;  /**< Write 1 to set MPI/SPI interrupt enable */
5871         uint64_t pcm                          : 1;  /**< Write 1 to set PCM/TDM interrupt enable */
5872         uint64_t usb                          : 1;  /**< Write 1 to set USB EHCI or OHCI Interrupt enable */
5873         uint64_t timer                        : 4;  /**< Write 1 to set General timer interrupt enables */
5874         uint64_t reserved_51_51               : 1;
5875         uint64_t ipd_drp                      : 1;  /**< Write 1 to set IPD QOS packet drop interrupt
5876                                                          enable */
5877         uint64_t reserved_49_49               : 1;
5878         uint64_t gmx_drp                      : 1;  /**< Write 1 to set GMX packet drop interrupt enable */
5879         uint64_t trace                        : 1;  /**< Write 1 to set Trace buffer interrupt enable */
5880         uint64_t rml                          : 1;  /**< Write 1 to set RML Interrupt enable */
5881         uint64_t twsi                         : 1;  /**< Write 1 to set TWSI Interrupt enable */
5882         uint64_t reserved_44_44               : 1;
5883         uint64_t pci_msi                      : 4;  /**< Write 1s to set PCIe MSI enables */
5884         uint64_t pci_int                      : 4;  /**< Write 1s to set PCIe INTA/B/C/D enables */
5885         uint64_t uart                         : 2;  /**< Write 1s to set UART interrupt enables */
5886         uint64_t mbox                         : 2;  /**< Write 1s to set mailbox interrupt enables */
5887         uint64_t gpio                         : 16; /**< Write 1s to set GPIO interrupt enables */
5888         uint64_t workq                        : 16; /**< Write 1s to set work queue interrupt enables */
5889 #else
5890         uint64_t workq                        : 16;
5891         uint64_t gpio                         : 16;
5892         uint64_t mbox                         : 2;
5893         uint64_t uart                         : 2;
5894         uint64_t pci_int                      : 4;
5895         uint64_t pci_msi                      : 4;
5896         uint64_t reserved_44_44               : 1;
5897         uint64_t twsi                         : 1;
5898         uint64_t rml                          : 1;
5899         uint64_t trace                        : 1;
5900         uint64_t gmx_drp                      : 1;
5901         uint64_t reserved_49_49               : 1;
5902         uint64_t ipd_drp                      : 1;
5903         uint64_t reserved_51_51               : 1;
5904         uint64_t timer                        : 4;
5905         uint64_t usb                          : 1;
5906         uint64_t pcm                          : 1;
5907         uint64_t mpi                          : 1;
5908         uint64_t twsi2                        : 1;
5909         uint64_t powiq                        : 1;
5910         uint64_t ipdppthr                     : 1;
5911         uint64_t reserved_62_62               : 1;
5912         uint64_t bootdma                      : 1;
5913 #endif
5914         } cnf71xx;
5915 };
5916 typedef union cvmx_ciu_intx_en4_0_w1s cvmx_ciu_intx_en4_0_w1s_t;
5917
5918 /**
5919  * cvmx_ciu_int#_en4_1
5920  *
5921  * Notes:
5922  * PPx/IP4 will be raised when...
5923  * PPx/IP4 = |([CIU_SUM1_PPx_IP4, CIU_INTx_SUM4] & [CIU_INTx_EN4_1, CIU_INTx_EN4_0])
5924  */
5925 union cvmx_ciu_intx_en4_1 {
5926         uint64_t u64;
5927         struct cvmx_ciu_intx_en4_1_s {
5928 #ifdef __BIG_ENDIAN_BITFIELD
5929         uint64_t rst                          : 1;  /**< MIO RST interrupt enable */
5930         uint64_t reserved_62_62               : 1;
5931         uint64_t srio3                        : 1;  /**< SRIO3 interrupt enable */
5932         uint64_t srio2                        : 1;  /**< SRIO2 interrupt enable */
5933         uint64_t reserved_57_59               : 3;
5934         uint64_t dfm                          : 1;  /**< DFM interrupt enable */
5935         uint64_t reserved_53_55               : 3;
5936         uint64_t lmc0                         : 1;  /**< LMC0 interrupt enable */
5937         uint64_t srio1                        : 1;  /**< SRIO1 interrupt enable */
5938         uint64_t srio0                        : 1;  /**< SRIO0 interrupt enable */
5939         uint64_t pem1                         : 1;  /**< PEM1 interrupt enable */
5940         uint64_t pem0                         : 1;  /**< PEM0 interrupt enable */
5941         uint64_t ptp                          : 1;  /**< PTP interrupt enable */
5942         uint64_t agl                          : 1;  /**< AGL interrupt enable */
5943         uint64_t reserved_41_45               : 5;
5944         uint64_t dpi_dma                      : 1;  /**< DPI_DMA interrupt enable */
5945         uint64_t reserved_38_39               : 2;
5946         uint64_t agx1                         : 1;  /**< GMX1 interrupt enable */
5947         uint64_t agx0                         : 1;  /**< GMX0 interrupt enable */
5948         uint64_t dpi                          : 1;  /**< DPI interrupt enable */
5949         uint64_t sli                          : 1;  /**< SLI interrupt enable */
5950         uint64_t usb                          : 1;  /**< USB UCTL0 interrupt enable */
5951         uint64_t dfa                          : 1;  /**< DFA interrupt enable */
5952         uint64_t key                          : 1;  /**< KEY interrupt enable */
5953         uint64_t rad                          : 1;  /**< RAD interrupt enable */
5954         uint64_t tim                          : 1;  /**< TIM interrupt enable */
5955         uint64_t zip                          : 1;  /**< ZIP interrupt enable */
5956         uint64_t pko                          : 1;  /**< PKO interrupt enable */
5957         uint64_t pip                          : 1;  /**< PIP interrupt enable */
5958         uint64_t ipd                          : 1;  /**< IPD interrupt enable */
5959         uint64_t l2c                          : 1;  /**< L2C interrupt enable */
5960         uint64_t pow                          : 1;  /**< POW err interrupt enable */
5961         uint64_t fpa                          : 1;  /**< FPA interrupt enable */
5962         uint64_t iob                          : 1;  /**< IOB interrupt enable */
5963         uint64_t mio                          : 1;  /**< MIO boot interrupt enable */
5964         uint64_t nand                         : 1;  /**< EMMC Flash Controller interrupt enable */
5965         uint64_t mii1                         : 1;  /**< RGMII/MII/MIX Interface 1 Interrupt enable */
5966         uint64_t usb1                         : 1;  /**< Second USB Interrupt */
5967         uint64_t uart2                        : 1;  /**< Third UART interrupt */
5968         uint64_t wdog                         : 16; /**< Watchdog summary interrupt enable vector */
5969 #else
5970         uint64_t wdog                         : 16;
5971         uint64_t uart2                        : 1;
5972         uint64_t usb1                         : 1;
5973         uint64_t mii1                         : 1;
5974         uint64_t nand                         : 1;
5975         uint64_t mio                          : 1;
5976         uint64_t iob                          : 1;
5977         uint64_t fpa                          : 1;
5978         uint64_t pow                          : 1;
5979         uint64_t l2c                          : 1;
5980         uint64_t ipd                          : 1;
5981         uint64_t pip                          : 1;
5982         uint64_t pko                          : 1;
5983         uint64_t zip                          : 1;
5984         uint64_t tim                          : 1;
5985         uint64_t rad                          : 1;
5986         uint64_t key                          : 1;
5987         uint64_t dfa                          : 1;
5988         uint64_t usb                          : 1;
5989         uint64_t sli                          : 1;
5990         uint64_t dpi                          : 1;
5991         uint64_t agx0                         : 1;
5992         uint64_t agx1                         : 1;
5993         uint64_t reserved_38_39               : 2;
5994         uint64_t dpi_dma                      : 1;
5995         uint64_t reserved_41_45               : 5;
5996         uint64_t agl                          : 1;
5997         uint64_t ptp                          : 1;
5998         uint64_t pem0                         : 1;
5999         uint64_t pem1                         : 1;
6000         uint64_t srio0                        : 1;
6001         uint64_t srio1                        : 1;
6002         uint64_t lmc0                         : 1;
6003         uint64_t reserved_53_55               : 3;
6004         uint64_t dfm                          : 1;
6005         uint64_t reserved_57_59               : 3;
6006         uint64_t srio2                        : 1;
6007         uint64_t srio3                        : 1;
6008         uint64_t reserved_62_62               : 1;
6009         uint64_t rst                          : 1;
6010 #endif
6011         } s;
6012         struct cvmx_ciu_intx_en4_1_cn50xx {
6013 #ifdef __BIG_ENDIAN_BITFIELD
6014         uint64_t reserved_2_63                : 62;
6015         uint64_t wdog                         : 2;  /**< Watchdog summary interrupt enable vectory */
6016 #else
6017         uint64_t wdog                         : 2;
6018         uint64_t reserved_2_63                : 62;
6019 #endif
6020         } cn50xx;
6021         struct cvmx_ciu_intx_en4_1_cn52xx {
6022 #ifdef __BIG_ENDIAN_BITFIELD
6023         uint64_t reserved_20_63               : 44;
6024         uint64_t nand                         : 1;  /**< NAND Flash Controller */
6025         uint64_t mii1                         : 1;  /**< Second MII Interrupt */
6026         uint64_t usb1                         : 1;  /**< Second USB Interrupt */
6027         uint64_t uart2                        : 1;  /**< Third UART interrupt */
6028         uint64_t reserved_4_15                : 12;
6029         uint64_t wdog                         : 4;  /**< Watchdog summary interrupt enable vector */
6030 #else
6031         uint64_t wdog                         : 4;
6032         uint64_t reserved_4_15                : 12;
6033         uint64_t uart2                        : 1;
6034         uint64_t usb1                         : 1;
6035         uint64_t mii1                         : 1;
6036         uint64_t nand                         : 1;
6037         uint64_t reserved_20_63               : 44;
6038 #endif
6039         } cn52xx;
6040         struct cvmx_ciu_intx_en4_1_cn52xxp1 {
6041 #ifdef __BIG_ENDIAN_BITFIELD
6042         uint64_t reserved_19_63               : 45;
6043         uint64_t mii1                         : 1;  /**< Second MII Interrupt */
6044         uint64_t usb1                         : 1;  /**< Second USB Interrupt */
6045         uint64_t uart2                        : 1;  /**< Third UART interrupt */
6046         uint64_t reserved_4_15                : 12;
6047         uint64_t wdog                         : 4;  /**< Watchdog summary interrupt enable vector */
6048 #else
6049         uint64_t wdog                         : 4;
6050         uint64_t reserved_4_15                : 12;
6051         uint64_t uart2                        : 1;
6052         uint64_t usb1                         : 1;
6053         uint64_t mii1                         : 1;
6054         uint64_t reserved_19_63               : 45;
6055 #endif
6056         } cn52xxp1;
6057         struct cvmx_ciu_intx_en4_1_cn56xx {
6058 #ifdef __BIG_ENDIAN_BITFIELD
6059         uint64_t reserved_12_63               : 52;
6060         uint64_t wdog                         : 12; /**< Watchdog summary interrupt enable vectory */
6061 #else
6062         uint64_t wdog                         : 12;
6063         uint64_t reserved_12_63               : 52;
6064 #endif
6065         } cn56xx;
6066         struct cvmx_ciu_intx_en4_1_cn56xx     cn56xxp1;
6067         struct cvmx_ciu_intx_en4_1_cn58xx {
6068 #ifdef __BIG_ENDIAN_BITFIELD
6069         uint64_t reserved_16_63               : 48;
6070         uint64_t wdog                         : 16; /**< Watchdog summary interrupt enable vectory */
6071 #else
6072         uint64_t wdog                         : 16;
6073         uint64_t reserved_16_63               : 48;
6074 #endif
6075         } cn58xx;
6076         struct cvmx_ciu_intx_en4_1_cn58xx     cn58xxp1;
6077         struct cvmx_ciu_intx_en4_1_cn61xx {
6078 #ifdef __BIG_ENDIAN_BITFIELD
6079         uint64_t rst                          : 1;  /**< MIO RST interrupt enable */
6080         uint64_t reserved_53_62               : 10;
6081         uint64_t lmc0                         : 1;  /**< LMC0 interrupt enable */
6082         uint64_t reserved_50_51               : 2;
6083         uint64_t pem1                         : 1;  /**< PEM1 interrupt enable */
6084         uint64_t pem0                         : 1;  /**< PEM0 interrupt enable */
6085         uint64_t ptp                          : 1;  /**< PTP interrupt enable */
6086         uint64_t agl                          : 1;  /**< AGL interrupt enable */
6087         uint64_t reserved_41_45               : 5;
6088         uint64_t dpi_dma                      : 1;  /**< DPI_DMA interrupt enable */
6089         uint64_t reserved_38_39               : 2;
6090         uint64_t agx1                         : 1;  /**< GMX1 interrupt enable */
6091         uint64_t agx0                         : 1;  /**< GMX0 interrupt enable */
6092         uint64_t dpi                          : 1;  /**< DPI interrupt enable */
6093         uint64_t sli                          : 1;  /**< SLI interrupt enable */
6094         uint64_t usb                          : 1;  /**< USB UCTL0 interrupt enable */
6095         uint64_t dfa                          : 1;  /**< DFA interrupt enable */
6096         uint64_t key                          : 1;  /**< KEY interrupt enable */
6097         uint64_t rad                          : 1;  /**< RAD interrupt enable */
6098         uint64_t tim                          : 1;  /**< TIM interrupt enable */
6099         uint64_t zip                          : 1;  /**< ZIP interrupt enable */
6100         uint64_t pko                          : 1;  /**< PKO interrupt enable */
6101         uint64_t pip                          : 1;  /**< PIP interrupt enable */
6102         uint64_t ipd                          : 1;  /**< IPD interrupt enable */
6103         uint64_t l2c                          : 1;  /**< L2C interrupt enable */
6104         uint64_t pow                          : 1;  /**< POW err interrupt enable */
6105         uint64_t fpa                          : 1;  /**< FPA interrupt enable */
6106         uint64_t iob                          : 1;  /**< IOB interrupt enable */
6107         uint64_t mio                          : 1;  /**< MIO boot interrupt enable */
6108         uint64_t nand                         : 1;  /**< EMMC Flash Controller interrupt enable */
6109         uint64_t mii1                         : 1;  /**< RGMII/MIX Interface 1 Interrupt enable */
6110         uint64_t reserved_4_17                : 14;
6111         uint64_t wdog                         : 4;  /**< Watchdog summary interrupt enable vector */
6112 #else
6113         uint64_t wdog                         : 4;
6114         uint64_t reserved_4_17                : 14;
6115         uint64_t mii1                         : 1;
6116         uint64_t nand                         : 1;
6117         uint64_t mio                          : 1;
6118         uint64_t iob                          : 1;
6119         uint64_t fpa                          : 1;
6120         uint64_t pow                          : 1;
6121         uint64_t l2c                          : 1;
6122         uint64_t ipd                          : 1;
6123         uint64_t pip                          : 1;
6124         uint64_t pko                          : 1;
6125         uint64_t zip                          : 1;
6126         uint64_t tim                          : 1;
6127         uint64_t rad                          : 1;
6128         uint64_t key                          : 1;
6129         uint64_t dfa                          : 1;
6130         uint64_t usb                          : 1;
6131         uint64_t sli                          : 1;
6132         uint64_t dpi                          : 1;
6133         uint64_t agx0                         : 1;
6134         uint64_t agx1                         : 1;
6135         uint64_t reserved_38_39               : 2;
6136         uint64_t dpi_dma                      : 1;
6137         uint64_t reserved_41_45               : 5;
6138         uint64_t agl                          : 1;
6139         uint64_t ptp                          : 1;
6140         uint64_t pem0                         : 1;
6141         uint64_t pem1                         : 1;
6142         uint64_t reserved_50_51               : 2;
6143         uint64_t lmc0                         : 1;
6144         uint64_t reserved_53_62               : 10;
6145         uint64_t rst                          : 1;
6146 #endif
6147         } cn61xx;
6148         struct cvmx_ciu_intx_en4_1_cn63xx {
6149 #ifdef __BIG_ENDIAN_BITFIELD
6150         uint64_t rst                          : 1;  /**< MIO RST interrupt enable */
6151         uint64_t reserved_57_62               : 6;
6152         uint64_t dfm                          : 1;  /**< DFM interrupt enable */
6153         uint64_t reserved_53_55               : 3;
6154         uint64_t lmc0                         : 1;  /**< LMC0 interrupt enable */
6155         uint64_t srio1                        : 1;  /**< SRIO1 interrupt enable */
6156         uint64_t srio0                        : 1;  /**< SRIO0 interrupt enable */
6157         uint64_t pem1                         : 1;  /**< PEM1 interrupt enable */
6158         uint64_t pem0                         : 1;  /**< PEM0 interrupt enable */
6159         uint64_t ptp                          : 1;  /**< PTP interrupt enable */
6160         uint64_t agl                          : 1;  /**< AGL interrupt enable */
6161         uint64_t reserved_37_45               : 9;
6162         uint64_t agx0                         : 1;  /**< GMX0 interrupt enable */
6163         uint64_t dpi                          : 1;  /**< DPI interrupt enable */
6164         uint64_t sli                          : 1;  /**< SLI interrupt enable */
6165         uint64_t usb                          : 1;  /**< USB UCTL0 interrupt enable */
6166         uint64_t dfa                          : 1;  /**< DFA interrupt enable */
6167         uint64_t key                          : 1;  /**< KEY interrupt enable */
6168         uint64_t rad                          : 1;  /**< RAD interrupt enable */
6169         uint64_t tim                          : 1;  /**< TIM interrupt enable */
6170         uint64_t zip                          : 1;  /**< ZIP interrupt enable */
6171         uint64_t pko                          : 1;  /**< PKO interrupt enable */
6172         uint64_t pip                          : 1;  /**< PIP interrupt enable */
6173         uint64_t ipd                          : 1;  /**< IPD interrupt enable */
6174         uint64_t l2c                          : 1;  /**< L2C interrupt enable */
6175         uint64_t pow                          : 1;  /**< POW err interrupt enable */
6176         uint64_t fpa                          : 1;  /**< FPA interrupt enable */
6177         uint64_t iob                          : 1;  /**< IOB interrupt enable */
6178         uint64_t mio                          : 1;  /**< MIO boot interrupt enable */
6179         uint64_t nand                         : 1;  /**< NAND Flash Controller interrupt enable */
6180         uint64_t mii1                         : 1;  /**< RGMII/MII/MIX Interface 1 Interrupt enable */
6181         uint64_t reserved_6_17                : 12;
6182         uint64_t wdog                         : 6;  /**< Watchdog summary interrupt enable vector */
6183 #else
6184         uint64_t wdog                         : 6;
6185         uint64_t reserved_6_17                : 12;
6186         uint64_t mii1                         : 1;
6187         uint64_t nand                         : 1;
6188         uint64_t mio                          : 1;
6189         uint64_t iob                          : 1;
6190         uint64_t fpa                          : 1;
6191         uint64_t pow                          : 1;
6192         uint64_t l2c                          : 1;
6193         uint64_t ipd                          : 1;
6194         uint64_t pip                          : 1;
6195         uint64_t pko                          : 1;
6196         uint64_t zip                          : 1;
6197         uint64_t tim                          : 1;
6198         uint64_t rad                          : 1;
6199         uint64_t key                          : 1;
6200         uint64_t dfa                          : 1;
6201         uint64_t usb                          : 1;
6202         uint64_t sli                          : 1;
6203         uint64_t dpi                          : 1;
6204         uint64_t agx0                         : 1;
6205         uint64_t reserved_37_45               : 9;
6206         uint64_t agl                          : 1;
6207         uint64_t ptp                          : 1;
6208         uint64_t pem0                         : 1;
6209         uint64_t pem1                         : 1;
6210         uint64_t srio0                        : 1;
6211         uint64_t srio1                        : 1;
6212         uint64_t lmc0                         : 1;
6213         uint64_t reserved_53_55               : 3;
6214         uint64_t dfm                          : 1;
6215         uint64_t reserved_57_62               : 6;
6216         uint64_t rst                          : 1;
6217 #endif
6218         } cn63xx;
6219         struct cvmx_ciu_intx_en4_1_cn63xx     cn63xxp1;
6220         struct cvmx_ciu_intx_en4_1_cn66xx {
6221 #ifdef __BIG_ENDIAN_BITFIELD
6222         uint64_t rst                          : 1;  /**< MIO RST interrupt enable */
6223         uint64_t reserved_62_62               : 1;
6224         uint64_t srio3                        : 1;  /**< SRIO3 interrupt enable */
6225         uint64_t srio2                        : 1;  /**< SRIO2 interrupt enable */
6226         uint64_t reserved_57_59               : 3;
6227         uint64_t dfm                          : 1;  /**< DFM interrupt enable */
6228         uint64_t reserved_53_55               : 3;
6229         uint64_t lmc0                         : 1;  /**< LMC0 interrupt enable */
6230         uint64_t reserved_51_51               : 1;
6231         uint64_t srio0                        : 1;  /**< SRIO0 interrupt enable */
6232         uint64_t pem1                         : 1;  /**< PEM1 interrupt enable */
6233         uint64_t pem0                         : 1;  /**< PEM0 interrupt enable */
6234         uint64_t ptp                          : 1;  /**< PTP interrupt enable */
6235         uint64_t agl                          : 1;  /**< AGL interrupt enable */
6236         uint64_t reserved_38_45               : 8;
6237         uint64_t agx1                         : 1;  /**< GMX1 interrupt enable */
6238         uint64_t agx0                         : 1;  /**< GMX0 interrupt enable */
6239         uint64_t dpi                          : 1;  /**< DPI interrupt enable */
6240         uint64_t sli                          : 1;  /**< SLI interrupt enable */
6241         uint64_t usb                          : 1;  /**< USB UCTL0 interrupt enable */
6242         uint64_t dfa                          : 1;  /**< DFA interrupt enable */
6243         uint64_t key                          : 1;  /**< KEY interrupt enable */
6244         uint64_t rad                          : 1;  /**< RAD interrupt enable */
6245         uint64_t tim                          : 1;  /**< TIM interrupt enable */
6246         uint64_t zip                          : 1;  /**< ZIP interrupt enable */
6247         uint64_t pko                          : 1;  /**< PKO interrupt enable */
6248         uint64_t pip                          : 1;  /**< PIP interrupt enable */
6249         uint64_t ipd                          : 1;  /**< IPD interrupt enable */
6250         uint64_t l2c                          : 1;  /**< L2C interrupt enable */
6251         uint64_t pow                          : 1;  /**< POW err interrupt enable */
6252         uint64_t fpa                          : 1;  /**< FPA interrupt enable */
6253         uint64_t iob                          : 1;  /**< IOB interrupt enable */
6254         uint64_t mio                          : 1;  /**< MIO boot interrupt enable */
6255         uint64_t nand                         : 1;  /**< NAND Flash Controller interrupt enable */
6256         uint64_t mii1                         : 1;  /**< RGMII/MII/MIX Interface 1 Interrupt enable */
6257         uint64_t reserved_10_17               : 8;
6258         uint64_t wdog                         : 10; /**< Watchdog summary interrupt enable vector */
6259 #else
6260         uint64_t wdog                         : 10;
6261         uint64_t reserved_10_17               : 8;
6262         uint64_t mii1                         : 1;
6263         uint64_t nand                         : 1;
6264         uint64_t mio                          : 1;
6265         uint64_t iob                          : 1;
6266         uint64_t fpa                          : 1;
6267         uint64_t pow                          : 1;
6268         uint64_t l2c                          : 1;
6269         uint64_t ipd                          : 1;
6270         uint64_t pip                          : 1;
6271         uint64_t pko                          : 1;
6272         uint64_t zip                          : 1;
6273         uint64_t tim                          : 1;
6274         uint64_t rad                          : 1;
6275         uint64_t key                          : 1;
6276         uint64_t dfa                          : 1;
6277         uint64_t usb                          : 1;
6278         uint64_t sli                          : 1;
6279         uint64_t dpi                          : 1;
6280         uint64_t agx0                         : 1;
6281         uint64_t agx1                         : 1;
6282         uint64_t reserved_38_45               : 8;
6283         uint64_t agl                          : 1;
6284         uint64_t ptp                          : 1;
6285         uint64_t pem0                         : 1;
6286         uint64_t pem1                         : 1;
6287         uint64_t srio0                        : 1;
6288         uint64_t reserved_51_51               : 1;
6289         uint64_t lmc0                         : 1;
6290         uint64_t reserved_53_55               : 3;
6291         uint64_t dfm                          : 1;
6292         uint64_t reserved_57_59               : 3;
6293         uint64_t srio2                        : 1;
6294         uint64_t srio3                        : 1;
6295         uint64_t reserved_62_62               : 1;
6296         uint64_t rst                          : 1;
6297 #endif
6298         } cn66xx;
6299         struct cvmx_ciu_intx_en4_1_cnf71xx {
6300 #ifdef __BIG_ENDIAN_BITFIELD
6301         uint64_t rst                          : 1;  /**< MIO RST interrupt enable */
6302         uint64_t reserved_53_62               : 10;
6303         uint64_t lmc0                         : 1;  /**< LMC0 interrupt enable */
6304         uint64_t reserved_50_51               : 2;
6305         uint64_t pem1                         : 1;  /**< PEM1 interrupt enable */
6306         uint64_t pem0                         : 1;  /**< PEM0 interrupt enable */
6307         uint64_t ptp                          : 1;  /**< PTP interrupt enable */
6308         uint64_t reserved_41_46               : 6;
6309         uint64_t dpi_dma                      : 1;  /**< DPI_DMA interrupt enable */
6310         uint64_t reserved_37_39               : 3;
6311         uint64_t agx0                         : 1;  /**< GMX0 interrupt enable */
6312         uint64_t dpi                          : 1;  /**< DPI interrupt enable */
6313         uint64_t sli                          : 1;  /**< SLI interrupt enable */
6314         uint64_t usb                          : 1;  /**< USB UCTL0 interrupt enable */
6315         uint64_t reserved_32_32               : 1;
6316         uint64_t key                          : 1;  /**< KEY interrupt enable */
6317         uint64_t rad                          : 1;  /**< RAD interrupt enable */
6318         uint64_t tim                          : 1;  /**< TIM interrupt enable */
6319         uint64_t reserved_28_28               : 1;
6320         uint64_t pko                          : 1;  /**< PKO interrupt enable */
6321         uint64_t pip                          : 1;  /**< PIP interrupt enable */
6322         uint64_t ipd                          : 1;  /**< IPD interrupt enable */
6323         uint64_t l2c                          : 1;  /**< L2C interrupt enable */
6324         uint64_t pow                          : 1;  /**< POW err interrupt enable */
6325         uint64_t fpa                          : 1;  /**< FPA interrupt enable */
6326         uint64_t iob                          : 1;  /**< IOB interrupt enable */
6327         uint64_t mio                          : 1;  /**< MIO boot interrupt enable */
6328         uint64_t nand                         : 1;  /**< EMMC Flash Controller interrupt enable */
6329         uint64_t reserved_4_18                : 15;
6330         uint64_t wdog                         : 4;  /**< Watchdog summary interrupt enable vector */
6331 #else
6332         uint64_t wdog                         : 4;
6333         uint64_t reserved_4_18                : 15;
6334         uint64_t nand                         : 1;
6335         uint64_t mio                          : 1;
6336         uint64_t iob                          : 1;
6337         uint64_t fpa                          : 1;
6338         uint64_t pow                          : 1;
6339         uint64_t l2c                          : 1;
6340         uint64_t ipd                          : 1;
6341         uint64_t pip                          : 1;
6342         uint64_t pko                          : 1;
6343         uint64_t reserved_28_28               : 1;
6344         uint64_t tim                          : 1;
6345         uint64_t rad                          : 1;
6346         uint64_t key                          : 1;
6347         uint64_t reserved_32_32               : 1;
6348         uint64_t usb                          : 1;
6349         uint64_t sli                          : 1;
6350         uint64_t dpi                          : 1;
6351         uint64_t agx0                         : 1;
6352         uint64_t reserved_37_39               : 3;
6353         uint64_t dpi_dma                      : 1;
6354         uint64_t reserved_41_46               : 6;
6355         uint64_t ptp                          : 1;
6356         uint64_t pem0                         : 1;
6357         uint64_t pem1                         : 1;
6358         uint64_t reserved_50_51               : 2;
6359         uint64_t lmc0                         : 1;
6360         uint64_t reserved_53_62               : 10;
6361         uint64_t rst                          : 1;
6362 #endif
6363         } cnf71xx;
6364 };
6365 typedef union cvmx_ciu_intx_en4_1 cvmx_ciu_intx_en4_1_t;
6366
6367 /**
6368  * cvmx_ciu_int#_en4_1_w1c
6369  *
6370  * Notes:
6371  * Write-1-to-clear version of the CIU_INTX_EN4_1 register, read back corresponding CIU_INTX_EN4_1 value.
6372  *
6373  */
6374 union cvmx_ciu_intx_en4_1_w1c {
6375         uint64_t u64;
6376         struct cvmx_ciu_intx_en4_1_w1c_s {
6377 #ifdef __BIG_ENDIAN_BITFIELD
6378         uint64_t rst                          : 1;  /**< Write 1 to clear MIO RST interrupt enable */
6379         uint64_t reserved_62_62               : 1;
6380         uint64_t srio3                        : 1;  /**< Write 1 to clear SRIO3 interrupt enable */
6381         uint64_t srio2                        : 1;  /**< Write 1 to clear SRIO2 interrupt enable */
6382         uint64_t reserved_57_59               : 3;
6383         uint64_t dfm                          : 1;  /**< Write 1 to clear DFM interrupt enable */
6384         uint64_t reserved_53_55               : 3;
6385         uint64_t lmc0                         : 1;  /**< Write 1 to clear LMC0 interrupt enable */
6386         uint64_t srio1                        : 1;  /**< Write 1 to clear SRIO1 interrupt enable */
6387         uint64_t srio0                        : 1;  /**< Write 1 to clear SRIO0 interrupt enable */
6388         uint64_t pem1                         : 1;  /**< Write 1 to clear PEM1 interrupt enable */
6389         uint64_t pem0                         : 1;  /**< Write 1 to clear PEM0 interrupt enable */
6390         uint64_t ptp                          : 1;  /**< Write 1 to clear PTP interrupt enable */
6391         uint64_t agl                          : 1;  /**< Write 1 to clear AGL interrupt enable */
6392         uint64_t reserved_41_45               : 5;
6393         uint64_t dpi_dma                      : 1;  /**< Write 1 to clear DPI_DMA interrupt enable */
6394         uint64_t reserved_38_39               : 2;
6395         uint64_t agx1                         : 1;  /**< Write 1 to clear GMX1 interrupt enable */
6396         uint64_t agx0                         : 1;  /**< Write 1 to clear GMX0 interrupt enable */
6397         uint64_t dpi                          : 1;  /**< Write 1 to clear DPI interrupt enable */
6398         uint64_t sli                          : 1;  /**< Write 1 to clear SLI interrupt enable */
6399         uint64_t usb                          : 1;  /**< Write 1 to clear USB UCTL0 interrupt enable */
6400         uint64_t dfa                          : 1;  /**< Write 1 to clear DFA interrupt enable */
6401         uint64_t key                          : 1;  /**< Write 1 to clear KEY interrupt enable */
6402         uint64_t rad                          : 1;  /**< Write 1 to clear RAD interrupt enable */
6403         uint64_t tim                          : 1;  /**< Write 1 to clear TIM interrupt enable */
6404         uint64_t zip                          : 1;  /**< Write 1 to clear ZIP interrupt enable */
6405         uint64_t pko                          : 1;  /**< Write 1 to clear PKO interrupt enable */
6406         uint64_t pip                          : 1;  /**< Write 1 to clear PIP interrupt enable */
6407         uint64_t ipd                          : 1;  /**< Write 1 to clear IPD interrupt enable */
6408         uint64_t l2c                          : 1;  /**< Write 1 to clear L2C interrupt enable */
6409         uint64_t pow                          : 1;  /**< Write 1 to clear POW err interrupt enable */
6410         uint64_t fpa                          : 1;  /**< Write 1 to clear FPA interrupt enable */
6411         uint64_t iob                          : 1;  /**< Write 1 to clear IOB interrupt enable */
6412         uint64_t mio                          : 1;  /**< Write 1 to clear MIO boot interrupt enable */
6413         uint64_t nand                         : 1;  /**< Write 1 to clear EMMC Flash Controller interrupt
6414                                                          enable */
6415         uint64_t mii1                         : 1;  /**< Write 1 to clear RGMII/MII/MIX Interface 1
6416                                                          Interrupt enable */
6417         uint64_t usb1                         : 1;  /**< Second USB Interrupt */
6418         uint64_t uart2                        : 1;  /**< Third UART interrupt */
6419         uint64_t wdog                         : 16; /**< Write 1s to clear Watchdog summary interrupt enable */
6420 #else
6421         uint64_t wdog                         : 16;
6422         uint64_t uart2                        : 1;
6423         uint64_t usb1                         : 1;
6424         uint64_t mii1                         : 1;
6425         uint64_t nand                         : 1;
6426         uint64_t mio                          : 1;
6427         uint64_t iob                          : 1;
6428         uint64_t fpa                          : 1;
6429         uint64_t pow                          : 1;
6430         uint64_t l2c                          : 1;
6431         uint64_t ipd                          : 1;
6432         uint64_t pip                          : 1;
6433         uint64_t pko                          : 1;
6434         uint64_t zip                          : 1;
6435         uint64_t tim                          : 1;
6436         uint64_t rad                          : 1;
6437         uint64_t key                          : 1;
6438         uint64_t dfa                          : 1;
6439         uint64_t usb                          : 1;
6440         uint64_t sli                          : 1;
6441         uint64_t dpi                          : 1;
6442         uint64_t agx0                         : 1;
6443         uint64_t agx1                         : 1;
6444         uint64_t reserved_38_39               : 2;
6445         uint64_t dpi_dma                      : 1;
6446         uint64_t reserved_41_45               : 5;
6447         uint64_t agl                          : 1;
6448         uint64_t ptp                          : 1;
6449         uint64_t pem0                         : 1;
6450         uint64_t pem1                         : 1;
6451         uint64_t srio0                        : 1;
6452         uint64_t srio1                        : 1;
6453         uint64_t lmc0                         : 1;
6454         uint64_t reserved_53_55               : 3;
6455         uint64_t dfm                          : 1;
6456         uint64_t reserved_57_59               : 3;
6457         uint64_t srio2                        : 1;
6458         uint64_t srio3                        : 1;
6459         uint64_t reserved_62_62               : 1;
6460         uint64_t rst                          : 1;
6461 #endif
6462         } s;
6463         struct cvmx_ciu_intx_en4_1_w1c_cn52xx {
6464 #ifdef __BIG_ENDIAN_BITFIELD
6465         uint64_t reserved_20_63               : 44;
6466         uint64_t nand                         : 1;  /**< NAND Flash Controller */
6467         uint64_t mii1                         : 1;  /**< Second MII Interrupt */
6468         uint64_t usb1                         : 1;  /**< Second USB Interrupt */
6469         uint64_t uart2                        : 1;  /**< Third UART interrupt */
6470         uint64_t reserved_4_15                : 12;
6471         uint64_t wdog                         : 4;  /**< Watchdog summary interrupt enable vector */
6472 #else
6473         uint64_t wdog                         : 4;
6474         uint64_t reserved_4_15                : 12;
6475         uint64_t uart2                        : 1;
6476         uint64_t usb1                         : 1;
6477         uint64_t mii1                         : 1;
6478         uint64_t nand                         : 1;
6479         uint64_t reserved_20_63               : 44;
6480 #endif
6481         } cn52xx;
6482         struct cvmx_ciu_intx_en4_1_w1c_cn56xx {
6483 #ifdef __BIG_ENDIAN_BITFIELD
6484         uint64_t reserved_12_63               : 52;
6485         uint64_t wdog                         : 12; /**< Watchdog summary interrupt enable vectory */
6486 #else
6487         uint64_t wdog                         : 12;
6488         uint64_t reserved_12_63               : 52;
6489 #endif
6490         } cn56xx;
6491         struct cvmx_ciu_intx_en4_1_w1c_cn58xx {
6492 #ifdef __BIG_ENDIAN_BITFIELD
6493         uint64_t reserved_16_63               : 48;
6494         uint64_t wdog                         : 16; /**< Watchdog summary interrupt enable vectory */
6495 #else
6496         uint64_t wdog                         : 16;
6497         uint64_t reserved_16_63               : 48;
6498 #endif
6499         } cn58xx;
6500         struct cvmx_ciu_intx_en4_1_w1c_cn61xx {
6501 #ifdef __BIG_ENDIAN_BITFIELD
6502         uint64_t rst                          : 1;  /**< Write 1 to clear MIO RST interrupt enable */
6503         uint64_t reserved_53_62               : 10;
6504         uint64_t lmc0                         : 1;  /**< Write 1 to clear LMC0 interrupt enable */
6505         uint64_t reserved_50_51               : 2;
6506         uint64_t pem1                         : 1;  /**< Write 1 to clear PEM1 interrupt enable */
6507         uint64_t pem0                         : 1;  /**< Write 1 to clear PEM0 interrupt enable */
6508         uint64_t ptp                          : 1;  /**< Write 1 to clear PTP interrupt enable */
6509         uint64_t agl                          : 1;  /**< Write 1 to clear AGL interrupt enable */
6510         uint64_t reserved_41_45               : 5;
6511         uint64_t dpi_dma                      : 1;  /**< Write 1 to clear DPI_DMA interrupt enable */
6512         uint64_t reserved_38_39               : 2;
6513         uint64_t agx1                         : 1;  /**< Write 1 to clear GMX1 interrupt enable */
6514         uint64_t agx0                         : 1;  /**< Write 1 to clear GMX0 interrupt enable */
6515         uint64_t dpi                          : 1;  /**< Write 1 to clear DPI interrupt enable */
6516         uint64_t sli                          : 1;  /**< Write 1 to clear SLI interrupt enable */
6517         uint64_t usb                          : 1;  /**< Write 1 to clear USB UCTL0 interrupt enable */
6518         uint64_t dfa                          : 1;  /**< Write 1 to clear DFA interrupt enable */
6519         uint64_t key                          : 1;  /**< Write 1 to clear KEY interrupt enable */
6520         uint64_t rad                          : 1;  /**< Write 1 to clear RAD interrupt enable */
6521         uint64_t tim                          : 1;  /**< Write 1 to clear TIM interrupt enable */
6522         uint64_t zip                          : 1;  /**< Write 1 to clear ZIP interrupt enable */
6523         uint64_t pko                          : 1;  /**< Write 1 to clear PKO interrupt enable */
6524         uint64_t pip                          : 1;  /**< Write 1 to clear PIP interrupt enable */
6525         uint64_t ipd                          : 1;  /**< Write 1 to clear IPD interrupt enable */
6526         uint64_t l2c                          : 1;  /**< Write 1 to clear L2C interrupt enable */
6527         uint64_t pow                          : 1;  /**< Write 1 to clear POW err interrupt enable */
6528         uint64_t fpa                          : 1;  /**< Write 1 to clear FPA interrupt enable */
6529         uint64_t iob                          : 1;  /**< Write 1 to clear IOB interrupt enable */
6530         uint64_t mio                          : 1;  /**< Write 1 to clear MIO boot interrupt enable */
6531         uint64_t nand                         : 1;  /**< Write 1 to clear EMMC Flash Controller interrupt
6532                                                          enable */
6533         uint64_t mii1                         : 1;  /**< Write 1 to clear RGMII/MIX Interface 1
6534                                                          Interrupt enable */
6535         uint64_t reserved_4_17                : 14;
6536         uint64_t wdog                         : 4;  /**< Write 1s to clear Watchdog summary interrupt enable */
6537 #else
6538         uint64_t wdog                         : 4;
6539         uint64_t reserved_4_17                : 14;
6540         uint64_t mii1                         : 1;
6541         uint64_t nand                         : 1;
6542         uint64_t mio                          : 1;
6543         uint64_t iob                          : 1;
6544         uint64_t fpa                          : 1;
6545         uint64_t pow                          : 1;
6546         uint64_t l2c                          : 1;
6547         uint64_t ipd                          : 1;
6548         uint64_t pip                          : 1;
6549         uint64_t pko                          : 1;
6550         uint64_t zip                          : 1;
6551         uint64_t tim                          : 1;
6552         uint64_t rad                          : 1;
6553         uint64_t key                          : 1;
6554         uint64_t dfa                          : 1;
6555         uint64_t usb                          : 1;
6556         uint64_t sli                          : 1;
6557         uint64_t dpi                          : 1;
6558         uint64_t agx0                         : 1;
6559         uint64_t agx1                         : 1;
6560         uint64_t reserved_38_39               : 2;
6561         uint64_t dpi_dma                      : 1;
6562         uint64_t reserved_41_45               : 5;
6563         uint64_t agl                          : 1;
6564         uint64_t ptp                          : 1;
6565         uint64_t pem0                         : 1;
6566         uint64_t pem1                         : 1;
6567         uint64_t reserved_50_51               : 2;
6568         uint64_t lmc0                         : 1;
6569         uint64_t reserved_53_62               : 10;
6570         uint64_t rst                          : 1;
6571 #endif
6572         } cn61xx;
6573         struct cvmx_ciu_intx_en4_1_w1c_cn63xx {
6574 #ifdef __BIG_ENDIAN_BITFIELD
6575         uint64_t rst                          : 1;  /**< Write 1 to clear MIO RST interrupt enable */
6576         uint64_t reserved_57_62               : 6;
6577         uint64_t dfm                          : 1;  /**< Write 1 to clear DFM interrupt enable */
6578         uint64_t reserved_53_55               : 3;
6579         uint64_t lmc0                         : 1;  /**< Write 1 to clear LMC0 interrupt enable */
6580         uint64_t srio1                        : 1;  /**< Write 1 to clear SRIO1 interrupt enable */
6581         uint64_t srio0                        : 1;  /**< Write 1 to clear SRIO0 interrupt enable */
6582         uint64_t pem1                         : 1;  /**< Write 1 to clear PEM1 interrupt enable */
6583         uint64_t pem0                         : 1;  /**< Write 1 to clear PEM0 interrupt enable */
6584         uint64_t ptp                          : 1;  /**< Write 1 to clear PTP interrupt enable */
6585         uint64_t agl                          : 1;  /**< Write 1 to clear AGL interrupt enable */
6586         uint64_t reserved_37_45               : 9;
6587         uint64_t agx0                         : 1;  /**< Write 1 to clear GMX0 interrupt enable */
6588         uint64_t dpi                          : 1;  /**< Write 1 to clear DPI interrupt enable */
6589         uint64_t sli                          : 1;  /**< Write 1 to clear SLI interrupt enable */
6590         uint64_t usb                          : 1;  /**< Write 1 to clear USB UCTL0 interrupt enable */
6591         uint64_t dfa                          : 1;  /**< Write 1 to clear DFA interrupt enable */
6592         uint64_t key                          : 1;  /**< Write 1 to clear KEY interrupt enable */
6593         uint64_t rad                          : 1;  /**< Write 1 to clear RAD interrupt enable */
6594         uint64_t tim                          : 1;  /**< Write 1 to clear TIM interrupt enable */
6595         uint64_t zip                          : 1;  /**< Write 1 to clear ZIP interrupt enable */
6596         uint64_t pko                          : 1;  /**< Write 1 to clear PKO interrupt enable */
6597         uint64_t pip                          : 1;  /**< Write 1 to clear PIP interrupt enable */
6598         uint64_t ipd                          : 1;  /**< Write 1 to clear IPD interrupt enable */
6599         uint64_t l2c                          : 1;  /**< Write 1 to clear L2C interrupt enable */
6600         uint64_t pow                          : 1;  /**< Write 1 to clear POW err interrupt enable */
6601         uint64_t fpa                          : 1;  /**< Write 1 to clear FPA interrupt enable */
6602         uint64_t iob                          : 1;  /**< Write 1 to clear IOB interrupt enable */
6603         uint64_t mio                          : 1;  /**< Write 1 to clear MIO boot interrupt enable */
6604         uint64_t nand                         : 1;  /**< Write 1 to clear NAND Flash Controller interrupt
6605                                                          enable */
6606         uint64_t mii1                         : 1;  /**< Write 1 to clear RGMII/MII/MIX Interface 1
6607                                                          Interrupt enable */
6608         uint64_t reserved_6_17                : 12;
6609         uint64_t wdog                         : 6;  /**< Write 1s to clear Watchdog summary interrupt enable */
6610 #else
6611         uint64_t wdog                         : 6;
6612         uint64_t reserved_6_17                : 12;
6613         uint64_t mii1                         : 1;
6614         uint64_t nand                         : 1;
6615         uint64_t mio                          : 1;
6616         uint64_t iob                          : 1;
6617         uint64_t fpa                          : 1;
6618         uint64_t pow                          : 1;
6619         uint64_t l2c                          : 1;
6620         uint64_t ipd                          : 1;
6621         uint64_t pip                          : 1;
6622         uint64_t pko                          : 1;
6623         uint64_t zip                          : 1;
6624         uint64_t tim                          : 1;
6625         uint64_t rad                          : 1;
6626         uint64_t key                          : 1;
6627         uint64_t dfa                          : 1;
6628         uint64_t usb                          : 1;
6629         uint64_t sli                          : 1;
6630         uint64_t dpi                          : 1;
6631         uint64_t agx0                         : 1;
6632         uint64_t reserved_37_45               : 9;
6633         uint64_t agl                          : 1;
6634         uint64_t ptp                          : 1;
6635         uint64_t pem0                         : 1;
6636         uint64_t pem1                         : 1;
6637         uint64_t srio0                        : 1;
6638         uint64_t srio1                        : 1;
6639         uint64_t lmc0                         : 1;
6640         uint64_t reserved_53_55               : 3;
6641         uint64_t dfm                          : 1;
6642         uint64_t reserved_57_62               : 6;
6643         uint64_t rst                          : 1;
6644 #endif
6645         } cn63xx;
6646         struct cvmx_ciu_intx_en4_1_w1c_cn63xx cn63xxp1;
6647         struct cvmx_ciu_intx_en4_1_w1c_cn66xx {
6648 #ifdef __BIG_ENDIAN_BITFIELD
6649         uint64_t rst                          : 1;  /**< Write 1 to clear MIO RST interrupt enable */
6650         uint64_t reserved_62_62               : 1;
6651         uint64_t srio3                        : 1;  /**< Write 1 to clear SRIO3 interrupt enable */
6652         uint64_t srio2                        : 1;  /**< Write 1 to clear SRIO2 interrupt enable */
6653         uint64_t reserved_57_59               : 3;
6654         uint64_t dfm                          : 1;  /**< Write 1 to clear DFM interrupt enable */
6655         uint64_t reserved_53_55               : 3;
6656         uint64_t lmc0                         : 1;  /**< Write 1 to clear LMC0 interrupt enable */
6657         uint64_t reserved_51_51               : 1;
6658         uint64_t srio0                        : 1;  /**< Write 1 to clear SRIO0 interrupt enable */
6659         uint64_t pem1                         : 1;  /**< Write 1 to clear PEM1 interrupt enable */
6660         uint64_t pem0                         : 1;  /**< Write 1 to clear PEM0 interrupt enable */
6661         uint64_t ptp                          : 1;  /**< Write 1 to clear PTP interrupt enable */
6662         uint64_t agl                          : 1;  /**< Write 1 to clear AGL interrupt enable */
6663         uint64_t reserved_38_45               : 8;
6664         uint64_t agx1                         : 1;  /**< Write 1 to clear GMX1 interrupt enable */
6665         uint64_t agx0                         : 1;  /**< Write 1 to clear GMX0 interrupt enable */
6666         uint64_t dpi                          : 1;  /**< Write 1 to clear DPI interrupt enable */
6667         uint64_t sli                          : 1;  /**< Write 1 to clear SLI interrupt enable */
6668         uint64_t usb                          : 1;  /**< Write 1 to clear USB UCTL0 interrupt enable */
6669         uint64_t dfa                          : 1;  /**< Write 1 to clear DFA interrupt enable */
6670         uint64_t key                          : 1;  /**< Write 1 to clear KEY interrupt enable */
6671         uint64_t rad                          : 1;  /**< Write 1 to clear RAD interrupt enable */
6672         uint64_t tim                          : 1;  /**< Write 1 to clear TIM interrupt enable */
6673         uint64_t zip                          : 1;  /**< Write 1 to clear ZIP interrupt enable */
6674         uint64_t pko                          : 1;  /**< Write 1 to clear PKO interrupt enable */
6675         uint64_t pip                          : 1;  /**< Write 1 to clear PIP interrupt enable */
6676         uint64_t ipd                          : 1;  /**< Write 1 to clear IPD interrupt enable */
6677         uint64_t l2c                          : 1;  /**< Write 1 to clear L2C interrupt enable */
6678         uint64_t pow                          : 1;  /**< Write 1 to clear POW err interrupt enable */
6679         uint64_t fpa                          : 1;  /**< Write 1 to clear FPA interrupt enable */
6680         uint64_t iob                          : 1;  /**< Write 1 to clear IOB interrupt enable */
6681         uint64_t mio                          : 1;  /**< Write 1 to clear MIO boot interrupt enable */
6682         uint64_t nand                         : 1;  /**< Write 1 to clear NAND Flash Controller interrupt
6683                                                          enable */
6684         uint64_t mii1                         : 1;  /**< Write 1 to clear RGMII/MII/MIX Interface 1
6685                                                          Interrupt enable */
6686         uint64_t reserved_10_17               : 8;
6687         uint64_t wdog                         : 10; /**< Write 1s to clear Watchdog summary interrupt enable */
6688 #else
6689         uint64_t wdog                         : 10;
6690         uint64_t reserved_10_17               : 8;
6691         uint64_t mii1                         : 1;
6692         uint64_t nand                         : 1;
6693         uint64_t mio                          : 1;
6694         uint64_t iob                          : 1;
6695         uint64_t fpa                          : 1;
6696         uint64_t pow                          : 1;
6697         uint64_t l2c                          : 1;
6698         uint64_t ipd                          : 1;
6699         uint64_t pip                          : 1;
6700         uint64_t pko                          : 1;
6701         uint64_t zip                          : 1;
6702         uint64_t tim                          : 1;
6703         uint64_t rad                          : 1;
6704         uint64_t key                          : 1;
6705         uint64_t dfa                          : 1;
6706         uint64_t usb                          : 1;
6707         uint64_t sli                          : 1;
6708         uint64_t dpi                          : 1;
6709         uint64_t agx0                         : 1;
6710         uint64_t agx1                         : 1;
6711         uint64_t reserved_38_45               : 8;
6712         uint64_t agl                          : 1;
6713         uint64_t ptp                          : 1;
6714         uint64_t pem0                         : 1;
6715         uint64_t pem1                         : 1;
6716         uint64_t srio0                        : 1;
6717         uint64_t reserved_51_51               : 1;
6718         uint64_t lmc0                         : 1;
6719         uint64_t reserved_53_55               : 3;
6720         uint64_t dfm                          : 1;
6721         uint64_t reserved_57_59               : 3;
6722         uint64_t srio2                        : 1;
6723         uint64_t srio3                        : 1;
6724         uint64_t reserved_62_62               : 1;
6725         uint64_t rst                          : 1;
6726 #endif
6727         } cn66xx;
6728         struct cvmx_ciu_intx_en4_1_w1c_cnf71xx {
6729 #ifdef __BIG_ENDIAN_BITFIELD
6730         uint64_t rst                          : 1;  /**< Write 1 to clear MIO RST interrupt enable */
6731         uint64_t reserved_53_62               : 10;
6732         uint64_t lmc0                         : 1;  /**< Write 1 to clear LMC0 interrupt enable */
6733         uint64_t reserved_50_51               : 2;
6734         uint64_t pem1                         : 1;  /**< Write 1 to clear PEM1 interrupt enable */
6735         uint64_t pem0                         : 1;  /**< Write 1 to clear PEM0 interrupt enable */
6736         uint64_t ptp                          : 1;  /**< Write 1 to clear PTP interrupt enable */
6737         uint64_t reserved_41_46               : 6;
6738         uint64_t dpi_dma                      : 1;  /**< Write 1 to clear DPI_DMA interrupt enable */
6739         uint64_t reserved_37_39               : 3;
6740         uint64_t agx0                         : 1;  /**< Write 1 to clear GMX0 interrupt enable */
6741         uint64_t dpi                          : 1;  /**< Write 1 to clear DPI interrupt enable */
6742         uint64_t sli                          : 1;  /**< Write 1 to clear SLI interrupt enable */
6743         uint64_t usb                          : 1;  /**< Write 1 to clear USB UCTL0 interrupt enable */
6744         uint64_t reserved_32_32               : 1;
6745         uint64_t key                          : 1;  /**< Write 1 to clear KEY interrupt enable */
6746         uint64_t rad                          : 1;  /**< Write 1 to clear RAD interrupt enable */
6747         uint64_t tim                          : 1;  /**< Write 1 to clear TIM interrupt enable */
6748         uint64_t reserved_28_28               : 1;
6749         uint64_t pko                          : 1;  /**< Write 1 to clear PKO interrupt enable */
6750         uint64_t pip                          : 1;  /**< Write 1 to clear PIP interrupt enable */
6751         uint64_t ipd                          : 1;  /**< Write 1 to clear IPD interrupt enable */
6752         uint64_t l2c                          : 1;  /**< Write 1 to clear L2C interrupt enable */
6753         uint64_t pow                          : 1;  /**< Write 1 to clear POW err interrupt enable */
6754         uint64_t fpa                          : 1;  /**< Write 1 to clear FPA interrupt enable */
6755         uint64_t iob                          : 1;  /**< Write 1 to clear IOB interrupt enable */
6756         uint64_t mio                          : 1;  /**< Write 1 to clear MIO boot interrupt enable */
6757         uint64_t nand                         : 1;  /**< Write 1 to clear EMMC Flash Controller interrupt
6758                                                          enable */
6759         uint64_t reserved_4_18                : 15;
6760         uint64_t wdog                         : 4;  /**< Write 1s to clear Watchdog summary interrupt enable */
6761 #else
6762         uint64_t wdog                         : 4;
6763         uint64_t reserved_4_18                : 15;
6764         uint64_t nand                         : 1;
6765         uint64_t mio                          : 1;
6766         uint64_t iob                          : 1;
6767         uint64_t fpa                          : 1;
6768         uint64_t pow                          : 1;
6769         uint64_t l2c                          : 1;
6770         uint64_t ipd                          : 1;
6771         uint64_t pip                          : 1;
6772         uint64_t pko                          : 1;
6773         uint64_t reserved_28_28               : 1;
6774         uint64_t tim                          : 1;
6775         uint64_t rad                          : 1;
6776         uint64_t key                          : 1;
6777         uint64_t reserved_32_32               : 1;
6778         uint64_t usb                          : 1;
6779         uint64_t sli                          : 1;
6780         uint64_t dpi                          : 1;
6781         uint64_t agx0                         : 1;
6782         uint64_t reserved_37_39               : 3;
6783         uint64_t dpi_dma                      : 1;
6784         uint64_t reserved_41_46               : 6;
6785         uint64_t ptp                          : 1;
6786         uint64_t pem0                         : 1;
6787         uint64_t pem1                         : 1;
6788         uint64_t reserved_50_51               : 2;
6789         uint64_t lmc0                         : 1;
6790         uint64_t reserved_53_62               : 10;
6791         uint64_t rst                          : 1;
6792 #endif
6793         } cnf71xx;
6794 };
6795 typedef union cvmx_ciu_intx_en4_1_w1c cvmx_ciu_intx_en4_1_w1c_t;
6796
6797 /**
6798  * cvmx_ciu_int#_en4_1_w1s
6799  *
6800  * Notes:
6801  * Write-1-to-set version of the CIU_INTX_EN4_1 register, read back corresponding CIU_INTX_EN4_1 value.
6802  *
6803  */
6804 union cvmx_ciu_intx_en4_1_w1s {
6805         uint64_t u64;
6806         struct cvmx_ciu_intx_en4_1_w1s_s {
6807 #ifdef __BIG_ENDIAN_BITFIELD
6808         uint64_t rst                          : 1;  /**< Write 1 to set MIO RST interrupt enable */
6809         uint64_t reserved_62_62               : 1;
6810         uint64_t srio3                        : 1;  /**< Write 1 to set SRIO3 interrupt enable */
6811         uint64_t srio2                        : 1;  /**< Write 1 to set SRIO2 interrupt enable */
6812         uint64_t reserved_57_59               : 3;
6813         uint64_t dfm                          : 1;  /**< Write 1 to set DFM interrupt enable */
6814         uint64_t reserved_53_55               : 3;
6815         uint64_t lmc0                         : 1;  /**< Write 1 to set LMC0 interrupt enable */
6816         uint64_t srio1                        : 1;  /**< Write 1 to set SRIO1 interrupt enable */
6817         uint64_t srio0                        : 1;  /**< Write 1 to set SRIO0 interrupt enable */
6818         uint64_t pem1                         : 1;  /**< Write 1 to set PEM1 interrupt enable */
6819         uint64_t pem0                         : 1;  /**< Write 1 to set PEM0 interrupt enable */
6820         uint64_t ptp                          : 1;  /**< Write 1 to set PTP interrupt enable */
6821         uint64_t agl                          : 1;  /**< Write 1 to set AGL interrupt enable */
6822         uint64_t reserved_41_45               : 5;
6823         uint64_t dpi_dma                      : 1;  /**< Write 1 to set DPI_DMA interrupt enable */
6824         uint64_t reserved_38_39               : 2;
6825         uint64_t agx1                         : 1;  /**< Write 1 to set GMX1 interrupt enable */
6826         uint64_t agx0                         : 1;  /**< Write 1 to set GMX0 interrupt enable */
6827         uint64_t dpi                          : 1;  /**< Write 1 to set DPI interrupt enable */
6828         uint64_t sli                          : 1;  /**< Write 1 to set SLI interrupt enable */
6829         uint64_t usb                          : 1;  /**< Write 1 to set USB UCTL0 interrupt enable */
6830         uint64_t dfa                          : 1;  /**< Write 1 to set DFA interrupt enable */
6831         uint64_t key                          : 1;  /**< Write 1 to set KEY interrupt enable */
6832         uint64_t rad                          : 1;  /**< Write 1 to set RAD interrupt enable */
6833         uint64_t tim                          : 1;  /**< Write 1 to set TIM interrupt enable */
6834         uint64_t zip                          : 1;  /**< Write 1 to set ZIP interrupt enable */
6835         uint64_t pko                          : 1;  /**< Write 1 to set PKO interrupt enable */
6836         uint64_t pip                          : 1;  /**< Write 1 to set PIP interrupt enable */
6837         uint64_t ipd                          : 1;  /**< Write 1 to set IPD interrupt enable */
6838         uint64_t l2c                          : 1;  /**< Write 1 to set L2C interrupt enable */
6839         uint64_t pow                          : 1;  /**< Write 1 to set POW err interrupt enable */
6840         uint64_t fpa                          : 1;  /**< Write 1 to set FPA interrupt enable */
6841         uint64_t iob                          : 1;  /**< Write 1 to set IOB interrupt enable */
6842         uint64_t mio                          : 1;  /**< Write 1 to set MIO boot interrupt enable */
6843         uint64_t nand                         : 1;  /**< Write 1 to set EMMC Flash Controller interrupt
6844                                                          enable */
6845         uint64_t mii1                         : 1;  /**< Write 1 to set RGMII/MII/MIX Interface 1 Interrupt
6846                                                          enable */
6847         uint64_t usb1                         : 1;  /**< Second USB Interrupt */
6848         uint64_t uart2                        : 1;  /**< Third UART interrupt */
6849         uint64_t wdog                         : 16; /**< Write 1s to set Watchdog summary interrupt enable */
6850 #else
6851         uint64_t wdog                         : 16;
6852         uint64_t uart2                        : 1;
6853         uint64_t usb1                         : 1;
6854         uint64_t mii1                         : 1;
6855         uint64_t nand                         : 1;
6856         uint64_t mio                          : 1;
6857         uint64_t iob                          : 1;
6858         uint64_t fpa                          : 1;
6859         uint64_t pow                          : 1;
6860         uint64_t l2c                          : 1;
6861         uint64_t ipd                          : 1;
6862         uint64_t pip                          : 1;
6863         uint64_t pko                          : 1;
6864         uint64_t zip                          : 1;
6865         uint64_t tim                          : 1;
6866         uint64_t rad                          : 1;
6867         uint64_t key                          : 1;
6868         uint64_t dfa                          : 1;
6869         uint64_t usb                          : 1;
6870         uint64_t sli                          : 1;
6871         uint64_t dpi                          : 1;
6872         uint64_t agx0                         : 1;
6873         uint64_t agx1                         : 1;
6874         uint64_t reserved_38_39               : 2;
6875         uint64_t dpi_dma                      : 1;
6876         uint64_t reserved_41_45               : 5;
6877         uint64_t agl                          : 1;
6878         uint64_t ptp                          : 1;
6879         uint64_t pem0                         : 1;
6880         uint64_t pem1                         : 1;
6881         uint64_t srio0                        : 1;
6882         uint64_t srio1                        : 1;
6883         uint64_t lmc0                         : 1;
6884         uint64_t reserved_53_55               : 3;
6885         uint64_t dfm                          : 1;
6886         uint64_t reserved_57_59               : 3;
6887         uint64_t srio2                        : 1;
6888         uint64_t srio3                        : 1;
6889         uint64_t reserved_62_62               : 1;
6890         uint64_t rst                          : 1;
6891 #endif
6892         } s;
6893         struct cvmx_ciu_intx_en4_1_w1s_cn52xx {
6894 #ifdef __BIG_ENDIAN_BITFIELD
6895         uint64_t reserved_20_63               : 44;
6896         uint64_t nand                         : 1;  /**< NAND Flash Controller */
6897         uint64_t mii1                         : 1;  /**< Second MII Interrupt */
6898         uint64_t usb1                         : 1;  /**< Second USB Interrupt */
6899         uint64_t uart2                        : 1;  /**< Third UART interrupt */
6900         uint64_t reserved_4_15                : 12;
6901         uint64_t wdog                         : 4;  /**< Watchdog summary interrupt enable vector */
6902 #else
6903         uint64_t wdog                         : 4;
6904         uint64_t reserved_4_15                : 12;
6905         uint64_t uart2                        : 1;
6906         uint64_t usb1                         : 1;
6907         uint64_t mii1                         : 1;
6908         uint64_t nand                         : 1;
6909         uint64_t reserved_20_63               : 44;
6910 #endif
6911         } cn52xx;
6912         struct cvmx_ciu_intx_en4_1_w1s_cn56xx {
6913 #ifdef __BIG_ENDIAN_BITFIELD
6914         uint64_t reserved_12_63               : 52;
6915         uint64_t wdog                         : 12; /**< Watchdog summary interrupt enable vectory */
6916 #else
6917         uint64_t wdog                         : 12;
6918         uint64_t reserved_12_63               : 52;
6919 #endif
6920         } cn56xx;
6921         struct cvmx_ciu_intx_en4_1_w1s_cn58xx {
6922 #ifdef __BIG_ENDIAN_BITFIELD
6923         uint64_t reserved_16_63               : 48;
6924         uint64_t wdog                         : 16; /**< Watchdog summary interrupt enable vectory */
6925 #else
6926         uint64_t wdog                         : 16;
6927         uint64_t reserved_16_63               : 48;
6928 #endif
6929         } cn58xx;
6930         struct cvmx_ciu_intx_en4_1_w1s_cn61xx {
6931 #ifdef __BIG_ENDIAN_BITFIELD
6932         uint64_t rst                          : 1;  /**< Write 1 to set MIO RST interrupt enable */
6933         uint64_t reserved_53_62               : 10;
6934         uint64_t lmc0                         : 1;  /**< Write 1 to set LMC0 interrupt enable */
6935         uint64_t reserved_50_51               : 2;
6936         uint64_t pem1                         : 1;  /**< Write 1 to set PEM1 interrupt enable */
6937         uint64_t pem0                         : 1;  /**< Write 1 to set PEM0 interrupt enable */
6938         uint64_t ptp                          : 1;  /**< Write 1 to set PTP interrupt enable */
6939         uint64_t agl                          : 1;  /**< Write 1 to set AGL interrupt enable */
6940         uint64_t reserved_41_45               : 5;
6941         uint64_t dpi_dma                      : 1;  /**< Write 1 to set DPI_DMA interrupt enable */
6942         uint64_t reserved_38_39               : 2;
6943         uint64_t agx1                         : 1;  /**< Write 1 to set GMX1 interrupt enable */
6944         uint64_t agx0                         : 1;  /**< Write 1 to set GMX0 interrupt enable */
6945         uint64_t dpi                          : 1;  /**< Write 1 to set DPI interrupt enable */
6946         uint64_t sli                          : 1;  /**< Write 1 to set SLI interrupt enable */
6947         uint64_t usb                          : 1;  /**< Write 1 to set USB UCTL0 interrupt enable */
6948         uint64_t dfa                          : 1;  /**< Write 1 to set DFA interrupt enable */
6949         uint64_t key                          : 1;  /**< Write 1 to set KEY interrupt enable */
6950         uint64_t rad                          : 1;  /**< Write 1 to set RAD interrupt enable */
6951         uint64_t tim                          : 1;  /**< Write 1 to set TIM interrupt enable */
6952         uint64_t zip                          : 1;  /**< Write 1 to set ZIP interrupt enable */
6953         uint64_t pko                          : 1;  /**< Write 1 to set PKO interrupt enable */
6954         uint64_t pip                          : 1;  /**< Write 1 to set PIP interrupt enable */
6955         uint64_t ipd                          : 1;  /**< Write 1 to set IPD interrupt enable */
6956         uint64_t l2c                          : 1;  /**< Write 1 to set L2C interrupt enable */
6957         uint64_t pow                          : 1;  /**< Write 1 to set POW err interrupt enable */
6958         uint64_t fpa                          : 1;  /**< Write 1 to set FPA interrupt enable */
6959         uint64_t iob                          : 1;  /**< Write 1 to set IOB interrupt enable */
6960         uint64_t mio                          : 1;  /**< Write 1 to set MIO boot interrupt enable */
6961         uint64_t nand                         : 1;  /**< Write 1 to set EMMC Flash Controller interrupt
6962                                                          enable */
6963         uint64_t mii1                         : 1;  /**< Write 1 to set RGMII/MIX Interface 1 Interrupt
6964                                                          enable */
6965         uint64_t reserved_4_17                : 14;
6966         uint64_t wdog                         : 4;  /**< Write 1s to set Watchdog summary interrupt enable */
6967 #else
6968         uint64_t wdog                         : 4;
6969         uint64_t reserved_4_17                : 14;
6970         uint64_t mii1                         : 1;
6971         uint64_t nand                         : 1;
6972         uint64_t mio                          : 1;
6973         uint64_t iob                          : 1;
6974         uint64_t fpa                          : 1;
6975         uint64_t pow                          : 1;
6976         uint64_t l2c                          : 1;
6977         uint64_t ipd                          : 1;
6978         uint64_t pip                          : 1;
6979         uint64_t pko                          : 1;
6980         uint64_t zip                          : 1;
6981         uint64_t tim                          : 1;
6982         uint64_t rad                          : 1;
6983         uint64_t key                          : 1;
6984         uint64_t dfa                          : 1;
6985         uint64_t usb                          : 1;
6986         uint64_t sli                          : 1;
6987         uint64_t dpi                          : 1;
6988         uint64_t agx0                         : 1;
6989         uint64_t agx1                         : 1;
6990         uint64_t reserved_38_39               : 2;
6991         uint64_t dpi_dma                      : 1;
6992         uint64_t reserved_41_45               : 5;
6993         uint64_t agl                          : 1;
6994         uint64_t ptp                          : 1;
6995         uint64_t pem0                         : 1;
6996         uint64_t pem1                         : 1;
6997         uint64_t reserved_50_51               : 2;
6998         uint64_t lmc0                         : 1;
6999         uint64_t reserved_53_62               : 10;
7000         uint64_t rst                          : 1;
7001 #endif
7002         } cn61xx;
7003         struct cvmx_ciu_intx_en4_1_w1s_cn63xx {
7004 #ifdef __BIG_ENDIAN_BITFIELD
7005         uint64_t rst                          : 1;  /**< Write 1 to set MIO RST interrupt enable */
7006         uint64_t reserved_57_62               : 6;
7007         uint64_t dfm                          : 1;  /**< Write 1 to set DFM interrupt enable */
7008         uint64_t reserved_53_55               : 3;
7009         uint64_t lmc0                         : 1;  /**< Write 1 to set LMC0 interrupt enable */
7010         uint64_t srio1                        : 1;  /**< Write 1 to set SRIO1 interrupt enable */
7011         uint64_t srio0                        : 1;  /**< Write 1 to set SRIO0 interrupt enable */
7012         uint64_t pem1                         : 1;  /**< Write 1 to set PEM1 interrupt enable */
7013         uint64_t pem0                         : 1;  /**< Write 1 to set PEM0 interrupt enable */
7014         uint64_t ptp                          : 1;  /**< Write 1 to set PTP interrupt enable */
7015         uint64_t agl                          : 1;  /**< Write 1 to set AGL interrupt enable */
7016         uint64_t reserved_37_45               : 9;
7017         uint64_t agx0                         : 1;  /**< Write 1 to set GMX0 interrupt enable */
7018         uint64_t dpi                          : 1;  /**< Write 1 to set DPI interrupt enable */
7019         uint64_t sli                          : 1;  /**< Write 1 to set SLI interrupt enable */
7020         uint64_t usb                          : 1;  /**< Write 1 to set USB UCTL0 interrupt enable */
7021         uint64_t dfa                          : 1;  /**< Write 1 to set DFA interrupt enable */
7022         uint64_t key                          : 1;  /**< Write 1 to set KEY interrupt enable */
7023         uint64_t rad                          : 1;  /**< Write 1 to set RAD interrupt enable */
7024         uint64_t tim                          : 1;  /**< Write 1 to set TIM interrupt enable */
7025         uint64_t zip                          : 1;  /**< Write 1 to set ZIP interrupt enable */
7026         uint64_t pko                          : 1;  /**< Write 1 to set PKO interrupt enable */
7027         uint64_t pip                          : 1;  /**< Write 1 to set PIP interrupt enable */
7028         uint64_t ipd                          : 1;  /**< Write 1 to set IPD interrupt enable */
7029         uint64_t l2c                          : 1;  /**< Write 1 to set L2C interrupt enable */
7030         uint64_t pow                          : 1;  /**< Write 1 to set POW err interrupt enable */
7031         uint64_t fpa                          : 1;  /**< Write 1 to set FPA interrupt enable */
7032         uint64_t iob                          : 1;  /**< Write 1 to set IOB interrupt enable */
7033         uint64_t mio                          : 1;  /**< Write 1 to set MIO boot interrupt enable */
7034         uint64_t nand                         : 1;  /**< Write 1 to set NAND Flash Controller interrupt
7035                                                          enable */
7036         uint64_t mii1                         : 1;  /**< Write 1 to set RGMII/MII/MIX Interface 1 Interrupt
7037                                                          enable */
7038         uint64_t reserved_6_17                : 12;
7039         uint64_t wdog                         : 6;  /**< Write 1s to set Watchdog summary interrupt enable */
7040 #else
7041         uint64_t wdog                         : 6;
7042         uint64_t reserved_6_17                : 12;
7043         uint64_t mii1                         : 1;
7044         uint64_t nand                         : 1;
7045         uint64_t mio                          : 1;
7046         uint64_t iob                          : 1;
7047         uint64_t fpa                          : 1;
7048         uint64_t pow                          : 1;
7049         uint64_t l2c                          : 1;
7050         uint64_t ipd                          : 1;
7051         uint64_t pip                          : 1;
7052         uint64_t pko                          : 1;
7053         uint64_t zip                          : 1;
7054         uint64_t tim                          : 1;
7055         uint64_t rad                          : 1;
7056         uint64_t key                          : 1;
7057         uint64_t dfa                          : 1;
7058         uint64_t usb                          : 1;
7059         uint64_t sli                          : 1;
7060         uint64_t dpi                          : 1;
7061         uint64_t agx0                         : 1;
7062         uint64_t reserved_37_45               : 9;
7063         uint64_t agl                          : 1;
7064         uint64_t ptp                          : 1;
7065         uint64_t pem0                         : 1;
7066         uint64_t pem1                         : 1;
7067         uint64_t srio0                        : 1;
7068         uint64_t srio1                        : 1;
7069         uint64_t lmc0                         : 1;
7070         uint64_t reserved_53_55               : 3;
7071         uint64_t dfm                          : 1;
7072         uint64_t reserved_57_62               : 6;
7073         uint64_t rst                          : 1;
7074 #endif
7075         } cn63xx;
7076         struct cvmx_ciu_intx_en4_1_w1s_cn63xx cn63xxp1;
7077         struct cvmx_ciu_intx_en4_1_w1s_cn66xx {
7078 #ifdef __BIG_ENDIAN_BITFIELD
7079         uint64_t rst                          : 1;  /**< Write 1 to set MIO RST interrupt enable */
7080         uint64_t reserved_62_62               : 1;
7081         uint64_t srio3                        : 1;  /**< Write 1 to set SRIO3 interrupt enable */
7082         uint64_t srio2                        : 1;  /**< Write 1 to set SRIO2 interrupt enable */
7083         uint64_t reserved_57_59               : 3;
7084         uint64_t dfm                          : 1;  /**< Write 1 to set DFM interrupt enable */
7085         uint64_t reserved_53_55               : 3;
7086         uint64_t lmc0                         : 1;  /**< Write 1 to set LMC0 interrupt enable */
7087         uint64_t reserved_51_51               : 1;
7088         uint64_t srio0                        : 1;  /**< Write 1 to set SRIO0 interrupt enable */
7089         uint64_t pem1                         : 1;  /**< Write 1 to set PEM1 interrupt enable */
7090         uint64_t pem0                         : 1;  /**< Write 1 to set PEM0 interrupt enable */
7091         uint64_t ptp                          : 1;  /**< Write 1 to set PTP interrupt enable */
7092         uint64_t agl                          : 1;  /**< Write 1 to set AGL interrupt enable */
7093         uint64_t reserved_38_45               : 8;
7094         uint64_t agx1                         : 1;  /**< Write 1 to set GMX1 interrupt enable */
7095         uint64_t agx0                         : 1;  /**< Write 1 to set GMX0 interrupt enable */
7096         uint64_t dpi                          : 1;  /**< Write 1 to set DPI interrupt enable */
7097         uint64_t sli                          : 1;  /**< Write 1 to set SLI interrupt enable */
7098         uint64_t usb                          : 1;  /**< Write 1 to set USB UCTL0 interrupt enable */
7099         uint64_t dfa                          : 1;  /**< Write 1 to set DFA interrupt enable */
7100         uint64_t key                          : 1;  /**< Write 1 to set KEY interrupt enable */
7101         uint64_t rad                          : 1;  /**< Write 1 to set RAD interrupt enable */
7102         uint64_t tim                          : 1;  /**< Write 1 to set TIM interrupt enable */
7103         uint64_t zip                          : 1;  /**< Write 1 to set ZIP interrupt enable */
7104         uint64_t pko                          : 1;  /**< Write 1 to set PKO interrupt enable */
7105         uint64_t pip                          : 1;  /**< Write 1 to set PIP interrupt enable */
7106         uint64_t ipd                          : 1;  /**< Write 1 to set IPD interrupt enable */
7107         uint64_t l2c                          : 1;  /**< Write 1 to set L2C interrupt enable */
7108         uint64_t pow                          : 1;  /**< Write 1 to set POW err interrupt enable */
7109         uint64_t fpa                          : 1;  /**< Write 1 to set FPA interrupt enable */
7110         uint64_t iob                          : 1;  /**< Write 1 to set IOB interrupt enable */
7111         uint64_t mio                          : 1;  /**< Write 1 to set MIO boot interrupt enable */
7112         uint64_t nand                         : 1;  /**< Write 1 to set NAND Flash Controller interrupt
7113                                                          enable */
7114         uint64_t mii1                         : 1;  /**< Write 1 to set RGMII/MII/MIX Interface 1 Interrupt
7115                                                          enable */
7116         uint64_t reserved_10_17               : 8;
7117         uint64_t wdog                         : 10; /**< Write 1s to set Watchdog summary interrupt enable */
7118 #else
7119         uint64_t wdog                         : 10;
7120         uint64_t reserved_10_17               : 8;
7121         uint64_t mii1                         : 1;
7122         uint64_t nand                         : 1;
7123         uint64_t mio                          : 1;
7124         uint64_t iob                          : 1;
7125         uint64_t fpa                          : 1;
7126         uint64_t pow                          : 1;
7127         uint64_t l2c                          : 1;
7128         uint64_t ipd                          : 1;
7129         uint64_t pip                          : 1;
7130         uint64_t pko                          : 1;
7131         uint64_t zip                          : 1;
7132         uint64_t tim                          : 1;
7133         uint64_t rad                          : 1;
7134         uint64_t key                          : 1;
7135         uint64_t dfa                          : 1;
7136         uint64_t usb                          : 1;
7137         uint64_t sli                          : 1;
7138         uint64_t dpi                          : 1;
7139         uint64_t agx0                         : 1;
7140         uint64_t agx1                         : 1;
7141         uint64_t reserved_38_45               : 8;
7142         uint64_t agl                          : 1;
7143         uint64_t ptp                          : 1;
7144         uint64_t pem0                         : 1;
7145         uint64_t pem1                         : 1;
7146         uint64_t srio0                        : 1;
7147         uint64_t reserved_51_51               : 1;
7148         uint64_t lmc0                         : 1;
7149         uint64_t reserved_53_55               : 3;
7150         uint64_t dfm                          : 1;
7151         uint64_t reserved_57_59               : 3;
7152         uint64_t srio2                        : 1;
7153         uint64_t srio3                        : 1;
7154         uint64_t reserved_62_62               : 1;
7155         uint64_t rst                          : 1;
7156 #endif
7157         } cn66xx;
7158         struct cvmx_ciu_intx_en4_1_w1s_cnf71xx {
7159 #ifdef __BIG_ENDIAN_BITFIELD
7160         uint64_t rst                          : 1;  /**< Write 1 to set MIO RST interrupt enable */
7161         uint64_t reserved_53_62               : 10;
7162         uint64_t lmc0                         : 1;  /**< Write 1 to set LMC0 interrupt enable */
7163         uint64_t reserved_50_51               : 2;
7164         uint64_t pem1                         : 1;  /**< Write 1 to set PEM1 interrupt enable */
7165         uint64_t pem0                         : 1;  /**< Write 1 to set PEM0 interrupt enable */
7166         uint64_t ptp                          : 1;  /**< Write 1 to set PTP interrupt enable */
7167         uint64_t reserved_41_46               : 6;
7168         uint64_t dpi_dma                      : 1;  /**< Write 1 to set DPI_DMA interrupt enable */
7169         uint64_t reserved_37_39               : 3;
7170         uint64_t agx0                         : 1;  /**< Write 1 to set GMX0 interrupt enable */
7171         uint64_t dpi                          : 1;  /**< Write 1 to set DPI interrupt enable */
7172         uint64_t sli                          : 1;  /**< Write 1 to set SLI interrupt enable */
7173         uint64_t usb                          : 1;  /**< Write 1 to set USB UCTL0 interrupt enable */
7174         uint64_t reserved_32_32               : 1;
7175         uint64_t key                          : 1;  /**< Write 1 to set KEY interrupt enable */
7176         uint64_t rad                          : 1;  /**< Write 1 to set RAD interrupt enable */
7177         uint64_t tim                          : 1;  /**< Write 1 to set TIM interrupt enable */
7178         uint64_t reserved_28_28               : 1;
7179         uint64_t pko                          : 1;  /**< Write 1 to set PKO interrupt enable */
7180         uint64_t pip                          : 1;  /**< Write 1 to set PIP interrupt enable */
7181         uint64_t ipd                          : 1;  /**< Write 1 to set IPD interrupt enable */
7182         uint64_t l2c                          : 1;  /**< Write 1 to set L2C interrupt enable */
7183         uint64_t pow                          : 1;  /**< Write 1 to set POW err interrupt enable */
7184         uint64_t fpa                          : 1;  /**< Write 1 to set FPA interrupt enable */
7185         uint64_t iob                          : 1;  /**< Write 1 to set IOB interrupt enable */
7186         uint64_t mio                          : 1;  /**< Write 1 to set MIO boot interrupt enable */
7187         uint64_t nand                         : 1;  /**< Write 1 to set EMMC Flash Controller interrupt
7188                                                          enable */
7189         uint64_t reserved_4_18                : 15;
7190         uint64_t wdog                         : 4;  /**< Write 1s to set Watchdog summary interrupt enable */
7191 #else
7192         uint64_t wdog                         : 4;
7193         uint64_t reserved_4_18                : 15;
7194         uint64_t nand                         : 1;
7195         uint64_t mio                          : 1;
7196         uint64_t iob                          : 1;
7197         uint64_t fpa                          : 1;
7198         uint64_t pow                          : 1;
7199         uint64_t l2c                          : 1;
7200         uint64_t ipd                          : 1;
7201         uint64_t pip                          : 1;
7202         uint64_t pko                          : 1;
7203         uint64_t reserved_28_28               : 1;
7204         uint64_t tim                          : 1;
7205         uint64_t rad                          : 1;
7206         uint64_t key                          : 1;
7207         uint64_t reserved_32_32               : 1;
7208         uint64_t usb                          : 1;
7209         uint64_t sli                          : 1;
7210         uint64_t dpi                          : 1;
7211         uint64_t agx0                         : 1;
7212         uint64_t reserved_37_39               : 3;
7213         uint64_t dpi_dma                      : 1;
7214         uint64_t reserved_41_46               : 6;
7215         uint64_t ptp                          : 1;
7216         uint64_t pem0                         : 1;
7217         uint64_t pem1                         : 1;
7218         uint64_t reserved_50_51               : 2;
7219         uint64_t lmc0                         : 1;
7220         uint64_t reserved_53_62               : 10;
7221         uint64_t rst                          : 1;
7222 #endif
7223         } cnf71xx;
7224 };
7225 typedef union cvmx_ciu_intx_en4_1_w1s cvmx_ciu_intx_en4_1_w1s_t;
7226
7227 /**
7228  * cvmx_ciu_int#_sum0
7229  */
7230 union cvmx_ciu_intx_sum0 {
7231         uint64_t u64;
7232         struct cvmx_ciu_intx_sum0_s {
7233 #ifdef __BIG_ENDIAN_BITFIELD
7234         uint64_t bootdma                      : 1;  /**< Boot bus DMA engines Interrupt
7235                                                          See MIO_BOOT_DMA_INT*, MIO_NDF_DMA_INT */
7236         uint64_t mii                          : 1;  /**< RGMII/MII/MIX Interface 0 Interrupt
7237                                                          See MIX0_ISR */
7238         uint64_t ipdppthr                     : 1;  /**< IPD per-port counter threshold interrupt
7239                                                          See IPD_PORT_QOS_INT* */
7240         uint64_t powiq                        : 1;  /**< POW IQ interrupt
7241                                                          See POW_IQ_INT */
7242         uint64_t twsi2                        : 1;  /**< 2nd TWSI Interrupt
7243                                                          See MIO_TWS1_INT */
7244         uint64_t mpi                          : 1;  /**< MPI/SPI interrupt, Set when MPI transaction
7245                                                          finished, see MPI_CFG[INT_ENA] and MPI_STS[BUSY] */
7246         uint64_t pcm                          : 1;  /**< PCM/TDM interrupt */
7247         uint64_t usb                          : 1;  /**< USB EHCI or OHCI Interrupt
7248                                                          See UAHC0_EHCI_USBSTS UAHC0_OHCI0_HCINTERRUPTSTATUS */
7249         uint64_t timer                        : 4;  /**< General timer 0-3 interrupts.
7250                                                          When CIU_TIM_MULTI_CAST[EN] == 0, this interrupt is
7251                                                          common for all PP/IRQs, writing '1' to any PP/IRQ
7252                                                          will clear all TIMERx(x=0..9) interrupts.
7253                                                          When CIU_TIM_MULTI_CAST[EN] == 1, TIMERx(x=0..9)
7254                                                          are set at the same time, but clearing are based on
7255                                                          per cnMIPS core. See CIU_TIM_MULTI_CAST for detail.
7256                                                          The combination of this field and the
7257                                                          CIU_SUM2_*[TIMER] field implement all 10 CIU_TIM*
7258                                                          interrupts. */
7259         uint64_t reserved_51_51               : 1;
7260         uint64_t ipd_drp                      : 1;  /**< IPD QOS packet drop interrupt
7261                                                          Set any time PIP/IPD drops a packet */
7262         uint64_t gmx_drp                      : 2;  /**< GMX0/1 packet drop interrupt
7263                                                          Set any time corresponding GMX0/1 drops a packet */
7264         uint64_t trace                        : 1;  /**< Trace buffer interrupt
7265                                                          See TRA_INT_STATUS */
7266         uint64_t rml                          : 1;  /**< RML Interrupt
7267                                                          This interrupt will assert if any bit within
7268                                                          CIU_BLOCK_INT is asserted. */
7269         uint64_t twsi                         : 1;  /**< TWSI Interrupt
7270                                                          See MIO_TWS0_INT */
7271         uint64_t wdog_sum                     : 1;  /**< SUM1&EN1 summary bit
7272                                                          This read-only bit reads as a one whenever any
7273                                                          CIU_SUM1_PPX_IPx (CIU_SUM1_IOX_INT)  bit is set
7274                                                          and corresponding enable bit in CIU_INTx_EN is set
7275                                                          PPs use CIU_INTx_SUM0 where x=0-7
7276                                                          PCIe uses the CIU_INTx_SUM0 where x=32-33.
7277                                                          Note that WDOG_SUM only summarizes the SUM1/EN1
7278                                                          result and does not have a corresponding enable
7279                                                          bit, so does not directly contribute to
7280                                                          interrupts. */
7281         uint64_t pci_msi                      : 4;  /**< PCIe MSI
7282                                                          See SLI_MSI_RCVn for bit <40+n> */
7283         uint64_t pci_int                      : 4;  /**< PCIe INTA/B/C/D
7284                                                          Refer to "Receiving Emulated INTA/INTB/
7285                                                          INTC/INTD" in the SLI chapter of the spec
7286                                                          PCI_INT<3> = INTD
7287                                                          PCI_INT<2> = INTC
7288                                                          PCI_INT<1> = INTB
7289                                                          PCI_INT<0> = INTA */
7290         uint64_t uart                         : 2;  /**< Two UART interrupts
7291                                                          See MIO_UARTn_IIR[IID] for bit <34+n> */
7292         uint64_t mbox                         : 2;  /**< Two mailbox interrupts for entries 0-11
7293                                                           [33] is the or of <31:16>
7294                                                           [32] is the or of <15:0>
7295                                                          Two PCIe internal interrupts for entries 32-33
7296                                                           which equal CIU_PCI_INTA[INT] */
7297         uint64_t gpio                         : 16; /**< 16 GPIO interrupts
7298                                                          When GPIO_MULTI_CAST[EN] == 1
7299                                                          Write 1 to clear either the per PP or common GPIO
7300                                                          edge-triggered interrupts,depending on mode.
7301                                                          See GPIO_MULTI_CAST for all details.
7302                                                          When GPIO_MULTI_CAST[EN] == 0
7303                                                          Read Only, retain the same behavior as o63. */
7304         uint64_t workq                        : 16; /**< 16 work queue interrupts
7305                                                          See POW_WQ_INT[WQ_INT]
7306                                                           1 bit/group. A copy of the R/W1C bit in the POW. */
7307 #else
7308         uint64_t workq                        : 16;
7309         uint64_t gpio                         : 16;
7310         uint64_t mbox                         : 2;
7311         uint64_t uart                         : 2;
7312         uint64_t pci_int                      : 4;
7313         uint64_t pci_msi                      : 4;
7314         uint64_t wdog_sum                     : 1;
7315         uint64_t twsi                         : 1;
7316         uint64_t rml                          : 1;
7317         uint64_t trace                        : 1;
7318         uint64_t gmx_drp                      : 2;
7319         uint64_t ipd_drp                      : 1;
7320         uint64_t reserved_51_51               : 1;
7321         uint64_t timer                        : 4;
7322         uint64_t usb                          : 1;
7323         uint64_t pcm                          : 1;
7324         uint64_t mpi                          : 1;
7325         uint64_t twsi2                        : 1;
7326         uint64_t powiq                        : 1;
7327         uint64_t ipdppthr                     : 1;
7328         uint64_t mii                          : 1;
7329         uint64_t bootdma                      : 1;
7330 #endif
7331         } s;
7332         struct cvmx_ciu_intx_sum0_cn30xx {
7333 #ifdef __BIG_ENDIAN_BITFIELD
7334         uint64_t reserved_59_63               : 5;
7335         uint64_t mpi                          : 1;  /**< MPI/SPI interrupt */
7336         uint64_t pcm                          : 1;  /**< PCM/TDM interrupt */
7337         uint64_t usb                          : 1;  /**< USB interrupt */
7338         uint64_t timer                        : 4;  /**< General timer interrupts */
7339         uint64_t reserved_51_51               : 1;
7340         uint64_t ipd_drp                      : 1;  /**< IPD QOS packet drop */
7341         uint64_t reserved_49_49               : 1;
7342         uint64_t gmx_drp                      : 1;  /**< GMX packet drop */
7343         uint64_t reserved_47_47               : 1;
7344         uint64_t rml                          : 1;  /**< RML Interrupt */
7345         uint64_t twsi                         : 1;  /**< TWSI Interrupt */
7346         uint64_t wdog_sum                     : 1;  /**< Watchdog summary
7347                                                          PPs use CIU_INTx_SUM0 where x=0-1.
7348                                                          PCI uses the CIU_INTx_SUM0 where x=32.
7349                                                          Even INTx registers report WDOG to IP2
7350                                                          Odd INTx registers report WDOG to IP3 */
7351         uint64_t pci_msi                      : 4;  /**< PCI MSI
7352                                                          [43] is the or of <63:48>
7353                                                          [42] is the or of <47:32>
7354                                                          [41] is the or of <31:16>
7355                                                          [40] is the or of <15:0> */
7356         uint64_t pci_int                      : 4;  /**< PCI INTA/B/C/D */
7357         uint64_t uart                         : 2;  /**< Two UART interrupts */
7358         uint64_t mbox                         : 2;  /**< Two mailbox interrupts for entries 0-31
7359                                                           [33] is the or of <31:16>
7360                                                           [32] is the or of <15:0>
7361                                                          Two PCI internal interrupts for entry 32
7362                                                           CIU_PCI_INTA */
7363         uint64_t gpio                         : 16; /**< 16 GPIO interrupts */
7364         uint64_t workq                        : 16; /**< 16 work queue interrupts
7365                                                          1 bit/group. A copy of the R/W1C bit in the POW. */
7366 #else
7367         uint64_t workq                        : 16;
7368         uint64_t gpio                         : 16;
7369         uint64_t mbox                         : 2;
7370         uint64_t uart                         : 2;
7371         uint64_t pci_int                      : 4;
7372         uint64_t pci_msi                      : 4;
7373         uint64_t wdog_sum                     : 1;
7374         uint64_t twsi                         : 1;
7375         uint64_t rml                          : 1;
7376         uint64_t reserved_47_47               : 1;
7377         uint64_t gmx_drp                      : 1;
7378         uint64_t reserved_49_49               : 1;
7379         uint64_t ipd_drp                      : 1;
7380         uint64_t reserved_51_51               : 1;
7381         uint64_t timer                        : 4;
7382         uint64_t usb                          : 1;
7383         uint64_t pcm                          : 1;
7384         uint64_t mpi                          : 1;
7385         uint64_t reserved_59_63               : 5;
7386 #endif
7387         } cn30xx;
7388         struct cvmx_ciu_intx_sum0_cn31xx {
7389 #ifdef __BIG_ENDIAN_BITFIELD
7390         uint64_t reserved_59_63               : 5;
7391         uint64_t mpi                          : 1;  /**< MPI/SPI interrupt */
7392         uint64_t pcm                          : 1;  /**< PCM/TDM interrupt */
7393         uint64_t usb                          : 1;  /**< USB interrupt */
7394         uint64_t timer                        : 4;  /**< General timer interrupts */
7395         uint64_t reserved_51_51               : 1;
7396         uint64_t ipd_drp                      : 1;  /**< IPD QOS packet drop */
7397         uint64_t reserved_49_49               : 1;
7398         uint64_t gmx_drp                      : 1;  /**< GMX packet drop */
7399         uint64_t trace                        : 1;  /**< L2C has the CMB trace buffer */
7400         uint64_t rml                          : 1;  /**< RML Interrupt */
7401         uint64_t twsi                         : 1;  /**< TWSI Interrupt */
7402         uint64_t wdog_sum                     : 1;  /**< Watchdog summary
7403                                                          PPs use CIU_INTx_SUM0 where x=0-3.
7404                                                          PCI uses the CIU_INTx_SUM0 where x=32.
7405                                                          Even INTx registers report WDOG to IP2
7406                                                          Odd INTx registers report WDOG to IP3 */
7407         uint64_t pci_msi                      : 4;  /**< PCI MSI
7408                                                          [43] is the or of <63:48>
7409                                                          [42] is the or of <47:32>
7410                                                          [41] is the or of <31:16>
7411                                                          [40] is the or of <15:0> */
7412         uint64_t pci_int                      : 4;  /**< PCI INTA/B/C/D */
7413         uint64_t uart                         : 2;  /**< Two UART interrupts */
7414         uint64_t mbox                         : 2;  /**< Two mailbox interrupts for entries 0-31
7415                                                           [33] is the or of <31:16>
7416                                                           [32] is the or of <15:0>
7417                                                          Two PCI internal interrupts for entry 32
7418                                                           CIU_PCI_INTA */
7419         uint64_t gpio                         : 16; /**< 16 GPIO interrupts */
7420         uint64_t workq                        : 16; /**< 16 work queue interrupts
7421                                                          1 bit/group. A copy of the R/W1C bit in the POW. */
7422 #else
7423         uint64_t workq                        : 16;
7424         uint64_t gpio                         : 16;
7425         uint64_t mbox                         : 2;
7426         uint64_t uart                         : 2;
7427         uint64_t pci_int                      : 4;
7428         uint64_t pci_msi                      : 4;
7429         uint64_t wdog_sum                     : 1;
7430         uint64_t twsi                         : 1;
7431         uint64_t rml                          : 1;
7432         uint64_t trace                        : 1;
7433         uint64_t gmx_drp                      : 1;
7434         uint64_t reserved_49_49               : 1;
7435         uint64_t ipd_drp                      : 1;
7436         uint64_t reserved_51_51               : 1;
7437         uint64_t timer                        : 4;
7438         uint64_t usb                          : 1;
7439         uint64_t pcm                          : 1;
7440         uint64_t mpi                          : 1;
7441         uint64_t reserved_59_63               : 5;
7442 #endif
7443         } cn31xx;
7444         struct cvmx_ciu_intx_sum0_cn38xx {
7445 #ifdef __BIG_ENDIAN_BITFIELD
7446         uint64_t reserved_56_63               : 8;
7447         uint64_t timer                        : 4;  /**< General timer interrupts */
7448         uint64_t key_zero                     : 1;  /**< Key Zeroization interrupt
7449                                                          KEY_ZERO will be set when the external ZERO_KEYS
7450                                                          pin is sampled high.  KEY_ZERO is cleared by SW */
7451         uint64_t ipd_drp                      : 1;  /**< IPD QOS packet drop */
7452         uint64_t gmx_drp                      : 2;  /**< GMX packet drop */
7453         uint64_t trace                        : 1;  /**< L2C has the CMB trace buffer */
7454         uint64_t rml                          : 1;  /**< RML Interrupt */
7455         uint64_t twsi                         : 1;  /**< TWSI Interrupt */
7456         uint64_t wdog_sum                     : 1;  /**< Watchdog summary
7457                                                          PPs use CIU_INTx_SUM0 where x=0-31.
7458                                                          PCI uses the CIU_INTx_SUM0 where x=32.
7459                                                          Even INTx registers report WDOG to IP2
7460                                                          Odd INTx registers report WDOG to IP3 */
7461         uint64_t pci_msi                      : 4;  /**< PCI MSI
7462                                                          [43] is the or of <63:48>
7463                                                          [42] is the or of <47:32>
7464                                                          [41] is the or of <31:16>
7465                                                          [40] is the or of <15:0> */
7466         uint64_t pci_int                      : 4;  /**< PCI INTA/B/C/D */
7467         uint64_t uart                         : 2;  /**< Two UART interrupts */
7468         uint64_t mbox                         : 2;  /**< Two mailbox interrupts for entries 0-31
7469                                                           [33] is the or of <31:16>
7470                                                           [32] is the or of <15:0>
7471                                                          Two PCI internal interrupts for entry 32
7472                                                           CIU_PCI_INTA */
7473         uint64_t gpio                         : 16; /**< 16 GPIO interrupts */
7474         uint64_t workq                        : 16; /**< 16 work queue interrupts
7475                                                          1 bit/group. A copy of the R/W1C bit in the POW. */
7476 #else
7477         uint64_t workq                        : 16;
7478         uint64_t gpio                         : 16;
7479         uint64_t mbox                         : 2;
7480         uint64_t uart                         : 2;
7481         uint64_t pci_int                      : 4;
7482         uint64_t pci_msi                      : 4;
7483         uint64_t wdog_sum                     : 1;
7484         uint64_t twsi                         : 1;
7485         uint64_t rml                          : 1;
7486         uint64_t trace                        : 1;
7487         uint64_t gmx_drp                      : 2;
7488         uint64_t ipd_drp                      : 1;
7489         uint64_t key_zero                     : 1;
7490         uint64_t timer                        : 4;
7491         uint64_t reserved_56_63               : 8;
7492 #endif
7493         } cn38xx;
7494         struct cvmx_ciu_intx_sum0_cn38xx      cn38xxp2;
7495         struct cvmx_ciu_intx_sum0_cn30xx      cn50xx;
7496         struct cvmx_ciu_intx_sum0_cn52xx {
7497 #ifdef __BIG_ENDIAN_BITFIELD
7498         uint64_t bootdma                      : 1;  /**< Boot bus DMA engines Interrupt */
7499         uint64_t mii                          : 1;  /**< MII Interface Interrupt */
7500         uint64_t ipdppthr                     : 1;  /**< IPD per-port counter threshold interrupt */
7501         uint64_t powiq                        : 1;  /**< POW IQ interrupt */
7502         uint64_t twsi2                        : 1;  /**< 2nd TWSI Interrupt */
7503         uint64_t reserved_57_58               : 2;
7504         uint64_t usb                          : 1;  /**< USB Interrupt */
7505         uint64_t timer                        : 4;  /**< General timer interrupts */
7506         uint64_t reserved_51_51               : 1;
7507         uint64_t ipd_drp                      : 1;  /**< IPD QOS packet drop */
7508         uint64_t reserved_49_49               : 1;
7509         uint64_t gmx_drp                      : 1;  /**< GMX packet drop */
7510         uint64_t trace                        : 1;  /**< L2C has the CMB trace buffer */
7511         uint64_t rml                          : 1;  /**< RML Interrupt */
7512         uint64_t twsi                         : 1;  /**< TWSI Interrupt */
7513         uint64_t wdog_sum                     : 1;  /**< SUM1&EN1 summary bit
7514                                                          This read-only bit reads as a one whenever any
7515                                                          CIU_INT_SUM1 bit is set and corresponding
7516                                                          enable bit in CIU_INTx_EN is set, where x
7517                                                          is the same as x in this CIU_INTx_SUM0.
7518                                                          PPs use CIU_INTx_SUM0 where x=0-7.
7519                                                          PCI uses the CIU_INTx_SUM0 where x=32.
7520                                                          Even INTx registers report WDOG to IP2
7521                                                          Odd INTx registers report WDOG to IP3
7522                                                          Note that WDOG_SUM only summarizes the SUM/EN1
7523                                                          result and does not have a corresponding enable
7524                                                          bit, so does not directly contribute to
7525                                                          interrupts. */
7526         uint64_t pci_msi                      : 4;  /**< PCI MSI
7527                                                          Refer to "Receiving Message-Signalled
7528                                                          Interrupts" in the PCIe chapter of the spec */
7529         uint64_t pci_int                      : 4;  /**< PCI INTA/B/C/D
7530                                                          Refer to "Receiving Emulated INTA/INTB/
7531                                                          INTC/INTD" in the PCIe chapter of the spec */
7532         uint64_t uart                         : 2;  /**< Two UART interrupts */
7533         uint64_t mbox                         : 2;  /**< Two mailbox interrupts for entries 0-7
7534                                                           [33] is the or of <31:16>
7535                                                           [32] is the or of <15:0>
7536                                                          Two PCI internal interrupts for entry 32
7537                                                           CIU_PCI_INTA */
7538         uint64_t gpio                         : 16; /**< 16 GPIO interrupts */
7539         uint64_t workq                        : 16; /**< 16 work queue interrupts
7540                                                          1 bit/group. A copy of the R/W1C bit in the POW. */
7541 #else
7542         uint64_t workq                        : 16;
7543         uint64_t gpio                         : 16;
7544         uint64_t mbox                         : 2;
7545         uint64_t uart                         : 2;
7546         uint64_t pci_int                      : 4;
7547         uint64_t pci_msi                      : 4;
7548         uint64_t wdog_sum                     : 1;
7549         uint64_t twsi                         : 1;
7550         uint64_t rml                          : 1;
7551         uint64_t trace                        : 1;
7552         uint64_t gmx_drp                      : 1;
7553         uint64_t reserved_49_49               : 1;
7554         uint64_t ipd_drp                      : 1;
7555         uint64_t reserved_51_51               : 1;
7556         uint64_t timer                        : 4;
7557         uint64_t usb                          : 1;
7558         uint64_t reserved_57_58               : 2;
7559         uint64_t twsi2                        : 1;
7560         uint64_t powiq                        : 1;
7561         uint64_t ipdppthr                     : 1;
7562         uint64_t mii                          : 1;
7563         uint64_t bootdma                      : 1;
7564 #endif
7565         } cn52xx;
7566         struct cvmx_ciu_intx_sum0_cn52xx      cn52xxp1;
7567         struct cvmx_ciu_intx_sum0_cn56xx {
7568 #ifdef __BIG_ENDIAN_BITFIELD
7569         uint64_t bootdma                      : 1;  /**< Boot bus DMA engines Interrupt */
7570         uint64_t mii                          : 1;  /**< MII Interface Interrupt */
7571         uint64_t ipdppthr                     : 1;  /**< IPD per-port counter threshold interrupt */
7572         uint64_t powiq                        : 1;  /**< POW IQ interrupt */
7573         uint64_t twsi2                        : 1;  /**< 2nd TWSI Interrupt */
7574         uint64_t reserved_57_58               : 2;
7575         uint64_t usb                          : 1;  /**< USB Interrupt */
7576         uint64_t timer                        : 4;  /**< General timer interrupts */
7577         uint64_t key_zero                     : 1;  /**< Key Zeroization interrupt
7578                                                          KEY_ZERO will be set when the external ZERO_KEYS
7579                                                          pin is sampled high.  KEY_ZERO is cleared by SW */
7580         uint64_t ipd_drp                      : 1;  /**< IPD QOS packet drop */
7581         uint64_t gmx_drp                      : 2;  /**< GMX packet drop */
7582         uint64_t trace                        : 1;  /**< L2C has the CMB trace buffer */
7583         uint64_t rml                          : 1;  /**< RML Interrupt */
7584         uint64_t twsi                         : 1;  /**< TWSI Interrupt */
7585         uint64_t wdog_sum                     : 1;  /**< Watchdog summary
7586                                                          PPs use CIU_INTx_SUM0 where x=0-23.
7587                                                          PCI uses the CIU_INTx_SUM0 where x=32.
7588                                                          Even INTx registers report WDOG to IP2
7589                                                          Odd INTx registers report WDOG to IP3 */
7590         uint64_t pci_msi                      : 4;  /**< PCI MSI
7591                                                          Refer to "Receiving Message-Signalled
7592                                                          Interrupts" in the PCIe chapter of the spec */
7593         uint64_t pci_int                      : 4;  /**< PCI INTA/B/C/D
7594                                                          Refer to "Receiving Emulated INTA/INTB/
7595                                                          INTC/INTD" in the PCIe chapter of the spec */
7596         uint64_t uart                         : 2;  /**< Two UART interrupts */
7597         uint64_t mbox                         : 2;  /**< Two mailbox interrupts for entries 0-23
7598                                                           [33] is the or of <31:16>
7599                                                           [32] is the or of <15:0>
7600                                                          Two PCI internal interrupts for entry 32
7601                                                           CIU_PCI_INTA */
7602         uint64_t gpio                         : 16; /**< 16 GPIO interrupts */
7603         uint64_t workq                        : 16; /**< 16 work queue interrupts
7604                                                          1 bit/group. A copy of the R/W1C bit in the POW. */
7605 #else
7606         uint64_t workq                        : 16;
7607         uint64_t gpio                         : 16;
7608         uint64_t mbox                         : 2;
7609         uint64_t uart                         : 2;
7610         uint64_t pci_int                      : 4;
7611         uint64_t pci_msi                      : 4;
7612         uint64_t wdog_sum                     : 1;
7613         uint64_t twsi                         : 1;
7614         uint64_t rml                          : 1;
7615         uint64_t trace                        : 1;
7616         uint64_t gmx_drp                      : 2;
7617         uint64_t ipd_drp                      : 1;
7618         uint64_t key_zero                     : 1;
7619         uint64_t timer                        : 4;
7620         uint64_t usb                          : 1;
7621         uint64_t reserved_57_58               : 2;
7622         uint64_t twsi2                        : 1;
7623         uint64_t powiq                        : 1;
7624         uint64_t ipdppthr                     : 1;
7625         uint64_t mii                          : 1;
7626         uint64_t bootdma                      : 1;
7627 #endif
7628         } cn56xx;
7629         struct cvmx_ciu_intx_sum0_cn56xx      cn56xxp1;
7630         struct cvmx_ciu_intx_sum0_cn38xx      cn58xx;
7631         struct cvmx_ciu_intx_sum0_cn38xx      cn58xxp1;
7632         struct cvmx_ciu_intx_sum0_cn61xx {
7633 #ifdef __BIG_ENDIAN_BITFIELD
7634         uint64_t bootdma                      : 1;  /**< Boot bus DMA engines Interrupt
7635                                                          See MIO_BOOT_DMA_INT*, MIO_NDF_DMA_INT */
7636         uint64_t mii                          : 1;  /**< RGMII/MIX Interface 0 Interrupt
7637                                                          See MIX0_ISR */
7638         uint64_t ipdppthr                     : 1;  /**< IPD per-port counter threshold interrupt
7639                                                          See IPD_PORT_QOS_INT* */
7640         uint64_t powiq                        : 1;  /**< POW IQ interrupt
7641                                                          See POW_IQ_INT */
7642         uint64_t twsi2                        : 1;  /**< 2nd TWSI Interrupt
7643                                                          See MIO_TWS1_INT */
7644         uint64_t mpi                          : 1;  /**< MPI/SPI interrupt, Set when MPI transaction
7645                                                          finished, see MPI_CFG[INT_ENA] and MPI_STS[BUSY] */
7646         uint64_t pcm                          : 1;  /**< PCM/TDM interrupt */
7647         uint64_t usb                          : 1;  /**< USB EHCI or OHCI Interrupt
7648                                                          See UAHC0_EHCI_USBSTS UAHC0_OHCI0_HCINTERRUPTSTATUS */
7649         uint64_t timer                        : 4;  /**< General timer 0-3 interrupts.
7650                                                          When CIU_TIM_MULTI_CAST[EN] == 0, this interrupt is
7651                                                          common for all PP/IRQs, writing '1' to any PP/IRQ
7652                                                          will clear all TIMERx(x=0..9) interrupts.
7653                                                          When CIU_TIM_MULTI_CAST[EN] == 1, TIMERx(x=0..9)
7654                                                          are set at the same time, but clearing are based on
7655                                                          per cnMIPS core. See CIU_TIM_MULTI_CAST for detail.
7656                                                          The combination of this field and the
7657                                                          CIU_SUM2_*[TIMER] field implement all 10 CIU_TIM*
7658                                                          interrupts. */
7659         uint64_t sum2                         : 1;  /**< SUM2&EN2 SUMMARY bit
7660                                                          This read-only bit reads as a one whenever any
7661                                                          CIU_SUM2_PPX_IPx (CIU_SUM2_IOX_INT)  bit is set
7662                                                          and corresponding enable bit in CIU_EN2_PPX_IPx
7663                                                          (CIU_EN2_IOX_INT) is set.
7664                                                          Note that SUM2 only summarizes the SUM2/EN2
7665                                                          result and does not have a corresponding enable
7666                                                          bit, so does not directly contribute to
7667                                                          interrupts. */
7668         uint64_t ipd_drp                      : 1;  /**< IPD QOS packet drop interrupt
7669                                                          Set any time PIP/IPD drops a packet */
7670         uint64_t gmx_drp                      : 2;  /**< GMX0/1 packet drop interrupt
7671                                                          Set any time corresponding GMX0/1 drops a packet */
7672         uint64_t trace                        : 1;  /**< Trace buffer interrupt
7673                                                          See TRA_INT_STATUS */
7674         uint64_t rml                          : 1;  /**< RML Interrupt
7675                                                          This interrupt will assert if any bit within
7676                                                          CIU_BLOCK_INT is asserted. */
7677         uint64_t twsi                         : 1;  /**< TWSI Interrupt
7678                                                          See MIO_TWS0_INT */
7679         uint64_t wdog_sum                     : 1;  /**< SUM1&EN1 summary bit
7680                                                          This read-only bit reads as a one whenever any
7681                                                          CIU_SUM1_PPX_IPx (CIU_SUM1_IOX_INT)  bit is set
7682                                                          and corresponding enable bit in CIU_INTx_EN is set
7683                                                          PPs use CIU_INTx_SUM0 where x=0-7
7684                                                          PCIe uses the CIU_INTx_SUM0 where x=32-33.
7685                                                          Note that WDOG_SUM only summarizes the SUM1/EN1
7686                                                          result and does not have a corresponding enable
7687                                                          bit, so does not directly contribute to
7688                                                          interrupts. */
7689         uint64_t pci_msi                      : 4;  /**< PCIe MSI
7690                                                          See SLI_MSI_RCVn for bit <40+n> */
7691         uint64_t pci_int                      : 4;  /**< PCIe INTA/B/C/D
7692                                                          Refer to "Receiving Emulated INTA/INTB/
7693                                                          INTC/INTD" in the SLI chapter of the spec
7694                                                          PCI_INT<3> = INTD
7695                                                          PCI_INT<2> = INTC
7696                                                          PCI_INT<1> = INTB
7697                                                          PCI_INT<0> = INTA */
7698         uint64_t uart                         : 2;  /**< Two UART interrupts
7699                                                          See MIO_UARTn_IIR[IID] for bit <34+n> */
7700         uint64_t mbox                         : 2;  /**< Two mailbox interrupts for entries 0-11
7701                                                           [33] is the or of <31:16>
7702                                                           [32] is the or of <15:0>
7703                                                          Two PCIe internal interrupts for entries 32-33
7704                                                           which equal CIU_PCI_INTA[INT] */
7705         uint64_t gpio                         : 16; /**< 16 GPIO interrupts
7706                                                          When GPIO_MULTI_CAST[EN] == 1
7707                                                          Write 1 to clear either the per PP or common GPIO
7708                                                          edge-triggered interrupts,depending on mode.
7709                                                          See GPIO_MULTI_CAST for all details.
7710                                                          When GPIO_MULTI_CAST[EN] == 0
7711                                                          Read Only, retain the same behavior as o63. */
7712         uint64_t workq                        : 16; /**< 16 work queue interrupts
7713                                                          See POW_WQ_INT[WQ_INT]
7714                                                           1 bit/group. A copy of the R/W1C bit in the POW. */
7715 #else
7716         uint64_t workq                        : 16;
7717         uint64_t gpio                         : 16;
7718         uint64_t mbox                         : 2;
7719         uint64_t uart                         : 2;
7720         uint64_t pci_int                      : 4;
7721         uint64_t pci_msi                      : 4;
7722         uint64_t wdog_sum                     : 1;
7723         uint64_t twsi                         : 1;
7724         uint64_t rml                          : 1;
7725         uint64_t trace                        : 1;
7726         uint64_t gmx_drp                      : 2;
7727         uint64_t ipd_drp                      : 1;
7728         uint64_t sum2                         : 1;
7729         uint64_t timer                        : 4;
7730         uint64_t usb                          : 1;
7731         uint64_t pcm                          : 1;
7732         uint64_t mpi                          : 1;
7733         uint64_t twsi2                        : 1;
7734         uint64_t powiq                        : 1;
7735         uint64_t ipdppthr                     : 1;
7736         uint64_t mii                          : 1;
7737         uint64_t bootdma                      : 1;
7738 #endif
7739         } cn61xx;
7740         struct cvmx_ciu_intx_sum0_cn52xx      cn63xx;
7741         struct cvmx_ciu_intx_sum0_cn52xx      cn63xxp1;
7742         struct cvmx_ciu_intx_sum0_cn66xx {
7743 #ifdef __BIG_ENDIAN_BITFIELD
7744         uint64_t bootdma                      : 1;  /**< Boot bus DMA engines Interrupt
7745                                                          See MIO_BOOT_DMA_INT*, MIO_NDF_DMA_INT */
7746         uint64_t mii                          : 1;  /**< RGMII/MII/MIX Interface 0 Interrupt
7747                                                          See MIX0_ISR */
7748         uint64_t ipdppthr                     : 1;  /**< IPD per-port counter threshold interrupt
7749                                                          See IPD_PORT_QOS_INT* */
7750         uint64_t powiq                        : 1;  /**< POW IQ interrupt
7751                                                          See POW_IQ_INT */
7752         uint64_t twsi2                        : 1;  /**< 2nd TWSI Interrupt
7753                                                          See MIO_TWS1_INT */
7754         uint64_t mpi                          : 1;  /**< MPI/SPI interrupt, Set when MPI transaction
7755                                                          finished, see MPI_CFG[INT_ENA] and MPI_STS[BUSY] */
7756         uint64_t reserved_57_57               : 1;
7757         uint64_t usb                          : 1;  /**< USB EHCI or OHCI Interrupt
7758                                                          See UAHC0_EHCI_USBSTS UAHC0_OHCI0_HCINTERRUPTSTATUS */
7759         uint64_t timer                        : 4;  /**< General timer 0-3 interrupts.
7760                                                          Prior to pass 1.2 or
7761                                                           when CIU_TIM_MULTI_CAST[EN]==0, this interrupt is
7762                                                           common for all PP/IRQs, writing '1' to any PP/IRQ
7763                                                           will clear all TIMERx(x=0..9) interrupts.
7764                                                          When CIU_TIM_MULTI_CAST[EN] == 1, TIMERx(x=0..9)
7765                                                           are set at the same time, but clearing is per
7766                                                           cnMIPS core. See CIU_TIM_MULTI_CAST for detail.
7767                                                          The combination of this field and the
7768                                                          CIU_SUM2_*[TIMER] field implement all 10 CIU_TIM*
7769                                                          interrupts. */
7770         uint64_t sum2                         : 1;  /**< SUM2&EN2 SUMMARY bit
7771                                                           In pass 1.2 and subsequent passes,
7772                                                           this read-only bit reads as a one whenever any
7773                                                           CIU_SUM2_PPX_IPx (CIU_SUM2_IOX_INT)  bit is set
7774                                                           and corresponding enable bit in CIU_EN2_PPX_IPx
7775                                                           (CIU_EN2_IOX_INT) is set.
7776                                                           Note that SUM2 only summarizes the SUM2/EN2
7777                                                           result and does not have a corresponding enable
7778                                                           bit, so does not directly contribute to
7779                                                           interrupts.
7780                                                          Prior to pass 1.2, SUM2 did not exist and this
7781                                                           bit reads as zero. */
7782         uint64_t ipd_drp                      : 1;  /**< IPD QOS packet drop interrupt
7783                                                          Set any time PIP/IPD drops a packet */
7784         uint64_t gmx_drp                      : 2;  /**< GMX0/1 packet drop interrupt
7785                                                          Set any time corresponding GMX0/1 drops a packet */
7786         uint64_t trace                        : 1;  /**< Trace buffer interrupt
7787                                                          See TRA_INT_STATUS */
7788         uint64_t rml                          : 1;  /**< RML Interrupt
7789                                                          This interrupt will assert if any bit within
7790                                                          CIU_BLOCK_INT is asserted. */
7791         uint64_t twsi                         : 1;  /**< TWSI Interrupt
7792                                                          See MIO_TWS0_INT */
7793         uint64_t wdog_sum                     : 1;  /**< SUM1&EN1 summary bit
7794                                                          This read-only bit reads as a one whenever any
7795                                                          CIU_SUM1_PPX_IPx (CIU_SUM1_IOX_INT)  bit is set
7796                                                          and corresponding enable bit in CIU_INTx_EN is set
7797                                                          PPs use CIU_INTx_SUM0 where x=0-19
7798                                                          PCIe/sRIO uses the CIU_INTx_SUM0 where x=32-33.
7799                                                          Note that WDOG_SUM only summarizes the SUM1/EN1
7800                                                          result and does not have a corresponding enable
7801                                                          bit, so does not directly contribute to
7802                                                          interrupts. */
7803         uint64_t pci_msi                      : 4;  /**< PCIe/sRIO MSI
7804                                                          See SLI_MSI_RCVn for bit <40+n> */
7805         uint64_t pci_int                      : 4;  /**< PCIe INTA/B/C/D
7806                                                          Refer to "Receiving Emulated INTA/INTB/
7807                                                          INTC/INTD" in the SLI chapter of the spec
7808                                                          PCI_INT<3> = INTD
7809                                                          PCI_INT<2> = INTC
7810                                                          PCI_INT<1> = INTB
7811                                                          PCI_INT<0> = INTA */
7812         uint64_t uart                         : 2;  /**< Two UART interrupts
7813                                                          See MIO_UARTn_IIR[IID] for bit <34+n> */
7814         uint64_t mbox                         : 2;  /**< Two mailbox interrupts for entries 0-11
7815                                                           [33] is the or of <31:16>
7816                                                           [32] is the or of <15:0>
7817                                                          Two PCIe/sRIO internal interrupts for entries 32-33
7818                                                           which equal CIU_PCI_INTA[INT] */
7819         uint64_t gpio                         : 16; /**< 16 GPIO interrupts */
7820         uint64_t workq                        : 16; /**< 16 work queue interrupts
7821                                                          See POW_WQ_INT[WQ_INT]
7822                                                           1 bit/group. A copy of the R/W1C bit in the POW. */
7823 #else
7824         uint64_t workq                        : 16;
7825         uint64_t gpio                         : 16;
7826         uint64_t mbox                         : 2;
7827         uint64_t uart                         : 2;
7828         uint64_t pci_int                      : 4;
7829         uint64_t pci_msi                      : 4;
7830         uint64_t wdog_sum                     : 1;
7831         uint64_t twsi                         : 1;
7832         uint64_t rml                          : 1;
7833         uint64_t trace                        : 1;
7834         uint64_t gmx_drp                      : 2;
7835         uint64_t ipd_drp                      : 1;
7836         uint64_t sum2                         : 1;
7837         uint64_t timer                        : 4;
7838         uint64_t usb                          : 1;
7839         uint64_t reserved_57_57               : 1;
7840         uint64_t mpi                          : 1;
7841         uint64_t twsi2                        : 1;
7842         uint64_t powiq                        : 1;
7843         uint64_t ipdppthr                     : 1;
7844         uint64_t mii                          : 1;
7845         uint64_t bootdma                      : 1;
7846 #endif
7847         } cn66xx;
7848         struct cvmx_ciu_intx_sum0_cnf71xx {
7849 #ifdef __BIG_ENDIAN_BITFIELD
7850         uint64_t bootdma                      : 1;  /**< Boot bus DMA engines Interrupt
7851                                                          See MIO_BOOT_DMA_INT*, MIO_NDF_DMA_INT */
7852         uint64_t reserved_62_62               : 1;
7853         uint64_t ipdppthr                     : 1;  /**< IPD per-port counter threshold interrupt
7854                                                          See IPD_PORT_QOS_INT* */
7855         uint64_t powiq                        : 1;  /**< POW IQ interrupt
7856                                                          See POW_IQ_INT */
7857         uint64_t twsi2                        : 1;  /**< 2nd TWSI Interrupt
7858                                                          See MIO_TWS1_INT */
7859         uint64_t mpi                          : 1;  /**< MPI/SPI interrupt, Set when MPI transaction
7860                                                          finished, see MPI_CFG[INT_ENA] and MPI_STS[BUSY] */
7861         uint64_t pcm                          : 1;  /**< PCM/TDM interrupt */
7862         uint64_t usb                          : 1;  /**< USB EHCI or OHCI Interrupt
7863                                                          See UAHC0_EHCI_USBSTS UAHC0_OHCI0_HCINTERRUPTSTATUS */
7864         uint64_t timer                        : 4;  /**< General timer 0-3 interrupts.
7865                                                          When CIU_TIM_MULTI_CAST[EN] == 0, this interrupt is
7866                                                          common for all PP/IRQs, writing '1' to any PP/IRQ
7867                                                          will clear all TIMERx(x=0..9) interrupts.
7868                                                          When CIU_TIM_MULTI_CAST[EN] == 1, TIMERx(x=0..9)
7869                                                          are set at the same time, but clearing are based on
7870                                                          per cnMIPS core. See CIU_TIM_MULTI_CAST for detail.
7871                                                          The combination of this field and the
7872                                                          CIU_SUM2_*[TIMER] field implement all 10 CIU_TIM*
7873                                                          interrupts. */
7874         uint64_t sum2                         : 1;  /**< SUM2&EN2 SUMMARY bit
7875                                                          This read-only bit reads as a one whenever any
7876                                                          CIU_SUM2_PPX_IPx (CIU_SUM2_IOX_INT)  bit is set
7877                                                          and corresponding enable bit in CIU_EN2_PPX_IPx
7878                                                          (CIU_EN2_IOX_INT) is set.
7879                                                          Note that SUM2 only summarizes the SUM2/EN2
7880                                                          result and does not have a corresponding enable
7881                                                          bit, so does not directly contribute to
7882                                                          interrupts. */
7883         uint64_t ipd_drp                      : 1;  /**< IPD QOS packet drop interrupt
7884                                                          Set any time PIP/IPD drops a packet */
7885         uint64_t reserved_49_49               : 1;
7886         uint64_t gmx_drp                      : 1;  /**< GMX0/1 packet drop interrupt
7887                                                          Set any time corresponding GMX0/1 drops a packet */
7888         uint64_t trace                        : 1;  /**< Trace buffer interrupt
7889                                                          See TRA_INT_STATUS */
7890         uint64_t rml                          : 1;  /**< RML Interrupt
7891                                                          This interrupt will assert if any bit within
7892                                                          CIU_BLOCK_INT is asserted. */
7893         uint64_t twsi                         : 1;  /**< TWSI Interrupt
7894                                                          See MIO_TWS0_INT */
7895         uint64_t wdog_sum                     : 1;  /**< SUM1&EN1 summary bit
7896                                                          This read-only bit reads as a one whenever any
7897                                                          CIU_SUM1_PPX_IPx (CIU_SUM1_IOX_INT)  bit is set
7898                                                          and corresponding enable bit in CIU_INTx_EN is set
7899                                                          PPs use CIU_INTx_SUM0 where x=0-7
7900                                                          PCIe uses the CIU_INTx_SUM0 where x=32-33.
7901                                                          Note that WDOG_SUM only summarizes the SUM1/EN1
7902                                                          result and does not have a corresponding enable
7903                                                          bit, so does not directly contribute to
7904                                                          interrupts. */
7905         uint64_t pci_msi                      : 4;  /**< PCIe MSI
7906                                                          See SLI_MSI_RCVn for bit <40+n> */
7907         uint64_t pci_int                      : 4;  /**< PCIe INTA/B/C/D
7908                                                          Refer to "Receiving Emulated INTA/INTB/
7909                                                          INTC/INTD" in the SLI chapter of the spec
7910                                                          PCI_INT<3> = INTD
7911                                                          PCI_INT<2> = INTC
7912                                                          PCI_INT<1> = INTB
7913                                                          PCI_INT<0> = INTA */
7914         uint64_t uart                         : 2;  /**< Two UART interrupts
7915                                                          See MIO_UARTn_IIR[IID] for bit <34+n> */
7916         uint64_t mbox                         : 2;  /**< Two mailbox interrupts for entries 0-11
7917                                                           [33] is the or of <31:16>
7918                                                           [32] is the or of <15:0>
7919                                                          Two PCIe internal interrupts for entries 32-33
7920                                                           which equal CIU_PCI_INTA[INT] */
7921         uint64_t gpio                         : 16; /**< 16 GPIO interrupts
7922                                                          When GPIO_MULTI_CAST[EN] == 1
7923                                                          Write 1 to clear either the per PP or common GPIO
7924                                                          edge-triggered interrupts,depending on mode.
7925                                                          See GPIO_MULTI_CAST for all details.
7926                                                          When GPIO_MULTI_CAST[EN] == 0
7927                                                          Read Only, retain the same behavior as o63. */
7928         uint64_t workq                        : 16; /**< 16 work queue interrupts
7929                                                          See POW_WQ_INT[WQ_INT]
7930                                                           1 bit/group. A copy of the R/W1C bit in the POW. */
7931 #else
7932         uint64_t workq                        : 16;
7933         uint64_t gpio                         : 16;
7934         uint64_t mbox                         : 2;
7935         uint64_t uart                         : 2;
7936         uint64_t pci_int                      : 4;
7937         uint64_t pci_msi                      : 4;
7938         uint64_t wdog_sum                     : 1;
7939         uint64_t twsi                         : 1;
7940         uint64_t rml                          : 1;
7941         uint64_t trace                        : 1;
7942         uint64_t gmx_drp                      : 1;
7943         uint64_t reserved_49_49               : 1;
7944         uint64_t ipd_drp                      : 1;
7945         uint64_t sum2                         : 1;
7946         uint64_t timer                        : 4;
7947         uint64_t usb                          : 1;
7948         uint64_t pcm                          : 1;
7949         uint64_t mpi                          : 1;
7950         uint64_t twsi2                        : 1;
7951         uint64_t powiq                        : 1;
7952         uint64_t ipdppthr                     : 1;
7953         uint64_t reserved_62_62               : 1;
7954         uint64_t bootdma                      : 1;
7955 #endif
7956         } cnf71xx;
7957 };
7958 typedef union cvmx_ciu_intx_sum0 cvmx_ciu_intx_sum0_t;
7959
7960 /**
7961  * cvmx_ciu_int#_sum4
7962  */
7963 union cvmx_ciu_intx_sum4 {
7964         uint64_t u64;
7965         struct cvmx_ciu_intx_sum4_s {
7966 #ifdef __BIG_ENDIAN_BITFIELD
7967         uint64_t bootdma                      : 1;  /**< Boot bus DMA engines Interrupt
7968                                                          See MIO_BOOT_DMA_INT*, MIO_NDF_DMA_INT */
7969         uint64_t mii                          : 1;  /**< RGMII/MII/MIX Interface 0 Interrupt
7970                                                          See MIX0_ISR */
7971         uint64_t ipdppthr                     : 1;  /**< IPD per-port counter threshold interrupt
7972                                                          See IPD_PORT_QOS_INT* */
7973         uint64_t powiq                        : 1;  /**< POW IQ interrupt
7974                                                          See POW_IQ_INT */
7975         uint64_t twsi2                        : 1;  /**< 2nd TWSI Interrupt
7976                                                          See MIO_TWS1_INT */
7977         uint64_t mpi                          : 1;  /**< MPI/SPI interrupt */
7978         uint64_t pcm                          : 1;  /**< PCM/TDM interrupt */
7979         uint64_t usb                          : 1;  /**< USB EHCI or OHCI Interrupt
7980                                                          See UAHC0_EHCI_USBSTS UAHC0_OHCI0_HCINTERRUPTSTATUS */
7981         uint64_t timer                        : 4;  /**< General timer 0-3 interrupts
7982                                                          When CIU_TIM_MULTI_CAST[EN] == 0, this interrupt is
7983                                                          common for all PP/IRQs, writing '1' to any PP/IRQ
7984                                                          will clear all TIMERx(x=0..9) interrupts.
7985                                                          When CIU_TIM_MULTI_CAST[EN] == 1, TIMERx(x=0..9)
7986                                                          are set at the same time, but clearing are based on
7987                                                          per cnMIPS core. See CIU_TIM_MULTI_CAST for detail.
7988                                                          The combination of this field and the
7989                                                          CIU_SUM2_*[TIMER] field implement all 10 CIU_TIM*
7990                                                          interrupts. */
7991         uint64_t reserved_51_51               : 1;
7992         uint64_t ipd_drp                      : 1;  /**< IPD QOS packet drop interrupt
7993                                                          Set any time PIP/IPD drops a packet */
7994         uint64_t gmx_drp                      : 2;  /**< GMX packet drop interrupt
7995                                                          Set any time corresponding GMX drops a packet */
7996         uint64_t trace                        : 1;  /**< Trace buffer interrupt
7997                                                          See TRA_INT_STATUS */
7998         uint64_t rml                          : 1;  /**< RML Interrupt
7999                                                          This bit is set when any bit is set in
8000                                                          CIU_BLOCK_INT. */
8001         uint64_t twsi                         : 1;  /**< TWSI Interrupt
8002                                                          See MIO_TWS0_INT */
8003         uint64_t wdog_sum                     : 1;  /**< SUM1&EN1 summary bit
8004                                                          This read-only bit reads as a one whenever any
8005                                                          CIU_SUM1_PPX_IPx (CIU_SUM1_IOX_INT)  bit is set
8006                                                          and corresponding enable bit in CIU_INTx_EN is set
8007                                                          PPs use CIU_INTx_SUM0 where x=0-19
8008                                                          PCIe uses the CIU_INTx_SUM0 where x=32-33.
8009                                                          Note that WDOG_SUM only summarizes the SUM1/EN1
8010                                                          result and does not have a corresponding enable
8011                                                          bit, so does not directly contribute to
8012                                                          interrupts. */
8013         uint64_t pci_msi                      : 4;  /**< PCIe MSI
8014                                                          See SLI_MSI_RCVn for bit <40+n> */
8015         uint64_t pci_int                      : 4;  /**< PCIe INTA/B/C/D
8016                                                          Refer to "Receiving Emulated INTA/INTB/
8017                                                          INTC/INTD" in the SLI chapter of the spec
8018                                                          PCI_INT<3> = INTD
8019                                                          PCI_INT<2> = INTC
8020                                                          PCI_INT<1> = INTB
8021                                                          PCI_INT<0> = INTA */
8022         uint64_t uart                         : 2;  /**< Two UART interrupts
8023                                                          See MIO_UARTn_IIR[IID] for bit <34+n> */
8024         uint64_t mbox                         : 2;  /**< Two mailbox interrupts for entries 0-5
8025                                                          [33] is the or of <31:16>
8026                                                          [32] is the or of <15:0> */
8027         uint64_t gpio                         : 16; /**< 16 GPIO interrupts
8028                                                          When GPIO_MULTI_CAST[EN] == 1
8029                                                          Write 1 to clear either the per PP interrupt or
8030                                                          common GPIO interrupt for all PP/IOs,depending
8031                                                          on mode setting. This will apply to all 16 GPIOs.
8032                                                          See GPIO_MULTI_CAST for all details
8033                                                          When GPIO_MULTI_CAST[EN] == 0
8034                                                          Read Only, retain the same behavior as o63. */
8035         uint64_t workq                        : 16; /**< 16 work queue interrupts
8036                                                          See POW_WQ_INT[WQ_INT]
8037                                                           1 bit/group. A copy of the R/W1C bit in the POW. */
8038 #else
8039         uint64_t workq                        : 16;
8040         uint64_t gpio                         : 16;
8041         uint64_t mbox                         : 2;
8042         uint64_t uart                         : 2;
8043         uint64_t pci_int                      : 4;
8044         uint64_t pci_msi                      : 4;
8045         uint64_t wdog_sum                     : 1;
8046         uint64_t twsi                         : 1;
8047         uint64_t rml                          : 1;
8048         uint64_t trace                        : 1;
8049         uint64_t gmx_drp                      : 2;
8050         uint64_t ipd_drp                      : 1;
8051         uint64_t reserved_51_51               : 1;
8052         uint64_t timer                        : 4;
8053         uint64_t usb                          : 1;
8054         uint64_t pcm                          : 1;
8055         uint64_t mpi                          : 1;
8056         uint64_t twsi2                        : 1;
8057         uint64_t powiq                        : 1;
8058         uint64_t ipdppthr                     : 1;
8059         uint64_t mii                          : 1;
8060         uint64_t bootdma                      : 1;
8061 #endif
8062         } s;
8063         struct cvmx_ciu_intx_sum4_cn50xx {
8064 #ifdef __BIG_ENDIAN_BITFIELD
8065         uint64_t reserved_59_63               : 5;
8066         uint64_t mpi                          : 1;  /**< MPI/SPI interrupt */
8067         uint64_t pcm                          : 1;  /**< PCM/TDM interrupt */
8068         uint64_t usb                          : 1;  /**< USB interrupt */
8069         uint64_t timer                        : 4;  /**< General timer interrupts */
8070         uint64_t reserved_51_51               : 1;
8071         uint64_t ipd_drp                      : 1;  /**< IPD QOS packet drop */
8072         uint64_t reserved_49_49               : 1;
8073         uint64_t gmx_drp                      : 1;  /**< GMX packet drop */
8074         uint64_t reserved_47_47               : 1;
8075         uint64_t rml                          : 1;  /**< RML Interrupt */
8076         uint64_t twsi                         : 1;  /**< TWSI Interrupt */
8077         uint64_t wdog_sum                     : 1;  /**< Watchdog summary
8078                                                          PPs use CIU_INTx_SUM4 where x=0-1. */
8079         uint64_t pci_msi                      : 4;  /**< PCI MSI
8080                                                          [43] is the or of <63:48>
8081                                                          [42] is the or of <47:32>
8082                                                          [41] is the or of <31:16>
8083                                                          [40] is the or of <15:0> */
8084         uint64_t pci_int                      : 4;  /**< PCI INTA/B/C/D */
8085         uint64_t uart                         : 2;  /**< Two UART interrupts */
8086         uint64_t mbox                         : 2;  /**< Two mailbox interrupts for entries 0-31
8087                                                           [33] is the or of <31:16>
8088                                                           [32] is the or of <15:0>
8089                                                          Two PCI internal interrupts for entry 32
8090                                                           CIU_PCI_INTA */
8091         uint64_t gpio                         : 16; /**< 16 GPIO interrupts */
8092         uint64_t workq                        : 16; /**< 16 work queue interrupts
8093                                                          1 bit/group. A copy of the R/W1C bit in the POW. */
8094 #else
8095         uint64_t workq                        : 16;
8096         uint64_t gpio                         : 16;
8097         uint64_t mbox                         : 2;
8098         uint64_t uart                         : 2;
8099         uint64_t pci_int                      : 4;
8100         uint64_t pci_msi                      : 4;
8101         uint64_t wdog_sum                     : 1;
8102         uint64_t twsi                         : 1;
8103         uint64_t rml                          : 1;
8104         uint64_t reserved_47_47               : 1;
8105         uint64_t gmx_drp                      : 1;
8106         uint64_t reserved_49_49               : 1;
8107         uint64_t ipd_drp                      : 1;
8108         uint64_t reserved_51_51               : 1;
8109         uint64_t timer                        : 4;
8110         uint64_t usb                          : 1;
8111         uint64_t pcm                          : 1;
8112         uint64_t mpi                          : 1;
8113         uint64_t reserved_59_63               : 5;
8114 #endif
8115         } cn50xx;
8116         struct cvmx_ciu_intx_sum4_cn52xx {
8117 #ifdef __BIG_ENDIAN_BITFIELD
8118         uint64_t bootdma                      : 1;  /**< Boot bus DMA engines Interrupt */
8119         uint64_t mii                          : 1;  /**< MII Interface Interrupt */
8120         uint64_t ipdppthr                     : 1;  /**< IPD per-port counter threshold interrupt */
8121         uint64_t powiq                        : 1;  /**< POW IQ interrupt */
8122         uint64_t twsi2                        : 1;  /**< 2nd TWSI Interrupt */
8123         uint64_t reserved_57_58               : 2;
8124         uint64_t usb                          : 1;  /**< USB Interrupt */
8125         uint64_t timer                        : 4;  /**< General timer interrupts */
8126         uint64_t reserved_51_51               : 1;
8127         uint64_t ipd_drp                      : 1;  /**< IPD QOS packet drop */
8128         uint64_t reserved_49_49               : 1;
8129         uint64_t gmx_drp                      : 1;  /**< GMX packet drop */
8130         uint64_t trace                        : 1;  /**< L2C has the CMB trace buffer */
8131         uint64_t rml                          : 1;  /**< RML Interrupt */
8132         uint64_t twsi                         : 1;  /**< TWSI Interrupt */
8133         uint64_t wdog_sum                     : 1;  /**< SUM1&EN4_1 summary bit
8134                                                          This read-only bit reads as a one whenever any
8135                                                          CIU_INT_SUM1 bit is set and corresponding
8136                                                          enable bit in CIU_INTx_EN4_1 is set, where x
8137                                                          is the same as x in this CIU_INTx_SUM4.
8138                                                          PPs use CIU_INTx_SUM4 for IP4, where x=PPid.
8139                                                          Note that WDOG_SUM only summarizes the SUM/EN4_1
8140                                                          result and does not have a corresponding enable
8141                                                          bit, so does not directly contribute to
8142                                                          interrupts. */
8143         uint64_t pci_msi                      : 4;  /**< PCI MSI
8144                                                          Refer to "Receiving Message-Signalled
8145                                                          Interrupts" in the PCIe chapter of the spec */
8146         uint64_t pci_int                      : 4;  /**< PCI INTA/B/C/D
8147                                                          Refer to "Receiving Emulated INTA/INTB/
8148                                                          INTC/INTD" in the PCIe chapter of the spec */
8149         uint64_t uart                         : 2;  /**< Two UART interrupts */
8150         uint64_t mbox                         : 2;  /**< Two mailbox interrupts for entries 0-3
8151                                                          [33] is the or of <31:16>
8152                                                          [32] is the or of <15:0> */
8153         uint64_t gpio                         : 16; /**< 16 GPIO interrupts */
8154         uint64_t workq                        : 16; /**< 16 work queue interrupts
8155                                                          1 bit/group. A copy of the R/W1C bit in the POW. */
8156 #else
8157         uint64_t workq                        : 16;
8158         uint64_t gpio                         : 16;
8159         uint64_t mbox                         : 2;
8160         uint64_t uart                         : 2;
8161         uint64_t pci_int                      : 4;
8162         uint64_t pci_msi                      : 4;
8163         uint64_t wdog_sum                     : 1;
8164         uint64_t twsi                         : 1;
8165         uint64_t rml                          : 1;
8166         uint64_t trace                        : 1;
8167         uint64_t gmx_drp                      : 1;
8168         uint64_t reserved_49_49               : 1;
8169         uint64_t ipd_drp                      : 1;
8170         uint64_t reserved_51_51               : 1;
8171         uint64_t timer                        : 4;
8172         uint64_t usb                          : 1;
8173         uint64_t reserved_57_58               : 2;
8174         uint64_t twsi2                        : 1;
8175         uint64_t powiq                        : 1;
8176         uint64_t ipdppthr                     : 1;
8177         uint64_t mii                          : 1;
8178         uint64_t bootdma                      : 1;
8179 #endif
8180         } cn52xx;
8181         struct cvmx_ciu_intx_sum4_cn52xx      cn52xxp1;
8182         struct cvmx_ciu_intx_sum4_cn56xx {
8183 #ifdef __BIG_ENDIAN_BITFIELD
8184         uint64_t bootdma                      : 1;  /**< Boot bus DMA engines Interrupt */
8185         uint64_t mii                          : 1;  /**< MII Interface Interrupt */
8186         uint64_t ipdppthr                     : 1;  /**< IPD per-port counter threshold interrupt */
8187         uint64_t powiq                        : 1;  /**< POW IQ interrupt */
8188         uint64_t twsi2                        : 1;  /**< 2nd TWSI Interrupt */
8189         uint64_t reserved_57_58               : 2;
8190         uint64_t usb                          : 1;  /**< USB Interrupt */
8191         uint64_t timer                        : 4;  /**< General timer interrupts */
8192         uint64_t key_zero                     : 1;  /**< Key Zeroization interrupt
8193                                                          KEY_ZERO will be set when the external ZERO_KEYS
8194                                                          pin is sampled high.  KEY_ZERO is cleared by SW */
8195         uint64_t ipd_drp                      : 1;  /**< IPD QOS packet drop */
8196         uint64_t gmx_drp                      : 2;  /**< GMX packet drop */
8197         uint64_t trace                        : 1;  /**< L2C has the CMB trace buffer */
8198         uint64_t rml                          : 1;  /**< RML Interrupt */
8199         uint64_t twsi                         : 1;  /**< TWSI Interrupt */
8200         uint64_t wdog_sum                     : 1;  /**< Watchdog summary
8201                                                          These registers report WDOG to IP4 */
8202         uint64_t pci_msi                      : 4;  /**< PCI MSI
8203                                                          Refer to "Receiving Message-Signalled
8204                                                          Interrupts" in the PCIe chapter of the spec */
8205         uint64_t pci_int                      : 4;  /**< PCI INTA/B/C/D
8206                                                          Refer to "Receiving Emulated INTA/INTB/
8207                                                          INTC/INTD" in the PCIe chapter of the spec */
8208         uint64_t uart                         : 2;  /**< Two UART interrupts */
8209         uint64_t mbox                         : 2;  /**< Two mailbox interrupts for entries 0-11
8210                                                          [33] is the or of <31:16>
8211                                                          [32] is the or of <15:0> */
8212         uint64_t gpio                         : 16; /**< 16 GPIO interrupts */
8213         uint64_t workq                        : 16; /**< 16 work queue interrupts
8214                                                          1 bit/group. A copy of the R/W1C bit in the POW. */
8215 #else
8216         uint64_t workq                        : 16;
8217         uint64_t gpio                         : 16;
8218         uint64_t mbox                         : 2;
8219         uint64_t uart                         : 2;
8220         uint64_t pci_int                      : 4;
8221         uint64_t pci_msi                      : 4;
8222         uint64_t wdog_sum                     : 1;
8223         uint64_t twsi                         : 1;
8224         uint64_t rml                          : 1;
8225         uint64_t trace                        : 1;
8226         uint64_t gmx_drp                      : 2;
8227         uint64_t ipd_drp                      : 1;
8228         uint64_t key_zero                     : 1;
8229         uint64_t timer                        : 4;
8230         uint64_t usb                          : 1;
8231         uint64_t reserved_57_58               : 2;
8232         uint64_t twsi2                        : 1;
8233         uint64_t powiq                        : 1;
8234         uint64_t ipdppthr                     : 1;
8235         uint64_t mii                          : 1;
8236         uint64_t bootdma                      : 1;
8237 #endif
8238         } cn56xx;
8239         struct cvmx_ciu_intx_sum4_cn56xx      cn56xxp1;
8240         struct cvmx_ciu_intx_sum4_cn58xx {
8241 #ifdef __BIG_ENDIAN_BITFIELD
8242         uint64_t reserved_56_63               : 8;
8243         uint64_t timer                        : 4;  /**< General timer interrupts */
8244         uint64_t key_zero                     : 1;  /**< Key Zeroization interrupt
8245                                                          KEY_ZERO will be set when the external ZERO_KEYS
8246                                                          pin is sampled high.  KEY_ZERO is cleared by SW */
8247         uint64_t ipd_drp                      : 1;  /**< IPD QOS packet drop */
8248         uint64_t gmx_drp                      : 2;  /**< GMX packet drop */
8249         uint64_t trace                        : 1;  /**< L2C has the CMB trace buffer */
8250         uint64_t rml                          : 1;  /**< RML Interrupt */
8251         uint64_t twsi                         : 1;  /**< TWSI Interrupt */
8252         uint64_t wdog_sum                     : 1;  /**< Watchdog summary
8253                                                          These registers report WDOG to IP4 */
8254         uint64_t pci_msi                      : 4;  /**< PCI MSI
8255                                                          [43] is the or of <63:48>
8256                                                          [42] is the or of <47:32>
8257                                                          [41] is the or of <31:16>
8258                                                          [40] is the or of <15:0> */
8259         uint64_t pci_int                      : 4;  /**< PCI INTA/B/C/D */
8260         uint64_t uart                         : 2;  /**< Two UART interrupts */
8261         uint64_t mbox                         : 2;  /**< Two mailbox interrupts for entries 0-31
8262                                                           [33] is the or of <31:16>
8263                                                           [32] is the or of <15:0>
8264                                                          Two PCI internal interrupts for entry 32
8265                                                           CIU_PCI_INTA */
8266         uint64_t gpio                         : 16; /**< 16 GPIO interrupts */
8267         uint64_t workq                        : 16; /**< 16 work queue interrupts
8268                                                          1 bit/group. A copy of the R/W1C bit in the POW. */
8269 #else
8270         uint64_t workq                        : 16;
8271         uint64_t gpio                         : 16;
8272         uint64_t mbox                         : 2;
8273         uint64_t uart                         : 2;
8274         uint64_t pci_int                      : 4;
8275         uint64_t pci_msi                      : 4;
8276         uint64_t wdog_sum                     : 1;
8277         uint64_t twsi                         : 1;
8278         uint64_t rml                          : 1;
8279         uint64_t trace                        : 1;
8280         uint64_t gmx_drp                      : 2;
8281         uint64_t ipd_drp                      : 1;
8282         uint64_t key_zero                     : 1;
8283         uint64_t timer                        : 4;
8284         uint64_t reserved_56_63               : 8;
8285 #endif
8286         } cn58xx;
8287         struct cvmx_ciu_intx_sum4_cn58xx      cn58xxp1;
8288         struct cvmx_ciu_intx_sum4_cn61xx {
8289 #ifdef __BIG_ENDIAN_BITFIELD
8290         uint64_t bootdma                      : 1;  /**< Boot bus DMA engines Interrupt
8291                                                          See MIO_BOOT_DMA_INT*, MIO_NDF_DMA_INT */
8292         uint64_t mii                          : 1;  /**< RGMII/MIX Interface 0 Interrupt
8293                                                          See MIX0_ISR */
8294         uint64_t ipdppthr                     : 1;  /**< IPD per-port counter threshold interrupt
8295                                                          See IPD_PORT_QOS_INT* */
8296         uint64_t powiq                        : 1;  /**< POW IQ interrupt
8297                                                          See POW_IQ_INT */
8298         uint64_t twsi2                        : 1;  /**< 2nd TWSI Interrupt
8299                                                          See MIO_TWS1_INT */
8300         uint64_t mpi                          : 1;  /**< MPI/SPI interrupt */
8301         uint64_t pcm                          : 1;  /**< PCM/TDM interrupt */
8302         uint64_t usb                          : 1;  /**< USB EHCI or OHCI Interrupt
8303                                                          See UAHC0_EHCI_USBSTS UAHC0_OHCI0_HCINTERRUPTSTATUS */
8304         uint64_t timer                        : 4;  /**< General timer 0-3 interrupts
8305                                                          When CIU_TIM_MULTI_CAST[EN] == 0, this interrupt is
8306                                                          common for all PP/IRQs, writing '1' to any PP/IRQ
8307                                                          will clear all TIMERx(x=0..9) interrupts.
8308                                                          When CIU_TIM_MULTI_CAST[EN] == 1, TIMERx(x=0..9)
8309                                                          are set at the same time, but clearing are based on
8310                                                          per cnMIPS core. See CIU_TIM_MULTI_CAST for detail.
8311                                                          The combination of this field and the
8312                                                          CIU_SUM2_*[TIMER] field implement all 10 CIU_TIM*
8313                                                          interrupts. */
8314         uint64_t sum2                         : 1;  /**< SUM2&EN2 SUMMARY bit
8315                                                          This read-only bit reads as a one whenever any
8316                                                          CIU_SUM2_PPX_IPx (CIU_SUM2_IOX_INT)  bit is set
8317                                                          and corresponding enable bit in CIU_EN2_PPX_IPx
8318                                                          (CIU_EN2_IOX_INT) is set.
8319                                                          Note that WDOG_SUM only summarizes the SUM2/EN2
8320                                                          result and does not have a corresponding enable
8321                                                          bit, so does not directly contribute to
8322                                                          interrupts. */
8323         uint64_t ipd_drp                      : 1;  /**< IPD QOS packet drop interrupt
8324                                                          Set any time PIP/IPD drops a packet */
8325         uint64_t gmx_drp                      : 2;  /**< GMX packet drop interrupt
8326                                                          Set any time corresponding GMX drops a packet */
8327         uint64_t trace                        : 1;  /**< Trace buffer interrupt
8328                                                          See TRA_INT_STATUS */
8329         uint64_t rml                          : 1;  /**< RML Interrupt
8330                                                          This bit is set when any bit is set in
8331                                                          CIU_BLOCK_INT. */
8332         uint64_t twsi                         : 1;  /**< TWSI Interrupt
8333                                                          See MIO_TWS0_INT */
8334         uint64_t wdog_sum                     : 1;  /**< SUM1&EN1 summary bit
8335                                                          This read-only bit reads as a one whenever any
8336                                                          CIU_SUM1_PPX_IPx (CIU_SUM1_IOX_INT)  bit is set
8337                                                          and corresponding enable bit in CIU_INTx_EN is set
8338                                                          PPs use CIU_INTx_SUM0 where x=0-19
8339                                                          PCIe uses the CIU_INTx_SUM0 where x=32-33.
8340                                                          Note that WDOG_SUM only summarizes the SUM1/EN1
8341                                                          result and does not have a corresponding enable
8342                                                          bit, so does not directly contribute to
8343                                                          interrupts. */
8344         uint64_t pci_msi                      : 4;  /**< PCIe MSI
8345                                                          See SLI_MSI_RCVn for bit <40+n> */
8346         uint64_t pci_int                      : 4;  /**< PCIe INTA/B/C/D
8347                                                          Refer to "Receiving Emulated INTA/INTB/
8348                                                          INTC/INTD" in the SLI chapter of the spec
8349                                                          PCI_INT<3> = INTD
8350                                                          PCI_INT<2> = INTC
8351                                                          PCI_INT<1> = INTB
8352                                                          PCI_INT<0> = INTA */
8353         uint64_t uart                         : 2;  /**< Two UART interrupts
8354                                                          See MIO_UARTn_IIR[IID] for bit <34+n> */
8355         uint64_t mbox                         : 2;  /**< Two mailbox interrupts for entries 0-5
8356                                                          [33] is the or of <31:16>
8357                                                          [32] is the or of <15:0> */
8358         uint64_t gpio                         : 16; /**< 16 GPIO interrupts
8359                                                          When GPIO_MULTI_CAST[EN] == 1
8360                                                          Write 1 to clear either the per PP interrupt or
8361                                                          common GPIO interrupt for all PP/IOs,depending
8362                                                          on mode setting. This will apply to all 16 GPIOs.
8363                                                          See GPIO_MULTI_CAST for all details
8364                                                          When GPIO_MULTI_CAST[EN] == 0
8365                                                          Read Only, retain the same behavior as o63. */
8366         uint64_t workq                        : 16; /**< 16 work queue interrupts
8367                                                          See POW_WQ_INT[WQ_INT]
8368                                                           1 bit/group. A copy of the R/W1C bit in the POW. */
8369 #else
8370         uint64_t workq                        : 16;
8371         uint64_t gpio                         : 16;
8372         uint64_t mbox                         : 2;
8373         uint64_t uart                         : 2;
8374         uint64_t pci_int                      : 4;
8375         uint64_t pci_msi                      : 4;
8376         uint64_t wdog_sum                     : 1;
8377         uint64_t twsi                         : 1;
8378         uint64_t rml                          : 1;
8379         uint64_t trace                        : 1;
8380         uint64_t gmx_drp                      : 2;
8381         uint64_t ipd_drp                      : 1;
8382         uint64_t sum2                         : 1;
8383         uint64_t timer                        : 4;
8384         uint64_t usb                          : 1;
8385         uint64_t pcm                          : 1;
8386         uint64_t mpi                          : 1;
8387         uint64_t twsi2                        : 1;
8388         uint64_t powiq                        : 1;
8389         uint64_t ipdppthr                     : 1;
8390         uint64_t mii                          : 1;
8391         uint64_t bootdma                      : 1;
8392 #endif
8393         } cn61xx;
8394         struct cvmx_ciu_intx_sum4_cn52xx      cn63xx;
8395         struct cvmx_ciu_intx_sum4_cn52xx      cn63xxp1;
8396         struct cvmx_ciu_intx_sum4_cn66xx {
8397 #ifdef __BIG_ENDIAN_BITFIELD
8398         uint64_t bootdma                      : 1;  /**< Boot bus DMA engines Interrupt
8399                                                          See MIO_BOOT_DMA_INT*, MIO_NDF_DMA_INT */
8400         uint64_t mii                          : 1;  /**< RGMII/MII/MIX Interface 0 Interrupt
8401                                                          See MIX0_ISR */
8402         uint64_t ipdppthr                     : 1;  /**< IPD per-port counter threshold interrupt
8403                                                          See IPD_PORT_QOS_INT* */
8404         uint64_t powiq                        : 1;  /**< POW IQ interrupt
8405                                                          See POW_IQ_INT */
8406         uint64_t twsi2                        : 1;  /**< 2nd TWSI Interrupt
8407                                                          See MIO_TWS1_INT */
8408         uint64_t mpi                          : 1;  /**< MPI/SPI interrupt */
8409         uint64_t reserved_57_57               : 1;
8410         uint64_t usb                          : 1;  /**< USB EHCI or OHCI Interrupt
8411                                                          See UAHC0_EHCI_USBSTS UAHC0_OHCI0_HCINTERRUPTSTATUS */
8412         uint64_t timer                        : 4;  /**< General timer 0-3 interrupts.
8413                                                          Prior to pass 1.2 or
8414                                                           when CIU_TIM_MULTI_CAST[EN]==0, this interrupt is
8415                                                           common for all PP/IRQs, writing '1' to any PP/IRQ
8416                                                           will clear all TIMERx(x=0..9) interrupts.
8417                                                          When CIU_TIM_MULTI_CAST[EN] == 1, TIMERx(x=0..9)
8418                                                           are set at the same time, but clearing is per
8419                                                           cnMIPS core. See CIU_TIM_MULTI_CAST for detail.
8420                                                          The combination of this field and the
8421                                                          CIU_SUM2_*[TIMER] field implement all 10 CIU_TIM*
8422                                                          interrupts. */
8423         uint64_t sum2                         : 1;  /**< SUM2&EN2 SUMMARY bit
8424                                                           In pass 1.2 and subsequent passes,
8425                                                           this read-only bit reads as a one whenever any
8426                                                           CIU_SUM2_PPX_IPx (CIU_SUM2_IOX_INT)  bit is set
8427                                                           and corresponding enable bit in CIU_EN2_PPX_IPx
8428                                                           (CIU_EN2_IOX_INT) is set.
8429                                                           Note that WDOG_SUM only summarizes the SUM2/EN2
8430                                                           result and does not have a corresponding enable
8431                                                           bit, so does not directly contribute to
8432                                                           interrupts.
8433                                                          Prior to pass 1.2, SUM2 did not exist and this
8434                                                           bit reads as zero. */
8435         uint64_t ipd_drp                      : 1;  /**< IPD QOS packet drop interrupt
8436                                                          Set any time PIP/IPD drops a packet */
8437         uint64_t gmx_drp                      : 2;  /**< GMX packet drop interrupt
8438                                                          Set any time corresponding GMX drops a packet */
8439         uint64_t trace                        : 1;  /**< Trace buffer interrupt
8440                                                          See TRA_INT_STATUS */
8441         uint64_t rml                          : 1;  /**< RML Interrupt
8442                                                          This bit is set when any bit is set in
8443                                                          CIU_BLOCK_INT. */
8444         uint64_t twsi                         : 1;  /**< TWSI Interrupt
8445                                                          See MIO_TWS0_INT */
8446         uint64_t wdog_sum                     : 1;  /**< SUM1&EN1 summary bit
8447                                                          This read-only bit reads as a one whenever any
8448                                                          CIU_SUM1_PPX_IPx (CIU_SUM1_IOX_INT)  bit is set
8449                                                          and corresponding enable bit in CIU_INTx_EN is set
8450                                                          PPs use CIU_INTx_SUM0 where x=0-19
8451                                                          PCIe/sRIO uses the CIU_INTx_SUM0 where x=32-33.
8452                                                          Note that WDOG_SUM only summarizes the SUM1/EN1
8453                                                          result and does not have a corresponding enable
8454                                                          bit, so does not directly contribute to
8455                                                          interrupts. */
8456         uint64_t pci_msi                      : 4;  /**< PCIe/sRIO MSI
8457                                                          See SLI_MSI_RCVn for bit <40+n> */
8458         uint64_t pci_int                      : 4;  /**< PCIe INTA/B/C/D
8459                                                          Refer to "Receiving Emulated INTA/INTB/
8460                                                          INTC/INTD" in the SLI chapter of the spec
8461                                                          PCI_INT<3> = INTD
8462                                                          PCI_INT<2> = INTC
8463                                                          PCI_INT<1> = INTB
8464                                                          PCI_INT<0> = INTA */
8465         uint64_t uart                         : 2;  /**< Two UART interrupts
8466                                                          See MIO_UARTn_IIR[IID] for bit <34+n> */
8467         uint64_t mbox                         : 2;  /**< Two mailbox interrupts for entries 0-5
8468                                                          [33] is the or of <31:16>
8469                                                          [32] is the or of <15:0> */
8470         uint64_t gpio                         : 16; /**< 16 GPIO interrupts */
8471         uint64_t workq                        : 16; /**< 16 work queue interrupts
8472                                                          See POW_WQ_INT[WQ_INT]
8473                                                           1 bit/group. A copy of the R/W1C bit in the POW. */
8474 #else
8475         uint64_t workq                        : 16;
8476         uint64_t gpio                         : 16;
8477         uint64_t mbox                         : 2;
8478         uint64_t uart                         : 2;
8479         uint64_t pci_int                      : 4;
8480         uint64_t pci_msi                      : 4;
8481         uint64_t wdog_sum                     : 1;
8482         uint64_t twsi                         : 1;
8483         uint64_t rml                          : 1;
8484         uint64_t trace                        : 1;
8485         uint64_t gmx_drp                      : 2;
8486         uint64_t ipd_drp                      : 1;
8487         uint64_t sum2                         : 1;
8488         uint64_t timer                        : 4;
8489         uint64_t usb                          : 1;
8490         uint64_t reserved_57_57               : 1;
8491         uint64_t mpi                          : 1;
8492         uint64_t twsi2                        : 1;
8493         uint64_t powiq                        : 1;
8494         uint64_t ipdppthr                     : 1;
8495         uint64_t mii                          : 1;
8496         uint64_t bootdma                      : 1;
8497 #endif
8498         } cn66xx;
8499         struct cvmx_ciu_intx_sum4_cnf71xx {
8500 #ifdef __BIG_ENDIAN_BITFIELD
8501         uint64_t bootdma                      : 1;  /**< Boot bus DMA engines Interrupt
8502                                                          See MIO_BOOT_DMA_INT*, MIO_NDF_DMA_INT */
8503         uint64_t reserved_62_62               : 1;
8504         uint64_t ipdppthr                     : 1;  /**< IPD per-port counter threshold interrupt
8505                                                          See IPD_PORT_QOS_INT* */
8506         uint64_t powiq                        : 1;  /**< POW IQ interrupt
8507                                                          See POW_IQ_INT */
8508         uint64_t twsi2                        : 1;  /**< 2nd TWSI Interrupt
8509                                                          See MIO_TWS1_INT */
8510         uint64_t mpi                          : 1;  /**< MPI/SPI interrupt */
8511         uint64_t pcm                          : 1;  /**< PCM/TDM interrupt */
8512         uint64_t usb                          : 1;  /**< USB EHCI or OHCI Interrupt
8513                                                          See UAHC0_EHCI_USBSTS UAHC0_OHCI0_HCINTERRUPTSTATUS */
8514         uint64_t timer                        : 4;  /**< General timer 0-3 interrupts
8515                                                          When CIU_TIM_MULTI_CAST[EN] == 0, this interrupt is
8516                                                          common for all PP/IRQs, writing '1' to any PP/IRQ
8517                                                          will clear all TIMERx(x=0..9) interrupts.
8518                                                          When CIU_TIM_MULTI_CAST[EN] == 1, TIMERx(x=0..9)
8519                                                          are set at the same time, but clearing are based on
8520                                                          per cnMIPS core. See CIU_TIM_MULTI_CAST for detail.
8521                                                          The combination of this field and the
8522                                                          CIU_SUM2_*[TIMER] field implement all 10 CIU_TIM*
8523                                                          interrupts. */
8524         uint64_t sum2                         : 1;  /**< SUM2&EN2 SUMMARY bit
8525                                                          This read-only bit reads as a one whenever any
8526                                                          CIU_SUM2_PPX_IPx (CIU_SUM2_IOX_INT)  bit is set
8527                                                          and corresponding enable bit in CIU_EN2_PPX_IPx
8528                                                          (CIU_EN2_IOX_INT) is set.
8529                                                          Note that WDOG_SUM only summarizes the SUM2/EN2
8530                                                          result and does not have a corresponding enable
8531                                                          bit, so does not directly contribute to
8532                                                          interrupts. */
8533         uint64_t ipd_drp                      : 1;  /**< IPD QOS packet drop interrupt
8534                                                          Set any time PIP/IPD drops a packet */
8535         uint64_t reserved_49_49               : 1;
8536         uint64_t gmx_drp                      : 1;  /**< GMX packet drop interrupt
8537                                                          Set any time corresponding GMX drops a packet */
8538         uint64_t trace                        : 1;  /**< Trace buffer interrupt
8539                                                          See TRA_INT_STATUS */
8540         uint64_t rml                          : 1;  /**< RML Interrupt
8541                                                          This bit is set when any bit is set in
8542                                                          CIU_BLOCK_INT. */
8543         uint64_t twsi                         : 1;  /**< TWSI Interrupt
8544                                                          See MIO_TWS0_INT */
8545         uint64_t wdog_sum                     : 1;  /**< SUM1&EN1 summary bit
8546                                                          This read-only bit reads as a one whenever any
8547                                                          CIU_SUM1_PPX_IPx (CIU_SUM1_IOX_INT)  bit is set
8548                                                          and corresponding enable bit in CIU_INTx_EN is set
8549                                                          PPs use CIU_INTx_SUM0 where x=0-19
8550                                                          PCIe uses the CIU_INTx_SUM0 where x=32-33.
8551                                                          Note that WDOG_SUM only summarizes the SUM1/EN1
8552                                                          result and does not have a corresponding enable
8553                                                          bit, so does not directly contribute to
8554                                                          interrupts. */
8555         uint64_t pci_msi                      : 4;  /**< PCIe MSI
8556                                                          See SLI_MSI_RCVn for bit <40+n> */
8557         uint64_t pci_int                      : 4;  /**< PCIe INTA/B/C/D
8558                                                          Refer to "Receiving Emulated INTA/INTB/
8559                                                          INTC/INTD" in the SLI chapter of the spec
8560                                                          PCI_INT<3> = INTD
8561                                                          PCI_INT<2> = INTC
8562                                                          PCI_INT<1> = INTB
8563                                                          PCI_INT<0> = INTA */
8564         uint64_t uart                         : 2;  /**< Two UART interrupts
8565                                                          See MIO_UARTn_IIR[IID] for bit <34+n> */
8566         uint64_t mbox                         : 2;  /**< Two mailbox interrupts for entries 0-5
8567                                                          [33] is the or of <31:16>
8568                                                          [32] is the or of <15:0> */
8569         uint64_t gpio                         : 16; /**< 16 GPIO interrupts
8570                                                          When GPIO_MULTI_CAST[EN] == 1
8571                                                          Write 1 to clear either the per PP interrupt or
8572                                                          common GPIO interrupt for all PP/IOs,depending
8573                                                          on mode setting. This will apply to all 16 GPIOs.
8574                                                          See GPIO_MULTI_CAST for all details
8575                                                          When GPIO_MULTI_CAST[EN] == 0
8576                                                          Read Only, retain the same behavior as o63. */
8577         uint64_t workq                        : 16; /**< 16 work queue interrupts
8578                                                          See POW_WQ_INT[WQ_INT]
8579                                                           1 bit/group. A copy of the R/W1C bit in the POW. */
8580 #else
8581         uint64_t workq                        : 16;
8582         uint64_t gpio                         : 16;
8583         uint64_t mbox                         : 2;
8584         uint64_t uart                         : 2;
8585         uint64_t pci_int                      : 4;
8586         uint64_t pci_msi                      : 4;
8587         uint64_t wdog_sum                     : 1;
8588         uint64_t twsi                         : 1;
8589         uint64_t rml                          : 1;
8590         uint64_t trace                        : 1;
8591         uint64_t gmx_drp                      : 1;
8592         uint64_t reserved_49_49               : 1;
8593         uint64_t ipd_drp                      : 1;
8594         uint64_t sum2                         : 1;
8595         uint64_t timer                        : 4;
8596         uint64_t usb                          : 1;
8597         uint64_t pcm                          : 1;
8598         uint64_t mpi                          : 1;
8599         uint64_t twsi2                        : 1;
8600         uint64_t powiq                        : 1;
8601         uint64_t ipdppthr                     : 1;
8602         uint64_t reserved_62_62               : 1;
8603         uint64_t bootdma                      : 1;
8604 #endif
8605         } cnf71xx;
8606 };
8607 typedef union cvmx_ciu_intx_sum4 cvmx_ciu_intx_sum4_t;
8608
8609 /**
8610  * cvmx_ciu_int33_sum0
8611  */
8612 union cvmx_ciu_int33_sum0 {
8613         uint64_t u64;
8614         struct cvmx_ciu_int33_sum0_s {
8615 #ifdef __BIG_ENDIAN_BITFIELD
8616         uint64_t bootdma                      : 1;  /**< Boot bus DMA engines Interrupt
8617                                                          See MIO_BOOT_DMA_INT*, MIO_NDF_DMA_INT */
8618         uint64_t mii                          : 1;  /**< RGMII/MII/MIX Interface 0 Interrupt
8619                                                          See MIX0_ISR */
8620         uint64_t ipdppthr                     : 1;  /**< IPD per-port counter threshold interrupt
8621                                                          See IPD_PORT_QOS_INT* */
8622         uint64_t powiq                        : 1;  /**< POW IQ interrupt
8623                                                          See POW_IQ_INT */
8624         uint64_t twsi2                        : 1;  /**< 2nd TWSI Interrupt
8625                                                          See MIO_TWS1_INT */
8626         uint64_t mpi                          : 1;  /**< MPI/SPI interrupt */
8627         uint64_t pcm                          : 1;  /**< PCM/TDM interrupt */
8628         uint64_t usb                          : 1;  /**< USB EHCI or OHCI Interrupt
8629                                                          See UAHC0_EHCI_USBSTS UAHC0_OHCI0_HCINTERRUPTSTATUS */
8630         uint64_t timer                        : 4;  /**< General timer 0-3 interrupts.
8631                                                          When CIU_TIM_MULTI_CAST[EN] == 0, this interrupt is
8632                                                          common for all PP/IRQs, writing '1' to any PP/IRQ
8633                                                          will clear all TIMERx(x=0..9) interrupts.
8634                                                          When CIU_TIM_MULTI_CAST[EN] == 1, TIMERx(x=0..9)
8635                                                          are set at the same time, but clearing are based on
8636                                                          per cnMIPS core. See CIU_TIM_MULTI_CAST for detail.
8637                                                          The combination of this field and the
8638                                                          CIU_SUM2_*[TIMER] field implement all 10 CIU_TIM*
8639                                                          interrupts. */
8640         uint64_t sum2                         : 1;  /**< SUM2&EN2 SUMMARY bit
8641                                                          This read-only bit reads as a one whenever any
8642                                                          CIU_SUM2_PPX_IPx (CIU_SUM2_IOX_INT)  bit is set
8643                                                          and corresponding enable bit in CIU_EN2_PPX_IPx
8644                                                          (CIU_EN2_IOX_INT) is set.
8645                                                          Note that SUM2 only summarizes the SUM2/EN2
8646                                                          result and does not have a corresponding enable
8647                                                          bit, so does not directly contribute to
8648                                                          interrupts. */
8649         uint64_t ipd_drp                      : 1;  /**< IPD QOS packet drop interrupt
8650                                                          Set any time PIP/IPD drops a packet */
8651         uint64_t gmx_drp                      : 2;  /**< GMX packet drop interrupt
8652                                                          Set any time corresponding GMX drops a packet */
8653         uint64_t trace                        : 1;  /**< Trace buffer interrupt
8654                                                          See TRA_INT_STATUS */
8655         uint64_t rml                          : 1;  /**< RML Interrupt
8656                                                          This interrupt will assert if any bit within
8657                                                          CIU_BLOCK_INT is asserted. */
8658         uint64_t twsi                         : 1;  /**< TWSI Interrupt
8659                                                          See MIO_TWS0_INT */
8660         uint64_t wdog_sum                     : 1;  /**< SUM1&EN1 summary bit
8661                                                          This read-only bit reads as a one whenever any
8662                                                          CIU_SUM1_PPX_IPx bit is set and corresponding
8663                                                          enable bit in CIU_INTx_EN is set, where x
8664                                                          is the same as x in this CIU_INTx_SUM0.
8665                                                          PPs use CIU_INTx_SUM0 where x=0-7.
8666                                                          PCIe uses the CIU_INTx_SUM0 where x=32-33.
8667                                                          Note that WDOG_SUM only summarizes the SUM1/EN1
8668                                                          result and does not have a corresponding enable
8669                                                          bit, so does not directly contribute to
8670                                                          interrupts. */
8671         uint64_t pci_msi                      : 4;  /**< PCIe MSI
8672                                                          See SLI_MSI_RCVn for bit <40+n> */
8673         uint64_t pci_int                      : 4;  /**< PCIe INTA/B/C/D
8674                                                          Refer to "Receiving Emulated INTA/INTB/
8675                                                          INTC/INTD" in the SLI chapter of the spec
8676                                                          PCI_INT<3> = INTD
8677                                                          PCI_INT<2> = INTC
8678                                                          PCI_INT<1> = INTB
8679                                                          PCI_INT<0> = INTA */
8680         uint64_t uart                         : 2;  /**< Two UART interrupts
8681                                                          See MIO_UARTn_IIR[IID] for bit <34+n> */
8682         uint64_t mbox                         : 2;  /**< A read-only copy of CIU_PCI_INTA[INT] */
8683         uint64_t gpio                         : 16; /**< 16 GPIO interrupts
8684                                                          When GPIO_MULTI_CAST[EN] == 1
8685                                                          Write 1 to clear either the per PP or common GPIO
8686                                                          edge-triggered interrupts,depending on mode.
8687                                                          See GPIO_MULTI_CAST for all details.
8688                                                          When GPIO_MULTI_CAST[EN] == 0
8689                                                          Read Only, retain the same behavior as o63. */
8690         uint64_t workq                        : 16; /**< 16 work queue interrupts
8691                                                          See POW_WQ_INT[WQ_INT]
8692                                                           1 bit/group. A copy of the R/W1C bit in the POW. */
8693 #else
8694         uint64_t workq                        : 16;
8695         uint64_t gpio                         : 16;
8696         uint64_t mbox                         : 2;
8697         uint64_t uart                         : 2;
8698         uint64_t pci_int                      : 4;
8699         uint64_t pci_msi                      : 4;
8700         uint64_t wdog_sum                     : 1;
8701         uint64_t twsi                         : 1;
8702         uint64_t rml                          : 1;
8703         uint64_t trace                        : 1;
8704         uint64_t gmx_drp                      : 2;
8705         uint64_t ipd_drp                      : 1;
8706         uint64_t sum2                         : 1;
8707         uint64_t timer                        : 4;
8708         uint64_t usb                          : 1;
8709         uint64_t pcm                          : 1;
8710         uint64_t mpi                          : 1;
8711         uint64_t twsi2                        : 1;
8712         uint64_t powiq                        : 1;
8713         uint64_t ipdppthr                     : 1;
8714         uint64_t mii                          : 1;
8715         uint64_t bootdma                      : 1;
8716 #endif
8717         } s;
8718         struct cvmx_ciu_int33_sum0_s          cn61xx;
8719         struct cvmx_ciu_int33_sum0_cn63xx {
8720 #ifdef __BIG_ENDIAN_BITFIELD
8721         uint64_t bootdma                      : 1;  /**< Boot bus DMA engines Interrupt
8722                                                          See MIO_BOOT_DMA_INT*, MIO_NDF_DMA_INT */
8723         uint64_t mii                          : 1;  /**< RGMII/MII/MIX Interface 0 Interrupt
8724                                                          See MIX0_ISR */
8725         uint64_t ipdppthr                     : 1;  /**< IPD per-port counter threshold interrupt
8726                                                          See IPD_PORT_QOS_INT* */
8727         uint64_t powiq                        : 1;  /**< POW IQ interrupt
8728                                                          See POW_IQ_INT */
8729         uint64_t twsi2                        : 1;  /**< 2nd TWSI Interrupt
8730                                                          See MIO_TWS1_INT */
8731         uint64_t reserved_57_58               : 2;
8732         uint64_t usb                          : 1;  /**< USB EHCI or OHCI Interrupt
8733                                                          See UAHC0_EHCI_USBSTS UAHC0_OHCI0_HCINTERRUPTSTATUS */
8734         uint64_t timer                        : 4;  /**< General timer interrupts
8735                                                          Set any time the corresponding CIU timer expires */
8736         uint64_t reserved_51_51               : 1;
8737         uint64_t ipd_drp                      : 1;  /**< IPD QOS packet drop interrupt
8738                                                          Set any time PIP/IPD drops a packet */
8739         uint64_t reserved_49_49               : 1;
8740         uint64_t gmx_drp                      : 1;  /**< GMX packet drop interrupt
8741                                                          Set any time corresponding GMX drops a packet */
8742         uint64_t trace                        : 1;  /**< Trace buffer interrupt
8743                                                          See TRA_INT_STATUS */
8744         uint64_t rml                          : 1;  /**< RML Interrupt
8745                                                          This interrupt will assert if any bit within
8746                                                          CIU_BLOCK_INT is asserted. */
8747         uint64_t twsi                         : 1;  /**< TWSI Interrupt
8748                                                          See MIO_TWS0_INT */
8749         uint64_t wdog_sum                     : 1;  /**< SUM1&EN1 summary bit
8750                                                          This read-only bit reads as a one whenever any
8751                                                          CIU_INT_SUM1 bit is set and corresponding
8752                                                          enable bit in CIU_INTx_EN is set, where x
8753                                                          is the same as x in this CIU_INTx_SUM0.
8754                                                          PPs use CIU_INTx_SUM0 where x=0-11.
8755                                                          PCIe/sRIO uses the CIU_INTx_SUM0 where x=32-33.
8756                                                          Even INTx registers report WDOG to IP2
8757                                                          Odd INTx registers report WDOG to IP3
8758                                                          Note that WDOG_SUM only summarizes the SUM/EN1
8759                                                          result and does not have a corresponding enable
8760                                                          bit, so does not directly contribute to
8761                                                          interrupts. */
8762         uint64_t pci_msi                      : 4;  /**< PCIe/sRIO MSI
8763                                                          See SLI_MSI_RCVn for bit <40+n> */
8764         uint64_t pci_int                      : 4;  /**< PCIe INTA/B/C/D
8765                                                          Refer to "Receiving Emulated INTA/INTB/
8766                                                          INTC/INTD" in the SLI chapter of the spec
8767                                                          PCI_INT<3> = INTD
8768                                                          PCI_INT<2> = INTC
8769                                                          PCI_INT<1> = INTB
8770                                                          PCI_INT<0> = INTA */
8771         uint64_t uart                         : 2;  /**< Two UART interrupts
8772                                                          See MIO_UARTn_IIR[IID] for bit <34+n> */
8773         uint64_t mbox                         : 2;  /**< A read-only copy of CIU_PCI_INTA[INT] */
8774         uint64_t gpio                         : 16; /**< 16 GPIO interrupts */
8775         uint64_t workq                        : 16; /**< 16 work queue interrupts
8776                                                          See POW_WQ_INT[WQ_INT]
8777                                                           1 bit/group. A copy of the R/W1C bit in the POW. */
8778 #else
8779         uint64_t workq                        : 16;
8780         uint64_t gpio                         : 16;
8781         uint64_t mbox                         : 2;
8782         uint64_t uart                         : 2;
8783         uint64_t pci_int                      : 4;
8784         uint64_t pci_msi                      : 4;
8785         uint64_t wdog_sum                     : 1;
8786         uint64_t twsi                         : 1;
8787         uint64_t rml                          : 1;
8788         uint64_t trace                        : 1;
8789         uint64_t gmx_drp                      : 1;
8790         uint64_t reserved_49_49               : 1;
8791         uint64_t ipd_drp                      : 1;
8792         uint64_t reserved_51_51               : 1;
8793         uint64_t timer                        : 4;
8794         uint64_t usb                          : 1;
8795         uint64_t reserved_57_58               : 2;
8796         uint64_t twsi2                        : 1;
8797         uint64_t powiq                        : 1;
8798         uint64_t ipdppthr                     : 1;
8799         uint64_t mii                          : 1;
8800         uint64_t bootdma                      : 1;
8801 #endif
8802         } cn63xx;
8803         struct cvmx_ciu_int33_sum0_cn63xx     cn63xxp1;
8804         struct cvmx_ciu_int33_sum0_cn66xx {
8805 #ifdef __BIG_ENDIAN_BITFIELD
8806         uint64_t bootdma                      : 1;  /**< Boot bus DMA engines Interrupt
8807                                                          See MIO_BOOT_DMA_INT*, MIO_NDF_DMA_INT */
8808         uint64_t mii                          : 1;  /**< RGMII/MII/MIX Interface 0 Interrupt
8809                                                          See MIX0_ISR */
8810         uint64_t ipdppthr                     : 1;  /**< IPD per-port counter threshold interrupt
8811                                                          See IPD_PORT_QOS_INT* */
8812         uint64_t powiq                        : 1;  /**< POW IQ interrupt
8813                                                          See POW_IQ_INT */
8814         uint64_t twsi2                        : 1;  /**< 2nd TWSI Interrupt
8815                                                          See MIO_TWS1_INT */
8816         uint64_t mpi                          : 1;  /**< MPI/SPI interrupt */
8817         uint64_t reserved_57_57               : 1;
8818         uint64_t usb                          : 1;  /**< USB EHCI or OHCI Interrupt
8819                                                          See UAHC0_EHCI_USBSTS UAHC0_OHCI0_HCINTERRUPTSTATUS */
8820         uint64_t timer                        : 4;  /**< General timer 0-3 interrupts.
8821                                                          Prior to pass 1.2 or
8822                                                           when CIU_TIM_MULTI_CAST[EN]==0, this interrupt is
8823                                                           common for all PP/IRQs, writing '1' to any PP/IRQ
8824                                                           will clear all TIMERx(x=0..9) interrupts.
8825                                                          When CIU_TIM_MULTI_CAST[EN] == 1, TIMERx(x=0..9)
8826                                                           are set at the same time, but clearing is per
8827                                                           cnMIPS core. See CIU_TIM_MULTI_CAST for detail.
8828                                                          The combination of this field and the
8829                                                          CIU_SUM2_*[TIMER] field implement all 10 CIU_TIM*
8830                                                          interrupts. */
8831         uint64_t sum2                         : 1;  /**< SUM2&EN2 SUMMARY bit
8832                                                           In pass 1.2 and subsequent passes,
8833                                                           this read-only bit reads as a one whenever any
8834                                                           CIU_SUM2_PPX_IPx (CIU_SUM2_IOX_INT)  bit is set
8835                                                           and corresponding enable bit in CIU_EN2_PPX_IPx
8836                                                           (CIU_EN2_IOX_INT) is set.
8837                                                           Note that SUM2 only summarizes the SUM2/EN2
8838                                                           result and does not have a corresponding enable
8839                                                           bit, so does not directly contribute to
8840                                                           interrupts.
8841                                                          Prior to pass 1.2, SUM2 did not exist and this
8842                                                           bit reads as zero. */
8843         uint64_t ipd_drp                      : 1;  /**< IPD QOS packet drop interrupt
8844                                                          Set any time PIP/IPD drops a packet */
8845         uint64_t gmx_drp                      : 2;  /**< GMX packet drop interrupt
8846                                                          Set any time corresponding GMX drops a packet */
8847         uint64_t trace                        : 1;  /**< Trace buffer interrupt
8848                                                          See TRA_INT_STATUS */
8849         uint64_t rml                          : 1;  /**< RML Interrupt
8850                                                          This interrupt will assert if any bit within
8851                                                          CIU_BLOCK_INT is asserted. */
8852         uint64_t twsi                         : 1;  /**< TWSI Interrupt
8853                                                          See MIO_TWS0_INT */
8854         uint64_t wdog_sum                     : 1;  /**< SUM1&EN1 summary bit
8855                                                          This read-only bit reads as a one whenever any
8856                                                          CIU_SUM1_PPX_IPx (CIU_SUM1_IOX_INT)  bit is set
8857                                                          and corresponding enable bit in CIU_INTx_EN is set
8858                                                          PPs use CIU_INTx_SUM0 where x=0-19
8859                                                          PCIe/sRIO uses the CIU_INTx_SUM0 where x=32-33.
8860                                                          Note that WDOG_SUM only summarizes the SUM1/EN1
8861                                                          result and does not have a corresponding enable
8862                                                          bit, so does not directly contribute to
8863                                                          interrupts. */
8864         uint64_t pci_msi                      : 4;  /**< PCIe/sRIO MSI
8865                                                          See SLI_MSI_RCVn for bit <40+n> */
8866         uint64_t pci_int                      : 4;  /**< PCIe INTA/B/C/D
8867                                                          Refer to "Receiving Emulated INTA/INTB/
8868                                                          INTC/INTD" in the SLI chapter of the spec
8869                                                          PCI_INT<3> = INTD
8870                                                          PCI_INT<2> = INTC
8871                                                          PCI_INT<1> = INTB
8872                                                          PCI_INT<0> = INTA */
8873         uint64_t uart                         : 2;  /**< Two UART interrupts
8874                                                          See MIO_UARTn_IIR[IID] for bit <34+n> */
8875         uint64_t mbox                         : 2;  /**< A read-only copy of CIU_PCI_INTA[INT] */
8876         uint64_t gpio                         : 16; /**< 16 GPIO interrupts */
8877         uint64_t workq                        : 16; /**< 16 work queue interrupts
8878                                                          See POW_WQ_INT[WQ_INT]
8879                                                           1 bit/group. A copy of the R/W1C bit in the POW. */
8880 #else
8881         uint64_t workq                        : 16;
8882         uint64_t gpio                         : 16;
8883         uint64_t mbox                         : 2;
8884         uint64_t uart                         : 2;
8885         uint64_t pci_int                      : 4;
8886         uint64_t pci_msi                      : 4;
8887         uint64_t wdog_sum                     : 1;
8888         uint64_t twsi                         : 1;
8889         uint64_t rml                          : 1;
8890         uint64_t trace                        : 1;
8891         uint64_t gmx_drp                      : 2;
8892         uint64_t ipd_drp                      : 1;
8893         uint64_t sum2                         : 1;
8894         uint64_t timer                        : 4;
8895         uint64_t usb                          : 1;
8896         uint64_t reserved_57_57               : 1;
8897         uint64_t mpi                          : 1;
8898         uint64_t twsi2                        : 1;
8899         uint64_t powiq                        : 1;
8900         uint64_t ipdppthr                     : 1;
8901         uint64_t mii                          : 1;
8902         uint64_t bootdma                      : 1;
8903 #endif
8904         } cn66xx;
8905         struct cvmx_ciu_int33_sum0_cnf71xx {
8906 #ifdef __BIG_ENDIAN_BITFIELD
8907         uint64_t bootdma                      : 1;  /**< Boot bus DMA engines Interrupt
8908                                                          See MIO_BOOT_DMA_INT*, MIO_NDF_DMA_INT */
8909         uint64_t reserved_62_62               : 1;
8910         uint64_t ipdppthr                     : 1;  /**< IPD per-port counter threshold interrupt
8911                                                          See IPD_PORT_QOS_INT* */
8912         uint64_t powiq                        : 1;  /**< POW IQ interrupt
8913                                                          See POW_IQ_INT */
8914         uint64_t twsi2                        : 1;  /**< 2nd TWSI Interrupt
8915                                                          See MIO_TWS1_INT */
8916         uint64_t mpi                          : 1;  /**< MPI/SPI interrupt */
8917         uint64_t pcm                          : 1;  /**< PCM/TDM interrupt */
8918         uint64_t usb                          : 1;  /**< USB EHCI or OHCI Interrupt
8919                                                          See UAHC0_EHCI_USBSTS UAHC0_OHCI0_HCINTERRUPTSTATUS */
8920         uint64_t timer                        : 4;  /**< General timer 0-3 interrupts.
8921                                                          When CIU_TIM_MULTI_CAST[EN] == 0, this interrupt is
8922                                                          common for all PP/IRQs, writing '1' to any PP/IRQ
8923                                                          will clear all TIMERx(x=0..9) interrupts.
8924                                                          When CIU_TIM_MULTI_CAST[EN] == 1, TIMERx(x=0..9)
8925                                                          are set at the same time, but clearing are based on
8926                                                          per cnMIPS core. See CIU_TIM_MULTI_CAST for detail.
8927                                                          The combination of this field and the
8928                                                          CIU_SUM2_*[TIMER] field implement all 10 CIU_TIM*
8929                                                          interrupts. */
8930         uint64_t sum2                         : 1;  /**< SUM2&EN2 SUMMARY bit
8931                                                          This read-only bit reads as a one whenever any
8932                                                          CIU_SUM2_PPX_IPx (CIU_SUM2_IOX_INT)  bit is set
8933                                                          and corresponding enable bit in CIU_EN2_PPX_IPx
8934                                                          (CIU_EN2_IOX_INT) is set.
8935                                                          Note that SUM2 only summarizes the SUM2/EN2
8936                                                          result and does not have a corresponding enable
8937                                                          bit, so does not directly contribute to
8938                                                          interrupts. */
8939         uint64_t ipd_drp                      : 1;  /**< IPD QOS packet drop interrupt
8940                                                          Set any time PIP/IPD drops a packet */
8941         uint64_t reserved_49_49               : 1;
8942         uint64_t gmx_drp                      : 1;  /**< GMX packet drop interrupt
8943                                                          Set any time corresponding GMX drops a packet */
8944         uint64_t trace                        : 1;  /**< Trace buffer interrupt
8945                                                          See TRA_INT_STATUS */
8946         uint64_t rml                          : 1;  /**< RML Interrupt
8947                                                          This interrupt will assert if any bit within
8948                                                          CIU_BLOCK_INT is asserted. */
8949         uint64_t twsi                         : 1;  /**< TWSI Interrupt
8950                                                          See MIO_TWS0_INT */
8951         uint64_t wdog_sum                     : 1;  /**< SUM1&EN1 summary bit
8952                                                          This read-only bit reads as a one whenever any
8953                                                          CIU_SUM1_PPX_IPx bit is set and corresponding
8954                                                          enable bit in CIU_INTx_EN is set, where x
8955                                                          is the same as x in this CIU_INTx_SUM0.
8956                                                          PPs use CIU_INTx_SUM0 where x=0-7.
8957                                                          PCIe uses the CIU_INTx_SUM0 where x=32-33.
8958                                                          Note that WDOG_SUM only summarizes the SUM1/EN1
8959                                                          result and does not have a corresponding enable
8960                                                          bit, so does not directly contribute to
8961                                                          interrupts. */
8962         uint64_t pci_msi                      : 4;  /**< PCIe MSI
8963                                                          See SLI_MSI_RCVn for bit <40+n> */
8964         uint64_t pci_int                      : 4;  /**< PCIe INTA/B/C/D
8965                                                          Refer to "Receiving Emulated INTA/INTB/
8966                                                          INTC/INTD" in the SLI chapter of the spec
8967                                                          PCI_INT<3> = INTD
8968                                                          PCI_INT<2> = INTC
8969                                                          PCI_INT<1> = INTB
8970                                                          PCI_INT<0> = INTA */
8971         uint64_t uart                         : 2;  /**< Two UART interrupts
8972                                                          See MIO_UARTn_IIR[IID] for bit <34+n> */
8973         uint64_t mbox                         : 2;  /**< A read-only copy of CIU_PCI_INTA[INT] */
8974         uint64_t gpio                         : 16; /**< 16 GPIO interrupts
8975                                                          When GPIO_MULTI_CAST[EN] == 1
8976                                                          Write 1 to clear either the per PP or common GPIO
8977                                                          edge-triggered interrupts,depending on mode.
8978                                                          See GPIO_MULTI_CAST for all details.
8979                                                          When GPIO_MULTI_CAST[EN] == 0
8980                                                          Read Only, retain the same behavior as o63. */
8981         uint64_t workq                        : 16; /**< 16 work queue interrupts
8982                                                          See POW_WQ_INT[WQ_INT]
8983                                                           1 bit/group. A copy of the R/W1C bit in the POW. */
8984 #else
8985         uint64_t workq                        : 16;
8986         uint64_t gpio                         : 16;
8987         uint64_t mbox                         : 2;
8988         uint64_t uart                         : 2;
8989         uint64_t pci_int                      : 4;
8990         uint64_t pci_msi                      : 4;
8991         uint64_t wdog_sum                     : 1;
8992         uint64_t twsi                         : 1;
8993         uint64_t rml                          : 1;
8994         uint64_t trace                        : 1;
8995         uint64_t gmx_drp                      : 1;
8996         uint64_t reserved_49_49               : 1;
8997         uint64_t ipd_drp                      : 1;
8998         uint64_t sum2                         : 1;
8999         uint64_t timer                        : 4;
9000         uint64_t usb                          : 1;
9001         uint64_t pcm                          : 1;
9002         uint64_t mpi                          : 1;
9003         uint64_t twsi2                        : 1;
9004         uint64_t powiq                        : 1;
9005         uint64_t ipdppthr                     : 1;
9006         uint64_t reserved_62_62               : 1;
9007         uint64_t bootdma                      : 1;
9008 #endif
9009         } cnf71xx;
9010 };
9011 typedef union cvmx_ciu_int33_sum0 cvmx_ciu_int33_sum0_t;
9012
9013 /**
9014  * cvmx_ciu_int_dbg_sel
9015  */
9016 union cvmx_ciu_int_dbg_sel {
9017         uint64_t u64;
9018         struct cvmx_ciu_int_dbg_sel_s {
9019 #ifdef __BIG_ENDIAN_BITFIELD
9020         uint64_t reserved_19_63               : 45;
9021         uint64_t sel                          : 3;  /**< Selects if all or the specific interrupt is
9022                                                          presented on the debug port.
9023                                                          0=erst_n
9024                                                          1=start_bist
9025                                                          2=toggle at sclk/2 freq
9026                                                          3=All PP interrupt bits are ORed together
9027                                                          4=Only the selected virtual  PP/IRQ is selected */
9028         uint64_t reserved_10_15               : 6;
9029         uint64_t irq                          : 2;  /**< Which IRQ to select
9030                                                          0=IRQ2
9031                                                          1=IRQ3
9032                                                          2=IRQ4 */
9033         uint64_t reserved_5_7                 : 3;
9034         uint64_t pp                           : 5;  /**< Which PP to select */
9035 #else
9036         uint64_t pp                           : 5;
9037         uint64_t reserved_5_7                 : 3;
9038         uint64_t irq                          : 2;
9039         uint64_t reserved_10_15               : 6;
9040         uint64_t sel                          : 3;
9041         uint64_t reserved_19_63               : 45;
9042 #endif
9043         } s;
9044         struct cvmx_ciu_int_dbg_sel_cn61xx {
9045 #ifdef __BIG_ENDIAN_BITFIELD
9046         uint64_t reserved_19_63               : 45;
9047         uint64_t sel                          : 3;  /**< Selects if all or the specific interrupt is
9048                                                          presented on the debug port.
9049                                                          0=erst_n
9050                                                          1=start_bist
9051                                                          2=toggle at sclk/2 freq
9052                                                          3=All PP interrupt bits are ORed together
9053                                                          4=Only the selected virtual  PP/IRQ is selected */
9054         uint64_t reserved_10_15               : 6;
9055         uint64_t irq                          : 2;  /**< Which IRQ to select
9056                                                          0=IRQ2
9057                                                          1=IRQ3
9058                                                          2=IRQ4 */
9059         uint64_t reserved_4_7                 : 4;
9060         uint64_t pp                           : 4;  /**< Which PP to select */
9061 #else
9062         uint64_t pp                           : 4;
9063         uint64_t reserved_4_7                 : 4;
9064         uint64_t irq                          : 2;
9065         uint64_t reserved_10_15               : 6;
9066         uint64_t sel                          : 3;
9067         uint64_t reserved_19_63               : 45;
9068 #endif
9069         } cn61xx;
9070         struct cvmx_ciu_int_dbg_sel_cn63xx {
9071 #ifdef __BIG_ENDIAN_BITFIELD
9072         uint64_t reserved_19_63               : 45;
9073         uint64_t sel                          : 3;  /**< Selects if all or the specific interrupt is
9074                                                          presented on the debug port.
9075                                                          0=erst_n
9076                                                          1=start_bist
9077                                                          2=toggle at sclk/2 freq
9078                                                          3=All PP interrupt bits are ORed together
9079                                                          4=Only the selected physical PP/IRQ is selected */
9080         uint64_t reserved_10_15               : 6;
9081         uint64_t irq                          : 2;  /**< Which IRQ to select
9082                                                          0=IRQ2
9083                                                          1=IRQ3
9084                                                          2=IRQ4 */
9085         uint64_t reserved_3_7                 : 5;
9086         uint64_t pp                           : 3;  /**< Which PP to select */
9087 #else
9088         uint64_t pp                           : 3;
9089         uint64_t reserved_3_7                 : 5;
9090         uint64_t irq                          : 2;
9091         uint64_t reserved_10_15               : 6;
9092         uint64_t sel                          : 3;
9093         uint64_t reserved_19_63               : 45;
9094 #endif
9095         } cn63xx;
9096         struct cvmx_ciu_int_dbg_sel_cn61xx    cn66xx;
9097         struct cvmx_ciu_int_dbg_sel_s         cn68xx;
9098         struct cvmx_ciu_int_dbg_sel_s         cn68xxp1;
9099         struct cvmx_ciu_int_dbg_sel_cn61xx    cnf71xx;
9100 };
9101 typedef union cvmx_ciu_int_dbg_sel cvmx_ciu_int_dbg_sel_t;
9102
9103 /**
9104  * cvmx_ciu_int_sum1
9105  */
9106 union cvmx_ciu_int_sum1 {
9107         uint64_t u64;
9108         struct cvmx_ciu_int_sum1_s {
9109 #ifdef __BIG_ENDIAN_BITFIELD
9110         uint64_t rst                          : 1;  /**< MIO RST interrupt
9111                                                          See MIO_RST_INT */
9112         uint64_t reserved_62_62               : 1;
9113         uint64_t srio3                        : 1;  /**< SRIO3 interrupt
9114                                                          See SRIO3_INT_REG, SRIO3_INT2_REG */
9115         uint64_t srio2                        : 1;  /**< SRIO2 interrupt
9116                                                          See SRIO2_INT_REG, SRIO2_INT2_REG */
9117         uint64_t reserved_57_59               : 3;
9118         uint64_t dfm                          : 1;  /**< DFM Interrupt
9119                                                          See DFM_FNT_STAT */
9120         uint64_t reserved_53_55               : 3;
9121         uint64_t lmc0                         : 1;  /**< LMC0 interrupt
9122                                                          See LMC0_INT */
9123         uint64_t srio1                        : 1;  /**< SRIO1 interrupt
9124                                                          See SRIO1_INT_REG */
9125         uint64_t srio0                        : 1;  /**< SRIO0 interrupt
9126                                                          See SRIO0_INT_REG, SRIO0_INT2_REG */
9127         uint64_t pem1                         : 1;  /**< PEM1 interrupt
9128                                                          See PEM1_INT_SUM (enabled by PEM1_INT_ENB) */
9129         uint64_t pem0                         : 1;  /**< PEM0 interrupt
9130                                                          See PEM0_INT_SUM (enabled by PEM0_INT_ENB) */
9131         uint64_t ptp                          : 1;  /**< PTP interrupt
9132                                                          Set when HW decrements MIO_PTP_EVT_CNT to zero */
9133         uint64_t agl                          : 1;  /**< AGL interrupt
9134                                                          See AGL_GMX_RX*_INT_REG, AGL_GMX_TX_INT_REG */
9135         uint64_t reserved_38_45               : 8;
9136         uint64_t agx1                         : 1;  /**< GMX1 interrupt
9137                                                          See GMX1_RX*_INT_REG, GMX1_TX_INT_REG,
9138                                                          PCS1_INT*_REG, PCSX1_INT_REG */
9139         uint64_t agx0                         : 1;  /**< GMX0 interrupt
9140                                                          See GMX0_RX*_INT_REG, GMX0_TX_INT_REG,
9141                                                          PCS0_INT*_REG, PCSX0_INT_REG */
9142         uint64_t dpi                          : 1;  /**< DPI interrupt
9143                                                          See DPI_INT_REG */
9144         uint64_t sli                          : 1;  /**< SLI interrupt
9145                                                          See SLI_INT_SUM (enabled by SLI_INT_ENB_CIU) */
9146         uint64_t usb                          : 1;  /**< USB UCTL0 interrupt
9147                                                          See UCTL0_INT_REG */
9148         uint64_t dfa                          : 1;  /**< DFA interrupt
9149                                                          See DFA_ERROR */
9150         uint64_t key                          : 1;  /**< KEY interrupt
9151                                                          See KEY_INT_SUM */
9152         uint64_t rad                          : 1;  /**< RAD interrupt
9153                                                          See RAD_REG_ERROR */
9154         uint64_t tim                          : 1;  /**< TIM interrupt
9155                                                          See TIM_REG_ERROR */
9156         uint64_t zip                          : 1;  /**< ZIP interrupt
9157                                                          See ZIP_ERROR */
9158         uint64_t pko                          : 1;  /**< PKO interrupt
9159                                                          See PKO_REG_ERROR */
9160         uint64_t pip                          : 1;  /**< PIP interrupt
9161                                                          See PIP_INT_REG */
9162         uint64_t ipd                          : 1;  /**< IPD interrupt
9163                                                          See IPD_INT_SUM */
9164         uint64_t l2c                          : 1;  /**< L2C interrupt
9165                                                          See L2C_INT_REG */
9166         uint64_t pow                          : 1;  /**< POW err interrupt
9167                                                          See POW_ECC_ERR */
9168         uint64_t fpa                          : 1;  /**< FPA interrupt
9169                                                          See FPA_INT_SUM */
9170         uint64_t iob                          : 1;  /**< IOB interrupt
9171                                                          See IOB_INT_SUM */
9172         uint64_t mio                          : 1;  /**< MIO boot interrupt
9173                                                          See MIO_BOOT_ERR */
9174         uint64_t nand                         : 1;  /**< EMMC Flash Controller interrupt
9175                                                          See  EMMC interrupt */
9176         uint64_t mii1                         : 1;  /**< RGMII/MII/MIX Interface 1 Interrupt
9177                                                          See MIX1_ISR */
9178         uint64_t usb1                         : 1;  /**< Second USB Interrupt */
9179         uint64_t uart2                        : 1;  /**< Third UART interrupt */
9180         uint64_t wdog                         : 16; /**< Per PP watchdog interrupts */
9181 #else
9182         uint64_t wdog                         : 16;
9183         uint64_t uart2                        : 1;
9184         uint64_t usb1                         : 1;
9185         uint64_t mii1                         : 1;
9186         uint64_t nand                         : 1;
9187         uint64_t mio                          : 1;
9188         uint64_t iob                          : 1;
9189         uint64_t fpa                          : 1;
9190         uint64_t pow                          : 1;
9191         uint64_t l2c                          : 1;
9192         uint64_t ipd                          : 1;
9193         uint64_t pip                          : 1;
9194         uint64_t pko                          : 1;
9195         uint64_t zip                          : 1;
9196         uint64_t tim                          : 1;
9197         uint64_t rad                          : 1;
9198         uint64_t key                          : 1;
9199         uint64_t dfa                          : 1;
9200         uint64_t usb                          : 1;
9201         uint64_t sli                          : 1;
9202         uint64_t dpi                          : 1;
9203         uint64_t agx0                         : 1;
9204         uint64_t agx1                         : 1;
9205         uint64_t reserved_38_45               : 8;
9206         uint64_t agl                          : 1;
9207         uint64_t ptp                          : 1;
9208         uint64_t pem0                         : 1;
9209         uint64_t pem1                         : 1;
9210         uint64_t srio0                        : 1;
9211         uint64_t srio1                        : 1;
9212         uint64_t lmc0                         : 1;
9213         uint64_t reserved_53_55               : 3;
9214         uint64_t dfm                          : 1;
9215         uint64_t reserved_57_59               : 3;
9216         uint64_t srio2                        : 1;
9217         uint64_t srio3                        : 1;
9218         uint64_t reserved_62_62               : 1;
9219         uint64_t rst                          : 1;
9220 #endif
9221         } s;
9222         struct cvmx_ciu_int_sum1_cn30xx {
9223 #ifdef __BIG_ENDIAN_BITFIELD
9224         uint64_t reserved_1_63                : 63;
9225         uint64_t wdog                         : 1;  /**< 1 watchdog interrupt */
9226 #else
9227         uint64_t wdog                         : 1;
9228         uint64_t reserved_1_63                : 63;
9229 #endif
9230         } cn30xx;
9231         struct cvmx_ciu_int_sum1_cn31xx {
9232 #ifdef __BIG_ENDIAN_BITFIELD
9233         uint64_t reserved_2_63                : 62;
9234         uint64_t wdog                         : 2;  /**< 2 watchdog interrupts */
9235 #else
9236         uint64_t wdog                         : 2;
9237         uint64_t reserved_2_63                : 62;
9238 #endif
9239         } cn31xx;
9240         struct cvmx_ciu_int_sum1_cn38xx {
9241 #ifdef __BIG_ENDIAN_BITFIELD
9242         uint64_t reserved_16_63               : 48;
9243         uint64_t wdog                         : 16; /**< 16 watchdog interrupts */
9244 #else
9245         uint64_t wdog                         : 16;
9246         uint64_t reserved_16_63               : 48;
9247 #endif
9248         } cn38xx;
9249         struct cvmx_ciu_int_sum1_cn38xx       cn38xxp2;
9250         struct cvmx_ciu_int_sum1_cn31xx       cn50xx;
9251         struct cvmx_ciu_int_sum1_cn52xx {
9252 #ifdef __BIG_ENDIAN_BITFIELD
9253         uint64_t reserved_20_63               : 44;
9254         uint64_t nand                         : 1;  /**< NAND Flash Controller */
9255         uint64_t mii1                         : 1;  /**< Second MII Interrupt */
9256         uint64_t usb1                         : 1;  /**< Second USB Interrupt */
9257         uint64_t uart2                        : 1;  /**< Third UART interrupt */
9258         uint64_t reserved_4_15                : 12;
9259         uint64_t wdog                         : 4;  /**< 4 watchdog interrupts */
9260 #else
9261         uint64_t wdog                         : 4;
9262         uint64_t reserved_4_15                : 12;
9263         uint64_t uart2                        : 1;
9264         uint64_t usb1                         : 1;
9265         uint64_t mii1                         : 1;
9266         uint64_t nand                         : 1;
9267         uint64_t reserved_20_63               : 44;
9268 #endif
9269         } cn52xx;
9270         struct cvmx_ciu_int_sum1_cn52xxp1 {
9271 #ifdef __BIG_ENDIAN_BITFIELD
9272         uint64_t reserved_19_63               : 45;
9273         uint64_t mii1                         : 1;  /**< Second MII Interrupt */
9274         uint64_t usb1                         : 1;  /**< Second USB Interrupt */
9275         uint64_t uart2                        : 1;  /**< Third UART interrupt */
9276         uint64_t reserved_4_15                : 12;
9277         uint64_t wdog                         : 4;  /**< 4 watchdog interrupts */
9278 #else
9279         uint64_t wdog                         : 4;
9280         uint64_t reserved_4_15                : 12;
9281         uint64_t uart2                        : 1;
9282         uint64_t usb1                         : 1;
9283         uint64_t mii1                         : 1;
9284         uint64_t reserved_19_63               : 45;
9285 #endif
9286         } cn52xxp1;
9287         struct cvmx_ciu_int_sum1_cn56xx {
9288 #ifdef __BIG_ENDIAN_BITFIELD
9289         uint64_t reserved_12_63               : 52;
9290         uint64_t wdog                         : 12; /**< 12 watchdog interrupts */
9291 #else
9292         uint64_t wdog                         : 12;
9293         uint64_t reserved_12_63               : 52;
9294 #endif
9295         } cn56xx;
9296         struct cvmx_ciu_int_sum1_cn56xx       cn56xxp1;
9297         struct cvmx_ciu_int_sum1_cn38xx       cn58xx;
9298         struct cvmx_ciu_int_sum1_cn38xx       cn58xxp1;
9299         struct cvmx_ciu_int_sum1_cn61xx {
9300 #ifdef __BIG_ENDIAN_BITFIELD
9301         uint64_t rst                          : 1;  /**< MIO RST interrupt
9302                                                          See MIO_RST_INT */
9303         uint64_t reserved_53_62               : 10;
9304         uint64_t lmc0                         : 1;  /**< LMC0 interrupt
9305                                                          See LMC0_INT */
9306         uint64_t reserved_50_51               : 2;
9307         uint64_t pem1                         : 1;  /**< PEM1 interrupt
9308                                                          See PEM1_INT_SUM (enabled by PEM1_INT_ENB) */
9309         uint64_t pem0                         : 1;  /**< PEM0 interrupt
9310                                                          See PEM0_INT_SUM (enabled by PEM0_INT_ENB) */
9311         uint64_t ptp                          : 1;  /**< PTP interrupt
9312                                                          Set when HW decrements MIO_PTP_EVT_CNT to zero */
9313         uint64_t agl                          : 1;  /**< AGL interrupt
9314                                                          See AGL_GMX_RX*_INT_REG, AGL_GMX_TX_INT_REG */
9315         uint64_t reserved_38_45               : 8;
9316         uint64_t agx1                         : 1;  /**< GMX1 interrupt
9317                                                          See GMX1_RX*_INT_REG, GMX1_TX_INT_REG,
9318                                                          PCS1_INT*_REG, PCSX1_INT_REG */
9319         uint64_t agx0                         : 1;  /**< GMX0 interrupt
9320                                                          See GMX0_RX*_INT_REG, GMX0_TX_INT_REG,
9321                                                          PCS0_INT*_REG, PCSX0_INT_REG */
9322         uint64_t dpi                          : 1;  /**< DPI interrupt
9323                                                          See DPI_INT_REG */
9324         uint64_t sli                          : 1;  /**< SLI interrupt
9325                                                          See SLI_INT_SUM (enabled by SLI_INT_ENB_CIU) */
9326         uint64_t usb                          : 1;  /**< USB UCTL0 interrupt
9327                                                          See UCTL0_INT_REG */
9328         uint64_t dfa                          : 1;  /**< DFA interrupt
9329                                                          See DFA_ERROR */
9330         uint64_t key                          : 1;  /**< KEY interrupt
9331                                                          See KEY_INT_SUM */
9332         uint64_t rad                          : 1;  /**< RAD interrupt
9333                                                          See RAD_REG_ERROR */
9334         uint64_t tim                          : 1;  /**< TIM interrupt
9335                                                          See TIM_REG_ERROR */
9336         uint64_t zip                          : 1;  /**< ZIP interrupt
9337                                                          See ZIP_ERROR */
9338         uint64_t pko                          : 1;  /**< PKO interrupt
9339                                                          See PKO_REG_ERROR */
9340         uint64_t pip                          : 1;  /**< PIP interrupt
9341                                                          See PIP_INT_REG */
9342         uint64_t ipd                          : 1;  /**< IPD interrupt
9343                                                          See IPD_INT_SUM */
9344         uint64_t l2c                          : 1;  /**< L2C interrupt
9345                                                          See L2C_INT_REG */
9346         uint64_t pow                          : 1;  /**< POW err interrupt
9347                                                          See POW_ECC_ERR */
9348         uint64_t fpa                          : 1;  /**< FPA interrupt
9349                                                          See FPA_INT_SUM */
9350         uint64_t iob                          : 1;  /**< IOB interrupt
9351                                                          See IOB_INT_SUM */
9352         uint64_t mio                          : 1;  /**< MIO boot interrupt
9353                                                          See MIO_BOOT_ERR */
9354         uint64_t nand                         : 1;  /**< EMMC Flash Controller interrupt
9355                                                          See  EMMC interrupt */
9356         uint64_t mii1                         : 1;  /**< RGMII/MIX Interface 1 Interrupt
9357                                                          See MIX1_ISR */
9358         uint64_t reserved_4_17                : 14;
9359         uint64_t wdog                         : 4;  /**< Per PP watchdog interrupts */
9360 #else
9361         uint64_t wdog                         : 4;
9362         uint64_t reserved_4_17                : 14;
9363         uint64_t mii1                         : 1;
9364         uint64_t nand                         : 1;
9365         uint64_t mio                          : 1;
9366         uint64_t iob                          : 1;
9367         uint64_t fpa                          : 1;
9368         uint64_t pow                          : 1;
9369         uint64_t l2c                          : 1;
9370         uint64_t ipd                          : 1;
9371         uint64_t pip                          : 1;
9372         uint64_t pko                          : 1;
9373         uint64_t zip                          : 1;
9374         uint64_t tim                          : 1;
9375         uint64_t rad                          : 1;
9376         uint64_t key                          : 1;
9377         uint64_t dfa                          : 1;
9378         uint64_t usb                          : 1;
9379         uint64_t sli                          : 1;
9380         uint64_t dpi                          : 1;
9381         uint64_t agx0                         : 1;
9382         uint64_t agx1                         : 1;
9383         uint64_t reserved_38_45               : 8;
9384         uint64_t agl                          : 1;
9385         uint64_t ptp                          : 1;
9386         uint64_t pem0                         : 1;
9387         uint64_t pem1                         : 1;
9388         uint64_t reserved_50_51               : 2;
9389         uint64_t lmc0                         : 1;
9390         uint64_t reserved_53_62               : 10;
9391         uint64_t rst                          : 1;
9392 #endif
9393         } cn61xx;
9394         struct cvmx_ciu_int_sum1_cn63xx {
9395 #ifdef __BIG_ENDIAN_BITFIELD
9396         uint64_t rst                          : 1;  /**< MIO RST interrupt
9397                                                          See MIO_RST_INT */
9398         uint64_t reserved_57_62               : 6;
9399         uint64_t dfm                          : 1;  /**< DFM Interrupt
9400                                                          See DFM_FNT_STAT */
9401         uint64_t reserved_53_55               : 3;
9402         uint64_t lmc0                         : 1;  /**< LMC0 interrupt
9403                                                          See LMC0_INT */
9404         uint64_t srio1                        : 1;  /**< SRIO1 interrupt
9405                                                          See SRIO1_INT_REG, SRIO1_INT2_REG */
9406         uint64_t srio0                        : 1;  /**< SRIO0 interrupt
9407                                                          See SRIO0_INT_REG, SRIO0_INT2_REG */
9408         uint64_t pem1                         : 1;  /**< PEM1 interrupt
9409                                                          See PEM1_INT_SUM (enabled by PEM1_INT_ENB) */
9410         uint64_t pem0                         : 1;  /**< PEM0 interrupt
9411                                                          See PEM0_INT_SUM (enabled by PEM0_INT_ENB) */
9412         uint64_t ptp                          : 1;  /**< PTP interrupt
9413                                                          Set when HW decrements MIO_PTP_EVT_CNT to zero */
9414         uint64_t agl                          : 1;  /**< AGL interrupt
9415                                                          See AGL_GMX_RX*_INT_REG, AGL_GMX_TX_INT_REG */
9416         uint64_t reserved_37_45               : 9;
9417         uint64_t agx0                         : 1;  /**< GMX0 interrupt
9418                                                          See GMX0_RX*_INT_REG, GMX0_TX_INT_REG,
9419                                                          PCS0_INT*_REG, PCSX0_INT_REG */
9420         uint64_t dpi                          : 1;  /**< DPI interrupt
9421                                                          See DPI_INT_REG */
9422         uint64_t sli                          : 1;  /**< SLI interrupt
9423                                                          See SLI_INT_SUM (enabled by SLI_INT_ENB_CIU) */
9424         uint64_t usb                          : 1;  /**< USB UCTL0 interrupt
9425                                                          See UCTL0_INT_REG */
9426         uint64_t dfa                          : 1;  /**< DFA interrupt
9427                                                          See DFA_ERROR */
9428         uint64_t key                          : 1;  /**< KEY interrupt
9429                                                          See KEY_INT_SUM */
9430         uint64_t rad                          : 1;  /**< RAD interrupt
9431                                                          See RAD_REG_ERROR */
9432         uint64_t tim                          : 1;  /**< TIM interrupt
9433                                                          See TIM_REG_ERROR */
9434         uint64_t zip                          : 1;  /**< ZIP interrupt
9435                                                          See ZIP_ERROR */
9436         uint64_t pko                          : 1;  /**< PKO interrupt
9437                                                          See PKO_REG_ERROR */
9438         uint64_t pip                          : 1;  /**< PIP interrupt
9439                                                          See PIP_INT_REG */
9440         uint64_t ipd                          : 1;  /**< IPD interrupt
9441                                                          See IPD_INT_SUM */
9442         uint64_t l2c                          : 1;  /**< L2C interrupt
9443                                                          See L2C_INT_REG */
9444         uint64_t pow                          : 1;  /**< POW err interrupt
9445                                                          See POW_ECC_ERR */
9446         uint64_t fpa                          : 1;  /**< FPA interrupt
9447                                                          See FPA_INT_SUM */
9448         uint64_t iob                          : 1;  /**< IOB interrupt
9449                                                          See IOB_INT_SUM */
9450         uint64_t mio                          : 1;  /**< MIO boot interrupt
9451                                                          See MIO_BOOT_ERR */
9452         uint64_t nand                         : 1;  /**< NAND Flash Controller interrupt
9453                                                          See NDF_INT */
9454         uint64_t mii1                         : 1;  /**< RGMII/MII/MIX Interface 1 Interrupt
9455                                                          See MIX1_ISR */
9456         uint64_t reserved_6_17                : 12;
9457         uint64_t wdog                         : 6;  /**< 6 watchdog interrupts */
9458 #else
9459         uint64_t wdog                         : 6;
9460         uint64_t reserved_6_17                : 12;
9461         uint64_t mii1                         : 1;
9462         uint64_t nand                         : 1;
9463         uint64_t mio                          : 1;
9464         uint64_t iob                          : 1;
9465         uint64_t fpa                          : 1;
9466         uint64_t pow                          : 1;
9467         uint64_t l2c                          : 1;
9468         uint64_t ipd                          : 1;
9469         uint64_t pip                          : 1;
9470         uint64_t pko                          : 1;
9471         uint64_t zip                          : 1;
9472         uint64_t tim                          : 1;
9473         uint64_t rad                          : 1;
9474         uint64_t key                          : 1;
9475         uint64_t dfa                          : 1;
9476         uint64_t usb                          : 1;
9477         uint64_t sli                          : 1;
9478         uint64_t dpi                          : 1;
9479         uint64_t agx0                         : 1;
9480         uint64_t reserved_37_45               : 9;
9481         uint64_t agl                          : 1;
9482         uint64_t ptp                          : 1;
9483         uint64_t pem0                         : 1;
9484         uint64_t pem1                         : 1;
9485         uint64_t srio0                        : 1;
9486         uint64_t srio1                        : 1;
9487         uint64_t lmc0                         : 1;
9488         uint64_t reserved_53_55               : 3;
9489         uint64_t dfm                          : 1;
9490         uint64_t reserved_57_62               : 6;
9491         uint64_t rst                          : 1;
9492 #endif
9493         } cn63xx;
9494         struct cvmx_ciu_int_sum1_cn63xx       cn63xxp1;
9495         struct cvmx_ciu_int_sum1_cn66xx {
9496 #ifdef __BIG_ENDIAN_BITFIELD
9497         uint64_t rst                          : 1;  /**< MIO RST interrupt
9498                                                          See MIO_RST_INT */
9499         uint64_t reserved_62_62               : 1;
9500         uint64_t srio3                        : 1;  /**< SRIO3 interrupt
9501                                                          See SRIO3_INT_REG, SRIO3_INT2_REG */
9502         uint64_t srio2                        : 1;  /**< SRIO2 interrupt
9503                                                          See SRIO2_INT_REG, SRIO2_INT2_REG */
9504         uint64_t reserved_57_59               : 3;
9505         uint64_t dfm                          : 1;  /**< DFM Interrupt
9506                                                          See DFM_FNT_STAT */
9507         uint64_t reserved_53_55               : 3;
9508         uint64_t lmc0                         : 1;  /**< LMC0 interrupt
9509                                                          See LMC0_INT */
9510         uint64_t reserved_51_51               : 1;
9511         uint64_t srio0                        : 1;  /**< SRIO0 interrupt
9512                                                          See SRIO0_INT_REG, SRIO0_INT2_REG */
9513         uint64_t pem1                         : 1;  /**< PEM1 interrupt
9514                                                          See PEM1_INT_SUM (enabled by PEM1_INT_ENB) */
9515         uint64_t pem0                         : 1;  /**< PEM0 interrupt
9516                                                          See PEM0_INT_SUM (enabled by PEM0_INT_ENB) */
9517         uint64_t ptp                          : 1;  /**< PTP interrupt
9518                                                          Set when HW decrements MIO_PTP_EVT_CNT to zero */
9519         uint64_t agl                          : 1;  /**< AGL interrupt
9520                                                          See AGL_GMX_RX*_INT_REG, AGL_GMX_TX_INT_REG */
9521         uint64_t reserved_38_45               : 8;
9522         uint64_t agx1                         : 1;  /**< GMX1 interrupt
9523                                                          See GMX1_RX*_INT_REG, GMX1_TX_INT_REG,
9524                                                          PCS1_INT*_REG, PCSX1_INT_REG */
9525         uint64_t agx0                         : 1;  /**< GMX0 interrupt
9526                                                          See GMX0_RX*_INT_REG, GMX0_TX_INT_REG,
9527                                                          PCS0_INT*_REG, PCSX0_INT_REG */
9528         uint64_t dpi                          : 1;  /**< DPI interrupt
9529                                                          See DPI_INT_REG */
9530         uint64_t sli                          : 1;  /**< SLI interrupt
9531                                                          See SLI_INT_SUM (enabled by SLI_INT_ENB_CIU) */
9532         uint64_t usb                          : 1;  /**< USB UCTL0 interrupt
9533                                                          See UCTL0_INT_REG */
9534         uint64_t dfa                          : 1;  /**< DFA interrupt
9535                                                          See DFA_ERROR */
9536         uint64_t key                          : 1;  /**< KEY interrupt
9537                                                          See KEY_INT_SUM */
9538         uint64_t rad                          : 1;  /**< RAD interrupt
9539                                                          See RAD_REG_ERROR */
9540         uint64_t tim                          : 1;  /**< TIM interrupt
9541                                                          See TIM_REG_ERROR */
9542         uint64_t zip                          : 1;  /**< ZIP interrupt
9543                                                          See ZIP_ERROR */
9544         uint64_t pko                          : 1;  /**< PKO interrupt
9545                                                          See PKO_REG_ERROR */
9546         uint64_t pip                          : 1;  /**< PIP interrupt
9547                                                          See PIP_INT_REG */
9548         uint64_t ipd                          : 1;  /**< IPD interrupt
9549                                                          See IPD_INT_SUM */
9550         uint64_t l2c                          : 1;  /**< L2C interrupt
9551                                                          See L2C_INT_REG */
9552         uint64_t pow                          : 1;  /**< POW err interrupt
9553                                                          See POW_ECC_ERR */
9554         uint64_t fpa                          : 1;  /**< FPA interrupt
9555                                                          See FPA_INT_SUM */
9556         uint64_t iob                          : 1;  /**< IOB interrupt
9557                                                          See IOB_INT_SUM */
9558         uint64_t mio                          : 1;  /**< MIO boot interrupt
9559                                                          See MIO_BOOT_ERR */
9560         uint64_t nand                         : 1;  /**< NAND Flash Controller interrupt
9561                                                          See NDF_INT */
9562         uint64_t mii1                         : 1;  /**< RGMII/MII/MIX Interface 1 Interrupt
9563                                                          See MIX1_ISR */
9564         uint64_t reserved_10_17               : 8;
9565         uint64_t wdog                         : 10; /**< 10 watchdog interrupts */
9566 #else
9567         uint64_t wdog                         : 10;
9568         uint64_t reserved_10_17               : 8;
9569         uint64_t mii1                         : 1;
9570         uint64_t nand                         : 1;
9571         uint64_t mio                          : 1;
9572         uint64_t iob                          : 1;
9573         uint64_t fpa                          : 1;
9574         uint64_t pow                          : 1;
9575         uint64_t l2c                          : 1;
9576         uint64_t ipd                          : 1;
9577         uint64_t pip                          : 1;
9578         uint64_t pko                          : 1;
9579         uint64_t zip                          : 1;
9580         uint64_t tim                          : 1;
9581         uint64_t rad                          : 1;
9582         uint64_t key                          : 1;
9583         uint64_t dfa                          : 1;
9584         uint64_t usb                          : 1;
9585         uint64_t sli                          : 1;
9586         uint64_t dpi                          : 1;
9587         uint64_t agx0                         : 1;
9588         uint64_t agx1                         : 1;
9589         uint64_t reserved_38_45               : 8;
9590         uint64_t agl                          : 1;
9591         uint64_t ptp                          : 1;
9592         uint64_t pem0                         : 1;
9593         uint64_t pem1                         : 1;
9594         uint64_t srio0                        : 1;
9595         uint64_t reserved_51_51               : 1;
9596         uint64_t lmc0                         : 1;
9597         uint64_t reserved_53_55               : 3;
9598         uint64_t dfm                          : 1;
9599         uint64_t reserved_57_59               : 3;
9600         uint64_t srio2                        : 1;
9601         uint64_t srio3                        : 1;
9602         uint64_t reserved_62_62               : 1;
9603         uint64_t rst                          : 1;
9604 #endif
9605         } cn66xx;
9606         struct cvmx_ciu_int_sum1_cnf71xx {
9607 #ifdef __BIG_ENDIAN_BITFIELD
9608         uint64_t rst                          : 1;  /**< MIO RST interrupt
9609                                                          See MIO_RST_INT */
9610         uint64_t reserved_53_62               : 10;
9611         uint64_t lmc0                         : 1;  /**< LMC0 interrupt
9612                                                          See LMC0_INT */
9613         uint64_t reserved_50_51               : 2;
9614         uint64_t pem1                         : 1;  /**< PEM1 interrupt
9615                                                          See PEM1_INT_SUM (enabled by PEM1_INT_ENB) */
9616         uint64_t pem0                         : 1;  /**< PEM0 interrupt
9617                                                          See PEM0_INT_SUM (enabled by PEM0_INT_ENB) */
9618         uint64_t ptp                          : 1;  /**< PTP interrupt
9619                                                          Set when HW decrements MIO_PTP_EVT_CNT to zero */
9620         uint64_t reserved_37_46               : 10;
9621         uint64_t agx0                         : 1;  /**< GMX0 interrupt
9622                                                          See GMX0_RX*_INT_REG, GMX0_TX_INT_REG,
9623                                                          PCS0_INT*_REG, PCSX0_INT_REG */
9624         uint64_t dpi                          : 1;  /**< DPI interrupt
9625                                                          See DPI_INT_REG */
9626         uint64_t sli                          : 1;  /**< SLI interrupt
9627                                                          See SLI_INT_SUM (enabled by SLI_INT_ENB_CIU) */
9628         uint64_t usb                          : 1;  /**< USB UCTL0 interrupt
9629                                                          See UCTL0_INT_REG */
9630         uint64_t reserved_32_32               : 1;
9631         uint64_t key                          : 1;  /**< KEY interrupt
9632                                                          See KEY_INT_SUM */
9633         uint64_t rad                          : 1;  /**< RAD interrupt
9634                                                          See RAD_REG_ERROR */
9635         uint64_t tim                          : 1;  /**< TIM interrupt
9636                                                          See TIM_REG_ERROR */
9637         uint64_t reserved_28_28               : 1;
9638         uint64_t pko                          : 1;  /**< PKO interrupt
9639                                                          See PKO_REG_ERROR */
9640         uint64_t pip                          : 1;  /**< PIP interrupt
9641                                                          See PIP_INT_REG */
9642         uint64_t ipd                          : 1;  /**< IPD interrupt
9643                                                          See IPD_INT_SUM */
9644         uint64_t l2c                          : 1;  /**< L2C interrupt
9645                                                          See L2C_INT_REG */
9646         uint64_t pow                          : 1;  /**< POW err interrupt
9647                                                          See POW_ECC_ERR */
9648         uint64_t fpa                          : 1;  /**< FPA interrupt
9649                                                          See FPA_INT_SUM */
9650         uint64_t iob                          : 1;  /**< IOB interrupt
9651                                                          See IOB_INT_SUM */
9652         uint64_t mio                          : 1;  /**< MIO boot interrupt
9653                                                          See MIO_BOOT_ERR */
9654         uint64_t nand                         : 1;  /**< EMMC Flash Controller interrupt
9655                                                          See  EMMC interrupt */
9656         uint64_t reserved_4_18                : 15;
9657         uint64_t wdog                         : 4;  /**< Per PP watchdog interrupts */
9658 #else
9659         uint64_t wdog                         : 4;
9660         uint64_t reserved_4_18                : 15;
9661         uint64_t nand                         : 1;
9662         uint64_t mio                          : 1;
9663         uint64_t iob                          : 1;
9664         uint64_t fpa                          : 1;
9665         uint64_t pow                          : 1;
9666         uint64_t l2c                          : 1;
9667         uint64_t ipd                          : 1;
9668         uint64_t pip                          : 1;
9669         uint64_t pko                          : 1;
9670         uint64_t reserved_28_28               : 1;
9671         uint64_t tim                          : 1;
9672         uint64_t rad                          : 1;
9673         uint64_t key                          : 1;
9674         uint64_t reserved_32_32               : 1;
9675         uint64_t usb                          : 1;
9676         uint64_t sli                          : 1;
9677         uint64_t dpi                          : 1;
9678         uint64_t agx0                         : 1;
9679         uint64_t reserved_37_46               : 10;
9680         uint64_t ptp                          : 1;
9681         uint64_t pem0                         : 1;
9682         uint64_t pem1                         : 1;
9683         uint64_t reserved_50_51               : 2;
9684         uint64_t lmc0                         : 1;
9685         uint64_t reserved_53_62               : 10;
9686         uint64_t rst                          : 1;
9687 #endif
9688         } cnf71xx;
9689 };
9690 typedef union cvmx_ciu_int_sum1 cvmx_ciu_int_sum1_t;
9691
9692 /**
9693  * cvmx_ciu_mbox_clr#
9694  */
9695 union cvmx_ciu_mbox_clrx {
9696         uint64_t u64;
9697         struct cvmx_ciu_mbox_clrx_s {
9698 #ifdef __BIG_ENDIAN_BITFIELD
9699         uint64_t reserved_32_63               : 32;
9700         uint64_t bits                         : 32; /**< On writes, clr corresponding bit in MBOX register
9701                                                          on reads, return the MBOX register */
9702 #else
9703         uint64_t bits                         : 32;
9704         uint64_t reserved_32_63               : 32;
9705 #endif
9706         } s;
9707         struct cvmx_ciu_mbox_clrx_s           cn30xx;
9708         struct cvmx_ciu_mbox_clrx_s           cn31xx;
9709         struct cvmx_ciu_mbox_clrx_s           cn38xx;
9710         struct cvmx_ciu_mbox_clrx_s           cn38xxp2;
9711         struct cvmx_ciu_mbox_clrx_s           cn50xx;
9712         struct cvmx_ciu_mbox_clrx_s           cn52xx;
9713         struct cvmx_ciu_mbox_clrx_s           cn52xxp1;
9714         struct cvmx_ciu_mbox_clrx_s           cn56xx;
9715         struct cvmx_ciu_mbox_clrx_s           cn56xxp1;
9716         struct cvmx_ciu_mbox_clrx_s           cn58xx;
9717         struct cvmx_ciu_mbox_clrx_s           cn58xxp1;
9718         struct cvmx_ciu_mbox_clrx_s           cn61xx;
9719         struct cvmx_ciu_mbox_clrx_s           cn63xx;
9720         struct cvmx_ciu_mbox_clrx_s           cn63xxp1;
9721         struct cvmx_ciu_mbox_clrx_s           cn66xx;
9722         struct cvmx_ciu_mbox_clrx_s           cn68xx;
9723         struct cvmx_ciu_mbox_clrx_s           cn68xxp1;
9724         struct cvmx_ciu_mbox_clrx_s           cnf71xx;
9725 };
9726 typedef union cvmx_ciu_mbox_clrx cvmx_ciu_mbox_clrx_t;
9727
9728 /**
9729  * cvmx_ciu_mbox_set#
9730  */
9731 union cvmx_ciu_mbox_setx {
9732         uint64_t u64;
9733         struct cvmx_ciu_mbox_setx_s {
9734 #ifdef __BIG_ENDIAN_BITFIELD
9735         uint64_t reserved_32_63               : 32;
9736         uint64_t bits                         : 32; /**< On writes, set corresponding bit in MBOX register
9737                                                          on reads, return the MBOX register */
9738 #else
9739         uint64_t bits                         : 32;
9740         uint64_t reserved_32_63               : 32;
9741 #endif
9742         } s;
9743         struct cvmx_ciu_mbox_setx_s           cn30xx;
9744         struct cvmx_ciu_mbox_setx_s           cn31xx;
9745         struct cvmx_ciu_mbox_setx_s           cn38xx;
9746         struct cvmx_ciu_mbox_setx_s           cn38xxp2;
9747         struct cvmx_ciu_mbox_setx_s           cn50xx;
9748         struct cvmx_ciu_mbox_setx_s           cn52xx;
9749         struct cvmx_ciu_mbox_setx_s           cn52xxp1;
9750         struct cvmx_ciu_mbox_setx_s           cn56xx;
9751         struct cvmx_ciu_mbox_setx_s           cn56xxp1;
9752         struct cvmx_ciu_mbox_setx_s           cn58xx;
9753         struct cvmx_ciu_mbox_setx_s           cn58xxp1;
9754         struct cvmx_ciu_mbox_setx_s           cn61xx;
9755         struct cvmx_ciu_mbox_setx_s           cn63xx;
9756         struct cvmx_ciu_mbox_setx_s           cn63xxp1;
9757         struct cvmx_ciu_mbox_setx_s           cn66xx;
9758         struct cvmx_ciu_mbox_setx_s           cn68xx;
9759         struct cvmx_ciu_mbox_setx_s           cn68xxp1;
9760         struct cvmx_ciu_mbox_setx_s           cnf71xx;
9761 };
9762 typedef union cvmx_ciu_mbox_setx cvmx_ciu_mbox_setx_t;
9763
9764 /**
9765  * cvmx_ciu_nmi
9766  */
9767 union cvmx_ciu_nmi {
9768         uint64_t u64;
9769         struct cvmx_ciu_nmi_s {
9770 #ifdef __BIG_ENDIAN_BITFIELD
9771         uint64_t reserved_32_63               : 32;
9772         uint64_t nmi                          : 32; /**< Send NMI pulse to PP vector */
9773 #else
9774         uint64_t nmi                          : 32;
9775         uint64_t reserved_32_63               : 32;
9776 #endif
9777         } s;
9778         struct cvmx_ciu_nmi_cn30xx {
9779 #ifdef __BIG_ENDIAN_BITFIELD
9780         uint64_t reserved_1_63                : 63;
9781         uint64_t nmi                          : 1;  /**< Send NMI pulse to PP vector */
9782 #else
9783         uint64_t nmi                          : 1;
9784         uint64_t reserved_1_63                : 63;
9785 #endif
9786         } cn30xx;
9787         struct cvmx_ciu_nmi_cn31xx {
9788 #ifdef __BIG_ENDIAN_BITFIELD
9789         uint64_t reserved_2_63                : 62;
9790         uint64_t nmi                          : 2;  /**< Send NMI pulse to PP vector */
9791 #else
9792         uint64_t nmi                          : 2;
9793         uint64_t reserved_2_63                : 62;
9794 #endif
9795         } cn31xx;
9796         struct cvmx_ciu_nmi_cn38xx {
9797 #ifdef __BIG_ENDIAN_BITFIELD
9798         uint64_t reserved_16_63               : 48;
9799         uint64_t nmi                          : 16; /**< Send NMI pulse to PP vector */
9800 #else
9801         uint64_t nmi                          : 16;
9802         uint64_t reserved_16_63               : 48;
9803 #endif
9804         } cn38xx;
9805         struct cvmx_ciu_nmi_cn38xx            cn38xxp2;
9806         struct cvmx_ciu_nmi_cn31xx            cn50xx;
9807         struct cvmx_ciu_nmi_cn52xx {
9808 #ifdef __BIG_ENDIAN_BITFIELD
9809         uint64_t reserved_4_63                : 60;
9810         uint64_t nmi                          : 4;  /**< Send NMI pulse to PP vector */
9811 #else
9812         uint64_t nmi                          : 4;
9813         uint64_t reserved_4_63                : 60;
9814 #endif
9815         } cn52xx;
9816         struct cvmx_ciu_nmi_cn52xx            cn52xxp1;
9817         struct cvmx_ciu_nmi_cn56xx {
9818 #ifdef __BIG_ENDIAN_BITFIELD
9819         uint64_t reserved_12_63               : 52;
9820         uint64_t nmi                          : 12; /**< Send NMI pulse to PP vector */
9821 #else
9822         uint64_t nmi                          : 12;
9823         uint64_t reserved_12_63               : 52;
9824 #endif
9825         } cn56xx;
9826         struct cvmx_ciu_nmi_cn56xx            cn56xxp1;
9827         struct cvmx_ciu_nmi_cn38xx            cn58xx;
9828         struct cvmx_ciu_nmi_cn38xx            cn58xxp1;
9829         struct cvmx_ciu_nmi_cn52xx            cn61xx;
9830         struct cvmx_ciu_nmi_cn63xx {
9831 #ifdef __BIG_ENDIAN_BITFIELD
9832         uint64_t reserved_6_63                : 58;
9833         uint64_t nmi                          : 6;  /**< Send NMI pulse to PP vector */
9834 #else
9835         uint64_t nmi                          : 6;
9836         uint64_t reserved_6_63                : 58;
9837 #endif
9838         } cn63xx;
9839         struct cvmx_ciu_nmi_cn63xx            cn63xxp1;
9840         struct cvmx_ciu_nmi_cn66xx {
9841 #ifdef __BIG_ENDIAN_BITFIELD
9842         uint64_t reserved_10_63               : 54;
9843         uint64_t nmi                          : 10; /**< Send NMI pulse to PP vector */
9844 #else
9845         uint64_t nmi                          : 10;
9846         uint64_t reserved_10_63               : 54;
9847 #endif
9848         } cn66xx;
9849         struct cvmx_ciu_nmi_s                 cn68xx;
9850         struct cvmx_ciu_nmi_s                 cn68xxp1;
9851         struct cvmx_ciu_nmi_cn52xx            cnf71xx;
9852 };
9853 typedef union cvmx_ciu_nmi cvmx_ciu_nmi_t;
9854
9855 /**
9856  * cvmx_ciu_pci_inta
9857  */
9858 union cvmx_ciu_pci_inta {
9859         uint64_t u64;
9860         struct cvmx_ciu_pci_inta_s {
9861 #ifdef __BIG_ENDIAN_BITFIELD
9862         uint64_t reserved_2_63                : 62;
9863         uint64_t intr                         : 2;  /**< PCIe interrupt
9864                                                          These bits are observed in CIU_INTX_SUM0<33:32>
9865                                                          where X=32-33 */
9866 #else
9867         uint64_t intr                         : 2;
9868         uint64_t reserved_2_63                : 62;
9869 #endif
9870         } s;
9871         struct cvmx_ciu_pci_inta_s            cn30xx;
9872         struct cvmx_ciu_pci_inta_s            cn31xx;
9873         struct cvmx_ciu_pci_inta_s            cn38xx;
9874         struct cvmx_ciu_pci_inta_s            cn38xxp2;
9875         struct cvmx_ciu_pci_inta_s            cn50xx;
9876         struct cvmx_ciu_pci_inta_s            cn52xx;
9877         struct cvmx_ciu_pci_inta_s            cn52xxp1;
9878         struct cvmx_ciu_pci_inta_s            cn56xx;
9879         struct cvmx_ciu_pci_inta_s            cn56xxp1;
9880         struct cvmx_ciu_pci_inta_s            cn58xx;
9881         struct cvmx_ciu_pci_inta_s            cn58xxp1;
9882         struct cvmx_ciu_pci_inta_s            cn61xx;
9883         struct cvmx_ciu_pci_inta_s            cn63xx;
9884         struct cvmx_ciu_pci_inta_s            cn63xxp1;
9885         struct cvmx_ciu_pci_inta_s            cn66xx;
9886         struct cvmx_ciu_pci_inta_s            cn68xx;
9887         struct cvmx_ciu_pci_inta_s            cn68xxp1;
9888         struct cvmx_ciu_pci_inta_s            cnf71xx;
9889 };
9890 typedef union cvmx_ciu_pci_inta cvmx_ciu_pci_inta_t;
9891
9892 /**
9893  * cvmx_ciu_pp_bist_stat
9894  */
9895 union cvmx_ciu_pp_bist_stat {
9896         uint64_t u64;
9897         struct cvmx_ciu_pp_bist_stat_s {
9898 #ifdef __BIG_ENDIAN_BITFIELD
9899         uint64_t reserved_32_63               : 32;
9900         uint64_t pp_bist                      : 32; /**< Physical PP BIST status */
9901 #else
9902         uint64_t pp_bist                      : 32;
9903         uint64_t reserved_32_63               : 32;
9904 #endif
9905         } s;
9906         struct cvmx_ciu_pp_bist_stat_s        cn68xx;
9907         struct cvmx_ciu_pp_bist_stat_s        cn68xxp1;
9908 };
9909 typedef union cvmx_ciu_pp_bist_stat cvmx_ciu_pp_bist_stat_t;
9910
9911 /**
9912  * cvmx_ciu_pp_dbg
9913  */
9914 union cvmx_ciu_pp_dbg {
9915         uint64_t u64;
9916         struct cvmx_ciu_pp_dbg_s {
9917 #ifdef __BIG_ENDIAN_BITFIELD
9918         uint64_t reserved_32_63               : 32;
9919         uint64_t ppdbg                        : 32; /**< Debug[DM] value for each PP
9920                                                          whether the PP's are in debug mode or not */
9921 #else
9922         uint64_t ppdbg                        : 32;
9923         uint64_t reserved_32_63               : 32;
9924 #endif
9925         } s;
9926         struct cvmx_ciu_pp_dbg_cn30xx {
9927 #ifdef __BIG_ENDIAN_BITFIELD
9928         uint64_t reserved_1_63                : 63;
9929         uint64_t ppdbg                        : 1;  /**< Debug[DM] value for each PP
9930                                                          whether the PP's are in debug mode or not */
9931 #else
9932         uint64_t ppdbg                        : 1;
9933         uint64_t reserved_1_63                : 63;
9934 #endif
9935         } cn30xx;
9936         struct cvmx_ciu_pp_dbg_cn31xx {
9937 #ifdef __BIG_ENDIAN_BITFIELD
9938         uint64_t reserved_2_63                : 62;
9939         uint64_t ppdbg                        : 2;  /**< Debug[DM] value for each PP
9940                                                          whether the PP's are in debug mode or not */
9941 #else
9942         uint64_t ppdbg                        : 2;
9943         uint64_t reserved_2_63                : 62;
9944 #endif
9945         } cn31xx;
9946         struct cvmx_ciu_pp_dbg_cn38xx {
9947 #ifdef __BIG_ENDIAN_BITFIELD
9948         uint64_t reserved_16_63               : 48;
9949         uint64_t ppdbg                        : 16; /**< Debug[DM] value for each PP
9950                                                          whether the PP's are in debug mode or not */
9951 #else
9952         uint64_t ppdbg                        : 16;
9953         uint64_t reserved_16_63               : 48;
9954 #endif
9955         } cn38xx;
9956         struct cvmx_ciu_pp_dbg_cn38xx         cn38xxp2;
9957         struct cvmx_ciu_pp_dbg_cn31xx         cn50xx;
9958         struct cvmx_ciu_pp_dbg_cn52xx {
9959 #ifdef __BIG_ENDIAN_BITFIELD
9960         uint64_t reserved_4_63                : 60;
9961         uint64_t ppdbg                        : 4;  /**< Debug[DM] value for each PP
9962                                                          whether the PP's are in debug mode or not */
9963 #else
9964         uint64_t ppdbg                        : 4;
9965         uint64_t reserved_4_63                : 60;
9966 #endif
9967         } cn52xx;
9968         struct cvmx_ciu_pp_dbg_cn52xx         cn52xxp1;
9969         struct cvmx_ciu_pp_dbg_cn56xx {
9970 #ifdef __BIG_ENDIAN_BITFIELD
9971         uint64_t reserved_12_63               : 52;
9972         uint64_t ppdbg                        : 12; /**< Debug[DM] value for each PP
9973                                                          whether the PP's are in debug mode or not */
9974 #else
9975         uint64_t ppdbg                        : 12;
9976         uint64_t reserved_12_63               : 52;
9977 #endif
9978         } cn56xx;
9979         struct cvmx_ciu_pp_dbg_cn56xx         cn56xxp1;
9980         struct cvmx_ciu_pp_dbg_cn38xx         cn58xx;
9981         struct cvmx_ciu_pp_dbg_cn38xx         cn58xxp1;
9982         struct cvmx_ciu_pp_dbg_cn52xx         cn61xx;
9983         struct cvmx_ciu_pp_dbg_cn63xx {
9984 #ifdef __BIG_ENDIAN_BITFIELD
9985         uint64_t reserved_6_63                : 58;
9986         uint64_t ppdbg                        : 6;  /**< Debug[DM] value for each PP
9987                                                          whether the PP's are in debug mode or not */
9988 #else
9989         uint64_t ppdbg                        : 6;
9990         uint64_t reserved_6_63                : 58;
9991 #endif
9992         } cn63xx;
9993         struct cvmx_ciu_pp_dbg_cn63xx         cn63xxp1;
9994         struct cvmx_ciu_pp_dbg_cn66xx {
9995 #ifdef __BIG_ENDIAN_BITFIELD
9996         uint64_t reserved_10_63               : 54;
9997         uint64_t ppdbg                        : 10; /**< Debug[DM] value for each PP
9998                                                          whether the PP's are in debug mode or not */
9999 #else
10000         uint64_t ppdbg                        : 10;
10001         uint64_t reserved_10_63               : 54;
10002 #endif
10003         } cn66xx;
10004         struct cvmx_ciu_pp_dbg_s              cn68xx;
10005         struct cvmx_ciu_pp_dbg_s              cn68xxp1;
10006         struct cvmx_ciu_pp_dbg_cn52xx         cnf71xx;
10007 };
10008 typedef union cvmx_ciu_pp_dbg cvmx_ciu_pp_dbg_t;
10009
10010 /**
10011  * cvmx_ciu_pp_poke#
10012  *
10013  * Notes:
10014  * Any write to a CIU_PP_POKE register clears any pending interrupt generated
10015  * by the associated watchdog, resets the CIU_WDOG[STATE] field, and set
10016  * CIU_WDOG[CNT] to be (CIU_WDOG[LEN] << 8).
10017  *
10018  * Reads to this register will return the associated CIU_WDOG register.
10019  */
10020 union cvmx_ciu_pp_pokex {
10021         uint64_t u64;
10022         struct cvmx_ciu_pp_pokex_s {
10023 #ifdef __BIG_ENDIAN_BITFIELD
10024         uint64_t poke                         : 64; /**< Reserved */
10025 #else
10026         uint64_t poke                         : 64;
10027 #endif
10028         } s;
10029         struct cvmx_ciu_pp_pokex_s            cn30xx;
10030         struct cvmx_ciu_pp_pokex_s            cn31xx;
10031         struct cvmx_ciu_pp_pokex_s            cn38xx;
10032         struct cvmx_ciu_pp_pokex_s            cn38xxp2;
10033         struct cvmx_ciu_pp_pokex_s            cn50xx;
10034         struct cvmx_ciu_pp_pokex_s            cn52xx;
10035         struct cvmx_ciu_pp_pokex_s            cn52xxp1;
10036         struct cvmx_ciu_pp_pokex_s            cn56xx;
10037         struct cvmx_ciu_pp_pokex_s            cn56xxp1;
10038         struct cvmx_ciu_pp_pokex_s            cn58xx;
10039         struct cvmx_ciu_pp_pokex_s            cn58xxp1;
10040         struct cvmx_ciu_pp_pokex_s            cn61xx;
10041         struct cvmx_ciu_pp_pokex_s            cn63xx;
10042         struct cvmx_ciu_pp_pokex_s            cn63xxp1;
10043         struct cvmx_ciu_pp_pokex_s            cn66xx;
10044         struct cvmx_ciu_pp_pokex_s            cn68xx;
10045         struct cvmx_ciu_pp_pokex_s            cn68xxp1;
10046         struct cvmx_ciu_pp_pokex_s            cnf71xx;
10047 };
10048 typedef union cvmx_ciu_pp_pokex cvmx_ciu_pp_pokex_t;
10049
10050 /**
10051  * cvmx_ciu_pp_rst
10052  *
10053  * Contains the reset control for each PP.  Value of '1' will hold a PP in reset, '0' will release.
10054  * Resets to 0xf when PCI boot is enabled, 0xe otherwise.
10055  */
10056 union cvmx_ciu_pp_rst {
10057         uint64_t u64;
10058         struct cvmx_ciu_pp_rst_s {
10059 #ifdef __BIG_ENDIAN_BITFIELD
10060         uint64_t reserved_32_63               : 32;
10061         uint64_t rst                          : 31; /**< PP Rst for PP's 3-1 */
10062         uint64_t rst0                         : 1;  /**< PP Rst for PP0
10063                                                          depends on standalone mode */
10064 #else
10065         uint64_t rst0                         : 1;
10066         uint64_t rst                          : 31;
10067         uint64_t reserved_32_63               : 32;
10068 #endif
10069         } s;
10070         struct cvmx_ciu_pp_rst_cn30xx {
10071 #ifdef __BIG_ENDIAN_BITFIELD
10072         uint64_t reserved_1_63                : 63;
10073         uint64_t rst0                         : 1;  /**< PP Rst for PP0
10074                                                          depends on standalone mode */
10075 #else
10076         uint64_t rst0                         : 1;
10077         uint64_t reserved_1_63                : 63;
10078 #endif
10079         } cn30xx;
10080         struct cvmx_ciu_pp_rst_cn31xx {
10081 #ifdef __BIG_ENDIAN_BITFIELD
10082         uint64_t reserved_2_63                : 62;
10083         uint64_t rst                          : 1;  /**< PP Rst for PP1 */
10084         uint64_t rst0                         : 1;  /**< PP Rst for PP0
10085                                                          depends on standalone mode */
10086 #else
10087         uint64_t rst0                         : 1;
10088         uint64_t rst                          : 1;
10089         uint64_t reserved_2_63                : 62;
10090 #endif
10091         } cn31xx;
10092         struct cvmx_ciu_pp_rst_cn38xx {
10093 #ifdef __BIG_ENDIAN_BITFIELD
10094         uint64_t reserved_16_63               : 48;
10095         uint64_t rst                          : 15; /**< PP Rst for PP's 15-1 */
10096         uint64_t rst0                         : 1;  /**< PP Rst for PP0
10097                                                          depends on standalone mode */
10098 #else
10099         uint64_t rst0                         : 1;
10100         uint64_t rst                          : 15;
10101         uint64_t reserved_16_63               : 48;
10102 #endif
10103         } cn38xx;
10104         struct cvmx_ciu_pp_rst_cn38xx         cn38xxp2;
10105         struct cvmx_ciu_pp_rst_cn31xx         cn50xx;
10106         struct cvmx_ciu_pp_rst_cn52xx {
10107 #ifdef __BIG_ENDIAN_BITFIELD
10108         uint64_t reserved_4_63                : 60;
10109         uint64_t rst                          : 3;  /**< PP Rst for PP's 11-1 */
10110         uint64_t rst0                         : 1;  /**< PP Rst for PP0
10111                                                          depends on standalone mode */
10112 #else
10113         uint64_t rst0                         : 1;
10114         uint64_t rst                          : 3;
10115         uint64_t reserved_4_63                : 60;
10116 #endif
10117         } cn52xx;
10118         struct cvmx_ciu_pp_rst_cn52xx         cn52xxp1;
10119         struct cvmx_ciu_pp_rst_cn56xx {
10120 #ifdef __BIG_ENDIAN_BITFIELD
10121         uint64_t reserved_12_63               : 52;
10122         uint64_t rst                          : 11; /**< PP Rst for PP's 11-1 */
10123         uint64_t rst0                         : 1;  /**< PP Rst for PP0
10124                                                          depends on standalone mode */
10125 #else
10126         uint64_t rst0                         : 1;
10127         uint64_t rst                          : 11;
10128         uint64_t reserved_12_63               : 52;
10129 #endif
10130         } cn56xx;
10131         struct cvmx_ciu_pp_rst_cn56xx         cn56xxp1;
10132         struct cvmx_ciu_pp_rst_cn38xx         cn58xx;
10133         struct cvmx_ciu_pp_rst_cn38xx         cn58xxp1;
10134         struct cvmx_ciu_pp_rst_cn52xx         cn61xx;
10135         struct cvmx_ciu_pp_rst_cn63xx {
10136 #ifdef __BIG_ENDIAN_BITFIELD
10137         uint64_t reserved_6_63                : 58;
10138         uint64_t rst                          : 5;  /**< PP Rst for PP's 5-1 */
10139         uint64_t rst0                         : 1;  /**< PP Rst for PP0
10140                                                          depends on standalone mode */
10141 #else
10142         uint64_t rst0                         : 1;
10143         uint64_t rst                          : 5;
10144         uint64_t reserved_6_63                : 58;
10145 #endif
10146         } cn63xx;
10147         struct cvmx_ciu_pp_rst_cn63xx         cn63xxp1;
10148         struct cvmx_ciu_pp_rst_cn66xx {
10149 #ifdef __BIG_ENDIAN_BITFIELD
10150         uint64_t reserved_10_63               : 54;
10151         uint64_t rst                          : 9;  /**< PP Rst for PP's 9-1 */
10152         uint64_t rst0                         : 1;  /**< PP Rst for PP0
10153                                                          depends on standalone mode */
10154 #else
10155         uint64_t rst0                         : 1;
10156         uint64_t rst                          : 9;
10157         uint64_t reserved_10_63               : 54;
10158 #endif
10159         } cn66xx;
10160         struct cvmx_ciu_pp_rst_s              cn68xx;
10161         struct cvmx_ciu_pp_rst_s              cn68xxp1;
10162         struct cvmx_ciu_pp_rst_cn52xx         cnf71xx;
10163 };
10164 typedef union cvmx_ciu_pp_rst cvmx_ciu_pp_rst_t;
10165
10166 /**
10167  * cvmx_ciu_qlm0
10168  *
10169  * Notes:
10170  * This register is only reset by cold reset.
10171  *
10172  */
10173 union cvmx_ciu_qlm0 {
10174         uint64_t u64;
10175         struct cvmx_ciu_qlm0_s {
10176 #ifdef __BIG_ENDIAN_BITFIELD
10177         uint64_t g2bypass                     : 1;  /**< QLM0 PCIE Gen2 tx bypass enable */
10178         uint64_t reserved_53_62               : 10;
10179         uint64_t g2deemph                     : 5;  /**< QLM0 PCIE Gen2 tx bypass de-emphasis value */
10180         uint64_t reserved_45_47               : 3;
10181         uint64_t g2margin                     : 5;  /**< QLM0 PCIE Gen2 tx bypass margin (amplitude) value */
10182         uint64_t reserved_32_39               : 8;
10183         uint64_t txbypass                     : 1;  /**< QLM0 transmitter bypass enable */
10184         uint64_t reserved_21_30               : 10;
10185         uint64_t txdeemph                     : 5;  /**< QLM0 transmitter bypass de-emphasis value */
10186         uint64_t reserved_13_15               : 3;
10187         uint64_t txmargin                     : 5;  /**< QLM0 transmitter bypass margin (amplitude) value */
10188         uint64_t reserved_4_7                 : 4;
10189         uint64_t lane_en                      : 4;  /**< QLM0 lane enable mask */
10190 #else
10191         uint64_t lane_en                      : 4;
10192         uint64_t reserved_4_7                 : 4;
10193         uint64_t txmargin                     : 5;
10194         uint64_t reserved_13_15               : 3;
10195         uint64_t txdeemph                     : 5;
10196         uint64_t reserved_21_30               : 10;
10197         uint64_t txbypass                     : 1;
10198         uint64_t reserved_32_39               : 8;
10199         uint64_t g2margin                     : 5;
10200         uint64_t reserved_45_47               : 3;
10201         uint64_t g2deemph                     : 5;
10202         uint64_t reserved_53_62               : 10;
10203         uint64_t g2bypass                     : 1;
10204 #endif
10205         } s;
10206         struct cvmx_ciu_qlm0_s                cn61xx;
10207         struct cvmx_ciu_qlm0_s                cn63xx;
10208         struct cvmx_ciu_qlm0_cn63xxp1 {
10209 #ifdef __BIG_ENDIAN_BITFIELD
10210         uint64_t reserved_32_63               : 32;
10211         uint64_t txbypass                     : 1;  /**< QLM0 transmitter bypass enable */
10212         uint64_t reserved_20_30               : 11;
10213         uint64_t txdeemph                     : 4;  /**< QLM0 transmitter bypass de-emphasis value */
10214         uint64_t reserved_13_15               : 3;
10215         uint64_t txmargin                     : 5;  /**< QLM0 transmitter bypass margin (amplitude) value */
10216         uint64_t reserved_4_7                 : 4;
10217         uint64_t lane_en                      : 4;  /**< QLM0 lane enable mask */
10218 #else
10219         uint64_t lane_en                      : 4;
10220         uint64_t reserved_4_7                 : 4;
10221         uint64_t txmargin                     : 5;
10222         uint64_t reserved_13_15               : 3;
10223         uint64_t txdeemph                     : 4;
10224         uint64_t reserved_20_30               : 11;
10225         uint64_t txbypass                     : 1;
10226         uint64_t reserved_32_63               : 32;
10227 #endif
10228         } cn63xxp1;
10229         struct cvmx_ciu_qlm0_s                cn66xx;
10230         struct cvmx_ciu_qlm0_cn68xx {
10231 #ifdef __BIG_ENDIAN_BITFIELD
10232         uint64_t reserved_32_63               : 32;
10233         uint64_t txbypass                     : 1;  /**< QLMx transmitter bypass enable */
10234         uint64_t reserved_21_30               : 10;
10235         uint64_t txdeemph                     : 5;  /**< QLMx transmitter bypass de-emphasis value */
10236         uint64_t reserved_13_15               : 3;
10237         uint64_t txmargin                     : 5;  /**< QLMx transmitter bypass margin (amplitude) value */
10238         uint64_t reserved_4_7                 : 4;
10239         uint64_t lane_en                      : 4;  /**< QLMx lane enable mask */
10240 #else
10241         uint64_t lane_en                      : 4;
10242         uint64_t reserved_4_7                 : 4;
10243         uint64_t txmargin                     : 5;
10244         uint64_t reserved_13_15               : 3;
10245         uint64_t txdeemph                     : 5;
10246         uint64_t reserved_21_30               : 10;
10247         uint64_t txbypass                     : 1;
10248         uint64_t reserved_32_63               : 32;
10249 #endif
10250         } cn68xx;
10251         struct cvmx_ciu_qlm0_cn68xx           cn68xxp1;
10252         struct cvmx_ciu_qlm0_s                cnf71xx;
10253 };
10254 typedef union cvmx_ciu_qlm0 cvmx_ciu_qlm0_t;
10255
10256 /**
10257  * cvmx_ciu_qlm1
10258  *
10259  * Notes:
10260  * This register is only reset by cold reset.
10261  *
10262  */
10263 union cvmx_ciu_qlm1 {
10264         uint64_t u64;
10265         struct cvmx_ciu_qlm1_s {
10266 #ifdef __BIG_ENDIAN_BITFIELD
10267         uint64_t g2bypass                     : 1;  /**< QLM1 PCIE Gen2 tx bypass enable */
10268         uint64_t reserved_53_62               : 10;
10269         uint64_t g2deemph                     : 5;  /**< QLM1 PCIE Gen2 tx bypass de-emphasis value */
10270         uint64_t reserved_45_47               : 3;
10271         uint64_t g2margin                     : 5;  /**< QLM1 PCIE Gen2 tx bypass margin (amplitude) value */
10272         uint64_t reserved_32_39               : 8;
10273         uint64_t txbypass                     : 1;  /**< QLM1 transmitter bypass enable */
10274         uint64_t reserved_21_30               : 10;
10275         uint64_t txdeemph                     : 5;  /**< QLM1 transmitter bypass de-emphasis value */
10276         uint64_t reserved_13_15               : 3;
10277         uint64_t txmargin                     : 5;  /**< QLM1 transmitter bypass margin (amplitude) value */
10278         uint64_t reserved_4_7                 : 4;
10279         uint64_t lane_en                      : 4;  /**< QLM1 lane enable mask */
10280 #else
10281         uint64_t lane_en                      : 4;
10282         uint64_t reserved_4_7                 : 4;
10283         uint64_t txmargin                     : 5;
10284         uint64_t reserved_13_15               : 3;
10285         uint64_t txdeemph                     : 5;
10286         uint64_t reserved_21_30               : 10;
10287         uint64_t txbypass                     : 1;
10288         uint64_t reserved_32_39               : 8;
10289         uint64_t g2margin                     : 5;
10290         uint64_t reserved_45_47               : 3;
10291         uint64_t g2deemph                     : 5;
10292         uint64_t reserved_53_62               : 10;
10293         uint64_t g2bypass                     : 1;
10294 #endif
10295         } s;
10296         struct cvmx_ciu_qlm1_s                cn61xx;
10297         struct cvmx_ciu_qlm1_s                cn63xx;
10298         struct cvmx_ciu_qlm1_cn63xxp1 {
10299 #ifdef __BIG_ENDIAN_BITFIELD
10300         uint64_t reserved_32_63               : 32;
10301         uint64_t txbypass                     : 1;  /**< QLM1 transmitter bypass enable */
10302         uint64_t reserved_20_30               : 11;
10303         uint64_t txdeemph                     : 4;  /**< QLM1 transmitter bypass de-emphasis value */
10304         uint64_t reserved_13_15               : 3;
10305         uint64_t txmargin                     : 5;  /**< QLM1 transmitter bypass margin (amplitude) value */
10306         uint64_t reserved_4_7                 : 4;
10307         uint64_t lane_en                      : 4;  /**< QLM1 lane enable mask */
10308 #else
10309         uint64_t lane_en                      : 4;
10310         uint64_t reserved_4_7                 : 4;
10311         uint64_t txmargin                     : 5;
10312         uint64_t reserved_13_15               : 3;
10313         uint64_t txdeemph                     : 4;
10314         uint64_t reserved_20_30               : 11;
10315         uint64_t txbypass                     : 1;
10316         uint64_t reserved_32_63               : 32;
10317 #endif
10318         } cn63xxp1;
10319         struct cvmx_ciu_qlm1_s                cn66xx;
10320         struct cvmx_ciu_qlm1_s                cn68xx;
10321         struct cvmx_ciu_qlm1_s                cn68xxp1;
10322         struct cvmx_ciu_qlm1_s                cnf71xx;
10323 };
10324 typedef union cvmx_ciu_qlm1 cvmx_ciu_qlm1_t;
10325
10326 /**
10327  * cvmx_ciu_qlm2
10328  *
10329  * Notes:
10330  * This register is only reset by cold reset.
10331  *
10332  */
10333 union cvmx_ciu_qlm2 {
10334         uint64_t u64;
10335         struct cvmx_ciu_qlm2_s {
10336 #ifdef __BIG_ENDIAN_BITFIELD
10337         uint64_t g2bypass                     : 1;  /**< QLMx PCIE Gen2 tx bypass enable */
10338         uint64_t reserved_53_62               : 10;
10339         uint64_t g2deemph                     : 5;  /**< QLMx PCIE Gen2 tx bypass de-emphasis value */
10340         uint64_t reserved_45_47               : 3;
10341         uint64_t g2margin                     : 5;  /**< QLMx PCIE Gen2 tx bypass margin (amplitude) value */
10342         uint64_t reserved_32_39               : 8;
10343         uint64_t txbypass                     : 1;  /**< QLM2 transmitter bypass enable */
10344         uint64_t reserved_21_30               : 10;
10345         uint64_t txdeemph                     : 5;  /**< QLM2 transmitter bypass de-emphasis value */
10346         uint64_t reserved_13_15               : 3;
10347         uint64_t txmargin                     : 5;  /**< QLM2 transmitter bypass margin (amplitude) value */
10348         uint64_t reserved_4_7                 : 4;
10349         uint64_t lane_en                      : 4;  /**< QLM2 lane enable mask */
10350 #else
10351         uint64_t lane_en                      : 4;
10352         uint64_t reserved_4_7                 : 4;
10353         uint64_t txmargin                     : 5;
10354         uint64_t reserved_13_15               : 3;
10355         uint64_t txdeemph                     : 5;
10356         uint64_t reserved_21_30               : 10;
10357         uint64_t txbypass                     : 1;
10358         uint64_t reserved_32_39               : 8;
10359         uint64_t g2margin                     : 5;
10360         uint64_t reserved_45_47               : 3;
10361         uint64_t g2deemph                     : 5;
10362         uint64_t reserved_53_62               : 10;
10363         uint64_t g2bypass                     : 1;
10364 #endif
10365         } s;
10366         struct cvmx_ciu_qlm2_cn61xx {
10367 #ifdef __BIG_ENDIAN_BITFIELD
10368         uint64_t reserved_32_63               : 32;
10369         uint64_t txbypass                     : 1;  /**< QLM2 transmitter bypass enable */
10370         uint64_t reserved_21_30               : 10;
10371         uint64_t txdeemph                     : 5;  /**< QLM2 transmitter bypass de-emphasis value */
10372         uint64_t reserved_13_15               : 3;
10373         uint64_t txmargin                     : 5;  /**< QLM2 transmitter bypass margin (amplitude) value */
10374         uint64_t reserved_4_7                 : 4;
10375         uint64_t lane_en                      : 4;  /**< QLM2 lane enable mask */
10376 #else
10377         uint64_t lane_en                      : 4;
10378         uint64_t reserved_4_7                 : 4;
10379         uint64_t txmargin                     : 5;
10380         uint64_t reserved_13_15               : 3;
10381         uint64_t txdeemph                     : 5;
10382         uint64_t reserved_21_30               : 10;
10383         uint64_t txbypass                     : 1;
10384         uint64_t reserved_32_63               : 32;
10385 #endif
10386         } cn61xx;
10387         struct cvmx_ciu_qlm2_cn61xx           cn63xx;
10388         struct cvmx_ciu_qlm2_cn63xxp1 {
10389 #ifdef __BIG_ENDIAN_BITFIELD
10390         uint64_t reserved_32_63               : 32;
10391         uint64_t txbypass                     : 1;  /**< QLM2 transmitter bypass enable */
10392         uint64_t reserved_20_30               : 11;
10393         uint64_t txdeemph                     : 4;  /**< QLM2 transmitter bypass de-emphasis value */
10394         uint64_t reserved_13_15               : 3;
10395         uint64_t txmargin                     : 5;  /**< QLM2 transmitter bypass margin (amplitude) value */
10396         uint64_t reserved_4_7                 : 4;
10397         uint64_t lane_en                      : 4;  /**< QLM2 lane enable mask */
10398 #else
10399         uint64_t lane_en                      : 4;
10400         uint64_t reserved_4_7                 : 4;
10401         uint64_t txmargin                     : 5;
10402         uint64_t reserved_13_15               : 3;
10403         uint64_t txdeemph                     : 4;
10404         uint64_t reserved_20_30               : 11;
10405         uint64_t txbypass                     : 1;
10406         uint64_t reserved_32_63               : 32;
10407 #endif
10408         } cn63xxp1;
10409         struct cvmx_ciu_qlm2_cn61xx           cn66xx;
10410         struct cvmx_ciu_qlm2_s                cn68xx;
10411         struct cvmx_ciu_qlm2_s                cn68xxp1;
10412         struct cvmx_ciu_qlm2_cn61xx           cnf71xx;
10413 };
10414 typedef union cvmx_ciu_qlm2 cvmx_ciu_qlm2_t;
10415
10416 /**
10417  * cvmx_ciu_qlm3
10418  *
10419  * Notes:
10420  * This register is only reset by cold reset.
10421  *
10422  */
10423 union cvmx_ciu_qlm3 {
10424         uint64_t u64;
10425         struct cvmx_ciu_qlm3_s {
10426 #ifdef __BIG_ENDIAN_BITFIELD
10427         uint64_t g2bypass                     : 1;  /**< QLMx PCIE Gen2 tx bypass enable */
10428         uint64_t reserved_53_62               : 10;
10429         uint64_t g2deemph                     : 5;  /**< QLMx PCIE Gen2 tx bypass de-emphasis value */
10430         uint64_t reserved_45_47               : 3;
10431         uint64_t g2margin                     : 5;  /**< QLMx PCIE Gen2 tx bypass margin (amplitude) value */
10432         uint64_t reserved_32_39               : 8;
10433         uint64_t txbypass                     : 1;  /**< QLMx transmitter bypass enable */
10434         uint64_t reserved_21_30               : 10;
10435         uint64_t txdeemph                     : 5;  /**< QLMx transmitter bypass de-emphasis value */
10436         uint64_t reserved_13_15               : 3;
10437         uint64_t txmargin                     : 5;  /**< QLMx transmitter bypass margin (amplitude) value */
10438         uint64_t reserved_4_7                 : 4;
10439         uint64_t lane_en                      : 4;  /**< QLMx lane enable mask */
10440 #else
10441         uint64_t lane_en                      : 4;
10442         uint64_t reserved_4_7                 : 4;
10443         uint64_t txmargin                     : 5;
10444         uint64_t reserved_13_15               : 3;
10445         uint64_t txdeemph                     : 5;
10446         uint64_t reserved_21_30               : 10;
10447         uint64_t txbypass                     : 1;
10448         uint64_t reserved_32_39               : 8;
10449         uint64_t g2margin                     : 5;
10450         uint64_t reserved_45_47               : 3;
10451         uint64_t g2deemph                     : 5;
10452         uint64_t reserved_53_62               : 10;
10453         uint64_t g2bypass                     : 1;
10454 #endif
10455         } s;
10456         struct cvmx_ciu_qlm3_s                cn68xx;
10457         struct cvmx_ciu_qlm3_s                cn68xxp1;
10458 };
10459 typedef union cvmx_ciu_qlm3 cvmx_ciu_qlm3_t;
10460
10461 /**
10462  * cvmx_ciu_qlm4
10463  *
10464  * Notes:
10465  * This register is only reset by cold reset.
10466  *
10467  */
10468 union cvmx_ciu_qlm4 {
10469         uint64_t u64;
10470         struct cvmx_ciu_qlm4_s {
10471 #ifdef __BIG_ENDIAN_BITFIELD
10472         uint64_t g2bypass                     : 1;  /**< QLMx PCIE Gen2 tx bypass enable */
10473         uint64_t reserved_53_62               : 10;
10474         uint64_t g2deemph                     : 5;  /**< QLMx PCIE Gen2 tx bypass de-emphasis value */
10475         uint64_t reserved_45_47               : 3;
10476         uint64_t g2margin                     : 5;  /**< QLMx PCIE Gen2 tx bypass margin (amplitude) value */
10477         uint64_t reserved_32_39               : 8;
10478         uint64_t txbypass                     : 1;  /**< QLMx transmitter bypass enable */
10479         uint64_t reserved_21_30               : 10;
10480         uint64_t txdeemph                     : 5;  /**< QLMx transmitter bypass de-emphasis value */
10481         uint64_t reserved_13_15               : 3;
10482         uint64_t txmargin                     : 5;  /**< QLMx transmitter bypass margin (amplitude) value */
10483         uint64_t reserved_4_7                 : 4;
10484         uint64_t lane_en                      : 4;  /**< QLMx lane enable mask */
10485 #else
10486         uint64_t lane_en                      : 4;
10487         uint64_t reserved_4_7                 : 4;
10488         uint64_t txmargin                     : 5;
10489         uint64_t reserved_13_15               : 3;
10490         uint64_t txdeemph                     : 5;
10491         uint64_t reserved_21_30               : 10;
10492         uint64_t txbypass                     : 1;
10493         uint64_t reserved_32_39               : 8;
10494         uint64_t g2margin                     : 5;
10495         uint64_t reserved_45_47               : 3;
10496         uint64_t g2deemph                     : 5;
10497         uint64_t reserved_53_62               : 10;
10498         uint64_t g2bypass                     : 1;
10499 #endif
10500         } s;
10501         struct cvmx_ciu_qlm4_s                cn68xx;
10502         struct cvmx_ciu_qlm4_s                cn68xxp1;
10503 };
10504 typedef union cvmx_ciu_qlm4 cvmx_ciu_qlm4_t;
10505
10506 /**
10507  * cvmx_ciu_qlm_dcok
10508  */
10509 union cvmx_ciu_qlm_dcok {
10510         uint64_t u64;
10511         struct cvmx_ciu_qlm_dcok_s {
10512 #ifdef __BIG_ENDIAN_BITFIELD
10513         uint64_t reserved_4_63                : 60;
10514         uint64_t qlm_dcok                     : 4;  /**< Re-assert dcok for each QLM. The value in this
10515                                                          field is "anded" with the pll_dcok pin and then
10516                                                          sent to each QLM (0..3). */
10517 #else
10518         uint64_t qlm_dcok                     : 4;
10519         uint64_t reserved_4_63                : 60;
10520 #endif
10521         } s;
10522         struct cvmx_ciu_qlm_dcok_cn52xx {
10523 #ifdef __BIG_ENDIAN_BITFIELD
10524         uint64_t reserved_2_63                : 62;
10525         uint64_t qlm_dcok                     : 2;  /**< Re-assert dcok for each QLM. The value in this
10526                                                          field is "anded" with the pll_dcok pin and then
10527                                                          sent to each QLM (0..3). */
10528 #else
10529         uint64_t qlm_dcok                     : 2;
10530         uint64_t reserved_2_63                : 62;
10531 #endif
10532         } cn52xx;
10533         struct cvmx_ciu_qlm_dcok_cn52xx       cn52xxp1;
10534         struct cvmx_ciu_qlm_dcok_s            cn56xx;
10535         struct cvmx_ciu_qlm_dcok_s            cn56xxp1;
10536 };
10537 typedef union cvmx_ciu_qlm_dcok cvmx_ciu_qlm_dcok_t;
10538
10539 /**
10540  * cvmx_ciu_qlm_jtgc
10541  */
10542 union cvmx_ciu_qlm_jtgc {
10543         uint64_t u64;
10544         struct cvmx_ciu_qlm_jtgc_s {
10545 #ifdef __BIG_ENDIAN_BITFIELD
10546         uint64_t reserved_17_63               : 47;
10547         uint64_t bypass_ext                   : 1;  /**< BYPASS Field extension to select QLM 4
10548                                                          Selects which QLM JTAG shift chains are bypassed
10549                                                          by the QLM JTAG data register (CIU_QLM_JTGD) (one
10550                                                          bit per QLM) */
10551         uint64_t reserved_11_15               : 5;
10552         uint64_t clk_div                      : 3;  /**< Clock divider for QLM JTAG operations.  eclk is
10553                                                          divided by 2^(CLK_DIV + 2) */
10554         uint64_t reserved_7_7                 : 1;
10555         uint64_t mux_sel                      : 3;  /**< Selects which QLM JTAG shift out is shifted into
10556                                                          the QLM JTAG shift register: CIU_QLM_JTGD[SHFT_REG] */
10557         uint64_t bypass                       : 4;  /**< Selects which QLM JTAG shift chains are bypassed
10558                                                          by the QLM JTAG data register (CIU_QLM_JTGD) (one
10559                                                          bit per QLM) */
10560 #else
10561         uint64_t bypass                       : 4;
10562         uint64_t mux_sel                      : 3;
10563         uint64_t reserved_7_7                 : 1;
10564         uint64_t clk_div                      : 3;
10565         uint64_t reserved_11_15               : 5;
10566         uint64_t bypass_ext                   : 1;
10567         uint64_t reserved_17_63               : 47;
10568 #endif
10569         } s;
10570         struct cvmx_ciu_qlm_jtgc_cn52xx {
10571 #ifdef __BIG_ENDIAN_BITFIELD
10572         uint64_t reserved_11_63               : 53;
10573         uint64_t clk_div                      : 3;  /**< Clock divider for QLM JTAG operations.  eclk is
10574                                                          divided by 2^(CLK_DIV + 2) */
10575         uint64_t reserved_5_7                 : 3;
10576         uint64_t mux_sel                      : 1;  /**< Selects which QLM JTAG shift out is shifted into
10577                                                          the QLM JTAG shift register: CIU_QLM_JTGD[SHFT_REG] */
10578         uint64_t reserved_2_3                 : 2;
10579         uint64_t bypass                       : 2;  /**< Selects which QLM JTAG shift chains are bypassed
10580                                                          by the QLM JTAG data register (CIU_QLM_JTGD) (one
10581                                                          bit per QLM) */
10582 #else
10583         uint64_t bypass                       : 2;
10584         uint64_t reserved_2_3                 : 2;
10585         uint64_t mux_sel                      : 1;
10586         uint64_t reserved_5_7                 : 3;
10587         uint64_t clk_div                      : 3;
10588         uint64_t reserved_11_63               : 53;
10589 #endif
10590         } cn52xx;
10591         struct cvmx_ciu_qlm_jtgc_cn52xx       cn52xxp1;
10592         struct cvmx_ciu_qlm_jtgc_cn56xx {
10593 #ifdef __BIG_ENDIAN_BITFIELD
10594         uint64_t reserved_11_63               : 53;
10595         uint64_t clk_div                      : 3;  /**< Clock divider for QLM JTAG operations.  eclk is
10596                                                          divided by 2^(CLK_DIV + 2) */
10597         uint64_t reserved_6_7                 : 2;
10598         uint64_t mux_sel                      : 2;  /**< Selects which QLM JTAG shift out is shifted into
10599                                                          the QLM JTAG shift register: CIU_QLM_JTGD[SHFT_REG] */
10600         uint64_t bypass                       : 4;  /**< Selects which QLM JTAG shift chains are bypassed
10601                                                          by the QLM JTAG data register (CIU_QLM_JTGD) (one
10602                                                          bit per QLM) */
10603 #else
10604         uint64_t bypass                       : 4;
10605         uint64_t mux_sel                      : 2;
10606         uint64_t reserved_6_7                 : 2;
10607         uint64_t clk_div                      : 3;
10608         uint64_t reserved_11_63               : 53;
10609 #endif
10610         } cn56xx;
10611         struct cvmx_ciu_qlm_jtgc_cn56xx       cn56xxp1;
10612         struct cvmx_ciu_qlm_jtgc_cn61xx {
10613 #ifdef __BIG_ENDIAN_BITFIELD
10614         uint64_t reserved_11_63               : 53;
10615         uint64_t clk_div                      : 3;  /**< Clock divider for QLM JTAG operations.  eclk is
10616                                                          divided by 2^(CLK_DIV + 2) */
10617         uint64_t reserved_6_7                 : 2;
10618         uint64_t mux_sel                      : 2;  /**< Selects which QLM JTAG shift out is shifted into
10619                                                          the QLM JTAG shift register: CIU_QLM_JTGD[SHFT_REG] */
10620         uint64_t reserved_3_3                 : 1;
10621         uint64_t bypass                       : 3;  /**< Selects which QLM JTAG shift chains are bypassed
10622                                                          by the QLM JTAG data register (CIU_QLM_JTGD) (one
10623                                                          bit per QLM) */
10624 #else
10625         uint64_t bypass                       : 3;
10626         uint64_t reserved_3_3                 : 1;
10627         uint64_t mux_sel                      : 2;
10628         uint64_t reserved_6_7                 : 2;
10629         uint64_t clk_div                      : 3;
10630         uint64_t reserved_11_63               : 53;
10631 #endif
10632         } cn61xx;
10633         struct cvmx_ciu_qlm_jtgc_cn61xx       cn63xx;
10634         struct cvmx_ciu_qlm_jtgc_cn61xx       cn63xxp1;
10635         struct cvmx_ciu_qlm_jtgc_cn61xx       cn66xx;
10636         struct cvmx_ciu_qlm_jtgc_s            cn68xx;
10637         struct cvmx_ciu_qlm_jtgc_s            cn68xxp1;
10638         struct cvmx_ciu_qlm_jtgc_cn61xx       cnf71xx;
10639 };
10640 typedef union cvmx_ciu_qlm_jtgc cvmx_ciu_qlm_jtgc_t;
10641
10642 /**
10643  * cvmx_ciu_qlm_jtgd
10644  */
10645 union cvmx_ciu_qlm_jtgd {
10646         uint64_t u64;
10647         struct cvmx_ciu_qlm_jtgd_s {
10648 #ifdef __BIG_ENDIAN_BITFIELD
10649         uint64_t capture                      : 1;  /**< Perform JTAG capture operation (self-clearing when
10650                                                          op completes) */
10651         uint64_t shift                        : 1;  /**< Perform JTAG shift operation (self-clearing when
10652                                                          op completes) */
10653         uint64_t update                       : 1;  /**< Perform JTAG update operation (self-clearing when
10654                                                          op completes) */
10655         uint64_t reserved_45_60               : 16;
10656         uint64_t select                       : 5;  /**< Selects which QLM JTAG shift chains the JTAG
10657                                                          operations are performed on */
10658         uint64_t reserved_37_39               : 3;
10659         uint64_t shft_cnt                     : 5;  /**< QLM JTAG shift count (encoded in -1 notation) */
10660         uint64_t shft_reg                     : 32; /**< QLM JTAG shift register */
10661 #else
10662         uint64_t shft_reg                     : 32;
10663         uint64_t shft_cnt                     : 5;
10664         uint64_t reserved_37_39               : 3;
10665         uint64_t select                       : 5;
10666         uint64_t reserved_45_60               : 16;
10667         uint64_t update                       : 1;
10668         uint64_t shift                        : 1;
10669         uint64_t capture                      : 1;
10670 #endif
10671         } s;
10672         struct cvmx_ciu_qlm_jtgd_cn52xx {
10673 #ifdef __BIG_ENDIAN_BITFIELD
10674         uint64_t capture                      : 1;  /**< Perform JTAG capture operation (self-clearing when
10675                                                          op completes) */
10676         uint64_t shift                        : 1;  /**< Perform JTAG shift operation (self-clearing when
10677                                                          op completes) */
10678         uint64_t update                       : 1;  /**< Perform JTAG update operation (self-clearing when
10679                                                          op completes) */
10680         uint64_t reserved_42_60               : 19;
10681         uint64_t select                       : 2;  /**< Selects which QLM JTAG shift chains the JTAG
10682                                                          operations are performed on */
10683         uint64_t reserved_37_39               : 3;
10684         uint64_t shft_cnt                     : 5;  /**< QLM JTAG shift count (encoded in -1 notation) */
10685         uint64_t shft_reg                     : 32; /**< QLM JTAG shift register */
10686 #else
10687         uint64_t shft_reg                     : 32;
10688         uint64_t shft_cnt                     : 5;
10689         uint64_t reserved_37_39               : 3;
10690         uint64_t select                       : 2;
10691         uint64_t reserved_42_60               : 19;
10692         uint64_t update                       : 1;
10693         uint64_t shift                        : 1;
10694         uint64_t capture                      : 1;
10695 #endif
10696         } cn52xx;
10697         struct cvmx_ciu_qlm_jtgd_cn52xx       cn52xxp1;
10698         struct cvmx_ciu_qlm_jtgd_cn56xx {
10699 #ifdef __BIG_ENDIAN_BITFIELD
10700         uint64_t capture                      : 1;  /**< Perform JTAG capture operation (self-clearing when
10701                                                          op completes) */
10702         uint64_t shift                        : 1;  /**< Perform JTAG shift operation (self-clearing when
10703                                                          op completes) */
10704         uint64_t update                       : 1;  /**< Perform JTAG update operation (self-clearing when
10705                                                          op completes) */
10706         uint64_t reserved_44_60               : 17;
10707         uint64_t select                       : 4;  /**< Selects which QLM JTAG shift chains the JTAG
10708                                                          operations are performed on */
10709         uint64_t reserved_37_39               : 3;
10710         uint64_t shft_cnt                     : 5;  /**< QLM JTAG shift count (encoded in -1 notation) */
10711         uint64_t shft_reg                     : 32; /**< QLM JTAG shift register */
10712 #else
10713         uint64_t shft_reg                     : 32;
10714         uint64_t shft_cnt                     : 5;
10715         uint64_t reserved_37_39               : 3;
10716         uint64_t select                       : 4;
10717         uint64_t reserved_44_60               : 17;
10718         uint64_t update                       : 1;
10719         uint64_t shift                        : 1;
10720         uint64_t capture                      : 1;
10721 #endif
10722         } cn56xx;
10723         struct cvmx_ciu_qlm_jtgd_cn56xxp1 {
10724 #ifdef __BIG_ENDIAN_BITFIELD
10725         uint64_t capture                      : 1;  /**< Perform JTAG capture operation (self-clearing when
10726                                                          op completes) */
10727         uint64_t shift                        : 1;  /**< Perform JTAG shift operation (self-clearing when
10728                                                          op completes) */
10729         uint64_t update                       : 1;  /**< Perform JTAG update operation (self-clearing when
10730                                                          op completes) */
10731         uint64_t reserved_37_60               : 24;
10732         uint64_t shft_cnt                     : 5;  /**< QLM JTAG shift count (encoded in -1 notation) */
10733         uint64_t shft_reg                     : 32; /**< QLM JTAG shift register */
10734 #else
10735         uint64_t shft_reg                     : 32;
10736         uint64_t shft_cnt                     : 5;
10737         uint64_t reserved_37_60               : 24;
10738         uint64_t update                       : 1;
10739         uint64_t shift                        : 1;
10740         uint64_t capture                      : 1;
10741 #endif
10742         } cn56xxp1;
10743         struct cvmx_ciu_qlm_jtgd_cn61xx {
10744 #ifdef __BIG_ENDIAN_BITFIELD
10745         uint64_t capture                      : 1;  /**< Perform JTAG capture operation (self-clearing when
10746                                                          op completes) */
10747         uint64_t shift                        : 1;  /**< Perform JTAG shift operation (self-clearing when
10748                                                          op completes) */
10749         uint64_t update                       : 1;  /**< Perform JTAG update operation (self-clearing when
10750                                                          op completes) */
10751         uint64_t reserved_43_60               : 18;
10752         uint64_t select                       : 3;  /**< Selects which QLM JTAG shift chains the JTAG
10753                                                          operations are performed on */
10754         uint64_t reserved_37_39               : 3;
10755         uint64_t shft_cnt                     : 5;  /**< QLM JTAG shift count (encoded in -1 notation) */
10756         uint64_t shft_reg                     : 32; /**< QLM JTAG shift register */
10757 #else
10758         uint64_t shft_reg                     : 32;
10759         uint64_t shft_cnt                     : 5;
10760         uint64_t reserved_37_39               : 3;
10761         uint64_t select                       : 3;
10762         uint64_t reserved_43_60               : 18;
10763         uint64_t update                       : 1;
10764         uint64_t shift                        : 1;
10765         uint64_t capture                      : 1;
10766 #endif
10767         } cn61xx;
10768         struct cvmx_ciu_qlm_jtgd_cn61xx       cn63xx;
10769         struct cvmx_ciu_qlm_jtgd_cn61xx       cn63xxp1;
10770         struct cvmx_ciu_qlm_jtgd_cn61xx       cn66xx;
10771         struct cvmx_ciu_qlm_jtgd_s            cn68xx;
10772         struct cvmx_ciu_qlm_jtgd_s            cn68xxp1;
10773         struct cvmx_ciu_qlm_jtgd_cn61xx       cnf71xx;
10774 };
10775 typedef union cvmx_ciu_qlm_jtgd cvmx_ciu_qlm_jtgd_t;
10776
10777 /**
10778  * cvmx_ciu_soft_bist
10779  */
10780 union cvmx_ciu_soft_bist {
10781         uint64_t u64;
10782         struct cvmx_ciu_soft_bist_s {
10783 #ifdef __BIG_ENDIAN_BITFIELD
10784         uint64_t reserved_1_63                : 63;
10785         uint64_t soft_bist                    : 1;  /**< Reserved */
10786 #else
10787         uint64_t soft_bist                    : 1;
10788         uint64_t reserved_1_63                : 63;
10789 #endif
10790         } s;
10791         struct cvmx_ciu_soft_bist_s           cn30xx;
10792         struct cvmx_ciu_soft_bist_s           cn31xx;
10793         struct cvmx_ciu_soft_bist_s           cn38xx;
10794         struct cvmx_ciu_soft_bist_s           cn38xxp2;
10795         struct cvmx_ciu_soft_bist_s           cn50xx;
10796         struct cvmx_ciu_soft_bist_s           cn52xx;
10797         struct cvmx_ciu_soft_bist_s           cn52xxp1;
10798         struct cvmx_ciu_soft_bist_s           cn56xx;
10799         struct cvmx_ciu_soft_bist_s           cn56xxp1;
10800         struct cvmx_ciu_soft_bist_s           cn58xx;
10801         struct cvmx_ciu_soft_bist_s           cn58xxp1;
10802         struct cvmx_ciu_soft_bist_s           cn61xx;
10803         struct cvmx_ciu_soft_bist_s           cn63xx;
10804         struct cvmx_ciu_soft_bist_s           cn63xxp1;
10805         struct cvmx_ciu_soft_bist_s           cn66xx;
10806         struct cvmx_ciu_soft_bist_s           cn68xx;
10807         struct cvmx_ciu_soft_bist_s           cn68xxp1;
10808         struct cvmx_ciu_soft_bist_s           cnf71xx;
10809 };
10810 typedef union cvmx_ciu_soft_bist cvmx_ciu_soft_bist_t;
10811
10812 /**
10813  * cvmx_ciu_soft_prst
10814  */
10815 union cvmx_ciu_soft_prst {
10816         uint64_t u64;
10817         struct cvmx_ciu_soft_prst_s {
10818 #ifdef __BIG_ENDIAN_BITFIELD
10819         uint64_t reserved_3_63                : 61;
10820         uint64_t host64                       : 1;  /**< PCX Host Mode Device Capability (0=32b/1=64b) */
10821         uint64_t npi                          : 1;  /**< When PCI soft reset is asserted, also reset the
10822                                                          NPI and PNI logic */
10823         uint64_t soft_prst                    : 1;  /**< Resets the PCIe logic in all modes, not just
10824                                                          RC mode. The reset value is based on the
10825                                                          corresponding MIO_RST_CTL[PRTMODE] CSR field:
10826                                                           If PRTMODE == 0, then SOFT_PRST resets to 0
10827                                                           If PRTMODE != 0, then SOFT_PRST resets to 1
10828                                                          When OCTEON is configured to drive the PERST*_L
10829                                                          chip pin (ie. MIO_RST_CTL0[RST_DRV] is set), this
10830                                                          controls the PERST*_L chip pin. */
10831 #else
10832         uint64_t soft_prst                    : 1;
10833         uint64_t npi                          : 1;
10834         uint64_t host64                       : 1;
10835         uint64_t reserved_3_63                : 61;
10836 #endif
10837         } s;
10838         struct cvmx_ciu_soft_prst_s           cn30xx;
10839         struct cvmx_ciu_soft_prst_s           cn31xx;
10840         struct cvmx_ciu_soft_prst_s           cn38xx;
10841         struct cvmx_ciu_soft_prst_s           cn38xxp2;
10842         struct cvmx_ciu_soft_prst_s           cn50xx;
10843         struct cvmx_ciu_soft_prst_cn52xx {
10844 #ifdef __BIG_ENDIAN_BITFIELD
10845         uint64_t reserved_1_63                : 63;
10846         uint64_t soft_prst                    : 1;  /**< Reset the PCI bus.  Only works when Octane is
10847                                                          configured as a HOST. When OCTEON is a PCI host
10848                                                          (i.e. when PCI_HOST_MODE = 1), This controls
10849                                                          PCI_RST_L. Refer to section 10.11.1. */
10850 #else
10851         uint64_t soft_prst                    : 1;
10852         uint64_t reserved_1_63                : 63;
10853 #endif
10854         } cn52xx;
10855         struct cvmx_ciu_soft_prst_cn52xx      cn52xxp1;
10856         struct cvmx_ciu_soft_prst_cn52xx      cn56xx;
10857         struct cvmx_ciu_soft_prst_cn52xx      cn56xxp1;
10858         struct cvmx_ciu_soft_prst_s           cn58xx;
10859         struct cvmx_ciu_soft_prst_s           cn58xxp1;
10860         struct cvmx_ciu_soft_prst_cn52xx      cn61xx;
10861         struct cvmx_ciu_soft_prst_cn52xx      cn63xx;
10862         struct cvmx_ciu_soft_prst_cn52xx      cn63xxp1;
10863         struct cvmx_ciu_soft_prst_cn52xx      cn66xx;
10864         struct cvmx_ciu_soft_prst_cn52xx      cn68xx;
10865         struct cvmx_ciu_soft_prst_cn52xx      cn68xxp1;
10866         struct cvmx_ciu_soft_prst_cn52xx      cnf71xx;
10867 };
10868 typedef union cvmx_ciu_soft_prst cvmx_ciu_soft_prst_t;
10869
10870 /**
10871  * cvmx_ciu_soft_prst1
10872  */
10873 union cvmx_ciu_soft_prst1 {
10874         uint64_t u64;
10875         struct cvmx_ciu_soft_prst1_s {
10876 #ifdef __BIG_ENDIAN_BITFIELD
10877         uint64_t reserved_1_63                : 63;
10878         uint64_t soft_prst                    : 1;  /**< Resets the PCIe logic in all modes, not just
10879                                                          RC mode. The reset value is based on the
10880                                                          corresponding MIO_RST_CTL[PRTMODE] CSR field:
10881                                                           If PRTMODE == 0, then SOFT_PRST resets to 0
10882                                                           If PRTMODE != 0, then SOFT_PRST resets to 1
10883                                                          In o61, this PRST initial value is always '1' as
10884                                                          PEM1 always running on host mode. */
10885 #else
10886         uint64_t soft_prst                    : 1;
10887         uint64_t reserved_1_63                : 63;
10888 #endif
10889         } s;
10890         struct cvmx_ciu_soft_prst1_s          cn52xx;
10891         struct cvmx_ciu_soft_prst1_s          cn52xxp1;
10892         struct cvmx_ciu_soft_prst1_s          cn56xx;
10893         struct cvmx_ciu_soft_prst1_s          cn56xxp1;
10894         struct cvmx_ciu_soft_prst1_s          cn61xx;
10895         struct cvmx_ciu_soft_prst1_s          cn63xx;
10896         struct cvmx_ciu_soft_prst1_s          cn63xxp1;
10897         struct cvmx_ciu_soft_prst1_s          cn66xx;
10898         struct cvmx_ciu_soft_prst1_s          cn68xx;
10899         struct cvmx_ciu_soft_prst1_s          cn68xxp1;
10900         struct cvmx_ciu_soft_prst1_s          cnf71xx;
10901 };
10902 typedef union cvmx_ciu_soft_prst1 cvmx_ciu_soft_prst1_t;
10903
10904 /**
10905  * cvmx_ciu_soft_prst2
10906  */
10907 union cvmx_ciu_soft_prst2 {
10908         uint64_t u64;
10909         struct cvmx_ciu_soft_prst2_s {
10910 #ifdef __BIG_ENDIAN_BITFIELD
10911         uint64_t reserved_1_63                : 63;
10912         uint64_t soft_prst                    : 1;  /**< Resets the      sRIO logic in all modes, not just
10913                                                          RC mode. The reset value is based on the
10914                                                          corresponding MIO_RST_CNTL[PRTMODE] CSR field:
10915                                                           If PRTMODE == 0, then SOFT_PRST resets to 0
10916                                                           If PRTMODE != 0, then SOFT_PRST resets to 1 */
10917 #else
10918         uint64_t soft_prst                    : 1;
10919         uint64_t reserved_1_63                : 63;
10920 #endif
10921         } s;
10922         struct cvmx_ciu_soft_prst2_s          cn66xx;
10923 };
10924 typedef union cvmx_ciu_soft_prst2 cvmx_ciu_soft_prst2_t;
10925
10926 /**
10927  * cvmx_ciu_soft_prst3
10928  */
10929 union cvmx_ciu_soft_prst3 {
10930         uint64_t u64;
10931         struct cvmx_ciu_soft_prst3_s {
10932 #ifdef __BIG_ENDIAN_BITFIELD
10933         uint64_t reserved_1_63                : 63;
10934         uint64_t soft_prst                    : 1;  /**< Resets the      sRIO logic in all modes, not just
10935                                                          RC mode. The reset value is based on the
10936                                                          corresponding MIO_RST_CNTL[PRTMODE] CSR field:
10937                                                           If PRTMODE == 0, then SOFT_PRST resets to 0
10938                                                           If PRTMODE != 0, then SOFT_PRST resets to 1 */
10939 #else
10940         uint64_t soft_prst                    : 1;
10941         uint64_t reserved_1_63                : 63;
10942 #endif
10943         } s;
10944         struct cvmx_ciu_soft_prst3_s          cn66xx;
10945 };
10946 typedef union cvmx_ciu_soft_prst3 cvmx_ciu_soft_prst3_t;
10947
10948 /**
10949  * cvmx_ciu_soft_rst
10950  */
10951 union cvmx_ciu_soft_rst {
10952         uint64_t u64;
10953         struct cvmx_ciu_soft_rst_s {
10954 #ifdef __BIG_ENDIAN_BITFIELD
10955         uint64_t reserved_1_63                : 63;
10956         uint64_t soft_rst                     : 1;  /**< Resets Octeon
10957                                                          When soft reseting Octeon from a remote PCIe
10958                                                          host, always read CIU_SOFT_RST (and wait for
10959                                                          result) before writing SOFT_RST to '1'. */
10960 #else
10961         uint64_t soft_rst                     : 1;
10962         uint64_t reserved_1_63                : 63;
10963 #endif
10964         } s;
10965         struct cvmx_ciu_soft_rst_s            cn30xx;
10966         struct cvmx_ciu_soft_rst_s            cn31xx;
10967         struct cvmx_ciu_soft_rst_s            cn38xx;
10968         struct cvmx_ciu_soft_rst_s            cn38xxp2;
10969         struct cvmx_ciu_soft_rst_s            cn50xx;
10970         struct cvmx_ciu_soft_rst_s            cn52xx;
10971         struct cvmx_ciu_soft_rst_s            cn52xxp1;
10972         struct cvmx_ciu_soft_rst_s            cn56xx;
10973         struct cvmx_ciu_soft_rst_s            cn56xxp1;
10974         struct cvmx_ciu_soft_rst_s            cn58xx;
10975         struct cvmx_ciu_soft_rst_s            cn58xxp1;
10976         struct cvmx_ciu_soft_rst_s            cn61xx;
10977         struct cvmx_ciu_soft_rst_s            cn63xx;
10978         struct cvmx_ciu_soft_rst_s            cn63xxp1;
10979         struct cvmx_ciu_soft_rst_s            cn66xx;
10980         struct cvmx_ciu_soft_rst_s            cn68xx;
10981         struct cvmx_ciu_soft_rst_s            cn68xxp1;
10982         struct cvmx_ciu_soft_rst_s            cnf71xx;
10983 };
10984 typedef union cvmx_ciu_soft_rst cvmx_ciu_soft_rst_t;
10985
10986 /**
10987  * cvmx_ciu_sum1_io#_int
10988  *
10989  * Notes:
10990  * SUM1 becomes per IPx in o65/6 and afterwards. Only Field <40> DPI_DMA will have
10991  * different value per PP(IP) for  $CIU_SUM1_PPx_IPy, and <40> DPI_DMA will always
10992  * be zero for  $CIU_SUM1_IOX_INT. All other fields ([63:41] and [39:0]) values  are idential for
10993  * different PPs, same value as $CIU_INT_SUM1.
10994  * Write to any IRQ's PTP fields will clear PTP for all IRQ's PTP field.
10995  */
10996 union cvmx_ciu_sum1_iox_int {
10997         uint64_t u64;
10998         struct cvmx_ciu_sum1_iox_int_s {
10999 #ifdef __BIG_ENDIAN_BITFIELD
11000         uint64_t rst                          : 1;  /**< MIO RST interrupt
11001                                                          See MIO_RST_INT */
11002         uint64_t reserved_62_62               : 1;
11003         uint64_t srio3                        : 1;  /**< SRIO3 interrupt
11004                                                          See SRIO3_INT_REG, SRIO3_INT2_REG */
11005         uint64_t srio2                        : 1;  /**< SRIO2 interrupt
11006                                                          See SRIO2_INT_REG, SRIO2_INT2_REG */
11007         uint64_t reserved_57_59               : 3;
11008         uint64_t dfm                          : 1;  /**< DFM Interrupt
11009                                                          See DFM_FNT_STAT */
11010         uint64_t reserved_53_55               : 3;
11011         uint64_t lmc0                         : 1;  /**< LMC0 interrupt
11012                                                          See LMC0_INT */
11013         uint64_t reserved_51_51               : 1;
11014         uint64_t srio0                        : 1;  /**< SRIO0 interrupt
11015                                                          See SRIO0_INT_REG, SRIO0_INT2_REG */
11016         uint64_t pem1                         : 1;  /**< PEM1 interrupt
11017                                                          See PEM1_INT_SUM (enabled by PEM1_INT_ENB) */
11018         uint64_t pem0                         : 1;  /**< PEM0 interrupt
11019                                                          See PEM0_INT_SUM (enabled by PEM0_INT_ENB) */
11020         uint64_t ptp                          : 1;  /**< PTP interrupt
11021                                                          Set when HW decrements MIO_PTP_EVT_CNT to zero */
11022         uint64_t agl                          : 1;  /**< AGL interrupt
11023                                                          See AGL_GMX_RX*_INT_REG, AGL_GMX_TX_INT_REG */
11024         uint64_t reserved_41_45               : 5;
11025         uint64_t dpi_dma                      : 1;  /**< DPI DMA instruction completion  interrupt
11026                                                          TBD, See DPI DMA instruction completion */
11027         uint64_t reserved_38_39               : 2;
11028         uint64_t agx1                         : 1;  /**< GMX1 interrupt
11029                                                          See GMX1_RX*_INT_REG, GMX1_TX_INT_REG,
11030                                                          PCS1_INT*_REG, PCSX1_INT_REG */
11031         uint64_t agx0                         : 1;  /**< GMX0 interrupt
11032                                                          See GMX0_RX*_INT_REG, GMX0_TX_INT_REG,
11033                                                          PCS0_INT*_REG, PCSX0_INT_REG */
11034         uint64_t dpi                          : 1;  /**< DPI interrupt
11035                                                          See DPI_INT_REG */
11036         uint64_t sli                          : 1;  /**< SLI interrupt
11037                                                          See SLI_INT_SUM (enabled by SLI_INT_ENB_CIU) */
11038         uint64_t usb                          : 1;  /**< USB UCTL0 interrupt
11039                                                          See UCTL0_INT_REG */
11040         uint64_t dfa                          : 1;  /**< DFA interrupt
11041                                                          See DFA_ERROR */
11042         uint64_t key                          : 1;  /**< KEY interrupt
11043                                                          See KEY_INT_SUM */
11044         uint64_t rad                          : 1;  /**< RAD interrupt
11045                                                          See RAD_REG_ERROR */
11046         uint64_t tim                          : 1;  /**< TIM interrupt
11047                                                          See TIM_REG_ERROR */
11048         uint64_t zip                          : 1;  /**< ZIP interrupt
11049                                                          See ZIP_ERROR */
11050         uint64_t pko                          : 1;  /**< PKO interrupt
11051                                                          See PKO_REG_ERROR */
11052         uint64_t pip                          : 1;  /**< PIP interrupt
11053                                                          See PIP_INT_REG */
11054         uint64_t ipd                          : 1;  /**< IPD interrupt
11055                                                          See IPD_INT_SUM */
11056         uint64_t l2c                          : 1;  /**< L2C interrupt
11057                                                          See L2C_INT_REG */
11058         uint64_t pow                          : 1;  /**< POW err interrupt
11059                                                          See POW_ECC_ERR */
11060         uint64_t fpa                          : 1;  /**< FPA interrupt
11061                                                          See FPA_INT_SUM */
11062         uint64_t iob                          : 1;  /**< IOB interrupt
11063                                                          See IOB_INT_SUM */
11064         uint64_t mio                          : 1;  /**< MIO boot interrupt
11065                                                          See MIO_BOOT_ERR */
11066         uint64_t nand                         : 1;  /**< EMMC Flash Controller interrupt
11067                                                          See EMMC interrupt */
11068         uint64_t mii1                         : 1;  /**< RGMII/MII/MIX Interface 1 Interrupt
11069                                                          See MIX1_ISR */
11070         uint64_t reserved_10_17               : 8;
11071         uint64_t wdog                         : 10; /**< Per PP watchdog interrupts */
11072 #else
11073         uint64_t wdog                         : 10;
11074         uint64_t reserved_10_17               : 8;
11075         uint64_t mii1                         : 1;
11076         uint64_t nand                         : 1;
11077         uint64_t mio                          : 1;
11078         uint64_t iob                          : 1;
11079         uint64_t fpa                          : 1;
11080         uint64_t pow                          : 1;
11081         uint64_t l2c                          : 1;
11082         uint64_t ipd                          : 1;
11083         uint64_t pip                          : 1;
11084         uint64_t pko                          : 1;
11085         uint64_t zip                          : 1;
11086         uint64_t tim                          : 1;
11087         uint64_t rad                          : 1;
11088         uint64_t key                          : 1;
11089         uint64_t dfa                          : 1;
11090         uint64_t usb                          : 1;
11091         uint64_t sli                          : 1;
11092         uint64_t dpi                          : 1;
11093         uint64_t agx0                         : 1;
11094         uint64_t agx1                         : 1;
11095         uint64_t reserved_38_39               : 2;
11096         uint64_t dpi_dma                      : 1;
11097         uint64_t reserved_41_45               : 5;
11098         uint64_t agl                          : 1;
11099         uint64_t ptp                          : 1;
11100         uint64_t pem0                         : 1;
11101         uint64_t pem1                         : 1;
11102         uint64_t srio0                        : 1;
11103         uint64_t reserved_51_51               : 1;
11104         uint64_t lmc0                         : 1;
11105         uint64_t reserved_53_55               : 3;
11106         uint64_t dfm                          : 1;
11107         uint64_t reserved_57_59               : 3;
11108         uint64_t srio2                        : 1;
11109         uint64_t srio3                        : 1;
11110         uint64_t reserved_62_62               : 1;
11111         uint64_t rst                          : 1;
11112 #endif
11113         } s;
11114         struct cvmx_ciu_sum1_iox_int_cn61xx {
11115 #ifdef __BIG_ENDIAN_BITFIELD
11116         uint64_t rst                          : 1;  /**< MIO RST interrupt
11117                                                          See MIO_RST_INT */
11118         uint64_t reserved_53_62               : 10;
11119         uint64_t lmc0                         : 1;  /**< LMC0 interrupt
11120                                                          See LMC0_INT */
11121         uint64_t reserved_50_51               : 2;
11122         uint64_t pem1                         : 1;  /**< PEM1 interrupt
11123                                                          See PEM1_INT_SUM (enabled by PEM1_INT_ENB) */
11124         uint64_t pem0                         : 1;  /**< PEM0 interrupt
11125                                                          See PEM0_INT_SUM (enabled by PEM0_INT_ENB) */
11126         uint64_t ptp                          : 1;  /**< PTP interrupt
11127                                                          Set when HW decrements MIO_PTP_EVT_CNT to zero */
11128         uint64_t agl                          : 1;  /**< AGL interrupt
11129                                                          See AGL_GMX_RX*_INT_REG, AGL_GMX_TX_INT_REG */
11130         uint64_t reserved_41_45               : 5;
11131         uint64_t dpi_dma                      : 1;  /**< DPI DMA instruction completion  interrupt
11132                                                          TBD, See DPI DMA instruction completion */
11133         uint64_t reserved_38_39               : 2;
11134         uint64_t agx1                         : 1;  /**< GMX1 interrupt
11135                                                          See GMX1_RX*_INT_REG, GMX1_TX_INT_REG,
11136                                                          PCS1_INT*_REG, PCSX1_INT_REG */
11137         uint64_t agx0                         : 1;  /**< GMX0 interrupt
11138                                                          See GMX0_RX*_INT_REG, GMX0_TX_INT_REG,
11139                                                          PCS0_INT*_REG, PCSX0_INT_REG */
11140         uint64_t dpi                          : 1;  /**< DPI interrupt
11141                                                          See DPI_INT_REG */
11142         uint64_t sli                          : 1;  /**< SLI interrupt
11143                                                          See SLI_INT_SUM (enabled by SLI_INT_ENB_CIU) */
11144         uint64_t usb                          : 1;  /**< USB UCTL0 interrupt
11145                                                          See UCTL0_INT_REG */
11146         uint64_t dfa                          : 1;  /**< DFA interrupt
11147                                                          See DFA_ERROR */
11148         uint64_t key                          : 1;  /**< KEY interrupt
11149                                                          See KEY_INT_SUM */
11150         uint64_t rad                          : 1;  /**< RAD interrupt
11151                                                          See RAD_REG_ERROR */
11152         uint64_t tim                          : 1;  /**< TIM interrupt
11153                                                          See TIM_REG_ERROR */
11154         uint64_t zip                          : 1;  /**< ZIP interrupt
11155                                                          See ZIP_ERROR */
11156         uint64_t pko                          : 1;  /**< PKO interrupt
11157                                                          See PKO_REG_ERROR */
11158         uint64_t pip                          : 1;  /**< PIP interrupt
11159                                                          See PIP_INT_REG */
11160         uint64_t ipd                          : 1;  /**< IPD interrupt
11161                                                          See IPD_INT_SUM */
11162         uint64_t l2c                          : 1;  /**< L2C interrupt
11163                                                          See L2C_INT_REG */
11164         uint64_t pow                          : 1;  /**< POW err interrupt
11165                                                          See POW_ECC_ERR */
11166         uint64_t fpa                          : 1;  /**< FPA interrupt
11167                                                          See FPA_INT_SUM */
11168         uint64_t iob                          : 1;  /**< IOB interrupt
11169                                                          See IOB_INT_SUM */
11170         uint64_t mio                          : 1;  /**< MIO boot interrupt
11171                                                          See MIO_BOOT_ERR */
11172         uint64_t nand                         : 1;  /**< EMMC Flash Controller interrupt
11173                                                          See EMMC interrupt */
11174         uint64_t mii1                         : 1;  /**< RGMII/MIX Interface 1 Interrupt
11175                                                          See MIX1_ISR */
11176         uint64_t reserved_4_17                : 14;
11177         uint64_t wdog                         : 4;  /**< Per PP watchdog interrupts */
11178 #else
11179         uint64_t wdog                         : 4;
11180         uint64_t reserved_4_17                : 14;
11181         uint64_t mii1                         : 1;
11182         uint64_t nand                         : 1;
11183         uint64_t mio                          : 1;
11184         uint64_t iob                          : 1;
11185         uint64_t fpa                          : 1;
11186         uint64_t pow                          : 1;
11187         uint64_t l2c                          : 1;
11188         uint64_t ipd                          : 1;
11189         uint64_t pip                          : 1;
11190         uint64_t pko                          : 1;
11191         uint64_t zip                          : 1;
11192         uint64_t tim                          : 1;
11193         uint64_t rad                          : 1;
11194         uint64_t key                          : 1;
11195         uint64_t dfa                          : 1;
11196         uint64_t usb                          : 1;
11197         uint64_t sli                          : 1;
11198         uint64_t dpi                          : 1;
11199         uint64_t agx0                         : 1;
11200         uint64_t agx1                         : 1;
11201         uint64_t reserved_38_39               : 2;
11202         uint64_t dpi_dma                      : 1;
11203         uint64_t reserved_41_45               : 5;
11204         uint64_t agl                          : 1;
11205         uint64_t ptp                          : 1;
11206         uint64_t pem0                         : 1;
11207         uint64_t pem1                         : 1;
11208         uint64_t reserved_50_51               : 2;
11209         uint64_t lmc0                         : 1;
11210         uint64_t reserved_53_62               : 10;
11211         uint64_t rst                          : 1;
11212 #endif
11213         } cn61xx;
11214         struct cvmx_ciu_sum1_iox_int_cn66xx {
11215 #ifdef __BIG_ENDIAN_BITFIELD
11216         uint64_t rst                          : 1;  /**< MIO RST interrupt
11217                                                          See MIO_RST_INT */
11218         uint64_t reserved_62_62               : 1;
11219         uint64_t srio3                        : 1;  /**< SRIO3 interrupt
11220                                                          See SRIO3_INT_REG, SRIO3_INT2_REG */
11221         uint64_t srio2                        : 1;  /**< SRIO2 interrupt
11222                                                          See SRIO2_INT_REG, SRIO2_INT2_REG */
11223         uint64_t reserved_57_59               : 3;
11224         uint64_t dfm                          : 1;  /**< DFM Interrupt
11225                                                          See DFM_FNT_STAT */
11226         uint64_t reserved_53_55               : 3;
11227         uint64_t lmc0                         : 1;  /**< LMC0 interrupt
11228                                                          See LMC0_INT */
11229         uint64_t reserved_51_51               : 1;
11230         uint64_t srio0                        : 1;  /**< SRIO0 interrupt
11231                                                          See SRIO0_INT_REG, SRIO0_INT2_REG */
11232         uint64_t pem1                         : 1;  /**< PEM1 interrupt
11233                                                          See PEM1_INT_SUM (enabled by PEM1_INT_ENB) */
11234         uint64_t pem0                         : 1;  /**< PEM0 interrupt
11235                                                          See PEM0_INT_SUM (enabled by PEM0_INT_ENB) */
11236         uint64_t ptp                          : 1;  /**< PTP interrupt
11237                                                          Set when HW decrements MIO_PTP_EVT_CNT to zero */
11238         uint64_t agl                          : 1;  /**< AGL interrupt
11239                                                          See AGL_GMX_RX*_INT_REG, AGL_GMX_TX_INT_REG */
11240         uint64_t reserved_38_45               : 8;
11241         uint64_t agx1                         : 1;  /**< GMX1 interrupt
11242                                                          See GMX1_RX*_INT_REG, GMX1_TX_INT_REG,
11243                                                          PCS1_INT*_REG, PCSX1_INT_REG */
11244         uint64_t agx0                         : 1;  /**< GMX0 interrupt
11245                                                          See GMX0_RX*_INT_REG, GMX0_TX_INT_REG,
11246                                                          PCS0_INT*_REG, PCSX0_INT_REG */
11247         uint64_t dpi                          : 1;  /**< DPI interrupt
11248                                                          See DPI_INT_REG */
11249         uint64_t sli                          : 1;  /**< SLI interrupt
11250                                                          See SLI_INT_SUM (enabled by SLI_INT_ENB_CIU) */
11251         uint64_t usb                          : 1;  /**< USB UCTL0 interrupt
11252                                                          See UCTL0_INT_REG */
11253         uint64_t dfa                          : 1;  /**< DFA interrupt
11254                                                          See DFA_ERROR */
11255         uint64_t key                          : 1;  /**< KEY interrupt
11256                                                          See KEY_INT_SUM */
11257         uint64_t rad                          : 1;  /**< RAD interrupt
11258                                                          See RAD_REG_ERROR */
11259         uint64_t tim                          : 1;  /**< TIM interrupt
11260                                                          See TIM_REG_ERROR */
11261         uint64_t zip                          : 1;  /**< ZIP interrupt
11262                                                          See ZIP_ERROR */
11263         uint64_t pko                          : 1;  /**< PKO interrupt
11264                                                          See PKO_REG_ERROR */
11265         uint64_t pip                          : 1;  /**< PIP interrupt
11266                                                          See PIP_INT_REG */
11267         uint64_t ipd                          : 1;  /**< IPD interrupt
11268                                                          See IPD_INT_SUM */
11269         uint64_t l2c                          : 1;  /**< L2C interrupt
11270                                                          See L2C_INT_REG */
11271         uint64_t pow                          : 1;  /**< POW err interrupt
11272                                                          See POW_ECC_ERR */
11273         uint64_t fpa                          : 1;  /**< FPA interrupt
11274                                                          See FPA_INT_SUM */
11275         uint64_t iob                          : 1;  /**< IOB interrupt
11276                                                          See IOB_INT_SUM */
11277         uint64_t mio                          : 1;  /**< MIO boot interrupt
11278                                                          See MIO_BOOT_ERR */
11279         uint64_t nand                         : 1;  /**< NAND Flash Controller interrupt
11280                                                          See NDF_INT */
11281         uint64_t mii1                         : 1;  /**< RGMII/MII/MIX Interface 1 Interrupt
11282                                                          See MIX1_ISR */
11283         uint64_t reserved_10_17               : 8;
11284         uint64_t wdog                         : 10; /**< 10 watchdog interrupts */
11285 #else
11286         uint64_t wdog                         : 10;
11287         uint64_t reserved_10_17               : 8;
11288         uint64_t mii1                         : 1;
11289         uint64_t nand                         : 1;
11290         uint64_t mio                          : 1;
11291         uint64_t iob                          : 1;
11292         uint64_t fpa                          : 1;
11293         uint64_t pow                          : 1;
11294         uint64_t l2c                          : 1;
11295         uint64_t ipd                          : 1;
11296         uint64_t pip                          : 1;
11297         uint64_t pko                          : 1;
11298         uint64_t zip                          : 1;
11299         uint64_t tim                          : 1;
11300         uint64_t rad                          : 1;
11301         uint64_t key                          : 1;
11302         uint64_t dfa                          : 1;
11303         uint64_t usb                          : 1;
11304         uint64_t sli                          : 1;
11305         uint64_t dpi                          : 1;
11306         uint64_t agx0                         : 1;
11307         uint64_t agx1                         : 1;
11308         uint64_t reserved_38_45               : 8;
11309         uint64_t agl                          : 1;
11310         uint64_t ptp                          : 1;
11311         uint64_t pem0                         : 1;
11312         uint64_t pem1                         : 1;
11313         uint64_t srio0                        : 1;
11314         uint64_t reserved_51_51               : 1;
11315         uint64_t lmc0                         : 1;
11316         uint64_t reserved_53_55               : 3;
11317         uint64_t dfm                          : 1;
11318         uint64_t reserved_57_59               : 3;
11319         uint64_t srio2                        : 1;
11320         uint64_t srio3                        : 1;
11321         uint64_t reserved_62_62               : 1;
11322         uint64_t rst                          : 1;
11323 #endif
11324         } cn66xx;
11325         struct cvmx_ciu_sum1_iox_int_cnf71xx {
11326 #ifdef __BIG_ENDIAN_BITFIELD
11327         uint64_t rst                          : 1;  /**< MIO RST interrupt
11328                                                          See MIO_RST_INT */
11329         uint64_t reserved_53_62               : 10;
11330         uint64_t lmc0                         : 1;  /**< LMC0 interrupt
11331                                                          See LMC0_INT */
11332         uint64_t reserved_50_51               : 2;
11333         uint64_t pem1                         : 1;  /**< PEM1 interrupt
11334                                                          See PEM1_INT_SUM (enabled by PEM1_INT_ENB) */
11335         uint64_t pem0                         : 1;  /**< PEM0 interrupt
11336                                                          See PEM0_INT_SUM (enabled by PEM0_INT_ENB) */
11337         uint64_t ptp                          : 1;  /**< PTP interrupt
11338                                                          Set when HW decrements MIO_PTP_EVT_CNT to zero */
11339         uint64_t reserved_41_46               : 6;
11340         uint64_t dpi_dma                      : 1;  /**< DPI DMA instruction completion  interrupt
11341                                                          TBD, See DPI DMA instruction completion */
11342         uint64_t reserved_37_39               : 3;
11343         uint64_t agx0                         : 1;  /**< GMX0 interrupt
11344                                                          See GMX0_RX*_INT_REG, GMX0_TX_INT_REG,
11345                                                          PCS0_INT*_REG, PCSX0_INT_REG */
11346         uint64_t dpi                          : 1;  /**< DPI interrupt
11347                                                          See DPI_INT_REG */
11348         uint64_t sli                          : 1;  /**< SLI interrupt
11349                                                          See SLI_INT_SUM (enabled by SLI_INT_ENB_CIU) */
11350         uint64_t usb                          : 1;  /**< USB UCTL0 interrupt
11351                                                          See UCTL0_INT_REG */
11352         uint64_t reserved_32_32               : 1;
11353         uint64_t key                          : 1;  /**< KEY interrupt
11354                                                          See KEY_INT_SUM */
11355         uint64_t rad                          : 1;  /**< RAD interrupt
11356                                                          See RAD_REG_ERROR */
11357         uint64_t tim                          : 1;  /**< TIM interrupt
11358                                                          See TIM_REG_ERROR */
11359         uint64_t reserved_28_28               : 1;
11360         uint64_t pko                          : 1;  /**< PKO interrupt
11361                                                          See PKO_REG_ERROR */
11362         uint64_t pip                          : 1;  /**< PIP interrupt
11363                                                          See PIP_INT_REG */
11364         uint64_t ipd                          : 1;  /**< IPD interrupt
11365                                                          See IPD_INT_SUM */
11366         uint64_t l2c                          : 1;  /**< L2C interrupt
11367                                                          See L2C_INT_REG */
11368         uint64_t pow                          : 1;  /**< POW err interrupt
11369                                                          See POW_ECC_ERR */
11370         uint64_t fpa                          : 1;  /**< FPA interrupt
11371                                                          See FPA_INT_SUM */
11372         uint64_t iob                          : 1;  /**< IOB interrupt
11373                                                          See IOB_INT_SUM */
11374         uint64_t mio                          : 1;  /**< MIO boot interrupt
11375                                                          See MIO_BOOT_ERR */
11376         uint64_t nand                         : 1;  /**< EMMC Flash Controller interrupt
11377                                                          See EMMC interrupt */
11378         uint64_t reserved_4_18                : 15;
11379         uint64_t wdog                         : 4;  /**< Per PP watchdog interrupts */
11380 #else
11381         uint64_t wdog                         : 4;
11382         uint64_t reserved_4_18                : 15;
11383         uint64_t nand                         : 1;
11384         uint64_t mio                          : 1;
11385         uint64_t iob                          : 1;
11386         uint64_t fpa                          : 1;
11387         uint64_t pow                          : 1;
11388         uint64_t l2c                          : 1;
11389         uint64_t ipd                          : 1;
11390         uint64_t pip                          : 1;
11391         uint64_t pko                          : 1;
11392         uint64_t reserved_28_28               : 1;
11393         uint64_t tim                          : 1;
11394         uint64_t rad                          : 1;
11395         uint64_t key                          : 1;
11396         uint64_t reserved_32_32               : 1;
11397         uint64_t usb                          : 1;
11398         uint64_t sli                          : 1;
11399         uint64_t dpi                          : 1;
11400         uint64_t agx0                         : 1;
11401         uint64_t reserved_37_39               : 3;
11402         uint64_t dpi_dma                      : 1;
11403         uint64_t reserved_41_46               : 6;
11404         uint64_t ptp                          : 1;
11405         uint64_t pem0                         : 1;
11406         uint64_t pem1                         : 1;
11407         uint64_t reserved_50_51               : 2;
11408         uint64_t lmc0                         : 1;
11409         uint64_t reserved_53_62               : 10;
11410         uint64_t rst                          : 1;
11411 #endif
11412         } cnf71xx;
11413 };
11414 typedef union cvmx_ciu_sum1_iox_int cvmx_ciu_sum1_iox_int_t;
11415
11416 /**
11417  * cvmx_ciu_sum1_pp#_ip2
11418  *
11419  * Notes:
11420  * SUM1 becomes per IPx in o65/6 and afterwards. Only Field <40> DPI_DMA will have
11421  * different value per PP(IP) for  $CIU_SUM1_PPx_IPy, and <40> DPI_DMA will always
11422  * be zero for  $CIU_SUM1_IOX_INT. All other fields ([63:41] and [39:0]) values  are idential for
11423  * different PPs, same value as $CIU_INT_SUM1.
11424  * Write to any IRQ's PTP fields will clear PTP for all IRQ's PTP field.
11425  */
11426 union cvmx_ciu_sum1_ppx_ip2 {
11427         uint64_t u64;
11428         struct cvmx_ciu_sum1_ppx_ip2_s {
11429 #ifdef __BIG_ENDIAN_BITFIELD
11430         uint64_t rst                          : 1;  /**< MIO RST interrupt
11431                                                          See MIO_RST_INT */
11432         uint64_t reserved_62_62               : 1;
11433         uint64_t srio3                        : 1;  /**< SRIO3 interrupt
11434                                                          See SRIO3_INT_REG, SRIO3_INT2_REG */
11435         uint64_t srio2                        : 1;  /**< SRIO2 interrupt
11436                                                          See SRIO2_INT_REG, SRIO2_INT2_REG */
11437         uint64_t reserved_57_59               : 3;
11438         uint64_t dfm                          : 1;  /**< DFM Interrupt
11439                                                          See DFM_FNT_STAT */
11440         uint64_t reserved_53_55               : 3;
11441         uint64_t lmc0                         : 1;  /**< LMC0 interrupt
11442                                                          See LMC0_INT */
11443         uint64_t reserved_51_51               : 1;
11444         uint64_t srio0                        : 1;  /**< SRIO0 interrupt
11445                                                          See SRIO0_INT_REG, SRIO0_INT2_REG */
11446         uint64_t pem1                         : 1;  /**< PEM1 interrupt
11447                                                          See PEM1_INT_SUM (enabled by PEM1_INT_ENB) */
11448         uint64_t pem0                         : 1;  /**< PEM0 interrupt
11449                                                          See PEM0_INT_SUM (enabled by PEM0_INT_ENB) */
11450         uint64_t ptp                          : 1;  /**< PTP interrupt
11451                                                          Set when HW decrements MIO_PTP_EVT_CNT to zero */
11452         uint64_t agl                          : 1;  /**< AGL interrupt
11453                                                          See AGL_GMX_RX*_INT_REG, AGL_GMX_TX_INT_REG */
11454         uint64_t reserved_41_45               : 5;
11455         uint64_t dpi_dma                      : 1;  /**< DPI DMA instruction completion  interrupt
11456                                                          TBD, See DPI DMA instruction completion */
11457         uint64_t reserved_38_39               : 2;
11458         uint64_t agx1                         : 1;  /**< GMX1 interrupt
11459                                                          See GMX1_RX*_INT_REG, GMX1_TX_INT_REG,
11460                                                          PCS1_INT*_REG, PCSX1_INT_REG */
11461         uint64_t agx0                         : 1;  /**< GMX0 interrupt
11462                                                          See GMX0_RX*_INT_REG, GMX0_TX_INT_REG,
11463                                                          PCS0_INT*_REG, PCSX0_INT_REG */
11464         uint64_t dpi                          : 1;  /**< DPI interrupt
11465                                                          See DPI_INT_REG */
11466         uint64_t sli                          : 1;  /**< SLI interrupt
11467                                                          See SLI_INT_SUM (enabled by SLI_INT_ENB_CIU) */
11468         uint64_t usb                          : 1;  /**< USB UCTL0 interrupt
11469                                                          See UCTL0_INT_REG */
11470         uint64_t dfa                          : 1;  /**< DFA interrupt
11471                                                          See DFA_ERROR */
11472         uint64_t key                          : 1;  /**< KEY interrupt
11473                                                          See KEY_INT_SUM */
11474         uint64_t rad                          : 1;  /**< RAD interrupt
11475                                                          See RAD_REG_ERROR */
11476         uint64_t tim                          : 1;  /**< TIM interrupt
11477                                                          See TIM_REG_ERROR */
11478         uint64_t zip                          : 1;  /**< ZIP interrupt
11479                                                          See ZIP_ERROR */
11480         uint64_t pko                          : 1;  /**< PKO interrupt
11481                                                          See PKO_REG_ERROR */
11482         uint64_t pip                          : 1;  /**< PIP interrupt
11483                                                          See PIP_INT_REG */
11484         uint64_t ipd                          : 1;  /**< IPD interrupt
11485                                                          See IPD_INT_SUM */
11486         uint64_t l2c                          : 1;  /**< L2C interrupt
11487                                                          See L2C_INT_REG */
11488         uint64_t pow                          : 1;  /**< POW err interrupt
11489                                                          See POW_ECC_ERR */
11490         uint64_t fpa                          : 1;  /**< FPA interrupt
11491                                                          See FPA_INT_SUM */
11492         uint64_t iob                          : 1;  /**< IOB interrupt
11493                                                          See IOB_INT_SUM */
11494         uint64_t mio                          : 1;  /**< MIO boot interrupt
11495                                                          See MIO_BOOT_ERR */
11496         uint64_t nand                         : 1;  /**< EMMC Flash Controller interrupt
11497                                                          See EMMC interrupt */
11498         uint64_t mii1                         : 1;  /**< RGMII/MII/MIX Interface 1 Interrupt
11499                                                          See MIX1_ISR */
11500         uint64_t reserved_10_17               : 8;
11501         uint64_t wdog                         : 10; /**< Per PP watchdog interrupts */
11502 #else
11503         uint64_t wdog                         : 10;
11504         uint64_t reserved_10_17               : 8;
11505         uint64_t mii1                         : 1;
11506         uint64_t nand                         : 1;
11507         uint64_t mio                          : 1;
11508         uint64_t iob                          : 1;
11509         uint64_t fpa                          : 1;
11510         uint64_t pow                          : 1;
11511         uint64_t l2c                          : 1;
11512         uint64_t ipd                          : 1;
11513         uint64_t pip                          : 1;
11514         uint64_t pko                          : 1;
11515         uint64_t zip                          : 1;
11516         uint64_t tim                          : 1;
11517         uint64_t rad                          : 1;
11518         uint64_t key                          : 1;
11519         uint64_t dfa                          : 1;
11520         uint64_t usb                          : 1;
11521         uint64_t sli                          : 1;
11522         uint64_t dpi                          : 1;
11523         uint64_t agx0                         : 1;
11524         uint64_t agx1                         : 1;
11525         uint64_t reserved_38_39               : 2;
11526         uint64_t dpi_dma                      : 1;
11527         uint64_t reserved_41_45               : 5;
11528         uint64_t agl                          : 1;
11529         uint64_t ptp                          : 1;
11530         uint64_t pem0                         : 1;
11531         uint64_t pem1                         : 1;
11532         uint64_t srio0                        : 1;
11533         uint64_t reserved_51_51               : 1;
11534         uint64_t lmc0                         : 1;
11535         uint64_t reserved_53_55               : 3;
11536         uint64_t dfm                          : 1;
11537         uint64_t reserved_57_59               : 3;
11538         uint64_t srio2                        : 1;
11539         uint64_t srio3                        : 1;
11540         uint64_t reserved_62_62               : 1;
11541         uint64_t rst                          : 1;
11542 #endif
11543         } s;
11544         struct cvmx_ciu_sum1_ppx_ip2_cn61xx {
11545 #ifdef __BIG_ENDIAN_BITFIELD
11546         uint64_t rst                          : 1;  /**< MIO RST interrupt
11547                                                          See MIO_RST_INT */
11548         uint64_t reserved_53_62               : 10;
11549         uint64_t lmc0                         : 1;  /**< LMC0 interrupt
11550                                                          See LMC0_INT */
11551         uint64_t reserved_50_51               : 2;
11552         uint64_t pem1                         : 1;  /**< PEM1 interrupt
11553                                                          See PEM1_INT_SUM (enabled by PEM1_INT_ENB) */
11554         uint64_t pem0                         : 1;  /**< PEM0 interrupt
11555                                                          See PEM0_INT_SUM (enabled by PEM0_INT_ENB) */
11556         uint64_t ptp                          : 1;  /**< PTP interrupt
11557                                                          Set when HW decrements MIO_PTP_EVT_CNT to zero */
11558         uint64_t agl                          : 1;  /**< AGL interrupt
11559                                                          See AGL_GMX_RX*_INT_REG, AGL_GMX_TX_INT_REG */
11560         uint64_t reserved_41_45               : 5;
11561         uint64_t dpi_dma                      : 1;  /**< DPI DMA instruction completion  interrupt
11562                                                          TBD, See DPI DMA instruction completion */
11563         uint64_t reserved_38_39               : 2;
11564         uint64_t agx1                         : 1;  /**< GMX1 interrupt
11565                                                          See GMX1_RX*_INT_REG, GMX1_TX_INT_REG,
11566                                                          PCS1_INT*_REG, PCSX1_INT_REG */
11567         uint64_t agx0                         : 1;  /**< GMX0 interrupt
11568                                                          See GMX0_RX*_INT_REG, GMX0_TX_INT_REG,
11569                                                          PCS0_INT*_REG, PCSX0_INT_REG */
11570         uint64_t dpi                          : 1;  /**< DPI interrupt
11571                                                          See DPI_INT_REG */
11572         uint64_t sli                          : 1;  /**< SLI interrupt
11573                                                          See SLI_INT_SUM (enabled by SLI_INT_ENB_CIU) */
11574         uint64_t usb                          : 1;  /**< USB UCTL0 interrupt
11575                                                          See UCTL0_INT_REG */
11576         uint64_t dfa                          : 1;  /**< DFA interrupt
11577                                                          See DFA_ERROR */
11578         uint64_t key                          : 1;  /**< KEY interrupt
11579                                                          See KEY_INT_SUM */
11580         uint64_t rad                          : 1;  /**< RAD interrupt
11581                                                          See RAD_REG_ERROR */
11582         uint64_t tim                          : 1;  /**< TIM interrupt
11583                                                          See TIM_REG_ERROR */
11584         uint64_t zip                          : 1;  /**< ZIP interrupt
11585                                                          See ZIP_ERROR */
11586         uint64_t pko                          : 1;  /**< PKO interrupt
11587                                                          See PKO_REG_ERROR */
11588         uint64_t pip                          : 1;  /**< PIP interrupt
11589                                                          See PIP_INT_REG */
11590         uint64_t ipd                          : 1;  /**< IPD interrupt
11591                                                          See IPD_INT_SUM */
11592         uint64_t l2c                          : 1;  /**< L2C interrupt
11593                                                          See L2C_INT_REG */
11594         uint64_t pow                          : 1;  /**< POW err interrupt
11595                                                          See POW_ECC_ERR */
11596         uint64_t fpa                          : 1;  /**< FPA interrupt
11597                                                          See FPA_INT_SUM */
11598         uint64_t iob                          : 1;  /**< IOB interrupt
11599                                                          See IOB_INT_SUM */
11600         uint64_t mio                          : 1;  /**< MIO boot interrupt
11601                                                          See MIO_BOOT_ERR */
11602         uint64_t nand                         : 1;  /**< EMMC Flash Controller interrupt
11603                                                          See EMMC interrupt */
11604         uint64_t mii1                         : 1;  /**< RGMII/MIX Interface 1 Interrupt
11605                                                          See MIX1_ISR */
11606         uint64_t reserved_4_17                : 14;
11607         uint64_t wdog                         : 4;  /**< Per PP watchdog interrupts */
11608 #else
11609         uint64_t wdog                         : 4;
11610         uint64_t reserved_4_17                : 14;
11611         uint64_t mii1                         : 1;
11612         uint64_t nand                         : 1;
11613         uint64_t mio                          : 1;
11614         uint64_t iob                          : 1;
11615         uint64_t fpa                          : 1;
11616         uint64_t pow                          : 1;
11617         uint64_t l2c                          : 1;
11618         uint64_t ipd                          : 1;
11619         uint64_t pip                          : 1;
11620         uint64_t pko                          : 1;
11621         uint64_t zip                          : 1;
11622         uint64_t tim                          : 1;
11623         uint64_t rad                          : 1;
11624         uint64_t key                          : 1;
11625         uint64_t dfa                          : 1;
11626         uint64_t usb                          : 1;
11627         uint64_t sli                          : 1;
11628         uint64_t dpi                          : 1;
11629         uint64_t agx0                         : 1;
11630         uint64_t agx1                         : 1;
11631         uint64_t reserved_38_39               : 2;
11632         uint64_t dpi_dma                      : 1;
11633         uint64_t reserved_41_45               : 5;
11634         uint64_t agl                          : 1;
11635         uint64_t ptp                          : 1;
11636         uint64_t pem0                         : 1;
11637         uint64_t pem1                         : 1;
11638         uint64_t reserved_50_51               : 2;
11639         uint64_t lmc0                         : 1;
11640         uint64_t reserved_53_62               : 10;
11641         uint64_t rst                          : 1;
11642 #endif
11643         } cn61xx;
11644         struct cvmx_ciu_sum1_ppx_ip2_cn66xx {
11645 #ifdef __BIG_ENDIAN_BITFIELD
11646         uint64_t rst                          : 1;  /**< MIO RST interrupt
11647                                                          See MIO_RST_INT */
11648         uint64_t reserved_62_62               : 1;
11649         uint64_t srio3                        : 1;  /**< SRIO3 interrupt
11650                                                          See SRIO3_INT_REG, SRIO3_INT2_REG */
11651         uint64_t srio2                        : 1;  /**< SRIO2 interrupt
11652                                                          See SRIO2_INT_REG, SRIO2_INT2_REG */
11653         uint64_t reserved_57_59               : 3;
11654         uint64_t dfm                          : 1;  /**< DFM Interrupt
11655                                                          See DFM_FNT_STAT */
11656         uint64_t reserved_53_55               : 3;
11657         uint64_t lmc0                         : 1;  /**< LMC0 interrupt
11658                                                          See LMC0_INT */
11659         uint64_t reserved_51_51               : 1;
11660         uint64_t srio0                        : 1;  /**< SRIO0 interrupt
11661                                                          See SRIO0_INT_REG, SRIO0_INT2_REG */
11662         uint64_t pem1                         : 1;  /**< PEM1 interrupt
11663                                                          See PEM1_INT_SUM (enabled by PEM1_INT_ENB) */
11664         uint64_t pem0                         : 1;  /**< PEM0 interrupt
11665                                                          See PEM0_INT_SUM (enabled by PEM0_INT_ENB) */
11666         uint64_t ptp                          : 1;  /**< PTP interrupt
11667                                                          Set when HW decrements MIO_PTP_EVT_CNT to zero */
11668         uint64_t agl                          : 1;  /**< AGL interrupt
11669                                                          See AGL_GMX_RX*_INT_REG, AGL_GMX_TX_INT_REG */
11670         uint64_t reserved_38_45               : 8;
11671         uint64_t agx1                         : 1;  /**< GMX1 interrupt
11672                                                          See GMX1_RX*_INT_REG, GMX1_TX_INT_REG,
11673                                                          PCS1_INT*_REG, PCSX1_INT_REG */
11674         uint64_t agx0                         : 1;  /**< GMX0 interrupt
11675                                                          See GMX0_RX*_INT_REG, GMX0_TX_INT_REG,
11676                                                          PCS0_INT*_REG, PCSX0_INT_REG */
11677         uint64_t dpi                          : 1;  /**< DPI interrupt
11678                                                          See DPI_INT_REG */
11679         uint64_t sli                          : 1;  /**< SLI interrupt
11680                                                          See SLI_INT_SUM (enabled by SLI_INT_ENB_CIU) */
11681         uint64_t usb                          : 1;  /**< USB UCTL0 interrupt
11682                                                          See UCTL0_INT_REG */
11683         uint64_t dfa                          : 1;  /**< DFA interrupt
11684                                                          See DFA_ERROR */
11685         uint64_t key                          : 1;  /**< KEY interrupt
11686                                                          See KEY_INT_SUM */
11687         uint64_t rad                          : 1;  /**< RAD interrupt
11688                                                          See RAD_REG_ERROR */
11689         uint64_t tim                          : 1;  /**< TIM interrupt
11690                                                          See TIM_REG_ERROR */
11691         uint64_t zip                          : 1;  /**< ZIP interrupt
11692                                                          See ZIP_ERROR */
11693         uint64_t pko                          : 1;  /**< PKO interrupt
11694                                                          See PKO_REG_ERROR */
11695         uint64_t pip                          : 1;  /**< PIP interrupt
11696                                                          See PIP_INT_REG */
11697         uint64_t ipd                          : 1;  /**< IPD interrupt
11698                                                          See IPD_INT_SUM */
11699         uint64_t l2c                          : 1;  /**< L2C interrupt
11700                                                          See L2C_INT_REG */
11701         uint64_t pow                          : 1;  /**< POW err interrupt
11702                                                          See POW_ECC_ERR */
11703         uint64_t fpa                          : 1;  /**< FPA interrupt
11704                                                          See FPA_INT_SUM */
11705         uint64_t iob                          : 1;  /**< IOB interrupt
11706                                                          See IOB_INT_SUM */
11707         uint64_t mio                          : 1;  /**< MIO boot interrupt
11708                                                          See MIO_BOOT_ERR */
11709         uint64_t nand                         : 1;  /**< NAND Flash Controller interrupt
11710                                                          See NDF_INT */
11711         uint64_t mii1                         : 1;  /**< RGMII/MII/MIX Interface 1 Interrupt
11712                                                          See MIX1_ISR */
11713         uint64_t reserved_10_17               : 8;
11714         uint64_t wdog                         : 10; /**< 10 watchdog interrupts */
11715 #else
11716         uint64_t wdog                         : 10;
11717         uint64_t reserved_10_17               : 8;
11718         uint64_t mii1                         : 1;
11719         uint64_t nand                         : 1;
11720         uint64_t mio                          : 1;
11721         uint64_t iob                          : 1;
11722         uint64_t fpa                          : 1;
11723         uint64_t pow                          : 1;
11724         uint64_t l2c                          : 1;
11725         uint64_t ipd                          : 1;
11726         uint64_t pip                          : 1;
11727         uint64_t pko                          : 1;
11728         uint64_t zip                          : 1;
11729         uint64_t tim                          : 1;
11730         uint64_t rad                          : 1;
11731         uint64_t key                          : 1;
11732         uint64_t dfa                          : 1;
11733         uint64_t usb                          : 1;
11734         uint64_t sli                          : 1;
11735         uint64_t dpi                          : 1;
11736         uint64_t agx0                         : 1;
11737         uint64_t agx1                         : 1;
11738         uint64_t reserved_38_45               : 8;
11739         uint64_t agl                          : 1;
11740         uint64_t ptp                          : 1;
11741         uint64_t pem0                         : 1;
11742         uint64_t pem1                         : 1;
11743         uint64_t srio0                        : 1;
11744         uint64_t reserved_51_51               : 1;
11745         uint64_t lmc0                         : 1;
11746         uint64_t reserved_53_55               : 3;
11747         uint64_t dfm                          : 1;
11748         uint64_t reserved_57_59               : 3;
11749         uint64_t srio2                        : 1;
11750         uint64_t srio3                        : 1;
11751         uint64_t reserved_62_62               : 1;
11752         uint64_t rst                          : 1;
11753 #endif
11754         } cn66xx;
11755         struct cvmx_ciu_sum1_ppx_ip2_cnf71xx {
11756 #ifdef __BIG_ENDIAN_BITFIELD
11757         uint64_t rst                          : 1;  /**< MIO RST interrupt
11758                                                          See MIO_RST_INT */
11759         uint64_t reserved_53_62               : 10;
11760         uint64_t lmc0                         : 1;  /**< LMC0 interrupt
11761                                                          See LMC0_INT */
11762         uint64_t reserved_50_51               : 2;
11763         uint64_t pem1                         : 1;  /**< PEM1 interrupt
11764                                                          See PEM1_INT_SUM (enabled by PEM1_INT_ENB) */
11765         uint64_t pem0                         : 1;  /**< PEM0 interrupt
11766                                                          See PEM0_INT_SUM (enabled by PEM0_INT_ENB) */
11767         uint64_t ptp                          : 1;  /**< PTP interrupt
11768                                                          Set when HW decrements MIO_PTP_EVT_CNT to zero */
11769         uint64_t reserved_41_46               : 6;
11770         uint64_t dpi_dma                      : 1;  /**< DPI DMA instruction completion  interrupt
11771                                                          TBD, See DPI DMA instruction completion */
11772         uint64_t reserved_37_39               : 3;
11773         uint64_t agx0                         : 1;  /**< GMX0 interrupt
11774                                                          See GMX0_RX*_INT_REG, GMX0_TX_INT_REG,
11775                                                          PCS0_INT*_REG, PCSX0_INT_REG */
11776         uint64_t dpi                          : 1;  /**< DPI interrupt
11777                                                          See DPI_INT_REG */
11778         uint64_t sli                          : 1;  /**< SLI interrupt
11779                                                          See SLI_INT_SUM (enabled by SLI_INT_ENB_CIU) */
11780         uint64_t usb                          : 1;  /**< USB UCTL0 interrupt
11781                                                          See UCTL0_INT_REG */
11782         uint64_t reserved_32_32               : 1;
11783         uint64_t key                          : 1;  /**< KEY interrupt
11784                                                          See KEY_INT_SUM */
11785         uint64_t rad                          : 1;  /**< RAD interrupt
11786                                                          See RAD_REG_ERROR */
11787         uint64_t tim                          : 1;  /**< TIM interrupt
11788                                                          See TIM_REG_ERROR */
11789         uint64_t reserved_28_28               : 1;
11790         uint64_t pko                          : 1;  /**< PKO interrupt
11791                                                          See PKO_REG_ERROR */
11792         uint64_t pip                          : 1;  /**< PIP interrupt
11793                                                          See PIP_INT_REG */
11794         uint64_t ipd                          : 1;  /**< IPD interrupt
11795                                                          See IPD_INT_SUM */
11796         uint64_t l2c                          : 1;  /**< L2C interrupt
11797                                                          See L2C_INT_REG */
11798         uint64_t pow                          : 1;  /**< POW err interrupt
11799                                                          See POW_ECC_ERR */
11800         uint64_t fpa                          : 1;  /**< FPA interrupt
11801                                                          See FPA_INT_SUM */
11802         uint64_t iob                          : 1;  /**< IOB interrupt
11803                                                          See IOB_INT_SUM */
11804         uint64_t mio                          : 1;  /**< MIO boot interrupt
11805                                                          See MIO_BOOT_ERR */
11806         uint64_t nand                         : 1;  /**< EMMC Flash Controller interrupt
11807                                                          See EMMC interrupt */
11808         uint64_t reserved_4_18                : 15;
11809         uint64_t wdog                         : 4;  /**< Per PP watchdog interrupts */
11810 #else
11811         uint64_t wdog                         : 4;
11812         uint64_t reserved_4_18                : 15;
11813         uint64_t nand                         : 1;
11814         uint64_t mio                          : 1;
11815         uint64_t iob                          : 1;
11816         uint64_t fpa                          : 1;
11817         uint64_t pow                          : 1;
11818         uint64_t l2c                          : 1;
11819         uint64_t ipd                          : 1;
11820         uint64_t pip                          : 1;
11821         uint64_t pko                          : 1;
11822         uint64_t reserved_28_28               : 1;
11823         uint64_t tim                          : 1;
11824         uint64_t rad                          : 1;
11825         uint64_t key                          : 1;
11826         uint64_t reserved_32_32               : 1;
11827         uint64_t usb                          : 1;
11828         uint64_t sli                          : 1;
11829         uint64_t dpi                          : 1;
11830         uint64_t agx0                         : 1;
11831         uint64_t reserved_37_39               : 3;
11832         uint64_t dpi_dma                      : 1;
11833         uint64_t reserved_41_46               : 6;
11834         uint64_t ptp                          : 1;
11835         uint64_t pem0                         : 1;
11836         uint64_t pem1                         : 1;
11837         uint64_t reserved_50_51               : 2;
11838         uint64_t lmc0                         : 1;
11839         uint64_t reserved_53_62               : 10;
11840         uint64_t rst                          : 1;
11841 #endif
11842         } cnf71xx;
11843 };
11844 typedef union cvmx_ciu_sum1_ppx_ip2 cvmx_ciu_sum1_ppx_ip2_t;
11845
11846 /**
11847  * cvmx_ciu_sum1_pp#_ip3
11848  *
11849  * Notes:
11850  * SUM1 becomes per IPx in o65/6 and afterwards. Only Field <40> DPI_DMA will have
11851  * different value per PP(IP) for  $CIU_SUM1_PPx_IPy, and <40> DPI_DMA will always
11852  * be zero for  $CIU_SUM1_IOX_INT. All other fields ([63:41] and [39:0]) values  are idential for
11853  * different PPs, same value as $CIU_INT_SUM1.
11854  * Write to any IRQ's PTP fields will clear PTP for all IRQ's PTP field.
11855  */
11856 union cvmx_ciu_sum1_ppx_ip3 {
11857         uint64_t u64;
11858         struct cvmx_ciu_sum1_ppx_ip3_s {
11859 #ifdef __BIG_ENDIAN_BITFIELD
11860         uint64_t rst                          : 1;  /**< MIO RST interrupt
11861                                                          See MIO_RST_INT */
11862         uint64_t reserved_62_62               : 1;
11863         uint64_t srio3                        : 1;  /**< SRIO3 interrupt
11864                                                          See SRIO3_INT_REG, SRIO3_INT2_REG */
11865         uint64_t srio2                        : 1;  /**< SRIO2 interrupt
11866                                                          See SRIO2_INT_REG, SRIO2_INT2_REG */
11867         uint64_t reserved_57_59               : 3;
11868         uint64_t dfm                          : 1;  /**< DFM Interrupt
11869                                                          See DFM_FNT_STAT */
11870         uint64_t reserved_53_55               : 3;
11871         uint64_t lmc0                         : 1;  /**< LMC0 interrupt
11872                                                          See LMC0_INT */
11873         uint64_t reserved_51_51               : 1;
11874         uint64_t srio0                        : 1;  /**< SRIO0 interrupt
11875                                                          See SRIO0_INT_REG, SRIO0_INT2_REG */
11876         uint64_t pem1                         : 1;  /**< PEM1 interrupt
11877                                                          See PEM1_INT_SUM (enabled by PEM1_INT_ENB) */
11878         uint64_t pem0                         : 1;  /**< PEM0 interrupt
11879                                                          See PEM0_INT_SUM (enabled by PEM0_INT_ENB) */
11880         uint64_t ptp                          : 1;  /**< PTP interrupt
11881                                                          Set when HW decrements MIO_PTP_EVT_CNT to zero */
11882         uint64_t agl                          : 1;  /**< AGL interrupt
11883                                                          See AGL_GMX_RX*_INT_REG, AGL_GMX_TX_INT_REG */
11884         uint64_t reserved_41_45               : 5;
11885         uint64_t dpi_dma                      : 1;  /**< DPI DMA instruction completion  interrupt
11886                                                          TBD, See DPI DMA instruction completion */
11887         uint64_t reserved_38_39               : 2;
11888         uint64_t agx1                         : 1;  /**< GMX1 interrupt
11889                                                          See GMX1_RX*_INT_REG, GMX1_TX_INT_REG,
11890                                                          PCS1_INT*_REG, PCSX1_INT_REG */
11891         uint64_t agx0                         : 1;  /**< GMX0 interrupt
11892                                                          See GMX0_RX*_INT_REG, GMX0_TX_INT_REG,
11893                                                          PCS0_INT*_REG, PCSX0_INT_REG */
11894         uint64_t dpi                          : 1;  /**< DPI interrupt
11895                                                          See DPI_INT_REG */
11896         uint64_t sli                          : 1;  /**< SLI interrupt
11897                                                          See SLI_INT_SUM (enabled by SLI_INT_ENB_CIU) */
11898         uint64_t usb                          : 1;  /**< USB UCTL0 interrupt
11899                                                          See UCTL0_INT_REG */
11900         uint64_t dfa                          : 1;  /**< DFA interrupt
11901                                                          See DFA_ERROR */
11902         uint64_t key                          : 1;  /**< KEY interrupt
11903                                                          See KEY_INT_SUM */
11904         uint64_t rad                          : 1;  /**< RAD interrupt
11905                                                          See RAD_REG_ERROR */
11906         uint64_t tim                          : 1;  /**< TIM interrupt
11907                                                          See TIM_REG_ERROR */
11908         uint64_t zip                          : 1;  /**< ZIP interrupt
11909                                                          See ZIP_ERROR */
11910         uint64_t pko                          : 1;  /**< PKO interrupt
11911                                                          See PKO_REG_ERROR */
11912         uint64_t pip                          : 1;  /**< PIP interrupt
11913                                                          See PIP_INT_REG */
11914         uint64_t ipd                          : 1;  /**< IPD interrupt
11915                                                          See IPD_INT_SUM */
11916         uint64_t l2c                          : 1;  /**< L2C interrupt
11917                                                          See L2C_INT_REG */
11918         uint64_t pow                          : 1;  /**< POW err interrupt
11919                                                          See POW_ECC_ERR */
11920         uint64_t fpa                          : 1;  /**< FPA interrupt
11921                                                          See FPA_INT_SUM */
11922         uint64_t iob                          : 1;  /**< IOB interrupt
11923                                                          See IOB_INT_SUM */
11924         uint64_t mio                          : 1;  /**< MIO boot interrupt
11925                                                          See MIO_BOOT_ERR */
11926         uint64_t nand                         : 1;  /**< EMMC Flash Controller interrupt
11927                                                          See EMMC interrupt */
11928         uint64_t mii1                         : 1;  /**< RGMII/MII/MIX Interface 1 Interrupt
11929                                                          See MIX1_ISR */
11930         uint64_t reserved_10_17               : 8;
11931         uint64_t wdog                         : 10; /**< Per PP watchdog interrupts */
11932 #else
11933         uint64_t wdog                         : 10;
11934         uint64_t reserved_10_17               : 8;
11935         uint64_t mii1                         : 1;
11936         uint64_t nand                         : 1;
11937         uint64_t mio                          : 1;
11938         uint64_t iob                          : 1;
11939         uint64_t fpa                          : 1;
11940         uint64_t pow                          : 1;
11941         uint64_t l2c                          : 1;
11942         uint64_t ipd                          : 1;
11943         uint64_t pip                          : 1;
11944         uint64_t pko                          : 1;
11945         uint64_t zip                          : 1;
11946         uint64_t tim                          : 1;
11947         uint64_t rad                          : 1;
11948         uint64_t key                          : 1;
11949         uint64_t dfa                          : 1;
11950         uint64_t usb                          : 1;
11951         uint64_t sli                          : 1;
11952         uint64_t dpi                          : 1;
11953         uint64_t agx0                         : 1;
11954         uint64_t agx1                         : 1;
11955         uint64_t reserved_38_39               : 2;
11956         uint64_t dpi_dma                      : 1;
11957         uint64_t reserved_41_45               : 5;
11958         uint64_t agl                          : 1;
11959         uint64_t ptp                          : 1;
11960         uint64_t pem0                         : 1;
11961         uint64_t pem1                         : 1;
11962         uint64_t srio0                        : 1;
11963         uint64_t reserved_51_51               : 1;
11964         uint64_t lmc0                         : 1;
11965         uint64_t reserved_53_55               : 3;
11966         uint64_t dfm                          : 1;
11967         uint64_t reserved_57_59               : 3;
11968         uint64_t srio2                        : 1;
11969         uint64_t srio3                        : 1;
11970         uint64_t reserved_62_62               : 1;
11971         uint64_t rst                          : 1;
11972 #endif
11973         } s;
11974         struct cvmx_ciu_sum1_ppx_ip3_cn61xx {
11975 #ifdef __BIG_ENDIAN_BITFIELD
11976         uint64_t rst                          : 1;  /**< MIO RST interrupt
11977                                                          See MIO_RST_INT */
11978         uint64_t reserved_53_62               : 10;
11979         uint64_t lmc0                         : 1;  /**< LMC0 interrupt
11980                                                          See LMC0_INT */
11981         uint64_t reserved_50_51               : 2;
11982         uint64_t pem1                         : 1;  /**< PEM1 interrupt
11983                                                          See PEM1_INT_SUM (enabled by PEM1_INT_ENB) */
11984         uint64_t pem0                         : 1;  /**< PEM0 interrupt
11985                                                          See PEM0_INT_SUM (enabled by PEM0_INT_ENB) */
11986         uint64_t ptp                          : 1;  /**< PTP interrupt
11987                                                          Set when HW decrements MIO_PTP_EVT_CNT to zero */
11988         uint64_t agl                          : 1;  /**< AGL interrupt
11989                                                          See AGL_GMX_RX*_INT_REG, AGL_GMX_TX_INT_REG */
11990         uint64_t reserved_41_45               : 5;
11991         uint64_t dpi_dma                      : 1;  /**< DPI DMA instruction completion  interrupt
11992                                                          TBD, See DPI DMA instruction completion */
11993         uint64_t reserved_38_39               : 2;
11994         uint64_t agx1                         : 1;  /**< GMX1 interrupt
11995                                                          See GMX1_RX*_INT_REG, GMX1_TX_INT_REG,
11996                                                          PCS1_INT*_REG, PCSX1_INT_REG */
11997         uint64_t agx0                         : 1;  /**< GMX0 interrupt
11998                                                          See GMX0_RX*_INT_REG, GMX0_TX_INT_REG,
11999                                                          PCS0_INT*_REG, PCSX0_INT_REG */
12000         uint64_t dpi                          : 1;  /**< DPI interrupt
12001                                                          See DPI_INT_REG */
12002         uint64_t sli                          : 1;  /**< SLI interrupt
12003                                                          See SLI_INT_SUM (enabled by SLI_INT_ENB_CIU) */
12004         uint64_t usb                          : 1;  /**< USB UCTL0 interrupt
12005                                                          See UCTL0_INT_REG */
12006         uint64_t dfa                          : 1;  /**< DFA interrupt
12007                                                          See DFA_ERROR */
12008         uint64_t key                          : 1;  /**< KEY interrupt
12009                                                          See KEY_INT_SUM */
12010         uint64_t rad                          : 1;  /**< RAD interrupt
12011                                                          See RAD_REG_ERROR */
12012         uint64_t tim                          : 1;  /**< TIM interrupt
12013                                                          See TIM_REG_ERROR */
12014         uint64_t zip                          : 1;  /**< ZIP interrupt
12015                                                          See ZIP_ERROR */
12016         uint64_t pko                          : 1;  /**< PKO interrupt
12017                                                          See PKO_REG_ERROR */
12018         uint64_t pip                          : 1;  /**< PIP interrupt
12019                                                          See PIP_INT_REG */
12020         uint64_t ipd                          : 1;  /**< IPD interrupt
12021                                                          See IPD_INT_SUM */
12022         uint64_t l2c                          : 1;  /**< L2C interrupt
12023                                                          See L2C_INT_REG */
12024         uint64_t pow                          : 1;  /**< POW err interrupt
12025                                                          See POW_ECC_ERR */
12026         uint64_t fpa                          : 1;  /**< FPA interrupt
12027                                                          See FPA_INT_SUM */
12028         uint64_t iob                          : 1;  /**< IOB interrupt
12029                                                          See IOB_INT_SUM */
12030         uint64_t mio                          : 1;  /**< MIO boot interrupt
12031                                                          See MIO_BOOT_ERR */
12032         uint64_t nand                         : 1;  /**< EMMC Flash Controller interrupt
12033                                                          See EMMC interrupt */
12034         uint64_t mii1                         : 1;  /**< RGMII/MIX Interface 1 Interrupt
12035                                                          See MIX1_ISR */
12036         uint64_t reserved_4_17                : 14;
12037         uint64_t wdog                         : 4;  /**< Per PP watchdog interrupts */
12038 #else
12039         uint64_t wdog                         : 4;
12040         uint64_t reserved_4_17                : 14;
12041         uint64_t mii1                         : 1;
12042         uint64_t nand                         : 1;
12043         uint64_t mio                          : 1;
12044         uint64_t iob                          : 1;
12045         uint64_t fpa                          : 1;
12046         uint64_t pow                          : 1;
12047         uint64_t l2c                          : 1;
12048         uint64_t ipd                          : 1;
12049         uint64_t pip                          : 1;
12050         uint64_t pko                          : 1;
12051         uint64_t zip                          : 1;
12052         uint64_t tim                          : 1;
12053         uint64_t rad                          : 1;
12054         uint64_t key                          : 1;
12055         uint64_t dfa                          : 1;
12056         uint64_t usb                          : 1;
12057         uint64_t sli                          : 1;
12058         uint64_t dpi                          : 1;
12059         uint64_t agx0                         : 1;
12060         uint64_t agx1                         : 1;
12061         uint64_t reserved_38_39               : 2;
12062         uint64_t dpi_dma                      : 1;
12063         uint64_t reserved_41_45               : 5;
12064         uint64_t agl                          : 1;
12065         uint64_t ptp                          : 1;
12066         uint64_t pem0                         : 1;
12067         uint64_t pem1                         : 1;
12068         uint64_t reserved_50_51               : 2;
12069         uint64_t lmc0                         : 1;
12070         uint64_t reserved_53_62               : 10;
12071         uint64_t rst                          : 1;
12072 #endif
12073         } cn61xx;
12074         struct cvmx_ciu_sum1_ppx_ip3_cn66xx {
12075 #ifdef __BIG_ENDIAN_BITFIELD
12076         uint64_t rst                          : 1;  /**< MIO RST interrupt
12077                                                          See MIO_RST_INT */
12078         uint64_t reserved_62_62               : 1;
12079         uint64_t srio3                        : 1;  /**< SRIO3 interrupt
12080                                                          See SRIO3_INT_REG, SRIO3_INT2_REG */
12081         uint64_t srio2                        : 1;  /**< SRIO2 interrupt
12082                                                          See SRIO2_INT_REG, SRIO2_INT2_REG */
12083         uint64_t reserved_57_59               : 3;
12084         uint64_t dfm                          : 1;  /**< DFM Interrupt
12085                                                          See DFM_FNT_STAT */
12086         uint64_t reserved_53_55               : 3;
12087         uint64_t lmc0                         : 1;  /**< LMC0 interrupt
12088                                                          See LMC0_INT */
12089         uint64_t reserved_51_51               : 1;
12090         uint64_t srio0                        : 1;  /**< SRIO0 interrupt
12091                                                          See SRIO0_INT_REG, SRIO0_INT2_REG */
12092         uint64_t pem1                         : 1;  /**< PEM1 interrupt
12093                                                          See PEM1_INT_SUM (enabled by PEM1_INT_ENB) */
12094         uint64_t pem0                         : 1;  /**< PEM0 interrupt
12095                                                          See PEM0_INT_SUM (enabled by PEM0_INT_ENB) */
12096         uint64_t ptp                          : 1;  /**< PTP interrupt
12097                                                          Set when HW decrements MIO_PTP_EVT_CNT to zero */
12098         uint64_t agl                          : 1;  /**< AGL interrupt
12099                                                          See AGL_GMX_RX*_INT_REG, AGL_GMX_TX_INT_REG */
12100         uint64_t reserved_38_45               : 8;
12101         uint64_t agx1                         : 1;  /**< GMX1 interrupt
12102                                                          See GMX1_RX*_INT_REG, GMX1_TX_INT_REG,
12103                                                          PCS1_INT*_REG, PCSX1_INT_REG */
12104         uint64_t agx0                         : 1;  /**< GMX0 interrupt
12105                                                          See GMX0_RX*_INT_REG, GMX0_TX_INT_REG,
12106                                                          PCS0_INT*_REG, PCSX0_INT_REG */
12107         uint64_t dpi                          : 1;  /**< DPI interrupt
12108                                                          See DPI_INT_REG */
12109         uint64_t sli                          : 1;  /**< SLI interrupt
12110                                                          See SLI_INT_SUM (enabled by SLI_INT_ENB_CIU) */
12111         uint64_t usb                          : 1;  /**< USB UCTL0 interrupt
12112                                                          See UCTL0_INT_REG */
12113         uint64_t dfa                          : 1;  /**< DFA interrupt
12114                                                          See DFA_ERROR */
12115         uint64_t key                          : 1;  /**< KEY interrupt
12116                                                          See KEY_INT_SUM */
12117         uint64_t rad                          : 1;  /**< RAD interrupt
12118                                                          See RAD_REG_ERROR */
12119         uint64_t tim                          : 1;  /**< TIM interrupt
12120                                                          See TIM_REG_ERROR */
12121         uint64_t zip                          : 1;  /**< ZIP interrupt
12122                                                          See ZIP_ERROR */
12123         uint64_t pko                          : 1;  /**< PKO interrupt
12124                                                          See PKO_REG_ERROR */
12125         uint64_t pip                          : 1;  /**< PIP interrupt
12126                                                          See PIP_INT_REG */
12127         uint64_t ipd                          : 1;  /**< IPD interrupt
12128                                                          See IPD_INT_SUM */
12129         uint64_t l2c                          : 1;  /**< L2C interrupt
12130                                                          See L2C_INT_REG */
12131         uint64_t pow                          : 1;  /**< POW err interrupt
12132                                                          See POW_ECC_ERR */
12133         uint64_t fpa                          : 1;  /**< FPA interrupt
12134                                                          See FPA_INT_SUM */
12135         uint64_t iob                          : 1;  /**< IOB interrupt
12136                                                          See IOB_INT_SUM */
12137         uint64_t mio                          : 1;  /**< MIO boot interrupt
12138                                                          See MIO_BOOT_ERR */
12139         uint64_t nand                         : 1;  /**< NAND Flash Controller interrupt
12140                                                          See NDF_INT */
12141         uint64_t mii1                         : 1;  /**< RGMII/MII/MIX Interface 1 Interrupt
12142                                                          See MIX1_ISR */
12143         uint64_t reserved_10_17               : 8;
12144         uint64_t wdog                         : 10; /**< 10 watchdog interrupts */
12145 #else
12146         uint64_t wdog                         : 10;
12147         uint64_t reserved_10_17               : 8;
12148         uint64_t mii1                         : 1;
12149         uint64_t nand                         : 1;
12150         uint64_t mio                          : 1;
12151         uint64_t iob                          : 1;
12152         uint64_t fpa                          : 1;
12153         uint64_t pow                          : 1;
12154         uint64_t l2c                          : 1;
12155         uint64_t ipd                          : 1;
12156         uint64_t pip                          : 1;
12157         uint64_t pko                          : 1;
12158         uint64_t zip                          : 1;
12159         uint64_t tim                          : 1;
12160         uint64_t rad                          : 1;
12161         uint64_t key                          : 1;
12162         uint64_t dfa                          : 1;
12163         uint64_t usb                          : 1;
12164         uint64_t sli                          : 1;
12165         uint64_t dpi                          : 1;
12166         uint64_t agx0                         : 1;
12167         uint64_t agx1                         : 1;
12168         uint64_t reserved_38_45               : 8;
12169         uint64_t agl                          : 1;
12170         uint64_t ptp                          : 1;
12171         uint64_t pem0                         : 1;
12172         uint64_t pem1                         : 1;
12173         uint64_t srio0                        : 1;
12174         uint64_t reserved_51_51               : 1;
12175         uint64_t lmc0                         : 1;
12176         uint64_t reserved_53_55               : 3;
12177         uint64_t dfm                          : 1;
12178         uint64_t reserved_57_59               : 3;
12179         uint64_t srio2                        : 1;
12180         uint64_t srio3                        : 1;
12181         uint64_t reserved_62_62               : 1;
12182         uint64_t rst                          : 1;
12183 #endif
12184         } cn66xx;
12185         struct cvmx_ciu_sum1_ppx_ip3_cnf71xx {
12186 #ifdef __BIG_ENDIAN_BITFIELD
12187         uint64_t rst                          : 1;  /**< MIO RST interrupt
12188                                                          See MIO_RST_INT */
12189         uint64_t reserved_53_62               : 10;
12190         uint64_t lmc0                         : 1;  /**< LMC0 interrupt
12191                                                          See LMC0_INT */
12192         uint64_t reserved_50_51               : 2;
12193         uint64_t pem1                         : 1;  /**< PEM1 interrupt
12194                                                          See PEM1_INT_SUM (enabled by PEM1_INT_ENB) */
12195         uint64_t pem0                         : 1;  /**< PEM0 interrupt
12196                                                          See PEM0_INT_SUM (enabled by PEM0_INT_ENB) */
12197         uint64_t ptp                          : 1;  /**< PTP interrupt
12198                                                          Set when HW decrements MIO_PTP_EVT_CNT to zero */
12199         uint64_t reserved_41_46               : 6;
12200         uint64_t dpi_dma                      : 1;  /**< DPI DMA instruction completion  interrupt
12201                                                          TBD, See DPI DMA instruction completion */
12202         uint64_t reserved_37_39               : 3;
12203         uint64_t agx0                         : 1;  /**< GMX0 interrupt
12204                                                          See GMX0_RX*_INT_REG, GMX0_TX_INT_REG,
12205                                                          PCS0_INT*_REG, PCSX0_INT_REG */
12206         uint64_t dpi                          : 1;  /**< DPI interrupt
12207                                                          See DPI_INT_REG */
12208         uint64_t sli                          : 1;  /**< SLI interrupt
12209                                                          See SLI_INT_SUM (enabled by SLI_INT_ENB_CIU) */
12210         uint64_t usb                          : 1;  /**< USB UCTL0 interrupt
12211                                                          See UCTL0_INT_REG */
12212         uint64_t reserved_32_32               : 1;
12213         uint64_t key                          : 1;  /**< KEY interrupt
12214                                                          See KEY_INT_SUM */
12215         uint64_t rad                          : 1;  /**< RAD interrupt
12216                                                          See RAD_REG_ERROR */
12217         uint64_t tim                          : 1;  /**< TIM interrupt
12218                                                          See TIM_REG_ERROR */
12219         uint64_t reserved_28_28               : 1;
12220         uint64_t pko                          : 1;  /**< PKO interrupt
12221                                                          See PKO_REG_ERROR */
12222         uint64_t pip                          : 1;  /**< PIP interrupt
12223                                                          See PIP_INT_REG */
12224         uint64_t ipd                          : 1;  /**< IPD interrupt
12225                                                          See IPD_INT_SUM */
12226         uint64_t l2c                          : 1;  /**< L2C interrupt
12227                                                          See L2C_INT_REG */
12228         uint64_t pow                          : 1;  /**< POW err interrupt
12229                                                          See POW_ECC_ERR */
12230         uint64_t fpa                          : 1;  /**< FPA interrupt
12231                                                          See FPA_INT_SUM */
12232         uint64_t iob                          : 1;  /**< IOB interrupt
12233                                                          See IOB_INT_SUM */
12234         uint64_t mio                          : 1;  /**< MIO boot interrupt
12235                                                          See MIO_BOOT_ERR */
12236         uint64_t nand                         : 1;  /**< EMMC Flash Controller interrupt
12237                                                          See EMMC interrupt */
12238         uint64_t reserved_4_18                : 15;
12239         uint64_t wdog                         : 4;  /**< Per PP watchdog interrupts */
12240 #else
12241         uint64_t wdog                         : 4;
12242         uint64_t reserved_4_18                : 15;
12243         uint64_t nand                         : 1;
12244         uint64_t mio                          : 1;
12245         uint64_t iob                          : 1;
12246         uint64_t fpa                          : 1;
12247         uint64_t pow                          : 1;
12248         uint64_t l2c                          : 1;
12249         uint64_t ipd                          : 1;
12250         uint64_t pip                          : 1;
12251         uint64_t pko                          : 1;
12252         uint64_t reserved_28_28               : 1;
12253         uint64_t tim                          : 1;
12254         uint64_t rad                          : 1;
12255         uint64_t key                          : 1;
12256         uint64_t reserved_32_32               : 1;
12257         uint64_t usb                          : 1;
12258         uint64_t sli                          : 1;
12259         uint64_t dpi                          : 1;
12260         uint64_t agx0                         : 1;
12261         uint64_t reserved_37_39               : 3;
12262         uint64_t dpi_dma                      : 1;
12263         uint64_t reserved_41_46               : 6;
12264         uint64_t ptp                          : 1;
12265         uint64_t pem0                         : 1;
12266         uint64_t pem1                         : 1;
12267         uint64_t reserved_50_51               : 2;
12268         uint64_t lmc0                         : 1;
12269         uint64_t reserved_53_62               : 10;
12270         uint64_t rst                          : 1;
12271 #endif
12272         } cnf71xx;
12273 };
12274 typedef union cvmx_ciu_sum1_ppx_ip3 cvmx_ciu_sum1_ppx_ip3_t;
12275
12276 /**
12277  * cvmx_ciu_sum1_pp#_ip4
12278  *
12279  * Notes:
12280  * SUM1 becomes per IPx in o65/6 and afterwards. Only Field <40> DPI_DMA will have
12281  * different value per PP(IP) for  $CIU_SUM1_PPx_IPy, and <40> DPI_DMA will always
12282  * be zero for  $CIU_SUM1_IOX_INT. All other fields ([63:41] and [39:0]) values  are idential for
12283  * different PPs, same value as $CIU_INT_SUM1.
12284  * Write to any IRQ's PTP fields will clear PTP for all IRQ's PTP field.
12285  */
12286 union cvmx_ciu_sum1_ppx_ip4 {
12287         uint64_t u64;
12288         struct cvmx_ciu_sum1_ppx_ip4_s {
12289 #ifdef __BIG_ENDIAN_BITFIELD
12290         uint64_t rst                          : 1;  /**< MIO RST interrupt
12291                                                          See MIO_RST_INT */
12292         uint64_t reserved_62_62               : 1;
12293         uint64_t srio3                        : 1;  /**< SRIO3 interrupt
12294                                                          See SRIO3_INT_REG, SRIO3_INT2_REG */
12295         uint64_t srio2                        : 1;  /**< SRIO2 interrupt
12296                                                          See SRIO2_INT_REG, SRIO2_INT2_REG */
12297         uint64_t reserved_57_59               : 3;
12298         uint64_t dfm                          : 1;  /**< DFM Interrupt
12299                                                          See DFM_FNT_STAT */
12300         uint64_t reserved_53_55               : 3;
12301         uint64_t lmc0                         : 1;  /**< LMC0 interrupt
12302                                                          See LMC0_INT */
12303         uint64_t reserved_51_51               : 1;
12304         uint64_t srio0                        : 1;  /**< SRIO0 interrupt
12305                                                          See SRIO0_INT_REG, SRIO0_INT2_REG */
12306         uint64_t pem1                         : 1;  /**< PEM1 interrupt
12307                                                          See PEM1_INT_SUM (enabled by PEM1_INT_ENB) */
12308         uint64_t pem0                         : 1;  /**< PEM0 interrupt
12309                                                          See PEM0_INT_SUM (enabled by PEM0_INT_ENB) */
12310         uint64_t ptp                          : 1;  /**< PTP interrupt
12311                                                          Set when HW decrements MIO_PTP_EVT_CNT to zero */
12312         uint64_t agl                          : 1;  /**< AGL interrupt
12313                                                          See AGL_GMX_RX*_INT_REG, AGL_GMX_TX_INT_REG */
12314         uint64_t reserved_41_45               : 5;
12315         uint64_t dpi_dma                      : 1;  /**< DPI DMA instruction completion  interrupt
12316                                                          TBD, See DPI DMA instruction completion */
12317         uint64_t reserved_38_39               : 2;
12318         uint64_t agx1                         : 1;  /**< GMX1 interrupt
12319                                                          See GMX1_RX*_INT_REG, GMX1_TX_INT_REG,
12320                                                          PCS1_INT*_REG, PCSX1_INT_REG */
12321         uint64_t agx0                         : 1;  /**< GMX0 interrupt
12322                                                          See GMX0_RX*_INT_REG, GMX0_TX_INT_REG,
12323                                                          PCS0_INT*_REG, PCSX0_INT_REG */
12324         uint64_t dpi                          : 1;  /**< DPI interrupt
12325                                                          See DPI_INT_REG */
12326         uint64_t sli                          : 1;  /**< SLI interrupt
12327                                                          See SLI_INT_SUM (enabled by SLI_INT_ENB_CIU) */
12328         uint64_t usb                          : 1;  /**< USB UCTL0 interrupt
12329                                                          See UCTL0_INT_REG */
12330         uint64_t dfa                          : 1;  /**< DFA interrupt
12331                                                          See DFA_ERROR */
12332         uint64_t key                          : 1;  /**< KEY interrupt
12333                                                          See KEY_INT_SUM */
12334         uint64_t rad                          : 1;  /**< RAD interrupt
12335                                                          See RAD_REG_ERROR */
12336         uint64_t tim                          : 1;  /**< TIM interrupt
12337                                                          See TIM_REG_ERROR */
12338         uint64_t zip                          : 1;  /**< ZIP interrupt
12339                                                          See ZIP_ERROR */
12340         uint64_t pko                          : 1;  /**< PKO interrupt
12341                                                          See PKO_REG_ERROR */
12342         uint64_t pip                          : 1;  /**< PIP interrupt
12343                                                          See PIP_INT_REG */
12344         uint64_t ipd                          : 1;  /**< IPD interrupt
12345                                                          See IPD_INT_SUM */
12346         uint64_t l2c                          : 1;  /**< L2C interrupt
12347                                                          See L2C_INT_REG */
12348         uint64_t pow                          : 1;  /**< POW err interrupt
12349                                                          See POW_ECC_ERR */
12350         uint64_t fpa                          : 1;  /**< FPA interrupt
12351                                                          See FPA_INT_SUM */
12352         uint64_t iob                          : 1;  /**< IOB interrupt
12353                                                          See IOB_INT_SUM */
12354         uint64_t mio                          : 1;  /**< MIO boot interrupt
12355                                                          See MIO_BOOT_ERR */
12356         uint64_t nand                         : 1;  /**< EMMC Flash Controller interrupt
12357                                                          See EMMC interrupt */
12358         uint64_t mii1                         : 1;  /**< RGMII/MII/MIX Interface 1 Interrupt
12359                                                          See MIX1_ISR */
12360         uint64_t reserved_10_17               : 8;
12361         uint64_t wdog                         : 10; /**< Per PP watchdog interrupts */
12362 #else
12363         uint64_t wdog                         : 10;
12364         uint64_t reserved_10_17               : 8;
12365         uint64_t mii1                         : 1;
12366         uint64_t nand                         : 1;
12367         uint64_t mio                          : 1;
12368         uint64_t iob                          : 1;
12369         uint64_t fpa                          : 1;
12370         uint64_t pow                          : 1;
12371         uint64_t l2c                          : 1;
12372         uint64_t ipd                          : 1;
12373         uint64_t pip                          : 1;
12374         uint64_t pko                          : 1;
12375         uint64_t zip                          : 1;
12376         uint64_t tim                          : 1;
12377         uint64_t rad                          : 1;
12378         uint64_t key                          : 1;
12379         uint64_t dfa                          : 1;
12380         uint64_t usb                          : 1;
12381         uint64_t sli                          : 1;
12382         uint64_t dpi                          : 1;
12383         uint64_t agx0                         : 1;
12384         uint64_t agx1                         : 1;
12385         uint64_t reserved_38_39               : 2;
12386         uint64_t dpi_dma                      : 1;
12387         uint64_t reserved_41_45               : 5;
12388         uint64_t agl                          : 1;
12389         uint64_t ptp                          : 1;
12390         uint64_t pem0                         : 1;
12391         uint64_t pem1                         : 1;
12392         uint64_t srio0                        : 1;
12393         uint64_t reserved_51_51               : 1;
12394         uint64_t lmc0                         : 1;
12395         uint64_t reserved_53_55               : 3;
12396         uint64_t dfm                          : 1;
12397         uint64_t reserved_57_59               : 3;
12398         uint64_t srio2                        : 1;
12399         uint64_t srio3                        : 1;
12400         uint64_t reserved_62_62               : 1;
12401         uint64_t rst                          : 1;
12402 #endif
12403         } s;
12404         struct cvmx_ciu_sum1_ppx_ip4_cn61xx {
12405 #ifdef __BIG_ENDIAN_BITFIELD
12406         uint64_t rst                          : 1;  /**< MIO RST interrupt
12407                                                          See MIO_RST_INT */
12408         uint64_t reserved_53_62               : 10;
12409         uint64_t lmc0                         : 1;  /**< LMC0 interrupt
12410                                                          See LMC0_INT */
12411         uint64_t reserved_50_51               : 2;
12412         uint64_t pem1                         : 1;  /**< PEM1 interrupt
12413                                                          See PEM1_INT_SUM (enabled by PEM1_INT_ENB) */
12414         uint64_t pem0                         : 1;  /**< PEM0 interrupt
12415                                                          See PEM0_INT_SUM (enabled by PEM0_INT_ENB) */
12416         uint64_t ptp                          : 1;  /**< PTP interrupt
12417                                                          Set when HW decrements MIO_PTP_EVT_CNT to zero */
12418         uint64_t agl                          : 1;  /**< AGL interrupt
12419                                                          See AGL_GMX_RX*_INT_REG, AGL_GMX_TX_INT_REG */
12420         uint64_t reserved_41_45               : 5;
12421         uint64_t dpi_dma                      : 1;  /**< DPI DMA instruction completion  interrupt
12422                                                          TBD, See DPI DMA instruction completion */
12423         uint64_t reserved_38_39               : 2;
12424         uint64_t agx1                         : 1;  /**< GMX1 interrupt
12425                                                          See GMX1_RX*_INT_REG, GMX1_TX_INT_REG,
12426                                                          PCS1_INT*_REG, PCSX1_INT_REG */
12427         uint64_t agx0                         : 1;  /**< GMX0 interrupt
12428                                                          See GMX0_RX*_INT_REG, GMX0_TX_INT_REG,
12429                                                          PCS0_INT*_REG, PCSX0_INT_REG */
12430         uint64_t dpi                          : 1;  /**< DPI interrupt
12431                                                          See DPI_INT_REG */
12432         uint64_t sli                          : 1;  /**< SLI interrupt
12433                                                          See SLI_INT_SUM (enabled by SLI_INT_ENB_CIU) */
12434         uint64_t usb                          : 1;  /**< USB UCTL0 interrupt
12435                                                          See UCTL0_INT_REG */
12436         uint64_t dfa                          : 1;  /**< DFA interrupt
12437                                                          See DFA_ERROR */
12438         uint64_t key                          : 1;  /**< KEY interrupt
12439                                                          See KEY_INT_SUM */
12440         uint64_t rad                          : 1;  /**< RAD interrupt
12441                                                          See RAD_REG_ERROR */
12442         uint64_t tim                          : 1;  /**< TIM interrupt
12443                                                          See TIM_REG_ERROR */
12444         uint64_t zip                          : 1;  /**< ZIP interrupt
12445                                                          See ZIP_ERROR */
12446         uint64_t pko                          : 1;  /**< PKO interrupt
12447                                                          See PKO_REG_ERROR */
12448         uint64_t pip                          : 1;  /**< PIP interrupt
12449                                                          See PIP_INT_REG */
12450         uint64_t ipd                          : 1;  /**< IPD interrupt
12451                                                          See IPD_INT_SUM */
12452         uint64_t l2c                          : 1;  /**< L2C interrupt
12453                                                          See L2C_INT_REG */
12454         uint64_t pow                          : 1;  /**< POW err interrupt
12455                                                          See POW_ECC_ERR */
12456         uint64_t fpa                          : 1;  /**< FPA interrupt
12457                                                          See FPA_INT_SUM */
12458         uint64_t iob                          : 1;  /**< IOB interrupt
12459                                                          See IOB_INT_SUM */
12460         uint64_t mio                          : 1;  /**< MIO boot interrupt
12461                                                          See MIO_BOOT_ERR */
12462         uint64_t nand                         : 1;  /**< EMMC Flash Controller interrupt
12463                                                          See EMMC interrupt */
12464         uint64_t mii1                         : 1;  /**< RGMII/MIX Interface 1 Interrupt
12465                                                          See MIX1_ISR */
12466         uint64_t reserved_4_17                : 14;
12467         uint64_t wdog                         : 4;  /**< Per PP watchdog interrupts */
12468 #else
12469         uint64_t wdog                         : 4;
12470         uint64_t reserved_4_17                : 14;
12471         uint64_t mii1                         : 1;
12472         uint64_t nand                         : 1;
12473         uint64_t mio                          : 1;
12474         uint64_t iob                          : 1;
12475         uint64_t fpa                          : 1;
12476         uint64_t pow                          : 1;
12477         uint64_t l2c                          : 1;
12478         uint64_t ipd                          : 1;
12479         uint64_t pip                          : 1;
12480         uint64_t pko                          : 1;
12481         uint64_t zip                          : 1;
12482         uint64_t tim                          : 1;
12483         uint64_t rad                          : 1;
12484         uint64_t key                          : 1;
12485         uint64_t dfa                          : 1;
12486         uint64_t usb                          : 1;
12487         uint64_t sli                          : 1;
12488         uint64_t dpi                          : 1;
12489         uint64_t agx0                         : 1;
12490         uint64_t agx1                         : 1;
12491         uint64_t reserved_38_39               : 2;
12492         uint64_t dpi_dma                      : 1;
12493         uint64_t reserved_41_45               : 5;
12494         uint64_t agl                          : 1;
12495         uint64_t ptp                          : 1;
12496         uint64_t pem0                         : 1;
12497         uint64_t pem1                         : 1;
12498         uint64_t reserved_50_51               : 2;
12499         uint64_t lmc0                         : 1;
12500         uint64_t reserved_53_62               : 10;
12501         uint64_t rst                          : 1;
12502 #endif
12503         } cn61xx;
12504         struct cvmx_ciu_sum1_ppx_ip4_cn66xx {
12505 #ifdef __BIG_ENDIAN_BITFIELD
12506         uint64_t rst                          : 1;  /**< MIO RST interrupt
12507                                                          See MIO_RST_INT */
12508         uint64_t reserved_62_62               : 1;
12509         uint64_t srio3                        : 1;  /**< SRIO3 interrupt
12510                                                          See SRIO3_INT_REG, SRIO3_INT2_REG */
12511         uint64_t srio2                        : 1;  /**< SRIO2 interrupt
12512                                                          See SRIO2_INT_REG, SRIO2_INT2_REG */
12513         uint64_t reserved_57_59               : 3;
12514         uint64_t dfm                          : 1;  /**< DFM Interrupt
12515                                                          See DFM_FNT_STAT */
12516         uint64_t reserved_53_55               : 3;
12517         uint64_t lmc0                         : 1;  /**< LMC0 interrupt
12518                                                          See LMC0_INT */
12519         uint64_t reserved_51_51               : 1;
12520         uint64_t srio0                        : 1;  /**< SRIO0 interrupt
12521                                                          See SRIO0_INT_REG, SRIO0_INT2_REG */
12522         uint64_t pem1                         : 1;  /**< PEM1 interrupt
12523                                                          See PEM1_INT_SUM (enabled by PEM1_INT_ENB) */
12524         uint64_t pem0                         : 1;  /**< PEM0 interrupt
12525                                                          See PEM0_INT_SUM (enabled by PEM0_INT_ENB) */
12526         uint64_t ptp                          : 1;  /**< PTP interrupt
12527                                                          Set when HW decrements MIO_PTP_EVT_CNT to zero */
12528         uint64_t agl                          : 1;  /**< AGL interrupt
12529                                                          See AGL_GMX_RX*_INT_REG, AGL_GMX_TX_INT_REG */
12530         uint64_t reserved_38_45               : 8;
12531         uint64_t agx1                         : 1;  /**< GMX1 interrupt
12532                                                          See GMX1_RX*_INT_REG, GMX1_TX_INT_REG,
12533                                                          PCS1_INT*_REG, PCSX1_INT_REG */
12534         uint64_t agx0                         : 1;  /**< GMX0 interrupt
12535                                                          See GMX0_RX*_INT_REG, GMX0_TX_INT_REG,
12536                                                          PCS0_INT*_REG, PCSX0_INT_REG */
12537         uint64_t dpi                          : 1;  /**< DPI interrupt
12538                                                          See DPI_INT_REG */
12539         uint64_t sli                          : 1;  /**< SLI interrupt
12540                                                          See SLI_INT_SUM (enabled by SLI_INT_ENB_CIU) */
12541         uint64_t usb                          : 1;  /**< USB UCTL0 interrupt
12542                                                          See UCTL0_INT_REG */
12543         uint64_t dfa                          : 1;  /**< DFA interrupt
12544                                                          See DFA_ERROR */
12545         uint64_t key                          : 1;  /**< KEY interrupt
12546                                                          See KEY_INT_SUM */
12547         uint64_t rad                          : 1;  /**< RAD interrupt
12548                                                          See RAD_REG_ERROR */
12549         uint64_t tim                          : 1;  /**< TIM interrupt
12550                                                          See TIM_REG_ERROR */
12551         uint64_t zip                          : 1;  /**< ZIP interrupt
12552                                                          See ZIP_ERROR */
12553         uint64_t pko                          : 1;  /**< PKO interrupt
12554                                                          See PKO_REG_ERROR */
12555         uint64_t pip                          : 1;  /**< PIP interrupt
12556                                                          See PIP_INT_REG */
12557         uint64_t ipd                          : 1;  /**< IPD interrupt
12558                                                          See IPD_INT_SUM */
12559         uint64_t l2c                          : 1;  /**< L2C interrupt
12560                                                          See L2C_INT_REG */
12561         uint64_t pow                          : 1;  /**< POW err interrupt
12562                                                          See POW_ECC_ERR */
12563         uint64_t fpa                          : 1;  /**< FPA interrupt
12564                                                          See FPA_INT_SUM */
12565         uint64_t iob                          : 1;  /**< IOB interrupt
12566                                                          See IOB_INT_SUM */
12567         uint64_t mio                          : 1;  /**< MIO boot interrupt
12568                                                          See MIO_BOOT_ERR */
12569         uint64_t nand                         : 1;  /**< NAND Flash Controller interrupt
12570                                                          See NDF_INT */
12571         uint64_t mii1                         : 1;  /**< RGMII/MII/MIX Interface 1 Interrupt
12572                                                          See MIX1_ISR */
12573         uint64_t reserved_10_17               : 8;
12574         uint64_t wdog                         : 10; /**< 10 watchdog interrupts */
12575 #else
12576         uint64_t wdog                         : 10;
12577         uint64_t reserved_10_17               : 8;
12578         uint64_t mii1                         : 1;
12579         uint64_t nand                         : 1;
12580         uint64_t mio                          : 1;
12581         uint64_t iob                          : 1;
12582         uint64_t fpa                          : 1;
12583         uint64_t pow                          : 1;
12584         uint64_t l2c                          : 1;
12585         uint64_t ipd                          : 1;
12586         uint64_t pip                          : 1;
12587         uint64_t pko                          : 1;
12588         uint64_t zip                          : 1;
12589         uint64_t tim                          : 1;
12590         uint64_t rad                          : 1;
12591         uint64_t key                          : 1;
12592         uint64_t dfa                          : 1;
12593         uint64_t usb                          : 1;
12594         uint64_t sli                          : 1;
12595         uint64_t dpi                          : 1;
12596         uint64_t agx0                         : 1;
12597         uint64_t agx1                         : 1;
12598         uint64_t reserved_38_45               : 8;
12599         uint64_t agl                          : 1;
12600         uint64_t ptp                          : 1;
12601         uint64_t pem0                         : 1;
12602         uint64_t pem1                         : 1;
12603         uint64_t srio0                        : 1;
12604         uint64_t reserved_51_51               : 1;
12605         uint64_t lmc0                         : 1;
12606         uint64_t reserved_53_55               : 3;
12607         uint64_t dfm                          : 1;
12608         uint64_t reserved_57_59               : 3;
12609         uint64_t srio2                        : 1;
12610         uint64_t srio3                        : 1;
12611         uint64_t reserved_62_62               : 1;
12612         uint64_t rst                          : 1;
12613 #endif
12614         } cn66xx;
12615         struct cvmx_ciu_sum1_ppx_ip4_cnf71xx {
12616 #ifdef __BIG_ENDIAN_BITFIELD
12617         uint64_t rst                          : 1;  /**< MIO RST interrupt
12618                                                          See MIO_RST_INT */
12619         uint64_t reserved_53_62               : 10;
12620         uint64_t lmc0                         : 1;  /**< LMC0 interrupt
12621                                                          See LMC0_INT */
12622         uint64_t reserved_50_51               : 2;
12623         uint64_t pem1                         : 1;  /**< PEM1 interrupt
12624                                                          See PEM1_INT_SUM (enabled by PEM1_INT_ENB) */
12625         uint64_t pem0                         : 1;  /**< PEM0 interrupt
12626                                                          See PEM0_INT_SUM (enabled by PEM0_INT_ENB) */
12627         uint64_t ptp                          : 1;  /**< PTP interrupt
12628                                                          Set when HW decrements MIO_PTP_EVT_CNT to zero */
12629         uint64_t reserved_41_46               : 6;
12630         uint64_t dpi_dma                      : 1;  /**< DPI DMA instruction completion  interrupt
12631                                                          TBD, See DPI DMA instruction completion */
12632         uint64_t reserved_37_39               : 3;
12633         uint64_t agx0                         : 1;  /**< GMX0 interrupt
12634                                                          See GMX0_RX*_INT_REG, GMX0_TX_INT_REG,
12635                                                          PCS0_INT*_REG, PCSX0_INT_REG */
12636         uint64_t dpi                          : 1;  /**< DPI interrupt
12637                                                          See DPI_INT_REG */
12638         uint64_t sli                          : 1;  /**< SLI interrupt
12639                                                          See SLI_INT_SUM (enabled by SLI_INT_ENB_CIU) */
12640         uint64_t usb                          : 1;  /**< USB UCTL0 interrupt
12641                                                          See UCTL0_INT_REG */
12642         uint64_t reserved_32_32               : 1;
12643         uint64_t key                          : 1;  /**< KEY interrupt
12644                                                          See KEY_INT_SUM */
12645         uint64_t rad                          : 1;  /**< RAD interrupt
12646                                                          See RAD_REG_ERROR */
12647         uint64_t tim                          : 1;  /**< TIM interrupt
12648                                                          See TIM_REG_ERROR */
12649         uint64_t reserved_28_28               : 1;
12650         uint64_t pko                          : 1;  /**< PKO interrupt
12651                                                          See PKO_REG_ERROR */
12652         uint64_t pip                          : 1;  /**< PIP interrupt
12653                                                          See PIP_INT_REG */
12654         uint64_t ipd                          : 1;  /**< IPD interrupt
12655                                                          See IPD_INT_SUM */
12656         uint64_t l2c                          : 1;  /**< L2C interrupt
12657                                                          See L2C_INT_REG */
12658         uint64_t pow                          : 1;  /**< POW err interrupt
12659                                                          See POW_ECC_ERR */
12660         uint64_t fpa                          : 1;  /**< FPA interrupt
12661                                                          See FPA_INT_SUM */
12662         uint64_t iob                          : 1;  /**< IOB interrupt
12663                                                          See IOB_INT_SUM */
12664         uint64_t mio                          : 1;  /**< MIO boot interrupt
12665                                                          See MIO_BOOT_ERR */
12666         uint64_t nand                         : 1;  /**< EMMC Flash Controller interrupt
12667                                                          See EMMC interrupt */
12668         uint64_t reserved_4_18                : 15;
12669         uint64_t wdog                         : 4;  /**< Per PP watchdog interrupts */
12670 #else
12671         uint64_t wdog                         : 4;
12672         uint64_t reserved_4_18                : 15;
12673         uint64_t nand                         : 1;
12674         uint64_t mio                          : 1;
12675         uint64_t iob                          : 1;
12676         uint64_t fpa                          : 1;
12677         uint64_t pow                          : 1;
12678         uint64_t l2c                          : 1;
12679         uint64_t ipd                          : 1;
12680         uint64_t pip                          : 1;
12681         uint64_t pko                          : 1;
12682         uint64_t reserved_28_28               : 1;
12683         uint64_t tim                          : 1;
12684         uint64_t rad                          : 1;
12685         uint64_t key                          : 1;
12686         uint64_t reserved_32_32               : 1;
12687         uint64_t usb                          : 1;
12688         uint64_t sli                          : 1;
12689         uint64_t dpi                          : 1;
12690         uint64_t agx0                         : 1;
12691         uint64_t reserved_37_39               : 3;
12692         uint64_t dpi_dma                      : 1;
12693         uint64_t reserved_41_46               : 6;
12694         uint64_t ptp                          : 1;
12695         uint64_t pem0                         : 1;
12696         uint64_t pem1                         : 1;
12697         uint64_t reserved_50_51               : 2;
12698         uint64_t lmc0                         : 1;
12699         uint64_t reserved_53_62               : 10;
12700         uint64_t rst                          : 1;
12701 #endif
12702         } cnf71xx;
12703 };
12704 typedef union cvmx_ciu_sum1_ppx_ip4 cvmx_ciu_sum1_ppx_ip4_t;
12705
12706 /**
12707  * cvmx_ciu_sum2_io#_int
12708  *
12709  * Notes:
12710  * These SUM2 CSR's did not exist prior to pass 1.2. CIU_TIM4-9 did not exist prior to pass 1.2.
12711  *
12712  */
12713 union cvmx_ciu_sum2_iox_int {
12714         uint64_t u64;
12715         struct cvmx_ciu_sum2_iox_int_s {
12716 #ifdef __BIG_ENDIAN_BITFIELD
12717         uint64_t reserved_15_63               : 49;
12718         uint64_t endor                        : 2;  /**< ENDOR PHY interrupts, see ENDOR interrupt status
12719                                                          register ENDOR_RSTCLK_INTR0(1)_STATUS for details */
12720         uint64_t eoi                          : 1;  /**< EOI rsl interrupt, see EOI_INT_STA */
12721         uint64_t reserved_10_11               : 2;
12722         uint64_t timer                        : 6;  /**< General timer 4-9 interrupts.
12723                                                          When CIU_TIM_MULTI_CAST[EN] == 0, this interrupt is
12724                                                          common for all PP/IRQs, writing '1' to any PP/IRQ
12725                                                          will clear all TIMERx(x=0..9) interrupts.
12726                                                          When CIU_TIM_MULTI_CAST[EN] == 1, TIMERx(x=0..9)
12727                                                          are set at the same time, but clearing are based on
12728                                                          per cnMIPS core. See CIU_TIM_MULTI_CAST for detail.
12729                                                          The combination of this field and the
12730                                                          CIU_INT*_SUM0/4[TIMER] field implement all 10
12731                                                          CIU_TIM* interrupts. */
12732         uint64_t reserved_0_3                 : 4;
12733 #else
12734         uint64_t reserved_0_3                 : 4;
12735         uint64_t timer                        : 6;
12736         uint64_t reserved_10_11               : 2;
12737         uint64_t eoi                          : 1;
12738         uint64_t endor                        : 2;
12739         uint64_t reserved_15_63               : 49;
12740 #endif
12741         } s;
12742         struct cvmx_ciu_sum2_iox_int_cn61xx {
12743 #ifdef __BIG_ENDIAN_BITFIELD
12744         uint64_t reserved_10_63               : 54;
12745         uint64_t timer                        : 6;  /**< General timer 4-9 interrupts.
12746                                                          When CIU_TIM_MULTI_CAST[EN] == 0, this interrupt is
12747                                                          common for all PP/IRQs, writing '1' to any PP/IRQ
12748                                                          will clear all TIMERx(x=0..9) interrupts.
12749                                                          When CIU_TIM_MULTI_CAST[EN] == 1, TIMERx(x=0..9)
12750                                                          are set at the same time, but clearing are based on
12751                                                          per cnMIPS core. See CIU_TIM_MULTI_CAST for detail.
12752                                                          The combination of this field and the
12753                                                          CIU_INT*_SUM0/4[TIMER] field implement all 10
12754                                                          CIU_TIM* interrupts. */
12755         uint64_t reserved_0_3                 : 4;
12756 #else
12757         uint64_t reserved_0_3                 : 4;
12758         uint64_t timer                        : 6;
12759         uint64_t reserved_10_63               : 54;
12760 #endif
12761         } cn61xx;
12762         struct cvmx_ciu_sum2_iox_int_cn61xx   cn66xx;
12763         struct cvmx_ciu_sum2_iox_int_s        cnf71xx;
12764 };
12765 typedef union cvmx_ciu_sum2_iox_int cvmx_ciu_sum2_iox_int_t;
12766
12767 /**
12768  * cvmx_ciu_sum2_pp#_ip2
12769  *
12770  * Notes:
12771  * These SUM2 CSR's did not exist prior to pass 1.2. CIU_TIM4-9 did not exist prior to pass 1.2.
12772  *
12773  */
12774 union cvmx_ciu_sum2_ppx_ip2 {
12775         uint64_t u64;
12776         struct cvmx_ciu_sum2_ppx_ip2_s {
12777 #ifdef __BIG_ENDIAN_BITFIELD
12778         uint64_t reserved_15_63               : 49;
12779         uint64_t endor                        : 2;  /**< ENDOR PHY interrupts, see ENDOR interrupt status
12780                                                          register ENDOR_RSTCLK_INTR0(1)_STATUS for details */
12781         uint64_t eoi                          : 1;  /**< EOI rsl interrupt, see EOI_INT_STA */
12782         uint64_t reserved_10_11               : 2;
12783         uint64_t timer                        : 6;  /**< General timer 4-9 interrupts.
12784                                                          When CIU_TIM_MULTI_CAST[EN] == 0, this interrupt is
12785                                                          common for all PP/IRQs, writing '1' to any PP/IRQ
12786                                                          will clear all TIMERx(x=0..9) interrupts.
12787                                                          When CIU_TIM_MULTI_CAST[EN] == 1, TIMERx(x=0..9)
12788                                                          are set at the same time, but clearing are based on
12789                                                          per cnMIPS core. See CIU_TIM_MULTI_CAST for detail.
12790                                                          The combination of this field and the
12791                                                          CIU_INT*_SUM0/4[TIMER] field implement all 10
12792                                                          CIU_TIM* interrupts. */
12793         uint64_t reserved_0_3                 : 4;
12794 #else
12795         uint64_t reserved_0_3                 : 4;
12796         uint64_t timer                        : 6;
12797         uint64_t reserved_10_11               : 2;
12798         uint64_t eoi                          : 1;
12799         uint64_t endor                        : 2;
12800         uint64_t reserved_15_63               : 49;
12801 #endif
12802         } s;
12803         struct cvmx_ciu_sum2_ppx_ip2_cn61xx {
12804 #ifdef __BIG_ENDIAN_BITFIELD
12805         uint64_t reserved_10_63               : 54;
12806         uint64_t timer                        : 6;  /**< General timer 4-9 interrupts.
12807                                                          When CIU_TIM_MULTI_CAST[EN] == 0, this interrupt is
12808                                                          common for all PP/IRQs, writing '1' to any PP/IRQ
12809                                                          will clear all TIMERx(x=0..9) interrupts.
12810                                                          When CIU_TIM_MULTI_CAST[EN] == 1, TIMERx(x=0..9)
12811                                                          are set at the same time, but clearing are based on
12812                                                          per cnMIPS core. See CIU_TIM_MULTI_CAST for detail.
12813                                                          The combination of this field and the
12814                                                          CIU_INT*_SUM0/4[TIMER] field implement all 10
12815                                                          CIU_TIM* interrupts. */
12816         uint64_t reserved_0_3                 : 4;
12817 #else
12818         uint64_t reserved_0_3                 : 4;
12819         uint64_t timer                        : 6;
12820         uint64_t reserved_10_63               : 54;
12821 #endif
12822         } cn61xx;
12823         struct cvmx_ciu_sum2_ppx_ip2_cn61xx   cn66xx;
12824         struct cvmx_ciu_sum2_ppx_ip2_s        cnf71xx;
12825 };
12826 typedef union cvmx_ciu_sum2_ppx_ip2 cvmx_ciu_sum2_ppx_ip2_t;
12827
12828 /**
12829  * cvmx_ciu_sum2_pp#_ip3
12830  *
12831  * Notes:
12832  * These SUM2 CSR's did not exist prior to pass 1.2. CIU_TIM4-9 did not exist prior to pass 1.2.
12833  *
12834  */
12835 union cvmx_ciu_sum2_ppx_ip3 {
12836         uint64_t u64;
12837         struct cvmx_ciu_sum2_ppx_ip3_s {
12838 #ifdef __BIG_ENDIAN_BITFIELD
12839         uint64_t reserved_15_63               : 49;
12840         uint64_t endor                        : 2;  /**< ENDOR PHY interrupts, see ENDOR interrupt status
12841                                                          register ENDOR_RSTCLK_INTR0(1)_STATUS for details */
12842         uint64_t eoi                          : 1;  /**< EOI rsl interrupt, see EOI_INT_STA */
12843         uint64_t reserved_10_11               : 2;
12844         uint64_t timer                        : 6;  /**< General timer 4-9 interrupts.
12845                                                          When CIU_TIM_MULTI_CAST[EN] == 0, this interrupt is
12846                                                          common for all PP/IRQs, writing '1' to any PP/IRQ
12847                                                          will clear all TIMERx(x=0..9) interrupts.
12848                                                          When CIU_TIM_MULTI_CAST[EN] == 1, TIMERx(x=0..9)
12849                                                          are set at the same time, but clearing are based on
12850                                                          per cnMIPS core. See CIU_TIM_MULTI_CAST for detail.
12851                                                          The combination of this field and the
12852                                                          CIU_INT*_SUM0/4[TIMER] field implement all 10
12853                                                          CIU_TIM* interrupts. */
12854         uint64_t reserved_0_3                 : 4;
12855 #else
12856         uint64_t reserved_0_3                 : 4;
12857         uint64_t timer                        : 6;
12858         uint64_t reserved_10_11               : 2;
12859         uint64_t eoi                          : 1;
12860         uint64_t endor                        : 2;
12861         uint64_t reserved_15_63               : 49;
12862 #endif
12863         } s;
12864         struct cvmx_ciu_sum2_ppx_ip3_cn61xx {
12865 #ifdef __BIG_ENDIAN_BITFIELD
12866         uint64_t reserved_10_63               : 54;
12867         uint64_t timer                        : 6;  /**< General timer 4-9 interrupts.
12868                                                          When CIU_TIM_MULTI_CAST[EN] == 0, this interrupt is
12869                                                          common for all PP/IRQs, writing '1' to any PP/IRQ
12870                                                          will clear all TIMERx(x=0..9) interrupts.
12871                                                          When CIU_TIM_MULTI_CAST[EN] == 1, TIMERx(x=0..9)
12872                                                          are set at the same time, but clearing are based on
12873                                                          per cnMIPS core. See CIU_TIM_MULTI_CAST for detail.
12874                                                          The combination of this field and the
12875                                                          CIU_INT*_SUM0/4[TIMER] field implement all 10
12876                                                          CIU_TIM* interrupts. */
12877         uint64_t reserved_0_3                 : 4;
12878 #else
12879         uint64_t reserved_0_3                 : 4;
12880         uint64_t timer                        : 6;
12881         uint64_t reserved_10_63               : 54;
12882 #endif
12883         } cn61xx;
12884         struct cvmx_ciu_sum2_ppx_ip3_cn61xx   cn66xx;
12885         struct cvmx_ciu_sum2_ppx_ip3_s        cnf71xx;
12886 };
12887 typedef union cvmx_ciu_sum2_ppx_ip3 cvmx_ciu_sum2_ppx_ip3_t;
12888
12889 /**
12890  * cvmx_ciu_sum2_pp#_ip4
12891  *
12892  * Notes:
12893  * These SUM2 CSR's did not exist prior to pass 1.2. CIU_TIM4-9 did not exist prior to pass 1.2.
12894  *
12895  */
12896 union cvmx_ciu_sum2_ppx_ip4 {
12897         uint64_t u64;
12898         struct cvmx_ciu_sum2_ppx_ip4_s {
12899 #ifdef __BIG_ENDIAN_BITFIELD
12900         uint64_t reserved_15_63               : 49;
12901         uint64_t endor                        : 2;  /**< ENDOR PHY interrupts, see ENDOR interrupt status
12902                                                          register ENDOR_RSTCLK_INTR0(1)_STATUS for details */
12903         uint64_t eoi                          : 1;  /**< EOI rsl interrupt, see EOI_INT_STA */
12904         uint64_t reserved_10_11               : 2;
12905         uint64_t timer                        : 6;  /**< General timer 4-9 interrupts.
12906                                                          When CIU_TIM_MULTI_CAST[EN] == 0, this interrupt is
12907                                                          common for all PP/IRQs, writing '1' to any PP/IRQ
12908                                                          will clear all TIMERx(x=0..9) interrupts.
12909                                                          When CIU_TIM_MULTI_CAST[EN] == 1, TIMERx(x=0..9)
12910                                                          are set at the same time, but clearing are based on
12911                                                          per cnMIPS core. See CIU_TIM_MULTI_CAST for detail.
12912                                                          The combination of this field and the
12913                                                          CIU_INT*_SUM0/4[TIMER] field implement all 10
12914                                                          CIU_TIM* interrupts. */
12915         uint64_t reserved_0_3                 : 4;
12916 #else
12917         uint64_t reserved_0_3                 : 4;
12918         uint64_t timer                        : 6;
12919         uint64_t reserved_10_11               : 2;
12920         uint64_t eoi                          : 1;
12921         uint64_t endor                        : 2;
12922         uint64_t reserved_15_63               : 49;
12923 #endif
12924         } s;
12925         struct cvmx_ciu_sum2_ppx_ip4_cn61xx {
12926 #ifdef __BIG_ENDIAN_BITFIELD
12927         uint64_t reserved_10_63               : 54;
12928         uint64_t timer                        : 6;  /**< General timer 4-9 interrupts.
12929                                                          When CIU_TIM_MULTI_CAST[EN] == 0, this interrupt is
12930                                                          common for all PP/IRQs, writing '1' to any PP/IRQ
12931                                                          will clear all TIMERx(x=0..9) interrupts.
12932                                                          When CIU_TIM_MULTI_CAST[EN] == 1, TIMERx(x=0..9)
12933                                                          are set at the same time, but clearing are based on
12934                                                          per cnMIPS core. See CIU_TIM_MULTI_CAST for detail.
12935                                                          The combination of this field and the
12936                                                          CIU_INT*_SUM0/4[TIMER] field implement all 10
12937                                                          CIU_TIM* interrupts. */
12938         uint64_t reserved_0_3                 : 4;
12939 #else
12940         uint64_t reserved_0_3                 : 4;
12941         uint64_t timer                        : 6;
12942         uint64_t reserved_10_63               : 54;
12943 #endif
12944         } cn61xx;
12945         struct cvmx_ciu_sum2_ppx_ip4_cn61xx   cn66xx;
12946         struct cvmx_ciu_sum2_ppx_ip4_s        cnf71xx;
12947 };
12948 typedef union cvmx_ciu_sum2_ppx_ip4 cvmx_ciu_sum2_ppx_ip4_t;
12949
12950 /**
12951  * cvmx_ciu_tim#
12952  *
12953  * Notes:
12954  * CIU_TIM4-9 did not exist prior to pass 1.2
12955  *
12956  */
12957 union cvmx_ciu_timx {
12958         uint64_t u64;
12959         struct cvmx_ciu_timx_s {
12960 #ifdef __BIG_ENDIAN_BITFIELD
12961         uint64_t reserved_37_63               : 27;
12962         uint64_t one_shot                     : 1;  /**< One-shot mode */
12963         uint64_t len                          : 36; /**< Timeout length in core clock cycles
12964                                                          Periodic interrupts will occur every LEN+1 core
12965                                                          clock cycles when ONE_SHOT==0
12966                                                          Timer disabled when LEN==0 */
12967 #else
12968         uint64_t len                          : 36;
12969         uint64_t one_shot                     : 1;
12970         uint64_t reserved_37_63               : 27;
12971 #endif
12972         } s;
12973         struct cvmx_ciu_timx_s                cn30xx;
12974         struct cvmx_ciu_timx_s                cn31xx;
12975         struct cvmx_ciu_timx_s                cn38xx;
12976         struct cvmx_ciu_timx_s                cn38xxp2;
12977         struct cvmx_ciu_timx_s                cn50xx;
12978         struct cvmx_ciu_timx_s                cn52xx;
12979         struct cvmx_ciu_timx_s                cn52xxp1;
12980         struct cvmx_ciu_timx_s                cn56xx;
12981         struct cvmx_ciu_timx_s                cn56xxp1;
12982         struct cvmx_ciu_timx_s                cn58xx;
12983         struct cvmx_ciu_timx_s                cn58xxp1;
12984         struct cvmx_ciu_timx_s                cn61xx;
12985         struct cvmx_ciu_timx_s                cn63xx;
12986         struct cvmx_ciu_timx_s                cn63xxp1;
12987         struct cvmx_ciu_timx_s                cn66xx;
12988         struct cvmx_ciu_timx_s                cn68xx;
12989         struct cvmx_ciu_timx_s                cn68xxp1;
12990         struct cvmx_ciu_timx_s                cnf71xx;
12991 };
12992 typedef union cvmx_ciu_timx cvmx_ciu_timx_t;
12993
12994 /**
12995  * cvmx_ciu_tim_multi_cast
12996  *
12997  * Notes:
12998  * This register does not exist prior to pass 1.2 silicon. Those earlier chip passes operate as if
12999  * EN==0.
13000  */
13001 union cvmx_ciu_tim_multi_cast {
13002         uint64_t u64;
13003         struct cvmx_ciu_tim_multi_cast_s {
13004 #ifdef __BIG_ENDIAN_BITFIELD
13005         uint64_t reserved_1_63                : 63;
13006         uint64_t en                           : 1;  /**< General Timer Interrupt Mutli-Cast mode:
13007                                                          - 0: Timer interrupt is common for all PP/IRQs.
13008                                                          - 1: Timer interrupts are set at the same time for
13009                                                             all PP/IRQs, but interrupt clearings can/need
13010                                                             to be done Individually based on per cnMIPS core.
13011                                                           Timer interrupts for IOs (X=32,33) will always use
13012                                                           common interrupts. Clear any of the I/O interrupts
13013                                                           will clear the common interrupt. */
13014 #else
13015         uint64_t en                           : 1;
13016         uint64_t reserved_1_63                : 63;
13017 #endif
13018         } s;
13019         struct cvmx_ciu_tim_multi_cast_s      cn61xx;
13020         struct cvmx_ciu_tim_multi_cast_s      cn66xx;
13021         struct cvmx_ciu_tim_multi_cast_s      cnf71xx;
13022 };
13023 typedef union cvmx_ciu_tim_multi_cast cvmx_ciu_tim_multi_cast_t;
13024
13025 /**
13026  * cvmx_ciu_wdog#
13027  */
13028 union cvmx_ciu_wdogx {
13029         uint64_t u64;
13030         struct cvmx_ciu_wdogx_s {
13031 #ifdef __BIG_ENDIAN_BITFIELD
13032         uint64_t reserved_46_63               : 18;
13033         uint64_t gstopen                      : 1;  /**< GSTOPEN */
13034         uint64_t dstop                        : 1;  /**< DSTOP */
13035         uint64_t cnt                          : 24; /**< Number of 256-cycle intervals until next watchdog
13036                                                          expiration.  Cleared on write to associated
13037                                                          CIU_PP_POKE register. */
13038         uint64_t len                          : 16; /**< Watchdog time expiration length
13039                                                          The 16 bits of LEN represent the most significant
13040                                                          bits of a 24 bit decrementer that decrements
13041                                                          every 256 cycles.
13042                                                          LEN must be set > 0 */
13043         uint64_t state                        : 2;  /**< Watchdog state
13044                                                          number of watchdog time expirations since last
13045                                                          PP poke.  Cleared on write to associated
13046                                                          CIU_PP_POKE register. */
13047         uint64_t mode                         : 2;  /**< Watchdog mode
13048                                                          0 = Off
13049                                                          1 = Interrupt Only
13050                                                          2 = Interrupt + NMI
13051                                                          3 = Interrupt + NMI + Soft-Reset */
13052 #else
13053         uint64_t mode                         : 2;
13054         uint64_t state                        : 2;
13055         uint64_t len                          : 16;
13056         uint64_t cnt                          : 24;
13057         uint64_t dstop                        : 1;
13058         uint64_t gstopen                      : 1;
13059         uint64_t reserved_46_63               : 18;
13060 #endif
13061         } s;
13062         struct cvmx_ciu_wdogx_s               cn30xx;
13063         struct cvmx_ciu_wdogx_s               cn31xx;
13064         struct cvmx_ciu_wdogx_s               cn38xx;
13065         struct cvmx_ciu_wdogx_s               cn38xxp2;
13066         struct cvmx_ciu_wdogx_s               cn50xx;
13067         struct cvmx_ciu_wdogx_s               cn52xx;
13068         struct cvmx_ciu_wdogx_s               cn52xxp1;
13069         struct cvmx_ciu_wdogx_s               cn56xx;
13070         struct cvmx_ciu_wdogx_s               cn56xxp1;
13071         struct cvmx_ciu_wdogx_s               cn58xx;
13072         struct cvmx_ciu_wdogx_s               cn58xxp1;
13073         struct cvmx_ciu_wdogx_s               cn61xx;
13074         struct cvmx_ciu_wdogx_s               cn63xx;
13075         struct cvmx_ciu_wdogx_s               cn63xxp1;
13076         struct cvmx_ciu_wdogx_s               cn66xx;
13077         struct cvmx_ciu_wdogx_s               cn68xx;
13078         struct cvmx_ciu_wdogx_s               cn68xxp1;
13079         struct cvmx_ciu_wdogx_s               cnf71xx;
13080 };
13081 typedef union cvmx_ciu_wdogx cvmx_ciu_wdogx_t;
13082
13083 #endif