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-2010 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
106union cvmx_agl_gmx_bad_reg {
107	uint64_t u64;
108	struct cvmx_agl_gmx_bad_reg_s {
109		uint64_t reserved_38_63:26;
110		uint64_t txpsh1:1;
111		uint64_t txpop1:1;
112		uint64_t ovrflw1:1;
113		uint64_t txpsh:1;
114		uint64_t txpop:1;
115		uint64_t ovrflw:1;
116		uint64_t reserved_27_31:5;
117		uint64_t statovr:1;
118		uint64_t reserved_24_25:2;
119		uint64_t loststat:2;
120		uint64_t reserved_4_21:18;
121		uint64_t out_ovr:2;
122		uint64_t reserved_0_1:2;
123	} s;
124	struct cvmx_agl_gmx_bad_reg_cn52xx {
125		uint64_t reserved_38_63:26;
126		uint64_t txpsh1:1;
127		uint64_t txpop1:1;
128		uint64_t ovrflw1:1;
129		uint64_t txpsh:1;
130		uint64_t txpop:1;
131		uint64_t ovrflw:1;
132		uint64_t reserved_27_31:5;
133		uint64_t statovr:1;
134		uint64_t reserved_23_25:3;
135		uint64_t loststat:1;
136		uint64_t reserved_4_21:18;
137		uint64_t out_ovr:2;
138		uint64_t reserved_0_1:2;
139	} cn52xx;
140	struct cvmx_agl_gmx_bad_reg_cn52xx cn52xxp1;
141	struct cvmx_agl_gmx_bad_reg_cn56xx {
142		uint64_t reserved_35_63:29;
143		uint64_t txpsh:1;
144		uint64_t txpop:1;
145		uint64_t ovrflw:1;
146		uint64_t reserved_27_31:5;
147		uint64_t statovr:1;
148		uint64_t reserved_23_25:3;
149		uint64_t loststat:1;
150		uint64_t reserved_3_21:19;
151		uint64_t out_ovr:1;
152		uint64_t reserved_0_1:2;
153	} cn56xx;
154	struct cvmx_agl_gmx_bad_reg_cn56xx cn56xxp1;
155	struct cvmx_agl_gmx_bad_reg_s cn63xx;
156	struct cvmx_agl_gmx_bad_reg_s cn63xxp1;
157};
158
159union cvmx_agl_gmx_bist {
160	uint64_t u64;
161	struct cvmx_agl_gmx_bist_s {
162		uint64_t reserved_25_63:39;
163		uint64_t status:25;
164	} s;
165	struct cvmx_agl_gmx_bist_cn52xx {
166		uint64_t reserved_10_63:54;
167		uint64_t status:10;
168	} cn52xx;
169	struct cvmx_agl_gmx_bist_cn52xx cn52xxp1;
170	struct cvmx_agl_gmx_bist_cn52xx cn56xx;
171	struct cvmx_agl_gmx_bist_cn52xx cn56xxp1;
172	struct cvmx_agl_gmx_bist_s cn63xx;
173	struct cvmx_agl_gmx_bist_s cn63xxp1;
174};
175
176union cvmx_agl_gmx_drv_ctl {
177	uint64_t u64;
178	struct cvmx_agl_gmx_drv_ctl_s {
179		uint64_t reserved_49_63:15;
180		uint64_t byp_en1:1;
181		uint64_t reserved_45_47:3;
182		uint64_t pctl1:5;
183		uint64_t reserved_37_39:3;
184		uint64_t nctl1:5;
185		uint64_t reserved_17_31:15;
186		uint64_t byp_en:1;
187		uint64_t reserved_13_15:3;
188		uint64_t pctl:5;
189		uint64_t reserved_5_7:3;
190		uint64_t nctl:5;
191	} s;
192	struct cvmx_agl_gmx_drv_ctl_s cn52xx;
193	struct cvmx_agl_gmx_drv_ctl_s cn52xxp1;
194	struct cvmx_agl_gmx_drv_ctl_cn56xx {
195		uint64_t reserved_17_63:47;
196		uint64_t byp_en:1;
197		uint64_t reserved_13_15:3;
198		uint64_t pctl:5;
199		uint64_t reserved_5_7:3;
200		uint64_t nctl:5;
201	} cn56xx;
202	struct cvmx_agl_gmx_drv_ctl_cn56xx cn56xxp1;
203};
204
205union cvmx_agl_gmx_inf_mode {
206	uint64_t u64;
207	struct cvmx_agl_gmx_inf_mode_s {
208		uint64_t reserved_2_63:62;
209		uint64_t en:1;
210		uint64_t reserved_0_0:1;
211	} s;
212	struct cvmx_agl_gmx_inf_mode_s cn52xx;
213	struct cvmx_agl_gmx_inf_mode_s cn52xxp1;
214	struct cvmx_agl_gmx_inf_mode_s cn56xx;
215	struct cvmx_agl_gmx_inf_mode_s cn56xxp1;
216};
217
218union cvmx_agl_gmx_prtx_cfg {
219	uint64_t u64;
220	struct cvmx_agl_gmx_prtx_cfg_s {
221		uint64_t reserved_14_63:50;
222		uint64_t tx_idle:1;
223		uint64_t rx_idle:1;
224		uint64_t reserved_9_11:3;
225		uint64_t speed_msb:1;
226		uint64_t reserved_7_7:1;
227		uint64_t burst:1;
228		uint64_t tx_en:1;
229		uint64_t rx_en:1;
230		uint64_t slottime:1;
231		uint64_t duplex:1;
232		uint64_t speed:1;
233		uint64_t en:1;
234	} s;
235	struct cvmx_agl_gmx_prtx_cfg_cn52xx {
236		uint64_t reserved_6_63:58;
237		uint64_t tx_en:1;
238		uint64_t rx_en:1;
239		uint64_t slottime:1;
240		uint64_t duplex:1;
241		uint64_t speed:1;
242		uint64_t en:1;
243	} cn52xx;
244	struct cvmx_agl_gmx_prtx_cfg_cn52xx cn52xxp1;
245	struct cvmx_agl_gmx_prtx_cfg_cn52xx cn56xx;
246	struct cvmx_agl_gmx_prtx_cfg_cn52xx cn56xxp1;
247	struct cvmx_agl_gmx_prtx_cfg_s cn63xx;
248	struct cvmx_agl_gmx_prtx_cfg_s cn63xxp1;
249};
250
251union cvmx_agl_gmx_rxx_adr_cam0 {
252	uint64_t u64;
253	struct cvmx_agl_gmx_rxx_adr_cam0_s {
254		uint64_t adr:64;
255	} s;
256	struct cvmx_agl_gmx_rxx_adr_cam0_s cn52xx;
257	struct cvmx_agl_gmx_rxx_adr_cam0_s cn52xxp1;
258	struct cvmx_agl_gmx_rxx_adr_cam0_s cn56xx;
259	struct cvmx_agl_gmx_rxx_adr_cam0_s cn56xxp1;
260	struct cvmx_agl_gmx_rxx_adr_cam0_s cn63xx;
261	struct cvmx_agl_gmx_rxx_adr_cam0_s cn63xxp1;
262};
263
264union cvmx_agl_gmx_rxx_adr_cam1 {
265	uint64_t u64;
266	struct cvmx_agl_gmx_rxx_adr_cam1_s {
267		uint64_t adr:64;
268	} s;
269	struct cvmx_agl_gmx_rxx_adr_cam1_s cn52xx;
270	struct cvmx_agl_gmx_rxx_adr_cam1_s cn52xxp1;
271	struct cvmx_agl_gmx_rxx_adr_cam1_s cn56xx;
272	struct cvmx_agl_gmx_rxx_adr_cam1_s cn56xxp1;
273	struct cvmx_agl_gmx_rxx_adr_cam1_s cn63xx;
274	struct cvmx_agl_gmx_rxx_adr_cam1_s cn63xxp1;
275};
276
277union cvmx_agl_gmx_rxx_adr_cam2 {
278	uint64_t u64;
279	struct cvmx_agl_gmx_rxx_adr_cam2_s {
280		uint64_t adr:64;
281	} s;
282	struct cvmx_agl_gmx_rxx_adr_cam2_s cn52xx;
283	struct cvmx_agl_gmx_rxx_adr_cam2_s cn52xxp1;
284	struct cvmx_agl_gmx_rxx_adr_cam2_s cn56xx;
285	struct cvmx_agl_gmx_rxx_adr_cam2_s cn56xxp1;
286	struct cvmx_agl_gmx_rxx_adr_cam2_s cn63xx;
287	struct cvmx_agl_gmx_rxx_adr_cam2_s cn63xxp1;
288};
289
290union cvmx_agl_gmx_rxx_adr_cam3 {
291	uint64_t u64;
292	struct cvmx_agl_gmx_rxx_adr_cam3_s {
293		uint64_t adr:64;
294	} s;
295	struct cvmx_agl_gmx_rxx_adr_cam3_s cn52xx;
296	struct cvmx_agl_gmx_rxx_adr_cam3_s cn52xxp1;
297	struct cvmx_agl_gmx_rxx_adr_cam3_s cn56xx;
298	struct cvmx_agl_gmx_rxx_adr_cam3_s cn56xxp1;
299	struct cvmx_agl_gmx_rxx_adr_cam3_s cn63xx;
300	struct cvmx_agl_gmx_rxx_adr_cam3_s cn63xxp1;
301};
302
303union cvmx_agl_gmx_rxx_adr_cam4 {
304	uint64_t u64;
305	struct cvmx_agl_gmx_rxx_adr_cam4_s {
306		uint64_t adr:64;
307	} s;
308	struct cvmx_agl_gmx_rxx_adr_cam4_s cn52xx;
309	struct cvmx_agl_gmx_rxx_adr_cam4_s cn52xxp1;
310	struct cvmx_agl_gmx_rxx_adr_cam4_s cn56xx;
311	struct cvmx_agl_gmx_rxx_adr_cam4_s cn56xxp1;
312	struct cvmx_agl_gmx_rxx_adr_cam4_s cn63xx;
313	struct cvmx_agl_gmx_rxx_adr_cam4_s cn63xxp1;
314};
315
316union cvmx_agl_gmx_rxx_adr_cam5 {
317	uint64_t u64;
318	struct cvmx_agl_gmx_rxx_adr_cam5_s {
319		uint64_t adr:64;
320	} s;
321	struct cvmx_agl_gmx_rxx_adr_cam5_s cn52xx;
322	struct cvmx_agl_gmx_rxx_adr_cam5_s cn52xxp1;
323	struct cvmx_agl_gmx_rxx_adr_cam5_s cn56xx;
324	struct cvmx_agl_gmx_rxx_adr_cam5_s cn56xxp1;
325	struct cvmx_agl_gmx_rxx_adr_cam5_s cn63xx;
326	struct cvmx_agl_gmx_rxx_adr_cam5_s cn63xxp1;
327};
328
329union cvmx_agl_gmx_rxx_adr_cam_en {
330	uint64_t u64;
331	struct cvmx_agl_gmx_rxx_adr_cam_en_s {
332		uint64_t reserved_8_63:56;
333		uint64_t en:8;
334	} s;
335	struct cvmx_agl_gmx_rxx_adr_cam_en_s cn52xx;
336	struct cvmx_agl_gmx_rxx_adr_cam_en_s cn52xxp1;
337	struct cvmx_agl_gmx_rxx_adr_cam_en_s cn56xx;
338	struct cvmx_agl_gmx_rxx_adr_cam_en_s cn56xxp1;
339	struct cvmx_agl_gmx_rxx_adr_cam_en_s cn63xx;
340	struct cvmx_agl_gmx_rxx_adr_cam_en_s cn63xxp1;
341};
342
343union cvmx_agl_gmx_rxx_adr_ctl {
344	uint64_t u64;
345	struct cvmx_agl_gmx_rxx_adr_ctl_s {
346		uint64_t reserved_4_63:60;
347		uint64_t cam_mode:1;
348		uint64_t mcst:2;
349		uint64_t bcst:1;
350	} s;
351	struct cvmx_agl_gmx_rxx_adr_ctl_s cn52xx;
352	struct cvmx_agl_gmx_rxx_adr_ctl_s cn52xxp1;
353	struct cvmx_agl_gmx_rxx_adr_ctl_s cn56xx;
354	struct cvmx_agl_gmx_rxx_adr_ctl_s cn56xxp1;
355	struct cvmx_agl_gmx_rxx_adr_ctl_s cn63xx;
356	struct cvmx_agl_gmx_rxx_adr_ctl_s cn63xxp1;
357};
358
359union cvmx_agl_gmx_rxx_decision {
360	uint64_t u64;
361	struct cvmx_agl_gmx_rxx_decision_s {
362		uint64_t reserved_5_63:59;
363		uint64_t cnt:5;
364	} s;
365	struct cvmx_agl_gmx_rxx_decision_s cn52xx;
366	struct cvmx_agl_gmx_rxx_decision_s cn52xxp1;
367	struct cvmx_agl_gmx_rxx_decision_s cn56xx;
368	struct cvmx_agl_gmx_rxx_decision_s cn56xxp1;
369	struct cvmx_agl_gmx_rxx_decision_s cn63xx;
370	struct cvmx_agl_gmx_rxx_decision_s cn63xxp1;
371};
372
373union cvmx_agl_gmx_rxx_frm_chk {
374	uint64_t u64;
375	struct cvmx_agl_gmx_rxx_frm_chk_s {
376		uint64_t reserved_10_63:54;
377		uint64_t niberr:1;
378		uint64_t skperr:1;
379		uint64_t rcverr:1;
380		uint64_t lenerr:1;
381		uint64_t alnerr:1;
382		uint64_t fcserr:1;
383		uint64_t jabber:1;
384		uint64_t maxerr:1;
385		uint64_t carext:1;
386		uint64_t minerr:1;
387	} s;
388	struct cvmx_agl_gmx_rxx_frm_chk_cn52xx {
389		uint64_t reserved_9_63:55;
390		uint64_t skperr:1;
391		uint64_t rcverr:1;
392		uint64_t lenerr:1;
393		uint64_t alnerr:1;
394		uint64_t fcserr:1;
395		uint64_t jabber:1;
396		uint64_t maxerr:1;
397		uint64_t reserved_1_1:1;
398		uint64_t minerr:1;
399	} cn52xx;
400	struct cvmx_agl_gmx_rxx_frm_chk_cn52xx cn52xxp1;
401	struct cvmx_agl_gmx_rxx_frm_chk_cn52xx cn56xx;
402	struct cvmx_agl_gmx_rxx_frm_chk_cn52xx cn56xxp1;
403	struct cvmx_agl_gmx_rxx_frm_chk_s cn63xx;
404	struct cvmx_agl_gmx_rxx_frm_chk_s cn63xxp1;
405};
406
407union cvmx_agl_gmx_rxx_frm_ctl {
408	uint64_t u64;
409	struct cvmx_agl_gmx_rxx_frm_ctl_s {
410		uint64_t reserved_13_63:51;
411		uint64_t ptp_mode:1;
412		uint64_t reserved_11_11:1;
413		uint64_t null_dis:1;
414		uint64_t pre_align:1;
415		uint64_t pad_len:1;
416		uint64_t vlan_len:1;
417		uint64_t pre_free:1;
418		uint64_t ctl_smac:1;
419		uint64_t ctl_mcst:1;
420		uint64_t ctl_bck:1;
421		uint64_t ctl_drp:1;
422		uint64_t pre_strp:1;
423		uint64_t pre_chk:1;
424	} s;
425	struct cvmx_agl_gmx_rxx_frm_ctl_cn52xx {
426		uint64_t reserved_10_63:54;
427		uint64_t pre_align:1;
428		uint64_t pad_len:1;
429		uint64_t vlan_len:1;
430		uint64_t pre_free:1;
431		uint64_t ctl_smac:1;
432		uint64_t ctl_mcst:1;
433		uint64_t ctl_bck:1;
434		uint64_t ctl_drp:1;
435		uint64_t pre_strp:1;
436		uint64_t pre_chk:1;
437	} cn52xx;
438	struct cvmx_agl_gmx_rxx_frm_ctl_cn52xx cn52xxp1;
439	struct cvmx_agl_gmx_rxx_frm_ctl_cn52xx cn56xx;
440	struct cvmx_agl_gmx_rxx_frm_ctl_cn52xx cn56xxp1;
441	struct cvmx_agl_gmx_rxx_frm_ctl_s cn63xx;
442	struct cvmx_agl_gmx_rxx_frm_ctl_s cn63xxp1;
443};
444
445union cvmx_agl_gmx_rxx_frm_max {
446	uint64_t u64;
447	struct cvmx_agl_gmx_rxx_frm_max_s {
448		uint64_t reserved_16_63:48;
449		uint64_t len:16;
450	} s;
451	struct cvmx_agl_gmx_rxx_frm_max_s cn52xx;
452	struct cvmx_agl_gmx_rxx_frm_max_s cn52xxp1;
453	struct cvmx_agl_gmx_rxx_frm_max_s cn56xx;
454	struct cvmx_agl_gmx_rxx_frm_max_s cn56xxp1;
455	struct cvmx_agl_gmx_rxx_frm_max_s cn63xx;
456	struct cvmx_agl_gmx_rxx_frm_max_s cn63xxp1;
457};
458
459union cvmx_agl_gmx_rxx_frm_min {
460	uint64_t u64;
461	struct cvmx_agl_gmx_rxx_frm_min_s {
462		uint64_t reserved_16_63:48;
463		uint64_t len:16;
464	} s;
465	struct cvmx_agl_gmx_rxx_frm_min_s cn52xx;
466	struct cvmx_agl_gmx_rxx_frm_min_s cn52xxp1;
467	struct cvmx_agl_gmx_rxx_frm_min_s cn56xx;
468	struct cvmx_agl_gmx_rxx_frm_min_s cn56xxp1;
469	struct cvmx_agl_gmx_rxx_frm_min_s cn63xx;
470	struct cvmx_agl_gmx_rxx_frm_min_s cn63xxp1;
471};
472
473union cvmx_agl_gmx_rxx_ifg {
474	uint64_t u64;
475	struct cvmx_agl_gmx_rxx_ifg_s {
476		uint64_t reserved_4_63:60;
477		uint64_t ifg:4;
478	} s;
479	struct cvmx_agl_gmx_rxx_ifg_s cn52xx;
480	struct cvmx_agl_gmx_rxx_ifg_s cn52xxp1;
481	struct cvmx_agl_gmx_rxx_ifg_s cn56xx;
482	struct cvmx_agl_gmx_rxx_ifg_s cn56xxp1;
483	struct cvmx_agl_gmx_rxx_ifg_s cn63xx;
484	struct cvmx_agl_gmx_rxx_ifg_s cn63xxp1;
485};
486
487union cvmx_agl_gmx_rxx_int_en {
488	uint64_t u64;
489	struct cvmx_agl_gmx_rxx_int_en_s {
490		uint64_t reserved_20_63:44;
491		uint64_t pause_drp:1;
492		uint64_t phy_dupx:1;
493		uint64_t phy_spd:1;
494		uint64_t phy_link:1;
495		uint64_t ifgerr:1;
496		uint64_t coldet:1;
497		uint64_t falerr:1;
498		uint64_t rsverr:1;
499		uint64_t pcterr:1;
500		uint64_t ovrerr:1;
501		uint64_t niberr:1;
502		uint64_t skperr:1;
503		uint64_t rcverr:1;
504		uint64_t lenerr:1;
505		uint64_t alnerr:1;
506		uint64_t fcserr:1;
507		uint64_t jabber:1;
508		uint64_t maxerr:1;
509		uint64_t carext:1;
510		uint64_t minerr:1;
511	} s;
512	struct cvmx_agl_gmx_rxx_int_en_cn52xx {
513		uint64_t reserved_20_63:44;
514		uint64_t pause_drp:1;
515		uint64_t reserved_16_18:3;
516		uint64_t ifgerr:1;
517		uint64_t coldet:1;
518		uint64_t falerr:1;
519		uint64_t rsverr:1;
520		uint64_t pcterr:1;
521		uint64_t ovrerr:1;
522		uint64_t reserved_9_9:1;
523		uint64_t skperr:1;
524		uint64_t rcverr:1;
525		uint64_t lenerr:1;
526		uint64_t alnerr:1;
527		uint64_t fcserr:1;
528		uint64_t jabber:1;
529		uint64_t maxerr:1;
530		uint64_t reserved_1_1:1;
531		uint64_t minerr:1;
532	} cn52xx;
533	struct cvmx_agl_gmx_rxx_int_en_cn52xx cn52xxp1;
534	struct cvmx_agl_gmx_rxx_int_en_cn52xx cn56xx;
535	struct cvmx_agl_gmx_rxx_int_en_cn52xx cn56xxp1;
536	struct cvmx_agl_gmx_rxx_int_en_s cn63xx;
537	struct cvmx_agl_gmx_rxx_int_en_s cn63xxp1;
538};
539
540union cvmx_agl_gmx_rxx_int_reg {
541	uint64_t u64;
542	struct cvmx_agl_gmx_rxx_int_reg_s {
543		uint64_t reserved_20_63:44;
544		uint64_t pause_drp:1;
545		uint64_t phy_dupx:1;
546		uint64_t phy_spd:1;
547		uint64_t phy_link:1;
548		uint64_t ifgerr:1;
549		uint64_t coldet:1;
550		uint64_t falerr:1;
551		uint64_t rsverr:1;
552		uint64_t pcterr:1;
553		uint64_t ovrerr:1;
554		uint64_t niberr:1;
555		uint64_t skperr:1;
556		uint64_t rcverr:1;
557		uint64_t lenerr:1;
558		uint64_t alnerr:1;
559		uint64_t fcserr:1;
560		uint64_t jabber:1;
561		uint64_t maxerr:1;
562		uint64_t carext:1;
563		uint64_t minerr:1;
564	} s;
565	struct cvmx_agl_gmx_rxx_int_reg_cn52xx {
566		uint64_t reserved_20_63:44;
567		uint64_t pause_drp:1;
568		uint64_t reserved_16_18:3;
569		uint64_t ifgerr:1;
570		uint64_t coldet:1;
571		uint64_t falerr:1;
572		uint64_t rsverr:1;
573		uint64_t pcterr:1;
574		uint64_t ovrerr:1;
575		uint64_t reserved_9_9:1;
576		uint64_t skperr:1;
577		uint64_t rcverr:1;
578		uint64_t lenerr:1;
579		uint64_t alnerr:1;
580		uint64_t fcserr:1;
581		uint64_t jabber:1;
582		uint64_t maxerr:1;
583		uint64_t reserved_1_1:1;
584		uint64_t minerr:1;
585	} cn52xx;
586	struct cvmx_agl_gmx_rxx_int_reg_cn52xx cn52xxp1;
587	struct cvmx_agl_gmx_rxx_int_reg_cn52xx cn56xx;
588	struct cvmx_agl_gmx_rxx_int_reg_cn52xx cn56xxp1;
589	struct cvmx_agl_gmx_rxx_int_reg_s cn63xx;
590	struct cvmx_agl_gmx_rxx_int_reg_s cn63xxp1;
591};
592
593union cvmx_agl_gmx_rxx_jabber {
594	uint64_t u64;
595	struct cvmx_agl_gmx_rxx_jabber_s {
596		uint64_t reserved_16_63:48;
597		uint64_t cnt:16;
598	} s;
599	struct cvmx_agl_gmx_rxx_jabber_s cn52xx;
600	struct cvmx_agl_gmx_rxx_jabber_s cn52xxp1;
601	struct cvmx_agl_gmx_rxx_jabber_s cn56xx;
602	struct cvmx_agl_gmx_rxx_jabber_s cn56xxp1;
603	struct cvmx_agl_gmx_rxx_jabber_s cn63xx;
604	struct cvmx_agl_gmx_rxx_jabber_s cn63xxp1;
605};
606
607union cvmx_agl_gmx_rxx_pause_drop_time {
608	uint64_t u64;
609	struct cvmx_agl_gmx_rxx_pause_drop_time_s {
610		uint64_t reserved_16_63:48;
611		uint64_t status:16;
612	} s;
613	struct cvmx_agl_gmx_rxx_pause_drop_time_s cn52xx;
614	struct cvmx_agl_gmx_rxx_pause_drop_time_s cn52xxp1;
615	struct cvmx_agl_gmx_rxx_pause_drop_time_s cn56xx;
616	struct cvmx_agl_gmx_rxx_pause_drop_time_s cn56xxp1;
617	struct cvmx_agl_gmx_rxx_pause_drop_time_s cn63xx;
618	struct cvmx_agl_gmx_rxx_pause_drop_time_s cn63xxp1;
619};
620
621union cvmx_agl_gmx_rxx_rx_inbnd {
622	uint64_t u64;
623	struct cvmx_agl_gmx_rxx_rx_inbnd_s {
624		uint64_t reserved_4_63:60;
625		uint64_t duplex:1;
626		uint64_t speed:2;
627		uint64_t status:1;
628	} s;
629	struct cvmx_agl_gmx_rxx_rx_inbnd_s cn63xx;
630	struct cvmx_agl_gmx_rxx_rx_inbnd_s cn63xxp1;
631};
632
633union cvmx_agl_gmx_rxx_stats_ctl {
634	uint64_t u64;
635	struct cvmx_agl_gmx_rxx_stats_ctl_s {
636		uint64_t reserved_1_63:63;
637		uint64_t rd_clr:1;
638	} s;
639	struct cvmx_agl_gmx_rxx_stats_ctl_s cn52xx;
640	struct cvmx_agl_gmx_rxx_stats_ctl_s cn52xxp1;
641	struct cvmx_agl_gmx_rxx_stats_ctl_s cn56xx;
642	struct cvmx_agl_gmx_rxx_stats_ctl_s cn56xxp1;
643	struct cvmx_agl_gmx_rxx_stats_ctl_s cn63xx;
644	struct cvmx_agl_gmx_rxx_stats_ctl_s cn63xxp1;
645};
646
647union cvmx_agl_gmx_rxx_stats_octs {
648	uint64_t u64;
649	struct cvmx_agl_gmx_rxx_stats_octs_s {
650		uint64_t reserved_48_63:16;
651		uint64_t cnt:48;
652	} s;
653	struct cvmx_agl_gmx_rxx_stats_octs_s cn52xx;
654	struct cvmx_agl_gmx_rxx_stats_octs_s cn52xxp1;
655	struct cvmx_agl_gmx_rxx_stats_octs_s cn56xx;
656	struct cvmx_agl_gmx_rxx_stats_octs_s cn56xxp1;
657	struct cvmx_agl_gmx_rxx_stats_octs_s cn63xx;
658	struct cvmx_agl_gmx_rxx_stats_octs_s cn63xxp1;
659};
660
661union cvmx_agl_gmx_rxx_stats_octs_ctl {
662	uint64_t u64;
663	struct cvmx_agl_gmx_rxx_stats_octs_ctl_s {
664		uint64_t reserved_48_63:16;
665		uint64_t cnt:48;
666	} s;
667	struct cvmx_agl_gmx_rxx_stats_octs_ctl_s cn52xx;
668	struct cvmx_agl_gmx_rxx_stats_octs_ctl_s cn52xxp1;
669	struct cvmx_agl_gmx_rxx_stats_octs_ctl_s cn56xx;
670	struct cvmx_agl_gmx_rxx_stats_octs_ctl_s cn56xxp1;
671	struct cvmx_agl_gmx_rxx_stats_octs_ctl_s cn63xx;
672	struct cvmx_agl_gmx_rxx_stats_octs_ctl_s cn63xxp1;
673};
674
675union cvmx_agl_gmx_rxx_stats_octs_dmac {
676	uint64_t u64;
677	struct cvmx_agl_gmx_rxx_stats_octs_dmac_s {
678		uint64_t reserved_48_63:16;
679		uint64_t cnt:48;
680	} s;
681	struct cvmx_agl_gmx_rxx_stats_octs_dmac_s cn52xx;
682	struct cvmx_agl_gmx_rxx_stats_octs_dmac_s cn52xxp1;
683	struct cvmx_agl_gmx_rxx_stats_octs_dmac_s cn56xx;
684	struct cvmx_agl_gmx_rxx_stats_octs_dmac_s cn56xxp1;
685	struct cvmx_agl_gmx_rxx_stats_octs_dmac_s cn63xx;
686	struct cvmx_agl_gmx_rxx_stats_octs_dmac_s cn63xxp1;
687};
688
689union cvmx_agl_gmx_rxx_stats_octs_drp {
690	uint64_t u64;
691	struct cvmx_agl_gmx_rxx_stats_octs_drp_s {
692		uint64_t reserved_48_63:16;
693		uint64_t cnt:48;
694	} s;
695	struct cvmx_agl_gmx_rxx_stats_octs_drp_s cn52xx;
696	struct cvmx_agl_gmx_rxx_stats_octs_drp_s cn52xxp1;
697	struct cvmx_agl_gmx_rxx_stats_octs_drp_s cn56xx;
698	struct cvmx_agl_gmx_rxx_stats_octs_drp_s cn56xxp1;
699	struct cvmx_agl_gmx_rxx_stats_octs_drp_s cn63xx;
700	struct cvmx_agl_gmx_rxx_stats_octs_drp_s cn63xxp1;
701};
702
703union cvmx_agl_gmx_rxx_stats_pkts {
704	uint64_t u64;
705	struct cvmx_agl_gmx_rxx_stats_pkts_s {
706		uint64_t reserved_32_63:32;
707		uint64_t cnt:32;
708	} s;
709	struct cvmx_agl_gmx_rxx_stats_pkts_s cn52xx;
710	struct cvmx_agl_gmx_rxx_stats_pkts_s cn52xxp1;
711	struct cvmx_agl_gmx_rxx_stats_pkts_s cn56xx;
712	struct cvmx_agl_gmx_rxx_stats_pkts_s cn56xxp1;
713	struct cvmx_agl_gmx_rxx_stats_pkts_s cn63xx;
714	struct cvmx_agl_gmx_rxx_stats_pkts_s cn63xxp1;
715};
716
717union cvmx_agl_gmx_rxx_stats_pkts_bad {
718	uint64_t u64;
719	struct cvmx_agl_gmx_rxx_stats_pkts_bad_s {
720		uint64_t reserved_32_63:32;
721		uint64_t cnt:32;
722	} s;
723	struct cvmx_agl_gmx_rxx_stats_pkts_bad_s cn52xx;
724	struct cvmx_agl_gmx_rxx_stats_pkts_bad_s cn52xxp1;
725	struct cvmx_agl_gmx_rxx_stats_pkts_bad_s cn56xx;
726	struct cvmx_agl_gmx_rxx_stats_pkts_bad_s cn56xxp1;
727	struct cvmx_agl_gmx_rxx_stats_pkts_bad_s cn63xx;
728	struct cvmx_agl_gmx_rxx_stats_pkts_bad_s cn63xxp1;
729};
730
731union cvmx_agl_gmx_rxx_stats_pkts_ctl {
732	uint64_t u64;
733	struct cvmx_agl_gmx_rxx_stats_pkts_ctl_s {
734		uint64_t reserved_32_63:32;
735		uint64_t cnt:32;
736	} s;
737	struct cvmx_agl_gmx_rxx_stats_pkts_ctl_s cn52xx;
738	struct cvmx_agl_gmx_rxx_stats_pkts_ctl_s cn52xxp1;
739	struct cvmx_agl_gmx_rxx_stats_pkts_ctl_s cn56xx;
740	struct cvmx_agl_gmx_rxx_stats_pkts_ctl_s cn56xxp1;
741	struct cvmx_agl_gmx_rxx_stats_pkts_ctl_s cn63xx;
742	struct cvmx_agl_gmx_rxx_stats_pkts_ctl_s cn63xxp1;
743};
744
745union cvmx_agl_gmx_rxx_stats_pkts_dmac {
746	uint64_t u64;
747	struct cvmx_agl_gmx_rxx_stats_pkts_dmac_s {
748		uint64_t reserved_32_63:32;
749		uint64_t cnt:32;
750	} s;
751	struct cvmx_agl_gmx_rxx_stats_pkts_dmac_s cn52xx;
752	struct cvmx_agl_gmx_rxx_stats_pkts_dmac_s cn52xxp1;
753	struct cvmx_agl_gmx_rxx_stats_pkts_dmac_s cn56xx;
754	struct cvmx_agl_gmx_rxx_stats_pkts_dmac_s cn56xxp1;
755	struct cvmx_agl_gmx_rxx_stats_pkts_dmac_s cn63xx;
756	struct cvmx_agl_gmx_rxx_stats_pkts_dmac_s cn63xxp1;
757};
758
759union cvmx_agl_gmx_rxx_stats_pkts_drp {
760	uint64_t u64;
761	struct cvmx_agl_gmx_rxx_stats_pkts_drp_s {
762		uint64_t reserved_32_63:32;
763		uint64_t cnt:32;
764	} s;
765	struct cvmx_agl_gmx_rxx_stats_pkts_drp_s cn52xx;
766	struct cvmx_agl_gmx_rxx_stats_pkts_drp_s cn52xxp1;
767	struct cvmx_agl_gmx_rxx_stats_pkts_drp_s cn56xx;
768	struct cvmx_agl_gmx_rxx_stats_pkts_drp_s cn56xxp1;
769	struct cvmx_agl_gmx_rxx_stats_pkts_drp_s cn63xx;
770	struct cvmx_agl_gmx_rxx_stats_pkts_drp_s cn63xxp1;
771};
772
773union cvmx_agl_gmx_rxx_udd_skp {
774	uint64_t u64;
775	struct cvmx_agl_gmx_rxx_udd_skp_s {
776		uint64_t reserved_9_63:55;
777		uint64_t fcssel:1;
778		uint64_t reserved_7_7:1;
779		uint64_t len:7;
780	} s;
781	struct cvmx_agl_gmx_rxx_udd_skp_s cn52xx;
782	struct cvmx_agl_gmx_rxx_udd_skp_s cn52xxp1;
783	struct cvmx_agl_gmx_rxx_udd_skp_s cn56xx;
784	struct cvmx_agl_gmx_rxx_udd_skp_s cn56xxp1;
785	struct cvmx_agl_gmx_rxx_udd_skp_s cn63xx;
786	struct cvmx_agl_gmx_rxx_udd_skp_s cn63xxp1;
787};
788
789union cvmx_agl_gmx_rx_bp_dropx {
790	uint64_t u64;
791	struct cvmx_agl_gmx_rx_bp_dropx_s {
792		uint64_t reserved_6_63:58;
793		uint64_t mark:6;
794	} s;
795	struct cvmx_agl_gmx_rx_bp_dropx_s cn52xx;
796	struct cvmx_agl_gmx_rx_bp_dropx_s cn52xxp1;
797	struct cvmx_agl_gmx_rx_bp_dropx_s cn56xx;
798	struct cvmx_agl_gmx_rx_bp_dropx_s cn56xxp1;
799	struct cvmx_agl_gmx_rx_bp_dropx_s cn63xx;
800	struct cvmx_agl_gmx_rx_bp_dropx_s cn63xxp1;
801};
802
803union cvmx_agl_gmx_rx_bp_offx {
804	uint64_t u64;
805	struct cvmx_agl_gmx_rx_bp_offx_s {
806		uint64_t reserved_6_63:58;
807		uint64_t mark:6;
808	} s;
809	struct cvmx_agl_gmx_rx_bp_offx_s cn52xx;
810	struct cvmx_agl_gmx_rx_bp_offx_s cn52xxp1;
811	struct cvmx_agl_gmx_rx_bp_offx_s cn56xx;
812	struct cvmx_agl_gmx_rx_bp_offx_s cn56xxp1;
813	struct cvmx_agl_gmx_rx_bp_offx_s cn63xx;
814	struct cvmx_agl_gmx_rx_bp_offx_s cn63xxp1;
815};
816
817union cvmx_agl_gmx_rx_bp_onx {
818	uint64_t u64;
819	struct cvmx_agl_gmx_rx_bp_onx_s {
820		uint64_t reserved_9_63:55;
821		uint64_t mark:9;
822	} s;
823	struct cvmx_agl_gmx_rx_bp_onx_s cn52xx;
824	struct cvmx_agl_gmx_rx_bp_onx_s cn52xxp1;
825	struct cvmx_agl_gmx_rx_bp_onx_s cn56xx;
826	struct cvmx_agl_gmx_rx_bp_onx_s cn56xxp1;
827	struct cvmx_agl_gmx_rx_bp_onx_s cn63xx;
828	struct cvmx_agl_gmx_rx_bp_onx_s cn63xxp1;
829};
830
831union cvmx_agl_gmx_rx_prt_info {
832	uint64_t u64;
833	struct cvmx_agl_gmx_rx_prt_info_s {
834		uint64_t reserved_18_63:46;
835		uint64_t drop:2;
836		uint64_t reserved_2_15:14;
837		uint64_t commit:2;
838	} s;
839	struct cvmx_agl_gmx_rx_prt_info_s cn52xx;
840	struct cvmx_agl_gmx_rx_prt_info_s cn52xxp1;
841	struct cvmx_agl_gmx_rx_prt_info_cn56xx {
842		uint64_t reserved_17_63:47;
843		uint64_t drop:1;
844		uint64_t reserved_1_15:15;
845		uint64_t commit:1;
846	} cn56xx;
847	struct cvmx_agl_gmx_rx_prt_info_cn56xx cn56xxp1;
848	struct cvmx_agl_gmx_rx_prt_info_s cn63xx;
849	struct cvmx_agl_gmx_rx_prt_info_s cn63xxp1;
850};
851
852union cvmx_agl_gmx_rx_tx_status {
853	uint64_t u64;
854	struct cvmx_agl_gmx_rx_tx_status_s {
855		uint64_t reserved_6_63:58;
856		uint64_t tx:2;
857		uint64_t reserved_2_3:2;
858		uint64_t rx:2;
859	} s;
860	struct cvmx_agl_gmx_rx_tx_status_s cn52xx;
861	struct cvmx_agl_gmx_rx_tx_status_s cn52xxp1;
862	struct cvmx_agl_gmx_rx_tx_status_cn56xx {
863		uint64_t reserved_5_63:59;
864		uint64_t tx:1;
865		uint64_t reserved_1_3:3;
866		uint64_t rx:1;
867	} cn56xx;
868	struct cvmx_agl_gmx_rx_tx_status_cn56xx cn56xxp1;
869	struct cvmx_agl_gmx_rx_tx_status_s cn63xx;
870	struct cvmx_agl_gmx_rx_tx_status_s cn63xxp1;
871};
872
873union cvmx_agl_gmx_smacx {
874	uint64_t u64;
875	struct cvmx_agl_gmx_smacx_s {
876		uint64_t reserved_48_63:16;
877		uint64_t smac:48;
878	} s;
879	struct cvmx_agl_gmx_smacx_s cn52xx;
880	struct cvmx_agl_gmx_smacx_s cn52xxp1;
881	struct cvmx_agl_gmx_smacx_s cn56xx;
882	struct cvmx_agl_gmx_smacx_s cn56xxp1;
883	struct cvmx_agl_gmx_smacx_s cn63xx;
884	struct cvmx_agl_gmx_smacx_s cn63xxp1;
885};
886
887union cvmx_agl_gmx_stat_bp {
888	uint64_t u64;
889	struct cvmx_agl_gmx_stat_bp_s {
890		uint64_t reserved_17_63:47;
891		uint64_t bp:1;
892		uint64_t cnt:16;
893	} s;
894	struct cvmx_agl_gmx_stat_bp_s cn52xx;
895	struct cvmx_agl_gmx_stat_bp_s cn52xxp1;
896	struct cvmx_agl_gmx_stat_bp_s cn56xx;
897	struct cvmx_agl_gmx_stat_bp_s cn56xxp1;
898	struct cvmx_agl_gmx_stat_bp_s cn63xx;
899	struct cvmx_agl_gmx_stat_bp_s cn63xxp1;
900};
901
902union cvmx_agl_gmx_txx_append {
903	uint64_t u64;
904	struct cvmx_agl_gmx_txx_append_s {
905		uint64_t reserved_4_63:60;
906		uint64_t force_fcs:1;
907		uint64_t fcs:1;
908		uint64_t pad:1;
909		uint64_t preamble:1;
910	} s;
911	struct cvmx_agl_gmx_txx_append_s cn52xx;
912	struct cvmx_agl_gmx_txx_append_s cn52xxp1;
913	struct cvmx_agl_gmx_txx_append_s cn56xx;
914	struct cvmx_agl_gmx_txx_append_s cn56xxp1;
915	struct cvmx_agl_gmx_txx_append_s cn63xx;
916	struct cvmx_agl_gmx_txx_append_s cn63xxp1;
917};
918
919union cvmx_agl_gmx_txx_clk {
920	uint64_t u64;
921	struct cvmx_agl_gmx_txx_clk_s {
922		uint64_t reserved_6_63:58;
923		uint64_t clk_cnt:6;
924	} s;
925	struct cvmx_agl_gmx_txx_clk_s cn63xx;
926	struct cvmx_agl_gmx_txx_clk_s cn63xxp1;
927};
928
929union cvmx_agl_gmx_txx_ctl {
930	uint64_t u64;
931	struct cvmx_agl_gmx_txx_ctl_s {
932		uint64_t reserved_2_63:62;
933		uint64_t xsdef_en:1;
934		uint64_t xscol_en:1;
935	} s;
936	struct cvmx_agl_gmx_txx_ctl_s cn52xx;
937	struct cvmx_agl_gmx_txx_ctl_s cn52xxp1;
938	struct cvmx_agl_gmx_txx_ctl_s cn56xx;
939	struct cvmx_agl_gmx_txx_ctl_s cn56xxp1;
940	struct cvmx_agl_gmx_txx_ctl_s cn63xx;
941	struct cvmx_agl_gmx_txx_ctl_s cn63xxp1;
942};
943
944union cvmx_agl_gmx_txx_min_pkt {
945	uint64_t u64;
946	struct cvmx_agl_gmx_txx_min_pkt_s {
947		uint64_t reserved_8_63:56;
948		uint64_t min_size:8;
949	} s;
950	struct cvmx_agl_gmx_txx_min_pkt_s cn52xx;
951	struct cvmx_agl_gmx_txx_min_pkt_s cn52xxp1;
952	struct cvmx_agl_gmx_txx_min_pkt_s cn56xx;
953	struct cvmx_agl_gmx_txx_min_pkt_s cn56xxp1;
954	struct cvmx_agl_gmx_txx_min_pkt_s cn63xx;
955	struct cvmx_agl_gmx_txx_min_pkt_s cn63xxp1;
956};
957
958union cvmx_agl_gmx_txx_pause_pkt_interval {
959	uint64_t u64;
960	struct cvmx_agl_gmx_txx_pause_pkt_interval_s {
961		uint64_t reserved_16_63:48;
962		uint64_t interval:16;
963	} s;
964	struct cvmx_agl_gmx_txx_pause_pkt_interval_s cn52xx;
965	struct cvmx_agl_gmx_txx_pause_pkt_interval_s cn52xxp1;
966	struct cvmx_agl_gmx_txx_pause_pkt_interval_s cn56xx;
967	struct cvmx_agl_gmx_txx_pause_pkt_interval_s cn56xxp1;
968	struct cvmx_agl_gmx_txx_pause_pkt_interval_s cn63xx;
969	struct cvmx_agl_gmx_txx_pause_pkt_interval_s cn63xxp1;
970};
971
972union cvmx_agl_gmx_txx_pause_pkt_time {
973	uint64_t u64;
974	struct cvmx_agl_gmx_txx_pause_pkt_time_s {
975		uint64_t reserved_16_63:48;
976		uint64_t time:16;
977	} s;
978	struct cvmx_agl_gmx_txx_pause_pkt_time_s cn52xx;
979	struct cvmx_agl_gmx_txx_pause_pkt_time_s cn52xxp1;
980	struct cvmx_agl_gmx_txx_pause_pkt_time_s cn56xx;
981	struct cvmx_agl_gmx_txx_pause_pkt_time_s cn56xxp1;
982	struct cvmx_agl_gmx_txx_pause_pkt_time_s cn63xx;
983	struct cvmx_agl_gmx_txx_pause_pkt_time_s cn63xxp1;
984};
985
986union cvmx_agl_gmx_txx_pause_togo {
987	uint64_t u64;
988	struct cvmx_agl_gmx_txx_pause_togo_s {
989		uint64_t reserved_16_63:48;
990		uint64_t time:16;
991	} s;
992	struct cvmx_agl_gmx_txx_pause_togo_s cn52xx;
993	struct cvmx_agl_gmx_txx_pause_togo_s cn52xxp1;
994	struct cvmx_agl_gmx_txx_pause_togo_s cn56xx;
995	struct cvmx_agl_gmx_txx_pause_togo_s cn56xxp1;
996	struct cvmx_agl_gmx_txx_pause_togo_s cn63xx;
997	struct cvmx_agl_gmx_txx_pause_togo_s cn63xxp1;
998};
999
1000union cvmx_agl_gmx_txx_pause_zero {
1001	uint64_t u64;
1002	struct cvmx_agl_gmx_txx_pause_zero_s {
1003		uint64_t reserved_1_63:63;
1004		uint64_t send:1;
1005	} s;
1006	struct cvmx_agl_gmx_txx_pause_zero_s cn52xx;
1007	struct cvmx_agl_gmx_txx_pause_zero_s cn52xxp1;
1008	struct cvmx_agl_gmx_txx_pause_zero_s cn56xx;
1009	struct cvmx_agl_gmx_txx_pause_zero_s cn56xxp1;
1010	struct cvmx_agl_gmx_txx_pause_zero_s cn63xx;
1011	struct cvmx_agl_gmx_txx_pause_zero_s cn63xxp1;
1012};
1013
1014union cvmx_agl_gmx_txx_soft_pause {
1015	uint64_t u64;
1016	struct cvmx_agl_gmx_txx_soft_pause_s {
1017		uint64_t reserved_16_63:48;
1018		uint64_t time:16;
1019	} s;
1020	struct cvmx_agl_gmx_txx_soft_pause_s cn52xx;
1021	struct cvmx_agl_gmx_txx_soft_pause_s cn52xxp1;
1022	struct cvmx_agl_gmx_txx_soft_pause_s cn56xx;
1023	struct cvmx_agl_gmx_txx_soft_pause_s cn56xxp1;
1024	struct cvmx_agl_gmx_txx_soft_pause_s cn63xx;
1025	struct cvmx_agl_gmx_txx_soft_pause_s cn63xxp1;
1026};
1027
1028union cvmx_agl_gmx_txx_stat0 {
1029	uint64_t u64;
1030	struct cvmx_agl_gmx_txx_stat0_s {
1031		uint64_t xsdef:32;
1032		uint64_t xscol:32;
1033	} s;
1034	struct cvmx_agl_gmx_txx_stat0_s cn52xx;
1035	struct cvmx_agl_gmx_txx_stat0_s cn52xxp1;
1036	struct cvmx_agl_gmx_txx_stat0_s cn56xx;
1037	struct cvmx_agl_gmx_txx_stat0_s cn56xxp1;
1038	struct cvmx_agl_gmx_txx_stat0_s cn63xx;
1039	struct cvmx_agl_gmx_txx_stat0_s cn63xxp1;
1040};
1041
1042union cvmx_agl_gmx_txx_stat1 {
1043	uint64_t u64;
1044	struct cvmx_agl_gmx_txx_stat1_s {
1045		uint64_t scol:32;
1046		uint64_t mcol:32;
1047	} s;
1048	struct cvmx_agl_gmx_txx_stat1_s cn52xx;
1049	struct cvmx_agl_gmx_txx_stat1_s cn52xxp1;
1050	struct cvmx_agl_gmx_txx_stat1_s cn56xx;
1051	struct cvmx_agl_gmx_txx_stat1_s cn56xxp1;
1052	struct cvmx_agl_gmx_txx_stat1_s cn63xx;
1053	struct cvmx_agl_gmx_txx_stat1_s cn63xxp1;
1054};
1055
1056union cvmx_agl_gmx_txx_stat2 {
1057	uint64_t u64;
1058	struct cvmx_agl_gmx_txx_stat2_s {
1059		uint64_t reserved_48_63:16;
1060		uint64_t octs:48;
1061	} s;
1062	struct cvmx_agl_gmx_txx_stat2_s cn52xx;
1063	struct cvmx_agl_gmx_txx_stat2_s cn52xxp1;
1064	struct cvmx_agl_gmx_txx_stat2_s cn56xx;
1065	struct cvmx_agl_gmx_txx_stat2_s cn56xxp1;
1066	struct cvmx_agl_gmx_txx_stat2_s cn63xx;
1067	struct cvmx_agl_gmx_txx_stat2_s cn63xxp1;
1068};
1069
1070union cvmx_agl_gmx_txx_stat3 {
1071	uint64_t u64;
1072	struct cvmx_agl_gmx_txx_stat3_s {
1073		uint64_t reserved_32_63:32;
1074		uint64_t pkts:32;
1075	} s;
1076	struct cvmx_agl_gmx_txx_stat3_s cn52xx;
1077	struct cvmx_agl_gmx_txx_stat3_s cn52xxp1;
1078	struct cvmx_agl_gmx_txx_stat3_s cn56xx;
1079	struct cvmx_agl_gmx_txx_stat3_s cn56xxp1;
1080	struct cvmx_agl_gmx_txx_stat3_s cn63xx;
1081	struct cvmx_agl_gmx_txx_stat3_s cn63xxp1;
1082};
1083
1084union cvmx_agl_gmx_txx_stat4 {
1085	uint64_t u64;
1086	struct cvmx_agl_gmx_txx_stat4_s {
1087		uint64_t hist1:32;
1088		uint64_t hist0:32;
1089	} s;
1090	struct cvmx_agl_gmx_txx_stat4_s cn52xx;
1091	struct cvmx_agl_gmx_txx_stat4_s cn52xxp1;
1092	struct cvmx_agl_gmx_txx_stat4_s cn56xx;
1093	struct cvmx_agl_gmx_txx_stat4_s cn56xxp1;
1094	struct cvmx_agl_gmx_txx_stat4_s cn63xx;
1095	struct cvmx_agl_gmx_txx_stat4_s cn63xxp1;
1096};
1097
1098union cvmx_agl_gmx_txx_stat5 {
1099	uint64_t u64;
1100	struct cvmx_agl_gmx_txx_stat5_s {
1101		uint64_t hist3:32;
1102		uint64_t hist2:32;
1103	} s;
1104	struct cvmx_agl_gmx_txx_stat5_s cn52xx;
1105	struct cvmx_agl_gmx_txx_stat5_s cn52xxp1;
1106	struct cvmx_agl_gmx_txx_stat5_s cn56xx;
1107	struct cvmx_agl_gmx_txx_stat5_s cn56xxp1;
1108	struct cvmx_agl_gmx_txx_stat5_s cn63xx;
1109	struct cvmx_agl_gmx_txx_stat5_s cn63xxp1;
1110};
1111
1112union cvmx_agl_gmx_txx_stat6 {
1113	uint64_t u64;
1114	struct cvmx_agl_gmx_txx_stat6_s {
1115		uint64_t hist5:32;
1116		uint64_t hist4:32;
1117	} s;
1118	struct cvmx_agl_gmx_txx_stat6_s cn52xx;
1119	struct cvmx_agl_gmx_txx_stat6_s cn52xxp1;
1120	struct cvmx_agl_gmx_txx_stat6_s cn56xx;
1121	struct cvmx_agl_gmx_txx_stat6_s cn56xxp1;
1122	struct cvmx_agl_gmx_txx_stat6_s cn63xx;
1123	struct cvmx_agl_gmx_txx_stat6_s cn63xxp1;
1124};
1125
1126union cvmx_agl_gmx_txx_stat7 {
1127	uint64_t u64;
1128	struct cvmx_agl_gmx_txx_stat7_s {
1129		uint64_t hist7:32;
1130		uint64_t hist6:32;
1131	} s;
1132	struct cvmx_agl_gmx_txx_stat7_s cn52xx;
1133	struct cvmx_agl_gmx_txx_stat7_s cn52xxp1;
1134	struct cvmx_agl_gmx_txx_stat7_s cn56xx;
1135	struct cvmx_agl_gmx_txx_stat7_s cn56xxp1;
1136	struct cvmx_agl_gmx_txx_stat7_s cn63xx;
1137	struct cvmx_agl_gmx_txx_stat7_s cn63xxp1;
1138};
1139
1140union cvmx_agl_gmx_txx_stat8 {
1141	uint64_t u64;
1142	struct cvmx_agl_gmx_txx_stat8_s {
1143		uint64_t mcst:32;
1144		uint64_t bcst:32;
1145	} s;
1146	struct cvmx_agl_gmx_txx_stat8_s cn52xx;
1147	struct cvmx_agl_gmx_txx_stat8_s cn52xxp1;
1148	struct cvmx_agl_gmx_txx_stat8_s cn56xx;
1149	struct cvmx_agl_gmx_txx_stat8_s cn56xxp1;
1150	struct cvmx_agl_gmx_txx_stat8_s cn63xx;
1151	struct cvmx_agl_gmx_txx_stat8_s cn63xxp1;
1152};
1153
1154union cvmx_agl_gmx_txx_stat9 {
1155	uint64_t u64;
1156	struct cvmx_agl_gmx_txx_stat9_s {
1157		uint64_t undflw:32;
1158		uint64_t ctl:32;
1159	} s;
1160	struct cvmx_agl_gmx_txx_stat9_s cn52xx;
1161	struct cvmx_agl_gmx_txx_stat9_s cn52xxp1;
1162	struct cvmx_agl_gmx_txx_stat9_s cn56xx;
1163	struct cvmx_agl_gmx_txx_stat9_s cn56xxp1;
1164	struct cvmx_agl_gmx_txx_stat9_s cn63xx;
1165	struct cvmx_agl_gmx_txx_stat9_s cn63xxp1;
1166};
1167
1168union cvmx_agl_gmx_txx_stats_ctl {
1169	uint64_t u64;
1170	struct cvmx_agl_gmx_txx_stats_ctl_s {
1171		uint64_t reserved_1_63:63;
1172		uint64_t rd_clr:1;
1173	} s;
1174	struct cvmx_agl_gmx_txx_stats_ctl_s cn52xx;
1175	struct cvmx_agl_gmx_txx_stats_ctl_s cn52xxp1;
1176	struct cvmx_agl_gmx_txx_stats_ctl_s cn56xx;
1177	struct cvmx_agl_gmx_txx_stats_ctl_s cn56xxp1;
1178	struct cvmx_agl_gmx_txx_stats_ctl_s cn63xx;
1179	struct cvmx_agl_gmx_txx_stats_ctl_s cn63xxp1;
1180};
1181
1182union cvmx_agl_gmx_txx_thresh {
1183	uint64_t u64;
1184	struct cvmx_agl_gmx_txx_thresh_s {
1185		uint64_t reserved_6_63:58;
1186		uint64_t cnt:6;
1187	} s;
1188	struct cvmx_agl_gmx_txx_thresh_s cn52xx;
1189	struct cvmx_agl_gmx_txx_thresh_s cn52xxp1;
1190	struct cvmx_agl_gmx_txx_thresh_s cn56xx;
1191	struct cvmx_agl_gmx_txx_thresh_s cn56xxp1;
1192	struct cvmx_agl_gmx_txx_thresh_s cn63xx;
1193	struct cvmx_agl_gmx_txx_thresh_s cn63xxp1;
1194};
1195
1196union cvmx_agl_gmx_tx_bp {
1197	uint64_t u64;
1198	struct cvmx_agl_gmx_tx_bp_s {
1199		uint64_t reserved_2_63:62;
1200		uint64_t bp:2;
1201	} s;
1202	struct cvmx_agl_gmx_tx_bp_s cn52xx;
1203	struct cvmx_agl_gmx_tx_bp_s cn52xxp1;
1204	struct cvmx_agl_gmx_tx_bp_cn56xx {
1205		uint64_t reserved_1_63:63;
1206		uint64_t bp:1;
1207	} cn56xx;
1208	struct cvmx_agl_gmx_tx_bp_cn56xx cn56xxp1;
1209	struct cvmx_agl_gmx_tx_bp_s cn63xx;
1210	struct cvmx_agl_gmx_tx_bp_s cn63xxp1;
1211};
1212
1213union cvmx_agl_gmx_tx_col_attempt {
1214	uint64_t u64;
1215	struct cvmx_agl_gmx_tx_col_attempt_s {
1216		uint64_t reserved_5_63:59;
1217		uint64_t limit:5;
1218	} s;
1219	struct cvmx_agl_gmx_tx_col_attempt_s cn52xx;
1220	struct cvmx_agl_gmx_tx_col_attempt_s cn52xxp1;
1221	struct cvmx_agl_gmx_tx_col_attempt_s cn56xx;
1222	struct cvmx_agl_gmx_tx_col_attempt_s cn56xxp1;
1223	struct cvmx_agl_gmx_tx_col_attempt_s cn63xx;
1224	struct cvmx_agl_gmx_tx_col_attempt_s cn63xxp1;
1225};
1226
1227union cvmx_agl_gmx_tx_ifg {
1228	uint64_t u64;
1229	struct cvmx_agl_gmx_tx_ifg_s {
1230		uint64_t reserved_8_63:56;
1231		uint64_t ifg2:4;
1232		uint64_t ifg1:4;
1233	} s;
1234	struct cvmx_agl_gmx_tx_ifg_s cn52xx;
1235	struct cvmx_agl_gmx_tx_ifg_s cn52xxp1;
1236	struct cvmx_agl_gmx_tx_ifg_s cn56xx;
1237	struct cvmx_agl_gmx_tx_ifg_s cn56xxp1;
1238	struct cvmx_agl_gmx_tx_ifg_s cn63xx;
1239	struct cvmx_agl_gmx_tx_ifg_s cn63xxp1;
1240};
1241
1242union cvmx_agl_gmx_tx_int_en {
1243	uint64_t u64;
1244	struct cvmx_agl_gmx_tx_int_en_s {
1245		uint64_t reserved_22_63:42;
1246		uint64_t ptp_lost:2;
1247		uint64_t reserved_18_19:2;
1248		uint64_t late_col:2;
1249		uint64_t reserved_14_15:2;
1250		uint64_t xsdef:2;
1251		uint64_t reserved_10_11:2;
1252		uint64_t xscol:2;
1253		uint64_t reserved_4_7:4;
1254		uint64_t undflw:2;
1255		uint64_t reserved_1_1:1;
1256		uint64_t pko_nxa:1;
1257	} s;
1258	struct cvmx_agl_gmx_tx_int_en_cn52xx {
1259		uint64_t reserved_18_63:46;
1260		uint64_t late_col:2;
1261		uint64_t reserved_14_15:2;
1262		uint64_t xsdef:2;
1263		uint64_t reserved_10_11:2;
1264		uint64_t xscol:2;
1265		uint64_t reserved_4_7:4;
1266		uint64_t undflw:2;
1267		uint64_t reserved_1_1:1;
1268		uint64_t pko_nxa:1;
1269	} cn52xx;
1270	struct cvmx_agl_gmx_tx_int_en_cn52xx cn52xxp1;
1271	struct cvmx_agl_gmx_tx_int_en_cn56xx {
1272		uint64_t reserved_17_63:47;
1273		uint64_t late_col:1;
1274		uint64_t reserved_13_15:3;
1275		uint64_t xsdef:1;
1276		uint64_t reserved_9_11:3;
1277		uint64_t xscol:1;
1278		uint64_t reserved_3_7:5;
1279		uint64_t undflw:1;
1280		uint64_t reserved_1_1:1;
1281		uint64_t pko_nxa:1;
1282	} cn56xx;
1283	struct cvmx_agl_gmx_tx_int_en_cn56xx cn56xxp1;
1284	struct cvmx_agl_gmx_tx_int_en_s cn63xx;
1285	struct cvmx_agl_gmx_tx_int_en_s cn63xxp1;
1286};
1287
1288union cvmx_agl_gmx_tx_int_reg {
1289	uint64_t u64;
1290	struct cvmx_agl_gmx_tx_int_reg_s {
1291		uint64_t reserved_22_63:42;
1292		uint64_t ptp_lost:2;
1293		uint64_t reserved_18_19:2;
1294		uint64_t late_col:2;
1295		uint64_t reserved_14_15:2;
1296		uint64_t xsdef:2;
1297		uint64_t reserved_10_11:2;
1298		uint64_t xscol:2;
1299		uint64_t reserved_4_7:4;
1300		uint64_t undflw:2;
1301		uint64_t reserved_1_1:1;
1302		uint64_t pko_nxa:1;
1303	} s;
1304	struct cvmx_agl_gmx_tx_int_reg_cn52xx {
1305		uint64_t reserved_18_63:46;
1306		uint64_t late_col:2;
1307		uint64_t reserved_14_15:2;
1308		uint64_t xsdef:2;
1309		uint64_t reserved_10_11:2;
1310		uint64_t xscol:2;
1311		uint64_t reserved_4_7:4;
1312		uint64_t undflw:2;
1313		uint64_t reserved_1_1:1;
1314		uint64_t pko_nxa:1;
1315	} cn52xx;
1316	struct cvmx_agl_gmx_tx_int_reg_cn52xx cn52xxp1;
1317	struct cvmx_agl_gmx_tx_int_reg_cn56xx {
1318		uint64_t reserved_17_63:47;
1319		uint64_t late_col:1;
1320		uint64_t reserved_13_15:3;
1321		uint64_t xsdef:1;
1322		uint64_t reserved_9_11:3;
1323		uint64_t xscol:1;
1324		uint64_t reserved_3_7:5;
1325		uint64_t undflw:1;
1326		uint64_t reserved_1_1:1;
1327		uint64_t pko_nxa:1;
1328	} cn56xx;
1329	struct cvmx_agl_gmx_tx_int_reg_cn56xx cn56xxp1;
1330	struct cvmx_agl_gmx_tx_int_reg_s cn63xx;
1331	struct cvmx_agl_gmx_tx_int_reg_s cn63xxp1;
1332};
1333
1334union cvmx_agl_gmx_tx_jam {
1335	uint64_t u64;
1336	struct cvmx_agl_gmx_tx_jam_s {
1337		uint64_t reserved_8_63:56;
1338		uint64_t jam:8;
1339	} s;
1340	struct cvmx_agl_gmx_tx_jam_s cn52xx;
1341	struct cvmx_agl_gmx_tx_jam_s cn52xxp1;
1342	struct cvmx_agl_gmx_tx_jam_s cn56xx;
1343	struct cvmx_agl_gmx_tx_jam_s cn56xxp1;
1344	struct cvmx_agl_gmx_tx_jam_s cn63xx;
1345	struct cvmx_agl_gmx_tx_jam_s cn63xxp1;
1346};
1347
1348union cvmx_agl_gmx_tx_lfsr {
1349	uint64_t u64;
1350	struct cvmx_agl_gmx_tx_lfsr_s {
1351		uint64_t reserved_16_63:48;
1352		uint64_t lfsr:16;
1353	} s;
1354	struct cvmx_agl_gmx_tx_lfsr_s cn52xx;
1355	struct cvmx_agl_gmx_tx_lfsr_s cn52xxp1;
1356	struct cvmx_agl_gmx_tx_lfsr_s cn56xx;
1357	struct cvmx_agl_gmx_tx_lfsr_s cn56xxp1;
1358	struct cvmx_agl_gmx_tx_lfsr_s cn63xx;
1359	struct cvmx_agl_gmx_tx_lfsr_s cn63xxp1;
1360};
1361
1362union cvmx_agl_gmx_tx_ovr_bp {
1363	uint64_t u64;
1364	struct cvmx_agl_gmx_tx_ovr_bp_s {
1365		uint64_t reserved_10_63:54;
1366		uint64_t en:2;
1367		uint64_t reserved_6_7:2;
1368		uint64_t bp:2;
1369		uint64_t reserved_2_3:2;
1370		uint64_t ign_full:2;
1371	} s;
1372	struct cvmx_agl_gmx_tx_ovr_bp_s cn52xx;
1373	struct cvmx_agl_gmx_tx_ovr_bp_s cn52xxp1;
1374	struct cvmx_agl_gmx_tx_ovr_bp_cn56xx {
1375		uint64_t reserved_9_63:55;
1376		uint64_t en:1;
1377		uint64_t reserved_5_7:3;
1378		uint64_t bp:1;
1379		uint64_t reserved_1_3:3;
1380		uint64_t ign_full:1;
1381	} cn56xx;
1382	struct cvmx_agl_gmx_tx_ovr_bp_cn56xx cn56xxp1;
1383	struct cvmx_agl_gmx_tx_ovr_bp_s cn63xx;
1384	struct cvmx_agl_gmx_tx_ovr_bp_s cn63xxp1;
1385};
1386
1387union cvmx_agl_gmx_tx_pause_pkt_dmac {
1388	uint64_t u64;
1389	struct cvmx_agl_gmx_tx_pause_pkt_dmac_s {
1390		uint64_t reserved_48_63:16;
1391		uint64_t dmac:48;
1392	} s;
1393	struct cvmx_agl_gmx_tx_pause_pkt_dmac_s cn52xx;
1394	struct cvmx_agl_gmx_tx_pause_pkt_dmac_s cn52xxp1;
1395	struct cvmx_agl_gmx_tx_pause_pkt_dmac_s cn56xx;
1396	struct cvmx_agl_gmx_tx_pause_pkt_dmac_s cn56xxp1;
1397	struct cvmx_agl_gmx_tx_pause_pkt_dmac_s cn63xx;
1398	struct cvmx_agl_gmx_tx_pause_pkt_dmac_s cn63xxp1;
1399};
1400
1401union cvmx_agl_gmx_tx_pause_pkt_type {
1402	uint64_t u64;
1403	struct cvmx_agl_gmx_tx_pause_pkt_type_s {
1404		uint64_t reserved_16_63:48;
1405		uint64_t type:16;
1406	} s;
1407	struct cvmx_agl_gmx_tx_pause_pkt_type_s cn52xx;
1408	struct cvmx_agl_gmx_tx_pause_pkt_type_s cn52xxp1;
1409	struct cvmx_agl_gmx_tx_pause_pkt_type_s cn56xx;
1410	struct cvmx_agl_gmx_tx_pause_pkt_type_s cn56xxp1;
1411	struct cvmx_agl_gmx_tx_pause_pkt_type_s cn63xx;
1412	struct cvmx_agl_gmx_tx_pause_pkt_type_s cn63xxp1;
1413};
1414
1415union cvmx_agl_prtx_ctl {
1416	uint64_t u64;
1417	struct cvmx_agl_prtx_ctl_s {
1418		uint64_t drv_byp:1;
1419		uint64_t reserved_62_62:1;
1420		uint64_t cmp_pctl:6;
1421		uint64_t reserved_54_55:2;
1422		uint64_t cmp_nctl:6;
1423		uint64_t reserved_46_47:2;
1424		uint64_t drv_pctl:6;
1425		uint64_t reserved_38_39:2;
1426		uint64_t drv_nctl:6;
1427		uint64_t reserved_29_31:3;
1428		uint64_t clk_set:5;
1429		uint64_t clkrx_byp:1;
1430		uint64_t reserved_21_22:2;
1431		uint64_t clkrx_set:5;
1432		uint64_t clktx_byp:1;
1433		uint64_t reserved_13_14:2;
1434		uint64_t clktx_set:5;
1435		uint64_t reserved_5_7:3;
1436		uint64_t dllrst:1;
1437		uint64_t comp:1;
1438		uint64_t enable:1;
1439		uint64_t clkrst:1;
1440		uint64_t mode:1;
1441	} s;
1442	struct cvmx_agl_prtx_ctl_s cn63xx;
1443	struct cvmx_agl_prtx_ctl_s cn63xxp1;
1444};
1445
1446#endif
1447