blob: e67d91697164e4872ce4d19e8610e08c58668dba [file] [log] [blame]
Aaron Williams2c25cd72020-12-11 17:05:28 +01001/* 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