1 /***********************license start*************** 2 * Author: Cavium Networks 3 * 4 * Contact: support@caviumnetworks.com 5 * This file is part of the OCTEON SDK 6 * 7 * Copyright (c) 2003-2010 Cavium Networks 8 * 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. 12 * 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 17 * details. 18 * 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/. 23 * 24 * This file may also be available under a different license from Cavium. 25 * Contact Cavium Networks for more information 26 ***********************license end**************************************/ 27 28 #ifndef __CVMX_L2C_DEFS_H__ 29 #define __CVMX_L2C_DEFS_H__ 30 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)) 107 108 union cvmx_l2c_big_ctl { 109 uint64_t u64; 110 struct cvmx_l2c_big_ctl_s { 111 uint64_t reserved_8_63:56; 112 uint64_t maxdram:4; 113 uint64_t reserved_1_3:3; 114 uint64_t disable:1; 115 } s; 116 struct cvmx_l2c_big_ctl_s cn63xx; 117 }; 118 119 union cvmx_l2c_bst { 120 uint64_t u64; 121 struct cvmx_l2c_bst_s { 122 uint64_t reserved_38_63:26; 123 uint64_t dutfl:6; 124 uint64_t reserved_17_31:15; 125 uint64_t ioccmdfl:1; 126 uint64_t reserved_13_15:3; 127 uint64_t iocdatfl:1; 128 uint64_t reserved_9_11:3; 129 uint64_t dutresfl:1; 130 uint64_t reserved_5_7:3; 131 uint64_t vrtfl:1; 132 uint64_t reserved_1_3:3; 133 uint64_t tdffl:1; 134 } s; 135 struct cvmx_l2c_bst_s cn63xx; 136 struct cvmx_l2c_bst_s cn63xxp1; 137 }; 138 139 union cvmx_l2c_bst0 { 140 uint64_t u64; 141 struct cvmx_l2c_bst0_s { 142 uint64_t reserved_24_63:40; 143 uint64_t dtbnk:1; 144 uint64_t wlb_msk:4; 145 uint64_t dtcnt:13; 146 uint64_t dt:1; 147 uint64_t stin_msk:1; 148 uint64_t wlb_dat:4; 149 } s; 150 struct cvmx_l2c_bst0_cn30xx { 151 uint64_t reserved_23_63:41; 152 uint64_t wlb_msk:4; 153 uint64_t reserved_15_18:4; 154 uint64_t dtcnt:9; 155 uint64_t dt:1; 156 uint64_t reserved_4_4:1; 157 uint64_t wlb_dat:4; 158 } cn30xx; 159 struct cvmx_l2c_bst0_cn31xx { 160 uint64_t reserved_23_63:41; 161 uint64_t wlb_msk:4; 162 uint64_t reserved_16_18:3; 163 uint64_t dtcnt:10; 164 uint64_t dt:1; 165 uint64_t stin_msk:1; 166 uint64_t wlb_dat:4; 167 } cn31xx; 168 struct cvmx_l2c_bst0_cn38xx { 169 uint64_t reserved_19_63:45; 170 uint64_t dtcnt:13; 171 uint64_t dt:1; 172 uint64_t stin_msk:1; 173 uint64_t wlb_dat:4; 174 } cn38xx; 175 struct cvmx_l2c_bst0_cn38xx cn38xxp2; 176 struct cvmx_l2c_bst0_cn50xx { 177 uint64_t reserved_24_63:40; 178 uint64_t dtbnk:1; 179 uint64_t wlb_msk:4; 180 uint64_t reserved_16_18:3; 181 uint64_t dtcnt:10; 182 uint64_t dt:1; 183 uint64_t stin_msk:1; 184 uint64_t wlb_dat:4; 185 } cn50xx; 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; 192 }; 193 194 union cvmx_l2c_bst1 { 195 uint64_t u64; 196 struct cvmx_l2c_bst1_s { 197 uint64_t reserved_9_63:55; 198 uint64_t l2t:9; 199 } s; 200 struct cvmx_l2c_bst1_cn30xx { 201 uint64_t reserved_16_63:48; 202 uint64_t vwdf:4; 203 uint64_t lrf:2; 204 uint64_t vab_vwcf:1; 205 uint64_t reserved_5_8:4; 206 uint64_t l2t:5; 207 } cn30xx; 208 struct cvmx_l2c_bst1_cn30xx cn31xx; 209 struct cvmx_l2c_bst1_cn38xx { 210 uint64_t reserved_16_63:48; 211 uint64_t vwdf:4; 212 uint64_t lrf:2; 213 uint64_t vab_vwcf:1; 214 uint64_t l2t:9; 215 } cn38xx; 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; 220 uint64_t plc2:1; 221 uint64_t plc1:1; 222 uint64_t plc0:1; 223 uint64_t vwdf:4; 224 uint64_t reserved_11_11:1; 225 uint64_t ilc:1; 226 uint64_t vab_vwcf:1; 227 uint64_t l2t:9; 228 } cn52xx; 229 struct cvmx_l2c_bst1_cn52xx cn52xxp1; 230 struct cvmx_l2c_bst1_cn56xx { 231 uint64_t reserved_24_63:40; 232 uint64_t plc2:1; 233 uint64_t plc1:1; 234 uint64_t plc0:1; 235 uint64_t ilc:1; 236 uint64_t vwdf1:4; 237 uint64_t vwdf0:4; 238 uint64_t vab_vwcf1:1; 239 uint64_t reserved_10_10:1; 240 uint64_t vab_vwcf0:1; 241 uint64_t l2t:9; 242 } cn56xx; 243 struct cvmx_l2c_bst1_cn56xx cn56xxp1; 244 struct cvmx_l2c_bst1_cn38xx cn58xx; 245 struct cvmx_l2c_bst1_cn38xx cn58xxp1; 246 }; 247 248 union cvmx_l2c_bst2 { 249 uint64_t u64; 250 struct cvmx_l2c_bst2_s { 251 uint64_t reserved_16_63:48; 252 uint64_t mrb:4; 253 uint64_t reserved_4_11:8; 254 uint64_t ipcbst:1; 255 uint64_t picbst:1; 256 uint64_t xrdmsk:1; 257 uint64_t xrddat:1; 258 } s; 259 struct cvmx_l2c_bst2_cn30xx { 260 uint64_t reserved_16_63:48; 261 uint64_t mrb:4; 262 uint64_t rmdf:4; 263 uint64_t reserved_4_7:4; 264 uint64_t ipcbst:1; 265 uint64_t reserved_2_2:1; 266 uint64_t xrdmsk:1; 267 uint64_t xrddat:1; 268 } cn30xx; 269 struct cvmx_l2c_bst2_cn30xx cn31xx; 270 struct cvmx_l2c_bst2_cn38xx { 271 uint64_t reserved_16_63:48; 272 uint64_t mrb:4; 273 uint64_t rmdf:4; 274 uint64_t rhdf:4; 275 uint64_t ipcbst:1; 276 uint64_t picbst:1; 277 uint64_t xrdmsk:1; 278 uint64_t xrddat:1; 279 } cn38xx; 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; 286 uint64_t mrb:4; 287 uint64_t rmdb:4; 288 uint64_t rhdb:4; 289 uint64_t ipcbst:1; 290 uint64_t picbst:1; 291 uint64_t xrdmsk:1; 292 uint64_t xrddat:1; 293 } cn56xx; 294 struct cvmx_l2c_bst2_cn56xx cn56xxp1; 295 struct cvmx_l2c_bst2_cn56xx cn58xx; 296 struct cvmx_l2c_bst2_cn56xx cn58xxp1; 297 }; 298 299 union cvmx_l2c_bst_memx { 300 uint64_t u64; 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; 305 uint64_t rdffl:1; 306 uint64_t vbffl:4; 307 } s; 308 struct cvmx_l2c_bst_memx_s cn63xx; 309 struct cvmx_l2c_bst_memx_s cn63xxp1; 310 }; 311 312 union cvmx_l2c_bst_tdtx { 313 uint64_t u64; 314 struct cvmx_l2c_bst_tdtx_s { 315 uint64_t reserved_32_63:32; 316 uint64_t fbfrspfl:8; 317 uint64_t sbffl:8; 318 uint64_t fbffl:8; 319 uint64_t l2dfl:8; 320 } s; 321 struct cvmx_l2c_bst_tdtx_s cn63xx; 322 struct cvmx_l2c_bst_tdtx_cn63xxp1 { 323 uint64_t reserved_24_63:40; 324 uint64_t sbffl:8; 325 uint64_t fbffl:8; 326 uint64_t l2dfl:8; 327 } cn63xxp1; 328 }; 329 330 union cvmx_l2c_bst_ttgx { 331 uint64_t u64; 332 struct cvmx_l2c_bst_ttgx_s { 333 uint64_t reserved_17_63:47; 334 uint64_t lrufl:1; 335 uint64_t tagfl:16; 336 } s; 337 struct cvmx_l2c_bst_ttgx_s cn63xx; 338 struct cvmx_l2c_bst_ttgx_s cn63xxp1; 339 }; 340 341 union cvmx_l2c_cfg { 342 uint64_t u64; 343 struct cvmx_l2c_cfg_s { 344 uint64_t reserved_20_63:44; 345 uint64_t bstrun:1; 346 uint64_t lbist:1; 347 uint64_t xor_bank:1; 348 uint64_t dpres1:1; 349 uint64_t dpres0:1; 350 uint64_t dfill_dis:1; 351 uint64_t fpexp:4; 352 uint64_t fpempty:1; 353 uint64_t fpen:1; 354 uint64_t idxalias:1; 355 uint64_t mwf_crd:4; 356 uint64_t rsp_arb_mode:1; 357 uint64_t rfb_arb_mode:1; 358 uint64_t lrf_arb_mode:1; 359 } s; 360 struct cvmx_l2c_cfg_cn30xx { 361 uint64_t reserved_14_63:50; 362 uint64_t fpexp:4; 363 uint64_t fpempty:1; 364 uint64_t fpen:1; 365 uint64_t idxalias:1; 366 uint64_t mwf_crd:4; 367 uint64_t rsp_arb_mode:1; 368 uint64_t rfb_arb_mode:1; 369 uint64_t lrf_arb_mode:1; 370 } cn30xx; 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; 376 uint64_t bstrun:1; 377 uint64_t lbist:1; 378 uint64_t reserved_14_17:4; 379 uint64_t fpexp:4; 380 uint64_t fpempty:1; 381 uint64_t fpen:1; 382 uint64_t idxalias:1; 383 uint64_t mwf_crd:4; 384 uint64_t rsp_arb_mode:1; 385 uint64_t rfb_arb_mode:1; 386 uint64_t lrf_arb_mode:1; 387 } cn50xx; 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; 394 uint64_t bstrun:1; 395 uint64_t lbist:1; 396 uint64_t reserved_15_17:3; 397 uint64_t dfill_dis:1; 398 uint64_t fpexp:4; 399 uint64_t fpempty:1; 400 uint64_t fpen:1; 401 uint64_t idxalias:1; 402 uint64_t mwf_crd:4; 403 uint64_t rsp_arb_mode:1; 404 uint64_t rfb_arb_mode:1; 405 uint64_t lrf_arb_mode:1; 406 } cn58xx; 407 struct cvmx_l2c_cfg_cn58xxp1 { 408 uint64_t reserved_15_63:49; 409 uint64_t dfill_dis:1; 410 uint64_t fpexp:4; 411 uint64_t fpempty:1; 412 uint64_t fpen:1; 413 uint64_t idxalias:1; 414 uint64_t mwf_crd:4; 415 uint64_t rsp_arb_mode:1; 416 uint64_t rfb_arb_mode:1; 417 uint64_t lrf_arb_mode:1; 418 } cn58xxp1; 419 }; 420 421 union cvmx_l2c_cop0_mapx { 422 uint64_t u64; 423 struct cvmx_l2c_cop0_mapx_s { 424 uint64_t data:64; 425 } s; 426 struct cvmx_l2c_cop0_mapx_s cn63xx; 427 struct cvmx_l2c_cop0_mapx_s cn63xxp1; 428 }; 429 430 union cvmx_l2c_ctl { 431 uint64_t u64; 432 struct cvmx_l2c_ctl_s { 433 uint64_t reserved_28_63:36; 434 uint64_t disstgl2i:1; 435 uint64_t l2dfsbe:1; 436 uint64_t l2dfdbe:1; 437 uint64_t discclk:1; 438 uint64_t maxvab:4; 439 uint64_t maxlfb:4; 440 uint64_t rsp_arb_mode:1; 441 uint64_t xmc_arb_mode:1; 442 uint64_t ef_ena:1; 443 uint64_t ef_cnt:7; 444 uint64_t vab_thresh:4; 445 uint64_t disecc:1; 446 uint64_t disidxalias:1; 447 } s; 448 struct cvmx_l2c_ctl_s cn63xx; 449 struct cvmx_l2c_ctl_cn63xxp1 { 450 uint64_t reserved_25_63:39; 451 uint64_t discclk:1; 452 uint64_t maxvab:4; 453 uint64_t maxlfb:4; 454 uint64_t rsp_arb_mode:1; 455 uint64_t xmc_arb_mode:1; 456 uint64_t ef_ena:1; 457 uint64_t ef_cnt:7; 458 uint64_t vab_thresh:4; 459 uint64_t disecc:1; 460 uint64_t disidxalias:1; 461 } cn63xxp1; 462 }; 463 464 union cvmx_l2c_dbg { 465 uint64_t u64; 466 struct cvmx_l2c_dbg_s { 467 uint64_t reserved_15_63:49; 468 uint64_t lfb_enum:4; 469 uint64_t lfb_dmp:1; 470 uint64_t ppnum:4; 471 uint64_t set:3; 472 uint64_t finv:1; 473 uint64_t l2d:1; 474 uint64_t l2t:1; 475 } s; 476 struct cvmx_l2c_dbg_cn30xx { 477 uint64_t reserved_13_63:51; 478 uint64_t lfb_enum:2; 479 uint64_t lfb_dmp:1; 480 uint64_t reserved_7_9:3; 481 uint64_t ppnum:1; 482 uint64_t reserved_5_5:1; 483 uint64_t set:2; 484 uint64_t finv:1; 485 uint64_t l2d:1; 486 uint64_t l2t:1; 487 } cn30xx; 488 struct cvmx_l2c_dbg_cn31xx { 489 uint64_t reserved_14_63:50; 490 uint64_t lfb_enum:3; 491 uint64_t lfb_dmp:1; 492 uint64_t reserved_7_9:3; 493 uint64_t ppnum:1; 494 uint64_t reserved_5_5:1; 495 uint64_t set:2; 496 uint64_t finv:1; 497 uint64_t l2d:1; 498 uint64_t l2t:1; 499 } cn31xx; 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; 504 uint64_t lfb_enum:3; 505 uint64_t lfb_dmp:1; 506 uint64_t reserved_7_9:3; 507 uint64_t ppnum:1; 508 uint64_t set:3; 509 uint64_t finv:1; 510 uint64_t l2d:1; 511 uint64_t l2t:1; 512 } cn50xx; 513 struct cvmx_l2c_dbg_cn52xx { 514 uint64_t reserved_14_63:50; 515 uint64_t lfb_enum:3; 516 uint64_t lfb_dmp:1; 517 uint64_t reserved_8_9:2; 518 uint64_t ppnum:2; 519 uint64_t set:3; 520 uint64_t finv:1; 521 uint64_t l2d:1; 522 uint64_t l2t:1; 523 } cn52xx; 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; 529 }; 530 531 union cvmx_l2c_dut { 532 uint64_t u64; 533 struct cvmx_l2c_dut_s { 534 uint64_t reserved_32_63:32; 535 uint64_t dtena:1; 536 uint64_t reserved_30_30:1; 537 uint64_t dt_vld:1; 538 uint64_t dt_tag:29; 539 } s; 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; 551 }; 552 553 union cvmx_l2c_dut_mapx { 554 uint64_t u64; 555 struct cvmx_l2c_dut_mapx_s { 556 uint64_t reserved_38_63:26; 557 uint64_t tag:28; 558 uint64_t reserved_1_9:9; 559 uint64_t valid:1; 560 } s; 561 struct cvmx_l2c_dut_mapx_s cn63xx; 562 struct cvmx_l2c_dut_mapx_s cn63xxp1; 563 }; 564 565 union cvmx_l2c_err_tdtx { 566 uint64_t u64; 567 struct cvmx_l2c_err_tdtx_s { 568 uint64_t dbe:1; 569 uint64_t sbe:1; 570 uint64_t vdbe:1; 571 uint64_t vsbe:1; 572 uint64_t syn:10; 573 uint64_t reserved_21_49:29; 574 uint64_t wayidx:17; 575 uint64_t reserved_2_3:2; 576 uint64_t type:2; 577 } s; 578 struct cvmx_l2c_err_tdtx_s cn63xx; 579 struct cvmx_l2c_err_tdtx_s cn63xxp1; 580 }; 581 582 union cvmx_l2c_err_ttgx { 583 uint64_t u64; 584 struct cvmx_l2c_err_ttgx_s { 585 uint64_t dbe:1; 586 uint64_t sbe:1; 587 uint64_t noway:1; 588 uint64_t reserved_56_60:5; 589 uint64_t syn:6; 590 uint64_t reserved_21_49:29; 591 uint64_t wayidx:14; 592 uint64_t reserved_2_6:5; 593 uint64_t type:2; 594 } s; 595 struct cvmx_l2c_err_ttgx_s cn63xx; 596 struct cvmx_l2c_err_ttgx_s cn63xxp1; 597 }; 598 599 union cvmx_l2c_err_vbfx { 600 uint64_t u64; 601 struct cvmx_l2c_err_vbfx_s { 602 uint64_t reserved_62_63:2; 603 uint64_t vdbe:1; 604 uint64_t vsbe:1; 605 uint64_t vsyn:10; 606 uint64_t reserved_2_49:48; 607 uint64_t type:2; 608 } s; 609 struct cvmx_l2c_err_vbfx_s cn63xx; 610 struct cvmx_l2c_err_vbfx_s cn63xxp1; 611 }; 612 613 union cvmx_l2c_err_xmc { 614 uint64_t u64; 615 struct cvmx_l2c_err_xmc_s { 616 uint64_t cmd:6; 617 uint64_t reserved_52_57:6; 618 uint64_t sid:4; 619 uint64_t reserved_38_47:10; 620 uint64_t addr:38; 621 } s; 622 struct cvmx_l2c_err_xmc_s cn63xx; 623 struct cvmx_l2c_err_xmc_s cn63xxp1; 624 }; 625 626 union cvmx_l2c_grpwrr0 { 627 uint64_t u64; 628 struct cvmx_l2c_grpwrr0_s { 629 uint64_t plc1rmsk:32; 630 uint64_t plc0rmsk:32; 631 } s; 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; 636 }; 637 638 union cvmx_l2c_grpwrr1 { 639 uint64_t u64; 640 struct cvmx_l2c_grpwrr1_s { 641 uint64_t ilcrmsk:32; 642 uint64_t plc2rmsk:32; 643 } s; 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; 648 }; 649 650 union cvmx_l2c_int_en { 651 uint64_t u64; 652 struct cvmx_l2c_int_en_s { 653 uint64_t reserved_9_63:55; 654 uint64_t lck2ena:1; 655 uint64_t lckena:1; 656 uint64_t l2ddeden:1; 657 uint64_t l2dsecen:1; 658 uint64_t l2tdeden:1; 659 uint64_t l2tsecen:1; 660 uint64_t oob3en:1; 661 uint64_t oob2en:1; 662 uint64_t oob1en:1; 663 } s; 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; 668 }; 669 670 union cvmx_l2c_int_ena { 671 uint64_t u64; 672 struct cvmx_l2c_int_ena_s { 673 uint64_t reserved_8_63:56; 674 uint64_t bigrd:1; 675 uint64_t bigwr:1; 676 uint64_t vrtpe:1; 677 uint64_t vrtadrng:1; 678 uint64_t vrtidrng:1; 679 uint64_t vrtwr:1; 680 uint64_t holewr:1; 681 uint64_t holerd:1; 682 } s; 683 struct cvmx_l2c_int_ena_s cn63xx; 684 struct cvmx_l2c_int_ena_cn63xxp1 { 685 uint64_t reserved_6_63:58; 686 uint64_t vrtpe:1; 687 uint64_t vrtadrng:1; 688 uint64_t vrtidrng:1; 689 uint64_t vrtwr:1; 690 uint64_t holewr:1; 691 uint64_t holerd:1; 692 } cn63xxp1; 693 }; 694 695 union cvmx_l2c_int_reg { 696 uint64_t u64; 697 struct cvmx_l2c_int_reg_s { 698 uint64_t reserved_17_63:47; 699 uint64_t tad0:1; 700 uint64_t reserved_8_15:8; 701 uint64_t bigrd:1; 702 uint64_t bigwr:1; 703 uint64_t vrtpe:1; 704 uint64_t vrtadrng:1; 705 uint64_t vrtidrng:1; 706 uint64_t vrtwr:1; 707 uint64_t holewr:1; 708 uint64_t holerd:1; 709 } s; 710 struct cvmx_l2c_int_reg_s cn63xx; 711 struct cvmx_l2c_int_reg_cn63xxp1 { 712 uint64_t reserved_17_63:47; 713 uint64_t tad0:1; 714 uint64_t reserved_6_15:10; 715 uint64_t vrtpe:1; 716 uint64_t vrtadrng:1; 717 uint64_t vrtidrng:1; 718 uint64_t vrtwr:1; 719 uint64_t holewr:1; 720 uint64_t holerd:1; 721 } cn63xxp1; 722 }; 723 724 union cvmx_l2c_int_stat { 725 uint64_t u64; 726 struct cvmx_l2c_int_stat_s { 727 uint64_t reserved_9_63:55; 728 uint64_t lck2:1; 729 uint64_t lck:1; 730 uint64_t l2dded:1; 731 uint64_t l2dsec:1; 732 uint64_t l2tded:1; 733 uint64_t l2tsec:1; 734 uint64_t oob3:1; 735 uint64_t oob2:1; 736 uint64_t oob1:1; 737 } s; 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; 742 }; 743 744 union cvmx_l2c_iocx_pfc { 745 uint64_t u64; 746 struct cvmx_l2c_iocx_pfc_s { 747 uint64_t count:64; 748 } s; 749 struct cvmx_l2c_iocx_pfc_s cn63xx; 750 struct cvmx_l2c_iocx_pfc_s cn63xxp1; 751 }; 752 753 union cvmx_l2c_iorx_pfc { 754 uint64_t u64; 755 struct cvmx_l2c_iorx_pfc_s { 756 uint64_t count:64; 757 } s; 758 struct cvmx_l2c_iorx_pfc_s cn63xx; 759 struct cvmx_l2c_iorx_pfc_s cn63xxp1; 760 }; 761 762 union cvmx_l2c_lckbase { 763 uint64_t u64; 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; 768 uint64_t lck_ena:1; 769 } s; 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; 781 }; 782 783 union cvmx_l2c_lckoff { 784 uint64_t u64; 785 struct cvmx_l2c_lckoff_s { 786 uint64_t reserved_10_63:54; 787 uint64_t lck_offset:10; 788 } s; 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; 800 }; 801 802 union cvmx_l2c_lfb0 { 803 uint64_t u64; 804 struct cvmx_l2c_lfb0_s { 805 uint64_t reserved_32_63:32; 806 uint64_t stcpnd:1; 807 uint64_t stpnd:1; 808 uint64_t stinv:1; 809 uint64_t stcfl:1; 810 uint64_t vam:1; 811 uint64_t inxt:4; 812 uint64_t itl:1; 813 uint64_t ihd:1; 814 uint64_t set:3; 815 uint64_t vabnum:4; 816 uint64_t sid:9; 817 uint64_t cmd:4; 818 uint64_t vld:1; 819 } s; 820 struct cvmx_l2c_lfb0_cn30xx { 821 uint64_t reserved_32_63:32; 822 uint64_t stcpnd:1; 823 uint64_t stpnd:1; 824 uint64_t stinv:1; 825 uint64_t stcfl:1; 826 uint64_t vam:1; 827 uint64_t reserved_25_26:2; 828 uint64_t inxt:2; 829 uint64_t itl:1; 830 uint64_t ihd:1; 831 uint64_t reserved_20_20:1; 832 uint64_t set:2; 833 uint64_t reserved_16_17:2; 834 uint64_t vabnum:2; 835 uint64_t sid:9; 836 uint64_t cmd:4; 837 uint64_t vld:1; 838 } cn30xx; 839 struct cvmx_l2c_lfb0_cn31xx { 840 uint64_t reserved_32_63:32; 841 uint64_t stcpnd:1; 842 uint64_t stpnd:1; 843 uint64_t stinv:1; 844 uint64_t stcfl:1; 845 uint64_t vam:1; 846 uint64_t reserved_26_26:1; 847 uint64_t inxt:3; 848 uint64_t itl:1; 849 uint64_t ihd:1; 850 uint64_t reserved_20_20:1; 851 uint64_t set:2; 852 uint64_t reserved_17_17:1; 853 uint64_t vabnum:3; 854 uint64_t sid:9; 855 uint64_t cmd:4; 856 uint64_t vld:1; 857 } cn31xx; 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; 862 uint64_t stcpnd:1; 863 uint64_t stpnd:1; 864 uint64_t stinv:1; 865 uint64_t stcfl:1; 866 uint64_t vam:1; 867 uint64_t reserved_26_26:1; 868 uint64_t inxt:3; 869 uint64_t itl:1; 870 uint64_t ihd:1; 871 uint64_t set:3; 872 uint64_t reserved_17_17:1; 873 uint64_t vabnum:3; 874 uint64_t sid:9; 875 uint64_t cmd:4; 876 uint64_t vld:1; 877 } cn50xx; 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; 884 }; 885 886 union cvmx_l2c_lfb1 { 887 uint64_t u64; 888 struct cvmx_l2c_lfb1_s { 889 uint64_t reserved_19_63:45; 890 uint64_t dsgoing:1; 891 uint64_t bid:2; 892 uint64_t wtrsp:1; 893 uint64_t wtdw:1; 894 uint64_t wtdq:1; 895 uint64_t wtwhp:1; 896 uint64_t wtwhf:1; 897 uint64_t wtwrm:1; 898 uint64_t wtstm:1; 899 uint64_t wtrda:1; 900 uint64_t wtstdt:1; 901 uint64_t wtstrsp:1; 902 uint64_t wtstrsc:1; 903 uint64_t wtvtm:1; 904 uint64_t wtmfl:1; 905 uint64_t prbrty:1; 906 uint64_t wtprb:1; 907 uint64_t vld:1; 908 } s; 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; 920 }; 921 922 union cvmx_l2c_lfb2 { 923 uint64_t u64; 924 struct cvmx_l2c_lfb2_s { 925 uint64_t reserved_0_63:64; 926 } s; 927 struct cvmx_l2c_lfb2_cn30xx { 928 uint64_t reserved_27_63:37; 929 uint64_t lfb_tag:19; 930 uint64_t lfb_idx:8; 931 } cn30xx; 932 struct cvmx_l2c_lfb2_cn31xx { 933 uint64_t reserved_27_63:37; 934 uint64_t lfb_tag:17; 935 uint64_t lfb_idx:10; 936 } cn31xx; 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; 941 uint64_t lfb_tag:20; 942 uint64_t lfb_idx:7; 943 } cn50xx; 944 struct cvmx_l2c_lfb2_cn52xx { 945 uint64_t reserved_27_63:37; 946 uint64_t lfb_tag:18; 947 uint64_t lfb_idx:9; 948 } cn52xx; 949 struct cvmx_l2c_lfb2_cn52xx cn52xxp1; 950 struct cvmx_l2c_lfb2_cn56xx { 951 uint64_t reserved_27_63:37; 952 uint64_t lfb_tag:16; 953 uint64_t lfb_idx:11; 954 } cn56xx; 955 struct cvmx_l2c_lfb2_cn56xx cn56xxp1; 956 struct cvmx_l2c_lfb2_cn56xx cn58xx; 957 struct cvmx_l2c_lfb2_cn56xx cn58xxp1; 958 }; 959 960 union cvmx_l2c_lfb3 { 961 uint64_t u64; 962 struct cvmx_l2c_lfb3_s { 963 uint64_t reserved_5_63:59; 964 uint64_t stpartdis:1; 965 uint64_t lfb_hwm:4; 966 } s; 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; 971 uint64_t lfb_hwm:2; 972 } cn30xx; 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; 977 uint64_t lfb_hwm:3; 978 } cn31xx; 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; 988 }; 989 990 union cvmx_l2c_oob { 991 uint64_t u64; 992 struct cvmx_l2c_oob_s { 993 uint64_t reserved_2_63:62; 994 uint64_t dwbena:1; 995 uint64_t stena:1; 996 } s; 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; 1001 }; 1002 1003 union cvmx_l2c_oob1 { 1004 uint64_t u64; 1005 struct cvmx_l2c_oob1_s { 1006 uint64_t fadr:27; 1007 uint64_t fsrc:1; 1008 uint64_t reserved_34_35:2; 1009 uint64_t sadr:14; 1010 uint64_t reserved_14_19:6; 1011 uint64_t size:14; 1012 } s; 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; 1017 }; 1018 1019 union cvmx_l2c_oob2 { 1020 uint64_t u64; 1021 struct cvmx_l2c_oob2_s { 1022 uint64_t fadr:27; 1023 uint64_t fsrc:1; 1024 uint64_t reserved_34_35:2; 1025 uint64_t sadr:14; 1026 uint64_t reserved_14_19:6; 1027 uint64_t size:14; 1028 } s; 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; 1033 }; 1034 1035 union cvmx_l2c_oob3 { 1036 uint64_t u64; 1037 struct cvmx_l2c_oob3_s { 1038 uint64_t fadr:27; 1039 uint64_t fsrc:1; 1040 uint64_t reserved_34_35:2; 1041 uint64_t sadr:14; 1042 uint64_t reserved_14_19:6; 1043 uint64_t size:14; 1044 } s; 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; 1049 }; 1050 1051 union cvmx_l2c_pfcx { 1052 uint64_t u64; 1053 struct cvmx_l2c_pfcx_s { 1054 uint64_t reserved_36_63:28; 1055 uint64_t pfcnt0:36; 1056 } s; 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; 1068 }; 1069 1070 union cvmx_l2c_pfctl { 1071 uint64_t u64; 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; 1078 uint64_t cnt3ena:1; 1079 uint64_t cnt3clr:1; 1080 uint64_t cnt3sel:6; 1081 uint64_t cnt2ena:1; 1082 uint64_t cnt2clr:1; 1083 uint64_t cnt2sel:6; 1084 uint64_t cnt1ena:1; 1085 uint64_t cnt1clr:1; 1086 uint64_t cnt1sel:6; 1087 uint64_t cnt0ena:1; 1088 uint64_t cnt0clr:1; 1089 uint64_t cnt0sel:6; 1090 } s; 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; 1102 }; 1103 1104 union cvmx_l2c_ppgrp { 1105 uint64_t u64; 1106 struct cvmx_l2c_ppgrp_s { 1107 uint64_t reserved_24_63:40; 1108 uint64_t pp11grp:2; 1109 uint64_t pp10grp:2; 1110 uint64_t pp9grp:2; 1111 uint64_t pp8grp:2; 1112 uint64_t pp7grp:2; 1113 uint64_t pp6grp:2; 1114 uint64_t pp5grp:2; 1115 uint64_t pp4grp:2; 1116 uint64_t pp3grp:2; 1117 uint64_t pp2grp:2; 1118 uint64_t pp1grp:2; 1119 uint64_t pp0grp:2; 1120 } s; 1121 struct cvmx_l2c_ppgrp_cn52xx { 1122 uint64_t reserved_8_63:56; 1123 uint64_t pp3grp:2; 1124 uint64_t pp2grp:2; 1125 uint64_t pp1grp:2; 1126 uint64_t pp0grp:2; 1127 } cn52xx; 1128 struct cvmx_l2c_ppgrp_cn52xx cn52xxp1; 1129 struct cvmx_l2c_ppgrp_s cn56xx; 1130 struct cvmx_l2c_ppgrp_s cn56xxp1; 1131 }; 1132 1133 union cvmx_l2c_qos_iobx { 1134 uint64_t u64; 1135 struct cvmx_l2c_qos_iobx_s { 1136 uint64_t reserved_6_63:58; 1137 uint64_t dwblvl:2; 1138 uint64_t reserved_2_3:2; 1139 uint64_t lvl:2; 1140 } s; 1141 struct cvmx_l2c_qos_iobx_s cn63xx; 1142 struct cvmx_l2c_qos_iobx_s cn63xxp1; 1143 }; 1144 1145 union cvmx_l2c_qos_ppx { 1146 uint64_t u64; 1147 struct cvmx_l2c_qos_ppx_s { 1148 uint64_t reserved_2_63:62; 1149 uint64_t lvl:2; 1150 } s; 1151 struct cvmx_l2c_qos_ppx_s cn63xx; 1152 struct cvmx_l2c_qos_ppx_s cn63xxp1; 1153 }; 1154 1155 union cvmx_l2c_qos_wgt { 1156 uint64_t u64; 1157 struct cvmx_l2c_qos_wgt_s { 1158 uint64_t reserved_32_63:32; 1159 uint64_t wgt3:8; 1160 uint64_t wgt2:8; 1161 uint64_t wgt1:8; 1162 uint64_t wgt0:8; 1163 } s; 1164 struct cvmx_l2c_qos_wgt_s cn63xx; 1165 struct cvmx_l2c_qos_wgt_s cn63xxp1; 1166 }; 1167 1168 union cvmx_l2c_rscx_pfc { 1169 uint64_t u64; 1170 struct cvmx_l2c_rscx_pfc_s { 1171 uint64_t count:64; 1172 } s; 1173 struct cvmx_l2c_rscx_pfc_s cn63xx; 1174 struct cvmx_l2c_rscx_pfc_s cn63xxp1; 1175 }; 1176 1177 union cvmx_l2c_rsdx_pfc { 1178 uint64_t u64; 1179 struct cvmx_l2c_rsdx_pfc_s { 1180 uint64_t count:64; 1181 } s; 1182 struct cvmx_l2c_rsdx_pfc_s cn63xx; 1183 struct cvmx_l2c_rsdx_pfc_s cn63xxp1; 1184 }; 1185 1186 union cvmx_l2c_spar0 { 1187 uint64_t u64; 1188 struct cvmx_l2c_spar0_s { 1189 uint64_t reserved_32_63:32; 1190 uint64_t umsk3:8; 1191 uint64_t umsk2:8; 1192 uint64_t umsk1:8; 1193 uint64_t umsk0:8; 1194 } s; 1195 struct cvmx_l2c_spar0_cn30xx { 1196 uint64_t reserved_4_63:60; 1197 uint64_t umsk0:4; 1198 } cn30xx; 1199 struct cvmx_l2c_spar0_cn31xx { 1200 uint64_t reserved_12_63:52; 1201 uint64_t umsk1:4; 1202 uint64_t reserved_4_7:4; 1203 uint64_t umsk0:4; 1204 } cn31xx; 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; 1209 uint64_t umsk1:8; 1210 uint64_t umsk0:8; 1211 } cn50xx; 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; 1218 }; 1219 1220 union cvmx_l2c_spar1 { 1221 uint64_t u64; 1222 struct cvmx_l2c_spar1_s { 1223 uint64_t reserved_32_63:32; 1224 uint64_t umsk7:8; 1225 uint64_t umsk6:8; 1226 uint64_t umsk5:8; 1227 uint64_t umsk4:8; 1228 } s; 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; 1235 }; 1236 1237 union cvmx_l2c_spar2 { 1238 uint64_t u64; 1239 struct cvmx_l2c_spar2_s { 1240 uint64_t reserved_32_63:32; 1241 uint64_t umsk11:8; 1242 uint64_t umsk10:8; 1243 uint64_t umsk9:8; 1244 uint64_t umsk8:8; 1245 } s; 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; 1252 }; 1253 1254 union cvmx_l2c_spar3 { 1255 uint64_t u64; 1256 struct cvmx_l2c_spar3_s { 1257 uint64_t reserved_32_63:32; 1258 uint64_t umsk15:8; 1259 uint64_t umsk14:8; 1260 uint64_t umsk13:8; 1261 uint64_t umsk12:8; 1262 } s; 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; 1267 }; 1268 1269 union cvmx_l2c_spar4 { 1270 uint64_t u64; 1271 struct cvmx_l2c_spar4_s { 1272 uint64_t reserved_8_63:56; 1273 uint64_t umskiob:8; 1274 } s; 1275 struct cvmx_l2c_spar4_cn30xx { 1276 uint64_t reserved_4_63:60; 1277 uint64_t umskiob:4; 1278 } cn30xx; 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; 1289 }; 1290 1291 union cvmx_l2c_tadx_ecc0 { 1292 uint64_t u64; 1293 struct cvmx_l2c_tadx_ecc0_s { 1294 uint64_t reserved_58_63:6; 1295 uint64_t ow3ecc:10; 1296 uint64_t reserved_42_47:6; 1297 uint64_t ow2ecc:10; 1298 uint64_t reserved_26_31:6; 1299 uint64_t ow1ecc:10; 1300 uint64_t reserved_10_15:6; 1301 uint64_t ow0ecc:10; 1302 } s; 1303 struct cvmx_l2c_tadx_ecc0_s cn63xx; 1304 struct cvmx_l2c_tadx_ecc0_s cn63xxp1; 1305 }; 1306 1307 union cvmx_l2c_tadx_ecc1 { 1308 uint64_t u64; 1309 struct cvmx_l2c_tadx_ecc1_s { 1310 uint64_t reserved_58_63:6; 1311 uint64_t ow7ecc:10; 1312 uint64_t reserved_42_47:6; 1313 uint64_t ow6ecc:10; 1314 uint64_t reserved_26_31:6; 1315 uint64_t ow5ecc:10; 1316 uint64_t reserved_10_15:6; 1317 uint64_t ow4ecc:10; 1318 } s; 1319 struct cvmx_l2c_tadx_ecc1_s cn63xx; 1320 struct cvmx_l2c_tadx_ecc1_s cn63xxp1; 1321 }; 1322 1323 union cvmx_l2c_tadx_ien { 1324 uint64_t u64; 1325 struct cvmx_l2c_tadx_ien_s { 1326 uint64_t reserved_9_63:55; 1327 uint64_t wrdislmc:1; 1328 uint64_t rddislmc:1; 1329 uint64_t noway:1; 1330 uint64_t vbfdbe:1; 1331 uint64_t vbfsbe:1; 1332 uint64_t tagdbe:1; 1333 uint64_t tagsbe:1; 1334 uint64_t l2ddbe:1; 1335 uint64_t l2dsbe:1; 1336 } s; 1337 struct cvmx_l2c_tadx_ien_s cn63xx; 1338 struct cvmx_l2c_tadx_ien_cn63xxp1 { 1339 uint64_t reserved_7_63:57; 1340 uint64_t noway:1; 1341 uint64_t vbfdbe:1; 1342 uint64_t vbfsbe:1; 1343 uint64_t tagdbe:1; 1344 uint64_t tagsbe:1; 1345 uint64_t l2ddbe:1; 1346 uint64_t l2dsbe:1; 1347 } cn63xxp1; 1348 }; 1349 1350 union cvmx_l2c_tadx_int { 1351 uint64_t u64; 1352 struct cvmx_l2c_tadx_int_s { 1353 uint64_t reserved_9_63:55; 1354 uint64_t wrdislmc:1; 1355 uint64_t rddislmc:1; 1356 uint64_t noway:1; 1357 uint64_t vbfdbe:1; 1358 uint64_t vbfsbe:1; 1359 uint64_t tagdbe:1; 1360 uint64_t tagsbe:1; 1361 uint64_t l2ddbe:1; 1362 uint64_t l2dsbe:1; 1363 } s; 1364 struct cvmx_l2c_tadx_int_s cn63xx; 1365 }; 1366 1367 union cvmx_l2c_tadx_pfc0 { 1368 uint64_t u64; 1369 struct cvmx_l2c_tadx_pfc0_s { 1370 uint64_t count:64; 1371 } s; 1372 struct cvmx_l2c_tadx_pfc0_s cn63xx; 1373 struct cvmx_l2c_tadx_pfc0_s cn63xxp1; 1374 }; 1375 1376 union cvmx_l2c_tadx_pfc1 { 1377 uint64_t u64; 1378 struct cvmx_l2c_tadx_pfc1_s { 1379 uint64_t count:64; 1380 } s; 1381 struct cvmx_l2c_tadx_pfc1_s cn63xx; 1382 struct cvmx_l2c_tadx_pfc1_s cn63xxp1; 1383 }; 1384 1385 union cvmx_l2c_tadx_pfc2 { 1386 uint64_t u64; 1387 struct cvmx_l2c_tadx_pfc2_s { 1388 uint64_t count:64; 1389 } s; 1390 struct cvmx_l2c_tadx_pfc2_s cn63xx; 1391 struct cvmx_l2c_tadx_pfc2_s cn63xxp1; 1392 }; 1393 1394 union cvmx_l2c_tadx_pfc3 { 1395 uint64_t u64; 1396 struct cvmx_l2c_tadx_pfc3_s { 1397 uint64_t count:64; 1398 } s; 1399 struct cvmx_l2c_tadx_pfc3_s cn63xx; 1400 struct cvmx_l2c_tadx_pfc3_s cn63xxp1; 1401 }; 1402 1403 union cvmx_l2c_tadx_prf { 1404 uint64_t u64; 1405 struct cvmx_l2c_tadx_prf_s { 1406 uint64_t reserved_32_63:32; 1407 uint64_t cnt3sel:8; 1408 uint64_t cnt2sel:8; 1409 uint64_t cnt1sel:8; 1410 uint64_t cnt0sel:8; 1411 } s; 1412 struct cvmx_l2c_tadx_prf_s cn63xx; 1413 struct cvmx_l2c_tadx_prf_s cn63xxp1; 1414 }; 1415 1416 union cvmx_l2c_tadx_tag { 1417 uint64_t u64; 1418 struct cvmx_l2c_tadx_tag_s { 1419 uint64_t reserved_46_63:18; 1420 uint64_t ecc:6; 1421 uint64_t reserved_36_39:4; 1422 uint64_t tag:19; 1423 uint64_t reserved_4_16:13; 1424 uint64_t use:1; 1425 uint64_t valid:1; 1426 uint64_t dirty:1; 1427 uint64_t lock:1; 1428 } s; 1429 struct cvmx_l2c_tadx_tag_s cn63xx; 1430 struct cvmx_l2c_tadx_tag_s cn63xxp1; 1431 }; 1432 1433 union cvmx_l2c_ver_id { 1434 uint64_t u64; 1435 struct cvmx_l2c_ver_id_s { 1436 uint64_t mask:64; 1437 } s; 1438 struct cvmx_l2c_ver_id_s cn63xx; 1439 struct cvmx_l2c_ver_id_s cn63xxp1; 1440 }; 1441 1442 union cvmx_l2c_ver_iob { 1443 uint64_t u64; 1444 struct cvmx_l2c_ver_iob_s { 1445 uint64_t reserved_1_63:63; 1446 uint64_t mask:1; 1447 } s; 1448 struct cvmx_l2c_ver_iob_s cn63xx; 1449 struct cvmx_l2c_ver_iob_s cn63xxp1; 1450 }; 1451 1452 union cvmx_l2c_ver_msc { 1453 uint64_t u64; 1454 struct cvmx_l2c_ver_msc_s { 1455 uint64_t reserved_2_63:62; 1456 uint64_t invl2:1; 1457 uint64_t dwb:1; 1458 } s; 1459 struct cvmx_l2c_ver_msc_s cn63xx; 1460 }; 1461 1462 union cvmx_l2c_ver_pp { 1463 uint64_t u64; 1464 struct cvmx_l2c_ver_pp_s { 1465 uint64_t reserved_6_63:58; 1466 uint64_t mask:6; 1467 } s; 1468 struct cvmx_l2c_ver_pp_s cn63xx; 1469 struct cvmx_l2c_ver_pp_s cn63xxp1; 1470 }; 1471 1472 union cvmx_l2c_virtid_iobx { 1473 uint64_t u64; 1474 struct cvmx_l2c_virtid_iobx_s { 1475 uint64_t reserved_14_63:50; 1476 uint64_t dwbid:6; 1477 uint64_t reserved_6_7:2; 1478 uint64_t id:6; 1479 } s; 1480 struct cvmx_l2c_virtid_iobx_s cn63xx; 1481 struct cvmx_l2c_virtid_iobx_s cn63xxp1; 1482 }; 1483 1484 union cvmx_l2c_virtid_ppx { 1485 uint64_t u64; 1486 struct cvmx_l2c_virtid_ppx_s { 1487 uint64_t reserved_6_63:58; 1488 uint64_t id:6; 1489 } s; 1490 struct cvmx_l2c_virtid_ppx_s cn63xx; 1491 struct cvmx_l2c_virtid_ppx_s cn63xxp1; 1492 }; 1493 1494 union cvmx_l2c_vrt_ctl { 1495 uint64_t u64; 1496 struct cvmx_l2c_vrt_ctl_s { 1497 uint64_t reserved_9_63:55; 1498 uint64_t ooberr:1; 1499 uint64_t reserved_7_7:1; 1500 uint64_t memsz:3; 1501 uint64_t numid:3; 1502 uint64_t enable:1; 1503 } s; 1504 struct cvmx_l2c_vrt_ctl_s cn63xx; 1505 struct cvmx_l2c_vrt_ctl_s cn63xxp1; 1506 }; 1507 1508 union cvmx_l2c_vrt_memx { 1509 uint64_t u64; 1510 struct cvmx_l2c_vrt_memx_s { 1511 uint64_t reserved_36_63:28; 1512 uint64_t parity:4; 1513 uint64_t data:32; 1514 } s; 1515 struct cvmx_l2c_vrt_memx_s cn63xx; 1516 struct cvmx_l2c_vrt_memx_s cn63xxp1; 1517 }; 1518 1519 union cvmx_l2c_wpar_iobx { 1520 uint64_t u64; 1521 struct cvmx_l2c_wpar_iobx_s { 1522 uint64_t reserved_16_63:48; 1523 uint64_t mask:16; 1524 } s; 1525 struct cvmx_l2c_wpar_iobx_s cn63xx; 1526 struct cvmx_l2c_wpar_iobx_s cn63xxp1; 1527 }; 1528 1529 union cvmx_l2c_wpar_ppx { 1530 uint64_t u64; 1531 struct cvmx_l2c_wpar_ppx_s { 1532 uint64_t reserved_16_63:48; 1533 uint64_t mask:16; 1534 } s; 1535 struct cvmx_l2c_wpar_ppx_s cn63xx; 1536 struct cvmx_l2c_wpar_ppx_s cn63xxp1; 1537 }; 1538 1539 union cvmx_l2c_xmcx_pfc { 1540 uint64_t u64; 1541 struct cvmx_l2c_xmcx_pfc_s { 1542 uint64_t count:64; 1543 } s; 1544 struct cvmx_l2c_xmcx_pfc_s cn63xx; 1545 struct cvmx_l2c_xmcx_pfc_s cn63xxp1; 1546 }; 1547 1548 union cvmx_l2c_xmc_cmd { 1549 uint64_t u64; 1550 struct cvmx_l2c_xmc_cmd_s { 1551 uint64_t inuse:1; 1552 uint64_t cmd:6; 1553 uint64_t reserved_38_56:19; 1554 uint64_t addr:38; 1555 } s; 1556 struct cvmx_l2c_xmc_cmd_s cn63xx; 1557 struct cvmx_l2c_xmc_cmd_s cn63xxp1; 1558 }; 1559 1560 union cvmx_l2c_xmdx_pfc { 1561 uint64_t u64; 1562 struct cvmx_l2c_xmdx_pfc_s { 1563 uint64_t count:64; 1564 } s; 1565 struct cvmx_l2c_xmdx_pfc_s cn63xx; 1566 struct cvmx_l2c_xmdx_pfc_s cn63xxp1; 1567 }; 1568 1569 #endif 1570