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