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 * 7c5aa59e8SDavid 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)) 54c5aa59e8SDavid Daney #define CVMX_IOB_TO_NCB_DID_00_CREDITS (CVMX_ADD_IO_SEG(0x00011800F0000800ull)) 55c5aa59e8SDavid Daney #define CVMX_IOB_TO_NCB_DID_111_CREDITS (CVMX_ADD_IO_SEG(0x00011800F0000B78ull)) 56c5aa59e8SDavid Daney #define CVMX_IOB_TO_NCB_DID_223_CREDITS (CVMX_ADD_IO_SEG(0x00011800F0000EF8ull)) 57c5aa59e8SDavid Daney #define CVMX_IOB_TO_NCB_DID_24_CREDITS (CVMX_ADD_IO_SEG(0x00011800F00008C0ull)) 58c5aa59e8SDavid Daney #define CVMX_IOB_TO_NCB_DID_32_CREDITS (CVMX_ADD_IO_SEG(0x00011800F0000900ull)) 59c5aa59e8SDavid Daney #define CVMX_IOB_TO_NCB_DID_40_CREDITS (CVMX_ADD_IO_SEG(0x00011800F0000940ull)) 60c5aa59e8SDavid Daney #define CVMX_IOB_TO_NCB_DID_55_CREDITS (CVMX_ADD_IO_SEG(0x00011800F00009B8ull)) 61c5aa59e8SDavid Daney #define CVMX_IOB_TO_NCB_DID_64_CREDITS (CVMX_ADD_IO_SEG(0x00011800F0000A00ull)) 62c5aa59e8SDavid Daney #define CVMX_IOB_TO_NCB_DID_79_CREDITS (CVMX_ADD_IO_SEG(0x00011800F0000A78ull)) 63c5aa59e8SDavid Daney #define CVMX_IOB_TO_NCB_DID_96_CREDITS (CVMX_ADD_IO_SEG(0x00011800F0000B00ull)) 64c5aa59e8SDavid 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 { 69c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 70c5aa59e8SDavid Daney uint64_t reserved_2_63:62; 71c5aa59e8SDavid Daney uint64_t ibd:1; 72c5aa59e8SDavid Daney uint64_t icd:1; 73c5aa59e8SDavid Daney #else 74c5aa59e8SDavid Daney uint64_t icd:1; 75c5aa59e8SDavid Daney uint64_t ibd:1; 76c5aa59e8SDavid Daney uint64_t reserved_2_63:62; 77c5aa59e8SDavid Daney #endif 78c5aa59e8SDavid Daney } s; 79c5aa59e8SDavid Daney struct cvmx_iob_bist_status_cn30xx { 80c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 81c5aa59e8SDavid Daney uint64_t reserved_18_63:46; 82c5aa59e8SDavid Daney uint64_t icnrcb:1; 83c5aa59e8SDavid Daney uint64_t icr0:1; 84c5aa59e8SDavid Daney uint64_t icr1:1; 85c5aa59e8SDavid Daney uint64_t icnr1:1; 86c5aa59e8SDavid Daney uint64_t icnr0:1; 87c5aa59e8SDavid Daney uint64_t ibdr0:1; 88c5aa59e8SDavid Daney uint64_t ibdr1:1; 89c5aa59e8SDavid Daney uint64_t ibr0:1; 90c5aa59e8SDavid Daney uint64_t ibr1:1; 91c5aa59e8SDavid Daney uint64_t icnrt:1; 92c5aa59e8SDavid Daney uint64_t ibrq0:1; 93c5aa59e8SDavid Daney uint64_t ibrq1:1; 94c5aa59e8SDavid Daney uint64_t icrn0:1; 95c5aa59e8SDavid Daney uint64_t icrn1:1; 96c5aa59e8SDavid Daney uint64_t icrp0:1; 97c5aa59e8SDavid Daney uint64_t icrp1:1; 98c5aa59e8SDavid Daney uint64_t ibd:1; 99c5aa59e8SDavid Daney uint64_t icd:1; 100c5aa59e8SDavid Daney #else 101c5aa59e8SDavid Daney uint64_t icd:1; 102c5aa59e8SDavid Daney uint64_t ibd:1; 103c5aa59e8SDavid Daney uint64_t icrp1:1; 104c5aa59e8SDavid Daney uint64_t icrp0:1; 105c5aa59e8SDavid Daney uint64_t icrn1:1; 106c5aa59e8SDavid Daney uint64_t icrn0:1; 107c5aa59e8SDavid Daney uint64_t ibrq1:1; 108c5aa59e8SDavid Daney uint64_t ibrq0:1; 109c5aa59e8SDavid Daney uint64_t icnrt:1; 110c5aa59e8SDavid Daney uint64_t ibr1:1; 111c5aa59e8SDavid Daney uint64_t ibr0:1; 112c5aa59e8SDavid Daney uint64_t ibdr1:1; 113c5aa59e8SDavid Daney uint64_t ibdr0:1; 114c5aa59e8SDavid Daney uint64_t icnr0:1; 115c5aa59e8SDavid Daney uint64_t icnr1:1; 116c5aa59e8SDavid Daney uint64_t icr1:1; 117c5aa59e8SDavid Daney uint64_t icr0:1; 118c5aa59e8SDavid Daney uint64_t icnrcb:1; 119c5aa59e8SDavid Daney uint64_t reserved_18_63:46; 120c5aa59e8SDavid Daney #endif 121c5aa59e8SDavid Daney } cn30xx; 122c5aa59e8SDavid Daney struct cvmx_iob_bist_status_cn61xx { 123c5aa59e8SDavid 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; 148c5aa59e8SDavid Daney #else 149c5aa59e8SDavid Daney uint64_t icd:1; 150c5aa59e8SDavid Daney uint64_t ibd:1; 151c5aa59e8SDavid Daney uint64_t icrp1:1; 152c5aa59e8SDavid Daney uint64_t icrp0:1; 153c5aa59e8SDavid Daney uint64_t icrn1:1; 154c5aa59e8SDavid Daney uint64_t icrn0:1; 155c5aa59e8SDavid Daney uint64_t ibrq1:1; 156c5aa59e8SDavid Daney uint64_t ibrq0:1; 157c5aa59e8SDavid Daney uint64_t icnrt:1; 158c5aa59e8SDavid Daney uint64_t ibr1:1; 159c5aa59e8SDavid Daney uint64_t ibr0:1; 160c5aa59e8SDavid Daney uint64_t ibdr1:1; 161c5aa59e8SDavid Daney uint64_t ibdr0:1; 162c5aa59e8SDavid Daney uint64_t icnr0:1; 163c5aa59e8SDavid Daney uint64_t icnr1:1; 164c5aa59e8SDavid Daney uint64_t icr1:1; 165c5aa59e8SDavid Daney uint64_t icr0:1; 166c5aa59e8SDavid Daney uint64_t icnrcb:1; 167c5aa59e8SDavid Daney uint64_t iocfif:1; 168c5aa59e8SDavid Daney uint64_t rsdfif:1; 169c5aa59e8SDavid Daney uint64_t iorfif:1; 170c5aa59e8SDavid Daney uint64_t xmcfif:1; 171c5aa59e8SDavid Daney uint64_t xmdfif:1; 172c5aa59e8SDavid Daney uint64_t reserved_23_63:41; 173c5aa59e8SDavid Daney #endif 174c5aa59e8SDavid Daney } cn61xx; 175c5aa59e8SDavid Daney struct cvmx_iob_bist_status_cn68xx { 176c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 177aa32a955SDavid Daney uint64_t reserved_18_63:46; 178c5aa59e8SDavid Daney uint64_t xmdfif:1; 179c5aa59e8SDavid Daney uint64_t xmcfif:1; 180c5aa59e8SDavid Daney uint64_t iorfif:1; 181c5aa59e8SDavid Daney uint64_t rsdfif:1; 182c5aa59e8SDavid 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; 196c5aa59e8SDavid Daney #else 197c5aa59e8SDavid Daney uint64_t icd:1; 198c5aa59e8SDavid Daney uint64_t ibd:1; 199c5aa59e8SDavid Daney uint64_t icrn1:1; 200c5aa59e8SDavid Daney uint64_t icrn0:1; 201c5aa59e8SDavid Daney uint64_t ibrq1:1; 202c5aa59e8SDavid Daney uint64_t ibrq0:1; 203c5aa59e8SDavid Daney uint64_t icnrt:1; 204c5aa59e8SDavid Daney uint64_t ibr1:1; 205c5aa59e8SDavid Daney uint64_t ibr0:1; 206c5aa59e8SDavid Daney uint64_t icnr0:1; 207c5aa59e8SDavid Daney uint64_t icr1:1; 208c5aa59e8SDavid Daney uint64_t icr0:1; 209c5aa59e8SDavid Daney uint64_t icnrcb:1; 210c5aa59e8SDavid Daney uint64_t iocfif:1; 211c5aa59e8SDavid Daney uint64_t rsdfif:1; 212c5aa59e8SDavid Daney uint64_t iorfif:1; 213c5aa59e8SDavid Daney uint64_t xmcfif:1; 214c5aa59e8SDavid Daney uint64_t xmdfif:1; 215c5aa59e8SDavid Daney uint64_t reserved_18_63:46; 216c5aa59e8SDavid Daney #endif 217c5aa59e8SDavid 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 { 223c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 224c5aa59e8SDavid Daney uint64_t reserved_11_63:53; 225c5aa59e8SDavid Daney uint64_t fif_dly:1; 226c5aa59e8SDavid Daney uint64_t xmc_per:4; 227c5aa59e8SDavid Daney uint64_t reserved_5_5:1; 228c5aa59e8SDavid Daney uint64_t outb_mat:1; 229c5aa59e8SDavid Daney uint64_t inb_mat:1; 230c5aa59e8SDavid Daney uint64_t pko_enb:1; 231c5aa59e8SDavid Daney uint64_t dwb_enb:1; 232c5aa59e8SDavid Daney uint64_t fau_end:1; 233c5aa59e8SDavid Daney #else 234c5aa59e8SDavid Daney uint64_t fau_end:1; 235c5aa59e8SDavid Daney uint64_t dwb_enb:1; 236c5aa59e8SDavid Daney uint64_t pko_enb:1; 237c5aa59e8SDavid Daney uint64_t inb_mat:1; 238c5aa59e8SDavid Daney uint64_t outb_mat:1; 239c5aa59e8SDavid Daney uint64_t reserved_5_5:1; 240c5aa59e8SDavid Daney uint64_t xmc_per:4; 241c5aa59e8SDavid Daney uint64_t fif_dly:1; 242c5aa59e8SDavid Daney uint64_t reserved_11_63:53; 243c5aa59e8SDavid Daney #endif 244c5aa59e8SDavid Daney } s; 245c5aa59e8SDavid Daney struct cvmx_iob_ctl_status_cn30xx { 246c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 247c5aa59e8SDavid Daney uint64_t reserved_5_63:59; 248c5aa59e8SDavid Daney uint64_t outb_mat:1; 249c5aa59e8SDavid Daney uint64_t inb_mat:1; 250c5aa59e8SDavid Daney uint64_t pko_enb:1; 251c5aa59e8SDavid Daney uint64_t dwb_enb:1; 252c5aa59e8SDavid Daney uint64_t fau_end:1; 253c5aa59e8SDavid Daney #else 254c5aa59e8SDavid Daney uint64_t fau_end:1; 255c5aa59e8SDavid Daney uint64_t dwb_enb:1; 256c5aa59e8SDavid Daney uint64_t pko_enb:1; 257c5aa59e8SDavid Daney uint64_t inb_mat:1; 258c5aa59e8SDavid Daney uint64_t outb_mat:1; 259c5aa59e8SDavid Daney uint64_t reserved_5_63:59; 260c5aa59e8SDavid Daney #endif 261c5aa59e8SDavid Daney } cn30xx; 262c5aa59e8SDavid Daney struct cvmx_iob_ctl_status_cn52xx { 263c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 264c5aa59e8SDavid Daney uint64_t reserved_6_63:58; 265c5aa59e8SDavid Daney uint64_t rr_mode:1; 266c5aa59e8SDavid Daney uint64_t outb_mat:1; 267c5aa59e8SDavid Daney uint64_t inb_mat:1; 268c5aa59e8SDavid Daney uint64_t pko_enb:1; 269c5aa59e8SDavid Daney uint64_t dwb_enb:1; 270c5aa59e8SDavid Daney uint64_t fau_end:1; 271c5aa59e8SDavid Daney #else 272c5aa59e8SDavid Daney uint64_t fau_end:1; 273c5aa59e8SDavid Daney uint64_t dwb_enb:1; 274c5aa59e8SDavid Daney uint64_t pko_enb:1; 275c5aa59e8SDavid Daney uint64_t inb_mat:1; 276c5aa59e8SDavid Daney uint64_t outb_mat:1; 277c5aa59e8SDavid Daney uint64_t rr_mode:1; 278c5aa59e8SDavid Daney uint64_t reserved_6_63:58; 279c5aa59e8SDavid Daney #endif 280c5aa59e8SDavid Daney } cn52xx; 281c5aa59e8SDavid Daney struct cvmx_iob_ctl_status_cn61xx { 282c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 283c5aa59e8SDavid Daney uint64_t reserved_11_63:53; 284c5aa59e8SDavid Daney uint64_t fif_dly:1; 285c5aa59e8SDavid Daney uint64_t xmc_per:4; 286c5aa59e8SDavid Daney uint64_t rr_mode:1; 287c5aa59e8SDavid Daney uint64_t outb_mat:1; 288c5aa59e8SDavid Daney uint64_t inb_mat:1; 289c5aa59e8SDavid Daney uint64_t pko_enb:1; 290c5aa59e8SDavid Daney uint64_t dwb_enb:1; 291c5aa59e8SDavid Daney uint64_t fau_end:1; 292c5aa59e8SDavid Daney #else 293c5aa59e8SDavid Daney uint64_t fau_end:1; 294c5aa59e8SDavid Daney uint64_t dwb_enb:1; 295c5aa59e8SDavid Daney uint64_t pko_enb:1; 296c5aa59e8SDavid Daney uint64_t inb_mat:1; 297c5aa59e8SDavid Daney uint64_t outb_mat:1; 298c5aa59e8SDavid Daney uint64_t rr_mode:1; 299c5aa59e8SDavid Daney uint64_t xmc_per:4; 300c5aa59e8SDavid Daney uint64_t fif_dly:1; 301c5aa59e8SDavid Daney uint64_t reserved_11_63:53; 302c5aa59e8SDavid Daney #endif 303c5aa59e8SDavid Daney } cn61xx; 304c5aa59e8SDavid Daney struct cvmx_iob_ctl_status_cn63xx { 305c5aa59e8SDavid 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; 314c5aa59e8SDavid Daney #else 315aa32a955SDavid Daney uint64_t fau_end:1; 316c5aa59e8SDavid Daney uint64_t dwb_enb:1; 317c5aa59e8SDavid Daney uint64_t pko_enb:1; 318c5aa59e8SDavid Daney uint64_t inb_mat:1; 319c5aa59e8SDavid Daney uint64_t outb_mat:1; 320aa32a955SDavid Daney uint64_t rr_mode:1; 321c5aa59e8SDavid Daney uint64_t xmc_per:4; 322c5aa59e8SDavid Daney uint64_t reserved_10_63:54; 323c5aa59e8SDavid Daney #endif 324c5aa59e8SDavid Daney } cn63xx; 325c5aa59e8SDavid Daney struct cvmx_iob_ctl_status_cn68xx { 326c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 327c5aa59e8SDavid Daney uint64_t reserved_11_63:53; 328c5aa59e8SDavid Daney uint64_t fif_dly:1; 329c5aa59e8SDavid Daney uint64_t xmc_per:4; 330c5aa59e8SDavid 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; 336c5aa59e8SDavid Daney #else 337c5aa59e8SDavid Daney uint64_t fau_end:1; 338c5aa59e8SDavid Daney uint64_t dwb_enb:1; 339c5aa59e8SDavid Daney uint64_t pko_enb:1; 340c5aa59e8SDavid Daney uint64_t inb_mat:1; 341c5aa59e8SDavid Daney uint64_t outb_mat:1; 342c5aa59e8SDavid Daney uint64_t rsvr5:1; 343c5aa59e8SDavid Daney uint64_t xmc_per:4; 344c5aa59e8SDavid Daney uint64_t fif_dly:1; 345c5aa59e8SDavid Daney uint64_t reserved_11_63:53; 346c5aa59e8SDavid Daney #endif 347c5aa59e8SDavid 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 { 353c5aa59e8SDavid 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; 357c5aa59e8SDavid Daney #else 358c5aa59e8SDavid Daney uint64_t cnt_val:15; 359c5aa59e8SDavid Daney uint64_t cnt_enb:1; 360c5aa59e8SDavid Daney uint64_t reserved_16_63:48; 361c5aa59e8SDavid 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 { 368c5aa59e8SDavid 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; 372c5aa59e8SDavid Daney #else 373c5aa59e8SDavid Daney uint64_t tout_val:12; 374c5aa59e8SDavid Daney uint64_t tout_enb:1; 375c5aa59e8SDavid Daney uint64_t reserved_13_63:51; 376c5aa59e8SDavid 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 { 383c5aa59e8SDavid 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; 387c5aa59e8SDavid Daney #else 388c5aa59e8SDavid Daney uint64_t cnt_val:15; 389c5aa59e8SDavid Daney uint64_t cnt_enb:1; 390c5aa59e8SDavid Daney uint64_t reserved_16_63:48; 391c5aa59e8SDavid 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 { 398c5aa59e8SDavid 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; 404c5aa59e8SDavid Daney #else 405c5aa59e8SDavid Daney uint64_t src:8; 406c5aa59e8SDavid Daney uint64_t dst:9; 407c5aa59e8SDavid Daney uint64_t opc:4; 408c5aa59e8SDavid Daney uint64_t mask:8; 409c5aa59e8SDavid Daney uint64_t reserved_29_63:35; 410c5aa59e8SDavid 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 { 417c5aa59e8SDavid 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; 423c5aa59e8SDavid Daney #else 424c5aa59e8SDavid Daney uint64_t src:8; 425c5aa59e8SDavid Daney uint64_t dst:9; 426c5aa59e8SDavid Daney uint64_t opc:4; 427c5aa59e8SDavid Daney uint64_t mask:8; 428c5aa59e8SDavid Daney uint64_t reserved_29_63:35; 429c5aa59e8SDavid 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 { 436c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 43754293ec3SDavid Daney uint64_t data:64; 438c5aa59e8SDavid Daney #else 439c5aa59e8SDavid Daney uint64_t data:64; 440c5aa59e8SDavid 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 { 447c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 44854293ec3SDavid Daney uint64_t data:64; 449c5aa59e8SDavid Daney #else 450c5aa59e8SDavid Daney uint64_t data:64; 451c5aa59e8SDavid 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 { 458c5aa59e8SDavid 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; 466c5aa59e8SDavid Daney #else 467c5aa59e8SDavid Daney uint64_t np_sop:1; 468c5aa59e8SDavid Daney uint64_t np_eop:1; 469c5aa59e8SDavid Daney uint64_t p_sop:1; 470c5aa59e8SDavid Daney uint64_t p_eop:1; 471c5aa59e8SDavid Daney uint64_t np_dat:1; 472c5aa59e8SDavid Daney uint64_t p_dat:1; 473c5aa59e8SDavid Daney uint64_t reserved_6_63:58; 474c5aa59e8SDavid Daney #endif 47554293ec3SDavid Daney } s; 47654293ec3SDavid Daney struct cvmx_iob_int_enb_cn30xx { 477c5aa59e8SDavid 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; 483c5aa59e8SDavid Daney #else 484c5aa59e8SDavid Daney uint64_t np_sop:1; 485c5aa59e8SDavid Daney uint64_t np_eop:1; 486c5aa59e8SDavid Daney uint64_t p_sop:1; 487c5aa59e8SDavid Daney uint64_t p_eop:1; 488c5aa59e8SDavid Daney uint64_t reserved_4_63:60; 489c5aa59e8SDavid Daney #endif 49054293ec3SDavid Daney } cn30xx; 491c5aa59e8SDavid Daney struct cvmx_iob_int_enb_cn68xx { 492c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 493c5aa59e8SDavid Daney uint64_t reserved_0_63:64; 494c5aa59e8SDavid Daney #else 495c5aa59e8SDavid Daney uint64_t reserved_0_63:64; 496c5aa59e8SDavid Daney #endif 497c5aa59e8SDavid 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 { 503c5aa59e8SDavid 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; 511c5aa59e8SDavid Daney #else 512c5aa59e8SDavid Daney uint64_t np_sop:1; 513c5aa59e8SDavid Daney uint64_t np_eop:1; 514c5aa59e8SDavid Daney uint64_t p_sop:1; 515c5aa59e8SDavid Daney uint64_t p_eop:1; 516c5aa59e8SDavid Daney uint64_t np_dat:1; 517c5aa59e8SDavid Daney uint64_t p_dat:1; 518c5aa59e8SDavid Daney uint64_t reserved_6_63:58; 519c5aa59e8SDavid Daney #endif 52054293ec3SDavid Daney } s; 52154293ec3SDavid Daney struct cvmx_iob_int_sum_cn30xx { 522c5aa59e8SDavid 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; 528c5aa59e8SDavid Daney #else 529c5aa59e8SDavid Daney uint64_t np_sop:1; 530c5aa59e8SDavid Daney uint64_t np_eop:1; 531c5aa59e8SDavid Daney uint64_t p_sop:1; 532c5aa59e8SDavid Daney uint64_t p_eop:1; 533c5aa59e8SDavid Daney uint64_t reserved_4_63:60; 534c5aa59e8SDavid Daney #endif 53554293ec3SDavid Daney } cn30xx; 536c5aa59e8SDavid Daney struct cvmx_iob_int_sum_cn68xx { 537c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 538c5aa59e8SDavid Daney uint64_t reserved_0_63:64; 539c5aa59e8SDavid Daney #else 540c5aa59e8SDavid Daney uint64_t reserved_0_63:64; 541c5aa59e8SDavid Daney #endif 542c5aa59e8SDavid 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 { 548c5aa59e8SDavid 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; 552c5aa59e8SDavid Daney #else 553c5aa59e8SDavid Daney uint64_t cnt_val:15; 554c5aa59e8SDavid Daney uint64_t cnt_enb:1; 555c5aa59e8SDavid Daney uint64_t reserved_16_63:48; 556c5aa59e8SDavid 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 { 563c5aa59e8SDavid 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; 567c5aa59e8SDavid Daney #else 568c5aa59e8SDavid Daney uint64_t cnt_val:15; 569c5aa59e8SDavid Daney uint64_t cnt_enb:1; 570c5aa59e8SDavid Daney uint64_t reserved_16_63:48; 571c5aa59e8SDavid 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 { 578c5aa59e8SDavid 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; 582c5aa59e8SDavid Daney #else 583c5aa59e8SDavid Daney uint64_t cnt_val:15; 584c5aa59e8SDavid Daney uint64_t cnt_enb:1; 585c5aa59e8SDavid Daney uint64_t reserved_16_63:48; 586c5aa59e8SDavid 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 { 593c5aa59e8SDavid 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; 599c5aa59e8SDavid Daney #else 600c5aa59e8SDavid Daney uint64_t src:9; 601c5aa59e8SDavid Daney uint64_t dst:8; 602c5aa59e8SDavid Daney uint64_t eot:1; 603c5aa59e8SDavid Daney uint64_t mask:8; 604c5aa59e8SDavid Daney uint64_t reserved_26_63:38; 605c5aa59e8SDavid 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 { 612c5aa59e8SDavid 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; 618c5aa59e8SDavid Daney #else 619c5aa59e8SDavid Daney uint64_t src:9; 620c5aa59e8SDavid Daney uint64_t dst:8; 621c5aa59e8SDavid Daney uint64_t eot:1; 622c5aa59e8SDavid Daney uint64_t mask:8; 623c5aa59e8SDavid Daney uint64_t reserved_26_63:38; 624c5aa59e8SDavid 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 { 631c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 63254293ec3SDavid Daney uint64_t data:64; 633c5aa59e8SDavid Daney #else 634c5aa59e8SDavid Daney uint64_t data:64; 635c5aa59e8SDavid 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 { 642c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 64354293ec3SDavid Daney uint64_t data:64; 644c5aa59e8SDavid Daney #else 645c5aa59e8SDavid Daney uint64_t data:64; 646c5aa59e8SDavid 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 { 653c5aa59e8SDavid 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; 657c5aa59e8SDavid Daney #else 658c5aa59e8SDavid Daney uint64_t cnt_val:15; 659c5aa59e8SDavid Daney uint64_t cnt_enb:1; 660c5aa59e8SDavid Daney uint64_t reserved_16_63:48; 661c5aa59e8SDavid 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 { 668c5aa59e8SDavid 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; 672c5aa59e8SDavid Daney #else 673c5aa59e8SDavid Daney uint64_t cnt_val:15; 674c5aa59e8SDavid Daney uint64_t cnt_enb:1; 675c5aa59e8SDavid Daney uint64_t reserved_16_63:48; 676c5aa59e8SDavid 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 { 683c5aa59e8SDavid 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; 687c5aa59e8SDavid Daney #else 688c5aa59e8SDavid Daney uint64_t cnt_val:15; 689c5aa59e8SDavid Daney uint64_t cnt_enb:1; 690c5aa59e8SDavid Daney uint64_t reserved_16_63:48; 691c5aa59e8SDavid 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 { 698c5aa59e8SDavid 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; 702c5aa59e8SDavid Daney #else 703c5aa59e8SDavid Daney uint64_t port:6; 704c5aa59e8SDavid Daney uint64_t vport:6; 705c5aa59e8SDavid Daney uint64_t reserved_12_63:52; 706c5aa59e8SDavid Daney #endif 70754293ec3SDavid Daney } s; 708aa32a955SDavid Daney struct cvmx_iob_pkt_err_cn30xx { 709c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 710aa32a955SDavid Daney uint64_t reserved_6_63:58; 711aa32a955SDavid Daney uint64_t port:6; 712c5aa59e8SDavid Daney #else 713c5aa59e8SDavid Daney uint64_t port:6; 714c5aa59e8SDavid Daney uint64_t reserved_6_63:58; 715c5aa59e8SDavid 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 { 722c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 723c5aa59e8SDavid Daney uint64_t reserved_6_63:58; 724c5aa59e8SDavid Daney uint64_t ncb_rd:3; 725c5aa59e8SDavid Daney uint64_t ncb_wr:3; 726c5aa59e8SDavid Daney #else 727c5aa59e8SDavid Daney uint64_t ncb_wr:3; 728c5aa59e8SDavid Daney uint64_t ncb_rd:3; 729c5aa59e8SDavid Daney uint64_t reserved_6_63:58; 730c5aa59e8SDavid Daney #endif 731c5aa59e8SDavid Daney } s; 732c5aa59e8SDavid Daney struct cvmx_iob_to_cmb_credits_cn52xx { 733c5aa59e8SDavid 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; 738c5aa59e8SDavid Daney #else 739c5aa59e8SDavid Daney uint64_t ncb_wr:3; 740c5aa59e8SDavid Daney uint64_t ncb_rd:3; 741c5aa59e8SDavid Daney uint64_t pko_rd:3; 742c5aa59e8SDavid Daney uint64_t reserved_9_63:55; 743c5aa59e8SDavid Daney #endif 744c5aa59e8SDavid Daney } cn52xx; 745c5aa59e8SDavid Daney struct cvmx_iob_to_cmb_credits_cn68xx { 746c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 747c5aa59e8SDavid Daney uint64_t reserved_9_63:55; 748c5aa59e8SDavid Daney uint64_t dwb:3; 749c5aa59e8SDavid Daney uint64_t ncb_rd:3; 750c5aa59e8SDavid Daney uint64_t ncb_wr:3; 751c5aa59e8SDavid Daney #else 752c5aa59e8SDavid Daney uint64_t ncb_wr:3; 753c5aa59e8SDavid Daney uint64_t ncb_rd:3; 754c5aa59e8SDavid Daney uint64_t dwb:3; 755c5aa59e8SDavid Daney uint64_t reserved_9_63:55; 756c5aa59e8SDavid Daney #endif 757c5aa59e8SDavid Daney } cn68xx; 758c5aa59e8SDavid Daney }; 759c5aa59e8SDavid Daney 760c5aa59e8SDavid Daney union cvmx_iob_to_ncb_did_00_credits { 761c5aa59e8SDavid Daney uint64_t u64; 762c5aa59e8SDavid Daney struct cvmx_iob_to_ncb_did_00_credits_s { 763c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 764c5aa59e8SDavid Daney uint64_t reserved_7_63:57; 765c5aa59e8SDavid Daney uint64_t crd:7; 766c5aa59e8SDavid Daney #else 767c5aa59e8SDavid Daney uint64_t crd:7; 768c5aa59e8SDavid Daney uint64_t reserved_7_63:57; 769c5aa59e8SDavid Daney #endif 770aa32a955SDavid Daney } s; 771c5aa59e8SDavid Daney }; 772c5aa59e8SDavid Daney 773c5aa59e8SDavid Daney union cvmx_iob_to_ncb_did_111_credits { 774c5aa59e8SDavid Daney uint64_t u64; 775c5aa59e8SDavid Daney struct cvmx_iob_to_ncb_did_111_credits_s { 776c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 777c5aa59e8SDavid Daney uint64_t reserved_7_63:57; 778c5aa59e8SDavid Daney uint64_t crd:7; 779c5aa59e8SDavid Daney #else 780c5aa59e8SDavid Daney uint64_t crd:7; 781c5aa59e8SDavid Daney uint64_t reserved_7_63:57; 782c5aa59e8SDavid Daney #endif 783c5aa59e8SDavid Daney } s; 784c5aa59e8SDavid Daney }; 785c5aa59e8SDavid Daney 786c5aa59e8SDavid Daney union cvmx_iob_to_ncb_did_223_credits { 787c5aa59e8SDavid Daney uint64_t u64; 788c5aa59e8SDavid Daney struct cvmx_iob_to_ncb_did_223_credits_s { 789c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 790c5aa59e8SDavid Daney uint64_t reserved_7_63:57; 791c5aa59e8SDavid Daney uint64_t crd:7; 792c5aa59e8SDavid Daney #else 793c5aa59e8SDavid Daney uint64_t crd:7; 794c5aa59e8SDavid Daney uint64_t reserved_7_63:57; 795c5aa59e8SDavid Daney #endif 796c5aa59e8SDavid Daney } s; 797c5aa59e8SDavid Daney }; 798c5aa59e8SDavid Daney 799c5aa59e8SDavid Daney union cvmx_iob_to_ncb_did_24_credits { 800c5aa59e8SDavid Daney uint64_t u64; 801c5aa59e8SDavid Daney struct cvmx_iob_to_ncb_did_24_credits_s { 802c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 803c5aa59e8SDavid Daney uint64_t reserved_7_63:57; 804c5aa59e8SDavid Daney uint64_t crd:7; 805c5aa59e8SDavid Daney #else 806c5aa59e8SDavid Daney uint64_t crd:7; 807c5aa59e8SDavid Daney uint64_t reserved_7_63:57; 808c5aa59e8SDavid Daney #endif 809c5aa59e8SDavid Daney } s; 810c5aa59e8SDavid Daney }; 811c5aa59e8SDavid Daney 812c5aa59e8SDavid Daney union cvmx_iob_to_ncb_did_32_credits { 813c5aa59e8SDavid Daney uint64_t u64; 814c5aa59e8SDavid Daney struct cvmx_iob_to_ncb_did_32_credits_s { 815c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 816c5aa59e8SDavid Daney uint64_t reserved_7_63:57; 817c5aa59e8SDavid Daney uint64_t crd:7; 818c5aa59e8SDavid Daney #else 819c5aa59e8SDavid Daney uint64_t crd:7; 820c5aa59e8SDavid Daney uint64_t reserved_7_63:57; 821c5aa59e8SDavid Daney #endif 822c5aa59e8SDavid Daney } s; 823c5aa59e8SDavid Daney }; 824c5aa59e8SDavid Daney 825c5aa59e8SDavid Daney union cvmx_iob_to_ncb_did_40_credits { 826c5aa59e8SDavid Daney uint64_t u64; 827c5aa59e8SDavid Daney struct cvmx_iob_to_ncb_did_40_credits_s { 828c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 829c5aa59e8SDavid Daney uint64_t reserved_7_63:57; 830c5aa59e8SDavid Daney uint64_t crd:7; 831c5aa59e8SDavid Daney #else 832c5aa59e8SDavid Daney uint64_t crd:7; 833c5aa59e8SDavid Daney uint64_t reserved_7_63:57; 834c5aa59e8SDavid Daney #endif 835c5aa59e8SDavid Daney } s; 836c5aa59e8SDavid Daney }; 837c5aa59e8SDavid Daney 838c5aa59e8SDavid Daney union cvmx_iob_to_ncb_did_55_credits { 839c5aa59e8SDavid Daney uint64_t u64; 840c5aa59e8SDavid Daney struct cvmx_iob_to_ncb_did_55_credits_s { 841c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 842c5aa59e8SDavid Daney uint64_t reserved_7_63:57; 843c5aa59e8SDavid Daney uint64_t crd:7; 844c5aa59e8SDavid Daney #else 845c5aa59e8SDavid Daney uint64_t crd:7; 846c5aa59e8SDavid Daney uint64_t reserved_7_63:57; 847c5aa59e8SDavid Daney #endif 848c5aa59e8SDavid Daney } s; 849c5aa59e8SDavid Daney }; 850c5aa59e8SDavid Daney 851c5aa59e8SDavid Daney union cvmx_iob_to_ncb_did_64_credits { 852c5aa59e8SDavid Daney uint64_t u64; 853c5aa59e8SDavid Daney struct cvmx_iob_to_ncb_did_64_credits_s { 854c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 855c5aa59e8SDavid Daney uint64_t reserved_7_63:57; 856c5aa59e8SDavid Daney uint64_t crd:7; 857c5aa59e8SDavid Daney #else 858c5aa59e8SDavid Daney uint64_t crd:7; 859c5aa59e8SDavid Daney uint64_t reserved_7_63:57; 860c5aa59e8SDavid Daney #endif 861c5aa59e8SDavid Daney } s; 862c5aa59e8SDavid Daney }; 863c5aa59e8SDavid Daney 864c5aa59e8SDavid Daney union cvmx_iob_to_ncb_did_79_credits { 865c5aa59e8SDavid Daney uint64_t u64; 866c5aa59e8SDavid Daney struct cvmx_iob_to_ncb_did_79_credits_s { 867c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 868c5aa59e8SDavid Daney uint64_t reserved_7_63:57; 869c5aa59e8SDavid Daney uint64_t crd:7; 870c5aa59e8SDavid Daney #else 871c5aa59e8SDavid Daney uint64_t crd:7; 872c5aa59e8SDavid Daney uint64_t reserved_7_63:57; 873c5aa59e8SDavid Daney #endif 874c5aa59e8SDavid Daney } s; 875c5aa59e8SDavid Daney }; 876c5aa59e8SDavid Daney 877c5aa59e8SDavid Daney union cvmx_iob_to_ncb_did_96_credits { 878c5aa59e8SDavid Daney uint64_t u64; 879c5aa59e8SDavid Daney struct cvmx_iob_to_ncb_did_96_credits_s { 880c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 881c5aa59e8SDavid Daney uint64_t reserved_7_63:57; 882c5aa59e8SDavid Daney uint64_t crd:7; 883c5aa59e8SDavid Daney #else 884c5aa59e8SDavid Daney uint64_t crd:7; 885c5aa59e8SDavid Daney uint64_t reserved_7_63:57; 886c5aa59e8SDavid Daney #endif 887c5aa59e8SDavid Daney } s; 888c5aa59e8SDavid Daney }; 889c5aa59e8SDavid Daney 890c5aa59e8SDavid Daney union cvmx_iob_to_ncb_did_98_credits { 891c5aa59e8SDavid Daney uint64_t u64; 892c5aa59e8SDavid Daney struct cvmx_iob_to_ncb_did_98_credits_s { 893c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 894c5aa59e8SDavid Daney uint64_t reserved_7_63:57; 895c5aa59e8SDavid Daney uint64_t crd:7; 896c5aa59e8SDavid Daney #else 897c5aa59e8SDavid Daney uint64_t crd:7; 898c5aa59e8SDavid Daney uint64_t reserved_7_63:57; 899c5aa59e8SDavid Daney #endif 900c5aa59e8SDavid Daney } s; 90154293ec3SDavid Daney }; 90254293ec3SDavid Daney 90354293ec3SDavid Daney #endif 904