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 * 7412394d1SDavid Daney * Copyright (c) 2003-2011 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_DPI_DEFS_H__ 29412394d1SDavid Daney #define __CVMX_DPI_DEFS_H__ 30412394d1SDavid Daney 31412394d1SDavid Daney #define CVMX_DPI_BIST_STATUS (CVMX_ADD_IO_SEG(0x0001DF0000000000ull)) 32412394d1SDavid Daney #define CVMX_DPI_CTL (CVMX_ADD_IO_SEG(0x0001DF0000000040ull)) 33412394d1SDavid Daney #define CVMX_DPI_DMAX_COUNTS(offset) (CVMX_ADD_IO_SEG(0x0001DF0000000300ull) + ((offset) & 7) * 8) 34412394d1SDavid Daney #define CVMX_DPI_DMAX_DBELL(offset) (CVMX_ADD_IO_SEG(0x0001DF0000000200ull) + ((offset) & 7) * 8) 35412394d1SDavid Daney #define CVMX_DPI_DMAX_ERR_RSP_STATUS(offset) (CVMX_ADD_IO_SEG(0x0001DF0000000A80ull) + ((offset) & 7) * 8) 36412394d1SDavid Daney #define CVMX_DPI_DMAX_IBUFF_SADDR(offset) (CVMX_ADD_IO_SEG(0x0001DF0000000280ull) + ((offset) & 7) * 8) 37412394d1SDavid Daney #define CVMX_DPI_DMAX_IFLIGHT(offset) (CVMX_ADD_IO_SEG(0x0001DF0000000A00ull) + ((offset) & 7) * 8) 38412394d1SDavid Daney #define CVMX_DPI_DMAX_NADDR(offset) (CVMX_ADD_IO_SEG(0x0001DF0000000380ull) + ((offset) & 7) * 8) 39412394d1SDavid Daney #define CVMX_DPI_DMAX_REQBNK0(offset) (CVMX_ADD_IO_SEG(0x0001DF0000000400ull) + ((offset) & 7) * 8) 40412394d1SDavid Daney #define CVMX_DPI_DMAX_REQBNK1(offset) (CVMX_ADD_IO_SEG(0x0001DF0000000480ull) + ((offset) & 7) * 8) 41412394d1SDavid Daney #define CVMX_DPI_DMA_CONTROL (CVMX_ADD_IO_SEG(0x0001DF0000000048ull)) 42412394d1SDavid Daney #define CVMX_DPI_DMA_ENGX_EN(offset) (CVMX_ADD_IO_SEG(0x0001DF0000000080ull) + ((offset) & 7) * 8) 43412394d1SDavid Daney #define CVMX_DPI_DMA_PPX_CNT(offset) (CVMX_ADD_IO_SEG(0x0001DF0000000B00ull) + ((offset) & 31) * 8) 44412394d1SDavid Daney #define CVMX_DPI_ENGX_BUF(offset) (CVMX_ADD_IO_SEG(0x0001DF0000000880ull) + ((offset) & 7) * 8) 45412394d1SDavid Daney #define CVMX_DPI_INFO_REG (CVMX_ADD_IO_SEG(0x0001DF0000000980ull)) 46412394d1SDavid Daney #define CVMX_DPI_INT_EN (CVMX_ADD_IO_SEG(0x0001DF0000000010ull)) 47412394d1SDavid Daney #define CVMX_DPI_INT_REG (CVMX_ADD_IO_SEG(0x0001DF0000000008ull)) 48412394d1SDavid Daney #define CVMX_DPI_NCBX_CFG(block_id) (CVMX_ADD_IO_SEG(0x0001DF0000000800ull)) 49412394d1SDavid Daney #define CVMX_DPI_PINT_INFO (CVMX_ADD_IO_SEG(0x0001DF0000000830ull)) 50412394d1SDavid Daney #define CVMX_DPI_PKT_ERR_RSP (CVMX_ADD_IO_SEG(0x0001DF0000000078ull)) 51412394d1SDavid Daney #define CVMX_DPI_REQ_ERR_RSP (CVMX_ADD_IO_SEG(0x0001DF0000000058ull)) 52412394d1SDavid Daney #define CVMX_DPI_REQ_ERR_RSP_EN (CVMX_ADD_IO_SEG(0x0001DF0000000068ull)) 53412394d1SDavid Daney #define CVMX_DPI_REQ_ERR_RST (CVMX_ADD_IO_SEG(0x0001DF0000000060ull)) 54412394d1SDavid Daney #define CVMX_DPI_REQ_ERR_RST_EN (CVMX_ADD_IO_SEG(0x0001DF0000000070ull)) 55412394d1SDavid Daney #define CVMX_DPI_REQ_ERR_SKIP_COMP (CVMX_ADD_IO_SEG(0x0001DF0000000838ull)) 56412394d1SDavid Daney #define CVMX_DPI_REQ_GBL_EN (CVMX_ADD_IO_SEG(0x0001DF0000000050ull)) 57412394d1SDavid Daney #define CVMX_DPI_SLI_PRTX_CFG(offset) (CVMX_ADD_IO_SEG(0x0001DF0000000900ull) + ((offset) & 3) * 8) 58412394d1SDavid Daney #define CVMX_DPI_SLI_PRTX_ERR_INFO(offset) (CVMX_ADD_IO_SEG(0x0001DF0000000940ull) + ((offset) & 3) * 8) 59412394d1SDavid Daney 60412394d1SDavid Daney union cvmx_dpi_bist_status { 61412394d1SDavid Daney uint64_t u64; 62412394d1SDavid Daney struct cvmx_dpi_bist_status_s { 63412394d1SDavid Daney uint64_t reserved_47_63:17; 64412394d1SDavid Daney uint64_t bist:47; 65412394d1SDavid Daney } s; 66412394d1SDavid Daney struct cvmx_dpi_bist_status_s cn61xx; 67412394d1SDavid Daney struct cvmx_dpi_bist_status_cn63xx { 68412394d1SDavid Daney uint64_t reserved_45_63:19; 69412394d1SDavid Daney uint64_t bist:45; 70412394d1SDavid Daney } cn63xx; 71412394d1SDavid Daney struct cvmx_dpi_bist_status_cn63xxp1 { 72412394d1SDavid Daney uint64_t reserved_37_63:27; 73412394d1SDavid Daney uint64_t bist:37; 74412394d1SDavid Daney } cn63xxp1; 75412394d1SDavid Daney struct cvmx_dpi_bist_status_s cn66xx; 76412394d1SDavid Daney struct cvmx_dpi_bist_status_cn63xx cn68xx; 77412394d1SDavid Daney struct cvmx_dpi_bist_status_cn63xx cn68xxp1; 78412394d1SDavid Daney }; 79412394d1SDavid Daney 80412394d1SDavid Daney union cvmx_dpi_ctl { 81412394d1SDavid Daney uint64_t u64; 82412394d1SDavid Daney struct cvmx_dpi_ctl_s { 83412394d1SDavid Daney uint64_t reserved_2_63:62; 84412394d1SDavid Daney uint64_t clk:1; 85412394d1SDavid Daney uint64_t en:1; 86412394d1SDavid Daney } s; 87412394d1SDavid Daney struct cvmx_dpi_ctl_cn61xx { 88412394d1SDavid Daney uint64_t reserved_1_63:63; 89412394d1SDavid Daney uint64_t en:1; 90412394d1SDavid Daney } cn61xx; 91412394d1SDavid Daney struct cvmx_dpi_ctl_s cn63xx; 92412394d1SDavid Daney struct cvmx_dpi_ctl_s cn63xxp1; 93412394d1SDavid Daney struct cvmx_dpi_ctl_s cn66xx; 94412394d1SDavid Daney struct cvmx_dpi_ctl_s cn68xx; 95412394d1SDavid Daney struct cvmx_dpi_ctl_s cn68xxp1; 96412394d1SDavid Daney }; 97412394d1SDavid Daney 98412394d1SDavid Daney union cvmx_dpi_dmax_counts { 99412394d1SDavid Daney uint64_t u64; 100412394d1SDavid Daney struct cvmx_dpi_dmax_counts_s { 101412394d1SDavid Daney uint64_t reserved_39_63:25; 102412394d1SDavid Daney uint64_t fcnt:7; 103412394d1SDavid Daney uint64_t dbell:32; 104412394d1SDavid Daney } s; 105412394d1SDavid Daney struct cvmx_dpi_dmax_counts_s cn61xx; 106412394d1SDavid Daney struct cvmx_dpi_dmax_counts_s cn63xx; 107412394d1SDavid Daney struct cvmx_dpi_dmax_counts_s cn63xxp1; 108412394d1SDavid Daney struct cvmx_dpi_dmax_counts_s cn66xx; 109412394d1SDavid Daney struct cvmx_dpi_dmax_counts_s cn68xx; 110412394d1SDavid Daney struct cvmx_dpi_dmax_counts_s cn68xxp1; 111412394d1SDavid Daney }; 112412394d1SDavid Daney 113412394d1SDavid Daney union cvmx_dpi_dmax_dbell { 114412394d1SDavid Daney uint64_t u64; 115412394d1SDavid Daney struct cvmx_dpi_dmax_dbell_s { 116412394d1SDavid Daney uint64_t reserved_16_63:48; 117412394d1SDavid Daney uint64_t dbell:16; 118412394d1SDavid Daney } s; 119412394d1SDavid Daney struct cvmx_dpi_dmax_dbell_s cn61xx; 120412394d1SDavid Daney struct cvmx_dpi_dmax_dbell_s cn63xx; 121412394d1SDavid Daney struct cvmx_dpi_dmax_dbell_s cn63xxp1; 122412394d1SDavid Daney struct cvmx_dpi_dmax_dbell_s cn66xx; 123412394d1SDavid Daney struct cvmx_dpi_dmax_dbell_s cn68xx; 124412394d1SDavid Daney struct cvmx_dpi_dmax_dbell_s cn68xxp1; 125412394d1SDavid Daney }; 126412394d1SDavid Daney 127412394d1SDavid Daney union cvmx_dpi_dmax_err_rsp_status { 128412394d1SDavid Daney uint64_t u64; 129412394d1SDavid Daney struct cvmx_dpi_dmax_err_rsp_status_s { 130412394d1SDavid Daney uint64_t reserved_6_63:58; 131412394d1SDavid Daney uint64_t status:6; 132412394d1SDavid Daney } s; 133412394d1SDavid Daney struct cvmx_dpi_dmax_err_rsp_status_s cn61xx; 134412394d1SDavid Daney struct cvmx_dpi_dmax_err_rsp_status_s cn66xx; 135412394d1SDavid Daney struct cvmx_dpi_dmax_err_rsp_status_s cn68xx; 136412394d1SDavid Daney struct cvmx_dpi_dmax_err_rsp_status_s cn68xxp1; 137412394d1SDavid Daney }; 138412394d1SDavid Daney 139412394d1SDavid Daney union cvmx_dpi_dmax_ibuff_saddr { 140412394d1SDavid Daney uint64_t u64; 141412394d1SDavid Daney struct cvmx_dpi_dmax_ibuff_saddr_s { 142412394d1SDavid Daney uint64_t reserved_62_63:2; 143412394d1SDavid Daney uint64_t csize:14; 144412394d1SDavid Daney uint64_t reserved_41_47:7; 145412394d1SDavid Daney uint64_t idle:1; 146412394d1SDavid Daney uint64_t saddr:33; 147412394d1SDavid Daney uint64_t reserved_0_6:7; 148412394d1SDavid Daney } s; 149412394d1SDavid Daney struct cvmx_dpi_dmax_ibuff_saddr_cn61xx { 150412394d1SDavid Daney uint64_t reserved_62_63:2; 151412394d1SDavid Daney uint64_t csize:14; 152412394d1SDavid Daney uint64_t reserved_41_47:7; 153412394d1SDavid Daney uint64_t idle:1; 154412394d1SDavid Daney uint64_t reserved_36_39:4; 155412394d1SDavid Daney uint64_t saddr:29; 156412394d1SDavid Daney uint64_t reserved_0_6:7; 157412394d1SDavid Daney } cn61xx; 158412394d1SDavid Daney struct cvmx_dpi_dmax_ibuff_saddr_cn61xx cn63xx; 159412394d1SDavid Daney struct cvmx_dpi_dmax_ibuff_saddr_cn61xx cn63xxp1; 160412394d1SDavid Daney struct cvmx_dpi_dmax_ibuff_saddr_cn61xx cn66xx; 161412394d1SDavid Daney struct cvmx_dpi_dmax_ibuff_saddr_s cn68xx; 162412394d1SDavid Daney struct cvmx_dpi_dmax_ibuff_saddr_s cn68xxp1; 163412394d1SDavid Daney }; 164412394d1SDavid Daney 165412394d1SDavid Daney union cvmx_dpi_dmax_iflight { 166412394d1SDavid Daney uint64_t u64; 167412394d1SDavid Daney struct cvmx_dpi_dmax_iflight_s { 168412394d1SDavid Daney uint64_t reserved_3_63:61; 169412394d1SDavid Daney uint64_t cnt:3; 170412394d1SDavid Daney } s; 171412394d1SDavid Daney struct cvmx_dpi_dmax_iflight_s cn61xx; 172412394d1SDavid Daney struct cvmx_dpi_dmax_iflight_s cn66xx; 173412394d1SDavid Daney struct cvmx_dpi_dmax_iflight_s cn68xx; 174412394d1SDavid Daney struct cvmx_dpi_dmax_iflight_s cn68xxp1; 175412394d1SDavid Daney }; 176412394d1SDavid Daney 177412394d1SDavid Daney union cvmx_dpi_dmax_naddr { 178412394d1SDavid Daney uint64_t u64; 179412394d1SDavid Daney struct cvmx_dpi_dmax_naddr_s { 180412394d1SDavid Daney uint64_t reserved_40_63:24; 181412394d1SDavid Daney uint64_t addr:40; 182412394d1SDavid Daney } s; 183412394d1SDavid Daney struct cvmx_dpi_dmax_naddr_cn61xx { 184412394d1SDavid Daney uint64_t reserved_36_63:28; 185412394d1SDavid Daney uint64_t addr:36; 186412394d1SDavid Daney } cn61xx; 187412394d1SDavid Daney struct cvmx_dpi_dmax_naddr_cn61xx cn63xx; 188412394d1SDavid Daney struct cvmx_dpi_dmax_naddr_cn61xx cn63xxp1; 189412394d1SDavid Daney struct cvmx_dpi_dmax_naddr_cn61xx cn66xx; 190412394d1SDavid Daney struct cvmx_dpi_dmax_naddr_s cn68xx; 191412394d1SDavid Daney struct cvmx_dpi_dmax_naddr_s cn68xxp1; 192412394d1SDavid Daney }; 193412394d1SDavid Daney 194412394d1SDavid Daney union cvmx_dpi_dmax_reqbnk0 { 195412394d1SDavid Daney uint64_t u64; 196412394d1SDavid Daney struct cvmx_dpi_dmax_reqbnk0_s { 197412394d1SDavid Daney uint64_t state:64; 198412394d1SDavid Daney } s; 199412394d1SDavid Daney struct cvmx_dpi_dmax_reqbnk0_s cn61xx; 200412394d1SDavid Daney struct cvmx_dpi_dmax_reqbnk0_s cn63xx; 201412394d1SDavid Daney struct cvmx_dpi_dmax_reqbnk0_s cn63xxp1; 202412394d1SDavid Daney struct cvmx_dpi_dmax_reqbnk0_s cn66xx; 203412394d1SDavid Daney struct cvmx_dpi_dmax_reqbnk0_s cn68xx; 204412394d1SDavid Daney struct cvmx_dpi_dmax_reqbnk0_s cn68xxp1; 205412394d1SDavid Daney }; 206412394d1SDavid Daney 207412394d1SDavid Daney union cvmx_dpi_dmax_reqbnk1 { 208412394d1SDavid Daney uint64_t u64; 209412394d1SDavid Daney struct cvmx_dpi_dmax_reqbnk1_s { 210412394d1SDavid Daney uint64_t state:64; 211412394d1SDavid Daney } s; 212412394d1SDavid Daney struct cvmx_dpi_dmax_reqbnk1_s cn61xx; 213412394d1SDavid Daney struct cvmx_dpi_dmax_reqbnk1_s cn63xx; 214412394d1SDavid Daney struct cvmx_dpi_dmax_reqbnk1_s cn63xxp1; 215412394d1SDavid Daney struct cvmx_dpi_dmax_reqbnk1_s cn66xx; 216412394d1SDavid Daney struct cvmx_dpi_dmax_reqbnk1_s cn68xx; 217412394d1SDavid Daney struct cvmx_dpi_dmax_reqbnk1_s cn68xxp1; 218412394d1SDavid Daney }; 219412394d1SDavid Daney 220412394d1SDavid Daney union cvmx_dpi_dma_control { 221412394d1SDavid Daney uint64_t u64; 222412394d1SDavid Daney struct cvmx_dpi_dma_control_s { 223412394d1SDavid Daney uint64_t reserved_62_63:2; 224412394d1SDavid Daney uint64_t dici_mode:1; 225412394d1SDavid Daney uint64_t pkt_en1:1; 226412394d1SDavid Daney uint64_t ffp_dis:1; 227412394d1SDavid Daney uint64_t commit_mode:1; 228412394d1SDavid Daney uint64_t pkt_hp:1; 229412394d1SDavid Daney uint64_t pkt_en:1; 230412394d1SDavid Daney uint64_t reserved_54_55:2; 231412394d1SDavid Daney uint64_t dma_enb:6; 232412394d1SDavid Daney uint64_t reserved_34_47:14; 233412394d1SDavid Daney uint64_t b0_lend:1; 234412394d1SDavid Daney uint64_t dwb_denb:1; 235412394d1SDavid Daney uint64_t dwb_ichk:9; 236412394d1SDavid Daney uint64_t fpa_que:3; 237412394d1SDavid Daney uint64_t o_add1:1; 238412394d1SDavid Daney uint64_t o_ro:1; 239412394d1SDavid Daney uint64_t o_ns:1; 240412394d1SDavid Daney uint64_t o_es:2; 241412394d1SDavid Daney uint64_t o_mode:1; 242412394d1SDavid Daney uint64_t reserved_0_13:14; 243412394d1SDavid Daney } s; 244412394d1SDavid Daney struct cvmx_dpi_dma_control_s cn61xx; 245412394d1SDavid Daney struct cvmx_dpi_dma_control_cn63xx { 246412394d1SDavid Daney uint64_t reserved_61_63:3; 247412394d1SDavid Daney uint64_t pkt_en1:1; 248412394d1SDavid Daney uint64_t ffp_dis:1; 249412394d1SDavid Daney uint64_t commit_mode:1; 250412394d1SDavid Daney uint64_t pkt_hp:1; 251412394d1SDavid Daney uint64_t pkt_en:1; 252412394d1SDavid Daney uint64_t reserved_54_55:2; 253412394d1SDavid Daney uint64_t dma_enb:6; 254412394d1SDavid Daney uint64_t reserved_34_47:14; 255412394d1SDavid Daney uint64_t b0_lend:1; 256412394d1SDavid Daney uint64_t dwb_denb:1; 257412394d1SDavid Daney uint64_t dwb_ichk:9; 258412394d1SDavid Daney uint64_t fpa_que:3; 259412394d1SDavid Daney uint64_t o_add1:1; 260412394d1SDavid Daney uint64_t o_ro:1; 261412394d1SDavid Daney uint64_t o_ns:1; 262412394d1SDavid Daney uint64_t o_es:2; 263412394d1SDavid Daney uint64_t o_mode:1; 264412394d1SDavid Daney uint64_t reserved_0_13:14; 265412394d1SDavid Daney } cn63xx; 266412394d1SDavid Daney struct cvmx_dpi_dma_control_cn63xxp1 { 267412394d1SDavid Daney uint64_t reserved_59_63:5; 268412394d1SDavid Daney uint64_t commit_mode:1; 269412394d1SDavid Daney uint64_t pkt_hp:1; 270412394d1SDavid Daney uint64_t pkt_en:1; 271412394d1SDavid Daney uint64_t reserved_54_55:2; 272412394d1SDavid Daney uint64_t dma_enb:6; 273412394d1SDavid Daney uint64_t reserved_34_47:14; 274412394d1SDavid Daney uint64_t b0_lend:1; 275412394d1SDavid Daney uint64_t dwb_denb:1; 276412394d1SDavid Daney uint64_t dwb_ichk:9; 277412394d1SDavid Daney uint64_t fpa_que:3; 278412394d1SDavid Daney uint64_t o_add1:1; 279412394d1SDavid Daney uint64_t o_ro:1; 280412394d1SDavid Daney uint64_t o_ns:1; 281412394d1SDavid Daney uint64_t o_es:2; 282412394d1SDavid Daney uint64_t o_mode:1; 283412394d1SDavid Daney uint64_t reserved_0_13:14; 284412394d1SDavid Daney } cn63xxp1; 285412394d1SDavid Daney struct cvmx_dpi_dma_control_cn63xx cn66xx; 286412394d1SDavid Daney struct cvmx_dpi_dma_control_s cn68xx; 287412394d1SDavid Daney struct cvmx_dpi_dma_control_cn63xx cn68xxp1; 288412394d1SDavid Daney }; 289412394d1SDavid Daney 290412394d1SDavid Daney union cvmx_dpi_dma_engx_en { 291412394d1SDavid Daney uint64_t u64; 292412394d1SDavid Daney struct cvmx_dpi_dma_engx_en_s { 293412394d1SDavid Daney uint64_t reserved_8_63:56; 294412394d1SDavid Daney uint64_t qen:8; 295412394d1SDavid Daney } s; 296412394d1SDavid Daney struct cvmx_dpi_dma_engx_en_s cn61xx; 297412394d1SDavid Daney struct cvmx_dpi_dma_engx_en_s cn63xx; 298412394d1SDavid Daney struct cvmx_dpi_dma_engx_en_s cn63xxp1; 299412394d1SDavid Daney struct cvmx_dpi_dma_engx_en_s cn66xx; 300412394d1SDavid Daney struct cvmx_dpi_dma_engx_en_s cn68xx; 301412394d1SDavid Daney struct cvmx_dpi_dma_engx_en_s cn68xxp1; 302412394d1SDavid Daney }; 303412394d1SDavid Daney 304412394d1SDavid Daney union cvmx_dpi_dma_ppx_cnt { 305412394d1SDavid Daney uint64_t u64; 306412394d1SDavid Daney struct cvmx_dpi_dma_ppx_cnt_s { 307412394d1SDavid Daney uint64_t reserved_16_63:48; 308412394d1SDavid Daney uint64_t cnt:16; 309412394d1SDavid Daney } s; 310412394d1SDavid Daney struct cvmx_dpi_dma_ppx_cnt_s cn61xx; 311412394d1SDavid Daney struct cvmx_dpi_dma_ppx_cnt_s cn68xx; 312412394d1SDavid Daney }; 313412394d1SDavid Daney 314412394d1SDavid Daney union cvmx_dpi_engx_buf { 315412394d1SDavid Daney uint64_t u64; 316412394d1SDavid Daney struct cvmx_dpi_engx_buf_s { 317412394d1SDavid Daney uint64_t reserved_37_63:27; 318412394d1SDavid Daney uint64_t compblks:5; 319412394d1SDavid Daney uint64_t reserved_9_31:23; 320412394d1SDavid Daney uint64_t base:5; 321412394d1SDavid Daney uint64_t blks:4; 322412394d1SDavid Daney } s; 323412394d1SDavid Daney struct cvmx_dpi_engx_buf_s cn61xx; 324412394d1SDavid Daney struct cvmx_dpi_engx_buf_cn63xx { 325412394d1SDavid Daney uint64_t reserved_8_63:56; 326412394d1SDavid Daney uint64_t base:4; 327412394d1SDavid Daney uint64_t blks:4; 328412394d1SDavid Daney } cn63xx; 329412394d1SDavid Daney struct cvmx_dpi_engx_buf_cn63xx cn63xxp1; 330412394d1SDavid Daney struct cvmx_dpi_engx_buf_s cn66xx; 331412394d1SDavid Daney struct cvmx_dpi_engx_buf_s cn68xx; 332412394d1SDavid Daney struct cvmx_dpi_engx_buf_s cn68xxp1; 333412394d1SDavid Daney }; 334412394d1SDavid Daney 335412394d1SDavid Daney union cvmx_dpi_info_reg { 336412394d1SDavid Daney uint64_t u64; 337412394d1SDavid Daney struct cvmx_dpi_info_reg_s { 338412394d1SDavid Daney uint64_t reserved_8_63:56; 339412394d1SDavid Daney uint64_t ffp:4; 340412394d1SDavid Daney uint64_t reserved_2_3:2; 341412394d1SDavid Daney uint64_t ncb:1; 342412394d1SDavid Daney uint64_t rsl:1; 343412394d1SDavid Daney } s; 344412394d1SDavid Daney struct cvmx_dpi_info_reg_s cn61xx; 345412394d1SDavid Daney struct cvmx_dpi_info_reg_s cn63xx; 346412394d1SDavid Daney struct cvmx_dpi_info_reg_cn63xxp1 { 347412394d1SDavid Daney uint64_t reserved_2_63:62; 348412394d1SDavid Daney uint64_t ncb:1; 349412394d1SDavid Daney uint64_t rsl:1; 350412394d1SDavid Daney } cn63xxp1; 351412394d1SDavid Daney struct cvmx_dpi_info_reg_s cn66xx; 352412394d1SDavid Daney struct cvmx_dpi_info_reg_s cn68xx; 353412394d1SDavid Daney struct cvmx_dpi_info_reg_s cn68xxp1; 354412394d1SDavid Daney }; 355412394d1SDavid Daney 356412394d1SDavid Daney union cvmx_dpi_int_en { 357412394d1SDavid Daney uint64_t u64; 358412394d1SDavid Daney struct cvmx_dpi_int_en_s { 359412394d1SDavid Daney uint64_t reserved_28_63:36; 360412394d1SDavid Daney uint64_t sprt3_rst:1; 361412394d1SDavid Daney uint64_t sprt2_rst:1; 362412394d1SDavid Daney uint64_t sprt1_rst:1; 363412394d1SDavid Daney uint64_t sprt0_rst:1; 364412394d1SDavid Daney uint64_t reserved_23_23:1; 365412394d1SDavid Daney uint64_t req_badfil:1; 366412394d1SDavid Daney uint64_t req_inull:1; 367412394d1SDavid Daney uint64_t req_anull:1; 368412394d1SDavid Daney uint64_t req_undflw:1; 369412394d1SDavid Daney uint64_t req_ovrflw:1; 370412394d1SDavid Daney uint64_t req_badlen:1; 371412394d1SDavid Daney uint64_t req_badadr:1; 372412394d1SDavid Daney uint64_t dmadbo:8; 373412394d1SDavid Daney uint64_t reserved_2_7:6; 374412394d1SDavid Daney uint64_t nfovr:1; 375412394d1SDavid Daney uint64_t nderr:1; 376412394d1SDavid Daney } s; 377412394d1SDavid Daney struct cvmx_dpi_int_en_s cn61xx; 378412394d1SDavid Daney struct cvmx_dpi_int_en_cn63xx { 379412394d1SDavid Daney uint64_t reserved_26_63:38; 380412394d1SDavid Daney uint64_t sprt1_rst:1; 381412394d1SDavid Daney uint64_t sprt0_rst:1; 382412394d1SDavid Daney uint64_t reserved_23_23:1; 383412394d1SDavid Daney uint64_t req_badfil:1; 384412394d1SDavid Daney uint64_t req_inull:1; 385412394d1SDavid Daney uint64_t req_anull:1; 386412394d1SDavid Daney uint64_t req_undflw:1; 387412394d1SDavid Daney uint64_t req_ovrflw:1; 388412394d1SDavid Daney uint64_t req_badlen:1; 389412394d1SDavid Daney uint64_t req_badadr:1; 390412394d1SDavid Daney uint64_t dmadbo:8; 391412394d1SDavid Daney uint64_t reserved_2_7:6; 392412394d1SDavid Daney uint64_t nfovr:1; 393412394d1SDavid Daney uint64_t nderr:1; 394412394d1SDavid Daney } cn63xx; 395412394d1SDavid Daney struct cvmx_dpi_int_en_cn63xx cn63xxp1; 396412394d1SDavid Daney struct cvmx_dpi_int_en_s cn66xx; 397412394d1SDavid Daney struct cvmx_dpi_int_en_cn63xx cn68xx; 398412394d1SDavid Daney struct cvmx_dpi_int_en_cn63xx cn68xxp1; 399412394d1SDavid Daney }; 400412394d1SDavid Daney 401412394d1SDavid Daney union cvmx_dpi_int_reg { 402412394d1SDavid Daney uint64_t u64; 403412394d1SDavid Daney struct cvmx_dpi_int_reg_s { 404412394d1SDavid Daney uint64_t reserved_28_63:36; 405412394d1SDavid Daney uint64_t sprt3_rst:1; 406412394d1SDavid Daney uint64_t sprt2_rst:1; 407412394d1SDavid Daney uint64_t sprt1_rst:1; 408412394d1SDavid Daney uint64_t sprt0_rst:1; 409412394d1SDavid Daney uint64_t reserved_23_23:1; 410412394d1SDavid Daney uint64_t req_badfil:1; 411412394d1SDavid Daney uint64_t req_inull:1; 412412394d1SDavid Daney uint64_t req_anull:1; 413412394d1SDavid Daney uint64_t req_undflw:1; 414412394d1SDavid Daney uint64_t req_ovrflw:1; 415412394d1SDavid Daney uint64_t req_badlen:1; 416412394d1SDavid Daney uint64_t req_badadr:1; 417412394d1SDavid Daney uint64_t dmadbo:8; 418412394d1SDavid Daney uint64_t reserved_2_7:6; 419412394d1SDavid Daney uint64_t nfovr:1; 420412394d1SDavid Daney uint64_t nderr:1; 421412394d1SDavid Daney } s; 422412394d1SDavid Daney struct cvmx_dpi_int_reg_s cn61xx; 423412394d1SDavid Daney struct cvmx_dpi_int_reg_cn63xx { 424412394d1SDavid Daney uint64_t reserved_26_63:38; 425412394d1SDavid Daney uint64_t sprt1_rst:1; 426412394d1SDavid Daney uint64_t sprt0_rst:1; 427412394d1SDavid Daney uint64_t reserved_23_23:1; 428412394d1SDavid Daney uint64_t req_badfil:1; 429412394d1SDavid Daney uint64_t req_inull:1; 430412394d1SDavid Daney uint64_t req_anull:1; 431412394d1SDavid Daney uint64_t req_undflw:1; 432412394d1SDavid Daney uint64_t req_ovrflw:1; 433412394d1SDavid Daney uint64_t req_badlen:1; 434412394d1SDavid Daney uint64_t req_badadr:1; 435412394d1SDavid Daney uint64_t dmadbo:8; 436412394d1SDavid Daney uint64_t reserved_2_7:6; 437412394d1SDavid Daney uint64_t nfovr:1; 438412394d1SDavid Daney uint64_t nderr:1; 439412394d1SDavid Daney } cn63xx; 440412394d1SDavid Daney struct cvmx_dpi_int_reg_cn63xx cn63xxp1; 441412394d1SDavid Daney struct cvmx_dpi_int_reg_s cn66xx; 442412394d1SDavid Daney struct cvmx_dpi_int_reg_cn63xx cn68xx; 443412394d1SDavid Daney struct cvmx_dpi_int_reg_cn63xx cn68xxp1; 444412394d1SDavid Daney }; 445412394d1SDavid Daney 446412394d1SDavid Daney union cvmx_dpi_ncbx_cfg { 447412394d1SDavid Daney uint64_t u64; 448412394d1SDavid Daney struct cvmx_dpi_ncbx_cfg_s { 449412394d1SDavid Daney uint64_t reserved_6_63:58; 450412394d1SDavid Daney uint64_t molr:6; 451412394d1SDavid Daney } s; 452412394d1SDavid Daney struct cvmx_dpi_ncbx_cfg_s cn61xx; 453412394d1SDavid Daney struct cvmx_dpi_ncbx_cfg_s cn66xx; 454412394d1SDavid Daney struct cvmx_dpi_ncbx_cfg_s cn68xx; 455412394d1SDavid Daney }; 456412394d1SDavid Daney 457412394d1SDavid Daney union cvmx_dpi_pint_info { 458412394d1SDavid Daney uint64_t u64; 459412394d1SDavid Daney struct cvmx_dpi_pint_info_s { 460412394d1SDavid Daney uint64_t reserved_14_63:50; 461412394d1SDavid Daney uint64_t iinfo:6; 462412394d1SDavid Daney uint64_t reserved_6_7:2; 463412394d1SDavid Daney uint64_t sinfo:6; 464412394d1SDavid Daney } s; 465412394d1SDavid Daney struct cvmx_dpi_pint_info_s cn61xx; 466412394d1SDavid Daney struct cvmx_dpi_pint_info_s cn63xx; 467412394d1SDavid Daney struct cvmx_dpi_pint_info_s cn63xxp1; 468412394d1SDavid Daney struct cvmx_dpi_pint_info_s cn66xx; 469412394d1SDavid Daney struct cvmx_dpi_pint_info_s cn68xx; 470412394d1SDavid Daney struct cvmx_dpi_pint_info_s cn68xxp1; 471412394d1SDavid Daney }; 472412394d1SDavid Daney 473412394d1SDavid Daney union cvmx_dpi_pkt_err_rsp { 474412394d1SDavid Daney uint64_t u64; 475412394d1SDavid Daney struct cvmx_dpi_pkt_err_rsp_s { 476412394d1SDavid Daney uint64_t reserved_1_63:63; 477412394d1SDavid Daney uint64_t pkterr:1; 478412394d1SDavid Daney } s; 479412394d1SDavid Daney struct cvmx_dpi_pkt_err_rsp_s cn61xx; 480412394d1SDavid Daney struct cvmx_dpi_pkt_err_rsp_s cn63xx; 481412394d1SDavid Daney struct cvmx_dpi_pkt_err_rsp_s cn63xxp1; 482412394d1SDavid Daney struct cvmx_dpi_pkt_err_rsp_s cn66xx; 483412394d1SDavid Daney struct cvmx_dpi_pkt_err_rsp_s cn68xx; 484412394d1SDavid Daney struct cvmx_dpi_pkt_err_rsp_s cn68xxp1; 485412394d1SDavid Daney }; 486412394d1SDavid Daney 487412394d1SDavid Daney union cvmx_dpi_req_err_rsp { 488412394d1SDavid Daney uint64_t u64; 489412394d1SDavid Daney struct cvmx_dpi_req_err_rsp_s { 490412394d1SDavid Daney uint64_t reserved_8_63:56; 491412394d1SDavid Daney uint64_t qerr:8; 492412394d1SDavid Daney } s; 493412394d1SDavid Daney struct cvmx_dpi_req_err_rsp_s cn61xx; 494412394d1SDavid Daney struct cvmx_dpi_req_err_rsp_s cn63xx; 495412394d1SDavid Daney struct cvmx_dpi_req_err_rsp_s cn63xxp1; 496412394d1SDavid Daney struct cvmx_dpi_req_err_rsp_s cn66xx; 497412394d1SDavid Daney struct cvmx_dpi_req_err_rsp_s cn68xx; 498412394d1SDavid Daney struct cvmx_dpi_req_err_rsp_s cn68xxp1; 499412394d1SDavid Daney }; 500412394d1SDavid Daney 501412394d1SDavid Daney union cvmx_dpi_req_err_rsp_en { 502412394d1SDavid Daney uint64_t u64; 503412394d1SDavid Daney struct cvmx_dpi_req_err_rsp_en_s { 504412394d1SDavid Daney uint64_t reserved_8_63:56; 505412394d1SDavid Daney uint64_t en:8; 506412394d1SDavid Daney } s; 507412394d1SDavid Daney struct cvmx_dpi_req_err_rsp_en_s cn61xx; 508412394d1SDavid Daney struct cvmx_dpi_req_err_rsp_en_s cn63xx; 509412394d1SDavid Daney struct cvmx_dpi_req_err_rsp_en_s cn63xxp1; 510412394d1SDavid Daney struct cvmx_dpi_req_err_rsp_en_s cn66xx; 511412394d1SDavid Daney struct cvmx_dpi_req_err_rsp_en_s cn68xx; 512412394d1SDavid Daney struct cvmx_dpi_req_err_rsp_en_s cn68xxp1; 513412394d1SDavid Daney }; 514412394d1SDavid Daney 515412394d1SDavid Daney union cvmx_dpi_req_err_rst { 516412394d1SDavid Daney uint64_t u64; 517412394d1SDavid Daney struct cvmx_dpi_req_err_rst_s { 518412394d1SDavid Daney uint64_t reserved_8_63:56; 519412394d1SDavid Daney uint64_t qerr:8; 520412394d1SDavid Daney } s; 521412394d1SDavid Daney struct cvmx_dpi_req_err_rst_s cn61xx; 522412394d1SDavid Daney struct cvmx_dpi_req_err_rst_s cn63xx; 523412394d1SDavid Daney struct cvmx_dpi_req_err_rst_s cn63xxp1; 524412394d1SDavid Daney struct cvmx_dpi_req_err_rst_s cn66xx; 525412394d1SDavid Daney struct cvmx_dpi_req_err_rst_s cn68xx; 526412394d1SDavid Daney struct cvmx_dpi_req_err_rst_s cn68xxp1; 527412394d1SDavid Daney }; 528412394d1SDavid Daney 529412394d1SDavid Daney union cvmx_dpi_req_err_rst_en { 530412394d1SDavid Daney uint64_t u64; 531412394d1SDavid Daney struct cvmx_dpi_req_err_rst_en_s { 532412394d1SDavid Daney uint64_t reserved_8_63:56; 533412394d1SDavid Daney uint64_t en:8; 534412394d1SDavid Daney } s; 535412394d1SDavid Daney struct cvmx_dpi_req_err_rst_en_s cn61xx; 536412394d1SDavid Daney struct cvmx_dpi_req_err_rst_en_s cn63xx; 537412394d1SDavid Daney struct cvmx_dpi_req_err_rst_en_s cn63xxp1; 538412394d1SDavid Daney struct cvmx_dpi_req_err_rst_en_s cn66xx; 539412394d1SDavid Daney struct cvmx_dpi_req_err_rst_en_s cn68xx; 540412394d1SDavid Daney struct cvmx_dpi_req_err_rst_en_s cn68xxp1; 541412394d1SDavid Daney }; 542412394d1SDavid Daney 543412394d1SDavid Daney union cvmx_dpi_req_err_skip_comp { 544412394d1SDavid Daney uint64_t u64; 545412394d1SDavid Daney struct cvmx_dpi_req_err_skip_comp_s { 546412394d1SDavid Daney uint64_t reserved_24_63:40; 547412394d1SDavid Daney uint64_t en_rst:8; 548412394d1SDavid Daney uint64_t reserved_8_15:8; 549412394d1SDavid Daney uint64_t en_rsp:8; 550412394d1SDavid Daney } s; 551412394d1SDavid Daney struct cvmx_dpi_req_err_skip_comp_s cn61xx; 552412394d1SDavid Daney struct cvmx_dpi_req_err_skip_comp_s cn66xx; 553412394d1SDavid Daney struct cvmx_dpi_req_err_skip_comp_s cn68xx; 554412394d1SDavid Daney struct cvmx_dpi_req_err_skip_comp_s cn68xxp1; 555412394d1SDavid Daney }; 556412394d1SDavid Daney 557412394d1SDavid Daney union cvmx_dpi_req_gbl_en { 558412394d1SDavid Daney uint64_t u64; 559412394d1SDavid Daney struct cvmx_dpi_req_gbl_en_s { 560412394d1SDavid Daney uint64_t reserved_8_63:56; 561412394d1SDavid Daney uint64_t qen:8; 562412394d1SDavid Daney } s; 563412394d1SDavid Daney struct cvmx_dpi_req_gbl_en_s cn61xx; 564412394d1SDavid Daney struct cvmx_dpi_req_gbl_en_s cn63xx; 565412394d1SDavid Daney struct cvmx_dpi_req_gbl_en_s cn63xxp1; 566412394d1SDavid Daney struct cvmx_dpi_req_gbl_en_s cn66xx; 567412394d1SDavid Daney struct cvmx_dpi_req_gbl_en_s cn68xx; 568412394d1SDavid Daney struct cvmx_dpi_req_gbl_en_s cn68xxp1; 569412394d1SDavid Daney }; 570412394d1SDavid Daney 571412394d1SDavid Daney union cvmx_dpi_sli_prtx_cfg { 572412394d1SDavid Daney uint64_t u64; 573412394d1SDavid Daney struct cvmx_dpi_sli_prtx_cfg_s { 574412394d1SDavid Daney uint64_t reserved_25_63:39; 575412394d1SDavid Daney uint64_t halt:1; 576412394d1SDavid Daney uint64_t qlm_cfg:4; 577412394d1SDavid Daney uint64_t reserved_17_19:3; 578412394d1SDavid Daney uint64_t rd_mode:1; 579412394d1SDavid Daney uint64_t reserved_14_15:2; 580412394d1SDavid Daney uint64_t molr:6; 581412394d1SDavid Daney uint64_t mps_lim:1; 582412394d1SDavid Daney uint64_t reserved_5_6:2; 583412394d1SDavid Daney uint64_t mps:1; 584412394d1SDavid Daney uint64_t mrrs_lim:1; 585412394d1SDavid Daney uint64_t reserved_2_2:1; 586412394d1SDavid Daney uint64_t mrrs:2; 587412394d1SDavid Daney } s; 588412394d1SDavid Daney struct cvmx_dpi_sli_prtx_cfg_s cn61xx; 589412394d1SDavid Daney struct cvmx_dpi_sli_prtx_cfg_cn63xx { 590412394d1SDavid Daney uint64_t reserved_25_63:39; 591412394d1SDavid Daney uint64_t halt:1; 592412394d1SDavid Daney uint64_t reserved_21_23:3; 593412394d1SDavid Daney uint64_t qlm_cfg:1; 594412394d1SDavid Daney uint64_t reserved_17_19:3; 595412394d1SDavid Daney uint64_t rd_mode:1; 596412394d1SDavid Daney uint64_t reserved_14_15:2; 597412394d1SDavid Daney uint64_t molr:6; 598412394d1SDavid Daney uint64_t mps_lim:1; 599412394d1SDavid Daney uint64_t reserved_5_6:2; 600412394d1SDavid Daney uint64_t mps:1; 601412394d1SDavid Daney uint64_t mrrs_lim:1; 602412394d1SDavid Daney uint64_t reserved_2_2:1; 603412394d1SDavid Daney uint64_t mrrs:2; 604412394d1SDavid Daney } cn63xx; 605412394d1SDavid Daney struct cvmx_dpi_sli_prtx_cfg_cn63xx cn63xxp1; 606412394d1SDavid Daney struct cvmx_dpi_sli_prtx_cfg_s cn66xx; 607412394d1SDavid Daney struct cvmx_dpi_sli_prtx_cfg_cn63xx cn68xx; 608412394d1SDavid Daney struct cvmx_dpi_sli_prtx_cfg_cn63xx cn68xxp1; 609412394d1SDavid Daney }; 610412394d1SDavid Daney 611412394d1SDavid Daney union cvmx_dpi_sli_prtx_err { 612412394d1SDavid Daney uint64_t u64; 613412394d1SDavid Daney struct cvmx_dpi_sli_prtx_err_s { 614412394d1SDavid Daney uint64_t addr:61; 615412394d1SDavid Daney uint64_t reserved_0_2:3; 616412394d1SDavid Daney } s; 617412394d1SDavid Daney struct cvmx_dpi_sli_prtx_err_s cn61xx; 618412394d1SDavid Daney struct cvmx_dpi_sli_prtx_err_s cn63xx; 619412394d1SDavid Daney struct cvmx_dpi_sli_prtx_err_s cn63xxp1; 620412394d1SDavid Daney struct cvmx_dpi_sli_prtx_err_s cn66xx; 621412394d1SDavid Daney struct cvmx_dpi_sli_prtx_err_s cn68xx; 622412394d1SDavid Daney struct cvmx_dpi_sli_prtx_err_s cn68xxp1; 623412394d1SDavid Daney }; 624412394d1SDavid Daney 625412394d1SDavid Daney union cvmx_dpi_sli_prtx_err_info { 626412394d1SDavid Daney uint64_t u64; 627412394d1SDavid Daney struct cvmx_dpi_sli_prtx_err_info_s { 628412394d1SDavid Daney uint64_t reserved_9_63:55; 629412394d1SDavid Daney uint64_t lock:1; 630412394d1SDavid Daney uint64_t reserved_5_7:3; 631412394d1SDavid Daney uint64_t type:1; 632412394d1SDavid Daney uint64_t reserved_3_3:1; 633412394d1SDavid Daney uint64_t reqq:3; 634412394d1SDavid Daney } s; 635412394d1SDavid Daney struct cvmx_dpi_sli_prtx_err_info_s cn61xx; 636412394d1SDavid Daney struct cvmx_dpi_sli_prtx_err_info_s cn63xx; 637412394d1SDavid Daney struct cvmx_dpi_sli_prtx_err_info_s cn63xxp1; 638412394d1SDavid Daney struct cvmx_dpi_sli_prtx_err_info_s cn66xx; 639412394d1SDavid Daney struct cvmx_dpi_sli_prtx_err_info_s cn68xx; 640412394d1SDavid Daney struct cvmx_dpi_sli_prtx_err_info_s cn68xxp1; 641412394d1SDavid Daney }; 642412394d1SDavid Daney 643412394d1SDavid Daney #endif 644