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 * 754293ec3SDavid Daney * Copyright (c) 2003-2008 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 3154293ec3SDavid Daney #define CVMX_L2C_BST0 \ 3254293ec3SDavid Daney CVMX_ADD_IO_SEG(0x00011800800007F8ull) 3354293ec3SDavid Daney #define CVMX_L2C_BST1 \ 3454293ec3SDavid Daney CVMX_ADD_IO_SEG(0x00011800800007F0ull) 3554293ec3SDavid Daney #define CVMX_L2C_BST2 \ 3654293ec3SDavid Daney CVMX_ADD_IO_SEG(0x00011800800007E8ull) 3754293ec3SDavid Daney #define CVMX_L2C_CFG \ 3854293ec3SDavid Daney CVMX_ADD_IO_SEG(0x0001180080000000ull) 3954293ec3SDavid Daney #define CVMX_L2C_DBG \ 4054293ec3SDavid Daney CVMX_ADD_IO_SEG(0x0001180080000030ull) 4154293ec3SDavid Daney #define CVMX_L2C_DUT \ 4254293ec3SDavid Daney CVMX_ADD_IO_SEG(0x0001180080000050ull) 4354293ec3SDavid Daney #define CVMX_L2C_GRPWRR0 \ 4454293ec3SDavid Daney CVMX_ADD_IO_SEG(0x00011800800000C8ull) 4554293ec3SDavid Daney #define CVMX_L2C_GRPWRR1 \ 4654293ec3SDavid Daney CVMX_ADD_IO_SEG(0x00011800800000D0ull) 4754293ec3SDavid Daney #define CVMX_L2C_INT_EN \ 4854293ec3SDavid Daney CVMX_ADD_IO_SEG(0x0001180080000100ull) 4954293ec3SDavid Daney #define CVMX_L2C_INT_STAT \ 5054293ec3SDavid Daney CVMX_ADD_IO_SEG(0x00011800800000F8ull) 5154293ec3SDavid Daney #define CVMX_L2C_LCKBASE \ 5254293ec3SDavid Daney CVMX_ADD_IO_SEG(0x0001180080000058ull) 5354293ec3SDavid Daney #define CVMX_L2C_LCKOFF \ 5454293ec3SDavid Daney CVMX_ADD_IO_SEG(0x0001180080000060ull) 5554293ec3SDavid Daney #define CVMX_L2C_LFB0 \ 5654293ec3SDavid Daney CVMX_ADD_IO_SEG(0x0001180080000038ull) 5754293ec3SDavid Daney #define CVMX_L2C_LFB1 \ 5854293ec3SDavid Daney CVMX_ADD_IO_SEG(0x0001180080000040ull) 5954293ec3SDavid Daney #define CVMX_L2C_LFB2 \ 6054293ec3SDavid Daney CVMX_ADD_IO_SEG(0x0001180080000048ull) 6154293ec3SDavid Daney #define CVMX_L2C_LFB3 \ 6254293ec3SDavid Daney CVMX_ADD_IO_SEG(0x00011800800000B8ull) 6354293ec3SDavid Daney #define CVMX_L2C_OOB \ 6454293ec3SDavid Daney CVMX_ADD_IO_SEG(0x00011800800000D8ull) 6554293ec3SDavid Daney #define CVMX_L2C_OOB1 \ 6654293ec3SDavid Daney CVMX_ADD_IO_SEG(0x00011800800000E0ull) 6754293ec3SDavid Daney #define CVMX_L2C_OOB2 \ 6854293ec3SDavid Daney CVMX_ADD_IO_SEG(0x00011800800000E8ull) 6954293ec3SDavid Daney #define CVMX_L2C_OOB3 \ 7054293ec3SDavid Daney CVMX_ADD_IO_SEG(0x00011800800000F0ull) 7154293ec3SDavid Daney #define CVMX_L2C_PFC0 \ 7254293ec3SDavid Daney CVMX_ADD_IO_SEG(0x0001180080000098ull) 7354293ec3SDavid Daney #define CVMX_L2C_PFC1 \ 7454293ec3SDavid Daney CVMX_ADD_IO_SEG(0x00011800800000A0ull) 7554293ec3SDavid Daney #define CVMX_L2C_PFC2 \ 7654293ec3SDavid Daney CVMX_ADD_IO_SEG(0x00011800800000A8ull) 7754293ec3SDavid Daney #define CVMX_L2C_PFC3 \ 7854293ec3SDavid Daney CVMX_ADD_IO_SEG(0x00011800800000B0ull) 7954293ec3SDavid Daney #define CVMX_L2C_PFCTL \ 8054293ec3SDavid Daney CVMX_ADD_IO_SEG(0x0001180080000090ull) 8154293ec3SDavid Daney #define CVMX_L2C_PFCX(offset) \ 8254293ec3SDavid Daney CVMX_ADD_IO_SEG(0x0001180080000098ull + (((offset) & 3) * 8)) 8354293ec3SDavid Daney #define CVMX_L2C_PPGRP \ 8454293ec3SDavid Daney CVMX_ADD_IO_SEG(0x00011800800000C0ull) 8554293ec3SDavid Daney #define CVMX_L2C_SPAR0 \ 8654293ec3SDavid Daney CVMX_ADD_IO_SEG(0x0001180080000068ull) 8754293ec3SDavid Daney #define CVMX_L2C_SPAR1 \ 8854293ec3SDavid Daney CVMX_ADD_IO_SEG(0x0001180080000070ull) 8954293ec3SDavid Daney #define CVMX_L2C_SPAR2 \ 9054293ec3SDavid Daney CVMX_ADD_IO_SEG(0x0001180080000078ull) 9154293ec3SDavid Daney #define CVMX_L2C_SPAR3 \ 9254293ec3SDavid Daney CVMX_ADD_IO_SEG(0x0001180080000080ull) 9354293ec3SDavid Daney #define CVMX_L2C_SPAR4 \ 9454293ec3SDavid Daney CVMX_ADD_IO_SEG(0x0001180080000088ull) 9554293ec3SDavid Daney 9654293ec3SDavid Daney union cvmx_l2c_bst0 { 9754293ec3SDavid Daney uint64_t u64; 9854293ec3SDavid Daney struct cvmx_l2c_bst0_s { 9954293ec3SDavid Daney uint64_t reserved_24_63:40; 10054293ec3SDavid Daney uint64_t dtbnk:1; 10154293ec3SDavid Daney uint64_t wlb_msk:4; 10254293ec3SDavid Daney uint64_t dtcnt:13; 10354293ec3SDavid Daney uint64_t dt:1; 10454293ec3SDavid Daney uint64_t stin_msk:1; 10554293ec3SDavid Daney uint64_t wlb_dat:4; 10654293ec3SDavid Daney } s; 10754293ec3SDavid Daney struct cvmx_l2c_bst0_cn30xx { 10854293ec3SDavid Daney uint64_t reserved_23_63:41; 10954293ec3SDavid Daney uint64_t wlb_msk:4; 11054293ec3SDavid Daney uint64_t reserved_15_18:4; 11154293ec3SDavid Daney uint64_t dtcnt:9; 11254293ec3SDavid Daney uint64_t dt:1; 11354293ec3SDavid Daney uint64_t reserved_4_4:1; 11454293ec3SDavid Daney uint64_t wlb_dat:4; 11554293ec3SDavid Daney } cn30xx; 11654293ec3SDavid Daney struct cvmx_l2c_bst0_cn31xx { 11754293ec3SDavid Daney uint64_t reserved_23_63:41; 11854293ec3SDavid Daney uint64_t wlb_msk:4; 11954293ec3SDavid Daney uint64_t reserved_16_18:3; 12054293ec3SDavid Daney uint64_t dtcnt:10; 12154293ec3SDavid Daney uint64_t dt:1; 12254293ec3SDavid Daney uint64_t stin_msk:1; 12354293ec3SDavid Daney uint64_t wlb_dat:4; 12454293ec3SDavid Daney } cn31xx; 12554293ec3SDavid Daney struct cvmx_l2c_bst0_cn38xx { 12654293ec3SDavid Daney uint64_t reserved_19_63:45; 12754293ec3SDavid Daney uint64_t dtcnt:13; 12854293ec3SDavid Daney uint64_t dt:1; 12954293ec3SDavid Daney uint64_t stin_msk:1; 13054293ec3SDavid Daney uint64_t wlb_dat:4; 13154293ec3SDavid Daney } cn38xx; 13254293ec3SDavid Daney struct cvmx_l2c_bst0_cn38xx cn38xxp2; 13354293ec3SDavid Daney struct cvmx_l2c_bst0_cn50xx { 13454293ec3SDavid Daney uint64_t reserved_24_63:40; 13554293ec3SDavid Daney uint64_t dtbnk:1; 13654293ec3SDavid Daney uint64_t wlb_msk:4; 13754293ec3SDavid Daney uint64_t reserved_16_18:3; 13854293ec3SDavid Daney uint64_t dtcnt:10; 13954293ec3SDavid Daney uint64_t dt:1; 14054293ec3SDavid Daney uint64_t stin_msk:1; 14154293ec3SDavid Daney uint64_t wlb_dat:4; 14254293ec3SDavid Daney } cn50xx; 14354293ec3SDavid Daney struct cvmx_l2c_bst0_cn50xx cn52xx; 14454293ec3SDavid Daney struct cvmx_l2c_bst0_cn50xx cn52xxp1; 14554293ec3SDavid Daney struct cvmx_l2c_bst0_s cn56xx; 14654293ec3SDavid Daney struct cvmx_l2c_bst0_s cn56xxp1; 14754293ec3SDavid Daney struct cvmx_l2c_bst0_s cn58xx; 14854293ec3SDavid Daney struct cvmx_l2c_bst0_s cn58xxp1; 14954293ec3SDavid Daney }; 15054293ec3SDavid Daney 15154293ec3SDavid Daney union cvmx_l2c_bst1 { 15254293ec3SDavid Daney uint64_t u64; 15354293ec3SDavid Daney struct cvmx_l2c_bst1_s { 15454293ec3SDavid Daney uint64_t reserved_9_63:55; 15554293ec3SDavid Daney uint64_t l2t:9; 15654293ec3SDavid Daney } s; 15754293ec3SDavid Daney struct cvmx_l2c_bst1_cn30xx { 15854293ec3SDavid Daney uint64_t reserved_16_63:48; 15954293ec3SDavid Daney uint64_t vwdf:4; 16054293ec3SDavid Daney uint64_t lrf:2; 16154293ec3SDavid Daney uint64_t vab_vwcf:1; 16254293ec3SDavid Daney uint64_t reserved_5_8:4; 16354293ec3SDavid Daney uint64_t l2t:5; 16454293ec3SDavid Daney } cn30xx; 16554293ec3SDavid Daney struct cvmx_l2c_bst1_cn30xx cn31xx; 16654293ec3SDavid Daney struct cvmx_l2c_bst1_cn38xx { 16754293ec3SDavid Daney uint64_t reserved_16_63:48; 16854293ec3SDavid Daney uint64_t vwdf:4; 16954293ec3SDavid Daney uint64_t lrf:2; 17054293ec3SDavid Daney uint64_t vab_vwcf:1; 17154293ec3SDavid Daney uint64_t l2t:9; 17254293ec3SDavid Daney } cn38xx; 17354293ec3SDavid Daney struct cvmx_l2c_bst1_cn38xx cn38xxp2; 17454293ec3SDavid Daney struct cvmx_l2c_bst1_cn38xx cn50xx; 17554293ec3SDavid Daney struct cvmx_l2c_bst1_cn52xx { 17654293ec3SDavid Daney uint64_t reserved_19_63:45; 17754293ec3SDavid Daney uint64_t plc2:1; 17854293ec3SDavid Daney uint64_t plc1:1; 17954293ec3SDavid Daney uint64_t plc0:1; 18054293ec3SDavid Daney uint64_t vwdf:4; 18154293ec3SDavid Daney uint64_t reserved_11_11:1; 18254293ec3SDavid Daney uint64_t ilc:1; 18354293ec3SDavid Daney uint64_t vab_vwcf:1; 18454293ec3SDavid Daney uint64_t l2t:9; 18554293ec3SDavid Daney } cn52xx; 18654293ec3SDavid Daney struct cvmx_l2c_bst1_cn52xx cn52xxp1; 18754293ec3SDavid Daney struct cvmx_l2c_bst1_cn56xx { 18854293ec3SDavid Daney uint64_t reserved_24_63:40; 18954293ec3SDavid Daney uint64_t plc2:1; 19054293ec3SDavid Daney uint64_t plc1:1; 19154293ec3SDavid Daney uint64_t plc0:1; 19254293ec3SDavid Daney uint64_t ilc:1; 19354293ec3SDavid Daney uint64_t vwdf1:4; 19454293ec3SDavid Daney uint64_t vwdf0:4; 19554293ec3SDavid Daney uint64_t vab_vwcf1:1; 19654293ec3SDavid Daney uint64_t reserved_10_10:1; 19754293ec3SDavid Daney uint64_t vab_vwcf0:1; 19854293ec3SDavid Daney uint64_t l2t:9; 19954293ec3SDavid Daney } cn56xx; 20054293ec3SDavid Daney struct cvmx_l2c_bst1_cn56xx cn56xxp1; 20154293ec3SDavid Daney struct cvmx_l2c_bst1_cn38xx cn58xx; 20254293ec3SDavid Daney struct cvmx_l2c_bst1_cn38xx cn58xxp1; 20354293ec3SDavid Daney }; 20454293ec3SDavid Daney 20554293ec3SDavid Daney union cvmx_l2c_bst2 { 20654293ec3SDavid Daney uint64_t u64; 20754293ec3SDavid Daney struct cvmx_l2c_bst2_s { 20854293ec3SDavid Daney uint64_t reserved_16_63:48; 20954293ec3SDavid Daney uint64_t mrb:4; 21054293ec3SDavid Daney uint64_t reserved_4_11:8; 21154293ec3SDavid Daney uint64_t ipcbst:1; 21254293ec3SDavid Daney uint64_t picbst:1; 21354293ec3SDavid Daney uint64_t xrdmsk:1; 21454293ec3SDavid Daney uint64_t xrddat:1; 21554293ec3SDavid Daney } s; 21654293ec3SDavid Daney struct cvmx_l2c_bst2_cn30xx { 21754293ec3SDavid Daney uint64_t reserved_16_63:48; 21854293ec3SDavid Daney uint64_t mrb:4; 21954293ec3SDavid Daney uint64_t rmdf:4; 22054293ec3SDavid Daney uint64_t reserved_4_7:4; 22154293ec3SDavid Daney uint64_t ipcbst:1; 22254293ec3SDavid Daney uint64_t reserved_2_2:1; 22354293ec3SDavid Daney uint64_t xrdmsk:1; 22454293ec3SDavid Daney uint64_t xrddat:1; 22554293ec3SDavid Daney } cn30xx; 22654293ec3SDavid Daney struct cvmx_l2c_bst2_cn30xx cn31xx; 22754293ec3SDavid Daney struct cvmx_l2c_bst2_cn38xx { 22854293ec3SDavid Daney uint64_t reserved_16_63:48; 22954293ec3SDavid Daney uint64_t mrb:4; 23054293ec3SDavid Daney uint64_t rmdf:4; 23154293ec3SDavid Daney uint64_t rhdf:4; 23254293ec3SDavid Daney uint64_t ipcbst:1; 23354293ec3SDavid Daney uint64_t picbst:1; 23454293ec3SDavid Daney uint64_t xrdmsk:1; 23554293ec3SDavid Daney uint64_t xrddat:1; 23654293ec3SDavid Daney } cn38xx; 23754293ec3SDavid Daney struct cvmx_l2c_bst2_cn38xx cn38xxp2; 23854293ec3SDavid Daney struct cvmx_l2c_bst2_cn30xx cn50xx; 23954293ec3SDavid Daney struct cvmx_l2c_bst2_cn30xx cn52xx; 24054293ec3SDavid Daney struct cvmx_l2c_bst2_cn30xx cn52xxp1; 24154293ec3SDavid Daney struct cvmx_l2c_bst2_cn56xx { 24254293ec3SDavid Daney uint64_t reserved_16_63:48; 24354293ec3SDavid Daney uint64_t mrb:4; 24454293ec3SDavid Daney uint64_t rmdb:4; 24554293ec3SDavid Daney uint64_t rhdb:4; 24654293ec3SDavid Daney uint64_t ipcbst:1; 24754293ec3SDavid Daney uint64_t picbst:1; 24854293ec3SDavid Daney uint64_t xrdmsk:1; 24954293ec3SDavid Daney uint64_t xrddat:1; 25054293ec3SDavid Daney } cn56xx; 25154293ec3SDavid Daney struct cvmx_l2c_bst2_cn56xx cn56xxp1; 25254293ec3SDavid Daney struct cvmx_l2c_bst2_cn56xx cn58xx; 25354293ec3SDavid Daney struct cvmx_l2c_bst2_cn56xx cn58xxp1; 25454293ec3SDavid Daney }; 25554293ec3SDavid Daney 25654293ec3SDavid Daney union cvmx_l2c_cfg { 25754293ec3SDavid Daney uint64_t u64; 25854293ec3SDavid Daney struct cvmx_l2c_cfg_s { 25954293ec3SDavid Daney uint64_t reserved_20_63:44; 26054293ec3SDavid Daney uint64_t bstrun:1; 26154293ec3SDavid Daney uint64_t lbist:1; 26254293ec3SDavid Daney uint64_t xor_bank:1; 26354293ec3SDavid Daney uint64_t dpres1:1; 26454293ec3SDavid Daney uint64_t dpres0:1; 26554293ec3SDavid Daney uint64_t dfill_dis:1; 26654293ec3SDavid Daney uint64_t fpexp:4; 26754293ec3SDavid Daney uint64_t fpempty:1; 26854293ec3SDavid Daney uint64_t fpen:1; 26954293ec3SDavid Daney uint64_t idxalias:1; 27054293ec3SDavid Daney uint64_t mwf_crd:4; 27154293ec3SDavid Daney uint64_t rsp_arb_mode:1; 27254293ec3SDavid Daney uint64_t rfb_arb_mode:1; 27354293ec3SDavid Daney uint64_t lrf_arb_mode:1; 27454293ec3SDavid Daney } s; 27554293ec3SDavid Daney struct cvmx_l2c_cfg_cn30xx { 27654293ec3SDavid Daney uint64_t reserved_14_63:50; 27754293ec3SDavid Daney uint64_t fpexp:4; 27854293ec3SDavid Daney uint64_t fpempty:1; 27954293ec3SDavid Daney uint64_t fpen:1; 28054293ec3SDavid Daney uint64_t idxalias:1; 28154293ec3SDavid Daney uint64_t mwf_crd:4; 28254293ec3SDavid Daney uint64_t rsp_arb_mode:1; 28354293ec3SDavid Daney uint64_t rfb_arb_mode:1; 28454293ec3SDavid Daney uint64_t lrf_arb_mode:1; 28554293ec3SDavid Daney } cn30xx; 28654293ec3SDavid Daney struct cvmx_l2c_cfg_cn30xx cn31xx; 28754293ec3SDavid Daney struct cvmx_l2c_cfg_cn30xx cn38xx; 28854293ec3SDavid Daney struct cvmx_l2c_cfg_cn30xx cn38xxp2; 28954293ec3SDavid Daney struct cvmx_l2c_cfg_cn50xx { 29054293ec3SDavid Daney uint64_t reserved_20_63:44; 29154293ec3SDavid Daney uint64_t bstrun:1; 29254293ec3SDavid Daney uint64_t lbist:1; 29354293ec3SDavid Daney uint64_t reserved_14_17:4; 29454293ec3SDavid Daney uint64_t fpexp:4; 29554293ec3SDavid Daney uint64_t fpempty:1; 29654293ec3SDavid Daney uint64_t fpen:1; 29754293ec3SDavid Daney uint64_t idxalias:1; 29854293ec3SDavid Daney uint64_t mwf_crd:4; 29954293ec3SDavid Daney uint64_t rsp_arb_mode:1; 30054293ec3SDavid Daney uint64_t rfb_arb_mode:1; 30154293ec3SDavid Daney uint64_t lrf_arb_mode:1; 30254293ec3SDavid Daney } cn50xx; 30354293ec3SDavid Daney struct cvmx_l2c_cfg_cn50xx cn52xx; 30454293ec3SDavid Daney struct cvmx_l2c_cfg_cn50xx cn52xxp1; 30554293ec3SDavid Daney struct cvmx_l2c_cfg_s cn56xx; 30654293ec3SDavid Daney struct cvmx_l2c_cfg_s cn56xxp1; 30754293ec3SDavid Daney struct cvmx_l2c_cfg_cn58xx { 30854293ec3SDavid Daney uint64_t reserved_20_63:44; 30954293ec3SDavid Daney uint64_t bstrun:1; 31054293ec3SDavid Daney uint64_t lbist:1; 31154293ec3SDavid Daney uint64_t reserved_15_17:3; 31254293ec3SDavid Daney uint64_t dfill_dis:1; 31354293ec3SDavid Daney uint64_t fpexp:4; 31454293ec3SDavid Daney uint64_t fpempty:1; 31554293ec3SDavid Daney uint64_t fpen:1; 31654293ec3SDavid Daney uint64_t idxalias:1; 31754293ec3SDavid Daney uint64_t mwf_crd:4; 31854293ec3SDavid Daney uint64_t rsp_arb_mode:1; 31954293ec3SDavid Daney uint64_t rfb_arb_mode:1; 32054293ec3SDavid Daney uint64_t lrf_arb_mode:1; 32154293ec3SDavid Daney } cn58xx; 32254293ec3SDavid Daney struct cvmx_l2c_cfg_cn58xxp1 { 32354293ec3SDavid Daney uint64_t reserved_15_63:49; 32454293ec3SDavid Daney uint64_t dfill_dis:1; 32554293ec3SDavid Daney uint64_t fpexp:4; 32654293ec3SDavid Daney uint64_t fpempty:1; 32754293ec3SDavid Daney uint64_t fpen:1; 32854293ec3SDavid Daney uint64_t idxalias:1; 32954293ec3SDavid Daney uint64_t mwf_crd:4; 33054293ec3SDavid Daney uint64_t rsp_arb_mode:1; 33154293ec3SDavid Daney uint64_t rfb_arb_mode:1; 33254293ec3SDavid Daney uint64_t lrf_arb_mode:1; 33354293ec3SDavid Daney } cn58xxp1; 33454293ec3SDavid Daney }; 33554293ec3SDavid Daney 33654293ec3SDavid Daney union cvmx_l2c_dbg { 33754293ec3SDavid Daney uint64_t u64; 33854293ec3SDavid Daney struct cvmx_l2c_dbg_s { 33954293ec3SDavid Daney uint64_t reserved_15_63:49; 34054293ec3SDavid Daney uint64_t lfb_enum:4; 34154293ec3SDavid Daney uint64_t lfb_dmp:1; 34254293ec3SDavid Daney uint64_t ppnum:4; 34354293ec3SDavid Daney uint64_t set:3; 34454293ec3SDavid Daney uint64_t finv:1; 34554293ec3SDavid Daney uint64_t l2d:1; 34654293ec3SDavid Daney uint64_t l2t:1; 34754293ec3SDavid Daney } s; 34854293ec3SDavid Daney struct cvmx_l2c_dbg_cn30xx { 34954293ec3SDavid Daney uint64_t reserved_13_63:51; 35054293ec3SDavid Daney uint64_t lfb_enum:2; 35154293ec3SDavid Daney uint64_t lfb_dmp:1; 35254293ec3SDavid Daney uint64_t reserved_5_9:5; 35354293ec3SDavid Daney uint64_t set:2; 35454293ec3SDavid Daney uint64_t finv:1; 35554293ec3SDavid Daney uint64_t l2d:1; 35654293ec3SDavid Daney uint64_t l2t:1; 35754293ec3SDavid Daney } cn30xx; 35854293ec3SDavid Daney struct cvmx_l2c_dbg_cn31xx { 35954293ec3SDavid Daney uint64_t reserved_14_63:50; 36054293ec3SDavid Daney uint64_t lfb_enum:3; 36154293ec3SDavid Daney uint64_t lfb_dmp:1; 36254293ec3SDavid Daney uint64_t reserved_7_9:3; 36354293ec3SDavid Daney uint64_t ppnum:1; 36454293ec3SDavid Daney uint64_t reserved_5_5:1; 36554293ec3SDavid Daney uint64_t set:2; 36654293ec3SDavid Daney uint64_t finv:1; 36754293ec3SDavid Daney uint64_t l2d:1; 36854293ec3SDavid Daney uint64_t l2t:1; 36954293ec3SDavid Daney } cn31xx; 37054293ec3SDavid Daney struct cvmx_l2c_dbg_s cn38xx; 37154293ec3SDavid Daney struct cvmx_l2c_dbg_s cn38xxp2; 37254293ec3SDavid Daney struct cvmx_l2c_dbg_cn50xx { 37354293ec3SDavid Daney uint64_t reserved_14_63:50; 37454293ec3SDavid Daney uint64_t lfb_enum:3; 37554293ec3SDavid Daney uint64_t lfb_dmp:1; 37654293ec3SDavid Daney uint64_t reserved_7_9:3; 37754293ec3SDavid Daney uint64_t ppnum:1; 37854293ec3SDavid Daney uint64_t set:3; 37954293ec3SDavid Daney uint64_t finv:1; 38054293ec3SDavid Daney uint64_t l2d:1; 38154293ec3SDavid Daney uint64_t l2t:1; 38254293ec3SDavid Daney } cn50xx; 38354293ec3SDavid Daney struct cvmx_l2c_dbg_cn52xx { 38454293ec3SDavid Daney uint64_t reserved_14_63:50; 38554293ec3SDavid Daney uint64_t lfb_enum:3; 38654293ec3SDavid Daney uint64_t lfb_dmp:1; 38754293ec3SDavid Daney uint64_t reserved_8_9:2; 38854293ec3SDavid Daney uint64_t ppnum:2; 38954293ec3SDavid Daney uint64_t set:3; 39054293ec3SDavid Daney uint64_t finv:1; 39154293ec3SDavid Daney uint64_t l2d:1; 39254293ec3SDavid Daney uint64_t l2t:1; 39354293ec3SDavid Daney } cn52xx; 39454293ec3SDavid Daney struct cvmx_l2c_dbg_cn52xx cn52xxp1; 39554293ec3SDavid Daney struct cvmx_l2c_dbg_s cn56xx; 39654293ec3SDavid Daney struct cvmx_l2c_dbg_s cn56xxp1; 39754293ec3SDavid Daney struct cvmx_l2c_dbg_s cn58xx; 39854293ec3SDavid Daney struct cvmx_l2c_dbg_s cn58xxp1; 39954293ec3SDavid Daney }; 40054293ec3SDavid Daney 40154293ec3SDavid Daney union cvmx_l2c_dut { 40254293ec3SDavid Daney uint64_t u64; 40354293ec3SDavid Daney struct cvmx_l2c_dut_s { 40454293ec3SDavid Daney uint64_t reserved_32_63:32; 40554293ec3SDavid Daney uint64_t dtena:1; 40654293ec3SDavid Daney uint64_t reserved_30_30:1; 40754293ec3SDavid Daney uint64_t dt_vld:1; 40854293ec3SDavid Daney uint64_t dt_tag:29; 40954293ec3SDavid Daney } s; 41054293ec3SDavid Daney struct cvmx_l2c_dut_s cn30xx; 41154293ec3SDavid Daney struct cvmx_l2c_dut_s cn31xx; 41254293ec3SDavid Daney struct cvmx_l2c_dut_s cn38xx; 41354293ec3SDavid Daney struct cvmx_l2c_dut_s cn38xxp2; 41454293ec3SDavid Daney struct cvmx_l2c_dut_s cn50xx; 41554293ec3SDavid Daney struct cvmx_l2c_dut_s cn52xx; 41654293ec3SDavid Daney struct cvmx_l2c_dut_s cn52xxp1; 41754293ec3SDavid Daney struct cvmx_l2c_dut_s cn56xx; 41854293ec3SDavid Daney struct cvmx_l2c_dut_s cn56xxp1; 41954293ec3SDavid Daney struct cvmx_l2c_dut_s cn58xx; 42054293ec3SDavid Daney struct cvmx_l2c_dut_s cn58xxp1; 42154293ec3SDavid Daney }; 42254293ec3SDavid Daney 42354293ec3SDavid Daney union cvmx_l2c_grpwrr0 { 42454293ec3SDavid Daney uint64_t u64; 42554293ec3SDavid Daney struct cvmx_l2c_grpwrr0_s { 42654293ec3SDavid Daney uint64_t plc1rmsk:32; 42754293ec3SDavid Daney uint64_t plc0rmsk:32; 42854293ec3SDavid Daney } s; 42954293ec3SDavid Daney struct cvmx_l2c_grpwrr0_s cn52xx; 43054293ec3SDavid Daney struct cvmx_l2c_grpwrr0_s cn52xxp1; 43154293ec3SDavid Daney struct cvmx_l2c_grpwrr0_s cn56xx; 43254293ec3SDavid Daney struct cvmx_l2c_grpwrr0_s cn56xxp1; 43354293ec3SDavid Daney }; 43454293ec3SDavid Daney 43554293ec3SDavid Daney union cvmx_l2c_grpwrr1 { 43654293ec3SDavid Daney uint64_t u64; 43754293ec3SDavid Daney struct cvmx_l2c_grpwrr1_s { 43854293ec3SDavid Daney uint64_t ilcrmsk:32; 43954293ec3SDavid Daney uint64_t plc2rmsk:32; 44054293ec3SDavid Daney } s; 44154293ec3SDavid Daney struct cvmx_l2c_grpwrr1_s cn52xx; 44254293ec3SDavid Daney struct cvmx_l2c_grpwrr1_s cn52xxp1; 44354293ec3SDavid Daney struct cvmx_l2c_grpwrr1_s cn56xx; 44454293ec3SDavid Daney struct cvmx_l2c_grpwrr1_s cn56xxp1; 44554293ec3SDavid Daney }; 44654293ec3SDavid Daney 44754293ec3SDavid Daney union cvmx_l2c_int_en { 44854293ec3SDavid Daney uint64_t u64; 44954293ec3SDavid Daney struct cvmx_l2c_int_en_s { 45054293ec3SDavid Daney uint64_t reserved_9_63:55; 45154293ec3SDavid Daney uint64_t lck2ena:1; 45254293ec3SDavid Daney uint64_t lckena:1; 45354293ec3SDavid Daney uint64_t l2ddeden:1; 45454293ec3SDavid Daney uint64_t l2dsecen:1; 45554293ec3SDavid Daney uint64_t l2tdeden:1; 45654293ec3SDavid Daney uint64_t l2tsecen:1; 45754293ec3SDavid Daney uint64_t oob3en:1; 45854293ec3SDavid Daney uint64_t oob2en:1; 45954293ec3SDavid Daney uint64_t oob1en:1; 46054293ec3SDavid Daney } s; 46154293ec3SDavid Daney struct cvmx_l2c_int_en_s cn52xx; 46254293ec3SDavid Daney struct cvmx_l2c_int_en_s cn52xxp1; 46354293ec3SDavid Daney struct cvmx_l2c_int_en_s cn56xx; 46454293ec3SDavid Daney struct cvmx_l2c_int_en_s cn56xxp1; 46554293ec3SDavid Daney }; 46654293ec3SDavid Daney 46754293ec3SDavid Daney union cvmx_l2c_int_stat { 46854293ec3SDavid Daney uint64_t u64; 46954293ec3SDavid Daney struct cvmx_l2c_int_stat_s { 47054293ec3SDavid Daney uint64_t reserved_9_63:55; 47154293ec3SDavid Daney uint64_t lck2:1; 47254293ec3SDavid Daney uint64_t lck:1; 47354293ec3SDavid Daney uint64_t l2dded:1; 47454293ec3SDavid Daney uint64_t l2dsec:1; 47554293ec3SDavid Daney uint64_t l2tded:1; 47654293ec3SDavid Daney uint64_t l2tsec:1; 47754293ec3SDavid Daney uint64_t oob3:1; 47854293ec3SDavid Daney uint64_t oob2:1; 47954293ec3SDavid Daney uint64_t oob1:1; 48054293ec3SDavid Daney } s; 48154293ec3SDavid Daney struct cvmx_l2c_int_stat_s cn52xx; 48254293ec3SDavid Daney struct cvmx_l2c_int_stat_s cn52xxp1; 48354293ec3SDavid Daney struct cvmx_l2c_int_stat_s cn56xx; 48454293ec3SDavid Daney struct cvmx_l2c_int_stat_s cn56xxp1; 48554293ec3SDavid Daney }; 48654293ec3SDavid Daney 48754293ec3SDavid Daney union cvmx_l2c_lckbase { 48854293ec3SDavid Daney uint64_t u64; 48954293ec3SDavid Daney struct cvmx_l2c_lckbase_s { 49054293ec3SDavid Daney uint64_t reserved_31_63:33; 49154293ec3SDavid Daney uint64_t lck_base:27; 49254293ec3SDavid Daney uint64_t reserved_1_3:3; 49354293ec3SDavid Daney uint64_t lck_ena:1; 49454293ec3SDavid Daney } s; 49554293ec3SDavid Daney struct cvmx_l2c_lckbase_s cn30xx; 49654293ec3SDavid Daney struct cvmx_l2c_lckbase_s cn31xx; 49754293ec3SDavid Daney struct cvmx_l2c_lckbase_s cn38xx; 49854293ec3SDavid Daney struct cvmx_l2c_lckbase_s cn38xxp2; 49954293ec3SDavid Daney struct cvmx_l2c_lckbase_s cn50xx; 50054293ec3SDavid Daney struct cvmx_l2c_lckbase_s cn52xx; 50154293ec3SDavid Daney struct cvmx_l2c_lckbase_s cn52xxp1; 50254293ec3SDavid Daney struct cvmx_l2c_lckbase_s cn56xx; 50354293ec3SDavid Daney struct cvmx_l2c_lckbase_s cn56xxp1; 50454293ec3SDavid Daney struct cvmx_l2c_lckbase_s cn58xx; 50554293ec3SDavid Daney struct cvmx_l2c_lckbase_s cn58xxp1; 50654293ec3SDavid Daney }; 50754293ec3SDavid Daney 50854293ec3SDavid Daney union cvmx_l2c_lckoff { 50954293ec3SDavid Daney uint64_t u64; 51054293ec3SDavid Daney struct cvmx_l2c_lckoff_s { 51154293ec3SDavid Daney uint64_t reserved_10_63:54; 51254293ec3SDavid Daney uint64_t lck_offset:10; 51354293ec3SDavid Daney } s; 51454293ec3SDavid Daney struct cvmx_l2c_lckoff_s cn30xx; 51554293ec3SDavid Daney struct cvmx_l2c_lckoff_s cn31xx; 51654293ec3SDavid Daney struct cvmx_l2c_lckoff_s cn38xx; 51754293ec3SDavid Daney struct cvmx_l2c_lckoff_s cn38xxp2; 51854293ec3SDavid Daney struct cvmx_l2c_lckoff_s cn50xx; 51954293ec3SDavid Daney struct cvmx_l2c_lckoff_s cn52xx; 52054293ec3SDavid Daney struct cvmx_l2c_lckoff_s cn52xxp1; 52154293ec3SDavid Daney struct cvmx_l2c_lckoff_s cn56xx; 52254293ec3SDavid Daney struct cvmx_l2c_lckoff_s cn56xxp1; 52354293ec3SDavid Daney struct cvmx_l2c_lckoff_s cn58xx; 52454293ec3SDavid Daney struct cvmx_l2c_lckoff_s cn58xxp1; 52554293ec3SDavid Daney }; 52654293ec3SDavid Daney 52754293ec3SDavid Daney union cvmx_l2c_lfb0 { 52854293ec3SDavid Daney uint64_t u64; 52954293ec3SDavid Daney struct cvmx_l2c_lfb0_s { 53054293ec3SDavid Daney uint64_t reserved_32_63:32; 53154293ec3SDavid Daney uint64_t stcpnd:1; 53254293ec3SDavid Daney uint64_t stpnd:1; 53354293ec3SDavid Daney uint64_t stinv:1; 53454293ec3SDavid Daney uint64_t stcfl:1; 53554293ec3SDavid Daney uint64_t vam:1; 53654293ec3SDavid Daney uint64_t inxt:4; 53754293ec3SDavid Daney uint64_t itl:1; 53854293ec3SDavid Daney uint64_t ihd:1; 53954293ec3SDavid Daney uint64_t set:3; 54054293ec3SDavid Daney uint64_t vabnum:4; 54154293ec3SDavid Daney uint64_t sid:9; 54254293ec3SDavid Daney uint64_t cmd:4; 54354293ec3SDavid Daney uint64_t vld:1; 54454293ec3SDavid Daney } s; 54554293ec3SDavid Daney struct cvmx_l2c_lfb0_cn30xx { 54654293ec3SDavid Daney uint64_t reserved_32_63:32; 54754293ec3SDavid Daney uint64_t stcpnd:1; 54854293ec3SDavid Daney uint64_t stpnd:1; 54954293ec3SDavid Daney uint64_t stinv:1; 55054293ec3SDavid Daney uint64_t stcfl:1; 55154293ec3SDavid Daney uint64_t vam:1; 55254293ec3SDavid Daney uint64_t reserved_25_26:2; 55354293ec3SDavid Daney uint64_t inxt:2; 55454293ec3SDavid Daney uint64_t itl:1; 55554293ec3SDavid Daney uint64_t ihd:1; 55654293ec3SDavid Daney uint64_t reserved_20_20:1; 55754293ec3SDavid Daney uint64_t set:2; 55854293ec3SDavid Daney uint64_t reserved_16_17:2; 55954293ec3SDavid Daney uint64_t vabnum:2; 56054293ec3SDavid Daney uint64_t sid:9; 56154293ec3SDavid Daney uint64_t cmd:4; 56254293ec3SDavid Daney uint64_t vld:1; 56354293ec3SDavid Daney } cn30xx; 56454293ec3SDavid Daney struct cvmx_l2c_lfb0_cn31xx { 56554293ec3SDavid Daney uint64_t reserved_32_63:32; 56654293ec3SDavid Daney uint64_t stcpnd:1; 56754293ec3SDavid Daney uint64_t stpnd:1; 56854293ec3SDavid Daney uint64_t stinv:1; 56954293ec3SDavid Daney uint64_t stcfl:1; 57054293ec3SDavid Daney uint64_t vam:1; 57154293ec3SDavid Daney uint64_t reserved_26_26:1; 57254293ec3SDavid Daney uint64_t inxt:3; 57354293ec3SDavid Daney uint64_t itl:1; 57454293ec3SDavid Daney uint64_t ihd:1; 57554293ec3SDavid Daney uint64_t reserved_20_20:1; 57654293ec3SDavid Daney uint64_t set:2; 57754293ec3SDavid Daney uint64_t reserved_17_17:1; 57854293ec3SDavid Daney uint64_t vabnum:3; 57954293ec3SDavid Daney uint64_t sid:9; 58054293ec3SDavid Daney uint64_t cmd:4; 58154293ec3SDavid Daney uint64_t vld:1; 58254293ec3SDavid Daney } cn31xx; 58354293ec3SDavid Daney struct cvmx_l2c_lfb0_s cn38xx; 58454293ec3SDavid Daney struct cvmx_l2c_lfb0_s cn38xxp2; 58554293ec3SDavid Daney struct cvmx_l2c_lfb0_cn50xx { 58654293ec3SDavid Daney uint64_t reserved_32_63:32; 58754293ec3SDavid Daney uint64_t stcpnd:1; 58854293ec3SDavid Daney uint64_t stpnd:1; 58954293ec3SDavid Daney uint64_t stinv:1; 59054293ec3SDavid Daney uint64_t stcfl:1; 59154293ec3SDavid Daney uint64_t vam:1; 59254293ec3SDavid Daney uint64_t reserved_26_26:1; 59354293ec3SDavid Daney uint64_t inxt:3; 59454293ec3SDavid Daney uint64_t itl:1; 59554293ec3SDavid Daney uint64_t ihd:1; 59654293ec3SDavid Daney uint64_t set:3; 59754293ec3SDavid Daney uint64_t reserved_17_17:1; 59854293ec3SDavid Daney uint64_t vabnum:3; 59954293ec3SDavid Daney uint64_t sid:9; 60054293ec3SDavid Daney uint64_t cmd:4; 60154293ec3SDavid Daney uint64_t vld:1; 60254293ec3SDavid Daney } cn50xx; 60354293ec3SDavid Daney struct cvmx_l2c_lfb0_cn50xx cn52xx; 60454293ec3SDavid Daney struct cvmx_l2c_lfb0_cn50xx cn52xxp1; 60554293ec3SDavid Daney struct cvmx_l2c_lfb0_s cn56xx; 60654293ec3SDavid Daney struct cvmx_l2c_lfb0_s cn56xxp1; 60754293ec3SDavid Daney struct cvmx_l2c_lfb0_s cn58xx; 60854293ec3SDavid Daney struct cvmx_l2c_lfb0_s cn58xxp1; 60954293ec3SDavid Daney }; 61054293ec3SDavid Daney 61154293ec3SDavid Daney union cvmx_l2c_lfb1 { 61254293ec3SDavid Daney uint64_t u64; 61354293ec3SDavid Daney struct cvmx_l2c_lfb1_s { 61454293ec3SDavid Daney uint64_t reserved_19_63:45; 61554293ec3SDavid Daney uint64_t dsgoing:1; 61654293ec3SDavid Daney uint64_t bid:2; 61754293ec3SDavid Daney uint64_t wtrsp:1; 61854293ec3SDavid Daney uint64_t wtdw:1; 61954293ec3SDavid Daney uint64_t wtdq:1; 62054293ec3SDavid Daney uint64_t wtwhp:1; 62154293ec3SDavid Daney uint64_t wtwhf:1; 62254293ec3SDavid Daney uint64_t wtwrm:1; 62354293ec3SDavid Daney uint64_t wtstm:1; 62454293ec3SDavid Daney uint64_t wtrda:1; 62554293ec3SDavid Daney uint64_t wtstdt:1; 62654293ec3SDavid Daney uint64_t wtstrsp:1; 62754293ec3SDavid Daney uint64_t wtstrsc:1; 62854293ec3SDavid Daney uint64_t wtvtm:1; 62954293ec3SDavid Daney uint64_t wtmfl:1; 63054293ec3SDavid Daney uint64_t prbrty:1; 63154293ec3SDavid Daney uint64_t wtprb:1; 63254293ec3SDavid Daney uint64_t vld:1; 63354293ec3SDavid Daney } s; 63454293ec3SDavid Daney struct cvmx_l2c_lfb1_s cn30xx; 63554293ec3SDavid Daney struct cvmx_l2c_lfb1_s cn31xx; 63654293ec3SDavid Daney struct cvmx_l2c_lfb1_s cn38xx; 63754293ec3SDavid Daney struct cvmx_l2c_lfb1_s cn38xxp2; 63854293ec3SDavid Daney struct cvmx_l2c_lfb1_s cn50xx; 63954293ec3SDavid Daney struct cvmx_l2c_lfb1_s cn52xx; 64054293ec3SDavid Daney struct cvmx_l2c_lfb1_s cn52xxp1; 64154293ec3SDavid Daney struct cvmx_l2c_lfb1_s cn56xx; 64254293ec3SDavid Daney struct cvmx_l2c_lfb1_s cn56xxp1; 64354293ec3SDavid Daney struct cvmx_l2c_lfb1_s cn58xx; 64454293ec3SDavid Daney struct cvmx_l2c_lfb1_s cn58xxp1; 64554293ec3SDavid Daney }; 64654293ec3SDavid Daney 64754293ec3SDavid Daney union cvmx_l2c_lfb2 { 64854293ec3SDavid Daney uint64_t u64; 64954293ec3SDavid Daney struct cvmx_l2c_lfb2_s { 65054293ec3SDavid Daney uint64_t reserved_0_63:64; 65154293ec3SDavid Daney } s; 65254293ec3SDavid Daney struct cvmx_l2c_lfb2_cn30xx { 65354293ec3SDavid Daney uint64_t reserved_27_63:37; 65454293ec3SDavid Daney uint64_t lfb_tag:19; 65554293ec3SDavid Daney uint64_t lfb_idx:8; 65654293ec3SDavid Daney } cn30xx; 65754293ec3SDavid Daney struct cvmx_l2c_lfb2_cn31xx { 65854293ec3SDavid Daney uint64_t reserved_27_63:37; 65954293ec3SDavid Daney uint64_t lfb_tag:17; 66054293ec3SDavid Daney uint64_t lfb_idx:10; 66154293ec3SDavid Daney } cn31xx; 66254293ec3SDavid Daney struct cvmx_l2c_lfb2_cn31xx cn38xx; 66354293ec3SDavid Daney struct cvmx_l2c_lfb2_cn31xx cn38xxp2; 66454293ec3SDavid Daney struct cvmx_l2c_lfb2_cn50xx { 66554293ec3SDavid Daney uint64_t reserved_27_63:37; 66654293ec3SDavid Daney uint64_t lfb_tag:20; 66754293ec3SDavid Daney uint64_t lfb_idx:7; 66854293ec3SDavid Daney } cn50xx; 66954293ec3SDavid Daney struct cvmx_l2c_lfb2_cn52xx { 67054293ec3SDavid Daney uint64_t reserved_27_63:37; 67154293ec3SDavid Daney uint64_t lfb_tag:18; 67254293ec3SDavid Daney uint64_t lfb_idx:9; 67354293ec3SDavid Daney } cn52xx; 67454293ec3SDavid Daney struct cvmx_l2c_lfb2_cn52xx cn52xxp1; 67554293ec3SDavid Daney struct cvmx_l2c_lfb2_cn56xx { 67654293ec3SDavid Daney uint64_t reserved_27_63:37; 67754293ec3SDavid Daney uint64_t lfb_tag:16; 67854293ec3SDavid Daney uint64_t lfb_idx:11; 67954293ec3SDavid Daney } cn56xx; 68054293ec3SDavid Daney struct cvmx_l2c_lfb2_cn56xx cn56xxp1; 68154293ec3SDavid Daney struct cvmx_l2c_lfb2_cn56xx cn58xx; 68254293ec3SDavid Daney struct cvmx_l2c_lfb2_cn56xx cn58xxp1; 68354293ec3SDavid Daney }; 68454293ec3SDavid Daney 68554293ec3SDavid Daney union cvmx_l2c_lfb3 { 68654293ec3SDavid Daney uint64_t u64; 68754293ec3SDavid Daney struct cvmx_l2c_lfb3_s { 68854293ec3SDavid Daney uint64_t reserved_5_63:59; 68954293ec3SDavid Daney uint64_t stpartdis:1; 69054293ec3SDavid Daney uint64_t lfb_hwm:4; 69154293ec3SDavid Daney } s; 69254293ec3SDavid Daney struct cvmx_l2c_lfb3_cn30xx { 69354293ec3SDavid Daney uint64_t reserved_5_63:59; 69454293ec3SDavid Daney uint64_t stpartdis:1; 69554293ec3SDavid Daney uint64_t reserved_2_3:2; 69654293ec3SDavid Daney uint64_t lfb_hwm:2; 69754293ec3SDavid Daney } cn30xx; 69854293ec3SDavid Daney struct cvmx_l2c_lfb3_cn31xx { 69954293ec3SDavid Daney uint64_t reserved_5_63:59; 70054293ec3SDavid Daney uint64_t stpartdis:1; 70154293ec3SDavid Daney uint64_t reserved_3_3:1; 70254293ec3SDavid Daney uint64_t lfb_hwm:3; 70354293ec3SDavid Daney } cn31xx; 70454293ec3SDavid Daney struct cvmx_l2c_lfb3_s cn38xx; 70554293ec3SDavid Daney struct cvmx_l2c_lfb3_s cn38xxp2; 70654293ec3SDavid Daney struct cvmx_l2c_lfb3_cn31xx cn50xx; 70754293ec3SDavid Daney struct cvmx_l2c_lfb3_cn31xx cn52xx; 70854293ec3SDavid Daney struct cvmx_l2c_lfb3_cn31xx cn52xxp1; 70954293ec3SDavid Daney struct cvmx_l2c_lfb3_s cn56xx; 71054293ec3SDavid Daney struct cvmx_l2c_lfb3_s cn56xxp1; 71154293ec3SDavid Daney struct cvmx_l2c_lfb3_s cn58xx; 71254293ec3SDavid Daney struct cvmx_l2c_lfb3_s cn58xxp1; 71354293ec3SDavid Daney }; 71454293ec3SDavid Daney 71554293ec3SDavid Daney union cvmx_l2c_oob { 71654293ec3SDavid Daney uint64_t u64; 71754293ec3SDavid Daney struct cvmx_l2c_oob_s { 71854293ec3SDavid Daney uint64_t reserved_2_63:62; 71954293ec3SDavid Daney uint64_t dwbena:1; 72054293ec3SDavid Daney uint64_t stena:1; 72154293ec3SDavid Daney } s; 72254293ec3SDavid Daney struct cvmx_l2c_oob_s cn52xx; 72354293ec3SDavid Daney struct cvmx_l2c_oob_s cn52xxp1; 72454293ec3SDavid Daney struct cvmx_l2c_oob_s cn56xx; 72554293ec3SDavid Daney struct cvmx_l2c_oob_s cn56xxp1; 72654293ec3SDavid Daney }; 72754293ec3SDavid Daney 72854293ec3SDavid Daney union cvmx_l2c_oob1 { 72954293ec3SDavid Daney uint64_t u64; 73054293ec3SDavid Daney struct cvmx_l2c_oob1_s { 73154293ec3SDavid Daney uint64_t fadr:27; 73254293ec3SDavid Daney uint64_t fsrc:1; 73354293ec3SDavid Daney uint64_t reserved_34_35:2; 73454293ec3SDavid Daney uint64_t sadr:14; 73554293ec3SDavid Daney uint64_t reserved_14_19:6; 73654293ec3SDavid Daney uint64_t size:14; 73754293ec3SDavid Daney } s; 73854293ec3SDavid Daney struct cvmx_l2c_oob1_s cn52xx; 73954293ec3SDavid Daney struct cvmx_l2c_oob1_s cn52xxp1; 74054293ec3SDavid Daney struct cvmx_l2c_oob1_s cn56xx; 74154293ec3SDavid Daney struct cvmx_l2c_oob1_s cn56xxp1; 74254293ec3SDavid Daney }; 74354293ec3SDavid Daney 74454293ec3SDavid Daney union cvmx_l2c_oob2 { 74554293ec3SDavid Daney uint64_t u64; 74654293ec3SDavid Daney struct cvmx_l2c_oob2_s { 74754293ec3SDavid Daney uint64_t fadr:27; 74854293ec3SDavid Daney uint64_t fsrc:1; 74954293ec3SDavid Daney uint64_t reserved_34_35:2; 75054293ec3SDavid Daney uint64_t sadr:14; 75154293ec3SDavid Daney uint64_t reserved_14_19:6; 75254293ec3SDavid Daney uint64_t size:14; 75354293ec3SDavid Daney } s; 75454293ec3SDavid Daney struct cvmx_l2c_oob2_s cn52xx; 75554293ec3SDavid Daney struct cvmx_l2c_oob2_s cn52xxp1; 75654293ec3SDavid Daney struct cvmx_l2c_oob2_s cn56xx; 75754293ec3SDavid Daney struct cvmx_l2c_oob2_s cn56xxp1; 75854293ec3SDavid Daney }; 75954293ec3SDavid Daney 76054293ec3SDavid Daney union cvmx_l2c_oob3 { 76154293ec3SDavid Daney uint64_t u64; 76254293ec3SDavid Daney struct cvmx_l2c_oob3_s { 76354293ec3SDavid Daney uint64_t fadr:27; 76454293ec3SDavid Daney uint64_t fsrc:1; 76554293ec3SDavid Daney uint64_t reserved_34_35:2; 76654293ec3SDavid Daney uint64_t sadr:14; 76754293ec3SDavid Daney uint64_t reserved_14_19:6; 76854293ec3SDavid Daney uint64_t size:14; 76954293ec3SDavid Daney } s; 77054293ec3SDavid Daney struct cvmx_l2c_oob3_s cn52xx; 77154293ec3SDavid Daney struct cvmx_l2c_oob3_s cn52xxp1; 77254293ec3SDavid Daney struct cvmx_l2c_oob3_s cn56xx; 77354293ec3SDavid Daney struct cvmx_l2c_oob3_s cn56xxp1; 77454293ec3SDavid Daney }; 77554293ec3SDavid Daney 77654293ec3SDavid Daney union cvmx_l2c_pfcx { 77754293ec3SDavid Daney uint64_t u64; 77854293ec3SDavid Daney struct cvmx_l2c_pfcx_s { 77954293ec3SDavid Daney uint64_t reserved_36_63:28; 78054293ec3SDavid Daney uint64_t pfcnt0:36; 78154293ec3SDavid Daney } s; 78254293ec3SDavid Daney struct cvmx_l2c_pfcx_s cn30xx; 78354293ec3SDavid Daney struct cvmx_l2c_pfcx_s cn31xx; 78454293ec3SDavid Daney struct cvmx_l2c_pfcx_s cn38xx; 78554293ec3SDavid Daney struct cvmx_l2c_pfcx_s cn38xxp2; 78654293ec3SDavid Daney struct cvmx_l2c_pfcx_s cn50xx; 78754293ec3SDavid Daney struct cvmx_l2c_pfcx_s cn52xx; 78854293ec3SDavid Daney struct cvmx_l2c_pfcx_s cn52xxp1; 78954293ec3SDavid Daney struct cvmx_l2c_pfcx_s cn56xx; 79054293ec3SDavid Daney struct cvmx_l2c_pfcx_s cn56xxp1; 79154293ec3SDavid Daney struct cvmx_l2c_pfcx_s cn58xx; 79254293ec3SDavid Daney struct cvmx_l2c_pfcx_s cn58xxp1; 79354293ec3SDavid Daney }; 79454293ec3SDavid Daney 79554293ec3SDavid Daney union cvmx_l2c_pfctl { 79654293ec3SDavid Daney uint64_t u64; 79754293ec3SDavid Daney struct cvmx_l2c_pfctl_s { 79854293ec3SDavid Daney uint64_t reserved_36_63:28; 79954293ec3SDavid Daney uint64_t cnt3rdclr:1; 80054293ec3SDavid Daney uint64_t cnt2rdclr:1; 80154293ec3SDavid Daney uint64_t cnt1rdclr:1; 80254293ec3SDavid Daney uint64_t cnt0rdclr:1; 80354293ec3SDavid Daney uint64_t cnt3ena:1; 80454293ec3SDavid Daney uint64_t cnt3clr:1; 80554293ec3SDavid Daney uint64_t cnt3sel:6; 80654293ec3SDavid Daney uint64_t cnt2ena:1; 80754293ec3SDavid Daney uint64_t cnt2clr:1; 80854293ec3SDavid Daney uint64_t cnt2sel:6; 80954293ec3SDavid Daney uint64_t cnt1ena:1; 81054293ec3SDavid Daney uint64_t cnt1clr:1; 81154293ec3SDavid Daney uint64_t cnt1sel:6; 81254293ec3SDavid Daney uint64_t cnt0ena:1; 81354293ec3SDavid Daney uint64_t cnt0clr:1; 81454293ec3SDavid Daney uint64_t cnt0sel:6; 81554293ec3SDavid Daney } s; 81654293ec3SDavid Daney struct cvmx_l2c_pfctl_s cn30xx; 81754293ec3SDavid Daney struct cvmx_l2c_pfctl_s cn31xx; 81854293ec3SDavid Daney struct cvmx_l2c_pfctl_s cn38xx; 81954293ec3SDavid Daney struct cvmx_l2c_pfctl_s cn38xxp2; 82054293ec3SDavid Daney struct cvmx_l2c_pfctl_s cn50xx; 82154293ec3SDavid Daney struct cvmx_l2c_pfctl_s cn52xx; 82254293ec3SDavid Daney struct cvmx_l2c_pfctl_s cn52xxp1; 82354293ec3SDavid Daney struct cvmx_l2c_pfctl_s cn56xx; 82454293ec3SDavid Daney struct cvmx_l2c_pfctl_s cn56xxp1; 82554293ec3SDavid Daney struct cvmx_l2c_pfctl_s cn58xx; 82654293ec3SDavid Daney struct cvmx_l2c_pfctl_s cn58xxp1; 82754293ec3SDavid Daney }; 82854293ec3SDavid Daney 82954293ec3SDavid Daney union cvmx_l2c_ppgrp { 83054293ec3SDavid Daney uint64_t u64; 83154293ec3SDavid Daney struct cvmx_l2c_ppgrp_s { 83254293ec3SDavid Daney uint64_t reserved_24_63:40; 83354293ec3SDavid Daney uint64_t pp11grp:2; 83454293ec3SDavid Daney uint64_t pp10grp:2; 83554293ec3SDavid Daney uint64_t pp9grp:2; 83654293ec3SDavid Daney uint64_t pp8grp:2; 83754293ec3SDavid Daney uint64_t pp7grp:2; 83854293ec3SDavid Daney uint64_t pp6grp:2; 83954293ec3SDavid Daney uint64_t pp5grp:2; 84054293ec3SDavid Daney uint64_t pp4grp:2; 84154293ec3SDavid Daney uint64_t pp3grp:2; 84254293ec3SDavid Daney uint64_t pp2grp:2; 84354293ec3SDavid Daney uint64_t pp1grp:2; 84454293ec3SDavid Daney uint64_t pp0grp:2; 84554293ec3SDavid Daney } s; 84654293ec3SDavid Daney struct cvmx_l2c_ppgrp_cn52xx { 84754293ec3SDavid Daney uint64_t reserved_8_63:56; 84854293ec3SDavid Daney uint64_t pp3grp:2; 84954293ec3SDavid Daney uint64_t pp2grp:2; 85054293ec3SDavid Daney uint64_t pp1grp:2; 85154293ec3SDavid Daney uint64_t pp0grp:2; 85254293ec3SDavid Daney } cn52xx; 85354293ec3SDavid Daney struct cvmx_l2c_ppgrp_cn52xx cn52xxp1; 85454293ec3SDavid Daney struct cvmx_l2c_ppgrp_s cn56xx; 85554293ec3SDavid Daney struct cvmx_l2c_ppgrp_s cn56xxp1; 85654293ec3SDavid Daney }; 85754293ec3SDavid Daney 85854293ec3SDavid Daney union cvmx_l2c_spar0 { 85954293ec3SDavid Daney uint64_t u64; 86054293ec3SDavid Daney struct cvmx_l2c_spar0_s { 86154293ec3SDavid Daney uint64_t reserved_32_63:32; 86254293ec3SDavid Daney uint64_t umsk3:8; 86354293ec3SDavid Daney uint64_t umsk2:8; 86454293ec3SDavid Daney uint64_t umsk1:8; 86554293ec3SDavid Daney uint64_t umsk0:8; 86654293ec3SDavid Daney } s; 86754293ec3SDavid Daney struct cvmx_l2c_spar0_cn30xx { 86854293ec3SDavid Daney uint64_t reserved_4_63:60; 86954293ec3SDavid Daney uint64_t umsk0:4; 87054293ec3SDavid Daney } cn30xx; 87154293ec3SDavid Daney struct cvmx_l2c_spar0_cn31xx { 87254293ec3SDavid Daney uint64_t reserved_12_63:52; 87354293ec3SDavid Daney uint64_t umsk1:4; 87454293ec3SDavid Daney uint64_t reserved_4_7:4; 87554293ec3SDavid Daney uint64_t umsk0:4; 87654293ec3SDavid Daney } cn31xx; 87754293ec3SDavid Daney struct cvmx_l2c_spar0_s cn38xx; 87854293ec3SDavid Daney struct cvmx_l2c_spar0_s cn38xxp2; 87954293ec3SDavid Daney struct cvmx_l2c_spar0_cn50xx { 88054293ec3SDavid Daney uint64_t reserved_16_63:48; 88154293ec3SDavid Daney uint64_t umsk1:8; 88254293ec3SDavid Daney uint64_t umsk0:8; 88354293ec3SDavid Daney } cn50xx; 88454293ec3SDavid Daney struct cvmx_l2c_spar0_s cn52xx; 88554293ec3SDavid Daney struct cvmx_l2c_spar0_s cn52xxp1; 88654293ec3SDavid Daney struct cvmx_l2c_spar0_s cn56xx; 88754293ec3SDavid Daney struct cvmx_l2c_spar0_s cn56xxp1; 88854293ec3SDavid Daney struct cvmx_l2c_spar0_s cn58xx; 88954293ec3SDavid Daney struct cvmx_l2c_spar0_s cn58xxp1; 89054293ec3SDavid Daney }; 89154293ec3SDavid Daney 89254293ec3SDavid Daney union cvmx_l2c_spar1 { 89354293ec3SDavid Daney uint64_t u64; 89454293ec3SDavid Daney struct cvmx_l2c_spar1_s { 89554293ec3SDavid Daney uint64_t reserved_32_63:32; 89654293ec3SDavid Daney uint64_t umsk7:8; 89754293ec3SDavid Daney uint64_t umsk6:8; 89854293ec3SDavid Daney uint64_t umsk5:8; 89954293ec3SDavid Daney uint64_t umsk4:8; 90054293ec3SDavid Daney } s; 90154293ec3SDavid Daney struct cvmx_l2c_spar1_s cn38xx; 90254293ec3SDavid Daney struct cvmx_l2c_spar1_s cn38xxp2; 90354293ec3SDavid Daney struct cvmx_l2c_spar1_s cn56xx; 90454293ec3SDavid Daney struct cvmx_l2c_spar1_s cn56xxp1; 90554293ec3SDavid Daney struct cvmx_l2c_spar1_s cn58xx; 90654293ec3SDavid Daney struct cvmx_l2c_spar1_s cn58xxp1; 90754293ec3SDavid Daney }; 90854293ec3SDavid Daney 90954293ec3SDavid Daney union cvmx_l2c_spar2 { 91054293ec3SDavid Daney uint64_t u64; 91154293ec3SDavid Daney struct cvmx_l2c_spar2_s { 91254293ec3SDavid Daney uint64_t reserved_32_63:32; 91354293ec3SDavid Daney uint64_t umsk11:8; 91454293ec3SDavid Daney uint64_t umsk10:8; 91554293ec3SDavid Daney uint64_t umsk9:8; 91654293ec3SDavid Daney uint64_t umsk8:8; 91754293ec3SDavid Daney } s; 91854293ec3SDavid Daney struct cvmx_l2c_spar2_s cn38xx; 91954293ec3SDavid Daney struct cvmx_l2c_spar2_s cn38xxp2; 92054293ec3SDavid Daney struct cvmx_l2c_spar2_s cn56xx; 92154293ec3SDavid Daney struct cvmx_l2c_spar2_s cn56xxp1; 92254293ec3SDavid Daney struct cvmx_l2c_spar2_s cn58xx; 92354293ec3SDavid Daney struct cvmx_l2c_spar2_s cn58xxp1; 92454293ec3SDavid Daney }; 92554293ec3SDavid Daney 92654293ec3SDavid Daney union cvmx_l2c_spar3 { 92754293ec3SDavid Daney uint64_t u64; 92854293ec3SDavid Daney struct cvmx_l2c_spar3_s { 92954293ec3SDavid Daney uint64_t reserved_32_63:32; 93054293ec3SDavid Daney uint64_t umsk15:8; 93154293ec3SDavid Daney uint64_t umsk14:8; 93254293ec3SDavid Daney uint64_t umsk13:8; 93354293ec3SDavid Daney uint64_t umsk12:8; 93454293ec3SDavid Daney } s; 93554293ec3SDavid Daney struct cvmx_l2c_spar3_s cn38xx; 93654293ec3SDavid Daney struct cvmx_l2c_spar3_s cn38xxp2; 93754293ec3SDavid Daney struct cvmx_l2c_spar3_s cn58xx; 93854293ec3SDavid Daney struct cvmx_l2c_spar3_s cn58xxp1; 93954293ec3SDavid Daney }; 94054293ec3SDavid Daney 94154293ec3SDavid Daney union cvmx_l2c_spar4 { 94254293ec3SDavid Daney uint64_t u64; 94354293ec3SDavid Daney struct cvmx_l2c_spar4_s { 94454293ec3SDavid Daney uint64_t reserved_8_63:56; 94554293ec3SDavid Daney uint64_t umskiob:8; 94654293ec3SDavid Daney } s; 94754293ec3SDavid Daney struct cvmx_l2c_spar4_cn30xx { 94854293ec3SDavid Daney uint64_t reserved_4_63:60; 94954293ec3SDavid Daney uint64_t umskiob:4; 95054293ec3SDavid Daney } cn30xx; 95154293ec3SDavid Daney struct cvmx_l2c_spar4_cn30xx cn31xx; 95254293ec3SDavid Daney struct cvmx_l2c_spar4_s cn38xx; 95354293ec3SDavid Daney struct cvmx_l2c_spar4_s cn38xxp2; 95454293ec3SDavid Daney struct cvmx_l2c_spar4_s cn50xx; 95554293ec3SDavid Daney struct cvmx_l2c_spar4_s cn52xx; 95654293ec3SDavid Daney struct cvmx_l2c_spar4_s cn52xxp1; 95754293ec3SDavid Daney struct cvmx_l2c_spar4_s cn56xx; 95854293ec3SDavid Daney struct cvmx_l2c_spar4_s cn56xxp1; 95954293ec3SDavid Daney struct cvmx_l2c_spar4_s cn58xx; 96054293ec3SDavid Daney struct cvmx_l2c_spar4_s cn58xxp1; 96154293ec3SDavid Daney }; 96254293ec3SDavid Daney 96354293ec3SDavid Daney #endif 964