1215976Sjmallett/***********************license start***************
2232812Sjmallett * Copyright (c) 2003-2012  Cavium Inc. (support@cavium.com). All rights
3215976Sjmallett * reserved.
4215976Sjmallett *
5215976Sjmallett *
6215976Sjmallett * Redistribution and use in source and binary forms, with or without
7215976Sjmallett * modification, are permitted provided that the following conditions are
8215976Sjmallett * met:
9215976Sjmallett *
10215976Sjmallett *   * Redistributions of source code must retain the above copyright
11215976Sjmallett *     notice, this list of conditions and the following disclaimer.
12215976Sjmallett *
13215976Sjmallett *   * Redistributions in binary form must reproduce the above
14215976Sjmallett *     copyright notice, this list of conditions and the following
15215976Sjmallett *     disclaimer in the documentation and/or other materials provided
16215976Sjmallett *     with the distribution.
17215976Sjmallett
18232812Sjmallett *   * Neither the name of Cavium Inc. nor the names of
19215976Sjmallett *     its contributors may be used to endorse or promote products
20215976Sjmallett *     derived from this software without specific prior written
21215976Sjmallett *     permission.
22215976Sjmallett
23215976Sjmallett * This Software, including technical data, may be subject to U.S. export  control
24215976Sjmallett * laws, including the U.S. Export Administration Act and its  associated
25215976Sjmallett * regulations, and may be subject to export or import  regulations in other
26215976Sjmallett * countries.
27215976Sjmallett
28215976Sjmallett * TO THE MAXIMUM EXTENT PERMITTED BY LAW, THE SOFTWARE IS PROVIDED "AS IS"
29232812Sjmallett * AND WITH ALL FAULTS AND CAVIUM INC. MAKES NO PROMISES, REPRESENTATIONS OR
30215976Sjmallett * WARRANTIES, EITHER EXPRESS, IMPLIED, STATUTORY, OR OTHERWISE, WITH RESPECT TO
31215976Sjmallett * THE SOFTWARE, INCLUDING ITS CONDITION, ITS CONFORMITY TO ANY REPRESENTATION OR
32215976Sjmallett * DESCRIPTION, OR THE EXISTENCE OF ANY LATENT OR PATENT DEFECTS, AND CAVIUM
33215976Sjmallett * SPECIFICALLY DISCLAIMS ALL IMPLIED (IF ANY) WARRANTIES OF TITLE,
34215976Sjmallett * MERCHANTABILITY, NONINFRINGEMENT, FITNESS FOR A PARTICULAR PURPOSE, LACK OF
35215976Sjmallett * VIRUSES, ACCURACY OR COMPLETENESS, QUIET ENJOYMENT, QUIET POSSESSION OR
36215976Sjmallett * CORRESPONDENCE TO DESCRIPTION. THE ENTIRE  RISK ARISING OUT OF USE OR
37215976Sjmallett * PERFORMANCE OF THE SOFTWARE LIES WITH YOU.
38215976Sjmallett ***********************license end**************************************/
39215976Sjmallett
40215976Sjmallett
41215976Sjmallett/**
42215976Sjmallett * cvmx-ciu-defs.h
43215976Sjmallett *
44215976Sjmallett * Configuration and status register (CSR) type definitions for
45215976Sjmallett * Octeon ciu.
46215976Sjmallett *
47215976Sjmallett * This file is auto generated. Do not edit.
48215976Sjmallett *
49215976Sjmallett * <hr>$Revision$<hr>
50215976Sjmallett *
51215976Sjmallett */
52232812Sjmallett#ifndef __CVMX_CIU_DEFS_H__
53232812Sjmallett#define __CVMX_CIU_DEFS_H__
54215976Sjmallett
55215976Sjmallett#define CVMX_CIU_BIST (CVMX_ADD_IO_SEG(0x0001070000000730ull))
56215976Sjmallett#if CVMX_ENABLE_CSR_ADDRESS_CHECKING
57215976Sjmallett#define CVMX_CIU_BLOCK_INT CVMX_CIU_BLOCK_INT_FUNC()
58215976Sjmallettstatic inline uint64_t CVMX_CIU_BLOCK_INT_FUNC(void)
59215976Sjmallett{
60232812Sjmallett	if (!(OCTEON_IS_MODEL(OCTEON_CN61XX) || OCTEON_IS_MODEL(OCTEON_CN63XX) || OCTEON_IS_MODEL(OCTEON_CN66XX) || OCTEON_IS_MODEL(OCTEON_CNF71XX)))
61215976Sjmallett		cvmx_warn("CVMX_CIU_BLOCK_INT not supported on this chip\n");
62215976Sjmallett	return CVMX_ADD_IO_SEG(0x00010700000007C0ull);
63215976Sjmallett}
64215976Sjmallett#else
65215976Sjmallett#define CVMX_CIU_BLOCK_INT (CVMX_ADD_IO_SEG(0x00010700000007C0ull))
66215976Sjmallett#endif
67215976Sjmallett#define CVMX_CIU_DINT (CVMX_ADD_IO_SEG(0x0001070000000720ull))
68232812Sjmallett#if CVMX_ENABLE_CSR_ADDRESS_CHECKING
69232812Sjmallettstatic inline uint64_t CVMX_CIU_EN2_IOX_INT(unsigned long offset)
70232812Sjmallett{
71232812Sjmallett	if (!(
72232812Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((offset <= 1))) ||
73232812Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((offset <= 1))) ||
74232812Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((offset <= 1)))))
75232812Sjmallett		cvmx_warn("CVMX_CIU_EN2_IOX_INT(%lu) is invalid on this chip\n", offset);
76232812Sjmallett	return CVMX_ADD_IO_SEG(0x000107000000A600ull) + ((offset) & 1) * 8;
77232812Sjmallett}
78232812Sjmallett#else
79232812Sjmallett#define CVMX_CIU_EN2_IOX_INT(offset) (CVMX_ADD_IO_SEG(0x000107000000A600ull) + ((offset) & 1) * 8)
80232812Sjmallett#endif
81232812Sjmallett#if CVMX_ENABLE_CSR_ADDRESS_CHECKING
82232812Sjmallettstatic inline uint64_t CVMX_CIU_EN2_IOX_INT_W1C(unsigned long offset)
83232812Sjmallett{
84232812Sjmallett	if (!(
85232812Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((offset <= 1))) ||
86232812Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((offset <= 1))) ||
87232812Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((offset <= 1)))))
88232812Sjmallett		cvmx_warn("CVMX_CIU_EN2_IOX_INT_W1C(%lu) is invalid on this chip\n", offset);
89232812Sjmallett	return CVMX_ADD_IO_SEG(0x000107000000CE00ull) + ((offset) & 1) * 8;
90232812Sjmallett}
91232812Sjmallett#else
92232812Sjmallett#define CVMX_CIU_EN2_IOX_INT_W1C(offset) (CVMX_ADD_IO_SEG(0x000107000000CE00ull) + ((offset) & 1) * 8)
93232812Sjmallett#endif
94232812Sjmallett#if CVMX_ENABLE_CSR_ADDRESS_CHECKING
95232812Sjmallettstatic inline uint64_t CVMX_CIU_EN2_IOX_INT_W1S(unsigned long offset)
96232812Sjmallett{
97232812Sjmallett	if (!(
98232812Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((offset <= 1))) ||
99232812Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((offset <= 1))) ||
100232812Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((offset <= 1)))))
101232812Sjmallett		cvmx_warn("CVMX_CIU_EN2_IOX_INT_W1S(%lu) is invalid on this chip\n", offset);
102232812Sjmallett	return CVMX_ADD_IO_SEG(0x000107000000AE00ull) + ((offset) & 1) * 8;
103232812Sjmallett}
104232812Sjmallett#else
105232812Sjmallett#define CVMX_CIU_EN2_IOX_INT_W1S(offset) (CVMX_ADD_IO_SEG(0x000107000000AE00ull) + ((offset) & 1) * 8)
106232812Sjmallett#endif
107232812Sjmallett#if CVMX_ENABLE_CSR_ADDRESS_CHECKING
108232812Sjmallettstatic inline uint64_t CVMX_CIU_EN2_PPX_IP2(unsigned long offset)
109232812Sjmallett{
110232812Sjmallett	if (!(
111232812Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((offset <= 3))) ||
112232812Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((offset <= 9))) ||
113232812Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((offset <= 3)))))
114232812Sjmallett		cvmx_warn("CVMX_CIU_EN2_PPX_IP2(%lu) is invalid on this chip\n", offset);
115232812Sjmallett	return CVMX_ADD_IO_SEG(0x000107000000A000ull) + ((offset) & 15) * 8;
116232812Sjmallett}
117232812Sjmallett#else
118232812Sjmallett#define CVMX_CIU_EN2_PPX_IP2(offset) (CVMX_ADD_IO_SEG(0x000107000000A000ull) + ((offset) & 15) * 8)
119232812Sjmallett#endif
120232812Sjmallett#if CVMX_ENABLE_CSR_ADDRESS_CHECKING
121232812Sjmallettstatic inline uint64_t CVMX_CIU_EN2_PPX_IP2_W1C(unsigned long offset)
122232812Sjmallett{
123232812Sjmallett	if (!(
124232812Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((offset <= 3))) ||
125232812Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((offset <= 9))) ||
126232812Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((offset <= 3)))))
127232812Sjmallett		cvmx_warn("CVMX_CIU_EN2_PPX_IP2_W1C(%lu) is invalid on this chip\n", offset);
128232812Sjmallett	return CVMX_ADD_IO_SEG(0x000107000000C800ull) + ((offset) & 15) * 8;
129232812Sjmallett}
130232812Sjmallett#else
131232812Sjmallett#define CVMX_CIU_EN2_PPX_IP2_W1C(offset) (CVMX_ADD_IO_SEG(0x000107000000C800ull) + ((offset) & 15) * 8)
132232812Sjmallett#endif
133232812Sjmallett#if CVMX_ENABLE_CSR_ADDRESS_CHECKING
134232812Sjmallettstatic inline uint64_t CVMX_CIU_EN2_PPX_IP2_W1S(unsigned long offset)
135232812Sjmallett{
136232812Sjmallett	if (!(
137232812Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((offset <= 3))) ||
138232812Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((offset <= 9))) ||
139232812Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((offset <= 3)))))
140232812Sjmallett		cvmx_warn("CVMX_CIU_EN2_PPX_IP2_W1S(%lu) is invalid on this chip\n", offset);
141232812Sjmallett	return CVMX_ADD_IO_SEG(0x000107000000A800ull) + ((offset) & 15) * 8;
142232812Sjmallett}
143232812Sjmallett#else
144232812Sjmallett#define CVMX_CIU_EN2_PPX_IP2_W1S(offset) (CVMX_ADD_IO_SEG(0x000107000000A800ull) + ((offset) & 15) * 8)
145232812Sjmallett#endif
146232812Sjmallett#if CVMX_ENABLE_CSR_ADDRESS_CHECKING
147232812Sjmallettstatic inline uint64_t CVMX_CIU_EN2_PPX_IP3(unsigned long offset)
148232812Sjmallett{
149232812Sjmallett	if (!(
150232812Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((offset <= 3))) ||
151232812Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((offset <= 9))) ||
152232812Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((offset <= 3)))))
153232812Sjmallett		cvmx_warn("CVMX_CIU_EN2_PPX_IP3(%lu) is invalid on this chip\n", offset);
154232812Sjmallett	return CVMX_ADD_IO_SEG(0x000107000000A200ull) + ((offset) & 15) * 8;
155232812Sjmallett}
156232812Sjmallett#else
157232812Sjmallett#define CVMX_CIU_EN2_PPX_IP3(offset) (CVMX_ADD_IO_SEG(0x000107000000A200ull) + ((offset) & 15) * 8)
158232812Sjmallett#endif
159232812Sjmallett#if CVMX_ENABLE_CSR_ADDRESS_CHECKING
160232812Sjmallettstatic inline uint64_t CVMX_CIU_EN2_PPX_IP3_W1C(unsigned long offset)
161232812Sjmallett{
162232812Sjmallett	if (!(
163232812Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((offset <= 3))) ||
164232812Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((offset <= 9))) ||
165232812Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((offset <= 3)))))
166232812Sjmallett		cvmx_warn("CVMX_CIU_EN2_PPX_IP3_W1C(%lu) is invalid on this chip\n", offset);
167232812Sjmallett	return CVMX_ADD_IO_SEG(0x000107000000CA00ull) + ((offset) & 15) * 8;
168232812Sjmallett}
169232812Sjmallett#else
170232812Sjmallett#define CVMX_CIU_EN2_PPX_IP3_W1C(offset) (CVMX_ADD_IO_SEG(0x000107000000CA00ull) + ((offset) & 15) * 8)
171232812Sjmallett#endif
172232812Sjmallett#if CVMX_ENABLE_CSR_ADDRESS_CHECKING
173232812Sjmallettstatic inline uint64_t CVMX_CIU_EN2_PPX_IP3_W1S(unsigned long offset)
174232812Sjmallett{
175232812Sjmallett	if (!(
176232812Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((offset <= 3))) ||
177232812Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((offset <= 9))) ||
178232812Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((offset <= 3)))))
179232812Sjmallett		cvmx_warn("CVMX_CIU_EN2_PPX_IP3_W1S(%lu) is invalid on this chip\n", offset);
180232812Sjmallett	return CVMX_ADD_IO_SEG(0x000107000000AA00ull) + ((offset) & 15) * 8;
181232812Sjmallett}
182232812Sjmallett#else
183232812Sjmallett#define CVMX_CIU_EN2_PPX_IP3_W1S(offset) (CVMX_ADD_IO_SEG(0x000107000000AA00ull) + ((offset) & 15) * 8)
184232812Sjmallett#endif
185232812Sjmallett#if CVMX_ENABLE_CSR_ADDRESS_CHECKING
186232812Sjmallettstatic inline uint64_t CVMX_CIU_EN2_PPX_IP4(unsigned long offset)
187232812Sjmallett{
188232812Sjmallett	if (!(
189232812Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((offset <= 3))) ||
190232812Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((offset <= 9))) ||
191232812Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((offset <= 3)))))
192232812Sjmallett		cvmx_warn("CVMX_CIU_EN2_PPX_IP4(%lu) is invalid on this chip\n", offset);
193232812Sjmallett	return CVMX_ADD_IO_SEG(0x000107000000A400ull) + ((offset) & 15) * 8;
194232812Sjmallett}
195232812Sjmallett#else
196232812Sjmallett#define CVMX_CIU_EN2_PPX_IP4(offset) (CVMX_ADD_IO_SEG(0x000107000000A400ull) + ((offset) & 15) * 8)
197232812Sjmallett#endif
198232812Sjmallett#if CVMX_ENABLE_CSR_ADDRESS_CHECKING
199232812Sjmallettstatic inline uint64_t CVMX_CIU_EN2_PPX_IP4_W1C(unsigned long offset)
200232812Sjmallett{
201232812Sjmallett	if (!(
202232812Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((offset <= 3))) ||
203232812Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((offset <= 9))) ||
204232812Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((offset <= 3)))))
205232812Sjmallett		cvmx_warn("CVMX_CIU_EN2_PPX_IP4_W1C(%lu) is invalid on this chip\n", offset);
206232812Sjmallett	return CVMX_ADD_IO_SEG(0x000107000000CC00ull) + ((offset) & 15) * 8;
207232812Sjmallett}
208232812Sjmallett#else
209232812Sjmallett#define CVMX_CIU_EN2_PPX_IP4_W1C(offset) (CVMX_ADD_IO_SEG(0x000107000000CC00ull) + ((offset) & 15) * 8)
210232812Sjmallett#endif
211232812Sjmallett#if CVMX_ENABLE_CSR_ADDRESS_CHECKING
212232812Sjmallettstatic inline uint64_t CVMX_CIU_EN2_PPX_IP4_W1S(unsigned long offset)
213232812Sjmallett{
214232812Sjmallett	if (!(
215232812Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((offset <= 3))) ||
216232812Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((offset <= 9))) ||
217232812Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((offset <= 3)))))
218232812Sjmallett		cvmx_warn("CVMX_CIU_EN2_PPX_IP4_W1S(%lu) is invalid on this chip\n", offset);
219232812Sjmallett	return CVMX_ADD_IO_SEG(0x000107000000AC00ull) + ((offset) & 15) * 8;
220232812Sjmallett}
221232812Sjmallett#else
222232812Sjmallett#define CVMX_CIU_EN2_PPX_IP4_W1S(offset) (CVMX_ADD_IO_SEG(0x000107000000AC00ull) + ((offset) & 15) * 8)
223232812Sjmallett#endif
224215976Sjmallett#define CVMX_CIU_FUSE (CVMX_ADD_IO_SEG(0x0001070000000728ull))
225215976Sjmallett#define CVMX_CIU_GSTOP (CVMX_ADD_IO_SEG(0x0001070000000710ull))
226215976Sjmallett#if CVMX_ENABLE_CSR_ADDRESS_CHECKING
227215976Sjmallett#define CVMX_CIU_INT33_SUM0 CVMX_CIU_INT33_SUM0_FUNC()
228215976Sjmallettstatic inline uint64_t CVMX_CIU_INT33_SUM0_FUNC(void)
229215976Sjmallett{
230232812Sjmallett	if (!(OCTEON_IS_MODEL(OCTEON_CN61XX) || OCTEON_IS_MODEL(OCTEON_CN63XX) || OCTEON_IS_MODEL(OCTEON_CN66XX) || OCTEON_IS_MODEL(OCTEON_CNF71XX)))
231215976Sjmallett		cvmx_warn("CVMX_CIU_INT33_SUM0 not supported on this chip\n");
232215976Sjmallett	return CVMX_ADD_IO_SEG(0x0001070000000110ull);
233215976Sjmallett}
234215976Sjmallett#else
235215976Sjmallett#define CVMX_CIU_INT33_SUM0 (CVMX_ADD_IO_SEG(0x0001070000000110ull))
236215976Sjmallett#endif
237215976Sjmallett#if CVMX_ENABLE_CSR_ADDRESS_CHECKING
238215976Sjmallettstatic inline uint64_t CVMX_CIU_INTX_EN0(unsigned long offset)
239215976Sjmallett{
240215976Sjmallett	if (!(
241215976Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset <= 1) || (offset == 32))) ||
242215976Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 3) || (offset == 32))) ||
243215976Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((offset <= 32))) ||
244215976Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 3) || (offset == 32))) ||
245215976Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 7) || (offset == 32))) ||
246215976Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 23) || (offset == 32))) ||
247215976Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 32))) ||
248232812Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((offset <= 7) || ((offset >= 32) && (offset <= 33)))) ||
249232812Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((offset <= 11) || ((offset >= 32) && (offset <= 33)))) ||
250232812Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((offset <= 19) || ((offset >= 32) && (offset <= 33)))) ||
251232812Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((offset <= 7) || ((offset >= 32) && (offset <= 33))))))
252215976Sjmallett		cvmx_warn("CVMX_CIU_INTX_EN0(%lu) is invalid on this chip\n", offset);
253215976Sjmallett	return CVMX_ADD_IO_SEG(0x0001070000000200ull) + ((offset) & 63) * 16;
254215976Sjmallett}
255215976Sjmallett#else
256215976Sjmallett#define CVMX_CIU_INTX_EN0(offset) (CVMX_ADD_IO_SEG(0x0001070000000200ull) + ((offset) & 63) * 16)
257215976Sjmallett#endif
258215976Sjmallett#if CVMX_ENABLE_CSR_ADDRESS_CHECKING
259215976Sjmallettstatic inline uint64_t CVMX_CIU_INTX_EN0_W1C(unsigned long offset)
260215976Sjmallett{
261215976Sjmallett	if (!(
262215976Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 7) || (offset == 32))) ||
263215976Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 23) || (offset == 32))) ||
264215976Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 32))) ||
265232812Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((offset <= 7) || ((offset >= 32) && (offset <= 33)))) ||
266232812Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((offset <= 11) || ((offset >= 32) && (offset <= 33)))) ||
267232812Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((offset <= 19) || ((offset >= 32) && (offset <= 33)))) ||
268232812Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((offset <= 7) || ((offset >= 32) && (offset <= 33))))))
269215976Sjmallett		cvmx_warn("CVMX_CIU_INTX_EN0_W1C(%lu) is invalid on this chip\n", offset);
270215976Sjmallett	return CVMX_ADD_IO_SEG(0x0001070000002200ull) + ((offset) & 63) * 16;
271215976Sjmallett}
272215976Sjmallett#else
273215976Sjmallett#define CVMX_CIU_INTX_EN0_W1C(offset) (CVMX_ADD_IO_SEG(0x0001070000002200ull) + ((offset) & 63) * 16)
274215976Sjmallett#endif
275215976Sjmallett#if CVMX_ENABLE_CSR_ADDRESS_CHECKING
276215976Sjmallettstatic inline uint64_t CVMX_CIU_INTX_EN0_W1S(unsigned long offset)
277215976Sjmallett{
278215976Sjmallett	if (!(
279215976Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 7) || (offset == 32))) ||
280215976Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 23) || (offset == 32))) ||
281215976Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 32))) ||
282232812Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((offset <= 7) || ((offset >= 32) && (offset <= 33)))) ||
283232812Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((offset <= 11) || ((offset >= 32) && (offset <= 33)))) ||
284232812Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((offset <= 19) || ((offset >= 32) && (offset <= 33)))) ||
285232812Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((offset <= 7) || ((offset >= 32) && (offset <= 33))))))
286215976Sjmallett		cvmx_warn("CVMX_CIU_INTX_EN0_W1S(%lu) is invalid on this chip\n", offset);
287215976Sjmallett	return CVMX_ADD_IO_SEG(0x0001070000006200ull) + ((offset) & 63) * 16;
288215976Sjmallett}
289215976Sjmallett#else
290215976Sjmallett#define CVMX_CIU_INTX_EN0_W1S(offset) (CVMX_ADD_IO_SEG(0x0001070000006200ull) + ((offset) & 63) * 16)
291215976Sjmallett#endif
292215976Sjmallett#if CVMX_ENABLE_CSR_ADDRESS_CHECKING
293215976Sjmallettstatic inline uint64_t CVMX_CIU_INTX_EN1(unsigned long offset)
294215976Sjmallett{
295215976Sjmallett	if (!(
296215976Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset <= 1) || (offset == 32))) ||
297215976Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 3) || (offset == 32))) ||
298215976Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((offset <= 32))) ||
299215976Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 3) || (offset == 32))) ||
300215976Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 7) || (offset == 32))) ||
301215976Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 23) || (offset == 32))) ||
302215976Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 32))) ||
303232812Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((offset <= 7) || ((offset >= 32) && (offset <= 33)))) ||
304232812Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((offset <= 11) || ((offset >= 32) && (offset <= 33)))) ||
305232812Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((offset <= 19) || ((offset >= 32) && (offset <= 33)))) ||
306232812Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((offset <= 7) || ((offset >= 32) && (offset <= 33))))))
307215976Sjmallett		cvmx_warn("CVMX_CIU_INTX_EN1(%lu) is invalid on this chip\n", offset);
308215976Sjmallett	return CVMX_ADD_IO_SEG(0x0001070000000208ull) + ((offset) & 63) * 16;
309215976Sjmallett}
310215976Sjmallett#else
311215976Sjmallett#define CVMX_CIU_INTX_EN1(offset) (CVMX_ADD_IO_SEG(0x0001070000000208ull) + ((offset) & 63) * 16)
312215976Sjmallett#endif
313215976Sjmallett#if CVMX_ENABLE_CSR_ADDRESS_CHECKING
314215976Sjmallettstatic inline uint64_t CVMX_CIU_INTX_EN1_W1C(unsigned long offset)
315215976Sjmallett{
316215976Sjmallett	if (!(
317215976Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 7) || (offset == 32))) ||
318215976Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 23) || (offset == 32))) ||
319215976Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 32))) ||
320232812Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((offset <= 7) || ((offset >= 32) && (offset <= 33)))) ||
321232812Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((offset <= 11) || ((offset >= 32) && (offset <= 33)))) ||
322232812Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((offset <= 19) || ((offset >= 32) && (offset <= 33)))) ||
323232812Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((offset <= 7) || ((offset >= 32) && (offset <= 33))))))
324215976Sjmallett		cvmx_warn("CVMX_CIU_INTX_EN1_W1C(%lu) is invalid on this chip\n", offset);
325215976Sjmallett	return CVMX_ADD_IO_SEG(0x0001070000002208ull) + ((offset) & 63) * 16;
326215976Sjmallett}
327215976Sjmallett#else
328215976Sjmallett#define CVMX_CIU_INTX_EN1_W1C(offset) (CVMX_ADD_IO_SEG(0x0001070000002208ull) + ((offset) & 63) * 16)
329215976Sjmallett#endif
330215976Sjmallett#if CVMX_ENABLE_CSR_ADDRESS_CHECKING
331215976Sjmallettstatic inline uint64_t CVMX_CIU_INTX_EN1_W1S(unsigned long offset)
332215976Sjmallett{
333215976Sjmallett	if (!(
334215976Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 7) || (offset == 32))) ||
335215976Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 23) || (offset == 32))) ||
336215976Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 32))) ||
337232812Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((offset <= 7) || ((offset >= 32) && (offset <= 33)))) ||
338232812Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((offset <= 11) || ((offset >= 32) && (offset <= 33)))) ||
339232812Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((offset <= 19) || ((offset >= 32) && (offset <= 33)))) ||
340232812Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((offset <= 7) || ((offset >= 32) && (offset <= 33))))))
341215976Sjmallett		cvmx_warn("CVMX_CIU_INTX_EN1_W1S(%lu) is invalid on this chip\n", offset);
342215976Sjmallett	return CVMX_ADD_IO_SEG(0x0001070000006208ull) + ((offset) & 63) * 16;
343215976Sjmallett}
344215976Sjmallett#else
345215976Sjmallett#define CVMX_CIU_INTX_EN1_W1S(offset) (CVMX_ADD_IO_SEG(0x0001070000006208ull) + ((offset) & 63) * 16)
346215976Sjmallett#endif
347215976Sjmallett#if CVMX_ENABLE_CSR_ADDRESS_CHECKING
348215976Sjmallettstatic inline uint64_t CVMX_CIU_INTX_EN4_0(unsigned long offset)
349215976Sjmallett{
350215976Sjmallett	if (!(
351215976Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 1))) ||
352215976Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 3))) ||
353215976Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 11))) ||
354215976Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 15))) ||
355232812Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((offset <= 3))) ||
356232812Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((offset <= 5))) ||
357232812Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((offset <= 9))) ||
358232812Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((offset <= 3)))))
359215976Sjmallett		cvmx_warn("CVMX_CIU_INTX_EN4_0(%lu) is invalid on this chip\n", offset);
360215976Sjmallett	return CVMX_ADD_IO_SEG(0x0001070000000C80ull) + ((offset) & 15) * 16;
361215976Sjmallett}
362215976Sjmallett#else
363215976Sjmallett#define CVMX_CIU_INTX_EN4_0(offset) (CVMX_ADD_IO_SEG(0x0001070000000C80ull) + ((offset) & 15) * 16)
364215976Sjmallett#endif
365215976Sjmallett#if CVMX_ENABLE_CSR_ADDRESS_CHECKING
366215976Sjmallettstatic inline uint64_t CVMX_CIU_INTX_EN4_0_W1C(unsigned long offset)
367215976Sjmallett{
368215976Sjmallett	if (!(
369215976Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 3))) ||
370215976Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 11))) ||
371215976Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 15))) ||
372232812Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((offset <= 3))) ||
373232812Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((offset <= 5))) ||
374232812Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((offset <= 9))) ||
375232812Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((offset <= 3)))))
376215976Sjmallett		cvmx_warn("CVMX_CIU_INTX_EN4_0_W1C(%lu) is invalid on this chip\n", offset);
377215976Sjmallett	return CVMX_ADD_IO_SEG(0x0001070000002C80ull) + ((offset) & 15) * 16;
378215976Sjmallett}
379215976Sjmallett#else
380215976Sjmallett#define CVMX_CIU_INTX_EN4_0_W1C(offset) (CVMX_ADD_IO_SEG(0x0001070000002C80ull) + ((offset) & 15) * 16)
381215976Sjmallett#endif
382215976Sjmallett#if CVMX_ENABLE_CSR_ADDRESS_CHECKING
383215976Sjmallettstatic inline uint64_t CVMX_CIU_INTX_EN4_0_W1S(unsigned long offset)
384215976Sjmallett{
385215976Sjmallett	if (!(
386215976Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 3))) ||
387215976Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 11))) ||
388215976Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 15))) ||
389232812Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((offset <= 3))) ||
390232812Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((offset <= 5))) ||
391232812Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((offset <= 9))) ||
392232812Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((offset <= 3)))))
393215976Sjmallett		cvmx_warn("CVMX_CIU_INTX_EN4_0_W1S(%lu) is invalid on this chip\n", offset);
394215976Sjmallett	return CVMX_ADD_IO_SEG(0x0001070000006C80ull) + ((offset) & 15) * 16;
395215976Sjmallett}
396215976Sjmallett#else
397215976Sjmallett#define CVMX_CIU_INTX_EN4_0_W1S(offset) (CVMX_ADD_IO_SEG(0x0001070000006C80ull) + ((offset) & 15) * 16)
398215976Sjmallett#endif
399215976Sjmallett#if CVMX_ENABLE_CSR_ADDRESS_CHECKING
400215976Sjmallettstatic inline uint64_t CVMX_CIU_INTX_EN4_1(unsigned long offset)
401215976Sjmallett{
402215976Sjmallett	if (!(
403215976Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 1))) ||
404215976Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 3))) ||
405215976Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 11))) ||
406215976Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 15))) ||
407232812Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((offset <= 3))) ||
408232812Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((offset <= 5))) ||
409232812Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((offset <= 9))) ||
410232812Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((offset <= 3)))))
411215976Sjmallett		cvmx_warn("CVMX_CIU_INTX_EN4_1(%lu) is invalid on this chip\n", offset);
412215976Sjmallett	return CVMX_ADD_IO_SEG(0x0001070000000C88ull) + ((offset) & 15) * 16;
413215976Sjmallett}
414215976Sjmallett#else
415215976Sjmallett#define CVMX_CIU_INTX_EN4_1(offset) (CVMX_ADD_IO_SEG(0x0001070000000C88ull) + ((offset) & 15) * 16)
416215976Sjmallett#endif
417215976Sjmallett#if CVMX_ENABLE_CSR_ADDRESS_CHECKING
418215976Sjmallettstatic inline uint64_t CVMX_CIU_INTX_EN4_1_W1C(unsigned long offset)
419215976Sjmallett{
420215976Sjmallett	if (!(
421215976Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 3))) ||
422215976Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 11))) ||
423215976Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 15))) ||
424232812Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((offset <= 3))) ||
425232812Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((offset <= 5))) ||
426232812Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((offset <= 9))) ||
427232812Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((offset <= 3)))))
428215976Sjmallett		cvmx_warn("CVMX_CIU_INTX_EN4_1_W1C(%lu) is invalid on this chip\n", offset);
429215976Sjmallett	return CVMX_ADD_IO_SEG(0x0001070000002C88ull) + ((offset) & 15) * 16;
430215976Sjmallett}
431215976Sjmallett#else
432215976Sjmallett#define CVMX_CIU_INTX_EN4_1_W1C(offset) (CVMX_ADD_IO_SEG(0x0001070000002C88ull) + ((offset) & 15) * 16)
433215976Sjmallett#endif
434215976Sjmallett#if CVMX_ENABLE_CSR_ADDRESS_CHECKING
435215976Sjmallettstatic inline uint64_t CVMX_CIU_INTX_EN4_1_W1S(unsigned long offset)
436215976Sjmallett{
437215976Sjmallett	if (!(
438215976Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 3))) ||
439215976Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 11))) ||
440215976Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 15))) ||
441232812Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((offset <= 3))) ||
442232812Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((offset <= 5))) ||
443232812Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((offset <= 9))) ||
444232812Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((offset <= 3)))))
445215976Sjmallett		cvmx_warn("CVMX_CIU_INTX_EN4_1_W1S(%lu) is invalid on this chip\n", offset);
446215976Sjmallett	return CVMX_ADD_IO_SEG(0x0001070000006C88ull) + ((offset) & 15) * 16;
447215976Sjmallett}
448215976Sjmallett#else
449215976Sjmallett#define CVMX_CIU_INTX_EN4_1_W1S(offset) (CVMX_ADD_IO_SEG(0x0001070000006C88ull) + ((offset) & 15) * 16)
450215976Sjmallett#endif
451215976Sjmallett#if CVMX_ENABLE_CSR_ADDRESS_CHECKING
452215976Sjmallettstatic inline uint64_t CVMX_CIU_INTX_SUM0(unsigned long offset)
453215976Sjmallett{
454215976Sjmallett	if (!(
455215976Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset <= 1) || (offset == 32))) ||
456215976Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 3) || (offset == 32))) ||
457215976Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((offset <= 32))) ||
458215976Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 3) || (offset == 32))) ||
459215976Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 7) || (offset == 32))) ||
460215976Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 23) || (offset == 32))) ||
461215976Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 32))) ||
462232812Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((offset <= 7) || (offset == 32))) ||
463232812Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((offset <= 11) || (offset == 32))) ||
464232812Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((offset <= 19) || (offset == 32))) ||
465232812Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((offset <= 7) || (offset == 32)))))
466215976Sjmallett		cvmx_warn("CVMX_CIU_INTX_SUM0(%lu) is invalid on this chip\n", offset);
467215976Sjmallett	return CVMX_ADD_IO_SEG(0x0001070000000000ull) + ((offset) & 63) * 8;
468215976Sjmallett}
469215976Sjmallett#else
470215976Sjmallett#define CVMX_CIU_INTX_SUM0(offset) (CVMX_ADD_IO_SEG(0x0001070000000000ull) + ((offset) & 63) * 8)
471215976Sjmallett#endif
472215976Sjmallett#if CVMX_ENABLE_CSR_ADDRESS_CHECKING
473215976Sjmallettstatic inline uint64_t CVMX_CIU_INTX_SUM4(unsigned long offset)
474215976Sjmallett{
475215976Sjmallett	if (!(
476215976Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 1))) ||
477215976Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 3))) ||
478215976Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 11))) ||
479215976Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 15))) ||
480232812Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((offset <= 3))) ||
481232812Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((offset <= 5))) ||
482232812Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((offset <= 9))) ||
483232812Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((offset <= 3)))))
484215976Sjmallett		cvmx_warn("CVMX_CIU_INTX_SUM4(%lu) is invalid on this chip\n", offset);
485215976Sjmallett	return CVMX_ADD_IO_SEG(0x0001070000000C00ull) + ((offset) & 15) * 8;
486215976Sjmallett}
487215976Sjmallett#else
488215976Sjmallett#define CVMX_CIU_INTX_SUM4(offset) (CVMX_ADD_IO_SEG(0x0001070000000C00ull) + ((offset) & 15) * 8)
489215976Sjmallett#endif
490215976Sjmallett#if CVMX_ENABLE_CSR_ADDRESS_CHECKING
491215976Sjmallett#define CVMX_CIU_INT_DBG_SEL CVMX_CIU_INT_DBG_SEL_FUNC()
492215976Sjmallettstatic inline uint64_t CVMX_CIU_INT_DBG_SEL_FUNC(void)
493215976Sjmallett{
494232812Sjmallett	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)))
495215976Sjmallett		cvmx_warn("CVMX_CIU_INT_DBG_SEL not supported on this chip\n");
496215976Sjmallett	return CVMX_ADD_IO_SEG(0x00010700000007D0ull);
497215976Sjmallett}
498215976Sjmallett#else
499215976Sjmallett#define CVMX_CIU_INT_DBG_SEL (CVMX_ADD_IO_SEG(0x00010700000007D0ull))
500215976Sjmallett#endif
501215976Sjmallett#if CVMX_ENABLE_CSR_ADDRESS_CHECKING
502232812Sjmallett#define CVMX_CIU_INT_SUM1 CVMX_CIU_INT_SUM1_FUNC()
503232812Sjmallettstatic inline uint64_t CVMX_CIU_INT_SUM1_FUNC(void)
504215976Sjmallett{
505232812Sjmallett	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)))
506232812Sjmallett		cvmx_warn("CVMX_CIU_INT_SUM1 not supported on this chip\n");
507232812Sjmallett	return CVMX_ADD_IO_SEG(0x0001070000000108ull);
508215976Sjmallett}
509215976Sjmallett#else
510232812Sjmallett#define CVMX_CIU_INT_SUM1 (CVMX_ADD_IO_SEG(0x0001070000000108ull))
511215976Sjmallett#endif
512232812Sjmallettstatic inline uint64_t CVMX_CIU_MBOX_CLRX(unsigned long offset)
513232812Sjmallett{
514232812Sjmallett	switch(cvmx_get_octeon_family()) {
515232812Sjmallett		case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
516232812Sjmallett			if ((offset == 0))
517232812Sjmallett				return CVMX_ADD_IO_SEG(0x0001070000000680ull) + ((offset) & 0) * 8;
518232812Sjmallett			break;
519232812Sjmallett		case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
520232812Sjmallett		case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
521232812Sjmallett		case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
522232812Sjmallett			if ((offset <= 3))
523232812Sjmallett				return CVMX_ADD_IO_SEG(0x0001070000000680ull) + ((offset) & 3) * 8;
524232812Sjmallett			break;
525232812Sjmallett		case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
526232812Sjmallett		case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
527232812Sjmallett			if ((offset <= 1))
528232812Sjmallett				return CVMX_ADD_IO_SEG(0x0001070000000680ull) + ((offset) & 1) * 8;
529232812Sjmallett			break;
530232812Sjmallett		case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
531232812Sjmallett		case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
532232812Sjmallett			if ((offset <= 15))
533232812Sjmallett				return CVMX_ADD_IO_SEG(0x0001070000000680ull) + ((offset) & 15) * 8;
534232812Sjmallett			break;
535232812Sjmallett		case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
536232812Sjmallett			if ((offset <= 11))
537232812Sjmallett				return CVMX_ADD_IO_SEG(0x0001070000000680ull) + ((offset) & 15) * 8;
538232812Sjmallett			break;
539232812Sjmallett		case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
540232812Sjmallett			if ((offset <= 9))
541232812Sjmallett				return CVMX_ADD_IO_SEG(0x0001070000000680ull) + ((offset) & 15) * 8;
542232812Sjmallett			break;
543232812Sjmallett		case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
544232812Sjmallett			if ((offset <= 5))
545232812Sjmallett				return CVMX_ADD_IO_SEG(0x0001070000000680ull) + ((offset) & 7) * 8;
546232812Sjmallett			break;
547232812Sjmallett		case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
548232812Sjmallett			if ((offset <= 31))
549232812Sjmallett				return CVMX_ADD_IO_SEG(0x0001070100100600ull) + ((offset) & 31) * 8;
550232812Sjmallett			break;
551232812Sjmallett	}
552232812Sjmallett	cvmx_warn("CVMX_CIU_MBOX_CLRX (offset = %lu) not supported on this chip\n", offset);
553232812Sjmallett	return CVMX_ADD_IO_SEG(0x0001070000000680ull) + ((offset) & 3) * 8;
554232812Sjmallett}
555215976Sjmallettstatic inline uint64_t CVMX_CIU_MBOX_SETX(unsigned long offset)
556215976Sjmallett{
557232812Sjmallett	switch(cvmx_get_octeon_family()) {
558232812Sjmallett		case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
559232812Sjmallett			if ((offset == 0))
560232812Sjmallett				return CVMX_ADD_IO_SEG(0x0001070000000600ull) + ((offset) & 0) * 8;
561232812Sjmallett			break;
562232812Sjmallett		case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
563232812Sjmallett		case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
564232812Sjmallett		case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
565232812Sjmallett			if ((offset <= 3))
566232812Sjmallett				return CVMX_ADD_IO_SEG(0x0001070000000600ull) + ((offset) & 3) * 8;
567232812Sjmallett			break;
568232812Sjmallett		case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
569232812Sjmallett		case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
570232812Sjmallett			if ((offset <= 1))
571232812Sjmallett				return CVMX_ADD_IO_SEG(0x0001070000000600ull) + ((offset) & 1) * 8;
572232812Sjmallett			break;
573232812Sjmallett		case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
574232812Sjmallett		case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
575232812Sjmallett			if ((offset <= 15))
576232812Sjmallett				return CVMX_ADD_IO_SEG(0x0001070000000600ull) + ((offset) & 15) * 8;
577232812Sjmallett			break;
578232812Sjmallett		case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
579232812Sjmallett			if ((offset <= 11))
580232812Sjmallett				return CVMX_ADD_IO_SEG(0x0001070000000600ull) + ((offset) & 15) * 8;
581232812Sjmallett			break;
582232812Sjmallett		case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
583232812Sjmallett			if ((offset <= 9))
584232812Sjmallett				return CVMX_ADD_IO_SEG(0x0001070000000600ull) + ((offset) & 15) * 8;
585232812Sjmallett			break;
586232812Sjmallett		case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
587232812Sjmallett			if ((offset <= 5))
588232812Sjmallett				return CVMX_ADD_IO_SEG(0x0001070000000600ull) + ((offset) & 7) * 8;
589232812Sjmallett			break;
590232812Sjmallett		case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
591232812Sjmallett			if ((offset <= 31))
592232812Sjmallett				return CVMX_ADD_IO_SEG(0x0001070100100400ull) + ((offset) & 31) * 8;
593232812Sjmallett			break;
594232812Sjmallett	}
595232812Sjmallett	cvmx_warn("CVMX_CIU_MBOX_SETX (offset = %lu) not supported on this chip\n", offset);
596232812Sjmallett	return CVMX_ADD_IO_SEG(0x0001070000000600ull) + ((offset) & 3) * 8;
597215976Sjmallett}
598215976Sjmallett#define CVMX_CIU_NMI (CVMX_ADD_IO_SEG(0x0001070000000718ull))
599215976Sjmallett#define CVMX_CIU_PCI_INTA (CVMX_ADD_IO_SEG(0x0001070000000750ull))
600215976Sjmallett#if CVMX_ENABLE_CSR_ADDRESS_CHECKING
601232812Sjmallett#define CVMX_CIU_PP_BIST_STAT CVMX_CIU_PP_BIST_STAT_FUNC()
602232812Sjmallettstatic inline uint64_t CVMX_CIU_PP_BIST_STAT_FUNC(void)
603215976Sjmallett{
604232812Sjmallett	if (!(OCTEON_IS_MODEL(OCTEON_CN68XX)))
605232812Sjmallett		cvmx_warn("CVMX_CIU_PP_BIST_STAT not supported on this chip\n");
606232812Sjmallett	return CVMX_ADD_IO_SEG(0x00010700000007E0ull);
607215976Sjmallett}
608215976Sjmallett#else
609232812Sjmallett#define CVMX_CIU_PP_BIST_STAT (CVMX_ADD_IO_SEG(0x00010700000007E0ull))
610215976Sjmallett#endif
611232812Sjmallett#define CVMX_CIU_PP_DBG (CVMX_ADD_IO_SEG(0x0001070000000708ull))
612232812Sjmallettstatic inline uint64_t CVMX_CIU_PP_POKEX(unsigned long offset)
613232812Sjmallett{
614232812Sjmallett	switch(cvmx_get_octeon_family()) {
615232812Sjmallett		case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
616232812Sjmallett			if ((offset == 0))
617232812Sjmallett				return CVMX_ADD_IO_SEG(0x0001070000000580ull) + ((offset) & 0) * 8;
618232812Sjmallett			break;
619232812Sjmallett		case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
620232812Sjmallett		case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
621232812Sjmallett		case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
622232812Sjmallett			if ((offset <= 3))
623232812Sjmallett				return CVMX_ADD_IO_SEG(0x0001070000000580ull) + ((offset) & 3) * 8;
624232812Sjmallett			break;
625232812Sjmallett		case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
626232812Sjmallett		case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
627232812Sjmallett			if ((offset <= 1))
628232812Sjmallett				return CVMX_ADD_IO_SEG(0x0001070000000580ull) + ((offset) & 1) * 8;
629232812Sjmallett			break;
630232812Sjmallett		case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
631232812Sjmallett		case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
632232812Sjmallett			if ((offset <= 15))
633232812Sjmallett				return CVMX_ADD_IO_SEG(0x0001070000000580ull) + ((offset) & 15) * 8;
634232812Sjmallett			break;
635232812Sjmallett		case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
636232812Sjmallett			if ((offset <= 11))
637232812Sjmallett				return CVMX_ADD_IO_SEG(0x0001070000000580ull) + ((offset) & 15) * 8;
638232812Sjmallett			break;
639232812Sjmallett		case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
640232812Sjmallett			if ((offset <= 9))
641232812Sjmallett				return CVMX_ADD_IO_SEG(0x0001070000000580ull) + ((offset) & 15) * 8;
642232812Sjmallett			break;
643232812Sjmallett		case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
644232812Sjmallett			if ((offset <= 5))
645232812Sjmallett				return CVMX_ADD_IO_SEG(0x0001070000000580ull) + ((offset) & 7) * 8;
646232812Sjmallett			break;
647232812Sjmallett		case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
648232812Sjmallett			if ((offset <= 31))
649232812Sjmallett				return CVMX_ADD_IO_SEG(0x0001070100100200ull) + ((offset) & 31) * 8;
650232812Sjmallett			break;
651232812Sjmallett	}
652232812Sjmallett	cvmx_warn("CVMX_CIU_PP_POKEX (offset = %lu) not supported on this chip\n", offset);
653232812Sjmallett	return CVMX_ADD_IO_SEG(0x0001070000000580ull) + ((offset) & 3) * 8;
654232812Sjmallett}
655215976Sjmallett#define CVMX_CIU_PP_RST (CVMX_ADD_IO_SEG(0x0001070000000700ull))
656215976Sjmallett#if CVMX_ENABLE_CSR_ADDRESS_CHECKING
657215976Sjmallett#define CVMX_CIU_QLM0 CVMX_CIU_QLM0_FUNC()
658215976Sjmallettstatic inline uint64_t CVMX_CIU_QLM0_FUNC(void)
659215976Sjmallett{
660232812Sjmallett	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)))
661215976Sjmallett		cvmx_warn("CVMX_CIU_QLM0 not supported on this chip\n");
662215976Sjmallett	return CVMX_ADD_IO_SEG(0x0001070000000780ull);
663215976Sjmallett}
664215976Sjmallett#else
665215976Sjmallett#define CVMX_CIU_QLM0 (CVMX_ADD_IO_SEG(0x0001070000000780ull))
666215976Sjmallett#endif
667215976Sjmallett#if CVMX_ENABLE_CSR_ADDRESS_CHECKING
668215976Sjmallett#define CVMX_CIU_QLM1 CVMX_CIU_QLM1_FUNC()
669215976Sjmallettstatic inline uint64_t CVMX_CIU_QLM1_FUNC(void)
670215976Sjmallett{
671232812Sjmallett	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)))
672215976Sjmallett		cvmx_warn("CVMX_CIU_QLM1 not supported on this chip\n");
673215976Sjmallett	return CVMX_ADD_IO_SEG(0x0001070000000788ull);
674215976Sjmallett}
675215976Sjmallett#else
676215976Sjmallett#define CVMX_CIU_QLM1 (CVMX_ADD_IO_SEG(0x0001070000000788ull))
677215976Sjmallett#endif
678215976Sjmallett#if CVMX_ENABLE_CSR_ADDRESS_CHECKING
679215976Sjmallett#define CVMX_CIU_QLM2 CVMX_CIU_QLM2_FUNC()
680215976Sjmallettstatic inline uint64_t CVMX_CIU_QLM2_FUNC(void)
681215976Sjmallett{
682232812Sjmallett	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)))
683215976Sjmallett		cvmx_warn("CVMX_CIU_QLM2 not supported on this chip\n");
684215976Sjmallett	return CVMX_ADD_IO_SEG(0x0001070000000790ull);
685215976Sjmallett}
686215976Sjmallett#else
687215976Sjmallett#define CVMX_CIU_QLM2 (CVMX_ADD_IO_SEG(0x0001070000000790ull))
688215976Sjmallett#endif
689215976Sjmallett#if CVMX_ENABLE_CSR_ADDRESS_CHECKING
690232812Sjmallett#define CVMX_CIU_QLM3 CVMX_CIU_QLM3_FUNC()
691232812Sjmallettstatic inline uint64_t CVMX_CIU_QLM3_FUNC(void)
692232812Sjmallett{
693232812Sjmallett	if (!(OCTEON_IS_MODEL(OCTEON_CN68XX)))
694232812Sjmallett		cvmx_warn("CVMX_CIU_QLM3 not supported on this chip\n");
695232812Sjmallett	return CVMX_ADD_IO_SEG(0x0001070000000798ull);
696232812Sjmallett}
697232812Sjmallett#else
698232812Sjmallett#define CVMX_CIU_QLM3 (CVMX_ADD_IO_SEG(0x0001070000000798ull))
699232812Sjmallett#endif
700232812Sjmallett#if CVMX_ENABLE_CSR_ADDRESS_CHECKING
701232812Sjmallett#define CVMX_CIU_QLM4 CVMX_CIU_QLM4_FUNC()
702232812Sjmallettstatic inline uint64_t CVMX_CIU_QLM4_FUNC(void)
703232812Sjmallett{
704232812Sjmallett	if (!(OCTEON_IS_MODEL(OCTEON_CN68XX)))
705232812Sjmallett		cvmx_warn("CVMX_CIU_QLM4 not supported on this chip\n");
706232812Sjmallett	return CVMX_ADD_IO_SEG(0x00010700000007A0ull);
707232812Sjmallett}
708232812Sjmallett#else
709232812Sjmallett#define CVMX_CIU_QLM4 (CVMX_ADD_IO_SEG(0x00010700000007A0ull))
710232812Sjmallett#endif
711232812Sjmallett#if CVMX_ENABLE_CSR_ADDRESS_CHECKING
712215976Sjmallett#define CVMX_CIU_QLM_DCOK CVMX_CIU_QLM_DCOK_FUNC()
713215976Sjmallettstatic inline uint64_t CVMX_CIU_QLM_DCOK_FUNC(void)
714215976Sjmallett{
715215976Sjmallett	if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
716215976Sjmallett		cvmx_warn("CVMX_CIU_QLM_DCOK not supported on this chip\n");
717215976Sjmallett	return CVMX_ADD_IO_SEG(0x0001070000000760ull);
718215976Sjmallett}
719215976Sjmallett#else
720215976Sjmallett#define CVMX_CIU_QLM_DCOK (CVMX_ADD_IO_SEG(0x0001070000000760ull))
721215976Sjmallett#endif
722215976Sjmallett#if CVMX_ENABLE_CSR_ADDRESS_CHECKING
723215976Sjmallett#define CVMX_CIU_QLM_JTGC CVMX_CIU_QLM_JTGC_FUNC()
724215976Sjmallettstatic inline uint64_t CVMX_CIU_QLM_JTGC_FUNC(void)
725215976Sjmallett{
726232812Sjmallett	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)))
727215976Sjmallett		cvmx_warn("CVMX_CIU_QLM_JTGC not supported on this chip\n");
728215976Sjmallett	return CVMX_ADD_IO_SEG(0x0001070000000768ull);
729215976Sjmallett}
730215976Sjmallett#else
731215976Sjmallett#define CVMX_CIU_QLM_JTGC (CVMX_ADD_IO_SEG(0x0001070000000768ull))
732215976Sjmallett#endif
733215976Sjmallett#if CVMX_ENABLE_CSR_ADDRESS_CHECKING
734215976Sjmallett#define CVMX_CIU_QLM_JTGD CVMX_CIU_QLM_JTGD_FUNC()
735215976Sjmallettstatic inline uint64_t CVMX_CIU_QLM_JTGD_FUNC(void)
736215976Sjmallett{
737232812Sjmallett	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)))
738215976Sjmallett		cvmx_warn("CVMX_CIU_QLM_JTGD not supported on this chip\n");
739215976Sjmallett	return CVMX_ADD_IO_SEG(0x0001070000000770ull);
740215976Sjmallett}
741215976Sjmallett#else
742215976Sjmallett#define CVMX_CIU_QLM_JTGD (CVMX_ADD_IO_SEG(0x0001070000000770ull))
743215976Sjmallett#endif
744215976Sjmallett#define CVMX_CIU_SOFT_BIST (CVMX_ADD_IO_SEG(0x0001070000000738ull))
745215976Sjmallett#define CVMX_CIU_SOFT_PRST (CVMX_ADD_IO_SEG(0x0001070000000748ull))
746215976Sjmallett#if CVMX_ENABLE_CSR_ADDRESS_CHECKING
747215976Sjmallett#define CVMX_CIU_SOFT_PRST1 CVMX_CIU_SOFT_PRST1_FUNC()
748215976Sjmallettstatic inline uint64_t CVMX_CIU_SOFT_PRST1_FUNC(void)
749215976Sjmallett{
750232812Sjmallett	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)))
751215976Sjmallett		cvmx_warn("CVMX_CIU_SOFT_PRST1 not supported on this chip\n");
752215976Sjmallett	return CVMX_ADD_IO_SEG(0x0001070000000758ull);
753215976Sjmallett}
754215976Sjmallett#else
755215976Sjmallett#define CVMX_CIU_SOFT_PRST1 (CVMX_ADD_IO_SEG(0x0001070000000758ull))
756215976Sjmallett#endif
757232812Sjmallett#if CVMX_ENABLE_CSR_ADDRESS_CHECKING
758232812Sjmallett#define CVMX_CIU_SOFT_PRST2 CVMX_CIU_SOFT_PRST2_FUNC()
759232812Sjmallettstatic inline uint64_t CVMX_CIU_SOFT_PRST2_FUNC(void)
760232812Sjmallett{
761232812Sjmallett	if (!(OCTEON_IS_MODEL(OCTEON_CN66XX)))
762232812Sjmallett		cvmx_warn("CVMX_CIU_SOFT_PRST2 not supported on this chip\n");
763232812Sjmallett	return CVMX_ADD_IO_SEG(0x00010700000007D8ull);
764232812Sjmallett}
765232812Sjmallett#else
766232812Sjmallett#define CVMX_CIU_SOFT_PRST2 (CVMX_ADD_IO_SEG(0x00010700000007D8ull))
767232812Sjmallett#endif
768232812Sjmallett#if CVMX_ENABLE_CSR_ADDRESS_CHECKING
769232812Sjmallett#define CVMX_CIU_SOFT_PRST3 CVMX_CIU_SOFT_PRST3_FUNC()
770232812Sjmallettstatic inline uint64_t CVMX_CIU_SOFT_PRST3_FUNC(void)
771232812Sjmallett{
772232812Sjmallett	if (!(OCTEON_IS_MODEL(OCTEON_CN66XX)))
773232812Sjmallett		cvmx_warn("CVMX_CIU_SOFT_PRST3 not supported on this chip\n");
774232812Sjmallett	return CVMX_ADD_IO_SEG(0x00010700000007E0ull);
775232812Sjmallett}
776232812Sjmallett#else
777232812Sjmallett#define CVMX_CIU_SOFT_PRST3 (CVMX_ADD_IO_SEG(0x00010700000007E0ull))
778232812Sjmallett#endif
779215976Sjmallett#define CVMX_CIU_SOFT_RST (CVMX_ADD_IO_SEG(0x0001070000000740ull))
780215976Sjmallett#if CVMX_ENABLE_CSR_ADDRESS_CHECKING
781232812Sjmallettstatic inline uint64_t CVMX_CIU_SUM1_IOX_INT(unsigned long offset)
782232812Sjmallett{
783232812Sjmallett	if (!(
784232812Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((offset <= 1))) ||
785232812Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((offset <= 1))) ||
786232812Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((offset <= 1)))))
787232812Sjmallett		cvmx_warn("CVMX_CIU_SUM1_IOX_INT(%lu) is invalid on this chip\n", offset);
788232812Sjmallett	return CVMX_ADD_IO_SEG(0x0001070000008600ull) + ((offset) & 1) * 8;
789232812Sjmallett}
790232812Sjmallett#else
791232812Sjmallett#define CVMX_CIU_SUM1_IOX_INT(offset) (CVMX_ADD_IO_SEG(0x0001070000008600ull) + ((offset) & 1) * 8)
792232812Sjmallett#endif
793232812Sjmallett#if CVMX_ENABLE_CSR_ADDRESS_CHECKING
794232812Sjmallettstatic inline uint64_t CVMX_CIU_SUM1_PPX_IP2(unsigned long offset)
795232812Sjmallett{
796232812Sjmallett	if (!(
797232812Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((offset <= 3))) ||
798232812Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((offset <= 9))) ||
799232812Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((offset <= 3)))))
800232812Sjmallett		cvmx_warn("CVMX_CIU_SUM1_PPX_IP2(%lu) is invalid on this chip\n", offset);
801232812Sjmallett	return CVMX_ADD_IO_SEG(0x0001070000008000ull) + ((offset) & 15) * 8;
802232812Sjmallett}
803232812Sjmallett#else
804232812Sjmallett#define CVMX_CIU_SUM1_PPX_IP2(offset) (CVMX_ADD_IO_SEG(0x0001070000008000ull) + ((offset) & 15) * 8)
805232812Sjmallett#endif
806232812Sjmallett#if CVMX_ENABLE_CSR_ADDRESS_CHECKING
807232812Sjmallettstatic inline uint64_t CVMX_CIU_SUM1_PPX_IP3(unsigned long offset)
808232812Sjmallett{
809232812Sjmallett	if (!(
810232812Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((offset <= 3))) ||
811232812Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((offset <= 9))) ||
812232812Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((offset <= 3)))))
813232812Sjmallett		cvmx_warn("CVMX_CIU_SUM1_PPX_IP3(%lu) is invalid on this chip\n", offset);
814232812Sjmallett	return CVMX_ADD_IO_SEG(0x0001070000008200ull) + ((offset) & 15) * 8;
815232812Sjmallett}
816232812Sjmallett#else
817232812Sjmallett#define CVMX_CIU_SUM1_PPX_IP3(offset) (CVMX_ADD_IO_SEG(0x0001070000008200ull) + ((offset) & 15) * 8)
818232812Sjmallett#endif
819232812Sjmallett#if CVMX_ENABLE_CSR_ADDRESS_CHECKING
820232812Sjmallettstatic inline uint64_t CVMX_CIU_SUM1_PPX_IP4(unsigned long offset)
821232812Sjmallett{
822232812Sjmallett	if (!(
823232812Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((offset <= 3))) ||
824232812Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((offset <= 9))) ||
825232812Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((offset <= 3)))))
826232812Sjmallett		cvmx_warn("CVMX_CIU_SUM1_PPX_IP4(%lu) is invalid on this chip\n", offset);
827232812Sjmallett	return CVMX_ADD_IO_SEG(0x0001070000008400ull) + ((offset) & 15) * 8;
828232812Sjmallett}
829232812Sjmallett#else
830232812Sjmallett#define CVMX_CIU_SUM1_PPX_IP4(offset) (CVMX_ADD_IO_SEG(0x0001070000008400ull) + ((offset) & 15) * 8)
831232812Sjmallett#endif
832232812Sjmallett#if CVMX_ENABLE_CSR_ADDRESS_CHECKING
833232812Sjmallettstatic inline uint64_t CVMX_CIU_SUM2_IOX_INT(unsigned long offset)
834232812Sjmallett{
835232812Sjmallett	if (!(
836232812Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((offset <= 1))) ||
837232812Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((offset <= 1))) ||
838232812Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((offset <= 1)))))
839232812Sjmallett		cvmx_warn("CVMX_CIU_SUM2_IOX_INT(%lu) is invalid on this chip\n", offset);
840232812Sjmallett	return CVMX_ADD_IO_SEG(0x0001070000008E00ull) + ((offset) & 1) * 8;
841232812Sjmallett}
842232812Sjmallett#else
843232812Sjmallett#define CVMX_CIU_SUM2_IOX_INT(offset) (CVMX_ADD_IO_SEG(0x0001070000008E00ull) + ((offset) & 1) * 8)
844232812Sjmallett#endif
845232812Sjmallett#if CVMX_ENABLE_CSR_ADDRESS_CHECKING
846232812Sjmallettstatic inline uint64_t CVMX_CIU_SUM2_PPX_IP2(unsigned long offset)
847232812Sjmallett{
848232812Sjmallett	if (!(
849232812Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((offset <= 3))) ||
850232812Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((offset <= 9))) ||
851232812Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((offset <= 3)))))
852232812Sjmallett		cvmx_warn("CVMX_CIU_SUM2_PPX_IP2(%lu) is invalid on this chip\n", offset);
853232812Sjmallett	return CVMX_ADD_IO_SEG(0x0001070000008800ull) + ((offset) & 15) * 8;
854232812Sjmallett}
855232812Sjmallett#else
856232812Sjmallett#define CVMX_CIU_SUM2_PPX_IP2(offset) (CVMX_ADD_IO_SEG(0x0001070000008800ull) + ((offset) & 15) * 8)
857232812Sjmallett#endif
858232812Sjmallett#if CVMX_ENABLE_CSR_ADDRESS_CHECKING
859232812Sjmallettstatic inline uint64_t CVMX_CIU_SUM2_PPX_IP3(unsigned long offset)
860232812Sjmallett{
861232812Sjmallett	if (!(
862232812Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((offset <= 3))) ||
863232812Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((offset <= 9))) ||
864232812Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((offset <= 3)))))
865232812Sjmallett		cvmx_warn("CVMX_CIU_SUM2_PPX_IP3(%lu) is invalid on this chip\n", offset);
866232812Sjmallett	return CVMX_ADD_IO_SEG(0x0001070000008A00ull) + ((offset) & 15) * 8;
867232812Sjmallett}
868232812Sjmallett#else
869232812Sjmallett#define CVMX_CIU_SUM2_PPX_IP3(offset) (CVMX_ADD_IO_SEG(0x0001070000008A00ull) + ((offset) & 15) * 8)
870232812Sjmallett#endif
871232812Sjmallett#if CVMX_ENABLE_CSR_ADDRESS_CHECKING
872232812Sjmallettstatic inline uint64_t CVMX_CIU_SUM2_PPX_IP4(unsigned long offset)
873232812Sjmallett{
874232812Sjmallett	if (!(
875232812Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((offset <= 3))) ||
876232812Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((offset <= 9))) ||
877232812Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((offset <= 3)))))
878232812Sjmallett		cvmx_warn("CVMX_CIU_SUM2_PPX_IP4(%lu) is invalid on this chip\n", offset);
879232812Sjmallett	return CVMX_ADD_IO_SEG(0x0001070000008C00ull) + ((offset) & 15) * 8;
880232812Sjmallett}
881232812Sjmallett#else
882232812Sjmallett#define CVMX_CIU_SUM2_PPX_IP4(offset) (CVMX_ADD_IO_SEG(0x0001070000008C00ull) + ((offset) & 15) * 8)
883232812Sjmallett#endif
884232812Sjmallett#if CVMX_ENABLE_CSR_ADDRESS_CHECKING
885215976Sjmallettstatic inline uint64_t CVMX_CIU_TIMX(unsigned long offset)
886215976Sjmallett{
887215976Sjmallett	if (!(
888215976Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset <= 3))) ||
889215976Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 3))) ||
890215976Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((offset <= 3))) ||
891215976Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 3))) ||
892215976Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 3))) ||
893215976Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 3))) ||
894215976Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 3))) ||
895232812Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((offset <= 9))) ||
896232812Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((offset <= 3))) ||
897232812Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((offset <= 9))) ||
898232812Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((offset <= 3))) ||
899232812Sjmallett	      (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((offset <= 9)))))
900215976Sjmallett		cvmx_warn("CVMX_CIU_TIMX(%lu) is invalid on this chip\n", offset);
901232812Sjmallett	return CVMX_ADD_IO_SEG(0x0001070000000480ull) + ((offset) & 15) * 8;
902215976Sjmallett}
903215976Sjmallett#else
904232812Sjmallett#define CVMX_CIU_TIMX(offset) (CVMX_ADD_IO_SEG(0x0001070000000480ull) + ((offset) & 15) * 8)
905215976Sjmallett#endif
906215976Sjmallett#if CVMX_ENABLE_CSR_ADDRESS_CHECKING
907232812Sjmallett#define CVMX_CIU_TIM_MULTI_CAST CVMX_CIU_TIM_MULTI_CAST_FUNC()
908232812Sjmallettstatic inline uint64_t CVMX_CIU_TIM_MULTI_CAST_FUNC(void)
909215976Sjmallett{
910232812Sjmallett	if (!(OCTEON_IS_MODEL(OCTEON_CN61XX) || OCTEON_IS_MODEL(OCTEON_CN66XX) || OCTEON_IS_MODEL(OCTEON_CNF71XX)))
911232812Sjmallett		cvmx_warn("CVMX_CIU_TIM_MULTI_CAST not supported on this chip\n");
912232812Sjmallett	return CVMX_ADD_IO_SEG(0x000107000000C200ull);
913215976Sjmallett}
914215976Sjmallett#else
915232812Sjmallett#define CVMX_CIU_TIM_MULTI_CAST (CVMX_ADD_IO_SEG(0x000107000000C200ull))
916215976Sjmallett#endif
917232812Sjmallettstatic inline uint64_t CVMX_CIU_WDOGX(unsigned long offset)
918232812Sjmallett{
919232812Sjmallett	switch(cvmx_get_octeon_family()) {
920232812Sjmallett		case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
921232812Sjmallett			if ((offset == 0))
922232812Sjmallett				return CVMX_ADD_IO_SEG(0x0001070000000500ull) + ((offset) & 0) * 8;
923232812Sjmallett			break;
924232812Sjmallett		case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
925232812Sjmallett		case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
926232812Sjmallett		case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
927232812Sjmallett			if ((offset <= 3))
928232812Sjmallett				return CVMX_ADD_IO_SEG(0x0001070000000500ull) + ((offset) & 3) * 8;
929232812Sjmallett			break;
930232812Sjmallett		case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
931232812Sjmallett		case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
932232812Sjmallett			if ((offset <= 1))
933232812Sjmallett				return CVMX_ADD_IO_SEG(0x0001070000000500ull) + ((offset) & 1) * 8;
934232812Sjmallett			break;
935232812Sjmallett		case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
936232812Sjmallett		case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
937232812Sjmallett			if ((offset <= 15))
938232812Sjmallett				return CVMX_ADD_IO_SEG(0x0001070000000500ull) + ((offset) & 15) * 8;
939232812Sjmallett			break;
940232812Sjmallett		case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
941232812Sjmallett			if ((offset <= 11))
942232812Sjmallett				return CVMX_ADD_IO_SEG(0x0001070000000500ull) + ((offset) & 15) * 8;
943232812Sjmallett			break;
944232812Sjmallett		case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
945232812Sjmallett			if ((offset <= 9))
946232812Sjmallett				return CVMX_ADD_IO_SEG(0x0001070000000500ull) + ((offset) & 15) * 8;
947232812Sjmallett			break;
948232812Sjmallett		case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
949232812Sjmallett			if ((offset <= 5))
950232812Sjmallett				return CVMX_ADD_IO_SEG(0x0001070000000500ull) + ((offset) & 7) * 8;
951232812Sjmallett			break;
952232812Sjmallett		case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
953232812Sjmallett			if ((offset <= 31))
954232812Sjmallett				return CVMX_ADD_IO_SEG(0x0001070100100000ull) + ((offset) & 31) * 8;
955232812Sjmallett			break;
956232812Sjmallett	}
957232812Sjmallett	cvmx_warn("CVMX_CIU_WDOGX (offset = %lu) not supported on this chip\n", offset);
958232812Sjmallett	return CVMX_ADD_IO_SEG(0x0001070000000500ull) + ((offset) & 3) * 8;
959232812Sjmallett}
960215976Sjmallett
961215976Sjmallett/**
962215976Sjmallett * cvmx_ciu_bist
963215976Sjmallett */
964232812Sjmallettunion cvmx_ciu_bist {
965215976Sjmallett	uint64_t u64;
966232812Sjmallett	struct cvmx_ciu_bist_s {
967232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
968232812Sjmallett	uint64_t reserved_7_63                : 57;
969232812Sjmallett	uint64_t bist                         : 7;  /**< BIST Results.
970215976Sjmallett                                                         HW sets a bit in BIST for for memory that fails
971215976Sjmallett                                                         BIST. */
972215976Sjmallett#else
973232812Sjmallett	uint64_t bist                         : 7;
974232812Sjmallett	uint64_t reserved_7_63                : 57;
975215976Sjmallett#endif
976215976Sjmallett	} s;
977232812Sjmallett	struct cvmx_ciu_bist_cn30xx {
978232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
979215976Sjmallett	uint64_t reserved_4_63                : 60;
980215976Sjmallett	uint64_t bist                         : 4;  /**< BIST Results.
981215976Sjmallett                                                         HW sets a bit in BIST for for memory that fails
982215976Sjmallett                                                         BIST. */
983215976Sjmallett#else
984215976Sjmallett	uint64_t bist                         : 4;
985215976Sjmallett	uint64_t reserved_4_63                : 60;
986215976Sjmallett#endif
987215976Sjmallett	} cn30xx;
988215976Sjmallett	struct cvmx_ciu_bist_cn30xx           cn31xx;
989215976Sjmallett	struct cvmx_ciu_bist_cn30xx           cn38xx;
990215976Sjmallett	struct cvmx_ciu_bist_cn30xx           cn38xxp2;
991232812Sjmallett	struct cvmx_ciu_bist_cn50xx {
992232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
993215976Sjmallett	uint64_t reserved_2_63                : 62;
994215976Sjmallett	uint64_t bist                         : 2;  /**< BIST Results.
995215976Sjmallett                                                         HW sets a bit in BIST for for memory that fails
996215976Sjmallett                                                         BIST. */
997215976Sjmallett#else
998215976Sjmallett	uint64_t bist                         : 2;
999215976Sjmallett	uint64_t reserved_2_63                : 62;
1000215976Sjmallett#endif
1001215976Sjmallett	} cn50xx;
1002232812Sjmallett	struct cvmx_ciu_bist_cn52xx {
1003232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
1004215976Sjmallett	uint64_t reserved_3_63                : 61;
1005215976Sjmallett	uint64_t bist                         : 3;  /**< BIST Results.
1006215976Sjmallett                                                         HW sets a bit in BIST for for memory that fails
1007215976Sjmallett                                                         BIST. */
1008215976Sjmallett#else
1009215976Sjmallett	uint64_t bist                         : 3;
1010215976Sjmallett	uint64_t reserved_3_63                : 61;
1011215976Sjmallett#endif
1012215976Sjmallett	} cn52xx;
1013215976Sjmallett	struct cvmx_ciu_bist_cn52xx           cn52xxp1;
1014215976Sjmallett	struct cvmx_ciu_bist_cn30xx           cn56xx;
1015215976Sjmallett	struct cvmx_ciu_bist_cn30xx           cn56xxp1;
1016215976Sjmallett	struct cvmx_ciu_bist_cn30xx           cn58xx;
1017215976Sjmallett	struct cvmx_ciu_bist_cn30xx           cn58xxp1;
1018232812Sjmallett	struct cvmx_ciu_bist_cn61xx {
1019232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
1020232812Sjmallett	uint64_t reserved_6_63                : 58;
1021232812Sjmallett	uint64_t bist                         : 6;  /**< BIST Results.
1022232812Sjmallett                                                         HW sets a bit in BIST for for memory that fails
1023232812Sjmallett                                                         BIST. */
1024232812Sjmallett#else
1025232812Sjmallett	uint64_t bist                         : 6;
1026232812Sjmallett	uint64_t reserved_6_63                : 58;
1027232812Sjmallett#endif
1028232812Sjmallett	} cn61xx;
1029232812Sjmallett	struct cvmx_ciu_bist_cn63xx {
1030232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
1031232812Sjmallett	uint64_t reserved_5_63                : 59;
1032232812Sjmallett	uint64_t bist                         : 5;  /**< BIST Results.
1033232812Sjmallett                                                         HW sets a bit in BIST for for memory that fails
1034232812Sjmallett                                                         BIST. */
1035232812Sjmallett#else
1036232812Sjmallett	uint64_t bist                         : 5;
1037232812Sjmallett	uint64_t reserved_5_63                : 59;
1038232812Sjmallett#endif
1039232812Sjmallett	} cn63xx;
1040232812Sjmallett	struct cvmx_ciu_bist_cn63xx           cn63xxp1;
1041232812Sjmallett	struct cvmx_ciu_bist_cn61xx           cn66xx;
1042232812Sjmallett	struct cvmx_ciu_bist_s                cn68xx;
1043232812Sjmallett	struct cvmx_ciu_bist_s                cn68xxp1;
1044232812Sjmallett	struct cvmx_ciu_bist_cn61xx           cnf71xx;
1045215976Sjmallett};
1046215976Sjmalletttypedef union cvmx_ciu_bist cvmx_ciu_bist_t;
1047215976Sjmallett
1048215976Sjmallett/**
1049215976Sjmallett * cvmx_ciu_block_int
1050215976Sjmallett *
1051215976Sjmallett * CIU_BLOCK_INT = CIU Blocks Interrupt
1052215976Sjmallett *
1053215976Sjmallett * The interrupt lines from the various chip blocks.
1054215976Sjmallett */
1055232812Sjmallettunion cvmx_ciu_block_int {
1056215976Sjmallett	uint64_t u64;
1057232812Sjmallett	struct cvmx_ciu_block_int_s {
1058232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
1059232812Sjmallett	uint64_t reserved_62_63               : 2;
1060232812Sjmallett	uint64_t srio3                        : 1;  /**< SRIO3 interrupt
1061232812Sjmallett                                                         See SRIO3_INT_REG, SRIO3_INT2_REG */
1062232812Sjmallett	uint64_t srio2                        : 1;  /**< SRIO2 interrupt
1063232812Sjmallett                                                         See SRIO2_INT_REG, SRIO2_INT2_REG */
1064232812Sjmallett	uint64_t reserved_43_59               : 17;
1065215976Sjmallett	uint64_t ptp                          : 1;  /**< PTP interrupt
1066215976Sjmallett                                                         See CIU_INT_SUM1[PTP] */
1067215976Sjmallett	uint64_t dpi                          : 1;  /**< DPI interrupt
1068215976Sjmallett                                                         See DPI_INT_REG */
1069215976Sjmallett	uint64_t dfm                          : 1;  /**< DFM interrupt
1070215976Sjmallett                                                         See DFM_FNT_STAT */
1071215976Sjmallett	uint64_t reserved_34_39               : 6;
1072215976Sjmallett	uint64_t srio1                        : 1;  /**< SRIO1 interrupt
1073215976Sjmallett                                                         See SRIO1_INT_REG */
1074215976Sjmallett	uint64_t srio0                        : 1;  /**< SRIO0 interrupt
1075232812Sjmallett                                                         See SRIO0_INT_REG, SRIO0_INT2_REG */
1076215976Sjmallett	uint64_t reserved_31_31               : 1;
1077215976Sjmallett	uint64_t iob                          : 1;  /**< IOB interrupt
1078215976Sjmallett                                                         See IOB_INT_SUM */
1079215976Sjmallett	uint64_t reserved_29_29               : 1;
1080215976Sjmallett	uint64_t agl                          : 1;  /**< AGL interrupt
1081215976Sjmallett                                                         See AGL_GMX_RX*_INT_REG, AGL_GMX_TX_INT_REG */
1082215976Sjmallett	uint64_t reserved_27_27               : 1;
1083215976Sjmallett	uint64_t pem1                         : 1;  /**< PEM1 interrupt
1084215976Sjmallett                                                         See PEM1_INT_SUM (enabled by PEM1_INT_ENB) */
1085215976Sjmallett	uint64_t pem0                         : 1;  /**< PEM0 interrupt
1086215976Sjmallett                                                         See PEM0_INT_SUM (enabled by PEM0_INT_ENB) */
1087232812Sjmallett	uint64_t reserved_24_24               : 1;
1088232812Sjmallett	uint64_t asxpcs1                      : 1;  /**< See PCS1_INT*_REG, PCSX1_INT_REG */
1089232812Sjmallett	uint64_t asxpcs0                      : 1;  /**< See PCS0_INT*_REG, PCSX0_INT_REG */
1090232812Sjmallett	uint64_t reserved_21_21               : 1;
1091232812Sjmallett	uint64_t pip                          : 1;  /**< PIP interrupt
1092232812Sjmallett                                                         See PIP_INT_REG */
1093232812Sjmallett	uint64_t reserved_18_19               : 2;
1094232812Sjmallett	uint64_t lmc0                         : 1;  /**< LMC0 interrupt
1095232812Sjmallett                                                         See LMC0_INT */
1096232812Sjmallett	uint64_t l2c                          : 1;  /**< L2C interrupt
1097232812Sjmallett                                                         See L2C_INT_REG */
1098232812Sjmallett	uint64_t reserved_15_15               : 1;
1099232812Sjmallett	uint64_t rad                          : 1;  /**< RAD interrupt
1100232812Sjmallett                                                         See RAD_REG_ERROR */
1101232812Sjmallett	uint64_t usb                          : 1;  /**< USB UCTL0 interrupt
1102232812Sjmallett                                                         See UCTL0_INT_REG */
1103232812Sjmallett	uint64_t pow                          : 1;  /**< POW err interrupt
1104232812Sjmallett                                                         See POW_ECC_ERR */
1105232812Sjmallett	uint64_t tim                          : 1;  /**< TIM interrupt
1106232812Sjmallett                                                         See TIM_REG_ERROR */
1107232812Sjmallett	uint64_t pko                          : 1;  /**< PKO interrupt
1108232812Sjmallett                                                         See PKO_REG_ERROR */
1109232812Sjmallett	uint64_t ipd                          : 1;  /**< IPD interrupt
1110232812Sjmallett                                                         See IPD_INT_SUM */
1111232812Sjmallett	uint64_t reserved_8_8                 : 1;
1112232812Sjmallett	uint64_t zip                          : 1;  /**< ZIP interrupt
1113232812Sjmallett                                                         See ZIP_ERROR */
1114232812Sjmallett	uint64_t dfa                          : 1;  /**< DFA interrupt
1115232812Sjmallett                                                         See DFA_ERROR */
1116232812Sjmallett	uint64_t fpa                          : 1;  /**< FPA interrupt
1117232812Sjmallett                                                         See FPA_INT_SUM */
1118232812Sjmallett	uint64_t key                          : 1;  /**< KEY interrupt
1119232812Sjmallett                                                         See KEY_INT_SUM */
1120232812Sjmallett	uint64_t sli                          : 1;  /**< SLI interrupt
1121232812Sjmallett                                                         See SLI_INT_SUM (enabled by SLI_INT_ENB_CIU) */
1122232812Sjmallett	uint64_t gmx1                         : 1;  /**< GMX1 interrupt
1123232812Sjmallett                                                         See GMX1_RX*_INT_REG, GMX1_TX_INT_REG */
1124232812Sjmallett	uint64_t gmx0                         : 1;  /**< GMX0 interrupt
1125232812Sjmallett                                                         See GMX0_RX*_INT_REG, GMX0_TX_INT_REG */
1126232812Sjmallett	uint64_t mio                          : 1;  /**< MIO boot interrupt
1127232812Sjmallett                                                         See MIO_BOOT_ERR */
1128232812Sjmallett#else
1129232812Sjmallett	uint64_t mio                          : 1;
1130232812Sjmallett	uint64_t gmx0                         : 1;
1131232812Sjmallett	uint64_t gmx1                         : 1;
1132232812Sjmallett	uint64_t sli                          : 1;
1133232812Sjmallett	uint64_t key                          : 1;
1134232812Sjmallett	uint64_t fpa                          : 1;
1135232812Sjmallett	uint64_t dfa                          : 1;
1136232812Sjmallett	uint64_t zip                          : 1;
1137232812Sjmallett	uint64_t reserved_8_8                 : 1;
1138232812Sjmallett	uint64_t ipd                          : 1;
1139232812Sjmallett	uint64_t pko                          : 1;
1140232812Sjmallett	uint64_t tim                          : 1;
1141232812Sjmallett	uint64_t pow                          : 1;
1142232812Sjmallett	uint64_t usb                          : 1;
1143232812Sjmallett	uint64_t rad                          : 1;
1144232812Sjmallett	uint64_t reserved_15_15               : 1;
1145232812Sjmallett	uint64_t l2c                          : 1;
1146232812Sjmallett	uint64_t lmc0                         : 1;
1147232812Sjmallett	uint64_t reserved_18_19               : 2;
1148232812Sjmallett	uint64_t pip                          : 1;
1149232812Sjmallett	uint64_t reserved_21_21               : 1;
1150232812Sjmallett	uint64_t asxpcs0                      : 1;
1151232812Sjmallett	uint64_t asxpcs1                      : 1;
1152232812Sjmallett	uint64_t reserved_24_24               : 1;
1153232812Sjmallett	uint64_t pem0                         : 1;
1154232812Sjmallett	uint64_t pem1                         : 1;
1155232812Sjmallett	uint64_t reserved_27_27               : 1;
1156232812Sjmallett	uint64_t agl                          : 1;
1157232812Sjmallett	uint64_t reserved_29_29               : 1;
1158232812Sjmallett	uint64_t iob                          : 1;
1159232812Sjmallett	uint64_t reserved_31_31               : 1;
1160232812Sjmallett	uint64_t srio0                        : 1;
1161232812Sjmallett	uint64_t srio1                        : 1;
1162232812Sjmallett	uint64_t reserved_34_39               : 6;
1163232812Sjmallett	uint64_t dfm                          : 1;
1164232812Sjmallett	uint64_t dpi                          : 1;
1165232812Sjmallett	uint64_t ptp                          : 1;
1166232812Sjmallett	uint64_t reserved_43_59               : 17;
1167232812Sjmallett	uint64_t srio2                        : 1;
1168232812Sjmallett	uint64_t srio3                        : 1;
1169232812Sjmallett	uint64_t reserved_62_63               : 2;
1170232812Sjmallett#endif
1171232812Sjmallett	} s;
1172232812Sjmallett	struct cvmx_ciu_block_int_cn61xx {
1173232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
1174232812Sjmallett	uint64_t reserved_43_63               : 21;
1175232812Sjmallett	uint64_t ptp                          : 1;  /**< PTP interrupt
1176232812Sjmallett                                                         See CIU_INT_SUM1[PTP] */
1177232812Sjmallett	uint64_t dpi                          : 1;  /**< DPI interrupt
1178232812Sjmallett                                                         See DPI_INT_REG */
1179232812Sjmallett	uint64_t reserved_31_40               : 10;
1180232812Sjmallett	uint64_t iob                          : 1;  /**< IOB interrupt
1181232812Sjmallett                                                         See IOB_INT_SUM */
1182232812Sjmallett	uint64_t reserved_29_29               : 1;
1183232812Sjmallett	uint64_t agl                          : 1;  /**< AGL interrupt
1184232812Sjmallett                                                         See AGL_GMX_RX*_INT_REG, AGL_GMX_TX_INT_REG */
1185232812Sjmallett	uint64_t reserved_27_27               : 1;
1186232812Sjmallett	uint64_t pem1                         : 1;  /**< PEM1 interrupt
1187232812Sjmallett                                                         See PEM1_INT_SUM (enabled by PEM1_INT_ENB) */
1188232812Sjmallett	uint64_t pem0                         : 1;  /**< PEM0 interrupt
1189232812Sjmallett                                                         See PEM0_INT_SUM (enabled by PEM0_INT_ENB) */
1190232812Sjmallett	uint64_t reserved_24_24               : 1;
1191232812Sjmallett	uint64_t asxpcs1                      : 1;  /**< See PCS1_INT*_REG, PCSX1_INT_REG */
1192232812Sjmallett	uint64_t asxpcs0                      : 1;  /**< See PCS0_INT*_REG, PCSX0_INT_REG */
1193232812Sjmallett	uint64_t reserved_21_21               : 1;
1194232812Sjmallett	uint64_t pip                          : 1;  /**< PIP interrupt
1195232812Sjmallett                                                         See PIP_INT_REG */
1196232812Sjmallett	uint64_t reserved_18_19               : 2;
1197232812Sjmallett	uint64_t lmc0                         : 1;  /**< LMC0 interrupt
1198232812Sjmallett                                                         See LMC0_INT */
1199232812Sjmallett	uint64_t l2c                          : 1;  /**< L2C interrupt
1200232812Sjmallett                                                         See L2C_INT_REG */
1201232812Sjmallett	uint64_t reserved_15_15               : 1;
1202232812Sjmallett	uint64_t rad                          : 1;  /**< RAD interrupt
1203232812Sjmallett                                                         See RAD_REG_ERROR */
1204232812Sjmallett	uint64_t usb                          : 1;  /**< USB UCTL0 interrupt
1205232812Sjmallett                                                         See UCTL0_INT_REG */
1206232812Sjmallett	uint64_t pow                          : 1;  /**< POW err interrupt
1207232812Sjmallett                                                         See POW_ECC_ERR */
1208232812Sjmallett	uint64_t tim                          : 1;  /**< TIM interrupt
1209232812Sjmallett                                                         See TIM_REG_ERROR */
1210232812Sjmallett	uint64_t pko                          : 1;  /**< PKO interrupt
1211232812Sjmallett                                                         See PKO_REG_ERROR */
1212232812Sjmallett	uint64_t ipd                          : 1;  /**< IPD interrupt
1213232812Sjmallett                                                         See IPD_INT_SUM */
1214232812Sjmallett	uint64_t reserved_8_8                 : 1;
1215232812Sjmallett	uint64_t zip                          : 1;  /**< ZIP interrupt
1216232812Sjmallett                                                         See ZIP_ERROR */
1217232812Sjmallett	uint64_t dfa                          : 1;  /**< DFA interrupt
1218232812Sjmallett                                                         See DFA_ERROR */
1219232812Sjmallett	uint64_t fpa                          : 1;  /**< FPA interrupt
1220232812Sjmallett                                                         See FPA_INT_SUM */
1221232812Sjmallett	uint64_t key                          : 1;  /**< KEY interrupt
1222232812Sjmallett                                                         See KEY_INT_SUM */
1223232812Sjmallett	uint64_t sli                          : 1;  /**< SLI interrupt
1224232812Sjmallett                                                         See SLI_INT_SUM (enabled by SLI_INT_ENB_CIU) */
1225232812Sjmallett	uint64_t gmx1                         : 1;  /**< GMX1 interrupt
1226232812Sjmallett                                                         See GMX1_RX*_INT_REG, GMX1_TX_INT_REG */
1227232812Sjmallett	uint64_t gmx0                         : 1;  /**< GMX0 interrupt
1228232812Sjmallett                                                         See GMX0_RX*_INT_REG, GMX0_TX_INT_REG */
1229232812Sjmallett	uint64_t mio                          : 1;  /**< MIO boot interrupt
1230232812Sjmallett                                                         See MIO_BOOT_ERR */
1231232812Sjmallett#else
1232232812Sjmallett	uint64_t mio                          : 1;
1233232812Sjmallett	uint64_t gmx0                         : 1;
1234232812Sjmallett	uint64_t gmx1                         : 1;
1235232812Sjmallett	uint64_t sli                          : 1;
1236232812Sjmallett	uint64_t key                          : 1;
1237232812Sjmallett	uint64_t fpa                          : 1;
1238232812Sjmallett	uint64_t dfa                          : 1;
1239232812Sjmallett	uint64_t zip                          : 1;
1240232812Sjmallett	uint64_t reserved_8_8                 : 1;
1241232812Sjmallett	uint64_t ipd                          : 1;
1242232812Sjmallett	uint64_t pko                          : 1;
1243232812Sjmallett	uint64_t tim                          : 1;
1244232812Sjmallett	uint64_t pow                          : 1;
1245232812Sjmallett	uint64_t usb                          : 1;
1246232812Sjmallett	uint64_t rad                          : 1;
1247232812Sjmallett	uint64_t reserved_15_15               : 1;
1248232812Sjmallett	uint64_t l2c                          : 1;
1249232812Sjmallett	uint64_t lmc0                         : 1;
1250232812Sjmallett	uint64_t reserved_18_19               : 2;
1251232812Sjmallett	uint64_t pip                          : 1;
1252232812Sjmallett	uint64_t reserved_21_21               : 1;
1253232812Sjmallett	uint64_t asxpcs0                      : 1;
1254232812Sjmallett	uint64_t asxpcs1                      : 1;
1255232812Sjmallett	uint64_t reserved_24_24               : 1;
1256232812Sjmallett	uint64_t pem0                         : 1;
1257232812Sjmallett	uint64_t pem1                         : 1;
1258232812Sjmallett	uint64_t reserved_27_27               : 1;
1259232812Sjmallett	uint64_t agl                          : 1;
1260232812Sjmallett	uint64_t reserved_29_29               : 1;
1261232812Sjmallett	uint64_t iob                          : 1;
1262232812Sjmallett	uint64_t reserved_31_40               : 10;
1263232812Sjmallett	uint64_t dpi                          : 1;
1264232812Sjmallett	uint64_t ptp                          : 1;
1265232812Sjmallett	uint64_t reserved_43_63               : 21;
1266232812Sjmallett#endif
1267232812Sjmallett	} cn61xx;
1268232812Sjmallett	struct cvmx_ciu_block_int_cn63xx {
1269232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
1270232812Sjmallett	uint64_t reserved_43_63               : 21;
1271232812Sjmallett	uint64_t ptp                          : 1;  /**< PTP interrupt
1272232812Sjmallett                                                         See CIU_INT_SUM1[PTP] */
1273232812Sjmallett	uint64_t dpi                          : 1;  /**< DPI interrupt
1274232812Sjmallett                                                         See DPI_INT_REG */
1275232812Sjmallett	uint64_t dfm                          : 1;  /**< DFM interrupt
1276232812Sjmallett                                                         See DFM_FNT_STAT */
1277232812Sjmallett	uint64_t reserved_34_39               : 6;
1278232812Sjmallett	uint64_t srio1                        : 1;  /**< SRIO1 interrupt
1279232812Sjmallett                                                         See SRIO1_INT_REG, SRIO1_INT2_REG */
1280232812Sjmallett	uint64_t srio0                        : 1;  /**< SRIO0 interrupt
1281232812Sjmallett                                                         See SRIO0_INT_REG, SRIO0_INT2_REG */
1282232812Sjmallett	uint64_t reserved_31_31               : 1;
1283232812Sjmallett	uint64_t iob                          : 1;  /**< IOB interrupt
1284232812Sjmallett                                                         See IOB_INT_SUM */
1285232812Sjmallett	uint64_t reserved_29_29               : 1;
1286232812Sjmallett	uint64_t agl                          : 1;  /**< AGL interrupt
1287232812Sjmallett                                                         See AGL_GMX_RX*_INT_REG, AGL_GMX_TX_INT_REG */
1288232812Sjmallett	uint64_t reserved_27_27               : 1;
1289232812Sjmallett	uint64_t pem1                         : 1;  /**< PEM1 interrupt
1290232812Sjmallett                                                         See PEM1_INT_SUM (enabled by PEM1_INT_ENB) */
1291232812Sjmallett	uint64_t pem0                         : 1;  /**< PEM0 interrupt
1292232812Sjmallett                                                         See PEM0_INT_SUM (enabled by PEM0_INT_ENB) */
1293215976Sjmallett	uint64_t reserved_23_24               : 2;
1294215976Sjmallett	uint64_t asxpcs0                      : 1;  /**< See PCS0_INT*_REG, PCSX0_INT_REG */
1295215976Sjmallett	uint64_t reserved_21_21               : 1;
1296215976Sjmallett	uint64_t pip                          : 1;  /**< PIP interrupt
1297215976Sjmallett                                                         See PIP_INT_REG */
1298215976Sjmallett	uint64_t reserved_18_19               : 2;
1299215976Sjmallett	uint64_t lmc0                         : 1;  /**< LMC0 interrupt
1300215976Sjmallett                                                         See LMC0_INT */
1301215976Sjmallett	uint64_t l2c                          : 1;  /**< L2C interrupt
1302215976Sjmallett                                                         See L2C_INT_REG */
1303215976Sjmallett	uint64_t reserved_15_15               : 1;
1304215976Sjmallett	uint64_t rad                          : 1;  /**< RAD interrupt
1305215976Sjmallett                                                         See RAD_REG_ERROR */
1306215976Sjmallett	uint64_t usb                          : 1;  /**< USB UCTL0 interrupt
1307215976Sjmallett                                                         See UCTL0_INT_REG */
1308215976Sjmallett	uint64_t pow                          : 1;  /**< POW err interrupt
1309215976Sjmallett                                                         See POW_ECC_ERR */
1310215976Sjmallett	uint64_t tim                          : 1;  /**< TIM interrupt
1311215976Sjmallett                                                         See TIM_REG_ERROR */
1312215976Sjmallett	uint64_t pko                          : 1;  /**< PKO interrupt
1313215976Sjmallett                                                         See PKO_REG_ERROR */
1314215976Sjmallett	uint64_t ipd                          : 1;  /**< IPD interrupt
1315215976Sjmallett                                                         See IPD_INT_SUM */
1316215976Sjmallett	uint64_t reserved_8_8                 : 1;
1317215976Sjmallett	uint64_t zip                          : 1;  /**< ZIP interrupt
1318215976Sjmallett                                                         See ZIP_ERROR */
1319215976Sjmallett	uint64_t dfa                          : 1;  /**< DFA interrupt
1320215976Sjmallett                                                         See DFA_ERROR */
1321215976Sjmallett	uint64_t fpa                          : 1;  /**< FPA interrupt
1322215976Sjmallett                                                         See FPA_INT_SUM */
1323215976Sjmallett	uint64_t key                          : 1;  /**< KEY interrupt
1324215976Sjmallett                                                         See KEY_INT_SUM */
1325215976Sjmallett	uint64_t sli                          : 1;  /**< SLI interrupt
1326215976Sjmallett                                                         See SLI_INT_SUM (enabled by SLI_INT_ENB_CIU) */
1327215976Sjmallett	uint64_t reserved_2_2                 : 1;
1328215976Sjmallett	uint64_t gmx0                         : 1;  /**< GMX0 interrupt
1329215976Sjmallett                                                         See GMX0_RX*_INT_REG, GMX0_TX_INT_REG */
1330215976Sjmallett	uint64_t mio                          : 1;  /**< MIO boot interrupt
1331215976Sjmallett                                                         See MIO_BOOT_ERR */
1332215976Sjmallett#else
1333215976Sjmallett	uint64_t mio                          : 1;
1334215976Sjmallett	uint64_t gmx0                         : 1;
1335215976Sjmallett	uint64_t reserved_2_2                 : 1;
1336215976Sjmallett	uint64_t sli                          : 1;
1337215976Sjmallett	uint64_t key                          : 1;
1338215976Sjmallett	uint64_t fpa                          : 1;
1339215976Sjmallett	uint64_t dfa                          : 1;
1340215976Sjmallett	uint64_t zip                          : 1;
1341215976Sjmallett	uint64_t reserved_8_8                 : 1;
1342215976Sjmallett	uint64_t ipd                          : 1;
1343215976Sjmallett	uint64_t pko                          : 1;
1344215976Sjmallett	uint64_t tim                          : 1;
1345215976Sjmallett	uint64_t pow                          : 1;
1346215976Sjmallett	uint64_t usb                          : 1;
1347215976Sjmallett	uint64_t rad                          : 1;
1348215976Sjmallett	uint64_t reserved_15_15               : 1;
1349215976Sjmallett	uint64_t l2c                          : 1;
1350215976Sjmallett	uint64_t lmc0                         : 1;
1351215976Sjmallett	uint64_t reserved_18_19               : 2;
1352215976Sjmallett	uint64_t pip                          : 1;
1353215976Sjmallett	uint64_t reserved_21_21               : 1;
1354215976Sjmallett	uint64_t asxpcs0                      : 1;
1355215976Sjmallett	uint64_t reserved_23_24               : 2;
1356215976Sjmallett	uint64_t pem0                         : 1;
1357215976Sjmallett	uint64_t pem1                         : 1;
1358215976Sjmallett	uint64_t reserved_27_27               : 1;
1359215976Sjmallett	uint64_t agl                          : 1;
1360215976Sjmallett	uint64_t reserved_29_29               : 1;
1361215976Sjmallett	uint64_t iob                          : 1;
1362215976Sjmallett	uint64_t reserved_31_31               : 1;
1363215976Sjmallett	uint64_t srio0                        : 1;
1364215976Sjmallett	uint64_t srio1                        : 1;
1365215976Sjmallett	uint64_t reserved_34_39               : 6;
1366215976Sjmallett	uint64_t dfm                          : 1;
1367215976Sjmallett	uint64_t dpi                          : 1;
1368215976Sjmallett	uint64_t ptp                          : 1;
1369215976Sjmallett	uint64_t reserved_43_63               : 21;
1370215976Sjmallett#endif
1371232812Sjmallett	} cn63xx;
1372232812Sjmallett	struct cvmx_ciu_block_int_cn63xx      cn63xxp1;
1373232812Sjmallett	struct cvmx_ciu_block_int_cn66xx {
1374232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
1375232812Sjmallett	uint64_t reserved_62_63               : 2;
1376232812Sjmallett	uint64_t srio3                        : 1;  /**< SRIO3 interrupt
1377232812Sjmallett                                                         See SRIO3_INT_REG, SRIO3_INT2_REG */
1378232812Sjmallett	uint64_t srio2                        : 1;  /**< SRIO2 interrupt
1379232812Sjmallett                                                         See SRIO2_INT_REG, SRIO2_INT2_REG */
1380232812Sjmallett	uint64_t reserved_43_59               : 17;
1381232812Sjmallett	uint64_t ptp                          : 1;  /**< PTP interrupt
1382232812Sjmallett                                                         See CIU_INT_SUM1[PTP] */
1383232812Sjmallett	uint64_t dpi                          : 1;  /**< DPI interrupt
1384232812Sjmallett                                                         See DPI_INT_REG */
1385232812Sjmallett	uint64_t dfm                          : 1;  /**< DFM interrupt
1386232812Sjmallett                                                         See DFM_FNT_STAT */
1387232812Sjmallett	uint64_t reserved_33_39               : 7;
1388232812Sjmallett	uint64_t srio0                        : 1;  /**< SRIO0 interrupt
1389232812Sjmallett                                                         See SRIO0_INT_REG, SRIO0_INT2_REG */
1390232812Sjmallett	uint64_t reserved_31_31               : 1;
1391232812Sjmallett	uint64_t iob                          : 1;  /**< IOB interrupt
1392232812Sjmallett                                                         See IOB_INT_SUM */
1393232812Sjmallett	uint64_t reserved_29_29               : 1;
1394232812Sjmallett	uint64_t agl                          : 1;  /**< AGL interrupt
1395232812Sjmallett                                                         See AGL_GMX_RX*_INT_REG, AGL_GMX_TX_INT_REG */
1396232812Sjmallett	uint64_t reserved_27_27               : 1;
1397232812Sjmallett	uint64_t pem1                         : 1;  /**< PEM1 interrupt
1398232812Sjmallett                                                         See PEM1_INT_SUM (enabled by PEM1_INT_ENB) */
1399232812Sjmallett	uint64_t pem0                         : 1;  /**< PEM0 interrupt
1400232812Sjmallett                                                         See PEM0_INT_SUM (enabled by PEM0_INT_ENB) */
1401232812Sjmallett	uint64_t reserved_24_24               : 1;
1402232812Sjmallett	uint64_t asxpcs1                      : 1;  /**< See PCS1_INT*_REG, PCSX1_INT_REG */
1403232812Sjmallett	uint64_t asxpcs0                      : 1;  /**< See PCS0_INT*_REG, PCSX0_INT_REG */
1404232812Sjmallett	uint64_t reserved_21_21               : 1;
1405232812Sjmallett	uint64_t pip                          : 1;  /**< PIP interrupt
1406232812Sjmallett                                                         See PIP_INT_REG */
1407232812Sjmallett	uint64_t reserved_18_19               : 2;
1408232812Sjmallett	uint64_t lmc0                         : 1;  /**< LMC0 interrupt
1409232812Sjmallett                                                         See LMC0_INT */
1410232812Sjmallett	uint64_t l2c                          : 1;  /**< L2C interrupt
1411232812Sjmallett                                                         See L2C_INT_REG */
1412232812Sjmallett	uint64_t reserved_15_15               : 1;
1413232812Sjmallett	uint64_t rad                          : 1;  /**< RAD interrupt
1414232812Sjmallett                                                         See RAD_REG_ERROR */
1415232812Sjmallett	uint64_t usb                          : 1;  /**< USB UCTL0 interrupt
1416232812Sjmallett                                                         See UCTL0_INT_REG */
1417232812Sjmallett	uint64_t pow                          : 1;  /**< POW err interrupt
1418232812Sjmallett                                                         See POW_ECC_ERR */
1419232812Sjmallett	uint64_t tim                          : 1;  /**< TIM interrupt
1420232812Sjmallett                                                         See TIM_REG_ERROR */
1421232812Sjmallett	uint64_t pko                          : 1;  /**< PKO interrupt
1422232812Sjmallett                                                         See PKO_REG_ERROR */
1423232812Sjmallett	uint64_t ipd                          : 1;  /**< IPD interrupt
1424232812Sjmallett                                                         See IPD_INT_SUM */
1425232812Sjmallett	uint64_t reserved_8_8                 : 1;
1426232812Sjmallett	uint64_t zip                          : 1;  /**< ZIP interrupt
1427232812Sjmallett                                                         See ZIP_ERROR */
1428232812Sjmallett	uint64_t dfa                          : 1;  /**< DFA interrupt
1429232812Sjmallett                                                         See DFA_ERROR */
1430232812Sjmallett	uint64_t fpa                          : 1;  /**< FPA interrupt
1431232812Sjmallett                                                         See FPA_INT_SUM */
1432232812Sjmallett	uint64_t key                          : 1;  /**< KEY interrupt
1433232812Sjmallett                                                         See KEY_INT_SUM */
1434232812Sjmallett	uint64_t sli                          : 1;  /**< SLI interrupt
1435232812Sjmallett                                                         See SLI_INT_SUM (enabled by SLI_INT_ENB_CIU) */
1436232812Sjmallett	uint64_t gmx1                         : 1;  /**< GMX1 interrupt
1437232812Sjmallett                                                         See GMX1_RX*_INT_REG, GMX1_TX_INT_REG */
1438232812Sjmallett	uint64_t gmx0                         : 1;  /**< GMX0 interrupt
1439232812Sjmallett                                                         See GMX0_RX*_INT_REG, GMX0_TX_INT_REG */
1440232812Sjmallett	uint64_t mio                          : 1;  /**< MIO boot interrupt
1441232812Sjmallett                                                         See MIO_BOOT_ERR */
1442232812Sjmallett#else
1443232812Sjmallett	uint64_t mio                          : 1;
1444232812Sjmallett	uint64_t gmx0                         : 1;
1445232812Sjmallett	uint64_t gmx1                         : 1;
1446232812Sjmallett	uint64_t sli                          : 1;
1447232812Sjmallett	uint64_t key                          : 1;
1448232812Sjmallett	uint64_t fpa                          : 1;
1449232812Sjmallett	uint64_t dfa                          : 1;
1450232812Sjmallett	uint64_t zip                          : 1;
1451232812Sjmallett	uint64_t reserved_8_8                 : 1;
1452232812Sjmallett	uint64_t ipd                          : 1;
1453232812Sjmallett	uint64_t pko                          : 1;
1454232812Sjmallett	uint64_t tim                          : 1;
1455232812Sjmallett	uint64_t pow                          : 1;
1456232812Sjmallett	uint64_t usb                          : 1;
1457232812Sjmallett	uint64_t rad                          : 1;
1458232812Sjmallett	uint64_t reserved_15_15               : 1;
1459232812Sjmallett	uint64_t l2c                          : 1;
1460232812Sjmallett	uint64_t lmc0                         : 1;
1461232812Sjmallett	uint64_t reserved_18_19               : 2;
1462232812Sjmallett	uint64_t pip                          : 1;
1463232812Sjmallett	uint64_t reserved_21_21               : 1;
1464232812Sjmallett	uint64_t asxpcs0                      : 1;
1465232812Sjmallett	uint64_t asxpcs1                      : 1;
1466232812Sjmallett	uint64_t reserved_24_24               : 1;
1467232812Sjmallett	uint64_t pem0                         : 1;
1468232812Sjmallett	uint64_t pem1                         : 1;
1469232812Sjmallett	uint64_t reserved_27_27               : 1;
1470232812Sjmallett	uint64_t agl                          : 1;
1471232812Sjmallett	uint64_t reserved_29_29               : 1;
1472232812Sjmallett	uint64_t iob                          : 1;
1473232812Sjmallett	uint64_t reserved_31_31               : 1;
1474232812Sjmallett	uint64_t srio0                        : 1;
1475232812Sjmallett	uint64_t reserved_33_39               : 7;
1476232812Sjmallett	uint64_t dfm                          : 1;
1477232812Sjmallett	uint64_t dpi                          : 1;
1478232812Sjmallett	uint64_t ptp                          : 1;
1479232812Sjmallett	uint64_t reserved_43_59               : 17;
1480232812Sjmallett	uint64_t srio2                        : 1;
1481232812Sjmallett	uint64_t srio3                        : 1;
1482232812Sjmallett	uint64_t reserved_62_63               : 2;
1483232812Sjmallett#endif
1484232812Sjmallett	} cn66xx;
1485232812Sjmallett	struct cvmx_ciu_block_int_cnf71xx {
1486232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
1487232812Sjmallett	uint64_t reserved_43_63               : 21;
1488232812Sjmallett	uint64_t ptp                          : 1;  /**< PTP interrupt
1489232812Sjmallett                                                         See CIU_INT_SUM1[PTP] */
1490232812Sjmallett	uint64_t dpi                          : 1;  /**< DPI interrupt
1491232812Sjmallett                                                         See DPI_INT_REG */
1492232812Sjmallett	uint64_t reserved_31_40               : 10;
1493232812Sjmallett	uint64_t iob                          : 1;  /**< IOB interrupt
1494232812Sjmallett                                                         See IOB_INT_SUM */
1495232812Sjmallett	uint64_t reserved_27_29               : 3;
1496232812Sjmallett	uint64_t pem1                         : 1;  /**< PEM1 interrupt
1497232812Sjmallett                                                         See PEM1_INT_SUM (enabled by PEM1_INT_ENB) */
1498232812Sjmallett	uint64_t pem0                         : 1;  /**< PEM0 interrupt
1499232812Sjmallett                                                         See PEM0_INT_SUM (enabled by PEM0_INT_ENB) */
1500232812Sjmallett	uint64_t reserved_23_24               : 2;
1501232812Sjmallett	uint64_t asxpcs0                      : 1;  /**< See PCS0_INT*_REG, PCSX0_INT_REG */
1502232812Sjmallett	uint64_t reserved_21_21               : 1;
1503232812Sjmallett	uint64_t pip                          : 1;  /**< PIP interrupt
1504232812Sjmallett                                                         See PIP_INT_REG */
1505232812Sjmallett	uint64_t reserved_18_19               : 2;
1506232812Sjmallett	uint64_t lmc0                         : 1;  /**< LMC0 interrupt
1507232812Sjmallett                                                         See LMC0_INT */
1508232812Sjmallett	uint64_t l2c                          : 1;  /**< L2C interrupt
1509232812Sjmallett                                                         See L2C_INT_REG */
1510232812Sjmallett	uint64_t reserved_15_15               : 1;
1511232812Sjmallett	uint64_t rad                          : 1;  /**< RAD interrupt
1512232812Sjmallett                                                         See RAD_REG_ERROR */
1513232812Sjmallett	uint64_t usb                          : 1;  /**< USB UCTL0 interrupt
1514232812Sjmallett                                                         See UCTL0_INT_REG */
1515232812Sjmallett	uint64_t pow                          : 1;  /**< POW err interrupt
1516232812Sjmallett                                                         See POW_ECC_ERR */
1517232812Sjmallett	uint64_t tim                          : 1;  /**< TIM interrupt
1518232812Sjmallett                                                         See TIM_REG_ERROR */
1519232812Sjmallett	uint64_t pko                          : 1;  /**< PKO interrupt
1520232812Sjmallett                                                         See PKO_REG_ERROR */
1521232812Sjmallett	uint64_t ipd                          : 1;  /**< IPD interrupt
1522232812Sjmallett                                                         See IPD_INT_SUM */
1523232812Sjmallett	uint64_t reserved_6_8                 : 3;
1524232812Sjmallett	uint64_t fpa                          : 1;  /**< FPA interrupt
1525232812Sjmallett                                                         See FPA_INT_SUM */
1526232812Sjmallett	uint64_t key                          : 1;  /**< KEY interrupt
1527232812Sjmallett                                                         See KEY_INT_SUM */
1528232812Sjmallett	uint64_t sli                          : 1;  /**< SLI interrupt
1529232812Sjmallett                                                         See SLI_INT_SUM (enabled by SLI_INT_ENB_CIU) */
1530232812Sjmallett	uint64_t reserved_2_2                 : 1;
1531232812Sjmallett	uint64_t gmx0                         : 1;  /**< GMX0 interrupt
1532232812Sjmallett                                                         See GMX0_RX*_INT_REG, GMX0_TX_INT_REG */
1533232812Sjmallett	uint64_t mio                          : 1;  /**< MIO boot interrupt
1534232812Sjmallett                                                         See MIO_BOOT_ERR */
1535232812Sjmallett#else
1536232812Sjmallett	uint64_t mio                          : 1;
1537232812Sjmallett	uint64_t gmx0                         : 1;
1538232812Sjmallett	uint64_t reserved_2_2                 : 1;
1539232812Sjmallett	uint64_t sli                          : 1;
1540232812Sjmallett	uint64_t key                          : 1;
1541232812Sjmallett	uint64_t fpa                          : 1;
1542232812Sjmallett	uint64_t reserved_6_8                 : 3;
1543232812Sjmallett	uint64_t ipd                          : 1;
1544232812Sjmallett	uint64_t pko                          : 1;
1545232812Sjmallett	uint64_t tim                          : 1;
1546232812Sjmallett	uint64_t pow                          : 1;
1547232812Sjmallett	uint64_t usb                          : 1;
1548232812Sjmallett	uint64_t rad                          : 1;
1549232812Sjmallett	uint64_t reserved_15_15               : 1;
1550232812Sjmallett	uint64_t l2c                          : 1;
1551232812Sjmallett	uint64_t lmc0                         : 1;
1552232812Sjmallett	uint64_t reserved_18_19               : 2;
1553232812Sjmallett	uint64_t pip                          : 1;
1554232812Sjmallett	uint64_t reserved_21_21               : 1;
1555232812Sjmallett	uint64_t asxpcs0                      : 1;
1556232812Sjmallett	uint64_t reserved_23_24               : 2;
1557232812Sjmallett	uint64_t pem0                         : 1;
1558232812Sjmallett	uint64_t pem1                         : 1;
1559232812Sjmallett	uint64_t reserved_27_29               : 3;
1560232812Sjmallett	uint64_t iob                          : 1;
1561232812Sjmallett	uint64_t reserved_31_40               : 10;
1562232812Sjmallett	uint64_t dpi                          : 1;
1563232812Sjmallett	uint64_t ptp                          : 1;
1564232812Sjmallett	uint64_t reserved_43_63               : 21;
1565232812Sjmallett#endif
1566232812Sjmallett	} cnf71xx;
1567215976Sjmallett};
1568215976Sjmalletttypedef union cvmx_ciu_block_int cvmx_ciu_block_int_t;
1569215976Sjmallett
1570215976Sjmallett/**
1571215976Sjmallett * cvmx_ciu_dint
1572215976Sjmallett */
1573232812Sjmallettunion cvmx_ciu_dint {
1574215976Sjmallett	uint64_t u64;
1575232812Sjmallett	struct cvmx_ciu_dint_s {
1576232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
1577232812Sjmallett	uint64_t reserved_32_63               : 32;
1578232812Sjmallett	uint64_t dint                         : 32; /**< Send DINT pulse to PP vector */
1579215976Sjmallett#else
1580232812Sjmallett	uint64_t dint                         : 32;
1581232812Sjmallett	uint64_t reserved_32_63               : 32;
1582215976Sjmallett#endif
1583215976Sjmallett	} s;
1584232812Sjmallett	struct cvmx_ciu_dint_cn30xx {
1585232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
1586215976Sjmallett	uint64_t reserved_1_63                : 63;
1587215976Sjmallett	uint64_t dint                         : 1;  /**< Send DINT pulse to PP vector */
1588215976Sjmallett#else
1589215976Sjmallett	uint64_t dint                         : 1;
1590215976Sjmallett	uint64_t reserved_1_63                : 63;
1591215976Sjmallett#endif
1592215976Sjmallett	} cn30xx;
1593232812Sjmallett	struct cvmx_ciu_dint_cn31xx {
1594232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
1595215976Sjmallett	uint64_t reserved_2_63                : 62;
1596215976Sjmallett	uint64_t dint                         : 2;  /**< Send DINT pulse to PP vector */
1597215976Sjmallett#else
1598215976Sjmallett	uint64_t dint                         : 2;
1599215976Sjmallett	uint64_t reserved_2_63                : 62;
1600215976Sjmallett#endif
1601215976Sjmallett	} cn31xx;
1602232812Sjmallett	struct cvmx_ciu_dint_cn38xx {
1603232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
1604232812Sjmallett	uint64_t reserved_16_63               : 48;
1605232812Sjmallett	uint64_t dint                         : 16; /**< Send DINT pulse to PP vector */
1606232812Sjmallett#else
1607232812Sjmallett	uint64_t dint                         : 16;
1608232812Sjmallett	uint64_t reserved_16_63               : 48;
1609232812Sjmallett#endif
1610232812Sjmallett	} cn38xx;
1611232812Sjmallett	struct cvmx_ciu_dint_cn38xx           cn38xxp2;
1612215976Sjmallett	struct cvmx_ciu_dint_cn31xx           cn50xx;
1613232812Sjmallett	struct cvmx_ciu_dint_cn52xx {
1614232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
1615215976Sjmallett	uint64_t reserved_4_63                : 60;
1616215976Sjmallett	uint64_t dint                         : 4;  /**< Send DINT pulse to PP vector */
1617215976Sjmallett#else
1618215976Sjmallett	uint64_t dint                         : 4;
1619215976Sjmallett	uint64_t reserved_4_63                : 60;
1620215976Sjmallett#endif
1621215976Sjmallett	} cn52xx;
1622215976Sjmallett	struct cvmx_ciu_dint_cn52xx           cn52xxp1;
1623232812Sjmallett	struct cvmx_ciu_dint_cn56xx {
1624232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
1625215976Sjmallett	uint64_t reserved_12_63               : 52;
1626215976Sjmallett	uint64_t dint                         : 12; /**< Send DINT pulse to PP vector */
1627215976Sjmallett#else
1628215976Sjmallett	uint64_t dint                         : 12;
1629215976Sjmallett	uint64_t reserved_12_63               : 52;
1630215976Sjmallett#endif
1631215976Sjmallett	} cn56xx;
1632215976Sjmallett	struct cvmx_ciu_dint_cn56xx           cn56xxp1;
1633232812Sjmallett	struct cvmx_ciu_dint_cn38xx           cn58xx;
1634232812Sjmallett	struct cvmx_ciu_dint_cn38xx           cn58xxp1;
1635232812Sjmallett	struct cvmx_ciu_dint_cn52xx           cn61xx;
1636232812Sjmallett	struct cvmx_ciu_dint_cn63xx {
1637232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
1638215976Sjmallett	uint64_t reserved_6_63                : 58;
1639215976Sjmallett	uint64_t dint                         : 6;  /**< Send DINT pulse to PP vector */
1640215976Sjmallett#else
1641215976Sjmallett	uint64_t dint                         : 6;
1642215976Sjmallett	uint64_t reserved_6_63                : 58;
1643215976Sjmallett#endif
1644215976Sjmallett	} cn63xx;
1645215976Sjmallett	struct cvmx_ciu_dint_cn63xx           cn63xxp1;
1646232812Sjmallett	struct cvmx_ciu_dint_cn66xx {
1647232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
1648232812Sjmallett	uint64_t reserved_10_63               : 54;
1649232812Sjmallett	uint64_t dint                         : 10; /**< Send DINT pulse to PP vector */
1650232812Sjmallett#else
1651232812Sjmallett	uint64_t dint                         : 10;
1652232812Sjmallett	uint64_t reserved_10_63               : 54;
1653232812Sjmallett#endif
1654232812Sjmallett	} cn66xx;
1655232812Sjmallett	struct cvmx_ciu_dint_s                cn68xx;
1656232812Sjmallett	struct cvmx_ciu_dint_s                cn68xxp1;
1657232812Sjmallett	struct cvmx_ciu_dint_cn52xx           cnf71xx;
1658215976Sjmallett};
1659215976Sjmalletttypedef union cvmx_ciu_dint cvmx_ciu_dint_t;
1660215976Sjmallett
1661215976Sjmallett/**
1662232812Sjmallett * cvmx_ciu_en2_io#_int
1663232812Sjmallett *
1664232812Sjmallett * Notes:
1665232812Sjmallett * These SUM2 CSR's did not exist prior to pass 1.2. CIU_TIM4-9 did not exist prior to pass 1.2.
1666232812Sjmallett *
1667232812Sjmallett */
1668232812Sjmallettunion cvmx_ciu_en2_iox_int {
1669232812Sjmallett	uint64_t u64;
1670232812Sjmallett	struct cvmx_ciu_en2_iox_int_s {
1671232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
1672232812Sjmallett	uint64_t reserved_15_63               : 49;
1673232812Sjmallett	uint64_t endor                        : 2;  /**< ENDOR PHY interrupts enable */
1674232812Sjmallett	uint64_t eoi                          : 1;  /**< EOI rsl interrupt enable */
1675232812Sjmallett	uint64_t reserved_10_11               : 2;
1676232812Sjmallett	uint64_t timer                        : 6;  /**< General timer 4-9 interrupt enable */
1677232812Sjmallett	uint64_t reserved_0_3                 : 4;
1678232812Sjmallett#else
1679232812Sjmallett	uint64_t reserved_0_3                 : 4;
1680232812Sjmallett	uint64_t timer                        : 6;
1681232812Sjmallett	uint64_t reserved_10_11               : 2;
1682232812Sjmallett	uint64_t eoi                          : 1;
1683232812Sjmallett	uint64_t endor                        : 2;
1684232812Sjmallett	uint64_t reserved_15_63               : 49;
1685232812Sjmallett#endif
1686232812Sjmallett	} s;
1687232812Sjmallett	struct cvmx_ciu_en2_iox_int_cn61xx {
1688232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
1689232812Sjmallett	uint64_t reserved_10_63               : 54;
1690232812Sjmallett	uint64_t timer                        : 6;  /**< General timer 4-9 interrupt enable */
1691232812Sjmallett	uint64_t reserved_0_3                 : 4;
1692232812Sjmallett#else
1693232812Sjmallett	uint64_t reserved_0_3                 : 4;
1694232812Sjmallett	uint64_t timer                        : 6;
1695232812Sjmallett	uint64_t reserved_10_63               : 54;
1696232812Sjmallett#endif
1697232812Sjmallett	} cn61xx;
1698232812Sjmallett	struct cvmx_ciu_en2_iox_int_cn61xx    cn66xx;
1699232812Sjmallett	struct cvmx_ciu_en2_iox_int_s         cnf71xx;
1700232812Sjmallett};
1701232812Sjmalletttypedef union cvmx_ciu_en2_iox_int cvmx_ciu_en2_iox_int_t;
1702232812Sjmallett
1703232812Sjmallett/**
1704232812Sjmallett * cvmx_ciu_en2_io#_int_w1c
1705232812Sjmallett *
1706232812Sjmallett * Notes:
1707232812Sjmallett * Write-1-to-clear version of the CIU_EN2_PP(IO)X_IPx(INT) register, read back corresponding
1708232812Sjmallett * CIU_EN2_PP(IO)X_IPx(INT) value.
1709232812Sjmallett */
1710232812Sjmallettunion cvmx_ciu_en2_iox_int_w1c {
1711232812Sjmallett	uint64_t u64;
1712232812Sjmallett	struct cvmx_ciu_en2_iox_int_w1c_s {
1713232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
1714232812Sjmallett	uint64_t reserved_15_63               : 49;
1715232812Sjmallett	uint64_t endor                        : 2;  /**< Write 1 to clear ENDOR PHY interrupts enable */
1716232812Sjmallett	uint64_t eoi                          : 1;  /**< Write 1 to clear EOI rsl interrupt enable */
1717232812Sjmallett	uint64_t reserved_10_11               : 2;
1718232812Sjmallett	uint64_t timer                        : 6;  /**< Write 1 to clear General timer 4-9 interrupt enable */
1719232812Sjmallett	uint64_t reserved_0_3                 : 4;
1720232812Sjmallett#else
1721232812Sjmallett	uint64_t reserved_0_3                 : 4;
1722232812Sjmallett	uint64_t timer                        : 6;
1723232812Sjmallett	uint64_t reserved_10_11               : 2;
1724232812Sjmallett	uint64_t eoi                          : 1;
1725232812Sjmallett	uint64_t endor                        : 2;
1726232812Sjmallett	uint64_t reserved_15_63               : 49;
1727232812Sjmallett#endif
1728232812Sjmallett	} s;
1729232812Sjmallett	struct cvmx_ciu_en2_iox_int_w1c_cn61xx {
1730232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
1731232812Sjmallett	uint64_t reserved_10_63               : 54;
1732232812Sjmallett	uint64_t timer                        : 6;  /**< Write 1 to clear General timer 4-9 interrupt enable */
1733232812Sjmallett	uint64_t reserved_0_3                 : 4;
1734232812Sjmallett#else
1735232812Sjmallett	uint64_t reserved_0_3                 : 4;
1736232812Sjmallett	uint64_t timer                        : 6;
1737232812Sjmallett	uint64_t reserved_10_63               : 54;
1738232812Sjmallett#endif
1739232812Sjmallett	} cn61xx;
1740232812Sjmallett	struct cvmx_ciu_en2_iox_int_w1c_cn61xx cn66xx;
1741232812Sjmallett	struct cvmx_ciu_en2_iox_int_w1c_s     cnf71xx;
1742232812Sjmallett};
1743232812Sjmalletttypedef union cvmx_ciu_en2_iox_int_w1c cvmx_ciu_en2_iox_int_w1c_t;
1744232812Sjmallett
1745232812Sjmallett/**
1746232812Sjmallett * cvmx_ciu_en2_io#_int_w1s
1747232812Sjmallett *
1748232812Sjmallett * Notes:
1749232812Sjmallett * Write-1-to-set version of the CIU_EN2_PP(IO)X_IPx(INT) register, read back corresponding
1750232812Sjmallett * CIU_EN2_PP(IO)X_IPx(INT) value.
1751232812Sjmallett */
1752232812Sjmallettunion cvmx_ciu_en2_iox_int_w1s {
1753232812Sjmallett	uint64_t u64;
1754232812Sjmallett	struct cvmx_ciu_en2_iox_int_w1s_s {
1755232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
1756232812Sjmallett	uint64_t reserved_15_63               : 49;
1757232812Sjmallett	uint64_t endor                        : 2;  /**< Write 1 to set ENDOR PHY interrupts enable */
1758232812Sjmallett	uint64_t eoi                          : 1;  /**< Write 1 to set EOI rsl interrupt enable */
1759232812Sjmallett	uint64_t reserved_10_11               : 2;
1760232812Sjmallett	uint64_t timer                        : 6;  /**< Write 1 to set General timer 4-9 interrupt enables */
1761232812Sjmallett	uint64_t reserved_0_3                 : 4;
1762232812Sjmallett#else
1763232812Sjmallett	uint64_t reserved_0_3                 : 4;
1764232812Sjmallett	uint64_t timer                        : 6;
1765232812Sjmallett	uint64_t reserved_10_11               : 2;
1766232812Sjmallett	uint64_t eoi                          : 1;
1767232812Sjmallett	uint64_t endor                        : 2;
1768232812Sjmallett	uint64_t reserved_15_63               : 49;
1769232812Sjmallett#endif
1770232812Sjmallett	} s;
1771232812Sjmallett	struct cvmx_ciu_en2_iox_int_w1s_cn61xx {
1772232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
1773232812Sjmallett	uint64_t reserved_10_63               : 54;
1774232812Sjmallett	uint64_t timer                        : 6;  /**< Write 1 to set General timer 4-9 interrupt enables */
1775232812Sjmallett	uint64_t reserved_0_3                 : 4;
1776232812Sjmallett#else
1777232812Sjmallett	uint64_t reserved_0_3                 : 4;
1778232812Sjmallett	uint64_t timer                        : 6;
1779232812Sjmallett	uint64_t reserved_10_63               : 54;
1780232812Sjmallett#endif
1781232812Sjmallett	} cn61xx;
1782232812Sjmallett	struct cvmx_ciu_en2_iox_int_w1s_cn61xx cn66xx;
1783232812Sjmallett	struct cvmx_ciu_en2_iox_int_w1s_s     cnf71xx;
1784232812Sjmallett};
1785232812Sjmalletttypedef union cvmx_ciu_en2_iox_int_w1s cvmx_ciu_en2_iox_int_w1s_t;
1786232812Sjmallett
1787232812Sjmallett/**
1788232812Sjmallett * cvmx_ciu_en2_pp#_ip2
1789232812Sjmallett *
1790232812Sjmallett * Notes:
1791232812Sjmallett * These SUM2 CSR's did not exist prior to pass 1.2. CIU_TIM4-9 did not exist prior to pass 1.2.
1792232812Sjmallett *
1793232812Sjmallett */
1794232812Sjmallettunion cvmx_ciu_en2_ppx_ip2 {
1795232812Sjmallett	uint64_t u64;
1796232812Sjmallett	struct cvmx_ciu_en2_ppx_ip2_s {
1797232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
1798232812Sjmallett	uint64_t reserved_15_63               : 49;
1799232812Sjmallett	uint64_t endor                        : 2;  /**< ENDOR PHY interrupts enable */
1800232812Sjmallett	uint64_t eoi                          : 1;  /**< EOI rsl interrupt enable */
1801232812Sjmallett	uint64_t reserved_10_11               : 2;
1802232812Sjmallett	uint64_t timer                        : 6;  /**< General timer 4-9 interrupt enable */
1803232812Sjmallett	uint64_t reserved_0_3                 : 4;
1804232812Sjmallett#else
1805232812Sjmallett	uint64_t reserved_0_3                 : 4;
1806232812Sjmallett	uint64_t timer                        : 6;
1807232812Sjmallett	uint64_t reserved_10_11               : 2;
1808232812Sjmallett	uint64_t eoi                          : 1;
1809232812Sjmallett	uint64_t endor                        : 2;
1810232812Sjmallett	uint64_t reserved_15_63               : 49;
1811232812Sjmallett#endif
1812232812Sjmallett	} s;
1813232812Sjmallett	struct cvmx_ciu_en2_ppx_ip2_cn61xx {
1814232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
1815232812Sjmallett	uint64_t reserved_10_63               : 54;
1816232812Sjmallett	uint64_t timer                        : 6;  /**< General timer 4-9 interrupt enable */
1817232812Sjmallett	uint64_t reserved_0_3                 : 4;
1818232812Sjmallett#else
1819232812Sjmallett	uint64_t reserved_0_3                 : 4;
1820232812Sjmallett	uint64_t timer                        : 6;
1821232812Sjmallett	uint64_t reserved_10_63               : 54;
1822232812Sjmallett#endif
1823232812Sjmallett	} cn61xx;
1824232812Sjmallett	struct cvmx_ciu_en2_ppx_ip2_cn61xx    cn66xx;
1825232812Sjmallett	struct cvmx_ciu_en2_ppx_ip2_s         cnf71xx;
1826232812Sjmallett};
1827232812Sjmalletttypedef union cvmx_ciu_en2_ppx_ip2 cvmx_ciu_en2_ppx_ip2_t;
1828232812Sjmallett
1829232812Sjmallett/**
1830232812Sjmallett * cvmx_ciu_en2_pp#_ip2_w1c
1831232812Sjmallett *
1832232812Sjmallett * Notes:
1833232812Sjmallett * Write-1-to-clear version of the CIU_EN2_PP(IO)X_IPx(INT) register, read back corresponding
1834232812Sjmallett * CIU_EN2_PP(IO)X_IPx(INT) value.
1835232812Sjmallett */
1836232812Sjmallettunion cvmx_ciu_en2_ppx_ip2_w1c {
1837232812Sjmallett	uint64_t u64;
1838232812Sjmallett	struct cvmx_ciu_en2_ppx_ip2_w1c_s {
1839232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
1840232812Sjmallett	uint64_t reserved_15_63               : 49;
1841232812Sjmallett	uint64_t endor                        : 2;  /**< Write 1 to clear ENDOR PHY interrupts enable */
1842232812Sjmallett	uint64_t eoi                          : 1;  /**< Write 1 to clear EOI rsl interrupt enable */
1843232812Sjmallett	uint64_t reserved_10_11               : 2;
1844232812Sjmallett	uint64_t timer                        : 6;  /**< Write 1 to clear General timer 4-9 interrupt enable */
1845232812Sjmallett	uint64_t reserved_0_3                 : 4;
1846232812Sjmallett#else
1847232812Sjmallett	uint64_t reserved_0_3                 : 4;
1848232812Sjmallett	uint64_t timer                        : 6;
1849232812Sjmallett	uint64_t reserved_10_11               : 2;
1850232812Sjmallett	uint64_t eoi                          : 1;
1851232812Sjmallett	uint64_t endor                        : 2;
1852232812Sjmallett	uint64_t reserved_15_63               : 49;
1853232812Sjmallett#endif
1854232812Sjmallett	} s;
1855232812Sjmallett	struct cvmx_ciu_en2_ppx_ip2_w1c_cn61xx {
1856232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
1857232812Sjmallett	uint64_t reserved_10_63               : 54;
1858232812Sjmallett	uint64_t timer                        : 6;  /**< Write 1 to clear General timer 4-9 interrupt enable */
1859232812Sjmallett	uint64_t reserved_0_3                 : 4;
1860232812Sjmallett#else
1861232812Sjmallett	uint64_t reserved_0_3                 : 4;
1862232812Sjmallett	uint64_t timer                        : 6;
1863232812Sjmallett	uint64_t reserved_10_63               : 54;
1864232812Sjmallett#endif
1865232812Sjmallett	} cn61xx;
1866232812Sjmallett	struct cvmx_ciu_en2_ppx_ip2_w1c_cn61xx cn66xx;
1867232812Sjmallett	struct cvmx_ciu_en2_ppx_ip2_w1c_s     cnf71xx;
1868232812Sjmallett};
1869232812Sjmalletttypedef union cvmx_ciu_en2_ppx_ip2_w1c cvmx_ciu_en2_ppx_ip2_w1c_t;
1870232812Sjmallett
1871232812Sjmallett/**
1872232812Sjmallett * cvmx_ciu_en2_pp#_ip2_w1s
1873232812Sjmallett *
1874232812Sjmallett * Notes:
1875232812Sjmallett * Write-1-to-set version of the CIU_EN2_PP(IO)X_IPx(INT) register, read back corresponding
1876232812Sjmallett * CIU_EN2_PP(IO)X_IPx(INT) value.
1877232812Sjmallett */
1878232812Sjmallettunion cvmx_ciu_en2_ppx_ip2_w1s {
1879232812Sjmallett	uint64_t u64;
1880232812Sjmallett	struct cvmx_ciu_en2_ppx_ip2_w1s_s {
1881232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
1882232812Sjmallett	uint64_t reserved_15_63               : 49;
1883232812Sjmallett	uint64_t endor                        : 2;  /**< Write 1 to set ENDOR PHY interrupts enable */
1884232812Sjmallett	uint64_t eoi                          : 1;  /**< Write 1 to set EOI rsl interrupt enable */
1885232812Sjmallett	uint64_t reserved_10_11               : 2;
1886232812Sjmallett	uint64_t timer                        : 6;  /**< Write 1 to set General timer 4-9 interrupt enables */
1887232812Sjmallett	uint64_t reserved_0_3                 : 4;
1888232812Sjmallett#else
1889232812Sjmallett	uint64_t reserved_0_3                 : 4;
1890232812Sjmallett	uint64_t timer                        : 6;
1891232812Sjmallett	uint64_t reserved_10_11               : 2;
1892232812Sjmallett	uint64_t eoi                          : 1;
1893232812Sjmallett	uint64_t endor                        : 2;
1894232812Sjmallett	uint64_t reserved_15_63               : 49;
1895232812Sjmallett#endif
1896232812Sjmallett	} s;
1897232812Sjmallett	struct cvmx_ciu_en2_ppx_ip2_w1s_cn61xx {
1898232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
1899232812Sjmallett	uint64_t reserved_10_63               : 54;
1900232812Sjmallett	uint64_t timer                        : 6;  /**< Write 1 to set General timer 4-9 interrupt enables */
1901232812Sjmallett	uint64_t reserved_0_3                 : 4;
1902232812Sjmallett#else
1903232812Sjmallett	uint64_t reserved_0_3                 : 4;
1904232812Sjmallett	uint64_t timer                        : 6;
1905232812Sjmallett	uint64_t reserved_10_63               : 54;
1906232812Sjmallett#endif
1907232812Sjmallett	} cn61xx;
1908232812Sjmallett	struct cvmx_ciu_en2_ppx_ip2_w1s_cn61xx cn66xx;
1909232812Sjmallett	struct cvmx_ciu_en2_ppx_ip2_w1s_s     cnf71xx;
1910232812Sjmallett};
1911232812Sjmalletttypedef union cvmx_ciu_en2_ppx_ip2_w1s cvmx_ciu_en2_ppx_ip2_w1s_t;
1912232812Sjmallett
1913232812Sjmallett/**
1914232812Sjmallett * cvmx_ciu_en2_pp#_ip3
1915232812Sjmallett *
1916232812Sjmallett * Notes:
1917232812Sjmallett * These SUM2 CSR's did not exist prior to pass 1.2. CIU_TIM4-9 did not exist prior to pass 1.2.
1918232812Sjmallett *
1919232812Sjmallett */
1920232812Sjmallettunion cvmx_ciu_en2_ppx_ip3 {
1921232812Sjmallett	uint64_t u64;
1922232812Sjmallett	struct cvmx_ciu_en2_ppx_ip3_s {
1923232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
1924232812Sjmallett	uint64_t reserved_15_63               : 49;
1925232812Sjmallett	uint64_t endor                        : 2;  /**< ENDOR PHY interrupts enable */
1926232812Sjmallett	uint64_t eoi                          : 1;  /**< EOI rsl interrupt enable */
1927232812Sjmallett	uint64_t reserved_10_11               : 2;
1928232812Sjmallett	uint64_t timer                        : 6;  /**< General timer 4-9 interrupt enable */
1929232812Sjmallett	uint64_t reserved_0_3                 : 4;
1930232812Sjmallett#else
1931232812Sjmallett	uint64_t reserved_0_3                 : 4;
1932232812Sjmallett	uint64_t timer                        : 6;
1933232812Sjmallett	uint64_t reserved_10_11               : 2;
1934232812Sjmallett	uint64_t eoi                          : 1;
1935232812Sjmallett	uint64_t endor                        : 2;
1936232812Sjmallett	uint64_t reserved_15_63               : 49;
1937232812Sjmallett#endif
1938232812Sjmallett	} s;
1939232812Sjmallett	struct cvmx_ciu_en2_ppx_ip3_cn61xx {
1940232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
1941232812Sjmallett	uint64_t reserved_10_63               : 54;
1942232812Sjmallett	uint64_t timer                        : 6;  /**< General timer 4-9 interrupt enable */
1943232812Sjmallett	uint64_t reserved_0_3                 : 4;
1944232812Sjmallett#else
1945232812Sjmallett	uint64_t reserved_0_3                 : 4;
1946232812Sjmallett	uint64_t timer                        : 6;
1947232812Sjmallett	uint64_t reserved_10_63               : 54;
1948232812Sjmallett#endif
1949232812Sjmallett	} cn61xx;
1950232812Sjmallett	struct cvmx_ciu_en2_ppx_ip3_cn61xx    cn66xx;
1951232812Sjmallett	struct cvmx_ciu_en2_ppx_ip3_s         cnf71xx;
1952232812Sjmallett};
1953232812Sjmalletttypedef union cvmx_ciu_en2_ppx_ip3 cvmx_ciu_en2_ppx_ip3_t;
1954232812Sjmallett
1955232812Sjmallett/**
1956232812Sjmallett * cvmx_ciu_en2_pp#_ip3_w1c
1957232812Sjmallett *
1958232812Sjmallett * Notes:
1959232812Sjmallett * Write-1-to-clear version of the CIU_EN2_PP(IO)X_IPx(INT) register, read back corresponding
1960232812Sjmallett * CIU_EN2_PP(IO)X_IPx(INT) value.
1961232812Sjmallett */
1962232812Sjmallettunion cvmx_ciu_en2_ppx_ip3_w1c {
1963232812Sjmallett	uint64_t u64;
1964232812Sjmallett	struct cvmx_ciu_en2_ppx_ip3_w1c_s {
1965232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
1966232812Sjmallett	uint64_t reserved_15_63               : 49;
1967232812Sjmallett	uint64_t endor                        : 2;  /**< Write 1 to clear ENDOR PHY interrupts enable */
1968232812Sjmallett	uint64_t eoi                          : 1;  /**< Write 1 to clear EOI rsl interrupt enable */
1969232812Sjmallett	uint64_t reserved_10_11               : 2;
1970232812Sjmallett	uint64_t timer                        : 6;  /**< Write 1 to clear General timer 4-9 interrupt enable */
1971232812Sjmallett	uint64_t reserved_0_3                 : 4;
1972232812Sjmallett#else
1973232812Sjmallett	uint64_t reserved_0_3                 : 4;
1974232812Sjmallett	uint64_t timer                        : 6;
1975232812Sjmallett	uint64_t reserved_10_11               : 2;
1976232812Sjmallett	uint64_t eoi                          : 1;
1977232812Sjmallett	uint64_t endor                        : 2;
1978232812Sjmallett	uint64_t reserved_15_63               : 49;
1979232812Sjmallett#endif
1980232812Sjmallett	} s;
1981232812Sjmallett	struct cvmx_ciu_en2_ppx_ip3_w1c_cn61xx {
1982232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
1983232812Sjmallett	uint64_t reserved_10_63               : 54;
1984232812Sjmallett	uint64_t timer                        : 6;  /**< Write 1 to clear General timer 4-9 interrupt enable */
1985232812Sjmallett	uint64_t reserved_0_3                 : 4;
1986232812Sjmallett#else
1987232812Sjmallett	uint64_t reserved_0_3                 : 4;
1988232812Sjmallett	uint64_t timer                        : 6;
1989232812Sjmallett	uint64_t reserved_10_63               : 54;
1990232812Sjmallett#endif
1991232812Sjmallett	} cn61xx;
1992232812Sjmallett	struct cvmx_ciu_en2_ppx_ip3_w1c_cn61xx cn66xx;
1993232812Sjmallett	struct cvmx_ciu_en2_ppx_ip3_w1c_s     cnf71xx;
1994232812Sjmallett};
1995232812Sjmalletttypedef union cvmx_ciu_en2_ppx_ip3_w1c cvmx_ciu_en2_ppx_ip3_w1c_t;
1996232812Sjmallett
1997232812Sjmallett/**
1998232812Sjmallett * cvmx_ciu_en2_pp#_ip3_w1s
1999232812Sjmallett *
2000232812Sjmallett * Notes:
2001232812Sjmallett * Write-1-to-set version of the CIU_EN2_PP(IO)X_IPx(INT) register, read back corresponding
2002232812Sjmallett * CIU_EN2_PP(IO)X_IPx(INT) value.
2003232812Sjmallett */
2004232812Sjmallettunion cvmx_ciu_en2_ppx_ip3_w1s {
2005232812Sjmallett	uint64_t u64;
2006232812Sjmallett	struct cvmx_ciu_en2_ppx_ip3_w1s_s {
2007232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
2008232812Sjmallett	uint64_t reserved_15_63               : 49;
2009232812Sjmallett	uint64_t endor                        : 2;  /**< Write 1 to set ENDOR PHY interrupts enable */
2010232812Sjmallett	uint64_t eoi                          : 1;  /**< Write 1 to set EOI rsl interrupt enable */
2011232812Sjmallett	uint64_t reserved_10_11               : 2;
2012232812Sjmallett	uint64_t timer                        : 6;  /**< Write 1 to set General timer 4-9 interrupt enables */
2013232812Sjmallett	uint64_t reserved_0_3                 : 4;
2014232812Sjmallett#else
2015232812Sjmallett	uint64_t reserved_0_3                 : 4;
2016232812Sjmallett	uint64_t timer                        : 6;
2017232812Sjmallett	uint64_t reserved_10_11               : 2;
2018232812Sjmallett	uint64_t eoi                          : 1;
2019232812Sjmallett	uint64_t endor                        : 2;
2020232812Sjmallett	uint64_t reserved_15_63               : 49;
2021232812Sjmallett#endif
2022232812Sjmallett	} s;
2023232812Sjmallett	struct cvmx_ciu_en2_ppx_ip3_w1s_cn61xx {
2024232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
2025232812Sjmallett	uint64_t reserved_10_63               : 54;
2026232812Sjmallett	uint64_t timer                        : 6;  /**< Write 1 to set General timer 4-9 interrupt enables */
2027232812Sjmallett	uint64_t reserved_0_3                 : 4;
2028232812Sjmallett#else
2029232812Sjmallett	uint64_t reserved_0_3                 : 4;
2030232812Sjmallett	uint64_t timer                        : 6;
2031232812Sjmallett	uint64_t reserved_10_63               : 54;
2032232812Sjmallett#endif
2033232812Sjmallett	} cn61xx;
2034232812Sjmallett	struct cvmx_ciu_en2_ppx_ip3_w1s_cn61xx cn66xx;
2035232812Sjmallett	struct cvmx_ciu_en2_ppx_ip3_w1s_s     cnf71xx;
2036232812Sjmallett};
2037232812Sjmalletttypedef union cvmx_ciu_en2_ppx_ip3_w1s cvmx_ciu_en2_ppx_ip3_w1s_t;
2038232812Sjmallett
2039232812Sjmallett/**
2040232812Sjmallett * cvmx_ciu_en2_pp#_ip4
2041232812Sjmallett *
2042232812Sjmallett * Notes:
2043232812Sjmallett * These SUM2 CSR's did not exist prior to pass 1.2. CIU_TIM4-9 did not exist prior to pass 1.2.
2044232812Sjmallett *
2045232812Sjmallett */
2046232812Sjmallettunion cvmx_ciu_en2_ppx_ip4 {
2047232812Sjmallett	uint64_t u64;
2048232812Sjmallett	struct cvmx_ciu_en2_ppx_ip4_s {
2049232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
2050232812Sjmallett	uint64_t reserved_15_63               : 49;
2051232812Sjmallett	uint64_t endor                        : 2;  /**< ENDOR PHY interrupts enable */
2052232812Sjmallett	uint64_t eoi                          : 1;  /**< EOI rsl interrupt enable */
2053232812Sjmallett	uint64_t reserved_10_11               : 2;
2054232812Sjmallett	uint64_t timer                        : 6;  /**< General timer 4-9 interrupt enable */
2055232812Sjmallett	uint64_t reserved_0_3                 : 4;
2056232812Sjmallett#else
2057232812Sjmallett	uint64_t reserved_0_3                 : 4;
2058232812Sjmallett	uint64_t timer                        : 6;
2059232812Sjmallett	uint64_t reserved_10_11               : 2;
2060232812Sjmallett	uint64_t eoi                          : 1;
2061232812Sjmallett	uint64_t endor                        : 2;
2062232812Sjmallett	uint64_t reserved_15_63               : 49;
2063232812Sjmallett#endif
2064232812Sjmallett	} s;
2065232812Sjmallett	struct cvmx_ciu_en2_ppx_ip4_cn61xx {
2066232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
2067232812Sjmallett	uint64_t reserved_10_63               : 54;
2068232812Sjmallett	uint64_t timer                        : 6;  /**< General timer 4-9 interrupt enable */
2069232812Sjmallett	uint64_t reserved_0_3                 : 4;
2070232812Sjmallett#else
2071232812Sjmallett	uint64_t reserved_0_3                 : 4;
2072232812Sjmallett	uint64_t timer                        : 6;
2073232812Sjmallett	uint64_t reserved_10_63               : 54;
2074232812Sjmallett#endif
2075232812Sjmallett	} cn61xx;
2076232812Sjmallett	struct cvmx_ciu_en2_ppx_ip4_cn61xx    cn66xx;
2077232812Sjmallett	struct cvmx_ciu_en2_ppx_ip4_s         cnf71xx;
2078232812Sjmallett};
2079232812Sjmalletttypedef union cvmx_ciu_en2_ppx_ip4 cvmx_ciu_en2_ppx_ip4_t;
2080232812Sjmallett
2081232812Sjmallett/**
2082232812Sjmallett * cvmx_ciu_en2_pp#_ip4_w1c
2083232812Sjmallett *
2084232812Sjmallett * Notes:
2085232812Sjmallett * Write-1-to-clear version of the CIU_EN2_PP(IO)X_IPx(INT) register, read back corresponding
2086232812Sjmallett * CIU_EN2_PP(IO)X_IPx(INT) value.
2087232812Sjmallett */
2088232812Sjmallettunion cvmx_ciu_en2_ppx_ip4_w1c {
2089232812Sjmallett	uint64_t u64;
2090232812Sjmallett	struct cvmx_ciu_en2_ppx_ip4_w1c_s {
2091232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
2092232812Sjmallett	uint64_t reserved_15_63               : 49;
2093232812Sjmallett	uint64_t endor                        : 2;  /**< Write 1 to clear ENDOR PHY interrupts enable */
2094232812Sjmallett	uint64_t eoi                          : 1;  /**< Write 1 to clear EOI rsl interrupt enable */
2095232812Sjmallett	uint64_t reserved_10_11               : 2;
2096232812Sjmallett	uint64_t timer                        : 6;  /**< Write 1 to clear General timer 4-9 interrupt enable */
2097232812Sjmallett	uint64_t reserved_0_3                 : 4;
2098232812Sjmallett#else
2099232812Sjmallett	uint64_t reserved_0_3                 : 4;
2100232812Sjmallett	uint64_t timer                        : 6;
2101232812Sjmallett	uint64_t reserved_10_11               : 2;
2102232812Sjmallett	uint64_t eoi                          : 1;
2103232812Sjmallett	uint64_t endor                        : 2;
2104232812Sjmallett	uint64_t reserved_15_63               : 49;
2105232812Sjmallett#endif
2106232812Sjmallett	} s;
2107232812Sjmallett	struct cvmx_ciu_en2_ppx_ip4_w1c_cn61xx {
2108232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
2109232812Sjmallett	uint64_t reserved_10_63               : 54;
2110232812Sjmallett	uint64_t timer                        : 6;  /**< Write 1 to clear General timer 4-9 interrupt enable */
2111232812Sjmallett	uint64_t reserved_0_3                 : 4;
2112232812Sjmallett#else
2113232812Sjmallett	uint64_t reserved_0_3                 : 4;
2114232812Sjmallett	uint64_t timer                        : 6;
2115232812Sjmallett	uint64_t reserved_10_63               : 54;
2116232812Sjmallett#endif
2117232812Sjmallett	} cn61xx;
2118232812Sjmallett	struct cvmx_ciu_en2_ppx_ip4_w1c_cn61xx cn66xx;
2119232812Sjmallett	struct cvmx_ciu_en2_ppx_ip4_w1c_s     cnf71xx;
2120232812Sjmallett};
2121232812Sjmalletttypedef union cvmx_ciu_en2_ppx_ip4_w1c cvmx_ciu_en2_ppx_ip4_w1c_t;
2122232812Sjmallett
2123232812Sjmallett/**
2124232812Sjmallett * cvmx_ciu_en2_pp#_ip4_w1s
2125232812Sjmallett *
2126232812Sjmallett * Notes:
2127232812Sjmallett * Write-1-to-set version of the CIU_EN2_PP(IO)X_IPx(INT) register, read back corresponding
2128232812Sjmallett * CIU_EN2_PP(IO)X_IPx(INT) value.
2129232812Sjmallett */
2130232812Sjmallettunion cvmx_ciu_en2_ppx_ip4_w1s {
2131232812Sjmallett	uint64_t u64;
2132232812Sjmallett	struct cvmx_ciu_en2_ppx_ip4_w1s_s {
2133232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
2134232812Sjmallett	uint64_t reserved_15_63               : 49;
2135232812Sjmallett	uint64_t endor                        : 2;  /**< Write 1 to set ENDOR PHY interrupts enable */
2136232812Sjmallett	uint64_t eoi                          : 1;  /**< Write 1 to set EOI rsl interrupt enable */
2137232812Sjmallett	uint64_t reserved_10_11               : 2;
2138232812Sjmallett	uint64_t timer                        : 6;  /**< Write 1 to set General timer 4-9 interrupt enables */
2139232812Sjmallett	uint64_t reserved_0_3                 : 4;
2140232812Sjmallett#else
2141232812Sjmallett	uint64_t reserved_0_3                 : 4;
2142232812Sjmallett	uint64_t timer                        : 6;
2143232812Sjmallett	uint64_t reserved_10_11               : 2;
2144232812Sjmallett	uint64_t eoi                          : 1;
2145232812Sjmallett	uint64_t endor                        : 2;
2146232812Sjmallett	uint64_t reserved_15_63               : 49;
2147232812Sjmallett#endif
2148232812Sjmallett	} s;
2149232812Sjmallett	struct cvmx_ciu_en2_ppx_ip4_w1s_cn61xx {
2150232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
2151232812Sjmallett	uint64_t reserved_10_63               : 54;
2152232812Sjmallett	uint64_t timer                        : 6;  /**< Write 1 to set General timer 4-9 interrupt enables */
2153232812Sjmallett	uint64_t reserved_0_3                 : 4;
2154232812Sjmallett#else
2155232812Sjmallett	uint64_t reserved_0_3                 : 4;
2156232812Sjmallett	uint64_t timer                        : 6;
2157232812Sjmallett	uint64_t reserved_10_63               : 54;
2158232812Sjmallett#endif
2159232812Sjmallett	} cn61xx;
2160232812Sjmallett	struct cvmx_ciu_en2_ppx_ip4_w1s_cn61xx cn66xx;
2161232812Sjmallett	struct cvmx_ciu_en2_ppx_ip4_w1s_s     cnf71xx;
2162232812Sjmallett};
2163232812Sjmalletttypedef union cvmx_ciu_en2_ppx_ip4_w1s cvmx_ciu_en2_ppx_ip4_w1s_t;
2164232812Sjmallett
2165232812Sjmallett/**
2166215976Sjmallett * cvmx_ciu_fuse
2167215976Sjmallett */
2168232812Sjmallettunion cvmx_ciu_fuse {
2169215976Sjmallett	uint64_t u64;
2170232812Sjmallett	struct cvmx_ciu_fuse_s {
2171232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
2172232812Sjmallett	uint64_t reserved_32_63               : 32;
2173232812Sjmallett	uint64_t fuse                         : 32; /**< Physical PP is present */
2174215976Sjmallett#else
2175232812Sjmallett	uint64_t fuse                         : 32;
2176232812Sjmallett	uint64_t reserved_32_63               : 32;
2177215976Sjmallett#endif
2178215976Sjmallett	} s;
2179232812Sjmallett	struct cvmx_ciu_fuse_cn30xx {
2180232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
2181215976Sjmallett	uint64_t reserved_1_63                : 63;
2182215976Sjmallett	uint64_t fuse                         : 1;  /**< Physical PP is present */
2183215976Sjmallett#else
2184215976Sjmallett	uint64_t fuse                         : 1;
2185215976Sjmallett	uint64_t reserved_1_63                : 63;
2186215976Sjmallett#endif
2187215976Sjmallett	} cn30xx;
2188232812Sjmallett	struct cvmx_ciu_fuse_cn31xx {
2189232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
2190215976Sjmallett	uint64_t reserved_2_63                : 62;
2191215976Sjmallett	uint64_t fuse                         : 2;  /**< Physical PP is present */
2192215976Sjmallett#else
2193215976Sjmallett	uint64_t fuse                         : 2;
2194215976Sjmallett	uint64_t reserved_2_63                : 62;
2195215976Sjmallett#endif
2196215976Sjmallett	} cn31xx;
2197232812Sjmallett	struct cvmx_ciu_fuse_cn38xx {
2198232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
2199232812Sjmallett	uint64_t reserved_16_63               : 48;
2200232812Sjmallett	uint64_t fuse                         : 16; /**< Physical PP is present */
2201232812Sjmallett#else
2202232812Sjmallett	uint64_t fuse                         : 16;
2203232812Sjmallett	uint64_t reserved_16_63               : 48;
2204232812Sjmallett#endif
2205232812Sjmallett	} cn38xx;
2206232812Sjmallett	struct cvmx_ciu_fuse_cn38xx           cn38xxp2;
2207215976Sjmallett	struct cvmx_ciu_fuse_cn31xx           cn50xx;
2208232812Sjmallett	struct cvmx_ciu_fuse_cn52xx {
2209232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
2210215976Sjmallett	uint64_t reserved_4_63                : 60;
2211215976Sjmallett	uint64_t fuse                         : 4;  /**< Physical PP is present */
2212215976Sjmallett#else
2213215976Sjmallett	uint64_t fuse                         : 4;
2214215976Sjmallett	uint64_t reserved_4_63                : 60;
2215215976Sjmallett#endif
2216215976Sjmallett	} cn52xx;
2217215976Sjmallett	struct cvmx_ciu_fuse_cn52xx           cn52xxp1;
2218232812Sjmallett	struct cvmx_ciu_fuse_cn56xx {
2219232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
2220215976Sjmallett	uint64_t reserved_12_63               : 52;
2221215976Sjmallett	uint64_t fuse                         : 12; /**< Physical PP is present */
2222215976Sjmallett#else
2223215976Sjmallett	uint64_t fuse                         : 12;
2224215976Sjmallett	uint64_t reserved_12_63               : 52;
2225215976Sjmallett#endif
2226215976Sjmallett	} cn56xx;
2227215976Sjmallett	struct cvmx_ciu_fuse_cn56xx           cn56xxp1;
2228232812Sjmallett	struct cvmx_ciu_fuse_cn38xx           cn58xx;
2229232812Sjmallett	struct cvmx_ciu_fuse_cn38xx           cn58xxp1;
2230232812Sjmallett	struct cvmx_ciu_fuse_cn52xx           cn61xx;
2231232812Sjmallett	struct cvmx_ciu_fuse_cn63xx {
2232232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
2233215976Sjmallett	uint64_t reserved_6_63                : 58;
2234215976Sjmallett	uint64_t fuse                         : 6;  /**< Physical PP is present */
2235215976Sjmallett#else
2236215976Sjmallett	uint64_t fuse                         : 6;
2237215976Sjmallett	uint64_t reserved_6_63                : 58;
2238215976Sjmallett#endif
2239215976Sjmallett	} cn63xx;
2240215976Sjmallett	struct cvmx_ciu_fuse_cn63xx           cn63xxp1;
2241232812Sjmallett	struct cvmx_ciu_fuse_cn66xx {
2242232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
2243232812Sjmallett	uint64_t reserved_10_63               : 54;
2244232812Sjmallett	uint64_t fuse                         : 10; /**< Physical PP is present */
2245232812Sjmallett#else
2246232812Sjmallett	uint64_t fuse                         : 10;
2247232812Sjmallett	uint64_t reserved_10_63               : 54;
2248232812Sjmallett#endif
2249232812Sjmallett	} cn66xx;
2250232812Sjmallett	struct cvmx_ciu_fuse_s                cn68xx;
2251232812Sjmallett	struct cvmx_ciu_fuse_s                cn68xxp1;
2252232812Sjmallett	struct cvmx_ciu_fuse_cn52xx           cnf71xx;
2253215976Sjmallett};
2254215976Sjmalletttypedef union cvmx_ciu_fuse cvmx_ciu_fuse_t;
2255215976Sjmallett
2256215976Sjmallett/**
2257215976Sjmallett * cvmx_ciu_gstop
2258215976Sjmallett */
2259232812Sjmallettunion cvmx_ciu_gstop {
2260215976Sjmallett	uint64_t u64;
2261232812Sjmallett	struct cvmx_ciu_gstop_s {
2262232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
2263215976Sjmallett	uint64_t reserved_1_63                : 63;
2264215976Sjmallett	uint64_t gstop                        : 1;  /**< GSTOP bit */
2265215976Sjmallett#else
2266215976Sjmallett	uint64_t gstop                        : 1;
2267215976Sjmallett	uint64_t reserved_1_63                : 63;
2268215976Sjmallett#endif
2269215976Sjmallett	} s;
2270215976Sjmallett	struct cvmx_ciu_gstop_s               cn30xx;
2271215976Sjmallett	struct cvmx_ciu_gstop_s               cn31xx;
2272215976Sjmallett	struct cvmx_ciu_gstop_s               cn38xx;
2273215976Sjmallett	struct cvmx_ciu_gstop_s               cn38xxp2;
2274215976Sjmallett	struct cvmx_ciu_gstop_s               cn50xx;
2275215976Sjmallett	struct cvmx_ciu_gstop_s               cn52xx;
2276215976Sjmallett	struct cvmx_ciu_gstop_s               cn52xxp1;
2277215976Sjmallett	struct cvmx_ciu_gstop_s               cn56xx;
2278215976Sjmallett	struct cvmx_ciu_gstop_s               cn56xxp1;
2279215976Sjmallett	struct cvmx_ciu_gstop_s               cn58xx;
2280215976Sjmallett	struct cvmx_ciu_gstop_s               cn58xxp1;
2281232812Sjmallett	struct cvmx_ciu_gstop_s               cn61xx;
2282215976Sjmallett	struct cvmx_ciu_gstop_s               cn63xx;
2283215976Sjmallett	struct cvmx_ciu_gstop_s               cn63xxp1;
2284232812Sjmallett	struct cvmx_ciu_gstop_s               cn66xx;
2285232812Sjmallett	struct cvmx_ciu_gstop_s               cn68xx;
2286232812Sjmallett	struct cvmx_ciu_gstop_s               cn68xxp1;
2287232812Sjmallett	struct cvmx_ciu_gstop_s               cnf71xx;
2288215976Sjmallett};
2289215976Sjmalletttypedef union cvmx_ciu_gstop cvmx_ciu_gstop_t;
2290215976Sjmallett
2291215976Sjmallett/**
2292215976Sjmallett * cvmx_ciu_int#_en0
2293215976Sjmallett *
2294215976Sjmallett * Notes:
2295232812Sjmallett * CIU_INT0_EN0:  PP0/IP2
2296232812Sjmallett * CIU_INT1_EN0:  PP0/IP3
2297232812Sjmallett * CIU_INT2_EN0:  PP1/IP2
2298232812Sjmallett * CIU_INT3_EN0:  PP1/IP3
2299232812Sjmallett * CIU_INT4_EN0:  PP2/IP2
2300232812Sjmallett * CIU_INT5_EN0:  PP2/IP3
2301215976Sjmallett * CIU_INT6_EN0:  PP3/IP2
2302215976Sjmallett * CIU_INT7_EN0:  PP3/IP3
2303232812Sjmallett * .....
2304232812Sjmallett *
2305215976Sjmallett * (hole)
2306232812Sjmallett * CIU_INT32_EN0: IO 0
2307232812Sjmallett * CIU_INT33_EN0: IO 1
2308215976Sjmallett */
2309232812Sjmallettunion cvmx_ciu_intx_en0 {
2310215976Sjmallett	uint64_t u64;
2311232812Sjmallett	struct cvmx_ciu_intx_en0_s {
2312232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
2313215976Sjmallett	uint64_t bootdma                      : 1;  /**< Boot bus DMA engines Interrupt enable */
2314215976Sjmallett	uint64_t mii                          : 1;  /**< RGMII/MII/MIX Interface 0 Interrupt enable */
2315215976Sjmallett	uint64_t ipdppthr                     : 1;  /**< IPD per-port counter threshold interrupt enable */
2316215976Sjmallett	uint64_t powiq                        : 1;  /**< POW IQ interrupt enable */
2317215976Sjmallett	uint64_t twsi2                        : 1;  /**< 2nd TWSI Interrupt enable */
2318232812Sjmallett	uint64_t mpi                          : 1;  /**< MPI/SPI interrupt enable */
2319232812Sjmallett	uint64_t pcm                          : 1;  /**< PCM/TDM interrupt enable */
2320215976Sjmallett	uint64_t usb                          : 1;  /**< USB EHCI or OHCI Interrupt enable */
2321215976Sjmallett	uint64_t timer                        : 4;  /**< General timer interrupt enables */
2322215976Sjmallett	uint64_t key_zero                     : 1;  /**< Key Zeroization interrupt */
2323215976Sjmallett	uint64_t ipd_drp                      : 1;  /**< IPD QOS packet drop interrupt enable */
2324215976Sjmallett	uint64_t gmx_drp                      : 2;  /**< GMX packet drop interrupt enable */
2325215976Sjmallett	uint64_t trace                        : 1;  /**< Trace buffer interrupt enable */
2326215976Sjmallett	uint64_t rml                          : 1;  /**< RML Interrupt enable */
2327215976Sjmallett	uint64_t twsi                         : 1;  /**< TWSI Interrupt enable */
2328215976Sjmallett	uint64_t reserved_44_44               : 1;
2329232812Sjmallett	uint64_t pci_msi                      : 4;  /**< PCIe MSI enables */
2330215976Sjmallett	uint64_t pci_int                      : 4;  /**< PCIe INTA/B/C/D enables */
2331215976Sjmallett	uint64_t uart                         : 2;  /**< Two UART interrupt enables */
2332232812Sjmallett	uint64_t mbox                         : 2;  /**< Two mailbox/PCIe interrupt enables */
2333215976Sjmallett	uint64_t gpio                         : 16; /**< 16 GPIO interrupt enables */
2334215976Sjmallett	uint64_t workq                        : 16; /**< 16 work queue interrupt enables */
2335215976Sjmallett#else
2336215976Sjmallett	uint64_t workq                        : 16;
2337215976Sjmallett	uint64_t gpio                         : 16;
2338215976Sjmallett	uint64_t mbox                         : 2;
2339215976Sjmallett	uint64_t uart                         : 2;
2340215976Sjmallett	uint64_t pci_int                      : 4;
2341215976Sjmallett	uint64_t pci_msi                      : 4;
2342215976Sjmallett	uint64_t reserved_44_44               : 1;
2343215976Sjmallett	uint64_t twsi                         : 1;
2344215976Sjmallett	uint64_t rml                          : 1;
2345215976Sjmallett	uint64_t trace                        : 1;
2346215976Sjmallett	uint64_t gmx_drp                      : 2;
2347215976Sjmallett	uint64_t ipd_drp                      : 1;
2348215976Sjmallett	uint64_t key_zero                     : 1;
2349215976Sjmallett	uint64_t timer                        : 4;
2350215976Sjmallett	uint64_t usb                          : 1;
2351215976Sjmallett	uint64_t pcm                          : 1;
2352215976Sjmallett	uint64_t mpi                          : 1;
2353215976Sjmallett	uint64_t twsi2                        : 1;
2354215976Sjmallett	uint64_t powiq                        : 1;
2355215976Sjmallett	uint64_t ipdppthr                     : 1;
2356215976Sjmallett	uint64_t mii                          : 1;
2357215976Sjmallett	uint64_t bootdma                      : 1;
2358215976Sjmallett#endif
2359215976Sjmallett	} s;
2360232812Sjmallett	struct cvmx_ciu_intx_en0_cn30xx {
2361232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
2362215976Sjmallett	uint64_t reserved_59_63               : 5;
2363215976Sjmallett	uint64_t mpi                          : 1;  /**< MPI/SPI interrupt */
2364215976Sjmallett	uint64_t pcm                          : 1;  /**< PCM/TDM interrupt */
2365215976Sjmallett	uint64_t usb                          : 1;  /**< USB interrupt */
2366215976Sjmallett	uint64_t timer                        : 4;  /**< General timer interrupts */
2367215976Sjmallett	uint64_t reserved_51_51               : 1;
2368215976Sjmallett	uint64_t ipd_drp                      : 1;  /**< IPD QOS packet drop */
2369215976Sjmallett	uint64_t reserved_49_49               : 1;
2370215976Sjmallett	uint64_t gmx_drp                      : 1;  /**< GMX packet drop */
2371215976Sjmallett	uint64_t reserved_47_47               : 1;
2372215976Sjmallett	uint64_t rml                          : 1;  /**< RML Interrupt */
2373215976Sjmallett	uint64_t twsi                         : 1;  /**< TWSI Interrupt */
2374215976Sjmallett	uint64_t reserved_44_44               : 1;
2375215976Sjmallett	uint64_t pci_msi                      : 4;  /**< PCI MSI */
2376215976Sjmallett	uint64_t pci_int                      : 4;  /**< PCI INTA/B/C/D */
2377215976Sjmallett	uint64_t uart                         : 2;  /**< Two UART interrupts */
2378215976Sjmallett	uint64_t mbox                         : 2;  /**< Two mailbox/PCI interrupts */
2379215976Sjmallett	uint64_t gpio                         : 16; /**< 16 GPIO interrupts */
2380215976Sjmallett	uint64_t workq                        : 16; /**< 16 work queue interrupts */
2381215976Sjmallett#else
2382215976Sjmallett	uint64_t workq                        : 16;
2383215976Sjmallett	uint64_t gpio                         : 16;
2384215976Sjmallett	uint64_t mbox                         : 2;
2385215976Sjmallett	uint64_t uart                         : 2;
2386215976Sjmallett	uint64_t pci_int                      : 4;
2387215976Sjmallett	uint64_t pci_msi                      : 4;
2388215976Sjmallett	uint64_t reserved_44_44               : 1;
2389215976Sjmallett	uint64_t twsi                         : 1;
2390215976Sjmallett	uint64_t rml                          : 1;
2391215976Sjmallett	uint64_t reserved_47_47               : 1;
2392215976Sjmallett	uint64_t gmx_drp                      : 1;
2393215976Sjmallett	uint64_t reserved_49_49               : 1;
2394215976Sjmallett	uint64_t ipd_drp                      : 1;
2395215976Sjmallett	uint64_t reserved_51_51               : 1;
2396215976Sjmallett	uint64_t timer                        : 4;
2397215976Sjmallett	uint64_t usb                          : 1;
2398215976Sjmallett	uint64_t pcm                          : 1;
2399215976Sjmallett	uint64_t mpi                          : 1;
2400215976Sjmallett	uint64_t reserved_59_63               : 5;
2401215976Sjmallett#endif
2402215976Sjmallett	} cn30xx;
2403232812Sjmallett	struct cvmx_ciu_intx_en0_cn31xx {
2404232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
2405215976Sjmallett	uint64_t reserved_59_63               : 5;
2406215976Sjmallett	uint64_t mpi                          : 1;  /**< MPI/SPI interrupt */
2407215976Sjmallett	uint64_t pcm                          : 1;  /**< PCM/TDM interrupt */
2408215976Sjmallett	uint64_t usb                          : 1;  /**< USB interrupt */
2409215976Sjmallett	uint64_t timer                        : 4;  /**< General timer interrupts */
2410215976Sjmallett	uint64_t reserved_51_51               : 1;
2411215976Sjmallett	uint64_t ipd_drp                      : 1;  /**< IPD QOS packet drop */
2412215976Sjmallett	uint64_t reserved_49_49               : 1;
2413215976Sjmallett	uint64_t gmx_drp                      : 1;  /**< GMX packet drop */
2414215976Sjmallett	uint64_t trace                        : 1;  /**< L2C has the CMB trace buffer */
2415215976Sjmallett	uint64_t rml                          : 1;  /**< RML Interrupt */
2416215976Sjmallett	uint64_t twsi                         : 1;  /**< TWSI Interrupt */
2417215976Sjmallett	uint64_t reserved_44_44               : 1;
2418215976Sjmallett	uint64_t pci_msi                      : 4;  /**< PCI MSI */
2419215976Sjmallett	uint64_t pci_int                      : 4;  /**< PCI INTA/B/C/D */
2420215976Sjmallett	uint64_t uart                         : 2;  /**< Two UART interrupts */
2421215976Sjmallett	uint64_t mbox                         : 2;  /**< Two mailbox/PCI interrupts */
2422215976Sjmallett	uint64_t gpio                         : 16; /**< 16 GPIO interrupts */
2423215976Sjmallett	uint64_t workq                        : 16; /**< 16 work queue interrupts */
2424215976Sjmallett#else
2425215976Sjmallett	uint64_t workq                        : 16;
2426215976Sjmallett	uint64_t gpio                         : 16;
2427215976Sjmallett	uint64_t mbox                         : 2;
2428215976Sjmallett	uint64_t uart                         : 2;
2429215976Sjmallett	uint64_t pci_int                      : 4;
2430215976Sjmallett	uint64_t pci_msi                      : 4;
2431215976Sjmallett	uint64_t reserved_44_44               : 1;
2432215976Sjmallett	uint64_t twsi                         : 1;
2433215976Sjmallett	uint64_t rml                          : 1;
2434215976Sjmallett	uint64_t trace                        : 1;
2435215976Sjmallett	uint64_t gmx_drp                      : 1;
2436215976Sjmallett	uint64_t reserved_49_49               : 1;
2437215976Sjmallett	uint64_t ipd_drp                      : 1;
2438215976Sjmallett	uint64_t reserved_51_51               : 1;
2439215976Sjmallett	uint64_t timer                        : 4;
2440215976Sjmallett	uint64_t usb                          : 1;
2441215976Sjmallett	uint64_t pcm                          : 1;
2442215976Sjmallett	uint64_t mpi                          : 1;
2443215976Sjmallett	uint64_t reserved_59_63               : 5;
2444215976Sjmallett#endif
2445215976Sjmallett	} cn31xx;
2446232812Sjmallett	struct cvmx_ciu_intx_en0_cn38xx {
2447232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
2448215976Sjmallett	uint64_t reserved_56_63               : 8;
2449215976Sjmallett	uint64_t timer                        : 4;  /**< General timer interrupts */
2450215976Sjmallett	uint64_t key_zero                     : 1;  /**< Key Zeroization interrupt */
2451215976Sjmallett	uint64_t ipd_drp                      : 1;  /**< IPD QOS packet drop */
2452215976Sjmallett	uint64_t gmx_drp                      : 2;  /**< GMX packet drop */
2453215976Sjmallett	uint64_t trace                        : 1;  /**< L2C has the CMB trace buffer */
2454215976Sjmallett	uint64_t rml                          : 1;  /**< RML Interrupt */
2455215976Sjmallett	uint64_t twsi                         : 1;  /**< TWSI Interrupt */
2456215976Sjmallett	uint64_t reserved_44_44               : 1;
2457215976Sjmallett	uint64_t pci_msi                      : 4;  /**< PCI MSI */
2458215976Sjmallett	uint64_t pci_int                      : 4;  /**< PCI INTA/B/C/D */
2459215976Sjmallett	uint64_t uart                         : 2;  /**< Two UART interrupts */
2460215976Sjmallett	uint64_t mbox                         : 2;  /**< Two mailbox/PCI interrupts */
2461215976Sjmallett	uint64_t gpio                         : 16; /**< 16 GPIO interrupts */
2462215976Sjmallett	uint64_t workq                        : 16; /**< 16 work queue interrupts */
2463215976Sjmallett#else
2464215976Sjmallett	uint64_t workq                        : 16;
2465215976Sjmallett	uint64_t gpio                         : 16;
2466215976Sjmallett	uint64_t mbox                         : 2;
2467215976Sjmallett	uint64_t uart                         : 2;
2468215976Sjmallett	uint64_t pci_int                      : 4;
2469215976Sjmallett	uint64_t pci_msi                      : 4;
2470215976Sjmallett	uint64_t reserved_44_44               : 1;
2471215976Sjmallett	uint64_t twsi                         : 1;
2472215976Sjmallett	uint64_t rml                          : 1;
2473215976Sjmallett	uint64_t trace                        : 1;
2474215976Sjmallett	uint64_t gmx_drp                      : 2;
2475215976Sjmallett	uint64_t ipd_drp                      : 1;
2476215976Sjmallett	uint64_t key_zero                     : 1;
2477215976Sjmallett	uint64_t timer                        : 4;
2478215976Sjmallett	uint64_t reserved_56_63               : 8;
2479215976Sjmallett#endif
2480215976Sjmallett	} cn38xx;
2481215976Sjmallett	struct cvmx_ciu_intx_en0_cn38xx       cn38xxp2;
2482215976Sjmallett	struct cvmx_ciu_intx_en0_cn30xx       cn50xx;
2483232812Sjmallett	struct cvmx_ciu_intx_en0_cn52xx {
2484232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
2485215976Sjmallett	uint64_t bootdma                      : 1;  /**< Boot bus DMA engines Interrupt */
2486215976Sjmallett	uint64_t mii                          : 1;  /**< MII Interface Interrupt */
2487215976Sjmallett	uint64_t ipdppthr                     : 1;  /**< IPD per-port counter threshold interrupt */
2488215976Sjmallett	uint64_t powiq                        : 1;  /**< POW IQ interrupt */
2489215976Sjmallett	uint64_t twsi2                        : 1;  /**< 2nd TWSI Interrupt */
2490215976Sjmallett	uint64_t reserved_57_58               : 2;
2491215976Sjmallett	uint64_t usb                          : 1;  /**< USB Interrupt */
2492215976Sjmallett	uint64_t timer                        : 4;  /**< General timer interrupts */
2493215976Sjmallett	uint64_t reserved_51_51               : 1;
2494215976Sjmallett	uint64_t ipd_drp                      : 1;  /**< IPD QOS packet drop */
2495215976Sjmallett	uint64_t reserved_49_49               : 1;
2496215976Sjmallett	uint64_t gmx_drp                      : 1;  /**< GMX packet drop */
2497215976Sjmallett	uint64_t trace                        : 1;  /**< L2C has the CMB trace buffer */
2498215976Sjmallett	uint64_t rml                          : 1;  /**< RML Interrupt */
2499215976Sjmallett	uint64_t twsi                         : 1;  /**< TWSI Interrupt */
2500215976Sjmallett	uint64_t reserved_44_44               : 1;
2501215976Sjmallett	uint64_t pci_msi                      : 4;  /**< PCI MSI */
2502215976Sjmallett	uint64_t pci_int                      : 4;  /**< PCI INTA/B/C/D */
2503215976Sjmallett	uint64_t uart                         : 2;  /**< Two UART interrupts */
2504215976Sjmallett	uint64_t mbox                         : 2;  /**< Two mailbox/PCI interrupts */
2505215976Sjmallett	uint64_t gpio                         : 16; /**< 16 GPIO interrupts */
2506215976Sjmallett	uint64_t workq                        : 16; /**< 16 work queue interrupts */
2507215976Sjmallett#else
2508215976Sjmallett	uint64_t workq                        : 16;
2509215976Sjmallett	uint64_t gpio                         : 16;
2510215976Sjmallett	uint64_t mbox                         : 2;
2511215976Sjmallett	uint64_t uart                         : 2;
2512215976Sjmallett	uint64_t pci_int                      : 4;
2513215976Sjmallett	uint64_t pci_msi                      : 4;
2514215976Sjmallett	uint64_t reserved_44_44               : 1;
2515215976Sjmallett	uint64_t twsi                         : 1;
2516215976Sjmallett	uint64_t rml                          : 1;
2517215976Sjmallett	uint64_t trace                        : 1;
2518215976Sjmallett	uint64_t gmx_drp                      : 1;
2519215976Sjmallett	uint64_t reserved_49_49               : 1;
2520215976Sjmallett	uint64_t ipd_drp                      : 1;
2521215976Sjmallett	uint64_t reserved_51_51               : 1;
2522215976Sjmallett	uint64_t timer                        : 4;
2523215976Sjmallett	uint64_t usb                          : 1;
2524215976Sjmallett	uint64_t reserved_57_58               : 2;
2525215976Sjmallett	uint64_t twsi2                        : 1;
2526215976Sjmallett	uint64_t powiq                        : 1;
2527215976Sjmallett	uint64_t ipdppthr                     : 1;
2528215976Sjmallett	uint64_t mii                          : 1;
2529215976Sjmallett	uint64_t bootdma                      : 1;
2530215976Sjmallett#endif
2531215976Sjmallett	} cn52xx;
2532215976Sjmallett	struct cvmx_ciu_intx_en0_cn52xx       cn52xxp1;
2533232812Sjmallett	struct cvmx_ciu_intx_en0_cn56xx {
2534232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
2535215976Sjmallett	uint64_t bootdma                      : 1;  /**< Boot bus DMA engines Interrupt */
2536215976Sjmallett	uint64_t mii                          : 1;  /**< MII Interface Interrupt */
2537215976Sjmallett	uint64_t ipdppthr                     : 1;  /**< IPD per-port counter threshold interrupt */
2538215976Sjmallett	uint64_t powiq                        : 1;  /**< POW IQ interrupt */
2539215976Sjmallett	uint64_t twsi2                        : 1;  /**< 2nd TWSI Interrupt */
2540215976Sjmallett	uint64_t reserved_57_58               : 2;
2541215976Sjmallett	uint64_t usb                          : 1;  /**< USB Interrupt */
2542215976Sjmallett	uint64_t timer                        : 4;  /**< General timer interrupts */
2543215976Sjmallett	uint64_t key_zero                     : 1;  /**< Key Zeroization interrupt */
2544215976Sjmallett	uint64_t ipd_drp                      : 1;  /**< IPD QOS packet drop */
2545215976Sjmallett	uint64_t gmx_drp                      : 2;  /**< GMX packet drop */
2546215976Sjmallett	uint64_t trace                        : 1;  /**< L2C has the CMB trace buffer */
2547215976Sjmallett	uint64_t rml                          : 1;  /**< RML Interrupt */
2548215976Sjmallett	uint64_t twsi                         : 1;  /**< TWSI Interrupt */
2549215976Sjmallett	uint64_t reserved_44_44               : 1;
2550215976Sjmallett	uint64_t pci_msi                      : 4;  /**< PCI MSI */
2551215976Sjmallett	uint64_t pci_int                      : 4;  /**< PCI INTA/B/C/D */
2552215976Sjmallett	uint64_t uart                         : 2;  /**< Two UART interrupts */
2553215976Sjmallett	uint64_t mbox                         : 2;  /**< Two mailbox/PCI interrupts */
2554215976Sjmallett	uint64_t gpio                         : 16; /**< 16 GPIO interrupts */
2555215976Sjmallett	uint64_t workq                        : 16; /**< 16 work queue interrupts */
2556215976Sjmallett#else
2557215976Sjmallett	uint64_t workq                        : 16;
2558215976Sjmallett	uint64_t gpio                         : 16;
2559215976Sjmallett	uint64_t mbox                         : 2;
2560215976Sjmallett	uint64_t uart                         : 2;
2561215976Sjmallett	uint64_t pci_int                      : 4;
2562215976Sjmallett	uint64_t pci_msi                      : 4;
2563215976Sjmallett	uint64_t reserved_44_44               : 1;
2564215976Sjmallett	uint64_t twsi                         : 1;
2565215976Sjmallett	uint64_t rml                          : 1;
2566215976Sjmallett	uint64_t trace                        : 1;
2567215976Sjmallett	uint64_t gmx_drp                      : 2;
2568215976Sjmallett	uint64_t ipd_drp                      : 1;
2569215976Sjmallett	uint64_t key_zero                     : 1;
2570215976Sjmallett	uint64_t timer                        : 4;
2571215976Sjmallett	uint64_t usb                          : 1;
2572215976Sjmallett	uint64_t reserved_57_58               : 2;
2573215976Sjmallett	uint64_t twsi2                        : 1;
2574215976Sjmallett	uint64_t powiq                        : 1;
2575215976Sjmallett	uint64_t ipdppthr                     : 1;
2576215976Sjmallett	uint64_t mii                          : 1;
2577215976Sjmallett	uint64_t bootdma                      : 1;
2578215976Sjmallett#endif
2579215976Sjmallett	} cn56xx;
2580215976Sjmallett	struct cvmx_ciu_intx_en0_cn56xx       cn56xxp1;
2581215976Sjmallett	struct cvmx_ciu_intx_en0_cn38xx       cn58xx;
2582215976Sjmallett	struct cvmx_ciu_intx_en0_cn38xx       cn58xxp1;
2583232812Sjmallett	struct cvmx_ciu_intx_en0_cn61xx {
2584232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
2585232812Sjmallett	uint64_t bootdma                      : 1;  /**< Boot bus DMA engines Interrupt enable */
2586232812Sjmallett	uint64_t mii                          : 1;  /**< RGMII/MIX Interface 0 Interrupt enable */
2587232812Sjmallett	uint64_t ipdppthr                     : 1;  /**< IPD per-port counter threshold interrupt enable */
2588232812Sjmallett	uint64_t powiq                        : 1;  /**< POW IQ interrupt enable */
2589232812Sjmallett	uint64_t twsi2                        : 1;  /**< 2nd TWSI Interrupt enable */
2590232812Sjmallett	uint64_t mpi                          : 1;  /**< MPI/SPI interrupt enable */
2591232812Sjmallett	uint64_t pcm                          : 1;  /**< PCM/TDM interrupt enable */
2592232812Sjmallett	uint64_t usb                          : 1;  /**< USB EHCI or OHCI Interrupt enable */
2593232812Sjmallett	uint64_t timer                        : 4;  /**< General timer interrupt enables */
2594232812Sjmallett	uint64_t reserved_51_51               : 1;
2595232812Sjmallett	uint64_t ipd_drp                      : 1;  /**< IPD QOS packet drop interrupt enable */
2596232812Sjmallett	uint64_t gmx_drp                      : 2;  /**< GMX packet drop interrupt enable */
2597232812Sjmallett	uint64_t trace                        : 1;  /**< Trace buffer interrupt enable */
2598232812Sjmallett	uint64_t rml                          : 1;  /**< RML Interrupt enable */
2599232812Sjmallett	uint64_t twsi                         : 1;  /**< TWSI Interrupt enable */
2600232812Sjmallett	uint64_t reserved_44_44               : 1;
2601232812Sjmallett	uint64_t pci_msi                      : 4;  /**< PCIe MSI enables */
2602232812Sjmallett	uint64_t pci_int                      : 4;  /**< PCIe INTA/B/C/D enables */
2603232812Sjmallett	uint64_t uart                         : 2;  /**< Two UART interrupt enables */
2604232812Sjmallett	uint64_t mbox                         : 2;  /**< Two mailbox/PCIe interrupt enables */
2605232812Sjmallett	uint64_t gpio                         : 16; /**< 16 GPIO interrupt enables */
2606232812Sjmallett	uint64_t workq                        : 16; /**< 16 work queue interrupt enables */
2607232812Sjmallett#else
2608232812Sjmallett	uint64_t workq                        : 16;
2609232812Sjmallett	uint64_t gpio                         : 16;
2610232812Sjmallett	uint64_t mbox                         : 2;
2611232812Sjmallett	uint64_t uart                         : 2;
2612232812Sjmallett	uint64_t pci_int                      : 4;
2613232812Sjmallett	uint64_t pci_msi                      : 4;
2614232812Sjmallett	uint64_t reserved_44_44               : 1;
2615232812Sjmallett	uint64_t twsi                         : 1;
2616232812Sjmallett	uint64_t rml                          : 1;
2617232812Sjmallett	uint64_t trace                        : 1;
2618232812Sjmallett	uint64_t gmx_drp                      : 2;
2619232812Sjmallett	uint64_t ipd_drp                      : 1;
2620232812Sjmallett	uint64_t reserved_51_51               : 1;
2621232812Sjmallett	uint64_t timer                        : 4;
2622232812Sjmallett	uint64_t usb                          : 1;
2623232812Sjmallett	uint64_t pcm                          : 1;
2624232812Sjmallett	uint64_t mpi                          : 1;
2625232812Sjmallett	uint64_t twsi2                        : 1;
2626232812Sjmallett	uint64_t powiq                        : 1;
2627232812Sjmallett	uint64_t ipdppthr                     : 1;
2628232812Sjmallett	uint64_t mii                          : 1;
2629232812Sjmallett	uint64_t bootdma                      : 1;
2630232812Sjmallett#endif
2631232812Sjmallett	} cn61xx;
2632215976Sjmallett	struct cvmx_ciu_intx_en0_cn52xx       cn63xx;
2633215976Sjmallett	struct cvmx_ciu_intx_en0_cn52xx       cn63xxp1;
2634232812Sjmallett	struct cvmx_ciu_intx_en0_cn66xx {
2635232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
2636232812Sjmallett	uint64_t bootdma                      : 1;  /**< Boot bus DMA engines Interrupt enable */
2637232812Sjmallett	uint64_t mii                          : 1;  /**< RGMII/MII/MIX Interface 0 Interrupt enable */
2638232812Sjmallett	uint64_t ipdppthr                     : 1;  /**< IPD per-port counter threshold interrupt enable */
2639232812Sjmallett	uint64_t powiq                        : 1;  /**< POW IQ interrupt enable */
2640232812Sjmallett	uint64_t twsi2                        : 1;  /**< 2nd TWSI Interrupt enable */
2641232812Sjmallett	uint64_t mpi                          : 1;  /**< MPI/SPI interrupt enable */
2642232812Sjmallett	uint64_t reserved_57_57               : 1;
2643232812Sjmallett	uint64_t usb                          : 1;  /**< USB EHCI or OHCI Interrupt enable */
2644232812Sjmallett	uint64_t timer                        : 4;  /**< General timer interrupt enables */
2645232812Sjmallett	uint64_t reserved_51_51               : 1;
2646232812Sjmallett	uint64_t ipd_drp                      : 1;  /**< IPD QOS packet drop interrupt enable */
2647232812Sjmallett	uint64_t gmx_drp                      : 2;  /**< GMX packet drop interrupt enable */
2648232812Sjmallett	uint64_t trace                        : 1;  /**< Trace buffer interrupt enable */
2649232812Sjmallett	uint64_t rml                          : 1;  /**< RML Interrupt enable */
2650232812Sjmallett	uint64_t twsi                         : 1;  /**< TWSI Interrupt enable */
2651232812Sjmallett	uint64_t reserved_44_44               : 1;
2652232812Sjmallett	uint64_t pci_msi                      : 4;  /**< PCIe/sRIO MSI enables */
2653232812Sjmallett	uint64_t pci_int                      : 4;  /**< PCIe INTA/B/C/D enables */
2654232812Sjmallett	uint64_t uart                         : 2;  /**< Two UART interrupt enables */
2655232812Sjmallett	uint64_t mbox                         : 2;  /**< Two mailbox/PCIe/sRIO interrupt enables */
2656232812Sjmallett	uint64_t gpio                         : 16; /**< 16 GPIO interrupt enables */
2657232812Sjmallett	uint64_t workq                        : 16; /**< 16 work queue interrupt enables */
2658232812Sjmallett#else
2659232812Sjmallett	uint64_t workq                        : 16;
2660232812Sjmallett	uint64_t gpio                         : 16;
2661232812Sjmallett	uint64_t mbox                         : 2;
2662232812Sjmallett	uint64_t uart                         : 2;
2663232812Sjmallett	uint64_t pci_int                      : 4;
2664232812Sjmallett	uint64_t pci_msi                      : 4;
2665232812Sjmallett	uint64_t reserved_44_44               : 1;
2666232812Sjmallett	uint64_t twsi                         : 1;
2667232812Sjmallett	uint64_t rml                          : 1;
2668232812Sjmallett	uint64_t trace                        : 1;
2669232812Sjmallett	uint64_t gmx_drp                      : 2;
2670232812Sjmallett	uint64_t ipd_drp                      : 1;
2671232812Sjmallett	uint64_t reserved_51_51               : 1;
2672232812Sjmallett	uint64_t timer                        : 4;
2673232812Sjmallett	uint64_t usb                          : 1;
2674232812Sjmallett	uint64_t reserved_57_57               : 1;
2675232812Sjmallett	uint64_t mpi                          : 1;
2676232812Sjmallett	uint64_t twsi2                        : 1;
2677232812Sjmallett	uint64_t powiq                        : 1;
2678232812Sjmallett	uint64_t ipdppthr                     : 1;
2679232812Sjmallett	uint64_t mii                          : 1;
2680232812Sjmallett	uint64_t bootdma                      : 1;
2681232812Sjmallett#endif
2682232812Sjmallett	} cn66xx;
2683232812Sjmallett	struct cvmx_ciu_intx_en0_cnf71xx {
2684232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
2685232812Sjmallett	uint64_t bootdma                      : 1;  /**< Boot bus DMA engines Interrupt enable */
2686232812Sjmallett	uint64_t reserved_62_62               : 1;
2687232812Sjmallett	uint64_t ipdppthr                     : 1;  /**< IPD per-port counter threshold interrupt enable */
2688232812Sjmallett	uint64_t powiq                        : 1;  /**< POW IQ interrupt enable */
2689232812Sjmallett	uint64_t twsi2                        : 1;  /**< 2nd TWSI Interrupt enable */
2690232812Sjmallett	uint64_t mpi                          : 1;  /**< MPI/SPI interrupt enable */
2691232812Sjmallett	uint64_t pcm                          : 1;  /**< PCM/TDM interrupt enable */
2692232812Sjmallett	uint64_t usb                          : 1;  /**< USB EHCI or OHCI Interrupt enable */
2693232812Sjmallett	uint64_t timer                        : 4;  /**< General timer interrupt enables */
2694232812Sjmallett	uint64_t reserved_51_51               : 1;
2695232812Sjmallett	uint64_t ipd_drp                      : 1;  /**< IPD QOS packet drop interrupt enable */
2696232812Sjmallett	uint64_t reserved_49_49               : 1;
2697232812Sjmallett	uint64_t gmx_drp                      : 1;  /**< GMX packet drop interrupt enable */
2698232812Sjmallett	uint64_t trace                        : 1;  /**< Trace buffer interrupt enable */
2699232812Sjmallett	uint64_t rml                          : 1;  /**< RML Interrupt enable */
2700232812Sjmallett	uint64_t twsi                         : 1;  /**< TWSI Interrupt enable */
2701232812Sjmallett	uint64_t reserved_44_44               : 1;
2702232812Sjmallett	uint64_t pci_msi                      : 4;  /**< PCIe MSI enables */
2703232812Sjmallett	uint64_t pci_int                      : 4;  /**< PCIe INTA/B/C/D enables */
2704232812Sjmallett	uint64_t uart                         : 2;  /**< Two UART interrupt enables */
2705232812Sjmallett	uint64_t mbox                         : 2;  /**< Two mailbox/PCIe interrupt enables */
2706232812Sjmallett	uint64_t gpio                         : 16; /**< 16 GPIO interrupt enables */
2707232812Sjmallett	uint64_t workq                        : 16; /**< 16 work queue interrupt enables */
2708232812Sjmallett#else
2709232812Sjmallett	uint64_t workq                        : 16;
2710232812Sjmallett	uint64_t gpio                         : 16;
2711232812Sjmallett	uint64_t mbox                         : 2;
2712232812Sjmallett	uint64_t uart                         : 2;
2713232812Sjmallett	uint64_t pci_int                      : 4;
2714232812Sjmallett	uint64_t pci_msi                      : 4;
2715232812Sjmallett	uint64_t reserved_44_44               : 1;
2716232812Sjmallett	uint64_t twsi                         : 1;
2717232812Sjmallett	uint64_t rml                          : 1;
2718232812Sjmallett	uint64_t trace                        : 1;
2719232812Sjmallett	uint64_t gmx_drp                      : 1;
2720232812Sjmallett	uint64_t reserved_49_49               : 1;
2721232812Sjmallett	uint64_t ipd_drp                      : 1;
2722232812Sjmallett	uint64_t reserved_51_51               : 1;
2723232812Sjmallett	uint64_t timer                        : 4;
2724232812Sjmallett	uint64_t usb                          : 1;
2725232812Sjmallett	uint64_t pcm                          : 1;
2726232812Sjmallett	uint64_t mpi                          : 1;
2727232812Sjmallett	uint64_t twsi2                        : 1;
2728232812Sjmallett	uint64_t powiq                        : 1;
2729232812Sjmallett	uint64_t ipdppthr                     : 1;
2730232812Sjmallett	uint64_t reserved_62_62               : 1;
2731232812Sjmallett	uint64_t bootdma                      : 1;
2732232812Sjmallett#endif
2733232812Sjmallett	} cnf71xx;
2734215976Sjmallett};
2735215976Sjmalletttypedef union cvmx_ciu_intx_en0 cvmx_ciu_intx_en0_t;
2736215976Sjmallett
2737215976Sjmallett/**
2738215976Sjmallett * cvmx_ciu_int#_en0_w1c
2739215976Sjmallett *
2740215976Sjmallett * Notes:
2741232812Sjmallett * Write-1-to-clear version of the CIU_INTx_EN0 register, read back corresponding CIU_INTx_EN0 value.
2742215976Sjmallett *
2743215976Sjmallett */
2744232812Sjmallettunion cvmx_ciu_intx_en0_w1c {
2745215976Sjmallett	uint64_t u64;
2746232812Sjmallett	struct cvmx_ciu_intx_en0_w1c_s {
2747232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
2748215976Sjmallett	uint64_t bootdma                      : 1;  /**< Write 1 to clear Boot bus DMA engines Interrupt
2749215976Sjmallett                                                         enable */
2750215976Sjmallett	uint64_t mii                          : 1;  /**< Write 1 to clr RGMII/MII/MIX Interface 0 Interrupt
2751215976Sjmallett                                                         enable */
2752215976Sjmallett	uint64_t ipdppthr                     : 1;  /**< Write 1 to clear IPD per-port counter threshold
2753215976Sjmallett                                                         interrupt enable */
2754232812Sjmallett	uint64_t powiq                        : 1;  /**< Write 1 to clear POW IQ interrupt enable */
2755232812Sjmallett	uint64_t twsi2                        : 1;  /**< Write 1 to clear 2nd TWSI Interrupt enable */
2756232812Sjmallett	uint64_t mpi                          : 1;  /**< Write 1 to clear MPI/SPI interrupt enable */
2757232812Sjmallett	uint64_t pcm                          : 1;  /**< Write 1 to clear PCM/TDM interrupt enable */
2758232812Sjmallett	uint64_t usb                          : 1;  /**< Write 1 to clear USB EHCI or OHCI Interrupt enable */
2759232812Sjmallett	uint64_t timer                        : 4;  /**< Write 1 to clear General timer interrupt enables */
2760215976Sjmallett	uint64_t key_zero                     : 1;  /**< Key Zeroization interrupt */
2761215976Sjmallett	uint64_t ipd_drp                      : 1;  /**< Write 1 to clear IPD QOS packet drop interrupt
2762215976Sjmallett                                                         enable */
2763215976Sjmallett	uint64_t gmx_drp                      : 2;  /**< Write 1 to clear GMX packet drop interrupt enable */
2764215976Sjmallett	uint64_t trace                        : 1;  /**< Write 1 to clear Trace buffer interrupt enable */
2765215976Sjmallett	uint64_t rml                          : 1;  /**< Write 1 to clear RML Interrupt enable */
2766215976Sjmallett	uint64_t twsi                         : 1;  /**< Write 1 to clear TWSI Interrupt enable */
2767215976Sjmallett	uint64_t reserved_44_44               : 1;
2768232812Sjmallett	uint64_t pci_msi                      : 4;  /**< Write 1s to clear PCIe MSI enables */
2769215976Sjmallett	uint64_t pci_int                      : 4;  /**< Write 1s to clear PCIe INTA/B/C/D enables */
2770215976Sjmallett	uint64_t uart                         : 2;  /**< Write 1s to clear UART interrupt enables */
2771232812Sjmallett	uint64_t mbox                         : 2;  /**< Write 1s to clear mailbox/PCIe interrupt
2772215976Sjmallett                                                         enables */
2773215976Sjmallett	uint64_t gpio                         : 16; /**< Write 1s to clear GPIO interrupt enables */
2774215976Sjmallett	uint64_t workq                        : 16; /**< Write 1s to clear work queue interrupt enables */
2775215976Sjmallett#else
2776215976Sjmallett	uint64_t workq                        : 16;
2777215976Sjmallett	uint64_t gpio                         : 16;
2778215976Sjmallett	uint64_t mbox                         : 2;
2779215976Sjmallett	uint64_t uart                         : 2;
2780215976Sjmallett	uint64_t pci_int                      : 4;
2781215976Sjmallett	uint64_t pci_msi                      : 4;
2782215976Sjmallett	uint64_t reserved_44_44               : 1;
2783215976Sjmallett	uint64_t twsi                         : 1;
2784215976Sjmallett	uint64_t rml                          : 1;
2785215976Sjmallett	uint64_t trace                        : 1;
2786215976Sjmallett	uint64_t gmx_drp                      : 2;
2787215976Sjmallett	uint64_t ipd_drp                      : 1;
2788215976Sjmallett	uint64_t key_zero                     : 1;
2789215976Sjmallett	uint64_t timer                        : 4;
2790215976Sjmallett	uint64_t usb                          : 1;
2791232812Sjmallett	uint64_t pcm                          : 1;
2792232812Sjmallett	uint64_t mpi                          : 1;
2793215976Sjmallett	uint64_t twsi2                        : 1;
2794215976Sjmallett	uint64_t powiq                        : 1;
2795215976Sjmallett	uint64_t ipdppthr                     : 1;
2796215976Sjmallett	uint64_t mii                          : 1;
2797215976Sjmallett	uint64_t bootdma                      : 1;
2798215976Sjmallett#endif
2799215976Sjmallett	} s;
2800232812Sjmallett	struct cvmx_ciu_intx_en0_w1c_cn52xx {
2801232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
2802215976Sjmallett	uint64_t bootdma                      : 1;  /**< Boot bus DMA engines Interrupt */
2803215976Sjmallett	uint64_t mii                          : 1;  /**< MII Interface Interrupt */
2804215976Sjmallett	uint64_t ipdppthr                     : 1;  /**< IPD per-port counter threshold interrupt */
2805215976Sjmallett	uint64_t powiq                        : 1;  /**< POW IQ interrupt */
2806215976Sjmallett	uint64_t twsi2                        : 1;  /**< 2nd TWSI Interrupt */
2807215976Sjmallett	uint64_t reserved_57_58               : 2;
2808215976Sjmallett	uint64_t usb                          : 1;  /**< USB Interrupt */
2809215976Sjmallett	uint64_t timer                        : 4;  /**< General timer interrupts */
2810215976Sjmallett	uint64_t reserved_51_51               : 1;
2811215976Sjmallett	uint64_t ipd_drp                      : 1;  /**< IPD QOS packet drop */
2812215976Sjmallett	uint64_t reserved_49_49               : 1;
2813215976Sjmallett	uint64_t gmx_drp                      : 1;  /**< GMX packet drop */
2814215976Sjmallett	uint64_t trace                        : 1;  /**< L2C has the CMB trace buffer */
2815215976Sjmallett	uint64_t rml                          : 1;  /**< RML Interrupt */
2816215976Sjmallett	uint64_t twsi                         : 1;  /**< TWSI Interrupt */
2817215976Sjmallett	uint64_t reserved_44_44               : 1;
2818215976Sjmallett	uint64_t pci_msi                      : 4;  /**< PCI MSI */
2819215976Sjmallett	uint64_t pci_int                      : 4;  /**< PCI INTA/B/C/D */
2820215976Sjmallett	uint64_t uart                         : 2;  /**< Two UART interrupts */
2821215976Sjmallett	uint64_t mbox                         : 2;  /**< Two mailbox/PCI interrupts */
2822215976Sjmallett	uint64_t gpio                         : 16; /**< 16 GPIO interrupts */
2823215976Sjmallett	uint64_t workq                        : 16; /**< 16 work queue interrupts */
2824215976Sjmallett#else
2825215976Sjmallett	uint64_t workq                        : 16;
2826215976Sjmallett	uint64_t gpio                         : 16;
2827215976Sjmallett	uint64_t mbox                         : 2;
2828215976Sjmallett	uint64_t uart                         : 2;
2829215976Sjmallett	uint64_t pci_int                      : 4;
2830215976Sjmallett	uint64_t pci_msi                      : 4;
2831215976Sjmallett	uint64_t reserved_44_44               : 1;
2832215976Sjmallett	uint64_t twsi                         : 1;
2833215976Sjmallett	uint64_t rml                          : 1;
2834215976Sjmallett	uint64_t trace                        : 1;
2835215976Sjmallett	uint64_t gmx_drp                      : 1;
2836215976Sjmallett	uint64_t reserved_49_49               : 1;
2837215976Sjmallett	uint64_t ipd_drp                      : 1;
2838215976Sjmallett	uint64_t reserved_51_51               : 1;
2839215976Sjmallett	uint64_t timer                        : 4;
2840215976Sjmallett	uint64_t usb                          : 1;
2841215976Sjmallett	uint64_t reserved_57_58               : 2;
2842215976Sjmallett	uint64_t twsi2                        : 1;
2843215976Sjmallett	uint64_t powiq                        : 1;
2844215976Sjmallett	uint64_t ipdppthr                     : 1;
2845215976Sjmallett	uint64_t mii                          : 1;
2846215976Sjmallett	uint64_t bootdma                      : 1;
2847215976Sjmallett#endif
2848215976Sjmallett	} cn52xx;
2849232812Sjmallett	struct cvmx_ciu_intx_en0_w1c_cn56xx {
2850232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
2851232812Sjmallett	uint64_t bootdma                      : 1;  /**< Boot bus DMA engines Interrupt */
2852232812Sjmallett	uint64_t mii                          : 1;  /**< MII Interface Interrupt */
2853232812Sjmallett	uint64_t ipdppthr                     : 1;  /**< IPD per-port counter threshold interrupt */
2854232812Sjmallett	uint64_t powiq                        : 1;  /**< POW IQ interrupt */
2855232812Sjmallett	uint64_t twsi2                        : 1;  /**< 2nd TWSI Interrupt */
2856232812Sjmallett	uint64_t reserved_57_58               : 2;
2857232812Sjmallett	uint64_t usb                          : 1;  /**< USB Interrupt */
2858232812Sjmallett	uint64_t timer                        : 4;  /**< General timer interrupts */
2859232812Sjmallett	uint64_t key_zero                     : 1;  /**< Key Zeroization interrupt */
2860232812Sjmallett	uint64_t ipd_drp                      : 1;  /**< IPD QOS packet drop */
2861232812Sjmallett	uint64_t gmx_drp                      : 2;  /**< GMX packet drop */
2862232812Sjmallett	uint64_t trace                        : 1;  /**< L2C has the CMB trace buffer */
2863232812Sjmallett	uint64_t rml                          : 1;  /**< RML Interrupt */
2864232812Sjmallett	uint64_t twsi                         : 1;  /**< TWSI Interrupt */
2865232812Sjmallett	uint64_t reserved_44_44               : 1;
2866232812Sjmallett	uint64_t pci_msi                      : 4;  /**< PCI MSI */
2867232812Sjmallett	uint64_t pci_int                      : 4;  /**< PCI INTA/B/C/D */
2868232812Sjmallett	uint64_t uart                         : 2;  /**< Two UART interrupts */
2869232812Sjmallett	uint64_t mbox                         : 2;  /**< Two mailbox/PCI interrupts */
2870232812Sjmallett	uint64_t gpio                         : 16; /**< 16 GPIO interrupts */
2871232812Sjmallett	uint64_t workq                        : 16; /**< 16 work queue interrupts */
2872232812Sjmallett#else
2873232812Sjmallett	uint64_t workq                        : 16;
2874232812Sjmallett	uint64_t gpio                         : 16;
2875232812Sjmallett	uint64_t mbox                         : 2;
2876232812Sjmallett	uint64_t uart                         : 2;
2877232812Sjmallett	uint64_t pci_int                      : 4;
2878232812Sjmallett	uint64_t pci_msi                      : 4;
2879232812Sjmallett	uint64_t reserved_44_44               : 1;
2880232812Sjmallett	uint64_t twsi                         : 1;
2881232812Sjmallett	uint64_t rml                          : 1;
2882232812Sjmallett	uint64_t trace                        : 1;
2883232812Sjmallett	uint64_t gmx_drp                      : 2;
2884232812Sjmallett	uint64_t ipd_drp                      : 1;
2885232812Sjmallett	uint64_t key_zero                     : 1;
2886232812Sjmallett	uint64_t timer                        : 4;
2887232812Sjmallett	uint64_t usb                          : 1;
2888232812Sjmallett	uint64_t reserved_57_58               : 2;
2889232812Sjmallett	uint64_t twsi2                        : 1;
2890232812Sjmallett	uint64_t powiq                        : 1;
2891232812Sjmallett	uint64_t ipdppthr                     : 1;
2892232812Sjmallett	uint64_t mii                          : 1;
2893232812Sjmallett	uint64_t bootdma                      : 1;
2894232812Sjmallett#endif
2895232812Sjmallett	} cn56xx;
2896232812Sjmallett	struct cvmx_ciu_intx_en0_w1c_cn58xx {
2897232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
2898215976Sjmallett	uint64_t reserved_56_63               : 8;
2899215976Sjmallett	uint64_t timer                        : 4;  /**< General timer interrupts */
2900215976Sjmallett	uint64_t key_zero                     : 1;  /**< Key Zeroization interrupt */
2901215976Sjmallett	uint64_t ipd_drp                      : 1;  /**< IPD QOS packet drop */
2902215976Sjmallett	uint64_t gmx_drp                      : 2;  /**< GMX packet drop */
2903215976Sjmallett	uint64_t trace                        : 1;  /**< L2C has the CMB trace buffer */
2904215976Sjmallett	uint64_t rml                          : 1;  /**< RML Interrupt */
2905215976Sjmallett	uint64_t twsi                         : 1;  /**< TWSI Interrupt */
2906215976Sjmallett	uint64_t reserved_44_44               : 1;
2907215976Sjmallett	uint64_t pci_msi                      : 4;  /**< PCI MSI */
2908215976Sjmallett	uint64_t pci_int                      : 4;  /**< PCI INTA/B/C/D */
2909215976Sjmallett	uint64_t uart                         : 2;  /**< Two UART interrupts */
2910215976Sjmallett	uint64_t mbox                         : 2;  /**< Two mailbox/PCI interrupts */
2911215976Sjmallett	uint64_t gpio                         : 16; /**< 16 GPIO interrupts */
2912215976Sjmallett	uint64_t workq                        : 16; /**< 16 work queue interrupts */
2913215976Sjmallett#else
2914215976Sjmallett	uint64_t workq                        : 16;
2915215976Sjmallett	uint64_t gpio                         : 16;
2916215976Sjmallett	uint64_t mbox                         : 2;
2917215976Sjmallett	uint64_t uart                         : 2;
2918215976Sjmallett	uint64_t pci_int                      : 4;
2919215976Sjmallett	uint64_t pci_msi                      : 4;
2920215976Sjmallett	uint64_t reserved_44_44               : 1;
2921215976Sjmallett	uint64_t twsi                         : 1;
2922215976Sjmallett	uint64_t rml                          : 1;
2923215976Sjmallett	uint64_t trace                        : 1;
2924215976Sjmallett	uint64_t gmx_drp                      : 2;
2925215976Sjmallett	uint64_t ipd_drp                      : 1;
2926215976Sjmallett	uint64_t key_zero                     : 1;
2927215976Sjmallett	uint64_t timer                        : 4;
2928215976Sjmallett	uint64_t reserved_56_63               : 8;
2929215976Sjmallett#endif
2930215976Sjmallett	} cn58xx;
2931232812Sjmallett	struct cvmx_ciu_intx_en0_w1c_cn61xx {
2932232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
2933232812Sjmallett	uint64_t bootdma                      : 1;  /**< Write 1 to clear Boot bus DMA engines Interrupt
2934232812Sjmallett                                                         enable */
2935232812Sjmallett	uint64_t mii                          : 1;  /**< Write 1 to clr RGMII/MIX Interface 0 Interrupt
2936232812Sjmallett                                                         enable */
2937232812Sjmallett	uint64_t ipdppthr                     : 1;  /**< Write 1 to clear IPD per-port counter threshold
2938232812Sjmallett                                                         interrupt enable */
2939232812Sjmallett	uint64_t powiq                        : 1;  /**< Write 1 to clear POW IQ interrupt enable */
2940232812Sjmallett	uint64_t twsi2                        : 1;  /**< Write 1 to clear 2nd TWSI Interrupt enable */
2941232812Sjmallett	uint64_t mpi                          : 1;  /**< Write 1 to clear MPI/SPI interrupt enable */
2942232812Sjmallett	uint64_t pcm                          : 1;  /**< Write 1 to clear PCM/TDM interrupt enable */
2943232812Sjmallett	uint64_t usb                          : 1;  /**< Write 1 to clear USB EHCI or OHCI Interrupt enable */
2944232812Sjmallett	uint64_t timer                        : 4;  /**< Write 1 to clear General timer interrupt enables */
2945232812Sjmallett	uint64_t reserved_51_51               : 1;
2946232812Sjmallett	uint64_t ipd_drp                      : 1;  /**< Write 1 to clear IPD QOS packet drop interrupt
2947232812Sjmallett                                                         enable */
2948232812Sjmallett	uint64_t gmx_drp                      : 2;  /**< Write 1 to clear GMX packet drop interrupt enable */
2949232812Sjmallett	uint64_t trace                        : 1;  /**< Write 1 to clear Trace buffer interrupt enable */
2950232812Sjmallett	uint64_t rml                          : 1;  /**< Write 1 to clear RML Interrupt enable */
2951232812Sjmallett	uint64_t twsi                         : 1;  /**< Write 1 to clear TWSI Interrupt enable */
2952232812Sjmallett	uint64_t reserved_44_44               : 1;
2953232812Sjmallett	uint64_t pci_msi                      : 4;  /**< Write 1s to clear PCIe MSI enables */
2954232812Sjmallett	uint64_t pci_int                      : 4;  /**< Write 1s to clear PCIe INTA/B/C/D enables */
2955232812Sjmallett	uint64_t uart                         : 2;  /**< Write 1s to clear UART interrupt enables */
2956232812Sjmallett	uint64_t mbox                         : 2;  /**< Write 1s to clear mailbox/PCIe interrupt
2957232812Sjmallett                                                         enables */
2958232812Sjmallett	uint64_t gpio                         : 16; /**< Write 1s to clear GPIO interrupt enables */
2959232812Sjmallett	uint64_t workq                        : 16; /**< Write 1s to clear work queue interrupt enables */
2960232812Sjmallett#else
2961232812Sjmallett	uint64_t workq                        : 16;
2962232812Sjmallett	uint64_t gpio                         : 16;
2963232812Sjmallett	uint64_t mbox                         : 2;
2964232812Sjmallett	uint64_t uart                         : 2;
2965232812Sjmallett	uint64_t pci_int                      : 4;
2966232812Sjmallett	uint64_t pci_msi                      : 4;
2967232812Sjmallett	uint64_t reserved_44_44               : 1;
2968232812Sjmallett	uint64_t twsi                         : 1;
2969232812Sjmallett	uint64_t rml                          : 1;
2970232812Sjmallett	uint64_t trace                        : 1;
2971232812Sjmallett	uint64_t gmx_drp                      : 2;
2972232812Sjmallett	uint64_t ipd_drp                      : 1;
2973232812Sjmallett	uint64_t reserved_51_51               : 1;
2974232812Sjmallett	uint64_t timer                        : 4;
2975232812Sjmallett	uint64_t usb                          : 1;
2976232812Sjmallett	uint64_t pcm                          : 1;
2977232812Sjmallett	uint64_t mpi                          : 1;
2978232812Sjmallett	uint64_t twsi2                        : 1;
2979232812Sjmallett	uint64_t powiq                        : 1;
2980232812Sjmallett	uint64_t ipdppthr                     : 1;
2981232812Sjmallett	uint64_t mii                          : 1;
2982232812Sjmallett	uint64_t bootdma                      : 1;
2983232812Sjmallett#endif
2984232812Sjmallett	} cn61xx;
2985215976Sjmallett	struct cvmx_ciu_intx_en0_w1c_cn52xx   cn63xx;
2986215976Sjmallett	struct cvmx_ciu_intx_en0_w1c_cn52xx   cn63xxp1;
2987232812Sjmallett	struct cvmx_ciu_intx_en0_w1c_cn66xx {
2988232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
2989232812Sjmallett	uint64_t bootdma                      : 1;  /**< Write 1 to clear Boot bus DMA engines Interrupt
2990232812Sjmallett                                                         enable */
2991232812Sjmallett	uint64_t mii                          : 1;  /**< Write 1 to clr RGMII/MII/MIX Interface 0 Interrupt
2992232812Sjmallett                                                         enable */
2993232812Sjmallett	uint64_t ipdppthr                     : 1;  /**< Write 1 to clear IPD per-port counter threshold
2994232812Sjmallett                                                         interrupt enable */
2995232812Sjmallett	uint64_t powiq                        : 1;  /**< Write 1 to clear POW IQ interrupt */
2996232812Sjmallett	uint64_t twsi2                        : 1;  /**< Write 1 to clear 2nd TWSI Interrupt */
2997232812Sjmallett	uint64_t mpi                          : 1;  /**< Write 1 to clear MPI/SPI interrupt */
2998232812Sjmallett	uint64_t reserved_57_57               : 1;
2999232812Sjmallett	uint64_t usb                          : 1;  /**< Write 1 to clear USB EHCI or OHCI Interrupt */
3000232812Sjmallett	uint64_t timer                        : 4;  /**< Write 1 to clear General timer interrupts */
3001232812Sjmallett	uint64_t reserved_51_51               : 1;
3002232812Sjmallett	uint64_t ipd_drp                      : 1;  /**< Write 1 to clear IPD QOS packet drop interrupt
3003232812Sjmallett                                                         enable */
3004232812Sjmallett	uint64_t gmx_drp                      : 2;  /**< Write 1 to clear GMX packet drop interrupt enable */
3005232812Sjmallett	uint64_t trace                        : 1;  /**< Write 1 to clear Trace buffer interrupt enable */
3006232812Sjmallett	uint64_t rml                          : 1;  /**< Write 1 to clear RML Interrupt enable */
3007232812Sjmallett	uint64_t twsi                         : 1;  /**< Write 1 to clear TWSI Interrupt enable */
3008232812Sjmallett	uint64_t reserved_44_44               : 1;
3009232812Sjmallett	uint64_t pci_msi                      : 4;  /**< Write 1s to clear PCIe/sRIO MSI enables */
3010232812Sjmallett	uint64_t pci_int                      : 4;  /**< Write 1s to clear PCIe INTA/B/C/D enables */
3011232812Sjmallett	uint64_t uart                         : 2;  /**< Write 1s to clear UART interrupt enables */
3012232812Sjmallett	uint64_t mbox                         : 2;  /**< Write 1s to clear mailbox/PCIe/sRIO interrupt
3013232812Sjmallett                                                         enables */
3014232812Sjmallett	uint64_t gpio                         : 16; /**< Write 1s to clear GPIO interrupt enables */
3015232812Sjmallett	uint64_t workq                        : 16; /**< Write 1s to clear work queue interrupt enables */
3016232812Sjmallett#else
3017232812Sjmallett	uint64_t workq                        : 16;
3018232812Sjmallett	uint64_t gpio                         : 16;
3019232812Sjmallett	uint64_t mbox                         : 2;
3020232812Sjmallett	uint64_t uart                         : 2;
3021232812Sjmallett	uint64_t pci_int                      : 4;
3022232812Sjmallett	uint64_t pci_msi                      : 4;
3023232812Sjmallett	uint64_t reserved_44_44               : 1;
3024232812Sjmallett	uint64_t twsi                         : 1;
3025232812Sjmallett	uint64_t rml                          : 1;
3026232812Sjmallett	uint64_t trace                        : 1;
3027232812Sjmallett	uint64_t gmx_drp                      : 2;
3028232812Sjmallett	uint64_t ipd_drp                      : 1;
3029232812Sjmallett	uint64_t reserved_51_51               : 1;
3030232812Sjmallett	uint64_t timer                        : 4;
3031232812Sjmallett	uint64_t usb                          : 1;
3032232812Sjmallett	uint64_t reserved_57_57               : 1;
3033232812Sjmallett	uint64_t mpi                          : 1;
3034232812Sjmallett	uint64_t twsi2                        : 1;
3035232812Sjmallett	uint64_t powiq                        : 1;
3036232812Sjmallett	uint64_t ipdppthr                     : 1;
3037232812Sjmallett	uint64_t mii                          : 1;
3038232812Sjmallett	uint64_t bootdma                      : 1;
3039232812Sjmallett#endif
3040232812Sjmallett	} cn66xx;
3041232812Sjmallett	struct cvmx_ciu_intx_en0_w1c_cnf71xx {
3042232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
3043232812Sjmallett	uint64_t bootdma                      : 1;  /**< Write 1 to clear Boot bus DMA engines Interrupt
3044232812Sjmallett                                                         enable */
3045232812Sjmallett	uint64_t reserved_62_62               : 1;
3046232812Sjmallett	uint64_t ipdppthr                     : 1;  /**< Write 1 to clear IPD per-port counter threshold
3047232812Sjmallett                                                         interrupt enable */
3048232812Sjmallett	uint64_t powiq                        : 1;  /**< Write 1 to clear POW IQ interrupt enable */
3049232812Sjmallett	uint64_t twsi2                        : 1;  /**< Write 1 to clear 2nd TWSI Interrupt enable */
3050232812Sjmallett	uint64_t mpi                          : 1;  /**< Write 1 to clear MPI/SPI interrupt enable */
3051232812Sjmallett	uint64_t pcm                          : 1;  /**< Write 1 to clear PCM/TDM interrupt enable */
3052232812Sjmallett	uint64_t usb                          : 1;  /**< Write 1 to clear USB EHCI or OHCI Interrupt enable */
3053232812Sjmallett	uint64_t timer                        : 4;  /**< Write 1 to clear General timer interrupt enables */
3054232812Sjmallett	uint64_t reserved_51_51               : 1;
3055232812Sjmallett	uint64_t ipd_drp                      : 1;  /**< Write 1 to clear IPD QOS packet drop interrupt
3056232812Sjmallett                                                         enable */
3057232812Sjmallett	uint64_t reserved_49_49               : 1;
3058232812Sjmallett	uint64_t gmx_drp                      : 1;  /**< Write 1 to clear GMX packet drop interrupt enable */
3059232812Sjmallett	uint64_t trace                        : 1;  /**< Write 1 to clear Trace buffer interrupt enable */
3060232812Sjmallett	uint64_t rml                          : 1;  /**< Write 1 to clear RML Interrupt enable */
3061232812Sjmallett	uint64_t twsi                         : 1;  /**< Write 1 to clear TWSI Interrupt enable */
3062232812Sjmallett	uint64_t reserved_44_44               : 1;
3063232812Sjmallett	uint64_t pci_msi                      : 4;  /**< Write 1s to clear PCIe MSI enables */
3064232812Sjmallett	uint64_t pci_int                      : 4;  /**< Write 1s to clear PCIe INTA/B/C/D enables */
3065232812Sjmallett	uint64_t uart                         : 2;  /**< Write 1s to clear UART interrupt enables */
3066232812Sjmallett	uint64_t mbox                         : 2;  /**< Write 1s to clear mailbox/PCIe interrupt
3067232812Sjmallett                                                         enables */
3068232812Sjmallett	uint64_t gpio                         : 16; /**< Write 1s to clear GPIO interrupt enables */
3069232812Sjmallett	uint64_t workq                        : 16; /**< Write 1s to clear work queue interrupt enables */
3070232812Sjmallett#else
3071232812Sjmallett	uint64_t workq                        : 16;
3072232812Sjmallett	uint64_t gpio                         : 16;
3073232812Sjmallett	uint64_t mbox                         : 2;
3074232812Sjmallett	uint64_t uart                         : 2;
3075232812Sjmallett	uint64_t pci_int                      : 4;
3076232812Sjmallett	uint64_t pci_msi                      : 4;
3077232812Sjmallett	uint64_t reserved_44_44               : 1;
3078232812Sjmallett	uint64_t twsi                         : 1;
3079232812Sjmallett	uint64_t rml                          : 1;
3080232812Sjmallett	uint64_t trace                        : 1;
3081232812Sjmallett	uint64_t gmx_drp                      : 1;
3082232812Sjmallett	uint64_t reserved_49_49               : 1;
3083232812Sjmallett	uint64_t ipd_drp                      : 1;
3084232812Sjmallett	uint64_t reserved_51_51               : 1;
3085232812Sjmallett	uint64_t timer                        : 4;
3086232812Sjmallett	uint64_t usb                          : 1;
3087232812Sjmallett	uint64_t pcm                          : 1;
3088232812Sjmallett	uint64_t mpi                          : 1;
3089232812Sjmallett	uint64_t twsi2                        : 1;
3090232812Sjmallett	uint64_t powiq                        : 1;
3091232812Sjmallett	uint64_t ipdppthr                     : 1;
3092232812Sjmallett	uint64_t reserved_62_62               : 1;
3093232812Sjmallett	uint64_t bootdma                      : 1;
3094232812Sjmallett#endif
3095232812Sjmallett	} cnf71xx;
3096215976Sjmallett};
3097215976Sjmalletttypedef union cvmx_ciu_intx_en0_w1c cvmx_ciu_intx_en0_w1c_t;
3098215976Sjmallett
3099215976Sjmallett/**
3100215976Sjmallett * cvmx_ciu_int#_en0_w1s
3101215976Sjmallett *
3102215976Sjmallett * Notes:
3103232812Sjmallett * Write-1-to-set version of the CIU_INTx_EN0 register, read back corresponding CIU_INTx_EN0 value.
3104215976Sjmallett *
3105215976Sjmallett */
3106232812Sjmallettunion cvmx_ciu_intx_en0_w1s {
3107215976Sjmallett	uint64_t u64;
3108232812Sjmallett	struct cvmx_ciu_intx_en0_w1s_s {
3109232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
3110215976Sjmallett	uint64_t bootdma                      : 1;  /**< Write 1 to set Boot bus DMA engines Interrupt
3111215976Sjmallett                                                         enable */
3112215976Sjmallett	uint64_t mii                          : 1;  /**< Write 1 to set RGMII/MII/MIX Interface 0 Interrupt
3113215976Sjmallett                                                         enable */
3114215976Sjmallett	uint64_t ipdppthr                     : 1;  /**< Write 1 to set IPD per-port counter threshold
3115215976Sjmallett                                                         interrupt enable */
3116232812Sjmallett	uint64_t powiq                        : 1;  /**< Write 1 to set POW IQ interrupt enable */
3117232812Sjmallett	uint64_t twsi2                        : 1;  /**< Write 1 to set 2nd TWSI Interrupt enable */
3118232812Sjmallett	uint64_t mpi                          : 1;  /**< Write 1 to set MPI/SPI interrupt enable */
3119232812Sjmallett	uint64_t pcm                          : 1;  /**< Write 1 to set PCM/TDM interrupt enable */
3120232812Sjmallett	uint64_t usb                          : 1;  /**< Write 1 to set USB EHCI or OHCI Interrupt enable */
3121232812Sjmallett	uint64_t timer                        : 4;  /**< Write 1 to set General timer interrupt enables */
3122215976Sjmallett	uint64_t key_zero                     : 1;  /**< Key Zeroization interrupt */
3123215976Sjmallett	uint64_t ipd_drp                      : 1;  /**< Write 1 to set IPD QOS packet drop interrupt
3124215976Sjmallett                                                         enable */
3125215976Sjmallett	uint64_t gmx_drp                      : 2;  /**< Write 1 to set GMX packet drop interrupt enable */
3126215976Sjmallett	uint64_t trace                        : 1;  /**< Write 1 to set Trace buffer interrupt enable */
3127215976Sjmallett	uint64_t rml                          : 1;  /**< Write 1 to set RML Interrupt enable */
3128215976Sjmallett	uint64_t twsi                         : 1;  /**< Write 1 to set TWSI Interrupt enable */
3129215976Sjmallett	uint64_t reserved_44_44               : 1;
3130232812Sjmallett	uint64_t pci_msi                      : 4;  /**< Write 1s to set PCIe MSI enables */
3131215976Sjmallett	uint64_t pci_int                      : 4;  /**< Write 1s to set PCIe INTA/B/C/D enables */
3132215976Sjmallett	uint64_t uart                         : 2;  /**< Write 1s to set UART interrupt enables */
3133232812Sjmallett	uint64_t mbox                         : 2;  /**< Write 1s to set mailbox/PCIe interrupt
3134215976Sjmallett                                                         enables */
3135215976Sjmallett	uint64_t gpio                         : 16; /**< Write 1s to set GPIO interrupt enables */
3136215976Sjmallett	uint64_t workq                        : 16; /**< Write 1s to set work queue interrupt enables */
3137215976Sjmallett#else
3138215976Sjmallett	uint64_t workq                        : 16;
3139215976Sjmallett	uint64_t gpio                         : 16;
3140215976Sjmallett	uint64_t mbox                         : 2;
3141215976Sjmallett	uint64_t uart                         : 2;
3142215976Sjmallett	uint64_t pci_int                      : 4;
3143215976Sjmallett	uint64_t pci_msi                      : 4;
3144215976Sjmallett	uint64_t reserved_44_44               : 1;
3145215976Sjmallett	uint64_t twsi                         : 1;
3146215976Sjmallett	uint64_t rml                          : 1;
3147215976Sjmallett	uint64_t trace                        : 1;
3148215976Sjmallett	uint64_t gmx_drp                      : 2;
3149215976Sjmallett	uint64_t ipd_drp                      : 1;
3150215976Sjmallett	uint64_t key_zero                     : 1;
3151215976Sjmallett	uint64_t timer                        : 4;
3152215976Sjmallett	uint64_t usb                          : 1;
3153232812Sjmallett	uint64_t pcm                          : 1;
3154232812Sjmallett	uint64_t mpi                          : 1;
3155215976Sjmallett	uint64_t twsi2                        : 1;
3156215976Sjmallett	uint64_t powiq                        : 1;
3157215976Sjmallett	uint64_t ipdppthr                     : 1;
3158215976Sjmallett	uint64_t mii                          : 1;
3159215976Sjmallett	uint64_t bootdma                      : 1;
3160215976Sjmallett#endif
3161215976Sjmallett	} s;
3162232812Sjmallett	struct cvmx_ciu_intx_en0_w1s_cn52xx {
3163232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
3164215976Sjmallett	uint64_t bootdma                      : 1;  /**< Boot bus DMA engines Interrupt */
3165215976Sjmallett	uint64_t mii                          : 1;  /**< MII Interface Interrupt */
3166215976Sjmallett	uint64_t ipdppthr                     : 1;  /**< IPD per-port counter threshold interrupt */
3167215976Sjmallett	uint64_t powiq                        : 1;  /**< POW IQ interrupt */
3168215976Sjmallett	uint64_t twsi2                        : 1;  /**< 2nd TWSI Interrupt */
3169215976Sjmallett	uint64_t reserved_57_58               : 2;
3170215976Sjmallett	uint64_t usb                          : 1;  /**< USB Interrupt */
3171215976Sjmallett	uint64_t timer                        : 4;  /**< General timer interrupts */
3172215976Sjmallett	uint64_t reserved_51_51               : 1;
3173215976Sjmallett	uint64_t ipd_drp                      : 1;  /**< IPD QOS packet drop */
3174215976Sjmallett	uint64_t reserved_49_49               : 1;
3175215976Sjmallett	uint64_t gmx_drp                      : 1;  /**< GMX packet drop */
3176215976Sjmallett	uint64_t trace                        : 1;  /**< L2C has the CMB trace buffer */
3177215976Sjmallett	uint64_t rml                          : 1;  /**< RML Interrupt */
3178215976Sjmallett	uint64_t twsi                         : 1;  /**< TWSI Interrupt */
3179215976Sjmallett	uint64_t reserved_44_44               : 1;
3180215976Sjmallett	uint64_t pci_msi                      : 4;  /**< PCI MSI */
3181215976Sjmallett	uint64_t pci_int                      : 4;  /**< PCI INTA/B/C/D */
3182215976Sjmallett	uint64_t uart                         : 2;  /**< Two UART interrupts */
3183215976Sjmallett	uint64_t mbox                         : 2;  /**< Two mailbox/PCI interrupts */
3184215976Sjmallett	uint64_t gpio                         : 16; /**< 16 GPIO interrupts */
3185215976Sjmallett	uint64_t workq                        : 16; /**< 16 work queue interrupts */
3186215976Sjmallett#else
3187215976Sjmallett	uint64_t workq                        : 16;
3188215976Sjmallett	uint64_t gpio                         : 16;
3189215976Sjmallett	uint64_t mbox                         : 2;
3190215976Sjmallett	uint64_t uart                         : 2;
3191215976Sjmallett	uint64_t pci_int                      : 4;
3192215976Sjmallett	uint64_t pci_msi                      : 4;
3193215976Sjmallett	uint64_t reserved_44_44               : 1;
3194215976Sjmallett	uint64_t twsi                         : 1;
3195215976Sjmallett	uint64_t rml                          : 1;
3196215976Sjmallett	uint64_t trace                        : 1;
3197215976Sjmallett	uint64_t gmx_drp                      : 1;
3198215976Sjmallett	uint64_t reserved_49_49               : 1;
3199215976Sjmallett	uint64_t ipd_drp                      : 1;
3200215976Sjmallett	uint64_t reserved_51_51               : 1;
3201215976Sjmallett	uint64_t timer                        : 4;
3202215976Sjmallett	uint64_t usb                          : 1;
3203215976Sjmallett	uint64_t reserved_57_58               : 2;
3204215976Sjmallett	uint64_t twsi2                        : 1;
3205215976Sjmallett	uint64_t powiq                        : 1;
3206215976Sjmallett	uint64_t ipdppthr                     : 1;
3207215976Sjmallett	uint64_t mii                          : 1;
3208215976Sjmallett	uint64_t bootdma                      : 1;
3209215976Sjmallett#endif
3210215976Sjmallett	} cn52xx;
3211232812Sjmallett	struct cvmx_ciu_intx_en0_w1s_cn56xx {
3212232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
3213232812Sjmallett	uint64_t bootdma                      : 1;  /**< Boot bus DMA engines Interrupt */
3214232812Sjmallett	uint64_t mii                          : 1;  /**< MII Interface Interrupt */
3215232812Sjmallett	uint64_t ipdppthr                     : 1;  /**< IPD per-port counter threshold interrupt */
3216232812Sjmallett	uint64_t powiq                        : 1;  /**< POW IQ interrupt */
3217232812Sjmallett	uint64_t twsi2                        : 1;  /**< 2nd TWSI Interrupt */
3218232812Sjmallett	uint64_t reserved_57_58               : 2;
3219232812Sjmallett	uint64_t usb                          : 1;  /**< USB Interrupt */
3220232812Sjmallett	uint64_t timer                        : 4;  /**< General timer interrupts */
3221232812Sjmallett	uint64_t key_zero                     : 1;  /**< Key Zeroization interrupt */
3222232812Sjmallett	uint64_t ipd_drp                      : 1;  /**< IPD QOS packet drop */
3223232812Sjmallett	uint64_t gmx_drp                      : 2;  /**< GMX packet drop */
3224232812Sjmallett	uint64_t trace                        : 1;  /**< L2C has the CMB trace buffer */
3225232812Sjmallett	uint64_t rml                          : 1;  /**< RML Interrupt */
3226232812Sjmallett	uint64_t twsi                         : 1;  /**< TWSI Interrupt */
3227232812Sjmallett	uint64_t reserved_44_44               : 1;
3228232812Sjmallett	uint64_t pci_msi                      : 4;  /**< PCI MSI */
3229232812Sjmallett	uint64_t pci_int                      : 4;  /**< PCI INTA/B/C/D */
3230232812Sjmallett	uint64_t uart                         : 2;  /**< Two UART interrupts */
3231232812Sjmallett	uint64_t mbox                         : 2;  /**< Two mailbox/PCI interrupts */
3232232812Sjmallett	uint64_t gpio                         : 16; /**< 16 GPIO interrupts */
3233232812Sjmallett	uint64_t workq                        : 16; /**< 16 work queue interrupts */
3234232812Sjmallett#else
3235232812Sjmallett	uint64_t workq                        : 16;
3236232812Sjmallett	uint64_t gpio                         : 16;
3237232812Sjmallett	uint64_t mbox                         : 2;
3238232812Sjmallett	uint64_t uart                         : 2;
3239232812Sjmallett	uint64_t pci_int                      : 4;
3240232812Sjmallett	uint64_t pci_msi                      : 4;
3241232812Sjmallett	uint64_t reserved_44_44               : 1;
3242232812Sjmallett	uint64_t twsi                         : 1;
3243232812Sjmallett	uint64_t rml                          : 1;
3244232812Sjmallett	uint64_t trace                        : 1;
3245232812Sjmallett	uint64_t gmx_drp                      : 2;
3246232812Sjmallett	uint64_t ipd_drp                      : 1;
3247232812Sjmallett	uint64_t key_zero                     : 1;
3248232812Sjmallett	uint64_t timer                        : 4;
3249232812Sjmallett	uint64_t usb                          : 1;
3250232812Sjmallett	uint64_t reserved_57_58               : 2;
3251232812Sjmallett	uint64_t twsi2                        : 1;
3252232812Sjmallett	uint64_t powiq                        : 1;
3253232812Sjmallett	uint64_t ipdppthr                     : 1;
3254232812Sjmallett	uint64_t mii                          : 1;
3255232812Sjmallett	uint64_t bootdma                      : 1;
3256232812Sjmallett#endif
3257232812Sjmallett	} cn56xx;
3258232812Sjmallett	struct cvmx_ciu_intx_en0_w1s_cn58xx {
3259232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
3260215976Sjmallett	uint64_t reserved_56_63               : 8;
3261215976Sjmallett	uint64_t timer                        : 4;  /**< General timer interrupts */
3262215976Sjmallett	uint64_t key_zero                     : 1;  /**< Key Zeroization interrupt */
3263215976Sjmallett	uint64_t ipd_drp                      : 1;  /**< IPD QOS packet drop */
3264215976Sjmallett	uint64_t gmx_drp                      : 2;  /**< GMX packet drop */
3265215976Sjmallett	uint64_t trace                        : 1;  /**< L2C has the CMB trace buffer */
3266215976Sjmallett	uint64_t rml                          : 1;  /**< RML Interrupt */
3267215976Sjmallett	uint64_t twsi                         : 1;  /**< TWSI Interrupt */
3268215976Sjmallett	uint64_t reserved_44_44               : 1;
3269215976Sjmallett	uint64_t pci_msi                      : 4;  /**< PCI MSI */
3270215976Sjmallett	uint64_t pci_int                      : 4;  /**< PCI INTA/B/C/D */
3271215976Sjmallett	uint64_t uart                         : 2;  /**< Two UART interrupts */
3272215976Sjmallett	uint64_t mbox                         : 2;  /**< Two mailbox/PCI interrupts */
3273215976Sjmallett	uint64_t gpio                         : 16; /**< 16 GPIO interrupts */
3274215976Sjmallett	uint64_t workq                        : 16; /**< 16 work queue interrupts */
3275215976Sjmallett#else
3276215976Sjmallett	uint64_t workq                        : 16;
3277215976Sjmallett	uint64_t gpio                         : 16;
3278215976Sjmallett	uint64_t mbox                         : 2;
3279215976Sjmallett	uint64_t uart                         : 2;
3280215976Sjmallett	uint64_t pci_int                      : 4;
3281215976Sjmallett	uint64_t pci_msi                      : 4;
3282215976Sjmallett	uint64_t reserved_44_44               : 1;
3283215976Sjmallett	uint64_t twsi                         : 1;
3284215976Sjmallett	uint64_t rml                          : 1;
3285215976Sjmallett	uint64_t trace                        : 1;
3286215976Sjmallett	uint64_t gmx_drp                      : 2;
3287215976Sjmallett	uint64_t ipd_drp                      : 1;
3288215976Sjmallett	uint64_t key_zero                     : 1;
3289215976Sjmallett	uint64_t timer                        : 4;
3290215976Sjmallett	uint64_t reserved_56_63               : 8;
3291215976Sjmallett#endif
3292215976Sjmallett	} cn58xx;
3293232812Sjmallett	struct cvmx_ciu_intx_en0_w1s_cn61xx {
3294232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
3295232812Sjmallett	uint64_t bootdma                      : 1;  /**< Write 1 to set Boot bus DMA engines Interrupt
3296232812Sjmallett                                                         enable */
3297232812Sjmallett	uint64_t mii                          : 1;  /**< Write 1 to set RGMII/MIX Interface 0 Interrupt
3298232812Sjmallett                                                         enable */
3299232812Sjmallett	uint64_t ipdppthr                     : 1;  /**< Write 1 to set IPD per-port counter threshold
3300232812Sjmallett                                                         interrupt enable */
3301232812Sjmallett	uint64_t powiq                        : 1;  /**< Write 1 to set POW IQ interrupt enable */
3302232812Sjmallett	uint64_t twsi2                        : 1;  /**< Write 1 to set 2nd TWSI Interrupt enable */
3303232812Sjmallett	uint64_t mpi                          : 1;  /**< Write 1 to set MPI/SPI interrupt enable */
3304232812Sjmallett	uint64_t pcm                          : 1;  /**< Write 1 to set PCM/TDM interrupt enable */
3305232812Sjmallett	uint64_t usb                          : 1;  /**< Write 1 to set USB EHCI or OHCI Interrupt enable */
3306232812Sjmallett	uint64_t timer                        : 4;  /**< Write 1 to set General timer interrupt enables */
3307232812Sjmallett	uint64_t reserved_51_51               : 1;
3308232812Sjmallett	uint64_t ipd_drp                      : 1;  /**< Write 1 to set IPD QOS packet drop interrupt
3309232812Sjmallett                                                         enable */
3310232812Sjmallett	uint64_t gmx_drp                      : 2;  /**< Write 1 to set GMX packet drop interrupt enable */
3311232812Sjmallett	uint64_t trace                        : 1;  /**< Write 1 to set Trace buffer interrupt enable */
3312232812Sjmallett	uint64_t rml                          : 1;  /**< Write 1 to set RML Interrupt enable */
3313232812Sjmallett	uint64_t twsi                         : 1;  /**< Write 1 to set TWSI Interrupt enable */
3314232812Sjmallett	uint64_t reserved_44_44               : 1;
3315232812Sjmallett	uint64_t pci_msi                      : 4;  /**< Write 1s to set PCIe MSI enables */
3316232812Sjmallett	uint64_t pci_int                      : 4;  /**< Write 1s to set PCIe INTA/B/C/D enables */
3317232812Sjmallett	uint64_t uart                         : 2;  /**< Write 1s to set UART interrupt enables */
3318232812Sjmallett	uint64_t mbox                         : 2;  /**< Write 1s to set mailbox/PCIe interrupt
3319232812Sjmallett                                                         enables */
3320232812Sjmallett	uint64_t gpio                         : 16; /**< Write 1s to set GPIO interrupt enables */
3321232812Sjmallett	uint64_t workq                        : 16; /**< Write 1s to set work queue interrupt enables */
3322232812Sjmallett#else
3323232812Sjmallett	uint64_t workq                        : 16;
3324232812Sjmallett	uint64_t gpio                         : 16;
3325232812Sjmallett	uint64_t mbox                         : 2;
3326232812Sjmallett	uint64_t uart                         : 2;
3327232812Sjmallett	uint64_t pci_int                      : 4;
3328232812Sjmallett	uint64_t pci_msi                      : 4;
3329232812Sjmallett	uint64_t reserved_44_44               : 1;
3330232812Sjmallett	uint64_t twsi                         : 1;
3331232812Sjmallett	uint64_t rml                          : 1;
3332232812Sjmallett	uint64_t trace                        : 1;
3333232812Sjmallett	uint64_t gmx_drp                      : 2;
3334232812Sjmallett	uint64_t ipd_drp                      : 1;
3335232812Sjmallett	uint64_t reserved_51_51               : 1;
3336232812Sjmallett	uint64_t timer                        : 4;
3337232812Sjmallett	uint64_t usb                          : 1;
3338232812Sjmallett	uint64_t pcm                          : 1;
3339232812Sjmallett	uint64_t mpi                          : 1;
3340232812Sjmallett	uint64_t twsi2                        : 1;
3341232812Sjmallett	uint64_t powiq                        : 1;
3342232812Sjmallett	uint64_t ipdppthr                     : 1;
3343232812Sjmallett	uint64_t mii                          : 1;
3344232812Sjmallett	uint64_t bootdma                      : 1;
3345232812Sjmallett#endif
3346232812Sjmallett	} cn61xx;
3347215976Sjmallett	struct cvmx_ciu_intx_en0_w1s_cn52xx   cn63xx;
3348215976Sjmallett	struct cvmx_ciu_intx_en0_w1s_cn52xx   cn63xxp1;
3349232812Sjmallett	struct cvmx_ciu_intx_en0_w1s_cn66xx {
3350232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
3351232812Sjmallett	uint64_t bootdma                      : 1;  /**< Write 1 to set Boot bus DMA engines Interrupt
3352232812Sjmallett                                                         enable */
3353232812Sjmallett	uint64_t mii                          : 1;  /**< Write 1 to set RGMII/MII/MIX Interface 0 Interrupt
3354232812Sjmallett                                                         enable */
3355232812Sjmallett	uint64_t ipdppthr                     : 1;  /**< Write 1 to set IPD per-port counter threshold
3356232812Sjmallett                                                         interrupt enable */
3357232812Sjmallett	uint64_t powiq                        : 1;  /**< Write 1 to set POW IQ interrupt */
3358232812Sjmallett	uint64_t twsi2                        : 1;  /**< Write 1 to set 2nd TWSI Interrupt */
3359232812Sjmallett	uint64_t mpi                          : 1;  /**< Write 1 to set MPI/SPI interrupt */
3360232812Sjmallett	uint64_t reserved_57_57               : 1;
3361232812Sjmallett	uint64_t usb                          : 1;  /**< Write 1 to set USB EHCI or OHCI Interrupt */
3362232812Sjmallett	uint64_t timer                        : 4;  /**< Write 1 to set General timer interrupts */
3363232812Sjmallett	uint64_t reserved_51_51               : 1;
3364232812Sjmallett	uint64_t ipd_drp                      : 1;  /**< Write 1 to set IPD QOS packet drop interrupt
3365232812Sjmallett                                                         enable */
3366232812Sjmallett	uint64_t gmx_drp                      : 2;  /**< Write 1 to set GMX packet drop interrupt enable */
3367232812Sjmallett	uint64_t trace                        : 1;  /**< Write 1 to set Trace buffer interrupt enable */
3368232812Sjmallett	uint64_t rml                          : 1;  /**< Write 1 to set RML Interrupt enable */
3369232812Sjmallett	uint64_t twsi                         : 1;  /**< Write 1 to set TWSI Interrupt enable */
3370232812Sjmallett	uint64_t reserved_44_44               : 1;
3371232812Sjmallett	uint64_t pci_msi                      : 4;  /**< Write 1s to set PCIe/sRIO MSI enables */
3372232812Sjmallett	uint64_t pci_int                      : 4;  /**< Write 1s to set PCIe INTA/B/C/D enables */
3373232812Sjmallett	uint64_t uart                         : 2;  /**< Write 1s to set UART interrupt enables */
3374232812Sjmallett	uint64_t mbox                         : 2;  /**< Write 1s to set mailbox/PCIe/sRIO interrupt
3375232812Sjmallett                                                         enables */
3376232812Sjmallett	uint64_t gpio                         : 16; /**< Write 1s to set GPIO interrupt enables */
3377232812Sjmallett	uint64_t workq                        : 16; /**< Write 1s to set work queue interrupt enables */
3378232812Sjmallett#else
3379232812Sjmallett	uint64_t workq                        : 16;
3380232812Sjmallett	uint64_t gpio                         : 16;
3381232812Sjmallett	uint64_t mbox                         : 2;
3382232812Sjmallett	uint64_t uart                         : 2;
3383232812Sjmallett	uint64_t pci_int                      : 4;
3384232812Sjmallett	uint64_t pci_msi                      : 4;
3385232812Sjmallett	uint64_t reserved_44_44               : 1;
3386232812Sjmallett	uint64_t twsi                         : 1;
3387232812Sjmallett	uint64_t rml                          : 1;
3388232812Sjmallett	uint64_t trace                        : 1;
3389232812Sjmallett	uint64_t gmx_drp                      : 2;
3390232812Sjmallett	uint64_t ipd_drp                      : 1;
3391232812Sjmallett	uint64_t reserved_51_51               : 1;
3392232812Sjmallett	uint64_t timer                        : 4;
3393232812Sjmallett	uint64_t usb                          : 1;
3394232812Sjmallett	uint64_t reserved_57_57               : 1;
3395232812Sjmallett	uint64_t mpi                          : 1;
3396232812Sjmallett	uint64_t twsi2                        : 1;
3397232812Sjmallett	uint64_t powiq                        : 1;
3398232812Sjmallett	uint64_t ipdppthr                     : 1;
3399232812Sjmallett	uint64_t mii                          : 1;
3400232812Sjmallett	uint64_t bootdma                      : 1;
3401232812Sjmallett#endif
3402232812Sjmallett	} cn66xx;
3403232812Sjmallett	struct cvmx_ciu_intx_en0_w1s_cnf71xx {
3404232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
3405232812Sjmallett	uint64_t bootdma                      : 1;  /**< Write 1 to set Boot bus DMA engines Interrupt
3406232812Sjmallett                                                         enable */
3407232812Sjmallett	uint64_t reserved_62_62               : 1;
3408232812Sjmallett	uint64_t ipdppthr                     : 1;  /**< Write 1 to set IPD per-port counter threshold
3409232812Sjmallett                                                         interrupt enable */
3410232812Sjmallett	uint64_t powiq                        : 1;  /**< Write 1 to set POW IQ interrupt enable */
3411232812Sjmallett	uint64_t twsi2                        : 1;  /**< Write 1 to set 2nd TWSI Interrupt enable */
3412232812Sjmallett	uint64_t mpi                          : 1;  /**< Write 1 to set MPI/SPI interrupt enable */
3413232812Sjmallett	uint64_t pcm                          : 1;  /**< Write 1 to set PCM/TDM interrupt enable */
3414232812Sjmallett	uint64_t usb                          : 1;  /**< Write 1 to set USB EHCI or OHCI Interrupt enable */
3415232812Sjmallett	uint64_t timer                        : 4;  /**< Write 1 to set General timer interrupt enables */
3416232812Sjmallett	uint64_t reserved_51_51               : 1;
3417232812Sjmallett	uint64_t ipd_drp                      : 1;  /**< Write 1 to set IPD QOS packet drop interrupt
3418232812Sjmallett                                                         enable */
3419232812Sjmallett	uint64_t reserved_49_49               : 1;
3420232812Sjmallett	uint64_t gmx_drp                      : 1;  /**< Write 1 to set GMX packet drop interrupt enable */
3421232812Sjmallett	uint64_t trace                        : 1;  /**< Write 1 to set Trace buffer interrupt enable */
3422232812Sjmallett	uint64_t rml                          : 1;  /**< Write 1 to set RML Interrupt enable */
3423232812Sjmallett	uint64_t twsi                         : 1;  /**< Write 1 to set TWSI Interrupt enable */
3424232812Sjmallett	uint64_t reserved_44_44               : 1;
3425232812Sjmallett	uint64_t pci_msi                      : 4;  /**< Write 1s to set PCIe MSI enables */
3426232812Sjmallett	uint64_t pci_int                      : 4;  /**< Write 1s to set PCIe INTA/B/C/D enables */
3427232812Sjmallett	uint64_t uart                         : 2;  /**< Write 1s to set UART interrupt enables */
3428232812Sjmallett	uint64_t mbox                         : 2;  /**< Write 1s to set mailbox/PCIe interrupt
3429232812Sjmallett                                                         enables */
3430232812Sjmallett	uint64_t gpio                         : 16; /**< Write 1s to set GPIO interrupt enables */
3431232812Sjmallett	uint64_t workq                        : 16; /**< Write 1s to set work queue interrupt enables */
3432232812Sjmallett#else
3433232812Sjmallett	uint64_t workq                        : 16;
3434232812Sjmallett	uint64_t gpio                         : 16;
3435232812Sjmallett	uint64_t mbox                         : 2;
3436232812Sjmallett	uint64_t uart                         : 2;
3437232812Sjmallett	uint64_t pci_int                      : 4;
3438232812Sjmallett	uint64_t pci_msi                      : 4;
3439232812Sjmallett	uint64_t reserved_44_44               : 1;
3440232812Sjmallett	uint64_t twsi                         : 1;
3441232812Sjmallett	uint64_t rml                          : 1;
3442232812Sjmallett	uint64_t trace                        : 1;
3443232812Sjmallett	uint64_t gmx_drp                      : 1;
3444232812Sjmallett	uint64_t reserved_49_49               : 1;
3445232812Sjmallett	uint64_t ipd_drp                      : 1;
3446232812Sjmallett	uint64_t reserved_51_51               : 1;
3447232812Sjmallett	uint64_t timer                        : 4;
3448232812Sjmallett	uint64_t usb                          : 1;
3449232812Sjmallett	uint64_t pcm                          : 1;
3450232812Sjmallett	uint64_t mpi                          : 1;
3451232812Sjmallett	uint64_t twsi2                        : 1;
3452232812Sjmallett	uint64_t powiq                        : 1;
3453232812Sjmallett	uint64_t ipdppthr                     : 1;
3454232812Sjmallett	uint64_t reserved_62_62               : 1;
3455232812Sjmallett	uint64_t bootdma                      : 1;
3456232812Sjmallett#endif
3457232812Sjmallett	} cnf71xx;
3458215976Sjmallett};
3459215976Sjmalletttypedef union cvmx_ciu_intx_en0_w1s cvmx_ciu_intx_en0_w1s_t;
3460215976Sjmallett
3461215976Sjmallett/**
3462215976Sjmallett * cvmx_ciu_int#_en1
3463215976Sjmallett *
3464215976Sjmallett * Notes:
3465232812Sjmallett * Enables for CIU_SUM1_PPX_IPx  or CIU_SUM1_IOX_INT
3466232812Sjmallett * CIU_INT0_EN1:  PP0/IP2
3467232812Sjmallett * CIU_INT1_EN1:  PP0/IP3
3468232812Sjmallett * CIU_INT2_EN1:  PP1/IP2
3469232812Sjmallett * CIU_INT3_EN1:  PP1/IP3
3470232812Sjmallett * CIU_INT4_EN1:  PP2/IP2
3471232812Sjmallett * CIU_INT5_EN1:  PP2/IP3
3472232812Sjmallett * CIU_INT6_EN1:  PP3/IP2
3473232812Sjmallett * CIU_INT7_EN1:  PP3/IP3
3474232812Sjmallett * .....
3475232812Sjmallett *
3476232812Sjmallett * (hole)
3477232812Sjmallett * CIU_INT32_EN1: IO0
3478232812Sjmallett * CIU_INT33_EN1: IO1
3479232812Sjmallett *
3480215976Sjmallett * @verbatim
3481215976Sjmallett * PPx/IP2 will be raised when...
3482215976Sjmallett *
3483215976Sjmallett *    n = x*2
3484232812Sjmallett *    PPx/IP2 = |([CIU_SUM2_PPx_IP2,CIU_SUM1_PPx_IP2, CIU_INTn_SUM0] & [CIU_EN2_PPx_IP2,CIU_INTn_EN1, CIU_INTn_EN0])
3485215976Sjmallett *
3486215976Sjmallett * PPx/IP3 will be raised when...
3487215976Sjmallett *
3488215976Sjmallett *    n = x*2 + 1
3489232812Sjmallett *    PPx/IP3 =  |([CIU_SUM2_PPx_IP3,CIU_SUM1_PPx_IP3, CIU_INTn_SUM0] & [CIU_EN2_PPx_IP3,CIU_INTn_EN1, CIU_INTn_EN0])
3490215976Sjmallett *
3491215976Sjmallett * PCI/INT will be raised when...
3492215976Sjmallett *
3493232812Sjmallett *    PCI/INT = |([CIU_SUM2_IO0_INT,CIU_SUM1_IO0_INT, CIU_INT32_SUM0] & [CIU_EN2_IO0_INT,CIU_INT32_EN1, CIU_INT32_EN0])
3494232812Sjmallett *    PCI/INT = |([CIU_SUM2_IO1_INT,CIU_SUM1_IO1_INT, CIU_INT33_SUM0] & [CIU_EN2_IO1_INT,CIU_INT33_EN1, CIU_INT33_EN0])
3495215976Sjmallett * @endverbatim
3496215976Sjmallett */
3497232812Sjmallettunion cvmx_ciu_intx_en1 {
3498215976Sjmallett	uint64_t u64;
3499232812Sjmallett	struct cvmx_ciu_intx_en1_s {
3500232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
3501215976Sjmallett	uint64_t rst                          : 1;  /**< MIO RST interrupt enable */
3502232812Sjmallett	uint64_t reserved_62_62               : 1;
3503232812Sjmallett	uint64_t srio3                        : 1;  /**< SRIO3 interrupt enable */
3504232812Sjmallett	uint64_t srio2                        : 1;  /**< SRIO2 interrupt enable */
3505232812Sjmallett	uint64_t reserved_57_59               : 3;
3506215976Sjmallett	uint64_t dfm                          : 1;  /**< DFM interrupt enable */
3507215976Sjmallett	uint64_t reserved_53_55               : 3;
3508215976Sjmallett	uint64_t lmc0                         : 1;  /**< LMC0 interrupt enable */
3509215976Sjmallett	uint64_t srio1                        : 1;  /**< SRIO1 interrupt enable */
3510215976Sjmallett	uint64_t srio0                        : 1;  /**< SRIO0 interrupt enable */
3511215976Sjmallett	uint64_t pem1                         : 1;  /**< PEM1 interrupt enable */
3512215976Sjmallett	uint64_t pem0                         : 1;  /**< PEM0 interrupt enable */
3513215976Sjmallett	uint64_t ptp                          : 1;  /**< PTP interrupt enable */
3514215976Sjmallett	uint64_t agl                          : 1;  /**< AGL interrupt enable */
3515232812Sjmallett	uint64_t reserved_41_45               : 5;
3516232812Sjmallett	uint64_t dpi_dma                      : 1;  /**< DPI_DMA interrupt enable */
3517232812Sjmallett	uint64_t reserved_38_39               : 2;
3518232812Sjmallett	uint64_t agx1                         : 1;  /**< GMX1 interrupt enable */
3519215976Sjmallett	uint64_t agx0                         : 1;  /**< GMX0 interrupt enable */
3520215976Sjmallett	uint64_t dpi                          : 1;  /**< DPI interrupt enable */
3521215976Sjmallett	uint64_t sli                          : 1;  /**< SLI interrupt enable */
3522215976Sjmallett	uint64_t usb                          : 1;  /**< USB UCTL0 interrupt enable */
3523215976Sjmallett	uint64_t dfa                          : 1;  /**< DFA interrupt enable */
3524215976Sjmallett	uint64_t key                          : 1;  /**< KEY interrupt enable */
3525215976Sjmallett	uint64_t rad                          : 1;  /**< RAD interrupt enable */
3526215976Sjmallett	uint64_t tim                          : 1;  /**< TIM interrupt enable */
3527215976Sjmallett	uint64_t zip                          : 1;  /**< ZIP interrupt enable */
3528215976Sjmallett	uint64_t pko                          : 1;  /**< PKO interrupt enable */
3529215976Sjmallett	uint64_t pip                          : 1;  /**< PIP interrupt enable */
3530215976Sjmallett	uint64_t ipd                          : 1;  /**< IPD interrupt enable */
3531215976Sjmallett	uint64_t l2c                          : 1;  /**< L2C interrupt enable */
3532215976Sjmallett	uint64_t pow                          : 1;  /**< POW err interrupt enable */
3533215976Sjmallett	uint64_t fpa                          : 1;  /**< FPA interrupt enable */
3534215976Sjmallett	uint64_t iob                          : 1;  /**< IOB interrupt enable */
3535215976Sjmallett	uint64_t mio                          : 1;  /**< MIO boot interrupt enable */
3536232812Sjmallett	uint64_t nand                         : 1;  /**< EMMC Flash Controller interrupt enable */
3537215976Sjmallett	uint64_t mii1                         : 1;  /**< RGMII/MII/MIX Interface 1 Interrupt enable */
3538215976Sjmallett	uint64_t usb1                         : 1;  /**< Second USB Interrupt */
3539215976Sjmallett	uint64_t uart2                        : 1;  /**< Third UART interrupt */
3540215976Sjmallett	uint64_t wdog                         : 16; /**< Watchdog summary interrupt enable vector */
3541215976Sjmallett#else
3542215976Sjmallett	uint64_t wdog                         : 16;
3543215976Sjmallett	uint64_t uart2                        : 1;
3544215976Sjmallett	uint64_t usb1                         : 1;
3545215976Sjmallett	uint64_t mii1                         : 1;
3546215976Sjmallett	uint64_t nand                         : 1;
3547215976Sjmallett	uint64_t mio                          : 1;
3548215976Sjmallett	uint64_t iob                          : 1;
3549215976Sjmallett	uint64_t fpa                          : 1;
3550215976Sjmallett	uint64_t pow                          : 1;
3551215976Sjmallett	uint64_t l2c                          : 1;
3552215976Sjmallett	uint64_t ipd                          : 1;
3553215976Sjmallett	uint64_t pip                          : 1;
3554215976Sjmallett	uint64_t pko                          : 1;
3555215976Sjmallett	uint64_t zip                          : 1;
3556215976Sjmallett	uint64_t tim                          : 1;
3557215976Sjmallett	uint64_t rad                          : 1;
3558215976Sjmallett	uint64_t key                          : 1;
3559215976Sjmallett	uint64_t dfa                          : 1;
3560215976Sjmallett	uint64_t usb                          : 1;
3561215976Sjmallett	uint64_t sli                          : 1;
3562215976Sjmallett	uint64_t dpi                          : 1;
3563215976Sjmallett	uint64_t agx0                         : 1;
3564232812Sjmallett	uint64_t agx1                         : 1;
3565232812Sjmallett	uint64_t reserved_38_39               : 2;
3566232812Sjmallett	uint64_t dpi_dma                      : 1;
3567232812Sjmallett	uint64_t reserved_41_45               : 5;
3568215976Sjmallett	uint64_t agl                          : 1;
3569215976Sjmallett	uint64_t ptp                          : 1;
3570215976Sjmallett	uint64_t pem0                         : 1;
3571215976Sjmallett	uint64_t pem1                         : 1;
3572215976Sjmallett	uint64_t srio0                        : 1;
3573215976Sjmallett	uint64_t srio1                        : 1;
3574215976Sjmallett	uint64_t lmc0                         : 1;
3575215976Sjmallett	uint64_t reserved_53_55               : 3;
3576215976Sjmallett	uint64_t dfm                          : 1;
3577232812Sjmallett	uint64_t reserved_57_59               : 3;
3578232812Sjmallett	uint64_t srio2                        : 1;
3579232812Sjmallett	uint64_t srio3                        : 1;
3580232812Sjmallett	uint64_t reserved_62_62               : 1;
3581215976Sjmallett	uint64_t rst                          : 1;
3582215976Sjmallett#endif
3583215976Sjmallett	} s;
3584232812Sjmallett	struct cvmx_ciu_intx_en1_cn30xx {
3585232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
3586215976Sjmallett	uint64_t reserved_1_63                : 63;
3587215976Sjmallett	uint64_t wdog                         : 1;  /**< Watchdog summary interrupt enable vector */
3588215976Sjmallett#else
3589215976Sjmallett	uint64_t wdog                         : 1;
3590215976Sjmallett	uint64_t reserved_1_63                : 63;
3591215976Sjmallett#endif
3592215976Sjmallett	} cn30xx;
3593232812Sjmallett	struct cvmx_ciu_intx_en1_cn31xx {
3594232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
3595215976Sjmallett	uint64_t reserved_2_63                : 62;
3596215976Sjmallett	uint64_t wdog                         : 2;  /**< Watchdog summary interrupt enable vectory */
3597215976Sjmallett#else
3598215976Sjmallett	uint64_t wdog                         : 2;
3599215976Sjmallett	uint64_t reserved_2_63                : 62;
3600215976Sjmallett#endif
3601215976Sjmallett	} cn31xx;
3602232812Sjmallett	struct cvmx_ciu_intx_en1_cn38xx {
3603232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
3604215976Sjmallett	uint64_t reserved_16_63               : 48;
3605215976Sjmallett	uint64_t wdog                         : 16; /**< Watchdog summary interrupt enable vectory */
3606215976Sjmallett#else
3607215976Sjmallett	uint64_t wdog                         : 16;
3608215976Sjmallett	uint64_t reserved_16_63               : 48;
3609215976Sjmallett#endif
3610215976Sjmallett	} cn38xx;
3611215976Sjmallett	struct cvmx_ciu_intx_en1_cn38xx       cn38xxp2;
3612215976Sjmallett	struct cvmx_ciu_intx_en1_cn31xx       cn50xx;
3613232812Sjmallett	struct cvmx_ciu_intx_en1_cn52xx {
3614232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
3615215976Sjmallett	uint64_t reserved_20_63               : 44;
3616215976Sjmallett	uint64_t nand                         : 1;  /**< NAND Flash Controller */
3617215976Sjmallett	uint64_t mii1                         : 1;  /**< Second MII Interrupt */
3618215976Sjmallett	uint64_t usb1                         : 1;  /**< Second USB Interrupt */
3619215976Sjmallett	uint64_t uart2                        : 1;  /**< Third UART interrupt */
3620215976Sjmallett	uint64_t reserved_4_15                : 12;
3621215976Sjmallett	uint64_t wdog                         : 4;  /**< Watchdog summary interrupt enable vector */
3622215976Sjmallett#else
3623215976Sjmallett	uint64_t wdog                         : 4;
3624215976Sjmallett	uint64_t reserved_4_15                : 12;
3625215976Sjmallett	uint64_t uart2                        : 1;
3626215976Sjmallett	uint64_t usb1                         : 1;
3627215976Sjmallett	uint64_t mii1                         : 1;
3628215976Sjmallett	uint64_t nand                         : 1;
3629215976Sjmallett	uint64_t reserved_20_63               : 44;
3630215976Sjmallett#endif
3631215976Sjmallett	} cn52xx;
3632232812Sjmallett	struct cvmx_ciu_intx_en1_cn52xxp1 {
3633232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
3634215976Sjmallett	uint64_t reserved_19_63               : 45;
3635215976Sjmallett	uint64_t mii1                         : 1;  /**< Second MII Interrupt */
3636215976Sjmallett	uint64_t usb1                         : 1;  /**< Second USB Interrupt */
3637215976Sjmallett	uint64_t uart2                        : 1;  /**< Third UART interrupt */
3638215976Sjmallett	uint64_t reserved_4_15                : 12;
3639215976Sjmallett	uint64_t wdog                         : 4;  /**< Watchdog summary interrupt enable vector */
3640215976Sjmallett#else
3641215976Sjmallett	uint64_t wdog                         : 4;
3642215976Sjmallett	uint64_t reserved_4_15                : 12;
3643215976Sjmallett	uint64_t uart2                        : 1;
3644215976Sjmallett	uint64_t usb1                         : 1;
3645215976Sjmallett	uint64_t mii1                         : 1;
3646215976Sjmallett	uint64_t reserved_19_63               : 45;
3647215976Sjmallett#endif
3648215976Sjmallett	} cn52xxp1;
3649232812Sjmallett	struct cvmx_ciu_intx_en1_cn56xx {
3650232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
3651215976Sjmallett	uint64_t reserved_12_63               : 52;
3652215976Sjmallett	uint64_t wdog                         : 12; /**< Watchdog summary interrupt enable vectory */
3653215976Sjmallett#else
3654215976Sjmallett	uint64_t wdog                         : 12;
3655215976Sjmallett	uint64_t reserved_12_63               : 52;
3656215976Sjmallett#endif
3657215976Sjmallett	} cn56xx;
3658215976Sjmallett	struct cvmx_ciu_intx_en1_cn56xx       cn56xxp1;
3659215976Sjmallett	struct cvmx_ciu_intx_en1_cn38xx       cn58xx;
3660215976Sjmallett	struct cvmx_ciu_intx_en1_cn38xx       cn58xxp1;
3661232812Sjmallett	struct cvmx_ciu_intx_en1_cn61xx {
3662232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
3663215976Sjmallett	uint64_t rst                          : 1;  /**< MIO RST interrupt enable */
3664232812Sjmallett	uint64_t reserved_53_62               : 10;
3665232812Sjmallett	uint64_t lmc0                         : 1;  /**< LMC0 interrupt enable */
3666232812Sjmallett	uint64_t reserved_50_51               : 2;
3667232812Sjmallett	uint64_t pem1                         : 1;  /**< PEM1 interrupt enable */
3668232812Sjmallett	uint64_t pem0                         : 1;  /**< PEM0 interrupt enable */
3669232812Sjmallett	uint64_t ptp                          : 1;  /**< PTP interrupt enable */
3670232812Sjmallett	uint64_t agl                          : 1;  /**< AGL interrupt enable */
3671232812Sjmallett	uint64_t reserved_41_45               : 5;
3672232812Sjmallett	uint64_t dpi_dma                      : 1;  /**< DPI_DMA interrupt enable */
3673232812Sjmallett	uint64_t reserved_38_39               : 2;
3674232812Sjmallett	uint64_t agx1                         : 1;  /**< GMX1 interrupt enable */
3675232812Sjmallett	uint64_t agx0                         : 1;  /**< GMX0 interrupt enable */
3676232812Sjmallett	uint64_t dpi                          : 1;  /**< DPI interrupt enable */
3677232812Sjmallett	uint64_t sli                          : 1;  /**< SLI interrupt enable */
3678232812Sjmallett	uint64_t usb                          : 1;  /**< USB UCTL0 interrupt enable */
3679232812Sjmallett	uint64_t dfa                          : 1;  /**< DFA interrupt enable */
3680232812Sjmallett	uint64_t key                          : 1;  /**< KEY interrupt enable */
3681232812Sjmallett	uint64_t rad                          : 1;  /**< RAD interrupt enable */
3682232812Sjmallett	uint64_t tim                          : 1;  /**< TIM interrupt enable */
3683232812Sjmallett	uint64_t zip                          : 1;  /**< ZIP interrupt enable */
3684232812Sjmallett	uint64_t pko                          : 1;  /**< PKO interrupt enable */
3685232812Sjmallett	uint64_t pip                          : 1;  /**< PIP interrupt enable */
3686232812Sjmallett	uint64_t ipd                          : 1;  /**< IPD interrupt enable */
3687232812Sjmallett	uint64_t l2c                          : 1;  /**< L2C interrupt enable */
3688232812Sjmallett	uint64_t pow                          : 1;  /**< POW err interrupt enable */
3689232812Sjmallett	uint64_t fpa                          : 1;  /**< FPA interrupt enable */
3690232812Sjmallett	uint64_t iob                          : 1;  /**< IOB interrupt enable */
3691232812Sjmallett	uint64_t mio                          : 1;  /**< MIO boot interrupt enable */
3692232812Sjmallett	uint64_t nand                         : 1;  /**< EMMC Flash Controller interrupt enable */
3693232812Sjmallett	uint64_t mii1                         : 1;  /**< RGMII/MIX Interface 1 Interrupt enable */
3694232812Sjmallett	uint64_t reserved_4_17                : 14;
3695232812Sjmallett	uint64_t wdog                         : 4;  /**< Watchdog summary interrupt enable vector */
3696232812Sjmallett#else
3697232812Sjmallett	uint64_t wdog                         : 4;
3698232812Sjmallett	uint64_t reserved_4_17                : 14;
3699232812Sjmallett	uint64_t mii1                         : 1;
3700232812Sjmallett	uint64_t nand                         : 1;
3701232812Sjmallett	uint64_t mio                          : 1;
3702232812Sjmallett	uint64_t iob                          : 1;
3703232812Sjmallett	uint64_t fpa                          : 1;
3704232812Sjmallett	uint64_t pow                          : 1;
3705232812Sjmallett	uint64_t l2c                          : 1;
3706232812Sjmallett	uint64_t ipd                          : 1;
3707232812Sjmallett	uint64_t pip                          : 1;
3708232812Sjmallett	uint64_t pko                          : 1;
3709232812Sjmallett	uint64_t zip                          : 1;
3710232812Sjmallett	uint64_t tim                          : 1;
3711232812Sjmallett	uint64_t rad                          : 1;
3712232812Sjmallett	uint64_t key                          : 1;
3713232812Sjmallett	uint64_t dfa                          : 1;
3714232812Sjmallett	uint64_t usb                          : 1;
3715232812Sjmallett	uint64_t sli                          : 1;
3716232812Sjmallett	uint64_t dpi                          : 1;
3717232812Sjmallett	uint64_t agx0                         : 1;
3718232812Sjmallett	uint64_t agx1                         : 1;
3719232812Sjmallett	uint64_t reserved_38_39               : 2;
3720232812Sjmallett	uint64_t dpi_dma                      : 1;
3721232812Sjmallett	uint64_t reserved_41_45               : 5;
3722232812Sjmallett	uint64_t agl                          : 1;
3723232812Sjmallett	uint64_t ptp                          : 1;
3724232812Sjmallett	uint64_t pem0                         : 1;
3725232812Sjmallett	uint64_t pem1                         : 1;
3726232812Sjmallett	uint64_t reserved_50_51               : 2;
3727232812Sjmallett	uint64_t lmc0                         : 1;
3728232812Sjmallett	uint64_t reserved_53_62               : 10;
3729232812Sjmallett	uint64_t rst                          : 1;
3730232812Sjmallett#endif
3731232812Sjmallett	} cn61xx;
3732232812Sjmallett	struct cvmx_ciu_intx_en1_cn63xx {
3733232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
3734232812Sjmallett	uint64_t rst                          : 1;  /**< MIO RST interrupt enable */
3735215976Sjmallett	uint64_t reserved_57_62               : 6;
3736215976Sjmallett	uint64_t dfm                          : 1;  /**< DFM interrupt enable */
3737215976Sjmallett	uint64_t reserved_53_55               : 3;
3738215976Sjmallett	uint64_t lmc0                         : 1;  /**< LMC0 interrupt enable */
3739215976Sjmallett	uint64_t srio1                        : 1;  /**< SRIO1 interrupt enable */
3740215976Sjmallett	uint64_t srio0                        : 1;  /**< SRIO0 interrupt enable */
3741215976Sjmallett	uint64_t pem1                         : 1;  /**< PEM1 interrupt enable */
3742215976Sjmallett	uint64_t pem0                         : 1;  /**< PEM0 interrupt enable */
3743215976Sjmallett	uint64_t ptp                          : 1;  /**< PTP interrupt enable */
3744215976Sjmallett	uint64_t agl                          : 1;  /**< AGL interrupt enable */
3745215976Sjmallett	uint64_t reserved_37_45               : 9;
3746215976Sjmallett	uint64_t agx0                         : 1;  /**< GMX0 interrupt enable */
3747215976Sjmallett	uint64_t dpi                          : 1;  /**< DPI interrupt enable */
3748215976Sjmallett	uint64_t sli                          : 1;  /**< SLI interrupt enable */
3749215976Sjmallett	uint64_t usb                          : 1;  /**< USB UCTL0 interrupt enable */
3750215976Sjmallett	uint64_t dfa                          : 1;  /**< DFA interrupt enable */
3751215976Sjmallett	uint64_t key                          : 1;  /**< KEY interrupt enable */
3752215976Sjmallett	uint64_t rad                          : 1;  /**< RAD interrupt enable */
3753215976Sjmallett	uint64_t tim                          : 1;  /**< TIM interrupt enable */
3754215976Sjmallett	uint64_t zip                          : 1;  /**< ZIP interrupt enable */
3755215976Sjmallett	uint64_t pko                          : 1;  /**< PKO interrupt enable */
3756215976Sjmallett	uint64_t pip                          : 1;  /**< PIP interrupt enable */
3757215976Sjmallett	uint64_t ipd                          : 1;  /**< IPD interrupt enable */
3758215976Sjmallett	uint64_t l2c                          : 1;  /**< L2C interrupt enable */
3759215976Sjmallett	uint64_t pow                          : 1;  /**< POW err interrupt enable */
3760215976Sjmallett	uint64_t fpa                          : 1;  /**< FPA interrupt enable */
3761215976Sjmallett	uint64_t iob                          : 1;  /**< IOB interrupt enable */
3762215976Sjmallett	uint64_t mio                          : 1;  /**< MIO boot interrupt enable */
3763215976Sjmallett	uint64_t nand                         : 1;  /**< NAND Flash Controller interrupt enable */
3764215976Sjmallett	uint64_t mii1                         : 1;  /**< RGMII/MII/MIX Interface 1 Interrupt enable */
3765215976Sjmallett	uint64_t reserved_6_17                : 12;
3766215976Sjmallett	uint64_t wdog                         : 6;  /**< Watchdog summary interrupt enable vector */
3767215976Sjmallett#else
3768215976Sjmallett	uint64_t wdog                         : 6;
3769215976Sjmallett	uint64_t reserved_6_17                : 12;
3770215976Sjmallett	uint64_t mii1                         : 1;
3771215976Sjmallett	uint64_t nand                         : 1;
3772215976Sjmallett	uint64_t mio                          : 1;
3773215976Sjmallett	uint64_t iob                          : 1;
3774215976Sjmallett	uint64_t fpa                          : 1;
3775215976Sjmallett	uint64_t pow                          : 1;
3776215976Sjmallett	uint64_t l2c                          : 1;
3777215976Sjmallett	uint64_t ipd                          : 1;
3778215976Sjmallett	uint64_t pip                          : 1;
3779215976Sjmallett	uint64_t pko                          : 1;
3780215976Sjmallett	uint64_t zip                          : 1;
3781215976Sjmallett	uint64_t tim                          : 1;
3782215976Sjmallett	uint64_t rad                          : 1;
3783215976Sjmallett	uint64_t key                          : 1;
3784215976Sjmallett	uint64_t dfa                          : 1;
3785215976Sjmallett	uint64_t usb                          : 1;
3786215976Sjmallett	uint64_t sli                          : 1;
3787215976Sjmallett	uint64_t dpi                          : 1;
3788215976Sjmallett	uint64_t agx0                         : 1;
3789215976Sjmallett	uint64_t reserved_37_45               : 9;
3790215976Sjmallett	uint64_t agl                          : 1;
3791215976Sjmallett	uint64_t ptp                          : 1;
3792215976Sjmallett	uint64_t pem0                         : 1;
3793215976Sjmallett	uint64_t pem1                         : 1;
3794215976Sjmallett	uint64_t srio0                        : 1;
3795215976Sjmallett	uint64_t srio1                        : 1;
3796215976Sjmallett	uint64_t lmc0                         : 1;
3797215976Sjmallett	uint64_t reserved_53_55               : 3;
3798215976Sjmallett	uint64_t dfm                          : 1;
3799215976Sjmallett	uint64_t reserved_57_62               : 6;
3800215976Sjmallett	uint64_t rst                          : 1;
3801215976Sjmallett#endif
3802215976Sjmallett	} cn63xx;
3803215976Sjmallett	struct cvmx_ciu_intx_en1_cn63xx       cn63xxp1;
3804232812Sjmallett	struct cvmx_ciu_intx_en1_cn66xx {
3805232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
3806232812Sjmallett	uint64_t rst                          : 1;  /**< MIO RST interrupt enable */
3807232812Sjmallett	uint64_t reserved_62_62               : 1;
3808232812Sjmallett	uint64_t srio3                        : 1;  /**< SRIO3 interrupt enable */
3809232812Sjmallett	uint64_t srio2                        : 1;  /**< SRIO2 interrupt enable */
3810232812Sjmallett	uint64_t reserved_57_59               : 3;
3811232812Sjmallett	uint64_t dfm                          : 1;  /**< DFM interrupt enable */
3812232812Sjmallett	uint64_t reserved_53_55               : 3;
3813232812Sjmallett	uint64_t lmc0                         : 1;  /**< LMC0 interrupt enable */
3814232812Sjmallett	uint64_t reserved_51_51               : 1;
3815232812Sjmallett	uint64_t srio0                        : 1;  /**< SRIO0 interrupt enable */
3816232812Sjmallett	uint64_t pem1                         : 1;  /**< PEM1 interrupt enable */
3817232812Sjmallett	uint64_t pem0                         : 1;  /**< PEM0 interrupt enable */
3818232812Sjmallett	uint64_t ptp                          : 1;  /**< PTP interrupt enable */
3819232812Sjmallett	uint64_t agl                          : 1;  /**< AGL interrupt enable */
3820232812Sjmallett	uint64_t reserved_38_45               : 8;
3821232812Sjmallett	uint64_t agx1                         : 1;  /**< GMX1 interrupt enable */
3822232812Sjmallett	uint64_t agx0                         : 1;  /**< GMX0 interrupt enable */
3823232812Sjmallett	uint64_t dpi                          : 1;  /**< DPI interrupt enable */
3824232812Sjmallett	uint64_t sli                          : 1;  /**< SLI interrupt enable */
3825232812Sjmallett	uint64_t usb                          : 1;  /**< USB UCTL0 interrupt enable */
3826232812Sjmallett	uint64_t dfa                          : 1;  /**< DFA interrupt enable */
3827232812Sjmallett	uint64_t key                          : 1;  /**< KEY interrupt enable */
3828232812Sjmallett	uint64_t rad                          : 1;  /**< RAD interrupt enable */
3829232812Sjmallett	uint64_t tim                          : 1;  /**< TIM interrupt enable */
3830232812Sjmallett	uint64_t zip                          : 1;  /**< ZIP interrupt enable */
3831232812Sjmallett	uint64_t pko                          : 1;  /**< PKO interrupt enable */
3832232812Sjmallett	uint64_t pip                          : 1;  /**< PIP interrupt enable */
3833232812Sjmallett	uint64_t ipd                          : 1;  /**< IPD interrupt enable */
3834232812Sjmallett	uint64_t l2c                          : 1;  /**< L2C interrupt enable */
3835232812Sjmallett	uint64_t pow                          : 1;  /**< POW err interrupt enable */
3836232812Sjmallett	uint64_t fpa                          : 1;  /**< FPA interrupt enable */
3837232812Sjmallett	uint64_t iob                          : 1;  /**< IOB interrupt enable */
3838232812Sjmallett	uint64_t mio                          : 1;  /**< MIO boot interrupt enable */
3839232812Sjmallett	uint64_t nand                         : 1;  /**< NAND Flash Controller interrupt enable */
3840232812Sjmallett	uint64_t mii1                         : 1;  /**< RGMII/MII/MIX Interface 1 Interrupt enable */
3841232812Sjmallett	uint64_t reserved_10_17               : 8;
3842232812Sjmallett	uint64_t wdog                         : 10; /**< Watchdog summary interrupt enable vector */
3843232812Sjmallett#else
3844232812Sjmallett	uint64_t wdog                         : 10;
3845232812Sjmallett	uint64_t reserved_10_17               : 8;
3846232812Sjmallett	uint64_t mii1                         : 1;
3847232812Sjmallett	uint64_t nand                         : 1;
3848232812Sjmallett	uint64_t mio                          : 1;
3849232812Sjmallett	uint64_t iob                          : 1;
3850232812Sjmallett	uint64_t fpa                          : 1;
3851232812Sjmallett	uint64_t pow                          : 1;
3852232812Sjmallett	uint64_t l2c                          : 1;
3853232812Sjmallett	uint64_t ipd                          : 1;
3854232812Sjmallett	uint64_t pip                          : 1;
3855232812Sjmallett	uint64_t pko                          : 1;
3856232812Sjmallett	uint64_t zip                          : 1;
3857232812Sjmallett	uint64_t tim                          : 1;
3858232812Sjmallett	uint64_t rad                          : 1;
3859232812Sjmallett	uint64_t key                          : 1;
3860232812Sjmallett	uint64_t dfa                          : 1;
3861232812Sjmallett	uint64_t usb                          : 1;
3862232812Sjmallett	uint64_t sli                          : 1;
3863232812Sjmallett	uint64_t dpi                          : 1;
3864232812Sjmallett	uint64_t agx0                         : 1;
3865232812Sjmallett	uint64_t agx1                         : 1;
3866232812Sjmallett	uint64_t reserved_38_45               : 8;
3867232812Sjmallett	uint64_t agl                          : 1;
3868232812Sjmallett	uint64_t ptp                          : 1;
3869232812Sjmallett	uint64_t pem0                         : 1;
3870232812Sjmallett	uint64_t pem1                         : 1;
3871232812Sjmallett	uint64_t srio0                        : 1;
3872232812Sjmallett	uint64_t reserved_51_51               : 1;
3873232812Sjmallett	uint64_t lmc0                         : 1;
3874232812Sjmallett	uint64_t reserved_53_55               : 3;
3875232812Sjmallett	uint64_t dfm                          : 1;
3876232812Sjmallett	uint64_t reserved_57_59               : 3;
3877232812Sjmallett	uint64_t srio2                        : 1;
3878232812Sjmallett	uint64_t srio3                        : 1;
3879232812Sjmallett	uint64_t reserved_62_62               : 1;
3880232812Sjmallett	uint64_t rst                          : 1;
3881232812Sjmallett#endif
3882232812Sjmallett	} cn66xx;
3883232812Sjmallett	struct cvmx_ciu_intx_en1_cnf71xx {
3884232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
3885232812Sjmallett	uint64_t rst                          : 1;  /**< MIO RST interrupt enable */
3886232812Sjmallett	uint64_t reserved_53_62               : 10;
3887232812Sjmallett	uint64_t lmc0                         : 1;  /**< LMC0 interrupt enable */
3888232812Sjmallett	uint64_t reserved_50_51               : 2;
3889232812Sjmallett	uint64_t pem1                         : 1;  /**< PEM1 interrupt enable */
3890232812Sjmallett	uint64_t pem0                         : 1;  /**< PEM0 interrupt enable */
3891232812Sjmallett	uint64_t ptp                          : 1;  /**< PTP interrupt enable */
3892232812Sjmallett	uint64_t reserved_41_46               : 6;
3893232812Sjmallett	uint64_t dpi_dma                      : 1;  /**< DPI_DMA interrupt enable */
3894232812Sjmallett	uint64_t reserved_37_39               : 3;
3895232812Sjmallett	uint64_t agx0                         : 1;  /**< GMX0 interrupt enable */
3896232812Sjmallett	uint64_t dpi                          : 1;  /**< DPI interrupt enable */
3897232812Sjmallett	uint64_t sli                          : 1;  /**< SLI interrupt enable */
3898232812Sjmallett	uint64_t usb                          : 1;  /**< USB UCTL0 interrupt enable */
3899232812Sjmallett	uint64_t reserved_32_32               : 1;
3900232812Sjmallett	uint64_t key                          : 1;  /**< KEY interrupt enable */
3901232812Sjmallett	uint64_t rad                          : 1;  /**< RAD interrupt enable */
3902232812Sjmallett	uint64_t tim                          : 1;  /**< TIM interrupt enable */
3903232812Sjmallett	uint64_t reserved_28_28               : 1;
3904232812Sjmallett	uint64_t pko                          : 1;  /**< PKO interrupt enable */
3905232812Sjmallett	uint64_t pip                          : 1;  /**< PIP interrupt enable */
3906232812Sjmallett	uint64_t ipd                          : 1;  /**< IPD interrupt enable */
3907232812Sjmallett	uint64_t l2c                          : 1;  /**< L2C interrupt enable */
3908232812Sjmallett	uint64_t pow                          : 1;  /**< POW err interrupt enable */
3909232812Sjmallett	uint64_t fpa                          : 1;  /**< FPA interrupt enable */
3910232812Sjmallett	uint64_t iob                          : 1;  /**< IOB interrupt enable */
3911232812Sjmallett	uint64_t mio                          : 1;  /**< MIO boot interrupt enable */
3912232812Sjmallett	uint64_t nand                         : 1;  /**< EMMC Flash Controller interrupt enable */
3913232812Sjmallett	uint64_t reserved_4_18                : 15;
3914232812Sjmallett	uint64_t wdog                         : 4;  /**< Watchdog summary interrupt enable vector */
3915232812Sjmallett#else
3916232812Sjmallett	uint64_t wdog                         : 4;
3917232812Sjmallett	uint64_t reserved_4_18                : 15;
3918232812Sjmallett	uint64_t nand                         : 1;
3919232812Sjmallett	uint64_t mio                          : 1;
3920232812Sjmallett	uint64_t iob                          : 1;
3921232812Sjmallett	uint64_t fpa                          : 1;
3922232812Sjmallett	uint64_t pow                          : 1;
3923232812Sjmallett	uint64_t l2c                          : 1;
3924232812Sjmallett	uint64_t ipd                          : 1;
3925232812Sjmallett	uint64_t pip                          : 1;
3926232812Sjmallett	uint64_t pko                          : 1;
3927232812Sjmallett	uint64_t reserved_28_28               : 1;
3928232812Sjmallett	uint64_t tim                          : 1;
3929232812Sjmallett	uint64_t rad                          : 1;
3930232812Sjmallett	uint64_t key                          : 1;
3931232812Sjmallett	uint64_t reserved_32_32               : 1;
3932232812Sjmallett	uint64_t usb                          : 1;
3933232812Sjmallett	uint64_t sli                          : 1;
3934232812Sjmallett	uint64_t dpi                          : 1;
3935232812Sjmallett	uint64_t agx0                         : 1;
3936232812Sjmallett	uint64_t reserved_37_39               : 3;
3937232812Sjmallett	uint64_t dpi_dma                      : 1;
3938232812Sjmallett	uint64_t reserved_41_46               : 6;
3939232812Sjmallett	uint64_t ptp                          : 1;
3940232812Sjmallett	uint64_t pem0                         : 1;
3941232812Sjmallett	uint64_t pem1                         : 1;
3942232812Sjmallett	uint64_t reserved_50_51               : 2;
3943232812Sjmallett	uint64_t lmc0                         : 1;
3944232812Sjmallett	uint64_t reserved_53_62               : 10;
3945232812Sjmallett	uint64_t rst                          : 1;
3946232812Sjmallett#endif
3947232812Sjmallett	} cnf71xx;
3948215976Sjmallett};
3949215976Sjmalletttypedef union cvmx_ciu_intx_en1 cvmx_ciu_intx_en1_t;
3950215976Sjmallett
3951215976Sjmallett/**
3952215976Sjmallett * cvmx_ciu_int#_en1_w1c
3953215976Sjmallett *
3954215976Sjmallett * Notes:
3955232812Sjmallett * Write-1-to-clear version of the CIU_INTX_EN1 register, read back corresponding CIU_INTX_EN1 value.
3956215976Sjmallett *
3957215976Sjmallett */
3958232812Sjmallettunion cvmx_ciu_intx_en1_w1c {
3959215976Sjmallett	uint64_t u64;
3960232812Sjmallett	struct cvmx_ciu_intx_en1_w1c_s {
3961232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
3962215976Sjmallett	uint64_t rst                          : 1;  /**< Write 1 to clear MIO RST interrupt enable */
3963232812Sjmallett	uint64_t reserved_62_62               : 1;
3964232812Sjmallett	uint64_t srio3                        : 1;  /**< Write 1 to clear SRIO3 interrupt enable */
3965232812Sjmallett	uint64_t srio2                        : 1;  /**< Write 1 to clear SRIO2 interrupt enable */
3966232812Sjmallett	uint64_t reserved_57_59               : 3;
3967215976Sjmallett	uint64_t dfm                          : 1;  /**< Write 1 to clear DFM interrupt enable */
3968215976Sjmallett	uint64_t reserved_53_55               : 3;
3969215976Sjmallett	uint64_t lmc0                         : 1;  /**< Write 1 to clear LMC0 interrupt enable */
3970215976Sjmallett	uint64_t srio1                        : 1;  /**< Write 1 to clear SRIO1 interrupt enable */
3971215976Sjmallett	uint64_t srio0                        : 1;  /**< Write 1 to clear SRIO0 interrupt enable */
3972215976Sjmallett	uint64_t pem1                         : 1;  /**< Write 1 to clear PEM1 interrupt enable */
3973215976Sjmallett	uint64_t pem0                         : 1;  /**< Write 1 to clear PEM0 interrupt enable */
3974215976Sjmallett	uint64_t ptp                          : 1;  /**< Write 1 to clear PTP interrupt enable */
3975215976Sjmallett	uint64_t agl                          : 1;  /**< Write 1 to clear AGL interrupt enable */
3976232812Sjmallett	uint64_t reserved_41_45               : 5;
3977232812Sjmallett	uint64_t dpi_dma                      : 1;  /**< Write 1 to clear DPI_DMA interrupt enable */
3978232812Sjmallett	uint64_t reserved_38_39               : 2;
3979232812Sjmallett	uint64_t agx1                         : 1;  /**< Write 1 to clear GMX1 interrupt enable */
3980215976Sjmallett	uint64_t agx0                         : 1;  /**< Write 1 to clear GMX0 interrupt enable */
3981215976Sjmallett	uint64_t dpi                          : 1;  /**< Write 1 to clear DPI interrupt enable */
3982215976Sjmallett	uint64_t sli                          : 1;  /**< Write 1 to clear SLI interrupt enable */
3983215976Sjmallett	uint64_t usb                          : 1;  /**< Write 1 to clear USB UCTL0 interrupt enable */
3984215976Sjmallett	uint64_t dfa                          : 1;  /**< Write 1 to clear DFA interrupt enable */
3985215976Sjmallett	uint64_t key                          : 1;  /**< Write 1 to clear KEY interrupt enable */
3986215976Sjmallett	uint64_t rad                          : 1;  /**< Write 1 to clear RAD interrupt enable */
3987215976Sjmallett	uint64_t tim                          : 1;  /**< Write 1 to clear TIM interrupt enable */
3988215976Sjmallett	uint64_t zip                          : 1;  /**< Write 1 to clear ZIP interrupt enable */
3989215976Sjmallett	uint64_t pko                          : 1;  /**< Write 1 to clear PKO interrupt enable */
3990215976Sjmallett	uint64_t pip                          : 1;  /**< Write 1 to clear PIP interrupt enable */
3991215976Sjmallett	uint64_t ipd                          : 1;  /**< Write 1 to clear IPD interrupt enable */
3992215976Sjmallett	uint64_t l2c                          : 1;  /**< Write 1 to clear L2C interrupt enable */
3993215976Sjmallett	uint64_t pow                          : 1;  /**< Write 1 to clear POW err interrupt enable */
3994215976Sjmallett	uint64_t fpa                          : 1;  /**< Write 1 to clear FPA interrupt enable */
3995215976Sjmallett	uint64_t iob                          : 1;  /**< Write 1 to clear IOB interrupt enable */
3996215976Sjmallett	uint64_t mio                          : 1;  /**< Write 1 to clear MIO boot interrupt enable */
3997232812Sjmallett	uint64_t nand                         : 1;  /**< Write 1 to clear EMMC Flash Controller interrupt
3998215976Sjmallett                                                         enable */
3999215976Sjmallett	uint64_t mii1                         : 1;  /**< Write 1 to clear RGMII/MII/MIX Interface 1
4000215976Sjmallett                                                         Interrupt enable */
4001215976Sjmallett	uint64_t usb1                         : 1;  /**< Second USB Interrupt */
4002215976Sjmallett	uint64_t uart2                        : 1;  /**< Third UART interrupt */
4003215976Sjmallett	uint64_t wdog                         : 16; /**< Write 1s to clear Watchdog summary interrupt enable */
4004215976Sjmallett#else
4005215976Sjmallett	uint64_t wdog                         : 16;
4006215976Sjmallett	uint64_t uart2                        : 1;
4007215976Sjmallett	uint64_t usb1                         : 1;
4008215976Sjmallett	uint64_t mii1                         : 1;
4009215976Sjmallett	uint64_t nand                         : 1;
4010215976Sjmallett	uint64_t mio                          : 1;
4011215976Sjmallett	uint64_t iob                          : 1;
4012215976Sjmallett	uint64_t fpa                          : 1;
4013215976Sjmallett	uint64_t pow                          : 1;
4014215976Sjmallett	uint64_t l2c                          : 1;
4015215976Sjmallett	uint64_t ipd                          : 1;
4016215976Sjmallett	uint64_t pip                          : 1;
4017215976Sjmallett	uint64_t pko                          : 1;
4018215976Sjmallett	uint64_t zip                          : 1;
4019215976Sjmallett	uint64_t tim                          : 1;
4020215976Sjmallett	uint64_t rad                          : 1;
4021215976Sjmallett	uint64_t key                          : 1;
4022215976Sjmallett	uint64_t dfa                          : 1;
4023215976Sjmallett	uint64_t usb                          : 1;
4024215976Sjmallett	uint64_t sli                          : 1;
4025215976Sjmallett	uint64_t dpi                          : 1;
4026215976Sjmallett	uint64_t agx0                         : 1;
4027232812Sjmallett	uint64_t agx1                         : 1;
4028232812Sjmallett	uint64_t reserved_38_39               : 2;
4029232812Sjmallett	uint64_t dpi_dma                      : 1;
4030232812Sjmallett	uint64_t reserved_41_45               : 5;
4031215976Sjmallett	uint64_t agl                          : 1;
4032215976Sjmallett	uint64_t ptp                          : 1;
4033215976Sjmallett	uint64_t pem0                         : 1;
4034215976Sjmallett	uint64_t pem1                         : 1;
4035215976Sjmallett	uint64_t srio0                        : 1;
4036215976Sjmallett	uint64_t srio1                        : 1;
4037215976Sjmallett	uint64_t lmc0                         : 1;
4038215976Sjmallett	uint64_t reserved_53_55               : 3;
4039215976Sjmallett	uint64_t dfm                          : 1;
4040232812Sjmallett	uint64_t reserved_57_59               : 3;
4041232812Sjmallett	uint64_t srio2                        : 1;
4042232812Sjmallett	uint64_t srio3                        : 1;
4043232812Sjmallett	uint64_t reserved_62_62               : 1;
4044215976Sjmallett	uint64_t rst                          : 1;
4045215976Sjmallett#endif
4046215976Sjmallett	} s;
4047232812Sjmallett	struct cvmx_ciu_intx_en1_w1c_cn52xx {
4048232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
4049215976Sjmallett	uint64_t reserved_20_63               : 44;
4050215976Sjmallett	uint64_t nand                         : 1;  /**< NAND Flash Controller */
4051215976Sjmallett	uint64_t mii1                         : 1;  /**< Second MII Interrupt */
4052215976Sjmallett	uint64_t usb1                         : 1;  /**< Second USB Interrupt */
4053215976Sjmallett	uint64_t uart2                        : 1;  /**< Third UART interrupt */
4054215976Sjmallett	uint64_t reserved_4_15                : 12;
4055215976Sjmallett	uint64_t wdog                         : 4;  /**< Watchdog summary interrupt enable vector */
4056215976Sjmallett#else
4057215976Sjmallett	uint64_t wdog                         : 4;
4058215976Sjmallett	uint64_t reserved_4_15                : 12;
4059215976Sjmallett	uint64_t uart2                        : 1;
4060215976Sjmallett	uint64_t usb1                         : 1;
4061215976Sjmallett	uint64_t mii1                         : 1;
4062215976Sjmallett	uint64_t nand                         : 1;
4063215976Sjmallett	uint64_t reserved_20_63               : 44;
4064215976Sjmallett#endif
4065215976Sjmallett	} cn52xx;
4066232812Sjmallett	struct cvmx_ciu_intx_en1_w1c_cn56xx {
4067232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
4068215976Sjmallett	uint64_t reserved_12_63               : 52;
4069215976Sjmallett	uint64_t wdog                         : 12; /**< Watchdog summary interrupt enable vectory */
4070215976Sjmallett#else
4071215976Sjmallett	uint64_t wdog                         : 12;
4072215976Sjmallett	uint64_t reserved_12_63               : 52;
4073215976Sjmallett#endif
4074215976Sjmallett	} cn56xx;
4075232812Sjmallett	struct cvmx_ciu_intx_en1_w1c_cn58xx {
4076232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
4077215976Sjmallett	uint64_t reserved_16_63               : 48;
4078215976Sjmallett	uint64_t wdog                         : 16; /**< Watchdog summary interrupt enable vectory */
4079215976Sjmallett#else
4080215976Sjmallett	uint64_t wdog                         : 16;
4081215976Sjmallett	uint64_t reserved_16_63               : 48;
4082215976Sjmallett#endif
4083215976Sjmallett	} cn58xx;
4084232812Sjmallett	struct cvmx_ciu_intx_en1_w1c_cn61xx {
4085232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
4086215976Sjmallett	uint64_t rst                          : 1;  /**< Write 1 to clear MIO RST interrupt enable */
4087232812Sjmallett	uint64_t reserved_53_62               : 10;
4088232812Sjmallett	uint64_t lmc0                         : 1;  /**< Write 1 to clear LMC0 interrupt enable */
4089232812Sjmallett	uint64_t reserved_50_51               : 2;
4090232812Sjmallett	uint64_t pem1                         : 1;  /**< Write 1 to clear PEM1 interrupt enable */
4091232812Sjmallett	uint64_t pem0                         : 1;  /**< Write 1 to clear PEM0 interrupt enable */
4092232812Sjmallett	uint64_t ptp                          : 1;  /**< Write 1 to clear PTP interrupt enable */
4093232812Sjmallett	uint64_t agl                          : 1;  /**< Write 1 to clear AGL interrupt enable */
4094232812Sjmallett	uint64_t reserved_41_45               : 5;
4095232812Sjmallett	uint64_t dpi_dma                      : 1;  /**< Write 1 to clear DPI_DMA interrupt enable */
4096232812Sjmallett	uint64_t reserved_38_39               : 2;
4097232812Sjmallett	uint64_t agx1                         : 1;  /**< Write 1 to clear GMX1 interrupt enable */
4098232812Sjmallett	uint64_t agx0                         : 1;  /**< Write 1 to clear GMX0 interrupt enable */
4099232812Sjmallett	uint64_t dpi                          : 1;  /**< Write 1 to clear DPI interrupt enable */
4100232812Sjmallett	uint64_t sli                          : 1;  /**< Write 1 to clear SLI interrupt enable */
4101232812Sjmallett	uint64_t usb                          : 1;  /**< Write 1 to clear USB UCTL0 interrupt enable */
4102232812Sjmallett	uint64_t dfa                          : 1;  /**< Write 1 to clear DFA interrupt enable */
4103232812Sjmallett	uint64_t key                          : 1;  /**< Write 1 to clear KEY interrupt enable */
4104232812Sjmallett	uint64_t rad                          : 1;  /**< Write 1 to clear RAD interrupt enable */
4105232812Sjmallett	uint64_t tim                          : 1;  /**< Write 1 to clear TIM interrupt enable */
4106232812Sjmallett	uint64_t zip                          : 1;  /**< Write 1 to clear ZIP interrupt enable */
4107232812Sjmallett	uint64_t pko                          : 1;  /**< Write 1 to clear PKO interrupt enable */
4108232812Sjmallett	uint64_t pip                          : 1;  /**< Write 1 to clear PIP interrupt enable */
4109232812Sjmallett	uint64_t ipd                          : 1;  /**< Write 1 to clear IPD interrupt enable */
4110232812Sjmallett	uint64_t l2c                          : 1;  /**< Write 1 to clear L2C interrupt enable */
4111232812Sjmallett	uint64_t pow                          : 1;  /**< Write 1 to clear POW err interrupt enable */
4112232812Sjmallett	uint64_t fpa                          : 1;  /**< Write 1 to clear FPA interrupt enable */
4113232812Sjmallett	uint64_t iob                          : 1;  /**< Write 1 to clear IOB interrupt enable */
4114232812Sjmallett	uint64_t mio                          : 1;  /**< Write 1 to clear MIO boot interrupt enable */
4115232812Sjmallett	uint64_t nand                         : 1;  /**< Write 1 to clear EMMC Flash Controller interrupt
4116232812Sjmallett                                                         enable */
4117232812Sjmallett	uint64_t mii1                         : 1;  /**< Write 1 to clear RGMII/MIX Interface 1
4118232812Sjmallett                                                         Interrupt enable */
4119232812Sjmallett	uint64_t reserved_4_17                : 14;
4120232812Sjmallett	uint64_t wdog                         : 4;  /**< Write 1s to clear Watchdog summary interrupt enable */
4121232812Sjmallett#else
4122232812Sjmallett	uint64_t wdog                         : 4;
4123232812Sjmallett	uint64_t reserved_4_17                : 14;
4124232812Sjmallett	uint64_t mii1                         : 1;
4125232812Sjmallett	uint64_t nand                         : 1;
4126232812Sjmallett	uint64_t mio                          : 1;
4127232812Sjmallett	uint64_t iob                          : 1;
4128232812Sjmallett	uint64_t fpa                          : 1;
4129232812Sjmallett	uint64_t pow                          : 1;
4130232812Sjmallett	uint64_t l2c                          : 1;
4131232812Sjmallett	uint64_t ipd                          : 1;
4132232812Sjmallett	uint64_t pip                          : 1;
4133232812Sjmallett	uint64_t pko                          : 1;
4134232812Sjmallett	uint64_t zip                          : 1;
4135232812Sjmallett	uint64_t tim                          : 1;
4136232812Sjmallett	uint64_t rad                          : 1;
4137232812Sjmallett	uint64_t key                          : 1;
4138232812Sjmallett	uint64_t dfa                          : 1;
4139232812Sjmallett	uint64_t usb                          : 1;
4140232812Sjmallett	uint64_t sli                          : 1;
4141232812Sjmallett	uint64_t dpi                          : 1;
4142232812Sjmallett	uint64_t agx0                         : 1;
4143232812Sjmallett	uint64_t agx1                         : 1;
4144232812Sjmallett	uint64_t reserved_38_39               : 2;
4145232812Sjmallett	uint64_t dpi_dma                      : 1;
4146232812Sjmallett	uint64_t reserved_41_45               : 5;
4147232812Sjmallett	uint64_t agl                          : 1;
4148232812Sjmallett	uint64_t ptp                          : 1;
4149232812Sjmallett	uint64_t pem0                         : 1;
4150232812Sjmallett	uint64_t pem1                         : 1;
4151232812Sjmallett	uint64_t reserved_50_51               : 2;
4152232812Sjmallett	uint64_t lmc0                         : 1;
4153232812Sjmallett	uint64_t reserved_53_62               : 10;
4154232812Sjmallett	uint64_t rst                          : 1;
4155232812Sjmallett#endif
4156232812Sjmallett	} cn61xx;
4157232812Sjmallett	struct cvmx_ciu_intx_en1_w1c_cn63xx {
4158232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
4159232812Sjmallett	uint64_t rst                          : 1;  /**< Write 1 to clear MIO RST interrupt enable */
4160215976Sjmallett	uint64_t reserved_57_62               : 6;
4161215976Sjmallett	uint64_t dfm                          : 1;  /**< Write 1 to clear DFM interrupt enable */
4162215976Sjmallett	uint64_t reserved_53_55               : 3;
4163215976Sjmallett	uint64_t lmc0                         : 1;  /**< Write 1 to clear LMC0 interrupt enable */
4164215976Sjmallett	uint64_t srio1                        : 1;  /**< Write 1 to clear SRIO1 interrupt enable */
4165215976Sjmallett	uint64_t srio0                        : 1;  /**< Write 1 to clear SRIO0 interrupt enable */
4166215976Sjmallett	uint64_t pem1                         : 1;  /**< Write 1 to clear PEM1 interrupt enable */
4167215976Sjmallett	uint64_t pem0                         : 1;  /**< Write 1 to clear PEM0 interrupt enable */
4168215976Sjmallett	uint64_t ptp                          : 1;  /**< Write 1 to clear PTP interrupt enable */
4169215976Sjmallett	uint64_t agl                          : 1;  /**< Write 1 to clear AGL interrupt enable */
4170215976Sjmallett	uint64_t reserved_37_45               : 9;
4171215976Sjmallett	uint64_t agx0                         : 1;  /**< Write 1 to clear GMX0 interrupt enable */
4172215976Sjmallett	uint64_t dpi                          : 1;  /**< Write 1 to clear DPI interrupt enable */
4173215976Sjmallett	uint64_t sli                          : 1;  /**< Write 1 to clear SLI interrupt enable */
4174215976Sjmallett	uint64_t usb                          : 1;  /**< Write 1 to clear USB UCTL0 interrupt enable */
4175215976Sjmallett	uint64_t dfa                          : 1;  /**< Write 1 to clear DFA interrupt enable */
4176215976Sjmallett	uint64_t key                          : 1;  /**< Write 1 to clear KEY interrupt enable */
4177215976Sjmallett	uint64_t rad                          : 1;  /**< Write 1 to clear RAD interrupt enable */
4178215976Sjmallett	uint64_t tim                          : 1;  /**< Write 1 to clear TIM interrupt enable */
4179215976Sjmallett	uint64_t zip                          : 1;  /**< Write 1 to clear ZIP interrupt enable */
4180215976Sjmallett	uint64_t pko                          : 1;  /**< Write 1 to clear PKO interrupt enable */
4181215976Sjmallett	uint64_t pip                          : 1;  /**< Write 1 to clear PIP interrupt enable */
4182215976Sjmallett	uint64_t ipd                          : 1;  /**< Write 1 to clear IPD interrupt enable */
4183215976Sjmallett	uint64_t l2c                          : 1;  /**< Write 1 to clear L2C interrupt enable */
4184215976Sjmallett	uint64_t pow                          : 1;  /**< Write 1 to clear POW err interrupt enable */
4185215976Sjmallett	uint64_t fpa                          : 1;  /**< Write 1 to clear FPA interrupt enable */
4186215976Sjmallett	uint64_t iob                          : 1;  /**< Write 1 to clear IOB interrupt enable */
4187215976Sjmallett	uint64_t mio                          : 1;  /**< Write 1 to clear MIO boot interrupt enable */
4188215976Sjmallett	uint64_t nand                         : 1;  /**< Write 1 to clear NAND Flash Controller interrupt
4189215976Sjmallett                                                         enable */
4190215976Sjmallett	uint64_t mii1                         : 1;  /**< Write 1 to clear RGMII/MII/MIX Interface 1
4191215976Sjmallett                                                         Interrupt enable */
4192215976Sjmallett	uint64_t reserved_6_17                : 12;
4193215976Sjmallett	uint64_t wdog                         : 6;  /**< Write 1s to clear Watchdog summary interrupt enable */
4194215976Sjmallett#else
4195215976Sjmallett	uint64_t wdog                         : 6;
4196215976Sjmallett	uint64_t reserved_6_17                : 12;
4197215976Sjmallett	uint64_t mii1                         : 1;
4198215976Sjmallett	uint64_t nand                         : 1;
4199215976Sjmallett	uint64_t mio                          : 1;
4200215976Sjmallett	uint64_t iob                          : 1;
4201215976Sjmallett	uint64_t fpa                          : 1;
4202215976Sjmallett	uint64_t pow                          : 1;
4203215976Sjmallett	uint64_t l2c                          : 1;
4204215976Sjmallett	uint64_t ipd                          : 1;
4205215976Sjmallett	uint64_t pip                          : 1;
4206215976Sjmallett	uint64_t pko                          : 1;
4207215976Sjmallett	uint64_t zip                          : 1;
4208215976Sjmallett	uint64_t tim                          : 1;
4209215976Sjmallett	uint64_t rad                          : 1;
4210215976Sjmallett	uint64_t key                          : 1;
4211215976Sjmallett	uint64_t dfa                          : 1;
4212215976Sjmallett	uint64_t usb                          : 1;
4213215976Sjmallett	uint64_t sli                          : 1;
4214215976Sjmallett	uint64_t dpi                          : 1;
4215215976Sjmallett	uint64_t agx0                         : 1;
4216215976Sjmallett	uint64_t reserved_37_45               : 9;
4217215976Sjmallett	uint64_t agl                          : 1;
4218215976Sjmallett	uint64_t ptp                          : 1;
4219215976Sjmallett	uint64_t pem0                         : 1;
4220215976Sjmallett	uint64_t pem1                         : 1;
4221215976Sjmallett	uint64_t srio0                        : 1;
4222215976Sjmallett	uint64_t srio1                        : 1;
4223215976Sjmallett	uint64_t lmc0                         : 1;
4224215976Sjmallett	uint64_t reserved_53_55               : 3;
4225215976Sjmallett	uint64_t dfm                          : 1;
4226215976Sjmallett	uint64_t reserved_57_62               : 6;
4227215976Sjmallett	uint64_t rst                          : 1;
4228215976Sjmallett#endif
4229215976Sjmallett	} cn63xx;
4230215976Sjmallett	struct cvmx_ciu_intx_en1_w1c_cn63xx   cn63xxp1;
4231232812Sjmallett	struct cvmx_ciu_intx_en1_w1c_cn66xx {
4232232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
4233232812Sjmallett	uint64_t rst                          : 1;  /**< Write 1 to clear MIO RST interrupt enable */
4234232812Sjmallett	uint64_t reserved_62_62               : 1;
4235232812Sjmallett	uint64_t srio3                        : 1;  /**< Write 1 to clear SRIO3 interrupt enable */
4236232812Sjmallett	uint64_t srio2                        : 1;  /**< Write 1 to clear SRIO2 interrupt enable */
4237232812Sjmallett	uint64_t reserved_57_59               : 3;
4238232812Sjmallett	uint64_t dfm                          : 1;  /**< Write 1 to clear DFM interrupt enable */
4239232812Sjmallett	uint64_t reserved_53_55               : 3;
4240232812Sjmallett	uint64_t lmc0                         : 1;  /**< Write 1 to clear LMC0 interrupt enable */
4241232812Sjmallett	uint64_t reserved_51_51               : 1;
4242232812Sjmallett	uint64_t srio0                        : 1;  /**< Write 1 to clear SRIO0 interrupt enable */
4243232812Sjmallett	uint64_t pem1                         : 1;  /**< Write 1 to clear PEM1 interrupt enable */
4244232812Sjmallett	uint64_t pem0                         : 1;  /**< Write 1 to clear PEM0 interrupt enable */
4245232812Sjmallett	uint64_t ptp                          : 1;  /**< Write 1 to clear PTP interrupt enable */
4246232812Sjmallett	uint64_t agl                          : 1;  /**< Write 1 to clear AGL interrupt enable */
4247232812Sjmallett	uint64_t reserved_38_45               : 8;
4248232812Sjmallett	uint64_t agx1                         : 1;  /**< Write 1 to clear GMX1 interrupt enable */
4249232812Sjmallett	uint64_t agx0                         : 1;  /**< Write 1 to clear GMX0 interrupt enable */
4250232812Sjmallett	uint64_t dpi                          : 1;  /**< Write 1 to clear DPI interrupt enable */
4251232812Sjmallett	uint64_t sli                          : 1;  /**< Write 1 to clear SLI interrupt enable */
4252232812Sjmallett	uint64_t usb                          : 1;  /**< Write 1 to clear USB UCTL0 interrupt enable */
4253232812Sjmallett	uint64_t dfa                          : 1;  /**< Write 1 to clear DFA interrupt enable */
4254232812Sjmallett	uint64_t key                          : 1;  /**< Write 1 to clear KEY interrupt enable */
4255232812Sjmallett	uint64_t rad                          : 1;  /**< Write 1 to clear RAD interrupt enable */
4256232812Sjmallett	uint64_t tim                          : 1;  /**< Write 1 to clear TIM interrupt enable */
4257232812Sjmallett	uint64_t zip                          : 1;  /**< Write 1 to clear ZIP interrupt enable */
4258232812Sjmallett	uint64_t pko                          : 1;  /**< Write 1 to clear PKO interrupt enable */
4259232812Sjmallett	uint64_t pip                          : 1;  /**< Write 1 to clear PIP interrupt enable */
4260232812Sjmallett	uint64_t ipd                          : 1;  /**< Write 1 to clear IPD interrupt enable */
4261232812Sjmallett	uint64_t l2c                          : 1;  /**< Write 1 to clear L2C interrupt enable */
4262232812Sjmallett	uint64_t pow                          : 1;  /**< Write 1 to clear POW err interrupt enable */
4263232812Sjmallett	uint64_t fpa                          : 1;  /**< Write 1 to clear FPA interrupt enable */
4264232812Sjmallett	uint64_t iob                          : 1;  /**< Write 1 to clear IOB interrupt enable */
4265232812Sjmallett	uint64_t mio                          : 1;  /**< Write 1 to clear MIO boot interrupt enable */
4266232812Sjmallett	uint64_t nand                         : 1;  /**< Write 1 to clear NAND Flash Controller interrupt
4267232812Sjmallett                                                         enable */
4268232812Sjmallett	uint64_t mii1                         : 1;  /**< Write 1 to clear RGMII/MII/MIX Interface 1
4269232812Sjmallett                                                         Interrupt enable */
4270232812Sjmallett	uint64_t reserved_10_17               : 8;
4271232812Sjmallett	uint64_t wdog                         : 10; /**< Write 1s to clear Watchdog summary interrupt enable */
4272232812Sjmallett#else
4273232812Sjmallett	uint64_t wdog                         : 10;
4274232812Sjmallett	uint64_t reserved_10_17               : 8;
4275232812Sjmallett	uint64_t mii1                         : 1;
4276232812Sjmallett	uint64_t nand                         : 1;
4277232812Sjmallett	uint64_t mio                          : 1;
4278232812Sjmallett	uint64_t iob                          : 1;
4279232812Sjmallett	uint64_t fpa                          : 1;
4280232812Sjmallett	uint64_t pow                          : 1;
4281232812Sjmallett	uint64_t l2c                          : 1;
4282232812Sjmallett	uint64_t ipd                          : 1;
4283232812Sjmallett	uint64_t pip                          : 1;
4284232812Sjmallett	uint64_t pko                          : 1;
4285232812Sjmallett	uint64_t zip                          : 1;
4286232812Sjmallett	uint64_t tim                          : 1;
4287232812Sjmallett	uint64_t rad                          : 1;
4288232812Sjmallett	uint64_t key                          : 1;
4289232812Sjmallett	uint64_t dfa                          : 1;
4290232812Sjmallett	uint64_t usb                          : 1;
4291232812Sjmallett	uint64_t sli                          : 1;
4292232812Sjmallett	uint64_t dpi                          : 1;
4293232812Sjmallett	uint64_t agx0                         : 1;
4294232812Sjmallett	uint64_t agx1                         : 1;
4295232812Sjmallett	uint64_t reserved_38_45               : 8;
4296232812Sjmallett	uint64_t agl                          : 1;
4297232812Sjmallett	uint64_t ptp                          : 1;
4298232812Sjmallett	uint64_t pem0                         : 1;
4299232812Sjmallett	uint64_t pem1                         : 1;
4300232812Sjmallett	uint64_t srio0                        : 1;
4301232812Sjmallett	uint64_t reserved_51_51               : 1;
4302232812Sjmallett	uint64_t lmc0                         : 1;
4303232812Sjmallett	uint64_t reserved_53_55               : 3;
4304232812Sjmallett	uint64_t dfm                          : 1;
4305232812Sjmallett	uint64_t reserved_57_59               : 3;
4306232812Sjmallett	uint64_t srio2                        : 1;
4307232812Sjmallett	uint64_t srio3                        : 1;
4308232812Sjmallett	uint64_t reserved_62_62               : 1;
4309232812Sjmallett	uint64_t rst                          : 1;
4310232812Sjmallett#endif
4311232812Sjmallett	} cn66xx;
4312232812Sjmallett	struct cvmx_ciu_intx_en1_w1c_cnf71xx {
4313232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
4314232812Sjmallett	uint64_t rst                          : 1;  /**< Write 1 to clear MIO RST interrupt enable */
4315232812Sjmallett	uint64_t reserved_53_62               : 10;
4316232812Sjmallett	uint64_t lmc0                         : 1;  /**< Write 1 to clear LMC0 interrupt enable */
4317232812Sjmallett	uint64_t reserved_50_51               : 2;
4318232812Sjmallett	uint64_t pem1                         : 1;  /**< Write 1 to clear PEM1 interrupt enable */
4319232812Sjmallett	uint64_t pem0                         : 1;  /**< Write 1 to clear PEM0 interrupt enable */
4320232812Sjmallett	uint64_t ptp                          : 1;  /**< Write 1 to clear PTP interrupt enable */
4321232812Sjmallett	uint64_t reserved_41_46               : 6;
4322232812Sjmallett	uint64_t dpi_dma                      : 1;  /**< Write 1 to clear DPI_DMA interrupt enable */
4323232812Sjmallett	uint64_t reserved_37_39               : 3;
4324232812Sjmallett	uint64_t agx0                         : 1;  /**< Write 1 to clear GMX0 interrupt enable */
4325232812Sjmallett	uint64_t dpi                          : 1;  /**< Write 1 to clear DPI interrupt enable */
4326232812Sjmallett	uint64_t sli                          : 1;  /**< Write 1 to clear SLI interrupt enable */
4327232812Sjmallett	uint64_t usb                          : 1;  /**< Write 1 to clear USB UCTL0 interrupt enable */
4328232812Sjmallett	uint64_t reserved_32_32               : 1;
4329232812Sjmallett	uint64_t key                          : 1;  /**< Write 1 to clear KEY interrupt enable */
4330232812Sjmallett	uint64_t rad                          : 1;  /**< Write 1 to clear RAD interrupt enable */
4331232812Sjmallett	uint64_t tim                          : 1;  /**< Write 1 to clear TIM interrupt enable */
4332232812Sjmallett	uint64_t reserved_28_28               : 1;
4333232812Sjmallett	uint64_t pko                          : 1;  /**< Write 1 to clear PKO interrupt enable */
4334232812Sjmallett	uint64_t pip                          : 1;  /**< Write 1 to clear PIP interrupt enable */
4335232812Sjmallett	uint64_t ipd                          : 1;  /**< Write 1 to clear IPD interrupt enable */
4336232812Sjmallett	uint64_t l2c                          : 1;  /**< Write 1 to clear L2C interrupt enable */
4337232812Sjmallett	uint64_t pow                          : 1;  /**< Write 1 to clear POW err interrupt enable */
4338232812Sjmallett	uint64_t fpa                          : 1;  /**< Write 1 to clear FPA interrupt enable */
4339232812Sjmallett	uint64_t iob                          : 1;  /**< Write 1 to clear IOB interrupt enable */
4340232812Sjmallett	uint64_t mio                          : 1;  /**< Write 1 to clear MIO boot interrupt enable */
4341232812Sjmallett	uint64_t nand                         : 1;  /**< Write 1 to clear EMMC Flash Controller interrupt
4342232812Sjmallett                                                         enable */
4343232812Sjmallett	uint64_t reserved_4_18                : 15;
4344232812Sjmallett	uint64_t wdog                         : 4;  /**< Write 1s to clear Watchdog summary interrupt enable */
4345232812Sjmallett#else
4346232812Sjmallett	uint64_t wdog                         : 4;
4347232812Sjmallett	uint64_t reserved_4_18                : 15;
4348232812Sjmallett	uint64_t nand                         : 1;
4349232812Sjmallett	uint64_t mio                          : 1;
4350232812Sjmallett	uint64_t iob                          : 1;
4351232812Sjmallett	uint64_t fpa                          : 1;
4352232812Sjmallett	uint64_t pow                          : 1;
4353232812Sjmallett	uint64_t l2c                          : 1;
4354232812Sjmallett	uint64_t ipd                          : 1;
4355232812Sjmallett	uint64_t pip                          : 1;
4356232812Sjmallett	uint64_t pko                          : 1;
4357232812Sjmallett	uint64_t reserved_28_28               : 1;
4358232812Sjmallett	uint64_t tim                          : 1;
4359232812Sjmallett	uint64_t rad                          : 1;
4360232812Sjmallett	uint64_t key                          : 1;
4361232812Sjmallett	uint64_t reserved_32_32               : 1;
4362232812Sjmallett	uint64_t usb                          : 1;
4363232812Sjmallett	uint64_t sli                          : 1;
4364232812Sjmallett	uint64_t dpi                          : 1;
4365232812Sjmallett	uint64_t agx0                         : 1;
4366232812Sjmallett	uint64_t reserved_37_39               : 3;
4367232812Sjmallett	uint64_t dpi_dma                      : 1;
4368232812Sjmallett	uint64_t reserved_41_46               : 6;
4369232812Sjmallett	uint64_t ptp                          : 1;
4370232812Sjmallett	uint64_t pem0                         : 1;
4371232812Sjmallett	uint64_t pem1                         : 1;
4372232812Sjmallett	uint64_t reserved_50_51               : 2;
4373232812Sjmallett	uint64_t lmc0                         : 1;
4374232812Sjmallett	uint64_t reserved_53_62               : 10;
4375232812Sjmallett	uint64_t rst                          : 1;
4376232812Sjmallett#endif
4377232812Sjmallett	} cnf71xx;
4378215976Sjmallett};
4379215976Sjmalletttypedef union cvmx_ciu_intx_en1_w1c cvmx_ciu_intx_en1_w1c_t;
4380215976Sjmallett
4381215976Sjmallett/**
4382215976Sjmallett * cvmx_ciu_int#_en1_w1s
4383215976Sjmallett *
4384215976Sjmallett * Notes:
4385232812Sjmallett * Write-1-to-set version of the CIU_INTX_EN1 register, read back corresponding CIU_INTX_EN1 value.
4386215976Sjmallett *
4387215976Sjmallett */
4388232812Sjmallettunion cvmx_ciu_intx_en1_w1s {
4389215976Sjmallett	uint64_t u64;
4390232812Sjmallett	struct cvmx_ciu_intx_en1_w1s_s {
4391232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
4392215976Sjmallett	uint64_t rst                          : 1;  /**< Write 1 to set MIO RST interrupt enable */
4393232812Sjmallett	uint64_t reserved_62_62               : 1;
4394232812Sjmallett	uint64_t srio3                        : 1;  /**< Write 1 to set SRIO3 interrupt enable */
4395232812Sjmallett	uint64_t srio2                        : 1;  /**< Write 1 to set SRIO2 interrupt enable */
4396232812Sjmallett	uint64_t reserved_57_59               : 3;
4397215976Sjmallett	uint64_t dfm                          : 1;  /**< Write 1 to set DFM interrupt enable */
4398215976Sjmallett	uint64_t reserved_53_55               : 3;
4399215976Sjmallett	uint64_t lmc0                         : 1;  /**< Write 1 to set LMC0 interrupt enable */
4400215976Sjmallett	uint64_t srio1                        : 1;  /**< Write 1 to set SRIO1 interrupt enable */
4401215976Sjmallett	uint64_t srio0                        : 1;  /**< Write 1 to set SRIO0 interrupt enable */
4402215976Sjmallett	uint64_t pem1                         : 1;  /**< Write 1 to set PEM1 interrupt enable */
4403215976Sjmallett	uint64_t pem0                         : 1;  /**< Write 1 to set PEM0 interrupt enable */
4404215976Sjmallett	uint64_t ptp                          : 1;  /**< Write 1 to set PTP interrupt enable */
4405215976Sjmallett	uint64_t agl                          : 1;  /**< Write 1 to set AGL interrupt enable */
4406232812Sjmallett	uint64_t reserved_41_45               : 5;
4407232812Sjmallett	uint64_t dpi_dma                      : 1;  /**< Write 1 to set DPI_DMA interrupt enable */
4408232812Sjmallett	uint64_t reserved_38_39               : 2;
4409232812Sjmallett	uint64_t agx1                         : 1;  /**< Write 1 to set GMX1 interrupt enable */
4410215976Sjmallett	uint64_t agx0                         : 1;  /**< Write 1 to set GMX0 interrupt enable */
4411215976Sjmallett	uint64_t dpi                          : 1;  /**< Write 1 to set DPI interrupt enable */
4412215976Sjmallett	uint64_t sli                          : 1;  /**< Write 1 to set SLI interrupt enable */
4413215976Sjmallett	uint64_t usb                          : 1;  /**< Write 1 to set USB UCTL0 interrupt enable */
4414215976Sjmallett	uint64_t dfa                          : 1;  /**< Write 1 to set DFA interrupt enable */
4415215976Sjmallett	uint64_t key                          : 1;  /**< Write 1 to set KEY interrupt enable */
4416215976Sjmallett	uint64_t rad                          : 1;  /**< Write 1 to set RAD interrupt enable */
4417215976Sjmallett	uint64_t tim                          : 1;  /**< Write 1 to set TIM interrupt enable */
4418215976Sjmallett	uint64_t zip                          : 1;  /**< Write 1 to set ZIP interrupt enable */
4419215976Sjmallett	uint64_t pko                          : 1;  /**< Write 1 to set PKO interrupt enable */
4420215976Sjmallett	uint64_t pip                          : 1;  /**< Write 1 to set PIP interrupt enable */
4421215976Sjmallett	uint64_t ipd                          : 1;  /**< Write 1 to set IPD interrupt enable */
4422215976Sjmallett	uint64_t l2c                          : 1;  /**< Write 1 to set L2C interrupt enable */
4423215976Sjmallett	uint64_t pow                          : 1;  /**< Write 1 to set POW err interrupt enable */
4424215976Sjmallett	uint64_t fpa                          : 1;  /**< Write 1 to set FPA interrupt enable */
4425215976Sjmallett	uint64_t iob                          : 1;  /**< Write 1 to set IOB interrupt enable */
4426215976Sjmallett	uint64_t mio                          : 1;  /**< Write 1 to set MIO boot interrupt enable */
4427232812Sjmallett	uint64_t nand                         : 1;  /**< Write 1 to set EMMC Flash Controller interrupt
4428215976Sjmallett                                                         enable */
4429215976Sjmallett	uint64_t mii1                         : 1;  /**< Write 1 to set RGMII/MII/MIX Interface 1 Interrupt
4430215976Sjmallett                                                         enable */
4431215976Sjmallett	uint64_t usb1                         : 1;  /**< Second USB Interrupt */
4432215976Sjmallett	uint64_t uart2                        : 1;  /**< Third UART interrupt */
4433215976Sjmallett	uint64_t wdog                         : 16; /**< Write 1s to set Watchdog summary interrupt enable */
4434215976Sjmallett#else
4435215976Sjmallett	uint64_t wdog                         : 16;
4436215976Sjmallett	uint64_t uart2                        : 1;
4437215976Sjmallett	uint64_t usb1                         : 1;
4438215976Sjmallett	uint64_t mii1                         : 1;
4439215976Sjmallett	uint64_t nand                         : 1;
4440215976Sjmallett	uint64_t mio                          : 1;
4441215976Sjmallett	uint64_t iob                          : 1;
4442215976Sjmallett	uint64_t fpa                          : 1;
4443215976Sjmallett	uint64_t pow                          : 1;
4444215976Sjmallett	uint64_t l2c                          : 1;
4445215976Sjmallett	uint64_t ipd                          : 1;
4446215976Sjmallett	uint64_t pip                          : 1;
4447215976Sjmallett	uint64_t pko                          : 1;
4448215976Sjmallett	uint64_t zip                          : 1;
4449215976Sjmallett	uint64_t tim                          : 1;
4450215976Sjmallett	uint64_t rad                          : 1;
4451215976Sjmallett	uint64_t key                          : 1;
4452215976Sjmallett	uint64_t dfa                          : 1;
4453215976Sjmallett	uint64_t usb                          : 1;
4454215976Sjmallett	uint64_t sli                          : 1;
4455215976Sjmallett	uint64_t dpi                          : 1;
4456215976Sjmallett	uint64_t agx0                         : 1;
4457232812Sjmallett	uint64_t agx1                         : 1;
4458232812Sjmallett	uint64_t reserved_38_39               : 2;
4459232812Sjmallett	uint64_t dpi_dma                      : 1;
4460232812Sjmallett	uint64_t reserved_41_45               : 5;
4461215976Sjmallett	uint64_t agl                          : 1;
4462215976Sjmallett	uint64_t ptp                          : 1;
4463215976Sjmallett	uint64_t pem0                         : 1;
4464215976Sjmallett	uint64_t pem1                         : 1;
4465215976Sjmallett	uint64_t srio0                        : 1;
4466215976Sjmallett	uint64_t srio1                        : 1;
4467215976Sjmallett	uint64_t lmc0                         : 1;
4468215976Sjmallett	uint64_t reserved_53_55               : 3;
4469215976Sjmallett	uint64_t dfm                          : 1;
4470232812Sjmallett	uint64_t reserved_57_59               : 3;
4471232812Sjmallett	uint64_t srio2                        : 1;
4472232812Sjmallett	uint64_t srio3                        : 1;
4473232812Sjmallett	uint64_t reserved_62_62               : 1;
4474215976Sjmallett	uint64_t rst                          : 1;
4475215976Sjmallett#endif
4476215976Sjmallett	} s;
4477232812Sjmallett	struct cvmx_ciu_intx_en1_w1s_cn52xx {
4478232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
4479215976Sjmallett	uint64_t reserved_20_63               : 44;
4480215976Sjmallett	uint64_t nand                         : 1;  /**< NAND Flash Controller */
4481215976Sjmallett	uint64_t mii1                         : 1;  /**< Second MII Interrupt */
4482215976Sjmallett	uint64_t usb1                         : 1;  /**< Second USB Interrupt */
4483215976Sjmallett	uint64_t uart2                        : 1;  /**< Third UART interrupt */
4484215976Sjmallett	uint64_t reserved_4_15                : 12;
4485215976Sjmallett	uint64_t wdog                         : 4;  /**< Watchdog summary interrupt enable vector */
4486215976Sjmallett#else
4487215976Sjmallett	uint64_t wdog                         : 4;
4488215976Sjmallett	uint64_t reserved_4_15                : 12;
4489215976Sjmallett	uint64_t uart2                        : 1;
4490215976Sjmallett	uint64_t usb1                         : 1;
4491215976Sjmallett	uint64_t mii1                         : 1;
4492215976Sjmallett	uint64_t nand                         : 1;
4493215976Sjmallett	uint64_t reserved_20_63               : 44;
4494215976Sjmallett#endif
4495215976Sjmallett	} cn52xx;
4496232812Sjmallett	struct cvmx_ciu_intx_en1_w1s_cn56xx {
4497232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
4498215976Sjmallett	uint64_t reserved_12_63               : 52;
4499215976Sjmallett	uint64_t wdog                         : 12; /**< Watchdog summary interrupt enable vectory */
4500215976Sjmallett#else
4501215976Sjmallett	uint64_t wdog                         : 12;
4502215976Sjmallett	uint64_t reserved_12_63               : 52;
4503215976Sjmallett#endif
4504215976Sjmallett	} cn56xx;
4505232812Sjmallett	struct cvmx_ciu_intx_en1_w1s_cn58xx {
4506232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
4507215976Sjmallett	uint64_t reserved_16_63               : 48;
4508215976Sjmallett	uint64_t wdog                         : 16; /**< Watchdog summary interrupt enable vectory */
4509215976Sjmallett#else
4510215976Sjmallett	uint64_t wdog                         : 16;
4511215976Sjmallett	uint64_t reserved_16_63               : 48;
4512215976Sjmallett#endif
4513215976Sjmallett	} cn58xx;
4514232812Sjmallett	struct cvmx_ciu_intx_en1_w1s_cn61xx {
4515232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
4516215976Sjmallett	uint64_t rst                          : 1;  /**< Write 1 to set MIO RST interrupt enable */
4517232812Sjmallett	uint64_t reserved_53_62               : 10;
4518232812Sjmallett	uint64_t lmc0                         : 1;  /**< Write 1 to set LMC0 interrupt enable */
4519232812Sjmallett	uint64_t reserved_50_51               : 2;
4520232812Sjmallett	uint64_t pem1                         : 1;  /**< Write 1 to set PEM1 interrupt enable */
4521232812Sjmallett	uint64_t pem0                         : 1;  /**< Write 1 to set PEM0 interrupt enable */
4522232812Sjmallett	uint64_t ptp                          : 1;  /**< Write 1 to set PTP interrupt enable */
4523232812Sjmallett	uint64_t agl                          : 1;  /**< Write 1 to set AGL interrupt enable */
4524232812Sjmallett	uint64_t reserved_41_45               : 5;
4525232812Sjmallett	uint64_t dpi_dma                      : 1;  /**< Write 1 to set DPI_DMA interrupt enable */
4526232812Sjmallett	uint64_t reserved_38_39               : 2;
4527232812Sjmallett	uint64_t agx1                         : 1;  /**< Write 1 to set GMX1 interrupt enable */
4528232812Sjmallett	uint64_t agx0                         : 1;  /**< Write 1 to set GMX0 interrupt enable */
4529232812Sjmallett	uint64_t dpi                          : 1;  /**< Write 1 to set DPI interrupt enable */
4530232812Sjmallett	uint64_t sli                          : 1;  /**< Write 1 to set SLI interrupt enable */
4531232812Sjmallett	uint64_t usb                          : 1;  /**< Write 1 to set USB UCTL0 interrupt enable */
4532232812Sjmallett	uint64_t dfa                          : 1;  /**< Write 1 to set DFA interrupt enable */
4533232812Sjmallett	uint64_t key                          : 1;  /**< Write 1 to set KEY interrupt enable */
4534232812Sjmallett	uint64_t rad                          : 1;  /**< Write 1 to set RAD interrupt enable */
4535232812Sjmallett	uint64_t tim                          : 1;  /**< Write 1 to set TIM interrupt enable */
4536232812Sjmallett	uint64_t zip                          : 1;  /**< Write 1 to set ZIP interrupt enable */
4537232812Sjmallett	uint64_t pko                          : 1;  /**< Write 1 to set PKO interrupt enable */
4538232812Sjmallett	uint64_t pip                          : 1;  /**< Write 1 to set PIP interrupt enable */
4539232812Sjmallett	uint64_t ipd                          : 1;  /**< Write 1 to set IPD interrupt enable */
4540232812Sjmallett	uint64_t l2c                          : 1;  /**< Write 1 to set L2C interrupt enable */
4541232812Sjmallett	uint64_t pow                          : 1;  /**< Write 1 to set POW err interrupt enable */
4542232812Sjmallett	uint64_t fpa                          : 1;  /**< Write 1 to set FPA interrupt enable */
4543232812Sjmallett	uint64_t iob                          : 1;  /**< Write 1 to set IOB interrupt enable */
4544232812Sjmallett	uint64_t mio                          : 1;  /**< Write 1 to set MIO boot interrupt enable */
4545232812Sjmallett	uint64_t nand                         : 1;  /**< Write 1 to set EMMC Flash Controller interrupt
4546232812Sjmallett                                                         enable */
4547232812Sjmallett	uint64_t mii1                         : 1;  /**< Write 1 to set RGMII/MIX Interface 1 Interrupt
4548232812Sjmallett                                                         enable */
4549232812Sjmallett	uint64_t reserved_4_17                : 14;
4550232812Sjmallett	uint64_t wdog                         : 4;  /**< Write 1s to set Watchdog summary interrupt enable */
4551232812Sjmallett#else
4552232812Sjmallett	uint64_t wdog                         : 4;
4553232812Sjmallett	uint64_t reserved_4_17                : 14;
4554232812Sjmallett	uint64_t mii1                         : 1;
4555232812Sjmallett	uint64_t nand                         : 1;
4556232812Sjmallett	uint64_t mio                          : 1;
4557232812Sjmallett	uint64_t iob                          : 1;
4558232812Sjmallett	uint64_t fpa                          : 1;
4559232812Sjmallett	uint64_t pow                          : 1;
4560232812Sjmallett	uint64_t l2c                          : 1;
4561232812Sjmallett	uint64_t ipd                          : 1;
4562232812Sjmallett	uint64_t pip                          : 1;
4563232812Sjmallett	uint64_t pko                          : 1;
4564232812Sjmallett	uint64_t zip                          : 1;
4565232812Sjmallett	uint64_t tim                          : 1;
4566232812Sjmallett	uint64_t rad                          : 1;
4567232812Sjmallett	uint64_t key                          : 1;
4568232812Sjmallett	uint64_t dfa                          : 1;
4569232812Sjmallett	uint64_t usb                          : 1;
4570232812Sjmallett	uint64_t sli                          : 1;
4571232812Sjmallett	uint64_t dpi                          : 1;
4572232812Sjmallett	uint64_t agx0                         : 1;
4573232812Sjmallett	uint64_t agx1                         : 1;
4574232812Sjmallett	uint64_t reserved_38_39               : 2;
4575232812Sjmallett	uint64_t dpi_dma                      : 1;
4576232812Sjmallett	uint64_t reserved_41_45               : 5;
4577232812Sjmallett	uint64_t agl                          : 1;
4578232812Sjmallett	uint64_t ptp                          : 1;
4579232812Sjmallett	uint64_t pem0                         : 1;
4580232812Sjmallett	uint64_t pem1                         : 1;
4581232812Sjmallett	uint64_t reserved_50_51               : 2;
4582232812Sjmallett	uint64_t lmc0                         : 1;
4583232812Sjmallett	uint64_t reserved_53_62               : 10;
4584232812Sjmallett	uint64_t rst                          : 1;
4585232812Sjmallett#endif
4586232812Sjmallett	} cn61xx;
4587232812Sjmallett	struct cvmx_ciu_intx_en1_w1s_cn63xx {
4588232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
4589232812Sjmallett	uint64_t rst                          : 1;  /**< Write 1 to set MIO RST interrupt enable */
4590215976Sjmallett	uint64_t reserved_57_62               : 6;
4591215976Sjmallett	uint64_t dfm                          : 1;  /**< Write 1 to set DFM interrupt enable */
4592215976Sjmallett	uint64_t reserved_53_55               : 3;
4593215976Sjmallett	uint64_t lmc0                         : 1;  /**< Write 1 to set LMC0 interrupt enable */
4594215976Sjmallett	uint64_t srio1                        : 1;  /**< Write 1 to set SRIO1 interrupt enable */
4595215976Sjmallett	uint64_t srio0                        : 1;  /**< Write 1 to set SRIO0 interrupt enable */
4596215976Sjmallett	uint64_t pem1                         : 1;  /**< Write 1 to set PEM1 interrupt enable */
4597215976Sjmallett	uint64_t pem0                         : 1;  /**< Write 1 to set PEM0 interrupt enable */
4598215976Sjmallett	uint64_t ptp                          : 1;  /**< Write 1 to set PTP interrupt enable */
4599215976Sjmallett	uint64_t agl                          : 1;  /**< Write 1 to set AGL interrupt enable */
4600215976Sjmallett	uint64_t reserved_37_45               : 9;
4601215976Sjmallett	uint64_t agx0                         : 1;  /**< Write 1 to set GMX0 interrupt enable */
4602215976Sjmallett	uint64_t dpi                          : 1;  /**< Write 1 to set DPI interrupt enable */
4603215976Sjmallett	uint64_t sli                          : 1;  /**< Write 1 to set SLI interrupt enable */
4604215976Sjmallett	uint64_t usb                          : 1;  /**< Write 1 to set USB UCTL0 interrupt enable */
4605215976Sjmallett	uint64_t dfa                          : 1;  /**< Write 1 to set DFA interrupt enable */
4606215976Sjmallett	uint64_t key                          : 1;  /**< Write 1 to set KEY interrupt enable */
4607215976Sjmallett	uint64_t rad                          : 1;  /**< Write 1 to set RAD interrupt enable */
4608215976Sjmallett	uint64_t tim                          : 1;  /**< Write 1 to set TIM interrupt enable */
4609215976Sjmallett	uint64_t zip                          : 1;  /**< Write 1 to set ZIP interrupt enable */
4610215976Sjmallett	uint64_t pko                          : 1;  /**< Write 1 to set PKO interrupt enable */
4611215976Sjmallett	uint64_t pip                          : 1;  /**< Write 1 to set PIP interrupt enable */
4612215976Sjmallett	uint64_t ipd                          : 1;  /**< Write 1 to set IPD interrupt enable */
4613215976Sjmallett	uint64_t l2c                          : 1;  /**< Write 1 to set L2C interrupt enable */
4614215976Sjmallett	uint64_t pow                          : 1;  /**< Write 1 to set POW err interrupt enable */
4615215976Sjmallett	uint64_t fpa                          : 1;  /**< Write 1 to set FPA interrupt enable */
4616215976Sjmallett	uint64_t iob                          : 1;  /**< Write 1 to set IOB interrupt enable */
4617215976Sjmallett	uint64_t mio                          : 1;  /**< Write 1 to set MIO boot interrupt enable */
4618215976Sjmallett	uint64_t nand                         : 1;  /**< Write 1 to set NAND Flash Controller interrupt
4619215976Sjmallett                                                         enable */
4620215976Sjmallett	uint64_t mii1                         : 1;  /**< Write 1 to set RGMII/MII/MIX Interface 1 Interrupt
4621215976Sjmallett                                                         enable */
4622215976Sjmallett	uint64_t reserved_6_17                : 12;
4623215976Sjmallett	uint64_t wdog                         : 6;  /**< Write 1s to set Watchdog summary interrupt enable */
4624215976Sjmallett#else
4625215976Sjmallett	uint64_t wdog                         : 6;
4626215976Sjmallett	uint64_t reserved_6_17                : 12;
4627215976Sjmallett	uint64_t mii1                         : 1;
4628215976Sjmallett	uint64_t nand                         : 1;
4629215976Sjmallett	uint64_t mio                          : 1;
4630215976Sjmallett	uint64_t iob                          : 1;
4631215976Sjmallett	uint64_t fpa                          : 1;
4632215976Sjmallett	uint64_t pow                          : 1;
4633215976Sjmallett	uint64_t l2c                          : 1;
4634215976Sjmallett	uint64_t ipd                          : 1;
4635215976Sjmallett	uint64_t pip                          : 1;
4636215976Sjmallett	uint64_t pko                          : 1;
4637215976Sjmallett	uint64_t zip                          : 1;
4638215976Sjmallett	uint64_t tim                          : 1;
4639215976Sjmallett	uint64_t rad                          : 1;
4640215976Sjmallett	uint64_t key                          : 1;
4641215976Sjmallett	uint64_t dfa                          : 1;
4642215976Sjmallett	uint64_t usb                          : 1;
4643215976Sjmallett	uint64_t sli                          : 1;
4644215976Sjmallett	uint64_t dpi                          : 1;
4645215976Sjmallett	uint64_t agx0                         : 1;
4646215976Sjmallett	uint64_t reserved_37_45               : 9;
4647215976Sjmallett	uint64_t agl                          : 1;
4648215976Sjmallett	uint64_t ptp                          : 1;
4649215976Sjmallett	uint64_t pem0                         : 1;
4650215976Sjmallett	uint64_t pem1                         : 1;
4651215976Sjmallett	uint64_t srio0                        : 1;
4652215976Sjmallett	uint64_t srio1                        : 1;
4653215976Sjmallett	uint64_t lmc0                         : 1;
4654215976Sjmallett	uint64_t reserved_53_55               : 3;
4655215976Sjmallett	uint64_t dfm                          : 1;
4656215976Sjmallett	uint64_t reserved_57_62               : 6;
4657215976Sjmallett	uint64_t rst                          : 1;
4658215976Sjmallett#endif
4659215976Sjmallett	} cn63xx;
4660215976Sjmallett	struct cvmx_ciu_intx_en1_w1s_cn63xx   cn63xxp1;
4661232812Sjmallett	struct cvmx_ciu_intx_en1_w1s_cn66xx {
4662232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
4663232812Sjmallett	uint64_t rst                          : 1;  /**< Write 1 to set MIO RST interrupt enable */
4664232812Sjmallett	uint64_t reserved_62_62               : 1;
4665232812Sjmallett	uint64_t srio3                        : 1;  /**< Write 1 to set SRIO3 interrupt enable */
4666232812Sjmallett	uint64_t srio2                        : 1;  /**< Write 1 to set SRIO2 interrupt enable */
4667232812Sjmallett	uint64_t reserved_57_59               : 3;
4668232812Sjmallett	uint64_t dfm                          : 1;  /**< Write 1 to set DFM interrupt enable */
4669232812Sjmallett	uint64_t reserved_53_55               : 3;
4670232812Sjmallett	uint64_t lmc0                         : 1;  /**< Write 1 to set LMC0 interrupt enable */
4671232812Sjmallett	uint64_t reserved_51_51               : 1;
4672232812Sjmallett	uint64_t srio0                        : 1;  /**< Write 1 to set SRIO0 interrupt enable */
4673232812Sjmallett	uint64_t pem1                         : 1;  /**< Write 1 to set PEM1 interrupt enable */
4674232812Sjmallett	uint64_t pem0                         : 1;  /**< Write 1 to set PEM0 interrupt enable */
4675232812Sjmallett	uint64_t ptp                          : 1;  /**< Write 1 to set PTP interrupt enable */
4676232812Sjmallett	uint64_t agl                          : 1;  /**< Write 1 to set AGL interrupt enable */
4677232812Sjmallett	uint64_t reserved_38_45               : 8;
4678232812Sjmallett	uint64_t agx1                         : 1;  /**< Write 1 to set GMX1 interrupt enable */
4679232812Sjmallett	uint64_t agx0                         : 1;  /**< Write 1 to set GMX0 interrupt enable */
4680232812Sjmallett	uint64_t dpi                          : 1;  /**< Write 1 to set DPI interrupt enable */
4681232812Sjmallett	uint64_t sli                          : 1;  /**< Write 1 to set SLI interrupt enable */
4682232812Sjmallett	uint64_t usb                          : 1;  /**< Write 1 to set USB UCTL0 interrupt enable */
4683232812Sjmallett	uint64_t dfa                          : 1;  /**< Write 1 to set DFA interrupt enable */
4684232812Sjmallett	uint64_t key                          : 1;  /**< Write 1 to set KEY interrupt enable */
4685232812Sjmallett	uint64_t rad                          : 1;  /**< Write 1 to set RAD interrupt enable */
4686232812Sjmallett	uint64_t tim                          : 1;  /**< Write 1 to set TIM interrupt enable */
4687232812Sjmallett	uint64_t zip                          : 1;  /**< Write 1 to set ZIP interrupt enable */
4688232812Sjmallett	uint64_t pko                          : 1;  /**< Write 1 to set PKO interrupt enable */
4689232812Sjmallett	uint64_t pip                          : 1;  /**< Write 1 to set PIP interrupt enable */
4690232812Sjmallett	uint64_t ipd                          : 1;  /**< Write 1 to set IPD interrupt enable */
4691232812Sjmallett	uint64_t l2c                          : 1;  /**< Write 1 to set L2C interrupt enable */
4692232812Sjmallett	uint64_t pow                          : 1;  /**< Write 1 to set POW err interrupt enable */
4693232812Sjmallett	uint64_t fpa                          : 1;  /**< Write 1 to set FPA interrupt enable */
4694232812Sjmallett	uint64_t iob                          : 1;  /**< Write 1 to set IOB interrupt enable */
4695232812Sjmallett	uint64_t mio                          : 1;  /**< Write 1 to set MIO boot interrupt enable */
4696232812Sjmallett	uint64_t nand                         : 1;  /**< Write 1 to set NAND Flash Controller interrupt
4697232812Sjmallett                                                         enable */
4698232812Sjmallett	uint64_t mii1                         : 1;  /**< Write 1 to set RGMII/MII/MIX Interface 1 Interrupt
4699232812Sjmallett                                                         enable */
4700232812Sjmallett	uint64_t reserved_10_17               : 8;
4701232812Sjmallett	uint64_t wdog                         : 10; /**< Write 1s to set Watchdog summary interrupt enable */
4702232812Sjmallett#else
4703232812Sjmallett	uint64_t wdog                         : 10;
4704232812Sjmallett	uint64_t reserved_10_17               : 8;
4705232812Sjmallett	uint64_t mii1                         : 1;
4706232812Sjmallett	uint64_t nand                         : 1;
4707232812Sjmallett	uint64_t mio                          : 1;
4708232812Sjmallett	uint64_t iob                          : 1;
4709232812Sjmallett	uint64_t fpa                          : 1;
4710232812Sjmallett	uint64_t pow                          : 1;
4711232812Sjmallett	uint64_t l2c                          : 1;
4712232812Sjmallett	uint64_t ipd                          : 1;
4713232812Sjmallett	uint64_t pip                          : 1;
4714232812Sjmallett	uint64_t pko                          : 1;
4715232812Sjmallett	uint64_t zip                          : 1;
4716232812Sjmallett	uint64_t tim                          : 1;
4717232812Sjmallett	uint64_t rad                          : 1;
4718232812Sjmallett	uint64_t key                          : 1;
4719232812Sjmallett	uint64_t dfa                          : 1;
4720232812Sjmallett	uint64_t usb                          : 1;
4721232812Sjmallett	uint64_t sli                          : 1;
4722232812Sjmallett	uint64_t dpi                          : 1;
4723232812Sjmallett	uint64_t agx0                         : 1;
4724232812Sjmallett	uint64_t agx1                         : 1;
4725232812Sjmallett	uint64_t reserved_38_45               : 8;
4726232812Sjmallett	uint64_t agl                          : 1;
4727232812Sjmallett	uint64_t ptp                          : 1;
4728232812Sjmallett	uint64_t pem0                         : 1;
4729232812Sjmallett	uint64_t pem1                         : 1;
4730232812Sjmallett	uint64_t srio0                        : 1;
4731232812Sjmallett	uint64_t reserved_51_51               : 1;
4732232812Sjmallett	uint64_t lmc0                         : 1;
4733232812Sjmallett	uint64_t reserved_53_55               : 3;
4734232812Sjmallett	uint64_t dfm                          : 1;
4735232812Sjmallett	uint64_t reserved_57_59               : 3;
4736232812Sjmallett	uint64_t srio2                        : 1;
4737232812Sjmallett	uint64_t srio3                        : 1;
4738232812Sjmallett	uint64_t reserved_62_62               : 1;
4739232812Sjmallett	uint64_t rst                          : 1;
4740232812Sjmallett#endif
4741232812Sjmallett	} cn66xx;
4742232812Sjmallett	struct cvmx_ciu_intx_en1_w1s_cnf71xx {
4743232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
4744232812Sjmallett	uint64_t rst                          : 1;  /**< Write 1 to set MIO RST interrupt enable */
4745232812Sjmallett	uint64_t reserved_53_62               : 10;
4746232812Sjmallett	uint64_t lmc0                         : 1;  /**< Write 1 to set LMC0 interrupt enable */
4747232812Sjmallett	uint64_t reserved_50_51               : 2;
4748232812Sjmallett	uint64_t pem1                         : 1;  /**< Write 1 to set PEM1 interrupt enable */
4749232812Sjmallett	uint64_t pem0                         : 1;  /**< Write 1 to set PEM0 interrupt enable */
4750232812Sjmallett	uint64_t ptp                          : 1;  /**< Write 1 to set PTP interrupt enable */
4751232812Sjmallett	uint64_t reserved_41_46               : 6;
4752232812Sjmallett	uint64_t dpi_dma                      : 1;  /**< Write 1 to set DPI_DMA interrupt enable */
4753232812Sjmallett	uint64_t reserved_37_39               : 3;
4754232812Sjmallett	uint64_t agx0                         : 1;  /**< Write 1 to set GMX0 interrupt enable */
4755232812Sjmallett	uint64_t dpi                          : 1;  /**< Write 1 to set DPI interrupt enable */
4756232812Sjmallett	uint64_t sli                          : 1;  /**< Write 1 to set SLI interrupt enable */
4757232812Sjmallett	uint64_t usb                          : 1;  /**< Write 1 to set USB UCTL0 interrupt enable */
4758232812Sjmallett	uint64_t reserved_32_32               : 1;
4759232812Sjmallett	uint64_t key                          : 1;  /**< Write 1 to set KEY interrupt enable */
4760232812Sjmallett	uint64_t rad                          : 1;  /**< Write 1 to set RAD interrupt enable */
4761232812Sjmallett	uint64_t tim                          : 1;  /**< Write 1 to set TIM interrupt enable */
4762232812Sjmallett	uint64_t reserved_28_28               : 1;
4763232812Sjmallett	uint64_t pko                          : 1;  /**< Write 1 to set PKO interrupt enable */
4764232812Sjmallett	uint64_t pip                          : 1;  /**< Write 1 to set PIP interrupt enable */
4765232812Sjmallett	uint64_t ipd                          : 1;  /**< Write 1 to set IPD interrupt enable */
4766232812Sjmallett	uint64_t l2c                          : 1;  /**< Write 1 to set L2C interrupt enable */
4767232812Sjmallett	uint64_t pow                          : 1;  /**< Write 1 to set POW err interrupt enable */
4768232812Sjmallett	uint64_t fpa                          : 1;  /**< Write 1 to set FPA interrupt enable */
4769232812Sjmallett	uint64_t iob                          : 1;  /**< Write 1 to set IOB interrupt enable */
4770232812Sjmallett	uint64_t mio                          : 1;  /**< Write 1 to set MIO boot interrupt enable */
4771232812Sjmallett	uint64_t nand                         : 1;  /**< Write 1 to set EMMC Flash Controller interrupt
4772232812Sjmallett                                                         enable */
4773232812Sjmallett	uint64_t reserved_4_18                : 15;
4774232812Sjmallett	uint64_t wdog                         : 4;  /**< Write 1s to set Watchdog summary interrupt enable */
4775232812Sjmallett#else
4776232812Sjmallett	uint64_t wdog                         : 4;
4777232812Sjmallett	uint64_t reserved_4_18                : 15;
4778232812Sjmallett	uint64_t nand                         : 1;
4779232812Sjmallett	uint64_t mio                          : 1;
4780232812Sjmallett	uint64_t iob                          : 1;
4781232812Sjmallett	uint64_t fpa                          : 1;
4782232812Sjmallett	uint64_t pow                          : 1;
4783232812Sjmallett	uint64_t l2c                          : 1;
4784232812Sjmallett	uint64_t ipd                          : 1;
4785232812Sjmallett	uint64_t pip                          : 1;
4786232812Sjmallett	uint64_t pko                          : 1;
4787232812Sjmallett	uint64_t reserved_28_28               : 1;
4788232812Sjmallett	uint64_t tim                          : 1;
4789232812Sjmallett	uint64_t rad                          : 1;
4790232812Sjmallett	uint64_t key                          : 1;
4791232812Sjmallett	uint64_t reserved_32_32               : 1;
4792232812Sjmallett	uint64_t usb                          : 1;
4793232812Sjmallett	uint64_t sli                          : 1;
4794232812Sjmallett	uint64_t dpi                          : 1;
4795232812Sjmallett	uint64_t agx0                         : 1;
4796232812Sjmallett	uint64_t reserved_37_39               : 3;
4797232812Sjmallett	uint64_t dpi_dma                      : 1;
4798232812Sjmallett	uint64_t reserved_41_46               : 6;
4799232812Sjmallett	uint64_t ptp                          : 1;
4800232812Sjmallett	uint64_t pem0                         : 1;
4801232812Sjmallett	uint64_t pem1                         : 1;
4802232812Sjmallett	uint64_t reserved_50_51               : 2;
4803232812Sjmallett	uint64_t lmc0                         : 1;
4804232812Sjmallett	uint64_t reserved_53_62               : 10;
4805232812Sjmallett	uint64_t rst                          : 1;
4806232812Sjmallett#endif
4807232812Sjmallett	} cnf71xx;
4808215976Sjmallett};
4809215976Sjmalletttypedef union cvmx_ciu_intx_en1_w1s cvmx_ciu_intx_en1_w1s_t;
4810215976Sjmallett
4811215976Sjmallett/**
4812215976Sjmallett * cvmx_ciu_int#_en4_0
4813215976Sjmallett *
4814215976Sjmallett * Notes:
4815215976Sjmallett * CIU_INT0_EN4_0:   PP0  /IP4
4816215976Sjmallett * CIU_INT1_EN4_0:   PP1  /IP4
4817215976Sjmallett * ...
4818232812Sjmallett * CIU_INT3_EN4_0:   PP3  /IP4
4819215976Sjmallett */
4820232812Sjmallettunion cvmx_ciu_intx_en4_0 {
4821215976Sjmallett	uint64_t u64;
4822232812Sjmallett	struct cvmx_ciu_intx_en4_0_s {
4823232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
4824215976Sjmallett	uint64_t bootdma                      : 1;  /**< Boot bus DMA engines Interrupt enable */
4825215976Sjmallett	uint64_t mii                          : 1;  /**< RGMII/MII/MIX Interface 0 Interrupt enable */
4826215976Sjmallett	uint64_t ipdppthr                     : 1;  /**< IPD per-port counter threshold interrupt enable */
4827215976Sjmallett	uint64_t powiq                        : 1;  /**< POW IQ interrupt enable */
4828215976Sjmallett	uint64_t twsi2                        : 1;  /**< 2nd TWSI Interrupt enable */
4829232812Sjmallett	uint64_t mpi                          : 1;  /**< MPI/SPI interrupt enable */
4830232812Sjmallett	uint64_t pcm                          : 1;  /**< PCM/TDM interrupt enable */
4831215976Sjmallett	uint64_t usb                          : 1;  /**< USB EHCI or OHCI Interrupt enable */
4832215976Sjmallett	uint64_t timer                        : 4;  /**< General timer interrupt enables */
4833215976Sjmallett	uint64_t key_zero                     : 1;  /**< Key Zeroization interrupt */
4834215976Sjmallett	uint64_t ipd_drp                      : 1;  /**< IPD QOS packet drop interrupt enable */
4835215976Sjmallett	uint64_t gmx_drp                      : 2;  /**< GMX packet drop interrupt enable */
4836215976Sjmallett	uint64_t trace                        : 1;  /**< Trace buffer interrupt enable */
4837215976Sjmallett	uint64_t rml                          : 1;  /**< RML Interrupt enable */
4838215976Sjmallett	uint64_t twsi                         : 1;  /**< TWSI Interrupt enable */
4839215976Sjmallett	uint64_t reserved_44_44               : 1;
4840232812Sjmallett	uint64_t pci_msi                      : 4;  /**< PCIe MSI enables */
4841215976Sjmallett	uint64_t pci_int                      : 4;  /**< PCIe INTA/B/C/D enables */
4842215976Sjmallett	uint64_t uart                         : 2;  /**< Two UART interrupt enables */
4843215976Sjmallett	uint64_t mbox                         : 2;  /**< Two mailbox interrupt enables */
4844215976Sjmallett	uint64_t gpio                         : 16; /**< 16 GPIO interrupt enables */
4845215976Sjmallett	uint64_t workq                        : 16; /**< 16 work queue interrupt enables */
4846215976Sjmallett#else
4847215976Sjmallett	uint64_t workq                        : 16;
4848215976Sjmallett	uint64_t gpio                         : 16;
4849215976Sjmallett	uint64_t mbox                         : 2;
4850215976Sjmallett	uint64_t uart                         : 2;
4851215976Sjmallett	uint64_t pci_int                      : 4;
4852215976Sjmallett	uint64_t pci_msi                      : 4;
4853215976Sjmallett	uint64_t reserved_44_44               : 1;
4854215976Sjmallett	uint64_t twsi                         : 1;
4855215976Sjmallett	uint64_t rml                          : 1;
4856215976Sjmallett	uint64_t trace                        : 1;
4857215976Sjmallett	uint64_t gmx_drp                      : 2;
4858215976Sjmallett	uint64_t ipd_drp                      : 1;
4859215976Sjmallett	uint64_t key_zero                     : 1;
4860215976Sjmallett	uint64_t timer                        : 4;
4861215976Sjmallett	uint64_t usb                          : 1;
4862215976Sjmallett	uint64_t pcm                          : 1;
4863215976Sjmallett	uint64_t mpi                          : 1;
4864215976Sjmallett	uint64_t twsi2                        : 1;
4865215976Sjmallett	uint64_t powiq                        : 1;
4866215976Sjmallett	uint64_t ipdppthr                     : 1;
4867215976Sjmallett	uint64_t mii                          : 1;
4868215976Sjmallett	uint64_t bootdma                      : 1;
4869215976Sjmallett#endif
4870215976Sjmallett	} s;
4871232812Sjmallett	struct cvmx_ciu_intx_en4_0_cn50xx {
4872232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
4873215976Sjmallett	uint64_t reserved_59_63               : 5;
4874215976Sjmallett	uint64_t mpi                          : 1;  /**< MPI/SPI interrupt */
4875215976Sjmallett	uint64_t pcm                          : 1;  /**< PCM/TDM interrupt */
4876215976Sjmallett	uint64_t usb                          : 1;  /**< USB interrupt */
4877215976Sjmallett	uint64_t timer                        : 4;  /**< General timer interrupts */
4878215976Sjmallett	uint64_t reserved_51_51               : 1;
4879215976Sjmallett	uint64_t ipd_drp                      : 1;  /**< IPD QOS packet drop */
4880215976Sjmallett	uint64_t reserved_49_49               : 1;
4881215976Sjmallett	uint64_t gmx_drp                      : 1;  /**< GMX packet drop */
4882215976Sjmallett	uint64_t reserved_47_47               : 1;
4883215976Sjmallett	uint64_t rml                          : 1;  /**< RML Interrupt */
4884215976Sjmallett	uint64_t twsi                         : 1;  /**< TWSI Interrupt */
4885215976Sjmallett	uint64_t reserved_44_44               : 1;
4886215976Sjmallett	uint64_t pci_msi                      : 4;  /**< PCI MSI */
4887215976Sjmallett	uint64_t pci_int                      : 4;  /**< PCI INTA/B/C/D */
4888215976Sjmallett	uint64_t uart                         : 2;  /**< Two UART interrupts */
4889215976Sjmallett	uint64_t mbox                         : 2;  /**< Two mailbox/PCI interrupts */
4890215976Sjmallett	uint64_t gpio                         : 16; /**< 16 GPIO interrupts */
4891215976Sjmallett	uint64_t workq                        : 16; /**< 16 work queue interrupts */
4892215976Sjmallett#else
4893215976Sjmallett	uint64_t workq                        : 16;
4894215976Sjmallett	uint64_t gpio                         : 16;
4895215976Sjmallett	uint64_t mbox                         : 2;
4896215976Sjmallett	uint64_t uart                         : 2;
4897215976Sjmallett	uint64_t pci_int                      : 4;
4898215976Sjmallett	uint64_t pci_msi                      : 4;
4899215976Sjmallett	uint64_t reserved_44_44               : 1;
4900215976Sjmallett	uint64_t twsi                         : 1;
4901215976Sjmallett	uint64_t rml                          : 1;
4902215976Sjmallett	uint64_t reserved_47_47               : 1;
4903215976Sjmallett	uint64_t gmx_drp                      : 1;
4904215976Sjmallett	uint64_t reserved_49_49               : 1;
4905215976Sjmallett	uint64_t ipd_drp                      : 1;
4906215976Sjmallett	uint64_t reserved_51_51               : 1;
4907215976Sjmallett	uint64_t timer                        : 4;
4908215976Sjmallett	uint64_t usb                          : 1;
4909215976Sjmallett	uint64_t pcm                          : 1;
4910215976Sjmallett	uint64_t mpi                          : 1;
4911215976Sjmallett	uint64_t reserved_59_63               : 5;
4912215976Sjmallett#endif
4913215976Sjmallett	} cn50xx;
4914232812Sjmallett	struct cvmx_ciu_intx_en4_0_cn52xx {
4915232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
4916215976Sjmallett	uint64_t bootdma                      : 1;  /**< Boot bus DMA engines Interrupt */
4917215976Sjmallett	uint64_t mii                          : 1;  /**< MII Interface Interrupt */
4918215976Sjmallett	uint64_t ipdppthr                     : 1;  /**< IPD per-port counter threshold interrupt */
4919215976Sjmallett	uint64_t powiq                        : 1;  /**< POW IQ interrupt */
4920215976Sjmallett	uint64_t twsi2                        : 1;  /**< 2nd TWSI Interrupt */
4921215976Sjmallett	uint64_t reserved_57_58               : 2;
4922215976Sjmallett	uint64_t usb                          : 1;  /**< USB Interrupt */
4923215976Sjmallett	uint64_t timer                        : 4;  /**< General timer interrupts */
4924215976Sjmallett	uint64_t reserved_51_51               : 1;
4925215976Sjmallett	uint64_t ipd_drp                      : 1;  /**< IPD QOS packet drop */
4926215976Sjmallett	uint64_t reserved_49_49               : 1;
4927215976Sjmallett	uint64_t gmx_drp                      : 1;  /**< GMX packet drop */
4928215976Sjmallett	uint64_t trace                        : 1;  /**< L2C has the CMB trace buffer */
4929215976Sjmallett	uint64_t rml                          : 1;  /**< RML Interrupt */
4930215976Sjmallett	uint64_t twsi                         : 1;  /**< TWSI Interrupt */
4931215976Sjmallett	uint64_t reserved_44_44               : 1;
4932215976Sjmallett	uint64_t pci_msi                      : 4;  /**< PCI MSI */
4933215976Sjmallett	uint64_t pci_int                      : 4;  /**< PCI INTA/B/C/D */
4934215976Sjmallett	uint64_t uart                         : 2;  /**< Two UART interrupts */
4935215976Sjmallett	uint64_t mbox                         : 2;  /**< Two mailbox/PCI interrupts */
4936215976Sjmallett	uint64_t gpio                         : 16; /**< 16 GPIO interrupts */
4937215976Sjmallett	uint64_t workq                        : 16; /**< 16 work queue interrupts */
4938215976Sjmallett#else
4939215976Sjmallett	uint64_t workq                        : 16;
4940215976Sjmallett	uint64_t gpio                         : 16;
4941215976Sjmallett	uint64_t mbox                         : 2;
4942215976Sjmallett	uint64_t uart                         : 2;
4943215976Sjmallett	uint64_t pci_int                      : 4;
4944215976Sjmallett	uint64_t pci_msi                      : 4;
4945215976Sjmallett	uint64_t reserved_44_44               : 1;
4946215976Sjmallett	uint64_t twsi                         : 1;
4947215976Sjmallett	uint64_t rml                          : 1;
4948215976Sjmallett	uint64_t trace                        : 1;
4949215976Sjmallett	uint64_t gmx_drp                      : 1;
4950215976Sjmallett	uint64_t reserved_49_49               : 1;
4951215976Sjmallett	uint64_t ipd_drp                      : 1;
4952215976Sjmallett	uint64_t reserved_51_51               : 1;
4953215976Sjmallett	uint64_t timer                        : 4;
4954215976Sjmallett	uint64_t usb                          : 1;
4955215976Sjmallett	uint64_t reserved_57_58               : 2;
4956215976Sjmallett	uint64_t twsi2                        : 1;
4957215976Sjmallett	uint64_t powiq                        : 1;
4958215976Sjmallett	uint64_t ipdppthr                     : 1;
4959215976Sjmallett	uint64_t mii                          : 1;
4960215976Sjmallett	uint64_t bootdma                      : 1;
4961215976Sjmallett#endif
4962215976Sjmallett	} cn52xx;
4963215976Sjmallett	struct cvmx_ciu_intx_en4_0_cn52xx     cn52xxp1;
4964232812Sjmallett	struct cvmx_ciu_intx_en4_0_cn56xx {
4965232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
4966215976Sjmallett	uint64_t bootdma                      : 1;  /**< Boot bus DMA engines Interrupt */
4967215976Sjmallett	uint64_t mii                          : 1;  /**< MII Interface Interrupt */
4968215976Sjmallett	uint64_t ipdppthr                     : 1;  /**< IPD per-port counter threshold interrupt */
4969215976Sjmallett	uint64_t powiq                        : 1;  /**< POW IQ interrupt */
4970215976Sjmallett	uint64_t twsi2                        : 1;  /**< 2nd TWSI Interrupt */
4971215976Sjmallett	uint64_t reserved_57_58               : 2;
4972215976Sjmallett	uint64_t usb                          : 1;  /**< USB Interrupt */
4973215976Sjmallett	uint64_t timer                        : 4;  /**< General timer interrupts */
4974215976Sjmallett	uint64_t key_zero                     : 1;  /**< Key Zeroization interrupt */
4975215976Sjmallett	uint64_t ipd_drp                      : 1;  /**< IPD QOS packet drop */
4976215976Sjmallett	uint64_t gmx_drp                      : 2;  /**< GMX packet drop */
4977215976Sjmallett	uint64_t trace                        : 1;  /**< L2C has the CMB trace buffer */
4978215976Sjmallett	uint64_t rml                          : 1;  /**< RML Interrupt */
4979215976Sjmallett	uint64_t twsi                         : 1;  /**< TWSI Interrupt */
4980215976Sjmallett	uint64_t reserved_44_44               : 1;
4981215976Sjmallett	uint64_t pci_msi                      : 4;  /**< PCI MSI */
4982215976Sjmallett	uint64_t pci_int                      : 4;  /**< PCI INTA/B/C/D */
4983215976Sjmallett	uint64_t uart                         : 2;  /**< Two UART interrupts */
4984215976Sjmallett	uint64_t mbox                         : 2;  /**< Two mailbox/PCI interrupts */
4985215976Sjmallett	uint64_t gpio                         : 16; /**< 16 GPIO interrupts */
4986215976Sjmallett	uint64_t workq                        : 16; /**< 16 work queue interrupts */
4987215976Sjmallett#else
4988215976Sjmallett	uint64_t workq                        : 16;
4989215976Sjmallett	uint64_t gpio                         : 16;
4990215976Sjmallett	uint64_t mbox                         : 2;
4991215976Sjmallett	uint64_t uart                         : 2;
4992215976Sjmallett	uint64_t pci_int                      : 4;
4993215976Sjmallett	uint64_t pci_msi                      : 4;
4994215976Sjmallett	uint64_t reserved_44_44               : 1;
4995215976Sjmallett	uint64_t twsi                         : 1;
4996215976Sjmallett	uint64_t rml                          : 1;
4997215976Sjmallett	uint64_t trace                        : 1;
4998215976Sjmallett	uint64_t gmx_drp                      : 2;
4999215976Sjmallett	uint64_t ipd_drp                      : 1;
5000215976Sjmallett	uint64_t key_zero                     : 1;
5001215976Sjmallett	uint64_t timer                        : 4;
5002215976Sjmallett	uint64_t usb                          : 1;
5003215976Sjmallett	uint64_t reserved_57_58               : 2;
5004215976Sjmallett	uint64_t twsi2                        : 1;
5005215976Sjmallett	uint64_t powiq                        : 1;
5006215976Sjmallett	uint64_t ipdppthr                     : 1;
5007215976Sjmallett	uint64_t mii                          : 1;
5008215976Sjmallett	uint64_t bootdma                      : 1;
5009215976Sjmallett#endif
5010215976Sjmallett	} cn56xx;
5011215976Sjmallett	struct cvmx_ciu_intx_en4_0_cn56xx     cn56xxp1;
5012232812Sjmallett	struct cvmx_ciu_intx_en4_0_cn58xx {
5013232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
5014215976Sjmallett	uint64_t reserved_56_63               : 8;
5015215976Sjmallett	uint64_t timer                        : 4;  /**< General timer interrupts */
5016215976Sjmallett	uint64_t key_zero                     : 1;  /**< Key Zeroization interrupt */
5017215976Sjmallett	uint64_t ipd_drp                      : 1;  /**< IPD QOS packet drop */
5018215976Sjmallett	uint64_t gmx_drp                      : 2;  /**< GMX packet drop */
5019215976Sjmallett	uint64_t trace                        : 1;  /**< L2C has the CMB trace buffer */
5020215976Sjmallett	uint64_t rml                          : 1;  /**< RML Interrupt */
5021215976Sjmallett	uint64_t twsi                         : 1;  /**< TWSI Interrupt */
5022215976Sjmallett	uint64_t reserved_44_44               : 1;
5023215976Sjmallett	uint64_t pci_msi                      : 4;  /**< PCI MSI */
5024215976Sjmallett	uint64_t pci_int                      : 4;  /**< PCI INTA/B/C/D */
5025215976Sjmallett	uint64_t uart                         : 2;  /**< Two UART interrupts */
5026215976Sjmallett	uint64_t mbox                         : 2;  /**< Two mailbox/PCI interrupts */
5027215976Sjmallett	uint64_t gpio                         : 16; /**< 16 GPIO interrupts */
5028215976Sjmallett	uint64_t workq                        : 16; /**< 16 work queue interrupts */
5029215976Sjmallett#else
5030215976Sjmallett	uint64_t workq                        : 16;
5031215976Sjmallett	uint64_t gpio                         : 16;
5032215976Sjmallett	uint64_t mbox                         : 2;
5033215976Sjmallett	uint64_t uart                         : 2;
5034215976Sjmallett	uint64_t pci_int                      : 4;
5035215976Sjmallett	uint64_t pci_msi                      : 4;
5036215976Sjmallett	uint64_t reserved_44_44               : 1;
5037215976Sjmallett	uint64_t twsi                         : 1;
5038215976Sjmallett	uint64_t rml                          : 1;
5039215976Sjmallett	uint64_t trace                        : 1;
5040215976Sjmallett	uint64_t gmx_drp                      : 2;
5041215976Sjmallett	uint64_t ipd_drp                      : 1;
5042215976Sjmallett	uint64_t key_zero                     : 1;
5043215976Sjmallett	uint64_t timer                        : 4;
5044215976Sjmallett	uint64_t reserved_56_63               : 8;
5045215976Sjmallett#endif
5046215976Sjmallett	} cn58xx;
5047215976Sjmallett	struct cvmx_ciu_intx_en4_0_cn58xx     cn58xxp1;
5048232812Sjmallett	struct cvmx_ciu_intx_en4_0_cn61xx {
5049232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
5050232812Sjmallett	uint64_t bootdma                      : 1;  /**< Boot bus DMA engines Interrupt enable */
5051232812Sjmallett	uint64_t mii                          : 1;  /**< RGMII/MIX Interface 0 Interrupt enable */
5052232812Sjmallett	uint64_t ipdppthr                     : 1;  /**< IPD per-port counter threshold interrupt enable */
5053232812Sjmallett	uint64_t powiq                        : 1;  /**< POW IQ interrupt enable */
5054232812Sjmallett	uint64_t twsi2                        : 1;  /**< 2nd TWSI Interrupt enable */
5055232812Sjmallett	uint64_t mpi                          : 1;  /**< MPI/SPI interrupt enable */
5056232812Sjmallett	uint64_t pcm                          : 1;  /**< PCM/TDM interrupt enable */
5057232812Sjmallett	uint64_t usb                          : 1;  /**< USB EHCI or OHCI Interrupt enable */
5058232812Sjmallett	uint64_t timer                        : 4;  /**< General timer interrupt enables */
5059232812Sjmallett	uint64_t reserved_51_51               : 1;
5060232812Sjmallett	uint64_t ipd_drp                      : 1;  /**< IPD QOS packet drop interrupt enable */
5061232812Sjmallett	uint64_t gmx_drp                      : 2;  /**< GMX packet drop interrupt enable */
5062232812Sjmallett	uint64_t trace                        : 1;  /**< Trace buffer interrupt enable */
5063232812Sjmallett	uint64_t rml                          : 1;  /**< RML Interrupt enable */
5064232812Sjmallett	uint64_t twsi                         : 1;  /**< TWSI Interrupt enable */
5065232812Sjmallett	uint64_t reserved_44_44               : 1;
5066232812Sjmallett	uint64_t pci_msi                      : 4;  /**< PCIe MSI enables */
5067232812Sjmallett	uint64_t pci_int                      : 4;  /**< PCIe INTA/B/C/D enables */
5068232812Sjmallett	uint64_t uart                         : 2;  /**< Two UART interrupt enables */
5069232812Sjmallett	uint64_t mbox                         : 2;  /**< Two mailbox interrupt enables */
5070232812Sjmallett	uint64_t gpio                         : 16; /**< 16 GPIO interrupt enables */
5071232812Sjmallett	uint64_t workq                        : 16; /**< 16 work queue interrupt enables */
5072232812Sjmallett#else
5073232812Sjmallett	uint64_t workq                        : 16;
5074232812Sjmallett	uint64_t gpio                         : 16;
5075232812Sjmallett	uint64_t mbox                         : 2;
5076232812Sjmallett	uint64_t uart                         : 2;
5077232812Sjmallett	uint64_t pci_int                      : 4;
5078232812Sjmallett	uint64_t pci_msi                      : 4;
5079232812Sjmallett	uint64_t reserved_44_44               : 1;
5080232812Sjmallett	uint64_t twsi                         : 1;
5081232812Sjmallett	uint64_t rml                          : 1;
5082232812Sjmallett	uint64_t trace                        : 1;
5083232812Sjmallett	uint64_t gmx_drp                      : 2;
5084232812Sjmallett	uint64_t ipd_drp                      : 1;
5085232812Sjmallett	uint64_t reserved_51_51               : 1;
5086232812Sjmallett	uint64_t timer                        : 4;
5087232812Sjmallett	uint64_t usb                          : 1;
5088232812Sjmallett	uint64_t pcm                          : 1;
5089232812Sjmallett	uint64_t mpi                          : 1;
5090232812Sjmallett	uint64_t twsi2                        : 1;
5091232812Sjmallett	uint64_t powiq                        : 1;
5092232812Sjmallett	uint64_t ipdppthr                     : 1;
5093232812Sjmallett	uint64_t mii                          : 1;
5094232812Sjmallett	uint64_t bootdma                      : 1;
5095232812Sjmallett#endif
5096232812Sjmallett	} cn61xx;
5097215976Sjmallett	struct cvmx_ciu_intx_en4_0_cn52xx     cn63xx;
5098215976Sjmallett	struct cvmx_ciu_intx_en4_0_cn52xx     cn63xxp1;
5099232812Sjmallett	struct cvmx_ciu_intx_en4_0_cn66xx {
5100232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
5101232812Sjmallett	uint64_t bootdma                      : 1;  /**< Boot bus DMA engines Interrupt enable */
5102232812Sjmallett	uint64_t mii                          : 1;  /**< RGMII/MII/MIX Interface 0 Interrupt enable */
5103232812Sjmallett	uint64_t ipdppthr                     : 1;  /**< IPD per-port counter threshold interrupt enable */
5104232812Sjmallett	uint64_t powiq                        : 1;  /**< POW IQ interrupt enable */
5105232812Sjmallett	uint64_t twsi2                        : 1;  /**< 2nd TWSI Interrupt enable */
5106232812Sjmallett	uint64_t mpi                          : 1;  /**< MPI/SPI interrupt enable */
5107232812Sjmallett	uint64_t reserved_57_57               : 1;
5108232812Sjmallett	uint64_t usb                          : 1;  /**< USB EHCI or OHCI Interrupt enable */
5109232812Sjmallett	uint64_t timer                        : 4;  /**< General timer interrupt enables */
5110232812Sjmallett	uint64_t reserved_51_51               : 1;
5111232812Sjmallett	uint64_t ipd_drp                      : 1;  /**< IPD QOS packet drop interrupt enable */
5112232812Sjmallett	uint64_t gmx_drp                      : 2;  /**< GMX packet drop interrupt enable */
5113232812Sjmallett	uint64_t trace                        : 1;  /**< Trace buffer interrupt enable */
5114232812Sjmallett	uint64_t rml                          : 1;  /**< RML Interrupt enable */
5115232812Sjmallett	uint64_t twsi                         : 1;  /**< TWSI Interrupt enable */
5116232812Sjmallett	uint64_t reserved_44_44               : 1;
5117232812Sjmallett	uint64_t pci_msi                      : 4;  /**< PCIe/sRIO MSI enables */
5118232812Sjmallett	uint64_t pci_int                      : 4;  /**< PCIe INTA/B/C/D enables */
5119232812Sjmallett	uint64_t uart                         : 2;  /**< Two UART interrupt enables */
5120232812Sjmallett	uint64_t mbox                         : 2;  /**< Two mailbox interrupt enables */
5121232812Sjmallett	uint64_t gpio                         : 16; /**< 16 GPIO interrupt enables */
5122232812Sjmallett	uint64_t workq                        : 16; /**< 16 work queue interrupt enables */
5123232812Sjmallett#else
5124232812Sjmallett	uint64_t workq                        : 16;
5125232812Sjmallett	uint64_t gpio                         : 16;
5126232812Sjmallett	uint64_t mbox                         : 2;
5127232812Sjmallett	uint64_t uart                         : 2;
5128232812Sjmallett	uint64_t pci_int                      : 4;
5129232812Sjmallett	uint64_t pci_msi                      : 4;
5130232812Sjmallett	uint64_t reserved_44_44               : 1;
5131232812Sjmallett	uint64_t twsi                         : 1;
5132232812Sjmallett	uint64_t rml                          : 1;
5133232812Sjmallett	uint64_t trace                        : 1;
5134232812Sjmallett	uint64_t gmx_drp                      : 2;
5135232812Sjmallett	uint64_t ipd_drp                      : 1;
5136232812Sjmallett	uint64_t reserved_51_51               : 1;
5137232812Sjmallett	uint64_t timer                        : 4;
5138232812Sjmallett	uint64_t usb                          : 1;
5139232812Sjmallett	uint64_t reserved_57_57               : 1;
5140232812Sjmallett	uint64_t mpi                          : 1;
5141232812Sjmallett	uint64_t twsi2                        : 1;
5142232812Sjmallett	uint64_t powiq                        : 1;
5143232812Sjmallett	uint64_t ipdppthr                     : 1;
5144232812Sjmallett	uint64_t mii                          : 1;
5145232812Sjmallett	uint64_t bootdma                      : 1;
5146232812Sjmallett#endif
5147232812Sjmallett	} cn66xx;
5148232812Sjmallett	struct cvmx_ciu_intx_en4_0_cnf71xx {
5149232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
5150232812Sjmallett	uint64_t bootdma                      : 1;  /**< Boot bus DMA engines Interrupt enable */
5151232812Sjmallett	uint64_t reserved_62_62               : 1;
5152232812Sjmallett	uint64_t ipdppthr                     : 1;  /**< IPD per-port counter threshold interrupt enable */
5153232812Sjmallett	uint64_t powiq                        : 1;  /**< POW IQ interrupt enable */
5154232812Sjmallett	uint64_t twsi2                        : 1;  /**< 2nd TWSI Interrupt enable */
5155232812Sjmallett	uint64_t mpi                          : 1;  /**< MPI/SPI interrupt enable */
5156232812Sjmallett	uint64_t pcm                          : 1;  /**< PCM/TDM interrupt enable */
5157232812Sjmallett	uint64_t usb                          : 1;  /**< USB EHCI or OHCI Interrupt enable */
5158232812Sjmallett	uint64_t timer                        : 4;  /**< General timer interrupt enables */
5159232812Sjmallett	uint64_t reserved_51_51               : 1;
5160232812Sjmallett	uint64_t ipd_drp                      : 1;  /**< IPD QOS packet drop interrupt enable */
5161232812Sjmallett	uint64_t reserved_49_49               : 1;
5162232812Sjmallett	uint64_t gmx_drp                      : 1;  /**< GMX packet drop interrupt enable */
5163232812Sjmallett	uint64_t trace                        : 1;  /**< Trace buffer interrupt enable */
5164232812Sjmallett	uint64_t rml                          : 1;  /**< RML Interrupt enable */
5165232812Sjmallett	uint64_t twsi                         : 1;  /**< TWSI Interrupt enable */
5166232812Sjmallett	uint64_t reserved_44_44               : 1;
5167232812Sjmallett	uint64_t pci_msi                      : 4;  /**< PCIe MSI enables */
5168232812Sjmallett	uint64_t pci_int                      : 4;  /**< PCIe INTA/B/C/D enables */
5169232812Sjmallett	uint64_t uart                         : 2;  /**< Two UART interrupt enables */
5170232812Sjmallett	uint64_t mbox                         : 2;  /**< Two mailbox interrupt enables */
5171232812Sjmallett	uint64_t gpio                         : 16; /**< 16 GPIO interrupt enables */
5172232812Sjmallett	uint64_t workq                        : 16; /**< 16 work queue interrupt enables */
5173232812Sjmallett#else
5174232812Sjmallett	uint64_t workq                        : 16;
5175232812Sjmallett	uint64_t gpio                         : 16;
5176232812Sjmallett	uint64_t mbox                         : 2;
5177232812Sjmallett	uint64_t uart                         : 2;
5178232812Sjmallett	uint64_t pci_int                      : 4;
5179232812Sjmallett	uint64_t pci_msi                      : 4;
5180232812Sjmallett	uint64_t reserved_44_44               : 1;
5181232812Sjmallett	uint64_t twsi                         : 1;
5182232812Sjmallett	uint64_t rml                          : 1;
5183232812Sjmallett	uint64_t trace                        : 1;
5184232812Sjmallett	uint64_t gmx_drp                      : 1;
5185232812Sjmallett	uint64_t reserved_49_49               : 1;
5186232812Sjmallett	uint64_t ipd_drp                      : 1;
5187232812Sjmallett	uint64_t reserved_51_51               : 1;
5188232812Sjmallett	uint64_t timer                        : 4;
5189232812Sjmallett	uint64_t usb                          : 1;
5190232812Sjmallett	uint64_t pcm                          : 1;
5191232812Sjmallett	uint64_t mpi                          : 1;
5192232812Sjmallett	uint64_t twsi2                        : 1;
5193232812Sjmallett	uint64_t powiq                        : 1;
5194232812Sjmallett	uint64_t ipdppthr                     : 1;
5195232812Sjmallett	uint64_t reserved_62_62               : 1;
5196232812Sjmallett	uint64_t bootdma                      : 1;
5197232812Sjmallett#endif
5198232812Sjmallett	} cnf71xx;
5199215976Sjmallett};
5200215976Sjmalletttypedef union cvmx_ciu_intx_en4_0 cvmx_ciu_intx_en4_0_t;
5201215976Sjmallett
5202215976Sjmallett/**
5203215976Sjmallett * cvmx_ciu_int#_en4_0_w1c
5204215976Sjmallett *
5205215976Sjmallett * Notes:
5206232812Sjmallett * Write-1-to-clear version of the CIU_INTx_EN4_0 register, read back corresponding CIU_INTx_EN4_0 value.
5207215976Sjmallett *
5208215976Sjmallett */
5209232812Sjmallettunion cvmx_ciu_intx_en4_0_w1c {
5210215976Sjmallett	uint64_t u64;
5211232812Sjmallett	struct cvmx_ciu_intx_en4_0_w1c_s {
5212232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
5213215976Sjmallett	uint64_t bootdma                      : 1;  /**< Write 1 to clear Boot bus DMA engines Interrupt
5214215976Sjmallett                                                         enable */
5215215976Sjmallett	uint64_t mii                          : 1;  /**< Write 1 to clr RGMII/MII/MIX Interface 0 Interrupt
5216215976Sjmallett                                                         enable */
5217215976Sjmallett	uint64_t ipdppthr                     : 1;  /**< Write 1 to clear IPD per-port counter threshold
5218215976Sjmallett                                                         interrupt enable */
5219232812Sjmallett	uint64_t powiq                        : 1;  /**< Write 1 to clear POW IQ interrupt enable */
5220232812Sjmallett	uint64_t twsi2                        : 1;  /**< Write 1 to clear 2nd TWSI Interrupt enable */
5221232812Sjmallett	uint64_t mpi                          : 1;  /**< Write 1 to clear MPI/SPI interrupt enable */
5222232812Sjmallett	uint64_t pcm                          : 1;  /**< Write 1 to clear PCM/TDM interrupt enable */
5223232812Sjmallett	uint64_t usb                          : 1;  /**< Write 1 to clear USB EHCI or OHCI Interrupt enable */
5224232812Sjmallett	uint64_t timer                        : 4;  /**< Write 1 to clear General timer interrupt enables */
5225215976Sjmallett	uint64_t key_zero                     : 1;  /**< Key Zeroization interrupt */
5226215976Sjmallett	uint64_t ipd_drp                      : 1;  /**< Write 1 to clear IPD QOS packet drop interrupt
5227215976Sjmallett                                                         enable */
5228215976Sjmallett	uint64_t gmx_drp                      : 2;  /**< Write 1 to clear GMX packet drop interrupt enable */
5229215976Sjmallett	uint64_t trace                        : 1;  /**< Write 1 to clear Trace buffer interrupt enable */
5230215976Sjmallett	uint64_t rml                          : 1;  /**< Write 1 to clear RML Interrupt enable */
5231215976Sjmallett	uint64_t twsi                         : 1;  /**< Write 1 to clear TWSI Interrupt enable */
5232215976Sjmallett	uint64_t reserved_44_44               : 1;
5233232812Sjmallett	uint64_t pci_msi                      : 4;  /**< Write 1s to clear PCIe MSI enables */
5234215976Sjmallett	uint64_t pci_int                      : 4;  /**< Write 1s to clear PCIe INTA/B/C/D enables */
5235215976Sjmallett	uint64_t uart                         : 2;  /**< Write 1s to clear UART interrupt enables */
5236215976Sjmallett	uint64_t mbox                         : 2;  /**< Write 1s to clear mailbox interrupt enables */
5237215976Sjmallett	uint64_t gpio                         : 16; /**< Write 1s to clear GPIO interrupt enables */
5238215976Sjmallett	uint64_t workq                        : 16; /**< Write 1s to clear work queue interrupt enables */
5239215976Sjmallett#else
5240215976Sjmallett	uint64_t workq                        : 16;
5241215976Sjmallett	uint64_t gpio                         : 16;
5242215976Sjmallett	uint64_t mbox                         : 2;
5243215976Sjmallett	uint64_t uart                         : 2;
5244215976Sjmallett	uint64_t pci_int                      : 4;
5245215976Sjmallett	uint64_t pci_msi                      : 4;
5246215976Sjmallett	uint64_t reserved_44_44               : 1;
5247215976Sjmallett	uint64_t twsi                         : 1;
5248215976Sjmallett	uint64_t rml                          : 1;
5249215976Sjmallett	uint64_t trace                        : 1;
5250215976Sjmallett	uint64_t gmx_drp                      : 2;
5251215976Sjmallett	uint64_t ipd_drp                      : 1;
5252215976Sjmallett	uint64_t key_zero                     : 1;
5253215976Sjmallett	uint64_t timer                        : 4;
5254215976Sjmallett	uint64_t usb                          : 1;
5255232812Sjmallett	uint64_t pcm                          : 1;
5256232812Sjmallett	uint64_t mpi                          : 1;
5257215976Sjmallett	uint64_t twsi2                        : 1;
5258215976Sjmallett	uint64_t powiq                        : 1;
5259215976Sjmallett	uint64_t ipdppthr                     : 1;
5260215976Sjmallett	uint64_t mii                          : 1;
5261215976Sjmallett	uint64_t bootdma                      : 1;
5262215976Sjmallett#endif
5263215976Sjmallett	} s;
5264232812Sjmallett	struct cvmx_ciu_intx_en4_0_w1c_cn52xx {
5265232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
5266215976Sjmallett	uint64_t bootdma                      : 1;  /**< Boot bus DMA engines Interrupt */
5267215976Sjmallett	uint64_t mii                          : 1;  /**< MII Interface Interrupt */
5268215976Sjmallett	uint64_t ipdppthr                     : 1;  /**< IPD per-port counter threshold interrupt */
5269215976Sjmallett	uint64_t powiq                        : 1;  /**< POW IQ interrupt */
5270215976Sjmallett	uint64_t twsi2                        : 1;  /**< 2nd TWSI Interrupt */
5271215976Sjmallett	uint64_t reserved_57_58               : 2;
5272215976Sjmallett	uint64_t usb                          : 1;  /**< USB Interrupt */
5273215976Sjmallett	uint64_t timer                        : 4;  /**< General timer interrupts */
5274215976Sjmallett	uint64_t reserved_51_51               : 1;
5275215976Sjmallett	uint64_t ipd_drp                      : 1;  /**< IPD QOS packet drop */
5276215976Sjmallett	uint64_t reserved_49_49               : 1;
5277215976Sjmallett	uint64_t gmx_drp                      : 1;  /**< GMX packet drop */
5278215976Sjmallett	uint64_t trace                        : 1;  /**< L2C has the CMB trace buffer */
5279215976Sjmallett	uint64_t rml                          : 1;  /**< RML Interrupt */
5280215976Sjmallett	uint64_t twsi                         : 1;  /**< TWSI Interrupt */
5281215976Sjmallett	uint64_t reserved_44_44               : 1;
5282215976Sjmallett	uint64_t pci_msi                      : 4;  /**< PCI MSI */
5283215976Sjmallett	uint64_t pci_int                      : 4;  /**< PCI INTA/B/C/D */
5284215976Sjmallett	uint64_t uart                         : 2;  /**< Two UART interrupts */
5285215976Sjmallett	uint64_t mbox                         : 2;  /**< Two mailbox/PCI interrupts */
5286215976Sjmallett	uint64_t gpio                         : 16; /**< 16 GPIO interrupts */
5287215976Sjmallett	uint64_t workq                        : 16; /**< 16 work queue interrupts */
5288215976Sjmallett#else
5289215976Sjmallett	uint64_t workq                        : 16;
5290215976Sjmallett	uint64_t gpio                         : 16;
5291215976Sjmallett	uint64_t mbox                         : 2;
5292215976Sjmallett	uint64_t uart                         : 2;
5293215976Sjmallett	uint64_t pci_int                      : 4;
5294215976Sjmallett	uint64_t pci_msi                      : 4;
5295215976Sjmallett	uint64_t reserved_44_44               : 1;
5296215976Sjmallett	uint64_t twsi                         : 1;
5297215976Sjmallett	uint64_t rml                          : 1;
5298215976Sjmallett	uint64_t trace                        : 1;
5299215976Sjmallett	uint64_t gmx_drp                      : 1;
5300215976Sjmallett	uint64_t reserved_49_49               : 1;
5301215976Sjmallett	uint64_t ipd_drp                      : 1;
5302215976Sjmallett	uint64_t reserved_51_51               : 1;
5303215976Sjmallett	uint64_t timer                        : 4;
5304215976Sjmallett	uint64_t usb                          : 1;
5305215976Sjmallett	uint64_t reserved_57_58               : 2;
5306215976Sjmallett	uint64_t twsi2                        : 1;
5307215976Sjmallett	uint64_t powiq                        : 1;
5308215976Sjmallett	uint64_t ipdppthr                     : 1;
5309215976Sjmallett	uint64_t mii                          : 1;
5310215976Sjmallett	uint64_t bootdma                      : 1;
5311215976Sjmallett#endif
5312215976Sjmallett	} cn52xx;
5313232812Sjmallett	struct cvmx_ciu_intx_en4_0_w1c_cn56xx {
5314232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
5315232812Sjmallett	uint64_t bootdma                      : 1;  /**< Boot bus DMA engines Interrupt */
5316232812Sjmallett	uint64_t mii                          : 1;  /**< MII Interface Interrupt */
5317232812Sjmallett	uint64_t ipdppthr                     : 1;  /**< IPD per-port counter threshold interrupt */
5318232812Sjmallett	uint64_t powiq                        : 1;  /**< POW IQ interrupt */
5319232812Sjmallett	uint64_t twsi2                        : 1;  /**< 2nd TWSI Interrupt */
5320232812Sjmallett	uint64_t reserved_57_58               : 2;
5321232812Sjmallett	uint64_t usb                          : 1;  /**< USB Interrupt */
5322232812Sjmallett	uint64_t timer                        : 4;  /**< General timer interrupts */
5323232812Sjmallett	uint64_t key_zero                     : 1;  /**< Key Zeroization interrupt */
5324232812Sjmallett	uint64_t ipd_drp                      : 1;  /**< IPD QOS packet drop */
5325232812Sjmallett	uint64_t gmx_drp                      : 2;  /**< GMX packet drop */
5326232812Sjmallett	uint64_t trace                        : 1;  /**< L2C has the CMB trace buffer */
5327232812Sjmallett	uint64_t rml                          : 1;  /**< RML Interrupt */
5328232812Sjmallett	uint64_t twsi                         : 1;  /**< TWSI Interrupt */
5329232812Sjmallett	uint64_t reserved_44_44               : 1;
5330232812Sjmallett	uint64_t pci_msi                      : 4;  /**< PCI MSI */
5331232812Sjmallett	uint64_t pci_int                      : 4;  /**< PCI INTA/B/C/D */
5332232812Sjmallett	uint64_t uart                         : 2;  /**< Two UART interrupts */
5333232812Sjmallett	uint64_t mbox                         : 2;  /**< Two mailbox/PCI interrupts */
5334232812Sjmallett	uint64_t gpio                         : 16; /**< 16 GPIO interrupts */
5335232812Sjmallett	uint64_t workq                        : 16; /**< 16 work queue interrupts */
5336232812Sjmallett#else
5337232812Sjmallett	uint64_t workq                        : 16;
5338232812Sjmallett	uint64_t gpio                         : 16;
5339232812Sjmallett	uint64_t mbox                         : 2;
5340232812Sjmallett	uint64_t uart                         : 2;
5341232812Sjmallett	uint64_t pci_int                      : 4;
5342232812Sjmallett	uint64_t pci_msi                      : 4;
5343232812Sjmallett	uint64_t reserved_44_44               : 1;
5344232812Sjmallett	uint64_t twsi                         : 1;
5345232812Sjmallett	uint64_t rml                          : 1;
5346232812Sjmallett	uint64_t trace                        : 1;
5347232812Sjmallett	uint64_t gmx_drp                      : 2;
5348232812Sjmallett	uint64_t ipd_drp                      : 1;
5349232812Sjmallett	uint64_t key_zero                     : 1;
5350232812Sjmallett	uint64_t timer                        : 4;
5351232812Sjmallett	uint64_t usb                          : 1;
5352232812Sjmallett	uint64_t reserved_57_58               : 2;
5353232812Sjmallett	uint64_t twsi2                        : 1;
5354232812Sjmallett	uint64_t powiq                        : 1;
5355232812Sjmallett	uint64_t ipdppthr                     : 1;
5356232812Sjmallett	uint64_t mii                          : 1;
5357232812Sjmallett	uint64_t bootdma                      : 1;
5358232812Sjmallett#endif
5359232812Sjmallett	} cn56xx;
5360232812Sjmallett	struct cvmx_ciu_intx_en4_0_w1c_cn58xx {
5361232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
5362215976Sjmallett	uint64_t reserved_56_63               : 8;
5363215976Sjmallett	uint64_t timer                        : 4;  /**< General timer interrupts */
5364215976Sjmallett	uint64_t key_zero                     : 1;  /**< Key Zeroization interrupt */
5365215976Sjmallett	uint64_t ipd_drp                      : 1;  /**< IPD QOS packet drop */
5366215976Sjmallett	uint64_t gmx_drp                      : 2;  /**< GMX packet drop */
5367215976Sjmallett	uint64_t trace                        : 1;  /**< L2C has the CMB trace buffer */
5368215976Sjmallett	uint64_t rml                          : 1;  /**< RML Interrupt */
5369215976Sjmallett	uint64_t twsi                         : 1;  /**< TWSI Interrupt */
5370215976Sjmallett	uint64_t reserved_44_44               : 1;
5371215976Sjmallett	uint64_t pci_msi                      : 4;  /**< PCI MSI */
5372215976Sjmallett	uint64_t pci_int                      : 4;  /**< PCI INTA/B/C/D */
5373215976Sjmallett	uint64_t uart                         : 2;  /**< Two UART interrupts */
5374215976Sjmallett	uint64_t mbox                         : 2;  /**< Two mailbox/PCI interrupts */
5375215976Sjmallett	uint64_t gpio                         : 16; /**< 16 GPIO interrupts */
5376215976Sjmallett	uint64_t workq                        : 16; /**< 16 work queue interrupts */
5377215976Sjmallett#else
5378215976Sjmallett	uint64_t workq                        : 16;
5379215976Sjmallett	uint64_t gpio                         : 16;
5380215976Sjmallett	uint64_t mbox                         : 2;
5381215976Sjmallett	uint64_t uart                         : 2;
5382215976Sjmallett	uint64_t pci_int                      : 4;
5383215976Sjmallett	uint64_t pci_msi                      : 4;
5384215976Sjmallett	uint64_t reserved_44_44               : 1;
5385215976Sjmallett	uint64_t twsi                         : 1;
5386215976Sjmallett	uint64_t rml                          : 1;
5387215976Sjmallett	uint64_t trace                        : 1;
5388215976Sjmallett	uint64_t gmx_drp                      : 2;
5389215976Sjmallett	uint64_t ipd_drp                      : 1;
5390215976Sjmallett	uint64_t key_zero                     : 1;
5391215976Sjmallett	uint64_t timer                        : 4;
5392215976Sjmallett	uint64_t reserved_56_63               : 8;
5393215976Sjmallett#endif
5394215976Sjmallett	} cn58xx;
5395232812Sjmallett	struct cvmx_ciu_intx_en4_0_w1c_cn61xx {
5396232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
5397232812Sjmallett	uint64_t bootdma                      : 1;  /**< Write 1 to clear Boot bus DMA engines Interrupt
5398232812Sjmallett                                                         enable */
5399232812Sjmallett	uint64_t mii                          : 1;  /**< Write 1 to clr RGMII/MIX Interface 0 Interrupt
5400232812Sjmallett                                                         enable */
5401232812Sjmallett	uint64_t ipdppthr                     : 1;  /**< Write 1 to clear IPD per-port counter threshold
5402232812Sjmallett                                                         interrupt enable */
5403232812Sjmallett	uint64_t powiq                        : 1;  /**< Write 1 to clear POW IQ interrupt enable */
5404232812Sjmallett	uint64_t twsi2                        : 1;  /**< Write 1 to clear 2nd TWSI Interrupt enable */
5405232812Sjmallett	uint64_t mpi                          : 1;  /**< Write 1 to clear MPI/SPI interrupt enable */
5406232812Sjmallett	uint64_t pcm                          : 1;  /**< Write 1 to clear PCM/TDM interrupt enable */
5407232812Sjmallett	uint64_t usb                          : 1;  /**< Write 1 to clear USB EHCI or OHCI Interrupt enable */
5408232812Sjmallett	uint64_t timer                        : 4;  /**< Write 1 to clear General timer interrupt enables */
5409232812Sjmallett	uint64_t reserved_51_51               : 1;
5410232812Sjmallett	uint64_t ipd_drp                      : 1;  /**< Write 1 to clear IPD QOS packet drop interrupt
5411232812Sjmallett                                                         enable */
5412232812Sjmallett	uint64_t gmx_drp                      : 2;  /**< Write 1 to clear GMX packet drop interrupt enable */
5413232812Sjmallett	uint64_t trace                        : 1;  /**< Write 1 to clear Trace buffer interrupt enable */
5414232812Sjmallett	uint64_t rml                          : 1;  /**< Write 1 to clear RML Interrupt enable */
5415232812Sjmallett	uint64_t twsi                         : 1;  /**< Write 1 to clear TWSI Interrupt enable */
5416232812Sjmallett	uint64_t reserved_44_44               : 1;
5417232812Sjmallett	uint64_t pci_msi                      : 4;  /**< Write 1s to clear PCIe MSI enables */
5418232812Sjmallett	uint64_t pci_int                      : 4;  /**< Write 1s to clear PCIe INTA/B/C/D enables */
5419232812Sjmallett	uint64_t uart                         : 2;  /**< Write 1s to clear UART interrupt enables */
5420232812Sjmallett	uint64_t mbox                         : 2;  /**< Write 1s to clear mailbox interrupt enables */
5421232812Sjmallett	uint64_t gpio                         : 16; /**< Write 1s to clear GPIO interrupt enables */
5422232812Sjmallett	uint64_t workq                        : 16; /**< Write 1s to clear work queue interrupt enables */
5423232812Sjmallett#else
5424232812Sjmallett	uint64_t workq                        : 16;
5425232812Sjmallett	uint64_t gpio                         : 16;
5426232812Sjmallett	uint64_t mbox                         : 2;
5427232812Sjmallett	uint64_t uart                         : 2;
5428232812Sjmallett	uint64_t pci_int                      : 4;
5429232812Sjmallett	uint64_t pci_msi                      : 4;
5430232812Sjmallett	uint64_t reserved_44_44               : 1;
5431232812Sjmallett	uint64_t twsi                         : 1;
5432232812Sjmallett	uint64_t rml                          : 1;
5433232812Sjmallett	uint64_t trace                        : 1;
5434232812Sjmallett	uint64_t gmx_drp                      : 2;
5435232812Sjmallett	uint64_t ipd_drp                      : 1;
5436232812Sjmallett	uint64_t reserved_51_51               : 1;
5437232812Sjmallett	uint64_t timer                        : 4;
5438232812Sjmallett	uint64_t usb                          : 1;
5439232812Sjmallett	uint64_t pcm                          : 1;
5440232812Sjmallett	uint64_t mpi                          : 1;
5441232812Sjmallett	uint64_t twsi2                        : 1;
5442232812Sjmallett	uint64_t powiq                        : 1;
5443232812Sjmallett	uint64_t ipdppthr                     : 1;
5444232812Sjmallett	uint64_t mii                          : 1;
5445232812Sjmallett	uint64_t bootdma                      : 1;
5446232812Sjmallett#endif
5447232812Sjmallett	} cn61xx;
5448215976Sjmallett	struct cvmx_ciu_intx_en4_0_w1c_cn52xx cn63xx;
5449215976Sjmallett	struct cvmx_ciu_intx_en4_0_w1c_cn52xx cn63xxp1;
5450232812Sjmallett	struct cvmx_ciu_intx_en4_0_w1c_cn66xx {
5451232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
5452232812Sjmallett	uint64_t bootdma                      : 1;  /**< Write 1 to clear Boot bus DMA engines Interrupt
5453232812Sjmallett                                                         enable */
5454232812Sjmallett	uint64_t mii                          : 1;  /**< Write 1 to clr RGMII/MII/MIX Interface 0 Interrupt
5455232812Sjmallett                                                         enable */
5456232812Sjmallett	uint64_t ipdppthr                     : 1;  /**< Write 1 to clear IPD per-port counter threshold
5457232812Sjmallett                                                         interrupt enable */
5458232812Sjmallett	uint64_t powiq                        : 1;  /**< Write 1 to clear POW IQ interrupt */
5459232812Sjmallett	uint64_t twsi2                        : 1;  /**< Write 1 to clear 2nd TWSI Interrupt */
5460232812Sjmallett	uint64_t mpi                          : 1;  /**< Write 1 to clear MPI/SPI interrupt */
5461232812Sjmallett	uint64_t reserved_57_57               : 1;
5462232812Sjmallett	uint64_t usb                          : 1;  /**< Write 1 to clear USB EHCI or OHCI Interrupt */
5463232812Sjmallett	uint64_t timer                        : 4;  /**< Write 1 to clear General timer interrupts */
5464232812Sjmallett	uint64_t reserved_51_51               : 1;
5465232812Sjmallett	uint64_t ipd_drp                      : 1;  /**< Write 1 to clear IPD QOS packet drop interrupt
5466232812Sjmallett                                                         enable */
5467232812Sjmallett	uint64_t gmx_drp                      : 2;  /**< Write 1 to clear GMX packet drop interrupt enable */
5468232812Sjmallett	uint64_t trace                        : 1;  /**< Write 1 to clear Trace buffer interrupt enable */
5469232812Sjmallett	uint64_t rml                          : 1;  /**< Write 1 to clear RML Interrupt enable */
5470232812Sjmallett	uint64_t twsi                         : 1;  /**< Write 1 to clear TWSI Interrupt enable */
5471232812Sjmallett	uint64_t reserved_44_44               : 1;
5472232812Sjmallett	uint64_t pci_msi                      : 4;  /**< Write 1s to clear PCIe/sRIO MSI enables */
5473232812Sjmallett	uint64_t pci_int                      : 4;  /**< Write 1s to clear PCIe INTA/B/C/D enables */
5474232812Sjmallett	uint64_t uart                         : 2;  /**< Write 1s to clear UART interrupt enables */
5475232812Sjmallett	uint64_t mbox                         : 2;  /**< Write 1s to clear mailbox interrupt enables */
5476232812Sjmallett	uint64_t gpio                         : 16; /**< Write 1s to clear GPIO interrupt enables */
5477232812Sjmallett	uint64_t workq                        : 16; /**< Write 1s to clear work queue interrupt enables */
5478232812Sjmallett#else
5479232812Sjmallett	uint64_t workq                        : 16;
5480232812Sjmallett	uint64_t gpio                         : 16;
5481232812Sjmallett	uint64_t mbox                         : 2;
5482232812Sjmallett	uint64_t uart                         : 2;
5483232812Sjmallett	uint64_t pci_int                      : 4;
5484232812Sjmallett	uint64_t pci_msi                      : 4;
5485232812Sjmallett	uint64_t reserved_44_44               : 1;
5486232812Sjmallett	uint64_t twsi                         : 1;
5487232812Sjmallett	uint64_t rml                          : 1;
5488232812Sjmallett	uint64_t trace                        : 1;
5489232812Sjmallett	uint64_t gmx_drp                      : 2;
5490232812Sjmallett	uint64_t ipd_drp                      : 1;
5491232812Sjmallett	uint64_t reserved_51_51               : 1;
5492232812Sjmallett	uint64_t timer                        : 4;
5493232812Sjmallett	uint64_t usb                          : 1;
5494232812Sjmallett	uint64_t reserved_57_57               : 1;
5495232812Sjmallett	uint64_t mpi                          : 1;
5496232812Sjmallett	uint64_t twsi2                        : 1;
5497232812Sjmallett	uint64_t powiq                        : 1;
5498232812Sjmallett	uint64_t ipdppthr                     : 1;
5499232812Sjmallett	uint64_t mii                          : 1;
5500232812Sjmallett	uint64_t bootdma                      : 1;
5501232812Sjmallett#endif
5502232812Sjmallett	} cn66xx;
5503232812Sjmallett	struct cvmx_ciu_intx_en4_0_w1c_cnf71xx {
5504232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
5505232812Sjmallett	uint64_t bootdma                      : 1;  /**< Write 1 to clear Boot bus DMA engines Interrupt
5506232812Sjmallett                                                         enable */
5507232812Sjmallett	uint64_t reserved_62_62               : 1;
5508232812Sjmallett	uint64_t ipdppthr                     : 1;  /**< Write 1 to clear IPD per-port counter threshold
5509232812Sjmallett                                                         interrupt enable */
5510232812Sjmallett	uint64_t powiq                        : 1;  /**< Write 1 to clear POW IQ interrupt enable */
5511232812Sjmallett	uint64_t twsi2                        : 1;  /**< Write 1 to clear 2nd TWSI Interrupt enable */
5512232812Sjmallett	uint64_t mpi                          : 1;  /**< Write 1 to clear MPI/SPI interrupt enable */
5513232812Sjmallett	uint64_t pcm                          : 1;  /**< Write 1 to clear PCM/TDM interrupt enable */
5514232812Sjmallett	uint64_t usb                          : 1;  /**< Write 1 to clear USB EHCI or OHCI Interrupt enable */
5515232812Sjmallett	uint64_t timer                        : 4;  /**< Write 1 to clear General timer interrupt enables */
5516232812Sjmallett	uint64_t reserved_51_51               : 1;
5517232812Sjmallett	uint64_t ipd_drp                      : 1;  /**< Write 1 to clear IPD QOS packet drop interrupt
5518232812Sjmallett                                                         enable */
5519232812Sjmallett	uint64_t reserved_49_49               : 1;
5520232812Sjmallett	uint64_t gmx_drp                      : 1;  /**< Write 1 to clear GMX packet drop interrupt enable */
5521232812Sjmallett	uint64_t trace                        : 1;  /**< Write 1 to clear Trace buffer interrupt enable */
5522232812Sjmallett	uint64_t rml                          : 1;  /**< Write 1 to clear RML Interrupt enable */
5523232812Sjmallett	uint64_t twsi                         : 1;  /**< Write 1 to clear TWSI Interrupt enable */
5524232812Sjmallett	uint64_t reserved_44_44               : 1;
5525232812Sjmallett	uint64_t pci_msi                      : 4;  /**< Write 1s to clear PCIe MSI enables */
5526232812Sjmallett	uint64_t pci_int                      : 4;  /**< Write 1s to clear PCIe INTA/B/C/D enables */
5527232812Sjmallett	uint64_t uart                         : 2;  /**< Write 1s to clear UART interrupt enables */
5528232812Sjmallett	uint64_t mbox                         : 2;  /**< Write 1s to clear mailbox interrupt enables */
5529232812Sjmallett	uint64_t gpio                         : 16; /**< Write 1s to clear GPIO interrupt enables */
5530232812Sjmallett	uint64_t workq                        : 16; /**< Write 1s to clear work queue interrupt enables */
5531232812Sjmallett#else
5532232812Sjmallett	uint64_t workq                        : 16;
5533232812Sjmallett	uint64_t gpio                         : 16;
5534232812Sjmallett	uint64_t mbox                         : 2;
5535232812Sjmallett	uint64_t uart                         : 2;
5536232812Sjmallett	uint64_t pci_int                      : 4;
5537232812Sjmallett	uint64_t pci_msi                      : 4;
5538232812Sjmallett	uint64_t reserved_44_44               : 1;
5539232812Sjmallett	uint64_t twsi                         : 1;
5540232812Sjmallett	uint64_t rml                          : 1;
5541232812Sjmallett	uint64_t trace                        : 1;
5542232812Sjmallett	uint64_t gmx_drp                      : 1;
5543232812Sjmallett	uint64_t reserved_49_49               : 1;
5544232812Sjmallett	uint64_t ipd_drp                      : 1;
5545232812Sjmallett	uint64_t reserved_51_51               : 1;
5546232812Sjmallett	uint64_t timer                        : 4;
5547232812Sjmallett	uint64_t usb                          : 1;
5548232812Sjmallett	uint64_t pcm                          : 1;
5549232812Sjmallett	uint64_t mpi                          : 1;
5550232812Sjmallett	uint64_t twsi2                        : 1;
5551232812Sjmallett	uint64_t powiq                        : 1;
5552232812Sjmallett	uint64_t ipdppthr                     : 1;
5553232812Sjmallett	uint64_t reserved_62_62               : 1;
5554232812Sjmallett	uint64_t bootdma                      : 1;
5555232812Sjmallett#endif
5556232812Sjmallett	} cnf71xx;
5557215976Sjmallett};
5558215976Sjmalletttypedef union cvmx_ciu_intx_en4_0_w1c cvmx_ciu_intx_en4_0_w1c_t;
5559215976Sjmallett
5560215976Sjmallett/**
5561215976Sjmallett * cvmx_ciu_int#_en4_0_w1s
5562215976Sjmallett *
5563215976Sjmallett * Notes:
5564232812Sjmallett * Write-1-to-set version of the CIU_INTX_EN4_0 register, read back corresponding CIU_INTX_EN4_0 value.
5565215976Sjmallett *
5566215976Sjmallett */
5567232812Sjmallettunion cvmx_ciu_intx_en4_0_w1s {
5568215976Sjmallett	uint64_t u64;
5569232812Sjmallett	struct cvmx_ciu_intx_en4_0_w1s_s {
5570232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
5571215976Sjmallett	uint64_t bootdma                      : 1;  /**< Write 1 to set Boot bus DMA engines Interrupt
5572215976Sjmallett                                                         enable */
5573215976Sjmallett	uint64_t mii                          : 1;  /**< Write 1 to set RGMII/MII/MIX Interface 0 Interrupt
5574215976Sjmallett                                                         enable */
5575215976Sjmallett	uint64_t ipdppthr                     : 1;  /**< Write 1 to set IPD per-port counter threshold
5576215976Sjmallett                                                         interrupt enable */
5577232812Sjmallett	uint64_t powiq                        : 1;  /**< Write 1 to set POW IQ interrupt enable */
5578232812Sjmallett	uint64_t twsi2                        : 1;  /**< Write 1 to set 2nd TWSI Interrupt enable */
5579232812Sjmallett	uint64_t mpi                          : 1;  /**< Write 1 to set MPI/SPI interrupt enable */
5580232812Sjmallett	uint64_t pcm                          : 1;  /**< Write 1 to set PCM/TDM interrupt enable */
5581232812Sjmallett	uint64_t usb                          : 1;  /**< Write 1 to set USB EHCI or OHCI Interrupt enable */
5582232812Sjmallett	uint64_t timer                        : 4;  /**< Write 1 to set General timer interrupt enables */
5583215976Sjmallett	uint64_t key_zero                     : 1;  /**< Key Zeroization interrupt */
5584215976Sjmallett	uint64_t ipd_drp                      : 1;  /**< Write 1 to set IPD QOS packet drop interrupt
5585215976Sjmallett                                                         enable */
5586215976Sjmallett	uint64_t gmx_drp                      : 2;  /**< Write 1 to set GMX packet drop interrupt enable */
5587215976Sjmallett	uint64_t trace                        : 1;  /**< Write 1 to set Trace buffer interrupt enable */
5588215976Sjmallett	uint64_t rml                          : 1;  /**< Write 1 to set RML Interrupt enable */
5589215976Sjmallett	uint64_t twsi                         : 1;  /**< Write 1 to set TWSI Interrupt enable */
5590215976Sjmallett	uint64_t reserved_44_44               : 1;
5591232812Sjmallett	uint64_t pci_msi                      : 4;  /**< Write 1s to set PCIe MSI enables */
5592215976Sjmallett	uint64_t pci_int                      : 4;  /**< Write 1s to set PCIe INTA/B/C/D enables */
5593215976Sjmallett	uint64_t uart                         : 2;  /**< Write 1s to set UART interrupt enables */
5594215976Sjmallett	uint64_t mbox                         : 2;  /**< Write 1s to set mailbox interrupt enables */
5595215976Sjmallett	uint64_t gpio                         : 16; /**< Write 1s to set GPIO interrupt enables */
5596215976Sjmallett	uint64_t workq                        : 16; /**< Write 1s to set work queue interrupt enables */
5597215976Sjmallett#else
5598215976Sjmallett	uint64_t workq                        : 16;
5599215976Sjmallett	uint64_t gpio                         : 16;
5600215976Sjmallett	uint64_t mbox                         : 2;
5601215976Sjmallett	uint64_t uart                         : 2;
5602215976Sjmallett	uint64_t pci_int                      : 4;
5603215976Sjmallett	uint64_t pci_msi                      : 4;
5604215976Sjmallett	uint64_t reserved_44_44               : 1;
5605215976Sjmallett	uint64_t twsi                         : 1;
5606215976Sjmallett	uint64_t rml                          : 1;
5607215976Sjmallett	uint64_t trace                        : 1;
5608215976Sjmallett	uint64_t gmx_drp                      : 2;
5609215976Sjmallett	uint64_t ipd_drp                      : 1;
5610215976Sjmallett	uint64_t key_zero                     : 1;
5611215976Sjmallett	uint64_t timer                        : 4;
5612215976Sjmallett	uint64_t usb                          : 1;
5613232812Sjmallett	uint64_t pcm                          : 1;
5614232812Sjmallett	uint64_t mpi                          : 1;
5615215976Sjmallett	uint64_t twsi2                        : 1;
5616215976Sjmallett	uint64_t powiq                        : 1;
5617215976Sjmallett	uint64_t ipdppthr                     : 1;
5618215976Sjmallett	uint64_t mii                          : 1;
5619215976Sjmallett	uint64_t bootdma                      : 1;
5620215976Sjmallett#endif
5621215976Sjmallett	} s;
5622232812Sjmallett	struct cvmx_ciu_intx_en4_0_w1s_cn52xx {
5623232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
5624215976Sjmallett	uint64_t bootdma                      : 1;  /**< Boot bus DMA engines Interrupt */
5625215976Sjmallett	uint64_t mii                          : 1;  /**< MII Interface Interrupt */
5626215976Sjmallett	uint64_t ipdppthr                     : 1;  /**< IPD per-port counter threshold interrupt */
5627215976Sjmallett	uint64_t powiq                        : 1;  /**< POW IQ interrupt */
5628215976Sjmallett	uint64_t twsi2                        : 1;  /**< 2nd TWSI Interrupt */
5629215976Sjmallett	uint64_t reserved_57_58               : 2;
5630215976Sjmallett	uint64_t usb                          : 1;  /**< USB Interrupt */
5631215976Sjmallett	uint64_t timer                        : 4;  /**< General timer interrupts */
5632215976Sjmallett	uint64_t reserved_51_51               : 1;
5633215976Sjmallett	uint64_t ipd_drp                      : 1;  /**< IPD QOS packet drop */
5634215976Sjmallett	uint64_t reserved_49_49               : 1;
5635215976Sjmallett	uint64_t gmx_drp                      : 1;  /**< GMX packet drop */
5636215976Sjmallett	uint64_t trace                        : 1;  /**< L2C has the CMB trace buffer */
5637215976Sjmallett	uint64_t rml                          : 1;  /**< RML Interrupt */
5638215976Sjmallett	uint64_t twsi                         : 1;  /**< TWSI Interrupt */
5639215976Sjmallett	uint64_t reserved_44_44               : 1;
5640215976Sjmallett	uint64_t pci_msi                      : 4;  /**< PCI MSI */
5641215976Sjmallett	uint64_t pci_int                      : 4;  /**< PCI INTA/B/C/D */
5642215976Sjmallett	uint64_t uart                         : 2;  /**< Two UART interrupts */
5643215976Sjmallett	uint64_t mbox                         : 2;  /**< Two mailbox/PCI interrupts */
5644215976Sjmallett	uint64_t gpio                         : 16; /**< 16 GPIO interrupts */
5645215976Sjmallett	uint64_t workq                        : 16; /**< 16 work queue interrupts */
5646215976Sjmallett#else
5647215976Sjmallett	uint64_t workq                        : 16;
5648215976Sjmallett	uint64_t gpio                         : 16;
5649215976Sjmallett	uint64_t mbox                         : 2;
5650215976Sjmallett	uint64_t uart                         : 2;
5651215976Sjmallett	uint64_t pci_int                      : 4;
5652215976Sjmallett	uint64_t pci_msi                      : 4;
5653215976Sjmallett	uint64_t reserved_44_44               : 1;
5654215976Sjmallett	uint64_t twsi                         : 1;
5655215976Sjmallett	uint64_t rml                          : 1;
5656215976Sjmallett	uint64_t trace                        : 1;
5657215976Sjmallett	uint64_t gmx_drp                      : 1;
5658215976Sjmallett	uint64_t reserved_49_49               : 1;
5659215976Sjmallett	uint64_t ipd_drp                      : 1;
5660215976Sjmallett	uint64_t reserved_51_51               : 1;
5661215976Sjmallett	uint64_t timer                        : 4;
5662215976Sjmallett	uint64_t usb                          : 1;
5663215976Sjmallett	uint64_t reserved_57_58               : 2;
5664215976Sjmallett	uint64_t twsi2                        : 1;
5665215976Sjmallett	uint64_t powiq                        : 1;
5666215976Sjmallett	uint64_t ipdppthr                     : 1;
5667215976Sjmallett	uint64_t mii                          : 1;
5668215976Sjmallett	uint64_t bootdma                      : 1;
5669215976Sjmallett#endif
5670215976Sjmallett	} cn52xx;
5671232812Sjmallett	struct cvmx_ciu_intx_en4_0_w1s_cn56xx {
5672232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
5673232812Sjmallett	uint64_t bootdma                      : 1;  /**< Boot bus DMA engines Interrupt */
5674232812Sjmallett	uint64_t mii                          : 1;  /**< MII Interface Interrupt */
5675232812Sjmallett	uint64_t ipdppthr                     : 1;  /**< IPD per-port counter threshold interrupt */
5676232812Sjmallett	uint64_t powiq                        : 1;  /**< POW IQ interrupt */
5677232812Sjmallett	uint64_t twsi2                        : 1;  /**< 2nd TWSI Interrupt */
5678232812Sjmallett	uint64_t reserved_57_58               : 2;
5679232812Sjmallett	uint64_t usb                          : 1;  /**< USB Interrupt */
5680232812Sjmallett	uint64_t timer                        : 4;  /**< General timer interrupts */
5681232812Sjmallett	uint64_t key_zero                     : 1;  /**< Key Zeroization interrupt */
5682232812Sjmallett	uint64_t ipd_drp                      : 1;  /**< IPD QOS packet drop */
5683232812Sjmallett	uint64_t gmx_drp                      : 2;  /**< GMX packet drop */
5684232812Sjmallett	uint64_t trace                        : 1;  /**< L2C has the CMB trace buffer */
5685232812Sjmallett	uint64_t rml                          : 1;  /**< RML Interrupt */
5686232812Sjmallett	uint64_t twsi                         : 1;  /**< TWSI Interrupt */
5687232812Sjmallett	uint64_t reserved_44_44               : 1;
5688232812Sjmallett	uint64_t pci_msi                      : 4;  /**< PCI MSI */
5689232812Sjmallett	uint64_t pci_int                      : 4;  /**< PCI INTA/B/C/D */
5690232812Sjmallett	uint64_t uart                         : 2;  /**< Two UART interrupts */
5691232812Sjmallett	uint64_t mbox                         : 2;  /**< Two mailbox/PCI interrupts */
5692232812Sjmallett	uint64_t gpio                         : 16; /**< 16 GPIO interrupts */
5693232812Sjmallett	uint64_t workq                        : 16; /**< 16 work queue interrupts */
5694232812Sjmallett#else
5695232812Sjmallett	uint64_t workq                        : 16;
5696232812Sjmallett	uint64_t gpio                         : 16;
5697232812Sjmallett	uint64_t mbox                         : 2;
5698232812Sjmallett	uint64_t uart                         : 2;
5699232812Sjmallett	uint64_t pci_int                      : 4;
5700232812Sjmallett	uint64_t pci_msi                      : 4;
5701232812Sjmallett	uint64_t reserved_44_44               : 1;
5702232812Sjmallett	uint64_t twsi                         : 1;
5703232812Sjmallett	uint64_t rml                          : 1;
5704232812Sjmallett	uint64_t trace                        : 1;
5705232812Sjmallett	uint64_t gmx_drp                      : 2;
5706232812Sjmallett	uint64_t ipd_drp                      : 1;
5707232812Sjmallett	uint64_t key_zero                     : 1;
5708232812Sjmallett	uint64_t timer                        : 4;
5709232812Sjmallett	uint64_t usb                          : 1;
5710232812Sjmallett	uint64_t reserved_57_58               : 2;
5711232812Sjmallett	uint64_t twsi2                        : 1;
5712232812Sjmallett	uint64_t powiq                        : 1;
5713232812Sjmallett	uint64_t ipdppthr                     : 1;
5714232812Sjmallett	uint64_t mii                          : 1;
5715232812Sjmallett	uint64_t bootdma                      : 1;
5716232812Sjmallett#endif
5717232812Sjmallett	} cn56xx;
5718232812Sjmallett	struct cvmx_ciu_intx_en4_0_w1s_cn58xx {
5719232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
5720215976Sjmallett	uint64_t reserved_56_63               : 8;
5721215976Sjmallett	uint64_t timer                        : 4;  /**< General timer interrupts */
5722215976Sjmallett	uint64_t key_zero                     : 1;  /**< Key Zeroization interrupt */
5723215976Sjmallett	uint64_t ipd_drp                      : 1;  /**< IPD QOS packet drop */
5724215976Sjmallett	uint64_t gmx_drp                      : 2;  /**< GMX packet drop */
5725215976Sjmallett	uint64_t trace                        : 1;  /**< L2C has the CMB trace buffer */
5726215976Sjmallett	uint64_t rml                          : 1;  /**< RML Interrupt */
5727215976Sjmallett	uint64_t twsi                         : 1;  /**< TWSI Interrupt */
5728215976Sjmallett	uint64_t reserved_44_44               : 1;
5729215976Sjmallett	uint64_t pci_msi                      : 4;  /**< PCI MSI */
5730215976Sjmallett	uint64_t pci_int                      : 4;  /**< PCI INTA/B/C/D */
5731215976Sjmallett	uint64_t uart                         : 2;  /**< Two UART interrupts */
5732215976Sjmallett	uint64_t mbox                         : 2;  /**< Two mailbox/PCI interrupts */
5733215976Sjmallett	uint64_t gpio                         : 16; /**< 16 GPIO interrupts */
5734215976Sjmallett	uint64_t workq                        : 16; /**< 16 work queue interrupts */
5735215976Sjmallett#else
5736215976Sjmallett	uint64_t workq                        : 16;
5737215976Sjmallett	uint64_t gpio                         : 16;
5738215976Sjmallett	uint64_t mbox                         : 2;
5739215976Sjmallett	uint64_t uart                         : 2;
5740215976Sjmallett	uint64_t pci_int                      : 4;
5741215976Sjmallett	uint64_t pci_msi                      : 4;
5742215976Sjmallett	uint64_t reserved_44_44               : 1;
5743215976Sjmallett	uint64_t twsi                         : 1;
5744215976Sjmallett	uint64_t rml                          : 1;
5745215976Sjmallett	uint64_t trace                        : 1;
5746215976Sjmallett	uint64_t gmx_drp                      : 2;
5747215976Sjmallett	uint64_t ipd_drp                      : 1;
5748215976Sjmallett	uint64_t key_zero                     : 1;
5749215976Sjmallett	uint64_t timer                        : 4;
5750215976Sjmallett	uint64_t reserved_56_63               : 8;
5751215976Sjmallett#endif
5752215976Sjmallett	} cn58xx;
5753232812Sjmallett	struct cvmx_ciu_intx_en4_0_w1s_cn61xx {
5754232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
5755232812Sjmallett	uint64_t bootdma                      : 1;  /**< Write 1 to set Boot bus DMA engines Interrupt
5756232812Sjmallett                                                         enable */
5757232812Sjmallett	uint64_t mii                          : 1;  /**< Write 1 to set RGMII/MIX Interface 0 Interrupt
5758232812Sjmallett                                                         enable */
5759232812Sjmallett	uint64_t ipdppthr                     : 1;  /**< Write 1 to set IPD per-port counter threshold
5760232812Sjmallett                                                         interrupt enable */
5761232812Sjmallett	uint64_t powiq                        : 1;  /**< Write 1 to set POW IQ interrupt enable */
5762232812Sjmallett	uint64_t twsi2                        : 1;  /**< Write 1 to set 2nd TWSI Interrupt enable */
5763232812Sjmallett	uint64_t mpi                          : 1;  /**< Write 1 to set MPI/SPI interrupt enable */
5764232812Sjmallett	uint64_t pcm                          : 1;  /**< Write 1 to set PCM/TDM interrupt enable */
5765232812Sjmallett	uint64_t usb                          : 1;  /**< Write 1 to set USB EHCI or OHCI Interrupt enable */
5766232812Sjmallett	uint64_t timer                        : 4;  /**< Write 1 to set General timer interrupt enables */
5767232812Sjmallett	uint64_t reserved_51_51               : 1;
5768232812Sjmallett	uint64_t ipd_drp                      : 1;  /**< Write 1 to set IPD QOS packet drop interrupt
5769232812Sjmallett                                                         enable */
5770232812Sjmallett	uint64_t gmx_drp                      : 2;  /**< Write 1 to set GMX packet drop interrupt enable */
5771232812Sjmallett	uint64_t trace                        : 1;  /**< Write 1 to set Trace buffer interrupt enable */
5772232812Sjmallett	uint64_t rml                          : 1;  /**< Write 1 to set RML Interrupt enable */
5773232812Sjmallett	uint64_t twsi                         : 1;  /**< Write 1 to set TWSI Interrupt enable */
5774232812Sjmallett	uint64_t reserved_44_44               : 1;
5775232812Sjmallett	uint64_t pci_msi                      : 4;  /**< Write 1s to set PCIe MSI enables */
5776232812Sjmallett	uint64_t pci_int                      : 4;  /**< Write 1s to set PCIe INTA/B/C/D enables */
5777232812Sjmallett	uint64_t uart                         : 2;  /**< Write 1s to set UART interrupt enables */
5778232812Sjmallett	uint64_t mbox                         : 2;  /**< Write 1s to set mailbox interrupt enables */
5779232812Sjmallett	uint64_t gpio                         : 16; /**< Write 1s to set GPIO interrupt enables */
5780232812Sjmallett	uint64_t workq                        : 16; /**< Write 1s to set work queue interrupt enables */
5781232812Sjmallett#else
5782232812Sjmallett	uint64_t workq                        : 16;
5783232812Sjmallett	uint64_t gpio                         : 16;
5784232812Sjmallett	uint64_t mbox                         : 2;
5785232812Sjmallett	uint64_t uart                         : 2;
5786232812Sjmallett	uint64_t pci_int                      : 4;
5787232812Sjmallett	uint64_t pci_msi                      : 4;
5788232812Sjmallett	uint64_t reserved_44_44               : 1;
5789232812Sjmallett	uint64_t twsi                         : 1;
5790232812Sjmallett	uint64_t rml                          : 1;
5791232812Sjmallett	uint64_t trace                        : 1;
5792232812Sjmallett	uint64_t gmx_drp                      : 2;
5793232812Sjmallett	uint64_t ipd_drp                      : 1;
5794232812Sjmallett	uint64_t reserved_51_51               : 1;
5795232812Sjmallett	uint64_t timer                        : 4;
5796232812Sjmallett	uint64_t usb                          : 1;
5797232812Sjmallett	uint64_t pcm                          : 1;
5798232812Sjmallett	uint64_t mpi                          : 1;
5799232812Sjmallett	uint64_t twsi2                        : 1;
5800232812Sjmallett	uint64_t powiq                        : 1;
5801232812Sjmallett	uint64_t ipdppthr                     : 1;
5802232812Sjmallett	uint64_t mii                          : 1;
5803232812Sjmallett	uint64_t bootdma                      : 1;
5804232812Sjmallett#endif
5805232812Sjmallett	} cn61xx;
5806215976Sjmallett	struct cvmx_ciu_intx_en4_0_w1s_cn52xx cn63xx;
5807215976Sjmallett	struct cvmx_ciu_intx_en4_0_w1s_cn52xx cn63xxp1;
5808232812Sjmallett	struct cvmx_ciu_intx_en4_0_w1s_cn66xx {
5809232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
5810232812Sjmallett	uint64_t bootdma                      : 1;  /**< Write 1 to set Boot bus DMA engines Interrupt
5811232812Sjmallett                                                         enable */
5812232812Sjmallett	uint64_t mii                          : 1;  /**< Write 1 to set RGMII/MII/MIX Interface 0 Interrupt
5813232812Sjmallett                                                         enable */
5814232812Sjmallett	uint64_t ipdppthr                     : 1;  /**< Write 1 to set IPD per-port counter threshold
5815232812Sjmallett                                                         interrupt enable */
5816232812Sjmallett	uint64_t powiq                        : 1;  /**< Write 1 to set POW IQ interrupt */
5817232812Sjmallett	uint64_t twsi2                        : 1;  /**< Write 1 to set 2nd TWSI Interrupt */
5818232812Sjmallett	uint64_t mpi                          : 1;  /**< Write 1 to set MPI/SPI interrupt */
5819232812Sjmallett	uint64_t reserved_57_57               : 1;
5820232812Sjmallett	uint64_t usb                          : 1;  /**< Write 1 to set USB EHCI or OHCI Interrupt */
5821232812Sjmallett	uint64_t timer                        : 4;  /**< Write 1 to set General timer interrupts */
5822232812Sjmallett	uint64_t reserved_51_51               : 1;
5823232812Sjmallett	uint64_t ipd_drp                      : 1;  /**< Write 1 to set IPD QOS packet drop interrupt
5824232812Sjmallett                                                         enable */
5825232812Sjmallett	uint64_t gmx_drp                      : 2;  /**< Write 1 to set GMX packet drop interrupt enable */
5826232812Sjmallett	uint64_t trace                        : 1;  /**< Write 1 to set Trace buffer interrupt enable */
5827232812Sjmallett	uint64_t rml                          : 1;  /**< Write 1 to set RML Interrupt enable */
5828232812Sjmallett	uint64_t twsi                         : 1;  /**< Write 1 to set TWSI Interrupt enable */
5829232812Sjmallett	uint64_t reserved_44_44               : 1;
5830232812Sjmallett	uint64_t pci_msi                      : 4;  /**< Write 1s to set PCIe/sRIO MSI enables */
5831232812Sjmallett	uint64_t pci_int                      : 4;  /**< Write 1s to set PCIe INTA/B/C/D enables */
5832232812Sjmallett	uint64_t uart                         : 2;  /**< Write 1s to set UART interrupt enables */
5833232812Sjmallett	uint64_t mbox                         : 2;  /**< Write 1s to set mailbox interrupt enables */
5834232812Sjmallett	uint64_t gpio                         : 16; /**< Write 1s to set GPIO interrupt enables */
5835232812Sjmallett	uint64_t workq                        : 16; /**< Write 1s to set work queue interrupt enables */
5836232812Sjmallett#else
5837232812Sjmallett	uint64_t workq                        : 16;
5838232812Sjmallett	uint64_t gpio                         : 16;
5839232812Sjmallett	uint64_t mbox                         : 2;
5840232812Sjmallett	uint64_t uart                         : 2;
5841232812Sjmallett	uint64_t pci_int                      : 4;
5842232812Sjmallett	uint64_t pci_msi                      : 4;
5843232812Sjmallett	uint64_t reserved_44_44               : 1;
5844232812Sjmallett	uint64_t twsi                         : 1;
5845232812Sjmallett	uint64_t rml                          : 1;
5846232812Sjmallett	uint64_t trace                        : 1;
5847232812Sjmallett	uint64_t gmx_drp                      : 2;
5848232812Sjmallett	uint64_t ipd_drp                      : 1;
5849232812Sjmallett	uint64_t reserved_51_51               : 1;
5850232812Sjmallett	uint64_t timer                        : 4;
5851232812Sjmallett	uint64_t usb                          : 1;
5852232812Sjmallett	uint64_t reserved_57_57               : 1;
5853232812Sjmallett	uint64_t mpi                          : 1;
5854232812Sjmallett	uint64_t twsi2                        : 1;
5855232812Sjmallett	uint64_t powiq                        : 1;
5856232812Sjmallett	uint64_t ipdppthr                     : 1;
5857232812Sjmallett	uint64_t mii                          : 1;
5858232812Sjmallett	uint64_t bootdma                      : 1;
5859232812Sjmallett#endif
5860232812Sjmallett	} cn66xx;
5861232812Sjmallett	struct cvmx_ciu_intx_en4_0_w1s_cnf71xx {
5862232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
5863232812Sjmallett	uint64_t bootdma                      : 1;  /**< Write 1 to set Boot bus DMA engines Interrupt
5864232812Sjmallett                                                         enable */
5865232812Sjmallett	uint64_t reserved_62_62               : 1;
5866232812Sjmallett	uint64_t ipdppthr                     : 1;  /**< Write 1 to set IPD per-port counter threshold
5867232812Sjmallett                                                         interrupt enable */
5868232812Sjmallett	uint64_t powiq                        : 1;  /**< Write 1 to set POW IQ interrupt enable */
5869232812Sjmallett	uint64_t twsi2                        : 1;  /**< Write 1 to set 2nd TWSI Interrupt enable */
5870232812Sjmallett	uint64_t mpi                          : 1;  /**< Write 1 to set MPI/SPI interrupt enable */
5871232812Sjmallett	uint64_t pcm                          : 1;  /**< Write 1 to set PCM/TDM interrupt enable */
5872232812Sjmallett	uint64_t usb                          : 1;  /**< Write 1 to set USB EHCI or OHCI Interrupt enable */
5873232812Sjmallett	uint64_t timer                        : 4;  /**< Write 1 to set General timer interrupt enables */
5874232812Sjmallett	uint64_t reserved_51_51               : 1;
5875232812Sjmallett	uint64_t ipd_drp                      : 1;  /**< Write 1 to set IPD QOS packet drop interrupt
5876232812Sjmallett                                                         enable */
5877232812Sjmallett	uint64_t reserved_49_49               : 1;
5878232812Sjmallett	uint64_t gmx_drp                      : 1;  /**< Write 1 to set GMX packet drop interrupt enable */
5879232812Sjmallett	uint64_t trace                        : 1;  /**< Write 1 to set Trace buffer interrupt enable */
5880232812Sjmallett	uint64_t rml                          : 1;  /**< Write 1 to set RML Interrupt enable */
5881232812Sjmallett	uint64_t twsi                         : 1;  /**< Write 1 to set TWSI Interrupt enable */
5882232812Sjmallett	uint64_t reserved_44_44               : 1;
5883232812Sjmallett	uint64_t pci_msi                      : 4;  /**< Write 1s to set PCIe MSI enables */
5884232812Sjmallett	uint64_t pci_int                      : 4;  /**< Write 1s to set PCIe INTA/B/C/D enables */
5885232812Sjmallett	uint64_t uart                         : 2;  /**< Write 1s to set UART interrupt enables */
5886232812Sjmallett	uint64_t mbox                         : 2;  /**< Write 1s to set mailbox interrupt enables */
5887232812Sjmallett	uint64_t gpio                         : 16; /**< Write 1s to set GPIO interrupt enables */
5888232812Sjmallett	uint64_t workq                        : 16; /**< Write 1s to set work queue interrupt enables */
5889232812Sjmallett#else
5890232812Sjmallett	uint64_t workq                        : 16;
5891232812Sjmallett	uint64_t gpio                         : 16;
5892232812Sjmallett	uint64_t mbox                         : 2;
5893232812Sjmallett	uint64_t uart                         : 2;
5894232812Sjmallett	uint64_t pci_int                      : 4;
5895232812Sjmallett	uint64_t pci_msi                      : 4;
5896232812Sjmallett	uint64_t reserved_44_44               : 1;
5897232812Sjmallett	uint64_t twsi                         : 1;
5898232812Sjmallett	uint64_t rml                          : 1;
5899232812Sjmallett	uint64_t trace                        : 1;
5900232812Sjmallett	uint64_t gmx_drp                      : 1;
5901232812Sjmallett	uint64_t reserved_49_49               : 1;
5902232812Sjmallett	uint64_t ipd_drp                      : 1;
5903232812Sjmallett	uint64_t reserved_51_51               : 1;
5904232812Sjmallett	uint64_t timer                        : 4;
5905232812Sjmallett	uint64_t usb                          : 1;
5906232812Sjmallett	uint64_t pcm                          : 1;
5907232812Sjmallett	uint64_t mpi                          : 1;
5908232812Sjmallett	uint64_t twsi2                        : 1;
5909232812Sjmallett	uint64_t powiq                        : 1;
5910232812Sjmallett	uint64_t ipdppthr                     : 1;
5911232812Sjmallett	uint64_t reserved_62_62               : 1;
5912232812Sjmallett	uint64_t bootdma                      : 1;
5913232812Sjmallett#endif
5914232812Sjmallett	} cnf71xx;
5915215976Sjmallett};
5916215976Sjmalletttypedef union cvmx_ciu_intx_en4_0_w1s cvmx_ciu_intx_en4_0_w1s_t;
5917215976Sjmallett
5918215976Sjmallett/**
5919215976Sjmallett * cvmx_ciu_int#_en4_1
5920215976Sjmallett *
5921215976Sjmallett * Notes:
5922215976Sjmallett * PPx/IP4 will be raised when...
5923232812Sjmallett * PPx/IP4 = |([CIU_SUM1_PPx_IP4, CIU_INTx_SUM4] & [CIU_INTx_EN4_1, CIU_INTx_EN4_0])
5924215976Sjmallett */
5925232812Sjmallettunion cvmx_ciu_intx_en4_1 {
5926215976Sjmallett	uint64_t u64;
5927232812Sjmallett	struct cvmx_ciu_intx_en4_1_s {
5928232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
5929215976Sjmallett	uint64_t rst                          : 1;  /**< MIO RST interrupt enable */
5930232812Sjmallett	uint64_t reserved_62_62               : 1;
5931232812Sjmallett	uint64_t srio3                        : 1;  /**< SRIO3 interrupt enable */
5932232812Sjmallett	uint64_t srio2                        : 1;  /**< SRIO2 interrupt enable */
5933232812Sjmallett	uint64_t reserved_57_59               : 3;
5934215976Sjmallett	uint64_t dfm                          : 1;  /**< DFM interrupt enable */
5935215976Sjmallett	uint64_t reserved_53_55               : 3;
5936215976Sjmallett	uint64_t lmc0                         : 1;  /**< LMC0 interrupt enable */
5937215976Sjmallett	uint64_t srio1                        : 1;  /**< SRIO1 interrupt enable */
5938215976Sjmallett	uint64_t srio0                        : 1;  /**< SRIO0 interrupt enable */
5939215976Sjmallett	uint64_t pem1                         : 1;  /**< PEM1 interrupt enable */
5940215976Sjmallett	uint64_t pem0                         : 1;  /**< PEM0 interrupt enable */
5941215976Sjmallett	uint64_t ptp                          : 1;  /**< PTP interrupt enable */
5942215976Sjmallett	uint64_t agl                          : 1;  /**< AGL interrupt enable */
5943232812Sjmallett	uint64_t reserved_41_45               : 5;
5944232812Sjmallett	uint64_t dpi_dma                      : 1;  /**< DPI_DMA interrupt enable */
5945232812Sjmallett	uint64_t reserved_38_39               : 2;
5946232812Sjmallett	uint64_t agx1                         : 1;  /**< GMX1 interrupt enable */
5947215976Sjmallett	uint64_t agx0                         : 1;  /**< GMX0 interrupt enable */
5948215976Sjmallett	uint64_t dpi                          : 1;  /**< DPI interrupt enable */
5949215976Sjmallett	uint64_t sli                          : 1;  /**< SLI interrupt enable */
5950215976Sjmallett	uint64_t usb                          : 1;  /**< USB UCTL0 interrupt enable */
5951215976Sjmallett	uint64_t dfa                          : 1;  /**< DFA interrupt enable */
5952215976Sjmallett	uint64_t key                          : 1;  /**< KEY interrupt enable */
5953215976Sjmallett	uint64_t rad                          : 1;  /**< RAD interrupt enable */
5954215976Sjmallett	uint64_t tim                          : 1;  /**< TIM interrupt enable */
5955215976Sjmallett	uint64_t zip                          : 1;  /**< ZIP interrupt enable */
5956215976Sjmallett	uint64_t pko                          : 1;  /**< PKO interrupt enable */
5957215976Sjmallett	uint64_t pip                          : 1;  /**< PIP interrupt enable */
5958215976Sjmallett	uint64_t ipd                          : 1;  /**< IPD interrupt enable */
5959215976Sjmallett	uint64_t l2c                          : 1;  /**< L2C interrupt enable */
5960215976Sjmallett	uint64_t pow                          : 1;  /**< POW err interrupt enable */
5961215976Sjmallett	uint64_t fpa                          : 1;  /**< FPA interrupt enable */
5962215976Sjmallett	uint64_t iob                          : 1;  /**< IOB interrupt enable */
5963215976Sjmallett	uint64_t mio                          : 1;  /**< MIO boot interrupt enable */
5964232812Sjmallett	uint64_t nand                         : 1;  /**< EMMC Flash Controller interrupt enable */
5965215976Sjmallett	uint64_t mii1                         : 1;  /**< RGMII/MII/MIX Interface 1 Interrupt enable */
5966215976Sjmallett	uint64_t usb1                         : 1;  /**< Second USB Interrupt */
5967215976Sjmallett	uint64_t uart2                        : 1;  /**< Third UART interrupt */
5968215976Sjmallett	uint64_t wdog                         : 16; /**< Watchdog summary interrupt enable vector */
5969215976Sjmallett#else
5970215976Sjmallett	uint64_t wdog                         : 16;
5971215976Sjmallett	uint64_t uart2                        : 1;
5972215976Sjmallett	uint64_t usb1                         : 1;
5973215976Sjmallett	uint64_t mii1                         : 1;
5974215976Sjmallett	uint64_t nand                         : 1;
5975215976Sjmallett	uint64_t mio                          : 1;
5976215976Sjmallett	uint64_t iob                          : 1;
5977215976Sjmallett	uint64_t fpa                          : 1;
5978215976Sjmallett	uint64_t pow                          : 1;
5979215976Sjmallett	uint64_t l2c                          : 1;
5980215976Sjmallett	uint64_t ipd                          : 1;
5981215976Sjmallett	uint64_t pip                          : 1;
5982215976Sjmallett	uint64_t pko                          : 1;
5983215976Sjmallett	uint64_t zip                          : 1;
5984215976Sjmallett	uint64_t tim                          : 1;
5985215976Sjmallett	uint64_t rad                          : 1;
5986215976Sjmallett	uint64_t key                          : 1;
5987215976Sjmallett	uint64_t dfa                          : 1;
5988215976Sjmallett	uint64_t usb                          : 1;
5989215976Sjmallett	uint64_t sli                          : 1;
5990215976Sjmallett	uint64_t dpi                          : 1;
5991215976Sjmallett	uint64_t agx0                         : 1;
5992232812Sjmallett	uint64_t agx1                         : 1;
5993232812Sjmallett	uint64_t reserved_38_39               : 2;
5994232812Sjmallett	uint64_t dpi_dma                      : 1;
5995232812Sjmallett	uint64_t reserved_41_45               : 5;
5996215976Sjmallett	uint64_t agl                          : 1;
5997215976Sjmallett	uint64_t ptp                          : 1;
5998215976Sjmallett	uint64_t pem0                         : 1;
5999215976Sjmallett	uint64_t pem1                         : 1;
6000215976Sjmallett	uint64_t srio0                        : 1;
6001215976Sjmallett	uint64_t srio1                        : 1;
6002215976Sjmallett	uint64_t lmc0                         : 1;
6003215976Sjmallett	uint64_t reserved_53_55               : 3;
6004215976Sjmallett	uint64_t dfm                          : 1;
6005232812Sjmallett	uint64_t reserved_57_59               : 3;
6006232812Sjmallett	uint64_t srio2                        : 1;
6007232812Sjmallett	uint64_t srio3                        : 1;
6008232812Sjmallett	uint64_t reserved_62_62               : 1;
6009215976Sjmallett	uint64_t rst                          : 1;
6010215976Sjmallett#endif
6011215976Sjmallett	} s;
6012232812Sjmallett	struct cvmx_ciu_intx_en4_1_cn50xx {
6013232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
6014215976Sjmallett	uint64_t reserved_2_63                : 62;
6015215976Sjmallett	uint64_t wdog                         : 2;  /**< Watchdog summary interrupt enable vectory */
6016215976Sjmallett#else
6017215976Sjmallett	uint64_t wdog                         : 2;
6018215976Sjmallett	uint64_t reserved_2_63                : 62;
6019215976Sjmallett#endif
6020215976Sjmallett	} cn50xx;
6021232812Sjmallett	struct cvmx_ciu_intx_en4_1_cn52xx {
6022232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
6023215976Sjmallett	uint64_t reserved_20_63               : 44;
6024215976Sjmallett	uint64_t nand                         : 1;  /**< NAND Flash Controller */
6025215976Sjmallett	uint64_t mii1                         : 1;  /**< Second MII Interrupt */
6026215976Sjmallett	uint64_t usb1                         : 1;  /**< Second USB Interrupt */
6027215976Sjmallett	uint64_t uart2                        : 1;  /**< Third UART interrupt */
6028215976Sjmallett	uint64_t reserved_4_15                : 12;
6029215976Sjmallett	uint64_t wdog                         : 4;  /**< Watchdog summary interrupt enable vector */
6030215976Sjmallett#else
6031215976Sjmallett	uint64_t wdog                         : 4;
6032215976Sjmallett	uint64_t reserved_4_15                : 12;
6033215976Sjmallett	uint64_t uart2                        : 1;
6034215976Sjmallett	uint64_t usb1                         : 1;
6035215976Sjmallett	uint64_t mii1                         : 1;
6036215976Sjmallett	uint64_t nand                         : 1;
6037215976Sjmallett	uint64_t reserved_20_63               : 44;
6038215976Sjmallett#endif
6039215976Sjmallett	} cn52xx;
6040232812Sjmallett	struct cvmx_ciu_intx_en4_1_cn52xxp1 {
6041232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
6042215976Sjmallett	uint64_t reserved_19_63               : 45;
6043215976Sjmallett	uint64_t mii1                         : 1;  /**< Second MII Interrupt */
6044215976Sjmallett	uint64_t usb1                         : 1;  /**< Second USB Interrupt */
6045215976Sjmallett	uint64_t uart2                        : 1;  /**< Third UART interrupt */
6046215976Sjmallett	uint64_t reserved_4_15                : 12;
6047215976Sjmallett	uint64_t wdog                         : 4;  /**< Watchdog summary interrupt enable vector */
6048215976Sjmallett#else
6049215976Sjmallett	uint64_t wdog                         : 4;
6050215976Sjmallett	uint64_t reserved_4_15                : 12;
6051215976Sjmallett	uint64_t uart2                        : 1;
6052215976Sjmallett	uint64_t usb1                         : 1;
6053215976Sjmallett	uint64_t mii1                         : 1;
6054215976Sjmallett	uint64_t reserved_19_63               : 45;
6055215976Sjmallett#endif
6056215976Sjmallett	} cn52xxp1;
6057232812Sjmallett	struct cvmx_ciu_intx_en4_1_cn56xx {
6058232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
6059215976Sjmallett	uint64_t reserved_12_63               : 52;
6060215976Sjmallett	uint64_t wdog                         : 12; /**< Watchdog summary interrupt enable vectory */
6061215976Sjmallett#else
6062215976Sjmallett	uint64_t wdog                         : 12;
6063215976Sjmallett	uint64_t reserved_12_63               : 52;
6064215976Sjmallett#endif
6065215976Sjmallett	} cn56xx;
6066215976Sjmallett	struct cvmx_ciu_intx_en4_1_cn56xx     cn56xxp1;
6067232812Sjmallett	struct cvmx_ciu_intx_en4_1_cn58xx {
6068232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
6069215976Sjmallett	uint64_t reserved_16_63               : 48;
6070215976Sjmallett	uint64_t wdog                         : 16; /**< Watchdog summary interrupt enable vectory */
6071215976Sjmallett#else
6072215976Sjmallett	uint64_t wdog                         : 16;
6073215976Sjmallett	uint64_t reserved_16_63               : 48;
6074215976Sjmallett#endif
6075215976Sjmallett	} cn58xx;
6076215976Sjmallett	struct cvmx_ciu_intx_en4_1_cn58xx     cn58xxp1;
6077232812Sjmallett	struct cvmx_ciu_intx_en4_1_cn61xx {
6078232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
6079215976Sjmallett	uint64_t rst                          : 1;  /**< MIO RST interrupt enable */
6080232812Sjmallett	uint64_t reserved_53_62               : 10;
6081232812Sjmallett	uint64_t lmc0                         : 1;  /**< LMC0 interrupt enable */
6082232812Sjmallett	uint64_t reserved_50_51               : 2;
6083232812Sjmallett	uint64_t pem1                         : 1;  /**< PEM1 interrupt enable */
6084232812Sjmallett	uint64_t pem0                         : 1;  /**< PEM0 interrupt enable */
6085232812Sjmallett	uint64_t ptp                          : 1;  /**< PTP interrupt enable */
6086232812Sjmallett	uint64_t agl                          : 1;  /**< AGL interrupt enable */
6087232812Sjmallett	uint64_t reserved_41_45               : 5;
6088232812Sjmallett	uint64_t dpi_dma                      : 1;  /**< DPI_DMA interrupt enable */
6089232812Sjmallett	uint64_t reserved_38_39               : 2;
6090232812Sjmallett	uint64_t agx1                         : 1;  /**< GMX1 interrupt enable */
6091232812Sjmallett	uint64_t agx0                         : 1;  /**< GMX0 interrupt enable */
6092232812Sjmallett	uint64_t dpi                          : 1;  /**< DPI interrupt enable */
6093232812Sjmallett	uint64_t sli                          : 1;  /**< SLI interrupt enable */
6094232812Sjmallett	uint64_t usb                          : 1;  /**< USB UCTL0 interrupt enable */
6095232812Sjmallett	uint64_t dfa                          : 1;  /**< DFA interrupt enable */
6096232812Sjmallett	uint64_t key                          : 1;  /**< KEY interrupt enable */
6097232812Sjmallett	uint64_t rad                          : 1;  /**< RAD interrupt enable */
6098232812Sjmallett	uint64_t tim                          : 1;  /**< TIM interrupt enable */
6099232812Sjmallett	uint64_t zip                          : 1;  /**< ZIP interrupt enable */
6100232812Sjmallett	uint64_t pko                          : 1;  /**< PKO interrupt enable */
6101232812Sjmallett	uint64_t pip                          : 1;  /**< PIP interrupt enable */
6102232812Sjmallett	uint64_t ipd                          : 1;  /**< IPD interrupt enable */
6103232812Sjmallett	uint64_t l2c                          : 1;  /**< L2C interrupt enable */
6104232812Sjmallett	uint64_t pow                          : 1;  /**< POW err interrupt enable */
6105232812Sjmallett	uint64_t fpa                          : 1;  /**< FPA interrupt enable */
6106232812Sjmallett	uint64_t iob                          : 1;  /**< IOB interrupt enable */
6107232812Sjmallett	uint64_t mio                          : 1;  /**< MIO boot interrupt enable */
6108232812Sjmallett	uint64_t nand                         : 1;  /**< EMMC Flash Controller interrupt enable */
6109232812Sjmallett	uint64_t mii1                         : 1;  /**< RGMII/MIX Interface 1 Interrupt enable */
6110232812Sjmallett	uint64_t reserved_4_17                : 14;
6111232812Sjmallett	uint64_t wdog                         : 4;  /**< Watchdog summary interrupt enable vector */
6112232812Sjmallett#else
6113232812Sjmallett	uint64_t wdog                         : 4;
6114232812Sjmallett	uint64_t reserved_4_17                : 14;
6115232812Sjmallett	uint64_t mii1                         : 1;
6116232812Sjmallett	uint64_t nand                         : 1;
6117232812Sjmallett	uint64_t mio                          : 1;
6118232812Sjmallett	uint64_t iob                          : 1;
6119232812Sjmallett	uint64_t fpa                          : 1;
6120232812Sjmallett	uint64_t pow                          : 1;
6121232812Sjmallett	uint64_t l2c                          : 1;
6122232812Sjmallett	uint64_t ipd                          : 1;
6123232812Sjmallett	uint64_t pip                          : 1;
6124232812Sjmallett	uint64_t pko                          : 1;
6125232812Sjmallett	uint64_t zip                          : 1;
6126232812Sjmallett	uint64_t tim                          : 1;
6127232812Sjmallett	uint64_t rad                          : 1;
6128232812Sjmallett	uint64_t key                          : 1;
6129232812Sjmallett	uint64_t dfa                          : 1;
6130232812Sjmallett	uint64_t usb                          : 1;
6131232812Sjmallett	uint64_t sli                          : 1;
6132232812Sjmallett	uint64_t dpi                          : 1;
6133232812Sjmallett	uint64_t agx0                         : 1;
6134232812Sjmallett	uint64_t agx1                         : 1;
6135232812Sjmallett	uint64_t reserved_38_39               : 2;
6136232812Sjmallett	uint64_t dpi_dma                      : 1;
6137232812Sjmallett	uint64_t reserved_41_45               : 5;
6138232812Sjmallett	uint64_t agl                          : 1;
6139232812Sjmallett	uint64_t ptp                          : 1;
6140232812Sjmallett	uint64_t pem0                         : 1;
6141232812Sjmallett	uint64_t pem1                         : 1;
6142232812Sjmallett	uint64_t reserved_50_51               : 2;
6143232812Sjmallett	uint64_t lmc0                         : 1;
6144232812Sjmallett	uint64_t reserved_53_62               : 10;
6145232812Sjmallett	uint64_t rst                          : 1;
6146232812Sjmallett#endif
6147232812Sjmallett	} cn61xx;
6148232812Sjmallett	struct cvmx_ciu_intx_en4_1_cn63xx {
6149232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
6150232812Sjmallett	uint64_t rst                          : 1;  /**< MIO RST interrupt enable */
6151215976Sjmallett	uint64_t reserved_57_62               : 6;
6152215976Sjmallett	uint64_t dfm                          : 1;  /**< DFM interrupt enable */
6153215976Sjmallett	uint64_t reserved_53_55               : 3;
6154215976Sjmallett	uint64_t lmc0                         : 1;  /**< LMC0 interrupt enable */
6155215976Sjmallett	uint64_t srio1                        : 1;  /**< SRIO1 interrupt enable */
6156215976Sjmallett	uint64_t srio0                        : 1;  /**< SRIO0 interrupt enable */
6157215976Sjmallett	uint64_t pem1                         : 1;  /**< PEM1 interrupt enable */
6158215976Sjmallett	uint64_t pem0                         : 1;  /**< PEM0 interrupt enable */
6159215976Sjmallett	uint64_t ptp                          : 1;  /**< PTP interrupt enable */
6160215976Sjmallett	uint64_t agl                          : 1;  /**< AGL interrupt enable */
6161215976Sjmallett	uint64_t reserved_37_45               : 9;
6162215976Sjmallett	uint64_t agx0                         : 1;  /**< GMX0 interrupt enable */
6163215976Sjmallett	uint64_t dpi                          : 1;  /**< DPI interrupt enable */
6164215976Sjmallett	uint64_t sli                          : 1;  /**< SLI interrupt enable */
6165215976Sjmallett	uint64_t usb                          : 1;  /**< USB UCTL0 interrupt enable */
6166215976Sjmallett	uint64_t dfa                          : 1;  /**< DFA interrupt enable */
6167215976Sjmallett	uint64_t key                          : 1;  /**< KEY interrupt enable */
6168215976Sjmallett	uint64_t rad                          : 1;  /**< RAD interrupt enable */
6169215976Sjmallett	uint64_t tim                          : 1;  /**< TIM interrupt enable */
6170215976Sjmallett	uint64_t zip                          : 1;  /**< ZIP interrupt enable */
6171215976Sjmallett	uint64_t pko                          : 1;  /**< PKO interrupt enable */
6172215976Sjmallett	uint64_t pip                          : 1;  /**< PIP interrupt enable */
6173215976Sjmallett	uint64_t ipd                          : 1;  /**< IPD interrupt enable */
6174215976Sjmallett	uint64_t l2c                          : 1;  /**< L2C interrupt enable */
6175215976Sjmallett	uint64_t pow                          : 1;  /**< POW err interrupt enable */
6176215976Sjmallett	uint64_t fpa                          : 1;  /**< FPA interrupt enable */
6177215976Sjmallett	uint64_t iob                          : 1;  /**< IOB interrupt enable */
6178215976Sjmallett	uint64_t mio                          : 1;  /**< MIO boot interrupt enable */
6179215976Sjmallett	uint64_t nand                         : 1;  /**< NAND Flash Controller interrupt enable */
6180215976Sjmallett	uint64_t mii1                         : 1;  /**< RGMII/MII/MIX Interface 1 Interrupt enable */
6181215976Sjmallett	uint64_t reserved_6_17                : 12;
6182215976Sjmallett	uint64_t wdog                         : 6;  /**< Watchdog summary interrupt enable vector */
6183215976Sjmallett#else
6184215976Sjmallett	uint64_t wdog                         : 6;
6185215976Sjmallett	uint64_t reserved_6_17                : 12;
6186215976Sjmallett	uint64_t mii1                         : 1;
6187215976Sjmallett	uint64_t nand                         : 1;
6188215976Sjmallett	uint64_t mio                          : 1;
6189215976Sjmallett	uint64_t iob                          : 1;
6190215976Sjmallett	uint64_t fpa                          : 1;
6191215976Sjmallett	uint64_t pow                          : 1;
6192215976Sjmallett	uint64_t l2c                          : 1;
6193215976Sjmallett	uint64_t ipd                          : 1;
6194215976Sjmallett	uint64_t pip                          : 1;
6195215976Sjmallett	uint64_t pko                          : 1;
6196215976Sjmallett	uint64_t zip                          : 1;
6197215976Sjmallett	uint64_t tim                          : 1;
6198215976Sjmallett	uint64_t rad                          : 1;
6199215976Sjmallett	uint64_t key                          : 1;
6200215976Sjmallett	uint64_t dfa                          : 1;
6201215976Sjmallett	uint64_t usb                          : 1;
6202215976Sjmallett	uint64_t sli                          : 1;
6203215976Sjmallett	uint64_t dpi                          : 1;
6204215976Sjmallett	uint64_t agx0                         : 1;
6205215976Sjmallett	uint64_t reserved_37_45               : 9;
6206215976Sjmallett	uint64_t agl                          : 1;
6207215976Sjmallett	uint64_t ptp                          : 1;
6208215976Sjmallett	uint64_t pem0                         : 1;
6209215976Sjmallett	uint64_t pem1                         : 1;
6210215976Sjmallett	uint64_t srio0                        : 1;
6211215976Sjmallett	uint64_t srio1                        : 1;
6212215976Sjmallett	uint64_t lmc0                         : 1;
6213215976Sjmallett	uint64_t reserved_53_55               : 3;
6214215976Sjmallett	uint64_t dfm                          : 1;
6215215976Sjmallett	uint64_t reserved_57_62               : 6;
6216215976Sjmallett	uint64_t rst                          : 1;
6217215976Sjmallett#endif
6218215976Sjmallett	} cn63xx;
6219215976Sjmallett	struct cvmx_ciu_intx_en4_1_cn63xx     cn63xxp1;
6220232812Sjmallett	struct cvmx_ciu_intx_en4_1_cn66xx {
6221232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
6222232812Sjmallett	uint64_t rst                          : 1;  /**< MIO RST interrupt enable */
6223232812Sjmallett	uint64_t reserved_62_62               : 1;
6224232812Sjmallett	uint64_t srio3                        : 1;  /**< SRIO3 interrupt enable */
6225232812Sjmallett	uint64_t srio2                        : 1;  /**< SRIO2 interrupt enable */
6226232812Sjmallett	uint64_t reserved_57_59               : 3;
6227232812Sjmallett	uint64_t dfm                          : 1;  /**< DFM interrupt enable */
6228232812Sjmallett	uint64_t reserved_53_55               : 3;
6229232812Sjmallett	uint64_t lmc0                         : 1;  /**< LMC0 interrupt enable */
6230232812Sjmallett	uint64_t reserved_51_51               : 1;
6231232812Sjmallett	uint64_t srio0                        : 1;  /**< SRIO0 interrupt enable */
6232232812Sjmallett	uint64_t pem1                         : 1;  /**< PEM1 interrupt enable */
6233232812Sjmallett	uint64_t pem0                         : 1;  /**< PEM0 interrupt enable */
6234232812Sjmallett	uint64_t ptp                          : 1;  /**< PTP interrupt enable */
6235232812Sjmallett	uint64_t agl                          : 1;  /**< AGL interrupt enable */
6236232812Sjmallett	uint64_t reserved_38_45               : 8;
6237232812Sjmallett	uint64_t agx1                         : 1;  /**< GMX1 interrupt enable */
6238232812Sjmallett	uint64_t agx0                         : 1;  /**< GMX0 interrupt enable */
6239232812Sjmallett	uint64_t dpi                          : 1;  /**< DPI interrupt enable */
6240232812Sjmallett	uint64_t sli                          : 1;  /**< SLI interrupt enable */
6241232812Sjmallett	uint64_t usb                          : 1;  /**< USB UCTL0 interrupt enable */
6242232812Sjmallett	uint64_t dfa                          : 1;  /**< DFA interrupt enable */
6243232812Sjmallett	uint64_t key                          : 1;  /**< KEY interrupt enable */
6244232812Sjmallett	uint64_t rad                          : 1;  /**< RAD interrupt enable */
6245232812Sjmallett	uint64_t tim                          : 1;  /**< TIM interrupt enable */
6246232812Sjmallett	uint64_t zip                          : 1;  /**< ZIP interrupt enable */
6247232812Sjmallett	uint64_t pko                          : 1;  /**< PKO interrupt enable */
6248232812Sjmallett	uint64_t pip                          : 1;  /**< PIP interrupt enable */
6249232812Sjmallett	uint64_t ipd                          : 1;  /**< IPD interrupt enable */
6250232812Sjmallett	uint64_t l2c                          : 1;  /**< L2C interrupt enable */
6251232812Sjmallett	uint64_t pow                          : 1;  /**< POW err interrupt enable */
6252232812Sjmallett	uint64_t fpa                          : 1;  /**< FPA interrupt enable */
6253232812Sjmallett	uint64_t iob                          : 1;  /**< IOB interrupt enable */
6254232812Sjmallett	uint64_t mio                          : 1;  /**< MIO boot interrupt enable */
6255232812Sjmallett	uint64_t nand                         : 1;  /**< NAND Flash Controller interrupt enable */
6256232812Sjmallett	uint64_t mii1                         : 1;  /**< RGMII/MII/MIX Interface 1 Interrupt enable */
6257232812Sjmallett	uint64_t reserved_10_17               : 8;
6258232812Sjmallett	uint64_t wdog                         : 10; /**< Watchdog summary interrupt enable vector */
6259232812Sjmallett#else
6260232812Sjmallett	uint64_t wdog                         : 10;
6261232812Sjmallett	uint64_t reserved_10_17               : 8;
6262232812Sjmallett	uint64_t mii1                         : 1;
6263232812Sjmallett	uint64_t nand                         : 1;
6264232812Sjmallett	uint64_t mio                          : 1;
6265232812Sjmallett	uint64_t iob                          : 1;
6266232812Sjmallett	uint64_t fpa                          : 1;
6267232812Sjmallett	uint64_t pow                          : 1;
6268232812Sjmallett	uint64_t l2c                          : 1;
6269232812Sjmallett	uint64_t ipd                          : 1;
6270232812Sjmallett	uint64_t pip                          : 1;
6271232812Sjmallett	uint64_t pko                          : 1;
6272232812Sjmallett	uint64_t zip                          : 1;
6273232812Sjmallett	uint64_t tim                          : 1;
6274232812Sjmallett	uint64_t rad                          : 1;
6275232812Sjmallett	uint64_t key                          : 1;
6276232812Sjmallett	uint64_t dfa                          : 1;
6277232812Sjmallett	uint64_t usb                          : 1;
6278232812Sjmallett	uint64_t sli                          : 1;
6279232812Sjmallett	uint64_t dpi                          : 1;
6280232812Sjmallett	uint64_t agx0                         : 1;
6281232812Sjmallett	uint64_t agx1                         : 1;
6282232812Sjmallett	uint64_t reserved_38_45               : 8;
6283232812Sjmallett	uint64_t agl                          : 1;
6284232812Sjmallett	uint64_t ptp                          : 1;
6285232812Sjmallett	uint64_t pem0                         : 1;
6286232812Sjmallett	uint64_t pem1                         : 1;
6287232812Sjmallett	uint64_t srio0                        : 1;
6288232812Sjmallett	uint64_t reserved_51_51               : 1;
6289232812Sjmallett	uint64_t lmc0                         : 1;
6290232812Sjmallett	uint64_t reserved_53_55               : 3;
6291232812Sjmallett	uint64_t dfm                          : 1;
6292232812Sjmallett	uint64_t reserved_57_59               : 3;
6293232812Sjmallett	uint64_t srio2                        : 1;
6294232812Sjmallett	uint64_t srio3                        : 1;
6295232812Sjmallett	uint64_t reserved_62_62               : 1;
6296232812Sjmallett	uint64_t rst                          : 1;
6297232812Sjmallett#endif
6298232812Sjmallett	} cn66xx;
6299232812Sjmallett	struct cvmx_ciu_intx_en4_1_cnf71xx {
6300232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
6301232812Sjmallett	uint64_t rst                          : 1;  /**< MIO RST interrupt enable */
6302232812Sjmallett	uint64_t reserved_53_62               : 10;
6303232812Sjmallett	uint64_t lmc0                         : 1;  /**< LMC0 interrupt enable */
6304232812Sjmallett	uint64_t reserved_50_51               : 2;
6305232812Sjmallett	uint64_t pem1                         : 1;  /**< PEM1 interrupt enable */
6306232812Sjmallett	uint64_t pem0                         : 1;  /**< PEM0 interrupt enable */
6307232812Sjmallett	uint64_t ptp                          : 1;  /**< PTP interrupt enable */
6308232812Sjmallett	uint64_t reserved_41_46               : 6;
6309232812Sjmallett	uint64_t dpi_dma                      : 1;  /**< DPI_DMA interrupt enable */
6310232812Sjmallett	uint64_t reserved_37_39               : 3;
6311232812Sjmallett	uint64_t agx0                         : 1;  /**< GMX0 interrupt enable */
6312232812Sjmallett	uint64_t dpi                          : 1;  /**< DPI interrupt enable */
6313232812Sjmallett	uint64_t sli                          : 1;  /**< SLI interrupt enable */
6314232812Sjmallett	uint64_t usb                          : 1;  /**< USB UCTL0 interrupt enable */
6315232812Sjmallett	uint64_t reserved_32_32               : 1;
6316232812Sjmallett	uint64_t key                          : 1;  /**< KEY interrupt enable */
6317232812Sjmallett	uint64_t rad                          : 1;  /**< RAD interrupt enable */
6318232812Sjmallett	uint64_t tim                          : 1;  /**< TIM interrupt enable */
6319232812Sjmallett	uint64_t reserved_28_28               : 1;
6320232812Sjmallett	uint64_t pko                          : 1;  /**< PKO interrupt enable */
6321232812Sjmallett	uint64_t pip                          : 1;  /**< PIP interrupt enable */
6322232812Sjmallett	uint64_t ipd                          : 1;  /**< IPD interrupt enable */
6323232812Sjmallett	uint64_t l2c                          : 1;  /**< L2C interrupt enable */
6324232812Sjmallett	uint64_t pow                          : 1;  /**< POW err interrupt enable */
6325232812Sjmallett	uint64_t fpa                          : 1;  /**< FPA interrupt enable */
6326232812Sjmallett	uint64_t iob                          : 1;  /**< IOB interrupt enable */
6327232812Sjmallett	uint64_t mio                          : 1;  /**< MIO boot interrupt enable */
6328232812Sjmallett	uint64_t nand                         : 1;  /**< EMMC Flash Controller interrupt enable */
6329232812Sjmallett	uint64_t reserved_4_18                : 15;
6330232812Sjmallett	uint64_t wdog                         : 4;  /**< Watchdog summary interrupt enable vector */
6331232812Sjmallett#else
6332232812Sjmallett	uint64_t wdog                         : 4;
6333232812Sjmallett	uint64_t reserved_4_18                : 15;
6334232812Sjmallett	uint64_t nand                         : 1;
6335232812Sjmallett	uint64_t mio                          : 1;
6336232812Sjmallett	uint64_t iob                          : 1;
6337232812Sjmallett	uint64_t fpa                          : 1;
6338232812Sjmallett	uint64_t pow                          : 1;
6339232812Sjmallett	uint64_t l2c                          : 1;
6340232812Sjmallett	uint64_t ipd                          : 1;
6341232812Sjmallett	uint64_t pip                          : 1;
6342232812Sjmallett	uint64_t pko                          : 1;
6343232812Sjmallett	uint64_t reserved_28_28               : 1;
6344232812Sjmallett	uint64_t tim                          : 1;
6345232812Sjmallett	uint64_t rad                          : 1;
6346232812Sjmallett	uint64_t key                          : 1;
6347232812Sjmallett	uint64_t reserved_32_32               : 1;
6348232812Sjmallett	uint64_t usb                          : 1;
6349232812Sjmallett	uint64_t sli                          : 1;
6350232812Sjmallett	uint64_t dpi                          : 1;
6351232812Sjmallett	uint64_t agx0                         : 1;
6352232812Sjmallett	uint64_t reserved_37_39               : 3;
6353232812Sjmallett	uint64_t dpi_dma                      : 1;
6354232812Sjmallett	uint64_t reserved_41_46               : 6;
6355232812Sjmallett	uint64_t ptp                          : 1;
6356232812Sjmallett	uint64_t pem0                         : 1;
6357232812Sjmallett	uint64_t pem1                         : 1;
6358232812Sjmallett	uint64_t reserved_50_51               : 2;
6359232812Sjmallett	uint64_t lmc0                         : 1;
6360232812Sjmallett	uint64_t reserved_53_62               : 10;
6361232812Sjmallett	uint64_t rst                          : 1;
6362232812Sjmallett#endif
6363232812Sjmallett	} cnf71xx;
6364215976Sjmallett};
6365215976Sjmalletttypedef union cvmx_ciu_intx_en4_1 cvmx_ciu_intx_en4_1_t;
6366215976Sjmallett
6367215976Sjmallett/**
6368215976Sjmallett * cvmx_ciu_int#_en4_1_w1c
6369215976Sjmallett *
6370215976Sjmallett * Notes:
6371232812Sjmallett * Write-1-to-clear version of the CIU_INTX_EN4_1 register, read back corresponding CIU_INTX_EN4_1 value.
6372215976Sjmallett *
6373215976Sjmallett */
6374232812Sjmallettunion cvmx_ciu_intx_en4_1_w1c {
6375215976Sjmallett	uint64_t u64;
6376232812Sjmallett	struct cvmx_ciu_intx_en4_1_w1c_s {
6377232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
6378215976Sjmallett	uint64_t rst                          : 1;  /**< Write 1 to clear MIO RST interrupt enable */
6379232812Sjmallett	uint64_t reserved_62_62               : 1;
6380232812Sjmallett	uint64_t srio3                        : 1;  /**< Write 1 to clear SRIO3 interrupt enable */
6381232812Sjmallett	uint64_t srio2                        : 1;  /**< Write 1 to clear SRIO2 interrupt enable */
6382232812Sjmallett	uint64_t reserved_57_59               : 3;
6383215976Sjmallett	uint64_t dfm                          : 1;  /**< Write 1 to clear DFM interrupt enable */
6384215976Sjmallett	uint64_t reserved_53_55               : 3;
6385215976Sjmallett	uint64_t lmc0                         : 1;  /**< Write 1 to clear LMC0 interrupt enable */
6386215976Sjmallett	uint64_t srio1                        : 1;  /**< Write 1 to clear SRIO1 interrupt enable */
6387215976Sjmallett	uint64_t srio0                        : 1;  /**< Write 1 to clear SRIO0 interrupt enable */
6388215976Sjmallett	uint64_t pem1                         : 1;  /**< Write 1 to clear PEM1 interrupt enable */
6389215976Sjmallett	uint64_t pem0                         : 1;  /**< Write 1 to clear PEM0 interrupt enable */
6390215976Sjmallett	uint64_t ptp                          : 1;  /**< Write 1 to clear PTP interrupt enable */
6391215976Sjmallett	uint64_t agl                          : 1;  /**< Write 1 to clear AGL interrupt enable */
6392232812Sjmallett	uint64_t reserved_41_45               : 5;
6393232812Sjmallett	uint64_t dpi_dma                      : 1;  /**< Write 1 to clear DPI_DMA interrupt enable */
6394232812Sjmallett	uint64_t reserved_38_39               : 2;
6395232812Sjmallett	uint64_t agx1                         : 1;  /**< Write 1 to clear GMX1 interrupt enable */
6396215976Sjmallett	uint64_t agx0                         : 1;  /**< Write 1 to clear GMX0 interrupt enable */
6397215976Sjmallett	uint64_t dpi                          : 1;  /**< Write 1 to clear DPI interrupt enable */
6398215976Sjmallett	uint64_t sli                          : 1;  /**< Write 1 to clear SLI interrupt enable */
6399215976Sjmallett	uint64_t usb                          : 1;  /**< Write 1 to clear USB UCTL0 interrupt enable */
6400215976Sjmallett	uint64_t dfa                          : 1;  /**< Write 1 to clear DFA interrupt enable */
6401215976Sjmallett	uint64_t key                          : 1;  /**< Write 1 to clear KEY interrupt enable */
6402215976Sjmallett	uint64_t rad                          : 1;  /**< Write 1 to clear RAD interrupt enable */
6403215976Sjmallett	uint64_t tim                          : 1;  /**< Write 1 to clear TIM interrupt enable */
6404215976Sjmallett	uint64_t zip                          : 1;  /**< Write 1 to clear ZIP interrupt enable */
6405215976Sjmallett	uint64_t pko                          : 1;  /**< Write 1 to clear PKO interrupt enable */
6406215976Sjmallett	uint64_t pip                          : 1;  /**< Write 1 to clear PIP interrupt enable */
6407215976Sjmallett	uint64_t ipd                          : 1;  /**< Write 1 to clear IPD interrupt enable */
6408215976Sjmallett	uint64_t l2c                          : 1;  /**< Write 1 to clear L2C interrupt enable */
6409215976Sjmallett	uint64_t pow                          : 1;  /**< Write 1 to clear POW err interrupt enable */
6410215976Sjmallett	uint64_t fpa                          : 1;  /**< Write 1 to clear FPA interrupt enable */
6411215976Sjmallett	uint64_t iob                          : 1;  /**< Write 1 to clear IOB interrupt enable */
6412215976Sjmallett	uint64_t mio                          : 1;  /**< Write 1 to clear MIO boot interrupt enable */
6413232812Sjmallett	uint64_t nand                         : 1;  /**< Write 1 to clear EMMC Flash Controller interrupt
6414215976Sjmallett                                                         enable */
6415215976Sjmallett	uint64_t mii1                         : 1;  /**< Write 1 to clear RGMII/MII/MIX Interface 1
6416215976Sjmallett                                                         Interrupt enable */
6417215976Sjmallett	uint64_t usb1                         : 1;  /**< Second USB Interrupt */
6418215976Sjmallett	uint64_t uart2                        : 1;  /**< Third UART interrupt */
6419215976Sjmallett	uint64_t wdog                         : 16; /**< Write 1s to clear Watchdog summary interrupt enable */
6420215976Sjmallett#else
6421215976Sjmallett	uint64_t wdog                         : 16;
6422215976Sjmallett	uint64_t uart2                        : 1;
6423215976Sjmallett	uint64_t usb1                         : 1;
6424215976Sjmallett	uint64_t mii1                         : 1;
6425215976Sjmallett	uint64_t nand                         : 1;
6426215976Sjmallett	uint64_t mio                          : 1;
6427215976Sjmallett	uint64_t iob                          : 1;
6428215976Sjmallett	uint64_t fpa                          : 1;
6429215976Sjmallett	uint64_t pow                          : 1;
6430215976Sjmallett	uint64_t l2c                          : 1;
6431215976Sjmallett	uint64_t ipd                          : 1;
6432215976Sjmallett	uint64_t pip                          : 1;
6433215976Sjmallett	uint64_t pko                          : 1;
6434215976Sjmallett	uint64_t zip                          : 1;
6435215976Sjmallett	uint64_t tim                          : 1;
6436215976Sjmallett	uint64_t rad                          : 1;
6437215976Sjmallett	uint64_t key                          : 1;
6438215976Sjmallett	uint64_t dfa                          : 1;
6439215976Sjmallett	uint64_t usb                          : 1;
6440215976Sjmallett	uint64_t sli                          : 1;
6441215976Sjmallett	uint64_t dpi                          : 1;
6442215976Sjmallett	uint64_t agx0                         : 1;
6443232812Sjmallett	uint64_t agx1                         : 1;
6444232812Sjmallett	uint64_t reserved_38_39               : 2;
6445232812Sjmallett	uint64_t dpi_dma                      : 1;
6446232812Sjmallett	uint64_t reserved_41_45               : 5;
6447215976Sjmallett	uint64_t agl                          : 1;
6448215976Sjmallett	uint64_t ptp                          : 1;
6449215976Sjmallett	uint64_t pem0                         : 1;
6450215976Sjmallett	uint64_t pem1                         : 1;
6451215976Sjmallett	uint64_t srio0                        : 1;
6452215976Sjmallett	uint64_t srio1                        : 1;
6453215976Sjmallett	uint64_t lmc0                         : 1;
6454215976Sjmallett	uint64_t reserved_53_55               : 3;
6455215976Sjmallett	uint64_t dfm                          : 1;
6456232812Sjmallett	uint64_t reserved_57_59               : 3;
6457232812Sjmallett	uint64_t srio2                        : 1;
6458232812Sjmallett	uint64_t srio3                        : 1;
6459232812Sjmallett	uint64_t reserved_62_62               : 1;
6460215976Sjmallett	uint64_t rst                          : 1;
6461215976Sjmallett#endif
6462215976Sjmallett	} s;
6463232812Sjmallett	struct cvmx_ciu_intx_en4_1_w1c_cn52xx {
6464232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
6465215976Sjmallett	uint64_t reserved_20_63               : 44;
6466215976Sjmallett	uint64_t nand                         : 1;  /**< NAND Flash Controller */
6467215976Sjmallett	uint64_t mii1                         : 1;  /**< Second MII Interrupt */
6468215976Sjmallett	uint64_t usb1                         : 1;  /**< Second USB Interrupt */
6469215976Sjmallett	uint64_t uart2                        : 1;  /**< Third UART interrupt */
6470215976Sjmallett	uint64_t reserved_4_15                : 12;
6471215976Sjmallett	uint64_t wdog                         : 4;  /**< Watchdog summary interrupt enable vector */
6472215976Sjmallett#else
6473215976Sjmallett	uint64_t wdog                         : 4;
6474215976Sjmallett	uint64_t reserved_4_15                : 12;
6475215976Sjmallett	uint64_t uart2                        : 1;
6476215976Sjmallett	uint64_t usb1                         : 1;
6477215976Sjmallett	uint64_t mii1                         : 1;
6478215976Sjmallett	uint64_t nand                         : 1;
6479215976Sjmallett	uint64_t reserved_20_63               : 44;
6480215976Sjmallett#endif
6481215976Sjmallett	} cn52xx;
6482232812Sjmallett	struct cvmx_ciu_intx_en4_1_w1c_cn56xx {
6483232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
6484215976Sjmallett	uint64_t reserved_12_63               : 52;
6485215976Sjmallett	uint64_t wdog                         : 12; /**< Watchdog summary interrupt enable vectory */
6486215976Sjmallett#else
6487215976Sjmallett	uint64_t wdog                         : 12;
6488215976Sjmallett	uint64_t reserved_12_63               : 52;
6489215976Sjmallett#endif
6490215976Sjmallett	} cn56xx;
6491232812Sjmallett	struct cvmx_ciu_intx_en4_1_w1c_cn58xx {
6492232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
6493215976Sjmallett	uint64_t reserved_16_63               : 48;
6494215976Sjmallett	uint64_t wdog                         : 16; /**< Watchdog summary interrupt enable vectory */
6495215976Sjmallett#else
6496215976Sjmallett	uint64_t wdog                         : 16;
6497215976Sjmallett	uint64_t reserved_16_63               : 48;
6498215976Sjmallett#endif
6499215976Sjmallett	} cn58xx;
6500232812Sjmallett	struct cvmx_ciu_intx_en4_1_w1c_cn61xx {
6501232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
6502215976Sjmallett	uint64_t rst                          : 1;  /**< Write 1 to clear MIO RST interrupt enable */
6503232812Sjmallett	uint64_t reserved_53_62               : 10;
6504232812Sjmallett	uint64_t lmc0                         : 1;  /**< Write 1 to clear LMC0 interrupt enable */
6505232812Sjmallett	uint64_t reserved_50_51               : 2;
6506232812Sjmallett	uint64_t pem1                         : 1;  /**< Write 1 to clear PEM1 interrupt enable */
6507232812Sjmallett	uint64_t pem0                         : 1;  /**< Write 1 to clear PEM0 interrupt enable */
6508232812Sjmallett	uint64_t ptp                          : 1;  /**< Write 1 to clear PTP interrupt enable */
6509232812Sjmallett	uint64_t agl                          : 1;  /**< Write 1 to clear AGL interrupt enable */
6510232812Sjmallett	uint64_t reserved_41_45               : 5;
6511232812Sjmallett	uint64_t dpi_dma                      : 1;  /**< Write 1 to clear DPI_DMA interrupt enable */
6512232812Sjmallett	uint64_t reserved_38_39               : 2;
6513232812Sjmallett	uint64_t agx1                         : 1;  /**< Write 1 to clear GMX1 interrupt enable */
6514232812Sjmallett	uint64_t agx0                         : 1;  /**< Write 1 to clear GMX0 interrupt enable */
6515232812Sjmallett	uint64_t dpi                          : 1;  /**< Write 1 to clear DPI interrupt enable */
6516232812Sjmallett	uint64_t sli                          : 1;  /**< Write 1 to clear SLI interrupt enable */
6517232812Sjmallett	uint64_t usb                          : 1;  /**< Write 1 to clear USB UCTL0 interrupt enable */
6518232812Sjmallett	uint64_t dfa                          : 1;  /**< Write 1 to clear DFA interrupt enable */
6519232812Sjmallett	uint64_t key                          : 1;  /**< Write 1 to clear KEY interrupt enable */
6520232812Sjmallett	uint64_t rad                          : 1;  /**< Write 1 to clear RAD interrupt enable */
6521232812Sjmallett	uint64_t tim                          : 1;  /**< Write 1 to clear TIM interrupt enable */
6522232812Sjmallett	uint64_t zip                          : 1;  /**< Write 1 to clear ZIP interrupt enable */
6523232812Sjmallett	uint64_t pko                          : 1;  /**< Write 1 to clear PKO interrupt enable */
6524232812Sjmallett	uint64_t pip                          : 1;  /**< Write 1 to clear PIP interrupt enable */
6525232812Sjmallett	uint64_t ipd                          : 1;  /**< Write 1 to clear IPD interrupt enable */
6526232812Sjmallett	uint64_t l2c                          : 1;  /**< Write 1 to clear L2C interrupt enable */
6527232812Sjmallett	uint64_t pow                          : 1;  /**< Write 1 to clear POW err interrupt enable */
6528232812Sjmallett	uint64_t fpa                          : 1;  /**< Write 1 to clear FPA interrupt enable */
6529232812Sjmallett	uint64_t iob                          : 1;  /**< Write 1 to clear IOB interrupt enable */
6530232812Sjmallett	uint64_t mio                          : 1;  /**< Write 1 to clear MIO boot interrupt enable */
6531232812Sjmallett	uint64_t nand                         : 1;  /**< Write 1 to clear EMMC Flash Controller interrupt
6532232812Sjmallett                                                         enable */
6533232812Sjmallett	uint64_t mii1                         : 1;  /**< Write 1 to clear RGMII/MIX Interface 1
6534232812Sjmallett                                                         Interrupt enable */
6535232812Sjmallett	uint64_t reserved_4_17                : 14;
6536232812Sjmallett	uint64_t wdog                         : 4;  /**< Write 1s to clear Watchdog summary interrupt enable */
6537232812Sjmallett#else
6538232812Sjmallett	uint64_t wdog                         : 4;
6539232812Sjmallett	uint64_t reserved_4_17                : 14;
6540232812Sjmallett	uint64_t mii1                         : 1;
6541232812Sjmallett	uint64_t nand                         : 1;
6542232812Sjmallett	uint64_t mio                          : 1;
6543232812Sjmallett	uint64_t iob                          : 1;
6544232812Sjmallett	uint64_t fpa                          : 1;
6545232812Sjmallett	uint64_t pow                          : 1;
6546232812Sjmallett	uint64_t l2c                          : 1;
6547232812Sjmallett	uint64_t ipd                          : 1;
6548232812Sjmallett	uint64_t pip                          : 1;
6549232812Sjmallett	uint64_t pko                          : 1;
6550232812Sjmallett	uint64_t zip                          : 1;
6551232812Sjmallett	uint64_t tim                          : 1;
6552232812Sjmallett	uint64_t rad                          : 1;
6553232812Sjmallett	uint64_t key                          : 1;
6554232812Sjmallett	uint64_t dfa                          : 1;
6555232812Sjmallett	uint64_t usb                          : 1;
6556232812Sjmallett	uint64_t sli                          : 1;
6557232812Sjmallett	uint64_t dpi                          : 1;
6558232812Sjmallett	uint64_t agx0                         : 1;
6559232812Sjmallett	uint64_t agx1                         : 1;
6560232812Sjmallett	uint64_t reserved_38_39               : 2;
6561232812Sjmallett	uint64_t dpi_dma                      : 1;
6562232812Sjmallett	uint64_t reserved_41_45               : 5;
6563232812Sjmallett	uint64_t agl                          : 1;
6564232812Sjmallett	uint64_t ptp                          : 1;
6565232812Sjmallett	uint64_t pem0                         : 1;
6566232812Sjmallett	uint64_t pem1                         : 1;
6567232812Sjmallett	uint64_t reserved_50_51               : 2;
6568232812Sjmallett	uint64_t lmc0                         : 1;
6569232812Sjmallett	uint64_t reserved_53_62               : 10;
6570232812Sjmallett	uint64_t rst                          : 1;
6571232812Sjmallett#endif
6572232812Sjmallett	} cn61xx;
6573232812Sjmallett	struct cvmx_ciu_intx_en4_1_w1c_cn63xx {
6574232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
6575232812Sjmallett	uint64_t rst                          : 1;  /**< Write 1 to clear MIO RST interrupt enable */
6576215976Sjmallett	uint64_t reserved_57_62               : 6;
6577215976Sjmallett	uint64_t dfm                          : 1;  /**< Write 1 to clear DFM interrupt enable */
6578215976Sjmallett	uint64_t reserved_53_55               : 3;
6579215976Sjmallett	uint64_t lmc0                         : 1;  /**< Write 1 to clear LMC0 interrupt enable */
6580215976Sjmallett	uint64_t srio1                        : 1;  /**< Write 1 to clear SRIO1 interrupt enable */
6581215976Sjmallett	uint64_t srio0                        : 1;  /**< Write 1 to clear SRIO0 interrupt enable */
6582215976Sjmallett	uint64_t pem1                         : 1;  /**< Write 1 to clear PEM1 interrupt enable */
6583215976Sjmallett	uint64_t pem0                         : 1;  /**< Write 1 to clear PEM0 interrupt enable */
6584215976Sjmallett	uint64_t ptp                          : 1;  /**< Write 1 to clear PTP interrupt enable */
6585215976Sjmallett	uint64_t agl                          : 1;  /**< Write 1 to clear AGL interrupt enable */
6586215976Sjmallett	uint64_t reserved_37_45               : 9;
6587215976Sjmallett	uint64_t agx0                         : 1;  /**< Write 1 to clear GMX0 interrupt enable */
6588215976Sjmallett	uint64_t dpi                          : 1;  /**< Write 1 to clear DPI interrupt enable */
6589215976Sjmallett	uint64_t sli                          : 1;  /**< Write 1 to clear SLI interrupt enable */
6590215976Sjmallett	uint64_t usb                          : 1;  /**< Write 1 to clear USB UCTL0 interrupt enable */
6591215976Sjmallett	uint64_t dfa                          : 1;  /**< Write 1 to clear DFA interrupt enable */
6592215976Sjmallett	uint64_t key                          : 1;  /**< Write 1 to clear KEY interrupt enable */
6593215976Sjmallett	uint64_t rad                          : 1;  /**< Write 1 to clear RAD interrupt enable */
6594215976Sjmallett	uint64_t tim                          : 1;  /**< Write 1 to clear TIM interrupt enable */
6595215976Sjmallett	uint64_t zip                          : 1;  /**< Write 1 to clear ZIP interrupt enable */
6596215976Sjmallett	uint64_t pko                          : 1;  /**< Write 1 to clear PKO interrupt enable */
6597215976Sjmallett	uint64_t pip                          : 1;  /**< Write 1 to clear PIP interrupt enable */
6598215976Sjmallett	uint64_t ipd                          : 1;  /**< Write 1 to clear IPD interrupt enable */
6599215976Sjmallett	uint64_t l2c                          : 1;  /**< Write 1 to clear L2C interrupt enable */
6600215976Sjmallett	uint64_t pow                          : 1;  /**< Write 1 to clear POW err interrupt enable */
6601215976Sjmallett	uint64_t fpa                          : 1;  /**< Write 1 to clear FPA interrupt enable */
6602215976Sjmallett	uint64_t iob                          : 1;  /**< Write 1 to clear IOB interrupt enable */
6603215976Sjmallett	uint64_t mio                          : 1;  /**< Write 1 to clear MIO boot interrupt enable */
6604215976Sjmallett	uint64_t nand                         : 1;  /**< Write 1 to clear NAND Flash Controller interrupt
6605215976Sjmallett                                                         enable */
6606215976Sjmallett	uint64_t mii1                         : 1;  /**< Write 1 to clear RGMII/MII/MIX Interface 1
6607215976Sjmallett                                                         Interrupt enable */
6608215976Sjmallett	uint64_t reserved_6_17                : 12;
6609215976Sjmallett	uint64_t wdog                         : 6;  /**< Write 1s to clear Watchdog summary interrupt enable */
6610215976Sjmallett#else
6611215976Sjmallett	uint64_t wdog                         : 6;
6612215976Sjmallett	uint64_t reserved_6_17                : 12;
6613215976Sjmallett	uint64_t mii1                         : 1;
6614215976Sjmallett	uint64_t nand                         : 1;
6615215976Sjmallett	uint64_t mio                          : 1;
6616215976Sjmallett	uint64_t iob                          : 1;
6617215976Sjmallett	uint64_t fpa                          : 1;
6618215976Sjmallett	uint64_t pow                          : 1;
6619215976Sjmallett	uint64_t l2c                          : 1;
6620215976Sjmallett	uint64_t ipd                          : 1;
6621215976Sjmallett	uint64_t pip                          : 1;
6622215976Sjmallett	uint64_t pko                          : 1;
6623215976Sjmallett	uint64_t zip                          : 1;
6624215976Sjmallett	uint64_t tim                          : 1;
6625215976Sjmallett	uint64_t rad                          : 1;
6626215976Sjmallett	uint64_t key                          : 1;
6627215976Sjmallett	uint64_t dfa                          : 1;
6628215976Sjmallett	uint64_t usb                          : 1;
6629215976Sjmallett	uint64_t sli                          : 1;
6630215976Sjmallett	uint64_t dpi                          : 1;
6631215976Sjmallett	uint64_t agx0                         : 1;
6632215976Sjmallett	uint64_t reserved_37_45               : 9;
6633215976Sjmallett	uint64_t agl                          : 1;
6634215976Sjmallett	uint64_t ptp                          : 1;
6635215976Sjmallett	uint64_t pem0                         : 1;
6636215976Sjmallett	uint64_t pem1                         : 1;
6637215976Sjmallett	uint64_t srio0                        : 1;
6638215976Sjmallett	uint64_t srio1                        : 1;
6639215976Sjmallett	uint64_t lmc0                         : 1;
6640215976Sjmallett	uint64_t reserved_53_55               : 3;
6641215976Sjmallett	uint64_t dfm                          : 1;
6642215976Sjmallett	uint64_t reserved_57_62               : 6;
6643215976Sjmallett	uint64_t rst                          : 1;
6644215976Sjmallett#endif
6645215976Sjmallett	} cn63xx;
6646215976Sjmallett	struct cvmx_ciu_intx_en4_1_w1c_cn63xx cn63xxp1;
6647232812Sjmallett	struct cvmx_ciu_intx_en4_1_w1c_cn66xx {
6648232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
6649232812Sjmallett	uint64_t rst                          : 1;  /**< Write 1 to clear MIO RST interrupt enable */
6650232812Sjmallett	uint64_t reserved_62_62               : 1;
6651232812Sjmallett	uint64_t srio3                        : 1;  /**< Write 1 to clear SRIO3 interrupt enable */
6652232812Sjmallett	uint64_t srio2                        : 1;  /**< Write 1 to clear SRIO2 interrupt enable */
6653232812Sjmallett	uint64_t reserved_57_59               : 3;
6654232812Sjmallett	uint64_t dfm                          : 1;  /**< Write 1 to clear DFM interrupt enable */
6655232812Sjmallett	uint64_t reserved_53_55               : 3;
6656232812Sjmallett	uint64_t lmc0                         : 1;  /**< Write 1 to clear LMC0 interrupt enable */
6657232812Sjmallett	uint64_t reserved_51_51               : 1;
6658232812Sjmallett	uint64_t srio0                        : 1;  /**< Write 1 to clear SRIO0 interrupt enable */
6659232812Sjmallett	uint64_t pem1                         : 1;  /**< Write 1 to clear PEM1 interrupt enable */
6660232812Sjmallett	uint64_t pem0                         : 1;  /**< Write 1 to clear PEM0 interrupt enable */
6661232812Sjmallett	uint64_t ptp                          : 1;  /**< Write 1 to clear PTP interrupt enable */
6662232812Sjmallett	uint64_t agl                          : 1;  /**< Write 1 to clear AGL interrupt enable */
6663232812Sjmallett	uint64_t reserved_38_45               : 8;
6664232812Sjmallett	uint64_t agx1                         : 1;  /**< Write 1 to clear GMX1 interrupt enable */
6665232812Sjmallett	uint64_t agx0                         : 1;  /**< Write 1 to clear GMX0 interrupt enable */
6666232812Sjmallett	uint64_t dpi                          : 1;  /**< Write 1 to clear DPI interrupt enable */
6667232812Sjmallett	uint64_t sli                          : 1;  /**< Write 1 to clear SLI interrupt enable */
6668232812Sjmallett	uint64_t usb                          : 1;  /**< Write 1 to clear USB UCTL0 interrupt enable */
6669232812Sjmallett	uint64_t dfa                          : 1;  /**< Write 1 to clear DFA interrupt enable */
6670232812Sjmallett	uint64_t key                          : 1;  /**< Write 1 to clear KEY interrupt enable */
6671232812Sjmallett	uint64_t rad                          : 1;  /**< Write 1 to clear RAD interrupt enable */
6672232812Sjmallett	uint64_t tim                          : 1;  /**< Write 1 to clear TIM interrupt enable */
6673232812Sjmallett	uint64_t zip                          : 1;  /**< Write 1 to clear ZIP interrupt enable */
6674232812Sjmallett	uint64_t pko                          : 1;  /**< Write 1 to clear PKO interrupt enable */
6675232812Sjmallett	uint64_t pip                          : 1;  /**< Write 1 to clear PIP interrupt enable */
6676232812Sjmallett	uint64_t ipd                          : 1;  /**< Write 1 to clear IPD interrupt enable */
6677232812Sjmallett	uint64_t l2c                          : 1;  /**< Write 1 to clear L2C interrupt enable */
6678232812Sjmallett	uint64_t pow                          : 1;  /**< Write 1 to clear POW err interrupt enable */
6679232812Sjmallett	uint64_t fpa                          : 1;  /**< Write 1 to clear FPA interrupt enable */
6680232812Sjmallett	uint64_t iob                          : 1;  /**< Write 1 to clear IOB interrupt enable */
6681232812Sjmallett	uint64_t mio                          : 1;  /**< Write 1 to clear MIO boot interrupt enable */
6682232812Sjmallett	uint64_t nand                         : 1;  /**< Write 1 to clear NAND Flash Controller interrupt
6683232812Sjmallett                                                         enable */
6684232812Sjmallett	uint64_t mii1                         : 1;  /**< Write 1 to clear RGMII/MII/MIX Interface 1
6685232812Sjmallett                                                         Interrupt enable */
6686232812Sjmallett	uint64_t reserved_10_17               : 8;
6687232812Sjmallett	uint64_t wdog                         : 10; /**< Write 1s to clear Watchdog summary interrupt enable */
6688232812Sjmallett#else
6689232812Sjmallett	uint64_t wdog                         : 10;
6690232812Sjmallett	uint64_t reserved_10_17               : 8;
6691232812Sjmallett	uint64_t mii1                         : 1;
6692232812Sjmallett	uint64_t nand                         : 1;
6693232812Sjmallett	uint64_t mio                          : 1;
6694232812Sjmallett	uint64_t iob                          : 1;
6695232812Sjmallett	uint64_t fpa                          : 1;
6696232812Sjmallett	uint64_t pow                          : 1;
6697232812Sjmallett	uint64_t l2c                          : 1;
6698232812Sjmallett	uint64_t ipd                          : 1;
6699232812Sjmallett	uint64_t pip                          : 1;
6700232812Sjmallett	uint64_t pko                          : 1;
6701232812Sjmallett	uint64_t zip                          : 1;
6702232812Sjmallett	uint64_t tim                          : 1;
6703232812Sjmallett	uint64_t rad                          : 1;
6704232812Sjmallett	uint64_t key                          : 1;
6705232812Sjmallett	uint64_t dfa                          : 1;
6706232812Sjmallett	uint64_t usb                          : 1;
6707232812Sjmallett	uint64_t sli                          : 1;
6708232812Sjmallett	uint64_t dpi                          : 1;
6709232812Sjmallett	uint64_t agx0                         : 1;
6710232812Sjmallett	uint64_t agx1                         : 1;
6711232812Sjmallett	uint64_t reserved_38_45               : 8;
6712232812Sjmallett	uint64_t agl                          : 1;
6713232812Sjmallett	uint64_t ptp                          : 1;
6714232812Sjmallett	uint64_t pem0                         : 1;
6715232812Sjmallett	uint64_t pem1                         : 1;
6716232812Sjmallett	uint64_t srio0                        : 1;
6717232812Sjmallett	uint64_t reserved_51_51               : 1;
6718232812Sjmallett	uint64_t lmc0                         : 1;
6719232812Sjmallett	uint64_t reserved_53_55               : 3;
6720232812Sjmallett	uint64_t dfm                          : 1;
6721232812Sjmallett	uint64_t reserved_57_59               : 3;
6722232812Sjmallett	uint64_t srio2                        : 1;
6723232812Sjmallett	uint64_t srio3                        : 1;
6724232812Sjmallett	uint64_t reserved_62_62               : 1;
6725232812Sjmallett	uint64_t rst                          : 1;
6726232812Sjmallett#endif
6727232812Sjmallett	} cn66xx;
6728232812Sjmallett	struct cvmx_ciu_intx_en4_1_w1c_cnf71xx {
6729232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
6730232812Sjmallett	uint64_t rst                          : 1;  /**< Write 1 to clear MIO RST interrupt enable */
6731232812Sjmallett	uint64_t reserved_53_62               : 10;
6732232812Sjmallett	uint64_t lmc0                         : 1;  /**< Write 1 to clear LMC0 interrupt enable */
6733232812Sjmallett	uint64_t reserved_50_51               : 2;
6734232812Sjmallett	uint64_t pem1                         : 1;  /**< Write 1 to clear PEM1 interrupt enable */
6735232812Sjmallett	uint64_t pem0                         : 1;  /**< Write 1 to clear PEM0 interrupt enable */
6736232812Sjmallett	uint64_t ptp                          : 1;  /**< Write 1 to clear PTP interrupt enable */
6737232812Sjmallett	uint64_t reserved_41_46               : 6;
6738232812Sjmallett	uint64_t dpi_dma                      : 1;  /**< Write 1 to clear DPI_DMA interrupt enable */
6739232812Sjmallett	uint64_t reserved_37_39               : 3;
6740232812Sjmallett	uint64_t agx0                         : 1;  /**< Write 1 to clear GMX0 interrupt enable */
6741232812Sjmallett	uint64_t dpi                          : 1;  /**< Write 1 to clear DPI interrupt enable */
6742232812Sjmallett	uint64_t sli                          : 1;  /**< Write 1 to clear SLI interrupt enable */
6743232812Sjmallett	uint64_t usb                          : 1;  /**< Write 1 to clear USB UCTL0 interrupt enable */
6744232812Sjmallett	uint64_t reserved_32_32               : 1;
6745232812Sjmallett	uint64_t key                          : 1;  /**< Write 1 to clear KEY interrupt enable */
6746232812Sjmallett	uint64_t rad                          : 1;  /**< Write 1 to clear RAD interrupt enable */
6747232812Sjmallett	uint64_t tim                          : 1;  /**< Write 1 to clear TIM interrupt enable */
6748232812Sjmallett	uint64_t reserved_28_28               : 1;
6749232812Sjmallett	uint64_t pko                          : 1;  /**< Write 1 to clear PKO interrupt enable */
6750232812Sjmallett	uint64_t pip                          : 1;  /**< Write 1 to clear PIP interrupt enable */
6751232812Sjmallett	uint64_t ipd                          : 1;  /**< Write 1 to clear IPD interrupt enable */
6752232812Sjmallett	uint64_t l2c                          : 1;  /**< Write 1 to clear L2C interrupt enable */
6753232812Sjmallett	uint64_t pow                          : 1;  /**< Write 1 to clear POW err interrupt enable */
6754232812Sjmallett	uint64_t fpa                          : 1;  /**< Write 1 to clear FPA interrupt enable */
6755232812Sjmallett	uint64_t iob                          : 1;  /**< Write 1 to clear IOB interrupt enable */
6756232812Sjmallett	uint64_t mio                          : 1;  /**< Write 1 to clear MIO boot interrupt enable */
6757232812Sjmallett	uint64_t nand                         : 1;  /**< Write 1 to clear EMMC Flash Controller interrupt
6758232812Sjmallett                                                         enable */
6759232812Sjmallett	uint64_t reserved_4_18                : 15;
6760232812Sjmallett	uint64_t wdog                         : 4;  /**< Write 1s to clear Watchdog summary interrupt enable */
6761232812Sjmallett#else
6762232812Sjmallett	uint64_t wdog                         : 4;
6763232812Sjmallett	uint64_t reserved_4_18                : 15;
6764232812Sjmallett	uint64_t nand                         : 1;
6765232812Sjmallett	uint64_t mio                          : 1;
6766232812Sjmallett	uint64_t iob                          : 1;
6767232812Sjmallett	uint64_t fpa                          : 1;
6768232812Sjmallett	uint64_t pow                          : 1;
6769232812Sjmallett	uint64_t l2c                          : 1;
6770232812Sjmallett	uint64_t ipd                          : 1;
6771232812Sjmallett	uint64_t pip                          : 1;
6772232812Sjmallett	uint64_t pko                          : 1;
6773232812Sjmallett	uint64_t reserved_28_28               : 1;
6774232812Sjmallett	uint64_t tim                          : 1;
6775232812Sjmallett	uint64_t rad                          : 1;
6776232812Sjmallett	uint64_t key                          : 1;
6777232812Sjmallett	uint64_t reserved_32_32               : 1;
6778232812Sjmallett	uint64_t usb                          : 1;
6779232812Sjmallett	uint64_t sli                          : 1;
6780232812Sjmallett	uint64_t dpi                          : 1;
6781232812Sjmallett	uint64_t agx0                         : 1;
6782232812Sjmallett	uint64_t reserved_37_39               : 3;
6783232812Sjmallett	uint64_t dpi_dma                      : 1;
6784232812Sjmallett	uint64_t reserved_41_46               : 6;
6785232812Sjmallett	uint64_t ptp                          : 1;
6786232812Sjmallett	uint64_t pem0                         : 1;
6787232812Sjmallett	uint64_t pem1                         : 1;
6788232812Sjmallett	uint64_t reserved_50_51               : 2;
6789232812Sjmallett	uint64_t lmc0                         : 1;
6790232812Sjmallett	uint64_t reserved_53_62               : 10;
6791232812Sjmallett	uint64_t rst                          : 1;
6792232812Sjmallett#endif
6793232812Sjmallett	} cnf71xx;
6794215976Sjmallett};
6795215976Sjmalletttypedef union cvmx_ciu_intx_en4_1_w1c cvmx_ciu_intx_en4_1_w1c_t;
6796215976Sjmallett
6797215976Sjmallett/**
6798215976Sjmallett * cvmx_ciu_int#_en4_1_w1s
6799215976Sjmallett *
6800215976Sjmallett * Notes:
6801232812Sjmallett * Write-1-to-set version of the CIU_INTX_EN4_1 register, read back corresponding CIU_INTX_EN4_1 value.
6802215976Sjmallett *
6803215976Sjmallett */
6804232812Sjmallettunion cvmx_ciu_intx_en4_1_w1s {
6805215976Sjmallett	uint64_t u64;
6806232812Sjmallett	struct cvmx_ciu_intx_en4_1_w1s_s {
6807232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
6808215976Sjmallett	uint64_t rst                          : 1;  /**< Write 1 to set MIO RST interrupt enable */
6809232812Sjmallett	uint64_t reserved_62_62               : 1;
6810232812Sjmallett	uint64_t srio3                        : 1;  /**< Write 1 to set SRIO3 interrupt enable */
6811232812Sjmallett	uint64_t srio2                        : 1;  /**< Write 1 to set SRIO2 interrupt enable */
6812232812Sjmallett	uint64_t reserved_57_59               : 3;
6813215976Sjmallett	uint64_t dfm                          : 1;  /**< Write 1 to set DFM interrupt enable */
6814215976Sjmallett	uint64_t reserved_53_55               : 3;
6815215976Sjmallett	uint64_t lmc0                         : 1;  /**< Write 1 to set LMC0 interrupt enable */
6816215976Sjmallett	uint64_t srio1                        : 1;  /**< Write 1 to set SRIO1 interrupt enable */
6817215976Sjmallett	uint64_t srio0                        : 1;  /**< Write 1 to set SRIO0 interrupt enable */
6818215976Sjmallett	uint64_t pem1                         : 1;  /**< Write 1 to set PEM1 interrupt enable */
6819215976Sjmallett	uint64_t pem0                         : 1;  /**< Write 1 to set PEM0 interrupt enable */
6820215976Sjmallett	uint64_t ptp                          : 1;  /**< Write 1 to set PTP interrupt enable */
6821215976Sjmallett	uint64_t agl                          : 1;  /**< Write 1 to set AGL interrupt enable */
6822232812Sjmallett	uint64_t reserved_41_45               : 5;
6823232812Sjmallett	uint64_t dpi_dma                      : 1;  /**< Write 1 to set DPI_DMA interrupt enable */
6824232812Sjmallett	uint64_t reserved_38_39               : 2;
6825232812Sjmallett	uint64_t agx1                         : 1;  /**< Write 1 to set GMX1 interrupt enable */
6826215976Sjmallett	uint64_t agx0                         : 1;  /**< Write 1 to set GMX0 interrupt enable */
6827215976Sjmallett	uint64_t dpi                          : 1;  /**< Write 1 to set DPI interrupt enable */
6828215976Sjmallett	uint64_t sli                          : 1;  /**< Write 1 to set SLI interrupt enable */
6829215976Sjmallett	uint64_t usb                          : 1;  /**< Write 1 to set USB UCTL0 interrupt enable */
6830215976Sjmallett	uint64_t dfa                          : 1;  /**< Write 1 to set DFA interrupt enable */
6831215976Sjmallett	uint64_t key                          : 1;  /**< Write 1 to set KEY interrupt enable */
6832215976Sjmallett	uint64_t rad                          : 1;  /**< Write 1 to set RAD interrupt enable */
6833215976Sjmallett	uint64_t tim                          : 1;  /**< Write 1 to set TIM interrupt enable */
6834215976Sjmallett	uint64_t zip                          : 1;  /**< Write 1 to set ZIP interrupt enable */
6835215976Sjmallett	uint64_t pko                          : 1;  /**< Write 1 to set PKO interrupt enable */
6836215976Sjmallett	uint64_t pip                          : 1;  /**< Write 1 to set PIP interrupt enable */
6837215976Sjmallett	uint64_t ipd                          : 1;  /**< Write 1 to set IPD interrupt enable */
6838215976Sjmallett	uint64_t l2c                          : 1;  /**< Write 1 to set L2C interrupt enable */
6839215976Sjmallett	uint64_t pow                          : 1;  /**< Write 1 to set POW err interrupt enable */
6840215976Sjmallett	uint64_t fpa                          : 1;  /**< Write 1 to set FPA interrupt enable */
6841215976Sjmallett	uint64_t iob                          : 1;  /**< Write 1 to set IOB interrupt enable */
6842215976Sjmallett	uint64_t mio                          : 1;  /**< Write 1 to set MIO boot interrupt enable */
6843232812Sjmallett	uint64_t nand                         : 1;  /**< Write 1 to set EMMC Flash Controller interrupt
6844215976Sjmallett                                                         enable */
6845215976Sjmallett	uint64_t mii1                         : 1;  /**< Write 1 to set RGMII/MII/MIX Interface 1 Interrupt
6846215976Sjmallett                                                         enable */
6847215976Sjmallett	uint64_t usb1                         : 1;  /**< Second USB Interrupt */
6848215976Sjmallett	uint64_t uart2                        : 1;  /**< Third UART interrupt */
6849215976Sjmallett	uint64_t wdog                         : 16; /**< Write 1s to set Watchdog summary interrupt enable */
6850215976Sjmallett#else
6851215976Sjmallett	uint64_t wdog                         : 16;
6852215976Sjmallett	uint64_t uart2                        : 1;
6853215976Sjmallett	uint64_t usb1                         : 1;
6854215976Sjmallett	uint64_t mii1                         : 1;
6855215976Sjmallett	uint64_t nand                         : 1;
6856215976Sjmallett	uint64_t mio                          : 1;
6857215976Sjmallett	uint64_t iob                          : 1;
6858215976Sjmallett	uint64_t fpa                          : 1;
6859215976Sjmallett	uint64_t pow                          : 1;
6860215976Sjmallett	uint64_t l2c                          : 1;
6861215976Sjmallett	uint64_t ipd                          : 1;
6862215976Sjmallett	uint64_t pip                          : 1;
6863215976Sjmallett	uint64_t pko                          : 1;
6864215976Sjmallett	uint64_t zip                          : 1;
6865215976Sjmallett	uint64_t tim                          : 1;
6866215976Sjmallett	uint64_t rad                          : 1;
6867215976Sjmallett	uint64_t key                          : 1;
6868215976Sjmallett	uint64_t dfa                          : 1;
6869215976Sjmallett	uint64_t usb                          : 1;
6870215976Sjmallett	uint64_t sli                          : 1;
6871215976Sjmallett	uint64_t dpi                          : 1;
6872215976Sjmallett	uint64_t agx0                         : 1;
6873232812Sjmallett	uint64_t agx1                         : 1;
6874232812Sjmallett	uint64_t reserved_38_39               : 2;
6875232812Sjmallett	uint64_t dpi_dma                      : 1;
6876232812Sjmallett	uint64_t reserved_41_45               : 5;
6877215976Sjmallett	uint64_t agl                          : 1;
6878215976Sjmallett	uint64_t ptp                          : 1;
6879215976Sjmallett	uint64_t pem0                         : 1;
6880215976Sjmallett	uint64_t pem1                         : 1;
6881215976Sjmallett	uint64_t srio0                        : 1;
6882215976Sjmallett	uint64_t srio1                        : 1;
6883215976Sjmallett	uint64_t lmc0                         : 1;
6884215976Sjmallett	uint64_t reserved_53_55               : 3;
6885215976Sjmallett	uint64_t dfm                          : 1;
6886232812Sjmallett	uint64_t reserved_57_59               : 3;
6887232812Sjmallett	uint64_t srio2                        : 1;
6888232812Sjmallett	uint64_t srio3                        : 1;
6889232812Sjmallett	uint64_t reserved_62_62               : 1;
6890215976Sjmallett	uint64_t rst                          : 1;
6891215976Sjmallett#endif
6892215976Sjmallett	} s;
6893232812Sjmallett	struct cvmx_ciu_intx_en4_1_w1s_cn52xx {
6894232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
6895215976Sjmallett	uint64_t reserved_20_63               : 44;
6896215976Sjmallett	uint64_t nand                         : 1;  /**< NAND Flash Controller */
6897215976Sjmallett	uint64_t mii1                         : 1;  /**< Second MII Interrupt */
6898215976Sjmallett	uint64_t usb1                         : 1;  /**< Second USB Interrupt */
6899215976Sjmallett	uint64_t uart2                        : 1;  /**< Third UART interrupt */
6900215976Sjmallett	uint64_t reserved_4_15                : 12;
6901215976Sjmallett	uint64_t wdog                         : 4;  /**< Watchdog summary interrupt enable vector */
6902215976Sjmallett#else
6903215976Sjmallett	uint64_t wdog                         : 4;
6904215976Sjmallett	uint64_t reserved_4_15                : 12;
6905215976Sjmallett	uint64_t uart2                        : 1;
6906215976Sjmallett	uint64_t usb1                         : 1;
6907215976Sjmallett	uint64_t mii1                         : 1;
6908215976Sjmallett	uint64_t nand                         : 1;
6909215976Sjmallett	uint64_t reserved_20_63               : 44;
6910215976Sjmallett#endif
6911215976Sjmallett	} cn52xx;
6912232812Sjmallett	struct cvmx_ciu_intx_en4_1_w1s_cn56xx {
6913232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
6914215976Sjmallett	uint64_t reserved_12_63               : 52;
6915215976Sjmallett	uint64_t wdog                         : 12; /**< Watchdog summary interrupt enable vectory */
6916215976Sjmallett#else
6917215976Sjmallett	uint64_t wdog                         : 12;
6918215976Sjmallett	uint64_t reserved_12_63               : 52;
6919215976Sjmallett#endif
6920215976Sjmallett	} cn56xx;
6921232812Sjmallett	struct cvmx_ciu_intx_en4_1_w1s_cn58xx {
6922232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
6923215976Sjmallett	uint64_t reserved_16_63               : 48;
6924215976Sjmallett	uint64_t wdog                         : 16; /**< Watchdog summary interrupt enable vectory */
6925215976Sjmallett#else
6926215976Sjmallett	uint64_t wdog                         : 16;
6927215976Sjmallett	uint64_t reserved_16_63               : 48;
6928215976Sjmallett#endif
6929215976Sjmallett	} cn58xx;
6930232812Sjmallett	struct cvmx_ciu_intx_en4_1_w1s_cn61xx {
6931232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
6932215976Sjmallett	uint64_t rst                          : 1;  /**< Write 1 to set MIO RST interrupt enable */
6933232812Sjmallett	uint64_t reserved_53_62               : 10;
6934232812Sjmallett	uint64_t lmc0                         : 1;  /**< Write 1 to set LMC0 interrupt enable */
6935232812Sjmallett	uint64_t reserved_50_51               : 2;
6936232812Sjmallett	uint64_t pem1                         : 1;  /**< Write 1 to set PEM1 interrupt enable */
6937232812Sjmallett	uint64_t pem0                         : 1;  /**< Write 1 to set PEM0 interrupt enable */
6938232812Sjmallett	uint64_t ptp                          : 1;  /**< Write 1 to set PTP interrupt enable */
6939232812Sjmallett	uint64_t agl                          : 1;  /**< Write 1 to set AGL interrupt enable */
6940232812Sjmallett	uint64_t reserved_41_45               : 5;
6941232812Sjmallett	uint64_t dpi_dma                      : 1;  /**< Write 1 to set DPI_DMA interrupt enable */
6942232812Sjmallett	uint64_t reserved_38_39               : 2;
6943232812Sjmallett	uint64_t agx1                         : 1;  /**< Write 1 to set GMX1 interrupt enable */
6944232812Sjmallett	uint64_t agx0                         : 1;  /**< Write 1 to set GMX0 interrupt enable */
6945232812Sjmallett	uint64_t dpi                          : 1;  /**< Write 1 to set DPI interrupt enable */
6946232812Sjmallett	uint64_t sli                          : 1;  /**< Write 1 to set SLI interrupt enable */
6947232812Sjmallett	uint64_t usb                          : 1;  /**< Write 1 to set USB UCTL0 interrupt enable */
6948232812Sjmallett	uint64_t dfa                          : 1;  /**< Write 1 to set DFA interrupt enable */
6949232812Sjmallett	uint64_t key                          : 1;  /**< Write 1 to set KEY interrupt enable */
6950232812Sjmallett	uint64_t rad                          : 1;  /**< Write 1 to set RAD interrupt enable */
6951232812Sjmallett	uint64_t tim                          : 1;  /**< Write 1 to set TIM interrupt enable */
6952232812Sjmallett	uint64_t zip                          : 1;  /**< Write 1 to set ZIP interrupt enable */
6953232812Sjmallett	uint64_t pko                          : 1;  /**< Write 1 to set PKO interrupt enable */
6954232812Sjmallett	uint64_t pip                          : 1;  /**< Write 1 to set PIP interrupt enable */
6955232812Sjmallett	uint64_t ipd                          : 1;  /**< Write 1 to set IPD interrupt enable */
6956232812Sjmallett	uint64_t l2c                          : 1;  /**< Write 1 to set L2C interrupt enable */
6957232812Sjmallett	uint64_t pow                          : 1;  /**< Write 1 to set POW err interrupt enable */
6958232812Sjmallett	uint64_t fpa                          : 1;  /**< Write 1 to set FPA interrupt enable */
6959232812Sjmallett	uint64_t iob                          : 1;  /**< Write 1 to set IOB interrupt enable */
6960232812Sjmallett	uint64_t mio                          : 1;  /**< Write 1 to set MIO boot interrupt enable */
6961232812Sjmallett	uint64_t nand                         : 1;  /**< Write 1 to set EMMC Flash Controller interrupt
6962232812Sjmallett                                                         enable */
6963232812Sjmallett	uint64_t mii1                         : 1;  /**< Write 1 to set RGMII/MIX Interface 1 Interrupt
6964232812Sjmallett                                                         enable */
6965232812Sjmallett	uint64_t reserved_4_17                : 14;
6966232812Sjmallett	uint64_t wdog                         : 4;  /**< Write 1s to set Watchdog summary interrupt enable */
6967232812Sjmallett#else
6968232812Sjmallett	uint64_t wdog                         : 4;
6969232812Sjmallett	uint64_t reserved_4_17                : 14;
6970232812Sjmallett	uint64_t mii1                         : 1;
6971232812Sjmallett	uint64_t nand                         : 1;
6972232812Sjmallett	uint64_t mio                          : 1;
6973232812Sjmallett	uint64_t iob                          : 1;
6974232812Sjmallett	uint64_t fpa                          : 1;
6975232812Sjmallett	uint64_t pow                          : 1;
6976232812Sjmallett	uint64_t l2c                          : 1;
6977232812Sjmallett	uint64_t ipd                          : 1;
6978232812Sjmallett	uint64_t pip                          : 1;
6979232812Sjmallett	uint64_t pko                          : 1;
6980232812Sjmallett	uint64_t zip                          : 1;
6981232812Sjmallett	uint64_t tim                          : 1;
6982232812Sjmallett	uint64_t rad                          : 1;
6983232812Sjmallett	uint64_t key                          : 1;
6984232812Sjmallett	uint64_t dfa                          : 1;
6985232812Sjmallett	uint64_t usb                          : 1;
6986232812Sjmallett	uint64_t sli                          : 1;
6987232812Sjmallett	uint64_t dpi                          : 1;
6988232812Sjmallett	uint64_t agx0                         : 1;
6989232812Sjmallett	uint64_t agx1                         : 1;
6990232812Sjmallett	uint64_t reserved_38_39               : 2;
6991232812Sjmallett	uint64_t dpi_dma                      : 1;
6992232812Sjmallett	uint64_t reserved_41_45               : 5;
6993232812Sjmallett	uint64_t agl                          : 1;
6994232812Sjmallett	uint64_t ptp                          : 1;
6995232812Sjmallett	uint64_t pem0                         : 1;
6996232812Sjmallett	uint64_t pem1                         : 1;
6997232812Sjmallett	uint64_t reserved_50_51               : 2;
6998232812Sjmallett	uint64_t lmc0                         : 1;
6999232812Sjmallett	uint64_t reserved_53_62               : 10;
7000232812Sjmallett	uint64_t rst                          : 1;
7001232812Sjmallett#endif
7002232812Sjmallett	} cn61xx;
7003232812Sjmallett	struct cvmx_ciu_intx_en4_1_w1s_cn63xx {
7004232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
7005232812Sjmallett	uint64_t rst                          : 1;  /**< Write 1 to set MIO RST interrupt enable */
7006215976Sjmallett	uint64_t reserved_57_62               : 6;
7007215976Sjmallett	uint64_t dfm                          : 1;  /**< Write 1 to set DFM interrupt enable */
7008215976Sjmallett	uint64_t reserved_53_55               : 3;
7009215976Sjmallett	uint64_t lmc0                         : 1;  /**< Write 1 to set LMC0 interrupt enable */
7010215976Sjmallett	uint64_t srio1                        : 1;  /**< Write 1 to set SRIO1 interrupt enable */
7011215976Sjmallett	uint64_t srio0                        : 1;  /**< Write 1 to set SRIO0 interrupt enable */
7012215976Sjmallett	uint64_t pem1                         : 1;  /**< Write 1 to set PEM1 interrupt enable */
7013215976Sjmallett	uint64_t pem0                         : 1;  /**< Write 1 to set PEM0 interrupt enable */
7014215976Sjmallett	uint64_t ptp                          : 1;  /**< Write 1 to set PTP interrupt enable */
7015215976Sjmallett	uint64_t agl                          : 1;  /**< Write 1 to set AGL interrupt enable */
7016215976Sjmallett	uint64_t reserved_37_45               : 9;
7017215976Sjmallett	uint64_t agx0                         : 1;  /**< Write 1 to set GMX0 interrupt enable */
7018215976Sjmallett	uint64_t dpi                          : 1;  /**< Write 1 to set DPI interrupt enable */
7019215976Sjmallett	uint64_t sli                          : 1;  /**< Write 1 to set SLI interrupt enable */
7020215976Sjmallett	uint64_t usb                          : 1;  /**< Write 1 to set USB UCTL0 interrupt enable */
7021215976Sjmallett	uint64_t dfa                          : 1;  /**< Write 1 to set DFA interrupt enable */
7022215976Sjmallett	uint64_t key                          : 1;  /**< Write 1 to set KEY interrupt enable */
7023215976Sjmallett	uint64_t rad                          : 1;  /**< Write 1 to set RAD interrupt enable */
7024215976Sjmallett	uint64_t tim                          : 1;  /**< Write 1 to set TIM interrupt enable */
7025215976Sjmallett	uint64_t zip                          : 1;  /**< Write 1 to set ZIP interrupt enable */
7026215976Sjmallett	uint64_t pko                          : 1;  /**< Write 1 to set PKO interrupt enable */
7027215976Sjmallett	uint64_t pip                          : 1;  /**< Write 1 to set PIP interrupt enable */
7028215976Sjmallett	uint64_t ipd                          : 1;  /**< Write 1 to set IPD interrupt enable */
7029215976Sjmallett	uint64_t l2c                          : 1;  /**< Write 1 to set L2C interrupt enable */
7030215976Sjmallett	uint64_t pow                          : 1;  /**< Write 1 to set POW err interrupt enable */
7031215976Sjmallett	uint64_t fpa                          : 1;  /**< Write 1 to set FPA interrupt enable */
7032215976Sjmallett	uint64_t iob                          : 1;  /**< Write 1 to set IOB interrupt enable */
7033215976Sjmallett	uint64_t mio                          : 1;  /**< Write 1 to set MIO boot interrupt enable */
7034215976Sjmallett	uint64_t nand                         : 1;  /**< Write 1 to set NAND Flash Controller interrupt
7035215976Sjmallett                                                         enable */
7036215976Sjmallett	uint64_t mii1                         : 1;  /**< Write 1 to set RGMII/MII/MIX Interface 1 Interrupt
7037215976Sjmallett                                                         enable */
7038215976Sjmallett	uint64_t reserved_6_17                : 12;
7039215976Sjmallett	uint64_t wdog                         : 6;  /**< Write 1s to set Watchdog summary interrupt enable */
7040215976Sjmallett#else
7041215976Sjmallett	uint64_t wdog                         : 6;
7042215976Sjmallett	uint64_t reserved_6_17                : 12;
7043215976Sjmallett	uint64_t mii1                         : 1;
7044215976Sjmallett	uint64_t nand                         : 1;
7045215976Sjmallett	uint64_t mio                          : 1;
7046215976Sjmallett	uint64_t iob                          : 1;
7047215976Sjmallett	uint64_t fpa                          : 1;
7048215976Sjmallett	uint64_t pow                          : 1;
7049215976Sjmallett	uint64_t l2c                          : 1;
7050215976Sjmallett	uint64_t ipd                          : 1;
7051215976Sjmallett	uint64_t pip                          : 1;
7052215976Sjmallett	uint64_t pko                          : 1;
7053215976Sjmallett	uint64_t zip                          : 1;
7054215976Sjmallett	uint64_t tim                          : 1;
7055215976Sjmallett	uint64_t rad                          : 1;
7056215976Sjmallett	uint64_t key                          : 1;
7057215976Sjmallett	uint64_t dfa                          : 1;
7058215976Sjmallett	uint64_t usb                          : 1;
7059215976Sjmallett	uint64_t sli                          : 1;
7060215976Sjmallett	uint64_t dpi                          : 1;
7061215976Sjmallett	uint64_t agx0                         : 1;
7062215976Sjmallett	uint64_t reserved_37_45               : 9;
7063215976Sjmallett	uint64_t agl                          : 1;
7064215976Sjmallett	uint64_t ptp                          : 1;
7065215976Sjmallett	uint64_t pem0                         : 1;
7066215976Sjmallett	uint64_t pem1                         : 1;
7067215976Sjmallett	uint64_t srio0                        : 1;
7068215976Sjmallett	uint64_t srio1                        : 1;
7069215976Sjmallett	uint64_t lmc0                         : 1;
7070215976Sjmallett	uint64_t reserved_53_55               : 3;
7071215976Sjmallett	uint64_t dfm                          : 1;
7072215976Sjmallett	uint64_t reserved_57_62               : 6;
7073215976Sjmallett	uint64_t rst                          : 1;
7074215976Sjmallett#endif
7075215976Sjmallett	} cn63xx;
7076215976Sjmallett	struct cvmx_ciu_intx_en4_1_w1s_cn63xx cn63xxp1;
7077232812Sjmallett	struct cvmx_ciu_intx_en4_1_w1s_cn66xx {
7078232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
7079232812Sjmallett	uint64_t rst                          : 1;  /**< Write 1 to set MIO RST interrupt enable */
7080232812Sjmallett	uint64_t reserved_62_62               : 1;
7081232812Sjmallett	uint64_t srio3                        : 1;  /**< Write 1 to set SRIO3 interrupt enable */
7082232812Sjmallett	uint64_t srio2                        : 1;  /**< Write 1 to set SRIO2 interrupt enable */
7083232812Sjmallett	uint64_t reserved_57_59               : 3;
7084232812Sjmallett	uint64_t dfm                          : 1;  /**< Write 1 to set DFM interrupt enable */
7085232812Sjmallett	uint64_t reserved_53_55               : 3;
7086232812Sjmallett	uint64_t lmc0                         : 1;  /**< Write 1 to set LMC0 interrupt enable */
7087232812Sjmallett	uint64_t reserved_51_51               : 1;
7088232812Sjmallett	uint64_t srio0                        : 1;  /**< Write 1 to set SRIO0 interrupt enable */
7089232812Sjmallett	uint64_t pem1                         : 1;  /**< Write 1 to set PEM1 interrupt enable */
7090232812Sjmallett	uint64_t pem0                         : 1;  /**< Write 1 to set PEM0 interrupt enable */
7091232812Sjmallett	uint64_t ptp                          : 1;  /**< Write 1 to set PTP interrupt enable */
7092232812Sjmallett	uint64_t agl                          : 1;  /**< Write 1 to set AGL interrupt enable */
7093232812Sjmallett	uint64_t reserved_38_45               : 8;
7094232812Sjmallett	uint64_t agx1                         : 1;  /**< Write 1 to set GMX1 interrupt enable */
7095232812Sjmallett	uint64_t agx0                         : 1;  /**< Write 1 to set GMX0 interrupt enable */
7096232812Sjmallett	uint64_t dpi                          : 1;  /**< Write 1 to set DPI interrupt enable */
7097232812Sjmallett	uint64_t sli                          : 1;  /**< Write 1 to set SLI interrupt enable */
7098232812Sjmallett	uint64_t usb                          : 1;  /**< Write 1 to set USB UCTL0 interrupt enable */
7099232812Sjmallett	uint64_t dfa                          : 1;  /**< Write 1 to set DFA interrupt enable */
7100232812Sjmallett	uint64_t key                          : 1;  /**< Write 1 to set KEY interrupt enable */
7101232812Sjmallett	uint64_t rad                          : 1;  /**< Write 1 to set RAD interrupt enable */
7102232812Sjmallett	uint64_t tim                          : 1;  /**< Write 1 to set TIM interrupt enable */
7103232812Sjmallett	uint64_t zip                          : 1;  /**< Write 1 to set ZIP interrupt enable */
7104232812Sjmallett	uint64_t pko                          : 1;  /**< Write 1 to set PKO interrupt enable */
7105232812Sjmallett	uint64_t pip                          : 1;  /**< Write 1 to set PIP interrupt enable */
7106232812Sjmallett	uint64_t ipd                          : 1;  /**< Write 1 to set IPD interrupt enable */
7107232812Sjmallett	uint64_t l2c                          : 1;  /**< Write 1 to set L2C interrupt enable */
7108232812Sjmallett	uint64_t pow                          : 1;  /**< Write 1 to set POW err interrupt enable */
7109232812Sjmallett	uint64_t fpa                          : 1;  /**< Write 1 to set FPA interrupt enable */
7110232812Sjmallett	uint64_t iob                          : 1;  /**< Write 1 to set IOB interrupt enable */
7111232812Sjmallett	uint64_t mio                          : 1;  /**< Write 1 to set MIO boot interrupt enable */
7112232812Sjmallett	uint64_t nand                         : 1;  /**< Write 1 to set NAND Flash Controller interrupt
7113232812Sjmallett                                                         enable */
7114232812Sjmallett	uint64_t mii1                         : 1;  /**< Write 1 to set RGMII/MII/MIX Interface 1 Interrupt
7115232812Sjmallett                                                         enable */
7116232812Sjmallett	uint64_t reserved_10_17               : 8;
7117232812Sjmallett	uint64_t wdog                         : 10; /**< Write 1s to set Watchdog summary interrupt enable */
7118232812Sjmallett#else
7119232812Sjmallett	uint64_t wdog                         : 10;
7120232812Sjmallett	uint64_t reserved_10_17               : 8;
7121232812Sjmallett	uint64_t mii1                         : 1;
7122232812Sjmallett	uint64_t nand                         : 1;
7123232812Sjmallett	uint64_t mio                          : 1;
7124232812Sjmallett	uint64_t iob                          : 1;
7125232812Sjmallett	uint64_t fpa                          : 1;
7126232812Sjmallett	uint64_t pow                          : 1;
7127232812Sjmallett	uint64_t l2c                          : 1;
7128232812Sjmallett	uint64_t ipd                          : 1;
7129232812Sjmallett	uint64_t pip                          : 1;
7130232812Sjmallett	uint64_t pko                          : 1;
7131232812Sjmallett	uint64_t zip                          : 1;
7132232812Sjmallett	uint64_t tim                          : 1;
7133232812Sjmallett	uint64_t rad                          : 1;
7134232812Sjmallett	uint64_t key                          : 1;
7135232812Sjmallett	uint64_t dfa                          : 1;
7136232812Sjmallett	uint64_t usb                          : 1;
7137232812Sjmallett	uint64_t sli                          : 1;
7138232812Sjmallett	uint64_t dpi                          : 1;
7139232812Sjmallett	uint64_t agx0                         : 1;
7140232812Sjmallett	uint64_t agx1                         : 1;
7141232812Sjmallett	uint64_t reserved_38_45               : 8;
7142232812Sjmallett	uint64_t agl                          : 1;
7143232812Sjmallett	uint64_t ptp                          : 1;
7144232812Sjmallett	uint64_t pem0                         : 1;
7145232812Sjmallett	uint64_t pem1                         : 1;
7146232812Sjmallett	uint64_t srio0                        : 1;
7147232812Sjmallett	uint64_t reserved_51_51               : 1;
7148232812Sjmallett	uint64_t lmc0                         : 1;
7149232812Sjmallett	uint64_t reserved_53_55               : 3;
7150232812Sjmallett	uint64_t dfm                          : 1;
7151232812Sjmallett	uint64_t reserved_57_59               : 3;
7152232812Sjmallett	uint64_t srio2                        : 1;
7153232812Sjmallett	uint64_t srio3                        : 1;
7154232812Sjmallett	uint64_t reserved_62_62               : 1;
7155232812Sjmallett	uint64_t rst                          : 1;
7156232812Sjmallett#endif
7157232812Sjmallett	} cn66xx;
7158232812Sjmallett	struct cvmx_ciu_intx_en4_1_w1s_cnf71xx {
7159232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
7160232812Sjmallett	uint64_t rst                          : 1;  /**< Write 1 to set MIO RST interrupt enable */
7161232812Sjmallett	uint64_t reserved_53_62               : 10;
7162232812Sjmallett	uint64_t lmc0                         : 1;  /**< Write 1 to set LMC0 interrupt enable */
7163232812Sjmallett	uint64_t reserved_50_51               : 2;
7164232812Sjmallett	uint64_t pem1                         : 1;  /**< Write 1 to set PEM1 interrupt enable */
7165232812Sjmallett	uint64_t pem0                         : 1;  /**< Write 1 to set PEM0 interrupt enable */
7166232812Sjmallett	uint64_t ptp                          : 1;  /**< Write 1 to set PTP interrupt enable */
7167232812Sjmallett	uint64_t reserved_41_46               : 6;
7168232812Sjmallett	uint64_t dpi_dma                      : 1;  /**< Write 1 to set DPI_DMA interrupt enable */
7169232812Sjmallett	uint64_t reserved_37_39               : 3;
7170232812Sjmallett	uint64_t agx0                         : 1;  /**< Write 1 to set GMX0 interrupt enable */
7171232812Sjmallett	uint64_t dpi                          : 1;  /**< Write 1 to set DPI interrupt enable */
7172232812Sjmallett	uint64_t sli                          : 1;  /**< Write 1 to set SLI interrupt enable */
7173232812Sjmallett	uint64_t usb                          : 1;  /**< Write 1 to set USB UCTL0 interrupt enable */
7174232812Sjmallett	uint64_t reserved_32_32               : 1;
7175232812Sjmallett	uint64_t key                          : 1;  /**< Write 1 to set KEY interrupt enable */
7176232812Sjmallett	uint64_t rad                          : 1;  /**< Write 1 to set RAD interrupt enable */
7177232812Sjmallett	uint64_t tim                          : 1;  /**< Write 1 to set TIM interrupt enable */
7178232812Sjmallett	uint64_t reserved_28_28               : 1;
7179232812Sjmallett	uint64_t pko                          : 1;  /**< Write 1 to set PKO interrupt enable */
7180232812Sjmallett	uint64_t pip                          : 1;  /**< Write 1 to set PIP interrupt enable */
7181232812Sjmallett	uint64_t ipd                          : 1;  /**< Write 1 to set IPD interrupt enable */
7182232812Sjmallett	uint64_t l2c                          : 1;  /**< Write 1 to set L2C interrupt enable */
7183232812Sjmallett	uint64_t pow                          : 1;  /**< Write 1 to set POW err interrupt enable */
7184232812Sjmallett	uint64_t fpa                          : 1;  /**< Write 1 to set FPA interrupt enable */
7185232812Sjmallett	uint64_t iob                          : 1;  /**< Write 1 to set IOB interrupt enable */
7186232812Sjmallett	uint64_t mio                          : 1;  /**< Write 1 to set MIO boot interrupt enable */
7187232812Sjmallett	uint64_t nand                         : 1;  /**< Write 1 to set EMMC Flash Controller interrupt
7188232812Sjmallett                                                         enable */
7189232812Sjmallett	uint64_t reserved_4_18                : 15;
7190232812Sjmallett	uint64_t wdog                         : 4;  /**< Write 1s to set Watchdog summary interrupt enable */
7191232812Sjmallett#else
7192232812Sjmallett	uint64_t wdog                         : 4;
7193232812Sjmallett	uint64_t reserved_4_18                : 15;
7194232812Sjmallett	uint64_t nand                         : 1;
7195232812Sjmallett	uint64_t mio                          : 1;
7196232812Sjmallett	uint64_t iob                          : 1;
7197232812Sjmallett	uint64_t fpa                          : 1;
7198232812Sjmallett	uint64_t pow                          : 1;
7199232812Sjmallett	uint64_t l2c                          : 1;
7200232812Sjmallett	uint64_t ipd                          : 1;
7201232812Sjmallett	uint64_t pip                          : 1;
7202232812Sjmallett	uint64_t pko                          : 1;
7203232812Sjmallett	uint64_t reserved_28_28               : 1;
7204232812Sjmallett	uint64_t tim                          : 1;
7205232812Sjmallett	uint64_t rad                          : 1;
7206232812Sjmallett	uint64_t key                          : 1;
7207232812Sjmallett	uint64_t reserved_32_32               : 1;
7208232812Sjmallett	uint64_t usb                          : 1;
7209232812Sjmallett	uint64_t sli                          : 1;
7210232812Sjmallett	uint64_t dpi                          : 1;
7211232812Sjmallett	uint64_t agx0                         : 1;
7212232812Sjmallett	uint64_t reserved_37_39               : 3;
7213232812Sjmallett	uint64_t dpi_dma                      : 1;
7214232812Sjmallett	uint64_t reserved_41_46               : 6;
7215232812Sjmallett	uint64_t ptp                          : 1;
7216232812Sjmallett	uint64_t pem0                         : 1;
7217232812Sjmallett	uint64_t pem1                         : 1;
7218232812Sjmallett	uint64_t reserved_50_51               : 2;
7219232812Sjmallett	uint64_t lmc0                         : 1;
7220232812Sjmallett	uint64_t reserved_53_62               : 10;
7221232812Sjmallett	uint64_t rst                          : 1;
7222232812Sjmallett#endif
7223232812Sjmallett	} cnf71xx;
7224215976Sjmallett};
7225215976Sjmalletttypedef union cvmx_ciu_intx_en4_1_w1s cvmx_ciu_intx_en4_1_w1s_t;
7226215976Sjmallett
7227215976Sjmallett/**
7228215976Sjmallett * cvmx_ciu_int#_sum0
7229215976Sjmallett */
7230232812Sjmallettunion cvmx_ciu_intx_sum0 {
7231215976Sjmallett	uint64_t u64;
7232232812Sjmallett	struct cvmx_ciu_intx_sum0_s {
7233232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
7234215976Sjmallett	uint64_t bootdma                      : 1;  /**< Boot bus DMA engines Interrupt
7235215976Sjmallett                                                         See MIO_BOOT_DMA_INT*, MIO_NDF_DMA_INT */
7236215976Sjmallett	uint64_t mii                          : 1;  /**< RGMII/MII/MIX Interface 0 Interrupt
7237215976Sjmallett                                                         See MIX0_ISR */
7238215976Sjmallett	uint64_t ipdppthr                     : 1;  /**< IPD per-port counter threshold interrupt
7239215976Sjmallett                                                         See IPD_PORT_QOS_INT* */
7240215976Sjmallett	uint64_t powiq                        : 1;  /**< POW IQ interrupt
7241215976Sjmallett                                                         See POW_IQ_INT */
7242215976Sjmallett	uint64_t twsi2                        : 1;  /**< 2nd TWSI Interrupt
7243215976Sjmallett                                                         See MIO_TWS1_INT */
7244232812Sjmallett	uint64_t mpi                          : 1;  /**< MPI/SPI interrupt, Set when MPI transaction
7245232812Sjmallett                                                         finished, see MPI_CFG[INT_ENA] and MPI_STS[BUSY] */
7246215976Sjmallett	uint64_t pcm                          : 1;  /**< PCM/TDM interrupt */
7247215976Sjmallett	uint64_t usb                          : 1;  /**< USB EHCI or OHCI Interrupt
7248215976Sjmallett                                                         See UAHC0_EHCI_USBSTS UAHC0_OHCI0_HCINTERRUPTSTATUS */
7249232812Sjmallett	uint64_t timer                        : 4;  /**< General timer 0-3 interrupts.
7250232812Sjmallett                                                         When CIU_TIM_MULTI_CAST[EN] == 0, this interrupt is
7251232812Sjmallett                                                         common for all PP/IRQs, writing '1' to any PP/IRQ
7252232812Sjmallett                                                         will clear all TIMERx(x=0..9) interrupts.
7253232812Sjmallett                                                         When CIU_TIM_MULTI_CAST[EN] == 1, TIMERx(x=0..9)
7254232812Sjmallett                                                         are set at the same time, but clearing are based on
7255232812Sjmallett                                                         per cnMIPS core. See CIU_TIM_MULTI_CAST for detail.
7256232812Sjmallett                                                         The combination of this field and the
7257232812Sjmallett                                                         CIU_SUM2_*[TIMER] field implement all 10 CIU_TIM*
7258232812Sjmallett                                                         interrupts. */
7259232812Sjmallett	uint64_t reserved_51_51               : 1;
7260215976Sjmallett	uint64_t ipd_drp                      : 1;  /**< IPD QOS packet drop interrupt
7261215976Sjmallett                                                         Set any time PIP/IPD drops a packet */
7262232812Sjmallett	uint64_t gmx_drp                      : 2;  /**< GMX0/1 packet drop interrupt
7263232812Sjmallett                                                         Set any time corresponding GMX0/1 drops a packet */
7264215976Sjmallett	uint64_t trace                        : 1;  /**< Trace buffer interrupt
7265215976Sjmallett                                                         See TRA_INT_STATUS */
7266215976Sjmallett	uint64_t rml                          : 1;  /**< RML Interrupt
7267215976Sjmallett                                                         This interrupt will assert if any bit within
7268215976Sjmallett                                                         CIU_BLOCK_INT is asserted. */
7269215976Sjmallett	uint64_t twsi                         : 1;  /**< TWSI Interrupt
7270215976Sjmallett                                                         See MIO_TWS0_INT */
7271215976Sjmallett	uint64_t wdog_sum                     : 1;  /**< SUM1&EN1 summary bit
7272215976Sjmallett                                                         This read-only bit reads as a one whenever any
7273232812Sjmallett                                                         CIU_SUM1_PPX_IPx (CIU_SUM1_IOX_INT)  bit is set
7274232812Sjmallett                                                         and corresponding enable bit in CIU_INTx_EN is set
7275232812Sjmallett                                                         PPs use CIU_INTx_SUM0 where x=0-7
7276232812Sjmallett                                                         PCIe uses the CIU_INTx_SUM0 where x=32-33.
7277232812Sjmallett                                                         Note that WDOG_SUM only summarizes the SUM1/EN1
7278215976Sjmallett                                                         result and does not have a corresponding enable
7279215976Sjmallett                                                         bit, so does not directly contribute to
7280215976Sjmallett                                                         interrupts. */
7281232812Sjmallett	uint64_t pci_msi                      : 4;  /**< PCIe MSI
7282215976Sjmallett                                                         See SLI_MSI_RCVn for bit <40+n> */
7283215976Sjmallett	uint64_t pci_int                      : 4;  /**< PCIe INTA/B/C/D
7284215976Sjmallett                                                         Refer to "Receiving Emulated INTA/INTB/
7285232812Sjmallett                                                         INTC/INTD" in the SLI chapter of the spec
7286232812Sjmallett                                                         PCI_INT<3> = INTD
7287232812Sjmallett                                                         PCI_INT<2> = INTC
7288232812Sjmallett                                                         PCI_INT<1> = INTB
7289232812Sjmallett                                                         PCI_INT<0> = INTA */
7290215976Sjmallett	uint64_t uart                         : 2;  /**< Two UART interrupts
7291215976Sjmallett                                                         See MIO_UARTn_IIR[IID] for bit <34+n> */
7292215976Sjmallett	uint64_t mbox                         : 2;  /**< Two mailbox interrupts for entries 0-11
7293215976Sjmallett                                                          [33] is the or of <31:16>
7294215976Sjmallett                                                          [32] is the or of <15:0>
7295232812Sjmallett                                                         Two PCIe internal interrupts for entries 32-33
7296215976Sjmallett                                                          which equal CIU_PCI_INTA[INT] */
7297232812Sjmallett	uint64_t gpio                         : 16; /**< 16 GPIO interrupts
7298232812Sjmallett                                                         When GPIO_MULTI_CAST[EN] == 1
7299232812Sjmallett                                                         Write 1 to clear either the per PP or common GPIO
7300232812Sjmallett                                                         edge-triggered interrupts,depending on mode.
7301232812Sjmallett                                                         See GPIO_MULTI_CAST for all details.
7302232812Sjmallett                                                         When GPIO_MULTI_CAST[EN] == 0
7303232812Sjmallett                                                         Read Only, retain the same behavior as o63. */
7304215976Sjmallett	uint64_t workq                        : 16; /**< 16 work queue interrupts
7305215976Sjmallett                                                         See POW_WQ_INT[WQ_INT]
7306215976Sjmallett                                                          1 bit/group. A copy of the R/W1C bit in the POW. */
7307215976Sjmallett#else
7308215976Sjmallett	uint64_t workq                        : 16;
7309215976Sjmallett	uint64_t gpio                         : 16;
7310215976Sjmallett	uint64_t mbox                         : 2;
7311215976Sjmallett	uint64_t uart                         : 2;
7312215976Sjmallett	uint64_t pci_int                      : 4;
7313215976Sjmallett	uint64_t pci_msi                      : 4;
7314215976Sjmallett	uint64_t wdog_sum                     : 1;
7315215976Sjmallett	uint64_t twsi                         : 1;
7316215976Sjmallett	uint64_t rml                          : 1;
7317215976Sjmallett	uint64_t trace                        : 1;
7318215976Sjmallett	uint64_t gmx_drp                      : 2;
7319215976Sjmallett	uint64_t ipd_drp                      : 1;
7320232812Sjmallett	uint64_t reserved_51_51               : 1;
7321215976Sjmallett	uint64_t timer                        : 4;
7322215976Sjmallett	uint64_t usb                          : 1;
7323215976Sjmallett	uint64_t pcm                          : 1;
7324215976Sjmallett	uint64_t mpi                          : 1;
7325215976Sjmallett	uint64_t twsi2                        : 1;
7326215976Sjmallett	uint64_t powiq                        : 1;
7327215976Sjmallett	uint64_t ipdppthr                     : 1;
7328215976Sjmallett	uint64_t mii                          : 1;
7329215976Sjmallett	uint64_t bootdma                      : 1;
7330215976Sjmallett#endif
7331215976Sjmallett	} s;
7332232812Sjmallett	struct cvmx_ciu_intx_sum0_cn30xx {
7333232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
7334215976Sjmallett	uint64_t reserved_59_63               : 5;
7335215976Sjmallett	uint64_t mpi                          : 1;  /**< MPI/SPI interrupt */
7336215976Sjmallett	uint64_t pcm                          : 1;  /**< PCM/TDM interrupt */
7337215976Sjmallett	uint64_t usb                          : 1;  /**< USB interrupt */
7338215976Sjmallett	uint64_t timer                        : 4;  /**< General timer interrupts */
7339215976Sjmallett	uint64_t reserved_51_51               : 1;
7340215976Sjmallett	uint64_t ipd_drp                      : 1;  /**< IPD QOS packet drop */
7341215976Sjmallett	uint64_t reserved_49_49               : 1;
7342215976Sjmallett	uint64_t gmx_drp                      : 1;  /**< GMX packet drop */
7343215976Sjmallett	uint64_t reserved_47_47               : 1;
7344215976Sjmallett	uint64_t rml                          : 1;  /**< RML Interrupt */
7345215976Sjmallett	uint64_t twsi                         : 1;  /**< TWSI Interrupt */
7346215976Sjmallett	uint64_t wdog_sum                     : 1;  /**< Watchdog summary
7347215976Sjmallett                                                         PPs use CIU_INTx_SUM0 where x=0-1.
7348215976Sjmallett                                                         PCI uses the CIU_INTx_SUM0 where x=32.
7349215976Sjmallett                                                         Even INTx registers report WDOG to IP2
7350215976Sjmallett                                                         Odd INTx registers report WDOG to IP3 */
7351215976Sjmallett	uint64_t pci_msi                      : 4;  /**< PCI MSI
7352215976Sjmallett                                                         [43] is the or of <63:48>
7353215976Sjmallett                                                         [42] is the or of <47:32>
7354215976Sjmallett                                                         [41] is the or of <31:16>
7355215976Sjmallett                                                         [40] is the or of <15:0> */
7356215976Sjmallett	uint64_t pci_int                      : 4;  /**< PCI INTA/B/C/D */
7357215976Sjmallett	uint64_t uart                         : 2;  /**< Two UART interrupts */
7358215976Sjmallett	uint64_t mbox                         : 2;  /**< Two mailbox interrupts for entries 0-31
7359215976Sjmallett                                                          [33] is the or of <31:16>
7360215976Sjmallett                                                          [32] is the or of <15:0>
7361215976Sjmallett                                                         Two PCI internal interrupts for entry 32
7362215976Sjmallett                                                          CIU_PCI_INTA */
7363215976Sjmallett	uint64_t gpio                         : 16; /**< 16 GPIO interrupts */
7364215976Sjmallett	uint64_t workq                        : 16; /**< 16 work queue interrupts
7365215976Sjmallett                                                         1 bit/group. A copy of the R/W1C bit in the POW. */
7366215976Sjmallett#else
7367215976Sjmallett	uint64_t workq                        : 16;
7368215976Sjmallett	uint64_t gpio                         : 16;
7369215976Sjmallett	uint64_t mbox                         : 2;
7370215976Sjmallett	uint64_t uart                         : 2;
7371215976Sjmallett	uint64_t pci_int                      : 4;
7372215976Sjmallett	uint64_t pci_msi                      : 4;
7373215976Sjmallett	uint64_t wdog_sum                     : 1;
7374215976Sjmallett	uint64_t twsi                         : 1;
7375215976Sjmallett	uint64_t rml                          : 1;
7376215976Sjmallett	uint64_t reserved_47_47               : 1;
7377215976Sjmallett	uint64_t gmx_drp                      : 1;
7378215976Sjmallett	uint64_t reserved_49_49               : 1;
7379215976Sjmallett	uint64_t ipd_drp                      : 1;
7380215976Sjmallett	uint64_t reserved_51_51               : 1;
7381215976Sjmallett	uint64_t timer                        : 4;
7382215976Sjmallett	uint64_t usb                          : 1;
7383215976Sjmallett	uint64_t pcm                          : 1;
7384215976Sjmallett	uint64_t mpi                          : 1;
7385215976Sjmallett	uint64_t reserved_59_63               : 5;
7386215976Sjmallett#endif
7387215976Sjmallett	} cn30xx;
7388232812Sjmallett	struct cvmx_ciu_intx_sum0_cn31xx {
7389232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
7390215976Sjmallett	uint64_t reserved_59_63               : 5;
7391215976Sjmallett	uint64_t mpi                          : 1;  /**< MPI/SPI interrupt */
7392215976Sjmallett	uint64_t pcm                          : 1;  /**< PCM/TDM interrupt */
7393215976Sjmallett	uint64_t usb                          : 1;  /**< USB interrupt */
7394215976Sjmallett	uint64_t timer                        : 4;  /**< General timer interrupts */
7395215976Sjmallett	uint64_t reserved_51_51               : 1;
7396215976Sjmallett	uint64_t ipd_drp                      : 1;  /**< IPD QOS packet drop */
7397215976Sjmallett	uint64_t reserved_49_49               : 1;
7398215976Sjmallett	uint64_t gmx_drp                      : 1;  /**< GMX packet drop */
7399215976Sjmallett	uint64_t trace                        : 1;  /**< L2C has the CMB trace buffer */
7400215976Sjmallett	uint64_t rml                          : 1;  /**< RML Interrupt */
7401215976Sjmallett	uint64_t twsi                         : 1;  /**< TWSI Interrupt */
7402215976Sjmallett	uint64_t wdog_sum                     : 1;  /**< Watchdog summary
7403215976Sjmallett                                                         PPs use CIU_INTx_SUM0 where x=0-3.
7404215976Sjmallett                                                         PCI uses the CIU_INTx_SUM0 where x=32.
7405215976Sjmallett                                                         Even INTx registers report WDOG to IP2
7406215976Sjmallett                                                         Odd INTx registers report WDOG to IP3 */
7407215976Sjmallett	uint64_t pci_msi                      : 4;  /**< PCI MSI
7408215976Sjmallett                                                         [43] is the or of <63:48>
7409215976Sjmallett                                                         [42] is the or of <47:32>
7410215976Sjmallett                                                         [41] is the or of <31:16>
7411215976Sjmallett                                                         [40] is the or of <15:0> */
7412215976Sjmallett	uint64_t pci_int                      : 4;  /**< PCI INTA/B/C/D */
7413215976Sjmallett	uint64_t uart                         : 2;  /**< Two UART interrupts */
7414215976Sjmallett	uint64_t mbox                         : 2;  /**< Two mailbox interrupts for entries 0-31
7415215976Sjmallett                                                          [33] is the or of <31:16>
7416215976Sjmallett                                                          [32] is the or of <15:0>
7417215976Sjmallett                                                         Two PCI internal interrupts for entry 32
7418215976Sjmallett                                                          CIU_PCI_INTA */
7419215976Sjmallett	uint64_t gpio                         : 16; /**< 16 GPIO interrupts */
7420215976Sjmallett	uint64_t workq                        : 16; /**< 16 work queue interrupts
7421215976Sjmallett                                                         1 bit/group. A copy of the R/W1C bit in the POW. */
7422215976Sjmallett#else
7423215976Sjmallett	uint64_t workq                        : 16;
7424215976Sjmallett	uint64_t gpio                         : 16;
7425215976Sjmallett	uint64_t mbox                         : 2;
7426215976Sjmallett	uint64_t uart                         : 2;
7427215976Sjmallett	uint64_t pci_int                      : 4;
7428215976Sjmallett	uint64_t pci_msi                      : 4;
7429215976Sjmallett	uint64_t wdog_sum                     : 1;
7430215976Sjmallett	uint64_t twsi                         : 1;
7431215976Sjmallett	uint64_t rml                          : 1;
7432215976Sjmallett	uint64_t trace                        : 1;
7433215976Sjmallett	uint64_t gmx_drp                      : 1;
7434215976Sjmallett	uint64_t reserved_49_49               : 1;
7435215976Sjmallett	uint64_t ipd_drp                      : 1;
7436215976Sjmallett	uint64_t reserved_51_51               : 1;
7437215976Sjmallett	uint64_t timer                        : 4;
7438215976Sjmallett	uint64_t usb                          : 1;
7439215976Sjmallett	uint64_t pcm                          : 1;
7440215976Sjmallett	uint64_t mpi                          : 1;
7441215976Sjmallett	uint64_t reserved_59_63               : 5;
7442215976Sjmallett#endif
7443215976Sjmallett	} cn31xx;
7444232812Sjmallett	struct cvmx_ciu_intx_sum0_cn38xx {
7445232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
7446215976Sjmallett	uint64_t reserved_56_63               : 8;
7447215976Sjmallett	uint64_t timer                        : 4;  /**< General timer interrupts */
7448215976Sjmallett	uint64_t key_zero                     : 1;  /**< Key Zeroization interrupt
7449215976Sjmallett                                                         KEY_ZERO will be set when the external ZERO_KEYS
7450215976Sjmallett                                                         pin is sampled high.  KEY_ZERO is cleared by SW */
7451215976Sjmallett	uint64_t ipd_drp                      : 1;  /**< IPD QOS packet drop */
7452215976Sjmallett	uint64_t gmx_drp                      : 2;  /**< GMX packet drop */
7453215976Sjmallett	uint64_t trace                        : 1;  /**< L2C has the CMB trace buffer */
7454215976Sjmallett	uint64_t rml                          : 1;  /**< RML Interrupt */
7455215976Sjmallett	uint64_t twsi                         : 1;  /**< TWSI Interrupt */
7456215976Sjmallett	uint64_t wdog_sum                     : 1;  /**< Watchdog summary
7457215976Sjmallett                                                         PPs use CIU_INTx_SUM0 where x=0-31.
7458215976Sjmallett                                                         PCI uses the CIU_INTx_SUM0 where x=32.
7459215976Sjmallett                                                         Even INTx registers report WDOG to IP2
7460215976Sjmallett                                                         Odd INTx registers report WDOG to IP3 */
7461215976Sjmallett	uint64_t pci_msi                      : 4;  /**< PCI MSI
7462215976Sjmallett                                                         [43] is the or of <63:48>
7463215976Sjmallett                                                         [42] is the or of <47:32>
7464215976Sjmallett                                                         [41] is the or of <31:16>
7465215976Sjmallett                                                         [40] is the or of <15:0> */
7466215976Sjmallett	uint64_t pci_int                      : 4;  /**< PCI INTA/B/C/D */
7467215976Sjmallett	uint64_t uart                         : 2;  /**< Two UART interrupts */
7468215976Sjmallett	uint64_t mbox                         : 2;  /**< Two mailbox interrupts for entries 0-31
7469215976Sjmallett                                                          [33] is the or of <31:16>
7470215976Sjmallett                                                          [32] is the or of <15:0>
7471215976Sjmallett                                                         Two PCI internal interrupts for entry 32
7472215976Sjmallett                                                          CIU_PCI_INTA */
7473215976Sjmallett	uint64_t gpio                         : 16; /**< 16 GPIO interrupts */
7474215976Sjmallett	uint64_t workq                        : 16; /**< 16 work queue interrupts
7475215976Sjmallett                                                         1 bit/group. A copy of the R/W1C bit in the POW. */
7476215976Sjmallett#else
7477215976Sjmallett	uint64_t workq                        : 16;
7478215976Sjmallett	uint64_t gpio                         : 16;
7479215976Sjmallett	uint64_t mbox                         : 2;
7480215976Sjmallett	uint64_t uart                         : 2;
7481215976Sjmallett	uint64_t pci_int                      : 4;
7482215976Sjmallett	uint64_t pci_msi                      : 4;
7483215976Sjmallett	uint64_t wdog_sum                     : 1;
7484215976Sjmallett	uint64_t twsi                         : 1;
7485215976Sjmallett	uint64_t rml                          : 1;
7486215976Sjmallett	uint64_t trace                        : 1;
7487215976Sjmallett	uint64_t gmx_drp                      : 2;
7488215976Sjmallett	uint64_t ipd_drp                      : 1;
7489215976Sjmallett	uint64_t key_zero                     : 1;
7490215976Sjmallett	uint64_t timer                        : 4;
7491215976Sjmallett	uint64_t reserved_56_63               : 8;
7492215976Sjmallett#endif
7493215976Sjmallett	} cn38xx;
7494215976Sjmallett	struct cvmx_ciu_intx_sum0_cn38xx      cn38xxp2;
7495215976Sjmallett	struct cvmx_ciu_intx_sum0_cn30xx      cn50xx;
7496232812Sjmallett	struct cvmx_ciu_intx_sum0_cn52xx {
7497232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
7498215976Sjmallett	uint64_t bootdma                      : 1;  /**< Boot bus DMA engines Interrupt */
7499215976Sjmallett	uint64_t mii                          : 1;  /**< MII Interface Interrupt */
7500215976Sjmallett	uint64_t ipdppthr                     : 1;  /**< IPD per-port counter threshold interrupt */
7501215976Sjmallett	uint64_t powiq                        : 1;  /**< POW IQ interrupt */
7502215976Sjmallett	uint64_t twsi2                        : 1;  /**< 2nd TWSI Interrupt */
7503215976Sjmallett	uint64_t reserved_57_58               : 2;
7504215976Sjmallett	uint64_t usb                          : 1;  /**< USB Interrupt */
7505215976Sjmallett	uint64_t timer                        : 4;  /**< General timer interrupts */
7506215976Sjmallett	uint64_t reserved_51_51               : 1;
7507215976Sjmallett	uint64_t ipd_drp                      : 1;  /**< IPD QOS packet drop */
7508215976Sjmallett	uint64_t reserved_49_49               : 1;
7509215976Sjmallett	uint64_t gmx_drp                      : 1;  /**< GMX packet drop */
7510215976Sjmallett	uint64_t trace                        : 1;  /**< L2C has the CMB trace buffer */
7511215976Sjmallett	uint64_t rml                          : 1;  /**< RML Interrupt */
7512215976Sjmallett	uint64_t twsi                         : 1;  /**< TWSI Interrupt */
7513215976Sjmallett	uint64_t wdog_sum                     : 1;  /**< SUM1&EN1 summary bit
7514215976Sjmallett                                                         This read-only bit reads as a one whenever any
7515215976Sjmallett                                                         CIU_INT_SUM1 bit is set and corresponding
7516215976Sjmallett                                                         enable bit in CIU_INTx_EN is set, where x
7517215976Sjmallett                                                         is the same as x in this CIU_INTx_SUM0.
7518215976Sjmallett                                                         PPs use CIU_INTx_SUM0 where x=0-7.
7519215976Sjmallett                                                         PCI uses the CIU_INTx_SUM0 where x=32.
7520215976Sjmallett                                                         Even INTx registers report WDOG to IP2
7521215976Sjmallett                                                         Odd INTx registers report WDOG to IP3
7522215976Sjmallett                                                         Note that WDOG_SUM only summarizes the SUM/EN1
7523215976Sjmallett                                                         result and does not have a corresponding enable
7524215976Sjmallett                                                         bit, so does not directly contribute to
7525215976Sjmallett                                                         interrupts. */
7526215976Sjmallett	uint64_t pci_msi                      : 4;  /**< PCI MSI
7527215976Sjmallett                                                         Refer to "Receiving Message-Signalled
7528215976Sjmallett                                                         Interrupts" in the PCIe chapter of the spec */
7529215976Sjmallett	uint64_t pci_int                      : 4;  /**< PCI INTA/B/C/D
7530215976Sjmallett                                                         Refer to "Receiving Emulated INTA/INTB/
7531215976Sjmallett                                                         INTC/INTD" in the PCIe chapter of the spec */
7532215976Sjmallett	uint64_t uart                         : 2;  /**< Two UART interrupts */
7533215976Sjmallett	uint64_t mbox                         : 2;  /**< Two mailbox interrupts for entries 0-7
7534215976Sjmallett                                                          [33] is the or of <31:16>
7535215976Sjmallett                                                          [32] is the or of <15:0>
7536215976Sjmallett                                                         Two PCI internal interrupts for entry 32
7537215976Sjmallett                                                          CIU_PCI_INTA */
7538215976Sjmallett	uint64_t gpio                         : 16; /**< 16 GPIO interrupts */
7539215976Sjmallett	uint64_t workq                        : 16; /**< 16 work queue interrupts
7540215976Sjmallett                                                         1 bit/group. A copy of the R/W1C bit in the POW. */
7541215976Sjmallett#else
7542215976Sjmallett	uint64_t workq                        : 16;
7543215976Sjmallett	uint64_t gpio                         : 16;
7544215976Sjmallett	uint64_t mbox                         : 2;
7545215976Sjmallett	uint64_t uart                         : 2;
7546215976Sjmallett	uint64_t pci_int                      : 4;
7547215976Sjmallett	uint64_t pci_msi                      : 4;
7548215976Sjmallett	uint64_t wdog_sum                     : 1;
7549215976Sjmallett	uint64_t twsi                         : 1;
7550215976Sjmallett	uint64_t rml                          : 1;
7551215976Sjmallett	uint64_t trace                        : 1;
7552215976Sjmallett	uint64_t gmx_drp                      : 1;
7553215976Sjmallett	uint64_t reserved_49_49               : 1;
7554215976Sjmallett	uint64_t ipd_drp                      : 1;
7555215976Sjmallett	uint64_t reserved_51_51               : 1;
7556215976Sjmallett	uint64_t timer                        : 4;
7557215976Sjmallett	uint64_t usb                          : 1;
7558215976Sjmallett	uint64_t reserved_57_58               : 2;
7559215976Sjmallett	uint64_t twsi2                        : 1;
7560215976Sjmallett	uint64_t powiq                        : 1;
7561215976Sjmallett	uint64_t ipdppthr                     : 1;
7562215976Sjmallett	uint64_t mii                          : 1;
7563215976Sjmallett	uint64_t bootdma                      : 1;
7564215976Sjmallett#endif
7565215976Sjmallett	} cn52xx;
7566215976Sjmallett	struct cvmx_ciu_intx_sum0_cn52xx      cn52xxp1;
7567232812Sjmallett	struct cvmx_ciu_intx_sum0_cn56xx {
7568232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
7569215976Sjmallett	uint64_t bootdma                      : 1;  /**< Boot bus DMA engines Interrupt */
7570215976Sjmallett	uint64_t mii                          : 1;  /**< MII Interface Interrupt */
7571215976Sjmallett	uint64_t ipdppthr                     : 1;  /**< IPD per-port counter threshold interrupt */
7572215976Sjmallett	uint64_t powiq                        : 1;  /**< POW IQ interrupt */
7573215976Sjmallett	uint64_t twsi2                        : 1;  /**< 2nd TWSI Interrupt */
7574215976Sjmallett	uint64_t reserved_57_58               : 2;
7575215976Sjmallett	uint64_t usb                          : 1;  /**< USB Interrupt */
7576215976Sjmallett	uint64_t timer                        : 4;  /**< General timer interrupts */
7577215976Sjmallett	uint64_t key_zero                     : 1;  /**< Key Zeroization interrupt
7578215976Sjmallett                                                         KEY_ZERO will be set when the external ZERO_KEYS
7579215976Sjmallett                                                         pin is sampled high.  KEY_ZERO is cleared by SW */
7580215976Sjmallett	uint64_t ipd_drp                      : 1;  /**< IPD QOS packet drop */
7581215976Sjmallett	uint64_t gmx_drp                      : 2;  /**< GMX packet drop */
7582215976Sjmallett	uint64_t trace                        : 1;  /**< L2C has the CMB trace buffer */
7583215976Sjmallett	uint64_t rml                          : 1;  /**< RML Interrupt */
7584215976Sjmallett	uint64_t twsi                         : 1;  /**< TWSI Interrupt */
7585215976Sjmallett	uint64_t wdog_sum                     : 1;  /**< Watchdog summary
7586215976Sjmallett                                                         PPs use CIU_INTx_SUM0 where x=0-23.
7587215976Sjmallett                                                         PCI uses the CIU_INTx_SUM0 where x=32.
7588215976Sjmallett                                                         Even INTx registers report WDOG to IP2
7589215976Sjmallett                                                         Odd INTx registers report WDOG to IP3 */
7590215976Sjmallett	uint64_t pci_msi                      : 4;  /**< PCI MSI
7591215976Sjmallett                                                         Refer to "Receiving Message-Signalled
7592215976Sjmallett                                                         Interrupts" in the PCIe chapter of the spec */
7593215976Sjmallett	uint64_t pci_int                      : 4;  /**< PCI INTA/B/C/D
7594215976Sjmallett                                                         Refer to "Receiving Emulated INTA/INTB/
7595215976Sjmallett                                                         INTC/INTD" in the PCIe chapter of the spec */
7596215976Sjmallett	uint64_t uart                         : 2;  /**< Two UART interrupts */
7597215976Sjmallett	uint64_t mbox                         : 2;  /**< Two mailbox interrupts for entries 0-23
7598215976Sjmallett                                                          [33] is the or of <31:16>
7599215976Sjmallett                                                          [32] is the or of <15:0>
7600215976Sjmallett                                                         Two PCI internal interrupts for entry 32
7601215976Sjmallett                                                          CIU_PCI_INTA */
7602215976Sjmallett	uint64_t gpio                         : 16; /**< 16 GPIO interrupts */
7603215976Sjmallett	uint64_t workq                        : 16; /**< 16 work queue interrupts
7604215976Sjmallett                                                         1 bit/group. A copy of the R/W1C bit in the POW. */
7605215976Sjmallett#else
7606215976Sjmallett	uint64_t workq                        : 16;
7607215976Sjmallett	uint64_t gpio                         : 16;
7608215976Sjmallett	uint64_t mbox                         : 2;
7609215976Sjmallett	uint64_t uart                         : 2;
7610215976Sjmallett	uint64_t pci_int                      : 4;
7611215976Sjmallett	uint64_t pci_msi                      : 4;
7612215976Sjmallett	uint64_t wdog_sum                     : 1;
7613215976Sjmallett	uint64_t twsi                         : 1;
7614215976Sjmallett	uint64_t rml                          : 1;
7615215976Sjmallett	uint64_t trace                        : 1;
7616215976Sjmallett	uint64_t gmx_drp                      : 2;
7617215976Sjmallett	uint64_t ipd_drp                      : 1;
7618215976Sjmallett	uint64_t key_zero                     : 1;
7619215976Sjmallett	uint64_t timer                        : 4;
7620215976Sjmallett	uint64_t usb                          : 1;
7621215976Sjmallett	uint64_t reserved_57_58               : 2;
7622215976Sjmallett	uint64_t twsi2                        : 1;
7623215976Sjmallett	uint64_t powiq                        : 1;
7624215976Sjmallett	uint64_t ipdppthr                     : 1;
7625215976Sjmallett	uint64_t mii                          : 1;
7626215976Sjmallett	uint64_t bootdma                      : 1;
7627215976Sjmallett#endif
7628215976Sjmallett	} cn56xx;
7629215976Sjmallett	struct cvmx_ciu_intx_sum0_cn56xx      cn56xxp1;
7630215976Sjmallett	struct cvmx_ciu_intx_sum0_cn38xx      cn58xx;
7631215976Sjmallett	struct cvmx_ciu_intx_sum0_cn38xx      cn58xxp1;
7632232812Sjmallett	struct cvmx_ciu_intx_sum0_cn61xx {
7633232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
7634232812Sjmallett	uint64_t bootdma                      : 1;  /**< Boot bus DMA engines Interrupt
7635232812Sjmallett                                                         See MIO_BOOT_DMA_INT*, MIO_NDF_DMA_INT */
7636232812Sjmallett	uint64_t mii                          : 1;  /**< RGMII/MIX Interface 0 Interrupt
7637232812Sjmallett                                                         See MIX0_ISR */
7638232812Sjmallett	uint64_t ipdppthr                     : 1;  /**< IPD per-port counter threshold interrupt
7639232812Sjmallett                                                         See IPD_PORT_QOS_INT* */
7640232812Sjmallett	uint64_t powiq                        : 1;  /**< POW IQ interrupt
7641232812Sjmallett                                                         See POW_IQ_INT */
7642232812Sjmallett	uint64_t twsi2                        : 1;  /**< 2nd TWSI Interrupt
7643232812Sjmallett                                                         See MIO_TWS1_INT */
7644232812Sjmallett	uint64_t mpi                          : 1;  /**< MPI/SPI interrupt, Set when MPI transaction
7645232812Sjmallett                                                         finished, see MPI_CFG[INT_ENA] and MPI_STS[BUSY] */
7646232812Sjmallett	uint64_t pcm                          : 1;  /**< PCM/TDM interrupt */
7647232812Sjmallett	uint64_t usb                          : 1;  /**< USB EHCI or OHCI Interrupt
7648232812Sjmallett                                                         See UAHC0_EHCI_USBSTS UAHC0_OHCI0_HCINTERRUPTSTATUS */
7649232812Sjmallett	uint64_t timer                        : 4;  /**< General timer 0-3 interrupts.
7650232812Sjmallett                                                         When CIU_TIM_MULTI_CAST[EN] == 0, this interrupt is
7651232812Sjmallett                                                         common for all PP/IRQs, writing '1' to any PP/IRQ
7652232812Sjmallett                                                         will clear all TIMERx(x=0..9) interrupts.
7653232812Sjmallett                                                         When CIU_TIM_MULTI_CAST[EN] == 1, TIMERx(x=0..9)
7654232812Sjmallett                                                         are set at the same time, but clearing are based on
7655232812Sjmallett                                                         per cnMIPS core. See CIU_TIM_MULTI_CAST for detail.
7656232812Sjmallett                                                         The combination of this field and the
7657232812Sjmallett                                                         CIU_SUM2_*[TIMER] field implement all 10 CIU_TIM*
7658232812Sjmallett                                                         interrupts. */
7659232812Sjmallett	uint64_t sum2                         : 1;  /**< SUM2&EN2 SUMMARY bit
7660232812Sjmallett                                                         This read-only bit reads as a one whenever any
7661232812Sjmallett                                                         CIU_SUM2_PPX_IPx (CIU_SUM2_IOX_INT)  bit is set
7662232812Sjmallett                                                         and corresponding enable bit in CIU_EN2_PPX_IPx
7663232812Sjmallett                                                         (CIU_EN2_IOX_INT) is set.
7664232812Sjmallett                                                         Note that SUM2 only summarizes the SUM2/EN2
7665232812Sjmallett                                                         result and does not have a corresponding enable
7666232812Sjmallett                                                         bit, so does not directly contribute to
7667232812Sjmallett                                                         interrupts. */
7668232812Sjmallett	uint64_t ipd_drp                      : 1;  /**< IPD QOS packet drop interrupt
7669232812Sjmallett                                                         Set any time PIP/IPD drops a packet */
7670232812Sjmallett	uint64_t gmx_drp                      : 2;  /**< GMX0/1 packet drop interrupt
7671232812Sjmallett                                                         Set any time corresponding GMX0/1 drops a packet */
7672232812Sjmallett	uint64_t trace                        : 1;  /**< Trace buffer interrupt
7673232812Sjmallett                                                         See TRA_INT_STATUS */
7674232812Sjmallett	uint64_t rml                          : 1;  /**< RML Interrupt
7675232812Sjmallett                                                         This interrupt will assert if any bit within
7676232812Sjmallett                                                         CIU_BLOCK_INT is asserted. */
7677232812Sjmallett	uint64_t twsi                         : 1;  /**< TWSI Interrupt
7678232812Sjmallett                                                         See MIO_TWS0_INT */
7679232812Sjmallett	uint64_t wdog_sum                     : 1;  /**< SUM1&EN1 summary bit
7680232812Sjmallett                                                         This read-only bit reads as a one whenever any
7681232812Sjmallett                                                         CIU_SUM1_PPX_IPx (CIU_SUM1_IOX_INT)  bit is set
7682232812Sjmallett                                                         and corresponding enable bit in CIU_INTx_EN is set
7683232812Sjmallett                                                         PPs use CIU_INTx_SUM0 where x=0-7
7684232812Sjmallett                                                         PCIe uses the CIU_INTx_SUM0 where x=32-33.
7685232812Sjmallett                                                         Note that WDOG_SUM only summarizes the SUM1/EN1
7686232812Sjmallett                                                         result and does not have a corresponding enable
7687232812Sjmallett                                                         bit, so does not directly contribute to
7688232812Sjmallett                                                         interrupts. */
7689232812Sjmallett	uint64_t pci_msi                      : 4;  /**< PCIe MSI
7690232812Sjmallett                                                         See SLI_MSI_RCVn for bit <40+n> */
7691232812Sjmallett	uint64_t pci_int                      : 4;  /**< PCIe INTA/B/C/D
7692232812Sjmallett                                                         Refer to "Receiving Emulated INTA/INTB/
7693232812Sjmallett                                                         INTC/INTD" in the SLI chapter of the spec
7694232812Sjmallett                                                         PCI_INT<3> = INTD
7695232812Sjmallett                                                         PCI_INT<2> = INTC
7696232812Sjmallett                                                         PCI_INT<1> = INTB
7697232812Sjmallett                                                         PCI_INT<0> = INTA */
7698232812Sjmallett	uint64_t uart                         : 2;  /**< Two UART interrupts
7699232812Sjmallett                                                         See MIO_UARTn_IIR[IID] for bit <34+n> */
7700232812Sjmallett	uint64_t mbox                         : 2;  /**< Two mailbox interrupts for entries 0-11
7701232812Sjmallett                                                          [33] is the or of <31:16>
7702232812Sjmallett                                                          [32] is the or of <15:0>
7703232812Sjmallett                                                         Two PCIe internal interrupts for entries 32-33
7704232812Sjmallett                                                          which equal CIU_PCI_INTA[INT] */
7705232812Sjmallett	uint64_t gpio                         : 16; /**< 16 GPIO interrupts
7706232812Sjmallett                                                         When GPIO_MULTI_CAST[EN] == 1
7707232812Sjmallett                                                         Write 1 to clear either the per PP or common GPIO
7708232812Sjmallett                                                         edge-triggered interrupts,depending on mode.
7709232812Sjmallett                                                         See GPIO_MULTI_CAST for all details.
7710232812Sjmallett                                                         When GPIO_MULTI_CAST[EN] == 0
7711232812Sjmallett                                                         Read Only, retain the same behavior as o63. */
7712232812Sjmallett	uint64_t workq                        : 16; /**< 16 work queue interrupts
7713232812Sjmallett                                                         See POW_WQ_INT[WQ_INT]
7714232812Sjmallett                                                          1 bit/group. A copy of the R/W1C bit in the POW. */
7715232812Sjmallett#else
7716232812Sjmallett	uint64_t workq                        : 16;
7717232812Sjmallett	uint64_t gpio                         : 16;
7718232812Sjmallett	uint64_t mbox                         : 2;
7719232812Sjmallett	uint64_t uart                         : 2;
7720232812Sjmallett	uint64_t pci_int                      : 4;
7721232812Sjmallett	uint64_t pci_msi                      : 4;
7722232812Sjmallett	uint64_t wdog_sum                     : 1;
7723232812Sjmallett	uint64_t twsi                         : 1;
7724232812Sjmallett	uint64_t rml                          : 1;
7725232812Sjmallett	uint64_t trace                        : 1;
7726232812Sjmallett	uint64_t gmx_drp                      : 2;
7727232812Sjmallett	uint64_t ipd_drp                      : 1;
7728232812Sjmallett	uint64_t sum2                         : 1;
7729232812Sjmallett	uint64_t timer                        : 4;
7730232812Sjmallett	uint64_t usb                          : 1;
7731232812Sjmallett	uint64_t pcm                          : 1;
7732232812Sjmallett	uint64_t mpi                          : 1;
7733232812Sjmallett	uint64_t twsi2                        : 1;
7734232812Sjmallett	uint64_t powiq                        : 1;
7735232812Sjmallett	uint64_t ipdppthr                     : 1;
7736232812Sjmallett	uint64_t mii                          : 1;
7737232812Sjmallett	uint64_t bootdma                      : 1;
7738232812Sjmallett#endif
7739232812Sjmallett	} cn61xx;
7740215976Sjmallett	struct cvmx_ciu_intx_sum0_cn52xx      cn63xx;
7741215976Sjmallett	struct cvmx_ciu_intx_sum0_cn52xx      cn63xxp1;
7742232812Sjmallett	struct cvmx_ciu_intx_sum0_cn66xx {
7743232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
7744232812Sjmallett	uint64_t bootdma                      : 1;  /**< Boot bus DMA engines Interrupt
7745232812Sjmallett                                                         See MIO_BOOT_DMA_INT*, MIO_NDF_DMA_INT */
7746232812Sjmallett	uint64_t mii                          : 1;  /**< RGMII/MII/MIX Interface 0 Interrupt
7747232812Sjmallett                                                         See MIX0_ISR */
7748232812Sjmallett	uint64_t ipdppthr                     : 1;  /**< IPD per-port counter threshold interrupt
7749232812Sjmallett                                                         See IPD_PORT_QOS_INT* */
7750232812Sjmallett	uint64_t powiq                        : 1;  /**< POW IQ interrupt
7751232812Sjmallett                                                         See POW_IQ_INT */
7752232812Sjmallett	uint64_t twsi2                        : 1;  /**< 2nd TWSI Interrupt
7753232812Sjmallett                                                         See MIO_TWS1_INT */
7754232812Sjmallett	uint64_t mpi                          : 1;  /**< MPI/SPI interrupt, Set when MPI transaction
7755232812Sjmallett                                                         finished, see MPI_CFG[INT_ENA] and MPI_STS[BUSY] */
7756232812Sjmallett	uint64_t reserved_57_57               : 1;
7757232812Sjmallett	uint64_t usb                          : 1;  /**< USB EHCI or OHCI Interrupt
7758232812Sjmallett                                                         See UAHC0_EHCI_USBSTS UAHC0_OHCI0_HCINTERRUPTSTATUS */
7759232812Sjmallett	uint64_t timer                        : 4;  /**< General timer 0-3 interrupts.
7760232812Sjmallett                                                         Prior to pass 1.2 or
7761232812Sjmallett                                                          when CIU_TIM_MULTI_CAST[EN]==0, this interrupt is
7762232812Sjmallett                                                          common for all PP/IRQs, writing '1' to any PP/IRQ
7763232812Sjmallett                                                          will clear all TIMERx(x=0..9) interrupts.
7764232812Sjmallett                                                         When CIU_TIM_MULTI_CAST[EN] == 1, TIMERx(x=0..9)
7765232812Sjmallett                                                          are set at the same time, but clearing is per
7766232812Sjmallett                                                          cnMIPS core. See CIU_TIM_MULTI_CAST for detail.
7767232812Sjmallett                                                         The combination of this field and the
7768232812Sjmallett                                                         CIU_SUM2_*[TIMER] field implement all 10 CIU_TIM*
7769232812Sjmallett                                                         interrupts. */
7770232812Sjmallett	uint64_t sum2                         : 1;  /**< SUM2&EN2 SUMMARY bit
7771232812Sjmallett                                                          In pass 1.2 and subsequent passes,
7772232812Sjmallett                                                          this read-only bit reads as a one whenever any
7773232812Sjmallett                                                          CIU_SUM2_PPX_IPx (CIU_SUM2_IOX_INT)  bit is set
7774232812Sjmallett                                                          and corresponding enable bit in CIU_EN2_PPX_IPx
7775232812Sjmallett                                                          (CIU_EN2_IOX_INT) is set.
7776232812Sjmallett                                                          Note that SUM2 only summarizes the SUM2/EN2
7777232812Sjmallett                                                          result and does not have a corresponding enable
7778232812Sjmallett                                                          bit, so does not directly contribute to
7779232812Sjmallett                                                          interrupts.
7780232812Sjmallett                                                         Prior to pass 1.2, SUM2 did not exist and this
7781232812Sjmallett                                                          bit reads as zero. */
7782232812Sjmallett	uint64_t ipd_drp                      : 1;  /**< IPD QOS packet drop interrupt
7783232812Sjmallett                                                         Set any time PIP/IPD drops a packet */
7784232812Sjmallett	uint64_t gmx_drp                      : 2;  /**< GMX0/1 packet drop interrupt
7785232812Sjmallett                                                         Set any time corresponding GMX0/1 drops a packet */
7786232812Sjmallett	uint64_t trace                        : 1;  /**< Trace buffer interrupt
7787232812Sjmallett                                                         See TRA_INT_STATUS */
7788232812Sjmallett	uint64_t rml                          : 1;  /**< RML Interrupt
7789232812Sjmallett                                                         This interrupt will assert if any bit within
7790232812Sjmallett                                                         CIU_BLOCK_INT is asserted. */
7791232812Sjmallett	uint64_t twsi                         : 1;  /**< TWSI Interrupt
7792232812Sjmallett                                                         See MIO_TWS0_INT */
7793232812Sjmallett	uint64_t wdog_sum                     : 1;  /**< SUM1&EN1 summary bit
7794232812Sjmallett                                                         This read-only bit reads as a one whenever any
7795232812Sjmallett                                                         CIU_SUM1_PPX_IPx (CIU_SUM1_IOX_INT)  bit is set
7796232812Sjmallett                                                         and corresponding enable bit in CIU_INTx_EN is set
7797232812Sjmallett                                                         PPs use CIU_INTx_SUM0 where x=0-19
7798232812Sjmallett                                                         PCIe/sRIO uses the CIU_INTx_SUM0 where x=32-33.
7799232812Sjmallett                                                         Note that WDOG_SUM only summarizes the SUM1/EN1
7800232812Sjmallett                                                         result and does not have a corresponding enable
7801232812Sjmallett                                                         bit, so does not directly contribute to
7802232812Sjmallett                                                         interrupts. */
7803232812Sjmallett	uint64_t pci_msi                      : 4;  /**< PCIe/sRIO MSI
7804232812Sjmallett                                                         See SLI_MSI_RCVn for bit <40+n> */
7805232812Sjmallett	uint64_t pci_int                      : 4;  /**< PCIe INTA/B/C/D
7806232812Sjmallett                                                         Refer to "Receiving Emulated INTA/INTB/
7807232812Sjmallett                                                         INTC/INTD" in the SLI chapter of the spec
7808232812Sjmallett                                                         PCI_INT<3> = INTD
7809232812Sjmallett                                                         PCI_INT<2> = INTC
7810232812Sjmallett                                                         PCI_INT<1> = INTB
7811232812Sjmallett                                                         PCI_INT<0> = INTA */
7812232812Sjmallett	uint64_t uart                         : 2;  /**< Two UART interrupts
7813232812Sjmallett                                                         See MIO_UARTn_IIR[IID] for bit <34+n> */
7814232812Sjmallett	uint64_t mbox                         : 2;  /**< Two mailbox interrupts for entries 0-11
7815232812Sjmallett                                                          [33] is the or of <31:16>
7816232812Sjmallett                                                          [32] is the or of <15:0>
7817232812Sjmallett                                                         Two PCIe/sRIO internal interrupts for entries 32-33
7818232812Sjmallett                                                          which equal CIU_PCI_INTA[INT] */
7819232812Sjmallett	uint64_t gpio                         : 16; /**< 16 GPIO interrupts */
7820232812Sjmallett	uint64_t workq                        : 16; /**< 16 work queue interrupts
7821232812Sjmallett                                                         See POW_WQ_INT[WQ_INT]
7822232812Sjmallett                                                          1 bit/group. A copy of the R/W1C bit in the POW. */
7823232812Sjmallett#else
7824232812Sjmallett	uint64_t workq                        : 16;
7825232812Sjmallett	uint64_t gpio                         : 16;
7826232812Sjmallett	uint64_t mbox                         : 2;
7827232812Sjmallett	uint64_t uart                         : 2;
7828232812Sjmallett	uint64_t pci_int                      : 4;
7829232812Sjmallett	uint64_t pci_msi                      : 4;
7830232812Sjmallett	uint64_t wdog_sum                     : 1;
7831232812Sjmallett	uint64_t twsi                         : 1;
7832232812Sjmallett	uint64_t rml                          : 1;
7833232812Sjmallett	uint64_t trace                        : 1;
7834232812Sjmallett	uint64_t gmx_drp                      : 2;
7835232812Sjmallett	uint64_t ipd_drp                      : 1;
7836232812Sjmallett	uint64_t sum2                         : 1;
7837232812Sjmallett	uint64_t timer                        : 4;
7838232812Sjmallett	uint64_t usb                          : 1;
7839232812Sjmallett	uint64_t reserved_57_57               : 1;
7840232812Sjmallett	uint64_t mpi                          : 1;
7841232812Sjmallett	uint64_t twsi2                        : 1;
7842232812Sjmallett	uint64_t powiq                        : 1;
7843232812Sjmallett	uint64_t ipdppthr                     : 1;
7844232812Sjmallett	uint64_t mii                          : 1;
7845232812Sjmallett	uint64_t bootdma                      : 1;
7846232812Sjmallett#endif
7847232812Sjmallett	} cn66xx;
7848232812Sjmallett	struct cvmx_ciu_intx_sum0_cnf71xx {
7849232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
7850232812Sjmallett	uint64_t bootdma                      : 1;  /**< Boot bus DMA engines Interrupt
7851232812Sjmallett                                                         See MIO_BOOT_DMA_INT*, MIO_NDF_DMA_INT */
7852232812Sjmallett	uint64_t reserved_62_62               : 1;
7853232812Sjmallett	uint64_t ipdppthr                     : 1;  /**< IPD per-port counter threshold interrupt
7854232812Sjmallett                                                         See IPD_PORT_QOS_INT* */
7855232812Sjmallett	uint64_t powiq                        : 1;  /**< POW IQ interrupt
7856232812Sjmallett                                                         See POW_IQ_INT */
7857232812Sjmallett	uint64_t twsi2                        : 1;  /**< 2nd TWSI Interrupt
7858232812Sjmallett                                                         See MIO_TWS1_INT */
7859232812Sjmallett	uint64_t mpi                          : 1;  /**< MPI/SPI interrupt, Set when MPI transaction
7860232812Sjmallett                                                         finished, see MPI_CFG[INT_ENA] and MPI_STS[BUSY] */
7861232812Sjmallett	uint64_t pcm                          : 1;  /**< PCM/TDM interrupt */
7862232812Sjmallett	uint64_t usb                          : 1;  /**< USB EHCI or OHCI Interrupt
7863232812Sjmallett                                                         See UAHC0_EHCI_USBSTS UAHC0_OHCI0_HCINTERRUPTSTATUS */
7864232812Sjmallett	uint64_t timer                        : 4;  /**< General timer 0-3 interrupts.
7865232812Sjmallett                                                         When CIU_TIM_MULTI_CAST[EN] == 0, this interrupt is
7866232812Sjmallett                                                         common for all PP/IRQs, writing '1' to any PP/IRQ
7867232812Sjmallett                                                         will clear all TIMERx(x=0..9) interrupts.
7868232812Sjmallett                                                         When CIU_TIM_MULTI_CAST[EN] == 1, TIMERx(x=0..9)
7869232812Sjmallett                                                         are set at the same time, but clearing are based on
7870232812Sjmallett                                                         per cnMIPS core. See CIU_TIM_MULTI_CAST for detail.
7871232812Sjmallett                                                         The combination of this field and the
7872232812Sjmallett                                                         CIU_SUM2_*[TIMER] field implement all 10 CIU_TIM*
7873232812Sjmallett                                                         interrupts. */
7874232812Sjmallett	uint64_t sum2                         : 1;  /**< SUM2&EN2 SUMMARY bit
7875232812Sjmallett                                                         This read-only bit reads as a one whenever any
7876232812Sjmallett                                                         CIU_SUM2_PPX_IPx (CIU_SUM2_IOX_INT)  bit is set
7877232812Sjmallett                                                         and corresponding enable bit in CIU_EN2_PPX_IPx
7878232812Sjmallett                                                         (CIU_EN2_IOX_INT) is set.
7879232812Sjmallett                                                         Note that SUM2 only summarizes the SUM2/EN2
7880232812Sjmallett                                                         result and does not have a corresponding enable
7881232812Sjmallett                                                         bit, so does not directly contribute to
7882232812Sjmallett                                                         interrupts. */
7883232812Sjmallett	uint64_t ipd_drp                      : 1;  /**< IPD QOS packet drop interrupt
7884232812Sjmallett                                                         Set any time PIP/IPD drops a packet */
7885232812Sjmallett	uint64_t reserved_49_49               : 1;
7886232812Sjmallett	uint64_t gmx_drp                      : 1;  /**< GMX0/1 packet drop interrupt
7887232812Sjmallett                                                         Set any time corresponding GMX0/1 drops a packet */
7888232812Sjmallett	uint64_t trace                        : 1;  /**< Trace buffer interrupt
7889232812Sjmallett                                                         See TRA_INT_STATUS */
7890232812Sjmallett	uint64_t rml                          : 1;  /**< RML Interrupt
7891232812Sjmallett                                                         This interrupt will assert if any bit within
7892232812Sjmallett                                                         CIU_BLOCK_INT is asserted. */
7893232812Sjmallett	uint64_t twsi                         : 1;  /**< TWSI Interrupt
7894232812Sjmallett                                                         See MIO_TWS0_INT */
7895232812Sjmallett	uint64_t wdog_sum                     : 1;  /**< SUM1&EN1 summary bit
7896232812Sjmallett                                                         This read-only bit reads as a one whenever any
7897232812Sjmallett                                                         CIU_SUM1_PPX_IPx (CIU_SUM1_IOX_INT)  bit is set
7898232812Sjmallett                                                         and corresponding enable bit in CIU_INTx_EN is set
7899232812Sjmallett                                                         PPs use CIU_INTx_SUM0 where x=0-7
7900232812Sjmallett                                                         PCIe uses the CIU_INTx_SUM0 where x=32-33.
7901232812Sjmallett                                                         Note that WDOG_SUM only summarizes the SUM1/EN1
7902232812Sjmallett                                                         result and does not have a corresponding enable
7903232812Sjmallett                                                         bit, so does not directly contribute to
7904232812Sjmallett                                                         interrupts. */
7905232812Sjmallett	uint64_t pci_msi                      : 4;  /**< PCIe MSI
7906232812Sjmallett                                                         See SLI_MSI_RCVn for bit <40+n> */
7907232812Sjmallett	uint64_t pci_int                      : 4;  /**< PCIe INTA/B/C/D
7908232812Sjmallett                                                         Refer to "Receiving Emulated INTA/INTB/
7909232812Sjmallett                                                         INTC/INTD" in the SLI chapter of the spec
7910232812Sjmallett                                                         PCI_INT<3> = INTD
7911232812Sjmallett                                                         PCI_INT<2> = INTC
7912232812Sjmallett                                                         PCI_INT<1> = INTB
7913232812Sjmallett                                                         PCI_INT<0> = INTA */
7914232812Sjmallett	uint64_t uart                         : 2;  /**< Two UART interrupts
7915232812Sjmallett                                                         See MIO_UARTn_IIR[IID] for bit <34+n> */
7916232812Sjmallett	uint64_t mbox                         : 2;  /**< Two mailbox interrupts for entries 0-11
7917232812Sjmallett                                                          [33] is the or of <31:16>
7918232812Sjmallett                                                          [32] is the or of <15:0>
7919232812Sjmallett                                                         Two PCIe internal interrupts for entries 32-33
7920232812Sjmallett                                                          which equal CIU_PCI_INTA[INT] */
7921232812Sjmallett	uint64_t gpio                         : 16; /**< 16 GPIO interrupts
7922232812Sjmallett                                                         When GPIO_MULTI_CAST[EN] == 1
7923232812Sjmallett                                                         Write 1 to clear either the per PP or common GPIO
7924232812Sjmallett                                                         edge-triggered interrupts,depending on mode.
7925232812Sjmallett                                                         See GPIO_MULTI_CAST for all details.
7926232812Sjmallett                                                         When GPIO_MULTI_CAST[EN] == 0
7927232812Sjmallett                                                         Read Only, retain the same behavior as o63. */
7928232812Sjmallett	uint64_t workq                        : 16; /**< 16 work queue interrupts
7929232812Sjmallett                                                         See POW_WQ_INT[WQ_INT]
7930232812Sjmallett                                                          1 bit/group. A copy of the R/W1C bit in the POW. */
7931232812Sjmallett#else
7932232812Sjmallett	uint64_t workq                        : 16;
7933232812Sjmallett	uint64_t gpio                         : 16;
7934232812Sjmallett	uint64_t mbox                         : 2;
7935232812Sjmallett	uint64_t uart                         : 2;
7936232812Sjmallett	uint64_t pci_int                      : 4;
7937232812Sjmallett	uint64_t pci_msi                      : 4;
7938232812Sjmallett	uint64_t wdog_sum                     : 1;
7939232812Sjmallett	uint64_t twsi                         : 1;
7940232812Sjmallett	uint64_t rml                          : 1;
7941232812Sjmallett	uint64_t trace                        : 1;
7942232812Sjmallett	uint64_t gmx_drp                      : 1;
7943232812Sjmallett	uint64_t reserved_49_49               : 1;
7944232812Sjmallett	uint64_t ipd_drp                      : 1;
7945232812Sjmallett	uint64_t sum2                         : 1;
7946232812Sjmallett	uint64_t timer                        : 4;
7947232812Sjmallett	uint64_t usb                          : 1;
7948232812Sjmallett	uint64_t pcm                          : 1;
7949232812Sjmallett	uint64_t mpi                          : 1;
7950232812Sjmallett	uint64_t twsi2                        : 1;
7951232812Sjmallett	uint64_t powiq                        : 1;
7952232812Sjmallett	uint64_t ipdppthr                     : 1;
7953232812Sjmallett	uint64_t reserved_62_62               : 1;
7954232812Sjmallett	uint64_t bootdma                      : 1;
7955232812Sjmallett#endif
7956232812Sjmallett	} cnf71xx;
7957215976Sjmallett};
7958215976Sjmalletttypedef union cvmx_ciu_intx_sum0 cvmx_ciu_intx_sum0_t;
7959215976Sjmallett
7960215976Sjmallett/**
7961215976Sjmallett * cvmx_ciu_int#_sum4
7962215976Sjmallett */
7963232812Sjmallettunion cvmx_ciu_intx_sum4 {
7964215976Sjmallett	uint64_t u64;
7965232812Sjmallett	struct cvmx_ciu_intx_sum4_s {
7966232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
7967215976Sjmallett	uint64_t bootdma                      : 1;  /**< Boot bus DMA engines Interrupt
7968215976Sjmallett                                                         See MIO_BOOT_DMA_INT*, MIO_NDF_DMA_INT */
7969215976Sjmallett	uint64_t mii                          : 1;  /**< RGMII/MII/MIX Interface 0 Interrupt
7970215976Sjmallett                                                         See MIX0_ISR */
7971215976Sjmallett	uint64_t ipdppthr                     : 1;  /**< IPD per-port counter threshold interrupt
7972215976Sjmallett                                                         See IPD_PORT_QOS_INT* */
7973215976Sjmallett	uint64_t powiq                        : 1;  /**< POW IQ interrupt
7974215976Sjmallett                                                         See POW_IQ_INT */
7975215976Sjmallett	uint64_t twsi2                        : 1;  /**< 2nd TWSI Interrupt
7976215976Sjmallett                                                         See MIO_TWS1_INT */
7977215976Sjmallett	uint64_t mpi                          : 1;  /**< MPI/SPI interrupt */
7978215976Sjmallett	uint64_t pcm                          : 1;  /**< PCM/TDM interrupt */
7979215976Sjmallett	uint64_t usb                          : 1;  /**< USB EHCI or OHCI Interrupt
7980215976Sjmallett                                                         See UAHC0_EHCI_USBSTS UAHC0_OHCI0_HCINTERRUPTSTATUS */
7981232812Sjmallett	uint64_t timer                        : 4;  /**< General timer 0-3 interrupts
7982232812Sjmallett                                                         When CIU_TIM_MULTI_CAST[EN] == 0, this interrupt is
7983232812Sjmallett                                                         common for all PP/IRQs, writing '1' to any PP/IRQ
7984232812Sjmallett                                                         will clear all TIMERx(x=0..9) interrupts.
7985232812Sjmallett                                                         When CIU_TIM_MULTI_CAST[EN] == 1, TIMERx(x=0..9)
7986232812Sjmallett                                                         are set at the same time, but clearing are based on
7987232812Sjmallett                                                         per cnMIPS core. See CIU_TIM_MULTI_CAST for detail.
7988232812Sjmallett                                                         The combination of this field and the
7989232812Sjmallett                                                         CIU_SUM2_*[TIMER] field implement all 10 CIU_TIM*
7990232812Sjmallett                                                         interrupts. */
7991232812Sjmallett	uint64_t reserved_51_51               : 1;
7992215976Sjmallett	uint64_t ipd_drp                      : 1;  /**< IPD QOS packet drop interrupt
7993215976Sjmallett                                                         Set any time PIP/IPD drops a packet */
7994215976Sjmallett	uint64_t gmx_drp                      : 2;  /**< GMX packet drop interrupt
7995215976Sjmallett                                                         Set any time corresponding GMX drops a packet */
7996215976Sjmallett	uint64_t trace                        : 1;  /**< Trace buffer interrupt
7997215976Sjmallett                                                         See TRA_INT_STATUS */
7998215976Sjmallett	uint64_t rml                          : 1;  /**< RML Interrupt
7999215976Sjmallett                                                         This bit is set when any bit is set in
8000215976Sjmallett                                                         CIU_BLOCK_INT. */
8001215976Sjmallett	uint64_t twsi                         : 1;  /**< TWSI Interrupt
8002215976Sjmallett                                                         See MIO_TWS0_INT */
8003232812Sjmallett	uint64_t wdog_sum                     : 1;  /**< SUM1&EN1 summary bit
8004215976Sjmallett                                                         This read-only bit reads as a one whenever any
8005232812Sjmallett                                                         CIU_SUM1_PPX_IPx (CIU_SUM1_IOX_INT)  bit is set
8006232812Sjmallett                                                         and corresponding enable bit in CIU_INTx_EN is set
8007232812Sjmallett                                                         PPs use CIU_INTx_SUM0 where x=0-19
8008232812Sjmallett                                                         PCIe uses the CIU_INTx_SUM0 where x=32-33.
8009232812Sjmallett                                                         Note that WDOG_SUM only summarizes the SUM1/EN1
8010215976Sjmallett                                                         result and does not have a corresponding enable
8011215976Sjmallett                                                         bit, so does not directly contribute to
8012215976Sjmallett                                                         interrupts. */
8013232812Sjmallett	uint64_t pci_msi                      : 4;  /**< PCIe MSI
8014215976Sjmallett                                                         See SLI_MSI_RCVn for bit <40+n> */
8015215976Sjmallett	uint64_t pci_int                      : 4;  /**< PCIe INTA/B/C/D
8016215976Sjmallett                                                         Refer to "Receiving Emulated INTA/INTB/
8017232812Sjmallett                                                         INTC/INTD" in the SLI chapter of the spec
8018232812Sjmallett                                                         PCI_INT<3> = INTD
8019232812Sjmallett                                                         PCI_INT<2> = INTC
8020232812Sjmallett                                                         PCI_INT<1> = INTB
8021232812Sjmallett                                                         PCI_INT<0> = INTA */
8022215976Sjmallett	uint64_t uart                         : 2;  /**< Two UART interrupts
8023215976Sjmallett                                                         See MIO_UARTn_IIR[IID] for bit <34+n> */
8024215976Sjmallett	uint64_t mbox                         : 2;  /**< Two mailbox interrupts for entries 0-5
8025215976Sjmallett                                                         [33] is the or of <31:16>
8026215976Sjmallett                                                         [32] is the or of <15:0> */
8027232812Sjmallett	uint64_t gpio                         : 16; /**< 16 GPIO interrupts
8028232812Sjmallett                                                         When GPIO_MULTI_CAST[EN] == 1
8029232812Sjmallett                                                         Write 1 to clear either the per PP interrupt or
8030232812Sjmallett                                                         common GPIO interrupt for all PP/IOs,depending
8031232812Sjmallett                                                         on mode setting. This will apply to all 16 GPIOs.
8032232812Sjmallett                                                         See GPIO_MULTI_CAST for all details
8033232812Sjmallett                                                         When GPIO_MULTI_CAST[EN] == 0
8034232812Sjmallett                                                         Read Only, retain the same behavior as o63. */
8035215976Sjmallett	uint64_t workq                        : 16; /**< 16 work queue interrupts
8036215976Sjmallett                                                         See POW_WQ_INT[WQ_INT]
8037215976Sjmallett                                                          1 bit/group. A copy of the R/W1C bit in the POW. */
8038215976Sjmallett#else
8039215976Sjmallett	uint64_t workq                        : 16;
8040215976Sjmallett	uint64_t gpio                         : 16;
8041215976Sjmallett	uint64_t mbox                         : 2;
8042215976Sjmallett	uint64_t uart                         : 2;
8043215976Sjmallett	uint64_t pci_int                      : 4;
8044215976Sjmallett	uint64_t pci_msi                      : 4;
8045215976Sjmallett	uint64_t wdog_sum                     : 1;
8046215976Sjmallett	uint64_t twsi                         : 1;
8047215976Sjmallett	uint64_t rml                          : 1;
8048215976Sjmallett	uint64_t trace                        : 1;
8049215976Sjmallett	uint64_t gmx_drp                      : 2;
8050215976Sjmallett	uint64_t ipd_drp                      : 1;
8051232812Sjmallett	uint64_t reserved_51_51               : 1;
8052215976Sjmallett	uint64_t timer                        : 4;
8053215976Sjmallett	uint64_t usb                          : 1;
8054215976Sjmallett	uint64_t pcm                          : 1;
8055215976Sjmallett	uint64_t mpi                          : 1;
8056215976Sjmallett	uint64_t twsi2                        : 1;
8057215976Sjmallett	uint64_t powiq                        : 1;
8058215976Sjmallett	uint64_t ipdppthr                     : 1;
8059215976Sjmallett	uint64_t mii                          : 1;
8060215976Sjmallett	uint64_t bootdma                      : 1;
8061215976Sjmallett#endif
8062215976Sjmallett	} s;
8063232812Sjmallett	struct cvmx_ciu_intx_sum4_cn50xx {
8064232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
8065215976Sjmallett	uint64_t reserved_59_63               : 5;
8066215976Sjmallett	uint64_t mpi                          : 1;  /**< MPI/SPI interrupt */
8067215976Sjmallett	uint64_t pcm                          : 1;  /**< PCM/TDM interrupt */
8068215976Sjmallett	uint64_t usb                          : 1;  /**< USB interrupt */
8069215976Sjmallett	uint64_t timer                        : 4;  /**< General timer interrupts */
8070215976Sjmallett	uint64_t reserved_51_51               : 1;
8071215976Sjmallett	uint64_t ipd_drp                      : 1;  /**< IPD QOS packet drop */
8072215976Sjmallett	uint64_t reserved_49_49               : 1;
8073215976Sjmallett	uint64_t gmx_drp                      : 1;  /**< GMX packet drop */
8074215976Sjmallett	uint64_t reserved_47_47               : 1;
8075215976Sjmallett	uint64_t rml                          : 1;  /**< RML Interrupt */
8076215976Sjmallett	uint64_t twsi                         : 1;  /**< TWSI Interrupt */
8077215976Sjmallett	uint64_t wdog_sum                     : 1;  /**< Watchdog summary
8078215976Sjmallett                                                         PPs use CIU_INTx_SUM4 where x=0-1. */
8079215976Sjmallett	uint64_t pci_msi                      : 4;  /**< PCI MSI
8080215976Sjmallett                                                         [43] is the or of <63:48>
8081215976Sjmallett                                                         [42] is the or of <47:32>
8082215976Sjmallett                                                         [41] is the or of <31:16>
8083215976Sjmallett                                                         [40] is the or of <15:0> */
8084215976Sjmallett	uint64_t pci_int                      : 4;  /**< PCI INTA/B/C/D */
8085215976Sjmallett	uint64_t uart                         : 2;  /**< Two UART interrupts */
8086215976Sjmallett	uint64_t mbox                         : 2;  /**< Two mailbox interrupts for entries 0-31
8087215976Sjmallett                                                          [33] is the or of <31:16>
8088215976Sjmallett                                                          [32] is the or of <15:0>
8089215976Sjmallett                                                         Two PCI internal interrupts for entry 32
8090215976Sjmallett                                                          CIU_PCI_INTA */
8091215976Sjmallett	uint64_t gpio                         : 16; /**< 16 GPIO interrupts */
8092215976Sjmallett	uint64_t workq                        : 16; /**< 16 work queue interrupts
8093215976Sjmallett                                                         1 bit/group. A copy of the R/W1C bit in the POW. */
8094215976Sjmallett#else
8095215976Sjmallett	uint64_t workq                        : 16;
8096215976Sjmallett	uint64_t gpio                         : 16;
8097215976Sjmallett	uint64_t mbox                         : 2;
8098215976Sjmallett	uint64_t uart                         : 2;
8099215976Sjmallett	uint64_t pci_int                      : 4;
8100215976Sjmallett	uint64_t pci_msi                      : 4;
8101215976Sjmallett	uint64_t wdog_sum                     : 1;
8102215976Sjmallett	uint64_t twsi                         : 1;
8103215976Sjmallett	uint64_t rml                          : 1;
8104215976Sjmallett	uint64_t reserved_47_47               : 1;
8105215976Sjmallett	uint64_t gmx_drp                      : 1;
8106215976Sjmallett	uint64_t reserved_49_49               : 1;
8107215976Sjmallett	uint64_t ipd_drp                      : 1;
8108215976Sjmallett	uint64_t reserved_51_51               : 1;
8109215976Sjmallett	uint64_t timer                        : 4;
8110215976Sjmallett	uint64_t usb                          : 1;
8111215976Sjmallett	uint64_t pcm                          : 1;
8112215976Sjmallett	uint64_t mpi                          : 1;
8113215976Sjmallett	uint64_t reserved_59_63               : 5;
8114215976Sjmallett#endif
8115215976Sjmallett	} cn50xx;
8116232812Sjmallett	struct cvmx_ciu_intx_sum4_cn52xx {
8117232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
8118215976Sjmallett	uint64_t bootdma                      : 1;  /**< Boot bus DMA engines Interrupt */
8119215976Sjmallett	uint64_t mii                          : 1;  /**< MII Interface Interrupt */
8120215976Sjmallett	uint64_t ipdppthr                     : 1;  /**< IPD per-port counter threshold interrupt */
8121215976Sjmallett	uint64_t powiq                        : 1;  /**< POW IQ interrupt */
8122215976Sjmallett	uint64_t twsi2                        : 1;  /**< 2nd TWSI Interrupt */
8123215976Sjmallett	uint64_t reserved_57_58               : 2;
8124215976Sjmallett	uint64_t usb                          : 1;  /**< USB Interrupt */
8125215976Sjmallett	uint64_t timer                        : 4;  /**< General timer interrupts */
8126215976Sjmallett	uint64_t reserved_51_51               : 1;
8127215976Sjmallett	uint64_t ipd_drp                      : 1;  /**< IPD QOS packet drop */
8128215976Sjmallett	uint64_t reserved_49_49               : 1;
8129215976Sjmallett	uint64_t gmx_drp                      : 1;  /**< GMX packet drop */
8130215976Sjmallett	uint64_t trace                        : 1;  /**< L2C has the CMB trace buffer */
8131215976Sjmallett	uint64_t rml                          : 1;  /**< RML Interrupt */
8132215976Sjmallett	uint64_t twsi                         : 1;  /**< TWSI Interrupt */
8133215976Sjmallett	uint64_t wdog_sum                     : 1;  /**< SUM1&EN4_1 summary bit
8134215976Sjmallett                                                         This read-only bit reads as a one whenever any
8135215976Sjmallett                                                         CIU_INT_SUM1 bit is set and corresponding
8136215976Sjmallett                                                         enable bit in CIU_INTx_EN4_1 is set, where x
8137215976Sjmallett                                                         is the same as x in this CIU_INTx_SUM4.
8138215976Sjmallett                                                         PPs use CIU_INTx_SUM4 for IP4, where x=PPid.
8139215976Sjmallett                                                         Note that WDOG_SUM only summarizes the SUM/EN4_1
8140215976Sjmallett                                                         result and does not have a corresponding enable
8141215976Sjmallett                                                         bit, so does not directly contribute to
8142215976Sjmallett                                                         interrupts. */
8143215976Sjmallett	uint64_t pci_msi                      : 4;  /**< PCI MSI
8144215976Sjmallett                                                         Refer to "Receiving Message-Signalled
8145215976Sjmallett                                                         Interrupts" in the PCIe chapter of the spec */
8146215976Sjmallett	uint64_t pci_int                      : 4;  /**< PCI INTA/B/C/D
8147215976Sjmallett                                                         Refer to "Receiving Emulated INTA/INTB/
8148215976Sjmallett                                                         INTC/INTD" in the PCIe chapter of the spec */
8149215976Sjmallett	uint64_t uart                         : 2;  /**< Two UART interrupts */
8150215976Sjmallett	uint64_t mbox                         : 2;  /**< Two mailbox interrupts for entries 0-3
8151215976Sjmallett                                                         [33] is the or of <31:16>
8152215976Sjmallett                                                         [32] is the or of <15:0> */
8153215976Sjmallett	uint64_t gpio                         : 16; /**< 16 GPIO interrupts */
8154215976Sjmallett	uint64_t workq                        : 16; /**< 16 work queue interrupts
8155215976Sjmallett                                                         1 bit/group. A copy of the R/W1C bit in the POW. */
8156215976Sjmallett#else
8157215976Sjmallett	uint64_t workq                        : 16;
8158215976Sjmallett	uint64_t gpio                         : 16;
8159215976Sjmallett	uint64_t mbox                         : 2;
8160215976Sjmallett	uint64_t uart                         : 2;
8161215976Sjmallett	uint64_t pci_int                      : 4;
8162215976Sjmallett	uint64_t pci_msi                      : 4;
8163215976Sjmallett	uint64_t wdog_sum                     : 1;
8164215976Sjmallett	uint64_t twsi                         : 1;
8165215976Sjmallett	uint64_t rml                          : 1;
8166215976Sjmallett	uint64_t trace                        : 1;
8167215976Sjmallett	uint64_t gmx_drp                      : 1;
8168215976Sjmallett	uint64_t reserved_49_49               : 1;
8169215976Sjmallett	uint64_t ipd_drp                      : 1;
8170215976Sjmallett	uint64_t reserved_51_51               : 1;
8171215976Sjmallett	uint64_t timer                        : 4;
8172215976Sjmallett	uint64_t usb                          : 1;
8173215976Sjmallett	uint64_t reserved_57_58               : 2;
8174215976Sjmallett	uint64_t twsi2                        : 1;
8175215976Sjmallett	uint64_t powiq                        : 1;
8176215976Sjmallett	uint64_t ipdppthr                     : 1;
8177215976Sjmallett	uint64_t mii                          : 1;
8178215976Sjmallett	uint64_t bootdma                      : 1;
8179215976Sjmallett#endif
8180215976Sjmallett	} cn52xx;
8181215976Sjmallett	struct cvmx_ciu_intx_sum4_cn52xx      cn52xxp1;
8182232812Sjmallett	struct cvmx_ciu_intx_sum4_cn56xx {
8183232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
8184215976Sjmallett	uint64_t bootdma                      : 1;  /**< Boot bus DMA engines Interrupt */
8185215976Sjmallett	uint64_t mii                          : 1;  /**< MII Interface Interrupt */
8186215976Sjmallett	uint64_t ipdppthr                     : 1;  /**< IPD per-port counter threshold interrupt */
8187215976Sjmallett	uint64_t powiq                        : 1;  /**< POW IQ interrupt */
8188215976Sjmallett	uint64_t twsi2                        : 1;  /**< 2nd TWSI Interrupt */
8189215976Sjmallett	uint64_t reserved_57_58               : 2;
8190215976Sjmallett	uint64_t usb                          : 1;  /**< USB Interrupt */
8191215976Sjmallett	uint64_t timer                        : 4;  /**< General timer interrupts */
8192215976Sjmallett	uint64_t key_zero                     : 1;  /**< Key Zeroization interrupt
8193215976Sjmallett                                                         KEY_ZERO will be set when the external ZERO_KEYS
8194215976Sjmallett                                                         pin is sampled high.  KEY_ZERO is cleared by SW */
8195215976Sjmallett	uint64_t ipd_drp                      : 1;  /**< IPD QOS packet drop */
8196215976Sjmallett	uint64_t gmx_drp                      : 2;  /**< GMX packet drop */
8197215976Sjmallett	uint64_t trace                        : 1;  /**< L2C has the CMB trace buffer */
8198215976Sjmallett	uint64_t rml                          : 1;  /**< RML Interrupt */
8199215976Sjmallett	uint64_t twsi                         : 1;  /**< TWSI Interrupt */
8200215976Sjmallett	uint64_t wdog_sum                     : 1;  /**< Watchdog summary
8201215976Sjmallett                                                         These registers report WDOG to IP4 */
8202215976Sjmallett	uint64_t pci_msi                      : 4;  /**< PCI MSI
8203215976Sjmallett                                                         Refer to "Receiving Message-Signalled
8204215976Sjmallett                                                         Interrupts" in the PCIe chapter of the spec */
8205215976Sjmallett	uint64_t pci_int                      : 4;  /**< PCI INTA/B/C/D
8206215976Sjmallett                                                         Refer to "Receiving Emulated INTA/INTB/
8207215976Sjmallett                                                         INTC/INTD" in the PCIe chapter of the spec */
8208215976Sjmallett	uint64_t uart                         : 2;  /**< Two UART interrupts */
8209215976Sjmallett	uint64_t mbox                         : 2;  /**< Two mailbox interrupts for entries 0-11
8210215976Sjmallett                                                         [33] is the or of <31:16>
8211215976Sjmallett                                                         [32] is the or of <15:0> */
8212215976Sjmallett	uint64_t gpio                         : 16; /**< 16 GPIO interrupts */
8213215976Sjmallett	uint64_t workq                        : 16; /**< 16 work queue interrupts
8214215976Sjmallett                                                         1 bit/group. A copy of the R/W1C bit in the POW. */
8215215976Sjmallett#else
8216215976Sjmallett	uint64_t workq                        : 16;
8217215976Sjmallett	uint64_t gpio                         : 16;
8218215976Sjmallett	uint64_t mbox                         : 2;
8219215976Sjmallett	uint64_t uart                         : 2;
8220215976Sjmallett	uint64_t pci_int                      : 4;
8221215976Sjmallett	uint64_t pci_msi                      : 4;
8222215976Sjmallett	uint64_t wdog_sum                     : 1;
8223215976Sjmallett	uint64_t twsi                         : 1;
8224215976Sjmallett	uint64_t rml                          : 1;
8225215976Sjmallett	uint64_t trace                        : 1;
8226215976Sjmallett	uint64_t gmx_drp                      : 2;
8227215976Sjmallett	uint64_t ipd_drp                      : 1;
8228215976Sjmallett	uint64_t key_zero                     : 1;
8229215976Sjmallett	uint64_t timer                        : 4;
8230215976Sjmallett	uint64_t usb                          : 1;
8231215976Sjmallett	uint64_t reserved_57_58               : 2;
8232215976Sjmallett	uint64_t twsi2                        : 1;
8233215976Sjmallett	uint64_t powiq                        : 1;
8234215976Sjmallett	uint64_t ipdppthr                     : 1;
8235215976Sjmallett	uint64_t mii                          : 1;
8236215976Sjmallett	uint64_t bootdma                      : 1;
8237215976Sjmallett#endif
8238215976Sjmallett	} cn56xx;
8239215976Sjmallett	struct cvmx_ciu_intx_sum4_cn56xx      cn56xxp1;
8240232812Sjmallett	struct cvmx_ciu_intx_sum4_cn58xx {
8241232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
8242215976Sjmallett	uint64_t reserved_56_63               : 8;
8243215976Sjmallett	uint64_t timer                        : 4;  /**< General timer interrupts */
8244215976Sjmallett	uint64_t key_zero                     : 1;  /**< Key Zeroization interrupt
8245215976Sjmallett                                                         KEY_ZERO will be set when the external ZERO_KEYS
8246215976Sjmallett                                                         pin is sampled high.  KEY_ZERO is cleared by SW */
8247215976Sjmallett	uint64_t ipd_drp                      : 1;  /**< IPD QOS packet drop */
8248215976Sjmallett	uint64_t gmx_drp                      : 2;  /**< GMX packet drop */
8249215976Sjmallett	uint64_t trace                        : 1;  /**< L2C has the CMB trace buffer */
8250215976Sjmallett	uint64_t rml                          : 1;  /**< RML Interrupt */
8251215976Sjmallett	uint64_t twsi                         : 1;  /**< TWSI Interrupt */
8252215976Sjmallett	uint64_t wdog_sum                     : 1;  /**< Watchdog summary
8253215976Sjmallett                                                         These registers report WDOG to IP4 */
8254215976Sjmallett	uint64_t pci_msi                      : 4;  /**< PCI MSI
8255215976Sjmallett                                                         [43] is the or of <63:48>
8256215976Sjmallett                                                         [42] is the or of <47:32>
8257215976Sjmallett                                                         [41] is the or of <31:16>
8258215976Sjmallett                                                         [40] is the or of <15:0> */
8259215976Sjmallett	uint64_t pci_int                      : 4;  /**< PCI INTA/B/C/D */
8260215976Sjmallett	uint64_t uart                         : 2;  /**< Two UART interrupts */
8261215976Sjmallett	uint64_t mbox                         : 2;  /**< Two mailbox interrupts for entries 0-31
8262215976Sjmallett                                                          [33] is the or of <31:16>
8263215976Sjmallett                                                          [32] is the or of <15:0>
8264215976Sjmallett                                                         Two PCI internal interrupts for entry 32
8265215976Sjmallett                                                          CIU_PCI_INTA */
8266215976Sjmallett	uint64_t gpio                         : 16; /**< 16 GPIO interrupts */
8267215976Sjmallett	uint64_t workq                        : 16; /**< 16 work queue interrupts
8268215976Sjmallett                                                         1 bit/group. A copy of the R/W1C bit in the POW. */
8269215976Sjmallett#else
8270215976Sjmallett	uint64_t workq                        : 16;
8271215976Sjmallett	uint64_t gpio                         : 16;
8272215976Sjmallett	uint64_t mbox                         : 2;
8273215976Sjmallett	uint64_t uart                         : 2;
8274215976Sjmallett	uint64_t pci_int                      : 4;
8275215976Sjmallett	uint64_t pci_msi                      : 4;
8276215976Sjmallett	uint64_t wdog_sum                     : 1;
8277215976Sjmallett	uint64_t twsi                         : 1;
8278215976Sjmallett	uint64_t rml                          : 1;
8279215976Sjmallett	uint64_t trace                        : 1;
8280215976Sjmallett	uint64_t gmx_drp                      : 2;
8281215976Sjmallett	uint64_t ipd_drp                      : 1;
8282215976Sjmallett	uint64_t key_zero                     : 1;
8283215976Sjmallett	uint64_t timer                        : 4;
8284215976Sjmallett	uint64_t reserved_56_63               : 8;
8285215976Sjmallett#endif
8286215976Sjmallett	} cn58xx;
8287215976Sjmallett	struct cvmx_ciu_intx_sum4_cn58xx      cn58xxp1;
8288232812Sjmallett	struct cvmx_ciu_intx_sum4_cn61xx {
8289232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
8290232812Sjmallett	uint64_t bootdma                      : 1;  /**< Boot bus DMA engines Interrupt
8291232812Sjmallett                                                         See MIO_BOOT_DMA_INT*, MIO_NDF_DMA_INT */
8292232812Sjmallett	uint64_t mii                          : 1;  /**< RGMII/MIX Interface 0 Interrupt
8293232812Sjmallett                                                         See MIX0_ISR */
8294232812Sjmallett	uint64_t ipdppthr                     : 1;  /**< IPD per-port counter threshold interrupt
8295232812Sjmallett                                                         See IPD_PORT_QOS_INT* */
8296232812Sjmallett	uint64_t powiq                        : 1;  /**< POW IQ interrupt
8297232812Sjmallett                                                         See POW_IQ_INT */
8298232812Sjmallett	uint64_t twsi2                        : 1;  /**< 2nd TWSI Interrupt
8299232812Sjmallett                                                         See MIO_TWS1_INT */
8300232812Sjmallett	uint64_t mpi                          : 1;  /**< MPI/SPI interrupt */
8301232812Sjmallett	uint64_t pcm                          : 1;  /**< PCM/TDM interrupt */
8302232812Sjmallett	uint64_t usb                          : 1;  /**< USB EHCI or OHCI Interrupt
8303232812Sjmallett                                                         See UAHC0_EHCI_USBSTS UAHC0_OHCI0_HCINTERRUPTSTATUS */
8304232812Sjmallett	uint64_t timer                        : 4;  /**< General timer 0-3 interrupts
8305232812Sjmallett                                                         When CIU_TIM_MULTI_CAST[EN] == 0, this interrupt is
8306232812Sjmallett                                                         common for all PP/IRQs, writing '1' to any PP/IRQ
8307232812Sjmallett                                                         will clear all TIMERx(x=0..9) interrupts.
8308232812Sjmallett                                                         When CIU_TIM_MULTI_CAST[EN] == 1, TIMERx(x=0..9)
8309232812Sjmallett                                                         are set at the same time, but clearing are based on
8310232812Sjmallett                                                         per cnMIPS core. See CIU_TIM_MULTI_CAST for detail.
8311232812Sjmallett                                                         The combination of this field and the
8312232812Sjmallett                                                         CIU_SUM2_*[TIMER] field implement all 10 CIU_TIM*
8313232812Sjmallett                                                         interrupts. */
8314232812Sjmallett	uint64_t sum2                         : 1;  /**< SUM2&EN2 SUMMARY bit
8315232812Sjmallett                                                         This read-only bit reads as a one whenever any
8316232812Sjmallett                                                         CIU_SUM2_PPX_IPx (CIU_SUM2_IOX_INT)  bit is set
8317232812Sjmallett                                                         and corresponding enable bit in CIU_EN2_PPX_IPx
8318232812Sjmallett                                                         (CIU_EN2_IOX_INT) is set.
8319232812Sjmallett                                                         Note that WDOG_SUM only summarizes the SUM2/EN2
8320232812Sjmallett                                                         result and does not have a corresponding enable
8321232812Sjmallett                                                         bit, so does not directly contribute to
8322232812Sjmallett                                                         interrupts. */
8323232812Sjmallett	uint64_t ipd_drp                      : 1;  /**< IPD QOS packet drop interrupt
8324232812Sjmallett                                                         Set any time PIP/IPD drops a packet */
8325232812Sjmallett	uint64_t gmx_drp                      : 2;  /**< GMX packet drop interrupt
8326232812Sjmallett                                                         Set any time corresponding GMX drops a packet */
8327232812Sjmallett	uint64_t trace                        : 1;  /**< Trace buffer interrupt
8328232812Sjmallett                                                         See TRA_INT_STATUS */
8329232812Sjmallett	uint64_t rml                          : 1;  /**< RML Interrupt
8330232812Sjmallett                                                         This bit is set when any bit is set in
8331232812Sjmallett                                                         CIU_BLOCK_INT. */
8332232812Sjmallett	uint64_t twsi                         : 1;  /**< TWSI Interrupt
8333232812Sjmallett                                                         See MIO_TWS0_INT */
8334232812Sjmallett	uint64_t wdog_sum                     : 1;  /**< SUM1&EN1 summary bit
8335232812Sjmallett                                                         This read-only bit reads as a one whenever any
8336232812Sjmallett                                                         CIU_SUM1_PPX_IPx (CIU_SUM1_IOX_INT)  bit is set
8337232812Sjmallett                                                         and corresponding enable bit in CIU_INTx_EN is set
8338232812Sjmallett                                                         PPs use CIU_INTx_SUM0 where x=0-19
8339232812Sjmallett                                                         PCIe uses the CIU_INTx_SUM0 where x=32-33.
8340232812Sjmallett                                                         Note that WDOG_SUM only summarizes the SUM1/EN1
8341232812Sjmallett                                                         result and does not have a corresponding enable
8342232812Sjmallett                                                         bit, so does not directly contribute to
8343232812Sjmallett                                                         interrupts. */
8344232812Sjmallett	uint64_t pci_msi                      : 4;  /**< PCIe MSI
8345232812Sjmallett                                                         See SLI_MSI_RCVn for bit <40+n> */
8346232812Sjmallett	uint64_t pci_int                      : 4;  /**< PCIe INTA/B/C/D
8347232812Sjmallett                                                         Refer to "Receiving Emulated INTA/INTB/
8348232812Sjmallett                                                         INTC/INTD" in the SLI chapter of the spec
8349232812Sjmallett                                                         PCI_INT<3> = INTD
8350232812Sjmallett                                                         PCI_INT<2> = INTC
8351232812Sjmallett                                                         PCI_INT<1> = INTB
8352232812Sjmallett                                                         PCI_INT<0> = INTA */
8353232812Sjmallett	uint64_t uart                         : 2;  /**< Two UART interrupts
8354232812Sjmallett                                                         See MIO_UARTn_IIR[IID] for bit <34+n> */
8355232812Sjmallett	uint64_t mbox                         : 2;  /**< Two mailbox interrupts for entries 0-5
8356232812Sjmallett                                                         [33] is the or of <31:16>
8357232812Sjmallett                                                         [32] is the or of <15:0> */
8358232812Sjmallett	uint64_t gpio                         : 16; /**< 16 GPIO interrupts
8359232812Sjmallett                                                         When GPIO_MULTI_CAST[EN] == 1
8360232812Sjmallett                                                         Write 1 to clear either the per PP interrupt or
8361232812Sjmallett                                                         common GPIO interrupt for all PP/IOs,depending
8362232812Sjmallett                                                         on mode setting. This will apply to all 16 GPIOs.
8363232812Sjmallett                                                         See GPIO_MULTI_CAST for all details
8364232812Sjmallett                                                         When GPIO_MULTI_CAST[EN] == 0
8365232812Sjmallett                                                         Read Only, retain the same behavior as o63. */
8366232812Sjmallett	uint64_t workq                        : 16; /**< 16 work queue interrupts
8367232812Sjmallett                                                         See POW_WQ_INT[WQ_INT]
8368232812Sjmallett                                                          1 bit/group. A copy of the R/W1C bit in the POW. */
8369232812Sjmallett#else
8370232812Sjmallett	uint64_t workq                        : 16;
8371232812Sjmallett	uint64_t gpio                         : 16;
8372232812Sjmallett	uint64_t mbox                         : 2;
8373232812Sjmallett	uint64_t uart                         : 2;
8374232812Sjmallett	uint64_t pci_int                      : 4;
8375232812Sjmallett	uint64_t pci_msi                      : 4;
8376232812Sjmallett	uint64_t wdog_sum                     : 1;
8377232812Sjmallett	uint64_t twsi                         : 1;
8378232812Sjmallett	uint64_t rml                          : 1;
8379232812Sjmallett	uint64_t trace                        : 1;
8380232812Sjmallett	uint64_t gmx_drp                      : 2;
8381232812Sjmallett	uint64_t ipd_drp                      : 1;
8382232812Sjmallett	uint64_t sum2                         : 1;
8383232812Sjmallett	uint64_t timer                        : 4;
8384232812Sjmallett	uint64_t usb                          : 1;
8385232812Sjmallett	uint64_t pcm                          : 1;
8386232812Sjmallett	uint64_t mpi                          : 1;
8387232812Sjmallett	uint64_t twsi2                        : 1;
8388232812Sjmallett	uint64_t powiq                        : 1;
8389232812Sjmallett	uint64_t ipdppthr                     : 1;
8390232812Sjmallett	uint64_t mii                          : 1;
8391232812Sjmallett	uint64_t bootdma                      : 1;
8392232812Sjmallett#endif
8393232812Sjmallett	} cn61xx;
8394215976Sjmallett	struct cvmx_ciu_intx_sum4_cn52xx      cn63xx;
8395215976Sjmallett	struct cvmx_ciu_intx_sum4_cn52xx      cn63xxp1;
8396232812Sjmallett	struct cvmx_ciu_intx_sum4_cn66xx {
8397232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
8398232812Sjmallett	uint64_t bootdma                      : 1;  /**< Boot bus DMA engines Interrupt
8399232812Sjmallett                                                         See MIO_BOOT_DMA_INT*, MIO_NDF_DMA_INT */
8400232812Sjmallett	uint64_t mii                          : 1;  /**< RGMII/MII/MIX Interface 0 Interrupt
8401232812Sjmallett                                                         See MIX0_ISR */
8402232812Sjmallett	uint64_t ipdppthr                     : 1;  /**< IPD per-port counter threshold interrupt
8403232812Sjmallett                                                         See IPD_PORT_QOS_INT* */
8404232812Sjmallett	uint64_t powiq                        : 1;  /**< POW IQ interrupt
8405232812Sjmallett                                                         See POW_IQ_INT */
8406232812Sjmallett	uint64_t twsi2                        : 1;  /**< 2nd TWSI Interrupt
8407232812Sjmallett                                                         See MIO_TWS1_INT */
8408232812Sjmallett	uint64_t mpi                          : 1;  /**< MPI/SPI interrupt */
8409232812Sjmallett	uint64_t reserved_57_57               : 1;
8410232812Sjmallett	uint64_t usb                          : 1;  /**< USB EHCI or OHCI Interrupt
8411232812Sjmallett                                                         See UAHC0_EHCI_USBSTS UAHC0_OHCI0_HCINTERRUPTSTATUS */
8412232812Sjmallett	uint64_t timer                        : 4;  /**< General timer 0-3 interrupts.
8413232812Sjmallett                                                         Prior to pass 1.2 or
8414232812Sjmallett                                                          when CIU_TIM_MULTI_CAST[EN]==0, this interrupt is
8415232812Sjmallett                                                          common for all PP/IRQs, writing '1' to any PP/IRQ
8416232812Sjmallett                                                          will clear all TIMERx(x=0..9) interrupts.
8417232812Sjmallett                                                         When CIU_TIM_MULTI_CAST[EN] == 1, TIMERx(x=0..9)
8418232812Sjmallett                                                          are set at the same time, but clearing is per
8419232812Sjmallett                                                          cnMIPS core. See CIU_TIM_MULTI_CAST for detail.
8420232812Sjmallett                                                         The combination of this field and the
8421232812Sjmallett                                                         CIU_SUM2_*[TIMER] field implement all 10 CIU_TIM*
8422232812Sjmallett                                                         interrupts. */
8423232812Sjmallett	uint64_t sum2                         : 1;  /**< SUM2&EN2 SUMMARY bit
8424232812Sjmallett                                                          In pass 1.2 and subsequent passes,
8425232812Sjmallett                                                          this read-only bit reads as a one whenever any
8426232812Sjmallett                                                          CIU_SUM2_PPX_IPx (CIU_SUM2_IOX_INT)  bit is set
8427232812Sjmallett                                                          and corresponding enable bit in CIU_EN2_PPX_IPx
8428232812Sjmallett                                                          (CIU_EN2_IOX_INT) is set.
8429232812Sjmallett                                                          Note that WDOG_SUM only summarizes the SUM2/EN2
8430232812Sjmallett                                                          result and does not have a corresponding enable
8431232812Sjmallett                                                          bit, so does not directly contribute to
8432232812Sjmallett                                                          interrupts.
8433232812Sjmallett                                                         Prior to pass 1.2, SUM2 did not exist and this
8434232812Sjmallett                                                          bit reads as zero. */
8435232812Sjmallett	uint64_t ipd_drp                      : 1;  /**< IPD QOS packet drop interrupt
8436232812Sjmallett                                                         Set any time PIP/IPD drops a packet */
8437232812Sjmallett	uint64_t gmx_drp                      : 2;  /**< GMX packet drop interrupt
8438232812Sjmallett                                                         Set any time corresponding GMX drops a packet */
8439232812Sjmallett	uint64_t trace                        : 1;  /**< Trace buffer interrupt
8440232812Sjmallett                                                         See TRA_INT_STATUS */
8441232812Sjmallett	uint64_t rml                          : 1;  /**< RML Interrupt
8442232812Sjmallett                                                         This bit is set when any bit is set in
8443232812Sjmallett                                                         CIU_BLOCK_INT. */
8444232812Sjmallett	uint64_t twsi                         : 1;  /**< TWSI Interrupt
8445232812Sjmallett                                                         See MIO_TWS0_INT */
8446232812Sjmallett	uint64_t wdog_sum                     : 1;  /**< SUM1&EN1 summary bit
8447232812Sjmallett                                                         This read-only bit reads as a one whenever any
8448232812Sjmallett                                                         CIU_SUM1_PPX_IPx (CIU_SUM1_IOX_INT)  bit is set
8449232812Sjmallett                                                         and corresponding enable bit in CIU_INTx_EN is set
8450232812Sjmallett                                                         PPs use CIU_INTx_SUM0 where x=0-19
8451232812Sjmallett                                                         PCIe/sRIO uses the CIU_INTx_SUM0 where x=32-33.
8452232812Sjmallett                                                         Note that WDOG_SUM only summarizes the SUM1/EN1
8453232812Sjmallett                                                         result and does not have a corresponding enable
8454232812Sjmallett                                                         bit, so does not directly contribute to
8455232812Sjmallett                                                         interrupts. */
8456232812Sjmallett	uint64_t pci_msi                      : 4;  /**< PCIe/sRIO MSI
8457232812Sjmallett                                                         See SLI_MSI_RCVn for bit <40+n> */
8458232812Sjmallett	uint64_t pci_int                      : 4;  /**< PCIe INTA/B/C/D
8459232812Sjmallett                                                         Refer to "Receiving Emulated INTA/INTB/
8460232812Sjmallett                                                         INTC/INTD" in the SLI chapter of the spec
8461232812Sjmallett                                                         PCI_INT<3> = INTD
8462232812Sjmallett                                                         PCI_INT<2> = INTC
8463232812Sjmallett                                                         PCI_INT<1> = INTB
8464232812Sjmallett                                                         PCI_INT<0> = INTA */
8465232812Sjmallett	uint64_t uart                         : 2;  /**< Two UART interrupts
8466232812Sjmallett                                                         See MIO_UARTn_IIR[IID] for bit <34+n> */
8467232812Sjmallett	uint64_t mbox                         : 2;  /**< Two mailbox interrupts for entries 0-5
8468232812Sjmallett                                                         [33] is the or of <31:16>
8469232812Sjmallett                                                         [32] is the or of <15:0> */
8470232812Sjmallett	uint64_t gpio                         : 16; /**< 16 GPIO interrupts */
8471232812Sjmallett	uint64_t workq                        : 16; /**< 16 work queue interrupts
8472232812Sjmallett                                                         See POW_WQ_INT[WQ_INT]
8473232812Sjmallett                                                          1 bit/group. A copy of the R/W1C bit in the POW. */
8474232812Sjmallett#else
8475232812Sjmallett	uint64_t workq                        : 16;
8476232812Sjmallett	uint64_t gpio                         : 16;
8477232812Sjmallett	uint64_t mbox                         : 2;
8478232812Sjmallett	uint64_t uart                         : 2;
8479232812Sjmallett	uint64_t pci_int                      : 4;
8480232812Sjmallett	uint64_t pci_msi                      : 4;
8481232812Sjmallett	uint64_t wdog_sum                     : 1;
8482232812Sjmallett	uint64_t twsi                         : 1;
8483232812Sjmallett	uint64_t rml                          : 1;
8484232812Sjmallett	uint64_t trace                        : 1;
8485232812Sjmallett	uint64_t gmx_drp                      : 2;
8486232812Sjmallett	uint64_t ipd_drp                      : 1;
8487232812Sjmallett	uint64_t sum2                         : 1;
8488232812Sjmallett	uint64_t timer                        : 4;
8489232812Sjmallett	uint64_t usb                          : 1;
8490232812Sjmallett	uint64_t reserved_57_57               : 1;
8491232812Sjmallett	uint64_t mpi                          : 1;
8492232812Sjmallett	uint64_t twsi2                        : 1;
8493232812Sjmallett	uint64_t powiq                        : 1;
8494232812Sjmallett	uint64_t ipdppthr                     : 1;
8495232812Sjmallett	uint64_t mii                          : 1;
8496232812Sjmallett	uint64_t bootdma                      : 1;
8497232812Sjmallett#endif
8498232812Sjmallett	} cn66xx;
8499232812Sjmallett	struct cvmx_ciu_intx_sum4_cnf71xx {
8500232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
8501232812Sjmallett	uint64_t bootdma                      : 1;  /**< Boot bus DMA engines Interrupt
8502232812Sjmallett                                                         See MIO_BOOT_DMA_INT*, MIO_NDF_DMA_INT */
8503232812Sjmallett	uint64_t reserved_62_62               : 1;
8504232812Sjmallett	uint64_t ipdppthr                     : 1;  /**< IPD per-port counter threshold interrupt
8505232812Sjmallett                                                         See IPD_PORT_QOS_INT* */
8506232812Sjmallett	uint64_t powiq                        : 1;  /**< POW IQ interrupt
8507232812Sjmallett                                                         See POW_IQ_INT */
8508232812Sjmallett	uint64_t twsi2                        : 1;  /**< 2nd TWSI Interrupt
8509232812Sjmallett                                                         See MIO_TWS1_INT */
8510232812Sjmallett	uint64_t mpi                          : 1;  /**< MPI/SPI interrupt */
8511232812Sjmallett	uint64_t pcm                          : 1;  /**< PCM/TDM interrupt */
8512232812Sjmallett	uint64_t usb                          : 1;  /**< USB EHCI or OHCI Interrupt
8513232812Sjmallett                                                         See UAHC0_EHCI_USBSTS UAHC0_OHCI0_HCINTERRUPTSTATUS */
8514232812Sjmallett	uint64_t timer                        : 4;  /**< General timer 0-3 interrupts
8515232812Sjmallett                                                         When CIU_TIM_MULTI_CAST[EN] == 0, this interrupt is
8516232812Sjmallett                                                         common for all PP/IRQs, writing '1' to any PP/IRQ
8517232812Sjmallett                                                         will clear all TIMERx(x=0..9) interrupts.
8518232812Sjmallett                                                         When CIU_TIM_MULTI_CAST[EN] == 1, TIMERx(x=0..9)
8519232812Sjmallett                                                         are set at the same time, but clearing are based on
8520232812Sjmallett                                                         per cnMIPS core. See CIU_TIM_MULTI_CAST for detail.
8521232812Sjmallett                                                         The combination of this field and the
8522232812Sjmallett                                                         CIU_SUM2_*[TIMER] field implement all 10 CIU_TIM*
8523232812Sjmallett                                                         interrupts. */
8524232812Sjmallett	uint64_t sum2                         : 1;  /**< SUM2&EN2 SUMMARY bit
8525232812Sjmallett                                                         This read-only bit reads as a one whenever any
8526232812Sjmallett                                                         CIU_SUM2_PPX_IPx (CIU_SUM2_IOX_INT)  bit is set
8527232812Sjmallett                                                         and corresponding enable bit in CIU_EN2_PPX_IPx
8528232812Sjmallett                                                         (CIU_EN2_IOX_INT) is set.
8529232812Sjmallett                                                         Note that WDOG_SUM only summarizes the SUM2/EN2
8530232812Sjmallett                                                         result and does not have a corresponding enable
8531232812Sjmallett                                                         bit, so does not directly contribute to
8532232812Sjmallett                                                         interrupts. */
8533232812Sjmallett	uint64_t ipd_drp                      : 1;  /**< IPD QOS packet drop interrupt
8534232812Sjmallett                                                         Set any time PIP/IPD drops a packet */
8535232812Sjmallett	uint64_t reserved_49_49               : 1;
8536232812Sjmallett	uint64_t gmx_drp                      : 1;  /**< GMX packet drop interrupt
8537232812Sjmallett                                                         Set any time corresponding GMX drops a packet */
8538232812Sjmallett	uint64_t trace                        : 1;  /**< Trace buffer interrupt
8539232812Sjmallett                                                         See TRA_INT_STATUS */
8540232812Sjmallett	uint64_t rml                          : 1;  /**< RML Interrupt
8541232812Sjmallett                                                         This bit is set when any bit is set in
8542232812Sjmallett                                                         CIU_BLOCK_INT. */
8543232812Sjmallett	uint64_t twsi                         : 1;  /**< TWSI Interrupt
8544232812Sjmallett                                                         See MIO_TWS0_INT */
8545232812Sjmallett	uint64_t wdog_sum                     : 1;  /**< SUM1&EN1 summary bit
8546232812Sjmallett                                                         This read-only bit reads as a one whenever any
8547232812Sjmallett                                                         CIU_SUM1_PPX_IPx (CIU_SUM1_IOX_INT)  bit is set
8548232812Sjmallett                                                         and corresponding enable bit in CIU_INTx_EN is set
8549232812Sjmallett                                                         PPs use CIU_INTx_SUM0 where x=0-19
8550232812Sjmallett                                                         PCIe uses the CIU_INTx_SUM0 where x=32-33.
8551232812Sjmallett                                                         Note that WDOG_SUM only summarizes the SUM1/EN1
8552232812Sjmallett                                                         result and does not have a corresponding enable
8553232812Sjmallett                                                         bit, so does not directly contribute to
8554232812Sjmallett                                                         interrupts. */
8555232812Sjmallett	uint64_t pci_msi                      : 4;  /**< PCIe MSI
8556232812Sjmallett                                                         See SLI_MSI_RCVn for bit <40+n> */
8557232812Sjmallett	uint64_t pci_int                      : 4;  /**< PCIe INTA/B/C/D
8558232812Sjmallett                                                         Refer to "Receiving Emulated INTA/INTB/
8559232812Sjmallett                                                         INTC/INTD" in the SLI chapter of the spec
8560232812Sjmallett                                                         PCI_INT<3> = INTD
8561232812Sjmallett                                                         PCI_INT<2> = INTC
8562232812Sjmallett                                                         PCI_INT<1> = INTB
8563232812Sjmallett                                                         PCI_INT<0> = INTA */
8564232812Sjmallett	uint64_t uart                         : 2;  /**< Two UART interrupts
8565232812Sjmallett                                                         See MIO_UARTn_IIR[IID] for bit <34+n> */
8566232812Sjmallett	uint64_t mbox                         : 2;  /**< Two mailbox interrupts for entries 0-5
8567232812Sjmallett                                                         [33] is the or of <31:16>
8568232812Sjmallett                                                         [32] is the or of <15:0> */
8569232812Sjmallett	uint64_t gpio                         : 16; /**< 16 GPIO interrupts
8570232812Sjmallett                                                         When GPIO_MULTI_CAST[EN] == 1
8571232812Sjmallett                                                         Write 1 to clear either the per PP interrupt or
8572232812Sjmallett                                                         common GPIO interrupt for all PP/IOs,depending
8573232812Sjmallett                                                         on mode setting. This will apply to all 16 GPIOs.
8574232812Sjmallett                                                         See GPIO_MULTI_CAST for all details
8575232812Sjmallett                                                         When GPIO_MULTI_CAST[EN] == 0
8576232812Sjmallett                                                         Read Only, retain the same behavior as o63. */
8577232812Sjmallett	uint64_t workq                        : 16; /**< 16 work queue interrupts
8578232812Sjmallett                                                         See POW_WQ_INT[WQ_INT]
8579232812Sjmallett                                                          1 bit/group. A copy of the R/W1C bit in the POW. */
8580232812Sjmallett#else
8581232812Sjmallett	uint64_t workq                        : 16;
8582232812Sjmallett	uint64_t gpio                         : 16;
8583232812Sjmallett	uint64_t mbox                         : 2;
8584232812Sjmallett	uint64_t uart                         : 2;
8585232812Sjmallett	uint64_t pci_int                      : 4;
8586232812Sjmallett	uint64_t pci_msi                      : 4;
8587232812Sjmallett	uint64_t wdog_sum                     : 1;
8588232812Sjmallett	uint64_t twsi                         : 1;
8589232812Sjmallett	uint64_t rml                          : 1;
8590232812Sjmallett	uint64_t trace                        : 1;
8591232812Sjmallett	uint64_t gmx_drp                      : 1;
8592232812Sjmallett	uint64_t reserved_49_49               : 1;
8593232812Sjmallett	uint64_t ipd_drp                      : 1;
8594232812Sjmallett	uint64_t sum2                         : 1;
8595232812Sjmallett	uint64_t timer                        : 4;
8596232812Sjmallett	uint64_t usb                          : 1;
8597232812Sjmallett	uint64_t pcm                          : 1;
8598232812Sjmallett	uint64_t mpi                          : 1;
8599232812Sjmallett	uint64_t twsi2                        : 1;
8600232812Sjmallett	uint64_t powiq                        : 1;
8601232812Sjmallett	uint64_t ipdppthr                     : 1;
8602232812Sjmallett	uint64_t reserved_62_62               : 1;
8603232812Sjmallett	uint64_t bootdma                      : 1;
8604232812Sjmallett#endif
8605232812Sjmallett	} cnf71xx;
8606215976Sjmallett};
8607215976Sjmalletttypedef union cvmx_ciu_intx_sum4 cvmx_ciu_intx_sum4_t;
8608215976Sjmallett
8609215976Sjmallett/**
8610215976Sjmallett * cvmx_ciu_int33_sum0
8611215976Sjmallett */
8612232812Sjmallettunion cvmx_ciu_int33_sum0 {
8613215976Sjmallett	uint64_t u64;
8614232812Sjmallett	struct cvmx_ciu_int33_sum0_s {
8615232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
8616215976Sjmallett	uint64_t bootdma                      : 1;  /**< Boot bus DMA engines Interrupt
8617215976Sjmallett                                                         See MIO_BOOT_DMA_INT*, MIO_NDF_DMA_INT */
8618215976Sjmallett	uint64_t mii                          : 1;  /**< RGMII/MII/MIX Interface 0 Interrupt
8619215976Sjmallett                                                         See MIX0_ISR */
8620215976Sjmallett	uint64_t ipdppthr                     : 1;  /**< IPD per-port counter threshold interrupt
8621215976Sjmallett                                                         See IPD_PORT_QOS_INT* */
8622215976Sjmallett	uint64_t powiq                        : 1;  /**< POW IQ interrupt
8623215976Sjmallett                                                         See POW_IQ_INT */
8624215976Sjmallett	uint64_t twsi2                        : 1;  /**< 2nd TWSI Interrupt
8625215976Sjmallett                                                         See MIO_TWS1_INT */
8626232812Sjmallett	uint64_t mpi                          : 1;  /**< MPI/SPI interrupt */
8627232812Sjmallett	uint64_t pcm                          : 1;  /**< PCM/TDM interrupt */
8628232812Sjmallett	uint64_t usb                          : 1;  /**< USB EHCI or OHCI Interrupt
8629232812Sjmallett                                                         See UAHC0_EHCI_USBSTS UAHC0_OHCI0_HCINTERRUPTSTATUS */
8630232812Sjmallett	uint64_t timer                        : 4;  /**< General timer 0-3 interrupts.
8631232812Sjmallett                                                         When CIU_TIM_MULTI_CAST[EN] == 0, this interrupt is
8632232812Sjmallett                                                         common for all PP/IRQs, writing '1' to any PP/IRQ
8633232812Sjmallett                                                         will clear all TIMERx(x=0..9) interrupts.
8634232812Sjmallett                                                         When CIU_TIM_MULTI_CAST[EN] == 1, TIMERx(x=0..9)
8635232812Sjmallett                                                         are set at the same time, but clearing are based on
8636232812Sjmallett                                                         per cnMIPS core. See CIU_TIM_MULTI_CAST for detail.
8637232812Sjmallett                                                         The combination of this field and the
8638232812Sjmallett                                                         CIU_SUM2_*[TIMER] field implement all 10 CIU_TIM*
8639232812Sjmallett                                                         interrupts. */
8640232812Sjmallett	uint64_t sum2                         : 1;  /**< SUM2&EN2 SUMMARY bit
8641232812Sjmallett                                                         This read-only bit reads as a one whenever any
8642232812Sjmallett                                                         CIU_SUM2_PPX_IPx (CIU_SUM2_IOX_INT)  bit is set
8643232812Sjmallett                                                         and corresponding enable bit in CIU_EN2_PPX_IPx
8644232812Sjmallett                                                         (CIU_EN2_IOX_INT) is set.
8645232812Sjmallett                                                         Note that SUM2 only summarizes the SUM2/EN2
8646232812Sjmallett                                                         result and does not have a corresponding enable
8647232812Sjmallett                                                         bit, so does not directly contribute to
8648232812Sjmallett                                                         interrupts. */
8649232812Sjmallett	uint64_t ipd_drp                      : 1;  /**< IPD QOS packet drop interrupt
8650232812Sjmallett                                                         Set any time PIP/IPD drops a packet */
8651232812Sjmallett	uint64_t gmx_drp                      : 2;  /**< GMX packet drop interrupt
8652232812Sjmallett                                                         Set any time corresponding GMX drops a packet */
8653232812Sjmallett	uint64_t trace                        : 1;  /**< Trace buffer interrupt
8654232812Sjmallett                                                         See TRA_INT_STATUS */
8655232812Sjmallett	uint64_t rml                          : 1;  /**< RML Interrupt
8656232812Sjmallett                                                         This interrupt will assert if any bit within
8657232812Sjmallett                                                         CIU_BLOCK_INT is asserted. */
8658232812Sjmallett	uint64_t twsi                         : 1;  /**< TWSI Interrupt
8659232812Sjmallett                                                         See MIO_TWS0_INT */
8660232812Sjmallett	uint64_t wdog_sum                     : 1;  /**< SUM1&EN1 summary bit
8661232812Sjmallett                                                         This read-only bit reads as a one whenever any
8662232812Sjmallett                                                         CIU_SUM1_PPX_IPx bit is set and corresponding
8663232812Sjmallett                                                         enable bit in CIU_INTx_EN is set, where x
8664232812Sjmallett                                                         is the same as x in this CIU_INTx_SUM0.
8665232812Sjmallett                                                         PPs use CIU_INTx_SUM0 where x=0-7.
8666232812Sjmallett                                                         PCIe uses the CIU_INTx_SUM0 where x=32-33.
8667232812Sjmallett                                                         Note that WDOG_SUM only summarizes the SUM1/EN1
8668232812Sjmallett                                                         result and does not have a corresponding enable
8669232812Sjmallett                                                         bit, so does not directly contribute to
8670232812Sjmallett                                                         interrupts. */
8671232812Sjmallett	uint64_t pci_msi                      : 4;  /**< PCIe MSI
8672232812Sjmallett                                                         See SLI_MSI_RCVn for bit <40+n> */
8673232812Sjmallett	uint64_t pci_int                      : 4;  /**< PCIe INTA/B/C/D
8674232812Sjmallett                                                         Refer to "Receiving Emulated INTA/INTB/
8675232812Sjmallett                                                         INTC/INTD" in the SLI chapter of the spec
8676232812Sjmallett                                                         PCI_INT<3> = INTD
8677232812Sjmallett                                                         PCI_INT<2> = INTC
8678232812Sjmallett                                                         PCI_INT<1> = INTB
8679232812Sjmallett                                                         PCI_INT<0> = INTA */
8680232812Sjmallett	uint64_t uart                         : 2;  /**< Two UART interrupts
8681232812Sjmallett                                                         See MIO_UARTn_IIR[IID] for bit <34+n> */
8682232812Sjmallett	uint64_t mbox                         : 2;  /**< A read-only copy of CIU_PCI_INTA[INT] */
8683232812Sjmallett	uint64_t gpio                         : 16; /**< 16 GPIO interrupts
8684232812Sjmallett                                                         When GPIO_MULTI_CAST[EN] == 1
8685232812Sjmallett                                                         Write 1 to clear either the per PP or common GPIO
8686232812Sjmallett                                                         edge-triggered interrupts,depending on mode.
8687232812Sjmallett                                                         See GPIO_MULTI_CAST for all details.
8688232812Sjmallett                                                         When GPIO_MULTI_CAST[EN] == 0
8689232812Sjmallett                                                         Read Only, retain the same behavior as o63. */
8690232812Sjmallett	uint64_t workq                        : 16; /**< 16 work queue interrupts
8691232812Sjmallett                                                         See POW_WQ_INT[WQ_INT]
8692232812Sjmallett                                                          1 bit/group. A copy of the R/W1C bit in the POW. */
8693232812Sjmallett#else
8694232812Sjmallett	uint64_t workq                        : 16;
8695232812Sjmallett	uint64_t gpio                         : 16;
8696232812Sjmallett	uint64_t mbox                         : 2;
8697232812Sjmallett	uint64_t uart                         : 2;
8698232812Sjmallett	uint64_t pci_int                      : 4;
8699232812Sjmallett	uint64_t pci_msi                      : 4;
8700232812Sjmallett	uint64_t wdog_sum                     : 1;
8701232812Sjmallett	uint64_t twsi                         : 1;
8702232812Sjmallett	uint64_t rml                          : 1;
8703232812Sjmallett	uint64_t trace                        : 1;
8704232812Sjmallett	uint64_t gmx_drp                      : 2;
8705232812Sjmallett	uint64_t ipd_drp                      : 1;
8706232812Sjmallett	uint64_t sum2                         : 1;
8707232812Sjmallett	uint64_t timer                        : 4;
8708232812Sjmallett	uint64_t usb                          : 1;
8709232812Sjmallett	uint64_t pcm                          : 1;
8710232812Sjmallett	uint64_t mpi                          : 1;
8711232812Sjmallett	uint64_t twsi2                        : 1;
8712232812Sjmallett	uint64_t powiq                        : 1;
8713232812Sjmallett	uint64_t ipdppthr                     : 1;
8714232812Sjmallett	uint64_t mii                          : 1;
8715232812Sjmallett	uint64_t bootdma                      : 1;
8716232812Sjmallett#endif
8717232812Sjmallett	} s;
8718232812Sjmallett	struct cvmx_ciu_int33_sum0_s          cn61xx;
8719232812Sjmallett	struct cvmx_ciu_int33_sum0_cn63xx {
8720232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
8721232812Sjmallett	uint64_t bootdma                      : 1;  /**< Boot bus DMA engines Interrupt
8722232812Sjmallett                                                         See MIO_BOOT_DMA_INT*, MIO_NDF_DMA_INT */
8723232812Sjmallett	uint64_t mii                          : 1;  /**< RGMII/MII/MIX Interface 0 Interrupt
8724232812Sjmallett                                                         See MIX0_ISR */
8725232812Sjmallett	uint64_t ipdppthr                     : 1;  /**< IPD per-port counter threshold interrupt
8726232812Sjmallett                                                         See IPD_PORT_QOS_INT* */
8727232812Sjmallett	uint64_t powiq                        : 1;  /**< POW IQ interrupt
8728232812Sjmallett                                                         See POW_IQ_INT */
8729232812Sjmallett	uint64_t twsi2                        : 1;  /**< 2nd TWSI Interrupt
8730232812Sjmallett                                                         See MIO_TWS1_INT */
8731215976Sjmallett	uint64_t reserved_57_58               : 2;
8732215976Sjmallett	uint64_t usb                          : 1;  /**< USB EHCI or OHCI Interrupt
8733215976Sjmallett                                                         See UAHC0_EHCI_USBSTS UAHC0_OHCI0_HCINTERRUPTSTATUS */
8734215976Sjmallett	uint64_t timer                        : 4;  /**< General timer interrupts
8735215976Sjmallett                                                         Set any time the corresponding CIU timer expires */
8736215976Sjmallett	uint64_t reserved_51_51               : 1;
8737215976Sjmallett	uint64_t ipd_drp                      : 1;  /**< IPD QOS packet drop interrupt
8738215976Sjmallett                                                         Set any time PIP/IPD drops a packet */
8739215976Sjmallett	uint64_t reserved_49_49               : 1;
8740215976Sjmallett	uint64_t gmx_drp                      : 1;  /**< GMX packet drop interrupt
8741215976Sjmallett                                                         Set any time corresponding GMX drops a packet */
8742215976Sjmallett	uint64_t trace                        : 1;  /**< Trace buffer interrupt
8743215976Sjmallett                                                         See TRA_INT_STATUS */
8744215976Sjmallett	uint64_t rml                          : 1;  /**< RML Interrupt
8745215976Sjmallett                                                         This interrupt will assert if any bit within
8746215976Sjmallett                                                         CIU_BLOCK_INT is asserted. */
8747215976Sjmallett	uint64_t twsi                         : 1;  /**< TWSI Interrupt
8748215976Sjmallett                                                         See MIO_TWS0_INT */
8749215976Sjmallett	uint64_t wdog_sum                     : 1;  /**< SUM1&EN1 summary bit
8750215976Sjmallett                                                         This read-only bit reads as a one whenever any
8751215976Sjmallett                                                         CIU_INT_SUM1 bit is set and corresponding
8752215976Sjmallett                                                         enable bit in CIU_INTx_EN is set, where x
8753215976Sjmallett                                                         is the same as x in this CIU_INTx_SUM0.
8754215976Sjmallett                                                         PPs use CIU_INTx_SUM0 where x=0-11.
8755215976Sjmallett                                                         PCIe/sRIO uses the CIU_INTx_SUM0 where x=32-33.
8756215976Sjmallett                                                         Even INTx registers report WDOG to IP2
8757215976Sjmallett                                                         Odd INTx registers report WDOG to IP3
8758215976Sjmallett                                                         Note that WDOG_SUM only summarizes the SUM/EN1
8759215976Sjmallett                                                         result and does not have a corresponding enable
8760215976Sjmallett                                                         bit, so does not directly contribute to
8761215976Sjmallett                                                         interrupts. */
8762215976Sjmallett	uint64_t pci_msi                      : 4;  /**< PCIe/sRIO MSI
8763215976Sjmallett                                                         See SLI_MSI_RCVn for bit <40+n> */
8764215976Sjmallett	uint64_t pci_int                      : 4;  /**< PCIe INTA/B/C/D
8765215976Sjmallett                                                         Refer to "Receiving Emulated INTA/INTB/
8766232812Sjmallett                                                         INTC/INTD" in the SLI chapter of the spec
8767232812Sjmallett                                                         PCI_INT<3> = INTD
8768232812Sjmallett                                                         PCI_INT<2> = INTC
8769232812Sjmallett                                                         PCI_INT<1> = INTB
8770232812Sjmallett                                                         PCI_INT<0> = INTA */
8771215976Sjmallett	uint64_t uart                         : 2;  /**< Two UART interrupts
8772215976Sjmallett                                                         See MIO_UARTn_IIR[IID] for bit <34+n> */
8773215976Sjmallett	uint64_t mbox                         : 2;  /**< A read-only copy of CIU_PCI_INTA[INT] */
8774215976Sjmallett	uint64_t gpio                         : 16; /**< 16 GPIO interrupts */
8775215976Sjmallett	uint64_t workq                        : 16; /**< 16 work queue interrupts
8776215976Sjmallett                                                         See POW_WQ_INT[WQ_INT]
8777215976Sjmallett                                                          1 bit/group. A copy of the R/W1C bit in the POW. */
8778215976Sjmallett#else
8779215976Sjmallett	uint64_t workq                        : 16;
8780215976Sjmallett	uint64_t gpio                         : 16;
8781215976Sjmallett	uint64_t mbox                         : 2;
8782215976Sjmallett	uint64_t uart                         : 2;
8783215976Sjmallett	uint64_t pci_int                      : 4;
8784215976Sjmallett	uint64_t pci_msi                      : 4;
8785215976Sjmallett	uint64_t wdog_sum                     : 1;
8786215976Sjmallett	uint64_t twsi                         : 1;
8787215976Sjmallett	uint64_t rml                          : 1;
8788215976Sjmallett	uint64_t trace                        : 1;
8789215976Sjmallett	uint64_t gmx_drp                      : 1;
8790215976Sjmallett	uint64_t reserved_49_49               : 1;
8791215976Sjmallett	uint64_t ipd_drp                      : 1;
8792215976Sjmallett	uint64_t reserved_51_51               : 1;
8793215976Sjmallett	uint64_t timer                        : 4;
8794215976Sjmallett	uint64_t usb                          : 1;
8795215976Sjmallett	uint64_t reserved_57_58               : 2;
8796215976Sjmallett	uint64_t twsi2                        : 1;
8797215976Sjmallett	uint64_t powiq                        : 1;
8798215976Sjmallett	uint64_t ipdppthr                     : 1;
8799215976Sjmallett	uint64_t mii                          : 1;
8800215976Sjmallett	uint64_t bootdma                      : 1;
8801215976Sjmallett#endif
8802232812Sjmallett	} cn63xx;
8803232812Sjmallett	struct cvmx_ciu_int33_sum0_cn63xx     cn63xxp1;
8804232812Sjmallett	struct cvmx_ciu_int33_sum0_cn66xx {
8805232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
8806232812Sjmallett	uint64_t bootdma                      : 1;  /**< Boot bus DMA engines Interrupt
8807232812Sjmallett                                                         See MIO_BOOT_DMA_INT*, MIO_NDF_DMA_INT */
8808232812Sjmallett	uint64_t mii                          : 1;  /**< RGMII/MII/MIX Interface 0 Interrupt
8809232812Sjmallett                                                         See MIX0_ISR */
8810232812Sjmallett	uint64_t ipdppthr                     : 1;  /**< IPD per-port counter threshold interrupt
8811232812Sjmallett                                                         See IPD_PORT_QOS_INT* */
8812232812Sjmallett	uint64_t powiq                        : 1;  /**< POW IQ interrupt
8813232812Sjmallett                                                         See POW_IQ_INT */
8814232812Sjmallett	uint64_t twsi2                        : 1;  /**< 2nd TWSI Interrupt
8815232812Sjmallett                                                         See MIO_TWS1_INT */
8816232812Sjmallett	uint64_t mpi                          : 1;  /**< MPI/SPI interrupt */
8817232812Sjmallett	uint64_t reserved_57_57               : 1;
8818232812Sjmallett	uint64_t usb                          : 1;  /**< USB EHCI or OHCI Interrupt
8819232812Sjmallett                                                         See UAHC0_EHCI_USBSTS UAHC0_OHCI0_HCINTERRUPTSTATUS */
8820232812Sjmallett	uint64_t timer                        : 4;  /**< General timer 0-3 interrupts.
8821232812Sjmallett                                                         Prior to pass 1.2 or
8822232812Sjmallett                                                          when CIU_TIM_MULTI_CAST[EN]==0, this interrupt is
8823232812Sjmallett                                                          common for all PP/IRQs, writing '1' to any PP/IRQ
8824232812Sjmallett                                                          will clear all TIMERx(x=0..9) interrupts.
8825232812Sjmallett                                                         When CIU_TIM_MULTI_CAST[EN] == 1, TIMERx(x=0..9)
8826232812Sjmallett                                                          are set at the same time, but clearing is per
8827232812Sjmallett                                                          cnMIPS core. See CIU_TIM_MULTI_CAST for detail.
8828232812Sjmallett                                                         The combination of this field and the
8829232812Sjmallett                                                         CIU_SUM2_*[TIMER] field implement all 10 CIU_TIM*
8830232812Sjmallett                                                         interrupts. */
8831232812Sjmallett	uint64_t sum2                         : 1;  /**< SUM2&EN2 SUMMARY bit
8832232812Sjmallett                                                          In pass 1.2 and subsequent passes,
8833232812Sjmallett                                                          this read-only bit reads as a one whenever any
8834232812Sjmallett                                                          CIU_SUM2_PPX_IPx (CIU_SUM2_IOX_INT)  bit is set
8835232812Sjmallett                                                          and corresponding enable bit in CIU_EN2_PPX_IPx
8836232812Sjmallett                                                          (CIU_EN2_IOX_INT) is set.
8837232812Sjmallett                                                          Note that SUM2 only summarizes the SUM2/EN2
8838232812Sjmallett                                                          result and does not have a corresponding enable
8839232812Sjmallett                                                          bit, so does not directly contribute to
8840232812Sjmallett                                                          interrupts.
8841232812Sjmallett                                                         Prior to pass 1.2, SUM2 did not exist and this
8842232812Sjmallett                                                          bit reads as zero. */
8843232812Sjmallett	uint64_t ipd_drp                      : 1;  /**< IPD QOS packet drop interrupt
8844232812Sjmallett                                                         Set any time PIP/IPD drops a packet */
8845232812Sjmallett	uint64_t gmx_drp                      : 2;  /**< GMX packet drop interrupt
8846232812Sjmallett                                                         Set any time corresponding GMX drops a packet */
8847232812Sjmallett	uint64_t trace                        : 1;  /**< Trace buffer interrupt
8848232812Sjmallett                                                         See TRA_INT_STATUS */
8849232812Sjmallett	uint64_t rml                          : 1;  /**< RML Interrupt
8850232812Sjmallett                                                         This interrupt will assert if any bit within
8851232812Sjmallett                                                         CIU_BLOCK_INT is asserted. */
8852232812Sjmallett	uint64_t twsi                         : 1;  /**< TWSI Interrupt
8853232812Sjmallett                                                         See MIO_TWS0_INT */
8854232812Sjmallett	uint64_t wdog_sum                     : 1;  /**< SUM1&EN1 summary bit
8855232812Sjmallett                                                         This read-only bit reads as a one whenever any
8856232812Sjmallett                                                         CIU_SUM1_PPX_IPx (CIU_SUM1_IOX_INT)  bit is set
8857232812Sjmallett                                                         and corresponding enable bit in CIU_INTx_EN is set
8858232812Sjmallett                                                         PPs use CIU_INTx_SUM0 where x=0-19
8859232812Sjmallett                                                         PCIe/sRIO uses the CIU_INTx_SUM0 where x=32-33.
8860232812Sjmallett                                                         Note that WDOG_SUM only summarizes the SUM1/EN1
8861232812Sjmallett                                                         result and does not have a corresponding enable
8862232812Sjmallett                                                         bit, so does not directly contribute to
8863232812Sjmallett                                                         interrupts. */
8864232812Sjmallett	uint64_t pci_msi                      : 4;  /**< PCIe/sRIO MSI
8865232812Sjmallett                                                         See SLI_MSI_RCVn for bit <40+n> */
8866232812Sjmallett	uint64_t pci_int                      : 4;  /**< PCIe INTA/B/C/D
8867232812Sjmallett                                                         Refer to "Receiving Emulated INTA/INTB/
8868232812Sjmallett                                                         INTC/INTD" in the SLI chapter of the spec
8869232812Sjmallett                                                         PCI_INT<3> = INTD
8870232812Sjmallett                                                         PCI_INT<2> = INTC
8871232812Sjmallett                                                         PCI_INT<1> = INTB
8872232812Sjmallett                                                         PCI_INT<0> = INTA */
8873232812Sjmallett	uint64_t uart                         : 2;  /**< Two UART interrupts
8874232812Sjmallett                                                         See MIO_UARTn_IIR[IID] for bit <34+n> */
8875232812Sjmallett	uint64_t mbox                         : 2;  /**< A read-only copy of CIU_PCI_INTA[INT] */
8876232812Sjmallett	uint64_t gpio                         : 16; /**< 16 GPIO interrupts */
8877232812Sjmallett	uint64_t workq                        : 16; /**< 16 work queue interrupts
8878232812Sjmallett                                                         See POW_WQ_INT[WQ_INT]
8879232812Sjmallett                                                          1 bit/group. A copy of the R/W1C bit in the POW. */
8880232812Sjmallett#else
8881232812Sjmallett	uint64_t workq                        : 16;
8882232812Sjmallett	uint64_t gpio                         : 16;
8883232812Sjmallett	uint64_t mbox                         : 2;
8884232812Sjmallett	uint64_t uart                         : 2;
8885232812Sjmallett	uint64_t pci_int                      : 4;
8886232812Sjmallett	uint64_t pci_msi                      : 4;
8887232812Sjmallett	uint64_t wdog_sum                     : 1;
8888232812Sjmallett	uint64_t twsi                         : 1;
8889232812Sjmallett	uint64_t rml                          : 1;
8890232812Sjmallett	uint64_t trace                        : 1;
8891232812Sjmallett	uint64_t gmx_drp                      : 2;
8892232812Sjmallett	uint64_t ipd_drp                      : 1;
8893232812Sjmallett	uint64_t sum2                         : 1;
8894232812Sjmallett	uint64_t timer                        : 4;
8895232812Sjmallett	uint64_t usb                          : 1;
8896232812Sjmallett	uint64_t reserved_57_57               : 1;
8897232812Sjmallett	uint64_t mpi                          : 1;
8898232812Sjmallett	uint64_t twsi2                        : 1;
8899232812Sjmallett	uint64_t powiq                        : 1;
8900232812Sjmallett	uint64_t ipdppthr                     : 1;
8901232812Sjmallett	uint64_t mii                          : 1;
8902232812Sjmallett	uint64_t bootdma                      : 1;
8903232812Sjmallett#endif
8904232812Sjmallett	} cn66xx;
8905232812Sjmallett	struct cvmx_ciu_int33_sum0_cnf71xx {
8906232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
8907232812Sjmallett	uint64_t bootdma                      : 1;  /**< Boot bus DMA engines Interrupt
8908232812Sjmallett                                                         See MIO_BOOT_DMA_INT*, MIO_NDF_DMA_INT */
8909232812Sjmallett	uint64_t reserved_62_62               : 1;
8910232812Sjmallett	uint64_t ipdppthr                     : 1;  /**< IPD per-port counter threshold interrupt
8911232812Sjmallett                                                         See IPD_PORT_QOS_INT* */
8912232812Sjmallett	uint64_t powiq                        : 1;  /**< POW IQ interrupt
8913232812Sjmallett                                                         See POW_IQ_INT */
8914232812Sjmallett	uint64_t twsi2                        : 1;  /**< 2nd TWSI Interrupt
8915232812Sjmallett                                                         See MIO_TWS1_INT */
8916232812Sjmallett	uint64_t mpi                          : 1;  /**< MPI/SPI interrupt */
8917232812Sjmallett	uint64_t pcm                          : 1;  /**< PCM/TDM interrupt */
8918232812Sjmallett	uint64_t usb                          : 1;  /**< USB EHCI or OHCI Interrupt
8919232812Sjmallett                                                         See UAHC0_EHCI_USBSTS UAHC0_OHCI0_HCINTERRUPTSTATUS */
8920232812Sjmallett	uint64_t timer                        : 4;  /**< General timer 0-3 interrupts.
8921232812Sjmallett                                                         When CIU_TIM_MULTI_CAST[EN] == 0, this interrupt is
8922232812Sjmallett                                                         common for all PP/IRQs, writing '1' to any PP/IRQ
8923232812Sjmallett                                                         will clear all TIMERx(x=0..9) interrupts.
8924232812Sjmallett                                                         When CIU_TIM_MULTI_CAST[EN] == 1, TIMERx(x=0..9)
8925232812Sjmallett                                                         are set at the same time, but clearing are based on
8926232812Sjmallett                                                         per cnMIPS core. See CIU_TIM_MULTI_CAST for detail.
8927232812Sjmallett                                                         The combination of this field and the
8928232812Sjmallett                                                         CIU_SUM2_*[TIMER] field implement all 10 CIU_TIM*
8929232812Sjmallett                                                         interrupts. */
8930232812Sjmallett	uint64_t sum2                         : 1;  /**< SUM2&EN2 SUMMARY bit
8931232812Sjmallett                                                         This read-only bit reads as a one whenever any
8932232812Sjmallett                                                         CIU_SUM2_PPX_IPx (CIU_SUM2_IOX_INT)  bit is set
8933232812Sjmallett                                                         and corresponding enable bit in CIU_EN2_PPX_IPx
8934232812Sjmallett                                                         (CIU_EN2_IOX_INT) is set.
8935232812Sjmallett                                                         Note that SUM2 only summarizes the SUM2/EN2
8936232812Sjmallett                                                         result and does not have a corresponding enable
8937232812Sjmallett                                                         bit, so does not directly contribute to
8938232812Sjmallett                                                         interrupts. */
8939232812Sjmallett	uint64_t ipd_drp                      : 1;  /**< IPD QOS packet drop interrupt
8940232812Sjmallett                                                         Set any time PIP/IPD drops a packet */
8941232812Sjmallett	uint64_t reserved_49_49               : 1;
8942232812Sjmallett	uint64_t gmx_drp                      : 1;  /**< GMX packet drop interrupt
8943232812Sjmallett                                                         Set any time corresponding GMX drops a packet */
8944232812Sjmallett	uint64_t trace                        : 1;  /**< Trace buffer interrupt
8945232812Sjmallett                                                         See TRA_INT_STATUS */
8946232812Sjmallett	uint64_t rml                          : 1;  /**< RML Interrupt
8947232812Sjmallett                                                         This interrupt will assert if any bit within
8948232812Sjmallett                                                         CIU_BLOCK_INT is asserted. */
8949232812Sjmallett	uint64_t twsi                         : 1;  /**< TWSI Interrupt
8950232812Sjmallett                                                         See MIO_TWS0_INT */
8951232812Sjmallett	uint64_t wdog_sum                     : 1;  /**< SUM1&EN1 summary bit
8952232812Sjmallett                                                         This read-only bit reads as a one whenever any
8953232812Sjmallett                                                         CIU_SUM1_PPX_IPx bit is set and corresponding
8954232812Sjmallett                                                         enable bit in CIU_INTx_EN is set, where x
8955232812Sjmallett                                                         is the same as x in this CIU_INTx_SUM0.
8956232812Sjmallett                                                         PPs use CIU_INTx_SUM0 where x=0-7.
8957232812Sjmallett                                                         PCIe uses the CIU_INTx_SUM0 where x=32-33.
8958232812Sjmallett                                                         Note that WDOG_SUM only summarizes the SUM1/EN1
8959232812Sjmallett                                                         result and does not have a corresponding enable
8960232812Sjmallett                                                         bit, so does not directly contribute to
8961232812Sjmallett                                                         interrupts. */
8962232812Sjmallett	uint64_t pci_msi                      : 4;  /**< PCIe MSI
8963232812Sjmallett                                                         See SLI_MSI_RCVn for bit <40+n> */
8964232812Sjmallett	uint64_t pci_int                      : 4;  /**< PCIe INTA/B/C/D
8965232812Sjmallett                                                         Refer to "Receiving Emulated INTA/INTB/
8966232812Sjmallett                                                         INTC/INTD" in the SLI chapter of the spec
8967232812Sjmallett                                                         PCI_INT<3> = INTD
8968232812Sjmallett                                                         PCI_INT<2> = INTC
8969232812Sjmallett                                                         PCI_INT<1> = INTB
8970232812Sjmallett                                                         PCI_INT<0> = INTA */
8971232812Sjmallett	uint64_t uart                         : 2;  /**< Two UART interrupts
8972232812Sjmallett                                                         See MIO_UARTn_IIR[IID] for bit <34+n> */
8973232812Sjmallett	uint64_t mbox                         : 2;  /**< A read-only copy of CIU_PCI_INTA[INT] */
8974232812Sjmallett	uint64_t gpio                         : 16; /**< 16 GPIO interrupts
8975232812Sjmallett                                                         When GPIO_MULTI_CAST[EN] == 1
8976232812Sjmallett                                                         Write 1 to clear either the per PP or common GPIO
8977232812Sjmallett                                                         edge-triggered interrupts,depending on mode.
8978232812Sjmallett                                                         See GPIO_MULTI_CAST for all details.
8979232812Sjmallett                                                         When GPIO_MULTI_CAST[EN] == 0
8980232812Sjmallett                                                         Read Only, retain the same behavior as o63. */
8981232812Sjmallett	uint64_t workq                        : 16; /**< 16 work queue interrupts
8982232812Sjmallett                                                         See POW_WQ_INT[WQ_INT]
8983232812Sjmallett                                                          1 bit/group. A copy of the R/W1C bit in the POW. */
8984232812Sjmallett#else
8985232812Sjmallett	uint64_t workq                        : 16;
8986232812Sjmallett	uint64_t gpio                         : 16;
8987232812Sjmallett	uint64_t mbox                         : 2;
8988232812Sjmallett	uint64_t uart                         : 2;
8989232812Sjmallett	uint64_t pci_int                      : 4;
8990232812Sjmallett	uint64_t pci_msi                      : 4;
8991232812Sjmallett	uint64_t wdog_sum                     : 1;
8992232812Sjmallett	uint64_t twsi                         : 1;
8993232812Sjmallett	uint64_t rml                          : 1;
8994232812Sjmallett	uint64_t trace                        : 1;
8995232812Sjmallett	uint64_t gmx_drp                      : 1;
8996232812Sjmallett	uint64_t reserved_49_49               : 1;
8997232812Sjmallett	uint64_t ipd_drp                      : 1;
8998232812Sjmallett	uint64_t sum2                         : 1;
8999232812Sjmallett	uint64_t timer                        : 4;
9000232812Sjmallett	uint64_t usb                          : 1;
9001232812Sjmallett	uint64_t pcm                          : 1;
9002232812Sjmallett	uint64_t mpi                          : 1;
9003232812Sjmallett	uint64_t twsi2                        : 1;
9004232812Sjmallett	uint64_t powiq                        : 1;
9005232812Sjmallett	uint64_t ipdppthr                     : 1;
9006232812Sjmallett	uint64_t reserved_62_62               : 1;
9007232812Sjmallett	uint64_t bootdma                      : 1;
9008232812Sjmallett#endif
9009232812Sjmallett	} cnf71xx;
9010215976Sjmallett};
9011215976Sjmalletttypedef union cvmx_ciu_int33_sum0 cvmx_ciu_int33_sum0_t;
9012215976Sjmallett
9013215976Sjmallett/**
9014215976Sjmallett * cvmx_ciu_int_dbg_sel
9015215976Sjmallett */
9016232812Sjmallettunion cvmx_ciu_int_dbg_sel {
9017215976Sjmallett	uint64_t u64;
9018232812Sjmallett	struct cvmx_ciu_int_dbg_sel_s {
9019232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
9020215976Sjmallett	uint64_t reserved_19_63               : 45;
9021215976Sjmallett	uint64_t sel                          : 3;  /**< Selects if all or the specific interrupt is
9022215976Sjmallett                                                         presented on the debug port.
9023215976Sjmallett                                                         0=erst_n
9024215976Sjmallett                                                         1=start_bist
9025215976Sjmallett                                                         2=toggle at sclk/2 freq
9026215976Sjmallett                                                         3=All PP interrupt bits are ORed together
9027232812Sjmallett                                                         4=Only the selected virtual  PP/IRQ is selected */
9028215976Sjmallett	uint64_t reserved_10_15               : 6;
9029215976Sjmallett	uint64_t irq                          : 2;  /**< Which IRQ to select
9030215976Sjmallett                                                         0=IRQ2
9031215976Sjmallett                                                         1=IRQ3
9032215976Sjmallett                                                         2=IRQ4 */
9033232812Sjmallett	uint64_t reserved_5_7                 : 3;
9034232812Sjmallett	uint64_t pp                           : 5;  /**< Which PP to select */
9035232812Sjmallett#else
9036232812Sjmallett	uint64_t pp                           : 5;
9037232812Sjmallett	uint64_t reserved_5_7                 : 3;
9038232812Sjmallett	uint64_t irq                          : 2;
9039232812Sjmallett	uint64_t reserved_10_15               : 6;
9040232812Sjmallett	uint64_t sel                          : 3;
9041232812Sjmallett	uint64_t reserved_19_63               : 45;
9042232812Sjmallett#endif
9043232812Sjmallett	} s;
9044232812Sjmallett	struct cvmx_ciu_int_dbg_sel_cn61xx {
9045232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
9046232812Sjmallett	uint64_t reserved_19_63               : 45;
9047232812Sjmallett	uint64_t sel                          : 3;  /**< Selects if all or the specific interrupt is
9048232812Sjmallett                                                         presented on the debug port.
9049232812Sjmallett                                                         0=erst_n
9050232812Sjmallett                                                         1=start_bist
9051232812Sjmallett                                                         2=toggle at sclk/2 freq
9052232812Sjmallett                                                         3=All PP interrupt bits are ORed together
9053232812Sjmallett                                                         4=Only the selected virtual  PP/IRQ is selected */
9054232812Sjmallett	uint64_t reserved_10_15               : 6;
9055232812Sjmallett	uint64_t irq                          : 2;  /**< Which IRQ to select
9056232812Sjmallett                                                         0=IRQ2
9057232812Sjmallett                                                         1=IRQ3
9058232812Sjmallett                                                         2=IRQ4 */
9059232812Sjmallett	uint64_t reserved_4_7                 : 4;
9060232812Sjmallett	uint64_t pp                           : 4;  /**< Which PP to select */
9061232812Sjmallett#else
9062232812Sjmallett	uint64_t pp                           : 4;
9063232812Sjmallett	uint64_t reserved_4_7                 : 4;
9064232812Sjmallett	uint64_t irq                          : 2;
9065232812Sjmallett	uint64_t reserved_10_15               : 6;
9066232812Sjmallett	uint64_t sel                          : 3;
9067232812Sjmallett	uint64_t reserved_19_63               : 45;
9068232812Sjmallett#endif
9069232812Sjmallett	} cn61xx;
9070232812Sjmallett	struct cvmx_ciu_int_dbg_sel_cn63xx {
9071232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
9072232812Sjmallett	uint64_t reserved_19_63               : 45;
9073232812Sjmallett	uint64_t sel                          : 3;  /**< Selects if all or the specific interrupt is
9074232812Sjmallett                                                         presented on the debug port.
9075232812Sjmallett                                                         0=erst_n
9076232812Sjmallett                                                         1=start_bist
9077232812Sjmallett                                                         2=toggle at sclk/2 freq
9078232812Sjmallett                                                         3=All PP interrupt bits are ORed together
9079232812Sjmallett                                                         4=Only the selected physical PP/IRQ is selected */
9080232812Sjmallett	uint64_t reserved_10_15               : 6;
9081232812Sjmallett	uint64_t irq                          : 2;  /**< Which IRQ to select
9082232812Sjmallett                                                         0=IRQ2
9083232812Sjmallett                                                         1=IRQ3
9084232812Sjmallett                                                         2=IRQ4 */
9085215976Sjmallett	uint64_t reserved_3_7                 : 5;
9086215976Sjmallett	uint64_t pp                           : 3;  /**< Which PP to select */
9087215976Sjmallett#else
9088215976Sjmallett	uint64_t pp                           : 3;
9089215976Sjmallett	uint64_t reserved_3_7                 : 5;
9090215976Sjmallett	uint64_t irq                          : 2;
9091215976Sjmallett	uint64_t reserved_10_15               : 6;
9092215976Sjmallett	uint64_t sel                          : 3;
9093215976Sjmallett	uint64_t reserved_19_63               : 45;
9094215976Sjmallett#endif
9095232812Sjmallett	} cn63xx;
9096232812Sjmallett	struct cvmx_ciu_int_dbg_sel_cn61xx    cn66xx;
9097232812Sjmallett	struct cvmx_ciu_int_dbg_sel_s         cn68xx;
9098232812Sjmallett	struct cvmx_ciu_int_dbg_sel_s         cn68xxp1;
9099232812Sjmallett	struct cvmx_ciu_int_dbg_sel_cn61xx    cnf71xx;
9100215976Sjmallett};
9101215976Sjmalletttypedef union cvmx_ciu_int_dbg_sel cvmx_ciu_int_dbg_sel_t;
9102215976Sjmallett
9103215976Sjmallett/**
9104215976Sjmallett * cvmx_ciu_int_sum1
9105215976Sjmallett */
9106232812Sjmallettunion cvmx_ciu_int_sum1 {
9107215976Sjmallett	uint64_t u64;
9108232812Sjmallett	struct cvmx_ciu_int_sum1_s {
9109232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
9110215976Sjmallett	uint64_t rst                          : 1;  /**< MIO RST interrupt
9111215976Sjmallett                                                         See MIO_RST_INT */
9112232812Sjmallett	uint64_t reserved_62_62               : 1;
9113232812Sjmallett	uint64_t srio3                        : 1;  /**< SRIO3 interrupt
9114232812Sjmallett                                                         See SRIO3_INT_REG, SRIO3_INT2_REG */
9115232812Sjmallett	uint64_t srio2                        : 1;  /**< SRIO2 interrupt
9116232812Sjmallett                                                         See SRIO2_INT_REG, SRIO2_INT2_REG */
9117232812Sjmallett	uint64_t reserved_57_59               : 3;
9118215976Sjmallett	uint64_t dfm                          : 1;  /**< DFM Interrupt
9119215976Sjmallett                                                         See DFM_FNT_STAT */
9120215976Sjmallett	uint64_t reserved_53_55               : 3;
9121215976Sjmallett	uint64_t lmc0                         : 1;  /**< LMC0 interrupt
9122215976Sjmallett                                                         See LMC0_INT */
9123215976Sjmallett	uint64_t srio1                        : 1;  /**< SRIO1 interrupt
9124215976Sjmallett                                                         See SRIO1_INT_REG */
9125215976Sjmallett	uint64_t srio0                        : 1;  /**< SRIO0 interrupt
9126232812Sjmallett                                                         See SRIO0_INT_REG, SRIO0_INT2_REG */
9127215976Sjmallett	uint64_t pem1                         : 1;  /**< PEM1 interrupt
9128215976Sjmallett                                                         See PEM1_INT_SUM (enabled by PEM1_INT_ENB) */
9129215976Sjmallett	uint64_t pem0                         : 1;  /**< PEM0 interrupt
9130215976Sjmallett                                                         See PEM0_INT_SUM (enabled by PEM0_INT_ENB) */
9131215976Sjmallett	uint64_t ptp                          : 1;  /**< PTP interrupt
9132215976Sjmallett                                                         Set when HW decrements MIO_PTP_EVT_CNT to zero */
9133215976Sjmallett	uint64_t agl                          : 1;  /**< AGL interrupt
9134215976Sjmallett                                                         See AGL_GMX_RX*_INT_REG, AGL_GMX_TX_INT_REG */
9135232812Sjmallett	uint64_t reserved_38_45               : 8;
9136232812Sjmallett	uint64_t agx1                         : 1;  /**< GMX1 interrupt
9137232812Sjmallett                                                         See GMX1_RX*_INT_REG, GMX1_TX_INT_REG,
9138232812Sjmallett                                                         PCS1_INT*_REG, PCSX1_INT_REG */
9139215976Sjmallett	uint64_t agx0                         : 1;  /**< GMX0 interrupt
9140215976Sjmallett                                                         See GMX0_RX*_INT_REG, GMX0_TX_INT_REG,
9141215976Sjmallett                                                         PCS0_INT*_REG, PCSX0_INT_REG */
9142215976Sjmallett	uint64_t dpi                          : 1;  /**< DPI interrupt
9143215976Sjmallett                                                         See DPI_INT_REG */
9144215976Sjmallett	uint64_t sli                          : 1;  /**< SLI interrupt
9145215976Sjmallett                                                         See SLI_INT_SUM (enabled by SLI_INT_ENB_CIU) */
9146215976Sjmallett	uint64_t usb                          : 1;  /**< USB UCTL0 interrupt
9147215976Sjmallett                                                         See UCTL0_INT_REG */
9148215976Sjmallett	uint64_t dfa                          : 1;  /**< DFA interrupt
9149215976Sjmallett                                                         See DFA_ERROR */
9150215976Sjmallett	uint64_t key                          : 1;  /**< KEY interrupt
9151215976Sjmallett                                                         See KEY_INT_SUM */
9152215976Sjmallett	uint64_t rad                          : 1;  /**< RAD interrupt
9153215976Sjmallett                                                         See RAD_REG_ERROR */
9154215976Sjmallett	uint64_t tim                          : 1;  /**< TIM interrupt
9155215976Sjmallett                                                         See TIM_REG_ERROR */
9156215976Sjmallett	uint64_t zip                          : 1;  /**< ZIP interrupt
9157215976Sjmallett                                                         See ZIP_ERROR */
9158215976Sjmallett	uint64_t pko                          : 1;  /**< PKO interrupt
9159215976Sjmallett                                                         See PKO_REG_ERROR */
9160215976Sjmallett	uint64_t pip                          : 1;  /**< PIP interrupt
9161215976Sjmallett                                                         See PIP_INT_REG */
9162215976Sjmallett	uint64_t ipd                          : 1;  /**< IPD interrupt
9163215976Sjmallett                                                         See IPD_INT_SUM */
9164215976Sjmallett	uint64_t l2c                          : 1;  /**< L2C interrupt
9165215976Sjmallett                                                         See L2C_INT_REG */
9166215976Sjmallett	uint64_t pow                          : 1;  /**< POW err interrupt
9167215976Sjmallett                                                         See POW_ECC_ERR */
9168215976Sjmallett	uint64_t fpa                          : 1;  /**< FPA interrupt
9169215976Sjmallett                                                         See FPA_INT_SUM */
9170215976Sjmallett	uint64_t iob                          : 1;  /**< IOB interrupt
9171215976Sjmallett                                                         See IOB_INT_SUM */
9172215976Sjmallett	uint64_t mio                          : 1;  /**< MIO boot interrupt
9173215976Sjmallett                                                         See MIO_BOOT_ERR */
9174232812Sjmallett	uint64_t nand                         : 1;  /**< EMMC Flash Controller interrupt
9175232812Sjmallett                                                         See  EMMC interrupt */
9176215976Sjmallett	uint64_t mii1                         : 1;  /**< RGMII/MII/MIX Interface 1 Interrupt
9177215976Sjmallett                                                         See MIX1_ISR */
9178215976Sjmallett	uint64_t usb1                         : 1;  /**< Second USB Interrupt */
9179215976Sjmallett	uint64_t uart2                        : 1;  /**< Third UART interrupt */
9180232812Sjmallett	uint64_t wdog                         : 16; /**< Per PP watchdog interrupts */
9181215976Sjmallett#else
9182215976Sjmallett	uint64_t wdog                         : 16;
9183215976Sjmallett	uint64_t uart2                        : 1;
9184215976Sjmallett	uint64_t usb1                         : 1;
9185215976Sjmallett	uint64_t mii1                         : 1;
9186215976Sjmallett	uint64_t nand                         : 1;
9187215976Sjmallett	uint64_t mio                          : 1;
9188215976Sjmallett	uint64_t iob                          : 1;
9189215976Sjmallett	uint64_t fpa                          : 1;
9190215976Sjmallett	uint64_t pow                          : 1;
9191215976Sjmallett	uint64_t l2c                          : 1;
9192215976Sjmallett	uint64_t ipd                          : 1;
9193215976Sjmallett	uint64_t pip                          : 1;
9194215976Sjmallett	uint64_t pko                          : 1;
9195215976Sjmallett	uint64_t zip                          : 1;
9196215976Sjmallett	uint64_t tim                          : 1;
9197215976Sjmallett	uint64_t rad                          : 1;
9198215976Sjmallett	uint64_t key                          : 1;
9199215976Sjmallett	uint64_t dfa                          : 1;
9200215976Sjmallett	uint64_t usb                          : 1;
9201215976Sjmallett	uint64_t sli                          : 1;
9202215976Sjmallett	uint64_t dpi                          : 1;
9203215976Sjmallett	uint64_t agx0                         : 1;
9204232812Sjmallett	uint64_t agx1                         : 1;
9205232812Sjmallett	uint64_t reserved_38_45               : 8;
9206215976Sjmallett	uint64_t agl                          : 1;
9207215976Sjmallett	uint64_t ptp                          : 1;
9208215976Sjmallett	uint64_t pem0                         : 1;
9209215976Sjmallett	uint64_t pem1                         : 1;
9210215976Sjmallett	uint64_t srio0                        : 1;
9211215976Sjmallett	uint64_t srio1                        : 1;
9212215976Sjmallett	uint64_t lmc0                         : 1;
9213215976Sjmallett	uint64_t reserved_53_55               : 3;
9214215976Sjmallett	uint64_t dfm                          : 1;
9215232812Sjmallett	uint64_t reserved_57_59               : 3;
9216232812Sjmallett	uint64_t srio2                        : 1;
9217232812Sjmallett	uint64_t srio3                        : 1;
9218232812Sjmallett	uint64_t reserved_62_62               : 1;
9219215976Sjmallett	uint64_t rst                          : 1;
9220215976Sjmallett#endif
9221215976Sjmallett	} s;
9222232812Sjmallett	struct cvmx_ciu_int_sum1_cn30xx {
9223232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
9224215976Sjmallett	uint64_t reserved_1_63                : 63;
9225215976Sjmallett	uint64_t wdog                         : 1;  /**< 1 watchdog interrupt */
9226215976Sjmallett#else
9227215976Sjmallett	uint64_t wdog                         : 1;
9228215976Sjmallett	uint64_t reserved_1_63                : 63;
9229215976Sjmallett#endif
9230215976Sjmallett	} cn30xx;
9231232812Sjmallett	struct cvmx_ciu_int_sum1_cn31xx {
9232232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
9233215976Sjmallett	uint64_t reserved_2_63                : 62;
9234215976Sjmallett	uint64_t wdog                         : 2;  /**< 2 watchdog interrupts */
9235215976Sjmallett#else
9236215976Sjmallett	uint64_t wdog                         : 2;
9237215976Sjmallett	uint64_t reserved_2_63                : 62;
9238215976Sjmallett#endif
9239215976Sjmallett	} cn31xx;
9240232812Sjmallett	struct cvmx_ciu_int_sum1_cn38xx {
9241232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
9242215976Sjmallett	uint64_t reserved_16_63               : 48;
9243215976Sjmallett	uint64_t wdog                         : 16; /**< 16 watchdog interrupts */
9244215976Sjmallett#else
9245215976Sjmallett	uint64_t wdog                         : 16;
9246215976Sjmallett	uint64_t reserved_16_63               : 48;
9247215976Sjmallett#endif
9248215976Sjmallett	} cn38xx;
9249215976Sjmallett	struct cvmx_ciu_int_sum1_cn38xx       cn38xxp2;
9250215976Sjmallett	struct cvmx_ciu_int_sum1_cn31xx       cn50xx;
9251232812Sjmallett	struct cvmx_ciu_int_sum1_cn52xx {
9252232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
9253215976Sjmallett	uint64_t reserved_20_63               : 44;
9254215976Sjmallett	uint64_t nand                         : 1;  /**< NAND Flash Controller */
9255215976Sjmallett	uint64_t mii1                         : 1;  /**< Second MII Interrupt */
9256215976Sjmallett	uint64_t usb1                         : 1;  /**< Second USB Interrupt */
9257215976Sjmallett	uint64_t uart2                        : 1;  /**< Third UART interrupt */
9258215976Sjmallett	uint64_t reserved_4_15                : 12;
9259215976Sjmallett	uint64_t wdog                         : 4;  /**< 4 watchdog interrupts */
9260215976Sjmallett#else
9261215976Sjmallett	uint64_t wdog                         : 4;
9262215976Sjmallett	uint64_t reserved_4_15                : 12;
9263215976Sjmallett	uint64_t uart2                        : 1;
9264215976Sjmallett	uint64_t usb1                         : 1;
9265215976Sjmallett	uint64_t mii1                         : 1;
9266215976Sjmallett	uint64_t nand                         : 1;
9267215976Sjmallett	uint64_t reserved_20_63               : 44;
9268215976Sjmallett#endif
9269215976Sjmallett	} cn52xx;
9270232812Sjmallett	struct cvmx_ciu_int_sum1_cn52xxp1 {
9271232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
9272215976Sjmallett	uint64_t reserved_19_63               : 45;
9273215976Sjmallett	uint64_t mii1                         : 1;  /**< Second MII Interrupt */
9274215976Sjmallett	uint64_t usb1                         : 1;  /**< Second USB Interrupt */
9275215976Sjmallett	uint64_t uart2                        : 1;  /**< Third UART interrupt */
9276215976Sjmallett	uint64_t reserved_4_15                : 12;
9277215976Sjmallett	uint64_t wdog                         : 4;  /**< 4 watchdog interrupts */
9278215976Sjmallett#else
9279215976Sjmallett	uint64_t wdog                         : 4;
9280215976Sjmallett	uint64_t reserved_4_15                : 12;
9281215976Sjmallett	uint64_t uart2                        : 1;
9282215976Sjmallett	uint64_t usb1                         : 1;
9283215976Sjmallett	uint64_t mii1                         : 1;
9284215976Sjmallett	uint64_t reserved_19_63               : 45;
9285215976Sjmallett#endif
9286215976Sjmallett	} cn52xxp1;
9287232812Sjmallett	struct cvmx_ciu_int_sum1_cn56xx {
9288232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
9289215976Sjmallett	uint64_t reserved_12_63               : 52;
9290215976Sjmallett	uint64_t wdog                         : 12; /**< 12 watchdog interrupts */
9291215976Sjmallett#else
9292215976Sjmallett	uint64_t wdog                         : 12;
9293215976Sjmallett	uint64_t reserved_12_63               : 52;
9294215976Sjmallett#endif
9295215976Sjmallett	} cn56xx;
9296215976Sjmallett	struct cvmx_ciu_int_sum1_cn56xx       cn56xxp1;
9297215976Sjmallett	struct cvmx_ciu_int_sum1_cn38xx       cn58xx;
9298215976Sjmallett	struct cvmx_ciu_int_sum1_cn38xx       cn58xxp1;
9299232812Sjmallett	struct cvmx_ciu_int_sum1_cn61xx {
9300232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
9301215976Sjmallett	uint64_t rst                          : 1;  /**< MIO RST interrupt
9302215976Sjmallett                                                         See MIO_RST_INT */
9303232812Sjmallett	uint64_t reserved_53_62               : 10;
9304232812Sjmallett	uint64_t lmc0                         : 1;  /**< LMC0 interrupt
9305232812Sjmallett                                                         See LMC0_INT */
9306232812Sjmallett	uint64_t reserved_50_51               : 2;
9307232812Sjmallett	uint64_t pem1                         : 1;  /**< PEM1 interrupt
9308232812Sjmallett                                                         See PEM1_INT_SUM (enabled by PEM1_INT_ENB) */
9309232812Sjmallett	uint64_t pem0                         : 1;  /**< PEM0 interrupt
9310232812Sjmallett                                                         See PEM0_INT_SUM (enabled by PEM0_INT_ENB) */
9311232812Sjmallett	uint64_t ptp                          : 1;  /**< PTP interrupt
9312232812Sjmallett                                                         Set when HW decrements MIO_PTP_EVT_CNT to zero */
9313232812Sjmallett	uint64_t agl                          : 1;  /**< AGL interrupt
9314232812Sjmallett                                                         See AGL_GMX_RX*_INT_REG, AGL_GMX_TX_INT_REG */
9315232812Sjmallett	uint64_t reserved_38_45               : 8;
9316232812Sjmallett	uint64_t agx1                         : 1;  /**< GMX1 interrupt
9317232812Sjmallett                                                         See GMX1_RX*_INT_REG, GMX1_TX_INT_REG,
9318232812Sjmallett                                                         PCS1_INT*_REG, PCSX1_INT_REG */
9319232812Sjmallett	uint64_t agx0                         : 1;  /**< GMX0 interrupt
9320232812Sjmallett                                                         See GMX0_RX*_INT_REG, GMX0_TX_INT_REG,
9321232812Sjmallett                                                         PCS0_INT*_REG, PCSX0_INT_REG */
9322232812Sjmallett	uint64_t dpi                          : 1;  /**< DPI interrupt
9323232812Sjmallett                                                         See DPI_INT_REG */
9324232812Sjmallett	uint64_t sli                          : 1;  /**< SLI interrupt
9325232812Sjmallett                                                         See SLI_INT_SUM (enabled by SLI_INT_ENB_CIU) */
9326232812Sjmallett	uint64_t usb                          : 1;  /**< USB UCTL0 interrupt
9327232812Sjmallett                                                         See UCTL0_INT_REG */
9328232812Sjmallett	uint64_t dfa                          : 1;  /**< DFA interrupt
9329232812Sjmallett                                                         See DFA_ERROR */
9330232812Sjmallett	uint64_t key                          : 1;  /**< KEY interrupt
9331232812Sjmallett                                                         See KEY_INT_SUM */
9332232812Sjmallett	uint64_t rad                          : 1;  /**< RAD interrupt
9333232812Sjmallett                                                         See RAD_REG_ERROR */
9334232812Sjmallett	uint64_t tim                          : 1;  /**< TIM interrupt
9335232812Sjmallett                                                         See TIM_REG_ERROR */
9336232812Sjmallett	uint64_t zip                          : 1;  /**< ZIP interrupt
9337232812Sjmallett                                                         See ZIP_ERROR */
9338232812Sjmallett	uint64_t pko                          : 1;  /**< PKO interrupt
9339232812Sjmallett                                                         See PKO_REG_ERROR */
9340232812Sjmallett	uint64_t pip                          : 1;  /**< PIP interrupt
9341232812Sjmallett                                                         See PIP_INT_REG */
9342232812Sjmallett	uint64_t ipd                          : 1;  /**< IPD interrupt
9343232812Sjmallett                                                         See IPD_INT_SUM */
9344232812Sjmallett	uint64_t l2c                          : 1;  /**< L2C interrupt
9345232812Sjmallett                                                         See L2C_INT_REG */
9346232812Sjmallett	uint64_t pow                          : 1;  /**< POW err interrupt
9347232812Sjmallett                                                         See POW_ECC_ERR */
9348232812Sjmallett	uint64_t fpa                          : 1;  /**< FPA interrupt
9349232812Sjmallett                                                         See FPA_INT_SUM */
9350232812Sjmallett	uint64_t iob                          : 1;  /**< IOB interrupt
9351232812Sjmallett                                                         See IOB_INT_SUM */
9352232812Sjmallett	uint64_t mio                          : 1;  /**< MIO boot interrupt
9353232812Sjmallett                                                         See MIO_BOOT_ERR */
9354232812Sjmallett	uint64_t nand                         : 1;  /**< EMMC Flash Controller interrupt
9355232812Sjmallett                                                         See  EMMC interrupt */
9356232812Sjmallett	uint64_t mii1                         : 1;  /**< RGMII/MIX Interface 1 Interrupt
9357232812Sjmallett                                                         See MIX1_ISR */
9358232812Sjmallett	uint64_t reserved_4_17                : 14;
9359232812Sjmallett	uint64_t wdog                         : 4;  /**< Per PP watchdog interrupts */
9360232812Sjmallett#else
9361232812Sjmallett	uint64_t wdog                         : 4;
9362232812Sjmallett	uint64_t reserved_4_17                : 14;
9363232812Sjmallett	uint64_t mii1                         : 1;
9364232812Sjmallett	uint64_t nand                         : 1;
9365232812Sjmallett	uint64_t mio                          : 1;
9366232812Sjmallett	uint64_t iob                          : 1;
9367232812Sjmallett	uint64_t fpa                          : 1;
9368232812Sjmallett	uint64_t pow                          : 1;
9369232812Sjmallett	uint64_t l2c                          : 1;
9370232812Sjmallett	uint64_t ipd                          : 1;
9371232812Sjmallett	uint64_t pip                          : 1;
9372232812Sjmallett	uint64_t pko                          : 1;
9373232812Sjmallett	uint64_t zip                          : 1;
9374232812Sjmallett	uint64_t tim                          : 1;
9375232812Sjmallett	uint64_t rad                          : 1;
9376232812Sjmallett	uint64_t key                          : 1;
9377232812Sjmallett	uint64_t dfa                          : 1;
9378232812Sjmallett	uint64_t usb                          : 1;
9379232812Sjmallett	uint64_t sli                          : 1;
9380232812Sjmallett	uint64_t dpi                          : 1;
9381232812Sjmallett	uint64_t agx0                         : 1;
9382232812Sjmallett	uint64_t agx1                         : 1;
9383232812Sjmallett	uint64_t reserved_38_45               : 8;
9384232812Sjmallett	uint64_t agl                          : 1;
9385232812Sjmallett	uint64_t ptp                          : 1;
9386232812Sjmallett	uint64_t pem0                         : 1;
9387232812Sjmallett	uint64_t pem1                         : 1;
9388232812Sjmallett	uint64_t reserved_50_51               : 2;
9389232812Sjmallett	uint64_t lmc0                         : 1;
9390232812Sjmallett	uint64_t reserved_53_62               : 10;
9391232812Sjmallett	uint64_t rst                          : 1;
9392232812Sjmallett#endif
9393232812Sjmallett	} cn61xx;
9394232812Sjmallett	struct cvmx_ciu_int_sum1_cn63xx {
9395232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
9396232812Sjmallett	uint64_t rst                          : 1;  /**< MIO RST interrupt
9397232812Sjmallett                                                         See MIO_RST_INT */
9398215976Sjmallett	uint64_t reserved_57_62               : 6;
9399215976Sjmallett	uint64_t dfm                          : 1;  /**< DFM Interrupt
9400215976Sjmallett                                                         See DFM_FNT_STAT */
9401215976Sjmallett	uint64_t reserved_53_55               : 3;
9402215976Sjmallett	uint64_t lmc0                         : 1;  /**< LMC0 interrupt
9403215976Sjmallett                                                         See LMC0_INT */
9404215976Sjmallett	uint64_t srio1                        : 1;  /**< SRIO1 interrupt
9405215976Sjmallett                                                         See SRIO1_INT_REG, SRIO1_INT2_REG */
9406215976Sjmallett	uint64_t srio0                        : 1;  /**< SRIO0 interrupt
9407215976Sjmallett                                                         See SRIO0_INT_REG, SRIO0_INT2_REG */
9408215976Sjmallett	uint64_t pem1                         : 1;  /**< PEM1 interrupt
9409215976Sjmallett                                                         See PEM1_INT_SUM (enabled by PEM1_INT_ENB) */
9410215976Sjmallett	uint64_t pem0                         : 1;  /**< PEM0 interrupt
9411215976Sjmallett                                                         See PEM0_INT_SUM (enabled by PEM0_INT_ENB) */
9412215976Sjmallett	uint64_t ptp                          : 1;  /**< PTP interrupt
9413215976Sjmallett                                                         Set when HW decrements MIO_PTP_EVT_CNT to zero */
9414215976Sjmallett	uint64_t agl                          : 1;  /**< AGL interrupt
9415215976Sjmallett                                                         See AGL_GMX_RX*_INT_REG, AGL_GMX_TX_INT_REG */
9416215976Sjmallett	uint64_t reserved_37_45               : 9;
9417215976Sjmallett	uint64_t agx0                         : 1;  /**< GMX0 interrupt
9418215976Sjmallett                                                         See GMX0_RX*_INT_REG, GMX0_TX_INT_REG,
9419215976Sjmallett                                                         PCS0_INT*_REG, PCSX0_INT_REG */
9420215976Sjmallett	uint64_t dpi                          : 1;  /**< DPI interrupt
9421215976Sjmallett                                                         See DPI_INT_REG */
9422215976Sjmallett	uint64_t sli                          : 1;  /**< SLI interrupt
9423215976Sjmallett                                                         See SLI_INT_SUM (enabled by SLI_INT_ENB_CIU) */
9424215976Sjmallett	uint64_t usb                          : 1;  /**< USB UCTL0 interrupt
9425215976Sjmallett                                                         See UCTL0_INT_REG */
9426215976Sjmallett	uint64_t dfa                          : 1;  /**< DFA interrupt
9427215976Sjmallett                                                         See DFA_ERROR */
9428215976Sjmallett	uint64_t key                          : 1;  /**< KEY interrupt
9429215976Sjmallett                                                         See KEY_INT_SUM */
9430215976Sjmallett	uint64_t rad                          : 1;  /**< RAD interrupt
9431215976Sjmallett                                                         See RAD_REG_ERROR */
9432215976Sjmallett	uint64_t tim                          : 1;  /**< TIM interrupt
9433215976Sjmallett                                                         See TIM_REG_ERROR */
9434215976Sjmallett	uint64_t zip                          : 1;  /**< ZIP interrupt
9435215976Sjmallett                                                         See ZIP_ERROR */
9436215976Sjmallett	uint64_t pko                          : 1;  /**< PKO interrupt
9437215976Sjmallett                                                         See PKO_REG_ERROR */
9438215976Sjmallett	uint64_t pip                          : 1;  /**< PIP interrupt
9439215976Sjmallett                                                         See PIP_INT_REG */
9440215976Sjmallett	uint64_t ipd                          : 1;  /**< IPD interrupt
9441215976Sjmallett                                                         See IPD_INT_SUM */
9442215976Sjmallett	uint64_t l2c                          : 1;  /**< L2C interrupt
9443215976Sjmallett                                                         See L2C_INT_REG */
9444215976Sjmallett	uint64_t pow                          : 1;  /**< POW err interrupt
9445215976Sjmallett                                                         See POW_ECC_ERR */
9446215976Sjmallett	uint64_t fpa                          : 1;  /**< FPA interrupt
9447215976Sjmallett                                                         See FPA_INT_SUM */
9448215976Sjmallett	uint64_t iob                          : 1;  /**< IOB interrupt
9449215976Sjmallett                                                         See IOB_INT_SUM */
9450215976Sjmallett	uint64_t mio                          : 1;  /**< MIO boot interrupt
9451215976Sjmallett                                                         See MIO_BOOT_ERR */
9452215976Sjmallett	uint64_t nand                         : 1;  /**< NAND Flash Controller interrupt
9453215976Sjmallett                                                         See NDF_INT */
9454215976Sjmallett	uint64_t mii1                         : 1;  /**< RGMII/MII/MIX Interface 1 Interrupt
9455215976Sjmallett                                                         See MIX1_ISR */
9456215976Sjmallett	uint64_t reserved_6_17                : 12;
9457215976Sjmallett	uint64_t wdog                         : 6;  /**< 6 watchdog interrupts */
9458215976Sjmallett#else
9459215976Sjmallett	uint64_t wdog                         : 6;
9460215976Sjmallett	uint64_t reserved_6_17                : 12;
9461215976Sjmallett	uint64_t mii1                         : 1;
9462215976Sjmallett	uint64_t nand                         : 1;
9463215976Sjmallett	uint64_t mio                          : 1;
9464215976Sjmallett	uint64_t iob                          : 1;
9465215976Sjmallett	uint64_t fpa                          : 1;
9466215976Sjmallett	uint64_t pow                          : 1;
9467215976Sjmallett	uint64_t l2c                          : 1;
9468215976Sjmallett	uint64_t ipd                          : 1;
9469215976Sjmallett	uint64_t pip                          : 1;
9470215976Sjmallett	uint64_t pko                          : 1;
9471215976Sjmallett	uint64_t zip                          : 1;
9472215976Sjmallett	uint64_t tim                          : 1;
9473215976Sjmallett	uint64_t rad                          : 1;
9474215976Sjmallett	uint64_t key                          : 1;
9475215976Sjmallett	uint64_t dfa                          : 1;
9476215976Sjmallett	uint64_t usb                          : 1;
9477215976Sjmallett	uint64_t sli                          : 1;
9478215976Sjmallett	uint64_t dpi                          : 1;
9479215976Sjmallett	uint64_t agx0                         : 1;
9480215976Sjmallett	uint64_t reserved_37_45               : 9;
9481215976Sjmallett	uint64_t agl                          : 1;
9482215976Sjmallett	uint64_t ptp                          : 1;
9483215976Sjmallett	uint64_t pem0                         : 1;
9484215976Sjmallett	uint64_t pem1                         : 1;
9485215976Sjmallett	uint64_t srio0                        : 1;
9486215976Sjmallett	uint64_t srio1                        : 1;
9487215976Sjmallett	uint64_t lmc0                         : 1;
9488215976Sjmallett	uint64_t reserved_53_55               : 3;
9489215976Sjmallett	uint64_t dfm                          : 1;
9490215976Sjmallett	uint64_t reserved_57_62               : 6;
9491215976Sjmallett	uint64_t rst                          : 1;
9492215976Sjmallett#endif
9493215976Sjmallett	} cn63xx;
9494215976Sjmallett	struct cvmx_ciu_int_sum1_cn63xx       cn63xxp1;
9495232812Sjmallett	struct cvmx_ciu_int_sum1_cn66xx {
9496232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
9497232812Sjmallett	uint64_t rst                          : 1;  /**< MIO RST interrupt
9498232812Sjmallett                                                         See MIO_RST_INT */
9499232812Sjmallett	uint64_t reserved_62_62               : 1;
9500232812Sjmallett	uint64_t srio3                        : 1;  /**< SRIO3 interrupt
9501232812Sjmallett                                                         See SRIO3_INT_REG, SRIO3_INT2_REG */
9502232812Sjmallett	uint64_t srio2                        : 1;  /**< SRIO2 interrupt
9503232812Sjmallett                                                         See SRIO2_INT_REG, SRIO2_INT2_REG */
9504232812Sjmallett	uint64_t reserved_57_59               : 3;
9505232812Sjmallett	uint64_t dfm                          : 1;  /**< DFM Interrupt
9506232812Sjmallett                                                         See DFM_FNT_STAT */
9507232812Sjmallett	uint64_t reserved_53_55               : 3;
9508232812Sjmallett	uint64_t lmc0                         : 1;  /**< LMC0 interrupt
9509232812Sjmallett                                                         See LMC0_INT */
9510232812Sjmallett	uint64_t reserved_51_51               : 1;
9511232812Sjmallett	uint64_t srio0                        : 1;  /**< SRIO0 interrupt
9512232812Sjmallett                                                         See SRIO0_INT_REG, SRIO0_INT2_REG */
9513232812Sjmallett	uint64_t pem1                         : 1;  /**< PEM1 interrupt
9514232812Sjmallett                                                         See PEM1_INT_SUM (enabled by PEM1_INT_ENB) */
9515232812Sjmallett	uint64_t pem0                         : 1;  /**< PEM0 interrupt
9516232812Sjmallett                                                         See PEM0_INT_SUM (enabled by PEM0_INT_ENB) */
9517232812Sjmallett	uint64_t ptp                          : 1;  /**< PTP interrupt
9518232812Sjmallett                                                         Set when HW decrements MIO_PTP_EVT_CNT to zero */
9519232812Sjmallett	uint64_t agl                          : 1;  /**< AGL interrupt
9520232812Sjmallett                                                         See AGL_GMX_RX*_INT_REG, AGL_GMX_TX_INT_REG */
9521232812Sjmallett	uint64_t reserved_38_45               : 8;
9522232812Sjmallett	uint64_t agx1                         : 1;  /**< GMX1 interrupt
9523232812Sjmallett                                                         See GMX1_RX*_INT_REG, GMX1_TX_INT_REG,
9524232812Sjmallett                                                         PCS1_INT*_REG, PCSX1_INT_REG */
9525232812Sjmallett	uint64_t agx0                         : 1;  /**< GMX0 interrupt
9526232812Sjmallett                                                         See GMX0_RX*_INT_REG, GMX0_TX_INT_REG,
9527232812Sjmallett                                                         PCS0_INT*_REG, PCSX0_INT_REG */
9528232812Sjmallett	uint64_t dpi                          : 1;  /**< DPI interrupt
9529232812Sjmallett                                                         See DPI_INT_REG */
9530232812Sjmallett	uint64_t sli                          : 1;  /**< SLI interrupt
9531232812Sjmallett                                                         See SLI_INT_SUM (enabled by SLI_INT_ENB_CIU) */
9532232812Sjmallett	uint64_t usb                          : 1;  /**< USB UCTL0 interrupt
9533232812Sjmallett                                                         See UCTL0_INT_REG */
9534232812Sjmallett	uint64_t dfa                          : 1;  /**< DFA interrupt
9535232812Sjmallett                                                         See DFA_ERROR */
9536232812Sjmallett	uint64_t key                          : 1;  /**< KEY interrupt
9537232812Sjmallett                                                         See KEY_INT_SUM */
9538232812Sjmallett	uint64_t rad                          : 1;  /**< RAD interrupt
9539232812Sjmallett                                                         See RAD_REG_ERROR */
9540232812Sjmallett	uint64_t tim                          : 1;  /**< TIM interrupt
9541232812Sjmallett                                                         See TIM_REG_ERROR */
9542232812Sjmallett	uint64_t zip                          : 1;  /**< ZIP interrupt
9543232812Sjmallett                                                         See ZIP_ERROR */
9544232812Sjmallett	uint64_t pko                          : 1;  /**< PKO interrupt
9545232812Sjmallett                                                         See PKO_REG_ERROR */
9546232812Sjmallett	uint64_t pip                          : 1;  /**< PIP interrupt
9547232812Sjmallett                                                         See PIP_INT_REG */
9548232812Sjmallett	uint64_t ipd                          : 1;  /**< IPD interrupt
9549232812Sjmallett                                                         See IPD_INT_SUM */
9550232812Sjmallett	uint64_t l2c                          : 1;  /**< L2C interrupt
9551232812Sjmallett                                                         See L2C_INT_REG */
9552232812Sjmallett	uint64_t pow                          : 1;  /**< POW err interrupt
9553232812Sjmallett                                                         See POW_ECC_ERR */
9554232812Sjmallett	uint64_t fpa                          : 1;  /**< FPA interrupt
9555232812Sjmallett                                                         See FPA_INT_SUM */
9556232812Sjmallett	uint64_t iob                          : 1;  /**< IOB interrupt
9557232812Sjmallett                                                         See IOB_INT_SUM */
9558232812Sjmallett	uint64_t mio                          : 1;  /**< MIO boot interrupt
9559232812Sjmallett                                                         See MIO_BOOT_ERR */
9560232812Sjmallett	uint64_t nand                         : 1;  /**< NAND Flash Controller interrupt
9561232812Sjmallett                                                         See NDF_INT */
9562232812Sjmallett	uint64_t mii1                         : 1;  /**< RGMII/MII/MIX Interface 1 Interrupt
9563232812Sjmallett                                                         See MIX1_ISR */
9564232812Sjmallett	uint64_t reserved_10_17               : 8;
9565232812Sjmallett	uint64_t wdog                         : 10; /**< 10 watchdog interrupts */
9566232812Sjmallett#else
9567232812Sjmallett	uint64_t wdog                         : 10;
9568232812Sjmallett	uint64_t reserved_10_17               : 8;
9569232812Sjmallett	uint64_t mii1                         : 1;
9570232812Sjmallett	uint64_t nand                         : 1;
9571232812Sjmallett	uint64_t mio                          : 1;
9572232812Sjmallett	uint64_t iob                          : 1;
9573232812Sjmallett	uint64_t fpa                          : 1;
9574232812Sjmallett	uint64_t pow                          : 1;
9575232812Sjmallett	uint64_t l2c                          : 1;
9576232812Sjmallett	uint64_t ipd                          : 1;
9577232812Sjmallett	uint64_t pip                          : 1;
9578232812Sjmallett	uint64_t pko                          : 1;
9579232812Sjmallett	uint64_t zip                          : 1;
9580232812Sjmallett	uint64_t tim                          : 1;
9581232812Sjmallett	uint64_t rad                          : 1;
9582232812Sjmallett	uint64_t key                          : 1;
9583232812Sjmallett	uint64_t dfa                          : 1;
9584232812Sjmallett	uint64_t usb                          : 1;
9585232812Sjmallett	uint64_t sli                          : 1;
9586232812Sjmallett	uint64_t dpi                          : 1;
9587232812Sjmallett	uint64_t agx0                         : 1;
9588232812Sjmallett	uint64_t agx1                         : 1;
9589232812Sjmallett	uint64_t reserved_38_45               : 8;
9590232812Sjmallett	uint64_t agl                          : 1;
9591232812Sjmallett	uint64_t ptp                          : 1;
9592232812Sjmallett	uint64_t pem0                         : 1;
9593232812Sjmallett	uint64_t pem1                         : 1;
9594232812Sjmallett	uint64_t srio0                        : 1;
9595232812Sjmallett	uint64_t reserved_51_51               : 1;
9596232812Sjmallett	uint64_t lmc0                         : 1;
9597232812Sjmallett	uint64_t reserved_53_55               : 3;
9598232812Sjmallett	uint64_t dfm                          : 1;
9599232812Sjmallett	uint64_t reserved_57_59               : 3;
9600232812Sjmallett	uint64_t srio2                        : 1;
9601232812Sjmallett	uint64_t srio3                        : 1;
9602232812Sjmallett	uint64_t reserved_62_62               : 1;
9603232812Sjmallett	uint64_t rst                          : 1;
9604232812Sjmallett#endif
9605232812Sjmallett	} cn66xx;
9606232812Sjmallett	struct cvmx_ciu_int_sum1_cnf71xx {
9607232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
9608232812Sjmallett	uint64_t rst                          : 1;  /**< MIO RST interrupt
9609232812Sjmallett                                                         See MIO_RST_INT */
9610232812Sjmallett	uint64_t reserved_53_62               : 10;
9611232812Sjmallett	uint64_t lmc0                         : 1;  /**< LMC0 interrupt
9612232812Sjmallett                                                         See LMC0_INT */
9613232812Sjmallett	uint64_t reserved_50_51               : 2;
9614232812Sjmallett	uint64_t pem1                         : 1;  /**< PEM1 interrupt
9615232812Sjmallett                                                         See PEM1_INT_SUM (enabled by PEM1_INT_ENB) */
9616232812Sjmallett	uint64_t pem0                         : 1;  /**< PEM0 interrupt
9617232812Sjmallett                                                         See PEM0_INT_SUM (enabled by PEM0_INT_ENB) */
9618232812Sjmallett	uint64_t ptp                          : 1;  /**< PTP interrupt
9619232812Sjmallett                                                         Set when HW decrements MIO_PTP_EVT_CNT to zero */
9620232812Sjmallett	uint64_t reserved_37_46               : 10;
9621232812Sjmallett	uint64_t agx0                         : 1;  /**< GMX0 interrupt
9622232812Sjmallett                                                         See GMX0_RX*_INT_REG, GMX0_TX_INT_REG,
9623232812Sjmallett                                                         PCS0_INT*_REG, PCSX0_INT_REG */
9624232812Sjmallett	uint64_t dpi                          : 1;  /**< DPI interrupt
9625232812Sjmallett                                                         See DPI_INT_REG */
9626232812Sjmallett	uint64_t sli                          : 1;  /**< SLI interrupt
9627232812Sjmallett                                                         See SLI_INT_SUM (enabled by SLI_INT_ENB_CIU) */
9628232812Sjmallett	uint64_t usb                          : 1;  /**< USB UCTL0 interrupt
9629232812Sjmallett                                                         See UCTL0_INT_REG */
9630232812Sjmallett	uint64_t reserved_32_32               : 1;
9631232812Sjmallett	uint64_t key                          : 1;  /**< KEY interrupt
9632232812Sjmallett                                                         See KEY_INT_SUM */
9633232812Sjmallett	uint64_t rad                          : 1;  /**< RAD interrupt
9634232812Sjmallett                                                         See RAD_REG_ERROR */
9635232812Sjmallett	uint64_t tim                          : 1;  /**< TIM interrupt
9636232812Sjmallett                                                         See TIM_REG_ERROR */
9637232812Sjmallett	uint64_t reserved_28_28               : 1;
9638232812Sjmallett	uint64_t pko                          : 1;  /**< PKO interrupt
9639232812Sjmallett                                                         See PKO_REG_ERROR */
9640232812Sjmallett	uint64_t pip                          : 1;  /**< PIP interrupt
9641232812Sjmallett                                                         See PIP_INT_REG */
9642232812Sjmallett	uint64_t ipd                          : 1;  /**< IPD interrupt
9643232812Sjmallett                                                         See IPD_INT_SUM */
9644232812Sjmallett	uint64_t l2c                          : 1;  /**< L2C interrupt
9645232812Sjmallett                                                         See L2C_INT_REG */
9646232812Sjmallett	uint64_t pow                          : 1;  /**< POW err interrupt
9647232812Sjmallett                                                         See POW_ECC_ERR */
9648232812Sjmallett	uint64_t fpa                          : 1;  /**< FPA interrupt
9649232812Sjmallett                                                         See FPA_INT_SUM */
9650232812Sjmallett	uint64_t iob                          : 1;  /**< IOB interrupt
9651232812Sjmallett                                                         See IOB_INT_SUM */
9652232812Sjmallett	uint64_t mio                          : 1;  /**< MIO boot interrupt
9653232812Sjmallett                                                         See MIO_BOOT_ERR */
9654232812Sjmallett	uint64_t nand                         : 1;  /**< EMMC Flash Controller interrupt
9655232812Sjmallett                                                         See  EMMC interrupt */
9656232812Sjmallett	uint64_t reserved_4_18                : 15;
9657232812Sjmallett	uint64_t wdog                         : 4;  /**< Per PP watchdog interrupts */
9658232812Sjmallett#else
9659232812Sjmallett	uint64_t wdog                         : 4;
9660232812Sjmallett	uint64_t reserved_4_18                : 15;
9661232812Sjmallett	uint64_t nand                         : 1;
9662232812Sjmallett	uint64_t mio                          : 1;
9663232812Sjmallett	uint64_t iob                          : 1;
9664232812Sjmallett	uint64_t fpa                          : 1;
9665232812Sjmallett	uint64_t pow                          : 1;
9666232812Sjmallett	uint64_t l2c                          : 1;
9667232812Sjmallett	uint64_t ipd                          : 1;
9668232812Sjmallett	uint64_t pip                          : 1;
9669232812Sjmallett	uint64_t pko                          : 1;
9670232812Sjmallett	uint64_t reserved_28_28               : 1;
9671232812Sjmallett	uint64_t tim                          : 1;
9672232812Sjmallett	uint64_t rad                          : 1;
9673232812Sjmallett	uint64_t key                          : 1;
9674232812Sjmallett	uint64_t reserved_32_32               : 1;
9675232812Sjmallett	uint64_t usb                          : 1;
9676232812Sjmallett	uint64_t sli                          : 1;
9677232812Sjmallett	uint64_t dpi                          : 1;
9678232812Sjmallett	uint64_t agx0                         : 1;
9679232812Sjmallett	uint64_t reserved_37_46               : 10;
9680232812Sjmallett	uint64_t ptp                          : 1;
9681232812Sjmallett	uint64_t pem0                         : 1;
9682232812Sjmallett	uint64_t pem1                         : 1;
9683232812Sjmallett	uint64_t reserved_50_51               : 2;
9684232812Sjmallett	uint64_t lmc0                         : 1;
9685232812Sjmallett	uint64_t reserved_53_62               : 10;
9686232812Sjmallett	uint64_t rst                          : 1;
9687232812Sjmallett#endif
9688232812Sjmallett	} cnf71xx;
9689215976Sjmallett};
9690215976Sjmalletttypedef union cvmx_ciu_int_sum1 cvmx_ciu_int_sum1_t;
9691215976Sjmallett
9692215976Sjmallett/**
9693215976Sjmallett * cvmx_ciu_mbox_clr#
9694215976Sjmallett */
9695232812Sjmallettunion cvmx_ciu_mbox_clrx {
9696215976Sjmallett	uint64_t u64;
9697232812Sjmallett	struct cvmx_ciu_mbox_clrx_s {
9698232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
9699215976Sjmallett	uint64_t reserved_32_63               : 32;
9700215976Sjmallett	uint64_t bits                         : 32; /**< On writes, clr corresponding bit in MBOX register
9701215976Sjmallett                                                         on reads, return the MBOX register */
9702215976Sjmallett#else
9703215976Sjmallett	uint64_t bits                         : 32;
9704215976Sjmallett	uint64_t reserved_32_63               : 32;
9705215976Sjmallett#endif
9706215976Sjmallett	} s;
9707215976Sjmallett	struct cvmx_ciu_mbox_clrx_s           cn30xx;
9708215976Sjmallett	struct cvmx_ciu_mbox_clrx_s           cn31xx;
9709215976Sjmallett	struct cvmx_ciu_mbox_clrx_s           cn38xx;
9710215976Sjmallett	struct cvmx_ciu_mbox_clrx_s           cn38xxp2;
9711215976Sjmallett	struct cvmx_ciu_mbox_clrx_s           cn50xx;
9712215976Sjmallett	struct cvmx_ciu_mbox_clrx_s           cn52xx;
9713215976Sjmallett	struct cvmx_ciu_mbox_clrx_s           cn52xxp1;
9714215976Sjmallett	struct cvmx_ciu_mbox_clrx_s           cn56xx;
9715215976Sjmallett	struct cvmx_ciu_mbox_clrx_s           cn56xxp1;
9716215976Sjmallett	struct cvmx_ciu_mbox_clrx_s           cn58xx;
9717215976Sjmallett	struct cvmx_ciu_mbox_clrx_s           cn58xxp1;
9718232812Sjmallett	struct cvmx_ciu_mbox_clrx_s           cn61xx;
9719215976Sjmallett	struct cvmx_ciu_mbox_clrx_s           cn63xx;
9720215976Sjmallett	struct cvmx_ciu_mbox_clrx_s           cn63xxp1;
9721232812Sjmallett	struct cvmx_ciu_mbox_clrx_s           cn66xx;
9722232812Sjmallett	struct cvmx_ciu_mbox_clrx_s           cn68xx;
9723232812Sjmallett	struct cvmx_ciu_mbox_clrx_s           cn68xxp1;
9724232812Sjmallett	struct cvmx_ciu_mbox_clrx_s           cnf71xx;
9725215976Sjmallett};
9726215976Sjmalletttypedef union cvmx_ciu_mbox_clrx cvmx_ciu_mbox_clrx_t;
9727215976Sjmallett
9728215976Sjmallett/**
9729215976Sjmallett * cvmx_ciu_mbox_set#
9730215976Sjmallett */
9731232812Sjmallettunion cvmx_ciu_mbox_setx {
9732215976Sjmallett	uint64_t u64;
9733232812Sjmallett	struct cvmx_ciu_mbox_setx_s {
9734232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
9735215976Sjmallett	uint64_t reserved_32_63               : 32;
9736215976Sjmallett	uint64_t bits                         : 32; /**< On writes, set corresponding bit in MBOX register
9737215976Sjmallett                                                         on reads, return the MBOX register */
9738215976Sjmallett#else
9739215976Sjmallett	uint64_t bits                         : 32;
9740215976Sjmallett	uint64_t reserved_32_63               : 32;
9741215976Sjmallett#endif
9742215976Sjmallett	} s;
9743215976Sjmallett	struct cvmx_ciu_mbox_setx_s           cn30xx;
9744215976Sjmallett	struct cvmx_ciu_mbox_setx_s           cn31xx;
9745215976Sjmallett	struct cvmx_ciu_mbox_setx_s           cn38xx;
9746215976Sjmallett	struct cvmx_ciu_mbox_setx_s           cn38xxp2;
9747215976Sjmallett	struct cvmx_ciu_mbox_setx_s           cn50xx;
9748215976Sjmallett	struct cvmx_ciu_mbox_setx_s           cn52xx;
9749215976Sjmallett	struct cvmx_ciu_mbox_setx_s           cn52xxp1;
9750215976Sjmallett	struct cvmx_ciu_mbox_setx_s           cn56xx;
9751215976Sjmallett	struct cvmx_ciu_mbox_setx_s           cn56xxp1;
9752215976Sjmallett	struct cvmx_ciu_mbox_setx_s           cn58xx;
9753215976Sjmallett	struct cvmx_ciu_mbox_setx_s           cn58xxp1;
9754232812Sjmallett	struct cvmx_ciu_mbox_setx_s           cn61xx;
9755215976Sjmallett	struct cvmx_ciu_mbox_setx_s           cn63xx;
9756215976Sjmallett	struct cvmx_ciu_mbox_setx_s           cn63xxp1;
9757232812Sjmallett	struct cvmx_ciu_mbox_setx_s           cn66xx;
9758232812Sjmallett	struct cvmx_ciu_mbox_setx_s           cn68xx;
9759232812Sjmallett	struct cvmx_ciu_mbox_setx_s           cn68xxp1;
9760232812Sjmallett	struct cvmx_ciu_mbox_setx_s           cnf71xx;
9761215976Sjmallett};
9762215976Sjmalletttypedef union cvmx_ciu_mbox_setx cvmx_ciu_mbox_setx_t;
9763215976Sjmallett
9764215976Sjmallett/**
9765215976Sjmallett * cvmx_ciu_nmi
9766215976Sjmallett */
9767232812Sjmallettunion cvmx_ciu_nmi {
9768215976Sjmallett	uint64_t u64;
9769232812Sjmallett	struct cvmx_ciu_nmi_s {
9770232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
9771232812Sjmallett	uint64_t reserved_32_63               : 32;
9772232812Sjmallett	uint64_t nmi                          : 32; /**< Send NMI pulse to PP vector */
9773215976Sjmallett#else
9774232812Sjmallett	uint64_t nmi                          : 32;
9775232812Sjmallett	uint64_t reserved_32_63               : 32;
9776215976Sjmallett#endif
9777215976Sjmallett	} s;
9778232812Sjmallett	struct cvmx_ciu_nmi_cn30xx {
9779232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
9780215976Sjmallett	uint64_t reserved_1_63                : 63;
9781215976Sjmallett	uint64_t nmi                          : 1;  /**< Send NMI pulse to PP vector */
9782215976Sjmallett#else
9783215976Sjmallett	uint64_t nmi                          : 1;
9784215976Sjmallett	uint64_t reserved_1_63                : 63;
9785215976Sjmallett#endif
9786215976Sjmallett	} cn30xx;
9787232812Sjmallett	struct cvmx_ciu_nmi_cn31xx {
9788232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
9789215976Sjmallett	uint64_t reserved_2_63                : 62;
9790215976Sjmallett	uint64_t nmi                          : 2;  /**< Send NMI pulse to PP vector */
9791215976Sjmallett#else
9792215976Sjmallett	uint64_t nmi                          : 2;
9793215976Sjmallett	uint64_t reserved_2_63                : 62;
9794215976Sjmallett#endif
9795215976Sjmallett	} cn31xx;
9796232812Sjmallett	struct cvmx_ciu_nmi_cn38xx {
9797232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
9798232812Sjmallett	uint64_t reserved_16_63               : 48;
9799232812Sjmallett	uint64_t nmi                          : 16; /**< Send NMI pulse to PP vector */
9800232812Sjmallett#else
9801232812Sjmallett	uint64_t nmi                          : 16;
9802232812Sjmallett	uint64_t reserved_16_63               : 48;
9803232812Sjmallett#endif
9804232812Sjmallett	} cn38xx;
9805232812Sjmallett	struct cvmx_ciu_nmi_cn38xx            cn38xxp2;
9806215976Sjmallett	struct cvmx_ciu_nmi_cn31xx            cn50xx;
9807232812Sjmallett	struct cvmx_ciu_nmi_cn52xx {
9808232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
9809215976Sjmallett	uint64_t reserved_4_63                : 60;
9810215976Sjmallett	uint64_t nmi                          : 4;  /**< Send NMI pulse to PP vector */
9811215976Sjmallett#else
9812215976Sjmallett	uint64_t nmi                          : 4;
9813215976Sjmallett	uint64_t reserved_4_63                : 60;
9814215976Sjmallett#endif
9815215976Sjmallett	} cn52xx;
9816215976Sjmallett	struct cvmx_ciu_nmi_cn52xx            cn52xxp1;
9817232812Sjmallett	struct cvmx_ciu_nmi_cn56xx {
9818232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
9819215976Sjmallett	uint64_t reserved_12_63               : 52;
9820215976Sjmallett	uint64_t nmi                          : 12; /**< Send NMI pulse to PP vector */
9821215976Sjmallett#else
9822215976Sjmallett	uint64_t nmi                          : 12;
9823215976Sjmallett	uint64_t reserved_12_63               : 52;
9824215976Sjmallett#endif
9825215976Sjmallett	} cn56xx;
9826215976Sjmallett	struct cvmx_ciu_nmi_cn56xx            cn56xxp1;
9827232812Sjmallett	struct cvmx_ciu_nmi_cn38xx            cn58xx;
9828232812Sjmallett	struct cvmx_ciu_nmi_cn38xx            cn58xxp1;
9829232812Sjmallett	struct cvmx_ciu_nmi_cn52xx            cn61xx;
9830232812Sjmallett	struct cvmx_ciu_nmi_cn63xx {
9831232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
9832215976Sjmallett	uint64_t reserved_6_63                : 58;
9833215976Sjmallett	uint64_t nmi                          : 6;  /**< Send NMI pulse to PP vector */
9834215976Sjmallett#else
9835215976Sjmallett	uint64_t nmi                          : 6;
9836215976Sjmallett	uint64_t reserved_6_63                : 58;
9837215976Sjmallett#endif
9838215976Sjmallett	} cn63xx;
9839215976Sjmallett	struct cvmx_ciu_nmi_cn63xx            cn63xxp1;
9840232812Sjmallett	struct cvmx_ciu_nmi_cn66xx {
9841232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
9842232812Sjmallett	uint64_t reserved_10_63               : 54;
9843232812Sjmallett	uint64_t nmi                          : 10; /**< Send NMI pulse to PP vector */
9844232812Sjmallett#else
9845232812Sjmallett	uint64_t nmi                          : 10;
9846232812Sjmallett	uint64_t reserved_10_63               : 54;
9847232812Sjmallett#endif
9848232812Sjmallett	} cn66xx;
9849232812Sjmallett	struct cvmx_ciu_nmi_s                 cn68xx;
9850232812Sjmallett	struct cvmx_ciu_nmi_s                 cn68xxp1;
9851232812Sjmallett	struct cvmx_ciu_nmi_cn52xx            cnf71xx;
9852215976Sjmallett};
9853215976Sjmalletttypedef union cvmx_ciu_nmi cvmx_ciu_nmi_t;
9854215976Sjmallett
9855215976Sjmallett/**
9856215976Sjmallett * cvmx_ciu_pci_inta
9857215976Sjmallett */
9858232812Sjmallettunion cvmx_ciu_pci_inta {
9859215976Sjmallett	uint64_t u64;
9860232812Sjmallett	struct cvmx_ciu_pci_inta_s {
9861232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
9862215976Sjmallett	uint64_t reserved_2_63                : 62;
9863232812Sjmallett	uint64_t intr                         : 2;  /**< PCIe interrupt
9864215976Sjmallett                                                         These bits are observed in CIU_INTX_SUM0<33:32>
9865215976Sjmallett                                                         where X=32-33 */
9866215976Sjmallett#else
9867215976Sjmallett	uint64_t intr                         : 2;
9868215976Sjmallett	uint64_t reserved_2_63                : 62;
9869215976Sjmallett#endif
9870215976Sjmallett	} s;
9871215976Sjmallett	struct cvmx_ciu_pci_inta_s            cn30xx;
9872215976Sjmallett	struct cvmx_ciu_pci_inta_s            cn31xx;
9873215976Sjmallett	struct cvmx_ciu_pci_inta_s            cn38xx;
9874215976Sjmallett	struct cvmx_ciu_pci_inta_s            cn38xxp2;
9875215976Sjmallett	struct cvmx_ciu_pci_inta_s            cn50xx;
9876215976Sjmallett	struct cvmx_ciu_pci_inta_s            cn52xx;
9877215976Sjmallett	struct cvmx_ciu_pci_inta_s            cn52xxp1;
9878215976Sjmallett	struct cvmx_ciu_pci_inta_s            cn56xx;
9879215976Sjmallett	struct cvmx_ciu_pci_inta_s            cn56xxp1;
9880215976Sjmallett	struct cvmx_ciu_pci_inta_s            cn58xx;
9881215976Sjmallett	struct cvmx_ciu_pci_inta_s            cn58xxp1;
9882232812Sjmallett	struct cvmx_ciu_pci_inta_s            cn61xx;
9883215976Sjmallett	struct cvmx_ciu_pci_inta_s            cn63xx;
9884215976Sjmallett	struct cvmx_ciu_pci_inta_s            cn63xxp1;
9885232812Sjmallett	struct cvmx_ciu_pci_inta_s            cn66xx;
9886232812Sjmallett	struct cvmx_ciu_pci_inta_s            cn68xx;
9887232812Sjmallett	struct cvmx_ciu_pci_inta_s            cn68xxp1;
9888232812Sjmallett	struct cvmx_ciu_pci_inta_s            cnf71xx;
9889215976Sjmallett};
9890215976Sjmalletttypedef union cvmx_ciu_pci_inta cvmx_ciu_pci_inta_t;
9891215976Sjmallett
9892215976Sjmallett/**
9893232812Sjmallett * cvmx_ciu_pp_bist_stat
9894232812Sjmallett */
9895232812Sjmallettunion cvmx_ciu_pp_bist_stat {
9896232812Sjmallett	uint64_t u64;
9897232812Sjmallett	struct cvmx_ciu_pp_bist_stat_s {
9898232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
9899232812Sjmallett	uint64_t reserved_32_63               : 32;
9900232812Sjmallett	uint64_t pp_bist                      : 32; /**< Physical PP BIST status */
9901232812Sjmallett#else
9902232812Sjmallett	uint64_t pp_bist                      : 32;
9903232812Sjmallett	uint64_t reserved_32_63               : 32;
9904232812Sjmallett#endif
9905232812Sjmallett	} s;
9906232812Sjmallett	struct cvmx_ciu_pp_bist_stat_s        cn68xx;
9907232812Sjmallett	struct cvmx_ciu_pp_bist_stat_s        cn68xxp1;
9908232812Sjmallett};
9909232812Sjmalletttypedef union cvmx_ciu_pp_bist_stat cvmx_ciu_pp_bist_stat_t;
9910232812Sjmallett
9911232812Sjmallett/**
9912215976Sjmallett * cvmx_ciu_pp_dbg
9913215976Sjmallett */
9914232812Sjmallettunion cvmx_ciu_pp_dbg {
9915215976Sjmallett	uint64_t u64;
9916232812Sjmallett	struct cvmx_ciu_pp_dbg_s {
9917232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
9918232812Sjmallett	uint64_t reserved_32_63               : 32;
9919232812Sjmallett	uint64_t ppdbg                        : 32; /**< Debug[DM] value for each PP
9920215976Sjmallett                                                         whether the PP's are in debug mode or not */
9921215976Sjmallett#else
9922232812Sjmallett	uint64_t ppdbg                        : 32;
9923232812Sjmallett	uint64_t reserved_32_63               : 32;
9924215976Sjmallett#endif
9925215976Sjmallett	} s;
9926232812Sjmallett	struct cvmx_ciu_pp_dbg_cn30xx {
9927232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
9928215976Sjmallett	uint64_t reserved_1_63                : 63;
9929215976Sjmallett	uint64_t ppdbg                        : 1;  /**< Debug[DM] value for each PP
9930215976Sjmallett                                                         whether the PP's are in debug mode or not */
9931215976Sjmallett#else
9932215976Sjmallett	uint64_t ppdbg                        : 1;
9933215976Sjmallett	uint64_t reserved_1_63                : 63;
9934215976Sjmallett#endif
9935215976Sjmallett	} cn30xx;
9936232812Sjmallett	struct cvmx_ciu_pp_dbg_cn31xx {
9937232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
9938215976Sjmallett	uint64_t reserved_2_63                : 62;
9939215976Sjmallett	uint64_t ppdbg                        : 2;  /**< Debug[DM] value for each PP
9940215976Sjmallett                                                         whether the PP's are in debug mode or not */
9941215976Sjmallett#else
9942215976Sjmallett	uint64_t ppdbg                        : 2;
9943215976Sjmallett	uint64_t reserved_2_63                : 62;
9944215976Sjmallett#endif
9945215976Sjmallett	} cn31xx;
9946232812Sjmallett	struct cvmx_ciu_pp_dbg_cn38xx {
9947232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
9948232812Sjmallett	uint64_t reserved_16_63               : 48;
9949232812Sjmallett	uint64_t ppdbg                        : 16; /**< Debug[DM] value for each PP
9950232812Sjmallett                                                         whether the PP's are in debug mode or not */
9951232812Sjmallett#else
9952232812Sjmallett	uint64_t ppdbg                        : 16;
9953232812Sjmallett	uint64_t reserved_16_63               : 48;
9954232812Sjmallett#endif
9955232812Sjmallett	} cn38xx;
9956232812Sjmallett	struct cvmx_ciu_pp_dbg_cn38xx         cn38xxp2;
9957215976Sjmallett	struct cvmx_ciu_pp_dbg_cn31xx         cn50xx;
9958232812Sjmallett	struct cvmx_ciu_pp_dbg_cn52xx {
9959232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
9960215976Sjmallett	uint64_t reserved_4_63                : 60;
9961215976Sjmallett	uint64_t ppdbg                        : 4;  /**< Debug[DM] value for each PP
9962215976Sjmallett                                                         whether the PP's are in debug mode or not */
9963215976Sjmallett#else
9964215976Sjmallett	uint64_t ppdbg                        : 4;
9965215976Sjmallett	uint64_t reserved_4_63                : 60;
9966215976Sjmallett#endif
9967215976Sjmallett	} cn52xx;
9968215976Sjmallett	struct cvmx_ciu_pp_dbg_cn52xx         cn52xxp1;
9969232812Sjmallett	struct cvmx_ciu_pp_dbg_cn56xx {
9970232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
9971215976Sjmallett	uint64_t reserved_12_63               : 52;
9972215976Sjmallett	uint64_t ppdbg                        : 12; /**< Debug[DM] value for each PP
9973215976Sjmallett                                                         whether the PP's are in debug mode or not */
9974215976Sjmallett#else
9975215976Sjmallett	uint64_t ppdbg                        : 12;
9976215976Sjmallett	uint64_t reserved_12_63               : 52;
9977215976Sjmallett#endif
9978215976Sjmallett	} cn56xx;
9979215976Sjmallett	struct cvmx_ciu_pp_dbg_cn56xx         cn56xxp1;
9980232812Sjmallett	struct cvmx_ciu_pp_dbg_cn38xx         cn58xx;
9981232812Sjmallett	struct cvmx_ciu_pp_dbg_cn38xx         cn58xxp1;
9982232812Sjmallett	struct cvmx_ciu_pp_dbg_cn52xx         cn61xx;
9983232812Sjmallett	struct cvmx_ciu_pp_dbg_cn63xx {
9984232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
9985215976Sjmallett	uint64_t reserved_6_63                : 58;
9986215976Sjmallett	uint64_t ppdbg                        : 6;  /**< Debug[DM] value for each PP
9987215976Sjmallett                                                         whether the PP's are in debug mode or not */
9988215976Sjmallett#else
9989215976Sjmallett	uint64_t ppdbg                        : 6;
9990215976Sjmallett	uint64_t reserved_6_63                : 58;
9991215976Sjmallett#endif
9992215976Sjmallett	} cn63xx;
9993215976Sjmallett	struct cvmx_ciu_pp_dbg_cn63xx         cn63xxp1;
9994232812Sjmallett	struct cvmx_ciu_pp_dbg_cn66xx {
9995232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
9996232812Sjmallett	uint64_t reserved_10_63               : 54;
9997232812Sjmallett	uint64_t ppdbg                        : 10; /**< Debug[DM] value for each PP
9998232812Sjmallett                                                         whether the PP's are in debug mode or not */
9999232812Sjmallett#else
10000232812Sjmallett	uint64_t ppdbg                        : 10;
10001232812Sjmallett	uint64_t reserved_10_63               : 54;
10002232812Sjmallett#endif
10003232812Sjmallett	} cn66xx;
10004232812Sjmallett	struct cvmx_ciu_pp_dbg_s              cn68xx;
10005232812Sjmallett	struct cvmx_ciu_pp_dbg_s              cn68xxp1;
10006232812Sjmallett	struct cvmx_ciu_pp_dbg_cn52xx         cnf71xx;
10007215976Sjmallett};
10008215976Sjmalletttypedef union cvmx_ciu_pp_dbg cvmx_ciu_pp_dbg_t;
10009215976Sjmallett
10010215976Sjmallett/**
10011215976Sjmallett * cvmx_ciu_pp_poke#
10012215976Sjmallett *
10013215976Sjmallett * Notes:
10014215976Sjmallett * Any write to a CIU_PP_POKE register clears any pending interrupt generated
10015215976Sjmallett * by the associated watchdog, resets the CIU_WDOG[STATE] field, and set
10016215976Sjmallett * CIU_WDOG[CNT] to be (CIU_WDOG[LEN] << 8).
10017215976Sjmallett *
10018215976Sjmallett * Reads to this register will return the associated CIU_WDOG register.
10019215976Sjmallett */
10020232812Sjmallettunion cvmx_ciu_pp_pokex {
10021215976Sjmallett	uint64_t u64;
10022232812Sjmallett	struct cvmx_ciu_pp_pokex_s {
10023232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
10024215976Sjmallett	uint64_t poke                         : 64; /**< Reserved */
10025215976Sjmallett#else
10026215976Sjmallett	uint64_t poke                         : 64;
10027215976Sjmallett#endif
10028215976Sjmallett	} s;
10029215976Sjmallett	struct cvmx_ciu_pp_pokex_s            cn30xx;
10030215976Sjmallett	struct cvmx_ciu_pp_pokex_s            cn31xx;
10031215976Sjmallett	struct cvmx_ciu_pp_pokex_s            cn38xx;
10032215976Sjmallett	struct cvmx_ciu_pp_pokex_s            cn38xxp2;
10033215976Sjmallett	struct cvmx_ciu_pp_pokex_s            cn50xx;
10034215976Sjmallett	struct cvmx_ciu_pp_pokex_s            cn52xx;
10035215976Sjmallett	struct cvmx_ciu_pp_pokex_s            cn52xxp1;
10036215976Sjmallett	struct cvmx_ciu_pp_pokex_s            cn56xx;
10037215976Sjmallett	struct cvmx_ciu_pp_pokex_s            cn56xxp1;
10038215976Sjmallett	struct cvmx_ciu_pp_pokex_s            cn58xx;
10039215976Sjmallett	struct cvmx_ciu_pp_pokex_s            cn58xxp1;
10040232812Sjmallett	struct cvmx_ciu_pp_pokex_s            cn61xx;
10041215976Sjmallett	struct cvmx_ciu_pp_pokex_s            cn63xx;
10042215976Sjmallett	struct cvmx_ciu_pp_pokex_s            cn63xxp1;
10043232812Sjmallett	struct cvmx_ciu_pp_pokex_s            cn66xx;
10044232812Sjmallett	struct cvmx_ciu_pp_pokex_s            cn68xx;
10045232812Sjmallett	struct cvmx_ciu_pp_pokex_s            cn68xxp1;
10046232812Sjmallett	struct cvmx_ciu_pp_pokex_s            cnf71xx;
10047215976Sjmallett};
10048215976Sjmalletttypedef union cvmx_ciu_pp_pokex cvmx_ciu_pp_pokex_t;
10049215976Sjmallett
10050215976Sjmallett/**
10051215976Sjmallett * cvmx_ciu_pp_rst
10052215976Sjmallett *
10053215976Sjmallett * Contains the reset control for each PP.  Value of '1' will hold a PP in reset, '0' will release.
10054232812Sjmallett * Resets to 0xf when PCI boot is enabled, 0xe otherwise.
10055215976Sjmallett */
10056232812Sjmallettunion cvmx_ciu_pp_rst {
10057215976Sjmallett	uint64_t u64;
10058232812Sjmallett	struct cvmx_ciu_pp_rst_s {
10059232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
10060232812Sjmallett	uint64_t reserved_32_63               : 32;
10061232812Sjmallett	uint64_t rst                          : 31; /**< PP Rst for PP's 3-1 */
10062215976Sjmallett	uint64_t rst0                         : 1;  /**< PP Rst for PP0
10063215976Sjmallett                                                         depends on standalone mode */
10064215976Sjmallett#else
10065215976Sjmallett	uint64_t rst0                         : 1;
10066232812Sjmallett	uint64_t rst                          : 31;
10067232812Sjmallett	uint64_t reserved_32_63               : 32;
10068215976Sjmallett#endif
10069215976Sjmallett	} s;
10070232812Sjmallett	struct cvmx_ciu_pp_rst_cn30xx {
10071232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
10072215976Sjmallett	uint64_t reserved_1_63                : 63;
10073215976Sjmallett	uint64_t rst0                         : 1;  /**< PP Rst for PP0
10074215976Sjmallett                                                         depends on standalone mode */
10075215976Sjmallett#else
10076215976Sjmallett	uint64_t rst0                         : 1;
10077215976Sjmallett	uint64_t reserved_1_63                : 63;
10078215976Sjmallett#endif
10079215976Sjmallett	} cn30xx;
10080232812Sjmallett	struct cvmx_ciu_pp_rst_cn31xx {
10081232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
10082215976Sjmallett	uint64_t reserved_2_63                : 62;
10083215976Sjmallett	uint64_t rst                          : 1;  /**< PP Rst for PP1 */
10084215976Sjmallett	uint64_t rst0                         : 1;  /**< PP Rst for PP0
10085215976Sjmallett                                                         depends on standalone mode */
10086215976Sjmallett#else
10087215976Sjmallett	uint64_t rst0                         : 1;
10088215976Sjmallett	uint64_t rst                          : 1;
10089215976Sjmallett	uint64_t reserved_2_63                : 62;
10090215976Sjmallett#endif
10091215976Sjmallett	} cn31xx;
10092232812Sjmallett	struct cvmx_ciu_pp_rst_cn38xx {
10093232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
10094232812Sjmallett	uint64_t reserved_16_63               : 48;
10095232812Sjmallett	uint64_t rst                          : 15; /**< PP Rst for PP's 15-1 */
10096232812Sjmallett	uint64_t rst0                         : 1;  /**< PP Rst for PP0
10097232812Sjmallett                                                         depends on standalone mode */
10098232812Sjmallett#else
10099232812Sjmallett	uint64_t rst0                         : 1;
10100232812Sjmallett	uint64_t rst                          : 15;
10101232812Sjmallett	uint64_t reserved_16_63               : 48;
10102232812Sjmallett#endif
10103232812Sjmallett	} cn38xx;
10104232812Sjmallett	struct cvmx_ciu_pp_rst_cn38xx         cn38xxp2;
10105215976Sjmallett	struct cvmx_ciu_pp_rst_cn31xx         cn50xx;
10106232812Sjmallett	struct cvmx_ciu_pp_rst_cn52xx {
10107232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
10108215976Sjmallett	uint64_t reserved_4_63                : 60;
10109215976Sjmallett	uint64_t rst                          : 3;  /**< PP Rst for PP's 11-1 */
10110215976Sjmallett	uint64_t rst0                         : 1;  /**< PP Rst for PP0
10111215976Sjmallett                                                         depends on standalone mode */
10112215976Sjmallett#else
10113215976Sjmallett	uint64_t rst0                         : 1;
10114215976Sjmallett	uint64_t rst                          : 3;
10115215976Sjmallett	uint64_t reserved_4_63                : 60;
10116215976Sjmallett#endif
10117215976Sjmallett	} cn52xx;
10118215976Sjmallett	struct cvmx_ciu_pp_rst_cn52xx         cn52xxp1;
10119232812Sjmallett	struct cvmx_ciu_pp_rst_cn56xx {
10120232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
10121215976Sjmallett	uint64_t reserved_12_63               : 52;
10122215976Sjmallett	uint64_t rst                          : 11; /**< PP Rst for PP's 11-1 */
10123215976Sjmallett	uint64_t rst0                         : 1;  /**< PP Rst for PP0
10124215976Sjmallett                                                         depends on standalone mode */
10125215976Sjmallett#else
10126215976Sjmallett	uint64_t rst0                         : 1;
10127215976Sjmallett	uint64_t rst                          : 11;
10128215976Sjmallett	uint64_t reserved_12_63               : 52;
10129215976Sjmallett#endif
10130215976Sjmallett	} cn56xx;
10131215976Sjmallett	struct cvmx_ciu_pp_rst_cn56xx         cn56xxp1;
10132232812Sjmallett	struct cvmx_ciu_pp_rst_cn38xx         cn58xx;
10133232812Sjmallett	struct cvmx_ciu_pp_rst_cn38xx         cn58xxp1;
10134232812Sjmallett	struct cvmx_ciu_pp_rst_cn52xx         cn61xx;
10135232812Sjmallett	struct cvmx_ciu_pp_rst_cn63xx {
10136232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
10137215976Sjmallett	uint64_t reserved_6_63                : 58;
10138215976Sjmallett	uint64_t rst                          : 5;  /**< PP Rst for PP's 5-1 */
10139215976Sjmallett	uint64_t rst0                         : 1;  /**< PP Rst for PP0
10140215976Sjmallett                                                         depends on standalone mode */
10141215976Sjmallett#else
10142215976Sjmallett	uint64_t rst0                         : 1;
10143215976Sjmallett	uint64_t rst                          : 5;
10144215976Sjmallett	uint64_t reserved_6_63                : 58;
10145215976Sjmallett#endif
10146215976Sjmallett	} cn63xx;
10147215976Sjmallett	struct cvmx_ciu_pp_rst_cn63xx         cn63xxp1;
10148232812Sjmallett	struct cvmx_ciu_pp_rst_cn66xx {
10149232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
10150232812Sjmallett	uint64_t reserved_10_63               : 54;
10151232812Sjmallett	uint64_t rst                          : 9;  /**< PP Rst for PP's 9-1 */
10152232812Sjmallett	uint64_t rst0                         : 1;  /**< PP Rst for PP0
10153232812Sjmallett                                                         depends on standalone mode */
10154232812Sjmallett#else
10155232812Sjmallett	uint64_t rst0                         : 1;
10156232812Sjmallett	uint64_t rst                          : 9;
10157232812Sjmallett	uint64_t reserved_10_63               : 54;
10158232812Sjmallett#endif
10159232812Sjmallett	} cn66xx;
10160232812Sjmallett	struct cvmx_ciu_pp_rst_s              cn68xx;
10161232812Sjmallett	struct cvmx_ciu_pp_rst_s              cn68xxp1;
10162232812Sjmallett	struct cvmx_ciu_pp_rst_cn52xx         cnf71xx;
10163215976Sjmallett};
10164215976Sjmalletttypedef union cvmx_ciu_pp_rst cvmx_ciu_pp_rst_t;
10165215976Sjmallett
10166215976Sjmallett/**
10167215976Sjmallett * cvmx_ciu_qlm0
10168215976Sjmallett *
10169215976Sjmallett * Notes:
10170215976Sjmallett * This register is only reset by cold reset.
10171215976Sjmallett *
10172215976Sjmallett */
10173232812Sjmallettunion cvmx_ciu_qlm0 {
10174215976Sjmallett	uint64_t u64;
10175232812Sjmallett	struct cvmx_ciu_qlm0_s {
10176232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
10177215976Sjmallett	uint64_t g2bypass                     : 1;  /**< QLM0 PCIE Gen2 tx bypass enable */
10178215976Sjmallett	uint64_t reserved_53_62               : 10;
10179215976Sjmallett	uint64_t g2deemph                     : 5;  /**< QLM0 PCIE Gen2 tx bypass de-emphasis value */
10180215976Sjmallett	uint64_t reserved_45_47               : 3;
10181215976Sjmallett	uint64_t g2margin                     : 5;  /**< QLM0 PCIE Gen2 tx bypass margin (amplitude) value */
10182215976Sjmallett	uint64_t reserved_32_39               : 8;
10183215976Sjmallett	uint64_t txbypass                     : 1;  /**< QLM0 transmitter bypass enable */
10184215976Sjmallett	uint64_t reserved_21_30               : 10;
10185215976Sjmallett	uint64_t txdeemph                     : 5;  /**< QLM0 transmitter bypass de-emphasis value */
10186215976Sjmallett	uint64_t reserved_13_15               : 3;
10187215976Sjmallett	uint64_t txmargin                     : 5;  /**< QLM0 transmitter bypass margin (amplitude) value */
10188215976Sjmallett	uint64_t reserved_4_7                 : 4;
10189215976Sjmallett	uint64_t lane_en                      : 4;  /**< QLM0 lane enable mask */
10190215976Sjmallett#else
10191215976Sjmallett	uint64_t lane_en                      : 4;
10192215976Sjmallett	uint64_t reserved_4_7                 : 4;
10193215976Sjmallett	uint64_t txmargin                     : 5;
10194215976Sjmallett	uint64_t reserved_13_15               : 3;
10195215976Sjmallett	uint64_t txdeemph                     : 5;
10196215976Sjmallett	uint64_t reserved_21_30               : 10;
10197215976Sjmallett	uint64_t txbypass                     : 1;
10198215976Sjmallett	uint64_t reserved_32_39               : 8;
10199215976Sjmallett	uint64_t g2margin                     : 5;
10200215976Sjmallett	uint64_t reserved_45_47               : 3;
10201215976Sjmallett	uint64_t g2deemph                     : 5;
10202215976Sjmallett	uint64_t reserved_53_62               : 10;
10203215976Sjmallett	uint64_t g2bypass                     : 1;
10204215976Sjmallett#endif
10205215976Sjmallett	} s;
10206232812Sjmallett	struct cvmx_ciu_qlm0_s                cn61xx;
10207215976Sjmallett	struct cvmx_ciu_qlm0_s                cn63xx;
10208232812Sjmallett	struct cvmx_ciu_qlm0_cn63xxp1 {
10209232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
10210215976Sjmallett	uint64_t reserved_32_63               : 32;
10211215976Sjmallett	uint64_t txbypass                     : 1;  /**< QLM0 transmitter bypass enable */
10212215976Sjmallett	uint64_t reserved_20_30               : 11;
10213215976Sjmallett	uint64_t txdeemph                     : 4;  /**< QLM0 transmitter bypass de-emphasis value */
10214215976Sjmallett	uint64_t reserved_13_15               : 3;
10215215976Sjmallett	uint64_t txmargin                     : 5;  /**< QLM0 transmitter bypass margin (amplitude) value */
10216215976Sjmallett	uint64_t reserved_4_7                 : 4;
10217215976Sjmallett	uint64_t lane_en                      : 4;  /**< QLM0 lane enable mask */
10218215976Sjmallett#else
10219215976Sjmallett	uint64_t lane_en                      : 4;
10220215976Sjmallett	uint64_t reserved_4_7                 : 4;
10221215976Sjmallett	uint64_t txmargin                     : 5;
10222215976Sjmallett	uint64_t reserved_13_15               : 3;
10223215976Sjmallett	uint64_t txdeemph                     : 4;
10224215976Sjmallett	uint64_t reserved_20_30               : 11;
10225215976Sjmallett	uint64_t txbypass                     : 1;
10226215976Sjmallett	uint64_t reserved_32_63               : 32;
10227215976Sjmallett#endif
10228215976Sjmallett	} cn63xxp1;
10229232812Sjmallett	struct cvmx_ciu_qlm0_s                cn66xx;
10230232812Sjmallett	struct cvmx_ciu_qlm0_cn68xx {
10231232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
10232232812Sjmallett	uint64_t reserved_32_63               : 32;
10233232812Sjmallett	uint64_t txbypass                     : 1;  /**< QLMx transmitter bypass enable */
10234232812Sjmallett	uint64_t reserved_21_30               : 10;
10235232812Sjmallett	uint64_t txdeemph                     : 5;  /**< QLMx transmitter bypass de-emphasis value */
10236232812Sjmallett	uint64_t reserved_13_15               : 3;
10237232812Sjmallett	uint64_t txmargin                     : 5;  /**< QLMx transmitter bypass margin (amplitude) value */
10238232812Sjmallett	uint64_t reserved_4_7                 : 4;
10239232812Sjmallett	uint64_t lane_en                      : 4;  /**< QLMx lane enable mask */
10240232812Sjmallett#else
10241232812Sjmallett	uint64_t lane_en                      : 4;
10242232812Sjmallett	uint64_t reserved_4_7                 : 4;
10243232812Sjmallett	uint64_t txmargin                     : 5;
10244232812Sjmallett	uint64_t reserved_13_15               : 3;
10245232812Sjmallett	uint64_t txdeemph                     : 5;
10246232812Sjmallett	uint64_t reserved_21_30               : 10;
10247232812Sjmallett	uint64_t txbypass                     : 1;
10248232812Sjmallett	uint64_t reserved_32_63               : 32;
10249232812Sjmallett#endif
10250232812Sjmallett	} cn68xx;
10251232812Sjmallett	struct cvmx_ciu_qlm0_cn68xx           cn68xxp1;
10252232812Sjmallett	struct cvmx_ciu_qlm0_s                cnf71xx;
10253215976Sjmallett};
10254215976Sjmalletttypedef union cvmx_ciu_qlm0 cvmx_ciu_qlm0_t;
10255215976Sjmallett
10256215976Sjmallett/**
10257215976Sjmallett * cvmx_ciu_qlm1
10258215976Sjmallett *
10259215976Sjmallett * Notes:
10260215976Sjmallett * This register is only reset by cold reset.
10261215976Sjmallett *
10262215976Sjmallett */
10263232812Sjmallettunion cvmx_ciu_qlm1 {
10264215976Sjmallett	uint64_t u64;
10265232812Sjmallett	struct cvmx_ciu_qlm1_s {
10266232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
10267215976Sjmallett	uint64_t g2bypass                     : 1;  /**< QLM1 PCIE Gen2 tx bypass enable */
10268215976Sjmallett	uint64_t reserved_53_62               : 10;
10269215976Sjmallett	uint64_t g2deemph                     : 5;  /**< QLM1 PCIE Gen2 tx bypass de-emphasis value */
10270215976Sjmallett	uint64_t reserved_45_47               : 3;
10271215976Sjmallett	uint64_t g2margin                     : 5;  /**< QLM1 PCIE Gen2 tx bypass margin (amplitude) value */
10272215976Sjmallett	uint64_t reserved_32_39               : 8;
10273215976Sjmallett	uint64_t txbypass                     : 1;  /**< QLM1 transmitter bypass enable */
10274215976Sjmallett	uint64_t reserved_21_30               : 10;
10275215976Sjmallett	uint64_t txdeemph                     : 5;  /**< QLM1 transmitter bypass de-emphasis value */
10276215976Sjmallett	uint64_t reserved_13_15               : 3;
10277215976Sjmallett	uint64_t txmargin                     : 5;  /**< QLM1 transmitter bypass margin (amplitude) value */
10278215976Sjmallett	uint64_t reserved_4_7                 : 4;
10279215976Sjmallett	uint64_t lane_en                      : 4;  /**< QLM1 lane enable mask */
10280215976Sjmallett#else
10281215976Sjmallett	uint64_t lane_en                      : 4;
10282215976Sjmallett	uint64_t reserved_4_7                 : 4;
10283215976Sjmallett	uint64_t txmargin                     : 5;
10284215976Sjmallett	uint64_t reserved_13_15               : 3;
10285215976Sjmallett	uint64_t txdeemph                     : 5;
10286215976Sjmallett	uint64_t reserved_21_30               : 10;
10287215976Sjmallett	uint64_t txbypass                     : 1;
10288215976Sjmallett	uint64_t reserved_32_39               : 8;
10289215976Sjmallett	uint64_t g2margin                     : 5;
10290215976Sjmallett	uint64_t reserved_45_47               : 3;
10291215976Sjmallett	uint64_t g2deemph                     : 5;
10292215976Sjmallett	uint64_t reserved_53_62               : 10;
10293215976Sjmallett	uint64_t g2bypass                     : 1;
10294215976Sjmallett#endif
10295215976Sjmallett	} s;
10296232812Sjmallett	struct cvmx_ciu_qlm1_s                cn61xx;
10297215976Sjmallett	struct cvmx_ciu_qlm1_s                cn63xx;
10298232812Sjmallett	struct cvmx_ciu_qlm1_cn63xxp1 {
10299232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
10300215976Sjmallett	uint64_t reserved_32_63               : 32;
10301215976Sjmallett	uint64_t txbypass                     : 1;  /**< QLM1 transmitter bypass enable */
10302215976Sjmallett	uint64_t reserved_20_30               : 11;
10303215976Sjmallett	uint64_t txdeemph                     : 4;  /**< QLM1 transmitter bypass de-emphasis value */
10304215976Sjmallett	uint64_t reserved_13_15               : 3;
10305215976Sjmallett	uint64_t txmargin                     : 5;  /**< QLM1 transmitter bypass margin (amplitude) value */
10306215976Sjmallett	uint64_t reserved_4_7                 : 4;
10307215976Sjmallett	uint64_t lane_en                      : 4;  /**< QLM1 lane enable mask */
10308215976Sjmallett#else
10309215976Sjmallett	uint64_t lane_en                      : 4;
10310215976Sjmallett	uint64_t reserved_4_7                 : 4;
10311215976Sjmallett	uint64_t txmargin                     : 5;
10312215976Sjmallett	uint64_t reserved_13_15               : 3;
10313215976Sjmallett	uint64_t txdeemph                     : 4;
10314215976Sjmallett	uint64_t reserved_20_30               : 11;
10315215976Sjmallett	uint64_t txbypass                     : 1;
10316215976Sjmallett	uint64_t reserved_32_63               : 32;
10317215976Sjmallett#endif
10318215976Sjmallett	} cn63xxp1;
10319232812Sjmallett	struct cvmx_ciu_qlm1_s                cn66xx;
10320232812Sjmallett	struct cvmx_ciu_qlm1_s                cn68xx;
10321232812Sjmallett	struct cvmx_ciu_qlm1_s                cn68xxp1;
10322232812Sjmallett	struct cvmx_ciu_qlm1_s                cnf71xx;
10323215976Sjmallett};
10324215976Sjmalletttypedef union cvmx_ciu_qlm1 cvmx_ciu_qlm1_t;
10325215976Sjmallett
10326215976Sjmallett/**
10327215976Sjmallett * cvmx_ciu_qlm2
10328215976Sjmallett *
10329215976Sjmallett * Notes:
10330215976Sjmallett * This register is only reset by cold reset.
10331215976Sjmallett *
10332215976Sjmallett */
10333232812Sjmallettunion cvmx_ciu_qlm2 {
10334215976Sjmallett	uint64_t u64;
10335232812Sjmallett	struct cvmx_ciu_qlm2_s {
10336232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
10337232812Sjmallett	uint64_t g2bypass                     : 1;  /**< QLMx PCIE Gen2 tx bypass enable */
10338232812Sjmallett	uint64_t reserved_53_62               : 10;
10339232812Sjmallett	uint64_t g2deemph                     : 5;  /**< QLMx PCIE Gen2 tx bypass de-emphasis value */
10340232812Sjmallett	uint64_t reserved_45_47               : 3;
10341232812Sjmallett	uint64_t g2margin                     : 5;  /**< QLMx PCIE Gen2 tx bypass margin (amplitude) value */
10342232812Sjmallett	uint64_t reserved_32_39               : 8;
10343232812Sjmallett	uint64_t txbypass                     : 1;  /**< QLM2 transmitter bypass enable */
10344232812Sjmallett	uint64_t reserved_21_30               : 10;
10345232812Sjmallett	uint64_t txdeemph                     : 5;  /**< QLM2 transmitter bypass de-emphasis value */
10346232812Sjmallett	uint64_t reserved_13_15               : 3;
10347232812Sjmallett	uint64_t txmargin                     : 5;  /**< QLM2 transmitter bypass margin (amplitude) value */
10348232812Sjmallett	uint64_t reserved_4_7                 : 4;
10349232812Sjmallett	uint64_t lane_en                      : 4;  /**< QLM2 lane enable mask */
10350232812Sjmallett#else
10351232812Sjmallett	uint64_t lane_en                      : 4;
10352232812Sjmallett	uint64_t reserved_4_7                 : 4;
10353232812Sjmallett	uint64_t txmargin                     : 5;
10354232812Sjmallett	uint64_t reserved_13_15               : 3;
10355232812Sjmallett	uint64_t txdeemph                     : 5;
10356232812Sjmallett	uint64_t reserved_21_30               : 10;
10357232812Sjmallett	uint64_t txbypass                     : 1;
10358232812Sjmallett	uint64_t reserved_32_39               : 8;
10359232812Sjmallett	uint64_t g2margin                     : 5;
10360232812Sjmallett	uint64_t reserved_45_47               : 3;
10361232812Sjmallett	uint64_t g2deemph                     : 5;
10362232812Sjmallett	uint64_t reserved_53_62               : 10;
10363232812Sjmallett	uint64_t g2bypass                     : 1;
10364232812Sjmallett#endif
10365232812Sjmallett	} s;
10366232812Sjmallett	struct cvmx_ciu_qlm2_cn61xx {
10367232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
10368215976Sjmallett	uint64_t reserved_32_63               : 32;
10369215976Sjmallett	uint64_t txbypass                     : 1;  /**< QLM2 transmitter bypass enable */
10370215976Sjmallett	uint64_t reserved_21_30               : 10;
10371215976Sjmallett	uint64_t txdeemph                     : 5;  /**< QLM2 transmitter bypass de-emphasis value */
10372215976Sjmallett	uint64_t reserved_13_15               : 3;
10373215976Sjmallett	uint64_t txmargin                     : 5;  /**< QLM2 transmitter bypass margin (amplitude) value */
10374215976Sjmallett	uint64_t reserved_4_7                 : 4;
10375215976Sjmallett	uint64_t lane_en                      : 4;  /**< QLM2 lane enable mask */
10376215976Sjmallett#else
10377215976Sjmallett	uint64_t lane_en                      : 4;
10378215976Sjmallett	uint64_t reserved_4_7                 : 4;
10379215976Sjmallett	uint64_t txmargin                     : 5;
10380215976Sjmallett	uint64_t reserved_13_15               : 3;
10381215976Sjmallett	uint64_t txdeemph                     : 5;
10382215976Sjmallett	uint64_t reserved_21_30               : 10;
10383215976Sjmallett	uint64_t txbypass                     : 1;
10384215976Sjmallett	uint64_t reserved_32_63               : 32;
10385215976Sjmallett#endif
10386232812Sjmallett	} cn61xx;
10387232812Sjmallett	struct cvmx_ciu_qlm2_cn61xx           cn63xx;
10388232812Sjmallett	struct cvmx_ciu_qlm2_cn63xxp1 {
10389232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
10390215976Sjmallett	uint64_t reserved_32_63               : 32;
10391215976Sjmallett	uint64_t txbypass                     : 1;  /**< QLM2 transmitter bypass enable */
10392215976Sjmallett	uint64_t reserved_20_30               : 11;
10393215976Sjmallett	uint64_t txdeemph                     : 4;  /**< QLM2 transmitter bypass de-emphasis value */
10394215976Sjmallett	uint64_t reserved_13_15               : 3;
10395215976Sjmallett	uint64_t txmargin                     : 5;  /**< QLM2 transmitter bypass margin (amplitude) value */
10396215976Sjmallett	uint64_t reserved_4_7                 : 4;
10397215976Sjmallett	uint64_t lane_en                      : 4;  /**< QLM2 lane enable mask */
10398215976Sjmallett#else
10399215976Sjmallett	uint64_t lane_en                      : 4;
10400215976Sjmallett	uint64_t reserved_4_7                 : 4;
10401215976Sjmallett	uint64_t txmargin                     : 5;
10402215976Sjmallett	uint64_t reserved_13_15               : 3;
10403215976Sjmallett	uint64_t txdeemph                     : 4;
10404215976Sjmallett	uint64_t reserved_20_30               : 11;
10405215976Sjmallett	uint64_t txbypass                     : 1;
10406215976Sjmallett	uint64_t reserved_32_63               : 32;
10407215976Sjmallett#endif
10408215976Sjmallett	} cn63xxp1;
10409232812Sjmallett	struct cvmx_ciu_qlm2_cn61xx           cn66xx;
10410232812Sjmallett	struct cvmx_ciu_qlm2_s                cn68xx;
10411232812Sjmallett	struct cvmx_ciu_qlm2_s                cn68xxp1;
10412232812Sjmallett	struct cvmx_ciu_qlm2_cn61xx           cnf71xx;
10413215976Sjmallett};
10414215976Sjmalletttypedef union cvmx_ciu_qlm2 cvmx_ciu_qlm2_t;
10415215976Sjmallett
10416215976Sjmallett/**
10417232812Sjmallett * cvmx_ciu_qlm3
10418232812Sjmallett *
10419232812Sjmallett * Notes:
10420232812Sjmallett * This register is only reset by cold reset.
10421232812Sjmallett *
10422232812Sjmallett */
10423232812Sjmallettunion cvmx_ciu_qlm3 {
10424232812Sjmallett	uint64_t u64;
10425232812Sjmallett	struct cvmx_ciu_qlm3_s {
10426232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
10427232812Sjmallett	uint64_t g2bypass                     : 1;  /**< QLMx PCIE Gen2 tx bypass enable */
10428232812Sjmallett	uint64_t reserved_53_62               : 10;
10429232812Sjmallett	uint64_t g2deemph                     : 5;  /**< QLMx PCIE Gen2 tx bypass de-emphasis value */
10430232812Sjmallett	uint64_t reserved_45_47               : 3;
10431232812Sjmallett	uint64_t g2margin                     : 5;  /**< QLMx PCIE Gen2 tx bypass margin (amplitude) value */
10432232812Sjmallett	uint64_t reserved_32_39               : 8;
10433232812Sjmallett	uint64_t txbypass                     : 1;  /**< QLMx transmitter bypass enable */
10434232812Sjmallett	uint64_t reserved_21_30               : 10;
10435232812Sjmallett	uint64_t txdeemph                     : 5;  /**< QLMx transmitter bypass de-emphasis value */
10436232812Sjmallett	uint64_t reserved_13_15               : 3;
10437232812Sjmallett	uint64_t txmargin                     : 5;  /**< QLMx transmitter bypass margin (amplitude) value */
10438232812Sjmallett	uint64_t reserved_4_7                 : 4;
10439232812Sjmallett	uint64_t lane_en                      : 4;  /**< QLMx lane enable mask */
10440232812Sjmallett#else
10441232812Sjmallett	uint64_t lane_en                      : 4;
10442232812Sjmallett	uint64_t reserved_4_7                 : 4;
10443232812Sjmallett	uint64_t txmargin                     : 5;
10444232812Sjmallett	uint64_t reserved_13_15               : 3;
10445232812Sjmallett	uint64_t txdeemph                     : 5;
10446232812Sjmallett	uint64_t reserved_21_30               : 10;
10447232812Sjmallett	uint64_t txbypass                     : 1;
10448232812Sjmallett	uint64_t reserved_32_39               : 8;
10449232812Sjmallett	uint64_t g2margin                     : 5;
10450232812Sjmallett	uint64_t reserved_45_47               : 3;
10451232812Sjmallett	uint64_t g2deemph                     : 5;
10452232812Sjmallett	uint64_t reserved_53_62               : 10;
10453232812Sjmallett	uint64_t g2bypass                     : 1;
10454232812Sjmallett#endif
10455232812Sjmallett	} s;
10456232812Sjmallett	struct cvmx_ciu_qlm3_s                cn68xx;
10457232812Sjmallett	struct cvmx_ciu_qlm3_s                cn68xxp1;
10458232812Sjmallett};
10459232812Sjmalletttypedef union cvmx_ciu_qlm3 cvmx_ciu_qlm3_t;
10460232812Sjmallett
10461232812Sjmallett/**
10462232812Sjmallett * cvmx_ciu_qlm4
10463232812Sjmallett *
10464232812Sjmallett * Notes:
10465232812Sjmallett * This register is only reset by cold reset.
10466232812Sjmallett *
10467232812Sjmallett */
10468232812Sjmallettunion cvmx_ciu_qlm4 {
10469232812Sjmallett	uint64_t u64;
10470232812Sjmallett	struct cvmx_ciu_qlm4_s {
10471232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
10472232812Sjmallett	uint64_t g2bypass                     : 1;  /**< QLMx PCIE Gen2 tx bypass enable */
10473232812Sjmallett	uint64_t reserved_53_62               : 10;
10474232812Sjmallett	uint64_t g2deemph                     : 5;  /**< QLMx PCIE Gen2 tx bypass de-emphasis value */
10475232812Sjmallett	uint64_t reserved_45_47               : 3;
10476232812Sjmallett	uint64_t g2margin                     : 5;  /**< QLMx PCIE Gen2 tx bypass margin (amplitude) value */
10477232812Sjmallett	uint64_t reserved_32_39               : 8;
10478232812Sjmallett	uint64_t txbypass                     : 1;  /**< QLMx transmitter bypass enable */
10479232812Sjmallett	uint64_t reserved_21_30               : 10;
10480232812Sjmallett	uint64_t txdeemph                     : 5;  /**< QLMx transmitter bypass de-emphasis value */
10481232812Sjmallett	uint64_t reserved_13_15               : 3;
10482232812Sjmallett	uint64_t txmargin                     : 5;  /**< QLMx transmitter bypass margin (amplitude) value */
10483232812Sjmallett	uint64_t reserved_4_7                 : 4;
10484232812Sjmallett	uint64_t lane_en                      : 4;  /**< QLMx lane enable mask */
10485232812Sjmallett#else
10486232812Sjmallett	uint64_t lane_en                      : 4;
10487232812Sjmallett	uint64_t reserved_4_7                 : 4;
10488232812Sjmallett	uint64_t txmargin                     : 5;
10489232812Sjmallett	uint64_t reserved_13_15               : 3;
10490232812Sjmallett	uint64_t txdeemph                     : 5;
10491232812Sjmallett	uint64_t reserved_21_30               : 10;
10492232812Sjmallett	uint64_t txbypass                     : 1;
10493232812Sjmallett	uint64_t reserved_32_39               : 8;
10494232812Sjmallett	uint64_t g2margin                     : 5;
10495232812Sjmallett	uint64_t reserved_45_47               : 3;
10496232812Sjmallett	uint64_t g2deemph                     : 5;
10497232812Sjmallett	uint64_t reserved_53_62               : 10;
10498232812Sjmallett	uint64_t g2bypass                     : 1;
10499232812Sjmallett#endif
10500232812Sjmallett	} s;
10501232812Sjmallett	struct cvmx_ciu_qlm4_s                cn68xx;
10502232812Sjmallett	struct cvmx_ciu_qlm4_s                cn68xxp1;
10503232812Sjmallett};
10504232812Sjmalletttypedef union cvmx_ciu_qlm4 cvmx_ciu_qlm4_t;
10505232812Sjmallett
10506232812Sjmallett/**
10507215976Sjmallett * cvmx_ciu_qlm_dcok
10508215976Sjmallett */
10509232812Sjmallettunion cvmx_ciu_qlm_dcok {
10510215976Sjmallett	uint64_t u64;
10511232812Sjmallett	struct cvmx_ciu_qlm_dcok_s {
10512232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
10513215976Sjmallett	uint64_t reserved_4_63                : 60;
10514215976Sjmallett	uint64_t qlm_dcok                     : 4;  /**< Re-assert dcok for each QLM. The value in this
10515215976Sjmallett                                                         field is "anded" with the pll_dcok pin and then
10516215976Sjmallett                                                         sent to each QLM (0..3). */
10517215976Sjmallett#else
10518215976Sjmallett	uint64_t qlm_dcok                     : 4;
10519215976Sjmallett	uint64_t reserved_4_63                : 60;
10520215976Sjmallett#endif
10521215976Sjmallett	} s;
10522232812Sjmallett	struct cvmx_ciu_qlm_dcok_cn52xx {
10523232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
10524215976Sjmallett	uint64_t reserved_2_63                : 62;
10525215976Sjmallett	uint64_t qlm_dcok                     : 2;  /**< Re-assert dcok for each QLM. The value in this
10526215976Sjmallett                                                         field is "anded" with the pll_dcok pin and then
10527215976Sjmallett                                                         sent to each QLM (0..3). */
10528215976Sjmallett#else
10529215976Sjmallett	uint64_t qlm_dcok                     : 2;
10530215976Sjmallett	uint64_t reserved_2_63                : 62;
10531215976Sjmallett#endif
10532215976Sjmallett	} cn52xx;
10533215976Sjmallett	struct cvmx_ciu_qlm_dcok_cn52xx       cn52xxp1;
10534215976Sjmallett	struct cvmx_ciu_qlm_dcok_s            cn56xx;
10535215976Sjmallett	struct cvmx_ciu_qlm_dcok_s            cn56xxp1;
10536215976Sjmallett};
10537215976Sjmalletttypedef union cvmx_ciu_qlm_dcok cvmx_ciu_qlm_dcok_t;
10538215976Sjmallett
10539215976Sjmallett/**
10540215976Sjmallett * cvmx_ciu_qlm_jtgc
10541215976Sjmallett */
10542232812Sjmallettunion cvmx_ciu_qlm_jtgc {
10543215976Sjmallett	uint64_t u64;
10544232812Sjmallett	struct cvmx_ciu_qlm_jtgc_s {
10545232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
10546232812Sjmallett	uint64_t reserved_17_63               : 47;
10547232812Sjmallett	uint64_t bypass_ext                   : 1;  /**< BYPASS Field extension to select QLM 4
10548232812Sjmallett                                                         Selects which QLM JTAG shift chains are bypassed
10549232812Sjmallett                                                         by the QLM JTAG data register (CIU_QLM_JTGD) (one
10550232812Sjmallett                                                         bit per QLM) */
10551232812Sjmallett	uint64_t reserved_11_15               : 5;
10552215976Sjmallett	uint64_t clk_div                      : 3;  /**< Clock divider for QLM JTAG operations.  eclk is
10553215976Sjmallett                                                         divided by 2^(CLK_DIV + 2) */
10554232812Sjmallett	uint64_t reserved_7_7                 : 1;
10555232812Sjmallett	uint64_t mux_sel                      : 3;  /**< Selects which QLM JTAG shift out is shifted into
10556215976Sjmallett                                                         the QLM JTAG shift register: CIU_QLM_JTGD[SHFT_REG] */
10557215976Sjmallett	uint64_t bypass                       : 4;  /**< Selects which QLM JTAG shift chains are bypassed
10558215976Sjmallett                                                         by the QLM JTAG data register (CIU_QLM_JTGD) (one
10559215976Sjmallett                                                         bit per QLM) */
10560215976Sjmallett#else
10561215976Sjmallett	uint64_t bypass                       : 4;
10562232812Sjmallett	uint64_t mux_sel                      : 3;
10563232812Sjmallett	uint64_t reserved_7_7                 : 1;
10564215976Sjmallett	uint64_t clk_div                      : 3;
10565232812Sjmallett	uint64_t reserved_11_15               : 5;
10566232812Sjmallett	uint64_t bypass_ext                   : 1;
10567232812Sjmallett	uint64_t reserved_17_63               : 47;
10568215976Sjmallett#endif
10569215976Sjmallett	} s;
10570232812Sjmallett	struct cvmx_ciu_qlm_jtgc_cn52xx {
10571232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
10572215976Sjmallett	uint64_t reserved_11_63               : 53;
10573215976Sjmallett	uint64_t clk_div                      : 3;  /**< Clock divider for QLM JTAG operations.  eclk is
10574215976Sjmallett                                                         divided by 2^(CLK_DIV + 2) */
10575215976Sjmallett	uint64_t reserved_5_7                 : 3;
10576215976Sjmallett	uint64_t mux_sel                      : 1;  /**< Selects which QLM JTAG shift out is shifted into
10577215976Sjmallett                                                         the QLM JTAG shift register: CIU_QLM_JTGD[SHFT_REG] */
10578215976Sjmallett	uint64_t reserved_2_3                 : 2;
10579215976Sjmallett	uint64_t bypass                       : 2;  /**< Selects which QLM JTAG shift chains are bypassed
10580215976Sjmallett                                                         by the QLM JTAG data register (CIU_QLM_JTGD) (one
10581215976Sjmallett                                                         bit per QLM) */
10582215976Sjmallett#else
10583215976Sjmallett	uint64_t bypass                       : 2;
10584215976Sjmallett	uint64_t reserved_2_3                 : 2;
10585215976Sjmallett	uint64_t mux_sel                      : 1;
10586215976Sjmallett	uint64_t reserved_5_7                 : 3;
10587215976Sjmallett	uint64_t clk_div                      : 3;
10588215976Sjmallett	uint64_t reserved_11_63               : 53;
10589215976Sjmallett#endif
10590215976Sjmallett	} cn52xx;
10591215976Sjmallett	struct cvmx_ciu_qlm_jtgc_cn52xx       cn52xxp1;
10592232812Sjmallett	struct cvmx_ciu_qlm_jtgc_cn56xx {
10593232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
10594215976Sjmallett	uint64_t reserved_11_63               : 53;
10595215976Sjmallett	uint64_t clk_div                      : 3;  /**< Clock divider for QLM JTAG operations.  eclk is
10596215976Sjmallett                                                         divided by 2^(CLK_DIV + 2) */
10597215976Sjmallett	uint64_t reserved_6_7                 : 2;
10598215976Sjmallett	uint64_t mux_sel                      : 2;  /**< Selects which QLM JTAG shift out is shifted into
10599215976Sjmallett                                                         the QLM JTAG shift register: CIU_QLM_JTGD[SHFT_REG] */
10600232812Sjmallett	uint64_t bypass                       : 4;  /**< Selects which QLM JTAG shift chains are bypassed
10601232812Sjmallett                                                         by the QLM JTAG data register (CIU_QLM_JTGD) (one
10602232812Sjmallett                                                         bit per QLM) */
10603232812Sjmallett#else
10604232812Sjmallett	uint64_t bypass                       : 4;
10605232812Sjmallett	uint64_t mux_sel                      : 2;
10606232812Sjmallett	uint64_t reserved_6_7                 : 2;
10607232812Sjmallett	uint64_t clk_div                      : 3;
10608232812Sjmallett	uint64_t reserved_11_63               : 53;
10609232812Sjmallett#endif
10610232812Sjmallett	} cn56xx;
10611232812Sjmallett	struct cvmx_ciu_qlm_jtgc_cn56xx       cn56xxp1;
10612232812Sjmallett	struct cvmx_ciu_qlm_jtgc_cn61xx {
10613232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
10614232812Sjmallett	uint64_t reserved_11_63               : 53;
10615232812Sjmallett	uint64_t clk_div                      : 3;  /**< Clock divider for QLM JTAG operations.  eclk is
10616232812Sjmallett                                                         divided by 2^(CLK_DIV + 2) */
10617232812Sjmallett	uint64_t reserved_6_7                 : 2;
10618232812Sjmallett	uint64_t mux_sel                      : 2;  /**< Selects which QLM JTAG shift out is shifted into
10619232812Sjmallett                                                         the QLM JTAG shift register: CIU_QLM_JTGD[SHFT_REG] */
10620215976Sjmallett	uint64_t reserved_3_3                 : 1;
10621215976Sjmallett	uint64_t bypass                       : 3;  /**< Selects which QLM JTAG shift chains are bypassed
10622215976Sjmallett                                                         by the QLM JTAG data register (CIU_QLM_JTGD) (one
10623215976Sjmallett                                                         bit per QLM) */
10624215976Sjmallett#else
10625215976Sjmallett	uint64_t bypass                       : 3;
10626215976Sjmallett	uint64_t reserved_3_3                 : 1;
10627215976Sjmallett	uint64_t mux_sel                      : 2;
10628215976Sjmallett	uint64_t reserved_6_7                 : 2;
10629215976Sjmallett	uint64_t clk_div                      : 3;
10630215976Sjmallett	uint64_t reserved_11_63               : 53;
10631215976Sjmallett#endif
10632232812Sjmallett	} cn61xx;
10633232812Sjmallett	struct cvmx_ciu_qlm_jtgc_cn61xx       cn63xx;
10634232812Sjmallett	struct cvmx_ciu_qlm_jtgc_cn61xx       cn63xxp1;
10635232812Sjmallett	struct cvmx_ciu_qlm_jtgc_cn61xx       cn66xx;
10636232812Sjmallett	struct cvmx_ciu_qlm_jtgc_s            cn68xx;
10637232812Sjmallett	struct cvmx_ciu_qlm_jtgc_s            cn68xxp1;
10638232812Sjmallett	struct cvmx_ciu_qlm_jtgc_cn61xx       cnf71xx;
10639215976Sjmallett};
10640215976Sjmalletttypedef union cvmx_ciu_qlm_jtgc cvmx_ciu_qlm_jtgc_t;
10641215976Sjmallett
10642215976Sjmallett/**
10643215976Sjmallett * cvmx_ciu_qlm_jtgd
10644215976Sjmallett */
10645232812Sjmallettunion cvmx_ciu_qlm_jtgd {
10646215976Sjmallett	uint64_t u64;
10647232812Sjmallett	struct cvmx_ciu_qlm_jtgd_s {
10648232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
10649215976Sjmallett	uint64_t capture                      : 1;  /**< Perform JTAG capture operation (self-clearing when
10650215976Sjmallett                                                         op completes) */
10651215976Sjmallett	uint64_t shift                        : 1;  /**< Perform JTAG shift operation (self-clearing when
10652215976Sjmallett                                                         op completes) */
10653215976Sjmallett	uint64_t update                       : 1;  /**< Perform JTAG update operation (self-clearing when
10654215976Sjmallett                                                         op completes) */
10655232812Sjmallett	uint64_t reserved_45_60               : 16;
10656232812Sjmallett	uint64_t select                       : 5;  /**< Selects which QLM JTAG shift chains the JTAG
10657215976Sjmallett                                                         operations are performed on */
10658215976Sjmallett	uint64_t reserved_37_39               : 3;
10659215976Sjmallett	uint64_t shft_cnt                     : 5;  /**< QLM JTAG shift count (encoded in -1 notation) */
10660215976Sjmallett	uint64_t shft_reg                     : 32; /**< QLM JTAG shift register */
10661215976Sjmallett#else
10662215976Sjmallett	uint64_t shft_reg                     : 32;
10663215976Sjmallett	uint64_t shft_cnt                     : 5;
10664215976Sjmallett	uint64_t reserved_37_39               : 3;
10665232812Sjmallett	uint64_t select                       : 5;
10666232812Sjmallett	uint64_t reserved_45_60               : 16;
10667215976Sjmallett	uint64_t update                       : 1;
10668215976Sjmallett	uint64_t shift                        : 1;
10669215976Sjmallett	uint64_t capture                      : 1;
10670215976Sjmallett#endif
10671215976Sjmallett	} s;
10672232812Sjmallett	struct cvmx_ciu_qlm_jtgd_cn52xx {
10673232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
10674215976Sjmallett	uint64_t capture                      : 1;  /**< Perform JTAG capture operation (self-clearing when
10675215976Sjmallett                                                         op completes) */
10676215976Sjmallett	uint64_t shift                        : 1;  /**< Perform JTAG shift operation (self-clearing when
10677215976Sjmallett                                                         op completes) */
10678215976Sjmallett	uint64_t update                       : 1;  /**< Perform JTAG update operation (self-clearing when
10679215976Sjmallett                                                         op completes) */
10680215976Sjmallett	uint64_t reserved_42_60               : 19;
10681215976Sjmallett	uint64_t select                       : 2;  /**< Selects which QLM JTAG shift chains the JTAG
10682215976Sjmallett                                                         operations are performed on */
10683215976Sjmallett	uint64_t reserved_37_39               : 3;
10684215976Sjmallett	uint64_t shft_cnt                     : 5;  /**< QLM JTAG shift count (encoded in -1 notation) */
10685215976Sjmallett	uint64_t shft_reg                     : 32; /**< QLM JTAG shift register */
10686215976Sjmallett#else
10687215976Sjmallett	uint64_t shft_reg                     : 32;
10688215976Sjmallett	uint64_t shft_cnt                     : 5;
10689215976Sjmallett	uint64_t reserved_37_39               : 3;
10690215976Sjmallett	uint64_t select                       : 2;
10691215976Sjmallett	uint64_t reserved_42_60               : 19;
10692215976Sjmallett	uint64_t update                       : 1;
10693215976Sjmallett	uint64_t shift                        : 1;
10694215976Sjmallett	uint64_t capture                      : 1;
10695215976Sjmallett#endif
10696215976Sjmallett	} cn52xx;
10697215976Sjmallett	struct cvmx_ciu_qlm_jtgd_cn52xx       cn52xxp1;
10698232812Sjmallett	struct cvmx_ciu_qlm_jtgd_cn56xx {
10699232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
10700215976Sjmallett	uint64_t capture                      : 1;  /**< Perform JTAG capture operation (self-clearing when
10701215976Sjmallett                                                         op completes) */
10702215976Sjmallett	uint64_t shift                        : 1;  /**< Perform JTAG shift operation (self-clearing when
10703215976Sjmallett                                                         op completes) */
10704215976Sjmallett	uint64_t update                       : 1;  /**< Perform JTAG update operation (self-clearing when
10705215976Sjmallett                                                         op completes) */
10706232812Sjmallett	uint64_t reserved_44_60               : 17;
10707232812Sjmallett	uint64_t select                       : 4;  /**< Selects which QLM JTAG shift chains the JTAG
10708232812Sjmallett                                                         operations are performed on */
10709232812Sjmallett	uint64_t reserved_37_39               : 3;
10710232812Sjmallett	uint64_t shft_cnt                     : 5;  /**< QLM JTAG shift count (encoded in -1 notation) */
10711232812Sjmallett	uint64_t shft_reg                     : 32; /**< QLM JTAG shift register */
10712232812Sjmallett#else
10713232812Sjmallett	uint64_t shft_reg                     : 32;
10714232812Sjmallett	uint64_t shft_cnt                     : 5;
10715232812Sjmallett	uint64_t reserved_37_39               : 3;
10716232812Sjmallett	uint64_t select                       : 4;
10717232812Sjmallett	uint64_t reserved_44_60               : 17;
10718232812Sjmallett	uint64_t update                       : 1;
10719232812Sjmallett	uint64_t shift                        : 1;
10720232812Sjmallett	uint64_t capture                      : 1;
10721232812Sjmallett#endif
10722232812Sjmallett	} cn56xx;
10723232812Sjmallett	struct cvmx_ciu_qlm_jtgd_cn56xxp1 {
10724232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
10725232812Sjmallett	uint64_t capture                      : 1;  /**< Perform JTAG capture operation (self-clearing when
10726232812Sjmallett                                                         op completes) */
10727232812Sjmallett	uint64_t shift                        : 1;  /**< Perform JTAG shift operation (self-clearing when
10728232812Sjmallett                                                         op completes) */
10729232812Sjmallett	uint64_t update                       : 1;  /**< Perform JTAG update operation (self-clearing when
10730232812Sjmallett                                                         op completes) */
10731215976Sjmallett	uint64_t reserved_37_60               : 24;
10732215976Sjmallett	uint64_t shft_cnt                     : 5;  /**< QLM JTAG shift count (encoded in -1 notation) */
10733215976Sjmallett	uint64_t shft_reg                     : 32; /**< QLM JTAG shift register */
10734215976Sjmallett#else
10735215976Sjmallett	uint64_t shft_reg                     : 32;
10736215976Sjmallett	uint64_t shft_cnt                     : 5;
10737215976Sjmallett	uint64_t reserved_37_60               : 24;
10738215976Sjmallett	uint64_t update                       : 1;
10739215976Sjmallett	uint64_t shift                        : 1;
10740215976Sjmallett	uint64_t capture                      : 1;
10741215976Sjmallett#endif
10742215976Sjmallett	} cn56xxp1;
10743232812Sjmallett	struct cvmx_ciu_qlm_jtgd_cn61xx {
10744232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
10745215976Sjmallett	uint64_t capture                      : 1;  /**< Perform JTAG capture operation (self-clearing when
10746215976Sjmallett                                                         op completes) */
10747215976Sjmallett	uint64_t shift                        : 1;  /**< Perform JTAG shift operation (self-clearing when
10748215976Sjmallett                                                         op completes) */
10749215976Sjmallett	uint64_t update                       : 1;  /**< Perform JTAG update operation (self-clearing when
10750215976Sjmallett                                                         op completes) */
10751215976Sjmallett	uint64_t reserved_43_60               : 18;
10752215976Sjmallett	uint64_t select                       : 3;  /**< Selects which QLM JTAG shift chains the JTAG
10753215976Sjmallett                                                         operations are performed on */
10754215976Sjmallett	uint64_t reserved_37_39               : 3;
10755215976Sjmallett	uint64_t shft_cnt                     : 5;  /**< QLM JTAG shift count (encoded in -1 notation) */
10756215976Sjmallett	uint64_t shft_reg                     : 32; /**< QLM JTAG shift register */
10757215976Sjmallett#else
10758215976Sjmallett	uint64_t shft_reg                     : 32;
10759215976Sjmallett	uint64_t shft_cnt                     : 5;
10760215976Sjmallett	uint64_t reserved_37_39               : 3;
10761215976Sjmallett	uint64_t select                       : 3;
10762215976Sjmallett	uint64_t reserved_43_60               : 18;
10763215976Sjmallett	uint64_t update                       : 1;
10764215976Sjmallett	uint64_t shift                        : 1;
10765215976Sjmallett	uint64_t capture                      : 1;
10766215976Sjmallett#endif
10767232812Sjmallett	} cn61xx;
10768232812Sjmallett	struct cvmx_ciu_qlm_jtgd_cn61xx       cn63xx;
10769232812Sjmallett	struct cvmx_ciu_qlm_jtgd_cn61xx       cn63xxp1;
10770232812Sjmallett	struct cvmx_ciu_qlm_jtgd_cn61xx       cn66xx;
10771232812Sjmallett	struct cvmx_ciu_qlm_jtgd_s            cn68xx;
10772232812Sjmallett	struct cvmx_ciu_qlm_jtgd_s            cn68xxp1;
10773232812Sjmallett	struct cvmx_ciu_qlm_jtgd_cn61xx       cnf71xx;
10774215976Sjmallett};
10775215976Sjmalletttypedef union cvmx_ciu_qlm_jtgd cvmx_ciu_qlm_jtgd_t;
10776215976Sjmallett
10777215976Sjmallett/**
10778215976Sjmallett * cvmx_ciu_soft_bist
10779215976Sjmallett */
10780232812Sjmallettunion cvmx_ciu_soft_bist {
10781215976Sjmallett	uint64_t u64;
10782232812Sjmallett	struct cvmx_ciu_soft_bist_s {
10783232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
10784215976Sjmallett	uint64_t reserved_1_63                : 63;
10785215976Sjmallett	uint64_t soft_bist                    : 1;  /**< Reserved */
10786215976Sjmallett#else
10787215976Sjmallett	uint64_t soft_bist                    : 1;
10788215976Sjmallett	uint64_t reserved_1_63                : 63;
10789215976Sjmallett#endif
10790215976Sjmallett	} s;
10791215976Sjmallett	struct cvmx_ciu_soft_bist_s           cn30xx;
10792215976Sjmallett	struct cvmx_ciu_soft_bist_s           cn31xx;
10793215976Sjmallett	struct cvmx_ciu_soft_bist_s           cn38xx;
10794215976Sjmallett	struct cvmx_ciu_soft_bist_s           cn38xxp2;
10795215976Sjmallett	struct cvmx_ciu_soft_bist_s           cn50xx;
10796215976Sjmallett	struct cvmx_ciu_soft_bist_s           cn52xx;
10797215976Sjmallett	struct cvmx_ciu_soft_bist_s           cn52xxp1;
10798215976Sjmallett	struct cvmx_ciu_soft_bist_s           cn56xx;
10799215976Sjmallett	struct cvmx_ciu_soft_bist_s           cn56xxp1;
10800215976Sjmallett	struct cvmx_ciu_soft_bist_s           cn58xx;
10801215976Sjmallett	struct cvmx_ciu_soft_bist_s           cn58xxp1;
10802232812Sjmallett	struct cvmx_ciu_soft_bist_s           cn61xx;
10803215976Sjmallett	struct cvmx_ciu_soft_bist_s           cn63xx;
10804215976Sjmallett	struct cvmx_ciu_soft_bist_s           cn63xxp1;
10805232812Sjmallett	struct cvmx_ciu_soft_bist_s           cn66xx;
10806232812Sjmallett	struct cvmx_ciu_soft_bist_s           cn68xx;
10807232812Sjmallett	struct cvmx_ciu_soft_bist_s           cn68xxp1;
10808232812Sjmallett	struct cvmx_ciu_soft_bist_s           cnf71xx;
10809215976Sjmallett};
10810215976Sjmalletttypedef union cvmx_ciu_soft_bist cvmx_ciu_soft_bist_t;
10811215976Sjmallett
10812215976Sjmallett/**
10813215976Sjmallett * cvmx_ciu_soft_prst
10814215976Sjmallett */
10815232812Sjmallettunion cvmx_ciu_soft_prst {
10816215976Sjmallett	uint64_t u64;
10817232812Sjmallett	struct cvmx_ciu_soft_prst_s {
10818232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
10819215976Sjmallett	uint64_t reserved_3_63                : 61;
10820215976Sjmallett	uint64_t host64                       : 1;  /**< PCX Host Mode Device Capability (0=32b/1=64b) */
10821215976Sjmallett	uint64_t npi                          : 1;  /**< When PCI soft reset is asserted, also reset the
10822215976Sjmallett                                                         NPI and PNI logic */
10823232812Sjmallett	uint64_t soft_prst                    : 1;  /**< Resets the PCIe logic in all modes, not just
10824215976Sjmallett                                                         RC mode. The reset value is based on the
10825215976Sjmallett                                                         corresponding MIO_RST_CTL[PRTMODE] CSR field:
10826215976Sjmallett                                                          If PRTMODE == 0, then SOFT_PRST resets to 0
10827215976Sjmallett                                                          If PRTMODE != 0, then SOFT_PRST resets to 1
10828215976Sjmallett                                                         When OCTEON is configured to drive the PERST*_L
10829215976Sjmallett                                                         chip pin (ie. MIO_RST_CTL0[RST_DRV] is set), this
10830215976Sjmallett                                                         controls the PERST*_L chip pin. */
10831215976Sjmallett#else
10832215976Sjmallett	uint64_t soft_prst                    : 1;
10833215976Sjmallett	uint64_t npi                          : 1;
10834215976Sjmallett	uint64_t host64                       : 1;
10835215976Sjmallett	uint64_t reserved_3_63                : 61;
10836215976Sjmallett#endif
10837215976Sjmallett	} s;
10838215976Sjmallett	struct cvmx_ciu_soft_prst_s           cn30xx;
10839215976Sjmallett	struct cvmx_ciu_soft_prst_s           cn31xx;
10840215976Sjmallett	struct cvmx_ciu_soft_prst_s           cn38xx;
10841215976Sjmallett	struct cvmx_ciu_soft_prst_s           cn38xxp2;
10842215976Sjmallett	struct cvmx_ciu_soft_prst_s           cn50xx;
10843232812Sjmallett	struct cvmx_ciu_soft_prst_cn52xx {
10844232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
10845215976Sjmallett	uint64_t reserved_1_63                : 63;
10846215976Sjmallett	uint64_t soft_prst                    : 1;  /**< Reset the PCI bus.  Only works when Octane is
10847215976Sjmallett                                                         configured as a HOST. When OCTEON is a PCI host
10848215976Sjmallett                                                         (i.e. when PCI_HOST_MODE = 1), This controls
10849215976Sjmallett                                                         PCI_RST_L. Refer to section 10.11.1. */
10850215976Sjmallett#else
10851215976Sjmallett	uint64_t soft_prst                    : 1;
10852215976Sjmallett	uint64_t reserved_1_63                : 63;
10853215976Sjmallett#endif
10854215976Sjmallett	} cn52xx;
10855215976Sjmallett	struct cvmx_ciu_soft_prst_cn52xx      cn52xxp1;
10856215976Sjmallett	struct cvmx_ciu_soft_prst_cn52xx      cn56xx;
10857215976Sjmallett	struct cvmx_ciu_soft_prst_cn52xx      cn56xxp1;
10858215976Sjmallett	struct cvmx_ciu_soft_prst_s           cn58xx;
10859215976Sjmallett	struct cvmx_ciu_soft_prst_s           cn58xxp1;
10860232812Sjmallett	struct cvmx_ciu_soft_prst_cn52xx      cn61xx;
10861215976Sjmallett	struct cvmx_ciu_soft_prst_cn52xx      cn63xx;
10862215976Sjmallett	struct cvmx_ciu_soft_prst_cn52xx      cn63xxp1;
10863232812Sjmallett	struct cvmx_ciu_soft_prst_cn52xx      cn66xx;
10864232812Sjmallett	struct cvmx_ciu_soft_prst_cn52xx      cn68xx;
10865232812Sjmallett	struct cvmx_ciu_soft_prst_cn52xx      cn68xxp1;
10866232812Sjmallett	struct cvmx_ciu_soft_prst_cn52xx      cnf71xx;
10867215976Sjmallett};
10868215976Sjmalletttypedef union cvmx_ciu_soft_prst cvmx_ciu_soft_prst_t;
10869215976Sjmallett
10870215976Sjmallett/**
10871215976Sjmallett * cvmx_ciu_soft_prst1
10872215976Sjmallett */
10873232812Sjmallettunion cvmx_ciu_soft_prst1 {
10874215976Sjmallett	uint64_t u64;
10875232812Sjmallett	struct cvmx_ciu_soft_prst1_s {
10876232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
10877215976Sjmallett	uint64_t reserved_1_63                : 63;
10878232812Sjmallett	uint64_t soft_prst                    : 1;  /**< Resets the PCIe logic in all modes, not just
10879215976Sjmallett                                                         RC mode. The reset value is based on the
10880215976Sjmallett                                                         corresponding MIO_RST_CTL[PRTMODE] CSR field:
10881215976Sjmallett                                                          If PRTMODE == 0, then SOFT_PRST resets to 0
10882215976Sjmallett                                                          If PRTMODE != 0, then SOFT_PRST resets to 1
10883232812Sjmallett                                                         In o61, this PRST initial value is always '1' as
10884232812Sjmallett                                                         PEM1 always running on host mode. */
10885215976Sjmallett#else
10886215976Sjmallett	uint64_t soft_prst                    : 1;
10887215976Sjmallett	uint64_t reserved_1_63                : 63;
10888215976Sjmallett#endif
10889215976Sjmallett	} s;
10890215976Sjmallett	struct cvmx_ciu_soft_prst1_s          cn52xx;
10891215976Sjmallett	struct cvmx_ciu_soft_prst1_s          cn52xxp1;
10892215976Sjmallett	struct cvmx_ciu_soft_prst1_s          cn56xx;
10893215976Sjmallett	struct cvmx_ciu_soft_prst1_s          cn56xxp1;
10894232812Sjmallett	struct cvmx_ciu_soft_prst1_s          cn61xx;
10895215976Sjmallett	struct cvmx_ciu_soft_prst1_s          cn63xx;
10896215976Sjmallett	struct cvmx_ciu_soft_prst1_s          cn63xxp1;
10897232812Sjmallett	struct cvmx_ciu_soft_prst1_s          cn66xx;
10898232812Sjmallett	struct cvmx_ciu_soft_prst1_s          cn68xx;
10899232812Sjmallett	struct cvmx_ciu_soft_prst1_s          cn68xxp1;
10900232812Sjmallett	struct cvmx_ciu_soft_prst1_s          cnf71xx;
10901215976Sjmallett};
10902215976Sjmalletttypedef union cvmx_ciu_soft_prst1 cvmx_ciu_soft_prst1_t;
10903215976Sjmallett
10904215976Sjmallett/**
10905232812Sjmallett * cvmx_ciu_soft_prst2
10906232812Sjmallett */
10907232812Sjmallettunion cvmx_ciu_soft_prst2 {
10908232812Sjmallett	uint64_t u64;
10909232812Sjmallett	struct cvmx_ciu_soft_prst2_s {
10910232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
10911232812Sjmallett	uint64_t reserved_1_63                : 63;
10912232812Sjmallett	uint64_t soft_prst                    : 1;  /**< Resets the      sRIO logic in all modes, not just
10913232812Sjmallett                                                         RC mode. The reset value is based on the
10914232812Sjmallett                                                         corresponding MIO_RST_CNTL[PRTMODE] CSR field:
10915232812Sjmallett                                                          If PRTMODE == 0, then SOFT_PRST resets to 0
10916232812Sjmallett                                                          If PRTMODE != 0, then SOFT_PRST resets to 1 */
10917232812Sjmallett#else
10918232812Sjmallett	uint64_t soft_prst                    : 1;
10919232812Sjmallett	uint64_t reserved_1_63                : 63;
10920232812Sjmallett#endif
10921232812Sjmallett	} s;
10922232812Sjmallett	struct cvmx_ciu_soft_prst2_s          cn66xx;
10923232812Sjmallett};
10924232812Sjmalletttypedef union cvmx_ciu_soft_prst2 cvmx_ciu_soft_prst2_t;
10925232812Sjmallett
10926232812Sjmallett/**
10927232812Sjmallett * cvmx_ciu_soft_prst3
10928232812Sjmallett */
10929232812Sjmallettunion cvmx_ciu_soft_prst3 {
10930232812Sjmallett	uint64_t u64;
10931232812Sjmallett	struct cvmx_ciu_soft_prst3_s {
10932232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
10933232812Sjmallett	uint64_t reserved_1_63                : 63;
10934232812Sjmallett	uint64_t soft_prst                    : 1;  /**< Resets the      sRIO logic in all modes, not just
10935232812Sjmallett                                                         RC mode. The reset value is based on the
10936232812Sjmallett                                                         corresponding MIO_RST_CNTL[PRTMODE] CSR field:
10937232812Sjmallett                                                          If PRTMODE == 0, then SOFT_PRST resets to 0
10938232812Sjmallett                                                          If PRTMODE != 0, then SOFT_PRST resets to 1 */
10939232812Sjmallett#else
10940232812Sjmallett	uint64_t soft_prst                    : 1;
10941232812Sjmallett	uint64_t reserved_1_63                : 63;
10942232812Sjmallett#endif
10943232812Sjmallett	} s;
10944232812Sjmallett	struct cvmx_ciu_soft_prst3_s          cn66xx;
10945232812Sjmallett};
10946232812Sjmalletttypedef union cvmx_ciu_soft_prst3 cvmx_ciu_soft_prst3_t;
10947232812Sjmallett
10948232812Sjmallett/**
10949215976Sjmallett * cvmx_ciu_soft_rst
10950215976Sjmallett */
10951232812Sjmallettunion cvmx_ciu_soft_rst {
10952215976Sjmallett	uint64_t u64;
10953232812Sjmallett	struct cvmx_ciu_soft_rst_s {
10954232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
10955215976Sjmallett	uint64_t reserved_1_63                : 63;
10956215976Sjmallett	uint64_t soft_rst                     : 1;  /**< Resets Octeon
10957232812Sjmallett                                                         When soft reseting Octeon from a remote PCIe
10958215976Sjmallett                                                         host, always read CIU_SOFT_RST (and wait for
10959215976Sjmallett                                                         result) before writing SOFT_RST to '1'. */
10960215976Sjmallett#else
10961215976Sjmallett	uint64_t soft_rst                     : 1;
10962215976Sjmallett	uint64_t reserved_1_63                : 63;
10963215976Sjmallett#endif
10964215976Sjmallett	} s;
10965215976Sjmallett	struct cvmx_ciu_soft_rst_s            cn30xx;
10966215976Sjmallett	struct cvmx_ciu_soft_rst_s            cn31xx;
10967215976Sjmallett	struct cvmx_ciu_soft_rst_s            cn38xx;
10968215976Sjmallett	struct cvmx_ciu_soft_rst_s            cn38xxp2;
10969215976Sjmallett	struct cvmx_ciu_soft_rst_s            cn50xx;
10970215976Sjmallett	struct cvmx_ciu_soft_rst_s            cn52xx;
10971215976Sjmallett	struct cvmx_ciu_soft_rst_s            cn52xxp1;
10972215976Sjmallett	struct cvmx_ciu_soft_rst_s            cn56xx;
10973215976Sjmallett	struct cvmx_ciu_soft_rst_s            cn56xxp1;
10974215976Sjmallett	struct cvmx_ciu_soft_rst_s            cn58xx;
10975215976Sjmallett	struct cvmx_ciu_soft_rst_s            cn58xxp1;
10976232812Sjmallett	struct cvmx_ciu_soft_rst_s            cn61xx;
10977215976Sjmallett	struct cvmx_ciu_soft_rst_s            cn63xx;
10978215976Sjmallett	struct cvmx_ciu_soft_rst_s            cn63xxp1;
10979232812Sjmallett	struct cvmx_ciu_soft_rst_s            cn66xx;
10980232812Sjmallett	struct cvmx_ciu_soft_rst_s            cn68xx;
10981232812Sjmallett	struct cvmx_ciu_soft_rst_s            cn68xxp1;
10982232812Sjmallett	struct cvmx_ciu_soft_rst_s            cnf71xx;
10983215976Sjmallett};
10984215976Sjmalletttypedef union cvmx_ciu_soft_rst cvmx_ciu_soft_rst_t;
10985215976Sjmallett
10986215976Sjmallett/**
10987232812Sjmallett * cvmx_ciu_sum1_io#_int
10988232812Sjmallett *
10989232812Sjmallett * Notes:
10990232812Sjmallett * SUM1 becomes per IPx in o65/6 and afterwards. Only Field <40> DPI_DMA will have
10991232812Sjmallett * different value per PP(IP) for  $CIU_SUM1_PPx_IPy, and <40> DPI_DMA will always
10992232812Sjmallett * be zero for  $CIU_SUM1_IOX_INT. All other fields ([63:41] and [39:0]) values  are idential for
10993232812Sjmallett * different PPs, same value as $CIU_INT_SUM1.
10994232812Sjmallett * Write to any IRQ's PTP fields will clear PTP for all IRQ's PTP field.
10995232812Sjmallett */
10996232812Sjmallettunion cvmx_ciu_sum1_iox_int {
10997232812Sjmallett	uint64_t u64;
10998232812Sjmallett	struct cvmx_ciu_sum1_iox_int_s {
10999232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
11000232812Sjmallett	uint64_t rst                          : 1;  /**< MIO RST interrupt
11001232812Sjmallett                                                         See MIO_RST_INT */
11002232812Sjmallett	uint64_t reserved_62_62               : 1;
11003232812Sjmallett	uint64_t srio3                        : 1;  /**< SRIO3 interrupt
11004232812Sjmallett                                                         See SRIO3_INT_REG, SRIO3_INT2_REG */
11005232812Sjmallett	uint64_t srio2                        : 1;  /**< SRIO2 interrupt
11006232812Sjmallett                                                         See SRIO2_INT_REG, SRIO2_INT2_REG */
11007232812Sjmallett	uint64_t reserved_57_59               : 3;
11008232812Sjmallett	uint64_t dfm                          : 1;  /**< DFM Interrupt
11009232812Sjmallett                                                         See DFM_FNT_STAT */
11010232812Sjmallett	uint64_t reserved_53_55               : 3;
11011232812Sjmallett	uint64_t lmc0                         : 1;  /**< LMC0 interrupt
11012232812Sjmallett                                                         See LMC0_INT */
11013232812Sjmallett	uint64_t reserved_51_51               : 1;
11014232812Sjmallett	uint64_t srio0                        : 1;  /**< SRIO0 interrupt
11015232812Sjmallett                                                         See SRIO0_INT_REG, SRIO0_INT2_REG */
11016232812Sjmallett	uint64_t pem1                         : 1;  /**< PEM1 interrupt
11017232812Sjmallett                                                         See PEM1_INT_SUM (enabled by PEM1_INT_ENB) */
11018232812Sjmallett	uint64_t pem0                         : 1;  /**< PEM0 interrupt
11019232812Sjmallett                                                         See PEM0_INT_SUM (enabled by PEM0_INT_ENB) */
11020232812Sjmallett	uint64_t ptp                          : 1;  /**< PTP interrupt
11021232812Sjmallett                                                         Set when HW decrements MIO_PTP_EVT_CNT to zero */
11022232812Sjmallett	uint64_t agl                          : 1;  /**< AGL interrupt
11023232812Sjmallett                                                         See AGL_GMX_RX*_INT_REG, AGL_GMX_TX_INT_REG */
11024232812Sjmallett	uint64_t reserved_41_45               : 5;
11025232812Sjmallett	uint64_t dpi_dma                      : 1;  /**< DPI DMA instruction completion  interrupt
11026232812Sjmallett                                                         TBD, See DPI DMA instruction completion */
11027232812Sjmallett	uint64_t reserved_38_39               : 2;
11028232812Sjmallett	uint64_t agx1                         : 1;  /**< GMX1 interrupt
11029232812Sjmallett                                                         See GMX1_RX*_INT_REG, GMX1_TX_INT_REG,
11030232812Sjmallett                                                         PCS1_INT*_REG, PCSX1_INT_REG */
11031232812Sjmallett	uint64_t agx0                         : 1;  /**< GMX0 interrupt
11032232812Sjmallett                                                         See GMX0_RX*_INT_REG, GMX0_TX_INT_REG,
11033232812Sjmallett                                                         PCS0_INT*_REG, PCSX0_INT_REG */
11034232812Sjmallett	uint64_t dpi                          : 1;  /**< DPI interrupt
11035232812Sjmallett                                                         See DPI_INT_REG */
11036232812Sjmallett	uint64_t sli                          : 1;  /**< SLI interrupt
11037232812Sjmallett                                                         See SLI_INT_SUM (enabled by SLI_INT_ENB_CIU) */
11038232812Sjmallett	uint64_t usb                          : 1;  /**< USB UCTL0 interrupt
11039232812Sjmallett                                                         See UCTL0_INT_REG */
11040232812Sjmallett	uint64_t dfa                          : 1;  /**< DFA interrupt
11041232812Sjmallett                                                         See DFA_ERROR */
11042232812Sjmallett	uint64_t key                          : 1;  /**< KEY interrupt
11043232812Sjmallett                                                         See KEY_INT_SUM */
11044232812Sjmallett	uint64_t rad                          : 1;  /**< RAD interrupt
11045232812Sjmallett                                                         See RAD_REG_ERROR */
11046232812Sjmallett	uint64_t tim                          : 1;  /**< TIM interrupt
11047232812Sjmallett                                                         See TIM_REG_ERROR */
11048232812Sjmallett	uint64_t zip                          : 1;  /**< ZIP interrupt
11049232812Sjmallett                                                         See ZIP_ERROR */
11050232812Sjmallett	uint64_t pko                          : 1;  /**< PKO interrupt
11051232812Sjmallett                                                         See PKO_REG_ERROR */
11052232812Sjmallett	uint64_t pip                          : 1;  /**< PIP interrupt
11053232812Sjmallett                                                         See PIP_INT_REG */
11054232812Sjmallett	uint64_t ipd                          : 1;  /**< IPD interrupt
11055232812Sjmallett                                                         See IPD_INT_SUM */
11056232812Sjmallett	uint64_t l2c                          : 1;  /**< L2C interrupt
11057232812Sjmallett                                                         See L2C_INT_REG */
11058232812Sjmallett	uint64_t pow                          : 1;  /**< POW err interrupt
11059232812Sjmallett                                                         See POW_ECC_ERR */
11060232812Sjmallett	uint64_t fpa                          : 1;  /**< FPA interrupt
11061232812Sjmallett                                                         See FPA_INT_SUM */
11062232812Sjmallett	uint64_t iob                          : 1;  /**< IOB interrupt
11063232812Sjmallett                                                         See IOB_INT_SUM */
11064232812Sjmallett	uint64_t mio                          : 1;  /**< MIO boot interrupt
11065232812Sjmallett                                                         See MIO_BOOT_ERR */
11066232812Sjmallett	uint64_t nand                         : 1;  /**< EMMC Flash Controller interrupt
11067232812Sjmallett                                                         See EMMC interrupt */
11068232812Sjmallett	uint64_t mii1                         : 1;  /**< RGMII/MII/MIX Interface 1 Interrupt
11069232812Sjmallett                                                         See MIX1_ISR */
11070232812Sjmallett	uint64_t reserved_10_17               : 8;
11071232812Sjmallett	uint64_t wdog                         : 10; /**< Per PP watchdog interrupts */
11072232812Sjmallett#else
11073232812Sjmallett	uint64_t wdog                         : 10;
11074232812Sjmallett	uint64_t reserved_10_17               : 8;
11075232812Sjmallett	uint64_t mii1                         : 1;
11076232812Sjmallett	uint64_t nand                         : 1;
11077232812Sjmallett	uint64_t mio                          : 1;
11078232812Sjmallett	uint64_t iob                          : 1;
11079232812Sjmallett	uint64_t fpa                          : 1;
11080232812Sjmallett	uint64_t pow                          : 1;
11081232812Sjmallett	uint64_t l2c                          : 1;
11082232812Sjmallett	uint64_t ipd                          : 1;
11083232812Sjmallett	uint64_t pip                          : 1;
11084232812Sjmallett	uint64_t pko                          : 1;
11085232812Sjmallett	uint64_t zip                          : 1;
11086232812Sjmallett	uint64_t tim                          : 1;
11087232812Sjmallett	uint64_t rad                          : 1;
11088232812Sjmallett	uint64_t key                          : 1;
11089232812Sjmallett	uint64_t dfa                          : 1;
11090232812Sjmallett	uint64_t usb                          : 1;
11091232812Sjmallett	uint64_t sli                          : 1;
11092232812Sjmallett	uint64_t dpi                          : 1;
11093232812Sjmallett	uint64_t agx0                         : 1;
11094232812Sjmallett	uint64_t agx1                         : 1;
11095232812Sjmallett	uint64_t reserved_38_39               : 2;
11096232812Sjmallett	uint64_t dpi_dma                      : 1;
11097232812Sjmallett	uint64_t reserved_41_45               : 5;
11098232812Sjmallett	uint64_t agl                          : 1;
11099232812Sjmallett	uint64_t ptp                          : 1;
11100232812Sjmallett	uint64_t pem0                         : 1;
11101232812Sjmallett	uint64_t pem1                         : 1;
11102232812Sjmallett	uint64_t srio0                        : 1;
11103232812Sjmallett	uint64_t reserved_51_51               : 1;
11104232812Sjmallett	uint64_t lmc0                         : 1;
11105232812Sjmallett	uint64_t reserved_53_55               : 3;
11106232812Sjmallett	uint64_t dfm                          : 1;
11107232812Sjmallett	uint64_t reserved_57_59               : 3;
11108232812Sjmallett	uint64_t srio2                        : 1;
11109232812Sjmallett	uint64_t srio3                        : 1;
11110232812Sjmallett	uint64_t reserved_62_62               : 1;
11111232812Sjmallett	uint64_t rst                          : 1;
11112232812Sjmallett#endif
11113232812Sjmallett	} s;
11114232812Sjmallett	struct cvmx_ciu_sum1_iox_int_cn61xx {
11115232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
11116232812Sjmallett	uint64_t rst                          : 1;  /**< MIO RST interrupt
11117232812Sjmallett                                                         See MIO_RST_INT */
11118232812Sjmallett	uint64_t reserved_53_62               : 10;
11119232812Sjmallett	uint64_t lmc0                         : 1;  /**< LMC0 interrupt
11120232812Sjmallett                                                         See LMC0_INT */
11121232812Sjmallett	uint64_t reserved_50_51               : 2;
11122232812Sjmallett	uint64_t pem1                         : 1;  /**< PEM1 interrupt
11123232812Sjmallett                                                         See PEM1_INT_SUM (enabled by PEM1_INT_ENB) */
11124232812Sjmallett	uint64_t pem0                         : 1;  /**< PEM0 interrupt
11125232812Sjmallett                                                         See PEM0_INT_SUM (enabled by PEM0_INT_ENB) */
11126232812Sjmallett	uint64_t ptp                          : 1;  /**< PTP interrupt
11127232812Sjmallett                                                         Set when HW decrements MIO_PTP_EVT_CNT to zero */
11128232812Sjmallett	uint64_t agl                          : 1;  /**< AGL interrupt
11129232812Sjmallett                                                         See AGL_GMX_RX*_INT_REG, AGL_GMX_TX_INT_REG */
11130232812Sjmallett	uint64_t reserved_41_45               : 5;
11131232812Sjmallett	uint64_t dpi_dma                      : 1;  /**< DPI DMA instruction completion  interrupt
11132232812Sjmallett                                                         TBD, See DPI DMA instruction completion */
11133232812Sjmallett	uint64_t reserved_38_39               : 2;
11134232812Sjmallett	uint64_t agx1                         : 1;  /**< GMX1 interrupt
11135232812Sjmallett                                                         See GMX1_RX*_INT_REG, GMX1_TX_INT_REG,
11136232812Sjmallett                                                         PCS1_INT*_REG, PCSX1_INT_REG */
11137232812Sjmallett	uint64_t agx0                         : 1;  /**< GMX0 interrupt
11138232812Sjmallett                                                         See GMX0_RX*_INT_REG, GMX0_TX_INT_REG,
11139232812Sjmallett                                                         PCS0_INT*_REG, PCSX0_INT_REG */
11140232812Sjmallett	uint64_t dpi                          : 1;  /**< DPI interrupt
11141232812Sjmallett                                                         See DPI_INT_REG */
11142232812Sjmallett	uint64_t sli                          : 1;  /**< SLI interrupt
11143232812Sjmallett                                                         See SLI_INT_SUM (enabled by SLI_INT_ENB_CIU) */
11144232812Sjmallett	uint64_t usb                          : 1;  /**< USB UCTL0 interrupt
11145232812Sjmallett                                                         See UCTL0_INT_REG */
11146232812Sjmallett	uint64_t dfa                          : 1;  /**< DFA interrupt
11147232812Sjmallett                                                         See DFA_ERROR */
11148232812Sjmallett	uint64_t key                          : 1;  /**< KEY interrupt
11149232812Sjmallett                                                         See KEY_INT_SUM */
11150232812Sjmallett	uint64_t rad                          : 1;  /**< RAD interrupt
11151232812Sjmallett                                                         See RAD_REG_ERROR */
11152232812Sjmallett	uint64_t tim                          : 1;  /**< TIM interrupt
11153232812Sjmallett                                                         See TIM_REG_ERROR */
11154232812Sjmallett	uint64_t zip                          : 1;  /**< ZIP interrupt
11155232812Sjmallett                                                         See ZIP_ERROR */
11156232812Sjmallett	uint64_t pko                          : 1;  /**< PKO interrupt
11157232812Sjmallett                                                         See PKO_REG_ERROR */
11158232812Sjmallett	uint64_t pip                          : 1;  /**< PIP interrupt
11159232812Sjmallett                                                         See PIP_INT_REG */
11160232812Sjmallett	uint64_t ipd                          : 1;  /**< IPD interrupt
11161232812Sjmallett                                                         See IPD_INT_SUM */
11162232812Sjmallett	uint64_t l2c                          : 1;  /**< L2C interrupt
11163232812Sjmallett                                                         See L2C_INT_REG */
11164232812Sjmallett	uint64_t pow                          : 1;  /**< POW err interrupt
11165232812Sjmallett                                                         See POW_ECC_ERR */
11166232812Sjmallett	uint64_t fpa                          : 1;  /**< FPA interrupt
11167232812Sjmallett                                                         See FPA_INT_SUM */
11168232812Sjmallett	uint64_t iob                          : 1;  /**< IOB interrupt
11169232812Sjmallett                                                         See IOB_INT_SUM */
11170232812Sjmallett	uint64_t mio                          : 1;  /**< MIO boot interrupt
11171232812Sjmallett                                                         See MIO_BOOT_ERR */
11172232812Sjmallett	uint64_t nand                         : 1;  /**< EMMC Flash Controller interrupt
11173232812Sjmallett                                                         See EMMC interrupt */
11174232812Sjmallett	uint64_t mii1                         : 1;  /**< RGMII/MIX Interface 1 Interrupt
11175232812Sjmallett                                                         See MIX1_ISR */
11176232812Sjmallett	uint64_t reserved_4_17                : 14;
11177232812Sjmallett	uint64_t wdog                         : 4;  /**< Per PP watchdog interrupts */
11178232812Sjmallett#else
11179232812Sjmallett	uint64_t wdog                         : 4;
11180232812Sjmallett	uint64_t reserved_4_17                : 14;
11181232812Sjmallett	uint64_t mii1                         : 1;
11182232812Sjmallett	uint64_t nand                         : 1;
11183232812Sjmallett	uint64_t mio                          : 1;
11184232812Sjmallett	uint64_t iob                          : 1;
11185232812Sjmallett	uint64_t fpa                          : 1;
11186232812Sjmallett	uint64_t pow                          : 1;
11187232812Sjmallett	uint64_t l2c                          : 1;
11188232812Sjmallett	uint64_t ipd                          : 1;
11189232812Sjmallett	uint64_t pip                          : 1;
11190232812Sjmallett	uint64_t pko                          : 1;
11191232812Sjmallett	uint64_t zip                          : 1;
11192232812Sjmallett	uint64_t tim                          : 1;
11193232812Sjmallett	uint64_t rad                          : 1;
11194232812Sjmallett	uint64_t key                          : 1;
11195232812Sjmallett	uint64_t dfa                          : 1;
11196232812Sjmallett	uint64_t usb                          : 1;
11197232812Sjmallett	uint64_t sli                          : 1;
11198232812Sjmallett	uint64_t dpi                          : 1;
11199232812Sjmallett	uint64_t agx0                         : 1;
11200232812Sjmallett	uint64_t agx1                         : 1;
11201232812Sjmallett	uint64_t reserved_38_39               : 2;
11202232812Sjmallett	uint64_t dpi_dma                      : 1;
11203232812Sjmallett	uint64_t reserved_41_45               : 5;
11204232812Sjmallett	uint64_t agl                          : 1;
11205232812Sjmallett	uint64_t ptp                          : 1;
11206232812Sjmallett	uint64_t pem0                         : 1;
11207232812Sjmallett	uint64_t pem1                         : 1;
11208232812Sjmallett	uint64_t reserved_50_51               : 2;
11209232812Sjmallett	uint64_t lmc0                         : 1;
11210232812Sjmallett	uint64_t reserved_53_62               : 10;
11211232812Sjmallett	uint64_t rst                          : 1;
11212232812Sjmallett#endif
11213232812Sjmallett	} cn61xx;
11214232812Sjmallett	struct cvmx_ciu_sum1_iox_int_cn66xx {
11215232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
11216232812Sjmallett	uint64_t rst                          : 1;  /**< MIO RST interrupt
11217232812Sjmallett                                                         See MIO_RST_INT */
11218232812Sjmallett	uint64_t reserved_62_62               : 1;
11219232812Sjmallett	uint64_t srio3                        : 1;  /**< SRIO3 interrupt
11220232812Sjmallett                                                         See SRIO3_INT_REG, SRIO3_INT2_REG */
11221232812Sjmallett	uint64_t srio2                        : 1;  /**< SRIO2 interrupt
11222232812Sjmallett                                                         See SRIO2_INT_REG, SRIO2_INT2_REG */
11223232812Sjmallett	uint64_t reserved_57_59               : 3;
11224232812Sjmallett	uint64_t dfm                          : 1;  /**< DFM Interrupt
11225232812Sjmallett                                                         See DFM_FNT_STAT */
11226232812Sjmallett	uint64_t reserved_53_55               : 3;
11227232812Sjmallett	uint64_t lmc0                         : 1;  /**< LMC0 interrupt
11228232812Sjmallett                                                         See LMC0_INT */
11229232812Sjmallett	uint64_t reserved_51_51               : 1;
11230232812Sjmallett	uint64_t srio0                        : 1;  /**< SRIO0 interrupt
11231232812Sjmallett                                                         See SRIO0_INT_REG, SRIO0_INT2_REG */
11232232812Sjmallett	uint64_t pem1                         : 1;  /**< PEM1 interrupt
11233232812Sjmallett                                                         See PEM1_INT_SUM (enabled by PEM1_INT_ENB) */
11234232812Sjmallett	uint64_t pem0                         : 1;  /**< PEM0 interrupt
11235232812Sjmallett                                                         See PEM0_INT_SUM (enabled by PEM0_INT_ENB) */
11236232812Sjmallett	uint64_t ptp                          : 1;  /**< PTP interrupt
11237232812Sjmallett                                                         Set when HW decrements MIO_PTP_EVT_CNT to zero */
11238232812Sjmallett	uint64_t agl                          : 1;  /**< AGL interrupt
11239232812Sjmallett                                                         See AGL_GMX_RX*_INT_REG, AGL_GMX_TX_INT_REG */
11240232812Sjmallett	uint64_t reserved_38_45               : 8;
11241232812Sjmallett	uint64_t agx1                         : 1;  /**< GMX1 interrupt
11242232812Sjmallett                                                         See GMX1_RX*_INT_REG, GMX1_TX_INT_REG,
11243232812Sjmallett                                                         PCS1_INT*_REG, PCSX1_INT_REG */
11244232812Sjmallett	uint64_t agx0                         : 1;  /**< GMX0 interrupt
11245232812Sjmallett                                                         See GMX0_RX*_INT_REG, GMX0_TX_INT_REG,
11246232812Sjmallett                                                         PCS0_INT*_REG, PCSX0_INT_REG */
11247232812Sjmallett	uint64_t dpi                          : 1;  /**< DPI interrupt
11248232812Sjmallett                                                         See DPI_INT_REG */
11249232812Sjmallett	uint64_t sli                          : 1;  /**< SLI interrupt
11250232812Sjmallett                                                         See SLI_INT_SUM (enabled by SLI_INT_ENB_CIU) */
11251232812Sjmallett	uint64_t usb                          : 1;  /**< USB UCTL0 interrupt
11252232812Sjmallett                                                         See UCTL0_INT_REG */
11253232812Sjmallett	uint64_t dfa                          : 1;  /**< DFA interrupt
11254232812Sjmallett                                                         See DFA_ERROR */
11255232812Sjmallett	uint64_t key                          : 1;  /**< KEY interrupt
11256232812Sjmallett                                                         See KEY_INT_SUM */
11257232812Sjmallett	uint64_t rad                          : 1;  /**< RAD interrupt
11258232812Sjmallett                                                         See RAD_REG_ERROR */
11259232812Sjmallett	uint64_t tim                          : 1;  /**< TIM interrupt
11260232812Sjmallett                                                         See TIM_REG_ERROR */
11261232812Sjmallett	uint64_t zip                          : 1;  /**< ZIP interrupt
11262232812Sjmallett                                                         See ZIP_ERROR */
11263232812Sjmallett	uint64_t pko                          : 1;  /**< PKO interrupt
11264232812Sjmallett                                                         See PKO_REG_ERROR */
11265232812Sjmallett	uint64_t pip                          : 1;  /**< PIP interrupt
11266232812Sjmallett                                                         See PIP_INT_REG */
11267232812Sjmallett	uint64_t ipd                          : 1;  /**< IPD interrupt
11268232812Sjmallett                                                         See IPD_INT_SUM */
11269232812Sjmallett	uint64_t l2c                          : 1;  /**< L2C interrupt
11270232812Sjmallett                                                         See L2C_INT_REG */
11271232812Sjmallett	uint64_t pow                          : 1;  /**< POW err interrupt
11272232812Sjmallett                                                         See POW_ECC_ERR */
11273232812Sjmallett	uint64_t fpa                          : 1;  /**< FPA interrupt
11274232812Sjmallett                                                         See FPA_INT_SUM */
11275232812Sjmallett	uint64_t iob                          : 1;  /**< IOB interrupt
11276232812Sjmallett                                                         See IOB_INT_SUM */
11277232812Sjmallett	uint64_t mio                          : 1;  /**< MIO boot interrupt
11278232812Sjmallett                                                         See MIO_BOOT_ERR */
11279232812Sjmallett	uint64_t nand                         : 1;  /**< NAND Flash Controller interrupt
11280232812Sjmallett                                                         See NDF_INT */
11281232812Sjmallett	uint64_t mii1                         : 1;  /**< RGMII/MII/MIX Interface 1 Interrupt
11282232812Sjmallett                                                         See MIX1_ISR */
11283232812Sjmallett	uint64_t reserved_10_17               : 8;
11284232812Sjmallett	uint64_t wdog                         : 10; /**< 10 watchdog interrupts */
11285232812Sjmallett#else
11286232812Sjmallett	uint64_t wdog                         : 10;
11287232812Sjmallett	uint64_t reserved_10_17               : 8;
11288232812Sjmallett	uint64_t mii1                         : 1;
11289232812Sjmallett	uint64_t nand                         : 1;
11290232812Sjmallett	uint64_t mio                          : 1;
11291232812Sjmallett	uint64_t iob                          : 1;
11292232812Sjmallett	uint64_t fpa                          : 1;
11293232812Sjmallett	uint64_t pow                          : 1;
11294232812Sjmallett	uint64_t l2c                          : 1;
11295232812Sjmallett	uint64_t ipd                          : 1;
11296232812Sjmallett	uint64_t pip                          : 1;
11297232812Sjmallett	uint64_t pko                          : 1;
11298232812Sjmallett	uint64_t zip                          : 1;
11299232812Sjmallett	uint64_t tim                          : 1;
11300232812Sjmallett	uint64_t rad                          : 1;
11301232812Sjmallett	uint64_t key                          : 1;
11302232812Sjmallett	uint64_t dfa                          : 1;
11303232812Sjmallett	uint64_t usb                          : 1;
11304232812Sjmallett	uint64_t sli                          : 1;
11305232812Sjmallett	uint64_t dpi                          : 1;
11306232812Sjmallett	uint64_t agx0                         : 1;
11307232812Sjmallett	uint64_t agx1                         : 1;
11308232812Sjmallett	uint64_t reserved_38_45               : 8;
11309232812Sjmallett	uint64_t agl                          : 1;
11310232812Sjmallett	uint64_t ptp                          : 1;
11311232812Sjmallett	uint64_t pem0                         : 1;
11312232812Sjmallett	uint64_t pem1                         : 1;
11313232812Sjmallett	uint64_t srio0                        : 1;
11314232812Sjmallett	uint64_t reserved_51_51               : 1;
11315232812Sjmallett	uint64_t lmc0                         : 1;
11316232812Sjmallett	uint64_t reserved_53_55               : 3;
11317232812Sjmallett	uint64_t dfm                          : 1;
11318232812Sjmallett	uint64_t reserved_57_59               : 3;
11319232812Sjmallett	uint64_t srio2                        : 1;
11320232812Sjmallett	uint64_t srio3                        : 1;
11321232812Sjmallett	uint64_t reserved_62_62               : 1;
11322232812Sjmallett	uint64_t rst                          : 1;
11323232812Sjmallett#endif
11324232812Sjmallett	} cn66xx;
11325232812Sjmallett	struct cvmx_ciu_sum1_iox_int_cnf71xx {
11326232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
11327232812Sjmallett	uint64_t rst                          : 1;  /**< MIO RST interrupt
11328232812Sjmallett                                                         See MIO_RST_INT */
11329232812Sjmallett	uint64_t reserved_53_62               : 10;
11330232812Sjmallett	uint64_t lmc0                         : 1;  /**< LMC0 interrupt
11331232812Sjmallett                                                         See LMC0_INT */
11332232812Sjmallett	uint64_t reserved_50_51               : 2;
11333232812Sjmallett	uint64_t pem1                         : 1;  /**< PEM1 interrupt
11334232812Sjmallett                                                         See PEM1_INT_SUM (enabled by PEM1_INT_ENB) */
11335232812Sjmallett	uint64_t pem0                         : 1;  /**< PEM0 interrupt
11336232812Sjmallett                                                         See PEM0_INT_SUM (enabled by PEM0_INT_ENB) */
11337232812Sjmallett	uint64_t ptp                          : 1;  /**< PTP interrupt
11338232812Sjmallett                                                         Set when HW decrements MIO_PTP_EVT_CNT to zero */
11339232812Sjmallett	uint64_t reserved_41_46               : 6;
11340232812Sjmallett	uint64_t dpi_dma                      : 1;  /**< DPI DMA instruction completion  interrupt
11341232812Sjmallett                                                         TBD, See DPI DMA instruction completion */
11342232812Sjmallett	uint64_t reserved_37_39               : 3;
11343232812Sjmallett	uint64_t agx0                         : 1;  /**< GMX0 interrupt
11344232812Sjmallett                                                         See GMX0_RX*_INT_REG, GMX0_TX_INT_REG,
11345232812Sjmallett                                                         PCS0_INT*_REG, PCSX0_INT_REG */
11346232812Sjmallett	uint64_t dpi                          : 1;  /**< DPI interrupt
11347232812Sjmallett                                                         See DPI_INT_REG */
11348232812Sjmallett	uint64_t sli                          : 1;  /**< SLI interrupt
11349232812Sjmallett                                                         See SLI_INT_SUM (enabled by SLI_INT_ENB_CIU) */
11350232812Sjmallett	uint64_t usb                          : 1;  /**< USB UCTL0 interrupt
11351232812Sjmallett                                                         See UCTL0_INT_REG */
11352232812Sjmallett	uint64_t reserved_32_32               : 1;
11353232812Sjmallett	uint64_t key                          : 1;  /**< KEY interrupt
11354232812Sjmallett                                                         See KEY_INT_SUM */
11355232812Sjmallett	uint64_t rad                          : 1;  /**< RAD interrupt
11356232812Sjmallett                                                         See RAD_REG_ERROR */
11357232812Sjmallett	uint64_t tim                          : 1;  /**< TIM interrupt
11358232812Sjmallett                                                         See TIM_REG_ERROR */
11359232812Sjmallett	uint64_t reserved_28_28               : 1;
11360232812Sjmallett	uint64_t pko                          : 1;  /**< PKO interrupt
11361232812Sjmallett                                                         See PKO_REG_ERROR */
11362232812Sjmallett	uint64_t pip                          : 1;  /**< PIP interrupt
11363232812Sjmallett                                                         See PIP_INT_REG */
11364232812Sjmallett	uint64_t ipd                          : 1;  /**< IPD interrupt
11365232812Sjmallett                                                         See IPD_INT_SUM */
11366232812Sjmallett	uint64_t l2c                          : 1;  /**< L2C interrupt
11367232812Sjmallett                                                         See L2C_INT_REG */
11368232812Sjmallett	uint64_t pow                          : 1;  /**< POW err interrupt
11369232812Sjmallett                                                         See POW_ECC_ERR */
11370232812Sjmallett	uint64_t fpa                          : 1;  /**< FPA interrupt
11371232812Sjmallett                                                         See FPA_INT_SUM */
11372232812Sjmallett	uint64_t iob                          : 1;  /**< IOB interrupt
11373232812Sjmallett                                                         See IOB_INT_SUM */
11374232812Sjmallett	uint64_t mio                          : 1;  /**< MIO boot interrupt
11375232812Sjmallett                                                         See MIO_BOOT_ERR */
11376232812Sjmallett	uint64_t nand                         : 1;  /**< EMMC Flash Controller interrupt
11377232812Sjmallett                                                         See EMMC interrupt */
11378232812Sjmallett	uint64_t reserved_4_18                : 15;
11379232812Sjmallett	uint64_t wdog                         : 4;  /**< Per PP watchdog interrupts */
11380232812Sjmallett#else
11381232812Sjmallett	uint64_t wdog                         : 4;
11382232812Sjmallett	uint64_t reserved_4_18                : 15;
11383232812Sjmallett	uint64_t nand                         : 1;
11384232812Sjmallett	uint64_t mio                          : 1;
11385232812Sjmallett	uint64_t iob                          : 1;
11386232812Sjmallett	uint64_t fpa                          : 1;
11387232812Sjmallett	uint64_t pow                          : 1;
11388232812Sjmallett	uint64_t l2c                          : 1;
11389232812Sjmallett	uint64_t ipd                          : 1;
11390232812Sjmallett	uint64_t pip                          : 1;
11391232812Sjmallett	uint64_t pko                          : 1;
11392232812Sjmallett	uint64_t reserved_28_28               : 1;
11393232812Sjmallett	uint64_t tim                          : 1;
11394232812Sjmallett	uint64_t rad                          : 1;
11395232812Sjmallett	uint64_t key                          : 1;
11396232812Sjmallett	uint64_t reserved_32_32               : 1;
11397232812Sjmallett	uint64_t usb                          : 1;
11398232812Sjmallett	uint64_t sli                          : 1;
11399232812Sjmallett	uint64_t dpi                          : 1;
11400232812Sjmallett	uint64_t agx0                         : 1;
11401232812Sjmallett	uint64_t reserved_37_39               : 3;
11402232812Sjmallett	uint64_t dpi_dma                      : 1;
11403232812Sjmallett	uint64_t reserved_41_46               : 6;
11404232812Sjmallett	uint64_t ptp                          : 1;
11405232812Sjmallett	uint64_t pem0                         : 1;
11406232812Sjmallett	uint64_t pem1                         : 1;
11407232812Sjmallett	uint64_t reserved_50_51               : 2;
11408232812Sjmallett	uint64_t lmc0                         : 1;
11409232812Sjmallett	uint64_t reserved_53_62               : 10;
11410232812Sjmallett	uint64_t rst                          : 1;
11411232812Sjmallett#endif
11412232812Sjmallett	} cnf71xx;
11413232812Sjmallett};
11414232812Sjmalletttypedef union cvmx_ciu_sum1_iox_int cvmx_ciu_sum1_iox_int_t;
11415232812Sjmallett
11416232812Sjmallett/**
11417232812Sjmallett * cvmx_ciu_sum1_pp#_ip2
11418232812Sjmallett *
11419232812Sjmallett * Notes:
11420232812Sjmallett * SUM1 becomes per IPx in o65/6 and afterwards. Only Field <40> DPI_DMA will have
11421232812Sjmallett * different value per PP(IP) for  $CIU_SUM1_PPx_IPy, and <40> DPI_DMA will always
11422232812Sjmallett * be zero for  $CIU_SUM1_IOX_INT. All other fields ([63:41] and [39:0]) values  are idential for
11423232812Sjmallett * different PPs, same value as $CIU_INT_SUM1.
11424232812Sjmallett * Write to any IRQ's PTP fields will clear PTP for all IRQ's PTP field.
11425232812Sjmallett */
11426232812Sjmallettunion cvmx_ciu_sum1_ppx_ip2 {
11427232812Sjmallett	uint64_t u64;
11428232812Sjmallett	struct cvmx_ciu_sum1_ppx_ip2_s {
11429232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
11430232812Sjmallett	uint64_t rst                          : 1;  /**< MIO RST interrupt
11431232812Sjmallett                                                         See MIO_RST_INT */
11432232812Sjmallett	uint64_t reserved_62_62               : 1;
11433232812Sjmallett	uint64_t srio3                        : 1;  /**< SRIO3 interrupt
11434232812Sjmallett                                                         See SRIO3_INT_REG, SRIO3_INT2_REG */
11435232812Sjmallett	uint64_t srio2                        : 1;  /**< SRIO2 interrupt
11436232812Sjmallett                                                         See SRIO2_INT_REG, SRIO2_INT2_REG */
11437232812Sjmallett	uint64_t reserved_57_59               : 3;
11438232812Sjmallett	uint64_t dfm                          : 1;  /**< DFM Interrupt
11439232812Sjmallett                                                         See DFM_FNT_STAT */
11440232812Sjmallett	uint64_t reserved_53_55               : 3;
11441232812Sjmallett	uint64_t lmc0                         : 1;  /**< LMC0 interrupt
11442232812Sjmallett                                                         See LMC0_INT */
11443232812Sjmallett	uint64_t reserved_51_51               : 1;
11444232812Sjmallett	uint64_t srio0                        : 1;  /**< SRIO0 interrupt
11445232812Sjmallett                                                         See SRIO0_INT_REG, SRIO0_INT2_REG */
11446232812Sjmallett	uint64_t pem1                         : 1;  /**< PEM1 interrupt
11447232812Sjmallett                                                         See PEM1_INT_SUM (enabled by PEM1_INT_ENB) */
11448232812Sjmallett	uint64_t pem0                         : 1;  /**< PEM0 interrupt
11449232812Sjmallett                                                         See PEM0_INT_SUM (enabled by PEM0_INT_ENB) */
11450232812Sjmallett	uint64_t ptp                          : 1;  /**< PTP interrupt
11451232812Sjmallett                                                         Set when HW decrements MIO_PTP_EVT_CNT to zero */
11452232812Sjmallett	uint64_t agl                          : 1;  /**< AGL interrupt
11453232812Sjmallett                                                         See AGL_GMX_RX*_INT_REG, AGL_GMX_TX_INT_REG */
11454232812Sjmallett	uint64_t reserved_41_45               : 5;
11455232812Sjmallett	uint64_t dpi_dma                      : 1;  /**< DPI DMA instruction completion  interrupt
11456232812Sjmallett                                                         TBD, See DPI DMA instruction completion */
11457232812Sjmallett	uint64_t reserved_38_39               : 2;
11458232812Sjmallett	uint64_t agx1                         : 1;  /**< GMX1 interrupt
11459232812Sjmallett                                                         See GMX1_RX*_INT_REG, GMX1_TX_INT_REG,
11460232812Sjmallett                                                         PCS1_INT*_REG, PCSX1_INT_REG */
11461232812Sjmallett	uint64_t agx0                         : 1;  /**< GMX0 interrupt
11462232812Sjmallett                                                         See GMX0_RX*_INT_REG, GMX0_TX_INT_REG,
11463232812Sjmallett                                                         PCS0_INT*_REG, PCSX0_INT_REG */
11464232812Sjmallett	uint64_t dpi                          : 1;  /**< DPI interrupt
11465232812Sjmallett                                                         See DPI_INT_REG */
11466232812Sjmallett	uint64_t sli                          : 1;  /**< SLI interrupt
11467232812Sjmallett                                                         See SLI_INT_SUM (enabled by SLI_INT_ENB_CIU) */
11468232812Sjmallett	uint64_t usb                          : 1;  /**< USB UCTL0 interrupt
11469232812Sjmallett                                                         See UCTL0_INT_REG */
11470232812Sjmallett	uint64_t dfa                          : 1;  /**< DFA interrupt
11471232812Sjmallett                                                         See DFA_ERROR */
11472232812Sjmallett	uint64_t key                          : 1;  /**< KEY interrupt
11473232812Sjmallett                                                         See KEY_INT_SUM */
11474232812Sjmallett	uint64_t rad                          : 1;  /**< RAD interrupt
11475232812Sjmallett                                                         See RAD_REG_ERROR */
11476232812Sjmallett	uint64_t tim                          : 1;  /**< TIM interrupt
11477232812Sjmallett                                                         See TIM_REG_ERROR */
11478232812Sjmallett	uint64_t zip                          : 1;  /**< ZIP interrupt
11479232812Sjmallett                                                         See ZIP_ERROR */
11480232812Sjmallett	uint64_t pko                          : 1;  /**< PKO interrupt
11481232812Sjmallett                                                         See PKO_REG_ERROR */
11482232812Sjmallett	uint64_t pip                          : 1;  /**< PIP interrupt
11483232812Sjmallett                                                         See PIP_INT_REG */
11484232812Sjmallett	uint64_t ipd                          : 1;  /**< IPD interrupt
11485232812Sjmallett                                                         See IPD_INT_SUM */
11486232812Sjmallett	uint64_t l2c                          : 1;  /**< L2C interrupt
11487232812Sjmallett                                                         See L2C_INT_REG */
11488232812Sjmallett	uint64_t pow                          : 1;  /**< POW err interrupt
11489232812Sjmallett                                                         See POW_ECC_ERR */
11490232812Sjmallett	uint64_t fpa                          : 1;  /**< FPA interrupt
11491232812Sjmallett                                                         See FPA_INT_SUM */
11492232812Sjmallett	uint64_t iob                          : 1;  /**< IOB interrupt
11493232812Sjmallett                                                         See IOB_INT_SUM */
11494232812Sjmallett	uint64_t mio                          : 1;  /**< MIO boot interrupt
11495232812Sjmallett                                                         See MIO_BOOT_ERR */
11496232812Sjmallett	uint64_t nand                         : 1;  /**< EMMC Flash Controller interrupt
11497232812Sjmallett                                                         See EMMC interrupt */
11498232812Sjmallett	uint64_t mii1                         : 1;  /**< RGMII/MII/MIX Interface 1 Interrupt
11499232812Sjmallett                                                         See MIX1_ISR */
11500232812Sjmallett	uint64_t reserved_10_17               : 8;
11501232812Sjmallett	uint64_t wdog                         : 10; /**< Per PP watchdog interrupts */
11502232812Sjmallett#else
11503232812Sjmallett	uint64_t wdog                         : 10;
11504232812Sjmallett	uint64_t reserved_10_17               : 8;
11505232812Sjmallett	uint64_t mii1                         : 1;
11506232812Sjmallett	uint64_t nand                         : 1;
11507232812Sjmallett	uint64_t mio                          : 1;
11508232812Sjmallett	uint64_t iob                          : 1;
11509232812Sjmallett	uint64_t fpa                          : 1;
11510232812Sjmallett	uint64_t pow                          : 1;
11511232812Sjmallett	uint64_t l2c                          : 1;
11512232812Sjmallett	uint64_t ipd                          : 1;
11513232812Sjmallett	uint64_t pip                          : 1;
11514232812Sjmallett	uint64_t pko                          : 1;
11515232812Sjmallett	uint64_t zip                          : 1;
11516232812Sjmallett	uint64_t tim                          : 1;
11517232812Sjmallett	uint64_t rad                          : 1;
11518232812Sjmallett	uint64_t key                          : 1;
11519232812Sjmallett	uint64_t dfa                          : 1;
11520232812Sjmallett	uint64_t usb                          : 1;
11521232812Sjmallett	uint64_t sli                          : 1;
11522232812Sjmallett	uint64_t dpi                          : 1;
11523232812Sjmallett	uint64_t agx0                         : 1;
11524232812Sjmallett	uint64_t agx1                         : 1;
11525232812Sjmallett	uint64_t reserved_38_39               : 2;
11526232812Sjmallett	uint64_t dpi_dma                      : 1;
11527232812Sjmallett	uint64_t reserved_41_45               : 5;
11528232812Sjmallett	uint64_t agl                          : 1;
11529232812Sjmallett	uint64_t ptp                          : 1;
11530232812Sjmallett	uint64_t pem0                         : 1;
11531232812Sjmallett	uint64_t pem1                         : 1;
11532232812Sjmallett	uint64_t srio0                        : 1;
11533232812Sjmallett	uint64_t reserved_51_51               : 1;
11534232812Sjmallett	uint64_t lmc0                         : 1;
11535232812Sjmallett	uint64_t reserved_53_55               : 3;
11536232812Sjmallett	uint64_t dfm                          : 1;
11537232812Sjmallett	uint64_t reserved_57_59               : 3;
11538232812Sjmallett	uint64_t srio2                        : 1;
11539232812Sjmallett	uint64_t srio3                        : 1;
11540232812Sjmallett	uint64_t reserved_62_62               : 1;
11541232812Sjmallett	uint64_t rst                          : 1;
11542232812Sjmallett#endif
11543232812Sjmallett	} s;
11544232812Sjmallett	struct cvmx_ciu_sum1_ppx_ip2_cn61xx {
11545232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
11546232812Sjmallett	uint64_t rst                          : 1;  /**< MIO RST interrupt
11547232812Sjmallett                                                         See MIO_RST_INT */
11548232812Sjmallett	uint64_t reserved_53_62               : 10;
11549232812Sjmallett	uint64_t lmc0                         : 1;  /**< LMC0 interrupt
11550232812Sjmallett                                                         See LMC0_INT */
11551232812Sjmallett	uint64_t reserved_50_51               : 2;
11552232812Sjmallett	uint64_t pem1                         : 1;  /**< PEM1 interrupt
11553232812Sjmallett                                                         See PEM1_INT_SUM (enabled by PEM1_INT_ENB) */
11554232812Sjmallett	uint64_t pem0                         : 1;  /**< PEM0 interrupt
11555232812Sjmallett                                                         See PEM0_INT_SUM (enabled by PEM0_INT_ENB) */
11556232812Sjmallett	uint64_t ptp                          : 1;  /**< PTP interrupt
11557232812Sjmallett                                                         Set when HW decrements MIO_PTP_EVT_CNT to zero */
11558232812Sjmallett	uint64_t agl                          : 1;  /**< AGL interrupt
11559232812Sjmallett                                                         See AGL_GMX_RX*_INT_REG, AGL_GMX_TX_INT_REG */
11560232812Sjmallett	uint64_t reserved_41_45               : 5;
11561232812Sjmallett	uint64_t dpi_dma                      : 1;  /**< DPI DMA instruction completion  interrupt
11562232812Sjmallett                                                         TBD, See DPI DMA instruction completion */
11563232812Sjmallett	uint64_t reserved_38_39               : 2;
11564232812Sjmallett	uint64_t agx1                         : 1;  /**< GMX1 interrupt
11565232812Sjmallett                                                         See GMX1_RX*_INT_REG, GMX1_TX_INT_REG,
11566232812Sjmallett                                                         PCS1_INT*_REG, PCSX1_INT_REG */
11567232812Sjmallett	uint64_t agx0                         : 1;  /**< GMX0 interrupt
11568232812Sjmallett                                                         See GMX0_RX*_INT_REG, GMX0_TX_INT_REG,
11569232812Sjmallett                                                         PCS0_INT*_REG, PCSX0_INT_REG */
11570232812Sjmallett	uint64_t dpi                          : 1;  /**< DPI interrupt
11571232812Sjmallett                                                         See DPI_INT_REG */
11572232812Sjmallett	uint64_t sli                          : 1;  /**< SLI interrupt
11573232812Sjmallett                                                         See SLI_INT_SUM (enabled by SLI_INT_ENB_CIU) */
11574232812Sjmallett	uint64_t usb                          : 1;  /**< USB UCTL0 interrupt
11575232812Sjmallett                                                         See UCTL0_INT_REG */
11576232812Sjmallett	uint64_t dfa                          : 1;  /**< DFA interrupt
11577232812Sjmallett                                                         See DFA_ERROR */
11578232812Sjmallett	uint64_t key                          : 1;  /**< KEY interrupt
11579232812Sjmallett                                                         See KEY_INT_SUM */
11580232812Sjmallett	uint64_t rad                          : 1;  /**< RAD interrupt
11581232812Sjmallett                                                         See RAD_REG_ERROR */
11582232812Sjmallett	uint64_t tim                          : 1;  /**< TIM interrupt
11583232812Sjmallett                                                         See TIM_REG_ERROR */
11584232812Sjmallett	uint64_t zip                          : 1;  /**< ZIP interrupt
11585232812Sjmallett                                                         See ZIP_ERROR */
11586232812Sjmallett	uint64_t pko                          : 1;  /**< PKO interrupt
11587232812Sjmallett                                                         See PKO_REG_ERROR */
11588232812Sjmallett	uint64_t pip                          : 1;  /**< PIP interrupt
11589232812Sjmallett                                                         See PIP_INT_REG */
11590232812Sjmallett	uint64_t ipd                          : 1;  /**< IPD interrupt
11591232812Sjmallett                                                         See IPD_INT_SUM */
11592232812Sjmallett	uint64_t l2c                          : 1;  /**< L2C interrupt
11593232812Sjmallett                                                         See L2C_INT_REG */
11594232812Sjmallett	uint64_t pow                          : 1;  /**< POW err interrupt
11595232812Sjmallett                                                         See POW_ECC_ERR */
11596232812Sjmallett	uint64_t fpa                          : 1;  /**< FPA interrupt
11597232812Sjmallett                                                         See FPA_INT_SUM */
11598232812Sjmallett	uint64_t iob                          : 1;  /**< IOB interrupt
11599232812Sjmallett                                                         See IOB_INT_SUM */
11600232812Sjmallett	uint64_t mio                          : 1;  /**< MIO boot interrupt
11601232812Sjmallett                                                         See MIO_BOOT_ERR */
11602232812Sjmallett	uint64_t nand                         : 1;  /**< EMMC Flash Controller interrupt
11603232812Sjmallett                                                         See EMMC interrupt */
11604232812Sjmallett	uint64_t mii1                         : 1;  /**< RGMII/MIX Interface 1 Interrupt
11605232812Sjmallett                                                         See MIX1_ISR */
11606232812Sjmallett	uint64_t reserved_4_17                : 14;
11607232812Sjmallett	uint64_t wdog                         : 4;  /**< Per PP watchdog interrupts */
11608232812Sjmallett#else
11609232812Sjmallett	uint64_t wdog                         : 4;
11610232812Sjmallett	uint64_t reserved_4_17                : 14;
11611232812Sjmallett	uint64_t mii1                         : 1;
11612232812Sjmallett	uint64_t nand                         : 1;
11613232812Sjmallett	uint64_t mio                          : 1;
11614232812Sjmallett	uint64_t iob                          : 1;
11615232812Sjmallett	uint64_t fpa                          : 1;
11616232812Sjmallett	uint64_t pow                          : 1;
11617232812Sjmallett	uint64_t l2c                          : 1;
11618232812Sjmallett	uint64_t ipd                          : 1;
11619232812Sjmallett	uint64_t pip                          : 1;
11620232812Sjmallett	uint64_t pko                          : 1;
11621232812Sjmallett	uint64_t zip                          : 1;
11622232812Sjmallett	uint64_t tim                          : 1;
11623232812Sjmallett	uint64_t rad                          : 1;
11624232812Sjmallett	uint64_t key                          : 1;
11625232812Sjmallett	uint64_t dfa                          : 1;
11626232812Sjmallett	uint64_t usb                          : 1;
11627232812Sjmallett	uint64_t sli                          : 1;
11628232812Sjmallett	uint64_t dpi                          : 1;
11629232812Sjmallett	uint64_t agx0                         : 1;
11630232812Sjmallett	uint64_t agx1                         : 1;
11631232812Sjmallett	uint64_t reserved_38_39               : 2;
11632232812Sjmallett	uint64_t dpi_dma                      : 1;
11633232812Sjmallett	uint64_t reserved_41_45               : 5;
11634232812Sjmallett	uint64_t agl                          : 1;
11635232812Sjmallett	uint64_t ptp                          : 1;
11636232812Sjmallett	uint64_t pem0                         : 1;
11637232812Sjmallett	uint64_t pem1                         : 1;
11638232812Sjmallett	uint64_t reserved_50_51               : 2;
11639232812Sjmallett	uint64_t lmc0                         : 1;
11640232812Sjmallett	uint64_t reserved_53_62               : 10;
11641232812Sjmallett	uint64_t rst                          : 1;
11642232812Sjmallett#endif
11643232812Sjmallett	} cn61xx;
11644232812Sjmallett	struct cvmx_ciu_sum1_ppx_ip2_cn66xx {
11645232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
11646232812Sjmallett	uint64_t rst                          : 1;  /**< MIO RST interrupt
11647232812Sjmallett                                                         See MIO_RST_INT */
11648232812Sjmallett	uint64_t reserved_62_62               : 1;
11649232812Sjmallett	uint64_t srio3                        : 1;  /**< SRIO3 interrupt
11650232812Sjmallett                                                         See SRIO3_INT_REG, SRIO3_INT2_REG */
11651232812Sjmallett	uint64_t srio2                        : 1;  /**< SRIO2 interrupt
11652232812Sjmallett                                                         See SRIO2_INT_REG, SRIO2_INT2_REG */
11653232812Sjmallett	uint64_t reserved_57_59               : 3;
11654232812Sjmallett	uint64_t dfm                          : 1;  /**< DFM Interrupt
11655232812Sjmallett                                                         See DFM_FNT_STAT */
11656232812Sjmallett	uint64_t reserved_53_55               : 3;
11657232812Sjmallett	uint64_t lmc0                         : 1;  /**< LMC0 interrupt
11658232812Sjmallett                                                         See LMC0_INT */
11659232812Sjmallett	uint64_t reserved_51_51               : 1;
11660232812Sjmallett	uint64_t srio0                        : 1;  /**< SRIO0 interrupt
11661232812Sjmallett                                                         See SRIO0_INT_REG, SRIO0_INT2_REG */
11662232812Sjmallett	uint64_t pem1                         : 1;  /**< PEM1 interrupt
11663232812Sjmallett                                                         See PEM1_INT_SUM (enabled by PEM1_INT_ENB) */
11664232812Sjmallett	uint64_t pem0                         : 1;  /**< PEM0 interrupt
11665232812Sjmallett                                                         See PEM0_INT_SUM (enabled by PEM0_INT_ENB) */
11666232812Sjmallett	uint64_t ptp                          : 1;  /**< PTP interrupt
11667232812Sjmallett                                                         Set when HW decrements MIO_PTP_EVT_CNT to zero */
11668232812Sjmallett	uint64_t agl                          : 1;  /**< AGL interrupt
11669232812Sjmallett                                                         See AGL_GMX_RX*_INT_REG, AGL_GMX_TX_INT_REG */
11670232812Sjmallett	uint64_t reserved_38_45               : 8;
11671232812Sjmallett	uint64_t agx1                         : 1;  /**< GMX1 interrupt
11672232812Sjmallett                                                         See GMX1_RX*_INT_REG, GMX1_TX_INT_REG,
11673232812Sjmallett                                                         PCS1_INT*_REG, PCSX1_INT_REG */
11674232812Sjmallett	uint64_t agx0                         : 1;  /**< GMX0 interrupt
11675232812Sjmallett                                                         See GMX0_RX*_INT_REG, GMX0_TX_INT_REG,
11676232812Sjmallett                                                         PCS0_INT*_REG, PCSX0_INT_REG */
11677232812Sjmallett	uint64_t dpi                          : 1;  /**< DPI interrupt
11678232812Sjmallett                                                         See DPI_INT_REG */
11679232812Sjmallett	uint64_t sli                          : 1;  /**< SLI interrupt
11680232812Sjmallett                                                         See SLI_INT_SUM (enabled by SLI_INT_ENB_CIU) */
11681232812Sjmallett	uint64_t usb                          : 1;  /**< USB UCTL0 interrupt
11682232812Sjmallett                                                         See UCTL0_INT_REG */
11683232812Sjmallett	uint64_t dfa                          : 1;  /**< DFA interrupt
11684232812Sjmallett                                                         See DFA_ERROR */
11685232812Sjmallett	uint64_t key                          : 1;  /**< KEY interrupt
11686232812Sjmallett                                                         See KEY_INT_SUM */
11687232812Sjmallett	uint64_t rad                          : 1;  /**< RAD interrupt
11688232812Sjmallett                                                         See RAD_REG_ERROR */
11689232812Sjmallett	uint64_t tim                          : 1;  /**< TIM interrupt
11690232812Sjmallett                                                         See TIM_REG_ERROR */
11691232812Sjmallett	uint64_t zip                          : 1;  /**< ZIP interrupt
11692232812Sjmallett                                                         See ZIP_ERROR */
11693232812Sjmallett	uint64_t pko                          : 1;  /**< PKO interrupt
11694232812Sjmallett                                                         See PKO_REG_ERROR */
11695232812Sjmallett	uint64_t pip                          : 1;  /**< PIP interrupt
11696232812Sjmallett                                                         See PIP_INT_REG */
11697232812Sjmallett	uint64_t ipd                          : 1;  /**< IPD interrupt
11698232812Sjmallett                                                         See IPD_INT_SUM */
11699232812Sjmallett	uint64_t l2c                          : 1;  /**< L2C interrupt
11700232812Sjmallett                                                         See L2C_INT_REG */
11701232812Sjmallett	uint64_t pow                          : 1;  /**< POW err interrupt
11702232812Sjmallett                                                         See POW_ECC_ERR */
11703232812Sjmallett	uint64_t fpa                          : 1;  /**< FPA interrupt
11704232812Sjmallett                                                         See FPA_INT_SUM */
11705232812Sjmallett	uint64_t iob                          : 1;  /**< IOB interrupt
11706232812Sjmallett                                                         See IOB_INT_SUM */
11707232812Sjmallett	uint64_t mio                          : 1;  /**< MIO boot interrupt
11708232812Sjmallett                                                         See MIO_BOOT_ERR */
11709232812Sjmallett	uint64_t nand                         : 1;  /**< NAND Flash Controller interrupt
11710232812Sjmallett                                                         See NDF_INT */
11711232812Sjmallett	uint64_t mii1                         : 1;  /**< RGMII/MII/MIX Interface 1 Interrupt
11712232812Sjmallett                                                         See MIX1_ISR */
11713232812Sjmallett	uint64_t reserved_10_17               : 8;
11714232812Sjmallett	uint64_t wdog                         : 10; /**< 10 watchdog interrupts */
11715232812Sjmallett#else
11716232812Sjmallett	uint64_t wdog                         : 10;
11717232812Sjmallett	uint64_t reserved_10_17               : 8;
11718232812Sjmallett	uint64_t mii1                         : 1;
11719232812Sjmallett	uint64_t nand                         : 1;
11720232812Sjmallett	uint64_t mio                          : 1;
11721232812Sjmallett	uint64_t iob                          : 1;
11722232812Sjmallett	uint64_t fpa                          : 1;
11723232812Sjmallett	uint64_t pow                          : 1;
11724232812Sjmallett	uint64_t l2c                          : 1;
11725232812Sjmallett	uint64_t ipd                          : 1;
11726232812Sjmallett	uint64_t pip                          : 1;
11727232812Sjmallett	uint64_t pko                          : 1;
11728232812Sjmallett	uint64_t zip                          : 1;
11729232812Sjmallett	uint64_t tim                          : 1;
11730232812Sjmallett	uint64_t rad                          : 1;
11731232812Sjmallett	uint64_t key                          : 1;
11732232812Sjmallett	uint64_t dfa                          : 1;
11733232812Sjmallett	uint64_t usb                          : 1;
11734232812Sjmallett	uint64_t sli                          : 1;
11735232812Sjmallett	uint64_t dpi                          : 1;
11736232812Sjmallett	uint64_t agx0                         : 1;
11737232812Sjmallett	uint64_t agx1                         : 1;
11738232812Sjmallett	uint64_t reserved_38_45               : 8;
11739232812Sjmallett	uint64_t agl                          : 1;
11740232812Sjmallett	uint64_t ptp                          : 1;
11741232812Sjmallett	uint64_t pem0                         : 1;
11742232812Sjmallett	uint64_t pem1                         : 1;
11743232812Sjmallett	uint64_t srio0                        : 1;
11744232812Sjmallett	uint64_t reserved_51_51               : 1;
11745232812Sjmallett	uint64_t lmc0                         : 1;
11746232812Sjmallett	uint64_t reserved_53_55               : 3;
11747232812Sjmallett	uint64_t dfm                          : 1;
11748232812Sjmallett	uint64_t reserved_57_59               : 3;
11749232812Sjmallett	uint64_t srio2                        : 1;
11750232812Sjmallett	uint64_t srio3                        : 1;
11751232812Sjmallett	uint64_t reserved_62_62               : 1;
11752232812Sjmallett	uint64_t rst                          : 1;
11753232812Sjmallett#endif
11754232812Sjmallett	} cn66xx;
11755232812Sjmallett	struct cvmx_ciu_sum1_ppx_ip2_cnf71xx {
11756232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
11757232812Sjmallett	uint64_t rst                          : 1;  /**< MIO RST interrupt
11758232812Sjmallett                                                         See MIO_RST_INT */
11759232812Sjmallett	uint64_t reserved_53_62               : 10;
11760232812Sjmallett	uint64_t lmc0                         : 1;  /**< LMC0 interrupt
11761232812Sjmallett                                                         See LMC0_INT */
11762232812Sjmallett	uint64_t reserved_50_51               : 2;
11763232812Sjmallett	uint64_t pem1                         : 1;  /**< PEM1 interrupt
11764232812Sjmallett                                                         See PEM1_INT_SUM (enabled by PEM1_INT_ENB) */
11765232812Sjmallett	uint64_t pem0                         : 1;  /**< PEM0 interrupt
11766232812Sjmallett                                                         See PEM0_INT_SUM (enabled by PEM0_INT_ENB) */
11767232812Sjmallett	uint64_t ptp                          : 1;  /**< PTP interrupt
11768232812Sjmallett                                                         Set when HW decrements MIO_PTP_EVT_CNT to zero */
11769232812Sjmallett	uint64_t reserved_41_46               : 6;
11770232812Sjmallett	uint64_t dpi_dma                      : 1;  /**< DPI DMA instruction completion  interrupt
11771232812Sjmallett                                                         TBD, See DPI DMA instruction completion */
11772232812Sjmallett	uint64_t reserved_37_39               : 3;
11773232812Sjmallett	uint64_t agx0                         : 1;  /**< GMX0 interrupt
11774232812Sjmallett                                                         See GMX0_RX*_INT_REG, GMX0_TX_INT_REG,
11775232812Sjmallett                                                         PCS0_INT*_REG, PCSX0_INT_REG */
11776232812Sjmallett	uint64_t dpi                          : 1;  /**< DPI interrupt
11777232812Sjmallett                                                         See DPI_INT_REG */
11778232812Sjmallett	uint64_t sli                          : 1;  /**< SLI interrupt
11779232812Sjmallett                                                         See SLI_INT_SUM (enabled by SLI_INT_ENB_CIU) */
11780232812Sjmallett	uint64_t usb                          : 1;  /**< USB UCTL0 interrupt
11781232812Sjmallett                                                         See UCTL0_INT_REG */
11782232812Sjmallett	uint64_t reserved_32_32               : 1;
11783232812Sjmallett	uint64_t key                          : 1;  /**< KEY interrupt
11784232812Sjmallett                                                         See KEY_INT_SUM */
11785232812Sjmallett	uint64_t rad                          : 1;  /**< RAD interrupt
11786232812Sjmallett                                                         See RAD_REG_ERROR */
11787232812Sjmallett	uint64_t tim                          : 1;  /**< TIM interrupt
11788232812Sjmallett                                                         See TIM_REG_ERROR */
11789232812Sjmallett	uint64_t reserved_28_28               : 1;
11790232812Sjmallett	uint64_t pko                          : 1;  /**< PKO interrupt
11791232812Sjmallett                                                         See PKO_REG_ERROR */
11792232812Sjmallett	uint64_t pip                          : 1;  /**< PIP interrupt
11793232812Sjmallett                                                         See PIP_INT_REG */
11794232812Sjmallett	uint64_t ipd                          : 1;  /**< IPD interrupt
11795232812Sjmallett                                                         See IPD_INT_SUM */
11796232812Sjmallett	uint64_t l2c                          : 1;  /**< L2C interrupt
11797232812Sjmallett                                                         See L2C_INT_REG */
11798232812Sjmallett	uint64_t pow                          : 1;  /**< POW err interrupt
11799232812Sjmallett                                                         See POW_ECC_ERR */
11800232812Sjmallett	uint64_t fpa                          : 1;  /**< FPA interrupt
11801232812Sjmallett                                                         See FPA_INT_SUM */
11802232812Sjmallett	uint64_t iob                          : 1;  /**< IOB interrupt
11803232812Sjmallett                                                         See IOB_INT_SUM */
11804232812Sjmallett	uint64_t mio                          : 1;  /**< MIO boot interrupt
11805232812Sjmallett                                                         See MIO_BOOT_ERR */
11806232812Sjmallett	uint64_t nand                         : 1;  /**< EMMC Flash Controller interrupt
11807232812Sjmallett                                                         See EMMC interrupt */
11808232812Sjmallett	uint64_t reserved_4_18                : 15;
11809232812Sjmallett	uint64_t wdog                         : 4;  /**< Per PP watchdog interrupts */
11810232812Sjmallett#else
11811232812Sjmallett	uint64_t wdog                         : 4;
11812232812Sjmallett	uint64_t reserved_4_18                : 15;
11813232812Sjmallett	uint64_t nand                         : 1;
11814232812Sjmallett	uint64_t mio                          : 1;
11815232812Sjmallett	uint64_t iob                          : 1;
11816232812Sjmallett	uint64_t fpa                          : 1;
11817232812Sjmallett	uint64_t pow                          : 1;
11818232812Sjmallett	uint64_t l2c                          : 1;
11819232812Sjmallett	uint64_t ipd                          : 1;
11820232812Sjmallett	uint64_t pip                          : 1;
11821232812Sjmallett	uint64_t pko                          : 1;
11822232812Sjmallett	uint64_t reserved_28_28               : 1;
11823232812Sjmallett	uint64_t tim                          : 1;
11824232812Sjmallett	uint64_t rad                          : 1;
11825232812Sjmallett	uint64_t key                          : 1;
11826232812Sjmallett	uint64_t reserved_32_32               : 1;
11827232812Sjmallett	uint64_t usb                          : 1;
11828232812Sjmallett	uint64_t sli                          : 1;
11829232812Sjmallett	uint64_t dpi                          : 1;
11830232812Sjmallett	uint64_t agx0                         : 1;
11831232812Sjmallett	uint64_t reserved_37_39               : 3;
11832232812Sjmallett	uint64_t dpi_dma                      : 1;
11833232812Sjmallett	uint64_t reserved_41_46               : 6;
11834232812Sjmallett	uint64_t ptp                          : 1;
11835232812Sjmallett	uint64_t pem0                         : 1;
11836232812Sjmallett	uint64_t pem1                         : 1;
11837232812Sjmallett	uint64_t reserved_50_51               : 2;
11838232812Sjmallett	uint64_t lmc0                         : 1;
11839232812Sjmallett	uint64_t reserved_53_62               : 10;
11840232812Sjmallett	uint64_t rst                          : 1;
11841232812Sjmallett#endif
11842232812Sjmallett	} cnf71xx;
11843232812Sjmallett};
11844232812Sjmalletttypedef union cvmx_ciu_sum1_ppx_ip2 cvmx_ciu_sum1_ppx_ip2_t;
11845232812Sjmallett
11846232812Sjmallett/**
11847232812Sjmallett * cvmx_ciu_sum1_pp#_ip3
11848232812Sjmallett *
11849232812Sjmallett * Notes:
11850232812Sjmallett * SUM1 becomes per IPx in o65/6 and afterwards. Only Field <40> DPI_DMA will have
11851232812Sjmallett * different value per PP(IP) for  $CIU_SUM1_PPx_IPy, and <40> DPI_DMA will always
11852232812Sjmallett * be zero for  $CIU_SUM1_IOX_INT. All other fields ([63:41] and [39:0]) values  are idential for
11853232812Sjmallett * different PPs, same value as $CIU_INT_SUM1.
11854232812Sjmallett * Write to any IRQ's PTP fields will clear PTP for all IRQ's PTP field.
11855232812Sjmallett */
11856232812Sjmallettunion cvmx_ciu_sum1_ppx_ip3 {
11857232812Sjmallett	uint64_t u64;
11858232812Sjmallett	struct cvmx_ciu_sum1_ppx_ip3_s {
11859232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
11860232812Sjmallett	uint64_t rst                          : 1;  /**< MIO RST interrupt
11861232812Sjmallett                                                         See MIO_RST_INT */
11862232812Sjmallett	uint64_t reserved_62_62               : 1;
11863232812Sjmallett	uint64_t srio3                        : 1;  /**< SRIO3 interrupt
11864232812Sjmallett                                                         See SRIO3_INT_REG, SRIO3_INT2_REG */
11865232812Sjmallett	uint64_t srio2                        : 1;  /**< SRIO2 interrupt
11866232812Sjmallett                                                         See SRIO2_INT_REG, SRIO2_INT2_REG */
11867232812Sjmallett	uint64_t reserved_57_59               : 3;
11868232812Sjmallett	uint64_t dfm                          : 1;  /**< DFM Interrupt
11869232812Sjmallett                                                         See DFM_FNT_STAT */
11870232812Sjmallett	uint64_t reserved_53_55               : 3;
11871232812Sjmallett	uint64_t lmc0                         : 1;  /**< LMC0 interrupt
11872232812Sjmallett                                                         See LMC0_INT */
11873232812Sjmallett	uint64_t reserved_51_51               : 1;
11874232812Sjmallett	uint64_t srio0                        : 1;  /**< SRIO0 interrupt
11875232812Sjmallett                                                         See SRIO0_INT_REG, SRIO0_INT2_REG */
11876232812Sjmallett	uint64_t pem1                         : 1;  /**< PEM1 interrupt
11877232812Sjmallett                                                         See PEM1_INT_SUM (enabled by PEM1_INT_ENB) */
11878232812Sjmallett	uint64_t pem0                         : 1;  /**< PEM0 interrupt
11879232812Sjmallett                                                         See PEM0_INT_SUM (enabled by PEM0_INT_ENB) */
11880232812Sjmallett	uint64_t ptp                          : 1;  /**< PTP interrupt
11881232812Sjmallett                                                         Set when HW decrements MIO_PTP_EVT_CNT to zero */
11882232812Sjmallett	uint64_t agl                          : 1;  /**< AGL interrupt
11883232812Sjmallett                                                         See AGL_GMX_RX*_INT_REG, AGL_GMX_TX_INT_REG */
11884232812Sjmallett	uint64_t reserved_41_45               : 5;
11885232812Sjmallett	uint64_t dpi_dma                      : 1;  /**< DPI DMA instruction completion  interrupt
11886232812Sjmallett                                                         TBD, See DPI DMA instruction completion */
11887232812Sjmallett	uint64_t reserved_38_39               : 2;
11888232812Sjmallett	uint64_t agx1                         : 1;  /**< GMX1 interrupt
11889232812Sjmallett                                                         See GMX1_RX*_INT_REG, GMX1_TX_INT_REG,
11890232812Sjmallett                                                         PCS1_INT*_REG, PCSX1_INT_REG */
11891232812Sjmallett	uint64_t agx0                         : 1;  /**< GMX0 interrupt
11892232812Sjmallett                                                         See GMX0_RX*_INT_REG, GMX0_TX_INT_REG,
11893232812Sjmallett                                                         PCS0_INT*_REG, PCSX0_INT_REG */
11894232812Sjmallett	uint64_t dpi                          : 1;  /**< DPI interrupt
11895232812Sjmallett                                                         See DPI_INT_REG */
11896232812Sjmallett	uint64_t sli                          : 1;  /**< SLI interrupt
11897232812Sjmallett                                                         See SLI_INT_SUM (enabled by SLI_INT_ENB_CIU) */
11898232812Sjmallett	uint64_t usb                          : 1;  /**< USB UCTL0 interrupt
11899232812Sjmallett                                                         See UCTL0_INT_REG */
11900232812Sjmallett	uint64_t dfa                          : 1;  /**< DFA interrupt
11901232812Sjmallett                                                         See DFA_ERROR */
11902232812Sjmallett	uint64_t key                          : 1;  /**< KEY interrupt
11903232812Sjmallett                                                         See KEY_INT_SUM */
11904232812Sjmallett	uint64_t rad                          : 1;  /**< RAD interrupt
11905232812Sjmallett                                                         See RAD_REG_ERROR */
11906232812Sjmallett	uint64_t tim                          : 1;  /**< TIM interrupt
11907232812Sjmallett                                                         See TIM_REG_ERROR */
11908232812Sjmallett	uint64_t zip                          : 1;  /**< ZIP interrupt
11909232812Sjmallett                                                         See ZIP_ERROR */
11910232812Sjmallett	uint64_t pko                          : 1;  /**< PKO interrupt
11911232812Sjmallett                                                         See PKO_REG_ERROR */
11912232812Sjmallett	uint64_t pip                          : 1;  /**< PIP interrupt
11913232812Sjmallett                                                         See PIP_INT_REG */
11914232812Sjmallett	uint64_t ipd                          : 1;  /**< IPD interrupt
11915232812Sjmallett                                                         See IPD_INT_SUM */
11916232812Sjmallett	uint64_t l2c                          : 1;  /**< L2C interrupt
11917232812Sjmallett                                                         See L2C_INT_REG */
11918232812Sjmallett	uint64_t pow                          : 1;  /**< POW err interrupt
11919232812Sjmallett                                                         See POW_ECC_ERR */
11920232812Sjmallett	uint64_t fpa                          : 1;  /**< FPA interrupt
11921232812Sjmallett                                                         See FPA_INT_SUM */
11922232812Sjmallett	uint64_t iob                          : 1;  /**< IOB interrupt
11923232812Sjmallett                                                         See IOB_INT_SUM */
11924232812Sjmallett	uint64_t mio                          : 1;  /**< MIO boot interrupt
11925232812Sjmallett                                                         See MIO_BOOT_ERR */
11926232812Sjmallett	uint64_t nand                         : 1;  /**< EMMC Flash Controller interrupt
11927232812Sjmallett                                                         See EMMC interrupt */
11928232812Sjmallett	uint64_t mii1                         : 1;  /**< RGMII/MII/MIX Interface 1 Interrupt
11929232812Sjmallett                                                         See MIX1_ISR */
11930232812Sjmallett	uint64_t reserved_10_17               : 8;
11931232812Sjmallett	uint64_t wdog                         : 10; /**< Per PP watchdog interrupts */
11932232812Sjmallett#else
11933232812Sjmallett	uint64_t wdog                         : 10;
11934232812Sjmallett	uint64_t reserved_10_17               : 8;
11935232812Sjmallett	uint64_t mii1                         : 1;
11936232812Sjmallett	uint64_t nand                         : 1;
11937232812Sjmallett	uint64_t mio                          : 1;
11938232812Sjmallett	uint64_t iob                          : 1;
11939232812Sjmallett	uint64_t fpa                          : 1;
11940232812Sjmallett	uint64_t pow                          : 1;
11941232812Sjmallett	uint64_t l2c                          : 1;
11942232812Sjmallett	uint64_t ipd                          : 1;
11943232812Sjmallett	uint64_t pip                          : 1;
11944232812Sjmallett	uint64_t pko                          : 1;
11945232812Sjmallett	uint64_t zip                          : 1;
11946232812Sjmallett	uint64_t tim                          : 1;
11947232812Sjmallett	uint64_t rad                          : 1;
11948232812Sjmallett	uint64_t key                          : 1;
11949232812Sjmallett	uint64_t dfa                          : 1;
11950232812Sjmallett	uint64_t usb                          : 1;
11951232812Sjmallett	uint64_t sli                          : 1;
11952232812Sjmallett	uint64_t dpi                          : 1;
11953232812Sjmallett	uint64_t agx0                         : 1;
11954232812Sjmallett	uint64_t agx1                         : 1;
11955232812Sjmallett	uint64_t reserved_38_39               : 2;
11956232812Sjmallett	uint64_t dpi_dma                      : 1;
11957232812Sjmallett	uint64_t reserved_41_45               : 5;
11958232812Sjmallett	uint64_t agl                          : 1;
11959232812Sjmallett	uint64_t ptp                          : 1;
11960232812Sjmallett	uint64_t pem0                         : 1;
11961232812Sjmallett	uint64_t pem1                         : 1;
11962232812Sjmallett	uint64_t srio0                        : 1;
11963232812Sjmallett	uint64_t reserved_51_51               : 1;
11964232812Sjmallett	uint64_t lmc0                         : 1;
11965232812Sjmallett	uint64_t reserved_53_55               : 3;
11966232812Sjmallett	uint64_t dfm                          : 1;
11967232812Sjmallett	uint64_t reserved_57_59               : 3;
11968232812Sjmallett	uint64_t srio2                        : 1;
11969232812Sjmallett	uint64_t srio3                        : 1;
11970232812Sjmallett	uint64_t reserved_62_62               : 1;
11971232812Sjmallett	uint64_t rst                          : 1;
11972232812Sjmallett#endif
11973232812Sjmallett	} s;
11974232812Sjmallett	struct cvmx_ciu_sum1_ppx_ip3_cn61xx {
11975232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
11976232812Sjmallett	uint64_t rst                          : 1;  /**< MIO RST interrupt
11977232812Sjmallett                                                         See MIO_RST_INT */
11978232812Sjmallett	uint64_t reserved_53_62               : 10;
11979232812Sjmallett	uint64_t lmc0                         : 1;  /**< LMC0 interrupt
11980232812Sjmallett                                                         See LMC0_INT */
11981232812Sjmallett	uint64_t reserved_50_51               : 2;
11982232812Sjmallett	uint64_t pem1                         : 1;  /**< PEM1 interrupt
11983232812Sjmallett                                                         See PEM1_INT_SUM (enabled by PEM1_INT_ENB) */
11984232812Sjmallett	uint64_t pem0                         : 1;  /**< PEM0 interrupt
11985232812Sjmallett                                                         See PEM0_INT_SUM (enabled by PEM0_INT_ENB) */
11986232812Sjmallett	uint64_t ptp                          : 1;  /**< PTP interrupt
11987232812Sjmallett                                                         Set when HW decrements MIO_PTP_EVT_CNT to zero */
11988232812Sjmallett	uint64_t agl                          : 1;  /**< AGL interrupt
11989232812Sjmallett                                                         See AGL_GMX_RX*_INT_REG, AGL_GMX_TX_INT_REG */
11990232812Sjmallett	uint64_t reserved_41_45               : 5;
11991232812Sjmallett	uint64_t dpi_dma                      : 1;  /**< DPI DMA instruction completion  interrupt
11992232812Sjmallett                                                         TBD, See DPI DMA instruction completion */
11993232812Sjmallett	uint64_t reserved_38_39               : 2;
11994232812Sjmallett	uint64_t agx1                         : 1;  /**< GMX1 interrupt
11995232812Sjmallett                                                         See GMX1_RX*_INT_REG, GMX1_TX_INT_REG,
11996232812Sjmallett                                                         PCS1_INT*_REG, PCSX1_INT_REG */
11997232812Sjmallett	uint64_t agx0                         : 1;  /**< GMX0 interrupt
11998232812Sjmallett                                                         See GMX0_RX*_INT_REG, GMX0_TX_INT_REG,
11999232812Sjmallett                                                         PCS0_INT*_REG, PCSX0_INT_REG */
12000232812Sjmallett	uint64_t dpi                          : 1;  /**< DPI interrupt
12001232812Sjmallett                                                         See DPI_INT_REG */
12002232812Sjmallett	uint64_t sli                          : 1;  /**< SLI interrupt
12003232812Sjmallett                                                         See SLI_INT_SUM (enabled by SLI_INT_ENB_CIU) */
12004232812Sjmallett	uint64_t usb                          : 1;  /**< USB UCTL0 interrupt
12005232812Sjmallett                                                         See UCTL0_INT_REG */
12006232812Sjmallett	uint64_t dfa                          : 1;  /**< DFA interrupt
12007232812Sjmallett                                                         See DFA_ERROR */
12008232812Sjmallett	uint64_t key                          : 1;  /**< KEY interrupt
12009232812Sjmallett                                                         See KEY_INT_SUM */
12010232812Sjmallett	uint64_t rad                          : 1;  /**< RAD interrupt
12011232812Sjmallett                                                         See RAD_REG_ERROR */
12012232812Sjmallett	uint64_t tim                          : 1;  /**< TIM interrupt
12013232812Sjmallett                                                         See TIM_REG_ERROR */
12014232812Sjmallett	uint64_t zip                          : 1;  /**< ZIP interrupt
12015232812Sjmallett                                                         See ZIP_ERROR */
12016232812Sjmallett	uint64_t pko                          : 1;  /**< PKO interrupt
12017232812Sjmallett                                                         See PKO_REG_ERROR */
12018232812Sjmallett	uint64_t pip                          : 1;  /**< PIP interrupt
12019232812Sjmallett                                                         See PIP_INT_REG */
12020232812Sjmallett	uint64_t ipd                          : 1;  /**< IPD interrupt
12021232812Sjmallett                                                         See IPD_INT_SUM */
12022232812Sjmallett	uint64_t l2c                          : 1;  /**< L2C interrupt
12023232812Sjmallett                                                         See L2C_INT_REG */
12024232812Sjmallett	uint64_t pow                          : 1;  /**< POW err interrupt
12025232812Sjmallett                                                         See POW_ECC_ERR */
12026232812Sjmallett	uint64_t fpa                          : 1;  /**< FPA interrupt
12027232812Sjmallett                                                         See FPA_INT_SUM */
12028232812Sjmallett	uint64_t iob                          : 1;  /**< IOB interrupt
12029232812Sjmallett                                                         See IOB_INT_SUM */
12030232812Sjmallett	uint64_t mio                          : 1;  /**< MIO boot interrupt
12031232812Sjmallett                                                         See MIO_BOOT_ERR */
12032232812Sjmallett	uint64_t nand                         : 1;  /**< EMMC Flash Controller interrupt
12033232812Sjmallett                                                         See EMMC interrupt */
12034232812Sjmallett	uint64_t mii1                         : 1;  /**< RGMII/MIX Interface 1 Interrupt
12035232812Sjmallett                                                         See MIX1_ISR */
12036232812Sjmallett	uint64_t reserved_4_17                : 14;
12037232812Sjmallett	uint64_t wdog                         : 4;  /**< Per PP watchdog interrupts */
12038232812Sjmallett#else
12039232812Sjmallett	uint64_t wdog                         : 4;
12040232812Sjmallett	uint64_t reserved_4_17                : 14;
12041232812Sjmallett	uint64_t mii1                         : 1;
12042232812Sjmallett	uint64_t nand                         : 1;
12043232812Sjmallett	uint64_t mio                          : 1;
12044232812Sjmallett	uint64_t iob                          : 1;
12045232812Sjmallett	uint64_t fpa                          : 1;
12046232812Sjmallett	uint64_t pow                          : 1;
12047232812Sjmallett	uint64_t l2c                          : 1;
12048232812Sjmallett	uint64_t ipd                          : 1;
12049232812Sjmallett	uint64_t pip                          : 1;
12050232812Sjmallett	uint64_t pko                          : 1;
12051232812Sjmallett	uint64_t zip                          : 1;
12052232812Sjmallett	uint64_t tim                          : 1;
12053232812Sjmallett	uint64_t rad                          : 1;
12054232812Sjmallett	uint64_t key                          : 1;
12055232812Sjmallett	uint64_t dfa                          : 1;
12056232812Sjmallett	uint64_t usb                          : 1;
12057232812Sjmallett	uint64_t sli                          : 1;
12058232812Sjmallett	uint64_t dpi                          : 1;
12059232812Sjmallett	uint64_t agx0                         : 1;
12060232812Sjmallett	uint64_t agx1                         : 1;
12061232812Sjmallett	uint64_t reserved_38_39               : 2;
12062232812Sjmallett	uint64_t dpi_dma                      : 1;
12063232812Sjmallett	uint64_t reserved_41_45               : 5;
12064232812Sjmallett	uint64_t agl                          : 1;
12065232812Sjmallett	uint64_t ptp                          : 1;
12066232812Sjmallett	uint64_t pem0                         : 1;
12067232812Sjmallett	uint64_t pem1                         : 1;
12068232812Sjmallett	uint64_t reserved_50_51               : 2;
12069232812Sjmallett	uint64_t lmc0                         : 1;
12070232812Sjmallett	uint64_t reserved_53_62               : 10;
12071232812Sjmallett	uint64_t rst                          : 1;
12072232812Sjmallett#endif
12073232812Sjmallett	} cn61xx;
12074232812Sjmallett	struct cvmx_ciu_sum1_ppx_ip3_cn66xx {
12075232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
12076232812Sjmallett	uint64_t rst                          : 1;  /**< MIO RST interrupt
12077232812Sjmallett                                                         See MIO_RST_INT */
12078232812Sjmallett	uint64_t reserved_62_62               : 1;
12079232812Sjmallett	uint64_t srio3                        : 1;  /**< SRIO3 interrupt
12080232812Sjmallett                                                         See SRIO3_INT_REG, SRIO3_INT2_REG */
12081232812Sjmallett	uint64_t srio2                        : 1;  /**< SRIO2 interrupt
12082232812Sjmallett                                                         See SRIO2_INT_REG, SRIO2_INT2_REG */
12083232812Sjmallett	uint64_t reserved_57_59               : 3;
12084232812Sjmallett	uint64_t dfm                          : 1;  /**< DFM Interrupt
12085232812Sjmallett                                                         See DFM_FNT_STAT */
12086232812Sjmallett	uint64_t reserved_53_55               : 3;
12087232812Sjmallett	uint64_t lmc0                         : 1;  /**< LMC0 interrupt
12088232812Sjmallett                                                         See LMC0_INT */
12089232812Sjmallett	uint64_t reserved_51_51               : 1;
12090232812Sjmallett	uint64_t srio0                        : 1;  /**< SRIO0 interrupt
12091232812Sjmallett                                                         See SRIO0_INT_REG, SRIO0_INT2_REG */
12092232812Sjmallett	uint64_t pem1                         : 1;  /**< PEM1 interrupt
12093232812Sjmallett                                                         See PEM1_INT_SUM (enabled by PEM1_INT_ENB) */
12094232812Sjmallett	uint64_t pem0                         : 1;  /**< PEM0 interrupt
12095232812Sjmallett                                                         See PEM0_INT_SUM (enabled by PEM0_INT_ENB) */
12096232812Sjmallett	uint64_t ptp                          : 1;  /**< PTP interrupt
12097232812Sjmallett                                                         Set when HW decrements MIO_PTP_EVT_CNT to zero */
12098232812Sjmallett	uint64_t agl                          : 1;  /**< AGL interrupt
12099232812Sjmallett                                                         See AGL_GMX_RX*_INT_REG, AGL_GMX_TX_INT_REG */
12100232812Sjmallett	uint64_t reserved_38_45               : 8;
12101232812Sjmallett	uint64_t agx1                         : 1;  /**< GMX1 interrupt
12102232812Sjmallett                                                         See GMX1_RX*_INT_REG, GMX1_TX_INT_REG,
12103232812Sjmallett                                                         PCS1_INT*_REG, PCSX1_INT_REG */
12104232812Sjmallett	uint64_t agx0                         : 1;  /**< GMX0 interrupt
12105232812Sjmallett                                                         See GMX0_RX*_INT_REG, GMX0_TX_INT_REG,
12106232812Sjmallett                                                         PCS0_INT*_REG, PCSX0_INT_REG */
12107232812Sjmallett	uint64_t dpi                          : 1;  /**< DPI interrupt
12108232812Sjmallett                                                         See DPI_INT_REG */
12109232812Sjmallett	uint64_t sli                          : 1;  /**< SLI interrupt
12110232812Sjmallett                                                         See SLI_INT_SUM (enabled by SLI_INT_ENB_CIU) */
12111232812Sjmallett	uint64_t usb                          : 1;  /**< USB UCTL0 interrupt
12112232812Sjmallett                                                         See UCTL0_INT_REG */
12113232812Sjmallett	uint64_t dfa                          : 1;  /**< DFA interrupt
12114232812Sjmallett                                                         See DFA_ERROR */
12115232812Sjmallett	uint64_t key                          : 1;  /**< KEY interrupt
12116232812Sjmallett                                                         See KEY_INT_SUM */
12117232812Sjmallett	uint64_t rad                          : 1;  /**< RAD interrupt
12118232812Sjmallett                                                         See RAD_REG_ERROR */
12119232812Sjmallett	uint64_t tim                          : 1;  /**< TIM interrupt
12120232812Sjmallett                                                         See TIM_REG_ERROR */
12121232812Sjmallett	uint64_t zip                          : 1;  /**< ZIP interrupt
12122232812Sjmallett                                                         See ZIP_ERROR */
12123232812Sjmallett	uint64_t pko                          : 1;  /**< PKO interrupt
12124232812Sjmallett                                                         See PKO_REG_ERROR */
12125232812Sjmallett	uint64_t pip                          : 1;  /**< PIP interrupt
12126232812Sjmallett                                                         See PIP_INT_REG */
12127232812Sjmallett	uint64_t ipd                          : 1;  /**< IPD interrupt
12128232812Sjmallett                                                         See IPD_INT_SUM */
12129232812Sjmallett	uint64_t l2c                          : 1;  /**< L2C interrupt
12130232812Sjmallett                                                         See L2C_INT_REG */
12131232812Sjmallett	uint64_t pow                          : 1;  /**< POW err interrupt
12132232812Sjmallett                                                         See POW_ECC_ERR */
12133232812Sjmallett	uint64_t fpa                          : 1;  /**< FPA interrupt
12134232812Sjmallett                                                         See FPA_INT_SUM */
12135232812Sjmallett	uint64_t iob                          : 1;  /**< IOB interrupt
12136232812Sjmallett                                                         See IOB_INT_SUM */
12137232812Sjmallett	uint64_t mio                          : 1;  /**< MIO boot interrupt
12138232812Sjmallett                                                         See MIO_BOOT_ERR */
12139232812Sjmallett	uint64_t nand                         : 1;  /**< NAND Flash Controller interrupt
12140232812Sjmallett                                                         See NDF_INT */
12141232812Sjmallett	uint64_t mii1                         : 1;  /**< RGMII/MII/MIX Interface 1 Interrupt
12142232812Sjmallett                                                         See MIX1_ISR */
12143232812Sjmallett	uint64_t reserved_10_17               : 8;
12144232812Sjmallett	uint64_t wdog                         : 10; /**< 10 watchdog interrupts */
12145232812Sjmallett#else
12146232812Sjmallett	uint64_t wdog                         : 10;
12147232812Sjmallett	uint64_t reserved_10_17               : 8;
12148232812Sjmallett	uint64_t mii1                         : 1;
12149232812Sjmallett	uint64_t nand                         : 1;
12150232812Sjmallett	uint64_t mio                          : 1;
12151232812Sjmallett	uint64_t iob                          : 1;
12152232812Sjmallett	uint64_t fpa                          : 1;
12153232812Sjmallett	uint64_t pow                          : 1;
12154232812Sjmallett	uint64_t l2c                          : 1;
12155232812Sjmallett	uint64_t ipd                          : 1;
12156232812Sjmallett	uint64_t pip                          : 1;
12157232812Sjmallett	uint64_t pko                          : 1;
12158232812Sjmallett	uint64_t zip                          : 1;
12159232812Sjmallett	uint64_t tim                          : 1;
12160232812Sjmallett	uint64_t rad                          : 1;
12161232812Sjmallett	uint64_t key                          : 1;
12162232812Sjmallett	uint64_t dfa                          : 1;
12163232812Sjmallett	uint64_t usb                          : 1;
12164232812Sjmallett	uint64_t sli                          : 1;
12165232812Sjmallett	uint64_t dpi                          : 1;
12166232812Sjmallett	uint64_t agx0                         : 1;
12167232812Sjmallett	uint64_t agx1                         : 1;
12168232812Sjmallett	uint64_t reserved_38_45               : 8;
12169232812Sjmallett	uint64_t agl                          : 1;
12170232812Sjmallett	uint64_t ptp                          : 1;
12171232812Sjmallett	uint64_t pem0                         : 1;
12172232812Sjmallett	uint64_t pem1                         : 1;
12173232812Sjmallett	uint64_t srio0                        : 1;
12174232812Sjmallett	uint64_t reserved_51_51               : 1;
12175232812Sjmallett	uint64_t lmc0                         : 1;
12176232812Sjmallett	uint64_t reserved_53_55               : 3;
12177232812Sjmallett	uint64_t dfm                          : 1;
12178232812Sjmallett	uint64_t reserved_57_59               : 3;
12179232812Sjmallett	uint64_t srio2                        : 1;
12180232812Sjmallett	uint64_t srio3                        : 1;
12181232812Sjmallett	uint64_t reserved_62_62               : 1;
12182232812Sjmallett	uint64_t rst                          : 1;
12183232812Sjmallett#endif
12184232812Sjmallett	} cn66xx;
12185232812Sjmallett	struct cvmx_ciu_sum1_ppx_ip3_cnf71xx {
12186232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
12187232812Sjmallett	uint64_t rst                          : 1;  /**< MIO RST interrupt
12188232812Sjmallett                                                         See MIO_RST_INT */
12189232812Sjmallett	uint64_t reserved_53_62               : 10;
12190232812Sjmallett	uint64_t lmc0                         : 1;  /**< LMC0 interrupt
12191232812Sjmallett                                                         See LMC0_INT */
12192232812Sjmallett	uint64_t reserved_50_51               : 2;
12193232812Sjmallett	uint64_t pem1                         : 1;  /**< PEM1 interrupt
12194232812Sjmallett                                                         See PEM1_INT_SUM (enabled by PEM1_INT_ENB) */
12195232812Sjmallett	uint64_t pem0                         : 1;  /**< PEM0 interrupt
12196232812Sjmallett                                                         See PEM0_INT_SUM (enabled by PEM0_INT_ENB) */
12197232812Sjmallett	uint64_t ptp                          : 1;  /**< PTP interrupt
12198232812Sjmallett                                                         Set when HW decrements MIO_PTP_EVT_CNT to zero */
12199232812Sjmallett	uint64_t reserved_41_46               : 6;
12200232812Sjmallett	uint64_t dpi_dma                      : 1;  /**< DPI DMA instruction completion  interrupt
12201232812Sjmallett                                                         TBD, See DPI DMA instruction completion */
12202232812Sjmallett	uint64_t reserved_37_39               : 3;
12203232812Sjmallett	uint64_t agx0                         : 1;  /**< GMX0 interrupt
12204232812Sjmallett                                                         See GMX0_RX*_INT_REG, GMX0_TX_INT_REG,
12205232812Sjmallett                                                         PCS0_INT*_REG, PCSX0_INT_REG */
12206232812Sjmallett	uint64_t dpi                          : 1;  /**< DPI interrupt
12207232812Sjmallett                                                         See DPI_INT_REG */
12208232812Sjmallett	uint64_t sli                          : 1;  /**< SLI interrupt
12209232812Sjmallett                                                         See SLI_INT_SUM (enabled by SLI_INT_ENB_CIU) */
12210232812Sjmallett	uint64_t usb                          : 1;  /**< USB UCTL0 interrupt
12211232812Sjmallett                                                         See UCTL0_INT_REG */
12212232812Sjmallett	uint64_t reserved_32_32               : 1;
12213232812Sjmallett	uint64_t key                          : 1;  /**< KEY interrupt
12214232812Sjmallett                                                         See KEY_INT_SUM */
12215232812Sjmallett	uint64_t rad                          : 1;  /**< RAD interrupt
12216232812Sjmallett                                                         See RAD_REG_ERROR */
12217232812Sjmallett	uint64_t tim                          : 1;  /**< TIM interrupt
12218232812Sjmallett                                                         See TIM_REG_ERROR */
12219232812Sjmallett	uint64_t reserved_28_28               : 1;
12220232812Sjmallett	uint64_t pko                          : 1;  /**< PKO interrupt
12221232812Sjmallett                                                         See PKO_REG_ERROR */
12222232812Sjmallett	uint64_t pip                          : 1;  /**< PIP interrupt
12223232812Sjmallett                                                         See PIP_INT_REG */
12224232812Sjmallett	uint64_t ipd                          : 1;  /**< IPD interrupt
12225232812Sjmallett                                                         See IPD_INT_SUM */
12226232812Sjmallett	uint64_t l2c                          : 1;  /**< L2C interrupt
12227232812Sjmallett                                                         See L2C_INT_REG */
12228232812Sjmallett	uint64_t pow                          : 1;  /**< POW err interrupt
12229232812Sjmallett                                                         See POW_ECC_ERR */
12230232812Sjmallett	uint64_t fpa                          : 1;  /**< FPA interrupt
12231232812Sjmallett                                                         See FPA_INT_SUM */
12232232812Sjmallett	uint64_t iob                          : 1;  /**< IOB interrupt
12233232812Sjmallett                                                         See IOB_INT_SUM */
12234232812Sjmallett	uint64_t mio                          : 1;  /**< MIO boot interrupt
12235232812Sjmallett                                                         See MIO_BOOT_ERR */
12236232812Sjmallett	uint64_t nand                         : 1;  /**< EMMC Flash Controller interrupt
12237232812Sjmallett                                                         See EMMC interrupt */
12238232812Sjmallett	uint64_t reserved_4_18                : 15;
12239232812Sjmallett	uint64_t wdog                         : 4;  /**< Per PP watchdog interrupts */
12240232812Sjmallett#else
12241232812Sjmallett	uint64_t wdog                         : 4;
12242232812Sjmallett	uint64_t reserved_4_18                : 15;
12243232812Sjmallett	uint64_t nand                         : 1;
12244232812Sjmallett	uint64_t mio                          : 1;
12245232812Sjmallett	uint64_t iob                          : 1;
12246232812Sjmallett	uint64_t fpa                          : 1;
12247232812Sjmallett	uint64_t pow                          : 1;
12248232812Sjmallett	uint64_t l2c                          : 1;
12249232812Sjmallett	uint64_t ipd                          : 1;
12250232812Sjmallett	uint64_t pip                          : 1;
12251232812Sjmallett	uint64_t pko                          : 1;
12252232812Sjmallett	uint64_t reserved_28_28               : 1;
12253232812Sjmallett	uint64_t tim                          : 1;
12254232812Sjmallett	uint64_t rad                          : 1;
12255232812Sjmallett	uint64_t key                          : 1;
12256232812Sjmallett	uint64_t reserved_32_32               : 1;
12257232812Sjmallett	uint64_t usb                          : 1;
12258232812Sjmallett	uint64_t sli                          : 1;
12259232812Sjmallett	uint64_t dpi                          : 1;
12260232812Sjmallett	uint64_t agx0                         : 1;
12261232812Sjmallett	uint64_t reserved_37_39               : 3;
12262232812Sjmallett	uint64_t dpi_dma                      : 1;
12263232812Sjmallett	uint64_t reserved_41_46               : 6;
12264232812Sjmallett	uint64_t ptp                          : 1;
12265232812Sjmallett	uint64_t pem0                         : 1;
12266232812Sjmallett	uint64_t pem1                         : 1;
12267232812Sjmallett	uint64_t reserved_50_51               : 2;
12268232812Sjmallett	uint64_t lmc0                         : 1;
12269232812Sjmallett	uint64_t reserved_53_62               : 10;
12270232812Sjmallett	uint64_t rst                          : 1;
12271232812Sjmallett#endif
12272232812Sjmallett	} cnf71xx;
12273232812Sjmallett};
12274232812Sjmalletttypedef union cvmx_ciu_sum1_ppx_ip3 cvmx_ciu_sum1_ppx_ip3_t;
12275232812Sjmallett
12276232812Sjmallett/**
12277232812Sjmallett * cvmx_ciu_sum1_pp#_ip4
12278232812Sjmallett *
12279232812Sjmallett * Notes:
12280232812Sjmallett * SUM1 becomes per IPx in o65/6 and afterwards. Only Field <40> DPI_DMA will have
12281232812Sjmallett * different value per PP(IP) for  $CIU_SUM1_PPx_IPy, and <40> DPI_DMA will always
12282232812Sjmallett * be zero for  $CIU_SUM1_IOX_INT. All other fields ([63:41] and [39:0]) values  are idential for
12283232812Sjmallett * different PPs, same value as $CIU_INT_SUM1.
12284232812Sjmallett * Write to any IRQ's PTP fields will clear PTP for all IRQ's PTP field.
12285232812Sjmallett */
12286232812Sjmallettunion cvmx_ciu_sum1_ppx_ip4 {
12287232812Sjmallett	uint64_t u64;
12288232812Sjmallett	struct cvmx_ciu_sum1_ppx_ip4_s {
12289232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
12290232812Sjmallett	uint64_t rst                          : 1;  /**< MIO RST interrupt
12291232812Sjmallett                                                         See MIO_RST_INT */
12292232812Sjmallett	uint64_t reserved_62_62               : 1;
12293232812Sjmallett	uint64_t srio3                        : 1;  /**< SRIO3 interrupt
12294232812Sjmallett                                                         See SRIO3_INT_REG, SRIO3_INT2_REG */
12295232812Sjmallett	uint64_t srio2                        : 1;  /**< SRIO2 interrupt
12296232812Sjmallett                                                         See SRIO2_INT_REG, SRIO2_INT2_REG */
12297232812Sjmallett	uint64_t reserved_57_59               : 3;
12298232812Sjmallett	uint64_t dfm                          : 1;  /**< DFM Interrupt
12299232812Sjmallett                                                         See DFM_FNT_STAT */
12300232812Sjmallett	uint64_t reserved_53_55               : 3;
12301232812Sjmallett	uint64_t lmc0                         : 1;  /**< LMC0 interrupt
12302232812Sjmallett                                                         See LMC0_INT */
12303232812Sjmallett	uint64_t reserved_51_51               : 1;
12304232812Sjmallett	uint64_t srio0                        : 1;  /**< SRIO0 interrupt
12305232812Sjmallett                                                         See SRIO0_INT_REG, SRIO0_INT2_REG */
12306232812Sjmallett	uint64_t pem1                         : 1;  /**< PEM1 interrupt
12307232812Sjmallett                                                         See PEM1_INT_SUM (enabled by PEM1_INT_ENB) */
12308232812Sjmallett	uint64_t pem0                         : 1;  /**< PEM0 interrupt
12309232812Sjmallett                                                         See PEM0_INT_SUM (enabled by PEM0_INT_ENB) */
12310232812Sjmallett	uint64_t ptp                          : 1;  /**< PTP interrupt
12311232812Sjmallett                                                         Set when HW decrements MIO_PTP_EVT_CNT to zero */
12312232812Sjmallett	uint64_t agl                          : 1;  /**< AGL interrupt
12313232812Sjmallett                                                         See AGL_GMX_RX*_INT_REG, AGL_GMX_TX_INT_REG */
12314232812Sjmallett	uint64_t reserved_41_45               : 5;
12315232812Sjmallett	uint64_t dpi_dma                      : 1;  /**< DPI DMA instruction completion  interrupt
12316232812Sjmallett                                                         TBD, See DPI DMA instruction completion */
12317232812Sjmallett	uint64_t reserved_38_39               : 2;
12318232812Sjmallett	uint64_t agx1                         : 1;  /**< GMX1 interrupt
12319232812Sjmallett                                                         See GMX1_RX*_INT_REG, GMX1_TX_INT_REG,
12320232812Sjmallett                                                         PCS1_INT*_REG, PCSX1_INT_REG */
12321232812Sjmallett	uint64_t agx0                         : 1;  /**< GMX0 interrupt
12322232812Sjmallett                                                         See GMX0_RX*_INT_REG, GMX0_TX_INT_REG,
12323232812Sjmallett                                                         PCS0_INT*_REG, PCSX0_INT_REG */
12324232812Sjmallett	uint64_t dpi                          : 1;  /**< DPI interrupt
12325232812Sjmallett                                                         See DPI_INT_REG */
12326232812Sjmallett	uint64_t sli                          : 1;  /**< SLI interrupt
12327232812Sjmallett                                                         See SLI_INT_SUM (enabled by SLI_INT_ENB_CIU) */
12328232812Sjmallett	uint64_t usb                          : 1;  /**< USB UCTL0 interrupt
12329232812Sjmallett                                                         See UCTL0_INT_REG */
12330232812Sjmallett	uint64_t dfa                          : 1;  /**< DFA interrupt
12331232812Sjmallett                                                         See DFA_ERROR */
12332232812Sjmallett	uint64_t key                          : 1;  /**< KEY interrupt
12333232812Sjmallett                                                         See KEY_INT_SUM */
12334232812Sjmallett	uint64_t rad                          : 1;  /**< RAD interrupt
12335232812Sjmallett                                                         See RAD_REG_ERROR */
12336232812Sjmallett	uint64_t tim                          : 1;  /**< TIM interrupt
12337232812Sjmallett                                                         See TIM_REG_ERROR */
12338232812Sjmallett	uint64_t zip                          : 1;  /**< ZIP interrupt
12339232812Sjmallett                                                         See ZIP_ERROR */
12340232812Sjmallett	uint64_t pko                          : 1;  /**< PKO interrupt
12341232812Sjmallett                                                         See PKO_REG_ERROR */
12342232812Sjmallett	uint64_t pip                          : 1;  /**< PIP interrupt
12343232812Sjmallett                                                         See PIP_INT_REG */
12344232812Sjmallett	uint64_t ipd                          : 1;  /**< IPD interrupt
12345232812Sjmallett                                                         See IPD_INT_SUM */
12346232812Sjmallett	uint64_t l2c                          : 1;  /**< L2C interrupt
12347232812Sjmallett                                                         See L2C_INT_REG */
12348232812Sjmallett	uint64_t pow                          : 1;  /**< POW err interrupt
12349232812Sjmallett                                                         See POW_ECC_ERR */
12350232812Sjmallett	uint64_t fpa                          : 1;  /**< FPA interrupt
12351232812Sjmallett                                                         See FPA_INT_SUM */
12352232812Sjmallett	uint64_t iob                          : 1;  /**< IOB interrupt
12353232812Sjmallett                                                         See IOB_INT_SUM */
12354232812Sjmallett	uint64_t mio                          : 1;  /**< MIO boot interrupt
12355232812Sjmallett                                                         See MIO_BOOT_ERR */
12356232812Sjmallett	uint64_t nand                         : 1;  /**< EMMC Flash Controller interrupt
12357232812Sjmallett                                                         See EMMC interrupt */
12358232812Sjmallett	uint64_t mii1                         : 1;  /**< RGMII/MII/MIX Interface 1 Interrupt
12359232812Sjmallett                                                         See MIX1_ISR */
12360232812Sjmallett	uint64_t reserved_10_17               : 8;
12361232812Sjmallett	uint64_t wdog                         : 10; /**< Per PP watchdog interrupts */
12362232812Sjmallett#else
12363232812Sjmallett	uint64_t wdog                         : 10;
12364232812Sjmallett	uint64_t reserved_10_17               : 8;
12365232812Sjmallett	uint64_t mii1                         : 1;
12366232812Sjmallett	uint64_t nand                         : 1;
12367232812Sjmallett	uint64_t mio                          : 1;
12368232812Sjmallett	uint64_t iob                          : 1;
12369232812Sjmallett	uint64_t fpa                          : 1;
12370232812Sjmallett	uint64_t pow                          : 1;
12371232812Sjmallett	uint64_t l2c                          : 1;
12372232812Sjmallett	uint64_t ipd                          : 1;
12373232812Sjmallett	uint64_t pip                          : 1;
12374232812Sjmallett	uint64_t pko                          : 1;
12375232812Sjmallett	uint64_t zip                          : 1;
12376232812Sjmallett	uint64_t tim                          : 1;
12377232812Sjmallett	uint64_t rad                          : 1;
12378232812Sjmallett	uint64_t key                          : 1;
12379232812Sjmallett	uint64_t dfa                          : 1;
12380232812Sjmallett	uint64_t usb                          : 1;
12381232812Sjmallett	uint64_t sli                          : 1;
12382232812Sjmallett	uint64_t dpi                          : 1;
12383232812Sjmallett	uint64_t agx0                         : 1;
12384232812Sjmallett	uint64_t agx1                         : 1;
12385232812Sjmallett	uint64_t reserved_38_39               : 2;
12386232812Sjmallett	uint64_t dpi_dma                      : 1;
12387232812Sjmallett	uint64_t reserved_41_45               : 5;
12388232812Sjmallett	uint64_t agl                          : 1;
12389232812Sjmallett	uint64_t ptp                          : 1;
12390232812Sjmallett	uint64_t pem0                         : 1;
12391232812Sjmallett	uint64_t pem1                         : 1;
12392232812Sjmallett	uint64_t srio0                        : 1;
12393232812Sjmallett	uint64_t reserved_51_51               : 1;
12394232812Sjmallett	uint64_t lmc0                         : 1;
12395232812Sjmallett	uint64_t reserved_53_55               : 3;
12396232812Sjmallett	uint64_t dfm                          : 1;
12397232812Sjmallett	uint64_t reserved_57_59               : 3;
12398232812Sjmallett	uint64_t srio2                        : 1;
12399232812Sjmallett	uint64_t srio3                        : 1;
12400232812Sjmallett	uint64_t reserved_62_62               : 1;
12401232812Sjmallett	uint64_t rst                          : 1;
12402232812Sjmallett#endif
12403232812Sjmallett	} s;
12404232812Sjmallett	struct cvmx_ciu_sum1_ppx_ip4_cn61xx {
12405232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
12406232812Sjmallett	uint64_t rst                          : 1;  /**< MIO RST interrupt
12407232812Sjmallett                                                         See MIO_RST_INT */
12408232812Sjmallett	uint64_t reserved_53_62               : 10;
12409232812Sjmallett	uint64_t lmc0                         : 1;  /**< LMC0 interrupt
12410232812Sjmallett                                                         See LMC0_INT */
12411232812Sjmallett	uint64_t reserved_50_51               : 2;
12412232812Sjmallett	uint64_t pem1                         : 1;  /**< PEM1 interrupt
12413232812Sjmallett                                                         See PEM1_INT_SUM (enabled by PEM1_INT_ENB) */
12414232812Sjmallett	uint64_t pem0                         : 1;  /**< PEM0 interrupt
12415232812Sjmallett                                                         See PEM0_INT_SUM (enabled by PEM0_INT_ENB) */
12416232812Sjmallett	uint64_t ptp                          : 1;  /**< PTP interrupt
12417232812Sjmallett                                                         Set when HW decrements MIO_PTP_EVT_CNT to zero */
12418232812Sjmallett	uint64_t agl                          : 1;  /**< AGL interrupt
12419232812Sjmallett                                                         See AGL_GMX_RX*_INT_REG, AGL_GMX_TX_INT_REG */
12420232812Sjmallett	uint64_t reserved_41_45               : 5;
12421232812Sjmallett	uint64_t dpi_dma                      : 1;  /**< DPI DMA instruction completion  interrupt
12422232812Sjmallett                                                         TBD, See DPI DMA instruction completion */
12423232812Sjmallett	uint64_t reserved_38_39               : 2;
12424232812Sjmallett	uint64_t agx1                         : 1;  /**< GMX1 interrupt
12425232812Sjmallett                                                         See GMX1_RX*_INT_REG, GMX1_TX_INT_REG,
12426232812Sjmallett                                                         PCS1_INT*_REG, PCSX1_INT_REG */
12427232812Sjmallett	uint64_t agx0                         : 1;  /**< GMX0 interrupt
12428232812Sjmallett                                                         See GMX0_RX*_INT_REG, GMX0_TX_INT_REG,
12429232812Sjmallett                                                         PCS0_INT*_REG, PCSX0_INT_REG */
12430232812Sjmallett	uint64_t dpi                          : 1;  /**< DPI interrupt
12431232812Sjmallett                                                         See DPI_INT_REG */
12432232812Sjmallett	uint64_t sli                          : 1;  /**< SLI interrupt
12433232812Sjmallett                                                         See SLI_INT_SUM (enabled by SLI_INT_ENB_CIU) */
12434232812Sjmallett	uint64_t usb                          : 1;  /**< USB UCTL0 interrupt
12435232812Sjmallett                                                         See UCTL0_INT_REG */
12436232812Sjmallett	uint64_t dfa                          : 1;  /**< DFA interrupt
12437232812Sjmallett                                                         See DFA_ERROR */
12438232812Sjmallett	uint64_t key                          : 1;  /**< KEY interrupt
12439232812Sjmallett                                                         See KEY_INT_SUM */
12440232812Sjmallett	uint64_t rad                          : 1;  /**< RAD interrupt
12441232812Sjmallett                                                         See RAD_REG_ERROR */
12442232812Sjmallett	uint64_t tim                          : 1;  /**< TIM interrupt
12443232812Sjmallett                                                         See TIM_REG_ERROR */
12444232812Sjmallett	uint64_t zip                          : 1;  /**< ZIP interrupt
12445232812Sjmallett                                                         See ZIP_ERROR */
12446232812Sjmallett	uint64_t pko                          : 1;  /**< PKO interrupt
12447232812Sjmallett                                                         See PKO_REG_ERROR */
12448232812Sjmallett	uint64_t pip                          : 1;  /**< PIP interrupt
12449232812Sjmallett                                                         See PIP_INT_REG */
12450232812Sjmallett	uint64_t ipd                          : 1;  /**< IPD interrupt
12451232812Sjmallett                                                         See IPD_INT_SUM */
12452232812Sjmallett	uint64_t l2c                          : 1;  /**< L2C interrupt
12453232812Sjmallett                                                         See L2C_INT_REG */
12454232812Sjmallett	uint64_t pow                          : 1;  /**< POW err interrupt
12455232812Sjmallett                                                         See POW_ECC_ERR */
12456232812Sjmallett	uint64_t fpa                          : 1;  /**< FPA interrupt
12457232812Sjmallett                                                         See FPA_INT_SUM */
12458232812Sjmallett	uint64_t iob                          : 1;  /**< IOB interrupt
12459232812Sjmallett                                                         See IOB_INT_SUM */
12460232812Sjmallett	uint64_t mio                          : 1;  /**< MIO boot interrupt
12461232812Sjmallett                                                         See MIO_BOOT_ERR */
12462232812Sjmallett	uint64_t nand                         : 1;  /**< EMMC Flash Controller interrupt
12463232812Sjmallett                                                         See EMMC interrupt */
12464232812Sjmallett	uint64_t mii1                         : 1;  /**< RGMII/MIX Interface 1 Interrupt
12465232812Sjmallett                                                         See MIX1_ISR */
12466232812Sjmallett	uint64_t reserved_4_17                : 14;
12467232812Sjmallett	uint64_t wdog                         : 4;  /**< Per PP watchdog interrupts */
12468232812Sjmallett#else
12469232812Sjmallett	uint64_t wdog                         : 4;
12470232812Sjmallett	uint64_t reserved_4_17                : 14;
12471232812Sjmallett	uint64_t mii1                         : 1;
12472232812Sjmallett	uint64_t nand                         : 1;
12473232812Sjmallett	uint64_t mio                          : 1;
12474232812Sjmallett	uint64_t iob                          : 1;
12475232812Sjmallett	uint64_t fpa                          : 1;
12476232812Sjmallett	uint64_t pow                          : 1;
12477232812Sjmallett	uint64_t l2c                          : 1;
12478232812Sjmallett	uint64_t ipd                          : 1;
12479232812Sjmallett	uint64_t pip                          : 1;
12480232812Sjmallett	uint64_t pko                          : 1;
12481232812Sjmallett	uint64_t zip                          : 1;
12482232812Sjmallett	uint64_t tim                          : 1;
12483232812Sjmallett	uint64_t rad                          : 1;
12484232812Sjmallett	uint64_t key                          : 1;
12485232812Sjmallett	uint64_t dfa                          : 1;
12486232812Sjmallett	uint64_t usb                          : 1;
12487232812Sjmallett	uint64_t sli                          : 1;
12488232812Sjmallett	uint64_t dpi                          : 1;
12489232812Sjmallett	uint64_t agx0                         : 1;
12490232812Sjmallett	uint64_t agx1                         : 1;
12491232812Sjmallett	uint64_t reserved_38_39               : 2;
12492232812Sjmallett	uint64_t dpi_dma                      : 1;
12493232812Sjmallett	uint64_t reserved_41_45               : 5;
12494232812Sjmallett	uint64_t agl                          : 1;
12495232812Sjmallett	uint64_t ptp                          : 1;
12496232812Sjmallett	uint64_t pem0                         : 1;
12497232812Sjmallett	uint64_t pem1                         : 1;
12498232812Sjmallett	uint64_t reserved_50_51               : 2;
12499232812Sjmallett	uint64_t lmc0                         : 1;
12500232812Sjmallett	uint64_t reserved_53_62               : 10;
12501232812Sjmallett	uint64_t rst                          : 1;
12502232812Sjmallett#endif
12503232812Sjmallett	} cn61xx;
12504232812Sjmallett	struct cvmx_ciu_sum1_ppx_ip4_cn66xx {
12505232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
12506232812Sjmallett	uint64_t rst                          : 1;  /**< MIO RST interrupt
12507232812Sjmallett                                                         See MIO_RST_INT */
12508232812Sjmallett	uint64_t reserved_62_62               : 1;
12509232812Sjmallett	uint64_t srio3                        : 1;  /**< SRIO3 interrupt
12510232812Sjmallett                                                         See SRIO3_INT_REG, SRIO3_INT2_REG */
12511232812Sjmallett	uint64_t srio2                        : 1;  /**< SRIO2 interrupt
12512232812Sjmallett                                                         See SRIO2_INT_REG, SRIO2_INT2_REG */
12513232812Sjmallett	uint64_t reserved_57_59               : 3;
12514232812Sjmallett	uint64_t dfm                          : 1;  /**< DFM Interrupt
12515232812Sjmallett                                                         See DFM_FNT_STAT */
12516232812Sjmallett	uint64_t reserved_53_55               : 3;
12517232812Sjmallett	uint64_t lmc0                         : 1;  /**< LMC0 interrupt
12518232812Sjmallett                                                         See LMC0_INT */
12519232812Sjmallett	uint64_t reserved_51_51               : 1;
12520232812Sjmallett	uint64_t srio0                        : 1;  /**< SRIO0 interrupt
12521232812Sjmallett                                                         See SRIO0_INT_REG, SRIO0_INT2_REG */
12522232812Sjmallett	uint64_t pem1                         : 1;  /**< PEM1 interrupt
12523232812Sjmallett                                                         See PEM1_INT_SUM (enabled by PEM1_INT_ENB) */
12524232812Sjmallett	uint64_t pem0                         : 1;  /**< PEM0 interrupt
12525232812Sjmallett                                                         See PEM0_INT_SUM (enabled by PEM0_INT_ENB) */
12526232812Sjmallett	uint64_t ptp                          : 1;  /**< PTP interrupt
12527232812Sjmallett                                                         Set when HW decrements MIO_PTP_EVT_CNT to zero */
12528232812Sjmallett	uint64_t agl                          : 1;  /**< AGL interrupt
12529232812Sjmallett                                                         See AGL_GMX_RX*_INT_REG, AGL_GMX_TX_INT_REG */
12530232812Sjmallett	uint64_t reserved_38_45               : 8;
12531232812Sjmallett	uint64_t agx1                         : 1;  /**< GMX1 interrupt
12532232812Sjmallett                                                         See GMX1_RX*_INT_REG, GMX1_TX_INT_REG,
12533232812Sjmallett                                                         PCS1_INT*_REG, PCSX1_INT_REG */
12534232812Sjmallett	uint64_t agx0                         : 1;  /**< GMX0 interrupt
12535232812Sjmallett                                                         See GMX0_RX*_INT_REG, GMX0_TX_INT_REG,
12536232812Sjmallett                                                         PCS0_INT*_REG, PCSX0_INT_REG */
12537232812Sjmallett	uint64_t dpi                          : 1;  /**< DPI interrupt
12538232812Sjmallett                                                         See DPI_INT_REG */
12539232812Sjmallett	uint64_t sli                          : 1;  /**< SLI interrupt
12540232812Sjmallett                                                         See SLI_INT_SUM (enabled by SLI_INT_ENB_CIU) */
12541232812Sjmallett	uint64_t usb                          : 1;  /**< USB UCTL0 interrupt
12542232812Sjmallett                                                         See UCTL0_INT_REG */
12543232812Sjmallett	uint64_t dfa                          : 1;  /**< DFA interrupt
12544232812Sjmallett                                                         See DFA_ERROR */
12545232812Sjmallett	uint64_t key                          : 1;  /**< KEY interrupt
12546232812Sjmallett                                                         See KEY_INT_SUM */
12547232812Sjmallett	uint64_t rad                          : 1;  /**< RAD interrupt
12548232812Sjmallett                                                         See RAD_REG_ERROR */
12549232812Sjmallett	uint64_t tim                          : 1;  /**< TIM interrupt
12550232812Sjmallett                                                         See TIM_REG_ERROR */
12551232812Sjmallett	uint64_t zip                          : 1;  /**< ZIP interrupt
12552232812Sjmallett                                                         See ZIP_ERROR */
12553232812Sjmallett	uint64_t pko                          : 1;  /**< PKO interrupt
12554232812Sjmallett                                                         See PKO_REG_ERROR */
12555232812Sjmallett	uint64_t pip                          : 1;  /**< PIP interrupt
12556232812Sjmallett                                                         See PIP_INT_REG */
12557232812Sjmallett	uint64_t ipd                          : 1;  /**< IPD interrupt
12558232812Sjmallett                                                         See IPD_INT_SUM */
12559232812Sjmallett	uint64_t l2c                          : 1;  /**< L2C interrupt
12560232812Sjmallett                                                         See L2C_INT_REG */
12561232812Sjmallett	uint64_t pow                          : 1;  /**< POW err interrupt
12562232812Sjmallett                                                         See POW_ECC_ERR */
12563232812Sjmallett	uint64_t fpa                          : 1;  /**< FPA interrupt
12564232812Sjmallett                                                         See FPA_INT_SUM */
12565232812Sjmallett	uint64_t iob                          : 1;  /**< IOB interrupt
12566232812Sjmallett                                                         See IOB_INT_SUM */
12567232812Sjmallett	uint64_t mio                          : 1;  /**< MIO boot interrupt
12568232812Sjmallett                                                         See MIO_BOOT_ERR */
12569232812Sjmallett	uint64_t nand                         : 1;  /**< NAND Flash Controller interrupt
12570232812Sjmallett                                                         See NDF_INT */
12571232812Sjmallett	uint64_t mii1                         : 1;  /**< RGMII/MII/MIX Interface 1 Interrupt
12572232812Sjmallett                                                         See MIX1_ISR */
12573232812Sjmallett	uint64_t reserved_10_17               : 8;
12574232812Sjmallett	uint64_t wdog                         : 10; /**< 10 watchdog interrupts */
12575232812Sjmallett#else
12576232812Sjmallett	uint64_t wdog                         : 10;
12577232812Sjmallett	uint64_t reserved_10_17               : 8;
12578232812Sjmallett	uint64_t mii1                         : 1;
12579232812Sjmallett	uint64_t nand                         : 1;
12580232812Sjmallett	uint64_t mio                          : 1;
12581232812Sjmallett	uint64_t iob                          : 1;
12582232812Sjmallett	uint64_t fpa                          : 1;
12583232812Sjmallett	uint64_t pow                          : 1;
12584232812Sjmallett	uint64_t l2c                          : 1;
12585232812Sjmallett	uint64_t ipd                          : 1;
12586232812Sjmallett	uint64_t pip                          : 1;
12587232812Sjmallett	uint64_t pko                          : 1;
12588232812Sjmallett	uint64_t zip                          : 1;
12589232812Sjmallett	uint64_t tim                          : 1;
12590232812Sjmallett	uint64_t rad                          : 1;
12591232812Sjmallett	uint64_t key                          : 1;
12592232812Sjmallett	uint64_t dfa                          : 1;
12593232812Sjmallett	uint64_t usb                          : 1;
12594232812Sjmallett	uint64_t sli                          : 1;
12595232812Sjmallett	uint64_t dpi                          : 1;
12596232812Sjmallett	uint64_t agx0                         : 1;
12597232812Sjmallett	uint64_t agx1                         : 1;
12598232812Sjmallett	uint64_t reserved_38_45               : 8;
12599232812Sjmallett	uint64_t agl                          : 1;
12600232812Sjmallett	uint64_t ptp                          : 1;
12601232812Sjmallett	uint64_t pem0                         : 1;
12602232812Sjmallett	uint64_t pem1                         : 1;
12603232812Sjmallett	uint64_t srio0                        : 1;
12604232812Sjmallett	uint64_t reserved_51_51               : 1;
12605232812Sjmallett	uint64_t lmc0                         : 1;
12606232812Sjmallett	uint64_t reserved_53_55               : 3;
12607232812Sjmallett	uint64_t dfm                          : 1;
12608232812Sjmallett	uint64_t reserved_57_59               : 3;
12609232812Sjmallett	uint64_t srio2                        : 1;
12610232812Sjmallett	uint64_t srio3                        : 1;
12611232812Sjmallett	uint64_t reserved_62_62               : 1;
12612232812Sjmallett	uint64_t rst                          : 1;
12613232812Sjmallett#endif
12614232812Sjmallett	} cn66xx;
12615232812Sjmallett	struct cvmx_ciu_sum1_ppx_ip4_cnf71xx {
12616232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
12617232812Sjmallett	uint64_t rst                          : 1;  /**< MIO RST interrupt
12618232812Sjmallett                                                         See MIO_RST_INT */
12619232812Sjmallett	uint64_t reserved_53_62               : 10;
12620232812Sjmallett	uint64_t lmc0                         : 1;  /**< LMC0 interrupt
12621232812Sjmallett                                                         See LMC0_INT */
12622232812Sjmallett	uint64_t reserved_50_51               : 2;
12623232812Sjmallett	uint64_t pem1                         : 1;  /**< PEM1 interrupt
12624232812Sjmallett                                                         See PEM1_INT_SUM (enabled by PEM1_INT_ENB) */
12625232812Sjmallett	uint64_t pem0                         : 1;  /**< PEM0 interrupt
12626232812Sjmallett                                                         See PEM0_INT_SUM (enabled by PEM0_INT_ENB) */
12627232812Sjmallett	uint64_t ptp                          : 1;  /**< PTP interrupt
12628232812Sjmallett                                                         Set when HW decrements MIO_PTP_EVT_CNT to zero */
12629232812Sjmallett	uint64_t reserved_41_46               : 6;
12630232812Sjmallett	uint64_t dpi_dma                      : 1;  /**< DPI DMA instruction completion  interrupt
12631232812Sjmallett                                                         TBD, See DPI DMA instruction completion */
12632232812Sjmallett	uint64_t reserved_37_39               : 3;
12633232812Sjmallett	uint64_t agx0                         : 1;  /**< GMX0 interrupt
12634232812Sjmallett                                                         See GMX0_RX*_INT_REG, GMX0_TX_INT_REG,
12635232812Sjmallett                                                         PCS0_INT*_REG, PCSX0_INT_REG */
12636232812Sjmallett	uint64_t dpi                          : 1;  /**< DPI interrupt
12637232812Sjmallett                                                         See DPI_INT_REG */
12638232812Sjmallett	uint64_t sli                          : 1;  /**< SLI interrupt
12639232812Sjmallett                                                         See SLI_INT_SUM (enabled by SLI_INT_ENB_CIU) */
12640232812Sjmallett	uint64_t usb                          : 1;  /**< USB UCTL0 interrupt
12641232812Sjmallett                                                         See UCTL0_INT_REG */
12642232812Sjmallett	uint64_t reserved_32_32               : 1;
12643232812Sjmallett	uint64_t key                          : 1;  /**< KEY interrupt
12644232812Sjmallett                                                         See KEY_INT_SUM */
12645232812Sjmallett	uint64_t rad                          : 1;  /**< RAD interrupt
12646232812Sjmallett                                                         See RAD_REG_ERROR */
12647232812Sjmallett	uint64_t tim                          : 1;  /**< TIM interrupt
12648232812Sjmallett                                                         See TIM_REG_ERROR */
12649232812Sjmallett	uint64_t reserved_28_28               : 1;
12650232812Sjmallett	uint64_t pko                          : 1;  /**< PKO interrupt
12651232812Sjmallett                                                         See PKO_REG_ERROR */
12652232812Sjmallett	uint64_t pip                          : 1;  /**< PIP interrupt
12653232812Sjmallett                                                         See PIP_INT_REG */
12654232812Sjmallett	uint64_t ipd                          : 1;  /**< IPD interrupt
12655232812Sjmallett                                                         See IPD_INT_SUM */
12656232812Sjmallett	uint64_t l2c                          : 1;  /**< L2C interrupt
12657232812Sjmallett                                                         See L2C_INT_REG */
12658232812Sjmallett	uint64_t pow                          : 1;  /**< POW err interrupt
12659232812Sjmallett                                                         See POW_ECC_ERR */
12660232812Sjmallett	uint64_t fpa                          : 1;  /**< FPA interrupt
12661232812Sjmallett                                                         See FPA_INT_SUM */
12662232812Sjmallett	uint64_t iob                          : 1;  /**< IOB interrupt
12663232812Sjmallett                                                         See IOB_INT_SUM */
12664232812Sjmallett	uint64_t mio                          : 1;  /**< MIO boot interrupt
12665232812Sjmallett                                                         See MIO_BOOT_ERR */
12666232812Sjmallett	uint64_t nand                         : 1;  /**< EMMC Flash Controller interrupt
12667232812Sjmallett                                                         See EMMC interrupt */
12668232812Sjmallett	uint64_t reserved_4_18                : 15;
12669232812Sjmallett	uint64_t wdog                         : 4;  /**< Per PP watchdog interrupts */
12670232812Sjmallett#else
12671232812Sjmallett	uint64_t wdog                         : 4;
12672232812Sjmallett	uint64_t reserved_4_18                : 15;
12673232812Sjmallett	uint64_t nand                         : 1;
12674232812Sjmallett	uint64_t mio                          : 1;
12675232812Sjmallett	uint64_t iob                          : 1;
12676232812Sjmallett	uint64_t fpa                          : 1;
12677232812Sjmallett	uint64_t pow                          : 1;
12678232812Sjmallett	uint64_t l2c                          : 1;
12679232812Sjmallett	uint64_t ipd                          : 1;
12680232812Sjmallett	uint64_t pip                          : 1;
12681232812Sjmallett	uint64_t pko                          : 1;
12682232812Sjmallett	uint64_t reserved_28_28               : 1;
12683232812Sjmallett	uint64_t tim                          : 1;
12684232812Sjmallett	uint64_t rad                          : 1;
12685232812Sjmallett	uint64_t key                          : 1;
12686232812Sjmallett	uint64_t reserved_32_32               : 1;
12687232812Sjmallett	uint64_t usb                          : 1;
12688232812Sjmallett	uint64_t sli                          : 1;
12689232812Sjmallett	uint64_t dpi                          : 1;
12690232812Sjmallett	uint64_t agx0                         : 1;
12691232812Sjmallett	uint64_t reserved_37_39               : 3;
12692232812Sjmallett	uint64_t dpi_dma                      : 1;
12693232812Sjmallett	uint64_t reserved_41_46               : 6;
12694232812Sjmallett	uint64_t ptp                          : 1;
12695232812Sjmallett	uint64_t pem0                         : 1;
12696232812Sjmallett	uint64_t pem1                         : 1;
12697232812Sjmallett	uint64_t reserved_50_51               : 2;
12698232812Sjmallett	uint64_t lmc0                         : 1;
12699232812Sjmallett	uint64_t reserved_53_62               : 10;
12700232812Sjmallett	uint64_t rst                          : 1;
12701232812Sjmallett#endif
12702232812Sjmallett	} cnf71xx;
12703232812Sjmallett};
12704232812Sjmalletttypedef union cvmx_ciu_sum1_ppx_ip4 cvmx_ciu_sum1_ppx_ip4_t;
12705232812Sjmallett
12706232812Sjmallett/**
12707232812Sjmallett * cvmx_ciu_sum2_io#_int
12708232812Sjmallett *
12709232812Sjmallett * Notes:
12710232812Sjmallett * These SUM2 CSR's did not exist prior to pass 1.2. CIU_TIM4-9 did not exist prior to pass 1.2.
12711232812Sjmallett *
12712232812Sjmallett */
12713232812Sjmallettunion cvmx_ciu_sum2_iox_int {
12714232812Sjmallett	uint64_t u64;
12715232812Sjmallett	struct cvmx_ciu_sum2_iox_int_s {
12716232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
12717232812Sjmallett	uint64_t reserved_15_63               : 49;
12718232812Sjmallett	uint64_t endor                        : 2;  /**< ENDOR PHY interrupts, see ENDOR interrupt status
12719232812Sjmallett                                                         register ENDOR_RSTCLK_INTR0(1)_STATUS for details */
12720232812Sjmallett	uint64_t eoi                          : 1;  /**< EOI rsl interrupt, see EOI_INT_STA */
12721232812Sjmallett	uint64_t reserved_10_11               : 2;
12722232812Sjmallett	uint64_t timer                        : 6;  /**< General timer 4-9 interrupts.
12723232812Sjmallett                                                         When CIU_TIM_MULTI_CAST[EN] == 0, this interrupt is
12724232812Sjmallett                                                         common for all PP/IRQs, writing '1' to any PP/IRQ
12725232812Sjmallett                                                         will clear all TIMERx(x=0..9) interrupts.
12726232812Sjmallett                                                         When CIU_TIM_MULTI_CAST[EN] == 1, TIMERx(x=0..9)
12727232812Sjmallett                                                         are set at the same time, but clearing are based on
12728232812Sjmallett                                                         per cnMIPS core. See CIU_TIM_MULTI_CAST for detail.
12729232812Sjmallett                                                         The combination of this field and the
12730232812Sjmallett                                                         CIU_INT*_SUM0/4[TIMER] field implement all 10
12731232812Sjmallett                                                         CIU_TIM* interrupts. */
12732232812Sjmallett	uint64_t reserved_0_3                 : 4;
12733232812Sjmallett#else
12734232812Sjmallett	uint64_t reserved_0_3                 : 4;
12735232812Sjmallett	uint64_t timer                        : 6;
12736232812Sjmallett	uint64_t reserved_10_11               : 2;
12737232812Sjmallett	uint64_t eoi                          : 1;
12738232812Sjmallett	uint64_t endor                        : 2;
12739232812Sjmallett	uint64_t reserved_15_63               : 49;
12740232812Sjmallett#endif
12741232812Sjmallett	} s;
12742232812Sjmallett	struct cvmx_ciu_sum2_iox_int_cn61xx {
12743232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
12744232812Sjmallett	uint64_t reserved_10_63               : 54;
12745232812Sjmallett	uint64_t timer                        : 6;  /**< General timer 4-9 interrupts.
12746232812Sjmallett                                                         When CIU_TIM_MULTI_CAST[EN] == 0, this interrupt is
12747232812Sjmallett                                                         common for all PP/IRQs, writing '1' to any PP/IRQ
12748232812Sjmallett                                                         will clear all TIMERx(x=0..9) interrupts.
12749232812Sjmallett                                                         When CIU_TIM_MULTI_CAST[EN] == 1, TIMERx(x=0..9)
12750232812Sjmallett                                                         are set at the same time, but clearing are based on
12751232812Sjmallett                                                         per cnMIPS core. See CIU_TIM_MULTI_CAST for detail.
12752232812Sjmallett                                                         The combination of this field and the
12753232812Sjmallett                                                         CIU_INT*_SUM0/4[TIMER] field implement all 10
12754232812Sjmallett                                                         CIU_TIM* interrupts. */
12755232812Sjmallett	uint64_t reserved_0_3                 : 4;
12756232812Sjmallett#else
12757232812Sjmallett	uint64_t reserved_0_3                 : 4;
12758232812Sjmallett	uint64_t timer                        : 6;
12759232812Sjmallett	uint64_t reserved_10_63               : 54;
12760232812Sjmallett#endif
12761232812Sjmallett	} cn61xx;
12762232812Sjmallett	struct cvmx_ciu_sum2_iox_int_cn61xx   cn66xx;
12763232812Sjmallett	struct cvmx_ciu_sum2_iox_int_s        cnf71xx;
12764232812Sjmallett};
12765232812Sjmalletttypedef union cvmx_ciu_sum2_iox_int cvmx_ciu_sum2_iox_int_t;
12766232812Sjmallett
12767232812Sjmallett/**
12768232812Sjmallett * cvmx_ciu_sum2_pp#_ip2
12769232812Sjmallett *
12770232812Sjmallett * Notes:
12771232812Sjmallett * These SUM2 CSR's did not exist prior to pass 1.2. CIU_TIM4-9 did not exist prior to pass 1.2.
12772232812Sjmallett *
12773232812Sjmallett */
12774232812Sjmallettunion cvmx_ciu_sum2_ppx_ip2 {
12775232812Sjmallett	uint64_t u64;
12776232812Sjmallett	struct cvmx_ciu_sum2_ppx_ip2_s {
12777232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
12778232812Sjmallett	uint64_t reserved_15_63               : 49;
12779232812Sjmallett	uint64_t endor                        : 2;  /**< ENDOR PHY interrupts, see ENDOR interrupt status
12780232812Sjmallett                                                         register ENDOR_RSTCLK_INTR0(1)_STATUS for details */
12781232812Sjmallett	uint64_t eoi                          : 1;  /**< EOI rsl interrupt, see EOI_INT_STA */
12782232812Sjmallett	uint64_t reserved_10_11               : 2;
12783232812Sjmallett	uint64_t timer                        : 6;  /**< General timer 4-9 interrupts.
12784232812Sjmallett                                                         When CIU_TIM_MULTI_CAST[EN] == 0, this interrupt is
12785232812Sjmallett                                                         common for all PP/IRQs, writing '1' to any PP/IRQ
12786232812Sjmallett                                                         will clear all TIMERx(x=0..9) interrupts.
12787232812Sjmallett                                                         When CIU_TIM_MULTI_CAST[EN] == 1, TIMERx(x=0..9)
12788232812Sjmallett                                                         are set at the same time, but clearing are based on
12789232812Sjmallett                                                         per cnMIPS core. See CIU_TIM_MULTI_CAST for detail.
12790232812Sjmallett                                                         The combination of this field and the
12791232812Sjmallett                                                         CIU_INT*_SUM0/4[TIMER] field implement all 10
12792232812Sjmallett                                                         CIU_TIM* interrupts. */
12793232812Sjmallett	uint64_t reserved_0_3                 : 4;
12794232812Sjmallett#else
12795232812Sjmallett	uint64_t reserved_0_3                 : 4;
12796232812Sjmallett	uint64_t timer                        : 6;
12797232812Sjmallett	uint64_t reserved_10_11               : 2;
12798232812Sjmallett	uint64_t eoi                          : 1;
12799232812Sjmallett	uint64_t endor                        : 2;
12800232812Sjmallett	uint64_t reserved_15_63               : 49;
12801232812Sjmallett#endif
12802232812Sjmallett	} s;
12803232812Sjmallett	struct cvmx_ciu_sum2_ppx_ip2_cn61xx {
12804232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
12805232812Sjmallett	uint64_t reserved_10_63               : 54;
12806232812Sjmallett	uint64_t timer                        : 6;  /**< General timer 4-9 interrupts.
12807232812Sjmallett                                                         When CIU_TIM_MULTI_CAST[EN] == 0, this interrupt is
12808232812Sjmallett                                                         common for all PP/IRQs, writing '1' to any PP/IRQ
12809232812Sjmallett                                                         will clear all TIMERx(x=0..9) interrupts.
12810232812Sjmallett                                                         When CIU_TIM_MULTI_CAST[EN] == 1, TIMERx(x=0..9)
12811232812Sjmallett                                                         are set at the same time, but clearing are based on
12812232812Sjmallett                                                         per cnMIPS core. See CIU_TIM_MULTI_CAST for detail.
12813232812Sjmallett                                                         The combination of this field and the
12814232812Sjmallett                                                         CIU_INT*_SUM0/4[TIMER] field implement all 10
12815232812Sjmallett                                                         CIU_TIM* interrupts. */
12816232812Sjmallett	uint64_t reserved_0_3                 : 4;
12817232812Sjmallett#else
12818232812Sjmallett	uint64_t reserved_0_3                 : 4;
12819232812Sjmallett	uint64_t timer                        : 6;
12820232812Sjmallett	uint64_t reserved_10_63               : 54;
12821232812Sjmallett#endif
12822232812Sjmallett	} cn61xx;
12823232812Sjmallett	struct cvmx_ciu_sum2_ppx_ip2_cn61xx   cn66xx;
12824232812Sjmallett	struct cvmx_ciu_sum2_ppx_ip2_s        cnf71xx;
12825232812Sjmallett};
12826232812Sjmalletttypedef union cvmx_ciu_sum2_ppx_ip2 cvmx_ciu_sum2_ppx_ip2_t;
12827232812Sjmallett
12828232812Sjmallett/**
12829232812Sjmallett * cvmx_ciu_sum2_pp#_ip3
12830232812Sjmallett *
12831232812Sjmallett * Notes:
12832232812Sjmallett * These SUM2 CSR's did not exist prior to pass 1.2. CIU_TIM4-9 did not exist prior to pass 1.2.
12833232812Sjmallett *
12834232812Sjmallett */
12835232812Sjmallettunion cvmx_ciu_sum2_ppx_ip3 {
12836232812Sjmallett	uint64_t u64;
12837232812Sjmallett	struct cvmx_ciu_sum2_ppx_ip3_s {
12838232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
12839232812Sjmallett	uint64_t reserved_15_63               : 49;
12840232812Sjmallett	uint64_t endor                        : 2;  /**< ENDOR PHY interrupts, see ENDOR interrupt status
12841232812Sjmallett                                                         register ENDOR_RSTCLK_INTR0(1)_STATUS for details */
12842232812Sjmallett	uint64_t eoi                          : 1;  /**< EOI rsl interrupt, see EOI_INT_STA */
12843232812Sjmallett	uint64_t reserved_10_11               : 2;
12844232812Sjmallett	uint64_t timer                        : 6;  /**< General timer 4-9 interrupts.
12845232812Sjmallett                                                         When CIU_TIM_MULTI_CAST[EN] == 0, this interrupt is
12846232812Sjmallett                                                         common for all PP/IRQs, writing '1' to any PP/IRQ
12847232812Sjmallett                                                         will clear all TIMERx(x=0..9) interrupts.
12848232812Sjmallett                                                         When CIU_TIM_MULTI_CAST[EN] == 1, TIMERx(x=0..9)
12849232812Sjmallett                                                         are set at the same time, but clearing are based on
12850232812Sjmallett                                                         per cnMIPS core. See CIU_TIM_MULTI_CAST for detail.
12851232812Sjmallett                                                         The combination of this field and the
12852232812Sjmallett                                                         CIU_INT*_SUM0/4[TIMER] field implement all 10
12853232812Sjmallett                                                         CIU_TIM* interrupts. */
12854232812Sjmallett	uint64_t reserved_0_3                 : 4;
12855232812Sjmallett#else
12856232812Sjmallett	uint64_t reserved_0_3                 : 4;
12857232812Sjmallett	uint64_t timer                        : 6;
12858232812Sjmallett	uint64_t reserved_10_11               : 2;
12859232812Sjmallett	uint64_t eoi                          : 1;
12860232812Sjmallett	uint64_t endor                        : 2;
12861232812Sjmallett	uint64_t reserved_15_63               : 49;
12862232812Sjmallett#endif
12863232812Sjmallett	} s;
12864232812Sjmallett	struct cvmx_ciu_sum2_ppx_ip3_cn61xx {
12865232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
12866232812Sjmallett	uint64_t reserved_10_63               : 54;
12867232812Sjmallett	uint64_t timer                        : 6;  /**< General timer 4-9 interrupts.
12868232812Sjmallett                                                         When CIU_TIM_MULTI_CAST[EN] == 0, this interrupt is
12869232812Sjmallett                                                         common for all PP/IRQs, writing '1' to any PP/IRQ
12870232812Sjmallett                                                         will clear all TIMERx(x=0..9) interrupts.
12871232812Sjmallett                                                         When CIU_TIM_MULTI_CAST[EN] == 1, TIMERx(x=0..9)
12872232812Sjmallett                                                         are set at the same time, but clearing are based on
12873232812Sjmallett                                                         per cnMIPS core. See CIU_TIM_MULTI_CAST for detail.
12874232812Sjmallett                                                         The combination of this field and the
12875232812Sjmallett                                                         CIU_INT*_SUM0/4[TIMER] field implement all 10
12876232812Sjmallett                                                         CIU_TIM* interrupts. */
12877232812Sjmallett	uint64_t reserved_0_3                 : 4;
12878232812Sjmallett#else
12879232812Sjmallett	uint64_t reserved_0_3                 : 4;
12880232812Sjmallett	uint64_t timer                        : 6;
12881232812Sjmallett	uint64_t reserved_10_63               : 54;
12882232812Sjmallett#endif
12883232812Sjmallett	} cn61xx;
12884232812Sjmallett	struct cvmx_ciu_sum2_ppx_ip3_cn61xx   cn66xx;
12885232812Sjmallett	struct cvmx_ciu_sum2_ppx_ip3_s        cnf71xx;
12886232812Sjmallett};
12887232812Sjmalletttypedef union cvmx_ciu_sum2_ppx_ip3 cvmx_ciu_sum2_ppx_ip3_t;
12888232812Sjmallett
12889232812Sjmallett/**
12890232812Sjmallett * cvmx_ciu_sum2_pp#_ip4
12891232812Sjmallett *
12892232812Sjmallett * Notes:
12893232812Sjmallett * These SUM2 CSR's did not exist prior to pass 1.2. CIU_TIM4-9 did not exist prior to pass 1.2.
12894232812Sjmallett *
12895232812Sjmallett */
12896232812Sjmallettunion cvmx_ciu_sum2_ppx_ip4 {
12897232812Sjmallett	uint64_t u64;
12898232812Sjmallett	struct cvmx_ciu_sum2_ppx_ip4_s {
12899232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
12900232812Sjmallett	uint64_t reserved_15_63               : 49;
12901232812Sjmallett	uint64_t endor                        : 2;  /**< ENDOR PHY interrupts, see ENDOR interrupt status
12902232812Sjmallett                                                         register ENDOR_RSTCLK_INTR0(1)_STATUS for details */
12903232812Sjmallett	uint64_t eoi                          : 1;  /**< EOI rsl interrupt, see EOI_INT_STA */
12904232812Sjmallett	uint64_t reserved_10_11               : 2;
12905232812Sjmallett	uint64_t timer                        : 6;  /**< General timer 4-9 interrupts.
12906232812Sjmallett                                                         When CIU_TIM_MULTI_CAST[EN] == 0, this interrupt is
12907232812Sjmallett                                                         common for all PP/IRQs, writing '1' to any PP/IRQ
12908232812Sjmallett                                                         will clear all TIMERx(x=0..9) interrupts.
12909232812Sjmallett                                                         When CIU_TIM_MULTI_CAST[EN] == 1, TIMERx(x=0..9)
12910232812Sjmallett                                                         are set at the same time, but clearing are based on
12911232812Sjmallett                                                         per cnMIPS core. See CIU_TIM_MULTI_CAST for detail.
12912232812Sjmallett                                                         The combination of this field and the
12913232812Sjmallett                                                         CIU_INT*_SUM0/4[TIMER] field implement all 10
12914232812Sjmallett                                                         CIU_TIM* interrupts. */
12915232812Sjmallett	uint64_t reserved_0_3                 : 4;
12916232812Sjmallett#else
12917232812Sjmallett	uint64_t reserved_0_3                 : 4;
12918232812Sjmallett	uint64_t timer                        : 6;
12919232812Sjmallett	uint64_t reserved_10_11               : 2;
12920232812Sjmallett	uint64_t eoi                          : 1;
12921232812Sjmallett	uint64_t endor                        : 2;
12922232812Sjmallett	uint64_t reserved_15_63               : 49;
12923232812Sjmallett#endif
12924232812Sjmallett	} s;
12925232812Sjmallett	struct cvmx_ciu_sum2_ppx_ip4_cn61xx {
12926232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
12927232812Sjmallett	uint64_t reserved_10_63               : 54;
12928232812Sjmallett	uint64_t timer                        : 6;  /**< General timer 4-9 interrupts.
12929232812Sjmallett                                                         When CIU_TIM_MULTI_CAST[EN] == 0, this interrupt is
12930232812Sjmallett                                                         common for all PP/IRQs, writing '1' to any PP/IRQ
12931232812Sjmallett                                                         will clear all TIMERx(x=0..9) interrupts.
12932232812Sjmallett                                                         When CIU_TIM_MULTI_CAST[EN] == 1, TIMERx(x=0..9)
12933232812Sjmallett                                                         are set at the same time, but clearing are based on
12934232812Sjmallett                                                         per cnMIPS core. See CIU_TIM_MULTI_CAST for detail.
12935232812Sjmallett                                                         The combination of this field and the
12936232812Sjmallett                                                         CIU_INT*_SUM0/4[TIMER] field implement all 10
12937232812Sjmallett                                                         CIU_TIM* interrupts. */
12938232812Sjmallett	uint64_t reserved_0_3                 : 4;
12939232812Sjmallett#else
12940232812Sjmallett	uint64_t reserved_0_3                 : 4;
12941232812Sjmallett	uint64_t timer                        : 6;
12942232812Sjmallett	uint64_t reserved_10_63               : 54;
12943232812Sjmallett#endif
12944232812Sjmallett	} cn61xx;
12945232812Sjmallett	struct cvmx_ciu_sum2_ppx_ip4_cn61xx   cn66xx;
12946232812Sjmallett	struct cvmx_ciu_sum2_ppx_ip4_s        cnf71xx;
12947232812Sjmallett};
12948232812Sjmalletttypedef union cvmx_ciu_sum2_ppx_ip4 cvmx_ciu_sum2_ppx_ip4_t;
12949232812Sjmallett
12950232812Sjmallett/**
12951215976Sjmallett * cvmx_ciu_tim#
12952232812Sjmallett *
12953232812Sjmallett * Notes:
12954232812Sjmallett * CIU_TIM4-9 did not exist prior to pass 1.2
12955232812Sjmallett *
12956215976Sjmallett */
12957232812Sjmallettunion cvmx_ciu_timx {
12958215976Sjmallett	uint64_t u64;
12959232812Sjmallett	struct cvmx_ciu_timx_s {
12960232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
12961215976Sjmallett	uint64_t reserved_37_63               : 27;
12962215976Sjmallett	uint64_t one_shot                     : 1;  /**< One-shot mode */
12963215976Sjmallett	uint64_t len                          : 36; /**< Timeout length in core clock cycles
12964215976Sjmallett                                                         Periodic interrupts will occur every LEN+1 core
12965215976Sjmallett                                                         clock cycles when ONE_SHOT==0
12966215976Sjmallett                                                         Timer disabled when LEN==0 */
12967215976Sjmallett#else
12968215976Sjmallett	uint64_t len                          : 36;
12969215976Sjmallett	uint64_t one_shot                     : 1;
12970215976Sjmallett	uint64_t reserved_37_63               : 27;
12971215976Sjmallett#endif
12972215976Sjmallett	} s;
12973215976Sjmallett	struct cvmx_ciu_timx_s                cn30xx;
12974215976Sjmallett	struct cvmx_ciu_timx_s                cn31xx;
12975215976Sjmallett	struct cvmx_ciu_timx_s                cn38xx;
12976215976Sjmallett	struct cvmx_ciu_timx_s                cn38xxp2;
12977215976Sjmallett	struct cvmx_ciu_timx_s                cn50xx;
12978215976Sjmallett	struct cvmx_ciu_timx_s                cn52xx;
12979215976Sjmallett	struct cvmx_ciu_timx_s                cn52xxp1;
12980215976Sjmallett	struct cvmx_ciu_timx_s                cn56xx;
12981215976Sjmallett	struct cvmx_ciu_timx_s                cn56xxp1;
12982215976Sjmallett	struct cvmx_ciu_timx_s                cn58xx;
12983215976Sjmallett	struct cvmx_ciu_timx_s                cn58xxp1;
12984232812Sjmallett	struct cvmx_ciu_timx_s                cn61xx;
12985215976Sjmallett	struct cvmx_ciu_timx_s                cn63xx;
12986215976Sjmallett	struct cvmx_ciu_timx_s                cn63xxp1;
12987232812Sjmallett	struct cvmx_ciu_timx_s                cn66xx;
12988232812Sjmallett	struct cvmx_ciu_timx_s                cn68xx;
12989232812Sjmallett	struct cvmx_ciu_timx_s                cn68xxp1;
12990232812Sjmallett	struct cvmx_ciu_timx_s                cnf71xx;
12991215976Sjmallett};
12992215976Sjmalletttypedef union cvmx_ciu_timx cvmx_ciu_timx_t;
12993215976Sjmallett
12994215976Sjmallett/**
12995232812Sjmallett * cvmx_ciu_tim_multi_cast
12996232812Sjmallett *
12997232812Sjmallett * Notes:
12998232812Sjmallett * This register does not exist prior to pass 1.2 silicon. Those earlier chip passes operate as if
12999232812Sjmallett * EN==0.
13000232812Sjmallett */
13001232812Sjmallettunion cvmx_ciu_tim_multi_cast {
13002232812Sjmallett	uint64_t u64;
13003232812Sjmallett	struct cvmx_ciu_tim_multi_cast_s {
13004232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
13005232812Sjmallett	uint64_t reserved_1_63                : 63;
13006232812Sjmallett	uint64_t en                           : 1;  /**< General Timer Interrupt Mutli-Cast mode:
13007232812Sjmallett                                                         - 0: Timer interrupt is common for all PP/IRQs.
13008232812Sjmallett                                                         - 1: Timer interrupts are set at the same time for
13009232812Sjmallett                                                            all PP/IRQs, but interrupt clearings can/need
13010232812Sjmallett                                                            to be done Individually based on per cnMIPS core.
13011232812Sjmallett                                                          Timer interrupts for IOs (X=32,33) will always use
13012232812Sjmallett                                                          common interrupts. Clear any of the I/O interrupts
13013232812Sjmallett                                                          will clear the common interrupt. */
13014232812Sjmallett#else
13015232812Sjmallett	uint64_t en                           : 1;
13016232812Sjmallett	uint64_t reserved_1_63                : 63;
13017232812Sjmallett#endif
13018232812Sjmallett	} s;
13019232812Sjmallett	struct cvmx_ciu_tim_multi_cast_s      cn61xx;
13020232812Sjmallett	struct cvmx_ciu_tim_multi_cast_s      cn66xx;
13021232812Sjmallett	struct cvmx_ciu_tim_multi_cast_s      cnf71xx;
13022232812Sjmallett};
13023232812Sjmalletttypedef union cvmx_ciu_tim_multi_cast cvmx_ciu_tim_multi_cast_t;
13024232812Sjmallett
13025232812Sjmallett/**
13026215976Sjmallett * cvmx_ciu_wdog#
13027215976Sjmallett */
13028232812Sjmallettunion cvmx_ciu_wdogx {
13029215976Sjmallett	uint64_t u64;
13030232812Sjmallett	struct cvmx_ciu_wdogx_s {
13031232812Sjmallett#ifdef __BIG_ENDIAN_BITFIELD
13032215976Sjmallett	uint64_t reserved_46_63               : 18;
13033215976Sjmallett	uint64_t gstopen                      : 1;  /**< GSTOPEN */
13034215976Sjmallett	uint64_t dstop                        : 1;  /**< DSTOP */
13035215976Sjmallett	uint64_t cnt                          : 24; /**< Number of 256-cycle intervals until next watchdog
13036215976Sjmallett                                                         expiration.  Cleared on write to associated
13037215976Sjmallett                                                         CIU_PP_POKE register. */
13038215976Sjmallett	uint64_t len                          : 16; /**< Watchdog time expiration length
13039215976Sjmallett                                                         The 16 bits of LEN represent the most significant
13040215976Sjmallett                                                         bits of a 24 bit decrementer that decrements
13041215976Sjmallett                                                         every 256 cycles.
13042215976Sjmallett                                                         LEN must be set > 0 */
13043215976Sjmallett	uint64_t state                        : 2;  /**< Watchdog state
13044215976Sjmallett                                                         number of watchdog time expirations since last
13045215976Sjmallett                                                         PP poke.  Cleared on write to associated
13046215976Sjmallett                                                         CIU_PP_POKE register. */
13047215976Sjmallett	uint64_t mode                         : 2;  /**< Watchdog mode
13048215976Sjmallett                                                         0 = Off
13049215976Sjmallett                                                         1 = Interrupt Only
13050215976Sjmallett                                                         2 = Interrupt + NMI
13051215976Sjmallett                                                         3 = Interrupt + NMI + Soft-Reset */
13052215976Sjmallett#else
13053215976Sjmallett	uint64_t mode                         : 2;
13054215976Sjmallett	uint64_t state                        : 2;
13055215976Sjmallett	uint64_t len                          : 16;
13056215976Sjmallett	uint64_t cnt                          : 24;
13057215976Sjmallett	uint64_t dstop                        : 1;
13058215976Sjmallett	uint64_t gstopen                      : 1;
13059215976Sjmallett	uint64_t reserved_46_63               : 18;
13060215976Sjmallett#endif
13061215976Sjmallett	} s;
13062215976Sjmallett	struct cvmx_ciu_wdogx_s               cn30xx;
13063215976Sjmallett	struct cvmx_ciu_wdogx_s               cn31xx;
13064215976Sjmallett	struct cvmx_ciu_wdogx_s               cn38xx;
13065215976Sjmallett	struct cvmx_ciu_wdogx_s               cn38xxp2;
13066215976Sjmallett	struct cvmx_ciu_wdogx_s               cn50xx;
13067215976Sjmallett	struct cvmx_ciu_wdogx_s               cn52xx;
13068215976Sjmallett	struct cvmx_ciu_wdogx_s               cn52xxp1;
13069215976Sjmallett	struct cvmx_ciu_wdogx_s               cn56xx;
13070215976Sjmallett	struct cvmx_ciu_wdogx_s               cn56xxp1;
13071215976Sjmallett	struct cvmx_ciu_wdogx_s               cn58xx;
13072215976Sjmallett	struct cvmx_ciu_wdogx_s               cn58xxp1;
13073232812Sjmallett	struct cvmx_ciu_wdogx_s               cn61xx;
13074215976Sjmallett	struct cvmx_ciu_wdogx_s               cn63xx;
13075215976Sjmallett	struct cvmx_ciu_wdogx_s               cn63xxp1;
13076232812Sjmallett	struct cvmx_ciu_wdogx_s               cn66xx;
13077232812Sjmallett	struct cvmx_ciu_wdogx_s               cn68xx;
13078232812Sjmallett	struct cvmx_ciu_wdogx_s               cn68xxp1;
13079232812Sjmallett	struct cvmx_ciu_wdogx_s               cnf71xx;
13080215976Sjmallett};
13081215976Sjmalletttypedef union cvmx_ciu_wdogx cvmx_ciu_wdogx_t;
13082215976Sjmallett
13083215976Sjmallett#endif
13084