1/* SPDX-License-Identifier: GPL-2.0 */
2/*
3 * Copyright (C) 2020 Marvell International Ltd.
4 *
5 * Configuration and status register (CSR) type definitions for
6 * Octeon ciu.
7 */
8
9#ifndef __CVMX_CIU_DEFS_H__
10#define __CVMX_CIU_DEFS_H__
11
12#define CVMX_CIU_BIST				  (0x0001070000000730ull)
13#define CVMX_CIU_BLOCK_INT			  (0x00010700000007C0ull)
14#define CVMX_CIU_CIB_L2C_ENX(offset)		  (0x000107000000E100ull)
15#define CVMX_CIU_CIB_L2C_RAWX(offset)		  (0x000107000000E000ull)
16#define CVMX_CIU_CIB_LMCX_ENX(offset, block_id)	  (0x000107000000E300ull)
17#define CVMX_CIU_CIB_LMCX_RAWX(offset, block_id)  (0x000107000000E200ull)
18#define CVMX_CIU_CIB_OCLAX_ENX(offset, block_id)  (0x000107000000EE00ull)
19#define CVMX_CIU_CIB_OCLAX_RAWX(offset, block_id) (0x000107000000EC00ull)
20#define CVMX_CIU_CIB_RST_ENX(offset)		  (0x000107000000E500ull)
21#define CVMX_CIU_CIB_RST_RAWX(offset)		  (0x000107000000E400ull)
22#define CVMX_CIU_CIB_SATA_ENX(offset)		  (0x000107000000E700ull)
23#define CVMX_CIU_CIB_SATA_RAWX(offset)		  (0x000107000000E600ull)
24#define CVMX_CIU_CIB_USBDRDX_ENX(offset, block_id)                                                 \
25	(0x000107000000EA00ull + ((block_id) & 1) * 0x100ull)
26#define CVMX_CIU_CIB_USBDRDX_RAWX(offset, block_id)                                                \
27	(0x000107000000E800ull + ((block_id) & 1) * 0x100ull)
28#define CVMX_CIU_DINT CVMX_CIU_DINT_FUNC()
29static inline u64 CVMX_CIU_DINT_FUNC(void)
30{
31	switch (cvmx_get_octeon_family()) {
32	case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
33	case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
34	case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
35	case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
36	case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
37	case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
38		return 0x0001070000000720ull;
39	case OCTEON_CN78XX & OCTEON_FAMILY_MASK:
40		if (OCTEON_IS_MODEL(OCTEON_CN78XX_PASS1_X))
41			return 0x0001010000000180ull;
42		if (OCTEON_IS_MODEL(OCTEON_CN78XX))
43			return 0x0001010000000180ull;
44	case OCTEON_CNF75XX & OCTEON_FAMILY_MASK:
45	case OCTEON_CN73XX & OCTEON_FAMILY_MASK:
46		return 0x0001010000000180ull;
47	}
48	return 0x0001010000000180ull;
49}
50
51#define CVMX_CIU_EN2_IOX_INT(offset)	 (0x000107000000A600ull + ((offset) & 1) * 8)
52#define CVMX_CIU_EN2_IOX_INT_W1C(offset) (0x000107000000CE00ull + ((offset) & 1) * 8)
53#define CVMX_CIU_EN2_IOX_INT_W1S(offset) (0x000107000000AE00ull + ((offset) & 1) * 8)
54#define CVMX_CIU_EN2_PPX_IP2(offset)	 (0x000107000000A000ull + ((offset) & 15) * 8)
55#define CVMX_CIU_EN2_PPX_IP2_W1C(offset) (0x000107000000C800ull + ((offset) & 15) * 8)
56#define CVMX_CIU_EN2_PPX_IP2_W1S(offset) (0x000107000000A800ull + ((offset) & 15) * 8)
57#define CVMX_CIU_EN2_PPX_IP3(offset)	 (0x000107000000A200ull + ((offset) & 15) * 8)
58#define CVMX_CIU_EN2_PPX_IP3_W1C(offset) (0x000107000000CA00ull + ((offset) & 15) * 8)
59#define CVMX_CIU_EN2_PPX_IP3_W1S(offset) (0x000107000000AA00ull + ((offset) & 15) * 8)
60#define CVMX_CIU_EN2_PPX_IP4(offset)	 (0x000107000000A400ull + ((offset) & 15) * 8)
61#define CVMX_CIU_EN2_PPX_IP4_W1C(offset) (0x000107000000CC00ull + ((offset) & 15) * 8)
62#define CVMX_CIU_EN2_PPX_IP4_W1S(offset) (0x000107000000AC00ull + ((offset) & 15) * 8)
63#define CVMX_CIU_FUSE			 CVMX_CIU_FUSE_FUNC()
64static inline u64 CVMX_CIU_FUSE_FUNC(void)
65{
66	switch (cvmx_get_octeon_family()) {
67	case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
68	case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
69	case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
70	case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
71	case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
72	case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
73		return 0x0001070000000728ull;
74	case OCTEON_CN78XX & OCTEON_FAMILY_MASK:
75		if (OCTEON_IS_MODEL(OCTEON_CN78XX_PASS1_X))
76			return 0x00010100000001A0ull;
77		if (OCTEON_IS_MODEL(OCTEON_CN78XX))
78			return 0x00010100000001A0ull;
79	case OCTEON_CNF75XX & OCTEON_FAMILY_MASK:
80	case OCTEON_CN73XX & OCTEON_FAMILY_MASK:
81		return 0x00010100000001A0ull;
82	}
83	return 0x00010100000001A0ull;
84}
85
86#define CVMX_CIU_GSTOP			(0x0001070000000710ull)
87#define CVMX_CIU_INT33_SUM0		(0x0001070000000110ull)
88#define CVMX_CIU_INTR_SLOWDOWN		(0x00010700000007D0ull)
89#define CVMX_CIU_INTX_EN0(offset)	(0x0001070000000200ull + ((offset) & 63) * 16)
90#define CVMX_CIU_INTX_EN0_W1C(offset)	(0x0001070000002200ull + ((offset) & 63) * 16)
91#define CVMX_CIU_INTX_EN0_W1S(offset)	(0x0001070000006200ull + ((offset) & 63) * 16)
92#define CVMX_CIU_INTX_EN1(offset)	(0x0001070000000208ull + ((offset) & 63) * 16)
93#define CVMX_CIU_INTX_EN1_W1C(offset)	(0x0001070000002208ull + ((offset) & 63) * 16)
94#define CVMX_CIU_INTX_EN1_W1S(offset)	(0x0001070000006208ull + ((offset) & 63) * 16)
95#define CVMX_CIU_INTX_EN4_0(offset)	(0x0001070000000C80ull + ((offset) & 15) * 16)
96#define CVMX_CIU_INTX_EN4_0_W1C(offset) (0x0001070000002C80ull + ((offset) & 15) * 16)
97#define CVMX_CIU_INTX_EN4_0_W1S(offset) (0x0001070000006C80ull + ((offset) & 15) * 16)
98#define CVMX_CIU_INTX_EN4_1(offset)	(0x0001070000000C88ull + ((offset) & 15) * 16)
99#define CVMX_CIU_INTX_EN4_1_W1C(offset) (0x0001070000002C88ull + ((offset) & 15) * 16)
100#define CVMX_CIU_INTX_EN4_1_W1S(offset) (0x0001070000006C88ull + ((offset) & 15) * 16)
101#define CVMX_CIU_INTX_SUM0(offset)	(0x0001070000000000ull + ((offset) & 63) * 8)
102#define CVMX_CIU_INTX_SUM4(offset)	(0x0001070000000C00ull + ((offset) & 15) * 8)
103#define CVMX_CIU_INT_DBG_SEL		(0x00010700000007D0ull)
104#define CVMX_CIU_INT_SUM1		(0x0001070000000108ull)
105static inline u64 CVMX_CIU_MBOX_CLRX(unsigned long offset)
106{
107	switch (cvmx_get_octeon_family()) {
108	case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
109	case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
110	case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
111		return 0x0001070000000680ull + (offset) * 8;
112	case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
113		return 0x0001070000000680ull + (offset) * 8;
114	case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
115		return 0x0001070000000680ull + (offset) * 8;
116	case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
117		return 0x0001070100100600ull + (offset) * 8;
118	}
119	return 0x0001070000000680ull + (offset) * 8;
120}
121
122static inline u64 CVMX_CIU_MBOX_SETX(unsigned long offset)
123{
124	switch (cvmx_get_octeon_family()) {
125	case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
126	case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
127	case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
128		return 0x0001070000000600ull + (offset) * 8;
129	case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
130		return 0x0001070000000600ull + (offset) * 8;
131	case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
132		return 0x0001070000000600ull + (offset) * 8;
133	case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
134		return 0x0001070100100400ull + (offset) * 8;
135	}
136	return 0x0001070000000600ull + (offset) * 8;
137}
138
139#define CVMX_CIU_NMI	      (0x0001070000000718ull)
140#define CVMX_CIU_PCI_INTA     (0x0001070000000750ull)
141#define CVMX_CIU_PP_BIST_STAT (0x00010700000007E0ull)
142#define CVMX_CIU_PP_DBG	      CVMX_CIU_PP_DBG_FUNC()
143static inline u64 CVMX_CIU_PP_DBG_FUNC(void)
144{
145	switch (cvmx_get_octeon_family()) {
146	case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
147	case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
148	case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
149	case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
150	case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
151	case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
152		return 0x0001070000000708ull;
153	case OCTEON_CN78XX & OCTEON_FAMILY_MASK:
154		if (OCTEON_IS_MODEL(OCTEON_CN78XX_PASS1_X))
155			return 0x0001010000000120ull;
156		if (OCTEON_IS_MODEL(OCTEON_CN78XX))
157			return 0x0001010000000120ull;
158	case OCTEON_CNF75XX & OCTEON_FAMILY_MASK:
159	case OCTEON_CN73XX & OCTEON_FAMILY_MASK:
160		return 0x0001010000000120ull;
161	}
162	return 0x0001010000000120ull;
163}
164
165static inline u64 CVMX_CIU_PP_POKEX(unsigned long offset)
166{
167	switch (cvmx_get_octeon_family()) {
168	case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
169	case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
170	case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
171		return 0x0001070000000580ull + (offset) * 8;
172	case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
173		return 0x0001070000000580ull + (offset) * 8;
174	case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
175		return 0x0001070000000580ull + (offset) * 8;
176	case OCTEON_CN78XX & OCTEON_FAMILY_MASK:
177		if (OCTEON_IS_MODEL(OCTEON_CN78XX_PASS1_X))
178			return 0x0001010000030000ull + (offset) * 8;
179		if (OCTEON_IS_MODEL(OCTEON_CN78XX))
180			return 0x0001010000030000ull + (offset) * 8;
181
182	case OCTEON_CNF75XX & OCTEON_FAMILY_MASK:
183	case OCTEON_CN73XX & OCTEON_FAMILY_MASK:
184		return 0x0001010000030000ull + (offset) * 8;
185	case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
186		return 0x0001070100100200ull + (offset) * 8;
187	}
188	return 0x0001010000030000ull + (offset) * 8;
189}
190
191#define CVMX_CIU_PP_RST CVMX_CIU_PP_RST_FUNC()
192static inline u64 CVMX_CIU_PP_RST_FUNC(void)
193{
194	switch (cvmx_get_octeon_family()) {
195	case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
196	case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
197	case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
198	case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
199	case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
200	case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
201		return 0x0001070000000700ull;
202	case OCTEON_CN78XX & OCTEON_FAMILY_MASK:
203		if (OCTEON_IS_MODEL(OCTEON_CN78XX_PASS1_X))
204			return 0x0001010000000100ull;
205		if (OCTEON_IS_MODEL(OCTEON_CN78XX))
206			return 0x0001010000000100ull;
207	case OCTEON_CNF75XX & OCTEON_FAMILY_MASK:
208	case OCTEON_CN73XX & OCTEON_FAMILY_MASK:
209		return 0x0001010000000100ull;
210	}
211	return 0x0001010000000100ull;
212}
213
214#define CVMX_CIU_PP_RST_PENDING CVMX_CIU_PP_RST_PENDING_FUNC()
215static inline u64 CVMX_CIU_PP_RST_PENDING_FUNC(void)
216{
217	switch (cvmx_get_octeon_family()) {
218	case OCTEON_CNF75XX & OCTEON_FAMILY_MASK:
219	case OCTEON_CN78XX & OCTEON_FAMILY_MASK:
220		if (OCTEON_IS_MODEL(OCTEON_CN78XX_PASS1_X))
221			return 0x0001010000000110ull;
222		if (OCTEON_IS_MODEL(OCTEON_CN78XX))
223			return 0x0001010000000110ull;
224	case OCTEON_CN73XX & OCTEON_FAMILY_MASK:
225		return 0x0001010000000110ull;
226	case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
227		return 0x0001070000000740ull;
228	}
229	return 0x0001010000000110ull;
230}
231
232#define CVMX_CIU_QLM0		      (0x0001070000000780ull)
233#define CVMX_CIU_QLM1		      (0x0001070000000788ull)
234#define CVMX_CIU_QLM2		      (0x0001070000000790ull)
235#define CVMX_CIU_QLM3		      (0x0001070000000798ull)
236#define CVMX_CIU_QLM4		      (0x00010700000007A0ull)
237#define CVMX_CIU_QLM_DCOK	      (0x0001070000000760ull)
238#define CVMX_CIU_QLM_JTGC	      (0x0001070000000768ull)
239#define CVMX_CIU_QLM_JTGD	      (0x0001070000000770ull)
240#define CVMX_CIU_SOFT_BIST	      (0x0001070000000738ull)
241#define CVMX_CIU_SOFT_PRST	      (0x0001070000000748ull)
242#define CVMX_CIU_SOFT_PRST1	      (0x0001070000000758ull)
243#define CVMX_CIU_SOFT_PRST2	      (0x00010700000007D8ull)
244#define CVMX_CIU_SOFT_PRST3	      (0x00010700000007E0ull)
245#define CVMX_CIU_SOFT_RST	      (0x0001070000000740ull)
246#define CVMX_CIU_SUM1_IOX_INT(offset) (0x0001070000008600ull + ((offset) & 1) * 8)
247#define CVMX_CIU_SUM1_PPX_IP2(offset) (0x0001070000008000ull + ((offset) & 15) * 8)
248#define CVMX_CIU_SUM1_PPX_IP3(offset) (0x0001070000008200ull + ((offset) & 15) * 8)
249#define CVMX_CIU_SUM1_PPX_IP4(offset) (0x0001070000008400ull + ((offset) & 15) * 8)
250#define CVMX_CIU_SUM2_IOX_INT(offset) (0x0001070000008E00ull + ((offset) & 1) * 8)
251#define CVMX_CIU_SUM2_PPX_IP2(offset) (0x0001070000008800ull + ((offset) & 15) * 8)
252#define CVMX_CIU_SUM2_PPX_IP3(offset) (0x0001070000008A00ull + ((offset) & 15) * 8)
253#define CVMX_CIU_SUM2_PPX_IP4(offset) (0x0001070000008C00ull + ((offset) & 15) * 8)
254#define CVMX_CIU_TIMX(offset)	      (0x0001070000000480ull + ((offset) & 15) * 8)
255#define CVMX_CIU_TIM_MULTI_CAST	      CVMX_CIU_TIM_MULTI_CAST_FUNC()
256static inline u64 CVMX_CIU_TIM_MULTI_CAST_FUNC(void)
257{
258	switch (cvmx_get_octeon_family()) {
259	case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
260		return 0x00010700000004F0ull;
261	case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
262	case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
263	case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
264		return 0x000107000000C200ull;
265	}
266	return 0x000107000000C200ull;
267}
268
269static inline u64 CVMX_CIU_WDOGX(unsigned long offset)
270{
271	switch (cvmx_get_octeon_family()) {
272	case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
273	case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
274	case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
275		return 0x0001070000000500ull + (offset) * 8;
276	case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
277		return 0x0001070000000500ull + (offset) * 8;
278	case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
279		return 0x0001070000000500ull + (offset) * 8;
280	case OCTEON_CN78XX & OCTEON_FAMILY_MASK:
281		if (OCTEON_IS_MODEL(OCTEON_CN78XX_PASS1_X))
282			return 0x0001010000020000ull + (offset) * 8;
283		if (OCTEON_IS_MODEL(OCTEON_CN78XX))
284			return 0x0001010000020000ull + (offset) * 8;
285
286	case OCTEON_CNF75XX & OCTEON_FAMILY_MASK:
287	case OCTEON_CN73XX & OCTEON_FAMILY_MASK:
288		return 0x0001010000020000ull + (offset) * 8;
289	case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
290		return 0x0001070100100000ull + (offset) * 8;
291	}
292	return 0x0001010000020000ull + (offset) * 8;
293}
294
295/**
296 * cvmx_ciu_bist
297 */
298union cvmx_ciu_bist {
299	u64 u64;
300	struct cvmx_ciu_bist_s {
301		u64 reserved_7_63 : 57;
302		u64 bist : 7;
303	} s;
304	struct cvmx_ciu_bist_cn30xx {
305		u64 reserved_4_63 : 60;
306		u64 bist : 4;
307	} cn30xx;
308	struct cvmx_ciu_bist_cn30xx cn31xx;
309	struct cvmx_ciu_bist_cn30xx cn38xx;
310	struct cvmx_ciu_bist_cn30xx cn38xxp2;
311	struct cvmx_ciu_bist_cn50xx {
312		u64 reserved_2_63 : 62;
313		u64 bist : 2;
314	} cn50xx;
315	struct cvmx_ciu_bist_cn52xx {
316		u64 reserved_3_63 : 61;
317		u64 bist : 3;
318	} cn52xx;
319	struct cvmx_ciu_bist_cn52xx cn52xxp1;
320	struct cvmx_ciu_bist_cn30xx cn56xx;
321	struct cvmx_ciu_bist_cn30xx cn56xxp1;
322	struct cvmx_ciu_bist_cn30xx cn58xx;
323	struct cvmx_ciu_bist_cn30xx cn58xxp1;
324	struct cvmx_ciu_bist_cn61xx {
325		u64 reserved_6_63 : 58;
326		u64 bist : 6;
327	} cn61xx;
328	struct cvmx_ciu_bist_cn63xx {
329		u64 reserved_5_63 : 59;
330		u64 bist : 5;
331	} cn63xx;
332	struct cvmx_ciu_bist_cn63xx cn63xxp1;
333	struct cvmx_ciu_bist_cn61xx cn66xx;
334	struct cvmx_ciu_bist_s cn68xx;
335	struct cvmx_ciu_bist_s cn68xxp1;
336	struct cvmx_ciu_bist_cn52xx cn70xx;
337	struct cvmx_ciu_bist_cn52xx cn70xxp1;
338	struct cvmx_ciu_bist_cn61xx cnf71xx;
339};
340
341typedef union cvmx_ciu_bist cvmx_ciu_bist_t;
342
343/**
344 * cvmx_ciu_block_int
345 *
346 * CIU_BLOCK_INT = CIU Blocks Interrupt
347 *
348 * The interrupt lines from the various chip blocks.
349 */
350union cvmx_ciu_block_int {
351	u64 u64;
352	struct cvmx_ciu_block_int_s {
353		u64 reserved_62_63 : 2;
354		u64 srio3 : 1;
355		u64 srio2 : 1;
356		u64 reserved_43_59 : 17;
357		u64 ptp : 1;
358		u64 dpi : 1;
359		u64 dfm : 1;
360		u64 reserved_34_39 : 6;
361		u64 srio1 : 1;
362		u64 srio0 : 1;
363		u64 reserved_31_31 : 1;
364		u64 iob : 1;
365		u64 reserved_29_29 : 1;
366		u64 agl : 1;
367		u64 reserved_27_27 : 1;
368		u64 pem1 : 1;
369		u64 pem0 : 1;
370		u64 reserved_24_24 : 1;
371		u64 asxpcs1 : 1;
372		u64 asxpcs0 : 1;
373		u64 reserved_21_21 : 1;
374		u64 pip : 1;
375		u64 reserved_18_19 : 2;
376		u64 lmc0 : 1;
377		u64 l2c : 1;
378		u64 reserved_15_15 : 1;
379		u64 rad : 1;
380		u64 usb : 1;
381		u64 pow : 1;
382		u64 tim : 1;
383		u64 pko : 1;
384		u64 ipd : 1;
385		u64 reserved_8_8 : 1;
386		u64 zip : 1;
387		u64 dfa : 1;
388		u64 fpa : 1;
389		u64 key : 1;
390		u64 sli : 1;
391		u64 gmx1 : 1;
392		u64 gmx0 : 1;
393		u64 mio : 1;
394	} s;
395	struct cvmx_ciu_block_int_cn61xx {
396		u64 reserved_43_63 : 21;
397		u64 ptp : 1;
398		u64 dpi : 1;
399		u64 reserved_31_40 : 10;
400		u64 iob : 1;
401		u64 reserved_29_29 : 1;
402		u64 agl : 1;
403		u64 reserved_27_27 : 1;
404		u64 pem1 : 1;
405		u64 pem0 : 1;
406		u64 reserved_24_24 : 1;
407		u64 asxpcs1 : 1;
408		u64 asxpcs0 : 1;
409		u64 reserved_21_21 : 1;
410		u64 pip : 1;
411		u64 reserved_18_19 : 2;
412		u64 lmc0 : 1;
413		u64 l2c : 1;
414		u64 reserved_15_15 : 1;
415		u64 rad : 1;
416		u64 usb : 1;
417		u64 pow : 1;
418		u64 tim : 1;
419		u64 pko : 1;
420		u64 ipd : 1;
421		u64 reserved_8_8 : 1;
422		u64 zip : 1;
423		u64 dfa : 1;
424		u64 fpa : 1;
425		u64 key : 1;
426		u64 sli : 1;
427		u64 gmx1 : 1;
428		u64 gmx0 : 1;
429		u64 mio : 1;
430	} cn61xx;
431	struct cvmx_ciu_block_int_cn63xx {
432		u64 reserved_43_63 : 21;
433		u64 ptp : 1;
434		u64 dpi : 1;
435		u64 dfm : 1;
436		u64 reserved_34_39 : 6;
437		u64 srio1 : 1;
438		u64 srio0 : 1;
439		u64 reserved_31_31 : 1;
440		u64 iob : 1;
441		u64 reserved_29_29 : 1;
442		u64 agl : 1;
443		u64 reserved_27_27 : 1;
444		u64 pem1 : 1;
445		u64 pem0 : 1;
446		u64 reserved_23_24 : 2;
447		u64 asxpcs0 : 1;
448		u64 reserved_21_21 : 1;
449		u64 pip : 1;
450		u64 reserved_18_19 : 2;
451		u64 lmc0 : 1;
452		u64 l2c : 1;
453		u64 reserved_15_15 : 1;
454		u64 rad : 1;
455		u64 usb : 1;
456		u64 pow : 1;
457		u64 tim : 1;
458		u64 pko : 1;
459		u64 ipd : 1;
460		u64 reserved_8_8 : 1;
461		u64 zip : 1;
462		u64 dfa : 1;
463		u64 fpa : 1;
464		u64 key : 1;
465		u64 sli : 1;
466		u64 reserved_2_2 : 1;
467		u64 gmx0 : 1;
468		u64 mio : 1;
469	} cn63xx;
470	struct cvmx_ciu_block_int_cn63xx cn63xxp1;
471	struct cvmx_ciu_block_int_cn66xx {
472		u64 reserved_62_63 : 2;
473		u64 srio3 : 1;
474		u64 srio2 : 1;
475		u64 reserved_43_59 : 17;
476		u64 ptp : 1;
477		u64 dpi : 1;
478		u64 dfm : 1;
479		u64 reserved_33_39 : 7;
480		u64 srio0 : 1;
481		u64 reserved_31_31 : 1;
482		u64 iob : 1;
483		u64 reserved_29_29 : 1;
484		u64 agl : 1;
485		u64 reserved_27_27 : 1;
486		u64 pem1 : 1;
487		u64 pem0 : 1;
488		u64 reserved_24_24 : 1;
489		u64 asxpcs1 : 1;
490		u64 asxpcs0 : 1;
491		u64 reserved_21_21 : 1;
492		u64 pip : 1;
493		u64 reserved_18_19 : 2;
494		u64 lmc0 : 1;
495		u64 l2c : 1;
496		u64 reserved_15_15 : 1;
497		u64 rad : 1;
498		u64 usb : 1;
499		u64 pow : 1;
500		u64 tim : 1;
501		u64 pko : 1;
502		u64 ipd : 1;
503		u64 reserved_8_8 : 1;
504		u64 zip : 1;
505		u64 dfa : 1;
506		u64 fpa : 1;
507		u64 key : 1;
508		u64 sli : 1;
509		u64 gmx1 : 1;
510		u64 gmx0 : 1;
511		u64 mio : 1;
512	} cn66xx;
513	struct cvmx_ciu_block_int_cnf71xx {
514		u64 reserved_43_63 : 21;
515		u64 ptp : 1;
516		u64 dpi : 1;
517		u64 reserved_31_40 : 10;
518		u64 iob : 1;
519		u64 reserved_27_29 : 3;
520		u64 pem1 : 1;
521		u64 pem0 : 1;
522		u64 reserved_23_24 : 2;
523		u64 asxpcs0 : 1;
524		u64 reserved_21_21 : 1;
525		u64 pip : 1;
526		u64 reserved_18_19 : 2;
527		u64 lmc0 : 1;
528		u64 l2c : 1;
529		u64 reserved_15_15 : 1;
530		u64 rad : 1;
531		u64 usb : 1;
532		u64 pow : 1;
533		u64 tim : 1;
534		u64 pko : 1;
535		u64 ipd : 1;
536		u64 reserved_6_8 : 3;
537		u64 fpa : 1;
538		u64 key : 1;
539		u64 sli : 1;
540		u64 reserved_2_2 : 1;
541		u64 gmx0 : 1;
542		u64 mio : 1;
543	} cnf71xx;
544};
545
546typedef union cvmx_ciu_block_int cvmx_ciu_block_int_t;
547
548/**
549 * cvmx_ciu_cib_l2c_en#
550 */
551union cvmx_ciu_cib_l2c_enx {
552	u64 u64;
553	struct cvmx_ciu_cib_l2c_enx_s {
554		u64 reserved_23_63 : 41;
555		u64 cbcx_int_ioccmddbe : 1;
556		u64 cbcx_int_ioccmdsbe : 1;
557		u64 cbcx_int_rsddbe : 1;
558		u64 cbcx_int_rsdsbe : 1;
559		u64 mcix_int_vbfdbe : 1;
560		u64 mcix_int_vbfsbe : 1;
561		u64 tadx_int_rtgdbe : 1;
562		u64 tadx_int_rtgsbe : 1;
563		u64 tadx_int_rddislmc : 1;
564		u64 tadx_int_wrdislmc : 1;
565		u64 tadx_int_bigrd : 1;
566		u64 tadx_int_bigwr : 1;
567		u64 tadx_int_holerd : 1;
568		u64 tadx_int_holewr : 1;
569		u64 tadx_int_noway : 1;
570		u64 tadx_int_tagdbe : 1;
571		u64 tadx_int_tagsbe : 1;
572		u64 tadx_int_fbfdbe : 1;
573		u64 tadx_int_fbfsbe : 1;
574		u64 tadx_int_sbfdbe : 1;
575		u64 tadx_int_sbfsbe : 1;
576		u64 tadx_int_l2ddbe : 1;
577		u64 tadx_int_l2dsbe : 1;
578	} s;
579	struct cvmx_ciu_cib_l2c_enx_s cn70xx;
580	struct cvmx_ciu_cib_l2c_enx_s cn70xxp1;
581};
582
583typedef union cvmx_ciu_cib_l2c_enx cvmx_ciu_cib_l2c_enx_t;
584
585/**
586 * cvmx_ciu_cib_l2c_raw#
587 */
588union cvmx_ciu_cib_l2c_rawx {
589	u64 u64;
590	struct cvmx_ciu_cib_l2c_rawx_s {
591		u64 reserved_23_63 : 41;
592		u64 cbcx_int_ioccmddbe : 1;
593		u64 cbcx_int_ioccmdsbe : 1;
594		u64 cbcx_int_rsddbe : 1;
595		u64 cbcx_int_rsdsbe : 1;
596		u64 mcix_int_vbfdbe : 1;
597		u64 mcix_int_vbfsbe : 1;
598		u64 tadx_int_rtgdbe : 1;
599		u64 tadx_int_rtgsbe : 1;
600		u64 tadx_int_rddislmc : 1;
601		u64 tadx_int_wrdislmc : 1;
602		u64 tadx_int_bigrd : 1;
603		u64 tadx_int_bigwr : 1;
604		u64 tadx_int_holerd : 1;
605		u64 tadx_int_holewr : 1;
606		u64 tadx_int_noway : 1;
607		u64 tadx_int_tagdbe : 1;
608		u64 tadx_int_tagsbe : 1;
609		u64 tadx_int_fbfdbe : 1;
610		u64 tadx_int_fbfsbe : 1;
611		u64 tadx_int_sbfdbe : 1;
612		u64 tadx_int_sbfsbe : 1;
613		u64 tadx_int_l2ddbe : 1;
614		u64 tadx_int_l2dsbe : 1;
615	} s;
616	struct cvmx_ciu_cib_l2c_rawx_s cn70xx;
617	struct cvmx_ciu_cib_l2c_rawx_s cn70xxp1;
618};
619
620typedef union cvmx_ciu_cib_l2c_rawx cvmx_ciu_cib_l2c_rawx_t;
621
622/**
623 * cvmx_ciu_cib_lmc#_en#
624 */
625union cvmx_ciu_cib_lmcx_enx {
626	u64 u64;
627	struct cvmx_ciu_cib_lmcx_enx_s {
628		u64 reserved_12_63 : 52;
629		u64 int_ddr_err : 1;
630		u64 int_dlc_ded : 1;
631		u64 int_dlc_sec : 1;
632		u64 int_ded_errx : 4;
633		u64 int_sec_errx : 4;
634		u64 int_nxm_wr_err : 1;
635	} s;
636	struct cvmx_ciu_cib_lmcx_enx_s cn70xx;
637	struct cvmx_ciu_cib_lmcx_enx_s cn70xxp1;
638};
639
640typedef union cvmx_ciu_cib_lmcx_enx cvmx_ciu_cib_lmcx_enx_t;
641
642/**
643 * cvmx_ciu_cib_lmc#_raw#
644 */
645union cvmx_ciu_cib_lmcx_rawx {
646	u64 u64;
647	struct cvmx_ciu_cib_lmcx_rawx_s {
648		u64 reserved_12_63 : 52;
649		u64 int_ddr_err : 1;
650		u64 int_dlc_ded : 1;
651		u64 int_dlc_sec : 1;
652		u64 int_ded_errx : 4;
653		u64 int_sec_errx : 4;
654		u64 int_nxm_wr_err : 1;
655	} s;
656	struct cvmx_ciu_cib_lmcx_rawx_s cn70xx;
657	struct cvmx_ciu_cib_lmcx_rawx_s cn70xxp1;
658};
659
660typedef union cvmx_ciu_cib_lmcx_rawx cvmx_ciu_cib_lmcx_rawx_t;
661
662/**
663 * cvmx_ciu_cib_ocla#_en#
664 */
665union cvmx_ciu_cib_oclax_enx {
666	u64 u64;
667	struct cvmx_ciu_cib_oclax_enx_s {
668		u64 reserved_15_63 : 49;
669		u64 state_ddrfull : 1;
670		u64 state_wmark : 1;
671		u64 state_overfull : 1;
672		u64 state_trigfull : 1;
673		u64 state_captured : 1;
674		u64 state_fsm1_int : 1;
675		u64 state_fsm0_int : 1;
676		u64 state_mcdx : 3;
677		u64 state_trig : 1;
678		u64 state_ovflx : 4;
679	} s;
680	struct cvmx_ciu_cib_oclax_enx_s cn70xx;
681	struct cvmx_ciu_cib_oclax_enx_s cn70xxp1;
682};
683
684typedef union cvmx_ciu_cib_oclax_enx cvmx_ciu_cib_oclax_enx_t;
685
686/**
687 * cvmx_ciu_cib_ocla#_raw#
688 */
689union cvmx_ciu_cib_oclax_rawx {
690	u64 u64;
691	struct cvmx_ciu_cib_oclax_rawx_s {
692		u64 reserved_15_63 : 49;
693		u64 state_ddrfull : 1;
694		u64 state_wmark : 1;
695		u64 state_overfull : 1;
696		u64 state_trigfull : 1;
697		u64 state_captured : 1;
698		u64 state_fsm1_int : 1;
699		u64 state_fsm0_int : 1;
700		u64 state_mcdx : 3;
701		u64 state_trig : 1;
702		u64 state_ovflx : 4;
703	} s;
704	struct cvmx_ciu_cib_oclax_rawx_s cn70xx;
705	struct cvmx_ciu_cib_oclax_rawx_s cn70xxp1;
706};
707
708typedef union cvmx_ciu_cib_oclax_rawx cvmx_ciu_cib_oclax_rawx_t;
709
710/**
711 * cvmx_ciu_cib_rst_en#
712 */
713union cvmx_ciu_cib_rst_enx {
714	u64 u64;
715	struct cvmx_ciu_cib_rst_enx_s {
716		u64 reserved_6_63 : 58;
717		u64 int_perstx : 3;
718		u64 int_linkx : 3;
719	} s;
720	struct cvmx_ciu_cib_rst_enx_s cn70xx;
721	struct cvmx_ciu_cib_rst_enx_s cn70xxp1;
722};
723
724typedef union cvmx_ciu_cib_rst_enx cvmx_ciu_cib_rst_enx_t;
725
726/**
727 * cvmx_ciu_cib_rst_raw#
728 */
729union cvmx_ciu_cib_rst_rawx {
730	u64 u64;
731	struct cvmx_ciu_cib_rst_rawx_s {
732		u64 reserved_6_63 : 58;
733		u64 int_perstx : 3;
734		u64 int_linkx : 3;
735	} s;
736	struct cvmx_ciu_cib_rst_rawx_s cn70xx;
737	struct cvmx_ciu_cib_rst_rawx_s cn70xxp1;
738};
739
740typedef union cvmx_ciu_cib_rst_rawx cvmx_ciu_cib_rst_rawx_t;
741
742/**
743 * cvmx_ciu_cib_sata_en#
744 */
745union cvmx_ciu_cib_sata_enx {
746	u64 u64;
747	struct cvmx_ciu_cib_sata_enx_s {
748		u64 reserved_4_63 : 60;
749		u64 uahc_pme_req_ip : 1;
750		u64 uahc_intrq_ip : 1;
751		u64 intstat_xm_bad_dma : 1;
752		u64 intstat_xs_ncb_oob : 1;
753	} s;
754	struct cvmx_ciu_cib_sata_enx_s cn70xx;
755	struct cvmx_ciu_cib_sata_enx_s cn70xxp1;
756};
757
758typedef union cvmx_ciu_cib_sata_enx cvmx_ciu_cib_sata_enx_t;
759
760/**
761 * cvmx_ciu_cib_sata_raw#
762 */
763union cvmx_ciu_cib_sata_rawx {
764	u64 u64;
765	struct cvmx_ciu_cib_sata_rawx_s {
766		u64 reserved_4_63 : 60;
767		u64 uahc_pme_req_ip : 1;
768		u64 uahc_intrq_ip : 1;
769		u64 intstat_xm_bad_dma : 1;
770		u64 intstat_xs_ncb_oob : 1;
771	} s;
772	struct cvmx_ciu_cib_sata_rawx_s cn70xx;
773	struct cvmx_ciu_cib_sata_rawx_s cn70xxp1;
774};
775
776typedef union cvmx_ciu_cib_sata_rawx cvmx_ciu_cib_sata_rawx_t;
777
778/**
779 * cvmx_ciu_cib_usbdrd#_en#
780 */
781union cvmx_ciu_cib_usbdrdx_enx {
782	u64 u64;
783	struct cvmx_ciu_cib_usbdrdx_enx_s {
784		u64 reserved_11_63 : 53;
785		u64 uahc_dev_int : 1;
786		u64 uahc_imanx_ip : 1;
787		u64 uahc_usbsts_hse : 1;
788		u64 intstat_ram2_dbe : 1;
789		u64 intstat_ram2_sbe : 1;
790		u64 intstat_ram1_dbe : 1;
791		u64 intstat_ram1_sbe : 1;
792		u64 intstat_ram0_dbe : 1;
793		u64 intstat_ram0_sbe : 1;
794		u64 intstat_xm_bad_dma : 1;
795		u64 intstat_xs_ncb_oob : 1;
796	} s;
797	struct cvmx_ciu_cib_usbdrdx_enx_s cn70xx;
798	struct cvmx_ciu_cib_usbdrdx_enx_s cn70xxp1;
799};
800
801typedef union cvmx_ciu_cib_usbdrdx_enx cvmx_ciu_cib_usbdrdx_enx_t;
802
803/**
804 * cvmx_ciu_cib_usbdrd#_raw#
805 */
806union cvmx_ciu_cib_usbdrdx_rawx {
807	u64 u64;
808	struct cvmx_ciu_cib_usbdrdx_rawx_s {
809		u64 reserved_11_63 : 53;
810		u64 uahc_dev_int : 1;
811		u64 uahc_imanx_ip : 1;
812		u64 uahc_usbsts_hse : 1;
813		u64 intstat_ram2_dbe : 1;
814		u64 intstat_ram2_sbe : 1;
815		u64 intstat_ram1_dbe : 1;
816		u64 intstat_ram1_sbe : 1;
817		u64 intstat_ram0_dbe : 1;
818		u64 intstat_ram0_sbe : 1;
819		u64 intstat_xm_bad_dma : 1;
820		u64 intstat_xs_ncb_oob : 1;
821	} s;
822	struct cvmx_ciu_cib_usbdrdx_rawx_s cn70xx;
823	struct cvmx_ciu_cib_usbdrdx_rawx_s cn70xxp1;
824};
825
826typedef union cvmx_ciu_cib_usbdrdx_rawx cvmx_ciu_cib_usbdrdx_rawx_t;
827
828/**
829 * cvmx_ciu_dint
830 */
831union cvmx_ciu_dint {
832	u64 u64;
833	struct cvmx_ciu_dint_s {
834		u64 reserved_48_63 : 16;
835		u64 dint : 48;
836	} s;
837	struct cvmx_ciu_dint_cn30xx {
838		u64 reserved_1_63 : 63;
839		u64 dint : 1;
840	} cn30xx;
841	struct cvmx_ciu_dint_cn31xx {
842		u64 reserved_2_63 : 62;
843		u64 dint : 2;
844	} cn31xx;
845	struct cvmx_ciu_dint_cn38xx {
846		u64 reserved_16_63 : 48;
847		u64 dint : 16;
848	} cn38xx;
849	struct cvmx_ciu_dint_cn38xx cn38xxp2;
850	struct cvmx_ciu_dint_cn31xx cn50xx;
851	struct cvmx_ciu_dint_cn52xx {
852		u64 reserved_4_63 : 60;
853		u64 dint : 4;
854	} cn52xx;
855	struct cvmx_ciu_dint_cn52xx cn52xxp1;
856	struct cvmx_ciu_dint_cn56xx {
857		u64 reserved_12_63 : 52;
858		u64 dint : 12;
859	} cn56xx;
860	struct cvmx_ciu_dint_cn56xx cn56xxp1;
861	struct cvmx_ciu_dint_cn38xx cn58xx;
862	struct cvmx_ciu_dint_cn38xx cn58xxp1;
863	struct cvmx_ciu_dint_cn52xx cn61xx;
864	struct cvmx_ciu_dint_cn63xx {
865		u64 reserved_6_63 : 58;
866		u64 dint : 6;
867	} cn63xx;
868	struct cvmx_ciu_dint_cn63xx cn63xxp1;
869	struct cvmx_ciu_dint_cn66xx {
870		u64 reserved_10_63 : 54;
871		u64 dint : 10;
872	} cn66xx;
873	struct cvmx_ciu_dint_cn68xx {
874		u64 reserved_32_63 : 32;
875		u64 dint : 32;
876	} cn68xx;
877	struct cvmx_ciu_dint_cn68xx cn68xxp1;
878	struct cvmx_ciu_dint_cn52xx cn70xx;
879	struct cvmx_ciu_dint_cn52xx cn70xxp1;
880	struct cvmx_ciu_dint_cn38xx cn73xx;
881	struct cvmx_ciu_dint_s cn78xx;
882	struct cvmx_ciu_dint_s cn78xxp1;
883	struct cvmx_ciu_dint_cn52xx cnf71xx;
884	struct cvmx_ciu_dint_cn38xx cnf75xx;
885};
886
887typedef union cvmx_ciu_dint cvmx_ciu_dint_t;
888
889/**
890 * cvmx_ciu_en2_io#_int
891 *
892 * CIU_EN2_IO0_INT is for PEM0, CIU_EN2_IO1_INT is reserved.
893 *
894 */
895union cvmx_ciu_en2_iox_int {
896	u64 u64;
897	struct cvmx_ciu_en2_iox_int_s {
898		u64 reserved_20_63 : 44;
899		u64 bch : 1;
900		u64 agl_drp : 1;
901		u64 ocla : 1;
902		u64 sata : 1;
903		u64 reserved_15_15 : 1;
904		u64 endor : 2;
905		u64 eoi : 1;
906		u64 reserved_10_11 : 2;
907		u64 timer : 6;
908		u64 reserved_0_3 : 4;
909	} s;
910	struct cvmx_ciu_en2_iox_int_cn61xx {
911		u64 reserved_10_63 : 54;
912		u64 timer : 6;
913		u64 reserved_0_3 : 4;
914	} cn61xx;
915	struct cvmx_ciu_en2_iox_int_cn61xx cn66xx;
916	struct cvmx_ciu_en2_iox_int_cn70xx {
917		u64 reserved_20_63 : 44;
918		u64 bch : 1;
919		u64 agl_drp : 1;
920		u64 ocla : 1;
921		u64 sata : 1;
922		u64 reserved_10_15 : 6;
923		u64 timer : 6;
924		u64 reserved_0_3 : 4;
925	} cn70xx;
926	struct cvmx_ciu_en2_iox_int_cn70xx cn70xxp1;
927	struct cvmx_ciu_en2_iox_int_cnf71xx {
928		u64 reserved_15_63 : 49;
929		u64 endor : 2;
930		u64 eoi : 1;
931		u64 reserved_10_11 : 2;
932		u64 timer : 6;
933		u64 reserved_0_3 : 4;
934	} cnf71xx;
935};
936
937typedef union cvmx_ciu_en2_iox_int cvmx_ciu_en2_iox_int_t;
938
939/**
940 * cvmx_ciu_en2_io#_int_w1c
941 *
942 * CIU_EN2_IO0_INT_W1C is for PEM0, CIU_EN2_IO1_INT_W1C is reserved.
943 *
944 */
945union cvmx_ciu_en2_iox_int_w1c {
946	u64 u64;
947	struct cvmx_ciu_en2_iox_int_w1c_s {
948		u64 reserved_20_63 : 44;
949		u64 bch : 1;
950		u64 agl_drp : 1;
951		u64 ocla : 1;
952		u64 sata : 1;
953		u64 reserved_15_15 : 1;
954		u64 endor : 2;
955		u64 eoi : 1;
956		u64 reserved_10_11 : 2;
957		u64 timer : 6;
958		u64 reserved_0_3 : 4;
959	} s;
960	struct cvmx_ciu_en2_iox_int_w1c_cn61xx {
961		u64 reserved_10_63 : 54;
962		u64 timer : 6;
963		u64 reserved_0_3 : 4;
964	} cn61xx;
965	struct cvmx_ciu_en2_iox_int_w1c_cn61xx cn66xx;
966	struct cvmx_ciu_en2_iox_int_w1c_cn70xx {
967		u64 reserved_20_63 : 44;
968		u64 bch : 1;
969		u64 agl_drp : 1;
970		u64 ocla : 1;
971		u64 sata : 1;
972		u64 reserved_10_15 : 6;
973		u64 timer : 6;
974		u64 reserved_0_3 : 4;
975	} cn70xx;
976	struct cvmx_ciu_en2_iox_int_w1c_cn70xx cn70xxp1;
977	struct cvmx_ciu_en2_iox_int_w1c_cnf71xx {
978		u64 reserved_15_63 : 49;
979		u64 endor : 2;
980		u64 eoi : 1;
981		u64 reserved_10_11 : 2;
982		u64 timer : 6;
983		u64 reserved_0_3 : 4;
984	} cnf71xx;
985};
986
987typedef union cvmx_ciu_en2_iox_int_w1c cvmx_ciu_en2_iox_int_w1c_t;
988
989/**
990 * cvmx_ciu_en2_io#_int_w1s
991 *
992 * CIU_EN2_IO0_INT_W1S is for PEM0, CIU_EN2_IO1_INT_W1S is reserved.
993 *
994 */
995union cvmx_ciu_en2_iox_int_w1s {
996	u64 u64;
997	struct cvmx_ciu_en2_iox_int_w1s_s {
998		u64 reserved_20_63 : 44;
999		u64 bch : 1;
1000		u64 agl_drp : 1;
1001		u64 ocla : 1;
1002		u64 sata : 1;
1003		u64 reserved_15_15 : 1;
1004		u64 endor : 2;
1005		u64 eoi : 1;
1006		u64 reserved_10_11 : 2;
1007		u64 timer : 6;
1008		u64 reserved_0_3 : 4;
1009	} s;
1010	struct cvmx_ciu_en2_iox_int_w1s_cn61xx {
1011		u64 reserved_10_63 : 54;
1012		u64 timer : 6;
1013		u64 reserved_0_3 : 4;
1014	} cn61xx;
1015	struct cvmx_ciu_en2_iox_int_w1s_cn61xx cn66xx;
1016	struct cvmx_ciu_en2_iox_int_w1s_cn70xx {
1017		u64 reserved_20_63 : 44;
1018		u64 bch : 1;
1019		u64 agl_drp : 1;
1020		u64 ocla : 1;
1021		u64 sata : 1;
1022		u64 reserved_10_15 : 6;
1023		u64 timer : 6;
1024		u64 reserved_0_3 : 4;
1025	} cn70xx;
1026	struct cvmx_ciu_en2_iox_int_w1s_cn70xx cn70xxp1;
1027	struct cvmx_ciu_en2_iox_int_w1s_cnf71xx {
1028		u64 reserved_15_63 : 49;
1029		u64 endor : 2;
1030		u64 eoi : 1;
1031		u64 reserved_10_11 : 2;
1032		u64 timer : 6;
1033		u64 reserved_0_3 : 4;
1034	} cnf71xx;
1035};
1036
1037typedef union cvmx_ciu_en2_iox_int_w1s cvmx_ciu_en2_iox_int_w1s_t;
1038
1039/**
1040 * cvmx_ciu_en2_pp#_ip2
1041 *
1042 * Notes:
1043 * These SUM2 CSR's did not exist prior to pass 1.2. CIU_TIM4-9 did not exist prior to pass 1.2.
1044 *
1045 */
1046union cvmx_ciu_en2_ppx_ip2 {
1047	u64 u64;
1048	struct cvmx_ciu_en2_ppx_ip2_s {
1049		u64 reserved_20_63 : 44;
1050		u64 bch : 1;
1051		u64 agl_drp : 1;
1052		u64 ocla : 1;
1053		u64 sata : 1;
1054		u64 reserved_15_15 : 1;
1055		u64 endor : 2;
1056		u64 eoi : 1;
1057		u64 reserved_10_11 : 2;
1058		u64 timer : 6;
1059		u64 reserved_0_3 : 4;
1060	} s;
1061	struct cvmx_ciu_en2_ppx_ip2_cn61xx {
1062		u64 reserved_10_63 : 54;
1063		u64 timer : 6;
1064		u64 reserved_0_3 : 4;
1065	} cn61xx;
1066	struct cvmx_ciu_en2_ppx_ip2_cn61xx cn66xx;
1067	struct cvmx_ciu_en2_ppx_ip2_cn70xx {
1068		u64 reserved_20_63 : 44;
1069		u64 bch : 1;
1070		u64 agl_drp : 1;
1071		u64 ocla : 1;
1072		u64 sata : 1;
1073		u64 reserved_10_15 : 6;
1074		u64 timer : 6;
1075		u64 reserved_0_3 : 4;
1076	} cn70xx;
1077	struct cvmx_ciu_en2_ppx_ip2_cn70xx cn70xxp1;
1078	struct cvmx_ciu_en2_ppx_ip2_cnf71xx {
1079		u64 reserved_15_63 : 49;
1080		u64 endor : 2;
1081		u64 eoi : 1;
1082		u64 reserved_10_11 : 2;
1083		u64 timer : 6;
1084		u64 reserved_0_3 : 4;
1085	} cnf71xx;
1086};
1087
1088typedef union cvmx_ciu_en2_ppx_ip2 cvmx_ciu_en2_ppx_ip2_t;
1089
1090/**
1091 * cvmx_ciu_en2_pp#_ip2_w1c
1092 *
1093 * Write-1-to-clear version of the CIU_EN2_PP(IO)X_IPx(INT) register, read back corresponding
1094 * CIU_EN2_PP(IO)X_IPx(INT) value.
1095 */
1096union cvmx_ciu_en2_ppx_ip2_w1c {
1097	u64 u64;
1098	struct cvmx_ciu_en2_ppx_ip2_w1c_s {
1099		u64 reserved_20_63 : 44;
1100		u64 bch : 1;
1101		u64 agl_drp : 1;
1102		u64 ocla : 1;
1103		u64 sata : 1;
1104		u64 reserved_15_15 : 1;
1105		u64 endor : 2;
1106		u64 eoi : 1;
1107		u64 reserved_10_11 : 2;
1108		u64 timer : 6;
1109		u64 reserved_0_3 : 4;
1110	} s;
1111	struct cvmx_ciu_en2_ppx_ip2_w1c_cn61xx {
1112		u64 reserved_10_63 : 54;
1113		u64 timer : 6;
1114		u64 reserved_0_3 : 4;
1115	} cn61xx;
1116	struct cvmx_ciu_en2_ppx_ip2_w1c_cn61xx cn66xx;
1117	struct cvmx_ciu_en2_ppx_ip2_w1c_cn70xx {
1118		u64 reserved_20_63 : 44;
1119		u64 bch : 1;
1120		u64 agl_drp : 1;
1121		u64 ocla : 1;
1122		u64 sata : 1;
1123		u64 reserved_10_15 : 6;
1124		u64 timer : 6;
1125		u64 reserved_0_3 : 4;
1126	} cn70xx;
1127	struct cvmx_ciu_en2_ppx_ip2_w1c_cn70xx cn70xxp1;
1128	struct cvmx_ciu_en2_ppx_ip2_w1c_cnf71xx {
1129		u64 reserved_15_63 : 49;
1130		u64 endor : 2;
1131		u64 eoi : 1;
1132		u64 reserved_10_11 : 2;
1133		u64 timer : 6;
1134		u64 reserved_0_3 : 4;
1135	} cnf71xx;
1136};
1137
1138typedef union cvmx_ciu_en2_ppx_ip2_w1c cvmx_ciu_en2_ppx_ip2_w1c_t;
1139
1140/**
1141 * cvmx_ciu_en2_pp#_ip2_w1s
1142 *
1143 * Write-1-to-set version of the CIU_EN2_PP(IO)X_IPx(INT) register, read back corresponding
1144 * CIU_EN2_PP(IO)X_IPx(INT) value.
1145 */
1146union cvmx_ciu_en2_ppx_ip2_w1s {
1147	u64 u64;
1148	struct cvmx_ciu_en2_ppx_ip2_w1s_s {
1149		u64 reserved_20_63 : 44;
1150		u64 bch : 1;
1151		u64 agl_drp : 1;
1152		u64 ocla : 1;
1153		u64 sata : 1;
1154		u64 reserved_15_15 : 1;
1155		u64 endor : 2;
1156		u64 eoi : 1;
1157		u64 reserved_10_11 : 2;
1158		u64 timer : 6;
1159		u64 reserved_0_3 : 4;
1160	} s;
1161	struct cvmx_ciu_en2_ppx_ip2_w1s_cn61xx {
1162		u64 reserved_10_63 : 54;
1163		u64 timer : 6;
1164		u64 reserved_0_3 : 4;
1165	} cn61xx;
1166	struct cvmx_ciu_en2_ppx_ip2_w1s_cn61xx cn66xx;
1167	struct cvmx_ciu_en2_ppx_ip2_w1s_cn70xx {
1168		u64 reserved_20_63 : 44;
1169		u64 bch : 1;
1170		u64 agl_drp : 1;
1171		u64 ocla : 1;
1172		u64 sata : 1;
1173		u64 reserved_10_15 : 6;
1174		u64 timer : 6;
1175		u64 reserved_0_3 : 4;
1176	} cn70xx;
1177	struct cvmx_ciu_en2_ppx_ip2_w1s_cn70xx cn70xxp1;
1178	struct cvmx_ciu_en2_ppx_ip2_w1s_cnf71xx {
1179		u64 reserved_15_63 : 49;
1180		u64 endor : 2;
1181		u64 eoi : 1;
1182		u64 reserved_10_11 : 2;
1183		u64 timer : 6;
1184		u64 reserved_0_3 : 4;
1185	} cnf71xx;
1186};
1187
1188typedef union cvmx_ciu_en2_ppx_ip2_w1s cvmx_ciu_en2_ppx_ip2_w1s_t;
1189
1190/**
1191 * cvmx_ciu_en2_pp#_ip3
1192 *
1193 * Notes:
1194 * These SUM2 CSR's did not exist prior to pass 1.2. CIU_TIM4-9 did not exist prior to pass 1.2.
1195 *
1196 */
1197union cvmx_ciu_en2_ppx_ip3 {
1198	u64 u64;
1199	struct cvmx_ciu_en2_ppx_ip3_s {
1200		u64 reserved_20_63 : 44;
1201		u64 bch : 1;
1202		u64 agl_drp : 1;
1203		u64 ocla : 1;
1204		u64 sata : 1;
1205		u64 reserved_15_15 : 1;
1206		u64 endor : 2;
1207		u64 eoi : 1;
1208		u64 reserved_10_11 : 2;
1209		u64 timer : 6;
1210		u64 reserved_0_3 : 4;
1211	} s;
1212	struct cvmx_ciu_en2_ppx_ip3_cn61xx {
1213		u64 reserved_10_63 : 54;
1214		u64 timer : 6;
1215		u64 reserved_0_3 : 4;
1216	} cn61xx;
1217	struct cvmx_ciu_en2_ppx_ip3_cn61xx cn66xx;
1218	struct cvmx_ciu_en2_ppx_ip3_cn70xx {
1219		u64 reserved_20_63 : 44;
1220		u64 bch : 1;
1221		u64 agl_drp : 1;
1222		u64 ocla : 1;
1223		u64 sata : 1;
1224		u64 reserved_10_15 : 6;
1225		u64 timer : 6;
1226		u64 reserved_0_3 : 4;
1227	} cn70xx;
1228	struct cvmx_ciu_en2_ppx_ip3_cn70xx cn70xxp1;
1229	struct cvmx_ciu_en2_ppx_ip3_cnf71xx {
1230		u64 reserved_15_63 : 49;
1231		u64 endor : 2;
1232		u64 eoi : 1;
1233		u64 reserved_10_11 : 2;
1234		u64 timer : 6;
1235		u64 reserved_0_3 : 4;
1236	} cnf71xx;
1237};
1238
1239typedef union cvmx_ciu_en2_ppx_ip3 cvmx_ciu_en2_ppx_ip3_t;
1240
1241/**
1242 * cvmx_ciu_en2_pp#_ip3_w1c
1243 *
1244 * Notes:
1245 * Write-1-to-clear version of the CIU_EN2_PP(IO)X_IPx(INT) register, read back corresponding
1246 * CIU_EN2_PP(IO)X_IPx(INT) value.
1247 */
1248union cvmx_ciu_en2_ppx_ip3_w1c {
1249	u64 u64;
1250	struct cvmx_ciu_en2_ppx_ip3_w1c_s {
1251		u64 reserved_20_63 : 44;
1252		u64 bch : 1;
1253		u64 agl_drp : 1;
1254		u64 ocla : 1;
1255		u64 sata : 1;
1256		u64 reserved_15_15 : 1;
1257		u64 endor : 2;
1258		u64 eoi : 1;
1259		u64 reserved_10_11 : 2;
1260		u64 timer : 6;
1261		u64 reserved_0_3 : 4;
1262	} s;
1263	struct cvmx_ciu_en2_ppx_ip3_w1c_cn61xx {
1264		u64 reserved_10_63 : 54;
1265		u64 timer : 6;
1266		u64 reserved_0_3 : 4;
1267	} cn61xx;
1268	struct cvmx_ciu_en2_ppx_ip3_w1c_cn61xx cn66xx;
1269	struct cvmx_ciu_en2_ppx_ip3_w1c_cn70xx {
1270		u64 reserved_20_63 : 44;
1271		u64 bch : 1;
1272		u64 agl_drp : 1;
1273		u64 ocla : 1;
1274		u64 sata : 1;
1275		u64 reserved_10_15 : 6;
1276		u64 timer : 6;
1277		u64 reserved_0_3 : 4;
1278	} cn70xx;
1279	struct cvmx_ciu_en2_ppx_ip3_w1c_cn70xx cn70xxp1;
1280	struct cvmx_ciu_en2_ppx_ip3_w1c_cnf71xx {
1281		u64 reserved_15_63 : 49;
1282		u64 endor : 2;
1283		u64 eoi : 1;
1284		u64 reserved_10_11 : 2;
1285		u64 timer : 6;
1286		u64 reserved_0_3 : 4;
1287	} cnf71xx;
1288};
1289
1290typedef union cvmx_ciu_en2_ppx_ip3_w1c cvmx_ciu_en2_ppx_ip3_w1c_t;
1291
1292/**
1293 * cvmx_ciu_en2_pp#_ip3_w1s
1294 *
1295 * Notes:
1296 * Write-1-to-set version of the CIU_EN2_PP(IO)X_IPx(INT) register, read back corresponding
1297 * CIU_EN2_PP(IO)X_IPx(INT) value.
1298 */
1299union cvmx_ciu_en2_ppx_ip3_w1s {
1300	u64 u64;
1301	struct cvmx_ciu_en2_ppx_ip3_w1s_s {
1302		u64 reserved_20_63 : 44;
1303		u64 bch : 1;
1304		u64 agl_drp : 1;
1305		u64 ocla : 1;
1306		u64 sata : 1;
1307		u64 reserved_15_15 : 1;
1308		u64 endor : 2;
1309		u64 eoi : 1;
1310		u64 reserved_10_11 : 2;
1311		u64 timer : 6;
1312		u64 reserved_0_3 : 4;
1313	} s;
1314	struct cvmx_ciu_en2_ppx_ip3_w1s_cn61xx {
1315		u64 reserved_10_63 : 54;
1316		u64 timer : 6;
1317		u64 reserved_0_3 : 4;
1318	} cn61xx;
1319	struct cvmx_ciu_en2_ppx_ip3_w1s_cn61xx cn66xx;
1320	struct cvmx_ciu_en2_ppx_ip3_w1s_cn70xx {
1321		u64 reserved_20_63 : 44;
1322		u64 bch : 1;
1323		u64 agl_drp : 1;
1324		u64 ocla : 1;
1325		u64 sata : 1;
1326		u64 reserved_10_15 : 6;
1327		u64 timer : 6;
1328		u64 reserved_0_3 : 4;
1329	} cn70xx;
1330	struct cvmx_ciu_en2_ppx_ip3_w1s_cn70xx cn70xxp1;
1331	struct cvmx_ciu_en2_ppx_ip3_w1s_cnf71xx {
1332		u64 reserved_15_63 : 49;
1333		u64 endor : 2;
1334		u64 eoi : 1;
1335		u64 reserved_10_11 : 2;
1336		u64 timer : 6;
1337		u64 reserved_0_3 : 4;
1338	} cnf71xx;
1339};
1340
1341typedef union cvmx_ciu_en2_ppx_ip3_w1s cvmx_ciu_en2_ppx_ip3_w1s_t;
1342
1343/**
1344 * cvmx_ciu_en2_pp#_ip4
1345 *
1346 * Notes:
1347 * These SUM2 CSR's did not exist prior to pass 1.2. CIU_TIM4-9 did not exist prior to pass 1.2.
1348 *
1349 */
1350union cvmx_ciu_en2_ppx_ip4 {
1351	u64 u64;
1352	struct cvmx_ciu_en2_ppx_ip4_s {
1353		u64 reserved_20_63 : 44;
1354		u64 bch : 1;
1355		u64 agl_drp : 1;
1356		u64 ocla : 1;
1357		u64 sata : 1;
1358		u64 reserved_15_15 : 1;
1359		u64 endor : 2;
1360		u64 eoi : 1;
1361		u64 reserved_10_11 : 2;
1362		u64 timer : 6;
1363		u64 reserved_0_3 : 4;
1364	} s;
1365	struct cvmx_ciu_en2_ppx_ip4_cn61xx {
1366		u64 reserved_10_63 : 54;
1367		u64 timer : 6;
1368		u64 reserved_0_3 : 4;
1369	} cn61xx;
1370	struct cvmx_ciu_en2_ppx_ip4_cn61xx cn66xx;
1371	struct cvmx_ciu_en2_ppx_ip4_cn70xx {
1372		u64 reserved_20_63 : 44;
1373		u64 bch : 1;
1374		u64 agl_drp : 1;
1375		u64 ocla : 1;
1376		u64 sata : 1;
1377		u64 reserved_10_15 : 6;
1378		u64 timer : 6;
1379		u64 reserved_0_3 : 4;
1380	} cn70xx;
1381	struct cvmx_ciu_en2_ppx_ip4_cn70xx cn70xxp1;
1382	struct cvmx_ciu_en2_ppx_ip4_cnf71xx {
1383		u64 reserved_15_63 : 49;
1384		u64 endor : 2;
1385		u64 eoi : 1;
1386		u64 reserved_10_11 : 2;
1387		u64 timer : 6;
1388		u64 reserved_0_3 : 4;
1389	} cnf71xx;
1390};
1391
1392typedef union cvmx_ciu_en2_ppx_ip4 cvmx_ciu_en2_ppx_ip4_t;
1393
1394/**
1395 * cvmx_ciu_en2_pp#_ip4_w1c
1396 *
1397 * Notes:
1398 * Write-1-to-clear version of the CIU_EN2_PP(IO)X_IPx(INT) register, read back corresponding
1399 * CIU_EN2_PP(IO)X_IPx(INT) value.
1400 */
1401union cvmx_ciu_en2_ppx_ip4_w1c {
1402	u64 u64;
1403	struct cvmx_ciu_en2_ppx_ip4_w1c_s {
1404		u64 reserved_20_63 : 44;
1405		u64 bch : 1;
1406		u64 agl_drp : 1;
1407		u64 ocla : 1;
1408		u64 sata : 1;
1409		u64 reserved_15_15 : 1;
1410		u64 endor : 2;
1411		u64 eoi : 1;
1412		u64 reserved_10_11 : 2;
1413		u64 timer : 6;
1414		u64 reserved_0_3 : 4;
1415	} s;
1416	struct cvmx_ciu_en2_ppx_ip4_w1c_cn61xx {
1417		u64 reserved_10_63 : 54;
1418		u64 timer : 6;
1419		u64 reserved_0_3 : 4;
1420	} cn61xx;
1421	struct cvmx_ciu_en2_ppx_ip4_w1c_cn61xx cn66xx;
1422	struct cvmx_ciu_en2_ppx_ip4_w1c_cn70xx {
1423		u64 reserved_20_63 : 44;
1424		u64 bch : 1;
1425		u64 agl_drp : 1;
1426		u64 ocla : 1;
1427		u64 sata : 1;
1428		u64 reserved_10_15 : 6;
1429		u64 timer : 6;
1430		u64 reserved_0_3 : 4;
1431	} cn70xx;
1432	struct cvmx_ciu_en2_ppx_ip4_w1c_cn70xx cn70xxp1;
1433	struct cvmx_ciu_en2_ppx_ip4_w1c_cnf71xx {
1434		u64 reserved_15_63 : 49;
1435		u64 endor : 2;
1436		u64 eoi : 1;
1437		u64 reserved_10_11 : 2;
1438		u64 timer : 6;
1439		u64 reserved_0_3 : 4;
1440	} cnf71xx;
1441};
1442
1443typedef union cvmx_ciu_en2_ppx_ip4_w1c cvmx_ciu_en2_ppx_ip4_w1c_t;
1444
1445/**
1446 * cvmx_ciu_en2_pp#_ip4_w1s
1447 *
1448 * Notes:
1449 * Write-1-to-set version of the CIU_EN2_PP(IO)X_IPx(INT) register, read back corresponding
1450 * CIU_EN2_PP(IO)X_IPx(INT) value.
1451 */
1452union cvmx_ciu_en2_ppx_ip4_w1s {
1453	u64 u64;
1454	struct cvmx_ciu_en2_ppx_ip4_w1s_s {
1455		u64 reserved_20_63 : 44;
1456		u64 bch : 1;
1457		u64 agl_drp : 1;
1458		u64 ocla : 1;
1459		u64 sata : 1;
1460		u64 reserved_15_15 : 1;
1461		u64 endor : 2;
1462		u64 eoi : 1;
1463		u64 reserved_10_11 : 2;
1464		u64 timer : 6;
1465		u64 reserved_0_3 : 4;
1466	} s;
1467	struct cvmx_ciu_en2_ppx_ip4_w1s_cn61xx {
1468		u64 reserved_10_63 : 54;
1469		u64 timer : 6;
1470		u64 reserved_0_3 : 4;
1471	} cn61xx;
1472	struct cvmx_ciu_en2_ppx_ip4_w1s_cn61xx cn66xx;
1473	struct cvmx_ciu_en2_ppx_ip4_w1s_cn70xx {
1474		u64 reserved_20_63 : 44;
1475		u64 bch : 1;
1476		u64 agl_drp : 1;
1477		u64 ocla : 1;
1478		u64 sata : 1;
1479		u64 reserved_10_15 : 6;
1480		u64 timer : 6;
1481		u64 reserved_0_3 : 4;
1482	} cn70xx;
1483	struct cvmx_ciu_en2_ppx_ip4_w1s_cn70xx cn70xxp1;
1484	struct cvmx_ciu_en2_ppx_ip4_w1s_cnf71xx {
1485		u64 reserved_15_63 : 49;
1486		u64 endor : 2;
1487		u64 eoi : 1;
1488		u64 reserved_10_11 : 2;
1489		u64 timer : 6;
1490		u64 reserved_0_3 : 4;
1491	} cnf71xx;
1492};
1493
1494typedef union cvmx_ciu_en2_ppx_ip4_w1s cvmx_ciu_en2_ppx_ip4_w1s_t;
1495
1496/**
1497 * cvmx_ciu_fuse
1498 */
1499union cvmx_ciu_fuse {
1500	u64 u64;
1501	struct cvmx_ciu_fuse_s {
1502		u64 reserved_48_63 : 16;
1503		u64 fuse : 48;
1504	} s;
1505	struct cvmx_ciu_fuse_cn30xx {
1506		u64 reserved_1_63 : 63;
1507		u64 fuse : 1;
1508	} cn30xx;
1509	struct cvmx_ciu_fuse_cn31xx {
1510		u64 reserved_2_63 : 62;
1511		u64 fuse : 2;
1512	} cn31xx;
1513	struct cvmx_ciu_fuse_cn38xx {
1514		u64 reserved_16_63 : 48;
1515		u64 fuse : 16;
1516	} cn38xx;
1517	struct cvmx_ciu_fuse_cn38xx cn38xxp2;
1518	struct cvmx_ciu_fuse_cn31xx cn50xx;
1519	struct cvmx_ciu_fuse_cn52xx {
1520		u64 reserved_4_63 : 60;
1521		u64 fuse : 4;
1522	} cn52xx;
1523	struct cvmx_ciu_fuse_cn52xx cn52xxp1;
1524	struct cvmx_ciu_fuse_cn56xx {
1525		u64 reserved_12_63 : 52;
1526		u64 fuse : 12;
1527	} cn56xx;
1528	struct cvmx_ciu_fuse_cn56xx cn56xxp1;
1529	struct cvmx_ciu_fuse_cn38xx cn58xx;
1530	struct cvmx_ciu_fuse_cn38xx cn58xxp1;
1531	struct cvmx_ciu_fuse_cn52xx cn61xx;
1532	struct cvmx_ciu_fuse_cn63xx {
1533		u64 reserved_6_63 : 58;
1534		u64 fuse : 6;
1535	} cn63xx;
1536	struct cvmx_ciu_fuse_cn63xx cn63xxp1;
1537	struct cvmx_ciu_fuse_cn66xx {
1538		u64 reserved_10_63 : 54;
1539		u64 fuse : 10;
1540	} cn66xx;
1541	struct cvmx_ciu_fuse_cn68xx {
1542		u64 reserved_32_63 : 32;
1543		u64 fuse : 32;
1544	} cn68xx;
1545	struct cvmx_ciu_fuse_cn68xx cn68xxp1;
1546	struct cvmx_ciu_fuse_cn52xx cn70xx;
1547	struct cvmx_ciu_fuse_cn52xx cn70xxp1;
1548	struct cvmx_ciu_fuse_cn38xx cn73xx;
1549	struct cvmx_ciu_fuse_s cn78xx;
1550	struct cvmx_ciu_fuse_s cn78xxp1;
1551	struct cvmx_ciu_fuse_cn52xx cnf71xx;
1552	struct cvmx_ciu_fuse_cn38xx cnf75xx;
1553};
1554
1555typedef union cvmx_ciu_fuse cvmx_ciu_fuse_t;
1556
1557/**
1558 * cvmx_ciu_gstop
1559 */
1560union cvmx_ciu_gstop {
1561	u64 u64;
1562	struct cvmx_ciu_gstop_s {
1563		u64 reserved_1_63 : 63;
1564		u64 gstop : 1;
1565	} s;
1566	struct cvmx_ciu_gstop_s cn30xx;
1567	struct cvmx_ciu_gstop_s cn31xx;
1568	struct cvmx_ciu_gstop_s cn38xx;
1569	struct cvmx_ciu_gstop_s cn38xxp2;
1570	struct cvmx_ciu_gstop_s cn50xx;
1571	struct cvmx_ciu_gstop_s cn52xx;
1572	struct cvmx_ciu_gstop_s cn52xxp1;
1573	struct cvmx_ciu_gstop_s cn56xx;
1574	struct cvmx_ciu_gstop_s cn56xxp1;
1575	struct cvmx_ciu_gstop_s cn58xx;
1576	struct cvmx_ciu_gstop_s cn58xxp1;
1577	struct cvmx_ciu_gstop_s cn61xx;
1578	struct cvmx_ciu_gstop_s cn63xx;
1579	struct cvmx_ciu_gstop_s cn63xxp1;
1580	struct cvmx_ciu_gstop_s cn66xx;
1581	struct cvmx_ciu_gstop_s cn68xx;
1582	struct cvmx_ciu_gstop_s cn68xxp1;
1583	struct cvmx_ciu_gstop_s cn70xx;
1584	struct cvmx_ciu_gstop_s cn70xxp1;
1585	struct cvmx_ciu_gstop_s cnf71xx;
1586};
1587
1588typedef union cvmx_ciu_gstop cvmx_ciu_gstop_t;
1589
1590/**
1591 * cvmx_ciu_int#_en0
1592 *
1593 * CIU_INT0_EN0:  PP0/IP2
1594 * CIU_INT1_EN0:  PP0/IP3
1595 * CIU_INT2_EN0:  PP1/IP2
1596 * CIU_INT3_EN0:  PP1/IP3
1597 * CIU_INT4_EN0:  PP2/IP2
1598 * CIU_INT5_EN0:  PP2/IP3
1599 * CIU_INT6_EN0:  PP3/IP2
1600 * CIU_INT7_EN0:  PP3/IP3
1601 * - .....
1602 * (hole)
1603 * CIU_INT32_EN0: IO 0 (PEM0)
1604 * CIU_INT33_EN0: IO 1 (reserved in o70).
1605 */
1606union cvmx_ciu_intx_en0 {
1607	u64 u64;
1608	struct cvmx_ciu_intx_en0_s {
1609		u64 bootdma : 1;
1610		u64 mii : 1;
1611		u64 ipdppthr : 1;
1612		u64 powiq : 1;
1613		u64 twsi2 : 1;
1614		u64 mpi : 1;
1615		u64 pcm : 1;
1616		u64 usb : 1;
1617		u64 timer : 4;
1618		u64 key_zero : 1;
1619		u64 ipd_drp : 1;
1620		u64 gmx_drp : 2;
1621		u64 trace : 1;
1622		u64 rml : 1;
1623		u64 twsi : 1;
1624		u64 reserved_44_44 : 1;
1625		u64 pci_msi : 4;
1626		u64 pci_int : 4;
1627		u64 uart : 2;
1628		u64 mbox : 2;
1629		u64 gpio : 16;
1630		u64 workq : 16;
1631	} s;
1632	struct cvmx_ciu_intx_en0_cn30xx {
1633		u64 reserved_59_63 : 5;
1634		u64 mpi : 1;
1635		u64 pcm : 1;
1636		u64 usb : 1;
1637		u64 timer : 4;
1638		u64 reserved_51_51 : 1;
1639		u64 ipd_drp : 1;
1640		u64 reserved_49_49 : 1;
1641		u64 gmx_drp : 1;
1642		u64 reserved_47_47 : 1;
1643		u64 rml : 1;
1644		u64 twsi : 1;
1645		u64 reserved_44_44 : 1;
1646		u64 pci_msi : 4;
1647		u64 pci_int : 4;
1648		u64 uart : 2;
1649		u64 mbox : 2;
1650		u64 gpio : 16;
1651		u64 workq : 16;
1652	} cn30xx;
1653	struct cvmx_ciu_intx_en0_cn31xx {
1654		u64 reserved_59_63 : 5;
1655		u64 mpi : 1;
1656		u64 pcm : 1;
1657		u64 usb : 1;
1658		u64 timer : 4;
1659		u64 reserved_51_51 : 1;
1660		u64 ipd_drp : 1;
1661		u64 reserved_49_49 : 1;
1662		u64 gmx_drp : 1;
1663		u64 trace : 1;
1664		u64 rml : 1;
1665		u64 twsi : 1;
1666		u64 reserved_44_44 : 1;
1667		u64 pci_msi : 4;
1668		u64 pci_int : 4;
1669		u64 uart : 2;
1670		u64 mbox : 2;
1671		u64 gpio : 16;
1672		u64 workq : 16;
1673	} cn31xx;
1674	struct cvmx_ciu_intx_en0_cn38xx {
1675		u64 reserved_56_63 : 8;
1676		u64 timer : 4;
1677		u64 key_zero : 1;
1678		u64 ipd_drp : 1;
1679		u64 gmx_drp : 2;
1680		u64 trace : 1;
1681		u64 rml : 1;
1682		u64 twsi : 1;
1683		u64 reserved_44_44 : 1;
1684		u64 pci_msi : 4;
1685		u64 pci_int : 4;
1686		u64 uart : 2;
1687		u64 mbox : 2;
1688		u64 gpio : 16;
1689		u64 workq : 16;
1690	} cn38xx;
1691	struct cvmx_ciu_intx_en0_cn38xx cn38xxp2;
1692	struct cvmx_ciu_intx_en0_cn30xx cn50xx;
1693	struct cvmx_ciu_intx_en0_cn52xx {
1694		u64 bootdma : 1;
1695		u64 mii : 1;
1696		u64 ipdppthr : 1;
1697		u64 powiq : 1;
1698		u64 twsi2 : 1;
1699		u64 reserved_57_58 : 2;
1700		u64 usb : 1;
1701		u64 timer : 4;
1702		u64 reserved_51_51 : 1;
1703		u64 ipd_drp : 1;
1704		u64 reserved_49_49 : 1;
1705		u64 gmx_drp : 1;
1706		u64 trace : 1;
1707		u64 rml : 1;
1708		u64 twsi : 1;
1709		u64 reserved_44_44 : 1;
1710		u64 pci_msi : 4;
1711		u64 pci_int : 4;
1712		u64 uart : 2;
1713		u64 mbox : 2;
1714		u64 gpio : 16;
1715		u64 workq : 16;
1716	} cn52xx;
1717	struct cvmx_ciu_intx_en0_cn52xx cn52xxp1;
1718	struct cvmx_ciu_intx_en0_cn56xx {
1719		u64 bootdma : 1;
1720		u64 mii : 1;
1721		u64 ipdppthr : 1;
1722		u64 powiq : 1;
1723		u64 twsi2 : 1;
1724		u64 reserved_57_58 : 2;
1725		u64 usb : 1;
1726		u64 timer : 4;
1727		u64 key_zero : 1;
1728		u64 ipd_drp : 1;
1729		u64 gmx_drp : 2;
1730		u64 trace : 1;
1731		u64 rml : 1;
1732		u64 twsi : 1;
1733		u64 reserved_44_44 : 1;
1734		u64 pci_msi : 4;
1735		u64 pci_int : 4;
1736		u64 uart : 2;
1737		u64 mbox : 2;
1738		u64 gpio : 16;
1739		u64 workq : 16;
1740	} cn56xx;
1741	struct cvmx_ciu_intx_en0_cn56xx cn56xxp1;
1742	struct cvmx_ciu_intx_en0_cn38xx cn58xx;
1743	struct cvmx_ciu_intx_en0_cn38xx cn58xxp1;
1744	struct cvmx_ciu_intx_en0_cn61xx {
1745		u64 bootdma : 1;
1746		u64 mii : 1;
1747		u64 ipdppthr : 1;
1748		u64 powiq : 1;
1749		u64 twsi2 : 1;
1750		u64 mpi : 1;
1751		u64 pcm : 1;
1752		u64 usb : 1;
1753		u64 timer : 4;
1754		u64 reserved_51_51 : 1;
1755		u64 ipd_drp : 1;
1756		u64 gmx_drp : 2;
1757		u64 trace : 1;
1758		u64 rml : 1;
1759		u64 twsi : 1;
1760		u64 reserved_44_44 : 1;
1761		u64 pci_msi : 4;
1762		u64 pci_int : 4;
1763		u64 uart : 2;
1764		u64 mbox : 2;
1765		u64 gpio : 16;
1766		u64 workq : 16;
1767	} cn61xx;
1768	struct cvmx_ciu_intx_en0_cn52xx cn63xx;
1769	struct cvmx_ciu_intx_en0_cn52xx cn63xxp1;
1770	struct cvmx_ciu_intx_en0_cn66xx {
1771		u64 bootdma : 1;
1772		u64 mii : 1;
1773		u64 ipdppthr : 1;
1774		u64 powiq : 1;
1775		u64 twsi2 : 1;
1776		u64 mpi : 1;
1777		u64 reserved_57_57 : 1;
1778		u64 usb : 1;
1779		u64 timer : 4;
1780		u64 reserved_51_51 : 1;
1781		u64 ipd_drp : 1;
1782		u64 gmx_drp : 2;
1783		u64 trace : 1;
1784		u64 rml : 1;
1785		u64 twsi : 1;
1786		u64 reserved_44_44 : 1;
1787		u64 pci_msi : 4;
1788		u64 pci_int : 4;
1789		u64 uart : 2;
1790		u64 mbox : 2;
1791		u64 gpio : 16;
1792		u64 workq : 16;
1793	} cn66xx;
1794	struct cvmx_ciu_intx_en0_cn70xx {
1795		u64 bootdma : 1;
1796		u64 reserved_62_62 : 1;
1797		u64 ipdppthr : 1;
1798		u64 powiq : 1;
1799		u64 twsi2 : 1;
1800		u64 mpi : 1;
1801		u64 pcm : 1;
1802		u64 reserved_56_56 : 1;
1803		u64 timer : 4;
1804		u64 reserved_51_51 : 1;
1805		u64 ipd_drp : 1;
1806		u64 gmx_drp : 2;
1807		u64 reserved_46_47 : 2;
1808		u64 twsi : 1;
1809		u64 reserved_44_44 : 1;
1810		u64 pci_msi : 4;
1811		u64 pci_int : 4;
1812		u64 uart : 2;
1813		u64 mbox : 2;
1814		u64 gpio : 16;
1815		u64 workq : 16;
1816	} cn70xx;
1817	struct cvmx_ciu_intx_en0_cn70xx cn70xxp1;
1818	struct cvmx_ciu_intx_en0_cnf71xx {
1819		u64 bootdma : 1;
1820		u64 reserved_62_62 : 1;
1821		u64 ipdppthr : 1;
1822		u64 powiq : 1;
1823		u64 twsi2 : 1;
1824		u64 mpi : 1;
1825		u64 pcm : 1;
1826		u64 usb : 1;
1827		u64 timer : 4;
1828		u64 reserved_51_51 : 1;
1829		u64 ipd_drp : 1;
1830		u64 reserved_49_49 : 1;
1831		u64 gmx_drp : 1;
1832		u64 trace : 1;
1833		u64 rml : 1;
1834		u64 twsi : 1;
1835		u64 reserved_44_44 : 1;
1836		u64 pci_msi : 4;
1837		u64 pci_int : 4;
1838		u64 uart : 2;
1839		u64 mbox : 2;
1840		u64 gpio : 16;
1841		u64 workq : 16;
1842	} cnf71xx;
1843};
1844
1845typedef union cvmx_ciu_intx_en0 cvmx_ciu_intx_en0_t;
1846
1847/**
1848 * cvmx_ciu_int#_en0_w1c
1849 *
1850 * Write-1-to-clear version of the CIU_INTx_EN0 register, read back corresponding CIU_INTx_EN0
1851 * value.
1852 * CIU_INT33_EN0_W1C is reserved.
1853 */
1854union cvmx_ciu_intx_en0_w1c {
1855	u64 u64;
1856	struct cvmx_ciu_intx_en0_w1c_s {
1857		u64 bootdma : 1;
1858		u64 mii : 1;
1859		u64 ipdppthr : 1;
1860		u64 powiq : 1;
1861		u64 twsi2 : 1;
1862		u64 mpi : 1;
1863		u64 pcm : 1;
1864		u64 usb : 1;
1865		u64 timer : 4;
1866		u64 key_zero : 1;
1867		u64 ipd_drp : 1;
1868		u64 gmx_drp : 2;
1869		u64 trace : 1;
1870		u64 rml : 1;
1871		u64 twsi : 1;
1872		u64 reserved_44_44 : 1;
1873		u64 pci_msi : 4;
1874		u64 pci_int : 4;
1875		u64 uart : 2;
1876		u64 mbox : 2;
1877		u64 gpio : 16;
1878		u64 workq : 16;
1879	} s;
1880	struct cvmx_ciu_intx_en0_w1c_cn52xx {
1881		u64 bootdma : 1;
1882		u64 mii : 1;
1883		u64 ipdppthr : 1;
1884		u64 powiq : 1;
1885		u64 twsi2 : 1;
1886		u64 reserved_57_58 : 2;
1887		u64 usb : 1;
1888		u64 timer : 4;
1889		u64 reserved_51_51 : 1;
1890		u64 ipd_drp : 1;
1891		u64 reserved_49_49 : 1;
1892		u64 gmx_drp : 1;
1893		u64 trace : 1;
1894		u64 rml : 1;
1895		u64 twsi : 1;
1896		u64 reserved_44_44 : 1;
1897		u64 pci_msi : 4;
1898		u64 pci_int : 4;
1899		u64 uart : 2;
1900		u64 mbox : 2;
1901		u64 gpio : 16;
1902		u64 workq : 16;
1903	} cn52xx;
1904	struct cvmx_ciu_intx_en0_w1c_cn56xx {
1905		u64 bootdma : 1;
1906		u64 mii : 1;
1907		u64 ipdppthr : 1;
1908		u64 powiq : 1;
1909		u64 twsi2 : 1;
1910		u64 reserved_57_58 : 2;
1911		u64 usb : 1;
1912		u64 timer : 4;
1913		u64 key_zero : 1;
1914		u64 ipd_drp : 1;
1915		u64 gmx_drp : 2;
1916		u64 trace : 1;
1917		u64 rml : 1;
1918		u64 twsi : 1;
1919		u64 reserved_44_44 : 1;
1920		u64 pci_msi : 4;
1921		u64 pci_int : 4;
1922		u64 uart : 2;
1923		u64 mbox : 2;
1924		u64 gpio : 16;
1925		u64 workq : 16;
1926	} cn56xx;
1927	struct cvmx_ciu_intx_en0_w1c_cn58xx {
1928		u64 reserved_56_63 : 8;
1929		u64 timer : 4;
1930		u64 key_zero : 1;
1931		u64 ipd_drp : 1;
1932		u64 gmx_drp : 2;
1933		u64 trace : 1;
1934		u64 rml : 1;
1935		u64 twsi : 1;
1936		u64 reserved_44_44 : 1;
1937		u64 pci_msi : 4;
1938		u64 pci_int : 4;
1939		u64 uart : 2;
1940		u64 mbox : 2;
1941		u64 gpio : 16;
1942		u64 workq : 16;
1943	} cn58xx;
1944	struct cvmx_ciu_intx_en0_w1c_cn61xx {
1945		u64 bootdma : 1;
1946		u64 mii : 1;
1947		u64 ipdppthr : 1;
1948		u64 powiq : 1;
1949		u64 twsi2 : 1;
1950		u64 mpi : 1;
1951		u64 pcm : 1;
1952		u64 usb : 1;
1953		u64 timer : 4;
1954		u64 reserved_51_51 : 1;
1955		u64 ipd_drp : 1;
1956		u64 gmx_drp : 2;
1957		u64 trace : 1;
1958		u64 rml : 1;
1959		u64 twsi : 1;
1960		u64 reserved_44_44 : 1;
1961		u64 pci_msi : 4;
1962		u64 pci_int : 4;
1963		u64 uart : 2;
1964		u64 mbox : 2;
1965		u64 gpio : 16;
1966		u64 workq : 16;
1967	} cn61xx;
1968	struct cvmx_ciu_intx_en0_w1c_cn52xx cn63xx;
1969	struct cvmx_ciu_intx_en0_w1c_cn52xx cn63xxp1;
1970	struct cvmx_ciu_intx_en0_w1c_cn66xx {
1971		u64 bootdma : 1;
1972		u64 mii : 1;
1973		u64 ipdppthr : 1;
1974		u64 powiq : 1;
1975		u64 twsi2 : 1;
1976		u64 mpi : 1;
1977		u64 reserved_57_57 : 1;
1978		u64 usb : 1;
1979		u64 timer : 4;
1980		u64 reserved_51_51 : 1;
1981		u64 ipd_drp : 1;
1982		u64 gmx_drp : 2;
1983		u64 trace : 1;
1984		u64 rml : 1;
1985		u64 twsi : 1;
1986		u64 reserved_44_44 : 1;
1987		u64 pci_msi : 4;
1988		u64 pci_int : 4;
1989		u64 uart : 2;
1990		u64 mbox : 2;
1991		u64 gpio : 16;
1992		u64 workq : 16;
1993	} cn66xx;
1994	struct cvmx_ciu_intx_en0_w1c_cn70xx {
1995		u64 bootdma : 1;
1996		u64 reserved_62_62 : 1;
1997		u64 ipdppthr : 1;
1998		u64 powiq : 1;
1999		u64 twsi2 : 1;
2000		u64 mpi : 1;
2001		u64 pcm : 1;
2002		u64 reserved_56_56 : 1;
2003		u64 timer : 4;
2004		u64 reserved_51_51 : 1;
2005		u64 ipd_drp : 1;
2006		u64 gmx_drp : 2;
2007		u64 reserved_46_47 : 2;
2008		u64 twsi : 1;
2009		u64 reserved_44_44 : 1;
2010		u64 pci_msi : 4;
2011		u64 pci_int : 4;
2012		u64 uart : 2;
2013		u64 mbox : 2;
2014		u64 gpio : 16;
2015		u64 workq : 16;
2016	} cn70xx;
2017	struct cvmx_ciu_intx_en0_w1c_cn70xx cn70xxp1;
2018	struct cvmx_ciu_intx_en0_w1c_cnf71xx {
2019		u64 bootdma : 1;
2020		u64 reserved_62_62 : 1;
2021		u64 ipdppthr : 1;
2022		u64 powiq : 1;
2023		u64 twsi2 : 1;
2024		u64 mpi : 1;
2025		u64 pcm : 1;
2026		u64 usb : 1;
2027		u64 timer : 4;
2028		u64 reserved_51_51 : 1;
2029		u64 ipd_drp : 1;
2030		u64 reserved_49_49 : 1;
2031		u64 gmx_drp : 1;
2032		u64 trace : 1;
2033		u64 rml : 1;
2034		u64 twsi : 1;
2035		u64 reserved_44_44 : 1;
2036		u64 pci_msi : 4;
2037		u64 pci_int : 4;
2038		u64 uart : 2;
2039		u64 mbox : 2;
2040		u64 gpio : 16;
2041		u64 workq : 16;
2042	} cnf71xx;
2043};
2044
2045typedef union cvmx_ciu_intx_en0_w1c cvmx_ciu_intx_en0_w1c_t;
2046
2047/**
2048 * cvmx_ciu_int#_en0_w1s
2049 *
2050 * Write-1-to-set version of the CIU_INTx_EN0 register, read back corresponding CIU_INTx_EN0
2051 * value.
2052 * CIU_INT33_EN0_W1S is reserved.
2053 */
2054union cvmx_ciu_intx_en0_w1s {
2055	u64 u64;
2056	struct cvmx_ciu_intx_en0_w1s_s {
2057		u64 bootdma : 1;
2058		u64 mii : 1;
2059		u64 ipdppthr : 1;
2060		u64 powiq : 1;
2061		u64 twsi2 : 1;
2062		u64 mpi : 1;
2063		u64 pcm : 1;
2064		u64 usb : 1;
2065		u64 timer : 4;
2066		u64 key_zero : 1;
2067		u64 ipd_drp : 1;
2068		u64 gmx_drp : 2;
2069		u64 trace : 1;
2070		u64 rml : 1;
2071		u64 twsi : 1;
2072		u64 reserved_44_44 : 1;
2073		u64 pci_msi : 4;
2074		u64 pci_int : 4;
2075		u64 uart : 2;
2076		u64 mbox : 2;
2077		u64 gpio : 16;
2078		u64 workq : 16;
2079	} s;
2080	struct cvmx_ciu_intx_en0_w1s_cn52xx {
2081		u64 bootdma : 1;
2082		u64 mii : 1;
2083		u64 ipdppthr : 1;
2084		u64 powiq : 1;
2085		u64 twsi2 : 1;
2086		u64 reserved_57_58 : 2;
2087		u64 usb : 1;
2088		u64 timer : 4;
2089		u64 reserved_51_51 : 1;
2090		u64 ipd_drp : 1;
2091		u64 reserved_49_49 : 1;
2092		u64 gmx_drp : 1;
2093		u64 trace : 1;
2094		u64 rml : 1;
2095		u64 twsi : 1;
2096		u64 reserved_44_44 : 1;
2097		u64 pci_msi : 4;
2098		u64 pci_int : 4;
2099		u64 uart : 2;
2100		u64 mbox : 2;
2101		u64 gpio : 16;
2102		u64 workq : 16;
2103	} cn52xx;
2104	struct cvmx_ciu_intx_en0_w1s_cn56xx {
2105		u64 bootdma : 1;
2106		u64 mii : 1;
2107		u64 ipdppthr : 1;
2108		u64 powiq : 1;
2109		u64 twsi2 : 1;
2110		u64 reserved_57_58 : 2;
2111		u64 usb : 1;
2112		u64 timer : 4;
2113		u64 key_zero : 1;
2114		u64 ipd_drp : 1;
2115		u64 gmx_drp : 2;
2116		u64 trace : 1;
2117		u64 rml : 1;
2118		u64 twsi : 1;
2119		u64 reserved_44_44 : 1;
2120		u64 pci_msi : 4;
2121		u64 pci_int : 4;
2122		u64 uart : 2;
2123		u64 mbox : 2;
2124		u64 gpio : 16;
2125		u64 workq : 16;
2126	} cn56xx;
2127	struct cvmx_ciu_intx_en0_w1s_cn58xx {
2128		u64 reserved_56_63 : 8;
2129		u64 timer : 4;
2130		u64 key_zero : 1;
2131		u64 ipd_drp : 1;
2132		u64 gmx_drp : 2;
2133		u64 trace : 1;
2134		u64 rml : 1;
2135		u64 twsi : 1;
2136		u64 reserved_44_44 : 1;
2137		u64 pci_msi : 4;
2138		u64 pci_int : 4;
2139		u64 uart : 2;
2140		u64 mbox : 2;
2141		u64 gpio : 16;
2142		u64 workq : 16;
2143	} cn58xx;
2144	struct cvmx_ciu_intx_en0_w1s_cn61xx {
2145		u64 bootdma : 1;
2146		u64 mii : 1;
2147		u64 ipdppthr : 1;
2148		u64 powiq : 1;
2149		u64 twsi2 : 1;
2150		u64 mpi : 1;
2151		u64 pcm : 1;
2152		u64 usb : 1;
2153		u64 timer : 4;
2154		u64 reserved_51_51 : 1;
2155		u64 ipd_drp : 1;
2156		u64 gmx_drp : 2;
2157		u64 trace : 1;
2158		u64 rml : 1;
2159		u64 twsi : 1;
2160		u64 reserved_44_44 : 1;
2161		u64 pci_msi : 4;
2162		u64 pci_int : 4;
2163		u64 uart : 2;
2164		u64 mbox : 2;
2165		u64 gpio : 16;
2166		u64 workq : 16;
2167	} cn61xx;
2168	struct cvmx_ciu_intx_en0_w1s_cn52xx cn63xx;
2169	struct cvmx_ciu_intx_en0_w1s_cn52xx cn63xxp1;
2170	struct cvmx_ciu_intx_en0_w1s_cn66xx {
2171		u64 bootdma : 1;
2172		u64 mii : 1;
2173		u64 ipdppthr : 1;
2174		u64 powiq : 1;
2175		u64 twsi2 : 1;
2176		u64 mpi : 1;
2177		u64 reserved_57_57 : 1;
2178		u64 usb : 1;
2179		u64 timer : 4;
2180		u64 reserved_51_51 : 1;
2181		u64 ipd_drp : 1;
2182		u64 gmx_drp : 2;
2183		u64 trace : 1;
2184		u64 rml : 1;
2185		u64 twsi : 1;
2186		u64 reserved_44_44 : 1;
2187		u64 pci_msi : 4;
2188		u64 pci_int : 4;
2189		u64 uart : 2;
2190		u64 mbox : 2;
2191		u64 gpio : 16;
2192		u64 workq : 16;
2193	} cn66xx;
2194	struct cvmx_ciu_intx_en0_w1s_cn70xx {
2195		u64 bootdma : 1;
2196		u64 reserved_62_62 : 1;
2197		u64 ipdppthr : 1;
2198		u64 powiq : 1;
2199		u64 twsi2 : 1;
2200		u64 mpi : 1;
2201		u64 pcm : 1;
2202		u64 reserved_56_56 : 1;
2203		u64 timer : 4;
2204		u64 reserved_51_51 : 1;
2205		u64 ipd_drp : 1;
2206		u64 gmx_drp : 2;
2207		u64 reserved_46_47 : 2;
2208		u64 twsi : 1;
2209		u64 reserved_44_44 : 1;
2210		u64 pci_msi : 4;
2211		u64 pci_int : 4;
2212		u64 uart : 2;
2213		u64 mbox : 2;
2214		u64 gpio : 16;
2215		u64 workq : 16;
2216	} cn70xx;
2217	struct cvmx_ciu_intx_en0_w1s_cn70xx cn70xxp1;
2218	struct cvmx_ciu_intx_en0_w1s_cnf71xx {
2219		u64 bootdma : 1;
2220		u64 reserved_62_62 : 1;
2221		u64 ipdppthr : 1;
2222		u64 powiq : 1;
2223		u64 twsi2 : 1;
2224		u64 mpi : 1;
2225		u64 pcm : 1;
2226		u64 usb : 1;
2227		u64 timer : 4;
2228		u64 reserved_51_51 : 1;
2229		u64 ipd_drp : 1;
2230		u64 reserved_49_49 : 1;
2231		u64 gmx_drp : 1;
2232		u64 trace : 1;
2233		u64 rml : 1;
2234		u64 twsi : 1;
2235		u64 reserved_44_44 : 1;
2236		u64 pci_msi : 4;
2237		u64 pci_int : 4;
2238		u64 uart : 2;
2239		u64 mbox : 2;
2240		u64 gpio : 16;
2241		u64 workq : 16;
2242	} cnf71xx;
2243};
2244
2245typedef union cvmx_ciu_intx_en0_w1s cvmx_ciu_intx_en0_w1s_t;
2246
2247/**
2248 * cvmx_ciu_int#_en1
2249 *
2250 * Enables for CIU_SUM1_PPX_IPx  or CIU_SUM1_IOX_INT
2251 * CIU_INT0_EN1:  PP0/IP2
2252 * CIU_INT1_EN1:  PP0/IP3
2253 * CIU_INT2_EN1:  PP1/IP2
2254 * CIU_INT3_EN1:  PP1/IP3
2255 * CIU_INT4_EN1:  PP2/IP2
2256 * CIU_INT5_EN1:  PP2/IP3
2257 * CIU_INT6_EN1:  PP3/IP2
2258 * CIU_INT7_EN1:  PP3/IP3
2259 * - .....
2260 * (hole)
2261 * CIU_INT32_EN1: IO0 (PEM0)
2262 * CIU_INT33_EN1: IO1 (Reserved for o70)
2263 *
2264 * PPx/IP2 will be raised when...
2265 *
2266 * n = x*2
2267 * PPx/IP2 = |([CIU_SUM2_PPx_IP2,CIU_SUM1_PPx_IP2, CIU_INTn_SUM0] &
2268 * [CIU_EN2_PPx_IP2,CIU_INTn_EN1, CIU_INTn_EN0])
2269 *
2270 * PPx/IP3 will be raised when...
2271 *
2272 * n = x*2 + 1
2273 * PPx/IP3 =  |([CIU_SUM2_PPx_IP3,CIU_SUM1_PPx_IP3, CIU_INTn_SUM0] &
2274 * [CIU_EN2_PPx_IP3,CIU_INTn_EN1, CIU_INTn_EN0])
2275 *
2276 * PPx/IP4 will be raised when...
2277 * PPx/IP4 = |([CIU_SUM1_PPx_IP4, CIU_INTx_SUM4] & [CIU_INTx_EN4_1, CIU_INTx_EN4_0])
2278 *
2279 * PCI/INT will be raised when...
2280 *
2281 * PCI/INT0 (PEM0)
2282 * PCI/INT0 = |([CIU_SUM2_IO0_INT,CIU_SUM1_IO0_INT, CIU_INT32_SUM0] &
2283 * [CIU_EN2_IO0_INT,CIU_INT32_EN1, CIU_INT32_EN0])
2284 *
2285 * PCI/INT1 is reserved for o70.
2286 * PCI/INT1 = |([CIU_SUM2_IO1_INT,CIU_SUM1_IO1_INT, CIU_INT33_SUM0] &
2287 * [CIU_EN2_IO1_INT,CIU_INT33_EN1, CIU_INT33_EN0])
2288 */
2289union cvmx_ciu_intx_en1 {
2290	u64 u64;
2291	struct cvmx_ciu_intx_en1_s {
2292		u64 rst : 1;
2293		u64 reserved_62_62 : 1;
2294		u64 srio3 : 1;
2295		u64 srio2 : 1;
2296		u64 reserved_57_59 : 3;
2297		u64 dfm : 1;
2298		u64 reserved_53_55 : 3;
2299		u64 lmc0 : 1;
2300		u64 srio1 : 1;
2301		u64 reserved_50_50 : 1;
2302		u64 pem1 : 1;
2303		u64 pem0 : 1;
2304		u64 ptp : 1;
2305		u64 agl : 1;
2306		u64 reserved_41_45 : 5;
2307		u64 dpi_dma : 1;
2308		u64 reserved_38_39 : 2;
2309		u64 agx1 : 1;
2310		u64 agx0 : 1;
2311		u64 dpi : 1;
2312		u64 sli : 1;
2313		u64 usb : 1;
2314		u64 dfa : 1;
2315		u64 key : 1;
2316		u64 rad : 1;
2317		u64 tim : 1;
2318		u64 zip : 1;
2319		u64 pko : 1;
2320		u64 pip : 1;
2321		u64 ipd : 1;
2322		u64 l2c : 1;
2323		u64 pow : 1;
2324		u64 fpa : 1;
2325		u64 iob : 1;
2326		u64 mio : 1;
2327		u64 nand : 1;
2328		u64 mii1 : 1;
2329		u64 usb1 : 1;
2330		u64 uart2 : 1;
2331		u64 wdog : 16;
2332	} s;
2333	struct cvmx_ciu_intx_en1_cn30xx {
2334		u64 reserved_1_63 : 63;
2335		u64 wdog : 1;
2336	} cn30xx;
2337	struct cvmx_ciu_intx_en1_cn31xx {
2338		u64 reserved_2_63 : 62;
2339		u64 wdog : 2;
2340	} cn31xx;
2341	struct cvmx_ciu_intx_en1_cn38xx {
2342		u64 reserved_16_63 : 48;
2343		u64 wdog : 16;
2344	} cn38xx;
2345	struct cvmx_ciu_intx_en1_cn38xx cn38xxp2;
2346	struct cvmx_ciu_intx_en1_cn31xx cn50xx;
2347	struct cvmx_ciu_intx_en1_cn52xx {
2348		u64 reserved_20_63 : 44;
2349		u64 nand : 1;
2350		u64 mii1 : 1;
2351		u64 usb1 : 1;
2352		u64 uart2 : 1;
2353		u64 reserved_4_15 : 12;
2354		u64 wdog : 4;
2355	} cn52xx;
2356	struct cvmx_ciu_intx_en1_cn52xxp1 {
2357		u64 reserved_19_63 : 45;
2358		u64 mii1 : 1;
2359		u64 usb1 : 1;
2360		u64 uart2 : 1;
2361		u64 reserved_4_15 : 12;
2362		u64 wdog : 4;
2363	} cn52xxp1;
2364	struct cvmx_ciu_intx_en1_cn56xx {
2365		u64 reserved_12_63 : 52;
2366		u64 wdog : 12;
2367	} cn56xx;
2368	struct cvmx_ciu_intx_en1_cn56xx cn56xxp1;
2369	struct cvmx_ciu_intx_en1_cn38xx cn58xx;
2370	struct cvmx_ciu_intx_en1_cn38xx cn58xxp1;
2371	struct cvmx_ciu_intx_en1_cn61xx {
2372		u64 rst : 1;
2373		u64 reserved_53_62 : 10;
2374		u64 lmc0 : 1;
2375		u64 reserved_50_51 : 2;
2376		u64 pem1 : 1;
2377		u64 pem0 : 1;
2378		u64 ptp : 1;
2379		u64 agl : 1;
2380		u64 reserved_41_45 : 5;
2381		u64 dpi_dma : 1;
2382		u64 reserved_38_39 : 2;
2383		u64 agx1 : 1;
2384		u64 agx0 : 1;
2385		u64 dpi : 1;
2386		u64 sli : 1;
2387		u64 usb : 1;
2388		u64 dfa : 1;
2389		u64 key : 1;
2390		u64 rad : 1;
2391		u64 tim : 1;
2392		u64 zip : 1;
2393		u64 pko : 1;
2394		u64 pip : 1;
2395		u64 ipd : 1;
2396		u64 l2c : 1;
2397		u64 pow : 1;
2398		u64 fpa : 1;
2399		u64 iob : 1;
2400		u64 mio : 1;
2401		u64 nand : 1;
2402		u64 mii1 : 1;
2403		u64 reserved_4_17 : 14;
2404		u64 wdog : 4;
2405	} cn61xx;
2406	struct cvmx_ciu_intx_en1_cn63xx {
2407		u64 rst : 1;
2408		u64 reserved_57_62 : 6;
2409		u64 dfm : 1;
2410		u64 reserved_53_55 : 3;
2411		u64 lmc0 : 1;
2412		u64 srio1 : 1;
2413		u64 srio0 : 1;
2414		u64 pem1 : 1;
2415		u64 pem0 : 1;
2416		u64 ptp : 1;
2417		u64 agl : 1;
2418		u64 reserved_37_45 : 9;
2419		u64 agx0 : 1;
2420		u64 dpi : 1;
2421		u64 sli : 1;
2422		u64 usb : 1;
2423		u64 dfa : 1;
2424		u64 key : 1;
2425		u64 rad : 1;
2426		u64 tim : 1;
2427		u64 zip : 1;
2428		u64 pko : 1;
2429		u64 pip : 1;
2430		u64 ipd : 1;
2431		u64 l2c : 1;
2432		u64 pow : 1;
2433		u64 fpa : 1;
2434		u64 iob : 1;
2435		u64 mio : 1;
2436		u64 nand : 1;
2437		u64 mii1 : 1;
2438		u64 reserved_6_17 : 12;
2439		u64 wdog : 6;
2440	} cn63xx;
2441	struct cvmx_ciu_intx_en1_cn63xx cn63xxp1;
2442	struct cvmx_ciu_intx_en1_cn66xx {
2443		u64 rst : 1;
2444		u64 reserved_62_62 : 1;
2445		u64 srio3 : 1;
2446		u64 srio2 : 1;
2447		u64 reserved_57_59 : 3;
2448		u64 dfm : 1;
2449		u64 reserved_53_55 : 3;
2450		u64 lmc0 : 1;
2451		u64 reserved_51_51 : 1;
2452		u64 srio0 : 1;
2453		u64 pem1 : 1;
2454		u64 pem0 : 1;
2455		u64 ptp : 1;
2456		u64 agl : 1;
2457		u64 reserved_38_45 : 8;
2458		u64 agx1 : 1;
2459		u64 agx0 : 1;
2460		u64 dpi : 1;
2461		u64 sli : 1;
2462		u64 usb : 1;
2463		u64 dfa : 1;
2464		u64 key : 1;
2465		u64 rad : 1;
2466		u64 tim : 1;
2467		u64 zip : 1;
2468		u64 pko : 1;
2469		u64 pip : 1;
2470		u64 ipd : 1;
2471		u64 l2c : 1;
2472		u64 pow : 1;
2473		u64 fpa : 1;
2474		u64 iob : 1;
2475		u64 mio : 1;
2476		u64 nand : 1;
2477		u64 mii1 : 1;
2478		u64 reserved_10_17 : 8;
2479		u64 wdog : 10;
2480	} cn66xx;
2481	struct cvmx_ciu_intx_en1_cn70xx {
2482		u64 rst : 1;
2483		u64 reserved_53_62 : 10;
2484		u64 lmc0 : 1;
2485		u64 reserved_51_51 : 1;
2486		u64 pem2 : 1;
2487		u64 pem1 : 1;
2488		u64 pem0 : 1;
2489		u64 ptp : 1;
2490		u64 agl : 1;
2491		u64 reserved_41_45 : 5;
2492		u64 dpi_dma : 1;
2493		u64 reserved_39_38 : 2;
2494		u64 agx1 : 1;
2495		u64 agx0 : 1;
2496		u64 dpi : 1;
2497		u64 sli : 1;
2498		u64 usb : 1;
2499		u64 dfa : 1;
2500		u64 key : 1;
2501		u64 rad : 1;
2502		u64 tim : 1;
2503		u64 reserved_28_28 : 1;
2504		u64 pko : 1;
2505		u64 pip : 1;
2506		u64 ipd : 1;
2507		u64 l2c : 1;
2508		u64 pow : 1;
2509		u64 fpa : 1;
2510		u64 iob : 1;
2511		u64 mio : 1;
2512		u64 nand : 1;
2513		u64 reserved_18_18 : 1;
2514		u64 usb1 : 1;
2515		u64 reserved_4_16 : 13;
2516		u64 wdog : 4;
2517	} cn70xx;
2518	struct cvmx_ciu_intx_en1_cn70xx cn70xxp1;
2519	struct cvmx_ciu_intx_en1_cnf71xx {
2520		u64 rst : 1;
2521		u64 reserved_53_62 : 10;
2522		u64 lmc0 : 1;
2523		u64 reserved_50_51 : 2;
2524		u64 pem1 : 1;
2525		u64 pem0 : 1;
2526		u64 ptp : 1;
2527		u64 reserved_41_46 : 6;
2528		u64 dpi_dma : 1;
2529		u64 reserved_37_39 : 3;
2530		u64 agx0 : 1;
2531		u64 dpi : 1;
2532		u64 sli : 1;
2533		u64 usb : 1;
2534		u64 reserved_32_32 : 1;
2535		u64 key : 1;
2536		u64 rad : 1;
2537		u64 tim : 1;
2538		u64 reserved_28_28 : 1;
2539		u64 pko : 1;
2540		u64 pip : 1;
2541		u64 ipd : 1;
2542		u64 l2c : 1;
2543		u64 pow : 1;
2544		u64 fpa : 1;
2545		u64 iob : 1;
2546		u64 mio : 1;
2547		u64 nand : 1;
2548		u64 reserved_4_18 : 15;
2549		u64 wdog : 4;
2550	} cnf71xx;
2551};
2552
2553typedef union cvmx_ciu_intx_en1 cvmx_ciu_intx_en1_t;
2554
2555/**
2556 * cvmx_ciu_int#_en1_w1c
2557 *
2558 * Write-1-to-clear version of the CIU_INTX_EN1 register, read back corresponding CIU_INTX_EN1
2559 * value.
2560 * CIU_INT33_EN1_W1C is reserved.
2561 */
2562union cvmx_ciu_intx_en1_w1c {
2563	u64 u64;
2564	struct cvmx_ciu_intx_en1_w1c_s {
2565		u64 rst : 1;
2566		u64 reserved_62_62 : 1;
2567		u64 srio3 : 1;
2568		u64 srio2 : 1;
2569		u64 reserved_57_59 : 3;
2570		u64 dfm : 1;
2571		u64 reserved_53_55 : 3;
2572		u64 lmc0 : 1;
2573		u64 srio1 : 1;
2574		u64 reserved_50_50 : 1;
2575		u64 pem1 : 1;
2576		u64 pem0 : 1;
2577		u64 ptp : 1;
2578		u64 agl : 1;
2579		u64 reserved_41_45 : 5;
2580		u64 dpi_dma : 1;
2581		u64 reserved_38_39 : 2;
2582		u64 agx1 : 1;
2583		u64 agx0 : 1;
2584		u64 dpi : 1;
2585		u64 sli : 1;
2586		u64 usb : 1;
2587		u64 dfa : 1;
2588		u64 key : 1;
2589		u64 rad : 1;
2590		u64 tim : 1;
2591		u64 zip : 1;
2592		u64 pko : 1;
2593		u64 pip : 1;
2594		u64 ipd : 1;
2595		u64 l2c : 1;
2596		u64 pow : 1;
2597		u64 fpa : 1;
2598		u64 iob : 1;
2599		u64 mio : 1;
2600		u64 nand : 1;
2601		u64 mii1 : 1;
2602		u64 usb1 : 1;
2603		u64 uart2 : 1;
2604		u64 wdog : 16;
2605	} s;
2606	struct cvmx_ciu_intx_en1_w1c_cn52xx {
2607		u64 reserved_20_63 : 44;
2608		u64 nand : 1;
2609		u64 mii1 : 1;
2610		u64 usb1 : 1;
2611		u64 uart2 : 1;
2612		u64 reserved_4_15 : 12;
2613		u64 wdog : 4;
2614	} cn52xx;
2615	struct cvmx_ciu_intx_en1_w1c_cn56xx {
2616		u64 reserved_12_63 : 52;
2617		u64 wdog : 12;
2618	} cn56xx;
2619	struct cvmx_ciu_intx_en1_w1c_cn58xx {
2620		u64 reserved_16_63 : 48;
2621		u64 wdog : 16;
2622	} cn58xx;
2623	struct cvmx_ciu_intx_en1_w1c_cn61xx {
2624		u64 rst : 1;
2625		u64 reserved_53_62 : 10;
2626		u64 lmc0 : 1;
2627		u64 reserved_50_51 : 2;
2628		u64 pem1 : 1;
2629		u64 pem0 : 1;
2630		u64 ptp : 1;
2631		u64 agl : 1;
2632		u64 reserved_41_45 : 5;
2633		u64 dpi_dma : 1;
2634		u64 reserved_38_39 : 2;
2635		u64 agx1 : 1;
2636		u64 agx0 : 1;
2637		u64 dpi : 1;
2638		u64 sli : 1;
2639		u64 usb : 1;
2640		u64 dfa : 1;
2641		u64 key : 1;
2642		u64 rad : 1;
2643		u64 tim : 1;
2644		u64 zip : 1;
2645		u64 pko : 1;
2646		u64 pip : 1;
2647		u64 ipd : 1;
2648		u64 l2c : 1;
2649		u64 pow : 1;
2650		u64 fpa : 1;
2651		u64 iob : 1;
2652		u64 mio : 1;
2653		u64 nand : 1;
2654		u64 mii1 : 1;
2655		u64 reserved_4_17 : 14;
2656		u64 wdog : 4;
2657	} cn61xx;
2658	struct cvmx_ciu_intx_en1_w1c_cn63xx {
2659		u64 rst : 1;
2660		u64 reserved_57_62 : 6;
2661		u64 dfm : 1;
2662		u64 reserved_53_55 : 3;
2663		u64 lmc0 : 1;
2664		u64 srio1 : 1;
2665		u64 srio0 : 1;
2666		u64 pem1 : 1;
2667		u64 pem0 : 1;
2668		u64 ptp : 1;
2669		u64 agl : 1;
2670		u64 reserved_37_45 : 9;
2671		u64 agx0 : 1;
2672		u64 dpi : 1;
2673		u64 sli : 1;
2674		u64 usb : 1;
2675		u64 dfa : 1;
2676		u64 key : 1;
2677		u64 rad : 1;
2678		u64 tim : 1;
2679		u64 zip : 1;
2680		u64 pko : 1;
2681		u64 pip : 1;
2682		u64 ipd : 1;
2683		u64 l2c : 1;
2684		u64 pow : 1;
2685		u64 fpa : 1;
2686		u64 iob : 1;
2687		u64 mio : 1;
2688		u64 nand : 1;
2689		u64 mii1 : 1;
2690		u64 reserved_6_17 : 12;
2691		u64 wdog : 6;
2692	} cn63xx;
2693	struct cvmx_ciu_intx_en1_w1c_cn63xx cn63xxp1;
2694	struct cvmx_ciu_intx_en1_w1c_cn66xx {
2695		u64 rst : 1;
2696		u64 reserved_62_62 : 1;
2697		u64 srio3 : 1;
2698		u64 srio2 : 1;
2699		u64 reserved_57_59 : 3;
2700		u64 dfm : 1;
2701		u64 reserved_53_55 : 3;
2702		u64 lmc0 : 1;
2703		u64 reserved_51_51 : 1;
2704		u64 srio0 : 1;
2705		u64 pem1 : 1;
2706		u64 pem0 : 1;
2707		u64 ptp : 1;
2708		u64 agl : 1;
2709		u64 reserved_38_45 : 8;
2710		u64 agx1 : 1;
2711		u64 agx0 : 1;
2712		u64 dpi : 1;
2713		u64 sli : 1;
2714		u64 usb : 1;
2715		u64 dfa : 1;
2716		u64 key : 1;
2717		u64 rad : 1;
2718		u64 tim : 1;
2719		u64 zip : 1;
2720		u64 pko : 1;
2721		u64 pip : 1;
2722		u64 ipd : 1;
2723		u64 l2c : 1;
2724		u64 pow : 1;
2725		u64 fpa : 1;
2726		u64 iob : 1;
2727		u64 mio : 1;
2728		u64 nand : 1;
2729		u64 mii1 : 1;
2730		u64 reserved_10_17 : 8;
2731		u64 wdog : 10;
2732	} cn66xx;
2733	struct cvmx_ciu_intx_en1_w1c_cn70xx {
2734		u64 rst : 1;
2735		u64 reserved_53_62 : 10;
2736		u64 lmc0 : 1;
2737		u64 reserved_51_51 : 1;
2738		u64 pem2 : 1;
2739		u64 pem1 : 1;
2740		u64 pem0 : 1;
2741		u64 ptp : 1;
2742		u64 agl : 1;
2743		u64 reserved_41_45 : 5;
2744		u64 dpi_dma : 1;
2745		u64 reserved_38_39 : 2;
2746		u64 agx1 : 1;
2747		u64 agx0 : 1;
2748		u64 dpi : 1;
2749		u64 sli : 1;
2750		u64 usb : 1;
2751		u64 dfa : 1;
2752		u64 key : 1;
2753		u64 rad : 1;
2754		u64 tim : 1;
2755		u64 reserved_28_28 : 1;
2756		u64 pko : 1;
2757		u64 pip : 1;
2758		u64 ipd : 1;
2759		u64 l2c : 1;
2760		u64 pow : 1;
2761		u64 fpa : 1;
2762		u64 iob : 1;
2763		u64 mio : 1;
2764		u64 nand : 1;
2765		u64 reserved_18_18 : 1;
2766		u64 usb1 : 1;
2767		u64 reserved_4_16 : 13;
2768		u64 wdog : 4;
2769	} cn70xx;
2770	struct cvmx_ciu_intx_en1_w1c_cn70xx cn70xxp1;
2771	struct cvmx_ciu_intx_en1_w1c_cnf71xx {
2772		u64 rst : 1;
2773		u64 reserved_53_62 : 10;
2774		u64 lmc0 : 1;
2775		u64 reserved_50_51 : 2;
2776		u64 pem1 : 1;
2777		u64 pem0 : 1;
2778		u64 ptp : 1;
2779		u64 reserved_41_46 : 6;
2780		u64 dpi_dma : 1;
2781		u64 reserved_37_39 : 3;
2782		u64 agx0 : 1;
2783		u64 dpi : 1;
2784		u64 sli : 1;
2785		u64 usb : 1;
2786		u64 reserved_32_32 : 1;
2787		u64 key : 1;
2788		u64 rad : 1;
2789		u64 tim : 1;
2790		u64 reserved_28_28 : 1;
2791		u64 pko : 1;
2792		u64 pip : 1;
2793		u64 ipd : 1;
2794		u64 l2c : 1;
2795		u64 pow : 1;
2796		u64 fpa : 1;
2797		u64 iob : 1;
2798		u64 mio : 1;
2799		u64 nand : 1;
2800		u64 reserved_4_18 : 15;
2801		u64 wdog : 4;
2802	} cnf71xx;
2803};
2804
2805typedef union cvmx_ciu_intx_en1_w1c cvmx_ciu_intx_en1_w1c_t;
2806
2807/**
2808 * cvmx_ciu_int#_en1_w1s
2809 *
2810 * Write-1-to-set version of the CIU_INTX_EN1 register, read back corresponding CIU_INTX_EN1
2811 * value.
2812 * CIU_INT33_EN1_W1S is reserved.
2813 */
2814union cvmx_ciu_intx_en1_w1s {
2815	u64 u64;
2816	struct cvmx_ciu_intx_en1_w1s_s {
2817		u64 rst : 1;
2818		u64 reserved_62_62 : 1;
2819		u64 srio3 : 1;
2820		u64 srio2 : 1;
2821		u64 reserved_57_59 : 3;
2822		u64 dfm : 1;
2823		u64 reserved_53_55 : 3;
2824		u64 lmc0 : 1;
2825		u64 srio1 : 1;
2826		u64 reserved_50_50 : 1;
2827		u64 pem1 : 1;
2828		u64 pem0 : 1;
2829		u64 ptp : 1;
2830		u64 agl : 1;
2831		u64 reserved_41_45 : 5;
2832		u64 dpi_dma : 1;
2833		u64 reserved_38_39 : 2;
2834		u64 agx1 : 1;
2835		u64 agx0 : 1;
2836		u64 dpi : 1;
2837		u64 sli : 1;
2838		u64 usb : 1;
2839		u64 dfa : 1;
2840		u64 key : 1;
2841		u64 rad : 1;
2842		u64 tim : 1;
2843		u64 zip : 1;
2844		u64 pko : 1;
2845		u64 pip : 1;
2846		u64 ipd : 1;
2847		u64 l2c : 1;
2848		u64 pow : 1;
2849		u64 fpa : 1;
2850		u64 iob : 1;
2851		u64 mio : 1;
2852		u64 nand : 1;
2853		u64 mii1 : 1;
2854		u64 usb1 : 1;
2855		u64 uart2 : 1;
2856		u64 wdog : 16;
2857	} s;
2858	struct cvmx_ciu_intx_en1_w1s_cn52xx {
2859		u64 reserved_20_63 : 44;
2860		u64 nand : 1;
2861		u64 mii1 : 1;
2862		u64 usb1 : 1;
2863		u64 uart2 : 1;
2864		u64 reserved_4_15 : 12;
2865		u64 wdog : 4;
2866	} cn52xx;
2867	struct cvmx_ciu_intx_en1_w1s_cn56xx {
2868		u64 reserved_12_63 : 52;
2869		u64 wdog : 12;
2870	} cn56xx;
2871	struct cvmx_ciu_intx_en1_w1s_cn58xx {
2872		u64 reserved_16_63 : 48;
2873		u64 wdog : 16;
2874	} cn58xx;
2875	struct cvmx_ciu_intx_en1_w1s_cn61xx {
2876		u64 rst : 1;
2877		u64 reserved_53_62 : 10;
2878		u64 lmc0 : 1;
2879		u64 reserved_50_51 : 2;
2880		u64 pem1 : 1;
2881		u64 pem0 : 1;
2882		u64 ptp : 1;
2883		u64 agl : 1;
2884		u64 reserved_41_45 : 5;
2885		u64 dpi_dma : 1;
2886		u64 reserved_38_39 : 2;
2887		u64 agx1 : 1;
2888		u64 agx0 : 1;
2889		u64 dpi : 1;
2890		u64 sli : 1;
2891		u64 usb : 1;
2892		u64 dfa : 1;
2893		u64 key : 1;
2894		u64 rad : 1;
2895		u64 tim : 1;
2896		u64 zip : 1;
2897		u64 pko : 1;
2898		u64 pip : 1;
2899		u64 ipd : 1;
2900		u64 l2c : 1;
2901		u64 pow : 1;
2902		u64 fpa : 1;
2903		u64 iob : 1;
2904		u64 mio : 1;
2905		u64 nand : 1;
2906		u64 mii1 : 1;
2907		u64 reserved_4_17 : 14;
2908		u64 wdog : 4;
2909	} cn61xx;
2910	struct cvmx_ciu_intx_en1_w1s_cn63xx {
2911		u64 rst : 1;
2912		u64 reserved_57_62 : 6;
2913		u64 dfm : 1;
2914		u64 reserved_53_55 : 3;
2915		u64 lmc0 : 1;
2916		u64 srio1 : 1;
2917		u64 srio0 : 1;
2918		u64 pem1 : 1;
2919		u64 pem0 : 1;
2920		u64 ptp : 1;
2921		u64 agl : 1;
2922		u64 reserved_37_45 : 9;
2923		u64 agx0 : 1;
2924		u64 dpi : 1;
2925		u64 sli : 1;
2926		u64 usb : 1;
2927		u64 dfa : 1;
2928		u64 key : 1;
2929		u64 rad : 1;
2930		u64 tim : 1;
2931		u64 zip : 1;
2932		u64 pko : 1;
2933		u64 pip : 1;
2934		u64 ipd : 1;
2935		u64 l2c : 1;
2936		u64 pow : 1;
2937		u64 fpa : 1;
2938		u64 iob : 1;
2939		u64 mio : 1;
2940		u64 nand : 1;
2941		u64 mii1 : 1;
2942		u64 reserved_6_17 : 12;
2943		u64 wdog : 6;
2944	} cn63xx;
2945	struct cvmx_ciu_intx_en1_w1s_cn63xx cn63xxp1;
2946	struct cvmx_ciu_intx_en1_w1s_cn66xx {
2947		u64 rst : 1;
2948		u64 reserved_62_62 : 1;
2949		u64 srio3 : 1;
2950		u64 srio2 : 1;
2951		u64 reserved_57_59 : 3;
2952		u64 dfm : 1;
2953		u64 reserved_53_55 : 3;
2954		u64 lmc0 : 1;
2955		u64 reserved_51_51 : 1;
2956		u64 srio0 : 1;
2957		u64 pem1 : 1;
2958		u64 pem0 : 1;
2959		u64 ptp : 1;
2960		u64 agl : 1;
2961		u64 reserved_38_45 : 8;
2962		u64 agx1 : 1;
2963		u64 agx0 : 1;
2964		u64 dpi : 1;
2965		u64 sli : 1;
2966		u64 usb : 1;
2967		u64 dfa : 1;
2968		u64 key : 1;
2969		u64 rad : 1;
2970		u64 tim : 1;
2971		u64 zip : 1;
2972		u64 pko : 1;
2973		u64 pip : 1;
2974		u64 ipd : 1;
2975		u64 l2c : 1;
2976		u64 pow : 1;
2977		u64 fpa : 1;
2978		u64 iob : 1;
2979		u64 mio : 1;
2980		u64 nand : 1;
2981		u64 mii1 : 1;
2982		u64 reserved_10_17 : 8;
2983		u64 wdog : 10;
2984	} cn66xx;
2985	struct cvmx_ciu_intx_en1_w1s_cn70xx {
2986		u64 rst : 1;
2987		u64 reserved_53_62 : 10;
2988		u64 lmc0 : 1;
2989		u64 reserved_51_51 : 1;
2990		u64 pem2 : 1;
2991		u64 pem1 : 1;
2992		u64 pem0 : 1;
2993		u64 ptp : 1;
2994		u64 agl : 1;
2995		u64 reserved_41_45 : 5;
2996		u64 dpi_dma : 1;
2997		u64 reserved_38_39 : 2;
2998		u64 agx1 : 1;
2999		u64 agx0 : 1;
3000		u64 dpi : 1;
3001		u64 sli : 1;
3002		u64 usb : 1;
3003		u64 dfa : 1;
3004		u64 key : 1;
3005		u64 rad : 1;
3006		u64 tim : 1;
3007		u64 reserved_28_28 : 1;
3008		u64 pko : 1;
3009		u64 pip : 1;
3010		u64 ipd : 1;
3011		u64 l2c : 1;
3012		u64 pow : 1;
3013		u64 fpa : 1;
3014		u64 iob : 1;
3015		u64 mio : 1;
3016		u64 nand : 1;
3017		u64 reserved_18_18 : 1;
3018		u64 usb1 : 1;
3019		u64 reserved_4_16 : 13;
3020		u64 wdog : 4;
3021	} cn70xx;
3022	struct cvmx_ciu_intx_en1_w1s_cn70xx cn70xxp1;
3023	struct cvmx_ciu_intx_en1_w1s_cnf71xx {
3024		u64 rst : 1;
3025		u64 reserved_53_62 : 10;
3026		u64 lmc0 : 1;
3027		u64 reserved_50_51 : 2;
3028		u64 pem1 : 1;
3029		u64 pem0 : 1;
3030		u64 ptp : 1;
3031		u64 reserved_41_46 : 6;
3032		u64 dpi_dma : 1;
3033		u64 reserved_37_39 : 3;
3034		u64 agx0 : 1;
3035		u64 dpi : 1;
3036		u64 sli : 1;
3037		u64 usb : 1;
3038		u64 reserved_32_32 : 1;
3039		u64 key : 1;
3040		u64 rad : 1;
3041		u64 tim : 1;
3042		u64 reserved_28_28 : 1;
3043		u64 pko : 1;
3044		u64 pip : 1;
3045		u64 ipd : 1;
3046		u64 l2c : 1;
3047		u64 pow : 1;
3048		u64 fpa : 1;
3049		u64 iob : 1;
3050		u64 mio : 1;
3051		u64 nand : 1;
3052		u64 reserved_4_18 : 15;
3053		u64 wdog : 4;
3054	} cnf71xx;
3055};
3056
3057typedef union cvmx_ciu_intx_en1_w1s cvmx_ciu_intx_en1_w1s_t;
3058
3059/**
3060 * cvmx_ciu_int#_en4_0
3061 *
3062 * CIU_INT0_EN4_0:   PP0  /IP4
3063 * CIU_INT1_EN4_0:   PP1  /IP4
3064 * - ...
3065 * CIU_INT3_EN4_0:   PP3  /IP4
3066 */
3067union cvmx_ciu_intx_en4_0 {
3068	u64 u64;
3069	struct cvmx_ciu_intx_en4_0_s {
3070		u64 bootdma : 1;
3071		u64 mii : 1;
3072		u64 ipdppthr : 1;
3073		u64 powiq : 1;
3074		u64 twsi2 : 1;
3075		u64 mpi : 1;
3076		u64 pcm : 1;
3077		u64 usb : 1;
3078		u64 timer : 4;
3079		u64 key_zero : 1;
3080		u64 ipd_drp : 1;
3081		u64 gmx_drp : 2;
3082		u64 trace : 1;
3083		u64 rml : 1;
3084		u64 twsi : 1;
3085		u64 reserved_44_44 : 1;
3086		u64 pci_msi : 4;
3087		u64 pci_int : 4;
3088		u64 uart : 2;
3089		u64 mbox : 2;
3090		u64 gpio : 16;
3091		u64 workq : 16;
3092	} s;
3093	struct cvmx_ciu_intx_en4_0_cn50xx {
3094		u64 reserved_59_63 : 5;
3095		u64 mpi : 1;
3096		u64 pcm : 1;
3097		u64 usb : 1;
3098		u64 timer : 4;
3099		u64 reserved_51_51 : 1;
3100		u64 ipd_drp : 1;
3101		u64 reserved_49_49 : 1;
3102		u64 gmx_drp : 1;
3103		u64 reserved_47_47 : 1;
3104		u64 rml : 1;
3105		u64 twsi : 1;
3106		u64 reserved_44_44 : 1;
3107		u64 pci_msi : 4;
3108		u64 pci_int : 4;
3109		u64 uart : 2;
3110		u64 mbox : 2;
3111		u64 gpio : 16;
3112		u64 workq : 16;
3113	} cn50xx;
3114	struct cvmx_ciu_intx_en4_0_cn52xx {
3115		u64 bootdma : 1;
3116		u64 mii : 1;
3117		u64 ipdppthr : 1;
3118		u64 powiq : 1;
3119		u64 twsi2 : 1;
3120		u64 reserved_57_58 : 2;
3121		u64 usb : 1;
3122		u64 timer : 4;
3123		u64 reserved_51_51 : 1;
3124		u64 ipd_drp : 1;
3125		u64 reserved_49_49 : 1;
3126		u64 gmx_drp : 1;
3127		u64 trace : 1;
3128		u64 rml : 1;
3129		u64 twsi : 1;
3130		u64 reserved_44_44 : 1;
3131		u64 pci_msi : 4;
3132		u64 pci_int : 4;
3133		u64 uart : 2;
3134		u64 mbox : 2;
3135		u64 gpio : 16;
3136		u64 workq : 16;
3137	} cn52xx;
3138	struct cvmx_ciu_intx_en4_0_cn52xx cn52xxp1;
3139	struct cvmx_ciu_intx_en4_0_cn56xx {
3140		u64 bootdma : 1;
3141		u64 mii : 1;
3142		u64 ipdppthr : 1;
3143		u64 powiq : 1;
3144		u64 twsi2 : 1;
3145		u64 reserved_57_58 : 2;
3146		u64 usb : 1;
3147		u64 timer : 4;
3148		u64 key_zero : 1;
3149		u64 ipd_drp : 1;
3150		u64 gmx_drp : 2;
3151		u64 trace : 1;
3152		u64 rml : 1;
3153		u64 twsi : 1;
3154		u64 reserved_44_44 : 1;
3155		u64 pci_msi : 4;
3156		u64 pci_int : 4;
3157		u64 uart : 2;
3158		u64 mbox : 2;
3159		u64 gpio : 16;
3160		u64 workq : 16;
3161	} cn56xx;
3162	struct cvmx_ciu_intx_en4_0_cn56xx cn56xxp1;
3163	struct cvmx_ciu_intx_en4_0_cn58xx {
3164		u64 reserved_56_63 : 8;
3165		u64 timer : 4;
3166		u64 key_zero : 1;
3167		u64 ipd_drp : 1;
3168		u64 gmx_drp : 2;
3169		u64 trace : 1;
3170		u64 rml : 1;
3171		u64 twsi : 1;
3172		u64 reserved_44_44 : 1;
3173		u64 pci_msi : 4;
3174		u64 pci_int : 4;
3175		u64 uart : 2;
3176		u64 mbox : 2;
3177		u64 gpio : 16;
3178		u64 workq : 16;
3179	} cn58xx;
3180	struct cvmx_ciu_intx_en4_0_cn58xx cn58xxp1;
3181	struct cvmx_ciu_intx_en4_0_cn61xx {
3182		u64 bootdma : 1;
3183		u64 mii : 1;
3184		u64 ipdppthr : 1;
3185		u64 powiq : 1;
3186		u64 twsi2 : 1;
3187		u64 mpi : 1;
3188		u64 pcm : 1;
3189		u64 usb : 1;
3190		u64 timer : 4;
3191		u64 reserved_51_51 : 1;
3192		u64 ipd_drp : 1;
3193		u64 gmx_drp : 2;
3194		u64 trace : 1;
3195		u64 rml : 1;
3196		u64 twsi : 1;
3197		u64 reserved_44_44 : 1;
3198		u64 pci_msi : 4;
3199		u64 pci_int : 4;
3200		u64 uart : 2;
3201		u64 mbox : 2;
3202		u64 gpio : 16;
3203		u64 workq : 16;
3204	} cn61xx;
3205	struct cvmx_ciu_intx_en4_0_cn52xx cn63xx;
3206	struct cvmx_ciu_intx_en4_0_cn52xx cn63xxp1;
3207	struct cvmx_ciu_intx_en4_0_cn66xx {
3208		u64 bootdma : 1;
3209		u64 mii : 1;
3210		u64 ipdppthr : 1;
3211		u64 powiq : 1;
3212		u64 twsi2 : 1;
3213		u64 mpi : 1;
3214		u64 reserved_57_57 : 1;
3215		u64 usb : 1;
3216		u64 timer : 4;
3217		u64 reserved_51_51 : 1;
3218		u64 ipd_drp : 1;
3219		u64 gmx_drp : 2;
3220		u64 trace : 1;
3221		u64 rml : 1;
3222		u64 twsi : 1;
3223		u64 reserved_44_44 : 1;
3224		u64 pci_msi : 4;
3225		u64 pci_int : 4;
3226		u64 uart : 2;
3227		u64 mbox : 2;
3228		u64 gpio : 16;
3229		u64 workq : 16;
3230	} cn66xx;
3231	struct cvmx_ciu_intx_en4_0_cn70xx {
3232		u64 bootdma : 1;
3233		u64 reserved_62_62 : 1;
3234		u64 ipdppthr : 1;
3235		u64 powiq : 1;
3236		u64 twsi2 : 1;
3237		u64 mpi : 1;
3238		u64 pcm : 1;
3239		u64 reserved_56_56 : 1;
3240		u64 timer : 4;
3241		u64 reserved_51_51 : 1;
3242		u64 ipd_drp : 1;
3243		u64 gmx_drp : 2;
3244		u64 reserved_46_47 : 2;
3245		u64 twsi : 1;
3246		u64 reserved_44_44 : 1;
3247		u64 pci_msi : 4;
3248		u64 pci_int : 4;
3249		u64 uart : 2;
3250		u64 mbox : 2;
3251		u64 gpio : 16;
3252		u64 workq : 16;
3253	} cn70xx;
3254	struct cvmx_ciu_intx_en4_0_cn70xx cn70xxp1;
3255	struct cvmx_ciu_intx_en4_0_cnf71xx {
3256		u64 bootdma : 1;
3257		u64 reserved_62_62 : 1;
3258		u64 ipdppthr : 1;
3259		u64 powiq : 1;
3260		u64 twsi2 : 1;
3261		u64 mpi : 1;
3262		u64 pcm : 1;
3263		u64 usb : 1;
3264		u64 timer : 4;
3265		u64 reserved_51_51 : 1;
3266		u64 ipd_drp : 1;
3267		u64 reserved_49_49 : 1;
3268		u64 gmx_drp : 1;
3269		u64 trace : 1;
3270		u64 rml : 1;
3271		u64 twsi : 1;
3272		u64 reserved_44_44 : 1;
3273		u64 pci_msi : 4;
3274		u64 pci_int : 4;
3275		u64 uart : 2;
3276		u64 mbox : 2;
3277		u64 gpio : 16;
3278		u64 workq : 16;
3279	} cnf71xx;
3280};
3281
3282typedef union cvmx_ciu_intx_en4_0 cvmx_ciu_intx_en4_0_t;
3283
3284/**
3285 * cvmx_ciu_int#_en4_0_w1c
3286 *
3287 * Write-1-to-clear version of the CIU_INTx_EN4_0 register, read back corresponding
3288 * CIU_INTx_EN4_0 value.
3289 */
3290union cvmx_ciu_intx_en4_0_w1c {
3291	u64 u64;
3292	struct cvmx_ciu_intx_en4_0_w1c_s {
3293		u64 bootdma : 1;
3294		u64 mii : 1;
3295		u64 ipdppthr : 1;
3296		u64 powiq : 1;
3297		u64 twsi2 : 1;
3298		u64 mpi : 1;
3299		u64 pcm : 1;
3300		u64 usb : 1;
3301		u64 timer : 4;
3302		u64 key_zero : 1;
3303		u64 ipd_drp : 1;
3304		u64 gmx_drp : 2;
3305		u64 trace : 1;
3306		u64 rml : 1;
3307		u64 twsi : 1;
3308		u64 reserved_44_44 : 1;
3309		u64 pci_msi : 4;
3310		u64 pci_int : 4;
3311		u64 uart : 2;
3312		u64 mbox : 2;
3313		u64 gpio : 16;
3314		u64 workq : 16;
3315	} s;
3316	struct cvmx_ciu_intx_en4_0_w1c_cn52xx {
3317		u64 bootdma : 1;
3318		u64 mii : 1;
3319		u64 ipdppthr : 1;
3320		u64 powiq : 1;
3321		u64 twsi2 : 1;
3322		u64 reserved_57_58 : 2;
3323		u64 usb : 1;
3324		u64 timer : 4;
3325		u64 reserved_51_51 : 1;
3326		u64 ipd_drp : 1;
3327		u64 reserved_49_49 : 1;
3328		u64 gmx_drp : 1;
3329		u64 trace : 1;
3330		u64 rml : 1;
3331		u64 twsi : 1;
3332		u64 reserved_44_44 : 1;
3333		u64 pci_msi : 4;
3334		u64 pci_int : 4;
3335		u64 uart : 2;
3336		u64 mbox : 2;
3337		u64 gpio : 16;
3338		u64 workq : 16;
3339	} cn52xx;
3340	struct cvmx_ciu_intx_en4_0_w1c_cn56xx {
3341		u64 bootdma : 1;
3342		u64 mii : 1;
3343		u64 ipdppthr : 1;
3344		u64 powiq : 1;
3345		u64 twsi2 : 1;
3346		u64 reserved_57_58 : 2;
3347		u64 usb : 1;
3348		u64 timer : 4;
3349		u64 key_zero : 1;
3350		u64 ipd_drp : 1;
3351		u64 gmx_drp : 2;
3352		u64 trace : 1;
3353		u64 rml : 1;
3354		u64 twsi : 1;
3355		u64 reserved_44_44 : 1;
3356		u64 pci_msi : 4;
3357		u64 pci_int : 4;
3358		u64 uart : 2;
3359		u64 mbox : 2;
3360		u64 gpio : 16;
3361		u64 workq : 16;
3362	} cn56xx;
3363	struct cvmx_ciu_intx_en4_0_w1c_cn58xx {
3364		u64 reserved_56_63 : 8;
3365		u64 timer : 4;
3366		u64 key_zero : 1;
3367		u64 ipd_drp : 1;
3368		u64 gmx_drp : 2;
3369		u64 trace : 1;
3370		u64 rml : 1;
3371		u64 twsi : 1;
3372		u64 reserved_44_44 : 1;
3373		u64 pci_msi : 4;
3374		u64 pci_int : 4;
3375		u64 uart : 2;
3376		u64 mbox : 2;
3377		u64 gpio : 16;
3378		u64 workq : 16;
3379	} cn58xx;
3380	struct cvmx_ciu_intx_en4_0_w1c_cn61xx {
3381		u64 bootdma : 1;
3382		u64 mii : 1;
3383		u64 ipdppthr : 1;
3384		u64 powiq : 1;
3385		u64 twsi2 : 1;
3386		u64 mpi : 1;
3387		u64 pcm : 1;
3388		u64 usb : 1;
3389		u64 timer : 4;
3390		u64 reserved_51_51 : 1;
3391		u64 ipd_drp : 1;
3392		u64 gmx_drp : 2;
3393		u64 trace : 1;
3394		u64 rml : 1;
3395		u64 twsi : 1;
3396		u64 reserved_44_44 : 1;
3397		u64 pci_msi : 4;
3398		u64 pci_int : 4;
3399		u64 uart : 2;
3400		u64 mbox : 2;
3401		u64 gpio : 16;
3402		u64 workq : 16;
3403	} cn61xx;
3404	struct cvmx_ciu_intx_en4_0_w1c_cn52xx cn63xx;
3405	struct cvmx_ciu_intx_en4_0_w1c_cn52xx cn63xxp1;
3406	struct cvmx_ciu_intx_en4_0_w1c_cn66xx {
3407		u64 bootdma : 1;
3408		u64 mii : 1;
3409		u64 ipdppthr : 1;
3410		u64 powiq : 1;
3411		u64 twsi2 : 1;
3412		u64 mpi : 1;
3413		u64 reserved_57_57 : 1;
3414		u64 usb : 1;
3415		u64 timer : 4;
3416		u64 reserved_51_51 : 1;
3417		u64 ipd_drp : 1;
3418		u64 gmx_drp : 2;
3419		u64 trace : 1;
3420		u64 rml : 1;
3421		u64 twsi : 1;
3422		u64 reserved_44_44 : 1;
3423		u64 pci_msi : 4;
3424		u64 pci_int : 4;
3425		u64 uart : 2;
3426		u64 mbox : 2;
3427		u64 gpio : 16;
3428		u64 workq : 16;
3429	} cn66xx;
3430	struct cvmx_ciu_intx_en4_0_w1c_cn70xx {
3431		u64 bootdma : 1;
3432		u64 reserved_62_62 : 1;
3433		u64 ipdppthr : 1;
3434		u64 powiq : 1;
3435		u64 twsi2 : 1;
3436		u64 mpi : 1;
3437		u64 pcm : 1;
3438		u64 reserved_56_56 : 1;
3439		u64 timer : 4;
3440		u64 reserved_51_51 : 1;
3441		u64 ipd_drp : 1;
3442		u64 gmx_drp : 2;
3443		u64 reserved_46_47 : 2;
3444		u64 twsi : 1;
3445		u64 reserved_44_44 : 1;
3446		u64 pci_msi : 4;
3447		u64 pci_int : 4;
3448		u64 uart : 2;
3449		u64 mbox : 2;
3450		u64 gpio : 16;
3451		u64 workq : 16;
3452	} cn70xx;
3453	struct cvmx_ciu_intx_en4_0_w1c_cn70xx cn70xxp1;
3454	struct cvmx_ciu_intx_en4_0_w1c_cnf71xx {
3455		u64 bootdma : 1;
3456		u64 reserved_62_62 : 1;
3457		u64 ipdppthr : 1;
3458		u64 powiq : 1;
3459		u64 twsi2 : 1;
3460		u64 mpi : 1;
3461		u64 pcm : 1;
3462		u64 usb : 1;
3463		u64 timer : 4;
3464		u64 reserved_51_51 : 1;
3465		u64 ipd_drp : 1;
3466		u64 reserved_49_49 : 1;
3467		u64 gmx_drp : 1;
3468		u64 trace : 1;
3469		u64 rml : 1;
3470		u64 twsi : 1;
3471		u64 reserved_44_44 : 1;
3472		u64 pci_msi : 4;
3473		u64 pci_int : 4;
3474		u64 uart : 2;
3475		u64 mbox : 2;
3476		u64 gpio : 16;
3477		u64 workq : 16;
3478	} cnf71xx;
3479};
3480
3481typedef union cvmx_ciu_intx_en4_0_w1c cvmx_ciu_intx_en4_0_w1c_t;
3482
3483/**
3484 * cvmx_ciu_int#_en4_0_w1s
3485 *
3486 * Write-1-to-set version of the CIU_INTX_EN4_0 register, read back corresponding CIU_INTX_EN4_0
3487 * value.
3488 */
3489union cvmx_ciu_intx_en4_0_w1s {
3490	u64 u64;
3491	struct cvmx_ciu_intx_en4_0_w1s_s {
3492		u64 bootdma : 1;
3493		u64 mii : 1;
3494		u64 ipdppthr : 1;
3495		u64 powiq : 1;
3496		u64 twsi2 : 1;
3497		u64 mpi : 1;
3498		u64 pcm : 1;
3499		u64 usb : 1;
3500		u64 timer : 4;
3501		u64 key_zero : 1;
3502		u64 ipd_drp : 1;
3503		u64 gmx_drp : 2;
3504		u64 trace : 1;
3505		u64 rml : 1;
3506		u64 twsi : 1;
3507		u64 reserved_44_44 : 1;
3508		u64 pci_msi : 4;
3509		u64 pci_int : 4;
3510		u64 uart : 2;
3511		u64 mbox : 2;
3512		u64 gpio : 16;
3513		u64 workq : 16;
3514	} s;
3515	struct cvmx_ciu_intx_en4_0_w1s_cn52xx {
3516		u64 bootdma : 1;
3517		u64 mii : 1;
3518		u64 ipdppthr : 1;
3519		u64 powiq : 1;
3520		u64 twsi2 : 1;
3521		u64 reserved_57_58 : 2;
3522		u64 usb : 1;
3523		u64 timer : 4;
3524		u64 reserved_51_51 : 1;
3525		u64 ipd_drp : 1;
3526		u64 reserved_49_49 : 1;
3527		u64 gmx_drp : 1;
3528		u64 trace : 1;
3529		u64 rml : 1;
3530		u64 twsi : 1;
3531		u64 reserved_44_44 : 1;
3532		u64 pci_msi : 4;
3533		u64 pci_int : 4;
3534		u64 uart : 2;
3535		u64 mbox : 2;
3536		u64 gpio : 16;
3537		u64 workq : 16;
3538	} cn52xx;
3539	struct cvmx_ciu_intx_en4_0_w1s_cn56xx {
3540		u64 bootdma : 1;
3541		u64 mii : 1;
3542		u64 ipdppthr : 1;
3543		u64 powiq : 1;
3544		u64 twsi2 : 1;
3545		u64 reserved_57_58 : 2;
3546		u64 usb : 1;
3547		u64 timer : 4;
3548		u64 key_zero : 1;
3549		u64 ipd_drp : 1;
3550		u64 gmx_drp : 2;
3551		u64 trace : 1;
3552		u64 rml : 1;
3553		u64 twsi : 1;
3554		u64 reserved_44_44 : 1;
3555		u64 pci_msi : 4;
3556		u64 pci_int : 4;
3557		u64 uart : 2;
3558		u64 mbox : 2;
3559		u64 gpio : 16;
3560		u64 workq : 16;
3561	} cn56xx;
3562	struct cvmx_ciu_intx_en4_0_w1s_cn58xx {
3563		u64 reserved_56_63 : 8;
3564		u64 timer : 4;
3565		u64 key_zero : 1;
3566		u64 ipd_drp : 1;
3567		u64 gmx_drp : 2;
3568		u64 trace : 1;
3569		u64 rml : 1;
3570		u64 twsi : 1;
3571		u64 reserved_44_44 : 1;
3572		u64 pci_msi : 4;
3573		u64 pci_int : 4;
3574		u64 uart : 2;
3575		u64 mbox : 2;
3576		u64 gpio : 16;
3577		u64 workq : 16;
3578	} cn58xx;
3579	struct cvmx_ciu_intx_en4_0_w1s_cn61xx {
3580		u64 bootdma : 1;
3581		u64 mii : 1;
3582		u64 ipdppthr : 1;
3583		u64 powiq : 1;
3584		u64 twsi2 : 1;
3585		u64 mpi : 1;
3586		u64 pcm : 1;
3587		u64 usb : 1;
3588		u64 timer : 4;
3589		u64 reserved_51_51 : 1;
3590		u64 ipd_drp : 1;
3591		u64 gmx_drp : 2;
3592		u64 trace : 1;
3593		u64 rml : 1;
3594		u64 twsi : 1;
3595		u64 reserved_44_44 : 1;
3596		u64 pci_msi : 4;
3597		u64 pci_int : 4;
3598		u64 uart : 2;
3599		u64 mbox : 2;
3600		u64 gpio : 16;
3601		u64 workq : 16;
3602	} cn61xx;
3603	struct cvmx_ciu_intx_en4_0_w1s_cn52xx cn63xx;
3604	struct cvmx_ciu_intx_en4_0_w1s_cn52xx cn63xxp1;
3605	struct cvmx_ciu_intx_en4_0_w1s_cn66xx {
3606		u64 bootdma : 1;
3607		u64 mii : 1;
3608		u64 ipdppthr : 1;
3609		u64 powiq : 1;
3610		u64 twsi2 : 1;
3611		u64 mpi : 1;
3612		u64 reserved_57_57 : 1;
3613		u64 usb : 1;
3614		u64 timer : 4;
3615		u64 reserved_51_51 : 1;
3616		u64 ipd_drp : 1;
3617		u64 gmx_drp : 2;
3618		u64 trace : 1;
3619		u64 rml : 1;
3620		u64 twsi : 1;
3621		u64 reserved_44_44 : 1;
3622		u64 pci_msi : 4;
3623		u64 pci_int : 4;
3624		u64 uart : 2;
3625		u64 mbox : 2;
3626		u64 gpio : 16;
3627		u64 workq : 16;
3628	} cn66xx;
3629	struct cvmx_ciu_intx_en4_0_w1s_cn70xx {
3630		u64 bootdma : 1;
3631		u64 reserved_62_62 : 1;
3632		u64 ipdppthr : 1;
3633		u64 powiq : 1;
3634		u64 twsi2 : 1;
3635		u64 mpi : 1;
3636		u64 pcm : 1;
3637		u64 reserved_56_56 : 1;
3638		u64 timer : 4;
3639		u64 reserved_51_51 : 1;
3640		u64 ipd_drp : 1;
3641		u64 gmx_drp : 2;
3642		u64 reserved_46_47 : 2;
3643		u64 twsi : 1;
3644		u64 reserved_44_44 : 1;
3645		u64 pci_msi : 4;
3646		u64 pci_int : 4;
3647		u64 uart : 2;
3648		u64 mbox : 2;
3649		u64 gpio : 16;
3650		u64 workq : 16;
3651	} cn70xx;
3652	struct cvmx_ciu_intx_en4_0_w1s_cn70xx cn70xxp1;
3653	struct cvmx_ciu_intx_en4_0_w1s_cnf71xx {
3654		u64 bootdma : 1;
3655		u64 reserved_62_62 : 1;
3656		u64 ipdppthr : 1;
3657		u64 powiq : 1;
3658		u64 twsi2 : 1;
3659		u64 mpi : 1;
3660		u64 pcm : 1;
3661		u64 usb : 1;
3662		u64 timer : 4;
3663		u64 reserved_51_51 : 1;
3664		u64 ipd_drp : 1;
3665		u64 reserved_49_49 : 1;
3666		u64 gmx_drp : 1;
3667		u64 trace : 1;
3668		u64 rml : 1;
3669		u64 twsi : 1;
3670		u64 reserved_44_44 : 1;
3671		u64 pci_msi : 4;
3672		u64 pci_int : 4;
3673		u64 uart : 2;
3674		u64 mbox : 2;
3675		u64 gpio : 16;
3676		u64 workq : 16;
3677	} cnf71xx;
3678};
3679
3680typedef union cvmx_ciu_intx_en4_0_w1s cvmx_ciu_intx_en4_0_w1s_t;
3681
3682/**
3683 * cvmx_ciu_int#_en4_1
3684 *
3685 * PPx/IP4 will be raised when...
3686 * PPx/IP4 = |([CIU_SUM1_PPx_IP4, CIU_INTx_SUM4] & [CIU_INTx_EN4_1, CIU_INTx_EN4_0])
3687 */
3688union cvmx_ciu_intx_en4_1 {
3689	u64 u64;
3690	struct cvmx_ciu_intx_en4_1_s {
3691		u64 rst : 1;
3692		u64 reserved_62_62 : 1;
3693		u64 srio3 : 1;
3694		u64 srio2 : 1;
3695		u64 reserved_57_59 : 3;
3696		u64 dfm : 1;
3697		u64 reserved_53_55 : 3;
3698		u64 lmc0 : 1;
3699		u64 srio1 : 1;
3700		u64 reserved_50_50 : 1;
3701		u64 pem1 : 1;
3702		u64 pem0 : 1;
3703		u64 ptp : 1;
3704		u64 agl : 1;
3705		u64 reserved_41_45 : 5;
3706		u64 dpi_dma : 1;
3707		u64 reserved_38_39 : 2;
3708		u64 agx1 : 1;
3709		u64 agx0 : 1;
3710		u64 dpi : 1;
3711		u64 sli : 1;
3712		u64 usb : 1;
3713		u64 dfa : 1;
3714		u64 key : 1;
3715		u64 rad : 1;
3716		u64 tim : 1;
3717		u64 zip : 1;
3718		u64 pko : 1;
3719		u64 pip : 1;
3720		u64 ipd : 1;
3721		u64 l2c : 1;
3722		u64 pow : 1;
3723		u64 fpa : 1;
3724		u64 iob : 1;
3725		u64 mio : 1;
3726		u64 nand : 1;
3727		u64 mii1 : 1;
3728		u64 usb1 : 1;
3729		u64 uart2 : 1;
3730		u64 wdog : 16;
3731	} s;
3732	struct cvmx_ciu_intx_en4_1_cn50xx {
3733		u64 reserved_2_63 : 62;
3734		u64 wdog : 2;
3735	} cn50xx;
3736	struct cvmx_ciu_intx_en4_1_cn52xx {
3737		u64 reserved_20_63 : 44;
3738		u64 nand : 1;
3739		u64 mii1 : 1;
3740		u64 usb1 : 1;
3741		u64 uart2 : 1;
3742		u64 reserved_4_15 : 12;
3743		u64 wdog : 4;
3744	} cn52xx;
3745	struct cvmx_ciu_intx_en4_1_cn52xxp1 {
3746		u64 reserved_19_63 : 45;
3747		u64 mii1 : 1;
3748		u64 usb1 : 1;
3749		u64 uart2 : 1;
3750		u64 reserved_4_15 : 12;
3751		u64 wdog : 4;
3752	} cn52xxp1;
3753	struct cvmx_ciu_intx_en4_1_cn56xx {
3754		u64 reserved_12_63 : 52;
3755		u64 wdog : 12;
3756	} cn56xx;
3757	struct cvmx_ciu_intx_en4_1_cn56xx cn56xxp1;
3758	struct cvmx_ciu_intx_en4_1_cn58xx {
3759		u64 reserved_16_63 : 48;
3760		u64 wdog : 16;
3761	} cn58xx;
3762	struct cvmx_ciu_intx_en4_1_cn58xx cn58xxp1;
3763	struct cvmx_ciu_intx_en4_1_cn61xx {
3764		u64 rst : 1;
3765		u64 reserved_53_62 : 10;
3766		u64 lmc0 : 1;
3767		u64 reserved_50_51 : 2;
3768		u64 pem1 : 1;
3769		u64 pem0 : 1;
3770		u64 ptp : 1;
3771		u64 agl : 1;
3772		u64 reserved_41_45 : 5;
3773		u64 dpi_dma : 1;
3774		u64 reserved_38_39 : 2;
3775		u64 agx1 : 1;
3776		u64 agx0 : 1;
3777		u64 dpi : 1;
3778		u64 sli : 1;
3779		u64 usb : 1;
3780		u64 dfa : 1;
3781		u64 key : 1;
3782		u64 rad : 1;
3783		u64 tim : 1;
3784		u64 zip : 1;
3785		u64 pko : 1;
3786		u64 pip : 1;
3787		u64 ipd : 1;
3788		u64 l2c : 1;
3789		u64 pow : 1;
3790		u64 fpa : 1;
3791		u64 iob : 1;
3792		u64 mio : 1;
3793		u64 nand : 1;
3794		u64 mii1 : 1;
3795		u64 reserved_4_17 : 14;
3796		u64 wdog : 4;
3797	} cn61xx;
3798	struct cvmx_ciu_intx_en4_1_cn63xx {
3799		u64 rst : 1;
3800		u64 reserved_57_62 : 6;
3801		u64 dfm : 1;
3802		u64 reserved_53_55 : 3;
3803		u64 lmc0 : 1;
3804		u64 srio1 : 1;
3805		u64 srio0 : 1;
3806		u64 pem1 : 1;
3807		u64 pem0 : 1;
3808		u64 ptp : 1;
3809		u64 agl : 1;
3810		u64 reserved_37_45 : 9;
3811		u64 agx0 : 1;
3812		u64 dpi : 1;
3813		u64 sli : 1;
3814		u64 usb : 1;
3815		u64 dfa : 1;
3816		u64 key : 1;
3817		u64 rad : 1;
3818		u64 tim : 1;
3819		u64 zip : 1;
3820		u64 pko : 1;
3821		u64 pip : 1;
3822		u64 ipd : 1;
3823		u64 l2c : 1;
3824		u64 pow : 1;
3825		u64 fpa : 1;
3826		u64 iob : 1;
3827		u64 mio : 1;
3828		u64 nand : 1;
3829		u64 mii1 : 1;
3830		u64 reserved_6_17 : 12;
3831		u64 wdog : 6;
3832	} cn63xx;
3833	struct cvmx_ciu_intx_en4_1_cn63xx cn63xxp1;
3834	struct cvmx_ciu_intx_en4_1_cn66xx {
3835		u64 rst : 1;
3836		u64 reserved_62_62 : 1;
3837		u64 srio3 : 1;
3838		u64 srio2 : 1;
3839		u64 reserved_57_59 : 3;
3840		u64 dfm : 1;
3841		u64 reserved_53_55 : 3;
3842		u64 lmc0 : 1;
3843		u64 reserved_51_51 : 1;
3844		u64 srio0 : 1;
3845		u64 pem1 : 1;
3846		u64 pem0 : 1;
3847		u64 ptp : 1;
3848		u64 agl : 1;
3849		u64 reserved_38_45 : 8;
3850		u64 agx1 : 1;
3851		u64 agx0 : 1;
3852		u64 dpi : 1;
3853		u64 sli : 1;
3854		u64 usb : 1;
3855		u64 dfa : 1;
3856		u64 key : 1;
3857		u64 rad : 1;
3858		u64 tim : 1;
3859		u64 zip : 1;
3860		u64 pko : 1;
3861		u64 pip : 1;
3862		u64 ipd : 1;
3863		u64 l2c : 1;
3864		u64 pow : 1;
3865		u64 fpa : 1;
3866		u64 iob : 1;
3867		u64 mio : 1;
3868		u64 nand : 1;
3869		u64 mii1 : 1;
3870		u64 reserved_10_17 : 8;
3871		u64 wdog : 10;
3872	} cn66xx;
3873	struct cvmx_ciu_intx_en4_1_cn70xx {
3874		u64 rst : 1;
3875		u64 reserved_53_62 : 10;
3876		u64 lmc0 : 1;
3877		u64 reserved_51_51 : 1;
3878		u64 pem2 : 1;
3879		u64 pem1 : 1;
3880		u64 pem0 : 1;
3881		u64 ptp : 1;
3882		u64 agl : 1;
3883		u64 reserved_41_45 : 5;
3884		u64 dpi_dma : 1;
3885		u64 reserved_39_38 : 2;
3886		u64 agx1 : 1;
3887		u64 agx0 : 1;
3888		u64 dpi : 1;
3889		u64 sli : 1;
3890		u64 usb : 1;
3891		u64 dfa : 1;
3892		u64 key : 1;
3893		u64 rad : 1;
3894		u64 tim : 1;
3895		u64 reserved_28_28 : 1;
3896		u64 pko : 1;
3897		u64 pip : 1;
3898		u64 ipd : 1;
3899		u64 l2c : 1;
3900		u64 pow : 1;
3901		u64 fpa : 1;
3902		u64 iob : 1;
3903		u64 mio : 1;
3904		u64 nand : 1;
3905		u64 reserved_18_18 : 1;
3906		u64 usb1 : 1;
3907		u64 reserved_4_16 : 13;
3908		u64 wdog : 4;
3909	} cn70xx;
3910	struct cvmx_ciu_intx_en4_1_cn70xx cn70xxp1;
3911	struct cvmx_ciu_intx_en4_1_cnf71xx {
3912		u64 rst : 1;
3913		u64 reserved_53_62 : 10;
3914		u64 lmc0 : 1;
3915		u64 reserved_50_51 : 2;
3916		u64 pem1 : 1;
3917		u64 pem0 : 1;
3918		u64 ptp : 1;
3919		u64 reserved_41_46 : 6;
3920		u64 dpi_dma : 1;
3921		u64 reserved_37_39 : 3;
3922		u64 agx0 : 1;
3923		u64 dpi : 1;
3924		u64 sli : 1;
3925		u64 usb : 1;
3926		u64 reserved_32_32 : 1;
3927		u64 key : 1;
3928		u64 rad : 1;
3929		u64 tim : 1;
3930		u64 reserved_28_28 : 1;
3931		u64 pko : 1;
3932		u64 pip : 1;
3933		u64 ipd : 1;
3934		u64 l2c : 1;
3935		u64 pow : 1;
3936		u64 fpa : 1;
3937		u64 iob : 1;
3938		u64 mio : 1;
3939		u64 nand : 1;
3940		u64 reserved_4_18 : 15;
3941		u64 wdog : 4;
3942	} cnf71xx;
3943};
3944
3945typedef union cvmx_ciu_intx_en4_1 cvmx_ciu_intx_en4_1_t;
3946
3947/**
3948 * cvmx_ciu_int#_en4_1_w1c
3949 *
3950 * Write-1-to-clear version of the CIU_INTX_EN4_1 register, read back corresponding
3951 * CIU_INTX_EN4_1 value.
3952 */
3953union cvmx_ciu_intx_en4_1_w1c {
3954	u64 u64;
3955	struct cvmx_ciu_intx_en4_1_w1c_s {
3956		u64 rst : 1;
3957		u64 reserved_62_62 : 1;
3958		u64 srio3 : 1;
3959		u64 srio2 : 1;
3960		u64 reserved_57_59 : 3;
3961		u64 dfm : 1;
3962		u64 reserved_53_55 : 3;
3963		u64 lmc0 : 1;
3964		u64 srio1 : 1;
3965		u64 reserved_50_50 : 1;
3966		u64 pem1 : 1;
3967		u64 pem0 : 1;
3968		u64 ptp : 1;
3969		u64 agl : 1;
3970		u64 reserved_41_45 : 5;
3971		u64 dpi_dma : 1;
3972		u64 reserved_38_39 : 2;
3973		u64 agx1 : 1;
3974		u64 agx0 : 1;
3975		u64 dpi : 1;
3976		u64 sli : 1;
3977		u64 usb : 1;
3978		u64 dfa : 1;
3979		u64 key : 1;
3980		u64 rad : 1;
3981		u64 tim : 1;
3982		u64 zip : 1;
3983		u64 pko : 1;
3984		u64 pip : 1;
3985		u64 ipd : 1;
3986		u64 l2c : 1;
3987		u64 pow : 1;
3988		u64 fpa : 1;
3989		u64 iob : 1;
3990		u64 mio : 1;
3991		u64 nand : 1;
3992		u64 mii1 : 1;
3993		u64 usb1 : 1;
3994		u64 uart2 : 1;
3995		u64 wdog : 16;
3996	} s;
3997	struct cvmx_ciu_intx_en4_1_w1c_cn52xx {
3998		u64 reserved_20_63 : 44;
3999		u64 nand : 1;
4000		u64 mii1 : 1;
4001		u64 usb1 : 1;
4002		u64 uart2 : 1;
4003		u64 reserved_4_15 : 12;
4004		u64 wdog : 4;
4005	} cn52xx;
4006	struct cvmx_ciu_intx_en4_1_w1c_cn56xx {
4007		u64 reserved_12_63 : 52;
4008		u64 wdog : 12;
4009	} cn56xx;
4010	struct cvmx_ciu_intx_en4_1_w1c_cn58xx {
4011		u64 reserved_16_63 : 48;
4012		u64 wdog : 16;
4013	} cn58xx;
4014	struct cvmx_ciu_intx_en4_1_w1c_cn61xx {
4015		u64 rst : 1;
4016		u64 reserved_53_62 : 10;
4017		u64 lmc0 : 1;
4018		u64 reserved_50_51 : 2;
4019		u64 pem1 : 1;
4020		u64 pem0 : 1;
4021		u64 ptp : 1;
4022		u64 agl : 1;
4023		u64 reserved_41_45 : 5;
4024		u64 dpi_dma : 1;
4025		u64 reserved_38_39 : 2;
4026		u64 agx1 : 1;
4027		u64 agx0 : 1;
4028		u64 dpi : 1;
4029		u64 sli : 1;
4030		u64 usb : 1;
4031		u64 dfa : 1;
4032		u64 key : 1;
4033		u64 rad : 1;
4034		u64 tim : 1;
4035		u64 zip : 1;
4036		u64 pko : 1;
4037		u64 pip : 1;
4038		u64 ipd : 1;
4039		u64 l2c : 1;
4040		u64 pow : 1;
4041		u64 fpa : 1;
4042		u64 iob : 1;
4043		u64 mio : 1;
4044		u64 nand : 1;
4045		u64 mii1 : 1;
4046		u64 reserved_4_17 : 14;
4047		u64 wdog : 4;
4048	} cn61xx;
4049	struct cvmx_ciu_intx_en4_1_w1c_cn63xx {
4050		u64 rst : 1;
4051		u64 reserved_57_62 : 6;
4052		u64 dfm : 1;
4053		u64 reserved_53_55 : 3;
4054		u64 lmc0 : 1;
4055		u64 srio1 : 1;
4056		u64 srio0 : 1;
4057		u64 pem1 : 1;
4058		u64 pem0 : 1;
4059		u64 ptp : 1;
4060		u64 agl : 1;
4061		u64 reserved_37_45 : 9;
4062		u64 agx0 : 1;
4063		u64 dpi : 1;
4064		u64 sli : 1;
4065		u64 usb : 1;
4066		u64 dfa : 1;
4067		u64 key : 1;
4068		u64 rad : 1;
4069		u64 tim : 1;
4070		u64 zip : 1;
4071		u64 pko : 1;
4072		u64 pip : 1;
4073		u64 ipd : 1;
4074		u64 l2c : 1;
4075		u64 pow : 1;
4076		u64 fpa : 1;
4077		u64 iob : 1;
4078		u64 mio : 1;
4079		u64 nand : 1;
4080		u64 mii1 : 1;
4081		u64 reserved_6_17 : 12;
4082		u64 wdog : 6;
4083	} cn63xx;
4084	struct cvmx_ciu_intx_en4_1_w1c_cn63xx cn63xxp1;
4085	struct cvmx_ciu_intx_en4_1_w1c_cn66xx {
4086		u64 rst : 1;
4087		u64 reserved_62_62 : 1;
4088		u64 srio3 : 1;
4089		u64 srio2 : 1;
4090		u64 reserved_57_59 : 3;
4091		u64 dfm : 1;
4092		u64 reserved_53_55 : 3;
4093		u64 lmc0 : 1;
4094		u64 reserved_51_51 : 1;
4095		u64 srio0 : 1;
4096		u64 pem1 : 1;
4097		u64 pem0 : 1;
4098		u64 ptp : 1;
4099		u64 agl : 1;
4100		u64 reserved_38_45 : 8;
4101		u64 agx1 : 1;
4102		u64 agx0 : 1;
4103		u64 dpi : 1;
4104		u64 sli : 1;
4105		u64 usb : 1;
4106		u64 dfa : 1;
4107		u64 key : 1;
4108		u64 rad : 1;
4109		u64 tim : 1;
4110		u64 zip : 1;
4111		u64 pko : 1;
4112		u64 pip : 1;
4113		u64 ipd : 1;
4114		u64 l2c : 1;
4115		u64 pow : 1;
4116		u64 fpa : 1;
4117		u64 iob : 1;
4118		u64 mio : 1;
4119		u64 nand : 1;
4120		u64 mii1 : 1;
4121		u64 reserved_10_17 : 8;
4122		u64 wdog : 10;
4123	} cn66xx;
4124	struct cvmx_ciu_intx_en4_1_w1c_cn70xx {
4125		u64 rst : 1;
4126		u64 reserved_53_62 : 10;
4127		u64 lmc0 : 1;
4128		u64 reserved_51_51 : 1;
4129		u64 pem2 : 1;
4130		u64 pem1 : 1;
4131		u64 pem0 : 1;
4132		u64 ptp : 1;
4133		u64 agl : 1;
4134		u64 reserved_41_45 : 5;
4135		u64 dpi_dma : 1;
4136		u64 reserved_38_39 : 2;
4137		u64 agx1 : 1;
4138		u64 agx0 : 1;
4139		u64 dpi : 1;
4140		u64 sli : 1;
4141		u64 usb : 1;
4142		u64 dfa : 1;
4143		u64 key : 1;
4144		u64 rad : 1;
4145		u64 tim : 1;
4146		u64 reserved_28_28 : 1;
4147		u64 pko : 1;
4148		u64 pip : 1;
4149		u64 ipd : 1;
4150		u64 l2c : 1;
4151		u64 pow : 1;
4152		u64 fpa : 1;
4153		u64 iob : 1;
4154		u64 mio : 1;
4155		u64 nand : 1;
4156		u64 reserved_18_18 : 1;
4157		u64 usb1 : 1;
4158		u64 reserved_4_16 : 13;
4159		u64 wdog : 4;
4160	} cn70xx;
4161	struct cvmx_ciu_intx_en4_1_w1c_cn70xx cn70xxp1;
4162	struct cvmx_ciu_intx_en4_1_w1c_cnf71xx {
4163		u64 rst : 1;
4164		u64 reserved_53_62 : 10;
4165		u64 lmc0 : 1;
4166		u64 reserved_50_51 : 2;
4167		u64 pem1 : 1;
4168		u64 pem0 : 1;
4169		u64 ptp : 1;
4170		u64 reserved_41_46 : 6;
4171		u64 dpi_dma : 1;
4172		u64 reserved_37_39 : 3;
4173		u64 agx0 : 1;
4174		u64 dpi : 1;
4175		u64 sli : 1;
4176		u64 usb : 1;
4177		u64 reserved_32_32 : 1;
4178		u64 key : 1;
4179		u64 rad : 1;
4180		u64 tim : 1;
4181		u64 reserved_28_28 : 1;
4182		u64 pko : 1;
4183		u64 pip : 1;
4184		u64 ipd : 1;
4185		u64 l2c : 1;
4186		u64 pow : 1;
4187		u64 fpa : 1;
4188		u64 iob : 1;
4189		u64 mio : 1;
4190		u64 nand : 1;
4191		u64 reserved_4_18 : 15;
4192		u64 wdog : 4;
4193	} cnf71xx;
4194};
4195
4196typedef union cvmx_ciu_intx_en4_1_w1c cvmx_ciu_intx_en4_1_w1c_t;
4197
4198/**
4199 * cvmx_ciu_int#_en4_1_w1s
4200 *
4201 * Write-1-to-set version of the CIU_INTX_EN4_1 register, read back corresponding CIU_INTX_EN4_1
4202 * value.
4203 */
4204union cvmx_ciu_intx_en4_1_w1s {
4205	u64 u64;
4206	struct cvmx_ciu_intx_en4_1_w1s_s {
4207		u64 rst : 1;
4208		u64 reserved_62_62 : 1;
4209		u64 srio3 : 1;
4210		u64 srio2 : 1;
4211		u64 reserved_57_59 : 3;
4212		u64 dfm : 1;
4213		u64 reserved_53_55 : 3;
4214		u64 lmc0 : 1;
4215		u64 srio1 : 1;
4216		u64 reserved_50_50 : 1;
4217		u64 pem1 : 1;
4218		u64 pem0 : 1;
4219		u64 ptp : 1;
4220		u64 agl : 1;
4221		u64 reserved_41_45 : 5;
4222		u64 dpi_dma : 1;
4223		u64 reserved_38_39 : 2;
4224		u64 agx1 : 1;
4225		u64 agx0 : 1;
4226		u64 dpi : 1;
4227		u64 sli : 1;
4228		u64 usb : 1;
4229		u64 dfa : 1;
4230		u64 key : 1;
4231		u64 rad : 1;
4232		u64 tim : 1;
4233		u64 zip : 1;
4234		u64 pko : 1;
4235		u64 pip : 1;
4236		u64 ipd : 1;
4237		u64 l2c : 1;
4238		u64 pow : 1;
4239		u64 fpa : 1;
4240		u64 iob : 1;
4241		u64 mio : 1;
4242		u64 nand : 1;
4243		u64 mii1 : 1;
4244		u64 usb1 : 1;
4245		u64 uart2 : 1;
4246		u64 wdog : 16;
4247	} s;
4248	struct cvmx_ciu_intx_en4_1_w1s_cn52xx {
4249		u64 reserved_20_63 : 44;
4250		u64 nand : 1;
4251		u64 mii1 : 1;
4252		u64 usb1 : 1;
4253		u64 uart2 : 1;
4254		u64 reserved_4_15 : 12;
4255		u64 wdog : 4;
4256	} cn52xx;
4257	struct cvmx_ciu_intx_en4_1_w1s_cn56xx {
4258		u64 reserved_12_63 : 52;
4259		u64 wdog : 12;
4260	} cn56xx;
4261	struct cvmx_ciu_intx_en4_1_w1s_cn58xx {
4262		u64 reserved_16_63 : 48;
4263		u64 wdog : 16;
4264	} cn58xx;
4265	struct cvmx_ciu_intx_en4_1_w1s_cn61xx {
4266		u64 rst : 1;
4267		u64 reserved_53_62 : 10;
4268		u64 lmc0 : 1;
4269		u64 reserved_50_51 : 2;
4270		u64 pem1 : 1;
4271		u64 pem0 : 1;
4272		u64 ptp : 1;
4273		u64 agl : 1;
4274		u64 reserved_41_45 : 5;
4275		u64 dpi_dma : 1;
4276		u64 reserved_38_39 : 2;
4277		u64 agx1 : 1;
4278		u64 agx0 : 1;
4279		u64 dpi : 1;
4280		u64 sli : 1;
4281		u64 usb : 1;
4282		u64 dfa : 1;
4283		u64 key : 1;
4284		u64 rad : 1;
4285		u64 tim : 1;
4286		u64 zip : 1;
4287		u64 pko : 1;
4288		u64 pip : 1;
4289		u64 ipd : 1;
4290		u64 l2c : 1;
4291		u64 pow : 1;
4292		u64 fpa : 1;
4293		u64 iob : 1;
4294		u64 mio : 1;
4295		u64 nand : 1;
4296		u64 mii1 : 1;
4297		u64 reserved_4_17 : 14;
4298		u64 wdog : 4;
4299	} cn61xx;
4300	struct cvmx_ciu_intx_en4_1_w1s_cn63xx {
4301		u64 rst : 1;
4302		u64 reserved_57_62 : 6;
4303		u64 dfm : 1;
4304		u64 reserved_53_55 : 3;
4305		u64 lmc0 : 1;
4306		u64 srio1 : 1;
4307		u64 srio0 : 1;
4308		u64 pem1 : 1;
4309		u64 pem0 : 1;
4310		u64 ptp : 1;
4311		u64 agl : 1;
4312		u64 reserved_37_45 : 9;
4313		u64 agx0 : 1;
4314		u64 dpi : 1;
4315		u64 sli : 1;
4316		u64 usb : 1;
4317		u64 dfa : 1;
4318		u64 key : 1;
4319		u64 rad : 1;
4320		u64 tim : 1;
4321		u64 zip : 1;
4322		u64 pko : 1;
4323		u64 pip : 1;
4324		u64 ipd : 1;
4325		u64 l2c : 1;
4326		u64 pow : 1;
4327		u64 fpa : 1;
4328		u64 iob : 1;
4329		u64 mio : 1;
4330		u64 nand : 1;
4331		u64 mii1 : 1;
4332		u64 reserved_6_17 : 12;
4333		u64 wdog : 6;
4334	} cn63xx;
4335	struct cvmx_ciu_intx_en4_1_w1s_cn63xx cn63xxp1;
4336	struct cvmx_ciu_intx_en4_1_w1s_cn66xx {
4337		u64 rst : 1;
4338		u64 reserved_62_62 : 1;
4339		u64 srio3 : 1;
4340		u64 srio2 : 1;
4341		u64 reserved_57_59 : 3;
4342		u64 dfm : 1;
4343		u64 reserved_53_55 : 3;
4344		u64 lmc0 : 1;
4345		u64 reserved_51_51 : 1;
4346		u64 srio0 : 1;
4347		u64 pem1 : 1;
4348		u64 pem0 : 1;
4349		u64 ptp : 1;
4350		u64 agl : 1;
4351		u64 reserved_38_45 : 8;
4352		u64 agx1 : 1;
4353		u64 agx0 : 1;
4354		u64 dpi : 1;
4355		u64 sli : 1;
4356		u64 usb : 1;
4357		u64 dfa : 1;
4358		u64 key : 1;
4359		u64 rad : 1;
4360		u64 tim : 1;
4361		u64 zip : 1;
4362		u64 pko : 1;
4363		u64 pip : 1;
4364		u64 ipd : 1;
4365		u64 l2c : 1;
4366		u64 pow : 1;
4367		u64 fpa : 1;
4368		u64 iob : 1;
4369		u64 mio : 1;
4370		u64 nand : 1;
4371		u64 mii1 : 1;
4372		u64 reserved_10_17 : 8;
4373		u64 wdog : 10;
4374	} cn66xx;
4375	struct cvmx_ciu_intx_en4_1_w1s_cn70xx {
4376		u64 rst : 1;
4377		u64 reserved_53_62 : 10;
4378		u64 lmc0 : 1;
4379		u64 reserved_51_51 : 1;
4380		u64 pem2 : 1;
4381		u64 pem1 : 1;
4382		u64 pem0 : 1;
4383		u64 ptp : 1;
4384		u64 agl : 1;
4385		u64 reserved_41_45 : 5;
4386		u64 dpi_dma : 1;
4387		u64 reserved_38_39 : 2;
4388		u64 agx1 : 1;
4389		u64 agx0 : 1;
4390		u64 dpi : 1;
4391		u64 sli : 1;
4392		u64 usb : 1;
4393		u64 dfa : 1;
4394		u64 key : 1;
4395		u64 rad : 1;
4396		u64 tim : 1;
4397		u64 reserved_28_28 : 1;
4398		u64 pko : 1;
4399		u64 pip : 1;
4400		u64 ipd : 1;
4401		u64 l2c : 1;
4402		u64 pow : 1;
4403		u64 fpa : 1;
4404		u64 iob : 1;
4405		u64 mio : 1;
4406		u64 nand : 1;
4407		u64 reserved_18_18 : 1;
4408		u64 usb1 : 1;
4409		u64 reserved_4_16 : 13;
4410		u64 wdog : 4;
4411	} cn70xx;
4412	struct cvmx_ciu_intx_en4_1_w1s_cn70xx cn70xxp1;
4413	struct cvmx_ciu_intx_en4_1_w1s_cnf71xx {
4414		u64 rst : 1;
4415		u64 reserved_53_62 : 10;
4416		u64 lmc0 : 1;
4417		u64 reserved_50_51 : 2;
4418		u64 pem1 : 1;
4419		u64 pem0 : 1;
4420		u64 ptp : 1;
4421		u64 reserved_41_46 : 6;
4422		u64 dpi_dma : 1;
4423		u64 reserved_37_39 : 3;
4424		u64 agx0 : 1;
4425		u64 dpi : 1;
4426		u64 sli : 1;
4427		u64 usb : 1;
4428		u64 reserved_32_32 : 1;
4429		u64 key : 1;
4430		u64 rad : 1;
4431		u64 tim : 1;
4432		u64 reserved_28_28 : 1;
4433		u64 pko : 1;
4434		u64 pip : 1;
4435		u64 ipd : 1;
4436		u64 l2c : 1;
4437		u64 pow : 1;
4438		u64 fpa : 1;
4439		u64 iob : 1;
4440		u64 mio : 1;
4441		u64 nand : 1;
4442		u64 reserved_4_18 : 15;
4443		u64 wdog : 4;
4444	} cnf71xx;
4445};
4446
4447typedef union cvmx_ciu_intx_en4_1_w1s cvmx_ciu_intx_en4_1_w1s_t;
4448
4449/**
4450 * cvmx_ciu_int#_sum0
4451 *
4452 * The remaining IP4 summary bits will be CIU_INTX_SUM4.
4453 * CIU_INT0_SUM0:  PP0/IP2
4454 * CIU_INT1_SUM0:  PP0/IP3
4455 * CIU_INT2_SUM0:  PP1/IP2
4456 * CIU_INT3_SUM0:  PP1/IP3
4457 * CIU_INT4_SUM0:  PP2/IP2
4458 * CIU_INT5_SUM0:  PP2/IP3
4459 * CIU_INT6_SUM0:  PP3/IP2
4460 * CIU_INT7_SUM0:  PP3/IP3
4461 *  - .....
4462 * (hole)
4463 * CIU_INT32_SUM0: IO 0 (PEM0).
4464 * CIU_INT33_SUM0: IO 1 (Reserved in o70, in separate address group)
4465 */
4466union cvmx_ciu_intx_sum0 {
4467	u64 u64;
4468	struct cvmx_ciu_intx_sum0_s {
4469		u64 bootdma : 1;
4470		u64 mii : 1;
4471		u64 ipdppthr : 1;
4472		u64 powiq : 1;
4473		u64 twsi2 : 1;
4474		u64 mpi : 1;
4475		u64 pcm : 1;
4476		u64 usb : 1;
4477		u64 timer : 4;
4478		u64 reserved_51_51 : 1;
4479		u64 ipd_drp : 1;
4480		u64 gmx_drp : 2;
4481		u64 trace : 1;
4482		u64 rml : 1;
4483		u64 twsi : 1;
4484		u64 wdog_sum : 1;
4485		u64 pci_msi : 4;
4486		u64 pci_int : 4;
4487		u64 uart : 2;
4488		u64 mbox : 2;
4489		u64 gpio : 16;
4490		u64 workq : 16;
4491	} s;
4492	struct cvmx_ciu_intx_sum0_cn30xx {
4493		u64 reserved_59_63 : 5;
4494		u64 mpi : 1;
4495		u64 pcm : 1;
4496		u64 usb : 1;
4497		u64 timer : 4;
4498		u64 reserved_51_51 : 1;
4499		u64 ipd_drp : 1;
4500		u64 reserved_49_49 : 1;
4501		u64 gmx_drp : 1;
4502		u64 reserved_47_47 : 1;
4503		u64 rml : 1;
4504		u64 twsi : 1;
4505		u64 wdog_sum : 1;
4506		u64 pci_msi : 4;
4507		u64 pci_int : 4;
4508		u64 uart : 2;
4509		u64 mbox : 2;
4510		u64 gpio : 16;
4511		u64 workq : 16;
4512	} cn30xx;
4513	struct cvmx_ciu_intx_sum0_cn31xx {
4514		u64 reserved_59_63 : 5;
4515		u64 mpi : 1;
4516		u64 pcm : 1;
4517		u64 usb : 1;
4518		u64 timer : 4;
4519		u64 reserved_51_51 : 1;
4520		u64 ipd_drp : 1;
4521		u64 reserved_49_49 : 1;
4522		u64 gmx_drp : 1;
4523		u64 trace : 1;
4524		u64 rml : 1;
4525		u64 twsi : 1;
4526		u64 wdog_sum : 1;
4527		u64 pci_msi : 4;
4528		u64 pci_int : 4;
4529		u64 uart : 2;
4530		u64 mbox : 2;
4531		u64 gpio : 16;
4532		u64 workq : 16;
4533	} cn31xx;
4534	struct cvmx_ciu_intx_sum0_cn38xx {
4535		u64 reserved_56_63 : 8;
4536		u64 timer : 4;
4537		u64 key_zero : 1;
4538		u64 ipd_drp : 1;
4539		u64 gmx_drp : 2;
4540		u64 trace : 1;
4541		u64 rml : 1;
4542		u64 twsi : 1;
4543		u64 wdog_sum : 1;
4544		u64 pci_msi : 4;
4545		u64 pci_int : 4;
4546		u64 uart : 2;
4547		u64 mbox : 2;
4548		u64 gpio : 16;
4549		u64 workq : 16;
4550	} cn38xx;
4551	struct cvmx_ciu_intx_sum0_cn38xx cn38xxp2;
4552	struct cvmx_ciu_intx_sum0_cn30xx cn50xx;
4553	struct cvmx_ciu_intx_sum0_cn52xx {
4554		u64 bootdma : 1;
4555		u64 mii : 1;
4556		u64 ipdppthr : 1;
4557		u64 powiq : 1;
4558		u64 twsi2 : 1;
4559		u64 reserved_57_58 : 2;
4560		u64 usb : 1;
4561		u64 timer : 4;
4562		u64 reserved_51_51 : 1;
4563		u64 ipd_drp : 1;
4564		u64 reserved_49_49 : 1;
4565		u64 gmx_drp : 1;
4566		u64 trace : 1;
4567		u64 rml : 1;
4568		u64 twsi : 1;
4569		u64 wdog_sum : 1;
4570		u64 pci_msi : 4;
4571		u64 pci_int : 4;
4572		u64 uart : 2;
4573		u64 mbox : 2;
4574		u64 gpio : 16;
4575		u64 workq : 16;
4576	} cn52xx;
4577	struct cvmx_ciu_intx_sum0_cn52xx cn52xxp1;
4578	struct cvmx_ciu_intx_sum0_cn56xx {
4579		u64 bootdma : 1;
4580		u64 mii : 1;
4581		u64 ipdppthr : 1;
4582		u64 powiq : 1;
4583		u64 twsi2 : 1;
4584		u64 reserved_57_58 : 2;
4585		u64 usb : 1;
4586		u64 timer : 4;
4587		u64 key_zero : 1;
4588		u64 ipd_drp : 1;
4589		u64 gmx_drp : 2;
4590		u64 trace : 1;
4591		u64 rml : 1;
4592		u64 twsi : 1;
4593		u64 wdog_sum : 1;
4594		u64 pci_msi : 4;
4595		u64 pci_int : 4;
4596		u64 uart : 2;
4597		u64 mbox : 2;
4598		u64 gpio : 16;
4599		u64 workq : 16;
4600	} cn56xx;
4601	struct cvmx_ciu_intx_sum0_cn56xx cn56xxp1;
4602	struct cvmx_ciu_intx_sum0_cn38xx cn58xx;
4603	struct cvmx_ciu_intx_sum0_cn38xx cn58xxp1;
4604	struct cvmx_ciu_intx_sum0_cn61xx {
4605		u64 bootdma : 1;
4606		u64 mii : 1;
4607		u64 ipdppthr : 1;
4608		u64 powiq : 1;
4609		u64 twsi2 : 1;
4610		u64 mpi : 1;
4611		u64 pcm : 1;
4612		u64 usb : 1;
4613		u64 timer : 4;
4614		u64 sum2 : 1;
4615		u64 ipd_drp : 1;
4616		u64 gmx_drp : 2;
4617		u64 trace : 1;
4618		u64 rml : 1;
4619		u64 twsi : 1;
4620		u64 wdog_sum : 1;
4621		u64 pci_msi : 4;
4622		u64 pci_int : 4;
4623		u64 uart : 2;
4624		u64 mbox : 2;
4625		u64 gpio : 16;
4626		u64 workq : 16;
4627	} cn61xx;
4628	struct cvmx_ciu_intx_sum0_cn52xx cn63xx;
4629	struct cvmx_ciu_intx_sum0_cn52xx cn63xxp1;
4630	struct cvmx_ciu_intx_sum0_cn66xx {
4631		u64 bootdma : 1;
4632		u64 mii : 1;
4633		u64 ipdppthr : 1;
4634		u64 powiq : 1;
4635		u64 twsi2 : 1;
4636		u64 mpi : 1;
4637		u64 reserved_57_57 : 1;
4638		u64 usb : 1;
4639		u64 timer : 4;
4640		u64 sum2 : 1;
4641		u64 ipd_drp : 1;
4642		u64 gmx_drp : 2;
4643		u64 trace : 1;
4644		u64 rml : 1;
4645		u64 twsi : 1;
4646		u64 wdog_sum : 1;
4647		u64 pci_msi : 4;
4648		u64 pci_int : 4;
4649		u64 uart : 2;
4650		u64 mbox : 2;
4651		u64 gpio : 16;
4652		u64 workq : 16;
4653	} cn66xx;
4654	struct cvmx_ciu_intx_sum0_cn70xx {
4655		u64 bootdma : 1;
4656		u64 reserved_62_62 : 1;
4657		u64 ipdppthr : 1;
4658		u64 powiq : 1;
4659		u64 twsi2 : 1;
4660		u64 mpi : 1;
4661		u64 pcm : 1;
4662		u64 reserved_56_56 : 1;
4663		u64 timer : 4;
4664		u64 sum2 : 1;
4665		u64 ipd_drp : 1;
4666		u64 gmx_drp : 2;
4667		u64 reserved_46_47 : 2;
4668		u64 twsi : 1;
4669		u64 wdog_sum : 1;
4670		u64 pci_msi : 4;
4671		u64 pci_int : 4;
4672		u64 uart : 2;
4673		u64 mbox : 2;
4674		u64 gpio : 16;
4675		u64 workq : 16;
4676	} cn70xx;
4677	struct cvmx_ciu_intx_sum0_cn70xx cn70xxp1;
4678	struct cvmx_ciu_intx_sum0_cnf71xx {
4679		u64 bootdma : 1;
4680		u64 reserved_62_62 : 1;
4681		u64 ipdppthr : 1;
4682		u64 powiq : 1;
4683		u64 twsi2 : 1;
4684		u64 mpi : 1;
4685		u64 pcm : 1;
4686		u64 usb : 1;
4687		u64 timer : 4;
4688		u64 sum2 : 1;
4689		u64 ipd_drp : 1;
4690		u64 reserved_49_49 : 1;
4691		u64 gmx_drp : 1;
4692		u64 trace : 1;
4693		u64 rml : 1;
4694		u64 twsi : 1;
4695		u64 wdog_sum : 1;
4696		u64 pci_msi : 4;
4697		u64 pci_int : 4;
4698		u64 uart : 2;
4699		u64 mbox : 2;
4700		u64 gpio : 16;
4701		u64 workq : 16;
4702	} cnf71xx;
4703};
4704
4705typedef union cvmx_ciu_intx_sum0 cvmx_ciu_intx_sum0_t;
4706
4707/**
4708 * cvmx_ciu_int#_sum4
4709 *
4710 * CIU_INT0_SUM4:   PP0  /IP4
4711 * CIU_INT1_SUM4:   PP1  /IP4
4712 * - ...
4713 * CIU_INT3_SUM4:   PP3  /IP4
4714 */
4715union cvmx_ciu_intx_sum4 {
4716	u64 u64;
4717	struct cvmx_ciu_intx_sum4_s {
4718		u64 bootdma : 1;
4719		u64 mii : 1;
4720		u64 ipdppthr : 1;
4721		u64 powiq : 1;
4722		u64 twsi2 : 1;
4723		u64 mpi : 1;
4724		u64 pcm : 1;
4725		u64 usb : 1;
4726		u64 timer : 4;
4727		u64 reserved_51_51 : 1;
4728		u64 ipd_drp : 1;
4729		u64 gmx_drp : 2;
4730		u64 trace : 1;
4731		u64 rml : 1;
4732		u64 twsi : 1;
4733		u64 wdog_sum : 1;
4734		u64 pci_msi : 4;
4735		u64 pci_int : 4;
4736		u64 uart : 2;
4737		u64 mbox : 2;
4738		u64 gpio : 16;
4739		u64 workq : 16;
4740	} s;
4741	struct cvmx_ciu_intx_sum4_cn50xx {
4742		u64 reserved_59_63 : 5;
4743		u64 mpi : 1;
4744		u64 pcm : 1;
4745		u64 usb : 1;
4746		u64 timer : 4;
4747		u64 reserved_51_51 : 1;
4748		u64 ipd_drp : 1;
4749		u64 reserved_49_49 : 1;
4750		u64 gmx_drp : 1;
4751		u64 reserved_47_47 : 1;
4752		u64 rml : 1;
4753		u64 twsi : 1;
4754		u64 wdog_sum : 1;
4755		u64 pci_msi : 4;
4756		u64 pci_int : 4;
4757		u64 uart : 2;
4758		u64 mbox : 2;
4759		u64 gpio : 16;
4760		u64 workq : 16;
4761	} cn50xx;
4762	struct cvmx_ciu_intx_sum4_cn52xx {
4763		u64 bootdma : 1;
4764		u64 mii : 1;
4765		u64 ipdppthr : 1;
4766		u64 powiq : 1;
4767		u64 twsi2 : 1;
4768		u64 reserved_57_58 : 2;
4769		u64 usb : 1;
4770		u64 timer : 4;
4771		u64 reserved_51_51 : 1;
4772		u64 ipd_drp : 1;
4773		u64 reserved_49_49 : 1;
4774		u64 gmx_drp : 1;
4775		u64 trace : 1;
4776		u64 rml : 1;
4777		u64 twsi : 1;
4778		u64 wdog_sum : 1;
4779		u64 pci_msi : 4;
4780		u64 pci_int : 4;
4781		u64 uart : 2;
4782		u64 mbox : 2;
4783		u64 gpio : 16;
4784		u64 workq : 16;
4785	} cn52xx;
4786	struct cvmx_ciu_intx_sum4_cn52xx cn52xxp1;
4787	struct cvmx_ciu_intx_sum4_cn56xx {
4788		u64 bootdma : 1;
4789		u64 mii : 1;
4790		u64 ipdppthr : 1;
4791		u64 powiq : 1;
4792		u64 twsi2 : 1;
4793		u64 reserved_57_58 : 2;
4794		u64 usb : 1;
4795		u64 timer : 4;
4796		u64 key_zero : 1;
4797		u64 ipd_drp : 1;
4798		u64 gmx_drp : 2;
4799		u64 trace : 1;
4800		u64 rml : 1;
4801		u64 twsi : 1;
4802		u64 wdog_sum : 1;
4803		u64 pci_msi : 4;
4804		u64 pci_int : 4;
4805		u64 uart : 2;
4806		u64 mbox : 2;
4807		u64 gpio : 16;
4808		u64 workq : 16;
4809	} cn56xx;
4810	struct cvmx_ciu_intx_sum4_cn56xx cn56xxp1;
4811	struct cvmx_ciu_intx_sum4_cn58xx {
4812		u64 reserved_56_63 : 8;
4813		u64 timer : 4;
4814		u64 key_zero : 1;
4815		u64 ipd_drp : 1;
4816		u64 gmx_drp : 2;
4817		u64 trace : 1;
4818		u64 rml : 1;
4819		u64 twsi : 1;
4820		u64 wdog_sum : 1;
4821		u64 pci_msi : 4;
4822		u64 pci_int : 4;
4823		u64 uart : 2;
4824		u64 mbox : 2;
4825		u64 gpio : 16;
4826		u64 workq : 16;
4827	} cn58xx;
4828	struct cvmx_ciu_intx_sum4_cn58xx cn58xxp1;
4829	struct cvmx_ciu_intx_sum4_cn61xx {
4830		u64 bootdma : 1;
4831		u64 mii : 1;
4832		u64 ipdppthr : 1;
4833		u64 powiq : 1;
4834		u64 twsi2 : 1;
4835		u64 mpi : 1;
4836		u64 pcm : 1;
4837		u64 usb : 1;
4838		u64 timer : 4;
4839		u64 sum2 : 1;
4840		u64 ipd_drp : 1;
4841		u64 gmx_drp : 2;
4842		u64 trace : 1;
4843		u64 rml : 1;
4844		u64 twsi : 1;
4845		u64 wdog_sum : 1;
4846		u64 pci_msi : 4;
4847		u64 pci_int : 4;
4848		u64 uart : 2;
4849		u64 mbox : 2;
4850		u64 gpio : 16;
4851		u64 workq : 16;
4852	} cn61xx;
4853	struct cvmx_ciu_intx_sum4_cn52xx cn63xx;
4854	struct cvmx_ciu_intx_sum4_cn52xx cn63xxp1;
4855	struct cvmx_ciu_intx_sum4_cn66xx {
4856		u64 bootdma : 1;
4857		u64 mii : 1;
4858		u64 ipdppthr : 1;
4859		u64 powiq : 1;
4860		u64 twsi2 : 1;
4861		u64 mpi : 1;
4862		u64 reserved_57_57 : 1;
4863		u64 usb : 1;
4864		u64 timer : 4;
4865		u64 sum2 : 1;
4866		u64 ipd_drp : 1;
4867		u64 gmx_drp : 2;
4868		u64 trace : 1;
4869		u64 rml : 1;
4870		u64 twsi : 1;
4871		u64 wdog_sum : 1;
4872		u64 pci_msi : 4;
4873		u64 pci_int : 4;
4874		u64 uart : 2;
4875		u64 mbox : 2;
4876		u64 gpio : 16;
4877		u64 workq : 16;
4878	} cn66xx;
4879	struct cvmx_ciu_intx_sum4_cn70xx {
4880		u64 bootdma : 1;
4881		u64 reserved_62_62 : 1;
4882		u64 ipdppthr : 1;
4883		u64 powiq : 1;
4884		u64 twsi2 : 1;
4885		u64 mpi : 1;
4886		u64 pcm : 1;
4887		u64 reserved_56_56 : 1;
4888		u64 timer : 4;
4889		u64 sum2 : 1;
4890		u64 ipd_drp : 1;
4891		u64 gmx_drp : 2;
4892		u64 reserved_46_47 : 2;
4893		u64 twsi : 1;
4894		u64 wdog_sum : 1;
4895		u64 pci_msi : 4;
4896		u64 pci_int : 4;
4897		u64 uart : 2;
4898		u64 mbox : 2;
4899		u64 gpio : 16;
4900		u64 workq : 16;
4901	} cn70xx;
4902	struct cvmx_ciu_intx_sum4_cn70xx cn70xxp1;
4903	struct cvmx_ciu_intx_sum4_cnf71xx {
4904		u64 bootdma : 1;
4905		u64 reserved_62_62 : 1;
4906		u64 ipdppthr : 1;
4907		u64 powiq : 1;
4908		u64 twsi2 : 1;
4909		u64 mpi : 1;
4910		u64 pcm : 1;
4911		u64 usb : 1;
4912		u64 timer : 4;
4913		u64 sum2 : 1;
4914		u64 ipd_drp : 1;
4915		u64 reserved_49_49 : 1;
4916		u64 gmx_drp : 1;
4917		u64 trace : 1;
4918		u64 rml : 1;
4919		u64 twsi : 1;
4920		u64 wdog_sum : 1;
4921		u64 pci_msi : 4;
4922		u64 pci_int : 4;
4923		u64 uart : 2;
4924		u64 mbox : 2;
4925		u64 gpio : 16;
4926		u64 workq : 16;
4927	} cnf71xx;
4928};
4929
4930typedef union cvmx_ciu_intx_sum4 cvmx_ciu_intx_sum4_t;
4931
4932/**
4933 * cvmx_ciu_int33_sum0
4934 *
4935 * This bit is associated with CIU_INTX_SUM0. Reserved for o70 for future expansion.
4936 *
4937 */
4938union cvmx_ciu_int33_sum0 {
4939	u64 u64;
4940	struct cvmx_ciu_int33_sum0_s {
4941		u64 bootdma : 1;
4942		u64 mii : 1;
4943		u64 ipdppthr : 1;
4944		u64 powiq : 1;
4945		u64 twsi2 : 1;
4946		u64 mpi : 1;
4947		u64 pcm : 1;
4948		u64 usb : 1;
4949		u64 timer : 4;
4950		u64 sum2 : 1;
4951		u64 ipd_drp : 1;
4952		u64 gmx_drp : 2;
4953		u64 trace : 1;
4954		u64 rml : 1;
4955		u64 twsi : 1;
4956		u64 wdog_sum : 1;
4957		u64 pci_msi : 4;
4958		u64 pci_int : 4;
4959		u64 uart : 2;
4960		u64 mbox : 2;
4961		u64 gpio : 16;
4962		u64 workq : 16;
4963	} s;
4964	struct cvmx_ciu_int33_sum0_s cn61xx;
4965	struct cvmx_ciu_int33_sum0_cn63xx {
4966		u64 bootdma : 1;
4967		u64 mii : 1;
4968		u64 ipdppthr : 1;
4969		u64 powiq : 1;
4970		u64 twsi2 : 1;
4971		u64 reserved_57_58 : 2;
4972		u64 usb : 1;
4973		u64 timer : 4;
4974		u64 reserved_51_51 : 1;
4975		u64 ipd_drp : 1;
4976		u64 reserved_49_49 : 1;
4977		u64 gmx_drp : 1;
4978		u64 trace : 1;
4979		u64 rml : 1;
4980		u64 twsi : 1;
4981		u64 wdog_sum : 1;
4982		u64 pci_msi : 4;
4983		u64 pci_int : 4;
4984		u64 uart : 2;
4985		u64 mbox : 2;
4986		u64 gpio : 16;
4987		u64 workq : 16;
4988	} cn63xx;
4989	struct cvmx_ciu_int33_sum0_cn63xx cn63xxp1;
4990	struct cvmx_ciu_int33_sum0_cn66xx {
4991		u64 bootdma : 1;
4992		u64 mii : 1;
4993		u64 ipdppthr : 1;
4994		u64 powiq : 1;
4995		u64 twsi2 : 1;
4996		u64 mpi : 1;
4997		u64 reserved_57_57 : 1;
4998		u64 usb : 1;
4999		u64 timer : 4;
5000		u64 sum2 : 1;
5001		u64 ipd_drp : 1;
5002		u64 gmx_drp : 2;
5003		u64 trace : 1;
5004		u64 rml : 1;
5005		u64 twsi : 1;
5006		u64 wdog_sum : 1;
5007		u64 pci_msi : 4;
5008		u64 pci_int : 4;
5009		u64 uart : 2;
5010		u64 mbox : 2;
5011		u64 gpio : 16;
5012		u64 workq : 16;
5013	} cn66xx;
5014	struct cvmx_ciu_int33_sum0_cn70xx {
5015		u64 bootdma : 1;
5016		u64 reserved_62_62 : 1;
5017		u64 ipdppthr : 1;
5018		u64 powiq : 1;
5019		u64 twsi2 : 1;
5020		u64 mpi : 1;
5021		u64 pcm : 1;
5022		u64 reserved_56_56 : 1;
5023		u64 timer : 4;
5024		u64 sum2 : 1;
5025		u64 ipd_drp : 1;
5026		u64 gmx_drp : 2;
5027		u64 reserved_47_46 : 2;
5028		u64 twsi : 1;
5029		u64 wdog_sum : 1;
5030		u64 pci_msi : 4;
5031		u64 pci_int : 4;
5032		u64 uart : 2;
5033		u64 mbox : 2;
5034		u64 gpio : 16;
5035		u64 workq : 16;
5036	} cn70xx;
5037	struct cvmx_ciu_int33_sum0_cn70xx cn70xxp1;
5038	struct cvmx_ciu_int33_sum0_cnf71xx {
5039		u64 bootdma : 1;
5040		u64 reserved_62_62 : 1;
5041		u64 ipdppthr : 1;
5042		u64 powiq : 1;
5043		u64 twsi2 : 1;
5044		u64 mpi : 1;
5045		u64 pcm : 1;
5046		u64 usb : 1;
5047		u64 timer : 4;
5048		u64 sum2 : 1;
5049		u64 ipd_drp : 1;
5050		u64 reserved_49_49 : 1;
5051		u64 gmx_drp : 1;
5052		u64 trace : 1;
5053		u64 rml : 1;
5054		u64 twsi : 1;
5055		u64 wdog_sum : 1;
5056		u64 pci_msi : 4;
5057		u64 pci_int : 4;
5058		u64 uart : 2;
5059		u64 mbox : 2;
5060		u64 gpio : 16;
5061		u64 workq : 16;
5062	} cnf71xx;
5063};
5064
5065typedef union cvmx_ciu_int33_sum0 cvmx_ciu_int33_sum0_t;
5066
5067/**
5068 * cvmx_ciu_int_dbg_sel
5069 */
5070union cvmx_ciu_int_dbg_sel {
5071	u64 u64;
5072	struct cvmx_ciu_int_dbg_sel_s {
5073		u64 reserved_19_63 : 45;
5074		u64 sel : 3;
5075		u64 reserved_10_15 : 6;
5076		u64 irq : 2;
5077		u64 reserved_5_7 : 3;
5078		u64 pp : 5;
5079	} s;
5080	struct cvmx_ciu_int_dbg_sel_cn61xx {
5081		u64 reserved_19_63 : 45;
5082		u64 sel : 3;
5083		u64 reserved_10_15 : 6;
5084		u64 irq : 2;
5085		u64 reserved_4_7 : 4;
5086		u64 pp : 4;
5087	} cn61xx;
5088	struct cvmx_ciu_int_dbg_sel_cn63xx {
5089		u64 reserved_19_63 : 45;
5090		u64 sel : 3;
5091		u64 reserved_10_15 : 6;
5092		u64 irq : 2;
5093		u64 reserved_3_7 : 5;
5094		u64 pp : 3;
5095	} cn63xx;
5096	struct cvmx_ciu_int_dbg_sel_cn61xx cn66xx;
5097	struct cvmx_ciu_int_dbg_sel_s cn68xx;
5098	struct cvmx_ciu_int_dbg_sel_s cn68xxp1;
5099	struct cvmx_ciu_int_dbg_sel_cn61xx cnf71xx;
5100};
5101
5102typedef union cvmx_ciu_int_dbg_sel cvmx_ciu_int_dbg_sel_t;
5103
5104/**
5105 * cvmx_ciu_int_sum1
5106 *
5107 * CIU_INT_SUM1 is kept to keep backward compatible.
5108 * Refer to CIU_SUM1_PPX_IPx which is the one should use.
5109 */
5110union cvmx_ciu_int_sum1 {
5111	u64 u64;
5112	struct cvmx_ciu_int_sum1_s {
5113		u64 rst : 1;
5114		u64 reserved_62_62 : 1;
5115		u64 srio3 : 1;
5116		u64 srio2 : 1;
5117		u64 reserved_57_59 : 3;
5118		u64 dfm : 1;
5119		u64 reserved_53_55 : 3;
5120		u64 lmc0 : 1;
5121		u64 srio1 : 1;
5122		u64 reserved_50_50 : 1;
5123		u64 pem1 : 1;
5124		u64 pem0 : 1;
5125		u64 ptp : 1;
5126		u64 agl : 1;
5127		u64 reserved_38_45 : 8;
5128		u64 agx1 : 1;
5129		u64 agx0 : 1;
5130		u64 dpi : 1;
5131		u64 sli : 1;
5132		u64 usb : 1;
5133		u64 dfa : 1;
5134		u64 key : 1;
5135		u64 rad : 1;
5136		u64 tim : 1;
5137		u64 zip : 1;
5138		u64 pko : 1;
5139		u64 pip : 1;
5140		u64 ipd : 1;
5141		u64 l2c : 1;
5142		u64 pow : 1;
5143		u64 fpa : 1;
5144		u64 iob : 1;
5145		u64 mio : 1;
5146		u64 nand : 1;
5147		u64 mii1 : 1;
5148		u64 usb1 : 1;
5149		u64 uart2 : 1;
5150		u64 wdog : 16;
5151	} s;
5152	struct cvmx_ciu_int_sum1_cn30xx {
5153		u64 reserved_1_63 : 63;
5154		u64 wdog : 1;
5155	} cn30xx;
5156	struct cvmx_ciu_int_sum1_cn31xx {
5157		u64 reserved_2_63 : 62;
5158		u64 wdog : 2;
5159	} cn31xx;
5160	struct cvmx_ciu_int_sum1_cn38xx {
5161		u64 reserved_16_63 : 48;
5162		u64 wdog : 16;
5163	} cn38xx;
5164	struct cvmx_ciu_int_sum1_cn38xx cn38xxp2;
5165	struct cvmx_ciu_int_sum1_cn31xx cn50xx;
5166	struct cvmx_ciu_int_sum1_cn52xx {
5167		u64 reserved_20_63 : 44;
5168		u64 nand : 1;
5169		u64 mii1 : 1;
5170		u64 usb1 : 1;
5171		u64 uart2 : 1;
5172		u64 reserved_4_15 : 12;
5173		u64 wdog : 4;
5174	} cn52xx;
5175	struct cvmx_ciu_int_sum1_cn52xxp1 {
5176		u64 reserved_19_63 : 45;
5177		u64 mii1 : 1;
5178		u64 usb1 : 1;
5179		u64 uart2 : 1;
5180		u64 reserved_4_15 : 12;
5181		u64 wdog : 4;
5182	} cn52xxp1;
5183	struct cvmx_ciu_int_sum1_cn56xx {
5184		u64 reserved_12_63 : 52;
5185		u64 wdog : 12;
5186	} cn56xx;
5187	struct cvmx_ciu_int_sum1_cn56xx cn56xxp1;
5188	struct cvmx_ciu_int_sum1_cn38xx cn58xx;
5189	struct cvmx_ciu_int_sum1_cn38xx cn58xxp1;
5190	struct cvmx_ciu_int_sum1_cn61xx {
5191		u64 rst : 1;
5192		u64 reserved_53_62 : 10;
5193		u64 lmc0 : 1;
5194		u64 reserved_50_51 : 2;
5195		u64 pem1 : 1;
5196		u64 pem0 : 1;
5197		u64 ptp : 1;
5198		u64 agl : 1;
5199		u64 reserved_38_45 : 8;
5200		u64 agx1 : 1;
5201		u64 agx0 : 1;
5202		u64 dpi : 1;
5203		u64 sli : 1;
5204		u64 usb : 1;
5205		u64 dfa : 1;
5206		u64 key : 1;
5207		u64 rad : 1;
5208		u64 tim : 1;
5209		u64 zip : 1;
5210		u64 pko : 1;
5211		u64 pip : 1;
5212		u64 ipd : 1;
5213		u64 l2c : 1;
5214		u64 pow : 1;
5215		u64 fpa : 1;
5216		u64 iob : 1;
5217		u64 mio : 1;
5218		u64 nand : 1;
5219		u64 mii1 : 1;
5220		u64 reserved_4_17 : 14;
5221		u64 wdog : 4;
5222	} cn61xx;
5223	struct cvmx_ciu_int_sum1_cn63xx {
5224		u64 rst : 1;
5225		u64 reserved_57_62 : 6;
5226		u64 dfm : 1;
5227		u64 reserved_53_55 : 3;
5228		u64 lmc0 : 1;
5229		u64 srio1 : 1;
5230		u64 srio0 : 1;
5231		u64 pem1 : 1;
5232		u64 pem0 : 1;
5233		u64 ptp : 1;
5234		u64 agl : 1;
5235		u64 reserved_37_45 : 9;
5236		u64 agx0 : 1;
5237		u64 dpi : 1;
5238		u64 sli : 1;
5239		u64 usb : 1;
5240		u64 dfa : 1;
5241		u64 key : 1;
5242		u64 rad : 1;
5243		u64 tim : 1;
5244		u64 zip : 1;
5245		u64 pko : 1;
5246		u64 pip : 1;
5247		u64 ipd : 1;
5248		u64 l2c : 1;
5249		u64 pow : 1;
5250		u64 fpa : 1;
5251		u64 iob : 1;
5252		u64 mio : 1;
5253		u64 nand : 1;
5254		u64 mii1 : 1;
5255		u64 reserved_6_17 : 12;
5256		u64 wdog : 6;
5257	} cn63xx;
5258	struct cvmx_ciu_int_sum1_cn63xx cn63xxp1;
5259	struct cvmx_ciu_int_sum1_cn66xx {
5260		u64 rst : 1;
5261		u64 reserved_62_62 : 1;
5262		u64 srio3 : 1;
5263		u64 srio2 : 1;
5264		u64 reserved_57_59 : 3;
5265		u64 dfm : 1;
5266		u64 reserved_53_55 : 3;
5267		u64 lmc0 : 1;
5268		u64 reserved_51_51 : 1;
5269		u64 srio0 : 1;
5270		u64 pem1 : 1;
5271		u64 pem0 : 1;
5272		u64 ptp : 1;
5273		u64 agl : 1;
5274		u64 reserved_38_45 : 8;
5275		u64 agx1 : 1;
5276		u64 agx0 : 1;
5277		u64 dpi : 1;
5278		u64 sli : 1;
5279		u64 usb : 1;
5280		u64 dfa : 1;
5281		u64 key : 1;
5282		u64 rad : 1;
5283		u64 tim : 1;
5284		u64 zip : 1;
5285		u64 pko : 1;
5286		u64 pip : 1;
5287		u64 ipd : 1;
5288		u64 l2c : 1;
5289		u64 pow : 1;
5290		u64 fpa : 1;
5291		u64 iob : 1;
5292		u64 mio : 1;
5293		u64 nand : 1;
5294		u64 mii1 : 1;
5295		u64 reserved_10_17 : 8;
5296		u64 wdog : 10;
5297	} cn66xx;
5298	struct cvmx_ciu_int_sum1_cn70xx {
5299		u64 rst : 1;
5300		u64 reserved_53_62 : 10;
5301		u64 lmc0 : 1;
5302		u64 reserved_51_51 : 1;
5303		u64 pem2 : 1;
5304		u64 pem1 : 1;
5305		u64 pem0 : 1;
5306		u64 ptp : 1;
5307		u64 agl : 1;
5308		u64 reserved_38_45 : 8;
5309		u64 agx1 : 1;
5310		u64 agx0 : 1;
5311		u64 dpi : 1;
5312		u64 sli : 1;
5313		u64 usb : 1;
5314		u64 dfa : 1;
5315		u64 key : 1;
5316		u64 rad : 1;
5317		u64 tim : 1;
5318		u64 reserved_28_28 : 1;
5319		u64 pko : 1;
5320		u64 pip : 1;
5321		u64 ipd : 1;
5322		u64 l2c : 1;
5323		u64 pow : 1;
5324		u64 fpa : 1;
5325		u64 iob : 1;
5326		u64 mio : 1;
5327		u64 nand : 1;
5328		u64 reserved_18_18 : 1;
5329		u64 usb1 : 1;
5330		u64 reserved_4_16 : 13;
5331		u64 wdog : 4;
5332	} cn70xx;
5333	struct cvmx_ciu_int_sum1_cn70xx cn70xxp1;
5334	struct cvmx_ciu_int_sum1_cnf71xx {
5335		u64 rst : 1;
5336		u64 reserved_53_62 : 10;
5337		u64 lmc0 : 1;
5338		u64 reserved_50_51 : 2;
5339		u64 pem1 : 1;
5340		u64 pem0 : 1;
5341		u64 ptp : 1;
5342		u64 reserved_37_46 : 10;
5343		u64 agx0 : 1;
5344		u64 dpi : 1;
5345		u64 sli : 1;
5346		u64 usb : 1;
5347		u64 reserved_32_32 : 1;
5348		u64 key : 1;
5349		u64 rad : 1;
5350		u64 tim : 1;
5351		u64 reserved_28_28 : 1;
5352		u64 pko : 1;
5353		u64 pip : 1;
5354		u64 ipd : 1;
5355		u64 l2c : 1;
5356		u64 pow : 1;
5357		u64 fpa : 1;
5358		u64 iob : 1;
5359		u64 mio : 1;
5360		u64 nand : 1;
5361		u64 reserved_4_18 : 15;
5362		u64 wdog : 4;
5363	} cnf71xx;
5364};
5365
5366typedef union cvmx_ciu_int_sum1 cvmx_ciu_int_sum1_t;
5367
5368/**
5369 * cvmx_ciu_intr_slowdown
5370 */
5371union cvmx_ciu_intr_slowdown {
5372	u64 u64;
5373	struct cvmx_ciu_intr_slowdown_s {
5374		u64 reserved_3_63 : 61;
5375		u64 ctl : 3;
5376	} s;
5377	struct cvmx_ciu_intr_slowdown_s cn70xx;
5378	struct cvmx_ciu_intr_slowdown_s cn70xxp1;
5379};
5380
5381typedef union cvmx_ciu_intr_slowdown cvmx_ciu_intr_slowdown_t;
5382
5383/**
5384 * cvmx_ciu_mbox_clr#
5385 */
5386union cvmx_ciu_mbox_clrx {
5387	u64 u64;
5388	struct cvmx_ciu_mbox_clrx_s {
5389		u64 reserved_32_63 : 32;
5390		u64 bits : 32;
5391	} s;
5392	struct cvmx_ciu_mbox_clrx_s cn30xx;
5393	struct cvmx_ciu_mbox_clrx_s cn31xx;
5394	struct cvmx_ciu_mbox_clrx_s cn38xx;
5395	struct cvmx_ciu_mbox_clrx_s cn38xxp2;
5396	struct cvmx_ciu_mbox_clrx_s cn50xx;
5397	struct cvmx_ciu_mbox_clrx_s cn52xx;
5398	struct cvmx_ciu_mbox_clrx_s cn52xxp1;
5399	struct cvmx_ciu_mbox_clrx_s cn56xx;
5400	struct cvmx_ciu_mbox_clrx_s cn56xxp1;
5401	struct cvmx_ciu_mbox_clrx_s cn58xx;
5402	struct cvmx_ciu_mbox_clrx_s cn58xxp1;
5403	struct cvmx_ciu_mbox_clrx_s cn61xx;
5404	struct cvmx_ciu_mbox_clrx_s cn63xx;
5405	struct cvmx_ciu_mbox_clrx_s cn63xxp1;
5406	struct cvmx_ciu_mbox_clrx_s cn66xx;
5407	struct cvmx_ciu_mbox_clrx_s cn68xx;
5408	struct cvmx_ciu_mbox_clrx_s cn68xxp1;
5409	struct cvmx_ciu_mbox_clrx_s cn70xx;
5410	struct cvmx_ciu_mbox_clrx_s cn70xxp1;
5411	struct cvmx_ciu_mbox_clrx_s cnf71xx;
5412};
5413
5414typedef union cvmx_ciu_mbox_clrx cvmx_ciu_mbox_clrx_t;
5415
5416/**
5417 * cvmx_ciu_mbox_set#
5418 */
5419union cvmx_ciu_mbox_setx {
5420	u64 u64;
5421	struct cvmx_ciu_mbox_setx_s {
5422		u64 reserved_32_63 : 32;
5423		u64 bits : 32;
5424	} s;
5425	struct cvmx_ciu_mbox_setx_s cn30xx;
5426	struct cvmx_ciu_mbox_setx_s cn31xx;
5427	struct cvmx_ciu_mbox_setx_s cn38xx;
5428	struct cvmx_ciu_mbox_setx_s cn38xxp2;
5429	struct cvmx_ciu_mbox_setx_s cn50xx;
5430	struct cvmx_ciu_mbox_setx_s cn52xx;
5431	struct cvmx_ciu_mbox_setx_s cn52xxp1;
5432	struct cvmx_ciu_mbox_setx_s cn56xx;
5433	struct cvmx_ciu_mbox_setx_s cn56xxp1;
5434	struct cvmx_ciu_mbox_setx_s cn58xx;
5435	struct cvmx_ciu_mbox_setx_s cn58xxp1;
5436	struct cvmx_ciu_mbox_setx_s cn61xx;
5437	struct cvmx_ciu_mbox_setx_s cn63xx;
5438	struct cvmx_ciu_mbox_setx_s cn63xxp1;
5439	struct cvmx_ciu_mbox_setx_s cn66xx;
5440	struct cvmx_ciu_mbox_setx_s cn68xx;
5441	struct cvmx_ciu_mbox_setx_s cn68xxp1;
5442	struct cvmx_ciu_mbox_setx_s cn70xx;
5443	struct cvmx_ciu_mbox_setx_s cn70xxp1;
5444	struct cvmx_ciu_mbox_setx_s cnf71xx;
5445};
5446
5447typedef union cvmx_ciu_mbox_setx cvmx_ciu_mbox_setx_t;
5448
5449/**
5450 * cvmx_ciu_nmi
5451 */
5452union cvmx_ciu_nmi {
5453	u64 u64;
5454	struct cvmx_ciu_nmi_s {
5455		u64 reserved_32_63 : 32;
5456		u64 nmi : 32;
5457	} s;
5458	struct cvmx_ciu_nmi_cn30xx {
5459		u64 reserved_1_63 : 63;
5460		u64 nmi : 1;
5461	} cn30xx;
5462	struct cvmx_ciu_nmi_cn31xx {
5463		u64 reserved_2_63 : 62;
5464		u64 nmi : 2;
5465	} cn31xx;
5466	struct cvmx_ciu_nmi_cn38xx {
5467		u64 reserved_16_63 : 48;
5468		u64 nmi : 16;
5469	} cn38xx;
5470	struct cvmx_ciu_nmi_cn38xx cn38xxp2;
5471	struct cvmx_ciu_nmi_cn31xx cn50xx;
5472	struct cvmx_ciu_nmi_cn52xx {
5473		u64 reserved_4_63 : 60;
5474		u64 nmi : 4;
5475	} cn52xx;
5476	struct cvmx_ciu_nmi_cn52xx cn52xxp1;
5477	struct cvmx_ciu_nmi_cn56xx {
5478		u64 reserved_12_63 : 52;
5479		u64 nmi : 12;
5480	} cn56xx;
5481	struct cvmx_ciu_nmi_cn56xx cn56xxp1;
5482	struct cvmx_ciu_nmi_cn38xx cn58xx;
5483	struct cvmx_ciu_nmi_cn38xx cn58xxp1;
5484	struct cvmx_ciu_nmi_cn52xx cn61xx;
5485	struct cvmx_ciu_nmi_cn63xx {
5486		u64 reserved_6_63 : 58;
5487		u64 nmi : 6;
5488	} cn63xx;
5489	struct cvmx_ciu_nmi_cn63xx cn63xxp1;
5490	struct cvmx_ciu_nmi_cn66xx {
5491		u64 reserved_10_63 : 54;
5492		u64 nmi : 10;
5493	} cn66xx;
5494	struct cvmx_ciu_nmi_s cn68xx;
5495	struct cvmx_ciu_nmi_s cn68xxp1;
5496	struct cvmx_ciu_nmi_cn52xx cn70xx;
5497	struct cvmx_ciu_nmi_cn52xx cn70xxp1;
5498	struct cvmx_ciu_nmi_cn52xx cnf71xx;
5499};
5500
5501typedef union cvmx_ciu_nmi cvmx_ciu_nmi_t;
5502
5503/**
5504 * cvmx_ciu_pci_inta
5505 */
5506union cvmx_ciu_pci_inta {
5507	u64 u64;
5508	struct cvmx_ciu_pci_inta_s {
5509		u64 reserved_2_63 : 62;
5510		u64 intr : 2;
5511	} s;
5512	struct cvmx_ciu_pci_inta_s cn30xx;
5513	struct cvmx_ciu_pci_inta_s cn31xx;
5514	struct cvmx_ciu_pci_inta_s cn38xx;
5515	struct cvmx_ciu_pci_inta_s cn38xxp2;
5516	struct cvmx_ciu_pci_inta_s cn50xx;
5517	struct cvmx_ciu_pci_inta_s cn52xx;
5518	struct cvmx_ciu_pci_inta_s cn52xxp1;
5519	struct cvmx_ciu_pci_inta_s cn56xx;
5520	struct cvmx_ciu_pci_inta_s cn56xxp1;
5521	struct cvmx_ciu_pci_inta_s cn58xx;
5522	struct cvmx_ciu_pci_inta_s cn58xxp1;
5523	struct cvmx_ciu_pci_inta_s cn61xx;
5524	struct cvmx_ciu_pci_inta_s cn63xx;
5525	struct cvmx_ciu_pci_inta_s cn63xxp1;
5526	struct cvmx_ciu_pci_inta_s cn66xx;
5527	struct cvmx_ciu_pci_inta_s cn68xx;
5528	struct cvmx_ciu_pci_inta_s cn68xxp1;
5529	struct cvmx_ciu_pci_inta_s cn70xx;
5530	struct cvmx_ciu_pci_inta_s cn70xxp1;
5531	struct cvmx_ciu_pci_inta_s cnf71xx;
5532};
5533
5534typedef union cvmx_ciu_pci_inta cvmx_ciu_pci_inta_t;
5535
5536/**
5537 * cvmx_ciu_pp_bist_stat
5538 */
5539union cvmx_ciu_pp_bist_stat {
5540	u64 u64;
5541	struct cvmx_ciu_pp_bist_stat_s {
5542		u64 reserved_32_63 : 32;
5543		u64 pp_bist : 32;
5544	} s;
5545	struct cvmx_ciu_pp_bist_stat_s cn68xx;
5546	struct cvmx_ciu_pp_bist_stat_s cn68xxp1;
5547};
5548
5549typedef union cvmx_ciu_pp_bist_stat cvmx_ciu_pp_bist_stat_t;
5550
5551/**
5552 * cvmx_ciu_pp_dbg
5553 */
5554union cvmx_ciu_pp_dbg {
5555	u64 u64;
5556	struct cvmx_ciu_pp_dbg_s {
5557		u64 reserved_48_63 : 16;
5558		u64 ppdbg : 48;
5559	} s;
5560	struct cvmx_ciu_pp_dbg_cn30xx {
5561		u64 reserved_1_63 : 63;
5562		u64 ppdbg : 1;
5563	} cn30xx;
5564	struct cvmx_ciu_pp_dbg_cn31xx {
5565		u64 reserved_2_63 : 62;
5566		u64 ppdbg : 2;
5567	} cn31xx;
5568	struct cvmx_ciu_pp_dbg_cn38xx {
5569		u64 reserved_16_63 : 48;
5570		u64 ppdbg : 16;
5571	} cn38xx;
5572	struct cvmx_ciu_pp_dbg_cn38xx cn38xxp2;
5573	struct cvmx_ciu_pp_dbg_cn31xx cn50xx;
5574	struct cvmx_ciu_pp_dbg_cn52xx {
5575		u64 reserved_4_63 : 60;
5576		u64 ppdbg : 4;
5577	} cn52xx;
5578	struct cvmx_ciu_pp_dbg_cn52xx cn52xxp1;
5579	struct cvmx_ciu_pp_dbg_cn56xx {
5580		u64 reserved_12_63 : 52;
5581		u64 ppdbg : 12;
5582	} cn56xx;
5583	struct cvmx_ciu_pp_dbg_cn56xx cn56xxp1;
5584	struct cvmx_ciu_pp_dbg_cn38xx cn58xx;
5585	struct cvmx_ciu_pp_dbg_cn38xx cn58xxp1;
5586	struct cvmx_ciu_pp_dbg_cn52xx cn61xx;
5587	struct cvmx_ciu_pp_dbg_cn63xx {
5588		u64 reserved_6_63 : 58;
5589		u64 ppdbg : 6;
5590	} cn63xx;
5591	struct cvmx_ciu_pp_dbg_cn63xx cn63xxp1;
5592	struct cvmx_ciu_pp_dbg_cn66xx {
5593		u64 reserved_10_63 : 54;
5594		u64 ppdbg : 10;
5595	} cn66xx;
5596	struct cvmx_ciu_pp_dbg_cn68xx {
5597		u64 reserved_32_63 : 32;
5598		u64 ppdbg : 32;
5599	} cn68xx;
5600	struct cvmx_ciu_pp_dbg_cn68xx cn68xxp1;
5601	struct cvmx_ciu_pp_dbg_cn52xx cn70xx;
5602	struct cvmx_ciu_pp_dbg_cn52xx cn70xxp1;
5603	struct cvmx_ciu_pp_dbg_cn38xx cn73xx;
5604	struct cvmx_ciu_pp_dbg_s cn78xx;
5605	struct cvmx_ciu_pp_dbg_s cn78xxp1;
5606	struct cvmx_ciu_pp_dbg_cn52xx cnf71xx;
5607	struct cvmx_ciu_pp_dbg_cn38xx cnf75xx;
5608};
5609
5610typedef union cvmx_ciu_pp_dbg cvmx_ciu_pp_dbg_t;
5611
5612/**
5613 * cvmx_ciu_pp_poke#
5614 *
5615 * CIU_PP_POKE for CIU_WDOG
5616 *
5617 */
5618union cvmx_ciu_pp_pokex {
5619	u64 u64;
5620	struct cvmx_ciu_pp_pokex_s {
5621		u64 poke : 64;
5622	} s;
5623	struct cvmx_ciu_pp_pokex_s cn30xx;
5624	struct cvmx_ciu_pp_pokex_s cn31xx;
5625	struct cvmx_ciu_pp_pokex_s cn38xx;
5626	struct cvmx_ciu_pp_pokex_s cn38xxp2;
5627	struct cvmx_ciu_pp_pokex_s cn50xx;
5628	struct cvmx_ciu_pp_pokex_s cn52xx;
5629	struct cvmx_ciu_pp_pokex_s cn52xxp1;
5630	struct cvmx_ciu_pp_pokex_s cn56xx;
5631	struct cvmx_ciu_pp_pokex_s cn56xxp1;
5632	struct cvmx_ciu_pp_pokex_s cn58xx;
5633	struct cvmx_ciu_pp_pokex_s cn58xxp1;
5634	struct cvmx_ciu_pp_pokex_s cn61xx;
5635	struct cvmx_ciu_pp_pokex_s cn63xx;
5636	struct cvmx_ciu_pp_pokex_s cn63xxp1;
5637	struct cvmx_ciu_pp_pokex_s cn66xx;
5638	struct cvmx_ciu_pp_pokex_s cn68xx;
5639	struct cvmx_ciu_pp_pokex_s cn68xxp1;
5640	struct cvmx_ciu_pp_pokex_s cn70xx;
5641	struct cvmx_ciu_pp_pokex_s cn70xxp1;
5642	struct cvmx_ciu_pp_pokex_cn73xx {
5643		u64 reserved_1_63 : 63;
5644		u64 poke : 1;
5645	} cn73xx;
5646	struct cvmx_ciu_pp_pokex_cn73xx cn78xx;
5647	struct cvmx_ciu_pp_pokex_cn73xx cn78xxp1;
5648	struct cvmx_ciu_pp_pokex_s cnf71xx;
5649	struct cvmx_ciu_pp_pokex_cn73xx cnf75xx;
5650};
5651
5652typedef union cvmx_ciu_pp_pokex cvmx_ciu_pp_pokex_t;
5653
5654/**
5655 * cvmx_ciu_pp_rst
5656 *
5657 * This register contains the reset control for each core. A 1 holds a core in reset, 0 release
5658 * from reset. It resets to all ones when REMOTE_BOOT is enabled or all ones excluding bit 0 when
5659 * REMOTE_BOOT is disabled. Writes to this register should occur only if the CIU_PP_RST_PENDING
5660 * register is cleared.
5661 */
5662union cvmx_ciu_pp_rst {
5663	u64 u64;
5664	struct cvmx_ciu_pp_rst_s {
5665		u64 reserved_48_63 : 16;
5666		u64 rst : 47;
5667		u64 rst0 : 1;
5668	} s;
5669	struct cvmx_ciu_pp_rst_cn30xx {
5670		u64 reserved_1_63 : 63;
5671		u64 rst0 : 1;
5672	} cn30xx;
5673	struct cvmx_ciu_pp_rst_cn31xx {
5674		u64 reserved_2_63 : 62;
5675		u64 rst : 1;
5676		u64 rst0 : 1;
5677	} cn31xx;
5678	struct cvmx_ciu_pp_rst_cn38xx {
5679		u64 reserved_16_63 : 48;
5680		u64 rst : 15;
5681		u64 rst0 : 1;
5682	} cn38xx;
5683	struct cvmx_ciu_pp_rst_cn38xx cn38xxp2;
5684	struct cvmx_ciu_pp_rst_cn31xx cn50xx;
5685	struct cvmx_ciu_pp_rst_cn52xx {
5686		u64 reserved_4_63 : 60;
5687		u64 rst : 3;
5688		u64 rst0 : 1;
5689	} cn52xx;
5690	struct cvmx_ciu_pp_rst_cn52xx cn52xxp1;
5691	struct cvmx_ciu_pp_rst_cn56xx {
5692		u64 reserved_12_63 : 52;
5693		u64 rst : 11;
5694		u64 rst0 : 1;
5695	} cn56xx;
5696	struct cvmx_ciu_pp_rst_cn56xx cn56xxp1;
5697	struct cvmx_ciu_pp_rst_cn38xx cn58xx;
5698	struct cvmx_ciu_pp_rst_cn38xx cn58xxp1;
5699	struct cvmx_ciu_pp_rst_cn52xx cn61xx;
5700	struct cvmx_ciu_pp_rst_cn63xx {
5701		u64 reserved_6_63 : 58;
5702		u64 rst : 5;
5703		u64 rst0 : 1;
5704	} cn63xx;
5705	struct cvmx_ciu_pp_rst_cn63xx cn63xxp1;
5706	struct cvmx_ciu_pp_rst_cn66xx {
5707		u64 reserved_10_63 : 54;
5708		u64 rst : 9;
5709		u64 rst0 : 1;
5710	} cn66xx;
5711	struct cvmx_ciu_pp_rst_cn68xx {
5712		u64 reserved_32_63 : 32;
5713		u64 rst : 31;
5714		u64 rst0 : 1;
5715	} cn68xx;
5716	struct cvmx_ciu_pp_rst_cn68xx cn68xxp1;
5717	struct cvmx_ciu_pp_rst_cn52xx cn70xx;
5718	struct cvmx_ciu_pp_rst_cn52xx cn70xxp1;
5719	struct cvmx_ciu_pp_rst_cn38xx cn73xx;
5720	struct cvmx_ciu_pp_rst_s cn78xx;
5721	struct cvmx_ciu_pp_rst_s cn78xxp1;
5722	struct cvmx_ciu_pp_rst_cn52xx cnf71xx;
5723	struct cvmx_ciu_pp_rst_cn38xx cnf75xx;
5724};
5725
5726typedef union cvmx_ciu_pp_rst cvmx_ciu_pp_rst_t;
5727
5728/**
5729 * cvmx_ciu_pp_rst_pending
5730 *
5731 * This register contains the reset status for each core.
5732 *
5733 */
5734union cvmx_ciu_pp_rst_pending {
5735	u64 u64;
5736	struct cvmx_ciu_pp_rst_pending_s {
5737		u64 reserved_48_63 : 16;
5738		u64 pend : 48;
5739	} s;
5740	struct cvmx_ciu_pp_rst_pending_s cn70xx;
5741	struct cvmx_ciu_pp_rst_pending_s cn70xxp1;
5742	struct cvmx_ciu_pp_rst_pending_cn73xx {
5743		u64 reserved_16_63 : 48;
5744		u64 pend : 16;
5745	} cn73xx;
5746	struct cvmx_ciu_pp_rst_pending_s cn78xx;
5747	struct cvmx_ciu_pp_rst_pending_s cn78xxp1;
5748	struct cvmx_ciu_pp_rst_pending_cn73xx cnf75xx;
5749};
5750
5751typedef union cvmx_ciu_pp_rst_pending cvmx_ciu_pp_rst_pending_t;
5752
5753/**
5754 * cvmx_ciu_qlm0
5755 *
5756 * Notes:
5757 * This register is only reset by cold reset.
5758 *
5759 */
5760union cvmx_ciu_qlm0 {
5761	u64 u64;
5762	struct cvmx_ciu_qlm0_s {
5763		u64 g2bypass : 1;
5764		u64 reserved_53_62 : 10;
5765		u64 g2deemph : 5;
5766		u64 reserved_45_47 : 3;
5767		u64 g2margin : 5;
5768		u64 reserved_32_39 : 8;
5769		u64 txbypass : 1;
5770		u64 reserved_21_30 : 10;
5771		u64 txdeemph : 5;
5772		u64 reserved_13_15 : 3;
5773		u64 txmargin : 5;
5774		u64 reserved_4_7 : 4;
5775		u64 lane_en : 4;
5776	} s;
5777	struct cvmx_ciu_qlm0_s cn61xx;
5778	struct cvmx_ciu_qlm0_s cn63xx;
5779	struct cvmx_ciu_qlm0_cn63xxp1 {
5780		u64 reserved_32_63 : 32;
5781		u64 txbypass : 1;
5782		u64 reserved_20_30 : 11;
5783		u64 txdeemph : 4;
5784		u64 reserved_13_15 : 3;
5785		u64 txmargin : 5;
5786		u64 reserved_4_7 : 4;
5787		u64 lane_en : 4;
5788	} cn63xxp1;
5789	struct cvmx_ciu_qlm0_s cn66xx;
5790	struct cvmx_ciu_qlm0_cn68xx {
5791		u64 reserved_32_63 : 32;
5792		u64 txbypass : 1;
5793		u64 reserved_21_30 : 10;
5794		u64 txdeemph : 5;
5795		u64 reserved_13_15 : 3;
5796		u64 txmargin : 5;
5797		u64 reserved_4_7 : 4;
5798		u64 lane_en : 4;
5799	} cn68xx;
5800	struct cvmx_ciu_qlm0_cn68xx cn68xxp1;
5801	struct cvmx_ciu_qlm0_s cnf71xx;
5802};
5803
5804typedef union cvmx_ciu_qlm0 cvmx_ciu_qlm0_t;
5805
5806/**
5807 * cvmx_ciu_qlm1
5808 *
5809 * Notes:
5810 * This register is only reset by cold reset.
5811 *
5812 */
5813union cvmx_ciu_qlm1 {
5814	u64 u64;
5815	struct cvmx_ciu_qlm1_s {
5816		u64 g2bypass : 1;
5817		u64 reserved_53_62 : 10;
5818		u64 g2deemph : 5;
5819		u64 reserved_45_47 : 3;
5820		u64 g2margin : 5;
5821		u64 reserved_32_39 : 8;
5822		u64 txbypass : 1;
5823		u64 reserved_21_30 : 10;
5824		u64 txdeemph : 5;
5825		u64 reserved_13_15 : 3;
5826		u64 txmargin : 5;
5827		u64 reserved_4_7 : 4;
5828		u64 lane_en : 4;
5829	} s;
5830	struct cvmx_ciu_qlm1_s cn61xx;
5831	struct cvmx_ciu_qlm1_s cn63xx;
5832	struct cvmx_ciu_qlm1_cn63xxp1 {
5833		u64 reserved_32_63 : 32;
5834		u64 txbypass : 1;
5835		u64 reserved_20_30 : 11;
5836		u64 txdeemph : 4;
5837		u64 reserved_13_15 : 3;
5838		u64 txmargin : 5;
5839		u64 reserved_4_7 : 4;
5840		u64 lane_en : 4;
5841	} cn63xxp1;
5842	struct cvmx_ciu_qlm1_s cn66xx;
5843	struct cvmx_ciu_qlm1_s cn68xx;
5844	struct cvmx_ciu_qlm1_s cn68xxp1;
5845	struct cvmx_ciu_qlm1_s cnf71xx;
5846};
5847
5848typedef union cvmx_ciu_qlm1 cvmx_ciu_qlm1_t;
5849
5850/**
5851 * cvmx_ciu_qlm2
5852 *
5853 * Notes:
5854 * This register is only reset by cold reset.
5855 *
5856 */
5857union cvmx_ciu_qlm2 {
5858	u64 u64;
5859	struct cvmx_ciu_qlm2_s {
5860		u64 g2bypass : 1;
5861		u64 reserved_53_62 : 10;
5862		u64 g2deemph : 5;
5863		u64 reserved_45_47 : 3;
5864		u64 g2margin : 5;
5865		u64 reserved_32_39 : 8;
5866		u64 txbypass : 1;
5867		u64 reserved_21_30 : 10;
5868		u64 txdeemph : 5;
5869		u64 reserved_13_15 : 3;
5870		u64 txmargin : 5;
5871		u64 reserved_4_7 : 4;
5872		u64 lane_en : 4;
5873	} s;
5874	struct cvmx_ciu_qlm2_cn61xx {
5875		u64 reserved_32_63 : 32;
5876		u64 txbypass : 1;
5877		u64 reserved_21_30 : 10;
5878		u64 txdeemph : 5;
5879		u64 reserved_13_15 : 3;
5880		u64 txmargin : 5;
5881		u64 reserved_4_7 : 4;
5882		u64 lane_en : 4;
5883	} cn61xx;
5884	struct cvmx_ciu_qlm2_cn61xx cn63xx;
5885	struct cvmx_ciu_qlm2_cn63xxp1 {
5886		u64 reserved_32_63 : 32;
5887		u64 txbypass : 1;
5888		u64 reserved_20_30 : 11;
5889		u64 txdeemph : 4;
5890		u64 reserved_13_15 : 3;
5891		u64 txmargin : 5;
5892		u64 reserved_4_7 : 4;
5893		u64 lane_en : 4;
5894	} cn63xxp1;
5895	struct cvmx_ciu_qlm2_cn61xx cn66xx;
5896	struct cvmx_ciu_qlm2_s cn68xx;
5897	struct cvmx_ciu_qlm2_s cn68xxp1;
5898	struct cvmx_ciu_qlm2_cn61xx cnf71xx;
5899};
5900
5901typedef union cvmx_ciu_qlm2 cvmx_ciu_qlm2_t;
5902
5903/**
5904 * cvmx_ciu_qlm3
5905 *
5906 * Notes:
5907 * This register is only reset by cold reset.
5908 *
5909 */
5910union cvmx_ciu_qlm3 {
5911	u64 u64;
5912	struct cvmx_ciu_qlm3_s {
5913		u64 g2bypass : 1;
5914		u64 reserved_53_62 : 10;
5915		u64 g2deemph : 5;
5916		u64 reserved_45_47 : 3;
5917		u64 g2margin : 5;
5918		u64 reserved_32_39 : 8;
5919		u64 txbypass : 1;
5920		u64 reserved_21_30 : 10;
5921		u64 txdeemph : 5;
5922		u64 reserved_13_15 : 3;
5923		u64 txmargin : 5;
5924		u64 reserved_4_7 : 4;
5925		u64 lane_en : 4;
5926	} s;
5927	struct cvmx_ciu_qlm3_s cn68xx;
5928	struct cvmx_ciu_qlm3_s cn68xxp1;
5929};
5930
5931typedef union cvmx_ciu_qlm3 cvmx_ciu_qlm3_t;
5932
5933/**
5934 * cvmx_ciu_qlm4
5935 *
5936 * Notes:
5937 * This register is only reset by cold reset.
5938 *
5939 */
5940union cvmx_ciu_qlm4 {
5941	u64 u64;
5942	struct cvmx_ciu_qlm4_s {
5943		u64 g2bypass : 1;
5944		u64 reserved_53_62 : 10;
5945		u64 g2deemph : 5;
5946		u64 reserved_45_47 : 3;
5947		u64 g2margin : 5;
5948		u64 reserved_32_39 : 8;
5949		u64 txbypass : 1;
5950		u64 reserved_21_30 : 10;
5951		u64 txdeemph : 5;
5952		u64 reserved_13_15 : 3;
5953		u64 txmargin : 5;
5954		u64 reserved_4_7 : 4;
5955		u64 lane_en : 4;
5956	} s;
5957	struct cvmx_ciu_qlm4_s cn68xx;
5958	struct cvmx_ciu_qlm4_s cn68xxp1;
5959};
5960
5961typedef union cvmx_ciu_qlm4 cvmx_ciu_qlm4_t;
5962
5963/**
5964 * cvmx_ciu_qlm_dcok
5965 */
5966union cvmx_ciu_qlm_dcok {
5967	u64 u64;
5968	struct cvmx_ciu_qlm_dcok_s {
5969		u64 reserved_4_63 : 60;
5970		u64 qlm_dcok : 4;
5971	} s;
5972	struct cvmx_ciu_qlm_dcok_cn52xx {
5973		u64 reserved_2_63 : 62;
5974		u64 qlm_dcok : 2;
5975	} cn52xx;
5976	struct cvmx_ciu_qlm_dcok_cn52xx cn52xxp1;
5977	struct cvmx_ciu_qlm_dcok_s cn56xx;
5978	struct cvmx_ciu_qlm_dcok_s cn56xxp1;
5979};
5980
5981typedef union cvmx_ciu_qlm_dcok cvmx_ciu_qlm_dcok_t;
5982
5983/**
5984 * cvmx_ciu_qlm_jtgc
5985 */
5986union cvmx_ciu_qlm_jtgc {
5987	u64 u64;
5988	struct cvmx_ciu_qlm_jtgc_s {
5989		u64 reserved_17_63 : 47;
5990		u64 bypass_ext : 1;
5991		u64 reserved_11_15 : 5;
5992		u64 clk_div : 3;
5993		u64 reserved_7_7 : 1;
5994		u64 mux_sel : 3;
5995		u64 bypass : 4;
5996	} s;
5997	struct cvmx_ciu_qlm_jtgc_cn52xx {
5998		u64 reserved_11_63 : 53;
5999		u64 clk_div : 3;
6000		u64 reserved_5_7 : 3;
6001		u64 mux_sel : 1;
6002		u64 reserved_2_3 : 2;
6003		u64 bypass : 2;
6004	} cn52xx;
6005	struct cvmx_ciu_qlm_jtgc_cn52xx cn52xxp1;
6006	struct cvmx_ciu_qlm_jtgc_cn56xx {
6007		u64 reserved_11_63 : 53;
6008		u64 clk_div : 3;
6009		u64 reserved_6_7 : 2;
6010		u64 mux_sel : 2;
6011		u64 bypass : 4;
6012	} cn56xx;
6013	struct cvmx_ciu_qlm_jtgc_cn56xx cn56xxp1;
6014	struct cvmx_ciu_qlm_jtgc_cn61xx {
6015		u64 reserved_11_63 : 53;
6016		u64 clk_div : 3;
6017		u64 reserved_6_7 : 2;
6018		u64 mux_sel : 2;
6019		u64 reserved_3_3 : 1;
6020		u64 bypass : 3;
6021	} cn61xx;
6022	struct cvmx_ciu_qlm_jtgc_cn61xx cn63xx;
6023	struct cvmx_ciu_qlm_jtgc_cn61xx cn63xxp1;
6024	struct cvmx_ciu_qlm_jtgc_cn61xx cn66xx;
6025	struct cvmx_ciu_qlm_jtgc_s cn68xx;
6026	struct cvmx_ciu_qlm_jtgc_s cn68xxp1;
6027	struct cvmx_ciu_qlm_jtgc_cn61xx cnf71xx;
6028};
6029
6030typedef union cvmx_ciu_qlm_jtgc cvmx_ciu_qlm_jtgc_t;
6031
6032/**
6033 * cvmx_ciu_qlm_jtgd
6034 */
6035union cvmx_ciu_qlm_jtgd {
6036	u64 u64;
6037	struct cvmx_ciu_qlm_jtgd_s {
6038		u64 capture : 1;
6039		u64 shift : 1;
6040		u64 update : 1;
6041		u64 reserved_45_60 : 16;
6042		u64 select : 5;
6043		u64 reserved_37_39 : 3;
6044		u64 shft_cnt : 5;
6045		u64 shft_reg : 32;
6046	} s;
6047	struct cvmx_ciu_qlm_jtgd_cn52xx {
6048		u64 capture : 1;
6049		u64 shift : 1;
6050		u64 update : 1;
6051		u64 reserved_42_60 : 19;
6052		u64 select : 2;
6053		u64 reserved_37_39 : 3;
6054		u64 shft_cnt : 5;
6055		u64 shft_reg : 32;
6056	} cn52xx;
6057	struct cvmx_ciu_qlm_jtgd_cn52xx cn52xxp1;
6058	struct cvmx_ciu_qlm_jtgd_cn56xx {
6059		u64 capture : 1;
6060		u64 shift : 1;
6061		u64 update : 1;
6062		u64 reserved_44_60 : 17;
6063		u64 select : 4;
6064		u64 reserved_37_39 : 3;
6065		u64 shft_cnt : 5;
6066		u64 shft_reg : 32;
6067	} cn56xx;
6068	struct cvmx_ciu_qlm_jtgd_cn56xxp1 {
6069		u64 capture : 1;
6070		u64 shift : 1;
6071		u64 update : 1;
6072		u64 reserved_37_60 : 24;
6073		u64 shft_cnt : 5;
6074		u64 shft_reg : 32;
6075	} cn56xxp1;
6076	struct cvmx_ciu_qlm_jtgd_cn61xx {
6077		u64 capture : 1;
6078		u64 shift : 1;
6079		u64 update : 1;
6080		u64 reserved_43_60 : 18;
6081		u64 select : 3;
6082		u64 reserved_37_39 : 3;
6083		u64 shft_cnt : 5;
6084		u64 shft_reg : 32;
6085	} cn61xx;
6086	struct cvmx_ciu_qlm_jtgd_cn61xx cn63xx;
6087	struct cvmx_ciu_qlm_jtgd_cn61xx cn63xxp1;
6088	struct cvmx_ciu_qlm_jtgd_cn61xx cn66xx;
6089	struct cvmx_ciu_qlm_jtgd_s cn68xx;
6090	struct cvmx_ciu_qlm_jtgd_s cn68xxp1;
6091	struct cvmx_ciu_qlm_jtgd_cn61xx cnf71xx;
6092};
6093
6094typedef union cvmx_ciu_qlm_jtgd cvmx_ciu_qlm_jtgd_t;
6095
6096/**
6097 * cvmx_ciu_soft_bist
6098 */
6099union cvmx_ciu_soft_bist {
6100	u64 u64;
6101	struct cvmx_ciu_soft_bist_s {
6102		u64 reserved_1_63 : 63;
6103		u64 soft_bist : 1;
6104	} s;
6105	struct cvmx_ciu_soft_bist_s cn30xx;
6106	struct cvmx_ciu_soft_bist_s cn31xx;
6107	struct cvmx_ciu_soft_bist_s cn38xx;
6108	struct cvmx_ciu_soft_bist_s cn38xxp2;
6109	struct cvmx_ciu_soft_bist_s cn50xx;
6110	struct cvmx_ciu_soft_bist_s cn52xx;
6111	struct cvmx_ciu_soft_bist_s cn52xxp1;
6112	struct cvmx_ciu_soft_bist_s cn56xx;
6113	struct cvmx_ciu_soft_bist_s cn56xxp1;
6114	struct cvmx_ciu_soft_bist_s cn58xx;
6115	struct cvmx_ciu_soft_bist_s cn58xxp1;
6116	struct cvmx_ciu_soft_bist_s cn61xx;
6117	struct cvmx_ciu_soft_bist_s cn63xx;
6118	struct cvmx_ciu_soft_bist_s cn63xxp1;
6119	struct cvmx_ciu_soft_bist_s cn66xx;
6120	struct cvmx_ciu_soft_bist_s cn68xx;
6121	struct cvmx_ciu_soft_bist_s cn68xxp1;
6122	struct cvmx_ciu_soft_bist_s cn70xx;
6123	struct cvmx_ciu_soft_bist_s cn70xxp1;
6124	struct cvmx_ciu_soft_bist_s cnf71xx;
6125};
6126
6127typedef union cvmx_ciu_soft_bist cvmx_ciu_soft_bist_t;
6128
6129/**
6130 * cvmx_ciu_soft_prst
6131 */
6132union cvmx_ciu_soft_prst {
6133	u64 u64;
6134	struct cvmx_ciu_soft_prst_s {
6135		u64 reserved_3_63 : 61;
6136		u64 host64 : 1;
6137		u64 npi : 1;
6138		u64 soft_prst : 1;
6139	} s;
6140	struct cvmx_ciu_soft_prst_s cn30xx;
6141	struct cvmx_ciu_soft_prst_s cn31xx;
6142	struct cvmx_ciu_soft_prst_s cn38xx;
6143	struct cvmx_ciu_soft_prst_s cn38xxp2;
6144	struct cvmx_ciu_soft_prst_s cn50xx;
6145	struct cvmx_ciu_soft_prst_cn52xx {
6146		u64 reserved_1_63 : 63;
6147		u64 soft_prst : 1;
6148	} cn52xx;
6149	struct cvmx_ciu_soft_prst_cn52xx cn52xxp1;
6150	struct cvmx_ciu_soft_prst_cn52xx cn56xx;
6151	struct cvmx_ciu_soft_prst_cn52xx cn56xxp1;
6152	struct cvmx_ciu_soft_prst_s cn58xx;
6153	struct cvmx_ciu_soft_prst_s cn58xxp1;
6154	struct cvmx_ciu_soft_prst_cn52xx cn61xx;
6155	struct cvmx_ciu_soft_prst_cn52xx cn63xx;
6156	struct cvmx_ciu_soft_prst_cn52xx cn63xxp1;
6157	struct cvmx_ciu_soft_prst_cn52xx cn66xx;
6158	struct cvmx_ciu_soft_prst_cn52xx cn68xx;
6159	struct cvmx_ciu_soft_prst_cn52xx cn68xxp1;
6160	struct cvmx_ciu_soft_prst_cn52xx cnf71xx;
6161};
6162
6163typedef union cvmx_ciu_soft_prst cvmx_ciu_soft_prst_t;
6164
6165/**
6166 * cvmx_ciu_soft_prst1
6167 */
6168union cvmx_ciu_soft_prst1 {
6169	u64 u64;
6170	struct cvmx_ciu_soft_prst1_s {
6171		u64 reserved_1_63 : 63;
6172		u64 soft_prst : 1;
6173	} s;
6174	struct cvmx_ciu_soft_prst1_s cn52xx;
6175	struct cvmx_ciu_soft_prst1_s cn52xxp1;
6176	struct cvmx_ciu_soft_prst1_s cn56xx;
6177	struct cvmx_ciu_soft_prst1_s cn56xxp1;
6178	struct cvmx_ciu_soft_prst1_s cn61xx;
6179	struct cvmx_ciu_soft_prst1_s cn63xx;
6180	struct cvmx_ciu_soft_prst1_s cn63xxp1;
6181	struct cvmx_ciu_soft_prst1_s cn66xx;
6182	struct cvmx_ciu_soft_prst1_s cn68xx;
6183	struct cvmx_ciu_soft_prst1_s cn68xxp1;
6184	struct cvmx_ciu_soft_prst1_s cnf71xx;
6185};
6186
6187typedef union cvmx_ciu_soft_prst1 cvmx_ciu_soft_prst1_t;
6188
6189/**
6190 * cvmx_ciu_soft_prst2
6191 */
6192union cvmx_ciu_soft_prst2 {
6193	u64 u64;
6194	struct cvmx_ciu_soft_prst2_s {
6195		u64 reserved_1_63 : 63;
6196		u64 soft_prst : 1;
6197	} s;
6198	struct cvmx_ciu_soft_prst2_s cn66xx;
6199};
6200
6201typedef union cvmx_ciu_soft_prst2 cvmx_ciu_soft_prst2_t;
6202
6203/**
6204 * cvmx_ciu_soft_prst3
6205 */
6206union cvmx_ciu_soft_prst3 {
6207	u64 u64;
6208	struct cvmx_ciu_soft_prst3_s {
6209		u64 reserved_1_63 : 63;
6210		u64 soft_prst : 1;
6211	} s;
6212	struct cvmx_ciu_soft_prst3_s cn66xx;
6213};
6214
6215typedef union cvmx_ciu_soft_prst3 cvmx_ciu_soft_prst3_t;
6216
6217/**
6218 * cvmx_ciu_soft_rst
6219 */
6220union cvmx_ciu_soft_rst {
6221	u64 u64;
6222	struct cvmx_ciu_soft_rst_s {
6223		u64 reserved_1_63 : 63;
6224		u64 soft_rst : 1;
6225	} s;
6226	struct cvmx_ciu_soft_rst_s cn30xx;
6227	struct cvmx_ciu_soft_rst_s cn31xx;
6228	struct cvmx_ciu_soft_rst_s cn38xx;
6229	struct cvmx_ciu_soft_rst_s cn38xxp2;
6230	struct cvmx_ciu_soft_rst_s cn50xx;
6231	struct cvmx_ciu_soft_rst_s cn52xx;
6232	struct cvmx_ciu_soft_rst_s cn52xxp1;
6233	struct cvmx_ciu_soft_rst_s cn56xx;
6234	struct cvmx_ciu_soft_rst_s cn56xxp1;
6235	struct cvmx_ciu_soft_rst_s cn58xx;
6236	struct cvmx_ciu_soft_rst_s cn58xxp1;
6237	struct cvmx_ciu_soft_rst_s cn61xx;
6238	struct cvmx_ciu_soft_rst_s cn63xx;
6239	struct cvmx_ciu_soft_rst_s cn63xxp1;
6240	struct cvmx_ciu_soft_rst_s cn66xx;
6241	struct cvmx_ciu_soft_rst_s cn68xx;
6242	struct cvmx_ciu_soft_rst_s cn68xxp1;
6243	struct cvmx_ciu_soft_rst_s cnf71xx;
6244};
6245
6246typedef union cvmx_ciu_soft_rst cvmx_ciu_soft_rst_t;
6247
6248/**
6249 * cvmx_ciu_sum1_io#_int
6250 *
6251 * CIU_SUM1_IO0_INT is for PEM0, CIU_SUM1_IO1_INT is reserved.
6252 *
6253 */
6254union cvmx_ciu_sum1_iox_int {
6255	u64 u64;
6256	struct cvmx_ciu_sum1_iox_int_s {
6257		u64 rst : 1;
6258		u64 reserved_62_62 : 1;
6259		u64 srio3 : 1;
6260		u64 srio2 : 1;
6261		u64 reserved_57_59 : 3;
6262		u64 dfm : 1;
6263		u64 reserved_53_55 : 3;
6264		u64 lmc0 : 1;
6265		u64 reserved_50_51 : 2;
6266		u64 pem1 : 1;
6267		u64 pem0 : 1;
6268		u64 ptp : 1;
6269		u64 agl : 1;
6270		u64 reserved_41_45 : 5;
6271		u64 dpi_dma : 1;
6272		u64 reserved_38_39 : 2;
6273		u64 agx1 : 1;
6274		u64 agx0 : 1;
6275		u64 dpi : 1;
6276		u64 sli : 1;
6277		u64 usb : 1;
6278		u64 dfa : 1;
6279		u64 key : 1;
6280		u64 rad : 1;
6281		u64 tim : 1;
6282		u64 zip : 1;
6283		u64 pko : 1;
6284		u64 pip : 1;
6285		u64 ipd : 1;
6286		u64 l2c : 1;
6287		u64 pow : 1;
6288		u64 fpa : 1;
6289		u64 iob : 1;
6290		u64 mio : 1;
6291		u64 nand : 1;
6292		u64 mii1 : 1;
6293		u64 usb1 : 1;
6294		u64 reserved_10_16 : 7;
6295		u64 wdog : 10;
6296	} s;
6297	struct cvmx_ciu_sum1_iox_int_cn61xx {
6298		u64 rst : 1;
6299		u64 reserved_53_62 : 10;
6300		u64 lmc0 : 1;
6301		u64 reserved_50_51 : 2;
6302		u64 pem1 : 1;
6303		u64 pem0 : 1;
6304		u64 ptp : 1;
6305		u64 agl : 1;
6306		u64 reserved_41_45 : 5;
6307		u64 dpi_dma : 1;
6308		u64 reserved_38_39 : 2;
6309		u64 agx1 : 1;
6310		u64 agx0 : 1;
6311		u64 dpi : 1;
6312		u64 sli : 1;
6313		u64 usb : 1;
6314		u64 dfa : 1;
6315		u64 key : 1;
6316		u64 rad : 1;
6317		u64 tim : 1;
6318		u64 zip : 1;
6319		u64 pko : 1;
6320		u64 pip : 1;
6321		u64 ipd : 1;
6322		u64 l2c : 1;
6323		u64 pow : 1;
6324		u64 fpa : 1;
6325		u64 iob : 1;
6326		u64 mio : 1;
6327		u64 nand : 1;
6328		u64 mii1 : 1;
6329		u64 reserved_4_17 : 14;
6330		u64 wdog : 4;
6331	} cn61xx;
6332	struct cvmx_ciu_sum1_iox_int_cn66xx {
6333		u64 rst : 1;
6334		u64 reserved_62_62 : 1;
6335		u64 srio3 : 1;
6336		u64 srio2 : 1;
6337		u64 reserved_57_59 : 3;
6338		u64 dfm : 1;
6339		u64 reserved_53_55 : 3;
6340		u64 lmc0 : 1;
6341		u64 reserved_51_51 : 1;
6342		u64 srio0 : 1;
6343		u64 pem1 : 1;
6344		u64 pem0 : 1;
6345		u64 ptp : 1;
6346		u64 agl : 1;
6347		u64 reserved_38_45 : 8;
6348		u64 agx1 : 1;
6349		u64 agx0 : 1;
6350		u64 dpi : 1;
6351		u64 sli : 1;
6352		u64 usb : 1;
6353		u64 dfa : 1;
6354		u64 key : 1;
6355		u64 rad : 1;
6356		u64 tim : 1;
6357		u64 zip : 1;
6358		u64 pko : 1;
6359		u64 pip : 1;
6360		u64 ipd : 1;
6361		u64 l2c : 1;
6362		u64 pow : 1;
6363		u64 fpa : 1;
6364		u64 iob : 1;
6365		u64 mio : 1;
6366		u64 nand : 1;
6367		u64 mii1 : 1;
6368		u64 reserved_10_17 : 8;
6369		u64 wdog : 10;
6370	} cn66xx;
6371	struct cvmx_ciu_sum1_iox_int_cn70xx {
6372		u64 rst : 1;
6373		u64 reserved_53_62 : 10;
6374		u64 lmc0 : 1;
6375		u64 reserved_51_51 : 1;
6376		u64 pem2 : 1;
6377		u64 pem1 : 1;
6378		u64 pem0 : 1;
6379		u64 ptp : 1;
6380		u64 agl : 1;
6381		u64 reserved_41_45 : 5;
6382		u64 dpi_dma : 1;
6383		u64 reserved_38_39 : 2;
6384		u64 agx1 : 1;
6385		u64 agx0 : 1;
6386		u64 dpi : 1;
6387		u64 sli : 1;
6388		u64 usb : 1;
6389		u64 dfa : 1;
6390		u64 key : 1;
6391		u64 rad : 1;
6392		u64 tim : 1;
6393		u64 reserved_28_28 : 1;
6394		u64 pko : 1;
6395		u64 pip : 1;
6396		u64 ipd : 1;
6397		u64 l2c : 1;
6398		u64 pow : 1;
6399		u64 fpa : 1;
6400		u64 iob : 1;
6401		u64 mio : 1;
6402		u64 nand : 1;
6403		u64 reserved_18_18 : 1;
6404		u64 usb1 : 1;
6405		u64 reserved_4_16 : 13;
6406		u64 wdog : 4;
6407	} cn70xx;
6408	struct cvmx_ciu_sum1_iox_int_cn70xx cn70xxp1;
6409	struct cvmx_ciu_sum1_iox_int_cnf71xx {
6410		u64 rst : 1;
6411		u64 reserved_53_62 : 10;
6412		u64 lmc0 : 1;
6413		u64 reserved_50_51 : 2;
6414		u64 pem1 : 1;
6415		u64 pem0 : 1;
6416		u64 ptp : 1;
6417		u64 reserved_41_46 : 6;
6418		u64 dpi_dma : 1;
6419		u64 reserved_37_39 : 3;
6420		u64 agx0 : 1;
6421		u64 dpi : 1;
6422		u64 sli : 1;
6423		u64 usb : 1;
6424		u64 reserved_32_32 : 1;
6425		u64 key : 1;
6426		u64 rad : 1;
6427		u64 tim : 1;
6428		u64 reserved_28_28 : 1;
6429		u64 pko : 1;
6430		u64 pip : 1;
6431		u64 ipd : 1;
6432		u64 l2c : 1;
6433		u64 pow : 1;
6434		u64 fpa : 1;
6435		u64 iob : 1;
6436		u64 mio : 1;
6437		u64 nand : 1;
6438		u64 reserved_4_18 : 15;
6439		u64 wdog : 4;
6440	} cnf71xx;
6441};
6442
6443typedef union cvmx_ciu_sum1_iox_int cvmx_ciu_sum1_iox_int_t;
6444
6445/**
6446 * cvmx_ciu_sum1_pp#_ip2
6447 *
6448 * SUM1 becomes per IPx in o65/6 and afterwards. Only Field <40> DPI_DMA will have
6449 * different value per PP(IP) for  $CIU_SUM1_PPx_IPy, and <40> DPI_DMA will always
6450 * be zero for  $CIU_SUM1_IOX_INT. All other fields ([63:41] and [39:0]) values  are idential for
6451 * different PPs, same value as $CIU_INT_SUM1.
6452 * Write to any IRQ's PTP fields will clear PTP for all IRQ's PTP field.
6453 */
6454union cvmx_ciu_sum1_ppx_ip2 {
6455	u64 u64;
6456	struct cvmx_ciu_sum1_ppx_ip2_s {
6457		u64 rst : 1;
6458		u64 reserved_62_62 : 1;
6459		u64 srio3 : 1;
6460		u64 srio2 : 1;
6461		u64 reserved_57_59 : 3;
6462		u64 dfm : 1;
6463		u64 reserved_53_55 : 3;
6464		u64 lmc0 : 1;
6465		u64 reserved_50_51 : 2;
6466		u64 pem1 : 1;
6467		u64 pem0 : 1;
6468		u64 ptp : 1;
6469		u64 agl : 1;
6470		u64 reserved_41_45 : 5;
6471		u64 dpi_dma : 1;
6472		u64 reserved_38_39 : 2;
6473		u64 agx1 : 1;
6474		u64 agx0 : 1;
6475		u64 dpi : 1;
6476		u64 sli : 1;
6477		u64 usb : 1;
6478		u64 dfa : 1;
6479		u64 key : 1;
6480		u64 rad : 1;
6481		u64 tim : 1;
6482		u64 zip : 1;
6483		u64 pko : 1;
6484		u64 pip : 1;
6485		u64 ipd : 1;
6486		u64 l2c : 1;
6487		u64 pow : 1;
6488		u64 fpa : 1;
6489		u64 iob : 1;
6490		u64 mio : 1;
6491		u64 nand : 1;
6492		u64 mii1 : 1;
6493		u64 usb1 : 1;
6494		u64 reserved_10_16 : 7;
6495		u64 wdog : 10;
6496	} s;
6497	struct cvmx_ciu_sum1_ppx_ip2_cn61xx {
6498		u64 rst : 1;
6499		u64 reserved_53_62 : 10;
6500		u64 lmc0 : 1;
6501		u64 reserved_50_51 : 2;
6502		u64 pem1 : 1;
6503		u64 pem0 : 1;
6504		u64 ptp : 1;
6505		u64 agl : 1;
6506		u64 reserved_41_45 : 5;
6507		u64 dpi_dma : 1;
6508		u64 reserved_38_39 : 2;
6509		u64 agx1 : 1;
6510		u64 agx0 : 1;
6511		u64 dpi : 1;
6512		u64 sli : 1;
6513		u64 usb : 1;
6514		u64 dfa : 1;
6515		u64 key : 1;
6516		u64 rad : 1;
6517		u64 tim : 1;
6518		u64 zip : 1;
6519		u64 pko : 1;
6520		u64 pip : 1;
6521		u64 ipd : 1;
6522		u64 l2c : 1;
6523		u64 pow : 1;
6524		u64 fpa : 1;
6525		u64 iob : 1;
6526		u64 mio : 1;
6527		u64 nand : 1;
6528		u64 mii1 : 1;
6529		u64 reserved_4_17 : 14;
6530		u64 wdog : 4;
6531	} cn61xx;
6532	struct cvmx_ciu_sum1_ppx_ip2_cn66xx {
6533		u64 rst : 1;
6534		u64 reserved_62_62 : 1;
6535		u64 srio3 : 1;
6536		u64 srio2 : 1;
6537		u64 reserved_57_59 : 3;
6538		u64 dfm : 1;
6539		u64 reserved_53_55 : 3;
6540		u64 lmc0 : 1;
6541		u64 reserved_51_51 : 1;
6542		u64 srio0 : 1;
6543		u64 pem1 : 1;
6544		u64 pem0 : 1;
6545		u64 ptp : 1;
6546		u64 agl : 1;
6547		u64 reserved_38_45 : 8;
6548		u64 agx1 : 1;
6549		u64 agx0 : 1;
6550		u64 dpi : 1;
6551		u64 sli : 1;
6552		u64 usb : 1;
6553		u64 dfa : 1;
6554		u64 key : 1;
6555		u64 rad : 1;
6556		u64 tim : 1;
6557		u64 zip : 1;
6558		u64 pko : 1;
6559		u64 pip : 1;
6560		u64 ipd : 1;
6561		u64 l2c : 1;
6562		u64 pow : 1;
6563		u64 fpa : 1;
6564		u64 iob : 1;
6565		u64 mio : 1;
6566		u64 nand : 1;
6567		u64 mii1 : 1;
6568		u64 reserved_10_17 : 8;
6569		u64 wdog : 10;
6570	} cn66xx;
6571	struct cvmx_ciu_sum1_ppx_ip2_cn70xx {
6572		u64 rst : 1;
6573		u64 reserved_53_62 : 10;
6574		u64 lmc0 : 1;
6575		u64 reserved_51_51 : 1;
6576		u64 pem2 : 1;
6577		u64 pem1 : 1;
6578		u64 pem0 : 1;
6579		u64 ptp : 1;
6580		u64 agl : 1;
6581		u64 reserved_41_45 : 5;
6582		u64 dpi_dma : 1;
6583		u64 reserved_38_39 : 2;
6584		u64 agx1 : 1;
6585		u64 agx0 : 1;
6586		u64 dpi : 1;
6587		u64 sli : 1;
6588		u64 usb : 1;
6589		u64 dfa : 1;
6590		u64 key : 1;
6591		u64 rad : 1;
6592		u64 tim : 1;
6593		u64 reserved_28_28 : 1;
6594		u64 pko : 1;
6595		u64 pip : 1;
6596		u64 ipd : 1;
6597		u64 l2c : 1;
6598		u64 pow : 1;
6599		u64 fpa : 1;
6600		u64 iob : 1;
6601		u64 mio : 1;
6602		u64 nand : 1;
6603		u64 reserved_18_18 : 1;
6604		u64 usb1 : 1;
6605		u64 reserved_4_16 : 13;
6606		u64 wdog : 4;
6607	} cn70xx;
6608	struct cvmx_ciu_sum1_ppx_ip2_cn70xx cn70xxp1;
6609	struct cvmx_ciu_sum1_ppx_ip2_cnf71xx {
6610		u64 rst : 1;
6611		u64 reserved_53_62 : 10;
6612		u64 lmc0 : 1;
6613		u64 reserved_50_51 : 2;
6614		u64 pem1 : 1;
6615		u64 pem0 : 1;
6616		u64 ptp : 1;
6617		u64 reserved_41_46 : 6;
6618		u64 dpi_dma : 1;
6619		u64 reserved_37_39 : 3;
6620		u64 agx0 : 1;
6621		u64 dpi : 1;
6622		u64 sli : 1;
6623		u64 usb : 1;
6624		u64 reserved_32_32 : 1;
6625		u64 key : 1;
6626		u64 rad : 1;
6627		u64 tim : 1;
6628		u64 reserved_28_28 : 1;
6629		u64 pko : 1;
6630		u64 pip : 1;
6631		u64 ipd : 1;
6632		u64 l2c : 1;
6633		u64 pow : 1;
6634		u64 fpa : 1;
6635		u64 iob : 1;
6636		u64 mio : 1;
6637		u64 nand : 1;
6638		u64 reserved_4_18 : 15;
6639		u64 wdog : 4;
6640	} cnf71xx;
6641};
6642
6643typedef union cvmx_ciu_sum1_ppx_ip2 cvmx_ciu_sum1_ppx_ip2_t;
6644
6645/**
6646 * cvmx_ciu_sum1_pp#_ip3
6647 *
6648 * Notes:
6649 * SUM1 becomes per IPx in o65/6 and afterwards. Only Field <40> DPI_DMA will have
6650 * different value per PP(IP) for  $CIU_SUM1_PPx_IPy, and <40> DPI_DMA will always
6651 * be zero for  $CIU_SUM1_IOX_INT. All other fields ([63:41] and [39:0]) values  are idential for
6652 * different PPs, same value as $CIU_INT_SUM1.
6653 * Write to any IRQ's PTP fields will clear PTP for all IRQ's PTP field.
6654 */
6655union cvmx_ciu_sum1_ppx_ip3 {
6656	u64 u64;
6657	struct cvmx_ciu_sum1_ppx_ip3_s {
6658		u64 rst : 1;
6659		u64 reserved_62_62 : 1;
6660		u64 srio3 : 1;
6661		u64 srio2 : 1;
6662		u64 reserved_57_59 : 3;
6663		u64 dfm : 1;
6664		u64 reserved_53_55 : 3;
6665		u64 lmc0 : 1;
6666		u64 reserved_50_51 : 2;
6667		u64 pem1 : 1;
6668		u64 pem0 : 1;
6669		u64 ptp : 1;
6670		u64 agl : 1;
6671		u64 reserved_41_45 : 5;
6672		u64 dpi_dma : 1;
6673		u64 reserved_38_39 : 2;
6674		u64 agx1 : 1;
6675		u64 agx0 : 1;
6676		u64 dpi : 1;
6677		u64 sli : 1;
6678		u64 usb : 1;
6679		u64 dfa : 1;
6680		u64 key : 1;
6681		u64 rad : 1;
6682		u64 tim : 1;
6683		u64 zip : 1;
6684		u64 pko : 1;
6685		u64 pip : 1;
6686		u64 ipd : 1;
6687		u64 l2c : 1;
6688		u64 pow : 1;
6689		u64 fpa : 1;
6690		u64 iob : 1;
6691		u64 mio : 1;
6692		u64 nand : 1;
6693		u64 mii1 : 1;
6694		u64 usb1 : 1;
6695		u64 reserved_10_16 : 7;
6696		u64 wdog : 10;
6697	} s;
6698	struct cvmx_ciu_sum1_ppx_ip3_cn61xx {
6699		u64 rst : 1;
6700		u64 reserved_53_62 : 10;
6701		u64 lmc0 : 1;
6702		u64 reserved_50_51 : 2;
6703		u64 pem1 : 1;
6704		u64 pem0 : 1;
6705		u64 ptp : 1;
6706		u64 agl : 1;
6707		u64 reserved_41_45 : 5;
6708		u64 dpi_dma : 1;
6709		u64 reserved_38_39 : 2;
6710		u64 agx1 : 1;
6711		u64 agx0 : 1;
6712		u64 dpi : 1;
6713		u64 sli : 1;
6714		u64 usb : 1;
6715		u64 dfa : 1;
6716		u64 key : 1;
6717		u64 rad : 1;
6718		u64 tim : 1;
6719		u64 zip : 1;
6720		u64 pko : 1;
6721		u64 pip : 1;
6722		u64 ipd : 1;
6723		u64 l2c : 1;
6724		u64 pow : 1;
6725		u64 fpa : 1;
6726		u64 iob : 1;
6727		u64 mio : 1;
6728		u64 nand : 1;
6729		u64 mii1 : 1;
6730		u64 reserved_4_17 : 14;
6731		u64 wdog : 4;
6732	} cn61xx;
6733	struct cvmx_ciu_sum1_ppx_ip3_cn66xx {
6734		u64 rst : 1;
6735		u64 reserved_62_62 : 1;
6736		u64 srio3 : 1;
6737		u64 srio2 : 1;
6738		u64 reserved_57_59 : 3;
6739		u64 dfm : 1;
6740		u64 reserved_53_55 : 3;
6741		u64 lmc0 : 1;
6742		u64 reserved_51_51 : 1;
6743		u64 srio0 : 1;
6744		u64 pem1 : 1;
6745		u64 pem0 : 1;
6746		u64 ptp : 1;
6747		u64 agl : 1;
6748		u64 reserved_38_45 : 8;
6749		u64 agx1 : 1;
6750		u64 agx0 : 1;
6751		u64 dpi : 1;
6752		u64 sli : 1;
6753		u64 usb : 1;
6754		u64 dfa : 1;
6755		u64 key : 1;
6756		u64 rad : 1;
6757		u64 tim : 1;
6758		u64 zip : 1;
6759		u64 pko : 1;
6760		u64 pip : 1;
6761		u64 ipd : 1;
6762		u64 l2c : 1;
6763		u64 pow : 1;
6764		u64 fpa : 1;
6765		u64 iob : 1;
6766		u64 mio : 1;
6767		u64 nand : 1;
6768		u64 mii1 : 1;
6769		u64 reserved_10_17 : 8;
6770		u64 wdog : 10;
6771	} cn66xx;
6772	struct cvmx_ciu_sum1_ppx_ip3_cn70xx {
6773		u64 rst : 1;
6774		u64 reserved_53_62 : 10;
6775		u64 lmc0 : 1;
6776		u64 reserved_51_51 : 1;
6777		u64 pem2 : 1;
6778		u64 pem1 : 1;
6779		u64 pem0 : 1;
6780		u64 ptp : 1;
6781		u64 agl : 1;
6782		u64 reserved_41_45 : 5;
6783		u64 dpi_dma : 1;
6784		u64 reserved_38_39 : 2;
6785		u64 agx1 : 1;
6786		u64 agx0 : 1;
6787		u64 dpi : 1;
6788		u64 sli : 1;
6789		u64 usb : 1;
6790		u64 dfa : 1;
6791		u64 key : 1;
6792		u64 rad : 1;
6793		u64 tim : 1;
6794		u64 reserved_28_28 : 1;
6795		u64 pko : 1;
6796		u64 pip : 1;
6797		u64 ipd : 1;
6798		u64 l2c : 1;
6799		u64 pow : 1;
6800		u64 fpa : 1;
6801		u64 iob : 1;
6802		u64 mio : 1;
6803		u64 nand : 1;
6804		u64 reserved_18_18 : 1;
6805		u64 usb1 : 1;
6806		u64 reserved_4_16 : 13;
6807		u64 wdog : 4;
6808	} cn70xx;
6809	struct cvmx_ciu_sum1_ppx_ip3_cn70xx cn70xxp1;
6810	struct cvmx_ciu_sum1_ppx_ip3_cnf71xx {
6811		u64 rst : 1;
6812		u64 reserved_53_62 : 10;
6813		u64 lmc0 : 1;
6814		u64 reserved_50_51 : 2;
6815		u64 pem1 : 1;
6816		u64 pem0 : 1;
6817		u64 ptp : 1;
6818		u64 reserved_41_46 : 6;
6819		u64 dpi_dma : 1;
6820		u64 reserved_37_39 : 3;
6821		u64 agx0 : 1;
6822		u64 dpi : 1;
6823		u64 sli : 1;
6824		u64 usb : 1;
6825		u64 reserved_32_32 : 1;
6826		u64 key : 1;
6827		u64 rad : 1;
6828		u64 tim : 1;
6829		u64 reserved_28_28 : 1;
6830		u64 pko : 1;
6831		u64 pip : 1;
6832		u64 ipd : 1;
6833		u64 l2c : 1;
6834		u64 pow : 1;
6835		u64 fpa : 1;
6836		u64 iob : 1;
6837		u64 mio : 1;
6838		u64 nand : 1;
6839		u64 reserved_4_18 : 15;
6840		u64 wdog : 4;
6841	} cnf71xx;
6842};
6843
6844typedef union cvmx_ciu_sum1_ppx_ip3 cvmx_ciu_sum1_ppx_ip3_t;
6845
6846/**
6847 * cvmx_ciu_sum1_pp#_ip4
6848 *
6849 * Notes:
6850 * SUM1 becomes per IPx in o65/6 and afterwards. Only Field <40> DPI_DMA will have
6851 * different value per PP(IP) for  $CIU_SUM1_PPx_IPy, and <40> DPI_DMA will always
6852 * be zero for  $CIU_SUM1_IOX_INT. All other fields ([63:41] and [39:0]) values  are idential for
6853 * different PPs, same value as $CIU_INT_SUM1.
6854 * Write to any IRQ's PTP fields will clear PTP for all IRQ's PTP field.
6855 */
6856union cvmx_ciu_sum1_ppx_ip4 {
6857	u64 u64;
6858	struct cvmx_ciu_sum1_ppx_ip4_s {
6859		u64 rst : 1;
6860		u64 reserved_62_62 : 1;
6861		u64 srio3 : 1;
6862		u64 srio2 : 1;
6863		u64 reserved_57_59 : 3;
6864		u64 dfm : 1;
6865		u64 reserved_53_55 : 3;
6866		u64 lmc0 : 1;
6867		u64 reserved_50_51 : 2;
6868		u64 pem1 : 1;
6869		u64 pem0 : 1;
6870		u64 ptp : 1;
6871		u64 agl : 1;
6872		u64 reserved_41_45 : 5;
6873		u64 dpi_dma : 1;
6874		u64 reserved_38_39 : 2;
6875		u64 agx1 : 1;
6876		u64 agx0 : 1;
6877		u64 dpi : 1;
6878		u64 sli : 1;
6879		u64 usb : 1;
6880		u64 dfa : 1;
6881		u64 key : 1;
6882		u64 rad : 1;
6883		u64 tim : 1;
6884		u64 zip : 1;
6885		u64 pko : 1;
6886		u64 pip : 1;
6887		u64 ipd : 1;
6888		u64 l2c : 1;
6889		u64 pow : 1;
6890		u64 fpa : 1;
6891		u64 iob : 1;
6892		u64 mio : 1;
6893		u64 nand : 1;
6894		u64 mii1 : 1;
6895		u64 usb1 : 1;
6896		u64 reserved_10_16 : 7;
6897		u64 wdog : 10;
6898	} s;
6899	struct cvmx_ciu_sum1_ppx_ip4_cn61xx {
6900		u64 rst : 1;
6901		u64 reserved_53_62 : 10;
6902		u64 lmc0 : 1;
6903		u64 reserved_50_51 : 2;
6904		u64 pem1 : 1;
6905		u64 pem0 : 1;
6906		u64 ptp : 1;
6907		u64 agl : 1;
6908		u64 reserved_41_45 : 5;
6909		u64 dpi_dma : 1;
6910		u64 reserved_38_39 : 2;
6911		u64 agx1 : 1;
6912		u64 agx0 : 1;
6913		u64 dpi : 1;
6914		u64 sli : 1;
6915		u64 usb : 1;
6916		u64 dfa : 1;
6917		u64 key : 1;
6918		u64 rad : 1;
6919		u64 tim : 1;
6920		u64 zip : 1;
6921		u64 pko : 1;
6922		u64 pip : 1;
6923		u64 ipd : 1;
6924		u64 l2c : 1;
6925		u64 pow : 1;
6926		u64 fpa : 1;
6927		u64 iob : 1;
6928		u64 mio : 1;
6929		u64 nand : 1;
6930		u64 mii1 : 1;
6931		u64 reserved_4_17 : 14;
6932		u64 wdog : 4;
6933	} cn61xx;
6934	struct cvmx_ciu_sum1_ppx_ip4_cn66xx {
6935		u64 rst : 1;
6936		u64 reserved_62_62 : 1;
6937		u64 srio3 : 1;
6938		u64 srio2 : 1;
6939		u64 reserved_57_59 : 3;
6940		u64 dfm : 1;
6941		u64 reserved_53_55 : 3;
6942		u64 lmc0 : 1;
6943		u64 reserved_51_51 : 1;
6944		u64 srio0 : 1;
6945		u64 pem1 : 1;
6946		u64 pem0 : 1;
6947		u64 ptp : 1;
6948		u64 agl : 1;
6949		u64 reserved_38_45 : 8;
6950		u64 agx1 : 1;
6951		u64 agx0 : 1;
6952		u64 dpi : 1;
6953		u64 sli : 1;
6954		u64 usb : 1;
6955		u64 dfa : 1;
6956		u64 key : 1;
6957		u64 rad : 1;
6958		u64 tim : 1;
6959		u64 zip : 1;
6960		u64 pko : 1;
6961		u64 pip : 1;
6962		u64 ipd : 1;
6963		u64 l2c : 1;
6964		u64 pow : 1;
6965		u64 fpa : 1;
6966		u64 iob : 1;
6967		u64 mio : 1;
6968		u64 nand : 1;
6969		u64 mii1 : 1;
6970		u64 reserved_10_17 : 8;
6971		u64 wdog : 10;
6972	} cn66xx;
6973	struct cvmx_ciu_sum1_ppx_ip4_cn70xx {
6974		u64 rst : 1;
6975		u64 reserved_53_62 : 10;
6976		u64 lmc0 : 1;
6977		u64 reserved_51_51 : 1;
6978		u64 pem2 : 1;
6979		u64 pem1 : 1;
6980		u64 pem0 : 1;
6981		u64 ptp : 1;
6982		u64 agl : 1;
6983		u64 reserved_41_45 : 5;
6984		u64 dpi_dma : 1;
6985		u64 reserved_38_39 : 2;
6986		u64 agx1 : 1;
6987		u64 agx0 : 1;
6988		u64 dpi : 1;
6989		u64 sli : 1;
6990		u64 usb : 1;
6991		u64 dfa : 1;
6992		u64 key : 1;
6993		u64 rad : 1;
6994		u64 tim : 1;
6995		u64 reserved_28_28 : 1;
6996		u64 pko : 1;
6997		u64 pip : 1;
6998		u64 ipd : 1;
6999		u64 l2c : 1;
7000		u64 pow : 1;
7001		u64 fpa : 1;
7002		u64 iob : 1;
7003		u64 mio : 1;
7004		u64 nand : 1;
7005		u64 reserved_18_18 : 1;
7006		u64 usb1 : 1;
7007		u64 reserved_4_16 : 13;
7008		u64 wdog : 4;
7009	} cn70xx;
7010	struct cvmx_ciu_sum1_ppx_ip4_cn70xx cn70xxp1;
7011	struct cvmx_ciu_sum1_ppx_ip4_cnf71xx {
7012		u64 rst : 1;
7013		u64 reserved_53_62 : 10;
7014		u64 lmc0 : 1;
7015		u64 reserved_50_51 : 2;
7016		u64 pem1 : 1;
7017		u64 pem0 : 1;
7018		u64 ptp : 1;
7019		u64 reserved_41_46 : 6;
7020		u64 dpi_dma : 1;
7021		u64 reserved_37_39 : 3;
7022		u64 agx0 : 1;
7023		u64 dpi : 1;
7024		u64 sli : 1;
7025		u64 usb : 1;
7026		u64 reserved_32_32 : 1;
7027		u64 key : 1;
7028		u64 rad : 1;
7029		u64 tim : 1;
7030		u64 reserved_28_28 : 1;
7031		u64 pko : 1;
7032		u64 pip : 1;
7033		u64 ipd : 1;
7034		u64 l2c : 1;
7035		u64 pow : 1;
7036		u64 fpa : 1;
7037		u64 iob : 1;
7038		u64 mio : 1;
7039		u64 nand : 1;
7040		u64 reserved_4_18 : 15;
7041		u64 wdog : 4;
7042	} cnf71xx;
7043};
7044
7045typedef union cvmx_ciu_sum1_ppx_ip4 cvmx_ciu_sum1_ppx_ip4_t;
7046
7047/**
7048 * cvmx_ciu_sum2_io#_int
7049 *
7050 * CIU_SUM2_IO0_INT is for PEM0, CIU_SUM2_IO1_INT is reserved.
7051 *
7052 */
7053union cvmx_ciu_sum2_iox_int {
7054	u64 u64;
7055	struct cvmx_ciu_sum2_iox_int_s {
7056		u64 reserved_20_63 : 44;
7057		u64 bch : 1;
7058		u64 agl_drp : 1;
7059		u64 ocla : 1;
7060		u64 sata : 1;
7061		u64 reserved_15_15 : 1;
7062		u64 endor : 2;
7063		u64 eoi : 1;
7064		u64 reserved_10_11 : 2;
7065		u64 timer : 6;
7066		u64 reserved_0_3 : 4;
7067	} s;
7068	struct cvmx_ciu_sum2_iox_int_cn61xx {
7069		u64 reserved_10_63 : 54;
7070		u64 timer : 6;
7071		u64 reserved_0_3 : 4;
7072	} cn61xx;
7073	struct cvmx_ciu_sum2_iox_int_cn61xx cn66xx;
7074	struct cvmx_ciu_sum2_iox_int_cn70xx {
7075		u64 reserved_20_63 : 44;
7076		u64 bch : 1;
7077		u64 agl_drp : 1;
7078		u64 ocla : 1;
7079		u64 sata : 1;
7080		u64 reserved_10_15 : 6;
7081		u64 timer : 6;
7082		u64 reserved_0_3 : 4;
7083	} cn70xx;
7084	struct cvmx_ciu_sum2_iox_int_cn70xx cn70xxp1;
7085	struct cvmx_ciu_sum2_iox_int_cnf71xx {
7086		u64 reserved_15_63 : 49;
7087		u64 endor : 2;
7088		u64 eoi : 1;
7089		u64 reserved_10_11 : 2;
7090		u64 timer : 6;
7091		u64 reserved_0_3 : 4;
7092	} cnf71xx;
7093};
7094
7095typedef union cvmx_ciu_sum2_iox_int cvmx_ciu_sum2_iox_int_t;
7096
7097/**
7098 * cvmx_ciu_sum2_pp#_ip2
7099 *
7100 * Only TIMER field may have different value per PP(IP).
7101 * All other fields  values  are idential for different PPs.
7102 */
7103union cvmx_ciu_sum2_ppx_ip2 {
7104	u64 u64;
7105	struct cvmx_ciu_sum2_ppx_ip2_s {
7106		u64 reserved_20_63 : 44;
7107		u64 bch : 1;
7108		u64 agl_drp : 1;
7109		u64 ocla : 1;
7110		u64 sata : 1;
7111		u64 reserved_15_15 : 1;
7112		u64 endor : 2;
7113		u64 eoi : 1;
7114		u64 reserved_10_11 : 2;
7115		u64 timer : 6;
7116		u64 reserved_0_3 : 4;
7117	} s;
7118	struct cvmx_ciu_sum2_ppx_ip2_cn61xx {
7119		u64 reserved_10_63 : 54;
7120		u64 timer : 6;
7121		u64 reserved_0_3 : 4;
7122	} cn61xx;
7123	struct cvmx_ciu_sum2_ppx_ip2_cn61xx cn66xx;
7124	struct cvmx_ciu_sum2_ppx_ip2_cn70xx {
7125		u64 reserved_20_63 : 44;
7126		u64 bch : 1;
7127		u64 agl_drp : 1;
7128		u64 ocla : 1;
7129		u64 sata : 1;
7130		u64 reserved_10_15 : 6;
7131		u64 timer : 6;
7132		u64 reserved_0_3 : 4;
7133	} cn70xx;
7134	struct cvmx_ciu_sum2_ppx_ip2_cn70xx cn70xxp1;
7135	struct cvmx_ciu_sum2_ppx_ip2_cnf71xx {
7136		u64 reserved_15_63 : 49;
7137		u64 endor : 2;
7138		u64 eoi : 1;
7139		u64 reserved_10_11 : 2;
7140		u64 timer : 6;
7141		u64 reserved_0_3 : 4;
7142	} cnf71xx;
7143};
7144
7145typedef union cvmx_ciu_sum2_ppx_ip2 cvmx_ciu_sum2_ppx_ip2_t;
7146
7147/**
7148 * cvmx_ciu_sum2_pp#_ip3
7149 *
7150 * Notes:
7151 * These SUM2 CSR's did not exist prior to pass 1.2. CIU_TIM4-9 did not exist prior to pass 1.2.
7152 *
7153 */
7154union cvmx_ciu_sum2_ppx_ip3 {
7155	u64 u64;
7156	struct cvmx_ciu_sum2_ppx_ip3_s {
7157		u64 reserved_20_63 : 44;
7158		u64 bch : 1;
7159		u64 agl_drp : 1;
7160		u64 ocla : 1;
7161		u64 sata : 1;
7162		u64 reserved_15_15 : 1;
7163		u64 endor : 2;
7164		u64 eoi : 1;
7165		u64 reserved_10_11 : 2;
7166		u64 timer : 6;
7167		u64 reserved_0_3 : 4;
7168	} s;
7169	struct cvmx_ciu_sum2_ppx_ip3_cn61xx {
7170		u64 reserved_10_63 : 54;
7171		u64 timer : 6;
7172		u64 reserved_0_3 : 4;
7173	} cn61xx;
7174	struct cvmx_ciu_sum2_ppx_ip3_cn61xx cn66xx;
7175	struct cvmx_ciu_sum2_ppx_ip3_cn70xx {
7176		u64 reserved_20_63 : 44;
7177		u64 bch : 1;
7178		u64 agl_drp : 1;
7179		u64 ocla : 1;
7180		u64 sata : 1;
7181		u64 reserved_10_15 : 6;
7182		u64 timer : 6;
7183		u64 reserved_0_3 : 4;
7184	} cn70xx;
7185	struct cvmx_ciu_sum2_ppx_ip3_cn70xx cn70xxp1;
7186	struct cvmx_ciu_sum2_ppx_ip3_cnf71xx {
7187		u64 reserved_15_63 : 49;
7188		u64 endor : 2;
7189		u64 eoi : 1;
7190		u64 reserved_10_11 : 2;
7191		u64 timer : 6;
7192		u64 reserved_0_3 : 4;
7193	} cnf71xx;
7194};
7195
7196typedef union cvmx_ciu_sum2_ppx_ip3 cvmx_ciu_sum2_ppx_ip3_t;
7197
7198/**
7199 * cvmx_ciu_sum2_pp#_ip4
7200 *
7201 * Notes:
7202 * These SUM2 CSR's did not exist prior to pass 1.2. CIU_TIM4-9 did not exist prior to pass 1.2.
7203 *
7204 */
7205union cvmx_ciu_sum2_ppx_ip4 {
7206	u64 u64;
7207	struct cvmx_ciu_sum2_ppx_ip4_s {
7208		u64 reserved_20_63 : 44;
7209		u64 bch : 1;
7210		u64 agl_drp : 1;
7211		u64 ocla : 1;
7212		u64 sata : 1;
7213		u64 reserved_15_15 : 1;
7214		u64 endor : 2;
7215		u64 eoi : 1;
7216		u64 reserved_10_11 : 2;
7217		u64 timer : 6;
7218		u64 reserved_0_3 : 4;
7219	} s;
7220	struct cvmx_ciu_sum2_ppx_ip4_cn61xx {
7221		u64 reserved_10_63 : 54;
7222		u64 timer : 6;
7223		u64 reserved_0_3 : 4;
7224	} cn61xx;
7225	struct cvmx_ciu_sum2_ppx_ip4_cn61xx cn66xx;
7226	struct cvmx_ciu_sum2_ppx_ip4_cn70xx {
7227		u64 reserved_20_63 : 44;
7228		u64 bch : 1;
7229		u64 agl_drp : 1;
7230		u64 ocla : 1;
7231		u64 sata : 1;
7232		u64 reserved_10_15 : 6;
7233		u64 timer : 6;
7234		u64 reserved_0_3 : 4;
7235	} cn70xx;
7236	struct cvmx_ciu_sum2_ppx_ip4_cn70xx cn70xxp1;
7237	struct cvmx_ciu_sum2_ppx_ip4_cnf71xx {
7238		u64 reserved_15_63 : 49;
7239		u64 endor : 2;
7240		u64 eoi : 1;
7241		u64 reserved_10_11 : 2;
7242		u64 timer : 6;
7243		u64 reserved_0_3 : 4;
7244	} cnf71xx;
7245};
7246
7247typedef union cvmx_ciu_sum2_ppx_ip4 cvmx_ciu_sum2_ppx_ip4_t;
7248
7249/**
7250 * cvmx_ciu_tim#
7251 *
7252 * Notes:
7253 * CIU_TIM4-9 did not exist prior to pass 1.2
7254 *
7255 */
7256union cvmx_ciu_timx {
7257	u64 u64;
7258	struct cvmx_ciu_timx_s {
7259		u64 reserved_37_63 : 27;
7260		u64 one_shot : 1;
7261		u64 len : 36;
7262	} s;
7263	struct cvmx_ciu_timx_s cn30xx;
7264	struct cvmx_ciu_timx_s cn31xx;
7265	struct cvmx_ciu_timx_s cn38xx;
7266	struct cvmx_ciu_timx_s cn38xxp2;
7267	struct cvmx_ciu_timx_s cn50xx;
7268	struct cvmx_ciu_timx_s cn52xx;
7269	struct cvmx_ciu_timx_s cn52xxp1;
7270	struct cvmx_ciu_timx_s cn56xx;
7271	struct cvmx_ciu_timx_s cn56xxp1;
7272	struct cvmx_ciu_timx_s cn58xx;
7273	struct cvmx_ciu_timx_s cn58xxp1;
7274	struct cvmx_ciu_timx_s cn61xx;
7275	struct cvmx_ciu_timx_s cn63xx;
7276	struct cvmx_ciu_timx_s cn63xxp1;
7277	struct cvmx_ciu_timx_s cn66xx;
7278	struct cvmx_ciu_timx_s cn68xx;
7279	struct cvmx_ciu_timx_s cn68xxp1;
7280	struct cvmx_ciu_timx_s cn70xx;
7281	struct cvmx_ciu_timx_s cn70xxp1;
7282	struct cvmx_ciu_timx_s cnf71xx;
7283};
7284
7285typedef union cvmx_ciu_timx cvmx_ciu_timx_t;
7286
7287/**
7288 * cvmx_ciu_tim_multi_cast
7289 *
7290 * Notes:
7291 * This register does not exist prior to pass 1.2 silicon. Those earlier chip passes operate as if
7292 * EN==0.
7293 */
7294union cvmx_ciu_tim_multi_cast {
7295	u64 u64;
7296	struct cvmx_ciu_tim_multi_cast_s {
7297		u64 reserved_1_63 : 63;
7298		u64 en : 1;
7299	} s;
7300	struct cvmx_ciu_tim_multi_cast_s cn61xx;
7301	struct cvmx_ciu_tim_multi_cast_s cn66xx;
7302	struct cvmx_ciu_tim_multi_cast_s cn70xx;
7303	struct cvmx_ciu_tim_multi_cast_s cn70xxp1;
7304	struct cvmx_ciu_tim_multi_cast_s cnf71xx;
7305};
7306
7307typedef union cvmx_ciu_tim_multi_cast cvmx_ciu_tim_multi_cast_t;
7308
7309/**
7310 * cvmx_ciu_wdog#
7311 */
7312union cvmx_ciu_wdogx {
7313	u64 u64;
7314	struct cvmx_ciu_wdogx_s {
7315		u64 reserved_46_63 : 18;
7316		u64 gstopen : 1;
7317		u64 dstop : 1;
7318		u64 cnt : 24;
7319		u64 len : 16;
7320		u64 state : 2;
7321		u64 mode : 2;
7322	} s;
7323	struct cvmx_ciu_wdogx_s cn30xx;
7324	struct cvmx_ciu_wdogx_s cn31xx;
7325	struct cvmx_ciu_wdogx_s cn38xx;
7326	struct cvmx_ciu_wdogx_s cn38xxp2;
7327	struct cvmx_ciu_wdogx_s cn50xx;
7328	struct cvmx_ciu_wdogx_s cn52xx;
7329	struct cvmx_ciu_wdogx_s cn52xxp1;
7330	struct cvmx_ciu_wdogx_s cn56xx;
7331	struct cvmx_ciu_wdogx_s cn56xxp1;
7332	struct cvmx_ciu_wdogx_s cn58xx;
7333	struct cvmx_ciu_wdogx_s cn58xxp1;
7334	struct cvmx_ciu_wdogx_s cn61xx;
7335	struct cvmx_ciu_wdogx_s cn63xx;
7336	struct cvmx_ciu_wdogx_s cn63xxp1;
7337	struct cvmx_ciu_wdogx_s cn66xx;
7338	struct cvmx_ciu_wdogx_s cn68xx;
7339	struct cvmx_ciu_wdogx_s cn68xxp1;
7340	struct cvmx_ciu_wdogx_s cn70xx;
7341	struct cvmx_ciu_wdogx_s cn70xxp1;
7342	struct cvmx_ciu_wdogx_s cn73xx;
7343	struct cvmx_ciu_wdogx_s cn78xx;
7344	struct cvmx_ciu_wdogx_s cn78xxp1;
7345	struct cvmx_ciu_wdogx_s cnf71xx;
7346	struct cvmx_ciu_wdogx_s cnf75xx;
7347};
7348
7349typedef union cvmx_ciu_wdogx cvmx_ciu_wdogx_t;
7350
7351#endif
7352