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