1 /***********************license start*************** 2 * Author: Cavium Networks 3 * 4 * Contact: support@caviumnetworks.com 5 * This file is part of the OCTEON SDK 6 * 7 * Copyright (c) 2003-2008 Cavium Networks 8 * 9 * This file is free software; you can redistribute it and/or modify 10 * it under the terms of the GNU General Public License, Version 2, as 11 * published by the Free Software Foundation. 12 * 13 * This file is distributed in the hope that it will be useful, but 14 * AS-IS and WITHOUT ANY WARRANTY; without even the implied warranty 15 * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE, TITLE, or 16 * NONINFRINGEMENT. See the GNU General Public License for more 17 * details. 18 * 19 * You should have received a copy of the GNU General Public License 20 * along with this file; if not, write to the Free Software 21 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 22 * or visit http://www.gnu.org/licenses/. 23 * 24 * This file may also be available under a different license from Cavium. 25 * Contact Cavium Networks for more information 26 ***********************license end**************************************/ 27 28 #ifndef __CVMX_NPI_DEFS_H__ 29 #define __CVMX_NPI_DEFS_H__ 30 31 #define CVMX_NPI_BASE_ADDR_INPUT0 \ 32 CVMX_ADD_IO_SEG(0x00011F0000000070ull) 33 #define CVMX_NPI_BASE_ADDR_INPUT1 \ 34 CVMX_ADD_IO_SEG(0x00011F0000000080ull) 35 #define CVMX_NPI_BASE_ADDR_INPUT2 \ 36 CVMX_ADD_IO_SEG(0x00011F0000000090ull) 37 #define CVMX_NPI_BASE_ADDR_INPUT3 \ 38 CVMX_ADD_IO_SEG(0x00011F00000000A0ull) 39 #define CVMX_NPI_BASE_ADDR_INPUTX(offset) \ 40 CVMX_ADD_IO_SEG(0x00011F0000000070ull + (((offset) & 3) * 16)) 41 #define CVMX_NPI_BASE_ADDR_OUTPUT0 \ 42 CVMX_ADD_IO_SEG(0x00011F00000000B8ull) 43 #define CVMX_NPI_BASE_ADDR_OUTPUT1 \ 44 CVMX_ADD_IO_SEG(0x00011F00000000C0ull) 45 #define CVMX_NPI_BASE_ADDR_OUTPUT2 \ 46 CVMX_ADD_IO_SEG(0x00011F00000000C8ull) 47 #define CVMX_NPI_BASE_ADDR_OUTPUT3 \ 48 CVMX_ADD_IO_SEG(0x00011F00000000D0ull) 49 #define CVMX_NPI_BASE_ADDR_OUTPUTX(offset) \ 50 CVMX_ADD_IO_SEG(0x00011F00000000B8ull + (((offset) & 3) * 8)) 51 #define CVMX_NPI_BIST_STATUS \ 52 CVMX_ADD_IO_SEG(0x00011F00000003F8ull) 53 #define CVMX_NPI_BUFF_SIZE_OUTPUT0 \ 54 CVMX_ADD_IO_SEG(0x00011F00000000E0ull) 55 #define CVMX_NPI_BUFF_SIZE_OUTPUT1 \ 56 CVMX_ADD_IO_SEG(0x00011F00000000E8ull) 57 #define CVMX_NPI_BUFF_SIZE_OUTPUT2 \ 58 CVMX_ADD_IO_SEG(0x00011F00000000F0ull) 59 #define CVMX_NPI_BUFF_SIZE_OUTPUT3 \ 60 CVMX_ADD_IO_SEG(0x00011F00000000F8ull) 61 #define CVMX_NPI_BUFF_SIZE_OUTPUTX(offset) \ 62 CVMX_ADD_IO_SEG(0x00011F00000000E0ull + (((offset) & 3) * 8)) 63 #define CVMX_NPI_COMP_CTL \ 64 CVMX_ADD_IO_SEG(0x00011F0000000218ull) 65 #define CVMX_NPI_CTL_STATUS \ 66 CVMX_ADD_IO_SEG(0x00011F0000000010ull) 67 #define CVMX_NPI_DBG_SELECT \ 68 CVMX_ADD_IO_SEG(0x00011F0000000008ull) 69 #define CVMX_NPI_DMA_CONTROL \ 70 CVMX_ADD_IO_SEG(0x00011F0000000128ull) 71 #define CVMX_NPI_DMA_HIGHP_COUNTS \ 72 CVMX_ADD_IO_SEG(0x00011F0000000148ull) 73 #define CVMX_NPI_DMA_HIGHP_NADDR \ 74 CVMX_ADD_IO_SEG(0x00011F0000000158ull) 75 #define CVMX_NPI_DMA_LOWP_COUNTS \ 76 CVMX_ADD_IO_SEG(0x00011F0000000140ull) 77 #define CVMX_NPI_DMA_LOWP_NADDR \ 78 CVMX_ADD_IO_SEG(0x00011F0000000150ull) 79 #define CVMX_NPI_HIGHP_DBELL \ 80 CVMX_ADD_IO_SEG(0x00011F0000000120ull) 81 #define CVMX_NPI_HIGHP_IBUFF_SADDR \ 82 CVMX_ADD_IO_SEG(0x00011F0000000110ull) 83 #define CVMX_NPI_INPUT_CONTROL \ 84 CVMX_ADD_IO_SEG(0x00011F0000000138ull) 85 #define CVMX_NPI_INT_ENB \ 86 CVMX_ADD_IO_SEG(0x00011F0000000020ull) 87 #define CVMX_NPI_INT_SUM \ 88 CVMX_ADD_IO_SEG(0x00011F0000000018ull) 89 #define CVMX_NPI_LOWP_DBELL \ 90 CVMX_ADD_IO_SEG(0x00011F0000000118ull) 91 #define CVMX_NPI_LOWP_IBUFF_SADDR \ 92 CVMX_ADD_IO_SEG(0x00011F0000000108ull) 93 #define CVMX_NPI_MEM_ACCESS_SUBID3 \ 94 CVMX_ADD_IO_SEG(0x00011F0000000028ull) 95 #define CVMX_NPI_MEM_ACCESS_SUBID4 \ 96 CVMX_ADD_IO_SEG(0x00011F0000000030ull) 97 #define CVMX_NPI_MEM_ACCESS_SUBID5 \ 98 CVMX_ADD_IO_SEG(0x00011F0000000038ull) 99 #define CVMX_NPI_MEM_ACCESS_SUBID6 \ 100 CVMX_ADD_IO_SEG(0x00011F0000000040ull) 101 #define CVMX_NPI_MEM_ACCESS_SUBIDX(offset) \ 102 CVMX_ADD_IO_SEG(0x00011F0000000028ull + (((offset) & 7) * 8) - 8 * 3) 103 #define CVMX_NPI_MSI_RCV \ 104 (0x0000000000000190ull) 105 #define CVMX_NPI_NPI_MSI_RCV \ 106 CVMX_ADD_IO_SEG(0x00011F0000001190ull) 107 #define CVMX_NPI_NUM_DESC_OUTPUT0 \ 108 CVMX_ADD_IO_SEG(0x00011F0000000050ull) 109 #define CVMX_NPI_NUM_DESC_OUTPUT1 \ 110 CVMX_ADD_IO_SEG(0x00011F0000000058ull) 111 #define CVMX_NPI_NUM_DESC_OUTPUT2 \ 112 CVMX_ADD_IO_SEG(0x00011F0000000060ull) 113 #define CVMX_NPI_NUM_DESC_OUTPUT3 \ 114 CVMX_ADD_IO_SEG(0x00011F0000000068ull) 115 #define CVMX_NPI_NUM_DESC_OUTPUTX(offset) \ 116 CVMX_ADD_IO_SEG(0x00011F0000000050ull + (((offset) & 3) * 8)) 117 #define CVMX_NPI_OUTPUT_CONTROL \ 118 CVMX_ADD_IO_SEG(0x00011F0000000100ull) 119 #define CVMX_NPI_P0_DBPAIR_ADDR \ 120 CVMX_ADD_IO_SEG(0x00011F0000000180ull) 121 #define CVMX_NPI_P0_INSTR_ADDR \ 122 CVMX_ADD_IO_SEG(0x00011F00000001C0ull) 123 #define CVMX_NPI_P0_INSTR_CNTS \ 124 CVMX_ADD_IO_SEG(0x00011F00000001A0ull) 125 #define CVMX_NPI_P0_PAIR_CNTS \ 126 CVMX_ADD_IO_SEG(0x00011F0000000160ull) 127 #define CVMX_NPI_P1_DBPAIR_ADDR \ 128 CVMX_ADD_IO_SEG(0x00011F0000000188ull) 129 #define CVMX_NPI_P1_INSTR_ADDR \ 130 CVMX_ADD_IO_SEG(0x00011F00000001C8ull) 131 #define CVMX_NPI_P1_INSTR_CNTS \ 132 CVMX_ADD_IO_SEG(0x00011F00000001A8ull) 133 #define CVMX_NPI_P1_PAIR_CNTS \ 134 CVMX_ADD_IO_SEG(0x00011F0000000168ull) 135 #define CVMX_NPI_P2_DBPAIR_ADDR \ 136 CVMX_ADD_IO_SEG(0x00011F0000000190ull) 137 #define CVMX_NPI_P2_INSTR_ADDR \ 138 CVMX_ADD_IO_SEG(0x00011F00000001D0ull) 139 #define CVMX_NPI_P2_INSTR_CNTS \ 140 CVMX_ADD_IO_SEG(0x00011F00000001B0ull) 141 #define CVMX_NPI_P2_PAIR_CNTS \ 142 CVMX_ADD_IO_SEG(0x00011F0000000170ull) 143 #define CVMX_NPI_P3_DBPAIR_ADDR \ 144 CVMX_ADD_IO_SEG(0x00011F0000000198ull) 145 #define CVMX_NPI_P3_INSTR_ADDR \ 146 CVMX_ADD_IO_SEG(0x00011F00000001D8ull) 147 #define CVMX_NPI_P3_INSTR_CNTS \ 148 CVMX_ADD_IO_SEG(0x00011F00000001B8ull) 149 #define CVMX_NPI_P3_PAIR_CNTS \ 150 CVMX_ADD_IO_SEG(0x00011F0000000178ull) 151 #define CVMX_NPI_PCI_BAR1_INDEXX(offset) \ 152 CVMX_ADD_IO_SEG(0x00011F0000001100ull + (((offset) & 31) * 4)) 153 #define CVMX_NPI_PCI_BIST_REG \ 154 CVMX_ADD_IO_SEG(0x00011F00000011C0ull) 155 #define CVMX_NPI_PCI_BURST_SIZE \ 156 CVMX_ADD_IO_SEG(0x00011F00000000D8ull) 157 #define CVMX_NPI_PCI_CFG00 \ 158 CVMX_ADD_IO_SEG(0x00011F0000001800ull) 159 #define CVMX_NPI_PCI_CFG01 \ 160 CVMX_ADD_IO_SEG(0x00011F0000001804ull) 161 #define CVMX_NPI_PCI_CFG02 \ 162 CVMX_ADD_IO_SEG(0x00011F0000001808ull) 163 #define CVMX_NPI_PCI_CFG03 \ 164 CVMX_ADD_IO_SEG(0x00011F000000180Cull) 165 #define CVMX_NPI_PCI_CFG04 \ 166 CVMX_ADD_IO_SEG(0x00011F0000001810ull) 167 #define CVMX_NPI_PCI_CFG05 \ 168 CVMX_ADD_IO_SEG(0x00011F0000001814ull) 169 #define CVMX_NPI_PCI_CFG06 \ 170 CVMX_ADD_IO_SEG(0x00011F0000001818ull) 171 #define CVMX_NPI_PCI_CFG07 \ 172 CVMX_ADD_IO_SEG(0x00011F000000181Cull) 173 #define CVMX_NPI_PCI_CFG08 \ 174 CVMX_ADD_IO_SEG(0x00011F0000001820ull) 175 #define CVMX_NPI_PCI_CFG09 \ 176 CVMX_ADD_IO_SEG(0x00011F0000001824ull) 177 #define CVMX_NPI_PCI_CFG10 \ 178 CVMX_ADD_IO_SEG(0x00011F0000001828ull) 179 #define CVMX_NPI_PCI_CFG11 \ 180 CVMX_ADD_IO_SEG(0x00011F000000182Cull) 181 #define CVMX_NPI_PCI_CFG12 \ 182 CVMX_ADD_IO_SEG(0x00011F0000001830ull) 183 #define CVMX_NPI_PCI_CFG13 \ 184 CVMX_ADD_IO_SEG(0x00011F0000001834ull) 185 #define CVMX_NPI_PCI_CFG15 \ 186 CVMX_ADD_IO_SEG(0x00011F000000183Cull) 187 #define CVMX_NPI_PCI_CFG16 \ 188 CVMX_ADD_IO_SEG(0x00011F0000001840ull) 189 #define CVMX_NPI_PCI_CFG17 \ 190 CVMX_ADD_IO_SEG(0x00011F0000001844ull) 191 #define CVMX_NPI_PCI_CFG18 \ 192 CVMX_ADD_IO_SEG(0x00011F0000001848ull) 193 #define CVMX_NPI_PCI_CFG19 \ 194 CVMX_ADD_IO_SEG(0x00011F000000184Cull) 195 #define CVMX_NPI_PCI_CFG20 \ 196 CVMX_ADD_IO_SEG(0x00011F0000001850ull) 197 #define CVMX_NPI_PCI_CFG21 \ 198 CVMX_ADD_IO_SEG(0x00011F0000001854ull) 199 #define CVMX_NPI_PCI_CFG22 \ 200 CVMX_ADD_IO_SEG(0x00011F0000001858ull) 201 #define CVMX_NPI_PCI_CFG56 \ 202 CVMX_ADD_IO_SEG(0x00011F00000018E0ull) 203 #define CVMX_NPI_PCI_CFG57 \ 204 CVMX_ADD_IO_SEG(0x00011F00000018E4ull) 205 #define CVMX_NPI_PCI_CFG58 \ 206 CVMX_ADD_IO_SEG(0x00011F00000018E8ull) 207 #define CVMX_NPI_PCI_CFG59 \ 208 CVMX_ADD_IO_SEG(0x00011F00000018ECull) 209 #define CVMX_NPI_PCI_CFG60 \ 210 CVMX_ADD_IO_SEG(0x00011F00000018F0ull) 211 #define CVMX_NPI_PCI_CFG61 \ 212 CVMX_ADD_IO_SEG(0x00011F00000018F4ull) 213 #define CVMX_NPI_PCI_CFG62 \ 214 CVMX_ADD_IO_SEG(0x00011F00000018F8ull) 215 #define CVMX_NPI_PCI_CFG63 \ 216 CVMX_ADD_IO_SEG(0x00011F00000018FCull) 217 #define CVMX_NPI_PCI_CNT_REG \ 218 CVMX_ADD_IO_SEG(0x00011F00000011B8ull) 219 #define CVMX_NPI_PCI_CTL_STATUS_2 \ 220 CVMX_ADD_IO_SEG(0x00011F000000118Cull) 221 #define CVMX_NPI_PCI_INT_ARB_CFG \ 222 CVMX_ADD_IO_SEG(0x00011F0000000130ull) 223 #define CVMX_NPI_PCI_INT_ENB2 \ 224 CVMX_ADD_IO_SEG(0x00011F00000011A0ull) 225 #define CVMX_NPI_PCI_INT_SUM2 \ 226 CVMX_ADD_IO_SEG(0x00011F0000001198ull) 227 #define CVMX_NPI_PCI_READ_CMD \ 228 CVMX_ADD_IO_SEG(0x00011F0000000048ull) 229 #define CVMX_NPI_PCI_READ_CMD_6 \ 230 CVMX_ADD_IO_SEG(0x00011F0000001180ull) 231 #define CVMX_NPI_PCI_READ_CMD_C \ 232 CVMX_ADD_IO_SEG(0x00011F0000001184ull) 233 #define CVMX_NPI_PCI_READ_CMD_E \ 234 CVMX_ADD_IO_SEG(0x00011F0000001188ull) 235 #define CVMX_NPI_PCI_SCM_REG \ 236 CVMX_ADD_IO_SEG(0x00011F00000011A8ull) 237 #define CVMX_NPI_PCI_TSR_REG \ 238 CVMX_ADD_IO_SEG(0x00011F00000011B0ull) 239 #define CVMX_NPI_PORT32_INSTR_HDR \ 240 CVMX_ADD_IO_SEG(0x00011F00000001F8ull) 241 #define CVMX_NPI_PORT33_INSTR_HDR \ 242 CVMX_ADD_IO_SEG(0x00011F0000000200ull) 243 #define CVMX_NPI_PORT34_INSTR_HDR \ 244 CVMX_ADD_IO_SEG(0x00011F0000000208ull) 245 #define CVMX_NPI_PORT35_INSTR_HDR \ 246 CVMX_ADD_IO_SEG(0x00011F0000000210ull) 247 #define CVMX_NPI_PORT_BP_CONTROL \ 248 CVMX_ADD_IO_SEG(0x00011F00000001F0ull) 249 #define CVMX_NPI_PX_DBPAIR_ADDR(offset) \ 250 CVMX_ADD_IO_SEG(0x00011F0000000180ull + (((offset) & 3) * 8)) 251 #define CVMX_NPI_PX_INSTR_ADDR(offset) \ 252 CVMX_ADD_IO_SEG(0x00011F00000001C0ull + (((offset) & 3) * 8)) 253 #define CVMX_NPI_PX_INSTR_CNTS(offset) \ 254 CVMX_ADD_IO_SEG(0x00011F00000001A0ull + (((offset) & 3) * 8)) 255 #define CVMX_NPI_PX_PAIR_CNTS(offset) \ 256 CVMX_ADD_IO_SEG(0x00011F0000000160ull + (((offset) & 3) * 8)) 257 #define CVMX_NPI_RSL_INT_BLOCKS \ 258 CVMX_ADD_IO_SEG(0x00011F0000000000ull) 259 #define CVMX_NPI_SIZE_INPUT0 \ 260 CVMX_ADD_IO_SEG(0x00011F0000000078ull) 261 #define CVMX_NPI_SIZE_INPUT1 \ 262 CVMX_ADD_IO_SEG(0x00011F0000000088ull) 263 #define CVMX_NPI_SIZE_INPUT2 \ 264 CVMX_ADD_IO_SEG(0x00011F0000000098ull) 265 #define CVMX_NPI_SIZE_INPUT3 \ 266 CVMX_ADD_IO_SEG(0x00011F00000000A8ull) 267 #define CVMX_NPI_SIZE_INPUTX(offset) \ 268 CVMX_ADD_IO_SEG(0x00011F0000000078ull + (((offset) & 3) * 16)) 269 #define CVMX_NPI_WIN_READ_TO \ 270 CVMX_ADD_IO_SEG(0x00011F00000001E0ull) 271 272 union cvmx_npi_base_addr_inputx { 273 uint64_t u64; 274 struct cvmx_npi_base_addr_inputx_s { 275 uint64_t baddr:61; 276 uint64_t reserved_0_2:3; 277 } s; 278 struct cvmx_npi_base_addr_inputx_s cn30xx; 279 struct cvmx_npi_base_addr_inputx_s cn31xx; 280 struct cvmx_npi_base_addr_inputx_s cn38xx; 281 struct cvmx_npi_base_addr_inputx_s cn38xxp2; 282 struct cvmx_npi_base_addr_inputx_s cn50xx; 283 struct cvmx_npi_base_addr_inputx_s cn58xx; 284 struct cvmx_npi_base_addr_inputx_s cn58xxp1; 285 }; 286 287 union cvmx_npi_base_addr_outputx { 288 uint64_t u64; 289 struct cvmx_npi_base_addr_outputx_s { 290 uint64_t baddr:61; 291 uint64_t reserved_0_2:3; 292 } s; 293 struct cvmx_npi_base_addr_outputx_s cn30xx; 294 struct cvmx_npi_base_addr_outputx_s cn31xx; 295 struct cvmx_npi_base_addr_outputx_s cn38xx; 296 struct cvmx_npi_base_addr_outputx_s cn38xxp2; 297 struct cvmx_npi_base_addr_outputx_s cn50xx; 298 struct cvmx_npi_base_addr_outputx_s cn58xx; 299 struct cvmx_npi_base_addr_outputx_s cn58xxp1; 300 }; 301 302 union cvmx_npi_bist_status { 303 uint64_t u64; 304 struct cvmx_npi_bist_status_s { 305 uint64_t reserved_20_63:44; 306 uint64_t csr_bs:1; 307 uint64_t dif_bs:1; 308 uint64_t rdp_bs:1; 309 uint64_t pcnc_bs:1; 310 uint64_t pcn_bs:1; 311 uint64_t rdn_bs:1; 312 uint64_t pcac_bs:1; 313 uint64_t pcad_bs:1; 314 uint64_t rdnl_bs:1; 315 uint64_t pgf_bs:1; 316 uint64_t pig_bs:1; 317 uint64_t pof0_bs:1; 318 uint64_t pof1_bs:1; 319 uint64_t pof2_bs:1; 320 uint64_t pof3_bs:1; 321 uint64_t pos_bs:1; 322 uint64_t nus_bs:1; 323 uint64_t dob_bs:1; 324 uint64_t pdf_bs:1; 325 uint64_t dpi_bs:1; 326 } s; 327 struct cvmx_npi_bist_status_cn30xx { 328 uint64_t reserved_20_63:44; 329 uint64_t csr_bs:1; 330 uint64_t dif_bs:1; 331 uint64_t rdp_bs:1; 332 uint64_t pcnc_bs:1; 333 uint64_t pcn_bs:1; 334 uint64_t rdn_bs:1; 335 uint64_t pcac_bs:1; 336 uint64_t pcad_bs:1; 337 uint64_t rdnl_bs:1; 338 uint64_t pgf_bs:1; 339 uint64_t pig_bs:1; 340 uint64_t pof0_bs:1; 341 uint64_t reserved_5_7:3; 342 uint64_t pos_bs:1; 343 uint64_t nus_bs:1; 344 uint64_t dob_bs:1; 345 uint64_t pdf_bs:1; 346 uint64_t dpi_bs:1; 347 } cn30xx; 348 struct cvmx_npi_bist_status_s cn31xx; 349 struct cvmx_npi_bist_status_s cn38xx; 350 struct cvmx_npi_bist_status_s cn38xxp2; 351 struct cvmx_npi_bist_status_cn50xx { 352 uint64_t reserved_20_63:44; 353 uint64_t csr_bs:1; 354 uint64_t dif_bs:1; 355 uint64_t rdp_bs:1; 356 uint64_t pcnc_bs:1; 357 uint64_t pcn_bs:1; 358 uint64_t rdn_bs:1; 359 uint64_t pcac_bs:1; 360 uint64_t pcad_bs:1; 361 uint64_t rdnl_bs:1; 362 uint64_t pgf_bs:1; 363 uint64_t pig_bs:1; 364 uint64_t pof0_bs:1; 365 uint64_t pof1_bs:1; 366 uint64_t reserved_5_6:2; 367 uint64_t pos_bs:1; 368 uint64_t nus_bs:1; 369 uint64_t dob_bs:1; 370 uint64_t pdf_bs:1; 371 uint64_t dpi_bs:1; 372 } cn50xx; 373 struct cvmx_npi_bist_status_s cn58xx; 374 struct cvmx_npi_bist_status_s cn58xxp1; 375 }; 376 377 union cvmx_npi_buff_size_outputx { 378 uint64_t u64; 379 struct cvmx_npi_buff_size_outputx_s { 380 uint64_t reserved_23_63:41; 381 uint64_t isize:7; 382 uint64_t bsize:16; 383 } s; 384 struct cvmx_npi_buff_size_outputx_s cn30xx; 385 struct cvmx_npi_buff_size_outputx_s cn31xx; 386 struct cvmx_npi_buff_size_outputx_s cn38xx; 387 struct cvmx_npi_buff_size_outputx_s cn38xxp2; 388 struct cvmx_npi_buff_size_outputx_s cn50xx; 389 struct cvmx_npi_buff_size_outputx_s cn58xx; 390 struct cvmx_npi_buff_size_outputx_s cn58xxp1; 391 }; 392 393 union cvmx_npi_comp_ctl { 394 uint64_t u64; 395 struct cvmx_npi_comp_ctl_s { 396 uint64_t reserved_10_63:54; 397 uint64_t pctl:5; 398 uint64_t nctl:5; 399 } s; 400 struct cvmx_npi_comp_ctl_s cn50xx; 401 struct cvmx_npi_comp_ctl_s cn58xx; 402 struct cvmx_npi_comp_ctl_s cn58xxp1; 403 }; 404 405 union cvmx_npi_ctl_status { 406 uint64_t u64; 407 struct cvmx_npi_ctl_status_s { 408 uint64_t reserved_63_63:1; 409 uint64_t chip_rev:8; 410 uint64_t dis_pniw:1; 411 uint64_t out3_enb:1; 412 uint64_t out2_enb:1; 413 uint64_t out1_enb:1; 414 uint64_t out0_enb:1; 415 uint64_t ins3_enb:1; 416 uint64_t ins2_enb:1; 417 uint64_t ins1_enb:1; 418 uint64_t ins0_enb:1; 419 uint64_t ins3_64b:1; 420 uint64_t ins2_64b:1; 421 uint64_t ins1_64b:1; 422 uint64_t ins0_64b:1; 423 uint64_t pci_wdis:1; 424 uint64_t wait_com:1; 425 uint64_t reserved_37_39:3; 426 uint64_t max_word:5; 427 uint64_t reserved_10_31:22; 428 uint64_t timer:10; 429 } s; 430 struct cvmx_npi_ctl_status_cn30xx { 431 uint64_t reserved_63_63:1; 432 uint64_t chip_rev:8; 433 uint64_t dis_pniw:1; 434 uint64_t reserved_51_53:3; 435 uint64_t out0_enb:1; 436 uint64_t reserved_47_49:3; 437 uint64_t ins0_enb:1; 438 uint64_t reserved_43_45:3; 439 uint64_t ins0_64b:1; 440 uint64_t pci_wdis:1; 441 uint64_t wait_com:1; 442 uint64_t reserved_37_39:3; 443 uint64_t max_word:5; 444 uint64_t reserved_10_31:22; 445 uint64_t timer:10; 446 } cn30xx; 447 struct cvmx_npi_ctl_status_cn31xx { 448 uint64_t reserved_63_63:1; 449 uint64_t chip_rev:8; 450 uint64_t dis_pniw:1; 451 uint64_t reserved_52_53:2; 452 uint64_t out1_enb:1; 453 uint64_t out0_enb:1; 454 uint64_t reserved_48_49:2; 455 uint64_t ins1_enb:1; 456 uint64_t ins0_enb:1; 457 uint64_t reserved_44_45:2; 458 uint64_t ins1_64b:1; 459 uint64_t ins0_64b:1; 460 uint64_t pci_wdis:1; 461 uint64_t wait_com:1; 462 uint64_t reserved_37_39:3; 463 uint64_t max_word:5; 464 uint64_t reserved_10_31:22; 465 uint64_t timer:10; 466 } cn31xx; 467 struct cvmx_npi_ctl_status_s cn38xx; 468 struct cvmx_npi_ctl_status_s cn38xxp2; 469 struct cvmx_npi_ctl_status_cn31xx cn50xx; 470 struct cvmx_npi_ctl_status_s cn58xx; 471 struct cvmx_npi_ctl_status_s cn58xxp1; 472 }; 473 474 union cvmx_npi_dbg_select { 475 uint64_t u64; 476 struct cvmx_npi_dbg_select_s { 477 uint64_t reserved_16_63:48; 478 uint64_t dbg_sel:16; 479 } s; 480 struct cvmx_npi_dbg_select_s cn30xx; 481 struct cvmx_npi_dbg_select_s cn31xx; 482 struct cvmx_npi_dbg_select_s cn38xx; 483 struct cvmx_npi_dbg_select_s cn38xxp2; 484 struct cvmx_npi_dbg_select_s cn50xx; 485 struct cvmx_npi_dbg_select_s cn58xx; 486 struct cvmx_npi_dbg_select_s cn58xxp1; 487 }; 488 489 union cvmx_npi_dma_control { 490 uint64_t u64; 491 struct cvmx_npi_dma_control_s { 492 uint64_t reserved_36_63:28; 493 uint64_t b0_lend:1; 494 uint64_t dwb_denb:1; 495 uint64_t dwb_ichk:9; 496 uint64_t fpa_que:3; 497 uint64_t o_add1:1; 498 uint64_t o_ro:1; 499 uint64_t o_ns:1; 500 uint64_t o_es:2; 501 uint64_t o_mode:1; 502 uint64_t hp_enb:1; 503 uint64_t lp_enb:1; 504 uint64_t csize:14; 505 } s; 506 struct cvmx_npi_dma_control_s cn30xx; 507 struct cvmx_npi_dma_control_s cn31xx; 508 struct cvmx_npi_dma_control_s cn38xx; 509 struct cvmx_npi_dma_control_s cn38xxp2; 510 struct cvmx_npi_dma_control_s cn50xx; 511 struct cvmx_npi_dma_control_s cn58xx; 512 struct cvmx_npi_dma_control_s cn58xxp1; 513 }; 514 515 union cvmx_npi_dma_highp_counts { 516 uint64_t u64; 517 struct cvmx_npi_dma_highp_counts_s { 518 uint64_t reserved_39_63:25; 519 uint64_t fcnt:7; 520 uint64_t dbell:32; 521 } s; 522 struct cvmx_npi_dma_highp_counts_s cn30xx; 523 struct cvmx_npi_dma_highp_counts_s cn31xx; 524 struct cvmx_npi_dma_highp_counts_s cn38xx; 525 struct cvmx_npi_dma_highp_counts_s cn38xxp2; 526 struct cvmx_npi_dma_highp_counts_s cn50xx; 527 struct cvmx_npi_dma_highp_counts_s cn58xx; 528 struct cvmx_npi_dma_highp_counts_s cn58xxp1; 529 }; 530 531 union cvmx_npi_dma_highp_naddr { 532 uint64_t u64; 533 struct cvmx_npi_dma_highp_naddr_s { 534 uint64_t reserved_40_63:24; 535 uint64_t state:4; 536 uint64_t addr:36; 537 } s; 538 struct cvmx_npi_dma_highp_naddr_s cn30xx; 539 struct cvmx_npi_dma_highp_naddr_s cn31xx; 540 struct cvmx_npi_dma_highp_naddr_s cn38xx; 541 struct cvmx_npi_dma_highp_naddr_s cn38xxp2; 542 struct cvmx_npi_dma_highp_naddr_s cn50xx; 543 struct cvmx_npi_dma_highp_naddr_s cn58xx; 544 struct cvmx_npi_dma_highp_naddr_s cn58xxp1; 545 }; 546 547 union cvmx_npi_dma_lowp_counts { 548 uint64_t u64; 549 struct cvmx_npi_dma_lowp_counts_s { 550 uint64_t reserved_39_63:25; 551 uint64_t fcnt:7; 552 uint64_t dbell:32; 553 } s; 554 struct cvmx_npi_dma_lowp_counts_s cn30xx; 555 struct cvmx_npi_dma_lowp_counts_s cn31xx; 556 struct cvmx_npi_dma_lowp_counts_s cn38xx; 557 struct cvmx_npi_dma_lowp_counts_s cn38xxp2; 558 struct cvmx_npi_dma_lowp_counts_s cn50xx; 559 struct cvmx_npi_dma_lowp_counts_s cn58xx; 560 struct cvmx_npi_dma_lowp_counts_s cn58xxp1; 561 }; 562 563 union cvmx_npi_dma_lowp_naddr { 564 uint64_t u64; 565 struct cvmx_npi_dma_lowp_naddr_s { 566 uint64_t reserved_40_63:24; 567 uint64_t state:4; 568 uint64_t addr:36; 569 } s; 570 struct cvmx_npi_dma_lowp_naddr_s cn30xx; 571 struct cvmx_npi_dma_lowp_naddr_s cn31xx; 572 struct cvmx_npi_dma_lowp_naddr_s cn38xx; 573 struct cvmx_npi_dma_lowp_naddr_s cn38xxp2; 574 struct cvmx_npi_dma_lowp_naddr_s cn50xx; 575 struct cvmx_npi_dma_lowp_naddr_s cn58xx; 576 struct cvmx_npi_dma_lowp_naddr_s cn58xxp1; 577 }; 578 579 union cvmx_npi_highp_dbell { 580 uint64_t u64; 581 struct cvmx_npi_highp_dbell_s { 582 uint64_t reserved_16_63:48; 583 uint64_t dbell:16; 584 } s; 585 struct cvmx_npi_highp_dbell_s cn30xx; 586 struct cvmx_npi_highp_dbell_s cn31xx; 587 struct cvmx_npi_highp_dbell_s cn38xx; 588 struct cvmx_npi_highp_dbell_s cn38xxp2; 589 struct cvmx_npi_highp_dbell_s cn50xx; 590 struct cvmx_npi_highp_dbell_s cn58xx; 591 struct cvmx_npi_highp_dbell_s cn58xxp1; 592 }; 593 594 union cvmx_npi_highp_ibuff_saddr { 595 uint64_t u64; 596 struct cvmx_npi_highp_ibuff_saddr_s { 597 uint64_t reserved_36_63:28; 598 uint64_t saddr:36; 599 } s; 600 struct cvmx_npi_highp_ibuff_saddr_s cn30xx; 601 struct cvmx_npi_highp_ibuff_saddr_s cn31xx; 602 struct cvmx_npi_highp_ibuff_saddr_s cn38xx; 603 struct cvmx_npi_highp_ibuff_saddr_s cn38xxp2; 604 struct cvmx_npi_highp_ibuff_saddr_s cn50xx; 605 struct cvmx_npi_highp_ibuff_saddr_s cn58xx; 606 struct cvmx_npi_highp_ibuff_saddr_s cn58xxp1; 607 }; 608 609 union cvmx_npi_input_control { 610 uint64_t u64; 611 struct cvmx_npi_input_control_s { 612 uint64_t reserved_23_63:41; 613 uint64_t pkt_rr:1; 614 uint64_t pbp_dhi:13; 615 uint64_t d_nsr:1; 616 uint64_t d_esr:2; 617 uint64_t d_ror:1; 618 uint64_t use_csr:1; 619 uint64_t nsr:1; 620 uint64_t esr:2; 621 uint64_t ror:1; 622 } s; 623 struct cvmx_npi_input_control_cn30xx { 624 uint64_t reserved_22_63:42; 625 uint64_t pbp_dhi:13; 626 uint64_t d_nsr:1; 627 uint64_t d_esr:2; 628 uint64_t d_ror:1; 629 uint64_t use_csr:1; 630 uint64_t nsr:1; 631 uint64_t esr:2; 632 uint64_t ror:1; 633 } cn30xx; 634 struct cvmx_npi_input_control_cn30xx cn31xx; 635 struct cvmx_npi_input_control_s cn38xx; 636 struct cvmx_npi_input_control_cn30xx cn38xxp2; 637 struct cvmx_npi_input_control_s cn50xx; 638 struct cvmx_npi_input_control_s cn58xx; 639 struct cvmx_npi_input_control_s cn58xxp1; 640 }; 641 642 union cvmx_npi_int_enb { 643 uint64_t u64; 644 struct cvmx_npi_int_enb_s { 645 uint64_t reserved_62_63:2; 646 uint64_t q1_a_f:1; 647 uint64_t q1_s_e:1; 648 uint64_t pdf_p_f:1; 649 uint64_t pdf_p_e:1; 650 uint64_t pcf_p_f:1; 651 uint64_t pcf_p_e:1; 652 uint64_t rdx_s_e:1; 653 uint64_t rwx_s_e:1; 654 uint64_t pnc_a_f:1; 655 uint64_t pnc_s_e:1; 656 uint64_t com_a_f:1; 657 uint64_t com_s_e:1; 658 uint64_t q3_a_f:1; 659 uint64_t q3_s_e:1; 660 uint64_t q2_a_f:1; 661 uint64_t q2_s_e:1; 662 uint64_t pcr_a_f:1; 663 uint64_t pcr_s_e:1; 664 uint64_t fcr_a_f:1; 665 uint64_t fcr_s_e:1; 666 uint64_t iobdma:1; 667 uint64_t p_dperr:1; 668 uint64_t win_rto:1; 669 uint64_t i3_pperr:1; 670 uint64_t i2_pperr:1; 671 uint64_t i1_pperr:1; 672 uint64_t i0_pperr:1; 673 uint64_t p3_ptout:1; 674 uint64_t p2_ptout:1; 675 uint64_t p1_ptout:1; 676 uint64_t p0_ptout:1; 677 uint64_t p3_pperr:1; 678 uint64_t p2_pperr:1; 679 uint64_t p1_pperr:1; 680 uint64_t p0_pperr:1; 681 uint64_t g3_rtout:1; 682 uint64_t g2_rtout:1; 683 uint64_t g1_rtout:1; 684 uint64_t g0_rtout:1; 685 uint64_t p3_perr:1; 686 uint64_t p2_perr:1; 687 uint64_t p1_perr:1; 688 uint64_t p0_perr:1; 689 uint64_t p3_rtout:1; 690 uint64_t p2_rtout:1; 691 uint64_t p1_rtout:1; 692 uint64_t p0_rtout:1; 693 uint64_t i3_overf:1; 694 uint64_t i2_overf:1; 695 uint64_t i1_overf:1; 696 uint64_t i0_overf:1; 697 uint64_t i3_rtout:1; 698 uint64_t i2_rtout:1; 699 uint64_t i1_rtout:1; 700 uint64_t i0_rtout:1; 701 uint64_t po3_2sml:1; 702 uint64_t po2_2sml:1; 703 uint64_t po1_2sml:1; 704 uint64_t po0_2sml:1; 705 uint64_t pci_rsl:1; 706 uint64_t rml_wto:1; 707 uint64_t rml_rto:1; 708 } s; 709 struct cvmx_npi_int_enb_cn30xx { 710 uint64_t reserved_62_63:2; 711 uint64_t q1_a_f:1; 712 uint64_t q1_s_e:1; 713 uint64_t pdf_p_f:1; 714 uint64_t pdf_p_e:1; 715 uint64_t pcf_p_f:1; 716 uint64_t pcf_p_e:1; 717 uint64_t rdx_s_e:1; 718 uint64_t rwx_s_e:1; 719 uint64_t pnc_a_f:1; 720 uint64_t pnc_s_e:1; 721 uint64_t com_a_f:1; 722 uint64_t com_s_e:1; 723 uint64_t q3_a_f:1; 724 uint64_t q3_s_e:1; 725 uint64_t q2_a_f:1; 726 uint64_t q2_s_e:1; 727 uint64_t pcr_a_f:1; 728 uint64_t pcr_s_e:1; 729 uint64_t fcr_a_f:1; 730 uint64_t fcr_s_e:1; 731 uint64_t iobdma:1; 732 uint64_t p_dperr:1; 733 uint64_t win_rto:1; 734 uint64_t reserved_36_38:3; 735 uint64_t i0_pperr:1; 736 uint64_t reserved_32_34:3; 737 uint64_t p0_ptout:1; 738 uint64_t reserved_28_30:3; 739 uint64_t p0_pperr:1; 740 uint64_t reserved_24_26:3; 741 uint64_t g0_rtout:1; 742 uint64_t reserved_20_22:3; 743 uint64_t p0_perr:1; 744 uint64_t reserved_16_18:3; 745 uint64_t p0_rtout:1; 746 uint64_t reserved_12_14:3; 747 uint64_t i0_overf:1; 748 uint64_t reserved_8_10:3; 749 uint64_t i0_rtout:1; 750 uint64_t reserved_4_6:3; 751 uint64_t po0_2sml:1; 752 uint64_t pci_rsl:1; 753 uint64_t rml_wto:1; 754 uint64_t rml_rto:1; 755 } cn30xx; 756 struct cvmx_npi_int_enb_cn31xx { 757 uint64_t reserved_62_63:2; 758 uint64_t q1_a_f:1; 759 uint64_t q1_s_e:1; 760 uint64_t pdf_p_f:1; 761 uint64_t pdf_p_e:1; 762 uint64_t pcf_p_f:1; 763 uint64_t pcf_p_e:1; 764 uint64_t rdx_s_e:1; 765 uint64_t rwx_s_e:1; 766 uint64_t pnc_a_f:1; 767 uint64_t pnc_s_e:1; 768 uint64_t com_a_f:1; 769 uint64_t com_s_e:1; 770 uint64_t q3_a_f:1; 771 uint64_t q3_s_e:1; 772 uint64_t q2_a_f:1; 773 uint64_t q2_s_e:1; 774 uint64_t pcr_a_f:1; 775 uint64_t pcr_s_e:1; 776 uint64_t fcr_a_f:1; 777 uint64_t fcr_s_e:1; 778 uint64_t iobdma:1; 779 uint64_t p_dperr:1; 780 uint64_t win_rto:1; 781 uint64_t reserved_37_38:2; 782 uint64_t i1_pperr:1; 783 uint64_t i0_pperr:1; 784 uint64_t reserved_33_34:2; 785 uint64_t p1_ptout:1; 786 uint64_t p0_ptout:1; 787 uint64_t reserved_29_30:2; 788 uint64_t p1_pperr:1; 789 uint64_t p0_pperr:1; 790 uint64_t reserved_25_26:2; 791 uint64_t g1_rtout:1; 792 uint64_t g0_rtout:1; 793 uint64_t reserved_21_22:2; 794 uint64_t p1_perr:1; 795 uint64_t p0_perr:1; 796 uint64_t reserved_17_18:2; 797 uint64_t p1_rtout:1; 798 uint64_t p0_rtout:1; 799 uint64_t reserved_13_14:2; 800 uint64_t i1_overf:1; 801 uint64_t i0_overf:1; 802 uint64_t reserved_9_10:2; 803 uint64_t i1_rtout:1; 804 uint64_t i0_rtout:1; 805 uint64_t reserved_5_6:2; 806 uint64_t po1_2sml:1; 807 uint64_t po0_2sml:1; 808 uint64_t pci_rsl:1; 809 uint64_t rml_wto:1; 810 uint64_t rml_rto:1; 811 } cn31xx; 812 struct cvmx_npi_int_enb_s cn38xx; 813 struct cvmx_npi_int_enb_cn38xxp2 { 814 uint64_t reserved_42_63:22; 815 uint64_t iobdma:1; 816 uint64_t p_dperr:1; 817 uint64_t win_rto:1; 818 uint64_t i3_pperr:1; 819 uint64_t i2_pperr:1; 820 uint64_t i1_pperr:1; 821 uint64_t i0_pperr:1; 822 uint64_t p3_ptout:1; 823 uint64_t p2_ptout:1; 824 uint64_t p1_ptout:1; 825 uint64_t p0_ptout:1; 826 uint64_t p3_pperr:1; 827 uint64_t p2_pperr:1; 828 uint64_t p1_pperr:1; 829 uint64_t p0_pperr:1; 830 uint64_t g3_rtout:1; 831 uint64_t g2_rtout:1; 832 uint64_t g1_rtout:1; 833 uint64_t g0_rtout:1; 834 uint64_t p3_perr:1; 835 uint64_t p2_perr:1; 836 uint64_t p1_perr:1; 837 uint64_t p0_perr:1; 838 uint64_t p3_rtout:1; 839 uint64_t p2_rtout:1; 840 uint64_t p1_rtout:1; 841 uint64_t p0_rtout:1; 842 uint64_t i3_overf:1; 843 uint64_t i2_overf:1; 844 uint64_t i1_overf:1; 845 uint64_t i0_overf:1; 846 uint64_t i3_rtout:1; 847 uint64_t i2_rtout:1; 848 uint64_t i1_rtout:1; 849 uint64_t i0_rtout:1; 850 uint64_t po3_2sml:1; 851 uint64_t po2_2sml:1; 852 uint64_t po1_2sml:1; 853 uint64_t po0_2sml:1; 854 uint64_t pci_rsl:1; 855 uint64_t rml_wto:1; 856 uint64_t rml_rto:1; 857 } cn38xxp2; 858 struct cvmx_npi_int_enb_cn31xx cn50xx; 859 struct cvmx_npi_int_enb_s cn58xx; 860 struct cvmx_npi_int_enb_s cn58xxp1; 861 }; 862 863 union cvmx_npi_int_sum { 864 uint64_t u64; 865 struct cvmx_npi_int_sum_s { 866 uint64_t reserved_62_63:2; 867 uint64_t q1_a_f:1; 868 uint64_t q1_s_e:1; 869 uint64_t pdf_p_f:1; 870 uint64_t pdf_p_e:1; 871 uint64_t pcf_p_f:1; 872 uint64_t pcf_p_e:1; 873 uint64_t rdx_s_e:1; 874 uint64_t rwx_s_e:1; 875 uint64_t pnc_a_f:1; 876 uint64_t pnc_s_e:1; 877 uint64_t com_a_f:1; 878 uint64_t com_s_e:1; 879 uint64_t q3_a_f:1; 880 uint64_t q3_s_e:1; 881 uint64_t q2_a_f:1; 882 uint64_t q2_s_e:1; 883 uint64_t pcr_a_f:1; 884 uint64_t pcr_s_e:1; 885 uint64_t fcr_a_f:1; 886 uint64_t fcr_s_e:1; 887 uint64_t iobdma:1; 888 uint64_t p_dperr:1; 889 uint64_t win_rto:1; 890 uint64_t i3_pperr:1; 891 uint64_t i2_pperr:1; 892 uint64_t i1_pperr:1; 893 uint64_t i0_pperr:1; 894 uint64_t p3_ptout:1; 895 uint64_t p2_ptout:1; 896 uint64_t p1_ptout:1; 897 uint64_t p0_ptout:1; 898 uint64_t p3_pperr:1; 899 uint64_t p2_pperr:1; 900 uint64_t p1_pperr:1; 901 uint64_t p0_pperr:1; 902 uint64_t g3_rtout:1; 903 uint64_t g2_rtout:1; 904 uint64_t g1_rtout:1; 905 uint64_t g0_rtout:1; 906 uint64_t p3_perr:1; 907 uint64_t p2_perr:1; 908 uint64_t p1_perr:1; 909 uint64_t p0_perr:1; 910 uint64_t p3_rtout:1; 911 uint64_t p2_rtout:1; 912 uint64_t p1_rtout:1; 913 uint64_t p0_rtout:1; 914 uint64_t i3_overf:1; 915 uint64_t i2_overf:1; 916 uint64_t i1_overf:1; 917 uint64_t i0_overf:1; 918 uint64_t i3_rtout:1; 919 uint64_t i2_rtout:1; 920 uint64_t i1_rtout:1; 921 uint64_t i0_rtout:1; 922 uint64_t po3_2sml:1; 923 uint64_t po2_2sml:1; 924 uint64_t po1_2sml:1; 925 uint64_t po0_2sml:1; 926 uint64_t pci_rsl:1; 927 uint64_t rml_wto:1; 928 uint64_t rml_rto:1; 929 } s; 930 struct cvmx_npi_int_sum_cn30xx { 931 uint64_t reserved_62_63:2; 932 uint64_t q1_a_f:1; 933 uint64_t q1_s_e:1; 934 uint64_t pdf_p_f:1; 935 uint64_t pdf_p_e:1; 936 uint64_t pcf_p_f:1; 937 uint64_t pcf_p_e:1; 938 uint64_t rdx_s_e:1; 939 uint64_t rwx_s_e:1; 940 uint64_t pnc_a_f:1; 941 uint64_t pnc_s_e:1; 942 uint64_t com_a_f:1; 943 uint64_t com_s_e:1; 944 uint64_t q3_a_f:1; 945 uint64_t q3_s_e:1; 946 uint64_t q2_a_f:1; 947 uint64_t q2_s_e:1; 948 uint64_t pcr_a_f:1; 949 uint64_t pcr_s_e:1; 950 uint64_t fcr_a_f:1; 951 uint64_t fcr_s_e:1; 952 uint64_t iobdma:1; 953 uint64_t p_dperr:1; 954 uint64_t win_rto:1; 955 uint64_t reserved_36_38:3; 956 uint64_t i0_pperr:1; 957 uint64_t reserved_32_34:3; 958 uint64_t p0_ptout:1; 959 uint64_t reserved_28_30:3; 960 uint64_t p0_pperr:1; 961 uint64_t reserved_24_26:3; 962 uint64_t g0_rtout:1; 963 uint64_t reserved_20_22:3; 964 uint64_t p0_perr:1; 965 uint64_t reserved_16_18:3; 966 uint64_t p0_rtout:1; 967 uint64_t reserved_12_14:3; 968 uint64_t i0_overf:1; 969 uint64_t reserved_8_10:3; 970 uint64_t i0_rtout:1; 971 uint64_t reserved_4_6:3; 972 uint64_t po0_2sml:1; 973 uint64_t pci_rsl:1; 974 uint64_t rml_wto:1; 975 uint64_t rml_rto:1; 976 } cn30xx; 977 struct cvmx_npi_int_sum_cn31xx { 978 uint64_t reserved_62_63:2; 979 uint64_t q1_a_f:1; 980 uint64_t q1_s_e:1; 981 uint64_t pdf_p_f:1; 982 uint64_t pdf_p_e:1; 983 uint64_t pcf_p_f:1; 984 uint64_t pcf_p_e:1; 985 uint64_t rdx_s_e:1; 986 uint64_t rwx_s_e:1; 987 uint64_t pnc_a_f:1; 988 uint64_t pnc_s_e:1; 989 uint64_t com_a_f:1; 990 uint64_t com_s_e:1; 991 uint64_t q3_a_f:1; 992 uint64_t q3_s_e:1; 993 uint64_t q2_a_f:1; 994 uint64_t q2_s_e:1; 995 uint64_t pcr_a_f:1; 996 uint64_t pcr_s_e:1; 997 uint64_t fcr_a_f:1; 998 uint64_t fcr_s_e:1; 999 uint64_t iobdma:1; 1000 uint64_t p_dperr:1; 1001 uint64_t win_rto:1; 1002 uint64_t reserved_37_38:2; 1003 uint64_t i1_pperr:1; 1004 uint64_t i0_pperr:1; 1005 uint64_t reserved_33_34:2; 1006 uint64_t p1_ptout:1; 1007 uint64_t p0_ptout:1; 1008 uint64_t reserved_29_30:2; 1009 uint64_t p1_pperr:1; 1010 uint64_t p0_pperr:1; 1011 uint64_t reserved_25_26:2; 1012 uint64_t g1_rtout:1; 1013 uint64_t g0_rtout:1; 1014 uint64_t reserved_21_22:2; 1015 uint64_t p1_perr:1; 1016 uint64_t p0_perr:1; 1017 uint64_t reserved_17_18:2; 1018 uint64_t p1_rtout:1; 1019 uint64_t p0_rtout:1; 1020 uint64_t reserved_13_14:2; 1021 uint64_t i1_overf:1; 1022 uint64_t i0_overf:1; 1023 uint64_t reserved_9_10:2; 1024 uint64_t i1_rtout:1; 1025 uint64_t i0_rtout:1; 1026 uint64_t reserved_5_6:2; 1027 uint64_t po1_2sml:1; 1028 uint64_t po0_2sml:1; 1029 uint64_t pci_rsl:1; 1030 uint64_t rml_wto:1; 1031 uint64_t rml_rto:1; 1032 } cn31xx; 1033 struct cvmx_npi_int_sum_s cn38xx; 1034 struct cvmx_npi_int_sum_cn38xxp2 { 1035 uint64_t reserved_42_63:22; 1036 uint64_t iobdma:1; 1037 uint64_t p_dperr:1; 1038 uint64_t win_rto:1; 1039 uint64_t i3_pperr:1; 1040 uint64_t i2_pperr:1; 1041 uint64_t i1_pperr:1; 1042 uint64_t i0_pperr:1; 1043 uint64_t p3_ptout:1; 1044 uint64_t p2_ptout:1; 1045 uint64_t p1_ptout:1; 1046 uint64_t p0_ptout:1; 1047 uint64_t p3_pperr:1; 1048 uint64_t p2_pperr:1; 1049 uint64_t p1_pperr:1; 1050 uint64_t p0_pperr:1; 1051 uint64_t g3_rtout:1; 1052 uint64_t g2_rtout:1; 1053 uint64_t g1_rtout:1; 1054 uint64_t g0_rtout:1; 1055 uint64_t p3_perr:1; 1056 uint64_t p2_perr:1; 1057 uint64_t p1_perr:1; 1058 uint64_t p0_perr:1; 1059 uint64_t p3_rtout:1; 1060 uint64_t p2_rtout:1; 1061 uint64_t p1_rtout:1; 1062 uint64_t p0_rtout:1; 1063 uint64_t i3_overf:1; 1064 uint64_t i2_overf:1; 1065 uint64_t i1_overf:1; 1066 uint64_t i0_overf:1; 1067 uint64_t i3_rtout:1; 1068 uint64_t i2_rtout:1; 1069 uint64_t i1_rtout:1; 1070 uint64_t i0_rtout:1; 1071 uint64_t po3_2sml:1; 1072 uint64_t po2_2sml:1; 1073 uint64_t po1_2sml:1; 1074 uint64_t po0_2sml:1; 1075 uint64_t pci_rsl:1; 1076 uint64_t rml_wto:1; 1077 uint64_t rml_rto:1; 1078 } cn38xxp2; 1079 struct cvmx_npi_int_sum_cn31xx cn50xx; 1080 struct cvmx_npi_int_sum_s cn58xx; 1081 struct cvmx_npi_int_sum_s cn58xxp1; 1082 }; 1083 1084 union cvmx_npi_lowp_dbell { 1085 uint64_t u64; 1086 struct cvmx_npi_lowp_dbell_s { 1087 uint64_t reserved_16_63:48; 1088 uint64_t dbell:16; 1089 } s; 1090 struct cvmx_npi_lowp_dbell_s cn30xx; 1091 struct cvmx_npi_lowp_dbell_s cn31xx; 1092 struct cvmx_npi_lowp_dbell_s cn38xx; 1093 struct cvmx_npi_lowp_dbell_s cn38xxp2; 1094 struct cvmx_npi_lowp_dbell_s cn50xx; 1095 struct cvmx_npi_lowp_dbell_s cn58xx; 1096 struct cvmx_npi_lowp_dbell_s cn58xxp1; 1097 }; 1098 1099 union cvmx_npi_lowp_ibuff_saddr { 1100 uint64_t u64; 1101 struct cvmx_npi_lowp_ibuff_saddr_s { 1102 uint64_t reserved_36_63:28; 1103 uint64_t saddr:36; 1104 } s; 1105 struct cvmx_npi_lowp_ibuff_saddr_s cn30xx; 1106 struct cvmx_npi_lowp_ibuff_saddr_s cn31xx; 1107 struct cvmx_npi_lowp_ibuff_saddr_s cn38xx; 1108 struct cvmx_npi_lowp_ibuff_saddr_s cn38xxp2; 1109 struct cvmx_npi_lowp_ibuff_saddr_s cn50xx; 1110 struct cvmx_npi_lowp_ibuff_saddr_s cn58xx; 1111 struct cvmx_npi_lowp_ibuff_saddr_s cn58xxp1; 1112 }; 1113 1114 union cvmx_npi_mem_access_subidx { 1115 uint64_t u64; 1116 struct cvmx_npi_mem_access_subidx_s { 1117 uint64_t reserved_38_63:26; 1118 uint64_t shortl:1; 1119 uint64_t nmerge:1; 1120 uint64_t esr:2; 1121 uint64_t esw:2; 1122 uint64_t nsr:1; 1123 uint64_t nsw:1; 1124 uint64_t ror:1; 1125 uint64_t row:1; 1126 uint64_t ba:28; 1127 } s; 1128 struct cvmx_npi_mem_access_subidx_s cn30xx; 1129 struct cvmx_npi_mem_access_subidx_cn31xx { 1130 uint64_t reserved_36_63:28; 1131 uint64_t esr:2; 1132 uint64_t esw:2; 1133 uint64_t nsr:1; 1134 uint64_t nsw:1; 1135 uint64_t ror:1; 1136 uint64_t row:1; 1137 uint64_t ba:28; 1138 } cn31xx; 1139 struct cvmx_npi_mem_access_subidx_s cn38xx; 1140 struct cvmx_npi_mem_access_subidx_cn31xx cn38xxp2; 1141 struct cvmx_npi_mem_access_subidx_s cn50xx; 1142 struct cvmx_npi_mem_access_subidx_s cn58xx; 1143 struct cvmx_npi_mem_access_subidx_s cn58xxp1; 1144 }; 1145 1146 union cvmx_npi_msi_rcv { 1147 uint64_t u64; 1148 struct cvmx_npi_msi_rcv_s { 1149 uint64_t int_vec:64; 1150 } s; 1151 struct cvmx_npi_msi_rcv_s cn30xx; 1152 struct cvmx_npi_msi_rcv_s cn31xx; 1153 struct cvmx_npi_msi_rcv_s cn38xx; 1154 struct cvmx_npi_msi_rcv_s cn38xxp2; 1155 struct cvmx_npi_msi_rcv_s cn50xx; 1156 struct cvmx_npi_msi_rcv_s cn58xx; 1157 struct cvmx_npi_msi_rcv_s cn58xxp1; 1158 }; 1159 1160 union cvmx_npi_num_desc_outputx { 1161 uint64_t u64; 1162 struct cvmx_npi_num_desc_outputx_s { 1163 uint64_t reserved_32_63:32; 1164 uint64_t size:32; 1165 } s; 1166 struct cvmx_npi_num_desc_outputx_s cn30xx; 1167 struct cvmx_npi_num_desc_outputx_s cn31xx; 1168 struct cvmx_npi_num_desc_outputx_s cn38xx; 1169 struct cvmx_npi_num_desc_outputx_s cn38xxp2; 1170 struct cvmx_npi_num_desc_outputx_s cn50xx; 1171 struct cvmx_npi_num_desc_outputx_s cn58xx; 1172 struct cvmx_npi_num_desc_outputx_s cn58xxp1; 1173 }; 1174 1175 union cvmx_npi_output_control { 1176 uint64_t u64; 1177 struct cvmx_npi_output_control_s { 1178 uint64_t reserved_49_63:15; 1179 uint64_t pkt_rr:1; 1180 uint64_t p3_bmode:1; 1181 uint64_t p2_bmode:1; 1182 uint64_t p1_bmode:1; 1183 uint64_t p0_bmode:1; 1184 uint64_t o3_es:2; 1185 uint64_t o3_ns:1; 1186 uint64_t o3_ro:1; 1187 uint64_t o2_es:2; 1188 uint64_t o2_ns:1; 1189 uint64_t o2_ro:1; 1190 uint64_t o1_es:2; 1191 uint64_t o1_ns:1; 1192 uint64_t o1_ro:1; 1193 uint64_t o0_es:2; 1194 uint64_t o0_ns:1; 1195 uint64_t o0_ro:1; 1196 uint64_t o3_csrm:1; 1197 uint64_t o2_csrm:1; 1198 uint64_t o1_csrm:1; 1199 uint64_t o0_csrm:1; 1200 uint64_t reserved_20_23:4; 1201 uint64_t iptr_o3:1; 1202 uint64_t iptr_o2:1; 1203 uint64_t iptr_o1:1; 1204 uint64_t iptr_o0:1; 1205 uint64_t esr_sl3:2; 1206 uint64_t nsr_sl3:1; 1207 uint64_t ror_sl3:1; 1208 uint64_t esr_sl2:2; 1209 uint64_t nsr_sl2:1; 1210 uint64_t ror_sl2:1; 1211 uint64_t esr_sl1:2; 1212 uint64_t nsr_sl1:1; 1213 uint64_t ror_sl1:1; 1214 uint64_t esr_sl0:2; 1215 uint64_t nsr_sl0:1; 1216 uint64_t ror_sl0:1; 1217 } s; 1218 struct cvmx_npi_output_control_cn30xx { 1219 uint64_t reserved_45_63:19; 1220 uint64_t p0_bmode:1; 1221 uint64_t reserved_32_43:12; 1222 uint64_t o0_es:2; 1223 uint64_t o0_ns:1; 1224 uint64_t o0_ro:1; 1225 uint64_t reserved_25_27:3; 1226 uint64_t o0_csrm:1; 1227 uint64_t reserved_17_23:7; 1228 uint64_t iptr_o0:1; 1229 uint64_t reserved_4_15:12; 1230 uint64_t esr_sl0:2; 1231 uint64_t nsr_sl0:1; 1232 uint64_t ror_sl0:1; 1233 } cn30xx; 1234 struct cvmx_npi_output_control_cn31xx { 1235 uint64_t reserved_46_63:18; 1236 uint64_t p1_bmode:1; 1237 uint64_t p0_bmode:1; 1238 uint64_t reserved_36_43:8; 1239 uint64_t o1_es:2; 1240 uint64_t o1_ns:1; 1241 uint64_t o1_ro:1; 1242 uint64_t o0_es:2; 1243 uint64_t o0_ns:1; 1244 uint64_t o0_ro:1; 1245 uint64_t reserved_26_27:2; 1246 uint64_t o1_csrm:1; 1247 uint64_t o0_csrm:1; 1248 uint64_t reserved_18_23:6; 1249 uint64_t iptr_o1:1; 1250 uint64_t iptr_o0:1; 1251 uint64_t reserved_8_15:8; 1252 uint64_t esr_sl1:2; 1253 uint64_t nsr_sl1:1; 1254 uint64_t ror_sl1:1; 1255 uint64_t esr_sl0:2; 1256 uint64_t nsr_sl0:1; 1257 uint64_t ror_sl0:1; 1258 } cn31xx; 1259 struct cvmx_npi_output_control_s cn38xx; 1260 struct cvmx_npi_output_control_cn38xxp2 { 1261 uint64_t reserved_48_63:16; 1262 uint64_t p3_bmode:1; 1263 uint64_t p2_bmode:1; 1264 uint64_t p1_bmode:1; 1265 uint64_t p0_bmode:1; 1266 uint64_t o3_es:2; 1267 uint64_t o3_ns:1; 1268 uint64_t o3_ro:1; 1269 uint64_t o2_es:2; 1270 uint64_t o2_ns:1; 1271 uint64_t o2_ro:1; 1272 uint64_t o1_es:2; 1273 uint64_t o1_ns:1; 1274 uint64_t o1_ro:1; 1275 uint64_t o0_es:2; 1276 uint64_t o0_ns:1; 1277 uint64_t o0_ro:1; 1278 uint64_t o3_csrm:1; 1279 uint64_t o2_csrm:1; 1280 uint64_t o1_csrm:1; 1281 uint64_t o0_csrm:1; 1282 uint64_t reserved_20_23:4; 1283 uint64_t iptr_o3:1; 1284 uint64_t iptr_o2:1; 1285 uint64_t iptr_o1:1; 1286 uint64_t iptr_o0:1; 1287 uint64_t esr_sl3:2; 1288 uint64_t nsr_sl3:1; 1289 uint64_t ror_sl3:1; 1290 uint64_t esr_sl2:2; 1291 uint64_t nsr_sl2:1; 1292 uint64_t ror_sl2:1; 1293 uint64_t esr_sl1:2; 1294 uint64_t nsr_sl1:1; 1295 uint64_t ror_sl1:1; 1296 uint64_t esr_sl0:2; 1297 uint64_t nsr_sl0:1; 1298 uint64_t ror_sl0:1; 1299 } cn38xxp2; 1300 struct cvmx_npi_output_control_cn50xx { 1301 uint64_t reserved_49_63:15; 1302 uint64_t pkt_rr:1; 1303 uint64_t reserved_46_47:2; 1304 uint64_t p1_bmode:1; 1305 uint64_t p0_bmode:1; 1306 uint64_t reserved_36_43:8; 1307 uint64_t o1_es:2; 1308 uint64_t o1_ns:1; 1309 uint64_t o1_ro:1; 1310 uint64_t o0_es:2; 1311 uint64_t o0_ns:1; 1312 uint64_t o0_ro:1; 1313 uint64_t reserved_26_27:2; 1314 uint64_t o1_csrm:1; 1315 uint64_t o0_csrm:1; 1316 uint64_t reserved_18_23:6; 1317 uint64_t iptr_o1:1; 1318 uint64_t iptr_o0:1; 1319 uint64_t reserved_8_15:8; 1320 uint64_t esr_sl1:2; 1321 uint64_t nsr_sl1:1; 1322 uint64_t ror_sl1:1; 1323 uint64_t esr_sl0:2; 1324 uint64_t nsr_sl0:1; 1325 uint64_t ror_sl0:1; 1326 } cn50xx; 1327 struct cvmx_npi_output_control_s cn58xx; 1328 struct cvmx_npi_output_control_s cn58xxp1; 1329 }; 1330 1331 union cvmx_npi_px_dbpair_addr { 1332 uint64_t u64; 1333 struct cvmx_npi_px_dbpair_addr_s { 1334 uint64_t reserved_63_63:1; 1335 uint64_t state:2; 1336 uint64_t naddr:61; 1337 } s; 1338 struct cvmx_npi_px_dbpair_addr_s cn30xx; 1339 struct cvmx_npi_px_dbpair_addr_s cn31xx; 1340 struct cvmx_npi_px_dbpair_addr_s cn38xx; 1341 struct cvmx_npi_px_dbpair_addr_s cn38xxp2; 1342 struct cvmx_npi_px_dbpair_addr_s cn50xx; 1343 struct cvmx_npi_px_dbpair_addr_s cn58xx; 1344 struct cvmx_npi_px_dbpair_addr_s cn58xxp1; 1345 }; 1346 1347 union cvmx_npi_px_instr_addr { 1348 uint64_t u64; 1349 struct cvmx_npi_px_instr_addr_s { 1350 uint64_t state:3; 1351 uint64_t naddr:61; 1352 } s; 1353 struct cvmx_npi_px_instr_addr_s cn30xx; 1354 struct cvmx_npi_px_instr_addr_s cn31xx; 1355 struct cvmx_npi_px_instr_addr_s cn38xx; 1356 struct cvmx_npi_px_instr_addr_s cn38xxp2; 1357 struct cvmx_npi_px_instr_addr_s cn50xx; 1358 struct cvmx_npi_px_instr_addr_s cn58xx; 1359 struct cvmx_npi_px_instr_addr_s cn58xxp1; 1360 }; 1361 1362 union cvmx_npi_px_instr_cnts { 1363 uint64_t u64; 1364 struct cvmx_npi_px_instr_cnts_s { 1365 uint64_t reserved_38_63:26; 1366 uint64_t fcnt:6; 1367 uint64_t avail:32; 1368 } s; 1369 struct cvmx_npi_px_instr_cnts_s cn30xx; 1370 struct cvmx_npi_px_instr_cnts_s cn31xx; 1371 struct cvmx_npi_px_instr_cnts_s cn38xx; 1372 struct cvmx_npi_px_instr_cnts_s cn38xxp2; 1373 struct cvmx_npi_px_instr_cnts_s cn50xx; 1374 struct cvmx_npi_px_instr_cnts_s cn58xx; 1375 struct cvmx_npi_px_instr_cnts_s cn58xxp1; 1376 }; 1377 1378 union cvmx_npi_px_pair_cnts { 1379 uint64_t u64; 1380 struct cvmx_npi_px_pair_cnts_s { 1381 uint64_t reserved_37_63:27; 1382 uint64_t fcnt:5; 1383 uint64_t avail:32; 1384 } s; 1385 struct cvmx_npi_px_pair_cnts_s cn30xx; 1386 struct cvmx_npi_px_pair_cnts_s cn31xx; 1387 struct cvmx_npi_px_pair_cnts_s cn38xx; 1388 struct cvmx_npi_px_pair_cnts_s cn38xxp2; 1389 struct cvmx_npi_px_pair_cnts_s cn50xx; 1390 struct cvmx_npi_px_pair_cnts_s cn58xx; 1391 struct cvmx_npi_px_pair_cnts_s cn58xxp1; 1392 }; 1393 1394 union cvmx_npi_pci_burst_size { 1395 uint64_t u64; 1396 struct cvmx_npi_pci_burst_size_s { 1397 uint64_t reserved_14_63:50; 1398 uint64_t wr_brst:7; 1399 uint64_t rd_brst:7; 1400 } s; 1401 struct cvmx_npi_pci_burst_size_s cn30xx; 1402 struct cvmx_npi_pci_burst_size_s cn31xx; 1403 struct cvmx_npi_pci_burst_size_s cn38xx; 1404 struct cvmx_npi_pci_burst_size_s cn38xxp2; 1405 struct cvmx_npi_pci_burst_size_s cn50xx; 1406 struct cvmx_npi_pci_burst_size_s cn58xx; 1407 struct cvmx_npi_pci_burst_size_s cn58xxp1; 1408 }; 1409 1410 union cvmx_npi_pci_int_arb_cfg { 1411 uint64_t u64; 1412 struct cvmx_npi_pci_int_arb_cfg_s { 1413 uint64_t reserved_13_63:51; 1414 uint64_t hostmode:1; 1415 uint64_t pci_ovr:4; 1416 uint64_t reserved_5_7:3; 1417 uint64_t en:1; 1418 uint64_t park_mod:1; 1419 uint64_t park_dev:3; 1420 } s; 1421 struct cvmx_npi_pci_int_arb_cfg_cn30xx { 1422 uint64_t reserved_5_63:59; 1423 uint64_t en:1; 1424 uint64_t park_mod:1; 1425 uint64_t park_dev:3; 1426 } cn30xx; 1427 struct cvmx_npi_pci_int_arb_cfg_cn30xx cn31xx; 1428 struct cvmx_npi_pci_int_arb_cfg_cn30xx cn38xx; 1429 struct cvmx_npi_pci_int_arb_cfg_cn30xx cn38xxp2; 1430 struct cvmx_npi_pci_int_arb_cfg_s cn50xx; 1431 struct cvmx_npi_pci_int_arb_cfg_s cn58xx; 1432 struct cvmx_npi_pci_int_arb_cfg_s cn58xxp1; 1433 }; 1434 1435 union cvmx_npi_pci_read_cmd { 1436 uint64_t u64; 1437 struct cvmx_npi_pci_read_cmd_s { 1438 uint64_t reserved_11_63:53; 1439 uint64_t cmd_size:11; 1440 } s; 1441 struct cvmx_npi_pci_read_cmd_s cn30xx; 1442 struct cvmx_npi_pci_read_cmd_s cn31xx; 1443 struct cvmx_npi_pci_read_cmd_s cn38xx; 1444 struct cvmx_npi_pci_read_cmd_s cn38xxp2; 1445 struct cvmx_npi_pci_read_cmd_s cn50xx; 1446 struct cvmx_npi_pci_read_cmd_s cn58xx; 1447 struct cvmx_npi_pci_read_cmd_s cn58xxp1; 1448 }; 1449 1450 union cvmx_npi_port32_instr_hdr { 1451 uint64_t u64; 1452 struct cvmx_npi_port32_instr_hdr_s { 1453 uint64_t reserved_44_63:20; 1454 uint64_t pbp:1; 1455 uint64_t rsv_f:5; 1456 uint64_t rparmode:2; 1457 uint64_t rsv_e:1; 1458 uint64_t rskp_len:7; 1459 uint64_t rsv_d:6; 1460 uint64_t use_ihdr:1; 1461 uint64_t rsv_c:5; 1462 uint64_t par_mode:2; 1463 uint64_t rsv_b:1; 1464 uint64_t skp_len:7; 1465 uint64_t rsv_a:6; 1466 } s; 1467 struct cvmx_npi_port32_instr_hdr_s cn30xx; 1468 struct cvmx_npi_port32_instr_hdr_s cn31xx; 1469 struct cvmx_npi_port32_instr_hdr_s cn38xx; 1470 struct cvmx_npi_port32_instr_hdr_s cn38xxp2; 1471 struct cvmx_npi_port32_instr_hdr_s cn50xx; 1472 struct cvmx_npi_port32_instr_hdr_s cn58xx; 1473 struct cvmx_npi_port32_instr_hdr_s cn58xxp1; 1474 }; 1475 1476 union cvmx_npi_port33_instr_hdr { 1477 uint64_t u64; 1478 struct cvmx_npi_port33_instr_hdr_s { 1479 uint64_t reserved_44_63:20; 1480 uint64_t pbp:1; 1481 uint64_t rsv_f:5; 1482 uint64_t rparmode:2; 1483 uint64_t rsv_e:1; 1484 uint64_t rskp_len:7; 1485 uint64_t rsv_d:6; 1486 uint64_t use_ihdr:1; 1487 uint64_t rsv_c:5; 1488 uint64_t par_mode:2; 1489 uint64_t rsv_b:1; 1490 uint64_t skp_len:7; 1491 uint64_t rsv_a:6; 1492 } s; 1493 struct cvmx_npi_port33_instr_hdr_s cn31xx; 1494 struct cvmx_npi_port33_instr_hdr_s cn38xx; 1495 struct cvmx_npi_port33_instr_hdr_s cn38xxp2; 1496 struct cvmx_npi_port33_instr_hdr_s cn50xx; 1497 struct cvmx_npi_port33_instr_hdr_s cn58xx; 1498 struct cvmx_npi_port33_instr_hdr_s cn58xxp1; 1499 }; 1500 1501 union cvmx_npi_port34_instr_hdr { 1502 uint64_t u64; 1503 struct cvmx_npi_port34_instr_hdr_s { 1504 uint64_t reserved_44_63:20; 1505 uint64_t pbp:1; 1506 uint64_t rsv_f:5; 1507 uint64_t rparmode:2; 1508 uint64_t rsv_e:1; 1509 uint64_t rskp_len:7; 1510 uint64_t rsv_d:6; 1511 uint64_t use_ihdr:1; 1512 uint64_t rsv_c:5; 1513 uint64_t par_mode:2; 1514 uint64_t rsv_b:1; 1515 uint64_t skp_len:7; 1516 uint64_t rsv_a:6; 1517 } s; 1518 struct cvmx_npi_port34_instr_hdr_s cn38xx; 1519 struct cvmx_npi_port34_instr_hdr_s cn38xxp2; 1520 struct cvmx_npi_port34_instr_hdr_s cn58xx; 1521 struct cvmx_npi_port34_instr_hdr_s cn58xxp1; 1522 }; 1523 1524 union cvmx_npi_port35_instr_hdr { 1525 uint64_t u64; 1526 struct cvmx_npi_port35_instr_hdr_s { 1527 uint64_t reserved_44_63:20; 1528 uint64_t pbp:1; 1529 uint64_t rsv_f:5; 1530 uint64_t rparmode:2; 1531 uint64_t rsv_e:1; 1532 uint64_t rskp_len:7; 1533 uint64_t rsv_d:6; 1534 uint64_t use_ihdr:1; 1535 uint64_t rsv_c:5; 1536 uint64_t par_mode:2; 1537 uint64_t rsv_b:1; 1538 uint64_t skp_len:7; 1539 uint64_t rsv_a:6; 1540 } s; 1541 struct cvmx_npi_port35_instr_hdr_s cn38xx; 1542 struct cvmx_npi_port35_instr_hdr_s cn38xxp2; 1543 struct cvmx_npi_port35_instr_hdr_s cn58xx; 1544 struct cvmx_npi_port35_instr_hdr_s cn58xxp1; 1545 }; 1546 1547 union cvmx_npi_port_bp_control { 1548 uint64_t u64; 1549 struct cvmx_npi_port_bp_control_s { 1550 uint64_t reserved_8_63:56; 1551 uint64_t bp_on:4; 1552 uint64_t enb:4; 1553 } s; 1554 struct cvmx_npi_port_bp_control_s cn30xx; 1555 struct cvmx_npi_port_bp_control_s cn31xx; 1556 struct cvmx_npi_port_bp_control_s cn38xx; 1557 struct cvmx_npi_port_bp_control_s cn38xxp2; 1558 struct cvmx_npi_port_bp_control_s cn50xx; 1559 struct cvmx_npi_port_bp_control_s cn58xx; 1560 struct cvmx_npi_port_bp_control_s cn58xxp1; 1561 }; 1562 1563 union cvmx_npi_rsl_int_blocks { 1564 uint64_t u64; 1565 struct cvmx_npi_rsl_int_blocks_s { 1566 uint64_t reserved_32_63:32; 1567 uint64_t rint_31:1; 1568 uint64_t iob:1; 1569 uint64_t reserved_28_29:2; 1570 uint64_t rint_27:1; 1571 uint64_t rint_26:1; 1572 uint64_t rint_25:1; 1573 uint64_t rint_24:1; 1574 uint64_t asx1:1; 1575 uint64_t asx0:1; 1576 uint64_t rint_21:1; 1577 uint64_t pip:1; 1578 uint64_t spx1:1; 1579 uint64_t spx0:1; 1580 uint64_t lmc:1; 1581 uint64_t l2c:1; 1582 uint64_t rint_15:1; 1583 uint64_t reserved_13_14:2; 1584 uint64_t pow:1; 1585 uint64_t tim:1; 1586 uint64_t pko:1; 1587 uint64_t ipd:1; 1588 uint64_t rint_8:1; 1589 uint64_t zip:1; 1590 uint64_t dfa:1; 1591 uint64_t fpa:1; 1592 uint64_t key:1; 1593 uint64_t npi:1; 1594 uint64_t gmx1:1; 1595 uint64_t gmx0:1; 1596 uint64_t mio:1; 1597 } s; 1598 struct cvmx_npi_rsl_int_blocks_cn30xx { 1599 uint64_t reserved_32_63:32; 1600 uint64_t rint_31:1; 1601 uint64_t iob:1; 1602 uint64_t rint_29:1; 1603 uint64_t rint_28:1; 1604 uint64_t rint_27:1; 1605 uint64_t rint_26:1; 1606 uint64_t rint_25:1; 1607 uint64_t rint_24:1; 1608 uint64_t asx1:1; 1609 uint64_t asx0:1; 1610 uint64_t rint_21:1; 1611 uint64_t pip:1; 1612 uint64_t spx1:1; 1613 uint64_t spx0:1; 1614 uint64_t lmc:1; 1615 uint64_t l2c:1; 1616 uint64_t rint_15:1; 1617 uint64_t rint_14:1; 1618 uint64_t usb:1; 1619 uint64_t pow:1; 1620 uint64_t tim:1; 1621 uint64_t pko:1; 1622 uint64_t ipd:1; 1623 uint64_t rint_8:1; 1624 uint64_t zip:1; 1625 uint64_t dfa:1; 1626 uint64_t fpa:1; 1627 uint64_t key:1; 1628 uint64_t npi:1; 1629 uint64_t gmx1:1; 1630 uint64_t gmx0:1; 1631 uint64_t mio:1; 1632 } cn30xx; 1633 struct cvmx_npi_rsl_int_blocks_cn30xx cn31xx; 1634 struct cvmx_npi_rsl_int_blocks_cn38xx { 1635 uint64_t reserved_32_63:32; 1636 uint64_t rint_31:1; 1637 uint64_t iob:1; 1638 uint64_t rint_29:1; 1639 uint64_t rint_28:1; 1640 uint64_t rint_27:1; 1641 uint64_t rint_26:1; 1642 uint64_t rint_25:1; 1643 uint64_t rint_24:1; 1644 uint64_t asx1:1; 1645 uint64_t asx0:1; 1646 uint64_t rint_21:1; 1647 uint64_t pip:1; 1648 uint64_t spx1:1; 1649 uint64_t spx0:1; 1650 uint64_t lmc:1; 1651 uint64_t l2c:1; 1652 uint64_t rint_15:1; 1653 uint64_t rint_14:1; 1654 uint64_t rint_13:1; 1655 uint64_t pow:1; 1656 uint64_t tim:1; 1657 uint64_t pko:1; 1658 uint64_t ipd:1; 1659 uint64_t rint_8:1; 1660 uint64_t zip:1; 1661 uint64_t dfa:1; 1662 uint64_t fpa:1; 1663 uint64_t key:1; 1664 uint64_t npi:1; 1665 uint64_t gmx1:1; 1666 uint64_t gmx0:1; 1667 uint64_t mio:1; 1668 } cn38xx; 1669 struct cvmx_npi_rsl_int_blocks_cn38xx cn38xxp2; 1670 struct cvmx_npi_rsl_int_blocks_cn50xx { 1671 uint64_t reserved_31_63:33; 1672 uint64_t iob:1; 1673 uint64_t lmc1:1; 1674 uint64_t agl:1; 1675 uint64_t reserved_24_27:4; 1676 uint64_t asx1:1; 1677 uint64_t asx0:1; 1678 uint64_t reserved_21_21:1; 1679 uint64_t pip:1; 1680 uint64_t spx1:1; 1681 uint64_t spx0:1; 1682 uint64_t lmc:1; 1683 uint64_t l2c:1; 1684 uint64_t reserved_15_15:1; 1685 uint64_t rad:1; 1686 uint64_t usb:1; 1687 uint64_t pow:1; 1688 uint64_t tim:1; 1689 uint64_t pko:1; 1690 uint64_t ipd:1; 1691 uint64_t reserved_8_8:1; 1692 uint64_t zip:1; 1693 uint64_t dfa:1; 1694 uint64_t fpa:1; 1695 uint64_t key:1; 1696 uint64_t npi:1; 1697 uint64_t gmx1:1; 1698 uint64_t gmx0:1; 1699 uint64_t mio:1; 1700 } cn50xx; 1701 struct cvmx_npi_rsl_int_blocks_cn38xx cn58xx; 1702 struct cvmx_npi_rsl_int_blocks_cn38xx cn58xxp1; 1703 }; 1704 1705 union cvmx_npi_size_inputx { 1706 uint64_t u64; 1707 struct cvmx_npi_size_inputx_s { 1708 uint64_t reserved_32_63:32; 1709 uint64_t size:32; 1710 } s; 1711 struct cvmx_npi_size_inputx_s cn30xx; 1712 struct cvmx_npi_size_inputx_s cn31xx; 1713 struct cvmx_npi_size_inputx_s cn38xx; 1714 struct cvmx_npi_size_inputx_s cn38xxp2; 1715 struct cvmx_npi_size_inputx_s cn50xx; 1716 struct cvmx_npi_size_inputx_s cn58xx; 1717 struct cvmx_npi_size_inputx_s cn58xxp1; 1718 }; 1719 1720 union cvmx_npi_win_read_to { 1721 uint64_t u64; 1722 struct cvmx_npi_win_read_to_s { 1723 uint64_t reserved_32_63:32; 1724 uint64_t time:32; 1725 } s; 1726 struct cvmx_npi_win_read_to_s cn30xx; 1727 struct cvmx_npi_win_read_to_s cn31xx; 1728 struct cvmx_npi_win_read_to_s cn38xx; 1729 struct cvmx_npi_win_read_to_s cn38xxp2; 1730 struct cvmx_npi_win_read_to_s cn50xx; 1731 struct cvmx_npi_win_read_to_s cn58xx; 1732 struct cvmx_npi_win_read_to_s cn58xxp1; 1733 }; 1734 1735 #endif 1736