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_PESCX_DEFS_H__
0029 #define __CVMX_PESCX_DEFS_H__
0030
0031 #define CVMX_PESCX_BIST_STATUS(block_id) (CVMX_ADD_IO_SEG(0x00011800C8000018ull) + ((block_id) & 1) * 0x8000000ull)
0032 #define CVMX_PESCX_BIST_STATUS2(block_id) (CVMX_ADD_IO_SEG(0x00011800C8000418ull) + ((block_id) & 1) * 0x8000000ull)
0033 #define CVMX_PESCX_CFG_RD(block_id) (CVMX_ADD_IO_SEG(0x00011800C8000030ull) + ((block_id) & 1) * 0x8000000ull)
0034 #define CVMX_PESCX_CFG_WR(block_id) (CVMX_ADD_IO_SEG(0x00011800C8000028ull) + ((block_id) & 1) * 0x8000000ull)
0035 #define CVMX_PESCX_CPL_LUT_VALID(block_id) (CVMX_ADD_IO_SEG(0x00011800C8000098ull) + ((block_id) & 1) * 0x8000000ull)
0036 #define CVMX_PESCX_CTL_STATUS(block_id) (CVMX_ADD_IO_SEG(0x00011800C8000000ull) + ((block_id) & 1) * 0x8000000ull)
0037 #define CVMX_PESCX_CTL_STATUS2(block_id) (CVMX_ADD_IO_SEG(0x00011800C8000400ull) + ((block_id) & 1) * 0x8000000ull)
0038 #define CVMX_PESCX_DBG_INFO(block_id) (CVMX_ADD_IO_SEG(0x00011800C8000008ull) + ((block_id) & 1) * 0x8000000ull)
0039 #define CVMX_PESCX_DBG_INFO_EN(block_id) (CVMX_ADD_IO_SEG(0x00011800C80000A0ull) + ((block_id) & 1) * 0x8000000ull)
0040 #define CVMX_PESCX_DIAG_STATUS(block_id) (CVMX_ADD_IO_SEG(0x00011800C8000020ull) + ((block_id) & 1) * 0x8000000ull)
0041 #define CVMX_PESCX_P2N_BAR0_START(block_id) (CVMX_ADD_IO_SEG(0x00011800C8000080ull) + ((block_id) & 1) * 0x8000000ull)
0042 #define CVMX_PESCX_P2N_BAR1_START(block_id) (CVMX_ADD_IO_SEG(0x00011800C8000088ull) + ((block_id) & 1) * 0x8000000ull)
0043 #define CVMX_PESCX_P2N_BAR2_START(block_id) (CVMX_ADD_IO_SEG(0x00011800C8000090ull) + ((block_id) & 1) * 0x8000000ull)
0044 #define CVMX_PESCX_P2P_BARX_END(offset, block_id) (CVMX_ADD_IO_SEG(0x00011800C8000048ull) + (((offset) & 3) + ((block_id) & 1) * 0x800000ull) * 16)
0045 #define CVMX_PESCX_P2P_BARX_START(offset, block_id) (CVMX_ADD_IO_SEG(0x00011800C8000040ull) + (((offset) & 3) + ((block_id) & 1) * 0x800000ull) * 16)
0046 #define CVMX_PESCX_TLP_CREDITS(block_id) (CVMX_ADD_IO_SEG(0x00011800C8000038ull) + ((block_id) & 1) * 0x8000000ull)
0047
0048 union cvmx_pescx_bist_status {
0049 uint64_t u64;
0050 struct cvmx_pescx_bist_status_s {
0051 #ifdef __BIG_ENDIAN_BITFIELD
0052 uint64_t reserved_13_63:51;
0053 uint64_t rqdata5:1;
0054 uint64_t ctlp_or:1;
0055 uint64_t ntlp_or:1;
0056 uint64_t ptlp_or:1;
0057 uint64_t retry:1;
0058 uint64_t rqdata0:1;
0059 uint64_t rqdata1:1;
0060 uint64_t rqdata2:1;
0061 uint64_t rqdata3:1;
0062 uint64_t rqdata4:1;
0063 uint64_t rqhdr1:1;
0064 uint64_t rqhdr0:1;
0065 uint64_t sot:1;
0066 #else
0067 uint64_t sot:1;
0068 uint64_t rqhdr0:1;
0069 uint64_t rqhdr1:1;
0070 uint64_t rqdata4:1;
0071 uint64_t rqdata3:1;
0072 uint64_t rqdata2:1;
0073 uint64_t rqdata1:1;
0074 uint64_t rqdata0:1;
0075 uint64_t retry:1;
0076 uint64_t ptlp_or:1;
0077 uint64_t ntlp_or:1;
0078 uint64_t ctlp_or:1;
0079 uint64_t rqdata5:1;
0080 uint64_t reserved_13_63:51;
0081 #endif
0082 } s;
0083 struct cvmx_pescx_bist_status_cn52xxp1 {
0084 #ifdef __BIG_ENDIAN_BITFIELD
0085 uint64_t reserved_12_63:52;
0086 uint64_t ctlp_or:1;
0087 uint64_t ntlp_or:1;
0088 uint64_t ptlp_or:1;
0089 uint64_t retry:1;
0090 uint64_t rqdata0:1;
0091 uint64_t rqdata1:1;
0092 uint64_t rqdata2:1;
0093 uint64_t rqdata3:1;
0094 uint64_t rqdata4:1;
0095 uint64_t rqhdr1:1;
0096 uint64_t rqhdr0:1;
0097 uint64_t sot:1;
0098 #else
0099 uint64_t sot:1;
0100 uint64_t rqhdr0:1;
0101 uint64_t rqhdr1:1;
0102 uint64_t rqdata4:1;
0103 uint64_t rqdata3:1;
0104 uint64_t rqdata2:1;
0105 uint64_t rqdata1:1;
0106 uint64_t rqdata0:1;
0107 uint64_t retry:1;
0108 uint64_t ptlp_or:1;
0109 uint64_t ntlp_or:1;
0110 uint64_t ctlp_or:1;
0111 uint64_t reserved_12_63:52;
0112 #endif
0113 } cn52xxp1;
0114 };
0115
0116 union cvmx_pescx_bist_status2 {
0117 uint64_t u64;
0118 struct cvmx_pescx_bist_status2_s {
0119 #ifdef __BIG_ENDIAN_BITFIELD
0120 uint64_t reserved_14_63:50;
0121 uint64_t cto_p2e:1;
0122 uint64_t e2p_cpl:1;
0123 uint64_t e2p_n:1;
0124 uint64_t e2p_p:1;
0125 uint64_t e2p_rsl:1;
0126 uint64_t dbg_p2e:1;
0127 uint64_t peai_p2e:1;
0128 uint64_t rsl_p2e:1;
0129 uint64_t pef_tpf1:1;
0130 uint64_t pef_tpf0:1;
0131 uint64_t pef_tnf:1;
0132 uint64_t pef_tcf1:1;
0133 uint64_t pef_tc0:1;
0134 uint64_t ppf:1;
0135 #else
0136 uint64_t ppf:1;
0137 uint64_t pef_tc0:1;
0138 uint64_t pef_tcf1:1;
0139 uint64_t pef_tnf:1;
0140 uint64_t pef_tpf0:1;
0141 uint64_t pef_tpf1:1;
0142 uint64_t rsl_p2e:1;
0143 uint64_t peai_p2e:1;
0144 uint64_t dbg_p2e:1;
0145 uint64_t e2p_rsl:1;
0146 uint64_t e2p_p:1;
0147 uint64_t e2p_n:1;
0148 uint64_t e2p_cpl:1;
0149 uint64_t cto_p2e:1;
0150 uint64_t reserved_14_63:50;
0151 #endif
0152 } s;
0153 };
0154
0155 union cvmx_pescx_cfg_rd {
0156 uint64_t u64;
0157 struct cvmx_pescx_cfg_rd_s {
0158 #ifdef __BIG_ENDIAN_BITFIELD
0159 uint64_t data:32;
0160 uint64_t addr:32;
0161 #else
0162 uint64_t addr:32;
0163 uint64_t data:32;
0164 #endif
0165 } s;
0166 };
0167
0168 union cvmx_pescx_cfg_wr {
0169 uint64_t u64;
0170 struct cvmx_pescx_cfg_wr_s {
0171 #ifdef __BIG_ENDIAN_BITFIELD
0172 uint64_t data:32;
0173 uint64_t addr:32;
0174 #else
0175 uint64_t addr:32;
0176 uint64_t data:32;
0177 #endif
0178 } s;
0179 };
0180
0181 union cvmx_pescx_cpl_lut_valid {
0182 uint64_t u64;
0183 struct cvmx_pescx_cpl_lut_valid_s {
0184 #ifdef __BIG_ENDIAN_BITFIELD
0185 uint64_t reserved_32_63:32;
0186 uint64_t tag:32;
0187 #else
0188 uint64_t tag:32;
0189 uint64_t reserved_32_63:32;
0190 #endif
0191 } s;
0192 };
0193
0194 union cvmx_pescx_ctl_status {
0195 uint64_t u64;
0196 struct cvmx_pescx_ctl_status_s {
0197 #ifdef __BIG_ENDIAN_BITFIELD
0198 uint64_t reserved_28_63:36;
0199 uint64_t dnum:5;
0200 uint64_t pbus:8;
0201 uint64_t qlm_cfg:2;
0202 uint64_t lane_swp:1;
0203 uint64_t pm_xtoff:1;
0204 uint64_t pm_xpme:1;
0205 uint64_t ob_p_cmd:1;
0206 uint64_t reserved_7_8:2;
0207 uint64_t nf_ecrc:1;
0208 uint64_t dly_one:1;
0209 uint64_t lnk_enb:1;
0210 uint64_t ro_ctlp:1;
0211 uint64_t reserved_2_2:1;
0212 uint64_t inv_ecrc:1;
0213 uint64_t inv_lcrc:1;
0214 #else
0215 uint64_t inv_lcrc:1;
0216 uint64_t inv_ecrc:1;
0217 uint64_t reserved_2_2:1;
0218 uint64_t ro_ctlp:1;
0219 uint64_t lnk_enb:1;
0220 uint64_t dly_one:1;
0221 uint64_t nf_ecrc:1;
0222 uint64_t reserved_7_8:2;
0223 uint64_t ob_p_cmd:1;
0224 uint64_t pm_xpme:1;
0225 uint64_t pm_xtoff:1;
0226 uint64_t lane_swp:1;
0227 uint64_t qlm_cfg:2;
0228 uint64_t pbus:8;
0229 uint64_t dnum:5;
0230 uint64_t reserved_28_63:36;
0231 #endif
0232 } s;
0233 struct cvmx_pescx_ctl_status_cn56xx {
0234 #ifdef __BIG_ENDIAN_BITFIELD
0235 uint64_t reserved_28_63:36;
0236 uint64_t dnum:5;
0237 uint64_t pbus:8;
0238 uint64_t qlm_cfg:2;
0239 uint64_t reserved_12_12:1;
0240 uint64_t pm_xtoff:1;
0241 uint64_t pm_xpme:1;
0242 uint64_t ob_p_cmd:1;
0243 uint64_t reserved_7_8:2;
0244 uint64_t nf_ecrc:1;
0245 uint64_t dly_one:1;
0246 uint64_t lnk_enb:1;
0247 uint64_t ro_ctlp:1;
0248 uint64_t reserved_2_2:1;
0249 uint64_t inv_ecrc:1;
0250 uint64_t inv_lcrc:1;
0251 #else
0252 uint64_t inv_lcrc:1;
0253 uint64_t inv_ecrc:1;
0254 uint64_t reserved_2_2:1;
0255 uint64_t ro_ctlp:1;
0256 uint64_t lnk_enb:1;
0257 uint64_t dly_one:1;
0258 uint64_t nf_ecrc:1;
0259 uint64_t reserved_7_8:2;
0260 uint64_t ob_p_cmd:1;
0261 uint64_t pm_xpme:1;
0262 uint64_t pm_xtoff:1;
0263 uint64_t reserved_12_12:1;
0264 uint64_t qlm_cfg:2;
0265 uint64_t pbus:8;
0266 uint64_t dnum:5;
0267 uint64_t reserved_28_63:36;
0268 #endif
0269 } cn56xx;
0270 };
0271
0272 union cvmx_pescx_ctl_status2 {
0273 uint64_t u64;
0274 struct cvmx_pescx_ctl_status2_s {
0275 #ifdef __BIG_ENDIAN_BITFIELD
0276 uint64_t reserved_2_63:62;
0277 uint64_t pclk_run:1;
0278 uint64_t pcierst:1;
0279 #else
0280 uint64_t pcierst:1;
0281 uint64_t pclk_run:1;
0282 uint64_t reserved_2_63:62;
0283 #endif
0284 } s;
0285 struct cvmx_pescx_ctl_status2_cn52xxp1 {
0286 #ifdef __BIG_ENDIAN_BITFIELD
0287 uint64_t reserved_1_63:63;
0288 uint64_t pcierst:1;
0289 #else
0290 uint64_t pcierst:1;
0291 uint64_t reserved_1_63:63;
0292 #endif
0293 } cn52xxp1;
0294 };
0295
0296 union cvmx_pescx_dbg_info {
0297 uint64_t u64;
0298 struct cvmx_pescx_dbg_info_s {
0299 #ifdef __BIG_ENDIAN_BITFIELD
0300 uint64_t reserved_31_63:33;
0301 uint64_t ecrc_e:1;
0302 uint64_t rawwpp:1;
0303 uint64_t racpp:1;
0304 uint64_t ramtlp:1;
0305 uint64_t rarwdns:1;
0306 uint64_t caar:1;
0307 uint64_t racca:1;
0308 uint64_t racur:1;
0309 uint64_t rauc:1;
0310 uint64_t rqo:1;
0311 uint64_t fcuv:1;
0312 uint64_t rpe:1;
0313 uint64_t fcpvwt:1;
0314 uint64_t dpeoosd:1;
0315 uint64_t rtwdle:1;
0316 uint64_t rdwdle:1;
0317 uint64_t mre:1;
0318 uint64_t rte:1;
0319 uint64_t acto:1;
0320 uint64_t rvdm:1;
0321 uint64_t rumep:1;
0322 uint64_t rptamrc:1;
0323 uint64_t rpmerc:1;
0324 uint64_t rfemrc:1;
0325 uint64_t rnfemrc:1;
0326 uint64_t rcemrc:1;
0327 uint64_t rpoison:1;
0328 uint64_t recrce:1;
0329 uint64_t rtlplle:1;
0330 uint64_t rtlpmal:1;
0331 uint64_t spoison:1;
0332 #else
0333 uint64_t spoison:1;
0334 uint64_t rtlpmal:1;
0335 uint64_t rtlplle:1;
0336 uint64_t recrce:1;
0337 uint64_t rpoison:1;
0338 uint64_t rcemrc:1;
0339 uint64_t rnfemrc:1;
0340 uint64_t rfemrc:1;
0341 uint64_t rpmerc:1;
0342 uint64_t rptamrc:1;
0343 uint64_t rumep:1;
0344 uint64_t rvdm:1;
0345 uint64_t acto:1;
0346 uint64_t rte:1;
0347 uint64_t mre:1;
0348 uint64_t rdwdle:1;
0349 uint64_t rtwdle:1;
0350 uint64_t dpeoosd:1;
0351 uint64_t fcpvwt:1;
0352 uint64_t rpe:1;
0353 uint64_t fcuv:1;
0354 uint64_t rqo:1;
0355 uint64_t rauc:1;
0356 uint64_t racur:1;
0357 uint64_t racca:1;
0358 uint64_t caar:1;
0359 uint64_t rarwdns:1;
0360 uint64_t ramtlp:1;
0361 uint64_t racpp:1;
0362 uint64_t rawwpp:1;
0363 uint64_t ecrc_e:1;
0364 uint64_t reserved_31_63:33;
0365 #endif
0366 } s;
0367 };
0368
0369 union cvmx_pescx_dbg_info_en {
0370 uint64_t u64;
0371 struct cvmx_pescx_dbg_info_en_s {
0372 #ifdef __BIG_ENDIAN_BITFIELD
0373 uint64_t reserved_31_63:33;
0374 uint64_t ecrc_e:1;
0375 uint64_t rawwpp:1;
0376 uint64_t racpp:1;
0377 uint64_t ramtlp:1;
0378 uint64_t rarwdns:1;
0379 uint64_t caar:1;
0380 uint64_t racca:1;
0381 uint64_t racur:1;
0382 uint64_t rauc:1;
0383 uint64_t rqo:1;
0384 uint64_t fcuv:1;
0385 uint64_t rpe:1;
0386 uint64_t fcpvwt:1;
0387 uint64_t dpeoosd:1;
0388 uint64_t rtwdle:1;
0389 uint64_t rdwdle:1;
0390 uint64_t mre:1;
0391 uint64_t rte:1;
0392 uint64_t acto:1;
0393 uint64_t rvdm:1;
0394 uint64_t rumep:1;
0395 uint64_t rptamrc:1;
0396 uint64_t rpmerc:1;
0397 uint64_t rfemrc:1;
0398 uint64_t rnfemrc:1;
0399 uint64_t rcemrc:1;
0400 uint64_t rpoison:1;
0401 uint64_t recrce:1;
0402 uint64_t rtlplle:1;
0403 uint64_t rtlpmal:1;
0404 uint64_t spoison:1;
0405 #else
0406 uint64_t spoison:1;
0407 uint64_t rtlpmal:1;
0408 uint64_t rtlplle:1;
0409 uint64_t recrce:1;
0410 uint64_t rpoison:1;
0411 uint64_t rcemrc:1;
0412 uint64_t rnfemrc:1;
0413 uint64_t rfemrc:1;
0414 uint64_t rpmerc:1;
0415 uint64_t rptamrc:1;
0416 uint64_t rumep:1;
0417 uint64_t rvdm:1;
0418 uint64_t acto:1;
0419 uint64_t rte:1;
0420 uint64_t mre:1;
0421 uint64_t rdwdle:1;
0422 uint64_t rtwdle:1;
0423 uint64_t dpeoosd:1;
0424 uint64_t fcpvwt:1;
0425 uint64_t rpe:1;
0426 uint64_t fcuv:1;
0427 uint64_t rqo:1;
0428 uint64_t rauc:1;
0429 uint64_t racur:1;
0430 uint64_t racca:1;
0431 uint64_t caar:1;
0432 uint64_t rarwdns:1;
0433 uint64_t ramtlp:1;
0434 uint64_t racpp:1;
0435 uint64_t rawwpp:1;
0436 uint64_t ecrc_e:1;
0437 uint64_t reserved_31_63:33;
0438 #endif
0439 } s;
0440 };
0441
0442 union cvmx_pescx_diag_status {
0443 uint64_t u64;
0444 struct cvmx_pescx_diag_status_s {
0445 #ifdef __BIG_ENDIAN_BITFIELD
0446 uint64_t reserved_4_63:60;
0447 uint64_t pm_dst:1;
0448 uint64_t pm_stat:1;
0449 uint64_t pm_en:1;
0450 uint64_t aux_en:1;
0451 #else
0452 uint64_t aux_en:1;
0453 uint64_t pm_en:1;
0454 uint64_t pm_stat:1;
0455 uint64_t pm_dst:1;
0456 uint64_t reserved_4_63:60;
0457 #endif
0458 } s;
0459 };
0460
0461 union cvmx_pescx_p2n_bar0_start {
0462 uint64_t u64;
0463 struct cvmx_pescx_p2n_bar0_start_s {
0464 #ifdef __BIG_ENDIAN_BITFIELD
0465 uint64_t addr:50;
0466 uint64_t reserved_0_13:14;
0467 #else
0468 uint64_t reserved_0_13:14;
0469 uint64_t addr:50;
0470 #endif
0471 } s;
0472 };
0473
0474 union cvmx_pescx_p2n_bar1_start {
0475 uint64_t u64;
0476 struct cvmx_pescx_p2n_bar1_start_s {
0477 #ifdef __BIG_ENDIAN_BITFIELD
0478 uint64_t addr:38;
0479 uint64_t reserved_0_25:26;
0480 #else
0481 uint64_t reserved_0_25:26;
0482 uint64_t addr:38;
0483 #endif
0484 } s;
0485 };
0486
0487 union cvmx_pescx_p2n_bar2_start {
0488 uint64_t u64;
0489 struct cvmx_pescx_p2n_bar2_start_s {
0490 #ifdef __BIG_ENDIAN_BITFIELD
0491 uint64_t addr:25;
0492 uint64_t reserved_0_38:39;
0493 #else
0494 uint64_t reserved_0_38:39;
0495 uint64_t addr:25;
0496 #endif
0497 } s;
0498 };
0499
0500 union cvmx_pescx_p2p_barx_end {
0501 uint64_t u64;
0502 struct cvmx_pescx_p2p_barx_end_s {
0503 #ifdef __BIG_ENDIAN_BITFIELD
0504 uint64_t addr:52;
0505 uint64_t reserved_0_11:12;
0506 #else
0507 uint64_t reserved_0_11:12;
0508 uint64_t addr:52;
0509 #endif
0510 } s;
0511 };
0512
0513 union cvmx_pescx_p2p_barx_start {
0514 uint64_t u64;
0515 struct cvmx_pescx_p2p_barx_start_s {
0516 #ifdef __BIG_ENDIAN_BITFIELD
0517 uint64_t addr:52;
0518 uint64_t reserved_0_11:12;
0519 #else
0520 uint64_t reserved_0_11:12;
0521 uint64_t addr:52;
0522 #endif
0523 } s;
0524 };
0525
0526 union cvmx_pescx_tlp_credits {
0527 uint64_t u64;
0528 struct cvmx_pescx_tlp_credits_s {
0529 #ifdef __BIG_ENDIAN_BITFIELD
0530 uint64_t reserved_0_63:64;
0531 #else
0532 uint64_t reserved_0_63:64;
0533 #endif
0534 } s;
0535 struct cvmx_pescx_tlp_credits_cn52xx {
0536 #ifdef __BIG_ENDIAN_BITFIELD
0537 uint64_t reserved_56_63:8;
0538 uint64_t peai_ppf:8;
0539 uint64_t pesc_cpl:8;
0540 uint64_t pesc_np:8;
0541 uint64_t pesc_p:8;
0542 uint64_t npei_cpl:8;
0543 uint64_t npei_np:8;
0544 uint64_t npei_p:8;
0545 #else
0546 uint64_t npei_p:8;
0547 uint64_t npei_np:8;
0548 uint64_t npei_cpl:8;
0549 uint64_t pesc_p:8;
0550 uint64_t pesc_np:8;
0551 uint64_t pesc_cpl:8;
0552 uint64_t peai_ppf:8;
0553 uint64_t reserved_56_63:8;
0554 #endif
0555 } cn52xx;
0556 struct cvmx_pescx_tlp_credits_cn52xxp1 {
0557 #ifdef __BIG_ENDIAN_BITFIELD
0558 uint64_t reserved_38_63:26;
0559 uint64_t peai_ppf:8;
0560 uint64_t pesc_cpl:5;
0561 uint64_t pesc_np:5;
0562 uint64_t pesc_p:5;
0563 uint64_t npei_cpl:5;
0564 uint64_t npei_np:5;
0565 uint64_t npei_p:5;
0566 #else
0567 uint64_t npei_p:5;
0568 uint64_t npei_np:5;
0569 uint64_t npei_cpl:5;
0570 uint64_t pesc_p:5;
0571 uint64_t pesc_np:5;
0572 uint64_t pesc_cpl:5;
0573 uint64_t peai_ppf:8;
0574 uint64_t reserved_38_63:26;
0575 #endif
0576 } cn52xxp1;
0577 };
0578
0579 #endif