xref: /f-stack/dpdk/drivers/event/dlb2/pf/base/dlb2_regs.h (revision 2d9fd380)
1 /* SPDX-License-Identifier: BSD-3-Clause
2  * Copyright(c) 2016-2020 Intel Corporation
3  */
4 
5 #ifndef __DLB2_REGS_H
6 #define __DLB2_REGS_H
7 
8 #include "dlb2_osdep_types.h"
9 
10 #define DLB2_FUNC_PF_VF2PF_MAILBOX_BYTES 256
11 #define DLB2_FUNC_PF_VF2PF_MAILBOX(vf_id, x) \
12 	(0x1000 + 0x4 * (x) + (vf_id) * 0x10000)
13 #define DLB2_FUNC_PF_VF2PF_MAILBOX_RST 0x0
14 union dlb2_func_pf_vf2pf_mailbox {
15 	struct {
16 		u32 msg : 32;
17 	} field;
18 	u32 val;
19 };
20 
21 #define DLB2_FUNC_PF_VF2PF_MAILBOX_ISR(vf_id) \
22 	(0x1f00 + (vf_id) * 0x10000)
23 #define DLB2_FUNC_PF_VF2PF_MAILBOX_ISR_RST 0x0
24 union dlb2_func_pf_vf2pf_mailbox_isr {
25 	struct {
26 		u32 vf0_isr : 1;
27 		u32 vf1_isr : 1;
28 		u32 vf2_isr : 1;
29 		u32 vf3_isr : 1;
30 		u32 vf4_isr : 1;
31 		u32 vf5_isr : 1;
32 		u32 vf6_isr : 1;
33 		u32 vf7_isr : 1;
34 		u32 vf8_isr : 1;
35 		u32 vf9_isr : 1;
36 		u32 vf10_isr : 1;
37 		u32 vf11_isr : 1;
38 		u32 vf12_isr : 1;
39 		u32 vf13_isr : 1;
40 		u32 vf14_isr : 1;
41 		u32 vf15_isr : 1;
42 		u32 rsvd0 : 16;
43 	} field;
44 	u32 val;
45 };
46 
47 #define DLB2_FUNC_PF_VF2PF_FLR_ISR(vf_id) \
48 	(0x1f04 + (vf_id) * 0x10000)
49 #define DLB2_FUNC_PF_VF2PF_FLR_ISR_RST 0x0
50 union dlb2_func_pf_vf2pf_flr_isr {
51 	struct {
52 		u32 vf0_isr : 1;
53 		u32 vf1_isr : 1;
54 		u32 vf2_isr : 1;
55 		u32 vf3_isr : 1;
56 		u32 vf4_isr : 1;
57 		u32 vf5_isr : 1;
58 		u32 vf6_isr : 1;
59 		u32 vf7_isr : 1;
60 		u32 vf8_isr : 1;
61 		u32 vf9_isr : 1;
62 		u32 vf10_isr : 1;
63 		u32 vf11_isr : 1;
64 		u32 vf12_isr : 1;
65 		u32 vf13_isr : 1;
66 		u32 vf14_isr : 1;
67 		u32 vf15_isr : 1;
68 		u32 rsvd0 : 16;
69 	} field;
70 	u32 val;
71 };
72 
73 #define DLB2_FUNC_PF_VF2PF_ISR_PEND(vf_id) \
74 	(0x1f10 + (vf_id) * 0x10000)
75 #define DLB2_FUNC_PF_VF2PF_ISR_PEND_RST 0x0
76 union dlb2_func_pf_vf2pf_isr_pend {
77 	struct {
78 		u32 isr_pend : 1;
79 		u32 rsvd0 : 31;
80 	} field;
81 	u32 val;
82 };
83 
84 #define DLB2_FUNC_PF_PF2VF_MAILBOX_BYTES 64
85 #define DLB2_FUNC_PF_PF2VF_MAILBOX(vf_id, x) \
86 	(0x2000 + 0x4 * (x) + (vf_id) * 0x10000)
87 #define DLB2_FUNC_PF_PF2VF_MAILBOX_RST 0x0
88 union dlb2_func_pf_pf2vf_mailbox {
89 	struct {
90 		u32 msg : 32;
91 	} field;
92 	u32 val;
93 };
94 
95 #define DLB2_FUNC_PF_PF2VF_MAILBOX_ISR(vf_id) \
96 	(0x2f00 + (vf_id) * 0x10000)
97 #define DLB2_FUNC_PF_PF2VF_MAILBOX_ISR_RST 0x0
98 union dlb2_func_pf_pf2vf_mailbox_isr {
99 	struct {
100 		u32 vf0_isr : 1;
101 		u32 vf1_isr : 1;
102 		u32 vf2_isr : 1;
103 		u32 vf3_isr : 1;
104 		u32 vf4_isr : 1;
105 		u32 vf5_isr : 1;
106 		u32 vf6_isr : 1;
107 		u32 vf7_isr : 1;
108 		u32 vf8_isr : 1;
109 		u32 vf9_isr : 1;
110 		u32 vf10_isr : 1;
111 		u32 vf11_isr : 1;
112 		u32 vf12_isr : 1;
113 		u32 vf13_isr : 1;
114 		u32 vf14_isr : 1;
115 		u32 vf15_isr : 1;
116 		u32 rsvd0 : 16;
117 	} field;
118 	u32 val;
119 };
120 
121 #define DLB2_FUNC_PF_VF_RESET_IN_PROGRESS(vf_id) \
122 	(0x3000 + (vf_id) * 0x10000)
123 #define DLB2_FUNC_PF_VF_RESET_IN_PROGRESS_RST 0xffff
124 union dlb2_func_pf_vf_reset_in_progress {
125 	struct {
126 		u32 vf0_reset_in_progress : 1;
127 		u32 vf1_reset_in_progress : 1;
128 		u32 vf2_reset_in_progress : 1;
129 		u32 vf3_reset_in_progress : 1;
130 		u32 vf4_reset_in_progress : 1;
131 		u32 vf5_reset_in_progress : 1;
132 		u32 vf6_reset_in_progress : 1;
133 		u32 vf7_reset_in_progress : 1;
134 		u32 vf8_reset_in_progress : 1;
135 		u32 vf9_reset_in_progress : 1;
136 		u32 vf10_reset_in_progress : 1;
137 		u32 vf11_reset_in_progress : 1;
138 		u32 vf12_reset_in_progress : 1;
139 		u32 vf13_reset_in_progress : 1;
140 		u32 vf14_reset_in_progress : 1;
141 		u32 vf15_reset_in_progress : 1;
142 		u32 rsvd0 : 16;
143 	} field;
144 	u32 val;
145 };
146 
147 #define DLB2_MSIX_MEM_VECTOR_CTRL(x) \
148 	(0x100000c + (x) * 0x10)
149 #define DLB2_MSIX_MEM_VECTOR_CTRL_RST 0x1
150 union dlb2_msix_mem_vector_ctrl {
151 	struct {
152 		u32 vec_mask : 1;
153 		u32 rsvd0 : 31;
154 	} field;
155 	u32 val;
156 };
157 
158 #define DLB2_IOSF_FUNC_VF_BAR_DSBL(x) \
159 	(0x20 + (x) * 0x4)
160 #define DLB2_IOSF_FUNC_VF_BAR_DSBL_RST 0x0
161 union dlb2_iosf_func_vf_bar_dsbl {
162 	struct {
163 		u32 func_vf_bar_dis : 1;
164 		u32 rsvd0 : 31;
165 	} field;
166 	u32 val;
167 };
168 
169 #define DLB2_SYS_TOTAL_VAS 0x1000011c
170 #define DLB2_SYS_TOTAL_VAS_RST 0x20
171 union dlb2_sys_total_vas {
172 	struct {
173 		u32 total_vas : 32;
174 	} field;
175 	u32 val;
176 };
177 
178 #define DLB2_SYS_TOTAL_DIR_PORTS 0x10000118
179 #define DLB2_SYS_TOTAL_DIR_PORTS_RST 0x40
180 union dlb2_sys_total_dir_ports {
181 	struct {
182 		u32 total_dir_ports : 32;
183 	} field;
184 	u32 val;
185 };
186 
187 #define DLB2_SYS_TOTAL_LDB_PORTS 0x10000114
188 #define DLB2_SYS_TOTAL_LDB_PORTS_RST 0x40
189 union dlb2_sys_total_ldb_ports {
190 	struct {
191 		u32 total_ldb_ports : 32;
192 	} field;
193 	u32 val;
194 };
195 
196 #define DLB2_SYS_TOTAL_DIR_QID 0x10000110
197 #define DLB2_SYS_TOTAL_DIR_QID_RST 0x40
198 union dlb2_sys_total_dir_qid {
199 	struct {
200 		u32 total_dir_qid : 32;
201 	} field;
202 	u32 val;
203 };
204 
205 #define DLB2_SYS_TOTAL_LDB_QID 0x1000010c
206 #define DLB2_SYS_TOTAL_LDB_QID_RST 0x20
207 union dlb2_sys_total_ldb_qid {
208 	struct {
209 		u32 total_ldb_qid : 32;
210 	} field;
211 	u32 val;
212 };
213 
214 #define DLB2_SYS_TOTAL_DIR_CRDS 0x10000108
215 #define DLB2_SYS_TOTAL_DIR_CRDS_RST 0x1000
216 union dlb2_sys_total_dir_crds {
217 	struct {
218 		u32 total_dir_credits : 32;
219 	} field;
220 	u32 val;
221 };
222 
223 #define DLB2_SYS_TOTAL_LDB_CRDS 0x10000104
224 #define DLB2_SYS_TOTAL_LDB_CRDS_RST 0x2000
225 union dlb2_sys_total_ldb_crds {
226 	struct {
227 		u32 total_ldb_credits : 32;
228 	} field;
229 	u32 val;
230 };
231 
232 #define DLB2_SYS_ALARM_PF_SYND2 0x10000508
233 #define DLB2_SYS_ALARM_PF_SYND2_RST 0x0
234 union dlb2_sys_alarm_pf_synd2 {
235 	struct {
236 		u32 lock_id : 16;
237 		u32 meas : 1;
238 		u32 debug : 7;
239 		u32 cq_pop : 1;
240 		u32 qe_uhl : 1;
241 		u32 qe_orsp : 1;
242 		u32 qe_valid : 1;
243 		u32 cq_int_rearm : 1;
244 		u32 dsi_error : 1;
245 		u32 rsvd0 : 2;
246 	} field;
247 	u32 val;
248 };
249 
250 #define DLB2_SYS_ALARM_PF_SYND1 0x10000504
251 #define DLB2_SYS_ALARM_PF_SYND1_RST 0x0
252 union dlb2_sys_alarm_pf_synd1 {
253 	struct {
254 		u32 dsi : 16;
255 		u32 qid : 8;
256 		u32 qtype : 2;
257 		u32 qpri : 3;
258 		u32 msg_type : 3;
259 	} field;
260 	u32 val;
261 };
262 
263 #define DLB2_SYS_ALARM_PF_SYND0 0x10000500
264 #define DLB2_SYS_ALARM_PF_SYND0_RST 0x0
265 union dlb2_sys_alarm_pf_synd0 {
266 	struct {
267 		u32 syndrome : 8;
268 		u32 rtype : 2;
269 		u32 rsvd0 : 3;
270 		u32 is_ldb : 1;
271 		u32 cls : 2;
272 		u32 aid : 6;
273 		u32 unit : 4;
274 		u32 source : 4;
275 		u32 more : 1;
276 		u32 valid : 1;
277 	} field;
278 	u32 val;
279 };
280 
281 #define DLB2_SYS_VF_LDB_VPP_V(x) \
282 	(0x10000f00 + (x) * 0x1000)
283 #define DLB2_SYS_VF_LDB_VPP_V_RST 0x0
284 union dlb2_sys_vf_ldb_vpp_v {
285 	struct {
286 		u32 vpp_v : 1;
287 		u32 rsvd0 : 31;
288 	} field;
289 	u32 val;
290 };
291 
292 #define DLB2_SYS_VF_LDB_VPP2PP(x) \
293 	(0x10000f04 + (x) * 0x1000)
294 #define DLB2_SYS_VF_LDB_VPP2PP_RST 0x0
295 union dlb2_sys_vf_ldb_vpp2pp {
296 	struct {
297 		u32 pp : 6;
298 		u32 rsvd0 : 26;
299 	} field;
300 	u32 val;
301 };
302 
303 #define DLB2_SYS_VF_DIR_VPP_V(x) \
304 	(0x10000f08 + (x) * 0x1000)
305 #define DLB2_SYS_VF_DIR_VPP_V_RST 0x0
306 union dlb2_sys_vf_dir_vpp_v {
307 	struct {
308 		u32 vpp_v : 1;
309 		u32 rsvd0 : 31;
310 	} field;
311 	u32 val;
312 };
313 
314 #define DLB2_SYS_VF_DIR_VPP2PP(x) \
315 	(0x10000f0c + (x) * 0x1000)
316 #define DLB2_SYS_VF_DIR_VPP2PP_RST 0x0
317 union dlb2_sys_vf_dir_vpp2pp {
318 	struct {
319 		u32 pp : 6;
320 		u32 rsvd0 : 26;
321 	} field;
322 	u32 val;
323 };
324 
325 #define DLB2_SYS_VF_LDB_VQID_V(x) \
326 	(0x10000f10 + (x) * 0x1000)
327 #define DLB2_SYS_VF_LDB_VQID_V_RST 0x0
328 union dlb2_sys_vf_ldb_vqid_v {
329 	struct {
330 		u32 vqid_v : 1;
331 		u32 rsvd0 : 31;
332 	} field;
333 	u32 val;
334 };
335 
336 #define DLB2_SYS_VF_LDB_VQID2QID(x) \
337 	(0x10000f14 + (x) * 0x1000)
338 #define DLB2_SYS_VF_LDB_VQID2QID_RST 0x0
339 union dlb2_sys_vf_ldb_vqid2qid {
340 	struct {
341 		u32 qid : 5;
342 		u32 rsvd0 : 27;
343 	} field;
344 	u32 val;
345 };
346 
347 #define DLB2_SYS_LDB_QID2VQID(x) \
348 	(0x10000f18 + (x) * 0x1000)
349 #define DLB2_SYS_LDB_QID2VQID_RST 0x0
350 union dlb2_sys_ldb_qid2vqid {
351 	struct {
352 		u32 vqid : 5;
353 		u32 rsvd0 : 27;
354 	} field;
355 	u32 val;
356 };
357 
358 #define DLB2_SYS_VF_DIR_VQID_V(x) \
359 	(0x10000f1c + (x) * 0x1000)
360 #define DLB2_SYS_VF_DIR_VQID_V_RST 0x0
361 union dlb2_sys_vf_dir_vqid_v {
362 	struct {
363 		u32 vqid_v : 1;
364 		u32 rsvd0 : 31;
365 	} field;
366 	u32 val;
367 };
368 
369 #define DLB2_SYS_VF_DIR_VQID2QID(x) \
370 	(0x10000f20 + (x) * 0x1000)
371 #define DLB2_SYS_VF_DIR_VQID2QID_RST 0x0
372 union dlb2_sys_vf_dir_vqid2qid {
373 	struct {
374 		u32 qid : 6;
375 		u32 rsvd0 : 26;
376 	} field;
377 	u32 val;
378 };
379 
380 #define DLB2_SYS_LDB_VASQID_V(x) \
381 	(0x10000f24 + (x) * 0x1000)
382 #define DLB2_SYS_LDB_VASQID_V_RST 0x0
383 union dlb2_sys_ldb_vasqid_v {
384 	struct {
385 		u32 vasqid_v : 1;
386 		u32 rsvd0 : 31;
387 	} field;
388 	u32 val;
389 };
390 
391 #define DLB2_SYS_DIR_VASQID_V(x) \
392 	(0x10000f28 + (x) * 0x1000)
393 #define DLB2_SYS_DIR_VASQID_V_RST 0x0
394 union dlb2_sys_dir_vasqid_v {
395 	struct {
396 		u32 vasqid_v : 1;
397 		u32 rsvd0 : 31;
398 	} field;
399 	u32 val;
400 };
401 
402 #define DLB2_SYS_ALARM_VF_SYND2(x) \
403 	(0x10000f48 + (x) * 0x1000)
404 #define DLB2_SYS_ALARM_VF_SYND2_RST 0x0
405 union dlb2_sys_alarm_vf_synd2 {
406 	struct {
407 		u32 lock_id : 16;
408 		u32 debug : 8;
409 		u32 cq_pop : 1;
410 		u32 qe_uhl : 1;
411 		u32 qe_orsp : 1;
412 		u32 qe_valid : 1;
413 		u32 isz : 1;
414 		u32 dsi_error : 1;
415 		u32 dlbrsvd : 2;
416 	} field;
417 	u32 val;
418 };
419 
420 #define DLB2_SYS_ALARM_VF_SYND1(x) \
421 	(0x10000f44 + (x) * 0x1000)
422 #define DLB2_SYS_ALARM_VF_SYND1_RST 0x0
423 union dlb2_sys_alarm_vf_synd1 {
424 	struct {
425 		u32 dsi : 16;
426 		u32 qid : 8;
427 		u32 qtype : 2;
428 		u32 qpri : 3;
429 		u32 msg_type : 3;
430 	} field;
431 	u32 val;
432 };
433 
434 #define DLB2_SYS_ALARM_VF_SYND0(x) \
435 	(0x10000f40 + (x) * 0x1000)
436 #define DLB2_SYS_ALARM_VF_SYND0_RST 0x0
437 union dlb2_sys_alarm_vf_synd0 {
438 	struct {
439 		u32 syndrome : 8;
440 		u32 rtype : 2;
441 		u32 vf_synd0_parity : 1;
442 		u32 vf_synd1_parity : 1;
443 		u32 vf_synd2_parity : 1;
444 		u32 is_ldb : 1;
445 		u32 cls : 2;
446 		u32 aid : 6;
447 		u32 unit : 4;
448 		u32 source : 4;
449 		u32 more : 1;
450 		u32 valid : 1;
451 	} field;
452 	u32 val;
453 };
454 
455 #define DLB2_SYS_LDB_QID_CFG_V(x) \
456 	(0x10000f58 + (x) * 0x1000)
457 #define DLB2_SYS_LDB_QID_CFG_V_RST 0x0
458 union dlb2_sys_ldb_qid_cfg_v {
459 	struct {
460 		u32 sn_cfg_v : 1;
461 		u32 fid_cfg_v : 1;
462 		u32 rsvd0 : 30;
463 	} field;
464 	u32 val;
465 };
466 
467 #define DLB2_SYS_LDB_QID_ITS(x) \
468 	(0x10000f54 + (x) * 0x1000)
469 #define DLB2_SYS_LDB_QID_ITS_RST 0x0
470 union dlb2_sys_ldb_qid_its {
471 	struct {
472 		u32 qid_its : 1;
473 		u32 rsvd0 : 31;
474 	} field;
475 	u32 val;
476 };
477 
478 #define DLB2_SYS_LDB_QID_V(x) \
479 	(0x10000f50 + (x) * 0x1000)
480 #define DLB2_SYS_LDB_QID_V_RST 0x0
481 union dlb2_sys_ldb_qid_v {
482 	struct {
483 		u32 qid_v : 1;
484 		u32 rsvd0 : 31;
485 	} field;
486 	u32 val;
487 };
488 
489 #define DLB2_SYS_DIR_QID_ITS(x) \
490 	(0x10000f64 + (x) * 0x1000)
491 #define DLB2_SYS_DIR_QID_ITS_RST 0x0
492 union dlb2_sys_dir_qid_its {
493 	struct {
494 		u32 qid_its : 1;
495 		u32 rsvd0 : 31;
496 	} field;
497 	u32 val;
498 };
499 
500 #define DLB2_SYS_DIR_QID_V(x) \
501 	(0x10000f60 + (x) * 0x1000)
502 #define DLB2_SYS_DIR_QID_V_RST 0x0
503 union dlb2_sys_dir_qid_v {
504 	struct {
505 		u32 qid_v : 1;
506 		u32 rsvd0 : 31;
507 	} field;
508 	u32 val;
509 };
510 
511 #define DLB2_SYS_LDB_CQ_AI_DATA(x) \
512 	(0x10000fa8 + (x) * 0x1000)
513 #define DLB2_SYS_LDB_CQ_AI_DATA_RST 0x0
514 union dlb2_sys_ldb_cq_ai_data {
515 	struct {
516 		u32 cq_ai_data : 32;
517 	} field;
518 	u32 val;
519 };
520 
521 #define DLB2_SYS_LDB_CQ_AI_ADDR(x) \
522 	(0x10000fa4 + (x) * 0x1000)
523 #define DLB2_SYS_LDB_CQ_AI_ADDR_RST 0x0
524 union dlb2_sys_ldb_cq_ai_addr {
525 	struct {
526 		u32 rsvd1 : 2;
527 		u32 cq_ai_addr : 18;
528 		u32 rsvd0 : 12;
529 	} field;
530 	u32 val;
531 };
532 
533 #define DLB2_SYS_LDB_CQ_PASID(x) \
534 	(0x10000fa0 + (x) * 0x1000)
535 #define DLB2_SYS_LDB_CQ_PASID_RST 0x0
536 union dlb2_sys_ldb_cq_pasid {
537 	struct {
538 		u32 pasid : 20;
539 		u32 exe_req : 1;
540 		u32 priv_req : 1;
541 		u32 fmt2 : 1;
542 		u32 rsvd0 : 9;
543 	} field;
544 	u32 val;
545 };
546 
547 #define DLB2_SYS_LDB_CQ_AT(x) \
548 	(0x10000f9c + (x) * 0x1000)
549 #define DLB2_SYS_LDB_CQ_AT_RST 0x0
550 union dlb2_sys_ldb_cq_at {
551 	struct {
552 		u32 cq_at : 2;
553 		u32 rsvd0 : 30;
554 	} field;
555 	u32 val;
556 };
557 
558 #define DLB2_SYS_LDB_CQ_ISR(x) \
559 	(0x10000f98 + (x) * 0x1000)
560 #define DLB2_SYS_LDB_CQ_ISR_RST 0x0
561 /* CQ Interrupt Modes */
562 #define DLB2_CQ_ISR_MODE_DIS  0
563 #define DLB2_CQ_ISR_MODE_MSI  1
564 #define DLB2_CQ_ISR_MODE_MSIX 2
565 #define DLB2_CQ_ISR_MODE_ADI  3
566 union dlb2_sys_ldb_cq_isr {
567 	struct {
568 		u32 vector : 6;
569 		u32 vf : 4;
570 		u32 en_code : 2;
571 		u32 rsvd0 : 20;
572 	} field;
573 	u32 val;
574 };
575 
576 #define DLB2_SYS_LDB_CQ2VF_PF_RO(x) \
577 	(0x10000f94 + (x) * 0x1000)
578 #define DLB2_SYS_LDB_CQ2VF_PF_RO_RST 0x0
579 union dlb2_sys_ldb_cq2vf_pf_ro {
580 	struct {
581 		u32 vf : 4;
582 		u32 is_pf : 1;
583 		u32 ro : 1;
584 		u32 rsvd0 : 26;
585 	} field;
586 	u32 val;
587 };
588 
589 #define DLB2_SYS_LDB_PP_V(x) \
590 	(0x10000f90 + (x) * 0x1000)
591 #define DLB2_SYS_LDB_PP_V_RST 0x0
592 union dlb2_sys_ldb_pp_v {
593 	struct {
594 		u32 pp_v : 1;
595 		u32 rsvd0 : 31;
596 	} field;
597 	u32 val;
598 };
599 
600 #define DLB2_SYS_LDB_PP2VDEV(x) \
601 	(0x10000f8c + (x) * 0x1000)
602 #define DLB2_SYS_LDB_PP2VDEV_RST 0x0
603 union dlb2_sys_ldb_pp2vdev {
604 	struct {
605 		u32 vdev : 4;
606 		u32 rsvd0 : 28;
607 	} field;
608 	u32 val;
609 };
610 
611 #define DLB2_SYS_LDB_PP2VAS(x) \
612 	(0x10000f88 + (x) * 0x1000)
613 #define DLB2_SYS_LDB_PP2VAS_RST 0x0
614 union dlb2_sys_ldb_pp2vas {
615 	struct {
616 		u32 vas : 5;
617 		u32 rsvd0 : 27;
618 	} field;
619 	u32 val;
620 };
621 
622 #define DLB2_SYS_LDB_CQ_ADDR_U(x) \
623 	(0x10000f84 + (x) * 0x1000)
624 #define DLB2_SYS_LDB_CQ_ADDR_U_RST 0x0
625 union dlb2_sys_ldb_cq_addr_u {
626 	struct {
627 		u32 addr_u : 32;
628 	} field;
629 	u32 val;
630 };
631 
632 #define DLB2_SYS_LDB_CQ_ADDR_L(x) \
633 	(0x10000f80 + (x) * 0x1000)
634 #define DLB2_SYS_LDB_CQ_ADDR_L_RST 0x0
635 union dlb2_sys_ldb_cq_addr_l {
636 	struct {
637 		u32 rsvd0 : 6;
638 		u32 addr_l : 26;
639 	} field;
640 	u32 val;
641 };
642 
643 #define DLB2_SYS_DIR_CQ_FMT(x) \
644 	(0x10000fec + (x) * 0x1000)
645 #define DLB2_SYS_DIR_CQ_FMT_RST 0x0
646 union dlb2_sys_dir_cq_fmt {
647 	struct {
648 		u32 keep_pf_ppid : 1;
649 		u32 rsvd0 : 31;
650 	} field;
651 	u32 val;
652 };
653 
654 #define DLB2_SYS_DIR_CQ_AI_DATA(x) \
655 	(0x10000fe8 + (x) * 0x1000)
656 #define DLB2_SYS_DIR_CQ_AI_DATA_RST 0x0
657 union dlb2_sys_dir_cq_ai_data {
658 	struct {
659 		u32 cq_ai_data : 32;
660 	} field;
661 	u32 val;
662 };
663 
664 #define DLB2_SYS_DIR_CQ_AI_ADDR(x) \
665 	(0x10000fe4 + (x) * 0x1000)
666 #define DLB2_SYS_DIR_CQ_AI_ADDR_RST 0x0
667 union dlb2_sys_dir_cq_ai_addr {
668 	struct {
669 		u32 rsvd1 : 2;
670 		u32 cq_ai_addr : 18;
671 		u32 rsvd0 : 12;
672 	} field;
673 	u32 val;
674 };
675 
676 #define DLB2_SYS_DIR_CQ_PASID(x) \
677 	(0x10000fe0 + (x) * 0x1000)
678 #define DLB2_SYS_DIR_CQ_PASID_RST 0x0
679 union dlb2_sys_dir_cq_pasid {
680 	struct {
681 		u32 pasid : 20;
682 		u32 exe_req : 1;
683 		u32 priv_req : 1;
684 		u32 fmt2 : 1;
685 		u32 rsvd0 : 9;
686 	} field;
687 	u32 val;
688 };
689 
690 #define DLB2_SYS_DIR_CQ_AT(x) \
691 	(0x10000fdc + (x) * 0x1000)
692 #define DLB2_SYS_DIR_CQ_AT_RST 0x0
693 union dlb2_sys_dir_cq_at {
694 	struct {
695 		u32 cq_at : 2;
696 		u32 rsvd0 : 30;
697 	} field;
698 	u32 val;
699 };
700 
701 #define DLB2_SYS_DIR_CQ_ISR(x) \
702 	(0x10000fd8 + (x) * 0x1000)
703 #define DLB2_SYS_DIR_CQ_ISR_RST 0x0
704 union dlb2_sys_dir_cq_isr {
705 	struct {
706 		u32 vector : 6;
707 		u32 vf : 4;
708 		u32 en_code : 2;
709 		u32 rsvd0 : 20;
710 	} field;
711 	u32 val;
712 };
713 
714 #define DLB2_SYS_DIR_CQ2VF_PF_RO(x) \
715 	(0x10000fd4 + (x) * 0x1000)
716 #define DLB2_SYS_DIR_CQ2VF_PF_RO_RST 0x0
717 union dlb2_sys_dir_cq2vf_pf_ro {
718 	struct {
719 		u32 vf : 4;
720 		u32 is_pf : 1;
721 		u32 ro : 1;
722 		u32 rsvd0 : 26;
723 	} field;
724 	u32 val;
725 };
726 
727 #define DLB2_SYS_DIR_PP_V(x) \
728 	(0x10000fd0 + (x) * 0x1000)
729 #define DLB2_SYS_DIR_PP_V_RST 0x0
730 union dlb2_sys_dir_pp_v {
731 	struct {
732 		u32 pp_v : 1;
733 		u32 rsvd0 : 31;
734 	} field;
735 	u32 val;
736 };
737 
738 #define DLB2_SYS_DIR_PP2VDEV(x) \
739 	(0x10000fcc + (x) * 0x1000)
740 #define DLB2_SYS_DIR_PP2VDEV_RST 0x0
741 union dlb2_sys_dir_pp2vdev {
742 	struct {
743 		u32 vdev : 4;
744 		u32 rsvd0 : 28;
745 	} field;
746 	u32 val;
747 };
748 
749 #define DLB2_SYS_DIR_PP2VAS(x) \
750 	(0x10000fc8 + (x) * 0x1000)
751 #define DLB2_SYS_DIR_PP2VAS_RST 0x0
752 union dlb2_sys_dir_pp2vas {
753 	struct {
754 		u32 vas : 5;
755 		u32 rsvd0 : 27;
756 	} field;
757 	u32 val;
758 };
759 
760 #define DLB2_SYS_DIR_CQ_ADDR_U(x) \
761 	(0x10000fc4 + (x) * 0x1000)
762 #define DLB2_SYS_DIR_CQ_ADDR_U_RST 0x0
763 union dlb2_sys_dir_cq_addr_u {
764 	struct {
765 		u32 addr_u : 32;
766 	} field;
767 	u32 val;
768 };
769 
770 #define DLB2_SYS_DIR_CQ_ADDR_L(x) \
771 	(0x10000fc0 + (x) * 0x1000)
772 #define DLB2_SYS_DIR_CQ_ADDR_L_RST 0x0
773 union dlb2_sys_dir_cq_addr_l {
774 	struct {
775 		u32 rsvd0 : 6;
776 		u32 addr_l : 26;
777 	} field;
778 	u32 val;
779 };
780 
781 #define DLB2_SYS_INGRESS_ALARM_ENBL 0x10000300
782 #define DLB2_SYS_INGRESS_ALARM_ENBL_RST 0x0
783 union dlb2_sys_ingress_alarm_enbl {
784 	struct {
785 		u32 illegal_hcw : 1;
786 		u32 illegal_pp : 1;
787 		u32 illegal_pasid : 1;
788 		u32 illegal_qid : 1;
789 		u32 disabled_qid : 1;
790 		u32 illegal_ldb_qid_cfg : 1;
791 		u32 rsvd0 : 26;
792 	} field;
793 	u32 val;
794 };
795 
796 #define DLB2_SYS_MSIX_ACK 0x10000400
797 #define DLB2_SYS_MSIX_ACK_RST 0x0
798 union dlb2_sys_msix_ack {
799 	struct {
800 		u32 msix_0_ack : 1;
801 		u32 msix_1_ack : 1;
802 		u32 rsvd0 : 30;
803 	} field;
804 	u32 val;
805 };
806 
807 #define DLB2_SYS_MSIX_PASSTHRU 0x10000404
808 #define DLB2_SYS_MSIX_PASSTHRU_RST 0x0
809 union dlb2_sys_msix_passthru {
810 	struct {
811 		u32 msix_0_passthru : 1;
812 		u32 msix_1_passthru : 1;
813 		u32 rsvd0 : 30;
814 	} field;
815 	u32 val;
816 };
817 
818 #define DLB2_SYS_MSIX_MODE 0x10000408
819 #define DLB2_SYS_MSIX_MODE_RST 0x0
820 /* MSI-X Modes */
821 #define DLB2_MSIX_MODE_PACKED     0
822 #define DLB2_MSIX_MODE_COMPRESSED 1
823 union dlb2_sys_msix_mode {
824 	struct {
825 		u32 mode : 1;
826 		u32 poll_mode : 1;
827 		u32 poll_mask : 1;
828 		u32 poll_lock : 1;
829 		u32 rsvd0 : 28;
830 	} field;
831 	u32 val;
832 };
833 
834 #define DLB2_SYS_DIR_CQ_31_0_OCC_INT_STS 0x10000440
835 #define DLB2_SYS_DIR_CQ_31_0_OCC_INT_STS_RST 0x0
836 union dlb2_sys_dir_cq_31_0_occ_int_sts {
837 	struct {
838 		u32 cq_0_occ_int : 1;
839 		u32 cq_1_occ_int : 1;
840 		u32 cq_2_occ_int : 1;
841 		u32 cq_3_occ_int : 1;
842 		u32 cq_4_occ_int : 1;
843 		u32 cq_5_occ_int : 1;
844 		u32 cq_6_occ_int : 1;
845 		u32 cq_7_occ_int : 1;
846 		u32 cq_8_occ_int : 1;
847 		u32 cq_9_occ_int : 1;
848 		u32 cq_10_occ_int : 1;
849 		u32 cq_11_occ_int : 1;
850 		u32 cq_12_occ_int : 1;
851 		u32 cq_13_occ_int : 1;
852 		u32 cq_14_occ_int : 1;
853 		u32 cq_15_occ_int : 1;
854 		u32 cq_16_occ_int : 1;
855 		u32 cq_17_occ_int : 1;
856 		u32 cq_18_occ_int : 1;
857 		u32 cq_19_occ_int : 1;
858 		u32 cq_20_occ_int : 1;
859 		u32 cq_21_occ_int : 1;
860 		u32 cq_22_occ_int : 1;
861 		u32 cq_23_occ_int : 1;
862 		u32 cq_24_occ_int : 1;
863 		u32 cq_25_occ_int : 1;
864 		u32 cq_26_occ_int : 1;
865 		u32 cq_27_occ_int : 1;
866 		u32 cq_28_occ_int : 1;
867 		u32 cq_29_occ_int : 1;
868 		u32 cq_30_occ_int : 1;
869 		u32 cq_31_occ_int : 1;
870 	} field;
871 	u32 val;
872 };
873 
874 #define DLB2_SYS_DIR_CQ_63_32_OCC_INT_STS 0x10000444
875 #define DLB2_SYS_DIR_CQ_63_32_OCC_INT_STS_RST 0x0
876 union dlb2_sys_dir_cq_63_32_occ_int_sts {
877 	struct {
878 		u32 cq_32_occ_int : 1;
879 		u32 cq_33_occ_int : 1;
880 		u32 cq_34_occ_int : 1;
881 		u32 cq_35_occ_int : 1;
882 		u32 cq_36_occ_int : 1;
883 		u32 cq_37_occ_int : 1;
884 		u32 cq_38_occ_int : 1;
885 		u32 cq_39_occ_int : 1;
886 		u32 cq_40_occ_int : 1;
887 		u32 cq_41_occ_int : 1;
888 		u32 cq_42_occ_int : 1;
889 		u32 cq_43_occ_int : 1;
890 		u32 cq_44_occ_int : 1;
891 		u32 cq_45_occ_int : 1;
892 		u32 cq_46_occ_int : 1;
893 		u32 cq_47_occ_int : 1;
894 		u32 cq_48_occ_int : 1;
895 		u32 cq_49_occ_int : 1;
896 		u32 cq_50_occ_int : 1;
897 		u32 cq_51_occ_int : 1;
898 		u32 cq_52_occ_int : 1;
899 		u32 cq_53_occ_int : 1;
900 		u32 cq_54_occ_int : 1;
901 		u32 cq_55_occ_int : 1;
902 		u32 cq_56_occ_int : 1;
903 		u32 cq_57_occ_int : 1;
904 		u32 cq_58_occ_int : 1;
905 		u32 cq_59_occ_int : 1;
906 		u32 cq_60_occ_int : 1;
907 		u32 cq_61_occ_int : 1;
908 		u32 cq_62_occ_int : 1;
909 		u32 cq_63_occ_int : 1;
910 	} field;
911 	u32 val;
912 };
913 
914 #define DLB2_SYS_LDB_CQ_31_0_OCC_INT_STS 0x10000460
915 #define DLB2_SYS_LDB_CQ_31_0_OCC_INT_STS_RST 0x0
916 union dlb2_sys_ldb_cq_31_0_occ_int_sts {
917 	struct {
918 		u32 cq_0_occ_int : 1;
919 		u32 cq_1_occ_int : 1;
920 		u32 cq_2_occ_int : 1;
921 		u32 cq_3_occ_int : 1;
922 		u32 cq_4_occ_int : 1;
923 		u32 cq_5_occ_int : 1;
924 		u32 cq_6_occ_int : 1;
925 		u32 cq_7_occ_int : 1;
926 		u32 cq_8_occ_int : 1;
927 		u32 cq_9_occ_int : 1;
928 		u32 cq_10_occ_int : 1;
929 		u32 cq_11_occ_int : 1;
930 		u32 cq_12_occ_int : 1;
931 		u32 cq_13_occ_int : 1;
932 		u32 cq_14_occ_int : 1;
933 		u32 cq_15_occ_int : 1;
934 		u32 cq_16_occ_int : 1;
935 		u32 cq_17_occ_int : 1;
936 		u32 cq_18_occ_int : 1;
937 		u32 cq_19_occ_int : 1;
938 		u32 cq_20_occ_int : 1;
939 		u32 cq_21_occ_int : 1;
940 		u32 cq_22_occ_int : 1;
941 		u32 cq_23_occ_int : 1;
942 		u32 cq_24_occ_int : 1;
943 		u32 cq_25_occ_int : 1;
944 		u32 cq_26_occ_int : 1;
945 		u32 cq_27_occ_int : 1;
946 		u32 cq_28_occ_int : 1;
947 		u32 cq_29_occ_int : 1;
948 		u32 cq_30_occ_int : 1;
949 		u32 cq_31_occ_int : 1;
950 	} field;
951 	u32 val;
952 };
953 
954 #define DLB2_SYS_LDB_CQ_63_32_OCC_INT_STS 0x10000464
955 #define DLB2_SYS_LDB_CQ_63_32_OCC_INT_STS_RST 0x0
956 union dlb2_sys_ldb_cq_63_32_occ_int_sts {
957 	struct {
958 		u32 cq_32_occ_int : 1;
959 		u32 cq_33_occ_int : 1;
960 		u32 cq_34_occ_int : 1;
961 		u32 cq_35_occ_int : 1;
962 		u32 cq_36_occ_int : 1;
963 		u32 cq_37_occ_int : 1;
964 		u32 cq_38_occ_int : 1;
965 		u32 cq_39_occ_int : 1;
966 		u32 cq_40_occ_int : 1;
967 		u32 cq_41_occ_int : 1;
968 		u32 cq_42_occ_int : 1;
969 		u32 cq_43_occ_int : 1;
970 		u32 cq_44_occ_int : 1;
971 		u32 cq_45_occ_int : 1;
972 		u32 cq_46_occ_int : 1;
973 		u32 cq_47_occ_int : 1;
974 		u32 cq_48_occ_int : 1;
975 		u32 cq_49_occ_int : 1;
976 		u32 cq_50_occ_int : 1;
977 		u32 cq_51_occ_int : 1;
978 		u32 cq_52_occ_int : 1;
979 		u32 cq_53_occ_int : 1;
980 		u32 cq_54_occ_int : 1;
981 		u32 cq_55_occ_int : 1;
982 		u32 cq_56_occ_int : 1;
983 		u32 cq_57_occ_int : 1;
984 		u32 cq_58_occ_int : 1;
985 		u32 cq_59_occ_int : 1;
986 		u32 cq_60_occ_int : 1;
987 		u32 cq_61_occ_int : 1;
988 		u32 cq_62_occ_int : 1;
989 		u32 cq_63_occ_int : 1;
990 	} field;
991 	u32 val;
992 };
993 
994 #define DLB2_SYS_DIR_CQ_OPT_CLR 0x100004c0
995 #define DLB2_SYS_DIR_CQ_OPT_CLR_RST 0x0
996 union dlb2_sys_dir_cq_opt_clr {
997 	struct {
998 		u32 cq : 6;
999 		u32 rsvd0 : 26;
1000 	} field;
1001 	u32 val;
1002 };
1003 
1004 #define DLB2_SYS_ALARM_HW_SYND 0x1000050c
1005 #define DLB2_SYS_ALARM_HW_SYND_RST 0x0
1006 union dlb2_sys_alarm_hw_synd {
1007 	struct {
1008 		u32 syndrome : 8;
1009 		u32 rtype : 2;
1010 		u32 alarm : 1;
1011 		u32 cwd : 1;
1012 		u32 vf_pf_mb : 1;
1013 		u32 rsvd0 : 1;
1014 		u32 cls : 2;
1015 		u32 aid : 6;
1016 		u32 unit : 4;
1017 		u32 source : 4;
1018 		u32 more : 1;
1019 		u32 valid : 1;
1020 	} field;
1021 	u32 val;
1022 };
1023 
1024 #define DLB2_AQED_PIPE_QID_FID_LIM(x) \
1025 	(0x20000000 + (x) * 0x1000)
1026 #define DLB2_AQED_PIPE_QID_FID_LIM_RST 0x7ff
1027 union dlb2_aqed_pipe_qid_fid_lim {
1028 	struct {
1029 		u32 qid_fid_limit : 13;
1030 		u32 rsvd0 : 19;
1031 	} field;
1032 	u32 val;
1033 };
1034 
1035 #define DLB2_AQED_PIPE_QID_HID_WIDTH(x) \
1036 	(0x20080000 + (x) * 0x1000)
1037 #define DLB2_AQED_PIPE_QID_HID_WIDTH_RST 0x0
1038 union dlb2_aqed_pipe_qid_hid_width {
1039 	struct {
1040 		u32 compress_code : 3;
1041 		u32 rsvd0 : 29;
1042 	} field;
1043 	u32 val;
1044 };
1045 
1046 #define DLB2_AQED_PIPE_CFG_ARB_WEIGHTS_TQPRI_ATM_0 0x24000004
1047 #define DLB2_AQED_PIPE_CFG_ARB_WEIGHTS_TQPRI_ATM_0_RST 0xfefcfaf8
1048 union dlb2_aqed_pipe_cfg_arb_weights_tqpri_atm_0 {
1049 	struct {
1050 		u32 pri0 : 8;
1051 		u32 pri1 : 8;
1052 		u32 pri2 : 8;
1053 		u32 pri3 : 8;
1054 	} field;
1055 	u32 val;
1056 };
1057 
1058 #define DLB2_ATM_QID2CQIDIX_00(x) \
1059 	(0x30080000 + (x) * 0x1000)
1060 #define DLB2_ATM_QID2CQIDIX_00_RST 0x0
1061 #define DLB2_ATM_QID2CQIDIX(x, y) \
1062 	(DLB2_ATM_QID2CQIDIX_00(x) + 0x80000 * (y))
1063 #define DLB2_ATM_QID2CQIDIX_NUM 16
1064 union dlb2_atm_qid2cqidix_00 {
1065 	struct {
1066 		u32 cq_p0 : 8;
1067 		u32 cq_p1 : 8;
1068 		u32 cq_p2 : 8;
1069 		u32 cq_p3 : 8;
1070 	} field;
1071 	u32 val;
1072 };
1073 
1074 #define DLB2_ATM_CFG_ARB_WEIGHTS_RDY_BIN 0x34000004
1075 #define DLB2_ATM_CFG_ARB_WEIGHTS_RDY_BIN_RST 0xfffefdfc
1076 union dlb2_atm_cfg_arb_weights_rdy_bin {
1077 	struct {
1078 		u32 bin0 : 8;
1079 		u32 bin1 : 8;
1080 		u32 bin2 : 8;
1081 		u32 bin3 : 8;
1082 	} field;
1083 	u32 val;
1084 };
1085 
1086 #define DLB2_ATM_CFG_ARB_WEIGHTS_SCHED_BIN 0x34000008
1087 #define DLB2_ATM_CFG_ARB_WEIGHTS_SCHED_BIN_RST 0xfffefdfc
1088 union dlb2_atm_cfg_arb_weights_sched_bin {
1089 	struct {
1090 		u32 bin0 : 8;
1091 		u32 bin1 : 8;
1092 		u32 bin2 : 8;
1093 		u32 bin3 : 8;
1094 	} field;
1095 	u32 val;
1096 };
1097 
1098 #define DLB2_CHP_CFG_DIR_VAS_CRD(x) \
1099 	(0x40000000 + (x) * 0x1000)
1100 #define DLB2_CHP_CFG_DIR_VAS_CRD_RST 0x0
1101 union dlb2_chp_cfg_dir_vas_crd {
1102 	struct {
1103 		u32 count : 14;
1104 		u32 rsvd0 : 18;
1105 	} field;
1106 	u32 val;
1107 };
1108 
1109 #define DLB2_CHP_CFG_LDB_VAS_CRD(x) \
1110 	(0x40080000 + (x) * 0x1000)
1111 #define DLB2_CHP_CFG_LDB_VAS_CRD_RST 0x0
1112 union dlb2_chp_cfg_ldb_vas_crd {
1113 	struct {
1114 		u32 count : 15;
1115 		u32 rsvd0 : 17;
1116 	} field;
1117 	u32 val;
1118 };
1119 
1120 #define DLB2_CHP_ORD_QID_SN(x) \
1121 	(0x40100000 + (x) * 0x1000)
1122 #define DLB2_CHP_ORD_QID_SN_RST 0x0
1123 union dlb2_chp_ord_qid_sn {
1124 	struct {
1125 		u32 sn : 10;
1126 		u32 rsvd0 : 22;
1127 	} field;
1128 	u32 val;
1129 };
1130 
1131 #define DLB2_CHP_ORD_QID_SN_MAP(x) \
1132 	(0x40180000 + (x) * 0x1000)
1133 #define DLB2_CHP_ORD_QID_SN_MAP_RST 0x0
1134 union dlb2_chp_ord_qid_sn_map {
1135 	struct {
1136 		u32 mode : 3;
1137 		u32 slot : 4;
1138 		u32 rsvz0 : 1;
1139 		u32 grp : 1;
1140 		u32 rsvz1 : 1;
1141 		u32 rsvd0 : 22;
1142 	} field;
1143 	u32 val;
1144 };
1145 
1146 #define DLB2_CHP_SN_CHK_ENBL(x) \
1147 	(0x40200000 + (x) * 0x1000)
1148 #define DLB2_CHP_SN_CHK_ENBL_RST 0x0
1149 union dlb2_chp_sn_chk_enbl {
1150 	struct {
1151 		u32 en : 1;
1152 		u32 rsvd0 : 31;
1153 	} field;
1154 	u32 val;
1155 };
1156 
1157 #define DLB2_CHP_DIR_CQ_DEPTH(x) \
1158 	(0x40280000 + (x) * 0x1000)
1159 #define DLB2_CHP_DIR_CQ_DEPTH_RST 0x0
1160 union dlb2_chp_dir_cq_depth {
1161 	struct {
1162 		u32 depth : 13;
1163 		u32 rsvd0 : 19;
1164 	} field;
1165 	u32 val;
1166 };
1167 
1168 #define DLB2_CHP_DIR_CQ_INT_DEPTH_THRSH(x) \
1169 	(0x40300000 + (x) * 0x1000)
1170 #define DLB2_CHP_DIR_CQ_INT_DEPTH_THRSH_RST 0x0
1171 union dlb2_chp_dir_cq_int_depth_thrsh {
1172 	struct {
1173 		u32 depth_threshold : 13;
1174 		u32 rsvd0 : 19;
1175 	} field;
1176 	u32 val;
1177 };
1178 
1179 #define DLB2_CHP_DIR_CQ_INT_ENB(x) \
1180 	(0x40380000 + (x) * 0x1000)
1181 #define DLB2_CHP_DIR_CQ_INT_ENB_RST 0x0
1182 union dlb2_chp_dir_cq_int_enb {
1183 	struct {
1184 		u32 en_tim : 1;
1185 		u32 en_depth : 1;
1186 		u32 rsvd0 : 30;
1187 	} field;
1188 	u32 val;
1189 };
1190 
1191 #define DLB2_CHP_DIR_CQ_TMR_THRSH(x) \
1192 	(0x40480000 + (x) * 0x1000)
1193 #define DLB2_CHP_DIR_CQ_TMR_THRSH_RST 0x1
1194 union dlb2_chp_dir_cq_tmr_thrsh {
1195 	struct {
1196 		u32 thrsh_0 : 1;
1197 		u32 thrsh_13_1 : 13;
1198 		u32 rsvd0 : 18;
1199 	} field;
1200 	u32 val;
1201 };
1202 
1203 #define DLB2_CHP_DIR_CQ_TKN_DEPTH_SEL(x) \
1204 	(0x40500000 + (x) * 0x1000)
1205 #define DLB2_CHP_DIR_CQ_TKN_DEPTH_SEL_RST 0x0
1206 union dlb2_chp_dir_cq_tkn_depth_sel {
1207 	struct {
1208 		u32 token_depth_select : 4;
1209 		u32 rsvd0 : 28;
1210 	} field;
1211 	u32 val;
1212 };
1213 
1214 #define DLB2_CHP_DIR_CQ_WD_ENB(x) \
1215 	(0x40580000 + (x) * 0x1000)
1216 #define DLB2_CHP_DIR_CQ_WD_ENB_RST 0x0
1217 union dlb2_chp_dir_cq_wd_enb {
1218 	struct {
1219 		u32 wd_enable : 1;
1220 		u32 rsvd0 : 31;
1221 	} field;
1222 	u32 val;
1223 };
1224 
1225 #define DLB2_CHP_DIR_CQ_WPTR(x) \
1226 	(0x40600000 + (x) * 0x1000)
1227 #define DLB2_CHP_DIR_CQ_WPTR_RST 0x0
1228 union dlb2_chp_dir_cq_wptr {
1229 	struct {
1230 		u32 write_pointer : 13;
1231 		u32 rsvd0 : 19;
1232 	} field;
1233 	u32 val;
1234 };
1235 
1236 #define DLB2_CHP_DIR_CQ2VAS(x) \
1237 	(0x40680000 + (x) * 0x1000)
1238 #define DLB2_CHP_DIR_CQ2VAS_RST 0x0
1239 union dlb2_chp_dir_cq2vas {
1240 	struct {
1241 		u32 cq2vas : 5;
1242 		u32 rsvd0 : 27;
1243 	} field;
1244 	u32 val;
1245 };
1246 
1247 #define DLB2_CHP_HIST_LIST_BASE(x) \
1248 	(0x40700000 + (x) * 0x1000)
1249 #define DLB2_CHP_HIST_LIST_BASE_RST 0x0
1250 union dlb2_chp_hist_list_base {
1251 	struct {
1252 		u32 base : 13;
1253 		u32 rsvd0 : 19;
1254 	} field;
1255 	u32 val;
1256 };
1257 
1258 #define DLB2_CHP_HIST_LIST_LIM(x) \
1259 	(0x40780000 + (x) * 0x1000)
1260 #define DLB2_CHP_HIST_LIST_LIM_RST 0x0
1261 union dlb2_chp_hist_list_lim {
1262 	struct {
1263 		u32 limit : 13;
1264 		u32 rsvd0 : 19;
1265 	} field;
1266 	u32 val;
1267 };
1268 
1269 #define DLB2_CHP_HIST_LIST_POP_PTR(x) \
1270 	(0x40800000 + (x) * 0x1000)
1271 #define DLB2_CHP_HIST_LIST_POP_PTR_RST 0x0
1272 union dlb2_chp_hist_list_pop_ptr {
1273 	struct {
1274 		u32 pop_ptr : 13;
1275 		u32 generation : 1;
1276 		u32 rsvd0 : 18;
1277 	} field;
1278 	u32 val;
1279 };
1280 
1281 #define DLB2_CHP_HIST_LIST_PUSH_PTR(x) \
1282 	(0x40880000 + (x) * 0x1000)
1283 #define DLB2_CHP_HIST_LIST_PUSH_PTR_RST 0x0
1284 union dlb2_chp_hist_list_push_ptr {
1285 	struct {
1286 		u32 push_ptr : 13;
1287 		u32 generation : 1;
1288 		u32 rsvd0 : 18;
1289 	} field;
1290 	u32 val;
1291 };
1292 
1293 #define DLB2_CHP_LDB_CQ_DEPTH(x) \
1294 	(0x40900000 + (x) * 0x1000)
1295 #define DLB2_CHP_LDB_CQ_DEPTH_RST 0x0
1296 union dlb2_chp_ldb_cq_depth {
1297 	struct {
1298 		u32 depth : 11;
1299 		u32 rsvd0 : 21;
1300 	} field;
1301 	u32 val;
1302 };
1303 
1304 #define DLB2_CHP_LDB_CQ_INT_DEPTH_THRSH(x) \
1305 	(0x40980000 + (x) * 0x1000)
1306 #define DLB2_CHP_LDB_CQ_INT_DEPTH_THRSH_RST 0x0
1307 union dlb2_chp_ldb_cq_int_depth_thrsh {
1308 	struct {
1309 		u32 depth_threshold : 11;
1310 		u32 rsvd0 : 21;
1311 	} field;
1312 	u32 val;
1313 };
1314 
1315 #define DLB2_CHP_LDB_CQ_INT_ENB(x) \
1316 	(0x40a00000 + (x) * 0x1000)
1317 #define DLB2_CHP_LDB_CQ_INT_ENB_RST 0x0
1318 union dlb2_chp_ldb_cq_int_enb {
1319 	struct {
1320 		u32 en_tim : 1;
1321 		u32 en_depth : 1;
1322 		u32 rsvd0 : 30;
1323 	} field;
1324 	u32 val;
1325 };
1326 
1327 #define DLB2_CHP_LDB_CQ_TMR_THRSH(x) \
1328 	(0x40b00000 + (x) * 0x1000)
1329 #define DLB2_CHP_LDB_CQ_TMR_THRSH_RST 0x1
1330 union dlb2_chp_ldb_cq_tmr_thrsh {
1331 	struct {
1332 		u32 thrsh_0 : 1;
1333 		u32 thrsh_13_1 : 13;
1334 		u32 rsvd0 : 18;
1335 	} field;
1336 	u32 val;
1337 };
1338 
1339 #define DLB2_CHP_LDB_CQ_TKN_DEPTH_SEL(x) \
1340 	(0x40b80000 + (x) * 0x1000)
1341 #define DLB2_CHP_LDB_CQ_TKN_DEPTH_SEL_RST 0x0
1342 union dlb2_chp_ldb_cq_tkn_depth_sel {
1343 	struct {
1344 		u32 token_depth_select : 4;
1345 		u32 rsvd0 : 28;
1346 	} field;
1347 	u32 val;
1348 };
1349 
1350 #define DLB2_CHP_LDB_CQ_WD_ENB(x) \
1351 	(0x40c00000 + (x) * 0x1000)
1352 #define DLB2_CHP_LDB_CQ_WD_ENB_RST 0x0
1353 union dlb2_chp_ldb_cq_wd_enb {
1354 	struct {
1355 		u32 wd_enable : 1;
1356 		u32 rsvd0 : 31;
1357 	} field;
1358 	u32 val;
1359 };
1360 
1361 #define DLB2_CHP_LDB_CQ_WPTR(x) \
1362 	(0x40c80000 + (x) * 0x1000)
1363 #define DLB2_CHP_LDB_CQ_WPTR_RST 0x0
1364 union dlb2_chp_ldb_cq_wptr {
1365 	struct {
1366 		u32 write_pointer : 11;
1367 		u32 rsvd0 : 21;
1368 	} field;
1369 	u32 val;
1370 };
1371 
1372 #define DLB2_CHP_LDB_CQ2VAS(x) \
1373 	(0x40d00000 + (x) * 0x1000)
1374 #define DLB2_CHP_LDB_CQ2VAS_RST 0x0
1375 union dlb2_chp_ldb_cq2vas {
1376 	struct {
1377 		u32 cq2vas : 5;
1378 		u32 rsvd0 : 27;
1379 	} field;
1380 	u32 val;
1381 };
1382 
1383 #define DLB2_CHP_CFG_CHP_CSR_CTRL 0x44000008
1384 #define DLB2_CHP_CFG_CHP_CSR_CTRL_RST 0x180002
1385 union dlb2_chp_cfg_chp_csr_ctrl {
1386 	struct {
1387 		u32 int_cor_alarm_dis : 1;
1388 		u32 int_cor_synd_dis : 1;
1389 		u32 int_uncr_alarm_dis : 1;
1390 		u32 int_unc_synd_dis : 1;
1391 		u32 int_inf0_alarm_dis : 1;
1392 		u32 int_inf0_synd_dis : 1;
1393 		u32 int_inf1_alarm_dis : 1;
1394 		u32 int_inf1_synd_dis : 1;
1395 		u32 int_inf2_alarm_dis : 1;
1396 		u32 int_inf2_synd_dis : 1;
1397 		u32 int_inf3_alarm_dis : 1;
1398 		u32 int_inf3_synd_dis : 1;
1399 		u32 int_inf4_alarm_dis : 1;
1400 		u32 int_inf4_synd_dis : 1;
1401 		u32 int_inf5_alarm_dis : 1;
1402 		u32 int_inf5_synd_dis : 1;
1403 		u32 dlb_cor_alarm_enable : 1;
1404 		u32 cfg_64bytes_qe_ldb_cq_mode : 1;
1405 		u32 cfg_64bytes_qe_dir_cq_mode : 1;
1406 		u32 pad_write_ldb : 1;
1407 		u32 pad_write_dir : 1;
1408 		u32 pad_first_write_ldb : 1;
1409 		u32 pad_first_write_dir : 1;
1410 		u32 rsvz0 : 9;
1411 	} field;
1412 	u32 val;
1413 };
1414 
1415 #define DLB2_CHP_DIR_CQ_INTR_ARMED0 0x4400005c
1416 #define DLB2_CHP_DIR_CQ_INTR_ARMED0_RST 0x0
1417 union dlb2_chp_dir_cq_intr_armed0 {
1418 	struct {
1419 		u32 armed : 32;
1420 	} field;
1421 	u32 val;
1422 };
1423 
1424 #define DLB2_CHP_DIR_CQ_INTR_ARMED1 0x44000060
1425 #define DLB2_CHP_DIR_CQ_INTR_ARMED1_RST 0x0
1426 union dlb2_chp_dir_cq_intr_armed1 {
1427 	struct {
1428 		u32 armed : 32;
1429 	} field;
1430 	u32 val;
1431 };
1432 
1433 #define DLB2_CHP_CFG_DIR_CQ_TIMER_CTL 0x44000084
1434 #define DLB2_CHP_CFG_DIR_CQ_TIMER_CTL_RST 0x0
1435 union dlb2_chp_cfg_dir_cq_timer_ctl {
1436 	struct {
1437 		u32 sample_interval : 8;
1438 		u32 enb : 1;
1439 		u32 rsvz0 : 23;
1440 	} field;
1441 	u32 val;
1442 };
1443 
1444 #define DLB2_CHP_CFG_DIR_WDTO_0 0x44000088
1445 #define DLB2_CHP_CFG_DIR_WDTO_0_RST 0x0
1446 union dlb2_chp_cfg_dir_wdto_0 {
1447 	struct {
1448 		u32 wdto : 32;
1449 	} field;
1450 	u32 val;
1451 };
1452 
1453 #define DLB2_CHP_CFG_DIR_WDTO_1 0x4400008c
1454 #define DLB2_CHP_CFG_DIR_WDTO_1_RST 0x0
1455 union dlb2_chp_cfg_dir_wdto_1 {
1456 	struct {
1457 		u32 wdto : 32;
1458 	} field;
1459 	u32 val;
1460 };
1461 
1462 #define DLB2_CHP_CFG_DIR_WD_DISABLE0 0x44000098
1463 #define DLB2_CHP_CFG_DIR_WD_DISABLE0_RST 0xffffffff
1464 union dlb2_chp_cfg_dir_wd_disable0 {
1465 	struct {
1466 		u32 wd_disable : 32;
1467 	} field;
1468 	u32 val;
1469 };
1470 
1471 #define DLB2_CHP_CFG_DIR_WD_DISABLE1 0x4400009c
1472 #define DLB2_CHP_CFG_DIR_WD_DISABLE1_RST 0xffffffff
1473 union dlb2_chp_cfg_dir_wd_disable1 {
1474 	struct {
1475 		u32 wd_disable : 32;
1476 	} field;
1477 	u32 val;
1478 };
1479 
1480 #define DLB2_CHP_CFG_DIR_WD_ENB_INTERVAL 0x440000a0
1481 #define DLB2_CHP_CFG_DIR_WD_ENB_INTERVAL_RST 0x0
1482 union dlb2_chp_cfg_dir_wd_enb_interval {
1483 	struct {
1484 		u32 sample_interval : 28;
1485 		u32 enb : 1;
1486 		u32 rsvz0 : 3;
1487 	} field;
1488 	u32 val;
1489 };
1490 
1491 #define DLB2_CHP_CFG_DIR_WD_THRESHOLD 0x440000ac
1492 #define DLB2_CHP_CFG_DIR_WD_THRESHOLD_RST 0x0
1493 union dlb2_chp_cfg_dir_wd_threshold {
1494 	struct {
1495 		u32 wd_threshold : 8;
1496 		u32 rsvz0 : 24;
1497 	} field;
1498 	u32 val;
1499 };
1500 
1501 #define DLB2_CHP_LDB_CQ_INTR_ARMED0 0x440000b0
1502 #define DLB2_CHP_LDB_CQ_INTR_ARMED0_RST 0x0
1503 union dlb2_chp_ldb_cq_intr_armed0 {
1504 	struct {
1505 		u32 armed : 32;
1506 	} field;
1507 	u32 val;
1508 };
1509 
1510 #define DLB2_CHP_LDB_CQ_INTR_ARMED1 0x440000b4
1511 #define DLB2_CHP_LDB_CQ_INTR_ARMED1_RST 0x0
1512 union dlb2_chp_ldb_cq_intr_armed1 {
1513 	struct {
1514 		u32 armed : 32;
1515 	} field;
1516 	u32 val;
1517 };
1518 
1519 #define DLB2_CHP_CFG_LDB_CQ_TIMER_CTL 0x440000d8
1520 #define DLB2_CHP_CFG_LDB_CQ_TIMER_CTL_RST 0x0
1521 union dlb2_chp_cfg_ldb_cq_timer_ctl {
1522 	struct {
1523 		u32 sample_interval : 8;
1524 		u32 enb : 1;
1525 		u32 rsvz0 : 23;
1526 	} field;
1527 	u32 val;
1528 };
1529 
1530 #define DLB2_CHP_CFG_LDB_WDTO_0 0x440000dc
1531 #define DLB2_CHP_CFG_LDB_WDTO_0_RST 0x0
1532 union dlb2_chp_cfg_ldb_wdto_0 {
1533 	struct {
1534 		u32 wdto : 32;
1535 	} field;
1536 	u32 val;
1537 };
1538 
1539 #define DLB2_CHP_CFG_LDB_WDTO_1 0x440000e0
1540 #define DLB2_CHP_CFG_LDB_WDTO_1_RST 0x0
1541 union dlb2_chp_cfg_ldb_wdto_1 {
1542 	struct {
1543 		u32 wdto : 32;
1544 	} field;
1545 	u32 val;
1546 };
1547 
1548 #define DLB2_CHP_CFG_LDB_WD_DISABLE0 0x440000ec
1549 #define DLB2_CHP_CFG_LDB_WD_DISABLE0_RST 0xffffffff
1550 union dlb2_chp_cfg_ldb_wd_disable0 {
1551 	struct {
1552 		u32 wd_disable : 32;
1553 	} field;
1554 	u32 val;
1555 };
1556 
1557 #define DLB2_CHP_CFG_LDB_WD_DISABLE1 0x440000f0
1558 #define DLB2_CHP_CFG_LDB_WD_DISABLE1_RST 0xffffffff
1559 union dlb2_chp_cfg_ldb_wd_disable1 {
1560 	struct {
1561 		u32 wd_disable : 32;
1562 	} field;
1563 	u32 val;
1564 };
1565 
1566 #define DLB2_CHP_CFG_LDB_WD_ENB_INTERVAL 0x440000f4
1567 #define DLB2_CHP_CFG_LDB_WD_ENB_INTERVAL_RST 0x0
1568 union dlb2_chp_cfg_ldb_wd_enb_interval {
1569 	struct {
1570 		u32 sample_interval : 28;
1571 		u32 enb : 1;
1572 		u32 rsvz0 : 3;
1573 	} field;
1574 	u32 val;
1575 };
1576 
1577 #define DLB2_CHP_CFG_LDB_WD_THRESHOLD 0x44000100
1578 #define DLB2_CHP_CFG_LDB_WD_THRESHOLD_RST 0x0
1579 union dlb2_chp_cfg_ldb_wd_threshold {
1580 	struct {
1581 		u32 wd_threshold : 8;
1582 		u32 rsvz0 : 24;
1583 	} field;
1584 	u32 val;
1585 };
1586 
1587 #define DLB2_CHP_CTRL_DIAG_02 0x4c000028
1588 #define DLB2_CHP_CTRL_DIAG_02_RST 0x1555
1589 union dlb2_chp_ctrl_diag_02 {
1590 	struct {
1591 		u32 egress_credit_status_empty : 1;
1592 		u32 egress_credit_status_afull : 1;
1593 		u32 chp_outbound_hcw_pipe_credit_status_empty : 1;
1594 		u32 chp_outbound_hcw_pipe_credit_status_afull : 1;
1595 		u32 chp_lsp_ap_cmp_pipe_credit_status_empty : 1;
1596 		u32 chp_lsp_ap_cmp_pipe_credit_status_afull : 1;
1597 		u32 chp_lsp_tok_pipe_credit_status_empty : 1;
1598 		u32 chp_lsp_tok_pipe_credit_status_afull : 1;
1599 		u32 chp_rop_pipe_credit_status_empty : 1;
1600 		u32 chp_rop_pipe_credit_status_afull : 1;
1601 		u32 qed_to_cq_pipe_credit_status_empty : 1;
1602 		u32 qed_to_cq_pipe_credit_status_afull : 1;
1603 		u32 egress_lsp_token_credit_status_empty : 1;
1604 		u32 egress_lsp_token_credit_status_afull : 1;
1605 		u32 rsvd0 : 18;
1606 	} field;
1607 	u32 val;
1608 };
1609 
1610 #define DLB2_DP_CFG_ARB_WEIGHTS_TQPRI_DIR_0 0x54000000
1611 #define DLB2_DP_CFG_ARB_WEIGHTS_TQPRI_DIR_0_RST 0xfefcfaf8
1612 union dlb2_dp_cfg_arb_weights_tqpri_dir_0 {
1613 	struct {
1614 		u32 pri0 : 8;
1615 		u32 pri1 : 8;
1616 		u32 pri2 : 8;
1617 		u32 pri3 : 8;
1618 	} field;
1619 	u32 val;
1620 };
1621 
1622 #define DLB2_DP_CFG_ARB_WEIGHTS_TQPRI_DIR_1 0x54000004
1623 #define DLB2_DP_CFG_ARB_WEIGHTS_TQPRI_DIR_1_RST 0x0
1624 union dlb2_dp_cfg_arb_weights_tqpri_dir_1 {
1625 	struct {
1626 		u32 rsvz0 : 32;
1627 	} field;
1628 	u32 val;
1629 };
1630 
1631 #define DLB2_DP_CFG_ARB_WEIGHTS_TQPRI_REPLAY_0 0x54000008
1632 #define DLB2_DP_CFG_ARB_WEIGHTS_TQPRI_REPLAY_0_RST 0xfefcfaf8
1633 union dlb2_dp_cfg_arb_weights_tqpri_replay_0 {
1634 	struct {
1635 		u32 pri0 : 8;
1636 		u32 pri1 : 8;
1637 		u32 pri2 : 8;
1638 		u32 pri3 : 8;
1639 	} field;
1640 	u32 val;
1641 };
1642 
1643 #define DLB2_DP_CFG_ARB_WEIGHTS_TQPRI_REPLAY_1 0x5400000c
1644 #define DLB2_DP_CFG_ARB_WEIGHTS_TQPRI_REPLAY_1_RST 0x0
1645 union dlb2_dp_cfg_arb_weights_tqpri_replay_1 {
1646 	struct {
1647 		u32 rsvz0 : 32;
1648 	} field;
1649 	u32 val;
1650 };
1651 
1652 #define DLB2_DP_DIR_CSR_CTRL 0x54000010
1653 #define DLB2_DP_DIR_CSR_CTRL_RST 0x0
1654 union dlb2_dp_dir_csr_ctrl {
1655 	struct {
1656 		u32 int_cor_alarm_dis : 1;
1657 		u32 int_cor_synd_dis : 1;
1658 		u32 int_uncr_alarm_dis : 1;
1659 		u32 int_unc_synd_dis : 1;
1660 		u32 int_inf0_alarm_dis : 1;
1661 		u32 int_inf0_synd_dis : 1;
1662 		u32 int_inf1_alarm_dis : 1;
1663 		u32 int_inf1_synd_dis : 1;
1664 		u32 int_inf2_alarm_dis : 1;
1665 		u32 int_inf2_synd_dis : 1;
1666 		u32 int_inf3_alarm_dis : 1;
1667 		u32 int_inf3_synd_dis : 1;
1668 		u32 int_inf4_alarm_dis : 1;
1669 		u32 int_inf4_synd_dis : 1;
1670 		u32 int_inf5_alarm_dis : 1;
1671 		u32 int_inf5_synd_dis : 1;
1672 		u32 rsvz0 : 16;
1673 	} field;
1674 	u32 val;
1675 };
1676 
1677 #define DLB2_NALB_PIPE_CFG_ARB_WEIGHTS_TQPRI_ATQ_0 0x84000000
1678 #define DLB2_NALB_PIPE_CFG_ARB_WEIGHTS_TQPRI_ATQ_0_RST 0xfefcfaf8
1679 union dlb2_nalb_pipe_cfg_arb_weights_tqpri_atq_0 {
1680 	struct {
1681 		u32 pri0 : 8;
1682 		u32 pri1 : 8;
1683 		u32 pri2 : 8;
1684 		u32 pri3 : 8;
1685 	} field;
1686 	u32 val;
1687 };
1688 
1689 #define DLB2_NALB_PIPE_CFG_ARB_WEIGHTS_TQPRI_ATQ_1 0x84000004
1690 #define DLB2_NALB_PIPE_CFG_ARB_WEIGHTS_TQPRI_ATQ_1_RST 0x0
1691 union dlb2_nalb_pipe_cfg_arb_weights_tqpri_atq_1 {
1692 	struct {
1693 		u32 rsvz0 : 32;
1694 	} field;
1695 	u32 val;
1696 };
1697 
1698 #define DLB2_NALB_PIPE_CFG_ARB_WEIGHTS_TQPRI_NALB_0 0x84000008
1699 #define DLB2_NALB_PIPE_CFG_ARB_WEIGHTS_TQPRI_NALB_0_RST 0xfefcfaf8
1700 union dlb2_nalb_pipe_cfg_arb_weights_tqpri_nalb_0 {
1701 	struct {
1702 		u32 pri0 : 8;
1703 		u32 pri1 : 8;
1704 		u32 pri2 : 8;
1705 		u32 pri3 : 8;
1706 	} field;
1707 	u32 val;
1708 };
1709 
1710 #define DLB2_NALB_PIPE_CFG_ARB_WEIGHTS_TQPRI_NALB_1 0x8400000c
1711 #define DLB2_NALB_PIPE_CFG_ARB_WEIGHTS_TQPRI_NALB_1_RST 0x0
1712 union dlb2_nalb_pipe_cfg_arb_weights_tqpri_nalb_1 {
1713 	struct {
1714 		u32 rsvz0 : 32;
1715 	} field;
1716 	u32 val;
1717 };
1718 
1719 #define DLB2_NALB_PIPE_CFG_ARB_WEIGHTS_TQPRI_REPLAY_0 0x84000010
1720 #define DLB2_NALB_PIPE_CFG_ARB_WEIGHTS_TQPRI_REPLAY_0_RST 0xfefcfaf8
1721 union dlb2_nalb_pipe_cfg_arb_weights_tqpri_replay_0 {
1722 	struct {
1723 		u32 pri0 : 8;
1724 		u32 pri1 : 8;
1725 		u32 pri2 : 8;
1726 		u32 pri3 : 8;
1727 	} field;
1728 	u32 val;
1729 };
1730 
1731 #define DLB2_NALB_PIPE_CFG_ARB_WEIGHTS_TQPRI_REPLAY_1 0x84000014
1732 #define DLB2_NALB_PIPE_CFG_ARB_WEIGHTS_TQPRI_REPLAY_1_RST 0x0
1733 union dlb2_nalb_pipe_cfg_arb_weights_tqpri_replay_1 {
1734 	struct {
1735 		u32 rsvz0 : 32;
1736 	} field;
1737 	u32 val;
1738 };
1739 
1740 #define DLB2_RO_PIPE_GRP_0_SLT_SHFT(x) \
1741 	(0x96000000 + (x) * 0x4)
1742 #define DLB2_RO_PIPE_GRP_0_SLT_SHFT_RST 0x0
1743 union dlb2_ro_pipe_grp_0_slt_shft {
1744 	struct {
1745 		u32 change : 10;
1746 		u32 rsvd0 : 22;
1747 	} field;
1748 	u32 val;
1749 };
1750 
1751 #define DLB2_RO_PIPE_GRP_1_SLT_SHFT(x) \
1752 	(0x96010000 + (x) * 0x4)
1753 #define DLB2_RO_PIPE_GRP_1_SLT_SHFT_RST 0x0
1754 union dlb2_ro_pipe_grp_1_slt_shft {
1755 	struct {
1756 		u32 change : 10;
1757 		u32 rsvd0 : 22;
1758 	} field;
1759 	u32 val;
1760 };
1761 
1762 #define DLB2_RO_PIPE_GRP_SN_MODE 0x94000000
1763 #define DLB2_RO_PIPE_GRP_SN_MODE_RST 0x0
1764 union dlb2_ro_pipe_grp_sn_mode {
1765 	struct {
1766 		u32 sn_mode_0 : 3;
1767 		u32 rszv0 : 5;
1768 		u32 sn_mode_1 : 3;
1769 		u32 rszv1 : 21;
1770 	} field;
1771 	u32 val;
1772 };
1773 
1774 #define DLB2_RO_PIPE_CFG_CTRL_GENERAL_0 0x9c000000
1775 #define DLB2_RO_PIPE_CFG_CTRL_GENERAL_0_RST 0x0
1776 union dlb2_ro_pipe_cfg_ctrl_general_0 {
1777 	struct {
1778 		u32 unit_single_step_mode : 1;
1779 		u32 rr_en : 1;
1780 		u32 rszv0 : 30;
1781 	} field;
1782 	u32 val;
1783 };
1784 
1785 #define DLB2_LSP_CQ2PRIOV(x) \
1786 	(0xa0000000 + (x) * 0x1000)
1787 #define DLB2_LSP_CQ2PRIOV_RST 0x0
1788 union dlb2_lsp_cq2priov {
1789 	struct {
1790 		u32 prio : 24;
1791 		u32 v : 8;
1792 	} field;
1793 	u32 val;
1794 };
1795 
1796 #define DLB2_LSP_CQ2QID0(x) \
1797 	(0xa0080000 + (x) * 0x1000)
1798 #define DLB2_LSP_CQ2QID0_RST 0x0
1799 union dlb2_lsp_cq2qid0 {
1800 	struct {
1801 		u32 qid_p0 : 7;
1802 		u32 rsvd3 : 1;
1803 		u32 qid_p1 : 7;
1804 		u32 rsvd2 : 1;
1805 		u32 qid_p2 : 7;
1806 		u32 rsvd1 : 1;
1807 		u32 qid_p3 : 7;
1808 		u32 rsvd0 : 1;
1809 	} field;
1810 	u32 val;
1811 };
1812 
1813 #define DLB2_LSP_CQ2QID1(x) \
1814 	(0xa0100000 + (x) * 0x1000)
1815 #define DLB2_LSP_CQ2QID1_RST 0x0
1816 union dlb2_lsp_cq2qid1 {
1817 	struct {
1818 		u32 qid_p4 : 7;
1819 		u32 rsvd3 : 1;
1820 		u32 qid_p5 : 7;
1821 		u32 rsvd2 : 1;
1822 		u32 qid_p6 : 7;
1823 		u32 rsvd1 : 1;
1824 		u32 qid_p7 : 7;
1825 		u32 rsvd0 : 1;
1826 	} field;
1827 	u32 val;
1828 };
1829 
1830 #define DLB2_LSP_CQ_DIR_DSBL(x) \
1831 	(0xa0180000 + (x) * 0x1000)
1832 #define DLB2_LSP_CQ_DIR_DSBL_RST 0x1
1833 union dlb2_lsp_cq_dir_dsbl {
1834 	struct {
1835 		u32 disabled : 1;
1836 		u32 rsvd0 : 31;
1837 	} field;
1838 	u32 val;
1839 };
1840 
1841 #define DLB2_LSP_CQ_DIR_TKN_CNT(x) \
1842 	(0xa0200000 + (x) * 0x1000)
1843 #define DLB2_LSP_CQ_DIR_TKN_CNT_RST 0x0
1844 union dlb2_lsp_cq_dir_tkn_cnt {
1845 	struct {
1846 		u32 count : 13;
1847 		u32 rsvd0 : 19;
1848 	} field;
1849 	u32 val;
1850 };
1851 
1852 #define DLB2_LSP_CQ_DIR_TKN_DEPTH_SEL_DSI(x) \
1853 	(0xa0280000 + (x) * 0x1000)
1854 #define DLB2_LSP_CQ_DIR_TKN_DEPTH_SEL_DSI_RST 0x0
1855 union dlb2_lsp_cq_dir_tkn_depth_sel_dsi {
1856 	struct {
1857 		u32 token_depth_select : 4;
1858 		u32 disable_wb_opt : 1;
1859 		u32 ignore_depth : 1;
1860 		u32 rsvd0 : 26;
1861 	} field;
1862 	u32 val;
1863 };
1864 
1865 #define DLB2_LSP_CQ_DIR_TOT_SCH_CNTL(x) \
1866 	(0xa0300000 + (x) * 0x1000)
1867 #define DLB2_LSP_CQ_DIR_TOT_SCH_CNTL_RST 0x0
1868 union dlb2_lsp_cq_dir_tot_sch_cntl {
1869 	struct {
1870 		u32 count : 32;
1871 	} field;
1872 	u32 val;
1873 };
1874 
1875 #define DLB2_LSP_CQ_DIR_TOT_SCH_CNTH(x) \
1876 	(0xa0380000 + (x) * 0x1000)
1877 #define DLB2_LSP_CQ_DIR_TOT_SCH_CNTH_RST 0x0
1878 union dlb2_lsp_cq_dir_tot_sch_cnth {
1879 	struct {
1880 		u32 count : 32;
1881 	} field;
1882 	u32 val;
1883 };
1884 
1885 #define DLB2_LSP_CQ_LDB_DSBL(x) \
1886 	(0xa0400000 + (x) * 0x1000)
1887 #define DLB2_LSP_CQ_LDB_DSBL_RST 0x1
1888 union dlb2_lsp_cq_ldb_dsbl {
1889 	struct {
1890 		u32 disabled : 1;
1891 		u32 rsvd0 : 31;
1892 	} field;
1893 	u32 val;
1894 };
1895 
1896 #define DLB2_LSP_CQ_LDB_INFL_CNT(x) \
1897 	(0xa0480000 + (x) * 0x1000)
1898 #define DLB2_LSP_CQ_LDB_INFL_CNT_RST 0x0
1899 union dlb2_lsp_cq_ldb_infl_cnt {
1900 	struct {
1901 		u32 count : 12;
1902 		u32 rsvd0 : 20;
1903 	} field;
1904 	u32 val;
1905 };
1906 
1907 #define DLB2_LSP_CQ_LDB_INFL_LIM(x) \
1908 	(0xa0500000 + (x) * 0x1000)
1909 #define DLB2_LSP_CQ_LDB_INFL_LIM_RST 0x0
1910 union dlb2_lsp_cq_ldb_infl_lim {
1911 	struct {
1912 		u32 limit : 12;
1913 		u32 rsvd0 : 20;
1914 	} field;
1915 	u32 val;
1916 };
1917 
1918 #define DLB2_LSP_CQ_LDB_TKN_CNT(x) \
1919 	(0xa0580000 + (x) * 0x1000)
1920 #define DLB2_LSP_CQ_LDB_TKN_CNT_RST 0x0
1921 union dlb2_lsp_cq_ldb_tkn_cnt {
1922 	struct {
1923 		u32 token_count : 11;
1924 		u32 rsvd0 : 21;
1925 	} field;
1926 	u32 val;
1927 };
1928 
1929 #define DLB2_LSP_CQ_LDB_TKN_DEPTH_SEL(x) \
1930 	(0xa0600000 + (x) * 0x1000)
1931 #define DLB2_LSP_CQ_LDB_TKN_DEPTH_SEL_RST 0x0
1932 union dlb2_lsp_cq_ldb_tkn_depth_sel {
1933 	struct {
1934 		u32 token_depth_select : 4;
1935 		u32 ignore_depth : 1;
1936 		u32 rsvd0 : 27;
1937 	} field;
1938 	u32 val;
1939 };
1940 
1941 #define DLB2_LSP_CQ_LDB_TOT_SCH_CNTL(x) \
1942 	(0xa0680000 + (x) * 0x1000)
1943 #define DLB2_LSP_CQ_LDB_TOT_SCH_CNTL_RST 0x0
1944 union dlb2_lsp_cq_ldb_tot_sch_cntl {
1945 	struct {
1946 		u32 count : 32;
1947 	} field;
1948 	u32 val;
1949 };
1950 
1951 #define DLB2_LSP_CQ_LDB_TOT_SCH_CNTH(x) \
1952 	(0xa0700000 + (x) * 0x1000)
1953 #define DLB2_LSP_CQ_LDB_TOT_SCH_CNTH_RST 0x0
1954 union dlb2_lsp_cq_ldb_tot_sch_cnth {
1955 	struct {
1956 		u32 count : 32;
1957 	} field;
1958 	u32 val;
1959 };
1960 
1961 #define DLB2_LSP_QID_DIR_MAX_DEPTH(x) \
1962 	(0xa0780000 + (x) * 0x1000)
1963 #define DLB2_LSP_QID_DIR_MAX_DEPTH_RST 0x0
1964 union dlb2_lsp_qid_dir_max_depth {
1965 	struct {
1966 		u32 depth : 13;
1967 		u32 rsvd0 : 19;
1968 	} field;
1969 	u32 val;
1970 };
1971 
1972 #define DLB2_LSP_QID_DIR_TOT_ENQ_CNTL(x) \
1973 	(0xa0800000 + (x) * 0x1000)
1974 #define DLB2_LSP_QID_DIR_TOT_ENQ_CNTL_RST 0x0
1975 union dlb2_lsp_qid_dir_tot_enq_cntl {
1976 	struct {
1977 		u32 count : 32;
1978 	} field;
1979 	u32 val;
1980 };
1981 
1982 #define DLB2_LSP_QID_DIR_TOT_ENQ_CNTH(x) \
1983 	(0xa0880000 + (x) * 0x1000)
1984 #define DLB2_LSP_QID_DIR_TOT_ENQ_CNTH_RST 0x0
1985 union dlb2_lsp_qid_dir_tot_enq_cnth {
1986 	struct {
1987 		u32 count : 32;
1988 	} field;
1989 	u32 val;
1990 };
1991 
1992 #define DLB2_LSP_QID_DIR_ENQUEUE_CNT(x) \
1993 	(0xa0900000 + (x) * 0x1000)
1994 #define DLB2_LSP_QID_DIR_ENQUEUE_CNT_RST 0x0
1995 union dlb2_lsp_qid_dir_enqueue_cnt {
1996 	struct {
1997 		u32 count : 13;
1998 		u32 rsvd0 : 19;
1999 	} field;
2000 	u32 val;
2001 };
2002 
2003 #define DLB2_LSP_QID_DIR_DEPTH_THRSH(x) \
2004 	(0xa0980000 + (x) * 0x1000)
2005 #define DLB2_LSP_QID_DIR_DEPTH_THRSH_RST 0x0
2006 union dlb2_lsp_qid_dir_depth_thrsh {
2007 	struct {
2008 		u32 thresh : 13;
2009 		u32 rsvd0 : 19;
2010 	} field;
2011 	u32 val;
2012 };
2013 
2014 #define DLB2_LSP_QID_AQED_ACTIVE_CNT(x) \
2015 	(0xa0a00000 + (x) * 0x1000)
2016 #define DLB2_LSP_QID_AQED_ACTIVE_CNT_RST 0x0
2017 union dlb2_lsp_qid_aqed_active_cnt {
2018 	struct {
2019 		u32 count : 12;
2020 		u32 rsvd0 : 20;
2021 	} field;
2022 	u32 val;
2023 };
2024 
2025 #define DLB2_LSP_QID_AQED_ACTIVE_LIM(x) \
2026 	(0xa0a80000 + (x) * 0x1000)
2027 #define DLB2_LSP_QID_AQED_ACTIVE_LIM_RST 0x0
2028 union dlb2_lsp_qid_aqed_active_lim {
2029 	struct {
2030 		u32 limit : 12;
2031 		u32 rsvd0 : 20;
2032 	} field;
2033 	u32 val;
2034 };
2035 
2036 #define DLB2_LSP_QID_ATM_TOT_ENQ_CNTL(x) \
2037 	(0xa0b00000 + (x) * 0x1000)
2038 #define DLB2_LSP_QID_ATM_TOT_ENQ_CNTL_RST 0x0
2039 union dlb2_lsp_qid_atm_tot_enq_cntl {
2040 	struct {
2041 		u32 count : 32;
2042 	} field;
2043 	u32 val;
2044 };
2045 
2046 #define DLB2_LSP_QID_ATM_TOT_ENQ_CNTH(x) \
2047 	(0xa0b80000 + (x) * 0x1000)
2048 #define DLB2_LSP_QID_ATM_TOT_ENQ_CNTH_RST 0x0
2049 union dlb2_lsp_qid_atm_tot_enq_cnth {
2050 	struct {
2051 		u32 count : 32;
2052 	} field;
2053 	u32 val;
2054 };
2055 
2056 #define DLB2_LSP_QID_ATQ_ENQUEUE_CNT(x) \
2057 	(0xa0c00000 + (x) * 0x1000)
2058 #define DLB2_LSP_QID_ATQ_ENQUEUE_CNT_RST 0x0
2059 union dlb2_lsp_qid_atq_enqueue_cnt {
2060 	struct {
2061 		u32 count : 14;
2062 		u32 rsvd0 : 18;
2063 	} field;
2064 	u32 val;
2065 };
2066 
2067 #define DLB2_LSP_QID_LDB_ENQUEUE_CNT(x) \
2068 	(0xa0c80000 + (x) * 0x1000)
2069 #define DLB2_LSP_QID_LDB_ENQUEUE_CNT_RST 0x0
2070 union dlb2_lsp_qid_ldb_enqueue_cnt {
2071 	struct {
2072 		u32 count : 14;
2073 		u32 rsvd0 : 18;
2074 	} field;
2075 	u32 val;
2076 };
2077 
2078 #define DLB2_LSP_QID_LDB_INFL_CNT(x) \
2079 	(0xa0d00000 + (x) * 0x1000)
2080 #define DLB2_LSP_QID_LDB_INFL_CNT_RST 0x0
2081 union dlb2_lsp_qid_ldb_infl_cnt {
2082 	struct {
2083 		u32 count : 12;
2084 		u32 rsvd0 : 20;
2085 	} field;
2086 	u32 val;
2087 };
2088 
2089 #define DLB2_LSP_QID_LDB_INFL_LIM(x) \
2090 	(0xa0d80000 + (x) * 0x1000)
2091 #define DLB2_LSP_QID_LDB_INFL_LIM_RST 0x0
2092 union dlb2_lsp_qid_ldb_infl_lim {
2093 	struct {
2094 		u32 limit : 12;
2095 		u32 rsvd0 : 20;
2096 	} field;
2097 	u32 val;
2098 };
2099 
2100 #define DLB2_LSP_QID2CQIDIX_00(x) \
2101 	(0xa0e00000 + (x) * 0x1000)
2102 #define DLB2_LSP_QID2CQIDIX_00_RST 0x0
2103 #define DLB2_LSP_QID2CQIDIX(x, y) \
2104 	(DLB2_LSP_QID2CQIDIX_00(x) + 0x80000 * (y))
2105 #define DLB2_LSP_QID2CQIDIX_NUM 16
2106 union dlb2_lsp_qid2cqidix_00 {
2107 	struct {
2108 		u32 cq_p0 : 8;
2109 		u32 cq_p1 : 8;
2110 		u32 cq_p2 : 8;
2111 		u32 cq_p3 : 8;
2112 	} field;
2113 	u32 val;
2114 };
2115 
2116 #define DLB2_LSP_QID2CQIDIX2_00(x) \
2117 	(0xa1600000 + (x) * 0x1000)
2118 #define DLB2_LSP_QID2CQIDIX2_00_RST 0x0
2119 #define DLB2_LSP_QID2CQIDIX2(x, y) \
2120 	(DLB2_LSP_QID2CQIDIX2_00(x) + 0x80000 * (y))
2121 #define DLB2_LSP_QID2CQIDIX2_NUM 16
2122 union dlb2_lsp_qid2cqidix2_00 {
2123 	struct {
2124 		u32 cq_p0 : 8;
2125 		u32 cq_p1 : 8;
2126 		u32 cq_p2 : 8;
2127 		u32 cq_p3 : 8;
2128 	} field;
2129 	u32 val;
2130 };
2131 
2132 #define DLB2_LSP_QID_LDB_REPLAY_CNT(x) \
2133 	(0xa1e00000 + (x) * 0x1000)
2134 #define DLB2_LSP_QID_LDB_REPLAY_CNT_RST 0x0
2135 union dlb2_lsp_qid_ldb_replay_cnt {
2136 	struct {
2137 		u32 count : 14;
2138 		u32 rsvd0 : 18;
2139 	} field;
2140 	u32 val;
2141 };
2142 
2143 #define DLB2_LSP_QID_NALDB_MAX_DEPTH(x) \
2144 	(0xa1f00000 + (x) * 0x1000)
2145 #define DLB2_LSP_QID_NALDB_MAX_DEPTH_RST 0x0
2146 union dlb2_lsp_qid_naldb_max_depth {
2147 	struct {
2148 		u32 depth : 14;
2149 		u32 rsvd0 : 18;
2150 	} field;
2151 	u32 val;
2152 };
2153 
2154 #define DLB2_LSP_QID_NALDB_TOT_ENQ_CNTL(x) \
2155 	(0xa1f80000 + (x) * 0x1000)
2156 #define DLB2_LSP_QID_NALDB_TOT_ENQ_CNTL_RST 0x0
2157 union dlb2_lsp_qid_naldb_tot_enq_cntl {
2158 	struct {
2159 		u32 count : 32;
2160 	} field;
2161 	u32 val;
2162 };
2163 
2164 #define DLB2_LSP_QID_NALDB_TOT_ENQ_CNTH(x) \
2165 	(0xa2000000 + (x) * 0x1000)
2166 #define DLB2_LSP_QID_NALDB_TOT_ENQ_CNTH_RST 0x0
2167 union dlb2_lsp_qid_naldb_tot_enq_cnth {
2168 	struct {
2169 		u32 count : 32;
2170 	} field;
2171 	u32 val;
2172 };
2173 
2174 #define DLB2_LSP_QID_ATM_DEPTH_THRSH(x) \
2175 	(0xa2080000 + (x) * 0x1000)
2176 #define DLB2_LSP_QID_ATM_DEPTH_THRSH_RST 0x0
2177 union dlb2_lsp_qid_atm_depth_thrsh {
2178 	struct {
2179 		u32 thresh : 14;
2180 		u32 rsvd0 : 18;
2181 	} field;
2182 	u32 val;
2183 };
2184 
2185 #define DLB2_LSP_QID_NALDB_DEPTH_THRSH(x) \
2186 	(0xa2100000 + (x) * 0x1000)
2187 #define DLB2_LSP_QID_NALDB_DEPTH_THRSH_RST 0x0
2188 union dlb2_lsp_qid_naldb_depth_thrsh {
2189 	struct {
2190 		u32 thresh : 14;
2191 		u32 rsvd0 : 18;
2192 	} field;
2193 	u32 val;
2194 };
2195 
2196 #define DLB2_LSP_QID_ATM_ACTIVE(x) \
2197 	(0xa2180000 + (x) * 0x1000)
2198 #define DLB2_LSP_QID_ATM_ACTIVE_RST 0x0
2199 union dlb2_lsp_qid_atm_active {
2200 	struct {
2201 		u32 count : 14;
2202 		u32 rsvd0 : 18;
2203 	} field;
2204 	u32 val;
2205 };
2206 
2207 #define DLB2_LSP_CFG_ARB_WEIGHT_ATM_NALB_QID_0 0xa4000008
2208 #define DLB2_LSP_CFG_ARB_WEIGHT_ATM_NALB_QID_0_RST 0x0
2209 union dlb2_lsp_cfg_arb_weight_atm_nalb_qid_0 {
2210 	struct {
2211 		u32 pri0_weight : 8;
2212 		u32 pri1_weight : 8;
2213 		u32 pri2_weight : 8;
2214 		u32 pri3_weight : 8;
2215 	} field;
2216 	u32 val;
2217 };
2218 
2219 #define DLB2_LSP_CFG_ARB_WEIGHT_ATM_NALB_QID_1 0xa400000c
2220 #define DLB2_LSP_CFG_ARB_WEIGHT_ATM_NALB_QID_1_RST 0x0
2221 union dlb2_lsp_cfg_arb_weight_atm_nalb_qid_1 {
2222 	struct {
2223 		u32 rsvz0 : 32;
2224 	} field;
2225 	u32 val;
2226 };
2227 
2228 #define DLB2_LSP_CFG_ARB_WEIGHT_LDB_QID_0 0xa4000014
2229 #define DLB2_LSP_CFG_ARB_WEIGHT_LDB_QID_0_RST 0x0
2230 union dlb2_lsp_cfg_arb_weight_ldb_qid_0 {
2231 	struct {
2232 		u32 pri0_weight : 8;
2233 		u32 pri1_weight : 8;
2234 		u32 pri2_weight : 8;
2235 		u32 pri3_weight : 8;
2236 	} field;
2237 	u32 val;
2238 };
2239 
2240 #define DLB2_LSP_CFG_ARB_WEIGHT_LDB_QID_1 0xa4000018
2241 #define DLB2_LSP_CFG_ARB_WEIGHT_LDB_QID_1_RST 0x0
2242 union dlb2_lsp_cfg_arb_weight_ldb_qid_1 {
2243 	struct {
2244 		u32 rsvz0 : 32;
2245 	} field;
2246 	u32 val;
2247 };
2248 
2249 #define DLB2_LSP_LDB_SCHED_CTRL 0xa400002c
2250 #define DLB2_LSP_LDB_SCHED_CTRL_RST 0x0
2251 union dlb2_lsp_ldb_sched_ctrl {
2252 	struct {
2253 		u32 cq : 8;
2254 		u32 qidix : 3;
2255 		u32 value : 1;
2256 		u32 nalb_haswork_v : 1;
2257 		u32 rlist_haswork_v : 1;
2258 		u32 slist_haswork_v : 1;
2259 		u32 inflight_ok_v : 1;
2260 		u32 aqed_nfull_v : 1;
2261 		u32 rsvz0 : 15;
2262 	} field;
2263 	u32 val;
2264 };
2265 
2266 #define DLB2_LSP_DIR_SCH_CNT_L 0xa4000034
2267 #define DLB2_LSP_DIR_SCH_CNT_L_RST 0x0
2268 union dlb2_lsp_dir_sch_cnt_l {
2269 	struct {
2270 		u32 count : 32;
2271 	} field;
2272 	u32 val;
2273 };
2274 
2275 #define DLB2_LSP_DIR_SCH_CNT_H 0xa4000038
2276 #define DLB2_LSP_DIR_SCH_CNT_H_RST 0x0
2277 union dlb2_lsp_dir_sch_cnt_h {
2278 	struct {
2279 		u32 count : 32;
2280 	} field;
2281 	u32 val;
2282 };
2283 
2284 #define DLB2_LSP_LDB_SCH_CNT_L 0xa400003c
2285 #define DLB2_LSP_LDB_SCH_CNT_L_RST 0x0
2286 union dlb2_lsp_ldb_sch_cnt_l {
2287 	struct {
2288 		u32 count : 32;
2289 	} field;
2290 	u32 val;
2291 };
2292 
2293 #define DLB2_LSP_LDB_SCH_CNT_H 0xa4000040
2294 #define DLB2_LSP_LDB_SCH_CNT_H_RST 0x0
2295 union dlb2_lsp_ldb_sch_cnt_h {
2296 	struct {
2297 		u32 count : 32;
2298 	} field;
2299 	u32 val;
2300 };
2301 
2302 #define DLB2_LSP_CFG_SHDW_CTRL 0xa4000070
2303 #define DLB2_LSP_CFG_SHDW_CTRL_RST 0x0
2304 union dlb2_lsp_cfg_shdw_ctrl {
2305 	struct {
2306 		u32 transfer : 1;
2307 		u32 rsvd0 : 31;
2308 	} field;
2309 	u32 val;
2310 };
2311 
2312 #define DLB2_LSP_CFG_SHDW_RANGE_COS(x) \
2313 	(0xa4000074 + (x) * 4)
2314 #define DLB2_LSP_CFG_SHDW_RANGE_COS_RST 0x40
2315 union dlb2_lsp_cfg_shdw_range_cos {
2316 	struct {
2317 		u32 bw_range : 9;
2318 		u32 rsvz0 : 22;
2319 		u32 no_extra_credit : 1;
2320 	} field;
2321 	u32 val;
2322 };
2323 
2324 #define DLB2_LSP_CFG_CTRL_GENERAL_0 0xac000000
2325 #define DLB2_LSP_CFG_CTRL_GENERAL_0_RST 0x0
2326 union dlb2_lsp_cfg_ctrl_general_0 {
2327 	struct {
2328 		u32 disab_atq_empty_arb : 1;
2329 		u32 inc_tok_unit_idle : 1;
2330 		u32 disab_rlist_pri : 1;
2331 		u32 inc_cmp_unit_idle : 1;
2332 		u32 rsvz0 : 2;
2333 		u32 dir_single_op : 1;
2334 		u32 dir_half_bw : 1;
2335 		u32 dir_single_out : 1;
2336 		u32 dir_disab_multi : 1;
2337 		u32 atq_single_op : 1;
2338 		u32 atq_half_bw : 1;
2339 		u32 atq_single_out : 1;
2340 		u32 atq_disab_multi : 1;
2341 		u32 dirrpl_single_op : 1;
2342 		u32 dirrpl_half_bw : 1;
2343 		u32 dirrpl_single_out : 1;
2344 		u32 lbrpl_single_op : 1;
2345 		u32 lbrpl_half_bw : 1;
2346 		u32 lbrpl_single_out : 1;
2347 		u32 ldb_single_op : 1;
2348 		u32 ldb_half_bw : 1;
2349 		u32 ldb_disab_multi : 1;
2350 		u32 atm_single_sch : 1;
2351 		u32 atm_single_cmp : 1;
2352 		u32 ldb_ce_tog_arb : 1;
2353 		u32 rsvz1 : 1;
2354 		u32 smon0_valid_sel : 2;
2355 		u32 smon0_value_sel : 1;
2356 		u32 smon0_compare_sel : 2;
2357 	} field;
2358 	u32 val;
2359 };
2360 
2361 #define DLB2_CFG_MSTR_DIAG_RESET_STS 0xb4000000
2362 #define DLB2_CFG_MSTR_DIAG_RESET_STS_RST 0x80000bff
2363 union dlb2_cfg_mstr_diag_reset_sts {
2364 	struct {
2365 		u32 chp_pf_reset_done : 1;
2366 		u32 rop_pf_reset_done : 1;
2367 		u32 lsp_pf_reset_done : 1;
2368 		u32 nalb_pf_reset_done : 1;
2369 		u32 ap_pf_reset_done : 1;
2370 		u32 dp_pf_reset_done : 1;
2371 		u32 qed_pf_reset_done : 1;
2372 		u32 dqed_pf_reset_done : 1;
2373 		u32 aqed_pf_reset_done : 1;
2374 		u32 sys_pf_reset_done : 1;
2375 		u32 pf_reset_active : 1;
2376 		u32 flrsm_state : 7;
2377 		u32 rsvd0 : 13;
2378 		u32 dlb_proc_reset_done : 1;
2379 	} field;
2380 	u32 val;
2381 };
2382 
2383 #define DLB2_CFG_MSTR_CFG_DIAGNOSTIC_IDLE_STATUS 0xb4000004
2384 #define DLB2_CFG_MSTR_CFG_DIAGNOSTIC_IDLE_STATUS_RST 0x9d0fffff
2385 union dlb2_cfg_mstr_cfg_diagnostic_idle_status {
2386 	struct {
2387 		u32 chp_pipeidle : 1;
2388 		u32 rop_pipeidle : 1;
2389 		u32 lsp_pipeidle : 1;
2390 		u32 nalb_pipeidle : 1;
2391 		u32 ap_pipeidle : 1;
2392 		u32 dp_pipeidle : 1;
2393 		u32 qed_pipeidle : 1;
2394 		u32 dqed_pipeidle : 1;
2395 		u32 aqed_pipeidle : 1;
2396 		u32 sys_pipeidle : 1;
2397 		u32 chp_unit_idle : 1;
2398 		u32 rop_unit_idle : 1;
2399 		u32 lsp_unit_idle : 1;
2400 		u32 nalb_unit_idle : 1;
2401 		u32 ap_unit_idle : 1;
2402 		u32 dp_unit_idle : 1;
2403 		u32 qed_unit_idle : 1;
2404 		u32 dqed_unit_idle : 1;
2405 		u32 aqed_unit_idle : 1;
2406 		u32 sys_unit_idle : 1;
2407 		u32 rsvd1 : 4;
2408 		u32 mstr_cfg_ring_idle : 1;
2409 		u32 mstr_cfg_mstr_idle : 1;
2410 		u32 mstr_flr_clkreq_b : 1;
2411 		u32 mstr_proc_idle : 1;
2412 		u32 mstr_proc_idle_masked : 1;
2413 		u32 rsvd0 : 2;
2414 		u32 dlb_func_idle : 1;
2415 	} field;
2416 	u32 val;
2417 };
2418 
2419 #define DLB2_CFG_MSTR_CFG_PM_STATUS 0xb4000014
2420 #define DLB2_CFG_MSTR_CFG_PM_STATUS_RST 0x100403e
2421 union dlb2_cfg_mstr_cfg_pm_status {
2422 	struct {
2423 		u32 prochot : 1;
2424 		u32 pgcb_dlb_idle : 1;
2425 		u32 pgcb_dlb_pg_rdy_ack_b : 1;
2426 		u32 pmsm_pgcb_req_b : 1;
2427 		u32 pgbc_pmc_pg_req_b : 1;
2428 		u32 pmc_pgcb_pg_ack_b : 1;
2429 		u32 pmc_pgcb_fet_en_b : 1;
2430 		u32 pgcb_fet_en_b : 1;
2431 		u32 rsvz0 : 1;
2432 		u32 rsvz1 : 1;
2433 		u32 fuse_force_on : 1;
2434 		u32 fuse_proc_disable : 1;
2435 		u32 rsvz2 : 1;
2436 		u32 rsvz3 : 1;
2437 		u32 pm_fsm_d0tod3_ok : 1;
2438 		u32 pm_fsm_d3tod0_ok : 1;
2439 		u32 dlb_in_d3 : 1;
2440 		u32 rsvz4 : 7;
2441 		u32 pmsm : 8;
2442 	} field;
2443 	u32 val;
2444 };
2445 
2446 #define DLB2_CFG_MSTR_CFG_PM_PMCSR_DISABLE 0xb4000018
2447 #define DLB2_CFG_MSTR_CFG_PM_PMCSR_DISABLE_RST 0x1
2448 union dlb2_cfg_mstr_cfg_pm_pmcsr_disable {
2449 	struct {
2450 		u32 disable : 1;
2451 		u32 rsvz0 : 31;
2452 	} field;
2453 	u32 val;
2454 };
2455 
2456 #define DLB2_FUNC_VF_VF2PF_MAILBOX_BYTES 256
2457 #define DLB2_FUNC_VF_VF2PF_MAILBOX(x) \
2458 	(0x1000 + (x) * 0x4)
2459 #define DLB2_FUNC_VF_VF2PF_MAILBOX_RST 0x0
2460 union dlb2_func_vf_vf2pf_mailbox {
2461 	struct {
2462 		u32 msg : 32;
2463 	} field;
2464 	u32 val;
2465 };
2466 
2467 #define DLB2_FUNC_VF_VF2PF_MAILBOX_ISR 0x1f00
2468 #define DLB2_FUNC_VF_VF2PF_MAILBOX_ISR_RST 0x0
2469 #define DLB2_FUNC_VF_SIOV_VF2PF_MAILBOX_ISR_TRIGGER 0x8000
2470 union dlb2_func_vf_vf2pf_mailbox_isr {
2471 	struct {
2472 		u32 isr : 1;
2473 		u32 rsvd0 : 31;
2474 	} field;
2475 	u32 val;
2476 };
2477 
2478 #define DLB2_FUNC_VF_PF2VF_MAILBOX_BYTES 64
2479 #define DLB2_FUNC_VF_PF2VF_MAILBOX(x) \
2480 	(0x2000 + (x) * 0x4)
2481 #define DLB2_FUNC_VF_PF2VF_MAILBOX_RST 0x0
2482 union dlb2_func_vf_pf2vf_mailbox {
2483 	struct {
2484 		u32 msg : 32;
2485 	} field;
2486 	u32 val;
2487 };
2488 
2489 #define DLB2_FUNC_VF_PF2VF_MAILBOX_ISR 0x2f00
2490 #define DLB2_FUNC_VF_PF2VF_MAILBOX_ISR_RST 0x0
2491 union dlb2_func_vf_pf2vf_mailbox_isr {
2492 	struct {
2493 		u32 pf_isr : 1;
2494 		u32 rsvd0 : 31;
2495 	} field;
2496 	u32 val;
2497 };
2498 
2499 #define DLB2_FUNC_VF_VF_MSI_ISR_PEND 0x2f10
2500 #define DLB2_FUNC_VF_VF_MSI_ISR_PEND_RST 0x0
2501 union dlb2_func_vf_vf_msi_isr_pend {
2502 	struct {
2503 		u32 isr_pend : 32;
2504 	} field;
2505 	u32 val;
2506 };
2507 
2508 #define DLB2_FUNC_VF_VF_RESET_IN_PROGRESS 0x3000
2509 #define DLB2_FUNC_VF_VF_RESET_IN_PROGRESS_RST 0x1
2510 union dlb2_func_vf_vf_reset_in_progress {
2511 	struct {
2512 		u32 reset_in_progress : 1;
2513 		u32 rsvd0 : 31;
2514 	} field;
2515 	u32 val;
2516 };
2517 
2518 #define DLB2_FUNC_VF_VF_MSI_ISR 0x4000
2519 #define DLB2_FUNC_VF_VF_MSI_ISR_RST 0x0
2520 union dlb2_func_vf_vf_msi_isr {
2521 	struct {
2522 		u32 vf_msi_isr : 32;
2523 	} field;
2524 	u32 val;
2525 };
2526 
2527 #endif /* __DLB2_REGS_H */
2528