0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028 #ifndef __CVMX_DPI_DEFS_H__
0029 #define __CVMX_DPI_DEFS_H__
0030
0031 #define CVMX_DPI_BIST_STATUS (CVMX_ADD_IO_SEG(0x0001DF0000000000ull))
0032 #define CVMX_DPI_CTL (CVMX_ADD_IO_SEG(0x0001DF0000000040ull))
0033 #define CVMX_DPI_DMAX_COUNTS(offset) (CVMX_ADD_IO_SEG(0x0001DF0000000300ull) + ((offset) & 7) * 8)
0034 #define CVMX_DPI_DMAX_DBELL(offset) (CVMX_ADD_IO_SEG(0x0001DF0000000200ull) + ((offset) & 7) * 8)
0035 #define CVMX_DPI_DMAX_ERR_RSP_STATUS(offset) (CVMX_ADD_IO_SEG(0x0001DF0000000A80ull) + ((offset) & 7) * 8)
0036 #define CVMX_DPI_DMAX_IBUFF_SADDR(offset) (CVMX_ADD_IO_SEG(0x0001DF0000000280ull) + ((offset) & 7) * 8)
0037 #define CVMX_DPI_DMAX_IFLIGHT(offset) (CVMX_ADD_IO_SEG(0x0001DF0000000A00ull) + ((offset) & 7) * 8)
0038 #define CVMX_DPI_DMAX_NADDR(offset) (CVMX_ADD_IO_SEG(0x0001DF0000000380ull) + ((offset) & 7) * 8)
0039 #define CVMX_DPI_DMAX_REQBNK0(offset) (CVMX_ADD_IO_SEG(0x0001DF0000000400ull) + ((offset) & 7) * 8)
0040 #define CVMX_DPI_DMAX_REQBNK1(offset) (CVMX_ADD_IO_SEG(0x0001DF0000000480ull) + ((offset) & 7) * 8)
0041 #define CVMX_DPI_DMA_CONTROL (CVMX_ADD_IO_SEG(0x0001DF0000000048ull))
0042 #define CVMX_DPI_DMA_ENGX_EN(offset) (CVMX_ADD_IO_SEG(0x0001DF0000000080ull) + ((offset) & 7) * 8)
0043 #define CVMX_DPI_DMA_PPX_CNT(offset) (CVMX_ADD_IO_SEG(0x0001DF0000000B00ull) + ((offset) & 31) * 8)
0044 #define CVMX_DPI_ENGX_BUF(offset) (CVMX_ADD_IO_SEG(0x0001DF0000000880ull) + ((offset) & 7) * 8)
0045 #define CVMX_DPI_INFO_REG (CVMX_ADD_IO_SEG(0x0001DF0000000980ull))
0046 #define CVMX_DPI_INT_EN (CVMX_ADD_IO_SEG(0x0001DF0000000010ull))
0047 #define CVMX_DPI_INT_REG (CVMX_ADD_IO_SEG(0x0001DF0000000008ull))
0048 #define CVMX_DPI_NCBX_CFG(block_id) (CVMX_ADD_IO_SEG(0x0001DF0000000800ull))
0049 #define CVMX_DPI_PINT_INFO (CVMX_ADD_IO_SEG(0x0001DF0000000830ull))
0050 #define CVMX_DPI_PKT_ERR_RSP (CVMX_ADD_IO_SEG(0x0001DF0000000078ull))
0051 #define CVMX_DPI_REQ_ERR_RSP (CVMX_ADD_IO_SEG(0x0001DF0000000058ull))
0052 #define CVMX_DPI_REQ_ERR_RSP_EN (CVMX_ADD_IO_SEG(0x0001DF0000000068ull))
0053 #define CVMX_DPI_REQ_ERR_RST (CVMX_ADD_IO_SEG(0x0001DF0000000060ull))
0054 #define CVMX_DPI_REQ_ERR_RST_EN (CVMX_ADD_IO_SEG(0x0001DF0000000070ull))
0055 #define CVMX_DPI_REQ_ERR_SKIP_COMP (CVMX_ADD_IO_SEG(0x0001DF0000000838ull))
0056 #define CVMX_DPI_REQ_GBL_EN (CVMX_ADD_IO_SEG(0x0001DF0000000050ull))
0057 #define CVMX_DPI_SLI_PRTX_CFG(offset) (CVMX_ADD_IO_SEG(0x0001DF0000000900ull) + ((offset) & 3) * 8)
0058 static inline uint64_t CVMX_DPI_SLI_PRTX_ERR(unsigned long offset)
0059 {
0060 switch (cvmx_get_octeon_family()) {
0061 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
0062 return CVMX_ADD_IO_SEG(0x0001DF0000000920ull) + (offset) * 8;
0063 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
0064 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
0065 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
0066
0067 if (OCTEON_IS_MODEL(OCTEON_CN68XX_PASS1))
0068 return CVMX_ADD_IO_SEG(0x0001DF0000000928ull) + (offset) * 8;
0069
0070 if (OCTEON_IS_MODEL(OCTEON_CN68XX_PASS2))
0071 return CVMX_ADD_IO_SEG(0x0001DF0000000920ull) + (offset) * 8;
0072 return CVMX_ADD_IO_SEG(0x0001DF0000000920ull) + (offset) * 8;
0073 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
0074 return CVMX_ADD_IO_SEG(0x0001DF0000000928ull) + (offset) * 8;
0075 }
0076 return CVMX_ADD_IO_SEG(0x0001DF0000000920ull) + (offset) * 8;
0077 }
0078
0079 #define CVMX_DPI_SLI_PRTX_ERR_INFO(offset) (CVMX_ADD_IO_SEG(0x0001DF0000000940ull) + ((offset) & 3) * 8)
0080
0081 union cvmx_dpi_bist_status {
0082 uint64_t u64;
0083 struct cvmx_dpi_bist_status_s {
0084 #ifdef __BIG_ENDIAN_BITFIELD
0085 uint64_t reserved_47_63:17;
0086 uint64_t bist:47;
0087 #else
0088 uint64_t bist:47;
0089 uint64_t reserved_47_63:17;
0090 #endif
0091 } s;
0092 struct cvmx_dpi_bist_status_cn63xx {
0093 #ifdef __BIG_ENDIAN_BITFIELD
0094 uint64_t reserved_45_63:19;
0095 uint64_t bist:45;
0096 #else
0097 uint64_t bist:45;
0098 uint64_t reserved_45_63:19;
0099 #endif
0100 } cn63xx;
0101 struct cvmx_dpi_bist_status_cn63xxp1 {
0102 #ifdef __BIG_ENDIAN_BITFIELD
0103 uint64_t reserved_37_63:27;
0104 uint64_t bist:37;
0105 #else
0106 uint64_t bist:37;
0107 uint64_t reserved_37_63:27;
0108 #endif
0109 } cn63xxp1;
0110 };
0111
0112 union cvmx_dpi_ctl {
0113 uint64_t u64;
0114 struct cvmx_dpi_ctl_s {
0115 #ifdef __BIG_ENDIAN_BITFIELD
0116 uint64_t reserved_2_63:62;
0117 uint64_t clk:1;
0118 uint64_t en:1;
0119 #else
0120 uint64_t en:1;
0121 uint64_t clk:1;
0122 uint64_t reserved_2_63:62;
0123 #endif
0124 } s;
0125 struct cvmx_dpi_ctl_cn61xx {
0126 #ifdef __BIG_ENDIAN_BITFIELD
0127 uint64_t reserved_1_63:63;
0128 uint64_t en:1;
0129 #else
0130 uint64_t en:1;
0131 uint64_t reserved_1_63:63;
0132 #endif
0133 } cn61xx;
0134 };
0135
0136 union cvmx_dpi_dmax_counts {
0137 uint64_t u64;
0138 struct cvmx_dpi_dmax_counts_s {
0139 #ifdef __BIG_ENDIAN_BITFIELD
0140 uint64_t reserved_39_63:25;
0141 uint64_t fcnt:7;
0142 uint64_t dbell:32;
0143 #else
0144 uint64_t dbell:32;
0145 uint64_t fcnt:7;
0146 uint64_t reserved_39_63:25;
0147 #endif
0148 } s;
0149 };
0150
0151 union cvmx_dpi_dmax_dbell {
0152 uint64_t u64;
0153 struct cvmx_dpi_dmax_dbell_s {
0154 #ifdef __BIG_ENDIAN_BITFIELD
0155 uint64_t reserved_16_63:48;
0156 uint64_t dbell:16;
0157 #else
0158 uint64_t dbell:16;
0159 uint64_t reserved_16_63:48;
0160 #endif
0161 } s;
0162 };
0163
0164 union cvmx_dpi_dmax_err_rsp_status {
0165 uint64_t u64;
0166 struct cvmx_dpi_dmax_err_rsp_status_s {
0167 #ifdef __BIG_ENDIAN_BITFIELD
0168 uint64_t reserved_6_63:58;
0169 uint64_t status:6;
0170 #else
0171 uint64_t status:6;
0172 uint64_t reserved_6_63:58;
0173 #endif
0174 } s;
0175 };
0176
0177 union cvmx_dpi_dmax_ibuff_saddr {
0178 uint64_t u64;
0179 struct cvmx_dpi_dmax_ibuff_saddr_s {
0180 #ifdef __BIG_ENDIAN_BITFIELD
0181 uint64_t reserved_62_63:2;
0182 uint64_t csize:14;
0183 uint64_t reserved_41_47:7;
0184 uint64_t idle:1;
0185 uint64_t saddr:33;
0186 uint64_t reserved_0_6:7;
0187 #else
0188 uint64_t reserved_0_6:7;
0189 uint64_t saddr:33;
0190 uint64_t idle:1;
0191 uint64_t reserved_41_47:7;
0192 uint64_t csize:14;
0193 uint64_t reserved_62_63:2;
0194 #endif
0195 } s;
0196 struct cvmx_dpi_dmax_ibuff_saddr_cn61xx {
0197 #ifdef __BIG_ENDIAN_BITFIELD
0198 uint64_t reserved_62_63:2;
0199 uint64_t csize:14;
0200 uint64_t reserved_41_47:7;
0201 uint64_t idle:1;
0202 uint64_t reserved_36_39:4;
0203 uint64_t saddr:29;
0204 uint64_t reserved_0_6:7;
0205 #else
0206 uint64_t reserved_0_6:7;
0207 uint64_t saddr:29;
0208 uint64_t reserved_36_39:4;
0209 uint64_t idle:1;
0210 uint64_t reserved_41_47:7;
0211 uint64_t csize:14;
0212 uint64_t reserved_62_63:2;
0213 #endif
0214 } cn61xx;
0215 };
0216
0217 union cvmx_dpi_dmax_iflight {
0218 uint64_t u64;
0219 struct cvmx_dpi_dmax_iflight_s {
0220 #ifdef __BIG_ENDIAN_BITFIELD
0221 uint64_t reserved_3_63:61;
0222 uint64_t cnt:3;
0223 #else
0224 uint64_t cnt:3;
0225 uint64_t reserved_3_63:61;
0226 #endif
0227 } s;
0228 };
0229
0230 union cvmx_dpi_dmax_naddr {
0231 uint64_t u64;
0232 struct cvmx_dpi_dmax_naddr_s {
0233 #ifdef __BIG_ENDIAN_BITFIELD
0234 uint64_t reserved_40_63:24;
0235 uint64_t addr:40;
0236 #else
0237 uint64_t addr:40;
0238 uint64_t reserved_40_63:24;
0239 #endif
0240 } s;
0241 struct cvmx_dpi_dmax_naddr_cn61xx {
0242 #ifdef __BIG_ENDIAN_BITFIELD
0243 uint64_t reserved_36_63:28;
0244 uint64_t addr:36;
0245 #else
0246 uint64_t addr:36;
0247 uint64_t reserved_36_63:28;
0248 #endif
0249 } cn61xx;
0250 };
0251
0252 union cvmx_dpi_dmax_reqbnk0 {
0253 uint64_t u64;
0254 struct cvmx_dpi_dmax_reqbnk0_s {
0255 #ifdef __BIG_ENDIAN_BITFIELD
0256 uint64_t state:64;
0257 #else
0258 uint64_t state:64;
0259 #endif
0260 } s;
0261 };
0262
0263 union cvmx_dpi_dmax_reqbnk1 {
0264 uint64_t u64;
0265 struct cvmx_dpi_dmax_reqbnk1_s {
0266 #ifdef __BIG_ENDIAN_BITFIELD
0267 uint64_t state:64;
0268 #else
0269 uint64_t state:64;
0270 #endif
0271 } s;
0272 };
0273
0274 union cvmx_dpi_dma_control {
0275 uint64_t u64;
0276 struct cvmx_dpi_dma_control_s {
0277 #ifdef __BIG_ENDIAN_BITFIELD
0278 uint64_t reserved_62_63:2;
0279 uint64_t dici_mode:1;
0280 uint64_t pkt_en1:1;
0281 uint64_t ffp_dis:1;
0282 uint64_t commit_mode:1;
0283 uint64_t pkt_hp:1;
0284 uint64_t pkt_en:1;
0285 uint64_t reserved_54_55:2;
0286 uint64_t dma_enb:6;
0287 uint64_t reserved_34_47:14;
0288 uint64_t b0_lend:1;
0289 uint64_t dwb_denb:1;
0290 uint64_t dwb_ichk:9;
0291 uint64_t fpa_que:3;
0292 uint64_t o_add1:1;
0293 uint64_t o_ro:1;
0294 uint64_t o_ns:1;
0295 uint64_t o_es:2;
0296 uint64_t o_mode:1;
0297 uint64_t reserved_0_13:14;
0298 #else
0299 uint64_t reserved_0_13:14;
0300 uint64_t o_mode:1;
0301 uint64_t o_es:2;
0302 uint64_t o_ns:1;
0303 uint64_t o_ro:1;
0304 uint64_t o_add1:1;
0305 uint64_t fpa_que:3;
0306 uint64_t dwb_ichk:9;
0307 uint64_t dwb_denb:1;
0308 uint64_t b0_lend:1;
0309 uint64_t reserved_34_47:14;
0310 uint64_t dma_enb:6;
0311 uint64_t reserved_54_55:2;
0312 uint64_t pkt_en:1;
0313 uint64_t pkt_hp:1;
0314 uint64_t commit_mode:1;
0315 uint64_t ffp_dis:1;
0316 uint64_t pkt_en1:1;
0317 uint64_t dici_mode:1;
0318 uint64_t reserved_62_63:2;
0319 #endif
0320 } s;
0321 struct cvmx_dpi_dma_control_cn63xx {
0322 #ifdef __BIG_ENDIAN_BITFIELD
0323 uint64_t reserved_61_63:3;
0324 uint64_t pkt_en1:1;
0325 uint64_t ffp_dis:1;
0326 uint64_t commit_mode:1;
0327 uint64_t pkt_hp:1;
0328 uint64_t pkt_en:1;
0329 uint64_t reserved_54_55:2;
0330 uint64_t dma_enb:6;
0331 uint64_t reserved_34_47:14;
0332 uint64_t b0_lend:1;
0333 uint64_t dwb_denb:1;
0334 uint64_t dwb_ichk:9;
0335 uint64_t fpa_que:3;
0336 uint64_t o_add1:1;
0337 uint64_t o_ro:1;
0338 uint64_t o_ns:1;
0339 uint64_t o_es:2;
0340 uint64_t o_mode:1;
0341 uint64_t reserved_0_13:14;
0342 #else
0343 uint64_t reserved_0_13:14;
0344 uint64_t o_mode:1;
0345 uint64_t o_es:2;
0346 uint64_t o_ns:1;
0347 uint64_t o_ro:1;
0348 uint64_t o_add1:1;
0349 uint64_t fpa_que:3;
0350 uint64_t dwb_ichk:9;
0351 uint64_t dwb_denb:1;
0352 uint64_t b0_lend:1;
0353 uint64_t reserved_34_47:14;
0354 uint64_t dma_enb:6;
0355 uint64_t reserved_54_55:2;
0356 uint64_t pkt_en:1;
0357 uint64_t pkt_hp:1;
0358 uint64_t commit_mode:1;
0359 uint64_t ffp_dis:1;
0360 uint64_t pkt_en1:1;
0361 uint64_t reserved_61_63:3;
0362 #endif
0363 } cn63xx;
0364 struct cvmx_dpi_dma_control_cn63xxp1 {
0365 #ifdef __BIG_ENDIAN_BITFIELD
0366 uint64_t reserved_59_63:5;
0367 uint64_t commit_mode:1;
0368 uint64_t pkt_hp:1;
0369 uint64_t pkt_en:1;
0370 uint64_t reserved_54_55:2;
0371 uint64_t dma_enb:6;
0372 uint64_t reserved_34_47:14;
0373 uint64_t b0_lend:1;
0374 uint64_t dwb_denb:1;
0375 uint64_t dwb_ichk:9;
0376 uint64_t fpa_que:3;
0377 uint64_t o_add1:1;
0378 uint64_t o_ro:1;
0379 uint64_t o_ns:1;
0380 uint64_t o_es:2;
0381 uint64_t o_mode:1;
0382 uint64_t reserved_0_13:14;
0383 #else
0384 uint64_t reserved_0_13:14;
0385 uint64_t o_mode:1;
0386 uint64_t o_es:2;
0387 uint64_t o_ns:1;
0388 uint64_t o_ro:1;
0389 uint64_t o_add1:1;
0390 uint64_t fpa_que:3;
0391 uint64_t dwb_ichk:9;
0392 uint64_t dwb_denb:1;
0393 uint64_t b0_lend:1;
0394 uint64_t reserved_34_47:14;
0395 uint64_t dma_enb:6;
0396 uint64_t reserved_54_55:2;
0397 uint64_t pkt_en:1;
0398 uint64_t pkt_hp:1;
0399 uint64_t commit_mode:1;
0400 uint64_t reserved_59_63:5;
0401 #endif
0402 } cn63xxp1;
0403 };
0404
0405 union cvmx_dpi_dma_engx_en {
0406 uint64_t u64;
0407 struct cvmx_dpi_dma_engx_en_s {
0408 #ifdef __BIG_ENDIAN_BITFIELD
0409 uint64_t reserved_8_63:56;
0410 uint64_t qen:8;
0411 #else
0412 uint64_t qen:8;
0413 uint64_t reserved_8_63:56;
0414 #endif
0415 } s;
0416 };
0417
0418 union cvmx_dpi_dma_ppx_cnt {
0419 uint64_t u64;
0420 struct cvmx_dpi_dma_ppx_cnt_s {
0421 #ifdef __BIG_ENDIAN_BITFIELD
0422 uint64_t reserved_16_63:48;
0423 uint64_t cnt:16;
0424 #else
0425 uint64_t cnt:16;
0426 uint64_t reserved_16_63:48;
0427 #endif
0428 } s;
0429 };
0430
0431 union cvmx_dpi_engx_buf {
0432 uint64_t u64;
0433 struct cvmx_dpi_engx_buf_s {
0434 #ifdef __BIG_ENDIAN_BITFIELD
0435 uint64_t reserved_37_63:27;
0436 uint64_t compblks:5;
0437 uint64_t reserved_9_31:23;
0438 uint64_t base:5;
0439 uint64_t blks:4;
0440 #else
0441 uint64_t blks:4;
0442 uint64_t base:5;
0443 uint64_t reserved_9_31:23;
0444 uint64_t compblks:5;
0445 uint64_t reserved_37_63:27;
0446 #endif
0447 } s;
0448 struct cvmx_dpi_engx_buf_cn63xx {
0449 #ifdef __BIG_ENDIAN_BITFIELD
0450 uint64_t reserved_8_63:56;
0451 uint64_t base:4;
0452 uint64_t blks:4;
0453 #else
0454 uint64_t blks:4;
0455 uint64_t base:4;
0456 uint64_t reserved_8_63:56;
0457 #endif
0458 } cn63xx;
0459 };
0460
0461 union cvmx_dpi_info_reg {
0462 uint64_t u64;
0463 struct cvmx_dpi_info_reg_s {
0464 #ifdef __BIG_ENDIAN_BITFIELD
0465 uint64_t reserved_8_63:56;
0466 uint64_t ffp:4;
0467 uint64_t reserved_2_3:2;
0468 uint64_t ncb:1;
0469 uint64_t rsl:1;
0470 #else
0471 uint64_t rsl:1;
0472 uint64_t ncb:1;
0473 uint64_t reserved_2_3:2;
0474 uint64_t ffp:4;
0475 uint64_t reserved_8_63:56;
0476 #endif
0477 } s;
0478 struct cvmx_dpi_info_reg_cn63xxp1 {
0479 #ifdef __BIG_ENDIAN_BITFIELD
0480 uint64_t reserved_2_63:62;
0481 uint64_t ncb:1;
0482 uint64_t rsl:1;
0483 #else
0484 uint64_t rsl:1;
0485 uint64_t ncb:1;
0486 uint64_t reserved_2_63:62;
0487 #endif
0488 } cn63xxp1;
0489 };
0490
0491 union cvmx_dpi_int_en {
0492 uint64_t u64;
0493 struct cvmx_dpi_int_en_s {
0494 #ifdef __BIG_ENDIAN_BITFIELD
0495 uint64_t reserved_28_63:36;
0496 uint64_t sprt3_rst:1;
0497 uint64_t sprt2_rst:1;
0498 uint64_t sprt1_rst:1;
0499 uint64_t sprt0_rst:1;
0500 uint64_t reserved_23_23:1;
0501 uint64_t req_badfil:1;
0502 uint64_t req_inull:1;
0503 uint64_t req_anull:1;
0504 uint64_t req_undflw:1;
0505 uint64_t req_ovrflw:1;
0506 uint64_t req_badlen:1;
0507 uint64_t req_badadr:1;
0508 uint64_t dmadbo:8;
0509 uint64_t reserved_2_7:6;
0510 uint64_t nfovr:1;
0511 uint64_t nderr:1;
0512 #else
0513 uint64_t nderr:1;
0514 uint64_t nfovr:1;
0515 uint64_t reserved_2_7:6;
0516 uint64_t dmadbo:8;
0517 uint64_t req_badadr:1;
0518 uint64_t req_badlen:1;
0519 uint64_t req_ovrflw:1;
0520 uint64_t req_undflw:1;
0521 uint64_t req_anull:1;
0522 uint64_t req_inull:1;
0523 uint64_t req_badfil:1;
0524 uint64_t reserved_23_23:1;
0525 uint64_t sprt0_rst:1;
0526 uint64_t sprt1_rst:1;
0527 uint64_t sprt2_rst:1;
0528 uint64_t sprt3_rst:1;
0529 uint64_t reserved_28_63:36;
0530 #endif
0531 } s;
0532 struct cvmx_dpi_int_en_cn63xx {
0533 #ifdef __BIG_ENDIAN_BITFIELD
0534 uint64_t reserved_26_63:38;
0535 uint64_t sprt1_rst:1;
0536 uint64_t sprt0_rst:1;
0537 uint64_t reserved_23_23:1;
0538 uint64_t req_badfil:1;
0539 uint64_t req_inull:1;
0540 uint64_t req_anull:1;
0541 uint64_t req_undflw:1;
0542 uint64_t req_ovrflw:1;
0543 uint64_t req_badlen:1;
0544 uint64_t req_badadr:1;
0545 uint64_t dmadbo:8;
0546 uint64_t reserved_2_7:6;
0547 uint64_t nfovr:1;
0548 uint64_t nderr:1;
0549 #else
0550 uint64_t nderr:1;
0551 uint64_t nfovr:1;
0552 uint64_t reserved_2_7:6;
0553 uint64_t dmadbo:8;
0554 uint64_t req_badadr:1;
0555 uint64_t req_badlen:1;
0556 uint64_t req_ovrflw:1;
0557 uint64_t req_undflw:1;
0558 uint64_t req_anull:1;
0559 uint64_t req_inull:1;
0560 uint64_t req_badfil:1;
0561 uint64_t reserved_23_23:1;
0562 uint64_t sprt0_rst:1;
0563 uint64_t sprt1_rst:1;
0564 uint64_t reserved_26_63:38;
0565 #endif
0566 } cn63xx;
0567 };
0568
0569 union cvmx_dpi_int_reg {
0570 uint64_t u64;
0571 struct cvmx_dpi_int_reg_s {
0572 #ifdef __BIG_ENDIAN_BITFIELD
0573 uint64_t reserved_28_63:36;
0574 uint64_t sprt3_rst:1;
0575 uint64_t sprt2_rst:1;
0576 uint64_t sprt1_rst:1;
0577 uint64_t sprt0_rst:1;
0578 uint64_t reserved_23_23:1;
0579 uint64_t req_badfil:1;
0580 uint64_t req_inull:1;
0581 uint64_t req_anull:1;
0582 uint64_t req_undflw:1;
0583 uint64_t req_ovrflw:1;
0584 uint64_t req_badlen:1;
0585 uint64_t req_badadr:1;
0586 uint64_t dmadbo:8;
0587 uint64_t reserved_2_7:6;
0588 uint64_t nfovr:1;
0589 uint64_t nderr:1;
0590 #else
0591 uint64_t nderr:1;
0592 uint64_t nfovr:1;
0593 uint64_t reserved_2_7:6;
0594 uint64_t dmadbo:8;
0595 uint64_t req_badadr:1;
0596 uint64_t req_badlen:1;
0597 uint64_t req_ovrflw:1;
0598 uint64_t req_undflw:1;
0599 uint64_t req_anull:1;
0600 uint64_t req_inull:1;
0601 uint64_t req_badfil:1;
0602 uint64_t reserved_23_23:1;
0603 uint64_t sprt0_rst:1;
0604 uint64_t sprt1_rst:1;
0605 uint64_t sprt2_rst:1;
0606 uint64_t sprt3_rst:1;
0607 uint64_t reserved_28_63:36;
0608 #endif
0609 } s;
0610 struct cvmx_dpi_int_reg_cn63xx {
0611 #ifdef __BIG_ENDIAN_BITFIELD
0612 uint64_t reserved_26_63:38;
0613 uint64_t sprt1_rst:1;
0614 uint64_t sprt0_rst:1;
0615 uint64_t reserved_23_23:1;
0616 uint64_t req_badfil:1;
0617 uint64_t req_inull:1;
0618 uint64_t req_anull:1;
0619 uint64_t req_undflw:1;
0620 uint64_t req_ovrflw:1;
0621 uint64_t req_badlen:1;
0622 uint64_t req_badadr:1;
0623 uint64_t dmadbo:8;
0624 uint64_t reserved_2_7:6;
0625 uint64_t nfovr:1;
0626 uint64_t nderr:1;
0627 #else
0628 uint64_t nderr:1;
0629 uint64_t nfovr:1;
0630 uint64_t reserved_2_7:6;
0631 uint64_t dmadbo:8;
0632 uint64_t req_badadr:1;
0633 uint64_t req_badlen:1;
0634 uint64_t req_ovrflw:1;
0635 uint64_t req_undflw:1;
0636 uint64_t req_anull:1;
0637 uint64_t req_inull:1;
0638 uint64_t req_badfil:1;
0639 uint64_t reserved_23_23:1;
0640 uint64_t sprt0_rst:1;
0641 uint64_t sprt1_rst:1;
0642 uint64_t reserved_26_63:38;
0643 #endif
0644 } cn63xx;
0645 };
0646
0647 union cvmx_dpi_ncbx_cfg {
0648 uint64_t u64;
0649 struct cvmx_dpi_ncbx_cfg_s {
0650 #ifdef __BIG_ENDIAN_BITFIELD
0651 uint64_t reserved_6_63:58;
0652 uint64_t molr:6;
0653 #else
0654 uint64_t molr:6;
0655 uint64_t reserved_6_63:58;
0656 #endif
0657 } s;
0658 };
0659
0660 union cvmx_dpi_pint_info {
0661 uint64_t u64;
0662 struct cvmx_dpi_pint_info_s {
0663 #ifdef __BIG_ENDIAN_BITFIELD
0664 uint64_t reserved_14_63:50;
0665 uint64_t iinfo:6;
0666 uint64_t reserved_6_7:2;
0667 uint64_t sinfo:6;
0668 #else
0669 uint64_t sinfo:6;
0670 uint64_t reserved_6_7:2;
0671 uint64_t iinfo:6;
0672 uint64_t reserved_14_63:50;
0673 #endif
0674 } s;
0675 };
0676
0677 union cvmx_dpi_pkt_err_rsp {
0678 uint64_t u64;
0679 struct cvmx_dpi_pkt_err_rsp_s {
0680 #ifdef __BIG_ENDIAN_BITFIELD
0681 uint64_t reserved_1_63:63;
0682 uint64_t pkterr:1;
0683 #else
0684 uint64_t pkterr:1;
0685 uint64_t reserved_1_63:63;
0686 #endif
0687 } s;
0688 };
0689
0690 union cvmx_dpi_req_err_rsp {
0691 uint64_t u64;
0692 struct cvmx_dpi_req_err_rsp_s {
0693 #ifdef __BIG_ENDIAN_BITFIELD
0694 uint64_t reserved_8_63:56;
0695 uint64_t qerr:8;
0696 #else
0697 uint64_t qerr:8;
0698 uint64_t reserved_8_63:56;
0699 #endif
0700 } s;
0701 };
0702
0703 union cvmx_dpi_req_err_rsp_en {
0704 uint64_t u64;
0705 struct cvmx_dpi_req_err_rsp_en_s {
0706 #ifdef __BIG_ENDIAN_BITFIELD
0707 uint64_t reserved_8_63:56;
0708 uint64_t en:8;
0709 #else
0710 uint64_t en:8;
0711 uint64_t reserved_8_63:56;
0712 #endif
0713 } s;
0714 };
0715
0716 union cvmx_dpi_req_err_rst {
0717 uint64_t u64;
0718 struct cvmx_dpi_req_err_rst_s {
0719 #ifdef __BIG_ENDIAN_BITFIELD
0720 uint64_t reserved_8_63:56;
0721 uint64_t qerr:8;
0722 #else
0723 uint64_t qerr:8;
0724 uint64_t reserved_8_63:56;
0725 #endif
0726 } s;
0727 };
0728
0729 union cvmx_dpi_req_err_rst_en {
0730 uint64_t u64;
0731 struct cvmx_dpi_req_err_rst_en_s {
0732 #ifdef __BIG_ENDIAN_BITFIELD
0733 uint64_t reserved_8_63:56;
0734 uint64_t en:8;
0735 #else
0736 uint64_t en:8;
0737 uint64_t reserved_8_63:56;
0738 #endif
0739 } s;
0740 };
0741
0742 union cvmx_dpi_req_err_skip_comp {
0743 uint64_t u64;
0744 struct cvmx_dpi_req_err_skip_comp_s {
0745 #ifdef __BIG_ENDIAN_BITFIELD
0746 uint64_t reserved_24_63:40;
0747 uint64_t en_rst:8;
0748 uint64_t reserved_8_15:8;
0749 uint64_t en_rsp:8;
0750 #else
0751 uint64_t en_rsp:8;
0752 uint64_t reserved_8_15:8;
0753 uint64_t en_rst:8;
0754 uint64_t reserved_24_63:40;
0755 #endif
0756 } s;
0757 };
0758
0759 union cvmx_dpi_req_gbl_en {
0760 uint64_t u64;
0761 struct cvmx_dpi_req_gbl_en_s {
0762 #ifdef __BIG_ENDIAN_BITFIELD
0763 uint64_t reserved_8_63:56;
0764 uint64_t qen:8;
0765 #else
0766 uint64_t qen:8;
0767 uint64_t reserved_8_63:56;
0768 #endif
0769 } s;
0770 };
0771
0772 union cvmx_dpi_sli_prtx_cfg {
0773 uint64_t u64;
0774 struct cvmx_dpi_sli_prtx_cfg_s {
0775 #ifdef __BIG_ENDIAN_BITFIELD
0776 uint64_t reserved_25_63:39;
0777 uint64_t halt:1;
0778 uint64_t qlm_cfg:4;
0779 uint64_t reserved_17_19:3;
0780 uint64_t rd_mode:1;
0781 uint64_t reserved_14_15:2;
0782 uint64_t molr:6;
0783 uint64_t mps_lim:1;
0784 uint64_t reserved_5_6:2;
0785 uint64_t mps:1;
0786 uint64_t mrrs_lim:1;
0787 uint64_t reserved_2_2:1;
0788 uint64_t mrrs:2;
0789 #else
0790 uint64_t mrrs:2;
0791 uint64_t reserved_2_2:1;
0792 uint64_t mrrs_lim:1;
0793 uint64_t mps:1;
0794 uint64_t reserved_5_6:2;
0795 uint64_t mps_lim:1;
0796 uint64_t molr:6;
0797 uint64_t reserved_14_15:2;
0798 uint64_t rd_mode:1;
0799 uint64_t reserved_17_19:3;
0800 uint64_t qlm_cfg:4;
0801 uint64_t halt:1;
0802 uint64_t reserved_25_63:39;
0803 #endif
0804 } s;
0805 struct cvmx_dpi_sli_prtx_cfg_cn63xx {
0806 #ifdef __BIG_ENDIAN_BITFIELD
0807 uint64_t reserved_25_63:39;
0808 uint64_t halt:1;
0809 uint64_t reserved_21_23:3;
0810 uint64_t qlm_cfg:1;
0811 uint64_t reserved_17_19:3;
0812 uint64_t rd_mode:1;
0813 uint64_t reserved_14_15:2;
0814 uint64_t molr:6;
0815 uint64_t mps_lim:1;
0816 uint64_t reserved_5_6:2;
0817 uint64_t mps:1;
0818 uint64_t mrrs_lim:1;
0819 uint64_t reserved_2_2:1;
0820 uint64_t mrrs:2;
0821 #else
0822 uint64_t mrrs:2;
0823 uint64_t reserved_2_2:1;
0824 uint64_t mrrs_lim:1;
0825 uint64_t mps:1;
0826 uint64_t reserved_5_6:2;
0827 uint64_t mps_lim:1;
0828 uint64_t molr:6;
0829 uint64_t reserved_14_15:2;
0830 uint64_t rd_mode:1;
0831 uint64_t reserved_17_19:3;
0832 uint64_t qlm_cfg:1;
0833 uint64_t reserved_21_23:3;
0834 uint64_t halt:1;
0835 uint64_t reserved_25_63:39;
0836 #endif
0837 } cn63xx;
0838 };
0839
0840 union cvmx_dpi_sli_prtx_err {
0841 uint64_t u64;
0842 struct cvmx_dpi_sli_prtx_err_s {
0843 #ifdef __BIG_ENDIAN_BITFIELD
0844 uint64_t addr:61;
0845 uint64_t reserved_0_2:3;
0846 #else
0847 uint64_t reserved_0_2:3;
0848 uint64_t addr:61;
0849 #endif
0850 } s;
0851 };
0852
0853 union cvmx_dpi_sli_prtx_err_info {
0854 uint64_t u64;
0855 struct cvmx_dpi_sli_prtx_err_info_s {
0856 #ifdef __BIG_ENDIAN_BITFIELD
0857 uint64_t reserved_9_63:55;
0858 uint64_t lock:1;
0859 uint64_t reserved_5_7:3;
0860 uint64_t type:1;
0861 uint64_t reserved_3_3:1;
0862 uint64_t reqq:3;
0863 #else
0864 uint64_t reqq:3;
0865 uint64_t reserved_3_3:1;
0866 uint64_t type:1;
0867 uint64_t reserved_5_7:3;
0868 uint64_t lock:1;
0869 uint64_t reserved_9_63:55;
0870 #endif
0871 } s;
0872 };
0873
0874 #endif