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