• Home
  • History
  • Annotate
  • Line#
  • Navigate
  • Raw
  • Download
  • only in /asuswrt-rt-n18u-9.0.0.4.380.2695/release/src-rt-6.x.4708/linux/linux-2.6/drivers/staging/octeon/
1/***********************license start***************
2 * Author: Cavium Networks
3 *
4 * Contact: support@caviumnetworks.com
5 * This file is part of the OCTEON SDK
6 *
7 * Copyright (c) 2003-2008 Cavium Networks
8 *
9 * This file is free software; you can redistribute it and/or modify
10 * it under the terms of the GNU General Public License, Version 2, as
11 * published by the Free Software Foundation.
12 *
13 * This file is distributed in the hope that it will be useful, but
14 * AS-IS and WITHOUT ANY WARRANTY; without even the implied warranty
15 * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE, TITLE, or
16 * NONINFRINGEMENT.  See the GNU General Public License for more
17 * details.
18 *
19 * You should have received a copy of the GNU General Public License
20 * along with this file; if not, write to the Free Software
21 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
22 * or visit http://www.gnu.org/licenses/.
23 *
24 * This file may also be available under a different license from Cavium.
25 * Contact Cavium Networks for more information
26 ***********************license end**************************************/
27
28#ifndef __CVMX_GMXX_DEFS_H__
29#define __CVMX_GMXX_DEFS_H__
30
31#define CVMX_GMXX_BAD_REG(block_id) \
32	 CVMX_ADD_IO_SEG(0x0001180008000518ull + (((block_id) & 1) * 0x8000000ull))
33#define CVMX_GMXX_BIST(block_id) \
34	 CVMX_ADD_IO_SEG(0x0001180008000400ull + (((block_id) & 1) * 0x8000000ull))
35#define CVMX_GMXX_CLK_EN(block_id) \
36	 CVMX_ADD_IO_SEG(0x00011800080007F0ull + (((block_id) & 1) * 0x8000000ull))
37#define CVMX_GMXX_HG2_CONTROL(block_id) \
38	 CVMX_ADD_IO_SEG(0x0001180008000550ull + (((block_id) & 1) * 0x8000000ull))
39#define CVMX_GMXX_INF_MODE(block_id) \
40	 CVMX_ADD_IO_SEG(0x00011800080007F8ull + (((block_id) & 1) * 0x8000000ull))
41#define CVMX_GMXX_NXA_ADR(block_id) \
42	 CVMX_ADD_IO_SEG(0x0001180008000510ull + (((block_id) & 1) * 0x8000000ull))
43#define CVMX_GMXX_PRTX_CBFC_CTL(offset, block_id) \
44	 CVMX_ADD_IO_SEG(0x0001180008000580ull + (((offset) & 0) * 8) + (((block_id) & 1) * 0x8000000ull))
45#define CVMX_GMXX_PRTX_CFG(offset, block_id) \
46	 CVMX_ADD_IO_SEG(0x0001180008000010ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull))
47#define CVMX_GMXX_RXX_ADR_CAM0(offset, block_id) \
48	 CVMX_ADD_IO_SEG(0x0001180008000180ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull))
49#define CVMX_GMXX_RXX_ADR_CAM1(offset, block_id) \
50	 CVMX_ADD_IO_SEG(0x0001180008000188ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull))
51#define CVMX_GMXX_RXX_ADR_CAM2(offset, block_id) \
52	 CVMX_ADD_IO_SEG(0x0001180008000190ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull))
53#define CVMX_GMXX_RXX_ADR_CAM3(offset, block_id) \
54	 CVMX_ADD_IO_SEG(0x0001180008000198ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull))
55#define CVMX_GMXX_RXX_ADR_CAM4(offset, block_id) \
56	 CVMX_ADD_IO_SEG(0x00011800080001A0ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull))
57#define CVMX_GMXX_RXX_ADR_CAM5(offset, block_id) \
58	 CVMX_ADD_IO_SEG(0x00011800080001A8ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull))
59#define CVMX_GMXX_RXX_ADR_CAM_EN(offset, block_id) \
60	 CVMX_ADD_IO_SEG(0x0001180008000108ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull))
61#define CVMX_GMXX_RXX_ADR_CTL(offset, block_id) \
62	 CVMX_ADD_IO_SEG(0x0001180008000100ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull))
63#define CVMX_GMXX_RXX_DECISION(offset, block_id) \
64	 CVMX_ADD_IO_SEG(0x0001180008000040ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull))
65#define CVMX_GMXX_RXX_FRM_CHK(offset, block_id) \
66	 CVMX_ADD_IO_SEG(0x0001180008000020ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull))
67#define CVMX_GMXX_RXX_FRM_CTL(offset, block_id) \
68	 CVMX_ADD_IO_SEG(0x0001180008000018ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull))
69#define CVMX_GMXX_RXX_FRM_MAX(offset, block_id) \
70	 CVMX_ADD_IO_SEG(0x0001180008000030ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull))
71#define CVMX_GMXX_RXX_FRM_MIN(offset, block_id) \
72	 CVMX_ADD_IO_SEG(0x0001180008000028ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull))
73#define CVMX_GMXX_RXX_IFG(offset, block_id) \
74	 CVMX_ADD_IO_SEG(0x0001180008000058ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull))
75#define CVMX_GMXX_RXX_INT_EN(offset, block_id) \
76	 CVMX_ADD_IO_SEG(0x0001180008000008ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull))
77#define CVMX_GMXX_RXX_INT_REG(offset, block_id) \
78	 CVMX_ADD_IO_SEG(0x0001180008000000ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull))
79#define CVMX_GMXX_RXX_JABBER(offset, block_id) \
80	 CVMX_ADD_IO_SEG(0x0001180008000038ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull))
81#define CVMX_GMXX_RXX_PAUSE_DROP_TIME(offset, block_id) \
82	 CVMX_ADD_IO_SEG(0x0001180008000068ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull))
83#define CVMX_GMXX_RXX_RX_INBND(offset, block_id) \
84	 CVMX_ADD_IO_SEG(0x0001180008000060ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull))
85#define CVMX_GMXX_RXX_STATS_CTL(offset, block_id) \
86	 CVMX_ADD_IO_SEG(0x0001180008000050ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull))
87#define CVMX_GMXX_RXX_STATS_OCTS(offset, block_id) \
88	 CVMX_ADD_IO_SEG(0x0001180008000088ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull))
89#define CVMX_GMXX_RXX_STATS_OCTS_CTL(offset, block_id) \
90	 CVMX_ADD_IO_SEG(0x0001180008000098ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull))
91#define CVMX_GMXX_RXX_STATS_OCTS_DMAC(offset, block_id) \
92	 CVMX_ADD_IO_SEG(0x00011800080000A8ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull))
93#define CVMX_GMXX_RXX_STATS_OCTS_DRP(offset, block_id) \
94	 CVMX_ADD_IO_SEG(0x00011800080000B8ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull))
95#define CVMX_GMXX_RXX_STATS_PKTS(offset, block_id) \
96	 CVMX_ADD_IO_SEG(0x0001180008000080ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull))
97#define CVMX_GMXX_RXX_STATS_PKTS_BAD(offset, block_id) \
98	 CVMX_ADD_IO_SEG(0x00011800080000C0ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull))
99#define CVMX_GMXX_RXX_STATS_PKTS_CTL(offset, block_id) \
100	 CVMX_ADD_IO_SEG(0x0001180008000090ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull))
101#define CVMX_GMXX_RXX_STATS_PKTS_DMAC(offset, block_id) \
102	 CVMX_ADD_IO_SEG(0x00011800080000A0ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull))
103#define CVMX_GMXX_RXX_STATS_PKTS_DRP(offset, block_id) \
104	 CVMX_ADD_IO_SEG(0x00011800080000B0ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull))
105#define CVMX_GMXX_RXX_UDD_SKP(offset, block_id) \
106	 CVMX_ADD_IO_SEG(0x0001180008000048ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull))
107#define CVMX_GMXX_RX_BP_DROPX(offset, block_id) \
108	 CVMX_ADD_IO_SEG(0x0001180008000420ull + (((offset) & 3) * 8) + (((block_id) & 1) * 0x8000000ull))
109#define CVMX_GMXX_RX_BP_OFFX(offset, block_id) \
110	 CVMX_ADD_IO_SEG(0x0001180008000460ull + (((offset) & 3) * 8) + (((block_id) & 1) * 0x8000000ull))
111#define CVMX_GMXX_RX_BP_ONX(offset, block_id) \
112	 CVMX_ADD_IO_SEG(0x0001180008000440ull + (((offset) & 3) * 8) + (((block_id) & 1) * 0x8000000ull))
113#define CVMX_GMXX_RX_HG2_STATUS(block_id) \
114	 CVMX_ADD_IO_SEG(0x0001180008000548ull + (((block_id) & 1) * 0x8000000ull))
115#define CVMX_GMXX_RX_PASS_EN(block_id) \
116	 CVMX_ADD_IO_SEG(0x00011800080005F8ull + (((block_id) & 1) * 0x8000000ull))
117#define CVMX_GMXX_RX_PASS_MAPX(offset, block_id) \
118	 CVMX_ADD_IO_SEG(0x0001180008000600ull + (((offset) & 15) * 8) + (((block_id) & 1) * 0x8000000ull))
119#define CVMX_GMXX_RX_PRTS(block_id) \
120	 CVMX_ADD_IO_SEG(0x0001180008000410ull + (((block_id) & 1) * 0x8000000ull))
121#define CVMX_GMXX_RX_PRT_INFO(block_id) \
122	 CVMX_ADD_IO_SEG(0x00011800080004E8ull + (((block_id) & 1) * 0x8000000ull))
123#define CVMX_GMXX_RX_TX_STATUS(block_id) \
124	 CVMX_ADD_IO_SEG(0x00011800080007E8ull + (((block_id) & 0) * 0x8000000ull))
125#define CVMX_GMXX_RX_XAUI_BAD_COL(block_id) \
126	 CVMX_ADD_IO_SEG(0x0001180008000538ull + (((block_id) & 1) * 0x8000000ull))
127#define CVMX_GMXX_RX_XAUI_CTL(block_id) \
128	 CVMX_ADD_IO_SEG(0x0001180008000530ull + (((block_id) & 1) * 0x8000000ull))
129#define CVMX_GMXX_SMACX(offset, block_id) \
130	 CVMX_ADD_IO_SEG(0x0001180008000230ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull))
131#define CVMX_GMXX_STAT_BP(block_id) \
132	 CVMX_ADD_IO_SEG(0x0001180008000520ull + (((block_id) & 1) * 0x8000000ull))
133#define CVMX_GMXX_TXX_APPEND(offset, block_id) \
134	 CVMX_ADD_IO_SEG(0x0001180008000218ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull))
135#define CVMX_GMXX_TXX_BURST(offset, block_id) \
136	 CVMX_ADD_IO_SEG(0x0001180008000228ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull))
137#define CVMX_GMXX_TXX_CBFC_XOFF(offset, block_id) \
138	 CVMX_ADD_IO_SEG(0x00011800080005A0ull + (((offset) & 0) * 8) + (((block_id) & 1) * 0x8000000ull))
139#define CVMX_GMXX_TXX_CBFC_XON(offset, block_id) \
140	 CVMX_ADD_IO_SEG(0x00011800080005C0ull + (((offset) & 0) * 8) + (((block_id) & 1) * 0x8000000ull))
141#define CVMX_GMXX_TXX_CLK(offset, block_id) \
142	 CVMX_ADD_IO_SEG(0x0001180008000208ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull))
143#define CVMX_GMXX_TXX_CTL(offset, block_id) \
144	 CVMX_ADD_IO_SEG(0x0001180008000270ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull))
145#define CVMX_GMXX_TXX_MIN_PKT(offset, block_id) \
146	 CVMX_ADD_IO_SEG(0x0001180008000240ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull))
147#define CVMX_GMXX_TXX_PAUSE_PKT_INTERVAL(offset, block_id) \
148	 CVMX_ADD_IO_SEG(0x0001180008000248ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull))
149#define CVMX_GMXX_TXX_PAUSE_PKT_TIME(offset, block_id) \
150	 CVMX_ADD_IO_SEG(0x0001180008000238ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull))
151#define CVMX_GMXX_TXX_PAUSE_TOGO(offset, block_id) \
152	 CVMX_ADD_IO_SEG(0x0001180008000258ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull))
153#define CVMX_GMXX_TXX_PAUSE_ZERO(offset, block_id) \
154	 CVMX_ADD_IO_SEG(0x0001180008000260ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull))
155#define CVMX_GMXX_TXX_SGMII_CTL(offset, block_id) \
156	 CVMX_ADD_IO_SEG(0x0001180008000300ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull))
157#define CVMX_GMXX_TXX_SLOT(offset, block_id) \
158	 CVMX_ADD_IO_SEG(0x0001180008000220ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull))
159#define CVMX_GMXX_TXX_SOFT_PAUSE(offset, block_id) \
160	 CVMX_ADD_IO_SEG(0x0001180008000250ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull))
161#define CVMX_GMXX_TXX_STAT0(offset, block_id) \
162	 CVMX_ADD_IO_SEG(0x0001180008000280ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull))
163#define CVMX_GMXX_TXX_STAT1(offset, block_id) \
164	 CVMX_ADD_IO_SEG(0x0001180008000288ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull))
165#define CVMX_GMXX_TXX_STAT2(offset, block_id) \
166	 CVMX_ADD_IO_SEG(0x0001180008000290ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull))
167#define CVMX_GMXX_TXX_STAT3(offset, block_id) \
168	 CVMX_ADD_IO_SEG(0x0001180008000298ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull))
169#define CVMX_GMXX_TXX_STAT4(offset, block_id) \
170	 CVMX_ADD_IO_SEG(0x00011800080002A0ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull))
171#define CVMX_GMXX_TXX_STAT5(offset, block_id) \
172	 CVMX_ADD_IO_SEG(0x00011800080002A8ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull))
173#define CVMX_GMXX_TXX_STAT6(offset, block_id) \
174	 CVMX_ADD_IO_SEG(0x00011800080002B0ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull))
175#define CVMX_GMXX_TXX_STAT7(offset, block_id) \
176	 CVMX_ADD_IO_SEG(0x00011800080002B8ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull))
177#define CVMX_GMXX_TXX_STAT8(offset, block_id) \
178	 CVMX_ADD_IO_SEG(0x00011800080002C0ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull))
179#define CVMX_GMXX_TXX_STAT9(offset, block_id) \
180	 CVMX_ADD_IO_SEG(0x00011800080002C8ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull))
181#define CVMX_GMXX_TXX_STATS_CTL(offset, block_id) \
182	 CVMX_ADD_IO_SEG(0x0001180008000268ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull))
183#define CVMX_GMXX_TXX_THRESH(offset, block_id) \
184	 CVMX_ADD_IO_SEG(0x0001180008000210ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull))
185#define CVMX_GMXX_TX_BP(block_id) \
186	 CVMX_ADD_IO_SEG(0x00011800080004D0ull + (((block_id) & 1) * 0x8000000ull))
187#define CVMX_GMXX_TX_CLK_MSKX(offset, block_id) \
188	 CVMX_ADD_IO_SEG(0x0001180008000780ull + (((offset) & 1) * 8) + (((block_id) & 0) * 0x0ull))
189#define CVMX_GMXX_TX_COL_ATTEMPT(block_id) \
190	 CVMX_ADD_IO_SEG(0x0001180008000498ull + (((block_id) & 1) * 0x8000000ull))
191#define CVMX_GMXX_TX_CORRUPT(block_id) \
192	 CVMX_ADD_IO_SEG(0x00011800080004D8ull + (((block_id) & 1) * 0x8000000ull))
193#define CVMX_GMXX_TX_HG2_REG1(block_id) \
194	 CVMX_ADD_IO_SEG(0x0001180008000558ull + (((block_id) & 1) * 0x8000000ull))
195#define CVMX_GMXX_TX_HG2_REG2(block_id) \
196	 CVMX_ADD_IO_SEG(0x0001180008000560ull + (((block_id) & 1) * 0x8000000ull))
197#define CVMX_GMXX_TX_IFG(block_id) \
198	 CVMX_ADD_IO_SEG(0x0001180008000488ull + (((block_id) & 1) * 0x8000000ull))
199#define CVMX_GMXX_TX_INT_EN(block_id) \
200	 CVMX_ADD_IO_SEG(0x0001180008000508ull + (((block_id) & 1) * 0x8000000ull))
201#define CVMX_GMXX_TX_INT_REG(block_id) \
202	 CVMX_ADD_IO_SEG(0x0001180008000500ull + (((block_id) & 1) * 0x8000000ull))
203#define CVMX_GMXX_TX_JAM(block_id) \
204	 CVMX_ADD_IO_SEG(0x0001180008000490ull + (((block_id) & 1) * 0x8000000ull))
205#define CVMX_GMXX_TX_LFSR(block_id) \
206	 CVMX_ADD_IO_SEG(0x00011800080004F8ull + (((block_id) & 1) * 0x8000000ull))
207#define CVMX_GMXX_TX_OVR_BP(block_id) \
208	 CVMX_ADD_IO_SEG(0x00011800080004C8ull + (((block_id) & 1) * 0x8000000ull))
209#define CVMX_GMXX_TX_PAUSE_PKT_DMAC(block_id) \
210	 CVMX_ADD_IO_SEG(0x00011800080004A0ull + (((block_id) & 1) * 0x8000000ull))
211#define CVMX_GMXX_TX_PAUSE_PKT_TYPE(block_id) \
212	 CVMX_ADD_IO_SEG(0x00011800080004A8ull + (((block_id) & 1) * 0x8000000ull))
213#define CVMX_GMXX_TX_PRTS(block_id) \
214	 CVMX_ADD_IO_SEG(0x0001180008000480ull + (((block_id) & 1) * 0x8000000ull))
215#define CVMX_GMXX_TX_SPI_CTL(block_id) \
216	 CVMX_ADD_IO_SEG(0x00011800080004C0ull + (((block_id) & 1) * 0x8000000ull))
217#define CVMX_GMXX_TX_SPI_DRAIN(block_id) \
218	 CVMX_ADD_IO_SEG(0x00011800080004E0ull + (((block_id) & 1) * 0x8000000ull))
219#define CVMX_GMXX_TX_SPI_MAX(block_id) \
220	 CVMX_ADD_IO_SEG(0x00011800080004B0ull + (((block_id) & 1) * 0x8000000ull))
221#define CVMX_GMXX_TX_SPI_ROUNDX(offset, block_id) \
222	 CVMX_ADD_IO_SEG(0x0001180008000680ull + (((offset) & 31) * 8) + (((block_id) & 1) * 0x8000000ull))
223#define CVMX_GMXX_TX_SPI_THRESH(block_id) \
224	 CVMX_ADD_IO_SEG(0x00011800080004B8ull + (((block_id) & 1) * 0x8000000ull))
225#define CVMX_GMXX_TX_XAUI_CTL(block_id) \
226	 CVMX_ADD_IO_SEG(0x0001180008000528ull + (((block_id) & 1) * 0x8000000ull))
227#define CVMX_GMXX_XAUI_EXT_LOOPBACK(block_id) \
228	 CVMX_ADD_IO_SEG(0x0001180008000540ull + (((block_id) & 1) * 0x8000000ull))
229
230union cvmx_gmxx_bad_reg {
231	uint64_t u64;
232	struct cvmx_gmxx_bad_reg_s {
233		uint64_t reserved_31_63:33;
234		uint64_t inb_nxa:4;
235		uint64_t statovr:1;
236		uint64_t loststat:4;
237		uint64_t reserved_18_21:4;
238		uint64_t out_ovr:16;
239		uint64_t ncb_ovr:1;
240		uint64_t out_col:1;
241	} s;
242	struct cvmx_gmxx_bad_reg_cn30xx {
243		uint64_t reserved_31_63:33;
244		uint64_t inb_nxa:4;
245		uint64_t statovr:1;
246		uint64_t reserved_25_25:1;
247		uint64_t loststat:3;
248		uint64_t reserved_5_21:17;
249		uint64_t out_ovr:3;
250		uint64_t reserved_0_1:2;
251	} cn30xx;
252	struct cvmx_gmxx_bad_reg_cn30xx cn31xx;
253	struct cvmx_gmxx_bad_reg_s cn38xx;
254	struct cvmx_gmxx_bad_reg_s cn38xxp2;
255	struct cvmx_gmxx_bad_reg_cn30xx cn50xx;
256	struct cvmx_gmxx_bad_reg_cn52xx {
257		uint64_t reserved_31_63:33;
258		uint64_t inb_nxa:4;
259		uint64_t statovr:1;
260		uint64_t loststat:4;
261		uint64_t reserved_6_21:16;
262		uint64_t out_ovr:4;
263		uint64_t reserved_0_1:2;
264	} cn52xx;
265	struct cvmx_gmxx_bad_reg_cn52xx cn52xxp1;
266	struct cvmx_gmxx_bad_reg_cn52xx cn56xx;
267	struct cvmx_gmxx_bad_reg_cn52xx cn56xxp1;
268	struct cvmx_gmxx_bad_reg_s cn58xx;
269	struct cvmx_gmxx_bad_reg_s cn58xxp1;
270};
271
272union cvmx_gmxx_bist {
273	uint64_t u64;
274	struct cvmx_gmxx_bist_s {
275		uint64_t reserved_17_63:47;
276		uint64_t status:17;
277	} s;
278	struct cvmx_gmxx_bist_cn30xx {
279		uint64_t reserved_10_63:54;
280		uint64_t status:10;
281	} cn30xx;
282	struct cvmx_gmxx_bist_cn30xx cn31xx;
283	struct cvmx_gmxx_bist_cn30xx cn38xx;
284	struct cvmx_gmxx_bist_cn30xx cn38xxp2;
285	struct cvmx_gmxx_bist_cn50xx {
286		uint64_t reserved_12_63:52;
287		uint64_t status:12;
288	} cn50xx;
289	struct cvmx_gmxx_bist_cn52xx {
290		uint64_t reserved_16_63:48;
291		uint64_t status:16;
292	} cn52xx;
293	struct cvmx_gmxx_bist_cn52xx cn52xxp1;
294	struct cvmx_gmxx_bist_cn52xx cn56xx;
295	struct cvmx_gmxx_bist_cn52xx cn56xxp1;
296	struct cvmx_gmxx_bist_s cn58xx;
297	struct cvmx_gmxx_bist_s cn58xxp1;
298};
299
300union cvmx_gmxx_clk_en {
301	uint64_t u64;
302	struct cvmx_gmxx_clk_en_s {
303		uint64_t reserved_1_63:63;
304		uint64_t clk_en:1;
305	} s;
306	struct cvmx_gmxx_clk_en_s cn52xx;
307	struct cvmx_gmxx_clk_en_s cn52xxp1;
308	struct cvmx_gmxx_clk_en_s cn56xx;
309	struct cvmx_gmxx_clk_en_s cn56xxp1;
310};
311
312union cvmx_gmxx_hg2_control {
313	uint64_t u64;
314	struct cvmx_gmxx_hg2_control_s {
315		uint64_t reserved_19_63:45;
316		uint64_t hg2tx_en:1;
317		uint64_t hg2rx_en:1;
318		uint64_t phys_en:1;
319		uint64_t logl_en:16;
320	} s;
321	struct cvmx_gmxx_hg2_control_s cn52xx;
322	struct cvmx_gmxx_hg2_control_s cn52xxp1;
323	struct cvmx_gmxx_hg2_control_s cn56xx;
324};
325
326union cvmx_gmxx_inf_mode {
327	uint64_t u64;
328	struct cvmx_gmxx_inf_mode_s {
329		uint64_t reserved_10_63:54;
330		uint64_t speed:2;
331		uint64_t reserved_6_7:2;
332		uint64_t mode:2;
333		uint64_t reserved_3_3:1;
334		uint64_t p0mii:1;
335		uint64_t en:1;
336		uint64_t type:1;
337	} s;
338	struct cvmx_gmxx_inf_mode_cn30xx {
339		uint64_t reserved_3_63:61;
340		uint64_t p0mii:1;
341		uint64_t en:1;
342		uint64_t type:1;
343	} cn30xx;
344	struct cvmx_gmxx_inf_mode_cn31xx {
345		uint64_t reserved_2_63:62;
346		uint64_t en:1;
347		uint64_t type:1;
348	} cn31xx;
349	struct cvmx_gmxx_inf_mode_cn31xx cn38xx;
350	struct cvmx_gmxx_inf_mode_cn31xx cn38xxp2;
351	struct cvmx_gmxx_inf_mode_cn30xx cn50xx;
352	struct cvmx_gmxx_inf_mode_cn52xx {
353		uint64_t reserved_10_63:54;
354		uint64_t speed:2;
355		uint64_t reserved_6_7:2;
356		uint64_t mode:2;
357		uint64_t reserved_2_3:2;
358		uint64_t en:1;
359		uint64_t type:1;
360	} cn52xx;
361	struct cvmx_gmxx_inf_mode_cn52xx cn52xxp1;
362	struct cvmx_gmxx_inf_mode_cn52xx cn56xx;
363	struct cvmx_gmxx_inf_mode_cn52xx cn56xxp1;
364	struct cvmx_gmxx_inf_mode_cn31xx cn58xx;
365	struct cvmx_gmxx_inf_mode_cn31xx cn58xxp1;
366};
367
368union cvmx_gmxx_nxa_adr {
369	uint64_t u64;
370	struct cvmx_gmxx_nxa_adr_s {
371		uint64_t reserved_6_63:58;
372		uint64_t prt:6;
373	} s;
374	struct cvmx_gmxx_nxa_adr_s cn30xx;
375	struct cvmx_gmxx_nxa_adr_s cn31xx;
376	struct cvmx_gmxx_nxa_adr_s cn38xx;
377	struct cvmx_gmxx_nxa_adr_s cn38xxp2;
378	struct cvmx_gmxx_nxa_adr_s cn50xx;
379	struct cvmx_gmxx_nxa_adr_s cn52xx;
380	struct cvmx_gmxx_nxa_adr_s cn52xxp1;
381	struct cvmx_gmxx_nxa_adr_s cn56xx;
382	struct cvmx_gmxx_nxa_adr_s cn56xxp1;
383	struct cvmx_gmxx_nxa_adr_s cn58xx;
384	struct cvmx_gmxx_nxa_adr_s cn58xxp1;
385};
386
387union cvmx_gmxx_prtx_cbfc_ctl {
388	uint64_t u64;
389	struct cvmx_gmxx_prtx_cbfc_ctl_s {
390		uint64_t phys_en:16;
391		uint64_t logl_en:16;
392		uint64_t phys_bp:16;
393		uint64_t reserved_4_15:12;
394		uint64_t bck_en:1;
395		uint64_t drp_en:1;
396		uint64_t tx_en:1;
397		uint64_t rx_en:1;
398	} s;
399	struct cvmx_gmxx_prtx_cbfc_ctl_s cn52xx;
400	struct cvmx_gmxx_prtx_cbfc_ctl_s cn56xx;
401};
402
403union cvmx_gmxx_prtx_cfg {
404	uint64_t u64;
405	struct cvmx_gmxx_prtx_cfg_s {
406		uint64_t reserved_14_63:50;
407		uint64_t tx_idle:1;
408		uint64_t rx_idle:1;
409		uint64_t reserved_9_11:3;
410		uint64_t speed_msb:1;
411		uint64_t reserved_4_7:4;
412		uint64_t slottime:1;
413		uint64_t duplex:1;
414		uint64_t speed:1;
415		uint64_t en:1;
416	} s;
417	struct cvmx_gmxx_prtx_cfg_cn30xx {
418		uint64_t reserved_4_63:60;
419		uint64_t slottime:1;
420		uint64_t duplex:1;
421		uint64_t speed:1;
422		uint64_t en:1;
423	} cn30xx;
424	struct cvmx_gmxx_prtx_cfg_cn30xx cn31xx;
425	struct cvmx_gmxx_prtx_cfg_cn30xx cn38xx;
426	struct cvmx_gmxx_prtx_cfg_cn30xx cn38xxp2;
427	struct cvmx_gmxx_prtx_cfg_cn30xx cn50xx;
428	struct cvmx_gmxx_prtx_cfg_s cn52xx;
429	struct cvmx_gmxx_prtx_cfg_s cn52xxp1;
430	struct cvmx_gmxx_prtx_cfg_s cn56xx;
431	struct cvmx_gmxx_prtx_cfg_s cn56xxp1;
432	struct cvmx_gmxx_prtx_cfg_cn30xx cn58xx;
433	struct cvmx_gmxx_prtx_cfg_cn30xx cn58xxp1;
434};
435
436union cvmx_gmxx_rxx_adr_cam0 {
437	uint64_t u64;
438	struct cvmx_gmxx_rxx_adr_cam0_s {
439		uint64_t adr:64;
440	} s;
441	struct cvmx_gmxx_rxx_adr_cam0_s cn30xx;
442	struct cvmx_gmxx_rxx_adr_cam0_s cn31xx;
443	struct cvmx_gmxx_rxx_adr_cam0_s cn38xx;
444	struct cvmx_gmxx_rxx_adr_cam0_s cn38xxp2;
445	struct cvmx_gmxx_rxx_adr_cam0_s cn50xx;
446	struct cvmx_gmxx_rxx_adr_cam0_s cn52xx;
447	struct cvmx_gmxx_rxx_adr_cam0_s cn52xxp1;
448	struct cvmx_gmxx_rxx_adr_cam0_s cn56xx;
449	struct cvmx_gmxx_rxx_adr_cam0_s cn56xxp1;
450	struct cvmx_gmxx_rxx_adr_cam0_s cn58xx;
451	struct cvmx_gmxx_rxx_adr_cam0_s cn58xxp1;
452};
453
454union cvmx_gmxx_rxx_adr_cam1 {
455	uint64_t u64;
456	struct cvmx_gmxx_rxx_adr_cam1_s {
457		uint64_t adr:64;
458	} s;
459	struct cvmx_gmxx_rxx_adr_cam1_s cn30xx;
460	struct cvmx_gmxx_rxx_adr_cam1_s cn31xx;
461	struct cvmx_gmxx_rxx_adr_cam1_s cn38xx;
462	struct cvmx_gmxx_rxx_adr_cam1_s cn38xxp2;
463	struct cvmx_gmxx_rxx_adr_cam1_s cn50xx;
464	struct cvmx_gmxx_rxx_adr_cam1_s cn52xx;
465	struct cvmx_gmxx_rxx_adr_cam1_s cn52xxp1;
466	struct cvmx_gmxx_rxx_adr_cam1_s cn56xx;
467	struct cvmx_gmxx_rxx_adr_cam1_s cn56xxp1;
468	struct cvmx_gmxx_rxx_adr_cam1_s cn58xx;
469	struct cvmx_gmxx_rxx_adr_cam1_s cn58xxp1;
470};
471
472union cvmx_gmxx_rxx_adr_cam2 {
473	uint64_t u64;
474	struct cvmx_gmxx_rxx_adr_cam2_s {
475		uint64_t adr:64;
476	} s;
477	struct cvmx_gmxx_rxx_adr_cam2_s cn30xx;
478	struct cvmx_gmxx_rxx_adr_cam2_s cn31xx;
479	struct cvmx_gmxx_rxx_adr_cam2_s cn38xx;
480	struct cvmx_gmxx_rxx_adr_cam2_s cn38xxp2;
481	struct cvmx_gmxx_rxx_adr_cam2_s cn50xx;
482	struct cvmx_gmxx_rxx_adr_cam2_s cn52xx;
483	struct cvmx_gmxx_rxx_adr_cam2_s cn52xxp1;
484	struct cvmx_gmxx_rxx_adr_cam2_s cn56xx;
485	struct cvmx_gmxx_rxx_adr_cam2_s cn56xxp1;
486	struct cvmx_gmxx_rxx_adr_cam2_s cn58xx;
487	struct cvmx_gmxx_rxx_adr_cam2_s cn58xxp1;
488};
489
490union cvmx_gmxx_rxx_adr_cam3 {
491	uint64_t u64;
492	struct cvmx_gmxx_rxx_adr_cam3_s {
493		uint64_t adr:64;
494	} s;
495	struct cvmx_gmxx_rxx_adr_cam3_s cn30xx;
496	struct cvmx_gmxx_rxx_adr_cam3_s cn31xx;
497	struct cvmx_gmxx_rxx_adr_cam3_s cn38xx;
498	struct cvmx_gmxx_rxx_adr_cam3_s cn38xxp2;
499	struct cvmx_gmxx_rxx_adr_cam3_s cn50xx;
500	struct cvmx_gmxx_rxx_adr_cam3_s cn52xx;
501	struct cvmx_gmxx_rxx_adr_cam3_s cn52xxp1;
502	struct cvmx_gmxx_rxx_adr_cam3_s cn56xx;
503	struct cvmx_gmxx_rxx_adr_cam3_s cn56xxp1;
504	struct cvmx_gmxx_rxx_adr_cam3_s cn58xx;
505	struct cvmx_gmxx_rxx_adr_cam3_s cn58xxp1;
506};
507
508union cvmx_gmxx_rxx_adr_cam4 {
509	uint64_t u64;
510	struct cvmx_gmxx_rxx_adr_cam4_s {
511		uint64_t adr:64;
512	} s;
513	struct cvmx_gmxx_rxx_adr_cam4_s cn30xx;
514	struct cvmx_gmxx_rxx_adr_cam4_s cn31xx;
515	struct cvmx_gmxx_rxx_adr_cam4_s cn38xx;
516	struct cvmx_gmxx_rxx_adr_cam4_s cn38xxp2;
517	struct cvmx_gmxx_rxx_adr_cam4_s cn50xx;
518	struct cvmx_gmxx_rxx_adr_cam4_s cn52xx;
519	struct cvmx_gmxx_rxx_adr_cam4_s cn52xxp1;
520	struct cvmx_gmxx_rxx_adr_cam4_s cn56xx;
521	struct cvmx_gmxx_rxx_adr_cam4_s cn56xxp1;
522	struct cvmx_gmxx_rxx_adr_cam4_s cn58xx;
523	struct cvmx_gmxx_rxx_adr_cam4_s cn58xxp1;
524};
525
526union cvmx_gmxx_rxx_adr_cam5 {
527	uint64_t u64;
528	struct cvmx_gmxx_rxx_adr_cam5_s {
529		uint64_t adr:64;
530	} s;
531	struct cvmx_gmxx_rxx_adr_cam5_s cn30xx;
532	struct cvmx_gmxx_rxx_adr_cam5_s cn31xx;
533	struct cvmx_gmxx_rxx_adr_cam5_s cn38xx;
534	struct cvmx_gmxx_rxx_adr_cam5_s cn38xxp2;
535	struct cvmx_gmxx_rxx_adr_cam5_s cn50xx;
536	struct cvmx_gmxx_rxx_adr_cam5_s cn52xx;
537	struct cvmx_gmxx_rxx_adr_cam5_s cn52xxp1;
538	struct cvmx_gmxx_rxx_adr_cam5_s cn56xx;
539	struct cvmx_gmxx_rxx_adr_cam5_s cn56xxp1;
540	struct cvmx_gmxx_rxx_adr_cam5_s cn58xx;
541	struct cvmx_gmxx_rxx_adr_cam5_s cn58xxp1;
542};
543
544union cvmx_gmxx_rxx_adr_cam_en {
545	uint64_t u64;
546	struct cvmx_gmxx_rxx_adr_cam_en_s {
547		uint64_t reserved_8_63:56;
548		uint64_t en:8;
549	} s;
550	struct cvmx_gmxx_rxx_adr_cam_en_s cn30xx;
551	struct cvmx_gmxx_rxx_adr_cam_en_s cn31xx;
552	struct cvmx_gmxx_rxx_adr_cam_en_s cn38xx;
553	struct cvmx_gmxx_rxx_adr_cam_en_s cn38xxp2;
554	struct cvmx_gmxx_rxx_adr_cam_en_s cn50xx;
555	struct cvmx_gmxx_rxx_adr_cam_en_s cn52xx;
556	struct cvmx_gmxx_rxx_adr_cam_en_s cn52xxp1;
557	struct cvmx_gmxx_rxx_adr_cam_en_s cn56xx;
558	struct cvmx_gmxx_rxx_adr_cam_en_s cn56xxp1;
559	struct cvmx_gmxx_rxx_adr_cam_en_s cn58xx;
560	struct cvmx_gmxx_rxx_adr_cam_en_s cn58xxp1;
561};
562
563union cvmx_gmxx_rxx_adr_ctl {
564	uint64_t u64;
565	struct cvmx_gmxx_rxx_adr_ctl_s {
566		uint64_t reserved_4_63:60;
567		uint64_t cam_mode:1;
568		uint64_t mcst:2;
569		uint64_t bcst:1;
570	} s;
571	struct cvmx_gmxx_rxx_adr_ctl_s cn30xx;
572	struct cvmx_gmxx_rxx_adr_ctl_s cn31xx;
573	struct cvmx_gmxx_rxx_adr_ctl_s cn38xx;
574	struct cvmx_gmxx_rxx_adr_ctl_s cn38xxp2;
575	struct cvmx_gmxx_rxx_adr_ctl_s cn50xx;
576	struct cvmx_gmxx_rxx_adr_ctl_s cn52xx;
577	struct cvmx_gmxx_rxx_adr_ctl_s cn52xxp1;
578	struct cvmx_gmxx_rxx_adr_ctl_s cn56xx;
579	struct cvmx_gmxx_rxx_adr_ctl_s cn56xxp1;
580	struct cvmx_gmxx_rxx_adr_ctl_s cn58xx;
581	struct cvmx_gmxx_rxx_adr_ctl_s cn58xxp1;
582};
583
584union cvmx_gmxx_rxx_decision {
585	uint64_t u64;
586	struct cvmx_gmxx_rxx_decision_s {
587		uint64_t reserved_5_63:59;
588		uint64_t cnt:5;
589	} s;
590	struct cvmx_gmxx_rxx_decision_s cn30xx;
591	struct cvmx_gmxx_rxx_decision_s cn31xx;
592	struct cvmx_gmxx_rxx_decision_s cn38xx;
593	struct cvmx_gmxx_rxx_decision_s cn38xxp2;
594	struct cvmx_gmxx_rxx_decision_s cn50xx;
595	struct cvmx_gmxx_rxx_decision_s cn52xx;
596	struct cvmx_gmxx_rxx_decision_s cn52xxp1;
597	struct cvmx_gmxx_rxx_decision_s cn56xx;
598	struct cvmx_gmxx_rxx_decision_s cn56xxp1;
599	struct cvmx_gmxx_rxx_decision_s cn58xx;
600	struct cvmx_gmxx_rxx_decision_s cn58xxp1;
601};
602
603union cvmx_gmxx_rxx_frm_chk {
604	uint64_t u64;
605	struct cvmx_gmxx_rxx_frm_chk_s {
606		uint64_t reserved_10_63:54;
607		uint64_t niberr:1;
608		uint64_t skperr:1;
609		uint64_t rcverr:1;
610		uint64_t lenerr:1;
611		uint64_t alnerr:1;
612		uint64_t fcserr:1;
613		uint64_t jabber:1;
614		uint64_t maxerr:1;
615		uint64_t carext:1;
616		uint64_t minerr:1;
617	} s;
618	struct cvmx_gmxx_rxx_frm_chk_s cn30xx;
619	struct cvmx_gmxx_rxx_frm_chk_s cn31xx;
620	struct cvmx_gmxx_rxx_frm_chk_s cn38xx;
621	struct cvmx_gmxx_rxx_frm_chk_s cn38xxp2;
622	struct cvmx_gmxx_rxx_frm_chk_cn50xx {
623		uint64_t reserved_10_63:54;
624		uint64_t niberr:1;
625		uint64_t skperr:1;
626		uint64_t rcverr:1;
627		uint64_t reserved_6_6:1;
628		uint64_t alnerr:1;
629		uint64_t fcserr:1;
630		uint64_t jabber:1;
631		uint64_t reserved_2_2:1;
632		uint64_t carext:1;
633		uint64_t reserved_0_0:1;
634	} cn50xx;
635	struct cvmx_gmxx_rxx_frm_chk_cn52xx {
636		uint64_t reserved_9_63:55;
637		uint64_t skperr:1;
638		uint64_t rcverr:1;
639		uint64_t reserved_5_6:2;
640		uint64_t fcserr:1;
641		uint64_t jabber:1;
642		uint64_t reserved_2_2:1;
643		uint64_t carext:1;
644		uint64_t reserved_0_0:1;
645	} cn52xx;
646	struct cvmx_gmxx_rxx_frm_chk_cn52xx cn52xxp1;
647	struct cvmx_gmxx_rxx_frm_chk_cn52xx cn56xx;
648	struct cvmx_gmxx_rxx_frm_chk_cn52xx cn56xxp1;
649	struct cvmx_gmxx_rxx_frm_chk_s cn58xx;
650	struct cvmx_gmxx_rxx_frm_chk_s cn58xxp1;
651};
652
653union cvmx_gmxx_rxx_frm_ctl {
654	uint64_t u64;
655	struct cvmx_gmxx_rxx_frm_ctl_s {
656		uint64_t reserved_11_63:53;
657		uint64_t null_dis:1;
658		uint64_t pre_align:1;
659		uint64_t pad_len:1;
660		uint64_t vlan_len:1;
661		uint64_t pre_free:1;
662		uint64_t ctl_smac:1;
663		uint64_t ctl_mcst:1;
664		uint64_t ctl_bck:1;
665		uint64_t ctl_drp:1;
666		uint64_t pre_strp:1;
667		uint64_t pre_chk:1;
668	} s;
669	struct cvmx_gmxx_rxx_frm_ctl_cn30xx {
670		uint64_t reserved_9_63:55;
671		uint64_t pad_len:1;
672		uint64_t vlan_len:1;
673		uint64_t pre_free:1;
674		uint64_t ctl_smac:1;
675		uint64_t ctl_mcst:1;
676		uint64_t ctl_bck:1;
677		uint64_t ctl_drp:1;
678		uint64_t pre_strp:1;
679		uint64_t pre_chk:1;
680	} cn30xx;
681	struct cvmx_gmxx_rxx_frm_ctl_cn31xx {
682		uint64_t reserved_8_63:56;
683		uint64_t vlan_len:1;
684		uint64_t pre_free:1;
685		uint64_t ctl_smac:1;
686		uint64_t ctl_mcst:1;
687		uint64_t ctl_bck:1;
688		uint64_t ctl_drp:1;
689		uint64_t pre_strp:1;
690		uint64_t pre_chk:1;
691	} cn31xx;
692	struct cvmx_gmxx_rxx_frm_ctl_cn30xx cn38xx;
693	struct cvmx_gmxx_rxx_frm_ctl_cn31xx cn38xxp2;
694	struct cvmx_gmxx_rxx_frm_ctl_cn50xx {
695		uint64_t reserved_11_63:53;
696		uint64_t null_dis:1;
697		uint64_t pre_align:1;
698		uint64_t reserved_7_8:2;
699		uint64_t pre_free:1;
700		uint64_t ctl_smac:1;
701		uint64_t ctl_mcst:1;
702		uint64_t ctl_bck:1;
703		uint64_t ctl_drp:1;
704		uint64_t pre_strp:1;
705		uint64_t pre_chk:1;
706	} cn50xx;
707	struct cvmx_gmxx_rxx_frm_ctl_cn50xx cn52xx;
708	struct cvmx_gmxx_rxx_frm_ctl_cn50xx cn52xxp1;
709	struct cvmx_gmxx_rxx_frm_ctl_cn50xx cn56xx;
710	struct cvmx_gmxx_rxx_frm_ctl_cn56xxp1 {
711		uint64_t reserved_10_63:54;
712		uint64_t pre_align:1;
713		uint64_t reserved_7_8:2;
714		uint64_t pre_free:1;
715		uint64_t ctl_smac:1;
716		uint64_t ctl_mcst:1;
717		uint64_t ctl_bck:1;
718		uint64_t ctl_drp:1;
719		uint64_t pre_strp:1;
720		uint64_t pre_chk:1;
721	} cn56xxp1;
722	struct cvmx_gmxx_rxx_frm_ctl_s cn58xx;
723	struct cvmx_gmxx_rxx_frm_ctl_cn30xx cn58xxp1;
724};
725
726union cvmx_gmxx_rxx_frm_max {
727	uint64_t u64;
728	struct cvmx_gmxx_rxx_frm_max_s {
729		uint64_t reserved_16_63:48;
730		uint64_t len:16;
731	} s;
732	struct cvmx_gmxx_rxx_frm_max_s cn30xx;
733	struct cvmx_gmxx_rxx_frm_max_s cn31xx;
734	struct cvmx_gmxx_rxx_frm_max_s cn38xx;
735	struct cvmx_gmxx_rxx_frm_max_s cn38xxp2;
736	struct cvmx_gmxx_rxx_frm_max_s cn58xx;
737	struct cvmx_gmxx_rxx_frm_max_s cn58xxp1;
738};
739
740union cvmx_gmxx_rxx_frm_min {
741	uint64_t u64;
742	struct cvmx_gmxx_rxx_frm_min_s {
743		uint64_t reserved_16_63:48;
744		uint64_t len:16;
745	} s;
746	struct cvmx_gmxx_rxx_frm_min_s cn30xx;
747	struct cvmx_gmxx_rxx_frm_min_s cn31xx;
748	struct cvmx_gmxx_rxx_frm_min_s cn38xx;
749	struct cvmx_gmxx_rxx_frm_min_s cn38xxp2;
750	struct cvmx_gmxx_rxx_frm_min_s cn58xx;
751	struct cvmx_gmxx_rxx_frm_min_s cn58xxp1;
752};
753
754union cvmx_gmxx_rxx_ifg {
755	uint64_t u64;
756	struct cvmx_gmxx_rxx_ifg_s {
757		uint64_t reserved_4_63:60;
758		uint64_t ifg:4;
759	} s;
760	struct cvmx_gmxx_rxx_ifg_s cn30xx;
761	struct cvmx_gmxx_rxx_ifg_s cn31xx;
762	struct cvmx_gmxx_rxx_ifg_s cn38xx;
763	struct cvmx_gmxx_rxx_ifg_s cn38xxp2;
764	struct cvmx_gmxx_rxx_ifg_s cn50xx;
765	struct cvmx_gmxx_rxx_ifg_s cn52xx;
766	struct cvmx_gmxx_rxx_ifg_s cn52xxp1;
767	struct cvmx_gmxx_rxx_ifg_s cn56xx;
768	struct cvmx_gmxx_rxx_ifg_s cn56xxp1;
769	struct cvmx_gmxx_rxx_ifg_s cn58xx;
770	struct cvmx_gmxx_rxx_ifg_s cn58xxp1;
771};
772
773union cvmx_gmxx_rxx_int_en {
774	uint64_t u64;
775	struct cvmx_gmxx_rxx_int_en_s {
776		uint64_t reserved_29_63:35;
777		uint64_t hg2cc:1;
778		uint64_t hg2fld:1;
779		uint64_t undat:1;
780		uint64_t uneop:1;
781		uint64_t unsop:1;
782		uint64_t bad_term:1;
783		uint64_t bad_seq:1;
784		uint64_t rem_fault:1;
785		uint64_t loc_fault:1;
786		uint64_t pause_drp:1;
787		uint64_t phy_dupx:1;
788		uint64_t phy_spd:1;
789		uint64_t phy_link:1;
790		uint64_t ifgerr:1;
791		uint64_t coldet:1;
792		uint64_t falerr:1;
793		uint64_t rsverr:1;
794		uint64_t pcterr:1;
795		uint64_t ovrerr:1;
796		uint64_t niberr:1;
797		uint64_t skperr:1;
798		uint64_t rcverr:1;
799		uint64_t lenerr:1;
800		uint64_t alnerr:1;
801		uint64_t fcserr:1;
802		uint64_t jabber:1;
803		uint64_t maxerr:1;
804		uint64_t carext:1;
805		uint64_t minerr:1;
806	} s;
807	struct cvmx_gmxx_rxx_int_en_cn30xx {
808		uint64_t reserved_19_63:45;
809		uint64_t phy_dupx:1;
810		uint64_t phy_spd:1;
811		uint64_t phy_link:1;
812		uint64_t ifgerr:1;
813		uint64_t coldet:1;
814		uint64_t falerr:1;
815		uint64_t rsverr:1;
816		uint64_t pcterr:1;
817		uint64_t ovrerr:1;
818		uint64_t niberr:1;
819		uint64_t skperr:1;
820		uint64_t rcverr:1;
821		uint64_t lenerr:1;
822		uint64_t alnerr:1;
823		uint64_t fcserr:1;
824		uint64_t jabber:1;
825		uint64_t maxerr:1;
826		uint64_t carext:1;
827		uint64_t minerr:1;
828	} cn30xx;
829	struct cvmx_gmxx_rxx_int_en_cn30xx cn31xx;
830	struct cvmx_gmxx_rxx_int_en_cn30xx cn38xx;
831	struct cvmx_gmxx_rxx_int_en_cn30xx cn38xxp2;
832	struct cvmx_gmxx_rxx_int_en_cn50xx {
833		uint64_t reserved_20_63:44;
834		uint64_t pause_drp:1;
835		uint64_t phy_dupx:1;
836		uint64_t phy_spd:1;
837		uint64_t phy_link:1;
838		uint64_t ifgerr:1;
839		uint64_t coldet:1;
840		uint64_t falerr:1;
841		uint64_t rsverr:1;
842		uint64_t pcterr:1;
843		uint64_t ovrerr:1;
844		uint64_t niberr:1;
845		uint64_t skperr:1;
846		uint64_t rcverr:1;
847		uint64_t reserved_6_6:1;
848		uint64_t alnerr:1;
849		uint64_t fcserr:1;
850		uint64_t jabber:1;
851		uint64_t reserved_2_2:1;
852		uint64_t carext:1;
853		uint64_t reserved_0_0:1;
854	} cn50xx;
855	struct cvmx_gmxx_rxx_int_en_cn52xx {
856		uint64_t reserved_29_63:35;
857		uint64_t hg2cc:1;
858		uint64_t hg2fld:1;
859		uint64_t undat:1;
860		uint64_t uneop:1;
861		uint64_t unsop:1;
862		uint64_t bad_term:1;
863		uint64_t bad_seq:1;
864		uint64_t rem_fault:1;
865		uint64_t loc_fault:1;
866		uint64_t pause_drp:1;
867		uint64_t reserved_16_18:3;
868		uint64_t ifgerr:1;
869		uint64_t coldet:1;
870		uint64_t falerr:1;
871		uint64_t rsverr:1;
872		uint64_t pcterr:1;
873		uint64_t ovrerr:1;
874		uint64_t reserved_9_9:1;
875		uint64_t skperr:1;
876		uint64_t rcverr:1;
877		uint64_t reserved_5_6:2;
878		uint64_t fcserr:1;
879		uint64_t jabber:1;
880		uint64_t reserved_2_2:1;
881		uint64_t carext:1;
882		uint64_t reserved_0_0:1;
883	} cn52xx;
884	struct cvmx_gmxx_rxx_int_en_cn52xx cn52xxp1;
885	struct cvmx_gmxx_rxx_int_en_cn52xx cn56xx;
886	struct cvmx_gmxx_rxx_int_en_cn56xxp1 {
887		uint64_t reserved_27_63:37;
888		uint64_t undat:1;
889		uint64_t uneop:1;
890		uint64_t unsop:1;
891		uint64_t bad_term:1;
892		uint64_t bad_seq:1;
893		uint64_t rem_fault:1;
894		uint64_t loc_fault:1;
895		uint64_t pause_drp:1;
896		uint64_t reserved_16_18:3;
897		uint64_t ifgerr:1;
898		uint64_t coldet:1;
899		uint64_t falerr:1;
900		uint64_t rsverr:1;
901		uint64_t pcterr:1;
902		uint64_t ovrerr:1;
903		uint64_t reserved_9_9:1;
904		uint64_t skperr:1;
905		uint64_t rcverr:1;
906		uint64_t reserved_5_6:2;
907		uint64_t fcserr:1;
908		uint64_t jabber:1;
909		uint64_t reserved_2_2:1;
910		uint64_t carext:1;
911		uint64_t reserved_0_0:1;
912	} cn56xxp1;
913	struct cvmx_gmxx_rxx_int_en_cn58xx {
914		uint64_t reserved_20_63:44;
915		uint64_t pause_drp:1;
916		uint64_t phy_dupx:1;
917		uint64_t phy_spd:1;
918		uint64_t phy_link:1;
919		uint64_t ifgerr:1;
920		uint64_t coldet:1;
921		uint64_t falerr:1;
922		uint64_t rsverr:1;
923		uint64_t pcterr:1;
924		uint64_t ovrerr:1;
925		uint64_t niberr:1;
926		uint64_t skperr:1;
927		uint64_t rcverr:1;
928		uint64_t lenerr:1;
929		uint64_t alnerr:1;
930		uint64_t fcserr:1;
931		uint64_t jabber:1;
932		uint64_t maxerr:1;
933		uint64_t carext:1;
934		uint64_t minerr:1;
935	} cn58xx;
936	struct cvmx_gmxx_rxx_int_en_cn58xx cn58xxp1;
937};
938
939union cvmx_gmxx_rxx_int_reg {
940	uint64_t u64;
941	struct cvmx_gmxx_rxx_int_reg_s {
942		uint64_t reserved_29_63:35;
943		uint64_t hg2cc:1;
944		uint64_t hg2fld:1;
945		uint64_t undat:1;
946		uint64_t uneop:1;
947		uint64_t unsop:1;
948		uint64_t bad_term:1;
949		uint64_t bad_seq:1;
950		uint64_t rem_fault:1;
951		uint64_t loc_fault:1;
952		uint64_t pause_drp:1;
953		uint64_t phy_dupx:1;
954		uint64_t phy_spd:1;
955		uint64_t phy_link:1;
956		uint64_t ifgerr:1;
957		uint64_t coldet:1;
958		uint64_t falerr:1;
959		uint64_t rsverr:1;
960		uint64_t pcterr:1;
961		uint64_t ovrerr:1;
962		uint64_t niberr:1;
963		uint64_t skperr:1;
964		uint64_t rcverr:1;
965		uint64_t lenerr:1;
966		uint64_t alnerr:1;
967		uint64_t fcserr:1;
968		uint64_t jabber:1;
969		uint64_t maxerr:1;
970		uint64_t carext:1;
971		uint64_t minerr:1;
972	} s;
973	struct cvmx_gmxx_rxx_int_reg_cn30xx {
974		uint64_t reserved_19_63:45;
975		uint64_t phy_dupx:1;
976		uint64_t phy_spd:1;
977		uint64_t phy_link:1;
978		uint64_t ifgerr:1;
979		uint64_t coldet:1;
980		uint64_t falerr:1;
981		uint64_t rsverr:1;
982		uint64_t pcterr:1;
983		uint64_t ovrerr:1;
984		uint64_t niberr:1;
985		uint64_t skperr:1;
986		uint64_t rcverr:1;
987		uint64_t lenerr:1;
988		uint64_t alnerr:1;
989		uint64_t fcserr:1;
990		uint64_t jabber:1;
991		uint64_t maxerr:1;
992		uint64_t carext:1;
993		uint64_t minerr:1;
994	} cn30xx;
995	struct cvmx_gmxx_rxx_int_reg_cn30xx cn31xx;
996	struct cvmx_gmxx_rxx_int_reg_cn30xx cn38xx;
997	struct cvmx_gmxx_rxx_int_reg_cn30xx cn38xxp2;
998	struct cvmx_gmxx_rxx_int_reg_cn50xx {
999		uint64_t reserved_20_63:44;
1000		uint64_t pause_drp:1;
1001		uint64_t phy_dupx:1;
1002		uint64_t phy_spd:1;
1003		uint64_t phy_link:1;
1004		uint64_t ifgerr:1;
1005		uint64_t coldet:1;
1006		uint64_t falerr:1;
1007		uint64_t rsverr:1;
1008		uint64_t pcterr:1;
1009		uint64_t ovrerr:1;
1010		uint64_t niberr:1;
1011		uint64_t skperr:1;
1012		uint64_t rcverr:1;
1013		uint64_t reserved_6_6:1;
1014		uint64_t alnerr:1;
1015		uint64_t fcserr:1;
1016		uint64_t jabber:1;
1017		uint64_t reserved_2_2:1;
1018		uint64_t carext:1;
1019		uint64_t reserved_0_0:1;
1020	} cn50xx;
1021	struct cvmx_gmxx_rxx_int_reg_cn52xx {
1022		uint64_t reserved_29_63:35;
1023		uint64_t hg2cc:1;
1024		uint64_t hg2fld:1;
1025		uint64_t undat:1;
1026		uint64_t uneop:1;
1027		uint64_t unsop:1;
1028		uint64_t bad_term:1;
1029		uint64_t bad_seq:1;
1030		uint64_t rem_fault:1;
1031		uint64_t loc_fault:1;
1032		uint64_t pause_drp:1;
1033		uint64_t reserved_16_18:3;
1034		uint64_t ifgerr:1;
1035		uint64_t coldet:1;
1036		uint64_t falerr:1;
1037		uint64_t rsverr:1;
1038		uint64_t pcterr:1;
1039		uint64_t ovrerr:1;
1040		uint64_t reserved_9_9:1;
1041		uint64_t skperr:1;
1042		uint64_t rcverr:1;
1043		uint64_t reserved_5_6:2;
1044		uint64_t fcserr:1;
1045		uint64_t jabber:1;
1046		uint64_t reserved_2_2:1;
1047		uint64_t carext:1;
1048		uint64_t reserved_0_0:1;
1049	} cn52xx;
1050	struct cvmx_gmxx_rxx_int_reg_cn52xx cn52xxp1;
1051	struct cvmx_gmxx_rxx_int_reg_cn52xx cn56xx;
1052	struct cvmx_gmxx_rxx_int_reg_cn56xxp1 {
1053		uint64_t reserved_27_63:37;
1054		uint64_t undat:1;
1055		uint64_t uneop:1;
1056		uint64_t unsop:1;
1057		uint64_t bad_term:1;
1058		uint64_t bad_seq:1;
1059		uint64_t rem_fault:1;
1060		uint64_t loc_fault:1;
1061		uint64_t pause_drp:1;
1062		uint64_t reserved_16_18:3;
1063		uint64_t ifgerr:1;
1064		uint64_t coldet:1;
1065		uint64_t falerr:1;
1066		uint64_t rsverr:1;
1067		uint64_t pcterr:1;
1068		uint64_t ovrerr:1;
1069		uint64_t reserved_9_9:1;
1070		uint64_t skperr:1;
1071		uint64_t rcverr:1;
1072		uint64_t reserved_5_6:2;
1073		uint64_t fcserr:1;
1074		uint64_t jabber:1;
1075		uint64_t reserved_2_2:1;
1076		uint64_t carext:1;
1077		uint64_t reserved_0_0:1;
1078	} cn56xxp1;
1079	struct cvmx_gmxx_rxx_int_reg_cn58xx {
1080		uint64_t reserved_20_63:44;
1081		uint64_t pause_drp:1;
1082		uint64_t phy_dupx:1;
1083		uint64_t phy_spd:1;
1084		uint64_t phy_link:1;
1085		uint64_t ifgerr:1;
1086		uint64_t coldet:1;
1087		uint64_t falerr:1;
1088		uint64_t rsverr:1;
1089		uint64_t pcterr:1;
1090		uint64_t ovrerr:1;
1091		uint64_t niberr:1;
1092		uint64_t skperr:1;
1093		uint64_t rcverr:1;
1094		uint64_t lenerr:1;
1095		uint64_t alnerr:1;
1096		uint64_t fcserr:1;
1097		uint64_t jabber:1;
1098		uint64_t maxerr:1;
1099		uint64_t carext:1;
1100		uint64_t minerr:1;
1101	} cn58xx;
1102	struct cvmx_gmxx_rxx_int_reg_cn58xx cn58xxp1;
1103};
1104
1105union cvmx_gmxx_rxx_jabber {
1106	uint64_t u64;
1107	struct cvmx_gmxx_rxx_jabber_s {
1108		uint64_t reserved_16_63:48;
1109		uint64_t cnt:16;
1110	} s;
1111	struct cvmx_gmxx_rxx_jabber_s cn30xx;
1112	struct cvmx_gmxx_rxx_jabber_s cn31xx;
1113	struct cvmx_gmxx_rxx_jabber_s cn38xx;
1114	struct cvmx_gmxx_rxx_jabber_s cn38xxp2;
1115	struct cvmx_gmxx_rxx_jabber_s cn50xx;
1116	struct cvmx_gmxx_rxx_jabber_s cn52xx;
1117	struct cvmx_gmxx_rxx_jabber_s cn52xxp1;
1118	struct cvmx_gmxx_rxx_jabber_s cn56xx;
1119	struct cvmx_gmxx_rxx_jabber_s cn56xxp1;
1120	struct cvmx_gmxx_rxx_jabber_s cn58xx;
1121	struct cvmx_gmxx_rxx_jabber_s cn58xxp1;
1122};
1123
1124union cvmx_gmxx_rxx_pause_drop_time {
1125	uint64_t u64;
1126	struct cvmx_gmxx_rxx_pause_drop_time_s {
1127		uint64_t reserved_16_63:48;
1128		uint64_t status:16;
1129	} s;
1130	struct cvmx_gmxx_rxx_pause_drop_time_s cn50xx;
1131	struct cvmx_gmxx_rxx_pause_drop_time_s cn52xx;
1132	struct cvmx_gmxx_rxx_pause_drop_time_s cn52xxp1;
1133	struct cvmx_gmxx_rxx_pause_drop_time_s cn56xx;
1134	struct cvmx_gmxx_rxx_pause_drop_time_s cn56xxp1;
1135	struct cvmx_gmxx_rxx_pause_drop_time_s cn58xx;
1136	struct cvmx_gmxx_rxx_pause_drop_time_s cn58xxp1;
1137};
1138
1139union cvmx_gmxx_rxx_rx_inbnd {
1140	uint64_t u64;
1141	struct cvmx_gmxx_rxx_rx_inbnd_s {
1142		uint64_t reserved_4_63:60;
1143		uint64_t duplex:1;
1144		uint64_t speed:2;
1145		uint64_t status:1;
1146	} s;
1147	struct cvmx_gmxx_rxx_rx_inbnd_s cn30xx;
1148	struct cvmx_gmxx_rxx_rx_inbnd_s cn31xx;
1149	struct cvmx_gmxx_rxx_rx_inbnd_s cn38xx;
1150	struct cvmx_gmxx_rxx_rx_inbnd_s cn38xxp2;
1151	struct cvmx_gmxx_rxx_rx_inbnd_s cn50xx;
1152	struct cvmx_gmxx_rxx_rx_inbnd_s cn58xx;
1153	struct cvmx_gmxx_rxx_rx_inbnd_s cn58xxp1;
1154};
1155
1156union cvmx_gmxx_rxx_stats_ctl {
1157	uint64_t u64;
1158	struct cvmx_gmxx_rxx_stats_ctl_s {
1159		uint64_t reserved_1_63:63;
1160		uint64_t rd_clr:1;
1161	} s;
1162	struct cvmx_gmxx_rxx_stats_ctl_s cn30xx;
1163	struct cvmx_gmxx_rxx_stats_ctl_s cn31xx;
1164	struct cvmx_gmxx_rxx_stats_ctl_s cn38xx;
1165	struct cvmx_gmxx_rxx_stats_ctl_s cn38xxp2;
1166	struct cvmx_gmxx_rxx_stats_ctl_s cn50xx;
1167	struct cvmx_gmxx_rxx_stats_ctl_s cn52xx;
1168	struct cvmx_gmxx_rxx_stats_ctl_s cn52xxp1;
1169	struct cvmx_gmxx_rxx_stats_ctl_s cn56xx;
1170	struct cvmx_gmxx_rxx_stats_ctl_s cn56xxp1;
1171	struct cvmx_gmxx_rxx_stats_ctl_s cn58xx;
1172	struct cvmx_gmxx_rxx_stats_ctl_s cn58xxp1;
1173};
1174
1175union cvmx_gmxx_rxx_stats_octs {
1176	uint64_t u64;
1177	struct cvmx_gmxx_rxx_stats_octs_s {
1178		uint64_t reserved_48_63:16;
1179		uint64_t cnt:48;
1180	} s;
1181	struct cvmx_gmxx_rxx_stats_octs_s cn30xx;
1182	struct cvmx_gmxx_rxx_stats_octs_s cn31xx;
1183	struct cvmx_gmxx_rxx_stats_octs_s cn38xx;
1184	struct cvmx_gmxx_rxx_stats_octs_s cn38xxp2;
1185	struct cvmx_gmxx_rxx_stats_octs_s cn50xx;
1186	struct cvmx_gmxx_rxx_stats_octs_s cn52xx;
1187	struct cvmx_gmxx_rxx_stats_octs_s cn52xxp1;
1188	struct cvmx_gmxx_rxx_stats_octs_s cn56xx;
1189	struct cvmx_gmxx_rxx_stats_octs_s cn56xxp1;
1190	struct cvmx_gmxx_rxx_stats_octs_s cn58xx;
1191	struct cvmx_gmxx_rxx_stats_octs_s cn58xxp1;
1192};
1193
1194union cvmx_gmxx_rxx_stats_octs_ctl {
1195	uint64_t u64;
1196	struct cvmx_gmxx_rxx_stats_octs_ctl_s {
1197		uint64_t reserved_48_63:16;
1198		uint64_t cnt:48;
1199	} s;
1200	struct cvmx_gmxx_rxx_stats_octs_ctl_s cn30xx;
1201	struct cvmx_gmxx_rxx_stats_octs_ctl_s cn31xx;
1202	struct cvmx_gmxx_rxx_stats_octs_ctl_s cn38xx;
1203	struct cvmx_gmxx_rxx_stats_octs_ctl_s cn38xxp2;
1204	struct cvmx_gmxx_rxx_stats_octs_ctl_s cn50xx;
1205	struct cvmx_gmxx_rxx_stats_octs_ctl_s cn52xx;
1206	struct cvmx_gmxx_rxx_stats_octs_ctl_s cn52xxp1;
1207	struct cvmx_gmxx_rxx_stats_octs_ctl_s cn56xx;
1208	struct cvmx_gmxx_rxx_stats_octs_ctl_s cn56xxp1;
1209	struct cvmx_gmxx_rxx_stats_octs_ctl_s cn58xx;
1210	struct cvmx_gmxx_rxx_stats_octs_ctl_s cn58xxp1;
1211};
1212
1213union cvmx_gmxx_rxx_stats_octs_dmac {
1214	uint64_t u64;
1215	struct cvmx_gmxx_rxx_stats_octs_dmac_s {
1216		uint64_t reserved_48_63:16;
1217		uint64_t cnt:48;
1218	} s;
1219	struct cvmx_gmxx_rxx_stats_octs_dmac_s cn30xx;
1220	struct cvmx_gmxx_rxx_stats_octs_dmac_s cn31xx;
1221	struct cvmx_gmxx_rxx_stats_octs_dmac_s cn38xx;
1222	struct cvmx_gmxx_rxx_stats_octs_dmac_s cn38xxp2;
1223	struct cvmx_gmxx_rxx_stats_octs_dmac_s cn50xx;
1224	struct cvmx_gmxx_rxx_stats_octs_dmac_s cn52xx;
1225	struct cvmx_gmxx_rxx_stats_octs_dmac_s cn52xxp1;
1226	struct cvmx_gmxx_rxx_stats_octs_dmac_s cn56xx;
1227	struct cvmx_gmxx_rxx_stats_octs_dmac_s cn56xxp1;
1228	struct cvmx_gmxx_rxx_stats_octs_dmac_s cn58xx;
1229	struct cvmx_gmxx_rxx_stats_octs_dmac_s cn58xxp1;
1230};
1231
1232union cvmx_gmxx_rxx_stats_octs_drp {
1233	uint64_t u64;
1234	struct cvmx_gmxx_rxx_stats_octs_drp_s {
1235		uint64_t reserved_48_63:16;
1236		uint64_t cnt:48;
1237	} s;
1238	struct cvmx_gmxx_rxx_stats_octs_drp_s cn30xx;
1239	struct cvmx_gmxx_rxx_stats_octs_drp_s cn31xx;
1240	struct cvmx_gmxx_rxx_stats_octs_drp_s cn38xx;
1241	struct cvmx_gmxx_rxx_stats_octs_drp_s cn38xxp2;
1242	struct cvmx_gmxx_rxx_stats_octs_drp_s cn50xx;
1243	struct cvmx_gmxx_rxx_stats_octs_drp_s cn52xx;
1244	struct cvmx_gmxx_rxx_stats_octs_drp_s cn52xxp1;
1245	struct cvmx_gmxx_rxx_stats_octs_drp_s cn56xx;
1246	struct cvmx_gmxx_rxx_stats_octs_drp_s cn56xxp1;
1247	struct cvmx_gmxx_rxx_stats_octs_drp_s cn58xx;
1248	struct cvmx_gmxx_rxx_stats_octs_drp_s cn58xxp1;
1249};
1250
1251union cvmx_gmxx_rxx_stats_pkts {
1252	uint64_t u64;
1253	struct cvmx_gmxx_rxx_stats_pkts_s {
1254		uint64_t reserved_32_63:32;
1255		uint64_t cnt:32;
1256	} s;
1257	struct cvmx_gmxx_rxx_stats_pkts_s cn30xx;
1258	struct cvmx_gmxx_rxx_stats_pkts_s cn31xx;
1259	struct cvmx_gmxx_rxx_stats_pkts_s cn38xx;
1260	struct cvmx_gmxx_rxx_stats_pkts_s cn38xxp2;
1261	struct cvmx_gmxx_rxx_stats_pkts_s cn50xx;
1262	struct cvmx_gmxx_rxx_stats_pkts_s cn52xx;
1263	struct cvmx_gmxx_rxx_stats_pkts_s cn52xxp1;
1264	struct cvmx_gmxx_rxx_stats_pkts_s cn56xx;
1265	struct cvmx_gmxx_rxx_stats_pkts_s cn56xxp1;
1266	struct cvmx_gmxx_rxx_stats_pkts_s cn58xx;
1267	struct cvmx_gmxx_rxx_stats_pkts_s cn58xxp1;
1268};
1269
1270union cvmx_gmxx_rxx_stats_pkts_bad {
1271	uint64_t u64;
1272	struct cvmx_gmxx_rxx_stats_pkts_bad_s {
1273		uint64_t reserved_32_63:32;
1274		uint64_t cnt:32;
1275	} s;
1276	struct cvmx_gmxx_rxx_stats_pkts_bad_s cn30xx;
1277	struct cvmx_gmxx_rxx_stats_pkts_bad_s cn31xx;
1278	struct cvmx_gmxx_rxx_stats_pkts_bad_s cn38xx;
1279	struct cvmx_gmxx_rxx_stats_pkts_bad_s cn38xxp2;
1280	struct cvmx_gmxx_rxx_stats_pkts_bad_s cn50xx;
1281	struct cvmx_gmxx_rxx_stats_pkts_bad_s cn52xx;
1282	struct cvmx_gmxx_rxx_stats_pkts_bad_s cn52xxp1;
1283	struct cvmx_gmxx_rxx_stats_pkts_bad_s cn56xx;
1284	struct cvmx_gmxx_rxx_stats_pkts_bad_s cn56xxp1;
1285	struct cvmx_gmxx_rxx_stats_pkts_bad_s cn58xx;
1286	struct cvmx_gmxx_rxx_stats_pkts_bad_s cn58xxp1;
1287};
1288
1289union cvmx_gmxx_rxx_stats_pkts_ctl {
1290	uint64_t u64;
1291	struct cvmx_gmxx_rxx_stats_pkts_ctl_s {
1292		uint64_t reserved_32_63:32;
1293		uint64_t cnt:32;
1294	} s;
1295	struct cvmx_gmxx_rxx_stats_pkts_ctl_s cn30xx;
1296	struct cvmx_gmxx_rxx_stats_pkts_ctl_s cn31xx;
1297	struct cvmx_gmxx_rxx_stats_pkts_ctl_s cn38xx;
1298	struct cvmx_gmxx_rxx_stats_pkts_ctl_s cn38xxp2;
1299	struct cvmx_gmxx_rxx_stats_pkts_ctl_s cn50xx;
1300	struct cvmx_gmxx_rxx_stats_pkts_ctl_s cn52xx;
1301	struct cvmx_gmxx_rxx_stats_pkts_ctl_s cn52xxp1;
1302	struct cvmx_gmxx_rxx_stats_pkts_ctl_s cn56xx;
1303	struct cvmx_gmxx_rxx_stats_pkts_ctl_s cn56xxp1;
1304	struct cvmx_gmxx_rxx_stats_pkts_ctl_s cn58xx;
1305	struct cvmx_gmxx_rxx_stats_pkts_ctl_s cn58xxp1;
1306};
1307
1308union cvmx_gmxx_rxx_stats_pkts_dmac {
1309	uint64_t u64;
1310	struct cvmx_gmxx_rxx_stats_pkts_dmac_s {
1311		uint64_t reserved_32_63:32;
1312		uint64_t cnt:32;
1313	} s;
1314	struct cvmx_gmxx_rxx_stats_pkts_dmac_s cn30xx;
1315	struct cvmx_gmxx_rxx_stats_pkts_dmac_s cn31xx;
1316	struct cvmx_gmxx_rxx_stats_pkts_dmac_s cn38xx;
1317	struct cvmx_gmxx_rxx_stats_pkts_dmac_s cn38xxp2;
1318	struct cvmx_gmxx_rxx_stats_pkts_dmac_s cn50xx;
1319	struct cvmx_gmxx_rxx_stats_pkts_dmac_s cn52xx;
1320	struct cvmx_gmxx_rxx_stats_pkts_dmac_s cn52xxp1;
1321	struct cvmx_gmxx_rxx_stats_pkts_dmac_s cn56xx;
1322	struct cvmx_gmxx_rxx_stats_pkts_dmac_s cn56xxp1;
1323	struct cvmx_gmxx_rxx_stats_pkts_dmac_s cn58xx;
1324	struct cvmx_gmxx_rxx_stats_pkts_dmac_s cn58xxp1;
1325};
1326
1327union cvmx_gmxx_rxx_stats_pkts_drp {
1328	uint64_t u64;
1329	struct cvmx_gmxx_rxx_stats_pkts_drp_s {
1330		uint64_t reserved_32_63:32;
1331		uint64_t cnt:32;
1332	} s;
1333	struct cvmx_gmxx_rxx_stats_pkts_drp_s cn30xx;
1334	struct cvmx_gmxx_rxx_stats_pkts_drp_s cn31xx;
1335	struct cvmx_gmxx_rxx_stats_pkts_drp_s cn38xx;
1336	struct cvmx_gmxx_rxx_stats_pkts_drp_s cn38xxp2;
1337	struct cvmx_gmxx_rxx_stats_pkts_drp_s cn50xx;
1338	struct cvmx_gmxx_rxx_stats_pkts_drp_s cn52xx;
1339	struct cvmx_gmxx_rxx_stats_pkts_drp_s cn52xxp1;
1340	struct cvmx_gmxx_rxx_stats_pkts_drp_s cn56xx;
1341	struct cvmx_gmxx_rxx_stats_pkts_drp_s cn56xxp1;
1342	struct cvmx_gmxx_rxx_stats_pkts_drp_s cn58xx;
1343	struct cvmx_gmxx_rxx_stats_pkts_drp_s cn58xxp1;
1344};
1345
1346union cvmx_gmxx_rxx_udd_skp {
1347	uint64_t u64;
1348	struct cvmx_gmxx_rxx_udd_skp_s {
1349		uint64_t reserved_9_63:55;
1350		uint64_t fcssel:1;
1351		uint64_t reserved_7_7:1;
1352		uint64_t len:7;
1353	} s;
1354	struct cvmx_gmxx_rxx_udd_skp_s cn30xx;
1355	struct cvmx_gmxx_rxx_udd_skp_s cn31xx;
1356	struct cvmx_gmxx_rxx_udd_skp_s cn38xx;
1357	struct cvmx_gmxx_rxx_udd_skp_s cn38xxp2;
1358	struct cvmx_gmxx_rxx_udd_skp_s cn50xx;
1359	struct cvmx_gmxx_rxx_udd_skp_s cn52xx;
1360	struct cvmx_gmxx_rxx_udd_skp_s cn52xxp1;
1361	struct cvmx_gmxx_rxx_udd_skp_s cn56xx;
1362	struct cvmx_gmxx_rxx_udd_skp_s cn56xxp1;
1363	struct cvmx_gmxx_rxx_udd_skp_s cn58xx;
1364	struct cvmx_gmxx_rxx_udd_skp_s cn58xxp1;
1365};
1366
1367union cvmx_gmxx_rx_bp_dropx {
1368	uint64_t u64;
1369	struct cvmx_gmxx_rx_bp_dropx_s {
1370		uint64_t reserved_6_63:58;
1371		uint64_t mark:6;
1372	} s;
1373	struct cvmx_gmxx_rx_bp_dropx_s cn30xx;
1374	struct cvmx_gmxx_rx_bp_dropx_s cn31xx;
1375	struct cvmx_gmxx_rx_bp_dropx_s cn38xx;
1376	struct cvmx_gmxx_rx_bp_dropx_s cn38xxp2;
1377	struct cvmx_gmxx_rx_bp_dropx_s cn50xx;
1378	struct cvmx_gmxx_rx_bp_dropx_s cn52xx;
1379	struct cvmx_gmxx_rx_bp_dropx_s cn52xxp1;
1380	struct cvmx_gmxx_rx_bp_dropx_s cn56xx;
1381	struct cvmx_gmxx_rx_bp_dropx_s cn56xxp1;
1382	struct cvmx_gmxx_rx_bp_dropx_s cn58xx;
1383	struct cvmx_gmxx_rx_bp_dropx_s cn58xxp1;
1384};
1385
1386union cvmx_gmxx_rx_bp_offx {
1387	uint64_t u64;
1388	struct cvmx_gmxx_rx_bp_offx_s {
1389		uint64_t reserved_6_63:58;
1390		uint64_t mark:6;
1391	} s;
1392	struct cvmx_gmxx_rx_bp_offx_s cn30xx;
1393	struct cvmx_gmxx_rx_bp_offx_s cn31xx;
1394	struct cvmx_gmxx_rx_bp_offx_s cn38xx;
1395	struct cvmx_gmxx_rx_bp_offx_s cn38xxp2;
1396	struct cvmx_gmxx_rx_bp_offx_s cn50xx;
1397	struct cvmx_gmxx_rx_bp_offx_s cn52xx;
1398	struct cvmx_gmxx_rx_bp_offx_s cn52xxp1;
1399	struct cvmx_gmxx_rx_bp_offx_s cn56xx;
1400	struct cvmx_gmxx_rx_bp_offx_s cn56xxp1;
1401	struct cvmx_gmxx_rx_bp_offx_s cn58xx;
1402	struct cvmx_gmxx_rx_bp_offx_s cn58xxp1;
1403};
1404
1405union cvmx_gmxx_rx_bp_onx {
1406	uint64_t u64;
1407	struct cvmx_gmxx_rx_bp_onx_s {
1408		uint64_t reserved_9_63:55;
1409		uint64_t mark:9;
1410	} s;
1411	struct cvmx_gmxx_rx_bp_onx_s cn30xx;
1412	struct cvmx_gmxx_rx_bp_onx_s cn31xx;
1413	struct cvmx_gmxx_rx_bp_onx_s cn38xx;
1414	struct cvmx_gmxx_rx_bp_onx_s cn38xxp2;
1415	struct cvmx_gmxx_rx_bp_onx_s cn50xx;
1416	struct cvmx_gmxx_rx_bp_onx_s cn52xx;
1417	struct cvmx_gmxx_rx_bp_onx_s cn52xxp1;
1418	struct cvmx_gmxx_rx_bp_onx_s cn56xx;
1419	struct cvmx_gmxx_rx_bp_onx_s cn56xxp1;
1420	struct cvmx_gmxx_rx_bp_onx_s cn58xx;
1421	struct cvmx_gmxx_rx_bp_onx_s cn58xxp1;
1422};
1423
1424union cvmx_gmxx_rx_hg2_status {
1425	uint64_t u64;
1426	struct cvmx_gmxx_rx_hg2_status_s {
1427		uint64_t reserved_48_63:16;
1428		uint64_t phtim2go:16;
1429		uint64_t xof:16;
1430		uint64_t lgtim2go:16;
1431	} s;
1432	struct cvmx_gmxx_rx_hg2_status_s cn52xx;
1433	struct cvmx_gmxx_rx_hg2_status_s cn52xxp1;
1434	struct cvmx_gmxx_rx_hg2_status_s cn56xx;
1435};
1436
1437union cvmx_gmxx_rx_pass_en {
1438	uint64_t u64;
1439	struct cvmx_gmxx_rx_pass_en_s {
1440		uint64_t reserved_16_63:48;
1441		uint64_t en:16;
1442	} s;
1443	struct cvmx_gmxx_rx_pass_en_s cn38xx;
1444	struct cvmx_gmxx_rx_pass_en_s cn38xxp2;
1445	struct cvmx_gmxx_rx_pass_en_s cn58xx;
1446	struct cvmx_gmxx_rx_pass_en_s cn58xxp1;
1447};
1448
1449union cvmx_gmxx_rx_pass_mapx {
1450	uint64_t u64;
1451	struct cvmx_gmxx_rx_pass_mapx_s {
1452		uint64_t reserved_4_63:60;
1453		uint64_t dprt:4;
1454	} s;
1455	struct cvmx_gmxx_rx_pass_mapx_s cn38xx;
1456	struct cvmx_gmxx_rx_pass_mapx_s cn38xxp2;
1457	struct cvmx_gmxx_rx_pass_mapx_s cn58xx;
1458	struct cvmx_gmxx_rx_pass_mapx_s cn58xxp1;
1459};
1460
1461union cvmx_gmxx_rx_prt_info {
1462	uint64_t u64;
1463	struct cvmx_gmxx_rx_prt_info_s {
1464		uint64_t reserved_32_63:32;
1465		uint64_t drop:16;
1466		uint64_t commit:16;
1467	} s;
1468	struct cvmx_gmxx_rx_prt_info_cn30xx {
1469		uint64_t reserved_19_63:45;
1470		uint64_t drop:3;
1471		uint64_t reserved_3_15:13;
1472		uint64_t commit:3;
1473	} cn30xx;
1474	struct cvmx_gmxx_rx_prt_info_cn30xx cn31xx;
1475	struct cvmx_gmxx_rx_prt_info_s cn38xx;
1476	struct cvmx_gmxx_rx_prt_info_cn30xx cn50xx;
1477	struct cvmx_gmxx_rx_prt_info_cn52xx {
1478		uint64_t reserved_20_63:44;
1479		uint64_t drop:4;
1480		uint64_t reserved_4_15:12;
1481		uint64_t commit:4;
1482	} cn52xx;
1483	struct cvmx_gmxx_rx_prt_info_cn52xx cn52xxp1;
1484	struct cvmx_gmxx_rx_prt_info_cn52xx cn56xx;
1485	struct cvmx_gmxx_rx_prt_info_cn52xx cn56xxp1;
1486	struct cvmx_gmxx_rx_prt_info_s cn58xx;
1487	struct cvmx_gmxx_rx_prt_info_s cn58xxp1;
1488};
1489
1490union cvmx_gmxx_rx_prts {
1491	uint64_t u64;
1492	struct cvmx_gmxx_rx_prts_s {
1493		uint64_t reserved_3_63:61;
1494		uint64_t prts:3;
1495	} s;
1496	struct cvmx_gmxx_rx_prts_s cn30xx;
1497	struct cvmx_gmxx_rx_prts_s cn31xx;
1498	struct cvmx_gmxx_rx_prts_s cn38xx;
1499	struct cvmx_gmxx_rx_prts_s cn38xxp2;
1500	struct cvmx_gmxx_rx_prts_s cn50xx;
1501	struct cvmx_gmxx_rx_prts_s cn52xx;
1502	struct cvmx_gmxx_rx_prts_s cn52xxp1;
1503	struct cvmx_gmxx_rx_prts_s cn56xx;
1504	struct cvmx_gmxx_rx_prts_s cn56xxp1;
1505	struct cvmx_gmxx_rx_prts_s cn58xx;
1506	struct cvmx_gmxx_rx_prts_s cn58xxp1;
1507};
1508
1509union cvmx_gmxx_rx_tx_status {
1510	uint64_t u64;
1511	struct cvmx_gmxx_rx_tx_status_s {
1512		uint64_t reserved_7_63:57;
1513		uint64_t tx:3;
1514		uint64_t reserved_3_3:1;
1515		uint64_t rx:3;
1516	} s;
1517	struct cvmx_gmxx_rx_tx_status_s cn30xx;
1518	struct cvmx_gmxx_rx_tx_status_s cn31xx;
1519	struct cvmx_gmxx_rx_tx_status_s cn50xx;
1520};
1521
1522union cvmx_gmxx_rx_xaui_bad_col {
1523	uint64_t u64;
1524	struct cvmx_gmxx_rx_xaui_bad_col_s {
1525		uint64_t reserved_40_63:24;
1526		uint64_t val:1;
1527		uint64_t state:3;
1528		uint64_t lane_rxc:4;
1529		uint64_t lane_rxd:32;
1530	} s;
1531	struct cvmx_gmxx_rx_xaui_bad_col_s cn52xx;
1532	struct cvmx_gmxx_rx_xaui_bad_col_s cn52xxp1;
1533	struct cvmx_gmxx_rx_xaui_bad_col_s cn56xx;
1534	struct cvmx_gmxx_rx_xaui_bad_col_s cn56xxp1;
1535};
1536
1537union cvmx_gmxx_rx_xaui_ctl {
1538	uint64_t u64;
1539	struct cvmx_gmxx_rx_xaui_ctl_s {
1540		uint64_t reserved_2_63:62;
1541		uint64_t status:2;
1542	} s;
1543	struct cvmx_gmxx_rx_xaui_ctl_s cn52xx;
1544	struct cvmx_gmxx_rx_xaui_ctl_s cn52xxp1;
1545	struct cvmx_gmxx_rx_xaui_ctl_s cn56xx;
1546	struct cvmx_gmxx_rx_xaui_ctl_s cn56xxp1;
1547};
1548
1549union cvmx_gmxx_smacx {
1550	uint64_t u64;
1551	struct cvmx_gmxx_smacx_s {
1552		uint64_t reserved_48_63:16;
1553		uint64_t smac:48;
1554	} s;
1555	struct cvmx_gmxx_smacx_s cn30xx;
1556	struct cvmx_gmxx_smacx_s cn31xx;
1557	struct cvmx_gmxx_smacx_s cn38xx;
1558	struct cvmx_gmxx_smacx_s cn38xxp2;
1559	struct cvmx_gmxx_smacx_s cn50xx;
1560	struct cvmx_gmxx_smacx_s cn52xx;
1561	struct cvmx_gmxx_smacx_s cn52xxp1;
1562	struct cvmx_gmxx_smacx_s cn56xx;
1563	struct cvmx_gmxx_smacx_s cn56xxp1;
1564	struct cvmx_gmxx_smacx_s cn58xx;
1565	struct cvmx_gmxx_smacx_s cn58xxp1;
1566};
1567
1568union cvmx_gmxx_stat_bp {
1569	uint64_t u64;
1570	struct cvmx_gmxx_stat_bp_s {
1571		uint64_t reserved_17_63:47;
1572		uint64_t bp:1;
1573		uint64_t cnt:16;
1574	} s;
1575	struct cvmx_gmxx_stat_bp_s cn30xx;
1576	struct cvmx_gmxx_stat_bp_s cn31xx;
1577	struct cvmx_gmxx_stat_bp_s cn38xx;
1578	struct cvmx_gmxx_stat_bp_s cn38xxp2;
1579	struct cvmx_gmxx_stat_bp_s cn50xx;
1580	struct cvmx_gmxx_stat_bp_s cn52xx;
1581	struct cvmx_gmxx_stat_bp_s cn52xxp1;
1582	struct cvmx_gmxx_stat_bp_s cn56xx;
1583	struct cvmx_gmxx_stat_bp_s cn56xxp1;
1584	struct cvmx_gmxx_stat_bp_s cn58xx;
1585	struct cvmx_gmxx_stat_bp_s cn58xxp1;
1586};
1587
1588union cvmx_gmxx_txx_append {
1589	uint64_t u64;
1590	struct cvmx_gmxx_txx_append_s {
1591		uint64_t reserved_4_63:60;
1592		uint64_t force_fcs:1;
1593		uint64_t fcs:1;
1594		uint64_t pad:1;
1595		uint64_t preamble:1;
1596	} s;
1597	struct cvmx_gmxx_txx_append_s cn30xx;
1598	struct cvmx_gmxx_txx_append_s cn31xx;
1599	struct cvmx_gmxx_txx_append_s cn38xx;
1600	struct cvmx_gmxx_txx_append_s cn38xxp2;
1601	struct cvmx_gmxx_txx_append_s cn50xx;
1602	struct cvmx_gmxx_txx_append_s cn52xx;
1603	struct cvmx_gmxx_txx_append_s cn52xxp1;
1604	struct cvmx_gmxx_txx_append_s cn56xx;
1605	struct cvmx_gmxx_txx_append_s cn56xxp1;
1606	struct cvmx_gmxx_txx_append_s cn58xx;
1607	struct cvmx_gmxx_txx_append_s cn58xxp1;
1608};
1609
1610union cvmx_gmxx_txx_burst {
1611	uint64_t u64;
1612	struct cvmx_gmxx_txx_burst_s {
1613		uint64_t reserved_16_63:48;
1614		uint64_t burst:16;
1615	} s;
1616	struct cvmx_gmxx_txx_burst_s cn30xx;
1617	struct cvmx_gmxx_txx_burst_s cn31xx;
1618	struct cvmx_gmxx_txx_burst_s cn38xx;
1619	struct cvmx_gmxx_txx_burst_s cn38xxp2;
1620	struct cvmx_gmxx_txx_burst_s cn50xx;
1621	struct cvmx_gmxx_txx_burst_s cn52xx;
1622	struct cvmx_gmxx_txx_burst_s cn52xxp1;
1623	struct cvmx_gmxx_txx_burst_s cn56xx;
1624	struct cvmx_gmxx_txx_burst_s cn56xxp1;
1625	struct cvmx_gmxx_txx_burst_s cn58xx;
1626	struct cvmx_gmxx_txx_burst_s cn58xxp1;
1627};
1628
1629union cvmx_gmxx_txx_cbfc_xoff {
1630	uint64_t u64;
1631	struct cvmx_gmxx_txx_cbfc_xoff_s {
1632		uint64_t reserved_16_63:48;
1633		uint64_t xoff:16;
1634	} s;
1635	struct cvmx_gmxx_txx_cbfc_xoff_s cn52xx;
1636	struct cvmx_gmxx_txx_cbfc_xoff_s cn56xx;
1637};
1638
1639union cvmx_gmxx_txx_cbfc_xon {
1640	uint64_t u64;
1641	struct cvmx_gmxx_txx_cbfc_xon_s {
1642		uint64_t reserved_16_63:48;
1643		uint64_t xon:16;
1644	} s;
1645	struct cvmx_gmxx_txx_cbfc_xon_s cn52xx;
1646	struct cvmx_gmxx_txx_cbfc_xon_s cn56xx;
1647};
1648
1649union cvmx_gmxx_txx_clk {
1650	uint64_t u64;
1651	struct cvmx_gmxx_txx_clk_s {
1652		uint64_t reserved_6_63:58;
1653		uint64_t clk_cnt:6;
1654	} s;
1655	struct cvmx_gmxx_txx_clk_s cn30xx;
1656	struct cvmx_gmxx_txx_clk_s cn31xx;
1657	struct cvmx_gmxx_txx_clk_s cn38xx;
1658	struct cvmx_gmxx_txx_clk_s cn38xxp2;
1659	struct cvmx_gmxx_txx_clk_s cn50xx;
1660	struct cvmx_gmxx_txx_clk_s cn58xx;
1661	struct cvmx_gmxx_txx_clk_s cn58xxp1;
1662};
1663
1664union cvmx_gmxx_txx_ctl {
1665	uint64_t u64;
1666	struct cvmx_gmxx_txx_ctl_s {
1667		uint64_t reserved_2_63:62;
1668		uint64_t xsdef_en:1;
1669		uint64_t xscol_en:1;
1670	} s;
1671	struct cvmx_gmxx_txx_ctl_s cn30xx;
1672	struct cvmx_gmxx_txx_ctl_s cn31xx;
1673	struct cvmx_gmxx_txx_ctl_s cn38xx;
1674	struct cvmx_gmxx_txx_ctl_s cn38xxp2;
1675	struct cvmx_gmxx_txx_ctl_s cn50xx;
1676	struct cvmx_gmxx_txx_ctl_s cn52xx;
1677	struct cvmx_gmxx_txx_ctl_s cn52xxp1;
1678	struct cvmx_gmxx_txx_ctl_s cn56xx;
1679	struct cvmx_gmxx_txx_ctl_s cn56xxp1;
1680	struct cvmx_gmxx_txx_ctl_s cn58xx;
1681	struct cvmx_gmxx_txx_ctl_s cn58xxp1;
1682};
1683
1684union cvmx_gmxx_txx_min_pkt {
1685	uint64_t u64;
1686	struct cvmx_gmxx_txx_min_pkt_s {
1687		uint64_t reserved_8_63:56;
1688		uint64_t min_size:8;
1689	} s;
1690	struct cvmx_gmxx_txx_min_pkt_s cn30xx;
1691	struct cvmx_gmxx_txx_min_pkt_s cn31xx;
1692	struct cvmx_gmxx_txx_min_pkt_s cn38xx;
1693	struct cvmx_gmxx_txx_min_pkt_s cn38xxp2;
1694	struct cvmx_gmxx_txx_min_pkt_s cn50xx;
1695	struct cvmx_gmxx_txx_min_pkt_s cn52xx;
1696	struct cvmx_gmxx_txx_min_pkt_s cn52xxp1;
1697	struct cvmx_gmxx_txx_min_pkt_s cn56xx;
1698	struct cvmx_gmxx_txx_min_pkt_s cn56xxp1;
1699	struct cvmx_gmxx_txx_min_pkt_s cn58xx;
1700	struct cvmx_gmxx_txx_min_pkt_s cn58xxp1;
1701};
1702
1703union cvmx_gmxx_txx_pause_pkt_interval {
1704	uint64_t u64;
1705	struct cvmx_gmxx_txx_pause_pkt_interval_s {
1706		uint64_t reserved_16_63:48;
1707		uint64_t interval:16;
1708	} s;
1709	struct cvmx_gmxx_txx_pause_pkt_interval_s cn30xx;
1710	struct cvmx_gmxx_txx_pause_pkt_interval_s cn31xx;
1711	struct cvmx_gmxx_txx_pause_pkt_interval_s cn38xx;
1712	struct cvmx_gmxx_txx_pause_pkt_interval_s cn38xxp2;
1713	struct cvmx_gmxx_txx_pause_pkt_interval_s cn50xx;
1714	struct cvmx_gmxx_txx_pause_pkt_interval_s cn52xx;
1715	struct cvmx_gmxx_txx_pause_pkt_interval_s cn52xxp1;
1716	struct cvmx_gmxx_txx_pause_pkt_interval_s cn56xx;
1717	struct cvmx_gmxx_txx_pause_pkt_interval_s cn56xxp1;
1718	struct cvmx_gmxx_txx_pause_pkt_interval_s cn58xx;
1719	struct cvmx_gmxx_txx_pause_pkt_interval_s cn58xxp1;
1720};
1721
1722union cvmx_gmxx_txx_pause_pkt_time {
1723	uint64_t u64;
1724	struct cvmx_gmxx_txx_pause_pkt_time_s {
1725		uint64_t reserved_16_63:48;
1726		uint64_t time:16;
1727	} s;
1728	struct cvmx_gmxx_txx_pause_pkt_time_s cn30xx;
1729	struct cvmx_gmxx_txx_pause_pkt_time_s cn31xx;
1730	struct cvmx_gmxx_txx_pause_pkt_time_s cn38xx;
1731	struct cvmx_gmxx_txx_pause_pkt_time_s cn38xxp2;
1732	struct cvmx_gmxx_txx_pause_pkt_time_s cn50xx;
1733	struct cvmx_gmxx_txx_pause_pkt_time_s cn52xx;
1734	struct cvmx_gmxx_txx_pause_pkt_time_s cn52xxp1;
1735	struct cvmx_gmxx_txx_pause_pkt_time_s cn56xx;
1736	struct cvmx_gmxx_txx_pause_pkt_time_s cn56xxp1;
1737	struct cvmx_gmxx_txx_pause_pkt_time_s cn58xx;
1738	struct cvmx_gmxx_txx_pause_pkt_time_s cn58xxp1;
1739};
1740
1741union cvmx_gmxx_txx_pause_togo {
1742	uint64_t u64;
1743	struct cvmx_gmxx_txx_pause_togo_s {
1744		uint64_t reserved_32_63:32;
1745		uint64_t msg_time:16;
1746		uint64_t time:16;
1747	} s;
1748	struct cvmx_gmxx_txx_pause_togo_cn30xx {
1749		uint64_t reserved_16_63:48;
1750		uint64_t time:16;
1751	} cn30xx;
1752	struct cvmx_gmxx_txx_pause_togo_cn30xx cn31xx;
1753	struct cvmx_gmxx_txx_pause_togo_cn30xx cn38xx;
1754	struct cvmx_gmxx_txx_pause_togo_cn30xx cn38xxp2;
1755	struct cvmx_gmxx_txx_pause_togo_cn30xx cn50xx;
1756	struct cvmx_gmxx_txx_pause_togo_s cn52xx;
1757	struct cvmx_gmxx_txx_pause_togo_s cn52xxp1;
1758	struct cvmx_gmxx_txx_pause_togo_s cn56xx;
1759	struct cvmx_gmxx_txx_pause_togo_cn30xx cn56xxp1;
1760	struct cvmx_gmxx_txx_pause_togo_cn30xx cn58xx;
1761	struct cvmx_gmxx_txx_pause_togo_cn30xx cn58xxp1;
1762};
1763
1764union cvmx_gmxx_txx_pause_zero {
1765	uint64_t u64;
1766	struct cvmx_gmxx_txx_pause_zero_s {
1767		uint64_t reserved_1_63:63;
1768		uint64_t send:1;
1769	} s;
1770	struct cvmx_gmxx_txx_pause_zero_s cn30xx;
1771	struct cvmx_gmxx_txx_pause_zero_s cn31xx;
1772	struct cvmx_gmxx_txx_pause_zero_s cn38xx;
1773	struct cvmx_gmxx_txx_pause_zero_s cn38xxp2;
1774	struct cvmx_gmxx_txx_pause_zero_s cn50xx;
1775	struct cvmx_gmxx_txx_pause_zero_s cn52xx;
1776	struct cvmx_gmxx_txx_pause_zero_s cn52xxp1;
1777	struct cvmx_gmxx_txx_pause_zero_s cn56xx;
1778	struct cvmx_gmxx_txx_pause_zero_s cn56xxp1;
1779	struct cvmx_gmxx_txx_pause_zero_s cn58xx;
1780	struct cvmx_gmxx_txx_pause_zero_s cn58xxp1;
1781};
1782
1783union cvmx_gmxx_txx_sgmii_ctl {
1784	uint64_t u64;
1785	struct cvmx_gmxx_txx_sgmii_ctl_s {
1786		uint64_t reserved_1_63:63;
1787		uint64_t align:1;
1788	} s;
1789	struct cvmx_gmxx_txx_sgmii_ctl_s cn52xx;
1790	struct cvmx_gmxx_txx_sgmii_ctl_s cn52xxp1;
1791	struct cvmx_gmxx_txx_sgmii_ctl_s cn56xx;
1792	struct cvmx_gmxx_txx_sgmii_ctl_s cn56xxp1;
1793};
1794
1795union cvmx_gmxx_txx_slot {
1796	uint64_t u64;
1797	struct cvmx_gmxx_txx_slot_s {
1798		uint64_t reserved_10_63:54;
1799		uint64_t slot:10;
1800	} s;
1801	struct cvmx_gmxx_txx_slot_s cn30xx;
1802	struct cvmx_gmxx_txx_slot_s cn31xx;
1803	struct cvmx_gmxx_txx_slot_s cn38xx;
1804	struct cvmx_gmxx_txx_slot_s cn38xxp2;
1805	struct cvmx_gmxx_txx_slot_s cn50xx;
1806	struct cvmx_gmxx_txx_slot_s cn52xx;
1807	struct cvmx_gmxx_txx_slot_s cn52xxp1;
1808	struct cvmx_gmxx_txx_slot_s cn56xx;
1809	struct cvmx_gmxx_txx_slot_s cn56xxp1;
1810	struct cvmx_gmxx_txx_slot_s cn58xx;
1811	struct cvmx_gmxx_txx_slot_s cn58xxp1;
1812};
1813
1814union cvmx_gmxx_txx_soft_pause {
1815	uint64_t u64;
1816	struct cvmx_gmxx_txx_soft_pause_s {
1817		uint64_t reserved_16_63:48;
1818		uint64_t time:16;
1819	} s;
1820	struct cvmx_gmxx_txx_soft_pause_s cn30xx;
1821	struct cvmx_gmxx_txx_soft_pause_s cn31xx;
1822	struct cvmx_gmxx_txx_soft_pause_s cn38xx;
1823	struct cvmx_gmxx_txx_soft_pause_s cn38xxp2;
1824	struct cvmx_gmxx_txx_soft_pause_s cn50xx;
1825	struct cvmx_gmxx_txx_soft_pause_s cn52xx;
1826	struct cvmx_gmxx_txx_soft_pause_s cn52xxp1;
1827	struct cvmx_gmxx_txx_soft_pause_s cn56xx;
1828	struct cvmx_gmxx_txx_soft_pause_s cn56xxp1;
1829	struct cvmx_gmxx_txx_soft_pause_s cn58xx;
1830	struct cvmx_gmxx_txx_soft_pause_s cn58xxp1;
1831};
1832
1833union cvmx_gmxx_txx_stat0 {
1834	uint64_t u64;
1835	struct cvmx_gmxx_txx_stat0_s {
1836		uint64_t xsdef:32;
1837		uint64_t xscol:32;
1838	} s;
1839	struct cvmx_gmxx_txx_stat0_s cn30xx;
1840	struct cvmx_gmxx_txx_stat0_s cn31xx;
1841	struct cvmx_gmxx_txx_stat0_s cn38xx;
1842	struct cvmx_gmxx_txx_stat0_s cn38xxp2;
1843	struct cvmx_gmxx_txx_stat0_s cn50xx;
1844	struct cvmx_gmxx_txx_stat0_s cn52xx;
1845	struct cvmx_gmxx_txx_stat0_s cn52xxp1;
1846	struct cvmx_gmxx_txx_stat0_s cn56xx;
1847	struct cvmx_gmxx_txx_stat0_s cn56xxp1;
1848	struct cvmx_gmxx_txx_stat0_s cn58xx;
1849	struct cvmx_gmxx_txx_stat0_s cn58xxp1;
1850};
1851
1852union cvmx_gmxx_txx_stat1 {
1853	uint64_t u64;
1854	struct cvmx_gmxx_txx_stat1_s {
1855		uint64_t scol:32;
1856		uint64_t mcol:32;
1857	} s;
1858	struct cvmx_gmxx_txx_stat1_s cn30xx;
1859	struct cvmx_gmxx_txx_stat1_s cn31xx;
1860	struct cvmx_gmxx_txx_stat1_s cn38xx;
1861	struct cvmx_gmxx_txx_stat1_s cn38xxp2;
1862	struct cvmx_gmxx_txx_stat1_s cn50xx;
1863	struct cvmx_gmxx_txx_stat1_s cn52xx;
1864	struct cvmx_gmxx_txx_stat1_s cn52xxp1;
1865	struct cvmx_gmxx_txx_stat1_s cn56xx;
1866	struct cvmx_gmxx_txx_stat1_s cn56xxp1;
1867	struct cvmx_gmxx_txx_stat1_s cn58xx;
1868	struct cvmx_gmxx_txx_stat1_s cn58xxp1;
1869};
1870
1871union cvmx_gmxx_txx_stat2 {
1872	uint64_t u64;
1873	struct cvmx_gmxx_txx_stat2_s {
1874		uint64_t reserved_48_63:16;
1875		uint64_t octs:48;
1876	} s;
1877	struct cvmx_gmxx_txx_stat2_s cn30xx;
1878	struct cvmx_gmxx_txx_stat2_s cn31xx;
1879	struct cvmx_gmxx_txx_stat2_s cn38xx;
1880	struct cvmx_gmxx_txx_stat2_s cn38xxp2;
1881	struct cvmx_gmxx_txx_stat2_s cn50xx;
1882	struct cvmx_gmxx_txx_stat2_s cn52xx;
1883	struct cvmx_gmxx_txx_stat2_s cn52xxp1;
1884	struct cvmx_gmxx_txx_stat2_s cn56xx;
1885	struct cvmx_gmxx_txx_stat2_s cn56xxp1;
1886	struct cvmx_gmxx_txx_stat2_s cn58xx;
1887	struct cvmx_gmxx_txx_stat2_s cn58xxp1;
1888};
1889
1890union cvmx_gmxx_txx_stat3 {
1891	uint64_t u64;
1892	struct cvmx_gmxx_txx_stat3_s {
1893		uint64_t reserved_32_63:32;
1894		uint64_t pkts:32;
1895	} s;
1896	struct cvmx_gmxx_txx_stat3_s cn30xx;
1897	struct cvmx_gmxx_txx_stat3_s cn31xx;
1898	struct cvmx_gmxx_txx_stat3_s cn38xx;
1899	struct cvmx_gmxx_txx_stat3_s cn38xxp2;
1900	struct cvmx_gmxx_txx_stat3_s cn50xx;
1901	struct cvmx_gmxx_txx_stat3_s cn52xx;
1902	struct cvmx_gmxx_txx_stat3_s cn52xxp1;
1903	struct cvmx_gmxx_txx_stat3_s cn56xx;
1904	struct cvmx_gmxx_txx_stat3_s cn56xxp1;
1905	struct cvmx_gmxx_txx_stat3_s cn58xx;
1906	struct cvmx_gmxx_txx_stat3_s cn58xxp1;
1907};
1908
1909union cvmx_gmxx_txx_stat4 {
1910	uint64_t u64;
1911	struct cvmx_gmxx_txx_stat4_s {
1912		uint64_t hist1:32;
1913		uint64_t hist0:32;
1914	} s;
1915	struct cvmx_gmxx_txx_stat4_s cn30xx;
1916	struct cvmx_gmxx_txx_stat4_s cn31xx;
1917	struct cvmx_gmxx_txx_stat4_s cn38xx;
1918	struct cvmx_gmxx_txx_stat4_s cn38xxp2;
1919	struct cvmx_gmxx_txx_stat4_s cn50xx;
1920	struct cvmx_gmxx_txx_stat4_s cn52xx;
1921	struct cvmx_gmxx_txx_stat4_s cn52xxp1;
1922	struct cvmx_gmxx_txx_stat4_s cn56xx;
1923	struct cvmx_gmxx_txx_stat4_s cn56xxp1;
1924	struct cvmx_gmxx_txx_stat4_s cn58xx;
1925	struct cvmx_gmxx_txx_stat4_s cn58xxp1;
1926};
1927
1928union cvmx_gmxx_txx_stat5 {
1929	uint64_t u64;
1930	struct cvmx_gmxx_txx_stat5_s {
1931		uint64_t hist3:32;
1932		uint64_t hist2:32;
1933	} s;
1934	struct cvmx_gmxx_txx_stat5_s cn30xx;
1935	struct cvmx_gmxx_txx_stat5_s cn31xx;
1936	struct cvmx_gmxx_txx_stat5_s cn38xx;
1937	struct cvmx_gmxx_txx_stat5_s cn38xxp2;
1938	struct cvmx_gmxx_txx_stat5_s cn50xx;
1939	struct cvmx_gmxx_txx_stat5_s cn52xx;
1940	struct cvmx_gmxx_txx_stat5_s cn52xxp1;
1941	struct cvmx_gmxx_txx_stat5_s cn56xx;
1942	struct cvmx_gmxx_txx_stat5_s cn56xxp1;
1943	struct cvmx_gmxx_txx_stat5_s cn58xx;
1944	struct cvmx_gmxx_txx_stat5_s cn58xxp1;
1945};
1946
1947union cvmx_gmxx_txx_stat6 {
1948	uint64_t u64;
1949	struct cvmx_gmxx_txx_stat6_s {
1950		uint64_t hist5:32;
1951		uint64_t hist4:32;
1952	} s;
1953	struct cvmx_gmxx_txx_stat6_s cn30xx;
1954	struct cvmx_gmxx_txx_stat6_s cn31xx;
1955	struct cvmx_gmxx_txx_stat6_s cn38xx;
1956	struct cvmx_gmxx_txx_stat6_s cn38xxp2;
1957	struct cvmx_gmxx_txx_stat6_s cn50xx;
1958	struct cvmx_gmxx_txx_stat6_s cn52xx;
1959	struct cvmx_gmxx_txx_stat6_s cn52xxp1;
1960	struct cvmx_gmxx_txx_stat6_s cn56xx;
1961	struct cvmx_gmxx_txx_stat6_s cn56xxp1;
1962	struct cvmx_gmxx_txx_stat6_s cn58xx;
1963	struct cvmx_gmxx_txx_stat6_s cn58xxp1;
1964};
1965
1966union cvmx_gmxx_txx_stat7 {
1967	uint64_t u64;
1968	struct cvmx_gmxx_txx_stat7_s {
1969		uint64_t hist7:32;
1970		uint64_t hist6:32;
1971	} s;
1972	struct cvmx_gmxx_txx_stat7_s cn30xx;
1973	struct cvmx_gmxx_txx_stat7_s cn31xx;
1974	struct cvmx_gmxx_txx_stat7_s cn38xx;
1975	struct cvmx_gmxx_txx_stat7_s cn38xxp2;
1976	struct cvmx_gmxx_txx_stat7_s cn50xx;
1977	struct cvmx_gmxx_txx_stat7_s cn52xx;
1978	struct cvmx_gmxx_txx_stat7_s cn52xxp1;
1979	struct cvmx_gmxx_txx_stat7_s cn56xx;
1980	struct cvmx_gmxx_txx_stat7_s cn56xxp1;
1981	struct cvmx_gmxx_txx_stat7_s cn58xx;
1982	struct cvmx_gmxx_txx_stat7_s cn58xxp1;
1983};
1984
1985union cvmx_gmxx_txx_stat8 {
1986	uint64_t u64;
1987	struct cvmx_gmxx_txx_stat8_s {
1988		uint64_t mcst:32;
1989		uint64_t bcst:32;
1990	} s;
1991	struct cvmx_gmxx_txx_stat8_s cn30xx;
1992	struct cvmx_gmxx_txx_stat8_s cn31xx;
1993	struct cvmx_gmxx_txx_stat8_s cn38xx;
1994	struct cvmx_gmxx_txx_stat8_s cn38xxp2;
1995	struct cvmx_gmxx_txx_stat8_s cn50xx;
1996	struct cvmx_gmxx_txx_stat8_s cn52xx;
1997	struct cvmx_gmxx_txx_stat8_s cn52xxp1;
1998	struct cvmx_gmxx_txx_stat8_s cn56xx;
1999	struct cvmx_gmxx_txx_stat8_s cn56xxp1;
2000	struct cvmx_gmxx_txx_stat8_s cn58xx;
2001	struct cvmx_gmxx_txx_stat8_s cn58xxp1;
2002};
2003
2004union cvmx_gmxx_txx_stat9 {
2005	uint64_t u64;
2006	struct cvmx_gmxx_txx_stat9_s {
2007		uint64_t undflw:32;
2008		uint64_t ctl:32;
2009	} s;
2010	struct cvmx_gmxx_txx_stat9_s cn30xx;
2011	struct cvmx_gmxx_txx_stat9_s cn31xx;
2012	struct cvmx_gmxx_txx_stat9_s cn38xx;
2013	struct cvmx_gmxx_txx_stat9_s cn38xxp2;
2014	struct cvmx_gmxx_txx_stat9_s cn50xx;
2015	struct cvmx_gmxx_txx_stat9_s cn52xx;
2016	struct cvmx_gmxx_txx_stat9_s cn52xxp1;
2017	struct cvmx_gmxx_txx_stat9_s cn56xx;
2018	struct cvmx_gmxx_txx_stat9_s cn56xxp1;
2019	struct cvmx_gmxx_txx_stat9_s cn58xx;
2020	struct cvmx_gmxx_txx_stat9_s cn58xxp1;
2021};
2022
2023union cvmx_gmxx_txx_stats_ctl {
2024	uint64_t u64;
2025	struct cvmx_gmxx_txx_stats_ctl_s {
2026		uint64_t reserved_1_63:63;
2027		uint64_t rd_clr:1;
2028	} s;
2029	struct cvmx_gmxx_txx_stats_ctl_s cn30xx;
2030	struct cvmx_gmxx_txx_stats_ctl_s cn31xx;
2031	struct cvmx_gmxx_txx_stats_ctl_s cn38xx;
2032	struct cvmx_gmxx_txx_stats_ctl_s cn38xxp2;
2033	struct cvmx_gmxx_txx_stats_ctl_s cn50xx;
2034	struct cvmx_gmxx_txx_stats_ctl_s cn52xx;
2035	struct cvmx_gmxx_txx_stats_ctl_s cn52xxp1;
2036	struct cvmx_gmxx_txx_stats_ctl_s cn56xx;
2037	struct cvmx_gmxx_txx_stats_ctl_s cn56xxp1;
2038	struct cvmx_gmxx_txx_stats_ctl_s cn58xx;
2039	struct cvmx_gmxx_txx_stats_ctl_s cn58xxp1;
2040};
2041
2042union cvmx_gmxx_txx_thresh {
2043	uint64_t u64;
2044	struct cvmx_gmxx_txx_thresh_s {
2045		uint64_t reserved_9_63:55;
2046		uint64_t cnt:9;
2047	} s;
2048	struct cvmx_gmxx_txx_thresh_cn30xx {
2049		uint64_t reserved_7_63:57;
2050		uint64_t cnt:7;
2051	} cn30xx;
2052	struct cvmx_gmxx_txx_thresh_cn30xx cn31xx;
2053	struct cvmx_gmxx_txx_thresh_s cn38xx;
2054	struct cvmx_gmxx_txx_thresh_s cn38xxp2;
2055	struct cvmx_gmxx_txx_thresh_cn30xx cn50xx;
2056	struct cvmx_gmxx_txx_thresh_s cn52xx;
2057	struct cvmx_gmxx_txx_thresh_s cn52xxp1;
2058	struct cvmx_gmxx_txx_thresh_s cn56xx;
2059	struct cvmx_gmxx_txx_thresh_s cn56xxp1;
2060	struct cvmx_gmxx_txx_thresh_s cn58xx;
2061	struct cvmx_gmxx_txx_thresh_s cn58xxp1;
2062};
2063
2064union cvmx_gmxx_tx_bp {
2065	uint64_t u64;
2066	struct cvmx_gmxx_tx_bp_s {
2067		uint64_t reserved_4_63:60;
2068		uint64_t bp:4;
2069	} s;
2070	struct cvmx_gmxx_tx_bp_cn30xx {
2071		uint64_t reserved_3_63:61;
2072		uint64_t bp:3;
2073	} cn30xx;
2074	struct cvmx_gmxx_tx_bp_cn30xx cn31xx;
2075	struct cvmx_gmxx_tx_bp_s cn38xx;
2076	struct cvmx_gmxx_tx_bp_s cn38xxp2;
2077	struct cvmx_gmxx_tx_bp_cn30xx cn50xx;
2078	struct cvmx_gmxx_tx_bp_s cn52xx;
2079	struct cvmx_gmxx_tx_bp_s cn52xxp1;
2080	struct cvmx_gmxx_tx_bp_s cn56xx;
2081	struct cvmx_gmxx_tx_bp_s cn56xxp1;
2082	struct cvmx_gmxx_tx_bp_s cn58xx;
2083	struct cvmx_gmxx_tx_bp_s cn58xxp1;
2084};
2085
2086union cvmx_gmxx_tx_clk_mskx {
2087	uint64_t u64;
2088	struct cvmx_gmxx_tx_clk_mskx_s {
2089		uint64_t reserved_1_63:63;
2090		uint64_t msk:1;
2091	} s;
2092	struct cvmx_gmxx_tx_clk_mskx_s cn30xx;
2093	struct cvmx_gmxx_tx_clk_mskx_s cn50xx;
2094};
2095
2096union cvmx_gmxx_tx_col_attempt {
2097	uint64_t u64;
2098	struct cvmx_gmxx_tx_col_attempt_s {
2099		uint64_t reserved_5_63:59;
2100		uint64_t limit:5;
2101	} s;
2102	struct cvmx_gmxx_tx_col_attempt_s cn30xx;
2103	struct cvmx_gmxx_tx_col_attempt_s cn31xx;
2104	struct cvmx_gmxx_tx_col_attempt_s cn38xx;
2105	struct cvmx_gmxx_tx_col_attempt_s cn38xxp2;
2106	struct cvmx_gmxx_tx_col_attempt_s cn50xx;
2107	struct cvmx_gmxx_tx_col_attempt_s cn52xx;
2108	struct cvmx_gmxx_tx_col_attempt_s cn52xxp1;
2109	struct cvmx_gmxx_tx_col_attempt_s cn56xx;
2110	struct cvmx_gmxx_tx_col_attempt_s cn56xxp1;
2111	struct cvmx_gmxx_tx_col_attempt_s cn58xx;
2112	struct cvmx_gmxx_tx_col_attempt_s cn58xxp1;
2113};
2114
2115union cvmx_gmxx_tx_corrupt {
2116	uint64_t u64;
2117	struct cvmx_gmxx_tx_corrupt_s {
2118		uint64_t reserved_4_63:60;
2119		uint64_t corrupt:4;
2120	} s;
2121	struct cvmx_gmxx_tx_corrupt_cn30xx {
2122		uint64_t reserved_3_63:61;
2123		uint64_t corrupt:3;
2124	} cn30xx;
2125	struct cvmx_gmxx_tx_corrupt_cn30xx cn31xx;
2126	struct cvmx_gmxx_tx_corrupt_s cn38xx;
2127	struct cvmx_gmxx_tx_corrupt_s cn38xxp2;
2128	struct cvmx_gmxx_tx_corrupt_cn30xx cn50xx;
2129	struct cvmx_gmxx_tx_corrupt_s cn52xx;
2130	struct cvmx_gmxx_tx_corrupt_s cn52xxp1;
2131	struct cvmx_gmxx_tx_corrupt_s cn56xx;
2132	struct cvmx_gmxx_tx_corrupt_s cn56xxp1;
2133	struct cvmx_gmxx_tx_corrupt_s cn58xx;
2134	struct cvmx_gmxx_tx_corrupt_s cn58xxp1;
2135};
2136
2137union cvmx_gmxx_tx_hg2_reg1 {
2138	uint64_t u64;
2139	struct cvmx_gmxx_tx_hg2_reg1_s {
2140		uint64_t reserved_16_63:48;
2141		uint64_t tx_xof:16;
2142	} s;
2143	struct cvmx_gmxx_tx_hg2_reg1_s cn52xx;
2144	struct cvmx_gmxx_tx_hg2_reg1_s cn52xxp1;
2145	struct cvmx_gmxx_tx_hg2_reg1_s cn56xx;
2146};
2147
2148union cvmx_gmxx_tx_hg2_reg2 {
2149	uint64_t u64;
2150	struct cvmx_gmxx_tx_hg2_reg2_s {
2151		uint64_t reserved_16_63:48;
2152		uint64_t tx_xon:16;
2153	} s;
2154	struct cvmx_gmxx_tx_hg2_reg2_s cn52xx;
2155	struct cvmx_gmxx_tx_hg2_reg2_s cn52xxp1;
2156	struct cvmx_gmxx_tx_hg2_reg2_s cn56xx;
2157};
2158
2159union cvmx_gmxx_tx_ifg {
2160	uint64_t u64;
2161	struct cvmx_gmxx_tx_ifg_s {
2162		uint64_t reserved_8_63:56;
2163		uint64_t ifg2:4;
2164		uint64_t ifg1:4;
2165	} s;
2166	struct cvmx_gmxx_tx_ifg_s cn30xx;
2167	struct cvmx_gmxx_tx_ifg_s cn31xx;
2168	struct cvmx_gmxx_tx_ifg_s cn38xx;
2169	struct cvmx_gmxx_tx_ifg_s cn38xxp2;
2170	struct cvmx_gmxx_tx_ifg_s cn50xx;
2171	struct cvmx_gmxx_tx_ifg_s cn52xx;
2172	struct cvmx_gmxx_tx_ifg_s cn52xxp1;
2173	struct cvmx_gmxx_tx_ifg_s cn56xx;
2174	struct cvmx_gmxx_tx_ifg_s cn56xxp1;
2175	struct cvmx_gmxx_tx_ifg_s cn58xx;
2176	struct cvmx_gmxx_tx_ifg_s cn58xxp1;
2177};
2178
2179union cvmx_gmxx_tx_int_en {
2180	uint64_t u64;
2181	struct cvmx_gmxx_tx_int_en_s {
2182		uint64_t reserved_20_63:44;
2183		uint64_t late_col:4;
2184		uint64_t xsdef:4;
2185		uint64_t xscol:4;
2186		uint64_t reserved_6_7:2;
2187		uint64_t undflw:4;
2188		uint64_t ncb_nxa:1;
2189		uint64_t pko_nxa:1;
2190	} s;
2191	struct cvmx_gmxx_tx_int_en_cn30xx {
2192		uint64_t reserved_19_63:45;
2193		uint64_t late_col:3;
2194		uint64_t reserved_15_15:1;
2195		uint64_t xsdef:3;
2196		uint64_t reserved_11_11:1;
2197		uint64_t xscol:3;
2198		uint64_t reserved_5_7:3;
2199		uint64_t undflw:3;
2200		uint64_t reserved_1_1:1;
2201		uint64_t pko_nxa:1;
2202	} cn30xx;
2203	struct cvmx_gmxx_tx_int_en_cn31xx {
2204		uint64_t reserved_15_63:49;
2205		uint64_t xsdef:3;
2206		uint64_t reserved_11_11:1;
2207		uint64_t xscol:3;
2208		uint64_t reserved_5_7:3;
2209		uint64_t undflw:3;
2210		uint64_t reserved_1_1:1;
2211		uint64_t pko_nxa:1;
2212	} cn31xx;
2213	struct cvmx_gmxx_tx_int_en_s cn38xx;
2214	struct cvmx_gmxx_tx_int_en_cn38xxp2 {
2215		uint64_t reserved_16_63:48;
2216		uint64_t xsdef:4;
2217		uint64_t xscol:4;
2218		uint64_t reserved_6_7:2;
2219		uint64_t undflw:4;
2220		uint64_t ncb_nxa:1;
2221		uint64_t pko_nxa:1;
2222	} cn38xxp2;
2223	struct cvmx_gmxx_tx_int_en_cn30xx cn50xx;
2224	struct cvmx_gmxx_tx_int_en_cn52xx {
2225		uint64_t reserved_20_63:44;
2226		uint64_t late_col:4;
2227		uint64_t xsdef:4;
2228		uint64_t xscol:4;
2229		uint64_t reserved_6_7:2;
2230		uint64_t undflw:4;
2231		uint64_t reserved_1_1:1;
2232		uint64_t pko_nxa:1;
2233	} cn52xx;
2234	struct cvmx_gmxx_tx_int_en_cn52xx cn52xxp1;
2235	struct cvmx_gmxx_tx_int_en_cn52xx cn56xx;
2236	struct cvmx_gmxx_tx_int_en_cn52xx cn56xxp1;
2237	struct cvmx_gmxx_tx_int_en_s cn58xx;
2238	struct cvmx_gmxx_tx_int_en_s cn58xxp1;
2239};
2240
2241union cvmx_gmxx_tx_int_reg {
2242	uint64_t u64;
2243	struct cvmx_gmxx_tx_int_reg_s {
2244		uint64_t reserved_20_63:44;
2245		uint64_t late_col:4;
2246		uint64_t xsdef:4;
2247		uint64_t xscol:4;
2248		uint64_t reserved_6_7:2;
2249		uint64_t undflw:4;
2250		uint64_t ncb_nxa:1;
2251		uint64_t pko_nxa:1;
2252	} s;
2253	struct cvmx_gmxx_tx_int_reg_cn30xx {
2254		uint64_t reserved_19_63:45;
2255		uint64_t late_col:3;
2256		uint64_t reserved_15_15:1;
2257		uint64_t xsdef:3;
2258		uint64_t reserved_11_11:1;
2259		uint64_t xscol:3;
2260		uint64_t reserved_5_7:3;
2261		uint64_t undflw:3;
2262		uint64_t reserved_1_1:1;
2263		uint64_t pko_nxa:1;
2264	} cn30xx;
2265	struct cvmx_gmxx_tx_int_reg_cn31xx {
2266		uint64_t reserved_15_63:49;
2267		uint64_t xsdef:3;
2268		uint64_t reserved_11_11:1;
2269		uint64_t xscol:3;
2270		uint64_t reserved_5_7:3;
2271		uint64_t undflw:3;
2272		uint64_t reserved_1_1:1;
2273		uint64_t pko_nxa:1;
2274	} cn31xx;
2275	struct cvmx_gmxx_tx_int_reg_s cn38xx;
2276	struct cvmx_gmxx_tx_int_reg_cn38xxp2 {
2277		uint64_t reserved_16_63:48;
2278		uint64_t xsdef:4;
2279		uint64_t xscol:4;
2280		uint64_t reserved_6_7:2;
2281		uint64_t undflw:4;
2282		uint64_t ncb_nxa:1;
2283		uint64_t pko_nxa:1;
2284	} cn38xxp2;
2285	struct cvmx_gmxx_tx_int_reg_cn30xx cn50xx;
2286	struct cvmx_gmxx_tx_int_reg_cn52xx {
2287		uint64_t reserved_20_63:44;
2288		uint64_t late_col:4;
2289		uint64_t xsdef:4;
2290		uint64_t xscol:4;
2291		uint64_t reserved_6_7:2;
2292		uint64_t undflw:4;
2293		uint64_t reserved_1_1:1;
2294		uint64_t pko_nxa:1;
2295	} cn52xx;
2296	struct cvmx_gmxx_tx_int_reg_cn52xx cn52xxp1;
2297	struct cvmx_gmxx_tx_int_reg_cn52xx cn56xx;
2298	struct cvmx_gmxx_tx_int_reg_cn52xx cn56xxp1;
2299	struct cvmx_gmxx_tx_int_reg_s cn58xx;
2300	struct cvmx_gmxx_tx_int_reg_s cn58xxp1;
2301};
2302
2303union cvmx_gmxx_tx_jam {
2304	uint64_t u64;
2305	struct cvmx_gmxx_tx_jam_s {
2306		uint64_t reserved_8_63:56;
2307		uint64_t jam:8;
2308	} s;
2309	struct cvmx_gmxx_tx_jam_s cn30xx;
2310	struct cvmx_gmxx_tx_jam_s cn31xx;
2311	struct cvmx_gmxx_tx_jam_s cn38xx;
2312	struct cvmx_gmxx_tx_jam_s cn38xxp2;
2313	struct cvmx_gmxx_tx_jam_s cn50xx;
2314	struct cvmx_gmxx_tx_jam_s cn52xx;
2315	struct cvmx_gmxx_tx_jam_s cn52xxp1;
2316	struct cvmx_gmxx_tx_jam_s cn56xx;
2317	struct cvmx_gmxx_tx_jam_s cn56xxp1;
2318	struct cvmx_gmxx_tx_jam_s cn58xx;
2319	struct cvmx_gmxx_tx_jam_s cn58xxp1;
2320};
2321
2322union cvmx_gmxx_tx_lfsr {
2323	uint64_t u64;
2324	struct cvmx_gmxx_tx_lfsr_s {
2325		uint64_t reserved_16_63:48;
2326		uint64_t lfsr:16;
2327	} s;
2328	struct cvmx_gmxx_tx_lfsr_s cn30xx;
2329	struct cvmx_gmxx_tx_lfsr_s cn31xx;
2330	struct cvmx_gmxx_tx_lfsr_s cn38xx;
2331	struct cvmx_gmxx_tx_lfsr_s cn38xxp2;
2332	struct cvmx_gmxx_tx_lfsr_s cn50xx;
2333	struct cvmx_gmxx_tx_lfsr_s cn52xx;
2334	struct cvmx_gmxx_tx_lfsr_s cn52xxp1;
2335	struct cvmx_gmxx_tx_lfsr_s cn56xx;
2336	struct cvmx_gmxx_tx_lfsr_s cn56xxp1;
2337	struct cvmx_gmxx_tx_lfsr_s cn58xx;
2338	struct cvmx_gmxx_tx_lfsr_s cn58xxp1;
2339};
2340
2341union cvmx_gmxx_tx_ovr_bp {
2342	uint64_t u64;
2343	struct cvmx_gmxx_tx_ovr_bp_s {
2344		uint64_t reserved_48_63:16;
2345		uint64_t tx_prt_bp:16;
2346		uint64_t reserved_12_31:20;
2347		uint64_t en:4;
2348		uint64_t bp:4;
2349		uint64_t ign_full:4;
2350	} s;
2351	struct cvmx_gmxx_tx_ovr_bp_cn30xx {
2352		uint64_t reserved_11_63:53;
2353		uint64_t en:3;
2354		uint64_t reserved_7_7:1;
2355		uint64_t bp:3;
2356		uint64_t reserved_3_3:1;
2357		uint64_t ign_full:3;
2358	} cn30xx;
2359	struct cvmx_gmxx_tx_ovr_bp_cn30xx cn31xx;
2360	struct cvmx_gmxx_tx_ovr_bp_cn38xx {
2361		uint64_t reserved_12_63:52;
2362		uint64_t en:4;
2363		uint64_t bp:4;
2364		uint64_t ign_full:4;
2365	} cn38xx;
2366	struct cvmx_gmxx_tx_ovr_bp_cn38xx cn38xxp2;
2367	struct cvmx_gmxx_tx_ovr_bp_cn30xx cn50xx;
2368	struct cvmx_gmxx_tx_ovr_bp_s cn52xx;
2369	struct cvmx_gmxx_tx_ovr_bp_s cn52xxp1;
2370	struct cvmx_gmxx_tx_ovr_bp_s cn56xx;
2371	struct cvmx_gmxx_tx_ovr_bp_s cn56xxp1;
2372	struct cvmx_gmxx_tx_ovr_bp_cn38xx cn58xx;
2373	struct cvmx_gmxx_tx_ovr_bp_cn38xx cn58xxp1;
2374};
2375
2376union cvmx_gmxx_tx_pause_pkt_dmac {
2377	uint64_t u64;
2378	struct cvmx_gmxx_tx_pause_pkt_dmac_s {
2379		uint64_t reserved_48_63:16;
2380		uint64_t dmac:48;
2381	} s;
2382	struct cvmx_gmxx_tx_pause_pkt_dmac_s cn30xx;
2383	struct cvmx_gmxx_tx_pause_pkt_dmac_s cn31xx;
2384	struct cvmx_gmxx_tx_pause_pkt_dmac_s cn38xx;
2385	struct cvmx_gmxx_tx_pause_pkt_dmac_s cn38xxp2;
2386	struct cvmx_gmxx_tx_pause_pkt_dmac_s cn50xx;
2387	struct cvmx_gmxx_tx_pause_pkt_dmac_s cn52xx;
2388	struct cvmx_gmxx_tx_pause_pkt_dmac_s cn52xxp1;
2389	struct cvmx_gmxx_tx_pause_pkt_dmac_s cn56xx;
2390	struct cvmx_gmxx_tx_pause_pkt_dmac_s cn56xxp1;
2391	struct cvmx_gmxx_tx_pause_pkt_dmac_s cn58xx;
2392	struct cvmx_gmxx_tx_pause_pkt_dmac_s cn58xxp1;
2393};
2394
2395union cvmx_gmxx_tx_pause_pkt_type {
2396	uint64_t u64;
2397	struct cvmx_gmxx_tx_pause_pkt_type_s {
2398		uint64_t reserved_16_63:48;
2399		uint64_t type:16;
2400	} s;
2401	struct cvmx_gmxx_tx_pause_pkt_type_s cn30xx;
2402	struct cvmx_gmxx_tx_pause_pkt_type_s cn31xx;
2403	struct cvmx_gmxx_tx_pause_pkt_type_s cn38xx;
2404	struct cvmx_gmxx_tx_pause_pkt_type_s cn38xxp2;
2405	struct cvmx_gmxx_tx_pause_pkt_type_s cn50xx;
2406	struct cvmx_gmxx_tx_pause_pkt_type_s cn52xx;
2407	struct cvmx_gmxx_tx_pause_pkt_type_s cn52xxp1;
2408	struct cvmx_gmxx_tx_pause_pkt_type_s cn56xx;
2409	struct cvmx_gmxx_tx_pause_pkt_type_s cn56xxp1;
2410	struct cvmx_gmxx_tx_pause_pkt_type_s cn58xx;
2411	struct cvmx_gmxx_tx_pause_pkt_type_s cn58xxp1;
2412};
2413
2414union cvmx_gmxx_tx_prts {
2415	uint64_t u64;
2416	struct cvmx_gmxx_tx_prts_s {
2417		uint64_t reserved_5_63:59;
2418		uint64_t prts:5;
2419	} s;
2420	struct cvmx_gmxx_tx_prts_s cn30xx;
2421	struct cvmx_gmxx_tx_prts_s cn31xx;
2422	struct cvmx_gmxx_tx_prts_s cn38xx;
2423	struct cvmx_gmxx_tx_prts_s cn38xxp2;
2424	struct cvmx_gmxx_tx_prts_s cn50xx;
2425	struct cvmx_gmxx_tx_prts_s cn52xx;
2426	struct cvmx_gmxx_tx_prts_s cn52xxp1;
2427	struct cvmx_gmxx_tx_prts_s cn56xx;
2428	struct cvmx_gmxx_tx_prts_s cn56xxp1;
2429	struct cvmx_gmxx_tx_prts_s cn58xx;
2430	struct cvmx_gmxx_tx_prts_s cn58xxp1;
2431};
2432
2433union cvmx_gmxx_tx_spi_ctl {
2434	uint64_t u64;
2435	struct cvmx_gmxx_tx_spi_ctl_s {
2436		uint64_t reserved_2_63:62;
2437		uint64_t tpa_clr:1;
2438		uint64_t cont_pkt:1;
2439	} s;
2440	struct cvmx_gmxx_tx_spi_ctl_s cn38xx;
2441	struct cvmx_gmxx_tx_spi_ctl_s cn38xxp2;
2442	struct cvmx_gmxx_tx_spi_ctl_s cn58xx;
2443	struct cvmx_gmxx_tx_spi_ctl_s cn58xxp1;
2444};
2445
2446union cvmx_gmxx_tx_spi_drain {
2447	uint64_t u64;
2448	struct cvmx_gmxx_tx_spi_drain_s {
2449		uint64_t reserved_16_63:48;
2450		uint64_t drain:16;
2451	} s;
2452	struct cvmx_gmxx_tx_spi_drain_s cn38xx;
2453	struct cvmx_gmxx_tx_spi_drain_s cn58xx;
2454	struct cvmx_gmxx_tx_spi_drain_s cn58xxp1;
2455};
2456
2457union cvmx_gmxx_tx_spi_max {
2458	uint64_t u64;
2459	struct cvmx_gmxx_tx_spi_max_s {
2460		uint64_t reserved_23_63:41;
2461		uint64_t slice:7;
2462		uint64_t max2:8;
2463		uint64_t max1:8;
2464	} s;
2465	struct cvmx_gmxx_tx_spi_max_cn38xx {
2466		uint64_t reserved_16_63:48;
2467		uint64_t max2:8;
2468		uint64_t max1:8;
2469	} cn38xx;
2470	struct cvmx_gmxx_tx_spi_max_cn38xx cn38xxp2;
2471	struct cvmx_gmxx_tx_spi_max_s cn58xx;
2472	struct cvmx_gmxx_tx_spi_max_s cn58xxp1;
2473};
2474
2475union cvmx_gmxx_tx_spi_roundx {
2476	uint64_t u64;
2477	struct cvmx_gmxx_tx_spi_roundx_s {
2478		uint64_t reserved_16_63:48;
2479		uint64_t round:16;
2480	} s;
2481	struct cvmx_gmxx_tx_spi_roundx_s cn58xx;
2482	struct cvmx_gmxx_tx_spi_roundx_s cn58xxp1;
2483};
2484
2485union cvmx_gmxx_tx_spi_thresh {
2486	uint64_t u64;
2487	struct cvmx_gmxx_tx_spi_thresh_s {
2488		uint64_t reserved_6_63:58;
2489		uint64_t thresh:6;
2490	} s;
2491	struct cvmx_gmxx_tx_spi_thresh_s cn38xx;
2492	struct cvmx_gmxx_tx_spi_thresh_s cn38xxp2;
2493	struct cvmx_gmxx_tx_spi_thresh_s cn58xx;
2494	struct cvmx_gmxx_tx_spi_thresh_s cn58xxp1;
2495};
2496
2497union cvmx_gmxx_tx_xaui_ctl {
2498	uint64_t u64;
2499	struct cvmx_gmxx_tx_xaui_ctl_s {
2500		uint64_t reserved_11_63:53;
2501		uint64_t hg_pause_hgi:2;
2502		uint64_t hg_en:1;
2503		uint64_t reserved_7_7:1;
2504		uint64_t ls_byp:1;
2505		uint64_t ls:2;
2506		uint64_t reserved_2_3:2;
2507		uint64_t uni_en:1;
2508		uint64_t dic_en:1;
2509	} s;
2510	struct cvmx_gmxx_tx_xaui_ctl_s cn52xx;
2511	struct cvmx_gmxx_tx_xaui_ctl_s cn52xxp1;
2512	struct cvmx_gmxx_tx_xaui_ctl_s cn56xx;
2513	struct cvmx_gmxx_tx_xaui_ctl_s cn56xxp1;
2514};
2515
2516union cvmx_gmxx_xaui_ext_loopback {
2517	uint64_t u64;
2518	struct cvmx_gmxx_xaui_ext_loopback_s {
2519		uint64_t reserved_5_63:59;
2520		uint64_t en:1;
2521		uint64_t thresh:4;
2522	} s;
2523	struct cvmx_gmxx_xaui_ext_loopback_s cn52xx;
2524	struct cvmx_gmxx_xaui_ext_loopback_s cn52xxp1;
2525	struct cvmx_gmxx_xaui_ext_loopback_s cn56xx;
2526	struct cvmx_gmxx_xaui_ext_loopback_s cn56xxp1;
2527};
2528
2529#endif
2530