1/***********************license start*************** 2 * Copyright (c) 2003-2012 Cavium Inc. (support@cavium.com). All rights 3 * reserved. 4 * 5 * 6 * Redistribution and use in source and binary forms, with or without 7 * modification, are permitted provided that the following conditions are 8 * met: 9 * 10 * * Redistributions of source code must retain the above copyright 11 * notice, this list of conditions and the following disclaimer. 12 * 13 * * Redistributions in binary form must reproduce the above 14 * copyright notice, this list of conditions and the following 15 * disclaimer in the documentation and/or other materials provided 16 * with the distribution. 17 18 * * Neither the name of Cavium Inc. nor the names of 19 * its contributors may be used to endorse or promote products 20 * derived from this software without specific prior written 21 * permission. 22 23 * This Software, including technical data, may be subject to U.S. export control 24 * laws, including the U.S. Export Administration Act and its associated 25 * regulations, and may be subject to export or import regulations in other 26 * countries. 27 28 * TO THE MAXIMUM EXTENT PERMITTED BY LAW, THE SOFTWARE IS PROVIDED "AS IS" 29 * AND WITH ALL FAULTS AND CAVIUM INC. MAKES NO PROMISES, REPRESENTATIONS OR 30 * WARRANTIES, EITHER EXPRESS, IMPLIED, STATUTORY, OR OTHERWISE, WITH RESPECT TO 31 * THE SOFTWARE, INCLUDING ITS CONDITION, ITS CONFORMITY TO ANY REPRESENTATION OR 32 * DESCRIPTION, OR THE EXISTENCE OF ANY LATENT OR PATENT DEFECTS, AND CAVIUM 33 * SPECIFICALLY DISCLAIMS ALL IMPLIED (IF ANY) WARRANTIES OF TITLE, 34 * MERCHANTABILITY, NONINFRINGEMENT, FITNESS FOR A PARTICULAR PURPOSE, LACK OF 35 * VIRUSES, ACCURACY OR COMPLETENESS, QUIET ENJOYMENT, QUIET POSSESSION OR 36 * CORRESPONDENCE TO DESCRIPTION. THE ENTIRE RISK ARISING OUT OF USE OR 37 * PERFORMANCE OF THE SOFTWARE LIES WITH YOU. 38 ***********************license end**************************************/ 39 40 41/** 42 * cvmx-iob-defs.h 43 * 44 * Configuration and status register (CSR) type definitions for 45 * Octeon iob. 46 * 47 * This file is auto generated. Do not edit. 48 * 49 * <hr>$Revision$<hr> 50 * 51 */ 52#ifndef __CVMX_IOB_DEFS_H__ 53#define __CVMX_IOB_DEFS_H__ 54 55#define CVMX_IOB_BIST_STATUS (CVMX_ADD_IO_SEG(0x00011800F00007F8ull)) 56#define CVMX_IOB_CTL_STATUS (CVMX_ADD_IO_SEG(0x00011800F0000050ull)) 57#if CVMX_ENABLE_CSR_ADDRESS_CHECKING 58#define CVMX_IOB_DWB_PRI_CNT CVMX_IOB_DWB_PRI_CNT_FUNC() 59static inline uint64_t CVMX_IOB_DWB_PRI_CNT_FUNC(void) 60{ 61 if (!(OCTEON_IS_MODEL(OCTEON_CN38XX) || OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX) || OCTEON_IS_MODEL(OCTEON_CN58XX) || OCTEON_IS_MODEL(OCTEON_CN61XX) || OCTEON_IS_MODEL(OCTEON_CN63XX) || OCTEON_IS_MODEL(OCTEON_CN66XX) || OCTEON_IS_MODEL(OCTEON_CNF71XX))) 62 cvmx_warn("CVMX_IOB_DWB_PRI_CNT not supported on this chip\n"); 63 return CVMX_ADD_IO_SEG(0x00011800F0000028ull); 64} 65#else 66#define CVMX_IOB_DWB_PRI_CNT (CVMX_ADD_IO_SEG(0x00011800F0000028ull)) 67#endif 68#define CVMX_IOB_FAU_TIMEOUT (CVMX_ADD_IO_SEG(0x00011800F0000000ull)) 69#if CVMX_ENABLE_CSR_ADDRESS_CHECKING 70#define CVMX_IOB_I2C_PRI_CNT CVMX_IOB_I2C_PRI_CNT_FUNC() 71static inline uint64_t CVMX_IOB_I2C_PRI_CNT_FUNC(void) 72{ 73 if (!(OCTEON_IS_MODEL(OCTEON_CN38XX) || OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX) || OCTEON_IS_MODEL(OCTEON_CN58XX) || OCTEON_IS_MODEL(OCTEON_CN61XX) || OCTEON_IS_MODEL(OCTEON_CN63XX) || OCTEON_IS_MODEL(OCTEON_CN66XX) || OCTEON_IS_MODEL(OCTEON_CNF71XX))) 74 cvmx_warn("CVMX_IOB_I2C_PRI_CNT not supported on this chip\n"); 75 return CVMX_ADD_IO_SEG(0x00011800F0000010ull); 76} 77#else 78#define CVMX_IOB_I2C_PRI_CNT (CVMX_ADD_IO_SEG(0x00011800F0000010ull)) 79#endif 80#define CVMX_IOB_INB_CONTROL_MATCH (CVMX_ADD_IO_SEG(0x00011800F0000078ull)) 81#define CVMX_IOB_INB_CONTROL_MATCH_ENB (CVMX_ADD_IO_SEG(0x00011800F0000088ull)) 82#define CVMX_IOB_INB_DATA_MATCH (CVMX_ADD_IO_SEG(0x00011800F0000070ull)) 83#define CVMX_IOB_INB_DATA_MATCH_ENB (CVMX_ADD_IO_SEG(0x00011800F0000080ull)) 84#define CVMX_IOB_INT_ENB (CVMX_ADD_IO_SEG(0x00011800F0000060ull)) 85#define CVMX_IOB_INT_SUM (CVMX_ADD_IO_SEG(0x00011800F0000058ull)) 86#if CVMX_ENABLE_CSR_ADDRESS_CHECKING 87#define CVMX_IOB_N2C_L2C_PRI_CNT CVMX_IOB_N2C_L2C_PRI_CNT_FUNC() 88static inline uint64_t CVMX_IOB_N2C_L2C_PRI_CNT_FUNC(void) 89{ 90 if (!(OCTEON_IS_MODEL(OCTEON_CN38XX) || OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX) || OCTEON_IS_MODEL(OCTEON_CN58XX) || OCTEON_IS_MODEL(OCTEON_CN61XX) || OCTEON_IS_MODEL(OCTEON_CN63XX) || OCTEON_IS_MODEL(OCTEON_CN66XX) || OCTEON_IS_MODEL(OCTEON_CNF71XX))) 91 cvmx_warn("CVMX_IOB_N2C_L2C_PRI_CNT not supported on this chip\n"); 92 return CVMX_ADD_IO_SEG(0x00011800F0000020ull); 93} 94#else 95#define CVMX_IOB_N2C_L2C_PRI_CNT (CVMX_ADD_IO_SEG(0x00011800F0000020ull)) 96#endif 97#if CVMX_ENABLE_CSR_ADDRESS_CHECKING 98#define CVMX_IOB_N2C_RSP_PRI_CNT CVMX_IOB_N2C_RSP_PRI_CNT_FUNC() 99static inline uint64_t CVMX_IOB_N2C_RSP_PRI_CNT_FUNC(void) 100{ 101 if (!(OCTEON_IS_MODEL(OCTEON_CN38XX) || OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX) || OCTEON_IS_MODEL(OCTEON_CN58XX) || OCTEON_IS_MODEL(OCTEON_CN61XX) || OCTEON_IS_MODEL(OCTEON_CN63XX) || OCTEON_IS_MODEL(OCTEON_CN66XX) || OCTEON_IS_MODEL(OCTEON_CNF71XX))) 102 cvmx_warn("CVMX_IOB_N2C_RSP_PRI_CNT not supported on this chip\n"); 103 return CVMX_ADD_IO_SEG(0x00011800F0000008ull); 104} 105#else 106#define CVMX_IOB_N2C_RSP_PRI_CNT (CVMX_ADD_IO_SEG(0x00011800F0000008ull)) 107#endif 108#if CVMX_ENABLE_CSR_ADDRESS_CHECKING 109#define CVMX_IOB_OUTB_COM_PRI_CNT CVMX_IOB_OUTB_COM_PRI_CNT_FUNC() 110static inline uint64_t CVMX_IOB_OUTB_COM_PRI_CNT_FUNC(void) 111{ 112 if (!(OCTEON_IS_MODEL(OCTEON_CN38XX) || OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX) || OCTEON_IS_MODEL(OCTEON_CN58XX) || OCTEON_IS_MODEL(OCTEON_CN61XX) || OCTEON_IS_MODEL(OCTEON_CN63XX) || OCTEON_IS_MODEL(OCTEON_CN66XX) || OCTEON_IS_MODEL(OCTEON_CN68XX) || OCTEON_IS_MODEL(OCTEON_CNF71XX))) 113 cvmx_warn("CVMX_IOB_OUTB_COM_PRI_CNT not supported on this chip\n"); 114 return CVMX_ADD_IO_SEG(0x00011800F0000040ull); 115} 116#else 117#define CVMX_IOB_OUTB_COM_PRI_CNT (CVMX_ADD_IO_SEG(0x00011800F0000040ull)) 118#endif 119#define CVMX_IOB_OUTB_CONTROL_MATCH (CVMX_ADD_IO_SEG(0x00011800F0000098ull)) 120#define CVMX_IOB_OUTB_CONTROL_MATCH_ENB (CVMX_ADD_IO_SEG(0x00011800F00000A8ull)) 121#define CVMX_IOB_OUTB_DATA_MATCH (CVMX_ADD_IO_SEG(0x00011800F0000090ull)) 122#define CVMX_IOB_OUTB_DATA_MATCH_ENB (CVMX_ADD_IO_SEG(0x00011800F00000A0ull)) 123#if CVMX_ENABLE_CSR_ADDRESS_CHECKING 124#define CVMX_IOB_OUTB_FPA_PRI_CNT CVMX_IOB_OUTB_FPA_PRI_CNT_FUNC() 125static inline uint64_t CVMX_IOB_OUTB_FPA_PRI_CNT_FUNC(void) 126{ 127 if (!(OCTEON_IS_MODEL(OCTEON_CN38XX) || OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX) || OCTEON_IS_MODEL(OCTEON_CN58XX) || OCTEON_IS_MODEL(OCTEON_CN61XX) || OCTEON_IS_MODEL(OCTEON_CN63XX) || OCTEON_IS_MODEL(OCTEON_CN66XX) || OCTEON_IS_MODEL(OCTEON_CN68XX) || OCTEON_IS_MODEL(OCTEON_CNF71XX))) 128 cvmx_warn("CVMX_IOB_OUTB_FPA_PRI_CNT not supported on this chip\n"); 129 return CVMX_ADD_IO_SEG(0x00011800F0000048ull); 130} 131#else 132#define CVMX_IOB_OUTB_FPA_PRI_CNT (CVMX_ADD_IO_SEG(0x00011800F0000048ull)) 133#endif 134#if CVMX_ENABLE_CSR_ADDRESS_CHECKING 135#define CVMX_IOB_OUTB_REQ_PRI_CNT CVMX_IOB_OUTB_REQ_PRI_CNT_FUNC() 136static inline uint64_t CVMX_IOB_OUTB_REQ_PRI_CNT_FUNC(void) 137{ 138 if (!(OCTEON_IS_MODEL(OCTEON_CN38XX) || OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX) || OCTEON_IS_MODEL(OCTEON_CN58XX) || OCTEON_IS_MODEL(OCTEON_CN61XX) || OCTEON_IS_MODEL(OCTEON_CN63XX) || OCTEON_IS_MODEL(OCTEON_CN66XX) || OCTEON_IS_MODEL(OCTEON_CN68XX) || OCTEON_IS_MODEL(OCTEON_CNF71XX))) 139 cvmx_warn("CVMX_IOB_OUTB_REQ_PRI_CNT not supported on this chip\n"); 140 return CVMX_ADD_IO_SEG(0x00011800F0000038ull); 141} 142#else 143#define CVMX_IOB_OUTB_REQ_PRI_CNT (CVMX_ADD_IO_SEG(0x00011800F0000038ull)) 144#endif 145#if CVMX_ENABLE_CSR_ADDRESS_CHECKING 146#define CVMX_IOB_P2C_REQ_PRI_CNT CVMX_IOB_P2C_REQ_PRI_CNT_FUNC() 147static inline uint64_t CVMX_IOB_P2C_REQ_PRI_CNT_FUNC(void) 148{ 149 if (!(OCTEON_IS_MODEL(OCTEON_CN38XX) || OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX) || OCTEON_IS_MODEL(OCTEON_CN58XX) || OCTEON_IS_MODEL(OCTEON_CN61XX) || OCTEON_IS_MODEL(OCTEON_CN63XX) || OCTEON_IS_MODEL(OCTEON_CN66XX) || OCTEON_IS_MODEL(OCTEON_CNF71XX))) 150 cvmx_warn("CVMX_IOB_P2C_REQ_PRI_CNT not supported on this chip\n"); 151 return CVMX_ADD_IO_SEG(0x00011800F0000018ull); 152} 153#else 154#define CVMX_IOB_P2C_REQ_PRI_CNT (CVMX_ADD_IO_SEG(0x00011800F0000018ull)) 155#endif 156#if CVMX_ENABLE_CSR_ADDRESS_CHECKING 157#define CVMX_IOB_PKT_ERR CVMX_IOB_PKT_ERR_FUNC() 158static inline uint64_t CVMX_IOB_PKT_ERR_FUNC(void) 159{ 160 if (!(OCTEON_IS_MODEL(OCTEON_CN3XXX) || OCTEON_IS_MODEL(OCTEON_CN5XXX) || OCTEON_IS_MODEL(OCTEON_CN61XX) || OCTEON_IS_MODEL(OCTEON_CN63XX) || OCTEON_IS_MODEL(OCTEON_CN66XX) || OCTEON_IS_MODEL(OCTEON_CNF71XX))) 161 cvmx_warn("CVMX_IOB_PKT_ERR not supported on this chip\n"); 162 return CVMX_ADD_IO_SEG(0x00011800F0000068ull); 163} 164#else 165#define CVMX_IOB_PKT_ERR (CVMX_ADD_IO_SEG(0x00011800F0000068ull)) 166#endif 167#if CVMX_ENABLE_CSR_ADDRESS_CHECKING 168#define CVMX_IOB_TO_CMB_CREDITS CVMX_IOB_TO_CMB_CREDITS_FUNC() 169static inline uint64_t CVMX_IOB_TO_CMB_CREDITS_FUNC(void) 170{ 171 if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN61XX) || OCTEON_IS_MODEL(OCTEON_CN63XX) || OCTEON_IS_MODEL(OCTEON_CN66XX) || OCTEON_IS_MODEL(OCTEON_CN68XX) || OCTEON_IS_MODEL(OCTEON_CNF71XX))) 172 cvmx_warn("CVMX_IOB_TO_CMB_CREDITS not supported on this chip\n"); 173 return CVMX_ADD_IO_SEG(0x00011800F00000B0ull); 174} 175#else 176#define CVMX_IOB_TO_CMB_CREDITS (CVMX_ADD_IO_SEG(0x00011800F00000B0ull)) 177#endif 178#if CVMX_ENABLE_CSR_ADDRESS_CHECKING 179#define CVMX_IOB_TO_NCB_DID_00_CREDITS CVMX_IOB_TO_NCB_DID_00_CREDITS_FUNC() 180static inline uint64_t CVMX_IOB_TO_NCB_DID_00_CREDITS_FUNC(void) 181{ 182 if (!(OCTEON_IS_MODEL(OCTEON_CN68XX))) 183 cvmx_warn("CVMX_IOB_TO_NCB_DID_00_CREDITS not supported on this chip\n"); 184 return CVMX_ADD_IO_SEG(0x00011800F0000800ull); 185} 186#else 187#define CVMX_IOB_TO_NCB_DID_00_CREDITS (CVMX_ADD_IO_SEG(0x00011800F0000800ull)) 188#endif 189#if CVMX_ENABLE_CSR_ADDRESS_CHECKING 190#define CVMX_IOB_TO_NCB_DID_111_CREDITS CVMX_IOB_TO_NCB_DID_111_CREDITS_FUNC() 191static inline uint64_t CVMX_IOB_TO_NCB_DID_111_CREDITS_FUNC(void) 192{ 193 if (!(OCTEON_IS_MODEL(OCTEON_CN68XX))) 194 cvmx_warn("CVMX_IOB_TO_NCB_DID_111_CREDITS not supported on this chip\n"); 195 return CVMX_ADD_IO_SEG(0x00011800F0000B78ull); 196} 197#else 198#define CVMX_IOB_TO_NCB_DID_111_CREDITS (CVMX_ADD_IO_SEG(0x00011800F0000B78ull)) 199#endif 200#if CVMX_ENABLE_CSR_ADDRESS_CHECKING 201#define CVMX_IOB_TO_NCB_DID_223_CREDITS CVMX_IOB_TO_NCB_DID_223_CREDITS_FUNC() 202static inline uint64_t CVMX_IOB_TO_NCB_DID_223_CREDITS_FUNC(void) 203{ 204 if (!(OCTEON_IS_MODEL(OCTEON_CN68XX))) 205 cvmx_warn("CVMX_IOB_TO_NCB_DID_223_CREDITS not supported on this chip\n"); 206 return CVMX_ADD_IO_SEG(0x00011800F0000EF8ull); 207} 208#else 209#define CVMX_IOB_TO_NCB_DID_223_CREDITS (CVMX_ADD_IO_SEG(0x00011800F0000EF8ull)) 210#endif 211#if CVMX_ENABLE_CSR_ADDRESS_CHECKING 212#define CVMX_IOB_TO_NCB_DID_24_CREDITS CVMX_IOB_TO_NCB_DID_24_CREDITS_FUNC() 213static inline uint64_t CVMX_IOB_TO_NCB_DID_24_CREDITS_FUNC(void) 214{ 215 if (!(OCTEON_IS_MODEL(OCTEON_CN68XX))) 216 cvmx_warn("CVMX_IOB_TO_NCB_DID_24_CREDITS not supported on this chip\n"); 217 return CVMX_ADD_IO_SEG(0x00011800F00008C0ull); 218} 219#else 220#define CVMX_IOB_TO_NCB_DID_24_CREDITS (CVMX_ADD_IO_SEG(0x00011800F00008C0ull)) 221#endif 222#if CVMX_ENABLE_CSR_ADDRESS_CHECKING 223#define CVMX_IOB_TO_NCB_DID_32_CREDITS CVMX_IOB_TO_NCB_DID_32_CREDITS_FUNC() 224static inline uint64_t CVMX_IOB_TO_NCB_DID_32_CREDITS_FUNC(void) 225{ 226 if (!(OCTEON_IS_MODEL(OCTEON_CN68XX))) 227 cvmx_warn("CVMX_IOB_TO_NCB_DID_32_CREDITS not supported on this chip\n"); 228 return CVMX_ADD_IO_SEG(0x00011800F0000900ull); 229} 230#else 231#define CVMX_IOB_TO_NCB_DID_32_CREDITS (CVMX_ADD_IO_SEG(0x00011800F0000900ull)) 232#endif 233#if CVMX_ENABLE_CSR_ADDRESS_CHECKING 234#define CVMX_IOB_TO_NCB_DID_40_CREDITS CVMX_IOB_TO_NCB_DID_40_CREDITS_FUNC() 235static inline uint64_t CVMX_IOB_TO_NCB_DID_40_CREDITS_FUNC(void) 236{ 237 if (!(OCTEON_IS_MODEL(OCTEON_CN68XX))) 238 cvmx_warn("CVMX_IOB_TO_NCB_DID_40_CREDITS not supported on this chip\n"); 239 return CVMX_ADD_IO_SEG(0x00011800F0000940ull); 240} 241#else 242#define CVMX_IOB_TO_NCB_DID_40_CREDITS (CVMX_ADD_IO_SEG(0x00011800F0000940ull)) 243#endif 244#if CVMX_ENABLE_CSR_ADDRESS_CHECKING 245#define CVMX_IOB_TO_NCB_DID_55_CREDITS CVMX_IOB_TO_NCB_DID_55_CREDITS_FUNC() 246static inline uint64_t CVMX_IOB_TO_NCB_DID_55_CREDITS_FUNC(void) 247{ 248 if (!(OCTEON_IS_MODEL(OCTEON_CN68XX))) 249 cvmx_warn("CVMX_IOB_TO_NCB_DID_55_CREDITS not supported on this chip\n"); 250 return CVMX_ADD_IO_SEG(0x00011800F00009B8ull); 251} 252#else 253#define CVMX_IOB_TO_NCB_DID_55_CREDITS (CVMX_ADD_IO_SEG(0x00011800F00009B8ull)) 254#endif 255#if CVMX_ENABLE_CSR_ADDRESS_CHECKING 256#define CVMX_IOB_TO_NCB_DID_64_CREDITS CVMX_IOB_TO_NCB_DID_64_CREDITS_FUNC() 257static inline uint64_t CVMX_IOB_TO_NCB_DID_64_CREDITS_FUNC(void) 258{ 259 if (!(OCTEON_IS_MODEL(OCTEON_CN68XX))) 260 cvmx_warn("CVMX_IOB_TO_NCB_DID_64_CREDITS not supported on this chip\n"); 261 return CVMX_ADD_IO_SEG(0x00011800F0000A00ull); 262} 263#else 264#define CVMX_IOB_TO_NCB_DID_64_CREDITS (CVMX_ADD_IO_SEG(0x00011800F0000A00ull)) 265#endif 266#if CVMX_ENABLE_CSR_ADDRESS_CHECKING 267#define CVMX_IOB_TO_NCB_DID_79_CREDITS CVMX_IOB_TO_NCB_DID_79_CREDITS_FUNC() 268static inline uint64_t CVMX_IOB_TO_NCB_DID_79_CREDITS_FUNC(void) 269{ 270 if (!(OCTEON_IS_MODEL(OCTEON_CN68XX))) 271 cvmx_warn("CVMX_IOB_TO_NCB_DID_79_CREDITS not supported on this chip\n"); 272 return CVMX_ADD_IO_SEG(0x00011800F0000A78ull); 273} 274#else 275#define CVMX_IOB_TO_NCB_DID_79_CREDITS (CVMX_ADD_IO_SEG(0x00011800F0000A78ull)) 276#endif 277#if CVMX_ENABLE_CSR_ADDRESS_CHECKING 278#define CVMX_IOB_TO_NCB_DID_96_CREDITS CVMX_IOB_TO_NCB_DID_96_CREDITS_FUNC() 279static inline uint64_t CVMX_IOB_TO_NCB_DID_96_CREDITS_FUNC(void) 280{ 281 if (!(OCTEON_IS_MODEL(OCTEON_CN68XX))) 282 cvmx_warn("CVMX_IOB_TO_NCB_DID_96_CREDITS not supported on this chip\n"); 283 return CVMX_ADD_IO_SEG(0x00011800F0000B00ull); 284} 285#else 286#define CVMX_IOB_TO_NCB_DID_96_CREDITS (CVMX_ADD_IO_SEG(0x00011800F0000B00ull)) 287#endif 288#if CVMX_ENABLE_CSR_ADDRESS_CHECKING 289#define CVMX_IOB_TO_NCB_DID_98_CREDITS CVMX_IOB_TO_NCB_DID_98_CREDITS_FUNC() 290static inline uint64_t CVMX_IOB_TO_NCB_DID_98_CREDITS_FUNC(void) 291{ 292 if (!(OCTEON_IS_MODEL(OCTEON_CN68XX))) 293 cvmx_warn("CVMX_IOB_TO_NCB_DID_98_CREDITS not supported on this chip\n"); 294 return CVMX_ADD_IO_SEG(0x00011800F0000B10ull); 295} 296#else 297#define CVMX_IOB_TO_NCB_DID_98_CREDITS (CVMX_ADD_IO_SEG(0x00011800F0000B10ull)) 298#endif 299 300/** 301 * cvmx_iob_bist_status 302 * 303 * IOB_BIST_STATUS = BIST Status of IOB Memories 304 * 305 * The result of the BIST run on the IOB memories. 306 */ 307union cvmx_iob_bist_status { 308 uint64_t u64; 309 struct cvmx_iob_bist_status_s { 310#ifdef __BIG_ENDIAN_BITFIELD 311 uint64_t reserved_2_63 : 62; 312 uint64_t ibd : 1; /**< ibd_bist_mem0_status */ 313 uint64_t icd : 1; /**< icd_ncb_fifo_bist_status */ 314#else 315 uint64_t icd : 1; 316 uint64_t ibd : 1; 317 uint64_t reserved_2_63 : 62; 318#endif 319 } s; 320 struct cvmx_iob_bist_status_cn30xx { 321#ifdef __BIG_ENDIAN_BITFIELD 322 uint64_t reserved_18_63 : 46; 323 uint64_t icnrcb : 1; /**< Reserved */ 324 uint64_t icr0 : 1; /**< Reserved */ 325 uint64_t icr1 : 1; /**< Reserved */ 326 uint64_t icnr1 : 1; /**< Reserved */ 327 uint64_t icnr0 : 1; /**< icnr_reg_mem0_bist_status */ 328 uint64_t ibdr0 : 1; /**< ibdr_bist_req_fifo0_status */ 329 uint64_t ibdr1 : 1; /**< ibdr_bist_req_fifo1_status */ 330 uint64_t ibr0 : 1; /**< ibr_bist_rsp_fifo0_status */ 331 uint64_t ibr1 : 1; /**< ibr_bist_rsp_fifo1_status */ 332 uint64_t icnrt : 1; /**< Reserved */ 333 uint64_t ibrq0 : 1; /**< ibrq_bist_req_fifo0_status */ 334 uint64_t ibrq1 : 1; /**< ibrq_bist_req_fifo1_status */ 335 uint64_t icrn0 : 1; /**< icr_ncb_bist_mem0_status */ 336 uint64_t icrn1 : 1; /**< icr_ncb_bist_mem1_status */ 337 uint64_t icrp0 : 1; /**< icr_pko_bist_mem0_status */ 338 uint64_t icrp1 : 1; /**< icr_pko_bist_mem1_status */ 339 uint64_t ibd : 1; /**< ibd_bist_mem0_status */ 340 uint64_t icd : 1; /**< icd_ncb_fifo_bist_status */ 341#else 342 uint64_t icd : 1; 343 uint64_t ibd : 1; 344 uint64_t icrp1 : 1; 345 uint64_t icrp0 : 1; 346 uint64_t icrn1 : 1; 347 uint64_t icrn0 : 1; 348 uint64_t ibrq1 : 1; 349 uint64_t ibrq0 : 1; 350 uint64_t icnrt : 1; 351 uint64_t ibr1 : 1; 352 uint64_t ibr0 : 1; 353 uint64_t ibdr1 : 1; 354 uint64_t ibdr0 : 1; 355 uint64_t icnr0 : 1; 356 uint64_t icnr1 : 1; 357 uint64_t icr1 : 1; 358 uint64_t icr0 : 1; 359 uint64_t icnrcb : 1; 360 uint64_t reserved_18_63 : 46; 361#endif 362 } cn30xx; 363 struct cvmx_iob_bist_status_cn30xx cn31xx; 364 struct cvmx_iob_bist_status_cn30xx cn38xx; 365 struct cvmx_iob_bist_status_cn30xx cn38xxp2; 366 struct cvmx_iob_bist_status_cn30xx cn50xx; 367 struct cvmx_iob_bist_status_cn30xx cn52xx; 368 struct cvmx_iob_bist_status_cn30xx cn52xxp1; 369 struct cvmx_iob_bist_status_cn30xx cn56xx; 370 struct cvmx_iob_bist_status_cn30xx cn56xxp1; 371 struct cvmx_iob_bist_status_cn30xx cn58xx; 372 struct cvmx_iob_bist_status_cn30xx cn58xxp1; 373 struct cvmx_iob_bist_status_cn61xx { 374#ifdef __BIG_ENDIAN_BITFIELD 375 uint64_t reserved_23_63 : 41; 376 uint64_t xmdfif : 1; /**< xmdfif_bist_status */ 377 uint64_t xmcfif : 1; /**< xmcfif_bist_status */ 378 uint64_t iorfif : 1; /**< iorfif_bist_status */ 379 uint64_t rsdfif : 1; /**< rsdfif_bist_status */ 380 uint64_t iocfif : 1; /**< iocfif_bist_status */ 381 uint64_t icnrcb : 1; /**< icnr_cb_reg_fifo_bist_status */ 382 uint64_t icr0 : 1; /**< icr_bist_req_fifo0_status */ 383 uint64_t icr1 : 1; /**< icr_bist_req_fifo1_status */ 384 uint64_t icnr1 : 1; /**< Reserved */ 385 uint64_t icnr0 : 1; /**< icnr_reg_mem0_bist_status */ 386 uint64_t ibdr0 : 1; /**< ibdr_bist_req_fifo0_status */ 387 uint64_t ibdr1 : 1; /**< ibdr_bist_req_fifo1_status */ 388 uint64_t ibr0 : 1; /**< ibr_bist_rsp_fifo0_status */ 389 uint64_t ibr1 : 1; /**< ibr_bist_rsp_fifo1_status */ 390 uint64_t icnrt : 1; /**< icnr_tag_cb_reg_fifo_bist_status */ 391 uint64_t ibrq0 : 1; /**< ibrq_bist_req_fifo0_status */ 392 uint64_t ibrq1 : 1; /**< ibrq_bist_req_fifo1_status */ 393 uint64_t icrn0 : 1; /**< icr_ncb_bist_mem0_status */ 394 uint64_t icrn1 : 1; /**< icr_ncb_bist_mem1_status */ 395 uint64_t icrp0 : 1; /**< icr_pko_bist_mem0_status */ 396 uint64_t icrp1 : 1; /**< icr_pko_bist_mem1_status */ 397 uint64_t ibd : 1; /**< ibd_bist_mem0_status */ 398 uint64_t icd : 1; /**< icd_ncb_fifo_bist_status */ 399#else 400 uint64_t icd : 1; 401 uint64_t ibd : 1; 402 uint64_t icrp1 : 1; 403 uint64_t icrp0 : 1; 404 uint64_t icrn1 : 1; 405 uint64_t icrn0 : 1; 406 uint64_t ibrq1 : 1; 407 uint64_t ibrq0 : 1; 408 uint64_t icnrt : 1; 409 uint64_t ibr1 : 1; 410 uint64_t ibr0 : 1; 411 uint64_t ibdr1 : 1; 412 uint64_t ibdr0 : 1; 413 uint64_t icnr0 : 1; 414 uint64_t icnr1 : 1; 415 uint64_t icr1 : 1; 416 uint64_t icr0 : 1; 417 uint64_t icnrcb : 1; 418 uint64_t iocfif : 1; 419 uint64_t rsdfif : 1; 420 uint64_t iorfif : 1; 421 uint64_t xmcfif : 1; 422 uint64_t xmdfif : 1; 423 uint64_t reserved_23_63 : 41; 424#endif 425 } cn61xx; 426 struct cvmx_iob_bist_status_cn61xx cn63xx; 427 struct cvmx_iob_bist_status_cn61xx cn63xxp1; 428 struct cvmx_iob_bist_status_cn61xx cn66xx; 429 struct cvmx_iob_bist_status_cn68xx { 430#ifdef __BIG_ENDIAN_BITFIELD 431 uint64_t reserved_18_63 : 46; 432 uint64_t xmdfif : 1; /**< xmdfif_bist_status */ 433 uint64_t xmcfif : 1; /**< xmcfif_bist_status */ 434 uint64_t iorfif : 1; /**< iorfif_bist_status */ 435 uint64_t rsdfif : 1; /**< rsdfif_bist_status */ 436 uint64_t iocfif : 1; /**< iocfif_bist_status */ 437 uint64_t icnrcb : 1; /**< icnr_cb_reg_fifo_bist_status */ 438 uint64_t icr0 : 1; /**< icr_bist_req_fifo0_status */ 439 uint64_t icr1 : 1; /**< icr_bist_req_fifo1_status */ 440 uint64_t icnr0 : 1; /**< icnr_reg_mem0_bist_status */ 441 uint64_t ibr0 : 1; /**< ibr_bist_rsp_fifo0_status */ 442 uint64_t ibr1 : 1; /**< ibr_bist_rsp_fifo1_status */ 443 uint64_t icnrt : 1; /**< icnr_tag_cb_reg_fifo_bist_status */ 444 uint64_t ibrq0 : 1; /**< ibrq_bist_req_fifo0_status */ 445 uint64_t ibrq1 : 1; /**< ibrq_bist_req_fifo1_status */ 446 uint64_t icrn0 : 1; /**< icr_ncb_bist_mem0_status */ 447 uint64_t icrn1 : 1; /**< icr_ncb_bist_mem1_status */ 448 uint64_t ibd : 1; /**< ibd_bist_mem0_status */ 449 uint64_t icd : 1; /**< icd_ncb_fifo_bist_status */ 450#else 451 uint64_t icd : 1; 452 uint64_t ibd : 1; 453 uint64_t icrn1 : 1; 454 uint64_t icrn0 : 1; 455 uint64_t ibrq1 : 1; 456 uint64_t ibrq0 : 1; 457 uint64_t icnrt : 1; 458 uint64_t ibr1 : 1; 459 uint64_t ibr0 : 1; 460 uint64_t icnr0 : 1; 461 uint64_t icr1 : 1; 462 uint64_t icr0 : 1; 463 uint64_t icnrcb : 1; 464 uint64_t iocfif : 1; 465 uint64_t rsdfif : 1; 466 uint64_t iorfif : 1; 467 uint64_t xmcfif : 1; 468 uint64_t xmdfif : 1; 469 uint64_t reserved_18_63 : 46; 470#endif 471 } cn68xx; 472 struct cvmx_iob_bist_status_cn68xx cn68xxp1; 473 struct cvmx_iob_bist_status_cn61xx cnf71xx; 474}; 475typedef union cvmx_iob_bist_status cvmx_iob_bist_status_t; 476 477/** 478 * cvmx_iob_ctl_status 479 * 480 * IOB Control Status = IOB Control and Status Register 481 * 482 * Provides control for IOB functions. 483 */ 484union cvmx_iob_ctl_status { 485 uint64_t u64; 486 struct cvmx_iob_ctl_status_s { 487#ifdef __BIG_ENDIAN_BITFIELD 488 uint64_t reserved_11_63 : 53; 489 uint64_t fif_dly : 1; /**< Delay async FIFO counts to be used when clock ratio 490 is greater then 3:1. Writes should be followed by an 491 immediate read. */ 492 uint64_t xmc_per : 4; /**< IBC XMC PUSH EARLY */ 493 uint64_t reserved_5_5 : 1; 494 uint64_t outb_mat : 1; /**< Was a match on the outbound bus to the inb pattern 495 matchers. PASS2 FIELD. */ 496 uint64_t inb_mat : 1; /**< Was a match on the inbound bus to the inb pattern 497 matchers. PASS2 FIELD. */ 498 uint64_t pko_enb : 1; /**< Toggles the endian style of the FAU for the PKO. 499 '0' is for big-endian and '1' is for little-endian. */ 500 uint64_t dwb_enb : 1; /**< Enables the DWB function of the IOB. */ 501 uint64_t fau_end : 1; /**< Toggles the endian style of the FAU. '0' is for 502 big-endian and '1' is for little-endian. */ 503#else 504 uint64_t fau_end : 1; 505 uint64_t dwb_enb : 1; 506 uint64_t pko_enb : 1; 507 uint64_t inb_mat : 1; 508 uint64_t outb_mat : 1; 509 uint64_t reserved_5_5 : 1; 510 uint64_t xmc_per : 4; 511 uint64_t fif_dly : 1; 512 uint64_t reserved_11_63 : 53; 513#endif 514 } s; 515 struct cvmx_iob_ctl_status_cn30xx { 516#ifdef __BIG_ENDIAN_BITFIELD 517 uint64_t reserved_5_63 : 59; 518 uint64_t outb_mat : 1; /**< Was a match on the outbound bus to the inb pattern 519 matchers. */ 520 uint64_t inb_mat : 1; /**< Was a match on the inbound bus to the inb pattern 521 matchers. */ 522 uint64_t pko_enb : 1; /**< Toggles the endian style of the FAU for the PKO. 523 '0' is for big-endian and '1' is for little-endian. */ 524 uint64_t dwb_enb : 1; /**< Enables the DWB function of the IOB. */ 525 uint64_t fau_end : 1; /**< Toggles the endian style of the FAU. '0' is for 526 big-endian and '1' is for little-endian. */ 527#else 528 uint64_t fau_end : 1; 529 uint64_t dwb_enb : 1; 530 uint64_t pko_enb : 1; 531 uint64_t inb_mat : 1; 532 uint64_t outb_mat : 1; 533 uint64_t reserved_5_63 : 59; 534#endif 535 } cn30xx; 536 struct cvmx_iob_ctl_status_cn30xx cn31xx; 537 struct cvmx_iob_ctl_status_cn30xx cn38xx; 538 struct cvmx_iob_ctl_status_cn30xx cn38xxp2; 539 struct cvmx_iob_ctl_status_cn30xx cn50xx; 540 struct cvmx_iob_ctl_status_cn52xx { 541#ifdef __BIG_ENDIAN_BITFIELD 542 uint64_t reserved_6_63 : 58; 543 uint64_t rr_mode : 1; /**< When set to '1' will enable Round-Robin mode of next 544 transaction that could arbitrate for the XMB. */ 545 uint64_t outb_mat : 1; /**< Was a match on the outbound bus to the inb pattern 546 matchers. PASS2 FIELD. */ 547 uint64_t inb_mat : 1; /**< Was a match on the inbound bus to the inb pattern 548 matchers. PASS2 FIELD. */ 549 uint64_t pko_enb : 1; /**< Toggles the endian style of the FAU for the PKO. 550 '0' is for big-endian and '1' is for little-endian. */ 551 uint64_t dwb_enb : 1; /**< Enables the DWB function of the IOB. */ 552 uint64_t fau_end : 1; /**< Toggles the endian style of the FAU. '0' is for 553 big-endian and '1' is for little-endian. */ 554#else 555 uint64_t fau_end : 1; 556 uint64_t dwb_enb : 1; 557 uint64_t pko_enb : 1; 558 uint64_t inb_mat : 1; 559 uint64_t outb_mat : 1; 560 uint64_t rr_mode : 1; 561 uint64_t reserved_6_63 : 58; 562#endif 563 } cn52xx; 564 struct cvmx_iob_ctl_status_cn30xx cn52xxp1; 565 struct cvmx_iob_ctl_status_cn30xx cn56xx; 566 struct cvmx_iob_ctl_status_cn30xx cn56xxp1; 567 struct cvmx_iob_ctl_status_cn30xx cn58xx; 568 struct cvmx_iob_ctl_status_cn30xx cn58xxp1; 569 struct cvmx_iob_ctl_status_cn61xx { 570#ifdef __BIG_ENDIAN_BITFIELD 571 uint64_t reserved_11_63 : 53; 572 uint64_t fif_dly : 1; /**< Delay async FIFO counts to be used when clock ratio 573 is greater then 3:1. Writes should be followed by an 574 immediate read. */ 575 uint64_t xmc_per : 4; /**< IBC XMC PUSH EARLY */ 576 uint64_t rr_mode : 1; /**< When set to '1' will enable Round-Robin mode of next 577 transaction that could arbitrate for the XMB. */ 578 uint64_t outb_mat : 1; /**< Was a match on the outbound bus to the inb pattern 579 matchers. PASS2 FIELD. */ 580 uint64_t inb_mat : 1; /**< Was a match on the inbound bus to the inb pattern 581 matchers. PASS2 FIELD. */ 582 uint64_t pko_enb : 1; /**< Toggles the endian style of the FAU for the PKO. 583 '0' is for big-endian and '1' is for little-endian. */ 584 uint64_t dwb_enb : 1; /**< Enables the DWB function of the IOB. */ 585 uint64_t fau_end : 1; /**< Toggles the endian style of the FAU. '0' is for 586 big-endian and '1' is for little-endian. */ 587#else 588 uint64_t fau_end : 1; 589 uint64_t dwb_enb : 1; 590 uint64_t pko_enb : 1; 591 uint64_t inb_mat : 1; 592 uint64_t outb_mat : 1; 593 uint64_t rr_mode : 1; 594 uint64_t xmc_per : 4; 595 uint64_t fif_dly : 1; 596 uint64_t reserved_11_63 : 53; 597#endif 598 } cn61xx; 599 struct cvmx_iob_ctl_status_cn63xx { 600#ifdef __BIG_ENDIAN_BITFIELD 601 uint64_t reserved_10_63 : 54; 602 uint64_t xmc_per : 4; /**< IBC XMC PUSH EARLY */ 603 uint64_t rr_mode : 1; /**< When set to '1' will enable Round-Robin mode of next 604 transaction that could arbitrate for the XMB. */ 605 uint64_t outb_mat : 1; /**< Was a match on the outbound bus to the inb pattern 606 matchers. PASS2 FIELD. */ 607 uint64_t inb_mat : 1; /**< Was a match on the inbound bus to the inb pattern 608 matchers. PASS2 FIELD. */ 609 uint64_t pko_enb : 1; /**< Toggles the endian style of the FAU for the PKO. 610 '0' is for big-endian and '1' is for little-endian. */ 611 uint64_t dwb_enb : 1; /**< Enables the DWB function of the IOB. */ 612 uint64_t fau_end : 1; /**< Toggles the endian style of the FAU. '0' is for 613 big-endian and '1' is for little-endian. */ 614#else 615 uint64_t fau_end : 1; 616 uint64_t dwb_enb : 1; 617 uint64_t pko_enb : 1; 618 uint64_t inb_mat : 1; 619 uint64_t outb_mat : 1; 620 uint64_t rr_mode : 1; 621 uint64_t xmc_per : 4; 622 uint64_t reserved_10_63 : 54; 623#endif 624 } cn63xx; 625 struct cvmx_iob_ctl_status_cn63xx cn63xxp1; 626 struct cvmx_iob_ctl_status_cn61xx cn66xx; 627 struct cvmx_iob_ctl_status_cn68xx { 628#ifdef __BIG_ENDIAN_BITFIELD 629 uint64_t reserved_11_63 : 53; 630 uint64_t fif_dly : 1; /**< Delay async FIFO counts to be used when clock ratio 631 is greater then 3:1. Writes should be followed by an 632 immediate read. */ 633 uint64_t xmc_per : 4; /**< IBC XMC PUSH EARLY */ 634 uint64_t rsvr5 : 1; /**< Reserved */ 635 uint64_t outb_mat : 1; /**< Was a match on the outbound bus to the inb pattern 636 matchers. */ 637 uint64_t inb_mat : 1; /**< Was a match on the inbound bus to the inb pattern 638 matchers. */ 639 uint64_t pko_enb : 1; /**< Toggles the endian style of the FAU for the PKO. 640 '0' is for big-endian and '1' is for little-endian. */ 641 uint64_t dwb_enb : 1; /**< Enables the DWB function of the IOB. */ 642 uint64_t fau_end : 1; /**< Toggles the endian style of the FAU. '0' is for 643 big-endian and '1' is for little-endian. */ 644#else 645 uint64_t fau_end : 1; 646 uint64_t dwb_enb : 1; 647 uint64_t pko_enb : 1; 648 uint64_t inb_mat : 1; 649 uint64_t outb_mat : 1; 650 uint64_t rsvr5 : 1; 651 uint64_t xmc_per : 4; 652 uint64_t fif_dly : 1; 653 uint64_t reserved_11_63 : 53; 654#endif 655 } cn68xx; 656 struct cvmx_iob_ctl_status_cn68xx cn68xxp1; 657 struct cvmx_iob_ctl_status_cn61xx cnf71xx; 658}; 659typedef union cvmx_iob_ctl_status cvmx_iob_ctl_status_t; 660 661/** 662 * cvmx_iob_dwb_pri_cnt 663 * 664 * DWB To CMB Priority Counter = Don't Write Back to CMB Priority Counter Enable and Timer Value 665 * 666 * Enables and supplies the timeout count for raising the priority of Don't Write Back request to the L2C. 667 */ 668union cvmx_iob_dwb_pri_cnt { 669 uint64_t u64; 670 struct cvmx_iob_dwb_pri_cnt_s { 671#ifdef __BIG_ENDIAN_BITFIELD 672 uint64_t reserved_16_63 : 48; 673 uint64_t cnt_enb : 1; /**< Enables the raising of CMB access priority 674 when CNT_VAL is reached. */ 675 uint64_t cnt_val : 15; /**< Number of core clocks to wait before raising 676 the priority for access to CMB. */ 677#else 678 uint64_t cnt_val : 15; 679 uint64_t cnt_enb : 1; 680 uint64_t reserved_16_63 : 48; 681#endif 682 } s; 683 struct cvmx_iob_dwb_pri_cnt_s cn38xx; 684 struct cvmx_iob_dwb_pri_cnt_s cn38xxp2; 685 struct cvmx_iob_dwb_pri_cnt_s cn52xx; 686 struct cvmx_iob_dwb_pri_cnt_s cn52xxp1; 687 struct cvmx_iob_dwb_pri_cnt_s cn56xx; 688 struct cvmx_iob_dwb_pri_cnt_s cn56xxp1; 689 struct cvmx_iob_dwb_pri_cnt_s cn58xx; 690 struct cvmx_iob_dwb_pri_cnt_s cn58xxp1; 691 struct cvmx_iob_dwb_pri_cnt_s cn61xx; 692 struct cvmx_iob_dwb_pri_cnt_s cn63xx; 693 struct cvmx_iob_dwb_pri_cnt_s cn63xxp1; 694 struct cvmx_iob_dwb_pri_cnt_s cn66xx; 695 struct cvmx_iob_dwb_pri_cnt_s cnf71xx; 696}; 697typedef union cvmx_iob_dwb_pri_cnt cvmx_iob_dwb_pri_cnt_t; 698 699/** 700 * cvmx_iob_fau_timeout 701 * 702 * FAU Timeout = Fetch and Add Unit Tag-Switch Timeout 703 * 704 * How many clokc ticks the FAU unit will wait for a tag-switch before timeing out. 705 * for Queue 0. 706 */ 707union cvmx_iob_fau_timeout { 708 uint64_t u64; 709 struct cvmx_iob_fau_timeout_s { 710#ifdef __BIG_ENDIAN_BITFIELD 711 uint64_t reserved_13_63 : 51; 712 uint64_t tout_enb : 1; /**< The enable for the FAU timeout feature. 713 '1' will enable the timeout, '0' will disable. */ 714 uint64_t tout_val : 12; /**< When a tag request arrives from the PP a timer is 715 started associate with that PP. The timer which 716 increments every 256 eclks is compared to TOUT_VAL. 717 When the two are equal the IOB will flag the tag 718 request to complete as a time-out tag operation. 719 The 256 count timer used to increment the PP 720 associated timer is always running so the first 721 increment of the PP associated timer may occur any 722 where within the first 256 eclks. Note that '0' 723 is an illegal value. */ 724#else 725 uint64_t tout_val : 12; 726 uint64_t tout_enb : 1; 727 uint64_t reserved_13_63 : 51; 728#endif 729 } s; 730 struct cvmx_iob_fau_timeout_s cn30xx; 731 struct cvmx_iob_fau_timeout_s cn31xx; 732 struct cvmx_iob_fau_timeout_s cn38xx; 733 struct cvmx_iob_fau_timeout_s cn38xxp2; 734 struct cvmx_iob_fau_timeout_s cn50xx; 735 struct cvmx_iob_fau_timeout_s cn52xx; 736 struct cvmx_iob_fau_timeout_s cn52xxp1; 737 struct cvmx_iob_fau_timeout_s cn56xx; 738 struct cvmx_iob_fau_timeout_s cn56xxp1; 739 struct cvmx_iob_fau_timeout_s cn58xx; 740 struct cvmx_iob_fau_timeout_s cn58xxp1; 741 struct cvmx_iob_fau_timeout_s cn61xx; 742 struct cvmx_iob_fau_timeout_s cn63xx; 743 struct cvmx_iob_fau_timeout_s cn63xxp1; 744 struct cvmx_iob_fau_timeout_s cn66xx; 745 struct cvmx_iob_fau_timeout_s cn68xx; 746 struct cvmx_iob_fau_timeout_s cn68xxp1; 747 struct cvmx_iob_fau_timeout_s cnf71xx; 748}; 749typedef union cvmx_iob_fau_timeout cvmx_iob_fau_timeout_t; 750 751/** 752 * cvmx_iob_i2c_pri_cnt 753 * 754 * IPD To CMB Store Priority Counter = IPD to CMB Store Priority Counter Enable and Timer Value 755 * 756 * Enables and supplies the timeout count for raising the priority of IPD Store access to the CMB. 757 */ 758union cvmx_iob_i2c_pri_cnt { 759 uint64_t u64; 760 struct cvmx_iob_i2c_pri_cnt_s { 761#ifdef __BIG_ENDIAN_BITFIELD 762 uint64_t reserved_16_63 : 48; 763 uint64_t cnt_enb : 1; /**< Enables the raising of CMB access priority 764 when CNT_VAL is reached. */ 765 uint64_t cnt_val : 15; /**< Number of core clocks to wait before raising 766 the priority for access to CMB. */ 767#else 768 uint64_t cnt_val : 15; 769 uint64_t cnt_enb : 1; 770 uint64_t reserved_16_63 : 48; 771#endif 772 } s; 773 struct cvmx_iob_i2c_pri_cnt_s cn38xx; 774 struct cvmx_iob_i2c_pri_cnt_s cn38xxp2; 775 struct cvmx_iob_i2c_pri_cnt_s cn52xx; 776 struct cvmx_iob_i2c_pri_cnt_s cn52xxp1; 777 struct cvmx_iob_i2c_pri_cnt_s cn56xx; 778 struct cvmx_iob_i2c_pri_cnt_s cn56xxp1; 779 struct cvmx_iob_i2c_pri_cnt_s cn58xx; 780 struct cvmx_iob_i2c_pri_cnt_s cn58xxp1; 781 struct cvmx_iob_i2c_pri_cnt_s cn61xx; 782 struct cvmx_iob_i2c_pri_cnt_s cn63xx; 783 struct cvmx_iob_i2c_pri_cnt_s cn63xxp1; 784 struct cvmx_iob_i2c_pri_cnt_s cn66xx; 785 struct cvmx_iob_i2c_pri_cnt_s cnf71xx; 786}; 787typedef union cvmx_iob_i2c_pri_cnt cvmx_iob_i2c_pri_cnt_t; 788 789/** 790 * cvmx_iob_inb_control_match 791 * 792 * IOB_INB_CONTROL_MATCH = IOB Inbound Control Match 793 * 794 * Match pattern for the inbound control to set the INB_MATCH_BIT. PASS-2 Register 795 */ 796union cvmx_iob_inb_control_match { 797 uint64_t u64; 798 struct cvmx_iob_inb_control_match_s { 799#ifdef __BIG_ENDIAN_BITFIELD 800 uint64_t reserved_29_63 : 35; 801 uint64_t mask : 8; /**< Pattern to match on the inbound NCB. */ 802 uint64_t opc : 4; /**< Pattern to match on the inbound NCB. */ 803 uint64_t dst : 9; /**< Pattern to match on the inbound NCB. */ 804 uint64_t src : 8; /**< Pattern to match on the inbound NCB. */ 805#else 806 uint64_t src : 8; 807 uint64_t dst : 9; 808 uint64_t opc : 4; 809 uint64_t mask : 8; 810 uint64_t reserved_29_63 : 35; 811#endif 812 } s; 813 struct cvmx_iob_inb_control_match_s cn30xx; 814 struct cvmx_iob_inb_control_match_s cn31xx; 815 struct cvmx_iob_inb_control_match_s cn38xx; 816 struct cvmx_iob_inb_control_match_s cn38xxp2; 817 struct cvmx_iob_inb_control_match_s cn50xx; 818 struct cvmx_iob_inb_control_match_s cn52xx; 819 struct cvmx_iob_inb_control_match_s cn52xxp1; 820 struct cvmx_iob_inb_control_match_s cn56xx; 821 struct cvmx_iob_inb_control_match_s cn56xxp1; 822 struct cvmx_iob_inb_control_match_s cn58xx; 823 struct cvmx_iob_inb_control_match_s cn58xxp1; 824 struct cvmx_iob_inb_control_match_s cn61xx; 825 struct cvmx_iob_inb_control_match_s cn63xx; 826 struct cvmx_iob_inb_control_match_s cn63xxp1; 827 struct cvmx_iob_inb_control_match_s cn66xx; 828 struct cvmx_iob_inb_control_match_s cn68xx; 829 struct cvmx_iob_inb_control_match_s cn68xxp1; 830 struct cvmx_iob_inb_control_match_s cnf71xx; 831}; 832typedef union cvmx_iob_inb_control_match cvmx_iob_inb_control_match_t; 833 834/** 835 * cvmx_iob_inb_control_match_enb 836 * 837 * IOB_INB_CONTROL_MATCH_ENB = IOB Inbound Control Match Enable 838 * 839 * Enables the match of the corresponding bit in the IOB_INB_CONTROL_MATCH reister. PASS-2 Register 840 */ 841union cvmx_iob_inb_control_match_enb { 842 uint64_t u64; 843 struct cvmx_iob_inb_control_match_enb_s { 844#ifdef __BIG_ENDIAN_BITFIELD 845 uint64_t reserved_29_63 : 35; 846 uint64_t mask : 8; /**< Pattern to match on the inbound NCB. */ 847 uint64_t opc : 4; /**< Pattern to match on the inbound NCB. */ 848 uint64_t dst : 9; /**< Pattern to match on the inbound NCB. */ 849 uint64_t src : 8; /**< Pattern to match on the inbound NCB. */ 850#else 851 uint64_t src : 8; 852 uint64_t dst : 9; 853 uint64_t opc : 4; 854 uint64_t mask : 8; 855 uint64_t reserved_29_63 : 35; 856#endif 857 } s; 858 struct cvmx_iob_inb_control_match_enb_s cn30xx; 859 struct cvmx_iob_inb_control_match_enb_s cn31xx; 860 struct cvmx_iob_inb_control_match_enb_s cn38xx; 861 struct cvmx_iob_inb_control_match_enb_s cn38xxp2; 862 struct cvmx_iob_inb_control_match_enb_s cn50xx; 863 struct cvmx_iob_inb_control_match_enb_s cn52xx; 864 struct cvmx_iob_inb_control_match_enb_s cn52xxp1; 865 struct cvmx_iob_inb_control_match_enb_s cn56xx; 866 struct cvmx_iob_inb_control_match_enb_s cn56xxp1; 867 struct cvmx_iob_inb_control_match_enb_s cn58xx; 868 struct cvmx_iob_inb_control_match_enb_s cn58xxp1; 869 struct cvmx_iob_inb_control_match_enb_s cn61xx; 870 struct cvmx_iob_inb_control_match_enb_s cn63xx; 871 struct cvmx_iob_inb_control_match_enb_s cn63xxp1; 872 struct cvmx_iob_inb_control_match_enb_s cn66xx; 873 struct cvmx_iob_inb_control_match_enb_s cn68xx; 874 struct cvmx_iob_inb_control_match_enb_s cn68xxp1; 875 struct cvmx_iob_inb_control_match_enb_s cnf71xx; 876}; 877typedef union cvmx_iob_inb_control_match_enb cvmx_iob_inb_control_match_enb_t; 878 879/** 880 * cvmx_iob_inb_data_match 881 * 882 * IOB_INB_DATA_MATCH = IOB Inbound Data Match 883 * 884 * Match pattern for the inbound data to set the INB_MATCH_BIT. PASS-2 Register 885 */ 886union cvmx_iob_inb_data_match { 887 uint64_t u64; 888 struct cvmx_iob_inb_data_match_s { 889#ifdef __BIG_ENDIAN_BITFIELD 890 uint64_t data : 64; /**< Pattern to match on the inbound NCB. */ 891#else 892 uint64_t data : 64; 893#endif 894 } s; 895 struct cvmx_iob_inb_data_match_s cn30xx; 896 struct cvmx_iob_inb_data_match_s cn31xx; 897 struct cvmx_iob_inb_data_match_s cn38xx; 898 struct cvmx_iob_inb_data_match_s cn38xxp2; 899 struct cvmx_iob_inb_data_match_s cn50xx; 900 struct cvmx_iob_inb_data_match_s cn52xx; 901 struct cvmx_iob_inb_data_match_s cn52xxp1; 902 struct cvmx_iob_inb_data_match_s cn56xx; 903 struct cvmx_iob_inb_data_match_s cn56xxp1; 904 struct cvmx_iob_inb_data_match_s cn58xx; 905 struct cvmx_iob_inb_data_match_s cn58xxp1; 906 struct cvmx_iob_inb_data_match_s cn61xx; 907 struct cvmx_iob_inb_data_match_s cn63xx; 908 struct cvmx_iob_inb_data_match_s cn63xxp1; 909 struct cvmx_iob_inb_data_match_s cn66xx; 910 struct cvmx_iob_inb_data_match_s cn68xx; 911 struct cvmx_iob_inb_data_match_s cn68xxp1; 912 struct cvmx_iob_inb_data_match_s cnf71xx; 913}; 914typedef union cvmx_iob_inb_data_match cvmx_iob_inb_data_match_t; 915 916/** 917 * cvmx_iob_inb_data_match_enb 918 * 919 * IOB_INB_DATA_MATCH_ENB = IOB Inbound Data Match Enable 920 * 921 * Enables the match of the corresponding bit in the IOB_INB_DATA_MATCH reister. PASS-2 Register 922 */ 923union cvmx_iob_inb_data_match_enb { 924 uint64_t u64; 925 struct cvmx_iob_inb_data_match_enb_s { 926#ifdef __BIG_ENDIAN_BITFIELD 927 uint64_t data : 64; /**< Bit to enable match of. */ 928#else 929 uint64_t data : 64; 930#endif 931 } s; 932 struct cvmx_iob_inb_data_match_enb_s cn30xx; 933 struct cvmx_iob_inb_data_match_enb_s cn31xx; 934 struct cvmx_iob_inb_data_match_enb_s cn38xx; 935 struct cvmx_iob_inb_data_match_enb_s cn38xxp2; 936 struct cvmx_iob_inb_data_match_enb_s cn50xx; 937 struct cvmx_iob_inb_data_match_enb_s cn52xx; 938 struct cvmx_iob_inb_data_match_enb_s cn52xxp1; 939 struct cvmx_iob_inb_data_match_enb_s cn56xx; 940 struct cvmx_iob_inb_data_match_enb_s cn56xxp1; 941 struct cvmx_iob_inb_data_match_enb_s cn58xx; 942 struct cvmx_iob_inb_data_match_enb_s cn58xxp1; 943 struct cvmx_iob_inb_data_match_enb_s cn61xx; 944 struct cvmx_iob_inb_data_match_enb_s cn63xx; 945 struct cvmx_iob_inb_data_match_enb_s cn63xxp1; 946 struct cvmx_iob_inb_data_match_enb_s cn66xx; 947 struct cvmx_iob_inb_data_match_enb_s cn68xx; 948 struct cvmx_iob_inb_data_match_enb_s cn68xxp1; 949 struct cvmx_iob_inb_data_match_enb_s cnf71xx; 950}; 951typedef union cvmx_iob_inb_data_match_enb cvmx_iob_inb_data_match_enb_t; 952 953/** 954 * cvmx_iob_int_enb 955 * 956 * IOB_INT_ENB = IOB's Interrupt Enable 957 * 958 * The IOB's interrupt enable register. This is a PASS-2 register. 959 */ 960union cvmx_iob_int_enb { 961 uint64_t u64; 962 struct cvmx_iob_int_enb_s { 963#ifdef __BIG_ENDIAN_BITFIELD 964 uint64_t reserved_6_63 : 58; 965 uint64_t p_dat : 1; /**< When set (1) and bit 5 of the IOB_INT_SUM 966 register is asserted the IOB will assert an 967 interrupt. */ 968 uint64_t np_dat : 1; /**< When set (1) and bit 4 of the IOB_INT_SUM 969 register is asserted the IOB will assert an 970 interrupt. */ 971 uint64_t p_eop : 1; /**< When set (1) and bit 3 of the IOB_INT_SUM 972 register is asserted the IOB will assert an 973 interrupt. */ 974 uint64_t p_sop : 1; /**< When set (1) and bit 2 of the IOB_INT_SUM 975 register is asserted the IOB will assert an 976 interrupt. */ 977 uint64_t np_eop : 1; /**< When set (1) and bit 1 of the IOB_INT_SUM 978 register is asserted the IOB will assert an 979 interrupt. */ 980 uint64_t np_sop : 1; /**< When set (1) and bit 0 of the IOB_INT_SUM 981 register is asserted the IOB will assert an 982 interrupt. */ 983#else 984 uint64_t np_sop : 1; 985 uint64_t np_eop : 1; 986 uint64_t p_sop : 1; 987 uint64_t p_eop : 1; 988 uint64_t np_dat : 1; 989 uint64_t p_dat : 1; 990 uint64_t reserved_6_63 : 58; 991#endif 992 } s; 993 struct cvmx_iob_int_enb_cn30xx { 994#ifdef __BIG_ENDIAN_BITFIELD 995 uint64_t reserved_4_63 : 60; 996 uint64_t p_eop : 1; /**< When set (1) and bit 3 of the IOB_INT_SUM 997 register is asserted the IOB will assert an 998 interrupt. */ 999 uint64_t p_sop : 1; /**< When set (1) and bit 2 of the IOB_INT_SUM 1000 register is asserted the IOB will assert an 1001 interrupt. */ 1002 uint64_t np_eop : 1; /**< When set (1) and bit 1 of the IOB_INT_SUM 1003 register is asserted the IOB will assert an 1004 interrupt. */ 1005 uint64_t np_sop : 1; /**< When set (1) and bit 0 of the IOB_INT_SUM 1006 register is asserted the IOB will assert an 1007 interrupt. */ 1008#else 1009 uint64_t np_sop : 1; 1010 uint64_t np_eop : 1; 1011 uint64_t p_sop : 1; 1012 uint64_t p_eop : 1; 1013 uint64_t reserved_4_63 : 60; 1014#endif 1015 } cn30xx; 1016 struct cvmx_iob_int_enb_cn30xx cn31xx; 1017 struct cvmx_iob_int_enb_cn30xx cn38xx; 1018 struct cvmx_iob_int_enb_cn30xx cn38xxp2; 1019 struct cvmx_iob_int_enb_s cn50xx; 1020 struct cvmx_iob_int_enb_s cn52xx; 1021 struct cvmx_iob_int_enb_s cn52xxp1; 1022 struct cvmx_iob_int_enb_s cn56xx; 1023 struct cvmx_iob_int_enb_s cn56xxp1; 1024 struct cvmx_iob_int_enb_s cn58xx; 1025 struct cvmx_iob_int_enb_s cn58xxp1; 1026 struct cvmx_iob_int_enb_s cn61xx; 1027 struct cvmx_iob_int_enb_s cn63xx; 1028 struct cvmx_iob_int_enb_s cn63xxp1; 1029 struct cvmx_iob_int_enb_s cn66xx; 1030 struct cvmx_iob_int_enb_cn68xx { 1031#ifdef __BIG_ENDIAN_BITFIELD 1032 uint64_t reserved_0_63 : 64; 1033#else 1034 uint64_t reserved_0_63 : 64; 1035#endif 1036 } cn68xx; 1037 struct cvmx_iob_int_enb_cn68xx cn68xxp1; 1038 struct cvmx_iob_int_enb_s cnf71xx; 1039}; 1040typedef union cvmx_iob_int_enb cvmx_iob_int_enb_t; 1041 1042/** 1043 * cvmx_iob_int_sum 1044 * 1045 * IOB_INT_SUM = IOB's Interrupt Summary Register 1046 * 1047 * Contains the diffrent interrupt summary bits of the IOB. This is a PASS-2 register. 1048 */ 1049union cvmx_iob_int_sum { 1050 uint64_t u64; 1051 struct cvmx_iob_int_sum_s { 1052#ifdef __BIG_ENDIAN_BITFIELD 1053 uint64_t reserved_6_63 : 58; 1054 uint64_t p_dat : 1; /**< Set when a data arrives before a SOP for the same 1055 port for a passthrough packet. 1056 The first detected error associated with bits [5:0] 1057 of this register will only be set here. A new bit 1058 can be set when the previous reported bit is cleared. */ 1059 uint64_t np_dat : 1; /**< Set when a data arrives before a SOP for the same 1060 port for a non-passthrough packet. 1061 The first detected error associated with bits [5:0] 1062 of this register will only be set here. A new bit 1063 can be set when the previous reported bit is cleared. */ 1064 uint64_t p_eop : 1; /**< Set when a EOP is followed by an EOP for the same 1065 port for a passthrough packet. 1066 The first detected error associated with bits [5:0] 1067 of this register will only be set here. A new bit 1068 can be set when the previous reported bit is cleared. */ 1069 uint64_t p_sop : 1; /**< Set when a SOP is followed by an SOP for the same 1070 port for a passthrough packet. 1071 The first detected error associated with bits [5:0] 1072 of this register will only be set here. A new bit 1073 can be set when the previous reported bit is cleared. */ 1074 uint64_t np_eop : 1; /**< Set when a EOP is followed by an EOP for the same 1075 port for a non-passthrough packet. 1076 The first detected error associated with bits [5:0] 1077 of this register will only be set here. A new bit 1078 can be set when the previous reported bit is cleared. */ 1079 uint64_t np_sop : 1; /**< Set when a SOP is followed by an SOP for the same 1080 port for a non-passthrough packet. 1081 The first detected error associated with bits [5:0] 1082 of this register will only be set here. A new bit 1083 can be set when the previous reported bit is cleared. */ 1084#else 1085 uint64_t np_sop : 1; 1086 uint64_t np_eop : 1; 1087 uint64_t p_sop : 1; 1088 uint64_t p_eop : 1; 1089 uint64_t np_dat : 1; 1090 uint64_t p_dat : 1; 1091 uint64_t reserved_6_63 : 58; 1092#endif 1093 } s; 1094 struct cvmx_iob_int_sum_cn30xx { 1095#ifdef __BIG_ENDIAN_BITFIELD 1096 uint64_t reserved_4_63 : 60; 1097 uint64_t p_eop : 1; /**< Set when a EOP is followed by an EOP for the same 1098 port for a passthrough packet. 1099 The first detected error associated with bits [3:0] 1100 of this register will only be set here. A new bit 1101 can be set when the previous reported bit is cleared. */ 1102 uint64_t p_sop : 1; /**< Set when a SOP is followed by an SOP for the same 1103 port for a passthrough packet. 1104 The first detected error associated with bits [3:0] 1105 of this register will only be set here. A new bit 1106 can be set when the previous reported bit is cleared. */ 1107 uint64_t np_eop : 1; /**< Set when a EOP is followed by an EOP for the same 1108 port for a non-passthrough packet. 1109 The first detected error associated with bits [3:0] 1110 of this register will only be set here. A new bit 1111 can be set when the previous reported bit is cleared. */ 1112 uint64_t np_sop : 1; /**< Set when a SOP is followed by an SOP for the same 1113 port for a non-passthrough packet. 1114 The first detected error associated with bits [3:0] 1115 of this register will only be set here. A new bit 1116 can be set when the previous reported bit is cleared. */ 1117#else 1118 uint64_t np_sop : 1; 1119 uint64_t np_eop : 1; 1120 uint64_t p_sop : 1; 1121 uint64_t p_eop : 1; 1122 uint64_t reserved_4_63 : 60; 1123#endif 1124 } cn30xx; 1125 struct cvmx_iob_int_sum_cn30xx cn31xx; 1126 struct cvmx_iob_int_sum_cn30xx cn38xx; 1127 struct cvmx_iob_int_sum_cn30xx cn38xxp2; 1128 struct cvmx_iob_int_sum_s cn50xx; 1129 struct cvmx_iob_int_sum_s cn52xx; 1130 struct cvmx_iob_int_sum_s cn52xxp1; 1131 struct cvmx_iob_int_sum_s cn56xx; 1132 struct cvmx_iob_int_sum_s cn56xxp1; 1133 struct cvmx_iob_int_sum_s cn58xx; 1134 struct cvmx_iob_int_sum_s cn58xxp1; 1135 struct cvmx_iob_int_sum_s cn61xx; 1136 struct cvmx_iob_int_sum_s cn63xx; 1137 struct cvmx_iob_int_sum_s cn63xxp1; 1138 struct cvmx_iob_int_sum_s cn66xx; 1139 struct cvmx_iob_int_sum_cn68xx { 1140#ifdef __BIG_ENDIAN_BITFIELD 1141 uint64_t reserved_0_63 : 64; 1142#else 1143 uint64_t reserved_0_63 : 64; 1144#endif 1145 } cn68xx; 1146 struct cvmx_iob_int_sum_cn68xx cn68xxp1; 1147 struct cvmx_iob_int_sum_s cnf71xx; 1148}; 1149typedef union cvmx_iob_int_sum cvmx_iob_int_sum_t; 1150 1151/** 1152 * cvmx_iob_n2c_l2c_pri_cnt 1153 * 1154 * NCB To CMB L2C Priority Counter = NCB to CMB L2C Priority Counter Enable and Timer Value 1155 * 1156 * Enables and supplies the timeout count for raising the priority of NCB Store/Load access to the CMB. 1157 */ 1158union cvmx_iob_n2c_l2c_pri_cnt { 1159 uint64_t u64; 1160 struct cvmx_iob_n2c_l2c_pri_cnt_s { 1161#ifdef __BIG_ENDIAN_BITFIELD 1162 uint64_t reserved_16_63 : 48; 1163 uint64_t cnt_enb : 1; /**< Enables the raising of CMB access priority 1164 when CNT_VAL is reached. */ 1165 uint64_t cnt_val : 15; /**< Number of core clocks to wait before raising 1166 the priority for access to CMB. */ 1167#else 1168 uint64_t cnt_val : 15; 1169 uint64_t cnt_enb : 1; 1170 uint64_t reserved_16_63 : 48; 1171#endif 1172 } s; 1173 struct cvmx_iob_n2c_l2c_pri_cnt_s cn38xx; 1174 struct cvmx_iob_n2c_l2c_pri_cnt_s cn38xxp2; 1175 struct cvmx_iob_n2c_l2c_pri_cnt_s cn52xx; 1176 struct cvmx_iob_n2c_l2c_pri_cnt_s cn52xxp1; 1177 struct cvmx_iob_n2c_l2c_pri_cnt_s cn56xx; 1178 struct cvmx_iob_n2c_l2c_pri_cnt_s cn56xxp1; 1179 struct cvmx_iob_n2c_l2c_pri_cnt_s cn58xx; 1180 struct cvmx_iob_n2c_l2c_pri_cnt_s cn58xxp1; 1181 struct cvmx_iob_n2c_l2c_pri_cnt_s cn61xx; 1182 struct cvmx_iob_n2c_l2c_pri_cnt_s cn63xx; 1183 struct cvmx_iob_n2c_l2c_pri_cnt_s cn63xxp1; 1184 struct cvmx_iob_n2c_l2c_pri_cnt_s cn66xx; 1185 struct cvmx_iob_n2c_l2c_pri_cnt_s cnf71xx; 1186}; 1187typedef union cvmx_iob_n2c_l2c_pri_cnt cvmx_iob_n2c_l2c_pri_cnt_t; 1188 1189/** 1190 * cvmx_iob_n2c_rsp_pri_cnt 1191 * 1192 * NCB To CMB Response Priority Counter = NCB to CMB Response Priority Counter Enable and Timer Value 1193 * 1194 * Enables and supplies the timeout count for raising the priority of NCB Responses access to the CMB. 1195 */ 1196union cvmx_iob_n2c_rsp_pri_cnt { 1197 uint64_t u64; 1198 struct cvmx_iob_n2c_rsp_pri_cnt_s { 1199#ifdef __BIG_ENDIAN_BITFIELD 1200 uint64_t reserved_16_63 : 48; 1201 uint64_t cnt_enb : 1; /**< Enables the raising of CMB access priority 1202 when CNT_VAL is reached. */ 1203 uint64_t cnt_val : 15; /**< Number of core clocks to wait before raising 1204 the priority for access to CMB. */ 1205#else 1206 uint64_t cnt_val : 15; 1207 uint64_t cnt_enb : 1; 1208 uint64_t reserved_16_63 : 48; 1209#endif 1210 } s; 1211 struct cvmx_iob_n2c_rsp_pri_cnt_s cn38xx; 1212 struct cvmx_iob_n2c_rsp_pri_cnt_s cn38xxp2; 1213 struct cvmx_iob_n2c_rsp_pri_cnt_s cn52xx; 1214 struct cvmx_iob_n2c_rsp_pri_cnt_s cn52xxp1; 1215 struct cvmx_iob_n2c_rsp_pri_cnt_s cn56xx; 1216 struct cvmx_iob_n2c_rsp_pri_cnt_s cn56xxp1; 1217 struct cvmx_iob_n2c_rsp_pri_cnt_s cn58xx; 1218 struct cvmx_iob_n2c_rsp_pri_cnt_s cn58xxp1; 1219 struct cvmx_iob_n2c_rsp_pri_cnt_s cn61xx; 1220 struct cvmx_iob_n2c_rsp_pri_cnt_s cn63xx; 1221 struct cvmx_iob_n2c_rsp_pri_cnt_s cn63xxp1; 1222 struct cvmx_iob_n2c_rsp_pri_cnt_s cn66xx; 1223 struct cvmx_iob_n2c_rsp_pri_cnt_s cnf71xx; 1224}; 1225typedef union cvmx_iob_n2c_rsp_pri_cnt cvmx_iob_n2c_rsp_pri_cnt_t; 1226 1227/** 1228 * cvmx_iob_outb_com_pri_cnt 1229 * 1230 * Commit To NCB Priority Counter = Commit to NCB Priority Counter Enable and Timer Value 1231 * 1232 * Enables and supplies the timeout count for raising the priority of Commit request to the Outbound NCB. 1233 */ 1234union cvmx_iob_outb_com_pri_cnt { 1235 uint64_t u64; 1236 struct cvmx_iob_outb_com_pri_cnt_s { 1237#ifdef __BIG_ENDIAN_BITFIELD 1238 uint64_t reserved_16_63 : 48; 1239 uint64_t cnt_enb : 1; /**< Enables the raising of NCB access priority 1240 when CNT_VAL is reached. */ 1241 uint64_t cnt_val : 15; /**< Number of core clocks to wait before raising 1242 the priority for access to NCB. */ 1243#else 1244 uint64_t cnt_val : 15; 1245 uint64_t cnt_enb : 1; 1246 uint64_t reserved_16_63 : 48; 1247#endif 1248 } s; 1249 struct cvmx_iob_outb_com_pri_cnt_s cn38xx; 1250 struct cvmx_iob_outb_com_pri_cnt_s cn38xxp2; 1251 struct cvmx_iob_outb_com_pri_cnt_s cn52xx; 1252 struct cvmx_iob_outb_com_pri_cnt_s cn52xxp1; 1253 struct cvmx_iob_outb_com_pri_cnt_s cn56xx; 1254 struct cvmx_iob_outb_com_pri_cnt_s cn56xxp1; 1255 struct cvmx_iob_outb_com_pri_cnt_s cn58xx; 1256 struct cvmx_iob_outb_com_pri_cnt_s cn58xxp1; 1257 struct cvmx_iob_outb_com_pri_cnt_s cn61xx; 1258 struct cvmx_iob_outb_com_pri_cnt_s cn63xx; 1259 struct cvmx_iob_outb_com_pri_cnt_s cn63xxp1; 1260 struct cvmx_iob_outb_com_pri_cnt_s cn66xx; 1261 struct cvmx_iob_outb_com_pri_cnt_s cn68xx; 1262 struct cvmx_iob_outb_com_pri_cnt_s cn68xxp1; 1263 struct cvmx_iob_outb_com_pri_cnt_s cnf71xx; 1264}; 1265typedef union cvmx_iob_outb_com_pri_cnt cvmx_iob_outb_com_pri_cnt_t; 1266 1267/** 1268 * cvmx_iob_outb_control_match 1269 * 1270 * IOB_OUTB_CONTROL_MATCH = IOB Outbound Control Match 1271 * 1272 * Match pattern for the outbound control to set the OUTB_MATCH_BIT. PASS-2 Register 1273 */ 1274union cvmx_iob_outb_control_match { 1275 uint64_t u64; 1276 struct cvmx_iob_outb_control_match_s { 1277#ifdef __BIG_ENDIAN_BITFIELD 1278 uint64_t reserved_26_63 : 38; 1279 uint64_t mask : 8; /**< Pattern to match on the outbound NCB. */ 1280 uint64_t eot : 1; /**< Pattern to match on the outbound NCB. */ 1281 uint64_t dst : 8; /**< Pattern to match on the outbound NCB. */ 1282 uint64_t src : 9; /**< Pattern to match on the outbound NCB. */ 1283#else 1284 uint64_t src : 9; 1285 uint64_t dst : 8; 1286 uint64_t eot : 1; 1287 uint64_t mask : 8; 1288 uint64_t reserved_26_63 : 38; 1289#endif 1290 } s; 1291 struct cvmx_iob_outb_control_match_s cn30xx; 1292 struct cvmx_iob_outb_control_match_s cn31xx; 1293 struct cvmx_iob_outb_control_match_s cn38xx; 1294 struct cvmx_iob_outb_control_match_s cn38xxp2; 1295 struct cvmx_iob_outb_control_match_s cn50xx; 1296 struct cvmx_iob_outb_control_match_s cn52xx; 1297 struct cvmx_iob_outb_control_match_s cn52xxp1; 1298 struct cvmx_iob_outb_control_match_s cn56xx; 1299 struct cvmx_iob_outb_control_match_s cn56xxp1; 1300 struct cvmx_iob_outb_control_match_s cn58xx; 1301 struct cvmx_iob_outb_control_match_s cn58xxp1; 1302 struct cvmx_iob_outb_control_match_s cn61xx; 1303 struct cvmx_iob_outb_control_match_s cn63xx; 1304 struct cvmx_iob_outb_control_match_s cn63xxp1; 1305 struct cvmx_iob_outb_control_match_s cn66xx; 1306 struct cvmx_iob_outb_control_match_s cn68xx; 1307 struct cvmx_iob_outb_control_match_s cn68xxp1; 1308 struct cvmx_iob_outb_control_match_s cnf71xx; 1309}; 1310typedef union cvmx_iob_outb_control_match cvmx_iob_outb_control_match_t; 1311 1312/** 1313 * cvmx_iob_outb_control_match_enb 1314 * 1315 * IOB_OUTB_CONTROL_MATCH_ENB = IOB Outbound Control Match Enable 1316 * 1317 * Enables the match of the corresponding bit in the IOB_OUTB_CONTROL_MATCH reister. PASS-2 Register 1318 */ 1319union cvmx_iob_outb_control_match_enb { 1320 uint64_t u64; 1321 struct cvmx_iob_outb_control_match_enb_s { 1322#ifdef __BIG_ENDIAN_BITFIELD 1323 uint64_t reserved_26_63 : 38; 1324 uint64_t mask : 8; /**< Pattern to match on the outbound NCB. */ 1325 uint64_t eot : 1; /**< Pattern to match on the outbound NCB. */ 1326 uint64_t dst : 8; /**< Pattern to match on the outbound NCB. */ 1327 uint64_t src : 9; /**< Pattern to match on the outbound NCB. */ 1328#else 1329 uint64_t src : 9; 1330 uint64_t dst : 8; 1331 uint64_t eot : 1; 1332 uint64_t mask : 8; 1333 uint64_t reserved_26_63 : 38; 1334#endif 1335 } s; 1336 struct cvmx_iob_outb_control_match_enb_s cn30xx; 1337 struct cvmx_iob_outb_control_match_enb_s cn31xx; 1338 struct cvmx_iob_outb_control_match_enb_s cn38xx; 1339 struct cvmx_iob_outb_control_match_enb_s cn38xxp2; 1340 struct cvmx_iob_outb_control_match_enb_s cn50xx; 1341 struct cvmx_iob_outb_control_match_enb_s cn52xx; 1342 struct cvmx_iob_outb_control_match_enb_s cn52xxp1; 1343 struct cvmx_iob_outb_control_match_enb_s cn56xx; 1344 struct cvmx_iob_outb_control_match_enb_s cn56xxp1; 1345 struct cvmx_iob_outb_control_match_enb_s cn58xx; 1346 struct cvmx_iob_outb_control_match_enb_s cn58xxp1; 1347 struct cvmx_iob_outb_control_match_enb_s cn61xx; 1348 struct cvmx_iob_outb_control_match_enb_s cn63xx; 1349 struct cvmx_iob_outb_control_match_enb_s cn63xxp1; 1350 struct cvmx_iob_outb_control_match_enb_s cn66xx; 1351 struct cvmx_iob_outb_control_match_enb_s cn68xx; 1352 struct cvmx_iob_outb_control_match_enb_s cn68xxp1; 1353 struct cvmx_iob_outb_control_match_enb_s cnf71xx; 1354}; 1355typedef union cvmx_iob_outb_control_match_enb cvmx_iob_outb_control_match_enb_t; 1356 1357/** 1358 * cvmx_iob_outb_data_match 1359 * 1360 * IOB_OUTB_DATA_MATCH = IOB Outbound Data Match 1361 * 1362 * Match pattern for the outbound data to set the OUTB_MATCH_BIT. PASS-2 Register 1363 */ 1364union cvmx_iob_outb_data_match { 1365 uint64_t u64; 1366 struct cvmx_iob_outb_data_match_s { 1367#ifdef __BIG_ENDIAN_BITFIELD 1368 uint64_t data : 64; /**< Pattern to match on the outbound NCB. */ 1369#else 1370 uint64_t data : 64; 1371#endif 1372 } s; 1373 struct cvmx_iob_outb_data_match_s cn30xx; 1374 struct cvmx_iob_outb_data_match_s cn31xx; 1375 struct cvmx_iob_outb_data_match_s cn38xx; 1376 struct cvmx_iob_outb_data_match_s cn38xxp2; 1377 struct cvmx_iob_outb_data_match_s cn50xx; 1378 struct cvmx_iob_outb_data_match_s cn52xx; 1379 struct cvmx_iob_outb_data_match_s cn52xxp1; 1380 struct cvmx_iob_outb_data_match_s cn56xx; 1381 struct cvmx_iob_outb_data_match_s cn56xxp1; 1382 struct cvmx_iob_outb_data_match_s cn58xx; 1383 struct cvmx_iob_outb_data_match_s cn58xxp1; 1384 struct cvmx_iob_outb_data_match_s cn61xx; 1385 struct cvmx_iob_outb_data_match_s cn63xx; 1386 struct cvmx_iob_outb_data_match_s cn63xxp1; 1387 struct cvmx_iob_outb_data_match_s cn66xx; 1388 struct cvmx_iob_outb_data_match_s cn68xx; 1389 struct cvmx_iob_outb_data_match_s cn68xxp1; 1390 struct cvmx_iob_outb_data_match_s cnf71xx; 1391}; 1392typedef union cvmx_iob_outb_data_match cvmx_iob_outb_data_match_t; 1393 1394/** 1395 * cvmx_iob_outb_data_match_enb 1396 * 1397 * IOB_OUTB_DATA_MATCH_ENB = IOB Outbound Data Match Enable 1398 * 1399 * Enables the match of the corresponding bit in the IOB_OUTB_DATA_MATCH reister. PASS-2 Register 1400 */ 1401union cvmx_iob_outb_data_match_enb { 1402 uint64_t u64; 1403 struct cvmx_iob_outb_data_match_enb_s { 1404#ifdef __BIG_ENDIAN_BITFIELD 1405 uint64_t data : 64; /**< Bit to enable match of. */ 1406#else 1407 uint64_t data : 64; 1408#endif 1409 } s; 1410 struct cvmx_iob_outb_data_match_enb_s cn30xx; 1411 struct cvmx_iob_outb_data_match_enb_s cn31xx; 1412 struct cvmx_iob_outb_data_match_enb_s cn38xx; 1413 struct cvmx_iob_outb_data_match_enb_s cn38xxp2; 1414 struct cvmx_iob_outb_data_match_enb_s cn50xx; 1415 struct cvmx_iob_outb_data_match_enb_s cn52xx; 1416 struct cvmx_iob_outb_data_match_enb_s cn52xxp1; 1417 struct cvmx_iob_outb_data_match_enb_s cn56xx; 1418 struct cvmx_iob_outb_data_match_enb_s cn56xxp1; 1419 struct cvmx_iob_outb_data_match_enb_s cn58xx; 1420 struct cvmx_iob_outb_data_match_enb_s cn58xxp1; 1421 struct cvmx_iob_outb_data_match_enb_s cn61xx; 1422 struct cvmx_iob_outb_data_match_enb_s cn63xx; 1423 struct cvmx_iob_outb_data_match_enb_s cn63xxp1; 1424 struct cvmx_iob_outb_data_match_enb_s cn66xx; 1425 struct cvmx_iob_outb_data_match_enb_s cn68xx; 1426 struct cvmx_iob_outb_data_match_enb_s cn68xxp1; 1427 struct cvmx_iob_outb_data_match_enb_s cnf71xx; 1428}; 1429typedef union cvmx_iob_outb_data_match_enb cvmx_iob_outb_data_match_enb_t; 1430 1431/** 1432 * cvmx_iob_outb_fpa_pri_cnt 1433 * 1434 * FPA To NCB Priority Counter = FPA Returns to NCB Priority Counter Enable and Timer Value 1435 * 1436 * Enables and supplies the timeout count for raising the priority of FPA Rreturn Page request to the Outbound NCB. 1437 */ 1438union cvmx_iob_outb_fpa_pri_cnt { 1439 uint64_t u64; 1440 struct cvmx_iob_outb_fpa_pri_cnt_s { 1441#ifdef __BIG_ENDIAN_BITFIELD 1442 uint64_t reserved_16_63 : 48; 1443 uint64_t cnt_enb : 1; /**< Enables the raising of NCB access priority 1444 when CNT_VAL is reached. */ 1445 uint64_t cnt_val : 15; /**< Number of core clocks to wait before raising 1446 the priority for access to NCB. */ 1447#else 1448 uint64_t cnt_val : 15; 1449 uint64_t cnt_enb : 1; 1450 uint64_t reserved_16_63 : 48; 1451#endif 1452 } s; 1453 struct cvmx_iob_outb_fpa_pri_cnt_s cn38xx; 1454 struct cvmx_iob_outb_fpa_pri_cnt_s cn38xxp2; 1455 struct cvmx_iob_outb_fpa_pri_cnt_s cn52xx; 1456 struct cvmx_iob_outb_fpa_pri_cnt_s cn52xxp1; 1457 struct cvmx_iob_outb_fpa_pri_cnt_s cn56xx; 1458 struct cvmx_iob_outb_fpa_pri_cnt_s cn56xxp1; 1459 struct cvmx_iob_outb_fpa_pri_cnt_s cn58xx; 1460 struct cvmx_iob_outb_fpa_pri_cnt_s cn58xxp1; 1461 struct cvmx_iob_outb_fpa_pri_cnt_s cn61xx; 1462 struct cvmx_iob_outb_fpa_pri_cnt_s cn63xx; 1463 struct cvmx_iob_outb_fpa_pri_cnt_s cn63xxp1; 1464 struct cvmx_iob_outb_fpa_pri_cnt_s cn66xx; 1465 struct cvmx_iob_outb_fpa_pri_cnt_s cn68xx; 1466 struct cvmx_iob_outb_fpa_pri_cnt_s cn68xxp1; 1467 struct cvmx_iob_outb_fpa_pri_cnt_s cnf71xx; 1468}; 1469typedef union cvmx_iob_outb_fpa_pri_cnt cvmx_iob_outb_fpa_pri_cnt_t; 1470 1471/** 1472 * cvmx_iob_outb_req_pri_cnt 1473 * 1474 * Request To NCB Priority Counter = Request to NCB Priority Counter Enable and Timer Value 1475 * 1476 * Enables and supplies the timeout count for raising the priority of Request transfers to the Outbound NCB. 1477 */ 1478union cvmx_iob_outb_req_pri_cnt { 1479 uint64_t u64; 1480 struct cvmx_iob_outb_req_pri_cnt_s { 1481#ifdef __BIG_ENDIAN_BITFIELD 1482 uint64_t reserved_16_63 : 48; 1483 uint64_t cnt_enb : 1; /**< Enables the raising of NCB access priority 1484 when CNT_VAL is reached. */ 1485 uint64_t cnt_val : 15; /**< Number of core clocks to wait before raising 1486 the priority for access to NCB. */ 1487#else 1488 uint64_t cnt_val : 15; 1489 uint64_t cnt_enb : 1; 1490 uint64_t reserved_16_63 : 48; 1491#endif 1492 } s; 1493 struct cvmx_iob_outb_req_pri_cnt_s cn38xx; 1494 struct cvmx_iob_outb_req_pri_cnt_s cn38xxp2; 1495 struct cvmx_iob_outb_req_pri_cnt_s cn52xx; 1496 struct cvmx_iob_outb_req_pri_cnt_s cn52xxp1; 1497 struct cvmx_iob_outb_req_pri_cnt_s cn56xx; 1498 struct cvmx_iob_outb_req_pri_cnt_s cn56xxp1; 1499 struct cvmx_iob_outb_req_pri_cnt_s cn58xx; 1500 struct cvmx_iob_outb_req_pri_cnt_s cn58xxp1; 1501 struct cvmx_iob_outb_req_pri_cnt_s cn61xx; 1502 struct cvmx_iob_outb_req_pri_cnt_s cn63xx; 1503 struct cvmx_iob_outb_req_pri_cnt_s cn63xxp1; 1504 struct cvmx_iob_outb_req_pri_cnt_s cn66xx; 1505 struct cvmx_iob_outb_req_pri_cnt_s cn68xx; 1506 struct cvmx_iob_outb_req_pri_cnt_s cn68xxp1; 1507 struct cvmx_iob_outb_req_pri_cnt_s cnf71xx; 1508}; 1509typedef union cvmx_iob_outb_req_pri_cnt cvmx_iob_outb_req_pri_cnt_t; 1510 1511/** 1512 * cvmx_iob_p2c_req_pri_cnt 1513 * 1514 * PKO To CMB Response Priority Counter = PKO to CMB Response Priority Counter Enable and Timer Value 1515 * 1516 * Enables and supplies the timeout count for raising the priority of PKO Load access to the CMB. 1517 */ 1518union cvmx_iob_p2c_req_pri_cnt { 1519 uint64_t u64; 1520 struct cvmx_iob_p2c_req_pri_cnt_s { 1521#ifdef __BIG_ENDIAN_BITFIELD 1522 uint64_t reserved_16_63 : 48; 1523 uint64_t cnt_enb : 1; /**< Enables the raising of CMB access priority 1524 when CNT_VAL is reached. */ 1525 uint64_t cnt_val : 15; /**< Number of core clocks to wait before raising 1526 the priority for access to CMB. */ 1527#else 1528 uint64_t cnt_val : 15; 1529 uint64_t cnt_enb : 1; 1530 uint64_t reserved_16_63 : 48; 1531#endif 1532 } s; 1533 struct cvmx_iob_p2c_req_pri_cnt_s cn38xx; 1534 struct cvmx_iob_p2c_req_pri_cnt_s cn38xxp2; 1535 struct cvmx_iob_p2c_req_pri_cnt_s cn52xx; 1536 struct cvmx_iob_p2c_req_pri_cnt_s cn52xxp1; 1537 struct cvmx_iob_p2c_req_pri_cnt_s cn56xx; 1538 struct cvmx_iob_p2c_req_pri_cnt_s cn56xxp1; 1539 struct cvmx_iob_p2c_req_pri_cnt_s cn58xx; 1540 struct cvmx_iob_p2c_req_pri_cnt_s cn58xxp1; 1541 struct cvmx_iob_p2c_req_pri_cnt_s cn61xx; 1542 struct cvmx_iob_p2c_req_pri_cnt_s cn63xx; 1543 struct cvmx_iob_p2c_req_pri_cnt_s cn63xxp1; 1544 struct cvmx_iob_p2c_req_pri_cnt_s cn66xx; 1545 struct cvmx_iob_p2c_req_pri_cnt_s cnf71xx; 1546}; 1547typedef union cvmx_iob_p2c_req_pri_cnt cvmx_iob_p2c_req_pri_cnt_t; 1548 1549/** 1550 * cvmx_iob_pkt_err 1551 * 1552 * IOB_PKT_ERR = IOB Packet Error Register 1553 * 1554 * Provides status about the failing packet recevie error. This is a PASS-2 register. 1555 */ 1556union cvmx_iob_pkt_err { 1557 uint64_t u64; 1558 struct cvmx_iob_pkt_err_s { 1559#ifdef __BIG_ENDIAN_BITFIELD 1560 uint64_t reserved_12_63 : 52; 1561 uint64_t vport : 6; /**< When IOB_INT_SUM[3:0] bit is set, this field 1562 latches the failing vport associate with the 1563 IOB_INT_SUM[3:0] bit set. */ 1564 uint64_t port : 6; /**< When IOB_INT_SUM[3:0] bit is set, this field 1565 latches the failing port associate with the 1566 IOB_INT_SUM[3:0] bit set. */ 1567#else 1568 uint64_t port : 6; 1569 uint64_t vport : 6; 1570 uint64_t reserved_12_63 : 52; 1571#endif 1572 } s; 1573 struct cvmx_iob_pkt_err_cn30xx { 1574#ifdef __BIG_ENDIAN_BITFIELD 1575 uint64_t reserved_6_63 : 58; 1576 uint64_t port : 6; /**< When IOB_INT_SUM[3:0] bit is set, this field 1577 latches the failing port associate with the 1578 IOB_INT_SUM[3:0] bit set. */ 1579#else 1580 uint64_t port : 6; 1581 uint64_t reserved_6_63 : 58; 1582#endif 1583 } cn30xx; 1584 struct cvmx_iob_pkt_err_cn30xx cn31xx; 1585 struct cvmx_iob_pkt_err_cn30xx cn38xx; 1586 struct cvmx_iob_pkt_err_cn30xx cn38xxp2; 1587 struct cvmx_iob_pkt_err_cn30xx cn50xx; 1588 struct cvmx_iob_pkt_err_cn30xx cn52xx; 1589 struct cvmx_iob_pkt_err_cn30xx cn52xxp1; 1590 struct cvmx_iob_pkt_err_cn30xx cn56xx; 1591 struct cvmx_iob_pkt_err_cn30xx cn56xxp1; 1592 struct cvmx_iob_pkt_err_cn30xx cn58xx; 1593 struct cvmx_iob_pkt_err_cn30xx cn58xxp1; 1594 struct cvmx_iob_pkt_err_s cn61xx; 1595 struct cvmx_iob_pkt_err_s cn63xx; 1596 struct cvmx_iob_pkt_err_s cn63xxp1; 1597 struct cvmx_iob_pkt_err_s cn66xx; 1598 struct cvmx_iob_pkt_err_s cnf71xx; 1599}; 1600typedef union cvmx_iob_pkt_err cvmx_iob_pkt_err_t; 1601 1602/** 1603 * cvmx_iob_to_cmb_credits 1604 * 1605 * IOB_TO_CMB_CREDITS = IOB To CMB Credits 1606 * 1607 * Controls the number of reads and writes that may be outstanding to the L2C (via the CMB). 1608 */ 1609union cvmx_iob_to_cmb_credits { 1610 uint64_t u64; 1611 struct cvmx_iob_to_cmb_credits_s { 1612#ifdef __BIG_ENDIAN_BITFIELD 1613 uint64_t reserved_6_63 : 58; 1614 uint64_t ncb_rd : 3; /**< Number of NCB reads that can be out to L2C where 1615 0 == 8-credits. */ 1616 uint64_t ncb_wr : 3; /**< Number of NCB/PKI writes that can be out to L2C 1617 where 0 == 8-credits. */ 1618#else 1619 uint64_t ncb_wr : 3; 1620 uint64_t ncb_rd : 3; 1621 uint64_t reserved_6_63 : 58; 1622#endif 1623 } s; 1624 struct cvmx_iob_to_cmb_credits_cn52xx { 1625#ifdef __BIG_ENDIAN_BITFIELD 1626 uint64_t reserved_9_63 : 55; 1627 uint64_t pko_rd : 3; /**< Number of PKO reads that can be out to L2C where 1628 0 == 8-credits. */ 1629 uint64_t ncb_rd : 3; /**< Number of NCB reads that can be out to L2C where 1630 0 == 8-credits. */ 1631 uint64_t ncb_wr : 3; /**< Number of NCB/PKI writes that can be out to L2C 1632 where 0 == 8-credits. */ 1633#else 1634 uint64_t ncb_wr : 3; 1635 uint64_t ncb_rd : 3; 1636 uint64_t pko_rd : 3; 1637 uint64_t reserved_9_63 : 55; 1638#endif 1639 } cn52xx; 1640 struct cvmx_iob_to_cmb_credits_cn52xx cn61xx; 1641 struct cvmx_iob_to_cmb_credits_cn52xx cn63xx; 1642 struct cvmx_iob_to_cmb_credits_cn52xx cn63xxp1; 1643 struct cvmx_iob_to_cmb_credits_cn52xx cn66xx; 1644 struct cvmx_iob_to_cmb_credits_cn68xx { 1645#ifdef __BIG_ENDIAN_BITFIELD 1646 uint64_t reserved_9_63 : 55; 1647 uint64_t dwb : 3; /**< Number of DWBs that can be out to L2C where 1648 0 == 8-credits. */ 1649 uint64_t ncb_rd : 3; /**< Number of NCB reads that can be out to L2C where 1650 0 == 8-credits. */ 1651 uint64_t ncb_wr : 3; /**< Number of NCB/PKI writes that can be out to L2C 1652 where 0 == 8-credits. */ 1653#else 1654 uint64_t ncb_wr : 3; 1655 uint64_t ncb_rd : 3; 1656 uint64_t dwb : 3; 1657 uint64_t reserved_9_63 : 55; 1658#endif 1659 } cn68xx; 1660 struct cvmx_iob_to_cmb_credits_cn68xx cn68xxp1; 1661 struct cvmx_iob_to_cmb_credits_cn52xx cnf71xx; 1662}; 1663typedef union cvmx_iob_to_cmb_credits cvmx_iob_to_cmb_credits_t; 1664 1665/** 1666 * cvmx_iob_to_ncb_did_00_credits 1667 * 1668 * IOB_TO_NCB_DID_00_CREDITS = IOB NCB DID 00 Credits 1669 * 1670 * Number of credits for NCB DID 00. 1671 */ 1672union cvmx_iob_to_ncb_did_00_credits { 1673 uint64_t u64; 1674 struct cvmx_iob_to_ncb_did_00_credits_s { 1675#ifdef __BIG_ENDIAN_BITFIELD 1676 uint64_t reserved_7_63 : 57; 1677 uint64_t crd : 7; /**< Number of credits for DID. Writing this field will 1678 casuse the credits to be set to the value written. 1679 Reading this field will give the number of credits 1680 PRESENTLY available. */ 1681#else 1682 uint64_t crd : 7; 1683 uint64_t reserved_7_63 : 57; 1684#endif 1685 } s; 1686 struct cvmx_iob_to_ncb_did_00_credits_s cn68xx; 1687 struct cvmx_iob_to_ncb_did_00_credits_s cn68xxp1; 1688}; 1689typedef union cvmx_iob_to_ncb_did_00_credits cvmx_iob_to_ncb_did_00_credits_t; 1690 1691/** 1692 * cvmx_iob_to_ncb_did_111_credits 1693 * 1694 * IOB_TO_NCB_DID_111_CREDITS = IOB NCB DID 111 Credits 1695 * 1696 * Number of credits for NCB DID 111. 1697 */ 1698union cvmx_iob_to_ncb_did_111_credits { 1699 uint64_t u64; 1700 struct cvmx_iob_to_ncb_did_111_credits_s { 1701#ifdef __BIG_ENDIAN_BITFIELD 1702 uint64_t reserved_7_63 : 57; 1703 uint64_t crd : 7; /**< Number of credits for DID. Writing this field will 1704 casuse the credits to be set to the value written. 1705 Reading this field will give the number of credits 1706 PRESENTLY available. */ 1707#else 1708 uint64_t crd : 7; 1709 uint64_t reserved_7_63 : 57; 1710#endif 1711 } s; 1712 struct cvmx_iob_to_ncb_did_111_credits_s cn68xx; 1713 struct cvmx_iob_to_ncb_did_111_credits_s cn68xxp1; 1714}; 1715typedef union cvmx_iob_to_ncb_did_111_credits cvmx_iob_to_ncb_did_111_credits_t; 1716 1717/** 1718 * cvmx_iob_to_ncb_did_223_credits 1719 * 1720 * IOB_TO_NCB_DID_223_CREDITS = IOB NCB DID 223 Credits 1721 * 1722 * Number of credits for NCB DID 223. 1723 */ 1724union cvmx_iob_to_ncb_did_223_credits { 1725 uint64_t u64; 1726 struct cvmx_iob_to_ncb_did_223_credits_s { 1727#ifdef __BIG_ENDIAN_BITFIELD 1728 uint64_t reserved_7_63 : 57; 1729 uint64_t crd : 7; /**< Number of credits for DID. Writing this field will 1730 casuse the credits to be set to the value written. 1731 Reading this field will give the number of credits 1732 PRESENTLY available. */ 1733#else 1734 uint64_t crd : 7; 1735 uint64_t reserved_7_63 : 57; 1736#endif 1737 } s; 1738 struct cvmx_iob_to_ncb_did_223_credits_s cn68xx; 1739 struct cvmx_iob_to_ncb_did_223_credits_s cn68xxp1; 1740}; 1741typedef union cvmx_iob_to_ncb_did_223_credits cvmx_iob_to_ncb_did_223_credits_t; 1742 1743/** 1744 * cvmx_iob_to_ncb_did_24_credits 1745 * 1746 * IOB_TO_NCB_DID_24_CREDITS = IOB NCB DID 24 Credits 1747 * 1748 * Number of credits for NCB DID 24. 1749 */ 1750union cvmx_iob_to_ncb_did_24_credits { 1751 uint64_t u64; 1752 struct cvmx_iob_to_ncb_did_24_credits_s { 1753#ifdef __BIG_ENDIAN_BITFIELD 1754 uint64_t reserved_7_63 : 57; 1755 uint64_t crd : 7; /**< Number of credits for DID. Writing this field will 1756 casuse the credits to be set to the value written. 1757 Reading this field will give the number of credits 1758 PRESENTLY available. */ 1759#else 1760 uint64_t crd : 7; 1761 uint64_t reserved_7_63 : 57; 1762#endif 1763 } s; 1764 struct cvmx_iob_to_ncb_did_24_credits_s cn68xx; 1765 struct cvmx_iob_to_ncb_did_24_credits_s cn68xxp1; 1766}; 1767typedef union cvmx_iob_to_ncb_did_24_credits cvmx_iob_to_ncb_did_24_credits_t; 1768 1769/** 1770 * cvmx_iob_to_ncb_did_32_credits 1771 * 1772 * IOB_TO_NCB_DID_32_CREDITS = IOB NCB DID 32 Credits 1773 * 1774 * Number of credits for NCB DID 32. 1775 */ 1776union cvmx_iob_to_ncb_did_32_credits { 1777 uint64_t u64; 1778 struct cvmx_iob_to_ncb_did_32_credits_s { 1779#ifdef __BIG_ENDIAN_BITFIELD 1780 uint64_t reserved_7_63 : 57; 1781 uint64_t crd : 7; /**< Number of credits for DID. Writing this field will 1782 casuse the credits to be set to the value written. 1783 Reading this field will give the number of credits 1784 PRESENTLY available. */ 1785#else 1786 uint64_t crd : 7; 1787 uint64_t reserved_7_63 : 57; 1788#endif 1789 } s; 1790 struct cvmx_iob_to_ncb_did_32_credits_s cn68xx; 1791 struct cvmx_iob_to_ncb_did_32_credits_s cn68xxp1; 1792}; 1793typedef union cvmx_iob_to_ncb_did_32_credits cvmx_iob_to_ncb_did_32_credits_t; 1794 1795/** 1796 * cvmx_iob_to_ncb_did_40_credits 1797 * 1798 * IOB_TO_NCB_DID_40_CREDITS = IOB NCB DID 40 Credits 1799 * 1800 * Number of credits for NCB DID 40. 1801 */ 1802union cvmx_iob_to_ncb_did_40_credits { 1803 uint64_t u64; 1804 struct cvmx_iob_to_ncb_did_40_credits_s { 1805#ifdef __BIG_ENDIAN_BITFIELD 1806 uint64_t reserved_7_63 : 57; 1807 uint64_t crd : 7; /**< Number of credits for DID. Writing this field will 1808 casuse the credits to be set to the value written. 1809 Reading this field will give the number of credits 1810 PRESENTLY available. */ 1811#else 1812 uint64_t crd : 7; 1813 uint64_t reserved_7_63 : 57; 1814#endif 1815 } s; 1816 struct cvmx_iob_to_ncb_did_40_credits_s cn68xx; 1817 struct cvmx_iob_to_ncb_did_40_credits_s cn68xxp1; 1818}; 1819typedef union cvmx_iob_to_ncb_did_40_credits cvmx_iob_to_ncb_did_40_credits_t; 1820 1821/** 1822 * cvmx_iob_to_ncb_did_55_credits 1823 * 1824 * IOB_TO_NCB_DID_55_CREDITS = IOB NCB DID 55 Credits 1825 * 1826 * Number of credits for NCB DID 55. 1827 */ 1828union cvmx_iob_to_ncb_did_55_credits { 1829 uint64_t u64; 1830 struct cvmx_iob_to_ncb_did_55_credits_s { 1831#ifdef __BIG_ENDIAN_BITFIELD 1832 uint64_t reserved_7_63 : 57; 1833 uint64_t crd : 7; /**< Number of credits for DID. Writing this field will 1834 casuse the credits to be set to the value written. 1835 Reading this field will give the number of credits 1836 PRESENTLY available. */ 1837#else 1838 uint64_t crd : 7; 1839 uint64_t reserved_7_63 : 57; 1840#endif 1841 } s; 1842 struct cvmx_iob_to_ncb_did_55_credits_s cn68xx; 1843 struct cvmx_iob_to_ncb_did_55_credits_s cn68xxp1; 1844}; 1845typedef union cvmx_iob_to_ncb_did_55_credits cvmx_iob_to_ncb_did_55_credits_t; 1846 1847/** 1848 * cvmx_iob_to_ncb_did_64_credits 1849 * 1850 * IOB_TO_NCB_DID_64_CREDITS = IOB NCB DID 64 Credits 1851 * 1852 * Number of credits for NCB DID 64. 1853 */ 1854union cvmx_iob_to_ncb_did_64_credits { 1855 uint64_t u64; 1856 struct cvmx_iob_to_ncb_did_64_credits_s { 1857#ifdef __BIG_ENDIAN_BITFIELD 1858 uint64_t reserved_7_63 : 57; 1859 uint64_t crd : 7; /**< Number of credits for DID. Writing this field will 1860 casuse the credits to be set to the value written. 1861 Reading this field will give the number of credits 1862 PRESENTLY available. */ 1863#else 1864 uint64_t crd : 7; 1865 uint64_t reserved_7_63 : 57; 1866#endif 1867 } s; 1868 struct cvmx_iob_to_ncb_did_64_credits_s cn68xx; 1869 struct cvmx_iob_to_ncb_did_64_credits_s cn68xxp1; 1870}; 1871typedef union cvmx_iob_to_ncb_did_64_credits cvmx_iob_to_ncb_did_64_credits_t; 1872 1873/** 1874 * cvmx_iob_to_ncb_did_79_credits 1875 * 1876 * IOB_TO_NCB_DID_79_CREDITS = IOB NCB DID 79 Credits 1877 * 1878 * Number of credits for NCB DID 79. 1879 */ 1880union cvmx_iob_to_ncb_did_79_credits { 1881 uint64_t u64; 1882 struct cvmx_iob_to_ncb_did_79_credits_s { 1883#ifdef __BIG_ENDIAN_BITFIELD 1884 uint64_t reserved_7_63 : 57; 1885 uint64_t crd : 7; /**< Number of credits for DID. Writing this field will 1886 casuse the credits to be set to the value written. 1887 Reading this field will give the number of credits 1888 PRESENTLY available. */ 1889#else 1890 uint64_t crd : 7; 1891 uint64_t reserved_7_63 : 57; 1892#endif 1893 } s; 1894 struct cvmx_iob_to_ncb_did_79_credits_s cn68xx; 1895 struct cvmx_iob_to_ncb_did_79_credits_s cn68xxp1; 1896}; 1897typedef union cvmx_iob_to_ncb_did_79_credits cvmx_iob_to_ncb_did_79_credits_t; 1898 1899/** 1900 * cvmx_iob_to_ncb_did_96_credits 1901 * 1902 * IOB_TO_NCB_DID_96_CREDITS = IOB NCB DID 96 Credits 1903 * 1904 * Number of credits for NCB DID 96. 1905 */ 1906union cvmx_iob_to_ncb_did_96_credits { 1907 uint64_t u64; 1908 struct cvmx_iob_to_ncb_did_96_credits_s { 1909#ifdef __BIG_ENDIAN_BITFIELD 1910 uint64_t reserved_7_63 : 57; 1911 uint64_t crd : 7; /**< Number of credits for DID. Writing this field will 1912 casuse the credits to be set to the value written. 1913 Reading this field will give the number of credits 1914 PRESENTLY available. */ 1915#else 1916 uint64_t crd : 7; 1917 uint64_t reserved_7_63 : 57; 1918#endif 1919 } s; 1920 struct cvmx_iob_to_ncb_did_96_credits_s cn68xx; 1921 struct cvmx_iob_to_ncb_did_96_credits_s cn68xxp1; 1922}; 1923typedef union cvmx_iob_to_ncb_did_96_credits cvmx_iob_to_ncb_did_96_credits_t; 1924 1925/** 1926 * cvmx_iob_to_ncb_did_98_credits 1927 * 1928 * IOB_TO_NCB_DID_98_CREDITS = IOB NCB DID 96 Credits 1929 * 1930 * Number of credits for NCB DID 98. 1931 */ 1932union cvmx_iob_to_ncb_did_98_credits { 1933 uint64_t u64; 1934 struct cvmx_iob_to_ncb_did_98_credits_s { 1935#ifdef __BIG_ENDIAN_BITFIELD 1936 uint64_t reserved_7_63 : 57; 1937 uint64_t crd : 7; /**< Number of credits for DID. Writing this field will 1938 casuse the credits to be set to the value written. 1939 Reading this field will give the number of credits 1940 PRESENTLY available. */ 1941#else 1942 uint64_t crd : 7; 1943 uint64_t reserved_7_63 : 57; 1944#endif 1945 } s; 1946 struct cvmx_iob_to_ncb_did_98_credits_s cn68xx; 1947 struct cvmx_iob_to_ncb_did_98_credits_s cn68xxp1; 1948}; 1949typedef union cvmx_iob_to_ncb_did_98_credits cvmx_iob_to_ncb_did_98_credits_t; 1950 1951#endif 1952