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_GMXX_DEFS_H__ 29 #define __CVMX_GMXX_DEFS_H__ 30 31 static inline uint64_t CVMX_GMXX_BAD_REG(unsigned long block_id) 32 { 33 switch (cvmx_get_octeon_family()) { 34 case OCTEON_CN30XX & OCTEON_FAMILY_MASK: 35 case OCTEON_CN50XX & OCTEON_FAMILY_MASK: 36 case OCTEON_CN31XX & OCTEON_FAMILY_MASK: 37 case OCTEON_CN52XX & OCTEON_FAMILY_MASK: 38 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK: 39 case OCTEON_CN63XX & OCTEON_FAMILY_MASK: 40 return CVMX_ADD_IO_SEG(0x0001180008000518ull) + (block_id) * 0x8000000ull; 41 case OCTEON_CN56XX & OCTEON_FAMILY_MASK: 42 case OCTEON_CN66XX & OCTEON_FAMILY_MASK: 43 case OCTEON_CN38XX & OCTEON_FAMILY_MASK: 44 case OCTEON_CN58XX & OCTEON_FAMILY_MASK: 45 case OCTEON_CN61XX & OCTEON_FAMILY_MASK: 46 return CVMX_ADD_IO_SEG(0x0001180008000518ull) + (block_id) * 0x8000000ull; 47 case OCTEON_CN68XX & OCTEON_FAMILY_MASK: 48 return CVMX_ADD_IO_SEG(0x0001180008000518ull) + (block_id) * 0x1000000ull; 49 } 50 return CVMX_ADD_IO_SEG(0x0001180008000518ull) + (block_id) * 0x8000000ull; 51 } 52 53 static inline uint64_t CVMX_GMXX_BIST(unsigned long block_id) 54 { 55 switch (cvmx_get_octeon_family()) { 56 case OCTEON_CN30XX & OCTEON_FAMILY_MASK: 57 case OCTEON_CN50XX & OCTEON_FAMILY_MASK: 58 case OCTEON_CN31XX & OCTEON_FAMILY_MASK: 59 case OCTEON_CN52XX & OCTEON_FAMILY_MASK: 60 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK: 61 case OCTEON_CN63XX & OCTEON_FAMILY_MASK: 62 return CVMX_ADD_IO_SEG(0x0001180008000400ull) + (block_id) * 0x8000000ull; 63 case OCTEON_CN56XX & OCTEON_FAMILY_MASK: 64 case OCTEON_CN66XX & OCTEON_FAMILY_MASK: 65 case OCTEON_CN38XX & OCTEON_FAMILY_MASK: 66 case OCTEON_CN58XX & OCTEON_FAMILY_MASK: 67 case OCTEON_CN61XX & OCTEON_FAMILY_MASK: 68 return CVMX_ADD_IO_SEG(0x0001180008000400ull) + (block_id) * 0x8000000ull; 69 case OCTEON_CN68XX & OCTEON_FAMILY_MASK: 70 return CVMX_ADD_IO_SEG(0x0001180008000400ull) + (block_id) * 0x1000000ull; 71 } 72 return CVMX_ADD_IO_SEG(0x0001180008000400ull) + (block_id) * 0x8000000ull; 73 } 74 75 #define CVMX_GMXX_BPID_MAPX(offset, block_id) (CVMX_ADD_IO_SEG(0x0001180008000680ull) + (((offset) & 15) + ((block_id) & 7) * 0x200000ull) * 8) 76 #define CVMX_GMXX_BPID_MSK(block_id) (CVMX_ADD_IO_SEG(0x0001180008000700ull) + ((block_id) & 7) * 0x1000000ull) 77 static inline uint64_t CVMX_GMXX_CLK_EN(unsigned long block_id) 78 { 79 switch (cvmx_get_octeon_family()) { 80 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK: 81 case OCTEON_CN52XX & OCTEON_FAMILY_MASK: 82 case OCTEON_CN63XX & OCTEON_FAMILY_MASK: 83 return CVMX_ADD_IO_SEG(0x00011800080007F0ull) + (block_id) * 0x8000000ull; 84 case OCTEON_CN56XX & OCTEON_FAMILY_MASK: 85 case OCTEON_CN66XX & OCTEON_FAMILY_MASK: 86 case OCTEON_CN61XX & OCTEON_FAMILY_MASK: 87 return CVMX_ADD_IO_SEG(0x00011800080007F0ull) + (block_id) * 0x8000000ull; 88 case OCTEON_CN68XX & OCTEON_FAMILY_MASK: 89 return CVMX_ADD_IO_SEG(0x00011800080007F0ull) + (block_id) * 0x1000000ull; 90 } 91 return CVMX_ADD_IO_SEG(0x00011800080007F0ull) + (block_id) * 0x8000000ull; 92 } 93 94 #define CVMX_GMXX_EBP_DIS(block_id) (CVMX_ADD_IO_SEG(0x0001180008000608ull) + ((block_id) & 7) * 0x1000000ull) 95 #define CVMX_GMXX_EBP_MSK(block_id) (CVMX_ADD_IO_SEG(0x0001180008000600ull) + ((block_id) & 7) * 0x1000000ull) 96 static inline uint64_t CVMX_GMXX_HG2_CONTROL(unsigned long block_id) 97 { 98 switch (cvmx_get_octeon_family()) { 99 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK: 100 case OCTEON_CN52XX & OCTEON_FAMILY_MASK: 101 case OCTEON_CN63XX & OCTEON_FAMILY_MASK: 102 return CVMX_ADD_IO_SEG(0x0001180008000550ull) + (block_id) * 0x8000000ull; 103 case OCTEON_CN56XX & OCTEON_FAMILY_MASK: 104 case OCTEON_CN66XX & OCTEON_FAMILY_MASK: 105 case OCTEON_CN61XX & OCTEON_FAMILY_MASK: 106 return CVMX_ADD_IO_SEG(0x0001180008000550ull) + (block_id) * 0x8000000ull; 107 case OCTEON_CN68XX & OCTEON_FAMILY_MASK: 108 return CVMX_ADD_IO_SEG(0x0001180008000550ull) + (block_id) * 0x1000000ull; 109 } 110 return CVMX_ADD_IO_SEG(0x0001180008000550ull) + (block_id) * 0x8000000ull; 111 } 112 113 static inline uint64_t CVMX_GMXX_INF_MODE(unsigned long block_id) 114 { 115 switch (cvmx_get_octeon_family()) { 116 case OCTEON_CN30XX & OCTEON_FAMILY_MASK: 117 case OCTEON_CN50XX & OCTEON_FAMILY_MASK: 118 case OCTEON_CN31XX & OCTEON_FAMILY_MASK: 119 case OCTEON_CN52XX & OCTEON_FAMILY_MASK: 120 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK: 121 case OCTEON_CN63XX & OCTEON_FAMILY_MASK: 122 return CVMX_ADD_IO_SEG(0x00011800080007F8ull) + (block_id) * 0x8000000ull; 123 case OCTEON_CN56XX & OCTEON_FAMILY_MASK: 124 case OCTEON_CN66XX & OCTEON_FAMILY_MASK: 125 case OCTEON_CN38XX & OCTEON_FAMILY_MASK: 126 case OCTEON_CN58XX & OCTEON_FAMILY_MASK: 127 case OCTEON_CN61XX & OCTEON_FAMILY_MASK: 128 return CVMX_ADD_IO_SEG(0x00011800080007F8ull) + (block_id) * 0x8000000ull; 129 case OCTEON_CN68XX & OCTEON_FAMILY_MASK: 130 return CVMX_ADD_IO_SEG(0x00011800080007F8ull) + (block_id) * 0x1000000ull; 131 } 132 return CVMX_ADD_IO_SEG(0x00011800080007F8ull) + (block_id) * 0x8000000ull; 133 } 134 135 static inline uint64_t CVMX_GMXX_NXA_ADR(unsigned long block_id) 136 { 137 switch (cvmx_get_octeon_family()) { 138 case OCTEON_CN30XX & OCTEON_FAMILY_MASK: 139 case OCTEON_CN50XX & OCTEON_FAMILY_MASK: 140 case OCTEON_CN31XX & OCTEON_FAMILY_MASK: 141 case OCTEON_CN52XX & OCTEON_FAMILY_MASK: 142 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK: 143 case OCTEON_CN63XX & OCTEON_FAMILY_MASK: 144 return CVMX_ADD_IO_SEG(0x0001180008000510ull) + (block_id) * 0x8000000ull; 145 case OCTEON_CN56XX & OCTEON_FAMILY_MASK: 146 case OCTEON_CN66XX & OCTEON_FAMILY_MASK: 147 case OCTEON_CN38XX & OCTEON_FAMILY_MASK: 148 case OCTEON_CN58XX & OCTEON_FAMILY_MASK: 149 case OCTEON_CN61XX & OCTEON_FAMILY_MASK: 150 return CVMX_ADD_IO_SEG(0x0001180008000510ull) + (block_id) * 0x8000000ull; 151 case OCTEON_CN68XX & OCTEON_FAMILY_MASK: 152 return CVMX_ADD_IO_SEG(0x0001180008000510ull) + (block_id) * 0x1000000ull; 153 } 154 return CVMX_ADD_IO_SEG(0x0001180008000510ull) + (block_id) * 0x8000000ull; 155 } 156 157 #define CVMX_GMXX_PIPE_STATUS(block_id) (CVMX_ADD_IO_SEG(0x0001180008000760ull) + ((block_id) & 7) * 0x1000000ull) 158 static inline uint64_t CVMX_GMXX_PRTX_CBFC_CTL(unsigned long offset, unsigned long block_id) 159 { 160 switch (cvmx_get_octeon_family()) { 161 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK: 162 case OCTEON_CN52XX & OCTEON_FAMILY_MASK: 163 case OCTEON_CN63XX & OCTEON_FAMILY_MASK: 164 return CVMX_ADD_IO_SEG(0x0001180008000580ull) + (block_id) * 0x8000000ull; 165 case OCTEON_CN56XX & OCTEON_FAMILY_MASK: 166 case OCTEON_CN66XX & OCTEON_FAMILY_MASK: 167 case OCTEON_CN61XX & OCTEON_FAMILY_MASK: 168 return CVMX_ADD_IO_SEG(0x0001180008000580ull) + (block_id) * 0x8000000ull; 169 case OCTEON_CN68XX & OCTEON_FAMILY_MASK: 170 return CVMX_ADD_IO_SEG(0x0001180008000580ull) + (block_id) * 0x1000000ull; 171 } 172 return CVMX_ADD_IO_SEG(0x0001180008000580ull) + (block_id) * 0x8000000ull; 173 } 174 175 static inline uint64_t CVMX_GMXX_PRTX_CFG(unsigned long offset, unsigned long block_id) 176 { 177 switch (cvmx_get_octeon_family()) { 178 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK: 179 return CVMX_ADD_IO_SEG(0x0001180008000010ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 180 case OCTEON_CN30XX & OCTEON_FAMILY_MASK: 181 case OCTEON_CN50XX & OCTEON_FAMILY_MASK: 182 return CVMX_ADD_IO_SEG(0x0001180008000010ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 183 case OCTEON_CN63XX & OCTEON_FAMILY_MASK: 184 case OCTEON_CN52XX & OCTEON_FAMILY_MASK: 185 return CVMX_ADD_IO_SEG(0x0001180008000010ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 186 case OCTEON_CN56XX & OCTEON_FAMILY_MASK: 187 case OCTEON_CN66XX & OCTEON_FAMILY_MASK: 188 case OCTEON_CN38XX & OCTEON_FAMILY_MASK: 189 case OCTEON_CN61XX & OCTEON_FAMILY_MASK: 190 case OCTEON_CN58XX & OCTEON_FAMILY_MASK: 191 return CVMX_ADD_IO_SEG(0x0001180008000010ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 192 case OCTEON_CN31XX & OCTEON_FAMILY_MASK: 193 return CVMX_ADD_IO_SEG(0x0001180008000010ull) + ((offset) + (block_id) * 0x0ull) * 2048; 194 case OCTEON_CN68XX & OCTEON_FAMILY_MASK: 195 return CVMX_ADD_IO_SEG(0x0001180008000010ull) + ((offset) + (block_id) * 0x2000ull) * 2048; 196 } 197 return CVMX_ADD_IO_SEG(0x0001180008000010ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 198 } 199 200 #define CVMX_GMXX_RXAUI_CTL(block_id) (CVMX_ADD_IO_SEG(0x0001180008000740ull) + ((block_id) & 7) * 0x1000000ull) 201 static inline uint64_t CVMX_GMXX_RXX_ADR_CAM0(unsigned long offset, unsigned long block_id) 202 { 203 switch (cvmx_get_octeon_family()) { 204 case OCTEON_CN52XX & OCTEON_FAMILY_MASK: 205 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK: 206 case OCTEON_CN63XX & OCTEON_FAMILY_MASK: 207 return CVMX_ADD_IO_SEG(0x0001180008000180ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 208 case OCTEON_CN30XX & OCTEON_FAMILY_MASK: 209 case OCTEON_CN50XX & OCTEON_FAMILY_MASK: 210 return CVMX_ADD_IO_SEG(0x0001180008000180ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 211 case OCTEON_CN56XX & OCTEON_FAMILY_MASK: 212 case OCTEON_CN66XX & OCTEON_FAMILY_MASK: 213 case OCTEON_CN38XX & OCTEON_FAMILY_MASK: 214 case OCTEON_CN61XX & OCTEON_FAMILY_MASK: 215 case OCTEON_CN58XX & OCTEON_FAMILY_MASK: 216 return CVMX_ADD_IO_SEG(0x0001180008000180ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 217 case OCTEON_CN31XX & OCTEON_FAMILY_MASK: 218 return CVMX_ADD_IO_SEG(0x0001180008000180ull) + ((offset) + (block_id) * 0x0ull) * 2048; 219 case OCTEON_CN68XX & OCTEON_FAMILY_MASK: 220 return CVMX_ADD_IO_SEG(0x0001180008000180ull) + ((offset) + (block_id) * 0x2000ull) * 2048; 221 } 222 return CVMX_ADD_IO_SEG(0x0001180008000180ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 223 } 224 225 static inline uint64_t CVMX_GMXX_RXX_ADR_CAM1(unsigned long offset, unsigned long block_id) 226 { 227 switch (cvmx_get_octeon_family()) { 228 case OCTEON_CN52XX & OCTEON_FAMILY_MASK: 229 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK: 230 case OCTEON_CN63XX & OCTEON_FAMILY_MASK: 231 return CVMX_ADD_IO_SEG(0x0001180008000188ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 232 case OCTEON_CN30XX & OCTEON_FAMILY_MASK: 233 case OCTEON_CN50XX & OCTEON_FAMILY_MASK: 234 return CVMX_ADD_IO_SEG(0x0001180008000188ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 235 case OCTEON_CN56XX & OCTEON_FAMILY_MASK: 236 case OCTEON_CN66XX & OCTEON_FAMILY_MASK: 237 case OCTEON_CN38XX & OCTEON_FAMILY_MASK: 238 case OCTEON_CN61XX & OCTEON_FAMILY_MASK: 239 case OCTEON_CN58XX & OCTEON_FAMILY_MASK: 240 return CVMX_ADD_IO_SEG(0x0001180008000188ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 241 case OCTEON_CN31XX & OCTEON_FAMILY_MASK: 242 return CVMX_ADD_IO_SEG(0x0001180008000188ull) + ((offset) + (block_id) * 0x0ull) * 2048; 243 case OCTEON_CN68XX & OCTEON_FAMILY_MASK: 244 return CVMX_ADD_IO_SEG(0x0001180008000188ull) + ((offset) + (block_id) * 0x2000ull) * 2048; 245 } 246 return CVMX_ADD_IO_SEG(0x0001180008000188ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 247 } 248 249 static inline uint64_t CVMX_GMXX_RXX_ADR_CAM2(unsigned long offset, unsigned long block_id) 250 { 251 switch (cvmx_get_octeon_family()) { 252 case OCTEON_CN52XX & OCTEON_FAMILY_MASK: 253 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK: 254 case OCTEON_CN63XX & OCTEON_FAMILY_MASK: 255 return CVMX_ADD_IO_SEG(0x0001180008000190ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 256 case OCTEON_CN30XX & OCTEON_FAMILY_MASK: 257 case OCTEON_CN50XX & OCTEON_FAMILY_MASK: 258 return CVMX_ADD_IO_SEG(0x0001180008000190ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 259 case OCTEON_CN56XX & OCTEON_FAMILY_MASK: 260 case OCTEON_CN66XX & OCTEON_FAMILY_MASK: 261 case OCTEON_CN38XX & OCTEON_FAMILY_MASK: 262 case OCTEON_CN61XX & OCTEON_FAMILY_MASK: 263 case OCTEON_CN58XX & OCTEON_FAMILY_MASK: 264 return CVMX_ADD_IO_SEG(0x0001180008000190ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 265 case OCTEON_CN31XX & OCTEON_FAMILY_MASK: 266 return CVMX_ADD_IO_SEG(0x0001180008000190ull) + ((offset) + (block_id) * 0x0ull) * 2048; 267 case OCTEON_CN68XX & OCTEON_FAMILY_MASK: 268 return CVMX_ADD_IO_SEG(0x0001180008000190ull) + ((offset) + (block_id) * 0x2000ull) * 2048; 269 } 270 return CVMX_ADD_IO_SEG(0x0001180008000190ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 271 } 272 273 static inline uint64_t CVMX_GMXX_RXX_ADR_CAM3(unsigned long offset, unsigned long block_id) 274 { 275 switch (cvmx_get_octeon_family()) { 276 case OCTEON_CN52XX & OCTEON_FAMILY_MASK: 277 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK: 278 case OCTEON_CN63XX & OCTEON_FAMILY_MASK: 279 return CVMX_ADD_IO_SEG(0x0001180008000198ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 280 case OCTEON_CN30XX & OCTEON_FAMILY_MASK: 281 case OCTEON_CN50XX & OCTEON_FAMILY_MASK: 282 return CVMX_ADD_IO_SEG(0x0001180008000198ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 283 case OCTEON_CN56XX & OCTEON_FAMILY_MASK: 284 case OCTEON_CN66XX & OCTEON_FAMILY_MASK: 285 case OCTEON_CN38XX & OCTEON_FAMILY_MASK: 286 case OCTEON_CN61XX & OCTEON_FAMILY_MASK: 287 case OCTEON_CN58XX & OCTEON_FAMILY_MASK: 288 return CVMX_ADD_IO_SEG(0x0001180008000198ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 289 case OCTEON_CN31XX & OCTEON_FAMILY_MASK: 290 return CVMX_ADD_IO_SEG(0x0001180008000198ull) + ((offset) + (block_id) * 0x0ull) * 2048; 291 case OCTEON_CN68XX & OCTEON_FAMILY_MASK: 292 return CVMX_ADD_IO_SEG(0x0001180008000198ull) + ((offset) + (block_id) * 0x2000ull) * 2048; 293 } 294 return CVMX_ADD_IO_SEG(0x0001180008000198ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 295 } 296 297 static inline uint64_t CVMX_GMXX_RXX_ADR_CAM4(unsigned long offset, unsigned long block_id) 298 { 299 switch (cvmx_get_octeon_family()) { 300 case OCTEON_CN52XX & OCTEON_FAMILY_MASK: 301 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK: 302 case OCTEON_CN63XX & OCTEON_FAMILY_MASK: 303 return CVMX_ADD_IO_SEG(0x00011800080001A0ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 304 case OCTEON_CN30XX & OCTEON_FAMILY_MASK: 305 case OCTEON_CN50XX & OCTEON_FAMILY_MASK: 306 return CVMX_ADD_IO_SEG(0x00011800080001A0ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 307 case OCTEON_CN56XX & OCTEON_FAMILY_MASK: 308 case OCTEON_CN66XX & OCTEON_FAMILY_MASK: 309 case OCTEON_CN38XX & OCTEON_FAMILY_MASK: 310 case OCTEON_CN61XX & OCTEON_FAMILY_MASK: 311 case OCTEON_CN58XX & OCTEON_FAMILY_MASK: 312 return CVMX_ADD_IO_SEG(0x00011800080001A0ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 313 case OCTEON_CN31XX & OCTEON_FAMILY_MASK: 314 return CVMX_ADD_IO_SEG(0x00011800080001A0ull) + ((offset) + (block_id) * 0x0ull) * 2048; 315 case OCTEON_CN68XX & OCTEON_FAMILY_MASK: 316 return CVMX_ADD_IO_SEG(0x00011800080001A0ull) + ((offset) + (block_id) * 0x2000ull) * 2048; 317 } 318 return CVMX_ADD_IO_SEG(0x00011800080001A0ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 319 } 320 321 static inline uint64_t CVMX_GMXX_RXX_ADR_CAM5(unsigned long offset, unsigned long block_id) 322 { 323 switch (cvmx_get_octeon_family()) { 324 case OCTEON_CN52XX & OCTEON_FAMILY_MASK: 325 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK: 326 case OCTEON_CN63XX & OCTEON_FAMILY_MASK: 327 return CVMX_ADD_IO_SEG(0x00011800080001A8ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 328 case OCTEON_CN30XX & OCTEON_FAMILY_MASK: 329 case OCTEON_CN50XX & OCTEON_FAMILY_MASK: 330 return CVMX_ADD_IO_SEG(0x00011800080001A8ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 331 case OCTEON_CN56XX & OCTEON_FAMILY_MASK: 332 case OCTEON_CN66XX & OCTEON_FAMILY_MASK: 333 case OCTEON_CN38XX & OCTEON_FAMILY_MASK: 334 case OCTEON_CN61XX & OCTEON_FAMILY_MASK: 335 case OCTEON_CN58XX & OCTEON_FAMILY_MASK: 336 return CVMX_ADD_IO_SEG(0x00011800080001A8ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 337 case OCTEON_CN31XX & OCTEON_FAMILY_MASK: 338 return CVMX_ADD_IO_SEG(0x00011800080001A8ull) + ((offset) + (block_id) * 0x0ull) * 2048; 339 case OCTEON_CN68XX & OCTEON_FAMILY_MASK: 340 return CVMX_ADD_IO_SEG(0x00011800080001A8ull) + ((offset) + (block_id) * 0x2000ull) * 2048; 341 } 342 return CVMX_ADD_IO_SEG(0x00011800080001A8ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 343 } 344 345 static inline uint64_t CVMX_GMXX_RXX_ADR_CAM_ALL_EN(unsigned long offset, unsigned long block_id) 346 { 347 switch (cvmx_get_octeon_family()) { 348 case OCTEON_CN66XX & OCTEON_FAMILY_MASK: 349 case OCTEON_CN61XX & OCTEON_FAMILY_MASK: 350 return CVMX_ADD_IO_SEG(0x0001180008000110ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 351 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK: 352 return CVMX_ADD_IO_SEG(0x0001180008000110ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 353 case OCTEON_CN68XX & OCTEON_FAMILY_MASK: 354 return CVMX_ADD_IO_SEG(0x0001180008000110ull) + ((offset) + (block_id) * 0x2000ull) * 2048; 355 } 356 return CVMX_ADD_IO_SEG(0x0001180008000110ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 357 } 358 359 static inline uint64_t CVMX_GMXX_RXX_ADR_CAM_EN(unsigned long offset, unsigned long block_id) 360 { 361 switch (cvmx_get_octeon_family()) { 362 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK: 363 return CVMX_ADD_IO_SEG(0x0001180008000108ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 364 case OCTEON_CN30XX & OCTEON_FAMILY_MASK: 365 case OCTEON_CN50XX & OCTEON_FAMILY_MASK: 366 return CVMX_ADD_IO_SEG(0x0001180008000108ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 367 case OCTEON_CN63XX & OCTEON_FAMILY_MASK: 368 case OCTEON_CN52XX & OCTEON_FAMILY_MASK: 369 return CVMX_ADD_IO_SEG(0x0001180008000108ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 370 case OCTEON_CN56XX & OCTEON_FAMILY_MASK: 371 case OCTEON_CN66XX & OCTEON_FAMILY_MASK: 372 case OCTEON_CN38XX & OCTEON_FAMILY_MASK: 373 case OCTEON_CN61XX & OCTEON_FAMILY_MASK: 374 case OCTEON_CN58XX & OCTEON_FAMILY_MASK: 375 return CVMX_ADD_IO_SEG(0x0001180008000108ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 376 case OCTEON_CN31XX & OCTEON_FAMILY_MASK: 377 return CVMX_ADD_IO_SEG(0x0001180008000108ull) + ((offset) + (block_id) * 0x0ull) * 2048; 378 case OCTEON_CN68XX & OCTEON_FAMILY_MASK: 379 return CVMX_ADD_IO_SEG(0x0001180008000108ull) + ((offset) + (block_id) * 0x2000ull) * 2048; 380 } 381 return CVMX_ADD_IO_SEG(0x0001180008000108ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 382 } 383 384 static inline uint64_t CVMX_GMXX_RXX_ADR_CTL(unsigned long offset, unsigned long block_id) 385 { 386 switch (cvmx_get_octeon_family()) { 387 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK: 388 return CVMX_ADD_IO_SEG(0x0001180008000100ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 389 case OCTEON_CN30XX & OCTEON_FAMILY_MASK: 390 case OCTEON_CN50XX & OCTEON_FAMILY_MASK: 391 return CVMX_ADD_IO_SEG(0x0001180008000100ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 392 case OCTEON_CN63XX & OCTEON_FAMILY_MASK: 393 case OCTEON_CN52XX & OCTEON_FAMILY_MASK: 394 return CVMX_ADD_IO_SEG(0x0001180008000100ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 395 case OCTEON_CN56XX & OCTEON_FAMILY_MASK: 396 case OCTEON_CN66XX & OCTEON_FAMILY_MASK: 397 case OCTEON_CN38XX & OCTEON_FAMILY_MASK: 398 case OCTEON_CN61XX & OCTEON_FAMILY_MASK: 399 case OCTEON_CN58XX & OCTEON_FAMILY_MASK: 400 return CVMX_ADD_IO_SEG(0x0001180008000100ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 401 case OCTEON_CN31XX & OCTEON_FAMILY_MASK: 402 return CVMX_ADD_IO_SEG(0x0001180008000100ull) + ((offset) + (block_id) * 0x0ull) * 2048; 403 case OCTEON_CN68XX & OCTEON_FAMILY_MASK: 404 return CVMX_ADD_IO_SEG(0x0001180008000100ull) + ((offset) + (block_id) * 0x2000ull) * 2048; 405 } 406 return CVMX_ADD_IO_SEG(0x0001180008000100ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 407 } 408 409 static inline uint64_t CVMX_GMXX_RXX_DECISION(unsigned long offset, unsigned long block_id) 410 { 411 switch (cvmx_get_octeon_family()) { 412 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK: 413 return CVMX_ADD_IO_SEG(0x0001180008000040ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 414 case OCTEON_CN30XX & OCTEON_FAMILY_MASK: 415 case OCTEON_CN50XX & OCTEON_FAMILY_MASK: 416 return CVMX_ADD_IO_SEG(0x0001180008000040ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 417 case OCTEON_CN63XX & OCTEON_FAMILY_MASK: 418 case OCTEON_CN52XX & OCTEON_FAMILY_MASK: 419 return CVMX_ADD_IO_SEG(0x0001180008000040ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 420 case OCTEON_CN56XX & OCTEON_FAMILY_MASK: 421 case OCTEON_CN66XX & OCTEON_FAMILY_MASK: 422 case OCTEON_CN38XX & OCTEON_FAMILY_MASK: 423 case OCTEON_CN61XX & OCTEON_FAMILY_MASK: 424 case OCTEON_CN58XX & OCTEON_FAMILY_MASK: 425 return CVMX_ADD_IO_SEG(0x0001180008000040ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 426 case OCTEON_CN31XX & OCTEON_FAMILY_MASK: 427 return CVMX_ADD_IO_SEG(0x0001180008000040ull) + ((offset) + (block_id) * 0x0ull) * 2048; 428 case OCTEON_CN68XX & OCTEON_FAMILY_MASK: 429 return CVMX_ADD_IO_SEG(0x0001180008000040ull) + ((offset) + (block_id) * 0x2000ull) * 2048; 430 } 431 return CVMX_ADD_IO_SEG(0x0001180008000040ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 432 } 433 434 static inline uint64_t CVMX_GMXX_RXX_FRM_CHK(unsigned long offset, unsigned long block_id) 435 { 436 switch (cvmx_get_octeon_family()) { 437 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK: 438 return CVMX_ADD_IO_SEG(0x0001180008000020ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 439 case OCTEON_CN30XX & OCTEON_FAMILY_MASK: 440 case OCTEON_CN50XX & OCTEON_FAMILY_MASK: 441 return CVMX_ADD_IO_SEG(0x0001180008000020ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 442 case OCTEON_CN63XX & OCTEON_FAMILY_MASK: 443 case OCTEON_CN52XX & OCTEON_FAMILY_MASK: 444 return CVMX_ADD_IO_SEG(0x0001180008000020ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 445 case OCTEON_CN56XX & OCTEON_FAMILY_MASK: 446 case OCTEON_CN66XX & OCTEON_FAMILY_MASK: 447 case OCTEON_CN38XX & OCTEON_FAMILY_MASK: 448 case OCTEON_CN61XX & OCTEON_FAMILY_MASK: 449 case OCTEON_CN58XX & OCTEON_FAMILY_MASK: 450 return CVMX_ADD_IO_SEG(0x0001180008000020ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 451 case OCTEON_CN31XX & OCTEON_FAMILY_MASK: 452 return CVMX_ADD_IO_SEG(0x0001180008000020ull) + ((offset) + (block_id) * 0x0ull) * 2048; 453 case OCTEON_CN68XX & OCTEON_FAMILY_MASK: 454 return CVMX_ADD_IO_SEG(0x0001180008000020ull) + ((offset) + (block_id) * 0x2000ull) * 2048; 455 } 456 return CVMX_ADD_IO_SEG(0x0001180008000020ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 457 } 458 459 static inline uint64_t CVMX_GMXX_RXX_FRM_CTL(unsigned long offset, unsigned long block_id) 460 { 461 switch (cvmx_get_octeon_family()) { 462 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK: 463 return CVMX_ADD_IO_SEG(0x0001180008000018ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 464 case OCTEON_CN30XX & OCTEON_FAMILY_MASK: 465 case OCTEON_CN50XX & OCTEON_FAMILY_MASK: 466 return CVMX_ADD_IO_SEG(0x0001180008000018ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 467 case OCTEON_CN63XX & OCTEON_FAMILY_MASK: 468 case OCTEON_CN52XX & OCTEON_FAMILY_MASK: 469 return CVMX_ADD_IO_SEG(0x0001180008000018ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 470 case OCTEON_CN56XX & OCTEON_FAMILY_MASK: 471 case OCTEON_CN66XX & OCTEON_FAMILY_MASK: 472 case OCTEON_CN38XX & OCTEON_FAMILY_MASK: 473 case OCTEON_CN61XX & OCTEON_FAMILY_MASK: 474 case OCTEON_CN58XX & OCTEON_FAMILY_MASK: 475 return CVMX_ADD_IO_SEG(0x0001180008000018ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 476 case OCTEON_CN31XX & OCTEON_FAMILY_MASK: 477 return CVMX_ADD_IO_SEG(0x0001180008000018ull) + ((offset) + (block_id) * 0x0ull) * 2048; 478 case OCTEON_CN68XX & OCTEON_FAMILY_MASK: 479 return CVMX_ADD_IO_SEG(0x0001180008000018ull) + ((offset) + (block_id) * 0x2000ull) * 2048; 480 } 481 return CVMX_ADD_IO_SEG(0x0001180008000018ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 482 } 483 484 #define CVMX_GMXX_RXX_FRM_MAX(offset, block_id) (CVMX_ADD_IO_SEG(0x0001180008000030ull) + (((offset) & 3) + ((block_id) & 1) * 0x10000ull) * 2048) 485 #define CVMX_GMXX_RXX_FRM_MIN(offset, block_id) (CVMX_ADD_IO_SEG(0x0001180008000028ull) + (((offset) & 3) + ((block_id) & 1) * 0x10000ull) * 2048) 486 static inline uint64_t CVMX_GMXX_RXX_IFG(unsigned long offset, unsigned long block_id) 487 { 488 switch (cvmx_get_octeon_family()) { 489 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK: 490 return CVMX_ADD_IO_SEG(0x0001180008000058ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 491 case OCTEON_CN30XX & OCTEON_FAMILY_MASK: 492 case OCTEON_CN50XX & OCTEON_FAMILY_MASK: 493 return CVMX_ADD_IO_SEG(0x0001180008000058ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 494 case OCTEON_CN63XX & OCTEON_FAMILY_MASK: 495 case OCTEON_CN52XX & OCTEON_FAMILY_MASK: 496 return CVMX_ADD_IO_SEG(0x0001180008000058ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 497 case OCTEON_CN56XX & OCTEON_FAMILY_MASK: 498 case OCTEON_CN66XX & OCTEON_FAMILY_MASK: 499 case OCTEON_CN38XX & OCTEON_FAMILY_MASK: 500 case OCTEON_CN61XX & OCTEON_FAMILY_MASK: 501 case OCTEON_CN58XX & OCTEON_FAMILY_MASK: 502 return CVMX_ADD_IO_SEG(0x0001180008000058ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 503 case OCTEON_CN31XX & OCTEON_FAMILY_MASK: 504 return CVMX_ADD_IO_SEG(0x0001180008000058ull) + ((offset) + (block_id) * 0x0ull) * 2048; 505 case OCTEON_CN68XX & OCTEON_FAMILY_MASK: 506 return CVMX_ADD_IO_SEG(0x0001180008000058ull) + ((offset) + (block_id) * 0x2000ull) * 2048; 507 } 508 return CVMX_ADD_IO_SEG(0x0001180008000058ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 509 } 510 511 static inline uint64_t CVMX_GMXX_RXX_INT_EN(unsigned long offset, unsigned long block_id) 512 { 513 switch (cvmx_get_octeon_family()) { 514 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK: 515 return CVMX_ADD_IO_SEG(0x0001180008000008ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 516 case OCTEON_CN30XX & OCTEON_FAMILY_MASK: 517 case OCTEON_CN50XX & OCTEON_FAMILY_MASK: 518 return CVMX_ADD_IO_SEG(0x0001180008000008ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 519 case OCTEON_CN63XX & OCTEON_FAMILY_MASK: 520 case OCTEON_CN52XX & OCTEON_FAMILY_MASK: 521 return CVMX_ADD_IO_SEG(0x0001180008000008ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 522 case OCTEON_CN56XX & OCTEON_FAMILY_MASK: 523 case OCTEON_CN66XX & OCTEON_FAMILY_MASK: 524 case OCTEON_CN38XX & OCTEON_FAMILY_MASK: 525 case OCTEON_CN61XX & OCTEON_FAMILY_MASK: 526 case OCTEON_CN58XX & OCTEON_FAMILY_MASK: 527 return CVMX_ADD_IO_SEG(0x0001180008000008ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 528 case OCTEON_CN31XX & OCTEON_FAMILY_MASK: 529 return CVMX_ADD_IO_SEG(0x0001180008000008ull) + ((offset) + (block_id) * 0x0ull) * 2048; 530 case OCTEON_CN68XX & OCTEON_FAMILY_MASK: 531 return CVMX_ADD_IO_SEG(0x0001180008000008ull) + ((offset) + (block_id) * 0x2000ull) * 2048; 532 } 533 return CVMX_ADD_IO_SEG(0x0001180008000008ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 534 } 535 536 static inline uint64_t CVMX_GMXX_RXX_INT_REG(unsigned long offset, unsigned long block_id) 537 { 538 switch (cvmx_get_octeon_family()) { 539 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK: 540 return CVMX_ADD_IO_SEG(0x0001180008000000ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 541 case OCTEON_CN30XX & OCTEON_FAMILY_MASK: 542 case OCTEON_CN50XX & OCTEON_FAMILY_MASK: 543 return CVMX_ADD_IO_SEG(0x0001180008000000ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 544 case OCTEON_CN63XX & OCTEON_FAMILY_MASK: 545 case OCTEON_CN52XX & OCTEON_FAMILY_MASK: 546 return CVMX_ADD_IO_SEG(0x0001180008000000ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 547 case OCTEON_CN56XX & OCTEON_FAMILY_MASK: 548 case OCTEON_CN66XX & OCTEON_FAMILY_MASK: 549 case OCTEON_CN38XX & OCTEON_FAMILY_MASK: 550 case OCTEON_CN61XX & OCTEON_FAMILY_MASK: 551 case OCTEON_CN58XX & OCTEON_FAMILY_MASK: 552 return CVMX_ADD_IO_SEG(0x0001180008000000ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 553 case OCTEON_CN31XX & OCTEON_FAMILY_MASK: 554 return CVMX_ADD_IO_SEG(0x0001180008000000ull) + ((offset) + (block_id) * 0x0ull) * 2048; 555 case OCTEON_CN68XX & OCTEON_FAMILY_MASK: 556 return CVMX_ADD_IO_SEG(0x0001180008000000ull) + ((offset) + (block_id) * 0x2000ull) * 2048; 557 } 558 return CVMX_ADD_IO_SEG(0x0001180008000000ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 559 } 560 561 static inline uint64_t CVMX_GMXX_RXX_JABBER(unsigned long offset, unsigned long block_id) 562 { 563 switch (cvmx_get_octeon_family()) { 564 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK: 565 return CVMX_ADD_IO_SEG(0x0001180008000038ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 566 case OCTEON_CN30XX & OCTEON_FAMILY_MASK: 567 case OCTEON_CN50XX & OCTEON_FAMILY_MASK: 568 return CVMX_ADD_IO_SEG(0x0001180008000038ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 569 case OCTEON_CN63XX & OCTEON_FAMILY_MASK: 570 case OCTEON_CN52XX & OCTEON_FAMILY_MASK: 571 return CVMX_ADD_IO_SEG(0x0001180008000038ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 572 case OCTEON_CN56XX & OCTEON_FAMILY_MASK: 573 case OCTEON_CN66XX & OCTEON_FAMILY_MASK: 574 case OCTEON_CN38XX & OCTEON_FAMILY_MASK: 575 case OCTEON_CN61XX & OCTEON_FAMILY_MASK: 576 case OCTEON_CN58XX & OCTEON_FAMILY_MASK: 577 return CVMX_ADD_IO_SEG(0x0001180008000038ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 578 case OCTEON_CN31XX & OCTEON_FAMILY_MASK: 579 return CVMX_ADD_IO_SEG(0x0001180008000038ull) + ((offset) + (block_id) * 0x0ull) * 2048; 580 case OCTEON_CN68XX & OCTEON_FAMILY_MASK: 581 return CVMX_ADD_IO_SEG(0x0001180008000038ull) + ((offset) + (block_id) * 0x2000ull) * 2048; 582 } 583 return CVMX_ADD_IO_SEG(0x0001180008000038ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 584 } 585 586 static inline uint64_t CVMX_GMXX_RXX_PAUSE_DROP_TIME(unsigned long offset, unsigned long block_id) 587 { 588 switch (cvmx_get_octeon_family()) { 589 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK: 590 return CVMX_ADD_IO_SEG(0x0001180008000068ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 591 case OCTEON_CN63XX & OCTEON_FAMILY_MASK: 592 return CVMX_ADD_IO_SEG(0x0001180008000068ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 593 case OCTEON_CN50XX & OCTEON_FAMILY_MASK: 594 return CVMX_ADD_IO_SEG(0x0001180008000068ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 595 case OCTEON_CN56XX & OCTEON_FAMILY_MASK: 596 case OCTEON_CN66XX & OCTEON_FAMILY_MASK: 597 case OCTEON_CN58XX & OCTEON_FAMILY_MASK: 598 case OCTEON_CN61XX & OCTEON_FAMILY_MASK: 599 return CVMX_ADD_IO_SEG(0x0001180008000068ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 600 case OCTEON_CN52XX & OCTEON_FAMILY_MASK: 601 return CVMX_ADD_IO_SEG(0x0001180008000068ull) + ((offset) + (block_id) * 0x0ull) * 2048; 602 case OCTEON_CN68XX & OCTEON_FAMILY_MASK: 603 return CVMX_ADD_IO_SEG(0x0001180008000068ull) + ((offset) + (block_id) * 0x2000ull) * 2048; 604 } 605 return CVMX_ADD_IO_SEG(0x0001180008000068ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 606 } 607 608 #define CVMX_GMXX_RXX_RX_INBND(offset, block_id) (CVMX_ADD_IO_SEG(0x0001180008000060ull) + (((offset) & 3) + ((block_id) & 1) * 0x10000ull) * 2048) 609 static inline uint64_t CVMX_GMXX_RXX_STATS_CTL(unsigned long offset, unsigned long block_id) 610 { 611 switch (cvmx_get_octeon_family()) { 612 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK: 613 return CVMX_ADD_IO_SEG(0x0001180008000050ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 614 case OCTEON_CN30XX & OCTEON_FAMILY_MASK: 615 case OCTEON_CN50XX & OCTEON_FAMILY_MASK: 616 return CVMX_ADD_IO_SEG(0x0001180008000050ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 617 case OCTEON_CN63XX & OCTEON_FAMILY_MASK: 618 case OCTEON_CN52XX & OCTEON_FAMILY_MASK: 619 return CVMX_ADD_IO_SEG(0x0001180008000050ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 620 case OCTEON_CN56XX & OCTEON_FAMILY_MASK: 621 case OCTEON_CN66XX & OCTEON_FAMILY_MASK: 622 case OCTEON_CN38XX & OCTEON_FAMILY_MASK: 623 case OCTEON_CN61XX & OCTEON_FAMILY_MASK: 624 case OCTEON_CN58XX & OCTEON_FAMILY_MASK: 625 return CVMX_ADD_IO_SEG(0x0001180008000050ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 626 case OCTEON_CN31XX & OCTEON_FAMILY_MASK: 627 return CVMX_ADD_IO_SEG(0x0001180008000050ull) + ((offset) + (block_id) * 0x0ull) * 2048; 628 case OCTEON_CN68XX & OCTEON_FAMILY_MASK: 629 return CVMX_ADD_IO_SEG(0x0001180008000050ull) + ((offset) + (block_id) * 0x2000ull) * 2048; 630 } 631 return CVMX_ADD_IO_SEG(0x0001180008000050ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 632 } 633 634 static inline uint64_t CVMX_GMXX_RXX_STATS_OCTS(unsigned long offset, unsigned long block_id) 635 { 636 switch (cvmx_get_octeon_family()) { 637 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK: 638 return CVMX_ADD_IO_SEG(0x0001180008000088ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 639 case OCTEON_CN30XX & OCTEON_FAMILY_MASK: 640 case OCTEON_CN50XX & OCTEON_FAMILY_MASK: 641 return CVMX_ADD_IO_SEG(0x0001180008000088ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 642 case OCTEON_CN63XX & OCTEON_FAMILY_MASK: 643 case OCTEON_CN52XX & OCTEON_FAMILY_MASK: 644 return CVMX_ADD_IO_SEG(0x0001180008000088ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 645 case OCTEON_CN56XX & OCTEON_FAMILY_MASK: 646 case OCTEON_CN66XX & OCTEON_FAMILY_MASK: 647 case OCTEON_CN38XX & OCTEON_FAMILY_MASK: 648 case OCTEON_CN61XX & OCTEON_FAMILY_MASK: 649 case OCTEON_CN58XX & OCTEON_FAMILY_MASK: 650 return CVMX_ADD_IO_SEG(0x0001180008000088ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 651 case OCTEON_CN31XX & OCTEON_FAMILY_MASK: 652 return CVMX_ADD_IO_SEG(0x0001180008000088ull) + ((offset) + (block_id) * 0x0ull) * 2048; 653 case OCTEON_CN68XX & OCTEON_FAMILY_MASK: 654 return CVMX_ADD_IO_SEG(0x0001180008000088ull) + ((offset) + (block_id) * 0x2000ull) * 2048; 655 } 656 return CVMX_ADD_IO_SEG(0x0001180008000088ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 657 } 658 659 static inline uint64_t CVMX_GMXX_RXX_STATS_OCTS_CTL(unsigned long offset, unsigned long block_id) 660 { 661 switch (cvmx_get_octeon_family()) { 662 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK: 663 return CVMX_ADD_IO_SEG(0x0001180008000098ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 664 case OCTEON_CN30XX & OCTEON_FAMILY_MASK: 665 case OCTEON_CN50XX & OCTEON_FAMILY_MASK: 666 return CVMX_ADD_IO_SEG(0x0001180008000098ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 667 case OCTEON_CN63XX & OCTEON_FAMILY_MASK: 668 case OCTEON_CN52XX & OCTEON_FAMILY_MASK: 669 return CVMX_ADD_IO_SEG(0x0001180008000098ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 670 case OCTEON_CN56XX & OCTEON_FAMILY_MASK: 671 case OCTEON_CN66XX & OCTEON_FAMILY_MASK: 672 case OCTEON_CN38XX & OCTEON_FAMILY_MASK: 673 case OCTEON_CN61XX & OCTEON_FAMILY_MASK: 674 case OCTEON_CN58XX & OCTEON_FAMILY_MASK: 675 return CVMX_ADD_IO_SEG(0x0001180008000098ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 676 case OCTEON_CN31XX & OCTEON_FAMILY_MASK: 677 return CVMX_ADD_IO_SEG(0x0001180008000098ull) + ((offset) + (block_id) * 0x0ull) * 2048; 678 case OCTEON_CN68XX & OCTEON_FAMILY_MASK: 679 return CVMX_ADD_IO_SEG(0x0001180008000098ull) + ((offset) + (block_id) * 0x2000ull) * 2048; 680 } 681 return CVMX_ADD_IO_SEG(0x0001180008000098ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 682 } 683 684 static inline uint64_t CVMX_GMXX_RXX_STATS_OCTS_DMAC(unsigned long offset, unsigned long block_id) 685 { 686 switch (cvmx_get_octeon_family()) { 687 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK: 688 return CVMX_ADD_IO_SEG(0x00011800080000A8ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 689 case OCTEON_CN30XX & OCTEON_FAMILY_MASK: 690 case OCTEON_CN50XX & OCTEON_FAMILY_MASK: 691 return CVMX_ADD_IO_SEG(0x00011800080000A8ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 692 case OCTEON_CN63XX & OCTEON_FAMILY_MASK: 693 case OCTEON_CN52XX & OCTEON_FAMILY_MASK: 694 return CVMX_ADD_IO_SEG(0x00011800080000A8ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 695 case OCTEON_CN56XX & OCTEON_FAMILY_MASK: 696 case OCTEON_CN66XX & OCTEON_FAMILY_MASK: 697 case OCTEON_CN38XX & OCTEON_FAMILY_MASK: 698 case OCTEON_CN61XX & OCTEON_FAMILY_MASK: 699 case OCTEON_CN58XX & OCTEON_FAMILY_MASK: 700 return CVMX_ADD_IO_SEG(0x00011800080000A8ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 701 case OCTEON_CN31XX & OCTEON_FAMILY_MASK: 702 return CVMX_ADD_IO_SEG(0x00011800080000A8ull) + ((offset) + (block_id) * 0x0ull) * 2048; 703 case OCTEON_CN68XX & OCTEON_FAMILY_MASK: 704 return CVMX_ADD_IO_SEG(0x00011800080000A8ull) + ((offset) + (block_id) * 0x2000ull) * 2048; 705 } 706 return CVMX_ADD_IO_SEG(0x00011800080000A8ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 707 } 708 709 static inline uint64_t CVMX_GMXX_RXX_STATS_OCTS_DRP(unsigned long offset, unsigned long block_id) 710 { 711 switch (cvmx_get_octeon_family()) { 712 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK: 713 return CVMX_ADD_IO_SEG(0x00011800080000B8ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 714 case OCTEON_CN30XX & OCTEON_FAMILY_MASK: 715 case OCTEON_CN50XX & OCTEON_FAMILY_MASK: 716 return CVMX_ADD_IO_SEG(0x00011800080000B8ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 717 case OCTEON_CN63XX & OCTEON_FAMILY_MASK: 718 case OCTEON_CN52XX & OCTEON_FAMILY_MASK: 719 return CVMX_ADD_IO_SEG(0x00011800080000B8ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 720 case OCTEON_CN56XX & OCTEON_FAMILY_MASK: 721 case OCTEON_CN66XX & OCTEON_FAMILY_MASK: 722 case OCTEON_CN38XX & OCTEON_FAMILY_MASK: 723 case OCTEON_CN61XX & OCTEON_FAMILY_MASK: 724 case OCTEON_CN58XX & OCTEON_FAMILY_MASK: 725 return CVMX_ADD_IO_SEG(0x00011800080000B8ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 726 case OCTEON_CN31XX & OCTEON_FAMILY_MASK: 727 return CVMX_ADD_IO_SEG(0x00011800080000B8ull) + ((offset) + (block_id) * 0x0ull) * 2048; 728 case OCTEON_CN68XX & OCTEON_FAMILY_MASK: 729 return CVMX_ADD_IO_SEG(0x00011800080000B8ull) + ((offset) + (block_id) * 0x2000ull) * 2048; 730 } 731 return CVMX_ADD_IO_SEG(0x00011800080000B8ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 732 } 733 734 static inline uint64_t CVMX_GMXX_RXX_STATS_PKTS(unsigned long offset, unsigned long block_id) 735 { 736 switch (cvmx_get_octeon_family()) { 737 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK: 738 return CVMX_ADD_IO_SEG(0x0001180008000080ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 739 case OCTEON_CN30XX & OCTEON_FAMILY_MASK: 740 case OCTEON_CN50XX & OCTEON_FAMILY_MASK: 741 return CVMX_ADD_IO_SEG(0x0001180008000080ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 742 case OCTEON_CN63XX & OCTEON_FAMILY_MASK: 743 case OCTEON_CN52XX & OCTEON_FAMILY_MASK: 744 return CVMX_ADD_IO_SEG(0x0001180008000080ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 745 case OCTEON_CN56XX & OCTEON_FAMILY_MASK: 746 case OCTEON_CN66XX & OCTEON_FAMILY_MASK: 747 case OCTEON_CN38XX & OCTEON_FAMILY_MASK: 748 case OCTEON_CN61XX & OCTEON_FAMILY_MASK: 749 case OCTEON_CN58XX & OCTEON_FAMILY_MASK: 750 return CVMX_ADD_IO_SEG(0x0001180008000080ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 751 case OCTEON_CN31XX & OCTEON_FAMILY_MASK: 752 return CVMX_ADD_IO_SEG(0x0001180008000080ull) + ((offset) + (block_id) * 0x0ull) * 2048; 753 case OCTEON_CN68XX & OCTEON_FAMILY_MASK: 754 return CVMX_ADD_IO_SEG(0x0001180008000080ull) + ((offset) + (block_id) * 0x2000ull) * 2048; 755 } 756 return CVMX_ADD_IO_SEG(0x0001180008000080ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 757 } 758 759 static inline uint64_t CVMX_GMXX_RXX_STATS_PKTS_BAD(unsigned long offset, unsigned long block_id) 760 { 761 switch (cvmx_get_octeon_family()) { 762 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK: 763 return CVMX_ADD_IO_SEG(0x00011800080000C0ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 764 case OCTEON_CN30XX & OCTEON_FAMILY_MASK: 765 case OCTEON_CN50XX & OCTEON_FAMILY_MASK: 766 return CVMX_ADD_IO_SEG(0x00011800080000C0ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 767 case OCTEON_CN63XX & OCTEON_FAMILY_MASK: 768 case OCTEON_CN52XX & OCTEON_FAMILY_MASK: 769 return CVMX_ADD_IO_SEG(0x00011800080000C0ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 770 case OCTEON_CN56XX & OCTEON_FAMILY_MASK: 771 case OCTEON_CN66XX & OCTEON_FAMILY_MASK: 772 case OCTEON_CN38XX & OCTEON_FAMILY_MASK: 773 case OCTEON_CN61XX & OCTEON_FAMILY_MASK: 774 case OCTEON_CN58XX & OCTEON_FAMILY_MASK: 775 return CVMX_ADD_IO_SEG(0x00011800080000C0ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 776 case OCTEON_CN31XX & OCTEON_FAMILY_MASK: 777 return CVMX_ADD_IO_SEG(0x00011800080000C0ull) + ((offset) + (block_id) * 0x0ull) * 2048; 778 case OCTEON_CN68XX & OCTEON_FAMILY_MASK: 779 return CVMX_ADD_IO_SEG(0x00011800080000C0ull) + ((offset) + (block_id) * 0x2000ull) * 2048; 780 } 781 return CVMX_ADD_IO_SEG(0x00011800080000C0ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 782 } 783 784 static inline uint64_t CVMX_GMXX_RXX_STATS_PKTS_CTL(unsigned long offset, unsigned long block_id) 785 { 786 switch (cvmx_get_octeon_family()) { 787 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK: 788 return CVMX_ADD_IO_SEG(0x0001180008000090ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 789 case OCTEON_CN30XX & OCTEON_FAMILY_MASK: 790 case OCTEON_CN50XX & OCTEON_FAMILY_MASK: 791 return CVMX_ADD_IO_SEG(0x0001180008000090ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 792 case OCTEON_CN63XX & OCTEON_FAMILY_MASK: 793 case OCTEON_CN52XX & OCTEON_FAMILY_MASK: 794 return CVMX_ADD_IO_SEG(0x0001180008000090ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 795 case OCTEON_CN56XX & OCTEON_FAMILY_MASK: 796 case OCTEON_CN66XX & OCTEON_FAMILY_MASK: 797 case OCTEON_CN38XX & OCTEON_FAMILY_MASK: 798 case OCTEON_CN61XX & OCTEON_FAMILY_MASK: 799 case OCTEON_CN58XX & OCTEON_FAMILY_MASK: 800 return CVMX_ADD_IO_SEG(0x0001180008000090ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 801 case OCTEON_CN31XX & OCTEON_FAMILY_MASK: 802 return CVMX_ADD_IO_SEG(0x0001180008000090ull) + ((offset) + (block_id) * 0x0ull) * 2048; 803 case OCTEON_CN68XX & OCTEON_FAMILY_MASK: 804 return CVMX_ADD_IO_SEG(0x0001180008000090ull) + ((offset) + (block_id) * 0x2000ull) * 2048; 805 } 806 return CVMX_ADD_IO_SEG(0x0001180008000090ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 807 } 808 809 static inline uint64_t CVMX_GMXX_RXX_STATS_PKTS_DMAC(unsigned long offset, unsigned long block_id) 810 { 811 switch (cvmx_get_octeon_family()) { 812 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK: 813 return CVMX_ADD_IO_SEG(0x00011800080000A0ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 814 case OCTEON_CN30XX & OCTEON_FAMILY_MASK: 815 case OCTEON_CN50XX & OCTEON_FAMILY_MASK: 816 return CVMX_ADD_IO_SEG(0x00011800080000A0ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 817 case OCTEON_CN63XX & OCTEON_FAMILY_MASK: 818 case OCTEON_CN52XX & OCTEON_FAMILY_MASK: 819 return CVMX_ADD_IO_SEG(0x00011800080000A0ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 820 case OCTEON_CN56XX & OCTEON_FAMILY_MASK: 821 case OCTEON_CN66XX & OCTEON_FAMILY_MASK: 822 case OCTEON_CN38XX & OCTEON_FAMILY_MASK: 823 case OCTEON_CN61XX & OCTEON_FAMILY_MASK: 824 case OCTEON_CN58XX & OCTEON_FAMILY_MASK: 825 return CVMX_ADD_IO_SEG(0x00011800080000A0ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 826 case OCTEON_CN31XX & OCTEON_FAMILY_MASK: 827 return CVMX_ADD_IO_SEG(0x00011800080000A0ull) + ((offset) + (block_id) * 0x0ull) * 2048; 828 case OCTEON_CN68XX & OCTEON_FAMILY_MASK: 829 return CVMX_ADD_IO_SEG(0x00011800080000A0ull) + ((offset) + (block_id) * 0x2000ull) * 2048; 830 } 831 return CVMX_ADD_IO_SEG(0x00011800080000A0ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 832 } 833 834 static inline uint64_t CVMX_GMXX_RXX_STATS_PKTS_DRP(unsigned long offset, unsigned long block_id) 835 { 836 switch (cvmx_get_octeon_family()) { 837 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK: 838 return CVMX_ADD_IO_SEG(0x00011800080000B0ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 839 case OCTEON_CN30XX & OCTEON_FAMILY_MASK: 840 case OCTEON_CN50XX & OCTEON_FAMILY_MASK: 841 return CVMX_ADD_IO_SEG(0x00011800080000B0ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 842 case OCTEON_CN63XX & OCTEON_FAMILY_MASK: 843 case OCTEON_CN52XX & OCTEON_FAMILY_MASK: 844 return CVMX_ADD_IO_SEG(0x00011800080000B0ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 845 case OCTEON_CN56XX & OCTEON_FAMILY_MASK: 846 case OCTEON_CN66XX & OCTEON_FAMILY_MASK: 847 case OCTEON_CN38XX & OCTEON_FAMILY_MASK: 848 case OCTEON_CN61XX & OCTEON_FAMILY_MASK: 849 case OCTEON_CN58XX & OCTEON_FAMILY_MASK: 850 return CVMX_ADD_IO_SEG(0x00011800080000B0ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 851 case OCTEON_CN31XX & OCTEON_FAMILY_MASK: 852 return CVMX_ADD_IO_SEG(0x00011800080000B0ull) + ((offset) + (block_id) * 0x0ull) * 2048; 853 case OCTEON_CN68XX & OCTEON_FAMILY_MASK: 854 return CVMX_ADD_IO_SEG(0x00011800080000B0ull) + ((offset) + (block_id) * 0x2000ull) * 2048; 855 } 856 return CVMX_ADD_IO_SEG(0x00011800080000B0ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 857 } 858 859 static inline uint64_t CVMX_GMXX_RXX_UDD_SKP(unsigned long offset, unsigned long block_id) 860 { 861 switch (cvmx_get_octeon_family()) { 862 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK: 863 return CVMX_ADD_IO_SEG(0x0001180008000048ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 864 case OCTEON_CN30XX & OCTEON_FAMILY_MASK: 865 case OCTEON_CN50XX & OCTEON_FAMILY_MASK: 866 return CVMX_ADD_IO_SEG(0x0001180008000048ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 867 case OCTEON_CN63XX & OCTEON_FAMILY_MASK: 868 case OCTEON_CN52XX & OCTEON_FAMILY_MASK: 869 return CVMX_ADD_IO_SEG(0x0001180008000048ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 870 case OCTEON_CN56XX & OCTEON_FAMILY_MASK: 871 case OCTEON_CN66XX & OCTEON_FAMILY_MASK: 872 case OCTEON_CN38XX & OCTEON_FAMILY_MASK: 873 case OCTEON_CN61XX & OCTEON_FAMILY_MASK: 874 case OCTEON_CN58XX & OCTEON_FAMILY_MASK: 875 return CVMX_ADD_IO_SEG(0x0001180008000048ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 876 case OCTEON_CN31XX & OCTEON_FAMILY_MASK: 877 return CVMX_ADD_IO_SEG(0x0001180008000048ull) + ((offset) + (block_id) * 0x0ull) * 2048; 878 case OCTEON_CN68XX & OCTEON_FAMILY_MASK: 879 return CVMX_ADD_IO_SEG(0x0001180008000048ull) + ((offset) + (block_id) * 0x2000ull) * 2048; 880 } 881 return CVMX_ADD_IO_SEG(0x0001180008000048ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 882 } 883 884 static inline uint64_t CVMX_GMXX_RX_BP_DROPX(unsigned long offset, unsigned long block_id) 885 { 886 switch (cvmx_get_octeon_family()) { 887 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK: 888 return CVMX_ADD_IO_SEG(0x0001180008000420ull) + ((offset) + (block_id) * 0x1000000ull) * 8; 889 case OCTEON_CN30XX & OCTEON_FAMILY_MASK: 890 case OCTEON_CN50XX & OCTEON_FAMILY_MASK: 891 return CVMX_ADD_IO_SEG(0x0001180008000420ull) + ((offset) + (block_id) * 0x1000000ull) * 8; 892 case OCTEON_CN63XX & OCTEON_FAMILY_MASK: 893 case OCTEON_CN52XX & OCTEON_FAMILY_MASK: 894 return CVMX_ADD_IO_SEG(0x0001180008000420ull) + ((offset) + (block_id) * 0x1000000ull) * 8; 895 case OCTEON_CN56XX & OCTEON_FAMILY_MASK: 896 case OCTEON_CN66XX & OCTEON_FAMILY_MASK: 897 case OCTEON_CN38XX & OCTEON_FAMILY_MASK: 898 case OCTEON_CN61XX & OCTEON_FAMILY_MASK: 899 case OCTEON_CN58XX & OCTEON_FAMILY_MASK: 900 return CVMX_ADD_IO_SEG(0x0001180008000420ull) + ((offset) + (block_id) * 0x1000000ull) * 8; 901 case OCTEON_CN31XX & OCTEON_FAMILY_MASK: 902 return CVMX_ADD_IO_SEG(0x0001180008000420ull) + ((offset) + (block_id) * 0x0ull) * 8; 903 case OCTEON_CN68XX & OCTEON_FAMILY_MASK: 904 return CVMX_ADD_IO_SEG(0x0001180008000420ull) + ((offset) + (block_id) * 0x200000ull) * 8; 905 } 906 return CVMX_ADD_IO_SEG(0x0001180008000420ull) + ((offset) + (block_id) * 0x1000000ull) * 8; 907 } 908 909 static inline uint64_t CVMX_GMXX_RX_BP_OFFX(unsigned long offset, unsigned long block_id) 910 { 911 switch (cvmx_get_octeon_family()) { 912 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK: 913 return CVMX_ADD_IO_SEG(0x0001180008000460ull) + ((offset) + (block_id) * 0x1000000ull) * 8; 914 case OCTEON_CN30XX & OCTEON_FAMILY_MASK: 915 case OCTEON_CN50XX & OCTEON_FAMILY_MASK: 916 return CVMX_ADD_IO_SEG(0x0001180008000460ull) + ((offset) + (block_id) * 0x1000000ull) * 8; 917 case OCTEON_CN63XX & OCTEON_FAMILY_MASK: 918 case OCTEON_CN52XX & OCTEON_FAMILY_MASK: 919 return CVMX_ADD_IO_SEG(0x0001180008000460ull) + ((offset) + (block_id) * 0x1000000ull) * 8; 920 case OCTEON_CN56XX & OCTEON_FAMILY_MASK: 921 case OCTEON_CN66XX & OCTEON_FAMILY_MASK: 922 case OCTEON_CN38XX & OCTEON_FAMILY_MASK: 923 case OCTEON_CN61XX & OCTEON_FAMILY_MASK: 924 case OCTEON_CN58XX & OCTEON_FAMILY_MASK: 925 return CVMX_ADD_IO_SEG(0x0001180008000460ull) + ((offset) + (block_id) * 0x1000000ull) * 8; 926 case OCTEON_CN31XX & OCTEON_FAMILY_MASK: 927 return CVMX_ADD_IO_SEG(0x0001180008000460ull) + ((offset) + (block_id) * 0x0ull) * 8; 928 case OCTEON_CN68XX & OCTEON_FAMILY_MASK: 929 return CVMX_ADD_IO_SEG(0x0001180008000460ull) + ((offset) + (block_id) * 0x200000ull) * 8; 930 } 931 return CVMX_ADD_IO_SEG(0x0001180008000460ull) + ((offset) + (block_id) * 0x1000000ull) * 8; 932 } 933 934 static inline uint64_t CVMX_GMXX_RX_BP_ONX(unsigned long offset, unsigned long block_id) 935 { 936 switch (cvmx_get_octeon_family()) { 937 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK: 938 return CVMX_ADD_IO_SEG(0x0001180008000440ull) + ((offset) + (block_id) * 0x1000000ull) * 8; 939 case OCTEON_CN30XX & OCTEON_FAMILY_MASK: 940 case OCTEON_CN50XX & OCTEON_FAMILY_MASK: 941 return CVMX_ADD_IO_SEG(0x0001180008000440ull) + ((offset) + (block_id) * 0x1000000ull) * 8; 942 case OCTEON_CN63XX & OCTEON_FAMILY_MASK: 943 case OCTEON_CN52XX & OCTEON_FAMILY_MASK: 944 return CVMX_ADD_IO_SEG(0x0001180008000440ull) + ((offset) + (block_id) * 0x1000000ull) * 8; 945 case OCTEON_CN56XX & OCTEON_FAMILY_MASK: 946 case OCTEON_CN66XX & OCTEON_FAMILY_MASK: 947 case OCTEON_CN38XX & OCTEON_FAMILY_MASK: 948 case OCTEON_CN61XX & OCTEON_FAMILY_MASK: 949 case OCTEON_CN58XX & OCTEON_FAMILY_MASK: 950 return CVMX_ADD_IO_SEG(0x0001180008000440ull) + ((offset) + (block_id) * 0x1000000ull) * 8; 951 case OCTEON_CN31XX & OCTEON_FAMILY_MASK: 952 return CVMX_ADD_IO_SEG(0x0001180008000440ull) + ((offset) + (block_id) * 0x0ull) * 8; 953 case OCTEON_CN68XX & OCTEON_FAMILY_MASK: 954 return CVMX_ADD_IO_SEG(0x0001180008000440ull) + ((offset) + (block_id) * 0x200000ull) * 8; 955 } 956 return CVMX_ADD_IO_SEG(0x0001180008000440ull) + ((offset) + (block_id) * 0x1000000ull) * 8; 957 } 958 959 static inline uint64_t CVMX_GMXX_RX_HG2_STATUS(unsigned long block_id) 960 { 961 switch (cvmx_get_octeon_family()) { 962 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK: 963 case OCTEON_CN52XX & OCTEON_FAMILY_MASK: 964 case OCTEON_CN63XX & OCTEON_FAMILY_MASK: 965 return CVMX_ADD_IO_SEG(0x0001180008000548ull) + (block_id) * 0x8000000ull; 966 case OCTEON_CN56XX & OCTEON_FAMILY_MASK: 967 case OCTEON_CN66XX & OCTEON_FAMILY_MASK: 968 case OCTEON_CN61XX & OCTEON_FAMILY_MASK: 969 return CVMX_ADD_IO_SEG(0x0001180008000548ull) + (block_id) * 0x8000000ull; 970 case OCTEON_CN68XX & OCTEON_FAMILY_MASK: 971 return CVMX_ADD_IO_SEG(0x0001180008000548ull) + (block_id) * 0x1000000ull; 972 } 973 return CVMX_ADD_IO_SEG(0x0001180008000548ull) + (block_id) * 0x8000000ull; 974 } 975 976 #define CVMX_GMXX_RX_PASS_EN(block_id) (CVMX_ADD_IO_SEG(0x00011800080005F8ull) + ((block_id) & 1) * 0x8000000ull) 977 #define CVMX_GMXX_RX_PASS_MAPX(offset, block_id) (CVMX_ADD_IO_SEG(0x0001180008000600ull) + (((offset) & 15) + ((block_id) & 1) * 0x1000000ull) * 8) 978 static inline uint64_t CVMX_GMXX_RX_PRTS(unsigned long block_id) 979 { 980 switch (cvmx_get_octeon_family()) { 981 case OCTEON_CN30XX & OCTEON_FAMILY_MASK: 982 case OCTEON_CN50XX & OCTEON_FAMILY_MASK: 983 case OCTEON_CN31XX & OCTEON_FAMILY_MASK: 984 case OCTEON_CN52XX & OCTEON_FAMILY_MASK: 985 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK: 986 case OCTEON_CN63XX & OCTEON_FAMILY_MASK: 987 return CVMX_ADD_IO_SEG(0x0001180008000410ull) + (block_id) * 0x8000000ull; 988 case OCTEON_CN56XX & OCTEON_FAMILY_MASK: 989 case OCTEON_CN66XX & OCTEON_FAMILY_MASK: 990 case OCTEON_CN38XX & OCTEON_FAMILY_MASK: 991 case OCTEON_CN58XX & OCTEON_FAMILY_MASK: 992 case OCTEON_CN61XX & OCTEON_FAMILY_MASK: 993 return CVMX_ADD_IO_SEG(0x0001180008000410ull) + (block_id) * 0x8000000ull; 994 case OCTEON_CN68XX & OCTEON_FAMILY_MASK: 995 return CVMX_ADD_IO_SEG(0x0001180008000410ull) + (block_id) * 0x1000000ull; 996 } 997 return CVMX_ADD_IO_SEG(0x0001180008000410ull) + (block_id) * 0x8000000ull; 998 } 999 1000 static inline uint64_t CVMX_GMXX_RX_PRT_INFO(unsigned long block_id) 1001 { 1002 switch (cvmx_get_octeon_family()) { 1003 case OCTEON_CN30XX & OCTEON_FAMILY_MASK: 1004 case OCTEON_CN50XX & OCTEON_FAMILY_MASK: 1005 case OCTEON_CN31XX & OCTEON_FAMILY_MASK: 1006 case OCTEON_CN52XX & OCTEON_FAMILY_MASK: 1007 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK: 1008 case OCTEON_CN63XX & OCTEON_FAMILY_MASK: 1009 return CVMX_ADD_IO_SEG(0x00011800080004E8ull) + (block_id) * 0x8000000ull; 1010 case OCTEON_CN56XX & OCTEON_FAMILY_MASK: 1011 case OCTEON_CN66XX & OCTEON_FAMILY_MASK: 1012 case OCTEON_CN38XX & OCTEON_FAMILY_MASK: 1013 case OCTEON_CN58XX & OCTEON_FAMILY_MASK: 1014 case OCTEON_CN61XX & OCTEON_FAMILY_MASK: 1015 return CVMX_ADD_IO_SEG(0x00011800080004E8ull) + (block_id) * 0x8000000ull; 1016 case OCTEON_CN68XX & OCTEON_FAMILY_MASK: 1017 return CVMX_ADD_IO_SEG(0x00011800080004E8ull) + (block_id) * 0x1000000ull; 1018 } 1019 return CVMX_ADD_IO_SEG(0x00011800080004E8ull) + (block_id) * 0x8000000ull; 1020 } 1021 1022 #define CVMX_GMXX_RX_TX_STATUS(block_id) (CVMX_ADD_IO_SEG(0x00011800080007E8ull)) 1023 static inline uint64_t CVMX_GMXX_RX_XAUI_BAD_COL(unsigned long block_id) 1024 { 1025 switch (cvmx_get_octeon_family()) { 1026 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK: 1027 case OCTEON_CN52XX & OCTEON_FAMILY_MASK: 1028 case OCTEON_CN63XX & OCTEON_FAMILY_MASK: 1029 return CVMX_ADD_IO_SEG(0x0001180008000538ull) + (block_id) * 0x8000000ull; 1030 case OCTEON_CN56XX & OCTEON_FAMILY_MASK: 1031 case OCTEON_CN66XX & OCTEON_FAMILY_MASK: 1032 case OCTEON_CN61XX & OCTEON_FAMILY_MASK: 1033 return CVMX_ADD_IO_SEG(0x0001180008000538ull) + (block_id) * 0x8000000ull; 1034 case OCTEON_CN68XX & OCTEON_FAMILY_MASK: 1035 return CVMX_ADD_IO_SEG(0x0001180008000538ull) + (block_id) * 0x1000000ull; 1036 } 1037 return CVMX_ADD_IO_SEG(0x0001180008000538ull) + (block_id) * 0x8000000ull; 1038 } 1039 1040 static inline uint64_t CVMX_GMXX_RX_XAUI_CTL(unsigned long block_id) 1041 { 1042 switch (cvmx_get_octeon_family()) { 1043 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK: 1044 case OCTEON_CN52XX & OCTEON_FAMILY_MASK: 1045 case OCTEON_CN63XX & OCTEON_FAMILY_MASK: 1046 return CVMX_ADD_IO_SEG(0x0001180008000530ull) + (block_id) * 0x8000000ull; 1047 case OCTEON_CN56XX & OCTEON_FAMILY_MASK: 1048 case OCTEON_CN66XX & OCTEON_FAMILY_MASK: 1049 case OCTEON_CN61XX & OCTEON_FAMILY_MASK: 1050 return CVMX_ADD_IO_SEG(0x0001180008000530ull) + (block_id) * 0x8000000ull; 1051 case OCTEON_CN68XX & OCTEON_FAMILY_MASK: 1052 return CVMX_ADD_IO_SEG(0x0001180008000530ull) + (block_id) * 0x1000000ull; 1053 } 1054 return CVMX_ADD_IO_SEG(0x0001180008000530ull) + (block_id) * 0x8000000ull; 1055 } 1056 1057 static inline uint64_t CVMX_GMXX_SMACX(unsigned long offset, unsigned long block_id) 1058 { 1059 switch (cvmx_get_octeon_family()) { 1060 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK: 1061 return CVMX_ADD_IO_SEG(0x0001180008000230ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 1062 case OCTEON_CN30XX & OCTEON_FAMILY_MASK: 1063 case OCTEON_CN50XX & OCTEON_FAMILY_MASK: 1064 return CVMX_ADD_IO_SEG(0x0001180008000230ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 1065 case OCTEON_CN63XX & OCTEON_FAMILY_MASK: 1066 case OCTEON_CN52XX & OCTEON_FAMILY_MASK: 1067 return CVMX_ADD_IO_SEG(0x0001180008000230ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 1068 case OCTEON_CN56XX & OCTEON_FAMILY_MASK: 1069 case OCTEON_CN66XX & OCTEON_FAMILY_MASK: 1070 case OCTEON_CN38XX & OCTEON_FAMILY_MASK: 1071 case OCTEON_CN61XX & OCTEON_FAMILY_MASK: 1072 case OCTEON_CN58XX & OCTEON_FAMILY_MASK: 1073 return CVMX_ADD_IO_SEG(0x0001180008000230ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 1074 case OCTEON_CN31XX & OCTEON_FAMILY_MASK: 1075 return CVMX_ADD_IO_SEG(0x0001180008000230ull) + ((offset) + (block_id) * 0x0ull) * 2048; 1076 case OCTEON_CN68XX & OCTEON_FAMILY_MASK: 1077 return CVMX_ADD_IO_SEG(0x0001180008000230ull) + ((offset) + (block_id) * 0x2000ull) * 2048; 1078 } 1079 return CVMX_ADD_IO_SEG(0x0001180008000230ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 1080 } 1081 1082 static inline uint64_t CVMX_GMXX_SOFT_BIST(unsigned long block_id) 1083 { 1084 switch (cvmx_get_octeon_family()) { 1085 case OCTEON_CN66XX & OCTEON_FAMILY_MASK: 1086 return CVMX_ADD_IO_SEG(0x00011800080007E8ull) + (block_id) * 0x8000000ull; 1087 case OCTEON_CN63XX & OCTEON_FAMILY_MASK: 1088 return CVMX_ADD_IO_SEG(0x00011800080007E8ull) + (block_id) * 0x8000000ull; 1089 case OCTEON_CN68XX & OCTEON_FAMILY_MASK: 1090 return CVMX_ADD_IO_SEG(0x00011800080007E8ull) + (block_id) * 0x1000000ull; 1091 } 1092 return CVMX_ADD_IO_SEG(0x00011800080007E8ull) + (block_id) * 0x1000000ull; 1093 } 1094 1095 static inline uint64_t CVMX_GMXX_STAT_BP(unsigned long block_id) 1096 { 1097 switch (cvmx_get_octeon_family()) { 1098 case OCTEON_CN30XX & OCTEON_FAMILY_MASK: 1099 case OCTEON_CN50XX & OCTEON_FAMILY_MASK: 1100 case OCTEON_CN31XX & OCTEON_FAMILY_MASK: 1101 case OCTEON_CN52XX & OCTEON_FAMILY_MASK: 1102 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK: 1103 case OCTEON_CN63XX & OCTEON_FAMILY_MASK: 1104 return CVMX_ADD_IO_SEG(0x0001180008000520ull) + (block_id) * 0x8000000ull; 1105 case OCTEON_CN56XX & OCTEON_FAMILY_MASK: 1106 case OCTEON_CN66XX & OCTEON_FAMILY_MASK: 1107 case OCTEON_CN38XX & OCTEON_FAMILY_MASK: 1108 case OCTEON_CN58XX & OCTEON_FAMILY_MASK: 1109 case OCTEON_CN61XX & OCTEON_FAMILY_MASK: 1110 return CVMX_ADD_IO_SEG(0x0001180008000520ull) + (block_id) * 0x8000000ull; 1111 case OCTEON_CN68XX & OCTEON_FAMILY_MASK: 1112 return CVMX_ADD_IO_SEG(0x0001180008000520ull) + (block_id) * 0x1000000ull; 1113 } 1114 return CVMX_ADD_IO_SEG(0x0001180008000520ull) + (block_id) * 0x8000000ull; 1115 } 1116 1117 static inline uint64_t CVMX_GMXX_TB_REG(unsigned long block_id) 1118 { 1119 switch (cvmx_get_octeon_family()) { 1120 case OCTEON_CN66XX & OCTEON_FAMILY_MASK: 1121 case OCTEON_CN61XX & OCTEON_FAMILY_MASK: 1122 return CVMX_ADD_IO_SEG(0x00011800080007E0ull) + (block_id) * 0x8000000ull; 1123 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK: 1124 return CVMX_ADD_IO_SEG(0x00011800080007E0ull) + (block_id) * 0x8000000ull; 1125 case OCTEON_CN68XX & OCTEON_FAMILY_MASK: 1126 return CVMX_ADD_IO_SEG(0x00011800080007E0ull) + (block_id) * 0x1000000ull; 1127 } 1128 return CVMX_ADD_IO_SEG(0x00011800080007E0ull) + (block_id) * 0x8000000ull; 1129 } 1130 1131 static inline uint64_t CVMX_GMXX_TXX_APPEND(unsigned long offset, unsigned long block_id) 1132 { 1133 switch (cvmx_get_octeon_family()) { 1134 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK: 1135 return CVMX_ADD_IO_SEG(0x0001180008000218ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 1136 case OCTEON_CN30XX & OCTEON_FAMILY_MASK: 1137 case OCTEON_CN50XX & OCTEON_FAMILY_MASK: 1138 return CVMX_ADD_IO_SEG(0x0001180008000218ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 1139 case OCTEON_CN63XX & OCTEON_FAMILY_MASK: 1140 case OCTEON_CN52XX & OCTEON_FAMILY_MASK: 1141 return CVMX_ADD_IO_SEG(0x0001180008000218ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 1142 case OCTEON_CN56XX & OCTEON_FAMILY_MASK: 1143 case OCTEON_CN66XX & OCTEON_FAMILY_MASK: 1144 case OCTEON_CN38XX & OCTEON_FAMILY_MASK: 1145 case OCTEON_CN61XX & OCTEON_FAMILY_MASK: 1146 case OCTEON_CN58XX & OCTEON_FAMILY_MASK: 1147 return CVMX_ADD_IO_SEG(0x0001180008000218ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 1148 case OCTEON_CN31XX & OCTEON_FAMILY_MASK: 1149 return CVMX_ADD_IO_SEG(0x0001180008000218ull) + ((offset) + (block_id) * 0x0ull) * 2048; 1150 case OCTEON_CN68XX & OCTEON_FAMILY_MASK: 1151 return CVMX_ADD_IO_SEG(0x0001180008000218ull) + ((offset) + (block_id) * 0x2000ull) * 2048; 1152 } 1153 return CVMX_ADD_IO_SEG(0x0001180008000218ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 1154 } 1155 1156 static inline uint64_t CVMX_GMXX_TXX_BURST(unsigned long offset, unsigned long block_id) 1157 { 1158 switch (cvmx_get_octeon_family()) { 1159 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK: 1160 return CVMX_ADD_IO_SEG(0x0001180008000228ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 1161 case OCTEON_CN30XX & OCTEON_FAMILY_MASK: 1162 case OCTEON_CN50XX & OCTEON_FAMILY_MASK: 1163 return CVMX_ADD_IO_SEG(0x0001180008000228ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 1164 case OCTEON_CN63XX & OCTEON_FAMILY_MASK: 1165 case OCTEON_CN52XX & OCTEON_FAMILY_MASK: 1166 return CVMX_ADD_IO_SEG(0x0001180008000228ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 1167 case OCTEON_CN56XX & OCTEON_FAMILY_MASK: 1168 case OCTEON_CN66XX & OCTEON_FAMILY_MASK: 1169 case OCTEON_CN38XX & OCTEON_FAMILY_MASK: 1170 case OCTEON_CN61XX & OCTEON_FAMILY_MASK: 1171 case OCTEON_CN58XX & OCTEON_FAMILY_MASK: 1172 return CVMX_ADD_IO_SEG(0x0001180008000228ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 1173 case OCTEON_CN31XX & OCTEON_FAMILY_MASK: 1174 return CVMX_ADD_IO_SEG(0x0001180008000228ull) + ((offset) + (block_id) * 0x0ull) * 2048; 1175 case OCTEON_CN68XX & OCTEON_FAMILY_MASK: 1176 return CVMX_ADD_IO_SEG(0x0001180008000228ull) + ((offset) + (block_id) * 0x2000ull) * 2048; 1177 } 1178 return CVMX_ADD_IO_SEG(0x0001180008000228ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 1179 } 1180 1181 static inline uint64_t CVMX_GMXX_TXX_CBFC_XOFF(unsigned long offset, unsigned long block_id) 1182 { 1183 switch (cvmx_get_octeon_family()) { 1184 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK: 1185 case OCTEON_CN52XX & OCTEON_FAMILY_MASK: 1186 case OCTEON_CN63XX & OCTEON_FAMILY_MASK: 1187 return CVMX_ADD_IO_SEG(0x00011800080005A0ull) + (block_id) * 0x8000000ull; 1188 case OCTEON_CN56XX & OCTEON_FAMILY_MASK: 1189 case OCTEON_CN66XX & OCTEON_FAMILY_MASK: 1190 case OCTEON_CN61XX & OCTEON_FAMILY_MASK: 1191 return CVMX_ADD_IO_SEG(0x00011800080005A0ull) + (block_id) * 0x8000000ull; 1192 case OCTEON_CN68XX & OCTEON_FAMILY_MASK: 1193 return CVMX_ADD_IO_SEG(0x00011800080005A0ull) + (block_id) * 0x1000000ull; 1194 } 1195 return CVMX_ADD_IO_SEG(0x00011800080005A0ull) + (block_id) * 0x8000000ull; 1196 } 1197 1198 static inline uint64_t CVMX_GMXX_TXX_CBFC_XON(unsigned long offset, unsigned long block_id) 1199 { 1200 switch (cvmx_get_octeon_family()) { 1201 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK: 1202 case OCTEON_CN52XX & OCTEON_FAMILY_MASK: 1203 case OCTEON_CN63XX & OCTEON_FAMILY_MASK: 1204 return CVMX_ADD_IO_SEG(0x00011800080005C0ull) + (block_id) * 0x8000000ull; 1205 case OCTEON_CN56XX & OCTEON_FAMILY_MASK: 1206 case OCTEON_CN66XX & OCTEON_FAMILY_MASK: 1207 case OCTEON_CN61XX & OCTEON_FAMILY_MASK: 1208 return CVMX_ADD_IO_SEG(0x00011800080005C0ull) + (block_id) * 0x8000000ull; 1209 case OCTEON_CN68XX & OCTEON_FAMILY_MASK: 1210 return CVMX_ADD_IO_SEG(0x00011800080005C0ull) + (block_id) * 0x1000000ull; 1211 } 1212 return CVMX_ADD_IO_SEG(0x00011800080005C0ull) + (block_id) * 0x8000000ull; 1213 } 1214 1215 #define CVMX_GMXX_TXX_CLK(offset, block_id) (CVMX_ADD_IO_SEG(0x0001180008000208ull) + (((offset) & 3) + ((block_id) & 1) * 0x10000ull) * 2048) 1216 static inline uint64_t CVMX_GMXX_TXX_CTL(unsigned long offset, unsigned long block_id) 1217 { 1218 switch (cvmx_get_octeon_family()) { 1219 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK: 1220 return CVMX_ADD_IO_SEG(0x0001180008000270ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 1221 case OCTEON_CN30XX & OCTEON_FAMILY_MASK: 1222 case OCTEON_CN50XX & OCTEON_FAMILY_MASK: 1223 return CVMX_ADD_IO_SEG(0x0001180008000270ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 1224 case OCTEON_CN63XX & OCTEON_FAMILY_MASK: 1225 case OCTEON_CN52XX & OCTEON_FAMILY_MASK: 1226 return CVMX_ADD_IO_SEG(0x0001180008000270ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 1227 case OCTEON_CN56XX & OCTEON_FAMILY_MASK: 1228 case OCTEON_CN66XX & OCTEON_FAMILY_MASK: 1229 case OCTEON_CN38XX & OCTEON_FAMILY_MASK: 1230 case OCTEON_CN61XX & OCTEON_FAMILY_MASK: 1231 case OCTEON_CN58XX & OCTEON_FAMILY_MASK: 1232 return CVMX_ADD_IO_SEG(0x0001180008000270ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 1233 case OCTEON_CN31XX & OCTEON_FAMILY_MASK: 1234 return CVMX_ADD_IO_SEG(0x0001180008000270ull) + ((offset) + (block_id) * 0x0ull) * 2048; 1235 case OCTEON_CN68XX & OCTEON_FAMILY_MASK: 1236 return CVMX_ADD_IO_SEG(0x0001180008000270ull) + ((offset) + (block_id) * 0x2000ull) * 2048; 1237 } 1238 return CVMX_ADD_IO_SEG(0x0001180008000270ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 1239 } 1240 1241 static inline uint64_t CVMX_GMXX_TXX_MIN_PKT(unsigned long offset, unsigned long block_id) 1242 { 1243 switch (cvmx_get_octeon_family()) { 1244 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK: 1245 return CVMX_ADD_IO_SEG(0x0001180008000240ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 1246 case OCTEON_CN30XX & OCTEON_FAMILY_MASK: 1247 case OCTEON_CN50XX & OCTEON_FAMILY_MASK: 1248 return CVMX_ADD_IO_SEG(0x0001180008000240ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 1249 case OCTEON_CN63XX & OCTEON_FAMILY_MASK: 1250 case OCTEON_CN52XX & OCTEON_FAMILY_MASK: 1251 return CVMX_ADD_IO_SEG(0x0001180008000240ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 1252 case OCTEON_CN56XX & OCTEON_FAMILY_MASK: 1253 case OCTEON_CN66XX & OCTEON_FAMILY_MASK: 1254 case OCTEON_CN38XX & OCTEON_FAMILY_MASK: 1255 case OCTEON_CN61XX & OCTEON_FAMILY_MASK: 1256 case OCTEON_CN58XX & OCTEON_FAMILY_MASK: 1257 return CVMX_ADD_IO_SEG(0x0001180008000240ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 1258 case OCTEON_CN31XX & OCTEON_FAMILY_MASK: 1259 return CVMX_ADD_IO_SEG(0x0001180008000240ull) + ((offset) + (block_id) * 0x0ull) * 2048; 1260 case OCTEON_CN68XX & OCTEON_FAMILY_MASK: 1261 return CVMX_ADD_IO_SEG(0x0001180008000240ull) + ((offset) + (block_id) * 0x2000ull) * 2048; 1262 } 1263 return CVMX_ADD_IO_SEG(0x0001180008000240ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 1264 } 1265 1266 static inline uint64_t CVMX_GMXX_TXX_PAUSE_PKT_INTERVAL(unsigned long offset, unsigned long block_id) 1267 { 1268 switch (cvmx_get_octeon_family()) { 1269 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK: 1270 return CVMX_ADD_IO_SEG(0x0001180008000248ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 1271 case OCTEON_CN30XX & OCTEON_FAMILY_MASK: 1272 case OCTEON_CN50XX & OCTEON_FAMILY_MASK: 1273 return CVMX_ADD_IO_SEG(0x0001180008000248ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 1274 case OCTEON_CN63XX & OCTEON_FAMILY_MASK: 1275 case OCTEON_CN52XX & OCTEON_FAMILY_MASK: 1276 return CVMX_ADD_IO_SEG(0x0001180008000248ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 1277 case OCTEON_CN56XX & OCTEON_FAMILY_MASK: 1278 case OCTEON_CN66XX & OCTEON_FAMILY_MASK: 1279 case OCTEON_CN38XX & OCTEON_FAMILY_MASK: 1280 case OCTEON_CN61XX & OCTEON_FAMILY_MASK: 1281 case OCTEON_CN58XX & OCTEON_FAMILY_MASK: 1282 return CVMX_ADD_IO_SEG(0x0001180008000248ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 1283 case OCTEON_CN31XX & OCTEON_FAMILY_MASK: 1284 return CVMX_ADD_IO_SEG(0x0001180008000248ull) + ((offset) + (block_id) * 0x0ull) * 2048; 1285 case OCTEON_CN68XX & OCTEON_FAMILY_MASK: 1286 return CVMX_ADD_IO_SEG(0x0001180008000248ull) + ((offset) + (block_id) * 0x2000ull) * 2048; 1287 } 1288 return CVMX_ADD_IO_SEG(0x0001180008000248ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 1289 } 1290 1291 static inline uint64_t CVMX_GMXX_TXX_PAUSE_PKT_TIME(unsigned long offset, unsigned long block_id) 1292 { 1293 switch (cvmx_get_octeon_family()) { 1294 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK: 1295 return CVMX_ADD_IO_SEG(0x0001180008000238ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 1296 case OCTEON_CN30XX & OCTEON_FAMILY_MASK: 1297 case OCTEON_CN50XX & OCTEON_FAMILY_MASK: 1298 return CVMX_ADD_IO_SEG(0x0001180008000238ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 1299 case OCTEON_CN63XX & OCTEON_FAMILY_MASK: 1300 case OCTEON_CN52XX & OCTEON_FAMILY_MASK: 1301 return CVMX_ADD_IO_SEG(0x0001180008000238ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 1302 case OCTEON_CN56XX & OCTEON_FAMILY_MASK: 1303 case OCTEON_CN66XX & OCTEON_FAMILY_MASK: 1304 case OCTEON_CN38XX & OCTEON_FAMILY_MASK: 1305 case OCTEON_CN61XX & OCTEON_FAMILY_MASK: 1306 case OCTEON_CN58XX & OCTEON_FAMILY_MASK: 1307 return CVMX_ADD_IO_SEG(0x0001180008000238ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 1308 case OCTEON_CN31XX & OCTEON_FAMILY_MASK: 1309 return CVMX_ADD_IO_SEG(0x0001180008000238ull) + ((offset) + (block_id) * 0x0ull) * 2048; 1310 case OCTEON_CN68XX & OCTEON_FAMILY_MASK: 1311 return CVMX_ADD_IO_SEG(0x0001180008000238ull) + ((offset) + (block_id) * 0x2000ull) * 2048; 1312 } 1313 return CVMX_ADD_IO_SEG(0x0001180008000238ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 1314 } 1315 1316 static inline uint64_t CVMX_GMXX_TXX_PAUSE_TOGO(unsigned long offset, unsigned long block_id) 1317 { 1318 switch (cvmx_get_octeon_family()) { 1319 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK: 1320 return CVMX_ADD_IO_SEG(0x0001180008000258ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 1321 case OCTEON_CN30XX & OCTEON_FAMILY_MASK: 1322 case OCTEON_CN50XX & OCTEON_FAMILY_MASK: 1323 return CVMX_ADD_IO_SEG(0x0001180008000258ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 1324 case OCTEON_CN63XX & OCTEON_FAMILY_MASK: 1325 case OCTEON_CN52XX & OCTEON_FAMILY_MASK: 1326 return CVMX_ADD_IO_SEG(0x0001180008000258ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 1327 case OCTEON_CN56XX & OCTEON_FAMILY_MASK: 1328 case OCTEON_CN66XX & OCTEON_FAMILY_MASK: 1329 case OCTEON_CN38XX & OCTEON_FAMILY_MASK: 1330 case OCTEON_CN61XX & OCTEON_FAMILY_MASK: 1331 case OCTEON_CN58XX & OCTEON_FAMILY_MASK: 1332 return CVMX_ADD_IO_SEG(0x0001180008000258ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 1333 case OCTEON_CN31XX & OCTEON_FAMILY_MASK: 1334 return CVMX_ADD_IO_SEG(0x0001180008000258ull) + ((offset) + (block_id) * 0x0ull) * 2048; 1335 case OCTEON_CN68XX & OCTEON_FAMILY_MASK: 1336 return CVMX_ADD_IO_SEG(0x0001180008000258ull) + ((offset) + (block_id) * 0x2000ull) * 2048; 1337 } 1338 return CVMX_ADD_IO_SEG(0x0001180008000258ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 1339 } 1340 1341 static inline uint64_t CVMX_GMXX_TXX_PAUSE_ZERO(unsigned long offset, unsigned long block_id) 1342 { 1343 switch (cvmx_get_octeon_family()) { 1344 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK: 1345 return CVMX_ADD_IO_SEG(0x0001180008000260ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 1346 case OCTEON_CN30XX & OCTEON_FAMILY_MASK: 1347 case OCTEON_CN50XX & OCTEON_FAMILY_MASK: 1348 return CVMX_ADD_IO_SEG(0x0001180008000260ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 1349 case OCTEON_CN63XX & OCTEON_FAMILY_MASK: 1350 case OCTEON_CN52XX & OCTEON_FAMILY_MASK: 1351 return CVMX_ADD_IO_SEG(0x0001180008000260ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 1352 case OCTEON_CN56XX & OCTEON_FAMILY_MASK: 1353 case OCTEON_CN66XX & OCTEON_FAMILY_MASK: 1354 case OCTEON_CN38XX & OCTEON_FAMILY_MASK: 1355 case OCTEON_CN61XX & OCTEON_FAMILY_MASK: 1356 case OCTEON_CN58XX & OCTEON_FAMILY_MASK: 1357 return CVMX_ADD_IO_SEG(0x0001180008000260ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 1358 case OCTEON_CN31XX & OCTEON_FAMILY_MASK: 1359 return CVMX_ADD_IO_SEG(0x0001180008000260ull) + ((offset) + (block_id) * 0x0ull) * 2048; 1360 case OCTEON_CN68XX & OCTEON_FAMILY_MASK: 1361 return CVMX_ADD_IO_SEG(0x0001180008000260ull) + ((offset) + (block_id) * 0x2000ull) * 2048; 1362 } 1363 return CVMX_ADD_IO_SEG(0x0001180008000260ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 1364 } 1365 1366 #define CVMX_GMXX_TXX_PIPE(offset, block_id) (CVMX_ADD_IO_SEG(0x0001180008000310ull) + (((offset) & 3) + ((block_id) & 7) * 0x2000ull) * 2048) 1367 static inline uint64_t CVMX_GMXX_TXX_SGMII_CTL(unsigned long offset, unsigned long block_id) 1368 { 1369 switch (cvmx_get_octeon_family()) { 1370 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK: 1371 return CVMX_ADD_IO_SEG(0x0001180008000300ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 1372 case OCTEON_CN63XX & OCTEON_FAMILY_MASK: 1373 case OCTEON_CN52XX & OCTEON_FAMILY_MASK: 1374 return CVMX_ADD_IO_SEG(0x0001180008000300ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 1375 case OCTEON_CN56XX & OCTEON_FAMILY_MASK: 1376 case OCTEON_CN66XX & OCTEON_FAMILY_MASK: 1377 case OCTEON_CN61XX & OCTEON_FAMILY_MASK: 1378 return CVMX_ADD_IO_SEG(0x0001180008000300ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 1379 case OCTEON_CN68XX & OCTEON_FAMILY_MASK: 1380 return CVMX_ADD_IO_SEG(0x0001180008000300ull) + ((offset) + (block_id) * 0x2000ull) * 2048; 1381 } 1382 return CVMX_ADD_IO_SEG(0x0001180008000300ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 1383 } 1384 1385 static inline uint64_t CVMX_GMXX_TXX_SLOT(unsigned long offset, unsigned long block_id) 1386 { 1387 switch (cvmx_get_octeon_family()) { 1388 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK: 1389 return CVMX_ADD_IO_SEG(0x0001180008000220ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 1390 case OCTEON_CN30XX & OCTEON_FAMILY_MASK: 1391 case OCTEON_CN50XX & OCTEON_FAMILY_MASK: 1392 return CVMX_ADD_IO_SEG(0x0001180008000220ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 1393 case OCTEON_CN63XX & OCTEON_FAMILY_MASK: 1394 case OCTEON_CN52XX & OCTEON_FAMILY_MASK: 1395 return CVMX_ADD_IO_SEG(0x0001180008000220ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 1396 case OCTEON_CN56XX & OCTEON_FAMILY_MASK: 1397 case OCTEON_CN66XX & OCTEON_FAMILY_MASK: 1398 case OCTEON_CN38XX & OCTEON_FAMILY_MASK: 1399 case OCTEON_CN61XX & OCTEON_FAMILY_MASK: 1400 case OCTEON_CN58XX & OCTEON_FAMILY_MASK: 1401 return CVMX_ADD_IO_SEG(0x0001180008000220ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 1402 case OCTEON_CN31XX & OCTEON_FAMILY_MASK: 1403 return CVMX_ADD_IO_SEG(0x0001180008000220ull) + ((offset) + (block_id) * 0x0ull) * 2048; 1404 case OCTEON_CN68XX & OCTEON_FAMILY_MASK: 1405 return CVMX_ADD_IO_SEG(0x0001180008000220ull) + ((offset) + (block_id) * 0x2000ull) * 2048; 1406 } 1407 return CVMX_ADD_IO_SEG(0x0001180008000220ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 1408 } 1409 1410 static inline uint64_t CVMX_GMXX_TXX_SOFT_PAUSE(unsigned long offset, unsigned long block_id) 1411 { 1412 switch (cvmx_get_octeon_family()) { 1413 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK: 1414 return CVMX_ADD_IO_SEG(0x0001180008000250ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 1415 case OCTEON_CN30XX & OCTEON_FAMILY_MASK: 1416 case OCTEON_CN50XX & OCTEON_FAMILY_MASK: 1417 return CVMX_ADD_IO_SEG(0x0001180008000250ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 1418 case OCTEON_CN63XX & OCTEON_FAMILY_MASK: 1419 case OCTEON_CN52XX & OCTEON_FAMILY_MASK: 1420 return CVMX_ADD_IO_SEG(0x0001180008000250ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 1421 case OCTEON_CN56XX & OCTEON_FAMILY_MASK: 1422 case OCTEON_CN66XX & OCTEON_FAMILY_MASK: 1423 case OCTEON_CN38XX & OCTEON_FAMILY_MASK: 1424 case OCTEON_CN61XX & OCTEON_FAMILY_MASK: 1425 case OCTEON_CN58XX & OCTEON_FAMILY_MASK: 1426 return CVMX_ADD_IO_SEG(0x0001180008000250ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 1427 case OCTEON_CN31XX & OCTEON_FAMILY_MASK: 1428 return CVMX_ADD_IO_SEG(0x0001180008000250ull) + ((offset) + (block_id) * 0x0ull) * 2048; 1429 case OCTEON_CN68XX & OCTEON_FAMILY_MASK: 1430 return CVMX_ADD_IO_SEG(0x0001180008000250ull) + ((offset) + (block_id) * 0x2000ull) * 2048; 1431 } 1432 return CVMX_ADD_IO_SEG(0x0001180008000250ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 1433 } 1434 1435 static inline uint64_t CVMX_GMXX_TXX_STAT0(unsigned long offset, unsigned long block_id) 1436 { 1437 switch (cvmx_get_octeon_family()) { 1438 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK: 1439 return CVMX_ADD_IO_SEG(0x0001180008000280ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 1440 case OCTEON_CN30XX & OCTEON_FAMILY_MASK: 1441 case OCTEON_CN50XX & OCTEON_FAMILY_MASK: 1442 return CVMX_ADD_IO_SEG(0x0001180008000280ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 1443 case OCTEON_CN63XX & OCTEON_FAMILY_MASK: 1444 case OCTEON_CN52XX & OCTEON_FAMILY_MASK: 1445 return CVMX_ADD_IO_SEG(0x0001180008000280ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 1446 case OCTEON_CN56XX & OCTEON_FAMILY_MASK: 1447 case OCTEON_CN66XX & OCTEON_FAMILY_MASK: 1448 case OCTEON_CN38XX & OCTEON_FAMILY_MASK: 1449 case OCTEON_CN61XX & OCTEON_FAMILY_MASK: 1450 case OCTEON_CN58XX & OCTEON_FAMILY_MASK: 1451 return CVMX_ADD_IO_SEG(0x0001180008000280ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 1452 case OCTEON_CN31XX & OCTEON_FAMILY_MASK: 1453 return CVMX_ADD_IO_SEG(0x0001180008000280ull) + ((offset) + (block_id) * 0x0ull) * 2048; 1454 case OCTEON_CN68XX & OCTEON_FAMILY_MASK: 1455 return CVMX_ADD_IO_SEG(0x0001180008000280ull) + ((offset) + (block_id) * 0x2000ull) * 2048; 1456 } 1457 return CVMX_ADD_IO_SEG(0x0001180008000280ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 1458 } 1459 1460 static inline uint64_t CVMX_GMXX_TXX_STAT1(unsigned long offset, unsigned long block_id) 1461 { 1462 switch (cvmx_get_octeon_family()) { 1463 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK: 1464 return CVMX_ADD_IO_SEG(0x0001180008000288ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 1465 case OCTEON_CN30XX & OCTEON_FAMILY_MASK: 1466 case OCTEON_CN50XX & OCTEON_FAMILY_MASK: 1467 return CVMX_ADD_IO_SEG(0x0001180008000288ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 1468 case OCTEON_CN63XX & OCTEON_FAMILY_MASK: 1469 case OCTEON_CN52XX & OCTEON_FAMILY_MASK: 1470 return CVMX_ADD_IO_SEG(0x0001180008000288ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 1471 case OCTEON_CN56XX & OCTEON_FAMILY_MASK: 1472 case OCTEON_CN66XX & OCTEON_FAMILY_MASK: 1473 case OCTEON_CN38XX & OCTEON_FAMILY_MASK: 1474 case OCTEON_CN61XX & OCTEON_FAMILY_MASK: 1475 case OCTEON_CN58XX & OCTEON_FAMILY_MASK: 1476 return CVMX_ADD_IO_SEG(0x0001180008000288ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 1477 case OCTEON_CN31XX & OCTEON_FAMILY_MASK: 1478 return CVMX_ADD_IO_SEG(0x0001180008000288ull) + ((offset) + (block_id) * 0x0ull) * 2048; 1479 case OCTEON_CN68XX & OCTEON_FAMILY_MASK: 1480 return CVMX_ADD_IO_SEG(0x0001180008000288ull) + ((offset) + (block_id) * 0x2000ull) * 2048; 1481 } 1482 return CVMX_ADD_IO_SEG(0x0001180008000288ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 1483 } 1484 1485 static inline uint64_t CVMX_GMXX_TXX_STAT2(unsigned long offset, unsigned long block_id) 1486 { 1487 switch (cvmx_get_octeon_family()) { 1488 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK: 1489 return CVMX_ADD_IO_SEG(0x0001180008000290ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 1490 case OCTEON_CN30XX & OCTEON_FAMILY_MASK: 1491 case OCTEON_CN50XX & OCTEON_FAMILY_MASK: 1492 return CVMX_ADD_IO_SEG(0x0001180008000290ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 1493 case OCTEON_CN63XX & OCTEON_FAMILY_MASK: 1494 case OCTEON_CN52XX & OCTEON_FAMILY_MASK: 1495 return CVMX_ADD_IO_SEG(0x0001180008000290ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 1496 case OCTEON_CN56XX & OCTEON_FAMILY_MASK: 1497 case OCTEON_CN66XX & OCTEON_FAMILY_MASK: 1498 case OCTEON_CN38XX & OCTEON_FAMILY_MASK: 1499 case OCTEON_CN61XX & OCTEON_FAMILY_MASK: 1500 case OCTEON_CN58XX & OCTEON_FAMILY_MASK: 1501 return CVMX_ADD_IO_SEG(0x0001180008000290ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 1502 case OCTEON_CN31XX & OCTEON_FAMILY_MASK: 1503 return CVMX_ADD_IO_SEG(0x0001180008000290ull) + ((offset) + (block_id) * 0x0ull) * 2048; 1504 case OCTEON_CN68XX & OCTEON_FAMILY_MASK: 1505 return CVMX_ADD_IO_SEG(0x0001180008000290ull) + ((offset) + (block_id) * 0x2000ull) * 2048; 1506 } 1507 return CVMX_ADD_IO_SEG(0x0001180008000290ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 1508 } 1509 1510 static inline uint64_t CVMX_GMXX_TXX_STAT3(unsigned long offset, unsigned long block_id) 1511 { 1512 switch (cvmx_get_octeon_family()) { 1513 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK: 1514 return CVMX_ADD_IO_SEG(0x0001180008000298ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 1515 case OCTEON_CN30XX & OCTEON_FAMILY_MASK: 1516 case OCTEON_CN50XX & OCTEON_FAMILY_MASK: 1517 return CVMX_ADD_IO_SEG(0x0001180008000298ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 1518 case OCTEON_CN63XX & OCTEON_FAMILY_MASK: 1519 case OCTEON_CN52XX & OCTEON_FAMILY_MASK: 1520 return CVMX_ADD_IO_SEG(0x0001180008000298ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 1521 case OCTEON_CN56XX & OCTEON_FAMILY_MASK: 1522 case OCTEON_CN66XX & OCTEON_FAMILY_MASK: 1523 case OCTEON_CN38XX & OCTEON_FAMILY_MASK: 1524 case OCTEON_CN61XX & OCTEON_FAMILY_MASK: 1525 case OCTEON_CN58XX & OCTEON_FAMILY_MASK: 1526 return CVMX_ADD_IO_SEG(0x0001180008000298ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 1527 case OCTEON_CN31XX & OCTEON_FAMILY_MASK: 1528 return CVMX_ADD_IO_SEG(0x0001180008000298ull) + ((offset) + (block_id) * 0x0ull) * 2048; 1529 case OCTEON_CN68XX & OCTEON_FAMILY_MASK: 1530 return CVMX_ADD_IO_SEG(0x0001180008000298ull) + ((offset) + (block_id) * 0x2000ull) * 2048; 1531 } 1532 return CVMX_ADD_IO_SEG(0x0001180008000298ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 1533 } 1534 1535 static inline uint64_t CVMX_GMXX_TXX_STAT4(unsigned long offset, unsigned long block_id) 1536 { 1537 switch (cvmx_get_octeon_family()) { 1538 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK: 1539 return CVMX_ADD_IO_SEG(0x00011800080002A0ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 1540 case OCTEON_CN30XX & OCTEON_FAMILY_MASK: 1541 case OCTEON_CN50XX & OCTEON_FAMILY_MASK: 1542 return CVMX_ADD_IO_SEG(0x00011800080002A0ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 1543 case OCTEON_CN63XX & OCTEON_FAMILY_MASK: 1544 case OCTEON_CN52XX & OCTEON_FAMILY_MASK: 1545 return CVMX_ADD_IO_SEG(0x00011800080002A0ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 1546 case OCTEON_CN56XX & OCTEON_FAMILY_MASK: 1547 case OCTEON_CN66XX & OCTEON_FAMILY_MASK: 1548 case OCTEON_CN38XX & OCTEON_FAMILY_MASK: 1549 case OCTEON_CN61XX & OCTEON_FAMILY_MASK: 1550 case OCTEON_CN58XX & OCTEON_FAMILY_MASK: 1551 return CVMX_ADD_IO_SEG(0x00011800080002A0ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 1552 case OCTEON_CN31XX & OCTEON_FAMILY_MASK: 1553 return CVMX_ADD_IO_SEG(0x00011800080002A0ull) + ((offset) + (block_id) * 0x0ull) * 2048; 1554 case OCTEON_CN68XX & OCTEON_FAMILY_MASK: 1555 return CVMX_ADD_IO_SEG(0x00011800080002A0ull) + ((offset) + (block_id) * 0x2000ull) * 2048; 1556 } 1557 return CVMX_ADD_IO_SEG(0x00011800080002A0ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 1558 } 1559 1560 static inline uint64_t CVMX_GMXX_TXX_STAT5(unsigned long offset, unsigned long block_id) 1561 { 1562 switch (cvmx_get_octeon_family()) { 1563 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK: 1564 return CVMX_ADD_IO_SEG(0x00011800080002A8ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 1565 case OCTEON_CN30XX & OCTEON_FAMILY_MASK: 1566 case OCTEON_CN50XX & OCTEON_FAMILY_MASK: 1567 return CVMX_ADD_IO_SEG(0x00011800080002A8ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 1568 case OCTEON_CN63XX & OCTEON_FAMILY_MASK: 1569 case OCTEON_CN52XX & OCTEON_FAMILY_MASK: 1570 return CVMX_ADD_IO_SEG(0x00011800080002A8ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 1571 case OCTEON_CN56XX & OCTEON_FAMILY_MASK: 1572 case OCTEON_CN66XX & OCTEON_FAMILY_MASK: 1573 case OCTEON_CN38XX & OCTEON_FAMILY_MASK: 1574 case OCTEON_CN61XX & OCTEON_FAMILY_MASK: 1575 case OCTEON_CN58XX & OCTEON_FAMILY_MASK: 1576 return CVMX_ADD_IO_SEG(0x00011800080002A8ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 1577 case OCTEON_CN31XX & OCTEON_FAMILY_MASK: 1578 return CVMX_ADD_IO_SEG(0x00011800080002A8ull) + ((offset) + (block_id) * 0x0ull) * 2048; 1579 case OCTEON_CN68XX & OCTEON_FAMILY_MASK: 1580 return CVMX_ADD_IO_SEG(0x00011800080002A8ull) + ((offset) + (block_id) * 0x2000ull) * 2048; 1581 } 1582 return CVMX_ADD_IO_SEG(0x00011800080002A8ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 1583 } 1584 1585 static inline uint64_t CVMX_GMXX_TXX_STAT6(unsigned long offset, unsigned long block_id) 1586 { 1587 switch (cvmx_get_octeon_family()) { 1588 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK: 1589 return CVMX_ADD_IO_SEG(0x00011800080002B0ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 1590 case OCTEON_CN30XX & OCTEON_FAMILY_MASK: 1591 case OCTEON_CN50XX & OCTEON_FAMILY_MASK: 1592 return CVMX_ADD_IO_SEG(0x00011800080002B0ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 1593 case OCTEON_CN63XX & OCTEON_FAMILY_MASK: 1594 case OCTEON_CN52XX & OCTEON_FAMILY_MASK: 1595 return CVMX_ADD_IO_SEG(0x00011800080002B0ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 1596 case OCTEON_CN56XX & OCTEON_FAMILY_MASK: 1597 case OCTEON_CN66XX & OCTEON_FAMILY_MASK: 1598 case OCTEON_CN38XX & OCTEON_FAMILY_MASK: 1599 case OCTEON_CN61XX & OCTEON_FAMILY_MASK: 1600 case OCTEON_CN58XX & OCTEON_FAMILY_MASK: 1601 return CVMX_ADD_IO_SEG(0x00011800080002B0ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 1602 case OCTEON_CN31XX & OCTEON_FAMILY_MASK: 1603 return CVMX_ADD_IO_SEG(0x00011800080002B0ull) + ((offset) + (block_id) * 0x0ull) * 2048; 1604 case OCTEON_CN68XX & OCTEON_FAMILY_MASK: 1605 return CVMX_ADD_IO_SEG(0x00011800080002B0ull) + ((offset) + (block_id) * 0x2000ull) * 2048; 1606 } 1607 return CVMX_ADD_IO_SEG(0x00011800080002B0ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 1608 } 1609 1610 static inline uint64_t CVMX_GMXX_TXX_STAT7(unsigned long offset, unsigned long block_id) 1611 { 1612 switch (cvmx_get_octeon_family()) { 1613 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK: 1614 return CVMX_ADD_IO_SEG(0x00011800080002B8ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 1615 case OCTEON_CN30XX & OCTEON_FAMILY_MASK: 1616 case OCTEON_CN50XX & OCTEON_FAMILY_MASK: 1617 return CVMX_ADD_IO_SEG(0x00011800080002B8ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 1618 case OCTEON_CN63XX & OCTEON_FAMILY_MASK: 1619 case OCTEON_CN52XX & OCTEON_FAMILY_MASK: 1620 return CVMX_ADD_IO_SEG(0x00011800080002B8ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 1621 case OCTEON_CN56XX & OCTEON_FAMILY_MASK: 1622 case OCTEON_CN66XX & OCTEON_FAMILY_MASK: 1623 case OCTEON_CN38XX & OCTEON_FAMILY_MASK: 1624 case OCTEON_CN61XX & OCTEON_FAMILY_MASK: 1625 case OCTEON_CN58XX & OCTEON_FAMILY_MASK: 1626 return CVMX_ADD_IO_SEG(0x00011800080002B8ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 1627 case OCTEON_CN31XX & OCTEON_FAMILY_MASK: 1628 return CVMX_ADD_IO_SEG(0x00011800080002B8ull) + ((offset) + (block_id) * 0x0ull) * 2048; 1629 case OCTEON_CN68XX & OCTEON_FAMILY_MASK: 1630 return CVMX_ADD_IO_SEG(0x00011800080002B8ull) + ((offset) + (block_id) * 0x2000ull) * 2048; 1631 } 1632 return CVMX_ADD_IO_SEG(0x00011800080002B8ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 1633 } 1634 1635 static inline uint64_t CVMX_GMXX_TXX_STAT8(unsigned long offset, unsigned long block_id) 1636 { 1637 switch (cvmx_get_octeon_family()) { 1638 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK: 1639 return CVMX_ADD_IO_SEG(0x00011800080002C0ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 1640 case OCTEON_CN30XX & OCTEON_FAMILY_MASK: 1641 case OCTEON_CN50XX & OCTEON_FAMILY_MASK: 1642 return CVMX_ADD_IO_SEG(0x00011800080002C0ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 1643 case OCTEON_CN63XX & OCTEON_FAMILY_MASK: 1644 case OCTEON_CN52XX & OCTEON_FAMILY_MASK: 1645 return CVMX_ADD_IO_SEG(0x00011800080002C0ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 1646 case OCTEON_CN56XX & OCTEON_FAMILY_MASK: 1647 case OCTEON_CN66XX & OCTEON_FAMILY_MASK: 1648 case OCTEON_CN38XX & OCTEON_FAMILY_MASK: 1649 case OCTEON_CN61XX & OCTEON_FAMILY_MASK: 1650 case OCTEON_CN58XX & OCTEON_FAMILY_MASK: 1651 return CVMX_ADD_IO_SEG(0x00011800080002C0ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 1652 case OCTEON_CN31XX & OCTEON_FAMILY_MASK: 1653 return CVMX_ADD_IO_SEG(0x00011800080002C0ull) + ((offset) + (block_id) * 0x0ull) * 2048; 1654 case OCTEON_CN68XX & OCTEON_FAMILY_MASK: 1655 return CVMX_ADD_IO_SEG(0x00011800080002C0ull) + ((offset) + (block_id) * 0x2000ull) * 2048; 1656 } 1657 return CVMX_ADD_IO_SEG(0x00011800080002C0ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 1658 } 1659 1660 static inline uint64_t CVMX_GMXX_TXX_STAT9(unsigned long offset, unsigned long block_id) 1661 { 1662 switch (cvmx_get_octeon_family()) { 1663 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK: 1664 return CVMX_ADD_IO_SEG(0x00011800080002C8ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 1665 case OCTEON_CN30XX & OCTEON_FAMILY_MASK: 1666 case OCTEON_CN50XX & OCTEON_FAMILY_MASK: 1667 return CVMX_ADD_IO_SEG(0x00011800080002C8ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 1668 case OCTEON_CN63XX & OCTEON_FAMILY_MASK: 1669 case OCTEON_CN52XX & OCTEON_FAMILY_MASK: 1670 return CVMX_ADD_IO_SEG(0x00011800080002C8ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 1671 case OCTEON_CN56XX & OCTEON_FAMILY_MASK: 1672 case OCTEON_CN66XX & OCTEON_FAMILY_MASK: 1673 case OCTEON_CN38XX & OCTEON_FAMILY_MASK: 1674 case OCTEON_CN61XX & OCTEON_FAMILY_MASK: 1675 case OCTEON_CN58XX & OCTEON_FAMILY_MASK: 1676 return CVMX_ADD_IO_SEG(0x00011800080002C8ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 1677 case OCTEON_CN31XX & OCTEON_FAMILY_MASK: 1678 return CVMX_ADD_IO_SEG(0x00011800080002C8ull) + ((offset) + (block_id) * 0x0ull) * 2048; 1679 case OCTEON_CN68XX & OCTEON_FAMILY_MASK: 1680 return CVMX_ADD_IO_SEG(0x00011800080002C8ull) + ((offset) + (block_id) * 0x2000ull) * 2048; 1681 } 1682 return CVMX_ADD_IO_SEG(0x00011800080002C8ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 1683 } 1684 1685 static inline uint64_t CVMX_GMXX_TXX_STATS_CTL(unsigned long offset, unsigned long block_id) 1686 { 1687 switch (cvmx_get_octeon_family()) { 1688 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK: 1689 return CVMX_ADD_IO_SEG(0x0001180008000268ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 1690 case OCTEON_CN30XX & OCTEON_FAMILY_MASK: 1691 case OCTEON_CN50XX & OCTEON_FAMILY_MASK: 1692 return CVMX_ADD_IO_SEG(0x0001180008000268ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 1693 case OCTEON_CN63XX & OCTEON_FAMILY_MASK: 1694 case OCTEON_CN52XX & OCTEON_FAMILY_MASK: 1695 return CVMX_ADD_IO_SEG(0x0001180008000268ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 1696 case OCTEON_CN56XX & OCTEON_FAMILY_MASK: 1697 case OCTEON_CN66XX & OCTEON_FAMILY_MASK: 1698 case OCTEON_CN38XX & OCTEON_FAMILY_MASK: 1699 case OCTEON_CN61XX & OCTEON_FAMILY_MASK: 1700 case OCTEON_CN58XX & OCTEON_FAMILY_MASK: 1701 return CVMX_ADD_IO_SEG(0x0001180008000268ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 1702 case OCTEON_CN31XX & OCTEON_FAMILY_MASK: 1703 return CVMX_ADD_IO_SEG(0x0001180008000268ull) + ((offset) + (block_id) * 0x0ull) * 2048; 1704 case OCTEON_CN68XX & OCTEON_FAMILY_MASK: 1705 return CVMX_ADD_IO_SEG(0x0001180008000268ull) + ((offset) + (block_id) * 0x2000ull) * 2048; 1706 } 1707 return CVMX_ADD_IO_SEG(0x0001180008000268ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 1708 } 1709 1710 static inline uint64_t CVMX_GMXX_TXX_THRESH(unsigned long offset, unsigned long block_id) 1711 { 1712 switch (cvmx_get_octeon_family()) { 1713 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK: 1714 return CVMX_ADD_IO_SEG(0x0001180008000210ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 1715 case OCTEON_CN30XX & OCTEON_FAMILY_MASK: 1716 case OCTEON_CN50XX & OCTEON_FAMILY_MASK: 1717 return CVMX_ADD_IO_SEG(0x0001180008000210ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 1718 case OCTEON_CN63XX & OCTEON_FAMILY_MASK: 1719 case OCTEON_CN52XX & OCTEON_FAMILY_MASK: 1720 return CVMX_ADD_IO_SEG(0x0001180008000210ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 1721 case OCTEON_CN56XX & OCTEON_FAMILY_MASK: 1722 case OCTEON_CN66XX & OCTEON_FAMILY_MASK: 1723 case OCTEON_CN38XX & OCTEON_FAMILY_MASK: 1724 case OCTEON_CN61XX & OCTEON_FAMILY_MASK: 1725 case OCTEON_CN58XX & OCTEON_FAMILY_MASK: 1726 return CVMX_ADD_IO_SEG(0x0001180008000210ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 1727 case OCTEON_CN31XX & OCTEON_FAMILY_MASK: 1728 return CVMX_ADD_IO_SEG(0x0001180008000210ull) + ((offset) + (block_id) * 0x0ull) * 2048; 1729 case OCTEON_CN68XX & OCTEON_FAMILY_MASK: 1730 return CVMX_ADD_IO_SEG(0x0001180008000210ull) + ((offset) + (block_id) * 0x2000ull) * 2048; 1731 } 1732 return CVMX_ADD_IO_SEG(0x0001180008000210ull) + ((offset) + (block_id) * 0x10000ull) * 2048; 1733 } 1734 1735 static inline uint64_t CVMX_GMXX_TX_BP(unsigned long block_id) 1736 { 1737 switch (cvmx_get_octeon_family()) { 1738 case OCTEON_CN30XX & OCTEON_FAMILY_MASK: 1739 case OCTEON_CN50XX & OCTEON_FAMILY_MASK: 1740 case OCTEON_CN31XX & OCTEON_FAMILY_MASK: 1741 case OCTEON_CN52XX & OCTEON_FAMILY_MASK: 1742 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK: 1743 case OCTEON_CN63XX & OCTEON_FAMILY_MASK: 1744 return CVMX_ADD_IO_SEG(0x00011800080004D0ull) + (block_id) * 0x8000000ull; 1745 case OCTEON_CN56XX & OCTEON_FAMILY_MASK: 1746 case OCTEON_CN66XX & OCTEON_FAMILY_MASK: 1747 case OCTEON_CN38XX & OCTEON_FAMILY_MASK: 1748 case OCTEON_CN58XX & OCTEON_FAMILY_MASK: 1749 case OCTEON_CN61XX & OCTEON_FAMILY_MASK: 1750 return CVMX_ADD_IO_SEG(0x00011800080004D0ull) + (block_id) * 0x8000000ull; 1751 case OCTEON_CN68XX & OCTEON_FAMILY_MASK: 1752 return CVMX_ADD_IO_SEG(0x00011800080004D0ull) + (block_id) * 0x1000000ull; 1753 } 1754 return CVMX_ADD_IO_SEG(0x00011800080004D0ull) + (block_id) * 0x8000000ull; 1755 } 1756 1757 #define CVMX_GMXX_TX_CLK_MSKX(offset, block_id) (CVMX_ADD_IO_SEG(0x0001180008000780ull) + (((offset) & 1) + ((block_id) & 0) * 0x0ull) * 8) 1758 static inline uint64_t CVMX_GMXX_TX_COL_ATTEMPT(unsigned long block_id) 1759 { 1760 switch (cvmx_get_octeon_family()) { 1761 case OCTEON_CN30XX & OCTEON_FAMILY_MASK: 1762 case OCTEON_CN50XX & OCTEON_FAMILY_MASK: 1763 case OCTEON_CN31XX & OCTEON_FAMILY_MASK: 1764 case OCTEON_CN52XX & OCTEON_FAMILY_MASK: 1765 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK: 1766 case OCTEON_CN63XX & OCTEON_FAMILY_MASK: 1767 return CVMX_ADD_IO_SEG(0x0001180008000498ull) + (block_id) * 0x8000000ull; 1768 case OCTEON_CN56XX & OCTEON_FAMILY_MASK: 1769 case OCTEON_CN66XX & OCTEON_FAMILY_MASK: 1770 case OCTEON_CN38XX & OCTEON_FAMILY_MASK: 1771 case OCTEON_CN58XX & OCTEON_FAMILY_MASK: 1772 case OCTEON_CN61XX & OCTEON_FAMILY_MASK: 1773 return CVMX_ADD_IO_SEG(0x0001180008000498ull) + (block_id) * 0x8000000ull; 1774 case OCTEON_CN68XX & OCTEON_FAMILY_MASK: 1775 return CVMX_ADD_IO_SEG(0x0001180008000498ull) + (block_id) * 0x1000000ull; 1776 } 1777 return CVMX_ADD_IO_SEG(0x0001180008000498ull) + (block_id) * 0x8000000ull; 1778 } 1779 1780 static inline uint64_t CVMX_GMXX_TX_CORRUPT(unsigned long block_id) 1781 { 1782 switch (cvmx_get_octeon_family()) { 1783 case OCTEON_CN30XX & OCTEON_FAMILY_MASK: 1784 case OCTEON_CN50XX & OCTEON_FAMILY_MASK: 1785 case OCTEON_CN31XX & OCTEON_FAMILY_MASK: 1786 case OCTEON_CN52XX & OCTEON_FAMILY_MASK: 1787 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK: 1788 case OCTEON_CN63XX & OCTEON_FAMILY_MASK: 1789 return CVMX_ADD_IO_SEG(0x00011800080004D8ull) + (block_id) * 0x8000000ull; 1790 case OCTEON_CN56XX & OCTEON_FAMILY_MASK: 1791 case OCTEON_CN66XX & OCTEON_FAMILY_MASK: 1792 case OCTEON_CN38XX & OCTEON_FAMILY_MASK: 1793 case OCTEON_CN58XX & OCTEON_FAMILY_MASK: 1794 case OCTEON_CN61XX & OCTEON_FAMILY_MASK: 1795 return CVMX_ADD_IO_SEG(0x00011800080004D8ull) + (block_id) * 0x8000000ull; 1796 case OCTEON_CN68XX & OCTEON_FAMILY_MASK: 1797 return CVMX_ADD_IO_SEG(0x00011800080004D8ull) + (block_id) * 0x1000000ull; 1798 } 1799 return CVMX_ADD_IO_SEG(0x00011800080004D8ull) + (block_id) * 0x8000000ull; 1800 } 1801 1802 static inline uint64_t CVMX_GMXX_TX_HG2_REG1(unsigned long block_id) 1803 { 1804 switch (cvmx_get_octeon_family()) { 1805 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK: 1806 case OCTEON_CN52XX & OCTEON_FAMILY_MASK: 1807 case OCTEON_CN63XX & OCTEON_FAMILY_MASK: 1808 return CVMX_ADD_IO_SEG(0x0001180008000558ull) + (block_id) * 0x8000000ull; 1809 case OCTEON_CN56XX & OCTEON_FAMILY_MASK: 1810 case OCTEON_CN66XX & OCTEON_FAMILY_MASK: 1811 case OCTEON_CN61XX & OCTEON_FAMILY_MASK: 1812 return CVMX_ADD_IO_SEG(0x0001180008000558ull) + (block_id) * 0x8000000ull; 1813 case OCTEON_CN68XX & OCTEON_FAMILY_MASK: 1814 return CVMX_ADD_IO_SEG(0x0001180008000558ull) + (block_id) * 0x1000000ull; 1815 } 1816 return CVMX_ADD_IO_SEG(0x0001180008000558ull) + (block_id) * 0x8000000ull; 1817 } 1818 1819 static inline uint64_t CVMX_GMXX_TX_HG2_REG2(unsigned long block_id) 1820 { 1821 switch (cvmx_get_octeon_family()) { 1822 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK: 1823 case OCTEON_CN52XX & OCTEON_FAMILY_MASK: 1824 case OCTEON_CN63XX & OCTEON_FAMILY_MASK: 1825 return CVMX_ADD_IO_SEG(0x0001180008000560ull) + (block_id) * 0x8000000ull; 1826 case OCTEON_CN56XX & OCTEON_FAMILY_MASK: 1827 case OCTEON_CN66XX & OCTEON_FAMILY_MASK: 1828 case OCTEON_CN61XX & OCTEON_FAMILY_MASK: 1829 return CVMX_ADD_IO_SEG(0x0001180008000560ull) + (block_id) * 0x8000000ull; 1830 case OCTEON_CN68XX & OCTEON_FAMILY_MASK: 1831 return CVMX_ADD_IO_SEG(0x0001180008000560ull) + (block_id) * 0x1000000ull; 1832 } 1833 return CVMX_ADD_IO_SEG(0x0001180008000560ull) + (block_id) * 0x8000000ull; 1834 } 1835 1836 static inline uint64_t CVMX_GMXX_TX_IFG(unsigned long block_id) 1837 { 1838 switch (cvmx_get_octeon_family()) { 1839 case OCTEON_CN30XX & OCTEON_FAMILY_MASK: 1840 case OCTEON_CN50XX & OCTEON_FAMILY_MASK: 1841 case OCTEON_CN31XX & OCTEON_FAMILY_MASK: 1842 case OCTEON_CN52XX & OCTEON_FAMILY_MASK: 1843 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK: 1844 case OCTEON_CN63XX & OCTEON_FAMILY_MASK: 1845 return CVMX_ADD_IO_SEG(0x0001180008000488ull) + (block_id) * 0x8000000ull; 1846 case OCTEON_CN56XX & OCTEON_FAMILY_MASK: 1847 case OCTEON_CN66XX & OCTEON_FAMILY_MASK: 1848 case OCTEON_CN38XX & OCTEON_FAMILY_MASK: 1849 case OCTEON_CN58XX & OCTEON_FAMILY_MASK: 1850 case OCTEON_CN61XX & OCTEON_FAMILY_MASK: 1851 return CVMX_ADD_IO_SEG(0x0001180008000488ull) + (block_id) * 0x8000000ull; 1852 case OCTEON_CN68XX & OCTEON_FAMILY_MASK: 1853 return CVMX_ADD_IO_SEG(0x0001180008000488ull) + (block_id) * 0x1000000ull; 1854 } 1855 return CVMX_ADD_IO_SEG(0x0001180008000488ull) + (block_id) * 0x8000000ull; 1856 } 1857 1858 static inline uint64_t CVMX_GMXX_TX_INT_EN(unsigned long block_id) 1859 { 1860 switch (cvmx_get_octeon_family()) { 1861 case OCTEON_CN30XX & OCTEON_FAMILY_MASK: 1862 case OCTEON_CN50XX & OCTEON_FAMILY_MASK: 1863 case OCTEON_CN31XX & OCTEON_FAMILY_MASK: 1864 case OCTEON_CN52XX & OCTEON_FAMILY_MASK: 1865 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK: 1866 case OCTEON_CN63XX & OCTEON_FAMILY_MASK: 1867 return CVMX_ADD_IO_SEG(0x0001180008000508ull) + (block_id) * 0x8000000ull; 1868 case OCTEON_CN56XX & OCTEON_FAMILY_MASK: 1869 case OCTEON_CN66XX & OCTEON_FAMILY_MASK: 1870 case OCTEON_CN38XX & OCTEON_FAMILY_MASK: 1871 case OCTEON_CN58XX & OCTEON_FAMILY_MASK: 1872 case OCTEON_CN61XX & OCTEON_FAMILY_MASK: 1873 return CVMX_ADD_IO_SEG(0x0001180008000508ull) + (block_id) * 0x8000000ull; 1874 case OCTEON_CN68XX & OCTEON_FAMILY_MASK: 1875 return CVMX_ADD_IO_SEG(0x0001180008000508ull) + (block_id) * 0x1000000ull; 1876 } 1877 return CVMX_ADD_IO_SEG(0x0001180008000508ull) + (block_id) * 0x8000000ull; 1878 } 1879 1880 static inline uint64_t CVMX_GMXX_TX_INT_REG(unsigned long block_id) 1881 { 1882 switch (cvmx_get_octeon_family()) { 1883 case OCTEON_CN30XX & OCTEON_FAMILY_MASK: 1884 case OCTEON_CN50XX & OCTEON_FAMILY_MASK: 1885 case OCTEON_CN31XX & OCTEON_FAMILY_MASK: 1886 case OCTEON_CN52XX & OCTEON_FAMILY_MASK: 1887 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK: 1888 case OCTEON_CN63XX & OCTEON_FAMILY_MASK: 1889 return CVMX_ADD_IO_SEG(0x0001180008000500ull) + (block_id) * 0x8000000ull; 1890 case OCTEON_CN56XX & OCTEON_FAMILY_MASK: 1891 case OCTEON_CN66XX & OCTEON_FAMILY_MASK: 1892 case OCTEON_CN38XX & OCTEON_FAMILY_MASK: 1893 case OCTEON_CN58XX & OCTEON_FAMILY_MASK: 1894 case OCTEON_CN61XX & OCTEON_FAMILY_MASK: 1895 return CVMX_ADD_IO_SEG(0x0001180008000500ull) + (block_id) * 0x8000000ull; 1896 case OCTEON_CN68XX & OCTEON_FAMILY_MASK: 1897 return CVMX_ADD_IO_SEG(0x0001180008000500ull) + (block_id) * 0x1000000ull; 1898 } 1899 return CVMX_ADD_IO_SEG(0x0001180008000500ull) + (block_id) * 0x8000000ull; 1900 } 1901 1902 static inline uint64_t CVMX_GMXX_TX_JAM(unsigned long block_id) 1903 { 1904 switch (cvmx_get_octeon_family()) { 1905 case OCTEON_CN30XX & OCTEON_FAMILY_MASK: 1906 case OCTEON_CN50XX & OCTEON_FAMILY_MASK: 1907 case OCTEON_CN31XX & OCTEON_FAMILY_MASK: 1908 case OCTEON_CN52XX & OCTEON_FAMILY_MASK: 1909 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK: 1910 case OCTEON_CN63XX & OCTEON_FAMILY_MASK: 1911 return CVMX_ADD_IO_SEG(0x0001180008000490ull) + (block_id) * 0x8000000ull; 1912 case OCTEON_CN56XX & OCTEON_FAMILY_MASK: 1913 case OCTEON_CN66XX & OCTEON_FAMILY_MASK: 1914 case OCTEON_CN38XX & OCTEON_FAMILY_MASK: 1915 case OCTEON_CN58XX & OCTEON_FAMILY_MASK: 1916 case OCTEON_CN61XX & OCTEON_FAMILY_MASK: 1917 return CVMX_ADD_IO_SEG(0x0001180008000490ull) + (block_id) * 0x8000000ull; 1918 case OCTEON_CN68XX & OCTEON_FAMILY_MASK: 1919 return CVMX_ADD_IO_SEG(0x0001180008000490ull) + (block_id) * 0x1000000ull; 1920 } 1921 return CVMX_ADD_IO_SEG(0x0001180008000490ull) + (block_id) * 0x8000000ull; 1922 } 1923 1924 static inline uint64_t CVMX_GMXX_TX_LFSR(unsigned long block_id) 1925 { 1926 switch (cvmx_get_octeon_family()) { 1927 case OCTEON_CN30XX & OCTEON_FAMILY_MASK: 1928 case OCTEON_CN50XX & OCTEON_FAMILY_MASK: 1929 case OCTEON_CN31XX & OCTEON_FAMILY_MASK: 1930 case OCTEON_CN52XX & OCTEON_FAMILY_MASK: 1931 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK: 1932 case OCTEON_CN63XX & OCTEON_FAMILY_MASK: 1933 return CVMX_ADD_IO_SEG(0x00011800080004F8ull) + (block_id) * 0x8000000ull; 1934 case OCTEON_CN56XX & OCTEON_FAMILY_MASK: 1935 case OCTEON_CN66XX & OCTEON_FAMILY_MASK: 1936 case OCTEON_CN38XX & OCTEON_FAMILY_MASK: 1937 case OCTEON_CN58XX & OCTEON_FAMILY_MASK: 1938 case OCTEON_CN61XX & OCTEON_FAMILY_MASK: 1939 return CVMX_ADD_IO_SEG(0x00011800080004F8ull) + (block_id) * 0x8000000ull; 1940 case OCTEON_CN68XX & OCTEON_FAMILY_MASK: 1941 return CVMX_ADD_IO_SEG(0x00011800080004F8ull) + (block_id) * 0x1000000ull; 1942 } 1943 return CVMX_ADD_IO_SEG(0x00011800080004F8ull) + (block_id) * 0x8000000ull; 1944 } 1945 1946 static inline uint64_t CVMX_GMXX_TX_OVR_BP(unsigned long block_id) 1947 { 1948 switch (cvmx_get_octeon_family()) { 1949 case OCTEON_CN30XX & OCTEON_FAMILY_MASK: 1950 case OCTEON_CN50XX & OCTEON_FAMILY_MASK: 1951 case OCTEON_CN31XX & OCTEON_FAMILY_MASK: 1952 case OCTEON_CN52XX & OCTEON_FAMILY_MASK: 1953 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK: 1954 case OCTEON_CN63XX & OCTEON_FAMILY_MASK: 1955 return CVMX_ADD_IO_SEG(0x00011800080004C8ull) + (block_id) * 0x8000000ull; 1956 case OCTEON_CN56XX & OCTEON_FAMILY_MASK: 1957 case OCTEON_CN66XX & OCTEON_FAMILY_MASK: 1958 case OCTEON_CN38XX & OCTEON_FAMILY_MASK: 1959 case OCTEON_CN58XX & OCTEON_FAMILY_MASK: 1960 case OCTEON_CN61XX & OCTEON_FAMILY_MASK: 1961 return CVMX_ADD_IO_SEG(0x00011800080004C8ull) + (block_id) * 0x8000000ull; 1962 case OCTEON_CN68XX & OCTEON_FAMILY_MASK: 1963 return CVMX_ADD_IO_SEG(0x00011800080004C8ull) + (block_id) * 0x1000000ull; 1964 } 1965 return CVMX_ADD_IO_SEG(0x00011800080004C8ull) + (block_id) * 0x8000000ull; 1966 } 1967 1968 static inline uint64_t CVMX_GMXX_TX_PAUSE_PKT_DMAC(unsigned long block_id) 1969 { 1970 switch (cvmx_get_octeon_family()) { 1971 case OCTEON_CN30XX & OCTEON_FAMILY_MASK: 1972 case OCTEON_CN50XX & OCTEON_FAMILY_MASK: 1973 case OCTEON_CN31XX & OCTEON_FAMILY_MASK: 1974 case OCTEON_CN52XX & OCTEON_FAMILY_MASK: 1975 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK: 1976 case OCTEON_CN63XX & OCTEON_FAMILY_MASK: 1977 return CVMX_ADD_IO_SEG(0x00011800080004A0ull) + (block_id) * 0x8000000ull; 1978 case OCTEON_CN56XX & OCTEON_FAMILY_MASK: 1979 case OCTEON_CN66XX & OCTEON_FAMILY_MASK: 1980 case OCTEON_CN38XX & OCTEON_FAMILY_MASK: 1981 case OCTEON_CN58XX & OCTEON_FAMILY_MASK: 1982 case OCTEON_CN61XX & OCTEON_FAMILY_MASK: 1983 return CVMX_ADD_IO_SEG(0x00011800080004A0ull) + (block_id) * 0x8000000ull; 1984 case OCTEON_CN68XX & OCTEON_FAMILY_MASK: 1985 return CVMX_ADD_IO_SEG(0x00011800080004A0ull) + (block_id) * 0x1000000ull; 1986 } 1987 return CVMX_ADD_IO_SEG(0x00011800080004A0ull) + (block_id) * 0x8000000ull; 1988 } 1989 1990 static inline uint64_t CVMX_GMXX_TX_PAUSE_PKT_TYPE(unsigned long block_id) 1991 { 1992 switch (cvmx_get_octeon_family()) { 1993 case OCTEON_CN30XX & OCTEON_FAMILY_MASK: 1994 case OCTEON_CN50XX & OCTEON_FAMILY_MASK: 1995 case OCTEON_CN31XX & OCTEON_FAMILY_MASK: 1996 case OCTEON_CN52XX & OCTEON_FAMILY_MASK: 1997 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK: 1998 case OCTEON_CN63XX & OCTEON_FAMILY_MASK: 1999 return CVMX_ADD_IO_SEG(0x00011800080004A8ull) + (block_id) * 0x8000000ull; 2000 case OCTEON_CN56XX & OCTEON_FAMILY_MASK: 2001 case OCTEON_CN66XX & OCTEON_FAMILY_MASK: 2002 case OCTEON_CN38XX & OCTEON_FAMILY_MASK: 2003 case OCTEON_CN58XX & OCTEON_FAMILY_MASK: 2004 case OCTEON_CN61XX & OCTEON_FAMILY_MASK: 2005 return CVMX_ADD_IO_SEG(0x00011800080004A8ull) + (block_id) * 0x8000000ull; 2006 case OCTEON_CN68XX & OCTEON_FAMILY_MASK: 2007 return CVMX_ADD_IO_SEG(0x00011800080004A8ull) + (block_id) * 0x1000000ull; 2008 } 2009 return CVMX_ADD_IO_SEG(0x00011800080004A8ull) + (block_id) * 0x8000000ull; 2010 } 2011 2012 static inline uint64_t CVMX_GMXX_TX_PRTS(unsigned long block_id) 2013 { 2014 switch (cvmx_get_octeon_family()) { 2015 case OCTEON_CN30XX & OCTEON_FAMILY_MASK: 2016 case OCTEON_CN50XX & OCTEON_FAMILY_MASK: 2017 case OCTEON_CN31XX & OCTEON_FAMILY_MASK: 2018 case OCTEON_CN52XX & OCTEON_FAMILY_MASK: 2019 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK: 2020 case OCTEON_CN63XX & OCTEON_FAMILY_MASK: 2021 return CVMX_ADD_IO_SEG(0x0001180008000480ull) + (block_id) * 0x8000000ull; 2022 case OCTEON_CN56XX & OCTEON_FAMILY_MASK: 2023 case OCTEON_CN66XX & OCTEON_FAMILY_MASK: 2024 case OCTEON_CN38XX & OCTEON_FAMILY_MASK: 2025 case OCTEON_CN58XX & OCTEON_FAMILY_MASK: 2026 case OCTEON_CN61XX & OCTEON_FAMILY_MASK: 2027 return CVMX_ADD_IO_SEG(0x0001180008000480ull) + (block_id) * 0x8000000ull; 2028 case OCTEON_CN68XX & OCTEON_FAMILY_MASK: 2029 return CVMX_ADD_IO_SEG(0x0001180008000480ull) + (block_id) * 0x1000000ull; 2030 } 2031 return CVMX_ADD_IO_SEG(0x0001180008000480ull) + (block_id) * 0x8000000ull; 2032 } 2033 2034 #define CVMX_GMXX_TX_SPI_CTL(block_id) (CVMX_ADD_IO_SEG(0x00011800080004C0ull) + ((block_id) & 1) * 0x8000000ull) 2035 #define CVMX_GMXX_TX_SPI_DRAIN(block_id) (CVMX_ADD_IO_SEG(0x00011800080004E0ull) + ((block_id) & 1) * 0x8000000ull) 2036 #define CVMX_GMXX_TX_SPI_MAX(block_id) (CVMX_ADD_IO_SEG(0x00011800080004B0ull) + ((block_id) & 1) * 0x8000000ull) 2037 #define CVMX_GMXX_TX_SPI_ROUNDX(offset, block_id) (CVMX_ADD_IO_SEG(0x0001180008000680ull) + (((offset) & 31) + ((block_id) & 1) * 0x1000000ull) * 8) 2038 #define CVMX_GMXX_TX_SPI_THRESH(block_id) (CVMX_ADD_IO_SEG(0x00011800080004B8ull) + ((block_id) & 1) * 0x8000000ull) 2039 static inline uint64_t CVMX_GMXX_TX_XAUI_CTL(unsigned long block_id) 2040 { 2041 switch (cvmx_get_octeon_family()) { 2042 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK: 2043 case OCTEON_CN52XX & OCTEON_FAMILY_MASK: 2044 case OCTEON_CN63XX & OCTEON_FAMILY_MASK: 2045 return CVMX_ADD_IO_SEG(0x0001180008000528ull) + (block_id) * 0x8000000ull; 2046 case OCTEON_CN56XX & OCTEON_FAMILY_MASK: 2047 case OCTEON_CN66XX & OCTEON_FAMILY_MASK: 2048 case OCTEON_CN61XX & OCTEON_FAMILY_MASK: 2049 return CVMX_ADD_IO_SEG(0x0001180008000528ull) + (block_id) * 0x8000000ull; 2050 case OCTEON_CN68XX & OCTEON_FAMILY_MASK: 2051 return CVMX_ADD_IO_SEG(0x0001180008000528ull) + (block_id) * 0x1000000ull; 2052 } 2053 return CVMX_ADD_IO_SEG(0x0001180008000528ull) + (block_id) * 0x8000000ull; 2054 } 2055 2056 static inline uint64_t CVMX_GMXX_XAUI_EXT_LOOPBACK(unsigned long block_id) 2057 { 2058 switch (cvmx_get_octeon_family()) { 2059 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK: 2060 case OCTEON_CN52XX & OCTEON_FAMILY_MASK: 2061 case OCTEON_CN63XX & OCTEON_FAMILY_MASK: 2062 return CVMX_ADD_IO_SEG(0x0001180008000540ull) + (block_id) * 0x8000000ull; 2063 case OCTEON_CN56XX & OCTEON_FAMILY_MASK: 2064 case OCTEON_CN66XX & OCTEON_FAMILY_MASK: 2065 case OCTEON_CN61XX & OCTEON_FAMILY_MASK: 2066 return CVMX_ADD_IO_SEG(0x0001180008000540ull) + (block_id) * 0x8000000ull; 2067 case OCTEON_CN68XX & OCTEON_FAMILY_MASK: 2068 return CVMX_ADD_IO_SEG(0x0001180008000540ull) + (block_id) * 0x1000000ull; 2069 } 2070 return CVMX_ADD_IO_SEG(0x0001180008000540ull) + (block_id) * 0x8000000ull; 2071 } 2072 2073 union cvmx_gmxx_bad_reg { 2074 uint64_t u64; 2075 struct cvmx_gmxx_bad_reg_s { 2076 #ifdef __BIG_ENDIAN_BITFIELD 2077 uint64_t reserved_31_63:33; 2078 uint64_t inb_nxa:4; 2079 uint64_t statovr:1; 2080 uint64_t loststat:4; 2081 uint64_t reserved_18_21:4; 2082 uint64_t out_ovr:16; 2083 uint64_t ncb_ovr:1; 2084 uint64_t out_col:1; 2085 #else 2086 uint64_t out_col:1; 2087 uint64_t ncb_ovr:1; 2088 uint64_t out_ovr:16; 2089 uint64_t reserved_18_21:4; 2090 uint64_t loststat:4; 2091 uint64_t statovr:1; 2092 uint64_t inb_nxa:4; 2093 uint64_t reserved_31_63:33; 2094 #endif 2095 } s; 2096 struct cvmx_gmxx_bad_reg_cn30xx { 2097 #ifdef __BIG_ENDIAN_BITFIELD 2098 uint64_t reserved_31_63:33; 2099 uint64_t inb_nxa:4; 2100 uint64_t statovr:1; 2101 uint64_t reserved_25_25:1; 2102 uint64_t loststat:3; 2103 uint64_t reserved_5_21:17; 2104 uint64_t out_ovr:3; 2105 uint64_t reserved_0_1:2; 2106 #else 2107 uint64_t reserved_0_1:2; 2108 uint64_t out_ovr:3; 2109 uint64_t reserved_5_21:17; 2110 uint64_t loststat:3; 2111 uint64_t reserved_25_25:1; 2112 uint64_t statovr:1; 2113 uint64_t inb_nxa:4; 2114 uint64_t reserved_31_63:33; 2115 #endif 2116 } cn30xx; 2117 struct cvmx_gmxx_bad_reg_cn30xx cn31xx; 2118 struct cvmx_gmxx_bad_reg_s cn38xx; 2119 struct cvmx_gmxx_bad_reg_s cn38xxp2; 2120 struct cvmx_gmxx_bad_reg_cn30xx cn50xx; 2121 struct cvmx_gmxx_bad_reg_cn52xx { 2122 #ifdef __BIG_ENDIAN_BITFIELD 2123 uint64_t reserved_31_63:33; 2124 uint64_t inb_nxa:4; 2125 uint64_t statovr:1; 2126 uint64_t loststat:4; 2127 uint64_t reserved_6_21:16; 2128 uint64_t out_ovr:4; 2129 uint64_t reserved_0_1:2; 2130 #else 2131 uint64_t reserved_0_1:2; 2132 uint64_t out_ovr:4; 2133 uint64_t reserved_6_21:16; 2134 uint64_t loststat:4; 2135 uint64_t statovr:1; 2136 uint64_t inb_nxa:4; 2137 uint64_t reserved_31_63:33; 2138 #endif 2139 } cn52xx; 2140 struct cvmx_gmxx_bad_reg_cn52xx cn52xxp1; 2141 struct cvmx_gmxx_bad_reg_cn52xx cn56xx; 2142 struct cvmx_gmxx_bad_reg_cn52xx cn56xxp1; 2143 struct cvmx_gmxx_bad_reg_s cn58xx; 2144 struct cvmx_gmxx_bad_reg_s cn58xxp1; 2145 struct cvmx_gmxx_bad_reg_cn52xx cn61xx; 2146 struct cvmx_gmxx_bad_reg_cn52xx cn63xx; 2147 struct cvmx_gmxx_bad_reg_cn52xx cn63xxp1; 2148 struct cvmx_gmxx_bad_reg_cn52xx cn66xx; 2149 struct cvmx_gmxx_bad_reg_cn52xx cn68xx; 2150 struct cvmx_gmxx_bad_reg_cn52xx cn68xxp1; 2151 struct cvmx_gmxx_bad_reg_cn52xx cnf71xx; 2152 }; 2153 2154 union cvmx_gmxx_bist { 2155 uint64_t u64; 2156 struct cvmx_gmxx_bist_s { 2157 #ifdef __BIG_ENDIAN_BITFIELD 2158 uint64_t reserved_25_63:39; 2159 uint64_t status:25; 2160 #else 2161 uint64_t status:25; 2162 uint64_t reserved_25_63:39; 2163 #endif 2164 } s; 2165 struct cvmx_gmxx_bist_cn30xx { 2166 #ifdef __BIG_ENDIAN_BITFIELD 2167 uint64_t reserved_10_63:54; 2168 uint64_t status:10; 2169 #else 2170 uint64_t status:10; 2171 uint64_t reserved_10_63:54; 2172 #endif 2173 } cn30xx; 2174 struct cvmx_gmxx_bist_cn30xx cn31xx; 2175 struct cvmx_gmxx_bist_cn30xx cn38xx; 2176 struct cvmx_gmxx_bist_cn30xx cn38xxp2; 2177 struct cvmx_gmxx_bist_cn50xx { 2178 #ifdef __BIG_ENDIAN_BITFIELD 2179 uint64_t reserved_12_63:52; 2180 uint64_t status:12; 2181 #else 2182 uint64_t status:12; 2183 uint64_t reserved_12_63:52; 2184 #endif 2185 } cn50xx; 2186 struct cvmx_gmxx_bist_cn52xx { 2187 #ifdef __BIG_ENDIAN_BITFIELD 2188 uint64_t reserved_16_63:48; 2189 uint64_t status:16; 2190 #else 2191 uint64_t status:16; 2192 uint64_t reserved_16_63:48; 2193 #endif 2194 } cn52xx; 2195 struct cvmx_gmxx_bist_cn52xx cn52xxp1; 2196 struct cvmx_gmxx_bist_cn52xx cn56xx; 2197 struct cvmx_gmxx_bist_cn52xx cn56xxp1; 2198 struct cvmx_gmxx_bist_cn58xx { 2199 #ifdef __BIG_ENDIAN_BITFIELD 2200 uint64_t reserved_17_63:47; 2201 uint64_t status:17; 2202 #else 2203 uint64_t status:17; 2204 uint64_t reserved_17_63:47; 2205 #endif 2206 } cn58xx; 2207 struct cvmx_gmxx_bist_cn58xx cn58xxp1; 2208 struct cvmx_gmxx_bist_s cn61xx; 2209 struct cvmx_gmxx_bist_s cn63xx; 2210 struct cvmx_gmxx_bist_s cn63xxp1; 2211 struct cvmx_gmxx_bist_s cn66xx; 2212 struct cvmx_gmxx_bist_s cn68xx; 2213 struct cvmx_gmxx_bist_s cn68xxp1; 2214 struct cvmx_gmxx_bist_s cnf71xx; 2215 }; 2216 2217 union cvmx_gmxx_bpid_mapx { 2218 uint64_t u64; 2219 struct cvmx_gmxx_bpid_mapx_s { 2220 #ifdef __BIG_ENDIAN_BITFIELD 2221 uint64_t reserved_17_63:47; 2222 uint64_t status:1; 2223 uint64_t reserved_9_15:7; 2224 uint64_t val:1; 2225 uint64_t reserved_6_7:2; 2226 uint64_t bpid:6; 2227 #else 2228 uint64_t bpid:6; 2229 uint64_t reserved_6_7:2; 2230 uint64_t val:1; 2231 uint64_t reserved_9_15:7; 2232 uint64_t status:1; 2233 uint64_t reserved_17_63:47; 2234 #endif 2235 } s; 2236 struct cvmx_gmxx_bpid_mapx_s cn68xx; 2237 struct cvmx_gmxx_bpid_mapx_s cn68xxp1; 2238 }; 2239 2240 union cvmx_gmxx_bpid_msk { 2241 uint64_t u64; 2242 struct cvmx_gmxx_bpid_msk_s { 2243 #ifdef __BIG_ENDIAN_BITFIELD 2244 uint64_t reserved_48_63:16; 2245 uint64_t msk_or:16; 2246 uint64_t reserved_16_31:16; 2247 uint64_t msk_and:16; 2248 #else 2249 uint64_t msk_and:16; 2250 uint64_t reserved_16_31:16; 2251 uint64_t msk_or:16; 2252 uint64_t reserved_48_63:16; 2253 #endif 2254 } s; 2255 struct cvmx_gmxx_bpid_msk_s cn68xx; 2256 struct cvmx_gmxx_bpid_msk_s cn68xxp1; 2257 }; 2258 2259 union cvmx_gmxx_clk_en { 2260 uint64_t u64; 2261 struct cvmx_gmxx_clk_en_s { 2262 #ifdef __BIG_ENDIAN_BITFIELD 2263 uint64_t reserved_1_63:63; 2264 uint64_t clk_en:1; 2265 #else 2266 uint64_t clk_en:1; 2267 uint64_t reserved_1_63:63; 2268 #endif 2269 } s; 2270 struct cvmx_gmxx_clk_en_s cn52xx; 2271 struct cvmx_gmxx_clk_en_s cn52xxp1; 2272 struct cvmx_gmxx_clk_en_s cn56xx; 2273 struct cvmx_gmxx_clk_en_s cn56xxp1; 2274 struct cvmx_gmxx_clk_en_s cn61xx; 2275 struct cvmx_gmxx_clk_en_s cn63xx; 2276 struct cvmx_gmxx_clk_en_s cn63xxp1; 2277 struct cvmx_gmxx_clk_en_s cn66xx; 2278 struct cvmx_gmxx_clk_en_s cn68xx; 2279 struct cvmx_gmxx_clk_en_s cn68xxp1; 2280 struct cvmx_gmxx_clk_en_s cnf71xx; 2281 }; 2282 2283 union cvmx_gmxx_ebp_dis { 2284 uint64_t u64; 2285 struct cvmx_gmxx_ebp_dis_s { 2286 #ifdef __BIG_ENDIAN_BITFIELD 2287 uint64_t reserved_16_63:48; 2288 uint64_t dis:16; 2289 #else 2290 uint64_t dis:16; 2291 uint64_t reserved_16_63:48; 2292 #endif 2293 } s; 2294 struct cvmx_gmxx_ebp_dis_s cn68xx; 2295 struct cvmx_gmxx_ebp_dis_s cn68xxp1; 2296 }; 2297 2298 union cvmx_gmxx_ebp_msk { 2299 uint64_t u64; 2300 struct cvmx_gmxx_ebp_msk_s { 2301 #ifdef __BIG_ENDIAN_BITFIELD 2302 uint64_t reserved_16_63:48; 2303 uint64_t msk:16; 2304 #else 2305 uint64_t msk:16; 2306 uint64_t reserved_16_63:48; 2307 #endif 2308 } s; 2309 struct cvmx_gmxx_ebp_msk_s cn68xx; 2310 struct cvmx_gmxx_ebp_msk_s cn68xxp1; 2311 }; 2312 2313 union cvmx_gmxx_hg2_control { 2314 uint64_t u64; 2315 struct cvmx_gmxx_hg2_control_s { 2316 #ifdef __BIG_ENDIAN_BITFIELD 2317 uint64_t reserved_19_63:45; 2318 uint64_t hg2tx_en:1; 2319 uint64_t hg2rx_en:1; 2320 uint64_t phys_en:1; 2321 uint64_t logl_en:16; 2322 #else 2323 uint64_t logl_en:16; 2324 uint64_t phys_en:1; 2325 uint64_t hg2rx_en:1; 2326 uint64_t hg2tx_en:1; 2327 uint64_t reserved_19_63:45; 2328 #endif 2329 } s; 2330 struct cvmx_gmxx_hg2_control_s cn52xx; 2331 struct cvmx_gmxx_hg2_control_s cn52xxp1; 2332 struct cvmx_gmxx_hg2_control_s cn56xx; 2333 struct cvmx_gmxx_hg2_control_s cn61xx; 2334 struct cvmx_gmxx_hg2_control_s cn63xx; 2335 struct cvmx_gmxx_hg2_control_s cn63xxp1; 2336 struct cvmx_gmxx_hg2_control_s cn66xx; 2337 struct cvmx_gmxx_hg2_control_s cn68xx; 2338 struct cvmx_gmxx_hg2_control_s cn68xxp1; 2339 struct cvmx_gmxx_hg2_control_s cnf71xx; 2340 }; 2341 2342 union cvmx_gmxx_inf_mode { 2343 uint64_t u64; 2344 struct cvmx_gmxx_inf_mode_s { 2345 #ifdef __BIG_ENDIAN_BITFIELD 2346 uint64_t reserved_20_63:44; 2347 uint64_t rate:4; 2348 uint64_t reserved_12_15:4; 2349 uint64_t speed:4; 2350 uint64_t reserved_7_7:1; 2351 uint64_t mode:3; 2352 uint64_t reserved_3_3:1; 2353 uint64_t p0mii:1; 2354 uint64_t en:1; 2355 uint64_t type:1; 2356 #else 2357 uint64_t type:1; 2358 uint64_t en:1; 2359 uint64_t p0mii:1; 2360 uint64_t reserved_3_3:1; 2361 uint64_t mode:3; 2362 uint64_t reserved_7_7:1; 2363 uint64_t speed:4; 2364 uint64_t reserved_12_15:4; 2365 uint64_t rate:4; 2366 uint64_t reserved_20_63:44; 2367 #endif 2368 } s; 2369 struct cvmx_gmxx_inf_mode_cn30xx { 2370 #ifdef __BIG_ENDIAN_BITFIELD 2371 uint64_t reserved_3_63:61; 2372 uint64_t p0mii:1; 2373 uint64_t en:1; 2374 uint64_t type:1; 2375 #else 2376 uint64_t type:1; 2377 uint64_t en:1; 2378 uint64_t p0mii:1; 2379 uint64_t reserved_3_63:61; 2380 #endif 2381 } cn30xx; 2382 struct cvmx_gmxx_inf_mode_cn31xx { 2383 #ifdef __BIG_ENDIAN_BITFIELD 2384 uint64_t reserved_2_63:62; 2385 uint64_t en:1; 2386 uint64_t type:1; 2387 #else 2388 uint64_t type:1; 2389 uint64_t en:1; 2390 uint64_t reserved_2_63:62; 2391 #endif 2392 } cn31xx; 2393 struct cvmx_gmxx_inf_mode_cn31xx cn38xx; 2394 struct cvmx_gmxx_inf_mode_cn31xx cn38xxp2; 2395 struct cvmx_gmxx_inf_mode_cn30xx cn50xx; 2396 struct cvmx_gmxx_inf_mode_cn52xx { 2397 #ifdef __BIG_ENDIAN_BITFIELD 2398 uint64_t reserved_10_63:54; 2399 uint64_t speed:2; 2400 uint64_t reserved_6_7:2; 2401 uint64_t mode:2; 2402 uint64_t reserved_2_3:2; 2403 uint64_t en:1; 2404 uint64_t type:1; 2405 #else 2406 uint64_t type:1; 2407 uint64_t en:1; 2408 uint64_t reserved_2_3:2; 2409 uint64_t mode:2; 2410 uint64_t reserved_6_7:2; 2411 uint64_t speed:2; 2412 uint64_t reserved_10_63:54; 2413 #endif 2414 } cn52xx; 2415 struct cvmx_gmxx_inf_mode_cn52xx cn52xxp1; 2416 struct cvmx_gmxx_inf_mode_cn52xx cn56xx; 2417 struct cvmx_gmxx_inf_mode_cn52xx cn56xxp1; 2418 struct cvmx_gmxx_inf_mode_cn31xx cn58xx; 2419 struct cvmx_gmxx_inf_mode_cn31xx cn58xxp1; 2420 struct cvmx_gmxx_inf_mode_cn61xx { 2421 #ifdef __BIG_ENDIAN_BITFIELD 2422 uint64_t reserved_12_63:52; 2423 uint64_t speed:4; 2424 uint64_t reserved_5_7:3; 2425 uint64_t mode:1; 2426 uint64_t reserved_2_3:2; 2427 uint64_t en:1; 2428 uint64_t type:1; 2429 #else 2430 uint64_t type:1; 2431 uint64_t en:1; 2432 uint64_t reserved_2_3:2; 2433 uint64_t mode:1; 2434 uint64_t reserved_5_7:3; 2435 uint64_t speed:4; 2436 uint64_t reserved_12_63:52; 2437 #endif 2438 } cn61xx; 2439 struct cvmx_gmxx_inf_mode_cn61xx cn63xx; 2440 struct cvmx_gmxx_inf_mode_cn61xx cn63xxp1; 2441 struct cvmx_gmxx_inf_mode_cn66xx { 2442 #ifdef __BIG_ENDIAN_BITFIELD 2443 uint64_t reserved_20_63:44; 2444 uint64_t rate:4; 2445 uint64_t reserved_12_15:4; 2446 uint64_t speed:4; 2447 uint64_t reserved_5_7:3; 2448 uint64_t mode:1; 2449 uint64_t reserved_2_3:2; 2450 uint64_t en:1; 2451 uint64_t type:1; 2452 #else 2453 uint64_t type:1; 2454 uint64_t en:1; 2455 uint64_t reserved_2_3:2; 2456 uint64_t mode:1; 2457 uint64_t reserved_5_7:3; 2458 uint64_t speed:4; 2459 uint64_t reserved_12_15:4; 2460 uint64_t rate:4; 2461 uint64_t reserved_20_63:44; 2462 #endif 2463 } cn66xx; 2464 struct cvmx_gmxx_inf_mode_cn68xx { 2465 #ifdef __BIG_ENDIAN_BITFIELD 2466 uint64_t reserved_12_63:52; 2467 uint64_t speed:4; 2468 uint64_t reserved_7_7:1; 2469 uint64_t mode:3; 2470 uint64_t reserved_2_3:2; 2471 uint64_t en:1; 2472 uint64_t type:1; 2473 #else 2474 uint64_t type:1; 2475 uint64_t en:1; 2476 uint64_t reserved_2_3:2; 2477 uint64_t mode:3; 2478 uint64_t reserved_7_7:1; 2479 uint64_t speed:4; 2480 uint64_t reserved_12_63:52; 2481 #endif 2482 } cn68xx; 2483 struct cvmx_gmxx_inf_mode_cn68xx cn68xxp1; 2484 struct cvmx_gmxx_inf_mode_cn61xx cnf71xx; 2485 }; 2486 2487 union cvmx_gmxx_nxa_adr { 2488 uint64_t u64; 2489 struct cvmx_gmxx_nxa_adr_s { 2490 #ifdef __BIG_ENDIAN_BITFIELD 2491 uint64_t reserved_23_63:41; 2492 uint64_t pipe:7; 2493 uint64_t reserved_6_15:10; 2494 uint64_t prt:6; 2495 #else 2496 uint64_t prt:6; 2497 uint64_t reserved_6_15:10; 2498 uint64_t pipe:7; 2499 uint64_t reserved_23_63:41; 2500 #endif 2501 } s; 2502 struct cvmx_gmxx_nxa_adr_cn30xx { 2503 #ifdef __BIG_ENDIAN_BITFIELD 2504 uint64_t reserved_6_63:58; 2505 uint64_t prt:6; 2506 #else 2507 uint64_t prt:6; 2508 uint64_t reserved_6_63:58; 2509 #endif 2510 } cn30xx; 2511 struct cvmx_gmxx_nxa_adr_cn30xx cn31xx; 2512 struct cvmx_gmxx_nxa_adr_cn30xx cn38xx; 2513 struct cvmx_gmxx_nxa_adr_cn30xx cn38xxp2; 2514 struct cvmx_gmxx_nxa_adr_cn30xx cn50xx; 2515 struct cvmx_gmxx_nxa_adr_cn30xx cn52xx; 2516 struct cvmx_gmxx_nxa_adr_cn30xx cn52xxp1; 2517 struct cvmx_gmxx_nxa_adr_cn30xx cn56xx; 2518 struct cvmx_gmxx_nxa_adr_cn30xx cn56xxp1; 2519 struct cvmx_gmxx_nxa_adr_cn30xx cn58xx; 2520 struct cvmx_gmxx_nxa_adr_cn30xx cn58xxp1; 2521 struct cvmx_gmxx_nxa_adr_cn30xx cn61xx; 2522 struct cvmx_gmxx_nxa_adr_cn30xx cn63xx; 2523 struct cvmx_gmxx_nxa_adr_cn30xx cn63xxp1; 2524 struct cvmx_gmxx_nxa_adr_cn30xx cn66xx; 2525 struct cvmx_gmxx_nxa_adr_s cn68xx; 2526 struct cvmx_gmxx_nxa_adr_s cn68xxp1; 2527 struct cvmx_gmxx_nxa_adr_cn30xx cnf71xx; 2528 }; 2529 2530 union cvmx_gmxx_pipe_status { 2531 uint64_t u64; 2532 struct cvmx_gmxx_pipe_status_s { 2533 #ifdef __BIG_ENDIAN_BITFIELD 2534 uint64_t reserved_20_63:44; 2535 uint64_t ovr:4; 2536 uint64_t reserved_12_15:4; 2537 uint64_t bp:4; 2538 uint64_t reserved_4_7:4; 2539 uint64_t stop:4; 2540 #else 2541 uint64_t stop:4; 2542 uint64_t reserved_4_7:4; 2543 uint64_t bp:4; 2544 uint64_t reserved_12_15:4; 2545 uint64_t ovr:4; 2546 uint64_t reserved_20_63:44; 2547 #endif 2548 } s; 2549 struct cvmx_gmxx_pipe_status_s cn68xx; 2550 struct cvmx_gmxx_pipe_status_s cn68xxp1; 2551 }; 2552 2553 union cvmx_gmxx_prtx_cbfc_ctl { 2554 uint64_t u64; 2555 struct cvmx_gmxx_prtx_cbfc_ctl_s { 2556 #ifdef __BIG_ENDIAN_BITFIELD 2557 uint64_t phys_en:16; 2558 uint64_t logl_en:16; 2559 uint64_t phys_bp:16; 2560 uint64_t reserved_4_15:12; 2561 uint64_t bck_en:1; 2562 uint64_t drp_en:1; 2563 uint64_t tx_en:1; 2564 uint64_t rx_en:1; 2565 #else 2566 uint64_t rx_en:1; 2567 uint64_t tx_en:1; 2568 uint64_t drp_en:1; 2569 uint64_t bck_en:1; 2570 uint64_t reserved_4_15:12; 2571 uint64_t phys_bp:16; 2572 uint64_t logl_en:16; 2573 uint64_t phys_en:16; 2574 #endif 2575 } s; 2576 struct cvmx_gmxx_prtx_cbfc_ctl_s cn52xx; 2577 struct cvmx_gmxx_prtx_cbfc_ctl_s cn56xx; 2578 struct cvmx_gmxx_prtx_cbfc_ctl_s cn61xx; 2579 struct cvmx_gmxx_prtx_cbfc_ctl_s cn63xx; 2580 struct cvmx_gmxx_prtx_cbfc_ctl_s cn63xxp1; 2581 struct cvmx_gmxx_prtx_cbfc_ctl_s cn66xx; 2582 struct cvmx_gmxx_prtx_cbfc_ctl_s cn68xx; 2583 struct cvmx_gmxx_prtx_cbfc_ctl_s cn68xxp1; 2584 struct cvmx_gmxx_prtx_cbfc_ctl_s cnf71xx; 2585 }; 2586 2587 union cvmx_gmxx_prtx_cfg { 2588 uint64_t u64; 2589 struct cvmx_gmxx_prtx_cfg_s { 2590 #ifdef __BIG_ENDIAN_BITFIELD 2591 uint64_t reserved_22_63:42; 2592 uint64_t pknd:6; 2593 uint64_t reserved_14_15:2; 2594 uint64_t tx_idle:1; 2595 uint64_t rx_idle:1; 2596 uint64_t reserved_9_11:3; 2597 uint64_t speed_msb:1; 2598 uint64_t reserved_4_7:4; 2599 uint64_t slottime:1; 2600 uint64_t duplex:1; 2601 uint64_t speed:1; 2602 uint64_t en:1; 2603 #else 2604 uint64_t en:1; 2605 uint64_t speed:1; 2606 uint64_t duplex:1; 2607 uint64_t slottime:1; 2608 uint64_t reserved_4_7:4; 2609 uint64_t speed_msb:1; 2610 uint64_t reserved_9_11:3; 2611 uint64_t rx_idle:1; 2612 uint64_t tx_idle:1; 2613 uint64_t reserved_14_15:2; 2614 uint64_t pknd:6; 2615 uint64_t reserved_22_63:42; 2616 #endif 2617 } s; 2618 struct cvmx_gmxx_prtx_cfg_cn30xx { 2619 #ifdef __BIG_ENDIAN_BITFIELD 2620 uint64_t reserved_4_63:60; 2621 uint64_t slottime:1; 2622 uint64_t duplex:1; 2623 uint64_t speed:1; 2624 uint64_t en:1; 2625 #else 2626 uint64_t en:1; 2627 uint64_t speed:1; 2628 uint64_t duplex:1; 2629 uint64_t slottime:1; 2630 uint64_t reserved_4_63:60; 2631 #endif 2632 } cn30xx; 2633 struct cvmx_gmxx_prtx_cfg_cn30xx cn31xx; 2634 struct cvmx_gmxx_prtx_cfg_cn30xx cn38xx; 2635 struct cvmx_gmxx_prtx_cfg_cn30xx cn38xxp2; 2636 struct cvmx_gmxx_prtx_cfg_cn30xx cn50xx; 2637 struct cvmx_gmxx_prtx_cfg_cn52xx { 2638 #ifdef __BIG_ENDIAN_BITFIELD 2639 uint64_t reserved_14_63:50; 2640 uint64_t tx_idle:1; 2641 uint64_t rx_idle:1; 2642 uint64_t reserved_9_11:3; 2643 uint64_t speed_msb:1; 2644 uint64_t reserved_4_7:4; 2645 uint64_t slottime:1; 2646 uint64_t duplex:1; 2647 uint64_t speed:1; 2648 uint64_t en:1; 2649 #else 2650 uint64_t en:1; 2651 uint64_t speed:1; 2652 uint64_t duplex:1; 2653 uint64_t slottime:1; 2654 uint64_t reserved_4_7:4; 2655 uint64_t speed_msb:1; 2656 uint64_t reserved_9_11:3; 2657 uint64_t rx_idle:1; 2658 uint64_t tx_idle:1; 2659 uint64_t reserved_14_63:50; 2660 #endif 2661 } cn52xx; 2662 struct cvmx_gmxx_prtx_cfg_cn52xx cn52xxp1; 2663 struct cvmx_gmxx_prtx_cfg_cn52xx cn56xx; 2664 struct cvmx_gmxx_prtx_cfg_cn52xx cn56xxp1; 2665 struct cvmx_gmxx_prtx_cfg_cn30xx cn58xx; 2666 struct cvmx_gmxx_prtx_cfg_cn30xx cn58xxp1; 2667 struct cvmx_gmxx_prtx_cfg_cn52xx cn61xx; 2668 struct cvmx_gmxx_prtx_cfg_cn52xx cn63xx; 2669 struct cvmx_gmxx_prtx_cfg_cn52xx cn63xxp1; 2670 struct cvmx_gmxx_prtx_cfg_cn52xx cn66xx; 2671 struct cvmx_gmxx_prtx_cfg_s cn68xx; 2672 struct cvmx_gmxx_prtx_cfg_s cn68xxp1; 2673 struct cvmx_gmxx_prtx_cfg_cn52xx cnf71xx; 2674 }; 2675 2676 union cvmx_gmxx_rxx_adr_cam0 { 2677 uint64_t u64; 2678 struct cvmx_gmxx_rxx_adr_cam0_s { 2679 #ifdef __BIG_ENDIAN_BITFIELD 2680 uint64_t adr:64; 2681 #else 2682 uint64_t adr:64; 2683 #endif 2684 } s; 2685 struct cvmx_gmxx_rxx_adr_cam0_s cn30xx; 2686 struct cvmx_gmxx_rxx_adr_cam0_s cn31xx; 2687 struct cvmx_gmxx_rxx_adr_cam0_s cn38xx; 2688 struct cvmx_gmxx_rxx_adr_cam0_s cn38xxp2; 2689 struct cvmx_gmxx_rxx_adr_cam0_s cn50xx; 2690 struct cvmx_gmxx_rxx_adr_cam0_s cn52xx; 2691 struct cvmx_gmxx_rxx_adr_cam0_s cn52xxp1; 2692 struct cvmx_gmxx_rxx_adr_cam0_s cn56xx; 2693 struct cvmx_gmxx_rxx_adr_cam0_s cn56xxp1; 2694 struct cvmx_gmxx_rxx_adr_cam0_s cn58xx; 2695 struct cvmx_gmxx_rxx_adr_cam0_s cn58xxp1; 2696 struct cvmx_gmxx_rxx_adr_cam0_s cn61xx; 2697 struct cvmx_gmxx_rxx_adr_cam0_s cn63xx; 2698 struct cvmx_gmxx_rxx_adr_cam0_s cn63xxp1; 2699 struct cvmx_gmxx_rxx_adr_cam0_s cn66xx; 2700 struct cvmx_gmxx_rxx_adr_cam0_s cn68xx; 2701 struct cvmx_gmxx_rxx_adr_cam0_s cn68xxp1; 2702 struct cvmx_gmxx_rxx_adr_cam0_s cnf71xx; 2703 }; 2704 2705 union cvmx_gmxx_rxx_adr_cam1 { 2706 uint64_t u64; 2707 struct cvmx_gmxx_rxx_adr_cam1_s { 2708 #ifdef __BIG_ENDIAN_BITFIELD 2709 uint64_t adr:64; 2710 #else 2711 uint64_t adr:64; 2712 #endif 2713 } s; 2714 struct cvmx_gmxx_rxx_adr_cam1_s cn30xx; 2715 struct cvmx_gmxx_rxx_adr_cam1_s cn31xx; 2716 struct cvmx_gmxx_rxx_adr_cam1_s cn38xx; 2717 struct cvmx_gmxx_rxx_adr_cam1_s cn38xxp2; 2718 struct cvmx_gmxx_rxx_adr_cam1_s cn50xx; 2719 struct cvmx_gmxx_rxx_adr_cam1_s cn52xx; 2720 struct cvmx_gmxx_rxx_adr_cam1_s cn52xxp1; 2721 struct cvmx_gmxx_rxx_adr_cam1_s cn56xx; 2722 struct cvmx_gmxx_rxx_adr_cam1_s cn56xxp1; 2723 struct cvmx_gmxx_rxx_adr_cam1_s cn58xx; 2724 struct cvmx_gmxx_rxx_adr_cam1_s cn58xxp1; 2725 struct cvmx_gmxx_rxx_adr_cam1_s cn61xx; 2726 struct cvmx_gmxx_rxx_adr_cam1_s cn63xx; 2727 struct cvmx_gmxx_rxx_adr_cam1_s cn63xxp1; 2728 struct cvmx_gmxx_rxx_adr_cam1_s cn66xx; 2729 struct cvmx_gmxx_rxx_adr_cam1_s cn68xx; 2730 struct cvmx_gmxx_rxx_adr_cam1_s cn68xxp1; 2731 struct cvmx_gmxx_rxx_adr_cam1_s cnf71xx; 2732 }; 2733 2734 union cvmx_gmxx_rxx_adr_cam2 { 2735 uint64_t u64; 2736 struct cvmx_gmxx_rxx_adr_cam2_s { 2737 #ifdef __BIG_ENDIAN_BITFIELD 2738 uint64_t adr:64; 2739 #else 2740 uint64_t adr:64; 2741 #endif 2742 } s; 2743 struct cvmx_gmxx_rxx_adr_cam2_s cn30xx; 2744 struct cvmx_gmxx_rxx_adr_cam2_s cn31xx; 2745 struct cvmx_gmxx_rxx_adr_cam2_s cn38xx; 2746 struct cvmx_gmxx_rxx_adr_cam2_s cn38xxp2; 2747 struct cvmx_gmxx_rxx_adr_cam2_s cn50xx; 2748 struct cvmx_gmxx_rxx_adr_cam2_s cn52xx; 2749 struct cvmx_gmxx_rxx_adr_cam2_s cn52xxp1; 2750 struct cvmx_gmxx_rxx_adr_cam2_s cn56xx; 2751 struct cvmx_gmxx_rxx_adr_cam2_s cn56xxp1; 2752 struct cvmx_gmxx_rxx_adr_cam2_s cn58xx; 2753 struct cvmx_gmxx_rxx_adr_cam2_s cn58xxp1; 2754 struct cvmx_gmxx_rxx_adr_cam2_s cn61xx; 2755 struct cvmx_gmxx_rxx_adr_cam2_s cn63xx; 2756 struct cvmx_gmxx_rxx_adr_cam2_s cn63xxp1; 2757 struct cvmx_gmxx_rxx_adr_cam2_s cn66xx; 2758 struct cvmx_gmxx_rxx_adr_cam2_s cn68xx; 2759 struct cvmx_gmxx_rxx_adr_cam2_s cn68xxp1; 2760 struct cvmx_gmxx_rxx_adr_cam2_s cnf71xx; 2761 }; 2762 2763 union cvmx_gmxx_rxx_adr_cam3 { 2764 uint64_t u64; 2765 struct cvmx_gmxx_rxx_adr_cam3_s { 2766 #ifdef __BIG_ENDIAN_BITFIELD 2767 uint64_t adr:64; 2768 #else 2769 uint64_t adr:64; 2770 #endif 2771 } s; 2772 struct cvmx_gmxx_rxx_adr_cam3_s cn30xx; 2773 struct cvmx_gmxx_rxx_adr_cam3_s cn31xx; 2774 struct cvmx_gmxx_rxx_adr_cam3_s cn38xx; 2775 struct cvmx_gmxx_rxx_adr_cam3_s cn38xxp2; 2776 struct cvmx_gmxx_rxx_adr_cam3_s cn50xx; 2777 struct cvmx_gmxx_rxx_adr_cam3_s cn52xx; 2778 struct cvmx_gmxx_rxx_adr_cam3_s cn52xxp1; 2779 struct cvmx_gmxx_rxx_adr_cam3_s cn56xx; 2780 struct cvmx_gmxx_rxx_adr_cam3_s cn56xxp1; 2781 struct cvmx_gmxx_rxx_adr_cam3_s cn58xx; 2782 struct cvmx_gmxx_rxx_adr_cam3_s cn58xxp1; 2783 struct cvmx_gmxx_rxx_adr_cam3_s cn61xx; 2784 struct cvmx_gmxx_rxx_adr_cam3_s cn63xx; 2785 struct cvmx_gmxx_rxx_adr_cam3_s cn63xxp1; 2786 struct cvmx_gmxx_rxx_adr_cam3_s cn66xx; 2787 struct cvmx_gmxx_rxx_adr_cam3_s cn68xx; 2788 struct cvmx_gmxx_rxx_adr_cam3_s cn68xxp1; 2789 struct cvmx_gmxx_rxx_adr_cam3_s cnf71xx; 2790 }; 2791 2792 union cvmx_gmxx_rxx_adr_cam4 { 2793 uint64_t u64; 2794 struct cvmx_gmxx_rxx_adr_cam4_s { 2795 #ifdef __BIG_ENDIAN_BITFIELD 2796 uint64_t adr:64; 2797 #else 2798 uint64_t adr:64; 2799 #endif 2800 } s; 2801 struct cvmx_gmxx_rxx_adr_cam4_s cn30xx; 2802 struct cvmx_gmxx_rxx_adr_cam4_s cn31xx; 2803 struct cvmx_gmxx_rxx_adr_cam4_s cn38xx; 2804 struct cvmx_gmxx_rxx_adr_cam4_s cn38xxp2; 2805 struct cvmx_gmxx_rxx_adr_cam4_s cn50xx; 2806 struct cvmx_gmxx_rxx_adr_cam4_s cn52xx; 2807 struct cvmx_gmxx_rxx_adr_cam4_s cn52xxp1; 2808 struct cvmx_gmxx_rxx_adr_cam4_s cn56xx; 2809 struct cvmx_gmxx_rxx_adr_cam4_s cn56xxp1; 2810 struct cvmx_gmxx_rxx_adr_cam4_s cn58xx; 2811 struct cvmx_gmxx_rxx_adr_cam4_s cn58xxp1; 2812 struct cvmx_gmxx_rxx_adr_cam4_s cn61xx; 2813 struct cvmx_gmxx_rxx_adr_cam4_s cn63xx; 2814 struct cvmx_gmxx_rxx_adr_cam4_s cn63xxp1; 2815 struct cvmx_gmxx_rxx_adr_cam4_s cn66xx; 2816 struct cvmx_gmxx_rxx_adr_cam4_s cn68xx; 2817 struct cvmx_gmxx_rxx_adr_cam4_s cn68xxp1; 2818 struct cvmx_gmxx_rxx_adr_cam4_s cnf71xx; 2819 }; 2820 2821 union cvmx_gmxx_rxx_adr_cam5 { 2822 uint64_t u64; 2823 struct cvmx_gmxx_rxx_adr_cam5_s { 2824 #ifdef __BIG_ENDIAN_BITFIELD 2825 uint64_t adr:64; 2826 #else 2827 uint64_t adr:64; 2828 #endif 2829 } s; 2830 struct cvmx_gmxx_rxx_adr_cam5_s cn30xx; 2831 struct cvmx_gmxx_rxx_adr_cam5_s cn31xx; 2832 struct cvmx_gmxx_rxx_adr_cam5_s cn38xx; 2833 struct cvmx_gmxx_rxx_adr_cam5_s cn38xxp2; 2834 struct cvmx_gmxx_rxx_adr_cam5_s cn50xx; 2835 struct cvmx_gmxx_rxx_adr_cam5_s cn52xx; 2836 struct cvmx_gmxx_rxx_adr_cam5_s cn52xxp1; 2837 struct cvmx_gmxx_rxx_adr_cam5_s cn56xx; 2838 struct cvmx_gmxx_rxx_adr_cam5_s cn56xxp1; 2839 struct cvmx_gmxx_rxx_adr_cam5_s cn58xx; 2840 struct cvmx_gmxx_rxx_adr_cam5_s cn58xxp1; 2841 struct cvmx_gmxx_rxx_adr_cam5_s cn61xx; 2842 struct cvmx_gmxx_rxx_adr_cam5_s cn63xx; 2843 struct cvmx_gmxx_rxx_adr_cam5_s cn63xxp1; 2844 struct cvmx_gmxx_rxx_adr_cam5_s cn66xx; 2845 struct cvmx_gmxx_rxx_adr_cam5_s cn68xx; 2846 struct cvmx_gmxx_rxx_adr_cam5_s cn68xxp1; 2847 struct cvmx_gmxx_rxx_adr_cam5_s cnf71xx; 2848 }; 2849 2850 union cvmx_gmxx_rxx_adr_cam_all_en { 2851 uint64_t u64; 2852 struct cvmx_gmxx_rxx_adr_cam_all_en_s { 2853 #ifdef __BIG_ENDIAN_BITFIELD 2854 uint64_t reserved_32_63:32; 2855 uint64_t en:32; 2856 #else 2857 uint64_t en:32; 2858 uint64_t reserved_32_63:32; 2859 #endif 2860 } s; 2861 struct cvmx_gmxx_rxx_adr_cam_all_en_s cn61xx; 2862 struct cvmx_gmxx_rxx_adr_cam_all_en_s cn66xx; 2863 struct cvmx_gmxx_rxx_adr_cam_all_en_s cn68xx; 2864 struct cvmx_gmxx_rxx_adr_cam_all_en_s cnf71xx; 2865 }; 2866 2867 union cvmx_gmxx_rxx_adr_cam_en { 2868 uint64_t u64; 2869 struct cvmx_gmxx_rxx_adr_cam_en_s { 2870 #ifdef __BIG_ENDIAN_BITFIELD 2871 uint64_t reserved_8_63:56; 2872 uint64_t en:8; 2873 #else 2874 uint64_t en:8; 2875 uint64_t reserved_8_63:56; 2876 #endif 2877 } s; 2878 struct cvmx_gmxx_rxx_adr_cam_en_s cn30xx; 2879 struct cvmx_gmxx_rxx_adr_cam_en_s cn31xx; 2880 struct cvmx_gmxx_rxx_adr_cam_en_s cn38xx; 2881 struct cvmx_gmxx_rxx_adr_cam_en_s cn38xxp2; 2882 struct cvmx_gmxx_rxx_adr_cam_en_s cn50xx; 2883 struct cvmx_gmxx_rxx_adr_cam_en_s cn52xx; 2884 struct cvmx_gmxx_rxx_adr_cam_en_s cn52xxp1; 2885 struct cvmx_gmxx_rxx_adr_cam_en_s cn56xx; 2886 struct cvmx_gmxx_rxx_adr_cam_en_s cn56xxp1; 2887 struct cvmx_gmxx_rxx_adr_cam_en_s cn58xx; 2888 struct cvmx_gmxx_rxx_adr_cam_en_s cn58xxp1; 2889 struct cvmx_gmxx_rxx_adr_cam_en_s cn61xx; 2890 struct cvmx_gmxx_rxx_adr_cam_en_s cn63xx; 2891 struct cvmx_gmxx_rxx_adr_cam_en_s cn63xxp1; 2892 struct cvmx_gmxx_rxx_adr_cam_en_s cn66xx; 2893 struct cvmx_gmxx_rxx_adr_cam_en_s cn68xx; 2894 struct cvmx_gmxx_rxx_adr_cam_en_s cn68xxp1; 2895 struct cvmx_gmxx_rxx_adr_cam_en_s cnf71xx; 2896 }; 2897 2898 union cvmx_gmxx_rxx_adr_ctl { 2899 uint64_t u64; 2900 struct cvmx_gmxx_rxx_adr_ctl_s { 2901 #ifdef __BIG_ENDIAN_BITFIELD 2902 uint64_t reserved_4_63:60; 2903 uint64_t cam_mode:1; 2904 uint64_t mcst:2; 2905 uint64_t bcst:1; 2906 #else 2907 uint64_t bcst:1; 2908 uint64_t mcst:2; 2909 uint64_t cam_mode:1; 2910 uint64_t reserved_4_63:60; 2911 #endif 2912 } s; 2913 struct cvmx_gmxx_rxx_adr_ctl_s cn30xx; 2914 struct cvmx_gmxx_rxx_adr_ctl_s cn31xx; 2915 struct cvmx_gmxx_rxx_adr_ctl_s cn38xx; 2916 struct cvmx_gmxx_rxx_adr_ctl_s cn38xxp2; 2917 struct cvmx_gmxx_rxx_adr_ctl_s cn50xx; 2918 struct cvmx_gmxx_rxx_adr_ctl_s cn52xx; 2919 struct cvmx_gmxx_rxx_adr_ctl_s cn52xxp1; 2920 struct cvmx_gmxx_rxx_adr_ctl_s cn56xx; 2921 struct cvmx_gmxx_rxx_adr_ctl_s cn56xxp1; 2922 struct cvmx_gmxx_rxx_adr_ctl_s cn58xx; 2923 struct cvmx_gmxx_rxx_adr_ctl_s cn58xxp1; 2924 struct cvmx_gmxx_rxx_adr_ctl_s cn61xx; 2925 struct cvmx_gmxx_rxx_adr_ctl_s cn63xx; 2926 struct cvmx_gmxx_rxx_adr_ctl_s cn63xxp1; 2927 struct cvmx_gmxx_rxx_adr_ctl_s cn66xx; 2928 struct cvmx_gmxx_rxx_adr_ctl_s cn68xx; 2929 struct cvmx_gmxx_rxx_adr_ctl_s cn68xxp1; 2930 struct cvmx_gmxx_rxx_adr_ctl_s cnf71xx; 2931 }; 2932 2933 union cvmx_gmxx_rxx_decision { 2934 uint64_t u64; 2935 struct cvmx_gmxx_rxx_decision_s { 2936 #ifdef __BIG_ENDIAN_BITFIELD 2937 uint64_t reserved_5_63:59; 2938 uint64_t cnt:5; 2939 #else 2940 uint64_t cnt:5; 2941 uint64_t reserved_5_63:59; 2942 #endif 2943 } s; 2944 struct cvmx_gmxx_rxx_decision_s cn30xx; 2945 struct cvmx_gmxx_rxx_decision_s cn31xx; 2946 struct cvmx_gmxx_rxx_decision_s cn38xx; 2947 struct cvmx_gmxx_rxx_decision_s cn38xxp2; 2948 struct cvmx_gmxx_rxx_decision_s cn50xx; 2949 struct cvmx_gmxx_rxx_decision_s cn52xx; 2950 struct cvmx_gmxx_rxx_decision_s cn52xxp1; 2951 struct cvmx_gmxx_rxx_decision_s cn56xx; 2952 struct cvmx_gmxx_rxx_decision_s cn56xxp1; 2953 struct cvmx_gmxx_rxx_decision_s cn58xx; 2954 struct cvmx_gmxx_rxx_decision_s cn58xxp1; 2955 struct cvmx_gmxx_rxx_decision_s cn61xx; 2956 struct cvmx_gmxx_rxx_decision_s cn63xx; 2957 struct cvmx_gmxx_rxx_decision_s cn63xxp1; 2958 struct cvmx_gmxx_rxx_decision_s cn66xx; 2959 struct cvmx_gmxx_rxx_decision_s cn68xx; 2960 struct cvmx_gmxx_rxx_decision_s cn68xxp1; 2961 struct cvmx_gmxx_rxx_decision_s cnf71xx; 2962 }; 2963 2964 union cvmx_gmxx_rxx_frm_chk { 2965 uint64_t u64; 2966 struct cvmx_gmxx_rxx_frm_chk_s { 2967 #ifdef __BIG_ENDIAN_BITFIELD 2968 uint64_t reserved_10_63:54; 2969 uint64_t niberr:1; 2970 uint64_t skperr:1; 2971 uint64_t rcverr:1; 2972 uint64_t lenerr:1; 2973 uint64_t alnerr:1; 2974 uint64_t fcserr:1; 2975 uint64_t jabber:1; 2976 uint64_t maxerr:1; 2977 uint64_t carext:1; 2978 uint64_t minerr:1; 2979 #else 2980 uint64_t minerr:1; 2981 uint64_t carext:1; 2982 uint64_t maxerr:1; 2983 uint64_t jabber:1; 2984 uint64_t fcserr:1; 2985 uint64_t alnerr:1; 2986 uint64_t lenerr:1; 2987 uint64_t rcverr:1; 2988 uint64_t skperr:1; 2989 uint64_t niberr:1; 2990 uint64_t reserved_10_63:54; 2991 #endif 2992 } s; 2993 struct cvmx_gmxx_rxx_frm_chk_s cn30xx; 2994 struct cvmx_gmxx_rxx_frm_chk_s cn31xx; 2995 struct cvmx_gmxx_rxx_frm_chk_s cn38xx; 2996 struct cvmx_gmxx_rxx_frm_chk_s cn38xxp2; 2997 struct cvmx_gmxx_rxx_frm_chk_cn50xx { 2998 #ifdef __BIG_ENDIAN_BITFIELD 2999 uint64_t reserved_10_63:54; 3000 uint64_t niberr:1; 3001 uint64_t skperr:1; 3002 uint64_t rcverr:1; 3003 uint64_t reserved_6_6:1; 3004 uint64_t alnerr:1; 3005 uint64_t fcserr:1; 3006 uint64_t jabber:1; 3007 uint64_t reserved_2_2:1; 3008 uint64_t carext:1; 3009 uint64_t reserved_0_0:1; 3010 #else 3011 uint64_t reserved_0_0:1; 3012 uint64_t carext:1; 3013 uint64_t reserved_2_2:1; 3014 uint64_t jabber:1; 3015 uint64_t fcserr:1; 3016 uint64_t alnerr:1; 3017 uint64_t reserved_6_6:1; 3018 uint64_t rcverr:1; 3019 uint64_t skperr:1; 3020 uint64_t niberr:1; 3021 uint64_t reserved_10_63:54; 3022 #endif 3023 } cn50xx; 3024 struct cvmx_gmxx_rxx_frm_chk_cn52xx { 3025 #ifdef __BIG_ENDIAN_BITFIELD 3026 uint64_t reserved_9_63:55; 3027 uint64_t skperr:1; 3028 uint64_t rcverr:1; 3029 uint64_t reserved_5_6:2; 3030 uint64_t fcserr:1; 3031 uint64_t jabber:1; 3032 uint64_t reserved_2_2:1; 3033 uint64_t carext:1; 3034 uint64_t reserved_0_0:1; 3035 #else 3036 uint64_t reserved_0_0:1; 3037 uint64_t carext:1; 3038 uint64_t reserved_2_2:1; 3039 uint64_t jabber:1; 3040 uint64_t fcserr:1; 3041 uint64_t reserved_5_6:2; 3042 uint64_t rcverr:1; 3043 uint64_t skperr:1; 3044 uint64_t reserved_9_63:55; 3045 #endif 3046 } cn52xx; 3047 struct cvmx_gmxx_rxx_frm_chk_cn52xx cn52xxp1; 3048 struct cvmx_gmxx_rxx_frm_chk_cn52xx cn56xx; 3049 struct cvmx_gmxx_rxx_frm_chk_cn52xx cn56xxp1; 3050 struct cvmx_gmxx_rxx_frm_chk_s cn58xx; 3051 struct cvmx_gmxx_rxx_frm_chk_s cn58xxp1; 3052 struct cvmx_gmxx_rxx_frm_chk_cn61xx { 3053 #ifdef __BIG_ENDIAN_BITFIELD 3054 uint64_t reserved_9_63:55; 3055 uint64_t skperr:1; 3056 uint64_t rcverr:1; 3057 uint64_t reserved_5_6:2; 3058 uint64_t fcserr:1; 3059 uint64_t jabber:1; 3060 uint64_t reserved_2_2:1; 3061 uint64_t carext:1; 3062 uint64_t minerr:1; 3063 #else 3064 uint64_t minerr:1; 3065 uint64_t carext:1; 3066 uint64_t reserved_2_2:1; 3067 uint64_t jabber:1; 3068 uint64_t fcserr:1; 3069 uint64_t reserved_5_6:2; 3070 uint64_t rcverr:1; 3071 uint64_t skperr:1; 3072 uint64_t reserved_9_63:55; 3073 #endif 3074 } cn61xx; 3075 struct cvmx_gmxx_rxx_frm_chk_cn61xx cn63xx; 3076 struct cvmx_gmxx_rxx_frm_chk_cn61xx cn63xxp1; 3077 struct cvmx_gmxx_rxx_frm_chk_cn61xx cn66xx; 3078 struct cvmx_gmxx_rxx_frm_chk_cn61xx cn68xx; 3079 struct cvmx_gmxx_rxx_frm_chk_cn61xx cn68xxp1; 3080 struct cvmx_gmxx_rxx_frm_chk_cn61xx cnf71xx; 3081 }; 3082 3083 union cvmx_gmxx_rxx_frm_ctl { 3084 uint64_t u64; 3085 struct cvmx_gmxx_rxx_frm_ctl_s { 3086 #ifdef __BIG_ENDIAN_BITFIELD 3087 uint64_t reserved_13_63:51; 3088 uint64_t ptp_mode:1; 3089 uint64_t reserved_11_11:1; 3090 uint64_t null_dis:1; 3091 uint64_t pre_align:1; 3092 uint64_t pad_len:1; 3093 uint64_t vlan_len:1; 3094 uint64_t pre_free:1; 3095 uint64_t ctl_smac:1; 3096 uint64_t ctl_mcst:1; 3097 uint64_t ctl_bck:1; 3098 uint64_t ctl_drp:1; 3099 uint64_t pre_strp:1; 3100 uint64_t pre_chk:1; 3101 #else 3102 uint64_t pre_chk:1; 3103 uint64_t pre_strp:1; 3104 uint64_t ctl_drp:1; 3105 uint64_t ctl_bck:1; 3106 uint64_t ctl_mcst:1; 3107 uint64_t ctl_smac:1; 3108 uint64_t pre_free:1; 3109 uint64_t vlan_len:1; 3110 uint64_t pad_len:1; 3111 uint64_t pre_align:1; 3112 uint64_t null_dis:1; 3113 uint64_t reserved_11_11:1; 3114 uint64_t ptp_mode:1; 3115 uint64_t reserved_13_63:51; 3116 #endif 3117 } s; 3118 struct cvmx_gmxx_rxx_frm_ctl_cn30xx { 3119 #ifdef __BIG_ENDIAN_BITFIELD 3120 uint64_t reserved_9_63:55; 3121 uint64_t pad_len:1; 3122 uint64_t vlan_len:1; 3123 uint64_t pre_free:1; 3124 uint64_t ctl_smac:1; 3125 uint64_t ctl_mcst:1; 3126 uint64_t ctl_bck:1; 3127 uint64_t ctl_drp:1; 3128 uint64_t pre_strp:1; 3129 uint64_t pre_chk:1; 3130 #else 3131 uint64_t pre_chk:1; 3132 uint64_t pre_strp:1; 3133 uint64_t ctl_drp:1; 3134 uint64_t ctl_bck:1; 3135 uint64_t ctl_mcst:1; 3136 uint64_t ctl_smac:1; 3137 uint64_t pre_free:1; 3138 uint64_t vlan_len:1; 3139 uint64_t pad_len:1; 3140 uint64_t reserved_9_63:55; 3141 #endif 3142 } cn30xx; 3143 struct cvmx_gmxx_rxx_frm_ctl_cn31xx { 3144 #ifdef __BIG_ENDIAN_BITFIELD 3145 uint64_t reserved_8_63:56; 3146 uint64_t vlan_len:1; 3147 uint64_t pre_free:1; 3148 uint64_t ctl_smac:1; 3149 uint64_t ctl_mcst:1; 3150 uint64_t ctl_bck:1; 3151 uint64_t ctl_drp:1; 3152 uint64_t pre_strp:1; 3153 uint64_t pre_chk:1; 3154 #else 3155 uint64_t pre_chk:1; 3156 uint64_t pre_strp:1; 3157 uint64_t ctl_drp:1; 3158 uint64_t ctl_bck:1; 3159 uint64_t ctl_mcst:1; 3160 uint64_t ctl_smac:1; 3161 uint64_t pre_free:1; 3162 uint64_t vlan_len:1; 3163 uint64_t reserved_8_63:56; 3164 #endif 3165 } cn31xx; 3166 struct cvmx_gmxx_rxx_frm_ctl_cn30xx cn38xx; 3167 struct cvmx_gmxx_rxx_frm_ctl_cn31xx cn38xxp2; 3168 struct cvmx_gmxx_rxx_frm_ctl_cn50xx { 3169 #ifdef __BIG_ENDIAN_BITFIELD 3170 uint64_t reserved_11_63:53; 3171 uint64_t null_dis:1; 3172 uint64_t pre_align:1; 3173 uint64_t reserved_7_8:2; 3174 uint64_t pre_free:1; 3175 uint64_t ctl_smac:1; 3176 uint64_t ctl_mcst:1; 3177 uint64_t ctl_bck:1; 3178 uint64_t ctl_drp:1; 3179 uint64_t pre_strp:1; 3180 uint64_t pre_chk:1; 3181 #else 3182 uint64_t pre_chk:1; 3183 uint64_t pre_strp:1; 3184 uint64_t ctl_drp:1; 3185 uint64_t ctl_bck:1; 3186 uint64_t ctl_mcst:1; 3187 uint64_t ctl_smac:1; 3188 uint64_t pre_free:1; 3189 uint64_t reserved_7_8:2; 3190 uint64_t pre_align:1; 3191 uint64_t null_dis:1; 3192 uint64_t reserved_11_63:53; 3193 #endif 3194 } cn50xx; 3195 struct cvmx_gmxx_rxx_frm_ctl_cn50xx cn52xx; 3196 struct cvmx_gmxx_rxx_frm_ctl_cn50xx cn52xxp1; 3197 struct cvmx_gmxx_rxx_frm_ctl_cn50xx cn56xx; 3198 struct cvmx_gmxx_rxx_frm_ctl_cn56xxp1 { 3199 #ifdef __BIG_ENDIAN_BITFIELD 3200 uint64_t reserved_10_63:54; 3201 uint64_t pre_align:1; 3202 uint64_t reserved_7_8:2; 3203 uint64_t pre_free:1; 3204 uint64_t ctl_smac:1; 3205 uint64_t ctl_mcst:1; 3206 uint64_t ctl_bck:1; 3207 uint64_t ctl_drp:1; 3208 uint64_t pre_strp:1; 3209 uint64_t pre_chk:1; 3210 #else 3211 uint64_t pre_chk:1; 3212 uint64_t pre_strp:1; 3213 uint64_t ctl_drp:1; 3214 uint64_t ctl_bck:1; 3215 uint64_t ctl_mcst:1; 3216 uint64_t ctl_smac:1; 3217 uint64_t pre_free:1; 3218 uint64_t reserved_7_8:2; 3219 uint64_t pre_align:1; 3220 uint64_t reserved_10_63:54; 3221 #endif 3222 } cn56xxp1; 3223 struct cvmx_gmxx_rxx_frm_ctl_cn58xx { 3224 #ifdef __BIG_ENDIAN_BITFIELD 3225 uint64_t reserved_11_63:53; 3226 uint64_t null_dis:1; 3227 uint64_t pre_align:1; 3228 uint64_t pad_len:1; 3229 uint64_t vlan_len:1; 3230 uint64_t pre_free:1; 3231 uint64_t ctl_smac:1; 3232 uint64_t ctl_mcst:1; 3233 uint64_t ctl_bck:1; 3234 uint64_t ctl_drp:1; 3235 uint64_t pre_strp:1; 3236 uint64_t pre_chk:1; 3237 #else 3238 uint64_t pre_chk:1; 3239 uint64_t pre_strp:1; 3240 uint64_t ctl_drp:1; 3241 uint64_t ctl_bck:1; 3242 uint64_t ctl_mcst:1; 3243 uint64_t ctl_smac:1; 3244 uint64_t pre_free:1; 3245 uint64_t vlan_len:1; 3246 uint64_t pad_len:1; 3247 uint64_t pre_align:1; 3248 uint64_t null_dis:1; 3249 uint64_t reserved_11_63:53; 3250 #endif 3251 } cn58xx; 3252 struct cvmx_gmxx_rxx_frm_ctl_cn30xx cn58xxp1; 3253 struct cvmx_gmxx_rxx_frm_ctl_cn61xx { 3254 #ifdef __BIG_ENDIAN_BITFIELD 3255 uint64_t reserved_13_63:51; 3256 uint64_t ptp_mode:1; 3257 uint64_t reserved_11_11:1; 3258 uint64_t null_dis:1; 3259 uint64_t pre_align:1; 3260 uint64_t reserved_7_8:2; 3261 uint64_t pre_free:1; 3262 uint64_t ctl_smac:1; 3263 uint64_t ctl_mcst:1; 3264 uint64_t ctl_bck:1; 3265 uint64_t ctl_drp:1; 3266 uint64_t pre_strp:1; 3267 uint64_t pre_chk:1; 3268 #else 3269 uint64_t pre_chk:1; 3270 uint64_t pre_strp:1; 3271 uint64_t ctl_drp:1; 3272 uint64_t ctl_bck:1; 3273 uint64_t ctl_mcst:1; 3274 uint64_t ctl_smac:1; 3275 uint64_t pre_free:1; 3276 uint64_t reserved_7_8:2; 3277 uint64_t pre_align:1; 3278 uint64_t null_dis:1; 3279 uint64_t reserved_11_11:1; 3280 uint64_t ptp_mode:1; 3281 uint64_t reserved_13_63:51; 3282 #endif 3283 } cn61xx; 3284 struct cvmx_gmxx_rxx_frm_ctl_cn61xx cn63xx; 3285 struct cvmx_gmxx_rxx_frm_ctl_cn61xx cn63xxp1; 3286 struct cvmx_gmxx_rxx_frm_ctl_cn61xx cn66xx; 3287 struct cvmx_gmxx_rxx_frm_ctl_cn61xx cn68xx; 3288 struct cvmx_gmxx_rxx_frm_ctl_cn61xx cn68xxp1; 3289 struct cvmx_gmxx_rxx_frm_ctl_cn61xx cnf71xx; 3290 }; 3291 3292 union cvmx_gmxx_rxx_frm_max { 3293 uint64_t u64; 3294 struct cvmx_gmxx_rxx_frm_max_s { 3295 #ifdef __BIG_ENDIAN_BITFIELD 3296 uint64_t reserved_16_63:48; 3297 uint64_t len:16; 3298 #else 3299 uint64_t len:16; 3300 uint64_t reserved_16_63:48; 3301 #endif 3302 } s; 3303 struct cvmx_gmxx_rxx_frm_max_s cn30xx; 3304 struct cvmx_gmxx_rxx_frm_max_s cn31xx; 3305 struct cvmx_gmxx_rxx_frm_max_s cn38xx; 3306 struct cvmx_gmxx_rxx_frm_max_s cn38xxp2; 3307 struct cvmx_gmxx_rxx_frm_max_s cn58xx; 3308 struct cvmx_gmxx_rxx_frm_max_s cn58xxp1; 3309 }; 3310 3311 union cvmx_gmxx_rxx_frm_min { 3312 uint64_t u64; 3313 struct cvmx_gmxx_rxx_frm_min_s { 3314 #ifdef __BIG_ENDIAN_BITFIELD 3315 uint64_t reserved_16_63:48; 3316 uint64_t len:16; 3317 #else 3318 uint64_t len:16; 3319 uint64_t reserved_16_63:48; 3320 #endif 3321 } s; 3322 struct cvmx_gmxx_rxx_frm_min_s cn30xx; 3323 struct cvmx_gmxx_rxx_frm_min_s cn31xx; 3324 struct cvmx_gmxx_rxx_frm_min_s cn38xx; 3325 struct cvmx_gmxx_rxx_frm_min_s cn38xxp2; 3326 struct cvmx_gmxx_rxx_frm_min_s cn58xx; 3327 struct cvmx_gmxx_rxx_frm_min_s cn58xxp1; 3328 }; 3329 3330 union cvmx_gmxx_rxx_ifg { 3331 uint64_t u64; 3332 struct cvmx_gmxx_rxx_ifg_s { 3333 #ifdef __BIG_ENDIAN_BITFIELD 3334 uint64_t reserved_4_63:60; 3335 uint64_t ifg:4; 3336 #else 3337 uint64_t ifg:4; 3338 uint64_t reserved_4_63:60; 3339 #endif 3340 } s; 3341 struct cvmx_gmxx_rxx_ifg_s cn30xx; 3342 struct cvmx_gmxx_rxx_ifg_s cn31xx; 3343 struct cvmx_gmxx_rxx_ifg_s cn38xx; 3344 struct cvmx_gmxx_rxx_ifg_s cn38xxp2; 3345 struct cvmx_gmxx_rxx_ifg_s cn50xx; 3346 struct cvmx_gmxx_rxx_ifg_s cn52xx; 3347 struct cvmx_gmxx_rxx_ifg_s cn52xxp1; 3348 struct cvmx_gmxx_rxx_ifg_s cn56xx; 3349 struct cvmx_gmxx_rxx_ifg_s cn56xxp1; 3350 struct cvmx_gmxx_rxx_ifg_s cn58xx; 3351 struct cvmx_gmxx_rxx_ifg_s cn58xxp1; 3352 struct cvmx_gmxx_rxx_ifg_s cn61xx; 3353 struct cvmx_gmxx_rxx_ifg_s cn63xx; 3354 struct cvmx_gmxx_rxx_ifg_s cn63xxp1; 3355 struct cvmx_gmxx_rxx_ifg_s cn66xx; 3356 struct cvmx_gmxx_rxx_ifg_s cn68xx; 3357 struct cvmx_gmxx_rxx_ifg_s cn68xxp1; 3358 struct cvmx_gmxx_rxx_ifg_s cnf71xx; 3359 }; 3360 3361 union cvmx_gmxx_rxx_int_en { 3362 uint64_t u64; 3363 struct cvmx_gmxx_rxx_int_en_s { 3364 #ifdef __BIG_ENDIAN_BITFIELD 3365 uint64_t reserved_29_63:35; 3366 uint64_t hg2cc:1; 3367 uint64_t hg2fld:1; 3368 uint64_t undat:1; 3369 uint64_t uneop:1; 3370 uint64_t unsop:1; 3371 uint64_t bad_term:1; 3372 uint64_t bad_seq:1; 3373 uint64_t rem_fault:1; 3374 uint64_t loc_fault:1; 3375 uint64_t pause_drp:1; 3376 uint64_t phy_dupx:1; 3377 uint64_t phy_spd:1; 3378 uint64_t phy_link:1; 3379 uint64_t ifgerr:1; 3380 uint64_t coldet:1; 3381 uint64_t falerr:1; 3382 uint64_t rsverr:1; 3383 uint64_t pcterr:1; 3384 uint64_t ovrerr:1; 3385 uint64_t niberr:1; 3386 uint64_t skperr:1; 3387 uint64_t rcverr:1; 3388 uint64_t lenerr:1; 3389 uint64_t alnerr:1; 3390 uint64_t fcserr:1; 3391 uint64_t jabber:1; 3392 uint64_t maxerr:1; 3393 uint64_t carext:1; 3394 uint64_t minerr:1; 3395 #else 3396 uint64_t minerr:1; 3397 uint64_t carext:1; 3398 uint64_t maxerr:1; 3399 uint64_t jabber:1; 3400 uint64_t fcserr:1; 3401 uint64_t alnerr:1; 3402 uint64_t lenerr:1; 3403 uint64_t rcverr:1; 3404 uint64_t skperr:1; 3405 uint64_t niberr:1; 3406 uint64_t ovrerr:1; 3407 uint64_t pcterr:1; 3408 uint64_t rsverr:1; 3409 uint64_t falerr:1; 3410 uint64_t coldet:1; 3411 uint64_t ifgerr:1; 3412 uint64_t phy_link:1; 3413 uint64_t phy_spd:1; 3414 uint64_t phy_dupx:1; 3415 uint64_t pause_drp:1; 3416 uint64_t loc_fault:1; 3417 uint64_t rem_fault:1; 3418 uint64_t bad_seq:1; 3419 uint64_t bad_term:1; 3420 uint64_t unsop:1; 3421 uint64_t uneop:1; 3422 uint64_t undat:1; 3423 uint64_t hg2fld:1; 3424 uint64_t hg2cc:1; 3425 uint64_t reserved_29_63:35; 3426 #endif 3427 } s; 3428 struct cvmx_gmxx_rxx_int_en_cn30xx { 3429 #ifdef __BIG_ENDIAN_BITFIELD 3430 uint64_t reserved_19_63:45; 3431 uint64_t phy_dupx:1; 3432 uint64_t phy_spd:1; 3433 uint64_t phy_link:1; 3434 uint64_t ifgerr:1; 3435 uint64_t coldet:1; 3436 uint64_t falerr:1; 3437 uint64_t rsverr:1; 3438 uint64_t pcterr:1; 3439 uint64_t ovrerr:1; 3440 uint64_t niberr:1; 3441 uint64_t skperr:1; 3442 uint64_t rcverr:1; 3443 uint64_t lenerr:1; 3444 uint64_t alnerr:1; 3445 uint64_t fcserr:1; 3446 uint64_t jabber:1; 3447 uint64_t maxerr:1; 3448 uint64_t carext:1; 3449 uint64_t minerr:1; 3450 #else 3451 uint64_t minerr:1; 3452 uint64_t carext:1; 3453 uint64_t maxerr:1; 3454 uint64_t jabber:1; 3455 uint64_t fcserr:1; 3456 uint64_t alnerr:1; 3457 uint64_t lenerr:1; 3458 uint64_t rcverr:1; 3459 uint64_t skperr:1; 3460 uint64_t niberr:1; 3461 uint64_t ovrerr:1; 3462 uint64_t pcterr:1; 3463 uint64_t rsverr:1; 3464 uint64_t falerr:1; 3465 uint64_t coldet:1; 3466 uint64_t ifgerr:1; 3467 uint64_t phy_link:1; 3468 uint64_t phy_spd:1; 3469 uint64_t phy_dupx:1; 3470 uint64_t reserved_19_63:45; 3471 #endif 3472 } cn30xx; 3473 struct cvmx_gmxx_rxx_int_en_cn30xx cn31xx; 3474 struct cvmx_gmxx_rxx_int_en_cn30xx cn38xx; 3475 struct cvmx_gmxx_rxx_int_en_cn30xx cn38xxp2; 3476 struct cvmx_gmxx_rxx_int_en_cn50xx { 3477 #ifdef __BIG_ENDIAN_BITFIELD 3478 uint64_t reserved_20_63:44; 3479 uint64_t pause_drp:1; 3480 uint64_t phy_dupx:1; 3481 uint64_t phy_spd:1; 3482 uint64_t phy_link:1; 3483 uint64_t ifgerr:1; 3484 uint64_t coldet:1; 3485 uint64_t falerr:1; 3486 uint64_t rsverr:1; 3487 uint64_t pcterr:1; 3488 uint64_t ovrerr:1; 3489 uint64_t niberr:1; 3490 uint64_t skperr:1; 3491 uint64_t rcverr:1; 3492 uint64_t reserved_6_6:1; 3493 uint64_t alnerr:1; 3494 uint64_t fcserr:1; 3495 uint64_t jabber:1; 3496 uint64_t reserved_2_2:1; 3497 uint64_t carext:1; 3498 uint64_t reserved_0_0:1; 3499 #else 3500 uint64_t reserved_0_0:1; 3501 uint64_t carext:1; 3502 uint64_t reserved_2_2:1; 3503 uint64_t jabber:1; 3504 uint64_t fcserr:1; 3505 uint64_t alnerr:1; 3506 uint64_t reserved_6_6:1; 3507 uint64_t rcverr:1; 3508 uint64_t skperr:1; 3509 uint64_t niberr:1; 3510 uint64_t ovrerr:1; 3511 uint64_t pcterr:1; 3512 uint64_t rsverr:1; 3513 uint64_t falerr:1; 3514 uint64_t coldet:1; 3515 uint64_t ifgerr:1; 3516 uint64_t phy_link:1; 3517 uint64_t phy_spd:1; 3518 uint64_t phy_dupx:1; 3519 uint64_t pause_drp:1; 3520 uint64_t reserved_20_63:44; 3521 #endif 3522 } cn50xx; 3523 struct cvmx_gmxx_rxx_int_en_cn52xx { 3524 #ifdef __BIG_ENDIAN_BITFIELD 3525 uint64_t reserved_29_63:35; 3526 uint64_t hg2cc:1; 3527 uint64_t hg2fld:1; 3528 uint64_t undat:1; 3529 uint64_t uneop:1; 3530 uint64_t unsop:1; 3531 uint64_t bad_term:1; 3532 uint64_t bad_seq:1; 3533 uint64_t rem_fault:1; 3534 uint64_t loc_fault:1; 3535 uint64_t pause_drp:1; 3536 uint64_t reserved_16_18:3; 3537 uint64_t ifgerr:1; 3538 uint64_t coldet:1; 3539 uint64_t falerr:1; 3540 uint64_t rsverr:1; 3541 uint64_t pcterr:1; 3542 uint64_t ovrerr:1; 3543 uint64_t reserved_9_9:1; 3544 uint64_t skperr:1; 3545 uint64_t rcverr:1; 3546 uint64_t reserved_5_6:2; 3547 uint64_t fcserr:1; 3548 uint64_t jabber:1; 3549 uint64_t reserved_2_2:1; 3550 uint64_t carext:1; 3551 uint64_t reserved_0_0:1; 3552 #else 3553 uint64_t reserved_0_0:1; 3554 uint64_t carext:1; 3555 uint64_t reserved_2_2:1; 3556 uint64_t jabber:1; 3557 uint64_t fcserr:1; 3558 uint64_t reserved_5_6:2; 3559 uint64_t rcverr:1; 3560 uint64_t skperr:1; 3561 uint64_t reserved_9_9:1; 3562 uint64_t ovrerr:1; 3563 uint64_t pcterr:1; 3564 uint64_t rsverr:1; 3565 uint64_t falerr:1; 3566 uint64_t coldet:1; 3567 uint64_t ifgerr:1; 3568 uint64_t reserved_16_18:3; 3569 uint64_t pause_drp:1; 3570 uint64_t loc_fault:1; 3571 uint64_t rem_fault:1; 3572 uint64_t bad_seq:1; 3573 uint64_t bad_term:1; 3574 uint64_t unsop:1; 3575 uint64_t uneop:1; 3576 uint64_t undat:1; 3577 uint64_t hg2fld:1; 3578 uint64_t hg2cc:1; 3579 uint64_t reserved_29_63:35; 3580 #endif 3581 } cn52xx; 3582 struct cvmx_gmxx_rxx_int_en_cn52xx cn52xxp1; 3583 struct cvmx_gmxx_rxx_int_en_cn52xx cn56xx; 3584 struct cvmx_gmxx_rxx_int_en_cn56xxp1 { 3585 #ifdef __BIG_ENDIAN_BITFIELD 3586 uint64_t reserved_27_63:37; 3587 uint64_t undat:1; 3588 uint64_t uneop:1; 3589 uint64_t unsop:1; 3590 uint64_t bad_term:1; 3591 uint64_t bad_seq:1; 3592 uint64_t rem_fault:1; 3593 uint64_t loc_fault:1; 3594 uint64_t pause_drp:1; 3595 uint64_t reserved_16_18:3; 3596 uint64_t ifgerr:1; 3597 uint64_t coldet:1; 3598 uint64_t falerr:1; 3599 uint64_t rsverr:1; 3600 uint64_t pcterr:1; 3601 uint64_t ovrerr:1; 3602 uint64_t reserved_9_9:1; 3603 uint64_t skperr:1; 3604 uint64_t rcverr:1; 3605 uint64_t reserved_5_6:2; 3606 uint64_t fcserr:1; 3607 uint64_t jabber:1; 3608 uint64_t reserved_2_2:1; 3609 uint64_t carext:1; 3610 uint64_t reserved_0_0:1; 3611 #else 3612 uint64_t reserved_0_0:1; 3613 uint64_t carext:1; 3614 uint64_t reserved_2_2:1; 3615 uint64_t jabber:1; 3616 uint64_t fcserr:1; 3617 uint64_t reserved_5_6:2; 3618 uint64_t rcverr:1; 3619 uint64_t skperr:1; 3620 uint64_t reserved_9_9:1; 3621 uint64_t ovrerr:1; 3622 uint64_t pcterr:1; 3623 uint64_t rsverr:1; 3624 uint64_t falerr:1; 3625 uint64_t coldet:1; 3626 uint64_t ifgerr:1; 3627 uint64_t reserved_16_18:3; 3628 uint64_t pause_drp:1; 3629 uint64_t loc_fault:1; 3630 uint64_t rem_fault:1; 3631 uint64_t bad_seq:1; 3632 uint64_t bad_term:1; 3633 uint64_t unsop:1; 3634 uint64_t uneop:1; 3635 uint64_t undat:1; 3636 uint64_t reserved_27_63:37; 3637 #endif 3638 } cn56xxp1; 3639 struct cvmx_gmxx_rxx_int_en_cn58xx { 3640 #ifdef __BIG_ENDIAN_BITFIELD 3641 uint64_t reserved_20_63:44; 3642 uint64_t pause_drp:1; 3643 uint64_t phy_dupx:1; 3644 uint64_t phy_spd:1; 3645 uint64_t phy_link:1; 3646 uint64_t ifgerr:1; 3647 uint64_t coldet:1; 3648 uint64_t falerr:1; 3649 uint64_t rsverr:1; 3650 uint64_t pcterr:1; 3651 uint64_t ovrerr:1; 3652 uint64_t niberr:1; 3653 uint64_t skperr:1; 3654 uint64_t rcverr:1; 3655 uint64_t lenerr:1; 3656 uint64_t alnerr:1; 3657 uint64_t fcserr:1; 3658 uint64_t jabber:1; 3659 uint64_t maxerr:1; 3660 uint64_t carext:1; 3661 uint64_t minerr:1; 3662 #else 3663 uint64_t minerr:1; 3664 uint64_t carext:1; 3665 uint64_t maxerr:1; 3666 uint64_t jabber:1; 3667 uint64_t fcserr:1; 3668 uint64_t alnerr:1; 3669 uint64_t lenerr:1; 3670 uint64_t rcverr:1; 3671 uint64_t skperr:1; 3672 uint64_t niberr:1; 3673 uint64_t ovrerr:1; 3674 uint64_t pcterr:1; 3675 uint64_t rsverr:1; 3676 uint64_t falerr:1; 3677 uint64_t coldet:1; 3678 uint64_t ifgerr:1; 3679 uint64_t phy_link:1; 3680 uint64_t phy_spd:1; 3681 uint64_t phy_dupx:1; 3682 uint64_t pause_drp:1; 3683 uint64_t reserved_20_63:44; 3684 #endif 3685 } cn58xx; 3686 struct cvmx_gmxx_rxx_int_en_cn58xx cn58xxp1; 3687 struct cvmx_gmxx_rxx_int_en_cn61xx { 3688 #ifdef __BIG_ENDIAN_BITFIELD 3689 uint64_t reserved_29_63:35; 3690 uint64_t hg2cc:1; 3691 uint64_t hg2fld:1; 3692 uint64_t undat:1; 3693 uint64_t uneop:1; 3694 uint64_t unsop:1; 3695 uint64_t bad_term:1; 3696 uint64_t bad_seq:1; 3697 uint64_t rem_fault:1; 3698 uint64_t loc_fault:1; 3699 uint64_t pause_drp:1; 3700 uint64_t reserved_16_18:3; 3701 uint64_t ifgerr:1; 3702 uint64_t coldet:1; 3703 uint64_t falerr:1; 3704 uint64_t rsverr:1; 3705 uint64_t pcterr:1; 3706 uint64_t ovrerr:1; 3707 uint64_t reserved_9_9:1; 3708 uint64_t skperr:1; 3709 uint64_t rcverr:1; 3710 uint64_t reserved_5_6:2; 3711 uint64_t fcserr:1; 3712 uint64_t jabber:1; 3713 uint64_t reserved_2_2:1; 3714 uint64_t carext:1; 3715 uint64_t minerr:1; 3716 #else 3717 uint64_t minerr:1; 3718 uint64_t carext:1; 3719 uint64_t reserved_2_2:1; 3720 uint64_t jabber:1; 3721 uint64_t fcserr:1; 3722 uint64_t reserved_5_6:2; 3723 uint64_t rcverr:1; 3724 uint64_t skperr:1; 3725 uint64_t reserved_9_9:1; 3726 uint64_t ovrerr:1; 3727 uint64_t pcterr:1; 3728 uint64_t rsverr:1; 3729 uint64_t falerr:1; 3730 uint64_t coldet:1; 3731 uint64_t ifgerr:1; 3732 uint64_t reserved_16_18:3; 3733 uint64_t pause_drp:1; 3734 uint64_t loc_fault:1; 3735 uint64_t rem_fault:1; 3736 uint64_t bad_seq:1; 3737 uint64_t bad_term:1; 3738 uint64_t unsop:1; 3739 uint64_t uneop:1; 3740 uint64_t undat:1; 3741 uint64_t hg2fld:1; 3742 uint64_t hg2cc:1; 3743 uint64_t reserved_29_63:35; 3744 #endif 3745 } cn61xx; 3746 struct cvmx_gmxx_rxx_int_en_cn61xx cn63xx; 3747 struct cvmx_gmxx_rxx_int_en_cn61xx cn63xxp1; 3748 struct cvmx_gmxx_rxx_int_en_cn61xx cn66xx; 3749 struct cvmx_gmxx_rxx_int_en_cn61xx cn68xx; 3750 struct cvmx_gmxx_rxx_int_en_cn61xx cn68xxp1; 3751 struct cvmx_gmxx_rxx_int_en_cn61xx cnf71xx; 3752 }; 3753 3754 union cvmx_gmxx_rxx_int_reg { 3755 uint64_t u64; 3756 struct cvmx_gmxx_rxx_int_reg_s { 3757 #ifdef __BIG_ENDIAN_BITFIELD 3758 uint64_t reserved_29_63:35; 3759 uint64_t hg2cc:1; 3760 uint64_t hg2fld:1; 3761 uint64_t undat:1; 3762 uint64_t uneop:1; 3763 uint64_t unsop:1; 3764 uint64_t bad_term:1; 3765 uint64_t bad_seq:1; 3766 uint64_t rem_fault:1; 3767 uint64_t loc_fault:1; 3768 uint64_t pause_drp:1; 3769 uint64_t phy_dupx:1; 3770 uint64_t phy_spd:1; 3771 uint64_t phy_link:1; 3772 uint64_t ifgerr:1; 3773 uint64_t coldet:1; 3774 uint64_t falerr:1; 3775 uint64_t rsverr:1; 3776 uint64_t pcterr:1; 3777 uint64_t ovrerr:1; 3778 uint64_t niberr:1; 3779 uint64_t skperr:1; 3780 uint64_t rcverr:1; 3781 uint64_t lenerr:1; 3782 uint64_t alnerr:1; 3783 uint64_t fcserr:1; 3784 uint64_t jabber:1; 3785 uint64_t maxerr:1; 3786 uint64_t carext:1; 3787 uint64_t minerr:1; 3788 #else 3789 uint64_t minerr:1; 3790 uint64_t carext:1; 3791 uint64_t maxerr:1; 3792 uint64_t jabber:1; 3793 uint64_t fcserr:1; 3794 uint64_t alnerr:1; 3795 uint64_t lenerr:1; 3796 uint64_t rcverr:1; 3797 uint64_t skperr:1; 3798 uint64_t niberr:1; 3799 uint64_t ovrerr:1; 3800 uint64_t pcterr:1; 3801 uint64_t rsverr:1; 3802 uint64_t falerr:1; 3803 uint64_t coldet:1; 3804 uint64_t ifgerr:1; 3805 uint64_t phy_link:1; 3806 uint64_t phy_spd:1; 3807 uint64_t phy_dupx:1; 3808 uint64_t pause_drp:1; 3809 uint64_t loc_fault:1; 3810 uint64_t rem_fault:1; 3811 uint64_t bad_seq:1; 3812 uint64_t bad_term:1; 3813 uint64_t unsop:1; 3814 uint64_t uneop:1; 3815 uint64_t undat:1; 3816 uint64_t hg2fld:1; 3817 uint64_t hg2cc:1; 3818 uint64_t reserved_29_63:35; 3819 #endif 3820 } s; 3821 struct cvmx_gmxx_rxx_int_reg_cn30xx { 3822 #ifdef __BIG_ENDIAN_BITFIELD 3823 uint64_t reserved_19_63:45; 3824 uint64_t phy_dupx:1; 3825 uint64_t phy_spd:1; 3826 uint64_t phy_link:1; 3827 uint64_t ifgerr:1; 3828 uint64_t coldet:1; 3829 uint64_t falerr:1; 3830 uint64_t rsverr:1; 3831 uint64_t pcterr:1; 3832 uint64_t ovrerr:1; 3833 uint64_t niberr:1; 3834 uint64_t skperr:1; 3835 uint64_t rcverr:1; 3836 uint64_t lenerr:1; 3837 uint64_t alnerr:1; 3838 uint64_t fcserr:1; 3839 uint64_t jabber:1; 3840 uint64_t maxerr:1; 3841 uint64_t carext:1; 3842 uint64_t minerr:1; 3843 #else 3844 uint64_t minerr:1; 3845 uint64_t carext:1; 3846 uint64_t maxerr:1; 3847 uint64_t jabber:1; 3848 uint64_t fcserr:1; 3849 uint64_t alnerr:1; 3850 uint64_t lenerr:1; 3851 uint64_t rcverr:1; 3852 uint64_t skperr:1; 3853 uint64_t niberr:1; 3854 uint64_t ovrerr:1; 3855 uint64_t pcterr:1; 3856 uint64_t rsverr:1; 3857 uint64_t falerr:1; 3858 uint64_t coldet:1; 3859 uint64_t ifgerr:1; 3860 uint64_t phy_link:1; 3861 uint64_t phy_spd:1; 3862 uint64_t phy_dupx:1; 3863 uint64_t reserved_19_63:45; 3864 #endif 3865 } cn30xx; 3866 struct cvmx_gmxx_rxx_int_reg_cn30xx cn31xx; 3867 struct cvmx_gmxx_rxx_int_reg_cn30xx cn38xx; 3868 struct cvmx_gmxx_rxx_int_reg_cn30xx cn38xxp2; 3869 struct cvmx_gmxx_rxx_int_reg_cn50xx { 3870 #ifdef __BIG_ENDIAN_BITFIELD 3871 uint64_t reserved_20_63:44; 3872 uint64_t pause_drp:1; 3873 uint64_t phy_dupx:1; 3874 uint64_t phy_spd:1; 3875 uint64_t phy_link:1; 3876 uint64_t ifgerr:1; 3877 uint64_t coldet:1; 3878 uint64_t falerr:1; 3879 uint64_t rsverr:1; 3880 uint64_t pcterr:1; 3881 uint64_t ovrerr:1; 3882 uint64_t niberr:1; 3883 uint64_t skperr:1; 3884 uint64_t rcverr:1; 3885 uint64_t reserved_6_6:1; 3886 uint64_t alnerr:1; 3887 uint64_t fcserr:1; 3888 uint64_t jabber:1; 3889 uint64_t reserved_2_2:1; 3890 uint64_t carext:1; 3891 uint64_t reserved_0_0:1; 3892 #else 3893 uint64_t reserved_0_0:1; 3894 uint64_t carext:1; 3895 uint64_t reserved_2_2:1; 3896 uint64_t jabber:1; 3897 uint64_t fcserr:1; 3898 uint64_t alnerr:1; 3899 uint64_t reserved_6_6:1; 3900 uint64_t rcverr:1; 3901 uint64_t skperr:1; 3902 uint64_t niberr:1; 3903 uint64_t ovrerr:1; 3904 uint64_t pcterr:1; 3905 uint64_t rsverr:1; 3906 uint64_t falerr:1; 3907 uint64_t coldet:1; 3908 uint64_t ifgerr:1; 3909 uint64_t phy_link:1; 3910 uint64_t phy_spd:1; 3911 uint64_t phy_dupx:1; 3912 uint64_t pause_drp:1; 3913 uint64_t reserved_20_63:44; 3914 #endif 3915 } cn50xx; 3916 struct cvmx_gmxx_rxx_int_reg_cn52xx { 3917 #ifdef __BIG_ENDIAN_BITFIELD 3918 uint64_t reserved_29_63:35; 3919 uint64_t hg2cc:1; 3920 uint64_t hg2fld:1; 3921 uint64_t undat:1; 3922 uint64_t uneop:1; 3923 uint64_t unsop:1; 3924 uint64_t bad_term:1; 3925 uint64_t bad_seq:1; 3926 uint64_t rem_fault:1; 3927 uint64_t loc_fault:1; 3928 uint64_t pause_drp:1; 3929 uint64_t reserved_16_18:3; 3930 uint64_t ifgerr:1; 3931 uint64_t coldet:1; 3932 uint64_t falerr:1; 3933 uint64_t rsverr:1; 3934 uint64_t pcterr:1; 3935 uint64_t ovrerr:1; 3936 uint64_t reserved_9_9:1; 3937 uint64_t skperr:1; 3938 uint64_t rcverr:1; 3939 uint64_t reserved_5_6:2; 3940 uint64_t fcserr:1; 3941 uint64_t jabber:1; 3942 uint64_t reserved_2_2:1; 3943 uint64_t carext:1; 3944 uint64_t reserved_0_0:1; 3945 #else 3946 uint64_t reserved_0_0:1; 3947 uint64_t carext:1; 3948 uint64_t reserved_2_2:1; 3949 uint64_t jabber:1; 3950 uint64_t fcserr:1; 3951 uint64_t reserved_5_6:2; 3952 uint64_t rcverr:1; 3953 uint64_t skperr:1; 3954 uint64_t reserved_9_9:1; 3955 uint64_t ovrerr:1; 3956 uint64_t pcterr:1; 3957 uint64_t rsverr:1; 3958 uint64_t falerr:1; 3959 uint64_t coldet:1; 3960 uint64_t ifgerr:1; 3961 uint64_t reserved_16_18:3; 3962 uint64_t pause_drp:1; 3963 uint64_t loc_fault:1; 3964 uint64_t rem_fault:1; 3965 uint64_t bad_seq:1; 3966 uint64_t bad_term:1; 3967 uint64_t unsop:1; 3968 uint64_t uneop:1; 3969 uint64_t undat:1; 3970 uint64_t hg2fld:1; 3971 uint64_t hg2cc:1; 3972 uint64_t reserved_29_63:35; 3973 #endif 3974 } cn52xx; 3975 struct cvmx_gmxx_rxx_int_reg_cn52xx cn52xxp1; 3976 struct cvmx_gmxx_rxx_int_reg_cn52xx cn56xx; 3977 struct cvmx_gmxx_rxx_int_reg_cn56xxp1 { 3978 #ifdef __BIG_ENDIAN_BITFIELD 3979 uint64_t reserved_27_63:37; 3980 uint64_t undat:1; 3981 uint64_t uneop:1; 3982 uint64_t unsop:1; 3983 uint64_t bad_term:1; 3984 uint64_t bad_seq:1; 3985 uint64_t rem_fault:1; 3986 uint64_t loc_fault:1; 3987 uint64_t pause_drp:1; 3988 uint64_t reserved_16_18:3; 3989 uint64_t ifgerr:1; 3990 uint64_t coldet:1; 3991 uint64_t falerr:1; 3992 uint64_t rsverr:1; 3993 uint64_t pcterr:1; 3994 uint64_t ovrerr:1; 3995 uint64_t reserved_9_9:1; 3996 uint64_t skperr:1; 3997 uint64_t rcverr:1; 3998 uint64_t reserved_5_6:2; 3999 uint64_t fcserr:1; 4000 uint64_t jabber:1; 4001 uint64_t reserved_2_2:1; 4002 uint64_t carext:1; 4003 uint64_t reserved_0_0:1; 4004 #else 4005 uint64_t reserved_0_0:1; 4006 uint64_t carext:1; 4007 uint64_t reserved_2_2:1; 4008 uint64_t jabber:1; 4009 uint64_t fcserr:1; 4010 uint64_t reserved_5_6:2; 4011 uint64_t rcverr:1; 4012 uint64_t skperr:1; 4013 uint64_t reserved_9_9:1; 4014 uint64_t ovrerr:1; 4015 uint64_t pcterr:1; 4016 uint64_t rsverr:1; 4017 uint64_t falerr:1; 4018 uint64_t coldet:1; 4019 uint64_t ifgerr:1; 4020 uint64_t reserved_16_18:3; 4021 uint64_t pause_drp:1; 4022 uint64_t loc_fault:1; 4023 uint64_t rem_fault:1; 4024 uint64_t bad_seq:1; 4025 uint64_t bad_term:1; 4026 uint64_t unsop:1; 4027 uint64_t uneop:1; 4028 uint64_t undat:1; 4029 uint64_t reserved_27_63:37; 4030 #endif 4031 } cn56xxp1; 4032 struct cvmx_gmxx_rxx_int_reg_cn58xx { 4033 #ifdef __BIG_ENDIAN_BITFIELD 4034 uint64_t reserved_20_63:44; 4035 uint64_t pause_drp:1; 4036 uint64_t phy_dupx:1; 4037 uint64_t phy_spd:1; 4038 uint64_t phy_link:1; 4039 uint64_t ifgerr:1; 4040 uint64_t coldet:1; 4041 uint64_t falerr:1; 4042 uint64_t rsverr:1; 4043 uint64_t pcterr:1; 4044 uint64_t ovrerr:1; 4045 uint64_t niberr:1; 4046 uint64_t skperr:1; 4047 uint64_t rcverr:1; 4048 uint64_t lenerr:1; 4049 uint64_t alnerr:1; 4050 uint64_t fcserr:1; 4051 uint64_t jabber:1; 4052 uint64_t maxerr:1; 4053 uint64_t carext:1; 4054 uint64_t minerr:1; 4055 #else 4056 uint64_t minerr:1; 4057 uint64_t carext:1; 4058 uint64_t maxerr:1; 4059 uint64_t jabber:1; 4060 uint64_t fcserr:1; 4061 uint64_t alnerr:1; 4062 uint64_t lenerr:1; 4063 uint64_t rcverr:1; 4064 uint64_t skperr:1; 4065 uint64_t niberr:1; 4066 uint64_t ovrerr:1; 4067 uint64_t pcterr:1; 4068 uint64_t rsverr:1; 4069 uint64_t falerr:1; 4070 uint64_t coldet:1; 4071 uint64_t ifgerr:1; 4072 uint64_t phy_link:1; 4073 uint64_t phy_spd:1; 4074 uint64_t phy_dupx:1; 4075 uint64_t pause_drp:1; 4076 uint64_t reserved_20_63:44; 4077 #endif 4078 } cn58xx; 4079 struct cvmx_gmxx_rxx_int_reg_cn58xx cn58xxp1; 4080 struct cvmx_gmxx_rxx_int_reg_cn61xx { 4081 #ifdef __BIG_ENDIAN_BITFIELD 4082 uint64_t reserved_29_63:35; 4083 uint64_t hg2cc:1; 4084 uint64_t hg2fld:1; 4085 uint64_t undat:1; 4086 uint64_t uneop:1; 4087 uint64_t unsop:1; 4088 uint64_t bad_term:1; 4089 uint64_t bad_seq:1; 4090 uint64_t rem_fault:1; 4091 uint64_t loc_fault:1; 4092 uint64_t pause_drp:1; 4093 uint64_t reserved_16_18:3; 4094 uint64_t ifgerr:1; 4095 uint64_t coldet:1; 4096 uint64_t falerr:1; 4097 uint64_t rsverr:1; 4098 uint64_t pcterr:1; 4099 uint64_t ovrerr:1; 4100 uint64_t reserved_9_9:1; 4101 uint64_t skperr:1; 4102 uint64_t rcverr:1; 4103 uint64_t reserved_5_6:2; 4104 uint64_t fcserr:1; 4105 uint64_t jabber:1; 4106 uint64_t reserved_2_2:1; 4107 uint64_t carext:1; 4108 uint64_t minerr:1; 4109 #else 4110 uint64_t minerr:1; 4111 uint64_t carext:1; 4112 uint64_t reserved_2_2:1; 4113 uint64_t jabber:1; 4114 uint64_t fcserr:1; 4115 uint64_t reserved_5_6:2; 4116 uint64_t rcverr:1; 4117 uint64_t skperr:1; 4118 uint64_t reserved_9_9:1; 4119 uint64_t ovrerr:1; 4120 uint64_t pcterr:1; 4121 uint64_t rsverr:1; 4122 uint64_t falerr:1; 4123 uint64_t coldet:1; 4124 uint64_t ifgerr:1; 4125 uint64_t reserved_16_18:3; 4126 uint64_t pause_drp:1; 4127 uint64_t loc_fault:1; 4128 uint64_t rem_fault:1; 4129 uint64_t bad_seq:1; 4130 uint64_t bad_term:1; 4131 uint64_t unsop:1; 4132 uint64_t uneop:1; 4133 uint64_t undat:1; 4134 uint64_t hg2fld:1; 4135 uint64_t hg2cc:1; 4136 uint64_t reserved_29_63:35; 4137 #endif 4138 } cn61xx; 4139 struct cvmx_gmxx_rxx_int_reg_cn61xx cn63xx; 4140 struct cvmx_gmxx_rxx_int_reg_cn61xx cn63xxp1; 4141 struct cvmx_gmxx_rxx_int_reg_cn61xx cn66xx; 4142 struct cvmx_gmxx_rxx_int_reg_cn61xx cn68xx; 4143 struct cvmx_gmxx_rxx_int_reg_cn61xx cn68xxp1; 4144 struct cvmx_gmxx_rxx_int_reg_cn61xx cnf71xx; 4145 }; 4146 4147 union cvmx_gmxx_rxx_jabber { 4148 uint64_t u64; 4149 struct cvmx_gmxx_rxx_jabber_s { 4150 #ifdef __BIG_ENDIAN_BITFIELD 4151 uint64_t reserved_16_63:48; 4152 uint64_t cnt:16; 4153 #else 4154 uint64_t cnt:16; 4155 uint64_t reserved_16_63:48; 4156 #endif 4157 } s; 4158 struct cvmx_gmxx_rxx_jabber_s cn30xx; 4159 struct cvmx_gmxx_rxx_jabber_s cn31xx; 4160 struct cvmx_gmxx_rxx_jabber_s cn38xx; 4161 struct cvmx_gmxx_rxx_jabber_s cn38xxp2; 4162 struct cvmx_gmxx_rxx_jabber_s cn50xx; 4163 struct cvmx_gmxx_rxx_jabber_s cn52xx; 4164 struct cvmx_gmxx_rxx_jabber_s cn52xxp1; 4165 struct cvmx_gmxx_rxx_jabber_s cn56xx; 4166 struct cvmx_gmxx_rxx_jabber_s cn56xxp1; 4167 struct cvmx_gmxx_rxx_jabber_s cn58xx; 4168 struct cvmx_gmxx_rxx_jabber_s cn58xxp1; 4169 struct cvmx_gmxx_rxx_jabber_s cn61xx; 4170 struct cvmx_gmxx_rxx_jabber_s cn63xx; 4171 struct cvmx_gmxx_rxx_jabber_s cn63xxp1; 4172 struct cvmx_gmxx_rxx_jabber_s cn66xx; 4173 struct cvmx_gmxx_rxx_jabber_s cn68xx; 4174 struct cvmx_gmxx_rxx_jabber_s cn68xxp1; 4175 struct cvmx_gmxx_rxx_jabber_s cnf71xx; 4176 }; 4177 4178 union cvmx_gmxx_rxx_pause_drop_time { 4179 uint64_t u64; 4180 struct cvmx_gmxx_rxx_pause_drop_time_s { 4181 #ifdef __BIG_ENDIAN_BITFIELD 4182 uint64_t reserved_16_63:48; 4183 uint64_t status:16; 4184 #else 4185 uint64_t status:16; 4186 uint64_t reserved_16_63:48; 4187 #endif 4188 } s; 4189 struct cvmx_gmxx_rxx_pause_drop_time_s cn50xx; 4190 struct cvmx_gmxx_rxx_pause_drop_time_s cn52xx; 4191 struct cvmx_gmxx_rxx_pause_drop_time_s cn52xxp1; 4192 struct cvmx_gmxx_rxx_pause_drop_time_s cn56xx; 4193 struct cvmx_gmxx_rxx_pause_drop_time_s cn56xxp1; 4194 struct cvmx_gmxx_rxx_pause_drop_time_s cn58xx; 4195 struct cvmx_gmxx_rxx_pause_drop_time_s cn58xxp1; 4196 struct cvmx_gmxx_rxx_pause_drop_time_s cn61xx; 4197 struct cvmx_gmxx_rxx_pause_drop_time_s cn63xx; 4198 struct cvmx_gmxx_rxx_pause_drop_time_s cn63xxp1; 4199 struct cvmx_gmxx_rxx_pause_drop_time_s cn66xx; 4200 struct cvmx_gmxx_rxx_pause_drop_time_s cn68xx; 4201 struct cvmx_gmxx_rxx_pause_drop_time_s cn68xxp1; 4202 struct cvmx_gmxx_rxx_pause_drop_time_s cnf71xx; 4203 }; 4204 4205 union cvmx_gmxx_rxx_rx_inbnd { 4206 uint64_t u64; 4207 struct cvmx_gmxx_rxx_rx_inbnd_s { 4208 #ifdef __BIG_ENDIAN_BITFIELD 4209 uint64_t reserved_4_63:60; 4210 uint64_t duplex:1; 4211 uint64_t speed:2; 4212 uint64_t status:1; 4213 #else 4214 uint64_t status:1; 4215 uint64_t speed:2; 4216 uint64_t duplex:1; 4217 uint64_t reserved_4_63:60; 4218 #endif 4219 } s; 4220 struct cvmx_gmxx_rxx_rx_inbnd_s cn30xx; 4221 struct cvmx_gmxx_rxx_rx_inbnd_s cn31xx; 4222 struct cvmx_gmxx_rxx_rx_inbnd_s cn38xx; 4223 struct cvmx_gmxx_rxx_rx_inbnd_s cn38xxp2; 4224 struct cvmx_gmxx_rxx_rx_inbnd_s cn50xx; 4225 struct cvmx_gmxx_rxx_rx_inbnd_s cn58xx; 4226 struct cvmx_gmxx_rxx_rx_inbnd_s cn58xxp1; 4227 }; 4228 4229 union cvmx_gmxx_rxx_stats_ctl { 4230 uint64_t u64; 4231 struct cvmx_gmxx_rxx_stats_ctl_s { 4232 #ifdef __BIG_ENDIAN_BITFIELD 4233 uint64_t reserved_1_63:63; 4234 uint64_t rd_clr:1; 4235 #else 4236 uint64_t rd_clr:1; 4237 uint64_t reserved_1_63:63; 4238 #endif 4239 } s; 4240 struct cvmx_gmxx_rxx_stats_ctl_s cn30xx; 4241 struct cvmx_gmxx_rxx_stats_ctl_s cn31xx; 4242 struct cvmx_gmxx_rxx_stats_ctl_s cn38xx; 4243 struct cvmx_gmxx_rxx_stats_ctl_s cn38xxp2; 4244 struct cvmx_gmxx_rxx_stats_ctl_s cn50xx; 4245 struct cvmx_gmxx_rxx_stats_ctl_s cn52xx; 4246 struct cvmx_gmxx_rxx_stats_ctl_s cn52xxp1; 4247 struct cvmx_gmxx_rxx_stats_ctl_s cn56xx; 4248 struct cvmx_gmxx_rxx_stats_ctl_s cn56xxp1; 4249 struct cvmx_gmxx_rxx_stats_ctl_s cn58xx; 4250 struct cvmx_gmxx_rxx_stats_ctl_s cn58xxp1; 4251 struct cvmx_gmxx_rxx_stats_ctl_s cn61xx; 4252 struct cvmx_gmxx_rxx_stats_ctl_s cn63xx; 4253 struct cvmx_gmxx_rxx_stats_ctl_s cn63xxp1; 4254 struct cvmx_gmxx_rxx_stats_ctl_s cn66xx; 4255 struct cvmx_gmxx_rxx_stats_ctl_s cn68xx; 4256 struct cvmx_gmxx_rxx_stats_ctl_s cn68xxp1; 4257 struct cvmx_gmxx_rxx_stats_ctl_s cnf71xx; 4258 }; 4259 4260 union cvmx_gmxx_rxx_stats_octs { 4261 uint64_t u64; 4262 struct cvmx_gmxx_rxx_stats_octs_s { 4263 #ifdef __BIG_ENDIAN_BITFIELD 4264 uint64_t reserved_48_63:16; 4265 uint64_t cnt:48; 4266 #else 4267 uint64_t cnt:48; 4268 uint64_t reserved_48_63:16; 4269 #endif 4270 } s; 4271 struct cvmx_gmxx_rxx_stats_octs_s cn30xx; 4272 struct cvmx_gmxx_rxx_stats_octs_s cn31xx; 4273 struct cvmx_gmxx_rxx_stats_octs_s cn38xx; 4274 struct cvmx_gmxx_rxx_stats_octs_s cn38xxp2; 4275 struct cvmx_gmxx_rxx_stats_octs_s cn50xx; 4276 struct cvmx_gmxx_rxx_stats_octs_s cn52xx; 4277 struct cvmx_gmxx_rxx_stats_octs_s cn52xxp1; 4278 struct cvmx_gmxx_rxx_stats_octs_s cn56xx; 4279 struct cvmx_gmxx_rxx_stats_octs_s cn56xxp1; 4280 struct cvmx_gmxx_rxx_stats_octs_s cn58xx; 4281 struct cvmx_gmxx_rxx_stats_octs_s cn58xxp1; 4282 struct cvmx_gmxx_rxx_stats_octs_s cn61xx; 4283 struct cvmx_gmxx_rxx_stats_octs_s cn63xx; 4284 struct cvmx_gmxx_rxx_stats_octs_s cn63xxp1; 4285 struct cvmx_gmxx_rxx_stats_octs_s cn66xx; 4286 struct cvmx_gmxx_rxx_stats_octs_s cn68xx; 4287 struct cvmx_gmxx_rxx_stats_octs_s cn68xxp1; 4288 struct cvmx_gmxx_rxx_stats_octs_s cnf71xx; 4289 }; 4290 4291 union cvmx_gmxx_rxx_stats_octs_ctl { 4292 uint64_t u64; 4293 struct cvmx_gmxx_rxx_stats_octs_ctl_s { 4294 #ifdef __BIG_ENDIAN_BITFIELD 4295 uint64_t reserved_48_63:16; 4296 uint64_t cnt:48; 4297 #else 4298 uint64_t cnt:48; 4299 uint64_t reserved_48_63:16; 4300 #endif 4301 } s; 4302 struct cvmx_gmxx_rxx_stats_octs_ctl_s cn30xx; 4303 struct cvmx_gmxx_rxx_stats_octs_ctl_s cn31xx; 4304 struct cvmx_gmxx_rxx_stats_octs_ctl_s cn38xx; 4305 struct cvmx_gmxx_rxx_stats_octs_ctl_s cn38xxp2; 4306 struct cvmx_gmxx_rxx_stats_octs_ctl_s cn50xx; 4307 struct cvmx_gmxx_rxx_stats_octs_ctl_s cn52xx; 4308 struct cvmx_gmxx_rxx_stats_octs_ctl_s cn52xxp1; 4309 struct cvmx_gmxx_rxx_stats_octs_ctl_s cn56xx; 4310 struct cvmx_gmxx_rxx_stats_octs_ctl_s cn56xxp1; 4311 struct cvmx_gmxx_rxx_stats_octs_ctl_s cn58xx; 4312 struct cvmx_gmxx_rxx_stats_octs_ctl_s cn58xxp1; 4313 struct cvmx_gmxx_rxx_stats_octs_ctl_s cn61xx; 4314 struct cvmx_gmxx_rxx_stats_octs_ctl_s cn63xx; 4315 struct cvmx_gmxx_rxx_stats_octs_ctl_s cn63xxp1; 4316 struct cvmx_gmxx_rxx_stats_octs_ctl_s cn66xx; 4317 struct cvmx_gmxx_rxx_stats_octs_ctl_s cn68xx; 4318 struct cvmx_gmxx_rxx_stats_octs_ctl_s cn68xxp1; 4319 struct cvmx_gmxx_rxx_stats_octs_ctl_s cnf71xx; 4320 }; 4321 4322 union cvmx_gmxx_rxx_stats_octs_dmac { 4323 uint64_t u64; 4324 struct cvmx_gmxx_rxx_stats_octs_dmac_s { 4325 #ifdef __BIG_ENDIAN_BITFIELD 4326 uint64_t reserved_48_63:16; 4327 uint64_t cnt:48; 4328 #else 4329 uint64_t cnt:48; 4330 uint64_t reserved_48_63:16; 4331 #endif 4332 } s; 4333 struct cvmx_gmxx_rxx_stats_octs_dmac_s cn30xx; 4334 struct cvmx_gmxx_rxx_stats_octs_dmac_s cn31xx; 4335 struct cvmx_gmxx_rxx_stats_octs_dmac_s cn38xx; 4336 struct cvmx_gmxx_rxx_stats_octs_dmac_s cn38xxp2; 4337 struct cvmx_gmxx_rxx_stats_octs_dmac_s cn50xx; 4338 struct cvmx_gmxx_rxx_stats_octs_dmac_s cn52xx; 4339 struct cvmx_gmxx_rxx_stats_octs_dmac_s cn52xxp1; 4340 struct cvmx_gmxx_rxx_stats_octs_dmac_s cn56xx; 4341 struct cvmx_gmxx_rxx_stats_octs_dmac_s cn56xxp1; 4342 struct cvmx_gmxx_rxx_stats_octs_dmac_s cn58xx; 4343 struct cvmx_gmxx_rxx_stats_octs_dmac_s cn58xxp1; 4344 struct cvmx_gmxx_rxx_stats_octs_dmac_s cn61xx; 4345 struct cvmx_gmxx_rxx_stats_octs_dmac_s cn63xx; 4346 struct cvmx_gmxx_rxx_stats_octs_dmac_s cn63xxp1; 4347 struct cvmx_gmxx_rxx_stats_octs_dmac_s cn66xx; 4348 struct cvmx_gmxx_rxx_stats_octs_dmac_s cn68xx; 4349 struct cvmx_gmxx_rxx_stats_octs_dmac_s cn68xxp1; 4350 struct cvmx_gmxx_rxx_stats_octs_dmac_s cnf71xx; 4351 }; 4352 4353 union cvmx_gmxx_rxx_stats_octs_drp { 4354 uint64_t u64; 4355 struct cvmx_gmxx_rxx_stats_octs_drp_s { 4356 #ifdef __BIG_ENDIAN_BITFIELD 4357 uint64_t reserved_48_63:16; 4358 uint64_t cnt:48; 4359 #else 4360 uint64_t cnt:48; 4361 uint64_t reserved_48_63:16; 4362 #endif 4363 } s; 4364 struct cvmx_gmxx_rxx_stats_octs_drp_s cn30xx; 4365 struct cvmx_gmxx_rxx_stats_octs_drp_s cn31xx; 4366 struct cvmx_gmxx_rxx_stats_octs_drp_s cn38xx; 4367 struct cvmx_gmxx_rxx_stats_octs_drp_s cn38xxp2; 4368 struct cvmx_gmxx_rxx_stats_octs_drp_s cn50xx; 4369 struct cvmx_gmxx_rxx_stats_octs_drp_s cn52xx; 4370 struct cvmx_gmxx_rxx_stats_octs_drp_s cn52xxp1; 4371 struct cvmx_gmxx_rxx_stats_octs_drp_s cn56xx; 4372 struct cvmx_gmxx_rxx_stats_octs_drp_s cn56xxp1; 4373 struct cvmx_gmxx_rxx_stats_octs_drp_s cn58xx; 4374 struct cvmx_gmxx_rxx_stats_octs_drp_s cn58xxp1; 4375 struct cvmx_gmxx_rxx_stats_octs_drp_s cn61xx; 4376 struct cvmx_gmxx_rxx_stats_octs_drp_s cn63xx; 4377 struct cvmx_gmxx_rxx_stats_octs_drp_s cn63xxp1; 4378 struct cvmx_gmxx_rxx_stats_octs_drp_s cn66xx; 4379 struct cvmx_gmxx_rxx_stats_octs_drp_s cn68xx; 4380 struct cvmx_gmxx_rxx_stats_octs_drp_s cn68xxp1; 4381 struct cvmx_gmxx_rxx_stats_octs_drp_s cnf71xx; 4382 }; 4383 4384 union cvmx_gmxx_rxx_stats_pkts { 4385 uint64_t u64; 4386 struct cvmx_gmxx_rxx_stats_pkts_s { 4387 #ifdef __BIG_ENDIAN_BITFIELD 4388 uint64_t reserved_32_63:32; 4389 uint64_t cnt:32; 4390 #else 4391 uint64_t cnt:32; 4392 uint64_t reserved_32_63:32; 4393 #endif 4394 } s; 4395 struct cvmx_gmxx_rxx_stats_pkts_s cn30xx; 4396 struct cvmx_gmxx_rxx_stats_pkts_s cn31xx; 4397 struct cvmx_gmxx_rxx_stats_pkts_s cn38xx; 4398 struct cvmx_gmxx_rxx_stats_pkts_s cn38xxp2; 4399 struct cvmx_gmxx_rxx_stats_pkts_s cn50xx; 4400 struct cvmx_gmxx_rxx_stats_pkts_s cn52xx; 4401 struct cvmx_gmxx_rxx_stats_pkts_s cn52xxp1; 4402 struct cvmx_gmxx_rxx_stats_pkts_s cn56xx; 4403 struct cvmx_gmxx_rxx_stats_pkts_s cn56xxp1; 4404 struct cvmx_gmxx_rxx_stats_pkts_s cn58xx; 4405 struct cvmx_gmxx_rxx_stats_pkts_s cn58xxp1; 4406 struct cvmx_gmxx_rxx_stats_pkts_s cn61xx; 4407 struct cvmx_gmxx_rxx_stats_pkts_s cn63xx; 4408 struct cvmx_gmxx_rxx_stats_pkts_s cn63xxp1; 4409 struct cvmx_gmxx_rxx_stats_pkts_s cn66xx; 4410 struct cvmx_gmxx_rxx_stats_pkts_s cn68xx; 4411 struct cvmx_gmxx_rxx_stats_pkts_s cn68xxp1; 4412 struct cvmx_gmxx_rxx_stats_pkts_s cnf71xx; 4413 }; 4414 4415 union cvmx_gmxx_rxx_stats_pkts_bad { 4416 uint64_t u64; 4417 struct cvmx_gmxx_rxx_stats_pkts_bad_s { 4418 #ifdef __BIG_ENDIAN_BITFIELD 4419 uint64_t reserved_32_63:32; 4420 uint64_t cnt:32; 4421 #else 4422 uint64_t cnt:32; 4423 uint64_t reserved_32_63:32; 4424 #endif 4425 } s; 4426 struct cvmx_gmxx_rxx_stats_pkts_bad_s cn30xx; 4427 struct cvmx_gmxx_rxx_stats_pkts_bad_s cn31xx; 4428 struct cvmx_gmxx_rxx_stats_pkts_bad_s cn38xx; 4429 struct cvmx_gmxx_rxx_stats_pkts_bad_s cn38xxp2; 4430 struct cvmx_gmxx_rxx_stats_pkts_bad_s cn50xx; 4431 struct cvmx_gmxx_rxx_stats_pkts_bad_s cn52xx; 4432 struct cvmx_gmxx_rxx_stats_pkts_bad_s cn52xxp1; 4433 struct cvmx_gmxx_rxx_stats_pkts_bad_s cn56xx; 4434 struct cvmx_gmxx_rxx_stats_pkts_bad_s cn56xxp1; 4435 struct cvmx_gmxx_rxx_stats_pkts_bad_s cn58xx; 4436 struct cvmx_gmxx_rxx_stats_pkts_bad_s cn58xxp1; 4437 struct cvmx_gmxx_rxx_stats_pkts_bad_s cn61xx; 4438 struct cvmx_gmxx_rxx_stats_pkts_bad_s cn63xx; 4439 struct cvmx_gmxx_rxx_stats_pkts_bad_s cn63xxp1; 4440 struct cvmx_gmxx_rxx_stats_pkts_bad_s cn66xx; 4441 struct cvmx_gmxx_rxx_stats_pkts_bad_s cn68xx; 4442 struct cvmx_gmxx_rxx_stats_pkts_bad_s cn68xxp1; 4443 struct cvmx_gmxx_rxx_stats_pkts_bad_s cnf71xx; 4444 }; 4445 4446 union cvmx_gmxx_rxx_stats_pkts_ctl { 4447 uint64_t u64; 4448 struct cvmx_gmxx_rxx_stats_pkts_ctl_s { 4449 #ifdef __BIG_ENDIAN_BITFIELD 4450 uint64_t reserved_32_63:32; 4451 uint64_t cnt:32; 4452 #else 4453 uint64_t cnt:32; 4454 uint64_t reserved_32_63:32; 4455 #endif 4456 } s; 4457 struct cvmx_gmxx_rxx_stats_pkts_ctl_s cn30xx; 4458 struct cvmx_gmxx_rxx_stats_pkts_ctl_s cn31xx; 4459 struct cvmx_gmxx_rxx_stats_pkts_ctl_s cn38xx; 4460 struct cvmx_gmxx_rxx_stats_pkts_ctl_s cn38xxp2; 4461 struct cvmx_gmxx_rxx_stats_pkts_ctl_s cn50xx; 4462 struct cvmx_gmxx_rxx_stats_pkts_ctl_s cn52xx; 4463 struct cvmx_gmxx_rxx_stats_pkts_ctl_s cn52xxp1; 4464 struct cvmx_gmxx_rxx_stats_pkts_ctl_s cn56xx; 4465 struct cvmx_gmxx_rxx_stats_pkts_ctl_s cn56xxp1; 4466 struct cvmx_gmxx_rxx_stats_pkts_ctl_s cn58xx; 4467 struct cvmx_gmxx_rxx_stats_pkts_ctl_s cn58xxp1; 4468 struct cvmx_gmxx_rxx_stats_pkts_ctl_s cn61xx; 4469 struct cvmx_gmxx_rxx_stats_pkts_ctl_s cn63xx; 4470 struct cvmx_gmxx_rxx_stats_pkts_ctl_s cn63xxp1; 4471 struct cvmx_gmxx_rxx_stats_pkts_ctl_s cn66xx; 4472 struct cvmx_gmxx_rxx_stats_pkts_ctl_s cn68xx; 4473 struct cvmx_gmxx_rxx_stats_pkts_ctl_s cn68xxp1; 4474 struct cvmx_gmxx_rxx_stats_pkts_ctl_s cnf71xx; 4475 }; 4476 4477 union cvmx_gmxx_rxx_stats_pkts_dmac { 4478 uint64_t u64; 4479 struct cvmx_gmxx_rxx_stats_pkts_dmac_s { 4480 #ifdef __BIG_ENDIAN_BITFIELD 4481 uint64_t reserved_32_63:32; 4482 uint64_t cnt:32; 4483 #else 4484 uint64_t cnt:32; 4485 uint64_t reserved_32_63:32; 4486 #endif 4487 } s; 4488 struct cvmx_gmxx_rxx_stats_pkts_dmac_s cn30xx; 4489 struct cvmx_gmxx_rxx_stats_pkts_dmac_s cn31xx; 4490 struct cvmx_gmxx_rxx_stats_pkts_dmac_s cn38xx; 4491 struct cvmx_gmxx_rxx_stats_pkts_dmac_s cn38xxp2; 4492 struct cvmx_gmxx_rxx_stats_pkts_dmac_s cn50xx; 4493 struct cvmx_gmxx_rxx_stats_pkts_dmac_s cn52xx; 4494 struct cvmx_gmxx_rxx_stats_pkts_dmac_s cn52xxp1; 4495 struct cvmx_gmxx_rxx_stats_pkts_dmac_s cn56xx; 4496 struct cvmx_gmxx_rxx_stats_pkts_dmac_s cn56xxp1; 4497 struct cvmx_gmxx_rxx_stats_pkts_dmac_s cn58xx; 4498 struct cvmx_gmxx_rxx_stats_pkts_dmac_s cn58xxp1; 4499 struct cvmx_gmxx_rxx_stats_pkts_dmac_s cn61xx; 4500 struct cvmx_gmxx_rxx_stats_pkts_dmac_s cn63xx; 4501 struct cvmx_gmxx_rxx_stats_pkts_dmac_s cn63xxp1; 4502 struct cvmx_gmxx_rxx_stats_pkts_dmac_s cn66xx; 4503 struct cvmx_gmxx_rxx_stats_pkts_dmac_s cn68xx; 4504 struct cvmx_gmxx_rxx_stats_pkts_dmac_s cn68xxp1; 4505 struct cvmx_gmxx_rxx_stats_pkts_dmac_s cnf71xx; 4506 }; 4507 4508 union cvmx_gmxx_rxx_stats_pkts_drp { 4509 uint64_t u64; 4510 struct cvmx_gmxx_rxx_stats_pkts_drp_s { 4511 #ifdef __BIG_ENDIAN_BITFIELD 4512 uint64_t reserved_32_63:32; 4513 uint64_t cnt:32; 4514 #else 4515 uint64_t cnt:32; 4516 uint64_t reserved_32_63:32; 4517 #endif 4518 } s; 4519 struct cvmx_gmxx_rxx_stats_pkts_drp_s cn30xx; 4520 struct cvmx_gmxx_rxx_stats_pkts_drp_s cn31xx; 4521 struct cvmx_gmxx_rxx_stats_pkts_drp_s cn38xx; 4522 struct cvmx_gmxx_rxx_stats_pkts_drp_s cn38xxp2; 4523 struct cvmx_gmxx_rxx_stats_pkts_drp_s cn50xx; 4524 struct cvmx_gmxx_rxx_stats_pkts_drp_s cn52xx; 4525 struct cvmx_gmxx_rxx_stats_pkts_drp_s cn52xxp1; 4526 struct cvmx_gmxx_rxx_stats_pkts_drp_s cn56xx; 4527 struct cvmx_gmxx_rxx_stats_pkts_drp_s cn56xxp1; 4528 struct cvmx_gmxx_rxx_stats_pkts_drp_s cn58xx; 4529 struct cvmx_gmxx_rxx_stats_pkts_drp_s cn58xxp1; 4530 struct cvmx_gmxx_rxx_stats_pkts_drp_s cn61xx; 4531 struct cvmx_gmxx_rxx_stats_pkts_drp_s cn63xx; 4532 struct cvmx_gmxx_rxx_stats_pkts_drp_s cn63xxp1; 4533 struct cvmx_gmxx_rxx_stats_pkts_drp_s cn66xx; 4534 struct cvmx_gmxx_rxx_stats_pkts_drp_s cn68xx; 4535 struct cvmx_gmxx_rxx_stats_pkts_drp_s cn68xxp1; 4536 struct cvmx_gmxx_rxx_stats_pkts_drp_s cnf71xx; 4537 }; 4538 4539 union cvmx_gmxx_rxx_udd_skp { 4540 uint64_t u64; 4541 struct cvmx_gmxx_rxx_udd_skp_s { 4542 #ifdef __BIG_ENDIAN_BITFIELD 4543 uint64_t reserved_9_63:55; 4544 uint64_t fcssel:1; 4545 uint64_t reserved_7_7:1; 4546 uint64_t len:7; 4547 #else 4548 uint64_t len:7; 4549 uint64_t reserved_7_7:1; 4550 uint64_t fcssel:1; 4551 uint64_t reserved_9_63:55; 4552 #endif 4553 } s; 4554 struct cvmx_gmxx_rxx_udd_skp_s cn30xx; 4555 struct cvmx_gmxx_rxx_udd_skp_s cn31xx; 4556 struct cvmx_gmxx_rxx_udd_skp_s cn38xx; 4557 struct cvmx_gmxx_rxx_udd_skp_s cn38xxp2; 4558 struct cvmx_gmxx_rxx_udd_skp_s cn50xx; 4559 struct cvmx_gmxx_rxx_udd_skp_s cn52xx; 4560 struct cvmx_gmxx_rxx_udd_skp_s cn52xxp1; 4561 struct cvmx_gmxx_rxx_udd_skp_s cn56xx; 4562 struct cvmx_gmxx_rxx_udd_skp_s cn56xxp1; 4563 struct cvmx_gmxx_rxx_udd_skp_s cn58xx; 4564 struct cvmx_gmxx_rxx_udd_skp_s cn58xxp1; 4565 struct cvmx_gmxx_rxx_udd_skp_s cn61xx; 4566 struct cvmx_gmxx_rxx_udd_skp_s cn63xx; 4567 struct cvmx_gmxx_rxx_udd_skp_s cn63xxp1; 4568 struct cvmx_gmxx_rxx_udd_skp_s cn66xx; 4569 struct cvmx_gmxx_rxx_udd_skp_s cn68xx; 4570 struct cvmx_gmxx_rxx_udd_skp_s cn68xxp1; 4571 struct cvmx_gmxx_rxx_udd_skp_s cnf71xx; 4572 }; 4573 4574 union cvmx_gmxx_rx_bp_dropx { 4575 uint64_t u64; 4576 struct cvmx_gmxx_rx_bp_dropx_s { 4577 #ifdef __BIG_ENDIAN_BITFIELD 4578 uint64_t reserved_6_63:58; 4579 uint64_t mark:6; 4580 #else 4581 uint64_t mark:6; 4582 uint64_t reserved_6_63:58; 4583 #endif 4584 } s; 4585 struct cvmx_gmxx_rx_bp_dropx_s cn30xx; 4586 struct cvmx_gmxx_rx_bp_dropx_s cn31xx; 4587 struct cvmx_gmxx_rx_bp_dropx_s cn38xx; 4588 struct cvmx_gmxx_rx_bp_dropx_s cn38xxp2; 4589 struct cvmx_gmxx_rx_bp_dropx_s cn50xx; 4590 struct cvmx_gmxx_rx_bp_dropx_s cn52xx; 4591 struct cvmx_gmxx_rx_bp_dropx_s cn52xxp1; 4592 struct cvmx_gmxx_rx_bp_dropx_s cn56xx; 4593 struct cvmx_gmxx_rx_bp_dropx_s cn56xxp1; 4594 struct cvmx_gmxx_rx_bp_dropx_s cn58xx; 4595 struct cvmx_gmxx_rx_bp_dropx_s cn58xxp1; 4596 struct cvmx_gmxx_rx_bp_dropx_s cn61xx; 4597 struct cvmx_gmxx_rx_bp_dropx_s cn63xx; 4598 struct cvmx_gmxx_rx_bp_dropx_s cn63xxp1; 4599 struct cvmx_gmxx_rx_bp_dropx_s cn66xx; 4600 struct cvmx_gmxx_rx_bp_dropx_s cn68xx; 4601 struct cvmx_gmxx_rx_bp_dropx_s cn68xxp1; 4602 struct cvmx_gmxx_rx_bp_dropx_s cnf71xx; 4603 }; 4604 4605 union cvmx_gmxx_rx_bp_offx { 4606 uint64_t u64; 4607 struct cvmx_gmxx_rx_bp_offx_s { 4608 #ifdef __BIG_ENDIAN_BITFIELD 4609 uint64_t reserved_6_63:58; 4610 uint64_t mark:6; 4611 #else 4612 uint64_t mark:6; 4613 uint64_t reserved_6_63:58; 4614 #endif 4615 } s; 4616 struct cvmx_gmxx_rx_bp_offx_s cn30xx; 4617 struct cvmx_gmxx_rx_bp_offx_s cn31xx; 4618 struct cvmx_gmxx_rx_bp_offx_s cn38xx; 4619 struct cvmx_gmxx_rx_bp_offx_s cn38xxp2; 4620 struct cvmx_gmxx_rx_bp_offx_s cn50xx; 4621 struct cvmx_gmxx_rx_bp_offx_s cn52xx; 4622 struct cvmx_gmxx_rx_bp_offx_s cn52xxp1; 4623 struct cvmx_gmxx_rx_bp_offx_s cn56xx; 4624 struct cvmx_gmxx_rx_bp_offx_s cn56xxp1; 4625 struct cvmx_gmxx_rx_bp_offx_s cn58xx; 4626 struct cvmx_gmxx_rx_bp_offx_s cn58xxp1; 4627 struct cvmx_gmxx_rx_bp_offx_s cn61xx; 4628 struct cvmx_gmxx_rx_bp_offx_s cn63xx; 4629 struct cvmx_gmxx_rx_bp_offx_s cn63xxp1; 4630 struct cvmx_gmxx_rx_bp_offx_s cn66xx; 4631 struct cvmx_gmxx_rx_bp_offx_s cn68xx; 4632 struct cvmx_gmxx_rx_bp_offx_s cn68xxp1; 4633 struct cvmx_gmxx_rx_bp_offx_s cnf71xx; 4634 }; 4635 4636 union cvmx_gmxx_rx_bp_onx { 4637 uint64_t u64; 4638 struct cvmx_gmxx_rx_bp_onx_s { 4639 #ifdef __BIG_ENDIAN_BITFIELD 4640 uint64_t reserved_11_63:53; 4641 uint64_t mark:11; 4642 #else 4643 uint64_t mark:11; 4644 uint64_t reserved_11_63:53; 4645 #endif 4646 } s; 4647 struct cvmx_gmxx_rx_bp_onx_cn30xx { 4648 #ifdef __BIG_ENDIAN_BITFIELD 4649 uint64_t reserved_9_63:55; 4650 uint64_t mark:9; 4651 #else 4652 uint64_t mark:9; 4653 uint64_t reserved_9_63:55; 4654 #endif 4655 } cn30xx; 4656 struct cvmx_gmxx_rx_bp_onx_cn30xx cn31xx; 4657 struct cvmx_gmxx_rx_bp_onx_cn30xx cn38xx; 4658 struct cvmx_gmxx_rx_bp_onx_cn30xx cn38xxp2; 4659 struct cvmx_gmxx_rx_bp_onx_cn30xx cn50xx; 4660 struct cvmx_gmxx_rx_bp_onx_cn30xx cn52xx; 4661 struct cvmx_gmxx_rx_bp_onx_cn30xx cn52xxp1; 4662 struct cvmx_gmxx_rx_bp_onx_cn30xx cn56xx; 4663 struct cvmx_gmxx_rx_bp_onx_cn30xx cn56xxp1; 4664 struct cvmx_gmxx_rx_bp_onx_cn30xx cn58xx; 4665 struct cvmx_gmxx_rx_bp_onx_cn30xx cn58xxp1; 4666 struct cvmx_gmxx_rx_bp_onx_cn30xx cn61xx; 4667 struct cvmx_gmxx_rx_bp_onx_cn30xx cn63xx; 4668 struct cvmx_gmxx_rx_bp_onx_cn30xx cn63xxp1; 4669 struct cvmx_gmxx_rx_bp_onx_cn30xx cn66xx; 4670 struct cvmx_gmxx_rx_bp_onx_s cn68xx; 4671 struct cvmx_gmxx_rx_bp_onx_s cn68xxp1; 4672 struct cvmx_gmxx_rx_bp_onx_cn30xx cnf71xx; 4673 }; 4674 4675 union cvmx_gmxx_rx_hg2_status { 4676 uint64_t u64; 4677 struct cvmx_gmxx_rx_hg2_status_s { 4678 #ifdef __BIG_ENDIAN_BITFIELD 4679 uint64_t reserved_48_63:16; 4680 uint64_t phtim2go:16; 4681 uint64_t xof:16; 4682 uint64_t lgtim2go:16; 4683 #else 4684 uint64_t lgtim2go:16; 4685 uint64_t xof:16; 4686 uint64_t phtim2go:16; 4687 uint64_t reserved_48_63:16; 4688 #endif 4689 } s; 4690 struct cvmx_gmxx_rx_hg2_status_s cn52xx; 4691 struct cvmx_gmxx_rx_hg2_status_s cn52xxp1; 4692 struct cvmx_gmxx_rx_hg2_status_s cn56xx; 4693 struct cvmx_gmxx_rx_hg2_status_s cn61xx; 4694 struct cvmx_gmxx_rx_hg2_status_s cn63xx; 4695 struct cvmx_gmxx_rx_hg2_status_s cn63xxp1; 4696 struct cvmx_gmxx_rx_hg2_status_s cn66xx; 4697 struct cvmx_gmxx_rx_hg2_status_s cn68xx; 4698 struct cvmx_gmxx_rx_hg2_status_s cn68xxp1; 4699 struct cvmx_gmxx_rx_hg2_status_s cnf71xx; 4700 }; 4701 4702 union cvmx_gmxx_rx_pass_en { 4703 uint64_t u64; 4704 struct cvmx_gmxx_rx_pass_en_s { 4705 #ifdef __BIG_ENDIAN_BITFIELD 4706 uint64_t reserved_16_63:48; 4707 uint64_t en:16; 4708 #else 4709 uint64_t en:16; 4710 uint64_t reserved_16_63:48; 4711 #endif 4712 } s; 4713 struct cvmx_gmxx_rx_pass_en_s cn38xx; 4714 struct cvmx_gmxx_rx_pass_en_s cn38xxp2; 4715 struct cvmx_gmxx_rx_pass_en_s cn58xx; 4716 struct cvmx_gmxx_rx_pass_en_s cn58xxp1; 4717 }; 4718 4719 union cvmx_gmxx_rx_pass_mapx { 4720 uint64_t u64; 4721 struct cvmx_gmxx_rx_pass_mapx_s { 4722 #ifdef __BIG_ENDIAN_BITFIELD 4723 uint64_t reserved_4_63:60; 4724 uint64_t dprt:4; 4725 #else 4726 uint64_t dprt:4; 4727 uint64_t reserved_4_63:60; 4728 #endif 4729 } s; 4730 struct cvmx_gmxx_rx_pass_mapx_s cn38xx; 4731 struct cvmx_gmxx_rx_pass_mapx_s cn38xxp2; 4732 struct cvmx_gmxx_rx_pass_mapx_s cn58xx; 4733 struct cvmx_gmxx_rx_pass_mapx_s cn58xxp1; 4734 }; 4735 4736 union cvmx_gmxx_rx_prt_info { 4737 uint64_t u64; 4738 struct cvmx_gmxx_rx_prt_info_s { 4739 #ifdef __BIG_ENDIAN_BITFIELD 4740 uint64_t reserved_32_63:32; 4741 uint64_t drop:16; 4742 uint64_t commit:16; 4743 #else 4744 uint64_t commit:16; 4745 uint64_t drop:16; 4746 uint64_t reserved_32_63:32; 4747 #endif 4748 } s; 4749 struct cvmx_gmxx_rx_prt_info_cn30xx { 4750 #ifdef __BIG_ENDIAN_BITFIELD 4751 uint64_t reserved_19_63:45; 4752 uint64_t drop:3; 4753 uint64_t reserved_3_15:13; 4754 uint64_t commit:3; 4755 #else 4756 uint64_t commit:3; 4757 uint64_t reserved_3_15:13; 4758 uint64_t drop:3; 4759 uint64_t reserved_19_63:45; 4760 #endif 4761 } cn30xx; 4762 struct cvmx_gmxx_rx_prt_info_cn30xx cn31xx; 4763 struct cvmx_gmxx_rx_prt_info_s cn38xx; 4764 struct cvmx_gmxx_rx_prt_info_cn30xx cn50xx; 4765 struct cvmx_gmxx_rx_prt_info_cn52xx { 4766 #ifdef __BIG_ENDIAN_BITFIELD 4767 uint64_t reserved_20_63:44; 4768 uint64_t drop:4; 4769 uint64_t reserved_4_15:12; 4770 uint64_t commit:4; 4771 #else 4772 uint64_t commit:4; 4773 uint64_t reserved_4_15:12; 4774 uint64_t drop:4; 4775 uint64_t reserved_20_63:44; 4776 #endif 4777 } cn52xx; 4778 struct cvmx_gmxx_rx_prt_info_cn52xx cn52xxp1; 4779 struct cvmx_gmxx_rx_prt_info_cn52xx cn56xx; 4780 struct cvmx_gmxx_rx_prt_info_cn52xx cn56xxp1; 4781 struct cvmx_gmxx_rx_prt_info_s cn58xx; 4782 struct cvmx_gmxx_rx_prt_info_s cn58xxp1; 4783 struct cvmx_gmxx_rx_prt_info_cn52xx cn61xx; 4784 struct cvmx_gmxx_rx_prt_info_cn52xx cn63xx; 4785 struct cvmx_gmxx_rx_prt_info_cn52xx cn63xxp1; 4786 struct cvmx_gmxx_rx_prt_info_cn52xx cn66xx; 4787 struct cvmx_gmxx_rx_prt_info_cn52xx cn68xx; 4788 struct cvmx_gmxx_rx_prt_info_cn52xx cn68xxp1; 4789 struct cvmx_gmxx_rx_prt_info_cnf71xx { 4790 #ifdef __BIG_ENDIAN_BITFIELD 4791 uint64_t reserved_18_63:46; 4792 uint64_t drop:2; 4793 uint64_t reserved_2_15:14; 4794 uint64_t commit:2; 4795 #else 4796 uint64_t commit:2; 4797 uint64_t reserved_2_15:14; 4798 uint64_t drop:2; 4799 uint64_t reserved_18_63:46; 4800 #endif 4801 } cnf71xx; 4802 }; 4803 4804 union cvmx_gmxx_rx_prts { 4805 uint64_t u64; 4806 struct cvmx_gmxx_rx_prts_s { 4807 #ifdef __BIG_ENDIAN_BITFIELD 4808 uint64_t reserved_3_63:61; 4809 uint64_t prts:3; 4810 #else 4811 uint64_t prts:3; 4812 uint64_t reserved_3_63:61; 4813 #endif 4814 } s; 4815 struct cvmx_gmxx_rx_prts_s cn30xx; 4816 struct cvmx_gmxx_rx_prts_s cn31xx; 4817 struct cvmx_gmxx_rx_prts_s cn38xx; 4818 struct cvmx_gmxx_rx_prts_s cn38xxp2; 4819 struct cvmx_gmxx_rx_prts_s cn50xx; 4820 struct cvmx_gmxx_rx_prts_s cn52xx; 4821 struct cvmx_gmxx_rx_prts_s cn52xxp1; 4822 struct cvmx_gmxx_rx_prts_s cn56xx; 4823 struct cvmx_gmxx_rx_prts_s cn56xxp1; 4824 struct cvmx_gmxx_rx_prts_s cn58xx; 4825 struct cvmx_gmxx_rx_prts_s cn58xxp1; 4826 struct cvmx_gmxx_rx_prts_s cn61xx; 4827 struct cvmx_gmxx_rx_prts_s cn63xx; 4828 struct cvmx_gmxx_rx_prts_s cn63xxp1; 4829 struct cvmx_gmxx_rx_prts_s cn66xx; 4830 struct cvmx_gmxx_rx_prts_s cn68xx; 4831 struct cvmx_gmxx_rx_prts_s cn68xxp1; 4832 struct cvmx_gmxx_rx_prts_s cnf71xx; 4833 }; 4834 4835 union cvmx_gmxx_rx_tx_status { 4836 uint64_t u64; 4837 struct cvmx_gmxx_rx_tx_status_s { 4838 #ifdef __BIG_ENDIAN_BITFIELD 4839 uint64_t reserved_7_63:57; 4840 uint64_t tx:3; 4841 uint64_t reserved_3_3:1; 4842 uint64_t rx:3; 4843 #else 4844 uint64_t rx:3; 4845 uint64_t reserved_3_3:1; 4846 uint64_t tx:3; 4847 uint64_t reserved_7_63:57; 4848 #endif 4849 } s; 4850 struct cvmx_gmxx_rx_tx_status_s cn30xx; 4851 struct cvmx_gmxx_rx_tx_status_s cn31xx; 4852 struct cvmx_gmxx_rx_tx_status_s cn50xx; 4853 }; 4854 4855 union cvmx_gmxx_rx_xaui_bad_col { 4856 uint64_t u64; 4857 struct cvmx_gmxx_rx_xaui_bad_col_s { 4858 #ifdef __BIG_ENDIAN_BITFIELD 4859 uint64_t reserved_40_63:24; 4860 uint64_t val:1; 4861 uint64_t state:3; 4862 uint64_t lane_rxc:4; 4863 uint64_t lane_rxd:32; 4864 #else 4865 uint64_t lane_rxd:32; 4866 uint64_t lane_rxc:4; 4867 uint64_t state:3; 4868 uint64_t val:1; 4869 uint64_t reserved_40_63:24; 4870 #endif 4871 } s; 4872 struct cvmx_gmxx_rx_xaui_bad_col_s cn52xx; 4873 struct cvmx_gmxx_rx_xaui_bad_col_s cn52xxp1; 4874 struct cvmx_gmxx_rx_xaui_bad_col_s cn56xx; 4875 struct cvmx_gmxx_rx_xaui_bad_col_s cn56xxp1; 4876 struct cvmx_gmxx_rx_xaui_bad_col_s cn61xx; 4877 struct cvmx_gmxx_rx_xaui_bad_col_s cn63xx; 4878 struct cvmx_gmxx_rx_xaui_bad_col_s cn63xxp1; 4879 struct cvmx_gmxx_rx_xaui_bad_col_s cn66xx; 4880 struct cvmx_gmxx_rx_xaui_bad_col_s cn68xx; 4881 struct cvmx_gmxx_rx_xaui_bad_col_s cn68xxp1; 4882 struct cvmx_gmxx_rx_xaui_bad_col_s cnf71xx; 4883 }; 4884 4885 union cvmx_gmxx_rx_xaui_ctl { 4886 uint64_t u64; 4887 struct cvmx_gmxx_rx_xaui_ctl_s { 4888 #ifdef __BIG_ENDIAN_BITFIELD 4889 uint64_t reserved_2_63:62; 4890 uint64_t status:2; 4891 #else 4892 uint64_t status:2; 4893 uint64_t reserved_2_63:62; 4894 #endif 4895 } s; 4896 struct cvmx_gmxx_rx_xaui_ctl_s cn52xx; 4897 struct cvmx_gmxx_rx_xaui_ctl_s cn52xxp1; 4898 struct cvmx_gmxx_rx_xaui_ctl_s cn56xx; 4899 struct cvmx_gmxx_rx_xaui_ctl_s cn56xxp1; 4900 struct cvmx_gmxx_rx_xaui_ctl_s cn61xx; 4901 struct cvmx_gmxx_rx_xaui_ctl_s cn63xx; 4902 struct cvmx_gmxx_rx_xaui_ctl_s cn63xxp1; 4903 struct cvmx_gmxx_rx_xaui_ctl_s cn66xx; 4904 struct cvmx_gmxx_rx_xaui_ctl_s cn68xx; 4905 struct cvmx_gmxx_rx_xaui_ctl_s cn68xxp1; 4906 struct cvmx_gmxx_rx_xaui_ctl_s cnf71xx; 4907 }; 4908 4909 union cvmx_gmxx_rxaui_ctl { 4910 uint64_t u64; 4911 struct cvmx_gmxx_rxaui_ctl_s { 4912 #ifdef __BIG_ENDIAN_BITFIELD 4913 uint64_t reserved_1_63:63; 4914 uint64_t disparity:1; 4915 #else 4916 uint64_t disparity:1; 4917 uint64_t reserved_1_63:63; 4918 #endif 4919 } s; 4920 struct cvmx_gmxx_rxaui_ctl_s cn68xx; 4921 struct cvmx_gmxx_rxaui_ctl_s cn68xxp1; 4922 }; 4923 4924 union cvmx_gmxx_smacx { 4925 uint64_t u64; 4926 struct cvmx_gmxx_smacx_s { 4927 #ifdef __BIG_ENDIAN_BITFIELD 4928 uint64_t reserved_48_63:16; 4929 uint64_t smac:48; 4930 #else 4931 uint64_t smac:48; 4932 uint64_t reserved_48_63:16; 4933 #endif 4934 } s; 4935 struct cvmx_gmxx_smacx_s cn30xx; 4936 struct cvmx_gmxx_smacx_s cn31xx; 4937 struct cvmx_gmxx_smacx_s cn38xx; 4938 struct cvmx_gmxx_smacx_s cn38xxp2; 4939 struct cvmx_gmxx_smacx_s cn50xx; 4940 struct cvmx_gmxx_smacx_s cn52xx; 4941 struct cvmx_gmxx_smacx_s cn52xxp1; 4942 struct cvmx_gmxx_smacx_s cn56xx; 4943 struct cvmx_gmxx_smacx_s cn56xxp1; 4944 struct cvmx_gmxx_smacx_s cn58xx; 4945 struct cvmx_gmxx_smacx_s cn58xxp1; 4946 struct cvmx_gmxx_smacx_s cn61xx; 4947 struct cvmx_gmxx_smacx_s cn63xx; 4948 struct cvmx_gmxx_smacx_s cn63xxp1; 4949 struct cvmx_gmxx_smacx_s cn66xx; 4950 struct cvmx_gmxx_smacx_s cn68xx; 4951 struct cvmx_gmxx_smacx_s cn68xxp1; 4952 struct cvmx_gmxx_smacx_s cnf71xx; 4953 }; 4954 4955 union cvmx_gmxx_soft_bist { 4956 uint64_t u64; 4957 struct cvmx_gmxx_soft_bist_s { 4958 #ifdef __BIG_ENDIAN_BITFIELD 4959 uint64_t reserved_2_63:62; 4960 uint64_t start_bist:1; 4961 uint64_t clear_bist:1; 4962 #else 4963 uint64_t clear_bist:1; 4964 uint64_t start_bist:1; 4965 uint64_t reserved_2_63:62; 4966 #endif 4967 } s; 4968 struct cvmx_gmxx_soft_bist_s cn63xx; 4969 struct cvmx_gmxx_soft_bist_s cn63xxp1; 4970 struct cvmx_gmxx_soft_bist_s cn66xx; 4971 struct cvmx_gmxx_soft_bist_s cn68xx; 4972 struct cvmx_gmxx_soft_bist_s cn68xxp1; 4973 }; 4974 4975 union cvmx_gmxx_stat_bp { 4976 uint64_t u64; 4977 struct cvmx_gmxx_stat_bp_s { 4978 #ifdef __BIG_ENDIAN_BITFIELD 4979 uint64_t reserved_17_63:47; 4980 uint64_t bp:1; 4981 uint64_t cnt:16; 4982 #else 4983 uint64_t cnt:16; 4984 uint64_t bp:1; 4985 uint64_t reserved_17_63:47; 4986 #endif 4987 } s; 4988 struct cvmx_gmxx_stat_bp_s cn30xx; 4989 struct cvmx_gmxx_stat_bp_s cn31xx; 4990 struct cvmx_gmxx_stat_bp_s cn38xx; 4991 struct cvmx_gmxx_stat_bp_s cn38xxp2; 4992 struct cvmx_gmxx_stat_bp_s cn50xx; 4993 struct cvmx_gmxx_stat_bp_s cn52xx; 4994 struct cvmx_gmxx_stat_bp_s cn52xxp1; 4995 struct cvmx_gmxx_stat_bp_s cn56xx; 4996 struct cvmx_gmxx_stat_bp_s cn56xxp1; 4997 struct cvmx_gmxx_stat_bp_s cn58xx; 4998 struct cvmx_gmxx_stat_bp_s cn58xxp1; 4999 struct cvmx_gmxx_stat_bp_s cn61xx; 5000 struct cvmx_gmxx_stat_bp_s cn63xx; 5001 struct cvmx_gmxx_stat_bp_s cn63xxp1; 5002 struct cvmx_gmxx_stat_bp_s cn66xx; 5003 struct cvmx_gmxx_stat_bp_s cn68xx; 5004 struct cvmx_gmxx_stat_bp_s cn68xxp1; 5005 struct cvmx_gmxx_stat_bp_s cnf71xx; 5006 }; 5007 5008 union cvmx_gmxx_tb_reg { 5009 uint64_t u64; 5010 struct cvmx_gmxx_tb_reg_s { 5011 #ifdef __BIG_ENDIAN_BITFIELD 5012 uint64_t reserved_1_63:63; 5013 uint64_t wr_magic:1; 5014 #else 5015 uint64_t wr_magic:1; 5016 uint64_t reserved_1_63:63; 5017 #endif 5018 } s; 5019 struct cvmx_gmxx_tb_reg_s cn61xx; 5020 struct cvmx_gmxx_tb_reg_s cn66xx; 5021 struct cvmx_gmxx_tb_reg_s cn68xx; 5022 struct cvmx_gmxx_tb_reg_s cnf71xx; 5023 }; 5024 5025 union cvmx_gmxx_txx_append { 5026 uint64_t u64; 5027 struct cvmx_gmxx_txx_append_s { 5028 #ifdef __BIG_ENDIAN_BITFIELD 5029 uint64_t reserved_4_63:60; 5030 uint64_t force_fcs:1; 5031 uint64_t fcs:1; 5032 uint64_t pad:1; 5033 uint64_t preamble:1; 5034 #else 5035 uint64_t preamble:1; 5036 uint64_t pad:1; 5037 uint64_t fcs:1; 5038 uint64_t force_fcs:1; 5039 uint64_t reserved_4_63:60; 5040 #endif 5041 } s; 5042 struct cvmx_gmxx_txx_append_s cn30xx; 5043 struct cvmx_gmxx_txx_append_s cn31xx; 5044 struct cvmx_gmxx_txx_append_s cn38xx; 5045 struct cvmx_gmxx_txx_append_s cn38xxp2; 5046 struct cvmx_gmxx_txx_append_s cn50xx; 5047 struct cvmx_gmxx_txx_append_s cn52xx; 5048 struct cvmx_gmxx_txx_append_s cn52xxp1; 5049 struct cvmx_gmxx_txx_append_s cn56xx; 5050 struct cvmx_gmxx_txx_append_s cn56xxp1; 5051 struct cvmx_gmxx_txx_append_s cn58xx; 5052 struct cvmx_gmxx_txx_append_s cn58xxp1; 5053 struct cvmx_gmxx_txx_append_s cn61xx; 5054 struct cvmx_gmxx_txx_append_s cn63xx; 5055 struct cvmx_gmxx_txx_append_s cn63xxp1; 5056 struct cvmx_gmxx_txx_append_s cn66xx; 5057 struct cvmx_gmxx_txx_append_s cn68xx; 5058 struct cvmx_gmxx_txx_append_s cn68xxp1; 5059 struct cvmx_gmxx_txx_append_s cnf71xx; 5060 }; 5061 5062 union cvmx_gmxx_txx_burst { 5063 uint64_t u64; 5064 struct cvmx_gmxx_txx_burst_s { 5065 #ifdef __BIG_ENDIAN_BITFIELD 5066 uint64_t reserved_16_63:48; 5067 uint64_t burst:16; 5068 #else 5069 uint64_t burst:16; 5070 uint64_t reserved_16_63:48; 5071 #endif 5072 } s; 5073 struct cvmx_gmxx_txx_burst_s cn30xx; 5074 struct cvmx_gmxx_txx_burst_s cn31xx; 5075 struct cvmx_gmxx_txx_burst_s cn38xx; 5076 struct cvmx_gmxx_txx_burst_s cn38xxp2; 5077 struct cvmx_gmxx_txx_burst_s cn50xx; 5078 struct cvmx_gmxx_txx_burst_s cn52xx; 5079 struct cvmx_gmxx_txx_burst_s cn52xxp1; 5080 struct cvmx_gmxx_txx_burst_s cn56xx; 5081 struct cvmx_gmxx_txx_burst_s cn56xxp1; 5082 struct cvmx_gmxx_txx_burst_s cn58xx; 5083 struct cvmx_gmxx_txx_burst_s cn58xxp1; 5084 struct cvmx_gmxx_txx_burst_s cn61xx; 5085 struct cvmx_gmxx_txx_burst_s cn63xx; 5086 struct cvmx_gmxx_txx_burst_s cn63xxp1; 5087 struct cvmx_gmxx_txx_burst_s cn66xx; 5088 struct cvmx_gmxx_txx_burst_s cn68xx; 5089 struct cvmx_gmxx_txx_burst_s cn68xxp1; 5090 struct cvmx_gmxx_txx_burst_s cnf71xx; 5091 }; 5092 5093 union cvmx_gmxx_txx_cbfc_xoff { 5094 uint64_t u64; 5095 struct cvmx_gmxx_txx_cbfc_xoff_s { 5096 #ifdef __BIG_ENDIAN_BITFIELD 5097 uint64_t reserved_16_63:48; 5098 uint64_t xoff:16; 5099 #else 5100 uint64_t xoff:16; 5101 uint64_t reserved_16_63:48; 5102 #endif 5103 } s; 5104 struct cvmx_gmxx_txx_cbfc_xoff_s cn52xx; 5105 struct cvmx_gmxx_txx_cbfc_xoff_s cn56xx; 5106 struct cvmx_gmxx_txx_cbfc_xoff_s cn61xx; 5107 struct cvmx_gmxx_txx_cbfc_xoff_s cn63xx; 5108 struct cvmx_gmxx_txx_cbfc_xoff_s cn63xxp1; 5109 struct cvmx_gmxx_txx_cbfc_xoff_s cn66xx; 5110 struct cvmx_gmxx_txx_cbfc_xoff_s cn68xx; 5111 struct cvmx_gmxx_txx_cbfc_xoff_s cn68xxp1; 5112 struct cvmx_gmxx_txx_cbfc_xoff_s cnf71xx; 5113 }; 5114 5115 union cvmx_gmxx_txx_cbfc_xon { 5116 uint64_t u64; 5117 struct cvmx_gmxx_txx_cbfc_xon_s { 5118 #ifdef __BIG_ENDIAN_BITFIELD 5119 uint64_t reserved_16_63:48; 5120 uint64_t xon:16; 5121 #else 5122 uint64_t xon:16; 5123 uint64_t reserved_16_63:48; 5124 #endif 5125 } s; 5126 struct cvmx_gmxx_txx_cbfc_xon_s cn52xx; 5127 struct cvmx_gmxx_txx_cbfc_xon_s cn56xx; 5128 struct cvmx_gmxx_txx_cbfc_xon_s cn61xx; 5129 struct cvmx_gmxx_txx_cbfc_xon_s cn63xx; 5130 struct cvmx_gmxx_txx_cbfc_xon_s cn63xxp1; 5131 struct cvmx_gmxx_txx_cbfc_xon_s cn66xx; 5132 struct cvmx_gmxx_txx_cbfc_xon_s cn68xx; 5133 struct cvmx_gmxx_txx_cbfc_xon_s cn68xxp1; 5134 struct cvmx_gmxx_txx_cbfc_xon_s cnf71xx; 5135 }; 5136 5137 union cvmx_gmxx_txx_clk { 5138 uint64_t u64; 5139 struct cvmx_gmxx_txx_clk_s { 5140 #ifdef __BIG_ENDIAN_BITFIELD 5141 uint64_t reserved_6_63:58; 5142 uint64_t clk_cnt:6; 5143 #else 5144 uint64_t clk_cnt:6; 5145 uint64_t reserved_6_63:58; 5146 #endif 5147 } s; 5148 struct cvmx_gmxx_txx_clk_s cn30xx; 5149 struct cvmx_gmxx_txx_clk_s cn31xx; 5150 struct cvmx_gmxx_txx_clk_s cn38xx; 5151 struct cvmx_gmxx_txx_clk_s cn38xxp2; 5152 struct cvmx_gmxx_txx_clk_s cn50xx; 5153 struct cvmx_gmxx_txx_clk_s cn58xx; 5154 struct cvmx_gmxx_txx_clk_s cn58xxp1; 5155 }; 5156 5157 union cvmx_gmxx_txx_ctl { 5158 uint64_t u64; 5159 struct cvmx_gmxx_txx_ctl_s { 5160 #ifdef __BIG_ENDIAN_BITFIELD 5161 uint64_t reserved_2_63:62; 5162 uint64_t xsdef_en:1; 5163 uint64_t xscol_en:1; 5164 #else 5165 uint64_t xscol_en:1; 5166 uint64_t xsdef_en:1; 5167 uint64_t reserved_2_63:62; 5168 #endif 5169 } s; 5170 struct cvmx_gmxx_txx_ctl_s cn30xx; 5171 struct cvmx_gmxx_txx_ctl_s cn31xx; 5172 struct cvmx_gmxx_txx_ctl_s cn38xx; 5173 struct cvmx_gmxx_txx_ctl_s cn38xxp2; 5174 struct cvmx_gmxx_txx_ctl_s cn50xx; 5175 struct cvmx_gmxx_txx_ctl_s cn52xx; 5176 struct cvmx_gmxx_txx_ctl_s cn52xxp1; 5177 struct cvmx_gmxx_txx_ctl_s cn56xx; 5178 struct cvmx_gmxx_txx_ctl_s cn56xxp1; 5179 struct cvmx_gmxx_txx_ctl_s cn58xx; 5180 struct cvmx_gmxx_txx_ctl_s cn58xxp1; 5181 struct cvmx_gmxx_txx_ctl_s cn61xx; 5182 struct cvmx_gmxx_txx_ctl_s cn63xx; 5183 struct cvmx_gmxx_txx_ctl_s cn63xxp1; 5184 struct cvmx_gmxx_txx_ctl_s cn66xx; 5185 struct cvmx_gmxx_txx_ctl_s cn68xx; 5186 struct cvmx_gmxx_txx_ctl_s cn68xxp1; 5187 struct cvmx_gmxx_txx_ctl_s cnf71xx; 5188 }; 5189 5190 union cvmx_gmxx_txx_min_pkt { 5191 uint64_t u64; 5192 struct cvmx_gmxx_txx_min_pkt_s { 5193 #ifdef __BIG_ENDIAN_BITFIELD 5194 uint64_t reserved_8_63:56; 5195 uint64_t min_size:8; 5196 #else 5197 uint64_t min_size:8; 5198 uint64_t reserved_8_63:56; 5199 #endif 5200 } s; 5201 struct cvmx_gmxx_txx_min_pkt_s cn30xx; 5202 struct cvmx_gmxx_txx_min_pkt_s cn31xx; 5203 struct cvmx_gmxx_txx_min_pkt_s cn38xx; 5204 struct cvmx_gmxx_txx_min_pkt_s cn38xxp2; 5205 struct cvmx_gmxx_txx_min_pkt_s cn50xx; 5206 struct cvmx_gmxx_txx_min_pkt_s cn52xx; 5207 struct cvmx_gmxx_txx_min_pkt_s cn52xxp1; 5208 struct cvmx_gmxx_txx_min_pkt_s cn56xx; 5209 struct cvmx_gmxx_txx_min_pkt_s cn56xxp1; 5210 struct cvmx_gmxx_txx_min_pkt_s cn58xx; 5211 struct cvmx_gmxx_txx_min_pkt_s cn58xxp1; 5212 struct cvmx_gmxx_txx_min_pkt_s cn61xx; 5213 struct cvmx_gmxx_txx_min_pkt_s cn63xx; 5214 struct cvmx_gmxx_txx_min_pkt_s cn63xxp1; 5215 struct cvmx_gmxx_txx_min_pkt_s cn66xx; 5216 struct cvmx_gmxx_txx_min_pkt_s cn68xx; 5217 struct cvmx_gmxx_txx_min_pkt_s cn68xxp1; 5218 struct cvmx_gmxx_txx_min_pkt_s cnf71xx; 5219 }; 5220 5221 union cvmx_gmxx_txx_pause_pkt_interval { 5222 uint64_t u64; 5223 struct cvmx_gmxx_txx_pause_pkt_interval_s { 5224 #ifdef __BIG_ENDIAN_BITFIELD 5225 uint64_t reserved_16_63:48; 5226 uint64_t interval:16; 5227 #else 5228 uint64_t interval:16; 5229 uint64_t reserved_16_63:48; 5230 #endif 5231 } s; 5232 struct cvmx_gmxx_txx_pause_pkt_interval_s cn30xx; 5233 struct cvmx_gmxx_txx_pause_pkt_interval_s cn31xx; 5234 struct cvmx_gmxx_txx_pause_pkt_interval_s cn38xx; 5235 struct cvmx_gmxx_txx_pause_pkt_interval_s cn38xxp2; 5236 struct cvmx_gmxx_txx_pause_pkt_interval_s cn50xx; 5237 struct cvmx_gmxx_txx_pause_pkt_interval_s cn52xx; 5238 struct cvmx_gmxx_txx_pause_pkt_interval_s cn52xxp1; 5239 struct cvmx_gmxx_txx_pause_pkt_interval_s cn56xx; 5240 struct cvmx_gmxx_txx_pause_pkt_interval_s cn56xxp1; 5241 struct cvmx_gmxx_txx_pause_pkt_interval_s cn58xx; 5242 struct cvmx_gmxx_txx_pause_pkt_interval_s cn58xxp1; 5243 struct cvmx_gmxx_txx_pause_pkt_interval_s cn61xx; 5244 struct cvmx_gmxx_txx_pause_pkt_interval_s cn63xx; 5245 struct cvmx_gmxx_txx_pause_pkt_interval_s cn63xxp1; 5246 struct cvmx_gmxx_txx_pause_pkt_interval_s cn66xx; 5247 struct cvmx_gmxx_txx_pause_pkt_interval_s cn68xx; 5248 struct cvmx_gmxx_txx_pause_pkt_interval_s cn68xxp1; 5249 struct cvmx_gmxx_txx_pause_pkt_interval_s cnf71xx; 5250 }; 5251 5252 union cvmx_gmxx_txx_pause_pkt_time { 5253 uint64_t u64; 5254 struct cvmx_gmxx_txx_pause_pkt_time_s { 5255 #ifdef __BIG_ENDIAN_BITFIELD 5256 uint64_t reserved_16_63:48; 5257 uint64_t time:16; 5258 #else 5259 uint64_t time:16; 5260 uint64_t reserved_16_63:48; 5261 #endif 5262 } s; 5263 struct cvmx_gmxx_txx_pause_pkt_time_s cn30xx; 5264 struct cvmx_gmxx_txx_pause_pkt_time_s cn31xx; 5265 struct cvmx_gmxx_txx_pause_pkt_time_s cn38xx; 5266 struct cvmx_gmxx_txx_pause_pkt_time_s cn38xxp2; 5267 struct cvmx_gmxx_txx_pause_pkt_time_s cn50xx; 5268 struct cvmx_gmxx_txx_pause_pkt_time_s cn52xx; 5269 struct cvmx_gmxx_txx_pause_pkt_time_s cn52xxp1; 5270 struct cvmx_gmxx_txx_pause_pkt_time_s cn56xx; 5271 struct cvmx_gmxx_txx_pause_pkt_time_s cn56xxp1; 5272 struct cvmx_gmxx_txx_pause_pkt_time_s cn58xx; 5273 struct cvmx_gmxx_txx_pause_pkt_time_s cn58xxp1; 5274 struct cvmx_gmxx_txx_pause_pkt_time_s cn61xx; 5275 struct cvmx_gmxx_txx_pause_pkt_time_s cn63xx; 5276 struct cvmx_gmxx_txx_pause_pkt_time_s cn63xxp1; 5277 struct cvmx_gmxx_txx_pause_pkt_time_s cn66xx; 5278 struct cvmx_gmxx_txx_pause_pkt_time_s cn68xx; 5279 struct cvmx_gmxx_txx_pause_pkt_time_s cn68xxp1; 5280 struct cvmx_gmxx_txx_pause_pkt_time_s cnf71xx; 5281 }; 5282 5283 union cvmx_gmxx_txx_pause_togo { 5284 uint64_t u64; 5285 struct cvmx_gmxx_txx_pause_togo_s { 5286 #ifdef __BIG_ENDIAN_BITFIELD 5287 uint64_t reserved_32_63:32; 5288 uint64_t msg_time:16; 5289 uint64_t time:16; 5290 #else 5291 uint64_t time:16; 5292 uint64_t msg_time:16; 5293 uint64_t reserved_32_63:32; 5294 #endif 5295 } s; 5296 struct cvmx_gmxx_txx_pause_togo_cn30xx { 5297 #ifdef __BIG_ENDIAN_BITFIELD 5298 uint64_t reserved_16_63:48; 5299 uint64_t time:16; 5300 #else 5301 uint64_t time:16; 5302 uint64_t reserved_16_63:48; 5303 #endif 5304 } cn30xx; 5305 struct cvmx_gmxx_txx_pause_togo_cn30xx cn31xx; 5306 struct cvmx_gmxx_txx_pause_togo_cn30xx cn38xx; 5307 struct cvmx_gmxx_txx_pause_togo_cn30xx cn38xxp2; 5308 struct cvmx_gmxx_txx_pause_togo_cn30xx cn50xx; 5309 struct cvmx_gmxx_txx_pause_togo_s cn52xx; 5310 struct cvmx_gmxx_txx_pause_togo_s cn52xxp1; 5311 struct cvmx_gmxx_txx_pause_togo_s cn56xx; 5312 struct cvmx_gmxx_txx_pause_togo_cn30xx cn56xxp1; 5313 struct cvmx_gmxx_txx_pause_togo_cn30xx cn58xx; 5314 struct cvmx_gmxx_txx_pause_togo_cn30xx cn58xxp1; 5315 struct cvmx_gmxx_txx_pause_togo_s cn61xx; 5316 struct cvmx_gmxx_txx_pause_togo_s cn63xx; 5317 struct cvmx_gmxx_txx_pause_togo_s cn63xxp1; 5318 struct cvmx_gmxx_txx_pause_togo_s cn66xx; 5319 struct cvmx_gmxx_txx_pause_togo_s cn68xx; 5320 struct cvmx_gmxx_txx_pause_togo_s cn68xxp1; 5321 struct cvmx_gmxx_txx_pause_togo_s cnf71xx; 5322 }; 5323 5324 union cvmx_gmxx_txx_pause_zero { 5325 uint64_t u64; 5326 struct cvmx_gmxx_txx_pause_zero_s { 5327 #ifdef __BIG_ENDIAN_BITFIELD 5328 uint64_t reserved_1_63:63; 5329 uint64_t send:1; 5330 #else 5331 uint64_t send:1; 5332 uint64_t reserved_1_63:63; 5333 #endif 5334 } s; 5335 struct cvmx_gmxx_txx_pause_zero_s cn30xx; 5336 struct cvmx_gmxx_txx_pause_zero_s cn31xx; 5337 struct cvmx_gmxx_txx_pause_zero_s cn38xx; 5338 struct cvmx_gmxx_txx_pause_zero_s cn38xxp2; 5339 struct cvmx_gmxx_txx_pause_zero_s cn50xx; 5340 struct cvmx_gmxx_txx_pause_zero_s cn52xx; 5341 struct cvmx_gmxx_txx_pause_zero_s cn52xxp1; 5342 struct cvmx_gmxx_txx_pause_zero_s cn56xx; 5343 struct cvmx_gmxx_txx_pause_zero_s cn56xxp1; 5344 struct cvmx_gmxx_txx_pause_zero_s cn58xx; 5345 struct cvmx_gmxx_txx_pause_zero_s cn58xxp1; 5346 struct cvmx_gmxx_txx_pause_zero_s cn61xx; 5347 struct cvmx_gmxx_txx_pause_zero_s cn63xx; 5348 struct cvmx_gmxx_txx_pause_zero_s cn63xxp1; 5349 struct cvmx_gmxx_txx_pause_zero_s cn66xx; 5350 struct cvmx_gmxx_txx_pause_zero_s cn68xx; 5351 struct cvmx_gmxx_txx_pause_zero_s cn68xxp1; 5352 struct cvmx_gmxx_txx_pause_zero_s cnf71xx; 5353 }; 5354 5355 union cvmx_gmxx_txx_pipe { 5356 uint64_t u64; 5357 struct cvmx_gmxx_txx_pipe_s { 5358 #ifdef __BIG_ENDIAN_BITFIELD 5359 uint64_t reserved_33_63:31; 5360 uint64_t ign_bp:1; 5361 uint64_t reserved_21_31:11; 5362 uint64_t nump:5; 5363 uint64_t reserved_7_15:9; 5364 uint64_t base:7; 5365 #else 5366 uint64_t base:7; 5367 uint64_t reserved_7_15:9; 5368 uint64_t nump:5; 5369 uint64_t reserved_21_31:11; 5370 uint64_t ign_bp:1; 5371 uint64_t reserved_33_63:31; 5372 #endif 5373 } s; 5374 struct cvmx_gmxx_txx_pipe_s cn68xx; 5375 struct cvmx_gmxx_txx_pipe_s cn68xxp1; 5376 }; 5377 5378 union cvmx_gmxx_txx_sgmii_ctl { 5379 uint64_t u64; 5380 struct cvmx_gmxx_txx_sgmii_ctl_s { 5381 #ifdef __BIG_ENDIAN_BITFIELD 5382 uint64_t reserved_1_63:63; 5383 uint64_t align:1; 5384 #else 5385 uint64_t align:1; 5386 uint64_t reserved_1_63:63; 5387 #endif 5388 } s; 5389 struct cvmx_gmxx_txx_sgmii_ctl_s cn52xx; 5390 struct cvmx_gmxx_txx_sgmii_ctl_s cn52xxp1; 5391 struct cvmx_gmxx_txx_sgmii_ctl_s cn56xx; 5392 struct cvmx_gmxx_txx_sgmii_ctl_s cn56xxp1; 5393 struct cvmx_gmxx_txx_sgmii_ctl_s cn61xx; 5394 struct cvmx_gmxx_txx_sgmii_ctl_s cn63xx; 5395 struct cvmx_gmxx_txx_sgmii_ctl_s cn63xxp1; 5396 struct cvmx_gmxx_txx_sgmii_ctl_s cn66xx; 5397 struct cvmx_gmxx_txx_sgmii_ctl_s cn68xx; 5398 struct cvmx_gmxx_txx_sgmii_ctl_s cn68xxp1; 5399 struct cvmx_gmxx_txx_sgmii_ctl_s cnf71xx; 5400 }; 5401 5402 union cvmx_gmxx_txx_slot { 5403 uint64_t u64; 5404 struct cvmx_gmxx_txx_slot_s { 5405 #ifdef __BIG_ENDIAN_BITFIELD 5406 uint64_t reserved_10_63:54; 5407 uint64_t slot:10; 5408 #else 5409 uint64_t slot:10; 5410 uint64_t reserved_10_63:54; 5411 #endif 5412 } s; 5413 struct cvmx_gmxx_txx_slot_s cn30xx; 5414 struct cvmx_gmxx_txx_slot_s cn31xx; 5415 struct cvmx_gmxx_txx_slot_s cn38xx; 5416 struct cvmx_gmxx_txx_slot_s cn38xxp2; 5417 struct cvmx_gmxx_txx_slot_s cn50xx; 5418 struct cvmx_gmxx_txx_slot_s cn52xx; 5419 struct cvmx_gmxx_txx_slot_s cn52xxp1; 5420 struct cvmx_gmxx_txx_slot_s cn56xx; 5421 struct cvmx_gmxx_txx_slot_s cn56xxp1; 5422 struct cvmx_gmxx_txx_slot_s cn58xx; 5423 struct cvmx_gmxx_txx_slot_s cn58xxp1; 5424 struct cvmx_gmxx_txx_slot_s cn61xx; 5425 struct cvmx_gmxx_txx_slot_s cn63xx; 5426 struct cvmx_gmxx_txx_slot_s cn63xxp1; 5427 struct cvmx_gmxx_txx_slot_s cn66xx; 5428 struct cvmx_gmxx_txx_slot_s cn68xx; 5429 struct cvmx_gmxx_txx_slot_s cn68xxp1; 5430 struct cvmx_gmxx_txx_slot_s cnf71xx; 5431 }; 5432 5433 union cvmx_gmxx_txx_soft_pause { 5434 uint64_t u64; 5435 struct cvmx_gmxx_txx_soft_pause_s { 5436 #ifdef __BIG_ENDIAN_BITFIELD 5437 uint64_t reserved_16_63:48; 5438 uint64_t time:16; 5439 #else 5440 uint64_t time:16; 5441 uint64_t reserved_16_63:48; 5442 #endif 5443 } s; 5444 struct cvmx_gmxx_txx_soft_pause_s cn30xx; 5445 struct cvmx_gmxx_txx_soft_pause_s cn31xx; 5446 struct cvmx_gmxx_txx_soft_pause_s cn38xx; 5447 struct cvmx_gmxx_txx_soft_pause_s cn38xxp2; 5448 struct cvmx_gmxx_txx_soft_pause_s cn50xx; 5449 struct cvmx_gmxx_txx_soft_pause_s cn52xx; 5450 struct cvmx_gmxx_txx_soft_pause_s cn52xxp1; 5451 struct cvmx_gmxx_txx_soft_pause_s cn56xx; 5452 struct cvmx_gmxx_txx_soft_pause_s cn56xxp1; 5453 struct cvmx_gmxx_txx_soft_pause_s cn58xx; 5454 struct cvmx_gmxx_txx_soft_pause_s cn58xxp1; 5455 struct cvmx_gmxx_txx_soft_pause_s cn61xx; 5456 struct cvmx_gmxx_txx_soft_pause_s cn63xx; 5457 struct cvmx_gmxx_txx_soft_pause_s cn63xxp1; 5458 struct cvmx_gmxx_txx_soft_pause_s cn66xx; 5459 struct cvmx_gmxx_txx_soft_pause_s cn68xx; 5460 struct cvmx_gmxx_txx_soft_pause_s cn68xxp1; 5461 struct cvmx_gmxx_txx_soft_pause_s cnf71xx; 5462 }; 5463 5464 union cvmx_gmxx_txx_stat0 { 5465 uint64_t u64; 5466 struct cvmx_gmxx_txx_stat0_s { 5467 #ifdef __BIG_ENDIAN_BITFIELD 5468 uint64_t xsdef:32; 5469 uint64_t xscol:32; 5470 #else 5471 uint64_t xscol:32; 5472 uint64_t xsdef:32; 5473 #endif 5474 } s; 5475 struct cvmx_gmxx_txx_stat0_s cn30xx; 5476 struct cvmx_gmxx_txx_stat0_s cn31xx; 5477 struct cvmx_gmxx_txx_stat0_s cn38xx; 5478 struct cvmx_gmxx_txx_stat0_s cn38xxp2; 5479 struct cvmx_gmxx_txx_stat0_s cn50xx; 5480 struct cvmx_gmxx_txx_stat0_s cn52xx; 5481 struct cvmx_gmxx_txx_stat0_s cn52xxp1; 5482 struct cvmx_gmxx_txx_stat0_s cn56xx; 5483 struct cvmx_gmxx_txx_stat0_s cn56xxp1; 5484 struct cvmx_gmxx_txx_stat0_s cn58xx; 5485 struct cvmx_gmxx_txx_stat0_s cn58xxp1; 5486 struct cvmx_gmxx_txx_stat0_s cn61xx; 5487 struct cvmx_gmxx_txx_stat0_s cn63xx; 5488 struct cvmx_gmxx_txx_stat0_s cn63xxp1; 5489 struct cvmx_gmxx_txx_stat0_s cn66xx; 5490 struct cvmx_gmxx_txx_stat0_s cn68xx; 5491 struct cvmx_gmxx_txx_stat0_s cn68xxp1; 5492 struct cvmx_gmxx_txx_stat0_s cnf71xx; 5493 }; 5494 5495 union cvmx_gmxx_txx_stat1 { 5496 uint64_t u64; 5497 struct cvmx_gmxx_txx_stat1_s { 5498 #ifdef __BIG_ENDIAN_BITFIELD 5499 uint64_t scol:32; 5500 uint64_t mcol:32; 5501 #else 5502 uint64_t mcol:32; 5503 uint64_t scol:32; 5504 #endif 5505 } s; 5506 struct cvmx_gmxx_txx_stat1_s cn30xx; 5507 struct cvmx_gmxx_txx_stat1_s cn31xx; 5508 struct cvmx_gmxx_txx_stat1_s cn38xx; 5509 struct cvmx_gmxx_txx_stat1_s cn38xxp2; 5510 struct cvmx_gmxx_txx_stat1_s cn50xx; 5511 struct cvmx_gmxx_txx_stat1_s cn52xx; 5512 struct cvmx_gmxx_txx_stat1_s cn52xxp1; 5513 struct cvmx_gmxx_txx_stat1_s cn56xx; 5514 struct cvmx_gmxx_txx_stat1_s cn56xxp1; 5515 struct cvmx_gmxx_txx_stat1_s cn58xx; 5516 struct cvmx_gmxx_txx_stat1_s cn58xxp1; 5517 struct cvmx_gmxx_txx_stat1_s cn61xx; 5518 struct cvmx_gmxx_txx_stat1_s cn63xx; 5519 struct cvmx_gmxx_txx_stat1_s cn63xxp1; 5520 struct cvmx_gmxx_txx_stat1_s cn66xx; 5521 struct cvmx_gmxx_txx_stat1_s cn68xx; 5522 struct cvmx_gmxx_txx_stat1_s cn68xxp1; 5523 struct cvmx_gmxx_txx_stat1_s cnf71xx; 5524 }; 5525 5526 union cvmx_gmxx_txx_stat2 { 5527 uint64_t u64; 5528 struct cvmx_gmxx_txx_stat2_s { 5529 #ifdef __BIG_ENDIAN_BITFIELD 5530 uint64_t reserved_48_63:16; 5531 uint64_t octs:48; 5532 #else 5533 uint64_t octs:48; 5534 uint64_t reserved_48_63:16; 5535 #endif 5536 } s; 5537 struct cvmx_gmxx_txx_stat2_s cn30xx; 5538 struct cvmx_gmxx_txx_stat2_s cn31xx; 5539 struct cvmx_gmxx_txx_stat2_s cn38xx; 5540 struct cvmx_gmxx_txx_stat2_s cn38xxp2; 5541 struct cvmx_gmxx_txx_stat2_s cn50xx; 5542 struct cvmx_gmxx_txx_stat2_s cn52xx; 5543 struct cvmx_gmxx_txx_stat2_s cn52xxp1; 5544 struct cvmx_gmxx_txx_stat2_s cn56xx; 5545 struct cvmx_gmxx_txx_stat2_s cn56xxp1; 5546 struct cvmx_gmxx_txx_stat2_s cn58xx; 5547 struct cvmx_gmxx_txx_stat2_s cn58xxp1; 5548 struct cvmx_gmxx_txx_stat2_s cn61xx; 5549 struct cvmx_gmxx_txx_stat2_s cn63xx; 5550 struct cvmx_gmxx_txx_stat2_s cn63xxp1; 5551 struct cvmx_gmxx_txx_stat2_s cn66xx; 5552 struct cvmx_gmxx_txx_stat2_s cn68xx; 5553 struct cvmx_gmxx_txx_stat2_s cn68xxp1; 5554 struct cvmx_gmxx_txx_stat2_s cnf71xx; 5555 }; 5556 5557 union cvmx_gmxx_txx_stat3 { 5558 uint64_t u64; 5559 struct cvmx_gmxx_txx_stat3_s { 5560 #ifdef __BIG_ENDIAN_BITFIELD 5561 uint64_t reserved_32_63:32; 5562 uint64_t pkts:32; 5563 #else 5564 uint64_t pkts:32; 5565 uint64_t reserved_32_63:32; 5566 #endif 5567 } s; 5568 struct cvmx_gmxx_txx_stat3_s cn30xx; 5569 struct cvmx_gmxx_txx_stat3_s cn31xx; 5570 struct cvmx_gmxx_txx_stat3_s cn38xx; 5571 struct cvmx_gmxx_txx_stat3_s cn38xxp2; 5572 struct cvmx_gmxx_txx_stat3_s cn50xx; 5573 struct cvmx_gmxx_txx_stat3_s cn52xx; 5574 struct cvmx_gmxx_txx_stat3_s cn52xxp1; 5575 struct cvmx_gmxx_txx_stat3_s cn56xx; 5576 struct cvmx_gmxx_txx_stat3_s cn56xxp1; 5577 struct cvmx_gmxx_txx_stat3_s cn58xx; 5578 struct cvmx_gmxx_txx_stat3_s cn58xxp1; 5579 struct cvmx_gmxx_txx_stat3_s cn61xx; 5580 struct cvmx_gmxx_txx_stat3_s cn63xx; 5581 struct cvmx_gmxx_txx_stat3_s cn63xxp1; 5582 struct cvmx_gmxx_txx_stat3_s cn66xx; 5583 struct cvmx_gmxx_txx_stat3_s cn68xx; 5584 struct cvmx_gmxx_txx_stat3_s cn68xxp1; 5585 struct cvmx_gmxx_txx_stat3_s cnf71xx; 5586 }; 5587 5588 union cvmx_gmxx_txx_stat4 { 5589 uint64_t u64; 5590 struct cvmx_gmxx_txx_stat4_s { 5591 #ifdef __BIG_ENDIAN_BITFIELD 5592 uint64_t hist1:32; 5593 uint64_t hist0:32; 5594 #else 5595 uint64_t hist0:32; 5596 uint64_t hist1:32; 5597 #endif 5598 } s; 5599 struct cvmx_gmxx_txx_stat4_s cn30xx; 5600 struct cvmx_gmxx_txx_stat4_s cn31xx; 5601 struct cvmx_gmxx_txx_stat4_s cn38xx; 5602 struct cvmx_gmxx_txx_stat4_s cn38xxp2; 5603 struct cvmx_gmxx_txx_stat4_s cn50xx; 5604 struct cvmx_gmxx_txx_stat4_s cn52xx; 5605 struct cvmx_gmxx_txx_stat4_s cn52xxp1; 5606 struct cvmx_gmxx_txx_stat4_s cn56xx; 5607 struct cvmx_gmxx_txx_stat4_s cn56xxp1; 5608 struct cvmx_gmxx_txx_stat4_s cn58xx; 5609 struct cvmx_gmxx_txx_stat4_s cn58xxp1; 5610 struct cvmx_gmxx_txx_stat4_s cn61xx; 5611 struct cvmx_gmxx_txx_stat4_s cn63xx; 5612 struct cvmx_gmxx_txx_stat4_s cn63xxp1; 5613 struct cvmx_gmxx_txx_stat4_s cn66xx; 5614 struct cvmx_gmxx_txx_stat4_s cn68xx; 5615 struct cvmx_gmxx_txx_stat4_s cn68xxp1; 5616 struct cvmx_gmxx_txx_stat4_s cnf71xx; 5617 }; 5618 5619 union cvmx_gmxx_txx_stat5 { 5620 uint64_t u64; 5621 struct cvmx_gmxx_txx_stat5_s { 5622 #ifdef __BIG_ENDIAN_BITFIELD 5623 uint64_t hist3:32; 5624 uint64_t hist2:32; 5625 #else 5626 uint64_t hist2:32; 5627 uint64_t hist3:32; 5628 #endif 5629 } s; 5630 struct cvmx_gmxx_txx_stat5_s cn30xx; 5631 struct cvmx_gmxx_txx_stat5_s cn31xx; 5632 struct cvmx_gmxx_txx_stat5_s cn38xx; 5633 struct cvmx_gmxx_txx_stat5_s cn38xxp2; 5634 struct cvmx_gmxx_txx_stat5_s cn50xx; 5635 struct cvmx_gmxx_txx_stat5_s cn52xx; 5636 struct cvmx_gmxx_txx_stat5_s cn52xxp1; 5637 struct cvmx_gmxx_txx_stat5_s cn56xx; 5638 struct cvmx_gmxx_txx_stat5_s cn56xxp1; 5639 struct cvmx_gmxx_txx_stat5_s cn58xx; 5640 struct cvmx_gmxx_txx_stat5_s cn58xxp1; 5641 struct cvmx_gmxx_txx_stat5_s cn61xx; 5642 struct cvmx_gmxx_txx_stat5_s cn63xx; 5643 struct cvmx_gmxx_txx_stat5_s cn63xxp1; 5644 struct cvmx_gmxx_txx_stat5_s cn66xx; 5645 struct cvmx_gmxx_txx_stat5_s cn68xx; 5646 struct cvmx_gmxx_txx_stat5_s cn68xxp1; 5647 struct cvmx_gmxx_txx_stat5_s cnf71xx; 5648 }; 5649 5650 union cvmx_gmxx_txx_stat6 { 5651 uint64_t u64; 5652 struct cvmx_gmxx_txx_stat6_s { 5653 #ifdef __BIG_ENDIAN_BITFIELD 5654 uint64_t hist5:32; 5655 uint64_t hist4:32; 5656 #else 5657 uint64_t hist4:32; 5658 uint64_t hist5:32; 5659 #endif 5660 } s; 5661 struct cvmx_gmxx_txx_stat6_s cn30xx; 5662 struct cvmx_gmxx_txx_stat6_s cn31xx; 5663 struct cvmx_gmxx_txx_stat6_s cn38xx; 5664 struct cvmx_gmxx_txx_stat6_s cn38xxp2; 5665 struct cvmx_gmxx_txx_stat6_s cn50xx; 5666 struct cvmx_gmxx_txx_stat6_s cn52xx; 5667 struct cvmx_gmxx_txx_stat6_s cn52xxp1; 5668 struct cvmx_gmxx_txx_stat6_s cn56xx; 5669 struct cvmx_gmxx_txx_stat6_s cn56xxp1; 5670 struct cvmx_gmxx_txx_stat6_s cn58xx; 5671 struct cvmx_gmxx_txx_stat6_s cn58xxp1; 5672 struct cvmx_gmxx_txx_stat6_s cn61xx; 5673 struct cvmx_gmxx_txx_stat6_s cn63xx; 5674 struct cvmx_gmxx_txx_stat6_s cn63xxp1; 5675 struct cvmx_gmxx_txx_stat6_s cn66xx; 5676 struct cvmx_gmxx_txx_stat6_s cn68xx; 5677 struct cvmx_gmxx_txx_stat6_s cn68xxp1; 5678 struct cvmx_gmxx_txx_stat6_s cnf71xx; 5679 }; 5680 5681 union cvmx_gmxx_txx_stat7 { 5682 uint64_t u64; 5683 struct cvmx_gmxx_txx_stat7_s { 5684 #ifdef __BIG_ENDIAN_BITFIELD 5685 uint64_t hist7:32; 5686 uint64_t hist6:32; 5687 #else 5688 uint64_t hist6:32; 5689 uint64_t hist7:32; 5690 #endif 5691 } s; 5692 struct cvmx_gmxx_txx_stat7_s cn30xx; 5693 struct cvmx_gmxx_txx_stat7_s cn31xx; 5694 struct cvmx_gmxx_txx_stat7_s cn38xx; 5695 struct cvmx_gmxx_txx_stat7_s cn38xxp2; 5696 struct cvmx_gmxx_txx_stat7_s cn50xx; 5697 struct cvmx_gmxx_txx_stat7_s cn52xx; 5698 struct cvmx_gmxx_txx_stat7_s cn52xxp1; 5699 struct cvmx_gmxx_txx_stat7_s cn56xx; 5700 struct cvmx_gmxx_txx_stat7_s cn56xxp1; 5701 struct cvmx_gmxx_txx_stat7_s cn58xx; 5702 struct cvmx_gmxx_txx_stat7_s cn58xxp1; 5703 struct cvmx_gmxx_txx_stat7_s cn61xx; 5704 struct cvmx_gmxx_txx_stat7_s cn63xx; 5705 struct cvmx_gmxx_txx_stat7_s cn63xxp1; 5706 struct cvmx_gmxx_txx_stat7_s cn66xx; 5707 struct cvmx_gmxx_txx_stat7_s cn68xx; 5708 struct cvmx_gmxx_txx_stat7_s cn68xxp1; 5709 struct cvmx_gmxx_txx_stat7_s cnf71xx; 5710 }; 5711 5712 union cvmx_gmxx_txx_stat8 { 5713 uint64_t u64; 5714 struct cvmx_gmxx_txx_stat8_s { 5715 #ifdef __BIG_ENDIAN_BITFIELD 5716 uint64_t mcst:32; 5717 uint64_t bcst:32; 5718 #else 5719 uint64_t bcst:32; 5720 uint64_t mcst:32; 5721 #endif 5722 } s; 5723 struct cvmx_gmxx_txx_stat8_s cn30xx; 5724 struct cvmx_gmxx_txx_stat8_s cn31xx; 5725 struct cvmx_gmxx_txx_stat8_s cn38xx; 5726 struct cvmx_gmxx_txx_stat8_s cn38xxp2; 5727 struct cvmx_gmxx_txx_stat8_s cn50xx; 5728 struct cvmx_gmxx_txx_stat8_s cn52xx; 5729 struct cvmx_gmxx_txx_stat8_s cn52xxp1; 5730 struct cvmx_gmxx_txx_stat8_s cn56xx; 5731 struct cvmx_gmxx_txx_stat8_s cn56xxp1; 5732 struct cvmx_gmxx_txx_stat8_s cn58xx; 5733 struct cvmx_gmxx_txx_stat8_s cn58xxp1; 5734 struct cvmx_gmxx_txx_stat8_s cn61xx; 5735 struct cvmx_gmxx_txx_stat8_s cn63xx; 5736 struct cvmx_gmxx_txx_stat8_s cn63xxp1; 5737 struct cvmx_gmxx_txx_stat8_s cn66xx; 5738 struct cvmx_gmxx_txx_stat8_s cn68xx; 5739 struct cvmx_gmxx_txx_stat8_s cn68xxp1; 5740 struct cvmx_gmxx_txx_stat8_s cnf71xx; 5741 }; 5742 5743 union cvmx_gmxx_txx_stat9 { 5744 uint64_t u64; 5745 struct cvmx_gmxx_txx_stat9_s { 5746 #ifdef __BIG_ENDIAN_BITFIELD 5747 uint64_t undflw:32; 5748 uint64_t ctl:32; 5749 #else 5750 uint64_t ctl:32; 5751 uint64_t undflw:32; 5752 #endif 5753 } s; 5754 struct cvmx_gmxx_txx_stat9_s cn30xx; 5755 struct cvmx_gmxx_txx_stat9_s cn31xx; 5756 struct cvmx_gmxx_txx_stat9_s cn38xx; 5757 struct cvmx_gmxx_txx_stat9_s cn38xxp2; 5758 struct cvmx_gmxx_txx_stat9_s cn50xx; 5759 struct cvmx_gmxx_txx_stat9_s cn52xx; 5760 struct cvmx_gmxx_txx_stat9_s cn52xxp1; 5761 struct cvmx_gmxx_txx_stat9_s cn56xx; 5762 struct cvmx_gmxx_txx_stat9_s cn56xxp1; 5763 struct cvmx_gmxx_txx_stat9_s cn58xx; 5764 struct cvmx_gmxx_txx_stat9_s cn58xxp1; 5765 struct cvmx_gmxx_txx_stat9_s cn61xx; 5766 struct cvmx_gmxx_txx_stat9_s cn63xx; 5767 struct cvmx_gmxx_txx_stat9_s cn63xxp1; 5768 struct cvmx_gmxx_txx_stat9_s cn66xx; 5769 struct cvmx_gmxx_txx_stat9_s cn68xx; 5770 struct cvmx_gmxx_txx_stat9_s cn68xxp1; 5771 struct cvmx_gmxx_txx_stat9_s cnf71xx; 5772 }; 5773 5774 union cvmx_gmxx_txx_stats_ctl { 5775 uint64_t u64; 5776 struct cvmx_gmxx_txx_stats_ctl_s { 5777 #ifdef __BIG_ENDIAN_BITFIELD 5778 uint64_t reserved_1_63:63; 5779 uint64_t rd_clr:1; 5780 #else 5781 uint64_t rd_clr:1; 5782 uint64_t reserved_1_63:63; 5783 #endif 5784 } s; 5785 struct cvmx_gmxx_txx_stats_ctl_s cn30xx; 5786 struct cvmx_gmxx_txx_stats_ctl_s cn31xx; 5787 struct cvmx_gmxx_txx_stats_ctl_s cn38xx; 5788 struct cvmx_gmxx_txx_stats_ctl_s cn38xxp2; 5789 struct cvmx_gmxx_txx_stats_ctl_s cn50xx; 5790 struct cvmx_gmxx_txx_stats_ctl_s cn52xx; 5791 struct cvmx_gmxx_txx_stats_ctl_s cn52xxp1; 5792 struct cvmx_gmxx_txx_stats_ctl_s cn56xx; 5793 struct cvmx_gmxx_txx_stats_ctl_s cn56xxp1; 5794 struct cvmx_gmxx_txx_stats_ctl_s cn58xx; 5795 struct cvmx_gmxx_txx_stats_ctl_s cn58xxp1; 5796 struct cvmx_gmxx_txx_stats_ctl_s cn61xx; 5797 struct cvmx_gmxx_txx_stats_ctl_s cn63xx; 5798 struct cvmx_gmxx_txx_stats_ctl_s cn63xxp1; 5799 struct cvmx_gmxx_txx_stats_ctl_s cn66xx; 5800 struct cvmx_gmxx_txx_stats_ctl_s cn68xx; 5801 struct cvmx_gmxx_txx_stats_ctl_s cn68xxp1; 5802 struct cvmx_gmxx_txx_stats_ctl_s cnf71xx; 5803 }; 5804 5805 union cvmx_gmxx_txx_thresh { 5806 uint64_t u64; 5807 struct cvmx_gmxx_txx_thresh_s { 5808 #ifdef __BIG_ENDIAN_BITFIELD 5809 uint64_t reserved_10_63:54; 5810 uint64_t cnt:10; 5811 #else 5812 uint64_t cnt:10; 5813 uint64_t reserved_10_63:54; 5814 #endif 5815 } s; 5816 struct cvmx_gmxx_txx_thresh_cn30xx { 5817 #ifdef __BIG_ENDIAN_BITFIELD 5818 uint64_t reserved_7_63:57; 5819 uint64_t cnt:7; 5820 #else 5821 uint64_t cnt:7; 5822 uint64_t reserved_7_63:57; 5823 #endif 5824 } cn30xx; 5825 struct cvmx_gmxx_txx_thresh_cn30xx cn31xx; 5826 struct cvmx_gmxx_txx_thresh_cn38xx { 5827 #ifdef __BIG_ENDIAN_BITFIELD 5828 uint64_t reserved_9_63:55; 5829 uint64_t cnt:9; 5830 #else 5831 uint64_t cnt:9; 5832 uint64_t reserved_9_63:55; 5833 #endif 5834 } cn38xx; 5835 struct cvmx_gmxx_txx_thresh_cn38xx cn38xxp2; 5836 struct cvmx_gmxx_txx_thresh_cn30xx cn50xx; 5837 struct cvmx_gmxx_txx_thresh_cn38xx cn52xx; 5838 struct cvmx_gmxx_txx_thresh_cn38xx cn52xxp1; 5839 struct cvmx_gmxx_txx_thresh_cn38xx cn56xx; 5840 struct cvmx_gmxx_txx_thresh_cn38xx cn56xxp1; 5841 struct cvmx_gmxx_txx_thresh_cn38xx cn58xx; 5842 struct cvmx_gmxx_txx_thresh_cn38xx cn58xxp1; 5843 struct cvmx_gmxx_txx_thresh_cn38xx cn61xx; 5844 struct cvmx_gmxx_txx_thresh_cn38xx cn63xx; 5845 struct cvmx_gmxx_txx_thresh_cn38xx cn63xxp1; 5846 struct cvmx_gmxx_txx_thresh_cn38xx cn66xx; 5847 struct cvmx_gmxx_txx_thresh_s cn68xx; 5848 struct cvmx_gmxx_txx_thresh_s cn68xxp1; 5849 struct cvmx_gmxx_txx_thresh_cn38xx cnf71xx; 5850 }; 5851 5852 union cvmx_gmxx_tx_bp { 5853 uint64_t u64; 5854 struct cvmx_gmxx_tx_bp_s { 5855 #ifdef __BIG_ENDIAN_BITFIELD 5856 uint64_t reserved_4_63:60; 5857 uint64_t bp:4; 5858 #else 5859 uint64_t bp:4; 5860 uint64_t reserved_4_63:60; 5861 #endif 5862 } s; 5863 struct cvmx_gmxx_tx_bp_cn30xx { 5864 #ifdef __BIG_ENDIAN_BITFIELD 5865 uint64_t reserved_3_63:61; 5866 uint64_t bp:3; 5867 #else 5868 uint64_t bp:3; 5869 uint64_t reserved_3_63:61; 5870 #endif 5871 } cn30xx; 5872 struct cvmx_gmxx_tx_bp_cn30xx cn31xx; 5873 struct cvmx_gmxx_tx_bp_s cn38xx; 5874 struct cvmx_gmxx_tx_bp_s cn38xxp2; 5875 struct cvmx_gmxx_tx_bp_cn30xx cn50xx; 5876 struct cvmx_gmxx_tx_bp_s cn52xx; 5877 struct cvmx_gmxx_tx_bp_s cn52xxp1; 5878 struct cvmx_gmxx_tx_bp_s cn56xx; 5879 struct cvmx_gmxx_tx_bp_s cn56xxp1; 5880 struct cvmx_gmxx_tx_bp_s cn58xx; 5881 struct cvmx_gmxx_tx_bp_s cn58xxp1; 5882 struct cvmx_gmxx_tx_bp_s cn61xx; 5883 struct cvmx_gmxx_tx_bp_s cn63xx; 5884 struct cvmx_gmxx_tx_bp_s cn63xxp1; 5885 struct cvmx_gmxx_tx_bp_s cn66xx; 5886 struct cvmx_gmxx_tx_bp_s cn68xx; 5887 struct cvmx_gmxx_tx_bp_s cn68xxp1; 5888 struct cvmx_gmxx_tx_bp_cnf71xx { 5889 #ifdef __BIG_ENDIAN_BITFIELD 5890 uint64_t reserved_2_63:62; 5891 uint64_t bp:2; 5892 #else 5893 uint64_t bp:2; 5894 uint64_t reserved_2_63:62; 5895 #endif 5896 } cnf71xx; 5897 }; 5898 5899 union cvmx_gmxx_tx_clk_mskx { 5900 uint64_t u64; 5901 struct cvmx_gmxx_tx_clk_mskx_s { 5902 #ifdef __BIG_ENDIAN_BITFIELD 5903 uint64_t reserved_1_63:63; 5904 uint64_t msk:1; 5905 #else 5906 uint64_t msk:1; 5907 uint64_t reserved_1_63:63; 5908 #endif 5909 } s; 5910 struct cvmx_gmxx_tx_clk_mskx_s cn30xx; 5911 struct cvmx_gmxx_tx_clk_mskx_s cn50xx; 5912 }; 5913 5914 union cvmx_gmxx_tx_col_attempt { 5915 uint64_t u64; 5916 struct cvmx_gmxx_tx_col_attempt_s { 5917 #ifdef __BIG_ENDIAN_BITFIELD 5918 uint64_t reserved_5_63:59; 5919 uint64_t limit:5; 5920 #else 5921 uint64_t limit:5; 5922 uint64_t reserved_5_63:59; 5923 #endif 5924 } s; 5925 struct cvmx_gmxx_tx_col_attempt_s cn30xx; 5926 struct cvmx_gmxx_tx_col_attempt_s cn31xx; 5927 struct cvmx_gmxx_tx_col_attempt_s cn38xx; 5928 struct cvmx_gmxx_tx_col_attempt_s cn38xxp2; 5929 struct cvmx_gmxx_tx_col_attempt_s cn50xx; 5930 struct cvmx_gmxx_tx_col_attempt_s cn52xx; 5931 struct cvmx_gmxx_tx_col_attempt_s cn52xxp1; 5932 struct cvmx_gmxx_tx_col_attempt_s cn56xx; 5933 struct cvmx_gmxx_tx_col_attempt_s cn56xxp1; 5934 struct cvmx_gmxx_tx_col_attempt_s cn58xx; 5935 struct cvmx_gmxx_tx_col_attempt_s cn58xxp1; 5936 struct cvmx_gmxx_tx_col_attempt_s cn61xx; 5937 struct cvmx_gmxx_tx_col_attempt_s cn63xx; 5938 struct cvmx_gmxx_tx_col_attempt_s cn63xxp1; 5939 struct cvmx_gmxx_tx_col_attempt_s cn66xx; 5940 struct cvmx_gmxx_tx_col_attempt_s cn68xx; 5941 struct cvmx_gmxx_tx_col_attempt_s cn68xxp1; 5942 struct cvmx_gmxx_tx_col_attempt_s cnf71xx; 5943 }; 5944 5945 union cvmx_gmxx_tx_corrupt { 5946 uint64_t u64; 5947 struct cvmx_gmxx_tx_corrupt_s { 5948 #ifdef __BIG_ENDIAN_BITFIELD 5949 uint64_t reserved_4_63:60; 5950 uint64_t corrupt:4; 5951 #else 5952 uint64_t corrupt:4; 5953 uint64_t reserved_4_63:60; 5954 #endif 5955 } s; 5956 struct cvmx_gmxx_tx_corrupt_cn30xx { 5957 #ifdef __BIG_ENDIAN_BITFIELD 5958 uint64_t reserved_3_63:61; 5959 uint64_t corrupt:3; 5960 #else 5961 uint64_t corrupt:3; 5962 uint64_t reserved_3_63:61; 5963 #endif 5964 } cn30xx; 5965 struct cvmx_gmxx_tx_corrupt_cn30xx cn31xx; 5966 struct cvmx_gmxx_tx_corrupt_s cn38xx; 5967 struct cvmx_gmxx_tx_corrupt_s cn38xxp2; 5968 struct cvmx_gmxx_tx_corrupt_cn30xx cn50xx; 5969 struct cvmx_gmxx_tx_corrupt_s cn52xx; 5970 struct cvmx_gmxx_tx_corrupt_s cn52xxp1; 5971 struct cvmx_gmxx_tx_corrupt_s cn56xx; 5972 struct cvmx_gmxx_tx_corrupt_s cn56xxp1; 5973 struct cvmx_gmxx_tx_corrupt_s cn58xx; 5974 struct cvmx_gmxx_tx_corrupt_s cn58xxp1; 5975 struct cvmx_gmxx_tx_corrupt_s cn61xx; 5976 struct cvmx_gmxx_tx_corrupt_s cn63xx; 5977 struct cvmx_gmxx_tx_corrupt_s cn63xxp1; 5978 struct cvmx_gmxx_tx_corrupt_s cn66xx; 5979 struct cvmx_gmxx_tx_corrupt_s cn68xx; 5980 struct cvmx_gmxx_tx_corrupt_s cn68xxp1; 5981 struct cvmx_gmxx_tx_corrupt_cnf71xx { 5982 #ifdef __BIG_ENDIAN_BITFIELD 5983 uint64_t reserved_2_63:62; 5984 uint64_t corrupt:2; 5985 #else 5986 uint64_t corrupt:2; 5987 uint64_t reserved_2_63:62; 5988 #endif 5989 } cnf71xx; 5990 }; 5991 5992 union cvmx_gmxx_tx_hg2_reg1 { 5993 uint64_t u64; 5994 struct cvmx_gmxx_tx_hg2_reg1_s { 5995 #ifdef __BIG_ENDIAN_BITFIELD 5996 uint64_t reserved_16_63:48; 5997 uint64_t tx_xof:16; 5998 #else 5999 uint64_t tx_xof:16; 6000 uint64_t reserved_16_63:48; 6001 #endif 6002 } s; 6003 struct cvmx_gmxx_tx_hg2_reg1_s cn52xx; 6004 struct cvmx_gmxx_tx_hg2_reg1_s cn52xxp1; 6005 struct cvmx_gmxx_tx_hg2_reg1_s cn56xx; 6006 struct cvmx_gmxx_tx_hg2_reg1_s cn61xx; 6007 struct cvmx_gmxx_tx_hg2_reg1_s cn63xx; 6008 struct cvmx_gmxx_tx_hg2_reg1_s cn63xxp1; 6009 struct cvmx_gmxx_tx_hg2_reg1_s cn66xx; 6010 struct cvmx_gmxx_tx_hg2_reg1_s cn68xx; 6011 struct cvmx_gmxx_tx_hg2_reg1_s cn68xxp1; 6012 struct cvmx_gmxx_tx_hg2_reg1_s cnf71xx; 6013 }; 6014 6015 union cvmx_gmxx_tx_hg2_reg2 { 6016 uint64_t u64; 6017 struct cvmx_gmxx_tx_hg2_reg2_s { 6018 #ifdef __BIG_ENDIAN_BITFIELD 6019 uint64_t reserved_16_63:48; 6020 uint64_t tx_xon:16; 6021 #else 6022 uint64_t tx_xon:16; 6023 uint64_t reserved_16_63:48; 6024 #endif 6025 } s; 6026 struct cvmx_gmxx_tx_hg2_reg2_s cn52xx; 6027 struct cvmx_gmxx_tx_hg2_reg2_s cn52xxp1; 6028 struct cvmx_gmxx_tx_hg2_reg2_s cn56xx; 6029 struct cvmx_gmxx_tx_hg2_reg2_s cn61xx; 6030 struct cvmx_gmxx_tx_hg2_reg2_s cn63xx; 6031 struct cvmx_gmxx_tx_hg2_reg2_s cn63xxp1; 6032 struct cvmx_gmxx_tx_hg2_reg2_s cn66xx; 6033 struct cvmx_gmxx_tx_hg2_reg2_s cn68xx; 6034 struct cvmx_gmxx_tx_hg2_reg2_s cn68xxp1; 6035 struct cvmx_gmxx_tx_hg2_reg2_s cnf71xx; 6036 }; 6037 6038 union cvmx_gmxx_tx_ifg { 6039 uint64_t u64; 6040 struct cvmx_gmxx_tx_ifg_s { 6041 #ifdef __BIG_ENDIAN_BITFIELD 6042 uint64_t reserved_8_63:56; 6043 uint64_t ifg2:4; 6044 uint64_t ifg1:4; 6045 #else 6046 uint64_t ifg1:4; 6047 uint64_t ifg2:4; 6048 uint64_t reserved_8_63:56; 6049 #endif 6050 } s; 6051 struct cvmx_gmxx_tx_ifg_s cn30xx; 6052 struct cvmx_gmxx_tx_ifg_s cn31xx; 6053 struct cvmx_gmxx_tx_ifg_s cn38xx; 6054 struct cvmx_gmxx_tx_ifg_s cn38xxp2; 6055 struct cvmx_gmxx_tx_ifg_s cn50xx; 6056 struct cvmx_gmxx_tx_ifg_s cn52xx; 6057 struct cvmx_gmxx_tx_ifg_s cn52xxp1; 6058 struct cvmx_gmxx_tx_ifg_s cn56xx; 6059 struct cvmx_gmxx_tx_ifg_s cn56xxp1; 6060 struct cvmx_gmxx_tx_ifg_s cn58xx; 6061 struct cvmx_gmxx_tx_ifg_s cn58xxp1; 6062 struct cvmx_gmxx_tx_ifg_s cn61xx; 6063 struct cvmx_gmxx_tx_ifg_s cn63xx; 6064 struct cvmx_gmxx_tx_ifg_s cn63xxp1; 6065 struct cvmx_gmxx_tx_ifg_s cn66xx; 6066 struct cvmx_gmxx_tx_ifg_s cn68xx; 6067 struct cvmx_gmxx_tx_ifg_s cn68xxp1; 6068 struct cvmx_gmxx_tx_ifg_s cnf71xx; 6069 }; 6070 6071 union cvmx_gmxx_tx_int_en { 6072 uint64_t u64; 6073 struct cvmx_gmxx_tx_int_en_s { 6074 #ifdef __BIG_ENDIAN_BITFIELD 6075 uint64_t reserved_25_63:39; 6076 uint64_t xchange:1; 6077 uint64_t ptp_lost:4; 6078 uint64_t late_col:4; 6079 uint64_t xsdef:4; 6080 uint64_t xscol:4; 6081 uint64_t reserved_6_7:2; 6082 uint64_t undflw:4; 6083 uint64_t reserved_1_1:1; 6084 uint64_t pko_nxa:1; 6085 #else 6086 uint64_t pko_nxa:1; 6087 uint64_t reserved_1_1:1; 6088 uint64_t undflw:4; 6089 uint64_t reserved_6_7:2; 6090 uint64_t xscol:4; 6091 uint64_t xsdef:4; 6092 uint64_t late_col:4; 6093 uint64_t ptp_lost:4; 6094 uint64_t xchange:1; 6095 uint64_t reserved_25_63:39; 6096 #endif 6097 } s; 6098 struct cvmx_gmxx_tx_int_en_cn30xx { 6099 #ifdef __BIG_ENDIAN_BITFIELD 6100 uint64_t reserved_19_63:45; 6101 uint64_t late_col:3; 6102 uint64_t reserved_15_15:1; 6103 uint64_t xsdef:3; 6104 uint64_t reserved_11_11:1; 6105 uint64_t xscol:3; 6106 uint64_t reserved_5_7:3; 6107 uint64_t undflw:3; 6108 uint64_t reserved_1_1:1; 6109 uint64_t pko_nxa:1; 6110 #else 6111 uint64_t pko_nxa:1; 6112 uint64_t reserved_1_1:1; 6113 uint64_t undflw:3; 6114 uint64_t reserved_5_7:3; 6115 uint64_t xscol:3; 6116 uint64_t reserved_11_11:1; 6117 uint64_t xsdef:3; 6118 uint64_t reserved_15_15:1; 6119 uint64_t late_col:3; 6120 uint64_t reserved_19_63:45; 6121 #endif 6122 } cn30xx; 6123 struct cvmx_gmxx_tx_int_en_cn31xx { 6124 #ifdef __BIG_ENDIAN_BITFIELD 6125 uint64_t reserved_15_63:49; 6126 uint64_t xsdef:3; 6127 uint64_t reserved_11_11:1; 6128 uint64_t xscol:3; 6129 uint64_t reserved_5_7:3; 6130 uint64_t undflw:3; 6131 uint64_t reserved_1_1:1; 6132 uint64_t pko_nxa:1; 6133 #else 6134 uint64_t pko_nxa:1; 6135 uint64_t reserved_1_1:1; 6136 uint64_t undflw:3; 6137 uint64_t reserved_5_7:3; 6138 uint64_t xscol:3; 6139 uint64_t reserved_11_11:1; 6140 uint64_t xsdef:3; 6141 uint64_t reserved_15_63:49; 6142 #endif 6143 } cn31xx; 6144 struct cvmx_gmxx_tx_int_en_cn38xx { 6145 #ifdef __BIG_ENDIAN_BITFIELD 6146 uint64_t reserved_20_63:44; 6147 uint64_t late_col:4; 6148 uint64_t xsdef:4; 6149 uint64_t xscol:4; 6150 uint64_t reserved_6_7:2; 6151 uint64_t undflw:4; 6152 uint64_t ncb_nxa:1; 6153 uint64_t pko_nxa:1; 6154 #else 6155 uint64_t pko_nxa:1; 6156 uint64_t ncb_nxa:1; 6157 uint64_t undflw:4; 6158 uint64_t reserved_6_7:2; 6159 uint64_t xscol:4; 6160 uint64_t xsdef:4; 6161 uint64_t late_col:4; 6162 uint64_t reserved_20_63:44; 6163 #endif 6164 } cn38xx; 6165 struct cvmx_gmxx_tx_int_en_cn38xxp2 { 6166 #ifdef __BIG_ENDIAN_BITFIELD 6167 uint64_t reserved_16_63:48; 6168 uint64_t xsdef:4; 6169 uint64_t xscol:4; 6170 uint64_t reserved_6_7:2; 6171 uint64_t undflw:4; 6172 uint64_t ncb_nxa:1; 6173 uint64_t pko_nxa:1; 6174 #else 6175 uint64_t pko_nxa:1; 6176 uint64_t ncb_nxa:1; 6177 uint64_t undflw:4; 6178 uint64_t reserved_6_7:2; 6179 uint64_t xscol:4; 6180 uint64_t xsdef:4; 6181 uint64_t reserved_16_63:48; 6182 #endif 6183 } cn38xxp2; 6184 struct cvmx_gmxx_tx_int_en_cn30xx cn50xx; 6185 struct cvmx_gmxx_tx_int_en_cn52xx { 6186 #ifdef __BIG_ENDIAN_BITFIELD 6187 uint64_t reserved_20_63:44; 6188 uint64_t late_col:4; 6189 uint64_t xsdef:4; 6190 uint64_t xscol:4; 6191 uint64_t reserved_6_7:2; 6192 uint64_t undflw:4; 6193 uint64_t reserved_1_1:1; 6194 uint64_t pko_nxa:1; 6195 #else 6196 uint64_t pko_nxa:1; 6197 uint64_t reserved_1_1:1; 6198 uint64_t undflw:4; 6199 uint64_t reserved_6_7:2; 6200 uint64_t xscol:4; 6201 uint64_t xsdef:4; 6202 uint64_t late_col:4; 6203 uint64_t reserved_20_63:44; 6204 #endif 6205 } cn52xx; 6206 struct cvmx_gmxx_tx_int_en_cn52xx cn52xxp1; 6207 struct cvmx_gmxx_tx_int_en_cn52xx cn56xx; 6208 struct cvmx_gmxx_tx_int_en_cn52xx cn56xxp1; 6209 struct cvmx_gmxx_tx_int_en_cn38xx cn58xx; 6210 struct cvmx_gmxx_tx_int_en_cn38xx cn58xxp1; 6211 struct cvmx_gmxx_tx_int_en_s cn61xx; 6212 struct cvmx_gmxx_tx_int_en_cn63xx { 6213 #ifdef __BIG_ENDIAN_BITFIELD 6214 uint64_t reserved_24_63:40; 6215 uint64_t ptp_lost:4; 6216 uint64_t late_col:4; 6217 uint64_t xsdef:4; 6218 uint64_t xscol:4; 6219 uint64_t reserved_6_7:2; 6220 uint64_t undflw:4; 6221 uint64_t reserved_1_1:1; 6222 uint64_t pko_nxa:1; 6223 #else 6224 uint64_t pko_nxa:1; 6225 uint64_t reserved_1_1:1; 6226 uint64_t undflw:4; 6227 uint64_t reserved_6_7:2; 6228 uint64_t xscol:4; 6229 uint64_t xsdef:4; 6230 uint64_t late_col:4; 6231 uint64_t ptp_lost:4; 6232 uint64_t reserved_24_63:40; 6233 #endif 6234 } cn63xx; 6235 struct cvmx_gmxx_tx_int_en_cn63xx cn63xxp1; 6236 struct cvmx_gmxx_tx_int_en_s cn66xx; 6237 struct cvmx_gmxx_tx_int_en_cn68xx { 6238 #ifdef __BIG_ENDIAN_BITFIELD 6239 uint64_t reserved_25_63:39; 6240 uint64_t xchange:1; 6241 uint64_t ptp_lost:4; 6242 uint64_t late_col:4; 6243 uint64_t xsdef:4; 6244 uint64_t xscol:4; 6245 uint64_t reserved_6_7:2; 6246 uint64_t undflw:4; 6247 uint64_t pko_nxp:1; 6248 uint64_t pko_nxa:1; 6249 #else 6250 uint64_t pko_nxa:1; 6251 uint64_t pko_nxp:1; 6252 uint64_t undflw:4; 6253 uint64_t reserved_6_7:2; 6254 uint64_t xscol:4; 6255 uint64_t xsdef:4; 6256 uint64_t late_col:4; 6257 uint64_t ptp_lost:4; 6258 uint64_t xchange:1; 6259 uint64_t reserved_25_63:39; 6260 #endif 6261 } cn68xx; 6262 struct cvmx_gmxx_tx_int_en_cn68xx cn68xxp1; 6263 struct cvmx_gmxx_tx_int_en_cnf71xx { 6264 #ifdef __BIG_ENDIAN_BITFIELD 6265 uint64_t reserved_25_63:39; 6266 uint64_t xchange:1; 6267 uint64_t reserved_22_23:2; 6268 uint64_t ptp_lost:2; 6269 uint64_t reserved_18_19:2; 6270 uint64_t late_col:2; 6271 uint64_t reserved_14_15:2; 6272 uint64_t xsdef:2; 6273 uint64_t reserved_10_11:2; 6274 uint64_t xscol:2; 6275 uint64_t reserved_4_7:4; 6276 uint64_t undflw:2; 6277 uint64_t reserved_1_1:1; 6278 uint64_t pko_nxa:1; 6279 #else 6280 uint64_t pko_nxa:1; 6281 uint64_t reserved_1_1:1; 6282 uint64_t undflw:2; 6283 uint64_t reserved_4_7:4; 6284 uint64_t xscol:2; 6285 uint64_t reserved_10_11:2; 6286 uint64_t xsdef:2; 6287 uint64_t reserved_14_15:2; 6288 uint64_t late_col:2; 6289 uint64_t reserved_18_19:2; 6290 uint64_t ptp_lost:2; 6291 uint64_t reserved_22_23:2; 6292 uint64_t xchange:1; 6293 uint64_t reserved_25_63:39; 6294 #endif 6295 } cnf71xx; 6296 }; 6297 6298 union cvmx_gmxx_tx_int_reg { 6299 uint64_t u64; 6300 struct cvmx_gmxx_tx_int_reg_s { 6301 #ifdef __BIG_ENDIAN_BITFIELD 6302 uint64_t reserved_25_63:39; 6303 uint64_t xchange:1; 6304 uint64_t ptp_lost:4; 6305 uint64_t late_col:4; 6306 uint64_t xsdef:4; 6307 uint64_t xscol:4; 6308 uint64_t reserved_6_7:2; 6309 uint64_t undflw:4; 6310 uint64_t reserved_1_1:1; 6311 uint64_t pko_nxa:1; 6312 #else 6313 uint64_t pko_nxa:1; 6314 uint64_t reserved_1_1:1; 6315 uint64_t undflw:4; 6316 uint64_t reserved_6_7:2; 6317 uint64_t xscol:4; 6318 uint64_t xsdef:4; 6319 uint64_t late_col:4; 6320 uint64_t ptp_lost:4; 6321 uint64_t xchange:1; 6322 uint64_t reserved_25_63:39; 6323 #endif 6324 } s; 6325 struct cvmx_gmxx_tx_int_reg_cn30xx { 6326 #ifdef __BIG_ENDIAN_BITFIELD 6327 uint64_t reserved_19_63:45; 6328 uint64_t late_col:3; 6329 uint64_t reserved_15_15:1; 6330 uint64_t xsdef:3; 6331 uint64_t reserved_11_11:1; 6332 uint64_t xscol:3; 6333 uint64_t reserved_5_7:3; 6334 uint64_t undflw:3; 6335 uint64_t reserved_1_1:1; 6336 uint64_t pko_nxa:1; 6337 #else 6338 uint64_t pko_nxa:1; 6339 uint64_t reserved_1_1:1; 6340 uint64_t undflw:3; 6341 uint64_t reserved_5_7:3; 6342 uint64_t xscol:3; 6343 uint64_t reserved_11_11:1; 6344 uint64_t xsdef:3; 6345 uint64_t reserved_15_15:1; 6346 uint64_t late_col:3; 6347 uint64_t reserved_19_63:45; 6348 #endif 6349 } cn30xx; 6350 struct cvmx_gmxx_tx_int_reg_cn31xx { 6351 #ifdef __BIG_ENDIAN_BITFIELD 6352 uint64_t reserved_15_63:49; 6353 uint64_t xsdef:3; 6354 uint64_t reserved_11_11:1; 6355 uint64_t xscol:3; 6356 uint64_t reserved_5_7:3; 6357 uint64_t undflw:3; 6358 uint64_t reserved_1_1:1; 6359 uint64_t pko_nxa:1; 6360 #else 6361 uint64_t pko_nxa:1; 6362 uint64_t reserved_1_1:1; 6363 uint64_t undflw:3; 6364 uint64_t reserved_5_7:3; 6365 uint64_t xscol:3; 6366 uint64_t reserved_11_11:1; 6367 uint64_t xsdef:3; 6368 uint64_t reserved_15_63:49; 6369 #endif 6370 } cn31xx; 6371 struct cvmx_gmxx_tx_int_reg_cn38xx { 6372 #ifdef __BIG_ENDIAN_BITFIELD 6373 uint64_t reserved_20_63:44; 6374 uint64_t late_col:4; 6375 uint64_t xsdef:4; 6376 uint64_t xscol:4; 6377 uint64_t reserved_6_7:2; 6378 uint64_t undflw:4; 6379 uint64_t ncb_nxa:1; 6380 uint64_t pko_nxa:1; 6381 #else 6382 uint64_t pko_nxa:1; 6383 uint64_t ncb_nxa:1; 6384 uint64_t undflw:4; 6385 uint64_t reserved_6_7:2; 6386 uint64_t xscol:4; 6387 uint64_t xsdef:4; 6388 uint64_t late_col:4; 6389 uint64_t reserved_20_63:44; 6390 #endif 6391 } cn38xx; 6392 struct cvmx_gmxx_tx_int_reg_cn38xxp2 { 6393 #ifdef __BIG_ENDIAN_BITFIELD 6394 uint64_t reserved_16_63:48; 6395 uint64_t xsdef:4; 6396 uint64_t xscol:4; 6397 uint64_t reserved_6_7:2; 6398 uint64_t undflw:4; 6399 uint64_t ncb_nxa:1; 6400 uint64_t pko_nxa:1; 6401 #else 6402 uint64_t pko_nxa:1; 6403 uint64_t ncb_nxa:1; 6404 uint64_t undflw:4; 6405 uint64_t reserved_6_7:2; 6406 uint64_t xscol:4; 6407 uint64_t xsdef:4; 6408 uint64_t reserved_16_63:48; 6409 #endif 6410 } cn38xxp2; 6411 struct cvmx_gmxx_tx_int_reg_cn30xx cn50xx; 6412 struct cvmx_gmxx_tx_int_reg_cn52xx { 6413 #ifdef __BIG_ENDIAN_BITFIELD 6414 uint64_t reserved_20_63:44; 6415 uint64_t late_col:4; 6416 uint64_t xsdef:4; 6417 uint64_t xscol:4; 6418 uint64_t reserved_6_7:2; 6419 uint64_t undflw:4; 6420 uint64_t reserved_1_1:1; 6421 uint64_t pko_nxa:1; 6422 #else 6423 uint64_t pko_nxa:1; 6424 uint64_t reserved_1_1:1; 6425 uint64_t undflw:4; 6426 uint64_t reserved_6_7:2; 6427 uint64_t xscol:4; 6428 uint64_t xsdef:4; 6429 uint64_t late_col:4; 6430 uint64_t reserved_20_63:44; 6431 #endif 6432 } cn52xx; 6433 struct cvmx_gmxx_tx_int_reg_cn52xx cn52xxp1; 6434 struct cvmx_gmxx_tx_int_reg_cn52xx cn56xx; 6435 struct cvmx_gmxx_tx_int_reg_cn52xx cn56xxp1; 6436 struct cvmx_gmxx_tx_int_reg_cn38xx cn58xx; 6437 struct cvmx_gmxx_tx_int_reg_cn38xx cn58xxp1; 6438 struct cvmx_gmxx_tx_int_reg_s cn61xx; 6439 struct cvmx_gmxx_tx_int_reg_cn63xx { 6440 #ifdef __BIG_ENDIAN_BITFIELD 6441 uint64_t reserved_24_63:40; 6442 uint64_t ptp_lost:4; 6443 uint64_t late_col:4; 6444 uint64_t xsdef:4; 6445 uint64_t xscol:4; 6446 uint64_t reserved_6_7:2; 6447 uint64_t undflw:4; 6448 uint64_t reserved_1_1:1; 6449 uint64_t pko_nxa:1; 6450 #else 6451 uint64_t pko_nxa:1; 6452 uint64_t reserved_1_1:1; 6453 uint64_t undflw:4; 6454 uint64_t reserved_6_7:2; 6455 uint64_t xscol:4; 6456 uint64_t xsdef:4; 6457 uint64_t late_col:4; 6458 uint64_t ptp_lost:4; 6459 uint64_t reserved_24_63:40; 6460 #endif 6461 } cn63xx; 6462 struct cvmx_gmxx_tx_int_reg_cn63xx cn63xxp1; 6463 struct cvmx_gmxx_tx_int_reg_s cn66xx; 6464 struct cvmx_gmxx_tx_int_reg_cn68xx { 6465 #ifdef __BIG_ENDIAN_BITFIELD 6466 uint64_t reserved_25_63:39; 6467 uint64_t xchange:1; 6468 uint64_t ptp_lost:4; 6469 uint64_t late_col:4; 6470 uint64_t xsdef:4; 6471 uint64_t xscol:4; 6472 uint64_t reserved_6_7:2; 6473 uint64_t undflw:4; 6474 uint64_t pko_nxp:1; 6475 uint64_t pko_nxa:1; 6476 #else 6477 uint64_t pko_nxa:1; 6478 uint64_t pko_nxp:1; 6479 uint64_t undflw:4; 6480 uint64_t reserved_6_7:2; 6481 uint64_t xscol:4; 6482 uint64_t xsdef:4; 6483 uint64_t late_col:4; 6484 uint64_t ptp_lost:4; 6485 uint64_t xchange:1; 6486 uint64_t reserved_25_63:39; 6487 #endif 6488 } cn68xx; 6489 struct cvmx_gmxx_tx_int_reg_cn68xx cn68xxp1; 6490 struct cvmx_gmxx_tx_int_reg_cnf71xx { 6491 #ifdef __BIG_ENDIAN_BITFIELD 6492 uint64_t reserved_25_63:39; 6493 uint64_t xchange:1; 6494 uint64_t reserved_22_23:2; 6495 uint64_t ptp_lost:2; 6496 uint64_t reserved_18_19:2; 6497 uint64_t late_col:2; 6498 uint64_t reserved_14_15:2; 6499 uint64_t xsdef:2; 6500 uint64_t reserved_10_11:2; 6501 uint64_t xscol:2; 6502 uint64_t reserved_4_7:4; 6503 uint64_t undflw:2; 6504 uint64_t reserved_1_1:1; 6505 uint64_t pko_nxa:1; 6506 #else 6507 uint64_t pko_nxa:1; 6508 uint64_t reserved_1_1:1; 6509 uint64_t undflw:2; 6510 uint64_t reserved_4_7:4; 6511 uint64_t xscol:2; 6512 uint64_t reserved_10_11:2; 6513 uint64_t xsdef:2; 6514 uint64_t reserved_14_15:2; 6515 uint64_t late_col:2; 6516 uint64_t reserved_18_19:2; 6517 uint64_t ptp_lost:2; 6518 uint64_t reserved_22_23:2; 6519 uint64_t xchange:1; 6520 uint64_t reserved_25_63:39; 6521 #endif 6522 } cnf71xx; 6523 }; 6524 6525 union cvmx_gmxx_tx_jam { 6526 uint64_t u64; 6527 struct cvmx_gmxx_tx_jam_s { 6528 #ifdef __BIG_ENDIAN_BITFIELD 6529 uint64_t reserved_8_63:56; 6530 uint64_t jam:8; 6531 #else 6532 uint64_t jam:8; 6533 uint64_t reserved_8_63:56; 6534 #endif 6535 } s; 6536 struct cvmx_gmxx_tx_jam_s cn30xx; 6537 struct cvmx_gmxx_tx_jam_s cn31xx; 6538 struct cvmx_gmxx_tx_jam_s cn38xx; 6539 struct cvmx_gmxx_tx_jam_s cn38xxp2; 6540 struct cvmx_gmxx_tx_jam_s cn50xx; 6541 struct cvmx_gmxx_tx_jam_s cn52xx; 6542 struct cvmx_gmxx_tx_jam_s cn52xxp1; 6543 struct cvmx_gmxx_tx_jam_s cn56xx; 6544 struct cvmx_gmxx_tx_jam_s cn56xxp1; 6545 struct cvmx_gmxx_tx_jam_s cn58xx; 6546 struct cvmx_gmxx_tx_jam_s cn58xxp1; 6547 struct cvmx_gmxx_tx_jam_s cn61xx; 6548 struct cvmx_gmxx_tx_jam_s cn63xx; 6549 struct cvmx_gmxx_tx_jam_s cn63xxp1; 6550 struct cvmx_gmxx_tx_jam_s cn66xx; 6551 struct cvmx_gmxx_tx_jam_s cn68xx; 6552 struct cvmx_gmxx_tx_jam_s cn68xxp1; 6553 struct cvmx_gmxx_tx_jam_s cnf71xx; 6554 }; 6555 6556 union cvmx_gmxx_tx_lfsr { 6557 uint64_t u64; 6558 struct cvmx_gmxx_tx_lfsr_s { 6559 #ifdef __BIG_ENDIAN_BITFIELD 6560 uint64_t reserved_16_63:48; 6561 uint64_t lfsr:16; 6562 #else 6563 uint64_t lfsr:16; 6564 uint64_t reserved_16_63:48; 6565 #endif 6566 } s; 6567 struct cvmx_gmxx_tx_lfsr_s cn30xx; 6568 struct cvmx_gmxx_tx_lfsr_s cn31xx; 6569 struct cvmx_gmxx_tx_lfsr_s cn38xx; 6570 struct cvmx_gmxx_tx_lfsr_s cn38xxp2; 6571 struct cvmx_gmxx_tx_lfsr_s cn50xx; 6572 struct cvmx_gmxx_tx_lfsr_s cn52xx; 6573 struct cvmx_gmxx_tx_lfsr_s cn52xxp1; 6574 struct cvmx_gmxx_tx_lfsr_s cn56xx; 6575 struct cvmx_gmxx_tx_lfsr_s cn56xxp1; 6576 struct cvmx_gmxx_tx_lfsr_s cn58xx; 6577 struct cvmx_gmxx_tx_lfsr_s cn58xxp1; 6578 struct cvmx_gmxx_tx_lfsr_s cn61xx; 6579 struct cvmx_gmxx_tx_lfsr_s cn63xx; 6580 struct cvmx_gmxx_tx_lfsr_s cn63xxp1; 6581 struct cvmx_gmxx_tx_lfsr_s cn66xx; 6582 struct cvmx_gmxx_tx_lfsr_s cn68xx; 6583 struct cvmx_gmxx_tx_lfsr_s cn68xxp1; 6584 struct cvmx_gmxx_tx_lfsr_s cnf71xx; 6585 }; 6586 6587 union cvmx_gmxx_tx_ovr_bp { 6588 uint64_t u64; 6589 struct cvmx_gmxx_tx_ovr_bp_s { 6590 #ifdef __BIG_ENDIAN_BITFIELD 6591 uint64_t reserved_48_63:16; 6592 uint64_t tx_prt_bp:16; 6593 uint64_t reserved_12_31:20; 6594 uint64_t en:4; 6595 uint64_t bp:4; 6596 uint64_t ign_full:4; 6597 #else 6598 uint64_t ign_full:4; 6599 uint64_t bp:4; 6600 uint64_t en:4; 6601 uint64_t reserved_12_31:20; 6602 uint64_t tx_prt_bp:16; 6603 uint64_t reserved_48_63:16; 6604 #endif 6605 } s; 6606 struct cvmx_gmxx_tx_ovr_bp_cn30xx { 6607 #ifdef __BIG_ENDIAN_BITFIELD 6608 uint64_t reserved_11_63:53; 6609 uint64_t en:3; 6610 uint64_t reserved_7_7:1; 6611 uint64_t bp:3; 6612 uint64_t reserved_3_3:1; 6613 uint64_t ign_full:3; 6614 #else 6615 uint64_t ign_full:3; 6616 uint64_t reserved_3_3:1; 6617 uint64_t bp:3; 6618 uint64_t reserved_7_7:1; 6619 uint64_t en:3; 6620 uint64_t reserved_11_63:53; 6621 #endif 6622 } cn30xx; 6623 struct cvmx_gmxx_tx_ovr_bp_cn30xx cn31xx; 6624 struct cvmx_gmxx_tx_ovr_bp_cn38xx { 6625 #ifdef __BIG_ENDIAN_BITFIELD 6626 uint64_t reserved_12_63:52; 6627 uint64_t en:4; 6628 uint64_t bp:4; 6629 uint64_t ign_full:4; 6630 #else 6631 uint64_t ign_full:4; 6632 uint64_t bp:4; 6633 uint64_t en:4; 6634 uint64_t reserved_12_63:52; 6635 #endif 6636 } cn38xx; 6637 struct cvmx_gmxx_tx_ovr_bp_cn38xx cn38xxp2; 6638 struct cvmx_gmxx_tx_ovr_bp_cn30xx cn50xx; 6639 struct cvmx_gmxx_tx_ovr_bp_s cn52xx; 6640 struct cvmx_gmxx_tx_ovr_bp_s cn52xxp1; 6641 struct cvmx_gmxx_tx_ovr_bp_s cn56xx; 6642 struct cvmx_gmxx_tx_ovr_bp_s cn56xxp1; 6643 struct cvmx_gmxx_tx_ovr_bp_cn38xx cn58xx; 6644 struct cvmx_gmxx_tx_ovr_bp_cn38xx cn58xxp1; 6645 struct cvmx_gmxx_tx_ovr_bp_s cn61xx; 6646 struct cvmx_gmxx_tx_ovr_bp_s cn63xx; 6647 struct cvmx_gmxx_tx_ovr_bp_s cn63xxp1; 6648 struct cvmx_gmxx_tx_ovr_bp_s cn66xx; 6649 struct cvmx_gmxx_tx_ovr_bp_s cn68xx; 6650 struct cvmx_gmxx_tx_ovr_bp_s cn68xxp1; 6651 struct cvmx_gmxx_tx_ovr_bp_cnf71xx { 6652 #ifdef __BIG_ENDIAN_BITFIELD 6653 uint64_t reserved_48_63:16; 6654 uint64_t tx_prt_bp:16; 6655 uint64_t reserved_10_31:22; 6656 uint64_t en:2; 6657 uint64_t reserved_6_7:2; 6658 uint64_t bp:2; 6659 uint64_t reserved_2_3:2; 6660 uint64_t ign_full:2; 6661 #else 6662 uint64_t ign_full:2; 6663 uint64_t reserved_2_3:2; 6664 uint64_t bp:2; 6665 uint64_t reserved_6_7:2; 6666 uint64_t en:2; 6667 uint64_t reserved_10_31:22; 6668 uint64_t tx_prt_bp:16; 6669 uint64_t reserved_48_63:16; 6670 #endif 6671 } cnf71xx; 6672 }; 6673 6674 union cvmx_gmxx_tx_pause_pkt_dmac { 6675 uint64_t u64; 6676 struct cvmx_gmxx_tx_pause_pkt_dmac_s { 6677 #ifdef __BIG_ENDIAN_BITFIELD 6678 uint64_t reserved_48_63:16; 6679 uint64_t dmac:48; 6680 #else 6681 uint64_t dmac:48; 6682 uint64_t reserved_48_63:16; 6683 #endif 6684 } s; 6685 struct cvmx_gmxx_tx_pause_pkt_dmac_s cn30xx; 6686 struct cvmx_gmxx_tx_pause_pkt_dmac_s cn31xx; 6687 struct cvmx_gmxx_tx_pause_pkt_dmac_s cn38xx; 6688 struct cvmx_gmxx_tx_pause_pkt_dmac_s cn38xxp2; 6689 struct cvmx_gmxx_tx_pause_pkt_dmac_s cn50xx; 6690 struct cvmx_gmxx_tx_pause_pkt_dmac_s cn52xx; 6691 struct cvmx_gmxx_tx_pause_pkt_dmac_s cn52xxp1; 6692 struct cvmx_gmxx_tx_pause_pkt_dmac_s cn56xx; 6693 struct cvmx_gmxx_tx_pause_pkt_dmac_s cn56xxp1; 6694 struct cvmx_gmxx_tx_pause_pkt_dmac_s cn58xx; 6695 struct cvmx_gmxx_tx_pause_pkt_dmac_s cn58xxp1; 6696 struct cvmx_gmxx_tx_pause_pkt_dmac_s cn61xx; 6697 struct cvmx_gmxx_tx_pause_pkt_dmac_s cn63xx; 6698 struct cvmx_gmxx_tx_pause_pkt_dmac_s cn63xxp1; 6699 struct cvmx_gmxx_tx_pause_pkt_dmac_s cn66xx; 6700 struct cvmx_gmxx_tx_pause_pkt_dmac_s cn68xx; 6701 struct cvmx_gmxx_tx_pause_pkt_dmac_s cn68xxp1; 6702 struct cvmx_gmxx_tx_pause_pkt_dmac_s cnf71xx; 6703 }; 6704 6705 union cvmx_gmxx_tx_pause_pkt_type { 6706 uint64_t u64; 6707 struct cvmx_gmxx_tx_pause_pkt_type_s { 6708 #ifdef __BIG_ENDIAN_BITFIELD 6709 uint64_t reserved_16_63:48; 6710 uint64_t type:16; 6711 #else 6712 uint64_t type:16; 6713 uint64_t reserved_16_63:48; 6714 #endif 6715 } s; 6716 struct cvmx_gmxx_tx_pause_pkt_type_s cn30xx; 6717 struct cvmx_gmxx_tx_pause_pkt_type_s cn31xx; 6718 struct cvmx_gmxx_tx_pause_pkt_type_s cn38xx; 6719 struct cvmx_gmxx_tx_pause_pkt_type_s cn38xxp2; 6720 struct cvmx_gmxx_tx_pause_pkt_type_s cn50xx; 6721 struct cvmx_gmxx_tx_pause_pkt_type_s cn52xx; 6722 struct cvmx_gmxx_tx_pause_pkt_type_s cn52xxp1; 6723 struct cvmx_gmxx_tx_pause_pkt_type_s cn56xx; 6724 struct cvmx_gmxx_tx_pause_pkt_type_s cn56xxp1; 6725 struct cvmx_gmxx_tx_pause_pkt_type_s cn58xx; 6726 struct cvmx_gmxx_tx_pause_pkt_type_s cn58xxp1; 6727 struct cvmx_gmxx_tx_pause_pkt_type_s cn61xx; 6728 struct cvmx_gmxx_tx_pause_pkt_type_s cn63xx; 6729 struct cvmx_gmxx_tx_pause_pkt_type_s cn63xxp1; 6730 struct cvmx_gmxx_tx_pause_pkt_type_s cn66xx; 6731 struct cvmx_gmxx_tx_pause_pkt_type_s cn68xx; 6732 struct cvmx_gmxx_tx_pause_pkt_type_s cn68xxp1; 6733 struct cvmx_gmxx_tx_pause_pkt_type_s cnf71xx; 6734 }; 6735 6736 union cvmx_gmxx_tx_prts { 6737 uint64_t u64; 6738 struct cvmx_gmxx_tx_prts_s { 6739 #ifdef __BIG_ENDIAN_BITFIELD 6740 uint64_t reserved_5_63:59; 6741 uint64_t prts:5; 6742 #else 6743 uint64_t prts:5; 6744 uint64_t reserved_5_63:59; 6745 #endif 6746 } s; 6747 struct cvmx_gmxx_tx_prts_s cn30xx; 6748 struct cvmx_gmxx_tx_prts_s cn31xx; 6749 struct cvmx_gmxx_tx_prts_s cn38xx; 6750 struct cvmx_gmxx_tx_prts_s cn38xxp2; 6751 struct cvmx_gmxx_tx_prts_s cn50xx; 6752 struct cvmx_gmxx_tx_prts_s cn52xx; 6753 struct cvmx_gmxx_tx_prts_s cn52xxp1; 6754 struct cvmx_gmxx_tx_prts_s cn56xx; 6755 struct cvmx_gmxx_tx_prts_s cn56xxp1; 6756 struct cvmx_gmxx_tx_prts_s cn58xx; 6757 struct cvmx_gmxx_tx_prts_s cn58xxp1; 6758 struct cvmx_gmxx_tx_prts_s cn61xx; 6759 struct cvmx_gmxx_tx_prts_s cn63xx; 6760 struct cvmx_gmxx_tx_prts_s cn63xxp1; 6761 struct cvmx_gmxx_tx_prts_s cn66xx; 6762 struct cvmx_gmxx_tx_prts_s cn68xx; 6763 struct cvmx_gmxx_tx_prts_s cn68xxp1; 6764 struct cvmx_gmxx_tx_prts_s cnf71xx; 6765 }; 6766 6767 union cvmx_gmxx_tx_spi_ctl { 6768 uint64_t u64; 6769 struct cvmx_gmxx_tx_spi_ctl_s { 6770 #ifdef __BIG_ENDIAN_BITFIELD 6771 uint64_t reserved_2_63:62; 6772 uint64_t tpa_clr:1; 6773 uint64_t cont_pkt:1; 6774 #else 6775 uint64_t cont_pkt:1; 6776 uint64_t tpa_clr:1; 6777 uint64_t reserved_2_63:62; 6778 #endif 6779 } s; 6780 struct cvmx_gmxx_tx_spi_ctl_s cn38xx; 6781 struct cvmx_gmxx_tx_spi_ctl_s cn38xxp2; 6782 struct cvmx_gmxx_tx_spi_ctl_s cn58xx; 6783 struct cvmx_gmxx_tx_spi_ctl_s cn58xxp1; 6784 }; 6785 6786 union cvmx_gmxx_tx_spi_drain { 6787 uint64_t u64; 6788 struct cvmx_gmxx_tx_spi_drain_s { 6789 #ifdef __BIG_ENDIAN_BITFIELD 6790 uint64_t reserved_16_63:48; 6791 uint64_t drain:16; 6792 #else 6793 uint64_t drain:16; 6794 uint64_t reserved_16_63:48; 6795 #endif 6796 } s; 6797 struct cvmx_gmxx_tx_spi_drain_s cn38xx; 6798 struct cvmx_gmxx_tx_spi_drain_s cn58xx; 6799 struct cvmx_gmxx_tx_spi_drain_s cn58xxp1; 6800 }; 6801 6802 union cvmx_gmxx_tx_spi_max { 6803 uint64_t u64; 6804 struct cvmx_gmxx_tx_spi_max_s { 6805 #ifdef __BIG_ENDIAN_BITFIELD 6806 uint64_t reserved_23_63:41; 6807 uint64_t slice:7; 6808 uint64_t max2:8; 6809 uint64_t max1:8; 6810 #else 6811 uint64_t max1:8; 6812 uint64_t max2:8; 6813 uint64_t slice:7; 6814 uint64_t reserved_23_63:41; 6815 #endif 6816 } s; 6817 struct cvmx_gmxx_tx_spi_max_cn38xx { 6818 #ifdef __BIG_ENDIAN_BITFIELD 6819 uint64_t reserved_16_63:48; 6820 uint64_t max2:8; 6821 uint64_t max1:8; 6822 #else 6823 uint64_t max1:8; 6824 uint64_t max2:8; 6825 uint64_t reserved_16_63:48; 6826 #endif 6827 } cn38xx; 6828 struct cvmx_gmxx_tx_spi_max_cn38xx cn38xxp2; 6829 struct cvmx_gmxx_tx_spi_max_s cn58xx; 6830 struct cvmx_gmxx_tx_spi_max_s cn58xxp1; 6831 }; 6832 6833 union cvmx_gmxx_tx_spi_roundx { 6834 uint64_t u64; 6835 struct cvmx_gmxx_tx_spi_roundx_s { 6836 #ifdef __BIG_ENDIAN_BITFIELD 6837 uint64_t reserved_16_63:48; 6838 uint64_t round:16; 6839 #else 6840 uint64_t round:16; 6841 uint64_t reserved_16_63:48; 6842 #endif 6843 } s; 6844 struct cvmx_gmxx_tx_spi_roundx_s cn58xx; 6845 struct cvmx_gmxx_tx_spi_roundx_s cn58xxp1; 6846 }; 6847 6848 union cvmx_gmxx_tx_spi_thresh { 6849 uint64_t u64; 6850 struct cvmx_gmxx_tx_spi_thresh_s { 6851 #ifdef __BIG_ENDIAN_BITFIELD 6852 uint64_t reserved_6_63:58; 6853 uint64_t thresh:6; 6854 #else 6855 uint64_t thresh:6; 6856 uint64_t reserved_6_63:58; 6857 #endif 6858 } s; 6859 struct cvmx_gmxx_tx_spi_thresh_s cn38xx; 6860 struct cvmx_gmxx_tx_spi_thresh_s cn38xxp2; 6861 struct cvmx_gmxx_tx_spi_thresh_s cn58xx; 6862 struct cvmx_gmxx_tx_spi_thresh_s cn58xxp1; 6863 }; 6864 6865 union cvmx_gmxx_tx_xaui_ctl { 6866 uint64_t u64; 6867 struct cvmx_gmxx_tx_xaui_ctl_s { 6868 #ifdef __BIG_ENDIAN_BITFIELD 6869 uint64_t reserved_11_63:53; 6870 uint64_t hg_pause_hgi:2; 6871 uint64_t hg_en:1; 6872 uint64_t reserved_7_7:1; 6873 uint64_t ls_byp:1; 6874 uint64_t ls:2; 6875 uint64_t reserved_2_3:2; 6876 uint64_t uni_en:1; 6877 uint64_t dic_en:1; 6878 #else 6879 uint64_t dic_en:1; 6880 uint64_t uni_en:1; 6881 uint64_t reserved_2_3:2; 6882 uint64_t ls:2; 6883 uint64_t ls_byp:1; 6884 uint64_t reserved_7_7:1; 6885 uint64_t hg_en:1; 6886 uint64_t hg_pause_hgi:2; 6887 uint64_t reserved_11_63:53; 6888 #endif 6889 } s; 6890 struct cvmx_gmxx_tx_xaui_ctl_s cn52xx; 6891 struct cvmx_gmxx_tx_xaui_ctl_s cn52xxp1; 6892 struct cvmx_gmxx_tx_xaui_ctl_s cn56xx; 6893 struct cvmx_gmxx_tx_xaui_ctl_s cn56xxp1; 6894 struct cvmx_gmxx_tx_xaui_ctl_s cn61xx; 6895 struct cvmx_gmxx_tx_xaui_ctl_s cn63xx; 6896 struct cvmx_gmxx_tx_xaui_ctl_s cn63xxp1; 6897 struct cvmx_gmxx_tx_xaui_ctl_s cn66xx; 6898 struct cvmx_gmxx_tx_xaui_ctl_s cn68xx; 6899 struct cvmx_gmxx_tx_xaui_ctl_s cn68xxp1; 6900 struct cvmx_gmxx_tx_xaui_ctl_s cnf71xx; 6901 }; 6902 6903 union cvmx_gmxx_xaui_ext_loopback { 6904 uint64_t u64; 6905 struct cvmx_gmxx_xaui_ext_loopback_s { 6906 #ifdef __BIG_ENDIAN_BITFIELD 6907 uint64_t reserved_5_63:59; 6908 uint64_t en:1; 6909 uint64_t thresh:4; 6910 #else 6911 uint64_t thresh:4; 6912 uint64_t en:1; 6913 uint64_t reserved_5_63:59; 6914 #endif 6915 } s; 6916 struct cvmx_gmxx_xaui_ext_loopback_s cn52xx; 6917 struct cvmx_gmxx_xaui_ext_loopback_s cn52xxp1; 6918 struct cvmx_gmxx_xaui_ext_loopback_s cn56xx; 6919 struct cvmx_gmxx_xaui_ext_loopback_s cn56xxp1; 6920 struct cvmx_gmxx_xaui_ext_loopback_s cn61xx; 6921 struct cvmx_gmxx_xaui_ext_loopback_s cn63xx; 6922 struct cvmx_gmxx_xaui_ext_loopback_s cn63xxp1; 6923 struct cvmx_gmxx_xaui_ext_loopback_s cn66xx; 6924 struct cvmx_gmxx_xaui_ext_loopback_s cn68xx; 6925 struct cvmx_gmxx_xaui_ext_loopback_s cn68xxp1; 6926 struct cvmx_gmxx_xaui_ext_loopback_s cnf71xx; 6927 }; 6928 6929 #endif 6930