1 /***********************license start***************
2 * Copyright (c) 2003-2012 Cavium Inc. ([email protected]). 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()
CVMX_CIU_BLOCK_INT_FUNC(void)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
CVMX_CIU_EN2_IOX_INT(unsigned long offset)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
CVMX_CIU_EN2_IOX_INT_W1C(unsigned long offset)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
CVMX_CIU_EN2_IOX_INT_W1S(unsigned long offset)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
CVMX_CIU_EN2_PPX_IP2(unsigned long offset)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
CVMX_CIU_EN2_PPX_IP2_W1C(unsigned long offset)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
CVMX_CIU_EN2_PPX_IP2_W1S(unsigned long offset)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
CVMX_CIU_EN2_PPX_IP3(unsigned long offset)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
CVMX_CIU_EN2_PPX_IP3_W1C(unsigned long offset)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
CVMX_CIU_EN2_PPX_IP3_W1S(unsigned long offset)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
CVMX_CIU_EN2_PPX_IP4(unsigned long offset)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
CVMX_CIU_EN2_PPX_IP4_W1C(unsigned long offset)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
CVMX_CIU_EN2_PPX_IP4_W1S(unsigned long offset)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()
CVMX_CIU_INT33_SUM0_FUNC(void)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
CVMX_CIU_INTX_EN0(unsigned long offset)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
CVMX_CIU_INTX_EN0_W1C(unsigned long offset)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
CVMX_CIU_INTX_EN0_W1S(unsigned long offset)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
CVMX_CIU_INTX_EN1(unsigned long offset)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
CVMX_CIU_INTX_EN1_W1C(unsigned long offset)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
CVMX_CIU_INTX_EN1_W1S(unsigned long offset)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
CVMX_CIU_INTX_EN4_0(unsigned long offset)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
CVMX_CIU_INTX_EN4_0_W1C(unsigned long offset)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
CVMX_CIU_INTX_EN4_0_W1S(unsigned long offset)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
CVMX_CIU_INTX_EN4_1(unsigned long offset)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
CVMX_CIU_INTX_EN4_1_W1C(unsigned long offset)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
CVMX_CIU_INTX_EN4_1_W1S(unsigned long offset)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
CVMX_CIU_INTX_SUM0(unsigned long offset)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
CVMX_CIU_INTX_SUM4(unsigned long offset)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()
CVMX_CIU_INT_DBG_SEL_FUNC(void)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()
CVMX_CIU_INT_SUM1_FUNC(void)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
CVMX_CIU_MBOX_CLRX(unsigned long offset)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 }
CVMX_CIU_MBOX_SETX(unsigned long offset)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()
CVMX_CIU_PP_BIST_STAT_FUNC(void)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))
CVMX_CIU_PP_POKEX(unsigned long offset)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()
CVMX_CIU_QLM0_FUNC(void)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()
CVMX_CIU_QLM1_FUNC(void)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()
CVMX_CIU_QLM2_FUNC(void)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()
CVMX_CIU_QLM3_FUNC(void)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()
CVMX_CIU_QLM4_FUNC(void)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()
CVMX_CIU_QLM_DCOK_FUNC(void)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()
CVMX_CIU_QLM_JTGC_FUNC(void)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()
CVMX_CIU_QLM_JTGD_FUNC(void)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()
CVMX_CIU_SOFT_PRST1_FUNC(void)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()
CVMX_CIU_SOFT_PRST2_FUNC(void)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()
CVMX_CIU_SOFT_PRST3_FUNC(void)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
CVMX_CIU_SUM1_IOX_INT(unsigned long offset)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
CVMX_CIU_SUM1_PPX_IP2(unsigned long offset)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
CVMX_CIU_SUM1_PPX_IP3(unsigned long offset)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
CVMX_CIU_SUM1_PPX_IP4(unsigned long offset)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
CVMX_CIU_SUM2_IOX_INT(unsigned long offset)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
CVMX_CIU_SUM2_PPX_IP2(unsigned long offset)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
CVMX_CIU_SUM2_PPX_IP3(unsigned long offset)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
CVMX_CIU_SUM2_PPX_IP4(unsigned long offset)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
CVMX_CIU_TIMX(unsigned long offset)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()
CVMX_CIU_TIM_MULTI_CAST_FUNC(void)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
CVMX_CIU_WDOGX(unsigned long offset)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
13084