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*c5aa59e8SDavid Daney * Copyright (c) 2003-2012 Cavium Networks 854293ec3SDavid Daney * 954293ec3SDavid Daney * This file is free software; you can redistribute it and/or modify 1054293ec3SDavid Daney * it under the terms of the GNU General Public License, Version 2, as 1154293ec3SDavid Daney * published by the Free Software Foundation. 1254293ec3SDavid Daney * 1354293ec3SDavid Daney * This file is distributed in the hope that it will be useful, but 1454293ec3SDavid Daney * AS-IS and WITHOUT ANY WARRANTY; without even the implied warranty 1554293ec3SDavid Daney * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE, TITLE, or 1654293ec3SDavid Daney * NONINFRINGEMENT. See the GNU General Public License for more 1754293ec3SDavid Daney * details. 1854293ec3SDavid Daney * 1954293ec3SDavid Daney * You should have received a copy of the GNU General Public License 2054293ec3SDavid Daney * along with this file; if not, write to the Free Software 2154293ec3SDavid Daney * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 2254293ec3SDavid Daney * or visit http://www.gnu.org/licenses/. 2354293ec3SDavid Daney * 2454293ec3SDavid Daney * This file may also be available under a different license from Cavium. 2554293ec3SDavid Daney * Contact Cavium Networks for more information 2654293ec3SDavid Daney ***********************license end**************************************/ 2754293ec3SDavid Daney 2854293ec3SDavid Daney #ifndef __CVMX_L2C_DEFS_H__ 2954293ec3SDavid Daney #define __CVMX_L2C_DEFS_H__ 3054293ec3SDavid Daney 31aa32a955SDavid Daney #define CVMX_L2C_BIG_CTL (CVMX_ADD_IO_SEG(0x0001180080800030ull)) 32aa32a955SDavid Daney #define CVMX_L2C_BST (CVMX_ADD_IO_SEG(0x00011800808007F8ull)) 33aa32a955SDavid Daney #define CVMX_L2C_BST0 (CVMX_ADD_IO_SEG(0x00011800800007F8ull)) 34aa32a955SDavid Daney #define CVMX_L2C_BST1 (CVMX_ADD_IO_SEG(0x00011800800007F0ull)) 35aa32a955SDavid Daney #define CVMX_L2C_BST2 (CVMX_ADD_IO_SEG(0x00011800800007E8ull)) 36*c5aa59e8SDavid Daney #define CVMX_L2C_BST_MEMX(block_id) (CVMX_ADD_IO_SEG(0x0001180080C007F8ull) + ((block_id) & 3) * 0x40000ull) 37*c5aa59e8SDavid Daney #define CVMX_L2C_BST_TDTX(block_id) (CVMX_ADD_IO_SEG(0x0001180080A007F0ull) + ((block_id) & 3) * 0x40000ull) 38*c5aa59e8SDavid Daney #define CVMX_L2C_BST_TTGX(block_id) (CVMX_ADD_IO_SEG(0x0001180080A007F8ull) + ((block_id) & 3) * 0x40000ull) 39aa32a955SDavid Daney #define CVMX_L2C_CFG (CVMX_ADD_IO_SEG(0x0001180080000000ull)) 40aa32a955SDavid Daney #define CVMX_L2C_COP0_MAPX(offset) (CVMX_ADD_IO_SEG(0x0001180080940000ull) + ((offset) & 16383) * 8) 41aa32a955SDavid Daney #define CVMX_L2C_CTL (CVMX_ADD_IO_SEG(0x0001180080800000ull)) 42aa32a955SDavid Daney #define CVMX_L2C_DBG (CVMX_ADD_IO_SEG(0x0001180080000030ull)) 43aa32a955SDavid Daney #define CVMX_L2C_DUT (CVMX_ADD_IO_SEG(0x0001180080000050ull)) 44*c5aa59e8SDavid Daney #define CVMX_L2C_DUT_MAPX(offset) (CVMX_ADD_IO_SEG(0x0001180080E00000ull) + ((offset) & 8191) * 8) 45*c5aa59e8SDavid Daney #define CVMX_L2C_ERR_TDTX(block_id) (CVMX_ADD_IO_SEG(0x0001180080A007E0ull) + ((block_id) & 3) * 0x40000ull) 46*c5aa59e8SDavid Daney #define CVMX_L2C_ERR_TTGX(block_id) (CVMX_ADD_IO_SEG(0x0001180080A007E8ull) + ((block_id) & 3) * 0x40000ull) 47*c5aa59e8SDavid Daney #define CVMX_L2C_ERR_VBFX(block_id) (CVMX_ADD_IO_SEG(0x0001180080C007F0ull) + ((block_id) & 3) * 0x40000ull) 48aa32a955SDavid Daney #define CVMX_L2C_ERR_XMC (CVMX_ADD_IO_SEG(0x00011800808007D8ull)) 49aa32a955SDavid Daney #define CVMX_L2C_GRPWRR0 (CVMX_ADD_IO_SEG(0x00011800800000C8ull)) 50aa32a955SDavid Daney #define CVMX_L2C_GRPWRR1 (CVMX_ADD_IO_SEG(0x00011800800000D0ull)) 51aa32a955SDavid Daney #define CVMX_L2C_INT_EN (CVMX_ADD_IO_SEG(0x0001180080000100ull)) 52aa32a955SDavid Daney #define CVMX_L2C_INT_ENA (CVMX_ADD_IO_SEG(0x0001180080800020ull)) 53aa32a955SDavid Daney #define CVMX_L2C_INT_REG (CVMX_ADD_IO_SEG(0x0001180080800018ull)) 54aa32a955SDavid Daney #define CVMX_L2C_INT_STAT (CVMX_ADD_IO_SEG(0x00011800800000F8ull)) 55aa32a955SDavid Daney #define CVMX_L2C_IOCX_PFC(block_id) (CVMX_ADD_IO_SEG(0x0001180080800420ull)) 56aa32a955SDavid Daney #define CVMX_L2C_IORX_PFC(block_id) (CVMX_ADD_IO_SEG(0x0001180080800428ull)) 57aa32a955SDavid Daney #define CVMX_L2C_LCKBASE (CVMX_ADD_IO_SEG(0x0001180080000058ull)) 58aa32a955SDavid Daney #define CVMX_L2C_LCKOFF (CVMX_ADD_IO_SEG(0x0001180080000060ull)) 59aa32a955SDavid Daney #define CVMX_L2C_LFB0 (CVMX_ADD_IO_SEG(0x0001180080000038ull)) 60aa32a955SDavid Daney #define CVMX_L2C_LFB1 (CVMX_ADD_IO_SEG(0x0001180080000040ull)) 61aa32a955SDavid Daney #define CVMX_L2C_LFB2 (CVMX_ADD_IO_SEG(0x0001180080000048ull)) 62aa32a955SDavid Daney #define CVMX_L2C_LFB3 (CVMX_ADD_IO_SEG(0x00011800800000B8ull)) 63aa32a955SDavid Daney #define CVMX_L2C_OOB (CVMX_ADD_IO_SEG(0x00011800800000D8ull)) 64aa32a955SDavid Daney #define CVMX_L2C_OOB1 (CVMX_ADD_IO_SEG(0x00011800800000E0ull)) 65aa32a955SDavid Daney #define CVMX_L2C_OOB2 (CVMX_ADD_IO_SEG(0x00011800800000E8ull)) 66aa32a955SDavid Daney #define CVMX_L2C_OOB3 (CVMX_ADD_IO_SEG(0x00011800800000F0ull)) 67aa32a955SDavid Daney #define CVMX_L2C_PFC0 CVMX_L2C_PFCX(0) 68aa32a955SDavid Daney #define CVMX_L2C_PFC1 CVMX_L2C_PFCX(1) 69aa32a955SDavid Daney #define CVMX_L2C_PFC2 CVMX_L2C_PFCX(2) 70aa32a955SDavid Daney #define CVMX_L2C_PFC3 CVMX_L2C_PFCX(3) 71aa32a955SDavid Daney #define CVMX_L2C_PFCTL (CVMX_ADD_IO_SEG(0x0001180080000090ull)) 72aa32a955SDavid Daney #define CVMX_L2C_PFCX(offset) (CVMX_ADD_IO_SEG(0x0001180080000098ull) + ((offset) & 3) * 8) 73aa32a955SDavid Daney #define CVMX_L2C_PPGRP (CVMX_ADD_IO_SEG(0x00011800800000C0ull)) 74*c5aa59e8SDavid Daney #define CVMX_L2C_QOS_IOBX(offset) (CVMX_ADD_IO_SEG(0x0001180080880200ull) + ((offset) & 1) * 8) 75*c5aa59e8SDavid Daney #define CVMX_L2C_QOS_PPX(offset) (CVMX_ADD_IO_SEG(0x0001180080880000ull) + ((offset) & 31) * 8) 76aa32a955SDavid Daney #define CVMX_L2C_QOS_WGT (CVMX_ADD_IO_SEG(0x0001180080800008ull)) 77*c5aa59e8SDavid Daney #define CVMX_L2C_RSCX_PFC(offset) (CVMX_ADD_IO_SEG(0x0001180080800410ull) + ((offset) & 3) * 64) 78*c5aa59e8SDavid Daney #define CVMX_L2C_RSDX_PFC(offset) (CVMX_ADD_IO_SEG(0x0001180080800418ull) + ((offset) & 3) * 64) 79aa32a955SDavid Daney #define CVMX_L2C_SPAR0 (CVMX_ADD_IO_SEG(0x0001180080000068ull)) 80aa32a955SDavid Daney #define CVMX_L2C_SPAR1 (CVMX_ADD_IO_SEG(0x0001180080000070ull)) 81aa32a955SDavid Daney #define CVMX_L2C_SPAR2 (CVMX_ADD_IO_SEG(0x0001180080000078ull)) 82aa32a955SDavid Daney #define CVMX_L2C_SPAR3 (CVMX_ADD_IO_SEG(0x0001180080000080ull)) 83aa32a955SDavid Daney #define CVMX_L2C_SPAR4 (CVMX_ADD_IO_SEG(0x0001180080000088ull)) 84*c5aa59e8SDavid Daney #define CVMX_L2C_TADX_ECC0(block_id) (CVMX_ADD_IO_SEG(0x0001180080A00018ull) + ((block_id) & 3) * 0x40000ull) 85*c5aa59e8SDavid Daney #define CVMX_L2C_TADX_ECC1(block_id) (CVMX_ADD_IO_SEG(0x0001180080A00020ull) + ((block_id) & 3) * 0x40000ull) 86*c5aa59e8SDavid Daney #define CVMX_L2C_TADX_IEN(block_id) (CVMX_ADD_IO_SEG(0x0001180080A00000ull) + ((block_id) & 3) * 0x40000ull) 87*c5aa59e8SDavid Daney #define CVMX_L2C_TADX_INT(block_id) (CVMX_ADD_IO_SEG(0x0001180080A00028ull) + ((block_id) & 3) * 0x40000ull) 88*c5aa59e8SDavid Daney #define CVMX_L2C_TADX_PFC0(block_id) (CVMX_ADD_IO_SEG(0x0001180080A00400ull) + ((block_id) & 3) * 0x40000ull) 89*c5aa59e8SDavid Daney #define CVMX_L2C_TADX_PFC1(block_id) (CVMX_ADD_IO_SEG(0x0001180080A00408ull) + ((block_id) & 3) * 0x40000ull) 90*c5aa59e8SDavid Daney #define CVMX_L2C_TADX_PFC2(block_id) (CVMX_ADD_IO_SEG(0x0001180080A00410ull) + ((block_id) & 3) * 0x40000ull) 91*c5aa59e8SDavid Daney #define CVMX_L2C_TADX_PFC3(block_id) (CVMX_ADD_IO_SEG(0x0001180080A00418ull) + ((block_id) & 3) * 0x40000ull) 92*c5aa59e8SDavid Daney #define CVMX_L2C_TADX_PRF(block_id) (CVMX_ADD_IO_SEG(0x0001180080A00008ull) + ((block_id) & 3) * 0x40000ull) 93*c5aa59e8SDavid Daney #define CVMX_L2C_TADX_TAG(block_id) (CVMX_ADD_IO_SEG(0x0001180080A00010ull) + ((block_id) & 3) * 0x40000ull) 94aa32a955SDavid Daney #define CVMX_L2C_VER_ID (CVMX_ADD_IO_SEG(0x00011800808007E0ull)) 95aa32a955SDavid Daney #define CVMX_L2C_VER_IOB (CVMX_ADD_IO_SEG(0x00011800808007F0ull)) 96aa32a955SDavid Daney #define CVMX_L2C_VER_MSC (CVMX_ADD_IO_SEG(0x00011800808007D0ull)) 97aa32a955SDavid Daney #define CVMX_L2C_VER_PP (CVMX_ADD_IO_SEG(0x00011800808007E8ull)) 98*c5aa59e8SDavid Daney #define CVMX_L2C_VIRTID_IOBX(offset) (CVMX_ADD_IO_SEG(0x00011800808C0200ull) + ((offset) & 1) * 8) 99*c5aa59e8SDavid Daney #define CVMX_L2C_VIRTID_PPX(offset) (CVMX_ADD_IO_SEG(0x00011800808C0000ull) + ((offset) & 31) * 8) 100aa32a955SDavid Daney #define CVMX_L2C_VRT_CTL (CVMX_ADD_IO_SEG(0x0001180080800010ull)) 101aa32a955SDavid Daney #define CVMX_L2C_VRT_MEMX(offset) (CVMX_ADD_IO_SEG(0x0001180080900000ull) + ((offset) & 1023) * 8) 102*c5aa59e8SDavid Daney #define CVMX_L2C_WPAR_IOBX(offset) (CVMX_ADD_IO_SEG(0x0001180080840200ull) + ((offset) & 1) * 8) 103*c5aa59e8SDavid Daney #define CVMX_L2C_WPAR_PPX(offset) (CVMX_ADD_IO_SEG(0x0001180080840000ull) + ((offset) & 31) * 8) 104*c5aa59e8SDavid Daney #define CVMX_L2C_XMCX_PFC(offset) (CVMX_ADD_IO_SEG(0x0001180080800400ull) + ((offset) & 3) * 64) 105aa32a955SDavid Daney #define CVMX_L2C_XMC_CMD (CVMX_ADD_IO_SEG(0x0001180080800028ull)) 106*c5aa59e8SDavid Daney #define CVMX_L2C_XMDX_PFC(offset) (CVMX_ADD_IO_SEG(0x0001180080800408ull) + ((offset) & 3) * 64) 107aa32a955SDavid Daney 108aa32a955SDavid Daney union cvmx_l2c_big_ctl { 109aa32a955SDavid Daney uint64_t u64; 110aa32a955SDavid Daney struct cvmx_l2c_big_ctl_s { 111*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 112aa32a955SDavid Daney uint64_t reserved_8_63:56; 113aa32a955SDavid Daney uint64_t maxdram:4; 114aa32a955SDavid Daney uint64_t reserved_1_3:3; 115aa32a955SDavid Daney uint64_t disable:1; 116*c5aa59e8SDavid Daney #else 117*c5aa59e8SDavid Daney uint64_t disable:1; 118*c5aa59e8SDavid Daney uint64_t reserved_1_3:3; 119*c5aa59e8SDavid Daney uint64_t maxdram:4; 120*c5aa59e8SDavid Daney uint64_t reserved_8_63:56; 121*c5aa59e8SDavid Daney #endif 122aa32a955SDavid Daney } s; 123*c5aa59e8SDavid Daney struct cvmx_l2c_big_ctl_s cn61xx; 124aa32a955SDavid Daney struct cvmx_l2c_big_ctl_s cn63xx; 125*c5aa59e8SDavid Daney struct cvmx_l2c_big_ctl_s cn66xx; 126*c5aa59e8SDavid Daney struct cvmx_l2c_big_ctl_s cn68xx; 127*c5aa59e8SDavid Daney struct cvmx_l2c_big_ctl_s cn68xxp1; 128*c5aa59e8SDavid Daney struct cvmx_l2c_big_ctl_s cnf71xx; 129aa32a955SDavid Daney }; 130aa32a955SDavid Daney 131aa32a955SDavid Daney union cvmx_l2c_bst { 132aa32a955SDavid Daney uint64_t u64; 133aa32a955SDavid Daney struct cvmx_l2c_bst_s { 134*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 135*c5aa59e8SDavid Daney uint64_t dutfl:32; 136*c5aa59e8SDavid Daney uint64_t rbffl:4; 137*c5aa59e8SDavid Daney uint64_t xbffl:4; 138*c5aa59e8SDavid Daney uint64_t tdpfl:4; 139*c5aa59e8SDavid Daney uint64_t ioccmdfl:4; 140*c5aa59e8SDavid Daney uint64_t iocdatfl:4; 141*c5aa59e8SDavid Daney uint64_t dutresfl:4; 142*c5aa59e8SDavid Daney uint64_t vrtfl:4; 143*c5aa59e8SDavid Daney uint64_t tdffl:4; 144*c5aa59e8SDavid Daney #else 145*c5aa59e8SDavid Daney uint64_t tdffl:4; 146*c5aa59e8SDavid Daney uint64_t vrtfl:4; 147*c5aa59e8SDavid Daney uint64_t dutresfl:4; 148*c5aa59e8SDavid Daney uint64_t iocdatfl:4; 149*c5aa59e8SDavid Daney uint64_t ioccmdfl:4; 150*c5aa59e8SDavid Daney uint64_t tdpfl:4; 151*c5aa59e8SDavid Daney uint64_t xbffl:4; 152*c5aa59e8SDavid Daney uint64_t rbffl:4; 153*c5aa59e8SDavid Daney uint64_t dutfl:32; 154*c5aa59e8SDavid Daney #endif 155*c5aa59e8SDavid Daney } s; 156*c5aa59e8SDavid Daney struct cvmx_l2c_bst_cn61xx { 157*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 158*c5aa59e8SDavid Daney uint64_t reserved_36_63:28; 159*c5aa59e8SDavid Daney uint64_t dutfl:4; 160*c5aa59e8SDavid Daney uint64_t reserved_17_31:15; 161*c5aa59e8SDavid Daney uint64_t ioccmdfl:1; 162*c5aa59e8SDavid Daney uint64_t reserved_13_15:3; 163*c5aa59e8SDavid Daney uint64_t iocdatfl:1; 164*c5aa59e8SDavid Daney uint64_t reserved_9_11:3; 165*c5aa59e8SDavid Daney uint64_t dutresfl:1; 166*c5aa59e8SDavid Daney uint64_t reserved_5_7:3; 167*c5aa59e8SDavid Daney uint64_t vrtfl:1; 168*c5aa59e8SDavid Daney uint64_t reserved_1_3:3; 169*c5aa59e8SDavid Daney uint64_t tdffl:1; 170*c5aa59e8SDavid Daney #else 171*c5aa59e8SDavid Daney uint64_t tdffl:1; 172*c5aa59e8SDavid Daney uint64_t reserved_1_3:3; 173*c5aa59e8SDavid Daney uint64_t vrtfl:1; 174*c5aa59e8SDavid Daney uint64_t reserved_5_7:3; 175*c5aa59e8SDavid Daney uint64_t dutresfl:1; 176*c5aa59e8SDavid Daney uint64_t reserved_9_11:3; 177*c5aa59e8SDavid Daney uint64_t iocdatfl:1; 178*c5aa59e8SDavid Daney uint64_t reserved_13_15:3; 179*c5aa59e8SDavid Daney uint64_t ioccmdfl:1; 180*c5aa59e8SDavid Daney uint64_t reserved_17_31:15; 181*c5aa59e8SDavid Daney uint64_t dutfl:4; 182*c5aa59e8SDavid Daney uint64_t reserved_36_63:28; 183*c5aa59e8SDavid Daney #endif 184*c5aa59e8SDavid Daney } cn61xx; 185*c5aa59e8SDavid Daney struct cvmx_l2c_bst_cn63xx { 186*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 187aa32a955SDavid Daney uint64_t reserved_38_63:26; 188aa32a955SDavid Daney uint64_t dutfl:6; 189aa32a955SDavid Daney uint64_t reserved_17_31:15; 190aa32a955SDavid Daney uint64_t ioccmdfl:1; 191aa32a955SDavid Daney uint64_t reserved_13_15:3; 192aa32a955SDavid Daney uint64_t iocdatfl:1; 193aa32a955SDavid Daney uint64_t reserved_9_11:3; 194aa32a955SDavid Daney uint64_t dutresfl:1; 195aa32a955SDavid Daney uint64_t reserved_5_7:3; 196aa32a955SDavid Daney uint64_t vrtfl:1; 197aa32a955SDavid Daney uint64_t reserved_1_3:3; 198aa32a955SDavid Daney uint64_t tdffl:1; 199*c5aa59e8SDavid Daney #else 200*c5aa59e8SDavid Daney uint64_t tdffl:1; 201*c5aa59e8SDavid Daney uint64_t reserved_1_3:3; 202*c5aa59e8SDavid Daney uint64_t vrtfl:1; 203*c5aa59e8SDavid Daney uint64_t reserved_5_7:3; 204*c5aa59e8SDavid Daney uint64_t dutresfl:1; 205*c5aa59e8SDavid Daney uint64_t reserved_9_11:3; 206*c5aa59e8SDavid Daney uint64_t iocdatfl:1; 207*c5aa59e8SDavid Daney uint64_t reserved_13_15:3; 208*c5aa59e8SDavid Daney uint64_t ioccmdfl:1; 209*c5aa59e8SDavid Daney uint64_t reserved_17_31:15; 210*c5aa59e8SDavid Daney uint64_t dutfl:6; 211*c5aa59e8SDavid Daney uint64_t reserved_38_63:26; 212*c5aa59e8SDavid Daney #endif 213*c5aa59e8SDavid Daney } cn63xx; 214*c5aa59e8SDavid Daney struct cvmx_l2c_bst_cn63xx cn63xxp1; 215*c5aa59e8SDavid Daney struct cvmx_l2c_bst_cn66xx { 216*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 217*c5aa59e8SDavid Daney uint64_t reserved_42_63:22; 218*c5aa59e8SDavid Daney uint64_t dutfl:10; 219*c5aa59e8SDavid Daney uint64_t reserved_17_31:15; 220*c5aa59e8SDavid Daney uint64_t ioccmdfl:1; 221*c5aa59e8SDavid Daney uint64_t reserved_13_15:3; 222*c5aa59e8SDavid Daney uint64_t iocdatfl:1; 223*c5aa59e8SDavid Daney uint64_t reserved_9_11:3; 224*c5aa59e8SDavid Daney uint64_t dutresfl:1; 225*c5aa59e8SDavid Daney uint64_t reserved_5_7:3; 226*c5aa59e8SDavid Daney uint64_t vrtfl:1; 227*c5aa59e8SDavid Daney uint64_t reserved_1_3:3; 228*c5aa59e8SDavid Daney uint64_t tdffl:1; 229*c5aa59e8SDavid Daney #else 230*c5aa59e8SDavid Daney uint64_t tdffl:1; 231*c5aa59e8SDavid Daney uint64_t reserved_1_3:3; 232*c5aa59e8SDavid Daney uint64_t vrtfl:1; 233*c5aa59e8SDavid Daney uint64_t reserved_5_7:3; 234*c5aa59e8SDavid Daney uint64_t dutresfl:1; 235*c5aa59e8SDavid Daney uint64_t reserved_9_11:3; 236*c5aa59e8SDavid Daney uint64_t iocdatfl:1; 237*c5aa59e8SDavid Daney uint64_t reserved_13_15:3; 238*c5aa59e8SDavid Daney uint64_t ioccmdfl:1; 239*c5aa59e8SDavid Daney uint64_t reserved_17_31:15; 240*c5aa59e8SDavid Daney uint64_t dutfl:10; 241*c5aa59e8SDavid Daney uint64_t reserved_42_63:22; 242*c5aa59e8SDavid Daney #endif 243*c5aa59e8SDavid Daney } cn66xx; 244*c5aa59e8SDavid Daney struct cvmx_l2c_bst_s cn68xx; 245*c5aa59e8SDavid Daney struct cvmx_l2c_bst_s cn68xxp1; 246*c5aa59e8SDavid Daney struct cvmx_l2c_bst_cn61xx cnf71xx; 247aa32a955SDavid Daney }; 24854293ec3SDavid Daney 24954293ec3SDavid Daney union cvmx_l2c_bst0 { 25054293ec3SDavid Daney uint64_t u64; 25154293ec3SDavid Daney struct cvmx_l2c_bst0_s { 252*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 25354293ec3SDavid Daney uint64_t reserved_24_63:40; 25454293ec3SDavid Daney uint64_t dtbnk:1; 25554293ec3SDavid Daney uint64_t wlb_msk:4; 25654293ec3SDavid Daney uint64_t dtcnt:13; 25754293ec3SDavid Daney uint64_t dt:1; 25854293ec3SDavid Daney uint64_t stin_msk:1; 25954293ec3SDavid Daney uint64_t wlb_dat:4; 260*c5aa59e8SDavid Daney #else 261*c5aa59e8SDavid Daney uint64_t wlb_dat:4; 262*c5aa59e8SDavid Daney uint64_t stin_msk:1; 263*c5aa59e8SDavid Daney uint64_t dt:1; 264*c5aa59e8SDavid Daney uint64_t dtcnt:13; 265*c5aa59e8SDavid Daney uint64_t wlb_msk:4; 266*c5aa59e8SDavid Daney uint64_t dtbnk:1; 267*c5aa59e8SDavid Daney uint64_t reserved_24_63:40; 268*c5aa59e8SDavid Daney #endif 26954293ec3SDavid Daney } s; 27054293ec3SDavid Daney struct cvmx_l2c_bst0_cn30xx { 271*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 27254293ec3SDavid Daney uint64_t reserved_23_63:41; 27354293ec3SDavid Daney uint64_t wlb_msk:4; 27454293ec3SDavid Daney uint64_t reserved_15_18:4; 27554293ec3SDavid Daney uint64_t dtcnt:9; 27654293ec3SDavid Daney uint64_t dt:1; 27754293ec3SDavid Daney uint64_t reserved_4_4:1; 27854293ec3SDavid Daney uint64_t wlb_dat:4; 279*c5aa59e8SDavid Daney #else 280*c5aa59e8SDavid Daney uint64_t wlb_dat:4; 281*c5aa59e8SDavid Daney uint64_t reserved_4_4:1; 282*c5aa59e8SDavid Daney uint64_t dt:1; 283*c5aa59e8SDavid Daney uint64_t dtcnt:9; 284*c5aa59e8SDavid Daney uint64_t reserved_15_18:4; 285*c5aa59e8SDavid Daney uint64_t wlb_msk:4; 286*c5aa59e8SDavid Daney uint64_t reserved_23_63:41; 287*c5aa59e8SDavid Daney #endif 28854293ec3SDavid Daney } cn30xx; 28954293ec3SDavid Daney struct cvmx_l2c_bst0_cn31xx { 290*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 29154293ec3SDavid Daney uint64_t reserved_23_63:41; 29254293ec3SDavid Daney uint64_t wlb_msk:4; 29354293ec3SDavid Daney uint64_t reserved_16_18:3; 29454293ec3SDavid Daney uint64_t dtcnt:10; 29554293ec3SDavid Daney uint64_t dt:1; 29654293ec3SDavid Daney uint64_t stin_msk:1; 29754293ec3SDavid Daney uint64_t wlb_dat:4; 298*c5aa59e8SDavid Daney #else 299*c5aa59e8SDavid Daney uint64_t wlb_dat:4; 300*c5aa59e8SDavid Daney uint64_t stin_msk:1; 301*c5aa59e8SDavid Daney uint64_t dt:1; 302*c5aa59e8SDavid Daney uint64_t dtcnt:10; 303*c5aa59e8SDavid Daney uint64_t reserved_16_18:3; 304*c5aa59e8SDavid Daney uint64_t wlb_msk:4; 305*c5aa59e8SDavid Daney uint64_t reserved_23_63:41; 306*c5aa59e8SDavid Daney #endif 30754293ec3SDavid Daney } cn31xx; 30854293ec3SDavid Daney struct cvmx_l2c_bst0_cn38xx { 309*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 31054293ec3SDavid Daney uint64_t reserved_19_63:45; 31154293ec3SDavid Daney uint64_t dtcnt:13; 31254293ec3SDavid Daney uint64_t dt:1; 31354293ec3SDavid Daney uint64_t stin_msk:1; 31454293ec3SDavid Daney uint64_t wlb_dat:4; 315*c5aa59e8SDavid Daney #else 316*c5aa59e8SDavid Daney uint64_t wlb_dat:4; 317*c5aa59e8SDavid Daney uint64_t stin_msk:1; 318*c5aa59e8SDavid Daney uint64_t dt:1; 319*c5aa59e8SDavid Daney uint64_t dtcnt:13; 320*c5aa59e8SDavid Daney uint64_t reserved_19_63:45; 321*c5aa59e8SDavid Daney #endif 32254293ec3SDavid Daney } cn38xx; 32354293ec3SDavid Daney struct cvmx_l2c_bst0_cn38xx cn38xxp2; 32454293ec3SDavid Daney struct cvmx_l2c_bst0_cn50xx { 325*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 32654293ec3SDavid Daney uint64_t reserved_24_63:40; 32754293ec3SDavid Daney uint64_t dtbnk:1; 32854293ec3SDavid Daney uint64_t wlb_msk:4; 32954293ec3SDavid Daney uint64_t reserved_16_18:3; 33054293ec3SDavid Daney uint64_t dtcnt:10; 33154293ec3SDavid Daney uint64_t dt:1; 33254293ec3SDavid Daney uint64_t stin_msk:1; 33354293ec3SDavid Daney uint64_t wlb_dat:4; 334*c5aa59e8SDavid Daney #else 335*c5aa59e8SDavid Daney uint64_t wlb_dat:4; 336*c5aa59e8SDavid Daney uint64_t stin_msk:1; 337*c5aa59e8SDavid Daney uint64_t dt:1; 338*c5aa59e8SDavid Daney uint64_t dtcnt:10; 339*c5aa59e8SDavid Daney uint64_t reserved_16_18:3; 340*c5aa59e8SDavid Daney uint64_t wlb_msk:4; 341*c5aa59e8SDavid Daney uint64_t dtbnk:1; 342*c5aa59e8SDavid Daney uint64_t reserved_24_63:40; 343*c5aa59e8SDavid Daney #endif 34454293ec3SDavid Daney } cn50xx; 34554293ec3SDavid Daney struct cvmx_l2c_bst0_cn50xx cn52xx; 34654293ec3SDavid Daney struct cvmx_l2c_bst0_cn50xx cn52xxp1; 34754293ec3SDavid Daney struct cvmx_l2c_bst0_s cn56xx; 34854293ec3SDavid Daney struct cvmx_l2c_bst0_s cn56xxp1; 34954293ec3SDavid Daney struct cvmx_l2c_bst0_s cn58xx; 35054293ec3SDavid Daney struct cvmx_l2c_bst0_s cn58xxp1; 35154293ec3SDavid Daney }; 35254293ec3SDavid Daney 35354293ec3SDavid Daney union cvmx_l2c_bst1 { 35454293ec3SDavid Daney uint64_t u64; 35554293ec3SDavid Daney struct cvmx_l2c_bst1_s { 356*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 35754293ec3SDavid Daney uint64_t reserved_9_63:55; 35854293ec3SDavid Daney uint64_t l2t:9; 359*c5aa59e8SDavid Daney #else 360*c5aa59e8SDavid Daney uint64_t l2t:9; 361*c5aa59e8SDavid Daney uint64_t reserved_9_63:55; 362*c5aa59e8SDavid Daney #endif 36354293ec3SDavid Daney } s; 36454293ec3SDavid Daney struct cvmx_l2c_bst1_cn30xx { 365*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 36654293ec3SDavid Daney uint64_t reserved_16_63:48; 36754293ec3SDavid Daney uint64_t vwdf:4; 36854293ec3SDavid Daney uint64_t lrf:2; 36954293ec3SDavid Daney uint64_t vab_vwcf:1; 37054293ec3SDavid Daney uint64_t reserved_5_8:4; 37154293ec3SDavid Daney uint64_t l2t:5; 372*c5aa59e8SDavid Daney #else 373*c5aa59e8SDavid Daney uint64_t l2t:5; 374*c5aa59e8SDavid Daney uint64_t reserved_5_8:4; 375*c5aa59e8SDavid Daney uint64_t vab_vwcf:1; 376*c5aa59e8SDavid Daney uint64_t lrf:2; 377*c5aa59e8SDavid Daney uint64_t vwdf:4; 378*c5aa59e8SDavid Daney uint64_t reserved_16_63:48; 379*c5aa59e8SDavid Daney #endif 38054293ec3SDavid Daney } cn30xx; 38154293ec3SDavid Daney struct cvmx_l2c_bst1_cn30xx cn31xx; 38254293ec3SDavid Daney struct cvmx_l2c_bst1_cn38xx { 383*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 38454293ec3SDavid Daney uint64_t reserved_16_63:48; 38554293ec3SDavid Daney uint64_t vwdf:4; 38654293ec3SDavid Daney uint64_t lrf:2; 38754293ec3SDavid Daney uint64_t vab_vwcf:1; 38854293ec3SDavid Daney uint64_t l2t:9; 389*c5aa59e8SDavid Daney #else 390*c5aa59e8SDavid Daney uint64_t l2t:9; 391*c5aa59e8SDavid Daney uint64_t vab_vwcf:1; 392*c5aa59e8SDavid Daney uint64_t lrf:2; 393*c5aa59e8SDavid Daney uint64_t vwdf:4; 394*c5aa59e8SDavid Daney uint64_t reserved_16_63:48; 395*c5aa59e8SDavid Daney #endif 39654293ec3SDavid Daney } cn38xx; 39754293ec3SDavid Daney struct cvmx_l2c_bst1_cn38xx cn38xxp2; 39854293ec3SDavid Daney struct cvmx_l2c_bst1_cn38xx cn50xx; 39954293ec3SDavid Daney struct cvmx_l2c_bst1_cn52xx { 400*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 40154293ec3SDavid Daney uint64_t reserved_19_63:45; 40254293ec3SDavid Daney uint64_t plc2:1; 40354293ec3SDavid Daney uint64_t plc1:1; 40454293ec3SDavid Daney uint64_t plc0:1; 40554293ec3SDavid Daney uint64_t vwdf:4; 40654293ec3SDavid Daney uint64_t reserved_11_11:1; 40754293ec3SDavid Daney uint64_t ilc:1; 40854293ec3SDavid Daney uint64_t vab_vwcf:1; 40954293ec3SDavid Daney uint64_t l2t:9; 410*c5aa59e8SDavid Daney #else 411*c5aa59e8SDavid Daney uint64_t l2t:9; 412*c5aa59e8SDavid Daney uint64_t vab_vwcf:1; 413*c5aa59e8SDavid Daney uint64_t ilc:1; 414*c5aa59e8SDavid Daney uint64_t reserved_11_11:1; 415*c5aa59e8SDavid Daney uint64_t vwdf:4; 416*c5aa59e8SDavid Daney uint64_t plc0:1; 417*c5aa59e8SDavid Daney uint64_t plc1:1; 418*c5aa59e8SDavid Daney uint64_t plc2:1; 419*c5aa59e8SDavid Daney uint64_t reserved_19_63:45; 420*c5aa59e8SDavid Daney #endif 42154293ec3SDavid Daney } cn52xx; 42254293ec3SDavid Daney struct cvmx_l2c_bst1_cn52xx cn52xxp1; 42354293ec3SDavid Daney struct cvmx_l2c_bst1_cn56xx { 424*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 42554293ec3SDavid Daney uint64_t reserved_24_63:40; 42654293ec3SDavid Daney uint64_t plc2:1; 42754293ec3SDavid Daney uint64_t plc1:1; 42854293ec3SDavid Daney uint64_t plc0:1; 42954293ec3SDavid Daney uint64_t ilc:1; 43054293ec3SDavid Daney uint64_t vwdf1:4; 43154293ec3SDavid Daney uint64_t vwdf0:4; 43254293ec3SDavid Daney uint64_t vab_vwcf1:1; 43354293ec3SDavid Daney uint64_t reserved_10_10:1; 43454293ec3SDavid Daney uint64_t vab_vwcf0:1; 43554293ec3SDavid Daney uint64_t l2t:9; 436*c5aa59e8SDavid Daney #else 437*c5aa59e8SDavid Daney uint64_t l2t:9; 438*c5aa59e8SDavid Daney uint64_t vab_vwcf0:1; 439*c5aa59e8SDavid Daney uint64_t reserved_10_10:1; 440*c5aa59e8SDavid Daney uint64_t vab_vwcf1:1; 441*c5aa59e8SDavid Daney uint64_t vwdf0:4; 442*c5aa59e8SDavid Daney uint64_t vwdf1:4; 443*c5aa59e8SDavid Daney uint64_t ilc:1; 444*c5aa59e8SDavid Daney uint64_t plc0:1; 445*c5aa59e8SDavid Daney uint64_t plc1:1; 446*c5aa59e8SDavid Daney uint64_t plc2:1; 447*c5aa59e8SDavid Daney uint64_t reserved_24_63:40; 448*c5aa59e8SDavid Daney #endif 44954293ec3SDavid Daney } cn56xx; 45054293ec3SDavid Daney struct cvmx_l2c_bst1_cn56xx cn56xxp1; 45154293ec3SDavid Daney struct cvmx_l2c_bst1_cn38xx cn58xx; 45254293ec3SDavid Daney struct cvmx_l2c_bst1_cn38xx cn58xxp1; 45354293ec3SDavid Daney }; 45454293ec3SDavid Daney 45554293ec3SDavid Daney union cvmx_l2c_bst2 { 45654293ec3SDavid Daney uint64_t u64; 45754293ec3SDavid Daney struct cvmx_l2c_bst2_s { 458*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 45954293ec3SDavid Daney uint64_t reserved_16_63:48; 46054293ec3SDavid Daney uint64_t mrb:4; 46154293ec3SDavid Daney uint64_t reserved_4_11:8; 46254293ec3SDavid Daney uint64_t ipcbst:1; 46354293ec3SDavid Daney uint64_t picbst:1; 46454293ec3SDavid Daney uint64_t xrdmsk:1; 46554293ec3SDavid Daney uint64_t xrddat:1; 466*c5aa59e8SDavid Daney #else 467*c5aa59e8SDavid Daney uint64_t xrddat:1; 468*c5aa59e8SDavid Daney uint64_t xrdmsk:1; 469*c5aa59e8SDavid Daney uint64_t picbst:1; 470*c5aa59e8SDavid Daney uint64_t ipcbst:1; 471*c5aa59e8SDavid Daney uint64_t reserved_4_11:8; 472*c5aa59e8SDavid Daney uint64_t mrb:4; 473*c5aa59e8SDavid Daney uint64_t reserved_16_63:48; 474*c5aa59e8SDavid Daney #endif 47554293ec3SDavid Daney } s; 47654293ec3SDavid Daney struct cvmx_l2c_bst2_cn30xx { 477*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 47854293ec3SDavid Daney uint64_t reserved_16_63:48; 47954293ec3SDavid Daney uint64_t mrb:4; 48054293ec3SDavid Daney uint64_t rmdf:4; 48154293ec3SDavid Daney uint64_t reserved_4_7:4; 48254293ec3SDavid Daney uint64_t ipcbst:1; 48354293ec3SDavid Daney uint64_t reserved_2_2:1; 48454293ec3SDavid Daney uint64_t xrdmsk:1; 48554293ec3SDavid Daney uint64_t xrddat:1; 486*c5aa59e8SDavid Daney #else 487*c5aa59e8SDavid Daney uint64_t xrddat:1; 488*c5aa59e8SDavid Daney uint64_t xrdmsk:1; 489*c5aa59e8SDavid Daney uint64_t reserved_2_2:1; 490*c5aa59e8SDavid Daney uint64_t ipcbst:1; 491*c5aa59e8SDavid Daney uint64_t reserved_4_7:4; 492*c5aa59e8SDavid Daney uint64_t rmdf:4; 493*c5aa59e8SDavid Daney uint64_t mrb:4; 494*c5aa59e8SDavid Daney uint64_t reserved_16_63:48; 495*c5aa59e8SDavid Daney #endif 49654293ec3SDavid Daney } cn30xx; 49754293ec3SDavid Daney struct cvmx_l2c_bst2_cn30xx cn31xx; 49854293ec3SDavid Daney struct cvmx_l2c_bst2_cn38xx { 499*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 50054293ec3SDavid Daney uint64_t reserved_16_63:48; 50154293ec3SDavid Daney uint64_t mrb:4; 50254293ec3SDavid Daney uint64_t rmdf:4; 50354293ec3SDavid Daney uint64_t rhdf:4; 50454293ec3SDavid Daney uint64_t ipcbst:1; 50554293ec3SDavid Daney uint64_t picbst:1; 50654293ec3SDavid Daney uint64_t xrdmsk:1; 50754293ec3SDavid Daney uint64_t xrddat:1; 508*c5aa59e8SDavid Daney #else 509*c5aa59e8SDavid Daney uint64_t xrddat:1; 510*c5aa59e8SDavid Daney uint64_t xrdmsk:1; 511*c5aa59e8SDavid Daney uint64_t picbst:1; 512*c5aa59e8SDavid Daney uint64_t ipcbst:1; 513*c5aa59e8SDavid Daney uint64_t rhdf:4; 514*c5aa59e8SDavid Daney uint64_t rmdf:4; 515*c5aa59e8SDavid Daney uint64_t mrb:4; 516*c5aa59e8SDavid Daney uint64_t reserved_16_63:48; 517*c5aa59e8SDavid Daney #endif 51854293ec3SDavid Daney } cn38xx; 51954293ec3SDavid Daney struct cvmx_l2c_bst2_cn38xx cn38xxp2; 52054293ec3SDavid Daney struct cvmx_l2c_bst2_cn30xx cn50xx; 52154293ec3SDavid Daney struct cvmx_l2c_bst2_cn30xx cn52xx; 52254293ec3SDavid Daney struct cvmx_l2c_bst2_cn30xx cn52xxp1; 52354293ec3SDavid Daney struct cvmx_l2c_bst2_cn56xx { 524*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 52554293ec3SDavid Daney uint64_t reserved_16_63:48; 52654293ec3SDavid Daney uint64_t mrb:4; 52754293ec3SDavid Daney uint64_t rmdb:4; 52854293ec3SDavid Daney uint64_t rhdb:4; 52954293ec3SDavid Daney uint64_t ipcbst:1; 53054293ec3SDavid Daney uint64_t picbst:1; 53154293ec3SDavid Daney uint64_t xrdmsk:1; 53254293ec3SDavid Daney uint64_t xrddat:1; 533*c5aa59e8SDavid Daney #else 534*c5aa59e8SDavid Daney uint64_t xrddat:1; 535*c5aa59e8SDavid Daney uint64_t xrdmsk:1; 536*c5aa59e8SDavid Daney uint64_t picbst:1; 537*c5aa59e8SDavid Daney uint64_t ipcbst:1; 538*c5aa59e8SDavid Daney uint64_t rhdb:4; 539*c5aa59e8SDavid Daney uint64_t rmdb:4; 540*c5aa59e8SDavid Daney uint64_t mrb:4; 541*c5aa59e8SDavid Daney uint64_t reserved_16_63:48; 542*c5aa59e8SDavid Daney #endif 54354293ec3SDavid Daney } cn56xx; 54454293ec3SDavid Daney struct cvmx_l2c_bst2_cn56xx cn56xxp1; 54554293ec3SDavid Daney struct cvmx_l2c_bst2_cn56xx cn58xx; 54654293ec3SDavid Daney struct cvmx_l2c_bst2_cn56xx cn58xxp1; 54754293ec3SDavid Daney }; 54854293ec3SDavid Daney 549aa32a955SDavid Daney union cvmx_l2c_bst_memx { 550aa32a955SDavid Daney uint64_t u64; 551aa32a955SDavid Daney struct cvmx_l2c_bst_memx_s { 552*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 553aa32a955SDavid Daney uint64_t start_bist:1; 554aa32a955SDavid Daney uint64_t clear_bist:1; 555aa32a955SDavid Daney uint64_t reserved_5_61:57; 556aa32a955SDavid Daney uint64_t rdffl:1; 557aa32a955SDavid Daney uint64_t vbffl:4; 558*c5aa59e8SDavid Daney #else 559*c5aa59e8SDavid Daney uint64_t vbffl:4; 560*c5aa59e8SDavid Daney uint64_t rdffl:1; 561*c5aa59e8SDavid Daney uint64_t reserved_5_61:57; 562*c5aa59e8SDavid Daney uint64_t clear_bist:1; 563*c5aa59e8SDavid Daney uint64_t start_bist:1; 564*c5aa59e8SDavid Daney #endif 565aa32a955SDavid Daney } s; 566*c5aa59e8SDavid Daney struct cvmx_l2c_bst_memx_s cn61xx; 567aa32a955SDavid Daney struct cvmx_l2c_bst_memx_s cn63xx; 568aa32a955SDavid Daney struct cvmx_l2c_bst_memx_s cn63xxp1; 569*c5aa59e8SDavid Daney struct cvmx_l2c_bst_memx_s cn66xx; 570*c5aa59e8SDavid Daney struct cvmx_l2c_bst_memx_s cn68xx; 571*c5aa59e8SDavid Daney struct cvmx_l2c_bst_memx_s cn68xxp1; 572*c5aa59e8SDavid Daney struct cvmx_l2c_bst_memx_s cnf71xx; 573aa32a955SDavid Daney }; 574aa32a955SDavid Daney 575aa32a955SDavid Daney union cvmx_l2c_bst_tdtx { 576aa32a955SDavid Daney uint64_t u64; 577aa32a955SDavid Daney struct cvmx_l2c_bst_tdtx_s { 578*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 579aa32a955SDavid Daney uint64_t reserved_32_63:32; 580aa32a955SDavid Daney uint64_t fbfrspfl:8; 581aa32a955SDavid Daney uint64_t sbffl:8; 582aa32a955SDavid Daney uint64_t fbffl:8; 583aa32a955SDavid Daney uint64_t l2dfl:8; 584*c5aa59e8SDavid Daney #else 585*c5aa59e8SDavid Daney uint64_t l2dfl:8; 586*c5aa59e8SDavid Daney uint64_t fbffl:8; 587*c5aa59e8SDavid Daney uint64_t sbffl:8; 588*c5aa59e8SDavid Daney uint64_t fbfrspfl:8; 589*c5aa59e8SDavid Daney uint64_t reserved_32_63:32; 590*c5aa59e8SDavid Daney #endif 591aa32a955SDavid Daney } s; 592*c5aa59e8SDavid Daney struct cvmx_l2c_bst_tdtx_s cn61xx; 593aa32a955SDavid Daney struct cvmx_l2c_bst_tdtx_s cn63xx; 594aa32a955SDavid Daney struct cvmx_l2c_bst_tdtx_cn63xxp1 { 595*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 596aa32a955SDavid Daney uint64_t reserved_24_63:40; 597aa32a955SDavid Daney uint64_t sbffl:8; 598aa32a955SDavid Daney uint64_t fbffl:8; 599aa32a955SDavid Daney uint64_t l2dfl:8; 600*c5aa59e8SDavid Daney #else 601*c5aa59e8SDavid Daney uint64_t l2dfl:8; 602*c5aa59e8SDavid Daney uint64_t fbffl:8; 603*c5aa59e8SDavid Daney uint64_t sbffl:8; 604*c5aa59e8SDavid Daney uint64_t reserved_24_63:40; 605*c5aa59e8SDavid Daney #endif 606aa32a955SDavid Daney } cn63xxp1; 607*c5aa59e8SDavid Daney struct cvmx_l2c_bst_tdtx_s cn66xx; 608*c5aa59e8SDavid Daney struct cvmx_l2c_bst_tdtx_s cn68xx; 609*c5aa59e8SDavid Daney struct cvmx_l2c_bst_tdtx_s cn68xxp1; 610*c5aa59e8SDavid Daney struct cvmx_l2c_bst_tdtx_s cnf71xx; 611aa32a955SDavid Daney }; 612aa32a955SDavid Daney 613aa32a955SDavid Daney union cvmx_l2c_bst_ttgx { 614aa32a955SDavid Daney uint64_t u64; 615aa32a955SDavid Daney struct cvmx_l2c_bst_ttgx_s { 616*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 617aa32a955SDavid Daney uint64_t reserved_17_63:47; 618aa32a955SDavid Daney uint64_t lrufl:1; 619aa32a955SDavid Daney uint64_t tagfl:16; 620*c5aa59e8SDavid Daney #else 621*c5aa59e8SDavid Daney uint64_t tagfl:16; 622*c5aa59e8SDavid Daney uint64_t lrufl:1; 623*c5aa59e8SDavid Daney uint64_t reserved_17_63:47; 624*c5aa59e8SDavid Daney #endif 625aa32a955SDavid Daney } s; 626*c5aa59e8SDavid Daney struct cvmx_l2c_bst_ttgx_s cn61xx; 627aa32a955SDavid Daney struct cvmx_l2c_bst_ttgx_s cn63xx; 628aa32a955SDavid Daney struct cvmx_l2c_bst_ttgx_s cn63xxp1; 629*c5aa59e8SDavid Daney struct cvmx_l2c_bst_ttgx_s cn66xx; 630*c5aa59e8SDavid Daney struct cvmx_l2c_bst_ttgx_s cn68xx; 631*c5aa59e8SDavid Daney struct cvmx_l2c_bst_ttgx_s cn68xxp1; 632*c5aa59e8SDavid Daney struct cvmx_l2c_bst_ttgx_s cnf71xx; 633aa32a955SDavid Daney }; 634aa32a955SDavid Daney 63554293ec3SDavid Daney union cvmx_l2c_cfg { 63654293ec3SDavid Daney uint64_t u64; 63754293ec3SDavid Daney struct cvmx_l2c_cfg_s { 638*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 63954293ec3SDavid Daney uint64_t reserved_20_63:44; 64054293ec3SDavid Daney uint64_t bstrun:1; 64154293ec3SDavid Daney uint64_t lbist:1; 64254293ec3SDavid Daney uint64_t xor_bank:1; 64354293ec3SDavid Daney uint64_t dpres1:1; 64454293ec3SDavid Daney uint64_t dpres0:1; 64554293ec3SDavid Daney uint64_t dfill_dis:1; 64654293ec3SDavid Daney uint64_t fpexp:4; 64754293ec3SDavid Daney uint64_t fpempty:1; 64854293ec3SDavid Daney uint64_t fpen:1; 64954293ec3SDavid Daney uint64_t idxalias:1; 65054293ec3SDavid Daney uint64_t mwf_crd:4; 65154293ec3SDavid Daney uint64_t rsp_arb_mode:1; 65254293ec3SDavid Daney uint64_t rfb_arb_mode:1; 65354293ec3SDavid Daney uint64_t lrf_arb_mode:1; 654*c5aa59e8SDavid Daney #else 655*c5aa59e8SDavid Daney uint64_t lrf_arb_mode:1; 656*c5aa59e8SDavid Daney uint64_t rfb_arb_mode:1; 657*c5aa59e8SDavid Daney uint64_t rsp_arb_mode:1; 658*c5aa59e8SDavid Daney uint64_t mwf_crd:4; 659*c5aa59e8SDavid Daney uint64_t idxalias:1; 660*c5aa59e8SDavid Daney uint64_t fpen:1; 661*c5aa59e8SDavid Daney uint64_t fpempty:1; 662*c5aa59e8SDavid Daney uint64_t fpexp:4; 663*c5aa59e8SDavid Daney uint64_t dfill_dis:1; 664*c5aa59e8SDavid Daney uint64_t dpres0:1; 665*c5aa59e8SDavid Daney uint64_t dpres1:1; 666*c5aa59e8SDavid Daney uint64_t xor_bank:1; 667*c5aa59e8SDavid Daney uint64_t lbist:1; 668*c5aa59e8SDavid Daney uint64_t bstrun:1; 669*c5aa59e8SDavid Daney uint64_t reserved_20_63:44; 670*c5aa59e8SDavid Daney #endif 67154293ec3SDavid Daney } s; 67254293ec3SDavid Daney struct cvmx_l2c_cfg_cn30xx { 673*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 67454293ec3SDavid Daney uint64_t reserved_14_63:50; 67554293ec3SDavid Daney uint64_t fpexp:4; 67654293ec3SDavid Daney uint64_t fpempty:1; 67754293ec3SDavid Daney uint64_t fpen:1; 67854293ec3SDavid Daney uint64_t idxalias:1; 67954293ec3SDavid Daney uint64_t mwf_crd:4; 68054293ec3SDavid Daney uint64_t rsp_arb_mode:1; 68154293ec3SDavid Daney uint64_t rfb_arb_mode:1; 68254293ec3SDavid Daney uint64_t lrf_arb_mode:1; 683*c5aa59e8SDavid Daney #else 684*c5aa59e8SDavid Daney uint64_t lrf_arb_mode:1; 685*c5aa59e8SDavid Daney uint64_t rfb_arb_mode:1; 686*c5aa59e8SDavid Daney uint64_t rsp_arb_mode:1; 687*c5aa59e8SDavid Daney uint64_t mwf_crd:4; 688*c5aa59e8SDavid Daney uint64_t idxalias:1; 689*c5aa59e8SDavid Daney uint64_t fpen:1; 690*c5aa59e8SDavid Daney uint64_t fpempty:1; 691*c5aa59e8SDavid Daney uint64_t fpexp:4; 692*c5aa59e8SDavid Daney uint64_t reserved_14_63:50; 693*c5aa59e8SDavid Daney #endif 69454293ec3SDavid Daney } cn30xx; 69554293ec3SDavid Daney struct cvmx_l2c_cfg_cn30xx cn31xx; 69654293ec3SDavid Daney struct cvmx_l2c_cfg_cn30xx cn38xx; 69754293ec3SDavid Daney struct cvmx_l2c_cfg_cn30xx cn38xxp2; 69854293ec3SDavid Daney struct cvmx_l2c_cfg_cn50xx { 699*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 70054293ec3SDavid Daney uint64_t reserved_20_63:44; 70154293ec3SDavid Daney uint64_t bstrun:1; 70254293ec3SDavid Daney uint64_t lbist:1; 70354293ec3SDavid Daney uint64_t reserved_14_17:4; 70454293ec3SDavid Daney uint64_t fpexp:4; 70554293ec3SDavid Daney uint64_t fpempty:1; 70654293ec3SDavid Daney uint64_t fpen:1; 70754293ec3SDavid Daney uint64_t idxalias:1; 70854293ec3SDavid Daney uint64_t mwf_crd:4; 70954293ec3SDavid Daney uint64_t rsp_arb_mode:1; 71054293ec3SDavid Daney uint64_t rfb_arb_mode:1; 71154293ec3SDavid Daney uint64_t lrf_arb_mode:1; 712*c5aa59e8SDavid Daney #else 713*c5aa59e8SDavid Daney uint64_t lrf_arb_mode:1; 714*c5aa59e8SDavid Daney uint64_t rfb_arb_mode:1; 715*c5aa59e8SDavid Daney uint64_t rsp_arb_mode:1; 716*c5aa59e8SDavid Daney uint64_t mwf_crd:4; 717*c5aa59e8SDavid Daney uint64_t idxalias:1; 718*c5aa59e8SDavid Daney uint64_t fpen:1; 719*c5aa59e8SDavid Daney uint64_t fpempty:1; 720*c5aa59e8SDavid Daney uint64_t fpexp:4; 721*c5aa59e8SDavid Daney uint64_t reserved_14_17:4; 722*c5aa59e8SDavid Daney uint64_t lbist:1; 723*c5aa59e8SDavid Daney uint64_t bstrun:1; 724*c5aa59e8SDavid Daney uint64_t reserved_20_63:44; 725*c5aa59e8SDavid Daney #endif 72654293ec3SDavid Daney } cn50xx; 72754293ec3SDavid Daney struct cvmx_l2c_cfg_cn50xx cn52xx; 72854293ec3SDavid Daney struct cvmx_l2c_cfg_cn50xx cn52xxp1; 72954293ec3SDavid Daney struct cvmx_l2c_cfg_s cn56xx; 73054293ec3SDavid Daney struct cvmx_l2c_cfg_s cn56xxp1; 73154293ec3SDavid Daney struct cvmx_l2c_cfg_cn58xx { 732*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 73354293ec3SDavid Daney uint64_t reserved_20_63:44; 73454293ec3SDavid Daney uint64_t bstrun:1; 73554293ec3SDavid Daney uint64_t lbist:1; 73654293ec3SDavid Daney uint64_t reserved_15_17:3; 73754293ec3SDavid Daney uint64_t dfill_dis:1; 73854293ec3SDavid Daney uint64_t fpexp:4; 73954293ec3SDavid Daney uint64_t fpempty:1; 74054293ec3SDavid Daney uint64_t fpen:1; 74154293ec3SDavid Daney uint64_t idxalias:1; 74254293ec3SDavid Daney uint64_t mwf_crd:4; 74354293ec3SDavid Daney uint64_t rsp_arb_mode:1; 74454293ec3SDavid Daney uint64_t rfb_arb_mode:1; 74554293ec3SDavid Daney uint64_t lrf_arb_mode:1; 746*c5aa59e8SDavid Daney #else 747*c5aa59e8SDavid Daney uint64_t lrf_arb_mode:1; 748*c5aa59e8SDavid Daney uint64_t rfb_arb_mode:1; 749*c5aa59e8SDavid Daney uint64_t rsp_arb_mode:1; 750*c5aa59e8SDavid Daney uint64_t mwf_crd:4; 751*c5aa59e8SDavid Daney uint64_t idxalias:1; 752*c5aa59e8SDavid Daney uint64_t fpen:1; 753*c5aa59e8SDavid Daney uint64_t fpempty:1; 754*c5aa59e8SDavid Daney uint64_t fpexp:4; 755*c5aa59e8SDavid Daney uint64_t dfill_dis:1; 756*c5aa59e8SDavid Daney uint64_t reserved_15_17:3; 757*c5aa59e8SDavid Daney uint64_t lbist:1; 758*c5aa59e8SDavid Daney uint64_t bstrun:1; 759*c5aa59e8SDavid Daney uint64_t reserved_20_63:44; 760*c5aa59e8SDavid Daney #endif 76154293ec3SDavid Daney } cn58xx; 76254293ec3SDavid Daney struct cvmx_l2c_cfg_cn58xxp1 { 763*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 76454293ec3SDavid Daney uint64_t reserved_15_63:49; 76554293ec3SDavid Daney uint64_t dfill_dis:1; 76654293ec3SDavid Daney uint64_t fpexp:4; 76754293ec3SDavid Daney uint64_t fpempty:1; 76854293ec3SDavid Daney uint64_t fpen:1; 76954293ec3SDavid Daney uint64_t idxalias:1; 77054293ec3SDavid Daney uint64_t mwf_crd:4; 77154293ec3SDavid Daney uint64_t rsp_arb_mode:1; 77254293ec3SDavid Daney uint64_t rfb_arb_mode:1; 77354293ec3SDavid Daney uint64_t lrf_arb_mode:1; 774*c5aa59e8SDavid Daney #else 775*c5aa59e8SDavid Daney uint64_t lrf_arb_mode:1; 776*c5aa59e8SDavid Daney uint64_t rfb_arb_mode:1; 777*c5aa59e8SDavid Daney uint64_t rsp_arb_mode:1; 778*c5aa59e8SDavid Daney uint64_t mwf_crd:4; 779*c5aa59e8SDavid Daney uint64_t idxalias:1; 780*c5aa59e8SDavid Daney uint64_t fpen:1; 781*c5aa59e8SDavid Daney uint64_t fpempty:1; 782*c5aa59e8SDavid Daney uint64_t fpexp:4; 783*c5aa59e8SDavid Daney uint64_t dfill_dis:1; 784*c5aa59e8SDavid Daney uint64_t reserved_15_63:49; 785*c5aa59e8SDavid Daney #endif 78654293ec3SDavid Daney } cn58xxp1; 78754293ec3SDavid Daney }; 78854293ec3SDavid Daney 789aa32a955SDavid Daney union cvmx_l2c_cop0_mapx { 790aa32a955SDavid Daney uint64_t u64; 791aa32a955SDavid Daney struct cvmx_l2c_cop0_mapx_s { 792*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 793aa32a955SDavid Daney uint64_t data:64; 794*c5aa59e8SDavid Daney #else 795*c5aa59e8SDavid Daney uint64_t data:64; 796*c5aa59e8SDavid Daney #endif 797aa32a955SDavid Daney } s; 798*c5aa59e8SDavid Daney struct cvmx_l2c_cop0_mapx_s cn61xx; 799aa32a955SDavid Daney struct cvmx_l2c_cop0_mapx_s cn63xx; 800aa32a955SDavid Daney struct cvmx_l2c_cop0_mapx_s cn63xxp1; 801*c5aa59e8SDavid Daney struct cvmx_l2c_cop0_mapx_s cn66xx; 802*c5aa59e8SDavid Daney struct cvmx_l2c_cop0_mapx_s cn68xx; 803*c5aa59e8SDavid Daney struct cvmx_l2c_cop0_mapx_s cn68xxp1; 804*c5aa59e8SDavid Daney struct cvmx_l2c_cop0_mapx_s cnf71xx; 805aa32a955SDavid Daney }; 806aa32a955SDavid Daney 807aa32a955SDavid Daney union cvmx_l2c_ctl { 808aa32a955SDavid Daney uint64_t u64; 809aa32a955SDavid Daney struct cvmx_l2c_ctl_s { 810*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 811*c5aa59e8SDavid Daney uint64_t reserved_30_63:34; 812*c5aa59e8SDavid Daney uint64_t sepcmt:1; 813*c5aa59e8SDavid Daney uint64_t rdf_fast:1; 814*c5aa59e8SDavid Daney uint64_t disstgl2i:1; 815*c5aa59e8SDavid Daney uint64_t l2dfsbe:1; 816*c5aa59e8SDavid Daney uint64_t l2dfdbe:1; 817*c5aa59e8SDavid Daney uint64_t discclk:1; 818*c5aa59e8SDavid Daney uint64_t maxvab:4; 819*c5aa59e8SDavid Daney uint64_t maxlfb:4; 820*c5aa59e8SDavid Daney uint64_t rsp_arb_mode:1; 821*c5aa59e8SDavid Daney uint64_t xmc_arb_mode:1; 822*c5aa59e8SDavid Daney uint64_t ef_ena:1; 823*c5aa59e8SDavid Daney uint64_t ef_cnt:7; 824*c5aa59e8SDavid Daney uint64_t vab_thresh:4; 825*c5aa59e8SDavid Daney uint64_t disecc:1; 826*c5aa59e8SDavid Daney uint64_t disidxalias:1; 827*c5aa59e8SDavid Daney #else 828*c5aa59e8SDavid Daney uint64_t disidxalias:1; 829*c5aa59e8SDavid Daney uint64_t disecc:1; 830*c5aa59e8SDavid Daney uint64_t vab_thresh:4; 831*c5aa59e8SDavid Daney uint64_t ef_cnt:7; 832*c5aa59e8SDavid Daney uint64_t ef_ena:1; 833*c5aa59e8SDavid Daney uint64_t xmc_arb_mode:1; 834*c5aa59e8SDavid Daney uint64_t rsp_arb_mode:1; 835*c5aa59e8SDavid Daney uint64_t maxlfb:4; 836*c5aa59e8SDavid Daney uint64_t maxvab:4; 837*c5aa59e8SDavid Daney uint64_t discclk:1; 838*c5aa59e8SDavid Daney uint64_t l2dfdbe:1; 839*c5aa59e8SDavid Daney uint64_t l2dfsbe:1; 840*c5aa59e8SDavid Daney uint64_t disstgl2i:1; 841*c5aa59e8SDavid Daney uint64_t rdf_fast:1; 842*c5aa59e8SDavid Daney uint64_t sepcmt:1; 843*c5aa59e8SDavid Daney uint64_t reserved_30_63:34; 844*c5aa59e8SDavid Daney #endif 845*c5aa59e8SDavid Daney } s; 846*c5aa59e8SDavid Daney struct cvmx_l2c_ctl_cn61xx { 847*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 848*c5aa59e8SDavid Daney uint64_t reserved_29_63:35; 849*c5aa59e8SDavid Daney uint64_t rdf_fast:1; 850*c5aa59e8SDavid Daney uint64_t disstgl2i:1; 851*c5aa59e8SDavid Daney uint64_t l2dfsbe:1; 852*c5aa59e8SDavid Daney uint64_t l2dfdbe:1; 853*c5aa59e8SDavid Daney uint64_t discclk:1; 854*c5aa59e8SDavid Daney uint64_t maxvab:4; 855*c5aa59e8SDavid Daney uint64_t maxlfb:4; 856*c5aa59e8SDavid Daney uint64_t rsp_arb_mode:1; 857*c5aa59e8SDavid Daney uint64_t xmc_arb_mode:1; 858*c5aa59e8SDavid Daney uint64_t ef_ena:1; 859*c5aa59e8SDavid Daney uint64_t ef_cnt:7; 860*c5aa59e8SDavid Daney uint64_t vab_thresh:4; 861*c5aa59e8SDavid Daney uint64_t disecc:1; 862*c5aa59e8SDavid Daney uint64_t disidxalias:1; 863*c5aa59e8SDavid Daney #else 864*c5aa59e8SDavid Daney uint64_t disidxalias:1; 865*c5aa59e8SDavid Daney uint64_t disecc:1; 866*c5aa59e8SDavid Daney uint64_t vab_thresh:4; 867*c5aa59e8SDavid Daney uint64_t ef_cnt:7; 868*c5aa59e8SDavid Daney uint64_t ef_ena:1; 869*c5aa59e8SDavid Daney uint64_t xmc_arb_mode:1; 870*c5aa59e8SDavid Daney uint64_t rsp_arb_mode:1; 871*c5aa59e8SDavid Daney uint64_t maxlfb:4; 872*c5aa59e8SDavid Daney uint64_t maxvab:4; 873*c5aa59e8SDavid Daney uint64_t discclk:1; 874*c5aa59e8SDavid Daney uint64_t l2dfdbe:1; 875*c5aa59e8SDavid Daney uint64_t l2dfsbe:1; 876*c5aa59e8SDavid Daney uint64_t disstgl2i:1; 877*c5aa59e8SDavid Daney uint64_t rdf_fast:1; 878*c5aa59e8SDavid Daney uint64_t reserved_29_63:35; 879*c5aa59e8SDavid Daney #endif 880*c5aa59e8SDavid Daney } cn61xx; 881*c5aa59e8SDavid Daney struct cvmx_l2c_ctl_cn63xx { 882*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 883aa32a955SDavid Daney uint64_t reserved_28_63:36; 884aa32a955SDavid Daney uint64_t disstgl2i:1; 885aa32a955SDavid Daney uint64_t l2dfsbe:1; 886aa32a955SDavid Daney uint64_t l2dfdbe:1; 887aa32a955SDavid Daney uint64_t discclk:1; 888aa32a955SDavid Daney uint64_t maxvab:4; 889aa32a955SDavid Daney uint64_t maxlfb:4; 890aa32a955SDavid Daney uint64_t rsp_arb_mode:1; 891aa32a955SDavid Daney uint64_t xmc_arb_mode:1; 892aa32a955SDavid Daney uint64_t ef_ena:1; 893aa32a955SDavid Daney uint64_t ef_cnt:7; 894aa32a955SDavid Daney uint64_t vab_thresh:4; 895aa32a955SDavid Daney uint64_t disecc:1; 896aa32a955SDavid Daney uint64_t disidxalias:1; 897*c5aa59e8SDavid Daney #else 898*c5aa59e8SDavid Daney uint64_t disidxalias:1; 899*c5aa59e8SDavid Daney uint64_t disecc:1; 900*c5aa59e8SDavid Daney uint64_t vab_thresh:4; 901*c5aa59e8SDavid Daney uint64_t ef_cnt:7; 902*c5aa59e8SDavid Daney uint64_t ef_ena:1; 903*c5aa59e8SDavid Daney uint64_t xmc_arb_mode:1; 904*c5aa59e8SDavid Daney uint64_t rsp_arb_mode:1; 905*c5aa59e8SDavid Daney uint64_t maxlfb:4; 906*c5aa59e8SDavid Daney uint64_t maxvab:4; 907*c5aa59e8SDavid Daney uint64_t discclk:1; 908*c5aa59e8SDavid Daney uint64_t l2dfdbe:1; 909*c5aa59e8SDavid Daney uint64_t l2dfsbe:1; 910*c5aa59e8SDavid Daney uint64_t disstgl2i:1; 911*c5aa59e8SDavid Daney uint64_t reserved_28_63:36; 912*c5aa59e8SDavid Daney #endif 913*c5aa59e8SDavid Daney } cn63xx; 914aa32a955SDavid Daney struct cvmx_l2c_ctl_cn63xxp1 { 915*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 916aa32a955SDavid Daney uint64_t reserved_25_63:39; 917aa32a955SDavid Daney uint64_t discclk:1; 918aa32a955SDavid Daney uint64_t maxvab:4; 919aa32a955SDavid Daney uint64_t maxlfb:4; 920aa32a955SDavid Daney uint64_t rsp_arb_mode:1; 921aa32a955SDavid Daney uint64_t xmc_arb_mode:1; 922aa32a955SDavid Daney uint64_t ef_ena:1; 923aa32a955SDavid Daney uint64_t ef_cnt:7; 924aa32a955SDavid Daney uint64_t vab_thresh:4; 925aa32a955SDavid Daney uint64_t disecc:1; 926aa32a955SDavid Daney uint64_t disidxalias:1; 927*c5aa59e8SDavid Daney #else 928*c5aa59e8SDavid Daney uint64_t disidxalias:1; 929*c5aa59e8SDavid Daney uint64_t disecc:1; 930*c5aa59e8SDavid Daney uint64_t vab_thresh:4; 931*c5aa59e8SDavid Daney uint64_t ef_cnt:7; 932*c5aa59e8SDavid Daney uint64_t ef_ena:1; 933*c5aa59e8SDavid Daney uint64_t xmc_arb_mode:1; 934*c5aa59e8SDavid Daney uint64_t rsp_arb_mode:1; 935*c5aa59e8SDavid Daney uint64_t maxlfb:4; 936*c5aa59e8SDavid Daney uint64_t maxvab:4; 937*c5aa59e8SDavid Daney uint64_t discclk:1; 938*c5aa59e8SDavid Daney uint64_t reserved_25_63:39; 939*c5aa59e8SDavid Daney #endif 940aa32a955SDavid Daney } cn63xxp1; 941*c5aa59e8SDavid Daney struct cvmx_l2c_ctl_cn61xx cn66xx; 942*c5aa59e8SDavid Daney struct cvmx_l2c_ctl_s cn68xx; 943*c5aa59e8SDavid Daney struct cvmx_l2c_ctl_cn63xx cn68xxp1; 944*c5aa59e8SDavid Daney struct cvmx_l2c_ctl_cn61xx cnf71xx; 945aa32a955SDavid Daney }; 946aa32a955SDavid Daney 94754293ec3SDavid Daney union cvmx_l2c_dbg { 94854293ec3SDavid Daney uint64_t u64; 94954293ec3SDavid Daney struct cvmx_l2c_dbg_s { 950*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 95154293ec3SDavid Daney uint64_t reserved_15_63:49; 95254293ec3SDavid Daney uint64_t lfb_enum:4; 95354293ec3SDavid Daney uint64_t lfb_dmp:1; 95454293ec3SDavid Daney uint64_t ppnum:4; 95554293ec3SDavid Daney uint64_t set:3; 95654293ec3SDavid Daney uint64_t finv:1; 95754293ec3SDavid Daney uint64_t l2d:1; 95854293ec3SDavid Daney uint64_t l2t:1; 959*c5aa59e8SDavid Daney #else 960*c5aa59e8SDavid Daney uint64_t l2t:1; 961*c5aa59e8SDavid Daney uint64_t l2d:1; 962*c5aa59e8SDavid Daney uint64_t finv:1; 963*c5aa59e8SDavid Daney uint64_t set:3; 964*c5aa59e8SDavid Daney uint64_t ppnum:4; 965*c5aa59e8SDavid Daney uint64_t lfb_dmp:1; 966*c5aa59e8SDavid Daney uint64_t lfb_enum:4; 967*c5aa59e8SDavid Daney uint64_t reserved_15_63:49; 968*c5aa59e8SDavid Daney #endif 96954293ec3SDavid Daney } s; 97054293ec3SDavid Daney struct cvmx_l2c_dbg_cn30xx { 971*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 97254293ec3SDavid Daney uint64_t reserved_13_63:51; 97354293ec3SDavid Daney uint64_t lfb_enum:2; 97454293ec3SDavid Daney uint64_t lfb_dmp:1; 975aa32a955SDavid Daney uint64_t reserved_7_9:3; 976aa32a955SDavid Daney uint64_t ppnum:1; 977aa32a955SDavid Daney uint64_t reserved_5_5:1; 97854293ec3SDavid Daney uint64_t set:2; 97954293ec3SDavid Daney uint64_t finv:1; 98054293ec3SDavid Daney uint64_t l2d:1; 98154293ec3SDavid Daney uint64_t l2t:1; 982*c5aa59e8SDavid Daney #else 983*c5aa59e8SDavid Daney uint64_t l2t:1; 984*c5aa59e8SDavid Daney uint64_t l2d:1; 985*c5aa59e8SDavid Daney uint64_t finv:1; 986*c5aa59e8SDavid Daney uint64_t set:2; 987*c5aa59e8SDavid Daney uint64_t reserved_5_5:1; 988*c5aa59e8SDavid Daney uint64_t ppnum:1; 989*c5aa59e8SDavid Daney uint64_t reserved_7_9:3; 990*c5aa59e8SDavid Daney uint64_t lfb_dmp:1; 991*c5aa59e8SDavid Daney uint64_t lfb_enum:2; 992*c5aa59e8SDavid Daney uint64_t reserved_13_63:51; 993*c5aa59e8SDavid Daney #endif 99454293ec3SDavid Daney } cn30xx; 99554293ec3SDavid Daney struct cvmx_l2c_dbg_cn31xx { 996*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 99754293ec3SDavid Daney uint64_t reserved_14_63:50; 99854293ec3SDavid Daney uint64_t lfb_enum:3; 99954293ec3SDavid Daney uint64_t lfb_dmp:1; 100054293ec3SDavid Daney uint64_t reserved_7_9:3; 100154293ec3SDavid Daney uint64_t ppnum:1; 100254293ec3SDavid Daney uint64_t reserved_5_5:1; 100354293ec3SDavid Daney uint64_t set:2; 100454293ec3SDavid Daney uint64_t finv:1; 100554293ec3SDavid Daney uint64_t l2d:1; 100654293ec3SDavid Daney uint64_t l2t:1; 1007*c5aa59e8SDavid Daney #else 1008*c5aa59e8SDavid Daney uint64_t l2t:1; 1009*c5aa59e8SDavid Daney uint64_t l2d:1; 1010*c5aa59e8SDavid Daney uint64_t finv:1; 1011*c5aa59e8SDavid Daney uint64_t set:2; 1012*c5aa59e8SDavid Daney uint64_t reserved_5_5:1; 1013*c5aa59e8SDavid Daney uint64_t ppnum:1; 1014*c5aa59e8SDavid Daney uint64_t reserved_7_9:3; 1015*c5aa59e8SDavid Daney uint64_t lfb_dmp:1; 1016*c5aa59e8SDavid Daney uint64_t lfb_enum:3; 1017*c5aa59e8SDavid Daney uint64_t reserved_14_63:50; 1018*c5aa59e8SDavid Daney #endif 101954293ec3SDavid Daney } cn31xx; 102054293ec3SDavid Daney struct cvmx_l2c_dbg_s cn38xx; 102154293ec3SDavid Daney struct cvmx_l2c_dbg_s cn38xxp2; 102254293ec3SDavid Daney struct cvmx_l2c_dbg_cn50xx { 1023*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 102454293ec3SDavid Daney uint64_t reserved_14_63:50; 102554293ec3SDavid Daney uint64_t lfb_enum:3; 102654293ec3SDavid Daney uint64_t lfb_dmp:1; 102754293ec3SDavid Daney uint64_t reserved_7_9:3; 102854293ec3SDavid Daney uint64_t ppnum:1; 102954293ec3SDavid Daney uint64_t set:3; 103054293ec3SDavid Daney uint64_t finv:1; 103154293ec3SDavid Daney uint64_t l2d:1; 103254293ec3SDavid Daney uint64_t l2t:1; 1033*c5aa59e8SDavid Daney #else 1034*c5aa59e8SDavid Daney uint64_t l2t:1; 1035*c5aa59e8SDavid Daney uint64_t l2d:1; 1036*c5aa59e8SDavid Daney uint64_t finv:1; 1037*c5aa59e8SDavid Daney uint64_t set:3; 1038*c5aa59e8SDavid Daney uint64_t ppnum:1; 1039*c5aa59e8SDavid Daney uint64_t reserved_7_9:3; 1040*c5aa59e8SDavid Daney uint64_t lfb_dmp:1; 1041*c5aa59e8SDavid Daney uint64_t lfb_enum:3; 1042*c5aa59e8SDavid Daney uint64_t reserved_14_63:50; 1043*c5aa59e8SDavid Daney #endif 104454293ec3SDavid Daney } cn50xx; 104554293ec3SDavid Daney struct cvmx_l2c_dbg_cn52xx { 1046*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 104754293ec3SDavid Daney uint64_t reserved_14_63:50; 104854293ec3SDavid Daney uint64_t lfb_enum:3; 104954293ec3SDavid Daney uint64_t lfb_dmp:1; 105054293ec3SDavid Daney uint64_t reserved_8_9:2; 105154293ec3SDavid Daney uint64_t ppnum:2; 105254293ec3SDavid Daney uint64_t set:3; 105354293ec3SDavid Daney uint64_t finv:1; 105454293ec3SDavid Daney uint64_t l2d:1; 105554293ec3SDavid Daney uint64_t l2t:1; 1056*c5aa59e8SDavid Daney #else 1057*c5aa59e8SDavid Daney uint64_t l2t:1; 1058*c5aa59e8SDavid Daney uint64_t l2d:1; 1059*c5aa59e8SDavid Daney uint64_t finv:1; 1060*c5aa59e8SDavid Daney uint64_t set:3; 1061*c5aa59e8SDavid Daney uint64_t ppnum:2; 1062*c5aa59e8SDavid Daney uint64_t reserved_8_9:2; 1063*c5aa59e8SDavid Daney uint64_t lfb_dmp:1; 1064*c5aa59e8SDavid Daney uint64_t lfb_enum:3; 1065*c5aa59e8SDavid Daney uint64_t reserved_14_63:50; 1066*c5aa59e8SDavid Daney #endif 106754293ec3SDavid Daney } cn52xx; 106854293ec3SDavid Daney struct cvmx_l2c_dbg_cn52xx cn52xxp1; 106954293ec3SDavid Daney struct cvmx_l2c_dbg_s cn56xx; 107054293ec3SDavid Daney struct cvmx_l2c_dbg_s cn56xxp1; 107154293ec3SDavid Daney struct cvmx_l2c_dbg_s cn58xx; 107254293ec3SDavid Daney struct cvmx_l2c_dbg_s cn58xxp1; 107354293ec3SDavid Daney }; 107454293ec3SDavid Daney 107554293ec3SDavid Daney union cvmx_l2c_dut { 107654293ec3SDavid Daney uint64_t u64; 107754293ec3SDavid Daney struct cvmx_l2c_dut_s { 1078*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 107954293ec3SDavid Daney uint64_t reserved_32_63:32; 108054293ec3SDavid Daney uint64_t dtena:1; 108154293ec3SDavid Daney uint64_t reserved_30_30:1; 108254293ec3SDavid Daney uint64_t dt_vld:1; 108354293ec3SDavid Daney uint64_t dt_tag:29; 1084*c5aa59e8SDavid Daney #else 1085*c5aa59e8SDavid Daney uint64_t dt_tag:29; 1086*c5aa59e8SDavid Daney uint64_t dt_vld:1; 1087*c5aa59e8SDavid Daney uint64_t reserved_30_30:1; 1088*c5aa59e8SDavid Daney uint64_t dtena:1; 1089*c5aa59e8SDavid Daney uint64_t reserved_32_63:32; 1090*c5aa59e8SDavid Daney #endif 109154293ec3SDavid Daney } s; 109254293ec3SDavid Daney struct cvmx_l2c_dut_s cn30xx; 109354293ec3SDavid Daney struct cvmx_l2c_dut_s cn31xx; 109454293ec3SDavid Daney struct cvmx_l2c_dut_s cn38xx; 109554293ec3SDavid Daney struct cvmx_l2c_dut_s cn38xxp2; 109654293ec3SDavid Daney struct cvmx_l2c_dut_s cn50xx; 109754293ec3SDavid Daney struct cvmx_l2c_dut_s cn52xx; 109854293ec3SDavid Daney struct cvmx_l2c_dut_s cn52xxp1; 109954293ec3SDavid Daney struct cvmx_l2c_dut_s cn56xx; 110054293ec3SDavid Daney struct cvmx_l2c_dut_s cn56xxp1; 110154293ec3SDavid Daney struct cvmx_l2c_dut_s cn58xx; 110254293ec3SDavid Daney struct cvmx_l2c_dut_s cn58xxp1; 110354293ec3SDavid Daney }; 110454293ec3SDavid Daney 1105aa32a955SDavid Daney union cvmx_l2c_dut_mapx { 1106aa32a955SDavid Daney uint64_t u64; 1107aa32a955SDavid Daney struct cvmx_l2c_dut_mapx_s { 1108*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 1109aa32a955SDavid Daney uint64_t reserved_38_63:26; 1110aa32a955SDavid Daney uint64_t tag:28; 1111aa32a955SDavid Daney uint64_t reserved_1_9:9; 1112aa32a955SDavid Daney uint64_t valid:1; 1113*c5aa59e8SDavid Daney #else 1114*c5aa59e8SDavid Daney uint64_t valid:1; 1115*c5aa59e8SDavid Daney uint64_t reserved_1_9:9; 1116*c5aa59e8SDavid Daney uint64_t tag:28; 1117*c5aa59e8SDavid Daney uint64_t reserved_38_63:26; 1118*c5aa59e8SDavid Daney #endif 1119aa32a955SDavid Daney } s; 1120*c5aa59e8SDavid Daney struct cvmx_l2c_dut_mapx_s cn61xx; 1121aa32a955SDavid Daney struct cvmx_l2c_dut_mapx_s cn63xx; 1122aa32a955SDavid Daney struct cvmx_l2c_dut_mapx_s cn63xxp1; 1123*c5aa59e8SDavid Daney struct cvmx_l2c_dut_mapx_s cn66xx; 1124*c5aa59e8SDavid Daney struct cvmx_l2c_dut_mapx_s cn68xx; 1125*c5aa59e8SDavid Daney struct cvmx_l2c_dut_mapx_s cn68xxp1; 1126*c5aa59e8SDavid Daney struct cvmx_l2c_dut_mapx_s cnf71xx; 1127aa32a955SDavid Daney }; 1128aa32a955SDavid Daney 1129aa32a955SDavid Daney union cvmx_l2c_err_tdtx { 1130aa32a955SDavid Daney uint64_t u64; 1131aa32a955SDavid Daney struct cvmx_l2c_err_tdtx_s { 1132*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 1133*c5aa59e8SDavid Daney uint64_t dbe:1; 1134*c5aa59e8SDavid Daney uint64_t sbe:1; 1135*c5aa59e8SDavid Daney uint64_t vdbe:1; 1136*c5aa59e8SDavid Daney uint64_t vsbe:1; 1137*c5aa59e8SDavid Daney uint64_t syn:10; 1138*c5aa59e8SDavid Daney uint64_t reserved_22_49:28; 1139*c5aa59e8SDavid Daney uint64_t wayidx:18; 1140*c5aa59e8SDavid Daney uint64_t reserved_2_3:2; 1141*c5aa59e8SDavid Daney uint64_t type:2; 1142*c5aa59e8SDavid Daney #else 1143*c5aa59e8SDavid Daney uint64_t type:2; 1144*c5aa59e8SDavid Daney uint64_t reserved_2_3:2; 1145*c5aa59e8SDavid Daney uint64_t wayidx:18; 1146*c5aa59e8SDavid Daney uint64_t reserved_22_49:28; 1147*c5aa59e8SDavid Daney uint64_t syn:10; 1148*c5aa59e8SDavid Daney uint64_t vsbe:1; 1149*c5aa59e8SDavid Daney uint64_t vdbe:1; 1150*c5aa59e8SDavid Daney uint64_t sbe:1; 1151*c5aa59e8SDavid Daney uint64_t dbe:1; 1152*c5aa59e8SDavid Daney #endif 1153*c5aa59e8SDavid Daney } s; 1154*c5aa59e8SDavid Daney struct cvmx_l2c_err_tdtx_cn61xx { 1155*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 1156*c5aa59e8SDavid Daney uint64_t dbe:1; 1157*c5aa59e8SDavid Daney uint64_t sbe:1; 1158*c5aa59e8SDavid Daney uint64_t vdbe:1; 1159*c5aa59e8SDavid Daney uint64_t vsbe:1; 1160*c5aa59e8SDavid Daney uint64_t syn:10; 1161*c5aa59e8SDavid Daney uint64_t reserved_20_49:30; 1162*c5aa59e8SDavid Daney uint64_t wayidx:16; 1163*c5aa59e8SDavid Daney uint64_t reserved_2_3:2; 1164*c5aa59e8SDavid Daney uint64_t type:2; 1165*c5aa59e8SDavid Daney #else 1166*c5aa59e8SDavid Daney uint64_t type:2; 1167*c5aa59e8SDavid Daney uint64_t reserved_2_3:2; 1168*c5aa59e8SDavid Daney uint64_t wayidx:16; 1169*c5aa59e8SDavid Daney uint64_t reserved_20_49:30; 1170*c5aa59e8SDavid Daney uint64_t syn:10; 1171*c5aa59e8SDavid Daney uint64_t vsbe:1; 1172*c5aa59e8SDavid Daney uint64_t vdbe:1; 1173*c5aa59e8SDavid Daney uint64_t sbe:1; 1174*c5aa59e8SDavid Daney uint64_t dbe:1; 1175*c5aa59e8SDavid Daney #endif 1176*c5aa59e8SDavid Daney } cn61xx; 1177*c5aa59e8SDavid Daney struct cvmx_l2c_err_tdtx_cn63xx { 1178*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 1179aa32a955SDavid Daney uint64_t dbe:1; 1180aa32a955SDavid Daney uint64_t sbe:1; 1181aa32a955SDavid Daney uint64_t vdbe:1; 1182aa32a955SDavid Daney uint64_t vsbe:1; 1183aa32a955SDavid Daney uint64_t syn:10; 1184aa32a955SDavid Daney uint64_t reserved_21_49:29; 1185aa32a955SDavid Daney uint64_t wayidx:17; 1186aa32a955SDavid Daney uint64_t reserved_2_3:2; 1187aa32a955SDavid Daney uint64_t type:2; 1188*c5aa59e8SDavid Daney #else 1189*c5aa59e8SDavid Daney uint64_t type:2; 1190*c5aa59e8SDavid Daney uint64_t reserved_2_3:2; 1191*c5aa59e8SDavid Daney uint64_t wayidx:17; 1192*c5aa59e8SDavid Daney uint64_t reserved_21_49:29; 1193*c5aa59e8SDavid Daney uint64_t syn:10; 1194*c5aa59e8SDavid Daney uint64_t vsbe:1; 1195*c5aa59e8SDavid Daney uint64_t vdbe:1; 1196*c5aa59e8SDavid Daney uint64_t sbe:1; 1197*c5aa59e8SDavid Daney uint64_t dbe:1; 1198*c5aa59e8SDavid Daney #endif 1199*c5aa59e8SDavid Daney } cn63xx; 1200*c5aa59e8SDavid Daney struct cvmx_l2c_err_tdtx_cn63xx cn63xxp1; 1201*c5aa59e8SDavid Daney struct cvmx_l2c_err_tdtx_cn63xx cn66xx; 1202*c5aa59e8SDavid Daney struct cvmx_l2c_err_tdtx_s cn68xx; 1203*c5aa59e8SDavid Daney struct cvmx_l2c_err_tdtx_s cn68xxp1; 1204*c5aa59e8SDavid Daney struct cvmx_l2c_err_tdtx_cn61xx cnf71xx; 1205aa32a955SDavid Daney }; 1206aa32a955SDavid Daney 1207aa32a955SDavid Daney union cvmx_l2c_err_ttgx { 1208aa32a955SDavid Daney uint64_t u64; 1209aa32a955SDavid Daney struct cvmx_l2c_err_ttgx_s { 1210*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 1211*c5aa59e8SDavid Daney uint64_t dbe:1; 1212*c5aa59e8SDavid Daney uint64_t sbe:1; 1213*c5aa59e8SDavid Daney uint64_t noway:1; 1214*c5aa59e8SDavid Daney uint64_t reserved_56_60:5; 1215*c5aa59e8SDavid Daney uint64_t syn:6; 1216*c5aa59e8SDavid Daney uint64_t reserved_22_49:28; 1217*c5aa59e8SDavid Daney uint64_t wayidx:15; 1218*c5aa59e8SDavid Daney uint64_t reserved_2_6:5; 1219*c5aa59e8SDavid Daney uint64_t type:2; 1220*c5aa59e8SDavid Daney #else 1221*c5aa59e8SDavid Daney uint64_t type:2; 1222*c5aa59e8SDavid Daney uint64_t reserved_2_6:5; 1223*c5aa59e8SDavid Daney uint64_t wayidx:15; 1224*c5aa59e8SDavid Daney uint64_t reserved_22_49:28; 1225*c5aa59e8SDavid Daney uint64_t syn:6; 1226*c5aa59e8SDavid Daney uint64_t reserved_56_60:5; 1227*c5aa59e8SDavid Daney uint64_t noway:1; 1228*c5aa59e8SDavid Daney uint64_t sbe:1; 1229*c5aa59e8SDavid Daney uint64_t dbe:1; 1230*c5aa59e8SDavid Daney #endif 1231*c5aa59e8SDavid Daney } s; 1232*c5aa59e8SDavid Daney struct cvmx_l2c_err_ttgx_cn61xx { 1233*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 1234*c5aa59e8SDavid Daney uint64_t dbe:1; 1235*c5aa59e8SDavid Daney uint64_t sbe:1; 1236*c5aa59e8SDavid Daney uint64_t noway:1; 1237*c5aa59e8SDavid Daney uint64_t reserved_56_60:5; 1238*c5aa59e8SDavid Daney uint64_t syn:6; 1239*c5aa59e8SDavid Daney uint64_t reserved_20_49:30; 1240*c5aa59e8SDavid Daney uint64_t wayidx:13; 1241*c5aa59e8SDavid Daney uint64_t reserved_2_6:5; 1242*c5aa59e8SDavid Daney uint64_t type:2; 1243*c5aa59e8SDavid Daney #else 1244*c5aa59e8SDavid Daney uint64_t type:2; 1245*c5aa59e8SDavid Daney uint64_t reserved_2_6:5; 1246*c5aa59e8SDavid Daney uint64_t wayidx:13; 1247*c5aa59e8SDavid Daney uint64_t reserved_20_49:30; 1248*c5aa59e8SDavid Daney uint64_t syn:6; 1249*c5aa59e8SDavid Daney uint64_t reserved_56_60:5; 1250*c5aa59e8SDavid Daney uint64_t noway:1; 1251*c5aa59e8SDavid Daney uint64_t sbe:1; 1252*c5aa59e8SDavid Daney uint64_t dbe:1; 1253*c5aa59e8SDavid Daney #endif 1254*c5aa59e8SDavid Daney } cn61xx; 1255*c5aa59e8SDavid Daney struct cvmx_l2c_err_ttgx_cn63xx { 1256*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 1257aa32a955SDavid Daney uint64_t dbe:1; 1258aa32a955SDavid Daney uint64_t sbe:1; 1259aa32a955SDavid Daney uint64_t noway:1; 1260aa32a955SDavid Daney uint64_t reserved_56_60:5; 1261aa32a955SDavid Daney uint64_t syn:6; 1262aa32a955SDavid Daney uint64_t reserved_21_49:29; 1263aa32a955SDavid Daney uint64_t wayidx:14; 1264aa32a955SDavid Daney uint64_t reserved_2_6:5; 1265aa32a955SDavid Daney uint64_t type:2; 1266*c5aa59e8SDavid Daney #else 1267*c5aa59e8SDavid Daney uint64_t type:2; 1268*c5aa59e8SDavid Daney uint64_t reserved_2_6:5; 1269*c5aa59e8SDavid Daney uint64_t wayidx:14; 1270*c5aa59e8SDavid Daney uint64_t reserved_21_49:29; 1271*c5aa59e8SDavid Daney uint64_t syn:6; 1272*c5aa59e8SDavid Daney uint64_t reserved_56_60:5; 1273*c5aa59e8SDavid Daney uint64_t noway:1; 1274*c5aa59e8SDavid Daney uint64_t sbe:1; 1275*c5aa59e8SDavid Daney uint64_t dbe:1; 1276*c5aa59e8SDavid Daney #endif 1277*c5aa59e8SDavid Daney } cn63xx; 1278*c5aa59e8SDavid Daney struct cvmx_l2c_err_ttgx_cn63xx cn63xxp1; 1279*c5aa59e8SDavid Daney struct cvmx_l2c_err_ttgx_cn63xx cn66xx; 1280*c5aa59e8SDavid Daney struct cvmx_l2c_err_ttgx_s cn68xx; 1281*c5aa59e8SDavid Daney struct cvmx_l2c_err_ttgx_s cn68xxp1; 1282*c5aa59e8SDavid Daney struct cvmx_l2c_err_ttgx_cn61xx cnf71xx; 1283aa32a955SDavid Daney }; 1284aa32a955SDavid Daney 1285aa32a955SDavid Daney union cvmx_l2c_err_vbfx { 1286aa32a955SDavid Daney uint64_t u64; 1287aa32a955SDavid Daney struct cvmx_l2c_err_vbfx_s { 1288*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 1289aa32a955SDavid Daney uint64_t reserved_62_63:2; 1290aa32a955SDavid Daney uint64_t vdbe:1; 1291aa32a955SDavid Daney uint64_t vsbe:1; 1292aa32a955SDavid Daney uint64_t vsyn:10; 1293aa32a955SDavid Daney uint64_t reserved_2_49:48; 1294aa32a955SDavid Daney uint64_t type:2; 1295*c5aa59e8SDavid Daney #else 1296*c5aa59e8SDavid Daney uint64_t type:2; 1297*c5aa59e8SDavid Daney uint64_t reserved_2_49:48; 1298*c5aa59e8SDavid Daney uint64_t vsyn:10; 1299*c5aa59e8SDavid Daney uint64_t vsbe:1; 1300*c5aa59e8SDavid Daney uint64_t vdbe:1; 1301*c5aa59e8SDavid Daney uint64_t reserved_62_63:2; 1302*c5aa59e8SDavid Daney #endif 1303aa32a955SDavid Daney } s; 1304*c5aa59e8SDavid Daney struct cvmx_l2c_err_vbfx_s cn61xx; 1305aa32a955SDavid Daney struct cvmx_l2c_err_vbfx_s cn63xx; 1306aa32a955SDavid Daney struct cvmx_l2c_err_vbfx_s cn63xxp1; 1307*c5aa59e8SDavid Daney struct cvmx_l2c_err_vbfx_s cn66xx; 1308*c5aa59e8SDavid Daney struct cvmx_l2c_err_vbfx_s cn68xx; 1309*c5aa59e8SDavid Daney struct cvmx_l2c_err_vbfx_s cn68xxp1; 1310*c5aa59e8SDavid Daney struct cvmx_l2c_err_vbfx_s cnf71xx; 1311aa32a955SDavid Daney }; 1312aa32a955SDavid Daney 1313aa32a955SDavid Daney union cvmx_l2c_err_xmc { 1314aa32a955SDavid Daney uint64_t u64; 1315aa32a955SDavid Daney struct cvmx_l2c_err_xmc_s { 1316*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 1317*c5aa59e8SDavid Daney uint64_t cmd:6; 1318*c5aa59e8SDavid Daney uint64_t reserved_54_57:4; 1319*c5aa59e8SDavid Daney uint64_t sid:6; 1320*c5aa59e8SDavid Daney uint64_t reserved_38_47:10; 1321*c5aa59e8SDavid Daney uint64_t addr:38; 1322*c5aa59e8SDavid Daney #else 1323*c5aa59e8SDavid Daney uint64_t addr:38; 1324*c5aa59e8SDavid Daney uint64_t reserved_38_47:10; 1325*c5aa59e8SDavid Daney uint64_t sid:6; 1326*c5aa59e8SDavid Daney uint64_t reserved_54_57:4; 1327*c5aa59e8SDavid Daney uint64_t cmd:6; 1328*c5aa59e8SDavid Daney #endif 1329*c5aa59e8SDavid Daney } s; 1330*c5aa59e8SDavid Daney struct cvmx_l2c_err_xmc_cn61xx { 1331*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 1332aa32a955SDavid Daney uint64_t cmd:6; 1333aa32a955SDavid Daney uint64_t reserved_52_57:6; 1334aa32a955SDavid Daney uint64_t sid:4; 1335aa32a955SDavid Daney uint64_t reserved_38_47:10; 1336aa32a955SDavid Daney uint64_t addr:38; 1337*c5aa59e8SDavid Daney #else 1338*c5aa59e8SDavid Daney uint64_t addr:38; 1339*c5aa59e8SDavid Daney uint64_t reserved_38_47:10; 1340*c5aa59e8SDavid Daney uint64_t sid:4; 1341*c5aa59e8SDavid Daney uint64_t reserved_52_57:6; 1342*c5aa59e8SDavid Daney uint64_t cmd:6; 1343*c5aa59e8SDavid Daney #endif 1344*c5aa59e8SDavid Daney } cn61xx; 1345*c5aa59e8SDavid Daney struct cvmx_l2c_err_xmc_cn61xx cn63xx; 1346*c5aa59e8SDavid Daney struct cvmx_l2c_err_xmc_cn61xx cn63xxp1; 1347*c5aa59e8SDavid Daney struct cvmx_l2c_err_xmc_cn66xx { 1348*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 1349*c5aa59e8SDavid Daney uint64_t cmd:6; 1350*c5aa59e8SDavid Daney uint64_t reserved_53_57:5; 1351*c5aa59e8SDavid Daney uint64_t sid:5; 1352*c5aa59e8SDavid Daney uint64_t reserved_38_47:10; 1353*c5aa59e8SDavid Daney uint64_t addr:38; 1354*c5aa59e8SDavid Daney #else 1355*c5aa59e8SDavid Daney uint64_t addr:38; 1356*c5aa59e8SDavid Daney uint64_t reserved_38_47:10; 1357*c5aa59e8SDavid Daney uint64_t sid:5; 1358*c5aa59e8SDavid Daney uint64_t reserved_53_57:5; 1359*c5aa59e8SDavid Daney uint64_t cmd:6; 1360*c5aa59e8SDavid Daney #endif 1361*c5aa59e8SDavid Daney } cn66xx; 1362*c5aa59e8SDavid Daney struct cvmx_l2c_err_xmc_s cn68xx; 1363*c5aa59e8SDavid Daney struct cvmx_l2c_err_xmc_s cn68xxp1; 1364*c5aa59e8SDavid Daney struct cvmx_l2c_err_xmc_cn61xx cnf71xx; 1365aa32a955SDavid Daney }; 1366aa32a955SDavid Daney 136754293ec3SDavid Daney union cvmx_l2c_grpwrr0 { 136854293ec3SDavid Daney uint64_t u64; 136954293ec3SDavid Daney struct cvmx_l2c_grpwrr0_s { 1370*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 137154293ec3SDavid Daney uint64_t plc1rmsk:32; 137254293ec3SDavid Daney uint64_t plc0rmsk:32; 1373*c5aa59e8SDavid Daney #else 1374*c5aa59e8SDavid Daney uint64_t plc0rmsk:32; 1375*c5aa59e8SDavid Daney uint64_t plc1rmsk:32; 1376*c5aa59e8SDavid Daney #endif 137754293ec3SDavid Daney } s; 137854293ec3SDavid Daney struct cvmx_l2c_grpwrr0_s cn52xx; 137954293ec3SDavid Daney struct cvmx_l2c_grpwrr0_s cn52xxp1; 138054293ec3SDavid Daney struct cvmx_l2c_grpwrr0_s cn56xx; 138154293ec3SDavid Daney struct cvmx_l2c_grpwrr0_s cn56xxp1; 138254293ec3SDavid Daney }; 138354293ec3SDavid Daney 138454293ec3SDavid Daney union cvmx_l2c_grpwrr1 { 138554293ec3SDavid Daney uint64_t u64; 138654293ec3SDavid Daney struct cvmx_l2c_grpwrr1_s { 1387*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 138854293ec3SDavid Daney uint64_t ilcrmsk:32; 138954293ec3SDavid Daney uint64_t plc2rmsk:32; 1390*c5aa59e8SDavid Daney #else 1391*c5aa59e8SDavid Daney uint64_t plc2rmsk:32; 1392*c5aa59e8SDavid Daney uint64_t ilcrmsk:32; 1393*c5aa59e8SDavid Daney #endif 139454293ec3SDavid Daney } s; 139554293ec3SDavid Daney struct cvmx_l2c_grpwrr1_s cn52xx; 139654293ec3SDavid Daney struct cvmx_l2c_grpwrr1_s cn52xxp1; 139754293ec3SDavid Daney struct cvmx_l2c_grpwrr1_s cn56xx; 139854293ec3SDavid Daney struct cvmx_l2c_grpwrr1_s cn56xxp1; 139954293ec3SDavid Daney }; 140054293ec3SDavid Daney 140154293ec3SDavid Daney union cvmx_l2c_int_en { 140254293ec3SDavid Daney uint64_t u64; 140354293ec3SDavid Daney struct cvmx_l2c_int_en_s { 1404*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 140554293ec3SDavid Daney uint64_t reserved_9_63:55; 140654293ec3SDavid Daney uint64_t lck2ena:1; 140754293ec3SDavid Daney uint64_t lckena:1; 140854293ec3SDavid Daney uint64_t l2ddeden:1; 140954293ec3SDavid Daney uint64_t l2dsecen:1; 141054293ec3SDavid Daney uint64_t l2tdeden:1; 141154293ec3SDavid Daney uint64_t l2tsecen:1; 141254293ec3SDavid Daney uint64_t oob3en:1; 141354293ec3SDavid Daney uint64_t oob2en:1; 141454293ec3SDavid Daney uint64_t oob1en:1; 1415*c5aa59e8SDavid Daney #else 1416*c5aa59e8SDavid Daney uint64_t oob1en:1; 1417*c5aa59e8SDavid Daney uint64_t oob2en:1; 1418*c5aa59e8SDavid Daney uint64_t oob3en:1; 1419*c5aa59e8SDavid Daney uint64_t l2tsecen:1; 1420*c5aa59e8SDavid Daney uint64_t l2tdeden:1; 1421*c5aa59e8SDavid Daney uint64_t l2dsecen:1; 1422*c5aa59e8SDavid Daney uint64_t l2ddeden:1; 1423*c5aa59e8SDavid Daney uint64_t lckena:1; 1424*c5aa59e8SDavid Daney uint64_t lck2ena:1; 1425*c5aa59e8SDavid Daney uint64_t reserved_9_63:55; 1426*c5aa59e8SDavid Daney #endif 142754293ec3SDavid Daney } s; 142854293ec3SDavid Daney struct cvmx_l2c_int_en_s cn52xx; 142954293ec3SDavid Daney struct cvmx_l2c_int_en_s cn52xxp1; 143054293ec3SDavid Daney struct cvmx_l2c_int_en_s cn56xx; 143154293ec3SDavid Daney struct cvmx_l2c_int_en_s cn56xxp1; 143254293ec3SDavid Daney }; 143354293ec3SDavid Daney 1434aa32a955SDavid Daney union cvmx_l2c_int_ena { 1435aa32a955SDavid Daney uint64_t u64; 1436aa32a955SDavid Daney struct cvmx_l2c_int_ena_s { 1437*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 1438aa32a955SDavid Daney uint64_t reserved_8_63:56; 1439aa32a955SDavid Daney uint64_t bigrd:1; 1440aa32a955SDavid Daney uint64_t bigwr:1; 1441aa32a955SDavid Daney uint64_t vrtpe:1; 1442aa32a955SDavid Daney uint64_t vrtadrng:1; 1443aa32a955SDavid Daney uint64_t vrtidrng:1; 1444aa32a955SDavid Daney uint64_t vrtwr:1; 1445aa32a955SDavid Daney uint64_t holewr:1; 1446aa32a955SDavid Daney uint64_t holerd:1; 1447*c5aa59e8SDavid Daney #else 1448*c5aa59e8SDavid Daney uint64_t holerd:1; 1449*c5aa59e8SDavid Daney uint64_t holewr:1; 1450*c5aa59e8SDavid Daney uint64_t vrtwr:1; 1451*c5aa59e8SDavid Daney uint64_t vrtidrng:1; 1452*c5aa59e8SDavid Daney uint64_t vrtadrng:1; 1453*c5aa59e8SDavid Daney uint64_t vrtpe:1; 1454*c5aa59e8SDavid Daney uint64_t bigwr:1; 1455*c5aa59e8SDavid Daney uint64_t bigrd:1; 1456*c5aa59e8SDavid Daney uint64_t reserved_8_63:56; 1457*c5aa59e8SDavid Daney #endif 1458aa32a955SDavid Daney } s; 1459*c5aa59e8SDavid Daney struct cvmx_l2c_int_ena_s cn61xx; 1460aa32a955SDavid Daney struct cvmx_l2c_int_ena_s cn63xx; 1461aa32a955SDavid Daney struct cvmx_l2c_int_ena_cn63xxp1 { 1462*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 1463aa32a955SDavid Daney uint64_t reserved_6_63:58; 1464aa32a955SDavid Daney uint64_t vrtpe:1; 1465aa32a955SDavid Daney uint64_t vrtadrng:1; 1466aa32a955SDavid Daney uint64_t vrtidrng:1; 1467aa32a955SDavid Daney uint64_t vrtwr:1; 1468aa32a955SDavid Daney uint64_t holewr:1; 1469aa32a955SDavid Daney uint64_t holerd:1; 1470*c5aa59e8SDavid Daney #else 1471*c5aa59e8SDavid Daney uint64_t holerd:1; 1472*c5aa59e8SDavid Daney uint64_t holewr:1; 1473*c5aa59e8SDavid Daney uint64_t vrtwr:1; 1474*c5aa59e8SDavid Daney uint64_t vrtidrng:1; 1475*c5aa59e8SDavid Daney uint64_t vrtadrng:1; 1476*c5aa59e8SDavid Daney uint64_t vrtpe:1; 1477*c5aa59e8SDavid Daney uint64_t reserved_6_63:58; 1478*c5aa59e8SDavid Daney #endif 1479aa32a955SDavid Daney } cn63xxp1; 1480*c5aa59e8SDavid Daney struct cvmx_l2c_int_ena_s cn66xx; 1481*c5aa59e8SDavid Daney struct cvmx_l2c_int_ena_s cn68xx; 1482*c5aa59e8SDavid Daney struct cvmx_l2c_int_ena_s cn68xxp1; 1483*c5aa59e8SDavid Daney struct cvmx_l2c_int_ena_s cnf71xx; 1484aa32a955SDavid Daney }; 1485aa32a955SDavid Daney 1486aa32a955SDavid Daney union cvmx_l2c_int_reg { 1487aa32a955SDavid Daney uint64_t u64; 1488aa32a955SDavid Daney struct cvmx_l2c_int_reg_s { 1489*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 1490*c5aa59e8SDavid Daney uint64_t reserved_20_63:44; 1491*c5aa59e8SDavid Daney uint64_t tad3:1; 1492*c5aa59e8SDavid Daney uint64_t tad2:1; 1493*c5aa59e8SDavid Daney uint64_t tad1:1; 1494*c5aa59e8SDavid Daney uint64_t tad0:1; 1495*c5aa59e8SDavid Daney uint64_t reserved_8_15:8; 1496*c5aa59e8SDavid Daney uint64_t bigrd:1; 1497*c5aa59e8SDavid Daney uint64_t bigwr:1; 1498*c5aa59e8SDavid Daney uint64_t vrtpe:1; 1499*c5aa59e8SDavid Daney uint64_t vrtadrng:1; 1500*c5aa59e8SDavid Daney uint64_t vrtidrng:1; 1501*c5aa59e8SDavid Daney uint64_t vrtwr:1; 1502*c5aa59e8SDavid Daney uint64_t holewr:1; 1503*c5aa59e8SDavid Daney uint64_t holerd:1; 1504*c5aa59e8SDavid Daney #else 1505*c5aa59e8SDavid Daney uint64_t holerd:1; 1506*c5aa59e8SDavid Daney uint64_t holewr:1; 1507*c5aa59e8SDavid Daney uint64_t vrtwr:1; 1508*c5aa59e8SDavid Daney uint64_t vrtidrng:1; 1509*c5aa59e8SDavid Daney uint64_t vrtadrng:1; 1510*c5aa59e8SDavid Daney uint64_t vrtpe:1; 1511*c5aa59e8SDavid Daney uint64_t bigwr:1; 1512*c5aa59e8SDavid Daney uint64_t bigrd:1; 1513*c5aa59e8SDavid Daney uint64_t reserved_8_15:8; 1514*c5aa59e8SDavid Daney uint64_t tad0:1; 1515*c5aa59e8SDavid Daney uint64_t tad1:1; 1516*c5aa59e8SDavid Daney uint64_t tad2:1; 1517*c5aa59e8SDavid Daney uint64_t tad3:1; 1518*c5aa59e8SDavid Daney uint64_t reserved_20_63:44; 1519*c5aa59e8SDavid Daney #endif 1520*c5aa59e8SDavid Daney } s; 1521*c5aa59e8SDavid Daney struct cvmx_l2c_int_reg_cn61xx { 1522*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 1523aa32a955SDavid Daney uint64_t reserved_17_63:47; 1524aa32a955SDavid Daney uint64_t tad0:1; 1525aa32a955SDavid Daney uint64_t reserved_8_15:8; 1526aa32a955SDavid Daney uint64_t bigrd:1; 1527aa32a955SDavid Daney uint64_t bigwr:1; 1528aa32a955SDavid Daney uint64_t vrtpe:1; 1529aa32a955SDavid Daney uint64_t vrtadrng:1; 1530aa32a955SDavid Daney uint64_t vrtidrng:1; 1531aa32a955SDavid Daney uint64_t vrtwr:1; 1532aa32a955SDavid Daney uint64_t holewr:1; 1533aa32a955SDavid Daney uint64_t holerd:1; 1534*c5aa59e8SDavid Daney #else 1535*c5aa59e8SDavid Daney uint64_t holerd:1; 1536*c5aa59e8SDavid Daney uint64_t holewr:1; 1537*c5aa59e8SDavid Daney uint64_t vrtwr:1; 1538*c5aa59e8SDavid Daney uint64_t vrtidrng:1; 1539*c5aa59e8SDavid Daney uint64_t vrtadrng:1; 1540*c5aa59e8SDavid Daney uint64_t vrtpe:1; 1541*c5aa59e8SDavid Daney uint64_t bigwr:1; 1542*c5aa59e8SDavid Daney uint64_t bigrd:1; 1543*c5aa59e8SDavid Daney uint64_t reserved_8_15:8; 1544*c5aa59e8SDavid Daney uint64_t tad0:1; 1545*c5aa59e8SDavid Daney uint64_t reserved_17_63:47; 1546*c5aa59e8SDavid Daney #endif 1547*c5aa59e8SDavid Daney } cn61xx; 1548*c5aa59e8SDavid Daney struct cvmx_l2c_int_reg_cn61xx cn63xx; 1549aa32a955SDavid Daney struct cvmx_l2c_int_reg_cn63xxp1 { 1550*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 1551aa32a955SDavid Daney uint64_t reserved_17_63:47; 1552aa32a955SDavid Daney uint64_t tad0:1; 1553aa32a955SDavid Daney uint64_t reserved_6_15:10; 1554aa32a955SDavid Daney uint64_t vrtpe:1; 1555aa32a955SDavid Daney uint64_t vrtadrng:1; 1556aa32a955SDavid Daney uint64_t vrtidrng:1; 1557aa32a955SDavid Daney uint64_t vrtwr:1; 1558aa32a955SDavid Daney uint64_t holewr:1; 1559aa32a955SDavid Daney uint64_t holerd:1; 1560*c5aa59e8SDavid Daney #else 1561*c5aa59e8SDavid Daney uint64_t holerd:1; 1562*c5aa59e8SDavid Daney uint64_t holewr:1; 1563*c5aa59e8SDavid Daney uint64_t vrtwr:1; 1564*c5aa59e8SDavid Daney uint64_t vrtidrng:1; 1565*c5aa59e8SDavid Daney uint64_t vrtadrng:1; 1566*c5aa59e8SDavid Daney uint64_t vrtpe:1; 1567*c5aa59e8SDavid Daney uint64_t reserved_6_15:10; 1568*c5aa59e8SDavid Daney uint64_t tad0:1; 1569*c5aa59e8SDavid Daney uint64_t reserved_17_63:47; 1570*c5aa59e8SDavid Daney #endif 1571aa32a955SDavid Daney } cn63xxp1; 1572*c5aa59e8SDavid Daney struct cvmx_l2c_int_reg_cn61xx cn66xx; 1573*c5aa59e8SDavid Daney struct cvmx_l2c_int_reg_s cn68xx; 1574*c5aa59e8SDavid Daney struct cvmx_l2c_int_reg_s cn68xxp1; 1575*c5aa59e8SDavid Daney struct cvmx_l2c_int_reg_cn61xx cnf71xx; 1576aa32a955SDavid Daney }; 1577aa32a955SDavid Daney 157854293ec3SDavid Daney union cvmx_l2c_int_stat { 157954293ec3SDavid Daney uint64_t u64; 158054293ec3SDavid Daney struct cvmx_l2c_int_stat_s { 1581*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 158254293ec3SDavid Daney uint64_t reserved_9_63:55; 158354293ec3SDavid Daney uint64_t lck2:1; 158454293ec3SDavid Daney uint64_t lck:1; 158554293ec3SDavid Daney uint64_t l2dded:1; 158654293ec3SDavid Daney uint64_t l2dsec:1; 158754293ec3SDavid Daney uint64_t l2tded:1; 158854293ec3SDavid Daney uint64_t l2tsec:1; 158954293ec3SDavid Daney uint64_t oob3:1; 159054293ec3SDavid Daney uint64_t oob2:1; 159154293ec3SDavid Daney uint64_t oob1:1; 1592*c5aa59e8SDavid Daney #else 1593*c5aa59e8SDavid Daney uint64_t oob1:1; 1594*c5aa59e8SDavid Daney uint64_t oob2:1; 1595*c5aa59e8SDavid Daney uint64_t oob3:1; 1596*c5aa59e8SDavid Daney uint64_t l2tsec:1; 1597*c5aa59e8SDavid Daney uint64_t l2tded:1; 1598*c5aa59e8SDavid Daney uint64_t l2dsec:1; 1599*c5aa59e8SDavid Daney uint64_t l2dded:1; 1600*c5aa59e8SDavid Daney uint64_t lck:1; 1601*c5aa59e8SDavid Daney uint64_t lck2:1; 1602*c5aa59e8SDavid Daney uint64_t reserved_9_63:55; 1603*c5aa59e8SDavid Daney #endif 160454293ec3SDavid Daney } s; 160554293ec3SDavid Daney struct cvmx_l2c_int_stat_s cn52xx; 160654293ec3SDavid Daney struct cvmx_l2c_int_stat_s cn52xxp1; 160754293ec3SDavid Daney struct cvmx_l2c_int_stat_s cn56xx; 160854293ec3SDavid Daney struct cvmx_l2c_int_stat_s cn56xxp1; 160954293ec3SDavid Daney }; 161054293ec3SDavid Daney 1611aa32a955SDavid Daney union cvmx_l2c_iocx_pfc { 1612aa32a955SDavid Daney uint64_t u64; 1613aa32a955SDavid Daney struct cvmx_l2c_iocx_pfc_s { 1614*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 1615aa32a955SDavid Daney uint64_t count:64; 1616*c5aa59e8SDavid Daney #else 1617*c5aa59e8SDavid Daney uint64_t count:64; 1618*c5aa59e8SDavid Daney #endif 1619aa32a955SDavid Daney } s; 1620*c5aa59e8SDavid Daney struct cvmx_l2c_iocx_pfc_s cn61xx; 1621aa32a955SDavid Daney struct cvmx_l2c_iocx_pfc_s cn63xx; 1622aa32a955SDavid Daney struct cvmx_l2c_iocx_pfc_s cn63xxp1; 1623*c5aa59e8SDavid Daney struct cvmx_l2c_iocx_pfc_s cn66xx; 1624*c5aa59e8SDavid Daney struct cvmx_l2c_iocx_pfc_s cn68xx; 1625*c5aa59e8SDavid Daney struct cvmx_l2c_iocx_pfc_s cn68xxp1; 1626*c5aa59e8SDavid Daney struct cvmx_l2c_iocx_pfc_s cnf71xx; 1627aa32a955SDavid Daney }; 1628aa32a955SDavid Daney 1629aa32a955SDavid Daney union cvmx_l2c_iorx_pfc { 1630aa32a955SDavid Daney uint64_t u64; 1631aa32a955SDavid Daney struct cvmx_l2c_iorx_pfc_s { 1632*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 1633aa32a955SDavid Daney uint64_t count:64; 1634*c5aa59e8SDavid Daney #else 1635*c5aa59e8SDavid Daney uint64_t count:64; 1636*c5aa59e8SDavid Daney #endif 1637aa32a955SDavid Daney } s; 1638*c5aa59e8SDavid Daney struct cvmx_l2c_iorx_pfc_s cn61xx; 1639aa32a955SDavid Daney struct cvmx_l2c_iorx_pfc_s cn63xx; 1640aa32a955SDavid Daney struct cvmx_l2c_iorx_pfc_s cn63xxp1; 1641*c5aa59e8SDavid Daney struct cvmx_l2c_iorx_pfc_s cn66xx; 1642*c5aa59e8SDavid Daney struct cvmx_l2c_iorx_pfc_s cn68xx; 1643*c5aa59e8SDavid Daney struct cvmx_l2c_iorx_pfc_s cn68xxp1; 1644*c5aa59e8SDavid Daney struct cvmx_l2c_iorx_pfc_s cnf71xx; 1645aa32a955SDavid Daney }; 1646aa32a955SDavid Daney 164754293ec3SDavid Daney union cvmx_l2c_lckbase { 164854293ec3SDavid Daney uint64_t u64; 164954293ec3SDavid Daney struct cvmx_l2c_lckbase_s { 1650*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 165154293ec3SDavid Daney uint64_t reserved_31_63:33; 165254293ec3SDavid Daney uint64_t lck_base:27; 165354293ec3SDavid Daney uint64_t reserved_1_3:3; 165454293ec3SDavid Daney uint64_t lck_ena:1; 1655*c5aa59e8SDavid Daney #else 1656*c5aa59e8SDavid Daney uint64_t lck_ena:1; 1657*c5aa59e8SDavid Daney uint64_t reserved_1_3:3; 1658*c5aa59e8SDavid Daney uint64_t lck_base:27; 1659*c5aa59e8SDavid Daney uint64_t reserved_31_63:33; 1660*c5aa59e8SDavid Daney #endif 166154293ec3SDavid Daney } s; 166254293ec3SDavid Daney struct cvmx_l2c_lckbase_s cn30xx; 166354293ec3SDavid Daney struct cvmx_l2c_lckbase_s cn31xx; 166454293ec3SDavid Daney struct cvmx_l2c_lckbase_s cn38xx; 166554293ec3SDavid Daney struct cvmx_l2c_lckbase_s cn38xxp2; 166654293ec3SDavid Daney struct cvmx_l2c_lckbase_s cn50xx; 166754293ec3SDavid Daney struct cvmx_l2c_lckbase_s cn52xx; 166854293ec3SDavid Daney struct cvmx_l2c_lckbase_s cn52xxp1; 166954293ec3SDavid Daney struct cvmx_l2c_lckbase_s cn56xx; 167054293ec3SDavid Daney struct cvmx_l2c_lckbase_s cn56xxp1; 167154293ec3SDavid Daney struct cvmx_l2c_lckbase_s cn58xx; 167254293ec3SDavid Daney struct cvmx_l2c_lckbase_s cn58xxp1; 167354293ec3SDavid Daney }; 167454293ec3SDavid Daney 167554293ec3SDavid Daney union cvmx_l2c_lckoff { 167654293ec3SDavid Daney uint64_t u64; 167754293ec3SDavid Daney struct cvmx_l2c_lckoff_s { 1678*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 167954293ec3SDavid Daney uint64_t reserved_10_63:54; 168054293ec3SDavid Daney uint64_t lck_offset:10; 1681*c5aa59e8SDavid Daney #else 1682*c5aa59e8SDavid Daney uint64_t lck_offset:10; 1683*c5aa59e8SDavid Daney uint64_t reserved_10_63:54; 1684*c5aa59e8SDavid Daney #endif 168554293ec3SDavid Daney } s; 168654293ec3SDavid Daney struct cvmx_l2c_lckoff_s cn30xx; 168754293ec3SDavid Daney struct cvmx_l2c_lckoff_s cn31xx; 168854293ec3SDavid Daney struct cvmx_l2c_lckoff_s cn38xx; 168954293ec3SDavid Daney struct cvmx_l2c_lckoff_s cn38xxp2; 169054293ec3SDavid Daney struct cvmx_l2c_lckoff_s cn50xx; 169154293ec3SDavid Daney struct cvmx_l2c_lckoff_s cn52xx; 169254293ec3SDavid Daney struct cvmx_l2c_lckoff_s cn52xxp1; 169354293ec3SDavid Daney struct cvmx_l2c_lckoff_s cn56xx; 169454293ec3SDavid Daney struct cvmx_l2c_lckoff_s cn56xxp1; 169554293ec3SDavid Daney struct cvmx_l2c_lckoff_s cn58xx; 169654293ec3SDavid Daney struct cvmx_l2c_lckoff_s cn58xxp1; 169754293ec3SDavid Daney }; 169854293ec3SDavid Daney 169954293ec3SDavid Daney union cvmx_l2c_lfb0 { 170054293ec3SDavid Daney uint64_t u64; 170154293ec3SDavid Daney struct cvmx_l2c_lfb0_s { 1702*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 170354293ec3SDavid Daney uint64_t reserved_32_63:32; 170454293ec3SDavid Daney uint64_t stcpnd:1; 170554293ec3SDavid Daney uint64_t stpnd:1; 170654293ec3SDavid Daney uint64_t stinv:1; 170754293ec3SDavid Daney uint64_t stcfl:1; 170854293ec3SDavid Daney uint64_t vam:1; 170954293ec3SDavid Daney uint64_t inxt:4; 171054293ec3SDavid Daney uint64_t itl:1; 171154293ec3SDavid Daney uint64_t ihd:1; 171254293ec3SDavid Daney uint64_t set:3; 171354293ec3SDavid Daney uint64_t vabnum:4; 171454293ec3SDavid Daney uint64_t sid:9; 171554293ec3SDavid Daney uint64_t cmd:4; 171654293ec3SDavid Daney uint64_t vld:1; 1717*c5aa59e8SDavid Daney #else 1718*c5aa59e8SDavid Daney uint64_t vld:1; 1719*c5aa59e8SDavid Daney uint64_t cmd:4; 1720*c5aa59e8SDavid Daney uint64_t sid:9; 1721*c5aa59e8SDavid Daney uint64_t vabnum:4; 1722*c5aa59e8SDavid Daney uint64_t set:3; 1723*c5aa59e8SDavid Daney uint64_t ihd:1; 1724*c5aa59e8SDavid Daney uint64_t itl:1; 1725*c5aa59e8SDavid Daney uint64_t inxt:4; 1726*c5aa59e8SDavid Daney uint64_t vam:1; 1727*c5aa59e8SDavid Daney uint64_t stcfl:1; 1728*c5aa59e8SDavid Daney uint64_t stinv:1; 1729*c5aa59e8SDavid Daney uint64_t stpnd:1; 1730*c5aa59e8SDavid Daney uint64_t stcpnd:1; 1731*c5aa59e8SDavid Daney uint64_t reserved_32_63:32; 1732*c5aa59e8SDavid Daney #endif 173354293ec3SDavid Daney } s; 173454293ec3SDavid Daney struct cvmx_l2c_lfb0_cn30xx { 1735*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 173654293ec3SDavid Daney uint64_t reserved_32_63:32; 173754293ec3SDavid Daney uint64_t stcpnd:1; 173854293ec3SDavid Daney uint64_t stpnd:1; 173954293ec3SDavid Daney uint64_t stinv:1; 174054293ec3SDavid Daney uint64_t stcfl:1; 174154293ec3SDavid Daney uint64_t vam:1; 174254293ec3SDavid Daney uint64_t reserved_25_26:2; 174354293ec3SDavid Daney uint64_t inxt:2; 174454293ec3SDavid Daney uint64_t itl:1; 174554293ec3SDavid Daney uint64_t ihd:1; 174654293ec3SDavid Daney uint64_t reserved_20_20:1; 174754293ec3SDavid Daney uint64_t set:2; 174854293ec3SDavid Daney uint64_t reserved_16_17:2; 174954293ec3SDavid Daney uint64_t vabnum:2; 175054293ec3SDavid Daney uint64_t sid:9; 175154293ec3SDavid Daney uint64_t cmd:4; 175254293ec3SDavid Daney uint64_t vld:1; 1753*c5aa59e8SDavid Daney #else 1754*c5aa59e8SDavid Daney uint64_t vld:1; 1755*c5aa59e8SDavid Daney uint64_t cmd:4; 1756*c5aa59e8SDavid Daney uint64_t sid:9; 1757*c5aa59e8SDavid Daney uint64_t vabnum:2; 1758*c5aa59e8SDavid Daney uint64_t reserved_16_17:2; 1759*c5aa59e8SDavid Daney uint64_t set:2; 1760*c5aa59e8SDavid Daney uint64_t reserved_20_20:1; 1761*c5aa59e8SDavid Daney uint64_t ihd:1; 1762*c5aa59e8SDavid Daney uint64_t itl:1; 1763*c5aa59e8SDavid Daney uint64_t inxt:2; 1764*c5aa59e8SDavid Daney uint64_t reserved_25_26:2; 1765*c5aa59e8SDavid Daney uint64_t vam:1; 1766*c5aa59e8SDavid Daney uint64_t stcfl:1; 1767*c5aa59e8SDavid Daney uint64_t stinv:1; 1768*c5aa59e8SDavid Daney uint64_t stpnd:1; 1769*c5aa59e8SDavid Daney uint64_t stcpnd:1; 1770*c5aa59e8SDavid Daney uint64_t reserved_32_63:32; 1771*c5aa59e8SDavid Daney #endif 177254293ec3SDavid Daney } cn30xx; 177354293ec3SDavid Daney struct cvmx_l2c_lfb0_cn31xx { 1774*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 177554293ec3SDavid Daney uint64_t reserved_32_63:32; 177654293ec3SDavid Daney uint64_t stcpnd:1; 177754293ec3SDavid Daney uint64_t stpnd:1; 177854293ec3SDavid Daney uint64_t stinv:1; 177954293ec3SDavid Daney uint64_t stcfl:1; 178054293ec3SDavid Daney uint64_t vam:1; 178154293ec3SDavid Daney uint64_t reserved_26_26:1; 178254293ec3SDavid Daney uint64_t inxt:3; 178354293ec3SDavid Daney uint64_t itl:1; 178454293ec3SDavid Daney uint64_t ihd:1; 178554293ec3SDavid Daney uint64_t reserved_20_20:1; 178654293ec3SDavid Daney uint64_t set:2; 178754293ec3SDavid Daney uint64_t reserved_17_17:1; 178854293ec3SDavid Daney uint64_t vabnum:3; 178954293ec3SDavid Daney uint64_t sid:9; 179054293ec3SDavid Daney uint64_t cmd:4; 179154293ec3SDavid Daney uint64_t vld:1; 1792*c5aa59e8SDavid Daney #else 1793*c5aa59e8SDavid Daney uint64_t vld:1; 1794*c5aa59e8SDavid Daney uint64_t cmd:4; 1795*c5aa59e8SDavid Daney uint64_t sid:9; 1796*c5aa59e8SDavid Daney uint64_t vabnum:3; 1797*c5aa59e8SDavid Daney uint64_t reserved_17_17:1; 1798*c5aa59e8SDavid Daney uint64_t set:2; 1799*c5aa59e8SDavid Daney uint64_t reserved_20_20:1; 1800*c5aa59e8SDavid Daney uint64_t ihd:1; 1801*c5aa59e8SDavid Daney uint64_t itl:1; 1802*c5aa59e8SDavid Daney uint64_t inxt:3; 1803*c5aa59e8SDavid Daney uint64_t reserved_26_26:1; 1804*c5aa59e8SDavid Daney uint64_t vam:1; 1805*c5aa59e8SDavid Daney uint64_t stcfl:1; 1806*c5aa59e8SDavid Daney uint64_t stinv:1; 1807*c5aa59e8SDavid Daney uint64_t stpnd:1; 1808*c5aa59e8SDavid Daney uint64_t stcpnd:1; 1809*c5aa59e8SDavid Daney uint64_t reserved_32_63:32; 1810*c5aa59e8SDavid Daney #endif 181154293ec3SDavid Daney } cn31xx; 181254293ec3SDavid Daney struct cvmx_l2c_lfb0_s cn38xx; 181354293ec3SDavid Daney struct cvmx_l2c_lfb0_s cn38xxp2; 181454293ec3SDavid Daney struct cvmx_l2c_lfb0_cn50xx { 1815*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 181654293ec3SDavid Daney uint64_t reserved_32_63:32; 181754293ec3SDavid Daney uint64_t stcpnd:1; 181854293ec3SDavid Daney uint64_t stpnd:1; 181954293ec3SDavid Daney uint64_t stinv:1; 182054293ec3SDavid Daney uint64_t stcfl:1; 182154293ec3SDavid Daney uint64_t vam:1; 182254293ec3SDavid Daney uint64_t reserved_26_26:1; 182354293ec3SDavid Daney uint64_t inxt:3; 182454293ec3SDavid Daney uint64_t itl:1; 182554293ec3SDavid Daney uint64_t ihd:1; 182654293ec3SDavid Daney uint64_t set:3; 182754293ec3SDavid Daney uint64_t reserved_17_17:1; 182854293ec3SDavid Daney uint64_t vabnum:3; 182954293ec3SDavid Daney uint64_t sid:9; 183054293ec3SDavid Daney uint64_t cmd:4; 183154293ec3SDavid Daney uint64_t vld:1; 1832*c5aa59e8SDavid Daney #else 1833*c5aa59e8SDavid Daney uint64_t vld:1; 1834*c5aa59e8SDavid Daney uint64_t cmd:4; 1835*c5aa59e8SDavid Daney uint64_t sid:9; 1836*c5aa59e8SDavid Daney uint64_t vabnum:3; 1837*c5aa59e8SDavid Daney uint64_t reserved_17_17:1; 1838*c5aa59e8SDavid Daney uint64_t set:3; 1839*c5aa59e8SDavid Daney uint64_t ihd:1; 1840*c5aa59e8SDavid Daney uint64_t itl:1; 1841*c5aa59e8SDavid Daney uint64_t inxt:3; 1842*c5aa59e8SDavid Daney uint64_t reserved_26_26:1; 1843*c5aa59e8SDavid Daney uint64_t vam:1; 1844*c5aa59e8SDavid Daney uint64_t stcfl:1; 1845*c5aa59e8SDavid Daney uint64_t stinv:1; 1846*c5aa59e8SDavid Daney uint64_t stpnd:1; 1847*c5aa59e8SDavid Daney uint64_t stcpnd:1; 1848*c5aa59e8SDavid Daney uint64_t reserved_32_63:32; 1849*c5aa59e8SDavid Daney #endif 185054293ec3SDavid Daney } cn50xx; 185154293ec3SDavid Daney struct cvmx_l2c_lfb0_cn50xx cn52xx; 185254293ec3SDavid Daney struct cvmx_l2c_lfb0_cn50xx cn52xxp1; 185354293ec3SDavid Daney struct cvmx_l2c_lfb0_s cn56xx; 185454293ec3SDavid Daney struct cvmx_l2c_lfb0_s cn56xxp1; 185554293ec3SDavid Daney struct cvmx_l2c_lfb0_s cn58xx; 185654293ec3SDavid Daney struct cvmx_l2c_lfb0_s cn58xxp1; 185754293ec3SDavid Daney }; 185854293ec3SDavid Daney 185954293ec3SDavid Daney union cvmx_l2c_lfb1 { 186054293ec3SDavid Daney uint64_t u64; 186154293ec3SDavid Daney struct cvmx_l2c_lfb1_s { 1862*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 186354293ec3SDavid Daney uint64_t reserved_19_63:45; 186454293ec3SDavid Daney uint64_t dsgoing:1; 186554293ec3SDavid Daney uint64_t bid:2; 186654293ec3SDavid Daney uint64_t wtrsp:1; 186754293ec3SDavid Daney uint64_t wtdw:1; 186854293ec3SDavid Daney uint64_t wtdq:1; 186954293ec3SDavid Daney uint64_t wtwhp:1; 187054293ec3SDavid Daney uint64_t wtwhf:1; 187154293ec3SDavid Daney uint64_t wtwrm:1; 187254293ec3SDavid Daney uint64_t wtstm:1; 187354293ec3SDavid Daney uint64_t wtrda:1; 187454293ec3SDavid Daney uint64_t wtstdt:1; 187554293ec3SDavid Daney uint64_t wtstrsp:1; 187654293ec3SDavid Daney uint64_t wtstrsc:1; 187754293ec3SDavid Daney uint64_t wtvtm:1; 187854293ec3SDavid Daney uint64_t wtmfl:1; 187954293ec3SDavid Daney uint64_t prbrty:1; 188054293ec3SDavid Daney uint64_t wtprb:1; 188154293ec3SDavid Daney uint64_t vld:1; 1882*c5aa59e8SDavid Daney #else 1883*c5aa59e8SDavid Daney uint64_t vld:1; 1884*c5aa59e8SDavid Daney uint64_t wtprb:1; 1885*c5aa59e8SDavid Daney uint64_t prbrty:1; 1886*c5aa59e8SDavid Daney uint64_t wtmfl:1; 1887*c5aa59e8SDavid Daney uint64_t wtvtm:1; 1888*c5aa59e8SDavid Daney uint64_t wtstrsc:1; 1889*c5aa59e8SDavid Daney uint64_t wtstrsp:1; 1890*c5aa59e8SDavid Daney uint64_t wtstdt:1; 1891*c5aa59e8SDavid Daney uint64_t wtrda:1; 1892*c5aa59e8SDavid Daney uint64_t wtstm:1; 1893*c5aa59e8SDavid Daney uint64_t wtwrm:1; 1894*c5aa59e8SDavid Daney uint64_t wtwhf:1; 1895*c5aa59e8SDavid Daney uint64_t wtwhp:1; 1896*c5aa59e8SDavid Daney uint64_t wtdq:1; 1897*c5aa59e8SDavid Daney uint64_t wtdw:1; 1898*c5aa59e8SDavid Daney uint64_t wtrsp:1; 1899*c5aa59e8SDavid Daney uint64_t bid:2; 1900*c5aa59e8SDavid Daney uint64_t dsgoing:1; 1901*c5aa59e8SDavid Daney uint64_t reserved_19_63:45; 1902*c5aa59e8SDavid Daney #endif 190354293ec3SDavid Daney } s; 190454293ec3SDavid Daney struct cvmx_l2c_lfb1_s cn30xx; 190554293ec3SDavid Daney struct cvmx_l2c_lfb1_s cn31xx; 190654293ec3SDavid Daney struct cvmx_l2c_lfb1_s cn38xx; 190754293ec3SDavid Daney struct cvmx_l2c_lfb1_s cn38xxp2; 190854293ec3SDavid Daney struct cvmx_l2c_lfb1_s cn50xx; 190954293ec3SDavid Daney struct cvmx_l2c_lfb1_s cn52xx; 191054293ec3SDavid Daney struct cvmx_l2c_lfb1_s cn52xxp1; 191154293ec3SDavid Daney struct cvmx_l2c_lfb1_s cn56xx; 191254293ec3SDavid Daney struct cvmx_l2c_lfb1_s cn56xxp1; 191354293ec3SDavid Daney struct cvmx_l2c_lfb1_s cn58xx; 191454293ec3SDavid Daney struct cvmx_l2c_lfb1_s cn58xxp1; 191554293ec3SDavid Daney }; 191654293ec3SDavid Daney 191754293ec3SDavid Daney union cvmx_l2c_lfb2 { 191854293ec3SDavid Daney uint64_t u64; 191954293ec3SDavid Daney struct cvmx_l2c_lfb2_s { 1920*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 192154293ec3SDavid Daney uint64_t reserved_0_63:64; 1922*c5aa59e8SDavid Daney #else 1923*c5aa59e8SDavid Daney uint64_t reserved_0_63:64; 1924*c5aa59e8SDavid Daney #endif 192554293ec3SDavid Daney } s; 192654293ec3SDavid Daney struct cvmx_l2c_lfb2_cn30xx { 1927*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 192854293ec3SDavid Daney uint64_t reserved_27_63:37; 192954293ec3SDavid Daney uint64_t lfb_tag:19; 193054293ec3SDavid Daney uint64_t lfb_idx:8; 1931*c5aa59e8SDavid Daney #else 1932*c5aa59e8SDavid Daney uint64_t lfb_idx:8; 1933*c5aa59e8SDavid Daney uint64_t lfb_tag:19; 1934*c5aa59e8SDavid Daney uint64_t reserved_27_63:37; 1935*c5aa59e8SDavid Daney #endif 193654293ec3SDavid Daney } cn30xx; 193754293ec3SDavid Daney struct cvmx_l2c_lfb2_cn31xx { 1938*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 193954293ec3SDavid Daney uint64_t reserved_27_63:37; 194054293ec3SDavid Daney uint64_t lfb_tag:17; 194154293ec3SDavid Daney uint64_t lfb_idx:10; 1942*c5aa59e8SDavid Daney #else 1943*c5aa59e8SDavid Daney uint64_t lfb_idx:10; 1944*c5aa59e8SDavid Daney uint64_t lfb_tag:17; 1945*c5aa59e8SDavid Daney uint64_t reserved_27_63:37; 1946*c5aa59e8SDavid Daney #endif 194754293ec3SDavid Daney } cn31xx; 194854293ec3SDavid Daney struct cvmx_l2c_lfb2_cn31xx cn38xx; 194954293ec3SDavid Daney struct cvmx_l2c_lfb2_cn31xx cn38xxp2; 195054293ec3SDavid Daney struct cvmx_l2c_lfb2_cn50xx { 1951*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 195254293ec3SDavid Daney uint64_t reserved_27_63:37; 195354293ec3SDavid Daney uint64_t lfb_tag:20; 195454293ec3SDavid Daney uint64_t lfb_idx:7; 1955*c5aa59e8SDavid Daney #else 1956*c5aa59e8SDavid Daney uint64_t lfb_idx:7; 1957*c5aa59e8SDavid Daney uint64_t lfb_tag:20; 1958*c5aa59e8SDavid Daney uint64_t reserved_27_63:37; 1959*c5aa59e8SDavid Daney #endif 196054293ec3SDavid Daney } cn50xx; 196154293ec3SDavid Daney struct cvmx_l2c_lfb2_cn52xx { 1962*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 196354293ec3SDavid Daney uint64_t reserved_27_63:37; 196454293ec3SDavid Daney uint64_t lfb_tag:18; 196554293ec3SDavid Daney uint64_t lfb_idx:9; 1966*c5aa59e8SDavid Daney #else 1967*c5aa59e8SDavid Daney uint64_t lfb_idx:9; 1968*c5aa59e8SDavid Daney uint64_t lfb_tag:18; 1969*c5aa59e8SDavid Daney uint64_t reserved_27_63:37; 1970*c5aa59e8SDavid Daney #endif 197154293ec3SDavid Daney } cn52xx; 197254293ec3SDavid Daney struct cvmx_l2c_lfb2_cn52xx cn52xxp1; 197354293ec3SDavid Daney struct cvmx_l2c_lfb2_cn56xx { 1974*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 197554293ec3SDavid Daney uint64_t reserved_27_63:37; 197654293ec3SDavid Daney uint64_t lfb_tag:16; 197754293ec3SDavid Daney uint64_t lfb_idx:11; 1978*c5aa59e8SDavid Daney #else 1979*c5aa59e8SDavid Daney uint64_t lfb_idx:11; 1980*c5aa59e8SDavid Daney uint64_t lfb_tag:16; 1981*c5aa59e8SDavid Daney uint64_t reserved_27_63:37; 1982*c5aa59e8SDavid Daney #endif 198354293ec3SDavid Daney } cn56xx; 198454293ec3SDavid Daney struct cvmx_l2c_lfb2_cn56xx cn56xxp1; 198554293ec3SDavid Daney struct cvmx_l2c_lfb2_cn56xx cn58xx; 198654293ec3SDavid Daney struct cvmx_l2c_lfb2_cn56xx cn58xxp1; 198754293ec3SDavid Daney }; 198854293ec3SDavid Daney 198954293ec3SDavid Daney union cvmx_l2c_lfb3 { 199054293ec3SDavid Daney uint64_t u64; 199154293ec3SDavid Daney struct cvmx_l2c_lfb3_s { 1992*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 199354293ec3SDavid Daney uint64_t reserved_5_63:59; 199454293ec3SDavid Daney uint64_t stpartdis:1; 199554293ec3SDavid Daney uint64_t lfb_hwm:4; 1996*c5aa59e8SDavid Daney #else 1997*c5aa59e8SDavid Daney uint64_t lfb_hwm:4; 1998*c5aa59e8SDavid Daney uint64_t stpartdis:1; 1999*c5aa59e8SDavid Daney uint64_t reserved_5_63:59; 2000*c5aa59e8SDavid Daney #endif 200154293ec3SDavid Daney } s; 200254293ec3SDavid Daney struct cvmx_l2c_lfb3_cn30xx { 2003*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 200454293ec3SDavid Daney uint64_t reserved_5_63:59; 200554293ec3SDavid Daney uint64_t stpartdis:1; 200654293ec3SDavid Daney uint64_t reserved_2_3:2; 200754293ec3SDavid Daney uint64_t lfb_hwm:2; 2008*c5aa59e8SDavid Daney #else 2009*c5aa59e8SDavid Daney uint64_t lfb_hwm:2; 2010*c5aa59e8SDavid Daney uint64_t reserved_2_3:2; 2011*c5aa59e8SDavid Daney uint64_t stpartdis:1; 2012*c5aa59e8SDavid Daney uint64_t reserved_5_63:59; 2013*c5aa59e8SDavid Daney #endif 201454293ec3SDavid Daney } cn30xx; 201554293ec3SDavid Daney struct cvmx_l2c_lfb3_cn31xx { 2016*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 201754293ec3SDavid Daney uint64_t reserved_5_63:59; 201854293ec3SDavid Daney uint64_t stpartdis:1; 201954293ec3SDavid Daney uint64_t reserved_3_3:1; 202054293ec3SDavid Daney uint64_t lfb_hwm:3; 2021*c5aa59e8SDavid Daney #else 2022*c5aa59e8SDavid Daney uint64_t lfb_hwm:3; 2023*c5aa59e8SDavid Daney uint64_t reserved_3_3:1; 2024*c5aa59e8SDavid Daney uint64_t stpartdis:1; 2025*c5aa59e8SDavid Daney uint64_t reserved_5_63:59; 2026*c5aa59e8SDavid Daney #endif 202754293ec3SDavid Daney } cn31xx; 202854293ec3SDavid Daney struct cvmx_l2c_lfb3_s cn38xx; 202954293ec3SDavid Daney struct cvmx_l2c_lfb3_s cn38xxp2; 203054293ec3SDavid Daney struct cvmx_l2c_lfb3_cn31xx cn50xx; 203154293ec3SDavid Daney struct cvmx_l2c_lfb3_cn31xx cn52xx; 203254293ec3SDavid Daney struct cvmx_l2c_lfb3_cn31xx cn52xxp1; 203354293ec3SDavid Daney struct cvmx_l2c_lfb3_s cn56xx; 203454293ec3SDavid Daney struct cvmx_l2c_lfb3_s cn56xxp1; 203554293ec3SDavid Daney struct cvmx_l2c_lfb3_s cn58xx; 203654293ec3SDavid Daney struct cvmx_l2c_lfb3_s cn58xxp1; 203754293ec3SDavid Daney }; 203854293ec3SDavid Daney 203954293ec3SDavid Daney union cvmx_l2c_oob { 204054293ec3SDavid Daney uint64_t u64; 204154293ec3SDavid Daney struct cvmx_l2c_oob_s { 2042*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 204354293ec3SDavid Daney uint64_t reserved_2_63:62; 204454293ec3SDavid Daney uint64_t dwbena:1; 204554293ec3SDavid Daney uint64_t stena:1; 2046*c5aa59e8SDavid Daney #else 2047*c5aa59e8SDavid Daney uint64_t stena:1; 2048*c5aa59e8SDavid Daney uint64_t dwbena:1; 2049*c5aa59e8SDavid Daney uint64_t reserved_2_63:62; 2050*c5aa59e8SDavid Daney #endif 205154293ec3SDavid Daney } s; 205254293ec3SDavid Daney struct cvmx_l2c_oob_s cn52xx; 205354293ec3SDavid Daney struct cvmx_l2c_oob_s cn52xxp1; 205454293ec3SDavid Daney struct cvmx_l2c_oob_s cn56xx; 205554293ec3SDavid Daney struct cvmx_l2c_oob_s cn56xxp1; 205654293ec3SDavid Daney }; 205754293ec3SDavid Daney 205854293ec3SDavid Daney union cvmx_l2c_oob1 { 205954293ec3SDavid Daney uint64_t u64; 206054293ec3SDavid Daney struct cvmx_l2c_oob1_s { 2061*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 206254293ec3SDavid Daney uint64_t fadr:27; 206354293ec3SDavid Daney uint64_t fsrc:1; 206454293ec3SDavid Daney uint64_t reserved_34_35:2; 206554293ec3SDavid Daney uint64_t sadr:14; 206654293ec3SDavid Daney uint64_t reserved_14_19:6; 206754293ec3SDavid Daney uint64_t size:14; 2068*c5aa59e8SDavid Daney #else 2069*c5aa59e8SDavid Daney uint64_t size:14; 2070*c5aa59e8SDavid Daney uint64_t reserved_14_19:6; 2071*c5aa59e8SDavid Daney uint64_t sadr:14; 2072*c5aa59e8SDavid Daney uint64_t reserved_34_35:2; 2073*c5aa59e8SDavid Daney uint64_t fsrc:1; 2074*c5aa59e8SDavid Daney uint64_t fadr:27; 2075*c5aa59e8SDavid Daney #endif 207654293ec3SDavid Daney } s; 207754293ec3SDavid Daney struct cvmx_l2c_oob1_s cn52xx; 207854293ec3SDavid Daney struct cvmx_l2c_oob1_s cn52xxp1; 207954293ec3SDavid Daney struct cvmx_l2c_oob1_s cn56xx; 208054293ec3SDavid Daney struct cvmx_l2c_oob1_s cn56xxp1; 208154293ec3SDavid Daney }; 208254293ec3SDavid Daney 208354293ec3SDavid Daney union cvmx_l2c_oob2 { 208454293ec3SDavid Daney uint64_t u64; 208554293ec3SDavid Daney struct cvmx_l2c_oob2_s { 2086*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 208754293ec3SDavid Daney uint64_t fadr:27; 208854293ec3SDavid Daney uint64_t fsrc:1; 208954293ec3SDavid Daney uint64_t reserved_34_35:2; 209054293ec3SDavid Daney uint64_t sadr:14; 209154293ec3SDavid Daney uint64_t reserved_14_19:6; 209254293ec3SDavid Daney uint64_t size:14; 2093*c5aa59e8SDavid Daney #else 2094*c5aa59e8SDavid Daney uint64_t size:14; 2095*c5aa59e8SDavid Daney uint64_t reserved_14_19:6; 2096*c5aa59e8SDavid Daney uint64_t sadr:14; 2097*c5aa59e8SDavid Daney uint64_t reserved_34_35:2; 2098*c5aa59e8SDavid Daney uint64_t fsrc:1; 2099*c5aa59e8SDavid Daney uint64_t fadr:27; 2100*c5aa59e8SDavid Daney #endif 210154293ec3SDavid Daney } s; 210254293ec3SDavid Daney struct cvmx_l2c_oob2_s cn52xx; 210354293ec3SDavid Daney struct cvmx_l2c_oob2_s cn52xxp1; 210454293ec3SDavid Daney struct cvmx_l2c_oob2_s cn56xx; 210554293ec3SDavid Daney struct cvmx_l2c_oob2_s cn56xxp1; 210654293ec3SDavid Daney }; 210754293ec3SDavid Daney 210854293ec3SDavid Daney union cvmx_l2c_oob3 { 210954293ec3SDavid Daney uint64_t u64; 211054293ec3SDavid Daney struct cvmx_l2c_oob3_s { 2111*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 211254293ec3SDavid Daney uint64_t fadr:27; 211354293ec3SDavid Daney uint64_t fsrc:1; 211454293ec3SDavid Daney uint64_t reserved_34_35:2; 211554293ec3SDavid Daney uint64_t sadr:14; 211654293ec3SDavid Daney uint64_t reserved_14_19:6; 211754293ec3SDavid Daney uint64_t size:14; 2118*c5aa59e8SDavid Daney #else 2119*c5aa59e8SDavid Daney uint64_t size:14; 2120*c5aa59e8SDavid Daney uint64_t reserved_14_19:6; 2121*c5aa59e8SDavid Daney uint64_t sadr:14; 2122*c5aa59e8SDavid Daney uint64_t reserved_34_35:2; 2123*c5aa59e8SDavid Daney uint64_t fsrc:1; 2124*c5aa59e8SDavid Daney uint64_t fadr:27; 2125*c5aa59e8SDavid Daney #endif 212654293ec3SDavid Daney } s; 212754293ec3SDavid Daney struct cvmx_l2c_oob3_s cn52xx; 212854293ec3SDavid Daney struct cvmx_l2c_oob3_s cn52xxp1; 212954293ec3SDavid Daney struct cvmx_l2c_oob3_s cn56xx; 213054293ec3SDavid Daney struct cvmx_l2c_oob3_s cn56xxp1; 213154293ec3SDavid Daney }; 213254293ec3SDavid Daney 213354293ec3SDavid Daney union cvmx_l2c_pfcx { 213454293ec3SDavid Daney uint64_t u64; 213554293ec3SDavid Daney struct cvmx_l2c_pfcx_s { 2136*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 213754293ec3SDavid Daney uint64_t reserved_36_63:28; 213854293ec3SDavid Daney uint64_t pfcnt0:36; 2139*c5aa59e8SDavid Daney #else 2140*c5aa59e8SDavid Daney uint64_t pfcnt0:36; 2141*c5aa59e8SDavid Daney uint64_t reserved_36_63:28; 2142*c5aa59e8SDavid Daney #endif 214354293ec3SDavid Daney } s; 214454293ec3SDavid Daney struct cvmx_l2c_pfcx_s cn30xx; 214554293ec3SDavid Daney struct cvmx_l2c_pfcx_s cn31xx; 214654293ec3SDavid Daney struct cvmx_l2c_pfcx_s cn38xx; 214754293ec3SDavid Daney struct cvmx_l2c_pfcx_s cn38xxp2; 214854293ec3SDavid Daney struct cvmx_l2c_pfcx_s cn50xx; 214954293ec3SDavid Daney struct cvmx_l2c_pfcx_s cn52xx; 215054293ec3SDavid Daney struct cvmx_l2c_pfcx_s cn52xxp1; 215154293ec3SDavid Daney struct cvmx_l2c_pfcx_s cn56xx; 215254293ec3SDavid Daney struct cvmx_l2c_pfcx_s cn56xxp1; 215354293ec3SDavid Daney struct cvmx_l2c_pfcx_s cn58xx; 215454293ec3SDavid Daney struct cvmx_l2c_pfcx_s cn58xxp1; 215554293ec3SDavid Daney }; 215654293ec3SDavid Daney 215754293ec3SDavid Daney union cvmx_l2c_pfctl { 215854293ec3SDavid Daney uint64_t u64; 215954293ec3SDavid Daney struct cvmx_l2c_pfctl_s { 2160*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 216154293ec3SDavid Daney uint64_t reserved_36_63:28; 216254293ec3SDavid Daney uint64_t cnt3rdclr:1; 216354293ec3SDavid Daney uint64_t cnt2rdclr:1; 216454293ec3SDavid Daney uint64_t cnt1rdclr:1; 216554293ec3SDavid Daney uint64_t cnt0rdclr:1; 216654293ec3SDavid Daney uint64_t cnt3ena:1; 216754293ec3SDavid Daney uint64_t cnt3clr:1; 216854293ec3SDavid Daney uint64_t cnt3sel:6; 216954293ec3SDavid Daney uint64_t cnt2ena:1; 217054293ec3SDavid Daney uint64_t cnt2clr:1; 217154293ec3SDavid Daney uint64_t cnt2sel:6; 217254293ec3SDavid Daney uint64_t cnt1ena:1; 217354293ec3SDavid Daney uint64_t cnt1clr:1; 217454293ec3SDavid Daney uint64_t cnt1sel:6; 217554293ec3SDavid Daney uint64_t cnt0ena:1; 217654293ec3SDavid Daney uint64_t cnt0clr:1; 217754293ec3SDavid Daney uint64_t cnt0sel:6; 2178*c5aa59e8SDavid Daney #else 2179*c5aa59e8SDavid Daney uint64_t cnt0sel:6; 2180*c5aa59e8SDavid Daney uint64_t cnt0clr:1; 2181*c5aa59e8SDavid Daney uint64_t cnt0ena:1; 2182*c5aa59e8SDavid Daney uint64_t cnt1sel:6; 2183*c5aa59e8SDavid Daney uint64_t cnt1clr:1; 2184*c5aa59e8SDavid Daney uint64_t cnt1ena:1; 2185*c5aa59e8SDavid Daney uint64_t cnt2sel:6; 2186*c5aa59e8SDavid Daney uint64_t cnt2clr:1; 2187*c5aa59e8SDavid Daney uint64_t cnt2ena:1; 2188*c5aa59e8SDavid Daney uint64_t cnt3sel:6; 2189*c5aa59e8SDavid Daney uint64_t cnt3clr:1; 2190*c5aa59e8SDavid Daney uint64_t cnt3ena:1; 2191*c5aa59e8SDavid Daney uint64_t cnt0rdclr:1; 2192*c5aa59e8SDavid Daney uint64_t cnt1rdclr:1; 2193*c5aa59e8SDavid Daney uint64_t cnt2rdclr:1; 2194*c5aa59e8SDavid Daney uint64_t cnt3rdclr:1; 2195*c5aa59e8SDavid Daney uint64_t reserved_36_63:28; 2196*c5aa59e8SDavid Daney #endif 219754293ec3SDavid Daney } s; 219854293ec3SDavid Daney struct cvmx_l2c_pfctl_s cn30xx; 219954293ec3SDavid Daney struct cvmx_l2c_pfctl_s cn31xx; 220054293ec3SDavid Daney struct cvmx_l2c_pfctl_s cn38xx; 220154293ec3SDavid Daney struct cvmx_l2c_pfctl_s cn38xxp2; 220254293ec3SDavid Daney struct cvmx_l2c_pfctl_s cn50xx; 220354293ec3SDavid Daney struct cvmx_l2c_pfctl_s cn52xx; 220454293ec3SDavid Daney struct cvmx_l2c_pfctl_s cn52xxp1; 220554293ec3SDavid Daney struct cvmx_l2c_pfctl_s cn56xx; 220654293ec3SDavid Daney struct cvmx_l2c_pfctl_s cn56xxp1; 220754293ec3SDavid Daney struct cvmx_l2c_pfctl_s cn58xx; 220854293ec3SDavid Daney struct cvmx_l2c_pfctl_s cn58xxp1; 220954293ec3SDavid Daney }; 221054293ec3SDavid Daney 221154293ec3SDavid Daney union cvmx_l2c_ppgrp { 221254293ec3SDavid Daney uint64_t u64; 221354293ec3SDavid Daney struct cvmx_l2c_ppgrp_s { 2214*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 221554293ec3SDavid Daney uint64_t reserved_24_63:40; 221654293ec3SDavid Daney uint64_t pp11grp:2; 221754293ec3SDavid Daney uint64_t pp10grp:2; 221854293ec3SDavid Daney uint64_t pp9grp:2; 221954293ec3SDavid Daney uint64_t pp8grp:2; 222054293ec3SDavid Daney uint64_t pp7grp:2; 222154293ec3SDavid Daney uint64_t pp6grp:2; 222254293ec3SDavid Daney uint64_t pp5grp:2; 222354293ec3SDavid Daney uint64_t pp4grp:2; 222454293ec3SDavid Daney uint64_t pp3grp:2; 222554293ec3SDavid Daney uint64_t pp2grp:2; 222654293ec3SDavid Daney uint64_t pp1grp:2; 222754293ec3SDavid Daney uint64_t pp0grp:2; 2228*c5aa59e8SDavid Daney #else 2229*c5aa59e8SDavid Daney uint64_t pp0grp:2; 2230*c5aa59e8SDavid Daney uint64_t pp1grp:2; 2231*c5aa59e8SDavid Daney uint64_t pp2grp:2; 2232*c5aa59e8SDavid Daney uint64_t pp3grp:2; 2233*c5aa59e8SDavid Daney uint64_t pp4grp:2; 2234*c5aa59e8SDavid Daney uint64_t pp5grp:2; 2235*c5aa59e8SDavid Daney uint64_t pp6grp:2; 2236*c5aa59e8SDavid Daney uint64_t pp7grp:2; 2237*c5aa59e8SDavid Daney uint64_t pp8grp:2; 2238*c5aa59e8SDavid Daney uint64_t pp9grp:2; 2239*c5aa59e8SDavid Daney uint64_t pp10grp:2; 2240*c5aa59e8SDavid Daney uint64_t pp11grp:2; 2241*c5aa59e8SDavid Daney uint64_t reserved_24_63:40; 2242*c5aa59e8SDavid Daney #endif 224354293ec3SDavid Daney } s; 224454293ec3SDavid Daney struct cvmx_l2c_ppgrp_cn52xx { 2245*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 224654293ec3SDavid Daney uint64_t reserved_8_63:56; 224754293ec3SDavid Daney uint64_t pp3grp:2; 224854293ec3SDavid Daney uint64_t pp2grp:2; 224954293ec3SDavid Daney uint64_t pp1grp:2; 225054293ec3SDavid Daney uint64_t pp0grp:2; 2251*c5aa59e8SDavid Daney #else 2252*c5aa59e8SDavid Daney uint64_t pp0grp:2; 2253*c5aa59e8SDavid Daney uint64_t pp1grp:2; 2254*c5aa59e8SDavid Daney uint64_t pp2grp:2; 2255*c5aa59e8SDavid Daney uint64_t pp3grp:2; 2256*c5aa59e8SDavid Daney uint64_t reserved_8_63:56; 2257*c5aa59e8SDavid Daney #endif 225854293ec3SDavid Daney } cn52xx; 225954293ec3SDavid Daney struct cvmx_l2c_ppgrp_cn52xx cn52xxp1; 226054293ec3SDavid Daney struct cvmx_l2c_ppgrp_s cn56xx; 226154293ec3SDavid Daney struct cvmx_l2c_ppgrp_s cn56xxp1; 226254293ec3SDavid Daney }; 226354293ec3SDavid Daney 2264aa32a955SDavid Daney union cvmx_l2c_qos_iobx { 2265aa32a955SDavid Daney uint64_t u64; 2266aa32a955SDavid Daney struct cvmx_l2c_qos_iobx_s { 2267*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 2268*c5aa59e8SDavid Daney uint64_t reserved_7_63:57; 2269*c5aa59e8SDavid Daney uint64_t dwblvl:3; 2270*c5aa59e8SDavid Daney uint64_t reserved_3_3:1; 2271*c5aa59e8SDavid Daney uint64_t lvl:3; 2272*c5aa59e8SDavid Daney #else 2273*c5aa59e8SDavid Daney uint64_t lvl:3; 2274*c5aa59e8SDavid Daney uint64_t reserved_3_3:1; 2275*c5aa59e8SDavid Daney uint64_t dwblvl:3; 2276*c5aa59e8SDavid Daney uint64_t reserved_7_63:57; 2277*c5aa59e8SDavid Daney #endif 2278*c5aa59e8SDavid Daney } s; 2279*c5aa59e8SDavid Daney struct cvmx_l2c_qos_iobx_cn61xx { 2280*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 2281aa32a955SDavid Daney uint64_t reserved_6_63:58; 2282aa32a955SDavid Daney uint64_t dwblvl:2; 2283aa32a955SDavid Daney uint64_t reserved_2_3:2; 2284aa32a955SDavid Daney uint64_t lvl:2; 2285*c5aa59e8SDavid Daney #else 2286*c5aa59e8SDavid Daney uint64_t lvl:2; 2287*c5aa59e8SDavid Daney uint64_t reserved_2_3:2; 2288*c5aa59e8SDavid Daney uint64_t dwblvl:2; 2289*c5aa59e8SDavid Daney uint64_t reserved_6_63:58; 2290*c5aa59e8SDavid Daney #endif 2291*c5aa59e8SDavid Daney } cn61xx; 2292*c5aa59e8SDavid Daney struct cvmx_l2c_qos_iobx_cn61xx cn63xx; 2293*c5aa59e8SDavid Daney struct cvmx_l2c_qos_iobx_cn61xx cn63xxp1; 2294*c5aa59e8SDavid Daney struct cvmx_l2c_qos_iobx_cn61xx cn66xx; 2295*c5aa59e8SDavid Daney struct cvmx_l2c_qos_iobx_s cn68xx; 2296*c5aa59e8SDavid Daney struct cvmx_l2c_qos_iobx_s cn68xxp1; 2297*c5aa59e8SDavid Daney struct cvmx_l2c_qos_iobx_cn61xx cnf71xx; 2298aa32a955SDavid Daney }; 2299aa32a955SDavid Daney 2300aa32a955SDavid Daney union cvmx_l2c_qos_ppx { 2301aa32a955SDavid Daney uint64_t u64; 2302aa32a955SDavid Daney struct cvmx_l2c_qos_ppx_s { 2303*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 2304*c5aa59e8SDavid Daney uint64_t reserved_3_63:61; 2305*c5aa59e8SDavid Daney uint64_t lvl:3; 2306*c5aa59e8SDavid Daney #else 2307*c5aa59e8SDavid Daney uint64_t lvl:3; 2308*c5aa59e8SDavid Daney uint64_t reserved_3_63:61; 2309*c5aa59e8SDavid Daney #endif 2310*c5aa59e8SDavid Daney } s; 2311*c5aa59e8SDavid Daney struct cvmx_l2c_qos_ppx_cn61xx { 2312*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 2313aa32a955SDavid Daney uint64_t reserved_2_63:62; 2314aa32a955SDavid Daney uint64_t lvl:2; 2315*c5aa59e8SDavid Daney #else 2316*c5aa59e8SDavid Daney uint64_t lvl:2; 2317*c5aa59e8SDavid Daney uint64_t reserved_2_63:62; 2318*c5aa59e8SDavid Daney #endif 2319*c5aa59e8SDavid Daney } cn61xx; 2320*c5aa59e8SDavid Daney struct cvmx_l2c_qos_ppx_cn61xx cn63xx; 2321*c5aa59e8SDavid Daney struct cvmx_l2c_qos_ppx_cn61xx cn63xxp1; 2322*c5aa59e8SDavid Daney struct cvmx_l2c_qos_ppx_cn61xx cn66xx; 2323*c5aa59e8SDavid Daney struct cvmx_l2c_qos_ppx_s cn68xx; 2324*c5aa59e8SDavid Daney struct cvmx_l2c_qos_ppx_s cn68xxp1; 2325*c5aa59e8SDavid Daney struct cvmx_l2c_qos_ppx_cn61xx cnf71xx; 2326aa32a955SDavid Daney }; 2327aa32a955SDavid Daney 2328aa32a955SDavid Daney union cvmx_l2c_qos_wgt { 2329aa32a955SDavid Daney uint64_t u64; 2330aa32a955SDavid Daney struct cvmx_l2c_qos_wgt_s { 2331*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 2332*c5aa59e8SDavid Daney uint64_t wgt7:8; 2333*c5aa59e8SDavid Daney uint64_t wgt6:8; 2334*c5aa59e8SDavid Daney uint64_t wgt5:8; 2335*c5aa59e8SDavid Daney uint64_t wgt4:8; 2336*c5aa59e8SDavid Daney uint64_t wgt3:8; 2337*c5aa59e8SDavid Daney uint64_t wgt2:8; 2338*c5aa59e8SDavid Daney uint64_t wgt1:8; 2339*c5aa59e8SDavid Daney uint64_t wgt0:8; 2340*c5aa59e8SDavid Daney #else 2341*c5aa59e8SDavid Daney uint64_t wgt0:8; 2342*c5aa59e8SDavid Daney uint64_t wgt1:8; 2343*c5aa59e8SDavid Daney uint64_t wgt2:8; 2344*c5aa59e8SDavid Daney uint64_t wgt3:8; 2345*c5aa59e8SDavid Daney uint64_t wgt4:8; 2346*c5aa59e8SDavid Daney uint64_t wgt5:8; 2347*c5aa59e8SDavid Daney uint64_t wgt6:8; 2348*c5aa59e8SDavid Daney uint64_t wgt7:8; 2349*c5aa59e8SDavid Daney #endif 2350*c5aa59e8SDavid Daney } s; 2351*c5aa59e8SDavid Daney struct cvmx_l2c_qos_wgt_cn61xx { 2352*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 2353aa32a955SDavid Daney uint64_t reserved_32_63:32; 2354aa32a955SDavid Daney uint64_t wgt3:8; 2355aa32a955SDavid Daney uint64_t wgt2:8; 2356aa32a955SDavid Daney uint64_t wgt1:8; 2357aa32a955SDavid Daney uint64_t wgt0:8; 2358*c5aa59e8SDavid Daney #else 2359*c5aa59e8SDavid Daney uint64_t wgt0:8; 2360*c5aa59e8SDavid Daney uint64_t wgt1:8; 2361*c5aa59e8SDavid Daney uint64_t wgt2:8; 2362*c5aa59e8SDavid Daney uint64_t wgt3:8; 2363*c5aa59e8SDavid Daney uint64_t reserved_32_63:32; 2364*c5aa59e8SDavid Daney #endif 2365*c5aa59e8SDavid Daney } cn61xx; 2366*c5aa59e8SDavid Daney struct cvmx_l2c_qos_wgt_cn61xx cn63xx; 2367*c5aa59e8SDavid Daney struct cvmx_l2c_qos_wgt_cn61xx cn63xxp1; 2368*c5aa59e8SDavid Daney struct cvmx_l2c_qos_wgt_cn61xx cn66xx; 2369*c5aa59e8SDavid Daney struct cvmx_l2c_qos_wgt_s cn68xx; 2370*c5aa59e8SDavid Daney struct cvmx_l2c_qos_wgt_s cn68xxp1; 2371*c5aa59e8SDavid Daney struct cvmx_l2c_qos_wgt_cn61xx cnf71xx; 2372aa32a955SDavid Daney }; 2373aa32a955SDavid Daney 2374aa32a955SDavid Daney union cvmx_l2c_rscx_pfc { 2375aa32a955SDavid Daney uint64_t u64; 2376aa32a955SDavid Daney struct cvmx_l2c_rscx_pfc_s { 2377*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 2378aa32a955SDavid Daney uint64_t count:64; 2379*c5aa59e8SDavid Daney #else 2380*c5aa59e8SDavid Daney uint64_t count:64; 2381*c5aa59e8SDavid Daney #endif 2382aa32a955SDavid Daney } s; 2383*c5aa59e8SDavid Daney struct cvmx_l2c_rscx_pfc_s cn61xx; 2384aa32a955SDavid Daney struct cvmx_l2c_rscx_pfc_s cn63xx; 2385aa32a955SDavid Daney struct cvmx_l2c_rscx_pfc_s cn63xxp1; 2386*c5aa59e8SDavid Daney struct cvmx_l2c_rscx_pfc_s cn66xx; 2387*c5aa59e8SDavid Daney struct cvmx_l2c_rscx_pfc_s cn68xx; 2388*c5aa59e8SDavid Daney struct cvmx_l2c_rscx_pfc_s cn68xxp1; 2389*c5aa59e8SDavid Daney struct cvmx_l2c_rscx_pfc_s cnf71xx; 2390aa32a955SDavid Daney }; 2391aa32a955SDavid Daney 2392aa32a955SDavid Daney union cvmx_l2c_rsdx_pfc { 2393aa32a955SDavid Daney uint64_t u64; 2394aa32a955SDavid Daney struct cvmx_l2c_rsdx_pfc_s { 2395*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 2396aa32a955SDavid Daney uint64_t count:64; 2397*c5aa59e8SDavid Daney #else 2398*c5aa59e8SDavid Daney uint64_t count:64; 2399*c5aa59e8SDavid Daney #endif 2400aa32a955SDavid Daney } s; 2401*c5aa59e8SDavid Daney struct cvmx_l2c_rsdx_pfc_s cn61xx; 2402aa32a955SDavid Daney struct cvmx_l2c_rsdx_pfc_s cn63xx; 2403aa32a955SDavid Daney struct cvmx_l2c_rsdx_pfc_s cn63xxp1; 2404*c5aa59e8SDavid Daney struct cvmx_l2c_rsdx_pfc_s cn66xx; 2405*c5aa59e8SDavid Daney struct cvmx_l2c_rsdx_pfc_s cn68xx; 2406*c5aa59e8SDavid Daney struct cvmx_l2c_rsdx_pfc_s cn68xxp1; 2407*c5aa59e8SDavid Daney struct cvmx_l2c_rsdx_pfc_s cnf71xx; 2408aa32a955SDavid Daney }; 2409aa32a955SDavid Daney 241054293ec3SDavid Daney union cvmx_l2c_spar0 { 241154293ec3SDavid Daney uint64_t u64; 241254293ec3SDavid Daney struct cvmx_l2c_spar0_s { 2413*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 241454293ec3SDavid Daney uint64_t reserved_32_63:32; 241554293ec3SDavid Daney uint64_t umsk3:8; 241654293ec3SDavid Daney uint64_t umsk2:8; 241754293ec3SDavid Daney uint64_t umsk1:8; 241854293ec3SDavid Daney uint64_t umsk0:8; 2419*c5aa59e8SDavid Daney #else 2420*c5aa59e8SDavid Daney uint64_t umsk0:8; 2421*c5aa59e8SDavid Daney uint64_t umsk1:8; 2422*c5aa59e8SDavid Daney uint64_t umsk2:8; 2423*c5aa59e8SDavid Daney uint64_t umsk3:8; 2424*c5aa59e8SDavid Daney uint64_t reserved_32_63:32; 2425*c5aa59e8SDavid Daney #endif 242654293ec3SDavid Daney } s; 242754293ec3SDavid Daney struct cvmx_l2c_spar0_cn30xx { 2428*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 242954293ec3SDavid Daney uint64_t reserved_4_63:60; 243054293ec3SDavid Daney uint64_t umsk0:4; 2431*c5aa59e8SDavid Daney #else 2432*c5aa59e8SDavid Daney uint64_t umsk0:4; 2433*c5aa59e8SDavid Daney uint64_t reserved_4_63:60; 2434*c5aa59e8SDavid Daney #endif 243554293ec3SDavid Daney } cn30xx; 243654293ec3SDavid Daney struct cvmx_l2c_spar0_cn31xx { 2437*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 243854293ec3SDavid Daney uint64_t reserved_12_63:52; 243954293ec3SDavid Daney uint64_t umsk1:4; 244054293ec3SDavid Daney uint64_t reserved_4_7:4; 244154293ec3SDavid Daney uint64_t umsk0:4; 2442*c5aa59e8SDavid Daney #else 2443*c5aa59e8SDavid Daney uint64_t umsk0:4; 2444*c5aa59e8SDavid Daney uint64_t reserved_4_7:4; 2445*c5aa59e8SDavid Daney uint64_t umsk1:4; 2446*c5aa59e8SDavid Daney uint64_t reserved_12_63:52; 2447*c5aa59e8SDavid Daney #endif 244854293ec3SDavid Daney } cn31xx; 244954293ec3SDavid Daney struct cvmx_l2c_spar0_s cn38xx; 245054293ec3SDavid Daney struct cvmx_l2c_spar0_s cn38xxp2; 245154293ec3SDavid Daney struct cvmx_l2c_spar0_cn50xx { 2452*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 245354293ec3SDavid Daney uint64_t reserved_16_63:48; 245454293ec3SDavid Daney uint64_t umsk1:8; 245554293ec3SDavid Daney uint64_t umsk0:8; 2456*c5aa59e8SDavid Daney #else 2457*c5aa59e8SDavid Daney uint64_t umsk0:8; 2458*c5aa59e8SDavid Daney uint64_t umsk1:8; 2459*c5aa59e8SDavid Daney uint64_t reserved_16_63:48; 2460*c5aa59e8SDavid Daney #endif 246154293ec3SDavid Daney } cn50xx; 246254293ec3SDavid Daney struct cvmx_l2c_spar0_s cn52xx; 246354293ec3SDavid Daney struct cvmx_l2c_spar0_s cn52xxp1; 246454293ec3SDavid Daney struct cvmx_l2c_spar0_s cn56xx; 246554293ec3SDavid Daney struct cvmx_l2c_spar0_s cn56xxp1; 246654293ec3SDavid Daney struct cvmx_l2c_spar0_s cn58xx; 246754293ec3SDavid Daney struct cvmx_l2c_spar0_s cn58xxp1; 246854293ec3SDavid Daney }; 246954293ec3SDavid Daney 247054293ec3SDavid Daney union cvmx_l2c_spar1 { 247154293ec3SDavid Daney uint64_t u64; 247254293ec3SDavid Daney struct cvmx_l2c_spar1_s { 2473*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 247454293ec3SDavid Daney uint64_t reserved_32_63:32; 247554293ec3SDavid Daney uint64_t umsk7:8; 247654293ec3SDavid Daney uint64_t umsk6:8; 247754293ec3SDavid Daney uint64_t umsk5:8; 247854293ec3SDavid Daney uint64_t umsk4:8; 2479*c5aa59e8SDavid Daney #else 2480*c5aa59e8SDavid Daney uint64_t umsk4:8; 2481*c5aa59e8SDavid Daney uint64_t umsk5:8; 2482*c5aa59e8SDavid Daney uint64_t umsk6:8; 2483*c5aa59e8SDavid Daney uint64_t umsk7:8; 2484*c5aa59e8SDavid Daney uint64_t reserved_32_63:32; 2485*c5aa59e8SDavid Daney #endif 248654293ec3SDavid Daney } s; 248754293ec3SDavid Daney struct cvmx_l2c_spar1_s cn38xx; 248854293ec3SDavid Daney struct cvmx_l2c_spar1_s cn38xxp2; 248954293ec3SDavid Daney struct cvmx_l2c_spar1_s cn56xx; 249054293ec3SDavid Daney struct cvmx_l2c_spar1_s cn56xxp1; 249154293ec3SDavid Daney struct cvmx_l2c_spar1_s cn58xx; 249254293ec3SDavid Daney struct cvmx_l2c_spar1_s cn58xxp1; 249354293ec3SDavid Daney }; 249454293ec3SDavid Daney 249554293ec3SDavid Daney union cvmx_l2c_spar2 { 249654293ec3SDavid Daney uint64_t u64; 249754293ec3SDavid Daney struct cvmx_l2c_spar2_s { 2498*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 249954293ec3SDavid Daney uint64_t reserved_32_63:32; 250054293ec3SDavid Daney uint64_t umsk11:8; 250154293ec3SDavid Daney uint64_t umsk10:8; 250254293ec3SDavid Daney uint64_t umsk9:8; 250354293ec3SDavid Daney uint64_t umsk8:8; 2504*c5aa59e8SDavid Daney #else 2505*c5aa59e8SDavid Daney uint64_t umsk8:8; 2506*c5aa59e8SDavid Daney uint64_t umsk9:8; 2507*c5aa59e8SDavid Daney uint64_t umsk10:8; 2508*c5aa59e8SDavid Daney uint64_t umsk11:8; 2509*c5aa59e8SDavid Daney uint64_t reserved_32_63:32; 2510*c5aa59e8SDavid Daney #endif 251154293ec3SDavid Daney } s; 251254293ec3SDavid Daney struct cvmx_l2c_spar2_s cn38xx; 251354293ec3SDavid Daney struct cvmx_l2c_spar2_s cn38xxp2; 251454293ec3SDavid Daney struct cvmx_l2c_spar2_s cn56xx; 251554293ec3SDavid Daney struct cvmx_l2c_spar2_s cn56xxp1; 251654293ec3SDavid Daney struct cvmx_l2c_spar2_s cn58xx; 251754293ec3SDavid Daney struct cvmx_l2c_spar2_s cn58xxp1; 251854293ec3SDavid Daney }; 251954293ec3SDavid Daney 252054293ec3SDavid Daney union cvmx_l2c_spar3 { 252154293ec3SDavid Daney uint64_t u64; 252254293ec3SDavid Daney struct cvmx_l2c_spar3_s { 2523*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 252454293ec3SDavid Daney uint64_t reserved_32_63:32; 252554293ec3SDavid Daney uint64_t umsk15:8; 252654293ec3SDavid Daney uint64_t umsk14:8; 252754293ec3SDavid Daney uint64_t umsk13:8; 252854293ec3SDavid Daney uint64_t umsk12:8; 2529*c5aa59e8SDavid Daney #else 2530*c5aa59e8SDavid Daney uint64_t umsk12:8; 2531*c5aa59e8SDavid Daney uint64_t umsk13:8; 2532*c5aa59e8SDavid Daney uint64_t umsk14:8; 2533*c5aa59e8SDavid Daney uint64_t umsk15:8; 2534*c5aa59e8SDavid Daney uint64_t reserved_32_63:32; 2535*c5aa59e8SDavid Daney #endif 253654293ec3SDavid Daney } s; 253754293ec3SDavid Daney struct cvmx_l2c_spar3_s cn38xx; 253854293ec3SDavid Daney struct cvmx_l2c_spar3_s cn38xxp2; 253954293ec3SDavid Daney struct cvmx_l2c_spar3_s cn58xx; 254054293ec3SDavid Daney struct cvmx_l2c_spar3_s cn58xxp1; 254154293ec3SDavid Daney }; 254254293ec3SDavid Daney 254354293ec3SDavid Daney union cvmx_l2c_spar4 { 254454293ec3SDavid Daney uint64_t u64; 254554293ec3SDavid Daney struct cvmx_l2c_spar4_s { 2546*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 254754293ec3SDavid Daney uint64_t reserved_8_63:56; 254854293ec3SDavid Daney uint64_t umskiob:8; 2549*c5aa59e8SDavid Daney #else 2550*c5aa59e8SDavid Daney uint64_t umskiob:8; 2551*c5aa59e8SDavid Daney uint64_t reserved_8_63:56; 2552*c5aa59e8SDavid Daney #endif 255354293ec3SDavid Daney } s; 255454293ec3SDavid Daney struct cvmx_l2c_spar4_cn30xx { 2555*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 255654293ec3SDavid Daney uint64_t reserved_4_63:60; 255754293ec3SDavid Daney uint64_t umskiob:4; 2558*c5aa59e8SDavid Daney #else 2559*c5aa59e8SDavid Daney uint64_t umskiob:4; 2560*c5aa59e8SDavid Daney uint64_t reserved_4_63:60; 2561*c5aa59e8SDavid Daney #endif 256254293ec3SDavid Daney } cn30xx; 256354293ec3SDavid Daney struct cvmx_l2c_spar4_cn30xx cn31xx; 256454293ec3SDavid Daney struct cvmx_l2c_spar4_s cn38xx; 256554293ec3SDavid Daney struct cvmx_l2c_spar4_s cn38xxp2; 256654293ec3SDavid Daney struct cvmx_l2c_spar4_s cn50xx; 256754293ec3SDavid Daney struct cvmx_l2c_spar4_s cn52xx; 256854293ec3SDavid Daney struct cvmx_l2c_spar4_s cn52xxp1; 256954293ec3SDavid Daney struct cvmx_l2c_spar4_s cn56xx; 257054293ec3SDavid Daney struct cvmx_l2c_spar4_s cn56xxp1; 257154293ec3SDavid Daney struct cvmx_l2c_spar4_s cn58xx; 257254293ec3SDavid Daney struct cvmx_l2c_spar4_s cn58xxp1; 257354293ec3SDavid Daney }; 257454293ec3SDavid Daney 2575aa32a955SDavid Daney union cvmx_l2c_tadx_ecc0 { 2576aa32a955SDavid Daney uint64_t u64; 2577aa32a955SDavid Daney struct cvmx_l2c_tadx_ecc0_s { 2578*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 2579aa32a955SDavid Daney uint64_t reserved_58_63:6; 2580aa32a955SDavid Daney uint64_t ow3ecc:10; 2581aa32a955SDavid Daney uint64_t reserved_42_47:6; 2582aa32a955SDavid Daney uint64_t ow2ecc:10; 2583aa32a955SDavid Daney uint64_t reserved_26_31:6; 2584aa32a955SDavid Daney uint64_t ow1ecc:10; 2585aa32a955SDavid Daney uint64_t reserved_10_15:6; 2586aa32a955SDavid Daney uint64_t ow0ecc:10; 2587*c5aa59e8SDavid Daney #else 2588*c5aa59e8SDavid Daney uint64_t ow0ecc:10; 2589*c5aa59e8SDavid Daney uint64_t reserved_10_15:6; 2590*c5aa59e8SDavid Daney uint64_t ow1ecc:10; 2591*c5aa59e8SDavid Daney uint64_t reserved_26_31:6; 2592*c5aa59e8SDavid Daney uint64_t ow2ecc:10; 2593*c5aa59e8SDavid Daney uint64_t reserved_42_47:6; 2594*c5aa59e8SDavid Daney uint64_t ow3ecc:10; 2595*c5aa59e8SDavid Daney uint64_t reserved_58_63:6; 2596*c5aa59e8SDavid Daney #endif 2597aa32a955SDavid Daney } s; 2598*c5aa59e8SDavid Daney struct cvmx_l2c_tadx_ecc0_s cn61xx; 2599aa32a955SDavid Daney struct cvmx_l2c_tadx_ecc0_s cn63xx; 2600aa32a955SDavid Daney struct cvmx_l2c_tadx_ecc0_s cn63xxp1; 2601*c5aa59e8SDavid Daney struct cvmx_l2c_tadx_ecc0_s cn66xx; 2602*c5aa59e8SDavid Daney struct cvmx_l2c_tadx_ecc0_s cn68xx; 2603*c5aa59e8SDavid Daney struct cvmx_l2c_tadx_ecc0_s cn68xxp1; 2604*c5aa59e8SDavid Daney struct cvmx_l2c_tadx_ecc0_s cnf71xx; 2605aa32a955SDavid Daney }; 2606aa32a955SDavid Daney 2607aa32a955SDavid Daney union cvmx_l2c_tadx_ecc1 { 2608aa32a955SDavid Daney uint64_t u64; 2609aa32a955SDavid Daney struct cvmx_l2c_tadx_ecc1_s { 2610*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 2611aa32a955SDavid Daney uint64_t reserved_58_63:6; 2612aa32a955SDavid Daney uint64_t ow7ecc:10; 2613aa32a955SDavid Daney uint64_t reserved_42_47:6; 2614aa32a955SDavid Daney uint64_t ow6ecc:10; 2615aa32a955SDavid Daney uint64_t reserved_26_31:6; 2616aa32a955SDavid Daney uint64_t ow5ecc:10; 2617aa32a955SDavid Daney uint64_t reserved_10_15:6; 2618aa32a955SDavid Daney uint64_t ow4ecc:10; 2619*c5aa59e8SDavid Daney #else 2620*c5aa59e8SDavid Daney uint64_t ow4ecc:10; 2621*c5aa59e8SDavid Daney uint64_t reserved_10_15:6; 2622*c5aa59e8SDavid Daney uint64_t ow5ecc:10; 2623*c5aa59e8SDavid Daney uint64_t reserved_26_31:6; 2624*c5aa59e8SDavid Daney uint64_t ow6ecc:10; 2625*c5aa59e8SDavid Daney uint64_t reserved_42_47:6; 2626*c5aa59e8SDavid Daney uint64_t ow7ecc:10; 2627*c5aa59e8SDavid Daney uint64_t reserved_58_63:6; 2628*c5aa59e8SDavid Daney #endif 2629aa32a955SDavid Daney } s; 2630*c5aa59e8SDavid Daney struct cvmx_l2c_tadx_ecc1_s cn61xx; 2631aa32a955SDavid Daney struct cvmx_l2c_tadx_ecc1_s cn63xx; 2632aa32a955SDavid Daney struct cvmx_l2c_tadx_ecc1_s cn63xxp1; 2633*c5aa59e8SDavid Daney struct cvmx_l2c_tadx_ecc1_s cn66xx; 2634*c5aa59e8SDavid Daney struct cvmx_l2c_tadx_ecc1_s cn68xx; 2635*c5aa59e8SDavid Daney struct cvmx_l2c_tadx_ecc1_s cn68xxp1; 2636*c5aa59e8SDavid Daney struct cvmx_l2c_tadx_ecc1_s cnf71xx; 2637aa32a955SDavid Daney }; 2638aa32a955SDavid Daney 2639aa32a955SDavid Daney union cvmx_l2c_tadx_ien { 2640aa32a955SDavid Daney uint64_t u64; 2641aa32a955SDavid Daney struct cvmx_l2c_tadx_ien_s { 2642*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 2643aa32a955SDavid Daney uint64_t reserved_9_63:55; 2644aa32a955SDavid Daney uint64_t wrdislmc:1; 2645aa32a955SDavid Daney uint64_t rddislmc:1; 2646aa32a955SDavid Daney uint64_t noway:1; 2647aa32a955SDavid Daney uint64_t vbfdbe:1; 2648aa32a955SDavid Daney uint64_t vbfsbe:1; 2649aa32a955SDavid Daney uint64_t tagdbe:1; 2650aa32a955SDavid Daney uint64_t tagsbe:1; 2651aa32a955SDavid Daney uint64_t l2ddbe:1; 2652aa32a955SDavid Daney uint64_t l2dsbe:1; 2653*c5aa59e8SDavid Daney #else 2654*c5aa59e8SDavid Daney uint64_t l2dsbe:1; 2655*c5aa59e8SDavid Daney uint64_t l2ddbe:1; 2656*c5aa59e8SDavid Daney uint64_t tagsbe:1; 2657*c5aa59e8SDavid Daney uint64_t tagdbe:1; 2658*c5aa59e8SDavid Daney uint64_t vbfsbe:1; 2659*c5aa59e8SDavid Daney uint64_t vbfdbe:1; 2660*c5aa59e8SDavid Daney uint64_t noway:1; 2661*c5aa59e8SDavid Daney uint64_t rddislmc:1; 2662*c5aa59e8SDavid Daney uint64_t wrdislmc:1; 2663*c5aa59e8SDavid Daney uint64_t reserved_9_63:55; 2664*c5aa59e8SDavid Daney #endif 2665aa32a955SDavid Daney } s; 2666*c5aa59e8SDavid Daney struct cvmx_l2c_tadx_ien_s cn61xx; 2667aa32a955SDavid Daney struct cvmx_l2c_tadx_ien_s cn63xx; 2668aa32a955SDavid Daney struct cvmx_l2c_tadx_ien_cn63xxp1 { 2669*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 2670aa32a955SDavid Daney uint64_t reserved_7_63:57; 2671aa32a955SDavid Daney uint64_t noway:1; 2672aa32a955SDavid Daney uint64_t vbfdbe:1; 2673aa32a955SDavid Daney uint64_t vbfsbe:1; 2674aa32a955SDavid Daney uint64_t tagdbe:1; 2675aa32a955SDavid Daney uint64_t tagsbe:1; 2676aa32a955SDavid Daney uint64_t l2ddbe:1; 2677aa32a955SDavid Daney uint64_t l2dsbe:1; 2678*c5aa59e8SDavid Daney #else 2679*c5aa59e8SDavid Daney uint64_t l2dsbe:1; 2680*c5aa59e8SDavid Daney uint64_t l2ddbe:1; 2681*c5aa59e8SDavid Daney uint64_t tagsbe:1; 2682*c5aa59e8SDavid Daney uint64_t tagdbe:1; 2683*c5aa59e8SDavid Daney uint64_t vbfsbe:1; 2684*c5aa59e8SDavid Daney uint64_t vbfdbe:1; 2685*c5aa59e8SDavid Daney uint64_t noway:1; 2686*c5aa59e8SDavid Daney uint64_t reserved_7_63:57; 2687*c5aa59e8SDavid Daney #endif 2688aa32a955SDavid Daney } cn63xxp1; 2689*c5aa59e8SDavid Daney struct cvmx_l2c_tadx_ien_s cn66xx; 2690*c5aa59e8SDavid Daney struct cvmx_l2c_tadx_ien_s cn68xx; 2691*c5aa59e8SDavid Daney struct cvmx_l2c_tadx_ien_s cn68xxp1; 2692*c5aa59e8SDavid Daney struct cvmx_l2c_tadx_ien_s cnf71xx; 2693aa32a955SDavid Daney }; 2694aa32a955SDavid Daney 2695aa32a955SDavid Daney union cvmx_l2c_tadx_int { 2696aa32a955SDavid Daney uint64_t u64; 2697aa32a955SDavid Daney struct cvmx_l2c_tadx_int_s { 2698*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 2699aa32a955SDavid Daney uint64_t reserved_9_63:55; 2700aa32a955SDavid Daney uint64_t wrdislmc:1; 2701aa32a955SDavid Daney uint64_t rddislmc:1; 2702aa32a955SDavid Daney uint64_t noway:1; 2703aa32a955SDavid Daney uint64_t vbfdbe:1; 2704aa32a955SDavid Daney uint64_t vbfsbe:1; 2705aa32a955SDavid Daney uint64_t tagdbe:1; 2706aa32a955SDavid Daney uint64_t tagsbe:1; 2707aa32a955SDavid Daney uint64_t l2ddbe:1; 2708aa32a955SDavid Daney uint64_t l2dsbe:1; 2709*c5aa59e8SDavid Daney #else 2710*c5aa59e8SDavid Daney uint64_t l2dsbe:1; 2711*c5aa59e8SDavid Daney uint64_t l2ddbe:1; 2712*c5aa59e8SDavid Daney uint64_t tagsbe:1; 2713*c5aa59e8SDavid Daney uint64_t tagdbe:1; 2714*c5aa59e8SDavid Daney uint64_t vbfsbe:1; 2715*c5aa59e8SDavid Daney uint64_t vbfdbe:1; 2716*c5aa59e8SDavid Daney uint64_t noway:1; 2717*c5aa59e8SDavid Daney uint64_t rddislmc:1; 2718*c5aa59e8SDavid Daney uint64_t wrdislmc:1; 2719*c5aa59e8SDavid Daney uint64_t reserved_9_63:55; 2720*c5aa59e8SDavid Daney #endif 2721aa32a955SDavid Daney } s; 2722*c5aa59e8SDavid Daney struct cvmx_l2c_tadx_int_s cn61xx; 2723aa32a955SDavid Daney struct cvmx_l2c_tadx_int_s cn63xx; 2724*c5aa59e8SDavid Daney struct cvmx_l2c_tadx_int_s cn66xx; 2725*c5aa59e8SDavid Daney struct cvmx_l2c_tadx_int_s cn68xx; 2726*c5aa59e8SDavid Daney struct cvmx_l2c_tadx_int_s cn68xxp1; 2727*c5aa59e8SDavid Daney struct cvmx_l2c_tadx_int_s cnf71xx; 2728aa32a955SDavid Daney }; 2729aa32a955SDavid Daney 2730aa32a955SDavid Daney union cvmx_l2c_tadx_pfc0 { 2731aa32a955SDavid Daney uint64_t u64; 2732aa32a955SDavid Daney struct cvmx_l2c_tadx_pfc0_s { 2733*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 2734aa32a955SDavid Daney uint64_t count:64; 2735*c5aa59e8SDavid Daney #else 2736*c5aa59e8SDavid Daney uint64_t count:64; 2737*c5aa59e8SDavid Daney #endif 2738aa32a955SDavid Daney } s; 2739*c5aa59e8SDavid Daney struct cvmx_l2c_tadx_pfc0_s cn61xx; 2740aa32a955SDavid Daney struct cvmx_l2c_tadx_pfc0_s cn63xx; 2741aa32a955SDavid Daney struct cvmx_l2c_tadx_pfc0_s cn63xxp1; 2742*c5aa59e8SDavid Daney struct cvmx_l2c_tadx_pfc0_s cn66xx; 2743*c5aa59e8SDavid Daney struct cvmx_l2c_tadx_pfc0_s cn68xx; 2744*c5aa59e8SDavid Daney struct cvmx_l2c_tadx_pfc0_s cn68xxp1; 2745*c5aa59e8SDavid Daney struct cvmx_l2c_tadx_pfc0_s cnf71xx; 2746aa32a955SDavid Daney }; 2747aa32a955SDavid Daney 2748aa32a955SDavid Daney union cvmx_l2c_tadx_pfc1 { 2749aa32a955SDavid Daney uint64_t u64; 2750aa32a955SDavid Daney struct cvmx_l2c_tadx_pfc1_s { 2751*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 2752aa32a955SDavid Daney uint64_t count:64; 2753*c5aa59e8SDavid Daney #else 2754*c5aa59e8SDavid Daney uint64_t count:64; 2755*c5aa59e8SDavid Daney #endif 2756aa32a955SDavid Daney } s; 2757*c5aa59e8SDavid Daney struct cvmx_l2c_tadx_pfc1_s cn61xx; 2758aa32a955SDavid Daney struct cvmx_l2c_tadx_pfc1_s cn63xx; 2759aa32a955SDavid Daney struct cvmx_l2c_tadx_pfc1_s cn63xxp1; 2760*c5aa59e8SDavid Daney struct cvmx_l2c_tadx_pfc1_s cn66xx; 2761*c5aa59e8SDavid Daney struct cvmx_l2c_tadx_pfc1_s cn68xx; 2762*c5aa59e8SDavid Daney struct cvmx_l2c_tadx_pfc1_s cn68xxp1; 2763*c5aa59e8SDavid Daney struct cvmx_l2c_tadx_pfc1_s cnf71xx; 2764aa32a955SDavid Daney }; 2765aa32a955SDavid Daney 2766aa32a955SDavid Daney union cvmx_l2c_tadx_pfc2 { 2767aa32a955SDavid Daney uint64_t u64; 2768aa32a955SDavid Daney struct cvmx_l2c_tadx_pfc2_s { 2769*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 2770aa32a955SDavid Daney uint64_t count:64; 2771*c5aa59e8SDavid Daney #else 2772*c5aa59e8SDavid Daney uint64_t count:64; 2773*c5aa59e8SDavid Daney #endif 2774aa32a955SDavid Daney } s; 2775*c5aa59e8SDavid Daney struct cvmx_l2c_tadx_pfc2_s cn61xx; 2776aa32a955SDavid Daney struct cvmx_l2c_tadx_pfc2_s cn63xx; 2777aa32a955SDavid Daney struct cvmx_l2c_tadx_pfc2_s cn63xxp1; 2778*c5aa59e8SDavid Daney struct cvmx_l2c_tadx_pfc2_s cn66xx; 2779*c5aa59e8SDavid Daney struct cvmx_l2c_tadx_pfc2_s cn68xx; 2780*c5aa59e8SDavid Daney struct cvmx_l2c_tadx_pfc2_s cn68xxp1; 2781*c5aa59e8SDavid Daney struct cvmx_l2c_tadx_pfc2_s cnf71xx; 2782aa32a955SDavid Daney }; 2783aa32a955SDavid Daney 2784aa32a955SDavid Daney union cvmx_l2c_tadx_pfc3 { 2785aa32a955SDavid Daney uint64_t u64; 2786aa32a955SDavid Daney struct cvmx_l2c_tadx_pfc3_s { 2787*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 2788aa32a955SDavid Daney uint64_t count:64; 2789*c5aa59e8SDavid Daney #else 2790*c5aa59e8SDavid Daney uint64_t count:64; 2791*c5aa59e8SDavid Daney #endif 2792aa32a955SDavid Daney } s; 2793*c5aa59e8SDavid Daney struct cvmx_l2c_tadx_pfc3_s cn61xx; 2794aa32a955SDavid Daney struct cvmx_l2c_tadx_pfc3_s cn63xx; 2795aa32a955SDavid Daney struct cvmx_l2c_tadx_pfc3_s cn63xxp1; 2796*c5aa59e8SDavid Daney struct cvmx_l2c_tadx_pfc3_s cn66xx; 2797*c5aa59e8SDavid Daney struct cvmx_l2c_tadx_pfc3_s cn68xx; 2798*c5aa59e8SDavid Daney struct cvmx_l2c_tadx_pfc3_s cn68xxp1; 2799*c5aa59e8SDavid Daney struct cvmx_l2c_tadx_pfc3_s cnf71xx; 2800aa32a955SDavid Daney }; 2801aa32a955SDavid Daney 2802aa32a955SDavid Daney union cvmx_l2c_tadx_prf { 2803aa32a955SDavid Daney uint64_t u64; 2804aa32a955SDavid Daney struct cvmx_l2c_tadx_prf_s { 2805*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 2806aa32a955SDavid Daney uint64_t reserved_32_63:32; 2807aa32a955SDavid Daney uint64_t cnt3sel:8; 2808aa32a955SDavid Daney uint64_t cnt2sel:8; 2809aa32a955SDavid Daney uint64_t cnt1sel:8; 2810aa32a955SDavid Daney uint64_t cnt0sel:8; 2811*c5aa59e8SDavid Daney #else 2812*c5aa59e8SDavid Daney uint64_t cnt0sel:8; 2813*c5aa59e8SDavid Daney uint64_t cnt1sel:8; 2814*c5aa59e8SDavid Daney uint64_t cnt2sel:8; 2815*c5aa59e8SDavid Daney uint64_t cnt3sel:8; 2816*c5aa59e8SDavid Daney uint64_t reserved_32_63:32; 2817*c5aa59e8SDavid Daney #endif 2818aa32a955SDavid Daney } s; 2819*c5aa59e8SDavid Daney struct cvmx_l2c_tadx_prf_s cn61xx; 2820aa32a955SDavid Daney struct cvmx_l2c_tadx_prf_s cn63xx; 2821aa32a955SDavid Daney struct cvmx_l2c_tadx_prf_s cn63xxp1; 2822*c5aa59e8SDavid Daney struct cvmx_l2c_tadx_prf_s cn66xx; 2823*c5aa59e8SDavid Daney struct cvmx_l2c_tadx_prf_s cn68xx; 2824*c5aa59e8SDavid Daney struct cvmx_l2c_tadx_prf_s cn68xxp1; 2825*c5aa59e8SDavid Daney struct cvmx_l2c_tadx_prf_s cnf71xx; 2826aa32a955SDavid Daney }; 2827aa32a955SDavid Daney 2828aa32a955SDavid Daney union cvmx_l2c_tadx_tag { 2829aa32a955SDavid Daney uint64_t u64; 2830aa32a955SDavid Daney struct cvmx_l2c_tadx_tag_s { 2831*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 2832aa32a955SDavid Daney uint64_t reserved_46_63:18; 2833aa32a955SDavid Daney uint64_t ecc:6; 2834aa32a955SDavid Daney uint64_t reserved_36_39:4; 2835aa32a955SDavid Daney uint64_t tag:19; 2836aa32a955SDavid Daney uint64_t reserved_4_16:13; 2837aa32a955SDavid Daney uint64_t use:1; 2838aa32a955SDavid Daney uint64_t valid:1; 2839aa32a955SDavid Daney uint64_t dirty:1; 2840aa32a955SDavid Daney uint64_t lock:1; 2841*c5aa59e8SDavid Daney #else 2842*c5aa59e8SDavid Daney uint64_t lock:1; 2843*c5aa59e8SDavid Daney uint64_t dirty:1; 2844*c5aa59e8SDavid Daney uint64_t valid:1; 2845*c5aa59e8SDavid Daney uint64_t use:1; 2846*c5aa59e8SDavid Daney uint64_t reserved_4_16:13; 2847*c5aa59e8SDavid Daney uint64_t tag:19; 2848*c5aa59e8SDavid Daney uint64_t reserved_36_39:4; 2849*c5aa59e8SDavid Daney uint64_t ecc:6; 2850*c5aa59e8SDavid Daney uint64_t reserved_46_63:18; 2851*c5aa59e8SDavid Daney #endif 2852aa32a955SDavid Daney } s; 2853*c5aa59e8SDavid Daney struct cvmx_l2c_tadx_tag_s cn61xx; 2854aa32a955SDavid Daney struct cvmx_l2c_tadx_tag_s cn63xx; 2855aa32a955SDavid Daney struct cvmx_l2c_tadx_tag_s cn63xxp1; 2856*c5aa59e8SDavid Daney struct cvmx_l2c_tadx_tag_s cn66xx; 2857*c5aa59e8SDavid Daney struct cvmx_l2c_tadx_tag_s cn68xx; 2858*c5aa59e8SDavid Daney struct cvmx_l2c_tadx_tag_s cn68xxp1; 2859*c5aa59e8SDavid Daney struct cvmx_l2c_tadx_tag_s cnf71xx; 2860aa32a955SDavid Daney }; 2861aa32a955SDavid Daney 2862aa32a955SDavid Daney union cvmx_l2c_ver_id { 2863aa32a955SDavid Daney uint64_t u64; 2864aa32a955SDavid Daney struct cvmx_l2c_ver_id_s { 2865*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 2866aa32a955SDavid Daney uint64_t mask:64; 2867*c5aa59e8SDavid Daney #else 2868*c5aa59e8SDavid Daney uint64_t mask:64; 2869*c5aa59e8SDavid Daney #endif 2870aa32a955SDavid Daney } s; 2871*c5aa59e8SDavid Daney struct cvmx_l2c_ver_id_s cn61xx; 2872aa32a955SDavid Daney struct cvmx_l2c_ver_id_s cn63xx; 2873aa32a955SDavid Daney struct cvmx_l2c_ver_id_s cn63xxp1; 2874*c5aa59e8SDavid Daney struct cvmx_l2c_ver_id_s cn66xx; 2875*c5aa59e8SDavid Daney struct cvmx_l2c_ver_id_s cn68xx; 2876*c5aa59e8SDavid Daney struct cvmx_l2c_ver_id_s cn68xxp1; 2877*c5aa59e8SDavid Daney struct cvmx_l2c_ver_id_s cnf71xx; 2878aa32a955SDavid Daney }; 2879aa32a955SDavid Daney 2880aa32a955SDavid Daney union cvmx_l2c_ver_iob { 2881aa32a955SDavid Daney uint64_t u64; 2882aa32a955SDavid Daney struct cvmx_l2c_ver_iob_s { 2883*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 2884*c5aa59e8SDavid Daney uint64_t reserved_2_63:62; 2885*c5aa59e8SDavid Daney uint64_t mask:2; 2886*c5aa59e8SDavid Daney #else 2887*c5aa59e8SDavid Daney uint64_t mask:2; 2888*c5aa59e8SDavid Daney uint64_t reserved_2_63:62; 2889*c5aa59e8SDavid Daney #endif 2890*c5aa59e8SDavid Daney } s; 2891*c5aa59e8SDavid Daney struct cvmx_l2c_ver_iob_cn61xx { 2892*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 2893aa32a955SDavid Daney uint64_t reserved_1_63:63; 2894aa32a955SDavid Daney uint64_t mask:1; 2895*c5aa59e8SDavid Daney #else 2896*c5aa59e8SDavid Daney uint64_t mask:1; 2897*c5aa59e8SDavid Daney uint64_t reserved_1_63:63; 2898*c5aa59e8SDavid Daney #endif 2899*c5aa59e8SDavid Daney } cn61xx; 2900*c5aa59e8SDavid Daney struct cvmx_l2c_ver_iob_cn61xx cn63xx; 2901*c5aa59e8SDavid Daney struct cvmx_l2c_ver_iob_cn61xx cn63xxp1; 2902*c5aa59e8SDavid Daney struct cvmx_l2c_ver_iob_cn61xx cn66xx; 2903*c5aa59e8SDavid Daney struct cvmx_l2c_ver_iob_s cn68xx; 2904*c5aa59e8SDavid Daney struct cvmx_l2c_ver_iob_s cn68xxp1; 2905*c5aa59e8SDavid Daney struct cvmx_l2c_ver_iob_cn61xx cnf71xx; 2906aa32a955SDavid Daney }; 2907aa32a955SDavid Daney 2908aa32a955SDavid Daney union cvmx_l2c_ver_msc { 2909aa32a955SDavid Daney uint64_t u64; 2910aa32a955SDavid Daney struct cvmx_l2c_ver_msc_s { 2911*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 2912aa32a955SDavid Daney uint64_t reserved_2_63:62; 2913aa32a955SDavid Daney uint64_t invl2:1; 2914aa32a955SDavid Daney uint64_t dwb:1; 2915*c5aa59e8SDavid Daney #else 2916*c5aa59e8SDavid Daney uint64_t dwb:1; 2917*c5aa59e8SDavid Daney uint64_t invl2:1; 2918*c5aa59e8SDavid Daney uint64_t reserved_2_63:62; 2919*c5aa59e8SDavid Daney #endif 2920aa32a955SDavid Daney } s; 2921*c5aa59e8SDavid Daney struct cvmx_l2c_ver_msc_s cn61xx; 2922aa32a955SDavid Daney struct cvmx_l2c_ver_msc_s cn63xx; 2923*c5aa59e8SDavid Daney struct cvmx_l2c_ver_msc_s cn66xx; 2924*c5aa59e8SDavid Daney struct cvmx_l2c_ver_msc_s cn68xx; 2925*c5aa59e8SDavid Daney struct cvmx_l2c_ver_msc_s cn68xxp1; 2926*c5aa59e8SDavid Daney struct cvmx_l2c_ver_msc_s cnf71xx; 2927aa32a955SDavid Daney }; 2928aa32a955SDavid Daney 2929aa32a955SDavid Daney union cvmx_l2c_ver_pp { 2930aa32a955SDavid Daney uint64_t u64; 2931aa32a955SDavid Daney struct cvmx_l2c_ver_pp_s { 2932*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 2933*c5aa59e8SDavid Daney uint64_t reserved_32_63:32; 2934*c5aa59e8SDavid Daney uint64_t mask:32; 2935*c5aa59e8SDavid Daney #else 2936*c5aa59e8SDavid Daney uint64_t mask:32; 2937*c5aa59e8SDavid Daney uint64_t reserved_32_63:32; 2938*c5aa59e8SDavid Daney #endif 2939*c5aa59e8SDavid Daney } s; 2940*c5aa59e8SDavid Daney struct cvmx_l2c_ver_pp_cn61xx { 2941*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 2942*c5aa59e8SDavid Daney uint64_t reserved_4_63:60; 2943*c5aa59e8SDavid Daney uint64_t mask:4; 2944*c5aa59e8SDavid Daney #else 2945*c5aa59e8SDavid Daney uint64_t mask:4; 2946*c5aa59e8SDavid Daney uint64_t reserved_4_63:60; 2947*c5aa59e8SDavid Daney #endif 2948*c5aa59e8SDavid Daney } cn61xx; 2949*c5aa59e8SDavid Daney struct cvmx_l2c_ver_pp_cn63xx { 2950*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 2951aa32a955SDavid Daney uint64_t reserved_6_63:58; 2952aa32a955SDavid Daney uint64_t mask:6; 2953*c5aa59e8SDavid Daney #else 2954*c5aa59e8SDavid Daney uint64_t mask:6; 2955*c5aa59e8SDavid Daney uint64_t reserved_6_63:58; 2956*c5aa59e8SDavid Daney #endif 2957*c5aa59e8SDavid Daney } cn63xx; 2958*c5aa59e8SDavid Daney struct cvmx_l2c_ver_pp_cn63xx cn63xxp1; 2959*c5aa59e8SDavid Daney struct cvmx_l2c_ver_pp_cn66xx { 2960*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 2961*c5aa59e8SDavid Daney uint64_t reserved_10_63:54; 2962*c5aa59e8SDavid Daney uint64_t mask:10; 2963*c5aa59e8SDavid Daney #else 2964*c5aa59e8SDavid Daney uint64_t mask:10; 2965*c5aa59e8SDavid Daney uint64_t reserved_10_63:54; 2966*c5aa59e8SDavid Daney #endif 2967*c5aa59e8SDavid Daney } cn66xx; 2968*c5aa59e8SDavid Daney struct cvmx_l2c_ver_pp_s cn68xx; 2969*c5aa59e8SDavid Daney struct cvmx_l2c_ver_pp_s cn68xxp1; 2970*c5aa59e8SDavid Daney struct cvmx_l2c_ver_pp_cn61xx cnf71xx; 2971aa32a955SDavid Daney }; 2972aa32a955SDavid Daney 2973aa32a955SDavid Daney union cvmx_l2c_virtid_iobx { 2974aa32a955SDavid Daney uint64_t u64; 2975aa32a955SDavid Daney struct cvmx_l2c_virtid_iobx_s { 2976*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 2977aa32a955SDavid Daney uint64_t reserved_14_63:50; 2978aa32a955SDavid Daney uint64_t dwbid:6; 2979aa32a955SDavid Daney uint64_t reserved_6_7:2; 2980aa32a955SDavid Daney uint64_t id:6; 2981*c5aa59e8SDavid Daney #else 2982*c5aa59e8SDavid Daney uint64_t id:6; 2983*c5aa59e8SDavid Daney uint64_t reserved_6_7:2; 2984*c5aa59e8SDavid Daney uint64_t dwbid:6; 2985*c5aa59e8SDavid Daney uint64_t reserved_14_63:50; 2986*c5aa59e8SDavid Daney #endif 2987aa32a955SDavid Daney } s; 2988*c5aa59e8SDavid Daney struct cvmx_l2c_virtid_iobx_s cn61xx; 2989aa32a955SDavid Daney struct cvmx_l2c_virtid_iobx_s cn63xx; 2990aa32a955SDavid Daney struct cvmx_l2c_virtid_iobx_s cn63xxp1; 2991*c5aa59e8SDavid Daney struct cvmx_l2c_virtid_iobx_s cn66xx; 2992*c5aa59e8SDavid Daney struct cvmx_l2c_virtid_iobx_s cn68xx; 2993*c5aa59e8SDavid Daney struct cvmx_l2c_virtid_iobx_s cn68xxp1; 2994*c5aa59e8SDavid Daney struct cvmx_l2c_virtid_iobx_s cnf71xx; 2995aa32a955SDavid Daney }; 2996aa32a955SDavid Daney 2997aa32a955SDavid Daney union cvmx_l2c_virtid_ppx { 2998aa32a955SDavid Daney uint64_t u64; 2999aa32a955SDavid Daney struct cvmx_l2c_virtid_ppx_s { 3000*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 3001aa32a955SDavid Daney uint64_t reserved_6_63:58; 3002aa32a955SDavid Daney uint64_t id:6; 3003*c5aa59e8SDavid Daney #else 3004*c5aa59e8SDavid Daney uint64_t id:6; 3005*c5aa59e8SDavid Daney uint64_t reserved_6_63:58; 3006*c5aa59e8SDavid Daney #endif 3007aa32a955SDavid Daney } s; 3008*c5aa59e8SDavid Daney struct cvmx_l2c_virtid_ppx_s cn61xx; 3009aa32a955SDavid Daney struct cvmx_l2c_virtid_ppx_s cn63xx; 3010aa32a955SDavid Daney struct cvmx_l2c_virtid_ppx_s cn63xxp1; 3011*c5aa59e8SDavid Daney struct cvmx_l2c_virtid_ppx_s cn66xx; 3012*c5aa59e8SDavid Daney struct cvmx_l2c_virtid_ppx_s cn68xx; 3013*c5aa59e8SDavid Daney struct cvmx_l2c_virtid_ppx_s cn68xxp1; 3014*c5aa59e8SDavid Daney struct cvmx_l2c_virtid_ppx_s cnf71xx; 3015aa32a955SDavid Daney }; 3016aa32a955SDavid Daney 3017aa32a955SDavid Daney union cvmx_l2c_vrt_ctl { 3018aa32a955SDavid Daney uint64_t u64; 3019aa32a955SDavid Daney struct cvmx_l2c_vrt_ctl_s { 3020*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 3021aa32a955SDavid Daney uint64_t reserved_9_63:55; 3022aa32a955SDavid Daney uint64_t ooberr:1; 3023aa32a955SDavid Daney uint64_t reserved_7_7:1; 3024aa32a955SDavid Daney uint64_t memsz:3; 3025aa32a955SDavid Daney uint64_t numid:3; 3026aa32a955SDavid Daney uint64_t enable:1; 3027*c5aa59e8SDavid Daney #else 3028*c5aa59e8SDavid Daney uint64_t enable:1; 3029*c5aa59e8SDavid Daney uint64_t numid:3; 3030*c5aa59e8SDavid Daney uint64_t memsz:3; 3031*c5aa59e8SDavid Daney uint64_t reserved_7_7:1; 3032*c5aa59e8SDavid Daney uint64_t ooberr:1; 3033*c5aa59e8SDavid Daney uint64_t reserved_9_63:55; 3034*c5aa59e8SDavid Daney #endif 3035aa32a955SDavid Daney } s; 3036*c5aa59e8SDavid Daney struct cvmx_l2c_vrt_ctl_s cn61xx; 3037aa32a955SDavid Daney struct cvmx_l2c_vrt_ctl_s cn63xx; 3038aa32a955SDavid Daney struct cvmx_l2c_vrt_ctl_s cn63xxp1; 3039*c5aa59e8SDavid Daney struct cvmx_l2c_vrt_ctl_s cn66xx; 3040*c5aa59e8SDavid Daney struct cvmx_l2c_vrt_ctl_s cn68xx; 3041*c5aa59e8SDavid Daney struct cvmx_l2c_vrt_ctl_s cn68xxp1; 3042*c5aa59e8SDavid Daney struct cvmx_l2c_vrt_ctl_s cnf71xx; 3043aa32a955SDavid Daney }; 3044aa32a955SDavid Daney 3045aa32a955SDavid Daney union cvmx_l2c_vrt_memx { 3046aa32a955SDavid Daney uint64_t u64; 3047aa32a955SDavid Daney struct cvmx_l2c_vrt_memx_s { 3048*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 3049aa32a955SDavid Daney uint64_t reserved_36_63:28; 3050aa32a955SDavid Daney uint64_t parity:4; 3051aa32a955SDavid Daney uint64_t data:32; 3052*c5aa59e8SDavid Daney #else 3053*c5aa59e8SDavid Daney uint64_t data:32; 3054*c5aa59e8SDavid Daney uint64_t parity:4; 3055*c5aa59e8SDavid Daney uint64_t reserved_36_63:28; 3056*c5aa59e8SDavid Daney #endif 3057aa32a955SDavid Daney } s; 3058*c5aa59e8SDavid Daney struct cvmx_l2c_vrt_memx_s cn61xx; 3059aa32a955SDavid Daney struct cvmx_l2c_vrt_memx_s cn63xx; 3060aa32a955SDavid Daney struct cvmx_l2c_vrt_memx_s cn63xxp1; 3061*c5aa59e8SDavid Daney struct cvmx_l2c_vrt_memx_s cn66xx; 3062*c5aa59e8SDavid Daney struct cvmx_l2c_vrt_memx_s cn68xx; 3063*c5aa59e8SDavid Daney struct cvmx_l2c_vrt_memx_s cn68xxp1; 3064*c5aa59e8SDavid Daney struct cvmx_l2c_vrt_memx_s cnf71xx; 3065aa32a955SDavid Daney }; 3066aa32a955SDavid Daney 3067aa32a955SDavid Daney union cvmx_l2c_wpar_iobx { 3068aa32a955SDavid Daney uint64_t u64; 3069aa32a955SDavid Daney struct cvmx_l2c_wpar_iobx_s { 3070*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 3071aa32a955SDavid Daney uint64_t reserved_16_63:48; 3072aa32a955SDavid Daney uint64_t mask:16; 3073*c5aa59e8SDavid Daney #else 3074*c5aa59e8SDavid Daney uint64_t mask:16; 3075*c5aa59e8SDavid Daney uint64_t reserved_16_63:48; 3076*c5aa59e8SDavid Daney #endif 3077aa32a955SDavid Daney } s; 3078*c5aa59e8SDavid Daney struct cvmx_l2c_wpar_iobx_s cn61xx; 3079aa32a955SDavid Daney struct cvmx_l2c_wpar_iobx_s cn63xx; 3080aa32a955SDavid Daney struct cvmx_l2c_wpar_iobx_s cn63xxp1; 3081*c5aa59e8SDavid Daney struct cvmx_l2c_wpar_iobx_s cn66xx; 3082*c5aa59e8SDavid Daney struct cvmx_l2c_wpar_iobx_s cn68xx; 3083*c5aa59e8SDavid Daney struct cvmx_l2c_wpar_iobx_s cn68xxp1; 3084*c5aa59e8SDavid Daney struct cvmx_l2c_wpar_iobx_s cnf71xx; 3085aa32a955SDavid Daney }; 3086aa32a955SDavid Daney 3087aa32a955SDavid Daney union cvmx_l2c_wpar_ppx { 3088aa32a955SDavid Daney uint64_t u64; 3089aa32a955SDavid Daney struct cvmx_l2c_wpar_ppx_s { 3090*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 3091aa32a955SDavid Daney uint64_t reserved_16_63:48; 3092aa32a955SDavid Daney uint64_t mask:16; 3093*c5aa59e8SDavid Daney #else 3094*c5aa59e8SDavid Daney uint64_t mask:16; 3095*c5aa59e8SDavid Daney uint64_t reserved_16_63:48; 3096*c5aa59e8SDavid Daney #endif 3097aa32a955SDavid Daney } s; 3098*c5aa59e8SDavid Daney struct cvmx_l2c_wpar_ppx_s cn61xx; 3099aa32a955SDavid Daney struct cvmx_l2c_wpar_ppx_s cn63xx; 3100aa32a955SDavid Daney struct cvmx_l2c_wpar_ppx_s cn63xxp1; 3101*c5aa59e8SDavid Daney struct cvmx_l2c_wpar_ppx_s cn66xx; 3102*c5aa59e8SDavid Daney struct cvmx_l2c_wpar_ppx_s cn68xx; 3103*c5aa59e8SDavid Daney struct cvmx_l2c_wpar_ppx_s cn68xxp1; 3104*c5aa59e8SDavid Daney struct cvmx_l2c_wpar_ppx_s cnf71xx; 3105aa32a955SDavid Daney }; 3106aa32a955SDavid Daney 3107aa32a955SDavid Daney union cvmx_l2c_xmcx_pfc { 3108aa32a955SDavid Daney uint64_t u64; 3109aa32a955SDavid Daney struct cvmx_l2c_xmcx_pfc_s { 3110*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 3111aa32a955SDavid Daney uint64_t count:64; 3112*c5aa59e8SDavid Daney #else 3113*c5aa59e8SDavid Daney uint64_t count:64; 3114*c5aa59e8SDavid Daney #endif 3115aa32a955SDavid Daney } s; 3116*c5aa59e8SDavid Daney struct cvmx_l2c_xmcx_pfc_s cn61xx; 3117aa32a955SDavid Daney struct cvmx_l2c_xmcx_pfc_s cn63xx; 3118aa32a955SDavid Daney struct cvmx_l2c_xmcx_pfc_s cn63xxp1; 3119*c5aa59e8SDavid Daney struct cvmx_l2c_xmcx_pfc_s cn66xx; 3120*c5aa59e8SDavid Daney struct cvmx_l2c_xmcx_pfc_s cn68xx; 3121*c5aa59e8SDavid Daney struct cvmx_l2c_xmcx_pfc_s cn68xxp1; 3122*c5aa59e8SDavid Daney struct cvmx_l2c_xmcx_pfc_s cnf71xx; 3123aa32a955SDavid Daney }; 3124aa32a955SDavid Daney 3125aa32a955SDavid Daney union cvmx_l2c_xmc_cmd { 3126aa32a955SDavid Daney uint64_t u64; 3127aa32a955SDavid Daney struct cvmx_l2c_xmc_cmd_s { 3128*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 3129aa32a955SDavid Daney uint64_t inuse:1; 3130aa32a955SDavid Daney uint64_t cmd:6; 3131aa32a955SDavid Daney uint64_t reserved_38_56:19; 3132aa32a955SDavid Daney uint64_t addr:38; 3133*c5aa59e8SDavid Daney #else 3134*c5aa59e8SDavid Daney uint64_t addr:38; 3135*c5aa59e8SDavid Daney uint64_t reserved_38_56:19; 3136*c5aa59e8SDavid Daney uint64_t cmd:6; 3137*c5aa59e8SDavid Daney uint64_t inuse:1; 3138*c5aa59e8SDavid Daney #endif 3139aa32a955SDavid Daney } s; 3140*c5aa59e8SDavid Daney struct cvmx_l2c_xmc_cmd_s cn61xx; 3141aa32a955SDavid Daney struct cvmx_l2c_xmc_cmd_s cn63xx; 3142aa32a955SDavid Daney struct cvmx_l2c_xmc_cmd_s cn63xxp1; 3143*c5aa59e8SDavid Daney struct cvmx_l2c_xmc_cmd_s cn66xx; 3144*c5aa59e8SDavid Daney struct cvmx_l2c_xmc_cmd_s cn68xx; 3145*c5aa59e8SDavid Daney struct cvmx_l2c_xmc_cmd_s cn68xxp1; 3146*c5aa59e8SDavid Daney struct cvmx_l2c_xmc_cmd_s cnf71xx; 3147aa32a955SDavid Daney }; 3148aa32a955SDavid Daney 3149aa32a955SDavid Daney union cvmx_l2c_xmdx_pfc { 3150aa32a955SDavid Daney uint64_t u64; 3151aa32a955SDavid Daney struct cvmx_l2c_xmdx_pfc_s { 3152*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 3153aa32a955SDavid Daney uint64_t count:64; 3154*c5aa59e8SDavid Daney #else 3155*c5aa59e8SDavid Daney uint64_t count:64; 3156*c5aa59e8SDavid Daney #endif 3157aa32a955SDavid Daney } s; 3158*c5aa59e8SDavid Daney struct cvmx_l2c_xmdx_pfc_s cn61xx; 3159aa32a955SDavid Daney struct cvmx_l2c_xmdx_pfc_s cn63xx; 3160aa32a955SDavid Daney struct cvmx_l2c_xmdx_pfc_s cn63xxp1; 3161*c5aa59e8SDavid Daney struct cvmx_l2c_xmdx_pfc_s cn66xx; 3162*c5aa59e8SDavid Daney struct cvmx_l2c_xmdx_pfc_s cn68xx; 3163*c5aa59e8SDavid Daney struct cvmx_l2c_xmdx_pfc_s cn68xxp1; 3164*c5aa59e8SDavid Daney struct cvmx_l2c_xmdx_pfc_s cnf71xx; 3165aa32a955SDavid Daney }; 3166aa32a955SDavid Daney 316754293ec3SDavid Daney #endif 3168