154293ec3SDavid Daney /***********************license start*************** 254293ec3SDavid Daney * Author: Cavium Networks 354293ec3SDavid Daney * 454293ec3SDavid Daney * Contact: support@caviumnetworks.com 554293ec3SDavid Daney * This file is part of the OCTEON SDK 654293ec3SDavid Daney * 7*c5aa59e8SDavid Daney * Copyright (c) 2003-2012 Cavium Networks 854293ec3SDavid Daney * 954293ec3SDavid Daney * This file is free software; you can redistribute it and/or modify 1054293ec3SDavid Daney * it under the terms of the GNU General Public License, Version 2, as 1154293ec3SDavid Daney * published by the Free Software Foundation. 1254293ec3SDavid Daney * 1354293ec3SDavid Daney * This file is distributed in the hope that it will be useful, but 1454293ec3SDavid Daney * AS-IS and WITHOUT ANY WARRANTY; without even the implied warranty 1554293ec3SDavid Daney * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE, TITLE, or 1654293ec3SDavid Daney * NONINFRINGEMENT. See the GNU General Public License for more 1754293ec3SDavid Daney * details. 1854293ec3SDavid Daney * 1954293ec3SDavid Daney * You should have received a copy of the GNU General Public License 2054293ec3SDavid Daney * along with this file; if not, write to the Free Software 2154293ec3SDavid Daney * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 2254293ec3SDavid Daney * or visit http://www.gnu.org/licenses/. 2354293ec3SDavid Daney * 2454293ec3SDavid Daney * This file may also be available under a different license from Cavium. 2554293ec3SDavid Daney * Contact Cavium Networks for more information 2654293ec3SDavid Daney ***********************license end**************************************/ 2754293ec3SDavid Daney 2854293ec3SDavid Daney #ifndef __CVMX_IOB_DEFS_H__ 2954293ec3SDavid Daney #define __CVMX_IOB_DEFS_H__ 3054293ec3SDavid Daney 31aa32a955SDavid Daney #define CVMX_IOB_BIST_STATUS (CVMX_ADD_IO_SEG(0x00011800F00007F8ull)) 32aa32a955SDavid Daney #define CVMX_IOB_CTL_STATUS (CVMX_ADD_IO_SEG(0x00011800F0000050ull)) 33aa32a955SDavid Daney #define CVMX_IOB_DWB_PRI_CNT (CVMX_ADD_IO_SEG(0x00011800F0000028ull)) 34aa32a955SDavid Daney #define CVMX_IOB_FAU_TIMEOUT (CVMX_ADD_IO_SEG(0x00011800F0000000ull)) 35aa32a955SDavid Daney #define CVMX_IOB_I2C_PRI_CNT (CVMX_ADD_IO_SEG(0x00011800F0000010ull)) 36aa32a955SDavid Daney #define CVMX_IOB_INB_CONTROL_MATCH (CVMX_ADD_IO_SEG(0x00011800F0000078ull)) 37aa32a955SDavid Daney #define CVMX_IOB_INB_CONTROL_MATCH_ENB (CVMX_ADD_IO_SEG(0x00011800F0000088ull)) 38aa32a955SDavid Daney #define CVMX_IOB_INB_DATA_MATCH (CVMX_ADD_IO_SEG(0x00011800F0000070ull)) 39aa32a955SDavid Daney #define CVMX_IOB_INB_DATA_MATCH_ENB (CVMX_ADD_IO_SEG(0x00011800F0000080ull)) 40aa32a955SDavid Daney #define CVMX_IOB_INT_ENB (CVMX_ADD_IO_SEG(0x00011800F0000060ull)) 41aa32a955SDavid Daney #define CVMX_IOB_INT_SUM (CVMX_ADD_IO_SEG(0x00011800F0000058ull)) 42aa32a955SDavid Daney #define CVMX_IOB_N2C_L2C_PRI_CNT (CVMX_ADD_IO_SEG(0x00011800F0000020ull)) 43aa32a955SDavid Daney #define CVMX_IOB_N2C_RSP_PRI_CNT (CVMX_ADD_IO_SEG(0x00011800F0000008ull)) 44aa32a955SDavid Daney #define CVMX_IOB_OUTB_COM_PRI_CNT (CVMX_ADD_IO_SEG(0x00011800F0000040ull)) 45aa32a955SDavid Daney #define CVMX_IOB_OUTB_CONTROL_MATCH (CVMX_ADD_IO_SEG(0x00011800F0000098ull)) 46aa32a955SDavid Daney #define CVMX_IOB_OUTB_CONTROL_MATCH_ENB (CVMX_ADD_IO_SEG(0x00011800F00000A8ull)) 47aa32a955SDavid Daney #define CVMX_IOB_OUTB_DATA_MATCH (CVMX_ADD_IO_SEG(0x00011800F0000090ull)) 48aa32a955SDavid Daney #define CVMX_IOB_OUTB_DATA_MATCH_ENB (CVMX_ADD_IO_SEG(0x00011800F00000A0ull)) 49aa32a955SDavid Daney #define CVMX_IOB_OUTB_FPA_PRI_CNT (CVMX_ADD_IO_SEG(0x00011800F0000048ull)) 50aa32a955SDavid Daney #define CVMX_IOB_OUTB_REQ_PRI_CNT (CVMX_ADD_IO_SEG(0x00011800F0000038ull)) 51aa32a955SDavid Daney #define CVMX_IOB_P2C_REQ_PRI_CNT (CVMX_ADD_IO_SEG(0x00011800F0000018ull)) 52aa32a955SDavid Daney #define CVMX_IOB_PKT_ERR (CVMX_ADD_IO_SEG(0x00011800F0000068ull)) 53aa32a955SDavid Daney #define CVMX_IOB_TO_CMB_CREDITS (CVMX_ADD_IO_SEG(0x00011800F00000B0ull)) 54*c5aa59e8SDavid Daney #define CVMX_IOB_TO_NCB_DID_00_CREDITS (CVMX_ADD_IO_SEG(0x00011800F0000800ull)) 55*c5aa59e8SDavid Daney #define CVMX_IOB_TO_NCB_DID_111_CREDITS (CVMX_ADD_IO_SEG(0x00011800F0000B78ull)) 56*c5aa59e8SDavid Daney #define CVMX_IOB_TO_NCB_DID_223_CREDITS (CVMX_ADD_IO_SEG(0x00011800F0000EF8ull)) 57*c5aa59e8SDavid Daney #define CVMX_IOB_TO_NCB_DID_24_CREDITS (CVMX_ADD_IO_SEG(0x00011800F00008C0ull)) 58*c5aa59e8SDavid Daney #define CVMX_IOB_TO_NCB_DID_32_CREDITS (CVMX_ADD_IO_SEG(0x00011800F0000900ull)) 59*c5aa59e8SDavid Daney #define CVMX_IOB_TO_NCB_DID_40_CREDITS (CVMX_ADD_IO_SEG(0x00011800F0000940ull)) 60*c5aa59e8SDavid Daney #define CVMX_IOB_TO_NCB_DID_55_CREDITS (CVMX_ADD_IO_SEG(0x00011800F00009B8ull)) 61*c5aa59e8SDavid Daney #define CVMX_IOB_TO_NCB_DID_64_CREDITS (CVMX_ADD_IO_SEG(0x00011800F0000A00ull)) 62*c5aa59e8SDavid Daney #define CVMX_IOB_TO_NCB_DID_79_CREDITS (CVMX_ADD_IO_SEG(0x00011800F0000A78ull)) 63*c5aa59e8SDavid Daney #define CVMX_IOB_TO_NCB_DID_96_CREDITS (CVMX_ADD_IO_SEG(0x00011800F0000B00ull)) 64*c5aa59e8SDavid Daney #define CVMX_IOB_TO_NCB_DID_98_CREDITS (CVMX_ADD_IO_SEG(0x00011800F0000B10ull)) 6554293ec3SDavid Daney 6654293ec3SDavid Daney union cvmx_iob_bist_status { 6754293ec3SDavid Daney uint64_t u64; 6854293ec3SDavid Daney struct cvmx_iob_bist_status_s { 69*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 70*c5aa59e8SDavid Daney uint64_t reserved_2_63:62; 71*c5aa59e8SDavid Daney uint64_t ibd:1; 72*c5aa59e8SDavid Daney uint64_t icd:1; 73*c5aa59e8SDavid Daney #else 74*c5aa59e8SDavid Daney uint64_t icd:1; 75*c5aa59e8SDavid Daney uint64_t ibd:1; 76*c5aa59e8SDavid Daney uint64_t reserved_2_63:62; 77*c5aa59e8SDavid Daney #endif 78*c5aa59e8SDavid Daney } s; 79*c5aa59e8SDavid Daney struct cvmx_iob_bist_status_cn30xx { 80*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 81*c5aa59e8SDavid Daney uint64_t reserved_18_63:46; 82*c5aa59e8SDavid Daney uint64_t icnrcb:1; 83*c5aa59e8SDavid Daney uint64_t icr0:1; 84*c5aa59e8SDavid Daney uint64_t icr1:1; 85*c5aa59e8SDavid Daney uint64_t icnr1:1; 86*c5aa59e8SDavid Daney uint64_t icnr0:1; 87*c5aa59e8SDavid Daney uint64_t ibdr0:1; 88*c5aa59e8SDavid Daney uint64_t ibdr1:1; 89*c5aa59e8SDavid Daney uint64_t ibr0:1; 90*c5aa59e8SDavid Daney uint64_t ibr1:1; 91*c5aa59e8SDavid Daney uint64_t icnrt:1; 92*c5aa59e8SDavid Daney uint64_t ibrq0:1; 93*c5aa59e8SDavid Daney uint64_t ibrq1:1; 94*c5aa59e8SDavid Daney uint64_t icrn0:1; 95*c5aa59e8SDavid Daney uint64_t icrn1:1; 96*c5aa59e8SDavid Daney uint64_t icrp0:1; 97*c5aa59e8SDavid Daney uint64_t icrp1:1; 98*c5aa59e8SDavid Daney uint64_t ibd:1; 99*c5aa59e8SDavid Daney uint64_t icd:1; 100*c5aa59e8SDavid Daney #else 101*c5aa59e8SDavid Daney uint64_t icd:1; 102*c5aa59e8SDavid Daney uint64_t ibd:1; 103*c5aa59e8SDavid Daney uint64_t icrp1:1; 104*c5aa59e8SDavid Daney uint64_t icrp0:1; 105*c5aa59e8SDavid Daney uint64_t icrn1:1; 106*c5aa59e8SDavid Daney uint64_t icrn0:1; 107*c5aa59e8SDavid Daney uint64_t ibrq1:1; 108*c5aa59e8SDavid Daney uint64_t ibrq0:1; 109*c5aa59e8SDavid Daney uint64_t icnrt:1; 110*c5aa59e8SDavid Daney uint64_t ibr1:1; 111*c5aa59e8SDavid Daney uint64_t ibr0:1; 112*c5aa59e8SDavid Daney uint64_t ibdr1:1; 113*c5aa59e8SDavid Daney uint64_t ibdr0:1; 114*c5aa59e8SDavid Daney uint64_t icnr0:1; 115*c5aa59e8SDavid Daney uint64_t icnr1:1; 116*c5aa59e8SDavid Daney uint64_t icr1:1; 117*c5aa59e8SDavid Daney uint64_t icr0:1; 118*c5aa59e8SDavid Daney uint64_t icnrcb:1; 119*c5aa59e8SDavid Daney uint64_t reserved_18_63:46; 120*c5aa59e8SDavid Daney #endif 121*c5aa59e8SDavid Daney } cn30xx; 122*c5aa59e8SDavid Daney struct cvmx_iob_bist_status_cn61xx { 123*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 124aa32a955SDavid Daney uint64_t reserved_23_63:41; 125aa32a955SDavid Daney uint64_t xmdfif:1; 126aa32a955SDavid Daney uint64_t xmcfif:1; 127aa32a955SDavid Daney uint64_t iorfif:1; 128aa32a955SDavid Daney uint64_t rsdfif:1; 129aa32a955SDavid Daney uint64_t iocfif:1; 13054293ec3SDavid Daney uint64_t icnrcb:1; 13154293ec3SDavid Daney uint64_t icr0:1; 13254293ec3SDavid Daney uint64_t icr1:1; 13354293ec3SDavid Daney uint64_t icnr1:1; 13454293ec3SDavid Daney uint64_t icnr0:1; 13554293ec3SDavid Daney uint64_t ibdr0:1; 13654293ec3SDavid Daney uint64_t ibdr1:1; 13754293ec3SDavid Daney uint64_t ibr0:1; 13854293ec3SDavid Daney uint64_t ibr1:1; 13954293ec3SDavid Daney uint64_t icnrt:1; 14054293ec3SDavid Daney uint64_t ibrq0:1; 14154293ec3SDavid Daney uint64_t ibrq1:1; 14254293ec3SDavid Daney uint64_t icrn0:1; 14354293ec3SDavid Daney uint64_t icrn1:1; 14454293ec3SDavid Daney uint64_t icrp0:1; 14554293ec3SDavid Daney uint64_t icrp1:1; 14654293ec3SDavid Daney uint64_t ibd:1; 14754293ec3SDavid Daney uint64_t icd:1; 148*c5aa59e8SDavid Daney #else 149*c5aa59e8SDavid Daney uint64_t icd:1; 150*c5aa59e8SDavid Daney uint64_t ibd:1; 151*c5aa59e8SDavid Daney uint64_t icrp1:1; 152*c5aa59e8SDavid Daney uint64_t icrp0:1; 153*c5aa59e8SDavid Daney uint64_t icrn1:1; 154*c5aa59e8SDavid Daney uint64_t icrn0:1; 155*c5aa59e8SDavid Daney uint64_t ibrq1:1; 156*c5aa59e8SDavid Daney uint64_t ibrq0:1; 157*c5aa59e8SDavid Daney uint64_t icnrt:1; 158*c5aa59e8SDavid Daney uint64_t ibr1:1; 159*c5aa59e8SDavid Daney uint64_t ibr0:1; 160*c5aa59e8SDavid Daney uint64_t ibdr1:1; 161*c5aa59e8SDavid Daney uint64_t ibdr0:1; 162*c5aa59e8SDavid Daney uint64_t icnr0:1; 163*c5aa59e8SDavid Daney uint64_t icnr1:1; 164*c5aa59e8SDavid Daney uint64_t icr1:1; 165*c5aa59e8SDavid Daney uint64_t icr0:1; 166*c5aa59e8SDavid Daney uint64_t icnrcb:1; 167*c5aa59e8SDavid Daney uint64_t iocfif:1; 168*c5aa59e8SDavid Daney uint64_t rsdfif:1; 169*c5aa59e8SDavid Daney uint64_t iorfif:1; 170*c5aa59e8SDavid Daney uint64_t xmcfif:1; 171*c5aa59e8SDavid Daney uint64_t xmdfif:1; 172*c5aa59e8SDavid Daney uint64_t reserved_23_63:41; 173*c5aa59e8SDavid Daney #endif 174*c5aa59e8SDavid Daney } cn61xx; 175*c5aa59e8SDavid Daney struct cvmx_iob_bist_status_cn68xx { 176*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 177aa32a955SDavid Daney uint64_t reserved_18_63:46; 178*c5aa59e8SDavid Daney uint64_t xmdfif:1; 179*c5aa59e8SDavid Daney uint64_t xmcfif:1; 180*c5aa59e8SDavid Daney uint64_t iorfif:1; 181*c5aa59e8SDavid Daney uint64_t rsdfif:1; 182*c5aa59e8SDavid Daney uint64_t iocfif:1; 183aa32a955SDavid Daney uint64_t icnrcb:1; 184aa32a955SDavid Daney uint64_t icr0:1; 185aa32a955SDavid Daney uint64_t icr1:1; 186aa32a955SDavid Daney uint64_t icnr0:1; 187aa32a955SDavid Daney uint64_t ibr0:1; 188aa32a955SDavid Daney uint64_t ibr1:1; 189aa32a955SDavid Daney uint64_t icnrt:1; 190aa32a955SDavid Daney uint64_t ibrq0:1; 191aa32a955SDavid Daney uint64_t ibrq1:1; 192aa32a955SDavid Daney uint64_t icrn0:1; 193aa32a955SDavid Daney uint64_t icrn1:1; 194aa32a955SDavid Daney uint64_t ibd:1; 195aa32a955SDavid Daney uint64_t icd:1; 196*c5aa59e8SDavid Daney #else 197*c5aa59e8SDavid Daney uint64_t icd:1; 198*c5aa59e8SDavid Daney uint64_t ibd:1; 199*c5aa59e8SDavid Daney uint64_t icrn1:1; 200*c5aa59e8SDavid Daney uint64_t icrn0:1; 201*c5aa59e8SDavid Daney uint64_t ibrq1:1; 202*c5aa59e8SDavid Daney uint64_t ibrq0:1; 203*c5aa59e8SDavid Daney uint64_t icnrt:1; 204*c5aa59e8SDavid Daney uint64_t ibr1:1; 205*c5aa59e8SDavid Daney uint64_t ibr0:1; 206*c5aa59e8SDavid Daney uint64_t icnr0:1; 207*c5aa59e8SDavid Daney uint64_t icr1:1; 208*c5aa59e8SDavid Daney uint64_t icr0:1; 209*c5aa59e8SDavid Daney uint64_t icnrcb:1; 210*c5aa59e8SDavid Daney uint64_t iocfif:1; 211*c5aa59e8SDavid Daney uint64_t rsdfif:1; 212*c5aa59e8SDavid Daney uint64_t iorfif:1; 213*c5aa59e8SDavid Daney uint64_t xmcfif:1; 214*c5aa59e8SDavid Daney uint64_t xmdfif:1; 215*c5aa59e8SDavid Daney uint64_t reserved_18_63:46; 216*c5aa59e8SDavid Daney #endif 217*c5aa59e8SDavid Daney } cn68xx; 21854293ec3SDavid Daney }; 21954293ec3SDavid Daney 22054293ec3SDavid Daney union cvmx_iob_ctl_status { 22154293ec3SDavid Daney uint64_t u64; 22254293ec3SDavid Daney struct cvmx_iob_ctl_status_s { 223*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 224*c5aa59e8SDavid Daney uint64_t reserved_11_63:53; 225*c5aa59e8SDavid Daney uint64_t fif_dly:1; 226*c5aa59e8SDavid Daney uint64_t xmc_per:4; 227*c5aa59e8SDavid Daney uint64_t reserved_5_5:1; 228*c5aa59e8SDavid Daney uint64_t outb_mat:1; 229*c5aa59e8SDavid Daney uint64_t inb_mat:1; 230*c5aa59e8SDavid Daney uint64_t pko_enb:1; 231*c5aa59e8SDavid Daney uint64_t dwb_enb:1; 232*c5aa59e8SDavid Daney uint64_t fau_end:1; 233*c5aa59e8SDavid Daney #else 234*c5aa59e8SDavid Daney uint64_t fau_end:1; 235*c5aa59e8SDavid Daney uint64_t dwb_enb:1; 236*c5aa59e8SDavid Daney uint64_t pko_enb:1; 237*c5aa59e8SDavid Daney uint64_t inb_mat:1; 238*c5aa59e8SDavid Daney uint64_t outb_mat:1; 239*c5aa59e8SDavid Daney uint64_t reserved_5_5:1; 240*c5aa59e8SDavid Daney uint64_t xmc_per:4; 241*c5aa59e8SDavid Daney uint64_t fif_dly:1; 242*c5aa59e8SDavid Daney uint64_t reserved_11_63:53; 243*c5aa59e8SDavid Daney #endif 244*c5aa59e8SDavid Daney } s; 245*c5aa59e8SDavid Daney struct cvmx_iob_ctl_status_cn30xx { 246*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 247*c5aa59e8SDavid Daney uint64_t reserved_5_63:59; 248*c5aa59e8SDavid Daney uint64_t outb_mat:1; 249*c5aa59e8SDavid Daney uint64_t inb_mat:1; 250*c5aa59e8SDavid Daney uint64_t pko_enb:1; 251*c5aa59e8SDavid Daney uint64_t dwb_enb:1; 252*c5aa59e8SDavid Daney uint64_t fau_end:1; 253*c5aa59e8SDavid Daney #else 254*c5aa59e8SDavid Daney uint64_t fau_end:1; 255*c5aa59e8SDavid Daney uint64_t dwb_enb:1; 256*c5aa59e8SDavid Daney uint64_t pko_enb:1; 257*c5aa59e8SDavid Daney uint64_t inb_mat:1; 258*c5aa59e8SDavid Daney uint64_t outb_mat:1; 259*c5aa59e8SDavid Daney uint64_t reserved_5_63:59; 260*c5aa59e8SDavid Daney #endif 261*c5aa59e8SDavid Daney } cn30xx; 262*c5aa59e8SDavid Daney struct cvmx_iob_ctl_status_cn52xx { 263*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 264*c5aa59e8SDavid Daney uint64_t reserved_6_63:58; 265*c5aa59e8SDavid Daney uint64_t rr_mode:1; 266*c5aa59e8SDavid Daney uint64_t outb_mat:1; 267*c5aa59e8SDavid Daney uint64_t inb_mat:1; 268*c5aa59e8SDavid Daney uint64_t pko_enb:1; 269*c5aa59e8SDavid Daney uint64_t dwb_enb:1; 270*c5aa59e8SDavid Daney uint64_t fau_end:1; 271*c5aa59e8SDavid Daney #else 272*c5aa59e8SDavid Daney uint64_t fau_end:1; 273*c5aa59e8SDavid Daney uint64_t dwb_enb:1; 274*c5aa59e8SDavid Daney uint64_t pko_enb:1; 275*c5aa59e8SDavid Daney uint64_t inb_mat:1; 276*c5aa59e8SDavid Daney uint64_t outb_mat:1; 277*c5aa59e8SDavid Daney uint64_t rr_mode:1; 278*c5aa59e8SDavid Daney uint64_t reserved_6_63:58; 279*c5aa59e8SDavid Daney #endif 280*c5aa59e8SDavid Daney } cn52xx; 281*c5aa59e8SDavid Daney struct cvmx_iob_ctl_status_cn61xx { 282*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 283*c5aa59e8SDavid Daney uint64_t reserved_11_63:53; 284*c5aa59e8SDavid Daney uint64_t fif_dly:1; 285*c5aa59e8SDavid Daney uint64_t xmc_per:4; 286*c5aa59e8SDavid Daney uint64_t rr_mode:1; 287*c5aa59e8SDavid Daney uint64_t outb_mat:1; 288*c5aa59e8SDavid Daney uint64_t inb_mat:1; 289*c5aa59e8SDavid Daney uint64_t pko_enb:1; 290*c5aa59e8SDavid Daney uint64_t dwb_enb:1; 291*c5aa59e8SDavid Daney uint64_t fau_end:1; 292*c5aa59e8SDavid Daney #else 293*c5aa59e8SDavid Daney uint64_t fau_end:1; 294*c5aa59e8SDavid Daney uint64_t dwb_enb:1; 295*c5aa59e8SDavid Daney uint64_t pko_enb:1; 296*c5aa59e8SDavid Daney uint64_t inb_mat:1; 297*c5aa59e8SDavid Daney uint64_t outb_mat:1; 298*c5aa59e8SDavid Daney uint64_t rr_mode:1; 299*c5aa59e8SDavid Daney uint64_t xmc_per:4; 300*c5aa59e8SDavid Daney uint64_t fif_dly:1; 301*c5aa59e8SDavid Daney uint64_t reserved_11_63:53; 302*c5aa59e8SDavid Daney #endif 303*c5aa59e8SDavid Daney } cn61xx; 304*c5aa59e8SDavid Daney struct cvmx_iob_ctl_status_cn63xx { 305*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 306aa32a955SDavid Daney uint64_t reserved_10_63:54; 307aa32a955SDavid Daney uint64_t xmc_per:4; 308aa32a955SDavid Daney uint64_t rr_mode:1; 30954293ec3SDavid Daney uint64_t outb_mat:1; 31054293ec3SDavid Daney uint64_t inb_mat:1; 31154293ec3SDavid Daney uint64_t pko_enb:1; 31254293ec3SDavid Daney uint64_t dwb_enb:1; 31354293ec3SDavid Daney uint64_t fau_end:1; 314*c5aa59e8SDavid Daney #else 315aa32a955SDavid Daney uint64_t fau_end:1; 316*c5aa59e8SDavid Daney uint64_t dwb_enb:1; 317*c5aa59e8SDavid Daney uint64_t pko_enb:1; 318*c5aa59e8SDavid Daney uint64_t inb_mat:1; 319*c5aa59e8SDavid Daney uint64_t outb_mat:1; 320aa32a955SDavid Daney uint64_t rr_mode:1; 321*c5aa59e8SDavid Daney uint64_t xmc_per:4; 322*c5aa59e8SDavid Daney uint64_t reserved_10_63:54; 323*c5aa59e8SDavid Daney #endif 324*c5aa59e8SDavid Daney } cn63xx; 325*c5aa59e8SDavid Daney struct cvmx_iob_ctl_status_cn68xx { 326*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 327*c5aa59e8SDavid Daney uint64_t reserved_11_63:53; 328*c5aa59e8SDavid Daney uint64_t fif_dly:1; 329*c5aa59e8SDavid Daney uint64_t xmc_per:4; 330*c5aa59e8SDavid Daney uint64_t rsvr5:1; 331aa32a955SDavid Daney uint64_t outb_mat:1; 332aa32a955SDavid Daney uint64_t inb_mat:1; 333aa32a955SDavid Daney uint64_t pko_enb:1; 334aa32a955SDavid Daney uint64_t dwb_enb:1; 335aa32a955SDavid Daney uint64_t fau_end:1; 336*c5aa59e8SDavid Daney #else 337*c5aa59e8SDavid Daney uint64_t fau_end:1; 338*c5aa59e8SDavid Daney uint64_t dwb_enb:1; 339*c5aa59e8SDavid Daney uint64_t pko_enb:1; 340*c5aa59e8SDavid Daney uint64_t inb_mat:1; 341*c5aa59e8SDavid Daney uint64_t outb_mat:1; 342*c5aa59e8SDavid Daney uint64_t rsvr5:1; 343*c5aa59e8SDavid Daney uint64_t xmc_per:4; 344*c5aa59e8SDavid Daney uint64_t fif_dly:1; 345*c5aa59e8SDavid Daney uint64_t reserved_11_63:53; 346*c5aa59e8SDavid Daney #endif 347*c5aa59e8SDavid Daney } cn68xx; 34854293ec3SDavid Daney }; 34954293ec3SDavid Daney 35054293ec3SDavid Daney union cvmx_iob_dwb_pri_cnt { 35154293ec3SDavid Daney uint64_t u64; 35254293ec3SDavid Daney struct cvmx_iob_dwb_pri_cnt_s { 353*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 35454293ec3SDavid Daney uint64_t reserved_16_63:48; 35554293ec3SDavid Daney uint64_t cnt_enb:1; 35654293ec3SDavid Daney uint64_t cnt_val:15; 357*c5aa59e8SDavid Daney #else 358*c5aa59e8SDavid Daney uint64_t cnt_val:15; 359*c5aa59e8SDavid Daney uint64_t cnt_enb:1; 360*c5aa59e8SDavid Daney uint64_t reserved_16_63:48; 361*c5aa59e8SDavid Daney #endif 36254293ec3SDavid Daney } s; 36354293ec3SDavid Daney }; 36454293ec3SDavid Daney 36554293ec3SDavid Daney union cvmx_iob_fau_timeout { 36654293ec3SDavid Daney uint64_t u64; 36754293ec3SDavid Daney struct cvmx_iob_fau_timeout_s { 368*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 36954293ec3SDavid Daney uint64_t reserved_13_63:51; 37054293ec3SDavid Daney uint64_t tout_enb:1; 37154293ec3SDavid Daney uint64_t tout_val:12; 372*c5aa59e8SDavid Daney #else 373*c5aa59e8SDavid Daney uint64_t tout_val:12; 374*c5aa59e8SDavid Daney uint64_t tout_enb:1; 375*c5aa59e8SDavid Daney uint64_t reserved_13_63:51; 376*c5aa59e8SDavid Daney #endif 37754293ec3SDavid Daney } s; 37854293ec3SDavid Daney }; 37954293ec3SDavid Daney 38054293ec3SDavid Daney union cvmx_iob_i2c_pri_cnt { 38154293ec3SDavid Daney uint64_t u64; 38254293ec3SDavid Daney struct cvmx_iob_i2c_pri_cnt_s { 383*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 38454293ec3SDavid Daney uint64_t reserved_16_63:48; 38554293ec3SDavid Daney uint64_t cnt_enb:1; 38654293ec3SDavid Daney uint64_t cnt_val:15; 387*c5aa59e8SDavid Daney #else 388*c5aa59e8SDavid Daney uint64_t cnt_val:15; 389*c5aa59e8SDavid Daney uint64_t cnt_enb:1; 390*c5aa59e8SDavid Daney uint64_t reserved_16_63:48; 391*c5aa59e8SDavid Daney #endif 39254293ec3SDavid Daney } s; 39354293ec3SDavid Daney }; 39454293ec3SDavid Daney 39554293ec3SDavid Daney union cvmx_iob_inb_control_match { 39654293ec3SDavid Daney uint64_t u64; 39754293ec3SDavid Daney struct cvmx_iob_inb_control_match_s { 398*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 39954293ec3SDavid Daney uint64_t reserved_29_63:35; 40054293ec3SDavid Daney uint64_t mask:8; 40154293ec3SDavid Daney uint64_t opc:4; 40254293ec3SDavid Daney uint64_t dst:9; 40354293ec3SDavid Daney uint64_t src:8; 404*c5aa59e8SDavid Daney #else 405*c5aa59e8SDavid Daney uint64_t src:8; 406*c5aa59e8SDavid Daney uint64_t dst:9; 407*c5aa59e8SDavid Daney uint64_t opc:4; 408*c5aa59e8SDavid Daney uint64_t mask:8; 409*c5aa59e8SDavid Daney uint64_t reserved_29_63:35; 410*c5aa59e8SDavid Daney #endif 41154293ec3SDavid Daney } s; 41254293ec3SDavid Daney }; 41354293ec3SDavid Daney 41454293ec3SDavid Daney union cvmx_iob_inb_control_match_enb { 41554293ec3SDavid Daney uint64_t u64; 41654293ec3SDavid Daney struct cvmx_iob_inb_control_match_enb_s { 417*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 41854293ec3SDavid Daney uint64_t reserved_29_63:35; 41954293ec3SDavid Daney uint64_t mask:8; 42054293ec3SDavid Daney uint64_t opc:4; 42154293ec3SDavid Daney uint64_t dst:9; 42254293ec3SDavid Daney uint64_t src:8; 423*c5aa59e8SDavid Daney #else 424*c5aa59e8SDavid Daney uint64_t src:8; 425*c5aa59e8SDavid Daney uint64_t dst:9; 426*c5aa59e8SDavid Daney uint64_t opc:4; 427*c5aa59e8SDavid Daney uint64_t mask:8; 428*c5aa59e8SDavid Daney uint64_t reserved_29_63:35; 429*c5aa59e8SDavid Daney #endif 43054293ec3SDavid Daney } s; 43154293ec3SDavid Daney }; 43254293ec3SDavid Daney 43354293ec3SDavid Daney union cvmx_iob_inb_data_match { 43454293ec3SDavid Daney uint64_t u64; 43554293ec3SDavid Daney struct cvmx_iob_inb_data_match_s { 436*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 43754293ec3SDavid Daney uint64_t data:64; 438*c5aa59e8SDavid Daney #else 439*c5aa59e8SDavid Daney uint64_t data:64; 440*c5aa59e8SDavid Daney #endif 44154293ec3SDavid Daney } s; 44254293ec3SDavid Daney }; 44354293ec3SDavid Daney 44454293ec3SDavid Daney union cvmx_iob_inb_data_match_enb { 44554293ec3SDavid Daney uint64_t u64; 44654293ec3SDavid Daney struct cvmx_iob_inb_data_match_enb_s { 447*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 44854293ec3SDavid Daney uint64_t data:64; 449*c5aa59e8SDavid Daney #else 450*c5aa59e8SDavid Daney uint64_t data:64; 451*c5aa59e8SDavid Daney #endif 45254293ec3SDavid Daney } s; 45354293ec3SDavid Daney }; 45454293ec3SDavid Daney 45554293ec3SDavid Daney union cvmx_iob_int_enb { 45654293ec3SDavid Daney uint64_t u64; 45754293ec3SDavid Daney struct cvmx_iob_int_enb_s { 458*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 45954293ec3SDavid Daney uint64_t reserved_6_63:58; 46054293ec3SDavid Daney uint64_t p_dat:1; 46154293ec3SDavid Daney uint64_t np_dat:1; 46254293ec3SDavid Daney uint64_t p_eop:1; 46354293ec3SDavid Daney uint64_t p_sop:1; 46454293ec3SDavid Daney uint64_t np_eop:1; 46554293ec3SDavid Daney uint64_t np_sop:1; 466*c5aa59e8SDavid Daney #else 467*c5aa59e8SDavid Daney uint64_t np_sop:1; 468*c5aa59e8SDavid Daney uint64_t np_eop:1; 469*c5aa59e8SDavid Daney uint64_t p_sop:1; 470*c5aa59e8SDavid Daney uint64_t p_eop:1; 471*c5aa59e8SDavid Daney uint64_t np_dat:1; 472*c5aa59e8SDavid Daney uint64_t p_dat:1; 473*c5aa59e8SDavid Daney uint64_t reserved_6_63:58; 474*c5aa59e8SDavid Daney #endif 47554293ec3SDavid Daney } s; 47654293ec3SDavid Daney struct cvmx_iob_int_enb_cn30xx { 477*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 47854293ec3SDavid Daney uint64_t reserved_4_63:60; 47954293ec3SDavid Daney uint64_t p_eop:1; 48054293ec3SDavid Daney uint64_t p_sop:1; 48154293ec3SDavid Daney uint64_t np_eop:1; 48254293ec3SDavid Daney uint64_t np_sop:1; 483*c5aa59e8SDavid Daney #else 484*c5aa59e8SDavid Daney uint64_t np_sop:1; 485*c5aa59e8SDavid Daney uint64_t np_eop:1; 486*c5aa59e8SDavid Daney uint64_t p_sop:1; 487*c5aa59e8SDavid Daney uint64_t p_eop:1; 488*c5aa59e8SDavid Daney uint64_t reserved_4_63:60; 489*c5aa59e8SDavid Daney #endif 49054293ec3SDavid Daney } cn30xx; 491*c5aa59e8SDavid Daney struct cvmx_iob_int_enb_cn68xx { 492*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 493*c5aa59e8SDavid Daney uint64_t reserved_0_63:64; 494*c5aa59e8SDavid Daney #else 495*c5aa59e8SDavid Daney uint64_t reserved_0_63:64; 496*c5aa59e8SDavid Daney #endif 497*c5aa59e8SDavid Daney } cn68xx; 49854293ec3SDavid Daney }; 49954293ec3SDavid Daney 50054293ec3SDavid Daney union cvmx_iob_int_sum { 50154293ec3SDavid Daney uint64_t u64; 50254293ec3SDavid Daney struct cvmx_iob_int_sum_s { 503*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 50454293ec3SDavid Daney uint64_t reserved_6_63:58; 50554293ec3SDavid Daney uint64_t p_dat:1; 50654293ec3SDavid Daney uint64_t np_dat:1; 50754293ec3SDavid Daney uint64_t p_eop:1; 50854293ec3SDavid Daney uint64_t p_sop:1; 50954293ec3SDavid Daney uint64_t np_eop:1; 51054293ec3SDavid Daney uint64_t np_sop:1; 511*c5aa59e8SDavid Daney #else 512*c5aa59e8SDavid Daney uint64_t np_sop:1; 513*c5aa59e8SDavid Daney uint64_t np_eop:1; 514*c5aa59e8SDavid Daney uint64_t p_sop:1; 515*c5aa59e8SDavid Daney uint64_t p_eop:1; 516*c5aa59e8SDavid Daney uint64_t np_dat:1; 517*c5aa59e8SDavid Daney uint64_t p_dat:1; 518*c5aa59e8SDavid Daney uint64_t reserved_6_63:58; 519*c5aa59e8SDavid Daney #endif 52054293ec3SDavid Daney } s; 52154293ec3SDavid Daney struct cvmx_iob_int_sum_cn30xx { 522*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 52354293ec3SDavid Daney uint64_t reserved_4_63:60; 52454293ec3SDavid Daney uint64_t p_eop:1; 52554293ec3SDavid Daney uint64_t p_sop:1; 52654293ec3SDavid Daney uint64_t np_eop:1; 52754293ec3SDavid Daney uint64_t np_sop:1; 528*c5aa59e8SDavid Daney #else 529*c5aa59e8SDavid Daney uint64_t np_sop:1; 530*c5aa59e8SDavid Daney uint64_t np_eop:1; 531*c5aa59e8SDavid Daney uint64_t p_sop:1; 532*c5aa59e8SDavid Daney uint64_t p_eop:1; 533*c5aa59e8SDavid Daney uint64_t reserved_4_63:60; 534*c5aa59e8SDavid Daney #endif 53554293ec3SDavid Daney } cn30xx; 536*c5aa59e8SDavid Daney struct cvmx_iob_int_sum_cn68xx { 537*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 538*c5aa59e8SDavid Daney uint64_t reserved_0_63:64; 539*c5aa59e8SDavid Daney #else 540*c5aa59e8SDavid Daney uint64_t reserved_0_63:64; 541*c5aa59e8SDavid Daney #endif 542*c5aa59e8SDavid Daney } cn68xx; 54354293ec3SDavid Daney }; 54454293ec3SDavid Daney 54554293ec3SDavid Daney union cvmx_iob_n2c_l2c_pri_cnt { 54654293ec3SDavid Daney uint64_t u64; 54754293ec3SDavid Daney struct cvmx_iob_n2c_l2c_pri_cnt_s { 548*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 54954293ec3SDavid Daney uint64_t reserved_16_63:48; 55054293ec3SDavid Daney uint64_t cnt_enb:1; 55154293ec3SDavid Daney uint64_t cnt_val:15; 552*c5aa59e8SDavid Daney #else 553*c5aa59e8SDavid Daney uint64_t cnt_val:15; 554*c5aa59e8SDavid Daney uint64_t cnt_enb:1; 555*c5aa59e8SDavid Daney uint64_t reserved_16_63:48; 556*c5aa59e8SDavid Daney #endif 55754293ec3SDavid Daney } s; 55854293ec3SDavid Daney }; 55954293ec3SDavid Daney 56054293ec3SDavid Daney union cvmx_iob_n2c_rsp_pri_cnt { 56154293ec3SDavid Daney uint64_t u64; 56254293ec3SDavid Daney struct cvmx_iob_n2c_rsp_pri_cnt_s { 563*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 56454293ec3SDavid Daney uint64_t reserved_16_63:48; 56554293ec3SDavid Daney uint64_t cnt_enb:1; 56654293ec3SDavid Daney uint64_t cnt_val:15; 567*c5aa59e8SDavid Daney #else 568*c5aa59e8SDavid Daney uint64_t cnt_val:15; 569*c5aa59e8SDavid Daney uint64_t cnt_enb:1; 570*c5aa59e8SDavid Daney uint64_t reserved_16_63:48; 571*c5aa59e8SDavid Daney #endif 57254293ec3SDavid Daney } s; 57354293ec3SDavid Daney }; 57454293ec3SDavid Daney 57554293ec3SDavid Daney union cvmx_iob_outb_com_pri_cnt { 57654293ec3SDavid Daney uint64_t u64; 57754293ec3SDavid Daney struct cvmx_iob_outb_com_pri_cnt_s { 578*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 57954293ec3SDavid Daney uint64_t reserved_16_63:48; 58054293ec3SDavid Daney uint64_t cnt_enb:1; 58154293ec3SDavid Daney uint64_t cnt_val:15; 582*c5aa59e8SDavid Daney #else 583*c5aa59e8SDavid Daney uint64_t cnt_val:15; 584*c5aa59e8SDavid Daney uint64_t cnt_enb:1; 585*c5aa59e8SDavid Daney uint64_t reserved_16_63:48; 586*c5aa59e8SDavid Daney #endif 58754293ec3SDavid Daney } s; 58854293ec3SDavid Daney }; 58954293ec3SDavid Daney 59054293ec3SDavid Daney union cvmx_iob_outb_control_match { 59154293ec3SDavid Daney uint64_t u64; 59254293ec3SDavid Daney struct cvmx_iob_outb_control_match_s { 593*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 59454293ec3SDavid Daney uint64_t reserved_26_63:38; 59554293ec3SDavid Daney uint64_t mask:8; 59654293ec3SDavid Daney uint64_t eot:1; 59754293ec3SDavid Daney uint64_t dst:8; 59854293ec3SDavid Daney uint64_t src:9; 599*c5aa59e8SDavid Daney #else 600*c5aa59e8SDavid Daney uint64_t src:9; 601*c5aa59e8SDavid Daney uint64_t dst:8; 602*c5aa59e8SDavid Daney uint64_t eot:1; 603*c5aa59e8SDavid Daney uint64_t mask:8; 604*c5aa59e8SDavid Daney uint64_t reserved_26_63:38; 605*c5aa59e8SDavid Daney #endif 60654293ec3SDavid Daney } s; 60754293ec3SDavid Daney }; 60854293ec3SDavid Daney 60954293ec3SDavid Daney union cvmx_iob_outb_control_match_enb { 61054293ec3SDavid Daney uint64_t u64; 61154293ec3SDavid Daney struct cvmx_iob_outb_control_match_enb_s { 612*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 61354293ec3SDavid Daney uint64_t reserved_26_63:38; 61454293ec3SDavid Daney uint64_t mask:8; 61554293ec3SDavid Daney uint64_t eot:1; 61654293ec3SDavid Daney uint64_t dst:8; 61754293ec3SDavid Daney uint64_t src:9; 618*c5aa59e8SDavid Daney #else 619*c5aa59e8SDavid Daney uint64_t src:9; 620*c5aa59e8SDavid Daney uint64_t dst:8; 621*c5aa59e8SDavid Daney uint64_t eot:1; 622*c5aa59e8SDavid Daney uint64_t mask:8; 623*c5aa59e8SDavid Daney uint64_t reserved_26_63:38; 624*c5aa59e8SDavid Daney #endif 62554293ec3SDavid Daney } s; 62654293ec3SDavid Daney }; 62754293ec3SDavid Daney 62854293ec3SDavid Daney union cvmx_iob_outb_data_match { 62954293ec3SDavid Daney uint64_t u64; 63054293ec3SDavid Daney struct cvmx_iob_outb_data_match_s { 631*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 63254293ec3SDavid Daney uint64_t data:64; 633*c5aa59e8SDavid Daney #else 634*c5aa59e8SDavid Daney uint64_t data:64; 635*c5aa59e8SDavid Daney #endif 63654293ec3SDavid Daney } s; 63754293ec3SDavid Daney }; 63854293ec3SDavid Daney 63954293ec3SDavid Daney union cvmx_iob_outb_data_match_enb { 64054293ec3SDavid Daney uint64_t u64; 64154293ec3SDavid Daney struct cvmx_iob_outb_data_match_enb_s { 642*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 64354293ec3SDavid Daney uint64_t data:64; 644*c5aa59e8SDavid Daney #else 645*c5aa59e8SDavid Daney uint64_t data:64; 646*c5aa59e8SDavid Daney #endif 64754293ec3SDavid Daney } s; 64854293ec3SDavid Daney }; 64954293ec3SDavid Daney 65054293ec3SDavid Daney union cvmx_iob_outb_fpa_pri_cnt { 65154293ec3SDavid Daney uint64_t u64; 65254293ec3SDavid Daney struct cvmx_iob_outb_fpa_pri_cnt_s { 653*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 65454293ec3SDavid Daney uint64_t reserved_16_63:48; 65554293ec3SDavid Daney uint64_t cnt_enb:1; 65654293ec3SDavid Daney uint64_t cnt_val:15; 657*c5aa59e8SDavid Daney #else 658*c5aa59e8SDavid Daney uint64_t cnt_val:15; 659*c5aa59e8SDavid Daney uint64_t cnt_enb:1; 660*c5aa59e8SDavid Daney uint64_t reserved_16_63:48; 661*c5aa59e8SDavid Daney #endif 66254293ec3SDavid Daney } s; 66354293ec3SDavid Daney }; 66454293ec3SDavid Daney 66554293ec3SDavid Daney union cvmx_iob_outb_req_pri_cnt { 66654293ec3SDavid Daney uint64_t u64; 66754293ec3SDavid Daney struct cvmx_iob_outb_req_pri_cnt_s { 668*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 66954293ec3SDavid Daney uint64_t reserved_16_63:48; 67054293ec3SDavid Daney uint64_t cnt_enb:1; 67154293ec3SDavid Daney uint64_t cnt_val:15; 672*c5aa59e8SDavid Daney #else 673*c5aa59e8SDavid Daney uint64_t cnt_val:15; 674*c5aa59e8SDavid Daney uint64_t cnt_enb:1; 675*c5aa59e8SDavid Daney uint64_t reserved_16_63:48; 676*c5aa59e8SDavid Daney #endif 67754293ec3SDavid Daney } s; 67854293ec3SDavid Daney }; 67954293ec3SDavid Daney 68054293ec3SDavid Daney union cvmx_iob_p2c_req_pri_cnt { 68154293ec3SDavid Daney uint64_t u64; 68254293ec3SDavid Daney struct cvmx_iob_p2c_req_pri_cnt_s { 683*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 68454293ec3SDavid Daney uint64_t reserved_16_63:48; 68554293ec3SDavid Daney uint64_t cnt_enb:1; 68654293ec3SDavid Daney uint64_t cnt_val:15; 687*c5aa59e8SDavid Daney #else 688*c5aa59e8SDavid Daney uint64_t cnt_val:15; 689*c5aa59e8SDavid Daney uint64_t cnt_enb:1; 690*c5aa59e8SDavid Daney uint64_t reserved_16_63:48; 691*c5aa59e8SDavid Daney #endif 69254293ec3SDavid Daney } s; 69354293ec3SDavid Daney }; 69454293ec3SDavid Daney 69554293ec3SDavid Daney union cvmx_iob_pkt_err { 69654293ec3SDavid Daney uint64_t u64; 69754293ec3SDavid Daney struct cvmx_iob_pkt_err_s { 698*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 699aa32a955SDavid Daney uint64_t reserved_12_63:52; 700aa32a955SDavid Daney uint64_t vport:6; 70154293ec3SDavid Daney uint64_t port:6; 702*c5aa59e8SDavid Daney #else 703*c5aa59e8SDavid Daney uint64_t port:6; 704*c5aa59e8SDavid Daney uint64_t vport:6; 705*c5aa59e8SDavid Daney uint64_t reserved_12_63:52; 706*c5aa59e8SDavid Daney #endif 70754293ec3SDavid Daney } s; 708aa32a955SDavid Daney struct cvmx_iob_pkt_err_cn30xx { 709*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 710aa32a955SDavid Daney uint64_t reserved_6_63:58; 711aa32a955SDavid Daney uint64_t port:6; 712*c5aa59e8SDavid Daney #else 713*c5aa59e8SDavid Daney uint64_t port:6; 714*c5aa59e8SDavid Daney uint64_t reserved_6_63:58; 715*c5aa59e8SDavid Daney #endif 716aa32a955SDavid Daney } cn30xx; 717aa32a955SDavid Daney }; 718aa32a955SDavid Daney 719aa32a955SDavid Daney union cvmx_iob_to_cmb_credits { 720aa32a955SDavid Daney uint64_t u64; 721aa32a955SDavid Daney struct cvmx_iob_to_cmb_credits_s { 722*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 723*c5aa59e8SDavid Daney uint64_t reserved_6_63:58; 724*c5aa59e8SDavid Daney uint64_t ncb_rd:3; 725*c5aa59e8SDavid Daney uint64_t ncb_wr:3; 726*c5aa59e8SDavid Daney #else 727*c5aa59e8SDavid Daney uint64_t ncb_wr:3; 728*c5aa59e8SDavid Daney uint64_t ncb_rd:3; 729*c5aa59e8SDavid Daney uint64_t reserved_6_63:58; 730*c5aa59e8SDavid Daney #endif 731*c5aa59e8SDavid Daney } s; 732*c5aa59e8SDavid Daney struct cvmx_iob_to_cmb_credits_cn52xx { 733*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 734aa32a955SDavid Daney uint64_t reserved_9_63:55; 735aa32a955SDavid Daney uint64_t pko_rd:3; 736aa32a955SDavid Daney uint64_t ncb_rd:3; 737aa32a955SDavid Daney uint64_t ncb_wr:3; 738*c5aa59e8SDavid Daney #else 739*c5aa59e8SDavid Daney uint64_t ncb_wr:3; 740*c5aa59e8SDavid Daney uint64_t ncb_rd:3; 741*c5aa59e8SDavid Daney uint64_t pko_rd:3; 742*c5aa59e8SDavid Daney uint64_t reserved_9_63:55; 743*c5aa59e8SDavid Daney #endif 744*c5aa59e8SDavid Daney } cn52xx; 745*c5aa59e8SDavid Daney struct cvmx_iob_to_cmb_credits_cn68xx { 746*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 747*c5aa59e8SDavid Daney uint64_t reserved_9_63:55; 748*c5aa59e8SDavid Daney uint64_t dwb:3; 749*c5aa59e8SDavid Daney uint64_t ncb_rd:3; 750*c5aa59e8SDavid Daney uint64_t ncb_wr:3; 751*c5aa59e8SDavid Daney #else 752*c5aa59e8SDavid Daney uint64_t ncb_wr:3; 753*c5aa59e8SDavid Daney uint64_t ncb_rd:3; 754*c5aa59e8SDavid Daney uint64_t dwb:3; 755*c5aa59e8SDavid Daney uint64_t reserved_9_63:55; 756*c5aa59e8SDavid Daney #endif 757*c5aa59e8SDavid Daney } cn68xx; 758*c5aa59e8SDavid Daney }; 759*c5aa59e8SDavid Daney 760*c5aa59e8SDavid Daney union cvmx_iob_to_ncb_did_00_credits { 761*c5aa59e8SDavid Daney uint64_t u64; 762*c5aa59e8SDavid Daney struct cvmx_iob_to_ncb_did_00_credits_s { 763*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 764*c5aa59e8SDavid Daney uint64_t reserved_7_63:57; 765*c5aa59e8SDavid Daney uint64_t crd:7; 766*c5aa59e8SDavid Daney #else 767*c5aa59e8SDavid Daney uint64_t crd:7; 768*c5aa59e8SDavid Daney uint64_t reserved_7_63:57; 769*c5aa59e8SDavid Daney #endif 770aa32a955SDavid Daney } s; 771*c5aa59e8SDavid Daney }; 772*c5aa59e8SDavid Daney 773*c5aa59e8SDavid Daney union cvmx_iob_to_ncb_did_111_credits { 774*c5aa59e8SDavid Daney uint64_t u64; 775*c5aa59e8SDavid Daney struct cvmx_iob_to_ncb_did_111_credits_s { 776*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 777*c5aa59e8SDavid Daney uint64_t reserved_7_63:57; 778*c5aa59e8SDavid Daney uint64_t crd:7; 779*c5aa59e8SDavid Daney #else 780*c5aa59e8SDavid Daney uint64_t crd:7; 781*c5aa59e8SDavid Daney uint64_t reserved_7_63:57; 782*c5aa59e8SDavid Daney #endif 783*c5aa59e8SDavid Daney } s; 784*c5aa59e8SDavid Daney }; 785*c5aa59e8SDavid Daney 786*c5aa59e8SDavid Daney union cvmx_iob_to_ncb_did_223_credits { 787*c5aa59e8SDavid Daney uint64_t u64; 788*c5aa59e8SDavid Daney struct cvmx_iob_to_ncb_did_223_credits_s { 789*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 790*c5aa59e8SDavid Daney uint64_t reserved_7_63:57; 791*c5aa59e8SDavid Daney uint64_t crd:7; 792*c5aa59e8SDavid Daney #else 793*c5aa59e8SDavid Daney uint64_t crd:7; 794*c5aa59e8SDavid Daney uint64_t reserved_7_63:57; 795*c5aa59e8SDavid Daney #endif 796*c5aa59e8SDavid Daney } s; 797*c5aa59e8SDavid Daney }; 798*c5aa59e8SDavid Daney 799*c5aa59e8SDavid Daney union cvmx_iob_to_ncb_did_24_credits { 800*c5aa59e8SDavid Daney uint64_t u64; 801*c5aa59e8SDavid Daney struct cvmx_iob_to_ncb_did_24_credits_s { 802*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 803*c5aa59e8SDavid Daney uint64_t reserved_7_63:57; 804*c5aa59e8SDavid Daney uint64_t crd:7; 805*c5aa59e8SDavid Daney #else 806*c5aa59e8SDavid Daney uint64_t crd:7; 807*c5aa59e8SDavid Daney uint64_t reserved_7_63:57; 808*c5aa59e8SDavid Daney #endif 809*c5aa59e8SDavid Daney } s; 810*c5aa59e8SDavid Daney }; 811*c5aa59e8SDavid Daney 812*c5aa59e8SDavid Daney union cvmx_iob_to_ncb_did_32_credits { 813*c5aa59e8SDavid Daney uint64_t u64; 814*c5aa59e8SDavid Daney struct cvmx_iob_to_ncb_did_32_credits_s { 815*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 816*c5aa59e8SDavid Daney uint64_t reserved_7_63:57; 817*c5aa59e8SDavid Daney uint64_t crd:7; 818*c5aa59e8SDavid Daney #else 819*c5aa59e8SDavid Daney uint64_t crd:7; 820*c5aa59e8SDavid Daney uint64_t reserved_7_63:57; 821*c5aa59e8SDavid Daney #endif 822*c5aa59e8SDavid Daney } s; 823*c5aa59e8SDavid Daney }; 824*c5aa59e8SDavid Daney 825*c5aa59e8SDavid Daney union cvmx_iob_to_ncb_did_40_credits { 826*c5aa59e8SDavid Daney uint64_t u64; 827*c5aa59e8SDavid Daney struct cvmx_iob_to_ncb_did_40_credits_s { 828*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 829*c5aa59e8SDavid Daney uint64_t reserved_7_63:57; 830*c5aa59e8SDavid Daney uint64_t crd:7; 831*c5aa59e8SDavid Daney #else 832*c5aa59e8SDavid Daney uint64_t crd:7; 833*c5aa59e8SDavid Daney uint64_t reserved_7_63:57; 834*c5aa59e8SDavid Daney #endif 835*c5aa59e8SDavid Daney } s; 836*c5aa59e8SDavid Daney }; 837*c5aa59e8SDavid Daney 838*c5aa59e8SDavid Daney union cvmx_iob_to_ncb_did_55_credits { 839*c5aa59e8SDavid Daney uint64_t u64; 840*c5aa59e8SDavid Daney struct cvmx_iob_to_ncb_did_55_credits_s { 841*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 842*c5aa59e8SDavid Daney uint64_t reserved_7_63:57; 843*c5aa59e8SDavid Daney uint64_t crd:7; 844*c5aa59e8SDavid Daney #else 845*c5aa59e8SDavid Daney uint64_t crd:7; 846*c5aa59e8SDavid Daney uint64_t reserved_7_63:57; 847*c5aa59e8SDavid Daney #endif 848*c5aa59e8SDavid Daney } s; 849*c5aa59e8SDavid Daney }; 850*c5aa59e8SDavid Daney 851*c5aa59e8SDavid Daney union cvmx_iob_to_ncb_did_64_credits { 852*c5aa59e8SDavid Daney uint64_t u64; 853*c5aa59e8SDavid Daney struct cvmx_iob_to_ncb_did_64_credits_s { 854*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 855*c5aa59e8SDavid Daney uint64_t reserved_7_63:57; 856*c5aa59e8SDavid Daney uint64_t crd:7; 857*c5aa59e8SDavid Daney #else 858*c5aa59e8SDavid Daney uint64_t crd:7; 859*c5aa59e8SDavid Daney uint64_t reserved_7_63:57; 860*c5aa59e8SDavid Daney #endif 861*c5aa59e8SDavid Daney } s; 862*c5aa59e8SDavid Daney }; 863*c5aa59e8SDavid Daney 864*c5aa59e8SDavid Daney union cvmx_iob_to_ncb_did_79_credits { 865*c5aa59e8SDavid Daney uint64_t u64; 866*c5aa59e8SDavid Daney struct cvmx_iob_to_ncb_did_79_credits_s { 867*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 868*c5aa59e8SDavid Daney uint64_t reserved_7_63:57; 869*c5aa59e8SDavid Daney uint64_t crd:7; 870*c5aa59e8SDavid Daney #else 871*c5aa59e8SDavid Daney uint64_t crd:7; 872*c5aa59e8SDavid Daney uint64_t reserved_7_63:57; 873*c5aa59e8SDavid Daney #endif 874*c5aa59e8SDavid Daney } s; 875*c5aa59e8SDavid Daney }; 876*c5aa59e8SDavid Daney 877*c5aa59e8SDavid Daney union cvmx_iob_to_ncb_did_96_credits { 878*c5aa59e8SDavid Daney uint64_t u64; 879*c5aa59e8SDavid Daney struct cvmx_iob_to_ncb_did_96_credits_s { 880*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 881*c5aa59e8SDavid Daney uint64_t reserved_7_63:57; 882*c5aa59e8SDavid Daney uint64_t crd:7; 883*c5aa59e8SDavid Daney #else 884*c5aa59e8SDavid Daney uint64_t crd:7; 885*c5aa59e8SDavid Daney uint64_t reserved_7_63:57; 886*c5aa59e8SDavid Daney #endif 887*c5aa59e8SDavid Daney } s; 888*c5aa59e8SDavid Daney }; 889*c5aa59e8SDavid Daney 890*c5aa59e8SDavid Daney union cvmx_iob_to_ncb_did_98_credits { 891*c5aa59e8SDavid Daney uint64_t u64; 892*c5aa59e8SDavid Daney struct cvmx_iob_to_ncb_did_98_credits_s { 893*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 894*c5aa59e8SDavid Daney uint64_t reserved_7_63:57; 895*c5aa59e8SDavid Daney uint64_t crd:7; 896*c5aa59e8SDavid Daney #else 897*c5aa59e8SDavid Daney uint64_t crd:7; 898*c5aa59e8SDavid Daney uint64_t reserved_7_63:57; 899*c5aa59e8SDavid Daney #endif 900*c5aa59e8SDavid Daney } s; 90154293ec3SDavid Daney }; 90254293ec3SDavid Daney 90354293ec3SDavid Daney #endif 904