154293ec3SDavid Daney /***********************license start***************
254293ec3SDavid Daney  * Author: Cavium Networks
354293ec3SDavid Daney  *
454293ec3SDavid Daney  * Contact: support@caviumnetworks.com
554293ec3SDavid Daney  * This file is part of the OCTEON SDK
654293ec3SDavid Daney  *
7aa32a955SDavid Daney  * Copyright (c) 2003-2010 Cavium Networks
854293ec3SDavid Daney  *
954293ec3SDavid Daney  * This file is free software; you can redistribute it and/or modify
1054293ec3SDavid Daney  * it under the terms of the GNU General Public License, Version 2, as
1154293ec3SDavid Daney  * published by the Free Software Foundation.
1254293ec3SDavid Daney  *
1354293ec3SDavid Daney  * This file is distributed in the hope that it will be useful, but
1454293ec3SDavid Daney  * AS-IS and WITHOUT ANY WARRANTY; without even the implied warranty
1554293ec3SDavid Daney  * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE, TITLE, or
1654293ec3SDavid Daney  * NONINFRINGEMENT.  See the GNU General Public License for more
1754293ec3SDavid Daney  * details.
1854293ec3SDavid Daney  *
1954293ec3SDavid Daney  * You should have received a copy of the GNU General Public License
2054293ec3SDavid Daney  * along with this file; if not, write to the Free Software
2154293ec3SDavid Daney  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
2254293ec3SDavid Daney  * or visit http://www.gnu.org/licenses/.
2354293ec3SDavid Daney  *
2454293ec3SDavid Daney  * This file may also be available under a different license from Cavium.
2554293ec3SDavid Daney  * Contact Cavium Networks for more information
2654293ec3SDavid Daney  ***********************license end**************************************/
2754293ec3SDavid Daney 
2854293ec3SDavid Daney #ifndef __CVMX_L2C_DEFS_H__
2954293ec3SDavid Daney #define __CVMX_L2C_DEFS_H__
3054293ec3SDavid Daney 
31aa32a955SDavid Daney #define CVMX_L2C_BIG_CTL (CVMX_ADD_IO_SEG(0x0001180080800030ull))
32aa32a955SDavid Daney #define CVMX_L2C_BST (CVMX_ADD_IO_SEG(0x00011800808007F8ull))
33aa32a955SDavid Daney #define CVMX_L2C_BST0 (CVMX_ADD_IO_SEG(0x00011800800007F8ull))
34aa32a955SDavid Daney #define CVMX_L2C_BST1 (CVMX_ADD_IO_SEG(0x00011800800007F0ull))
35aa32a955SDavid Daney #define CVMX_L2C_BST2 (CVMX_ADD_IO_SEG(0x00011800800007E8ull))
36aa32a955SDavid Daney #define CVMX_L2C_BST_MEMX(block_id) (CVMX_ADD_IO_SEG(0x0001180080C007F8ull))
37aa32a955SDavid Daney #define CVMX_L2C_BST_TDTX(block_id) (CVMX_ADD_IO_SEG(0x0001180080A007F0ull))
38aa32a955SDavid Daney #define CVMX_L2C_BST_TTGX(block_id) (CVMX_ADD_IO_SEG(0x0001180080A007F8ull))
39aa32a955SDavid Daney #define CVMX_L2C_CFG (CVMX_ADD_IO_SEG(0x0001180080000000ull))
40aa32a955SDavid Daney #define CVMX_L2C_COP0_MAPX(offset) (CVMX_ADD_IO_SEG(0x0001180080940000ull) + ((offset) & 16383) * 8)
41aa32a955SDavid Daney #define CVMX_L2C_CTL (CVMX_ADD_IO_SEG(0x0001180080800000ull))
42aa32a955SDavid Daney #define CVMX_L2C_DBG (CVMX_ADD_IO_SEG(0x0001180080000030ull))
43aa32a955SDavid Daney #define CVMX_L2C_DUT (CVMX_ADD_IO_SEG(0x0001180080000050ull))
44aa32a955SDavid Daney #define CVMX_L2C_DUT_MAPX(offset) (CVMX_ADD_IO_SEG(0x0001180080E00000ull) + ((offset) & 2047) * 8)
45aa32a955SDavid Daney #define CVMX_L2C_ERR_TDTX(block_id) (CVMX_ADD_IO_SEG(0x0001180080A007E0ull))
46aa32a955SDavid Daney #define CVMX_L2C_ERR_TTGX(block_id) (CVMX_ADD_IO_SEG(0x0001180080A007E8ull))
47aa32a955SDavid Daney #define CVMX_L2C_ERR_VBFX(block_id) (CVMX_ADD_IO_SEG(0x0001180080C007F0ull))
48aa32a955SDavid Daney #define CVMX_L2C_ERR_XMC (CVMX_ADD_IO_SEG(0x00011800808007D8ull))
49aa32a955SDavid Daney #define CVMX_L2C_GRPWRR0 (CVMX_ADD_IO_SEG(0x00011800800000C8ull))
50aa32a955SDavid Daney #define CVMX_L2C_GRPWRR1 (CVMX_ADD_IO_SEG(0x00011800800000D0ull))
51aa32a955SDavid Daney #define CVMX_L2C_INT_EN (CVMX_ADD_IO_SEG(0x0001180080000100ull))
52aa32a955SDavid Daney #define CVMX_L2C_INT_ENA (CVMX_ADD_IO_SEG(0x0001180080800020ull))
53aa32a955SDavid Daney #define CVMX_L2C_INT_REG (CVMX_ADD_IO_SEG(0x0001180080800018ull))
54aa32a955SDavid Daney #define CVMX_L2C_INT_STAT (CVMX_ADD_IO_SEG(0x00011800800000F8ull))
55aa32a955SDavid Daney #define CVMX_L2C_IOCX_PFC(block_id) (CVMX_ADD_IO_SEG(0x0001180080800420ull))
56aa32a955SDavid Daney #define CVMX_L2C_IORX_PFC(block_id) (CVMX_ADD_IO_SEG(0x0001180080800428ull))
57aa32a955SDavid Daney #define CVMX_L2C_LCKBASE (CVMX_ADD_IO_SEG(0x0001180080000058ull))
58aa32a955SDavid Daney #define CVMX_L2C_LCKOFF (CVMX_ADD_IO_SEG(0x0001180080000060ull))
59aa32a955SDavid Daney #define CVMX_L2C_LFB0 (CVMX_ADD_IO_SEG(0x0001180080000038ull))
60aa32a955SDavid Daney #define CVMX_L2C_LFB1 (CVMX_ADD_IO_SEG(0x0001180080000040ull))
61aa32a955SDavid Daney #define CVMX_L2C_LFB2 (CVMX_ADD_IO_SEG(0x0001180080000048ull))
62aa32a955SDavid Daney #define CVMX_L2C_LFB3 (CVMX_ADD_IO_SEG(0x00011800800000B8ull))
63aa32a955SDavid Daney #define CVMX_L2C_OOB (CVMX_ADD_IO_SEG(0x00011800800000D8ull))
64aa32a955SDavid Daney #define CVMX_L2C_OOB1 (CVMX_ADD_IO_SEG(0x00011800800000E0ull))
65aa32a955SDavid Daney #define CVMX_L2C_OOB2 (CVMX_ADD_IO_SEG(0x00011800800000E8ull))
66aa32a955SDavid Daney #define CVMX_L2C_OOB3 (CVMX_ADD_IO_SEG(0x00011800800000F0ull))
67aa32a955SDavid Daney #define CVMX_L2C_PFC0 CVMX_L2C_PFCX(0)
68aa32a955SDavid Daney #define CVMX_L2C_PFC1 CVMX_L2C_PFCX(1)
69aa32a955SDavid Daney #define CVMX_L2C_PFC2 CVMX_L2C_PFCX(2)
70aa32a955SDavid Daney #define CVMX_L2C_PFC3 CVMX_L2C_PFCX(3)
71aa32a955SDavid Daney #define CVMX_L2C_PFCTL (CVMX_ADD_IO_SEG(0x0001180080000090ull))
72aa32a955SDavid Daney #define CVMX_L2C_PFCX(offset) (CVMX_ADD_IO_SEG(0x0001180080000098ull) + ((offset) & 3) * 8)
73aa32a955SDavid Daney #define CVMX_L2C_PPGRP (CVMX_ADD_IO_SEG(0x00011800800000C0ull))
74aa32a955SDavid Daney #define CVMX_L2C_QOS_IOBX(block_id) (CVMX_ADD_IO_SEG(0x0001180080880200ull))
75aa32a955SDavid Daney #define CVMX_L2C_QOS_PPX(offset) (CVMX_ADD_IO_SEG(0x0001180080880000ull) + ((offset) & 7) * 8)
76aa32a955SDavid Daney #define CVMX_L2C_QOS_WGT (CVMX_ADD_IO_SEG(0x0001180080800008ull))
77aa32a955SDavid Daney #define CVMX_L2C_RSCX_PFC(block_id) (CVMX_ADD_IO_SEG(0x0001180080800410ull))
78aa32a955SDavid Daney #define CVMX_L2C_RSDX_PFC(block_id) (CVMX_ADD_IO_SEG(0x0001180080800418ull))
79aa32a955SDavid Daney #define CVMX_L2C_SPAR0 (CVMX_ADD_IO_SEG(0x0001180080000068ull))
80aa32a955SDavid Daney #define CVMX_L2C_SPAR1 (CVMX_ADD_IO_SEG(0x0001180080000070ull))
81aa32a955SDavid Daney #define CVMX_L2C_SPAR2 (CVMX_ADD_IO_SEG(0x0001180080000078ull))
82aa32a955SDavid Daney #define CVMX_L2C_SPAR3 (CVMX_ADD_IO_SEG(0x0001180080000080ull))
83aa32a955SDavid Daney #define CVMX_L2C_SPAR4 (CVMX_ADD_IO_SEG(0x0001180080000088ull))
84aa32a955SDavid Daney #define CVMX_L2C_TADX_ECC0(block_id) (CVMX_ADD_IO_SEG(0x0001180080A00018ull))
85aa32a955SDavid Daney #define CVMX_L2C_TADX_ECC1(block_id) (CVMX_ADD_IO_SEG(0x0001180080A00020ull))
86aa32a955SDavid Daney #define CVMX_L2C_TADX_IEN(block_id) (CVMX_ADD_IO_SEG(0x0001180080A00000ull))
87aa32a955SDavid Daney #define CVMX_L2C_TADX_INT(block_id) (CVMX_ADD_IO_SEG(0x0001180080A00028ull))
88aa32a955SDavid Daney #define CVMX_L2C_TADX_PFC0(block_id) (CVMX_ADD_IO_SEG(0x0001180080A00400ull))
89aa32a955SDavid Daney #define CVMX_L2C_TADX_PFC1(block_id) (CVMX_ADD_IO_SEG(0x0001180080A00408ull))
90aa32a955SDavid Daney #define CVMX_L2C_TADX_PFC2(block_id) (CVMX_ADD_IO_SEG(0x0001180080A00410ull))
91aa32a955SDavid Daney #define CVMX_L2C_TADX_PFC3(block_id) (CVMX_ADD_IO_SEG(0x0001180080A00418ull))
92aa32a955SDavid Daney #define CVMX_L2C_TADX_PRF(block_id) (CVMX_ADD_IO_SEG(0x0001180080A00008ull))
93aa32a955SDavid Daney #define CVMX_L2C_TADX_TAG(block_id) (CVMX_ADD_IO_SEG(0x0001180080A00010ull))
94aa32a955SDavid Daney #define CVMX_L2C_VER_ID (CVMX_ADD_IO_SEG(0x00011800808007E0ull))
95aa32a955SDavid Daney #define CVMX_L2C_VER_IOB (CVMX_ADD_IO_SEG(0x00011800808007F0ull))
96aa32a955SDavid Daney #define CVMX_L2C_VER_MSC (CVMX_ADD_IO_SEG(0x00011800808007D0ull))
97aa32a955SDavid Daney #define CVMX_L2C_VER_PP (CVMX_ADD_IO_SEG(0x00011800808007E8ull))
98aa32a955SDavid Daney #define CVMX_L2C_VIRTID_IOBX(block_id) (CVMX_ADD_IO_SEG(0x00011800808C0200ull))
99aa32a955SDavid Daney #define CVMX_L2C_VIRTID_PPX(offset) (CVMX_ADD_IO_SEG(0x00011800808C0000ull) + ((offset) & 7) * 8)
100aa32a955SDavid Daney #define CVMX_L2C_VRT_CTL (CVMX_ADD_IO_SEG(0x0001180080800010ull))
101aa32a955SDavid Daney #define CVMX_L2C_VRT_MEMX(offset) (CVMX_ADD_IO_SEG(0x0001180080900000ull) + ((offset) & 1023) * 8)
102aa32a955SDavid Daney #define CVMX_L2C_WPAR_IOBX(block_id) (CVMX_ADD_IO_SEG(0x0001180080840200ull))
103aa32a955SDavid Daney #define CVMX_L2C_WPAR_PPX(offset) (CVMX_ADD_IO_SEG(0x0001180080840000ull) + ((offset) & 7) * 8)
104aa32a955SDavid Daney #define CVMX_L2C_XMCX_PFC(block_id) (CVMX_ADD_IO_SEG(0x0001180080800400ull))
105aa32a955SDavid Daney #define CVMX_L2C_XMC_CMD (CVMX_ADD_IO_SEG(0x0001180080800028ull))
106aa32a955SDavid Daney #define CVMX_L2C_XMDX_PFC(block_id) (CVMX_ADD_IO_SEG(0x0001180080800408ull))
107aa32a955SDavid Daney 
108aa32a955SDavid Daney union cvmx_l2c_big_ctl {
109aa32a955SDavid Daney 	uint64_t u64;
110aa32a955SDavid Daney 	struct cvmx_l2c_big_ctl_s {
111aa32a955SDavid Daney 		uint64_t reserved_8_63:56;
112aa32a955SDavid Daney 		uint64_t maxdram:4;
113aa32a955SDavid Daney 		uint64_t reserved_1_3:3;
114aa32a955SDavid Daney 		uint64_t disable:1;
115aa32a955SDavid Daney 	} s;
116aa32a955SDavid Daney 	struct cvmx_l2c_big_ctl_s cn63xx;
117aa32a955SDavid Daney };
118aa32a955SDavid Daney 
119aa32a955SDavid Daney union cvmx_l2c_bst {
120aa32a955SDavid Daney 	uint64_t u64;
121aa32a955SDavid Daney 	struct cvmx_l2c_bst_s {
122aa32a955SDavid Daney 		uint64_t reserved_38_63:26;
123aa32a955SDavid Daney 		uint64_t dutfl:6;
124aa32a955SDavid Daney 		uint64_t reserved_17_31:15;
125aa32a955SDavid Daney 		uint64_t ioccmdfl:1;
126aa32a955SDavid Daney 		uint64_t reserved_13_15:3;
127aa32a955SDavid Daney 		uint64_t iocdatfl:1;
128aa32a955SDavid Daney 		uint64_t reserved_9_11:3;
129aa32a955SDavid Daney 		uint64_t dutresfl:1;
130aa32a955SDavid Daney 		uint64_t reserved_5_7:3;
131aa32a955SDavid Daney 		uint64_t vrtfl:1;
132aa32a955SDavid Daney 		uint64_t reserved_1_3:3;
133aa32a955SDavid Daney 		uint64_t tdffl:1;
134aa32a955SDavid Daney 	} s;
135aa32a955SDavid Daney 	struct cvmx_l2c_bst_s cn63xx;
136aa32a955SDavid Daney 	struct cvmx_l2c_bst_s cn63xxp1;
137aa32a955SDavid Daney };
13854293ec3SDavid Daney 
13954293ec3SDavid Daney union cvmx_l2c_bst0 {
14054293ec3SDavid Daney 	uint64_t u64;
14154293ec3SDavid Daney 	struct cvmx_l2c_bst0_s {
14254293ec3SDavid Daney 		uint64_t reserved_24_63:40;
14354293ec3SDavid Daney 		uint64_t dtbnk:1;
14454293ec3SDavid Daney 		uint64_t wlb_msk:4;
14554293ec3SDavid Daney 		uint64_t dtcnt:13;
14654293ec3SDavid Daney 		uint64_t dt:1;
14754293ec3SDavid Daney 		uint64_t stin_msk:1;
14854293ec3SDavid Daney 		uint64_t wlb_dat:4;
14954293ec3SDavid Daney 	} s;
15054293ec3SDavid Daney 	struct cvmx_l2c_bst0_cn30xx {
15154293ec3SDavid Daney 		uint64_t reserved_23_63:41;
15254293ec3SDavid Daney 		uint64_t wlb_msk:4;
15354293ec3SDavid Daney 		uint64_t reserved_15_18:4;
15454293ec3SDavid Daney 		uint64_t dtcnt:9;
15554293ec3SDavid Daney 		uint64_t dt:1;
15654293ec3SDavid Daney 		uint64_t reserved_4_4:1;
15754293ec3SDavid Daney 		uint64_t wlb_dat:4;
15854293ec3SDavid Daney 	} cn30xx;
15954293ec3SDavid Daney 	struct cvmx_l2c_bst0_cn31xx {
16054293ec3SDavid Daney 		uint64_t reserved_23_63:41;
16154293ec3SDavid Daney 		uint64_t wlb_msk:4;
16254293ec3SDavid Daney 		uint64_t reserved_16_18:3;
16354293ec3SDavid Daney 		uint64_t dtcnt:10;
16454293ec3SDavid Daney 		uint64_t dt:1;
16554293ec3SDavid Daney 		uint64_t stin_msk:1;
16654293ec3SDavid Daney 		uint64_t wlb_dat:4;
16754293ec3SDavid Daney 	} cn31xx;
16854293ec3SDavid Daney 	struct cvmx_l2c_bst0_cn38xx {
16954293ec3SDavid Daney 		uint64_t reserved_19_63:45;
17054293ec3SDavid Daney 		uint64_t dtcnt:13;
17154293ec3SDavid Daney 		uint64_t dt:1;
17254293ec3SDavid Daney 		uint64_t stin_msk:1;
17354293ec3SDavid Daney 		uint64_t wlb_dat:4;
17454293ec3SDavid Daney 	} cn38xx;
17554293ec3SDavid Daney 	struct cvmx_l2c_bst0_cn38xx cn38xxp2;
17654293ec3SDavid Daney 	struct cvmx_l2c_bst0_cn50xx {
17754293ec3SDavid Daney 		uint64_t reserved_24_63:40;
17854293ec3SDavid Daney 		uint64_t dtbnk:1;
17954293ec3SDavid Daney 		uint64_t wlb_msk:4;
18054293ec3SDavid Daney 		uint64_t reserved_16_18:3;
18154293ec3SDavid Daney 		uint64_t dtcnt:10;
18254293ec3SDavid Daney 		uint64_t dt:1;
18354293ec3SDavid Daney 		uint64_t stin_msk:1;
18454293ec3SDavid Daney 		uint64_t wlb_dat:4;
18554293ec3SDavid Daney 	} cn50xx;
18654293ec3SDavid Daney 	struct cvmx_l2c_bst0_cn50xx cn52xx;
18754293ec3SDavid Daney 	struct cvmx_l2c_bst0_cn50xx cn52xxp1;
18854293ec3SDavid Daney 	struct cvmx_l2c_bst0_s cn56xx;
18954293ec3SDavid Daney 	struct cvmx_l2c_bst0_s cn56xxp1;
19054293ec3SDavid Daney 	struct cvmx_l2c_bst0_s cn58xx;
19154293ec3SDavid Daney 	struct cvmx_l2c_bst0_s cn58xxp1;
19254293ec3SDavid Daney };
19354293ec3SDavid Daney 
19454293ec3SDavid Daney union cvmx_l2c_bst1 {
19554293ec3SDavid Daney 	uint64_t u64;
19654293ec3SDavid Daney 	struct cvmx_l2c_bst1_s {
19754293ec3SDavid Daney 		uint64_t reserved_9_63:55;
19854293ec3SDavid Daney 		uint64_t l2t:9;
19954293ec3SDavid Daney 	} s;
20054293ec3SDavid Daney 	struct cvmx_l2c_bst1_cn30xx {
20154293ec3SDavid Daney 		uint64_t reserved_16_63:48;
20254293ec3SDavid Daney 		uint64_t vwdf:4;
20354293ec3SDavid Daney 		uint64_t lrf:2;
20454293ec3SDavid Daney 		uint64_t vab_vwcf:1;
20554293ec3SDavid Daney 		uint64_t reserved_5_8:4;
20654293ec3SDavid Daney 		uint64_t l2t:5;
20754293ec3SDavid Daney 	} cn30xx;
20854293ec3SDavid Daney 	struct cvmx_l2c_bst1_cn30xx cn31xx;
20954293ec3SDavid Daney 	struct cvmx_l2c_bst1_cn38xx {
21054293ec3SDavid Daney 		uint64_t reserved_16_63:48;
21154293ec3SDavid Daney 		uint64_t vwdf:4;
21254293ec3SDavid Daney 		uint64_t lrf:2;
21354293ec3SDavid Daney 		uint64_t vab_vwcf:1;
21454293ec3SDavid Daney 		uint64_t l2t:9;
21554293ec3SDavid Daney 	} cn38xx;
21654293ec3SDavid Daney 	struct cvmx_l2c_bst1_cn38xx cn38xxp2;
21754293ec3SDavid Daney 	struct cvmx_l2c_bst1_cn38xx cn50xx;
21854293ec3SDavid Daney 	struct cvmx_l2c_bst1_cn52xx {
21954293ec3SDavid Daney 		uint64_t reserved_19_63:45;
22054293ec3SDavid Daney 		uint64_t plc2:1;
22154293ec3SDavid Daney 		uint64_t plc1:1;
22254293ec3SDavid Daney 		uint64_t plc0:1;
22354293ec3SDavid Daney 		uint64_t vwdf:4;
22454293ec3SDavid Daney 		uint64_t reserved_11_11:1;
22554293ec3SDavid Daney 		uint64_t ilc:1;
22654293ec3SDavid Daney 		uint64_t vab_vwcf:1;
22754293ec3SDavid Daney 		uint64_t l2t:9;
22854293ec3SDavid Daney 	} cn52xx;
22954293ec3SDavid Daney 	struct cvmx_l2c_bst1_cn52xx cn52xxp1;
23054293ec3SDavid Daney 	struct cvmx_l2c_bst1_cn56xx {
23154293ec3SDavid Daney 		uint64_t reserved_24_63:40;
23254293ec3SDavid Daney 		uint64_t plc2:1;
23354293ec3SDavid Daney 		uint64_t plc1:1;
23454293ec3SDavid Daney 		uint64_t plc0:1;
23554293ec3SDavid Daney 		uint64_t ilc:1;
23654293ec3SDavid Daney 		uint64_t vwdf1:4;
23754293ec3SDavid Daney 		uint64_t vwdf0:4;
23854293ec3SDavid Daney 		uint64_t vab_vwcf1:1;
23954293ec3SDavid Daney 		uint64_t reserved_10_10:1;
24054293ec3SDavid Daney 		uint64_t vab_vwcf0:1;
24154293ec3SDavid Daney 		uint64_t l2t:9;
24254293ec3SDavid Daney 	} cn56xx;
24354293ec3SDavid Daney 	struct cvmx_l2c_bst1_cn56xx cn56xxp1;
24454293ec3SDavid Daney 	struct cvmx_l2c_bst1_cn38xx cn58xx;
24554293ec3SDavid Daney 	struct cvmx_l2c_bst1_cn38xx cn58xxp1;
24654293ec3SDavid Daney };
24754293ec3SDavid Daney 
24854293ec3SDavid Daney union cvmx_l2c_bst2 {
24954293ec3SDavid Daney 	uint64_t u64;
25054293ec3SDavid Daney 	struct cvmx_l2c_bst2_s {
25154293ec3SDavid Daney 		uint64_t reserved_16_63:48;
25254293ec3SDavid Daney 		uint64_t mrb:4;
25354293ec3SDavid Daney 		uint64_t reserved_4_11:8;
25454293ec3SDavid Daney 		uint64_t ipcbst:1;
25554293ec3SDavid Daney 		uint64_t picbst:1;
25654293ec3SDavid Daney 		uint64_t xrdmsk:1;
25754293ec3SDavid Daney 		uint64_t xrddat:1;
25854293ec3SDavid Daney 	} s;
25954293ec3SDavid Daney 	struct cvmx_l2c_bst2_cn30xx {
26054293ec3SDavid Daney 		uint64_t reserved_16_63:48;
26154293ec3SDavid Daney 		uint64_t mrb:4;
26254293ec3SDavid Daney 		uint64_t rmdf:4;
26354293ec3SDavid Daney 		uint64_t reserved_4_7:4;
26454293ec3SDavid Daney 		uint64_t ipcbst:1;
26554293ec3SDavid Daney 		uint64_t reserved_2_2:1;
26654293ec3SDavid Daney 		uint64_t xrdmsk:1;
26754293ec3SDavid Daney 		uint64_t xrddat:1;
26854293ec3SDavid Daney 	} cn30xx;
26954293ec3SDavid Daney 	struct cvmx_l2c_bst2_cn30xx cn31xx;
27054293ec3SDavid Daney 	struct cvmx_l2c_bst2_cn38xx {
27154293ec3SDavid Daney 		uint64_t reserved_16_63:48;
27254293ec3SDavid Daney 		uint64_t mrb:4;
27354293ec3SDavid Daney 		uint64_t rmdf:4;
27454293ec3SDavid Daney 		uint64_t rhdf:4;
27554293ec3SDavid Daney 		uint64_t ipcbst:1;
27654293ec3SDavid Daney 		uint64_t picbst:1;
27754293ec3SDavid Daney 		uint64_t xrdmsk:1;
27854293ec3SDavid Daney 		uint64_t xrddat:1;
27954293ec3SDavid Daney 	} cn38xx;
28054293ec3SDavid Daney 	struct cvmx_l2c_bst2_cn38xx cn38xxp2;
28154293ec3SDavid Daney 	struct cvmx_l2c_bst2_cn30xx cn50xx;
28254293ec3SDavid Daney 	struct cvmx_l2c_bst2_cn30xx cn52xx;
28354293ec3SDavid Daney 	struct cvmx_l2c_bst2_cn30xx cn52xxp1;
28454293ec3SDavid Daney 	struct cvmx_l2c_bst2_cn56xx {
28554293ec3SDavid Daney 		uint64_t reserved_16_63:48;
28654293ec3SDavid Daney 		uint64_t mrb:4;
28754293ec3SDavid Daney 		uint64_t rmdb:4;
28854293ec3SDavid Daney 		uint64_t rhdb:4;
28954293ec3SDavid Daney 		uint64_t ipcbst:1;
29054293ec3SDavid Daney 		uint64_t picbst:1;
29154293ec3SDavid Daney 		uint64_t xrdmsk:1;
29254293ec3SDavid Daney 		uint64_t xrddat:1;
29354293ec3SDavid Daney 	} cn56xx;
29454293ec3SDavid Daney 	struct cvmx_l2c_bst2_cn56xx cn56xxp1;
29554293ec3SDavid Daney 	struct cvmx_l2c_bst2_cn56xx cn58xx;
29654293ec3SDavid Daney 	struct cvmx_l2c_bst2_cn56xx cn58xxp1;
29754293ec3SDavid Daney };
29854293ec3SDavid Daney 
299aa32a955SDavid Daney union cvmx_l2c_bst_memx {
300aa32a955SDavid Daney 	uint64_t u64;
301aa32a955SDavid Daney 	struct cvmx_l2c_bst_memx_s {
302aa32a955SDavid Daney 		uint64_t start_bist:1;
303aa32a955SDavid Daney 		uint64_t clear_bist:1;
304aa32a955SDavid Daney 		uint64_t reserved_5_61:57;
305aa32a955SDavid Daney 		uint64_t rdffl:1;
306aa32a955SDavid Daney 		uint64_t vbffl:4;
307aa32a955SDavid Daney 	} s;
308aa32a955SDavid Daney 	struct cvmx_l2c_bst_memx_s cn63xx;
309aa32a955SDavid Daney 	struct cvmx_l2c_bst_memx_s cn63xxp1;
310aa32a955SDavid Daney };
311aa32a955SDavid Daney 
312aa32a955SDavid Daney union cvmx_l2c_bst_tdtx {
313aa32a955SDavid Daney 	uint64_t u64;
314aa32a955SDavid Daney 	struct cvmx_l2c_bst_tdtx_s {
315aa32a955SDavid Daney 		uint64_t reserved_32_63:32;
316aa32a955SDavid Daney 		uint64_t fbfrspfl:8;
317aa32a955SDavid Daney 		uint64_t sbffl:8;
318aa32a955SDavid Daney 		uint64_t fbffl:8;
319aa32a955SDavid Daney 		uint64_t l2dfl:8;
320aa32a955SDavid Daney 	} s;
321aa32a955SDavid Daney 	struct cvmx_l2c_bst_tdtx_s cn63xx;
322aa32a955SDavid Daney 	struct cvmx_l2c_bst_tdtx_cn63xxp1 {
323aa32a955SDavid Daney 		uint64_t reserved_24_63:40;
324aa32a955SDavid Daney 		uint64_t sbffl:8;
325aa32a955SDavid Daney 		uint64_t fbffl:8;
326aa32a955SDavid Daney 		uint64_t l2dfl:8;
327aa32a955SDavid Daney 	} cn63xxp1;
328aa32a955SDavid Daney };
329aa32a955SDavid Daney 
330aa32a955SDavid Daney union cvmx_l2c_bst_ttgx {
331aa32a955SDavid Daney 	uint64_t u64;
332aa32a955SDavid Daney 	struct cvmx_l2c_bst_ttgx_s {
333aa32a955SDavid Daney 		uint64_t reserved_17_63:47;
334aa32a955SDavid Daney 		uint64_t lrufl:1;
335aa32a955SDavid Daney 		uint64_t tagfl:16;
336aa32a955SDavid Daney 	} s;
337aa32a955SDavid Daney 	struct cvmx_l2c_bst_ttgx_s cn63xx;
338aa32a955SDavid Daney 	struct cvmx_l2c_bst_ttgx_s cn63xxp1;
339aa32a955SDavid Daney };
340aa32a955SDavid Daney 
34154293ec3SDavid Daney union cvmx_l2c_cfg {
34254293ec3SDavid Daney 	uint64_t u64;
34354293ec3SDavid Daney 	struct cvmx_l2c_cfg_s {
34454293ec3SDavid Daney 		uint64_t reserved_20_63:44;
34554293ec3SDavid Daney 		uint64_t bstrun:1;
34654293ec3SDavid Daney 		uint64_t lbist:1;
34754293ec3SDavid Daney 		uint64_t xor_bank:1;
34854293ec3SDavid Daney 		uint64_t dpres1:1;
34954293ec3SDavid Daney 		uint64_t dpres0:1;
35054293ec3SDavid Daney 		uint64_t dfill_dis:1;
35154293ec3SDavid Daney 		uint64_t fpexp:4;
35254293ec3SDavid Daney 		uint64_t fpempty:1;
35354293ec3SDavid Daney 		uint64_t fpen:1;
35454293ec3SDavid Daney 		uint64_t idxalias:1;
35554293ec3SDavid Daney 		uint64_t mwf_crd:4;
35654293ec3SDavid Daney 		uint64_t rsp_arb_mode:1;
35754293ec3SDavid Daney 		uint64_t rfb_arb_mode:1;
35854293ec3SDavid Daney 		uint64_t lrf_arb_mode:1;
35954293ec3SDavid Daney 	} s;
36054293ec3SDavid Daney 	struct cvmx_l2c_cfg_cn30xx {
36154293ec3SDavid Daney 		uint64_t reserved_14_63:50;
36254293ec3SDavid Daney 		uint64_t fpexp:4;
36354293ec3SDavid Daney 		uint64_t fpempty:1;
36454293ec3SDavid Daney 		uint64_t fpen:1;
36554293ec3SDavid Daney 		uint64_t idxalias:1;
36654293ec3SDavid Daney 		uint64_t mwf_crd:4;
36754293ec3SDavid Daney 		uint64_t rsp_arb_mode:1;
36854293ec3SDavid Daney 		uint64_t rfb_arb_mode:1;
36954293ec3SDavid Daney 		uint64_t lrf_arb_mode:1;
37054293ec3SDavid Daney 	} cn30xx;
37154293ec3SDavid Daney 	struct cvmx_l2c_cfg_cn30xx cn31xx;
37254293ec3SDavid Daney 	struct cvmx_l2c_cfg_cn30xx cn38xx;
37354293ec3SDavid Daney 	struct cvmx_l2c_cfg_cn30xx cn38xxp2;
37454293ec3SDavid Daney 	struct cvmx_l2c_cfg_cn50xx {
37554293ec3SDavid Daney 		uint64_t reserved_20_63:44;
37654293ec3SDavid Daney 		uint64_t bstrun:1;
37754293ec3SDavid Daney 		uint64_t lbist:1;
37854293ec3SDavid Daney 		uint64_t reserved_14_17:4;
37954293ec3SDavid Daney 		uint64_t fpexp:4;
38054293ec3SDavid Daney 		uint64_t fpempty:1;
38154293ec3SDavid Daney 		uint64_t fpen:1;
38254293ec3SDavid Daney 		uint64_t idxalias:1;
38354293ec3SDavid Daney 		uint64_t mwf_crd:4;
38454293ec3SDavid Daney 		uint64_t rsp_arb_mode:1;
38554293ec3SDavid Daney 		uint64_t rfb_arb_mode:1;
38654293ec3SDavid Daney 		uint64_t lrf_arb_mode:1;
38754293ec3SDavid Daney 	} cn50xx;
38854293ec3SDavid Daney 	struct cvmx_l2c_cfg_cn50xx cn52xx;
38954293ec3SDavid Daney 	struct cvmx_l2c_cfg_cn50xx cn52xxp1;
39054293ec3SDavid Daney 	struct cvmx_l2c_cfg_s cn56xx;
39154293ec3SDavid Daney 	struct cvmx_l2c_cfg_s cn56xxp1;
39254293ec3SDavid Daney 	struct cvmx_l2c_cfg_cn58xx {
39354293ec3SDavid Daney 		uint64_t reserved_20_63:44;
39454293ec3SDavid Daney 		uint64_t bstrun:1;
39554293ec3SDavid Daney 		uint64_t lbist:1;
39654293ec3SDavid Daney 		uint64_t reserved_15_17:3;
39754293ec3SDavid Daney 		uint64_t dfill_dis:1;
39854293ec3SDavid Daney 		uint64_t fpexp:4;
39954293ec3SDavid Daney 		uint64_t fpempty:1;
40054293ec3SDavid Daney 		uint64_t fpen:1;
40154293ec3SDavid Daney 		uint64_t idxalias:1;
40254293ec3SDavid Daney 		uint64_t mwf_crd:4;
40354293ec3SDavid Daney 		uint64_t rsp_arb_mode:1;
40454293ec3SDavid Daney 		uint64_t rfb_arb_mode:1;
40554293ec3SDavid Daney 		uint64_t lrf_arb_mode:1;
40654293ec3SDavid Daney 	} cn58xx;
40754293ec3SDavid Daney 	struct cvmx_l2c_cfg_cn58xxp1 {
40854293ec3SDavid Daney 		uint64_t reserved_15_63:49;
40954293ec3SDavid Daney 		uint64_t dfill_dis:1;
41054293ec3SDavid Daney 		uint64_t fpexp:4;
41154293ec3SDavid Daney 		uint64_t fpempty:1;
41254293ec3SDavid Daney 		uint64_t fpen:1;
41354293ec3SDavid Daney 		uint64_t idxalias:1;
41454293ec3SDavid Daney 		uint64_t mwf_crd:4;
41554293ec3SDavid Daney 		uint64_t rsp_arb_mode:1;
41654293ec3SDavid Daney 		uint64_t rfb_arb_mode:1;
41754293ec3SDavid Daney 		uint64_t lrf_arb_mode:1;
41854293ec3SDavid Daney 	} cn58xxp1;
41954293ec3SDavid Daney };
42054293ec3SDavid Daney 
421aa32a955SDavid Daney union cvmx_l2c_cop0_mapx {
422aa32a955SDavid Daney 	uint64_t u64;
423aa32a955SDavid Daney 	struct cvmx_l2c_cop0_mapx_s {
424aa32a955SDavid Daney 		uint64_t data:64;
425aa32a955SDavid Daney 	} s;
426aa32a955SDavid Daney 	struct cvmx_l2c_cop0_mapx_s cn63xx;
427aa32a955SDavid Daney 	struct cvmx_l2c_cop0_mapx_s cn63xxp1;
428aa32a955SDavid Daney };
429aa32a955SDavid Daney 
430aa32a955SDavid Daney union cvmx_l2c_ctl {
431aa32a955SDavid Daney 	uint64_t u64;
432aa32a955SDavid Daney 	struct cvmx_l2c_ctl_s {
433aa32a955SDavid Daney 		uint64_t reserved_28_63:36;
434aa32a955SDavid Daney 		uint64_t disstgl2i:1;
435aa32a955SDavid Daney 		uint64_t l2dfsbe:1;
436aa32a955SDavid Daney 		uint64_t l2dfdbe:1;
437aa32a955SDavid Daney 		uint64_t discclk:1;
438aa32a955SDavid Daney 		uint64_t maxvab:4;
439aa32a955SDavid Daney 		uint64_t maxlfb:4;
440aa32a955SDavid Daney 		uint64_t rsp_arb_mode:1;
441aa32a955SDavid Daney 		uint64_t xmc_arb_mode:1;
442aa32a955SDavid Daney 		uint64_t ef_ena:1;
443aa32a955SDavid Daney 		uint64_t ef_cnt:7;
444aa32a955SDavid Daney 		uint64_t vab_thresh:4;
445aa32a955SDavid Daney 		uint64_t disecc:1;
446aa32a955SDavid Daney 		uint64_t disidxalias:1;
447aa32a955SDavid Daney 	} s;
448aa32a955SDavid Daney 	struct cvmx_l2c_ctl_s cn63xx;
449aa32a955SDavid Daney 	struct cvmx_l2c_ctl_cn63xxp1 {
450aa32a955SDavid Daney 		uint64_t reserved_25_63:39;
451aa32a955SDavid Daney 		uint64_t discclk:1;
452aa32a955SDavid Daney 		uint64_t maxvab:4;
453aa32a955SDavid Daney 		uint64_t maxlfb:4;
454aa32a955SDavid Daney 		uint64_t rsp_arb_mode:1;
455aa32a955SDavid Daney 		uint64_t xmc_arb_mode:1;
456aa32a955SDavid Daney 		uint64_t ef_ena:1;
457aa32a955SDavid Daney 		uint64_t ef_cnt:7;
458aa32a955SDavid Daney 		uint64_t vab_thresh:4;
459aa32a955SDavid Daney 		uint64_t disecc:1;
460aa32a955SDavid Daney 		uint64_t disidxalias:1;
461aa32a955SDavid Daney 	} cn63xxp1;
462aa32a955SDavid Daney };
463aa32a955SDavid Daney 
46454293ec3SDavid Daney union cvmx_l2c_dbg {
46554293ec3SDavid Daney 	uint64_t u64;
46654293ec3SDavid Daney 	struct cvmx_l2c_dbg_s {
46754293ec3SDavid Daney 		uint64_t reserved_15_63:49;
46854293ec3SDavid Daney 		uint64_t lfb_enum:4;
46954293ec3SDavid Daney 		uint64_t lfb_dmp:1;
47054293ec3SDavid Daney 		uint64_t ppnum:4;
47154293ec3SDavid Daney 		uint64_t set:3;
47254293ec3SDavid Daney 		uint64_t finv:1;
47354293ec3SDavid Daney 		uint64_t l2d:1;
47454293ec3SDavid Daney 		uint64_t l2t:1;
47554293ec3SDavid Daney 	} s;
47654293ec3SDavid Daney 	struct cvmx_l2c_dbg_cn30xx {
47754293ec3SDavid Daney 		uint64_t reserved_13_63:51;
47854293ec3SDavid Daney 		uint64_t lfb_enum:2;
47954293ec3SDavid Daney 		uint64_t lfb_dmp:1;
480aa32a955SDavid Daney 		uint64_t reserved_7_9:3;
481aa32a955SDavid Daney 		uint64_t ppnum:1;
482aa32a955SDavid Daney 		uint64_t reserved_5_5:1;
48354293ec3SDavid Daney 		uint64_t set:2;
48454293ec3SDavid Daney 		uint64_t finv:1;
48554293ec3SDavid Daney 		uint64_t l2d:1;
48654293ec3SDavid Daney 		uint64_t l2t:1;
48754293ec3SDavid Daney 	} cn30xx;
48854293ec3SDavid Daney 	struct cvmx_l2c_dbg_cn31xx {
48954293ec3SDavid Daney 		uint64_t reserved_14_63:50;
49054293ec3SDavid Daney 		uint64_t lfb_enum:3;
49154293ec3SDavid Daney 		uint64_t lfb_dmp:1;
49254293ec3SDavid Daney 		uint64_t reserved_7_9:3;
49354293ec3SDavid Daney 		uint64_t ppnum:1;
49454293ec3SDavid Daney 		uint64_t reserved_5_5:1;
49554293ec3SDavid Daney 		uint64_t set:2;
49654293ec3SDavid Daney 		uint64_t finv:1;
49754293ec3SDavid Daney 		uint64_t l2d:1;
49854293ec3SDavid Daney 		uint64_t l2t:1;
49954293ec3SDavid Daney 	} cn31xx;
50054293ec3SDavid Daney 	struct cvmx_l2c_dbg_s cn38xx;
50154293ec3SDavid Daney 	struct cvmx_l2c_dbg_s cn38xxp2;
50254293ec3SDavid Daney 	struct cvmx_l2c_dbg_cn50xx {
50354293ec3SDavid Daney 		uint64_t reserved_14_63:50;
50454293ec3SDavid Daney 		uint64_t lfb_enum:3;
50554293ec3SDavid Daney 		uint64_t lfb_dmp:1;
50654293ec3SDavid Daney 		uint64_t reserved_7_9:3;
50754293ec3SDavid Daney 		uint64_t ppnum:1;
50854293ec3SDavid Daney 		uint64_t set:3;
50954293ec3SDavid Daney 		uint64_t finv:1;
51054293ec3SDavid Daney 		uint64_t l2d:1;
51154293ec3SDavid Daney 		uint64_t l2t:1;
51254293ec3SDavid Daney 	} cn50xx;
51354293ec3SDavid Daney 	struct cvmx_l2c_dbg_cn52xx {
51454293ec3SDavid Daney 		uint64_t reserved_14_63:50;
51554293ec3SDavid Daney 		uint64_t lfb_enum:3;
51654293ec3SDavid Daney 		uint64_t lfb_dmp:1;
51754293ec3SDavid Daney 		uint64_t reserved_8_9:2;
51854293ec3SDavid Daney 		uint64_t ppnum:2;
51954293ec3SDavid Daney 		uint64_t set:3;
52054293ec3SDavid Daney 		uint64_t finv:1;
52154293ec3SDavid Daney 		uint64_t l2d:1;
52254293ec3SDavid Daney 		uint64_t l2t:1;
52354293ec3SDavid Daney 	} cn52xx;
52454293ec3SDavid Daney 	struct cvmx_l2c_dbg_cn52xx cn52xxp1;
52554293ec3SDavid Daney 	struct cvmx_l2c_dbg_s cn56xx;
52654293ec3SDavid Daney 	struct cvmx_l2c_dbg_s cn56xxp1;
52754293ec3SDavid Daney 	struct cvmx_l2c_dbg_s cn58xx;
52854293ec3SDavid Daney 	struct cvmx_l2c_dbg_s cn58xxp1;
52954293ec3SDavid Daney };
53054293ec3SDavid Daney 
53154293ec3SDavid Daney union cvmx_l2c_dut {
53254293ec3SDavid Daney 	uint64_t u64;
53354293ec3SDavid Daney 	struct cvmx_l2c_dut_s {
53454293ec3SDavid Daney 		uint64_t reserved_32_63:32;
53554293ec3SDavid Daney 		uint64_t dtena:1;
53654293ec3SDavid Daney 		uint64_t reserved_30_30:1;
53754293ec3SDavid Daney 		uint64_t dt_vld:1;
53854293ec3SDavid Daney 		uint64_t dt_tag:29;
53954293ec3SDavid Daney 	} s;
54054293ec3SDavid Daney 	struct cvmx_l2c_dut_s cn30xx;
54154293ec3SDavid Daney 	struct cvmx_l2c_dut_s cn31xx;
54254293ec3SDavid Daney 	struct cvmx_l2c_dut_s cn38xx;
54354293ec3SDavid Daney 	struct cvmx_l2c_dut_s cn38xxp2;
54454293ec3SDavid Daney 	struct cvmx_l2c_dut_s cn50xx;
54554293ec3SDavid Daney 	struct cvmx_l2c_dut_s cn52xx;
54654293ec3SDavid Daney 	struct cvmx_l2c_dut_s cn52xxp1;
54754293ec3SDavid Daney 	struct cvmx_l2c_dut_s cn56xx;
54854293ec3SDavid Daney 	struct cvmx_l2c_dut_s cn56xxp1;
54954293ec3SDavid Daney 	struct cvmx_l2c_dut_s cn58xx;
55054293ec3SDavid Daney 	struct cvmx_l2c_dut_s cn58xxp1;
55154293ec3SDavid Daney };
55254293ec3SDavid Daney 
553aa32a955SDavid Daney union cvmx_l2c_dut_mapx {
554aa32a955SDavid Daney 	uint64_t u64;
555aa32a955SDavid Daney 	struct cvmx_l2c_dut_mapx_s {
556aa32a955SDavid Daney 		uint64_t reserved_38_63:26;
557aa32a955SDavid Daney 		uint64_t tag:28;
558aa32a955SDavid Daney 		uint64_t reserved_1_9:9;
559aa32a955SDavid Daney 		uint64_t valid:1;
560aa32a955SDavid Daney 	} s;
561aa32a955SDavid Daney 	struct cvmx_l2c_dut_mapx_s cn63xx;
562aa32a955SDavid Daney 	struct cvmx_l2c_dut_mapx_s cn63xxp1;
563aa32a955SDavid Daney };
564aa32a955SDavid Daney 
565aa32a955SDavid Daney union cvmx_l2c_err_tdtx {
566aa32a955SDavid Daney 	uint64_t u64;
567aa32a955SDavid Daney 	struct cvmx_l2c_err_tdtx_s {
568aa32a955SDavid Daney 		uint64_t dbe:1;
569aa32a955SDavid Daney 		uint64_t sbe:1;
570aa32a955SDavid Daney 		uint64_t vdbe:1;
571aa32a955SDavid Daney 		uint64_t vsbe:1;
572aa32a955SDavid Daney 		uint64_t syn:10;
573aa32a955SDavid Daney 		uint64_t reserved_21_49:29;
574aa32a955SDavid Daney 		uint64_t wayidx:17;
575aa32a955SDavid Daney 		uint64_t reserved_2_3:2;
576aa32a955SDavid Daney 		uint64_t type:2;
577aa32a955SDavid Daney 	} s;
578aa32a955SDavid Daney 	struct cvmx_l2c_err_tdtx_s cn63xx;
579aa32a955SDavid Daney 	struct cvmx_l2c_err_tdtx_s cn63xxp1;
580aa32a955SDavid Daney };
581aa32a955SDavid Daney 
582aa32a955SDavid Daney union cvmx_l2c_err_ttgx {
583aa32a955SDavid Daney 	uint64_t u64;
584aa32a955SDavid Daney 	struct cvmx_l2c_err_ttgx_s {
585aa32a955SDavid Daney 		uint64_t dbe:1;
586aa32a955SDavid Daney 		uint64_t sbe:1;
587aa32a955SDavid Daney 		uint64_t noway:1;
588aa32a955SDavid Daney 		uint64_t reserved_56_60:5;
589aa32a955SDavid Daney 		uint64_t syn:6;
590aa32a955SDavid Daney 		uint64_t reserved_21_49:29;
591aa32a955SDavid Daney 		uint64_t wayidx:14;
592aa32a955SDavid Daney 		uint64_t reserved_2_6:5;
593aa32a955SDavid Daney 		uint64_t type:2;
594aa32a955SDavid Daney 	} s;
595aa32a955SDavid Daney 	struct cvmx_l2c_err_ttgx_s cn63xx;
596aa32a955SDavid Daney 	struct cvmx_l2c_err_ttgx_s cn63xxp1;
597aa32a955SDavid Daney };
598aa32a955SDavid Daney 
599aa32a955SDavid Daney union cvmx_l2c_err_vbfx {
600aa32a955SDavid Daney 	uint64_t u64;
601aa32a955SDavid Daney 	struct cvmx_l2c_err_vbfx_s {
602aa32a955SDavid Daney 		uint64_t reserved_62_63:2;
603aa32a955SDavid Daney 		uint64_t vdbe:1;
604aa32a955SDavid Daney 		uint64_t vsbe:1;
605aa32a955SDavid Daney 		uint64_t vsyn:10;
606aa32a955SDavid Daney 		uint64_t reserved_2_49:48;
607aa32a955SDavid Daney 		uint64_t type:2;
608aa32a955SDavid Daney 	} s;
609aa32a955SDavid Daney 	struct cvmx_l2c_err_vbfx_s cn63xx;
610aa32a955SDavid Daney 	struct cvmx_l2c_err_vbfx_s cn63xxp1;
611aa32a955SDavid Daney };
612aa32a955SDavid Daney 
613aa32a955SDavid Daney union cvmx_l2c_err_xmc {
614aa32a955SDavid Daney 	uint64_t u64;
615aa32a955SDavid Daney 	struct cvmx_l2c_err_xmc_s {
616aa32a955SDavid Daney 		uint64_t cmd:6;
617aa32a955SDavid Daney 		uint64_t reserved_52_57:6;
618aa32a955SDavid Daney 		uint64_t sid:4;
619aa32a955SDavid Daney 		uint64_t reserved_38_47:10;
620aa32a955SDavid Daney 		uint64_t addr:38;
621aa32a955SDavid Daney 	} s;
622aa32a955SDavid Daney 	struct cvmx_l2c_err_xmc_s cn63xx;
623aa32a955SDavid Daney 	struct cvmx_l2c_err_xmc_s cn63xxp1;
624aa32a955SDavid Daney };
625aa32a955SDavid Daney 
62654293ec3SDavid Daney union cvmx_l2c_grpwrr0 {
62754293ec3SDavid Daney 	uint64_t u64;
62854293ec3SDavid Daney 	struct cvmx_l2c_grpwrr0_s {
62954293ec3SDavid Daney 		uint64_t plc1rmsk:32;
63054293ec3SDavid Daney 		uint64_t plc0rmsk:32;
63154293ec3SDavid Daney 	} s;
63254293ec3SDavid Daney 	struct cvmx_l2c_grpwrr0_s cn52xx;
63354293ec3SDavid Daney 	struct cvmx_l2c_grpwrr0_s cn52xxp1;
63454293ec3SDavid Daney 	struct cvmx_l2c_grpwrr0_s cn56xx;
63554293ec3SDavid Daney 	struct cvmx_l2c_grpwrr0_s cn56xxp1;
63654293ec3SDavid Daney };
63754293ec3SDavid Daney 
63854293ec3SDavid Daney union cvmx_l2c_grpwrr1 {
63954293ec3SDavid Daney 	uint64_t u64;
64054293ec3SDavid Daney 	struct cvmx_l2c_grpwrr1_s {
64154293ec3SDavid Daney 		uint64_t ilcrmsk:32;
64254293ec3SDavid Daney 		uint64_t plc2rmsk:32;
64354293ec3SDavid Daney 	} s;
64454293ec3SDavid Daney 	struct cvmx_l2c_grpwrr1_s cn52xx;
64554293ec3SDavid Daney 	struct cvmx_l2c_grpwrr1_s cn52xxp1;
64654293ec3SDavid Daney 	struct cvmx_l2c_grpwrr1_s cn56xx;
64754293ec3SDavid Daney 	struct cvmx_l2c_grpwrr1_s cn56xxp1;
64854293ec3SDavid Daney };
64954293ec3SDavid Daney 
65054293ec3SDavid Daney union cvmx_l2c_int_en {
65154293ec3SDavid Daney 	uint64_t u64;
65254293ec3SDavid Daney 	struct cvmx_l2c_int_en_s {
65354293ec3SDavid Daney 		uint64_t reserved_9_63:55;
65454293ec3SDavid Daney 		uint64_t lck2ena:1;
65554293ec3SDavid Daney 		uint64_t lckena:1;
65654293ec3SDavid Daney 		uint64_t l2ddeden:1;
65754293ec3SDavid Daney 		uint64_t l2dsecen:1;
65854293ec3SDavid Daney 		uint64_t l2tdeden:1;
65954293ec3SDavid Daney 		uint64_t l2tsecen:1;
66054293ec3SDavid Daney 		uint64_t oob3en:1;
66154293ec3SDavid Daney 		uint64_t oob2en:1;
66254293ec3SDavid Daney 		uint64_t oob1en:1;
66354293ec3SDavid Daney 	} s;
66454293ec3SDavid Daney 	struct cvmx_l2c_int_en_s cn52xx;
66554293ec3SDavid Daney 	struct cvmx_l2c_int_en_s cn52xxp1;
66654293ec3SDavid Daney 	struct cvmx_l2c_int_en_s cn56xx;
66754293ec3SDavid Daney 	struct cvmx_l2c_int_en_s cn56xxp1;
66854293ec3SDavid Daney };
66954293ec3SDavid Daney 
670aa32a955SDavid Daney union cvmx_l2c_int_ena {
671aa32a955SDavid Daney 	uint64_t u64;
672aa32a955SDavid Daney 	struct cvmx_l2c_int_ena_s {
673aa32a955SDavid Daney 		uint64_t reserved_8_63:56;
674aa32a955SDavid Daney 		uint64_t bigrd:1;
675aa32a955SDavid Daney 		uint64_t bigwr:1;
676aa32a955SDavid Daney 		uint64_t vrtpe:1;
677aa32a955SDavid Daney 		uint64_t vrtadrng:1;
678aa32a955SDavid Daney 		uint64_t vrtidrng:1;
679aa32a955SDavid Daney 		uint64_t vrtwr:1;
680aa32a955SDavid Daney 		uint64_t holewr:1;
681aa32a955SDavid Daney 		uint64_t holerd:1;
682aa32a955SDavid Daney 	} s;
683aa32a955SDavid Daney 	struct cvmx_l2c_int_ena_s cn63xx;
684aa32a955SDavid Daney 	struct cvmx_l2c_int_ena_cn63xxp1 {
685aa32a955SDavid Daney 		uint64_t reserved_6_63:58;
686aa32a955SDavid Daney 		uint64_t vrtpe:1;
687aa32a955SDavid Daney 		uint64_t vrtadrng:1;
688aa32a955SDavid Daney 		uint64_t vrtidrng:1;
689aa32a955SDavid Daney 		uint64_t vrtwr:1;
690aa32a955SDavid Daney 		uint64_t holewr:1;
691aa32a955SDavid Daney 		uint64_t holerd:1;
692aa32a955SDavid Daney 	} cn63xxp1;
693aa32a955SDavid Daney };
694aa32a955SDavid Daney 
695aa32a955SDavid Daney union cvmx_l2c_int_reg {
696aa32a955SDavid Daney 	uint64_t u64;
697aa32a955SDavid Daney 	struct cvmx_l2c_int_reg_s {
698aa32a955SDavid Daney 		uint64_t reserved_17_63:47;
699aa32a955SDavid Daney 		uint64_t tad0:1;
700aa32a955SDavid Daney 		uint64_t reserved_8_15:8;
701aa32a955SDavid Daney 		uint64_t bigrd:1;
702aa32a955SDavid Daney 		uint64_t bigwr:1;
703aa32a955SDavid Daney 		uint64_t vrtpe:1;
704aa32a955SDavid Daney 		uint64_t vrtadrng:1;
705aa32a955SDavid Daney 		uint64_t vrtidrng:1;
706aa32a955SDavid Daney 		uint64_t vrtwr:1;
707aa32a955SDavid Daney 		uint64_t holewr:1;
708aa32a955SDavid Daney 		uint64_t holerd:1;
709aa32a955SDavid Daney 	} s;
710aa32a955SDavid Daney 	struct cvmx_l2c_int_reg_s cn63xx;
711aa32a955SDavid Daney 	struct cvmx_l2c_int_reg_cn63xxp1 {
712aa32a955SDavid Daney 		uint64_t reserved_17_63:47;
713aa32a955SDavid Daney 		uint64_t tad0:1;
714aa32a955SDavid Daney 		uint64_t reserved_6_15:10;
715aa32a955SDavid Daney 		uint64_t vrtpe:1;
716aa32a955SDavid Daney 		uint64_t vrtadrng:1;
717aa32a955SDavid Daney 		uint64_t vrtidrng:1;
718aa32a955SDavid Daney 		uint64_t vrtwr:1;
719aa32a955SDavid Daney 		uint64_t holewr:1;
720aa32a955SDavid Daney 		uint64_t holerd:1;
721aa32a955SDavid Daney 	} cn63xxp1;
722aa32a955SDavid Daney };
723aa32a955SDavid Daney 
72454293ec3SDavid Daney union cvmx_l2c_int_stat {
72554293ec3SDavid Daney 	uint64_t u64;
72654293ec3SDavid Daney 	struct cvmx_l2c_int_stat_s {
72754293ec3SDavid Daney 		uint64_t reserved_9_63:55;
72854293ec3SDavid Daney 		uint64_t lck2:1;
72954293ec3SDavid Daney 		uint64_t lck:1;
73054293ec3SDavid Daney 		uint64_t l2dded:1;
73154293ec3SDavid Daney 		uint64_t l2dsec:1;
73254293ec3SDavid Daney 		uint64_t l2tded:1;
73354293ec3SDavid Daney 		uint64_t l2tsec:1;
73454293ec3SDavid Daney 		uint64_t oob3:1;
73554293ec3SDavid Daney 		uint64_t oob2:1;
73654293ec3SDavid Daney 		uint64_t oob1:1;
73754293ec3SDavid Daney 	} s;
73854293ec3SDavid Daney 	struct cvmx_l2c_int_stat_s cn52xx;
73954293ec3SDavid Daney 	struct cvmx_l2c_int_stat_s cn52xxp1;
74054293ec3SDavid Daney 	struct cvmx_l2c_int_stat_s cn56xx;
74154293ec3SDavid Daney 	struct cvmx_l2c_int_stat_s cn56xxp1;
74254293ec3SDavid Daney };
74354293ec3SDavid Daney 
744aa32a955SDavid Daney union cvmx_l2c_iocx_pfc {
745aa32a955SDavid Daney 	uint64_t u64;
746aa32a955SDavid Daney 	struct cvmx_l2c_iocx_pfc_s {
747aa32a955SDavid Daney 		uint64_t count:64;
748aa32a955SDavid Daney 	} s;
749aa32a955SDavid Daney 	struct cvmx_l2c_iocx_pfc_s cn63xx;
750aa32a955SDavid Daney 	struct cvmx_l2c_iocx_pfc_s cn63xxp1;
751aa32a955SDavid Daney };
752aa32a955SDavid Daney 
753aa32a955SDavid Daney union cvmx_l2c_iorx_pfc {
754aa32a955SDavid Daney 	uint64_t u64;
755aa32a955SDavid Daney 	struct cvmx_l2c_iorx_pfc_s {
756aa32a955SDavid Daney 		uint64_t count:64;
757aa32a955SDavid Daney 	} s;
758aa32a955SDavid Daney 	struct cvmx_l2c_iorx_pfc_s cn63xx;
759aa32a955SDavid Daney 	struct cvmx_l2c_iorx_pfc_s cn63xxp1;
760aa32a955SDavid Daney };
761aa32a955SDavid Daney 
76254293ec3SDavid Daney union cvmx_l2c_lckbase {
76354293ec3SDavid Daney 	uint64_t u64;
76454293ec3SDavid Daney 	struct cvmx_l2c_lckbase_s {
76554293ec3SDavid Daney 		uint64_t reserved_31_63:33;
76654293ec3SDavid Daney 		uint64_t lck_base:27;
76754293ec3SDavid Daney 		uint64_t reserved_1_3:3;
76854293ec3SDavid Daney 		uint64_t lck_ena:1;
76954293ec3SDavid Daney 	} s;
77054293ec3SDavid Daney 	struct cvmx_l2c_lckbase_s cn30xx;
77154293ec3SDavid Daney 	struct cvmx_l2c_lckbase_s cn31xx;
77254293ec3SDavid Daney 	struct cvmx_l2c_lckbase_s cn38xx;
77354293ec3SDavid Daney 	struct cvmx_l2c_lckbase_s cn38xxp2;
77454293ec3SDavid Daney 	struct cvmx_l2c_lckbase_s cn50xx;
77554293ec3SDavid Daney 	struct cvmx_l2c_lckbase_s cn52xx;
77654293ec3SDavid Daney 	struct cvmx_l2c_lckbase_s cn52xxp1;
77754293ec3SDavid Daney 	struct cvmx_l2c_lckbase_s cn56xx;
77854293ec3SDavid Daney 	struct cvmx_l2c_lckbase_s cn56xxp1;
77954293ec3SDavid Daney 	struct cvmx_l2c_lckbase_s cn58xx;
78054293ec3SDavid Daney 	struct cvmx_l2c_lckbase_s cn58xxp1;
78154293ec3SDavid Daney };
78254293ec3SDavid Daney 
78354293ec3SDavid Daney union cvmx_l2c_lckoff {
78454293ec3SDavid Daney 	uint64_t u64;
78554293ec3SDavid Daney 	struct cvmx_l2c_lckoff_s {
78654293ec3SDavid Daney 		uint64_t reserved_10_63:54;
78754293ec3SDavid Daney 		uint64_t lck_offset:10;
78854293ec3SDavid Daney 	} s;
78954293ec3SDavid Daney 	struct cvmx_l2c_lckoff_s cn30xx;
79054293ec3SDavid Daney 	struct cvmx_l2c_lckoff_s cn31xx;
79154293ec3SDavid Daney 	struct cvmx_l2c_lckoff_s cn38xx;
79254293ec3SDavid Daney 	struct cvmx_l2c_lckoff_s cn38xxp2;
79354293ec3SDavid Daney 	struct cvmx_l2c_lckoff_s cn50xx;
79454293ec3SDavid Daney 	struct cvmx_l2c_lckoff_s cn52xx;
79554293ec3SDavid Daney 	struct cvmx_l2c_lckoff_s cn52xxp1;
79654293ec3SDavid Daney 	struct cvmx_l2c_lckoff_s cn56xx;
79754293ec3SDavid Daney 	struct cvmx_l2c_lckoff_s cn56xxp1;
79854293ec3SDavid Daney 	struct cvmx_l2c_lckoff_s cn58xx;
79954293ec3SDavid Daney 	struct cvmx_l2c_lckoff_s cn58xxp1;
80054293ec3SDavid Daney };
80154293ec3SDavid Daney 
80254293ec3SDavid Daney union cvmx_l2c_lfb0 {
80354293ec3SDavid Daney 	uint64_t u64;
80454293ec3SDavid Daney 	struct cvmx_l2c_lfb0_s {
80554293ec3SDavid Daney 		uint64_t reserved_32_63:32;
80654293ec3SDavid Daney 		uint64_t stcpnd:1;
80754293ec3SDavid Daney 		uint64_t stpnd:1;
80854293ec3SDavid Daney 		uint64_t stinv:1;
80954293ec3SDavid Daney 		uint64_t stcfl:1;
81054293ec3SDavid Daney 		uint64_t vam:1;
81154293ec3SDavid Daney 		uint64_t inxt:4;
81254293ec3SDavid Daney 		uint64_t itl:1;
81354293ec3SDavid Daney 		uint64_t ihd:1;
81454293ec3SDavid Daney 		uint64_t set:3;
81554293ec3SDavid Daney 		uint64_t vabnum:4;
81654293ec3SDavid Daney 		uint64_t sid:9;
81754293ec3SDavid Daney 		uint64_t cmd:4;
81854293ec3SDavid Daney 		uint64_t vld:1;
81954293ec3SDavid Daney 	} s;
82054293ec3SDavid Daney 	struct cvmx_l2c_lfb0_cn30xx {
82154293ec3SDavid Daney 		uint64_t reserved_32_63:32;
82254293ec3SDavid Daney 		uint64_t stcpnd:1;
82354293ec3SDavid Daney 		uint64_t stpnd:1;
82454293ec3SDavid Daney 		uint64_t stinv:1;
82554293ec3SDavid Daney 		uint64_t stcfl:1;
82654293ec3SDavid Daney 		uint64_t vam:1;
82754293ec3SDavid Daney 		uint64_t reserved_25_26:2;
82854293ec3SDavid Daney 		uint64_t inxt:2;
82954293ec3SDavid Daney 		uint64_t itl:1;
83054293ec3SDavid Daney 		uint64_t ihd:1;
83154293ec3SDavid Daney 		uint64_t reserved_20_20:1;
83254293ec3SDavid Daney 		uint64_t set:2;
83354293ec3SDavid Daney 		uint64_t reserved_16_17:2;
83454293ec3SDavid Daney 		uint64_t vabnum:2;
83554293ec3SDavid Daney 		uint64_t sid:9;
83654293ec3SDavid Daney 		uint64_t cmd:4;
83754293ec3SDavid Daney 		uint64_t vld:1;
83854293ec3SDavid Daney 	} cn30xx;
83954293ec3SDavid Daney 	struct cvmx_l2c_lfb0_cn31xx {
84054293ec3SDavid Daney 		uint64_t reserved_32_63:32;
84154293ec3SDavid Daney 		uint64_t stcpnd:1;
84254293ec3SDavid Daney 		uint64_t stpnd:1;
84354293ec3SDavid Daney 		uint64_t stinv:1;
84454293ec3SDavid Daney 		uint64_t stcfl:1;
84554293ec3SDavid Daney 		uint64_t vam:1;
84654293ec3SDavid Daney 		uint64_t reserved_26_26:1;
84754293ec3SDavid Daney 		uint64_t inxt:3;
84854293ec3SDavid Daney 		uint64_t itl:1;
84954293ec3SDavid Daney 		uint64_t ihd:1;
85054293ec3SDavid Daney 		uint64_t reserved_20_20:1;
85154293ec3SDavid Daney 		uint64_t set:2;
85254293ec3SDavid Daney 		uint64_t reserved_17_17:1;
85354293ec3SDavid Daney 		uint64_t vabnum:3;
85454293ec3SDavid Daney 		uint64_t sid:9;
85554293ec3SDavid Daney 		uint64_t cmd:4;
85654293ec3SDavid Daney 		uint64_t vld:1;
85754293ec3SDavid Daney 	} cn31xx;
85854293ec3SDavid Daney 	struct cvmx_l2c_lfb0_s cn38xx;
85954293ec3SDavid Daney 	struct cvmx_l2c_lfb0_s cn38xxp2;
86054293ec3SDavid Daney 	struct cvmx_l2c_lfb0_cn50xx {
86154293ec3SDavid Daney 		uint64_t reserved_32_63:32;
86254293ec3SDavid Daney 		uint64_t stcpnd:1;
86354293ec3SDavid Daney 		uint64_t stpnd:1;
86454293ec3SDavid Daney 		uint64_t stinv:1;
86554293ec3SDavid Daney 		uint64_t stcfl:1;
86654293ec3SDavid Daney 		uint64_t vam:1;
86754293ec3SDavid Daney 		uint64_t reserved_26_26:1;
86854293ec3SDavid Daney 		uint64_t inxt:3;
86954293ec3SDavid Daney 		uint64_t itl:1;
87054293ec3SDavid Daney 		uint64_t ihd:1;
87154293ec3SDavid Daney 		uint64_t set:3;
87254293ec3SDavid Daney 		uint64_t reserved_17_17:1;
87354293ec3SDavid Daney 		uint64_t vabnum:3;
87454293ec3SDavid Daney 		uint64_t sid:9;
87554293ec3SDavid Daney 		uint64_t cmd:4;
87654293ec3SDavid Daney 		uint64_t vld:1;
87754293ec3SDavid Daney 	} cn50xx;
87854293ec3SDavid Daney 	struct cvmx_l2c_lfb0_cn50xx cn52xx;
87954293ec3SDavid Daney 	struct cvmx_l2c_lfb0_cn50xx cn52xxp1;
88054293ec3SDavid Daney 	struct cvmx_l2c_lfb0_s cn56xx;
88154293ec3SDavid Daney 	struct cvmx_l2c_lfb0_s cn56xxp1;
88254293ec3SDavid Daney 	struct cvmx_l2c_lfb0_s cn58xx;
88354293ec3SDavid Daney 	struct cvmx_l2c_lfb0_s cn58xxp1;
88454293ec3SDavid Daney };
88554293ec3SDavid Daney 
88654293ec3SDavid Daney union cvmx_l2c_lfb1 {
88754293ec3SDavid Daney 	uint64_t u64;
88854293ec3SDavid Daney 	struct cvmx_l2c_lfb1_s {
88954293ec3SDavid Daney 		uint64_t reserved_19_63:45;
89054293ec3SDavid Daney 		uint64_t dsgoing:1;
89154293ec3SDavid Daney 		uint64_t bid:2;
89254293ec3SDavid Daney 		uint64_t wtrsp:1;
89354293ec3SDavid Daney 		uint64_t wtdw:1;
89454293ec3SDavid Daney 		uint64_t wtdq:1;
89554293ec3SDavid Daney 		uint64_t wtwhp:1;
89654293ec3SDavid Daney 		uint64_t wtwhf:1;
89754293ec3SDavid Daney 		uint64_t wtwrm:1;
89854293ec3SDavid Daney 		uint64_t wtstm:1;
89954293ec3SDavid Daney 		uint64_t wtrda:1;
90054293ec3SDavid Daney 		uint64_t wtstdt:1;
90154293ec3SDavid Daney 		uint64_t wtstrsp:1;
90254293ec3SDavid Daney 		uint64_t wtstrsc:1;
90354293ec3SDavid Daney 		uint64_t wtvtm:1;
90454293ec3SDavid Daney 		uint64_t wtmfl:1;
90554293ec3SDavid Daney 		uint64_t prbrty:1;
90654293ec3SDavid Daney 		uint64_t wtprb:1;
90754293ec3SDavid Daney 		uint64_t vld:1;
90854293ec3SDavid Daney 	} s;
90954293ec3SDavid Daney 	struct cvmx_l2c_lfb1_s cn30xx;
91054293ec3SDavid Daney 	struct cvmx_l2c_lfb1_s cn31xx;
91154293ec3SDavid Daney 	struct cvmx_l2c_lfb1_s cn38xx;
91254293ec3SDavid Daney 	struct cvmx_l2c_lfb1_s cn38xxp2;
91354293ec3SDavid Daney 	struct cvmx_l2c_lfb1_s cn50xx;
91454293ec3SDavid Daney 	struct cvmx_l2c_lfb1_s cn52xx;
91554293ec3SDavid Daney 	struct cvmx_l2c_lfb1_s cn52xxp1;
91654293ec3SDavid Daney 	struct cvmx_l2c_lfb1_s cn56xx;
91754293ec3SDavid Daney 	struct cvmx_l2c_lfb1_s cn56xxp1;
91854293ec3SDavid Daney 	struct cvmx_l2c_lfb1_s cn58xx;
91954293ec3SDavid Daney 	struct cvmx_l2c_lfb1_s cn58xxp1;
92054293ec3SDavid Daney };
92154293ec3SDavid Daney 
92254293ec3SDavid Daney union cvmx_l2c_lfb2 {
92354293ec3SDavid Daney 	uint64_t u64;
92454293ec3SDavid Daney 	struct cvmx_l2c_lfb2_s {
92554293ec3SDavid Daney 		uint64_t reserved_0_63:64;
92654293ec3SDavid Daney 	} s;
92754293ec3SDavid Daney 	struct cvmx_l2c_lfb2_cn30xx {
92854293ec3SDavid Daney 		uint64_t reserved_27_63:37;
92954293ec3SDavid Daney 		uint64_t lfb_tag:19;
93054293ec3SDavid Daney 		uint64_t lfb_idx:8;
93154293ec3SDavid Daney 	} cn30xx;
93254293ec3SDavid Daney 	struct cvmx_l2c_lfb2_cn31xx {
93354293ec3SDavid Daney 		uint64_t reserved_27_63:37;
93454293ec3SDavid Daney 		uint64_t lfb_tag:17;
93554293ec3SDavid Daney 		uint64_t lfb_idx:10;
93654293ec3SDavid Daney 	} cn31xx;
93754293ec3SDavid Daney 	struct cvmx_l2c_lfb2_cn31xx cn38xx;
93854293ec3SDavid Daney 	struct cvmx_l2c_lfb2_cn31xx cn38xxp2;
93954293ec3SDavid Daney 	struct cvmx_l2c_lfb2_cn50xx {
94054293ec3SDavid Daney 		uint64_t reserved_27_63:37;
94154293ec3SDavid Daney 		uint64_t lfb_tag:20;
94254293ec3SDavid Daney 		uint64_t lfb_idx:7;
94354293ec3SDavid Daney 	} cn50xx;
94454293ec3SDavid Daney 	struct cvmx_l2c_lfb2_cn52xx {
94554293ec3SDavid Daney 		uint64_t reserved_27_63:37;
94654293ec3SDavid Daney 		uint64_t lfb_tag:18;
94754293ec3SDavid Daney 		uint64_t lfb_idx:9;
94854293ec3SDavid Daney 	} cn52xx;
94954293ec3SDavid Daney 	struct cvmx_l2c_lfb2_cn52xx cn52xxp1;
95054293ec3SDavid Daney 	struct cvmx_l2c_lfb2_cn56xx {
95154293ec3SDavid Daney 		uint64_t reserved_27_63:37;
95254293ec3SDavid Daney 		uint64_t lfb_tag:16;
95354293ec3SDavid Daney 		uint64_t lfb_idx:11;
95454293ec3SDavid Daney 	} cn56xx;
95554293ec3SDavid Daney 	struct cvmx_l2c_lfb2_cn56xx cn56xxp1;
95654293ec3SDavid Daney 	struct cvmx_l2c_lfb2_cn56xx cn58xx;
95754293ec3SDavid Daney 	struct cvmx_l2c_lfb2_cn56xx cn58xxp1;
95854293ec3SDavid Daney };
95954293ec3SDavid Daney 
96054293ec3SDavid Daney union cvmx_l2c_lfb3 {
96154293ec3SDavid Daney 	uint64_t u64;
96254293ec3SDavid Daney 	struct cvmx_l2c_lfb3_s {
96354293ec3SDavid Daney 		uint64_t reserved_5_63:59;
96454293ec3SDavid Daney 		uint64_t stpartdis:1;
96554293ec3SDavid Daney 		uint64_t lfb_hwm:4;
96654293ec3SDavid Daney 	} s;
96754293ec3SDavid Daney 	struct cvmx_l2c_lfb3_cn30xx {
96854293ec3SDavid Daney 		uint64_t reserved_5_63:59;
96954293ec3SDavid Daney 		uint64_t stpartdis:1;
97054293ec3SDavid Daney 		uint64_t reserved_2_3:2;
97154293ec3SDavid Daney 		uint64_t lfb_hwm:2;
97254293ec3SDavid Daney 	} cn30xx;
97354293ec3SDavid Daney 	struct cvmx_l2c_lfb3_cn31xx {
97454293ec3SDavid Daney 		uint64_t reserved_5_63:59;
97554293ec3SDavid Daney 		uint64_t stpartdis:1;
97654293ec3SDavid Daney 		uint64_t reserved_3_3:1;
97754293ec3SDavid Daney 		uint64_t lfb_hwm:3;
97854293ec3SDavid Daney 	} cn31xx;
97954293ec3SDavid Daney 	struct cvmx_l2c_lfb3_s cn38xx;
98054293ec3SDavid Daney 	struct cvmx_l2c_lfb3_s cn38xxp2;
98154293ec3SDavid Daney 	struct cvmx_l2c_lfb3_cn31xx cn50xx;
98254293ec3SDavid Daney 	struct cvmx_l2c_lfb3_cn31xx cn52xx;
98354293ec3SDavid Daney 	struct cvmx_l2c_lfb3_cn31xx cn52xxp1;
98454293ec3SDavid Daney 	struct cvmx_l2c_lfb3_s cn56xx;
98554293ec3SDavid Daney 	struct cvmx_l2c_lfb3_s cn56xxp1;
98654293ec3SDavid Daney 	struct cvmx_l2c_lfb3_s cn58xx;
98754293ec3SDavid Daney 	struct cvmx_l2c_lfb3_s cn58xxp1;
98854293ec3SDavid Daney };
98954293ec3SDavid Daney 
99054293ec3SDavid Daney union cvmx_l2c_oob {
99154293ec3SDavid Daney 	uint64_t u64;
99254293ec3SDavid Daney 	struct cvmx_l2c_oob_s {
99354293ec3SDavid Daney 		uint64_t reserved_2_63:62;
99454293ec3SDavid Daney 		uint64_t dwbena:1;
99554293ec3SDavid Daney 		uint64_t stena:1;
99654293ec3SDavid Daney 	} s;
99754293ec3SDavid Daney 	struct cvmx_l2c_oob_s cn52xx;
99854293ec3SDavid Daney 	struct cvmx_l2c_oob_s cn52xxp1;
99954293ec3SDavid Daney 	struct cvmx_l2c_oob_s cn56xx;
100054293ec3SDavid Daney 	struct cvmx_l2c_oob_s cn56xxp1;
100154293ec3SDavid Daney };
100254293ec3SDavid Daney 
100354293ec3SDavid Daney union cvmx_l2c_oob1 {
100454293ec3SDavid Daney 	uint64_t u64;
100554293ec3SDavid Daney 	struct cvmx_l2c_oob1_s {
100654293ec3SDavid Daney 		uint64_t fadr:27;
100754293ec3SDavid Daney 		uint64_t fsrc:1;
100854293ec3SDavid Daney 		uint64_t reserved_34_35:2;
100954293ec3SDavid Daney 		uint64_t sadr:14;
101054293ec3SDavid Daney 		uint64_t reserved_14_19:6;
101154293ec3SDavid Daney 		uint64_t size:14;
101254293ec3SDavid Daney 	} s;
101354293ec3SDavid Daney 	struct cvmx_l2c_oob1_s cn52xx;
101454293ec3SDavid Daney 	struct cvmx_l2c_oob1_s cn52xxp1;
101554293ec3SDavid Daney 	struct cvmx_l2c_oob1_s cn56xx;
101654293ec3SDavid Daney 	struct cvmx_l2c_oob1_s cn56xxp1;
101754293ec3SDavid Daney };
101854293ec3SDavid Daney 
101954293ec3SDavid Daney union cvmx_l2c_oob2 {
102054293ec3SDavid Daney 	uint64_t u64;
102154293ec3SDavid Daney 	struct cvmx_l2c_oob2_s {
102254293ec3SDavid Daney 		uint64_t fadr:27;
102354293ec3SDavid Daney 		uint64_t fsrc:1;
102454293ec3SDavid Daney 		uint64_t reserved_34_35:2;
102554293ec3SDavid Daney 		uint64_t sadr:14;
102654293ec3SDavid Daney 		uint64_t reserved_14_19:6;
102754293ec3SDavid Daney 		uint64_t size:14;
102854293ec3SDavid Daney 	} s;
102954293ec3SDavid Daney 	struct cvmx_l2c_oob2_s cn52xx;
103054293ec3SDavid Daney 	struct cvmx_l2c_oob2_s cn52xxp1;
103154293ec3SDavid Daney 	struct cvmx_l2c_oob2_s cn56xx;
103254293ec3SDavid Daney 	struct cvmx_l2c_oob2_s cn56xxp1;
103354293ec3SDavid Daney };
103454293ec3SDavid Daney 
103554293ec3SDavid Daney union cvmx_l2c_oob3 {
103654293ec3SDavid Daney 	uint64_t u64;
103754293ec3SDavid Daney 	struct cvmx_l2c_oob3_s {
103854293ec3SDavid Daney 		uint64_t fadr:27;
103954293ec3SDavid Daney 		uint64_t fsrc:1;
104054293ec3SDavid Daney 		uint64_t reserved_34_35:2;
104154293ec3SDavid Daney 		uint64_t sadr:14;
104254293ec3SDavid Daney 		uint64_t reserved_14_19:6;
104354293ec3SDavid Daney 		uint64_t size:14;
104454293ec3SDavid Daney 	} s;
104554293ec3SDavid Daney 	struct cvmx_l2c_oob3_s cn52xx;
104654293ec3SDavid Daney 	struct cvmx_l2c_oob3_s cn52xxp1;
104754293ec3SDavid Daney 	struct cvmx_l2c_oob3_s cn56xx;
104854293ec3SDavid Daney 	struct cvmx_l2c_oob3_s cn56xxp1;
104954293ec3SDavid Daney };
105054293ec3SDavid Daney 
105154293ec3SDavid Daney union cvmx_l2c_pfcx {
105254293ec3SDavid Daney 	uint64_t u64;
105354293ec3SDavid Daney 	struct cvmx_l2c_pfcx_s {
105454293ec3SDavid Daney 		uint64_t reserved_36_63:28;
105554293ec3SDavid Daney 		uint64_t pfcnt0:36;
105654293ec3SDavid Daney 	} s;
105754293ec3SDavid Daney 	struct cvmx_l2c_pfcx_s cn30xx;
105854293ec3SDavid Daney 	struct cvmx_l2c_pfcx_s cn31xx;
105954293ec3SDavid Daney 	struct cvmx_l2c_pfcx_s cn38xx;
106054293ec3SDavid Daney 	struct cvmx_l2c_pfcx_s cn38xxp2;
106154293ec3SDavid Daney 	struct cvmx_l2c_pfcx_s cn50xx;
106254293ec3SDavid Daney 	struct cvmx_l2c_pfcx_s cn52xx;
106354293ec3SDavid Daney 	struct cvmx_l2c_pfcx_s cn52xxp1;
106454293ec3SDavid Daney 	struct cvmx_l2c_pfcx_s cn56xx;
106554293ec3SDavid Daney 	struct cvmx_l2c_pfcx_s cn56xxp1;
106654293ec3SDavid Daney 	struct cvmx_l2c_pfcx_s cn58xx;
106754293ec3SDavid Daney 	struct cvmx_l2c_pfcx_s cn58xxp1;
106854293ec3SDavid Daney };
106954293ec3SDavid Daney 
107054293ec3SDavid Daney union cvmx_l2c_pfctl {
107154293ec3SDavid Daney 	uint64_t u64;
107254293ec3SDavid Daney 	struct cvmx_l2c_pfctl_s {
107354293ec3SDavid Daney 		uint64_t reserved_36_63:28;
107454293ec3SDavid Daney 		uint64_t cnt3rdclr:1;
107554293ec3SDavid Daney 		uint64_t cnt2rdclr:1;
107654293ec3SDavid Daney 		uint64_t cnt1rdclr:1;
107754293ec3SDavid Daney 		uint64_t cnt0rdclr:1;
107854293ec3SDavid Daney 		uint64_t cnt3ena:1;
107954293ec3SDavid Daney 		uint64_t cnt3clr:1;
108054293ec3SDavid Daney 		uint64_t cnt3sel:6;
108154293ec3SDavid Daney 		uint64_t cnt2ena:1;
108254293ec3SDavid Daney 		uint64_t cnt2clr:1;
108354293ec3SDavid Daney 		uint64_t cnt2sel:6;
108454293ec3SDavid Daney 		uint64_t cnt1ena:1;
108554293ec3SDavid Daney 		uint64_t cnt1clr:1;
108654293ec3SDavid Daney 		uint64_t cnt1sel:6;
108754293ec3SDavid Daney 		uint64_t cnt0ena:1;
108854293ec3SDavid Daney 		uint64_t cnt0clr:1;
108954293ec3SDavid Daney 		uint64_t cnt0sel:6;
109054293ec3SDavid Daney 	} s;
109154293ec3SDavid Daney 	struct cvmx_l2c_pfctl_s cn30xx;
109254293ec3SDavid Daney 	struct cvmx_l2c_pfctl_s cn31xx;
109354293ec3SDavid Daney 	struct cvmx_l2c_pfctl_s cn38xx;
109454293ec3SDavid Daney 	struct cvmx_l2c_pfctl_s cn38xxp2;
109554293ec3SDavid Daney 	struct cvmx_l2c_pfctl_s cn50xx;
109654293ec3SDavid Daney 	struct cvmx_l2c_pfctl_s cn52xx;
109754293ec3SDavid Daney 	struct cvmx_l2c_pfctl_s cn52xxp1;
109854293ec3SDavid Daney 	struct cvmx_l2c_pfctl_s cn56xx;
109954293ec3SDavid Daney 	struct cvmx_l2c_pfctl_s cn56xxp1;
110054293ec3SDavid Daney 	struct cvmx_l2c_pfctl_s cn58xx;
110154293ec3SDavid Daney 	struct cvmx_l2c_pfctl_s cn58xxp1;
110254293ec3SDavid Daney };
110354293ec3SDavid Daney 
110454293ec3SDavid Daney union cvmx_l2c_ppgrp {
110554293ec3SDavid Daney 	uint64_t u64;
110654293ec3SDavid Daney 	struct cvmx_l2c_ppgrp_s {
110754293ec3SDavid Daney 		uint64_t reserved_24_63:40;
110854293ec3SDavid Daney 		uint64_t pp11grp:2;
110954293ec3SDavid Daney 		uint64_t pp10grp:2;
111054293ec3SDavid Daney 		uint64_t pp9grp:2;
111154293ec3SDavid Daney 		uint64_t pp8grp:2;
111254293ec3SDavid Daney 		uint64_t pp7grp:2;
111354293ec3SDavid Daney 		uint64_t pp6grp:2;
111454293ec3SDavid Daney 		uint64_t pp5grp:2;
111554293ec3SDavid Daney 		uint64_t pp4grp:2;
111654293ec3SDavid Daney 		uint64_t pp3grp:2;
111754293ec3SDavid Daney 		uint64_t pp2grp:2;
111854293ec3SDavid Daney 		uint64_t pp1grp:2;
111954293ec3SDavid Daney 		uint64_t pp0grp:2;
112054293ec3SDavid Daney 	} s;
112154293ec3SDavid Daney 	struct cvmx_l2c_ppgrp_cn52xx {
112254293ec3SDavid Daney 		uint64_t reserved_8_63:56;
112354293ec3SDavid Daney 		uint64_t pp3grp:2;
112454293ec3SDavid Daney 		uint64_t pp2grp:2;
112554293ec3SDavid Daney 		uint64_t pp1grp:2;
112654293ec3SDavid Daney 		uint64_t pp0grp:2;
112754293ec3SDavid Daney 	} cn52xx;
112854293ec3SDavid Daney 	struct cvmx_l2c_ppgrp_cn52xx cn52xxp1;
112954293ec3SDavid Daney 	struct cvmx_l2c_ppgrp_s cn56xx;
113054293ec3SDavid Daney 	struct cvmx_l2c_ppgrp_s cn56xxp1;
113154293ec3SDavid Daney };
113254293ec3SDavid Daney 
1133aa32a955SDavid Daney union cvmx_l2c_qos_iobx {
1134aa32a955SDavid Daney 	uint64_t u64;
1135aa32a955SDavid Daney 	struct cvmx_l2c_qos_iobx_s {
1136aa32a955SDavid Daney 		uint64_t reserved_6_63:58;
1137aa32a955SDavid Daney 		uint64_t dwblvl:2;
1138aa32a955SDavid Daney 		uint64_t reserved_2_3:2;
1139aa32a955SDavid Daney 		uint64_t lvl:2;
1140aa32a955SDavid Daney 	} s;
1141aa32a955SDavid Daney 	struct cvmx_l2c_qos_iobx_s cn63xx;
1142aa32a955SDavid Daney 	struct cvmx_l2c_qos_iobx_s cn63xxp1;
1143aa32a955SDavid Daney };
1144aa32a955SDavid Daney 
1145aa32a955SDavid Daney union cvmx_l2c_qos_ppx {
1146aa32a955SDavid Daney 	uint64_t u64;
1147aa32a955SDavid Daney 	struct cvmx_l2c_qos_ppx_s {
1148aa32a955SDavid Daney 		uint64_t reserved_2_63:62;
1149aa32a955SDavid Daney 		uint64_t lvl:2;
1150aa32a955SDavid Daney 	} s;
1151aa32a955SDavid Daney 	struct cvmx_l2c_qos_ppx_s cn63xx;
1152aa32a955SDavid Daney 	struct cvmx_l2c_qos_ppx_s cn63xxp1;
1153aa32a955SDavid Daney };
1154aa32a955SDavid Daney 
1155aa32a955SDavid Daney union cvmx_l2c_qos_wgt {
1156aa32a955SDavid Daney 	uint64_t u64;
1157aa32a955SDavid Daney 	struct cvmx_l2c_qos_wgt_s {
1158aa32a955SDavid Daney 		uint64_t reserved_32_63:32;
1159aa32a955SDavid Daney 		uint64_t wgt3:8;
1160aa32a955SDavid Daney 		uint64_t wgt2:8;
1161aa32a955SDavid Daney 		uint64_t wgt1:8;
1162aa32a955SDavid Daney 		uint64_t wgt0:8;
1163aa32a955SDavid Daney 	} s;
1164aa32a955SDavid Daney 	struct cvmx_l2c_qos_wgt_s cn63xx;
1165aa32a955SDavid Daney 	struct cvmx_l2c_qos_wgt_s cn63xxp1;
1166aa32a955SDavid Daney };
1167aa32a955SDavid Daney 
1168aa32a955SDavid Daney union cvmx_l2c_rscx_pfc {
1169aa32a955SDavid Daney 	uint64_t u64;
1170aa32a955SDavid Daney 	struct cvmx_l2c_rscx_pfc_s {
1171aa32a955SDavid Daney 		uint64_t count:64;
1172aa32a955SDavid Daney 	} s;
1173aa32a955SDavid Daney 	struct cvmx_l2c_rscx_pfc_s cn63xx;
1174aa32a955SDavid Daney 	struct cvmx_l2c_rscx_pfc_s cn63xxp1;
1175aa32a955SDavid Daney };
1176aa32a955SDavid Daney 
1177aa32a955SDavid Daney union cvmx_l2c_rsdx_pfc {
1178aa32a955SDavid Daney 	uint64_t u64;
1179aa32a955SDavid Daney 	struct cvmx_l2c_rsdx_pfc_s {
1180aa32a955SDavid Daney 		uint64_t count:64;
1181aa32a955SDavid Daney 	} s;
1182aa32a955SDavid Daney 	struct cvmx_l2c_rsdx_pfc_s cn63xx;
1183aa32a955SDavid Daney 	struct cvmx_l2c_rsdx_pfc_s cn63xxp1;
1184aa32a955SDavid Daney };
1185aa32a955SDavid Daney 
118654293ec3SDavid Daney union cvmx_l2c_spar0 {
118754293ec3SDavid Daney 	uint64_t u64;
118854293ec3SDavid Daney 	struct cvmx_l2c_spar0_s {
118954293ec3SDavid Daney 		uint64_t reserved_32_63:32;
119054293ec3SDavid Daney 		uint64_t umsk3:8;
119154293ec3SDavid Daney 		uint64_t umsk2:8;
119254293ec3SDavid Daney 		uint64_t umsk1:8;
119354293ec3SDavid Daney 		uint64_t umsk0:8;
119454293ec3SDavid Daney 	} s;
119554293ec3SDavid Daney 	struct cvmx_l2c_spar0_cn30xx {
119654293ec3SDavid Daney 		uint64_t reserved_4_63:60;
119754293ec3SDavid Daney 		uint64_t umsk0:4;
119854293ec3SDavid Daney 	} cn30xx;
119954293ec3SDavid Daney 	struct cvmx_l2c_spar0_cn31xx {
120054293ec3SDavid Daney 		uint64_t reserved_12_63:52;
120154293ec3SDavid Daney 		uint64_t umsk1:4;
120254293ec3SDavid Daney 		uint64_t reserved_4_7:4;
120354293ec3SDavid Daney 		uint64_t umsk0:4;
120454293ec3SDavid Daney 	} cn31xx;
120554293ec3SDavid Daney 	struct cvmx_l2c_spar0_s cn38xx;
120654293ec3SDavid Daney 	struct cvmx_l2c_spar0_s cn38xxp2;
120754293ec3SDavid Daney 	struct cvmx_l2c_spar0_cn50xx {
120854293ec3SDavid Daney 		uint64_t reserved_16_63:48;
120954293ec3SDavid Daney 		uint64_t umsk1:8;
121054293ec3SDavid Daney 		uint64_t umsk0:8;
121154293ec3SDavid Daney 	} cn50xx;
121254293ec3SDavid Daney 	struct cvmx_l2c_spar0_s cn52xx;
121354293ec3SDavid Daney 	struct cvmx_l2c_spar0_s cn52xxp1;
121454293ec3SDavid Daney 	struct cvmx_l2c_spar0_s cn56xx;
121554293ec3SDavid Daney 	struct cvmx_l2c_spar0_s cn56xxp1;
121654293ec3SDavid Daney 	struct cvmx_l2c_spar0_s cn58xx;
121754293ec3SDavid Daney 	struct cvmx_l2c_spar0_s cn58xxp1;
121854293ec3SDavid Daney };
121954293ec3SDavid Daney 
122054293ec3SDavid Daney union cvmx_l2c_spar1 {
122154293ec3SDavid Daney 	uint64_t u64;
122254293ec3SDavid Daney 	struct cvmx_l2c_spar1_s {
122354293ec3SDavid Daney 		uint64_t reserved_32_63:32;
122454293ec3SDavid Daney 		uint64_t umsk7:8;
122554293ec3SDavid Daney 		uint64_t umsk6:8;
122654293ec3SDavid Daney 		uint64_t umsk5:8;
122754293ec3SDavid Daney 		uint64_t umsk4:8;
122854293ec3SDavid Daney 	} s;
122954293ec3SDavid Daney 	struct cvmx_l2c_spar1_s cn38xx;
123054293ec3SDavid Daney 	struct cvmx_l2c_spar1_s cn38xxp2;
123154293ec3SDavid Daney 	struct cvmx_l2c_spar1_s cn56xx;
123254293ec3SDavid Daney 	struct cvmx_l2c_spar1_s cn56xxp1;
123354293ec3SDavid Daney 	struct cvmx_l2c_spar1_s cn58xx;
123454293ec3SDavid Daney 	struct cvmx_l2c_spar1_s cn58xxp1;
123554293ec3SDavid Daney };
123654293ec3SDavid Daney 
123754293ec3SDavid Daney union cvmx_l2c_spar2 {
123854293ec3SDavid Daney 	uint64_t u64;
123954293ec3SDavid Daney 	struct cvmx_l2c_spar2_s {
124054293ec3SDavid Daney 		uint64_t reserved_32_63:32;
124154293ec3SDavid Daney 		uint64_t umsk11:8;
124254293ec3SDavid Daney 		uint64_t umsk10:8;
124354293ec3SDavid Daney 		uint64_t umsk9:8;
124454293ec3SDavid Daney 		uint64_t umsk8:8;
124554293ec3SDavid Daney 	} s;
124654293ec3SDavid Daney 	struct cvmx_l2c_spar2_s cn38xx;
124754293ec3SDavid Daney 	struct cvmx_l2c_spar2_s cn38xxp2;
124854293ec3SDavid Daney 	struct cvmx_l2c_spar2_s cn56xx;
124954293ec3SDavid Daney 	struct cvmx_l2c_spar2_s cn56xxp1;
125054293ec3SDavid Daney 	struct cvmx_l2c_spar2_s cn58xx;
125154293ec3SDavid Daney 	struct cvmx_l2c_spar2_s cn58xxp1;
125254293ec3SDavid Daney };
125354293ec3SDavid Daney 
125454293ec3SDavid Daney union cvmx_l2c_spar3 {
125554293ec3SDavid Daney 	uint64_t u64;
125654293ec3SDavid Daney 	struct cvmx_l2c_spar3_s {
125754293ec3SDavid Daney 		uint64_t reserved_32_63:32;
125854293ec3SDavid Daney 		uint64_t umsk15:8;
125954293ec3SDavid Daney 		uint64_t umsk14:8;
126054293ec3SDavid Daney 		uint64_t umsk13:8;
126154293ec3SDavid Daney 		uint64_t umsk12:8;
126254293ec3SDavid Daney 	} s;
126354293ec3SDavid Daney 	struct cvmx_l2c_spar3_s cn38xx;
126454293ec3SDavid Daney 	struct cvmx_l2c_spar3_s cn38xxp2;
126554293ec3SDavid Daney 	struct cvmx_l2c_spar3_s cn58xx;
126654293ec3SDavid Daney 	struct cvmx_l2c_spar3_s cn58xxp1;
126754293ec3SDavid Daney };
126854293ec3SDavid Daney 
126954293ec3SDavid Daney union cvmx_l2c_spar4 {
127054293ec3SDavid Daney 	uint64_t u64;
127154293ec3SDavid Daney 	struct cvmx_l2c_spar4_s {
127254293ec3SDavid Daney 		uint64_t reserved_8_63:56;
127354293ec3SDavid Daney 		uint64_t umskiob:8;
127454293ec3SDavid Daney 	} s;
127554293ec3SDavid Daney 	struct cvmx_l2c_spar4_cn30xx {
127654293ec3SDavid Daney 		uint64_t reserved_4_63:60;
127754293ec3SDavid Daney 		uint64_t umskiob:4;
127854293ec3SDavid Daney 	} cn30xx;
127954293ec3SDavid Daney 	struct cvmx_l2c_spar4_cn30xx cn31xx;
128054293ec3SDavid Daney 	struct cvmx_l2c_spar4_s cn38xx;
128154293ec3SDavid Daney 	struct cvmx_l2c_spar4_s cn38xxp2;
128254293ec3SDavid Daney 	struct cvmx_l2c_spar4_s cn50xx;
128354293ec3SDavid Daney 	struct cvmx_l2c_spar4_s cn52xx;
128454293ec3SDavid Daney 	struct cvmx_l2c_spar4_s cn52xxp1;
128554293ec3SDavid Daney 	struct cvmx_l2c_spar4_s cn56xx;
128654293ec3SDavid Daney 	struct cvmx_l2c_spar4_s cn56xxp1;
128754293ec3SDavid Daney 	struct cvmx_l2c_spar4_s cn58xx;
128854293ec3SDavid Daney 	struct cvmx_l2c_spar4_s cn58xxp1;
128954293ec3SDavid Daney };
129054293ec3SDavid Daney 
1291aa32a955SDavid Daney union cvmx_l2c_tadx_ecc0 {
1292aa32a955SDavid Daney 	uint64_t u64;
1293aa32a955SDavid Daney 	struct cvmx_l2c_tadx_ecc0_s {
1294aa32a955SDavid Daney 		uint64_t reserved_58_63:6;
1295aa32a955SDavid Daney 		uint64_t ow3ecc:10;
1296aa32a955SDavid Daney 		uint64_t reserved_42_47:6;
1297aa32a955SDavid Daney 		uint64_t ow2ecc:10;
1298aa32a955SDavid Daney 		uint64_t reserved_26_31:6;
1299aa32a955SDavid Daney 		uint64_t ow1ecc:10;
1300aa32a955SDavid Daney 		uint64_t reserved_10_15:6;
1301aa32a955SDavid Daney 		uint64_t ow0ecc:10;
1302aa32a955SDavid Daney 	} s;
1303aa32a955SDavid Daney 	struct cvmx_l2c_tadx_ecc0_s cn63xx;
1304aa32a955SDavid Daney 	struct cvmx_l2c_tadx_ecc0_s cn63xxp1;
1305aa32a955SDavid Daney };
1306aa32a955SDavid Daney 
1307aa32a955SDavid Daney union cvmx_l2c_tadx_ecc1 {
1308aa32a955SDavid Daney 	uint64_t u64;
1309aa32a955SDavid Daney 	struct cvmx_l2c_tadx_ecc1_s {
1310aa32a955SDavid Daney 		uint64_t reserved_58_63:6;
1311aa32a955SDavid Daney 		uint64_t ow7ecc:10;
1312aa32a955SDavid Daney 		uint64_t reserved_42_47:6;
1313aa32a955SDavid Daney 		uint64_t ow6ecc:10;
1314aa32a955SDavid Daney 		uint64_t reserved_26_31:6;
1315aa32a955SDavid Daney 		uint64_t ow5ecc:10;
1316aa32a955SDavid Daney 		uint64_t reserved_10_15:6;
1317aa32a955SDavid Daney 		uint64_t ow4ecc:10;
1318aa32a955SDavid Daney 	} s;
1319aa32a955SDavid Daney 	struct cvmx_l2c_tadx_ecc1_s cn63xx;
1320aa32a955SDavid Daney 	struct cvmx_l2c_tadx_ecc1_s cn63xxp1;
1321aa32a955SDavid Daney };
1322aa32a955SDavid Daney 
1323aa32a955SDavid Daney union cvmx_l2c_tadx_ien {
1324aa32a955SDavid Daney 	uint64_t u64;
1325aa32a955SDavid Daney 	struct cvmx_l2c_tadx_ien_s {
1326aa32a955SDavid Daney 		uint64_t reserved_9_63:55;
1327aa32a955SDavid Daney 		uint64_t wrdislmc:1;
1328aa32a955SDavid Daney 		uint64_t rddislmc:1;
1329aa32a955SDavid Daney 		uint64_t noway:1;
1330aa32a955SDavid Daney 		uint64_t vbfdbe:1;
1331aa32a955SDavid Daney 		uint64_t vbfsbe:1;
1332aa32a955SDavid Daney 		uint64_t tagdbe:1;
1333aa32a955SDavid Daney 		uint64_t tagsbe:1;
1334aa32a955SDavid Daney 		uint64_t l2ddbe:1;
1335aa32a955SDavid Daney 		uint64_t l2dsbe:1;
1336aa32a955SDavid Daney 	} s;
1337aa32a955SDavid Daney 	struct cvmx_l2c_tadx_ien_s cn63xx;
1338aa32a955SDavid Daney 	struct cvmx_l2c_tadx_ien_cn63xxp1 {
1339aa32a955SDavid Daney 		uint64_t reserved_7_63:57;
1340aa32a955SDavid Daney 		uint64_t noway:1;
1341aa32a955SDavid Daney 		uint64_t vbfdbe:1;
1342aa32a955SDavid Daney 		uint64_t vbfsbe:1;
1343aa32a955SDavid Daney 		uint64_t tagdbe:1;
1344aa32a955SDavid Daney 		uint64_t tagsbe:1;
1345aa32a955SDavid Daney 		uint64_t l2ddbe:1;
1346aa32a955SDavid Daney 		uint64_t l2dsbe:1;
1347aa32a955SDavid Daney 	} cn63xxp1;
1348aa32a955SDavid Daney };
1349aa32a955SDavid Daney 
1350aa32a955SDavid Daney union cvmx_l2c_tadx_int {
1351aa32a955SDavid Daney 	uint64_t u64;
1352aa32a955SDavid Daney 	struct cvmx_l2c_tadx_int_s {
1353aa32a955SDavid Daney 		uint64_t reserved_9_63:55;
1354aa32a955SDavid Daney 		uint64_t wrdislmc:1;
1355aa32a955SDavid Daney 		uint64_t rddislmc:1;
1356aa32a955SDavid Daney 		uint64_t noway:1;
1357aa32a955SDavid Daney 		uint64_t vbfdbe:1;
1358aa32a955SDavid Daney 		uint64_t vbfsbe:1;
1359aa32a955SDavid Daney 		uint64_t tagdbe:1;
1360aa32a955SDavid Daney 		uint64_t tagsbe:1;
1361aa32a955SDavid Daney 		uint64_t l2ddbe:1;
1362aa32a955SDavid Daney 		uint64_t l2dsbe:1;
1363aa32a955SDavid Daney 	} s;
1364aa32a955SDavid Daney 	struct cvmx_l2c_tadx_int_s cn63xx;
1365aa32a955SDavid Daney };
1366aa32a955SDavid Daney 
1367aa32a955SDavid Daney union cvmx_l2c_tadx_pfc0 {
1368aa32a955SDavid Daney 	uint64_t u64;
1369aa32a955SDavid Daney 	struct cvmx_l2c_tadx_pfc0_s {
1370aa32a955SDavid Daney 		uint64_t count:64;
1371aa32a955SDavid Daney 	} s;
1372aa32a955SDavid Daney 	struct cvmx_l2c_tadx_pfc0_s cn63xx;
1373aa32a955SDavid Daney 	struct cvmx_l2c_tadx_pfc0_s cn63xxp1;
1374aa32a955SDavid Daney };
1375aa32a955SDavid Daney 
1376aa32a955SDavid Daney union cvmx_l2c_tadx_pfc1 {
1377aa32a955SDavid Daney 	uint64_t u64;
1378aa32a955SDavid Daney 	struct cvmx_l2c_tadx_pfc1_s {
1379aa32a955SDavid Daney 		uint64_t count:64;
1380aa32a955SDavid Daney 	} s;
1381aa32a955SDavid Daney 	struct cvmx_l2c_tadx_pfc1_s cn63xx;
1382aa32a955SDavid Daney 	struct cvmx_l2c_tadx_pfc1_s cn63xxp1;
1383aa32a955SDavid Daney };
1384aa32a955SDavid Daney 
1385aa32a955SDavid Daney union cvmx_l2c_tadx_pfc2 {
1386aa32a955SDavid Daney 	uint64_t u64;
1387aa32a955SDavid Daney 	struct cvmx_l2c_tadx_pfc2_s {
1388aa32a955SDavid Daney 		uint64_t count:64;
1389aa32a955SDavid Daney 	} s;
1390aa32a955SDavid Daney 	struct cvmx_l2c_tadx_pfc2_s cn63xx;
1391aa32a955SDavid Daney 	struct cvmx_l2c_tadx_pfc2_s cn63xxp1;
1392aa32a955SDavid Daney };
1393aa32a955SDavid Daney 
1394aa32a955SDavid Daney union cvmx_l2c_tadx_pfc3 {
1395aa32a955SDavid Daney 	uint64_t u64;
1396aa32a955SDavid Daney 	struct cvmx_l2c_tadx_pfc3_s {
1397aa32a955SDavid Daney 		uint64_t count:64;
1398aa32a955SDavid Daney 	} s;
1399aa32a955SDavid Daney 	struct cvmx_l2c_tadx_pfc3_s cn63xx;
1400aa32a955SDavid Daney 	struct cvmx_l2c_tadx_pfc3_s cn63xxp1;
1401aa32a955SDavid Daney };
1402aa32a955SDavid Daney 
1403aa32a955SDavid Daney union cvmx_l2c_tadx_prf {
1404aa32a955SDavid Daney 	uint64_t u64;
1405aa32a955SDavid Daney 	struct cvmx_l2c_tadx_prf_s {
1406aa32a955SDavid Daney 		uint64_t reserved_32_63:32;
1407aa32a955SDavid Daney 		uint64_t cnt3sel:8;
1408aa32a955SDavid Daney 		uint64_t cnt2sel:8;
1409aa32a955SDavid Daney 		uint64_t cnt1sel:8;
1410aa32a955SDavid Daney 		uint64_t cnt0sel:8;
1411aa32a955SDavid Daney 	} s;
1412aa32a955SDavid Daney 	struct cvmx_l2c_tadx_prf_s cn63xx;
1413aa32a955SDavid Daney 	struct cvmx_l2c_tadx_prf_s cn63xxp1;
1414aa32a955SDavid Daney };
1415aa32a955SDavid Daney 
1416aa32a955SDavid Daney union cvmx_l2c_tadx_tag {
1417aa32a955SDavid Daney 	uint64_t u64;
1418aa32a955SDavid Daney 	struct cvmx_l2c_tadx_tag_s {
1419aa32a955SDavid Daney 		uint64_t reserved_46_63:18;
1420aa32a955SDavid Daney 		uint64_t ecc:6;
1421aa32a955SDavid Daney 		uint64_t reserved_36_39:4;
1422aa32a955SDavid Daney 		uint64_t tag:19;
1423aa32a955SDavid Daney 		uint64_t reserved_4_16:13;
1424aa32a955SDavid Daney 		uint64_t use:1;
1425aa32a955SDavid Daney 		uint64_t valid:1;
1426aa32a955SDavid Daney 		uint64_t dirty:1;
1427aa32a955SDavid Daney 		uint64_t lock:1;
1428aa32a955SDavid Daney 	} s;
1429aa32a955SDavid Daney 	struct cvmx_l2c_tadx_tag_s cn63xx;
1430aa32a955SDavid Daney 	struct cvmx_l2c_tadx_tag_s cn63xxp1;
1431aa32a955SDavid Daney };
1432aa32a955SDavid Daney 
1433aa32a955SDavid Daney union cvmx_l2c_ver_id {
1434aa32a955SDavid Daney 	uint64_t u64;
1435aa32a955SDavid Daney 	struct cvmx_l2c_ver_id_s {
1436aa32a955SDavid Daney 		uint64_t mask:64;
1437aa32a955SDavid Daney 	} s;
1438aa32a955SDavid Daney 	struct cvmx_l2c_ver_id_s cn63xx;
1439aa32a955SDavid Daney 	struct cvmx_l2c_ver_id_s cn63xxp1;
1440aa32a955SDavid Daney };
1441aa32a955SDavid Daney 
1442aa32a955SDavid Daney union cvmx_l2c_ver_iob {
1443aa32a955SDavid Daney 	uint64_t u64;
1444aa32a955SDavid Daney 	struct cvmx_l2c_ver_iob_s {
1445aa32a955SDavid Daney 		uint64_t reserved_1_63:63;
1446aa32a955SDavid Daney 		uint64_t mask:1;
1447aa32a955SDavid Daney 	} s;
1448aa32a955SDavid Daney 	struct cvmx_l2c_ver_iob_s cn63xx;
1449aa32a955SDavid Daney 	struct cvmx_l2c_ver_iob_s cn63xxp1;
1450aa32a955SDavid Daney };
1451aa32a955SDavid Daney 
1452aa32a955SDavid Daney union cvmx_l2c_ver_msc {
1453aa32a955SDavid Daney 	uint64_t u64;
1454aa32a955SDavid Daney 	struct cvmx_l2c_ver_msc_s {
1455aa32a955SDavid Daney 		uint64_t reserved_2_63:62;
1456aa32a955SDavid Daney 		uint64_t invl2:1;
1457aa32a955SDavid Daney 		uint64_t dwb:1;
1458aa32a955SDavid Daney 	} s;
1459aa32a955SDavid Daney 	struct cvmx_l2c_ver_msc_s cn63xx;
1460aa32a955SDavid Daney };
1461aa32a955SDavid Daney 
1462aa32a955SDavid Daney union cvmx_l2c_ver_pp {
1463aa32a955SDavid Daney 	uint64_t u64;
1464aa32a955SDavid Daney 	struct cvmx_l2c_ver_pp_s {
1465aa32a955SDavid Daney 		uint64_t reserved_6_63:58;
1466aa32a955SDavid Daney 		uint64_t mask:6;
1467aa32a955SDavid Daney 	} s;
1468aa32a955SDavid Daney 	struct cvmx_l2c_ver_pp_s cn63xx;
1469aa32a955SDavid Daney 	struct cvmx_l2c_ver_pp_s cn63xxp1;
1470aa32a955SDavid Daney };
1471aa32a955SDavid Daney 
1472aa32a955SDavid Daney union cvmx_l2c_virtid_iobx {
1473aa32a955SDavid Daney 	uint64_t u64;
1474aa32a955SDavid Daney 	struct cvmx_l2c_virtid_iobx_s {
1475aa32a955SDavid Daney 		uint64_t reserved_14_63:50;
1476aa32a955SDavid Daney 		uint64_t dwbid:6;
1477aa32a955SDavid Daney 		uint64_t reserved_6_7:2;
1478aa32a955SDavid Daney 		uint64_t id:6;
1479aa32a955SDavid Daney 	} s;
1480aa32a955SDavid Daney 	struct cvmx_l2c_virtid_iobx_s cn63xx;
1481aa32a955SDavid Daney 	struct cvmx_l2c_virtid_iobx_s cn63xxp1;
1482aa32a955SDavid Daney };
1483aa32a955SDavid Daney 
1484aa32a955SDavid Daney union cvmx_l2c_virtid_ppx {
1485aa32a955SDavid Daney 	uint64_t u64;
1486aa32a955SDavid Daney 	struct cvmx_l2c_virtid_ppx_s {
1487aa32a955SDavid Daney 		uint64_t reserved_6_63:58;
1488aa32a955SDavid Daney 		uint64_t id:6;
1489aa32a955SDavid Daney 	} s;
1490aa32a955SDavid Daney 	struct cvmx_l2c_virtid_ppx_s cn63xx;
1491aa32a955SDavid Daney 	struct cvmx_l2c_virtid_ppx_s cn63xxp1;
1492aa32a955SDavid Daney };
1493aa32a955SDavid Daney 
1494aa32a955SDavid Daney union cvmx_l2c_vrt_ctl {
1495aa32a955SDavid Daney 	uint64_t u64;
1496aa32a955SDavid Daney 	struct cvmx_l2c_vrt_ctl_s {
1497aa32a955SDavid Daney 		uint64_t reserved_9_63:55;
1498aa32a955SDavid Daney 		uint64_t ooberr:1;
1499aa32a955SDavid Daney 		uint64_t reserved_7_7:1;
1500aa32a955SDavid Daney 		uint64_t memsz:3;
1501aa32a955SDavid Daney 		uint64_t numid:3;
1502aa32a955SDavid Daney 		uint64_t enable:1;
1503aa32a955SDavid Daney 	} s;
1504aa32a955SDavid Daney 	struct cvmx_l2c_vrt_ctl_s cn63xx;
1505aa32a955SDavid Daney 	struct cvmx_l2c_vrt_ctl_s cn63xxp1;
1506aa32a955SDavid Daney };
1507aa32a955SDavid Daney 
1508aa32a955SDavid Daney union cvmx_l2c_vrt_memx {
1509aa32a955SDavid Daney 	uint64_t u64;
1510aa32a955SDavid Daney 	struct cvmx_l2c_vrt_memx_s {
1511aa32a955SDavid Daney 		uint64_t reserved_36_63:28;
1512aa32a955SDavid Daney 		uint64_t parity:4;
1513aa32a955SDavid Daney 		uint64_t data:32;
1514aa32a955SDavid Daney 	} s;
1515aa32a955SDavid Daney 	struct cvmx_l2c_vrt_memx_s cn63xx;
1516aa32a955SDavid Daney 	struct cvmx_l2c_vrt_memx_s cn63xxp1;
1517aa32a955SDavid Daney };
1518aa32a955SDavid Daney 
1519aa32a955SDavid Daney union cvmx_l2c_wpar_iobx {
1520aa32a955SDavid Daney 	uint64_t u64;
1521aa32a955SDavid Daney 	struct cvmx_l2c_wpar_iobx_s {
1522aa32a955SDavid Daney 		uint64_t reserved_16_63:48;
1523aa32a955SDavid Daney 		uint64_t mask:16;
1524aa32a955SDavid Daney 	} s;
1525aa32a955SDavid Daney 	struct cvmx_l2c_wpar_iobx_s cn63xx;
1526aa32a955SDavid Daney 	struct cvmx_l2c_wpar_iobx_s cn63xxp1;
1527aa32a955SDavid Daney };
1528aa32a955SDavid Daney 
1529aa32a955SDavid Daney union cvmx_l2c_wpar_ppx {
1530aa32a955SDavid Daney 	uint64_t u64;
1531aa32a955SDavid Daney 	struct cvmx_l2c_wpar_ppx_s {
1532aa32a955SDavid Daney 		uint64_t reserved_16_63:48;
1533aa32a955SDavid Daney 		uint64_t mask:16;
1534aa32a955SDavid Daney 	} s;
1535aa32a955SDavid Daney 	struct cvmx_l2c_wpar_ppx_s cn63xx;
1536aa32a955SDavid Daney 	struct cvmx_l2c_wpar_ppx_s cn63xxp1;
1537aa32a955SDavid Daney };
1538aa32a955SDavid Daney 
1539aa32a955SDavid Daney union cvmx_l2c_xmcx_pfc {
1540aa32a955SDavid Daney 	uint64_t u64;
1541aa32a955SDavid Daney 	struct cvmx_l2c_xmcx_pfc_s {
1542aa32a955SDavid Daney 		uint64_t count:64;
1543aa32a955SDavid Daney 	} s;
1544aa32a955SDavid Daney 	struct cvmx_l2c_xmcx_pfc_s cn63xx;
1545aa32a955SDavid Daney 	struct cvmx_l2c_xmcx_pfc_s cn63xxp1;
1546aa32a955SDavid Daney };
1547aa32a955SDavid Daney 
1548aa32a955SDavid Daney union cvmx_l2c_xmc_cmd {
1549aa32a955SDavid Daney 	uint64_t u64;
1550aa32a955SDavid Daney 	struct cvmx_l2c_xmc_cmd_s {
1551aa32a955SDavid Daney 		uint64_t inuse:1;
1552aa32a955SDavid Daney 		uint64_t cmd:6;
1553aa32a955SDavid Daney 		uint64_t reserved_38_56:19;
1554aa32a955SDavid Daney 		uint64_t addr:38;
1555aa32a955SDavid Daney 	} s;
1556aa32a955SDavid Daney 	struct cvmx_l2c_xmc_cmd_s cn63xx;
1557aa32a955SDavid Daney 	struct cvmx_l2c_xmc_cmd_s cn63xxp1;
1558aa32a955SDavid Daney };
1559aa32a955SDavid Daney 
1560aa32a955SDavid Daney union cvmx_l2c_xmdx_pfc {
1561aa32a955SDavid Daney 	uint64_t u64;
1562aa32a955SDavid Daney 	struct cvmx_l2c_xmdx_pfc_s {
1563aa32a955SDavid Daney 		uint64_t count:64;
1564aa32a955SDavid Daney 	} s;
1565aa32a955SDavid Daney 	struct cvmx_l2c_xmdx_pfc_s cn63xx;
1566aa32a955SDavid Daney 	struct cvmx_l2c_xmdx_pfc_s cn63xxp1;
1567aa32a955SDavid Daney };
1568aa32a955SDavid Daney 
156954293ec3SDavid Daney #endif
1570