1
2 #ifndef __NITROX_CSR_H
3 #define __NITROX_CSR_H
4
5 #include <asm/byteorder.h>
6 #include <linux/types.h>
7
8
9 #define NR_CLUSTERS 4
10
11
12
13 #define AE_CORES_PER_CLUSTER 20
14 #define SE_CORES_PER_CLUSTER 16
15
16 #define AE_MAX_CORES (AE_CORES_PER_CLUSTER * NR_CLUSTERS)
17 #define SE_MAX_CORES (SE_CORES_PER_CLUSTER * NR_CLUSTERS)
18 #define ZIP_MAX_CORES 5
19
20
21 #define EMU_BIST_STATUSX(_i) (0x1402700 + ((_i) * 0x40000))
22 #define UCD_BIST_STATUS 0x12C0070
23 #define NPS_CORE_BIST_REG 0x10000E8
24 #define NPS_CORE_NPC_BIST_REG 0x1000128
25 #define NPS_PKT_SLC_BIST_REG 0x1040088
26 #define NPS_PKT_IN_BIST_REG 0x1040100
27 #define POM_BIST_REG 0x11C0100
28 #define BMI_BIST_REG 0x1140080
29 #define EFL_CORE_BIST_REGX(_i) (0x1240100 + ((_i) * 0x400))
30 #define EFL_TOP_BIST_STAT 0x1241090
31 #define BMO_BIST_REG 0x1180080
32 #define LBC_BIST_STATUS 0x1200020
33 #define PEM_BIST_STATUSX(_i) (0x1080468 | ((_i) << 18))
34
35
36 #define EMU_SE_ENABLEX(_i) (0x1400000 + ((_i) * 0x40000))
37 #define EMU_AE_ENABLEX(_i) (0x1400008 + ((_i) * 0x40000))
38 #define EMU_WD_INT_ENA_W1SX(_i) (0x1402318 + ((_i) * 0x40000))
39 #define EMU_GE_INT_ENA_W1SX(_i) (0x1402518 + ((_i) * 0x40000))
40 #define EMU_FUSE_MAPX(_i) (0x1402708 + ((_i) * 0x40000))
41
42
43 #define UCD_SE_EID_UCODE_BLOCK_NUMX(_i) (0x12C0000 + ((_i) * 0x1000))
44 #define UCD_AE_EID_UCODE_BLOCK_NUMX(_i) (0x12C0008 + ((_i) * 0x800))
45 #define UCD_UCODE_LOAD_BLOCK_NUM 0x12C0010
46 #define UCD_UCODE_LOAD_IDX_DATAX(_i) (0x12C0018 + ((_i) * 0x20))
47 #define UCD_SE_CNTX(_i) (0x12C0040 + ((_i) * 0x1000))
48 #define UCD_AE_CNTX(_i) (0x12C0048 + ((_i) * 0x800))
49
50
51 #define AQM_CTL 0x1300000
52 #define AQM_INT 0x1300008
53 #define AQM_DBELL_OVF_LO 0x1300010
54 #define AQM_DBELL_OVF_HI 0x1300018
55 #define AQM_DBELL_OVF_LO_W1S 0x1300020
56 #define AQM_DBELL_OVF_LO_ENA_W1C 0x1300028
57 #define AQM_DBELL_OVF_LO_ENA_W1S 0x1300030
58 #define AQM_DBELL_OVF_HI_W1S 0x1300038
59 #define AQM_DBELL_OVF_HI_ENA_W1C 0x1300040
60 #define AQM_DBELL_OVF_HI_ENA_W1S 0x1300048
61 #define AQM_DMA_RD_ERR_LO 0x1300050
62 #define AQM_DMA_RD_ERR_HI 0x1300058
63 #define AQM_DMA_RD_ERR_LO_W1S 0x1300060
64 #define AQM_DMA_RD_ERR_LO_ENA_W1C 0x1300068
65 #define AQM_DMA_RD_ERR_LO_ENA_W1S 0x1300070
66 #define AQM_DMA_RD_ERR_HI_W1S 0x1300078
67 #define AQM_DMA_RD_ERR_HI_ENA_W1C 0x1300080
68 #define AQM_DMA_RD_ERR_HI_ENA_W1S 0x1300088
69 #define AQM_EXEC_NA_LO 0x1300090
70 #define AQM_EXEC_NA_HI 0x1300098
71 #define AQM_EXEC_NA_LO_W1S 0x13000A0
72 #define AQM_EXEC_NA_LO_ENA_W1C 0x13000A8
73 #define AQM_EXEC_NA_LO_ENA_W1S 0x13000B0
74 #define AQM_EXEC_NA_HI_W1S 0x13000B8
75 #define AQM_EXEC_NA_HI_ENA_W1C 0x13000C0
76 #define AQM_EXEC_NA_HI_ENA_W1S 0x13000C8
77 #define AQM_EXEC_ERR_LO 0x13000D0
78 #define AQM_EXEC_ERR_HI 0x13000D8
79 #define AQM_EXEC_ERR_LO_W1S 0x13000E0
80 #define AQM_EXEC_ERR_LO_ENA_W1C 0x13000E8
81 #define AQM_EXEC_ERR_LO_ENA_W1S 0x13000F0
82 #define AQM_EXEC_ERR_HI_W1S 0x13000F8
83 #define AQM_EXEC_ERR_HI_ENA_W1C 0x1300100
84 #define AQM_EXEC_ERR_HI_ENA_W1S 0x1300108
85 #define AQM_ECC_INT 0x1300110
86 #define AQM_ECC_INT_W1S 0x1300118
87 #define AQM_ECC_INT_ENA_W1C 0x1300120
88 #define AQM_ECC_INT_ENA_W1S 0x1300128
89 #define AQM_ECC_CTL 0x1300130
90 #define AQM_BIST_STATUS 0x1300138
91 #define AQM_CMD_INF_THRX(x) (0x1300400 + ((x) * 0x8))
92 #define AQM_CMD_INFX(x) (0x1300800 + ((x) * 0x8))
93 #define AQM_GRP_EXECMSK_LOX(x) (0x1300C00 + ((x) * 0x10))
94 #define AQM_GRP_EXECMSK_HIX(x) (0x1300C08 + ((x) * 0x10))
95 #define AQM_ACTIVITY_STAT_LO 0x1300C80
96 #define AQM_ACTIVITY_STAT_HI 0x1300C88
97 #define AQM_Q_CMD_PROCX(x) (0x1301000 + ((x) * 0x8))
98 #define AQM_PERF_CTL_LO 0x1301400
99 #define AQM_PERF_CTL_HI 0x1301408
100 #define AQM_PERF_CNT 0x1301410
101
102 #define AQMQ_DRBLX(x) (0x20000 + ((x) * 0x40000))
103 #define AQMQ_QSZX(x) (0x20008 + ((x) * 0x40000))
104 #define AQMQ_BADRX(x) (0x20010 + ((x) * 0x40000))
105 #define AQMQ_NXT_CMDX(x) (0x20018 + ((x) * 0x40000))
106 #define AQMQ_CMD_CNTX(x) (0x20020 + ((x) * 0x40000))
107 #define AQMQ_CMP_THRX(x) (0x20028 + ((x) * 0x40000))
108 #define AQMQ_CMP_CNTX(x) (0x20030 + ((x) * 0x40000))
109 #define AQMQ_TIM_LDX(x) (0x20038 + ((x) * 0x40000))
110 #define AQMQ_TIMERX(x) (0x20040 + ((x) * 0x40000))
111 #define AQMQ_ENX(x) (0x20048 + ((x) * 0x40000))
112 #define AQMQ_ACTIVITY_STATX(x) (0x20050 + ((x) * 0x40000))
113 #define AQM_VF_CMP_STATX(x) (0x28000 + ((x) * 0x40000))
114
115
116 #define NPS_CORE_GBL_VFCFG 0x1000000
117 #define NPS_CORE_CONTROL 0x1000008
118 #define NPS_CORE_INT_ACTIVE 0x1000080
119 #define NPS_CORE_INT 0x10000A0
120 #define NPS_CORE_INT_ENA_W1S 0x10000B8
121 #define NPS_STATS_PKT_DMA_RD_CNT 0x1000180
122 #define NPS_STATS_PKT_DMA_WR_CNT 0x1000190
123
124
125 #define NPS_PKT_INT 0x1040018
126 #define NPS_PKT_MBOX_INT_LO 0x1040020
127 #define NPS_PKT_MBOX_INT_LO_ENA_W1C 0x1040030
128 #define NPS_PKT_MBOX_INT_LO_ENA_W1S 0x1040038
129 #define NPS_PKT_MBOX_INT_HI 0x1040040
130 #define NPS_PKT_MBOX_INT_HI_ENA_W1C 0x1040050
131 #define NPS_PKT_MBOX_INT_HI_ENA_W1S 0x1040058
132 #define NPS_PKT_IN_RERR_HI 0x1040108
133 #define NPS_PKT_IN_RERR_HI_ENA_W1S 0x1040120
134 #define NPS_PKT_IN_RERR_LO 0x1040128
135 #define NPS_PKT_IN_RERR_LO_ENA_W1S 0x1040140
136 #define NPS_PKT_IN_ERR_TYPE 0x1040148
137 #define NPS_PKT_IN_ERR_TYPE_ENA_W1S 0x1040160
138 #define NPS_PKT_IN_INSTR_CTLX(_i) (0x10060 + ((_i) * 0x40000))
139 #define NPS_PKT_IN_INSTR_BADDRX(_i) (0x10068 + ((_i) * 0x40000))
140 #define NPS_PKT_IN_INSTR_RSIZEX(_i) (0x10070 + ((_i) * 0x40000))
141 #define NPS_PKT_IN_DONE_CNTSX(_i) (0x10080 + ((_i) * 0x40000))
142 #define NPS_PKT_IN_INSTR_BAOFF_DBELLX(_i) (0x10078 + ((_i) * 0x40000))
143 #define NPS_PKT_IN_INT_LEVELSX(_i) (0x10088 + ((_i) * 0x40000))
144
145 #define NPS_PKT_SLC_RERR_HI 0x1040208
146 #define NPS_PKT_SLC_RERR_HI_ENA_W1S 0x1040220
147 #define NPS_PKT_SLC_RERR_LO 0x1040228
148 #define NPS_PKT_SLC_RERR_LO_ENA_W1S 0x1040240
149 #define NPS_PKT_SLC_ERR_TYPE 0x1040248
150 #define NPS_PKT_SLC_ERR_TYPE_ENA_W1S 0x1040260
151
152 #define NPS_PKT_MBOX_PF_VF_PFDATAX(_i) (0x1040800 + ((_i) * 0x8))
153 #define NPS_PKT_MBOX_VF_PF_PFDATAX(_i) (0x1040C00 + ((_i) * 0x8))
154
155 #define NPS_PKT_SLC_CTLX(_i) (0x10000 + ((_i) * 0x40000))
156 #define NPS_PKT_SLC_CNTSX(_i) (0x10008 + ((_i) * 0x40000))
157 #define NPS_PKT_SLC_INT_LEVELSX(_i) (0x10010 + ((_i) * 0x40000))
158
159
160 #define POM_INT_ENA_W1S 0x11C0018
161 #define POM_GRP_EXECMASKX(_i) (0x11C1100 | ((_i) * 8))
162 #define POM_INT 0x11C0000
163 #define POM_PERF_CTL 0x11CC400
164
165
166 #define BMI_INT 0x1140000
167 #define BMI_CTL 0x1140020
168 #define BMI_INT_ENA_W1S 0x1140018
169 #define BMI_NPS_PKT_CNT 0x1140070
170
171
172 #define EFL_CORE_INT_ENA_W1SX(_i) (0x1240018 + ((_i) * 0x400))
173 #define EFL_CORE_VF_ERR_INT0X(_i) (0x1240050 + ((_i) * 0x400))
174 #define EFL_CORE_VF_ERR_INT0_ENA_W1SX(_i) (0x1240068 + ((_i) * 0x400))
175 #define EFL_CORE_VF_ERR_INT1X(_i) (0x1240070 + ((_i) * 0x400))
176 #define EFL_CORE_VF_ERR_INT1_ENA_W1SX(_i) (0x1240088 + ((_i) * 0x400))
177 #define EFL_CORE_SE_ERR_INTX(_i) (0x12400A0 + ((_i) * 0x400))
178 #define EFL_RNM_CTL_STATUS 0x1241800
179 #define EFL_CORE_INTX(_i) (0x1240000 + ((_i) * 0x400))
180
181
182 #define BMO_CTL2 0x1180028
183 #define BMO_NPS_SLC_PKT_CNT 0x1180078
184
185
186 #define LBC_INT 0x1200000
187 #define LBC_INVAL_CTL 0x1201010
188 #define LBC_PLM_VF1_64_INT 0x1202008
189 #define LBC_INVAL_STATUS 0x1202010
190 #define LBC_INT_ENA_W1S 0x1203000
191 #define LBC_PLM_VF1_64_INT_ENA_W1S 0x1205008
192 #define LBC_PLM_VF65_128_INT 0x1206008
193 #define LBC_ELM_VF1_64_INT 0x1208000
194 #define LBC_PLM_VF65_128_INT_ENA_W1S 0x1209008
195 #define LBC_ELM_VF1_64_INT_ENA_W1S 0x120B000
196 #define LBC_ELM_VF65_128_INT 0x120C000
197 #define LBC_ELM_VF65_128_INT_ENA_W1S 0x120F000
198
199 #define RST_BOOT 0x10C1600
200 #define FUS_DAT1 0x10C1408
201
202
203 #define PEM0_INT 0x1080428
204
205
206
207
208
209
210 union ucd_core_eid_ucode_block_num {
211 u64 value;
212 struct {
213 #if (defined(__BIG_ENDIAN_BITFIELD))
214 u64 raz_4_63 : 60;
215 u64 ucode_len : 1;
216 u64 ucode_blk : 3;
217 #else
218 u64 ucode_blk : 3;
219 u64 ucode_len : 1;
220 u64 raz_4_63 : 60;
221 #endif
222 };
223 };
224
225
226
227
228
229 union aqm_grp_execmsk_lo {
230 u64 value;
231 struct {
232 #if (defined(__BIG_ENDIAN_BITFIELD))
233 u64 raz_40_63 : 24;
234 u64 exec_0_to_39 : 40;
235 #else
236 u64 exec_0_to_39 : 40;
237 u64 raz_40_63 : 24;
238 #endif
239 };
240 };
241
242
243
244
245
246 union aqm_grp_execmsk_hi {
247 u64 value;
248 struct {
249 #if (defined(__BIG_ENDIAN_BITFIELD))
250 u64 raz_40_63 : 24;
251 u64 exec_40_to_79 : 40;
252 #else
253 u64 exec_40_to_79 : 40;
254 u64 raz_40_63 : 24;
255 #endif
256 };
257 };
258
259
260
261
262
263 union aqmq_drbl {
264 u64 value;
265 struct {
266 #if (defined(__BIG_ENDIAN_BITFIELD))
267 u64 raz_32_63 : 32;
268 u64 dbell_count : 32;
269 #else
270 u64 dbell_count : 32;
271 u64 raz_32_63 : 32;
272 #endif
273 };
274 };
275
276
277
278
279
280
281 union aqmq_qsz {
282 u64 value;
283 struct {
284 #if (defined(__BIG_ENDIAN_BITFIELD))
285 u64 raz_32_63 : 32;
286 u64 host_queue_size : 32;
287 #else
288 u64 host_queue_size : 32;
289 u64 raz_32_63 : 32;
290 #endif
291 };
292 };
293
294
295
296
297
298
299 union aqmq_cmp_thr {
300 u64 value;
301 struct {
302 #if (defined(__BIG_ENDIAN_BITFIELD))
303 u64 raz_32_63 : 32;
304 u64 commands_completed_threshold : 32;
305 #else
306 u64 commands_completed_threshold : 32;
307 u64 raz_32_63 : 32;
308 #endif
309 };
310 };
311
312
313
314
315
316
317
318
319 union aqmq_cmp_cnt {
320 u64 value;
321 struct {
322 #if (defined(__BIG_ENDIAN_BITFIELD))
323 u64 raz_34_63 : 30;
324 u64 resend : 1;
325 u64 completion_status : 1;
326 u64 commands_completed_count : 32;
327 #else
328 u64 commands_completed_count : 32;
329 u64 completion_status : 1;
330 u64 resend : 1;
331 u64 raz_34_63 : 30;
332 #endif
333 };
334 };
335
336
337
338
339
340 union aqmq_en {
341 u64 value;
342 struct {
343 #if (defined(__BIG_ENDIAN_BITFIELD))
344 u64 raz_1_63 : 63;
345 u64 queue_enable : 1;
346 #else
347 u64 queue_enable : 1;
348 u64 raz_1_63 : 63;
349 #endif
350 };
351 };
352
353
354
355
356
357 union aqmq_activity_stat {
358 u64 value;
359 struct {
360 #if (defined(__BIG_ENDIAN_BITFIELD))
361 u64 raz_1_63 : 63;
362 u64 queue_active : 1;
363 #else
364 u64 queue_active : 1;
365 u64 raz_1_63 : 63;
366 #endif
367 };
368 };
369
370
371
372
373
374
375
376
377 union emu_fuse_map {
378 u64 value;
379 struct {
380 #if (defined(__BIG_ENDIAN_BITFIELD))
381 u64 valid : 1;
382 u64 raz_52_62 : 11;
383 u64 ae_fuse : 20;
384 u64 raz_16_31 : 16;
385 u64 se_fuse : 16;
386 #else
387 u64 se_fuse : 16;
388 u64 raz_16_31 : 16;
389 u64 ae_fuse : 20;
390 u64 raz_52_62 : 11;
391 u64 valid : 1;
392 #endif
393 } s;
394 };
395
396
397
398
399
400
401 union emu_se_enable {
402 u64 value;
403 struct {
404 #if (defined(__BIG_ENDIAN_BITFIELD))
405 u64 raz : 48;
406 u64 enable : 16;
407 #else
408 u64 enable : 16;
409 u64 raz : 48;
410 #endif
411 } s;
412 };
413
414
415
416
417
418
419 union emu_ae_enable {
420 u64 value;
421 struct {
422 #if (defined(__BIG_ENDIAN_BITFIELD))
423 u64 raz : 44;
424 u64 enable : 20;
425 #else
426 u64 enable : 20;
427 u64 raz : 44;
428 #endif
429 } s;
430 };
431
432
433
434
435
436
437 union emu_wd_int_ena_w1s {
438 u64 value;
439 struct {
440 #if (defined(__BIG_ENDIAN_BITFIELD))
441 u64 raz2 : 12;
442 u64 ae_wd : 20;
443 u64 raz1 : 16;
444 u64 se_wd : 16;
445 #else
446 u64 se_wd : 16;
447 u64 raz1 : 16;
448 u64 ae_wd : 20;
449 u64 raz2 : 12;
450 #endif
451 } s;
452 };
453
454
455
456
457
458
459 union emu_ge_int_ena_w1s {
460 u64 value;
461 struct {
462 #if (defined(__BIG_ENDIAN_BITFIELD))
463 u64 raz_52_63 : 12;
464 u64 ae_ge : 20;
465 u64 raz_16_31: 16;
466 u64 se_ge : 16;
467 #else
468 u64 se_ge : 16;
469 u64 raz_16_31: 16;
470 u64 ae_ge : 20;
471 u64 raz_52_63 : 12;
472 #endif
473 } s;
474 };
475
476
477
478
479
480
481
482
483
484 union nps_pkt_slc_ctl {
485 u64 value;
486 struct {
487 #if defined(__BIG_ENDIAN_BITFIELD)
488 u64 raz : 61;
489 u64 rh : 1;
490 u64 z : 1;
491 u64 enb : 1;
492 #else
493 u64 enb : 1;
494 u64 z : 1;
495 u64 rh : 1;
496 u64 raz : 61;
497 #endif
498 } s;
499 };
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520 union nps_pkt_slc_cnts {
521 u64 value;
522 struct {
523 #if defined(__BIG_ENDIAN_BITFIELD)
524 u64 slc_int : 1;
525 u64 uns_int : 1;
526 u64 in_int : 1;
527 u64 mbox_int : 1;
528 u64 resend : 1;
529 u64 raz : 5;
530 u64 timer : 22;
531 u64 cnt : 32;
532 #else
533 u64 cnt : 32;
534 u64 timer : 22;
535 u64 raz : 5;
536 u64 resend : 1;
537 u64 mbox_int : 1;
538 u64 in_int : 1;
539 u64 uns_int : 1;
540 u64 slc_int : 1;
541 #endif
542 } s;
543 };
544
545
546
547
548
549
550
551
552
553 union nps_pkt_slc_int_levels {
554 u64 value;
555 struct {
556 #if defined(__BIG_ENDIAN_BITFIELD)
557 u64 bmode : 1;
558 u64 raz : 9;
559 u64 timet : 22;
560 u64 cnt : 32;
561 #else
562 u64 cnt : 32;
563 u64 timet : 22;
564 u64 raz : 9;
565 u64 bmode : 1;
566 #endif
567 } s;
568 };
569
570
571
572
573
574
575
576
577
578
579 union nps_pkt_int {
580 u64 value;
581 struct {
582 #if defined(__BIG_ENDIAN_BITFIELD)
583 u64 raz : 54;
584 u64 uns_wto : 1;
585 u64 in_err : 1;
586 u64 uns_err : 1;
587 u64 slc_err : 1;
588 u64 in_dbe : 1;
589 u64 in_sbe : 1;
590 u64 uns_dbe : 1;
591 u64 uns_sbe : 1;
592 u64 slc_dbe : 1;
593 u64 slc_sbe : 1;
594 #else
595 u64 slc_sbe : 1;
596 u64 slc_dbe : 1;
597 u64 uns_sbe : 1;
598 u64 uns_dbe : 1;
599 u64 in_sbe : 1;
600 u64 in_dbe : 1;
601 u64 slc_err : 1;
602 u64 uns_err : 1;
603 u64 in_err : 1;
604 u64 uns_wto : 1;
605 u64 raz : 54;
606 #endif
607 } s;
608 };
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646 union nps_pkt_in_done_cnts {
647 u64 value;
648 struct {
649 #if defined(__BIG_ENDIAN_BITFIELD)
650 u64 slc_int : 1;
651 u64 uns_int : 1;
652 u64 in_int : 1;
653 u64 mbox_int : 1;
654 u64 resend : 1;
655 u64 raz : 27;
656 u64 cnt : 32;
657 #else
658 u64 cnt : 32;
659 u64 raz : 27;
660 u64 resend : 1;
661 u64 mbox_int : 1;
662 u64 in_int : 1;
663 u64 uns_int : 1;
664 u64 slc_int : 1;
665 #endif
666 } s;
667 };
668
669
670
671
672
673
674
675 union nps_pkt_in_instr_ctl {
676 u64 value;
677 struct {
678 #if (defined(__BIG_ENDIAN_BITFIELD))
679 u64 raz : 62;
680 u64 is64b : 1;
681 u64 enb : 1;
682 #else
683 u64 enb : 1;
684 u64 is64b : 1;
685 u64 raz : 62;
686 #endif
687 } s;
688 };
689
690
691
692
693
694 union nps_pkt_in_instr_rsize {
695 u64 value;
696 struct {
697 #if (defined(__BIG_ENDIAN_BITFIELD))
698 u64 raz : 32;
699 u64 rsize : 32;
700 #else
701 u64 rsize : 32;
702 u64 raz : 32;
703 #endif
704 } s;
705 };
706
707
708
709
710
711
712
713
714
715
716 union nps_pkt_in_instr_baoff_dbell {
717 u64 value;
718 struct {
719 #if (defined(__BIG_ENDIAN_BITFIELD))
720 u64 aoff : 32;
721 u64 dbell : 32;
722 #else
723 u64 dbell : 32;
724 u64 aoff : 32;
725 #endif
726 } s;
727 };
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742 union nps_core_int_ena_w1s {
743 u64 value;
744 struct {
745 #if (defined(__BIG_ENDIAN_BITFIELD))
746 u64 raz4 : 55;
747 u64 host_nps_wr_err : 1;
748 u64 npco_dma_malform : 1;
749 u64 exec_wr_timeout : 1;
750 u64 host_wr_timeout : 1;
751 u64 host_wr_err : 1;
752 u64 raz3 : 1;
753 u64 raz2 : 1;
754 u64 raz1 : 1;
755 u64 raz0 : 1;
756 #else
757 u64 raz0 : 1;
758 u64 raz1 : 1;
759 u64 raz2 : 1;
760 u64 raz3 : 1;
761 u64 host_wr_err : 1;
762 u64 host_wr_timeout : 1;
763 u64 exec_wr_timeout : 1;
764 u64 npco_dma_malform : 1;
765 u64 host_nps_wr_err : 1;
766 u64 raz4 : 55;
767 #endif
768 } s;
769 };
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792 union nps_core_gbl_vfcfg {
793 u64 value;
794 struct {
795 #if (defined(__BIG_ENDIAN_BITFIELD))
796 u64 raz :55;
797 u64 ilk_disable :1;
798 u64 obaf :1;
799 u64 ibaf :1;
800 u64 zaf :1;
801 u64 aeaf :1;
802 u64 seaf :1;
803 u64 cfg :3;
804 #else
805 u64 cfg :3;
806 u64 seaf :1;
807 u64 aeaf :1;
808 u64 zaf :1;
809 u64 ibaf :1;
810 u64 obaf :1;
811 u64 ilk_disable :1;
812 u64 raz :55;
813 #endif
814 } s;
815 };
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846 union nps_core_int_active {
847 u64 value;
848 struct {
849 #if (defined(__BIG_ENDIAN_BITFIELD))
850 u64 resend : 1;
851 u64 raz : 43;
852 u64 ocla : 1;
853 u64 mbox : 1;
854 u64 emu : 4;
855 u64 bmo : 1;
856 u64 bmi : 1;
857 u64 aqm : 1;
858 u64 zqm : 1;
859 u64 efl : 1;
860 u64 ilk : 1;
861 u64 lbc : 1;
862 u64 pem : 1;
863 u64 pom : 1;
864 u64 ucd : 1;
865 u64 zctl : 1;
866 u64 lbm : 1;
867 u64 nps_pkt : 1;
868 u64 nps_core : 1;
869 #else
870 u64 nps_core : 1;
871 u64 nps_pkt : 1;
872 u64 lbm : 1;
873 u64 zctl: 1;
874 u64 ucd : 1;
875 u64 pom : 1;
876 u64 pem : 1;
877 u64 lbc : 1;
878 u64 ilk : 1;
879 u64 efl : 1;
880 u64 zqm : 1;
881 u64 aqm : 1;
882 u64 bmi : 1;
883 u64 bmo : 1;
884 u64 emu : 4;
885 u64 mbox : 1;
886 u64 ocla : 1;
887 u64 raz : 43;
888 u64 resend : 1;
889 #endif
890 } s;
891 };
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910 union efl_core_int {
911 u64 value;
912 struct {
913 #if (defined(__BIG_ENDIAN_BITFIELD))
914 u64 raz : 57;
915 u64 epci_decode_err : 1;
916 u64 ae_err : 1;
917 u64 se_err : 1;
918 u64 dbe : 1;
919 u64 sbe : 1;
920 u64 d_left : 1;
921 u64 len_ovr : 1;
922 #else
923 u64 len_ovr : 1;
924 u64 d_left : 1;
925 u64 sbe : 1;
926 u64 dbe : 1;
927 u64 se_err : 1;
928 u64 ae_err : 1;
929 u64 epci_decode_err : 1;
930 u64 raz : 57;
931 #endif
932 } s;
933 };
934
935
936
937
938
939
940
941
942
943
944 union efl_core_int_ena_w1s {
945 u64 value;
946 struct {
947 #if (defined(__BIG_ENDIAN_BITFIELD))
948 u64 raz_7_63 : 57;
949 u64 epci_decode_err : 1;
950 u64 raz_2_5 : 4;
951 u64 d_left : 1;
952 u64 len_ovr : 1;
953 #else
954 u64 len_ovr : 1;
955 u64 d_left : 1;
956 u64 raz_2_5 : 4;
957 u64 epci_decode_err : 1;
958 u64 raz_7_63 : 57;
959 #endif
960 } s;
961 };
962
963
964
965
966
967
968
969
970
971
972
973
974 union efl_rnm_ctl_status {
975 u64 value;
976 struct {
977 #if (defined(__BIG_ENDIAN_BITFIELD))
978 u64 raz_9_63 : 55;
979 u64 ent_sel : 4;
980 u64 exp_ent : 1;
981 u64 rng_rst : 1;
982 u64 rnm_rst : 1;
983 u64 rng_en : 1;
984 u64 ent_en : 1;
985 #else
986 u64 ent_en : 1;
987 u64 rng_en : 1;
988 u64 rnm_rst : 1;
989 u64 rng_rst : 1;
990 u64 exp_ent : 1;
991 u64 ent_sel : 4;
992 u64 raz_9_63 : 55;
993 #endif
994 } s;
995 };
996
997
998
999
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