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 * 7c5aa59e8SDavid 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)) 36c5aa59e8SDavid Daney #define CVMX_L2C_BST_MEMX(block_id) (CVMX_ADD_IO_SEG(0x0001180080C007F8ull) + ((block_id) & 3) * 0x40000ull) 37c5aa59e8SDavid Daney #define CVMX_L2C_BST_TDTX(block_id) (CVMX_ADD_IO_SEG(0x0001180080A007F0ull) + ((block_id) & 3) * 0x40000ull) 38c5aa59e8SDavid 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)) 44c5aa59e8SDavid Daney #define CVMX_L2C_DUT_MAPX(offset) (CVMX_ADD_IO_SEG(0x0001180080E00000ull) + ((offset) & 8191) * 8) 45c5aa59e8SDavid Daney #define CVMX_L2C_ERR_TDTX(block_id) (CVMX_ADD_IO_SEG(0x0001180080A007E0ull) + ((block_id) & 3) * 0x40000ull) 46c5aa59e8SDavid Daney #define CVMX_L2C_ERR_TTGX(block_id) (CVMX_ADD_IO_SEG(0x0001180080A007E8ull) + ((block_id) & 3) * 0x40000ull) 47c5aa59e8SDavid 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)) 74c5aa59e8SDavid Daney #define CVMX_L2C_QOS_IOBX(offset) (CVMX_ADD_IO_SEG(0x0001180080880200ull) + ((offset) & 1) * 8) 75c5aa59e8SDavid 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)) 77c5aa59e8SDavid Daney #define CVMX_L2C_RSCX_PFC(offset) (CVMX_ADD_IO_SEG(0x0001180080800410ull) + ((offset) & 3) * 64) 78c5aa59e8SDavid 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)) 84c5aa59e8SDavid Daney #define CVMX_L2C_TADX_ECC0(block_id) (CVMX_ADD_IO_SEG(0x0001180080A00018ull) + ((block_id) & 3) * 0x40000ull) 85c5aa59e8SDavid Daney #define CVMX_L2C_TADX_ECC1(block_id) (CVMX_ADD_IO_SEG(0x0001180080A00020ull) + ((block_id) & 3) * 0x40000ull) 86c5aa59e8SDavid Daney #define CVMX_L2C_TADX_IEN(block_id) (CVMX_ADD_IO_SEG(0x0001180080A00000ull) + ((block_id) & 3) * 0x40000ull) 87c5aa59e8SDavid Daney #define CVMX_L2C_TADX_INT(block_id) (CVMX_ADD_IO_SEG(0x0001180080A00028ull) + ((block_id) & 3) * 0x40000ull) 88c5aa59e8SDavid Daney #define CVMX_L2C_TADX_PFC0(block_id) (CVMX_ADD_IO_SEG(0x0001180080A00400ull) + ((block_id) & 3) * 0x40000ull) 89c5aa59e8SDavid Daney #define CVMX_L2C_TADX_PFC1(block_id) (CVMX_ADD_IO_SEG(0x0001180080A00408ull) + ((block_id) & 3) * 0x40000ull) 90c5aa59e8SDavid Daney #define CVMX_L2C_TADX_PFC2(block_id) (CVMX_ADD_IO_SEG(0x0001180080A00410ull) + ((block_id) & 3) * 0x40000ull) 91c5aa59e8SDavid Daney #define CVMX_L2C_TADX_PFC3(block_id) (CVMX_ADD_IO_SEG(0x0001180080A00418ull) + ((block_id) & 3) * 0x40000ull) 92c5aa59e8SDavid Daney #define CVMX_L2C_TADX_PRF(block_id) (CVMX_ADD_IO_SEG(0x0001180080A00008ull) + ((block_id) & 3) * 0x40000ull) 93c5aa59e8SDavid 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)) 98c5aa59e8SDavid Daney #define CVMX_L2C_VIRTID_IOBX(offset) (CVMX_ADD_IO_SEG(0x00011800808C0200ull) + ((offset) & 1) * 8) 99c5aa59e8SDavid 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) 102c5aa59e8SDavid Daney #define CVMX_L2C_WPAR_IOBX(offset) (CVMX_ADD_IO_SEG(0x0001180080840200ull) + ((offset) & 1) * 8) 103c5aa59e8SDavid Daney #define CVMX_L2C_WPAR_PPX(offset) (CVMX_ADD_IO_SEG(0x0001180080840000ull) + ((offset) & 31) * 8) 104c5aa59e8SDavid 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)) 106c5aa59e8SDavid 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 { 111c5aa59e8SDavid 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; 116c5aa59e8SDavid Daney #else 117c5aa59e8SDavid Daney uint64_t disable:1; 118c5aa59e8SDavid Daney uint64_t reserved_1_3:3; 119c5aa59e8SDavid Daney uint64_t maxdram:4; 120c5aa59e8SDavid Daney uint64_t reserved_8_63:56; 121c5aa59e8SDavid Daney #endif 122aa32a955SDavid Daney } s; 123c5aa59e8SDavid Daney struct cvmx_l2c_big_ctl_s cn61xx; 124aa32a955SDavid Daney struct cvmx_l2c_big_ctl_s cn63xx; 125c5aa59e8SDavid Daney struct cvmx_l2c_big_ctl_s cn66xx; 126c5aa59e8SDavid Daney struct cvmx_l2c_big_ctl_s cn68xx; 127c5aa59e8SDavid Daney struct cvmx_l2c_big_ctl_s cn68xxp1; 128c5aa59e8SDavid 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 { 134c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 135c5aa59e8SDavid Daney uint64_t dutfl:32; 136c5aa59e8SDavid Daney uint64_t rbffl:4; 137c5aa59e8SDavid Daney uint64_t xbffl:4; 138c5aa59e8SDavid Daney uint64_t tdpfl:4; 139c5aa59e8SDavid Daney uint64_t ioccmdfl:4; 140c5aa59e8SDavid Daney uint64_t iocdatfl:4; 141c5aa59e8SDavid Daney uint64_t dutresfl:4; 142c5aa59e8SDavid Daney uint64_t vrtfl:4; 143c5aa59e8SDavid Daney uint64_t tdffl:4; 144c5aa59e8SDavid Daney #else 145c5aa59e8SDavid Daney uint64_t tdffl:4; 146c5aa59e8SDavid Daney uint64_t vrtfl:4; 147c5aa59e8SDavid Daney uint64_t dutresfl:4; 148c5aa59e8SDavid Daney uint64_t iocdatfl:4; 149c5aa59e8SDavid Daney uint64_t ioccmdfl:4; 150c5aa59e8SDavid Daney uint64_t tdpfl:4; 151c5aa59e8SDavid Daney uint64_t xbffl:4; 152c5aa59e8SDavid Daney uint64_t rbffl:4; 153c5aa59e8SDavid Daney uint64_t dutfl:32; 154c5aa59e8SDavid Daney #endif 155c5aa59e8SDavid Daney } s; 156c5aa59e8SDavid Daney struct cvmx_l2c_bst_cn61xx { 157c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 158c5aa59e8SDavid Daney uint64_t reserved_36_63:28; 159c5aa59e8SDavid Daney uint64_t dutfl:4; 160c5aa59e8SDavid Daney uint64_t reserved_17_31:15; 161c5aa59e8SDavid Daney uint64_t ioccmdfl:1; 162c5aa59e8SDavid Daney uint64_t reserved_13_15:3; 163c5aa59e8SDavid Daney uint64_t iocdatfl:1; 164c5aa59e8SDavid Daney uint64_t reserved_9_11:3; 165c5aa59e8SDavid Daney uint64_t dutresfl:1; 166c5aa59e8SDavid Daney uint64_t reserved_5_7:3; 167c5aa59e8SDavid Daney uint64_t vrtfl:1; 168c5aa59e8SDavid Daney uint64_t reserved_1_3:3; 169c5aa59e8SDavid Daney uint64_t tdffl:1; 170c5aa59e8SDavid Daney #else 171c5aa59e8SDavid Daney uint64_t tdffl:1; 172c5aa59e8SDavid Daney uint64_t reserved_1_3:3; 173c5aa59e8SDavid Daney uint64_t vrtfl:1; 174c5aa59e8SDavid Daney uint64_t reserved_5_7:3; 175c5aa59e8SDavid Daney uint64_t dutresfl:1; 176c5aa59e8SDavid Daney uint64_t reserved_9_11:3; 177c5aa59e8SDavid Daney uint64_t iocdatfl:1; 178c5aa59e8SDavid Daney uint64_t reserved_13_15:3; 179c5aa59e8SDavid Daney uint64_t ioccmdfl:1; 180c5aa59e8SDavid Daney uint64_t reserved_17_31:15; 181c5aa59e8SDavid Daney uint64_t dutfl:4; 182c5aa59e8SDavid Daney uint64_t reserved_36_63:28; 183c5aa59e8SDavid Daney #endif 184c5aa59e8SDavid Daney } cn61xx; 185c5aa59e8SDavid Daney struct cvmx_l2c_bst_cn63xx { 186c5aa59e8SDavid 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; 199c5aa59e8SDavid Daney #else 200c5aa59e8SDavid Daney uint64_t tdffl:1; 201c5aa59e8SDavid Daney uint64_t reserved_1_3:3; 202c5aa59e8SDavid Daney uint64_t vrtfl:1; 203c5aa59e8SDavid Daney uint64_t reserved_5_7:3; 204c5aa59e8SDavid Daney uint64_t dutresfl:1; 205c5aa59e8SDavid Daney uint64_t reserved_9_11:3; 206c5aa59e8SDavid Daney uint64_t iocdatfl:1; 207c5aa59e8SDavid Daney uint64_t reserved_13_15:3; 208c5aa59e8SDavid Daney uint64_t ioccmdfl:1; 209c5aa59e8SDavid Daney uint64_t reserved_17_31:15; 210c5aa59e8SDavid Daney uint64_t dutfl:6; 211c5aa59e8SDavid Daney uint64_t reserved_38_63:26; 212c5aa59e8SDavid Daney #endif 213c5aa59e8SDavid Daney } cn63xx; 214c5aa59e8SDavid Daney struct cvmx_l2c_bst_cn63xx cn63xxp1; 215c5aa59e8SDavid Daney struct cvmx_l2c_bst_cn66xx { 216c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 217c5aa59e8SDavid Daney uint64_t reserved_42_63:22; 218c5aa59e8SDavid Daney uint64_t dutfl:10; 219c5aa59e8SDavid Daney uint64_t reserved_17_31:15; 220c5aa59e8SDavid Daney uint64_t ioccmdfl:1; 221c5aa59e8SDavid Daney uint64_t reserved_13_15:3; 222c5aa59e8SDavid Daney uint64_t iocdatfl:1; 223c5aa59e8SDavid Daney uint64_t reserved_9_11:3; 224c5aa59e8SDavid Daney uint64_t dutresfl:1; 225c5aa59e8SDavid Daney uint64_t reserved_5_7:3; 226c5aa59e8SDavid Daney uint64_t vrtfl:1; 227c5aa59e8SDavid Daney uint64_t reserved_1_3:3; 228c5aa59e8SDavid Daney uint64_t tdffl:1; 229c5aa59e8SDavid Daney #else 230c5aa59e8SDavid Daney uint64_t tdffl:1; 231c5aa59e8SDavid Daney uint64_t reserved_1_3:3; 232c5aa59e8SDavid Daney uint64_t vrtfl:1; 233c5aa59e8SDavid Daney uint64_t reserved_5_7:3; 234c5aa59e8SDavid Daney uint64_t dutresfl:1; 235c5aa59e8SDavid Daney uint64_t reserved_9_11:3; 236c5aa59e8SDavid Daney uint64_t iocdatfl:1; 237c5aa59e8SDavid Daney uint64_t reserved_13_15:3; 238c5aa59e8SDavid Daney uint64_t ioccmdfl:1; 239c5aa59e8SDavid Daney uint64_t reserved_17_31:15; 240c5aa59e8SDavid Daney uint64_t dutfl:10; 241c5aa59e8SDavid Daney uint64_t reserved_42_63:22; 242c5aa59e8SDavid Daney #endif 243c5aa59e8SDavid Daney } cn66xx; 244c5aa59e8SDavid Daney struct cvmx_l2c_bst_s cn68xx; 245c5aa59e8SDavid Daney struct cvmx_l2c_bst_s cn68xxp1; 246c5aa59e8SDavid 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 { 252c5aa59e8SDavid 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; 260c5aa59e8SDavid Daney #else 261c5aa59e8SDavid Daney uint64_t wlb_dat:4; 262c5aa59e8SDavid Daney uint64_t stin_msk:1; 263c5aa59e8SDavid Daney uint64_t dt:1; 264c5aa59e8SDavid Daney uint64_t dtcnt:13; 265c5aa59e8SDavid Daney uint64_t wlb_msk:4; 266c5aa59e8SDavid Daney uint64_t dtbnk:1; 267c5aa59e8SDavid Daney uint64_t reserved_24_63:40; 268c5aa59e8SDavid Daney #endif 26954293ec3SDavid Daney } s; 27054293ec3SDavid Daney struct cvmx_l2c_bst0_cn30xx { 271c5aa59e8SDavid 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; 279c5aa59e8SDavid Daney #else 280c5aa59e8SDavid Daney uint64_t wlb_dat:4; 281c5aa59e8SDavid Daney uint64_t reserved_4_4:1; 282c5aa59e8SDavid Daney uint64_t dt:1; 283c5aa59e8SDavid Daney uint64_t dtcnt:9; 284c5aa59e8SDavid Daney uint64_t reserved_15_18:4; 285c5aa59e8SDavid Daney uint64_t wlb_msk:4; 286c5aa59e8SDavid Daney uint64_t reserved_23_63:41; 287c5aa59e8SDavid Daney #endif 28854293ec3SDavid Daney } cn30xx; 28954293ec3SDavid Daney struct cvmx_l2c_bst0_cn31xx { 290c5aa59e8SDavid 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; 298c5aa59e8SDavid Daney #else 299c5aa59e8SDavid Daney uint64_t wlb_dat:4; 300c5aa59e8SDavid Daney uint64_t stin_msk:1; 301c5aa59e8SDavid Daney uint64_t dt:1; 302c5aa59e8SDavid Daney uint64_t dtcnt:10; 303c5aa59e8SDavid Daney uint64_t reserved_16_18:3; 304c5aa59e8SDavid Daney uint64_t wlb_msk:4; 305c5aa59e8SDavid Daney uint64_t reserved_23_63:41; 306c5aa59e8SDavid Daney #endif 30754293ec3SDavid Daney } cn31xx; 30854293ec3SDavid Daney struct cvmx_l2c_bst0_cn38xx { 309c5aa59e8SDavid 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; 315c5aa59e8SDavid Daney #else 316c5aa59e8SDavid Daney uint64_t wlb_dat:4; 317c5aa59e8SDavid Daney uint64_t stin_msk:1; 318c5aa59e8SDavid Daney uint64_t dt:1; 319c5aa59e8SDavid Daney uint64_t dtcnt:13; 320c5aa59e8SDavid Daney uint64_t reserved_19_63:45; 321c5aa59e8SDavid Daney #endif 32254293ec3SDavid Daney } cn38xx; 32354293ec3SDavid Daney struct cvmx_l2c_bst0_cn38xx cn38xxp2; 32454293ec3SDavid Daney struct cvmx_l2c_bst0_cn50xx { 325c5aa59e8SDavid 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; 334c5aa59e8SDavid Daney #else 335c5aa59e8SDavid Daney uint64_t wlb_dat:4; 336c5aa59e8SDavid Daney uint64_t stin_msk:1; 337c5aa59e8SDavid Daney uint64_t dt:1; 338c5aa59e8SDavid Daney uint64_t dtcnt:10; 339c5aa59e8SDavid Daney uint64_t reserved_16_18:3; 340c5aa59e8SDavid Daney uint64_t wlb_msk:4; 341c5aa59e8SDavid Daney uint64_t dtbnk:1; 342c5aa59e8SDavid Daney uint64_t reserved_24_63:40; 343c5aa59e8SDavid 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 { 356c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 35754293ec3SDavid Daney uint64_t reserved_9_63:55; 35854293ec3SDavid Daney uint64_t l2t:9; 359c5aa59e8SDavid Daney #else 360c5aa59e8SDavid Daney uint64_t l2t:9; 361c5aa59e8SDavid Daney uint64_t reserved_9_63:55; 362c5aa59e8SDavid Daney #endif 36354293ec3SDavid Daney } s; 36454293ec3SDavid Daney struct cvmx_l2c_bst1_cn30xx { 365c5aa59e8SDavid 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; 372c5aa59e8SDavid Daney #else 373c5aa59e8SDavid Daney uint64_t l2t:5; 374c5aa59e8SDavid Daney uint64_t reserved_5_8:4; 375c5aa59e8SDavid Daney uint64_t vab_vwcf:1; 376c5aa59e8SDavid Daney uint64_t lrf:2; 377c5aa59e8SDavid Daney uint64_t vwdf:4; 378c5aa59e8SDavid Daney uint64_t reserved_16_63:48; 379c5aa59e8SDavid Daney #endif 38054293ec3SDavid Daney } cn30xx; 38154293ec3SDavid Daney struct cvmx_l2c_bst1_cn30xx cn31xx; 38254293ec3SDavid Daney struct cvmx_l2c_bst1_cn38xx { 383c5aa59e8SDavid 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; 389c5aa59e8SDavid Daney #else 390c5aa59e8SDavid Daney uint64_t l2t:9; 391c5aa59e8SDavid Daney uint64_t vab_vwcf:1; 392c5aa59e8SDavid Daney uint64_t lrf:2; 393c5aa59e8SDavid Daney uint64_t vwdf:4; 394c5aa59e8SDavid Daney uint64_t reserved_16_63:48; 395c5aa59e8SDavid 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 { 400c5aa59e8SDavid 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; 410c5aa59e8SDavid Daney #else 411c5aa59e8SDavid Daney uint64_t l2t:9; 412c5aa59e8SDavid Daney uint64_t vab_vwcf:1; 413c5aa59e8SDavid Daney uint64_t ilc:1; 414c5aa59e8SDavid Daney uint64_t reserved_11_11:1; 415c5aa59e8SDavid Daney uint64_t vwdf:4; 416c5aa59e8SDavid Daney uint64_t plc0:1; 417c5aa59e8SDavid Daney uint64_t plc1:1; 418c5aa59e8SDavid Daney uint64_t plc2:1; 419c5aa59e8SDavid Daney uint64_t reserved_19_63:45; 420c5aa59e8SDavid Daney #endif 42154293ec3SDavid Daney } cn52xx; 42254293ec3SDavid Daney struct cvmx_l2c_bst1_cn52xx cn52xxp1; 42354293ec3SDavid Daney struct cvmx_l2c_bst1_cn56xx { 424c5aa59e8SDavid 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; 436c5aa59e8SDavid Daney #else 437c5aa59e8SDavid Daney uint64_t l2t:9; 438c5aa59e8SDavid Daney uint64_t vab_vwcf0:1; 439c5aa59e8SDavid Daney uint64_t reserved_10_10:1; 440c5aa59e8SDavid Daney uint64_t vab_vwcf1:1; 441c5aa59e8SDavid Daney uint64_t vwdf0:4; 442c5aa59e8SDavid Daney uint64_t vwdf1:4; 443c5aa59e8SDavid Daney uint64_t ilc:1; 444c5aa59e8SDavid Daney uint64_t plc0:1; 445c5aa59e8SDavid Daney uint64_t plc1:1; 446c5aa59e8SDavid Daney uint64_t plc2:1; 447c5aa59e8SDavid Daney uint64_t reserved_24_63:40; 448c5aa59e8SDavid 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 { 458c5aa59e8SDavid 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; 466c5aa59e8SDavid Daney #else 467c5aa59e8SDavid Daney uint64_t xrddat:1; 468c5aa59e8SDavid Daney uint64_t xrdmsk:1; 469c5aa59e8SDavid Daney uint64_t picbst:1; 470c5aa59e8SDavid Daney uint64_t ipcbst:1; 471c5aa59e8SDavid Daney uint64_t reserved_4_11:8; 472c5aa59e8SDavid Daney uint64_t mrb:4; 473c5aa59e8SDavid Daney uint64_t reserved_16_63:48; 474c5aa59e8SDavid Daney #endif 47554293ec3SDavid Daney } s; 47654293ec3SDavid Daney struct cvmx_l2c_bst2_cn30xx { 477c5aa59e8SDavid 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; 486c5aa59e8SDavid Daney #else 487c5aa59e8SDavid Daney uint64_t xrddat:1; 488c5aa59e8SDavid Daney uint64_t xrdmsk:1; 489c5aa59e8SDavid Daney uint64_t reserved_2_2:1; 490c5aa59e8SDavid Daney uint64_t ipcbst:1; 491c5aa59e8SDavid Daney uint64_t reserved_4_7:4; 492c5aa59e8SDavid Daney uint64_t rmdf:4; 493c5aa59e8SDavid Daney uint64_t mrb:4; 494c5aa59e8SDavid Daney uint64_t reserved_16_63:48; 495c5aa59e8SDavid Daney #endif 49654293ec3SDavid Daney } cn30xx; 49754293ec3SDavid Daney struct cvmx_l2c_bst2_cn30xx cn31xx; 49854293ec3SDavid Daney struct cvmx_l2c_bst2_cn38xx { 499c5aa59e8SDavid 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; 508c5aa59e8SDavid Daney #else 509c5aa59e8SDavid Daney uint64_t xrddat:1; 510c5aa59e8SDavid Daney uint64_t xrdmsk:1; 511c5aa59e8SDavid Daney uint64_t picbst:1; 512c5aa59e8SDavid Daney uint64_t ipcbst:1; 513c5aa59e8SDavid Daney uint64_t rhdf:4; 514c5aa59e8SDavid Daney uint64_t rmdf:4; 515c5aa59e8SDavid Daney uint64_t mrb:4; 516c5aa59e8SDavid Daney uint64_t reserved_16_63:48; 517c5aa59e8SDavid 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 { 524c5aa59e8SDavid 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; 533c5aa59e8SDavid Daney #else 534c5aa59e8SDavid Daney uint64_t xrddat:1; 535c5aa59e8SDavid Daney uint64_t xrdmsk:1; 536c5aa59e8SDavid Daney uint64_t picbst:1; 537c5aa59e8SDavid Daney uint64_t ipcbst:1; 538c5aa59e8SDavid Daney uint64_t rhdb:4; 539c5aa59e8SDavid Daney uint64_t rmdb:4; 540c5aa59e8SDavid Daney uint64_t mrb:4; 541c5aa59e8SDavid Daney uint64_t reserved_16_63:48; 542c5aa59e8SDavid 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 { 552c5aa59e8SDavid 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; 558c5aa59e8SDavid Daney #else 559c5aa59e8SDavid Daney uint64_t vbffl:4; 560c5aa59e8SDavid Daney uint64_t rdffl:1; 561c5aa59e8SDavid Daney uint64_t reserved_5_61:57; 562c5aa59e8SDavid Daney uint64_t clear_bist:1; 563c5aa59e8SDavid Daney uint64_t start_bist:1; 564c5aa59e8SDavid Daney #endif 565aa32a955SDavid Daney } s; 566c5aa59e8SDavid 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; 569c5aa59e8SDavid Daney struct cvmx_l2c_bst_memx_s cn66xx; 570c5aa59e8SDavid Daney struct cvmx_l2c_bst_memx_s cn68xx; 571c5aa59e8SDavid Daney struct cvmx_l2c_bst_memx_s cn68xxp1; 572c5aa59e8SDavid 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 { 578c5aa59e8SDavid 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; 584c5aa59e8SDavid Daney #else 585c5aa59e8SDavid Daney uint64_t l2dfl:8; 586c5aa59e8SDavid Daney uint64_t fbffl:8; 587c5aa59e8SDavid Daney uint64_t sbffl:8; 588c5aa59e8SDavid Daney uint64_t fbfrspfl:8; 589c5aa59e8SDavid Daney uint64_t reserved_32_63:32; 590c5aa59e8SDavid Daney #endif 591aa32a955SDavid Daney } s; 592c5aa59e8SDavid 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 { 595c5aa59e8SDavid 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; 600c5aa59e8SDavid Daney #else 601c5aa59e8SDavid Daney uint64_t l2dfl:8; 602c5aa59e8SDavid Daney uint64_t fbffl:8; 603c5aa59e8SDavid Daney uint64_t sbffl:8; 604c5aa59e8SDavid Daney uint64_t reserved_24_63:40; 605c5aa59e8SDavid Daney #endif 606aa32a955SDavid Daney } cn63xxp1; 607c5aa59e8SDavid Daney struct cvmx_l2c_bst_tdtx_s cn66xx; 608c5aa59e8SDavid Daney struct cvmx_l2c_bst_tdtx_s cn68xx; 609c5aa59e8SDavid Daney struct cvmx_l2c_bst_tdtx_s cn68xxp1; 610c5aa59e8SDavid 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 { 616c5aa59e8SDavid 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; 620c5aa59e8SDavid Daney #else 621c5aa59e8SDavid Daney uint64_t tagfl:16; 622c5aa59e8SDavid Daney uint64_t lrufl:1; 623c5aa59e8SDavid Daney uint64_t reserved_17_63:47; 624c5aa59e8SDavid Daney #endif 625aa32a955SDavid Daney } s; 626c5aa59e8SDavid 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; 629c5aa59e8SDavid Daney struct cvmx_l2c_bst_ttgx_s cn66xx; 630c5aa59e8SDavid Daney struct cvmx_l2c_bst_ttgx_s cn68xx; 631c5aa59e8SDavid Daney struct cvmx_l2c_bst_ttgx_s cn68xxp1; 632c5aa59e8SDavid 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 { 638c5aa59e8SDavid 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; 654c5aa59e8SDavid Daney #else 655c5aa59e8SDavid Daney uint64_t lrf_arb_mode:1; 656c5aa59e8SDavid Daney uint64_t rfb_arb_mode:1; 657c5aa59e8SDavid Daney uint64_t rsp_arb_mode:1; 658c5aa59e8SDavid Daney uint64_t mwf_crd:4; 659c5aa59e8SDavid Daney uint64_t idxalias:1; 660c5aa59e8SDavid Daney uint64_t fpen:1; 661c5aa59e8SDavid Daney uint64_t fpempty:1; 662c5aa59e8SDavid Daney uint64_t fpexp:4; 663c5aa59e8SDavid Daney uint64_t dfill_dis:1; 664c5aa59e8SDavid Daney uint64_t dpres0:1; 665c5aa59e8SDavid Daney uint64_t dpres1:1; 666c5aa59e8SDavid Daney uint64_t xor_bank:1; 667c5aa59e8SDavid Daney uint64_t lbist:1; 668c5aa59e8SDavid Daney uint64_t bstrun:1; 669c5aa59e8SDavid Daney uint64_t reserved_20_63:44; 670c5aa59e8SDavid Daney #endif 67154293ec3SDavid Daney } s; 67254293ec3SDavid Daney struct cvmx_l2c_cfg_cn30xx { 673c5aa59e8SDavid 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; 683c5aa59e8SDavid Daney #else 684c5aa59e8SDavid Daney uint64_t lrf_arb_mode:1; 685c5aa59e8SDavid Daney uint64_t rfb_arb_mode:1; 686c5aa59e8SDavid Daney uint64_t rsp_arb_mode:1; 687c5aa59e8SDavid Daney uint64_t mwf_crd:4; 688c5aa59e8SDavid Daney uint64_t idxalias:1; 689c5aa59e8SDavid Daney uint64_t fpen:1; 690c5aa59e8SDavid Daney uint64_t fpempty:1; 691c5aa59e8SDavid Daney uint64_t fpexp:4; 692c5aa59e8SDavid Daney uint64_t reserved_14_63:50; 693c5aa59e8SDavid 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 { 699c5aa59e8SDavid 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; 712c5aa59e8SDavid Daney #else 713c5aa59e8SDavid Daney uint64_t lrf_arb_mode:1; 714c5aa59e8SDavid Daney uint64_t rfb_arb_mode:1; 715c5aa59e8SDavid Daney uint64_t rsp_arb_mode:1; 716c5aa59e8SDavid Daney uint64_t mwf_crd:4; 717c5aa59e8SDavid Daney uint64_t idxalias:1; 718c5aa59e8SDavid Daney uint64_t fpen:1; 719c5aa59e8SDavid Daney uint64_t fpempty:1; 720c5aa59e8SDavid Daney uint64_t fpexp:4; 721c5aa59e8SDavid Daney uint64_t reserved_14_17:4; 722c5aa59e8SDavid Daney uint64_t lbist:1; 723c5aa59e8SDavid Daney uint64_t bstrun:1; 724c5aa59e8SDavid Daney uint64_t reserved_20_63:44; 725c5aa59e8SDavid 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 { 732c5aa59e8SDavid 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; 746c5aa59e8SDavid Daney #else 747c5aa59e8SDavid Daney uint64_t lrf_arb_mode:1; 748c5aa59e8SDavid Daney uint64_t rfb_arb_mode:1; 749c5aa59e8SDavid Daney uint64_t rsp_arb_mode:1; 750c5aa59e8SDavid Daney uint64_t mwf_crd:4; 751c5aa59e8SDavid Daney uint64_t idxalias:1; 752c5aa59e8SDavid Daney uint64_t fpen:1; 753c5aa59e8SDavid Daney uint64_t fpempty:1; 754c5aa59e8SDavid Daney uint64_t fpexp:4; 755c5aa59e8SDavid Daney uint64_t dfill_dis:1; 756c5aa59e8SDavid Daney uint64_t reserved_15_17:3; 757c5aa59e8SDavid Daney uint64_t lbist:1; 758c5aa59e8SDavid Daney uint64_t bstrun:1; 759c5aa59e8SDavid Daney uint64_t reserved_20_63:44; 760c5aa59e8SDavid Daney #endif 76154293ec3SDavid Daney } cn58xx; 76254293ec3SDavid Daney struct cvmx_l2c_cfg_cn58xxp1 { 763c5aa59e8SDavid 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; 774c5aa59e8SDavid Daney #else 775c5aa59e8SDavid Daney uint64_t lrf_arb_mode:1; 776c5aa59e8SDavid Daney uint64_t rfb_arb_mode:1; 777c5aa59e8SDavid Daney uint64_t rsp_arb_mode:1; 778c5aa59e8SDavid Daney uint64_t mwf_crd:4; 779c5aa59e8SDavid Daney uint64_t idxalias:1; 780c5aa59e8SDavid Daney uint64_t fpen:1; 781c5aa59e8SDavid Daney uint64_t fpempty:1; 782c5aa59e8SDavid Daney uint64_t fpexp:4; 783c5aa59e8SDavid Daney uint64_t dfill_dis:1; 784c5aa59e8SDavid Daney uint64_t reserved_15_63:49; 785c5aa59e8SDavid 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 { 792c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 793aa32a955SDavid Daney uint64_t data:64; 794c5aa59e8SDavid Daney #else 795c5aa59e8SDavid Daney uint64_t data:64; 796c5aa59e8SDavid Daney #endif 797aa32a955SDavid Daney } s; 798c5aa59e8SDavid 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; 801c5aa59e8SDavid Daney struct cvmx_l2c_cop0_mapx_s cn66xx; 802c5aa59e8SDavid Daney struct cvmx_l2c_cop0_mapx_s cn68xx; 803c5aa59e8SDavid Daney struct cvmx_l2c_cop0_mapx_s cn68xxp1; 804c5aa59e8SDavid 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 { 810c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 811c5aa59e8SDavid Daney uint64_t reserved_30_63:34; 812c5aa59e8SDavid Daney uint64_t sepcmt:1; 813c5aa59e8SDavid Daney uint64_t rdf_fast:1; 814c5aa59e8SDavid Daney uint64_t disstgl2i:1; 815c5aa59e8SDavid Daney uint64_t l2dfsbe:1; 816c5aa59e8SDavid Daney uint64_t l2dfdbe:1; 817c5aa59e8SDavid Daney uint64_t discclk:1; 818c5aa59e8SDavid Daney uint64_t maxvab:4; 819c5aa59e8SDavid Daney uint64_t maxlfb:4; 820c5aa59e8SDavid Daney uint64_t rsp_arb_mode:1; 821c5aa59e8SDavid Daney uint64_t xmc_arb_mode:1; 822c5aa59e8SDavid Daney uint64_t ef_ena:1; 823c5aa59e8SDavid Daney uint64_t ef_cnt:7; 824c5aa59e8SDavid Daney uint64_t vab_thresh:4; 825c5aa59e8SDavid Daney uint64_t disecc:1; 826c5aa59e8SDavid Daney uint64_t disidxalias:1; 827c5aa59e8SDavid Daney #else 828c5aa59e8SDavid Daney uint64_t disidxalias:1; 829c5aa59e8SDavid Daney uint64_t disecc:1; 830c5aa59e8SDavid Daney uint64_t vab_thresh:4; 831c5aa59e8SDavid Daney uint64_t ef_cnt:7; 832c5aa59e8SDavid Daney uint64_t ef_ena:1; 833c5aa59e8SDavid Daney uint64_t xmc_arb_mode:1; 834c5aa59e8SDavid Daney uint64_t rsp_arb_mode:1; 835c5aa59e8SDavid Daney uint64_t maxlfb:4; 836c5aa59e8SDavid Daney uint64_t maxvab:4; 837c5aa59e8SDavid Daney uint64_t discclk:1; 838c5aa59e8SDavid Daney uint64_t l2dfdbe:1; 839c5aa59e8SDavid Daney uint64_t l2dfsbe:1; 840c5aa59e8SDavid Daney uint64_t disstgl2i:1; 841c5aa59e8SDavid Daney uint64_t rdf_fast:1; 842c5aa59e8SDavid Daney uint64_t sepcmt:1; 843c5aa59e8SDavid Daney uint64_t reserved_30_63:34; 844c5aa59e8SDavid Daney #endif 845c5aa59e8SDavid Daney } s; 846c5aa59e8SDavid Daney struct cvmx_l2c_ctl_cn61xx { 847c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 848c5aa59e8SDavid Daney uint64_t reserved_29_63:35; 849c5aa59e8SDavid Daney uint64_t rdf_fast:1; 850c5aa59e8SDavid Daney uint64_t disstgl2i:1; 851c5aa59e8SDavid Daney uint64_t l2dfsbe:1; 852c5aa59e8SDavid Daney uint64_t l2dfdbe:1; 853c5aa59e8SDavid Daney uint64_t discclk:1; 854c5aa59e8SDavid Daney uint64_t maxvab:4; 855c5aa59e8SDavid Daney uint64_t maxlfb:4; 856c5aa59e8SDavid Daney uint64_t rsp_arb_mode:1; 857c5aa59e8SDavid Daney uint64_t xmc_arb_mode:1; 858c5aa59e8SDavid Daney uint64_t ef_ena:1; 859c5aa59e8SDavid Daney uint64_t ef_cnt:7; 860c5aa59e8SDavid Daney uint64_t vab_thresh:4; 861c5aa59e8SDavid Daney uint64_t disecc:1; 862c5aa59e8SDavid Daney uint64_t disidxalias:1; 863c5aa59e8SDavid Daney #else 864c5aa59e8SDavid Daney uint64_t disidxalias:1; 865c5aa59e8SDavid Daney uint64_t disecc:1; 866c5aa59e8SDavid Daney uint64_t vab_thresh:4; 867c5aa59e8SDavid Daney uint64_t ef_cnt:7; 868c5aa59e8SDavid Daney uint64_t ef_ena:1; 869c5aa59e8SDavid Daney uint64_t xmc_arb_mode:1; 870c5aa59e8SDavid Daney uint64_t rsp_arb_mode:1; 871c5aa59e8SDavid Daney uint64_t maxlfb:4; 872c5aa59e8SDavid Daney uint64_t maxvab:4; 873c5aa59e8SDavid Daney uint64_t discclk:1; 874c5aa59e8SDavid Daney uint64_t l2dfdbe:1; 875c5aa59e8SDavid Daney uint64_t l2dfsbe:1; 876c5aa59e8SDavid Daney uint64_t disstgl2i:1; 877c5aa59e8SDavid Daney uint64_t rdf_fast:1; 878c5aa59e8SDavid Daney uint64_t reserved_29_63:35; 879c5aa59e8SDavid Daney #endif 880c5aa59e8SDavid Daney } cn61xx; 881c5aa59e8SDavid Daney struct cvmx_l2c_ctl_cn63xx { 882c5aa59e8SDavid 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; 897c5aa59e8SDavid Daney #else 898c5aa59e8SDavid Daney uint64_t disidxalias:1; 899c5aa59e8SDavid Daney uint64_t disecc:1; 900c5aa59e8SDavid Daney uint64_t vab_thresh:4; 901c5aa59e8SDavid Daney uint64_t ef_cnt:7; 902c5aa59e8SDavid Daney uint64_t ef_ena:1; 903c5aa59e8SDavid Daney uint64_t xmc_arb_mode:1; 904c5aa59e8SDavid Daney uint64_t rsp_arb_mode:1; 905c5aa59e8SDavid Daney uint64_t maxlfb:4; 906c5aa59e8SDavid Daney uint64_t maxvab:4; 907c5aa59e8SDavid Daney uint64_t discclk:1; 908c5aa59e8SDavid Daney uint64_t l2dfdbe:1; 909c5aa59e8SDavid Daney uint64_t l2dfsbe:1; 910c5aa59e8SDavid Daney uint64_t disstgl2i:1; 911c5aa59e8SDavid Daney uint64_t reserved_28_63:36; 912c5aa59e8SDavid Daney #endif 913c5aa59e8SDavid Daney } cn63xx; 914aa32a955SDavid Daney struct cvmx_l2c_ctl_cn63xxp1 { 915c5aa59e8SDavid 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; 927c5aa59e8SDavid Daney #else 928c5aa59e8SDavid Daney uint64_t disidxalias:1; 929c5aa59e8SDavid Daney uint64_t disecc:1; 930c5aa59e8SDavid Daney uint64_t vab_thresh:4; 931c5aa59e8SDavid Daney uint64_t ef_cnt:7; 932c5aa59e8SDavid Daney uint64_t ef_ena:1; 933c5aa59e8SDavid Daney uint64_t xmc_arb_mode:1; 934c5aa59e8SDavid Daney uint64_t rsp_arb_mode:1; 935c5aa59e8SDavid Daney uint64_t maxlfb:4; 936c5aa59e8SDavid Daney uint64_t maxvab:4; 937c5aa59e8SDavid Daney uint64_t discclk:1; 938c5aa59e8SDavid Daney uint64_t reserved_25_63:39; 939c5aa59e8SDavid Daney #endif 940aa32a955SDavid Daney } cn63xxp1; 941c5aa59e8SDavid Daney struct cvmx_l2c_ctl_cn61xx cn66xx; 942c5aa59e8SDavid Daney struct cvmx_l2c_ctl_s cn68xx; 943c5aa59e8SDavid Daney struct cvmx_l2c_ctl_cn63xx cn68xxp1; 944c5aa59e8SDavid 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 { 950c5aa59e8SDavid 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; 959c5aa59e8SDavid Daney #else 960c5aa59e8SDavid Daney uint64_t l2t:1; 961c5aa59e8SDavid Daney uint64_t l2d:1; 962c5aa59e8SDavid Daney uint64_t finv:1; 963c5aa59e8SDavid Daney uint64_t set:3; 964c5aa59e8SDavid Daney uint64_t ppnum:4; 965c5aa59e8SDavid Daney uint64_t lfb_dmp:1; 966c5aa59e8SDavid Daney uint64_t lfb_enum:4; 967c5aa59e8SDavid Daney uint64_t reserved_15_63:49; 968c5aa59e8SDavid Daney #endif 96954293ec3SDavid Daney } s; 97054293ec3SDavid Daney struct cvmx_l2c_dbg_cn30xx { 971c5aa59e8SDavid 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; 982c5aa59e8SDavid Daney #else 983c5aa59e8SDavid Daney uint64_t l2t:1; 984c5aa59e8SDavid Daney uint64_t l2d:1; 985c5aa59e8SDavid Daney uint64_t finv:1; 986c5aa59e8SDavid Daney uint64_t set:2; 987c5aa59e8SDavid Daney uint64_t reserved_5_5:1; 988c5aa59e8SDavid Daney uint64_t ppnum:1; 989c5aa59e8SDavid Daney uint64_t reserved_7_9:3; 990c5aa59e8SDavid Daney uint64_t lfb_dmp:1; 991c5aa59e8SDavid Daney uint64_t lfb_enum:2; 992c5aa59e8SDavid Daney uint64_t reserved_13_63:51; 993c5aa59e8SDavid Daney #endif 99454293ec3SDavid Daney } cn30xx; 99554293ec3SDavid Daney struct cvmx_l2c_dbg_cn31xx { 996c5aa59e8SDavid 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; 1007c5aa59e8SDavid Daney #else 1008c5aa59e8SDavid Daney uint64_t l2t:1; 1009c5aa59e8SDavid Daney uint64_t l2d:1; 1010c5aa59e8SDavid Daney uint64_t finv:1; 1011c5aa59e8SDavid Daney uint64_t set:2; 1012c5aa59e8SDavid Daney uint64_t reserved_5_5:1; 1013c5aa59e8SDavid Daney uint64_t ppnum:1; 1014c5aa59e8SDavid Daney uint64_t reserved_7_9:3; 1015c5aa59e8SDavid Daney uint64_t lfb_dmp:1; 1016c5aa59e8SDavid Daney uint64_t lfb_enum:3; 1017c5aa59e8SDavid Daney uint64_t reserved_14_63:50; 1018c5aa59e8SDavid 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 { 1023c5aa59e8SDavid 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; 1033c5aa59e8SDavid Daney #else 1034c5aa59e8SDavid Daney uint64_t l2t:1; 1035c5aa59e8SDavid Daney uint64_t l2d:1; 1036c5aa59e8SDavid Daney uint64_t finv:1; 1037c5aa59e8SDavid Daney uint64_t set:3; 1038c5aa59e8SDavid Daney uint64_t ppnum:1; 1039c5aa59e8SDavid Daney uint64_t reserved_7_9:3; 1040c5aa59e8SDavid Daney uint64_t lfb_dmp:1; 1041c5aa59e8SDavid Daney uint64_t lfb_enum:3; 1042c5aa59e8SDavid Daney uint64_t reserved_14_63:50; 1043c5aa59e8SDavid Daney #endif 104454293ec3SDavid Daney } cn50xx; 104554293ec3SDavid Daney struct cvmx_l2c_dbg_cn52xx { 1046c5aa59e8SDavid 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; 1056c5aa59e8SDavid Daney #else 1057c5aa59e8SDavid Daney uint64_t l2t:1; 1058c5aa59e8SDavid Daney uint64_t l2d:1; 1059c5aa59e8SDavid Daney uint64_t finv:1; 1060c5aa59e8SDavid Daney uint64_t set:3; 1061c5aa59e8SDavid Daney uint64_t ppnum:2; 1062c5aa59e8SDavid Daney uint64_t reserved_8_9:2; 1063c5aa59e8SDavid Daney uint64_t lfb_dmp:1; 1064c5aa59e8SDavid Daney uint64_t lfb_enum:3; 1065c5aa59e8SDavid Daney uint64_t reserved_14_63:50; 1066c5aa59e8SDavid 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 { 1078c5aa59e8SDavid 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; 1084c5aa59e8SDavid Daney #else 1085c5aa59e8SDavid Daney uint64_t dt_tag:29; 1086c5aa59e8SDavid Daney uint64_t dt_vld:1; 1087c5aa59e8SDavid Daney uint64_t reserved_30_30:1; 1088c5aa59e8SDavid Daney uint64_t dtena:1; 1089c5aa59e8SDavid Daney uint64_t reserved_32_63:32; 1090c5aa59e8SDavid 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 { 1108c5aa59e8SDavid 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; 1113c5aa59e8SDavid Daney #else 1114c5aa59e8SDavid Daney uint64_t valid:1; 1115c5aa59e8SDavid Daney uint64_t reserved_1_9:9; 1116c5aa59e8SDavid Daney uint64_t tag:28; 1117c5aa59e8SDavid Daney uint64_t reserved_38_63:26; 1118c5aa59e8SDavid Daney #endif 1119aa32a955SDavid Daney } s; 1120c5aa59e8SDavid 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; 1123c5aa59e8SDavid Daney struct cvmx_l2c_dut_mapx_s cn66xx; 1124c5aa59e8SDavid Daney struct cvmx_l2c_dut_mapx_s cn68xx; 1125c5aa59e8SDavid Daney struct cvmx_l2c_dut_mapx_s cn68xxp1; 1126c5aa59e8SDavid 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 { 1132c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 1133c5aa59e8SDavid Daney uint64_t dbe:1; 1134c5aa59e8SDavid Daney uint64_t sbe:1; 1135c5aa59e8SDavid Daney uint64_t vdbe:1; 1136c5aa59e8SDavid Daney uint64_t vsbe:1; 1137c5aa59e8SDavid Daney uint64_t syn:10; 1138c5aa59e8SDavid Daney uint64_t reserved_22_49:28; 1139c5aa59e8SDavid Daney uint64_t wayidx:18; 1140c5aa59e8SDavid Daney uint64_t reserved_2_3:2; 1141c5aa59e8SDavid Daney uint64_t type:2; 1142c5aa59e8SDavid Daney #else 1143c5aa59e8SDavid Daney uint64_t type:2; 1144c5aa59e8SDavid Daney uint64_t reserved_2_3:2; 1145c5aa59e8SDavid Daney uint64_t wayidx:18; 1146c5aa59e8SDavid Daney uint64_t reserved_22_49:28; 1147c5aa59e8SDavid Daney uint64_t syn:10; 1148c5aa59e8SDavid Daney uint64_t vsbe:1; 1149c5aa59e8SDavid Daney uint64_t vdbe:1; 1150c5aa59e8SDavid Daney uint64_t sbe:1; 1151c5aa59e8SDavid Daney uint64_t dbe:1; 1152c5aa59e8SDavid Daney #endif 1153c5aa59e8SDavid Daney } s; 1154c5aa59e8SDavid Daney struct cvmx_l2c_err_tdtx_cn61xx { 1155c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 1156c5aa59e8SDavid Daney uint64_t dbe:1; 1157c5aa59e8SDavid Daney uint64_t sbe:1; 1158c5aa59e8SDavid Daney uint64_t vdbe:1; 1159c5aa59e8SDavid Daney uint64_t vsbe:1; 1160c5aa59e8SDavid Daney uint64_t syn:10; 1161c5aa59e8SDavid Daney uint64_t reserved_20_49:30; 1162c5aa59e8SDavid Daney uint64_t wayidx:16; 1163c5aa59e8SDavid Daney uint64_t reserved_2_3:2; 1164c5aa59e8SDavid Daney uint64_t type:2; 1165c5aa59e8SDavid Daney #else 1166c5aa59e8SDavid Daney uint64_t type:2; 1167c5aa59e8SDavid Daney uint64_t reserved_2_3:2; 1168c5aa59e8SDavid Daney uint64_t wayidx:16; 1169c5aa59e8SDavid Daney uint64_t reserved_20_49:30; 1170c5aa59e8SDavid Daney uint64_t syn:10; 1171c5aa59e8SDavid Daney uint64_t vsbe:1; 1172c5aa59e8SDavid Daney uint64_t vdbe:1; 1173c5aa59e8SDavid Daney uint64_t sbe:1; 1174c5aa59e8SDavid Daney uint64_t dbe:1; 1175c5aa59e8SDavid Daney #endif 1176c5aa59e8SDavid Daney } cn61xx; 1177c5aa59e8SDavid Daney struct cvmx_l2c_err_tdtx_cn63xx { 1178c5aa59e8SDavid 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; 1188c5aa59e8SDavid Daney #else 1189c5aa59e8SDavid Daney uint64_t type:2; 1190c5aa59e8SDavid Daney uint64_t reserved_2_3:2; 1191c5aa59e8SDavid Daney uint64_t wayidx:17; 1192c5aa59e8SDavid Daney uint64_t reserved_21_49:29; 1193c5aa59e8SDavid Daney uint64_t syn:10; 1194c5aa59e8SDavid Daney uint64_t vsbe:1; 1195c5aa59e8SDavid Daney uint64_t vdbe:1; 1196c5aa59e8SDavid Daney uint64_t sbe:1; 1197c5aa59e8SDavid Daney uint64_t dbe:1; 1198c5aa59e8SDavid Daney #endif 1199c5aa59e8SDavid Daney } cn63xx; 1200c5aa59e8SDavid Daney struct cvmx_l2c_err_tdtx_cn63xx cn63xxp1; 1201c5aa59e8SDavid Daney struct cvmx_l2c_err_tdtx_cn63xx cn66xx; 1202c5aa59e8SDavid Daney struct cvmx_l2c_err_tdtx_s cn68xx; 1203c5aa59e8SDavid Daney struct cvmx_l2c_err_tdtx_s cn68xxp1; 1204c5aa59e8SDavid 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 { 1210c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 1211c5aa59e8SDavid Daney uint64_t dbe:1; 1212c5aa59e8SDavid Daney uint64_t sbe:1; 1213c5aa59e8SDavid Daney uint64_t noway:1; 1214c5aa59e8SDavid Daney uint64_t reserved_56_60:5; 1215c5aa59e8SDavid Daney uint64_t syn:6; 1216c5aa59e8SDavid Daney uint64_t reserved_22_49:28; 1217c5aa59e8SDavid Daney uint64_t wayidx:15; 1218c5aa59e8SDavid Daney uint64_t reserved_2_6:5; 1219c5aa59e8SDavid Daney uint64_t type:2; 1220c5aa59e8SDavid Daney #else 1221c5aa59e8SDavid Daney uint64_t type:2; 1222c5aa59e8SDavid Daney uint64_t reserved_2_6:5; 1223c5aa59e8SDavid Daney uint64_t wayidx:15; 1224c5aa59e8SDavid Daney uint64_t reserved_22_49:28; 1225c5aa59e8SDavid Daney uint64_t syn:6; 1226c5aa59e8SDavid Daney uint64_t reserved_56_60:5; 1227c5aa59e8SDavid Daney uint64_t noway:1; 1228c5aa59e8SDavid Daney uint64_t sbe:1; 1229c5aa59e8SDavid Daney uint64_t dbe:1; 1230c5aa59e8SDavid Daney #endif 1231c5aa59e8SDavid Daney } s; 1232c5aa59e8SDavid Daney struct cvmx_l2c_err_ttgx_cn61xx { 1233c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 1234c5aa59e8SDavid Daney uint64_t dbe:1; 1235c5aa59e8SDavid Daney uint64_t sbe:1; 1236c5aa59e8SDavid Daney uint64_t noway:1; 1237c5aa59e8SDavid Daney uint64_t reserved_56_60:5; 1238c5aa59e8SDavid Daney uint64_t syn:6; 1239c5aa59e8SDavid Daney uint64_t reserved_20_49:30; 1240c5aa59e8SDavid Daney uint64_t wayidx:13; 1241c5aa59e8SDavid Daney uint64_t reserved_2_6:5; 1242c5aa59e8SDavid Daney uint64_t type:2; 1243c5aa59e8SDavid Daney #else 1244c5aa59e8SDavid Daney uint64_t type:2; 1245c5aa59e8SDavid Daney uint64_t reserved_2_6:5; 1246c5aa59e8SDavid Daney uint64_t wayidx:13; 1247c5aa59e8SDavid Daney uint64_t reserved_20_49:30; 1248c5aa59e8SDavid Daney uint64_t syn:6; 1249c5aa59e8SDavid Daney uint64_t reserved_56_60:5; 1250c5aa59e8SDavid Daney uint64_t noway:1; 1251c5aa59e8SDavid Daney uint64_t sbe:1; 1252c5aa59e8SDavid Daney uint64_t dbe:1; 1253c5aa59e8SDavid Daney #endif 1254c5aa59e8SDavid Daney } cn61xx; 1255c5aa59e8SDavid Daney struct cvmx_l2c_err_ttgx_cn63xx { 1256c5aa59e8SDavid 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; 1266c5aa59e8SDavid Daney #else 1267c5aa59e8SDavid Daney uint64_t type:2; 1268c5aa59e8SDavid Daney uint64_t reserved_2_6:5; 1269c5aa59e8SDavid Daney uint64_t wayidx:14; 1270c5aa59e8SDavid Daney uint64_t reserved_21_49:29; 1271c5aa59e8SDavid Daney uint64_t syn:6; 1272c5aa59e8SDavid Daney uint64_t reserved_56_60:5; 1273c5aa59e8SDavid Daney uint64_t noway:1; 1274c5aa59e8SDavid Daney uint64_t sbe:1; 1275c5aa59e8SDavid Daney uint64_t dbe:1; 1276c5aa59e8SDavid Daney #endif 1277c5aa59e8SDavid Daney } cn63xx; 1278c5aa59e8SDavid Daney struct cvmx_l2c_err_ttgx_cn63xx cn63xxp1; 1279c5aa59e8SDavid Daney struct cvmx_l2c_err_ttgx_cn63xx cn66xx; 1280c5aa59e8SDavid Daney struct cvmx_l2c_err_ttgx_s cn68xx; 1281c5aa59e8SDavid Daney struct cvmx_l2c_err_ttgx_s cn68xxp1; 1282c5aa59e8SDavid 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 { 1288c5aa59e8SDavid 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; 1295c5aa59e8SDavid Daney #else 1296c5aa59e8SDavid Daney uint64_t type:2; 1297c5aa59e8SDavid Daney uint64_t reserved_2_49:48; 1298c5aa59e8SDavid Daney uint64_t vsyn:10; 1299c5aa59e8SDavid Daney uint64_t vsbe:1; 1300c5aa59e8SDavid Daney uint64_t vdbe:1; 1301c5aa59e8SDavid Daney uint64_t reserved_62_63:2; 1302c5aa59e8SDavid Daney #endif 1303aa32a955SDavid Daney } s; 1304c5aa59e8SDavid 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; 1307c5aa59e8SDavid Daney struct cvmx_l2c_err_vbfx_s cn66xx; 1308c5aa59e8SDavid Daney struct cvmx_l2c_err_vbfx_s cn68xx; 1309c5aa59e8SDavid Daney struct cvmx_l2c_err_vbfx_s cn68xxp1; 1310c5aa59e8SDavid 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 { 1316c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 1317c5aa59e8SDavid Daney uint64_t cmd:6; 1318c5aa59e8SDavid Daney uint64_t reserved_54_57:4; 1319c5aa59e8SDavid Daney uint64_t sid:6; 1320c5aa59e8SDavid Daney uint64_t reserved_38_47:10; 1321c5aa59e8SDavid Daney uint64_t addr:38; 1322c5aa59e8SDavid Daney #else 1323c5aa59e8SDavid Daney uint64_t addr:38; 1324c5aa59e8SDavid Daney uint64_t reserved_38_47:10; 1325c5aa59e8SDavid Daney uint64_t sid:6; 1326c5aa59e8SDavid Daney uint64_t reserved_54_57:4; 1327c5aa59e8SDavid Daney uint64_t cmd:6; 1328c5aa59e8SDavid Daney #endif 1329c5aa59e8SDavid Daney } s; 1330c5aa59e8SDavid Daney struct cvmx_l2c_err_xmc_cn61xx { 1331c5aa59e8SDavid 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; 1337c5aa59e8SDavid Daney #else 1338c5aa59e8SDavid Daney uint64_t addr:38; 1339c5aa59e8SDavid Daney uint64_t reserved_38_47:10; 1340c5aa59e8SDavid Daney uint64_t sid:4; 1341c5aa59e8SDavid Daney uint64_t reserved_52_57:6; 1342c5aa59e8SDavid Daney uint64_t cmd:6; 1343c5aa59e8SDavid Daney #endif 1344c5aa59e8SDavid Daney } cn61xx; 1345c5aa59e8SDavid Daney struct cvmx_l2c_err_xmc_cn61xx cn63xx; 1346c5aa59e8SDavid Daney struct cvmx_l2c_err_xmc_cn61xx cn63xxp1; 1347c5aa59e8SDavid Daney struct cvmx_l2c_err_xmc_cn66xx { 1348c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 1349c5aa59e8SDavid Daney uint64_t cmd:6; 1350c5aa59e8SDavid Daney uint64_t reserved_53_57:5; 1351c5aa59e8SDavid Daney uint64_t sid:5; 1352c5aa59e8SDavid Daney uint64_t reserved_38_47:10; 1353c5aa59e8SDavid Daney uint64_t addr:38; 1354c5aa59e8SDavid Daney #else 1355c5aa59e8SDavid Daney uint64_t addr:38; 1356c5aa59e8SDavid Daney uint64_t reserved_38_47:10; 1357c5aa59e8SDavid Daney uint64_t sid:5; 1358c5aa59e8SDavid Daney uint64_t reserved_53_57:5; 1359c5aa59e8SDavid Daney uint64_t cmd:6; 1360c5aa59e8SDavid Daney #endif 1361c5aa59e8SDavid Daney } cn66xx; 1362c5aa59e8SDavid Daney struct cvmx_l2c_err_xmc_s cn68xx; 1363c5aa59e8SDavid Daney struct cvmx_l2c_err_xmc_s cn68xxp1; 1364c5aa59e8SDavid 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 { 1370c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 137154293ec3SDavid Daney uint64_t plc1rmsk:32; 137254293ec3SDavid Daney uint64_t plc0rmsk:32; 1373c5aa59e8SDavid Daney #else 1374c5aa59e8SDavid Daney uint64_t plc0rmsk:32; 1375c5aa59e8SDavid Daney uint64_t plc1rmsk:32; 1376c5aa59e8SDavid 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 { 1387c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 138854293ec3SDavid Daney uint64_t ilcrmsk:32; 138954293ec3SDavid Daney uint64_t plc2rmsk:32; 1390c5aa59e8SDavid Daney #else 1391c5aa59e8SDavid Daney uint64_t plc2rmsk:32; 1392c5aa59e8SDavid Daney uint64_t ilcrmsk:32; 1393c5aa59e8SDavid 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 { 1404c5aa59e8SDavid 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; 1415c5aa59e8SDavid Daney #else 1416c5aa59e8SDavid Daney uint64_t oob1en:1; 1417c5aa59e8SDavid Daney uint64_t oob2en:1; 1418c5aa59e8SDavid Daney uint64_t oob3en:1; 1419c5aa59e8SDavid Daney uint64_t l2tsecen:1; 1420c5aa59e8SDavid Daney uint64_t l2tdeden:1; 1421c5aa59e8SDavid Daney uint64_t l2dsecen:1; 1422c5aa59e8SDavid Daney uint64_t l2ddeden:1; 1423c5aa59e8SDavid Daney uint64_t lckena:1; 1424c5aa59e8SDavid Daney uint64_t lck2ena:1; 1425c5aa59e8SDavid Daney uint64_t reserved_9_63:55; 1426c5aa59e8SDavid 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 { 1437c5aa59e8SDavid 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; 1447c5aa59e8SDavid Daney #else 1448c5aa59e8SDavid Daney uint64_t holerd:1; 1449c5aa59e8SDavid Daney uint64_t holewr:1; 1450c5aa59e8SDavid Daney uint64_t vrtwr:1; 1451c5aa59e8SDavid Daney uint64_t vrtidrng:1; 1452c5aa59e8SDavid Daney uint64_t vrtadrng:1; 1453c5aa59e8SDavid Daney uint64_t vrtpe:1; 1454c5aa59e8SDavid Daney uint64_t bigwr:1; 1455c5aa59e8SDavid Daney uint64_t bigrd:1; 1456c5aa59e8SDavid Daney uint64_t reserved_8_63:56; 1457c5aa59e8SDavid Daney #endif 1458aa32a955SDavid Daney } s; 1459c5aa59e8SDavid 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 { 1462c5aa59e8SDavid 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; 1470c5aa59e8SDavid Daney #else 1471c5aa59e8SDavid Daney uint64_t holerd:1; 1472c5aa59e8SDavid Daney uint64_t holewr:1; 1473c5aa59e8SDavid Daney uint64_t vrtwr:1; 1474c5aa59e8SDavid Daney uint64_t vrtidrng:1; 1475c5aa59e8SDavid Daney uint64_t vrtadrng:1; 1476c5aa59e8SDavid Daney uint64_t vrtpe:1; 1477c5aa59e8SDavid Daney uint64_t reserved_6_63:58; 1478c5aa59e8SDavid Daney #endif 1479aa32a955SDavid Daney } cn63xxp1; 1480c5aa59e8SDavid Daney struct cvmx_l2c_int_ena_s cn66xx; 1481c5aa59e8SDavid Daney struct cvmx_l2c_int_ena_s cn68xx; 1482c5aa59e8SDavid Daney struct cvmx_l2c_int_ena_s cn68xxp1; 1483c5aa59e8SDavid 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 { 1489c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 1490c5aa59e8SDavid Daney uint64_t reserved_20_63:44; 1491c5aa59e8SDavid Daney uint64_t tad3:1; 1492c5aa59e8SDavid Daney uint64_t tad2:1; 1493c5aa59e8SDavid Daney uint64_t tad1:1; 1494c5aa59e8SDavid Daney uint64_t tad0:1; 1495c5aa59e8SDavid Daney uint64_t reserved_8_15:8; 1496c5aa59e8SDavid Daney uint64_t bigrd:1; 1497c5aa59e8SDavid Daney uint64_t bigwr:1; 1498c5aa59e8SDavid Daney uint64_t vrtpe:1; 1499c5aa59e8SDavid Daney uint64_t vrtadrng:1; 1500c5aa59e8SDavid Daney uint64_t vrtidrng:1; 1501c5aa59e8SDavid Daney uint64_t vrtwr:1; 1502c5aa59e8SDavid Daney uint64_t holewr:1; 1503c5aa59e8SDavid Daney uint64_t holerd:1; 1504c5aa59e8SDavid Daney #else 1505c5aa59e8SDavid Daney uint64_t holerd:1; 1506c5aa59e8SDavid Daney uint64_t holewr:1; 1507c5aa59e8SDavid Daney uint64_t vrtwr:1; 1508c5aa59e8SDavid Daney uint64_t vrtidrng:1; 1509c5aa59e8SDavid Daney uint64_t vrtadrng:1; 1510c5aa59e8SDavid Daney uint64_t vrtpe:1; 1511c5aa59e8SDavid Daney uint64_t bigwr:1; 1512c5aa59e8SDavid Daney uint64_t bigrd:1; 1513c5aa59e8SDavid Daney uint64_t reserved_8_15:8; 1514c5aa59e8SDavid Daney uint64_t tad0:1; 1515c5aa59e8SDavid Daney uint64_t tad1:1; 1516c5aa59e8SDavid Daney uint64_t tad2:1; 1517c5aa59e8SDavid Daney uint64_t tad3:1; 1518c5aa59e8SDavid Daney uint64_t reserved_20_63:44; 1519c5aa59e8SDavid Daney #endif 1520c5aa59e8SDavid Daney } s; 1521c5aa59e8SDavid Daney struct cvmx_l2c_int_reg_cn61xx { 1522c5aa59e8SDavid 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; 1534c5aa59e8SDavid Daney #else 1535c5aa59e8SDavid Daney uint64_t holerd:1; 1536c5aa59e8SDavid Daney uint64_t holewr:1; 1537c5aa59e8SDavid Daney uint64_t vrtwr:1; 1538c5aa59e8SDavid Daney uint64_t vrtidrng:1; 1539c5aa59e8SDavid Daney uint64_t vrtadrng:1; 1540c5aa59e8SDavid Daney uint64_t vrtpe:1; 1541c5aa59e8SDavid Daney uint64_t bigwr:1; 1542c5aa59e8SDavid Daney uint64_t bigrd:1; 1543c5aa59e8SDavid Daney uint64_t reserved_8_15:8; 1544c5aa59e8SDavid Daney uint64_t tad0:1; 1545c5aa59e8SDavid Daney uint64_t reserved_17_63:47; 1546c5aa59e8SDavid Daney #endif 1547c5aa59e8SDavid Daney } cn61xx; 1548c5aa59e8SDavid Daney struct cvmx_l2c_int_reg_cn61xx cn63xx; 1549aa32a955SDavid Daney struct cvmx_l2c_int_reg_cn63xxp1 { 1550c5aa59e8SDavid 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; 1560c5aa59e8SDavid Daney #else 1561c5aa59e8SDavid Daney uint64_t holerd:1; 1562c5aa59e8SDavid Daney uint64_t holewr:1; 1563c5aa59e8SDavid Daney uint64_t vrtwr:1; 1564c5aa59e8SDavid Daney uint64_t vrtidrng:1; 1565c5aa59e8SDavid Daney uint64_t vrtadrng:1; 1566c5aa59e8SDavid Daney uint64_t vrtpe:1; 1567c5aa59e8SDavid Daney uint64_t reserved_6_15:10; 1568c5aa59e8SDavid Daney uint64_t tad0:1; 1569c5aa59e8SDavid Daney uint64_t reserved_17_63:47; 1570c5aa59e8SDavid Daney #endif 1571aa32a955SDavid Daney } cn63xxp1; 1572c5aa59e8SDavid Daney struct cvmx_l2c_int_reg_cn61xx cn66xx; 1573c5aa59e8SDavid Daney struct cvmx_l2c_int_reg_s cn68xx; 1574c5aa59e8SDavid Daney struct cvmx_l2c_int_reg_s cn68xxp1; 1575c5aa59e8SDavid 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 { 1581c5aa59e8SDavid 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; 1592c5aa59e8SDavid Daney #else 1593c5aa59e8SDavid Daney uint64_t oob1:1; 1594c5aa59e8SDavid Daney uint64_t oob2:1; 1595c5aa59e8SDavid Daney uint64_t oob3:1; 1596c5aa59e8SDavid Daney uint64_t l2tsec:1; 1597c5aa59e8SDavid Daney uint64_t l2tded:1; 1598c5aa59e8SDavid Daney uint64_t l2dsec:1; 1599c5aa59e8SDavid Daney uint64_t l2dded:1; 1600c5aa59e8SDavid Daney uint64_t lck:1; 1601c5aa59e8SDavid Daney uint64_t lck2:1; 1602c5aa59e8SDavid Daney uint64_t reserved_9_63:55; 1603c5aa59e8SDavid 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 { 1614c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 1615aa32a955SDavid Daney uint64_t count:64; 1616c5aa59e8SDavid Daney #else 1617c5aa59e8SDavid Daney uint64_t count:64; 1618c5aa59e8SDavid Daney #endif 1619aa32a955SDavid Daney } s; 1620c5aa59e8SDavid 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; 1623c5aa59e8SDavid Daney struct cvmx_l2c_iocx_pfc_s cn66xx; 1624c5aa59e8SDavid Daney struct cvmx_l2c_iocx_pfc_s cn68xx; 1625c5aa59e8SDavid Daney struct cvmx_l2c_iocx_pfc_s cn68xxp1; 1626c5aa59e8SDavid 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 { 1632c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 1633aa32a955SDavid Daney uint64_t count:64; 1634c5aa59e8SDavid Daney #else 1635c5aa59e8SDavid Daney uint64_t count:64; 1636c5aa59e8SDavid Daney #endif 1637aa32a955SDavid Daney } s; 1638c5aa59e8SDavid 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; 1641c5aa59e8SDavid Daney struct cvmx_l2c_iorx_pfc_s cn66xx; 1642c5aa59e8SDavid Daney struct cvmx_l2c_iorx_pfc_s cn68xx; 1643c5aa59e8SDavid Daney struct cvmx_l2c_iorx_pfc_s cn68xxp1; 1644c5aa59e8SDavid 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 { 1650c5aa59e8SDavid 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; 1655c5aa59e8SDavid Daney #else 1656c5aa59e8SDavid Daney uint64_t lck_ena:1; 1657c5aa59e8SDavid Daney uint64_t reserved_1_3:3; 1658c5aa59e8SDavid Daney uint64_t lck_base:27; 1659c5aa59e8SDavid Daney uint64_t reserved_31_63:33; 1660c5aa59e8SDavid 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 { 1678c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 167954293ec3SDavid Daney uint64_t reserved_10_63:54; 168054293ec3SDavid Daney uint64_t lck_offset:10; 1681c5aa59e8SDavid Daney #else 1682c5aa59e8SDavid Daney uint64_t lck_offset:10; 1683c5aa59e8SDavid Daney uint64_t reserved_10_63:54; 1684c5aa59e8SDavid 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 { 1702c5aa59e8SDavid 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; 1717c5aa59e8SDavid Daney #else 1718c5aa59e8SDavid Daney uint64_t vld:1; 1719c5aa59e8SDavid Daney uint64_t cmd:4; 1720c5aa59e8SDavid Daney uint64_t sid:9; 1721c5aa59e8SDavid Daney uint64_t vabnum:4; 1722c5aa59e8SDavid Daney uint64_t set:3; 1723c5aa59e8SDavid Daney uint64_t ihd:1; 1724c5aa59e8SDavid Daney uint64_t itl:1; 1725c5aa59e8SDavid Daney uint64_t inxt:4; 1726c5aa59e8SDavid Daney uint64_t vam:1; 1727c5aa59e8SDavid Daney uint64_t stcfl:1; 1728c5aa59e8SDavid Daney uint64_t stinv:1; 1729c5aa59e8SDavid Daney uint64_t stpnd:1; 1730c5aa59e8SDavid Daney uint64_t stcpnd:1; 1731c5aa59e8SDavid Daney uint64_t reserved_32_63:32; 1732c5aa59e8SDavid Daney #endif 173354293ec3SDavid Daney } s; 173454293ec3SDavid Daney struct cvmx_l2c_lfb0_cn30xx { 1735c5aa59e8SDavid 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; 1753c5aa59e8SDavid Daney #else 1754c5aa59e8SDavid Daney uint64_t vld:1; 1755c5aa59e8SDavid Daney uint64_t cmd:4; 1756c5aa59e8SDavid Daney uint64_t sid:9; 1757c5aa59e8SDavid Daney uint64_t vabnum:2; 1758c5aa59e8SDavid Daney uint64_t reserved_16_17:2; 1759c5aa59e8SDavid Daney uint64_t set:2; 1760c5aa59e8SDavid Daney uint64_t reserved_20_20:1; 1761c5aa59e8SDavid Daney uint64_t ihd:1; 1762c5aa59e8SDavid Daney uint64_t itl:1; 1763c5aa59e8SDavid Daney uint64_t inxt:2; 1764c5aa59e8SDavid Daney uint64_t reserved_25_26:2; 1765c5aa59e8SDavid Daney uint64_t vam:1; 1766c5aa59e8SDavid Daney uint64_t stcfl:1; 1767c5aa59e8SDavid Daney uint64_t stinv:1; 1768c5aa59e8SDavid Daney uint64_t stpnd:1; 1769c5aa59e8SDavid Daney uint64_t stcpnd:1; 1770c5aa59e8SDavid Daney uint64_t reserved_32_63:32; 1771c5aa59e8SDavid Daney #endif 177254293ec3SDavid Daney } cn30xx; 177354293ec3SDavid Daney struct cvmx_l2c_lfb0_cn31xx { 1774c5aa59e8SDavid 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; 1792c5aa59e8SDavid Daney #else 1793c5aa59e8SDavid Daney uint64_t vld:1; 1794c5aa59e8SDavid Daney uint64_t cmd:4; 1795c5aa59e8SDavid Daney uint64_t sid:9; 1796c5aa59e8SDavid Daney uint64_t vabnum:3; 1797c5aa59e8SDavid Daney uint64_t reserved_17_17:1; 1798c5aa59e8SDavid Daney uint64_t set:2; 1799c5aa59e8SDavid Daney uint64_t reserved_20_20:1; 1800c5aa59e8SDavid Daney uint64_t ihd:1; 1801c5aa59e8SDavid Daney uint64_t itl:1; 1802c5aa59e8SDavid Daney uint64_t inxt:3; 1803c5aa59e8SDavid Daney uint64_t reserved_26_26:1; 1804c5aa59e8SDavid Daney uint64_t vam:1; 1805c5aa59e8SDavid Daney uint64_t stcfl:1; 1806c5aa59e8SDavid Daney uint64_t stinv:1; 1807c5aa59e8SDavid Daney uint64_t stpnd:1; 1808c5aa59e8SDavid Daney uint64_t stcpnd:1; 1809c5aa59e8SDavid Daney uint64_t reserved_32_63:32; 1810c5aa59e8SDavid 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 { 1815c5aa59e8SDavid 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; 1832c5aa59e8SDavid Daney #else 1833c5aa59e8SDavid Daney uint64_t vld:1; 1834c5aa59e8SDavid Daney uint64_t cmd:4; 1835c5aa59e8SDavid Daney uint64_t sid:9; 1836c5aa59e8SDavid Daney uint64_t vabnum:3; 1837c5aa59e8SDavid Daney uint64_t reserved_17_17:1; 1838c5aa59e8SDavid Daney uint64_t set:3; 1839c5aa59e8SDavid Daney uint64_t ihd:1; 1840c5aa59e8SDavid Daney uint64_t itl:1; 1841c5aa59e8SDavid Daney uint64_t inxt:3; 1842c5aa59e8SDavid Daney uint64_t reserved_26_26:1; 1843c5aa59e8SDavid Daney uint64_t vam:1; 1844c5aa59e8SDavid Daney uint64_t stcfl:1; 1845c5aa59e8SDavid Daney uint64_t stinv:1; 1846c5aa59e8SDavid Daney uint64_t stpnd:1; 1847c5aa59e8SDavid Daney uint64_t stcpnd:1; 1848c5aa59e8SDavid Daney uint64_t reserved_32_63:32; 1849c5aa59e8SDavid 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 { 1862c5aa59e8SDavid 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; 1882c5aa59e8SDavid Daney #else 1883c5aa59e8SDavid Daney uint64_t vld:1; 1884c5aa59e8SDavid Daney uint64_t wtprb:1; 1885c5aa59e8SDavid Daney uint64_t prbrty:1; 1886c5aa59e8SDavid Daney uint64_t wtmfl:1; 1887c5aa59e8SDavid Daney uint64_t wtvtm:1; 1888c5aa59e8SDavid Daney uint64_t wtstrsc:1; 1889c5aa59e8SDavid Daney uint64_t wtstrsp:1; 1890c5aa59e8SDavid Daney uint64_t wtstdt:1; 1891c5aa59e8SDavid Daney uint64_t wtrda:1; 1892c5aa59e8SDavid Daney uint64_t wtstm:1; 1893c5aa59e8SDavid Daney uint64_t wtwrm:1; 1894c5aa59e8SDavid Daney uint64_t wtwhf:1; 1895c5aa59e8SDavid Daney uint64_t wtwhp:1; 1896c5aa59e8SDavid Daney uint64_t wtdq:1; 1897c5aa59e8SDavid Daney uint64_t wtdw:1; 1898c5aa59e8SDavid Daney uint64_t wtrsp:1; 1899c5aa59e8SDavid Daney uint64_t bid:2; 1900c5aa59e8SDavid Daney uint64_t dsgoing:1; 1901c5aa59e8SDavid Daney uint64_t reserved_19_63:45; 1902c5aa59e8SDavid 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 { 1920c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 192154293ec3SDavid Daney uint64_t reserved_0_63:64; 1922c5aa59e8SDavid Daney #else 1923c5aa59e8SDavid Daney uint64_t reserved_0_63:64; 1924c5aa59e8SDavid Daney #endif 192554293ec3SDavid Daney } s; 192654293ec3SDavid Daney struct cvmx_l2c_lfb2_cn30xx { 1927c5aa59e8SDavid 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; 1931c5aa59e8SDavid Daney #else 1932c5aa59e8SDavid Daney uint64_t lfb_idx:8; 1933c5aa59e8SDavid Daney uint64_t lfb_tag:19; 1934c5aa59e8SDavid Daney uint64_t reserved_27_63:37; 1935c5aa59e8SDavid Daney #endif 193654293ec3SDavid Daney } cn30xx; 193754293ec3SDavid Daney struct cvmx_l2c_lfb2_cn31xx { 1938c5aa59e8SDavid 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; 1942c5aa59e8SDavid Daney #else 1943c5aa59e8SDavid Daney uint64_t lfb_idx:10; 1944c5aa59e8SDavid Daney uint64_t lfb_tag:17; 1945c5aa59e8SDavid Daney uint64_t reserved_27_63:37; 1946c5aa59e8SDavid 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 { 1951c5aa59e8SDavid 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; 1955c5aa59e8SDavid Daney #else 1956c5aa59e8SDavid Daney uint64_t lfb_idx:7; 1957c5aa59e8SDavid Daney uint64_t lfb_tag:20; 1958c5aa59e8SDavid Daney uint64_t reserved_27_63:37; 1959c5aa59e8SDavid Daney #endif 196054293ec3SDavid Daney } cn50xx; 196154293ec3SDavid Daney struct cvmx_l2c_lfb2_cn52xx { 1962c5aa59e8SDavid 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; 1966c5aa59e8SDavid Daney #else 1967c5aa59e8SDavid Daney uint64_t lfb_idx:9; 1968c5aa59e8SDavid Daney uint64_t lfb_tag:18; 1969c5aa59e8SDavid Daney uint64_t reserved_27_63:37; 1970c5aa59e8SDavid Daney #endif 197154293ec3SDavid Daney } cn52xx; 197254293ec3SDavid Daney struct cvmx_l2c_lfb2_cn52xx cn52xxp1; 197354293ec3SDavid Daney struct cvmx_l2c_lfb2_cn56xx { 1974c5aa59e8SDavid 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; 1978c5aa59e8SDavid Daney #else 1979c5aa59e8SDavid Daney uint64_t lfb_idx:11; 1980c5aa59e8SDavid Daney uint64_t lfb_tag:16; 1981c5aa59e8SDavid Daney uint64_t reserved_27_63:37; 1982c5aa59e8SDavid 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 { 1992c5aa59e8SDavid 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; 1996c5aa59e8SDavid Daney #else 1997c5aa59e8SDavid Daney uint64_t lfb_hwm:4; 1998c5aa59e8SDavid Daney uint64_t stpartdis:1; 1999c5aa59e8SDavid Daney uint64_t reserved_5_63:59; 2000c5aa59e8SDavid Daney #endif 200154293ec3SDavid Daney } s; 200254293ec3SDavid Daney struct cvmx_l2c_lfb3_cn30xx { 2003c5aa59e8SDavid 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; 2008c5aa59e8SDavid Daney #else 2009c5aa59e8SDavid Daney uint64_t lfb_hwm:2; 2010c5aa59e8SDavid Daney uint64_t reserved_2_3:2; 2011c5aa59e8SDavid Daney uint64_t stpartdis:1; 2012c5aa59e8SDavid Daney uint64_t reserved_5_63:59; 2013c5aa59e8SDavid Daney #endif 201454293ec3SDavid Daney } cn30xx; 201554293ec3SDavid Daney struct cvmx_l2c_lfb3_cn31xx { 2016c5aa59e8SDavid 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; 2021c5aa59e8SDavid Daney #else 2022c5aa59e8SDavid Daney uint64_t lfb_hwm:3; 2023c5aa59e8SDavid Daney uint64_t reserved_3_3:1; 2024c5aa59e8SDavid Daney uint64_t stpartdis:1; 2025c5aa59e8SDavid Daney uint64_t reserved_5_63:59; 2026c5aa59e8SDavid 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 { 2042c5aa59e8SDavid 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; 2046c5aa59e8SDavid Daney #else 2047c5aa59e8SDavid Daney uint64_t stena:1; 2048c5aa59e8SDavid Daney uint64_t dwbena:1; 2049c5aa59e8SDavid Daney uint64_t reserved_2_63:62; 2050c5aa59e8SDavid 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 { 2061c5aa59e8SDavid 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; 2068c5aa59e8SDavid Daney #else 2069c5aa59e8SDavid Daney uint64_t size:14; 2070c5aa59e8SDavid Daney uint64_t reserved_14_19:6; 2071c5aa59e8SDavid Daney uint64_t sadr:14; 2072c5aa59e8SDavid Daney uint64_t reserved_34_35:2; 2073c5aa59e8SDavid Daney uint64_t fsrc:1; 2074c5aa59e8SDavid Daney uint64_t fadr:27; 2075c5aa59e8SDavid 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 { 2086c5aa59e8SDavid 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; 2093c5aa59e8SDavid Daney #else 2094c5aa59e8SDavid Daney uint64_t size:14; 2095c5aa59e8SDavid Daney uint64_t reserved_14_19:6; 2096c5aa59e8SDavid Daney uint64_t sadr:14; 2097c5aa59e8SDavid Daney uint64_t reserved_34_35:2; 2098c5aa59e8SDavid Daney uint64_t fsrc:1; 2099c5aa59e8SDavid Daney uint64_t fadr:27; 2100c5aa59e8SDavid 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 { 2111c5aa59e8SDavid 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; 2118c5aa59e8SDavid Daney #else 2119c5aa59e8SDavid Daney uint64_t size:14; 2120c5aa59e8SDavid Daney uint64_t reserved_14_19:6; 2121c5aa59e8SDavid Daney uint64_t sadr:14; 2122c5aa59e8SDavid Daney uint64_t reserved_34_35:2; 2123c5aa59e8SDavid Daney uint64_t fsrc:1; 2124c5aa59e8SDavid Daney uint64_t fadr:27; 2125c5aa59e8SDavid 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 { 2136c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 213754293ec3SDavid Daney uint64_t reserved_36_63:28; 213854293ec3SDavid Daney uint64_t pfcnt0:36; 2139c5aa59e8SDavid Daney #else 2140c5aa59e8SDavid Daney uint64_t pfcnt0:36; 2141c5aa59e8SDavid Daney uint64_t reserved_36_63:28; 2142c5aa59e8SDavid 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 { 2160c5aa59e8SDavid 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; 2178c5aa59e8SDavid Daney #else 2179c5aa59e8SDavid Daney uint64_t cnt0sel:6; 2180c5aa59e8SDavid Daney uint64_t cnt0clr:1; 2181c5aa59e8SDavid Daney uint64_t cnt0ena:1; 2182c5aa59e8SDavid Daney uint64_t cnt1sel:6; 2183c5aa59e8SDavid Daney uint64_t cnt1clr:1; 2184c5aa59e8SDavid Daney uint64_t cnt1ena:1; 2185c5aa59e8SDavid Daney uint64_t cnt2sel:6; 2186c5aa59e8SDavid Daney uint64_t cnt2clr:1; 2187c5aa59e8SDavid Daney uint64_t cnt2ena:1; 2188c5aa59e8SDavid Daney uint64_t cnt3sel:6; 2189c5aa59e8SDavid Daney uint64_t cnt3clr:1; 2190c5aa59e8SDavid Daney uint64_t cnt3ena:1; 2191c5aa59e8SDavid Daney uint64_t cnt0rdclr:1; 2192c5aa59e8SDavid Daney uint64_t cnt1rdclr:1; 2193c5aa59e8SDavid Daney uint64_t cnt2rdclr:1; 2194c5aa59e8SDavid Daney uint64_t cnt3rdclr:1; 2195c5aa59e8SDavid Daney uint64_t reserved_36_63:28; 2196c5aa59e8SDavid 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 { 2214c5aa59e8SDavid 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; 2228c5aa59e8SDavid Daney #else 2229c5aa59e8SDavid Daney uint64_t pp0grp:2; 2230c5aa59e8SDavid Daney uint64_t pp1grp:2; 2231c5aa59e8SDavid Daney uint64_t pp2grp:2; 2232c5aa59e8SDavid Daney uint64_t pp3grp:2; 2233c5aa59e8SDavid Daney uint64_t pp4grp:2; 2234c5aa59e8SDavid Daney uint64_t pp5grp:2; 2235c5aa59e8SDavid Daney uint64_t pp6grp:2; 2236c5aa59e8SDavid Daney uint64_t pp7grp:2; 2237c5aa59e8SDavid Daney uint64_t pp8grp:2; 2238c5aa59e8SDavid Daney uint64_t pp9grp:2; 2239c5aa59e8SDavid Daney uint64_t pp10grp:2; 2240c5aa59e8SDavid Daney uint64_t pp11grp:2; 2241c5aa59e8SDavid Daney uint64_t reserved_24_63:40; 2242c5aa59e8SDavid Daney #endif 224354293ec3SDavid Daney } s; 224454293ec3SDavid Daney struct cvmx_l2c_ppgrp_cn52xx { 2245c5aa59e8SDavid 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; 2251c5aa59e8SDavid Daney #else 2252c5aa59e8SDavid Daney uint64_t pp0grp:2; 2253c5aa59e8SDavid Daney uint64_t pp1grp:2; 2254c5aa59e8SDavid Daney uint64_t pp2grp:2; 2255c5aa59e8SDavid Daney uint64_t pp3grp:2; 2256c5aa59e8SDavid Daney uint64_t reserved_8_63:56; 2257c5aa59e8SDavid 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 { 2267c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 2268c5aa59e8SDavid Daney uint64_t reserved_7_63:57; 2269c5aa59e8SDavid Daney uint64_t dwblvl:3; 2270c5aa59e8SDavid Daney uint64_t reserved_3_3:1; 2271c5aa59e8SDavid Daney uint64_t lvl:3; 2272c5aa59e8SDavid Daney #else 2273c5aa59e8SDavid Daney uint64_t lvl:3; 2274c5aa59e8SDavid Daney uint64_t reserved_3_3:1; 2275c5aa59e8SDavid Daney uint64_t dwblvl:3; 2276c5aa59e8SDavid Daney uint64_t reserved_7_63:57; 2277c5aa59e8SDavid Daney #endif 2278c5aa59e8SDavid Daney } s; 2279c5aa59e8SDavid Daney struct cvmx_l2c_qos_iobx_cn61xx { 2280c5aa59e8SDavid 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; 2285c5aa59e8SDavid Daney #else 2286c5aa59e8SDavid Daney uint64_t lvl:2; 2287c5aa59e8SDavid Daney uint64_t reserved_2_3:2; 2288c5aa59e8SDavid Daney uint64_t dwblvl:2; 2289c5aa59e8SDavid Daney uint64_t reserved_6_63:58; 2290c5aa59e8SDavid Daney #endif 2291c5aa59e8SDavid Daney } cn61xx; 2292c5aa59e8SDavid Daney struct cvmx_l2c_qos_iobx_cn61xx cn63xx; 2293c5aa59e8SDavid Daney struct cvmx_l2c_qos_iobx_cn61xx cn63xxp1; 2294c5aa59e8SDavid Daney struct cvmx_l2c_qos_iobx_cn61xx cn66xx; 2295c5aa59e8SDavid Daney struct cvmx_l2c_qos_iobx_s cn68xx; 2296c5aa59e8SDavid Daney struct cvmx_l2c_qos_iobx_s cn68xxp1; 2297c5aa59e8SDavid 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 { 2303c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 2304c5aa59e8SDavid Daney uint64_t reserved_3_63:61; 2305c5aa59e8SDavid Daney uint64_t lvl:3; 2306c5aa59e8SDavid Daney #else 2307c5aa59e8SDavid Daney uint64_t lvl:3; 2308c5aa59e8SDavid Daney uint64_t reserved_3_63:61; 2309c5aa59e8SDavid Daney #endif 2310c5aa59e8SDavid Daney } s; 2311c5aa59e8SDavid Daney struct cvmx_l2c_qos_ppx_cn61xx { 2312c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 2313aa32a955SDavid Daney uint64_t reserved_2_63:62; 2314aa32a955SDavid Daney uint64_t lvl:2; 2315c5aa59e8SDavid Daney #else 2316c5aa59e8SDavid Daney uint64_t lvl:2; 2317c5aa59e8SDavid Daney uint64_t reserved_2_63:62; 2318c5aa59e8SDavid Daney #endif 2319c5aa59e8SDavid Daney } cn61xx; 2320c5aa59e8SDavid Daney struct cvmx_l2c_qos_ppx_cn61xx cn63xx; 2321c5aa59e8SDavid Daney struct cvmx_l2c_qos_ppx_cn61xx cn63xxp1; 2322c5aa59e8SDavid Daney struct cvmx_l2c_qos_ppx_cn61xx cn66xx; 2323c5aa59e8SDavid Daney struct cvmx_l2c_qos_ppx_s cn68xx; 2324c5aa59e8SDavid Daney struct cvmx_l2c_qos_ppx_s cn68xxp1; 2325c5aa59e8SDavid 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 { 2331c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 2332c5aa59e8SDavid Daney uint64_t wgt7:8; 2333c5aa59e8SDavid Daney uint64_t wgt6:8; 2334c5aa59e8SDavid Daney uint64_t wgt5:8; 2335c5aa59e8SDavid Daney uint64_t wgt4:8; 2336c5aa59e8SDavid Daney uint64_t wgt3:8; 2337c5aa59e8SDavid Daney uint64_t wgt2:8; 2338c5aa59e8SDavid Daney uint64_t wgt1:8; 2339c5aa59e8SDavid Daney uint64_t wgt0:8; 2340c5aa59e8SDavid Daney #else 2341c5aa59e8SDavid Daney uint64_t wgt0:8; 2342c5aa59e8SDavid Daney uint64_t wgt1:8; 2343c5aa59e8SDavid Daney uint64_t wgt2:8; 2344c5aa59e8SDavid Daney uint64_t wgt3:8; 2345c5aa59e8SDavid Daney uint64_t wgt4:8; 2346c5aa59e8SDavid Daney uint64_t wgt5:8; 2347c5aa59e8SDavid Daney uint64_t wgt6:8; 2348c5aa59e8SDavid Daney uint64_t wgt7:8; 2349c5aa59e8SDavid Daney #endif 2350c5aa59e8SDavid Daney } s; 2351c5aa59e8SDavid Daney struct cvmx_l2c_qos_wgt_cn61xx { 2352c5aa59e8SDavid 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; 2358c5aa59e8SDavid Daney #else 2359c5aa59e8SDavid Daney uint64_t wgt0:8; 2360c5aa59e8SDavid Daney uint64_t wgt1:8; 2361c5aa59e8SDavid Daney uint64_t wgt2:8; 2362c5aa59e8SDavid Daney uint64_t wgt3:8; 2363c5aa59e8SDavid Daney uint64_t reserved_32_63:32; 2364c5aa59e8SDavid Daney #endif 2365c5aa59e8SDavid Daney } cn61xx; 2366c5aa59e8SDavid Daney struct cvmx_l2c_qos_wgt_cn61xx cn63xx; 2367c5aa59e8SDavid Daney struct cvmx_l2c_qos_wgt_cn61xx cn63xxp1; 2368c5aa59e8SDavid Daney struct cvmx_l2c_qos_wgt_cn61xx cn66xx; 2369c5aa59e8SDavid Daney struct cvmx_l2c_qos_wgt_s cn68xx; 2370c5aa59e8SDavid Daney struct cvmx_l2c_qos_wgt_s cn68xxp1; 2371c5aa59e8SDavid 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 { 2377c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 2378aa32a955SDavid Daney uint64_t count:64; 2379c5aa59e8SDavid Daney #else 2380c5aa59e8SDavid Daney uint64_t count:64; 2381c5aa59e8SDavid Daney #endif 2382aa32a955SDavid Daney } s; 2383c5aa59e8SDavid 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; 2386c5aa59e8SDavid Daney struct cvmx_l2c_rscx_pfc_s cn66xx; 2387c5aa59e8SDavid Daney struct cvmx_l2c_rscx_pfc_s cn68xx; 2388c5aa59e8SDavid Daney struct cvmx_l2c_rscx_pfc_s cn68xxp1; 2389c5aa59e8SDavid 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 { 2395c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 2396aa32a955SDavid Daney uint64_t count:64; 2397c5aa59e8SDavid Daney #else 2398c5aa59e8SDavid Daney uint64_t count:64; 2399c5aa59e8SDavid Daney #endif 2400aa32a955SDavid Daney } s; 2401c5aa59e8SDavid 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; 2404c5aa59e8SDavid Daney struct cvmx_l2c_rsdx_pfc_s cn66xx; 2405c5aa59e8SDavid Daney struct cvmx_l2c_rsdx_pfc_s cn68xx; 2406c5aa59e8SDavid Daney struct cvmx_l2c_rsdx_pfc_s cn68xxp1; 2407c5aa59e8SDavid 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 { 2413c5aa59e8SDavid 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; 2419c5aa59e8SDavid Daney #else 2420c5aa59e8SDavid Daney uint64_t umsk0:8; 2421c5aa59e8SDavid Daney uint64_t umsk1:8; 2422c5aa59e8SDavid Daney uint64_t umsk2:8; 2423c5aa59e8SDavid Daney uint64_t umsk3:8; 2424c5aa59e8SDavid Daney uint64_t reserved_32_63:32; 2425c5aa59e8SDavid Daney #endif 242654293ec3SDavid Daney } s; 242754293ec3SDavid Daney struct cvmx_l2c_spar0_cn30xx { 2428c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 242954293ec3SDavid Daney uint64_t reserved_4_63:60; 243054293ec3SDavid Daney uint64_t umsk0:4; 2431c5aa59e8SDavid Daney #else 2432c5aa59e8SDavid Daney uint64_t umsk0:4; 2433c5aa59e8SDavid Daney uint64_t reserved_4_63:60; 2434c5aa59e8SDavid Daney #endif 243554293ec3SDavid Daney } cn30xx; 243654293ec3SDavid Daney struct cvmx_l2c_spar0_cn31xx { 2437c5aa59e8SDavid 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; 2442c5aa59e8SDavid Daney #else 2443c5aa59e8SDavid Daney uint64_t umsk0:4; 2444c5aa59e8SDavid Daney uint64_t reserved_4_7:4; 2445c5aa59e8SDavid Daney uint64_t umsk1:4; 2446c5aa59e8SDavid Daney uint64_t reserved_12_63:52; 2447c5aa59e8SDavid 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 { 2452c5aa59e8SDavid 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; 2456c5aa59e8SDavid Daney #else 2457c5aa59e8SDavid Daney uint64_t umsk0:8; 2458c5aa59e8SDavid Daney uint64_t umsk1:8; 2459c5aa59e8SDavid Daney uint64_t reserved_16_63:48; 2460c5aa59e8SDavid 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 { 2473c5aa59e8SDavid 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; 2479c5aa59e8SDavid Daney #else 2480c5aa59e8SDavid Daney uint64_t umsk4:8; 2481c5aa59e8SDavid Daney uint64_t umsk5:8; 2482c5aa59e8SDavid Daney uint64_t umsk6:8; 2483c5aa59e8SDavid Daney uint64_t umsk7:8; 2484c5aa59e8SDavid Daney uint64_t reserved_32_63:32; 2485c5aa59e8SDavid 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 { 2498c5aa59e8SDavid 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; 2504c5aa59e8SDavid Daney #else 2505c5aa59e8SDavid Daney uint64_t umsk8:8; 2506c5aa59e8SDavid Daney uint64_t umsk9:8; 2507c5aa59e8SDavid Daney uint64_t umsk10:8; 2508c5aa59e8SDavid Daney uint64_t umsk11:8; 2509c5aa59e8SDavid Daney uint64_t reserved_32_63:32; 2510c5aa59e8SDavid 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 { 2523c5aa59e8SDavid 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; 2529c5aa59e8SDavid Daney #else 2530c5aa59e8SDavid Daney uint64_t umsk12:8; 2531c5aa59e8SDavid Daney uint64_t umsk13:8; 2532c5aa59e8SDavid Daney uint64_t umsk14:8; 2533c5aa59e8SDavid Daney uint64_t umsk15:8; 2534c5aa59e8SDavid Daney uint64_t reserved_32_63:32; 2535c5aa59e8SDavid 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 { 2546c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 254754293ec3SDavid Daney uint64_t reserved_8_63:56; 254854293ec3SDavid Daney uint64_t umskiob:8; 2549c5aa59e8SDavid Daney #else 2550c5aa59e8SDavid Daney uint64_t umskiob:8; 2551c5aa59e8SDavid Daney uint64_t reserved_8_63:56; 2552c5aa59e8SDavid Daney #endif 255354293ec3SDavid Daney } s; 255454293ec3SDavid Daney struct cvmx_l2c_spar4_cn30xx { 2555c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 255654293ec3SDavid Daney uint64_t reserved_4_63:60; 255754293ec3SDavid Daney uint64_t umskiob:4; 2558c5aa59e8SDavid Daney #else 2559c5aa59e8SDavid Daney uint64_t umskiob:4; 2560c5aa59e8SDavid Daney uint64_t reserved_4_63:60; 2561c5aa59e8SDavid 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 { 2578c5aa59e8SDavid 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; 2587c5aa59e8SDavid Daney #else 2588c5aa59e8SDavid Daney uint64_t ow0ecc:10; 2589c5aa59e8SDavid Daney uint64_t reserved_10_15:6; 2590c5aa59e8SDavid Daney uint64_t ow1ecc:10; 2591c5aa59e8SDavid Daney uint64_t reserved_26_31:6; 2592c5aa59e8SDavid Daney uint64_t ow2ecc:10; 2593c5aa59e8SDavid Daney uint64_t reserved_42_47:6; 2594c5aa59e8SDavid Daney uint64_t ow3ecc:10; 2595c5aa59e8SDavid Daney uint64_t reserved_58_63:6; 2596c5aa59e8SDavid Daney #endif 2597aa32a955SDavid Daney } s; 2598c5aa59e8SDavid 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; 2601c5aa59e8SDavid Daney struct cvmx_l2c_tadx_ecc0_s cn66xx; 2602c5aa59e8SDavid Daney struct cvmx_l2c_tadx_ecc0_s cn68xx; 2603c5aa59e8SDavid Daney struct cvmx_l2c_tadx_ecc0_s cn68xxp1; 2604c5aa59e8SDavid 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 { 2610c5aa59e8SDavid 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; 2619c5aa59e8SDavid Daney #else 2620c5aa59e8SDavid Daney uint64_t ow4ecc:10; 2621c5aa59e8SDavid Daney uint64_t reserved_10_15:6; 2622c5aa59e8SDavid Daney uint64_t ow5ecc:10; 2623c5aa59e8SDavid Daney uint64_t reserved_26_31:6; 2624c5aa59e8SDavid Daney uint64_t ow6ecc:10; 2625c5aa59e8SDavid Daney uint64_t reserved_42_47:6; 2626c5aa59e8SDavid Daney uint64_t ow7ecc:10; 2627c5aa59e8SDavid Daney uint64_t reserved_58_63:6; 2628c5aa59e8SDavid Daney #endif 2629aa32a955SDavid Daney } s; 2630c5aa59e8SDavid 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; 2633c5aa59e8SDavid Daney struct cvmx_l2c_tadx_ecc1_s cn66xx; 2634c5aa59e8SDavid Daney struct cvmx_l2c_tadx_ecc1_s cn68xx; 2635c5aa59e8SDavid Daney struct cvmx_l2c_tadx_ecc1_s cn68xxp1; 2636c5aa59e8SDavid 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 { 2642c5aa59e8SDavid 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; 2653c5aa59e8SDavid Daney #else 2654c5aa59e8SDavid Daney uint64_t l2dsbe:1; 2655c5aa59e8SDavid Daney uint64_t l2ddbe:1; 2656c5aa59e8SDavid Daney uint64_t tagsbe:1; 2657c5aa59e8SDavid Daney uint64_t tagdbe:1; 2658c5aa59e8SDavid Daney uint64_t vbfsbe:1; 2659c5aa59e8SDavid Daney uint64_t vbfdbe:1; 2660c5aa59e8SDavid Daney uint64_t noway:1; 2661c5aa59e8SDavid Daney uint64_t rddislmc:1; 2662c5aa59e8SDavid Daney uint64_t wrdislmc:1; 2663c5aa59e8SDavid Daney uint64_t reserved_9_63:55; 2664c5aa59e8SDavid Daney #endif 2665aa32a955SDavid Daney } s; 2666c5aa59e8SDavid 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 { 2669c5aa59e8SDavid 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; 2678c5aa59e8SDavid Daney #else 2679c5aa59e8SDavid Daney uint64_t l2dsbe:1; 2680c5aa59e8SDavid Daney uint64_t l2ddbe:1; 2681c5aa59e8SDavid Daney uint64_t tagsbe:1; 2682c5aa59e8SDavid Daney uint64_t tagdbe:1; 2683c5aa59e8SDavid Daney uint64_t vbfsbe:1; 2684c5aa59e8SDavid Daney uint64_t vbfdbe:1; 2685c5aa59e8SDavid Daney uint64_t noway:1; 2686c5aa59e8SDavid Daney uint64_t reserved_7_63:57; 2687c5aa59e8SDavid Daney #endif 2688aa32a955SDavid Daney } cn63xxp1; 2689c5aa59e8SDavid Daney struct cvmx_l2c_tadx_ien_s cn66xx; 2690c5aa59e8SDavid Daney struct cvmx_l2c_tadx_ien_s cn68xx; 2691c5aa59e8SDavid Daney struct cvmx_l2c_tadx_ien_s cn68xxp1; 2692c5aa59e8SDavid 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 { 2698c5aa59e8SDavid 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; 2709c5aa59e8SDavid Daney #else 2710c5aa59e8SDavid Daney uint64_t l2dsbe:1; 2711c5aa59e8SDavid Daney uint64_t l2ddbe:1; 2712c5aa59e8SDavid Daney uint64_t tagsbe:1; 2713c5aa59e8SDavid Daney uint64_t tagdbe:1; 2714c5aa59e8SDavid Daney uint64_t vbfsbe:1; 2715c5aa59e8SDavid Daney uint64_t vbfdbe:1; 2716c5aa59e8SDavid Daney uint64_t noway:1; 2717c5aa59e8SDavid Daney uint64_t rddislmc:1; 2718c5aa59e8SDavid Daney uint64_t wrdislmc:1; 2719c5aa59e8SDavid Daney uint64_t reserved_9_63:55; 2720c5aa59e8SDavid Daney #endif 2721aa32a955SDavid Daney } s; 2722c5aa59e8SDavid Daney struct cvmx_l2c_tadx_int_s cn61xx; 2723aa32a955SDavid Daney struct cvmx_l2c_tadx_int_s cn63xx; 2724c5aa59e8SDavid Daney struct cvmx_l2c_tadx_int_s cn66xx; 2725c5aa59e8SDavid Daney struct cvmx_l2c_tadx_int_s cn68xx; 2726c5aa59e8SDavid Daney struct cvmx_l2c_tadx_int_s cn68xxp1; 2727c5aa59e8SDavid 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 { 2733c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 2734aa32a955SDavid Daney uint64_t count:64; 2735c5aa59e8SDavid Daney #else 2736c5aa59e8SDavid Daney uint64_t count:64; 2737c5aa59e8SDavid Daney #endif 2738aa32a955SDavid Daney } s; 2739c5aa59e8SDavid 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; 2742c5aa59e8SDavid Daney struct cvmx_l2c_tadx_pfc0_s cn66xx; 2743c5aa59e8SDavid Daney struct cvmx_l2c_tadx_pfc0_s cn68xx; 2744c5aa59e8SDavid Daney struct cvmx_l2c_tadx_pfc0_s cn68xxp1; 2745c5aa59e8SDavid 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 { 2751c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 2752aa32a955SDavid Daney uint64_t count:64; 2753c5aa59e8SDavid Daney #else 2754c5aa59e8SDavid Daney uint64_t count:64; 2755c5aa59e8SDavid Daney #endif 2756aa32a955SDavid Daney } s; 2757c5aa59e8SDavid 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; 2760c5aa59e8SDavid Daney struct cvmx_l2c_tadx_pfc1_s cn66xx; 2761c5aa59e8SDavid Daney struct cvmx_l2c_tadx_pfc1_s cn68xx; 2762c5aa59e8SDavid Daney struct cvmx_l2c_tadx_pfc1_s cn68xxp1; 2763c5aa59e8SDavid 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 { 2769c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 2770aa32a955SDavid Daney uint64_t count:64; 2771c5aa59e8SDavid Daney #else 2772c5aa59e8SDavid Daney uint64_t count:64; 2773c5aa59e8SDavid Daney #endif 2774aa32a955SDavid Daney } s; 2775c5aa59e8SDavid 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; 2778c5aa59e8SDavid Daney struct cvmx_l2c_tadx_pfc2_s cn66xx; 2779c5aa59e8SDavid Daney struct cvmx_l2c_tadx_pfc2_s cn68xx; 2780c5aa59e8SDavid Daney struct cvmx_l2c_tadx_pfc2_s cn68xxp1; 2781c5aa59e8SDavid 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 { 2787c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 2788aa32a955SDavid Daney uint64_t count:64; 2789c5aa59e8SDavid Daney #else 2790c5aa59e8SDavid Daney uint64_t count:64; 2791c5aa59e8SDavid Daney #endif 2792aa32a955SDavid Daney } s; 2793c5aa59e8SDavid 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; 2796c5aa59e8SDavid Daney struct cvmx_l2c_tadx_pfc3_s cn66xx; 2797c5aa59e8SDavid Daney struct cvmx_l2c_tadx_pfc3_s cn68xx; 2798c5aa59e8SDavid Daney struct cvmx_l2c_tadx_pfc3_s cn68xxp1; 2799c5aa59e8SDavid 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 { 2805c5aa59e8SDavid 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; 2811c5aa59e8SDavid Daney #else 2812c5aa59e8SDavid Daney uint64_t cnt0sel:8; 2813c5aa59e8SDavid Daney uint64_t cnt1sel:8; 2814c5aa59e8SDavid Daney uint64_t cnt2sel:8; 2815c5aa59e8SDavid Daney uint64_t cnt3sel:8; 2816c5aa59e8SDavid Daney uint64_t reserved_32_63:32; 2817c5aa59e8SDavid Daney #endif 2818aa32a955SDavid Daney } s; 2819c5aa59e8SDavid 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; 2822c5aa59e8SDavid Daney struct cvmx_l2c_tadx_prf_s cn66xx; 2823c5aa59e8SDavid Daney struct cvmx_l2c_tadx_prf_s cn68xx; 2824c5aa59e8SDavid Daney struct cvmx_l2c_tadx_prf_s cn68xxp1; 2825c5aa59e8SDavid 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 { 2831c5aa59e8SDavid 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; 2841c5aa59e8SDavid Daney #else 2842c5aa59e8SDavid Daney uint64_t lock:1; 2843c5aa59e8SDavid Daney uint64_t dirty:1; 2844c5aa59e8SDavid Daney uint64_t valid:1; 2845c5aa59e8SDavid Daney uint64_t use:1; 2846c5aa59e8SDavid Daney uint64_t reserved_4_16:13; 2847c5aa59e8SDavid Daney uint64_t tag:19; 2848c5aa59e8SDavid Daney uint64_t reserved_36_39:4; 2849c5aa59e8SDavid Daney uint64_t ecc:6; 2850c5aa59e8SDavid Daney uint64_t reserved_46_63:18; 2851c5aa59e8SDavid Daney #endif 2852aa32a955SDavid Daney } s; 2853c5aa59e8SDavid 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; 2856c5aa59e8SDavid Daney struct cvmx_l2c_tadx_tag_s cn66xx; 2857c5aa59e8SDavid Daney struct cvmx_l2c_tadx_tag_s cn68xx; 2858c5aa59e8SDavid Daney struct cvmx_l2c_tadx_tag_s cn68xxp1; 2859c5aa59e8SDavid 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 { 2865c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 2866aa32a955SDavid Daney uint64_t mask:64; 2867c5aa59e8SDavid Daney #else 2868c5aa59e8SDavid Daney uint64_t mask:64; 2869c5aa59e8SDavid Daney #endif 2870aa32a955SDavid Daney } s; 2871c5aa59e8SDavid 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; 2874c5aa59e8SDavid Daney struct cvmx_l2c_ver_id_s cn66xx; 2875c5aa59e8SDavid Daney struct cvmx_l2c_ver_id_s cn68xx; 2876c5aa59e8SDavid Daney struct cvmx_l2c_ver_id_s cn68xxp1; 2877c5aa59e8SDavid 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 { 2883c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 2884c5aa59e8SDavid Daney uint64_t reserved_2_63:62; 2885c5aa59e8SDavid Daney uint64_t mask:2; 2886c5aa59e8SDavid Daney #else 2887c5aa59e8SDavid Daney uint64_t mask:2; 2888c5aa59e8SDavid Daney uint64_t reserved_2_63:62; 2889c5aa59e8SDavid Daney #endif 2890c5aa59e8SDavid Daney } s; 2891c5aa59e8SDavid Daney struct cvmx_l2c_ver_iob_cn61xx { 2892c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 2893aa32a955SDavid Daney uint64_t reserved_1_63:63; 2894aa32a955SDavid Daney uint64_t mask:1; 2895c5aa59e8SDavid Daney #else 2896c5aa59e8SDavid Daney uint64_t mask:1; 2897c5aa59e8SDavid Daney uint64_t reserved_1_63:63; 2898c5aa59e8SDavid Daney #endif 2899c5aa59e8SDavid Daney } cn61xx; 2900c5aa59e8SDavid Daney struct cvmx_l2c_ver_iob_cn61xx cn63xx; 2901c5aa59e8SDavid Daney struct cvmx_l2c_ver_iob_cn61xx cn63xxp1; 2902c5aa59e8SDavid Daney struct cvmx_l2c_ver_iob_cn61xx cn66xx; 2903c5aa59e8SDavid Daney struct cvmx_l2c_ver_iob_s cn68xx; 2904c5aa59e8SDavid Daney struct cvmx_l2c_ver_iob_s cn68xxp1; 2905c5aa59e8SDavid 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 { 2911c5aa59e8SDavid 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; 2915c5aa59e8SDavid Daney #else 2916c5aa59e8SDavid Daney uint64_t dwb:1; 2917c5aa59e8SDavid Daney uint64_t invl2:1; 2918c5aa59e8SDavid Daney uint64_t reserved_2_63:62; 2919c5aa59e8SDavid Daney #endif 2920aa32a955SDavid Daney } s; 2921c5aa59e8SDavid Daney struct cvmx_l2c_ver_msc_s cn61xx; 2922aa32a955SDavid Daney struct cvmx_l2c_ver_msc_s cn63xx; 2923c5aa59e8SDavid Daney struct cvmx_l2c_ver_msc_s cn66xx; 2924c5aa59e8SDavid Daney struct cvmx_l2c_ver_msc_s cn68xx; 2925c5aa59e8SDavid Daney struct cvmx_l2c_ver_msc_s cn68xxp1; 2926c5aa59e8SDavid 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 { 2932c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 2933c5aa59e8SDavid Daney uint64_t reserved_32_63:32; 2934c5aa59e8SDavid Daney uint64_t mask:32; 2935c5aa59e8SDavid Daney #else 2936c5aa59e8SDavid Daney uint64_t mask:32; 2937c5aa59e8SDavid Daney uint64_t reserved_32_63:32; 2938c5aa59e8SDavid Daney #endif 2939c5aa59e8SDavid Daney } s; 2940c5aa59e8SDavid Daney struct cvmx_l2c_ver_pp_cn61xx { 2941c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 2942c5aa59e8SDavid Daney uint64_t reserved_4_63:60; 2943c5aa59e8SDavid Daney uint64_t mask:4; 2944c5aa59e8SDavid Daney #else 2945c5aa59e8SDavid Daney uint64_t mask:4; 2946c5aa59e8SDavid Daney uint64_t reserved_4_63:60; 2947c5aa59e8SDavid Daney #endif 2948c5aa59e8SDavid Daney } cn61xx; 2949c5aa59e8SDavid Daney struct cvmx_l2c_ver_pp_cn63xx { 2950c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 2951aa32a955SDavid Daney uint64_t reserved_6_63:58; 2952aa32a955SDavid Daney uint64_t mask:6; 2953c5aa59e8SDavid Daney #else 2954c5aa59e8SDavid Daney uint64_t mask:6; 2955c5aa59e8SDavid Daney uint64_t reserved_6_63:58; 2956c5aa59e8SDavid Daney #endif 2957c5aa59e8SDavid Daney } cn63xx; 2958c5aa59e8SDavid Daney struct cvmx_l2c_ver_pp_cn63xx cn63xxp1; 2959c5aa59e8SDavid Daney struct cvmx_l2c_ver_pp_cn66xx { 2960c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 2961c5aa59e8SDavid Daney uint64_t reserved_10_63:54; 2962c5aa59e8SDavid Daney uint64_t mask:10; 2963c5aa59e8SDavid Daney #else 2964c5aa59e8SDavid Daney uint64_t mask:10; 2965c5aa59e8SDavid Daney uint64_t reserved_10_63:54; 2966c5aa59e8SDavid Daney #endif 2967c5aa59e8SDavid Daney } cn66xx; 2968c5aa59e8SDavid Daney struct cvmx_l2c_ver_pp_s cn68xx; 2969c5aa59e8SDavid Daney struct cvmx_l2c_ver_pp_s cn68xxp1; 2970c5aa59e8SDavid 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 { 2976c5aa59e8SDavid 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; 2981c5aa59e8SDavid Daney #else 2982c5aa59e8SDavid Daney uint64_t id:6; 2983c5aa59e8SDavid Daney uint64_t reserved_6_7:2; 2984c5aa59e8SDavid Daney uint64_t dwbid:6; 2985c5aa59e8SDavid Daney uint64_t reserved_14_63:50; 2986c5aa59e8SDavid Daney #endif 2987aa32a955SDavid Daney } s; 2988c5aa59e8SDavid 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; 2991c5aa59e8SDavid Daney struct cvmx_l2c_virtid_iobx_s cn66xx; 2992c5aa59e8SDavid Daney struct cvmx_l2c_virtid_iobx_s cn68xx; 2993c5aa59e8SDavid Daney struct cvmx_l2c_virtid_iobx_s cn68xxp1; 2994c5aa59e8SDavid 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 { 3000c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 3001aa32a955SDavid Daney uint64_t reserved_6_63:58; 3002aa32a955SDavid Daney uint64_t id:6; 3003c5aa59e8SDavid Daney #else 3004c5aa59e8SDavid Daney uint64_t id:6; 3005c5aa59e8SDavid Daney uint64_t reserved_6_63:58; 3006c5aa59e8SDavid Daney #endif 3007aa32a955SDavid Daney } s; 3008c5aa59e8SDavid 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; 3011c5aa59e8SDavid Daney struct cvmx_l2c_virtid_ppx_s cn66xx; 3012c5aa59e8SDavid Daney struct cvmx_l2c_virtid_ppx_s cn68xx; 3013c5aa59e8SDavid Daney struct cvmx_l2c_virtid_ppx_s cn68xxp1; 3014c5aa59e8SDavid 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 { 3020c5aa59e8SDavid 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; 3027c5aa59e8SDavid Daney #else 3028c5aa59e8SDavid Daney uint64_t enable:1; 3029c5aa59e8SDavid Daney uint64_t numid:3; 3030c5aa59e8SDavid Daney uint64_t memsz:3; 3031c5aa59e8SDavid Daney uint64_t reserved_7_7:1; 3032c5aa59e8SDavid Daney uint64_t ooberr:1; 3033c5aa59e8SDavid Daney uint64_t reserved_9_63:55; 3034c5aa59e8SDavid Daney #endif 3035aa32a955SDavid Daney } s; 3036c5aa59e8SDavid 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; 3039c5aa59e8SDavid Daney struct cvmx_l2c_vrt_ctl_s cn66xx; 3040c5aa59e8SDavid Daney struct cvmx_l2c_vrt_ctl_s cn68xx; 3041c5aa59e8SDavid Daney struct cvmx_l2c_vrt_ctl_s cn68xxp1; 3042c5aa59e8SDavid 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 { 3048c5aa59e8SDavid 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; 3052c5aa59e8SDavid Daney #else 3053c5aa59e8SDavid Daney uint64_t data:32; 3054c5aa59e8SDavid Daney uint64_t parity:4; 3055c5aa59e8SDavid Daney uint64_t reserved_36_63:28; 3056c5aa59e8SDavid Daney #endif 3057aa32a955SDavid Daney } s; 3058c5aa59e8SDavid 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; 3061c5aa59e8SDavid Daney struct cvmx_l2c_vrt_memx_s cn66xx; 3062c5aa59e8SDavid Daney struct cvmx_l2c_vrt_memx_s cn68xx; 3063c5aa59e8SDavid Daney struct cvmx_l2c_vrt_memx_s cn68xxp1; 3064c5aa59e8SDavid 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 { 3070c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 3071aa32a955SDavid Daney uint64_t reserved_16_63:48; 3072aa32a955SDavid Daney uint64_t mask:16; 3073c5aa59e8SDavid Daney #else 3074c5aa59e8SDavid Daney uint64_t mask:16; 3075c5aa59e8SDavid Daney uint64_t reserved_16_63:48; 3076c5aa59e8SDavid Daney #endif 3077aa32a955SDavid Daney } s; 3078c5aa59e8SDavid 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; 3081c5aa59e8SDavid Daney struct cvmx_l2c_wpar_iobx_s cn66xx; 3082c5aa59e8SDavid Daney struct cvmx_l2c_wpar_iobx_s cn68xx; 3083c5aa59e8SDavid Daney struct cvmx_l2c_wpar_iobx_s cn68xxp1; 3084c5aa59e8SDavid 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 { 3090c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 3091aa32a955SDavid Daney uint64_t reserved_16_63:48; 3092aa32a955SDavid Daney uint64_t mask:16; 3093c5aa59e8SDavid Daney #else 3094c5aa59e8SDavid Daney uint64_t mask:16; 3095c5aa59e8SDavid Daney uint64_t reserved_16_63:48; 3096c5aa59e8SDavid Daney #endif 3097aa32a955SDavid Daney } s; 3098c5aa59e8SDavid 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; 3101c5aa59e8SDavid Daney struct cvmx_l2c_wpar_ppx_s cn66xx; 3102c5aa59e8SDavid Daney struct cvmx_l2c_wpar_ppx_s cn68xx; 3103c5aa59e8SDavid Daney struct cvmx_l2c_wpar_ppx_s cn68xxp1; 3104c5aa59e8SDavid 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 { 3110c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 3111aa32a955SDavid Daney uint64_t count:64; 3112c5aa59e8SDavid Daney #else 3113c5aa59e8SDavid Daney uint64_t count:64; 3114c5aa59e8SDavid Daney #endif 3115aa32a955SDavid Daney } s; 3116c5aa59e8SDavid 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; 3119c5aa59e8SDavid Daney struct cvmx_l2c_xmcx_pfc_s cn66xx; 3120c5aa59e8SDavid Daney struct cvmx_l2c_xmcx_pfc_s cn68xx; 3121c5aa59e8SDavid Daney struct cvmx_l2c_xmcx_pfc_s cn68xxp1; 3122c5aa59e8SDavid 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 { 3128c5aa59e8SDavid 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; 3133c5aa59e8SDavid Daney #else 3134c5aa59e8SDavid Daney uint64_t addr:38; 3135c5aa59e8SDavid Daney uint64_t reserved_38_56:19; 3136c5aa59e8SDavid Daney uint64_t cmd:6; 3137c5aa59e8SDavid Daney uint64_t inuse:1; 3138c5aa59e8SDavid Daney #endif 3139aa32a955SDavid Daney } s; 3140c5aa59e8SDavid 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; 3143c5aa59e8SDavid Daney struct cvmx_l2c_xmc_cmd_s cn66xx; 3144c5aa59e8SDavid Daney struct cvmx_l2c_xmc_cmd_s cn68xx; 3145c5aa59e8SDavid Daney struct cvmx_l2c_xmc_cmd_s cn68xxp1; 3146c5aa59e8SDavid 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 { 3152c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 3153aa32a955SDavid Daney uint64_t count:64; 3154c5aa59e8SDavid Daney #else 3155c5aa59e8SDavid Daney uint64_t count:64; 3156c5aa59e8SDavid Daney #endif 3157aa32a955SDavid Daney } s; 3158c5aa59e8SDavid 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; 3161c5aa59e8SDavid Daney struct cvmx_l2c_xmdx_pfc_s cn66xx; 3162c5aa59e8SDavid Daney struct cvmx_l2c_xmdx_pfc_s cn68xx; 3163c5aa59e8SDavid Daney struct cvmx_l2c_xmdx_pfc_s cn68xxp1; 3164c5aa59e8SDavid Daney struct cvmx_l2c_xmdx_pfc_s cnf71xx; 3165aa32a955SDavid Daney }; 3166aa32a955SDavid Daney 316754293ec3SDavid Daney #endif 3168