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 * 7*aa32a955SDavid 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 31*aa32a955SDavid Daney #define CVMX_L2C_BIG_CTL (CVMX_ADD_IO_SEG(0x0001180080800030ull)) 32*aa32a955SDavid Daney #define CVMX_L2C_BST (CVMX_ADD_IO_SEG(0x00011800808007F8ull)) 33*aa32a955SDavid Daney #define CVMX_L2C_BST0 (CVMX_ADD_IO_SEG(0x00011800800007F8ull)) 34*aa32a955SDavid Daney #define CVMX_L2C_BST1 (CVMX_ADD_IO_SEG(0x00011800800007F0ull)) 35*aa32a955SDavid Daney #define CVMX_L2C_BST2 (CVMX_ADD_IO_SEG(0x00011800800007E8ull)) 36*aa32a955SDavid Daney #define CVMX_L2C_BST_MEMX(block_id) (CVMX_ADD_IO_SEG(0x0001180080C007F8ull)) 37*aa32a955SDavid Daney #define CVMX_L2C_BST_TDTX(block_id) (CVMX_ADD_IO_SEG(0x0001180080A007F0ull)) 38*aa32a955SDavid Daney #define CVMX_L2C_BST_TTGX(block_id) (CVMX_ADD_IO_SEG(0x0001180080A007F8ull)) 39*aa32a955SDavid Daney #define CVMX_L2C_CFG (CVMX_ADD_IO_SEG(0x0001180080000000ull)) 40*aa32a955SDavid Daney #define CVMX_L2C_COP0_MAPX(offset) (CVMX_ADD_IO_SEG(0x0001180080940000ull) + ((offset) & 16383) * 8) 41*aa32a955SDavid Daney #define CVMX_L2C_CTL (CVMX_ADD_IO_SEG(0x0001180080800000ull)) 42*aa32a955SDavid Daney #define CVMX_L2C_DBG (CVMX_ADD_IO_SEG(0x0001180080000030ull)) 43*aa32a955SDavid Daney #define CVMX_L2C_DUT (CVMX_ADD_IO_SEG(0x0001180080000050ull)) 44*aa32a955SDavid Daney #define CVMX_L2C_DUT_MAPX(offset) (CVMX_ADD_IO_SEG(0x0001180080E00000ull) + ((offset) & 2047) * 8) 45*aa32a955SDavid Daney #define CVMX_L2C_ERR_TDTX(block_id) (CVMX_ADD_IO_SEG(0x0001180080A007E0ull)) 46*aa32a955SDavid Daney #define CVMX_L2C_ERR_TTGX(block_id) (CVMX_ADD_IO_SEG(0x0001180080A007E8ull)) 47*aa32a955SDavid Daney #define CVMX_L2C_ERR_VBFX(block_id) (CVMX_ADD_IO_SEG(0x0001180080C007F0ull)) 48*aa32a955SDavid Daney #define CVMX_L2C_ERR_XMC (CVMX_ADD_IO_SEG(0x00011800808007D8ull)) 49*aa32a955SDavid Daney #define CVMX_L2C_GRPWRR0 (CVMX_ADD_IO_SEG(0x00011800800000C8ull)) 50*aa32a955SDavid Daney #define CVMX_L2C_GRPWRR1 (CVMX_ADD_IO_SEG(0x00011800800000D0ull)) 51*aa32a955SDavid Daney #define CVMX_L2C_INT_EN (CVMX_ADD_IO_SEG(0x0001180080000100ull)) 52*aa32a955SDavid Daney #define CVMX_L2C_INT_ENA (CVMX_ADD_IO_SEG(0x0001180080800020ull)) 53*aa32a955SDavid Daney #define CVMX_L2C_INT_REG (CVMX_ADD_IO_SEG(0x0001180080800018ull)) 54*aa32a955SDavid Daney #define CVMX_L2C_INT_STAT (CVMX_ADD_IO_SEG(0x00011800800000F8ull)) 55*aa32a955SDavid Daney #define CVMX_L2C_IOCX_PFC(block_id) (CVMX_ADD_IO_SEG(0x0001180080800420ull)) 56*aa32a955SDavid Daney #define CVMX_L2C_IORX_PFC(block_id) (CVMX_ADD_IO_SEG(0x0001180080800428ull)) 57*aa32a955SDavid Daney #define CVMX_L2C_LCKBASE (CVMX_ADD_IO_SEG(0x0001180080000058ull)) 58*aa32a955SDavid Daney #define CVMX_L2C_LCKOFF (CVMX_ADD_IO_SEG(0x0001180080000060ull)) 59*aa32a955SDavid Daney #define CVMX_L2C_LFB0 (CVMX_ADD_IO_SEG(0x0001180080000038ull)) 60*aa32a955SDavid Daney #define CVMX_L2C_LFB1 (CVMX_ADD_IO_SEG(0x0001180080000040ull)) 61*aa32a955SDavid Daney #define CVMX_L2C_LFB2 (CVMX_ADD_IO_SEG(0x0001180080000048ull)) 62*aa32a955SDavid Daney #define CVMX_L2C_LFB3 (CVMX_ADD_IO_SEG(0x00011800800000B8ull)) 63*aa32a955SDavid Daney #define CVMX_L2C_OOB (CVMX_ADD_IO_SEG(0x00011800800000D8ull)) 64*aa32a955SDavid Daney #define CVMX_L2C_OOB1 (CVMX_ADD_IO_SEG(0x00011800800000E0ull)) 65*aa32a955SDavid Daney #define CVMX_L2C_OOB2 (CVMX_ADD_IO_SEG(0x00011800800000E8ull)) 66*aa32a955SDavid Daney #define CVMX_L2C_OOB3 (CVMX_ADD_IO_SEG(0x00011800800000F0ull)) 67*aa32a955SDavid Daney #define CVMX_L2C_PFC0 CVMX_L2C_PFCX(0) 68*aa32a955SDavid Daney #define CVMX_L2C_PFC1 CVMX_L2C_PFCX(1) 69*aa32a955SDavid Daney #define CVMX_L2C_PFC2 CVMX_L2C_PFCX(2) 70*aa32a955SDavid Daney #define CVMX_L2C_PFC3 CVMX_L2C_PFCX(3) 71*aa32a955SDavid Daney #define CVMX_L2C_PFCTL (CVMX_ADD_IO_SEG(0x0001180080000090ull)) 72*aa32a955SDavid Daney #define CVMX_L2C_PFCX(offset) (CVMX_ADD_IO_SEG(0x0001180080000098ull) + ((offset) & 3) * 8) 73*aa32a955SDavid Daney #define CVMX_L2C_PPGRP (CVMX_ADD_IO_SEG(0x00011800800000C0ull)) 74*aa32a955SDavid Daney #define CVMX_L2C_QOS_IOBX(block_id) (CVMX_ADD_IO_SEG(0x0001180080880200ull)) 75*aa32a955SDavid Daney #define CVMX_L2C_QOS_PPX(offset) (CVMX_ADD_IO_SEG(0x0001180080880000ull) + ((offset) & 7) * 8) 76*aa32a955SDavid Daney #define CVMX_L2C_QOS_WGT (CVMX_ADD_IO_SEG(0x0001180080800008ull)) 77*aa32a955SDavid Daney #define CVMX_L2C_RSCX_PFC(block_id) (CVMX_ADD_IO_SEG(0x0001180080800410ull)) 78*aa32a955SDavid Daney #define CVMX_L2C_RSDX_PFC(block_id) (CVMX_ADD_IO_SEG(0x0001180080800418ull)) 79*aa32a955SDavid Daney #define CVMX_L2C_SPAR0 (CVMX_ADD_IO_SEG(0x0001180080000068ull)) 80*aa32a955SDavid Daney #define CVMX_L2C_SPAR1 (CVMX_ADD_IO_SEG(0x0001180080000070ull)) 81*aa32a955SDavid Daney #define CVMX_L2C_SPAR2 (CVMX_ADD_IO_SEG(0x0001180080000078ull)) 82*aa32a955SDavid Daney #define CVMX_L2C_SPAR3 (CVMX_ADD_IO_SEG(0x0001180080000080ull)) 83*aa32a955SDavid Daney #define CVMX_L2C_SPAR4 (CVMX_ADD_IO_SEG(0x0001180080000088ull)) 84*aa32a955SDavid Daney #define CVMX_L2C_TADX_ECC0(block_id) (CVMX_ADD_IO_SEG(0x0001180080A00018ull)) 85*aa32a955SDavid Daney #define CVMX_L2C_TADX_ECC1(block_id) (CVMX_ADD_IO_SEG(0x0001180080A00020ull)) 86*aa32a955SDavid Daney #define CVMX_L2C_TADX_IEN(block_id) (CVMX_ADD_IO_SEG(0x0001180080A00000ull)) 87*aa32a955SDavid Daney #define CVMX_L2C_TADX_INT(block_id) (CVMX_ADD_IO_SEG(0x0001180080A00028ull)) 88*aa32a955SDavid Daney #define CVMX_L2C_TADX_PFC0(block_id) (CVMX_ADD_IO_SEG(0x0001180080A00400ull)) 89*aa32a955SDavid Daney #define CVMX_L2C_TADX_PFC1(block_id) (CVMX_ADD_IO_SEG(0x0001180080A00408ull)) 90*aa32a955SDavid Daney #define CVMX_L2C_TADX_PFC2(block_id) (CVMX_ADD_IO_SEG(0x0001180080A00410ull)) 91*aa32a955SDavid Daney #define CVMX_L2C_TADX_PFC3(block_id) (CVMX_ADD_IO_SEG(0x0001180080A00418ull)) 92*aa32a955SDavid Daney #define CVMX_L2C_TADX_PRF(block_id) (CVMX_ADD_IO_SEG(0x0001180080A00008ull)) 93*aa32a955SDavid Daney #define CVMX_L2C_TADX_TAG(block_id) (CVMX_ADD_IO_SEG(0x0001180080A00010ull)) 94*aa32a955SDavid Daney #define CVMX_L2C_VER_ID (CVMX_ADD_IO_SEG(0x00011800808007E0ull)) 95*aa32a955SDavid Daney #define CVMX_L2C_VER_IOB (CVMX_ADD_IO_SEG(0x00011800808007F0ull)) 96*aa32a955SDavid Daney #define CVMX_L2C_VER_MSC (CVMX_ADD_IO_SEG(0x00011800808007D0ull)) 97*aa32a955SDavid Daney #define CVMX_L2C_VER_PP (CVMX_ADD_IO_SEG(0x00011800808007E8ull)) 98*aa32a955SDavid Daney #define CVMX_L2C_VIRTID_IOBX(block_id) (CVMX_ADD_IO_SEG(0x00011800808C0200ull)) 99*aa32a955SDavid Daney #define CVMX_L2C_VIRTID_PPX(offset) (CVMX_ADD_IO_SEG(0x00011800808C0000ull) + ((offset) & 7) * 8) 100*aa32a955SDavid Daney #define CVMX_L2C_VRT_CTL (CVMX_ADD_IO_SEG(0x0001180080800010ull)) 101*aa32a955SDavid Daney #define CVMX_L2C_VRT_MEMX(offset) (CVMX_ADD_IO_SEG(0x0001180080900000ull) + ((offset) & 1023) * 8) 102*aa32a955SDavid Daney #define CVMX_L2C_WPAR_IOBX(block_id) (CVMX_ADD_IO_SEG(0x0001180080840200ull)) 103*aa32a955SDavid Daney #define CVMX_L2C_WPAR_PPX(offset) (CVMX_ADD_IO_SEG(0x0001180080840000ull) + ((offset) & 7) * 8) 104*aa32a955SDavid Daney #define CVMX_L2C_XMCX_PFC(block_id) (CVMX_ADD_IO_SEG(0x0001180080800400ull)) 105*aa32a955SDavid Daney #define CVMX_L2C_XMC_CMD (CVMX_ADD_IO_SEG(0x0001180080800028ull)) 106*aa32a955SDavid Daney #define CVMX_L2C_XMDX_PFC(block_id) (CVMX_ADD_IO_SEG(0x0001180080800408ull)) 107*aa32a955SDavid Daney 108*aa32a955SDavid Daney union cvmx_l2c_big_ctl { 109*aa32a955SDavid Daney uint64_t u64; 110*aa32a955SDavid Daney struct cvmx_l2c_big_ctl_s { 111*aa32a955SDavid Daney uint64_t reserved_8_63:56; 112*aa32a955SDavid Daney uint64_t maxdram:4; 113*aa32a955SDavid Daney uint64_t reserved_1_3:3; 114*aa32a955SDavid Daney uint64_t disable:1; 115*aa32a955SDavid Daney } s; 116*aa32a955SDavid Daney struct cvmx_l2c_big_ctl_s cn63xx; 117*aa32a955SDavid Daney }; 118*aa32a955SDavid Daney 119*aa32a955SDavid Daney union cvmx_l2c_bst { 120*aa32a955SDavid Daney uint64_t u64; 121*aa32a955SDavid Daney struct cvmx_l2c_bst_s { 122*aa32a955SDavid Daney uint64_t reserved_38_63:26; 123*aa32a955SDavid Daney uint64_t dutfl:6; 124*aa32a955SDavid Daney uint64_t reserved_17_31:15; 125*aa32a955SDavid Daney uint64_t ioccmdfl:1; 126*aa32a955SDavid Daney uint64_t reserved_13_15:3; 127*aa32a955SDavid Daney uint64_t iocdatfl:1; 128*aa32a955SDavid Daney uint64_t reserved_9_11:3; 129*aa32a955SDavid Daney uint64_t dutresfl:1; 130*aa32a955SDavid Daney uint64_t reserved_5_7:3; 131*aa32a955SDavid Daney uint64_t vrtfl:1; 132*aa32a955SDavid Daney uint64_t reserved_1_3:3; 133*aa32a955SDavid Daney uint64_t tdffl:1; 134*aa32a955SDavid Daney } s; 135*aa32a955SDavid Daney struct cvmx_l2c_bst_s cn63xx; 136*aa32a955SDavid Daney struct cvmx_l2c_bst_s cn63xxp1; 137*aa32a955SDavid 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 299*aa32a955SDavid Daney union cvmx_l2c_bst_memx { 300*aa32a955SDavid Daney uint64_t u64; 301*aa32a955SDavid Daney struct cvmx_l2c_bst_memx_s { 302*aa32a955SDavid Daney uint64_t start_bist:1; 303*aa32a955SDavid Daney uint64_t clear_bist:1; 304*aa32a955SDavid Daney uint64_t reserved_5_61:57; 305*aa32a955SDavid Daney uint64_t rdffl:1; 306*aa32a955SDavid Daney uint64_t vbffl:4; 307*aa32a955SDavid Daney } s; 308*aa32a955SDavid Daney struct cvmx_l2c_bst_memx_s cn63xx; 309*aa32a955SDavid Daney struct cvmx_l2c_bst_memx_s cn63xxp1; 310*aa32a955SDavid Daney }; 311*aa32a955SDavid Daney 312*aa32a955SDavid Daney union cvmx_l2c_bst_tdtx { 313*aa32a955SDavid Daney uint64_t u64; 314*aa32a955SDavid Daney struct cvmx_l2c_bst_tdtx_s { 315*aa32a955SDavid Daney uint64_t reserved_32_63:32; 316*aa32a955SDavid Daney uint64_t fbfrspfl:8; 317*aa32a955SDavid Daney uint64_t sbffl:8; 318*aa32a955SDavid Daney uint64_t fbffl:8; 319*aa32a955SDavid Daney uint64_t l2dfl:8; 320*aa32a955SDavid Daney } s; 321*aa32a955SDavid Daney struct cvmx_l2c_bst_tdtx_s cn63xx; 322*aa32a955SDavid Daney struct cvmx_l2c_bst_tdtx_cn63xxp1 { 323*aa32a955SDavid Daney uint64_t reserved_24_63:40; 324*aa32a955SDavid Daney uint64_t sbffl:8; 325*aa32a955SDavid Daney uint64_t fbffl:8; 326*aa32a955SDavid Daney uint64_t l2dfl:8; 327*aa32a955SDavid Daney } cn63xxp1; 328*aa32a955SDavid Daney }; 329*aa32a955SDavid Daney 330*aa32a955SDavid Daney union cvmx_l2c_bst_ttgx { 331*aa32a955SDavid Daney uint64_t u64; 332*aa32a955SDavid Daney struct cvmx_l2c_bst_ttgx_s { 333*aa32a955SDavid Daney uint64_t reserved_17_63:47; 334*aa32a955SDavid Daney uint64_t lrufl:1; 335*aa32a955SDavid Daney uint64_t tagfl:16; 336*aa32a955SDavid Daney } s; 337*aa32a955SDavid Daney struct cvmx_l2c_bst_ttgx_s cn63xx; 338*aa32a955SDavid Daney struct cvmx_l2c_bst_ttgx_s cn63xxp1; 339*aa32a955SDavid Daney }; 340*aa32a955SDavid 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 421*aa32a955SDavid Daney union cvmx_l2c_cop0_mapx { 422*aa32a955SDavid Daney uint64_t u64; 423*aa32a955SDavid Daney struct cvmx_l2c_cop0_mapx_s { 424*aa32a955SDavid Daney uint64_t data:64; 425*aa32a955SDavid Daney } s; 426*aa32a955SDavid Daney struct cvmx_l2c_cop0_mapx_s cn63xx; 427*aa32a955SDavid Daney struct cvmx_l2c_cop0_mapx_s cn63xxp1; 428*aa32a955SDavid Daney }; 429*aa32a955SDavid Daney 430*aa32a955SDavid Daney union cvmx_l2c_ctl { 431*aa32a955SDavid Daney uint64_t u64; 432*aa32a955SDavid Daney struct cvmx_l2c_ctl_s { 433*aa32a955SDavid Daney uint64_t reserved_28_63:36; 434*aa32a955SDavid Daney uint64_t disstgl2i:1; 435*aa32a955SDavid Daney uint64_t l2dfsbe:1; 436*aa32a955SDavid Daney uint64_t l2dfdbe:1; 437*aa32a955SDavid Daney uint64_t discclk:1; 438*aa32a955SDavid Daney uint64_t maxvab:4; 439*aa32a955SDavid Daney uint64_t maxlfb:4; 440*aa32a955SDavid Daney uint64_t rsp_arb_mode:1; 441*aa32a955SDavid Daney uint64_t xmc_arb_mode:1; 442*aa32a955SDavid Daney uint64_t ef_ena:1; 443*aa32a955SDavid Daney uint64_t ef_cnt:7; 444*aa32a955SDavid Daney uint64_t vab_thresh:4; 445*aa32a955SDavid Daney uint64_t disecc:1; 446*aa32a955SDavid Daney uint64_t disidxalias:1; 447*aa32a955SDavid Daney } s; 448*aa32a955SDavid Daney struct cvmx_l2c_ctl_s cn63xx; 449*aa32a955SDavid Daney struct cvmx_l2c_ctl_cn63xxp1 { 450*aa32a955SDavid Daney uint64_t reserved_25_63:39; 451*aa32a955SDavid Daney uint64_t discclk:1; 452*aa32a955SDavid Daney uint64_t maxvab:4; 453*aa32a955SDavid Daney uint64_t maxlfb:4; 454*aa32a955SDavid Daney uint64_t rsp_arb_mode:1; 455*aa32a955SDavid Daney uint64_t xmc_arb_mode:1; 456*aa32a955SDavid Daney uint64_t ef_ena:1; 457*aa32a955SDavid Daney uint64_t ef_cnt:7; 458*aa32a955SDavid Daney uint64_t vab_thresh:4; 459*aa32a955SDavid Daney uint64_t disecc:1; 460*aa32a955SDavid Daney uint64_t disidxalias:1; 461*aa32a955SDavid Daney } cn63xxp1; 462*aa32a955SDavid Daney }; 463*aa32a955SDavid 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; 480*aa32a955SDavid Daney uint64_t reserved_7_9:3; 481*aa32a955SDavid Daney uint64_t ppnum:1; 482*aa32a955SDavid 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 553*aa32a955SDavid Daney union cvmx_l2c_dut_mapx { 554*aa32a955SDavid Daney uint64_t u64; 555*aa32a955SDavid Daney struct cvmx_l2c_dut_mapx_s { 556*aa32a955SDavid Daney uint64_t reserved_38_63:26; 557*aa32a955SDavid Daney uint64_t tag:28; 558*aa32a955SDavid Daney uint64_t reserved_1_9:9; 559*aa32a955SDavid Daney uint64_t valid:1; 560*aa32a955SDavid Daney } s; 561*aa32a955SDavid Daney struct cvmx_l2c_dut_mapx_s cn63xx; 562*aa32a955SDavid Daney struct cvmx_l2c_dut_mapx_s cn63xxp1; 563*aa32a955SDavid Daney }; 564*aa32a955SDavid Daney 565*aa32a955SDavid Daney union cvmx_l2c_err_tdtx { 566*aa32a955SDavid Daney uint64_t u64; 567*aa32a955SDavid Daney struct cvmx_l2c_err_tdtx_s { 568*aa32a955SDavid Daney uint64_t dbe:1; 569*aa32a955SDavid Daney uint64_t sbe:1; 570*aa32a955SDavid Daney uint64_t vdbe:1; 571*aa32a955SDavid Daney uint64_t vsbe:1; 572*aa32a955SDavid Daney uint64_t syn:10; 573*aa32a955SDavid Daney uint64_t reserved_21_49:29; 574*aa32a955SDavid Daney uint64_t wayidx:17; 575*aa32a955SDavid Daney uint64_t reserved_2_3:2; 576*aa32a955SDavid Daney uint64_t type:2; 577*aa32a955SDavid Daney } s; 578*aa32a955SDavid Daney struct cvmx_l2c_err_tdtx_s cn63xx; 579*aa32a955SDavid Daney struct cvmx_l2c_err_tdtx_s cn63xxp1; 580*aa32a955SDavid Daney }; 581*aa32a955SDavid Daney 582*aa32a955SDavid Daney union cvmx_l2c_err_ttgx { 583*aa32a955SDavid Daney uint64_t u64; 584*aa32a955SDavid Daney struct cvmx_l2c_err_ttgx_s { 585*aa32a955SDavid Daney uint64_t dbe:1; 586*aa32a955SDavid Daney uint64_t sbe:1; 587*aa32a955SDavid Daney uint64_t noway:1; 588*aa32a955SDavid Daney uint64_t reserved_56_60:5; 589*aa32a955SDavid Daney uint64_t syn:6; 590*aa32a955SDavid Daney uint64_t reserved_21_49:29; 591*aa32a955SDavid Daney uint64_t wayidx:14; 592*aa32a955SDavid Daney uint64_t reserved_2_6:5; 593*aa32a955SDavid Daney uint64_t type:2; 594*aa32a955SDavid Daney } s; 595*aa32a955SDavid Daney struct cvmx_l2c_err_ttgx_s cn63xx; 596*aa32a955SDavid Daney struct cvmx_l2c_err_ttgx_s cn63xxp1; 597*aa32a955SDavid Daney }; 598*aa32a955SDavid Daney 599*aa32a955SDavid Daney union cvmx_l2c_err_vbfx { 600*aa32a955SDavid Daney uint64_t u64; 601*aa32a955SDavid Daney struct cvmx_l2c_err_vbfx_s { 602*aa32a955SDavid Daney uint64_t reserved_62_63:2; 603*aa32a955SDavid Daney uint64_t vdbe:1; 604*aa32a955SDavid Daney uint64_t vsbe:1; 605*aa32a955SDavid Daney uint64_t vsyn:10; 606*aa32a955SDavid Daney uint64_t reserved_2_49:48; 607*aa32a955SDavid Daney uint64_t type:2; 608*aa32a955SDavid Daney } s; 609*aa32a955SDavid Daney struct cvmx_l2c_err_vbfx_s cn63xx; 610*aa32a955SDavid Daney struct cvmx_l2c_err_vbfx_s cn63xxp1; 611*aa32a955SDavid Daney }; 612*aa32a955SDavid Daney 613*aa32a955SDavid Daney union cvmx_l2c_err_xmc { 614*aa32a955SDavid Daney uint64_t u64; 615*aa32a955SDavid Daney struct cvmx_l2c_err_xmc_s { 616*aa32a955SDavid Daney uint64_t cmd:6; 617*aa32a955SDavid Daney uint64_t reserved_52_57:6; 618*aa32a955SDavid Daney uint64_t sid:4; 619*aa32a955SDavid Daney uint64_t reserved_38_47:10; 620*aa32a955SDavid Daney uint64_t addr:38; 621*aa32a955SDavid Daney } s; 622*aa32a955SDavid Daney struct cvmx_l2c_err_xmc_s cn63xx; 623*aa32a955SDavid Daney struct cvmx_l2c_err_xmc_s cn63xxp1; 624*aa32a955SDavid Daney }; 625*aa32a955SDavid 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 670*aa32a955SDavid Daney union cvmx_l2c_int_ena { 671*aa32a955SDavid Daney uint64_t u64; 672*aa32a955SDavid Daney struct cvmx_l2c_int_ena_s { 673*aa32a955SDavid Daney uint64_t reserved_8_63:56; 674*aa32a955SDavid Daney uint64_t bigrd:1; 675*aa32a955SDavid Daney uint64_t bigwr:1; 676*aa32a955SDavid Daney uint64_t vrtpe:1; 677*aa32a955SDavid Daney uint64_t vrtadrng:1; 678*aa32a955SDavid Daney uint64_t vrtidrng:1; 679*aa32a955SDavid Daney uint64_t vrtwr:1; 680*aa32a955SDavid Daney uint64_t holewr:1; 681*aa32a955SDavid Daney uint64_t holerd:1; 682*aa32a955SDavid Daney } s; 683*aa32a955SDavid Daney struct cvmx_l2c_int_ena_s cn63xx; 684*aa32a955SDavid Daney struct cvmx_l2c_int_ena_cn63xxp1 { 685*aa32a955SDavid Daney uint64_t reserved_6_63:58; 686*aa32a955SDavid Daney uint64_t vrtpe:1; 687*aa32a955SDavid Daney uint64_t vrtadrng:1; 688*aa32a955SDavid Daney uint64_t vrtidrng:1; 689*aa32a955SDavid Daney uint64_t vrtwr:1; 690*aa32a955SDavid Daney uint64_t holewr:1; 691*aa32a955SDavid Daney uint64_t holerd:1; 692*aa32a955SDavid Daney } cn63xxp1; 693*aa32a955SDavid Daney }; 694*aa32a955SDavid Daney 695*aa32a955SDavid Daney union cvmx_l2c_int_reg { 696*aa32a955SDavid Daney uint64_t u64; 697*aa32a955SDavid Daney struct cvmx_l2c_int_reg_s { 698*aa32a955SDavid Daney uint64_t reserved_17_63:47; 699*aa32a955SDavid Daney uint64_t tad0:1; 700*aa32a955SDavid Daney uint64_t reserved_8_15:8; 701*aa32a955SDavid Daney uint64_t bigrd:1; 702*aa32a955SDavid Daney uint64_t bigwr:1; 703*aa32a955SDavid Daney uint64_t vrtpe:1; 704*aa32a955SDavid Daney uint64_t vrtadrng:1; 705*aa32a955SDavid Daney uint64_t vrtidrng:1; 706*aa32a955SDavid Daney uint64_t vrtwr:1; 707*aa32a955SDavid Daney uint64_t holewr:1; 708*aa32a955SDavid Daney uint64_t holerd:1; 709*aa32a955SDavid Daney } s; 710*aa32a955SDavid Daney struct cvmx_l2c_int_reg_s cn63xx; 711*aa32a955SDavid Daney struct cvmx_l2c_int_reg_cn63xxp1 { 712*aa32a955SDavid Daney uint64_t reserved_17_63:47; 713*aa32a955SDavid Daney uint64_t tad0:1; 714*aa32a955SDavid Daney uint64_t reserved_6_15:10; 715*aa32a955SDavid Daney uint64_t vrtpe:1; 716*aa32a955SDavid Daney uint64_t vrtadrng:1; 717*aa32a955SDavid Daney uint64_t vrtidrng:1; 718*aa32a955SDavid Daney uint64_t vrtwr:1; 719*aa32a955SDavid Daney uint64_t holewr:1; 720*aa32a955SDavid Daney uint64_t holerd:1; 721*aa32a955SDavid Daney } cn63xxp1; 722*aa32a955SDavid Daney }; 723*aa32a955SDavid 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 744*aa32a955SDavid Daney union cvmx_l2c_iocx_pfc { 745*aa32a955SDavid Daney uint64_t u64; 746*aa32a955SDavid Daney struct cvmx_l2c_iocx_pfc_s { 747*aa32a955SDavid Daney uint64_t count:64; 748*aa32a955SDavid Daney } s; 749*aa32a955SDavid Daney struct cvmx_l2c_iocx_pfc_s cn63xx; 750*aa32a955SDavid Daney struct cvmx_l2c_iocx_pfc_s cn63xxp1; 751*aa32a955SDavid Daney }; 752*aa32a955SDavid Daney 753*aa32a955SDavid Daney union cvmx_l2c_iorx_pfc { 754*aa32a955SDavid Daney uint64_t u64; 755*aa32a955SDavid Daney struct cvmx_l2c_iorx_pfc_s { 756*aa32a955SDavid Daney uint64_t count:64; 757*aa32a955SDavid Daney } s; 758*aa32a955SDavid Daney struct cvmx_l2c_iorx_pfc_s cn63xx; 759*aa32a955SDavid Daney struct cvmx_l2c_iorx_pfc_s cn63xxp1; 760*aa32a955SDavid Daney }; 761*aa32a955SDavid 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 1133*aa32a955SDavid Daney union cvmx_l2c_qos_iobx { 1134*aa32a955SDavid Daney uint64_t u64; 1135*aa32a955SDavid Daney struct cvmx_l2c_qos_iobx_s { 1136*aa32a955SDavid Daney uint64_t reserved_6_63:58; 1137*aa32a955SDavid Daney uint64_t dwblvl:2; 1138*aa32a955SDavid Daney uint64_t reserved_2_3:2; 1139*aa32a955SDavid Daney uint64_t lvl:2; 1140*aa32a955SDavid Daney } s; 1141*aa32a955SDavid Daney struct cvmx_l2c_qos_iobx_s cn63xx; 1142*aa32a955SDavid Daney struct cvmx_l2c_qos_iobx_s cn63xxp1; 1143*aa32a955SDavid Daney }; 1144*aa32a955SDavid Daney 1145*aa32a955SDavid Daney union cvmx_l2c_qos_ppx { 1146*aa32a955SDavid Daney uint64_t u64; 1147*aa32a955SDavid Daney struct cvmx_l2c_qos_ppx_s { 1148*aa32a955SDavid Daney uint64_t reserved_2_63:62; 1149*aa32a955SDavid Daney uint64_t lvl:2; 1150*aa32a955SDavid Daney } s; 1151*aa32a955SDavid Daney struct cvmx_l2c_qos_ppx_s cn63xx; 1152*aa32a955SDavid Daney struct cvmx_l2c_qos_ppx_s cn63xxp1; 1153*aa32a955SDavid Daney }; 1154*aa32a955SDavid Daney 1155*aa32a955SDavid Daney union cvmx_l2c_qos_wgt { 1156*aa32a955SDavid Daney uint64_t u64; 1157*aa32a955SDavid Daney struct cvmx_l2c_qos_wgt_s { 1158*aa32a955SDavid Daney uint64_t reserved_32_63:32; 1159*aa32a955SDavid Daney uint64_t wgt3:8; 1160*aa32a955SDavid Daney uint64_t wgt2:8; 1161*aa32a955SDavid Daney uint64_t wgt1:8; 1162*aa32a955SDavid Daney uint64_t wgt0:8; 1163*aa32a955SDavid Daney } s; 1164*aa32a955SDavid Daney struct cvmx_l2c_qos_wgt_s cn63xx; 1165*aa32a955SDavid Daney struct cvmx_l2c_qos_wgt_s cn63xxp1; 1166*aa32a955SDavid Daney }; 1167*aa32a955SDavid Daney 1168*aa32a955SDavid Daney union cvmx_l2c_rscx_pfc { 1169*aa32a955SDavid Daney uint64_t u64; 1170*aa32a955SDavid Daney struct cvmx_l2c_rscx_pfc_s { 1171*aa32a955SDavid Daney uint64_t count:64; 1172*aa32a955SDavid Daney } s; 1173*aa32a955SDavid Daney struct cvmx_l2c_rscx_pfc_s cn63xx; 1174*aa32a955SDavid Daney struct cvmx_l2c_rscx_pfc_s cn63xxp1; 1175*aa32a955SDavid Daney }; 1176*aa32a955SDavid Daney 1177*aa32a955SDavid Daney union cvmx_l2c_rsdx_pfc { 1178*aa32a955SDavid Daney uint64_t u64; 1179*aa32a955SDavid Daney struct cvmx_l2c_rsdx_pfc_s { 1180*aa32a955SDavid Daney uint64_t count:64; 1181*aa32a955SDavid Daney } s; 1182*aa32a955SDavid Daney struct cvmx_l2c_rsdx_pfc_s cn63xx; 1183*aa32a955SDavid Daney struct cvmx_l2c_rsdx_pfc_s cn63xxp1; 1184*aa32a955SDavid Daney }; 1185*aa32a955SDavid 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 1291*aa32a955SDavid Daney union cvmx_l2c_tadx_ecc0 { 1292*aa32a955SDavid Daney uint64_t u64; 1293*aa32a955SDavid Daney struct cvmx_l2c_tadx_ecc0_s { 1294*aa32a955SDavid Daney uint64_t reserved_58_63:6; 1295*aa32a955SDavid Daney uint64_t ow3ecc:10; 1296*aa32a955SDavid Daney uint64_t reserved_42_47:6; 1297*aa32a955SDavid Daney uint64_t ow2ecc:10; 1298*aa32a955SDavid Daney uint64_t reserved_26_31:6; 1299*aa32a955SDavid Daney uint64_t ow1ecc:10; 1300*aa32a955SDavid Daney uint64_t reserved_10_15:6; 1301*aa32a955SDavid Daney uint64_t ow0ecc:10; 1302*aa32a955SDavid Daney } s; 1303*aa32a955SDavid Daney struct cvmx_l2c_tadx_ecc0_s cn63xx; 1304*aa32a955SDavid Daney struct cvmx_l2c_tadx_ecc0_s cn63xxp1; 1305*aa32a955SDavid Daney }; 1306*aa32a955SDavid Daney 1307*aa32a955SDavid Daney union cvmx_l2c_tadx_ecc1 { 1308*aa32a955SDavid Daney uint64_t u64; 1309*aa32a955SDavid Daney struct cvmx_l2c_tadx_ecc1_s { 1310*aa32a955SDavid Daney uint64_t reserved_58_63:6; 1311*aa32a955SDavid Daney uint64_t ow7ecc:10; 1312*aa32a955SDavid Daney uint64_t reserved_42_47:6; 1313*aa32a955SDavid Daney uint64_t ow6ecc:10; 1314*aa32a955SDavid Daney uint64_t reserved_26_31:6; 1315*aa32a955SDavid Daney uint64_t ow5ecc:10; 1316*aa32a955SDavid Daney uint64_t reserved_10_15:6; 1317*aa32a955SDavid Daney uint64_t ow4ecc:10; 1318*aa32a955SDavid Daney } s; 1319*aa32a955SDavid Daney struct cvmx_l2c_tadx_ecc1_s cn63xx; 1320*aa32a955SDavid Daney struct cvmx_l2c_tadx_ecc1_s cn63xxp1; 1321*aa32a955SDavid Daney }; 1322*aa32a955SDavid Daney 1323*aa32a955SDavid Daney union cvmx_l2c_tadx_ien { 1324*aa32a955SDavid Daney uint64_t u64; 1325*aa32a955SDavid Daney struct cvmx_l2c_tadx_ien_s { 1326*aa32a955SDavid Daney uint64_t reserved_9_63:55; 1327*aa32a955SDavid Daney uint64_t wrdislmc:1; 1328*aa32a955SDavid Daney uint64_t rddislmc:1; 1329*aa32a955SDavid Daney uint64_t noway:1; 1330*aa32a955SDavid Daney uint64_t vbfdbe:1; 1331*aa32a955SDavid Daney uint64_t vbfsbe:1; 1332*aa32a955SDavid Daney uint64_t tagdbe:1; 1333*aa32a955SDavid Daney uint64_t tagsbe:1; 1334*aa32a955SDavid Daney uint64_t l2ddbe:1; 1335*aa32a955SDavid Daney uint64_t l2dsbe:1; 1336*aa32a955SDavid Daney } s; 1337*aa32a955SDavid Daney struct cvmx_l2c_tadx_ien_s cn63xx; 1338*aa32a955SDavid Daney struct cvmx_l2c_tadx_ien_cn63xxp1 { 1339*aa32a955SDavid Daney uint64_t reserved_7_63:57; 1340*aa32a955SDavid Daney uint64_t noway:1; 1341*aa32a955SDavid Daney uint64_t vbfdbe:1; 1342*aa32a955SDavid Daney uint64_t vbfsbe:1; 1343*aa32a955SDavid Daney uint64_t tagdbe:1; 1344*aa32a955SDavid Daney uint64_t tagsbe:1; 1345*aa32a955SDavid Daney uint64_t l2ddbe:1; 1346*aa32a955SDavid Daney uint64_t l2dsbe:1; 1347*aa32a955SDavid Daney } cn63xxp1; 1348*aa32a955SDavid Daney }; 1349*aa32a955SDavid Daney 1350*aa32a955SDavid Daney union cvmx_l2c_tadx_int { 1351*aa32a955SDavid Daney uint64_t u64; 1352*aa32a955SDavid Daney struct cvmx_l2c_tadx_int_s { 1353*aa32a955SDavid Daney uint64_t reserved_9_63:55; 1354*aa32a955SDavid Daney uint64_t wrdislmc:1; 1355*aa32a955SDavid Daney uint64_t rddislmc:1; 1356*aa32a955SDavid Daney uint64_t noway:1; 1357*aa32a955SDavid Daney uint64_t vbfdbe:1; 1358*aa32a955SDavid Daney uint64_t vbfsbe:1; 1359*aa32a955SDavid Daney uint64_t tagdbe:1; 1360*aa32a955SDavid Daney uint64_t tagsbe:1; 1361*aa32a955SDavid Daney uint64_t l2ddbe:1; 1362*aa32a955SDavid Daney uint64_t l2dsbe:1; 1363*aa32a955SDavid Daney } s; 1364*aa32a955SDavid Daney struct cvmx_l2c_tadx_int_s cn63xx; 1365*aa32a955SDavid Daney }; 1366*aa32a955SDavid Daney 1367*aa32a955SDavid Daney union cvmx_l2c_tadx_pfc0 { 1368*aa32a955SDavid Daney uint64_t u64; 1369*aa32a955SDavid Daney struct cvmx_l2c_tadx_pfc0_s { 1370*aa32a955SDavid Daney uint64_t count:64; 1371*aa32a955SDavid Daney } s; 1372*aa32a955SDavid Daney struct cvmx_l2c_tadx_pfc0_s cn63xx; 1373*aa32a955SDavid Daney struct cvmx_l2c_tadx_pfc0_s cn63xxp1; 1374*aa32a955SDavid Daney }; 1375*aa32a955SDavid Daney 1376*aa32a955SDavid Daney union cvmx_l2c_tadx_pfc1 { 1377*aa32a955SDavid Daney uint64_t u64; 1378*aa32a955SDavid Daney struct cvmx_l2c_tadx_pfc1_s { 1379*aa32a955SDavid Daney uint64_t count:64; 1380*aa32a955SDavid Daney } s; 1381*aa32a955SDavid Daney struct cvmx_l2c_tadx_pfc1_s cn63xx; 1382*aa32a955SDavid Daney struct cvmx_l2c_tadx_pfc1_s cn63xxp1; 1383*aa32a955SDavid Daney }; 1384*aa32a955SDavid Daney 1385*aa32a955SDavid Daney union cvmx_l2c_tadx_pfc2 { 1386*aa32a955SDavid Daney uint64_t u64; 1387*aa32a955SDavid Daney struct cvmx_l2c_tadx_pfc2_s { 1388*aa32a955SDavid Daney uint64_t count:64; 1389*aa32a955SDavid Daney } s; 1390*aa32a955SDavid Daney struct cvmx_l2c_tadx_pfc2_s cn63xx; 1391*aa32a955SDavid Daney struct cvmx_l2c_tadx_pfc2_s cn63xxp1; 1392*aa32a955SDavid Daney }; 1393*aa32a955SDavid Daney 1394*aa32a955SDavid Daney union cvmx_l2c_tadx_pfc3 { 1395*aa32a955SDavid Daney uint64_t u64; 1396*aa32a955SDavid Daney struct cvmx_l2c_tadx_pfc3_s { 1397*aa32a955SDavid Daney uint64_t count:64; 1398*aa32a955SDavid Daney } s; 1399*aa32a955SDavid Daney struct cvmx_l2c_tadx_pfc3_s cn63xx; 1400*aa32a955SDavid Daney struct cvmx_l2c_tadx_pfc3_s cn63xxp1; 1401*aa32a955SDavid Daney }; 1402*aa32a955SDavid Daney 1403*aa32a955SDavid Daney union cvmx_l2c_tadx_prf { 1404*aa32a955SDavid Daney uint64_t u64; 1405*aa32a955SDavid Daney struct cvmx_l2c_tadx_prf_s { 1406*aa32a955SDavid Daney uint64_t reserved_32_63:32; 1407*aa32a955SDavid Daney uint64_t cnt3sel:8; 1408*aa32a955SDavid Daney uint64_t cnt2sel:8; 1409*aa32a955SDavid Daney uint64_t cnt1sel:8; 1410*aa32a955SDavid Daney uint64_t cnt0sel:8; 1411*aa32a955SDavid Daney } s; 1412*aa32a955SDavid Daney struct cvmx_l2c_tadx_prf_s cn63xx; 1413*aa32a955SDavid Daney struct cvmx_l2c_tadx_prf_s cn63xxp1; 1414*aa32a955SDavid Daney }; 1415*aa32a955SDavid Daney 1416*aa32a955SDavid Daney union cvmx_l2c_tadx_tag { 1417*aa32a955SDavid Daney uint64_t u64; 1418*aa32a955SDavid Daney struct cvmx_l2c_tadx_tag_s { 1419*aa32a955SDavid Daney uint64_t reserved_46_63:18; 1420*aa32a955SDavid Daney uint64_t ecc:6; 1421*aa32a955SDavid Daney uint64_t reserved_36_39:4; 1422*aa32a955SDavid Daney uint64_t tag:19; 1423*aa32a955SDavid Daney uint64_t reserved_4_16:13; 1424*aa32a955SDavid Daney uint64_t use:1; 1425*aa32a955SDavid Daney uint64_t valid:1; 1426*aa32a955SDavid Daney uint64_t dirty:1; 1427*aa32a955SDavid Daney uint64_t lock:1; 1428*aa32a955SDavid Daney } s; 1429*aa32a955SDavid Daney struct cvmx_l2c_tadx_tag_s cn63xx; 1430*aa32a955SDavid Daney struct cvmx_l2c_tadx_tag_s cn63xxp1; 1431*aa32a955SDavid Daney }; 1432*aa32a955SDavid Daney 1433*aa32a955SDavid Daney union cvmx_l2c_ver_id { 1434*aa32a955SDavid Daney uint64_t u64; 1435*aa32a955SDavid Daney struct cvmx_l2c_ver_id_s { 1436*aa32a955SDavid Daney uint64_t mask:64; 1437*aa32a955SDavid Daney } s; 1438*aa32a955SDavid Daney struct cvmx_l2c_ver_id_s cn63xx; 1439*aa32a955SDavid Daney struct cvmx_l2c_ver_id_s cn63xxp1; 1440*aa32a955SDavid Daney }; 1441*aa32a955SDavid Daney 1442*aa32a955SDavid Daney union cvmx_l2c_ver_iob { 1443*aa32a955SDavid Daney uint64_t u64; 1444*aa32a955SDavid Daney struct cvmx_l2c_ver_iob_s { 1445*aa32a955SDavid Daney uint64_t reserved_1_63:63; 1446*aa32a955SDavid Daney uint64_t mask:1; 1447*aa32a955SDavid Daney } s; 1448*aa32a955SDavid Daney struct cvmx_l2c_ver_iob_s cn63xx; 1449*aa32a955SDavid Daney struct cvmx_l2c_ver_iob_s cn63xxp1; 1450*aa32a955SDavid Daney }; 1451*aa32a955SDavid Daney 1452*aa32a955SDavid Daney union cvmx_l2c_ver_msc { 1453*aa32a955SDavid Daney uint64_t u64; 1454*aa32a955SDavid Daney struct cvmx_l2c_ver_msc_s { 1455*aa32a955SDavid Daney uint64_t reserved_2_63:62; 1456*aa32a955SDavid Daney uint64_t invl2:1; 1457*aa32a955SDavid Daney uint64_t dwb:1; 1458*aa32a955SDavid Daney } s; 1459*aa32a955SDavid Daney struct cvmx_l2c_ver_msc_s cn63xx; 1460*aa32a955SDavid Daney }; 1461*aa32a955SDavid Daney 1462*aa32a955SDavid Daney union cvmx_l2c_ver_pp { 1463*aa32a955SDavid Daney uint64_t u64; 1464*aa32a955SDavid Daney struct cvmx_l2c_ver_pp_s { 1465*aa32a955SDavid Daney uint64_t reserved_6_63:58; 1466*aa32a955SDavid Daney uint64_t mask:6; 1467*aa32a955SDavid Daney } s; 1468*aa32a955SDavid Daney struct cvmx_l2c_ver_pp_s cn63xx; 1469*aa32a955SDavid Daney struct cvmx_l2c_ver_pp_s cn63xxp1; 1470*aa32a955SDavid Daney }; 1471*aa32a955SDavid Daney 1472*aa32a955SDavid Daney union cvmx_l2c_virtid_iobx { 1473*aa32a955SDavid Daney uint64_t u64; 1474*aa32a955SDavid Daney struct cvmx_l2c_virtid_iobx_s { 1475*aa32a955SDavid Daney uint64_t reserved_14_63:50; 1476*aa32a955SDavid Daney uint64_t dwbid:6; 1477*aa32a955SDavid Daney uint64_t reserved_6_7:2; 1478*aa32a955SDavid Daney uint64_t id:6; 1479*aa32a955SDavid Daney } s; 1480*aa32a955SDavid Daney struct cvmx_l2c_virtid_iobx_s cn63xx; 1481*aa32a955SDavid Daney struct cvmx_l2c_virtid_iobx_s cn63xxp1; 1482*aa32a955SDavid Daney }; 1483*aa32a955SDavid Daney 1484*aa32a955SDavid Daney union cvmx_l2c_virtid_ppx { 1485*aa32a955SDavid Daney uint64_t u64; 1486*aa32a955SDavid Daney struct cvmx_l2c_virtid_ppx_s { 1487*aa32a955SDavid Daney uint64_t reserved_6_63:58; 1488*aa32a955SDavid Daney uint64_t id:6; 1489*aa32a955SDavid Daney } s; 1490*aa32a955SDavid Daney struct cvmx_l2c_virtid_ppx_s cn63xx; 1491*aa32a955SDavid Daney struct cvmx_l2c_virtid_ppx_s cn63xxp1; 1492*aa32a955SDavid Daney }; 1493*aa32a955SDavid Daney 1494*aa32a955SDavid Daney union cvmx_l2c_vrt_ctl { 1495*aa32a955SDavid Daney uint64_t u64; 1496*aa32a955SDavid Daney struct cvmx_l2c_vrt_ctl_s { 1497*aa32a955SDavid Daney uint64_t reserved_9_63:55; 1498*aa32a955SDavid Daney uint64_t ooberr:1; 1499*aa32a955SDavid Daney uint64_t reserved_7_7:1; 1500*aa32a955SDavid Daney uint64_t memsz:3; 1501*aa32a955SDavid Daney uint64_t numid:3; 1502*aa32a955SDavid Daney uint64_t enable:1; 1503*aa32a955SDavid Daney } s; 1504*aa32a955SDavid Daney struct cvmx_l2c_vrt_ctl_s cn63xx; 1505*aa32a955SDavid Daney struct cvmx_l2c_vrt_ctl_s cn63xxp1; 1506*aa32a955SDavid Daney }; 1507*aa32a955SDavid Daney 1508*aa32a955SDavid Daney union cvmx_l2c_vrt_memx { 1509*aa32a955SDavid Daney uint64_t u64; 1510*aa32a955SDavid Daney struct cvmx_l2c_vrt_memx_s { 1511*aa32a955SDavid Daney uint64_t reserved_36_63:28; 1512*aa32a955SDavid Daney uint64_t parity:4; 1513*aa32a955SDavid Daney uint64_t data:32; 1514*aa32a955SDavid Daney } s; 1515*aa32a955SDavid Daney struct cvmx_l2c_vrt_memx_s cn63xx; 1516*aa32a955SDavid Daney struct cvmx_l2c_vrt_memx_s cn63xxp1; 1517*aa32a955SDavid Daney }; 1518*aa32a955SDavid Daney 1519*aa32a955SDavid Daney union cvmx_l2c_wpar_iobx { 1520*aa32a955SDavid Daney uint64_t u64; 1521*aa32a955SDavid Daney struct cvmx_l2c_wpar_iobx_s { 1522*aa32a955SDavid Daney uint64_t reserved_16_63:48; 1523*aa32a955SDavid Daney uint64_t mask:16; 1524*aa32a955SDavid Daney } s; 1525*aa32a955SDavid Daney struct cvmx_l2c_wpar_iobx_s cn63xx; 1526*aa32a955SDavid Daney struct cvmx_l2c_wpar_iobx_s cn63xxp1; 1527*aa32a955SDavid Daney }; 1528*aa32a955SDavid Daney 1529*aa32a955SDavid Daney union cvmx_l2c_wpar_ppx { 1530*aa32a955SDavid Daney uint64_t u64; 1531*aa32a955SDavid Daney struct cvmx_l2c_wpar_ppx_s { 1532*aa32a955SDavid Daney uint64_t reserved_16_63:48; 1533*aa32a955SDavid Daney uint64_t mask:16; 1534*aa32a955SDavid Daney } s; 1535*aa32a955SDavid Daney struct cvmx_l2c_wpar_ppx_s cn63xx; 1536*aa32a955SDavid Daney struct cvmx_l2c_wpar_ppx_s cn63xxp1; 1537*aa32a955SDavid Daney }; 1538*aa32a955SDavid Daney 1539*aa32a955SDavid Daney union cvmx_l2c_xmcx_pfc { 1540*aa32a955SDavid Daney uint64_t u64; 1541*aa32a955SDavid Daney struct cvmx_l2c_xmcx_pfc_s { 1542*aa32a955SDavid Daney uint64_t count:64; 1543*aa32a955SDavid Daney } s; 1544*aa32a955SDavid Daney struct cvmx_l2c_xmcx_pfc_s cn63xx; 1545*aa32a955SDavid Daney struct cvmx_l2c_xmcx_pfc_s cn63xxp1; 1546*aa32a955SDavid Daney }; 1547*aa32a955SDavid Daney 1548*aa32a955SDavid Daney union cvmx_l2c_xmc_cmd { 1549*aa32a955SDavid Daney uint64_t u64; 1550*aa32a955SDavid Daney struct cvmx_l2c_xmc_cmd_s { 1551*aa32a955SDavid Daney uint64_t inuse:1; 1552*aa32a955SDavid Daney uint64_t cmd:6; 1553*aa32a955SDavid Daney uint64_t reserved_38_56:19; 1554*aa32a955SDavid Daney uint64_t addr:38; 1555*aa32a955SDavid Daney } s; 1556*aa32a955SDavid Daney struct cvmx_l2c_xmc_cmd_s cn63xx; 1557*aa32a955SDavid Daney struct cvmx_l2c_xmc_cmd_s cn63xxp1; 1558*aa32a955SDavid Daney }; 1559*aa32a955SDavid Daney 1560*aa32a955SDavid Daney union cvmx_l2c_xmdx_pfc { 1561*aa32a955SDavid Daney uint64_t u64; 1562*aa32a955SDavid Daney struct cvmx_l2c_xmdx_pfc_s { 1563*aa32a955SDavid Daney uint64_t count:64; 1564*aa32a955SDavid Daney } s; 1565*aa32a955SDavid Daney struct cvmx_l2c_xmdx_pfc_s cn63xx; 1566*aa32a955SDavid Daney struct cvmx_l2c_xmdx_pfc_s cn63xxp1; 1567*aa32a955SDavid Daney }; 1568*aa32a955SDavid Daney 156954293ec3SDavid Daney #endif 1570