linux/arch/mips/include/asm/octeon/cvmx-iob-defs.h
<<
>>
Prefs
   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_IOB_DEFS_H__
  29#define __CVMX_IOB_DEFS_H__
  30
  31#define CVMX_IOB_BIST_STATUS (CVMX_ADD_IO_SEG(0x00011800F00007F8ull))
  32#define CVMX_IOB_CTL_STATUS (CVMX_ADD_IO_SEG(0x00011800F0000050ull))
  33#define CVMX_IOB_DWB_PRI_CNT (CVMX_ADD_IO_SEG(0x00011800F0000028ull))
  34#define CVMX_IOB_FAU_TIMEOUT (CVMX_ADD_IO_SEG(0x00011800F0000000ull))
  35#define CVMX_IOB_I2C_PRI_CNT (CVMX_ADD_IO_SEG(0x00011800F0000010ull))
  36#define CVMX_IOB_INB_CONTROL_MATCH (CVMX_ADD_IO_SEG(0x00011800F0000078ull))
  37#define CVMX_IOB_INB_CONTROL_MATCH_ENB (CVMX_ADD_IO_SEG(0x00011800F0000088ull))
  38#define CVMX_IOB_INB_DATA_MATCH (CVMX_ADD_IO_SEG(0x00011800F0000070ull))
  39#define CVMX_IOB_INB_DATA_MATCH_ENB (CVMX_ADD_IO_SEG(0x00011800F0000080ull))
  40#define CVMX_IOB_INT_ENB (CVMX_ADD_IO_SEG(0x00011800F0000060ull))
  41#define CVMX_IOB_INT_SUM (CVMX_ADD_IO_SEG(0x00011800F0000058ull))
  42#define CVMX_IOB_N2C_L2C_PRI_CNT (CVMX_ADD_IO_SEG(0x00011800F0000020ull))
  43#define CVMX_IOB_N2C_RSP_PRI_CNT (CVMX_ADD_IO_SEG(0x00011800F0000008ull))
  44#define CVMX_IOB_OUTB_COM_PRI_CNT (CVMX_ADD_IO_SEG(0x00011800F0000040ull))
  45#define CVMX_IOB_OUTB_CONTROL_MATCH (CVMX_ADD_IO_SEG(0x00011800F0000098ull))
  46#define CVMX_IOB_OUTB_CONTROL_MATCH_ENB (CVMX_ADD_IO_SEG(0x00011800F00000A8ull))
  47#define CVMX_IOB_OUTB_DATA_MATCH (CVMX_ADD_IO_SEG(0x00011800F0000090ull))
  48#define CVMX_IOB_OUTB_DATA_MATCH_ENB (CVMX_ADD_IO_SEG(0x00011800F00000A0ull))
  49#define CVMX_IOB_OUTB_FPA_PRI_CNT (CVMX_ADD_IO_SEG(0x00011800F0000048ull))
  50#define CVMX_IOB_OUTB_REQ_PRI_CNT (CVMX_ADD_IO_SEG(0x00011800F0000038ull))
  51#define CVMX_IOB_P2C_REQ_PRI_CNT (CVMX_ADD_IO_SEG(0x00011800F0000018ull))
  52#define CVMX_IOB_PKT_ERR (CVMX_ADD_IO_SEG(0x00011800F0000068ull))
  53#define CVMX_IOB_TO_CMB_CREDITS (CVMX_ADD_IO_SEG(0x00011800F00000B0ull))
  54#define CVMX_IOB_TO_NCB_DID_00_CREDITS (CVMX_ADD_IO_SEG(0x00011800F0000800ull))
  55#define CVMX_IOB_TO_NCB_DID_111_CREDITS (CVMX_ADD_IO_SEG(0x00011800F0000B78ull))
  56#define CVMX_IOB_TO_NCB_DID_223_CREDITS (CVMX_ADD_IO_SEG(0x00011800F0000EF8ull))
  57#define CVMX_IOB_TO_NCB_DID_24_CREDITS (CVMX_ADD_IO_SEG(0x00011800F00008C0ull))
  58#define CVMX_IOB_TO_NCB_DID_32_CREDITS (CVMX_ADD_IO_SEG(0x00011800F0000900ull))
  59#define CVMX_IOB_TO_NCB_DID_40_CREDITS (CVMX_ADD_IO_SEG(0x00011800F0000940ull))
  60#define CVMX_IOB_TO_NCB_DID_55_CREDITS (CVMX_ADD_IO_SEG(0x00011800F00009B8ull))
  61#define CVMX_IOB_TO_NCB_DID_64_CREDITS (CVMX_ADD_IO_SEG(0x00011800F0000A00ull))
  62#define CVMX_IOB_TO_NCB_DID_79_CREDITS (CVMX_ADD_IO_SEG(0x00011800F0000A78ull))
  63#define CVMX_IOB_TO_NCB_DID_96_CREDITS (CVMX_ADD_IO_SEG(0x00011800F0000B00ull))
  64#define CVMX_IOB_TO_NCB_DID_98_CREDITS (CVMX_ADD_IO_SEG(0x00011800F0000B10ull))
  65
  66union cvmx_iob_bist_status {
  67        uint64_t u64;
  68        struct cvmx_iob_bist_status_s {
  69#ifdef __BIG_ENDIAN_BITFIELD
  70                uint64_t reserved_2_63:62;
  71                uint64_t ibd:1;
  72                uint64_t icd:1;
  73#else
  74                uint64_t icd:1;
  75                uint64_t ibd:1;
  76                uint64_t reserved_2_63:62;
  77#endif
  78        } s;
  79        struct cvmx_iob_bist_status_cn30xx {
  80#ifdef __BIG_ENDIAN_BITFIELD
  81                uint64_t reserved_18_63:46;
  82                uint64_t icnrcb:1;
  83                uint64_t icr0:1;
  84                uint64_t icr1:1;
  85                uint64_t icnr1:1;
  86                uint64_t icnr0:1;
  87                uint64_t ibdr0:1;
  88                uint64_t ibdr1:1;
  89                uint64_t ibr0:1;
  90                uint64_t ibr1:1;
  91                uint64_t icnrt:1;
  92                uint64_t ibrq0:1;
  93                uint64_t ibrq1:1;
  94                uint64_t icrn0:1;
  95                uint64_t icrn1:1;
  96                uint64_t icrp0:1;
  97                uint64_t icrp1:1;
  98                uint64_t ibd:1;
  99                uint64_t icd:1;
 100#else
 101                uint64_t icd:1;
 102                uint64_t ibd:1;
 103                uint64_t icrp1:1;
 104                uint64_t icrp0:1;
 105                uint64_t icrn1:1;
 106                uint64_t icrn0:1;
 107                uint64_t ibrq1:1;
 108                uint64_t ibrq0:1;
 109                uint64_t icnrt:1;
 110                uint64_t ibr1:1;
 111                uint64_t ibr0:1;
 112                uint64_t ibdr1:1;
 113                uint64_t ibdr0:1;
 114                uint64_t icnr0:1;
 115                uint64_t icnr1:1;
 116                uint64_t icr1:1;
 117                uint64_t icr0:1;
 118                uint64_t icnrcb:1;
 119                uint64_t reserved_18_63:46;
 120#endif
 121        } cn30xx;
 122        struct cvmx_iob_bist_status_cn30xx cn31xx;
 123        struct cvmx_iob_bist_status_cn30xx cn38xx;
 124        struct cvmx_iob_bist_status_cn30xx cn38xxp2;
 125        struct cvmx_iob_bist_status_cn30xx cn50xx;
 126        struct cvmx_iob_bist_status_cn30xx cn52xx;
 127        struct cvmx_iob_bist_status_cn30xx cn52xxp1;
 128        struct cvmx_iob_bist_status_cn30xx cn56xx;
 129        struct cvmx_iob_bist_status_cn30xx cn56xxp1;
 130        struct cvmx_iob_bist_status_cn30xx cn58xx;
 131        struct cvmx_iob_bist_status_cn30xx cn58xxp1;
 132        struct cvmx_iob_bist_status_cn61xx {
 133#ifdef __BIG_ENDIAN_BITFIELD
 134                uint64_t reserved_23_63:41;
 135                uint64_t xmdfif:1;
 136                uint64_t xmcfif:1;
 137                uint64_t iorfif:1;
 138                uint64_t rsdfif:1;
 139                uint64_t iocfif:1;
 140                uint64_t icnrcb:1;
 141                uint64_t icr0:1;
 142                uint64_t icr1:1;
 143                uint64_t icnr1:1;
 144                uint64_t icnr0:1;
 145                uint64_t ibdr0:1;
 146                uint64_t ibdr1:1;
 147                uint64_t ibr0:1;
 148                uint64_t ibr1:1;
 149                uint64_t icnrt:1;
 150                uint64_t ibrq0:1;
 151                uint64_t ibrq1:1;
 152                uint64_t icrn0:1;
 153                uint64_t icrn1:1;
 154                uint64_t icrp0:1;
 155                uint64_t icrp1:1;
 156                uint64_t ibd:1;
 157                uint64_t icd:1;
 158#else
 159                uint64_t icd:1;
 160                uint64_t ibd:1;
 161                uint64_t icrp1:1;
 162                uint64_t icrp0:1;
 163                uint64_t icrn1:1;
 164                uint64_t icrn0:1;
 165                uint64_t ibrq1:1;
 166                uint64_t ibrq0:1;
 167                uint64_t icnrt:1;
 168                uint64_t ibr1:1;
 169                uint64_t ibr0:1;
 170                uint64_t ibdr1:1;
 171                uint64_t ibdr0:1;
 172                uint64_t icnr0:1;
 173                uint64_t icnr1:1;
 174                uint64_t icr1:1;
 175                uint64_t icr0:1;
 176                uint64_t icnrcb:1;
 177                uint64_t iocfif:1;
 178                uint64_t rsdfif:1;
 179                uint64_t iorfif:1;
 180                uint64_t xmcfif:1;
 181                uint64_t xmdfif:1;
 182                uint64_t reserved_23_63:41;
 183#endif
 184        } cn61xx;
 185        struct cvmx_iob_bist_status_cn61xx cn63xx;
 186        struct cvmx_iob_bist_status_cn61xx cn63xxp1;
 187        struct cvmx_iob_bist_status_cn61xx cn66xx;
 188        struct cvmx_iob_bist_status_cn68xx {
 189#ifdef __BIG_ENDIAN_BITFIELD
 190                uint64_t reserved_18_63:46;
 191                uint64_t xmdfif:1;
 192                uint64_t xmcfif:1;
 193                uint64_t iorfif:1;
 194                uint64_t rsdfif:1;
 195                uint64_t iocfif:1;
 196                uint64_t icnrcb:1;
 197                uint64_t icr0:1;
 198                uint64_t icr1:1;
 199                uint64_t icnr0:1;
 200                uint64_t ibr0:1;
 201                uint64_t ibr1:1;
 202                uint64_t icnrt:1;
 203                uint64_t ibrq0:1;
 204                uint64_t ibrq1:1;
 205                uint64_t icrn0:1;
 206                uint64_t icrn1:1;
 207                uint64_t ibd:1;
 208                uint64_t icd:1;
 209#else
 210                uint64_t icd:1;
 211                uint64_t ibd:1;
 212                uint64_t icrn1:1;
 213                uint64_t icrn0:1;
 214                uint64_t ibrq1:1;
 215                uint64_t ibrq0:1;
 216                uint64_t icnrt:1;
 217                uint64_t ibr1:1;
 218                uint64_t ibr0:1;
 219                uint64_t icnr0:1;
 220                uint64_t icr1:1;
 221                uint64_t icr0:1;
 222                uint64_t icnrcb:1;
 223                uint64_t iocfif:1;
 224                uint64_t rsdfif:1;
 225                uint64_t iorfif:1;
 226                uint64_t xmcfif:1;
 227                uint64_t xmdfif:1;
 228                uint64_t reserved_18_63:46;
 229#endif
 230        } cn68xx;
 231        struct cvmx_iob_bist_status_cn68xx cn68xxp1;
 232        struct cvmx_iob_bist_status_cn61xx cnf71xx;
 233};
 234
 235union cvmx_iob_ctl_status {
 236        uint64_t u64;
 237        struct cvmx_iob_ctl_status_s {
 238#ifdef __BIG_ENDIAN_BITFIELD
 239                uint64_t reserved_11_63:53;
 240                uint64_t fif_dly:1;
 241                uint64_t xmc_per:4;
 242                uint64_t reserved_5_5:1;
 243                uint64_t outb_mat:1;
 244                uint64_t inb_mat:1;
 245                uint64_t pko_enb:1;
 246                uint64_t dwb_enb:1;
 247                uint64_t fau_end:1;
 248#else
 249                uint64_t fau_end:1;
 250                uint64_t dwb_enb:1;
 251                uint64_t pko_enb:1;
 252                uint64_t inb_mat:1;
 253                uint64_t outb_mat:1;
 254                uint64_t reserved_5_5:1;
 255                uint64_t xmc_per:4;
 256                uint64_t fif_dly:1;
 257                uint64_t reserved_11_63:53;
 258#endif
 259        } s;
 260        struct cvmx_iob_ctl_status_cn30xx {
 261#ifdef __BIG_ENDIAN_BITFIELD
 262                uint64_t reserved_5_63:59;
 263                uint64_t outb_mat:1;
 264                uint64_t inb_mat:1;
 265                uint64_t pko_enb:1;
 266                uint64_t dwb_enb:1;
 267                uint64_t fau_end:1;
 268#else
 269                uint64_t fau_end:1;
 270                uint64_t dwb_enb:1;
 271                uint64_t pko_enb:1;
 272                uint64_t inb_mat:1;
 273                uint64_t outb_mat:1;
 274                uint64_t reserved_5_63:59;
 275#endif
 276        } cn30xx;
 277        struct cvmx_iob_ctl_status_cn30xx cn31xx;
 278        struct cvmx_iob_ctl_status_cn30xx cn38xx;
 279        struct cvmx_iob_ctl_status_cn30xx cn38xxp2;
 280        struct cvmx_iob_ctl_status_cn30xx cn50xx;
 281        struct cvmx_iob_ctl_status_cn52xx {
 282#ifdef __BIG_ENDIAN_BITFIELD
 283                uint64_t reserved_6_63:58;
 284                uint64_t rr_mode:1;
 285                uint64_t outb_mat:1;
 286                uint64_t inb_mat:1;
 287                uint64_t pko_enb:1;
 288                uint64_t dwb_enb:1;
 289                uint64_t fau_end:1;
 290#else
 291                uint64_t fau_end:1;
 292                uint64_t dwb_enb:1;
 293                uint64_t pko_enb:1;
 294                uint64_t inb_mat:1;
 295                uint64_t outb_mat:1;
 296                uint64_t rr_mode:1;
 297                uint64_t reserved_6_63:58;
 298#endif
 299        } cn52xx;
 300        struct cvmx_iob_ctl_status_cn30xx cn52xxp1;
 301        struct cvmx_iob_ctl_status_cn30xx cn56xx;
 302        struct cvmx_iob_ctl_status_cn30xx cn56xxp1;
 303        struct cvmx_iob_ctl_status_cn30xx cn58xx;
 304        struct cvmx_iob_ctl_status_cn30xx cn58xxp1;
 305        struct cvmx_iob_ctl_status_cn61xx {
 306#ifdef __BIG_ENDIAN_BITFIELD
 307                uint64_t reserved_11_63:53;
 308                uint64_t fif_dly:1;
 309                uint64_t xmc_per:4;
 310                uint64_t rr_mode:1;
 311                uint64_t outb_mat:1;
 312                uint64_t inb_mat:1;
 313                uint64_t pko_enb:1;
 314                uint64_t dwb_enb:1;
 315                uint64_t fau_end:1;
 316#else
 317                uint64_t fau_end:1;
 318                uint64_t dwb_enb:1;
 319                uint64_t pko_enb:1;
 320                uint64_t inb_mat:1;
 321                uint64_t outb_mat:1;
 322                uint64_t rr_mode:1;
 323                uint64_t xmc_per:4;
 324                uint64_t fif_dly:1;
 325                uint64_t reserved_11_63:53;
 326#endif
 327        } cn61xx;
 328        struct cvmx_iob_ctl_status_cn63xx {
 329#ifdef __BIG_ENDIAN_BITFIELD
 330                uint64_t reserved_10_63:54;
 331                uint64_t xmc_per:4;
 332                uint64_t rr_mode:1;
 333                uint64_t outb_mat:1;
 334                uint64_t inb_mat:1;
 335                uint64_t pko_enb:1;
 336                uint64_t dwb_enb:1;
 337                uint64_t fau_end:1;
 338#else
 339                uint64_t fau_end:1;
 340                uint64_t dwb_enb:1;
 341                uint64_t pko_enb:1;
 342                uint64_t inb_mat:1;
 343                uint64_t outb_mat:1;
 344                uint64_t rr_mode:1;
 345                uint64_t xmc_per:4;
 346                uint64_t reserved_10_63:54;
 347#endif
 348        } cn63xx;
 349        struct cvmx_iob_ctl_status_cn63xx cn63xxp1;
 350        struct cvmx_iob_ctl_status_cn61xx cn66xx;
 351        struct cvmx_iob_ctl_status_cn68xx {
 352#ifdef __BIG_ENDIAN_BITFIELD
 353                uint64_t reserved_11_63:53;
 354                uint64_t fif_dly:1;
 355                uint64_t xmc_per:4;
 356                uint64_t rsvr5:1;
 357                uint64_t outb_mat:1;
 358                uint64_t inb_mat:1;
 359                uint64_t pko_enb:1;
 360                uint64_t dwb_enb:1;
 361                uint64_t fau_end:1;
 362#else
 363                uint64_t fau_end:1;
 364                uint64_t dwb_enb:1;
 365                uint64_t pko_enb:1;
 366                uint64_t inb_mat:1;
 367                uint64_t outb_mat:1;
 368                uint64_t rsvr5:1;
 369                uint64_t xmc_per:4;
 370                uint64_t fif_dly:1;
 371                uint64_t reserved_11_63:53;
 372#endif
 373        } cn68xx;
 374        struct cvmx_iob_ctl_status_cn68xx cn68xxp1;
 375        struct cvmx_iob_ctl_status_cn61xx cnf71xx;
 376};
 377
 378union cvmx_iob_dwb_pri_cnt {
 379        uint64_t u64;
 380        struct cvmx_iob_dwb_pri_cnt_s {
 381#ifdef __BIG_ENDIAN_BITFIELD
 382                uint64_t reserved_16_63:48;
 383                uint64_t cnt_enb:1;
 384                uint64_t cnt_val:15;
 385#else
 386                uint64_t cnt_val:15;
 387                uint64_t cnt_enb:1;
 388                uint64_t reserved_16_63:48;
 389#endif
 390        } s;
 391        struct cvmx_iob_dwb_pri_cnt_s cn38xx;
 392        struct cvmx_iob_dwb_pri_cnt_s cn38xxp2;
 393        struct cvmx_iob_dwb_pri_cnt_s cn52xx;
 394        struct cvmx_iob_dwb_pri_cnt_s cn52xxp1;
 395        struct cvmx_iob_dwb_pri_cnt_s cn56xx;
 396        struct cvmx_iob_dwb_pri_cnt_s cn56xxp1;
 397        struct cvmx_iob_dwb_pri_cnt_s cn58xx;
 398        struct cvmx_iob_dwb_pri_cnt_s cn58xxp1;
 399        struct cvmx_iob_dwb_pri_cnt_s cn61xx;
 400        struct cvmx_iob_dwb_pri_cnt_s cn63xx;
 401        struct cvmx_iob_dwb_pri_cnt_s cn63xxp1;
 402        struct cvmx_iob_dwb_pri_cnt_s cn66xx;
 403        struct cvmx_iob_dwb_pri_cnt_s cnf71xx;
 404};
 405
 406union cvmx_iob_fau_timeout {
 407        uint64_t u64;
 408        struct cvmx_iob_fau_timeout_s {
 409#ifdef __BIG_ENDIAN_BITFIELD
 410                uint64_t reserved_13_63:51;
 411                uint64_t tout_enb:1;
 412                uint64_t tout_val:12;
 413#else
 414                uint64_t tout_val:12;
 415                uint64_t tout_enb:1;
 416                uint64_t reserved_13_63:51;
 417#endif
 418        } s;
 419        struct cvmx_iob_fau_timeout_s cn30xx;
 420        struct cvmx_iob_fau_timeout_s cn31xx;
 421        struct cvmx_iob_fau_timeout_s cn38xx;
 422        struct cvmx_iob_fau_timeout_s cn38xxp2;
 423        struct cvmx_iob_fau_timeout_s cn50xx;
 424        struct cvmx_iob_fau_timeout_s cn52xx;
 425        struct cvmx_iob_fau_timeout_s cn52xxp1;
 426        struct cvmx_iob_fau_timeout_s cn56xx;
 427        struct cvmx_iob_fau_timeout_s cn56xxp1;
 428        struct cvmx_iob_fau_timeout_s cn58xx;
 429        struct cvmx_iob_fau_timeout_s cn58xxp1;
 430        struct cvmx_iob_fau_timeout_s cn61xx;
 431        struct cvmx_iob_fau_timeout_s cn63xx;
 432        struct cvmx_iob_fau_timeout_s cn63xxp1;
 433        struct cvmx_iob_fau_timeout_s cn66xx;
 434        struct cvmx_iob_fau_timeout_s cn68xx;
 435        struct cvmx_iob_fau_timeout_s cn68xxp1;
 436        struct cvmx_iob_fau_timeout_s cnf71xx;
 437};
 438
 439union cvmx_iob_i2c_pri_cnt {
 440        uint64_t u64;
 441        struct cvmx_iob_i2c_pri_cnt_s {
 442#ifdef __BIG_ENDIAN_BITFIELD
 443                uint64_t reserved_16_63:48;
 444                uint64_t cnt_enb:1;
 445                uint64_t cnt_val:15;
 446#else
 447                uint64_t cnt_val:15;
 448                uint64_t cnt_enb:1;
 449                uint64_t reserved_16_63:48;
 450#endif
 451        } s;
 452        struct cvmx_iob_i2c_pri_cnt_s cn38xx;
 453        struct cvmx_iob_i2c_pri_cnt_s cn38xxp2;
 454        struct cvmx_iob_i2c_pri_cnt_s cn52xx;
 455        struct cvmx_iob_i2c_pri_cnt_s cn52xxp1;
 456        struct cvmx_iob_i2c_pri_cnt_s cn56xx;
 457        struct cvmx_iob_i2c_pri_cnt_s cn56xxp1;
 458        struct cvmx_iob_i2c_pri_cnt_s cn58xx;
 459        struct cvmx_iob_i2c_pri_cnt_s cn58xxp1;
 460        struct cvmx_iob_i2c_pri_cnt_s cn61xx;
 461        struct cvmx_iob_i2c_pri_cnt_s cn63xx;
 462        struct cvmx_iob_i2c_pri_cnt_s cn63xxp1;
 463        struct cvmx_iob_i2c_pri_cnt_s cn66xx;
 464        struct cvmx_iob_i2c_pri_cnt_s cnf71xx;
 465};
 466
 467union cvmx_iob_inb_control_match {
 468        uint64_t u64;
 469        struct cvmx_iob_inb_control_match_s {
 470#ifdef __BIG_ENDIAN_BITFIELD
 471                uint64_t reserved_29_63:35;
 472                uint64_t mask:8;
 473                uint64_t opc:4;
 474                uint64_t dst:9;
 475                uint64_t src:8;
 476#else
 477                uint64_t src:8;
 478                uint64_t dst:9;
 479                uint64_t opc:4;
 480                uint64_t mask:8;
 481                uint64_t reserved_29_63:35;
 482#endif
 483        } s;
 484        struct cvmx_iob_inb_control_match_s cn30xx;
 485        struct cvmx_iob_inb_control_match_s cn31xx;
 486        struct cvmx_iob_inb_control_match_s cn38xx;
 487        struct cvmx_iob_inb_control_match_s cn38xxp2;
 488        struct cvmx_iob_inb_control_match_s cn50xx;
 489        struct cvmx_iob_inb_control_match_s cn52xx;
 490        struct cvmx_iob_inb_control_match_s cn52xxp1;
 491        struct cvmx_iob_inb_control_match_s cn56xx;
 492        struct cvmx_iob_inb_control_match_s cn56xxp1;
 493        struct cvmx_iob_inb_control_match_s cn58xx;
 494        struct cvmx_iob_inb_control_match_s cn58xxp1;
 495        struct cvmx_iob_inb_control_match_s cn61xx;
 496        struct cvmx_iob_inb_control_match_s cn63xx;
 497        struct cvmx_iob_inb_control_match_s cn63xxp1;
 498        struct cvmx_iob_inb_control_match_s cn66xx;
 499        struct cvmx_iob_inb_control_match_s cn68xx;
 500        struct cvmx_iob_inb_control_match_s cn68xxp1;
 501        struct cvmx_iob_inb_control_match_s cnf71xx;
 502};
 503
 504union cvmx_iob_inb_control_match_enb {
 505        uint64_t u64;
 506        struct cvmx_iob_inb_control_match_enb_s {
 507#ifdef __BIG_ENDIAN_BITFIELD
 508                uint64_t reserved_29_63:35;
 509                uint64_t mask:8;
 510                uint64_t opc:4;
 511                uint64_t dst:9;
 512                uint64_t src:8;
 513#else
 514                uint64_t src:8;
 515                uint64_t dst:9;
 516                uint64_t opc:4;
 517                uint64_t mask:8;
 518                uint64_t reserved_29_63:35;
 519#endif
 520        } s;
 521        struct cvmx_iob_inb_control_match_enb_s cn30xx;
 522        struct cvmx_iob_inb_control_match_enb_s cn31xx;
 523        struct cvmx_iob_inb_control_match_enb_s cn38xx;
 524        struct cvmx_iob_inb_control_match_enb_s cn38xxp2;
 525        struct cvmx_iob_inb_control_match_enb_s cn50xx;
 526        struct cvmx_iob_inb_control_match_enb_s cn52xx;
 527        struct cvmx_iob_inb_control_match_enb_s cn52xxp1;
 528        struct cvmx_iob_inb_control_match_enb_s cn56xx;
 529        struct cvmx_iob_inb_control_match_enb_s cn56xxp1;
 530        struct cvmx_iob_inb_control_match_enb_s cn58xx;
 531        struct cvmx_iob_inb_control_match_enb_s cn58xxp1;
 532        struct cvmx_iob_inb_control_match_enb_s cn61xx;
 533        struct cvmx_iob_inb_control_match_enb_s cn63xx;
 534        struct cvmx_iob_inb_control_match_enb_s cn63xxp1;
 535        struct cvmx_iob_inb_control_match_enb_s cn66xx;
 536        struct cvmx_iob_inb_control_match_enb_s cn68xx;
 537        struct cvmx_iob_inb_control_match_enb_s cn68xxp1;
 538        struct cvmx_iob_inb_control_match_enb_s cnf71xx;
 539};
 540
 541union cvmx_iob_inb_data_match {
 542        uint64_t u64;
 543        struct cvmx_iob_inb_data_match_s {
 544#ifdef __BIG_ENDIAN_BITFIELD
 545                uint64_t data:64;
 546#else
 547                uint64_t data:64;
 548#endif
 549        } s;
 550        struct cvmx_iob_inb_data_match_s cn30xx;
 551        struct cvmx_iob_inb_data_match_s cn31xx;
 552        struct cvmx_iob_inb_data_match_s cn38xx;
 553        struct cvmx_iob_inb_data_match_s cn38xxp2;
 554        struct cvmx_iob_inb_data_match_s cn50xx;
 555        struct cvmx_iob_inb_data_match_s cn52xx;
 556        struct cvmx_iob_inb_data_match_s cn52xxp1;
 557        struct cvmx_iob_inb_data_match_s cn56xx;
 558        struct cvmx_iob_inb_data_match_s cn56xxp1;
 559        struct cvmx_iob_inb_data_match_s cn58xx;
 560        struct cvmx_iob_inb_data_match_s cn58xxp1;
 561        struct cvmx_iob_inb_data_match_s cn61xx;
 562        struct cvmx_iob_inb_data_match_s cn63xx;
 563        struct cvmx_iob_inb_data_match_s cn63xxp1;
 564        struct cvmx_iob_inb_data_match_s cn66xx;
 565        struct cvmx_iob_inb_data_match_s cn68xx;
 566        struct cvmx_iob_inb_data_match_s cn68xxp1;
 567        struct cvmx_iob_inb_data_match_s cnf71xx;
 568};
 569
 570union cvmx_iob_inb_data_match_enb {
 571        uint64_t u64;
 572        struct cvmx_iob_inb_data_match_enb_s {
 573#ifdef __BIG_ENDIAN_BITFIELD
 574                uint64_t data:64;
 575#else
 576                uint64_t data:64;
 577#endif
 578        } s;
 579        struct cvmx_iob_inb_data_match_enb_s cn30xx;
 580        struct cvmx_iob_inb_data_match_enb_s cn31xx;
 581        struct cvmx_iob_inb_data_match_enb_s cn38xx;
 582        struct cvmx_iob_inb_data_match_enb_s cn38xxp2;
 583        struct cvmx_iob_inb_data_match_enb_s cn50xx;
 584        struct cvmx_iob_inb_data_match_enb_s cn52xx;
 585        struct cvmx_iob_inb_data_match_enb_s cn52xxp1;
 586        struct cvmx_iob_inb_data_match_enb_s cn56xx;
 587        struct cvmx_iob_inb_data_match_enb_s cn56xxp1;
 588        struct cvmx_iob_inb_data_match_enb_s cn58xx;
 589        struct cvmx_iob_inb_data_match_enb_s cn58xxp1;
 590        struct cvmx_iob_inb_data_match_enb_s cn61xx;
 591        struct cvmx_iob_inb_data_match_enb_s cn63xx;
 592        struct cvmx_iob_inb_data_match_enb_s cn63xxp1;
 593        struct cvmx_iob_inb_data_match_enb_s cn66xx;
 594        struct cvmx_iob_inb_data_match_enb_s cn68xx;
 595        struct cvmx_iob_inb_data_match_enb_s cn68xxp1;
 596        struct cvmx_iob_inb_data_match_enb_s cnf71xx;
 597};
 598
 599union cvmx_iob_int_enb {
 600        uint64_t u64;
 601        struct cvmx_iob_int_enb_s {
 602#ifdef __BIG_ENDIAN_BITFIELD
 603                uint64_t reserved_6_63:58;
 604                uint64_t p_dat:1;
 605                uint64_t np_dat:1;
 606                uint64_t p_eop:1;
 607                uint64_t p_sop:1;
 608                uint64_t np_eop:1;
 609                uint64_t np_sop:1;
 610#else
 611                uint64_t np_sop:1;
 612                uint64_t np_eop:1;
 613                uint64_t p_sop:1;
 614                uint64_t p_eop:1;
 615                uint64_t np_dat:1;
 616                uint64_t p_dat:1;
 617                uint64_t reserved_6_63:58;
 618#endif
 619        } s;
 620        struct cvmx_iob_int_enb_cn30xx {
 621#ifdef __BIG_ENDIAN_BITFIELD
 622                uint64_t reserved_4_63:60;
 623                uint64_t p_eop:1;
 624                uint64_t p_sop:1;
 625                uint64_t np_eop:1;
 626                uint64_t np_sop:1;
 627#else
 628                uint64_t np_sop:1;
 629                uint64_t np_eop:1;
 630                uint64_t p_sop:1;
 631                uint64_t p_eop:1;
 632                uint64_t reserved_4_63:60;
 633#endif
 634        } cn30xx;
 635        struct cvmx_iob_int_enb_cn30xx cn31xx;
 636        struct cvmx_iob_int_enb_cn30xx cn38xx;
 637        struct cvmx_iob_int_enb_cn30xx cn38xxp2;
 638        struct cvmx_iob_int_enb_s cn50xx;
 639        struct cvmx_iob_int_enb_s cn52xx;
 640        struct cvmx_iob_int_enb_s cn52xxp1;
 641        struct cvmx_iob_int_enb_s cn56xx;
 642        struct cvmx_iob_int_enb_s cn56xxp1;
 643        struct cvmx_iob_int_enb_s cn58xx;
 644        struct cvmx_iob_int_enb_s cn58xxp1;
 645        struct cvmx_iob_int_enb_s cn61xx;
 646        struct cvmx_iob_int_enb_s cn63xx;
 647        struct cvmx_iob_int_enb_s cn63xxp1;
 648        struct cvmx_iob_int_enb_s cn66xx;
 649        struct cvmx_iob_int_enb_cn68xx {
 650#ifdef __BIG_ENDIAN_BITFIELD
 651                uint64_t reserved_0_63:64;
 652#else
 653                uint64_t reserved_0_63:64;
 654#endif
 655        } cn68xx;
 656        struct cvmx_iob_int_enb_cn68xx cn68xxp1;
 657        struct cvmx_iob_int_enb_s cnf71xx;
 658};
 659
 660union cvmx_iob_int_sum {
 661        uint64_t u64;
 662        struct cvmx_iob_int_sum_s {
 663#ifdef __BIG_ENDIAN_BITFIELD
 664                uint64_t reserved_6_63:58;
 665                uint64_t p_dat:1;
 666                uint64_t np_dat:1;
 667                uint64_t p_eop:1;
 668                uint64_t p_sop:1;
 669                uint64_t np_eop:1;
 670                uint64_t np_sop:1;
 671#else
 672                uint64_t np_sop:1;
 673                uint64_t np_eop:1;
 674                uint64_t p_sop:1;
 675                uint64_t p_eop:1;
 676                uint64_t np_dat:1;
 677                uint64_t p_dat:1;
 678                uint64_t reserved_6_63:58;
 679#endif
 680        } s;
 681        struct cvmx_iob_int_sum_cn30xx {
 682#ifdef __BIG_ENDIAN_BITFIELD
 683                uint64_t reserved_4_63:60;
 684                uint64_t p_eop:1;
 685                uint64_t p_sop:1;
 686                uint64_t np_eop:1;
 687                uint64_t np_sop:1;
 688#else
 689                uint64_t np_sop:1;
 690                uint64_t np_eop:1;
 691                uint64_t p_sop:1;
 692                uint64_t p_eop:1;
 693                uint64_t reserved_4_63:60;
 694#endif
 695        } cn30xx;
 696        struct cvmx_iob_int_sum_cn30xx cn31xx;
 697        struct cvmx_iob_int_sum_cn30xx cn38xx;
 698        struct cvmx_iob_int_sum_cn30xx cn38xxp2;
 699        struct cvmx_iob_int_sum_s cn50xx;
 700        struct cvmx_iob_int_sum_s cn52xx;
 701        struct cvmx_iob_int_sum_s cn52xxp1;
 702        struct cvmx_iob_int_sum_s cn56xx;
 703        struct cvmx_iob_int_sum_s cn56xxp1;
 704        struct cvmx_iob_int_sum_s cn58xx;
 705        struct cvmx_iob_int_sum_s cn58xxp1;
 706        struct cvmx_iob_int_sum_s cn61xx;
 707        struct cvmx_iob_int_sum_s cn63xx;
 708        struct cvmx_iob_int_sum_s cn63xxp1;
 709        struct cvmx_iob_int_sum_s cn66xx;
 710        struct cvmx_iob_int_sum_cn68xx {
 711#ifdef __BIG_ENDIAN_BITFIELD
 712                uint64_t reserved_0_63:64;
 713#else
 714                uint64_t reserved_0_63:64;
 715#endif
 716        } cn68xx;
 717        struct cvmx_iob_int_sum_cn68xx cn68xxp1;
 718        struct cvmx_iob_int_sum_s cnf71xx;
 719};
 720
 721union cvmx_iob_n2c_l2c_pri_cnt {
 722        uint64_t u64;
 723        struct cvmx_iob_n2c_l2c_pri_cnt_s {
 724#ifdef __BIG_ENDIAN_BITFIELD
 725                uint64_t reserved_16_63:48;
 726                uint64_t cnt_enb:1;
 727                uint64_t cnt_val:15;
 728#else
 729                uint64_t cnt_val:15;
 730                uint64_t cnt_enb:1;
 731                uint64_t reserved_16_63:48;
 732#endif
 733        } s;
 734        struct cvmx_iob_n2c_l2c_pri_cnt_s cn38xx;
 735        struct cvmx_iob_n2c_l2c_pri_cnt_s cn38xxp2;
 736        struct cvmx_iob_n2c_l2c_pri_cnt_s cn52xx;
 737        struct cvmx_iob_n2c_l2c_pri_cnt_s cn52xxp1;
 738        struct cvmx_iob_n2c_l2c_pri_cnt_s cn56xx;
 739        struct cvmx_iob_n2c_l2c_pri_cnt_s cn56xxp1;
 740        struct cvmx_iob_n2c_l2c_pri_cnt_s cn58xx;
 741        struct cvmx_iob_n2c_l2c_pri_cnt_s cn58xxp1;
 742        struct cvmx_iob_n2c_l2c_pri_cnt_s cn61xx;
 743        struct cvmx_iob_n2c_l2c_pri_cnt_s cn63xx;
 744        struct cvmx_iob_n2c_l2c_pri_cnt_s cn63xxp1;
 745        struct cvmx_iob_n2c_l2c_pri_cnt_s cn66xx;
 746        struct cvmx_iob_n2c_l2c_pri_cnt_s cnf71xx;
 747};
 748
 749union cvmx_iob_n2c_rsp_pri_cnt {
 750        uint64_t u64;
 751        struct cvmx_iob_n2c_rsp_pri_cnt_s {
 752#ifdef __BIG_ENDIAN_BITFIELD
 753                uint64_t reserved_16_63:48;
 754                uint64_t cnt_enb:1;
 755                uint64_t cnt_val:15;
 756#else
 757                uint64_t cnt_val:15;
 758                uint64_t cnt_enb:1;
 759                uint64_t reserved_16_63:48;
 760#endif
 761        } s;
 762        struct cvmx_iob_n2c_rsp_pri_cnt_s cn38xx;
 763        struct cvmx_iob_n2c_rsp_pri_cnt_s cn38xxp2;
 764        struct cvmx_iob_n2c_rsp_pri_cnt_s cn52xx;
 765        struct cvmx_iob_n2c_rsp_pri_cnt_s cn52xxp1;
 766        struct cvmx_iob_n2c_rsp_pri_cnt_s cn56xx;
 767        struct cvmx_iob_n2c_rsp_pri_cnt_s cn56xxp1;
 768        struct cvmx_iob_n2c_rsp_pri_cnt_s cn58xx;
 769        struct cvmx_iob_n2c_rsp_pri_cnt_s cn58xxp1;
 770        struct cvmx_iob_n2c_rsp_pri_cnt_s cn61xx;
 771        struct cvmx_iob_n2c_rsp_pri_cnt_s cn63xx;
 772        struct cvmx_iob_n2c_rsp_pri_cnt_s cn63xxp1;
 773        struct cvmx_iob_n2c_rsp_pri_cnt_s cn66xx;
 774        struct cvmx_iob_n2c_rsp_pri_cnt_s cnf71xx;
 775};
 776
 777union cvmx_iob_outb_com_pri_cnt {
 778        uint64_t u64;
 779        struct cvmx_iob_outb_com_pri_cnt_s {
 780#ifdef __BIG_ENDIAN_BITFIELD
 781                uint64_t reserved_16_63:48;
 782                uint64_t cnt_enb:1;
 783                uint64_t cnt_val:15;
 784#else
 785                uint64_t cnt_val:15;
 786                uint64_t cnt_enb:1;
 787                uint64_t reserved_16_63:48;
 788#endif
 789        } s;
 790        struct cvmx_iob_outb_com_pri_cnt_s cn38xx;
 791        struct cvmx_iob_outb_com_pri_cnt_s cn38xxp2;
 792        struct cvmx_iob_outb_com_pri_cnt_s cn52xx;
 793        struct cvmx_iob_outb_com_pri_cnt_s cn52xxp1;
 794        struct cvmx_iob_outb_com_pri_cnt_s cn56xx;
 795        struct cvmx_iob_outb_com_pri_cnt_s cn56xxp1;
 796        struct cvmx_iob_outb_com_pri_cnt_s cn58xx;
 797        struct cvmx_iob_outb_com_pri_cnt_s cn58xxp1;
 798        struct cvmx_iob_outb_com_pri_cnt_s cn61xx;
 799        struct cvmx_iob_outb_com_pri_cnt_s cn63xx;
 800        struct cvmx_iob_outb_com_pri_cnt_s cn63xxp1;
 801        struct cvmx_iob_outb_com_pri_cnt_s cn66xx;
 802        struct cvmx_iob_outb_com_pri_cnt_s cn68xx;
 803        struct cvmx_iob_outb_com_pri_cnt_s cn68xxp1;
 804        struct cvmx_iob_outb_com_pri_cnt_s cnf71xx;
 805};
 806
 807union cvmx_iob_outb_control_match {
 808        uint64_t u64;
 809        struct cvmx_iob_outb_control_match_s {
 810#ifdef __BIG_ENDIAN_BITFIELD
 811                uint64_t reserved_26_63:38;
 812                uint64_t mask:8;
 813                uint64_t eot:1;
 814                uint64_t dst:8;
 815                uint64_t src:9;
 816#else
 817                uint64_t src:9;
 818                uint64_t dst:8;
 819                uint64_t eot:1;
 820                uint64_t mask:8;
 821                uint64_t reserved_26_63:38;
 822#endif
 823        } s;
 824        struct cvmx_iob_outb_control_match_s cn30xx;
 825        struct cvmx_iob_outb_control_match_s cn31xx;
 826        struct cvmx_iob_outb_control_match_s cn38xx;
 827        struct cvmx_iob_outb_control_match_s cn38xxp2;
 828        struct cvmx_iob_outb_control_match_s cn50xx;
 829        struct cvmx_iob_outb_control_match_s cn52xx;
 830        struct cvmx_iob_outb_control_match_s cn52xxp1;
 831        struct cvmx_iob_outb_control_match_s cn56xx;
 832        struct cvmx_iob_outb_control_match_s cn56xxp1;
 833        struct cvmx_iob_outb_control_match_s cn58xx;
 834        struct cvmx_iob_outb_control_match_s cn58xxp1;
 835        struct cvmx_iob_outb_control_match_s cn61xx;
 836        struct cvmx_iob_outb_control_match_s cn63xx;
 837        struct cvmx_iob_outb_control_match_s cn63xxp1;
 838        struct cvmx_iob_outb_control_match_s cn66xx;
 839        struct cvmx_iob_outb_control_match_s cn68xx;
 840        struct cvmx_iob_outb_control_match_s cn68xxp1;
 841        struct cvmx_iob_outb_control_match_s cnf71xx;
 842};
 843
 844union cvmx_iob_outb_control_match_enb {
 845        uint64_t u64;
 846        struct cvmx_iob_outb_control_match_enb_s {
 847#ifdef __BIG_ENDIAN_BITFIELD
 848                uint64_t reserved_26_63:38;
 849                uint64_t mask:8;
 850                uint64_t eot:1;
 851                uint64_t dst:8;
 852                uint64_t src:9;
 853#else
 854                uint64_t src:9;
 855                uint64_t dst:8;
 856                uint64_t eot:1;
 857                uint64_t mask:8;
 858                uint64_t reserved_26_63:38;
 859#endif
 860        } s;
 861        struct cvmx_iob_outb_control_match_enb_s cn30xx;
 862        struct cvmx_iob_outb_control_match_enb_s cn31xx;
 863        struct cvmx_iob_outb_control_match_enb_s cn38xx;
 864        struct cvmx_iob_outb_control_match_enb_s cn38xxp2;
 865        struct cvmx_iob_outb_control_match_enb_s cn50xx;
 866        struct cvmx_iob_outb_control_match_enb_s cn52xx;
 867        struct cvmx_iob_outb_control_match_enb_s cn52xxp1;
 868        struct cvmx_iob_outb_control_match_enb_s cn56xx;
 869        struct cvmx_iob_outb_control_match_enb_s cn56xxp1;
 870        struct cvmx_iob_outb_control_match_enb_s cn58xx;
 871        struct cvmx_iob_outb_control_match_enb_s cn58xxp1;
 872        struct cvmx_iob_outb_control_match_enb_s cn61xx;
 873        struct cvmx_iob_outb_control_match_enb_s cn63xx;
 874        struct cvmx_iob_outb_control_match_enb_s cn63xxp1;
 875        struct cvmx_iob_outb_control_match_enb_s cn66xx;
 876        struct cvmx_iob_outb_control_match_enb_s cn68xx;
 877        struct cvmx_iob_outb_control_match_enb_s cn68xxp1;
 878        struct cvmx_iob_outb_control_match_enb_s cnf71xx;
 879};
 880
 881union cvmx_iob_outb_data_match {
 882        uint64_t u64;
 883        struct cvmx_iob_outb_data_match_s {
 884#ifdef __BIG_ENDIAN_BITFIELD
 885                uint64_t data:64;
 886#else
 887                uint64_t data:64;
 888#endif
 889        } s;
 890        struct cvmx_iob_outb_data_match_s cn30xx;
 891        struct cvmx_iob_outb_data_match_s cn31xx;
 892        struct cvmx_iob_outb_data_match_s cn38xx;
 893        struct cvmx_iob_outb_data_match_s cn38xxp2;
 894        struct cvmx_iob_outb_data_match_s cn50xx;
 895        struct cvmx_iob_outb_data_match_s cn52xx;
 896        struct cvmx_iob_outb_data_match_s cn52xxp1;
 897        struct cvmx_iob_outb_data_match_s cn56xx;
 898        struct cvmx_iob_outb_data_match_s cn56xxp1;
 899        struct cvmx_iob_outb_data_match_s cn58xx;
 900        struct cvmx_iob_outb_data_match_s cn58xxp1;
 901        struct cvmx_iob_outb_data_match_s cn61xx;
 902        struct cvmx_iob_outb_data_match_s cn63xx;
 903        struct cvmx_iob_outb_data_match_s cn63xxp1;
 904        struct cvmx_iob_outb_data_match_s cn66xx;
 905        struct cvmx_iob_outb_data_match_s cn68xx;
 906        struct cvmx_iob_outb_data_match_s cn68xxp1;
 907        struct cvmx_iob_outb_data_match_s cnf71xx;
 908};
 909
 910union cvmx_iob_outb_data_match_enb {
 911        uint64_t u64;
 912        struct cvmx_iob_outb_data_match_enb_s {
 913#ifdef __BIG_ENDIAN_BITFIELD
 914                uint64_t data:64;
 915#else
 916                uint64_t data:64;
 917#endif
 918        } s;
 919        struct cvmx_iob_outb_data_match_enb_s cn30xx;
 920        struct cvmx_iob_outb_data_match_enb_s cn31xx;
 921        struct cvmx_iob_outb_data_match_enb_s cn38xx;
 922        struct cvmx_iob_outb_data_match_enb_s cn38xxp2;
 923        struct cvmx_iob_outb_data_match_enb_s cn50xx;
 924        struct cvmx_iob_outb_data_match_enb_s cn52xx;
 925        struct cvmx_iob_outb_data_match_enb_s cn52xxp1;
 926        struct cvmx_iob_outb_data_match_enb_s cn56xx;
 927        struct cvmx_iob_outb_data_match_enb_s cn56xxp1;
 928        struct cvmx_iob_outb_data_match_enb_s cn58xx;
 929        struct cvmx_iob_outb_data_match_enb_s cn58xxp1;
 930        struct cvmx_iob_outb_data_match_enb_s cn61xx;
 931        struct cvmx_iob_outb_data_match_enb_s cn63xx;
 932        struct cvmx_iob_outb_data_match_enb_s cn63xxp1;
 933        struct cvmx_iob_outb_data_match_enb_s cn66xx;
 934        struct cvmx_iob_outb_data_match_enb_s cn68xx;
 935        struct cvmx_iob_outb_data_match_enb_s cn68xxp1;
 936        struct cvmx_iob_outb_data_match_enb_s cnf71xx;
 937};
 938
 939union cvmx_iob_outb_fpa_pri_cnt {
 940        uint64_t u64;
 941        struct cvmx_iob_outb_fpa_pri_cnt_s {
 942#ifdef __BIG_ENDIAN_BITFIELD
 943                uint64_t reserved_16_63:48;
 944                uint64_t cnt_enb:1;
 945                uint64_t cnt_val:15;
 946#else
 947                uint64_t cnt_val:15;
 948                uint64_t cnt_enb:1;
 949                uint64_t reserved_16_63:48;
 950#endif
 951        } s;
 952        struct cvmx_iob_outb_fpa_pri_cnt_s cn38xx;
 953        struct cvmx_iob_outb_fpa_pri_cnt_s cn38xxp2;
 954        struct cvmx_iob_outb_fpa_pri_cnt_s cn52xx;
 955        struct cvmx_iob_outb_fpa_pri_cnt_s cn52xxp1;
 956        struct cvmx_iob_outb_fpa_pri_cnt_s cn56xx;
 957        struct cvmx_iob_outb_fpa_pri_cnt_s cn56xxp1;
 958        struct cvmx_iob_outb_fpa_pri_cnt_s cn58xx;
 959        struct cvmx_iob_outb_fpa_pri_cnt_s cn58xxp1;
 960        struct cvmx_iob_outb_fpa_pri_cnt_s cn61xx;
 961        struct cvmx_iob_outb_fpa_pri_cnt_s cn63xx;
 962        struct cvmx_iob_outb_fpa_pri_cnt_s cn63xxp1;
 963        struct cvmx_iob_outb_fpa_pri_cnt_s cn66xx;
 964        struct cvmx_iob_outb_fpa_pri_cnt_s cn68xx;
 965        struct cvmx_iob_outb_fpa_pri_cnt_s cn68xxp1;
 966        struct cvmx_iob_outb_fpa_pri_cnt_s cnf71xx;
 967};
 968
 969union cvmx_iob_outb_req_pri_cnt {
 970        uint64_t u64;
 971        struct cvmx_iob_outb_req_pri_cnt_s {
 972#ifdef __BIG_ENDIAN_BITFIELD
 973                uint64_t reserved_16_63:48;
 974                uint64_t cnt_enb:1;
 975                uint64_t cnt_val:15;
 976#else
 977                uint64_t cnt_val:15;
 978                uint64_t cnt_enb:1;
 979                uint64_t reserved_16_63:48;
 980#endif
 981        } s;
 982        struct cvmx_iob_outb_req_pri_cnt_s cn38xx;
 983        struct cvmx_iob_outb_req_pri_cnt_s cn38xxp2;
 984        struct cvmx_iob_outb_req_pri_cnt_s cn52xx;
 985        struct cvmx_iob_outb_req_pri_cnt_s cn52xxp1;
 986        struct cvmx_iob_outb_req_pri_cnt_s cn56xx;
 987        struct cvmx_iob_outb_req_pri_cnt_s cn56xxp1;
 988        struct cvmx_iob_outb_req_pri_cnt_s cn58xx;
 989        struct cvmx_iob_outb_req_pri_cnt_s cn58xxp1;
 990        struct cvmx_iob_outb_req_pri_cnt_s cn61xx;
 991        struct cvmx_iob_outb_req_pri_cnt_s cn63xx;
 992        struct cvmx_iob_outb_req_pri_cnt_s cn63xxp1;
 993        struct cvmx_iob_outb_req_pri_cnt_s cn66xx;
 994        struct cvmx_iob_outb_req_pri_cnt_s cn68xx;
 995        struct cvmx_iob_outb_req_pri_cnt_s cn68xxp1;
 996        struct cvmx_iob_outb_req_pri_cnt_s cnf71xx;
 997};
 998
 999union cvmx_iob_p2c_req_pri_cnt {
1000        uint64_t u64;
1001        struct cvmx_iob_p2c_req_pri_cnt_s {
1002#ifdef __BIG_ENDIAN_BITFIELD
1003                uint64_t reserved_16_63:48;
1004                uint64_t cnt_enb:1;
1005                uint64_t cnt_val:15;
1006#else
1007                uint64_t cnt_val:15;
1008                uint64_t cnt_enb:1;
1009                uint64_t reserved_16_63:48;
1010#endif
1011        } s;
1012        struct cvmx_iob_p2c_req_pri_cnt_s cn38xx;
1013        struct cvmx_iob_p2c_req_pri_cnt_s cn38xxp2;
1014        struct cvmx_iob_p2c_req_pri_cnt_s cn52xx;
1015        struct cvmx_iob_p2c_req_pri_cnt_s cn52xxp1;
1016        struct cvmx_iob_p2c_req_pri_cnt_s cn56xx;
1017        struct cvmx_iob_p2c_req_pri_cnt_s cn56xxp1;
1018        struct cvmx_iob_p2c_req_pri_cnt_s cn58xx;
1019        struct cvmx_iob_p2c_req_pri_cnt_s cn58xxp1;
1020        struct cvmx_iob_p2c_req_pri_cnt_s cn61xx;
1021        struct cvmx_iob_p2c_req_pri_cnt_s cn63xx;
1022        struct cvmx_iob_p2c_req_pri_cnt_s cn63xxp1;
1023        struct cvmx_iob_p2c_req_pri_cnt_s cn66xx;
1024        struct cvmx_iob_p2c_req_pri_cnt_s cnf71xx;
1025};
1026
1027union cvmx_iob_pkt_err {
1028        uint64_t u64;
1029        struct cvmx_iob_pkt_err_s {
1030#ifdef __BIG_ENDIAN_BITFIELD
1031                uint64_t reserved_12_63:52;
1032                uint64_t vport:6;
1033                uint64_t port:6;
1034#else
1035                uint64_t port:6;
1036                uint64_t vport:6;
1037                uint64_t reserved_12_63:52;
1038#endif
1039        } s;
1040        struct cvmx_iob_pkt_err_cn30xx {
1041#ifdef __BIG_ENDIAN_BITFIELD
1042                uint64_t reserved_6_63:58;
1043                uint64_t port:6;
1044#else
1045                uint64_t port:6;
1046                uint64_t reserved_6_63:58;
1047#endif
1048        } cn30xx;
1049        struct cvmx_iob_pkt_err_cn30xx cn31xx;
1050        struct cvmx_iob_pkt_err_cn30xx cn38xx;
1051        struct cvmx_iob_pkt_err_cn30xx cn38xxp2;
1052        struct cvmx_iob_pkt_err_cn30xx cn50xx;
1053        struct cvmx_iob_pkt_err_cn30xx cn52xx;
1054        struct cvmx_iob_pkt_err_cn30xx cn52xxp1;
1055        struct cvmx_iob_pkt_err_cn30xx cn56xx;
1056        struct cvmx_iob_pkt_err_cn30xx cn56xxp1;
1057        struct cvmx_iob_pkt_err_cn30xx cn58xx;
1058        struct cvmx_iob_pkt_err_cn30xx cn58xxp1;
1059        struct cvmx_iob_pkt_err_s cn61xx;
1060        struct cvmx_iob_pkt_err_s cn63xx;
1061        struct cvmx_iob_pkt_err_s cn63xxp1;
1062        struct cvmx_iob_pkt_err_s cn66xx;
1063        struct cvmx_iob_pkt_err_s cnf71xx;
1064};
1065
1066union cvmx_iob_to_cmb_credits {
1067        uint64_t u64;
1068        struct cvmx_iob_to_cmb_credits_s {
1069#ifdef __BIG_ENDIAN_BITFIELD
1070                uint64_t reserved_6_63:58;
1071                uint64_t ncb_rd:3;
1072                uint64_t ncb_wr:3;
1073#else
1074                uint64_t ncb_wr:3;
1075                uint64_t ncb_rd:3;
1076                uint64_t reserved_6_63:58;
1077#endif
1078        } s;
1079        struct cvmx_iob_to_cmb_credits_cn52xx {
1080#ifdef __BIG_ENDIAN_BITFIELD
1081                uint64_t reserved_9_63:55;
1082                uint64_t pko_rd:3;
1083                uint64_t ncb_rd:3;
1084                uint64_t ncb_wr:3;
1085#else
1086                uint64_t ncb_wr:3;
1087                uint64_t ncb_rd:3;
1088                uint64_t pko_rd:3;
1089                uint64_t reserved_9_63:55;
1090#endif
1091        } cn52xx;
1092        struct cvmx_iob_to_cmb_credits_cn52xx cn61xx;
1093        struct cvmx_iob_to_cmb_credits_cn52xx cn63xx;
1094        struct cvmx_iob_to_cmb_credits_cn52xx cn63xxp1;
1095        struct cvmx_iob_to_cmb_credits_cn52xx cn66xx;
1096        struct cvmx_iob_to_cmb_credits_cn68xx {
1097#ifdef __BIG_ENDIAN_BITFIELD
1098                uint64_t reserved_9_63:55;
1099                uint64_t dwb:3;
1100                uint64_t ncb_rd:3;
1101                uint64_t ncb_wr:3;
1102#else
1103                uint64_t ncb_wr:3;
1104                uint64_t ncb_rd:3;
1105                uint64_t dwb:3;
1106                uint64_t reserved_9_63:55;
1107#endif
1108        } cn68xx;
1109        struct cvmx_iob_to_cmb_credits_cn68xx cn68xxp1;
1110        struct cvmx_iob_to_cmb_credits_cn52xx cnf71xx;
1111};
1112
1113union cvmx_iob_to_ncb_did_00_credits {
1114        uint64_t u64;
1115        struct cvmx_iob_to_ncb_did_00_credits_s {
1116#ifdef __BIG_ENDIAN_BITFIELD
1117                uint64_t reserved_7_63:57;
1118                uint64_t crd:7;
1119#else
1120                uint64_t crd:7;
1121                uint64_t reserved_7_63:57;
1122#endif
1123        } s;
1124        struct cvmx_iob_to_ncb_did_00_credits_s cn68xx;
1125        struct cvmx_iob_to_ncb_did_00_credits_s cn68xxp1;
1126};
1127
1128union cvmx_iob_to_ncb_did_111_credits {
1129        uint64_t u64;
1130        struct cvmx_iob_to_ncb_did_111_credits_s {
1131#ifdef __BIG_ENDIAN_BITFIELD
1132                uint64_t reserved_7_63:57;
1133                uint64_t crd:7;
1134#else
1135                uint64_t crd:7;
1136                uint64_t reserved_7_63:57;
1137#endif
1138        } s;
1139        struct cvmx_iob_to_ncb_did_111_credits_s cn68xx;
1140        struct cvmx_iob_to_ncb_did_111_credits_s cn68xxp1;
1141};
1142
1143union cvmx_iob_to_ncb_did_223_credits {
1144        uint64_t u64;
1145        struct cvmx_iob_to_ncb_did_223_credits_s {
1146#ifdef __BIG_ENDIAN_BITFIELD
1147                uint64_t reserved_7_63:57;
1148                uint64_t crd:7;
1149#else
1150                uint64_t crd:7;
1151                uint64_t reserved_7_63:57;
1152#endif
1153        } s;
1154        struct cvmx_iob_to_ncb_did_223_credits_s cn68xx;
1155        struct cvmx_iob_to_ncb_did_223_credits_s cn68xxp1;
1156};
1157
1158union cvmx_iob_to_ncb_did_24_credits {
1159        uint64_t u64;
1160        struct cvmx_iob_to_ncb_did_24_credits_s {
1161#ifdef __BIG_ENDIAN_BITFIELD
1162                uint64_t reserved_7_63:57;
1163                uint64_t crd:7;
1164#else
1165                uint64_t crd:7;
1166                uint64_t reserved_7_63:57;
1167#endif
1168        } s;
1169        struct cvmx_iob_to_ncb_did_24_credits_s cn68xx;
1170        struct cvmx_iob_to_ncb_did_24_credits_s cn68xxp1;
1171};
1172
1173union cvmx_iob_to_ncb_did_32_credits {
1174        uint64_t u64;
1175        struct cvmx_iob_to_ncb_did_32_credits_s {
1176#ifdef __BIG_ENDIAN_BITFIELD
1177                uint64_t reserved_7_63:57;
1178                uint64_t crd:7;
1179#else
1180                uint64_t crd:7;
1181                uint64_t reserved_7_63:57;
1182#endif
1183        } s;
1184        struct cvmx_iob_to_ncb_did_32_credits_s cn68xx;
1185        struct cvmx_iob_to_ncb_did_32_credits_s cn68xxp1;
1186};
1187
1188union cvmx_iob_to_ncb_did_40_credits {
1189        uint64_t u64;
1190        struct cvmx_iob_to_ncb_did_40_credits_s {
1191#ifdef __BIG_ENDIAN_BITFIELD
1192                uint64_t reserved_7_63:57;
1193                uint64_t crd:7;
1194#else
1195                uint64_t crd:7;
1196                uint64_t reserved_7_63:57;
1197#endif
1198        } s;
1199        struct cvmx_iob_to_ncb_did_40_credits_s cn68xx;
1200        struct cvmx_iob_to_ncb_did_40_credits_s cn68xxp1;
1201};
1202
1203union cvmx_iob_to_ncb_did_55_credits {
1204        uint64_t u64;
1205        struct cvmx_iob_to_ncb_did_55_credits_s {
1206#ifdef __BIG_ENDIAN_BITFIELD
1207                uint64_t reserved_7_63:57;
1208                uint64_t crd:7;
1209#else
1210                uint64_t crd:7;
1211                uint64_t reserved_7_63:57;
1212#endif
1213        } s;
1214        struct cvmx_iob_to_ncb_did_55_credits_s cn68xx;
1215        struct cvmx_iob_to_ncb_did_55_credits_s cn68xxp1;
1216};
1217
1218union cvmx_iob_to_ncb_did_64_credits {
1219        uint64_t u64;
1220        struct cvmx_iob_to_ncb_did_64_credits_s {
1221#ifdef __BIG_ENDIAN_BITFIELD
1222                uint64_t reserved_7_63:57;
1223                uint64_t crd:7;
1224#else
1225                uint64_t crd:7;
1226                uint64_t reserved_7_63:57;
1227#endif
1228        } s;
1229        struct cvmx_iob_to_ncb_did_64_credits_s cn68xx;
1230        struct cvmx_iob_to_ncb_did_64_credits_s cn68xxp1;
1231};
1232
1233union cvmx_iob_to_ncb_did_79_credits {
1234        uint64_t u64;
1235        struct cvmx_iob_to_ncb_did_79_credits_s {
1236#ifdef __BIG_ENDIAN_BITFIELD
1237                uint64_t reserved_7_63:57;
1238                uint64_t crd:7;
1239#else
1240                uint64_t crd:7;
1241                uint64_t reserved_7_63:57;
1242#endif
1243        } s;
1244        struct cvmx_iob_to_ncb_did_79_credits_s cn68xx;
1245        struct cvmx_iob_to_ncb_did_79_credits_s cn68xxp1;
1246};
1247
1248union cvmx_iob_to_ncb_did_96_credits {
1249        uint64_t u64;
1250        struct cvmx_iob_to_ncb_did_96_credits_s {
1251#ifdef __BIG_ENDIAN_BITFIELD
1252                uint64_t reserved_7_63:57;
1253                uint64_t crd:7;
1254#else
1255                uint64_t crd:7;
1256                uint64_t reserved_7_63:57;
1257#endif
1258        } s;
1259        struct cvmx_iob_to_ncb_did_96_credits_s cn68xx;
1260        struct cvmx_iob_to_ncb_did_96_credits_s cn68xxp1;
1261};
1262
1263union cvmx_iob_to_ncb_did_98_credits {
1264        uint64_t u64;
1265        struct cvmx_iob_to_ncb_did_98_credits_s {
1266#ifdef __BIG_ENDIAN_BITFIELD
1267                uint64_t reserved_7_63:57;
1268                uint64_t crd:7;
1269#else
1270                uint64_t crd:7;
1271                uint64_t reserved_7_63:57;
1272#endif
1273        } s;
1274        struct cvmx_iob_to_ncb_did_98_credits_s cn68xx;
1275        struct cvmx_iob_to_ncb_did_98_credits_s cn68xxp1;
1276};
1277
1278#endif
1279