Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc
[linux-2.6-block.git] / arch / mips / include / asm / octeon / cvmx-sli-defs.h
1 /***********************license start***************
2  * Author: Cavium Networks
3  *
4  * Contact: support@caviumnetworks.com
5  * This file is part of the OCTEON SDK
6  *
7  * Copyright (c) 2003-2011 Cavium Networks
8  *
9  * This file is free software; you can redistribute it and/or modify
10  * it under the terms of the GNU General Public License, Version 2, as
11  * published by the Free Software Foundation.
12  *
13  * This file is distributed in the hope that it will be useful, but
14  * AS-IS and WITHOUT ANY WARRANTY; without even the implied warranty
15  * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE, TITLE, or
16  * NONINFRINGEMENT.  See the GNU General Public License for more
17  * details.
18  *
19  * You should have received a copy of the GNU General Public License
20  * along with this file; if not, write to the Free Software
21  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
22  * or visit http://www.gnu.org/licenses/.
23  *
24  * This file may also be available under a different license from Cavium.
25  * Contact Cavium Networks for more information
26  ***********************license end**************************************/
27
28 #ifndef __CVMX_SLI_DEFS_H__
29 #define __CVMX_SLI_DEFS_H__
30
31 #define CVMX_SLI_BIST_STATUS (0x0000000000000580ull)
32 #define CVMX_SLI_CTL_PORTX(offset) (0x0000000000000050ull + ((offset) & 3) * 16)
33 #define CVMX_SLI_CTL_STATUS (0x0000000000000570ull)
34 #define CVMX_SLI_DATA_OUT_CNT (0x00000000000005F0ull)
35 #define CVMX_SLI_DBG_DATA (0x0000000000000310ull)
36 #define CVMX_SLI_DBG_SELECT (0x0000000000000300ull)
37 #define CVMX_SLI_DMAX_CNT(offset) (0x0000000000000400ull + ((offset) & 1) * 16)
38 #define CVMX_SLI_DMAX_INT_LEVEL(offset) (0x00000000000003E0ull + ((offset) & 1) * 16)
39 #define CVMX_SLI_DMAX_TIM(offset) (0x0000000000000420ull + ((offset) & 1) * 16)
40 #define CVMX_SLI_INT_ENB_CIU (0x0000000000003CD0ull)
41 #define CVMX_SLI_INT_ENB_PORTX(offset) (0x0000000000000340ull + ((offset) & 1) * 16)
42 #define CVMX_SLI_INT_SUM (0x0000000000000330ull)
43 #define CVMX_SLI_LAST_WIN_RDATA0 (0x0000000000000600ull)
44 #define CVMX_SLI_LAST_WIN_RDATA1 (0x0000000000000610ull)
45 #define CVMX_SLI_LAST_WIN_RDATA2 (0x00000000000006C0ull)
46 #define CVMX_SLI_LAST_WIN_RDATA3 (0x00000000000006D0ull)
47 #define CVMX_SLI_MAC_CREDIT_CNT (0x0000000000003D70ull)
48 #define CVMX_SLI_MAC_CREDIT_CNT2 (0x0000000000003E10ull)
49 #define CVMX_SLI_MAC_NUMBER (0x0000000000003E00ull)
50 #define CVMX_SLI_MEM_ACCESS_CTL (0x00000000000002F0ull)
51 #define CVMX_SLI_MEM_ACCESS_SUBIDX(offset) (0x00000000000000E0ull + ((offset) & 31) * 16 - 16*12)
52 #define CVMX_SLI_MSI_ENB0 (0x0000000000003C50ull)
53 #define CVMX_SLI_MSI_ENB1 (0x0000000000003C60ull)
54 #define CVMX_SLI_MSI_ENB2 (0x0000000000003C70ull)
55 #define CVMX_SLI_MSI_ENB3 (0x0000000000003C80ull)
56 #define CVMX_SLI_MSI_RCV0 (0x0000000000003C10ull)
57 #define CVMX_SLI_MSI_RCV1 (0x0000000000003C20ull)
58 #define CVMX_SLI_MSI_RCV2 (0x0000000000003C30ull)
59 #define CVMX_SLI_MSI_RCV3 (0x0000000000003C40ull)
60 #define CVMX_SLI_MSI_RD_MAP (0x0000000000003CA0ull)
61 #define CVMX_SLI_MSI_W1C_ENB0 (0x0000000000003CF0ull)
62 #define CVMX_SLI_MSI_W1C_ENB1 (0x0000000000003D00ull)
63 #define CVMX_SLI_MSI_W1C_ENB2 (0x0000000000003D10ull)
64 #define CVMX_SLI_MSI_W1C_ENB3 (0x0000000000003D20ull)
65 #define CVMX_SLI_MSI_W1S_ENB0 (0x0000000000003D30ull)
66 #define CVMX_SLI_MSI_W1S_ENB1 (0x0000000000003D40ull)
67 #define CVMX_SLI_MSI_W1S_ENB2 (0x0000000000003D50ull)
68 #define CVMX_SLI_MSI_W1S_ENB3 (0x0000000000003D60ull)
69 #define CVMX_SLI_MSI_WR_MAP (0x0000000000003C90ull)
70 #define CVMX_SLI_PCIE_MSI_RCV (0x0000000000003CB0ull)
71 #define CVMX_SLI_PCIE_MSI_RCV_B1 (0x0000000000000650ull)
72 #define CVMX_SLI_PCIE_MSI_RCV_B2 (0x0000000000000660ull)
73 #define CVMX_SLI_PCIE_MSI_RCV_B3 (0x0000000000000670ull)
74 #define CVMX_SLI_PKTX_CNTS(offset) (0x0000000000002400ull + ((offset) & 31) * 16)
75 #define CVMX_SLI_PKTX_INSTR_BADDR(offset) (0x0000000000002800ull + ((offset) & 31) * 16)
76 #define CVMX_SLI_PKTX_INSTR_BAOFF_DBELL(offset) (0x0000000000002C00ull + ((offset) & 31) * 16)
77 #define CVMX_SLI_PKTX_INSTR_FIFO_RSIZE(offset) (0x0000000000003000ull + ((offset) & 31) * 16)
78 #define CVMX_SLI_PKTX_INSTR_HEADER(offset) (0x0000000000003400ull + ((offset) & 31) * 16)
79 #define CVMX_SLI_PKTX_IN_BP(offset) (0x0000000000003800ull + ((offset) & 31) * 16)
80 #define CVMX_SLI_PKTX_OUT_SIZE(offset) (0x0000000000000C00ull + ((offset) & 31) * 16)
81 #define CVMX_SLI_PKTX_SLIST_BADDR(offset) (0x0000000000001400ull + ((offset) & 31) * 16)
82 #define CVMX_SLI_PKTX_SLIST_BAOFF_DBELL(offset) (0x0000000000001800ull + ((offset) & 31) * 16)
83 #define CVMX_SLI_PKTX_SLIST_FIFO_RSIZE(offset) (0x0000000000001C00ull + ((offset) & 31) * 16)
84 #define CVMX_SLI_PKT_CNT_INT (0x0000000000001130ull)
85 #define CVMX_SLI_PKT_CNT_INT_ENB (0x0000000000001150ull)
86 #define CVMX_SLI_PKT_CTL (0x0000000000001220ull)
87 #define CVMX_SLI_PKT_DATA_OUT_ES (0x00000000000010B0ull)
88 #define CVMX_SLI_PKT_DATA_OUT_NS (0x00000000000010A0ull)
89 #define CVMX_SLI_PKT_DATA_OUT_ROR (0x0000000000001090ull)
90 #define CVMX_SLI_PKT_DPADDR (0x0000000000001080ull)
91 #define CVMX_SLI_PKT_INPUT_CONTROL (0x0000000000001170ull)
92 #define CVMX_SLI_PKT_INSTR_ENB (0x0000000000001000ull)
93 #define CVMX_SLI_PKT_INSTR_RD_SIZE (0x00000000000011A0ull)
94 #define CVMX_SLI_PKT_INSTR_SIZE (0x0000000000001020ull)
95 #define CVMX_SLI_PKT_INT_LEVELS (0x0000000000001120ull)
96 #define CVMX_SLI_PKT_IN_BP (0x0000000000001210ull)
97 #define CVMX_SLI_PKT_IN_DONEX_CNTS(offset) (0x0000000000002000ull + ((offset) & 31) * 16)
98 #define CVMX_SLI_PKT_IN_INSTR_COUNTS (0x0000000000001200ull)
99 #define CVMX_SLI_PKT_IN_PCIE_PORT (0x00000000000011B0ull)
100 #define CVMX_SLI_PKT_IPTR (0x0000000000001070ull)
101 #define CVMX_SLI_PKT_OUTPUT_WMARK (0x0000000000001180ull)
102 #define CVMX_SLI_PKT_OUT_BMODE (0x00000000000010D0ull)
103 #define CVMX_SLI_PKT_OUT_BP_EN (0x0000000000001240ull)
104 #define CVMX_SLI_PKT_OUT_ENB (0x0000000000001010ull)
105 #define CVMX_SLI_PKT_PCIE_PORT (0x00000000000010E0ull)
106 #define CVMX_SLI_PKT_PORT_IN_RST (0x00000000000011F0ull)
107 #define CVMX_SLI_PKT_SLIST_ES (0x0000000000001050ull)
108 #define CVMX_SLI_PKT_SLIST_NS (0x0000000000001040ull)
109 #define CVMX_SLI_PKT_SLIST_ROR (0x0000000000001030ull)
110 #define CVMX_SLI_PKT_TIME_INT (0x0000000000001140ull)
111 #define CVMX_SLI_PKT_TIME_INT_ENB (0x0000000000001160ull)
112 #define CVMX_SLI_PORTX_PKIND(offset) (0x0000000000000800ull + ((offset) & 31) * 16)
113 #define CVMX_SLI_S2M_PORTX_CTL(offset) (0x0000000000003D80ull + ((offset) & 3) * 16)
114 #define CVMX_SLI_SCRATCH_1 (0x00000000000003C0ull)
115 #define CVMX_SLI_SCRATCH_2 (0x00000000000003D0ull)
116 #define CVMX_SLI_STATE1 (0x0000000000000620ull)
117 #define CVMX_SLI_STATE2 (0x0000000000000630ull)
118 #define CVMX_SLI_STATE3 (0x0000000000000640ull)
119 #define CVMX_SLI_TX_PIPE (0x0000000000001230ull)
120 #define CVMX_SLI_WINDOW_CTL (0x00000000000002E0ull)
121 #define CVMX_SLI_WIN_RD_ADDR (0x0000000000000010ull)
122 #define CVMX_SLI_WIN_RD_DATA (0x0000000000000040ull)
123 #define CVMX_SLI_WIN_WR_ADDR (0x0000000000000000ull)
124 #define CVMX_SLI_WIN_WR_DATA (0x0000000000000020ull)
125 #define CVMX_SLI_WIN_WR_MASK (0x0000000000000030ull)
126
127 union cvmx_sli_bist_status {
128         uint64_t u64;
129         struct cvmx_sli_bist_status_s {
130                 uint64_t reserved_32_63:32;
131                 uint64_t ncb_req:1;
132                 uint64_t n2p0_c:1;
133                 uint64_t n2p0_o:1;
134                 uint64_t n2p1_c:1;
135                 uint64_t n2p1_o:1;
136                 uint64_t cpl_p0:1;
137                 uint64_t cpl_p1:1;
138                 uint64_t reserved_19_24:6;
139                 uint64_t p2n0_c0:1;
140                 uint64_t p2n0_c1:1;
141                 uint64_t p2n0_n:1;
142                 uint64_t p2n0_p0:1;
143                 uint64_t p2n0_p1:1;
144                 uint64_t p2n1_c0:1;
145                 uint64_t p2n1_c1:1;
146                 uint64_t p2n1_n:1;
147                 uint64_t p2n1_p0:1;
148                 uint64_t p2n1_p1:1;
149                 uint64_t reserved_6_8:3;
150                 uint64_t dsi1_1:1;
151                 uint64_t dsi1_0:1;
152                 uint64_t dsi0_1:1;
153                 uint64_t dsi0_0:1;
154                 uint64_t msi:1;
155                 uint64_t ncb_cmd:1;
156         } s;
157         struct cvmx_sli_bist_status_cn61xx {
158                 uint64_t reserved_31_63:33;
159                 uint64_t n2p0_c:1;
160                 uint64_t n2p0_o:1;
161                 uint64_t reserved_27_28:2;
162                 uint64_t cpl_p0:1;
163                 uint64_t cpl_p1:1;
164                 uint64_t reserved_19_24:6;
165                 uint64_t p2n0_c0:1;
166                 uint64_t p2n0_c1:1;
167                 uint64_t p2n0_n:1;
168                 uint64_t p2n0_p0:1;
169                 uint64_t p2n0_p1:1;
170                 uint64_t p2n1_c0:1;
171                 uint64_t p2n1_c1:1;
172                 uint64_t p2n1_n:1;
173                 uint64_t p2n1_p0:1;
174                 uint64_t p2n1_p1:1;
175                 uint64_t reserved_6_8:3;
176                 uint64_t dsi1_1:1;
177                 uint64_t dsi1_0:1;
178                 uint64_t dsi0_1:1;
179                 uint64_t dsi0_0:1;
180                 uint64_t msi:1;
181                 uint64_t ncb_cmd:1;
182         } cn61xx;
183         struct cvmx_sli_bist_status_cn63xx {
184                 uint64_t reserved_31_63:33;
185                 uint64_t n2p0_c:1;
186                 uint64_t n2p0_o:1;
187                 uint64_t n2p1_c:1;
188                 uint64_t n2p1_o:1;
189                 uint64_t cpl_p0:1;
190                 uint64_t cpl_p1:1;
191                 uint64_t reserved_19_24:6;
192                 uint64_t p2n0_c0:1;
193                 uint64_t p2n0_c1:1;
194                 uint64_t p2n0_n:1;
195                 uint64_t p2n0_p0:1;
196                 uint64_t p2n0_p1:1;
197                 uint64_t p2n1_c0:1;
198                 uint64_t p2n1_c1:1;
199                 uint64_t p2n1_n:1;
200                 uint64_t p2n1_p0:1;
201                 uint64_t p2n1_p1:1;
202                 uint64_t reserved_6_8:3;
203                 uint64_t dsi1_1:1;
204                 uint64_t dsi1_0:1;
205                 uint64_t dsi0_1:1;
206                 uint64_t dsi0_0:1;
207                 uint64_t msi:1;
208                 uint64_t ncb_cmd:1;
209         } cn63xx;
210         struct cvmx_sli_bist_status_cn63xx cn63xxp1;
211         struct cvmx_sli_bist_status_cn61xx cn66xx;
212         struct cvmx_sli_bist_status_s cn68xx;
213         struct cvmx_sli_bist_status_s cn68xxp1;
214 };
215
216 union cvmx_sli_ctl_portx {
217         uint64_t u64;
218         struct cvmx_sli_ctl_portx_s {
219                 uint64_t reserved_22_63:42;
220                 uint64_t intd:1;
221                 uint64_t intc:1;
222                 uint64_t intb:1;
223                 uint64_t inta:1;
224                 uint64_t dis_port:1;
225                 uint64_t waitl_com:1;
226                 uint64_t intd_map:2;
227                 uint64_t intc_map:2;
228                 uint64_t intb_map:2;
229                 uint64_t inta_map:2;
230                 uint64_t ctlp_ro:1;
231                 uint64_t reserved_6_6:1;
232                 uint64_t ptlp_ro:1;
233                 uint64_t reserved_1_4:4;
234                 uint64_t wait_com:1;
235         } s;
236         struct cvmx_sli_ctl_portx_s cn61xx;
237         struct cvmx_sli_ctl_portx_s cn63xx;
238         struct cvmx_sli_ctl_portx_s cn63xxp1;
239         struct cvmx_sli_ctl_portx_s cn66xx;
240         struct cvmx_sli_ctl_portx_s cn68xx;
241         struct cvmx_sli_ctl_portx_s cn68xxp1;
242 };
243
244 union cvmx_sli_ctl_status {
245         uint64_t u64;
246         struct cvmx_sli_ctl_status_s {
247                 uint64_t reserved_20_63:44;
248                 uint64_t p1_ntags:6;
249                 uint64_t p0_ntags:6;
250                 uint64_t chip_rev:8;
251         } s;
252         struct cvmx_sli_ctl_status_cn61xx {
253                 uint64_t reserved_14_63:50;
254                 uint64_t p0_ntags:6;
255                 uint64_t chip_rev:8;
256         } cn61xx;
257         struct cvmx_sli_ctl_status_s cn63xx;
258         struct cvmx_sli_ctl_status_s cn63xxp1;
259         struct cvmx_sli_ctl_status_cn61xx cn66xx;
260         struct cvmx_sli_ctl_status_s cn68xx;
261         struct cvmx_sli_ctl_status_s cn68xxp1;
262 };
263
264 union cvmx_sli_data_out_cnt {
265         uint64_t u64;
266         struct cvmx_sli_data_out_cnt_s {
267                 uint64_t reserved_44_63:20;
268                 uint64_t p1_ucnt:16;
269                 uint64_t p1_fcnt:6;
270                 uint64_t p0_ucnt:16;
271                 uint64_t p0_fcnt:6;
272         } s;
273         struct cvmx_sli_data_out_cnt_s cn61xx;
274         struct cvmx_sli_data_out_cnt_s cn63xx;
275         struct cvmx_sli_data_out_cnt_s cn63xxp1;
276         struct cvmx_sli_data_out_cnt_s cn66xx;
277         struct cvmx_sli_data_out_cnt_s cn68xx;
278         struct cvmx_sli_data_out_cnt_s cn68xxp1;
279 };
280
281 union cvmx_sli_dbg_data {
282         uint64_t u64;
283         struct cvmx_sli_dbg_data_s {
284                 uint64_t reserved_18_63:46;
285                 uint64_t dsel_ext:1;
286                 uint64_t data:17;
287         } s;
288         struct cvmx_sli_dbg_data_s cn61xx;
289         struct cvmx_sli_dbg_data_s cn63xx;
290         struct cvmx_sli_dbg_data_s cn63xxp1;
291         struct cvmx_sli_dbg_data_s cn66xx;
292         struct cvmx_sli_dbg_data_s cn68xx;
293         struct cvmx_sli_dbg_data_s cn68xxp1;
294 };
295
296 union cvmx_sli_dbg_select {
297         uint64_t u64;
298         struct cvmx_sli_dbg_select_s {
299                 uint64_t reserved_33_63:31;
300                 uint64_t adbg_sel:1;
301                 uint64_t dbg_sel:32;
302         } s;
303         struct cvmx_sli_dbg_select_s cn61xx;
304         struct cvmx_sli_dbg_select_s cn63xx;
305         struct cvmx_sli_dbg_select_s cn63xxp1;
306         struct cvmx_sli_dbg_select_s cn66xx;
307         struct cvmx_sli_dbg_select_s cn68xx;
308         struct cvmx_sli_dbg_select_s cn68xxp1;
309 };
310
311 union cvmx_sli_dmax_cnt {
312         uint64_t u64;
313         struct cvmx_sli_dmax_cnt_s {
314                 uint64_t reserved_32_63:32;
315                 uint64_t cnt:32;
316         } s;
317         struct cvmx_sli_dmax_cnt_s cn61xx;
318         struct cvmx_sli_dmax_cnt_s cn63xx;
319         struct cvmx_sli_dmax_cnt_s cn63xxp1;
320         struct cvmx_sli_dmax_cnt_s cn66xx;
321         struct cvmx_sli_dmax_cnt_s cn68xx;
322         struct cvmx_sli_dmax_cnt_s cn68xxp1;
323 };
324
325 union cvmx_sli_dmax_int_level {
326         uint64_t u64;
327         struct cvmx_sli_dmax_int_level_s {
328                 uint64_t time:32;
329                 uint64_t cnt:32;
330         } s;
331         struct cvmx_sli_dmax_int_level_s cn61xx;
332         struct cvmx_sli_dmax_int_level_s cn63xx;
333         struct cvmx_sli_dmax_int_level_s cn63xxp1;
334         struct cvmx_sli_dmax_int_level_s cn66xx;
335         struct cvmx_sli_dmax_int_level_s cn68xx;
336         struct cvmx_sli_dmax_int_level_s cn68xxp1;
337 };
338
339 union cvmx_sli_dmax_tim {
340         uint64_t u64;
341         struct cvmx_sli_dmax_tim_s {
342                 uint64_t reserved_32_63:32;
343                 uint64_t tim:32;
344         } s;
345         struct cvmx_sli_dmax_tim_s cn61xx;
346         struct cvmx_sli_dmax_tim_s cn63xx;
347         struct cvmx_sli_dmax_tim_s cn63xxp1;
348         struct cvmx_sli_dmax_tim_s cn66xx;
349         struct cvmx_sli_dmax_tim_s cn68xx;
350         struct cvmx_sli_dmax_tim_s cn68xxp1;
351 };
352
353 union cvmx_sli_int_enb_ciu {
354         uint64_t u64;
355         struct cvmx_sli_int_enb_ciu_s {
356                 uint64_t reserved_62_63:2;
357                 uint64_t pipe_err:1;
358                 uint64_t ill_pad:1;
359                 uint64_t sprt3_err:1;
360                 uint64_t sprt2_err:1;
361                 uint64_t sprt1_err:1;
362                 uint64_t sprt0_err:1;
363                 uint64_t pins_err:1;
364                 uint64_t pop_err:1;
365                 uint64_t pdi_err:1;
366                 uint64_t pgl_err:1;
367                 uint64_t pin_bp:1;
368                 uint64_t pout_err:1;
369                 uint64_t psldbof:1;
370                 uint64_t pidbof:1;
371                 uint64_t reserved_38_47:10;
372                 uint64_t dtime:2;
373                 uint64_t dcnt:2;
374                 uint64_t dmafi:2;
375                 uint64_t reserved_28_31:4;
376                 uint64_t m3_un_wi:1;
377                 uint64_t m3_un_b0:1;
378                 uint64_t m3_up_wi:1;
379                 uint64_t m3_up_b0:1;
380                 uint64_t m2_un_wi:1;
381                 uint64_t m2_un_b0:1;
382                 uint64_t m2_up_wi:1;
383                 uint64_t m2_up_b0:1;
384                 uint64_t reserved_18_19:2;
385                 uint64_t mio_int1:1;
386                 uint64_t mio_int0:1;
387                 uint64_t m1_un_wi:1;
388                 uint64_t m1_un_b0:1;
389                 uint64_t m1_up_wi:1;
390                 uint64_t m1_up_b0:1;
391                 uint64_t m0_un_wi:1;
392                 uint64_t m0_un_b0:1;
393                 uint64_t m0_up_wi:1;
394                 uint64_t m0_up_b0:1;
395                 uint64_t reserved_6_7:2;
396                 uint64_t ptime:1;
397                 uint64_t pcnt:1;
398                 uint64_t iob2big:1;
399                 uint64_t bar0_to:1;
400                 uint64_t reserved_1_1:1;
401                 uint64_t rml_to:1;
402         } s;
403         struct cvmx_sli_int_enb_ciu_cn61xx {
404                 uint64_t reserved_61_63:3;
405                 uint64_t ill_pad:1;
406                 uint64_t sprt3_err:1;
407                 uint64_t sprt2_err:1;
408                 uint64_t sprt1_err:1;
409                 uint64_t sprt0_err:1;
410                 uint64_t pins_err:1;
411                 uint64_t pop_err:1;
412                 uint64_t pdi_err:1;
413                 uint64_t pgl_err:1;
414                 uint64_t pin_bp:1;
415                 uint64_t pout_err:1;
416                 uint64_t psldbof:1;
417                 uint64_t pidbof:1;
418                 uint64_t reserved_38_47:10;
419                 uint64_t dtime:2;
420                 uint64_t dcnt:2;
421                 uint64_t dmafi:2;
422                 uint64_t reserved_28_31:4;
423                 uint64_t m3_un_wi:1;
424                 uint64_t m3_un_b0:1;
425                 uint64_t m3_up_wi:1;
426                 uint64_t m3_up_b0:1;
427                 uint64_t m2_un_wi:1;
428                 uint64_t m2_un_b0:1;
429                 uint64_t m2_up_wi:1;
430                 uint64_t m2_up_b0:1;
431                 uint64_t reserved_18_19:2;
432                 uint64_t mio_int1:1;
433                 uint64_t mio_int0:1;
434                 uint64_t m1_un_wi:1;
435                 uint64_t m1_un_b0:1;
436                 uint64_t m1_up_wi:1;
437                 uint64_t m1_up_b0:1;
438                 uint64_t m0_un_wi:1;
439                 uint64_t m0_un_b0:1;
440                 uint64_t m0_up_wi:1;
441                 uint64_t m0_up_b0:1;
442                 uint64_t reserved_6_7:2;
443                 uint64_t ptime:1;
444                 uint64_t pcnt:1;
445                 uint64_t iob2big:1;
446                 uint64_t bar0_to:1;
447                 uint64_t reserved_1_1:1;
448                 uint64_t rml_to:1;
449         } cn61xx;
450         struct cvmx_sli_int_enb_ciu_cn63xx {
451                 uint64_t reserved_61_63:3;
452                 uint64_t ill_pad:1;
453                 uint64_t reserved_58_59:2;
454                 uint64_t sprt1_err:1;
455                 uint64_t sprt0_err:1;
456                 uint64_t pins_err:1;
457                 uint64_t pop_err:1;
458                 uint64_t pdi_err:1;
459                 uint64_t pgl_err:1;
460                 uint64_t pin_bp:1;
461                 uint64_t pout_err:1;
462                 uint64_t psldbof:1;
463                 uint64_t pidbof:1;
464                 uint64_t reserved_38_47:10;
465                 uint64_t dtime:2;
466                 uint64_t dcnt:2;
467                 uint64_t dmafi:2;
468                 uint64_t reserved_18_31:14;
469                 uint64_t mio_int1:1;
470                 uint64_t mio_int0:1;
471                 uint64_t m1_un_wi:1;
472                 uint64_t m1_un_b0:1;
473                 uint64_t m1_up_wi:1;
474                 uint64_t m1_up_b0:1;
475                 uint64_t m0_un_wi:1;
476                 uint64_t m0_un_b0:1;
477                 uint64_t m0_up_wi:1;
478                 uint64_t m0_up_b0:1;
479                 uint64_t reserved_6_7:2;
480                 uint64_t ptime:1;
481                 uint64_t pcnt:1;
482                 uint64_t iob2big:1;
483                 uint64_t bar0_to:1;
484                 uint64_t reserved_1_1:1;
485                 uint64_t rml_to:1;
486         } cn63xx;
487         struct cvmx_sli_int_enb_ciu_cn63xx cn63xxp1;
488         struct cvmx_sli_int_enb_ciu_cn61xx cn66xx;
489         struct cvmx_sli_int_enb_ciu_cn68xx {
490                 uint64_t reserved_62_63:2;
491                 uint64_t pipe_err:1;
492                 uint64_t ill_pad:1;
493                 uint64_t reserved_58_59:2;
494                 uint64_t sprt1_err:1;
495                 uint64_t sprt0_err:1;
496                 uint64_t pins_err:1;
497                 uint64_t pop_err:1;
498                 uint64_t pdi_err:1;
499                 uint64_t pgl_err:1;
500                 uint64_t reserved_51_51:1;
501                 uint64_t pout_err:1;
502                 uint64_t psldbof:1;
503                 uint64_t pidbof:1;
504                 uint64_t reserved_38_47:10;
505                 uint64_t dtime:2;
506                 uint64_t dcnt:2;
507                 uint64_t dmafi:2;
508                 uint64_t reserved_18_31:14;
509                 uint64_t mio_int1:1;
510                 uint64_t mio_int0:1;
511                 uint64_t m1_un_wi:1;
512                 uint64_t m1_un_b0:1;
513                 uint64_t m1_up_wi:1;
514                 uint64_t m1_up_b0:1;
515                 uint64_t m0_un_wi:1;
516                 uint64_t m0_un_b0:1;
517                 uint64_t m0_up_wi:1;
518                 uint64_t m0_up_b0:1;
519                 uint64_t reserved_6_7:2;
520                 uint64_t ptime:1;
521                 uint64_t pcnt:1;
522                 uint64_t iob2big:1;
523                 uint64_t bar0_to:1;
524                 uint64_t reserved_1_1:1;
525                 uint64_t rml_to:1;
526         } cn68xx;
527         struct cvmx_sli_int_enb_ciu_cn68xx cn68xxp1;
528 };
529
530 union cvmx_sli_int_enb_portx {
531         uint64_t u64;
532         struct cvmx_sli_int_enb_portx_s {
533                 uint64_t reserved_62_63:2;
534                 uint64_t pipe_err:1;
535                 uint64_t ill_pad:1;
536                 uint64_t sprt3_err:1;
537                 uint64_t sprt2_err:1;
538                 uint64_t sprt1_err:1;
539                 uint64_t sprt0_err:1;
540                 uint64_t pins_err:1;
541                 uint64_t pop_err:1;
542                 uint64_t pdi_err:1;
543                 uint64_t pgl_err:1;
544                 uint64_t pin_bp:1;
545                 uint64_t pout_err:1;
546                 uint64_t psldbof:1;
547                 uint64_t pidbof:1;
548                 uint64_t reserved_38_47:10;
549                 uint64_t dtime:2;
550                 uint64_t dcnt:2;
551                 uint64_t dmafi:2;
552                 uint64_t reserved_28_31:4;
553                 uint64_t m3_un_wi:1;
554                 uint64_t m3_un_b0:1;
555                 uint64_t m3_up_wi:1;
556                 uint64_t m3_up_b0:1;
557                 uint64_t m2_un_wi:1;
558                 uint64_t m2_un_b0:1;
559                 uint64_t m2_up_wi:1;
560                 uint64_t m2_up_b0:1;
561                 uint64_t mac1_int:1;
562                 uint64_t mac0_int:1;
563                 uint64_t mio_int1:1;
564                 uint64_t mio_int0:1;
565                 uint64_t m1_un_wi:1;
566                 uint64_t m1_un_b0:1;
567                 uint64_t m1_up_wi:1;
568                 uint64_t m1_up_b0:1;
569                 uint64_t m0_un_wi:1;
570                 uint64_t m0_un_b0:1;
571                 uint64_t m0_up_wi:1;
572                 uint64_t m0_up_b0:1;
573                 uint64_t reserved_6_7:2;
574                 uint64_t ptime:1;
575                 uint64_t pcnt:1;
576                 uint64_t iob2big:1;
577                 uint64_t bar0_to:1;
578                 uint64_t reserved_1_1:1;
579                 uint64_t rml_to:1;
580         } s;
581         struct cvmx_sli_int_enb_portx_cn61xx {
582                 uint64_t reserved_61_63:3;
583                 uint64_t ill_pad:1;
584                 uint64_t sprt3_err:1;
585                 uint64_t sprt2_err:1;
586                 uint64_t sprt1_err:1;
587                 uint64_t sprt0_err:1;
588                 uint64_t pins_err:1;
589                 uint64_t pop_err:1;
590                 uint64_t pdi_err:1;
591                 uint64_t pgl_err:1;
592                 uint64_t pin_bp:1;
593                 uint64_t pout_err:1;
594                 uint64_t psldbof:1;
595                 uint64_t pidbof:1;
596                 uint64_t reserved_38_47:10;
597                 uint64_t dtime:2;
598                 uint64_t dcnt:2;
599                 uint64_t dmafi:2;
600                 uint64_t reserved_28_31:4;
601                 uint64_t m3_un_wi:1;
602                 uint64_t m3_un_b0:1;
603                 uint64_t m3_up_wi:1;
604                 uint64_t m3_up_b0:1;
605                 uint64_t m2_un_wi:1;
606                 uint64_t m2_un_b0:1;
607                 uint64_t m2_up_wi:1;
608                 uint64_t m2_up_b0:1;
609                 uint64_t mac1_int:1;
610                 uint64_t mac0_int:1;
611                 uint64_t mio_int1:1;
612                 uint64_t mio_int0:1;
613                 uint64_t m1_un_wi:1;
614                 uint64_t m1_un_b0:1;
615                 uint64_t m1_up_wi:1;
616                 uint64_t m1_up_b0:1;
617                 uint64_t m0_un_wi:1;
618                 uint64_t m0_un_b0:1;
619                 uint64_t m0_up_wi:1;
620                 uint64_t m0_up_b0:1;
621                 uint64_t reserved_6_7:2;
622                 uint64_t ptime:1;
623                 uint64_t pcnt:1;
624                 uint64_t iob2big:1;
625                 uint64_t bar0_to:1;
626                 uint64_t reserved_1_1:1;
627                 uint64_t rml_to:1;
628         } cn61xx;
629         struct cvmx_sli_int_enb_portx_cn63xx {
630                 uint64_t reserved_61_63:3;
631                 uint64_t ill_pad:1;
632                 uint64_t reserved_58_59:2;
633                 uint64_t sprt1_err:1;
634                 uint64_t sprt0_err:1;
635                 uint64_t pins_err:1;
636                 uint64_t pop_err:1;
637                 uint64_t pdi_err:1;
638                 uint64_t pgl_err:1;
639                 uint64_t pin_bp:1;
640                 uint64_t pout_err:1;
641                 uint64_t psldbof:1;
642                 uint64_t pidbof:1;
643                 uint64_t reserved_38_47:10;
644                 uint64_t dtime:2;
645                 uint64_t dcnt:2;
646                 uint64_t dmafi:2;
647                 uint64_t reserved_20_31:12;
648                 uint64_t mac1_int:1;
649                 uint64_t mac0_int:1;
650                 uint64_t mio_int1:1;
651                 uint64_t mio_int0:1;
652                 uint64_t m1_un_wi:1;
653                 uint64_t m1_un_b0:1;
654                 uint64_t m1_up_wi:1;
655                 uint64_t m1_up_b0:1;
656                 uint64_t m0_un_wi:1;
657                 uint64_t m0_un_b0:1;
658                 uint64_t m0_up_wi:1;
659                 uint64_t m0_up_b0:1;
660                 uint64_t reserved_6_7:2;
661                 uint64_t ptime:1;
662                 uint64_t pcnt:1;
663                 uint64_t iob2big:1;
664                 uint64_t bar0_to:1;
665                 uint64_t reserved_1_1:1;
666                 uint64_t rml_to:1;
667         } cn63xx;
668         struct cvmx_sli_int_enb_portx_cn63xx cn63xxp1;
669         struct cvmx_sli_int_enb_portx_cn61xx cn66xx;
670         struct cvmx_sli_int_enb_portx_cn68xx {
671                 uint64_t reserved_62_63:2;
672                 uint64_t pipe_err:1;
673                 uint64_t ill_pad:1;
674                 uint64_t reserved_58_59:2;
675                 uint64_t sprt1_err:1;
676                 uint64_t sprt0_err:1;
677                 uint64_t pins_err:1;
678                 uint64_t pop_err:1;
679                 uint64_t pdi_err:1;
680                 uint64_t pgl_err:1;
681                 uint64_t reserved_51_51:1;
682                 uint64_t pout_err:1;
683                 uint64_t psldbof:1;
684                 uint64_t pidbof:1;
685                 uint64_t reserved_38_47:10;
686                 uint64_t dtime:2;
687                 uint64_t dcnt:2;
688                 uint64_t dmafi:2;
689                 uint64_t reserved_20_31:12;
690                 uint64_t mac1_int:1;
691                 uint64_t mac0_int:1;
692                 uint64_t mio_int1:1;
693                 uint64_t mio_int0:1;
694                 uint64_t m1_un_wi:1;
695                 uint64_t m1_un_b0:1;
696                 uint64_t m1_up_wi:1;
697                 uint64_t m1_up_b0:1;
698                 uint64_t m0_un_wi:1;
699                 uint64_t m0_un_b0:1;
700                 uint64_t m0_up_wi:1;
701                 uint64_t m0_up_b0:1;
702                 uint64_t reserved_6_7:2;
703                 uint64_t ptime:1;
704                 uint64_t pcnt:1;
705                 uint64_t iob2big:1;
706                 uint64_t bar0_to:1;
707                 uint64_t reserved_1_1:1;
708                 uint64_t rml_to:1;
709         } cn68xx;
710         struct cvmx_sli_int_enb_portx_cn68xx cn68xxp1;
711 };
712
713 union cvmx_sli_int_sum {
714         uint64_t u64;
715         struct cvmx_sli_int_sum_s {
716                 uint64_t reserved_62_63:2;
717                 uint64_t pipe_err:1;
718                 uint64_t ill_pad:1;
719                 uint64_t sprt3_err:1;
720                 uint64_t sprt2_err:1;
721                 uint64_t sprt1_err:1;
722                 uint64_t sprt0_err:1;
723                 uint64_t pins_err:1;
724                 uint64_t pop_err:1;
725                 uint64_t pdi_err:1;
726                 uint64_t pgl_err:1;
727                 uint64_t pin_bp:1;
728                 uint64_t pout_err:1;
729                 uint64_t psldbof:1;
730                 uint64_t pidbof:1;
731                 uint64_t reserved_38_47:10;
732                 uint64_t dtime:2;
733                 uint64_t dcnt:2;
734                 uint64_t dmafi:2;
735                 uint64_t reserved_28_31:4;
736                 uint64_t m3_un_wi:1;
737                 uint64_t m3_un_b0:1;
738                 uint64_t m3_up_wi:1;
739                 uint64_t m3_up_b0:1;
740                 uint64_t m2_un_wi:1;
741                 uint64_t m2_un_b0:1;
742                 uint64_t m2_up_wi:1;
743                 uint64_t m2_up_b0:1;
744                 uint64_t mac1_int:1;
745                 uint64_t mac0_int:1;
746                 uint64_t mio_int1:1;
747                 uint64_t mio_int0:1;
748                 uint64_t m1_un_wi:1;
749                 uint64_t m1_un_b0:1;
750                 uint64_t m1_up_wi:1;
751                 uint64_t m1_up_b0:1;
752                 uint64_t m0_un_wi:1;
753                 uint64_t m0_un_b0:1;
754                 uint64_t m0_up_wi:1;
755                 uint64_t m0_up_b0:1;
756                 uint64_t reserved_6_7:2;
757                 uint64_t ptime:1;
758                 uint64_t pcnt:1;
759                 uint64_t iob2big:1;
760                 uint64_t bar0_to:1;
761                 uint64_t reserved_1_1:1;
762                 uint64_t rml_to:1;
763         } s;
764         struct cvmx_sli_int_sum_cn61xx {
765                 uint64_t reserved_61_63:3;
766                 uint64_t ill_pad:1;
767                 uint64_t sprt3_err:1;
768                 uint64_t sprt2_err:1;
769                 uint64_t sprt1_err:1;
770                 uint64_t sprt0_err:1;
771                 uint64_t pins_err:1;
772                 uint64_t pop_err:1;
773                 uint64_t pdi_err:1;
774                 uint64_t pgl_err:1;
775                 uint64_t pin_bp:1;
776                 uint64_t pout_err:1;
777                 uint64_t psldbof:1;
778                 uint64_t pidbof:1;
779                 uint64_t reserved_38_47:10;
780                 uint64_t dtime:2;
781                 uint64_t dcnt:2;
782                 uint64_t dmafi:2;
783                 uint64_t reserved_28_31:4;
784                 uint64_t m3_un_wi:1;
785                 uint64_t m3_un_b0:1;
786                 uint64_t m3_up_wi:1;
787                 uint64_t m3_up_b0:1;
788                 uint64_t m2_un_wi:1;
789                 uint64_t m2_un_b0:1;
790                 uint64_t m2_up_wi:1;
791                 uint64_t m2_up_b0:1;
792                 uint64_t mac1_int:1;
793                 uint64_t mac0_int:1;
794                 uint64_t mio_int1:1;
795                 uint64_t mio_int0:1;
796                 uint64_t m1_un_wi:1;
797                 uint64_t m1_un_b0:1;
798                 uint64_t m1_up_wi:1;
799                 uint64_t m1_up_b0:1;
800                 uint64_t m0_un_wi:1;
801                 uint64_t m0_un_b0:1;
802                 uint64_t m0_up_wi:1;
803                 uint64_t m0_up_b0:1;
804                 uint64_t reserved_6_7:2;
805                 uint64_t ptime:1;
806                 uint64_t pcnt:1;
807                 uint64_t iob2big:1;
808                 uint64_t bar0_to:1;
809                 uint64_t reserved_1_1:1;
810                 uint64_t rml_to:1;
811         } cn61xx;
812         struct cvmx_sli_int_sum_cn63xx {
813                 uint64_t reserved_61_63:3;
814                 uint64_t ill_pad:1;
815                 uint64_t reserved_58_59:2;
816                 uint64_t sprt1_err:1;
817                 uint64_t sprt0_err:1;
818                 uint64_t pins_err:1;
819                 uint64_t pop_err:1;
820                 uint64_t pdi_err:1;
821                 uint64_t pgl_err:1;
822                 uint64_t pin_bp:1;
823                 uint64_t pout_err:1;
824                 uint64_t psldbof:1;
825                 uint64_t pidbof:1;
826                 uint64_t reserved_38_47:10;
827                 uint64_t dtime:2;
828                 uint64_t dcnt:2;
829                 uint64_t dmafi:2;
830                 uint64_t reserved_20_31:12;
831                 uint64_t mac1_int:1;
832                 uint64_t mac0_int:1;
833                 uint64_t mio_int1:1;
834                 uint64_t mio_int0:1;
835                 uint64_t m1_un_wi:1;
836                 uint64_t m1_un_b0:1;
837                 uint64_t m1_up_wi:1;
838                 uint64_t m1_up_b0:1;
839                 uint64_t m0_un_wi:1;
840                 uint64_t m0_un_b0:1;
841                 uint64_t m0_up_wi:1;
842                 uint64_t m0_up_b0:1;
843                 uint64_t reserved_6_7:2;
844                 uint64_t ptime:1;
845                 uint64_t pcnt:1;
846                 uint64_t iob2big:1;
847                 uint64_t bar0_to:1;
848                 uint64_t reserved_1_1:1;
849                 uint64_t rml_to:1;
850         } cn63xx;
851         struct cvmx_sli_int_sum_cn63xx cn63xxp1;
852         struct cvmx_sli_int_sum_cn61xx cn66xx;
853         struct cvmx_sli_int_sum_cn68xx {
854                 uint64_t reserved_62_63:2;
855                 uint64_t pipe_err:1;
856                 uint64_t ill_pad:1;
857                 uint64_t reserved_58_59:2;
858                 uint64_t sprt1_err:1;
859                 uint64_t sprt0_err:1;
860                 uint64_t pins_err:1;
861                 uint64_t pop_err:1;
862                 uint64_t pdi_err:1;
863                 uint64_t pgl_err:1;
864                 uint64_t reserved_51_51:1;
865                 uint64_t pout_err:1;
866                 uint64_t psldbof:1;
867                 uint64_t pidbof:1;
868                 uint64_t reserved_38_47:10;
869                 uint64_t dtime:2;
870                 uint64_t dcnt:2;
871                 uint64_t dmafi:2;
872                 uint64_t reserved_20_31:12;
873                 uint64_t mac1_int:1;
874                 uint64_t mac0_int:1;
875                 uint64_t mio_int1:1;
876                 uint64_t mio_int0:1;
877                 uint64_t m1_un_wi:1;
878                 uint64_t m1_un_b0:1;
879                 uint64_t m1_up_wi:1;
880                 uint64_t m1_up_b0:1;
881                 uint64_t m0_un_wi:1;
882                 uint64_t m0_un_b0:1;
883                 uint64_t m0_up_wi:1;
884                 uint64_t m0_up_b0:1;
885                 uint64_t reserved_6_7:2;
886                 uint64_t ptime:1;
887                 uint64_t pcnt:1;
888                 uint64_t iob2big:1;
889                 uint64_t bar0_to:1;
890                 uint64_t reserved_1_1:1;
891                 uint64_t rml_to:1;
892         } cn68xx;
893         struct cvmx_sli_int_sum_cn68xx cn68xxp1;
894 };
895
896 union cvmx_sli_last_win_rdata0 {
897         uint64_t u64;
898         struct cvmx_sli_last_win_rdata0_s {
899                 uint64_t data:64;
900         } s;
901         struct cvmx_sli_last_win_rdata0_s cn61xx;
902         struct cvmx_sli_last_win_rdata0_s cn63xx;
903         struct cvmx_sli_last_win_rdata0_s cn63xxp1;
904         struct cvmx_sli_last_win_rdata0_s cn66xx;
905         struct cvmx_sli_last_win_rdata0_s cn68xx;
906         struct cvmx_sli_last_win_rdata0_s cn68xxp1;
907 };
908
909 union cvmx_sli_last_win_rdata1 {
910         uint64_t u64;
911         struct cvmx_sli_last_win_rdata1_s {
912                 uint64_t data:64;
913         } s;
914         struct cvmx_sli_last_win_rdata1_s cn61xx;
915         struct cvmx_sli_last_win_rdata1_s cn63xx;
916         struct cvmx_sli_last_win_rdata1_s cn63xxp1;
917         struct cvmx_sli_last_win_rdata1_s cn66xx;
918         struct cvmx_sli_last_win_rdata1_s cn68xx;
919         struct cvmx_sli_last_win_rdata1_s cn68xxp1;
920 };
921
922 union cvmx_sli_last_win_rdata2 {
923         uint64_t u64;
924         struct cvmx_sli_last_win_rdata2_s {
925                 uint64_t data:64;
926         } s;
927         struct cvmx_sli_last_win_rdata2_s cn61xx;
928         struct cvmx_sli_last_win_rdata2_s cn66xx;
929 };
930
931 union cvmx_sli_last_win_rdata3 {
932         uint64_t u64;
933         struct cvmx_sli_last_win_rdata3_s {
934                 uint64_t data:64;
935         } s;
936         struct cvmx_sli_last_win_rdata3_s cn61xx;
937         struct cvmx_sli_last_win_rdata3_s cn66xx;
938 };
939
940 union cvmx_sli_mac_credit_cnt {
941         uint64_t u64;
942         struct cvmx_sli_mac_credit_cnt_s {
943                 uint64_t reserved_54_63:10;
944                 uint64_t p1_c_d:1;
945                 uint64_t p1_n_d:1;
946                 uint64_t p1_p_d:1;
947                 uint64_t p0_c_d:1;
948                 uint64_t p0_n_d:1;
949                 uint64_t p0_p_d:1;
950                 uint64_t p1_ccnt:8;
951                 uint64_t p1_ncnt:8;
952                 uint64_t p1_pcnt:8;
953                 uint64_t p0_ccnt:8;
954                 uint64_t p0_ncnt:8;
955                 uint64_t p0_pcnt:8;
956         } s;
957         struct cvmx_sli_mac_credit_cnt_s cn61xx;
958         struct cvmx_sli_mac_credit_cnt_s cn63xx;
959         struct cvmx_sli_mac_credit_cnt_cn63xxp1 {
960                 uint64_t reserved_48_63:16;
961                 uint64_t p1_ccnt:8;
962                 uint64_t p1_ncnt:8;
963                 uint64_t p1_pcnt:8;
964                 uint64_t p0_ccnt:8;
965                 uint64_t p0_ncnt:8;
966                 uint64_t p0_pcnt:8;
967         } cn63xxp1;
968         struct cvmx_sli_mac_credit_cnt_s cn66xx;
969         struct cvmx_sli_mac_credit_cnt_s cn68xx;
970         struct cvmx_sli_mac_credit_cnt_s cn68xxp1;
971 };
972
973 union cvmx_sli_mac_credit_cnt2 {
974         uint64_t u64;
975         struct cvmx_sli_mac_credit_cnt2_s {
976                 uint64_t reserved_54_63:10;
977                 uint64_t p3_c_d:1;
978                 uint64_t p3_n_d:1;
979                 uint64_t p3_p_d:1;
980                 uint64_t p2_c_d:1;
981                 uint64_t p2_n_d:1;
982                 uint64_t p2_p_d:1;
983                 uint64_t p3_ccnt:8;
984                 uint64_t p3_ncnt:8;
985                 uint64_t p3_pcnt:8;
986                 uint64_t p2_ccnt:8;
987                 uint64_t p2_ncnt:8;
988                 uint64_t p2_pcnt:8;
989         } s;
990         struct cvmx_sli_mac_credit_cnt2_s cn61xx;
991         struct cvmx_sli_mac_credit_cnt2_s cn66xx;
992 };
993
994 union cvmx_sli_mac_number {
995         uint64_t u64;
996         struct cvmx_sli_mac_number_s {
997                 uint64_t reserved_9_63:55;
998                 uint64_t a_mode:1;
999                 uint64_t num:8;
1000         } s;
1001         struct cvmx_sli_mac_number_s cn61xx;
1002         struct cvmx_sli_mac_number_cn63xx {
1003                 uint64_t reserved_8_63:56;
1004                 uint64_t num:8;
1005         } cn63xx;
1006         struct cvmx_sli_mac_number_s cn66xx;
1007         struct cvmx_sli_mac_number_cn63xx cn68xx;
1008         struct cvmx_sli_mac_number_cn63xx cn68xxp1;
1009 };
1010
1011 union cvmx_sli_mem_access_ctl {
1012         uint64_t u64;
1013         struct cvmx_sli_mem_access_ctl_s {
1014                 uint64_t reserved_14_63:50;
1015                 uint64_t max_word:4;
1016                 uint64_t timer:10;
1017         } s;
1018         struct cvmx_sli_mem_access_ctl_s cn61xx;
1019         struct cvmx_sli_mem_access_ctl_s cn63xx;
1020         struct cvmx_sli_mem_access_ctl_s cn63xxp1;
1021         struct cvmx_sli_mem_access_ctl_s cn66xx;
1022         struct cvmx_sli_mem_access_ctl_s cn68xx;
1023         struct cvmx_sli_mem_access_ctl_s cn68xxp1;
1024 };
1025
1026 union cvmx_sli_mem_access_subidx {
1027         uint64_t u64;
1028         struct cvmx_sli_mem_access_subidx_s {
1029                 uint64_t reserved_43_63:21;
1030                 uint64_t zero:1;
1031                 uint64_t port:3;
1032                 uint64_t nmerge:1;
1033                 uint64_t esr:2;
1034                 uint64_t esw:2;
1035                 uint64_t wtype:2;
1036                 uint64_t rtype:2;
1037                 uint64_t reserved_0_29:30;
1038         } s;
1039         struct cvmx_sli_mem_access_subidx_cn61xx {
1040                 uint64_t reserved_43_63:21;
1041                 uint64_t zero:1;
1042                 uint64_t port:3;
1043                 uint64_t nmerge:1;
1044                 uint64_t esr:2;
1045                 uint64_t esw:2;
1046                 uint64_t wtype:2;
1047                 uint64_t rtype:2;
1048                 uint64_t ba:30;
1049         } cn61xx;
1050         struct cvmx_sli_mem_access_subidx_cn61xx cn63xx;
1051         struct cvmx_sli_mem_access_subidx_cn61xx cn63xxp1;
1052         struct cvmx_sli_mem_access_subidx_cn61xx cn66xx;
1053         struct cvmx_sli_mem_access_subidx_cn68xx {
1054                 uint64_t reserved_43_63:21;
1055                 uint64_t zero:1;
1056                 uint64_t port:3;
1057                 uint64_t nmerge:1;
1058                 uint64_t esr:2;
1059                 uint64_t esw:2;
1060                 uint64_t wtype:2;
1061                 uint64_t rtype:2;
1062                 uint64_t ba:28;
1063                 uint64_t reserved_0_1:2;
1064         } cn68xx;
1065         struct cvmx_sli_mem_access_subidx_cn68xx cn68xxp1;
1066 };
1067
1068 union cvmx_sli_msi_enb0 {
1069         uint64_t u64;
1070         struct cvmx_sli_msi_enb0_s {
1071                 uint64_t enb:64;
1072         } s;
1073         struct cvmx_sli_msi_enb0_s cn61xx;
1074         struct cvmx_sli_msi_enb0_s cn63xx;
1075         struct cvmx_sli_msi_enb0_s cn63xxp1;
1076         struct cvmx_sli_msi_enb0_s cn66xx;
1077         struct cvmx_sli_msi_enb0_s cn68xx;
1078         struct cvmx_sli_msi_enb0_s cn68xxp1;
1079 };
1080
1081 union cvmx_sli_msi_enb1 {
1082         uint64_t u64;
1083         struct cvmx_sli_msi_enb1_s {
1084                 uint64_t enb:64;
1085         } s;
1086         struct cvmx_sli_msi_enb1_s cn61xx;
1087         struct cvmx_sli_msi_enb1_s cn63xx;
1088         struct cvmx_sli_msi_enb1_s cn63xxp1;
1089         struct cvmx_sli_msi_enb1_s cn66xx;
1090         struct cvmx_sli_msi_enb1_s cn68xx;
1091         struct cvmx_sli_msi_enb1_s cn68xxp1;
1092 };
1093
1094 union cvmx_sli_msi_enb2 {
1095         uint64_t u64;
1096         struct cvmx_sli_msi_enb2_s {
1097                 uint64_t enb:64;
1098         } s;
1099         struct cvmx_sli_msi_enb2_s cn61xx;
1100         struct cvmx_sli_msi_enb2_s cn63xx;
1101         struct cvmx_sli_msi_enb2_s cn63xxp1;
1102         struct cvmx_sli_msi_enb2_s cn66xx;
1103         struct cvmx_sli_msi_enb2_s cn68xx;
1104         struct cvmx_sli_msi_enb2_s cn68xxp1;
1105 };
1106
1107 union cvmx_sli_msi_enb3 {
1108         uint64_t u64;
1109         struct cvmx_sli_msi_enb3_s {
1110                 uint64_t enb:64;
1111         } s;
1112         struct cvmx_sli_msi_enb3_s cn61xx;
1113         struct cvmx_sli_msi_enb3_s cn63xx;
1114         struct cvmx_sli_msi_enb3_s cn63xxp1;
1115         struct cvmx_sli_msi_enb3_s cn66xx;
1116         struct cvmx_sli_msi_enb3_s cn68xx;
1117         struct cvmx_sli_msi_enb3_s cn68xxp1;
1118 };
1119
1120 union cvmx_sli_msi_rcv0 {
1121         uint64_t u64;
1122         struct cvmx_sli_msi_rcv0_s {
1123                 uint64_t intr:64;
1124         } s;
1125         struct cvmx_sli_msi_rcv0_s cn61xx;
1126         struct cvmx_sli_msi_rcv0_s cn63xx;
1127         struct cvmx_sli_msi_rcv0_s cn63xxp1;
1128         struct cvmx_sli_msi_rcv0_s cn66xx;
1129         struct cvmx_sli_msi_rcv0_s cn68xx;
1130         struct cvmx_sli_msi_rcv0_s cn68xxp1;
1131 };
1132
1133 union cvmx_sli_msi_rcv1 {
1134         uint64_t u64;
1135         struct cvmx_sli_msi_rcv1_s {
1136                 uint64_t intr:64;
1137         } s;
1138         struct cvmx_sli_msi_rcv1_s cn61xx;
1139         struct cvmx_sli_msi_rcv1_s cn63xx;
1140         struct cvmx_sli_msi_rcv1_s cn63xxp1;
1141         struct cvmx_sli_msi_rcv1_s cn66xx;
1142         struct cvmx_sli_msi_rcv1_s cn68xx;
1143         struct cvmx_sli_msi_rcv1_s cn68xxp1;
1144 };
1145
1146 union cvmx_sli_msi_rcv2 {
1147         uint64_t u64;
1148         struct cvmx_sli_msi_rcv2_s {
1149                 uint64_t intr:64;
1150         } s;
1151         struct cvmx_sli_msi_rcv2_s cn61xx;
1152         struct cvmx_sli_msi_rcv2_s cn63xx;
1153         struct cvmx_sli_msi_rcv2_s cn63xxp1;
1154         struct cvmx_sli_msi_rcv2_s cn66xx;
1155         struct cvmx_sli_msi_rcv2_s cn68xx;
1156         struct cvmx_sli_msi_rcv2_s cn68xxp1;
1157 };
1158
1159 union cvmx_sli_msi_rcv3 {
1160         uint64_t u64;
1161         struct cvmx_sli_msi_rcv3_s {
1162                 uint64_t intr:64;
1163         } s;
1164         struct cvmx_sli_msi_rcv3_s cn61xx;
1165         struct cvmx_sli_msi_rcv3_s cn63xx;
1166         struct cvmx_sli_msi_rcv3_s cn63xxp1;
1167         struct cvmx_sli_msi_rcv3_s cn66xx;
1168         struct cvmx_sli_msi_rcv3_s cn68xx;
1169         struct cvmx_sli_msi_rcv3_s cn68xxp1;
1170 };
1171
1172 union cvmx_sli_msi_rd_map {
1173         uint64_t u64;
1174         struct cvmx_sli_msi_rd_map_s {
1175                 uint64_t reserved_16_63:48;
1176                 uint64_t rd_int:8;
1177                 uint64_t msi_int:8;
1178         } s;
1179         struct cvmx_sli_msi_rd_map_s cn61xx;
1180         struct cvmx_sli_msi_rd_map_s cn63xx;
1181         struct cvmx_sli_msi_rd_map_s cn63xxp1;
1182         struct cvmx_sli_msi_rd_map_s cn66xx;
1183         struct cvmx_sli_msi_rd_map_s cn68xx;
1184         struct cvmx_sli_msi_rd_map_s cn68xxp1;
1185 };
1186
1187 union cvmx_sli_msi_w1c_enb0 {
1188         uint64_t u64;
1189         struct cvmx_sli_msi_w1c_enb0_s {
1190                 uint64_t clr:64;
1191         } s;
1192         struct cvmx_sli_msi_w1c_enb0_s cn61xx;
1193         struct cvmx_sli_msi_w1c_enb0_s cn63xx;
1194         struct cvmx_sli_msi_w1c_enb0_s cn63xxp1;
1195         struct cvmx_sli_msi_w1c_enb0_s cn66xx;
1196         struct cvmx_sli_msi_w1c_enb0_s cn68xx;
1197         struct cvmx_sli_msi_w1c_enb0_s cn68xxp1;
1198 };
1199
1200 union cvmx_sli_msi_w1c_enb1 {
1201         uint64_t u64;
1202         struct cvmx_sli_msi_w1c_enb1_s {
1203                 uint64_t clr:64;
1204         } s;
1205         struct cvmx_sli_msi_w1c_enb1_s cn61xx;
1206         struct cvmx_sli_msi_w1c_enb1_s cn63xx;
1207         struct cvmx_sli_msi_w1c_enb1_s cn63xxp1;
1208         struct cvmx_sli_msi_w1c_enb1_s cn66xx;
1209         struct cvmx_sli_msi_w1c_enb1_s cn68xx;
1210         struct cvmx_sli_msi_w1c_enb1_s cn68xxp1;
1211 };
1212
1213 union cvmx_sli_msi_w1c_enb2 {
1214         uint64_t u64;
1215         struct cvmx_sli_msi_w1c_enb2_s {
1216                 uint64_t clr:64;
1217         } s;
1218         struct cvmx_sli_msi_w1c_enb2_s cn61xx;
1219         struct cvmx_sli_msi_w1c_enb2_s cn63xx;
1220         struct cvmx_sli_msi_w1c_enb2_s cn63xxp1;
1221         struct cvmx_sli_msi_w1c_enb2_s cn66xx;
1222         struct cvmx_sli_msi_w1c_enb2_s cn68xx;
1223         struct cvmx_sli_msi_w1c_enb2_s cn68xxp1;
1224 };
1225
1226 union cvmx_sli_msi_w1c_enb3 {
1227         uint64_t u64;
1228         struct cvmx_sli_msi_w1c_enb3_s {
1229                 uint64_t clr:64;
1230         } s;
1231         struct cvmx_sli_msi_w1c_enb3_s cn61xx;
1232         struct cvmx_sli_msi_w1c_enb3_s cn63xx;
1233         struct cvmx_sli_msi_w1c_enb3_s cn63xxp1;
1234         struct cvmx_sli_msi_w1c_enb3_s cn66xx;
1235         struct cvmx_sli_msi_w1c_enb3_s cn68xx;
1236         struct cvmx_sli_msi_w1c_enb3_s cn68xxp1;
1237 };
1238
1239 union cvmx_sli_msi_w1s_enb0 {
1240         uint64_t u64;
1241         struct cvmx_sli_msi_w1s_enb0_s {
1242                 uint64_t set:64;
1243         } s;
1244         struct cvmx_sli_msi_w1s_enb0_s cn61xx;
1245         struct cvmx_sli_msi_w1s_enb0_s cn63xx;
1246         struct cvmx_sli_msi_w1s_enb0_s cn63xxp1;
1247         struct cvmx_sli_msi_w1s_enb0_s cn66xx;
1248         struct cvmx_sli_msi_w1s_enb0_s cn68xx;
1249         struct cvmx_sli_msi_w1s_enb0_s cn68xxp1;
1250 };
1251
1252 union cvmx_sli_msi_w1s_enb1 {
1253         uint64_t u64;
1254         struct cvmx_sli_msi_w1s_enb1_s {
1255                 uint64_t set:64;
1256         } s;
1257         struct cvmx_sli_msi_w1s_enb1_s cn61xx;
1258         struct cvmx_sli_msi_w1s_enb1_s cn63xx;
1259         struct cvmx_sli_msi_w1s_enb1_s cn63xxp1;
1260         struct cvmx_sli_msi_w1s_enb1_s cn66xx;
1261         struct cvmx_sli_msi_w1s_enb1_s cn68xx;
1262         struct cvmx_sli_msi_w1s_enb1_s cn68xxp1;
1263 };
1264
1265 union cvmx_sli_msi_w1s_enb2 {
1266         uint64_t u64;
1267         struct cvmx_sli_msi_w1s_enb2_s {
1268                 uint64_t set:64;
1269         } s;
1270         struct cvmx_sli_msi_w1s_enb2_s cn61xx;
1271         struct cvmx_sli_msi_w1s_enb2_s cn63xx;
1272         struct cvmx_sli_msi_w1s_enb2_s cn63xxp1;
1273         struct cvmx_sli_msi_w1s_enb2_s cn66xx;
1274         struct cvmx_sli_msi_w1s_enb2_s cn68xx;
1275         struct cvmx_sli_msi_w1s_enb2_s cn68xxp1;
1276 };
1277
1278 union cvmx_sli_msi_w1s_enb3 {
1279         uint64_t u64;
1280         struct cvmx_sli_msi_w1s_enb3_s {
1281                 uint64_t set:64;
1282         } s;
1283         struct cvmx_sli_msi_w1s_enb3_s cn61xx;
1284         struct cvmx_sli_msi_w1s_enb3_s cn63xx;
1285         struct cvmx_sli_msi_w1s_enb3_s cn63xxp1;
1286         struct cvmx_sli_msi_w1s_enb3_s cn66xx;
1287         struct cvmx_sli_msi_w1s_enb3_s cn68xx;
1288         struct cvmx_sli_msi_w1s_enb3_s cn68xxp1;
1289 };
1290
1291 union cvmx_sli_msi_wr_map {
1292         uint64_t u64;
1293         struct cvmx_sli_msi_wr_map_s {
1294                 uint64_t reserved_16_63:48;
1295                 uint64_t ciu_int:8;
1296                 uint64_t msi_int:8;
1297         } s;
1298         struct cvmx_sli_msi_wr_map_s cn61xx;
1299         struct cvmx_sli_msi_wr_map_s cn63xx;
1300         struct cvmx_sli_msi_wr_map_s cn63xxp1;
1301         struct cvmx_sli_msi_wr_map_s cn66xx;
1302         struct cvmx_sli_msi_wr_map_s cn68xx;
1303         struct cvmx_sli_msi_wr_map_s cn68xxp1;
1304 };
1305
1306 union cvmx_sli_pcie_msi_rcv {
1307         uint64_t u64;
1308         struct cvmx_sli_pcie_msi_rcv_s {
1309                 uint64_t reserved_8_63:56;
1310                 uint64_t intr:8;
1311         } s;
1312         struct cvmx_sli_pcie_msi_rcv_s cn61xx;
1313         struct cvmx_sli_pcie_msi_rcv_s cn63xx;
1314         struct cvmx_sli_pcie_msi_rcv_s cn63xxp1;
1315         struct cvmx_sli_pcie_msi_rcv_s cn66xx;
1316         struct cvmx_sli_pcie_msi_rcv_s cn68xx;
1317         struct cvmx_sli_pcie_msi_rcv_s cn68xxp1;
1318 };
1319
1320 union cvmx_sli_pcie_msi_rcv_b1 {
1321         uint64_t u64;
1322         struct cvmx_sli_pcie_msi_rcv_b1_s {
1323                 uint64_t reserved_16_63:48;
1324                 uint64_t intr:8;
1325                 uint64_t reserved_0_7:8;
1326         } s;
1327         struct cvmx_sli_pcie_msi_rcv_b1_s cn61xx;
1328         struct cvmx_sli_pcie_msi_rcv_b1_s cn63xx;
1329         struct cvmx_sli_pcie_msi_rcv_b1_s cn63xxp1;
1330         struct cvmx_sli_pcie_msi_rcv_b1_s cn66xx;
1331         struct cvmx_sli_pcie_msi_rcv_b1_s cn68xx;
1332         struct cvmx_sli_pcie_msi_rcv_b1_s cn68xxp1;
1333 };
1334
1335 union cvmx_sli_pcie_msi_rcv_b2 {
1336         uint64_t u64;
1337         struct cvmx_sli_pcie_msi_rcv_b2_s {
1338                 uint64_t reserved_24_63:40;
1339                 uint64_t intr:8;
1340                 uint64_t reserved_0_15:16;
1341         } s;
1342         struct cvmx_sli_pcie_msi_rcv_b2_s cn61xx;
1343         struct cvmx_sli_pcie_msi_rcv_b2_s cn63xx;
1344         struct cvmx_sli_pcie_msi_rcv_b2_s cn63xxp1;
1345         struct cvmx_sli_pcie_msi_rcv_b2_s cn66xx;
1346         struct cvmx_sli_pcie_msi_rcv_b2_s cn68xx;
1347         struct cvmx_sli_pcie_msi_rcv_b2_s cn68xxp1;
1348 };
1349
1350 union cvmx_sli_pcie_msi_rcv_b3 {
1351         uint64_t u64;
1352         struct cvmx_sli_pcie_msi_rcv_b3_s {
1353                 uint64_t reserved_32_63:32;
1354                 uint64_t intr:8;
1355                 uint64_t reserved_0_23:24;
1356         } s;
1357         struct cvmx_sli_pcie_msi_rcv_b3_s cn61xx;
1358         struct cvmx_sli_pcie_msi_rcv_b3_s cn63xx;
1359         struct cvmx_sli_pcie_msi_rcv_b3_s cn63xxp1;
1360         struct cvmx_sli_pcie_msi_rcv_b3_s cn66xx;
1361         struct cvmx_sli_pcie_msi_rcv_b3_s cn68xx;
1362         struct cvmx_sli_pcie_msi_rcv_b3_s cn68xxp1;
1363 };
1364
1365 union cvmx_sli_pktx_cnts {
1366         uint64_t u64;
1367         struct cvmx_sli_pktx_cnts_s {
1368                 uint64_t reserved_54_63:10;
1369                 uint64_t timer:22;
1370                 uint64_t cnt:32;
1371         } s;
1372         struct cvmx_sli_pktx_cnts_s cn61xx;
1373         struct cvmx_sli_pktx_cnts_s cn63xx;
1374         struct cvmx_sli_pktx_cnts_s cn63xxp1;
1375         struct cvmx_sli_pktx_cnts_s cn66xx;
1376         struct cvmx_sli_pktx_cnts_s cn68xx;
1377         struct cvmx_sli_pktx_cnts_s cn68xxp1;
1378 };
1379
1380 union cvmx_sli_pktx_in_bp {
1381         uint64_t u64;
1382         struct cvmx_sli_pktx_in_bp_s {
1383                 uint64_t wmark:32;
1384                 uint64_t cnt:32;
1385         } s;
1386         struct cvmx_sli_pktx_in_bp_s cn61xx;
1387         struct cvmx_sli_pktx_in_bp_s cn63xx;
1388         struct cvmx_sli_pktx_in_bp_s cn63xxp1;
1389         struct cvmx_sli_pktx_in_bp_s cn66xx;
1390 };
1391
1392 union cvmx_sli_pktx_instr_baddr {
1393         uint64_t u64;
1394         struct cvmx_sli_pktx_instr_baddr_s {
1395                 uint64_t addr:61;
1396                 uint64_t reserved_0_2:3;
1397         } s;
1398         struct cvmx_sli_pktx_instr_baddr_s cn61xx;
1399         struct cvmx_sli_pktx_instr_baddr_s cn63xx;
1400         struct cvmx_sli_pktx_instr_baddr_s cn63xxp1;
1401         struct cvmx_sli_pktx_instr_baddr_s cn66xx;
1402         struct cvmx_sli_pktx_instr_baddr_s cn68xx;
1403         struct cvmx_sli_pktx_instr_baddr_s cn68xxp1;
1404 };
1405
1406 union cvmx_sli_pktx_instr_baoff_dbell {
1407         uint64_t u64;
1408         struct cvmx_sli_pktx_instr_baoff_dbell_s {
1409                 uint64_t aoff:32;
1410                 uint64_t dbell:32;
1411         } s;
1412         struct cvmx_sli_pktx_instr_baoff_dbell_s cn61xx;
1413         struct cvmx_sli_pktx_instr_baoff_dbell_s cn63xx;
1414         struct cvmx_sli_pktx_instr_baoff_dbell_s cn63xxp1;
1415         struct cvmx_sli_pktx_instr_baoff_dbell_s cn66xx;
1416         struct cvmx_sli_pktx_instr_baoff_dbell_s cn68xx;
1417         struct cvmx_sli_pktx_instr_baoff_dbell_s cn68xxp1;
1418 };
1419
1420 union cvmx_sli_pktx_instr_fifo_rsize {
1421         uint64_t u64;
1422         struct cvmx_sli_pktx_instr_fifo_rsize_s {
1423                 uint64_t max:9;
1424                 uint64_t rrp:9;
1425                 uint64_t wrp:9;
1426                 uint64_t fcnt:5;
1427                 uint64_t rsize:32;
1428         } s;
1429         struct cvmx_sli_pktx_instr_fifo_rsize_s cn61xx;
1430         struct cvmx_sli_pktx_instr_fifo_rsize_s cn63xx;
1431         struct cvmx_sli_pktx_instr_fifo_rsize_s cn63xxp1;
1432         struct cvmx_sli_pktx_instr_fifo_rsize_s cn66xx;
1433         struct cvmx_sli_pktx_instr_fifo_rsize_s cn68xx;
1434         struct cvmx_sli_pktx_instr_fifo_rsize_s cn68xxp1;
1435 };
1436
1437 union cvmx_sli_pktx_instr_header {
1438         uint64_t u64;
1439         struct cvmx_sli_pktx_instr_header_s {
1440                 uint64_t reserved_44_63:20;
1441                 uint64_t pbp:1;
1442                 uint64_t reserved_38_42:5;
1443                 uint64_t rparmode:2;
1444                 uint64_t reserved_35_35:1;
1445                 uint64_t rskp_len:7;
1446                 uint64_t rngrpext:2;
1447                 uint64_t rnqos:1;
1448                 uint64_t rngrp:1;
1449                 uint64_t rntt:1;
1450                 uint64_t rntag:1;
1451                 uint64_t use_ihdr:1;
1452                 uint64_t reserved_16_20:5;
1453                 uint64_t par_mode:2;
1454                 uint64_t reserved_13_13:1;
1455                 uint64_t skp_len:7;
1456                 uint64_t ngrpext:2;
1457                 uint64_t nqos:1;
1458                 uint64_t ngrp:1;
1459                 uint64_t ntt:1;
1460                 uint64_t ntag:1;
1461         } s;
1462         struct cvmx_sli_pktx_instr_header_cn61xx {
1463                 uint64_t reserved_44_63:20;
1464                 uint64_t pbp:1;
1465                 uint64_t reserved_38_42:5;
1466                 uint64_t rparmode:2;
1467                 uint64_t reserved_35_35:1;
1468                 uint64_t rskp_len:7;
1469                 uint64_t reserved_26_27:2;
1470                 uint64_t rnqos:1;
1471                 uint64_t rngrp:1;
1472                 uint64_t rntt:1;
1473                 uint64_t rntag:1;
1474                 uint64_t use_ihdr:1;
1475                 uint64_t reserved_16_20:5;
1476                 uint64_t par_mode:2;
1477                 uint64_t reserved_13_13:1;
1478                 uint64_t skp_len:7;
1479                 uint64_t reserved_4_5:2;
1480                 uint64_t nqos:1;
1481                 uint64_t ngrp:1;
1482                 uint64_t ntt:1;
1483                 uint64_t ntag:1;
1484         } cn61xx;
1485         struct cvmx_sli_pktx_instr_header_cn61xx cn63xx;
1486         struct cvmx_sli_pktx_instr_header_cn61xx cn63xxp1;
1487         struct cvmx_sli_pktx_instr_header_cn61xx cn66xx;
1488         struct cvmx_sli_pktx_instr_header_s cn68xx;
1489         struct cvmx_sli_pktx_instr_header_cn61xx cn68xxp1;
1490 };
1491
1492 union cvmx_sli_pktx_out_size {
1493         uint64_t u64;
1494         struct cvmx_sli_pktx_out_size_s {
1495                 uint64_t reserved_23_63:41;
1496                 uint64_t isize:7;
1497                 uint64_t bsize:16;
1498         } s;
1499         struct cvmx_sli_pktx_out_size_s cn61xx;
1500         struct cvmx_sli_pktx_out_size_s cn63xx;
1501         struct cvmx_sli_pktx_out_size_s cn63xxp1;
1502         struct cvmx_sli_pktx_out_size_s cn66xx;
1503         struct cvmx_sli_pktx_out_size_s cn68xx;
1504         struct cvmx_sli_pktx_out_size_s cn68xxp1;
1505 };
1506
1507 union cvmx_sli_pktx_slist_baddr {
1508         uint64_t u64;
1509         struct cvmx_sli_pktx_slist_baddr_s {
1510                 uint64_t addr:60;
1511                 uint64_t reserved_0_3:4;
1512         } s;
1513         struct cvmx_sli_pktx_slist_baddr_s cn61xx;
1514         struct cvmx_sli_pktx_slist_baddr_s cn63xx;
1515         struct cvmx_sli_pktx_slist_baddr_s cn63xxp1;
1516         struct cvmx_sli_pktx_slist_baddr_s cn66xx;
1517         struct cvmx_sli_pktx_slist_baddr_s cn68xx;
1518         struct cvmx_sli_pktx_slist_baddr_s cn68xxp1;
1519 };
1520
1521 union cvmx_sli_pktx_slist_baoff_dbell {
1522         uint64_t u64;
1523         struct cvmx_sli_pktx_slist_baoff_dbell_s {
1524                 uint64_t aoff:32;
1525                 uint64_t dbell:32;
1526         } s;
1527         struct cvmx_sli_pktx_slist_baoff_dbell_s cn61xx;
1528         struct cvmx_sli_pktx_slist_baoff_dbell_s cn63xx;
1529         struct cvmx_sli_pktx_slist_baoff_dbell_s cn63xxp1;
1530         struct cvmx_sli_pktx_slist_baoff_dbell_s cn66xx;
1531         struct cvmx_sli_pktx_slist_baoff_dbell_s cn68xx;
1532         struct cvmx_sli_pktx_slist_baoff_dbell_s cn68xxp1;
1533 };
1534
1535 union cvmx_sli_pktx_slist_fifo_rsize {
1536         uint64_t u64;
1537         struct cvmx_sli_pktx_slist_fifo_rsize_s {
1538                 uint64_t reserved_32_63:32;
1539                 uint64_t rsize:32;
1540         } s;
1541         struct cvmx_sli_pktx_slist_fifo_rsize_s cn61xx;
1542         struct cvmx_sli_pktx_slist_fifo_rsize_s cn63xx;
1543         struct cvmx_sli_pktx_slist_fifo_rsize_s cn63xxp1;
1544         struct cvmx_sli_pktx_slist_fifo_rsize_s cn66xx;
1545         struct cvmx_sli_pktx_slist_fifo_rsize_s cn68xx;
1546         struct cvmx_sli_pktx_slist_fifo_rsize_s cn68xxp1;
1547 };
1548
1549 union cvmx_sli_pkt_cnt_int {
1550         uint64_t u64;
1551         struct cvmx_sli_pkt_cnt_int_s {
1552                 uint64_t reserved_32_63:32;
1553                 uint64_t port:32;
1554         } s;
1555         struct cvmx_sli_pkt_cnt_int_s cn61xx;
1556         struct cvmx_sli_pkt_cnt_int_s cn63xx;
1557         struct cvmx_sli_pkt_cnt_int_s cn63xxp1;
1558         struct cvmx_sli_pkt_cnt_int_s cn66xx;
1559         struct cvmx_sli_pkt_cnt_int_s cn68xx;
1560         struct cvmx_sli_pkt_cnt_int_s cn68xxp1;
1561 };
1562
1563 union cvmx_sli_pkt_cnt_int_enb {
1564         uint64_t u64;
1565         struct cvmx_sli_pkt_cnt_int_enb_s {
1566                 uint64_t reserved_32_63:32;
1567                 uint64_t port:32;
1568         } s;
1569         struct cvmx_sli_pkt_cnt_int_enb_s cn61xx;
1570         struct cvmx_sli_pkt_cnt_int_enb_s cn63xx;
1571         struct cvmx_sli_pkt_cnt_int_enb_s cn63xxp1;
1572         struct cvmx_sli_pkt_cnt_int_enb_s cn66xx;
1573         struct cvmx_sli_pkt_cnt_int_enb_s cn68xx;
1574         struct cvmx_sli_pkt_cnt_int_enb_s cn68xxp1;
1575 };
1576
1577 union cvmx_sli_pkt_ctl {
1578         uint64_t u64;
1579         struct cvmx_sli_pkt_ctl_s {
1580                 uint64_t reserved_5_63:59;
1581                 uint64_t ring_en:1;
1582                 uint64_t pkt_bp:4;
1583         } s;
1584         struct cvmx_sli_pkt_ctl_s cn61xx;
1585         struct cvmx_sli_pkt_ctl_s cn63xx;
1586         struct cvmx_sli_pkt_ctl_s cn63xxp1;
1587         struct cvmx_sli_pkt_ctl_s cn66xx;
1588         struct cvmx_sli_pkt_ctl_s cn68xx;
1589         struct cvmx_sli_pkt_ctl_s cn68xxp1;
1590 };
1591
1592 union cvmx_sli_pkt_data_out_es {
1593         uint64_t u64;
1594         struct cvmx_sli_pkt_data_out_es_s {
1595                 uint64_t es:64;
1596         } s;
1597         struct cvmx_sli_pkt_data_out_es_s cn61xx;
1598         struct cvmx_sli_pkt_data_out_es_s cn63xx;
1599         struct cvmx_sli_pkt_data_out_es_s cn63xxp1;
1600         struct cvmx_sli_pkt_data_out_es_s cn66xx;
1601         struct cvmx_sli_pkt_data_out_es_s cn68xx;
1602         struct cvmx_sli_pkt_data_out_es_s cn68xxp1;
1603 };
1604
1605 union cvmx_sli_pkt_data_out_ns {
1606         uint64_t u64;
1607         struct cvmx_sli_pkt_data_out_ns_s {
1608                 uint64_t reserved_32_63:32;
1609                 uint64_t nsr:32;
1610         } s;
1611         struct cvmx_sli_pkt_data_out_ns_s cn61xx;
1612         struct cvmx_sli_pkt_data_out_ns_s cn63xx;
1613         struct cvmx_sli_pkt_data_out_ns_s cn63xxp1;
1614         struct cvmx_sli_pkt_data_out_ns_s cn66xx;
1615         struct cvmx_sli_pkt_data_out_ns_s cn68xx;
1616         struct cvmx_sli_pkt_data_out_ns_s cn68xxp1;
1617 };
1618
1619 union cvmx_sli_pkt_data_out_ror {
1620         uint64_t u64;
1621         struct cvmx_sli_pkt_data_out_ror_s {
1622                 uint64_t reserved_32_63:32;
1623                 uint64_t ror:32;
1624         } s;
1625         struct cvmx_sli_pkt_data_out_ror_s cn61xx;
1626         struct cvmx_sli_pkt_data_out_ror_s cn63xx;
1627         struct cvmx_sli_pkt_data_out_ror_s cn63xxp1;
1628         struct cvmx_sli_pkt_data_out_ror_s cn66xx;
1629         struct cvmx_sli_pkt_data_out_ror_s cn68xx;
1630         struct cvmx_sli_pkt_data_out_ror_s cn68xxp1;
1631 };
1632
1633 union cvmx_sli_pkt_dpaddr {
1634         uint64_t u64;
1635         struct cvmx_sli_pkt_dpaddr_s {
1636                 uint64_t reserved_32_63:32;
1637                 uint64_t dptr:32;
1638         } s;
1639         struct cvmx_sli_pkt_dpaddr_s cn61xx;
1640         struct cvmx_sli_pkt_dpaddr_s cn63xx;
1641         struct cvmx_sli_pkt_dpaddr_s cn63xxp1;
1642         struct cvmx_sli_pkt_dpaddr_s cn66xx;
1643         struct cvmx_sli_pkt_dpaddr_s cn68xx;
1644         struct cvmx_sli_pkt_dpaddr_s cn68xxp1;
1645 };
1646
1647 union cvmx_sli_pkt_in_bp {
1648         uint64_t u64;
1649         struct cvmx_sli_pkt_in_bp_s {
1650                 uint64_t reserved_32_63:32;
1651                 uint64_t bp:32;
1652         } s;
1653         struct cvmx_sli_pkt_in_bp_s cn61xx;
1654         struct cvmx_sli_pkt_in_bp_s cn63xx;
1655         struct cvmx_sli_pkt_in_bp_s cn63xxp1;
1656         struct cvmx_sli_pkt_in_bp_s cn66xx;
1657 };
1658
1659 union cvmx_sli_pkt_in_donex_cnts {
1660         uint64_t u64;
1661         struct cvmx_sli_pkt_in_donex_cnts_s {
1662                 uint64_t reserved_32_63:32;
1663                 uint64_t cnt:32;
1664         } s;
1665         struct cvmx_sli_pkt_in_donex_cnts_s cn61xx;
1666         struct cvmx_sli_pkt_in_donex_cnts_s cn63xx;
1667         struct cvmx_sli_pkt_in_donex_cnts_s cn63xxp1;
1668         struct cvmx_sli_pkt_in_donex_cnts_s cn66xx;
1669         struct cvmx_sli_pkt_in_donex_cnts_s cn68xx;
1670         struct cvmx_sli_pkt_in_donex_cnts_s cn68xxp1;
1671 };
1672
1673 union cvmx_sli_pkt_in_instr_counts {
1674         uint64_t u64;
1675         struct cvmx_sli_pkt_in_instr_counts_s {
1676                 uint64_t wr_cnt:32;
1677                 uint64_t rd_cnt:32;
1678         } s;
1679         struct cvmx_sli_pkt_in_instr_counts_s cn61xx;
1680         struct cvmx_sli_pkt_in_instr_counts_s cn63xx;
1681         struct cvmx_sli_pkt_in_instr_counts_s cn63xxp1;
1682         struct cvmx_sli_pkt_in_instr_counts_s cn66xx;
1683         struct cvmx_sli_pkt_in_instr_counts_s cn68xx;
1684         struct cvmx_sli_pkt_in_instr_counts_s cn68xxp1;
1685 };
1686
1687 union cvmx_sli_pkt_in_pcie_port {
1688         uint64_t u64;
1689         struct cvmx_sli_pkt_in_pcie_port_s {
1690                 uint64_t pp:64;
1691         } s;
1692         struct cvmx_sli_pkt_in_pcie_port_s cn61xx;
1693         struct cvmx_sli_pkt_in_pcie_port_s cn63xx;
1694         struct cvmx_sli_pkt_in_pcie_port_s cn63xxp1;
1695         struct cvmx_sli_pkt_in_pcie_port_s cn66xx;
1696         struct cvmx_sli_pkt_in_pcie_port_s cn68xx;
1697         struct cvmx_sli_pkt_in_pcie_port_s cn68xxp1;
1698 };
1699
1700 union cvmx_sli_pkt_input_control {
1701         uint64_t u64;
1702         struct cvmx_sli_pkt_input_control_s {
1703                 uint64_t prd_erst:1;
1704                 uint64_t prd_rds:7;
1705                 uint64_t gii_erst:1;
1706                 uint64_t gii_rds:7;
1707                 uint64_t reserved_41_47:7;
1708                 uint64_t prc_idle:1;
1709                 uint64_t reserved_24_39:16;
1710                 uint64_t pin_rst:1;
1711                 uint64_t pkt_rr:1;
1712                 uint64_t pbp_dhi:13;
1713                 uint64_t d_nsr:1;
1714                 uint64_t d_esr:2;
1715                 uint64_t d_ror:1;
1716                 uint64_t use_csr:1;
1717                 uint64_t nsr:1;
1718                 uint64_t esr:2;
1719                 uint64_t ror:1;
1720         } s;
1721         struct cvmx_sli_pkt_input_control_s cn61xx;
1722         struct cvmx_sli_pkt_input_control_cn63xx {
1723                 uint64_t reserved_23_63:41;
1724                 uint64_t pkt_rr:1;
1725                 uint64_t pbp_dhi:13;
1726                 uint64_t d_nsr:1;
1727                 uint64_t d_esr:2;
1728                 uint64_t d_ror:1;
1729                 uint64_t use_csr:1;
1730                 uint64_t nsr:1;
1731                 uint64_t esr:2;
1732                 uint64_t ror:1;
1733         } cn63xx;
1734         struct cvmx_sli_pkt_input_control_cn63xx cn63xxp1;
1735         struct cvmx_sli_pkt_input_control_s cn66xx;
1736         struct cvmx_sli_pkt_input_control_s cn68xx;
1737         struct cvmx_sli_pkt_input_control_s cn68xxp1;
1738 };
1739
1740 union cvmx_sli_pkt_instr_enb {
1741         uint64_t u64;
1742         struct cvmx_sli_pkt_instr_enb_s {
1743                 uint64_t reserved_32_63:32;
1744                 uint64_t enb:32;
1745         } s;
1746         struct cvmx_sli_pkt_instr_enb_s cn61xx;
1747         struct cvmx_sli_pkt_instr_enb_s cn63xx;
1748         struct cvmx_sli_pkt_instr_enb_s cn63xxp1;
1749         struct cvmx_sli_pkt_instr_enb_s cn66xx;
1750         struct cvmx_sli_pkt_instr_enb_s cn68xx;
1751         struct cvmx_sli_pkt_instr_enb_s cn68xxp1;
1752 };
1753
1754 union cvmx_sli_pkt_instr_rd_size {
1755         uint64_t u64;
1756         struct cvmx_sli_pkt_instr_rd_size_s {
1757                 uint64_t rdsize:64;
1758         } s;
1759         struct cvmx_sli_pkt_instr_rd_size_s cn61xx;
1760         struct cvmx_sli_pkt_instr_rd_size_s cn63xx;
1761         struct cvmx_sli_pkt_instr_rd_size_s cn63xxp1;
1762         struct cvmx_sli_pkt_instr_rd_size_s cn66xx;
1763         struct cvmx_sli_pkt_instr_rd_size_s cn68xx;
1764         struct cvmx_sli_pkt_instr_rd_size_s cn68xxp1;
1765 };
1766
1767 union cvmx_sli_pkt_instr_size {
1768         uint64_t u64;
1769         struct cvmx_sli_pkt_instr_size_s {
1770                 uint64_t reserved_32_63:32;
1771                 uint64_t is_64b:32;
1772         } s;
1773         struct cvmx_sli_pkt_instr_size_s cn61xx;
1774         struct cvmx_sli_pkt_instr_size_s cn63xx;
1775         struct cvmx_sli_pkt_instr_size_s cn63xxp1;
1776         struct cvmx_sli_pkt_instr_size_s cn66xx;
1777         struct cvmx_sli_pkt_instr_size_s cn68xx;
1778         struct cvmx_sli_pkt_instr_size_s cn68xxp1;
1779 };
1780
1781 union cvmx_sli_pkt_int_levels {
1782         uint64_t u64;
1783         struct cvmx_sli_pkt_int_levels_s {
1784                 uint64_t reserved_54_63:10;
1785                 uint64_t time:22;
1786                 uint64_t cnt:32;
1787         } s;
1788         struct cvmx_sli_pkt_int_levels_s cn61xx;
1789         struct cvmx_sli_pkt_int_levels_s cn63xx;
1790         struct cvmx_sli_pkt_int_levels_s cn63xxp1;
1791         struct cvmx_sli_pkt_int_levels_s cn66xx;
1792         struct cvmx_sli_pkt_int_levels_s cn68xx;
1793         struct cvmx_sli_pkt_int_levels_s cn68xxp1;
1794 };
1795
1796 union cvmx_sli_pkt_iptr {
1797         uint64_t u64;
1798         struct cvmx_sli_pkt_iptr_s {
1799                 uint64_t reserved_32_63:32;
1800                 uint64_t iptr:32;
1801         } s;
1802         struct cvmx_sli_pkt_iptr_s cn61xx;
1803         struct cvmx_sli_pkt_iptr_s cn63xx;
1804         struct cvmx_sli_pkt_iptr_s cn63xxp1;
1805         struct cvmx_sli_pkt_iptr_s cn66xx;
1806         struct cvmx_sli_pkt_iptr_s cn68xx;
1807         struct cvmx_sli_pkt_iptr_s cn68xxp1;
1808 };
1809
1810 union cvmx_sli_pkt_out_bmode {
1811         uint64_t u64;
1812         struct cvmx_sli_pkt_out_bmode_s {
1813                 uint64_t reserved_32_63:32;
1814                 uint64_t bmode:32;
1815         } s;
1816         struct cvmx_sli_pkt_out_bmode_s cn61xx;
1817         struct cvmx_sli_pkt_out_bmode_s cn63xx;
1818         struct cvmx_sli_pkt_out_bmode_s cn63xxp1;
1819         struct cvmx_sli_pkt_out_bmode_s cn66xx;
1820         struct cvmx_sli_pkt_out_bmode_s cn68xx;
1821         struct cvmx_sli_pkt_out_bmode_s cn68xxp1;
1822 };
1823
1824 union cvmx_sli_pkt_out_bp_en {
1825         uint64_t u64;
1826         struct cvmx_sli_pkt_out_bp_en_s {
1827                 uint64_t reserved_32_63:32;
1828                 uint64_t bp_en:32;
1829         } s;
1830         struct cvmx_sli_pkt_out_bp_en_s cn68xx;
1831         struct cvmx_sli_pkt_out_bp_en_s cn68xxp1;
1832 };
1833
1834 union cvmx_sli_pkt_out_enb {
1835         uint64_t u64;
1836         struct cvmx_sli_pkt_out_enb_s {
1837                 uint64_t reserved_32_63:32;
1838                 uint64_t enb:32;
1839         } s;
1840         struct cvmx_sli_pkt_out_enb_s cn61xx;
1841         struct cvmx_sli_pkt_out_enb_s cn63xx;
1842         struct cvmx_sli_pkt_out_enb_s cn63xxp1;
1843         struct cvmx_sli_pkt_out_enb_s cn66xx;
1844         struct cvmx_sli_pkt_out_enb_s cn68xx;
1845         struct cvmx_sli_pkt_out_enb_s cn68xxp1;
1846 };
1847
1848 union cvmx_sli_pkt_output_wmark {
1849         uint64_t u64;
1850         struct cvmx_sli_pkt_output_wmark_s {
1851                 uint64_t reserved_32_63:32;
1852                 uint64_t wmark:32;
1853         } s;
1854         struct cvmx_sli_pkt_output_wmark_s cn61xx;
1855         struct cvmx_sli_pkt_output_wmark_s cn63xx;
1856         struct cvmx_sli_pkt_output_wmark_s cn63xxp1;
1857         struct cvmx_sli_pkt_output_wmark_s cn66xx;
1858         struct cvmx_sli_pkt_output_wmark_s cn68xx;
1859         struct cvmx_sli_pkt_output_wmark_s cn68xxp1;
1860 };
1861
1862 union cvmx_sli_pkt_pcie_port {
1863         uint64_t u64;
1864         struct cvmx_sli_pkt_pcie_port_s {
1865                 uint64_t pp:64;
1866         } s;
1867         struct cvmx_sli_pkt_pcie_port_s cn61xx;
1868         struct cvmx_sli_pkt_pcie_port_s cn63xx;
1869         struct cvmx_sli_pkt_pcie_port_s cn63xxp1;
1870         struct cvmx_sli_pkt_pcie_port_s cn66xx;
1871         struct cvmx_sli_pkt_pcie_port_s cn68xx;
1872         struct cvmx_sli_pkt_pcie_port_s cn68xxp1;
1873 };
1874
1875 union cvmx_sli_pkt_port_in_rst {
1876         uint64_t u64;
1877         struct cvmx_sli_pkt_port_in_rst_s {
1878                 uint64_t in_rst:32;
1879                 uint64_t out_rst:32;
1880         } s;
1881         struct cvmx_sli_pkt_port_in_rst_s cn61xx;
1882         struct cvmx_sli_pkt_port_in_rst_s cn63xx;
1883         struct cvmx_sli_pkt_port_in_rst_s cn63xxp1;
1884         struct cvmx_sli_pkt_port_in_rst_s cn66xx;
1885         struct cvmx_sli_pkt_port_in_rst_s cn68xx;
1886         struct cvmx_sli_pkt_port_in_rst_s cn68xxp1;
1887 };
1888
1889 union cvmx_sli_pkt_slist_es {
1890         uint64_t u64;
1891         struct cvmx_sli_pkt_slist_es_s {
1892                 uint64_t es:64;
1893         } s;
1894         struct cvmx_sli_pkt_slist_es_s cn61xx;
1895         struct cvmx_sli_pkt_slist_es_s cn63xx;
1896         struct cvmx_sli_pkt_slist_es_s cn63xxp1;
1897         struct cvmx_sli_pkt_slist_es_s cn66xx;
1898         struct cvmx_sli_pkt_slist_es_s cn68xx;
1899         struct cvmx_sli_pkt_slist_es_s cn68xxp1;
1900 };
1901
1902 union cvmx_sli_pkt_slist_ns {
1903         uint64_t u64;
1904         struct cvmx_sli_pkt_slist_ns_s {
1905                 uint64_t reserved_32_63:32;
1906                 uint64_t nsr:32;
1907         } s;
1908         struct cvmx_sli_pkt_slist_ns_s cn61xx;
1909         struct cvmx_sli_pkt_slist_ns_s cn63xx;
1910         struct cvmx_sli_pkt_slist_ns_s cn63xxp1;
1911         struct cvmx_sli_pkt_slist_ns_s cn66xx;
1912         struct cvmx_sli_pkt_slist_ns_s cn68xx;
1913         struct cvmx_sli_pkt_slist_ns_s cn68xxp1;
1914 };
1915
1916 union cvmx_sli_pkt_slist_ror {
1917         uint64_t u64;
1918         struct cvmx_sli_pkt_slist_ror_s {
1919                 uint64_t reserved_32_63:32;
1920                 uint64_t ror:32;
1921         } s;
1922         struct cvmx_sli_pkt_slist_ror_s cn61xx;
1923         struct cvmx_sli_pkt_slist_ror_s cn63xx;
1924         struct cvmx_sli_pkt_slist_ror_s cn63xxp1;
1925         struct cvmx_sli_pkt_slist_ror_s cn66xx;
1926         struct cvmx_sli_pkt_slist_ror_s cn68xx;
1927         struct cvmx_sli_pkt_slist_ror_s cn68xxp1;
1928 };
1929
1930 union cvmx_sli_pkt_time_int {
1931         uint64_t u64;
1932         struct cvmx_sli_pkt_time_int_s {
1933                 uint64_t reserved_32_63:32;
1934                 uint64_t port:32;
1935         } s;
1936         struct cvmx_sli_pkt_time_int_s cn61xx;
1937         struct cvmx_sli_pkt_time_int_s cn63xx;
1938         struct cvmx_sli_pkt_time_int_s cn63xxp1;
1939         struct cvmx_sli_pkt_time_int_s cn66xx;
1940         struct cvmx_sli_pkt_time_int_s cn68xx;
1941         struct cvmx_sli_pkt_time_int_s cn68xxp1;
1942 };
1943
1944 union cvmx_sli_pkt_time_int_enb {
1945         uint64_t u64;
1946         struct cvmx_sli_pkt_time_int_enb_s {
1947                 uint64_t reserved_32_63:32;
1948                 uint64_t port:32;
1949         } s;
1950         struct cvmx_sli_pkt_time_int_enb_s cn61xx;
1951         struct cvmx_sli_pkt_time_int_enb_s cn63xx;
1952         struct cvmx_sli_pkt_time_int_enb_s cn63xxp1;
1953         struct cvmx_sli_pkt_time_int_enb_s cn66xx;
1954         struct cvmx_sli_pkt_time_int_enb_s cn68xx;
1955         struct cvmx_sli_pkt_time_int_enb_s cn68xxp1;
1956 };
1957
1958 union cvmx_sli_portx_pkind {
1959         uint64_t u64;
1960         struct cvmx_sli_portx_pkind_s {
1961                 uint64_t reserved_25_63:39;
1962                 uint64_t rpk_enb:1;
1963                 uint64_t reserved_22_23:2;
1964                 uint64_t pkindr:6;
1965                 uint64_t reserved_14_15:2;
1966                 uint64_t bpkind:6;
1967                 uint64_t reserved_6_7:2;
1968                 uint64_t pkind:6;
1969         } s;
1970         struct cvmx_sli_portx_pkind_s cn68xx;
1971         struct cvmx_sli_portx_pkind_cn68xxp1 {
1972                 uint64_t reserved_14_63:50;
1973                 uint64_t bpkind:6;
1974                 uint64_t reserved_6_7:2;
1975                 uint64_t pkind:6;
1976         } cn68xxp1;
1977 };
1978
1979 union cvmx_sli_s2m_portx_ctl {
1980         uint64_t u64;
1981         struct cvmx_sli_s2m_portx_ctl_s {
1982                 uint64_t reserved_5_63:59;
1983                 uint64_t wind_d:1;
1984                 uint64_t bar0_d:1;
1985                 uint64_t mrrs:3;
1986         } s;
1987         struct cvmx_sli_s2m_portx_ctl_s cn61xx;
1988         struct cvmx_sli_s2m_portx_ctl_s cn63xx;
1989         struct cvmx_sli_s2m_portx_ctl_s cn63xxp1;
1990         struct cvmx_sli_s2m_portx_ctl_s cn66xx;
1991         struct cvmx_sli_s2m_portx_ctl_s cn68xx;
1992         struct cvmx_sli_s2m_portx_ctl_s cn68xxp1;
1993 };
1994
1995 union cvmx_sli_scratch_1 {
1996         uint64_t u64;
1997         struct cvmx_sli_scratch_1_s {
1998                 uint64_t data:64;
1999         } s;
2000         struct cvmx_sli_scratch_1_s cn61xx;
2001         struct cvmx_sli_scratch_1_s cn63xx;
2002         struct cvmx_sli_scratch_1_s cn63xxp1;
2003         struct cvmx_sli_scratch_1_s cn66xx;
2004         struct cvmx_sli_scratch_1_s cn68xx;
2005         struct cvmx_sli_scratch_1_s cn68xxp1;
2006 };
2007
2008 union cvmx_sli_scratch_2 {
2009         uint64_t u64;
2010         struct cvmx_sli_scratch_2_s {
2011                 uint64_t data:64;
2012         } s;
2013         struct cvmx_sli_scratch_2_s cn61xx;
2014         struct cvmx_sli_scratch_2_s cn63xx;
2015         struct cvmx_sli_scratch_2_s cn63xxp1;
2016         struct cvmx_sli_scratch_2_s cn66xx;
2017         struct cvmx_sli_scratch_2_s cn68xx;
2018         struct cvmx_sli_scratch_2_s cn68xxp1;
2019 };
2020
2021 union cvmx_sli_state1 {
2022         uint64_t u64;
2023         struct cvmx_sli_state1_s {
2024                 uint64_t cpl1:12;
2025                 uint64_t cpl0:12;
2026                 uint64_t arb:1;
2027                 uint64_t csr:39;
2028         } s;
2029         struct cvmx_sli_state1_s cn61xx;
2030         struct cvmx_sli_state1_s cn63xx;
2031         struct cvmx_sli_state1_s cn63xxp1;
2032         struct cvmx_sli_state1_s cn66xx;
2033         struct cvmx_sli_state1_s cn68xx;
2034         struct cvmx_sli_state1_s cn68xxp1;
2035 };
2036
2037 union cvmx_sli_state2 {
2038         uint64_t u64;
2039         struct cvmx_sli_state2_s {
2040                 uint64_t reserved_56_63:8;
2041                 uint64_t nnp1:8;
2042                 uint64_t reserved_47_47:1;
2043                 uint64_t rac:1;
2044                 uint64_t csm1:15;
2045                 uint64_t csm0:15;
2046                 uint64_t nnp0:8;
2047                 uint64_t nnd:8;
2048         } s;
2049         struct cvmx_sli_state2_s cn61xx;
2050         struct cvmx_sli_state2_s cn63xx;
2051         struct cvmx_sli_state2_s cn63xxp1;
2052         struct cvmx_sli_state2_s cn66xx;
2053         struct cvmx_sli_state2_s cn68xx;
2054         struct cvmx_sli_state2_s cn68xxp1;
2055 };
2056
2057 union cvmx_sli_state3 {
2058         uint64_t u64;
2059         struct cvmx_sli_state3_s {
2060                 uint64_t reserved_56_63:8;
2061                 uint64_t psm1:15;
2062                 uint64_t psm0:15;
2063                 uint64_t nsm1:13;
2064                 uint64_t nsm0:13;
2065         } s;
2066         struct cvmx_sli_state3_s cn61xx;
2067         struct cvmx_sli_state3_s cn63xx;
2068         struct cvmx_sli_state3_s cn63xxp1;
2069         struct cvmx_sli_state3_s cn66xx;
2070         struct cvmx_sli_state3_s cn68xx;
2071         struct cvmx_sli_state3_s cn68xxp1;
2072 };
2073
2074 union cvmx_sli_tx_pipe {
2075         uint64_t u64;
2076         struct cvmx_sli_tx_pipe_s {
2077                 uint64_t reserved_24_63:40;
2078                 uint64_t nump:8;
2079                 uint64_t reserved_7_15:9;
2080                 uint64_t base:7;
2081         } s;
2082         struct cvmx_sli_tx_pipe_s cn68xx;
2083         struct cvmx_sli_tx_pipe_s cn68xxp1;
2084 };
2085
2086 union cvmx_sli_win_rd_addr {
2087         uint64_t u64;
2088         struct cvmx_sli_win_rd_addr_s {
2089                 uint64_t reserved_51_63:13;
2090                 uint64_t ld_cmd:2;
2091                 uint64_t iobit:1;
2092                 uint64_t rd_addr:48;
2093         } s;
2094         struct cvmx_sli_win_rd_addr_s cn61xx;
2095         struct cvmx_sli_win_rd_addr_s cn63xx;
2096         struct cvmx_sli_win_rd_addr_s cn63xxp1;
2097         struct cvmx_sli_win_rd_addr_s cn66xx;
2098         struct cvmx_sli_win_rd_addr_s cn68xx;
2099         struct cvmx_sli_win_rd_addr_s cn68xxp1;
2100 };
2101
2102 union cvmx_sli_win_rd_data {
2103         uint64_t u64;
2104         struct cvmx_sli_win_rd_data_s {
2105                 uint64_t rd_data:64;
2106         } s;
2107         struct cvmx_sli_win_rd_data_s cn61xx;
2108         struct cvmx_sli_win_rd_data_s cn63xx;
2109         struct cvmx_sli_win_rd_data_s cn63xxp1;
2110         struct cvmx_sli_win_rd_data_s cn66xx;
2111         struct cvmx_sli_win_rd_data_s cn68xx;
2112         struct cvmx_sli_win_rd_data_s cn68xxp1;
2113 };
2114
2115 union cvmx_sli_win_wr_addr {
2116         uint64_t u64;
2117         struct cvmx_sli_win_wr_addr_s {
2118                 uint64_t reserved_49_63:15;
2119                 uint64_t iobit:1;
2120                 uint64_t wr_addr:45;
2121                 uint64_t reserved_0_2:3;
2122         } s;
2123         struct cvmx_sli_win_wr_addr_s cn61xx;
2124         struct cvmx_sli_win_wr_addr_s cn63xx;
2125         struct cvmx_sli_win_wr_addr_s cn63xxp1;
2126         struct cvmx_sli_win_wr_addr_s cn66xx;
2127         struct cvmx_sli_win_wr_addr_s cn68xx;
2128         struct cvmx_sli_win_wr_addr_s cn68xxp1;
2129 };
2130
2131 union cvmx_sli_win_wr_data {
2132         uint64_t u64;
2133         struct cvmx_sli_win_wr_data_s {
2134                 uint64_t wr_data:64;
2135         } s;
2136         struct cvmx_sli_win_wr_data_s cn61xx;
2137         struct cvmx_sli_win_wr_data_s cn63xx;
2138         struct cvmx_sli_win_wr_data_s cn63xxp1;
2139         struct cvmx_sli_win_wr_data_s cn66xx;
2140         struct cvmx_sli_win_wr_data_s cn68xx;
2141         struct cvmx_sli_win_wr_data_s cn68xxp1;
2142 };
2143
2144 union cvmx_sli_win_wr_mask {
2145         uint64_t u64;
2146         struct cvmx_sli_win_wr_mask_s {
2147                 uint64_t reserved_8_63:56;
2148                 uint64_t wr_mask:8;
2149         } s;
2150         struct cvmx_sli_win_wr_mask_s cn61xx;
2151         struct cvmx_sli_win_wr_mask_s cn63xx;
2152         struct cvmx_sli_win_wr_mask_s cn63xxp1;
2153         struct cvmx_sli_win_wr_mask_s cn66xx;
2154         struct cvmx_sli_win_wr_mask_s cn68xx;
2155         struct cvmx_sli_win_wr_mask_s cn68xxp1;
2156 };
2157
2158 union cvmx_sli_window_ctl {
2159         uint64_t u64;
2160         struct cvmx_sli_window_ctl_s {
2161                 uint64_t reserved_32_63:32;
2162                 uint64_t time:32;
2163         } s;
2164         struct cvmx_sli_window_ctl_s cn61xx;
2165         struct cvmx_sli_window_ctl_s cn63xx;
2166         struct cvmx_sli_window_ctl_s cn63xxp1;
2167         struct cvmx_sli_window_ctl_s cn66xx;
2168         struct cvmx_sli_window_ctl_s cn68xx;
2169         struct cvmx_sli_window_ctl_s cn68xxp1;
2170 };
2171
2172 #endif