1412394d1SDavid Daney /***********************license start*************** 2412394d1SDavid Daney * Author: Cavium Networks 3412394d1SDavid Daney * 4412394d1SDavid Daney * Contact: support@caviumnetworks.com 5412394d1SDavid Daney * This file is part of the OCTEON SDK 6412394d1SDavid Daney * 7c5aa59e8SDavid Daney * Copyright (c) 2003-2012 Cavium Networks 8412394d1SDavid Daney * 9412394d1SDavid Daney * This file is free software; you can redistribute it and/or modify 10412394d1SDavid Daney * it under the terms of the GNU General Public License, Version 2, as 11412394d1SDavid Daney * published by the Free Software Foundation. 12412394d1SDavid Daney * 13412394d1SDavid Daney * This file is distributed in the hope that it will be useful, but 14412394d1SDavid Daney * AS-IS and WITHOUT ANY WARRANTY; without even the implied warranty 15412394d1SDavid Daney * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE, TITLE, or 16412394d1SDavid Daney * NONINFRINGEMENT. See the GNU General Public License for more 17412394d1SDavid Daney * details. 18412394d1SDavid Daney * 19412394d1SDavid Daney * You should have received a copy of the GNU General Public License 20412394d1SDavid Daney * along with this file; if not, write to the Free Software 21412394d1SDavid Daney * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 22412394d1SDavid Daney * or visit http://www.gnu.org/licenses/. 23412394d1SDavid Daney * 24412394d1SDavid Daney * This file may also be available under a different license from Cavium. 25412394d1SDavid Daney * Contact Cavium Networks for more information 26412394d1SDavid Daney ***********************license end**************************************/ 27412394d1SDavid Daney 28412394d1SDavid Daney #ifndef __CVMX_PEMX_DEFS_H__ 29412394d1SDavid Daney #define __CVMX_PEMX_DEFS_H__ 30412394d1SDavid Daney 31412394d1SDavid Daney #define CVMX_PEMX_BAR1_INDEXX(offset, block_id) (CVMX_ADD_IO_SEG(0x00011800C00000A8ull) + (((offset) & 15) + ((block_id) & 1) * 0x200000ull) * 8) 32412394d1SDavid Daney #define CVMX_PEMX_BAR2_MASK(block_id) (CVMX_ADD_IO_SEG(0x00011800C0000130ull) + ((block_id) & 1) * 0x1000000ull) 33412394d1SDavid Daney #define CVMX_PEMX_BAR_CTL(block_id) (CVMX_ADD_IO_SEG(0x00011800C0000128ull) + ((block_id) & 1) * 0x1000000ull) 34412394d1SDavid Daney #define CVMX_PEMX_BIST_STATUS(block_id) (CVMX_ADD_IO_SEG(0x00011800C0000018ull) + ((block_id) & 1) * 0x1000000ull) 35412394d1SDavid Daney #define CVMX_PEMX_BIST_STATUS2(block_id) (CVMX_ADD_IO_SEG(0x00011800C0000420ull) + ((block_id) & 1) * 0x1000000ull) 36412394d1SDavid Daney #define CVMX_PEMX_CFG_RD(block_id) (CVMX_ADD_IO_SEG(0x00011800C0000030ull) + ((block_id) & 1) * 0x1000000ull) 37412394d1SDavid Daney #define CVMX_PEMX_CFG_WR(block_id) (CVMX_ADD_IO_SEG(0x00011800C0000028ull) + ((block_id) & 1) * 0x1000000ull) 38412394d1SDavid Daney #define CVMX_PEMX_CPL_LUT_VALID(block_id) (CVMX_ADD_IO_SEG(0x00011800C0000098ull) + ((block_id) & 1) * 0x1000000ull) 39412394d1SDavid Daney #define CVMX_PEMX_CTL_STATUS(block_id) (CVMX_ADD_IO_SEG(0x00011800C0000000ull) + ((block_id) & 1) * 0x1000000ull) 40412394d1SDavid Daney #define CVMX_PEMX_DBG_INFO(block_id) (CVMX_ADD_IO_SEG(0x00011800C0000008ull) + ((block_id) & 1) * 0x1000000ull) 41412394d1SDavid Daney #define CVMX_PEMX_DBG_INFO_EN(block_id) (CVMX_ADD_IO_SEG(0x00011800C00000A0ull) + ((block_id) & 1) * 0x1000000ull) 42412394d1SDavid Daney #define CVMX_PEMX_DIAG_STATUS(block_id) (CVMX_ADD_IO_SEG(0x00011800C0000020ull) + ((block_id) & 1) * 0x1000000ull) 43412394d1SDavid Daney #define CVMX_PEMX_INB_READ_CREDITS(block_id) (CVMX_ADD_IO_SEG(0x00011800C0000138ull) + ((block_id) & 1) * 0x1000000ull) 44412394d1SDavid Daney #define CVMX_PEMX_INT_ENB(block_id) (CVMX_ADD_IO_SEG(0x00011800C0000410ull) + ((block_id) & 1) * 0x1000000ull) 45412394d1SDavid Daney #define CVMX_PEMX_INT_ENB_INT(block_id) (CVMX_ADD_IO_SEG(0x00011800C0000418ull) + ((block_id) & 1) * 0x1000000ull) 46412394d1SDavid Daney #define CVMX_PEMX_INT_SUM(block_id) (CVMX_ADD_IO_SEG(0x00011800C0000408ull) + ((block_id) & 1) * 0x1000000ull) 47412394d1SDavid Daney #define CVMX_PEMX_P2N_BAR0_START(block_id) (CVMX_ADD_IO_SEG(0x00011800C0000080ull) + ((block_id) & 1) * 0x1000000ull) 48412394d1SDavid Daney #define CVMX_PEMX_P2N_BAR1_START(block_id) (CVMX_ADD_IO_SEG(0x00011800C0000088ull) + ((block_id) & 1) * 0x1000000ull) 49412394d1SDavid Daney #define CVMX_PEMX_P2N_BAR2_START(block_id) (CVMX_ADD_IO_SEG(0x00011800C0000090ull) + ((block_id) & 1) * 0x1000000ull) 50412394d1SDavid Daney #define CVMX_PEMX_P2P_BARX_END(offset, block_id) (CVMX_ADD_IO_SEG(0x00011800C0000048ull) + (((offset) & 3) + ((block_id) & 1) * 0x100000ull) * 16) 51412394d1SDavid Daney #define CVMX_PEMX_P2P_BARX_START(offset, block_id) (CVMX_ADD_IO_SEG(0x00011800C0000040ull) + (((offset) & 3) + ((block_id) & 1) * 0x100000ull) * 16) 52412394d1SDavid Daney #define CVMX_PEMX_TLP_CREDITS(block_id) (CVMX_ADD_IO_SEG(0x00011800C0000038ull) + ((block_id) & 1) * 0x1000000ull) 53412394d1SDavid Daney 54412394d1SDavid Daney union cvmx_pemx_bar1_indexx { 55412394d1SDavid Daney uint64_t u64; 56412394d1SDavid Daney struct cvmx_pemx_bar1_indexx_s { 57c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 58412394d1SDavid Daney uint64_t reserved_20_63:44; 59412394d1SDavid Daney uint64_t addr_idx:16; 60412394d1SDavid Daney uint64_t ca:1; 61412394d1SDavid Daney uint64_t end_swp:2; 62412394d1SDavid Daney uint64_t addr_v:1; 63c5aa59e8SDavid Daney #else 64c5aa59e8SDavid Daney uint64_t addr_v:1; 65c5aa59e8SDavid Daney uint64_t end_swp:2; 66c5aa59e8SDavid Daney uint64_t ca:1; 67c5aa59e8SDavid Daney uint64_t addr_idx:16; 68c5aa59e8SDavid Daney uint64_t reserved_20_63:44; 69c5aa59e8SDavid Daney #endif 70412394d1SDavid Daney } s; 71412394d1SDavid Daney struct cvmx_pemx_bar1_indexx_s cn61xx; 72412394d1SDavid Daney struct cvmx_pemx_bar1_indexx_s cn63xx; 73412394d1SDavid Daney struct cvmx_pemx_bar1_indexx_s cn63xxp1; 74412394d1SDavid Daney struct cvmx_pemx_bar1_indexx_s cn66xx; 75412394d1SDavid Daney struct cvmx_pemx_bar1_indexx_s cn68xx; 76412394d1SDavid Daney struct cvmx_pemx_bar1_indexx_s cn68xxp1; 77c5aa59e8SDavid Daney struct cvmx_pemx_bar1_indexx_s cnf71xx; 78412394d1SDavid Daney }; 79412394d1SDavid Daney 80412394d1SDavid Daney union cvmx_pemx_bar2_mask { 81412394d1SDavid Daney uint64_t u64; 82412394d1SDavid Daney struct cvmx_pemx_bar2_mask_s { 83c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 84412394d1SDavid Daney uint64_t reserved_38_63:26; 85412394d1SDavid Daney uint64_t mask:35; 86412394d1SDavid Daney uint64_t reserved_0_2:3; 87c5aa59e8SDavid Daney #else 88c5aa59e8SDavid Daney uint64_t reserved_0_2:3; 89c5aa59e8SDavid Daney uint64_t mask:35; 90c5aa59e8SDavid Daney uint64_t reserved_38_63:26; 91c5aa59e8SDavid Daney #endif 92412394d1SDavid Daney } s; 93412394d1SDavid Daney struct cvmx_pemx_bar2_mask_s cn61xx; 94412394d1SDavid Daney struct cvmx_pemx_bar2_mask_s cn66xx; 95412394d1SDavid Daney struct cvmx_pemx_bar2_mask_s cn68xx; 96412394d1SDavid Daney struct cvmx_pemx_bar2_mask_s cn68xxp1; 97c5aa59e8SDavid Daney struct cvmx_pemx_bar2_mask_s cnf71xx; 98412394d1SDavid Daney }; 99412394d1SDavid Daney 100412394d1SDavid Daney union cvmx_pemx_bar_ctl { 101412394d1SDavid Daney uint64_t u64; 102412394d1SDavid Daney struct cvmx_pemx_bar_ctl_s { 103c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 104412394d1SDavid Daney uint64_t reserved_7_63:57; 105412394d1SDavid Daney uint64_t bar1_siz:3; 106412394d1SDavid Daney uint64_t bar2_enb:1; 107412394d1SDavid Daney uint64_t bar2_esx:2; 108412394d1SDavid Daney uint64_t bar2_cax:1; 109c5aa59e8SDavid Daney #else 110c5aa59e8SDavid Daney uint64_t bar2_cax:1; 111c5aa59e8SDavid Daney uint64_t bar2_esx:2; 112c5aa59e8SDavid Daney uint64_t bar2_enb:1; 113c5aa59e8SDavid Daney uint64_t bar1_siz:3; 114c5aa59e8SDavid Daney uint64_t reserved_7_63:57; 115c5aa59e8SDavid Daney #endif 116412394d1SDavid Daney } s; 117412394d1SDavid Daney struct cvmx_pemx_bar_ctl_s cn61xx; 118412394d1SDavid Daney struct cvmx_pemx_bar_ctl_s cn63xx; 119412394d1SDavid Daney struct cvmx_pemx_bar_ctl_s cn63xxp1; 120412394d1SDavid Daney struct cvmx_pemx_bar_ctl_s cn66xx; 121412394d1SDavid Daney struct cvmx_pemx_bar_ctl_s cn68xx; 122412394d1SDavid Daney struct cvmx_pemx_bar_ctl_s cn68xxp1; 123c5aa59e8SDavid Daney struct cvmx_pemx_bar_ctl_s cnf71xx; 124412394d1SDavid Daney }; 125412394d1SDavid Daney 126412394d1SDavid Daney union cvmx_pemx_bist_status { 127412394d1SDavid Daney uint64_t u64; 128412394d1SDavid Daney struct cvmx_pemx_bist_status_s { 129c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 130412394d1SDavid Daney uint64_t reserved_8_63:56; 131412394d1SDavid Daney uint64_t retry:1; 132412394d1SDavid Daney uint64_t rqdata0:1; 133412394d1SDavid Daney uint64_t rqdata1:1; 134412394d1SDavid Daney uint64_t rqdata2:1; 135412394d1SDavid Daney uint64_t rqdata3:1; 136412394d1SDavid Daney uint64_t rqhdr1:1; 137412394d1SDavid Daney uint64_t rqhdr0:1; 138412394d1SDavid Daney uint64_t sot:1; 139c5aa59e8SDavid Daney #else 140c5aa59e8SDavid Daney uint64_t sot:1; 141c5aa59e8SDavid Daney uint64_t rqhdr0:1; 142c5aa59e8SDavid Daney uint64_t rqhdr1:1; 143c5aa59e8SDavid Daney uint64_t rqdata3:1; 144c5aa59e8SDavid Daney uint64_t rqdata2:1; 145c5aa59e8SDavid Daney uint64_t rqdata1:1; 146c5aa59e8SDavid Daney uint64_t rqdata0:1; 147c5aa59e8SDavid Daney uint64_t retry:1; 148c5aa59e8SDavid Daney uint64_t reserved_8_63:56; 149c5aa59e8SDavid Daney #endif 150412394d1SDavid Daney } s; 151412394d1SDavid Daney struct cvmx_pemx_bist_status_s cn61xx; 152412394d1SDavid Daney struct cvmx_pemx_bist_status_s cn63xx; 153412394d1SDavid Daney struct cvmx_pemx_bist_status_s cn63xxp1; 154412394d1SDavid Daney struct cvmx_pemx_bist_status_s cn66xx; 155412394d1SDavid Daney struct cvmx_pemx_bist_status_s cn68xx; 156412394d1SDavid Daney struct cvmx_pemx_bist_status_s cn68xxp1; 157c5aa59e8SDavid Daney struct cvmx_pemx_bist_status_s cnf71xx; 158412394d1SDavid Daney }; 159412394d1SDavid Daney 160412394d1SDavid Daney union cvmx_pemx_bist_status2 { 161412394d1SDavid Daney uint64_t u64; 162412394d1SDavid Daney struct cvmx_pemx_bist_status2_s { 163c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 164412394d1SDavid Daney uint64_t reserved_10_63:54; 165412394d1SDavid Daney uint64_t e2p_cpl:1; 166412394d1SDavid Daney uint64_t e2p_n:1; 167412394d1SDavid Daney uint64_t e2p_p:1; 168412394d1SDavid Daney uint64_t peai_p2e:1; 169412394d1SDavid Daney uint64_t pef_tpf1:1; 170412394d1SDavid Daney uint64_t pef_tpf0:1; 171412394d1SDavid Daney uint64_t pef_tnf:1; 172412394d1SDavid Daney uint64_t pef_tcf1:1; 173412394d1SDavid Daney uint64_t pef_tc0:1; 174412394d1SDavid Daney uint64_t ppf:1; 175c5aa59e8SDavid Daney #else 176c5aa59e8SDavid Daney uint64_t ppf:1; 177c5aa59e8SDavid Daney uint64_t pef_tc0:1; 178c5aa59e8SDavid Daney uint64_t pef_tcf1:1; 179c5aa59e8SDavid Daney uint64_t pef_tnf:1; 180c5aa59e8SDavid Daney uint64_t pef_tpf0:1; 181c5aa59e8SDavid Daney uint64_t pef_tpf1:1; 182c5aa59e8SDavid Daney uint64_t peai_p2e:1; 183c5aa59e8SDavid Daney uint64_t e2p_p:1; 184c5aa59e8SDavid Daney uint64_t e2p_n:1; 185c5aa59e8SDavid Daney uint64_t e2p_cpl:1; 186c5aa59e8SDavid Daney uint64_t reserved_10_63:54; 187c5aa59e8SDavid Daney #endif 188412394d1SDavid Daney } s; 189412394d1SDavid Daney struct cvmx_pemx_bist_status2_s cn61xx; 190412394d1SDavid Daney struct cvmx_pemx_bist_status2_s cn63xx; 191412394d1SDavid Daney struct cvmx_pemx_bist_status2_s cn63xxp1; 192412394d1SDavid Daney struct cvmx_pemx_bist_status2_s cn66xx; 193412394d1SDavid Daney struct cvmx_pemx_bist_status2_s cn68xx; 194412394d1SDavid Daney struct cvmx_pemx_bist_status2_s cn68xxp1; 195c5aa59e8SDavid Daney struct cvmx_pemx_bist_status2_s cnf71xx; 196412394d1SDavid Daney }; 197412394d1SDavid Daney 198412394d1SDavid Daney union cvmx_pemx_cfg_rd { 199412394d1SDavid Daney uint64_t u64; 200412394d1SDavid Daney struct cvmx_pemx_cfg_rd_s { 201c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 202412394d1SDavid Daney uint64_t data:32; 203412394d1SDavid Daney uint64_t addr:32; 204c5aa59e8SDavid Daney #else 205c5aa59e8SDavid Daney uint64_t addr:32; 206c5aa59e8SDavid Daney uint64_t data:32; 207c5aa59e8SDavid Daney #endif 208412394d1SDavid Daney } s; 209412394d1SDavid Daney struct cvmx_pemx_cfg_rd_s cn61xx; 210412394d1SDavid Daney struct cvmx_pemx_cfg_rd_s cn63xx; 211412394d1SDavid Daney struct cvmx_pemx_cfg_rd_s cn63xxp1; 212412394d1SDavid Daney struct cvmx_pemx_cfg_rd_s cn66xx; 213412394d1SDavid Daney struct cvmx_pemx_cfg_rd_s cn68xx; 214412394d1SDavid Daney struct cvmx_pemx_cfg_rd_s cn68xxp1; 215c5aa59e8SDavid Daney struct cvmx_pemx_cfg_rd_s cnf71xx; 216412394d1SDavid Daney }; 217412394d1SDavid Daney 218412394d1SDavid Daney union cvmx_pemx_cfg_wr { 219412394d1SDavid Daney uint64_t u64; 220412394d1SDavid Daney struct cvmx_pemx_cfg_wr_s { 221c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 222412394d1SDavid Daney uint64_t data:32; 223412394d1SDavid Daney uint64_t addr:32; 224c5aa59e8SDavid Daney #else 225c5aa59e8SDavid Daney uint64_t addr:32; 226c5aa59e8SDavid Daney uint64_t data:32; 227c5aa59e8SDavid Daney #endif 228412394d1SDavid Daney } s; 229412394d1SDavid Daney struct cvmx_pemx_cfg_wr_s cn61xx; 230412394d1SDavid Daney struct cvmx_pemx_cfg_wr_s cn63xx; 231412394d1SDavid Daney struct cvmx_pemx_cfg_wr_s cn63xxp1; 232412394d1SDavid Daney struct cvmx_pemx_cfg_wr_s cn66xx; 233412394d1SDavid Daney struct cvmx_pemx_cfg_wr_s cn68xx; 234412394d1SDavid Daney struct cvmx_pemx_cfg_wr_s cn68xxp1; 235c5aa59e8SDavid Daney struct cvmx_pemx_cfg_wr_s cnf71xx; 236412394d1SDavid Daney }; 237412394d1SDavid Daney 238412394d1SDavid Daney union cvmx_pemx_cpl_lut_valid { 239412394d1SDavid Daney uint64_t u64; 240412394d1SDavid Daney struct cvmx_pemx_cpl_lut_valid_s { 241c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 242412394d1SDavid Daney uint64_t reserved_32_63:32; 243412394d1SDavid Daney uint64_t tag:32; 244c5aa59e8SDavid Daney #else 245c5aa59e8SDavid Daney uint64_t tag:32; 246c5aa59e8SDavid Daney uint64_t reserved_32_63:32; 247c5aa59e8SDavid Daney #endif 248412394d1SDavid Daney } s; 249412394d1SDavid Daney struct cvmx_pemx_cpl_lut_valid_s cn61xx; 250412394d1SDavid Daney struct cvmx_pemx_cpl_lut_valid_s cn63xx; 251412394d1SDavid Daney struct cvmx_pemx_cpl_lut_valid_s cn63xxp1; 252412394d1SDavid Daney struct cvmx_pemx_cpl_lut_valid_s cn66xx; 253412394d1SDavid Daney struct cvmx_pemx_cpl_lut_valid_s cn68xx; 254412394d1SDavid Daney struct cvmx_pemx_cpl_lut_valid_s cn68xxp1; 255c5aa59e8SDavid Daney struct cvmx_pemx_cpl_lut_valid_s cnf71xx; 256412394d1SDavid Daney }; 257412394d1SDavid Daney 258412394d1SDavid Daney union cvmx_pemx_ctl_status { 259412394d1SDavid Daney uint64_t u64; 260412394d1SDavid Daney struct cvmx_pemx_ctl_status_s { 261c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 262412394d1SDavid Daney uint64_t reserved_48_63:16; 263412394d1SDavid Daney uint64_t auto_sd:1; 264412394d1SDavid Daney uint64_t dnum:5; 265412394d1SDavid Daney uint64_t pbus:8; 266412394d1SDavid Daney uint64_t reserved_32_33:2; 267412394d1SDavid Daney uint64_t cfg_rtry:16; 268412394d1SDavid Daney uint64_t reserved_12_15:4; 269412394d1SDavid Daney uint64_t pm_xtoff:1; 270412394d1SDavid Daney uint64_t pm_xpme:1; 271412394d1SDavid Daney uint64_t ob_p_cmd:1; 272412394d1SDavid Daney uint64_t reserved_7_8:2; 273412394d1SDavid Daney uint64_t nf_ecrc:1; 274412394d1SDavid Daney uint64_t dly_one:1; 275412394d1SDavid Daney uint64_t lnk_enb:1; 276412394d1SDavid Daney uint64_t ro_ctlp:1; 277412394d1SDavid Daney uint64_t fast_lm:1; 278412394d1SDavid Daney uint64_t inv_ecrc:1; 279412394d1SDavid Daney uint64_t inv_lcrc:1; 280c5aa59e8SDavid Daney #else 281c5aa59e8SDavid Daney uint64_t inv_lcrc:1; 282c5aa59e8SDavid Daney uint64_t inv_ecrc:1; 283c5aa59e8SDavid Daney uint64_t fast_lm:1; 284c5aa59e8SDavid Daney uint64_t ro_ctlp:1; 285c5aa59e8SDavid Daney uint64_t lnk_enb:1; 286c5aa59e8SDavid Daney uint64_t dly_one:1; 287c5aa59e8SDavid Daney uint64_t nf_ecrc:1; 288c5aa59e8SDavid Daney uint64_t reserved_7_8:2; 289c5aa59e8SDavid Daney uint64_t ob_p_cmd:1; 290c5aa59e8SDavid Daney uint64_t pm_xpme:1; 291c5aa59e8SDavid Daney uint64_t pm_xtoff:1; 292c5aa59e8SDavid Daney uint64_t reserved_12_15:4; 293c5aa59e8SDavid Daney uint64_t cfg_rtry:16; 294c5aa59e8SDavid Daney uint64_t reserved_32_33:2; 295c5aa59e8SDavid Daney uint64_t pbus:8; 296c5aa59e8SDavid Daney uint64_t dnum:5; 297c5aa59e8SDavid Daney uint64_t auto_sd:1; 298c5aa59e8SDavid Daney uint64_t reserved_48_63:16; 299c5aa59e8SDavid Daney #endif 300412394d1SDavid Daney } s; 301412394d1SDavid Daney struct cvmx_pemx_ctl_status_s cn61xx; 302412394d1SDavid Daney struct cvmx_pemx_ctl_status_s cn63xx; 303412394d1SDavid Daney struct cvmx_pemx_ctl_status_s cn63xxp1; 304412394d1SDavid Daney struct cvmx_pemx_ctl_status_s cn66xx; 305412394d1SDavid Daney struct cvmx_pemx_ctl_status_s cn68xx; 306412394d1SDavid Daney struct cvmx_pemx_ctl_status_s cn68xxp1; 307c5aa59e8SDavid Daney struct cvmx_pemx_ctl_status_s cnf71xx; 308412394d1SDavid Daney }; 309412394d1SDavid Daney 310412394d1SDavid Daney union cvmx_pemx_dbg_info { 311412394d1SDavid Daney uint64_t u64; 312412394d1SDavid Daney struct cvmx_pemx_dbg_info_s { 313c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 314412394d1SDavid Daney uint64_t reserved_31_63:33; 315412394d1SDavid Daney uint64_t ecrc_e:1; 316412394d1SDavid Daney uint64_t rawwpp:1; 317412394d1SDavid Daney uint64_t racpp:1; 318412394d1SDavid Daney uint64_t ramtlp:1; 319412394d1SDavid Daney uint64_t rarwdns:1; 320412394d1SDavid Daney uint64_t caar:1; 321412394d1SDavid Daney uint64_t racca:1; 322412394d1SDavid Daney uint64_t racur:1; 323412394d1SDavid Daney uint64_t rauc:1; 324412394d1SDavid Daney uint64_t rqo:1; 325412394d1SDavid Daney uint64_t fcuv:1; 326412394d1SDavid Daney uint64_t rpe:1; 327412394d1SDavid Daney uint64_t fcpvwt:1; 328412394d1SDavid Daney uint64_t dpeoosd:1; 329412394d1SDavid Daney uint64_t rtwdle:1; 330412394d1SDavid Daney uint64_t rdwdle:1; 331412394d1SDavid Daney uint64_t mre:1; 332412394d1SDavid Daney uint64_t rte:1; 333412394d1SDavid Daney uint64_t acto:1; 334412394d1SDavid Daney uint64_t rvdm:1; 335412394d1SDavid Daney uint64_t rumep:1; 336412394d1SDavid Daney uint64_t rptamrc:1; 337412394d1SDavid Daney uint64_t rpmerc:1; 338412394d1SDavid Daney uint64_t rfemrc:1; 339412394d1SDavid Daney uint64_t rnfemrc:1; 340412394d1SDavid Daney uint64_t rcemrc:1; 341412394d1SDavid Daney uint64_t rpoison:1; 342412394d1SDavid Daney uint64_t recrce:1; 343412394d1SDavid Daney uint64_t rtlplle:1; 344412394d1SDavid Daney uint64_t rtlpmal:1; 345412394d1SDavid Daney uint64_t spoison:1; 346c5aa59e8SDavid Daney #else 347c5aa59e8SDavid Daney uint64_t spoison:1; 348c5aa59e8SDavid Daney uint64_t rtlpmal:1; 349c5aa59e8SDavid Daney uint64_t rtlplle:1; 350c5aa59e8SDavid Daney uint64_t recrce:1; 351c5aa59e8SDavid Daney uint64_t rpoison:1; 352c5aa59e8SDavid Daney uint64_t rcemrc:1; 353c5aa59e8SDavid Daney uint64_t rnfemrc:1; 354c5aa59e8SDavid Daney uint64_t rfemrc:1; 355c5aa59e8SDavid Daney uint64_t rpmerc:1; 356c5aa59e8SDavid Daney uint64_t rptamrc:1; 357c5aa59e8SDavid Daney uint64_t rumep:1; 358c5aa59e8SDavid Daney uint64_t rvdm:1; 359c5aa59e8SDavid Daney uint64_t acto:1; 360c5aa59e8SDavid Daney uint64_t rte:1; 361c5aa59e8SDavid Daney uint64_t mre:1; 362c5aa59e8SDavid Daney uint64_t rdwdle:1; 363c5aa59e8SDavid Daney uint64_t rtwdle:1; 364c5aa59e8SDavid Daney uint64_t dpeoosd:1; 365c5aa59e8SDavid Daney uint64_t fcpvwt:1; 366c5aa59e8SDavid Daney uint64_t rpe:1; 367c5aa59e8SDavid Daney uint64_t fcuv:1; 368c5aa59e8SDavid Daney uint64_t rqo:1; 369c5aa59e8SDavid Daney uint64_t rauc:1; 370c5aa59e8SDavid Daney uint64_t racur:1; 371c5aa59e8SDavid Daney uint64_t racca:1; 372c5aa59e8SDavid Daney uint64_t caar:1; 373c5aa59e8SDavid Daney uint64_t rarwdns:1; 374c5aa59e8SDavid Daney uint64_t ramtlp:1; 375c5aa59e8SDavid Daney uint64_t racpp:1; 376c5aa59e8SDavid Daney uint64_t rawwpp:1; 377c5aa59e8SDavid Daney uint64_t ecrc_e:1; 378c5aa59e8SDavid Daney uint64_t reserved_31_63:33; 379c5aa59e8SDavid Daney #endif 380412394d1SDavid Daney } s; 381412394d1SDavid Daney struct cvmx_pemx_dbg_info_s cn61xx; 382412394d1SDavid Daney struct cvmx_pemx_dbg_info_s cn63xx; 383412394d1SDavid Daney struct cvmx_pemx_dbg_info_s cn63xxp1; 384412394d1SDavid Daney struct cvmx_pemx_dbg_info_s cn66xx; 385412394d1SDavid Daney struct cvmx_pemx_dbg_info_s cn68xx; 386412394d1SDavid Daney struct cvmx_pemx_dbg_info_s cn68xxp1; 387c5aa59e8SDavid Daney struct cvmx_pemx_dbg_info_s cnf71xx; 388412394d1SDavid Daney }; 389412394d1SDavid Daney 390412394d1SDavid Daney union cvmx_pemx_dbg_info_en { 391412394d1SDavid Daney uint64_t u64; 392412394d1SDavid Daney struct cvmx_pemx_dbg_info_en_s { 393c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 394412394d1SDavid Daney uint64_t reserved_31_63:33; 395412394d1SDavid Daney uint64_t ecrc_e:1; 396412394d1SDavid Daney uint64_t rawwpp:1; 397412394d1SDavid Daney uint64_t racpp:1; 398412394d1SDavid Daney uint64_t ramtlp:1; 399412394d1SDavid Daney uint64_t rarwdns:1; 400412394d1SDavid Daney uint64_t caar:1; 401412394d1SDavid Daney uint64_t racca:1; 402412394d1SDavid Daney uint64_t racur:1; 403412394d1SDavid Daney uint64_t rauc:1; 404412394d1SDavid Daney uint64_t rqo:1; 405412394d1SDavid Daney uint64_t fcuv:1; 406412394d1SDavid Daney uint64_t rpe:1; 407412394d1SDavid Daney uint64_t fcpvwt:1; 408412394d1SDavid Daney uint64_t dpeoosd:1; 409412394d1SDavid Daney uint64_t rtwdle:1; 410412394d1SDavid Daney uint64_t rdwdle:1; 411412394d1SDavid Daney uint64_t mre:1; 412412394d1SDavid Daney uint64_t rte:1; 413412394d1SDavid Daney uint64_t acto:1; 414412394d1SDavid Daney uint64_t rvdm:1; 415412394d1SDavid Daney uint64_t rumep:1; 416412394d1SDavid Daney uint64_t rptamrc:1; 417412394d1SDavid Daney uint64_t rpmerc:1; 418412394d1SDavid Daney uint64_t rfemrc:1; 419412394d1SDavid Daney uint64_t rnfemrc:1; 420412394d1SDavid Daney uint64_t rcemrc:1; 421412394d1SDavid Daney uint64_t rpoison:1; 422412394d1SDavid Daney uint64_t recrce:1; 423412394d1SDavid Daney uint64_t rtlplle:1; 424412394d1SDavid Daney uint64_t rtlpmal:1; 425412394d1SDavid Daney uint64_t spoison:1; 426c5aa59e8SDavid Daney #else 427c5aa59e8SDavid Daney uint64_t spoison:1; 428c5aa59e8SDavid Daney uint64_t rtlpmal:1; 429c5aa59e8SDavid Daney uint64_t rtlplle:1; 430c5aa59e8SDavid Daney uint64_t recrce:1; 431c5aa59e8SDavid Daney uint64_t rpoison:1; 432c5aa59e8SDavid Daney uint64_t rcemrc:1; 433c5aa59e8SDavid Daney uint64_t rnfemrc:1; 434c5aa59e8SDavid Daney uint64_t rfemrc:1; 435c5aa59e8SDavid Daney uint64_t rpmerc:1; 436c5aa59e8SDavid Daney uint64_t rptamrc:1; 437c5aa59e8SDavid Daney uint64_t rumep:1; 438c5aa59e8SDavid Daney uint64_t rvdm:1; 439c5aa59e8SDavid Daney uint64_t acto:1; 440c5aa59e8SDavid Daney uint64_t rte:1; 441c5aa59e8SDavid Daney uint64_t mre:1; 442c5aa59e8SDavid Daney uint64_t rdwdle:1; 443c5aa59e8SDavid Daney uint64_t rtwdle:1; 444c5aa59e8SDavid Daney uint64_t dpeoosd:1; 445c5aa59e8SDavid Daney uint64_t fcpvwt:1; 446c5aa59e8SDavid Daney uint64_t rpe:1; 447c5aa59e8SDavid Daney uint64_t fcuv:1; 448c5aa59e8SDavid Daney uint64_t rqo:1; 449c5aa59e8SDavid Daney uint64_t rauc:1; 450c5aa59e8SDavid Daney uint64_t racur:1; 451c5aa59e8SDavid Daney uint64_t racca:1; 452c5aa59e8SDavid Daney uint64_t caar:1; 453c5aa59e8SDavid Daney uint64_t rarwdns:1; 454c5aa59e8SDavid Daney uint64_t ramtlp:1; 455c5aa59e8SDavid Daney uint64_t racpp:1; 456c5aa59e8SDavid Daney uint64_t rawwpp:1; 457c5aa59e8SDavid Daney uint64_t ecrc_e:1; 458c5aa59e8SDavid Daney uint64_t reserved_31_63:33; 459c5aa59e8SDavid Daney #endif 460412394d1SDavid Daney } s; 461412394d1SDavid Daney struct cvmx_pemx_dbg_info_en_s cn61xx; 462412394d1SDavid Daney struct cvmx_pemx_dbg_info_en_s cn63xx; 463412394d1SDavid Daney struct cvmx_pemx_dbg_info_en_s cn63xxp1; 464412394d1SDavid Daney struct cvmx_pemx_dbg_info_en_s cn66xx; 465412394d1SDavid Daney struct cvmx_pemx_dbg_info_en_s cn68xx; 466412394d1SDavid Daney struct cvmx_pemx_dbg_info_en_s cn68xxp1; 467c5aa59e8SDavid Daney struct cvmx_pemx_dbg_info_en_s cnf71xx; 468412394d1SDavid Daney }; 469412394d1SDavid Daney 470412394d1SDavid Daney union cvmx_pemx_diag_status { 471412394d1SDavid Daney uint64_t u64; 472412394d1SDavid Daney struct cvmx_pemx_diag_status_s { 473c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 474412394d1SDavid Daney uint64_t reserved_4_63:60; 475412394d1SDavid Daney uint64_t pm_dst:1; 476412394d1SDavid Daney uint64_t pm_stat:1; 477412394d1SDavid Daney uint64_t pm_en:1; 478412394d1SDavid Daney uint64_t aux_en:1; 479c5aa59e8SDavid Daney #else 480c5aa59e8SDavid Daney uint64_t aux_en:1; 481c5aa59e8SDavid Daney uint64_t pm_en:1; 482c5aa59e8SDavid Daney uint64_t pm_stat:1; 483c5aa59e8SDavid Daney uint64_t pm_dst:1; 484c5aa59e8SDavid Daney uint64_t reserved_4_63:60; 485c5aa59e8SDavid Daney #endif 486412394d1SDavid Daney } s; 487412394d1SDavid Daney struct cvmx_pemx_diag_status_s cn61xx; 488412394d1SDavid Daney struct cvmx_pemx_diag_status_s cn63xx; 489412394d1SDavid Daney struct cvmx_pemx_diag_status_s cn63xxp1; 490412394d1SDavid Daney struct cvmx_pemx_diag_status_s cn66xx; 491412394d1SDavid Daney struct cvmx_pemx_diag_status_s cn68xx; 492412394d1SDavid Daney struct cvmx_pemx_diag_status_s cn68xxp1; 493c5aa59e8SDavid Daney struct cvmx_pemx_diag_status_s cnf71xx; 494412394d1SDavid Daney }; 495412394d1SDavid Daney 496412394d1SDavid Daney union cvmx_pemx_inb_read_credits { 497412394d1SDavid Daney uint64_t u64; 498412394d1SDavid Daney struct cvmx_pemx_inb_read_credits_s { 499c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 500412394d1SDavid Daney uint64_t reserved_6_63:58; 501412394d1SDavid Daney uint64_t num:6; 502c5aa59e8SDavid Daney #else 503c5aa59e8SDavid Daney uint64_t num:6; 504c5aa59e8SDavid Daney uint64_t reserved_6_63:58; 505c5aa59e8SDavid Daney #endif 506412394d1SDavid Daney } s; 507412394d1SDavid Daney struct cvmx_pemx_inb_read_credits_s cn61xx; 508412394d1SDavid Daney struct cvmx_pemx_inb_read_credits_s cn66xx; 509412394d1SDavid Daney struct cvmx_pemx_inb_read_credits_s cn68xx; 510c5aa59e8SDavid Daney struct cvmx_pemx_inb_read_credits_s cnf71xx; 511412394d1SDavid Daney }; 512412394d1SDavid Daney 513412394d1SDavid Daney union cvmx_pemx_int_enb { 514412394d1SDavid Daney uint64_t u64; 515412394d1SDavid Daney struct cvmx_pemx_int_enb_s { 516c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 517412394d1SDavid Daney uint64_t reserved_14_63:50; 518412394d1SDavid Daney uint64_t crs_dr:1; 519412394d1SDavid Daney uint64_t crs_er:1; 520412394d1SDavid Daney uint64_t rdlk:1; 521412394d1SDavid Daney uint64_t exc:1; 522412394d1SDavid Daney uint64_t un_bx:1; 523412394d1SDavid Daney uint64_t un_b2:1; 524412394d1SDavid Daney uint64_t un_b1:1; 525412394d1SDavid Daney uint64_t up_bx:1; 526412394d1SDavid Daney uint64_t up_b2:1; 527412394d1SDavid Daney uint64_t up_b1:1; 528412394d1SDavid Daney uint64_t pmem:1; 529412394d1SDavid Daney uint64_t pmei:1; 530412394d1SDavid Daney uint64_t se:1; 531412394d1SDavid Daney uint64_t aeri:1; 532c5aa59e8SDavid Daney #else 533c5aa59e8SDavid Daney uint64_t aeri:1; 534c5aa59e8SDavid Daney uint64_t se:1; 535c5aa59e8SDavid Daney uint64_t pmei:1; 536c5aa59e8SDavid Daney uint64_t pmem:1; 537c5aa59e8SDavid Daney uint64_t up_b1:1; 538c5aa59e8SDavid Daney uint64_t up_b2:1; 539c5aa59e8SDavid Daney uint64_t up_bx:1; 540c5aa59e8SDavid Daney uint64_t un_b1:1; 541c5aa59e8SDavid Daney uint64_t un_b2:1; 542c5aa59e8SDavid Daney uint64_t un_bx:1; 543c5aa59e8SDavid Daney uint64_t exc:1; 544c5aa59e8SDavid Daney uint64_t rdlk:1; 545c5aa59e8SDavid Daney uint64_t crs_er:1; 546c5aa59e8SDavid Daney uint64_t crs_dr:1; 547c5aa59e8SDavid Daney uint64_t reserved_14_63:50; 548c5aa59e8SDavid Daney #endif 549412394d1SDavid Daney } s; 550412394d1SDavid Daney struct cvmx_pemx_int_enb_s cn61xx; 551412394d1SDavid Daney struct cvmx_pemx_int_enb_s cn63xx; 552412394d1SDavid Daney struct cvmx_pemx_int_enb_s cn63xxp1; 553412394d1SDavid Daney struct cvmx_pemx_int_enb_s cn66xx; 554412394d1SDavid Daney struct cvmx_pemx_int_enb_s cn68xx; 555412394d1SDavid Daney struct cvmx_pemx_int_enb_s cn68xxp1; 556c5aa59e8SDavid Daney struct cvmx_pemx_int_enb_s cnf71xx; 557412394d1SDavid Daney }; 558412394d1SDavid Daney 559412394d1SDavid Daney union cvmx_pemx_int_enb_int { 560412394d1SDavid Daney uint64_t u64; 561412394d1SDavid Daney struct cvmx_pemx_int_enb_int_s { 562c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 563412394d1SDavid Daney uint64_t reserved_14_63:50; 564412394d1SDavid Daney uint64_t crs_dr:1; 565412394d1SDavid Daney uint64_t crs_er:1; 566412394d1SDavid Daney uint64_t rdlk:1; 567412394d1SDavid Daney uint64_t exc:1; 568412394d1SDavid Daney uint64_t un_bx:1; 569412394d1SDavid Daney uint64_t un_b2:1; 570412394d1SDavid Daney uint64_t un_b1:1; 571412394d1SDavid Daney uint64_t up_bx:1; 572412394d1SDavid Daney uint64_t up_b2:1; 573412394d1SDavid Daney uint64_t up_b1:1; 574412394d1SDavid Daney uint64_t pmem:1; 575412394d1SDavid Daney uint64_t pmei:1; 576412394d1SDavid Daney uint64_t se:1; 577412394d1SDavid Daney uint64_t aeri:1; 578c5aa59e8SDavid Daney #else 579c5aa59e8SDavid Daney uint64_t aeri:1; 580c5aa59e8SDavid Daney uint64_t se:1; 581c5aa59e8SDavid Daney uint64_t pmei:1; 582c5aa59e8SDavid Daney uint64_t pmem:1; 583c5aa59e8SDavid Daney uint64_t up_b1:1; 584c5aa59e8SDavid Daney uint64_t up_b2:1; 585c5aa59e8SDavid Daney uint64_t up_bx:1; 586c5aa59e8SDavid Daney uint64_t un_b1:1; 587c5aa59e8SDavid Daney uint64_t un_b2:1; 588c5aa59e8SDavid Daney uint64_t un_bx:1; 589c5aa59e8SDavid Daney uint64_t exc:1; 590c5aa59e8SDavid Daney uint64_t rdlk:1; 591c5aa59e8SDavid Daney uint64_t crs_er:1; 592c5aa59e8SDavid Daney uint64_t crs_dr:1; 593c5aa59e8SDavid Daney uint64_t reserved_14_63:50; 594c5aa59e8SDavid Daney #endif 595412394d1SDavid Daney } s; 596412394d1SDavid Daney struct cvmx_pemx_int_enb_int_s cn61xx; 597412394d1SDavid Daney struct cvmx_pemx_int_enb_int_s cn63xx; 598412394d1SDavid Daney struct cvmx_pemx_int_enb_int_s cn63xxp1; 599412394d1SDavid Daney struct cvmx_pemx_int_enb_int_s cn66xx; 600412394d1SDavid Daney struct cvmx_pemx_int_enb_int_s cn68xx; 601412394d1SDavid Daney struct cvmx_pemx_int_enb_int_s cn68xxp1; 602c5aa59e8SDavid Daney struct cvmx_pemx_int_enb_int_s cnf71xx; 603412394d1SDavid Daney }; 604412394d1SDavid Daney 605412394d1SDavid Daney union cvmx_pemx_int_sum { 606412394d1SDavid Daney uint64_t u64; 607412394d1SDavid Daney struct cvmx_pemx_int_sum_s { 608c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 609412394d1SDavid Daney uint64_t reserved_14_63:50; 610412394d1SDavid Daney uint64_t crs_dr:1; 611412394d1SDavid Daney uint64_t crs_er:1; 612412394d1SDavid Daney uint64_t rdlk:1; 613412394d1SDavid Daney uint64_t exc:1; 614412394d1SDavid Daney uint64_t un_bx:1; 615412394d1SDavid Daney uint64_t un_b2:1; 616412394d1SDavid Daney uint64_t un_b1:1; 617412394d1SDavid Daney uint64_t up_bx:1; 618412394d1SDavid Daney uint64_t up_b2:1; 619412394d1SDavid Daney uint64_t up_b1:1; 620412394d1SDavid Daney uint64_t pmem:1; 621412394d1SDavid Daney uint64_t pmei:1; 622412394d1SDavid Daney uint64_t se:1; 623412394d1SDavid Daney uint64_t aeri:1; 624c5aa59e8SDavid Daney #else 625c5aa59e8SDavid Daney uint64_t aeri:1; 626c5aa59e8SDavid Daney uint64_t se:1; 627c5aa59e8SDavid Daney uint64_t pmei:1; 628c5aa59e8SDavid Daney uint64_t pmem:1; 629c5aa59e8SDavid Daney uint64_t up_b1:1; 630c5aa59e8SDavid Daney uint64_t up_b2:1; 631c5aa59e8SDavid Daney uint64_t up_bx:1; 632c5aa59e8SDavid Daney uint64_t un_b1:1; 633c5aa59e8SDavid Daney uint64_t un_b2:1; 634c5aa59e8SDavid Daney uint64_t un_bx:1; 635c5aa59e8SDavid Daney uint64_t exc:1; 636c5aa59e8SDavid Daney uint64_t rdlk:1; 637c5aa59e8SDavid Daney uint64_t crs_er:1; 638c5aa59e8SDavid Daney uint64_t crs_dr:1; 639c5aa59e8SDavid Daney uint64_t reserved_14_63:50; 640c5aa59e8SDavid Daney #endif 641412394d1SDavid Daney } s; 642412394d1SDavid Daney struct cvmx_pemx_int_sum_s cn61xx; 643412394d1SDavid Daney struct cvmx_pemx_int_sum_s cn63xx; 644412394d1SDavid Daney struct cvmx_pemx_int_sum_s cn63xxp1; 645412394d1SDavid Daney struct cvmx_pemx_int_sum_s cn66xx; 646412394d1SDavid Daney struct cvmx_pemx_int_sum_s cn68xx; 647412394d1SDavid Daney struct cvmx_pemx_int_sum_s cn68xxp1; 648c5aa59e8SDavid Daney struct cvmx_pemx_int_sum_s cnf71xx; 649412394d1SDavid Daney }; 650412394d1SDavid Daney 651412394d1SDavid Daney union cvmx_pemx_p2n_bar0_start { 652412394d1SDavid Daney uint64_t u64; 653412394d1SDavid Daney struct cvmx_pemx_p2n_bar0_start_s { 654c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 655412394d1SDavid Daney uint64_t addr:50; 656412394d1SDavid Daney uint64_t reserved_0_13:14; 657c5aa59e8SDavid Daney #else 658c5aa59e8SDavid Daney uint64_t reserved_0_13:14; 659c5aa59e8SDavid Daney uint64_t addr:50; 660c5aa59e8SDavid Daney #endif 661412394d1SDavid Daney } s; 662412394d1SDavid Daney struct cvmx_pemx_p2n_bar0_start_s cn61xx; 663412394d1SDavid Daney struct cvmx_pemx_p2n_bar0_start_s cn63xx; 664412394d1SDavid Daney struct cvmx_pemx_p2n_bar0_start_s cn63xxp1; 665412394d1SDavid Daney struct cvmx_pemx_p2n_bar0_start_s cn66xx; 666412394d1SDavid Daney struct cvmx_pemx_p2n_bar0_start_s cn68xx; 667412394d1SDavid Daney struct cvmx_pemx_p2n_bar0_start_s cn68xxp1; 668c5aa59e8SDavid Daney struct cvmx_pemx_p2n_bar0_start_s cnf71xx; 669412394d1SDavid Daney }; 670412394d1SDavid Daney 671412394d1SDavid Daney union cvmx_pemx_p2n_bar1_start { 672412394d1SDavid Daney uint64_t u64; 673412394d1SDavid Daney struct cvmx_pemx_p2n_bar1_start_s { 674c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 675412394d1SDavid Daney uint64_t addr:38; 676412394d1SDavid Daney uint64_t reserved_0_25:26; 677c5aa59e8SDavid Daney #else 678c5aa59e8SDavid Daney uint64_t reserved_0_25:26; 679c5aa59e8SDavid Daney uint64_t addr:38; 680c5aa59e8SDavid Daney #endif 681412394d1SDavid Daney } s; 682412394d1SDavid Daney struct cvmx_pemx_p2n_bar1_start_s cn61xx; 683412394d1SDavid Daney struct cvmx_pemx_p2n_bar1_start_s cn63xx; 684412394d1SDavid Daney struct cvmx_pemx_p2n_bar1_start_s cn63xxp1; 685412394d1SDavid Daney struct cvmx_pemx_p2n_bar1_start_s cn66xx; 686412394d1SDavid Daney struct cvmx_pemx_p2n_bar1_start_s cn68xx; 687412394d1SDavid Daney struct cvmx_pemx_p2n_bar1_start_s cn68xxp1; 688c5aa59e8SDavid Daney struct cvmx_pemx_p2n_bar1_start_s cnf71xx; 689412394d1SDavid Daney }; 690412394d1SDavid Daney 691412394d1SDavid Daney union cvmx_pemx_p2n_bar2_start { 692412394d1SDavid Daney uint64_t u64; 693412394d1SDavid Daney struct cvmx_pemx_p2n_bar2_start_s { 694c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 695412394d1SDavid Daney uint64_t addr:23; 696412394d1SDavid Daney uint64_t reserved_0_40:41; 697c5aa59e8SDavid Daney #else 698c5aa59e8SDavid Daney uint64_t reserved_0_40:41; 699c5aa59e8SDavid Daney uint64_t addr:23; 700c5aa59e8SDavid Daney #endif 701412394d1SDavid Daney } s; 702412394d1SDavid Daney struct cvmx_pemx_p2n_bar2_start_s cn61xx; 703412394d1SDavid Daney struct cvmx_pemx_p2n_bar2_start_s cn63xx; 704412394d1SDavid Daney struct cvmx_pemx_p2n_bar2_start_s cn63xxp1; 705412394d1SDavid Daney struct cvmx_pemx_p2n_bar2_start_s cn66xx; 706412394d1SDavid Daney struct cvmx_pemx_p2n_bar2_start_s cn68xx; 707412394d1SDavid Daney struct cvmx_pemx_p2n_bar2_start_s cn68xxp1; 708c5aa59e8SDavid Daney struct cvmx_pemx_p2n_bar2_start_s cnf71xx; 709412394d1SDavid Daney }; 710412394d1SDavid Daney 711412394d1SDavid Daney union cvmx_pemx_p2p_barx_end { 712412394d1SDavid Daney uint64_t u64; 713412394d1SDavid Daney struct cvmx_pemx_p2p_barx_end_s { 714c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 715412394d1SDavid Daney uint64_t addr:52; 716412394d1SDavid Daney uint64_t reserved_0_11:12; 717c5aa59e8SDavid Daney #else 718c5aa59e8SDavid Daney uint64_t reserved_0_11:12; 719c5aa59e8SDavid Daney uint64_t addr:52; 720c5aa59e8SDavid Daney #endif 721412394d1SDavid Daney } s; 722412394d1SDavid Daney struct cvmx_pemx_p2p_barx_end_s cn63xx; 723412394d1SDavid Daney struct cvmx_pemx_p2p_barx_end_s cn63xxp1; 724412394d1SDavid Daney struct cvmx_pemx_p2p_barx_end_s cn66xx; 725412394d1SDavid Daney struct cvmx_pemx_p2p_barx_end_s cn68xx; 726412394d1SDavid Daney struct cvmx_pemx_p2p_barx_end_s cn68xxp1; 727412394d1SDavid Daney }; 728412394d1SDavid Daney 729412394d1SDavid Daney union cvmx_pemx_p2p_barx_start { 730412394d1SDavid Daney uint64_t u64; 731412394d1SDavid Daney struct cvmx_pemx_p2p_barx_start_s { 732c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 733412394d1SDavid Daney uint64_t addr:52; 734412394d1SDavid Daney uint64_t reserved_0_11:12; 735c5aa59e8SDavid Daney #else 736c5aa59e8SDavid Daney uint64_t reserved_0_11:12; 737c5aa59e8SDavid Daney uint64_t addr:52; 738c5aa59e8SDavid Daney #endif 739412394d1SDavid Daney } s; 740412394d1SDavid Daney struct cvmx_pemx_p2p_barx_start_s cn63xx; 741412394d1SDavid Daney struct cvmx_pemx_p2p_barx_start_s cn63xxp1; 742412394d1SDavid Daney struct cvmx_pemx_p2p_barx_start_s cn66xx; 743412394d1SDavid Daney struct cvmx_pemx_p2p_barx_start_s cn68xx; 744412394d1SDavid Daney struct cvmx_pemx_p2p_barx_start_s cn68xxp1; 745412394d1SDavid Daney }; 746412394d1SDavid Daney 747412394d1SDavid Daney union cvmx_pemx_tlp_credits { 748412394d1SDavid Daney uint64_t u64; 749412394d1SDavid Daney struct cvmx_pemx_tlp_credits_s { 750c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 751412394d1SDavid Daney uint64_t reserved_56_63:8; 752412394d1SDavid Daney uint64_t peai_ppf:8; 753412394d1SDavid Daney uint64_t pem_cpl:8; 754412394d1SDavid Daney uint64_t pem_np:8; 755412394d1SDavid Daney uint64_t pem_p:8; 756412394d1SDavid Daney uint64_t sli_cpl:8; 757412394d1SDavid Daney uint64_t sli_np:8; 758412394d1SDavid Daney uint64_t sli_p:8; 759c5aa59e8SDavid Daney #else 760c5aa59e8SDavid Daney uint64_t sli_p:8; 761c5aa59e8SDavid Daney uint64_t sli_np:8; 762c5aa59e8SDavid Daney uint64_t sli_cpl:8; 763c5aa59e8SDavid Daney uint64_t pem_p:8; 764c5aa59e8SDavid Daney uint64_t pem_np:8; 765c5aa59e8SDavid Daney uint64_t pem_cpl:8; 766c5aa59e8SDavid Daney uint64_t peai_ppf:8; 767c5aa59e8SDavid Daney uint64_t reserved_56_63:8; 768c5aa59e8SDavid Daney #endif 769412394d1SDavid Daney } s; 770412394d1SDavid Daney struct cvmx_pemx_tlp_credits_cn61xx { 771c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 772412394d1SDavid Daney uint64_t reserved_56_63:8; 773412394d1SDavid Daney uint64_t peai_ppf:8; 774412394d1SDavid Daney uint64_t reserved_24_47:24; 775412394d1SDavid Daney uint64_t sli_cpl:8; 776412394d1SDavid Daney uint64_t sli_np:8; 777412394d1SDavid Daney uint64_t sli_p:8; 778c5aa59e8SDavid Daney #else 779c5aa59e8SDavid Daney uint64_t sli_p:8; 780c5aa59e8SDavid Daney uint64_t sli_np:8; 781c5aa59e8SDavid Daney uint64_t sli_cpl:8; 782c5aa59e8SDavid Daney uint64_t reserved_24_47:24; 783c5aa59e8SDavid Daney uint64_t peai_ppf:8; 784c5aa59e8SDavid Daney uint64_t reserved_56_63:8; 785c5aa59e8SDavid Daney #endif 786412394d1SDavid Daney } cn61xx; 787412394d1SDavid Daney struct cvmx_pemx_tlp_credits_s cn63xx; 788412394d1SDavid Daney struct cvmx_pemx_tlp_credits_s cn63xxp1; 789412394d1SDavid Daney struct cvmx_pemx_tlp_credits_s cn66xx; 790412394d1SDavid Daney struct cvmx_pemx_tlp_credits_s cn68xx; 791412394d1SDavid Daney struct cvmx_pemx_tlp_credits_s cn68xxp1; 792c5aa59e8SDavid Daney struct cvmx_pemx_tlp_credits_cn61xx cnf71xx; 793412394d1SDavid Daney }; 794412394d1SDavid Daney 795412394d1SDavid Daney #endif 796