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