kvm tools, setup: Create private directory
[linux-2.6/next.git] / arch / mips / include / asm / octeon / cvmx-agl-defs.h
blob30d68f2365e0621624aefa12fdb910f88413ff6d
1 /***********************license start***************
2 * Author: Cavium Networks
4 * Contact: support@caviumnetworks.com
5 * This file is part of the OCTEON SDK
7 * Copyright (c) 2003-2010 Cavium Networks
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.
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.
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/.
24 * This file may also be available under a different license from Cavium.
25 * Contact Cavium Networks for more information
26 ***********************license end**************************************/
28 #ifndef __CVMX_AGL_DEFS_H__
29 #define __CVMX_AGL_DEFS_H__
31 #define CVMX_AGL_GMX_BAD_REG (CVMX_ADD_IO_SEG(0x00011800E0000518ull))
32 #define CVMX_AGL_GMX_BIST (CVMX_ADD_IO_SEG(0x00011800E0000400ull))
33 #define CVMX_AGL_GMX_DRV_CTL (CVMX_ADD_IO_SEG(0x00011800E00007F0ull))
34 #define CVMX_AGL_GMX_INF_MODE (CVMX_ADD_IO_SEG(0x00011800E00007F8ull))
35 #define CVMX_AGL_GMX_PRTX_CFG(offset) (CVMX_ADD_IO_SEG(0x00011800E0000010ull) + ((offset) & 1) * 2048)
36 #define CVMX_AGL_GMX_RXX_ADR_CAM0(offset) (CVMX_ADD_IO_SEG(0x00011800E0000180ull) + ((offset) & 1) * 2048)
37 #define CVMX_AGL_GMX_RXX_ADR_CAM1(offset) (CVMX_ADD_IO_SEG(0x00011800E0000188ull) + ((offset) & 1) * 2048)
38 #define CVMX_AGL_GMX_RXX_ADR_CAM2(offset) (CVMX_ADD_IO_SEG(0x00011800E0000190ull) + ((offset) & 1) * 2048)
39 #define CVMX_AGL_GMX_RXX_ADR_CAM3(offset) (CVMX_ADD_IO_SEG(0x00011800E0000198ull) + ((offset) & 1) * 2048)
40 #define CVMX_AGL_GMX_RXX_ADR_CAM4(offset) (CVMX_ADD_IO_SEG(0x00011800E00001A0ull) + ((offset) & 1) * 2048)
41 #define CVMX_AGL_GMX_RXX_ADR_CAM5(offset) (CVMX_ADD_IO_SEG(0x00011800E00001A8ull) + ((offset) & 1) * 2048)
42 #define CVMX_AGL_GMX_RXX_ADR_CAM_EN(offset) (CVMX_ADD_IO_SEG(0x00011800E0000108ull) + ((offset) & 1) * 2048)
43 #define CVMX_AGL_GMX_RXX_ADR_CTL(offset) (CVMX_ADD_IO_SEG(0x00011800E0000100ull) + ((offset) & 1) * 2048)
44 #define CVMX_AGL_GMX_RXX_DECISION(offset) (CVMX_ADD_IO_SEG(0x00011800E0000040ull) + ((offset) & 1) * 2048)
45 #define CVMX_AGL_GMX_RXX_FRM_CHK(offset) (CVMX_ADD_IO_SEG(0x00011800E0000020ull) + ((offset) & 1) * 2048)
46 #define CVMX_AGL_GMX_RXX_FRM_CTL(offset) (CVMX_ADD_IO_SEG(0x00011800E0000018ull) + ((offset) & 1) * 2048)
47 #define CVMX_AGL_GMX_RXX_FRM_MAX(offset) (CVMX_ADD_IO_SEG(0x00011800E0000030ull) + ((offset) & 1) * 2048)
48 #define CVMX_AGL_GMX_RXX_FRM_MIN(offset) (CVMX_ADD_IO_SEG(0x00011800E0000028ull) + ((offset) & 1) * 2048)
49 #define CVMX_AGL_GMX_RXX_IFG(offset) (CVMX_ADD_IO_SEG(0x00011800E0000058ull) + ((offset) & 1) * 2048)
50 #define CVMX_AGL_GMX_RXX_INT_EN(offset) (CVMX_ADD_IO_SEG(0x00011800E0000008ull) + ((offset) & 1) * 2048)
51 #define CVMX_AGL_GMX_RXX_INT_REG(offset) (CVMX_ADD_IO_SEG(0x00011800E0000000ull) + ((offset) & 1) * 2048)
52 #define CVMX_AGL_GMX_RXX_JABBER(offset) (CVMX_ADD_IO_SEG(0x00011800E0000038ull) + ((offset) & 1) * 2048)
53 #define CVMX_AGL_GMX_RXX_PAUSE_DROP_TIME(offset) (CVMX_ADD_IO_SEG(0x00011800E0000068ull) + ((offset) & 1) * 2048)
54 #define CVMX_AGL_GMX_RXX_RX_INBND(offset) (CVMX_ADD_IO_SEG(0x00011800E0000060ull) + ((offset) & 1) * 2048)
55 #define CVMX_AGL_GMX_RXX_STATS_CTL(offset) (CVMX_ADD_IO_SEG(0x00011800E0000050ull) + ((offset) & 1) * 2048)
56 #define CVMX_AGL_GMX_RXX_STATS_OCTS(offset) (CVMX_ADD_IO_SEG(0x00011800E0000088ull) + ((offset) & 1) * 2048)
57 #define CVMX_AGL_GMX_RXX_STATS_OCTS_CTL(offset) (CVMX_ADD_IO_SEG(0x00011800E0000098ull) + ((offset) & 1) * 2048)
58 #define CVMX_AGL_GMX_RXX_STATS_OCTS_DMAC(offset) (CVMX_ADD_IO_SEG(0x00011800E00000A8ull) + ((offset) & 1) * 2048)
59 #define CVMX_AGL_GMX_RXX_STATS_OCTS_DRP(offset) (CVMX_ADD_IO_SEG(0x00011800E00000B8ull) + ((offset) & 1) * 2048)
60 #define CVMX_AGL_GMX_RXX_STATS_PKTS(offset) (CVMX_ADD_IO_SEG(0x00011800E0000080ull) + ((offset) & 1) * 2048)
61 #define CVMX_AGL_GMX_RXX_STATS_PKTS_BAD(offset) (CVMX_ADD_IO_SEG(0x00011800E00000C0ull) + ((offset) & 1) * 2048)
62 #define CVMX_AGL_GMX_RXX_STATS_PKTS_CTL(offset) (CVMX_ADD_IO_SEG(0x00011800E0000090ull) + ((offset) & 1) * 2048)
63 #define CVMX_AGL_GMX_RXX_STATS_PKTS_DMAC(offset) (CVMX_ADD_IO_SEG(0x00011800E00000A0ull) + ((offset) & 1) * 2048)
64 #define CVMX_AGL_GMX_RXX_STATS_PKTS_DRP(offset) (CVMX_ADD_IO_SEG(0x00011800E00000B0ull) + ((offset) & 1) * 2048)
65 #define CVMX_AGL_GMX_RXX_UDD_SKP(offset) (CVMX_ADD_IO_SEG(0x00011800E0000048ull) + ((offset) & 1) * 2048)
66 #define CVMX_AGL_GMX_RX_BP_DROPX(offset) (CVMX_ADD_IO_SEG(0x00011800E0000420ull) + ((offset) & 1) * 8)
67 #define CVMX_AGL_GMX_RX_BP_OFFX(offset) (CVMX_ADD_IO_SEG(0x00011800E0000460ull) + ((offset) & 1) * 8)
68 #define CVMX_AGL_GMX_RX_BP_ONX(offset) (CVMX_ADD_IO_SEG(0x00011800E0000440ull) + ((offset) & 1) * 8)
69 #define CVMX_AGL_GMX_RX_PRT_INFO (CVMX_ADD_IO_SEG(0x00011800E00004E8ull))
70 #define CVMX_AGL_GMX_RX_TX_STATUS (CVMX_ADD_IO_SEG(0x00011800E00007E8ull))
71 #define CVMX_AGL_GMX_SMACX(offset) (CVMX_ADD_IO_SEG(0x00011800E0000230ull) + ((offset) & 1) * 2048)
72 #define CVMX_AGL_GMX_STAT_BP (CVMX_ADD_IO_SEG(0x00011800E0000520ull))
73 #define CVMX_AGL_GMX_TXX_APPEND(offset) (CVMX_ADD_IO_SEG(0x00011800E0000218ull) + ((offset) & 1) * 2048)
74 #define CVMX_AGL_GMX_TXX_CLK(offset) (CVMX_ADD_IO_SEG(0x00011800E0000208ull) + ((offset) & 1) * 2048)
75 #define CVMX_AGL_GMX_TXX_CTL(offset) (CVMX_ADD_IO_SEG(0x00011800E0000270ull) + ((offset) & 1) * 2048)
76 #define CVMX_AGL_GMX_TXX_MIN_PKT(offset) (CVMX_ADD_IO_SEG(0x00011800E0000240ull) + ((offset) & 1) * 2048)
77 #define CVMX_AGL_GMX_TXX_PAUSE_PKT_INTERVAL(offset) (CVMX_ADD_IO_SEG(0x00011800E0000248ull) + ((offset) & 1) * 2048)
78 #define CVMX_AGL_GMX_TXX_PAUSE_PKT_TIME(offset) (CVMX_ADD_IO_SEG(0x00011800E0000238ull) + ((offset) & 1) * 2048)
79 #define CVMX_AGL_GMX_TXX_PAUSE_TOGO(offset) (CVMX_ADD_IO_SEG(0x00011800E0000258ull) + ((offset) & 1) * 2048)
80 #define CVMX_AGL_GMX_TXX_PAUSE_ZERO(offset) (CVMX_ADD_IO_SEG(0x00011800E0000260ull) + ((offset) & 1) * 2048)
81 #define CVMX_AGL_GMX_TXX_SOFT_PAUSE(offset) (CVMX_ADD_IO_SEG(0x00011800E0000250ull) + ((offset) & 1) * 2048)
82 #define CVMX_AGL_GMX_TXX_STAT0(offset) (CVMX_ADD_IO_SEG(0x00011800E0000280ull) + ((offset) & 1) * 2048)
83 #define CVMX_AGL_GMX_TXX_STAT1(offset) (CVMX_ADD_IO_SEG(0x00011800E0000288ull) + ((offset) & 1) * 2048)
84 #define CVMX_AGL_GMX_TXX_STAT2(offset) (CVMX_ADD_IO_SEG(0x00011800E0000290ull) + ((offset) & 1) * 2048)
85 #define CVMX_AGL_GMX_TXX_STAT3(offset) (CVMX_ADD_IO_SEG(0x00011800E0000298ull) + ((offset) & 1) * 2048)
86 #define CVMX_AGL_GMX_TXX_STAT4(offset) (CVMX_ADD_IO_SEG(0x00011800E00002A0ull) + ((offset) & 1) * 2048)
87 #define CVMX_AGL_GMX_TXX_STAT5(offset) (CVMX_ADD_IO_SEG(0x00011800E00002A8ull) + ((offset) & 1) * 2048)
88 #define CVMX_AGL_GMX_TXX_STAT6(offset) (CVMX_ADD_IO_SEG(0x00011800E00002B0ull) + ((offset) & 1) * 2048)
89 #define CVMX_AGL_GMX_TXX_STAT7(offset) (CVMX_ADD_IO_SEG(0x00011800E00002B8ull) + ((offset) & 1) * 2048)
90 #define CVMX_AGL_GMX_TXX_STAT8(offset) (CVMX_ADD_IO_SEG(0x00011800E00002C0ull) + ((offset) & 1) * 2048)
91 #define CVMX_AGL_GMX_TXX_STAT9(offset) (CVMX_ADD_IO_SEG(0x00011800E00002C8ull) + ((offset) & 1) * 2048)
92 #define CVMX_AGL_GMX_TXX_STATS_CTL(offset) (CVMX_ADD_IO_SEG(0x00011800E0000268ull) + ((offset) & 1) * 2048)
93 #define CVMX_AGL_GMX_TXX_THRESH(offset) (CVMX_ADD_IO_SEG(0x00011800E0000210ull) + ((offset) & 1) * 2048)
94 #define CVMX_AGL_GMX_TX_BP (CVMX_ADD_IO_SEG(0x00011800E00004D0ull))
95 #define CVMX_AGL_GMX_TX_COL_ATTEMPT (CVMX_ADD_IO_SEG(0x00011800E0000498ull))
96 #define CVMX_AGL_GMX_TX_IFG (CVMX_ADD_IO_SEG(0x00011800E0000488ull))
97 #define CVMX_AGL_GMX_TX_INT_EN (CVMX_ADD_IO_SEG(0x00011800E0000508ull))
98 #define CVMX_AGL_GMX_TX_INT_REG (CVMX_ADD_IO_SEG(0x00011800E0000500ull))
99 #define CVMX_AGL_GMX_TX_JAM (CVMX_ADD_IO_SEG(0x00011800E0000490ull))
100 #define CVMX_AGL_GMX_TX_LFSR (CVMX_ADD_IO_SEG(0x00011800E00004F8ull))
101 #define CVMX_AGL_GMX_TX_OVR_BP (CVMX_ADD_IO_SEG(0x00011800E00004C8ull))
102 #define CVMX_AGL_GMX_TX_PAUSE_PKT_DMAC (CVMX_ADD_IO_SEG(0x00011800E00004A0ull))
103 #define CVMX_AGL_GMX_TX_PAUSE_PKT_TYPE (CVMX_ADD_IO_SEG(0x00011800E00004A8ull))
104 #define CVMX_AGL_PRTX_CTL(offset) (CVMX_ADD_IO_SEG(0x00011800E0002000ull) + ((offset) & 1) * 8)
106 union cvmx_agl_gmx_bad_reg {
107 uint64_t u64;
108 struct cvmx_agl_gmx_bad_reg_s {
109 uint64_t reserved_38_63:26;
110 uint64_t txpsh1:1;
111 uint64_t txpop1:1;
112 uint64_t ovrflw1:1;
113 uint64_t txpsh:1;
114 uint64_t txpop:1;
115 uint64_t ovrflw:1;
116 uint64_t reserved_27_31:5;
117 uint64_t statovr:1;
118 uint64_t reserved_24_25:2;
119 uint64_t loststat:2;
120 uint64_t reserved_4_21:18;
121 uint64_t out_ovr:2;
122 uint64_t reserved_0_1:2;
123 } s;
124 struct cvmx_agl_gmx_bad_reg_cn52xx {
125 uint64_t reserved_38_63:26;
126 uint64_t txpsh1:1;
127 uint64_t txpop1:1;
128 uint64_t ovrflw1:1;
129 uint64_t txpsh:1;
130 uint64_t txpop:1;
131 uint64_t ovrflw:1;
132 uint64_t reserved_27_31:5;
133 uint64_t statovr:1;
134 uint64_t reserved_23_25:3;
135 uint64_t loststat:1;
136 uint64_t reserved_4_21:18;
137 uint64_t out_ovr:2;
138 uint64_t reserved_0_1:2;
139 } cn52xx;
140 struct cvmx_agl_gmx_bad_reg_cn52xx cn52xxp1;
141 struct cvmx_agl_gmx_bad_reg_cn56xx {
142 uint64_t reserved_35_63:29;
143 uint64_t txpsh:1;
144 uint64_t txpop:1;
145 uint64_t ovrflw:1;
146 uint64_t reserved_27_31:5;
147 uint64_t statovr:1;
148 uint64_t reserved_23_25:3;
149 uint64_t loststat:1;
150 uint64_t reserved_3_21:19;
151 uint64_t out_ovr:1;
152 uint64_t reserved_0_1:2;
153 } cn56xx;
154 struct cvmx_agl_gmx_bad_reg_cn56xx cn56xxp1;
155 struct cvmx_agl_gmx_bad_reg_s cn63xx;
156 struct cvmx_agl_gmx_bad_reg_s cn63xxp1;
159 union cvmx_agl_gmx_bist {
160 uint64_t u64;
161 struct cvmx_agl_gmx_bist_s {
162 uint64_t reserved_25_63:39;
163 uint64_t status:25;
164 } s;
165 struct cvmx_agl_gmx_bist_cn52xx {
166 uint64_t reserved_10_63:54;
167 uint64_t status:10;
168 } cn52xx;
169 struct cvmx_agl_gmx_bist_cn52xx cn52xxp1;
170 struct cvmx_agl_gmx_bist_cn52xx cn56xx;
171 struct cvmx_agl_gmx_bist_cn52xx cn56xxp1;
172 struct cvmx_agl_gmx_bist_s cn63xx;
173 struct cvmx_agl_gmx_bist_s cn63xxp1;
176 union cvmx_agl_gmx_drv_ctl {
177 uint64_t u64;
178 struct cvmx_agl_gmx_drv_ctl_s {
179 uint64_t reserved_49_63:15;
180 uint64_t byp_en1:1;
181 uint64_t reserved_45_47:3;
182 uint64_t pctl1:5;
183 uint64_t reserved_37_39:3;
184 uint64_t nctl1:5;
185 uint64_t reserved_17_31:15;
186 uint64_t byp_en:1;
187 uint64_t reserved_13_15:3;
188 uint64_t pctl:5;
189 uint64_t reserved_5_7:3;
190 uint64_t nctl:5;
191 } s;
192 struct cvmx_agl_gmx_drv_ctl_s cn52xx;
193 struct cvmx_agl_gmx_drv_ctl_s cn52xxp1;
194 struct cvmx_agl_gmx_drv_ctl_cn56xx {
195 uint64_t reserved_17_63:47;
196 uint64_t byp_en:1;
197 uint64_t reserved_13_15:3;
198 uint64_t pctl:5;
199 uint64_t reserved_5_7:3;
200 uint64_t nctl:5;
201 } cn56xx;
202 struct cvmx_agl_gmx_drv_ctl_cn56xx cn56xxp1;
205 union cvmx_agl_gmx_inf_mode {
206 uint64_t u64;
207 struct cvmx_agl_gmx_inf_mode_s {
208 uint64_t reserved_2_63:62;
209 uint64_t en:1;
210 uint64_t reserved_0_0:1;
211 } s;
212 struct cvmx_agl_gmx_inf_mode_s cn52xx;
213 struct cvmx_agl_gmx_inf_mode_s cn52xxp1;
214 struct cvmx_agl_gmx_inf_mode_s cn56xx;
215 struct cvmx_agl_gmx_inf_mode_s cn56xxp1;
218 union cvmx_agl_gmx_prtx_cfg {
219 uint64_t u64;
220 struct cvmx_agl_gmx_prtx_cfg_s {
221 uint64_t reserved_14_63:50;
222 uint64_t tx_idle:1;
223 uint64_t rx_idle:1;
224 uint64_t reserved_9_11:3;
225 uint64_t speed_msb:1;
226 uint64_t reserved_7_7:1;
227 uint64_t burst:1;
228 uint64_t tx_en:1;
229 uint64_t rx_en:1;
230 uint64_t slottime:1;
231 uint64_t duplex:1;
232 uint64_t speed:1;
233 uint64_t en:1;
234 } s;
235 struct cvmx_agl_gmx_prtx_cfg_cn52xx {
236 uint64_t reserved_6_63:58;
237 uint64_t tx_en:1;
238 uint64_t rx_en:1;
239 uint64_t slottime:1;
240 uint64_t duplex:1;
241 uint64_t speed:1;
242 uint64_t en:1;
243 } cn52xx;
244 struct cvmx_agl_gmx_prtx_cfg_cn52xx cn52xxp1;
245 struct cvmx_agl_gmx_prtx_cfg_cn52xx cn56xx;
246 struct cvmx_agl_gmx_prtx_cfg_cn52xx cn56xxp1;
247 struct cvmx_agl_gmx_prtx_cfg_s cn63xx;
248 struct cvmx_agl_gmx_prtx_cfg_s cn63xxp1;
251 union cvmx_agl_gmx_rxx_adr_cam0 {
252 uint64_t u64;
253 struct cvmx_agl_gmx_rxx_adr_cam0_s {
254 uint64_t adr:64;
255 } s;
256 struct cvmx_agl_gmx_rxx_adr_cam0_s cn52xx;
257 struct cvmx_agl_gmx_rxx_adr_cam0_s cn52xxp1;
258 struct cvmx_agl_gmx_rxx_adr_cam0_s cn56xx;
259 struct cvmx_agl_gmx_rxx_adr_cam0_s cn56xxp1;
260 struct cvmx_agl_gmx_rxx_adr_cam0_s cn63xx;
261 struct cvmx_agl_gmx_rxx_adr_cam0_s cn63xxp1;
264 union cvmx_agl_gmx_rxx_adr_cam1 {
265 uint64_t u64;
266 struct cvmx_agl_gmx_rxx_adr_cam1_s {
267 uint64_t adr:64;
268 } s;
269 struct cvmx_agl_gmx_rxx_adr_cam1_s cn52xx;
270 struct cvmx_agl_gmx_rxx_adr_cam1_s cn52xxp1;
271 struct cvmx_agl_gmx_rxx_adr_cam1_s cn56xx;
272 struct cvmx_agl_gmx_rxx_adr_cam1_s cn56xxp1;
273 struct cvmx_agl_gmx_rxx_adr_cam1_s cn63xx;
274 struct cvmx_agl_gmx_rxx_adr_cam1_s cn63xxp1;
277 union cvmx_agl_gmx_rxx_adr_cam2 {
278 uint64_t u64;
279 struct cvmx_agl_gmx_rxx_adr_cam2_s {
280 uint64_t adr:64;
281 } s;
282 struct cvmx_agl_gmx_rxx_adr_cam2_s cn52xx;
283 struct cvmx_agl_gmx_rxx_adr_cam2_s cn52xxp1;
284 struct cvmx_agl_gmx_rxx_adr_cam2_s cn56xx;
285 struct cvmx_agl_gmx_rxx_adr_cam2_s cn56xxp1;
286 struct cvmx_agl_gmx_rxx_adr_cam2_s cn63xx;
287 struct cvmx_agl_gmx_rxx_adr_cam2_s cn63xxp1;
290 union cvmx_agl_gmx_rxx_adr_cam3 {
291 uint64_t u64;
292 struct cvmx_agl_gmx_rxx_adr_cam3_s {
293 uint64_t adr:64;
294 } s;
295 struct cvmx_agl_gmx_rxx_adr_cam3_s cn52xx;
296 struct cvmx_agl_gmx_rxx_adr_cam3_s cn52xxp1;
297 struct cvmx_agl_gmx_rxx_adr_cam3_s cn56xx;
298 struct cvmx_agl_gmx_rxx_adr_cam3_s cn56xxp1;
299 struct cvmx_agl_gmx_rxx_adr_cam3_s cn63xx;
300 struct cvmx_agl_gmx_rxx_adr_cam3_s cn63xxp1;
303 union cvmx_agl_gmx_rxx_adr_cam4 {
304 uint64_t u64;
305 struct cvmx_agl_gmx_rxx_adr_cam4_s {
306 uint64_t adr:64;
307 } s;
308 struct cvmx_agl_gmx_rxx_adr_cam4_s cn52xx;
309 struct cvmx_agl_gmx_rxx_adr_cam4_s cn52xxp1;
310 struct cvmx_agl_gmx_rxx_adr_cam4_s cn56xx;
311 struct cvmx_agl_gmx_rxx_adr_cam4_s cn56xxp1;
312 struct cvmx_agl_gmx_rxx_adr_cam4_s cn63xx;
313 struct cvmx_agl_gmx_rxx_adr_cam4_s cn63xxp1;
316 union cvmx_agl_gmx_rxx_adr_cam5 {
317 uint64_t u64;
318 struct cvmx_agl_gmx_rxx_adr_cam5_s {
319 uint64_t adr:64;
320 } s;
321 struct cvmx_agl_gmx_rxx_adr_cam5_s cn52xx;
322 struct cvmx_agl_gmx_rxx_adr_cam5_s cn52xxp1;
323 struct cvmx_agl_gmx_rxx_adr_cam5_s cn56xx;
324 struct cvmx_agl_gmx_rxx_adr_cam5_s cn56xxp1;
325 struct cvmx_agl_gmx_rxx_adr_cam5_s cn63xx;
326 struct cvmx_agl_gmx_rxx_adr_cam5_s cn63xxp1;
329 union cvmx_agl_gmx_rxx_adr_cam_en {
330 uint64_t u64;
331 struct cvmx_agl_gmx_rxx_adr_cam_en_s {
332 uint64_t reserved_8_63:56;
333 uint64_t en:8;
334 } s;
335 struct cvmx_agl_gmx_rxx_adr_cam_en_s cn52xx;
336 struct cvmx_agl_gmx_rxx_adr_cam_en_s cn52xxp1;
337 struct cvmx_agl_gmx_rxx_adr_cam_en_s cn56xx;
338 struct cvmx_agl_gmx_rxx_adr_cam_en_s cn56xxp1;
339 struct cvmx_agl_gmx_rxx_adr_cam_en_s cn63xx;
340 struct cvmx_agl_gmx_rxx_adr_cam_en_s cn63xxp1;
343 union cvmx_agl_gmx_rxx_adr_ctl {
344 uint64_t u64;
345 struct cvmx_agl_gmx_rxx_adr_ctl_s {
346 uint64_t reserved_4_63:60;
347 uint64_t cam_mode:1;
348 uint64_t mcst:2;
349 uint64_t bcst:1;
350 } s;
351 struct cvmx_agl_gmx_rxx_adr_ctl_s cn52xx;
352 struct cvmx_agl_gmx_rxx_adr_ctl_s cn52xxp1;
353 struct cvmx_agl_gmx_rxx_adr_ctl_s cn56xx;
354 struct cvmx_agl_gmx_rxx_adr_ctl_s cn56xxp1;
355 struct cvmx_agl_gmx_rxx_adr_ctl_s cn63xx;
356 struct cvmx_agl_gmx_rxx_adr_ctl_s cn63xxp1;
359 union cvmx_agl_gmx_rxx_decision {
360 uint64_t u64;
361 struct cvmx_agl_gmx_rxx_decision_s {
362 uint64_t reserved_5_63:59;
363 uint64_t cnt:5;
364 } s;
365 struct cvmx_agl_gmx_rxx_decision_s cn52xx;
366 struct cvmx_agl_gmx_rxx_decision_s cn52xxp1;
367 struct cvmx_agl_gmx_rxx_decision_s cn56xx;
368 struct cvmx_agl_gmx_rxx_decision_s cn56xxp1;
369 struct cvmx_agl_gmx_rxx_decision_s cn63xx;
370 struct cvmx_agl_gmx_rxx_decision_s cn63xxp1;
373 union cvmx_agl_gmx_rxx_frm_chk {
374 uint64_t u64;
375 struct cvmx_agl_gmx_rxx_frm_chk_s {
376 uint64_t reserved_10_63:54;
377 uint64_t niberr:1;
378 uint64_t skperr:1;
379 uint64_t rcverr:1;
380 uint64_t lenerr:1;
381 uint64_t alnerr:1;
382 uint64_t fcserr:1;
383 uint64_t jabber:1;
384 uint64_t maxerr:1;
385 uint64_t carext:1;
386 uint64_t minerr:1;
387 } s;
388 struct cvmx_agl_gmx_rxx_frm_chk_cn52xx {
389 uint64_t reserved_9_63:55;
390 uint64_t skperr:1;
391 uint64_t rcverr:1;
392 uint64_t lenerr:1;
393 uint64_t alnerr:1;
394 uint64_t fcserr:1;
395 uint64_t jabber:1;
396 uint64_t maxerr:1;
397 uint64_t reserved_1_1:1;
398 uint64_t minerr:1;
399 } cn52xx;
400 struct cvmx_agl_gmx_rxx_frm_chk_cn52xx cn52xxp1;
401 struct cvmx_agl_gmx_rxx_frm_chk_cn52xx cn56xx;
402 struct cvmx_agl_gmx_rxx_frm_chk_cn52xx cn56xxp1;
403 struct cvmx_agl_gmx_rxx_frm_chk_s cn63xx;
404 struct cvmx_agl_gmx_rxx_frm_chk_s cn63xxp1;
407 union cvmx_agl_gmx_rxx_frm_ctl {
408 uint64_t u64;
409 struct cvmx_agl_gmx_rxx_frm_ctl_s {
410 uint64_t reserved_13_63:51;
411 uint64_t ptp_mode:1;
412 uint64_t reserved_11_11:1;
413 uint64_t null_dis:1;
414 uint64_t pre_align:1;
415 uint64_t pad_len:1;
416 uint64_t vlan_len:1;
417 uint64_t pre_free:1;
418 uint64_t ctl_smac:1;
419 uint64_t ctl_mcst:1;
420 uint64_t ctl_bck:1;
421 uint64_t ctl_drp:1;
422 uint64_t pre_strp:1;
423 uint64_t pre_chk:1;
424 } s;
425 struct cvmx_agl_gmx_rxx_frm_ctl_cn52xx {
426 uint64_t reserved_10_63:54;
427 uint64_t pre_align:1;
428 uint64_t pad_len:1;
429 uint64_t vlan_len:1;
430 uint64_t pre_free:1;
431 uint64_t ctl_smac:1;
432 uint64_t ctl_mcst:1;
433 uint64_t ctl_bck:1;
434 uint64_t ctl_drp:1;
435 uint64_t pre_strp:1;
436 uint64_t pre_chk:1;
437 } cn52xx;
438 struct cvmx_agl_gmx_rxx_frm_ctl_cn52xx cn52xxp1;
439 struct cvmx_agl_gmx_rxx_frm_ctl_cn52xx cn56xx;
440 struct cvmx_agl_gmx_rxx_frm_ctl_cn52xx cn56xxp1;
441 struct cvmx_agl_gmx_rxx_frm_ctl_s cn63xx;
442 struct cvmx_agl_gmx_rxx_frm_ctl_s cn63xxp1;
445 union cvmx_agl_gmx_rxx_frm_max {
446 uint64_t u64;
447 struct cvmx_agl_gmx_rxx_frm_max_s {
448 uint64_t reserved_16_63:48;
449 uint64_t len:16;
450 } s;
451 struct cvmx_agl_gmx_rxx_frm_max_s cn52xx;
452 struct cvmx_agl_gmx_rxx_frm_max_s cn52xxp1;
453 struct cvmx_agl_gmx_rxx_frm_max_s cn56xx;
454 struct cvmx_agl_gmx_rxx_frm_max_s cn56xxp1;
455 struct cvmx_agl_gmx_rxx_frm_max_s cn63xx;
456 struct cvmx_agl_gmx_rxx_frm_max_s cn63xxp1;
459 union cvmx_agl_gmx_rxx_frm_min {
460 uint64_t u64;
461 struct cvmx_agl_gmx_rxx_frm_min_s {
462 uint64_t reserved_16_63:48;
463 uint64_t len:16;
464 } s;
465 struct cvmx_agl_gmx_rxx_frm_min_s cn52xx;
466 struct cvmx_agl_gmx_rxx_frm_min_s cn52xxp1;
467 struct cvmx_agl_gmx_rxx_frm_min_s cn56xx;
468 struct cvmx_agl_gmx_rxx_frm_min_s cn56xxp1;
469 struct cvmx_agl_gmx_rxx_frm_min_s cn63xx;
470 struct cvmx_agl_gmx_rxx_frm_min_s cn63xxp1;
473 union cvmx_agl_gmx_rxx_ifg {
474 uint64_t u64;
475 struct cvmx_agl_gmx_rxx_ifg_s {
476 uint64_t reserved_4_63:60;
477 uint64_t ifg:4;
478 } s;
479 struct cvmx_agl_gmx_rxx_ifg_s cn52xx;
480 struct cvmx_agl_gmx_rxx_ifg_s cn52xxp1;
481 struct cvmx_agl_gmx_rxx_ifg_s cn56xx;
482 struct cvmx_agl_gmx_rxx_ifg_s cn56xxp1;
483 struct cvmx_agl_gmx_rxx_ifg_s cn63xx;
484 struct cvmx_agl_gmx_rxx_ifg_s cn63xxp1;
487 union cvmx_agl_gmx_rxx_int_en {
488 uint64_t u64;
489 struct cvmx_agl_gmx_rxx_int_en_s {
490 uint64_t reserved_20_63:44;
491 uint64_t pause_drp:1;
492 uint64_t phy_dupx:1;
493 uint64_t phy_spd:1;
494 uint64_t phy_link:1;
495 uint64_t ifgerr:1;
496 uint64_t coldet:1;
497 uint64_t falerr:1;
498 uint64_t rsverr:1;
499 uint64_t pcterr:1;
500 uint64_t ovrerr:1;
501 uint64_t niberr:1;
502 uint64_t skperr:1;
503 uint64_t rcverr:1;
504 uint64_t lenerr:1;
505 uint64_t alnerr:1;
506 uint64_t fcserr:1;
507 uint64_t jabber:1;
508 uint64_t maxerr:1;
509 uint64_t carext:1;
510 uint64_t minerr:1;
511 } s;
512 struct cvmx_agl_gmx_rxx_int_en_cn52xx {
513 uint64_t reserved_20_63:44;
514 uint64_t pause_drp:1;
515 uint64_t reserved_16_18:3;
516 uint64_t ifgerr:1;
517 uint64_t coldet:1;
518 uint64_t falerr:1;
519 uint64_t rsverr:1;
520 uint64_t pcterr:1;
521 uint64_t ovrerr:1;
522 uint64_t reserved_9_9:1;
523 uint64_t skperr:1;
524 uint64_t rcverr:1;
525 uint64_t lenerr:1;
526 uint64_t alnerr:1;
527 uint64_t fcserr:1;
528 uint64_t jabber:1;
529 uint64_t maxerr:1;
530 uint64_t reserved_1_1:1;
531 uint64_t minerr:1;
532 } cn52xx;
533 struct cvmx_agl_gmx_rxx_int_en_cn52xx cn52xxp1;
534 struct cvmx_agl_gmx_rxx_int_en_cn52xx cn56xx;
535 struct cvmx_agl_gmx_rxx_int_en_cn52xx cn56xxp1;
536 struct cvmx_agl_gmx_rxx_int_en_s cn63xx;
537 struct cvmx_agl_gmx_rxx_int_en_s cn63xxp1;
540 union cvmx_agl_gmx_rxx_int_reg {
541 uint64_t u64;
542 struct cvmx_agl_gmx_rxx_int_reg_s {
543 uint64_t reserved_20_63:44;
544 uint64_t pause_drp:1;
545 uint64_t phy_dupx:1;
546 uint64_t phy_spd:1;
547 uint64_t phy_link:1;
548 uint64_t ifgerr:1;
549 uint64_t coldet:1;
550 uint64_t falerr:1;
551 uint64_t rsverr:1;
552 uint64_t pcterr:1;
553 uint64_t ovrerr:1;
554 uint64_t niberr:1;
555 uint64_t skperr:1;
556 uint64_t rcverr:1;
557 uint64_t lenerr:1;
558 uint64_t alnerr:1;
559 uint64_t fcserr:1;
560 uint64_t jabber:1;
561 uint64_t maxerr:1;
562 uint64_t carext:1;
563 uint64_t minerr:1;
564 } s;
565 struct cvmx_agl_gmx_rxx_int_reg_cn52xx {
566 uint64_t reserved_20_63:44;
567 uint64_t pause_drp:1;
568 uint64_t reserved_16_18:3;
569 uint64_t ifgerr:1;
570 uint64_t coldet:1;
571 uint64_t falerr:1;
572 uint64_t rsverr:1;
573 uint64_t pcterr:1;
574 uint64_t ovrerr:1;
575 uint64_t reserved_9_9:1;
576 uint64_t skperr:1;
577 uint64_t rcverr:1;
578 uint64_t lenerr:1;
579 uint64_t alnerr:1;
580 uint64_t fcserr:1;
581 uint64_t jabber:1;
582 uint64_t maxerr:1;
583 uint64_t reserved_1_1:1;
584 uint64_t minerr:1;
585 } cn52xx;
586 struct cvmx_agl_gmx_rxx_int_reg_cn52xx cn52xxp1;
587 struct cvmx_agl_gmx_rxx_int_reg_cn52xx cn56xx;
588 struct cvmx_agl_gmx_rxx_int_reg_cn52xx cn56xxp1;
589 struct cvmx_agl_gmx_rxx_int_reg_s cn63xx;
590 struct cvmx_agl_gmx_rxx_int_reg_s cn63xxp1;
593 union cvmx_agl_gmx_rxx_jabber {
594 uint64_t u64;
595 struct cvmx_agl_gmx_rxx_jabber_s {
596 uint64_t reserved_16_63:48;
597 uint64_t cnt:16;
598 } s;
599 struct cvmx_agl_gmx_rxx_jabber_s cn52xx;
600 struct cvmx_agl_gmx_rxx_jabber_s cn52xxp1;
601 struct cvmx_agl_gmx_rxx_jabber_s cn56xx;
602 struct cvmx_agl_gmx_rxx_jabber_s cn56xxp1;
603 struct cvmx_agl_gmx_rxx_jabber_s cn63xx;
604 struct cvmx_agl_gmx_rxx_jabber_s cn63xxp1;
607 union cvmx_agl_gmx_rxx_pause_drop_time {
608 uint64_t u64;
609 struct cvmx_agl_gmx_rxx_pause_drop_time_s {
610 uint64_t reserved_16_63:48;
611 uint64_t status:16;
612 } s;
613 struct cvmx_agl_gmx_rxx_pause_drop_time_s cn52xx;
614 struct cvmx_agl_gmx_rxx_pause_drop_time_s cn52xxp1;
615 struct cvmx_agl_gmx_rxx_pause_drop_time_s cn56xx;
616 struct cvmx_agl_gmx_rxx_pause_drop_time_s cn56xxp1;
617 struct cvmx_agl_gmx_rxx_pause_drop_time_s cn63xx;
618 struct cvmx_agl_gmx_rxx_pause_drop_time_s cn63xxp1;
621 union cvmx_agl_gmx_rxx_rx_inbnd {
622 uint64_t u64;
623 struct cvmx_agl_gmx_rxx_rx_inbnd_s {
624 uint64_t reserved_4_63:60;
625 uint64_t duplex:1;
626 uint64_t speed:2;
627 uint64_t status:1;
628 } s;
629 struct cvmx_agl_gmx_rxx_rx_inbnd_s cn63xx;
630 struct cvmx_agl_gmx_rxx_rx_inbnd_s cn63xxp1;
633 union cvmx_agl_gmx_rxx_stats_ctl {
634 uint64_t u64;
635 struct cvmx_agl_gmx_rxx_stats_ctl_s {
636 uint64_t reserved_1_63:63;
637 uint64_t rd_clr:1;
638 } s;
639 struct cvmx_agl_gmx_rxx_stats_ctl_s cn52xx;
640 struct cvmx_agl_gmx_rxx_stats_ctl_s cn52xxp1;
641 struct cvmx_agl_gmx_rxx_stats_ctl_s cn56xx;
642 struct cvmx_agl_gmx_rxx_stats_ctl_s cn56xxp1;
643 struct cvmx_agl_gmx_rxx_stats_ctl_s cn63xx;
644 struct cvmx_agl_gmx_rxx_stats_ctl_s cn63xxp1;
647 union cvmx_agl_gmx_rxx_stats_octs {
648 uint64_t u64;
649 struct cvmx_agl_gmx_rxx_stats_octs_s {
650 uint64_t reserved_48_63:16;
651 uint64_t cnt:48;
652 } s;
653 struct cvmx_agl_gmx_rxx_stats_octs_s cn52xx;
654 struct cvmx_agl_gmx_rxx_stats_octs_s cn52xxp1;
655 struct cvmx_agl_gmx_rxx_stats_octs_s cn56xx;
656 struct cvmx_agl_gmx_rxx_stats_octs_s cn56xxp1;
657 struct cvmx_agl_gmx_rxx_stats_octs_s cn63xx;
658 struct cvmx_agl_gmx_rxx_stats_octs_s cn63xxp1;
661 union cvmx_agl_gmx_rxx_stats_octs_ctl {
662 uint64_t u64;
663 struct cvmx_agl_gmx_rxx_stats_octs_ctl_s {
664 uint64_t reserved_48_63:16;
665 uint64_t cnt:48;
666 } s;
667 struct cvmx_agl_gmx_rxx_stats_octs_ctl_s cn52xx;
668 struct cvmx_agl_gmx_rxx_stats_octs_ctl_s cn52xxp1;
669 struct cvmx_agl_gmx_rxx_stats_octs_ctl_s cn56xx;
670 struct cvmx_agl_gmx_rxx_stats_octs_ctl_s cn56xxp1;
671 struct cvmx_agl_gmx_rxx_stats_octs_ctl_s cn63xx;
672 struct cvmx_agl_gmx_rxx_stats_octs_ctl_s cn63xxp1;
675 union cvmx_agl_gmx_rxx_stats_octs_dmac {
676 uint64_t u64;
677 struct cvmx_agl_gmx_rxx_stats_octs_dmac_s {
678 uint64_t reserved_48_63:16;
679 uint64_t cnt:48;
680 } s;
681 struct cvmx_agl_gmx_rxx_stats_octs_dmac_s cn52xx;
682 struct cvmx_agl_gmx_rxx_stats_octs_dmac_s cn52xxp1;
683 struct cvmx_agl_gmx_rxx_stats_octs_dmac_s cn56xx;
684 struct cvmx_agl_gmx_rxx_stats_octs_dmac_s cn56xxp1;
685 struct cvmx_agl_gmx_rxx_stats_octs_dmac_s cn63xx;
686 struct cvmx_agl_gmx_rxx_stats_octs_dmac_s cn63xxp1;
689 union cvmx_agl_gmx_rxx_stats_octs_drp {
690 uint64_t u64;
691 struct cvmx_agl_gmx_rxx_stats_octs_drp_s {
692 uint64_t reserved_48_63:16;
693 uint64_t cnt:48;
694 } s;
695 struct cvmx_agl_gmx_rxx_stats_octs_drp_s cn52xx;
696 struct cvmx_agl_gmx_rxx_stats_octs_drp_s cn52xxp1;
697 struct cvmx_agl_gmx_rxx_stats_octs_drp_s cn56xx;
698 struct cvmx_agl_gmx_rxx_stats_octs_drp_s cn56xxp1;
699 struct cvmx_agl_gmx_rxx_stats_octs_drp_s cn63xx;
700 struct cvmx_agl_gmx_rxx_stats_octs_drp_s cn63xxp1;
703 union cvmx_agl_gmx_rxx_stats_pkts {
704 uint64_t u64;
705 struct cvmx_agl_gmx_rxx_stats_pkts_s {
706 uint64_t reserved_32_63:32;
707 uint64_t cnt:32;
708 } s;
709 struct cvmx_agl_gmx_rxx_stats_pkts_s cn52xx;
710 struct cvmx_agl_gmx_rxx_stats_pkts_s cn52xxp1;
711 struct cvmx_agl_gmx_rxx_stats_pkts_s cn56xx;
712 struct cvmx_agl_gmx_rxx_stats_pkts_s cn56xxp1;
713 struct cvmx_agl_gmx_rxx_stats_pkts_s cn63xx;
714 struct cvmx_agl_gmx_rxx_stats_pkts_s cn63xxp1;
717 union cvmx_agl_gmx_rxx_stats_pkts_bad {
718 uint64_t u64;
719 struct cvmx_agl_gmx_rxx_stats_pkts_bad_s {
720 uint64_t reserved_32_63:32;
721 uint64_t cnt:32;
722 } s;
723 struct cvmx_agl_gmx_rxx_stats_pkts_bad_s cn52xx;
724 struct cvmx_agl_gmx_rxx_stats_pkts_bad_s cn52xxp1;
725 struct cvmx_agl_gmx_rxx_stats_pkts_bad_s cn56xx;
726 struct cvmx_agl_gmx_rxx_stats_pkts_bad_s cn56xxp1;
727 struct cvmx_agl_gmx_rxx_stats_pkts_bad_s cn63xx;
728 struct cvmx_agl_gmx_rxx_stats_pkts_bad_s cn63xxp1;
731 union cvmx_agl_gmx_rxx_stats_pkts_ctl {
732 uint64_t u64;
733 struct cvmx_agl_gmx_rxx_stats_pkts_ctl_s {
734 uint64_t reserved_32_63:32;
735 uint64_t cnt:32;
736 } s;
737 struct cvmx_agl_gmx_rxx_stats_pkts_ctl_s cn52xx;
738 struct cvmx_agl_gmx_rxx_stats_pkts_ctl_s cn52xxp1;
739 struct cvmx_agl_gmx_rxx_stats_pkts_ctl_s cn56xx;
740 struct cvmx_agl_gmx_rxx_stats_pkts_ctl_s cn56xxp1;
741 struct cvmx_agl_gmx_rxx_stats_pkts_ctl_s cn63xx;
742 struct cvmx_agl_gmx_rxx_stats_pkts_ctl_s cn63xxp1;
745 union cvmx_agl_gmx_rxx_stats_pkts_dmac {
746 uint64_t u64;
747 struct cvmx_agl_gmx_rxx_stats_pkts_dmac_s {
748 uint64_t reserved_32_63:32;
749 uint64_t cnt:32;
750 } s;
751 struct cvmx_agl_gmx_rxx_stats_pkts_dmac_s cn52xx;
752 struct cvmx_agl_gmx_rxx_stats_pkts_dmac_s cn52xxp1;
753 struct cvmx_agl_gmx_rxx_stats_pkts_dmac_s cn56xx;
754 struct cvmx_agl_gmx_rxx_stats_pkts_dmac_s cn56xxp1;
755 struct cvmx_agl_gmx_rxx_stats_pkts_dmac_s cn63xx;
756 struct cvmx_agl_gmx_rxx_stats_pkts_dmac_s cn63xxp1;
759 union cvmx_agl_gmx_rxx_stats_pkts_drp {
760 uint64_t u64;
761 struct cvmx_agl_gmx_rxx_stats_pkts_drp_s {
762 uint64_t reserved_32_63:32;
763 uint64_t cnt:32;
764 } s;
765 struct cvmx_agl_gmx_rxx_stats_pkts_drp_s cn52xx;
766 struct cvmx_agl_gmx_rxx_stats_pkts_drp_s cn52xxp1;
767 struct cvmx_agl_gmx_rxx_stats_pkts_drp_s cn56xx;
768 struct cvmx_agl_gmx_rxx_stats_pkts_drp_s cn56xxp1;
769 struct cvmx_agl_gmx_rxx_stats_pkts_drp_s cn63xx;
770 struct cvmx_agl_gmx_rxx_stats_pkts_drp_s cn63xxp1;
773 union cvmx_agl_gmx_rxx_udd_skp {
774 uint64_t u64;
775 struct cvmx_agl_gmx_rxx_udd_skp_s {
776 uint64_t reserved_9_63:55;
777 uint64_t fcssel:1;
778 uint64_t reserved_7_7:1;
779 uint64_t len:7;
780 } s;
781 struct cvmx_agl_gmx_rxx_udd_skp_s cn52xx;
782 struct cvmx_agl_gmx_rxx_udd_skp_s cn52xxp1;
783 struct cvmx_agl_gmx_rxx_udd_skp_s cn56xx;
784 struct cvmx_agl_gmx_rxx_udd_skp_s cn56xxp1;
785 struct cvmx_agl_gmx_rxx_udd_skp_s cn63xx;
786 struct cvmx_agl_gmx_rxx_udd_skp_s cn63xxp1;
789 union cvmx_agl_gmx_rx_bp_dropx {
790 uint64_t u64;
791 struct cvmx_agl_gmx_rx_bp_dropx_s {
792 uint64_t reserved_6_63:58;
793 uint64_t mark:6;
794 } s;
795 struct cvmx_agl_gmx_rx_bp_dropx_s cn52xx;
796 struct cvmx_agl_gmx_rx_bp_dropx_s cn52xxp1;
797 struct cvmx_agl_gmx_rx_bp_dropx_s cn56xx;
798 struct cvmx_agl_gmx_rx_bp_dropx_s cn56xxp1;
799 struct cvmx_agl_gmx_rx_bp_dropx_s cn63xx;
800 struct cvmx_agl_gmx_rx_bp_dropx_s cn63xxp1;
803 union cvmx_agl_gmx_rx_bp_offx {
804 uint64_t u64;
805 struct cvmx_agl_gmx_rx_bp_offx_s {
806 uint64_t reserved_6_63:58;
807 uint64_t mark:6;
808 } s;
809 struct cvmx_agl_gmx_rx_bp_offx_s cn52xx;
810 struct cvmx_agl_gmx_rx_bp_offx_s cn52xxp1;
811 struct cvmx_agl_gmx_rx_bp_offx_s cn56xx;
812 struct cvmx_agl_gmx_rx_bp_offx_s cn56xxp1;
813 struct cvmx_agl_gmx_rx_bp_offx_s cn63xx;
814 struct cvmx_agl_gmx_rx_bp_offx_s cn63xxp1;
817 union cvmx_agl_gmx_rx_bp_onx {
818 uint64_t u64;
819 struct cvmx_agl_gmx_rx_bp_onx_s {
820 uint64_t reserved_9_63:55;
821 uint64_t mark:9;
822 } s;
823 struct cvmx_agl_gmx_rx_bp_onx_s cn52xx;
824 struct cvmx_agl_gmx_rx_bp_onx_s cn52xxp1;
825 struct cvmx_agl_gmx_rx_bp_onx_s cn56xx;
826 struct cvmx_agl_gmx_rx_bp_onx_s cn56xxp1;
827 struct cvmx_agl_gmx_rx_bp_onx_s cn63xx;
828 struct cvmx_agl_gmx_rx_bp_onx_s cn63xxp1;
831 union cvmx_agl_gmx_rx_prt_info {
832 uint64_t u64;
833 struct cvmx_agl_gmx_rx_prt_info_s {
834 uint64_t reserved_18_63:46;
835 uint64_t drop:2;
836 uint64_t reserved_2_15:14;
837 uint64_t commit:2;
838 } s;
839 struct cvmx_agl_gmx_rx_prt_info_s cn52xx;
840 struct cvmx_agl_gmx_rx_prt_info_s cn52xxp1;
841 struct cvmx_agl_gmx_rx_prt_info_cn56xx {
842 uint64_t reserved_17_63:47;
843 uint64_t drop:1;
844 uint64_t reserved_1_15:15;
845 uint64_t commit:1;
846 } cn56xx;
847 struct cvmx_agl_gmx_rx_prt_info_cn56xx cn56xxp1;
848 struct cvmx_agl_gmx_rx_prt_info_s cn63xx;
849 struct cvmx_agl_gmx_rx_prt_info_s cn63xxp1;
852 union cvmx_agl_gmx_rx_tx_status {
853 uint64_t u64;
854 struct cvmx_agl_gmx_rx_tx_status_s {
855 uint64_t reserved_6_63:58;
856 uint64_t tx:2;
857 uint64_t reserved_2_3:2;
858 uint64_t rx:2;
859 } s;
860 struct cvmx_agl_gmx_rx_tx_status_s cn52xx;
861 struct cvmx_agl_gmx_rx_tx_status_s cn52xxp1;
862 struct cvmx_agl_gmx_rx_tx_status_cn56xx {
863 uint64_t reserved_5_63:59;
864 uint64_t tx:1;
865 uint64_t reserved_1_3:3;
866 uint64_t rx:1;
867 } cn56xx;
868 struct cvmx_agl_gmx_rx_tx_status_cn56xx cn56xxp1;
869 struct cvmx_agl_gmx_rx_tx_status_s cn63xx;
870 struct cvmx_agl_gmx_rx_tx_status_s cn63xxp1;
873 union cvmx_agl_gmx_smacx {
874 uint64_t u64;
875 struct cvmx_agl_gmx_smacx_s {
876 uint64_t reserved_48_63:16;
877 uint64_t smac:48;
878 } s;
879 struct cvmx_agl_gmx_smacx_s cn52xx;
880 struct cvmx_agl_gmx_smacx_s cn52xxp1;
881 struct cvmx_agl_gmx_smacx_s cn56xx;
882 struct cvmx_agl_gmx_smacx_s cn56xxp1;
883 struct cvmx_agl_gmx_smacx_s cn63xx;
884 struct cvmx_agl_gmx_smacx_s cn63xxp1;
887 union cvmx_agl_gmx_stat_bp {
888 uint64_t u64;
889 struct cvmx_agl_gmx_stat_bp_s {
890 uint64_t reserved_17_63:47;
891 uint64_t bp:1;
892 uint64_t cnt:16;
893 } s;
894 struct cvmx_agl_gmx_stat_bp_s cn52xx;
895 struct cvmx_agl_gmx_stat_bp_s cn52xxp1;
896 struct cvmx_agl_gmx_stat_bp_s cn56xx;
897 struct cvmx_agl_gmx_stat_bp_s cn56xxp1;
898 struct cvmx_agl_gmx_stat_bp_s cn63xx;
899 struct cvmx_agl_gmx_stat_bp_s cn63xxp1;
902 union cvmx_agl_gmx_txx_append {
903 uint64_t u64;
904 struct cvmx_agl_gmx_txx_append_s {
905 uint64_t reserved_4_63:60;
906 uint64_t force_fcs:1;
907 uint64_t fcs:1;
908 uint64_t pad:1;
909 uint64_t preamble:1;
910 } s;
911 struct cvmx_agl_gmx_txx_append_s cn52xx;
912 struct cvmx_agl_gmx_txx_append_s cn52xxp1;
913 struct cvmx_agl_gmx_txx_append_s cn56xx;
914 struct cvmx_agl_gmx_txx_append_s cn56xxp1;
915 struct cvmx_agl_gmx_txx_append_s cn63xx;
916 struct cvmx_agl_gmx_txx_append_s cn63xxp1;
919 union cvmx_agl_gmx_txx_clk {
920 uint64_t u64;
921 struct cvmx_agl_gmx_txx_clk_s {
922 uint64_t reserved_6_63:58;
923 uint64_t clk_cnt:6;
924 } s;
925 struct cvmx_agl_gmx_txx_clk_s cn63xx;
926 struct cvmx_agl_gmx_txx_clk_s cn63xxp1;
929 union cvmx_agl_gmx_txx_ctl {
930 uint64_t u64;
931 struct cvmx_agl_gmx_txx_ctl_s {
932 uint64_t reserved_2_63:62;
933 uint64_t xsdef_en:1;
934 uint64_t xscol_en:1;
935 } s;
936 struct cvmx_agl_gmx_txx_ctl_s cn52xx;
937 struct cvmx_agl_gmx_txx_ctl_s cn52xxp1;
938 struct cvmx_agl_gmx_txx_ctl_s cn56xx;
939 struct cvmx_agl_gmx_txx_ctl_s cn56xxp1;
940 struct cvmx_agl_gmx_txx_ctl_s cn63xx;
941 struct cvmx_agl_gmx_txx_ctl_s cn63xxp1;
944 union cvmx_agl_gmx_txx_min_pkt {
945 uint64_t u64;
946 struct cvmx_agl_gmx_txx_min_pkt_s {
947 uint64_t reserved_8_63:56;
948 uint64_t min_size:8;
949 } s;
950 struct cvmx_agl_gmx_txx_min_pkt_s cn52xx;
951 struct cvmx_agl_gmx_txx_min_pkt_s cn52xxp1;
952 struct cvmx_agl_gmx_txx_min_pkt_s cn56xx;
953 struct cvmx_agl_gmx_txx_min_pkt_s cn56xxp1;
954 struct cvmx_agl_gmx_txx_min_pkt_s cn63xx;
955 struct cvmx_agl_gmx_txx_min_pkt_s cn63xxp1;
958 union cvmx_agl_gmx_txx_pause_pkt_interval {
959 uint64_t u64;
960 struct cvmx_agl_gmx_txx_pause_pkt_interval_s {
961 uint64_t reserved_16_63:48;
962 uint64_t interval:16;
963 } s;
964 struct cvmx_agl_gmx_txx_pause_pkt_interval_s cn52xx;
965 struct cvmx_agl_gmx_txx_pause_pkt_interval_s cn52xxp1;
966 struct cvmx_agl_gmx_txx_pause_pkt_interval_s cn56xx;
967 struct cvmx_agl_gmx_txx_pause_pkt_interval_s cn56xxp1;
968 struct cvmx_agl_gmx_txx_pause_pkt_interval_s cn63xx;
969 struct cvmx_agl_gmx_txx_pause_pkt_interval_s cn63xxp1;
972 union cvmx_agl_gmx_txx_pause_pkt_time {
973 uint64_t u64;
974 struct cvmx_agl_gmx_txx_pause_pkt_time_s {
975 uint64_t reserved_16_63:48;
976 uint64_t time:16;
977 } s;
978 struct cvmx_agl_gmx_txx_pause_pkt_time_s cn52xx;
979 struct cvmx_agl_gmx_txx_pause_pkt_time_s cn52xxp1;
980 struct cvmx_agl_gmx_txx_pause_pkt_time_s cn56xx;
981 struct cvmx_agl_gmx_txx_pause_pkt_time_s cn56xxp1;
982 struct cvmx_agl_gmx_txx_pause_pkt_time_s cn63xx;
983 struct cvmx_agl_gmx_txx_pause_pkt_time_s cn63xxp1;
986 union cvmx_agl_gmx_txx_pause_togo {
987 uint64_t u64;
988 struct cvmx_agl_gmx_txx_pause_togo_s {
989 uint64_t reserved_16_63:48;
990 uint64_t time:16;
991 } s;
992 struct cvmx_agl_gmx_txx_pause_togo_s cn52xx;
993 struct cvmx_agl_gmx_txx_pause_togo_s cn52xxp1;
994 struct cvmx_agl_gmx_txx_pause_togo_s cn56xx;
995 struct cvmx_agl_gmx_txx_pause_togo_s cn56xxp1;
996 struct cvmx_agl_gmx_txx_pause_togo_s cn63xx;
997 struct cvmx_agl_gmx_txx_pause_togo_s cn63xxp1;
1000 union cvmx_agl_gmx_txx_pause_zero {
1001 uint64_t u64;
1002 struct cvmx_agl_gmx_txx_pause_zero_s {
1003 uint64_t reserved_1_63:63;
1004 uint64_t send:1;
1005 } s;
1006 struct cvmx_agl_gmx_txx_pause_zero_s cn52xx;
1007 struct cvmx_agl_gmx_txx_pause_zero_s cn52xxp1;
1008 struct cvmx_agl_gmx_txx_pause_zero_s cn56xx;
1009 struct cvmx_agl_gmx_txx_pause_zero_s cn56xxp1;
1010 struct cvmx_agl_gmx_txx_pause_zero_s cn63xx;
1011 struct cvmx_agl_gmx_txx_pause_zero_s cn63xxp1;
1014 union cvmx_agl_gmx_txx_soft_pause {
1015 uint64_t u64;
1016 struct cvmx_agl_gmx_txx_soft_pause_s {
1017 uint64_t reserved_16_63:48;
1018 uint64_t time:16;
1019 } s;
1020 struct cvmx_agl_gmx_txx_soft_pause_s cn52xx;
1021 struct cvmx_agl_gmx_txx_soft_pause_s cn52xxp1;
1022 struct cvmx_agl_gmx_txx_soft_pause_s cn56xx;
1023 struct cvmx_agl_gmx_txx_soft_pause_s cn56xxp1;
1024 struct cvmx_agl_gmx_txx_soft_pause_s cn63xx;
1025 struct cvmx_agl_gmx_txx_soft_pause_s cn63xxp1;
1028 union cvmx_agl_gmx_txx_stat0 {
1029 uint64_t u64;
1030 struct cvmx_agl_gmx_txx_stat0_s {
1031 uint64_t xsdef:32;
1032 uint64_t xscol:32;
1033 } s;
1034 struct cvmx_agl_gmx_txx_stat0_s cn52xx;
1035 struct cvmx_agl_gmx_txx_stat0_s cn52xxp1;
1036 struct cvmx_agl_gmx_txx_stat0_s cn56xx;
1037 struct cvmx_agl_gmx_txx_stat0_s cn56xxp1;
1038 struct cvmx_agl_gmx_txx_stat0_s cn63xx;
1039 struct cvmx_agl_gmx_txx_stat0_s cn63xxp1;
1042 union cvmx_agl_gmx_txx_stat1 {
1043 uint64_t u64;
1044 struct cvmx_agl_gmx_txx_stat1_s {
1045 uint64_t scol:32;
1046 uint64_t mcol:32;
1047 } s;
1048 struct cvmx_agl_gmx_txx_stat1_s cn52xx;
1049 struct cvmx_agl_gmx_txx_stat1_s cn52xxp1;
1050 struct cvmx_agl_gmx_txx_stat1_s cn56xx;
1051 struct cvmx_agl_gmx_txx_stat1_s cn56xxp1;
1052 struct cvmx_agl_gmx_txx_stat1_s cn63xx;
1053 struct cvmx_agl_gmx_txx_stat1_s cn63xxp1;
1056 union cvmx_agl_gmx_txx_stat2 {
1057 uint64_t u64;
1058 struct cvmx_agl_gmx_txx_stat2_s {
1059 uint64_t reserved_48_63:16;
1060 uint64_t octs:48;
1061 } s;
1062 struct cvmx_agl_gmx_txx_stat2_s cn52xx;
1063 struct cvmx_agl_gmx_txx_stat2_s cn52xxp1;
1064 struct cvmx_agl_gmx_txx_stat2_s cn56xx;
1065 struct cvmx_agl_gmx_txx_stat2_s cn56xxp1;
1066 struct cvmx_agl_gmx_txx_stat2_s cn63xx;
1067 struct cvmx_agl_gmx_txx_stat2_s cn63xxp1;
1070 union cvmx_agl_gmx_txx_stat3 {
1071 uint64_t u64;
1072 struct cvmx_agl_gmx_txx_stat3_s {
1073 uint64_t reserved_32_63:32;
1074 uint64_t pkts:32;
1075 } s;
1076 struct cvmx_agl_gmx_txx_stat3_s cn52xx;
1077 struct cvmx_agl_gmx_txx_stat3_s cn52xxp1;
1078 struct cvmx_agl_gmx_txx_stat3_s cn56xx;
1079 struct cvmx_agl_gmx_txx_stat3_s cn56xxp1;
1080 struct cvmx_agl_gmx_txx_stat3_s cn63xx;
1081 struct cvmx_agl_gmx_txx_stat3_s cn63xxp1;
1084 union cvmx_agl_gmx_txx_stat4 {
1085 uint64_t u64;
1086 struct cvmx_agl_gmx_txx_stat4_s {
1087 uint64_t hist1:32;
1088 uint64_t hist0:32;
1089 } s;
1090 struct cvmx_agl_gmx_txx_stat4_s cn52xx;
1091 struct cvmx_agl_gmx_txx_stat4_s cn52xxp1;
1092 struct cvmx_agl_gmx_txx_stat4_s cn56xx;
1093 struct cvmx_agl_gmx_txx_stat4_s cn56xxp1;
1094 struct cvmx_agl_gmx_txx_stat4_s cn63xx;
1095 struct cvmx_agl_gmx_txx_stat4_s cn63xxp1;
1098 union cvmx_agl_gmx_txx_stat5 {
1099 uint64_t u64;
1100 struct cvmx_agl_gmx_txx_stat5_s {
1101 uint64_t hist3:32;
1102 uint64_t hist2:32;
1103 } s;
1104 struct cvmx_agl_gmx_txx_stat5_s cn52xx;
1105 struct cvmx_agl_gmx_txx_stat5_s cn52xxp1;
1106 struct cvmx_agl_gmx_txx_stat5_s cn56xx;
1107 struct cvmx_agl_gmx_txx_stat5_s cn56xxp1;
1108 struct cvmx_agl_gmx_txx_stat5_s cn63xx;
1109 struct cvmx_agl_gmx_txx_stat5_s cn63xxp1;
1112 union cvmx_agl_gmx_txx_stat6 {
1113 uint64_t u64;
1114 struct cvmx_agl_gmx_txx_stat6_s {
1115 uint64_t hist5:32;
1116 uint64_t hist4:32;
1117 } s;
1118 struct cvmx_agl_gmx_txx_stat6_s cn52xx;
1119 struct cvmx_agl_gmx_txx_stat6_s cn52xxp1;
1120 struct cvmx_agl_gmx_txx_stat6_s cn56xx;
1121 struct cvmx_agl_gmx_txx_stat6_s cn56xxp1;
1122 struct cvmx_agl_gmx_txx_stat6_s cn63xx;
1123 struct cvmx_agl_gmx_txx_stat6_s cn63xxp1;
1126 union cvmx_agl_gmx_txx_stat7 {
1127 uint64_t u64;
1128 struct cvmx_agl_gmx_txx_stat7_s {
1129 uint64_t hist7:32;
1130 uint64_t hist6:32;
1131 } s;
1132 struct cvmx_agl_gmx_txx_stat7_s cn52xx;
1133 struct cvmx_agl_gmx_txx_stat7_s cn52xxp1;
1134 struct cvmx_agl_gmx_txx_stat7_s cn56xx;
1135 struct cvmx_agl_gmx_txx_stat7_s cn56xxp1;
1136 struct cvmx_agl_gmx_txx_stat7_s cn63xx;
1137 struct cvmx_agl_gmx_txx_stat7_s cn63xxp1;
1140 union cvmx_agl_gmx_txx_stat8 {
1141 uint64_t u64;
1142 struct cvmx_agl_gmx_txx_stat8_s {
1143 uint64_t mcst:32;
1144 uint64_t bcst:32;
1145 } s;
1146 struct cvmx_agl_gmx_txx_stat8_s cn52xx;
1147 struct cvmx_agl_gmx_txx_stat8_s cn52xxp1;
1148 struct cvmx_agl_gmx_txx_stat8_s cn56xx;
1149 struct cvmx_agl_gmx_txx_stat8_s cn56xxp1;
1150 struct cvmx_agl_gmx_txx_stat8_s cn63xx;
1151 struct cvmx_agl_gmx_txx_stat8_s cn63xxp1;
1154 union cvmx_agl_gmx_txx_stat9 {
1155 uint64_t u64;
1156 struct cvmx_agl_gmx_txx_stat9_s {
1157 uint64_t undflw:32;
1158 uint64_t ctl:32;
1159 } s;
1160 struct cvmx_agl_gmx_txx_stat9_s cn52xx;
1161 struct cvmx_agl_gmx_txx_stat9_s cn52xxp1;
1162 struct cvmx_agl_gmx_txx_stat9_s cn56xx;
1163 struct cvmx_agl_gmx_txx_stat9_s cn56xxp1;
1164 struct cvmx_agl_gmx_txx_stat9_s cn63xx;
1165 struct cvmx_agl_gmx_txx_stat9_s cn63xxp1;
1168 union cvmx_agl_gmx_txx_stats_ctl {
1169 uint64_t u64;
1170 struct cvmx_agl_gmx_txx_stats_ctl_s {
1171 uint64_t reserved_1_63:63;
1172 uint64_t rd_clr:1;
1173 } s;
1174 struct cvmx_agl_gmx_txx_stats_ctl_s cn52xx;
1175 struct cvmx_agl_gmx_txx_stats_ctl_s cn52xxp1;
1176 struct cvmx_agl_gmx_txx_stats_ctl_s cn56xx;
1177 struct cvmx_agl_gmx_txx_stats_ctl_s cn56xxp1;
1178 struct cvmx_agl_gmx_txx_stats_ctl_s cn63xx;
1179 struct cvmx_agl_gmx_txx_stats_ctl_s cn63xxp1;
1182 union cvmx_agl_gmx_txx_thresh {
1183 uint64_t u64;
1184 struct cvmx_agl_gmx_txx_thresh_s {
1185 uint64_t reserved_6_63:58;
1186 uint64_t cnt:6;
1187 } s;
1188 struct cvmx_agl_gmx_txx_thresh_s cn52xx;
1189 struct cvmx_agl_gmx_txx_thresh_s cn52xxp1;
1190 struct cvmx_agl_gmx_txx_thresh_s cn56xx;
1191 struct cvmx_agl_gmx_txx_thresh_s cn56xxp1;
1192 struct cvmx_agl_gmx_txx_thresh_s cn63xx;
1193 struct cvmx_agl_gmx_txx_thresh_s cn63xxp1;
1196 union cvmx_agl_gmx_tx_bp {
1197 uint64_t u64;
1198 struct cvmx_agl_gmx_tx_bp_s {
1199 uint64_t reserved_2_63:62;
1200 uint64_t bp:2;
1201 } s;
1202 struct cvmx_agl_gmx_tx_bp_s cn52xx;
1203 struct cvmx_agl_gmx_tx_bp_s cn52xxp1;
1204 struct cvmx_agl_gmx_tx_bp_cn56xx {
1205 uint64_t reserved_1_63:63;
1206 uint64_t bp:1;
1207 } cn56xx;
1208 struct cvmx_agl_gmx_tx_bp_cn56xx cn56xxp1;
1209 struct cvmx_agl_gmx_tx_bp_s cn63xx;
1210 struct cvmx_agl_gmx_tx_bp_s cn63xxp1;
1213 union cvmx_agl_gmx_tx_col_attempt {
1214 uint64_t u64;
1215 struct cvmx_agl_gmx_tx_col_attempt_s {
1216 uint64_t reserved_5_63:59;
1217 uint64_t limit:5;
1218 } s;
1219 struct cvmx_agl_gmx_tx_col_attempt_s cn52xx;
1220 struct cvmx_agl_gmx_tx_col_attempt_s cn52xxp1;
1221 struct cvmx_agl_gmx_tx_col_attempt_s cn56xx;
1222 struct cvmx_agl_gmx_tx_col_attempt_s cn56xxp1;
1223 struct cvmx_agl_gmx_tx_col_attempt_s cn63xx;
1224 struct cvmx_agl_gmx_tx_col_attempt_s cn63xxp1;
1227 union cvmx_agl_gmx_tx_ifg {
1228 uint64_t u64;
1229 struct cvmx_agl_gmx_tx_ifg_s {
1230 uint64_t reserved_8_63:56;
1231 uint64_t ifg2:4;
1232 uint64_t ifg1:4;
1233 } s;
1234 struct cvmx_agl_gmx_tx_ifg_s cn52xx;
1235 struct cvmx_agl_gmx_tx_ifg_s cn52xxp1;
1236 struct cvmx_agl_gmx_tx_ifg_s cn56xx;
1237 struct cvmx_agl_gmx_tx_ifg_s cn56xxp1;
1238 struct cvmx_agl_gmx_tx_ifg_s cn63xx;
1239 struct cvmx_agl_gmx_tx_ifg_s cn63xxp1;
1242 union cvmx_agl_gmx_tx_int_en {
1243 uint64_t u64;
1244 struct cvmx_agl_gmx_tx_int_en_s {
1245 uint64_t reserved_22_63:42;
1246 uint64_t ptp_lost:2;
1247 uint64_t reserved_18_19:2;
1248 uint64_t late_col:2;
1249 uint64_t reserved_14_15:2;
1250 uint64_t xsdef:2;
1251 uint64_t reserved_10_11:2;
1252 uint64_t xscol:2;
1253 uint64_t reserved_4_7:4;
1254 uint64_t undflw:2;
1255 uint64_t reserved_1_1:1;
1256 uint64_t pko_nxa:1;
1257 } s;
1258 struct cvmx_agl_gmx_tx_int_en_cn52xx {
1259 uint64_t reserved_18_63:46;
1260 uint64_t late_col:2;
1261 uint64_t reserved_14_15:2;
1262 uint64_t xsdef:2;
1263 uint64_t reserved_10_11:2;
1264 uint64_t xscol:2;
1265 uint64_t reserved_4_7:4;
1266 uint64_t undflw:2;
1267 uint64_t reserved_1_1:1;
1268 uint64_t pko_nxa:1;
1269 } cn52xx;
1270 struct cvmx_agl_gmx_tx_int_en_cn52xx cn52xxp1;
1271 struct cvmx_agl_gmx_tx_int_en_cn56xx {
1272 uint64_t reserved_17_63:47;
1273 uint64_t late_col:1;
1274 uint64_t reserved_13_15:3;
1275 uint64_t xsdef:1;
1276 uint64_t reserved_9_11:3;
1277 uint64_t xscol:1;
1278 uint64_t reserved_3_7:5;
1279 uint64_t undflw:1;
1280 uint64_t reserved_1_1:1;
1281 uint64_t pko_nxa:1;
1282 } cn56xx;
1283 struct cvmx_agl_gmx_tx_int_en_cn56xx cn56xxp1;
1284 struct cvmx_agl_gmx_tx_int_en_s cn63xx;
1285 struct cvmx_agl_gmx_tx_int_en_s cn63xxp1;
1288 union cvmx_agl_gmx_tx_int_reg {
1289 uint64_t u64;
1290 struct cvmx_agl_gmx_tx_int_reg_s {
1291 uint64_t reserved_22_63:42;
1292 uint64_t ptp_lost:2;
1293 uint64_t reserved_18_19:2;
1294 uint64_t late_col:2;
1295 uint64_t reserved_14_15:2;
1296 uint64_t xsdef:2;
1297 uint64_t reserved_10_11:2;
1298 uint64_t xscol:2;
1299 uint64_t reserved_4_7:4;
1300 uint64_t undflw:2;
1301 uint64_t reserved_1_1:1;
1302 uint64_t pko_nxa:1;
1303 } s;
1304 struct cvmx_agl_gmx_tx_int_reg_cn52xx {
1305 uint64_t reserved_18_63:46;
1306 uint64_t late_col:2;
1307 uint64_t reserved_14_15:2;
1308 uint64_t xsdef:2;
1309 uint64_t reserved_10_11:2;
1310 uint64_t xscol:2;
1311 uint64_t reserved_4_7:4;
1312 uint64_t undflw:2;
1313 uint64_t reserved_1_1:1;
1314 uint64_t pko_nxa:1;
1315 } cn52xx;
1316 struct cvmx_agl_gmx_tx_int_reg_cn52xx cn52xxp1;
1317 struct cvmx_agl_gmx_tx_int_reg_cn56xx {
1318 uint64_t reserved_17_63:47;
1319 uint64_t late_col:1;
1320 uint64_t reserved_13_15:3;
1321 uint64_t xsdef:1;
1322 uint64_t reserved_9_11:3;
1323 uint64_t xscol:1;
1324 uint64_t reserved_3_7:5;
1325 uint64_t undflw:1;
1326 uint64_t reserved_1_1:1;
1327 uint64_t pko_nxa:1;
1328 } cn56xx;
1329 struct cvmx_agl_gmx_tx_int_reg_cn56xx cn56xxp1;
1330 struct cvmx_agl_gmx_tx_int_reg_s cn63xx;
1331 struct cvmx_agl_gmx_tx_int_reg_s cn63xxp1;
1334 union cvmx_agl_gmx_tx_jam {
1335 uint64_t u64;
1336 struct cvmx_agl_gmx_tx_jam_s {
1337 uint64_t reserved_8_63:56;
1338 uint64_t jam:8;
1339 } s;
1340 struct cvmx_agl_gmx_tx_jam_s cn52xx;
1341 struct cvmx_agl_gmx_tx_jam_s cn52xxp1;
1342 struct cvmx_agl_gmx_tx_jam_s cn56xx;
1343 struct cvmx_agl_gmx_tx_jam_s cn56xxp1;
1344 struct cvmx_agl_gmx_tx_jam_s cn63xx;
1345 struct cvmx_agl_gmx_tx_jam_s cn63xxp1;
1348 union cvmx_agl_gmx_tx_lfsr {
1349 uint64_t u64;
1350 struct cvmx_agl_gmx_tx_lfsr_s {
1351 uint64_t reserved_16_63:48;
1352 uint64_t lfsr:16;
1353 } s;
1354 struct cvmx_agl_gmx_tx_lfsr_s cn52xx;
1355 struct cvmx_agl_gmx_tx_lfsr_s cn52xxp1;
1356 struct cvmx_agl_gmx_tx_lfsr_s cn56xx;
1357 struct cvmx_agl_gmx_tx_lfsr_s cn56xxp1;
1358 struct cvmx_agl_gmx_tx_lfsr_s cn63xx;
1359 struct cvmx_agl_gmx_tx_lfsr_s cn63xxp1;
1362 union cvmx_agl_gmx_tx_ovr_bp {
1363 uint64_t u64;
1364 struct cvmx_agl_gmx_tx_ovr_bp_s {
1365 uint64_t reserved_10_63:54;
1366 uint64_t en:2;
1367 uint64_t reserved_6_7:2;
1368 uint64_t bp:2;
1369 uint64_t reserved_2_3:2;
1370 uint64_t ign_full:2;
1371 } s;
1372 struct cvmx_agl_gmx_tx_ovr_bp_s cn52xx;
1373 struct cvmx_agl_gmx_tx_ovr_bp_s cn52xxp1;
1374 struct cvmx_agl_gmx_tx_ovr_bp_cn56xx {
1375 uint64_t reserved_9_63:55;
1376 uint64_t en:1;
1377 uint64_t reserved_5_7:3;
1378 uint64_t bp:1;
1379 uint64_t reserved_1_3:3;
1380 uint64_t ign_full:1;
1381 } cn56xx;
1382 struct cvmx_agl_gmx_tx_ovr_bp_cn56xx cn56xxp1;
1383 struct cvmx_agl_gmx_tx_ovr_bp_s cn63xx;
1384 struct cvmx_agl_gmx_tx_ovr_bp_s cn63xxp1;
1387 union cvmx_agl_gmx_tx_pause_pkt_dmac {
1388 uint64_t u64;
1389 struct cvmx_agl_gmx_tx_pause_pkt_dmac_s {
1390 uint64_t reserved_48_63:16;
1391 uint64_t dmac:48;
1392 } s;
1393 struct cvmx_agl_gmx_tx_pause_pkt_dmac_s cn52xx;
1394 struct cvmx_agl_gmx_tx_pause_pkt_dmac_s cn52xxp1;
1395 struct cvmx_agl_gmx_tx_pause_pkt_dmac_s cn56xx;
1396 struct cvmx_agl_gmx_tx_pause_pkt_dmac_s cn56xxp1;
1397 struct cvmx_agl_gmx_tx_pause_pkt_dmac_s cn63xx;
1398 struct cvmx_agl_gmx_tx_pause_pkt_dmac_s cn63xxp1;
1401 union cvmx_agl_gmx_tx_pause_pkt_type {
1402 uint64_t u64;
1403 struct cvmx_agl_gmx_tx_pause_pkt_type_s {
1404 uint64_t reserved_16_63:48;
1405 uint64_t type:16;
1406 } s;
1407 struct cvmx_agl_gmx_tx_pause_pkt_type_s cn52xx;
1408 struct cvmx_agl_gmx_tx_pause_pkt_type_s cn52xxp1;
1409 struct cvmx_agl_gmx_tx_pause_pkt_type_s cn56xx;
1410 struct cvmx_agl_gmx_tx_pause_pkt_type_s cn56xxp1;
1411 struct cvmx_agl_gmx_tx_pause_pkt_type_s cn63xx;
1412 struct cvmx_agl_gmx_tx_pause_pkt_type_s cn63xxp1;
1415 union cvmx_agl_prtx_ctl {
1416 uint64_t u64;
1417 struct cvmx_agl_prtx_ctl_s {
1418 uint64_t drv_byp:1;
1419 uint64_t reserved_62_62:1;
1420 uint64_t cmp_pctl:6;
1421 uint64_t reserved_54_55:2;
1422 uint64_t cmp_nctl:6;
1423 uint64_t reserved_46_47:2;
1424 uint64_t drv_pctl:6;
1425 uint64_t reserved_38_39:2;
1426 uint64_t drv_nctl:6;
1427 uint64_t reserved_29_31:3;
1428 uint64_t clk_set:5;
1429 uint64_t clkrx_byp:1;
1430 uint64_t reserved_21_22:2;
1431 uint64_t clkrx_set:5;
1432 uint64_t clktx_byp:1;
1433 uint64_t reserved_13_14:2;
1434 uint64_t clktx_set:5;
1435 uint64_t reserved_5_7:3;
1436 uint64_t dllrst:1;
1437 uint64_t comp:1;
1438 uint64_t enable:1;
1439 uint64_t clkrst:1;
1440 uint64_t mode:1;
1441 } s;
1442 struct cvmx_agl_prtx_ctl_s cn63xx;
1443 struct cvmx_agl_prtx_ctl_s cn63xxp1;
1446 #endif