1 /***********************license start***************
2 * Author: Cavium Networks
4 * Contact: support@caviumnetworks.com
5 * This file is part of the OCTEON SDK
7 * Copyright (c) 2003-2010 Cavium Networks
9 * This file is free software; you can redistribute it and/or modify
10 * it under the terms of the GNU General Public License, Version 2, as
11 * published by the Free Software Foundation.
13 * This file is distributed in the hope that it will be useful, but
14 * AS-IS and WITHOUT ANY WARRANTY; without even the implied warranty
15 * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE, TITLE, or
16 * NONINFRINGEMENT. See the GNU General Public License for more
19 * You should have received a copy of the GNU General Public License
20 * along with this file; if not, write to the Free Software
21 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
22 * or visit http://www.gnu.org/licenses/.
24 * This file may also be available under a different license from Cavium.
25 * Contact Cavium Networks for more information
26 ***********************license end**************************************/
28 #ifndef __CVMX_L2C_DEFS_H__
29 #define __CVMX_L2C_DEFS_H__
31 #define CVMX_L2C_BIG_CTL (CVMX_ADD_IO_SEG(0x0001180080800030ull))
32 #define CVMX_L2C_BST (CVMX_ADD_IO_SEG(0x00011800808007F8ull))
33 #define CVMX_L2C_BST0 (CVMX_ADD_IO_SEG(0x00011800800007F8ull))
34 #define CVMX_L2C_BST1 (CVMX_ADD_IO_SEG(0x00011800800007F0ull))
35 #define CVMX_L2C_BST2 (CVMX_ADD_IO_SEG(0x00011800800007E8ull))
36 #define CVMX_L2C_BST_MEMX(block_id) (CVMX_ADD_IO_SEG(0x0001180080C007F8ull))
37 #define CVMX_L2C_BST_TDTX(block_id) (CVMX_ADD_IO_SEG(0x0001180080A007F0ull))
38 #define CVMX_L2C_BST_TTGX(block_id) (CVMX_ADD_IO_SEG(0x0001180080A007F8ull))
39 #define CVMX_L2C_CFG (CVMX_ADD_IO_SEG(0x0001180080000000ull))
40 #define CVMX_L2C_COP0_MAPX(offset) (CVMX_ADD_IO_SEG(0x0001180080940000ull) + ((offset) & 16383) * 8)
41 #define CVMX_L2C_CTL (CVMX_ADD_IO_SEG(0x0001180080800000ull))
42 #define CVMX_L2C_DBG (CVMX_ADD_IO_SEG(0x0001180080000030ull))
43 #define CVMX_L2C_DUT (CVMX_ADD_IO_SEG(0x0001180080000050ull))
44 #define CVMX_L2C_DUT_MAPX(offset) (CVMX_ADD_IO_SEG(0x0001180080E00000ull) + ((offset) & 2047) * 8)
45 #define CVMX_L2C_ERR_TDTX(block_id) (CVMX_ADD_IO_SEG(0x0001180080A007E0ull))
46 #define CVMX_L2C_ERR_TTGX(block_id) (CVMX_ADD_IO_SEG(0x0001180080A007E8ull))
47 #define CVMX_L2C_ERR_VBFX(block_id) (CVMX_ADD_IO_SEG(0x0001180080C007F0ull))
48 #define CVMX_L2C_ERR_XMC (CVMX_ADD_IO_SEG(0x00011800808007D8ull))
49 #define CVMX_L2C_GRPWRR0 (CVMX_ADD_IO_SEG(0x00011800800000C8ull))
50 #define CVMX_L2C_GRPWRR1 (CVMX_ADD_IO_SEG(0x00011800800000D0ull))
51 #define CVMX_L2C_INT_EN (CVMX_ADD_IO_SEG(0x0001180080000100ull))
52 #define CVMX_L2C_INT_ENA (CVMX_ADD_IO_SEG(0x0001180080800020ull))
53 #define CVMX_L2C_INT_REG (CVMX_ADD_IO_SEG(0x0001180080800018ull))
54 #define CVMX_L2C_INT_STAT (CVMX_ADD_IO_SEG(0x00011800800000F8ull))
55 #define CVMX_L2C_IOCX_PFC(block_id) (CVMX_ADD_IO_SEG(0x0001180080800420ull))
56 #define CVMX_L2C_IORX_PFC(block_id) (CVMX_ADD_IO_SEG(0x0001180080800428ull))
57 #define CVMX_L2C_LCKBASE (CVMX_ADD_IO_SEG(0x0001180080000058ull))
58 #define CVMX_L2C_LCKOFF (CVMX_ADD_IO_SEG(0x0001180080000060ull))
59 #define CVMX_L2C_LFB0 (CVMX_ADD_IO_SEG(0x0001180080000038ull))
60 #define CVMX_L2C_LFB1 (CVMX_ADD_IO_SEG(0x0001180080000040ull))
61 #define CVMX_L2C_LFB2 (CVMX_ADD_IO_SEG(0x0001180080000048ull))
62 #define CVMX_L2C_LFB3 (CVMX_ADD_IO_SEG(0x00011800800000B8ull))
63 #define CVMX_L2C_OOB (CVMX_ADD_IO_SEG(0x00011800800000D8ull))
64 #define CVMX_L2C_OOB1 (CVMX_ADD_IO_SEG(0x00011800800000E0ull))
65 #define CVMX_L2C_OOB2 (CVMX_ADD_IO_SEG(0x00011800800000E8ull))
66 #define CVMX_L2C_OOB3 (CVMX_ADD_IO_SEG(0x00011800800000F0ull))
67 #define CVMX_L2C_PFC0 CVMX_L2C_PFCX(0)
68 #define CVMX_L2C_PFC1 CVMX_L2C_PFCX(1)
69 #define CVMX_L2C_PFC2 CVMX_L2C_PFCX(2)
70 #define CVMX_L2C_PFC3 CVMX_L2C_PFCX(3)
71 #define CVMX_L2C_PFCTL (CVMX_ADD_IO_SEG(0x0001180080000090ull))
72 #define CVMX_L2C_PFCX(offset) (CVMX_ADD_IO_SEG(0x0001180080000098ull) + ((offset) & 3) * 8)
73 #define CVMX_L2C_PPGRP (CVMX_ADD_IO_SEG(0x00011800800000C0ull))
74 #define CVMX_L2C_QOS_IOBX(block_id) (CVMX_ADD_IO_SEG(0x0001180080880200ull))
75 #define CVMX_L2C_QOS_PPX(offset) (CVMX_ADD_IO_SEG(0x0001180080880000ull) + ((offset) & 7) * 8)
76 #define CVMX_L2C_QOS_WGT (CVMX_ADD_IO_SEG(0x0001180080800008ull))
77 #define CVMX_L2C_RSCX_PFC(block_id) (CVMX_ADD_IO_SEG(0x0001180080800410ull))
78 #define CVMX_L2C_RSDX_PFC(block_id) (CVMX_ADD_IO_SEG(0x0001180080800418ull))
79 #define CVMX_L2C_SPAR0 (CVMX_ADD_IO_SEG(0x0001180080000068ull))
80 #define CVMX_L2C_SPAR1 (CVMX_ADD_IO_SEG(0x0001180080000070ull))
81 #define CVMX_L2C_SPAR2 (CVMX_ADD_IO_SEG(0x0001180080000078ull))
82 #define CVMX_L2C_SPAR3 (CVMX_ADD_IO_SEG(0x0001180080000080ull))
83 #define CVMX_L2C_SPAR4 (CVMX_ADD_IO_SEG(0x0001180080000088ull))
84 #define CVMX_L2C_TADX_ECC0(block_id) (CVMX_ADD_IO_SEG(0x0001180080A00018ull))
85 #define CVMX_L2C_TADX_ECC1(block_id) (CVMX_ADD_IO_SEG(0x0001180080A00020ull))
86 #define CVMX_L2C_TADX_IEN(block_id) (CVMX_ADD_IO_SEG(0x0001180080A00000ull))
87 #define CVMX_L2C_TADX_INT(block_id) (CVMX_ADD_IO_SEG(0x0001180080A00028ull))
88 #define CVMX_L2C_TADX_PFC0(block_id) (CVMX_ADD_IO_SEG(0x0001180080A00400ull))
89 #define CVMX_L2C_TADX_PFC1(block_id) (CVMX_ADD_IO_SEG(0x0001180080A00408ull))
90 #define CVMX_L2C_TADX_PFC2(block_id) (CVMX_ADD_IO_SEG(0x0001180080A00410ull))
91 #define CVMX_L2C_TADX_PFC3(block_id) (CVMX_ADD_IO_SEG(0x0001180080A00418ull))
92 #define CVMX_L2C_TADX_PRF(block_id) (CVMX_ADD_IO_SEG(0x0001180080A00008ull))
93 #define CVMX_L2C_TADX_TAG(block_id) (CVMX_ADD_IO_SEG(0x0001180080A00010ull))
94 #define CVMX_L2C_VER_ID (CVMX_ADD_IO_SEG(0x00011800808007E0ull))
95 #define CVMX_L2C_VER_IOB (CVMX_ADD_IO_SEG(0x00011800808007F0ull))
96 #define CVMX_L2C_VER_MSC (CVMX_ADD_IO_SEG(0x00011800808007D0ull))
97 #define CVMX_L2C_VER_PP (CVMX_ADD_IO_SEG(0x00011800808007E8ull))
98 #define CVMX_L2C_VIRTID_IOBX(block_id) (CVMX_ADD_IO_SEG(0x00011800808C0200ull))
99 #define CVMX_L2C_VIRTID_PPX(offset) (CVMX_ADD_IO_SEG(0x00011800808C0000ull) + ((offset) & 7) * 8)
100 #define CVMX_L2C_VRT_CTL (CVMX_ADD_IO_SEG(0x0001180080800010ull))
101 #define CVMX_L2C_VRT_MEMX(offset) (CVMX_ADD_IO_SEG(0x0001180080900000ull) + ((offset) & 1023) * 8)
102 #define CVMX_L2C_WPAR_IOBX(block_id) (CVMX_ADD_IO_SEG(0x0001180080840200ull))
103 #define CVMX_L2C_WPAR_PPX(offset) (CVMX_ADD_IO_SEG(0x0001180080840000ull) + ((offset) & 7) * 8)
104 #define CVMX_L2C_XMCX_PFC(block_id) (CVMX_ADD_IO_SEG(0x0001180080800400ull))
105 #define CVMX_L2C_XMC_CMD (CVMX_ADD_IO_SEG(0x0001180080800028ull))
106 #define CVMX_L2C_XMDX_PFC(block_id) (CVMX_ADD_IO_SEG(0x0001180080800408ull))
108 union cvmx_l2c_big_ctl
{
110 struct cvmx_l2c_big_ctl_s
{
111 uint64_t reserved_8_63
:56;
113 uint64_t reserved_1_3
:3;
116 struct cvmx_l2c_big_ctl_s cn63xx
;
121 struct cvmx_l2c_bst_s
{
122 uint64_t reserved_38_63
:26;
124 uint64_t reserved_17_31
:15;
126 uint64_t reserved_13_15
:3;
128 uint64_t reserved_9_11
:3;
130 uint64_t reserved_5_7
:3;
132 uint64_t reserved_1_3
:3;
135 struct cvmx_l2c_bst_s cn63xx
;
136 struct cvmx_l2c_bst_s cn63xxp1
;
139 union cvmx_l2c_bst0
{
141 struct cvmx_l2c_bst0_s
{
142 uint64_t reserved_24_63
:40;
150 struct cvmx_l2c_bst0_cn30xx
{
151 uint64_t reserved_23_63
:41;
153 uint64_t reserved_15_18
:4;
156 uint64_t reserved_4_4
:1;
159 struct cvmx_l2c_bst0_cn31xx
{
160 uint64_t reserved_23_63
:41;
162 uint64_t reserved_16_18
:3;
168 struct cvmx_l2c_bst0_cn38xx
{
169 uint64_t reserved_19_63
:45;
175 struct cvmx_l2c_bst0_cn38xx cn38xxp2
;
176 struct cvmx_l2c_bst0_cn50xx
{
177 uint64_t reserved_24_63
:40;
180 uint64_t reserved_16_18
:3;
186 struct cvmx_l2c_bst0_cn50xx cn52xx
;
187 struct cvmx_l2c_bst0_cn50xx cn52xxp1
;
188 struct cvmx_l2c_bst0_s cn56xx
;
189 struct cvmx_l2c_bst0_s cn56xxp1
;
190 struct cvmx_l2c_bst0_s cn58xx
;
191 struct cvmx_l2c_bst0_s cn58xxp1
;
194 union cvmx_l2c_bst1
{
196 struct cvmx_l2c_bst1_s
{
197 uint64_t reserved_9_63
:55;
200 struct cvmx_l2c_bst1_cn30xx
{
201 uint64_t reserved_16_63
:48;
205 uint64_t reserved_5_8
:4;
208 struct cvmx_l2c_bst1_cn30xx cn31xx
;
209 struct cvmx_l2c_bst1_cn38xx
{
210 uint64_t reserved_16_63
:48;
216 struct cvmx_l2c_bst1_cn38xx cn38xxp2
;
217 struct cvmx_l2c_bst1_cn38xx cn50xx
;
218 struct cvmx_l2c_bst1_cn52xx
{
219 uint64_t reserved_19_63
:45;
224 uint64_t reserved_11_11
:1;
229 struct cvmx_l2c_bst1_cn52xx cn52xxp1
;
230 struct cvmx_l2c_bst1_cn56xx
{
231 uint64_t reserved_24_63
:40;
238 uint64_t vab_vwcf1
:1;
239 uint64_t reserved_10_10
:1;
240 uint64_t vab_vwcf0
:1;
243 struct cvmx_l2c_bst1_cn56xx cn56xxp1
;
244 struct cvmx_l2c_bst1_cn38xx cn58xx
;
245 struct cvmx_l2c_bst1_cn38xx cn58xxp1
;
248 union cvmx_l2c_bst2
{
250 struct cvmx_l2c_bst2_s
{
251 uint64_t reserved_16_63
:48;
253 uint64_t reserved_4_11
:8;
259 struct cvmx_l2c_bst2_cn30xx
{
260 uint64_t reserved_16_63
:48;
263 uint64_t reserved_4_7
:4;
265 uint64_t reserved_2_2
:1;
269 struct cvmx_l2c_bst2_cn30xx cn31xx
;
270 struct cvmx_l2c_bst2_cn38xx
{
271 uint64_t reserved_16_63
:48;
280 struct cvmx_l2c_bst2_cn38xx cn38xxp2
;
281 struct cvmx_l2c_bst2_cn30xx cn50xx
;
282 struct cvmx_l2c_bst2_cn30xx cn52xx
;
283 struct cvmx_l2c_bst2_cn30xx cn52xxp1
;
284 struct cvmx_l2c_bst2_cn56xx
{
285 uint64_t reserved_16_63
:48;
294 struct cvmx_l2c_bst2_cn56xx cn56xxp1
;
295 struct cvmx_l2c_bst2_cn56xx cn58xx
;
296 struct cvmx_l2c_bst2_cn56xx cn58xxp1
;
299 union cvmx_l2c_bst_memx
{
301 struct cvmx_l2c_bst_memx_s
{
302 uint64_t start_bist
:1;
303 uint64_t clear_bist
:1;
304 uint64_t reserved_5_61
:57;
308 struct cvmx_l2c_bst_memx_s cn63xx
;
309 struct cvmx_l2c_bst_memx_s cn63xxp1
;
312 union cvmx_l2c_bst_tdtx
{
314 struct cvmx_l2c_bst_tdtx_s
{
315 uint64_t reserved_32_63
:32;
321 struct cvmx_l2c_bst_tdtx_s cn63xx
;
322 struct cvmx_l2c_bst_tdtx_cn63xxp1
{
323 uint64_t reserved_24_63
:40;
330 union cvmx_l2c_bst_ttgx
{
332 struct cvmx_l2c_bst_ttgx_s
{
333 uint64_t reserved_17_63
:47;
337 struct cvmx_l2c_bst_ttgx_s cn63xx
;
338 struct cvmx_l2c_bst_ttgx_s cn63xxp1
;
343 struct cvmx_l2c_cfg_s
{
344 uint64_t reserved_20_63
:44;
350 uint64_t dfill_dis
:1;
356 uint64_t rsp_arb_mode
:1;
357 uint64_t rfb_arb_mode
:1;
358 uint64_t lrf_arb_mode
:1;
360 struct cvmx_l2c_cfg_cn30xx
{
361 uint64_t reserved_14_63
:50;
367 uint64_t rsp_arb_mode
:1;
368 uint64_t rfb_arb_mode
:1;
369 uint64_t lrf_arb_mode
:1;
371 struct cvmx_l2c_cfg_cn30xx cn31xx
;
372 struct cvmx_l2c_cfg_cn30xx cn38xx
;
373 struct cvmx_l2c_cfg_cn30xx cn38xxp2
;
374 struct cvmx_l2c_cfg_cn50xx
{
375 uint64_t reserved_20_63
:44;
378 uint64_t reserved_14_17
:4;
384 uint64_t rsp_arb_mode
:1;
385 uint64_t rfb_arb_mode
:1;
386 uint64_t lrf_arb_mode
:1;
388 struct cvmx_l2c_cfg_cn50xx cn52xx
;
389 struct cvmx_l2c_cfg_cn50xx cn52xxp1
;
390 struct cvmx_l2c_cfg_s cn56xx
;
391 struct cvmx_l2c_cfg_s cn56xxp1
;
392 struct cvmx_l2c_cfg_cn58xx
{
393 uint64_t reserved_20_63
:44;
396 uint64_t reserved_15_17
:3;
397 uint64_t dfill_dis
:1;
403 uint64_t rsp_arb_mode
:1;
404 uint64_t rfb_arb_mode
:1;
405 uint64_t lrf_arb_mode
:1;
407 struct cvmx_l2c_cfg_cn58xxp1
{
408 uint64_t reserved_15_63
:49;
409 uint64_t dfill_dis
:1;
415 uint64_t rsp_arb_mode
:1;
416 uint64_t rfb_arb_mode
:1;
417 uint64_t lrf_arb_mode
:1;
421 union cvmx_l2c_cop0_mapx
{
423 struct cvmx_l2c_cop0_mapx_s
{
426 struct cvmx_l2c_cop0_mapx_s cn63xx
;
427 struct cvmx_l2c_cop0_mapx_s cn63xxp1
;
432 struct cvmx_l2c_ctl_s
{
433 uint64_t reserved_28_63
:36;
434 uint64_t disstgl2i
:1;
440 uint64_t rsp_arb_mode
:1;
441 uint64_t xmc_arb_mode
:1;
444 uint64_t vab_thresh
:4;
446 uint64_t disidxalias
:1;
448 struct cvmx_l2c_ctl_s cn63xx
;
449 struct cvmx_l2c_ctl_cn63xxp1
{
450 uint64_t reserved_25_63
:39;
454 uint64_t rsp_arb_mode
:1;
455 uint64_t xmc_arb_mode
:1;
458 uint64_t vab_thresh
:4;
460 uint64_t disidxalias
:1;
466 struct cvmx_l2c_dbg_s
{
467 uint64_t reserved_15_63
:49;
476 struct cvmx_l2c_dbg_cn30xx
{
477 uint64_t reserved_13_63
:51;
480 uint64_t reserved_7_9
:3;
482 uint64_t reserved_5_5
:1;
488 struct cvmx_l2c_dbg_cn31xx
{
489 uint64_t reserved_14_63
:50;
492 uint64_t reserved_7_9
:3;
494 uint64_t reserved_5_5
:1;
500 struct cvmx_l2c_dbg_s cn38xx
;
501 struct cvmx_l2c_dbg_s cn38xxp2
;
502 struct cvmx_l2c_dbg_cn50xx
{
503 uint64_t reserved_14_63
:50;
506 uint64_t reserved_7_9
:3;
513 struct cvmx_l2c_dbg_cn52xx
{
514 uint64_t reserved_14_63
:50;
517 uint64_t reserved_8_9
:2;
524 struct cvmx_l2c_dbg_cn52xx cn52xxp1
;
525 struct cvmx_l2c_dbg_s cn56xx
;
526 struct cvmx_l2c_dbg_s cn56xxp1
;
527 struct cvmx_l2c_dbg_s cn58xx
;
528 struct cvmx_l2c_dbg_s cn58xxp1
;
533 struct cvmx_l2c_dut_s
{
534 uint64_t reserved_32_63
:32;
536 uint64_t reserved_30_30
:1;
540 struct cvmx_l2c_dut_s cn30xx
;
541 struct cvmx_l2c_dut_s cn31xx
;
542 struct cvmx_l2c_dut_s cn38xx
;
543 struct cvmx_l2c_dut_s cn38xxp2
;
544 struct cvmx_l2c_dut_s cn50xx
;
545 struct cvmx_l2c_dut_s cn52xx
;
546 struct cvmx_l2c_dut_s cn52xxp1
;
547 struct cvmx_l2c_dut_s cn56xx
;
548 struct cvmx_l2c_dut_s cn56xxp1
;
549 struct cvmx_l2c_dut_s cn58xx
;
550 struct cvmx_l2c_dut_s cn58xxp1
;
553 union cvmx_l2c_dut_mapx
{
555 struct cvmx_l2c_dut_mapx_s
{
556 uint64_t reserved_38_63
:26;
558 uint64_t reserved_1_9
:9;
561 struct cvmx_l2c_dut_mapx_s cn63xx
;
562 struct cvmx_l2c_dut_mapx_s cn63xxp1
;
565 union cvmx_l2c_err_tdtx
{
567 struct cvmx_l2c_err_tdtx_s
{
573 uint64_t reserved_21_49
:29;
575 uint64_t reserved_2_3
:2;
578 struct cvmx_l2c_err_tdtx_s cn63xx
;
579 struct cvmx_l2c_err_tdtx_s cn63xxp1
;
582 union cvmx_l2c_err_ttgx
{
584 struct cvmx_l2c_err_ttgx_s
{
588 uint64_t reserved_56_60
:5;
590 uint64_t reserved_21_49
:29;
592 uint64_t reserved_2_6
:5;
595 struct cvmx_l2c_err_ttgx_s cn63xx
;
596 struct cvmx_l2c_err_ttgx_s cn63xxp1
;
599 union cvmx_l2c_err_vbfx
{
601 struct cvmx_l2c_err_vbfx_s
{
602 uint64_t reserved_62_63
:2;
606 uint64_t reserved_2_49
:48;
609 struct cvmx_l2c_err_vbfx_s cn63xx
;
610 struct cvmx_l2c_err_vbfx_s cn63xxp1
;
613 union cvmx_l2c_err_xmc
{
615 struct cvmx_l2c_err_xmc_s
{
617 uint64_t reserved_52_57
:6;
619 uint64_t reserved_38_47
:10;
622 struct cvmx_l2c_err_xmc_s cn63xx
;
623 struct cvmx_l2c_err_xmc_s cn63xxp1
;
626 union cvmx_l2c_grpwrr0
{
628 struct cvmx_l2c_grpwrr0_s
{
629 uint64_t plc1rmsk
:32;
630 uint64_t plc0rmsk
:32;
632 struct cvmx_l2c_grpwrr0_s cn52xx
;
633 struct cvmx_l2c_grpwrr0_s cn52xxp1
;
634 struct cvmx_l2c_grpwrr0_s cn56xx
;
635 struct cvmx_l2c_grpwrr0_s cn56xxp1
;
638 union cvmx_l2c_grpwrr1
{
640 struct cvmx_l2c_grpwrr1_s
{
642 uint64_t plc2rmsk
:32;
644 struct cvmx_l2c_grpwrr1_s cn52xx
;
645 struct cvmx_l2c_grpwrr1_s cn52xxp1
;
646 struct cvmx_l2c_grpwrr1_s cn56xx
;
647 struct cvmx_l2c_grpwrr1_s cn56xxp1
;
650 union cvmx_l2c_int_en
{
652 struct cvmx_l2c_int_en_s
{
653 uint64_t reserved_9_63
:55;
664 struct cvmx_l2c_int_en_s cn52xx
;
665 struct cvmx_l2c_int_en_s cn52xxp1
;
666 struct cvmx_l2c_int_en_s cn56xx
;
667 struct cvmx_l2c_int_en_s cn56xxp1
;
670 union cvmx_l2c_int_ena
{
672 struct cvmx_l2c_int_ena_s
{
673 uint64_t reserved_8_63
:56;
683 struct cvmx_l2c_int_ena_s cn63xx
;
684 struct cvmx_l2c_int_ena_cn63xxp1
{
685 uint64_t reserved_6_63
:58;
695 union cvmx_l2c_int_reg
{
697 struct cvmx_l2c_int_reg_s
{
698 uint64_t reserved_17_63
:47;
700 uint64_t reserved_8_15
:8;
710 struct cvmx_l2c_int_reg_s cn63xx
;
711 struct cvmx_l2c_int_reg_cn63xxp1
{
712 uint64_t reserved_17_63
:47;
714 uint64_t reserved_6_15
:10;
724 union cvmx_l2c_int_stat
{
726 struct cvmx_l2c_int_stat_s
{
727 uint64_t reserved_9_63
:55;
738 struct cvmx_l2c_int_stat_s cn52xx
;
739 struct cvmx_l2c_int_stat_s cn52xxp1
;
740 struct cvmx_l2c_int_stat_s cn56xx
;
741 struct cvmx_l2c_int_stat_s cn56xxp1
;
744 union cvmx_l2c_iocx_pfc
{
746 struct cvmx_l2c_iocx_pfc_s
{
749 struct cvmx_l2c_iocx_pfc_s cn63xx
;
750 struct cvmx_l2c_iocx_pfc_s cn63xxp1
;
753 union cvmx_l2c_iorx_pfc
{
755 struct cvmx_l2c_iorx_pfc_s
{
758 struct cvmx_l2c_iorx_pfc_s cn63xx
;
759 struct cvmx_l2c_iorx_pfc_s cn63xxp1
;
762 union cvmx_l2c_lckbase
{
764 struct cvmx_l2c_lckbase_s
{
765 uint64_t reserved_31_63
:33;
766 uint64_t lck_base
:27;
767 uint64_t reserved_1_3
:3;
770 struct cvmx_l2c_lckbase_s cn30xx
;
771 struct cvmx_l2c_lckbase_s cn31xx
;
772 struct cvmx_l2c_lckbase_s cn38xx
;
773 struct cvmx_l2c_lckbase_s cn38xxp2
;
774 struct cvmx_l2c_lckbase_s cn50xx
;
775 struct cvmx_l2c_lckbase_s cn52xx
;
776 struct cvmx_l2c_lckbase_s cn52xxp1
;
777 struct cvmx_l2c_lckbase_s cn56xx
;
778 struct cvmx_l2c_lckbase_s cn56xxp1
;
779 struct cvmx_l2c_lckbase_s cn58xx
;
780 struct cvmx_l2c_lckbase_s cn58xxp1
;
783 union cvmx_l2c_lckoff
{
785 struct cvmx_l2c_lckoff_s
{
786 uint64_t reserved_10_63
:54;
787 uint64_t lck_offset
:10;
789 struct cvmx_l2c_lckoff_s cn30xx
;
790 struct cvmx_l2c_lckoff_s cn31xx
;
791 struct cvmx_l2c_lckoff_s cn38xx
;
792 struct cvmx_l2c_lckoff_s cn38xxp2
;
793 struct cvmx_l2c_lckoff_s cn50xx
;
794 struct cvmx_l2c_lckoff_s cn52xx
;
795 struct cvmx_l2c_lckoff_s cn52xxp1
;
796 struct cvmx_l2c_lckoff_s cn56xx
;
797 struct cvmx_l2c_lckoff_s cn56xxp1
;
798 struct cvmx_l2c_lckoff_s cn58xx
;
799 struct cvmx_l2c_lckoff_s cn58xxp1
;
802 union cvmx_l2c_lfb0
{
804 struct cvmx_l2c_lfb0_s
{
805 uint64_t reserved_32_63
:32;
820 struct cvmx_l2c_lfb0_cn30xx
{
821 uint64_t reserved_32_63
:32;
827 uint64_t reserved_25_26
:2;
831 uint64_t reserved_20_20
:1;
833 uint64_t reserved_16_17
:2;
839 struct cvmx_l2c_lfb0_cn31xx
{
840 uint64_t reserved_32_63
:32;
846 uint64_t reserved_26_26
:1;
850 uint64_t reserved_20_20
:1;
852 uint64_t reserved_17_17
:1;
858 struct cvmx_l2c_lfb0_s cn38xx
;
859 struct cvmx_l2c_lfb0_s cn38xxp2
;
860 struct cvmx_l2c_lfb0_cn50xx
{
861 uint64_t reserved_32_63
:32;
867 uint64_t reserved_26_26
:1;
872 uint64_t reserved_17_17
:1;
878 struct cvmx_l2c_lfb0_cn50xx cn52xx
;
879 struct cvmx_l2c_lfb0_cn50xx cn52xxp1
;
880 struct cvmx_l2c_lfb0_s cn56xx
;
881 struct cvmx_l2c_lfb0_s cn56xxp1
;
882 struct cvmx_l2c_lfb0_s cn58xx
;
883 struct cvmx_l2c_lfb0_s cn58xxp1
;
886 union cvmx_l2c_lfb1
{
888 struct cvmx_l2c_lfb1_s
{
889 uint64_t reserved_19_63
:45;
909 struct cvmx_l2c_lfb1_s cn30xx
;
910 struct cvmx_l2c_lfb1_s cn31xx
;
911 struct cvmx_l2c_lfb1_s cn38xx
;
912 struct cvmx_l2c_lfb1_s cn38xxp2
;
913 struct cvmx_l2c_lfb1_s cn50xx
;
914 struct cvmx_l2c_lfb1_s cn52xx
;
915 struct cvmx_l2c_lfb1_s cn52xxp1
;
916 struct cvmx_l2c_lfb1_s cn56xx
;
917 struct cvmx_l2c_lfb1_s cn56xxp1
;
918 struct cvmx_l2c_lfb1_s cn58xx
;
919 struct cvmx_l2c_lfb1_s cn58xxp1
;
922 union cvmx_l2c_lfb2
{
924 struct cvmx_l2c_lfb2_s
{
925 uint64_t reserved_0_63
:64;
927 struct cvmx_l2c_lfb2_cn30xx
{
928 uint64_t reserved_27_63
:37;
932 struct cvmx_l2c_lfb2_cn31xx
{
933 uint64_t reserved_27_63
:37;
937 struct cvmx_l2c_lfb2_cn31xx cn38xx
;
938 struct cvmx_l2c_lfb2_cn31xx cn38xxp2
;
939 struct cvmx_l2c_lfb2_cn50xx
{
940 uint64_t reserved_27_63
:37;
944 struct cvmx_l2c_lfb2_cn52xx
{
945 uint64_t reserved_27_63
:37;
949 struct cvmx_l2c_lfb2_cn52xx cn52xxp1
;
950 struct cvmx_l2c_lfb2_cn56xx
{
951 uint64_t reserved_27_63
:37;
955 struct cvmx_l2c_lfb2_cn56xx cn56xxp1
;
956 struct cvmx_l2c_lfb2_cn56xx cn58xx
;
957 struct cvmx_l2c_lfb2_cn56xx cn58xxp1
;
960 union cvmx_l2c_lfb3
{
962 struct cvmx_l2c_lfb3_s
{
963 uint64_t reserved_5_63
:59;
964 uint64_t stpartdis
:1;
967 struct cvmx_l2c_lfb3_cn30xx
{
968 uint64_t reserved_5_63
:59;
969 uint64_t stpartdis
:1;
970 uint64_t reserved_2_3
:2;
973 struct cvmx_l2c_lfb3_cn31xx
{
974 uint64_t reserved_5_63
:59;
975 uint64_t stpartdis
:1;
976 uint64_t reserved_3_3
:1;
979 struct cvmx_l2c_lfb3_s cn38xx
;
980 struct cvmx_l2c_lfb3_s cn38xxp2
;
981 struct cvmx_l2c_lfb3_cn31xx cn50xx
;
982 struct cvmx_l2c_lfb3_cn31xx cn52xx
;
983 struct cvmx_l2c_lfb3_cn31xx cn52xxp1
;
984 struct cvmx_l2c_lfb3_s cn56xx
;
985 struct cvmx_l2c_lfb3_s cn56xxp1
;
986 struct cvmx_l2c_lfb3_s cn58xx
;
987 struct cvmx_l2c_lfb3_s cn58xxp1
;
992 struct cvmx_l2c_oob_s
{
993 uint64_t reserved_2_63
:62;
997 struct cvmx_l2c_oob_s cn52xx
;
998 struct cvmx_l2c_oob_s cn52xxp1
;
999 struct cvmx_l2c_oob_s cn56xx
;
1000 struct cvmx_l2c_oob_s cn56xxp1
;
1003 union cvmx_l2c_oob1
{
1005 struct cvmx_l2c_oob1_s
{
1008 uint64_t reserved_34_35
:2;
1010 uint64_t reserved_14_19
:6;
1013 struct cvmx_l2c_oob1_s cn52xx
;
1014 struct cvmx_l2c_oob1_s cn52xxp1
;
1015 struct cvmx_l2c_oob1_s cn56xx
;
1016 struct cvmx_l2c_oob1_s cn56xxp1
;
1019 union cvmx_l2c_oob2
{
1021 struct cvmx_l2c_oob2_s
{
1024 uint64_t reserved_34_35
:2;
1026 uint64_t reserved_14_19
:6;
1029 struct cvmx_l2c_oob2_s cn52xx
;
1030 struct cvmx_l2c_oob2_s cn52xxp1
;
1031 struct cvmx_l2c_oob2_s cn56xx
;
1032 struct cvmx_l2c_oob2_s cn56xxp1
;
1035 union cvmx_l2c_oob3
{
1037 struct cvmx_l2c_oob3_s
{
1040 uint64_t reserved_34_35
:2;
1042 uint64_t reserved_14_19
:6;
1045 struct cvmx_l2c_oob3_s cn52xx
;
1046 struct cvmx_l2c_oob3_s cn52xxp1
;
1047 struct cvmx_l2c_oob3_s cn56xx
;
1048 struct cvmx_l2c_oob3_s cn56xxp1
;
1051 union cvmx_l2c_pfcx
{
1053 struct cvmx_l2c_pfcx_s
{
1054 uint64_t reserved_36_63
:28;
1057 struct cvmx_l2c_pfcx_s cn30xx
;
1058 struct cvmx_l2c_pfcx_s cn31xx
;
1059 struct cvmx_l2c_pfcx_s cn38xx
;
1060 struct cvmx_l2c_pfcx_s cn38xxp2
;
1061 struct cvmx_l2c_pfcx_s cn50xx
;
1062 struct cvmx_l2c_pfcx_s cn52xx
;
1063 struct cvmx_l2c_pfcx_s cn52xxp1
;
1064 struct cvmx_l2c_pfcx_s cn56xx
;
1065 struct cvmx_l2c_pfcx_s cn56xxp1
;
1066 struct cvmx_l2c_pfcx_s cn58xx
;
1067 struct cvmx_l2c_pfcx_s cn58xxp1
;
1070 union cvmx_l2c_pfctl
{
1072 struct cvmx_l2c_pfctl_s
{
1073 uint64_t reserved_36_63
:28;
1074 uint64_t cnt3rdclr
:1;
1075 uint64_t cnt2rdclr
:1;
1076 uint64_t cnt1rdclr
:1;
1077 uint64_t cnt0rdclr
:1;
1091 struct cvmx_l2c_pfctl_s cn30xx
;
1092 struct cvmx_l2c_pfctl_s cn31xx
;
1093 struct cvmx_l2c_pfctl_s cn38xx
;
1094 struct cvmx_l2c_pfctl_s cn38xxp2
;
1095 struct cvmx_l2c_pfctl_s cn50xx
;
1096 struct cvmx_l2c_pfctl_s cn52xx
;
1097 struct cvmx_l2c_pfctl_s cn52xxp1
;
1098 struct cvmx_l2c_pfctl_s cn56xx
;
1099 struct cvmx_l2c_pfctl_s cn56xxp1
;
1100 struct cvmx_l2c_pfctl_s cn58xx
;
1101 struct cvmx_l2c_pfctl_s cn58xxp1
;
1104 union cvmx_l2c_ppgrp
{
1106 struct cvmx_l2c_ppgrp_s
{
1107 uint64_t reserved_24_63
:40;
1121 struct cvmx_l2c_ppgrp_cn52xx
{
1122 uint64_t reserved_8_63
:56;
1128 struct cvmx_l2c_ppgrp_cn52xx cn52xxp1
;
1129 struct cvmx_l2c_ppgrp_s cn56xx
;
1130 struct cvmx_l2c_ppgrp_s cn56xxp1
;
1133 union cvmx_l2c_qos_iobx
{
1135 struct cvmx_l2c_qos_iobx_s
{
1136 uint64_t reserved_6_63
:58;
1138 uint64_t reserved_2_3
:2;
1141 struct cvmx_l2c_qos_iobx_s cn63xx
;
1142 struct cvmx_l2c_qos_iobx_s cn63xxp1
;
1145 union cvmx_l2c_qos_ppx
{
1147 struct cvmx_l2c_qos_ppx_s
{
1148 uint64_t reserved_2_63
:62;
1151 struct cvmx_l2c_qos_ppx_s cn63xx
;
1152 struct cvmx_l2c_qos_ppx_s cn63xxp1
;
1155 union cvmx_l2c_qos_wgt
{
1157 struct cvmx_l2c_qos_wgt_s
{
1158 uint64_t reserved_32_63
:32;
1164 struct cvmx_l2c_qos_wgt_s cn63xx
;
1165 struct cvmx_l2c_qos_wgt_s cn63xxp1
;
1168 union cvmx_l2c_rscx_pfc
{
1170 struct cvmx_l2c_rscx_pfc_s
{
1173 struct cvmx_l2c_rscx_pfc_s cn63xx
;
1174 struct cvmx_l2c_rscx_pfc_s cn63xxp1
;
1177 union cvmx_l2c_rsdx_pfc
{
1179 struct cvmx_l2c_rsdx_pfc_s
{
1182 struct cvmx_l2c_rsdx_pfc_s cn63xx
;
1183 struct cvmx_l2c_rsdx_pfc_s cn63xxp1
;
1186 union cvmx_l2c_spar0
{
1188 struct cvmx_l2c_spar0_s
{
1189 uint64_t reserved_32_63
:32;
1195 struct cvmx_l2c_spar0_cn30xx
{
1196 uint64_t reserved_4_63
:60;
1199 struct cvmx_l2c_spar0_cn31xx
{
1200 uint64_t reserved_12_63
:52;
1202 uint64_t reserved_4_7
:4;
1205 struct cvmx_l2c_spar0_s cn38xx
;
1206 struct cvmx_l2c_spar0_s cn38xxp2
;
1207 struct cvmx_l2c_spar0_cn50xx
{
1208 uint64_t reserved_16_63
:48;
1212 struct cvmx_l2c_spar0_s cn52xx
;
1213 struct cvmx_l2c_spar0_s cn52xxp1
;
1214 struct cvmx_l2c_spar0_s cn56xx
;
1215 struct cvmx_l2c_spar0_s cn56xxp1
;
1216 struct cvmx_l2c_spar0_s cn58xx
;
1217 struct cvmx_l2c_spar0_s cn58xxp1
;
1220 union cvmx_l2c_spar1
{
1222 struct cvmx_l2c_spar1_s
{
1223 uint64_t reserved_32_63
:32;
1229 struct cvmx_l2c_spar1_s cn38xx
;
1230 struct cvmx_l2c_spar1_s cn38xxp2
;
1231 struct cvmx_l2c_spar1_s cn56xx
;
1232 struct cvmx_l2c_spar1_s cn56xxp1
;
1233 struct cvmx_l2c_spar1_s cn58xx
;
1234 struct cvmx_l2c_spar1_s cn58xxp1
;
1237 union cvmx_l2c_spar2
{
1239 struct cvmx_l2c_spar2_s
{
1240 uint64_t reserved_32_63
:32;
1246 struct cvmx_l2c_spar2_s cn38xx
;
1247 struct cvmx_l2c_spar2_s cn38xxp2
;
1248 struct cvmx_l2c_spar2_s cn56xx
;
1249 struct cvmx_l2c_spar2_s cn56xxp1
;
1250 struct cvmx_l2c_spar2_s cn58xx
;
1251 struct cvmx_l2c_spar2_s cn58xxp1
;
1254 union cvmx_l2c_spar3
{
1256 struct cvmx_l2c_spar3_s
{
1257 uint64_t reserved_32_63
:32;
1263 struct cvmx_l2c_spar3_s cn38xx
;
1264 struct cvmx_l2c_spar3_s cn38xxp2
;
1265 struct cvmx_l2c_spar3_s cn58xx
;
1266 struct cvmx_l2c_spar3_s cn58xxp1
;
1269 union cvmx_l2c_spar4
{
1271 struct cvmx_l2c_spar4_s
{
1272 uint64_t reserved_8_63
:56;
1275 struct cvmx_l2c_spar4_cn30xx
{
1276 uint64_t reserved_4_63
:60;
1279 struct cvmx_l2c_spar4_cn30xx cn31xx
;
1280 struct cvmx_l2c_spar4_s cn38xx
;
1281 struct cvmx_l2c_spar4_s cn38xxp2
;
1282 struct cvmx_l2c_spar4_s cn50xx
;
1283 struct cvmx_l2c_spar4_s cn52xx
;
1284 struct cvmx_l2c_spar4_s cn52xxp1
;
1285 struct cvmx_l2c_spar4_s cn56xx
;
1286 struct cvmx_l2c_spar4_s cn56xxp1
;
1287 struct cvmx_l2c_spar4_s cn58xx
;
1288 struct cvmx_l2c_spar4_s cn58xxp1
;
1291 union cvmx_l2c_tadx_ecc0
{
1293 struct cvmx_l2c_tadx_ecc0_s
{
1294 uint64_t reserved_58_63
:6;
1296 uint64_t reserved_42_47
:6;
1298 uint64_t reserved_26_31
:6;
1300 uint64_t reserved_10_15
:6;
1303 struct cvmx_l2c_tadx_ecc0_s cn63xx
;
1304 struct cvmx_l2c_tadx_ecc0_s cn63xxp1
;
1307 union cvmx_l2c_tadx_ecc1
{
1309 struct cvmx_l2c_tadx_ecc1_s
{
1310 uint64_t reserved_58_63
:6;
1312 uint64_t reserved_42_47
:6;
1314 uint64_t reserved_26_31
:6;
1316 uint64_t reserved_10_15
:6;
1319 struct cvmx_l2c_tadx_ecc1_s cn63xx
;
1320 struct cvmx_l2c_tadx_ecc1_s cn63xxp1
;
1323 union cvmx_l2c_tadx_ien
{
1325 struct cvmx_l2c_tadx_ien_s
{
1326 uint64_t reserved_9_63
:55;
1327 uint64_t wrdislmc
:1;
1328 uint64_t rddislmc
:1;
1337 struct cvmx_l2c_tadx_ien_s cn63xx
;
1338 struct cvmx_l2c_tadx_ien_cn63xxp1
{
1339 uint64_t reserved_7_63
:57;
1350 union cvmx_l2c_tadx_int
{
1352 struct cvmx_l2c_tadx_int_s
{
1353 uint64_t reserved_9_63
:55;
1354 uint64_t wrdislmc
:1;
1355 uint64_t rddislmc
:1;
1364 struct cvmx_l2c_tadx_int_s cn63xx
;
1367 union cvmx_l2c_tadx_pfc0
{
1369 struct cvmx_l2c_tadx_pfc0_s
{
1372 struct cvmx_l2c_tadx_pfc0_s cn63xx
;
1373 struct cvmx_l2c_tadx_pfc0_s cn63xxp1
;
1376 union cvmx_l2c_tadx_pfc1
{
1378 struct cvmx_l2c_tadx_pfc1_s
{
1381 struct cvmx_l2c_tadx_pfc1_s cn63xx
;
1382 struct cvmx_l2c_tadx_pfc1_s cn63xxp1
;
1385 union cvmx_l2c_tadx_pfc2
{
1387 struct cvmx_l2c_tadx_pfc2_s
{
1390 struct cvmx_l2c_tadx_pfc2_s cn63xx
;
1391 struct cvmx_l2c_tadx_pfc2_s cn63xxp1
;
1394 union cvmx_l2c_tadx_pfc3
{
1396 struct cvmx_l2c_tadx_pfc3_s
{
1399 struct cvmx_l2c_tadx_pfc3_s cn63xx
;
1400 struct cvmx_l2c_tadx_pfc3_s cn63xxp1
;
1403 union cvmx_l2c_tadx_prf
{
1405 struct cvmx_l2c_tadx_prf_s
{
1406 uint64_t reserved_32_63
:32;
1412 struct cvmx_l2c_tadx_prf_s cn63xx
;
1413 struct cvmx_l2c_tadx_prf_s cn63xxp1
;
1416 union cvmx_l2c_tadx_tag
{
1418 struct cvmx_l2c_tadx_tag_s
{
1419 uint64_t reserved_46_63
:18;
1421 uint64_t reserved_36_39
:4;
1423 uint64_t reserved_4_16
:13;
1429 struct cvmx_l2c_tadx_tag_s cn63xx
;
1430 struct cvmx_l2c_tadx_tag_s cn63xxp1
;
1433 union cvmx_l2c_ver_id
{
1435 struct cvmx_l2c_ver_id_s
{
1438 struct cvmx_l2c_ver_id_s cn63xx
;
1439 struct cvmx_l2c_ver_id_s cn63xxp1
;
1442 union cvmx_l2c_ver_iob
{
1444 struct cvmx_l2c_ver_iob_s
{
1445 uint64_t reserved_1_63
:63;
1448 struct cvmx_l2c_ver_iob_s cn63xx
;
1449 struct cvmx_l2c_ver_iob_s cn63xxp1
;
1452 union cvmx_l2c_ver_msc
{
1454 struct cvmx_l2c_ver_msc_s
{
1455 uint64_t reserved_2_63
:62;
1459 struct cvmx_l2c_ver_msc_s cn63xx
;
1462 union cvmx_l2c_ver_pp
{
1464 struct cvmx_l2c_ver_pp_s
{
1465 uint64_t reserved_6_63
:58;
1468 struct cvmx_l2c_ver_pp_s cn63xx
;
1469 struct cvmx_l2c_ver_pp_s cn63xxp1
;
1472 union cvmx_l2c_virtid_iobx
{
1474 struct cvmx_l2c_virtid_iobx_s
{
1475 uint64_t reserved_14_63
:50;
1477 uint64_t reserved_6_7
:2;
1480 struct cvmx_l2c_virtid_iobx_s cn63xx
;
1481 struct cvmx_l2c_virtid_iobx_s cn63xxp1
;
1484 union cvmx_l2c_virtid_ppx
{
1486 struct cvmx_l2c_virtid_ppx_s
{
1487 uint64_t reserved_6_63
:58;
1490 struct cvmx_l2c_virtid_ppx_s cn63xx
;
1491 struct cvmx_l2c_virtid_ppx_s cn63xxp1
;
1494 union cvmx_l2c_vrt_ctl
{
1496 struct cvmx_l2c_vrt_ctl_s
{
1497 uint64_t reserved_9_63
:55;
1499 uint64_t reserved_7_7
:1;
1504 struct cvmx_l2c_vrt_ctl_s cn63xx
;
1505 struct cvmx_l2c_vrt_ctl_s cn63xxp1
;
1508 union cvmx_l2c_vrt_memx
{
1510 struct cvmx_l2c_vrt_memx_s
{
1511 uint64_t reserved_36_63
:28;
1515 struct cvmx_l2c_vrt_memx_s cn63xx
;
1516 struct cvmx_l2c_vrt_memx_s cn63xxp1
;
1519 union cvmx_l2c_wpar_iobx
{
1521 struct cvmx_l2c_wpar_iobx_s
{
1522 uint64_t reserved_16_63
:48;
1525 struct cvmx_l2c_wpar_iobx_s cn63xx
;
1526 struct cvmx_l2c_wpar_iobx_s cn63xxp1
;
1529 union cvmx_l2c_wpar_ppx
{
1531 struct cvmx_l2c_wpar_ppx_s
{
1532 uint64_t reserved_16_63
:48;
1535 struct cvmx_l2c_wpar_ppx_s cn63xx
;
1536 struct cvmx_l2c_wpar_ppx_s cn63xxp1
;
1539 union cvmx_l2c_xmcx_pfc
{
1541 struct cvmx_l2c_xmcx_pfc_s
{
1544 struct cvmx_l2c_xmcx_pfc_s cn63xx
;
1545 struct cvmx_l2c_xmcx_pfc_s cn63xxp1
;
1548 union cvmx_l2c_xmc_cmd
{
1550 struct cvmx_l2c_xmc_cmd_s
{
1553 uint64_t reserved_38_56
:19;
1556 struct cvmx_l2c_xmc_cmd_s cn63xx
;
1557 struct cvmx_l2c_xmc_cmd_s cn63xxp1
;
1560 union cvmx_l2c_xmdx_pfc
{
1562 struct cvmx_l2c_xmdx_pfc_s
{
1565 struct cvmx_l2c_xmdx_pfc_s cn63xx
;
1566 struct cvmx_l2c_xmdx_pfc_s cn63xxp1
;