xref: /linux/arch/mips/include/asm/octeon/cvmx-agl-defs.h (revision ca55b2fef3a9373fcfc30f82fd26bc7fccbda732)
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-2012 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_AGL_DEFS_H__
29 #define __CVMX_AGL_DEFS_H__
30 
31 #define CVMX_AGL_GMX_BAD_REG (CVMX_ADD_IO_SEG(0x00011800E0000518ull))
32 #define CVMX_AGL_GMX_BIST (CVMX_ADD_IO_SEG(0x00011800E0000400ull))
33 #define CVMX_AGL_GMX_DRV_CTL (CVMX_ADD_IO_SEG(0x00011800E00007F0ull))
34 #define CVMX_AGL_GMX_INF_MODE (CVMX_ADD_IO_SEG(0x00011800E00007F8ull))
35 #define CVMX_AGL_GMX_PRTX_CFG(offset) (CVMX_ADD_IO_SEG(0x00011800E0000010ull) + ((offset) & 1) * 2048)
36 #define CVMX_AGL_GMX_RXX_ADR_CAM0(offset) (CVMX_ADD_IO_SEG(0x00011800E0000180ull) + ((offset) & 1) * 2048)
37 #define CVMX_AGL_GMX_RXX_ADR_CAM1(offset) (CVMX_ADD_IO_SEG(0x00011800E0000188ull) + ((offset) & 1) * 2048)
38 #define CVMX_AGL_GMX_RXX_ADR_CAM2(offset) (CVMX_ADD_IO_SEG(0x00011800E0000190ull) + ((offset) & 1) * 2048)
39 #define CVMX_AGL_GMX_RXX_ADR_CAM3(offset) (CVMX_ADD_IO_SEG(0x00011800E0000198ull) + ((offset) & 1) * 2048)
40 #define CVMX_AGL_GMX_RXX_ADR_CAM4(offset) (CVMX_ADD_IO_SEG(0x00011800E00001A0ull) + ((offset) & 1) * 2048)
41 #define CVMX_AGL_GMX_RXX_ADR_CAM5(offset) (CVMX_ADD_IO_SEG(0x00011800E00001A8ull) + ((offset) & 1) * 2048)
42 #define CVMX_AGL_GMX_RXX_ADR_CAM_EN(offset) (CVMX_ADD_IO_SEG(0x00011800E0000108ull) + ((offset) & 1) * 2048)
43 #define CVMX_AGL_GMX_RXX_ADR_CTL(offset) (CVMX_ADD_IO_SEG(0x00011800E0000100ull) + ((offset) & 1) * 2048)
44 #define CVMX_AGL_GMX_RXX_DECISION(offset) (CVMX_ADD_IO_SEG(0x00011800E0000040ull) + ((offset) & 1) * 2048)
45 #define CVMX_AGL_GMX_RXX_FRM_CHK(offset) (CVMX_ADD_IO_SEG(0x00011800E0000020ull) + ((offset) & 1) * 2048)
46 #define CVMX_AGL_GMX_RXX_FRM_CTL(offset) (CVMX_ADD_IO_SEG(0x00011800E0000018ull) + ((offset) & 1) * 2048)
47 #define CVMX_AGL_GMX_RXX_FRM_MAX(offset) (CVMX_ADD_IO_SEG(0x00011800E0000030ull) + ((offset) & 1) * 2048)
48 #define CVMX_AGL_GMX_RXX_FRM_MIN(offset) (CVMX_ADD_IO_SEG(0x00011800E0000028ull) + ((offset) & 1) * 2048)
49 #define CVMX_AGL_GMX_RXX_IFG(offset) (CVMX_ADD_IO_SEG(0x00011800E0000058ull) + ((offset) & 1) * 2048)
50 #define CVMX_AGL_GMX_RXX_INT_EN(offset) (CVMX_ADD_IO_SEG(0x00011800E0000008ull) + ((offset) & 1) * 2048)
51 #define CVMX_AGL_GMX_RXX_INT_REG(offset) (CVMX_ADD_IO_SEG(0x00011800E0000000ull) + ((offset) & 1) * 2048)
52 #define CVMX_AGL_GMX_RXX_JABBER(offset) (CVMX_ADD_IO_SEG(0x00011800E0000038ull) + ((offset) & 1) * 2048)
53 #define CVMX_AGL_GMX_RXX_PAUSE_DROP_TIME(offset) (CVMX_ADD_IO_SEG(0x00011800E0000068ull) + ((offset) & 1) * 2048)
54 #define CVMX_AGL_GMX_RXX_RX_INBND(offset) (CVMX_ADD_IO_SEG(0x00011800E0000060ull) + ((offset) & 1) * 2048)
55 #define CVMX_AGL_GMX_RXX_STATS_CTL(offset) (CVMX_ADD_IO_SEG(0x00011800E0000050ull) + ((offset) & 1) * 2048)
56 #define CVMX_AGL_GMX_RXX_STATS_OCTS(offset) (CVMX_ADD_IO_SEG(0x00011800E0000088ull) + ((offset) & 1) * 2048)
57 #define CVMX_AGL_GMX_RXX_STATS_OCTS_CTL(offset) (CVMX_ADD_IO_SEG(0x00011800E0000098ull) + ((offset) & 1) * 2048)
58 #define CVMX_AGL_GMX_RXX_STATS_OCTS_DMAC(offset) (CVMX_ADD_IO_SEG(0x00011800E00000A8ull) + ((offset) & 1) * 2048)
59 #define CVMX_AGL_GMX_RXX_STATS_OCTS_DRP(offset) (CVMX_ADD_IO_SEG(0x00011800E00000B8ull) + ((offset) & 1) * 2048)
60 #define CVMX_AGL_GMX_RXX_STATS_PKTS(offset) (CVMX_ADD_IO_SEG(0x00011800E0000080ull) + ((offset) & 1) * 2048)
61 #define CVMX_AGL_GMX_RXX_STATS_PKTS_BAD(offset) (CVMX_ADD_IO_SEG(0x00011800E00000C0ull) + ((offset) & 1) * 2048)
62 #define CVMX_AGL_GMX_RXX_STATS_PKTS_CTL(offset) (CVMX_ADD_IO_SEG(0x00011800E0000090ull) + ((offset) & 1) * 2048)
63 #define CVMX_AGL_GMX_RXX_STATS_PKTS_DMAC(offset) (CVMX_ADD_IO_SEG(0x00011800E00000A0ull) + ((offset) & 1) * 2048)
64 #define CVMX_AGL_GMX_RXX_STATS_PKTS_DRP(offset) (CVMX_ADD_IO_SEG(0x00011800E00000B0ull) + ((offset) & 1) * 2048)
65 #define CVMX_AGL_GMX_RXX_UDD_SKP(offset) (CVMX_ADD_IO_SEG(0x00011800E0000048ull) + ((offset) & 1) * 2048)
66 #define CVMX_AGL_GMX_RX_BP_DROPX(offset) (CVMX_ADD_IO_SEG(0x00011800E0000420ull) + ((offset) & 1) * 8)
67 #define CVMX_AGL_GMX_RX_BP_OFFX(offset) (CVMX_ADD_IO_SEG(0x00011800E0000460ull) + ((offset) & 1) * 8)
68 #define CVMX_AGL_GMX_RX_BP_ONX(offset) (CVMX_ADD_IO_SEG(0x00011800E0000440ull) + ((offset) & 1) * 8)
69 #define CVMX_AGL_GMX_RX_PRT_INFO (CVMX_ADD_IO_SEG(0x00011800E00004E8ull))
70 #define CVMX_AGL_GMX_RX_TX_STATUS (CVMX_ADD_IO_SEG(0x00011800E00007E8ull))
71 #define CVMX_AGL_GMX_SMACX(offset) (CVMX_ADD_IO_SEG(0x00011800E0000230ull) + ((offset) & 1) * 2048)
72 #define CVMX_AGL_GMX_STAT_BP (CVMX_ADD_IO_SEG(0x00011800E0000520ull))
73 #define CVMX_AGL_GMX_TXX_APPEND(offset) (CVMX_ADD_IO_SEG(0x00011800E0000218ull) + ((offset) & 1) * 2048)
74 #define CVMX_AGL_GMX_TXX_CLK(offset) (CVMX_ADD_IO_SEG(0x00011800E0000208ull) + ((offset) & 1) * 2048)
75 #define CVMX_AGL_GMX_TXX_CTL(offset) (CVMX_ADD_IO_SEG(0x00011800E0000270ull) + ((offset) & 1) * 2048)
76 #define CVMX_AGL_GMX_TXX_MIN_PKT(offset) (CVMX_ADD_IO_SEG(0x00011800E0000240ull) + ((offset) & 1) * 2048)
77 #define CVMX_AGL_GMX_TXX_PAUSE_PKT_INTERVAL(offset) (CVMX_ADD_IO_SEG(0x00011800E0000248ull) + ((offset) & 1) * 2048)
78 #define CVMX_AGL_GMX_TXX_PAUSE_PKT_TIME(offset) (CVMX_ADD_IO_SEG(0x00011800E0000238ull) + ((offset) & 1) * 2048)
79 #define CVMX_AGL_GMX_TXX_PAUSE_TOGO(offset) (CVMX_ADD_IO_SEG(0x00011800E0000258ull) + ((offset) & 1) * 2048)
80 #define CVMX_AGL_GMX_TXX_PAUSE_ZERO(offset) (CVMX_ADD_IO_SEG(0x00011800E0000260ull) + ((offset) & 1) * 2048)
81 #define CVMX_AGL_GMX_TXX_SOFT_PAUSE(offset) (CVMX_ADD_IO_SEG(0x00011800E0000250ull) + ((offset) & 1) * 2048)
82 #define CVMX_AGL_GMX_TXX_STAT0(offset) (CVMX_ADD_IO_SEG(0x00011800E0000280ull) + ((offset) & 1) * 2048)
83 #define CVMX_AGL_GMX_TXX_STAT1(offset) (CVMX_ADD_IO_SEG(0x00011800E0000288ull) + ((offset) & 1) * 2048)
84 #define CVMX_AGL_GMX_TXX_STAT2(offset) (CVMX_ADD_IO_SEG(0x00011800E0000290ull) + ((offset) & 1) * 2048)
85 #define CVMX_AGL_GMX_TXX_STAT3(offset) (CVMX_ADD_IO_SEG(0x00011800E0000298ull) + ((offset) & 1) * 2048)
86 #define CVMX_AGL_GMX_TXX_STAT4(offset) (CVMX_ADD_IO_SEG(0x00011800E00002A0ull) + ((offset) & 1) * 2048)
87 #define CVMX_AGL_GMX_TXX_STAT5(offset) (CVMX_ADD_IO_SEG(0x00011800E00002A8ull) + ((offset) & 1) * 2048)
88 #define CVMX_AGL_GMX_TXX_STAT6(offset) (CVMX_ADD_IO_SEG(0x00011800E00002B0ull) + ((offset) & 1) * 2048)
89 #define CVMX_AGL_GMX_TXX_STAT7(offset) (CVMX_ADD_IO_SEG(0x00011800E00002B8ull) + ((offset) & 1) * 2048)
90 #define CVMX_AGL_GMX_TXX_STAT8(offset) (CVMX_ADD_IO_SEG(0x00011800E00002C0ull) + ((offset) & 1) * 2048)
91 #define CVMX_AGL_GMX_TXX_STAT9(offset) (CVMX_ADD_IO_SEG(0x00011800E00002C8ull) + ((offset) & 1) * 2048)
92 #define CVMX_AGL_GMX_TXX_STATS_CTL(offset) (CVMX_ADD_IO_SEG(0x00011800E0000268ull) + ((offset) & 1) * 2048)
93 #define CVMX_AGL_GMX_TXX_THRESH(offset) (CVMX_ADD_IO_SEG(0x00011800E0000210ull) + ((offset) & 1) * 2048)
94 #define CVMX_AGL_GMX_TX_BP (CVMX_ADD_IO_SEG(0x00011800E00004D0ull))
95 #define CVMX_AGL_GMX_TX_COL_ATTEMPT (CVMX_ADD_IO_SEG(0x00011800E0000498ull))
96 #define CVMX_AGL_GMX_TX_IFG (CVMX_ADD_IO_SEG(0x00011800E0000488ull))
97 #define CVMX_AGL_GMX_TX_INT_EN (CVMX_ADD_IO_SEG(0x00011800E0000508ull))
98 #define CVMX_AGL_GMX_TX_INT_REG (CVMX_ADD_IO_SEG(0x00011800E0000500ull))
99 #define CVMX_AGL_GMX_TX_JAM (CVMX_ADD_IO_SEG(0x00011800E0000490ull))
100 #define CVMX_AGL_GMX_TX_LFSR (CVMX_ADD_IO_SEG(0x00011800E00004F8ull))
101 #define CVMX_AGL_GMX_TX_OVR_BP (CVMX_ADD_IO_SEG(0x00011800E00004C8ull))
102 #define CVMX_AGL_GMX_TX_PAUSE_PKT_DMAC (CVMX_ADD_IO_SEG(0x00011800E00004A0ull))
103 #define CVMX_AGL_GMX_TX_PAUSE_PKT_TYPE (CVMX_ADD_IO_SEG(0x00011800E00004A8ull))
104 #define CVMX_AGL_PRTX_CTL(offset) (CVMX_ADD_IO_SEG(0x00011800E0002000ull) + ((offset) & 1) * 8)
105 
106 union cvmx_agl_gmx_bad_reg {
107 	uint64_t u64;
108 	struct cvmx_agl_gmx_bad_reg_s {
109 #ifdef __BIG_ENDIAN_BITFIELD
110 		uint64_t reserved_38_63:26;
111 		uint64_t txpsh1:1;
112 		uint64_t txpop1:1;
113 		uint64_t ovrflw1:1;
114 		uint64_t txpsh:1;
115 		uint64_t txpop:1;
116 		uint64_t ovrflw:1;
117 		uint64_t reserved_27_31:5;
118 		uint64_t statovr:1;
119 		uint64_t reserved_24_25:2;
120 		uint64_t loststat:2;
121 		uint64_t reserved_4_21:18;
122 		uint64_t out_ovr:2;
123 		uint64_t reserved_0_1:2;
124 #else
125 		uint64_t reserved_0_1:2;
126 		uint64_t out_ovr:2;
127 		uint64_t reserved_4_21:18;
128 		uint64_t loststat:2;
129 		uint64_t reserved_24_25:2;
130 		uint64_t statovr:1;
131 		uint64_t reserved_27_31:5;
132 		uint64_t ovrflw:1;
133 		uint64_t txpop:1;
134 		uint64_t txpsh:1;
135 		uint64_t ovrflw1:1;
136 		uint64_t txpop1:1;
137 		uint64_t txpsh1:1;
138 		uint64_t reserved_38_63:26;
139 #endif
140 	} s;
141 	struct cvmx_agl_gmx_bad_reg_cn52xx {
142 #ifdef __BIG_ENDIAN_BITFIELD
143 		uint64_t reserved_38_63:26;
144 		uint64_t txpsh1:1;
145 		uint64_t txpop1:1;
146 		uint64_t ovrflw1:1;
147 		uint64_t txpsh:1;
148 		uint64_t txpop:1;
149 		uint64_t ovrflw:1;
150 		uint64_t reserved_27_31:5;
151 		uint64_t statovr:1;
152 		uint64_t reserved_23_25:3;
153 		uint64_t loststat:1;
154 		uint64_t reserved_4_21:18;
155 		uint64_t out_ovr:2;
156 		uint64_t reserved_0_1:2;
157 #else
158 		uint64_t reserved_0_1:2;
159 		uint64_t out_ovr:2;
160 		uint64_t reserved_4_21:18;
161 		uint64_t loststat:1;
162 		uint64_t reserved_23_25:3;
163 		uint64_t statovr:1;
164 		uint64_t reserved_27_31:5;
165 		uint64_t ovrflw:1;
166 		uint64_t txpop:1;
167 		uint64_t txpsh:1;
168 		uint64_t ovrflw1:1;
169 		uint64_t txpop1:1;
170 		uint64_t txpsh1:1;
171 		uint64_t reserved_38_63:26;
172 #endif
173 	} cn52xx;
174 	struct cvmx_agl_gmx_bad_reg_cn52xx cn52xxp1;
175 	struct cvmx_agl_gmx_bad_reg_cn56xx {
176 #ifdef __BIG_ENDIAN_BITFIELD
177 		uint64_t reserved_35_63:29;
178 		uint64_t txpsh:1;
179 		uint64_t txpop:1;
180 		uint64_t ovrflw:1;
181 		uint64_t reserved_27_31:5;
182 		uint64_t statovr:1;
183 		uint64_t reserved_23_25:3;
184 		uint64_t loststat:1;
185 		uint64_t reserved_3_21:19;
186 		uint64_t out_ovr:1;
187 		uint64_t reserved_0_1:2;
188 #else
189 		uint64_t reserved_0_1:2;
190 		uint64_t out_ovr:1;
191 		uint64_t reserved_3_21:19;
192 		uint64_t loststat:1;
193 		uint64_t reserved_23_25:3;
194 		uint64_t statovr:1;
195 		uint64_t reserved_27_31:5;
196 		uint64_t ovrflw:1;
197 		uint64_t txpop:1;
198 		uint64_t txpsh:1;
199 		uint64_t reserved_35_63:29;
200 #endif
201 	} cn56xx;
202 	struct cvmx_agl_gmx_bad_reg_cn56xx cn56xxp1;
203 	struct cvmx_agl_gmx_bad_reg_s cn61xx;
204 	struct cvmx_agl_gmx_bad_reg_s cn63xx;
205 	struct cvmx_agl_gmx_bad_reg_s cn63xxp1;
206 	struct cvmx_agl_gmx_bad_reg_s cn66xx;
207 	struct cvmx_agl_gmx_bad_reg_s cn68xx;
208 	struct cvmx_agl_gmx_bad_reg_s cn68xxp1;
209 };
210 
211 union cvmx_agl_gmx_bist {
212 	uint64_t u64;
213 	struct cvmx_agl_gmx_bist_s {
214 #ifdef __BIG_ENDIAN_BITFIELD
215 		uint64_t reserved_25_63:39;
216 		uint64_t status:25;
217 #else
218 		uint64_t status:25;
219 		uint64_t reserved_25_63:39;
220 #endif
221 	} s;
222 	struct cvmx_agl_gmx_bist_cn52xx {
223 #ifdef __BIG_ENDIAN_BITFIELD
224 		uint64_t reserved_10_63:54;
225 		uint64_t status:10;
226 #else
227 		uint64_t status:10;
228 		uint64_t reserved_10_63:54;
229 #endif
230 	} cn52xx;
231 	struct cvmx_agl_gmx_bist_cn52xx cn52xxp1;
232 	struct cvmx_agl_gmx_bist_cn52xx cn56xx;
233 	struct cvmx_agl_gmx_bist_cn52xx cn56xxp1;
234 	struct cvmx_agl_gmx_bist_s cn61xx;
235 	struct cvmx_agl_gmx_bist_s cn63xx;
236 	struct cvmx_agl_gmx_bist_s cn63xxp1;
237 	struct cvmx_agl_gmx_bist_s cn66xx;
238 	struct cvmx_agl_gmx_bist_s cn68xx;
239 	struct cvmx_agl_gmx_bist_s cn68xxp1;
240 };
241 
242 union cvmx_agl_gmx_drv_ctl {
243 	uint64_t u64;
244 	struct cvmx_agl_gmx_drv_ctl_s {
245 #ifdef __BIG_ENDIAN_BITFIELD
246 		uint64_t reserved_49_63:15;
247 		uint64_t byp_en1:1;
248 		uint64_t reserved_45_47:3;
249 		uint64_t pctl1:5;
250 		uint64_t reserved_37_39:3;
251 		uint64_t nctl1:5;
252 		uint64_t reserved_17_31:15;
253 		uint64_t byp_en:1;
254 		uint64_t reserved_13_15:3;
255 		uint64_t pctl:5;
256 		uint64_t reserved_5_7:3;
257 		uint64_t nctl:5;
258 #else
259 		uint64_t nctl:5;
260 		uint64_t reserved_5_7:3;
261 		uint64_t pctl:5;
262 		uint64_t reserved_13_15:3;
263 		uint64_t byp_en:1;
264 		uint64_t reserved_17_31:15;
265 		uint64_t nctl1:5;
266 		uint64_t reserved_37_39:3;
267 		uint64_t pctl1:5;
268 		uint64_t reserved_45_47:3;
269 		uint64_t byp_en1:1;
270 		uint64_t reserved_49_63:15;
271 #endif
272 	} s;
273 	struct cvmx_agl_gmx_drv_ctl_s cn52xx;
274 	struct cvmx_agl_gmx_drv_ctl_s cn52xxp1;
275 	struct cvmx_agl_gmx_drv_ctl_cn56xx {
276 #ifdef __BIG_ENDIAN_BITFIELD
277 		uint64_t reserved_17_63:47;
278 		uint64_t byp_en:1;
279 		uint64_t reserved_13_15:3;
280 		uint64_t pctl:5;
281 		uint64_t reserved_5_7:3;
282 		uint64_t nctl:5;
283 #else
284 		uint64_t nctl:5;
285 		uint64_t reserved_5_7:3;
286 		uint64_t pctl:5;
287 		uint64_t reserved_13_15:3;
288 		uint64_t byp_en:1;
289 		uint64_t reserved_17_63:47;
290 #endif
291 	} cn56xx;
292 	struct cvmx_agl_gmx_drv_ctl_cn56xx cn56xxp1;
293 };
294 
295 union cvmx_agl_gmx_inf_mode {
296 	uint64_t u64;
297 	struct cvmx_agl_gmx_inf_mode_s {
298 #ifdef __BIG_ENDIAN_BITFIELD
299 		uint64_t reserved_2_63:62;
300 		uint64_t en:1;
301 		uint64_t reserved_0_0:1;
302 #else
303 		uint64_t reserved_0_0:1;
304 		uint64_t en:1;
305 		uint64_t reserved_2_63:62;
306 #endif
307 	} s;
308 	struct cvmx_agl_gmx_inf_mode_s cn52xx;
309 	struct cvmx_agl_gmx_inf_mode_s cn52xxp1;
310 	struct cvmx_agl_gmx_inf_mode_s cn56xx;
311 	struct cvmx_agl_gmx_inf_mode_s cn56xxp1;
312 };
313 
314 union cvmx_agl_gmx_prtx_cfg {
315 	uint64_t u64;
316 	struct cvmx_agl_gmx_prtx_cfg_s {
317 #ifdef __BIG_ENDIAN_BITFIELD
318 		uint64_t reserved_14_63:50;
319 		uint64_t tx_idle:1;
320 		uint64_t rx_idle:1;
321 		uint64_t reserved_9_11:3;
322 		uint64_t speed_msb:1;
323 		uint64_t reserved_7_7:1;
324 		uint64_t burst:1;
325 		uint64_t tx_en:1;
326 		uint64_t rx_en:1;
327 		uint64_t slottime:1;
328 		uint64_t duplex:1;
329 		uint64_t speed:1;
330 		uint64_t en:1;
331 #else
332 		uint64_t en:1;
333 		uint64_t speed:1;
334 		uint64_t duplex:1;
335 		uint64_t slottime:1;
336 		uint64_t rx_en:1;
337 		uint64_t tx_en:1;
338 		uint64_t burst:1;
339 		uint64_t reserved_7_7:1;
340 		uint64_t speed_msb:1;
341 		uint64_t reserved_9_11:3;
342 		uint64_t rx_idle:1;
343 		uint64_t tx_idle:1;
344 		uint64_t reserved_14_63:50;
345 #endif
346 	} s;
347 	struct cvmx_agl_gmx_prtx_cfg_cn52xx {
348 #ifdef __BIG_ENDIAN_BITFIELD
349 		uint64_t reserved_6_63:58;
350 		uint64_t tx_en:1;
351 		uint64_t rx_en:1;
352 		uint64_t slottime:1;
353 		uint64_t duplex:1;
354 		uint64_t speed:1;
355 		uint64_t en:1;
356 #else
357 		uint64_t en:1;
358 		uint64_t speed:1;
359 		uint64_t duplex:1;
360 		uint64_t slottime:1;
361 		uint64_t rx_en:1;
362 		uint64_t tx_en:1;
363 		uint64_t reserved_6_63:58;
364 #endif
365 	} cn52xx;
366 	struct cvmx_agl_gmx_prtx_cfg_cn52xx cn52xxp1;
367 	struct cvmx_agl_gmx_prtx_cfg_cn52xx cn56xx;
368 	struct cvmx_agl_gmx_prtx_cfg_cn52xx cn56xxp1;
369 	struct cvmx_agl_gmx_prtx_cfg_s cn61xx;
370 	struct cvmx_agl_gmx_prtx_cfg_s cn63xx;
371 	struct cvmx_agl_gmx_prtx_cfg_s cn63xxp1;
372 	struct cvmx_agl_gmx_prtx_cfg_s cn66xx;
373 	struct cvmx_agl_gmx_prtx_cfg_s cn68xx;
374 	struct cvmx_agl_gmx_prtx_cfg_s cn68xxp1;
375 };
376 
377 union cvmx_agl_gmx_rxx_adr_cam0 {
378 	uint64_t u64;
379 	struct cvmx_agl_gmx_rxx_adr_cam0_s {
380 #ifdef __BIG_ENDIAN_BITFIELD
381 		uint64_t adr:64;
382 #else
383 		uint64_t adr:64;
384 #endif
385 	} s;
386 	struct cvmx_agl_gmx_rxx_adr_cam0_s cn52xx;
387 	struct cvmx_agl_gmx_rxx_adr_cam0_s cn52xxp1;
388 	struct cvmx_agl_gmx_rxx_adr_cam0_s cn56xx;
389 	struct cvmx_agl_gmx_rxx_adr_cam0_s cn56xxp1;
390 	struct cvmx_agl_gmx_rxx_adr_cam0_s cn61xx;
391 	struct cvmx_agl_gmx_rxx_adr_cam0_s cn63xx;
392 	struct cvmx_agl_gmx_rxx_adr_cam0_s cn63xxp1;
393 	struct cvmx_agl_gmx_rxx_adr_cam0_s cn66xx;
394 	struct cvmx_agl_gmx_rxx_adr_cam0_s cn68xx;
395 	struct cvmx_agl_gmx_rxx_adr_cam0_s cn68xxp1;
396 };
397 
398 union cvmx_agl_gmx_rxx_adr_cam1 {
399 	uint64_t u64;
400 	struct cvmx_agl_gmx_rxx_adr_cam1_s {
401 #ifdef __BIG_ENDIAN_BITFIELD
402 		uint64_t adr:64;
403 #else
404 		uint64_t adr:64;
405 #endif
406 	} s;
407 	struct cvmx_agl_gmx_rxx_adr_cam1_s cn52xx;
408 	struct cvmx_agl_gmx_rxx_adr_cam1_s cn52xxp1;
409 	struct cvmx_agl_gmx_rxx_adr_cam1_s cn56xx;
410 	struct cvmx_agl_gmx_rxx_adr_cam1_s cn56xxp1;
411 	struct cvmx_agl_gmx_rxx_adr_cam1_s cn61xx;
412 	struct cvmx_agl_gmx_rxx_adr_cam1_s cn63xx;
413 	struct cvmx_agl_gmx_rxx_adr_cam1_s cn63xxp1;
414 	struct cvmx_agl_gmx_rxx_adr_cam1_s cn66xx;
415 	struct cvmx_agl_gmx_rxx_adr_cam1_s cn68xx;
416 	struct cvmx_agl_gmx_rxx_adr_cam1_s cn68xxp1;
417 };
418 
419 union cvmx_agl_gmx_rxx_adr_cam2 {
420 	uint64_t u64;
421 	struct cvmx_agl_gmx_rxx_adr_cam2_s {
422 #ifdef __BIG_ENDIAN_BITFIELD
423 		uint64_t adr:64;
424 #else
425 		uint64_t adr:64;
426 #endif
427 	} s;
428 	struct cvmx_agl_gmx_rxx_adr_cam2_s cn52xx;
429 	struct cvmx_agl_gmx_rxx_adr_cam2_s cn52xxp1;
430 	struct cvmx_agl_gmx_rxx_adr_cam2_s cn56xx;
431 	struct cvmx_agl_gmx_rxx_adr_cam2_s cn56xxp1;
432 	struct cvmx_agl_gmx_rxx_adr_cam2_s cn61xx;
433 	struct cvmx_agl_gmx_rxx_adr_cam2_s cn63xx;
434 	struct cvmx_agl_gmx_rxx_adr_cam2_s cn63xxp1;
435 	struct cvmx_agl_gmx_rxx_adr_cam2_s cn66xx;
436 	struct cvmx_agl_gmx_rxx_adr_cam2_s cn68xx;
437 	struct cvmx_agl_gmx_rxx_adr_cam2_s cn68xxp1;
438 };
439 
440 union cvmx_agl_gmx_rxx_adr_cam3 {
441 	uint64_t u64;
442 	struct cvmx_agl_gmx_rxx_adr_cam3_s {
443 #ifdef __BIG_ENDIAN_BITFIELD
444 		uint64_t adr:64;
445 #else
446 		uint64_t adr:64;
447 #endif
448 	} s;
449 	struct cvmx_agl_gmx_rxx_adr_cam3_s cn52xx;
450 	struct cvmx_agl_gmx_rxx_adr_cam3_s cn52xxp1;
451 	struct cvmx_agl_gmx_rxx_adr_cam3_s cn56xx;
452 	struct cvmx_agl_gmx_rxx_adr_cam3_s cn56xxp1;
453 	struct cvmx_agl_gmx_rxx_adr_cam3_s cn61xx;
454 	struct cvmx_agl_gmx_rxx_adr_cam3_s cn63xx;
455 	struct cvmx_agl_gmx_rxx_adr_cam3_s cn63xxp1;
456 	struct cvmx_agl_gmx_rxx_adr_cam3_s cn66xx;
457 	struct cvmx_agl_gmx_rxx_adr_cam3_s cn68xx;
458 	struct cvmx_agl_gmx_rxx_adr_cam3_s cn68xxp1;
459 };
460 
461 union cvmx_agl_gmx_rxx_adr_cam4 {
462 	uint64_t u64;
463 	struct cvmx_agl_gmx_rxx_adr_cam4_s {
464 #ifdef __BIG_ENDIAN_BITFIELD
465 		uint64_t adr:64;
466 #else
467 		uint64_t adr:64;
468 #endif
469 	} s;
470 	struct cvmx_agl_gmx_rxx_adr_cam4_s cn52xx;
471 	struct cvmx_agl_gmx_rxx_adr_cam4_s cn52xxp1;
472 	struct cvmx_agl_gmx_rxx_adr_cam4_s cn56xx;
473 	struct cvmx_agl_gmx_rxx_adr_cam4_s cn56xxp1;
474 	struct cvmx_agl_gmx_rxx_adr_cam4_s cn61xx;
475 	struct cvmx_agl_gmx_rxx_adr_cam4_s cn63xx;
476 	struct cvmx_agl_gmx_rxx_adr_cam4_s cn63xxp1;
477 	struct cvmx_agl_gmx_rxx_adr_cam4_s cn66xx;
478 	struct cvmx_agl_gmx_rxx_adr_cam4_s cn68xx;
479 	struct cvmx_agl_gmx_rxx_adr_cam4_s cn68xxp1;
480 };
481 
482 union cvmx_agl_gmx_rxx_adr_cam5 {
483 	uint64_t u64;
484 	struct cvmx_agl_gmx_rxx_adr_cam5_s {
485 #ifdef __BIG_ENDIAN_BITFIELD
486 		uint64_t adr:64;
487 #else
488 		uint64_t adr:64;
489 #endif
490 	} s;
491 	struct cvmx_agl_gmx_rxx_adr_cam5_s cn52xx;
492 	struct cvmx_agl_gmx_rxx_adr_cam5_s cn52xxp1;
493 	struct cvmx_agl_gmx_rxx_adr_cam5_s cn56xx;
494 	struct cvmx_agl_gmx_rxx_adr_cam5_s cn56xxp1;
495 	struct cvmx_agl_gmx_rxx_adr_cam5_s cn61xx;
496 	struct cvmx_agl_gmx_rxx_adr_cam5_s cn63xx;
497 	struct cvmx_agl_gmx_rxx_adr_cam5_s cn63xxp1;
498 	struct cvmx_agl_gmx_rxx_adr_cam5_s cn66xx;
499 	struct cvmx_agl_gmx_rxx_adr_cam5_s cn68xx;
500 	struct cvmx_agl_gmx_rxx_adr_cam5_s cn68xxp1;
501 };
502 
503 union cvmx_agl_gmx_rxx_adr_cam_en {
504 	uint64_t u64;
505 	struct cvmx_agl_gmx_rxx_adr_cam_en_s {
506 #ifdef __BIG_ENDIAN_BITFIELD
507 		uint64_t reserved_8_63:56;
508 		uint64_t en:8;
509 #else
510 		uint64_t en:8;
511 		uint64_t reserved_8_63:56;
512 #endif
513 	} s;
514 	struct cvmx_agl_gmx_rxx_adr_cam_en_s cn52xx;
515 	struct cvmx_agl_gmx_rxx_adr_cam_en_s cn52xxp1;
516 	struct cvmx_agl_gmx_rxx_adr_cam_en_s cn56xx;
517 	struct cvmx_agl_gmx_rxx_adr_cam_en_s cn56xxp1;
518 	struct cvmx_agl_gmx_rxx_adr_cam_en_s cn61xx;
519 	struct cvmx_agl_gmx_rxx_adr_cam_en_s cn63xx;
520 	struct cvmx_agl_gmx_rxx_adr_cam_en_s cn63xxp1;
521 	struct cvmx_agl_gmx_rxx_adr_cam_en_s cn66xx;
522 	struct cvmx_agl_gmx_rxx_adr_cam_en_s cn68xx;
523 	struct cvmx_agl_gmx_rxx_adr_cam_en_s cn68xxp1;
524 };
525 
526 union cvmx_agl_gmx_rxx_adr_ctl {
527 	uint64_t u64;
528 	struct cvmx_agl_gmx_rxx_adr_ctl_s {
529 #ifdef __BIG_ENDIAN_BITFIELD
530 		uint64_t reserved_4_63:60;
531 		uint64_t cam_mode:1;
532 		uint64_t mcst:2;
533 		uint64_t bcst:1;
534 #else
535 		uint64_t bcst:1;
536 		uint64_t mcst:2;
537 		uint64_t cam_mode:1;
538 		uint64_t reserved_4_63:60;
539 #endif
540 	} s;
541 	struct cvmx_agl_gmx_rxx_adr_ctl_s cn52xx;
542 	struct cvmx_agl_gmx_rxx_adr_ctl_s cn52xxp1;
543 	struct cvmx_agl_gmx_rxx_adr_ctl_s cn56xx;
544 	struct cvmx_agl_gmx_rxx_adr_ctl_s cn56xxp1;
545 	struct cvmx_agl_gmx_rxx_adr_ctl_s cn61xx;
546 	struct cvmx_agl_gmx_rxx_adr_ctl_s cn63xx;
547 	struct cvmx_agl_gmx_rxx_adr_ctl_s cn63xxp1;
548 	struct cvmx_agl_gmx_rxx_adr_ctl_s cn66xx;
549 	struct cvmx_agl_gmx_rxx_adr_ctl_s cn68xx;
550 	struct cvmx_agl_gmx_rxx_adr_ctl_s cn68xxp1;
551 };
552 
553 union cvmx_agl_gmx_rxx_decision {
554 	uint64_t u64;
555 	struct cvmx_agl_gmx_rxx_decision_s {
556 #ifdef __BIG_ENDIAN_BITFIELD
557 		uint64_t reserved_5_63:59;
558 		uint64_t cnt:5;
559 #else
560 		uint64_t cnt:5;
561 		uint64_t reserved_5_63:59;
562 #endif
563 	} s;
564 	struct cvmx_agl_gmx_rxx_decision_s cn52xx;
565 	struct cvmx_agl_gmx_rxx_decision_s cn52xxp1;
566 	struct cvmx_agl_gmx_rxx_decision_s cn56xx;
567 	struct cvmx_agl_gmx_rxx_decision_s cn56xxp1;
568 	struct cvmx_agl_gmx_rxx_decision_s cn61xx;
569 	struct cvmx_agl_gmx_rxx_decision_s cn63xx;
570 	struct cvmx_agl_gmx_rxx_decision_s cn63xxp1;
571 	struct cvmx_agl_gmx_rxx_decision_s cn66xx;
572 	struct cvmx_agl_gmx_rxx_decision_s cn68xx;
573 	struct cvmx_agl_gmx_rxx_decision_s cn68xxp1;
574 };
575 
576 union cvmx_agl_gmx_rxx_frm_chk {
577 	uint64_t u64;
578 	struct cvmx_agl_gmx_rxx_frm_chk_s {
579 #ifdef __BIG_ENDIAN_BITFIELD
580 		uint64_t reserved_10_63:54;
581 		uint64_t niberr:1;
582 		uint64_t skperr:1;
583 		uint64_t rcverr:1;
584 		uint64_t lenerr:1;
585 		uint64_t alnerr:1;
586 		uint64_t fcserr:1;
587 		uint64_t jabber:1;
588 		uint64_t maxerr:1;
589 		uint64_t carext:1;
590 		uint64_t minerr:1;
591 #else
592 		uint64_t minerr:1;
593 		uint64_t carext:1;
594 		uint64_t maxerr:1;
595 		uint64_t jabber:1;
596 		uint64_t fcserr:1;
597 		uint64_t alnerr:1;
598 		uint64_t lenerr:1;
599 		uint64_t rcverr:1;
600 		uint64_t skperr:1;
601 		uint64_t niberr:1;
602 		uint64_t reserved_10_63:54;
603 #endif
604 	} s;
605 	struct cvmx_agl_gmx_rxx_frm_chk_cn52xx {
606 #ifdef __BIG_ENDIAN_BITFIELD
607 		uint64_t reserved_9_63:55;
608 		uint64_t skperr:1;
609 		uint64_t rcverr:1;
610 		uint64_t lenerr:1;
611 		uint64_t alnerr:1;
612 		uint64_t fcserr:1;
613 		uint64_t jabber:1;
614 		uint64_t maxerr:1;
615 		uint64_t reserved_1_1:1;
616 		uint64_t minerr:1;
617 #else
618 		uint64_t minerr:1;
619 		uint64_t reserved_1_1:1;
620 		uint64_t maxerr:1;
621 		uint64_t jabber:1;
622 		uint64_t fcserr:1;
623 		uint64_t alnerr:1;
624 		uint64_t lenerr:1;
625 		uint64_t rcverr:1;
626 		uint64_t skperr:1;
627 		uint64_t reserved_9_63:55;
628 #endif
629 	} cn52xx;
630 	struct cvmx_agl_gmx_rxx_frm_chk_cn52xx cn52xxp1;
631 	struct cvmx_agl_gmx_rxx_frm_chk_cn52xx cn56xx;
632 	struct cvmx_agl_gmx_rxx_frm_chk_cn52xx cn56xxp1;
633 	struct cvmx_agl_gmx_rxx_frm_chk_s cn61xx;
634 	struct cvmx_agl_gmx_rxx_frm_chk_s cn63xx;
635 	struct cvmx_agl_gmx_rxx_frm_chk_s cn63xxp1;
636 	struct cvmx_agl_gmx_rxx_frm_chk_s cn66xx;
637 	struct cvmx_agl_gmx_rxx_frm_chk_s cn68xx;
638 	struct cvmx_agl_gmx_rxx_frm_chk_s cn68xxp1;
639 };
640 
641 union cvmx_agl_gmx_rxx_frm_ctl {
642 	uint64_t u64;
643 	struct cvmx_agl_gmx_rxx_frm_ctl_s {
644 #ifdef __BIG_ENDIAN_BITFIELD
645 		uint64_t reserved_13_63:51;
646 		uint64_t ptp_mode:1;
647 		uint64_t reserved_11_11:1;
648 		uint64_t null_dis:1;
649 		uint64_t pre_align:1;
650 		uint64_t pad_len:1;
651 		uint64_t vlan_len:1;
652 		uint64_t pre_free:1;
653 		uint64_t ctl_smac:1;
654 		uint64_t ctl_mcst:1;
655 		uint64_t ctl_bck:1;
656 		uint64_t ctl_drp:1;
657 		uint64_t pre_strp:1;
658 		uint64_t pre_chk:1;
659 #else
660 		uint64_t pre_chk:1;
661 		uint64_t pre_strp:1;
662 		uint64_t ctl_drp:1;
663 		uint64_t ctl_bck:1;
664 		uint64_t ctl_mcst:1;
665 		uint64_t ctl_smac:1;
666 		uint64_t pre_free:1;
667 		uint64_t vlan_len:1;
668 		uint64_t pad_len:1;
669 		uint64_t pre_align:1;
670 		uint64_t null_dis:1;
671 		uint64_t reserved_11_11:1;
672 		uint64_t ptp_mode:1;
673 		uint64_t reserved_13_63:51;
674 #endif
675 	} s;
676 	struct cvmx_agl_gmx_rxx_frm_ctl_cn52xx {
677 #ifdef __BIG_ENDIAN_BITFIELD
678 		uint64_t reserved_10_63:54;
679 		uint64_t pre_align:1;
680 		uint64_t pad_len:1;
681 		uint64_t vlan_len:1;
682 		uint64_t pre_free:1;
683 		uint64_t ctl_smac:1;
684 		uint64_t ctl_mcst:1;
685 		uint64_t ctl_bck:1;
686 		uint64_t ctl_drp:1;
687 		uint64_t pre_strp:1;
688 		uint64_t pre_chk:1;
689 #else
690 		uint64_t pre_chk:1;
691 		uint64_t pre_strp:1;
692 		uint64_t ctl_drp:1;
693 		uint64_t ctl_bck:1;
694 		uint64_t ctl_mcst:1;
695 		uint64_t ctl_smac:1;
696 		uint64_t pre_free:1;
697 		uint64_t vlan_len:1;
698 		uint64_t pad_len:1;
699 		uint64_t pre_align:1;
700 		uint64_t reserved_10_63:54;
701 #endif
702 	} cn52xx;
703 	struct cvmx_agl_gmx_rxx_frm_ctl_cn52xx cn52xxp1;
704 	struct cvmx_agl_gmx_rxx_frm_ctl_cn52xx cn56xx;
705 	struct cvmx_agl_gmx_rxx_frm_ctl_cn52xx cn56xxp1;
706 	struct cvmx_agl_gmx_rxx_frm_ctl_s cn61xx;
707 	struct cvmx_agl_gmx_rxx_frm_ctl_s cn63xx;
708 	struct cvmx_agl_gmx_rxx_frm_ctl_s cn63xxp1;
709 	struct cvmx_agl_gmx_rxx_frm_ctl_s cn66xx;
710 	struct cvmx_agl_gmx_rxx_frm_ctl_s cn68xx;
711 	struct cvmx_agl_gmx_rxx_frm_ctl_s cn68xxp1;
712 };
713 
714 union cvmx_agl_gmx_rxx_frm_max {
715 	uint64_t u64;
716 	struct cvmx_agl_gmx_rxx_frm_max_s {
717 #ifdef __BIG_ENDIAN_BITFIELD
718 		uint64_t reserved_16_63:48;
719 		uint64_t len:16;
720 #else
721 		uint64_t len:16;
722 		uint64_t reserved_16_63:48;
723 #endif
724 	} s;
725 	struct cvmx_agl_gmx_rxx_frm_max_s cn52xx;
726 	struct cvmx_agl_gmx_rxx_frm_max_s cn52xxp1;
727 	struct cvmx_agl_gmx_rxx_frm_max_s cn56xx;
728 	struct cvmx_agl_gmx_rxx_frm_max_s cn56xxp1;
729 	struct cvmx_agl_gmx_rxx_frm_max_s cn61xx;
730 	struct cvmx_agl_gmx_rxx_frm_max_s cn63xx;
731 	struct cvmx_agl_gmx_rxx_frm_max_s cn63xxp1;
732 	struct cvmx_agl_gmx_rxx_frm_max_s cn66xx;
733 	struct cvmx_agl_gmx_rxx_frm_max_s cn68xx;
734 	struct cvmx_agl_gmx_rxx_frm_max_s cn68xxp1;
735 };
736 
737 union cvmx_agl_gmx_rxx_frm_min {
738 	uint64_t u64;
739 	struct cvmx_agl_gmx_rxx_frm_min_s {
740 #ifdef __BIG_ENDIAN_BITFIELD
741 		uint64_t reserved_16_63:48;
742 		uint64_t len:16;
743 #else
744 		uint64_t len:16;
745 		uint64_t reserved_16_63:48;
746 #endif
747 	} s;
748 	struct cvmx_agl_gmx_rxx_frm_min_s cn52xx;
749 	struct cvmx_agl_gmx_rxx_frm_min_s cn52xxp1;
750 	struct cvmx_agl_gmx_rxx_frm_min_s cn56xx;
751 	struct cvmx_agl_gmx_rxx_frm_min_s cn56xxp1;
752 	struct cvmx_agl_gmx_rxx_frm_min_s cn61xx;
753 	struct cvmx_agl_gmx_rxx_frm_min_s cn63xx;
754 	struct cvmx_agl_gmx_rxx_frm_min_s cn63xxp1;
755 	struct cvmx_agl_gmx_rxx_frm_min_s cn66xx;
756 	struct cvmx_agl_gmx_rxx_frm_min_s cn68xx;
757 	struct cvmx_agl_gmx_rxx_frm_min_s cn68xxp1;
758 };
759 
760 union cvmx_agl_gmx_rxx_ifg {
761 	uint64_t u64;
762 	struct cvmx_agl_gmx_rxx_ifg_s {
763 #ifdef __BIG_ENDIAN_BITFIELD
764 		uint64_t reserved_4_63:60;
765 		uint64_t ifg:4;
766 #else
767 		uint64_t ifg:4;
768 		uint64_t reserved_4_63:60;
769 #endif
770 	} s;
771 	struct cvmx_agl_gmx_rxx_ifg_s cn52xx;
772 	struct cvmx_agl_gmx_rxx_ifg_s cn52xxp1;
773 	struct cvmx_agl_gmx_rxx_ifg_s cn56xx;
774 	struct cvmx_agl_gmx_rxx_ifg_s cn56xxp1;
775 	struct cvmx_agl_gmx_rxx_ifg_s cn61xx;
776 	struct cvmx_agl_gmx_rxx_ifg_s cn63xx;
777 	struct cvmx_agl_gmx_rxx_ifg_s cn63xxp1;
778 	struct cvmx_agl_gmx_rxx_ifg_s cn66xx;
779 	struct cvmx_agl_gmx_rxx_ifg_s cn68xx;
780 	struct cvmx_agl_gmx_rxx_ifg_s cn68xxp1;
781 };
782 
783 union cvmx_agl_gmx_rxx_int_en {
784 	uint64_t u64;
785 	struct cvmx_agl_gmx_rxx_int_en_s {
786 #ifdef __BIG_ENDIAN_BITFIELD
787 		uint64_t reserved_20_63:44;
788 		uint64_t pause_drp:1;
789 		uint64_t phy_dupx:1;
790 		uint64_t phy_spd:1;
791 		uint64_t phy_link:1;
792 		uint64_t ifgerr:1;
793 		uint64_t coldet:1;
794 		uint64_t falerr:1;
795 		uint64_t rsverr:1;
796 		uint64_t pcterr:1;
797 		uint64_t ovrerr:1;
798 		uint64_t niberr:1;
799 		uint64_t skperr:1;
800 		uint64_t rcverr:1;
801 		uint64_t lenerr:1;
802 		uint64_t alnerr:1;
803 		uint64_t fcserr:1;
804 		uint64_t jabber:1;
805 		uint64_t maxerr:1;
806 		uint64_t carext:1;
807 		uint64_t minerr:1;
808 #else
809 		uint64_t minerr:1;
810 		uint64_t carext:1;
811 		uint64_t maxerr:1;
812 		uint64_t jabber:1;
813 		uint64_t fcserr:1;
814 		uint64_t alnerr:1;
815 		uint64_t lenerr:1;
816 		uint64_t rcverr:1;
817 		uint64_t skperr:1;
818 		uint64_t niberr:1;
819 		uint64_t ovrerr:1;
820 		uint64_t pcterr:1;
821 		uint64_t rsverr:1;
822 		uint64_t falerr:1;
823 		uint64_t coldet:1;
824 		uint64_t ifgerr:1;
825 		uint64_t phy_link:1;
826 		uint64_t phy_spd:1;
827 		uint64_t phy_dupx:1;
828 		uint64_t pause_drp:1;
829 		uint64_t reserved_20_63:44;
830 #endif
831 	} s;
832 	struct cvmx_agl_gmx_rxx_int_en_cn52xx {
833 #ifdef __BIG_ENDIAN_BITFIELD
834 		uint64_t reserved_20_63:44;
835 		uint64_t pause_drp:1;
836 		uint64_t reserved_16_18:3;
837 		uint64_t ifgerr:1;
838 		uint64_t coldet:1;
839 		uint64_t falerr:1;
840 		uint64_t rsverr:1;
841 		uint64_t pcterr:1;
842 		uint64_t ovrerr:1;
843 		uint64_t reserved_9_9:1;
844 		uint64_t skperr:1;
845 		uint64_t rcverr:1;
846 		uint64_t lenerr:1;
847 		uint64_t alnerr:1;
848 		uint64_t fcserr:1;
849 		uint64_t jabber:1;
850 		uint64_t maxerr:1;
851 		uint64_t reserved_1_1:1;
852 		uint64_t minerr:1;
853 #else
854 		uint64_t minerr:1;
855 		uint64_t reserved_1_1:1;
856 		uint64_t maxerr:1;
857 		uint64_t jabber:1;
858 		uint64_t fcserr:1;
859 		uint64_t alnerr:1;
860 		uint64_t lenerr:1;
861 		uint64_t rcverr:1;
862 		uint64_t skperr:1;
863 		uint64_t reserved_9_9:1;
864 		uint64_t ovrerr:1;
865 		uint64_t pcterr:1;
866 		uint64_t rsverr:1;
867 		uint64_t falerr:1;
868 		uint64_t coldet:1;
869 		uint64_t ifgerr:1;
870 		uint64_t reserved_16_18:3;
871 		uint64_t pause_drp:1;
872 		uint64_t reserved_20_63:44;
873 #endif
874 	} cn52xx;
875 	struct cvmx_agl_gmx_rxx_int_en_cn52xx cn52xxp1;
876 	struct cvmx_agl_gmx_rxx_int_en_cn52xx cn56xx;
877 	struct cvmx_agl_gmx_rxx_int_en_cn52xx cn56xxp1;
878 	struct cvmx_agl_gmx_rxx_int_en_s cn61xx;
879 	struct cvmx_agl_gmx_rxx_int_en_s cn63xx;
880 	struct cvmx_agl_gmx_rxx_int_en_s cn63xxp1;
881 	struct cvmx_agl_gmx_rxx_int_en_s cn66xx;
882 	struct cvmx_agl_gmx_rxx_int_en_s cn68xx;
883 	struct cvmx_agl_gmx_rxx_int_en_s cn68xxp1;
884 };
885 
886 union cvmx_agl_gmx_rxx_int_reg {
887 	uint64_t u64;
888 	struct cvmx_agl_gmx_rxx_int_reg_s {
889 #ifdef __BIG_ENDIAN_BITFIELD
890 		uint64_t reserved_20_63:44;
891 		uint64_t pause_drp:1;
892 		uint64_t phy_dupx:1;
893 		uint64_t phy_spd:1;
894 		uint64_t phy_link:1;
895 		uint64_t ifgerr:1;
896 		uint64_t coldet:1;
897 		uint64_t falerr:1;
898 		uint64_t rsverr:1;
899 		uint64_t pcterr:1;
900 		uint64_t ovrerr:1;
901 		uint64_t niberr:1;
902 		uint64_t skperr:1;
903 		uint64_t rcverr:1;
904 		uint64_t lenerr:1;
905 		uint64_t alnerr:1;
906 		uint64_t fcserr:1;
907 		uint64_t jabber:1;
908 		uint64_t maxerr:1;
909 		uint64_t carext:1;
910 		uint64_t minerr:1;
911 #else
912 		uint64_t minerr:1;
913 		uint64_t carext:1;
914 		uint64_t maxerr:1;
915 		uint64_t jabber:1;
916 		uint64_t fcserr:1;
917 		uint64_t alnerr:1;
918 		uint64_t lenerr:1;
919 		uint64_t rcverr:1;
920 		uint64_t skperr:1;
921 		uint64_t niberr:1;
922 		uint64_t ovrerr:1;
923 		uint64_t pcterr:1;
924 		uint64_t rsverr:1;
925 		uint64_t falerr:1;
926 		uint64_t coldet:1;
927 		uint64_t ifgerr:1;
928 		uint64_t phy_link:1;
929 		uint64_t phy_spd:1;
930 		uint64_t phy_dupx:1;
931 		uint64_t pause_drp:1;
932 		uint64_t reserved_20_63:44;
933 #endif
934 	} s;
935 	struct cvmx_agl_gmx_rxx_int_reg_cn52xx {
936 #ifdef __BIG_ENDIAN_BITFIELD
937 		uint64_t reserved_20_63:44;
938 		uint64_t pause_drp:1;
939 		uint64_t reserved_16_18:3;
940 		uint64_t ifgerr:1;
941 		uint64_t coldet:1;
942 		uint64_t falerr:1;
943 		uint64_t rsverr:1;
944 		uint64_t pcterr:1;
945 		uint64_t ovrerr:1;
946 		uint64_t reserved_9_9:1;
947 		uint64_t skperr:1;
948 		uint64_t rcverr:1;
949 		uint64_t lenerr:1;
950 		uint64_t alnerr:1;
951 		uint64_t fcserr:1;
952 		uint64_t jabber:1;
953 		uint64_t maxerr:1;
954 		uint64_t reserved_1_1:1;
955 		uint64_t minerr:1;
956 #else
957 		uint64_t minerr:1;
958 		uint64_t reserved_1_1:1;
959 		uint64_t maxerr:1;
960 		uint64_t jabber:1;
961 		uint64_t fcserr:1;
962 		uint64_t alnerr:1;
963 		uint64_t lenerr:1;
964 		uint64_t rcverr:1;
965 		uint64_t skperr:1;
966 		uint64_t reserved_9_9:1;
967 		uint64_t ovrerr:1;
968 		uint64_t pcterr:1;
969 		uint64_t rsverr:1;
970 		uint64_t falerr:1;
971 		uint64_t coldet:1;
972 		uint64_t ifgerr:1;
973 		uint64_t reserved_16_18:3;
974 		uint64_t pause_drp:1;
975 		uint64_t reserved_20_63:44;
976 #endif
977 	} cn52xx;
978 	struct cvmx_agl_gmx_rxx_int_reg_cn52xx cn52xxp1;
979 	struct cvmx_agl_gmx_rxx_int_reg_cn52xx cn56xx;
980 	struct cvmx_agl_gmx_rxx_int_reg_cn52xx cn56xxp1;
981 	struct cvmx_agl_gmx_rxx_int_reg_s cn61xx;
982 	struct cvmx_agl_gmx_rxx_int_reg_s cn63xx;
983 	struct cvmx_agl_gmx_rxx_int_reg_s cn63xxp1;
984 	struct cvmx_agl_gmx_rxx_int_reg_s cn66xx;
985 	struct cvmx_agl_gmx_rxx_int_reg_s cn68xx;
986 	struct cvmx_agl_gmx_rxx_int_reg_s cn68xxp1;
987 };
988 
989 union cvmx_agl_gmx_rxx_jabber {
990 	uint64_t u64;
991 	struct cvmx_agl_gmx_rxx_jabber_s {
992 #ifdef __BIG_ENDIAN_BITFIELD
993 		uint64_t reserved_16_63:48;
994 		uint64_t cnt:16;
995 #else
996 		uint64_t cnt:16;
997 		uint64_t reserved_16_63:48;
998 #endif
999 	} s;
1000 	struct cvmx_agl_gmx_rxx_jabber_s cn52xx;
1001 	struct cvmx_agl_gmx_rxx_jabber_s cn52xxp1;
1002 	struct cvmx_agl_gmx_rxx_jabber_s cn56xx;
1003 	struct cvmx_agl_gmx_rxx_jabber_s cn56xxp1;
1004 	struct cvmx_agl_gmx_rxx_jabber_s cn61xx;
1005 	struct cvmx_agl_gmx_rxx_jabber_s cn63xx;
1006 	struct cvmx_agl_gmx_rxx_jabber_s cn63xxp1;
1007 	struct cvmx_agl_gmx_rxx_jabber_s cn66xx;
1008 	struct cvmx_agl_gmx_rxx_jabber_s cn68xx;
1009 	struct cvmx_agl_gmx_rxx_jabber_s cn68xxp1;
1010 };
1011 
1012 union cvmx_agl_gmx_rxx_pause_drop_time {
1013 	uint64_t u64;
1014 	struct cvmx_agl_gmx_rxx_pause_drop_time_s {
1015 #ifdef __BIG_ENDIAN_BITFIELD
1016 		uint64_t reserved_16_63:48;
1017 		uint64_t status:16;
1018 #else
1019 		uint64_t status:16;
1020 		uint64_t reserved_16_63:48;
1021 #endif
1022 	} s;
1023 	struct cvmx_agl_gmx_rxx_pause_drop_time_s cn52xx;
1024 	struct cvmx_agl_gmx_rxx_pause_drop_time_s cn52xxp1;
1025 	struct cvmx_agl_gmx_rxx_pause_drop_time_s cn56xx;
1026 	struct cvmx_agl_gmx_rxx_pause_drop_time_s cn56xxp1;
1027 	struct cvmx_agl_gmx_rxx_pause_drop_time_s cn61xx;
1028 	struct cvmx_agl_gmx_rxx_pause_drop_time_s cn63xx;
1029 	struct cvmx_agl_gmx_rxx_pause_drop_time_s cn63xxp1;
1030 	struct cvmx_agl_gmx_rxx_pause_drop_time_s cn66xx;
1031 	struct cvmx_agl_gmx_rxx_pause_drop_time_s cn68xx;
1032 	struct cvmx_agl_gmx_rxx_pause_drop_time_s cn68xxp1;
1033 };
1034 
1035 union cvmx_agl_gmx_rxx_rx_inbnd {
1036 	uint64_t u64;
1037 	struct cvmx_agl_gmx_rxx_rx_inbnd_s {
1038 #ifdef __BIG_ENDIAN_BITFIELD
1039 		uint64_t reserved_4_63:60;
1040 		uint64_t duplex:1;
1041 		uint64_t speed:2;
1042 		uint64_t status:1;
1043 #else
1044 		uint64_t status:1;
1045 		uint64_t speed:2;
1046 		uint64_t duplex:1;
1047 		uint64_t reserved_4_63:60;
1048 #endif
1049 	} s;
1050 	struct cvmx_agl_gmx_rxx_rx_inbnd_s cn61xx;
1051 	struct cvmx_agl_gmx_rxx_rx_inbnd_s cn63xx;
1052 	struct cvmx_agl_gmx_rxx_rx_inbnd_s cn63xxp1;
1053 	struct cvmx_agl_gmx_rxx_rx_inbnd_s cn66xx;
1054 	struct cvmx_agl_gmx_rxx_rx_inbnd_s cn68xx;
1055 	struct cvmx_agl_gmx_rxx_rx_inbnd_s cn68xxp1;
1056 };
1057 
1058 union cvmx_agl_gmx_rxx_stats_ctl {
1059 	uint64_t u64;
1060 	struct cvmx_agl_gmx_rxx_stats_ctl_s {
1061 #ifdef __BIG_ENDIAN_BITFIELD
1062 		uint64_t reserved_1_63:63;
1063 		uint64_t rd_clr:1;
1064 #else
1065 		uint64_t rd_clr:1;
1066 		uint64_t reserved_1_63:63;
1067 #endif
1068 	} s;
1069 	struct cvmx_agl_gmx_rxx_stats_ctl_s cn52xx;
1070 	struct cvmx_agl_gmx_rxx_stats_ctl_s cn52xxp1;
1071 	struct cvmx_agl_gmx_rxx_stats_ctl_s cn56xx;
1072 	struct cvmx_agl_gmx_rxx_stats_ctl_s cn56xxp1;
1073 	struct cvmx_agl_gmx_rxx_stats_ctl_s cn61xx;
1074 	struct cvmx_agl_gmx_rxx_stats_ctl_s cn63xx;
1075 	struct cvmx_agl_gmx_rxx_stats_ctl_s cn63xxp1;
1076 	struct cvmx_agl_gmx_rxx_stats_ctl_s cn66xx;
1077 	struct cvmx_agl_gmx_rxx_stats_ctl_s cn68xx;
1078 	struct cvmx_agl_gmx_rxx_stats_ctl_s cn68xxp1;
1079 };
1080 
1081 union cvmx_agl_gmx_rxx_stats_octs {
1082 	uint64_t u64;
1083 	struct cvmx_agl_gmx_rxx_stats_octs_s {
1084 #ifdef __BIG_ENDIAN_BITFIELD
1085 		uint64_t reserved_48_63:16;
1086 		uint64_t cnt:48;
1087 #else
1088 		uint64_t cnt:48;
1089 		uint64_t reserved_48_63:16;
1090 #endif
1091 	} s;
1092 	struct cvmx_agl_gmx_rxx_stats_octs_s cn52xx;
1093 	struct cvmx_agl_gmx_rxx_stats_octs_s cn52xxp1;
1094 	struct cvmx_agl_gmx_rxx_stats_octs_s cn56xx;
1095 	struct cvmx_agl_gmx_rxx_stats_octs_s cn56xxp1;
1096 	struct cvmx_agl_gmx_rxx_stats_octs_s cn61xx;
1097 	struct cvmx_agl_gmx_rxx_stats_octs_s cn63xx;
1098 	struct cvmx_agl_gmx_rxx_stats_octs_s cn63xxp1;
1099 	struct cvmx_agl_gmx_rxx_stats_octs_s cn66xx;
1100 	struct cvmx_agl_gmx_rxx_stats_octs_s cn68xx;
1101 	struct cvmx_agl_gmx_rxx_stats_octs_s cn68xxp1;
1102 };
1103 
1104 union cvmx_agl_gmx_rxx_stats_octs_ctl {
1105 	uint64_t u64;
1106 	struct cvmx_agl_gmx_rxx_stats_octs_ctl_s {
1107 #ifdef __BIG_ENDIAN_BITFIELD
1108 		uint64_t reserved_48_63:16;
1109 		uint64_t cnt:48;
1110 #else
1111 		uint64_t cnt:48;
1112 		uint64_t reserved_48_63:16;
1113 #endif
1114 	} s;
1115 	struct cvmx_agl_gmx_rxx_stats_octs_ctl_s cn52xx;
1116 	struct cvmx_agl_gmx_rxx_stats_octs_ctl_s cn52xxp1;
1117 	struct cvmx_agl_gmx_rxx_stats_octs_ctl_s cn56xx;
1118 	struct cvmx_agl_gmx_rxx_stats_octs_ctl_s cn56xxp1;
1119 	struct cvmx_agl_gmx_rxx_stats_octs_ctl_s cn61xx;
1120 	struct cvmx_agl_gmx_rxx_stats_octs_ctl_s cn63xx;
1121 	struct cvmx_agl_gmx_rxx_stats_octs_ctl_s cn63xxp1;
1122 	struct cvmx_agl_gmx_rxx_stats_octs_ctl_s cn66xx;
1123 	struct cvmx_agl_gmx_rxx_stats_octs_ctl_s cn68xx;
1124 	struct cvmx_agl_gmx_rxx_stats_octs_ctl_s cn68xxp1;
1125 };
1126 
1127 union cvmx_agl_gmx_rxx_stats_octs_dmac {
1128 	uint64_t u64;
1129 	struct cvmx_agl_gmx_rxx_stats_octs_dmac_s {
1130 #ifdef __BIG_ENDIAN_BITFIELD
1131 		uint64_t reserved_48_63:16;
1132 		uint64_t cnt:48;
1133 #else
1134 		uint64_t cnt:48;
1135 		uint64_t reserved_48_63:16;
1136 #endif
1137 	} s;
1138 	struct cvmx_agl_gmx_rxx_stats_octs_dmac_s cn52xx;
1139 	struct cvmx_agl_gmx_rxx_stats_octs_dmac_s cn52xxp1;
1140 	struct cvmx_agl_gmx_rxx_stats_octs_dmac_s cn56xx;
1141 	struct cvmx_agl_gmx_rxx_stats_octs_dmac_s cn56xxp1;
1142 	struct cvmx_agl_gmx_rxx_stats_octs_dmac_s cn61xx;
1143 	struct cvmx_agl_gmx_rxx_stats_octs_dmac_s cn63xx;
1144 	struct cvmx_agl_gmx_rxx_stats_octs_dmac_s cn63xxp1;
1145 	struct cvmx_agl_gmx_rxx_stats_octs_dmac_s cn66xx;
1146 	struct cvmx_agl_gmx_rxx_stats_octs_dmac_s cn68xx;
1147 	struct cvmx_agl_gmx_rxx_stats_octs_dmac_s cn68xxp1;
1148 };
1149 
1150 union cvmx_agl_gmx_rxx_stats_octs_drp {
1151 	uint64_t u64;
1152 	struct cvmx_agl_gmx_rxx_stats_octs_drp_s {
1153 #ifdef __BIG_ENDIAN_BITFIELD
1154 		uint64_t reserved_48_63:16;
1155 		uint64_t cnt:48;
1156 #else
1157 		uint64_t cnt:48;
1158 		uint64_t reserved_48_63:16;
1159 #endif
1160 	} s;
1161 	struct cvmx_agl_gmx_rxx_stats_octs_drp_s cn52xx;
1162 	struct cvmx_agl_gmx_rxx_stats_octs_drp_s cn52xxp1;
1163 	struct cvmx_agl_gmx_rxx_stats_octs_drp_s cn56xx;
1164 	struct cvmx_agl_gmx_rxx_stats_octs_drp_s cn56xxp1;
1165 	struct cvmx_agl_gmx_rxx_stats_octs_drp_s cn61xx;
1166 	struct cvmx_agl_gmx_rxx_stats_octs_drp_s cn63xx;
1167 	struct cvmx_agl_gmx_rxx_stats_octs_drp_s cn63xxp1;
1168 	struct cvmx_agl_gmx_rxx_stats_octs_drp_s cn66xx;
1169 	struct cvmx_agl_gmx_rxx_stats_octs_drp_s cn68xx;
1170 	struct cvmx_agl_gmx_rxx_stats_octs_drp_s cn68xxp1;
1171 };
1172 
1173 union cvmx_agl_gmx_rxx_stats_pkts {
1174 	uint64_t u64;
1175 	struct cvmx_agl_gmx_rxx_stats_pkts_s {
1176 #ifdef __BIG_ENDIAN_BITFIELD
1177 		uint64_t reserved_32_63:32;
1178 		uint64_t cnt:32;
1179 #else
1180 		uint64_t cnt:32;
1181 		uint64_t reserved_32_63:32;
1182 #endif
1183 	} s;
1184 	struct cvmx_agl_gmx_rxx_stats_pkts_s cn52xx;
1185 	struct cvmx_agl_gmx_rxx_stats_pkts_s cn52xxp1;
1186 	struct cvmx_agl_gmx_rxx_stats_pkts_s cn56xx;
1187 	struct cvmx_agl_gmx_rxx_stats_pkts_s cn56xxp1;
1188 	struct cvmx_agl_gmx_rxx_stats_pkts_s cn61xx;
1189 	struct cvmx_agl_gmx_rxx_stats_pkts_s cn63xx;
1190 	struct cvmx_agl_gmx_rxx_stats_pkts_s cn63xxp1;
1191 	struct cvmx_agl_gmx_rxx_stats_pkts_s cn66xx;
1192 	struct cvmx_agl_gmx_rxx_stats_pkts_s cn68xx;
1193 	struct cvmx_agl_gmx_rxx_stats_pkts_s cn68xxp1;
1194 };
1195 
1196 union cvmx_agl_gmx_rxx_stats_pkts_bad {
1197 	uint64_t u64;
1198 	struct cvmx_agl_gmx_rxx_stats_pkts_bad_s {
1199 #ifdef __BIG_ENDIAN_BITFIELD
1200 		uint64_t reserved_32_63:32;
1201 		uint64_t cnt:32;
1202 #else
1203 		uint64_t cnt:32;
1204 		uint64_t reserved_32_63:32;
1205 #endif
1206 	} s;
1207 	struct cvmx_agl_gmx_rxx_stats_pkts_bad_s cn52xx;
1208 	struct cvmx_agl_gmx_rxx_stats_pkts_bad_s cn52xxp1;
1209 	struct cvmx_agl_gmx_rxx_stats_pkts_bad_s cn56xx;
1210 	struct cvmx_agl_gmx_rxx_stats_pkts_bad_s cn56xxp1;
1211 	struct cvmx_agl_gmx_rxx_stats_pkts_bad_s cn61xx;
1212 	struct cvmx_agl_gmx_rxx_stats_pkts_bad_s cn63xx;
1213 	struct cvmx_agl_gmx_rxx_stats_pkts_bad_s cn63xxp1;
1214 	struct cvmx_agl_gmx_rxx_stats_pkts_bad_s cn66xx;
1215 	struct cvmx_agl_gmx_rxx_stats_pkts_bad_s cn68xx;
1216 	struct cvmx_agl_gmx_rxx_stats_pkts_bad_s cn68xxp1;
1217 };
1218 
1219 union cvmx_agl_gmx_rxx_stats_pkts_ctl {
1220 	uint64_t u64;
1221 	struct cvmx_agl_gmx_rxx_stats_pkts_ctl_s {
1222 #ifdef __BIG_ENDIAN_BITFIELD
1223 		uint64_t reserved_32_63:32;
1224 		uint64_t cnt:32;
1225 #else
1226 		uint64_t cnt:32;
1227 		uint64_t reserved_32_63:32;
1228 #endif
1229 	} s;
1230 	struct cvmx_agl_gmx_rxx_stats_pkts_ctl_s cn52xx;
1231 	struct cvmx_agl_gmx_rxx_stats_pkts_ctl_s cn52xxp1;
1232 	struct cvmx_agl_gmx_rxx_stats_pkts_ctl_s cn56xx;
1233 	struct cvmx_agl_gmx_rxx_stats_pkts_ctl_s cn56xxp1;
1234 	struct cvmx_agl_gmx_rxx_stats_pkts_ctl_s cn61xx;
1235 	struct cvmx_agl_gmx_rxx_stats_pkts_ctl_s cn63xx;
1236 	struct cvmx_agl_gmx_rxx_stats_pkts_ctl_s cn63xxp1;
1237 	struct cvmx_agl_gmx_rxx_stats_pkts_ctl_s cn66xx;
1238 	struct cvmx_agl_gmx_rxx_stats_pkts_ctl_s cn68xx;
1239 	struct cvmx_agl_gmx_rxx_stats_pkts_ctl_s cn68xxp1;
1240 };
1241 
1242 union cvmx_agl_gmx_rxx_stats_pkts_dmac {
1243 	uint64_t u64;
1244 	struct cvmx_agl_gmx_rxx_stats_pkts_dmac_s {
1245 #ifdef __BIG_ENDIAN_BITFIELD
1246 		uint64_t reserved_32_63:32;
1247 		uint64_t cnt:32;
1248 #else
1249 		uint64_t cnt:32;
1250 		uint64_t reserved_32_63:32;
1251 #endif
1252 	} s;
1253 	struct cvmx_agl_gmx_rxx_stats_pkts_dmac_s cn52xx;
1254 	struct cvmx_agl_gmx_rxx_stats_pkts_dmac_s cn52xxp1;
1255 	struct cvmx_agl_gmx_rxx_stats_pkts_dmac_s cn56xx;
1256 	struct cvmx_agl_gmx_rxx_stats_pkts_dmac_s cn56xxp1;
1257 	struct cvmx_agl_gmx_rxx_stats_pkts_dmac_s cn61xx;
1258 	struct cvmx_agl_gmx_rxx_stats_pkts_dmac_s cn63xx;
1259 	struct cvmx_agl_gmx_rxx_stats_pkts_dmac_s cn63xxp1;
1260 	struct cvmx_agl_gmx_rxx_stats_pkts_dmac_s cn66xx;
1261 	struct cvmx_agl_gmx_rxx_stats_pkts_dmac_s cn68xx;
1262 	struct cvmx_agl_gmx_rxx_stats_pkts_dmac_s cn68xxp1;
1263 };
1264 
1265 union cvmx_agl_gmx_rxx_stats_pkts_drp {
1266 	uint64_t u64;
1267 	struct cvmx_agl_gmx_rxx_stats_pkts_drp_s {
1268 #ifdef __BIG_ENDIAN_BITFIELD
1269 		uint64_t reserved_32_63:32;
1270 		uint64_t cnt:32;
1271 #else
1272 		uint64_t cnt:32;
1273 		uint64_t reserved_32_63:32;
1274 #endif
1275 	} s;
1276 	struct cvmx_agl_gmx_rxx_stats_pkts_drp_s cn52xx;
1277 	struct cvmx_agl_gmx_rxx_stats_pkts_drp_s cn52xxp1;
1278 	struct cvmx_agl_gmx_rxx_stats_pkts_drp_s cn56xx;
1279 	struct cvmx_agl_gmx_rxx_stats_pkts_drp_s cn56xxp1;
1280 	struct cvmx_agl_gmx_rxx_stats_pkts_drp_s cn61xx;
1281 	struct cvmx_agl_gmx_rxx_stats_pkts_drp_s cn63xx;
1282 	struct cvmx_agl_gmx_rxx_stats_pkts_drp_s cn63xxp1;
1283 	struct cvmx_agl_gmx_rxx_stats_pkts_drp_s cn66xx;
1284 	struct cvmx_agl_gmx_rxx_stats_pkts_drp_s cn68xx;
1285 	struct cvmx_agl_gmx_rxx_stats_pkts_drp_s cn68xxp1;
1286 };
1287 
1288 union cvmx_agl_gmx_rxx_udd_skp {
1289 	uint64_t u64;
1290 	struct cvmx_agl_gmx_rxx_udd_skp_s {
1291 #ifdef __BIG_ENDIAN_BITFIELD
1292 		uint64_t reserved_9_63:55;
1293 		uint64_t fcssel:1;
1294 		uint64_t reserved_7_7:1;
1295 		uint64_t len:7;
1296 #else
1297 		uint64_t len:7;
1298 		uint64_t reserved_7_7:1;
1299 		uint64_t fcssel:1;
1300 		uint64_t reserved_9_63:55;
1301 #endif
1302 	} s;
1303 	struct cvmx_agl_gmx_rxx_udd_skp_s cn52xx;
1304 	struct cvmx_agl_gmx_rxx_udd_skp_s cn52xxp1;
1305 	struct cvmx_agl_gmx_rxx_udd_skp_s cn56xx;
1306 	struct cvmx_agl_gmx_rxx_udd_skp_s cn56xxp1;
1307 	struct cvmx_agl_gmx_rxx_udd_skp_s cn61xx;
1308 	struct cvmx_agl_gmx_rxx_udd_skp_s cn63xx;
1309 	struct cvmx_agl_gmx_rxx_udd_skp_s cn63xxp1;
1310 	struct cvmx_agl_gmx_rxx_udd_skp_s cn66xx;
1311 	struct cvmx_agl_gmx_rxx_udd_skp_s cn68xx;
1312 	struct cvmx_agl_gmx_rxx_udd_skp_s cn68xxp1;
1313 };
1314 
1315 union cvmx_agl_gmx_rx_bp_dropx {
1316 	uint64_t u64;
1317 	struct cvmx_agl_gmx_rx_bp_dropx_s {
1318 #ifdef __BIG_ENDIAN_BITFIELD
1319 		uint64_t reserved_6_63:58;
1320 		uint64_t mark:6;
1321 #else
1322 		uint64_t mark:6;
1323 		uint64_t reserved_6_63:58;
1324 #endif
1325 	} s;
1326 	struct cvmx_agl_gmx_rx_bp_dropx_s cn52xx;
1327 	struct cvmx_agl_gmx_rx_bp_dropx_s cn52xxp1;
1328 	struct cvmx_agl_gmx_rx_bp_dropx_s cn56xx;
1329 	struct cvmx_agl_gmx_rx_bp_dropx_s cn56xxp1;
1330 	struct cvmx_agl_gmx_rx_bp_dropx_s cn61xx;
1331 	struct cvmx_agl_gmx_rx_bp_dropx_s cn63xx;
1332 	struct cvmx_agl_gmx_rx_bp_dropx_s cn63xxp1;
1333 	struct cvmx_agl_gmx_rx_bp_dropx_s cn66xx;
1334 	struct cvmx_agl_gmx_rx_bp_dropx_s cn68xx;
1335 	struct cvmx_agl_gmx_rx_bp_dropx_s cn68xxp1;
1336 };
1337 
1338 union cvmx_agl_gmx_rx_bp_offx {
1339 	uint64_t u64;
1340 	struct cvmx_agl_gmx_rx_bp_offx_s {
1341 #ifdef __BIG_ENDIAN_BITFIELD
1342 		uint64_t reserved_6_63:58;
1343 		uint64_t mark:6;
1344 #else
1345 		uint64_t mark:6;
1346 		uint64_t reserved_6_63:58;
1347 #endif
1348 	} s;
1349 	struct cvmx_agl_gmx_rx_bp_offx_s cn52xx;
1350 	struct cvmx_agl_gmx_rx_bp_offx_s cn52xxp1;
1351 	struct cvmx_agl_gmx_rx_bp_offx_s cn56xx;
1352 	struct cvmx_agl_gmx_rx_bp_offx_s cn56xxp1;
1353 	struct cvmx_agl_gmx_rx_bp_offx_s cn61xx;
1354 	struct cvmx_agl_gmx_rx_bp_offx_s cn63xx;
1355 	struct cvmx_agl_gmx_rx_bp_offx_s cn63xxp1;
1356 	struct cvmx_agl_gmx_rx_bp_offx_s cn66xx;
1357 	struct cvmx_agl_gmx_rx_bp_offx_s cn68xx;
1358 	struct cvmx_agl_gmx_rx_bp_offx_s cn68xxp1;
1359 };
1360 
1361 union cvmx_agl_gmx_rx_bp_onx {
1362 	uint64_t u64;
1363 	struct cvmx_agl_gmx_rx_bp_onx_s {
1364 #ifdef __BIG_ENDIAN_BITFIELD
1365 		uint64_t reserved_9_63:55;
1366 		uint64_t mark:9;
1367 #else
1368 		uint64_t mark:9;
1369 		uint64_t reserved_9_63:55;
1370 #endif
1371 	} s;
1372 	struct cvmx_agl_gmx_rx_bp_onx_s cn52xx;
1373 	struct cvmx_agl_gmx_rx_bp_onx_s cn52xxp1;
1374 	struct cvmx_agl_gmx_rx_bp_onx_s cn56xx;
1375 	struct cvmx_agl_gmx_rx_bp_onx_s cn56xxp1;
1376 	struct cvmx_agl_gmx_rx_bp_onx_s cn61xx;
1377 	struct cvmx_agl_gmx_rx_bp_onx_s cn63xx;
1378 	struct cvmx_agl_gmx_rx_bp_onx_s cn63xxp1;
1379 	struct cvmx_agl_gmx_rx_bp_onx_s cn66xx;
1380 	struct cvmx_agl_gmx_rx_bp_onx_s cn68xx;
1381 	struct cvmx_agl_gmx_rx_bp_onx_s cn68xxp1;
1382 };
1383 
1384 union cvmx_agl_gmx_rx_prt_info {
1385 	uint64_t u64;
1386 	struct cvmx_agl_gmx_rx_prt_info_s {
1387 #ifdef __BIG_ENDIAN_BITFIELD
1388 		uint64_t reserved_18_63:46;
1389 		uint64_t drop:2;
1390 		uint64_t reserved_2_15:14;
1391 		uint64_t commit:2;
1392 #else
1393 		uint64_t commit:2;
1394 		uint64_t reserved_2_15:14;
1395 		uint64_t drop:2;
1396 		uint64_t reserved_18_63:46;
1397 #endif
1398 	} s;
1399 	struct cvmx_agl_gmx_rx_prt_info_s cn52xx;
1400 	struct cvmx_agl_gmx_rx_prt_info_s cn52xxp1;
1401 	struct cvmx_agl_gmx_rx_prt_info_cn56xx {
1402 #ifdef __BIG_ENDIAN_BITFIELD
1403 		uint64_t reserved_17_63:47;
1404 		uint64_t drop:1;
1405 		uint64_t reserved_1_15:15;
1406 		uint64_t commit:1;
1407 #else
1408 		uint64_t commit:1;
1409 		uint64_t reserved_1_15:15;
1410 		uint64_t drop:1;
1411 		uint64_t reserved_17_63:47;
1412 #endif
1413 	} cn56xx;
1414 	struct cvmx_agl_gmx_rx_prt_info_cn56xx cn56xxp1;
1415 	struct cvmx_agl_gmx_rx_prt_info_s cn61xx;
1416 	struct cvmx_agl_gmx_rx_prt_info_s cn63xx;
1417 	struct cvmx_agl_gmx_rx_prt_info_s cn63xxp1;
1418 	struct cvmx_agl_gmx_rx_prt_info_s cn66xx;
1419 	struct cvmx_agl_gmx_rx_prt_info_s cn68xx;
1420 	struct cvmx_agl_gmx_rx_prt_info_s cn68xxp1;
1421 };
1422 
1423 union cvmx_agl_gmx_rx_tx_status {
1424 	uint64_t u64;
1425 	struct cvmx_agl_gmx_rx_tx_status_s {
1426 #ifdef __BIG_ENDIAN_BITFIELD
1427 		uint64_t reserved_6_63:58;
1428 		uint64_t tx:2;
1429 		uint64_t reserved_2_3:2;
1430 		uint64_t rx:2;
1431 #else
1432 		uint64_t rx:2;
1433 		uint64_t reserved_2_3:2;
1434 		uint64_t tx:2;
1435 		uint64_t reserved_6_63:58;
1436 #endif
1437 	} s;
1438 	struct cvmx_agl_gmx_rx_tx_status_s cn52xx;
1439 	struct cvmx_agl_gmx_rx_tx_status_s cn52xxp1;
1440 	struct cvmx_agl_gmx_rx_tx_status_cn56xx {
1441 #ifdef __BIG_ENDIAN_BITFIELD
1442 		uint64_t reserved_5_63:59;
1443 		uint64_t tx:1;
1444 		uint64_t reserved_1_3:3;
1445 		uint64_t rx:1;
1446 #else
1447 		uint64_t rx:1;
1448 		uint64_t reserved_1_3:3;
1449 		uint64_t tx:1;
1450 		uint64_t reserved_5_63:59;
1451 #endif
1452 	} cn56xx;
1453 	struct cvmx_agl_gmx_rx_tx_status_cn56xx cn56xxp1;
1454 	struct cvmx_agl_gmx_rx_tx_status_s cn61xx;
1455 	struct cvmx_agl_gmx_rx_tx_status_s cn63xx;
1456 	struct cvmx_agl_gmx_rx_tx_status_s cn63xxp1;
1457 	struct cvmx_agl_gmx_rx_tx_status_s cn66xx;
1458 	struct cvmx_agl_gmx_rx_tx_status_s cn68xx;
1459 	struct cvmx_agl_gmx_rx_tx_status_s cn68xxp1;
1460 };
1461 
1462 union cvmx_agl_gmx_smacx {
1463 	uint64_t u64;
1464 	struct cvmx_agl_gmx_smacx_s {
1465 #ifdef __BIG_ENDIAN_BITFIELD
1466 		uint64_t reserved_48_63:16;
1467 		uint64_t smac:48;
1468 #else
1469 		uint64_t smac:48;
1470 		uint64_t reserved_48_63:16;
1471 #endif
1472 	} s;
1473 	struct cvmx_agl_gmx_smacx_s cn52xx;
1474 	struct cvmx_agl_gmx_smacx_s cn52xxp1;
1475 	struct cvmx_agl_gmx_smacx_s cn56xx;
1476 	struct cvmx_agl_gmx_smacx_s cn56xxp1;
1477 	struct cvmx_agl_gmx_smacx_s cn61xx;
1478 	struct cvmx_agl_gmx_smacx_s cn63xx;
1479 	struct cvmx_agl_gmx_smacx_s cn63xxp1;
1480 	struct cvmx_agl_gmx_smacx_s cn66xx;
1481 	struct cvmx_agl_gmx_smacx_s cn68xx;
1482 	struct cvmx_agl_gmx_smacx_s cn68xxp1;
1483 };
1484 
1485 union cvmx_agl_gmx_stat_bp {
1486 	uint64_t u64;
1487 	struct cvmx_agl_gmx_stat_bp_s {
1488 #ifdef __BIG_ENDIAN_BITFIELD
1489 		uint64_t reserved_17_63:47;
1490 		uint64_t bp:1;
1491 		uint64_t cnt:16;
1492 #else
1493 		uint64_t cnt:16;
1494 		uint64_t bp:1;
1495 		uint64_t reserved_17_63:47;
1496 #endif
1497 	} s;
1498 	struct cvmx_agl_gmx_stat_bp_s cn52xx;
1499 	struct cvmx_agl_gmx_stat_bp_s cn52xxp1;
1500 	struct cvmx_agl_gmx_stat_bp_s cn56xx;
1501 	struct cvmx_agl_gmx_stat_bp_s cn56xxp1;
1502 	struct cvmx_agl_gmx_stat_bp_s cn61xx;
1503 	struct cvmx_agl_gmx_stat_bp_s cn63xx;
1504 	struct cvmx_agl_gmx_stat_bp_s cn63xxp1;
1505 	struct cvmx_agl_gmx_stat_bp_s cn66xx;
1506 	struct cvmx_agl_gmx_stat_bp_s cn68xx;
1507 	struct cvmx_agl_gmx_stat_bp_s cn68xxp1;
1508 };
1509 
1510 union cvmx_agl_gmx_txx_append {
1511 	uint64_t u64;
1512 	struct cvmx_agl_gmx_txx_append_s {
1513 #ifdef __BIG_ENDIAN_BITFIELD
1514 		uint64_t reserved_4_63:60;
1515 		uint64_t force_fcs:1;
1516 		uint64_t fcs:1;
1517 		uint64_t pad:1;
1518 		uint64_t preamble:1;
1519 #else
1520 		uint64_t preamble:1;
1521 		uint64_t pad:1;
1522 		uint64_t fcs:1;
1523 		uint64_t force_fcs:1;
1524 		uint64_t reserved_4_63:60;
1525 #endif
1526 	} s;
1527 	struct cvmx_agl_gmx_txx_append_s cn52xx;
1528 	struct cvmx_agl_gmx_txx_append_s cn52xxp1;
1529 	struct cvmx_agl_gmx_txx_append_s cn56xx;
1530 	struct cvmx_agl_gmx_txx_append_s cn56xxp1;
1531 	struct cvmx_agl_gmx_txx_append_s cn61xx;
1532 	struct cvmx_agl_gmx_txx_append_s cn63xx;
1533 	struct cvmx_agl_gmx_txx_append_s cn63xxp1;
1534 	struct cvmx_agl_gmx_txx_append_s cn66xx;
1535 	struct cvmx_agl_gmx_txx_append_s cn68xx;
1536 	struct cvmx_agl_gmx_txx_append_s cn68xxp1;
1537 };
1538 
1539 union cvmx_agl_gmx_txx_clk {
1540 	uint64_t u64;
1541 	struct cvmx_agl_gmx_txx_clk_s {
1542 #ifdef __BIG_ENDIAN_BITFIELD
1543 		uint64_t reserved_6_63:58;
1544 		uint64_t clk_cnt:6;
1545 #else
1546 		uint64_t clk_cnt:6;
1547 		uint64_t reserved_6_63:58;
1548 #endif
1549 	} s;
1550 	struct cvmx_agl_gmx_txx_clk_s cn61xx;
1551 	struct cvmx_agl_gmx_txx_clk_s cn63xx;
1552 	struct cvmx_agl_gmx_txx_clk_s cn63xxp1;
1553 	struct cvmx_agl_gmx_txx_clk_s cn66xx;
1554 	struct cvmx_agl_gmx_txx_clk_s cn68xx;
1555 	struct cvmx_agl_gmx_txx_clk_s cn68xxp1;
1556 };
1557 
1558 union cvmx_agl_gmx_txx_ctl {
1559 	uint64_t u64;
1560 	struct cvmx_agl_gmx_txx_ctl_s {
1561 #ifdef __BIG_ENDIAN_BITFIELD
1562 		uint64_t reserved_2_63:62;
1563 		uint64_t xsdef_en:1;
1564 		uint64_t xscol_en:1;
1565 #else
1566 		uint64_t xscol_en:1;
1567 		uint64_t xsdef_en:1;
1568 		uint64_t reserved_2_63:62;
1569 #endif
1570 	} s;
1571 	struct cvmx_agl_gmx_txx_ctl_s cn52xx;
1572 	struct cvmx_agl_gmx_txx_ctl_s cn52xxp1;
1573 	struct cvmx_agl_gmx_txx_ctl_s cn56xx;
1574 	struct cvmx_agl_gmx_txx_ctl_s cn56xxp1;
1575 	struct cvmx_agl_gmx_txx_ctl_s cn61xx;
1576 	struct cvmx_agl_gmx_txx_ctl_s cn63xx;
1577 	struct cvmx_agl_gmx_txx_ctl_s cn63xxp1;
1578 	struct cvmx_agl_gmx_txx_ctl_s cn66xx;
1579 	struct cvmx_agl_gmx_txx_ctl_s cn68xx;
1580 	struct cvmx_agl_gmx_txx_ctl_s cn68xxp1;
1581 };
1582 
1583 union cvmx_agl_gmx_txx_min_pkt {
1584 	uint64_t u64;
1585 	struct cvmx_agl_gmx_txx_min_pkt_s {
1586 #ifdef __BIG_ENDIAN_BITFIELD
1587 		uint64_t reserved_8_63:56;
1588 		uint64_t min_size:8;
1589 #else
1590 		uint64_t min_size:8;
1591 		uint64_t reserved_8_63:56;
1592 #endif
1593 	} s;
1594 	struct cvmx_agl_gmx_txx_min_pkt_s cn52xx;
1595 	struct cvmx_agl_gmx_txx_min_pkt_s cn52xxp1;
1596 	struct cvmx_agl_gmx_txx_min_pkt_s cn56xx;
1597 	struct cvmx_agl_gmx_txx_min_pkt_s cn56xxp1;
1598 	struct cvmx_agl_gmx_txx_min_pkt_s cn61xx;
1599 	struct cvmx_agl_gmx_txx_min_pkt_s cn63xx;
1600 	struct cvmx_agl_gmx_txx_min_pkt_s cn63xxp1;
1601 	struct cvmx_agl_gmx_txx_min_pkt_s cn66xx;
1602 	struct cvmx_agl_gmx_txx_min_pkt_s cn68xx;
1603 	struct cvmx_agl_gmx_txx_min_pkt_s cn68xxp1;
1604 };
1605 
1606 union cvmx_agl_gmx_txx_pause_pkt_interval {
1607 	uint64_t u64;
1608 	struct cvmx_agl_gmx_txx_pause_pkt_interval_s {
1609 #ifdef __BIG_ENDIAN_BITFIELD
1610 		uint64_t reserved_16_63:48;
1611 		uint64_t interval:16;
1612 #else
1613 		uint64_t interval:16;
1614 		uint64_t reserved_16_63:48;
1615 #endif
1616 	} s;
1617 	struct cvmx_agl_gmx_txx_pause_pkt_interval_s cn52xx;
1618 	struct cvmx_agl_gmx_txx_pause_pkt_interval_s cn52xxp1;
1619 	struct cvmx_agl_gmx_txx_pause_pkt_interval_s cn56xx;
1620 	struct cvmx_agl_gmx_txx_pause_pkt_interval_s cn56xxp1;
1621 	struct cvmx_agl_gmx_txx_pause_pkt_interval_s cn61xx;
1622 	struct cvmx_agl_gmx_txx_pause_pkt_interval_s cn63xx;
1623 	struct cvmx_agl_gmx_txx_pause_pkt_interval_s cn63xxp1;
1624 	struct cvmx_agl_gmx_txx_pause_pkt_interval_s cn66xx;
1625 	struct cvmx_agl_gmx_txx_pause_pkt_interval_s cn68xx;
1626 	struct cvmx_agl_gmx_txx_pause_pkt_interval_s cn68xxp1;
1627 };
1628 
1629 union cvmx_agl_gmx_txx_pause_pkt_time {
1630 	uint64_t u64;
1631 	struct cvmx_agl_gmx_txx_pause_pkt_time_s {
1632 #ifdef __BIG_ENDIAN_BITFIELD
1633 		uint64_t reserved_16_63:48;
1634 		uint64_t time:16;
1635 #else
1636 		uint64_t time:16;
1637 		uint64_t reserved_16_63:48;
1638 #endif
1639 	} s;
1640 	struct cvmx_agl_gmx_txx_pause_pkt_time_s cn52xx;
1641 	struct cvmx_agl_gmx_txx_pause_pkt_time_s cn52xxp1;
1642 	struct cvmx_agl_gmx_txx_pause_pkt_time_s cn56xx;
1643 	struct cvmx_agl_gmx_txx_pause_pkt_time_s cn56xxp1;
1644 	struct cvmx_agl_gmx_txx_pause_pkt_time_s cn61xx;
1645 	struct cvmx_agl_gmx_txx_pause_pkt_time_s cn63xx;
1646 	struct cvmx_agl_gmx_txx_pause_pkt_time_s cn63xxp1;
1647 	struct cvmx_agl_gmx_txx_pause_pkt_time_s cn66xx;
1648 	struct cvmx_agl_gmx_txx_pause_pkt_time_s cn68xx;
1649 	struct cvmx_agl_gmx_txx_pause_pkt_time_s cn68xxp1;
1650 };
1651 
1652 union cvmx_agl_gmx_txx_pause_togo {
1653 	uint64_t u64;
1654 	struct cvmx_agl_gmx_txx_pause_togo_s {
1655 #ifdef __BIG_ENDIAN_BITFIELD
1656 		uint64_t reserved_16_63:48;
1657 		uint64_t time:16;
1658 #else
1659 		uint64_t time:16;
1660 		uint64_t reserved_16_63:48;
1661 #endif
1662 	} s;
1663 	struct cvmx_agl_gmx_txx_pause_togo_s cn52xx;
1664 	struct cvmx_agl_gmx_txx_pause_togo_s cn52xxp1;
1665 	struct cvmx_agl_gmx_txx_pause_togo_s cn56xx;
1666 	struct cvmx_agl_gmx_txx_pause_togo_s cn56xxp1;
1667 	struct cvmx_agl_gmx_txx_pause_togo_s cn61xx;
1668 	struct cvmx_agl_gmx_txx_pause_togo_s cn63xx;
1669 	struct cvmx_agl_gmx_txx_pause_togo_s cn63xxp1;
1670 	struct cvmx_agl_gmx_txx_pause_togo_s cn66xx;
1671 	struct cvmx_agl_gmx_txx_pause_togo_s cn68xx;
1672 	struct cvmx_agl_gmx_txx_pause_togo_s cn68xxp1;
1673 };
1674 
1675 union cvmx_agl_gmx_txx_pause_zero {
1676 	uint64_t u64;
1677 	struct cvmx_agl_gmx_txx_pause_zero_s {
1678 #ifdef __BIG_ENDIAN_BITFIELD
1679 		uint64_t reserved_1_63:63;
1680 		uint64_t send:1;
1681 #else
1682 		uint64_t send:1;
1683 		uint64_t reserved_1_63:63;
1684 #endif
1685 	} s;
1686 	struct cvmx_agl_gmx_txx_pause_zero_s cn52xx;
1687 	struct cvmx_agl_gmx_txx_pause_zero_s cn52xxp1;
1688 	struct cvmx_agl_gmx_txx_pause_zero_s cn56xx;
1689 	struct cvmx_agl_gmx_txx_pause_zero_s cn56xxp1;
1690 	struct cvmx_agl_gmx_txx_pause_zero_s cn61xx;
1691 	struct cvmx_agl_gmx_txx_pause_zero_s cn63xx;
1692 	struct cvmx_agl_gmx_txx_pause_zero_s cn63xxp1;
1693 	struct cvmx_agl_gmx_txx_pause_zero_s cn66xx;
1694 	struct cvmx_agl_gmx_txx_pause_zero_s cn68xx;
1695 	struct cvmx_agl_gmx_txx_pause_zero_s cn68xxp1;
1696 };
1697 
1698 union cvmx_agl_gmx_txx_soft_pause {
1699 	uint64_t u64;
1700 	struct cvmx_agl_gmx_txx_soft_pause_s {
1701 #ifdef __BIG_ENDIAN_BITFIELD
1702 		uint64_t reserved_16_63:48;
1703 		uint64_t time:16;
1704 #else
1705 		uint64_t time:16;
1706 		uint64_t reserved_16_63:48;
1707 #endif
1708 	} s;
1709 	struct cvmx_agl_gmx_txx_soft_pause_s cn52xx;
1710 	struct cvmx_agl_gmx_txx_soft_pause_s cn52xxp1;
1711 	struct cvmx_agl_gmx_txx_soft_pause_s cn56xx;
1712 	struct cvmx_agl_gmx_txx_soft_pause_s cn56xxp1;
1713 	struct cvmx_agl_gmx_txx_soft_pause_s cn61xx;
1714 	struct cvmx_agl_gmx_txx_soft_pause_s cn63xx;
1715 	struct cvmx_agl_gmx_txx_soft_pause_s cn63xxp1;
1716 	struct cvmx_agl_gmx_txx_soft_pause_s cn66xx;
1717 	struct cvmx_agl_gmx_txx_soft_pause_s cn68xx;
1718 	struct cvmx_agl_gmx_txx_soft_pause_s cn68xxp1;
1719 };
1720 
1721 union cvmx_agl_gmx_txx_stat0 {
1722 	uint64_t u64;
1723 	struct cvmx_agl_gmx_txx_stat0_s {
1724 #ifdef __BIG_ENDIAN_BITFIELD
1725 		uint64_t xsdef:32;
1726 		uint64_t xscol:32;
1727 #else
1728 		uint64_t xscol:32;
1729 		uint64_t xsdef:32;
1730 #endif
1731 	} s;
1732 	struct cvmx_agl_gmx_txx_stat0_s cn52xx;
1733 	struct cvmx_agl_gmx_txx_stat0_s cn52xxp1;
1734 	struct cvmx_agl_gmx_txx_stat0_s cn56xx;
1735 	struct cvmx_agl_gmx_txx_stat0_s cn56xxp1;
1736 	struct cvmx_agl_gmx_txx_stat0_s cn61xx;
1737 	struct cvmx_agl_gmx_txx_stat0_s cn63xx;
1738 	struct cvmx_agl_gmx_txx_stat0_s cn63xxp1;
1739 	struct cvmx_agl_gmx_txx_stat0_s cn66xx;
1740 	struct cvmx_agl_gmx_txx_stat0_s cn68xx;
1741 	struct cvmx_agl_gmx_txx_stat0_s cn68xxp1;
1742 };
1743 
1744 union cvmx_agl_gmx_txx_stat1 {
1745 	uint64_t u64;
1746 	struct cvmx_agl_gmx_txx_stat1_s {
1747 #ifdef __BIG_ENDIAN_BITFIELD
1748 		uint64_t scol:32;
1749 		uint64_t mcol:32;
1750 #else
1751 		uint64_t mcol:32;
1752 		uint64_t scol:32;
1753 #endif
1754 	} s;
1755 	struct cvmx_agl_gmx_txx_stat1_s cn52xx;
1756 	struct cvmx_agl_gmx_txx_stat1_s cn52xxp1;
1757 	struct cvmx_agl_gmx_txx_stat1_s cn56xx;
1758 	struct cvmx_agl_gmx_txx_stat1_s cn56xxp1;
1759 	struct cvmx_agl_gmx_txx_stat1_s cn61xx;
1760 	struct cvmx_agl_gmx_txx_stat1_s cn63xx;
1761 	struct cvmx_agl_gmx_txx_stat1_s cn63xxp1;
1762 	struct cvmx_agl_gmx_txx_stat1_s cn66xx;
1763 	struct cvmx_agl_gmx_txx_stat1_s cn68xx;
1764 	struct cvmx_agl_gmx_txx_stat1_s cn68xxp1;
1765 };
1766 
1767 union cvmx_agl_gmx_txx_stat2 {
1768 	uint64_t u64;
1769 	struct cvmx_agl_gmx_txx_stat2_s {
1770 #ifdef __BIG_ENDIAN_BITFIELD
1771 		uint64_t reserved_48_63:16;
1772 		uint64_t octs:48;
1773 #else
1774 		uint64_t octs:48;
1775 		uint64_t reserved_48_63:16;
1776 #endif
1777 	} s;
1778 	struct cvmx_agl_gmx_txx_stat2_s cn52xx;
1779 	struct cvmx_agl_gmx_txx_stat2_s cn52xxp1;
1780 	struct cvmx_agl_gmx_txx_stat2_s cn56xx;
1781 	struct cvmx_agl_gmx_txx_stat2_s cn56xxp1;
1782 	struct cvmx_agl_gmx_txx_stat2_s cn61xx;
1783 	struct cvmx_agl_gmx_txx_stat2_s cn63xx;
1784 	struct cvmx_agl_gmx_txx_stat2_s cn63xxp1;
1785 	struct cvmx_agl_gmx_txx_stat2_s cn66xx;
1786 	struct cvmx_agl_gmx_txx_stat2_s cn68xx;
1787 	struct cvmx_agl_gmx_txx_stat2_s cn68xxp1;
1788 };
1789 
1790 union cvmx_agl_gmx_txx_stat3 {
1791 	uint64_t u64;
1792 	struct cvmx_agl_gmx_txx_stat3_s {
1793 #ifdef __BIG_ENDIAN_BITFIELD
1794 		uint64_t reserved_32_63:32;
1795 		uint64_t pkts:32;
1796 #else
1797 		uint64_t pkts:32;
1798 		uint64_t reserved_32_63:32;
1799 #endif
1800 	} s;
1801 	struct cvmx_agl_gmx_txx_stat3_s cn52xx;
1802 	struct cvmx_agl_gmx_txx_stat3_s cn52xxp1;
1803 	struct cvmx_agl_gmx_txx_stat3_s cn56xx;
1804 	struct cvmx_agl_gmx_txx_stat3_s cn56xxp1;
1805 	struct cvmx_agl_gmx_txx_stat3_s cn61xx;
1806 	struct cvmx_agl_gmx_txx_stat3_s cn63xx;
1807 	struct cvmx_agl_gmx_txx_stat3_s cn63xxp1;
1808 	struct cvmx_agl_gmx_txx_stat3_s cn66xx;
1809 	struct cvmx_agl_gmx_txx_stat3_s cn68xx;
1810 	struct cvmx_agl_gmx_txx_stat3_s cn68xxp1;
1811 };
1812 
1813 union cvmx_agl_gmx_txx_stat4 {
1814 	uint64_t u64;
1815 	struct cvmx_agl_gmx_txx_stat4_s {
1816 #ifdef __BIG_ENDIAN_BITFIELD
1817 		uint64_t hist1:32;
1818 		uint64_t hist0:32;
1819 #else
1820 		uint64_t hist0:32;
1821 		uint64_t hist1:32;
1822 #endif
1823 	} s;
1824 	struct cvmx_agl_gmx_txx_stat4_s cn52xx;
1825 	struct cvmx_agl_gmx_txx_stat4_s cn52xxp1;
1826 	struct cvmx_agl_gmx_txx_stat4_s cn56xx;
1827 	struct cvmx_agl_gmx_txx_stat4_s cn56xxp1;
1828 	struct cvmx_agl_gmx_txx_stat4_s cn61xx;
1829 	struct cvmx_agl_gmx_txx_stat4_s cn63xx;
1830 	struct cvmx_agl_gmx_txx_stat4_s cn63xxp1;
1831 	struct cvmx_agl_gmx_txx_stat4_s cn66xx;
1832 	struct cvmx_agl_gmx_txx_stat4_s cn68xx;
1833 	struct cvmx_agl_gmx_txx_stat4_s cn68xxp1;
1834 };
1835 
1836 union cvmx_agl_gmx_txx_stat5 {
1837 	uint64_t u64;
1838 	struct cvmx_agl_gmx_txx_stat5_s {
1839 #ifdef __BIG_ENDIAN_BITFIELD
1840 		uint64_t hist3:32;
1841 		uint64_t hist2:32;
1842 #else
1843 		uint64_t hist2:32;
1844 		uint64_t hist3:32;
1845 #endif
1846 	} s;
1847 	struct cvmx_agl_gmx_txx_stat5_s cn52xx;
1848 	struct cvmx_agl_gmx_txx_stat5_s cn52xxp1;
1849 	struct cvmx_agl_gmx_txx_stat5_s cn56xx;
1850 	struct cvmx_agl_gmx_txx_stat5_s cn56xxp1;
1851 	struct cvmx_agl_gmx_txx_stat5_s cn61xx;
1852 	struct cvmx_agl_gmx_txx_stat5_s cn63xx;
1853 	struct cvmx_agl_gmx_txx_stat5_s cn63xxp1;
1854 	struct cvmx_agl_gmx_txx_stat5_s cn66xx;
1855 	struct cvmx_agl_gmx_txx_stat5_s cn68xx;
1856 	struct cvmx_agl_gmx_txx_stat5_s cn68xxp1;
1857 };
1858 
1859 union cvmx_agl_gmx_txx_stat6 {
1860 	uint64_t u64;
1861 	struct cvmx_agl_gmx_txx_stat6_s {
1862 #ifdef __BIG_ENDIAN_BITFIELD
1863 		uint64_t hist5:32;
1864 		uint64_t hist4:32;
1865 #else
1866 		uint64_t hist4:32;
1867 		uint64_t hist5:32;
1868 #endif
1869 	} s;
1870 	struct cvmx_agl_gmx_txx_stat6_s cn52xx;
1871 	struct cvmx_agl_gmx_txx_stat6_s cn52xxp1;
1872 	struct cvmx_agl_gmx_txx_stat6_s cn56xx;
1873 	struct cvmx_agl_gmx_txx_stat6_s cn56xxp1;
1874 	struct cvmx_agl_gmx_txx_stat6_s cn61xx;
1875 	struct cvmx_agl_gmx_txx_stat6_s cn63xx;
1876 	struct cvmx_agl_gmx_txx_stat6_s cn63xxp1;
1877 	struct cvmx_agl_gmx_txx_stat6_s cn66xx;
1878 	struct cvmx_agl_gmx_txx_stat6_s cn68xx;
1879 	struct cvmx_agl_gmx_txx_stat6_s cn68xxp1;
1880 };
1881 
1882 union cvmx_agl_gmx_txx_stat7 {
1883 	uint64_t u64;
1884 	struct cvmx_agl_gmx_txx_stat7_s {
1885 #ifdef __BIG_ENDIAN_BITFIELD
1886 		uint64_t hist7:32;
1887 		uint64_t hist6:32;
1888 #else
1889 		uint64_t hist6:32;
1890 		uint64_t hist7:32;
1891 #endif
1892 	} s;
1893 	struct cvmx_agl_gmx_txx_stat7_s cn52xx;
1894 	struct cvmx_agl_gmx_txx_stat7_s cn52xxp1;
1895 	struct cvmx_agl_gmx_txx_stat7_s cn56xx;
1896 	struct cvmx_agl_gmx_txx_stat7_s cn56xxp1;
1897 	struct cvmx_agl_gmx_txx_stat7_s cn61xx;
1898 	struct cvmx_agl_gmx_txx_stat7_s cn63xx;
1899 	struct cvmx_agl_gmx_txx_stat7_s cn63xxp1;
1900 	struct cvmx_agl_gmx_txx_stat7_s cn66xx;
1901 	struct cvmx_agl_gmx_txx_stat7_s cn68xx;
1902 	struct cvmx_agl_gmx_txx_stat7_s cn68xxp1;
1903 };
1904 
1905 union cvmx_agl_gmx_txx_stat8 {
1906 	uint64_t u64;
1907 	struct cvmx_agl_gmx_txx_stat8_s {
1908 #ifdef __BIG_ENDIAN_BITFIELD
1909 		uint64_t mcst:32;
1910 		uint64_t bcst:32;
1911 #else
1912 		uint64_t bcst:32;
1913 		uint64_t mcst:32;
1914 #endif
1915 	} s;
1916 	struct cvmx_agl_gmx_txx_stat8_s cn52xx;
1917 	struct cvmx_agl_gmx_txx_stat8_s cn52xxp1;
1918 	struct cvmx_agl_gmx_txx_stat8_s cn56xx;
1919 	struct cvmx_agl_gmx_txx_stat8_s cn56xxp1;
1920 	struct cvmx_agl_gmx_txx_stat8_s cn61xx;
1921 	struct cvmx_agl_gmx_txx_stat8_s cn63xx;
1922 	struct cvmx_agl_gmx_txx_stat8_s cn63xxp1;
1923 	struct cvmx_agl_gmx_txx_stat8_s cn66xx;
1924 	struct cvmx_agl_gmx_txx_stat8_s cn68xx;
1925 	struct cvmx_agl_gmx_txx_stat8_s cn68xxp1;
1926 };
1927 
1928 union cvmx_agl_gmx_txx_stat9 {
1929 	uint64_t u64;
1930 	struct cvmx_agl_gmx_txx_stat9_s {
1931 #ifdef __BIG_ENDIAN_BITFIELD
1932 		uint64_t undflw:32;
1933 		uint64_t ctl:32;
1934 #else
1935 		uint64_t ctl:32;
1936 		uint64_t undflw:32;
1937 #endif
1938 	} s;
1939 	struct cvmx_agl_gmx_txx_stat9_s cn52xx;
1940 	struct cvmx_agl_gmx_txx_stat9_s cn52xxp1;
1941 	struct cvmx_agl_gmx_txx_stat9_s cn56xx;
1942 	struct cvmx_agl_gmx_txx_stat9_s cn56xxp1;
1943 	struct cvmx_agl_gmx_txx_stat9_s cn61xx;
1944 	struct cvmx_agl_gmx_txx_stat9_s cn63xx;
1945 	struct cvmx_agl_gmx_txx_stat9_s cn63xxp1;
1946 	struct cvmx_agl_gmx_txx_stat9_s cn66xx;
1947 	struct cvmx_agl_gmx_txx_stat9_s cn68xx;
1948 	struct cvmx_agl_gmx_txx_stat9_s cn68xxp1;
1949 };
1950 
1951 union cvmx_agl_gmx_txx_stats_ctl {
1952 	uint64_t u64;
1953 	struct cvmx_agl_gmx_txx_stats_ctl_s {
1954 #ifdef __BIG_ENDIAN_BITFIELD
1955 		uint64_t reserved_1_63:63;
1956 		uint64_t rd_clr:1;
1957 #else
1958 		uint64_t rd_clr:1;
1959 		uint64_t reserved_1_63:63;
1960 #endif
1961 	} s;
1962 	struct cvmx_agl_gmx_txx_stats_ctl_s cn52xx;
1963 	struct cvmx_agl_gmx_txx_stats_ctl_s cn52xxp1;
1964 	struct cvmx_agl_gmx_txx_stats_ctl_s cn56xx;
1965 	struct cvmx_agl_gmx_txx_stats_ctl_s cn56xxp1;
1966 	struct cvmx_agl_gmx_txx_stats_ctl_s cn61xx;
1967 	struct cvmx_agl_gmx_txx_stats_ctl_s cn63xx;
1968 	struct cvmx_agl_gmx_txx_stats_ctl_s cn63xxp1;
1969 	struct cvmx_agl_gmx_txx_stats_ctl_s cn66xx;
1970 	struct cvmx_agl_gmx_txx_stats_ctl_s cn68xx;
1971 	struct cvmx_agl_gmx_txx_stats_ctl_s cn68xxp1;
1972 };
1973 
1974 union cvmx_agl_gmx_txx_thresh {
1975 	uint64_t u64;
1976 	struct cvmx_agl_gmx_txx_thresh_s {
1977 #ifdef __BIG_ENDIAN_BITFIELD
1978 		uint64_t reserved_6_63:58;
1979 		uint64_t cnt:6;
1980 #else
1981 		uint64_t cnt:6;
1982 		uint64_t reserved_6_63:58;
1983 #endif
1984 	} s;
1985 	struct cvmx_agl_gmx_txx_thresh_s cn52xx;
1986 	struct cvmx_agl_gmx_txx_thresh_s cn52xxp1;
1987 	struct cvmx_agl_gmx_txx_thresh_s cn56xx;
1988 	struct cvmx_agl_gmx_txx_thresh_s cn56xxp1;
1989 	struct cvmx_agl_gmx_txx_thresh_s cn61xx;
1990 	struct cvmx_agl_gmx_txx_thresh_s cn63xx;
1991 	struct cvmx_agl_gmx_txx_thresh_s cn63xxp1;
1992 	struct cvmx_agl_gmx_txx_thresh_s cn66xx;
1993 	struct cvmx_agl_gmx_txx_thresh_s cn68xx;
1994 	struct cvmx_agl_gmx_txx_thresh_s cn68xxp1;
1995 };
1996 
1997 union cvmx_agl_gmx_tx_bp {
1998 	uint64_t u64;
1999 	struct cvmx_agl_gmx_tx_bp_s {
2000 #ifdef __BIG_ENDIAN_BITFIELD
2001 		uint64_t reserved_2_63:62;
2002 		uint64_t bp:2;
2003 #else
2004 		uint64_t bp:2;
2005 		uint64_t reserved_2_63:62;
2006 #endif
2007 	} s;
2008 	struct cvmx_agl_gmx_tx_bp_s cn52xx;
2009 	struct cvmx_agl_gmx_tx_bp_s cn52xxp1;
2010 	struct cvmx_agl_gmx_tx_bp_cn56xx {
2011 #ifdef __BIG_ENDIAN_BITFIELD
2012 		uint64_t reserved_1_63:63;
2013 		uint64_t bp:1;
2014 #else
2015 		uint64_t bp:1;
2016 		uint64_t reserved_1_63:63;
2017 #endif
2018 	} cn56xx;
2019 	struct cvmx_agl_gmx_tx_bp_cn56xx cn56xxp1;
2020 	struct cvmx_agl_gmx_tx_bp_s cn61xx;
2021 	struct cvmx_agl_gmx_tx_bp_s cn63xx;
2022 	struct cvmx_agl_gmx_tx_bp_s cn63xxp1;
2023 	struct cvmx_agl_gmx_tx_bp_s cn66xx;
2024 	struct cvmx_agl_gmx_tx_bp_s cn68xx;
2025 	struct cvmx_agl_gmx_tx_bp_s cn68xxp1;
2026 };
2027 
2028 union cvmx_agl_gmx_tx_col_attempt {
2029 	uint64_t u64;
2030 	struct cvmx_agl_gmx_tx_col_attempt_s {
2031 #ifdef __BIG_ENDIAN_BITFIELD
2032 		uint64_t reserved_5_63:59;
2033 		uint64_t limit:5;
2034 #else
2035 		uint64_t limit:5;
2036 		uint64_t reserved_5_63:59;
2037 #endif
2038 	} s;
2039 	struct cvmx_agl_gmx_tx_col_attempt_s cn52xx;
2040 	struct cvmx_agl_gmx_tx_col_attempt_s cn52xxp1;
2041 	struct cvmx_agl_gmx_tx_col_attempt_s cn56xx;
2042 	struct cvmx_agl_gmx_tx_col_attempt_s cn56xxp1;
2043 	struct cvmx_agl_gmx_tx_col_attempt_s cn61xx;
2044 	struct cvmx_agl_gmx_tx_col_attempt_s cn63xx;
2045 	struct cvmx_agl_gmx_tx_col_attempt_s cn63xxp1;
2046 	struct cvmx_agl_gmx_tx_col_attempt_s cn66xx;
2047 	struct cvmx_agl_gmx_tx_col_attempt_s cn68xx;
2048 	struct cvmx_agl_gmx_tx_col_attempt_s cn68xxp1;
2049 };
2050 
2051 union cvmx_agl_gmx_tx_ifg {
2052 	uint64_t u64;
2053 	struct cvmx_agl_gmx_tx_ifg_s {
2054 #ifdef __BIG_ENDIAN_BITFIELD
2055 		uint64_t reserved_8_63:56;
2056 		uint64_t ifg2:4;
2057 		uint64_t ifg1:4;
2058 #else
2059 		uint64_t ifg1:4;
2060 		uint64_t ifg2:4;
2061 		uint64_t reserved_8_63:56;
2062 #endif
2063 	} s;
2064 	struct cvmx_agl_gmx_tx_ifg_s cn52xx;
2065 	struct cvmx_agl_gmx_tx_ifg_s cn52xxp1;
2066 	struct cvmx_agl_gmx_tx_ifg_s cn56xx;
2067 	struct cvmx_agl_gmx_tx_ifg_s cn56xxp1;
2068 	struct cvmx_agl_gmx_tx_ifg_s cn61xx;
2069 	struct cvmx_agl_gmx_tx_ifg_s cn63xx;
2070 	struct cvmx_agl_gmx_tx_ifg_s cn63xxp1;
2071 	struct cvmx_agl_gmx_tx_ifg_s cn66xx;
2072 	struct cvmx_agl_gmx_tx_ifg_s cn68xx;
2073 	struct cvmx_agl_gmx_tx_ifg_s cn68xxp1;
2074 };
2075 
2076 union cvmx_agl_gmx_tx_int_en {
2077 	uint64_t u64;
2078 	struct cvmx_agl_gmx_tx_int_en_s {
2079 #ifdef __BIG_ENDIAN_BITFIELD
2080 		uint64_t reserved_22_63:42;
2081 		uint64_t ptp_lost:2;
2082 		uint64_t reserved_18_19:2;
2083 		uint64_t late_col:2;
2084 		uint64_t reserved_14_15:2;
2085 		uint64_t xsdef:2;
2086 		uint64_t reserved_10_11:2;
2087 		uint64_t xscol:2;
2088 		uint64_t reserved_4_7:4;
2089 		uint64_t undflw:2;
2090 		uint64_t reserved_1_1:1;
2091 		uint64_t pko_nxa:1;
2092 #else
2093 		uint64_t pko_nxa:1;
2094 		uint64_t reserved_1_1:1;
2095 		uint64_t undflw:2;
2096 		uint64_t reserved_4_7:4;
2097 		uint64_t xscol:2;
2098 		uint64_t reserved_10_11:2;
2099 		uint64_t xsdef:2;
2100 		uint64_t reserved_14_15:2;
2101 		uint64_t late_col:2;
2102 		uint64_t reserved_18_19:2;
2103 		uint64_t ptp_lost:2;
2104 		uint64_t reserved_22_63:42;
2105 #endif
2106 	} s;
2107 	struct cvmx_agl_gmx_tx_int_en_cn52xx {
2108 #ifdef __BIG_ENDIAN_BITFIELD
2109 		uint64_t reserved_18_63:46;
2110 		uint64_t late_col:2;
2111 		uint64_t reserved_14_15:2;
2112 		uint64_t xsdef:2;
2113 		uint64_t reserved_10_11:2;
2114 		uint64_t xscol:2;
2115 		uint64_t reserved_4_7:4;
2116 		uint64_t undflw:2;
2117 		uint64_t reserved_1_1:1;
2118 		uint64_t pko_nxa:1;
2119 #else
2120 		uint64_t pko_nxa:1;
2121 		uint64_t reserved_1_1:1;
2122 		uint64_t undflw:2;
2123 		uint64_t reserved_4_7:4;
2124 		uint64_t xscol:2;
2125 		uint64_t reserved_10_11:2;
2126 		uint64_t xsdef:2;
2127 		uint64_t reserved_14_15:2;
2128 		uint64_t late_col:2;
2129 		uint64_t reserved_18_63:46;
2130 #endif
2131 	} cn52xx;
2132 	struct cvmx_agl_gmx_tx_int_en_cn52xx cn52xxp1;
2133 	struct cvmx_agl_gmx_tx_int_en_cn56xx {
2134 #ifdef __BIG_ENDIAN_BITFIELD
2135 		uint64_t reserved_17_63:47;
2136 		uint64_t late_col:1;
2137 		uint64_t reserved_13_15:3;
2138 		uint64_t xsdef:1;
2139 		uint64_t reserved_9_11:3;
2140 		uint64_t xscol:1;
2141 		uint64_t reserved_3_7:5;
2142 		uint64_t undflw:1;
2143 		uint64_t reserved_1_1:1;
2144 		uint64_t pko_nxa:1;
2145 #else
2146 		uint64_t pko_nxa:1;
2147 		uint64_t reserved_1_1:1;
2148 		uint64_t undflw:1;
2149 		uint64_t reserved_3_7:5;
2150 		uint64_t xscol:1;
2151 		uint64_t reserved_9_11:3;
2152 		uint64_t xsdef:1;
2153 		uint64_t reserved_13_15:3;
2154 		uint64_t late_col:1;
2155 		uint64_t reserved_17_63:47;
2156 #endif
2157 	} cn56xx;
2158 	struct cvmx_agl_gmx_tx_int_en_cn56xx cn56xxp1;
2159 	struct cvmx_agl_gmx_tx_int_en_s cn61xx;
2160 	struct cvmx_agl_gmx_tx_int_en_s cn63xx;
2161 	struct cvmx_agl_gmx_tx_int_en_s cn63xxp1;
2162 	struct cvmx_agl_gmx_tx_int_en_s cn66xx;
2163 	struct cvmx_agl_gmx_tx_int_en_s cn68xx;
2164 	struct cvmx_agl_gmx_tx_int_en_s cn68xxp1;
2165 };
2166 
2167 union cvmx_agl_gmx_tx_int_reg {
2168 	uint64_t u64;
2169 	struct cvmx_agl_gmx_tx_int_reg_s {
2170 #ifdef __BIG_ENDIAN_BITFIELD
2171 		uint64_t reserved_22_63:42;
2172 		uint64_t ptp_lost:2;
2173 		uint64_t reserved_18_19:2;
2174 		uint64_t late_col:2;
2175 		uint64_t reserved_14_15:2;
2176 		uint64_t xsdef:2;
2177 		uint64_t reserved_10_11:2;
2178 		uint64_t xscol:2;
2179 		uint64_t reserved_4_7:4;
2180 		uint64_t undflw:2;
2181 		uint64_t reserved_1_1:1;
2182 		uint64_t pko_nxa:1;
2183 #else
2184 		uint64_t pko_nxa:1;
2185 		uint64_t reserved_1_1:1;
2186 		uint64_t undflw:2;
2187 		uint64_t reserved_4_7:4;
2188 		uint64_t xscol:2;
2189 		uint64_t reserved_10_11:2;
2190 		uint64_t xsdef:2;
2191 		uint64_t reserved_14_15:2;
2192 		uint64_t late_col:2;
2193 		uint64_t reserved_18_19:2;
2194 		uint64_t ptp_lost:2;
2195 		uint64_t reserved_22_63:42;
2196 #endif
2197 	} s;
2198 	struct cvmx_agl_gmx_tx_int_reg_cn52xx {
2199 #ifdef __BIG_ENDIAN_BITFIELD
2200 		uint64_t reserved_18_63:46;
2201 		uint64_t late_col:2;
2202 		uint64_t reserved_14_15:2;
2203 		uint64_t xsdef:2;
2204 		uint64_t reserved_10_11:2;
2205 		uint64_t xscol:2;
2206 		uint64_t reserved_4_7:4;
2207 		uint64_t undflw:2;
2208 		uint64_t reserved_1_1:1;
2209 		uint64_t pko_nxa:1;
2210 #else
2211 		uint64_t pko_nxa:1;
2212 		uint64_t reserved_1_1:1;
2213 		uint64_t undflw:2;
2214 		uint64_t reserved_4_7:4;
2215 		uint64_t xscol:2;
2216 		uint64_t reserved_10_11:2;
2217 		uint64_t xsdef:2;
2218 		uint64_t reserved_14_15:2;
2219 		uint64_t late_col:2;
2220 		uint64_t reserved_18_63:46;
2221 #endif
2222 	} cn52xx;
2223 	struct cvmx_agl_gmx_tx_int_reg_cn52xx cn52xxp1;
2224 	struct cvmx_agl_gmx_tx_int_reg_cn56xx {
2225 #ifdef __BIG_ENDIAN_BITFIELD
2226 		uint64_t reserved_17_63:47;
2227 		uint64_t late_col:1;
2228 		uint64_t reserved_13_15:3;
2229 		uint64_t xsdef:1;
2230 		uint64_t reserved_9_11:3;
2231 		uint64_t xscol:1;
2232 		uint64_t reserved_3_7:5;
2233 		uint64_t undflw:1;
2234 		uint64_t reserved_1_1:1;
2235 		uint64_t pko_nxa:1;
2236 #else
2237 		uint64_t pko_nxa:1;
2238 		uint64_t reserved_1_1:1;
2239 		uint64_t undflw:1;
2240 		uint64_t reserved_3_7:5;
2241 		uint64_t xscol:1;
2242 		uint64_t reserved_9_11:3;
2243 		uint64_t xsdef:1;
2244 		uint64_t reserved_13_15:3;
2245 		uint64_t late_col:1;
2246 		uint64_t reserved_17_63:47;
2247 #endif
2248 	} cn56xx;
2249 	struct cvmx_agl_gmx_tx_int_reg_cn56xx cn56xxp1;
2250 	struct cvmx_agl_gmx_tx_int_reg_s cn61xx;
2251 	struct cvmx_agl_gmx_tx_int_reg_s cn63xx;
2252 	struct cvmx_agl_gmx_tx_int_reg_s cn63xxp1;
2253 	struct cvmx_agl_gmx_tx_int_reg_s cn66xx;
2254 	struct cvmx_agl_gmx_tx_int_reg_s cn68xx;
2255 	struct cvmx_agl_gmx_tx_int_reg_s cn68xxp1;
2256 };
2257 
2258 union cvmx_agl_gmx_tx_jam {
2259 	uint64_t u64;
2260 	struct cvmx_agl_gmx_tx_jam_s {
2261 #ifdef __BIG_ENDIAN_BITFIELD
2262 		uint64_t reserved_8_63:56;
2263 		uint64_t jam:8;
2264 #else
2265 		uint64_t jam:8;
2266 		uint64_t reserved_8_63:56;
2267 #endif
2268 	} s;
2269 	struct cvmx_agl_gmx_tx_jam_s cn52xx;
2270 	struct cvmx_agl_gmx_tx_jam_s cn52xxp1;
2271 	struct cvmx_agl_gmx_tx_jam_s cn56xx;
2272 	struct cvmx_agl_gmx_tx_jam_s cn56xxp1;
2273 	struct cvmx_agl_gmx_tx_jam_s cn61xx;
2274 	struct cvmx_agl_gmx_tx_jam_s cn63xx;
2275 	struct cvmx_agl_gmx_tx_jam_s cn63xxp1;
2276 	struct cvmx_agl_gmx_tx_jam_s cn66xx;
2277 	struct cvmx_agl_gmx_tx_jam_s cn68xx;
2278 	struct cvmx_agl_gmx_tx_jam_s cn68xxp1;
2279 };
2280 
2281 union cvmx_agl_gmx_tx_lfsr {
2282 	uint64_t u64;
2283 	struct cvmx_agl_gmx_tx_lfsr_s {
2284 #ifdef __BIG_ENDIAN_BITFIELD
2285 		uint64_t reserved_16_63:48;
2286 		uint64_t lfsr:16;
2287 #else
2288 		uint64_t lfsr:16;
2289 		uint64_t reserved_16_63:48;
2290 #endif
2291 	} s;
2292 	struct cvmx_agl_gmx_tx_lfsr_s cn52xx;
2293 	struct cvmx_agl_gmx_tx_lfsr_s cn52xxp1;
2294 	struct cvmx_agl_gmx_tx_lfsr_s cn56xx;
2295 	struct cvmx_agl_gmx_tx_lfsr_s cn56xxp1;
2296 	struct cvmx_agl_gmx_tx_lfsr_s cn61xx;
2297 	struct cvmx_agl_gmx_tx_lfsr_s cn63xx;
2298 	struct cvmx_agl_gmx_tx_lfsr_s cn63xxp1;
2299 	struct cvmx_agl_gmx_tx_lfsr_s cn66xx;
2300 	struct cvmx_agl_gmx_tx_lfsr_s cn68xx;
2301 	struct cvmx_agl_gmx_tx_lfsr_s cn68xxp1;
2302 };
2303 
2304 union cvmx_agl_gmx_tx_ovr_bp {
2305 	uint64_t u64;
2306 	struct cvmx_agl_gmx_tx_ovr_bp_s {
2307 #ifdef __BIG_ENDIAN_BITFIELD
2308 		uint64_t reserved_10_63:54;
2309 		uint64_t en:2;
2310 		uint64_t reserved_6_7:2;
2311 		uint64_t bp:2;
2312 		uint64_t reserved_2_3:2;
2313 		uint64_t ign_full:2;
2314 #else
2315 		uint64_t ign_full:2;
2316 		uint64_t reserved_2_3:2;
2317 		uint64_t bp:2;
2318 		uint64_t reserved_6_7:2;
2319 		uint64_t en:2;
2320 		uint64_t reserved_10_63:54;
2321 #endif
2322 	} s;
2323 	struct cvmx_agl_gmx_tx_ovr_bp_s cn52xx;
2324 	struct cvmx_agl_gmx_tx_ovr_bp_s cn52xxp1;
2325 	struct cvmx_agl_gmx_tx_ovr_bp_cn56xx {
2326 #ifdef __BIG_ENDIAN_BITFIELD
2327 		uint64_t reserved_9_63:55;
2328 		uint64_t en:1;
2329 		uint64_t reserved_5_7:3;
2330 		uint64_t bp:1;
2331 		uint64_t reserved_1_3:3;
2332 		uint64_t ign_full:1;
2333 #else
2334 		uint64_t ign_full:1;
2335 		uint64_t reserved_1_3:3;
2336 		uint64_t bp:1;
2337 		uint64_t reserved_5_7:3;
2338 		uint64_t en:1;
2339 		uint64_t reserved_9_63:55;
2340 #endif
2341 	} cn56xx;
2342 	struct cvmx_agl_gmx_tx_ovr_bp_cn56xx cn56xxp1;
2343 	struct cvmx_agl_gmx_tx_ovr_bp_s cn61xx;
2344 	struct cvmx_agl_gmx_tx_ovr_bp_s cn63xx;
2345 	struct cvmx_agl_gmx_tx_ovr_bp_s cn63xxp1;
2346 	struct cvmx_agl_gmx_tx_ovr_bp_s cn66xx;
2347 	struct cvmx_agl_gmx_tx_ovr_bp_s cn68xx;
2348 	struct cvmx_agl_gmx_tx_ovr_bp_s cn68xxp1;
2349 };
2350 
2351 union cvmx_agl_gmx_tx_pause_pkt_dmac {
2352 	uint64_t u64;
2353 	struct cvmx_agl_gmx_tx_pause_pkt_dmac_s {
2354 #ifdef __BIG_ENDIAN_BITFIELD
2355 		uint64_t reserved_48_63:16;
2356 		uint64_t dmac:48;
2357 #else
2358 		uint64_t dmac:48;
2359 		uint64_t reserved_48_63:16;
2360 #endif
2361 	} s;
2362 	struct cvmx_agl_gmx_tx_pause_pkt_dmac_s cn52xx;
2363 	struct cvmx_agl_gmx_tx_pause_pkt_dmac_s cn52xxp1;
2364 	struct cvmx_agl_gmx_tx_pause_pkt_dmac_s cn56xx;
2365 	struct cvmx_agl_gmx_tx_pause_pkt_dmac_s cn56xxp1;
2366 	struct cvmx_agl_gmx_tx_pause_pkt_dmac_s cn61xx;
2367 	struct cvmx_agl_gmx_tx_pause_pkt_dmac_s cn63xx;
2368 	struct cvmx_agl_gmx_tx_pause_pkt_dmac_s cn63xxp1;
2369 	struct cvmx_agl_gmx_tx_pause_pkt_dmac_s cn66xx;
2370 	struct cvmx_agl_gmx_tx_pause_pkt_dmac_s cn68xx;
2371 	struct cvmx_agl_gmx_tx_pause_pkt_dmac_s cn68xxp1;
2372 };
2373 
2374 union cvmx_agl_gmx_tx_pause_pkt_type {
2375 	uint64_t u64;
2376 	struct cvmx_agl_gmx_tx_pause_pkt_type_s {
2377 #ifdef __BIG_ENDIAN_BITFIELD
2378 		uint64_t reserved_16_63:48;
2379 		uint64_t type:16;
2380 #else
2381 		uint64_t type:16;
2382 		uint64_t reserved_16_63:48;
2383 #endif
2384 	} s;
2385 	struct cvmx_agl_gmx_tx_pause_pkt_type_s cn52xx;
2386 	struct cvmx_agl_gmx_tx_pause_pkt_type_s cn52xxp1;
2387 	struct cvmx_agl_gmx_tx_pause_pkt_type_s cn56xx;
2388 	struct cvmx_agl_gmx_tx_pause_pkt_type_s cn56xxp1;
2389 	struct cvmx_agl_gmx_tx_pause_pkt_type_s cn61xx;
2390 	struct cvmx_agl_gmx_tx_pause_pkt_type_s cn63xx;
2391 	struct cvmx_agl_gmx_tx_pause_pkt_type_s cn63xxp1;
2392 	struct cvmx_agl_gmx_tx_pause_pkt_type_s cn66xx;
2393 	struct cvmx_agl_gmx_tx_pause_pkt_type_s cn68xx;
2394 	struct cvmx_agl_gmx_tx_pause_pkt_type_s cn68xxp1;
2395 };
2396 
2397 union cvmx_agl_prtx_ctl {
2398 	uint64_t u64;
2399 	struct cvmx_agl_prtx_ctl_s {
2400 #ifdef __BIG_ENDIAN_BITFIELD
2401 		uint64_t drv_byp:1;
2402 		uint64_t reserved_62_62:1;
2403 		uint64_t cmp_pctl:6;
2404 		uint64_t reserved_54_55:2;
2405 		uint64_t cmp_nctl:6;
2406 		uint64_t reserved_46_47:2;
2407 		uint64_t drv_pctl:6;
2408 		uint64_t reserved_38_39:2;
2409 		uint64_t drv_nctl:6;
2410 		uint64_t reserved_29_31:3;
2411 		uint64_t clk_set:5;
2412 		uint64_t clkrx_byp:1;
2413 		uint64_t reserved_21_22:2;
2414 		uint64_t clkrx_set:5;
2415 		uint64_t clktx_byp:1;
2416 		uint64_t reserved_13_14:2;
2417 		uint64_t clktx_set:5;
2418 		uint64_t reserved_5_7:3;
2419 		uint64_t dllrst:1;
2420 		uint64_t comp:1;
2421 		uint64_t enable:1;
2422 		uint64_t clkrst:1;
2423 		uint64_t mode:1;
2424 #else
2425 		uint64_t mode:1;
2426 		uint64_t clkrst:1;
2427 		uint64_t enable:1;
2428 		uint64_t comp:1;
2429 		uint64_t dllrst:1;
2430 		uint64_t reserved_5_7:3;
2431 		uint64_t clktx_set:5;
2432 		uint64_t reserved_13_14:2;
2433 		uint64_t clktx_byp:1;
2434 		uint64_t clkrx_set:5;
2435 		uint64_t reserved_21_22:2;
2436 		uint64_t clkrx_byp:1;
2437 		uint64_t clk_set:5;
2438 		uint64_t reserved_29_31:3;
2439 		uint64_t drv_nctl:6;
2440 		uint64_t reserved_38_39:2;
2441 		uint64_t drv_pctl:6;
2442 		uint64_t reserved_46_47:2;
2443 		uint64_t cmp_nctl:6;
2444 		uint64_t reserved_54_55:2;
2445 		uint64_t cmp_pctl:6;
2446 		uint64_t reserved_62_62:1;
2447 		uint64_t drv_byp:1;
2448 #endif
2449 	} s;
2450 	struct cvmx_agl_prtx_ctl_s cn61xx;
2451 	struct cvmx_agl_prtx_ctl_s cn63xx;
2452 	struct cvmx_agl_prtx_ctl_s cn63xxp1;
2453 	struct cvmx_agl_prtx_ctl_s cn66xx;
2454 	struct cvmx_agl_prtx_ctl_s cn68xx;
2455 	struct cvmx_agl_prtx_ctl_s cn68xxp1;
2456 };
2457 
2458 #endif
2459