1 The MGMT ethernet driver uses the AGL, MIXX and SMIX blocks, so we add
4 Signed-off-by: David Daney <ddaney@caviumnetworks.com>
6 arch/mips/include/asm/octeon/cvmx-agl-defs.h | 1194 +++++++++++++++++++++++++
7 arch/mips/include/asm/octeon/cvmx-mixx-defs.h | 248 +++++
8 arch/mips/include/asm/octeon/cvmx-smix-defs.h | 178 ++++
9 3 files changed, 1620 insertions(+), 0 deletions(-)
10 create mode 100644 arch/mips/include/asm/octeon/cvmx-agl-defs.h
11 create mode 100644 arch/mips/include/asm/octeon/cvmx-mixx-defs.h
12 create mode 100644 arch/mips/include/asm/octeon/cvmx-smix-defs.h
15 +++ b/arch/mips/include/asm/octeon/cvmx-agl-defs.h
17 +/***********************license start***************
18 + * Author: Cavium Networks
20 + * Contact: support@caviumnetworks.com
21 + * This file is part of the OCTEON SDK
23 + * Copyright (c) 2003-2008 Cavium Networks
25 + * This file is free software; you can redistribute it and/or modify
26 + * it under the terms of the GNU General Public License, Version 2, as
27 + * published by the Free Software Foundation.
29 + * This file is distributed in the hope that it will be useful, but
30 + * AS-IS and WITHOUT ANY WARRANTY; without even the implied warranty
31 + * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE, TITLE, or
32 + * NONINFRINGEMENT. See the GNU General Public License for more
35 + * You should have received a copy of the GNU General Public License
36 + * along with this file; if not, write to the Free Software
37 + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
38 + * or visit http://www.gnu.org/licenses/.
40 + * This file may also be available under a different license from Cavium.
41 + * Contact Cavium Networks for more information
42 + ***********************license end**************************************/
44 +#ifndef __CVMX_AGL_DEFS_H__
45 +#define __CVMX_AGL_DEFS_H__
47 +#define CVMX_AGL_GMX_BAD_REG \
48 + CVMX_ADD_IO_SEG(0x00011800E0000518ull)
49 +#define CVMX_AGL_GMX_BIST \
50 + CVMX_ADD_IO_SEG(0x00011800E0000400ull)
51 +#define CVMX_AGL_GMX_DRV_CTL \
52 + CVMX_ADD_IO_SEG(0x00011800E00007F0ull)
53 +#define CVMX_AGL_GMX_INF_MODE \
54 + CVMX_ADD_IO_SEG(0x00011800E00007F8ull)
55 +#define CVMX_AGL_GMX_PRTX_CFG(offset) \
56 + CVMX_ADD_IO_SEG(0x00011800E0000010ull + (((offset) & 1) * 2048))
57 +#define CVMX_AGL_GMX_RXX_ADR_CAM0(offset) \
58 + CVMX_ADD_IO_SEG(0x00011800E0000180ull + (((offset) & 1) * 2048))
59 +#define CVMX_AGL_GMX_RXX_ADR_CAM1(offset) \
60 + CVMX_ADD_IO_SEG(0x00011800E0000188ull + (((offset) & 1) * 2048))
61 +#define CVMX_AGL_GMX_RXX_ADR_CAM2(offset) \
62 + CVMX_ADD_IO_SEG(0x00011800E0000190ull + (((offset) & 1) * 2048))
63 +#define CVMX_AGL_GMX_RXX_ADR_CAM3(offset) \
64 + CVMX_ADD_IO_SEG(0x00011800E0000198ull + (((offset) & 1) * 2048))
65 +#define CVMX_AGL_GMX_RXX_ADR_CAM4(offset) \
66 + CVMX_ADD_IO_SEG(0x00011800E00001A0ull + (((offset) & 1) * 2048))
67 +#define CVMX_AGL_GMX_RXX_ADR_CAM5(offset) \
68 + CVMX_ADD_IO_SEG(0x00011800E00001A8ull + (((offset) & 1) * 2048))
69 +#define CVMX_AGL_GMX_RXX_ADR_CAM_EN(offset) \
70 + CVMX_ADD_IO_SEG(0x00011800E0000108ull + (((offset) & 1) * 2048))
71 +#define CVMX_AGL_GMX_RXX_ADR_CTL(offset) \
72 + CVMX_ADD_IO_SEG(0x00011800E0000100ull + (((offset) & 1) * 2048))
73 +#define CVMX_AGL_GMX_RXX_DECISION(offset) \
74 + CVMX_ADD_IO_SEG(0x00011800E0000040ull + (((offset) & 1) * 2048))
75 +#define CVMX_AGL_GMX_RXX_FRM_CHK(offset) \
76 + CVMX_ADD_IO_SEG(0x00011800E0000020ull + (((offset) & 1) * 2048))
77 +#define CVMX_AGL_GMX_RXX_FRM_CTL(offset) \
78 + CVMX_ADD_IO_SEG(0x00011800E0000018ull + (((offset) & 1) * 2048))
79 +#define CVMX_AGL_GMX_RXX_FRM_MAX(offset) \
80 + CVMX_ADD_IO_SEG(0x00011800E0000030ull + (((offset) & 1) * 2048))
81 +#define CVMX_AGL_GMX_RXX_FRM_MIN(offset) \
82 + CVMX_ADD_IO_SEG(0x00011800E0000028ull + (((offset) & 1) * 2048))
83 +#define CVMX_AGL_GMX_RXX_IFG(offset) \
84 + CVMX_ADD_IO_SEG(0x00011800E0000058ull + (((offset) & 1) * 2048))
85 +#define CVMX_AGL_GMX_RXX_INT_EN(offset) \
86 + CVMX_ADD_IO_SEG(0x00011800E0000008ull + (((offset) & 1) * 2048))
87 +#define CVMX_AGL_GMX_RXX_INT_REG(offset) \
88 + CVMX_ADD_IO_SEG(0x00011800E0000000ull + (((offset) & 1) * 2048))
89 +#define CVMX_AGL_GMX_RXX_JABBER(offset) \
90 + CVMX_ADD_IO_SEG(0x00011800E0000038ull + (((offset) & 1) * 2048))
91 +#define CVMX_AGL_GMX_RXX_PAUSE_DROP_TIME(offset) \
92 + CVMX_ADD_IO_SEG(0x00011800E0000068ull + (((offset) & 1) * 2048))
93 +#define CVMX_AGL_GMX_RXX_STATS_CTL(offset) \
94 + CVMX_ADD_IO_SEG(0x00011800E0000050ull + (((offset) & 1) * 2048))
95 +#define CVMX_AGL_GMX_RXX_STATS_OCTS(offset) \
96 + CVMX_ADD_IO_SEG(0x00011800E0000088ull + (((offset) & 1) * 2048))
97 +#define CVMX_AGL_GMX_RXX_STATS_OCTS_CTL(offset) \
98 + CVMX_ADD_IO_SEG(0x00011800E0000098ull + (((offset) & 1) * 2048))
99 +#define CVMX_AGL_GMX_RXX_STATS_OCTS_DMAC(offset) \
100 + CVMX_ADD_IO_SEG(0x00011800E00000A8ull + (((offset) & 1) * 2048))
101 +#define CVMX_AGL_GMX_RXX_STATS_OCTS_DRP(offset) \
102 + CVMX_ADD_IO_SEG(0x00011800E00000B8ull + (((offset) & 1) * 2048))
103 +#define CVMX_AGL_GMX_RXX_STATS_PKTS(offset) \
104 + CVMX_ADD_IO_SEG(0x00011800E0000080ull + (((offset) & 1) * 2048))
105 +#define CVMX_AGL_GMX_RXX_STATS_PKTS_BAD(offset) \
106 + CVMX_ADD_IO_SEG(0x00011800E00000C0ull + (((offset) & 1) * 2048))
107 +#define CVMX_AGL_GMX_RXX_STATS_PKTS_CTL(offset) \
108 + CVMX_ADD_IO_SEG(0x00011800E0000090ull + (((offset) & 1) * 2048))
109 +#define CVMX_AGL_GMX_RXX_STATS_PKTS_DMAC(offset) \
110 + CVMX_ADD_IO_SEG(0x00011800E00000A0ull + (((offset) & 1) * 2048))
111 +#define CVMX_AGL_GMX_RXX_STATS_PKTS_DRP(offset) \
112 + CVMX_ADD_IO_SEG(0x00011800E00000B0ull + (((offset) & 1) * 2048))
113 +#define CVMX_AGL_GMX_RXX_UDD_SKP(offset) \
114 + CVMX_ADD_IO_SEG(0x00011800E0000048ull + (((offset) & 1) * 2048))
115 +#define CVMX_AGL_GMX_RX_BP_DROPX(offset) \
116 + CVMX_ADD_IO_SEG(0x00011800E0000420ull + (((offset) & 1) * 8))
117 +#define CVMX_AGL_GMX_RX_BP_OFFX(offset) \
118 + CVMX_ADD_IO_SEG(0x00011800E0000460ull + (((offset) & 1) * 8))
119 +#define CVMX_AGL_GMX_RX_BP_ONX(offset) \
120 + CVMX_ADD_IO_SEG(0x00011800E0000440ull + (((offset) & 1) * 8))
121 +#define CVMX_AGL_GMX_RX_PRT_INFO \
122 + CVMX_ADD_IO_SEG(0x00011800E00004E8ull)
123 +#define CVMX_AGL_GMX_RX_TX_STATUS \
124 + CVMX_ADD_IO_SEG(0x00011800E00007E8ull)
125 +#define CVMX_AGL_GMX_SMACX(offset) \
126 + CVMX_ADD_IO_SEG(0x00011800E0000230ull + (((offset) & 1) * 2048))
127 +#define CVMX_AGL_GMX_STAT_BP \
128 + CVMX_ADD_IO_SEG(0x00011800E0000520ull)
129 +#define CVMX_AGL_GMX_TXX_APPEND(offset) \
130 + CVMX_ADD_IO_SEG(0x00011800E0000218ull + (((offset) & 1) * 2048))
131 +#define CVMX_AGL_GMX_TXX_CTL(offset) \
132 + CVMX_ADD_IO_SEG(0x00011800E0000270ull + (((offset) & 1) * 2048))
133 +#define CVMX_AGL_GMX_TXX_MIN_PKT(offset) \
134 + CVMX_ADD_IO_SEG(0x00011800E0000240ull + (((offset) & 1) * 2048))
135 +#define CVMX_AGL_GMX_TXX_PAUSE_PKT_INTERVAL(offset) \
136 + CVMX_ADD_IO_SEG(0x00011800E0000248ull + (((offset) & 1) * 2048))
137 +#define CVMX_AGL_GMX_TXX_PAUSE_PKT_TIME(offset) \
138 + CVMX_ADD_IO_SEG(0x00011800E0000238ull + (((offset) & 1) * 2048))
139 +#define CVMX_AGL_GMX_TXX_PAUSE_TOGO(offset) \
140 + CVMX_ADD_IO_SEG(0x00011800E0000258ull + (((offset) & 1) * 2048))
141 +#define CVMX_AGL_GMX_TXX_PAUSE_ZERO(offset) \
142 + CVMX_ADD_IO_SEG(0x00011800E0000260ull + (((offset) & 1) * 2048))
143 +#define CVMX_AGL_GMX_TXX_SOFT_PAUSE(offset) \
144 + CVMX_ADD_IO_SEG(0x00011800E0000250ull + (((offset) & 1) * 2048))
145 +#define CVMX_AGL_GMX_TXX_STAT0(offset) \
146 + CVMX_ADD_IO_SEG(0x00011800E0000280ull + (((offset) & 1) * 2048))
147 +#define CVMX_AGL_GMX_TXX_STAT1(offset) \
148 + CVMX_ADD_IO_SEG(0x00011800E0000288ull + (((offset) & 1) * 2048))
149 +#define CVMX_AGL_GMX_TXX_STAT2(offset) \
150 + CVMX_ADD_IO_SEG(0x00011800E0000290ull + (((offset) & 1) * 2048))
151 +#define CVMX_AGL_GMX_TXX_STAT3(offset) \
152 + CVMX_ADD_IO_SEG(0x00011800E0000298ull + (((offset) & 1) * 2048))
153 +#define CVMX_AGL_GMX_TXX_STAT4(offset) \
154 + CVMX_ADD_IO_SEG(0x00011800E00002A0ull + (((offset) & 1) * 2048))
155 +#define CVMX_AGL_GMX_TXX_STAT5(offset) \
156 + CVMX_ADD_IO_SEG(0x00011800E00002A8ull + (((offset) & 1) * 2048))
157 +#define CVMX_AGL_GMX_TXX_STAT6(offset) \
158 + CVMX_ADD_IO_SEG(0x00011800E00002B0ull + (((offset) & 1) * 2048))
159 +#define CVMX_AGL_GMX_TXX_STAT7(offset) \
160 + CVMX_ADD_IO_SEG(0x00011800E00002B8ull + (((offset) & 1) * 2048))
161 +#define CVMX_AGL_GMX_TXX_STAT8(offset) \
162 + CVMX_ADD_IO_SEG(0x00011800E00002C0ull + (((offset) & 1) * 2048))
163 +#define CVMX_AGL_GMX_TXX_STAT9(offset) \
164 + CVMX_ADD_IO_SEG(0x00011800E00002C8ull + (((offset) & 1) * 2048))
165 +#define CVMX_AGL_GMX_TXX_STATS_CTL(offset) \
166 + CVMX_ADD_IO_SEG(0x00011800E0000268ull + (((offset) & 1) * 2048))
167 +#define CVMX_AGL_GMX_TXX_THRESH(offset) \
168 + CVMX_ADD_IO_SEG(0x00011800E0000210ull + (((offset) & 1) * 2048))
169 +#define CVMX_AGL_GMX_TX_BP \
170 + CVMX_ADD_IO_SEG(0x00011800E00004D0ull)
171 +#define CVMX_AGL_GMX_TX_COL_ATTEMPT \
172 + CVMX_ADD_IO_SEG(0x00011800E0000498ull)
173 +#define CVMX_AGL_GMX_TX_IFG \
174 + CVMX_ADD_IO_SEG(0x00011800E0000488ull)
175 +#define CVMX_AGL_GMX_TX_INT_EN \
176 + CVMX_ADD_IO_SEG(0x00011800E0000508ull)
177 +#define CVMX_AGL_GMX_TX_INT_REG \
178 + CVMX_ADD_IO_SEG(0x00011800E0000500ull)
179 +#define CVMX_AGL_GMX_TX_JAM \
180 + CVMX_ADD_IO_SEG(0x00011800E0000490ull)
181 +#define CVMX_AGL_GMX_TX_LFSR \
182 + CVMX_ADD_IO_SEG(0x00011800E00004F8ull)
183 +#define CVMX_AGL_GMX_TX_OVR_BP \
184 + CVMX_ADD_IO_SEG(0x00011800E00004C8ull)
185 +#define CVMX_AGL_GMX_TX_PAUSE_PKT_DMAC \
186 + CVMX_ADD_IO_SEG(0x00011800E00004A0ull)
187 +#define CVMX_AGL_GMX_TX_PAUSE_PKT_TYPE \
188 + CVMX_ADD_IO_SEG(0x00011800E00004A8ull)
190 +union cvmx_agl_gmx_bad_reg {
192 + struct cvmx_agl_gmx_bad_reg_s {
193 + uint64_t reserved_38_63:26;
196 + uint64_t ovrflw1:1;
200 + uint64_t reserved_27_31:5;
201 + uint64_t statovr:1;
202 + uint64_t reserved_23_25:3;
203 + uint64_t loststat:1;
204 + uint64_t reserved_4_21:18;
205 + uint64_t out_ovr:2;
206 + uint64_t reserved_0_1:2;
208 + struct cvmx_agl_gmx_bad_reg_s cn52xx;
209 + struct cvmx_agl_gmx_bad_reg_s cn52xxp1;
210 + struct cvmx_agl_gmx_bad_reg_cn56xx {
211 + uint64_t reserved_35_63:29;
215 + uint64_t reserved_27_31:5;
216 + uint64_t statovr:1;
217 + uint64_t reserved_23_25:3;
218 + uint64_t loststat:1;
219 + uint64_t reserved_3_21:19;
220 + uint64_t out_ovr:1;
221 + uint64_t reserved_0_1:2;
223 + struct cvmx_agl_gmx_bad_reg_cn56xx cn56xxp1;
226 +union cvmx_agl_gmx_bist {
228 + struct cvmx_agl_gmx_bist_s {
229 + uint64_t reserved_10_63:54;
230 + uint64_t status:10;
232 + struct cvmx_agl_gmx_bist_s cn52xx;
233 + struct cvmx_agl_gmx_bist_s cn52xxp1;
234 + struct cvmx_agl_gmx_bist_s cn56xx;
235 + struct cvmx_agl_gmx_bist_s cn56xxp1;
238 +union cvmx_agl_gmx_drv_ctl {
240 + struct cvmx_agl_gmx_drv_ctl_s {
241 + uint64_t reserved_49_63:15;
242 + uint64_t byp_en1:1;
243 + uint64_t reserved_45_47:3;
245 + uint64_t reserved_37_39:3;
247 + uint64_t reserved_17_31:15;
249 + uint64_t reserved_13_15:3;
251 + uint64_t reserved_5_7:3;
254 + struct cvmx_agl_gmx_drv_ctl_s cn52xx;
255 + struct cvmx_agl_gmx_drv_ctl_s cn52xxp1;
256 + struct cvmx_agl_gmx_drv_ctl_cn56xx {
257 + uint64_t reserved_17_63:47;
259 + uint64_t reserved_13_15:3;
261 + uint64_t reserved_5_7:3;
264 + struct cvmx_agl_gmx_drv_ctl_cn56xx cn56xxp1;
267 +union cvmx_agl_gmx_inf_mode {
269 + struct cvmx_agl_gmx_inf_mode_s {
270 + uint64_t reserved_2_63:62;
272 + uint64_t reserved_0_0:1;
274 + struct cvmx_agl_gmx_inf_mode_s cn52xx;
275 + struct cvmx_agl_gmx_inf_mode_s cn52xxp1;
276 + struct cvmx_agl_gmx_inf_mode_s cn56xx;
277 + struct cvmx_agl_gmx_inf_mode_s cn56xxp1;
280 +union cvmx_agl_gmx_prtx_cfg {
282 + struct cvmx_agl_gmx_prtx_cfg_s {
283 + uint64_t reserved_6_63:58;
286 + uint64_t slottime:1;
291 + struct cvmx_agl_gmx_prtx_cfg_s cn52xx;
292 + struct cvmx_agl_gmx_prtx_cfg_s cn52xxp1;
293 + struct cvmx_agl_gmx_prtx_cfg_s cn56xx;
294 + struct cvmx_agl_gmx_prtx_cfg_s cn56xxp1;
297 +union cvmx_agl_gmx_rxx_adr_cam0 {
299 + struct cvmx_agl_gmx_rxx_adr_cam0_s {
302 + struct cvmx_agl_gmx_rxx_adr_cam0_s cn52xx;
303 + struct cvmx_agl_gmx_rxx_adr_cam0_s cn52xxp1;
304 + struct cvmx_agl_gmx_rxx_adr_cam0_s cn56xx;
305 + struct cvmx_agl_gmx_rxx_adr_cam0_s cn56xxp1;
308 +union cvmx_agl_gmx_rxx_adr_cam1 {
310 + struct cvmx_agl_gmx_rxx_adr_cam1_s {
313 + struct cvmx_agl_gmx_rxx_adr_cam1_s cn52xx;
314 + struct cvmx_agl_gmx_rxx_adr_cam1_s cn52xxp1;
315 + struct cvmx_agl_gmx_rxx_adr_cam1_s cn56xx;
316 + struct cvmx_agl_gmx_rxx_adr_cam1_s cn56xxp1;
319 +union cvmx_agl_gmx_rxx_adr_cam2 {
321 + struct cvmx_agl_gmx_rxx_adr_cam2_s {
324 + struct cvmx_agl_gmx_rxx_adr_cam2_s cn52xx;
325 + struct cvmx_agl_gmx_rxx_adr_cam2_s cn52xxp1;
326 + struct cvmx_agl_gmx_rxx_adr_cam2_s cn56xx;
327 + struct cvmx_agl_gmx_rxx_adr_cam2_s cn56xxp1;
330 +union cvmx_agl_gmx_rxx_adr_cam3 {
332 + struct cvmx_agl_gmx_rxx_adr_cam3_s {
335 + struct cvmx_agl_gmx_rxx_adr_cam3_s cn52xx;
336 + struct cvmx_agl_gmx_rxx_adr_cam3_s cn52xxp1;
337 + struct cvmx_agl_gmx_rxx_adr_cam3_s cn56xx;
338 + struct cvmx_agl_gmx_rxx_adr_cam3_s cn56xxp1;
341 +union cvmx_agl_gmx_rxx_adr_cam4 {
343 + struct cvmx_agl_gmx_rxx_adr_cam4_s {
346 + struct cvmx_agl_gmx_rxx_adr_cam4_s cn52xx;
347 + struct cvmx_agl_gmx_rxx_adr_cam4_s cn52xxp1;
348 + struct cvmx_agl_gmx_rxx_adr_cam4_s cn56xx;
349 + struct cvmx_agl_gmx_rxx_adr_cam4_s cn56xxp1;
352 +union cvmx_agl_gmx_rxx_adr_cam5 {
354 + struct cvmx_agl_gmx_rxx_adr_cam5_s {
357 + struct cvmx_agl_gmx_rxx_adr_cam5_s cn52xx;
358 + struct cvmx_agl_gmx_rxx_adr_cam5_s cn52xxp1;
359 + struct cvmx_agl_gmx_rxx_adr_cam5_s cn56xx;
360 + struct cvmx_agl_gmx_rxx_adr_cam5_s cn56xxp1;
363 +union cvmx_agl_gmx_rxx_adr_cam_en {
365 + struct cvmx_agl_gmx_rxx_adr_cam_en_s {
366 + uint64_t reserved_8_63:56;
369 + struct cvmx_agl_gmx_rxx_adr_cam_en_s cn52xx;
370 + struct cvmx_agl_gmx_rxx_adr_cam_en_s cn52xxp1;
371 + struct cvmx_agl_gmx_rxx_adr_cam_en_s cn56xx;
372 + struct cvmx_agl_gmx_rxx_adr_cam_en_s cn56xxp1;
375 +union cvmx_agl_gmx_rxx_adr_ctl {
377 + struct cvmx_agl_gmx_rxx_adr_ctl_s {
378 + uint64_t reserved_4_63:60;
379 + uint64_t cam_mode:1;
383 + struct cvmx_agl_gmx_rxx_adr_ctl_s cn52xx;
384 + struct cvmx_agl_gmx_rxx_adr_ctl_s cn52xxp1;
385 + struct cvmx_agl_gmx_rxx_adr_ctl_s cn56xx;
386 + struct cvmx_agl_gmx_rxx_adr_ctl_s cn56xxp1;
389 +union cvmx_agl_gmx_rxx_decision {
391 + struct cvmx_agl_gmx_rxx_decision_s {
392 + uint64_t reserved_5_63:59;
395 + struct cvmx_agl_gmx_rxx_decision_s cn52xx;
396 + struct cvmx_agl_gmx_rxx_decision_s cn52xxp1;
397 + struct cvmx_agl_gmx_rxx_decision_s cn56xx;
398 + struct cvmx_agl_gmx_rxx_decision_s cn56xxp1;
401 +union cvmx_agl_gmx_rxx_frm_chk {
403 + struct cvmx_agl_gmx_rxx_frm_chk_s {
404 + uint64_t reserved_9_63:55;
412 + uint64_t reserved_1_1:1;
415 + struct cvmx_agl_gmx_rxx_frm_chk_s cn52xx;
416 + struct cvmx_agl_gmx_rxx_frm_chk_s cn52xxp1;
417 + struct cvmx_agl_gmx_rxx_frm_chk_s cn56xx;
418 + struct cvmx_agl_gmx_rxx_frm_chk_s cn56xxp1;
421 +union cvmx_agl_gmx_rxx_frm_ctl {
423 + struct cvmx_agl_gmx_rxx_frm_ctl_s {
424 + uint64_t reserved_10_63:54;
425 + uint64_t pre_align:1;
426 + uint64_t pad_len:1;
427 + uint64_t vlan_len:1;
428 + uint64_t pre_free:1;
429 + uint64_t ctl_smac:1;
430 + uint64_t ctl_mcst:1;
431 + uint64_t ctl_bck:1;
432 + uint64_t ctl_drp:1;
433 + uint64_t pre_strp:1;
434 + uint64_t pre_chk:1;
436 + struct cvmx_agl_gmx_rxx_frm_ctl_s cn52xx;
437 + struct cvmx_agl_gmx_rxx_frm_ctl_s cn52xxp1;
438 + struct cvmx_agl_gmx_rxx_frm_ctl_s cn56xx;
439 + struct cvmx_agl_gmx_rxx_frm_ctl_s cn56xxp1;
442 +union cvmx_agl_gmx_rxx_frm_max {
444 + struct cvmx_agl_gmx_rxx_frm_max_s {
445 + uint64_t reserved_16_63:48;
448 + struct cvmx_agl_gmx_rxx_frm_max_s cn52xx;
449 + struct cvmx_agl_gmx_rxx_frm_max_s cn52xxp1;
450 + struct cvmx_agl_gmx_rxx_frm_max_s cn56xx;
451 + struct cvmx_agl_gmx_rxx_frm_max_s cn56xxp1;
454 +union cvmx_agl_gmx_rxx_frm_min {
456 + struct cvmx_agl_gmx_rxx_frm_min_s {
457 + uint64_t reserved_16_63:48;
460 + struct cvmx_agl_gmx_rxx_frm_min_s cn52xx;
461 + struct cvmx_agl_gmx_rxx_frm_min_s cn52xxp1;
462 + struct cvmx_agl_gmx_rxx_frm_min_s cn56xx;
463 + struct cvmx_agl_gmx_rxx_frm_min_s cn56xxp1;
466 +union cvmx_agl_gmx_rxx_ifg {
468 + struct cvmx_agl_gmx_rxx_ifg_s {
469 + uint64_t reserved_4_63:60;
472 + struct cvmx_agl_gmx_rxx_ifg_s cn52xx;
473 + struct cvmx_agl_gmx_rxx_ifg_s cn52xxp1;
474 + struct cvmx_agl_gmx_rxx_ifg_s cn56xx;
475 + struct cvmx_agl_gmx_rxx_ifg_s cn56xxp1;
478 +union cvmx_agl_gmx_rxx_int_en {
480 + struct cvmx_agl_gmx_rxx_int_en_s {
481 + uint64_t reserved_20_63:44;
482 + uint64_t pause_drp:1;
483 + uint64_t reserved_16_18:3;
490 + uint64_t reserved_9_9:1;
498 + uint64_t reserved_1_1:1;
501 + struct cvmx_agl_gmx_rxx_int_en_s cn52xx;
502 + struct cvmx_agl_gmx_rxx_int_en_s cn52xxp1;
503 + struct cvmx_agl_gmx_rxx_int_en_s cn56xx;
504 + struct cvmx_agl_gmx_rxx_int_en_s cn56xxp1;
507 +union cvmx_agl_gmx_rxx_int_reg {
509 + struct cvmx_agl_gmx_rxx_int_reg_s {
510 + uint64_t reserved_20_63:44;
511 + uint64_t pause_drp:1;
512 + uint64_t reserved_16_18:3;
519 + uint64_t reserved_9_9:1;
527 + uint64_t reserved_1_1:1;
530 + struct cvmx_agl_gmx_rxx_int_reg_s cn52xx;
531 + struct cvmx_agl_gmx_rxx_int_reg_s cn52xxp1;
532 + struct cvmx_agl_gmx_rxx_int_reg_s cn56xx;
533 + struct cvmx_agl_gmx_rxx_int_reg_s cn56xxp1;
536 +union cvmx_agl_gmx_rxx_jabber {
538 + struct cvmx_agl_gmx_rxx_jabber_s {
539 + uint64_t reserved_16_63:48;
542 + struct cvmx_agl_gmx_rxx_jabber_s cn52xx;
543 + struct cvmx_agl_gmx_rxx_jabber_s cn52xxp1;
544 + struct cvmx_agl_gmx_rxx_jabber_s cn56xx;
545 + struct cvmx_agl_gmx_rxx_jabber_s cn56xxp1;
548 +union cvmx_agl_gmx_rxx_pause_drop_time {
550 + struct cvmx_agl_gmx_rxx_pause_drop_time_s {
551 + uint64_t reserved_16_63:48;
552 + uint64_t status:16;
554 + struct cvmx_agl_gmx_rxx_pause_drop_time_s cn52xx;
555 + struct cvmx_agl_gmx_rxx_pause_drop_time_s cn52xxp1;
556 + struct cvmx_agl_gmx_rxx_pause_drop_time_s cn56xx;
557 + struct cvmx_agl_gmx_rxx_pause_drop_time_s cn56xxp1;
560 +union cvmx_agl_gmx_rxx_stats_ctl {
562 + struct cvmx_agl_gmx_rxx_stats_ctl_s {
563 + uint64_t reserved_1_63:63;
566 + struct cvmx_agl_gmx_rxx_stats_ctl_s cn52xx;
567 + struct cvmx_agl_gmx_rxx_stats_ctl_s cn52xxp1;
568 + struct cvmx_agl_gmx_rxx_stats_ctl_s cn56xx;
569 + struct cvmx_agl_gmx_rxx_stats_ctl_s cn56xxp1;
572 +union cvmx_agl_gmx_rxx_stats_octs {
574 + struct cvmx_agl_gmx_rxx_stats_octs_s {
575 + uint64_t reserved_48_63:16;
578 + struct cvmx_agl_gmx_rxx_stats_octs_s cn52xx;
579 + struct cvmx_agl_gmx_rxx_stats_octs_s cn52xxp1;
580 + struct cvmx_agl_gmx_rxx_stats_octs_s cn56xx;
581 + struct cvmx_agl_gmx_rxx_stats_octs_s cn56xxp1;
584 +union cvmx_agl_gmx_rxx_stats_octs_ctl {
586 + struct cvmx_agl_gmx_rxx_stats_octs_ctl_s {
587 + uint64_t reserved_48_63:16;
590 + struct cvmx_agl_gmx_rxx_stats_octs_ctl_s cn52xx;
591 + struct cvmx_agl_gmx_rxx_stats_octs_ctl_s cn52xxp1;
592 + struct cvmx_agl_gmx_rxx_stats_octs_ctl_s cn56xx;
593 + struct cvmx_agl_gmx_rxx_stats_octs_ctl_s cn56xxp1;
596 +union cvmx_agl_gmx_rxx_stats_octs_dmac {
598 + struct cvmx_agl_gmx_rxx_stats_octs_dmac_s {
599 + uint64_t reserved_48_63:16;
602 + struct cvmx_agl_gmx_rxx_stats_octs_dmac_s cn52xx;
603 + struct cvmx_agl_gmx_rxx_stats_octs_dmac_s cn52xxp1;
604 + struct cvmx_agl_gmx_rxx_stats_octs_dmac_s cn56xx;
605 + struct cvmx_agl_gmx_rxx_stats_octs_dmac_s cn56xxp1;
608 +union cvmx_agl_gmx_rxx_stats_octs_drp {
610 + struct cvmx_agl_gmx_rxx_stats_octs_drp_s {
611 + uint64_t reserved_48_63:16;
614 + struct cvmx_agl_gmx_rxx_stats_octs_drp_s cn52xx;
615 + struct cvmx_agl_gmx_rxx_stats_octs_drp_s cn52xxp1;
616 + struct cvmx_agl_gmx_rxx_stats_octs_drp_s cn56xx;
617 + struct cvmx_agl_gmx_rxx_stats_octs_drp_s cn56xxp1;
620 +union cvmx_agl_gmx_rxx_stats_pkts {
622 + struct cvmx_agl_gmx_rxx_stats_pkts_s {
623 + uint64_t reserved_32_63:32;
626 + struct cvmx_agl_gmx_rxx_stats_pkts_s cn52xx;
627 + struct cvmx_agl_gmx_rxx_stats_pkts_s cn52xxp1;
628 + struct cvmx_agl_gmx_rxx_stats_pkts_s cn56xx;
629 + struct cvmx_agl_gmx_rxx_stats_pkts_s cn56xxp1;
632 +union cvmx_agl_gmx_rxx_stats_pkts_bad {
634 + struct cvmx_agl_gmx_rxx_stats_pkts_bad_s {
635 + uint64_t reserved_32_63:32;
638 + struct cvmx_agl_gmx_rxx_stats_pkts_bad_s cn52xx;
639 + struct cvmx_agl_gmx_rxx_stats_pkts_bad_s cn52xxp1;
640 + struct cvmx_agl_gmx_rxx_stats_pkts_bad_s cn56xx;
641 + struct cvmx_agl_gmx_rxx_stats_pkts_bad_s cn56xxp1;
644 +union cvmx_agl_gmx_rxx_stats_pkts_ctl {
646 + struct cvmx_agl_gmx_rxx_stats_pkts_ctl_s {
647 + uint64_t reserved_32_63:32;
650 + struct cvmx_agl_gmx_rxx_stats_pkts_ctl_s cn52xx;
651 + struct cvmx_agl_gmx_rxx_stats_pkts_ctl_s cn52xxp1;
652 + struct cvmx_agl_gmx_rxx_stats_pkts_ctl_s cn56xx;
653 + struct cvmx_agl_gmx_rxx_stats_pkts_ctl_s cn56xxp1;
656 +union cvmx_agl_gmx_rxx_stats_pkts_dmac {
658 + struct cvmx_agl_gmx_rxx_stats_pkts_dmac_s {
659 + uint64_t reserved_32_63:32;
662 + struct cvmx_agl_gmx_rxx_stats_pkts_dmac_s cn52xx;
663 + struct cvmx_agl_gmx_rxx_stats_pkts_dmac_s cn52xxp1;
664 + struct cvmx_agl_gmx_rxx_stats_pkts_dmac_s cn56xx;
665 + struct cvmx_agl_gmx_rxx_stats_pkts_dmac_s cn56xxp1;
668 +union cvmx_agl_gmx_rxx_stats_pkts_drp {
670 + struct cvmx_agl_gmx_rxx_stats_pkts_drp_s {
671 + uint64_t reserved_32_63:32;
674 + struct cvmx_agl_gmx_rxx_stats_pkts_drp_s cn52xx;
675 + struct cvmx_agl_gmx_rxx_stats_pkts_drp_s cn52xxp1;
676 + struct cvmx_agl_gmx_rxx_stats_pkts_drp_s cn56xx;
677 + struct cvmx_agl_gmx_rxx_stats_pkts_drp_s cn56xxp1;
680 +union cvmx_agl_gmx_rxx_udd_skp {
682 + struct cvmx_agl_gmx_rxx_udd_skp_s {
683 + uint64_t reserved_9_63:55;
685 + uint64_t reserved_7_7:1;
688 + struct cvmx_agl_gmx_rxx_udd_skp_s cn52xx;
689 + struct cvmx_agl_gmx_rxx_udd_skp_s cn52xxp1;
690 + struct cvmx_agl_gmx_rxx_udd_skp_s cn56xx;
691 + struct cvmx_agl_gmx_rxx_udd_skp_s cn56xxp1;
694 +union cvmx_agl_gmx_rx_bp_dropx {
696 + struct cvmx_agl_gmx_rx_bp_dropx_s {
697 + uint64_t reserved_6_63:58;
700 + struct cvmx_agl_gmx_rx_bp_dropx_s cn52xx;
701 + struct cvmx_agl_gmx_rx_bp_dropx_s cn52xxp1;
702 + struct cvmx_agl_gmx_rx_bp_dropx_s cn56xx;
703 + struct cvmx_agl_gmx_rx_bp_dropx_s cn56xxp1;
706 +union cvmx_agl_gmx_rx_bp_offx {
708 + struct cvmx_agl_gmx_rx_bp_offx_s {
709 + uint64_t reserved_6_63:58;
712 + struct cvmx_agl_gmx_rx_bp_offx_s cn52xx;
713 + struct cvmx_agl_gmx_rx_bp_offx_s cn52xxp1;
714 + struct cvmx_agl_gmx_rx_bp_offx_s cn56xx;
715 + struct cvmx_agl_gmx_rx_bp_offx_s cn56xxp1;
718 +union cvmx_agl_gmx_rx_bp_onx {
720 + struct cvmx_agl_gmx_rx_bp_onx_s {
721 + uint64_t reserved_9_63:55;
724 + struct cvmx_agl_gmx_rx_bp_onx_s cn52xx;
725 + struct cvmx_agl_gmx_rx_bp_onx_s cn52xxp1;
726 + struct cvmx_agl_gmx_rx_bp_onx_s cn56xx;
727 + struct cvmx_agl_gmx_rx_bp_onx_s cn56xxp1;
730 +union cvmx_agl_gmx_rx_prt_info {
732 + struct cvmx_agl_gmx_rx_prt_info_s {
733 + uint64_t reserved_18_63:46;
735 + uint64_t reserved_2_15:14;
738 + struct cvmx_agl_gmx_rx_prt_info_s cn52xx;
739 + struct cvmx_agl_gmx_rx_prt_info_s cn52xxp1;
740 + struct cvmx_agl_gmx_rx_prt_info_cn56xx {
741 + uint64_t reserved_17_63:47;
743 + uint64_t reserved_1_15:15;
746 + struct cvmx_agl_gmx_rx_prt_info_cn56xx cn56xxp1;
749 +union cvmx_agl_gmx_rx_tx_status {
751 + struct cvmx_agl_gmx_rx_tx_status_s {
752 + uint64_t reserved_6_63:58;
754 + uint64_t reserved_2_3:2;
757 + struct cvmx_agl_gmx_rx_tx_status_s cn52xx;
758 + struct cvmx_agl_gmx_rx_tx_status_s cn52xxp1;
759 + struct cvmx_agl_gmx_rx_tx_status_cn56xx {
760 + uint64_t reserved_5_63:59;
762 + uint64_t reserved_1_3:3;
765 + struct cvmx_agl_gmx_rx_tx_status_cn56xx cn56xxp1;
768 +union cvmx_agl_gmx_smacx {
770 + struct cvmx_agl_gmx_smacx_s {
771 + uint64_t reserved_48_63:16;
774 + struct cvmx_agl_gmx_smacx_s cn52xx;
775 + struct cvmx_agl_gmx_smacx_s cn52xxp1;
776 + struct cvmx_agl_gmx_smacx_s cn56xx;
777 + struct cvmx_agl_gmx_smacx_s cn56xxp1;
780 +union cvmx_agl_gmx_stat_bp {
782 + struct cvmx_agl_gmx_stat_bp_s {
783 + uint64_t reserved_17_63:47;
787 + struct cvmx_agl_gmx_stat_bp_s cn52xx;
788 + struct cvmx_agl_gmx_stat_bp_s cn52xxp1;
789 + struct cvmx_agl_gmx_stat_bp_s cn56xx;
790 + struct cvmx_agl_gmx_stat_bp_s cn56xxp1;
793 +union cvmx_agl_gmx_txx_append {
795 + struct cvmx_agl_gmx_txx_append_s {
796 + uint64_t reserved_4_63:60;
797 + uint64_t force_fcs:1;
800 + uint64_t preamble:1;
802 + struct cvmx_agl_gmx_txx_append_s cn52xx;
803 + struct cvmx_agl_gmx_txx_append_s cn52xxp1;
804 + struct cvmx_agl_gmx_txx_append_s cn56xx;
805 + struct cvmx_agl_gmx_txx_append_s cn56xxp1;
808 +union cvmx_agl_gmx_txx_ctl {
810 + struct cvmx_agl_gmx_txx_ctl_s {
811 + uint64_t reserved_2_63:62;
812 + uint64_t xsdef_en:1;
813 + uint64_t xscol_en:1;
815 + struct cvmx_agl_gmx_txx_ctl_s cn52xx;
816 + struct cvmx_agl_gmx_txx_ctl_s cn52xxp1;
817 + struct cvmx_agl_gmx_txx_ctl_s cn56xx;
818 + struct cvmx_agl_gmx_txx_ctl_s cn56xxp1;
821 +union cvmx_agl_gmx_txx_min_pkt {
823 + struct cvmx_agl_gmx_txx_min_pkt_s {
824 + uint64_t reserved_8_63:56;
825 + uint64_t min_size:8;
827 + struct cvmx_agl_gmx_txx_min_pkt_s cn52xx;
828 + struct cvmx_agl_gmx_txx_min_pkt_s cn52xxp1;
829 + struct cvmx_agl_gmx_txx_min_pkt_s cn56xx;
830 + struct cvmx_agl_gmx_txx_min_pkt_s cn56xxp1;
833 +union cvmx_agl_gmx_txx_pause_pkt_interval {
835 + struct cvmx_agl_gmx_txx_pause_pkt_interval_s {
836 + uint64_t reserved_16_63:48;
837 + uint64_t interval:16;
839 + struct cvmx_agl_gmx_txx_pause_pkt_interval_s cn52xx;
840 + struct cvmx_agl_gmx_txx_pause_pkt_interval_s cn52xxp1;
841 + struct cvmx_agl_gmx_txx_pause_pkt_interval_s cn56xx;
842 + struct cvmx_agl_gmx_txx_pause_pkt_interval_s cn56xxp1;
845 +union cvmx_agl_gmx_txx_pause_pkt_time {
847 + struct cvmx_agl_gmx_txx_pause_pkt_time_s {
848 + uint64_t reserved_16_63:48;
851 + struct cvmx_agl_gmx_txx_pause_pkt_time_s cn52xx;
852 + struct cvmx_agl_gmx_txx_pause_pkt_time_s cn52xxp1;
853 + struct cvmx_agl_gmx_txx_pause_pkt_time_s cn56xx;
854 + struct cvmx_agl_gmx_txx_pause_pkt_time_s cn56xxp1;
857 +union cvmx_agl_gmx_txx_pause_togo {
859 + struct cvmx_agl_gmx_txx_pause_togo_s {
860 + uint64_t reserved_16_63:48;
863 + struct cvmx_agl_gmx_txx_pause_togo_s cn52xx;
864 + struct cvmx_agl_gmx_txx_pause_togo_s cn52xxp1;
865 + struct cvmx_agl_gmx_txx_pause_togo_s cn56xx;
866 + struct cvmx_agl_gmx_txx_pause_togo_s cn56xxp1;
869 +union cvmx_agl_gmx_txx_pause_zero {
871 + struct cvmx_agl_gmx_txx_pause_zero_s {
872 + uint64_t reserved_1_63:63;
875 + struct cvmx_agl_gmx_txx_pause_zero_s cn52xx;
876 + struct cvmx_agl_gmx_txx_pause_zero_s cn52xxp1;
877 + struct cvmx_agl_gmx_txx_pause_zero_s cn56xx;
878 + struct cvmx_agl_gmx_txx_pause_zero_s cn56xxp1;
881 +union cvmx_agl_gmx_txx_soft_pause {
883 + struct cvmx_agl_gmx_txx_soft_pause_s {
884 + uint64_t reserved_16_63:48;
887 + struct cvmx_agl_gmx_txx_soft_pause_s cn52xx;
888 + struct cvmx_agl_gmx_txx_soft_pause_s cn52xxp1;
889 + struct cvmx_agl_gmx_txx_soft_pause_s cn56xx;
890 + struct cvmx_agl_gmx_txx_soft_pause_s cn56xxp1;
893 +union cvmx_agl_gmx_txx_stat0 {
895 + struct cvmx_agl_gmx_txx_stat0_s {
899 + struct cvmx_agl_gmx_txx_stat0_s cn52xx;
900 + struct cvmx_agl_gmx_txx_stat0_s cn52xxp1;
901 + struct cvmx_agl_gmx_txx_stat0_s cn56xx;
902 + struct cvmx_agl_gmx_txx_stat0_s cn56xxp1;
905 +union cvmx_agl_gmx_txx_stat1 {
907 + struct cvmx_agl_gmx_txx_stat1_s {
911 + struct cvmx_agl_gmx_txx_stat1_s cn52xx;
912 + struct cvmx_agl_gmx_txx_stat1_s cn52xxp1;
913 + struct cvmx_agl_gmx_txx_stat1_s cn56xx;
914 + struct cvmx_agl_gmx_txx_stat1_s cn56xxp1;
917 +union cvmx_agl_gmx_txx_stat2 {
919 + struct cvmx_agl_gmx_txx_stat2_s {
920 + uint64_t reserved_48_63:16;
923 + struct cvmx_agl_gmx_txx_stat2_s cn52xx;
924 + struct cvmx_agl_gmx_txx_stat2_s cn52xxp1;
925 + struct cvmx_agl_gmx_txx_stat2_s cn56xx;
926 + struct cvmx_agl_gmx_txx_stat2_s cn56xxp1;
929 +union cvmx_agl_gmx_txx_stat3 {
931 + struct cvmx_agl_gmx_txx_stat3_s {
932 + uint64_t reserved_32_63:32;
935 + struct cvmx_agl_gmx_txx_stat3_s cn52xx;
936 + struct cvmx_agl_gmx_txx_stat3_s cn52xxp1;
937 + struct cvmx_agl_gmx_txx_stat3_s cn56xx;
938 + struct cvmx_agl_gmx_txx_stat3_s cn56xxp1;
941 +union cvmx_agl_gmx_txx_stat4 {
943 + struct cvmx_agl_gmx_txx_stat4_s {
947 + struct cvmx_agl_gmx_txx_stat4_s cn52xx;
948 + struct cvmx_agl_gmx_txx_stat4_s cn52xxp1;
949 + struct cvmx_agl_gmx_txx_stat4_s cn56xx;
950 + struct cvmx_agl_gmx_txx_stat4_s cn56xxp1;
953 +union cvmx_agl_gmx_txx_stat5 {
955 + struct cvmx_agl_gmx_txx_stat5_s {
959 + struct cvmx_agl_gmx_txx_stat5_s cn52xx;
960 + struct cvmx_agl_gmx_txx_stat5_s cn52xxp1;
961 + struct cvmx_agl_gmx_txx_stat5_s cn56xx;
962 + struct cvmx_agl_gmx_txx_stat5_s cn56xxp1;
965 +union cvmx_agl_gmx_txx_stat6 {
967 + struct cvmx_agl_gmx_txx_stat6_s {
971 + struct cvmx_agl_gmx_txx_stat6_s cn52xx;
972 + struct cvmx_agl_gmx_txx_stat6_s cn52xxp1;
973 + struct cvmx_agl_gmx_txx_stat6_s cn56xx;
974 + struct cvmx_agl_gmx_txx_stat6_s cn56xxp1;
977 +union cvmx_agl_gmx_txx_stat7 {
979 + struct cvmx_agl_gmx_txx_stat7_s {
983 + struct cvmx_agl_gmx_txx_stat7_s cn52xx;
984 + struct cvmx_agl_gmx_txx_stat7_s cn52xxp1;
985 + struct cvmx_agl_gmx_txx_stat7_s cn56xx;
986 + struct cvmx_agl_gmx_txx_stat7_s cn56xxp1;
989 +union cvmx_agl_gmx_txx_stat8 {
991 + struct cvmx_agl_gmx_txx_stat8_s {
995 + struct cvmx_agl_gmx_txx_stat8_s cn52xx;
996 + struct cvmx_agl_gmx_txx_stat8_s cn52xxp1;
997 + struct cvmx_agl_gmx_txx_stat8_s cn56xx;
998 + struct cvmx_agl_gmx_txx_stat8_s cn56xxp1;
1001 +union cvmx_agl_gmx_txx_stat9 {
1003 + struct cvmx_agl_gmx_txx_stat9_s {
1004 + uint64_t undflw:32;
1007 + struct cvmx_agl_gmx_txx_stat9_s cn52xx;
1008 + struct cvmx_agl_gmx_txx_stat9_s cn52xxp1;
1009 + struct cvmx_agl_gmx_txx_stat9_s cn56xx;
1010 + struct cvmx_agl_gmx_txx_stat9_s cn56xxp1;
1013 +union cvmx_agl_gmx_txx_stats_ctl {
1015 + struct cvmx_agl_gmx_txx_stats_ctl_s {
1016 + uint64_t reserved_1_63:63;
1017 + uint64_t rd_clr:1;
1019 + struct cvmx_agl_gmx_txx_stats_ctl_s cn52xx;
1020 + struct cvmx_agl_gmx_txx_stats_ctl_s cn52xxp1;
1021 + struct cvmx_agl_gmx_txx_stats_ctl_s cn56xx;
1022 + struct cvmx_agl_gmx_txx_stats_ctl_s cn56xxp1;
1025 +union cvmx_agl_gmx_txx_thresh {
1027 + struct cvmx_agl_gmx_txx_thresh_s {
1028 + uint64_t reserved_6_63:58;
1031 + struct cvmx_agl_gmx_txx_thresh_s cn52xx;
1032 + struct cvmx_agl_gmx_txx_thresh_s cn52xxp1;
1033 + struct cvmx_agl_gmx_txx_thresh_s cn56xx;
1034 + struct cvmx_agl_gmx_txx_thresh_s cn56xxp1;
1037 +union cvmx_agl_gmx_tx_bp {
1039 + struct cvmx_agl_gmx_tx_bp_s {
1040 + uint64_t reserved_2_63:62;
1043 + struct cvmx_agl_gmx_tx_bp_s cn52xx;
1044 + struct cvmx_agl_gmx_tx_bp_s cn52xxp1;
1045 + struct cvmx_agl_gmx_tx_bp_cn56xx {
1046 + uint64_t reserved_1_63:63;
1049 + struct cvmx_agl_gmx_tx_bp_cn56xx cn56xxp1;
1052 +union cvmx_agl_gmx_tx_col_attempt {
1054 + struct cvmx_agl_gmx_tx_col_attempt_s {
1055 + uint64_t reserved_5_63:59;
1058 + struct cvmx_agl_gmx_tx_col_attempt_s cn52xx;
1059 + struct cvmx_agl_gmx_tx_col_attempt_s cn52xxp1;
1060 + struct cvmx_agl_gmx_tx_col_attempt_s cn56xx;
1061 + struct cvmx_agl_gmx_tx_col_attempt_s cn56xxp1;
1064 +union cvmx_agl_gmx_tx_ifg {
1066 + struct cvmx_agl_gmx_tx_ifg_s {
1067 + uint64_t reserved_8_63:56;
1071 + struct cvmx_agl_gmx_tx_ifg_s cn52xx;
1072 + struct cvmx_agl_gmx_tx_ifg_s cn52xxp1;
1073 + struct cvmx_agl_gmx_tx_ifg_s cn56xx;
1074 + struct cvmx_agl_gmx_tx_ifg_s cn56xxp1;
1077 +union cvmx_agl_gmx_tx_int_en {
1079 + struct cvmx_agl_gmx_tx_int_en_s {
1080 + uint64_t reserved_18_63:46;
1081 + uint64_t late_col:2;
1082 + uint64_t reserved_14_15:2;
1084 + uint64_t reserved_10_11:2;
1086 + uint64_t reserved_4_7:4;
1087 + uint64_t undflw:2;
1088 + uint64_t reserved_1_1:1;
1089 + uint64_t pko_nxa:1;
1091 + struct cvmx_agl_gmx_tx_int_en_s cn52xx;
1092 + struct cvmx_agl_gmx_tx_int_en_s cn52xxp1;
1093 + struct cvmx_agl_gmx_tx_int_en_cn56xx {
1094 + uint64_t reserved_17_63:47;
1095 + uint64_t late_col:1;
1096 + uint64_t reserved_13_15:3;
1098 + uint64_t reserved_9_11:3;
1100 + uint64_t reserved_3_7:5;
1101 + uint64_t undflw:1;
1102 + uint64_t reserved_1_1:1;
1103 + uint64_t pko_nxa:1;
1105 + struct cvmx_agl_gmx_tx_int_en_cn56xx cn56xxp1;
1108 +union cvmx_agl_gmx_tx_int_reg {
1110 + struct cvmx_agl_gmx_tx_int_reg_s {
1111 + uint64_t reserved_18_63:46;
1112 + uint64_t late_col:2;
1113 + uint64_t reserved_14_15:2;
1115 + uint64_t reserved_10_11:2;
1117 + uint64_t reserved_4_7:4;
1118 + uint64_t undflw:2;
1119 + uint64_t reserved_1_1:1;
1120 + uint64_t pko_nxa:1;
1122 + struct cvmx_agl_gmx_tx_int_reg_s cn52xx;
1123 + struct cvmx_agl_gmx_tx_int_reg_s cn52xxp1;
1124 + struct cvmx_agl_gmx_tx_int_reg_cn56xx {
1125 + uint64_t reserved_17_63:47;
1126 + uint64_t late_col:1;
1127 + uint64_t reserved_13_15:3;
1129 + uint64_t reserved_9_11:3;
1131 + uint64_t reserved_3_7:5;
1132 + uint64_t undflw:1;
1133 + uint64_t reserved_1_1:1;
1134 + uint64_t pko_nxa:1;
1136 + struct cvmx_agl_gmx_tx_int_reg_cn56xx cn56xxp1;
1139 +union cvmx_agl_gmx_tx_jam {
1141 + struct cvmx_agl_gmx_tx_jam_s {
1142 + uint64_t reserved_8_63:56;
1145 + struct cvmx_agl_gmx_tx_jam_s cn52xx;
1146 + struct cvmx_agl_gmx_tx_jam_s cn52xxp1;
1147 + struct cvmx_agl_gmx_tx_jam_s cn56xx;
1148 + struct cvmx_agl_gmx_tx_jam_s cn56xxp1;
1151 +union cvmx_agl_gmx_tx_lfsr {
1153 + struct cvmx_agl_gmx_tx_lfsr_s {
1154 + uint64_t reserved_16_63:48;
1157 + struct cvmx_agl_gmx_tx_lfsr_s cn52xx;
1158 + struct cvmx_agl_gmx_tx_lfsr_s cn52xxp1;
1159 + struct cvmx_agl_gmx_tx_lfsr_s cn56xx;
1160 + struct cvmx_agl_gmx_tx_lfsr_s cn56xxp1;
1163 +union cvmx_agl_gmx_tx_ovr_bp {
1165 + struct cvmx_agl_gmx_tx_ovr_bp_s {
1166 + uint64_t reserved_10_63:54;
1168 + uint64_t reserved_6_7:2;
1170 + uint64_t reserved_2_3:2;
1171 + uint64_t ign_full:2;
1173 + struct cvmx_agl_gmx_tx_ovr_bp_s cn52xx;
1174 + struct cvmx_agl_gmx_tx_ovr_bp_s cn52xxp1;
1175 + struct cvmx_agl_gmx_tx_ovr_bp_cn56xx {
1176 + uint64_t reserved_9_63:55;
1178 + uint64_t reserved_5_7:3;
1180 + uint64_t reserved_1_3:3;
1181 + uint64_t ign_full:1;
1183 + struct cvmx_agl_gmx_tx_ovr_bp_cn56xx cn56xxp1;
1186 +union cvmx_agl_gmx_tx_pause_pkt_dmac {
1188 + struct cvmx_agl_gmx_tx_pause_pkt_dmac_s {
1189 + uint64_t reserved_48_63:16;
1192 + struct cvmx_agl_gmx_tx_pause_pkt_dmac_s cn52xx;
1193 + struct cvmx_agl_gmx_tx_pause_pkt_dmac_s cn52xxp1;
1194 + struct cvmx_agl_gmx_tx_pause_pkt_dmac_s cn56xx;
1195 + struct cvmx_agl_gmx_tx_pause_pkt_dmac_s cn56xxp1;
1198 +union cvmx_agl_gmx_tx_pause_pkt_type {
1200 + struct cvmx_agl_gmx_tx_pause_pkt_type_s {
1201 + uint64_t reserved_16_63:48;
1204 + struct cvmx_agl_gmx_tx_pause_pkt_type_s cn52xx;
1205 + struct cvmx_agl_gmx_tx_pause_pkt_type_s cn52xxp1;
1206 + struct cvmx_agl_gmx_tx_pause_pkt_type_s cn56xx;
1207 + struct cvmx_agl_gmx_tx_pause_pkt_type_s cn56xxp1;
1212 +++ b/arch/mips/include/asm/octeon/cvmx-mixx-defs.h
1214 +/***********************license start***************
1215 + * Author: Cavium Networks
1217 + * Contact: support@caviumnetworks.com
1218 + * This file is part of the OCTEON SDK
1220 + * Copyright (c) 2003-2008 Cavium Networks
1222 + * This file is free software; you can redistribute it and/or modify
1223 + * it under the terms of the GNU General Public License, Version 2, as
1224 + * published by the Free Software Foundation.
1226 + * This file is distributed in the hope that it will be useful, but
1227 + * AS-IS and WITHOUT ANY WARRANTY; without even the implied warranty
1228 + * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE, TITLE, or
1229 + * NONINFRINGEMENT. See the GNU General Public License for more
1232 + * You should have received a copy of the GNU General Public License
1233 + * along with this file; if not, write to the Free Software
1234 + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
1235 + * or visit http://www.gnu.org/licenses/.
1237 + * This file may also be available under a different license from Cavium.
1238 + * Contact Cavium Networks for more information
1239 + ***********************license end**************************************/
1241 +#ifndef __CVMX_MIXX_DEFS_H__
1242 +#define __CVMX_MIXX_DEFS_H__
1244 +#define CVMX_MIXX_BIST(offset) \
1245 + CVMX_ADD_IO_SEG(0x0001070000100078ull + (((offset) & 1) * 2048))
1246 +#define CVMX_MIXX_CTL(offset) \
1247 + CVMX_ADD_IO_SEG(0x0001070000100020ull + (((offset) & 1) * 2048))
1248 +#define CVMX_MIXX_INTENA(offset) \
1249 + CVMX_ADD_IO_SEG(0x0001070000100050ull + (((offset) & 1) * 2048))
1250 +#define CVMX_MIXX_IRCNT(offset) \
1251 + CVMX_ADD_IO_SEG(0x0001070000100030ull + (((offset) & 1) * 2048))
1252 +#define CVMX_MIXX_IRHWM(offset) \
1253 + CVMX_ADD_IO_SEG(0x0001070000100028ull + (((offset) & 1) * 2048))
1254 +#define CVMX_MIXX_IRING1(offset) \
1255 + CVMX_ADD_IO_SEG(0x0001070000100010ull + (((offset) & 1) * 2048))
1256 +#define CVMX_MIXX_IRING2(offset) \
1257 + CVMX_ADD_IO_SEG(0x0001070000100018ull + (((offset) & 1) * 2048))
1258 +#define CVMX_MIXX_ISR(offset) \
1259 + CVMX_ADD_IO_SEG(0x0001070000100048ull + (((offset) & 1) * 2048))
1260 +#define CVMX_MIXX_ORCNT(offset) \
1261 + CVMX_ADD_IO_SEG(0x0001070000100040ull + (((offset) & 1) * 2048))
1262 +#define CVMX_MIXX_ORHWM(offset) \
1263 + CVMX_ADD_IO_SEG(0x0001070000100038ull + (((offset) & 1) * 2048))
1264 +#define CVMX_MIXX_ORING1(offset) \
1265 + CVMX_ADD_IO_SEG(0x0001070000100000ull + (((offset) & 1) * 2048))
1266 +#define CVMX_MIXX_ORING2(offset) \
1267 + CVMX_ADD_IO_SEG(0x0001070000100008ull + (((offset) & 1) * 2048))
1268 +#define CVMX_MIXX_REMCNT(offset) \
1269 + CVMX_ADD_IO_SEG(0x0001070000100058ull + (((offset) & 1) * 2048))
1271 +union cvmx_mixx_bist {
1273 + struct cvmx_mixx_bist_s {
1274 + uint64_t reserved_4_63:60;
1275 + uint64_t mrqdat:1;
1276 + uint64_t ipfdat:1;
1277 + uint64_t irfdat:1;
1278 + uint64_t orfdat:1;
1280 + struct cvmx_mixx_bist_s cn52xx;
1281 + struct cvmx_mixx_bist_s cn52xxp1;
1282 + struct cvmx_mixx_bist_s cn56xx;
1283 + struct cvmx_mixx_bist_s cn56xxp1;
1286 +union cvmx_mixx_ctl {
1288 + struct cvmx_mixx_ctl_s {
1289 + uint64_t reserved_8_63:56;
1290 + uint64_t crc_strip:1;
1294 + uint64_t lendian:1;
1295 + uint64_t nbtarb:1;
1296 + uint64_t mrq_hwm:2;
1298 + struct cvmx_mixx_ctl_s cn52xx;
1299 + struct cvmx_mixx_ctl_s cn52xxp1;
1300 + struct cvmx_mixx_ctl_s cn56xx;
1301 + struct cvmx_mixx_ctl_s cn56xxp1;
1304 +union cvmx_mixx_intena {
1306 + struct cvmx_mixx_intena_s {
1307 + uint64_t reserved_7_63:57;
1308 + uint64_t orunena:1;
1309 + uint64_t irunena:1;
1310 + uint64_t data_drpena:1;
1311 + uint64_t ithena:1;
1312 + uint64_t othena:1;
1313 + uint64_t ivfena:1;
1314 + uint64_t ovfena:1;
1316 + struct cvmx_mixx_intena_s cn52xx;
1317 + struct cvmx_mixx_intena_s cn52xxp1;
1318 + struct cvmx_mixx_intena_s cn56xx;
1319 + struct cvmx_mixx_intena_s cn56xxp1;
1322 +union cvmx_mixx_ircnt {
1324 + struct cvmx_mixx_ircnt_s {
1325 + uint64_t reserved_20_63:44;
1326 + uint64_t ircnt:20;
1328 + struct cvmx_mixx_ircnt_s cn52xx;
1329 + struct cvmx_mixx_ircnt_s cn52xxp1;
1330 + struct cvmx_mixx_ircnt_s cn56xx;
1331 + struct cvmx_mixx_ircnt_s cn56xxp1;
1334 +union cvmx_mixx_irhwm {
1336 + struct cvmx_mixx_irhwm_s {
1337 + uint64_t reserved_40_63:24;
1338 + uint64_t ibplwm:20;
1339 + uint64_t irhwm:20;
1341 + struct cvmx_mixx_irhwm_s cn52xx;
1342 + struct cvmx_mixx_irhwm_s cn52xxp1;
1343 + struct cvmx_mixx_irhwm_s cn56xx;
1344 + struct cvmx_mixx_irhwm_s cn56xxp1;
1347 +union cvmx_mixx_iring1 {
1349 + struct cvmx_mixx_iring1_s {
1350 + uint64_t reserved_60_63:4;
1351 + uint64_t isize:20;
1352 + uint64_t reserved_36_39:4;
1353 + uint64_t ibase:33;
1354 + uint64_t reserved_0_2:3;
1356 + struct cvmx_mixx_iring1_s cn52xx;
1357 + struct cvmx_mixx_iring1_s cn52xxp1;
1358 + struct cvmx_mixx_iring1_s cn56xx;
1359 + struct cvmx_mixx_iring1_s cn56xxp1;
1362 +union cvmx_mixx_iring2 {
1364 + struct cvmx_mixx_iring2_s {
1365 + uint64_t reserved_52_63:12;
1366 + uint64_t itlptr:20;
1367 + uint64_t reserved_20_31:12;
1368 + uint64_t idbell:20;
1370 + struct cvmx_mixx_iring2_s cn52xx;
1371 + struct cvmx_mixx_iring2_s cn52xxp1;
1372 + struct cvmx_mixx_iring2_s cn56xx;
1373 + struct cvmx_mixx_iring2_s cn56xxp1;
1376 +union cvmx_mixx_isr {
1378 + struct cvmx_mixx_isr_s {
1379 + uint64_t reserved_7_63:57;
1382 + uint64_t data_drp:1;
1383 + uint64_t irthresh:1;
1384 + uint64_t orthresh:1;
1385 + uint64_t idblovf:1;
1386 + uint64_t odblovf:1;
1388 + struct cvmx_mixx_isr_s cn52xx;
1389 + struct cvmx_mixx_isr_s cn52xxp1;
1390 + struct cvmx_mixx_isr_s cn56xx;
1391 + struct cvmx_mixx_isr_s cn56xxp1;
1394 +union cvmx_mixx_orcnt {
1396 + struct cvmx_mixx_orcnt_s {
1397 + uint64_t reserved_20_63:44;
1398 + uint64_t orcnt:20;
1400 + struct cvmx_mixx_orcnt_s cn52xx;
1401 + struct cvmx_mixx_orcnt_s cn52xxp1;
1402 + struct cvmx_mixx_orcnt_s cn56xx;
1403 + struct cvmx_mixx_orcnt_s cn56xxp1;
1406 +union cvmx_mixx_orhwm {
1408 + struct cvmx_mixx_orhwm_s {
1409 + uint64_t reserved_20_63:44;
1410 + uint64_t orhwm:20;
1412 + struct cvmx_mixx_orhwm_s cn52xx;
1413 + struct cvmx_mixx_orhwm_s cn52xxp1;
1414 + struct cvmx_mixx_orhwm_s cn56xx;
1415 + struct cvmx_mixx_orhwm_s cn56xxp1;
1418 +union cvmx_mixx_oring1 {
1420 + struct cvmx_mixx_oring1_s {
1421 + uint64_t reserved_60_63:4;
1422 + uint64_t osize:20;
1423 + uint64_t reserved_36_39:4;
1424 + uint64_t obase:33;
1425 + uint64_t reserved_0_2:3;
1427 + struct cvmx_mixx_oring1_s cn52xx;
1428 + struct cvmx_mixx_oring1_s cn52xxp1;
1429 + struct cvmx_mixx_oring1_s cn56xx;
1430 + struct cvmx_mixx_oring1_s cn56xxp1;
1433 +union cvmx_mixx_oring2 {
1435 + struct cvmx_mixx_oring2_s {
1436 + uint64_t reserved_52_63:12;
1437 + uint64_t otlptr:20;
1438 + uint64_t reserved_20_31:12;
1439 + uint64_t odbell:20;
1441 + struct cvmx_mixx_oring2_s cn52xx;
1442 + struct cvmx_mixx_oring2_s cn52xxp1;
1443 + struct cvmx_mixx_oring2_s cn56xx;
1444 + struct cvmx_mixx_oring2_s cn56xxp1;
1447 +union cvmx_mixx_remcnt {
1449 + struct cvmx_mixx_remcnt_s {
1450 + uint64_t reserved_52_63:12;
1451 + uint64_t iremcnt:20;
1452 + uint64_t reserved_20_31:12;
1453 + uint64_t oremcnt:20;
1455 + struct cvmx_mixx_remcnt_s cn52xx;
1456 + struct cvmx_mixx_remcnt_s cn52xxp1;
1457 + struct cvmx_mixx_remcnt_s cn56xx;
1458 + struct cvmx_mixx_remcnt_s cn56xxp1;
1463 +++ b/arch/mips/include/asm/octeon/cvmx-smix-defs.h
1465 +/***********************license start***************
1466 + * Author: Cavium Networks
1468 + * Contact: support@caviumnetworks.com
1469 + * This file is part of the OCTEON SDK
1471 + * Copyright (c) 2003-2008 Cavium Networks
1473 + * This file is free software; you can redistribute it and/or modify
1474 + * it under the terms of the GNU General Public License, Version 2, as
1475 + * published by the Free Software Foundation.
1477 + * This file is distributed in the hope that it will be useful, but
1478 + * AS-IS and WITHOUT ANY WARRANTY; without even the implied warranty
1479 + * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE, TITLE, or
1480 + * NONINFRINGEMENT. See the GNU General Public License for more
1483 + * You should have received a copy of the GNU General Public License
1484 + * along with this file; if not, write to the Free Software
1485 + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
1486 + * or visit http://www.gnu.org/licenses/.
1488 + * This file may also be available under a different license from Cavium.
1489 + * Contact Cavium Networks for more information
1490 + ***********************license end**************************************/
1492 +#ifndef __CVMX_SMIX_DEFS_H__
1493 +#define __CVMX_SMIX_DEFS_H__
1495 +#define CVMX_SMIX_CLK(offset) \
1496 + CVMX_ADD_IO_SEG(0x0001180000001818ull + (((offset) & 1) * 256))
1497 +#define CVMX_SMIX_CMD(offset) \
1498 + CVMX_ADD_IO_SEG(0x0001180000001800ull + (((offset) & 1) * 256))
1499 +#define CVMX_SMIX_EN(offset) \
1500 + CVMX_ADD_IO_SEG(0x0001180000001820ull + (((offset) & 1) * 256))
1501 +#define CVMX_SMIX_RD_DAT(offset) \
1502 + CVMX_ADD_IO_SEG(0x0001180000001810ull + (((offset) & 1) * 256))
1503 +#define CVMX_SMIX_WR_DAT(offset) \
1504 + CVMX_ADD_IO_SEG(0x0001180000001808ull + (((offset) & 1) * 256))
1506 +union cvmx_smix_clk {
1508 + struct cvmx_smix_clk_s {
1509 + uint64_t reserved_25_63:39;
1511 + uint64_t reserved_21_23:3;
1512 + uint64_t sample_hi:5;
1513 + uint64_t sample_mode:1;
1514 + uint64_t reserved_14_14:1;
1515 + uint64_t clk_idle:1;
1516 + uint64_t preamble:1;
1517 + uint64_t sample:4;
1520 + struct cvmx_smix_clk_cn30xx {
1521 + uint64_t reserved_21_63:43;
1522 + uint64_t sample_hi:5;
1523 + uint64_t reserved_14_15:2;
1524 + uint64_t clk_idle:1;
1525 + uint64_t preamble:1;
1526 + uint64_t sample:4;
1529 + struct cvmx_smix_clk_cn30xx cn31xx;
1530 + struct cvmx_smix_clk_cn30xx cn38xx;
1531 + struct cvmx_smix_clk_cn30xx cn38xxp2;
1532 + struct cvmx_smix_clk_cn50xx {
1533 + uint64_t reserved_25_63:39;
1535 + uint64_t reserved_21_23:3;
1536 + uint64_t sample_hi:5;
1537 + uint64_t reserved_14_15:2;
1538 + uint64_t clk_idle:1;
1539 + uint64_t preamble:1;
1540 + uint64_t sample:4;
1543 + struct cvmx_smix_clk_s cn52xx;
1544 + struct cvmx_smix_clk_cn50xx cn52xxp1;
1545 + struct cvmx_smix_clk_s cn56xx;
1546 + struct cvmx_smix_clk_cn50xx cn56xxp1;
1547 + struct cvmx_smix_clk_cn30xx cn58xx;
1548 + struct cvmx_smix_clk_cn30xx cn58xxp1;
1551 +union cvmx_smix_cmd {
1553 + struct cvmx_smix_cmd_s {
1554 + uint64_t reserved_18_63:46;
1555 + uint64_t phy_op:2;
1556 + uint64_t reserved_13_15:3;
1557 + uint64_t phy_adr:5;
1558 + uint64_t reserved_5_7:3;
1559 + uint64_t reg_adr:5;
1561 + struct cvmx_smix_cmd_cn30xx {
1562 + uint64_t reserved_17_63:47;
1563 + uint64_t phy_op:1;
1564 + uint64_t reserved_13_15:3;
1565 + uint64_t phy_adr:5;
1566 + uint64_t reserved_5_7:3;
1567 + uint64_t reg_adr:5;
1569 + struct cvmx_smix_cmd_cn30xx cn31xx;
1570 + struct cvmx_smix_cmd_cn30xx cn38xx;
1571 + struct cvmx_smix_cmd_cn30xx cn38xxp2;
1572 + struct cvmx_smix_cmd_s cn50xx;
1573 + struct cvmx_smix_cmd_s cn52xx;
1574 + struct cvmx_smix_cmd_s cn52xxp1;
1575 + struct cvmx_smix_cmd_s cn56xx;
1576 + struct cvmx_smix_cmd_s cn56xxp1;
1577 + struct cvmx_smix_cmd_cn30xx cn58xx;
1578 + struct cvmx_smix_cmd_cn30xx cn58xxp1;
1581 +union cvmx_smix_en {
1583 + struct cvmx_smix_en_s {
1584 + uint64_t reserved_1_63:63;
1587 + struct cvmx_smix_en_s cn30xx;
1588 + struct cvmx_smix_en_s cn31xx;
1589 + struct cvmx_smix_en_s cn38xx;
1590 + struct cvmx_smix_en_s cn38xxp2;
1591 + struct cvmx_smix_en_s cn50xx;
1592 + struct cvmx_smix_en_s cn52xx;
1593 + struct cvmx_smix_en_s cn52xxp1;
1594 + struct cvmx_smix_en_s cn56xx;
1595 + struct cvmx_smix_en_s cn56xxp1;
1596 + struct cvmx_smix_en_s cn58xx;
1597 + struct cvmx_smix_en_s cn58xxp1;
1600 +union cvmx_smix_rd_dat {
1602 + struct cvmx_smix_rd_dat_s {
1603 + uint64_t reserved_18_63:46;
1604 + uint64_t pending:1;
1608 + struct cvmx_smix_rd_dat_s cn30xx;
1609 + struct cvmx_smix_rd_dat_s cn31xx;
1610 + struct cvmx_smix_rd_dat_s cn38xx;
1611 + struct cvmx_smix_rd_dat_s cn38xxp2;
1612 + struct cvmx_smix_rd_dat_s cn50xx;
1613 + struct cvmx_smix_rd_dat_s cn52xx;
1614 + struct cvmx_smix_rd_dat_s cn52xxp1;
1615 + struct cvmx_smix_rd_dat_s cn56xx;
1616 + struct cvmx_smix_rd_dat_s cn56xxp1;
1617 + struct cvmx_smix_rd_dat_s cn58xx;
1618 + struct cvmx_smix_rd_dat_s cn58xxp1;
1621 +union cvmx_smix_wr_dat {
1623 + struct cvmx_smix_wr_dat_s {
1624 + uint64_t reserved_18_63:46;
1625 + uint64_t pending:1;
1629 + struct cvmx_smix_wr_dat_s cn30xx;
1630 + struct cvmx_smix_wr_dat_s cn31xx;
1631 + struct cvmx_smix_wr_dat_s cn38xx;
1632 + struct cvmx_smix_wr_dat_s cn38xxp2;
1633 + struct cvmx_smix_wr_dat_s cn50xx;
1634 + struct cvmx_smix_wr_dat_s cn52xx;
1635 + struct cvmx_smix_wr_dat_s cn52xxp1;
1636 + struct cvmx_smix_wr_dat_s cn56xx;
1637 + struct cvmx_smix_wr_dat_s cn56xxp1;
1638 + struct cvmx_smix_wr_dat_s cn58xx;
1639 + struct cvmx_smix_wr_dat_s cn58xxp1;