0001
0002 #ifndef __NITROX_CSR_H
0003 #define __NITROX_CSR_H
0004
0005 #include <asm/byteorder.h>
0006 #include <linux/types.h>
0007
0008
0009 #define NR_CLUSTERS 4
0010
0011
0012
0013 #define AE_CORES_PER_CLUSTER 20
0014 #define SE_CORES_PER_CLUSTER 16
0015
0016 #define AE_MAX_CORES (AE_CORES_PER_CLUSTER * NR_CLUSTERS)
0017 #define SE_MAX_CORES (SE_CORES_PER_CLUSTER * NR_CLUSTERS)
0018 #define ZIP_MAX_CORES 5
0019
0020
0021 #define EMU_BIST_STATUSX(_i) (0x1402700 + ((_i) * 0x40000))
0022 #define UCD_BIST_STATUS 0x12C0070
0023 #define NPS_CORE_BIST_REG 0x10000E8
0024 #define NPS_CORE_NPC_BIST_REG 0x1000128
0025 #define NPS_PKT_SLC_BIST_REG 0x1040088
0026 #define NPS_PKT_IN_BIST_REG 0x1040100
0027 #define POM_BIST_REG 0x11C0100
0028 #define BMI_BIST_REG 0x1140080
0029 #define EFL_CORE_BIST_REGX(_i) (0x1240100 + ((_i) * 0x400))
0030 #define EFL_TOP_BIST_STAT 0x1241090
0031 #define BMO_BIST_REG 0x1180080
0032 #define LBC_BIST_STATUS 0x1200020
0033 #define PEM_BIST_STATUSX(_i) (0x1080468 | ((_i) << 18))
0034
0035
0036 #define EMU_SE_ENABLEX(_i) (0x1400000 + ((_i) * 0x40000))
0037 #define EMU_AE_ENABLEX(_i) (0x1400008 + ((_i) * 0x40000))
0038 #define EMU_WD_INT_ENA_W1SX(_i) (0x1402318 + ((_i) * 0x40000))
0039 #define EMU_GE_INT_ENA_W1SX(_i) (0x1402518 + ((_i) * 0x40000))
0040 #define EMU_FUSE_MAPX(_i) (0x1402708 + ((_i) * 0x40000))
0041
0042
0043 #define UCD_SE_EID_UCODE_BLOCK_NUMX(_i) (0x12C0000 + ((_i) * 0x1000))
0044 #define UCD_AE_EID_UCODE_BLOCK_NUMX(_i) (0x12C0008 + ((_i) * 0x800))
0045 #define UCD_UCODE_LOAD_BLOCK_NUM 0x12C0010
0046 #define UCD_UCODE_LOAD_IDX_DATAX(_i) (0x12C0018 + ((_i) * 0x20))
0047 #define UCD_SE_CNTX(_i) (0x12C0040 + ((_i) * 0x1000))
0048 #define UCD_AE_CNTX(_i) (0x12C0048 + ((_i) * 0x800))
0049
0050
0051 #define AQM_CTL 0x1300000
0052 #define AQM_INT 0x1300008
0053 #define AQM_DBELL_OVF_LO 0x1300010
0054 #define AQM_DBELL_OVF_HI 0x1300018
0055 #define AQM_DBELL_OVF_LO_W1S 0x1300020
0056 #define AQM_DBELL_OVF_LO_ENA_W1C 0x1300028
0057 #define AQM_DBELL_OVF_LO_ENA_W1S 0x1300030
0058 #define AQM_DBELL_OVF_HI_W1S 0x1300038
0059 #define AQM_DBELL_OVF_HI_ENA_W1C 0x1300040
0060 #define AQM_DBELL_OVF_HI_ENA_W1S 0x1300048
0061 #define AQM_DMA_RD_ERR_LO 0x1300050
0062 #define AQM_DMA_RD_ERR_HI 0x1300058
0063 #define AQM_DMA_RD_ERR_LO_W1S 0x1300060
0064 #define AQM_DMA_RD_ERR_LO_ENA_W1C 0x1300068
0065 #define AQM_DMA_RD_ERR_LO_ENA_W1S 0x1300070
0066 #define AQM_DMA_RD_ERR_HI_W1S 0x1300078
0067 #define AQM_DMA_RD_ERR_HI_ENA_W1C 0x1300080
0068 #define AQM_DMA_RD_ERR_HI_ENA_W1S 0x1300088
0069 #define AQM_EXEC_NA_LO 0x1300090
0070 #define AQM_EXEC_NA_HI 0x1300098
0071 #define AQM_EXEC_NA_LO_W1S 0x13000A0
0072 #define AQM_EXEC_NA_LO_ENA_W1C 0x13000A8
0073 #define AQM_EXEC_NA_LO_ENA_W1S 0x13000B0
0074 #define AQM_EXEC_NA_HI_W1S 0x13000B8
0075 #define AQM_EXEC_NA_HI_ENA_W1C 0x13000C0
0076 #define AQM_EXEC_NA_HI_ENA_W1S 0x13000C8
0077 #define AQM_EXEC_ERR_LO 0x13000D0
0078 #define AQM_EXEC_ERR_HI 0x13000D8
0079 #define AQM_EXEC_ERR_LO_W1S 0x13000E0
0080 #define AQM_EXEC_ERR_LO_ENA_W1C 0x13000E8
0081 #define AQM_EXEC_ERR_LO_ENA_W1S 0x13000F0
0082 #define AQM_EXEC_ERR_HI_W1S 0x13000F8
0083 #define AQM_EXEC_ERR_HI_ENA_W1C 0x1300100
0084 #define AQM_EXEC_ERR_HI_ENA_W1S 0x1300108
0085 #define AQM_ECC_INT 0x1300110
0086 #define AQM_ECC_INT_W1S 0x1300118
0087 #define AQM_ECC_INT_ENA_W1C 0x1300120
0088 #define AQM_ECC_INT_ENA_W1S 0x1300128
0089 #define AQM_ECC_CTL 0x1300130
0090 #define AQM_BIST_STATUS 0x1300138
0091 #define AQM_CMD_INF_THRX(x) (0x1300400 + ((x) * 0x8))
0092 #define AQM_CMD_INFX(x) (0x1300800 + ((x) * 0x8))
0093 #define AQM_GRP_EXECMSK_LOX(x) (0x1300C00 + ((x) * 0x10))
0094 #define AQM_GRP_EXECMSK_HIX(x) (0x1300C08 + ((x) * 0x10))
0095 #define AQM_ACTIVITY_STAT_LO 0x1300C80
0096 #define AQM_ACTIVITY_STAT_HI 0x1300C88
0097 #define AQM_Q_CMD_PROCX(x) (0x1301000 + ((x) * 0x8))
0098 #define AQM_PERF_CTL_LO 0x1301400
0099 #define AQM_PERF_CTL_HI 0x1301408
0100 #define AQM_PERF_CNT 0x1301410
0101
0102 #define AQMQ_DRBLX(x) (0x20000 + ((x) * 0x40000))
0103 #define AQMQ_QSZX(x) (0x20008 + ((x) * 0x40000))
0104 #define AQMQ_BADRX(x) (0x20010 + ((x) * 0x40000))
0105 #define AQMQ_NXT_CMDX(x) (0x20018 + ((x) * 0x40000))
0106 #define AQMQ_CMD_CNTX(x) (0x20020 + ((x) * 0x40000))
0107 #define AQMQ_CMP_THRX(x) (0x20028 + ((x) * 0x40000))
0108 #define AQMQ_CMP_CNTX(x) (0x20030 + ((x) * 0x40000))
0109 #define AQMQ_TIM_LDX(x) (0x20038 + ((x) * 0x40000))
0110 #define AQMQ_TIMERX(x) (0x20040 + ((x) * 0x40000))
0111 #define AQMQ_ENX(x) (0x20048 + ((x) * 0x40000))
0112 #define AQMQ_ACTIVITY_STATX(x) (0x20050 + ((x) * 0x40000))
0113 #define AQM_VF_CMP_STATX(x) (0x28000 + ((x) * 0x40000))
0114
0115
0116 #define NPS_CORE_GBL_VFCFG 0x1000000
0117 #define NPS_CORE_CONTROL 0x1000008
0118 #define NPS_CORE_INT_ACTIVE 0x1000080
0119 #define NPS_CORE_INT 0x10000A0
0120 #define NPS_CORE_INT_ENA_W1S 0x10000B8
0121 #define NPS_STATS_PKT_DMA_RD_CNT 0x1000180
0122 #define NPS_STATS_PKT_DMA_WR_CNT 0x1000190
0123
0124
0125 #define NPS_PKT_INT 0x1040018
0126 #define NPS_PKT_MBOX_INT_LO 0x1040020
0127 #define NPS_PKT_MBOX_INT_LO_ENA_W1C 0x1040030
0128 #define NPS_PKT_MBOX_INT_LO_ENA_W1S 0x1040038
0129 #define NPS_PKT_MBOX_INT_HI 0x1040040
0130 #define NPS_PKT_MBOX_INT_HI_ENA_W1C 0x1040050
0131 #define NPS_PKT_MBOX_INT_HI_ENA_W1S 0x1040058
0132 #define NPS_PKT_IN_RERR_HI 0x1040108
0133 #define NPS_PKT_IN_RERR_HI_ENA_W1S 0x1040120
0134 #define NPS_PKT_IN_RERR_LO 0x1040128
0135 #define NPS_PKT_IN_RERR_LO_ENA_W1S 0x1040140
0136 #define NPS_PKT_IN_ERR_TYPE 0x1040148
0137 #define NPS_PKT_IN_ERR_TYPE_ENA_W1S 0x1040160
0138 #define NPS_PKT_IN_INSTR_CTLX(_i) (0x10060 + ((_i) * 0x40000))
0139 #define NPS_PKT_IN_INSTR_BADDRX(_i) (0x10068 + ((_i) * 0x40000))
0140 #define NPS_PKT_IN_INSTR_RSIZEX(_i) (0x10070 + ((_i) * 0x40000))
0141 #define NPS_PKT_IN_DONE_CNTSX(_i) (0x10080 + ((_i) * 0x40000))
0142 #define NPS_PKT_IN_INSTR_BAOFF_DBELLX(_i) (0x10078 + ((_i) * 0x40000))
0143 #define NPS_PKT_IN_INT_LEVELSX(_i) (0x10088 + ((_i) * 0x40000))
0144
0145 #define NPS_PKT_SLC_RERR_HI 0x1040208
0146 #define NPS_PKT_SLC_RERR_HI_ENA_W1S 0x1040220
0147 #define NPS_PKT_SLC_RERR_LO 0x1040228
0148 #define NPS_PKT_SLC_RERR_LO_ENA_W1S 0x1040240
0149 #define NPS_PKT_SLC_ERR_TYPE 0x1040248
0150 #define NPS_PKT_SLC_ERR_TYPE_ENA_W1S 0x1040260
0151
0152 #define NPS_PKT_MBOX_PF_VF_PFDATAX(_i) (0x1040800 + ((_i) * 0x8))
0153 #define NPS_PKT_MBOX_VF_PF_PFDATAX(_i) (0x1040C00 + ((_i) * 0x8))
0154
0155 #define NPS_PKT_SLC_CTLX(_i) (0x10000 + ((_i) * 0x40000))
0156 #define NPS_PKT_SLC_CNTSX(_i) (0x10008 + ((_i) * 0x40000))
0157 #define NPS_PKT_SLC_INT_LEVELSX(_i) (0x10010 + ((_i) * 0x40000))
0158
0159
0160 #define POM_INT_ENA_W1S 0x11C0018
0161 #define POM_GRP_EXECMASKX(_i) (0x11C1100 | ((_i) * 8))
0162 #define POM_INT 0x11C0000
0163 #define POM_PERF_CTL 0x11CC400
0164
0165
0166 #define BMI_INT 0x1140000
0167 #define BMI_CTL 0x1140020
0168 #define BMI_INT_ENA_W1S 0x1140018
0169 #define BMI_NPS_PKT_CNT 0x1140070
0170
0171
0172 #define EFL_CORE_INT_ENA_W1SX(_i) (0x1240018 + ((_i) * 0x400))
0173 #define EFL_CORE_VF_ERR_INT0X(_i) (0x1240050 + ((_i) * 0x400))
0174 #define EFL_CORE_VF_ERR_INT0_ENA_W1SX(_i) (0x1240068 + ((_i) * 0x400))
0175 #define EFL_CORE_VF_ERR_INT1X(_i) (0x1240070 + ((_i) * 0x400))
0176 #define EFL_CORE_VF_ERR_INT1_ENA_W1SX(_i) (0x1240088 + ((_i) * 0x400))
0177 #define EFL_CORE_SE_ERR_INTX(_i) (0x12400A0 + ((_i) * 0x400))
0178 #define EFL_RNM_CTL_STATUS 0x1241800
0179 #define EFL_CORE_INTX(_i) (0x1240000 + ((_i) * 0x400))
0180
0181
0182 #define BMO_CTL2 0x1180028
0183 #define BMO_NPS_SLC_PKT_CNT 0x1180078
0184
0185
0186 #define LBC_INT 0x1200000
0187 #define LBC_INVAL_CTL 0x1201010
0188 #define LBC_PLM_VF1_64_INT 0x1202008
0189 #define LBC_INVAL_STATUS 0x1202010
0190 #define LBC_INT_ENA_W1S 0x1203000
0191 #define LBC_PLM_VF1_64_INT_ENA_W1S 0x1205008
0192 #define LBC_PLM_VF65_128_INT 0x1206008
0193 #define LBC_ELM_VF1_64_INT 0x1208000
0194 #define LBC_PLM_VF65_128_INT_ENA_W1S 0x1209008
0195 #define LBC_ELM_VF1_64_INT_ENA_W1S 0x120B000
0196 #define LBC_ELM_VF65_128_INT 0x120C000
0197 #define LBC_ELM_VF65_128_INT_ENA_W1S 0x120F000
0198
0199 #define RST_BOOT 0x10C1600
0200 #define FUS_DAT1 0x10C1408
0201
0202
0203 #define PEM0_INT 0x1080428
0204
0205
0206
0207
0208
0209
0210 union ucd_core_eid_ucode_block_num {
0211 u64 value;
0212 struct {
0213 #if (defined(__BIG_ENDIAN_BITFIELD))
0214 u64 raz_4_63 : 60;
0215 u64 ucode_len : 1;
0216 u64 ucode_blk : 3;
0217 #else
0218 u64 ucode_blk : 3;
0219 u64 ucode_len : 1;
0220 u64 raz_4_63 : 60;
0221 #endif
0222 };
0223 };
0224
0225
0226
0227
0228
0229 union aqm_grp_execmsk_lo {
0230 u64 value;
0231 struct {
0232 #if (defined(__BIG_ENDIAN_BITFIELD))
0233 u64 raz_40_63 : 24;
0234 u64 exec_0_to_39 : 40;
0235 #else
0236 u64 exec_0_to_39 : 40;
0237 u64 raz_40_63 : 24;
0238 #endif
0239 };
0240 };
0241
0242
0243
0244
0245
0246 union aqm_grp_execmsk_hi {
0247 u64 value;
0248 struct {
0249 #if (defined(__BIG_ENDIAN_BITFIELD))
0250 u64 raz_40_63 : 24;
0251 u64 exec_40_to_79 : 40;
0252 #else
0253 u64 exec_40_to_79 : 40;
0254 u64 raz_40_63 : 24;
0255 #endif
0256 };
0257 };
0258
0259
0260
0261
0262
0263 union aqmq_drbl {
0264 u64 value;
0265 struct {
0266 #if (defined(__BIG_ENDIAN_BITFIELD))
0267 u64 raz_32_63 : 32;
0268 u64 dbell_count : 32;
0269 #else
0270 u64 dbell_count : 32;
0271 u64 raz_32_63 : 32;
0272 #endif
0273 };
0274 };
0275
0276
0277
0278
0279
0280
0281 union aqmq_qsz {
0282 u64 value;
0283 struct {
0284 #if (defined(__BIG_ENDIAN_BITFIELD))
0285 u64 raz_32_63 : 32;
0286 u64 host_queue_size : 32;
0287 #else
0288 u64 host_queue_size : 32;
0289 u64 raz_32_63 : 32;
0290 #endif
0291 };
0292 };
0293
0294
0295
0296
0297
0298
0299 union aqmq_cmp_thr {
0300 u64 value;
0301 struct {
0302 #if (defined(__BIG_ENDIAN_BITFIELD))
0303 u64 raz_32_63 : 32;
0304 u64 commands_completed_threshold : 32;
0305 #else
0306 u64 commands_completed_threshold : 32;
0307 u64 raz_32_63 : 32;
0308 #endif
0309 };
0310 };
0311
0312
0313
0314
0315
0316
0317
0318
0319 union aqmq_cmp_cnt {
0320 u64 value;
0321 struct {
0322 #if (defined(__BIG_ENDIAN_BITFIELD))
0323 u64 raz_34_63 : 30;
0324 u64 resend : 1;
0325 u64 completion_status : 1;
0326 u64 commands_completed_count : 32;
0327 #else
0328 u64 commands_completed_count : 32;
0329 u64 completion_status : 1;
0330 u64 resend : 1;
0331 u64 raz_34_63 : 30;
0332 #endif
0333 };
0334 };
0335
0336
0337
0338
0339
0340 union aqmq_en {
0341 u64 value;
0342 struct {
0343 #if (defined(__BIG_ENDIAN_BITFIELD))
0344 u64 raz_1_63 : 63;
0345 u64 queue_enable : 1;
0346 #else
0347 u64 queue_enable : 1;
0348 u64 raz_1_63 : 63;
0349 #endif
0350 };
0351 };
0352
0353
0354
0355
0356
0357 union aqmq_activity_stat {
0358 u64 value;
0359 struct {
0360 #if (defined(__BIG_ENDIAN_BITFIELD))
0361 u64 raz_1_63 : 63;
0362 u64 queue_active : 1;
0363 #else
0364 u64 queue_active : 1;
0365 u64 raz_1_63 : 63;
0366 #endif
0367 };
0368 };
0369
0370
0371
0372
0373
0374
0375
0376
0377 union emu_fuse_map {
0378 u64 value;
0379 struct {
0380 #if (defined(__BIG_ENDIAN_BITFIELD))
0381 u64 valid : 1;
0382 u64 raz_52_62 : 11;
0383 u64 ae_fuse : 20;
0384 u64 raz_16_31 : 16;
0385 u64 se_fuse : 16;
0386 #else
0387 u64 se_fuse : 16;
0388 u64 raz_16_31 : 16;
0389 u64 ae_fuse : 20;
0390 u64 raz_52_62 : 11;
0391 u64 valid : 1;
0392 #endif
0393 } s;
0394 };
0395
0396
0397
0398
0399
0400
0401 union emu_se_enable {
0402 u64 value;
0403 struct {
0404 #if (defined(__BIG_ENDIAN_BITFIELD))
0405 u64 raz : 48;
0406 u64 enable : 16;
0407 #else
0408 u64 enable : 16;
0409 u64 raz : 48;
0410 #endif
0411 } s;
0412 };
0413
0414
0415
0416
0417
0418
0419 union emu_ae_enable {
0420 u64 value;
0421 struct {
0422 #if (defined(__BIG_ENDIAN_BITFIELD))
0423 u64 raz : 44;
0424 u64 enable : 20;
0425 #else
0426 u64 enable : 20;
0427 u64 raz : 44;
0428 #endif
0429 } s;
0430 };
0431
0432
0433
0434
0435
0436
0437 union emu_wd_int_ena_w1s {
0438 u64 value;
0439 struct {
0440 #if (defined(__BIG_ENDIAN_BITFIELD))
0441 u64 raz2 : 12;
0442 u64 ae_wd : 20;
0443 u64 raz1 : 16;
0444 u64 se_wd : 16;
0445 #else
0446 u64 se_wd : 16;
0447 u64 raz1 : 16;
0448 u64 ae_wd : 20;
0449 u64 raz2 : 12;
0450 #endif
0451 } s;
0452 };
0453
0454
0455
0456
0457
0458
0459 union emu_ge_int_ena_w1s {
0460 u64 value;
0461 struct {
0462 #if (defined(__BIG_ENDIAN_BITFIELD))
0463 u64 raz_52_63 : 12;
0464 u64 ae_ge : 20;
0465 u64 raz_16_31: 16;
0466 u64 se_ge : 16;
0467 #else
0468 u64 se_ge : 16;
0469 u64 raz_16_31: 16;
0470 u64 ae_ge : 20;
0471 u64 raz_52_63 : 12;
0472 #endif
0473 } s;
0474 };
0475
0476
0477
0478
0479
0480
0481
0482
0483
0484 union nps_pkt_slc_ctl {
0485 u64 value;
0486 struct {
0487 #if defined(__BIG_ENDIAN_BITFIELD)
0488 u64 raz : 61;
0489 u64 rh : 1;
0490 u64 z : 1;
0491 u64 enb : 1;
0492 #else
0493 u64 enb : 1;
0494 u64 z : 1;
0495 u64 rh : 1;
0496 u64 raz : 61;
0497 #endif
0498 } s;
0499 };
0500
0501
0502
0503
0504
0505
0506
0507
0508
0509
0510
0511
0512
0513
0514
0515
0516
0517
0518
0519
0520 union nps_pkt_slc_cnts {
0521 u64 value;
0522 struct {
0523 #if defined(__BIG_ENDIAN_BITFIELD)
0524 u64 slc_int : 1;
0525 u64 uns_int : 1;
0526 u64 in_int : 1;
0527 u64 mbox_int : 1;
0528 u64 resend : 1;
0529 u64 raz : 5;
0530 u64 timer : 22;
0531 u64 cnt : 32;
0532 #else
0533 u64 cnt : 32;
0534 u64 timer : 22;
0535 u64 raz : 5;
0536 u64 resend : 1;
0537 u64 mbox_int : 1;
0538 u64 in_int : 1;
0539 u64 uns_int : 1;
0540 u64 slc_int : 1;
0541 #endif
0542 } s;
0543 };
0544
0545
0546
0547
0548
0549
0550
0551
0552
0553 union nps_pkt_slc_int_levels {
0554 u64 value;
0555 struct {
0556 #if defined(__BIG_ENDIAN_BITFIELD)
0557 u64 bmode : 1;
0558 u64 raz : 9;
0559 u64 timet : 22;
0560 u64 cnt : 32;
0561 #else
0562 u64 cnt : 32;
0563 u64 timet : 22;
0564 u64 raz : 9;
0565 u64 bmode : 1;
0566 #endif
0567 } s;
0568 };
0569
0570
0571
0572
0573
0574
0575
0576
0577
0578
0579 union nps_pkt_int {
0580 u64 value;
0581 struct {
0582 #if defined(__BIG_ENDIAN_BITFIELD)
0583 u64 raz : 54;
0584 u64 uns_wto : 1;
0585 u64 in_err : 1;
0586 u64 uns_err : 1;
0587 u64 slc_err : 1;
0588 u64 in_dbe : 1;
0589 u64 in_sbe : 1;
0590 u64 uns_dbe : 1;
0591 u64 uns_sbe : 1;
0592 u64 slc_dbe : 1;
0593 u64 slc_sbe : 1;
0594 #else
0595 u64 slc_sbe : 1;
0596 u64 slc_dbe : 1;
0597 u64 uns_sbe : 1;
0598 u64 uns_dbe : 1;
0599 u64 in_sbe : 1;
0600 u64 in_dbe : 1;
0601 u64 slc_err : 1;
0602 u64 uns_err : 1;
0603 u64 in_err : 1;
0604 u64 uns_wto : 1;
0605 u64 raz : 54;
0606 #endif
0607 } s;
0608 };
0609
0610
0611
0612
0613
0614
0615
0616
0617
0618
0619
0620
0621
0622
0623
0624
0625
0626
0627
0628
0629
0630
0631
0632
0633
0634
0635
0636
0637
0638
0639
0640
0641
0642
0643
0644
0645
0646 union nps_pkt_in_done_cnts {
0647 u64 value;
0648 struct {
0649 #if defined(__BIG_ENDIAN_BITFIELD)
0650 u64 slc_int : 1;
0651 u64 uns_int : 1;
0652 u64 in_int : 1;
0653 u64 mbox_int : 1;
0654 u64 resend : 1;
0655 u64 raz : 27;
0656 u64 cnt : 32;
0657 #else
0658 u64 cnt : 32;
0659 u64 raz : 27;
0660 u64 resend : 1;
0661 u64 mbox_int : 1;
0662 u64 in_int : 1;
0663 u64 uns_int : 1;
0664 u64 slc_int : 1;
0665 #endif
0666 } s;
0667 };
0668
0669
0670
0671
0672
0673
0674
0675 union nps_pkt_in_instr_ctl {
0676 u64 value;
0677 struct {
0678 #if (defined(__BIG_ENDIAN_BITFIELD))
0679 u64 raz : 62;
0680 u64 is64b : 1;
0681 u64 enb : 1;
0682 #else
0683 u64 enb : 1;
0684 u64 is64b : 1;
0685 u64 raz : 62;
0686 #endif
0687 } s;
0688 };
0689
0690
0691
0692
0693
0694 union nps_pkt_in_instr_rsize {
0695 u64 value;
0696 struct {
0697 #if (defined(__BIG_ENDIAN_BITFIELD))
0698 u64 raz : 32;
0699 u64 rsize : 32;
0700 #else
0701 u64 rsize : 32;
0702 u64 raz : 32;
0703 #endif
0704 } s;
0705 };
0706
0707
0708
0709
0710
0711
0712
0713
0714
0715
0716 union nps_pkt_in_instr_baoff_dbell {
0717 u64 value;
0718 struct {
0719 #if (defined(__BIG_ENDIAN_BITFIELD))
0720 u64 aoff : 32;
0721 u64 dbell : 32;
0722 #else
0723 u64 dbell : 32;
0724 u64 aoff : 32;
0725 #endif
0726 } s;
0727 };
0728
0729
0730
0731
0732
0733
0734
0735
0736
0737
0738
0739
0740
0741
0742 union nps_core_int_ena_w1s {
0743 u64 value;
0744 struct {
0745 #if (defined(__BIG_ENDIAN_BITFIELD))
0746 u64 raz4 : 55;
0747 u64 host_nps_wr_err : 1;
0748 u64 npco_dma_malform : 1;
0749 u64 exec_wr_timeout : 1;
0750 u64 host_wr_timeout : 1;
0751 u64 host_wr_err : 1;
0752 u64 raz3 : 1;
0753 u64 raz2 : 1;
0754 u64 raz1 : 1;
0755 u64 raz0 : 1;
0756 #else
0757 u64 raz0 : 1;
0758 u64 raz1 : 1;
0759 u64 raz2 : 1;
0760 u64 raz3 : 1;
0761 u64 host_wr_err : 1;
0762 u64 host_wr_timeout : 1;
0763 u64 exec_wr_timeout : 1;
0764 u64 npco_dma_malform : 1;
0765 u64 host_nps_wr_err : 1;
0766 u64 raz4 : 55;
0767 #endif
0768 } s;
0769 };
0770
0771
0772
0773
0774
0775
0776
0777
0778
0779
0780
0781
0782
0783
0784
0785
0786
0787
0788
0789
0790
0791
0792 union nps_core_gbl_vfcfg {
0793 u64 value;
0794 struct {
0795 #if (defined(__BIG_ENDIAN_BITFIELD))
0796 u64 raz :55;
0797 u64 ilk_disable :1;
0798 u64 obaf :1;
0799 u64 ibaf :1;
0800 u64 zaf :1;
0801 u64 aeaf :1;
0802 u64 seaf :1;
0803 u64 cfg :3;
0804 #else
0805 u64 cfg :3;
0806 u64 seaf :1;
0807 u64 aeaf :1;
0808 u64 zaf :1;
0809 u64 ibaf :1;
0810 u64 obaf :1;
0811 u64 ilk_disable :1;
0812 u64 raz :55;
0813 #endif
0814 } s;
0815 };
0816
0817
0818
0819
0820
0821
0822
0823
0824
0825
0826
0827
0828
0829
0830
0831
0832
0833
0834
0835
0836
0837
0838
0839
0840
0841
0842
0843
0844
0845
0846 union nps_core_int_active {
0847 u64 value;
0848 struct {
0849 #if (defined(__BIG_ENDIAN_BITFIELD))
0850 u64 resend : 1;
0851 u64 raz : 43;
0852 u64 ocla : 1;
0853 u64 mbox : 1;
0854 u64 emu : 4;
0855 u64 bmo : 1;
0856 u64 bmi : 1;
0857 u64 aqm : 1;
0858 u64 zqm : 1;
0859 u64 efl : 1;
0860 u64 ilk : 1;
0861 u64 lbc : 1;
0862 u64 pem : 1;
0863 u64 pom : 1;
0864 u64 ucd : 1;
0865 u64 zctl : 1;
0866 u64 lbm : 1;
0867 u64 nps_pkt : 1;
0868 u64 nps_core : 1;
0869 #else
0870 u64 nps_core : 1;
0871 u64 nps_pkt : 1;
0872 u64 lbm : 1;
0873 u64 zctl: 1;
0874 u64 ucd : 1;
0875 u64 pom : 1;
0876 u64 pem : 1;
0877 u64 lbc : 1;
0878 u64 ilk : 1;
0879 u64 efl : 1;
0880 u64 zqm : 1;
0881 u64 aqm : 1;
0882 u64 bmi : 1;
0883 u64 bmo : 1;
0884 u64 emu : 4;
0885 u64 mbox : 1;
0886 u64 ocla : 1;
0887 u64 raz : 43;
0888 u64 resend : 1;
0889 #endif
0890 } s;
0891 };
0892
0893
0894
0895
0896
0897
0898
0899
0900
0901
0902
0903
0904
0905
0906
0907
0908
0909
0910 union efl_core_int {
0911 u64 value;
0912 struct {
0913 #if (defined(__BIG_ENDIAN_BITFIELD))
0914 u64 raz : 57;
0915 u64 epci_decode_err : 1;
0916 u64 ae_err : 1;
0917 u64 se_err : 1;
0918 u64 dbe : 1;
0919 u64 sbe : 1;
0920 u64 d_left : 1;
0921 u64 len_ovr : 1;
0922 #else
0923 u64 len_ovr : 1;
0924 u64 d_left : 1;
0925 u64 sbe : 1;
0926 u64 dbe : 1;
0927 u64 se_err : 1;
0928 u64 ae_err : 1;
0929 u64 epci_decode_err : 1;
0930 u64 raz : 57;
0931 #endif
0932 } s;
0933 };
0934
0935
0936
0937
0938
0939
0940
0941
0942
0943
0944 union efl_core_int_ena_w1s {
0945 u64 value;
0946 struct {
0947 #if (defined(__BIG_ENDIAN_BITFIELD))
0948 u64 raz_7_63 : 57;
0949 u64 epci_decode_err : 1;
0950 u64 raz_2_5 : 4;
0951 u64 d_left : 1;
0952 u64 len_ovr : 1;
0953 #else
0954 u64 len_ovr : 1;
0955 u64 d_left : 1;
0956 u64 raz_2_5 : 4;
0957 u64 epci_decode_err : 1;
0958 u64 raz_7_63 : 57;
0959 #endif
0960 } s;
0961 };
0962
0963
0964
0965
0966
0967
0968
0969
0970
0971
0972
0973
0974 union efl_rnm_ctl_status {
0975 u64 value;
0976 struct {
0977 #if (defined(__BIG_ENDIAN_BITFIELD))
0978 u64 raz_9_63 : 55;
0979 u64 ent_sel : 4;
0980 u64 exp_ent : 1;
0981 u64 rng_rst : 1;
0982 u64 rnm_rst : 1;
0983 u64 rng_en : 1;
0984 u64 ent_en : 1;
0985 #else
0986 u64 ent_en : 1;
0987 u64 rng_en : 1;
0988 u64 rnm_rst : 1;
0989 u64 rng_rst : 1;
0990 u64 exp_ent : 1;
0991 u64 ent_sel : 4;
0992 u64 raz_9_63 : 55;
0993 #endif
0994 } s;
0995 };
0996
0997
0998
0999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017 union bmi_ctl {
1018 u64 value;
1019 struct {
1020 #if (defined(__BIG_ENDIAN_BITFIELD))
1021 u64 raz_56_63 : 8;
1022 u64 ilk_hdrq_thrsh : 8;
1023 u64 nps_hdrq_thrsh : 8;
1024 u64 totl_hdrq_thrsh : 8;
1025 u64 ilk_free_thrsh : 8;
1026 u64 nps_free_thrsh : 8;
1027 u64 totl_free_thrsh : 8;
1028 u64 max_pkt_len : 8;
1029 #else
1030 u64 max_pkt_len : 8;
1031 u64 totl_free_thrsh : 8;
1032 u64 nps_free_thrsh : 8;
1033 u64 ilk_free_thrsh : 8;
1034 u64 totl_hdrq_thrsh : 8;
1035 u64 nps_hdrq_thrsh : 8;
1036 u64 ilk_hdrq_thrsh : 8;
1037 u64 raz_56_63 : 8;
1038 #endif
1039 } s;
1040 };
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067 union bmi_int_ena_w1s {
1068 u64 value;
1069 struct {
1070 #if (defined(__BIG_ENDIAN_BITFIELD))
1071 u64 raz_13_63 : 51;
1072 u64 ilk_req_oflw : 1;
1073 u64 nps_req_oflw : 1;
1074 u64 raz_10 : 1;
1075 u64 raz_9 : 1;
1076 u64 fpf_undrrn : 1;
1077 u64 eop_err_ilk : 1;
1078 u64 eop_err_nps : 1;
1079 u64 sop_err_ilk : 1;
1080 u64 sop_err_nps : 1;
1081 u64 pkt_rcv_err_ilk : 1;
1082 u64 pkt_rcv_err_nps : 1;
1083 u64 max_len_err_ilk : 1;
1084 u64 max_len_err_nps : 1;
1085 #else
1086 u64 max_len_err_nps : 1;
1087 u64 max_len_err_ilk : 1;
1088 u64 pkt_rcv_err_nps : 1;
1089 u64 pkt_rcv_err_ilk : 1;
1090 u64 sop_err_nps : 1;
1091 u64 sop_err_ilk : 1;
1092 u64 eop_err_nps : 1;
1093 u64 eop_err_ilk : 1;
1094 u64 fpf_undrrn : 1;
1095 u64 raz_9 : 1;
1096 u64 raz_10 : 1;
1097 u64 nps_req_oflw : 1;
1098 u64 ilk_req_oflw : 1;
1099 u64 raz_13_63 : 51;
1100 #endif
1101 } s;
1102 };
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120 union bmo_ctl2 {
1121 u64 value;
1122 struct {
1123 #if (defined(__BIG_ENDIAN_BITFIELD))
1124 u64 arb_sel : 1;
1125 u64 raz_32_62 : 31;
1126 u64 ilk_buf_thrsh : 8;
1127 u64 nps_slc_buf_thrsh : 8;
1128 u64 nps_uns_buf_thrsh : 8;
1129 u64 totl_buf_thrsh : 8;
1130 #else
1131 u64 totl_buf_thrsh : 8;
1132 u64 nps_uns_buf_thrsh : 8;
1133 u64 nps_slc_buf_thrsh : 8;
1134 u64 ilk_buf_thrsh : 8;
1135 u64 raz_32_62 : 31;
1136 u64 arb_sel : 1;
1137 #endif
1138 } s;
1139 };
1140
1141
1142
1143
1144
1145
1146 union pom_int_ena_w1s {
1147 u64 value;
1148 struct {
1149 #if (defined(__BIG_ENDIAN_BITFIELD))
1150 u64 raz2 : 60;
1151 u64 illegal_intf : 1;
1152 u64 illegal_dport : 1;
1153 u64 raz1 : 1;
1154 u64 raz0 : 1;
1155 #else
1156 u64 raz0 : 1;
1157 u64 raz1 : 1;
1158 u64 illegal_dport : 1;
1159 u64 illegal_intf : 1;
1160 u64 raz2 : 60;
1161 #endif
1162 } s;
1163 };
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175 union lbc_inval_ctl {
1176 u64 value;
1177 struct {
1178 #if (defined(__BIG_ENDIAN_BITFIELD))
1179 u64 raz2 : 48;
1180 u64 wait_timer : 8;
1181 u64 raz1 : 6;
1182 u64 cam_inval_start : 1;
1183 u64 raz0 : 1;
1184 #else
1185 u64 raz0 : 1;
1186 u64 cam_inval_start : 1;
1187 u64 raz1 : 6;
1188 u64 wait_timer : 8;
1189 u64 raz2 : 48;
1190 #endif
1191 } s;
1192 };
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206 union lbc_int_ena_w1s {
1207 u64 value;
1208 struct {
1209 #if (defined(__BIG_ENDIAN_BITFIELD))
1210 u64 raz_10_63 : 54;
1211 u64 cam_hard_err : 1;
1212 u64 cam_inval_abort : 1;
1213 u64 over_fetch_err : 1;
1214 u64 cache_line_to_err : 1;
1215 u64 raz_2_5 : 4;
1216 u64 cam_soft_err : 1;
1217 u64 dma_rd_err : 1;
1218 #else
1219 u64 dma_rd_err : 1;
1220 u64 cam_soft_err : 1;
1221 u64 raz_2_5 : 4;
1222 u64 cache_line_to_err : 1;
1223 u64 over_fetch_err : 1;
1224 u64 cam_inval_abort : 1;
1225 u64 cam_hard_err : 1;
1226 u64 raz_10_63 : 54;
1227 #endif
1228 } s;
1229 };
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264 union lbc_int {
1265 u64 value;
1266 struct {
1267 #if (defined(__BIG_ENDIAN_BITFIELD))
1268 u64 raz_10_63 : 54;
1269 u64 cam_hard_err : 1;
1270 u64 cam_inval_abort : 1;
1271 u64 over_fetch_err : 1;
1272 u64 cache_line_to_err : 1;
1273 u64 sbe : 1;
1274 u64 dbe : 1;
1275 u64 pref_dat_len_mismatch_err : 1;
1276 u64 rd_dat_len_mismatch_err : 1;
1277 u64 cam_soft_err : 1;
1278 u64 dma_rd_err : 1;
1279 #else
1280 u64 dma_rd_err : 1;
1281 u64 cam_soft_err : 1;
1282 u64 rd_dat_len_mismatch_err : 1;
1283 u64 pref_dat_len_mismatch_err : 1;
1284 u64 dbe : 1;
1285 u64 sbe : 1;
1286 u64 cache_line_to_err : 1;
1287 u64 over_fetch_err : 1;
1288 u64 cam_inval_abort : 1;
1289 u64 cam_hard_err : 1;
1290 u64 raz_10_63 : 54;
1291 #endif
1292 } s;
1293 };
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309 union lbc_inval_status {
1310 u64 value;
1311 struct {
1312 #if (defined(__BIG_ENDIAN_BITFIELD))
1313 u64 raz3 : 23;
1314 u64 cam_clean_entry_complete_cnt : 9;
1315 u64 raz2 : 7;
1316 u64 cam_clean_entry_cnt : 9;
1317 u64 raz1 : 5;
1318 u64 cam_inval_state : 3;
1319 u64 raz0 : 5;
1320 u64 cam_inval_abort : 1;
1321 u64 cam_rst_rdy : 1;
1322 u64 done : 1;
1323 #else
1324 u64 done : 1;
1325 u64 cam_rst_rdy : 1;
1326 u64 cam_inval_abort : 1;
1327 u64 raz0 : 5;
1328 u64 cam_inval_state : 3;
1329 u64 raz1 : 5;
1330 u64 cam_clean_entry_cnt : 9;
1331 u64 raz2 : 7;
1332 u64 cam_clean_entry_complete_cnt : 9;
1333 u64 raz3 : 23;
1334 #endif
1335 } s;
1336 };
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354 union rst_boot {
1355 u64 value;
1356 struct {
1357 #if (defined(__BIG_ENDIAN_BITFIELD))
1358 u64 raz_63 : 1;
1359 u64 jtcsrdis : 1;
1360 u64 raz_59_61 : 3;
1361 u64 jt_tst_mode : 1;
1362 u64 raz_40_57 : 18;
1363 u64 io_supply : 3;
1364 u64 raz_30_36 : 7;
1365 u64 pnr_mul : 6;
1366 u64 raz_12_23 : 12;
1367 u64 lboot : 10;
1368 u64 rboot : 1;
1369 u64 rboot_pin : 1;
1370 #else
1371 u64 rboot_pin : 1;
1372 u64 rboot : 1;
1373 u64 lboot : 10;
1374 u64 raz_12_23 : 12;
1375 u64 pnr_mul : 6;
1376 u64 raz_30_36 : 7;
1377 u64 io_supply : 3;
1378 u64 raz_40_57 : 18;
1379 u64 jt_tst_mode : 1;
1380 u64 raz_59_61 : 3;
1381 u64 jtcsrdis : 1;
1382 u64 raz_63 : 1;
1383 #endif
1384 };
1385 };
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402 union fus_dat1 {
1403 u64 value;
1404 struct {
1405 #if (defined(__BIG_ENDIAN_BITFIELD))
1406 u64 raz_57_63 : 7;
1407 u64 pll_mul : 3;
1408 u64 pll_half_dis : 1;
1409 u64 raz_43_52 : 10;
1410 u64 efus_lck : 3;
1411 u64 raz_26_39 : 14;
1412 u64 zip_info : 5;
1413 u64 bar2_sz_conf : 1;
1414 u64 efus_ign : 1;
1415 u64 nozip : 1;
1416 u64 raz_11_17 : 7;
1417 u64 pll_alt_matrix : 1;
1418 u64 pll_bwadj_denom : 2;
1419 u64 chip_id : 8;
1420 #else
1421 u64 chip_id : 8;
1422 u64 pll_bwadj_denom : 2;
1423 u64 pll_alt_matrix : 1;
1424 u64 raz_11_17 : 7;
1425 u64 nozip : 1;
1426 u64 efus_ign : 1;
1427 u64 bar2_sz_conf : 1;
1428 u64 zip_info : 5;
1429 u64 raz_26_39 : 14;
1430 u64 efus_lck : 3;
1431 u64 raz_43_52 : 10;
1432 u64 pll_half_dis : 1;
1433 u64 pll_mul : 3;
1434 u64 raz_57_63 : 7;
1435 #endif
1436 };
1437 };
1438
1439 #endif