linux/arch/mips/include/asm/octeon/cvmx-ipd-defs.h
<<
>>
Prefs
   1/***********************license start***************
   2 * Author: Cavium Networks
   3 *
   4 * Contact: support@caviumnetworks.com
   5 * This file is part of the OCTEON SDK
   6 *
   7 * Copyright (c) 2003-2010 Cavium Networks
   8 *
   9 * This file is free software; you can redistribute it and/or modify
  10 * it under the terms of the GNU General Public License, Version 2, as
  11 * published by the Free Software Foundation.
  12 *
  13 * This file is distributed in the hope that it will be useful, but
  14 * AS-IS and WITHOUT ANY WARRANTY; without even the implied warranty
  15 * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE, TITLE, or
  16 * NONINFRINGEMENT.  See the GNU General Public License for more
  17 * details.
  18 *
  19 * You should have received a copy of the GNU General Public License
  20 * along with this file; if not, write to the Free Software
  21 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
  22 * or visit http://www.gnu.org/licenses/.
  23 *
  24 * This file may also be available under a different license from Cavium.
  25 * Contact Cavium Networks for more information
  26 ***********************license end**************************************/
  27
  28#ifndef __CVMX_IPD_DEFS_H__
  29#define __CVMX_IPD_DEFS_H__
  30
  31#define CVMX_IPD_1ST_MBUFF_SKIP (CVMX_ADD_IO_SEG(0x00014F0000000000ull))
  32#define CVMX_IPD_1st_NEXT_PTR_BACK (CVMX_ADD_IO_SEG(0x00014F0000000150ull))
  33#define CVMX_IPD_2nd_NEXT_PTR_BACK (CVMX_ADD_IO_SEG(0x00014F0000000158ull))
  34#define CVMX_IPD_BIST_STATUS (CVMX_ADD_IO_SEG(0x00014F00000007F8ull))
  35#define CVMX_IPD_BP_PRT_RED_END (CVMX_ADD_IO_SEG(0x00014F0000000328ull))
  36#define CVMX_IPD_CLK_COUNT (CVMX_ADD_IO_SEG(0x00014F0000000338ull))
  37#define CVMX_IPD_CTL_STATUS (CVMX_ADD_IO_SEG(0x00014F0000000018ull))
  38#define CVMX_IPD_INT_ENB (CVMX_ADD_IO_SEG(0x00014F0000000160ull))
  39#define CVMX_IPD_INT_SUM (CVMX_ADD_IO_SEG(0x00014F0000000168ull))
  40#define CVMX_IPD_NOT_1ST_MBUFF_SKIP (CVMX_ADD_IO_SEG(0x00014F0000000008ull))
  41#define CVMX_IPD_PACKET_MBUFF_SIZE (CVMX_ADD_IO_SEG(0x00014F0000000010ull))
  42#define CVMX_IPD_PKT_PTR_VALID (CVMX_ADD_IO_SEG(0x00014F0000000358ull))
  43#define CVMX_IPD_PORTX_BP_PAGE_CNT(offset) (CVMX_ADD_IO_SEG(0x00014F0000000028ull) + ((offset) & 63) * 8)
  44#define CVMX_IPD_PORTX_BP_PAGE_CNT2(offset) (CVMX_ADD_IO_SEG(0x00014F0000000368ull) + ((offset) & 63) * 8 - 8*36)
  45#define CVMX_IPD_PORTX_BP_PAGE_CNT3(offset) (CVMX_ADD_IO_SEG(0x00014F00000003D0ull) + ((offset) & 63) * 8 - 8*40)
  46#define CVMX_IPD_PORT_BP_COUNTERS2_PAIRX(offset) (CVMX_ADD_IO_SEG(0x00014F0000000388ull) + ((offset) & 63) * 8 - 8*36)
  47#define CVMX_IPD_PORT_BP_COUNTERS3_PAIRX(offset) (CVMX_ADD_IO_SEG(0x00014F00000003B0ull) + ((offset) & 63) * 8 - 8*40)
  48#define CVMX_IPD_PORT_BP_COUNTERS_PAIRX(offset) (CVMX_ADD_IO_SEG(0x00014F00000001B8ull) + ((offset) & 63) * 8)
  49#define CVMX_IPD_PORT_QOS_INTX(offset) (CVMX_ADD_IO_SEG(0x00014F0000000808ull) + ((offset) & 7) * 8)
  50#define CVMX_IPD_PORT_QOS_INT_ENBX(offset) (CVMX_ADD_IO_SEG(0x00014F0000000848ull) + ((offset) & 7) * 8)
  51#define CVMX_IPD_PORT_QOS_X_CNT(offset) (CVMX_ADD_IO_SEG(0x00014F0000000888ull) + ((offset) & 511) * 8)
  52#define CVMX_IPD_PRC_HOLD_PTR_FIFO_CTL (CVMX_ADD_IO_SEG(0x00014F0000000348ull))
  53#define CVMX_IPD_PRC_PORT_PTR_FIFO_CTL (CVMX_ADD_IO_SEG(0x00014F0000000350ull))
  54#define CVMX_IPD_PTR_COUNT (CVMX_ADD_IO_SEG(0x00014F0000000320ull))
  55#define CVMX_IPD_PWP_PTR_FIFO_CTL (CVMX_ADD_IO_SEG(0x00014F0000000340ull))
  56#define CVMX_IPD_QOS0_RED_MARKS CVMX_IPD_QOSX_RED_MARKS(0)
  57#define CVMX_IPD_QOS1_RED_MARKS CVMX_IPD_QOSX_RED_MARKS(1)
  58#define CVMX_IPD_QOS2_RED_MARKS CVMX_IPD_QOSX_RED_MARKS(2)
  59#define CVMX_IPD_QOS3_RED_MARKS CVMX_IPD_QOSX_RED_MARKS(3)
  60#define CVMX_IPD_QOS4_RED_MARKS CVMX_IPD_QOSX_RED_MARKS(4)
  61#define CVMX_IPD_QOS5_RED_MARKS CVMX_IPD_QOSX_RED_MARKS(5)
  62#define CVMX_IPD_QOS6_RED_MARKS CVMX_IPD_QOSX_RED_MARKS(6)
  63#define CVMX_IPD_QOS7_RED_MARKS CVMX_IPD_QOSX_RED_MARKS(7)
  64#define CVMX_IPD_QOSX_RED_MARKS(offset) (CVMX_ADD_IO_SEG(0x00014F0000000178ull) + ((offset) & 7) * 8)
  65#define CVMX_IPD_QUE0_FREE_PAGE_CNT (CVMX_ADD_IO_SEG(0x00014F0000000330ull))
  66#define CVMX_IPD_RED_PORT_ENABLE (CVMX_ADD_IO_SEG(0x00014F00000002D8ull))
  67#define CVMX_IPD_RED_PORT_ENABLE2 (CVMX_ADD_IO_SEG(0x00014F00000003A8ull))
  68#define CVMX_IPD_RED_QUE0_PARAM CVMX_IPD_RED_QUEX_PARAM(0)
  69#define CVMX_IPD_RED_QUE1_PARAM CVMX_IPD_RED_QUEX_PARAM(1)
  70#define CVMX_IPD_RED_QUE2_PARAM CVMX_IPD_RED_QUEX_PARAM(2)
  71#define CVMX_IPD_RED_QUE3_PARAM CVMX_IPD_RED_QUEX_PARAM(3)
  72#define CVMX_IPD_RED_QUE4_PARAM CVMX_IPD_RED_QUEX_PARAM(4)
  73#define CVMX_IPD_RED_QUE5_PARAM CVMX_IPD_RED_QUEX_PARAM(5)
  74#define CVMX_IPD_RED_QUE6_PARAM CVMX_IPD_RED_QUEX_PARAM(6)
  75#define CVMX_IPD_RED_QUE7_PARAM CVMX_IPD_RED_QUEX_PARAM(7)
  76#define CVMX_IPD_RED_QUEX_PARAM(offset) (CVMX_ADD_IO_SEG(0x00014F00000002E0ull) + ((offset) & 7) * 8)
  77#define CVMX_IPD_SUB_PORT_BP_PAGE_CNT (CVMX_ADD_IO_SEG(0x00014F0000000148ull))
  78#define CVMX_IPD_SUB_PORT_FCS (CVMX_ADD_IO_SEG(0x00014F0000000170ull))
  79#define CVMX_IPD_SUB_PORT_QOS_CNT (CVMX_ADD_IO_SEG(0x00014F0000000800ull))
  80#define CVMX_IPD_WQE_FPA_QUEUE (CVMX_ADD_IO_SEG(0x00014F0000000020ull))
  81#define CVMX_IPD_WQE_PTR_VALID (CVMX_ADD_IO_SEG(0x00014F0000000360ull))
  82
  83union cvmx_ipd_1st_mbuff_skip {
  84        uint64_t u64;
  85        struct cvmx_ipd_1st_mbuff_skip_s {
  86                uint64_t reserved_6_63:58;
  87                uint64_t skip_sz:6;
  88        } s;
  89        struct cvmx_ipd_1st_mbuff_skip_s cn30xx;
  90        struct cvmx_ipd_1st_mbuff_skip_s cn31xx;
  91        struct cvmx_ipd_1st_mbuff_skip_s cn38xx;
  92        struct cvmx_ipd_1st_mbuff_skip_s cn38xxp2;
  93        struct cvmx_ipd_1st_mbuff_skip_s cn50xx;
  94        struct cvmx_ipd_1st_mbuff_skip_s cn52xx;
  95        struct cvmx_ipd_1st_mbuff_skip_s cn52xxp1;
  96        struct cvmx_ipd_1st_mbuff_skip_s cn56xx;
  97        struct cvmx_ipd_1st_mbuff_skip_s cn56xxp1;
  98        struct cvmx_ipd_1st_mbuff_skip_s cn58xx;
  99        struct cvmx_ipd_1st_mbuff_skip_s cn58xxp1;
 100        struct cvmx_ipd_1st_mbuff_skip_s cn63xx;
 101        struct cvmx_ipd_1st_mbuff_skip_s cn63xxp1;
 102};
 103
 104union cvmx_ipd_1st_next_ptr_back {
 105        uint64_t u64;
 106        struct cvmx_ipd_1st_next_ptr_back_s {
 107                uint64_t reserved_4_63:60;
 108                uint64_t back:4;
 109        } s;
 110        struct cvmx_ipd_1st_next_ptr_back_s cn30xx;
 111        struct cvmx_ipd_1st_next_ptr_back_s cn31xx;
 112        struct cvmx_ipd_1st_next_ptr_back_s cn38xx;
 113        struct cvmx_ipd_1st_next_ptr_back_s cn38xxp2;
 114        struct cvmx_ipd_1st_next_ptr_back_s cn50xx;
 115        struct cvmx_ipd_1st_next_ptr_back_s cn52xx;
 116        struct cvmx_ipd_1st_next_ptr_back_s cn52xxp1;
 117        struct cvmx_ipd_1st_next_ptr_back_s cn56xx;
 118        struct cvmx_ipd_1st_next_ptr_back_s cn56xxp1;
 119        struct cvmx_ipd_1st_next_ptr_back_s cn58xx;
 120        struct cvmx_ipd_1st_next_ptr_back_s cn58xxp1;
 121        struct cvmx_ipd_1st_next_ptr_back_s cn63xx;
 122        struct cvmx_ipd_1st_next_ptr_back_s cn63xxp1;
 123};
 124
 125union cvmx_ipd_2nd_next_ptr_back {
 126        uint64_t u64;
 127        struct cvmx_ipd_2nd_next_ptr_back_s {
 128                uint64_t reserved_4_63:60;
 129                uint64_t back:4;
 130        } s;
 131        struct cvmx_ipd_2nd_next_ptr_back_s cn30xx;
 132        struct cvmx_ipd_2nd_next_ptr_back_s cn31xx;
 133        struct cvmx_ipd_2nd_next_ptr_back_s cn38xx;
 134        struct cvmx_ipd_2nd_next_ptr_back_s cn38xxp2;
 135        struct cvmx_ipd_2nd_next_ptr_back_s cn50xx;
 136        struct cvmx_ipd_2nd_next_ptr_back_s cn52xx;
 137        struct cvmx_ipd_2nd_next_ptr_back_s cn52xxp1;
 138        struct cvmx_ipd_2nd_next_ptr_back_s cn56xx;
 139        struct cvmx_ipd_2nd_next_ptr_back_s cn56xxp1;
 140        struct cvmx_ipd_2nd_next_ptr_back_s cn58xx;
 141        struct cvmx_ipd_2nd_next_ptr_back_s cn58xxp1;
 142        struct cvmx_ipd_2nd_next_ptr_back_s cn63xx;
 143        struct cvmx_ipd_2nd_next_ptr_back_s cn63xxp1;
 144};
 145
 146union cvmx_ipd_bist_status {
 147        uint64_t u64;
 148        struct cvmx_ipd_bist_status_s {
 149                uint64_t reserved_18_63:46;
 150                uint64_t csr_mem:1;
 151                uint64_t csr_ncmd:1;
 152                uint64_t pwq_wqed:1;
 153                uint64_t pwq_wp1:1;
 154                uint64_t pwq_pow:1;
 155                uint64_t ipq_pbe1:1;
 156                uint64_t ipq_pbe0:1;
 157                uint64_t pbm3:1;
 158                uint64_t pbm2:1;
 159                uint64_t pbm1:1;
 160                uint64_t pbm0:1;
 161                uint64_t pbm_word:1;
 162                uint64_t pwq1:1;
 163                uint64_t pwq0:1;
 164                uint64_t prc_off:1;
 165                uint64_t ipd_old:1;
 166                uint64_t ipd_new:1;
 167                uint64_t pwp:1;
 168        } s;
 169        struct cvmx_ipd_bist_status_cn30xx {
 170                uint64_t reserved_16_63:48;
 171                uint64_t pwq_wqed:1;
 172                uint64_t pwq_wp1:1;
 173                uint64_t pwq_pow:1;
 174                uint64_t ipq_pbe1:1;
 175                uint64_t ipq_pbe0:1;
 176                uint64_t pbm3:1;
 177                uint64_t pbm2:1;
 178                uint64_t pbm1:1;
 179                uint64_t pbm0:1;
 180                uint64_t pbm_word:1;
 181                uint64_t pwq1:1;
 182                uint64_t pwq0:1;
 183                uint64_t prc_off:1;
 184                uint64_t ipd_old:1;
 185                uint64_t ipd_new:1;
 186                uint64_t pwp:1;
 187        } cn30xx;
 188        struct cvmx_ipd_bist_status_cn30xx cn31xx;
 189        struct cvmx_ipd_bist_status_cn30xx cn38xx;
 190        struct cvmx_ipd_bist_status_cn30xx cn38xxp2;
 191        struct cvmx_ipd_bist_status_cn30xx cn50xx;
 192        struct cvmx_ipd_bist_status_s cn52xx;
 193        struct cvmx_ipd_bist_status_s cn52xxp1;
 194        struct cvmx_ipd_bist_status_s cn56xx;
 195        struct cvmx_ipd_bist_status_s cn56xxp1;
 196        struct cvmx_ipd_bist_status_cn30xx cn58xx;
 197        struct cvmx_ipd_bist_status_cn30xx cn58xxp1;
 198        struct cvmx_ipd_bist_status_s cn63xx;
 199        struct cvmx_ipd_bist_status_s cn63xxp1;
 200};
 201
 202union cvmx_ipd_bp_prt_red_end {
 203        uint64_t u64;
 204        struct cvmx_ipd_bp_prt_red_end_s {
 205                uint64_t reserved_44_63:20;
 206                uint64_t prt_enb:44;
 207        } s;
 208        struct cvmx_ipd_bp_prt_red_end_cn30xx {
 209                uint64_t reserved_36_63:28;
 210                uint64_t prt_enb:36;
 211        } cn30xx;
 212        struct cvmx_ipd_bp_prt_red_end_cn30xx cn31xx;
 213        struct cvmx_ipd_bp_prt_red_end_cn30xx cn38xx;
 214        struct cvmx_ipd_bp_prt_red_end_cn30xx cn38xxp2;
 215        struct cvmx_ipd_bp_prt_red_end_cn30xx cn50xx;
 216        struct cvmx_ipd_bp_prt_red_end_cn52xx {
 217                uint64_t reserved_40_63:24;
 218                uint64_t prt_enb:40;
 219        } cn52xx;
 220        struct cvmx_ipd_bp_prt_red_end_cn52xx cn52xxp1;
 221        struct cvmx_ipd_bp_prt_red_end_cn52xx cn56xx;
 222        struct cvmx_ipd_bp_prt_red_end_cn52xx cn56xxp1;
 223        struct cvmx_ipd_bp_prt_red_end_cn30xx cn58xx;
 224        struct cvmx_ipd_bp_prt_red_end_cn30xx cn58xxp1;
 225        struct cvmx_ipd_bp_prt_red_end_s cn63xx;
 226        struct cvmx_ipd_bp_prt_red_end_s cn63xxp1;
 227};
 228
 229union cvmx_ipd_clk_count {
 230        uint64_t u64;
 231        struct cvmx_ipd_clk_count_s {
 232                uint64_t clk_cnt:64;
 233        } s;
 234        struct cvmx_ipd_clk_count_s cn30xx;
 235        struct cvmx_ipd_clk_count_s cn31xx;
 236        struct cvmx_ipd_clk_count_s cn38xx;
 237        struct cvmx_ipd_clk_count_s cn38xxp2;
 238        struct cvmx_ipd_clk_count_s cn50xx;
 239        struct cvmx_ipd_clk_count_s cn52xx;
 240        struct cvmx_ipd_clk_count_s cn52xxp1;
 241        struct cvmx_ipd_clk_count_s cn56xx;
 242        struct cvmx_ipd_clk_count_s cn56xxp1;
 243        struct cvmx_ipd_clk_count_s cn58xx;
 244        struct cvmx_ipd_clk_count_s cn58xxp1;
 245        struct cvmx_ipd_clk_count_s cn63xx;
 246        struct cvmx_ipd_clk_count_s cn63xxp1;
 247};
 248
 249union cvmx_ipd_ctl_status {
 250        uint64_t u64;
 251        struct cvmx_ipd_ctl_status_s {
 252                uint64_t reserved_18_63:46;
 253                uint64_t use_sop:1;
 254                uint64_t rst_done:1;
 255                uint64_t clken:1;
 256                uint64_t no_wptr:1;
 257                uint64_t pq_apkt:1;
 258                uint64_t pq_nabuf:1;
 259                uint64_t ipd_full:1;
 260                uint64_t pkt_off:1;
 261                uint64_t len_m8:1;
 262                uint64_t reset:1;
 263                uint64_t addpkt:1;
 264                uint64_t naddbuf:1;
 265                uint64_t pkt_lend:1;
 266                uint64_t wqe_lend:1;
 267                uint64_t pbp_en:1;
 268                uint64_t opc_mode:2;
 269                uint64_t ipd_en:1;
 270        } s;
 271        struct cvmx_ipd_ctl_status_cn30xx {
 272                uint64_t reserved_10_63:54;
 273                uint64_t len_m8:1;
 274                uint64_t reset:1;
 275                uint64_t addpkt:1;
 276                uint64_t naddbuf:1;
 277                uint64_t pkt_lend:1;
 278                uint64_t wqe_lend:1;
 279                uint64_t pbp_en:1;
 280                uint64_t opc_mode:2;
 281                uint64_t ipd_en:1;
 282        } cn30xx;
 283        struct cvmx_ipd_ctl_status_cn30xx cn31xx;
 284        struct cvmx_ipd_ctl_status_cn30xx cn38xx;
 285        struct cvmx_ipd_ctl_status_cn38xxp2 {
 286                uint64_t reserved_9_63:55;
 287                uint64_t reset:1;
 288                uint64_t addpkt:1;
 289                uint64_t naddbuf:1;
 290                uint64_t pkt_lend:1;
 291                uint64_t wqe_lend:1;
 292                uint64_t pbp_en:1;
 293                uint64_t opc_mode:2;
 294                uint64_t ipd_en:1;
 295        } cn38xxp2;
 296        struct cvmx_ipd_ctl_status_cn50xx {
 297                uint64_t reserved_15_63:49;
 298                uint64_t no_wptr:1;
 299                uint64_t pq_apkt:1;
 300                uint64_t pq_nabuf:1;
 301                uint64_t ipd_full:1;
 302                uint64_t pkt_off:1;
 303                uint64_t len_m8:1;
 304                uint64_t reset:1;
 305                uint64_t addpkt:1;
 306                uint64_t naddbuf:1;
 307                uint64_t pkt_lend:1;
 308                uint64_t wqe_lend:1;
 309                uint64_t pbp_en:1;
 310                uint64_t opc_mode:2;
 311                uint64_t ipd_en:1;
 312        } cn50xx;
 313        struct cvmx_ipd_ctl_status_cn50xx cn52xx;
 314        struct cvmx_ipd_ctl_status_cn50xx cn52xxp1;
 315        struct cvmx_ipd_ctl_status_cn50xx cn56xx;
 316        struct cvmx_ipd_ctl_status_cn50xx cn56xxp1;
 317        struct cvmx_ipd_ctl_status_cn58xx {
 318                uint64_t reserved_12_63:52;
 319                uint64_t ipd_full:1;
 320                uint64_t pkt_off:1;
 321                uint64_t len_m8:1;
 322                uint64_t reset:1;
 323                uint64_t addpkt:1;
 324                uint64_t naddbuf:1;
 325                uint64_t pkt_lend:1;
 326                uint64_t wqe_lend:1;
 327                uint64_t pbp_en:1;
 328                uint64_t opc_mode:2;
 329                uint64_t ipd_en:1;
 330        } cn58xx;
 331        struct cvmx_ipd_ctl_status_cn58xx cn58xxp1;
 332        struct cvmx_ipd_ctl_status_s cn63xx;
 333        struct cvmx_ipd_ctl_status_cn63xxp1 {
 334                uint64_t reserved_16_63:48;
 335                uint64_t clken:1;
 336                uint64_t no_wptr:1;
 337                uint64_t pq_apkt:1;
 338                uint64_t pq_nabuf:1;
 339                uint64_t ipd_full:1;
 340                uint64_t pkt_off:1;
 341                uint64_t len_m8:1;
 342                uint64_t reset:1;
 343                uint64_t addpkt:1;
 344                uint64_t naddbuf:1;
 345                uint64_t pkt_lend:1;
 346                uint64_t wqe_lend:1;
 347                uint64_t pbp_en:1;
 348                uint64_t opc_mode:2;
 349                uint64_t ipd_en:1;
 350        } cn63xxp1;
 351};
 352
 353union cvmx_ipd_int_enb {
 354        uint64_t u64;
 355        struct cvmx_ipd_int_enb_s {
 356                uint64_t reserved_12_63:52;
 357                uint64_t pq_sub:1;
 358                uint64_t pq_add:1;
 359                uint64_t bc_ovr:1;
 360                uint64_t d_coll:1;
 361                uint64_t c_coll:1;
 362                uint64_t cc_ovr:1;
 363                uint64_t dc_ovr:1;
 364                uint64_t bp_sub:1;
 365                uint64_t prc_par3:1;
 366                uint64_t prc_par2:1;
 367                uint64_t prc_par1:1;
 368                uint64_t prc_par0:1;
 369        } s;
 370        struct cvmx_ipd_int_enb_cn30xx {
 371                uint64_t reserved_5_63:59;
 372                uint64_t bp_sub:1;
 373                uint64_t prc_par3:1;
 374                uint64_t prc_par2:1;
 375                uint64_t prc_par1:1;
 376                uint64_t prc_par0:1;
 377        } cn30xx;
 378        struct cvmx_ipd_int_enb_cn30xx cn31xx;
 379        struct cvmx_ipd_int_enb_cn38xx {
 380                uint64_t reserved_10_63:54;
 381                uint64_t bc_ovr:1;
 382                uint64_t d_coll:1;
 383                uint64_t c_coll:1;
 384                uint64_t cc_ovr:1;
 385                uint64_t dc_ovr:1;
 386                uint64_t bp_sub:1;
 387                uint64_t prc_par3:1;
 388                uint64_t prc_par2:1;
 389                uint64_t prc_par1:1;
 390                uint64_t prc_par0:1;
 391        } cn38xx;
 392        struct cvmx_ipd_int_enb_cn30xx cn38xxp2;
 393        struct cvmx_ipd_int_enb_cn38xx cn50xx;
 394        struct cvmx_ipd_int_enb_s cn52xx;
 395        struct cvmx_ipd_int_enb_s cn52xxp1;
 396        struct cvmx_ipd_int_enb_s cn56xx;
 397        struct cvmx_ipd_int_enb_s cn56xxp1;
 398        struct cvmx_ipd_int_enb_cn38xx cn58xx;
 399        struct cvmx_ipd_int_enb_cn38xx cn58xxp1;
 400        struct cvmx_ipd_int_enb_s cn63xx;
 401        struct cvmx_ipd_int_enb_s cn63xxp1;
 402};
 403
 404union cvmx_ipd_int_sum {
 405        uint64_t u64;
 406        struct cvmx_ipd_int_sum_s {
 407                uint64_t reserved_12_63:52;
 408                uint64_t pq_sub:1;
 409                uint64_t pq_add:1;
 410                uint64_t bc_ovr:1;
 411                uint64_t d_coll:1;
 412                uint64_t c_coll:1;
 413                uint64_t cc_ovr:1;
 414                uint64_t dc_ovr:1;
 415                uint64_t bp_sub:1;
 416                uint64_t prc_par3:1;
 417                uint64_t prc_par2:1;
 418                uint64_t prc_par1:1;
 419                uint64_t prc_par0:1;
 420        } s;
 421        struct cvmx_ipd_int_sum_cn30xx {
 422                uint64_t reserved_5_63:59;
 423                uint64_t bp_sub:1;
 424                uint64_t prc_par3:1;
 425                uint64_t prc_par2:1;
 426                uint64_t prc_par1:1;
 427                uint64_t prc_par0:1;
 428        } cn30xx;
 429        struct cvmx_ipd_int_sum_cn30xx cn31xx;
 430        struct cvmx_ipd_int_sum_cn38xx {
 431                uint64_t reserved_10_63:54;
 432                uint64_t bc_ovr:1;
 433                uint64_t d_coll:1;
 434                uint64_t c_coll:1;
 435                uint64_t cc_ovr:1;
 436                uint64_t dc_ovr:1;
 437                uint64_t bp_sub:1;
 438                uint64_t prc_par3:1;
 439                uint64_t prc_par2:1;
 440                uint64_t prc_par1:1;
 441                uint64_t prc_par0:1;
 442        } cn38xx;
 443        struct cvmx_ipd_int_sum_cn30xx cn38xxp2;
 444        struct cvmx_ipd_int_sum_cn38xx cn50xx;
 445        struct cvmx_ipd_int_sum_s cn52xx;
 446        struct cvmx_ipd_int_sum_s cn52xxp1;
 447        struct cvmx_ipd_int_sum_s cn56xx;
 448        struct cvmx_ipd_int_sum_s cn56xxp1;
 449        struct cvmx_ipd_int_sum_cn38xx cn58xx;
 450        struct cvmx_ipd_int_sum_cn38xx cn58xxp1;
 451        struct cvmx_ipd_int_sum_s cn63xx;
 452        struct cvmx_ipd_int_sum_s cn63xxp1;
 453};
 454
 455union cvmx_ipd_not_1st_mbuff_skip {
 456        uint64_t u64;
 457        struct cvmx_ipd_not_1st_mbuff_skip_s {
 458                uint64_t reserved_6_63:58;
 459                uint64_t skip_sz:6;
 460        } s;
 461        struct cvmx_ipd_not_1st_mbuff_skip_s cn30xx;
 462        struct cvmx_ipd_not_1st_mbuff_skip_s cn31xx;
 463        struct cvmx_ipd_not_1st_mbuff_skip_s cn38xx;
 464        struct cvmx_ipd_not_1st_mbuff_skip_s cn38xxp2;
 465        struct cvmx_ipd_not_1st_mbuff_skip_s cn50xx;
 466        struct cvmx_ipd_not_1st_mbuff_skip_s cn52xx;
 467        struct cvmx_ipd_not_1st_mbuff_skip_s cn52xxp1;
 468        struct cvmx_ipd_not_1st_mbuff_skip_s cn56xx;
 469        struct cvmx_ipd_not_1st_mbuff_skip_s cn56xxp1;
 470        struct cvmx_ipd_not_1st_mbuff_skip_s cn58xx;
 471        struct cvmx_ipd_not_1st_mbuff_skip_s cn58xxp1;
 472        struct cvmx_ipd_not_1st_mbuff_skip_s cn63xx;
 473        struct cvmx_ipd_not_1st_mbuff_skip_s cn63xxp1;
 474};
 475
 476union cvmx_ipd_packet_mbuff_size {
 477        uint64_t u64;
 478        struct cvmx_ipd_packet_mbuff_size_s {
 479                uint64_t reserved_12_63:52;
 480                uint64_t mb_size:12;
 481        } s;
 482        struct cvmx_ipd_packet_mbuff_size_s cn30xx;
 483        struct cvmx_ipd_packet_mbuff_size_s cn31xx;
 484        struct cvmx_ipd_packet_mbuff_size_s cn38xx;
 485        struct cvmx_ipd_packet_mbuff_size_s cn38xxp2;
 486        struct cvmx_ipd_packet_mbuff_size_s cn50xx;
 487        struct cvmx_ipd_packet_mbuff_size_s cn52xx;
 488        struct cvmx_ipd_packet_mbuff_size_s cn52xxp1;
 489        struct cvmx_ipd_packet_mbuff_size_s cn56xx;
 490        struct cvmx_ipd_packet_mbuff_size_s cn56xxp1;
 491        struct cvmx_ipd_packet_mbuff_size_s cn58xx;
 492        struct cvmx_ipd_packet_mbuff_size_s cn58xxp1;
 493        struct cvmx_ipd_packet_mbuff_size_s cn63xx;
 494        struct cvmx_ipd_packet_mbuff_size_s cn63xxp1;
 495};
 496
 497union cvmx_ipd_pkt_ptr_valid {
 498        uint64_t u64;
 499        struct cvmx_ipd_pkt_ptr_valid_s {
 500                uint64_t reserved_29_63:35;
 501                uint64_t ptr:29;
 502        } s;
 503        struct cvmx_ipd_pkt_ptr_valid_s cn30xx;
 504        struct cvmx_ipd_pkt_ptr_valid_s cn31xx;
 505        struct cvmx_ipd_pkt_ptr_valid_s cn38xx;
 506        struct cvmx_ipd_pkt_ptr_valid_s cn50xx;
 507        struct cvmx_ipd_pkt_ptr_valid_s cn52xx;
 508        struct cvmx_ipd_pkt_ptr_valid_s cn52xxp1;
 509        struct cvmx_ipd_pkt_ptr_valid_s cn56xx;
 510        struct cvmx_ipd_pkt_ptr_valid_s cn56xxp1;
 511        struct cvmx_ipd_pkt_ptr_valid_s cn58xx;
 512        struct cvmx_ipd_pkt_ptr_valid_s cn58xxp1;
 513        struct cvmx_ipd_pkt_ptr_valid_s cn63xx;
 514        struct cvmx_ipd_pkt_ptr_valid_s cn63xxp1;
 515};
 516
 517union cvmx_ipd_portx_bp_page_cnt {
 518        uint64_t u64;
 519        struct cvmx_ipd_portx_bp_page_cnt_s {
 520                uint64_t reserved_18_63:46;
 521                uint64_t bp_enb:1;
 522                uint64_t page_cnt:17;
 523        } s;
 524        struct cvmx_ipd_portx_bp_page_cnt_s cn30xx;
 525        struct cvmx_ipd_portx_bp_page_cnt_s cn31xx;
 526        struct cvmx_ipd_portx_bp_page_cnt_s cn38xx;
 527        struct cvmx_ipd_portx_bp_page_cnt_s cn38xxp2;
 528        struct cvmx_ipd_portx_bp_page_cnt_s cn50xx;
 529        struct cvmx_ipd_portx_bp_page_cnt_s cn52xx;
 530        struct cvmx_ipd_portx_bp_page_cnt_s cn52xxp1;
 531        struct cvmx_ipd_portx_bp_page_cnt_s cn56xx;
 532        struct cvmx_ipd_portx_bp_page_cnt_s cn56xxp1;
 533        struct cvmx_ipd_portx_bp_page_cnt_s cn58xx;
 534        struct cvmx_ipd_portx_bp_page_cnt_s cn58xxp1;
 535        struct cvmx_ipd_portx_bp_page_cnt_s cn63xx;
 536        struct cvmx_ipd_portx_bp_page_cnt_s cn63xxp1;
 537};
 538
 539union cvmx_ipd_portx_bp_page_cnt2 {
 540        uint64_t u64;
 541        struct cvmx_ipd_portx_bp_page_cnt2_s {
 542                uint64_t reserved_18_63:46;
 543                uint64_t bp_enb:1;
 544                uint64_t page_cnt:17;
 545        } s;
 546        struct cvmx_ipd_portx_bp_page_cnt2_s cn52xx;
 547        struct cvmx_ipd_portx_bp_page_cnt2_s cn52xxp1;
 548        struct cvmx_ipd_portx_bp_page_cnt2_s cn56xx;
 549        struct cvmx_ipd_portx_bp_page_cnt2_s cn56xxp1;
 550        struct cvmx_ipd_portx_bp_page_cnt2_s cn63xx;
 551        struct cvmx_ipd_portx_bp_page_cnt2_s cn63xxp1;
 552};
 553
 554union cvmx_ipd_portx_bp_page_cnt3 {
 555        uint64_t u64;
 556        struct cvmx_ipd_portx_bp_page_cnt3_s {
 557                uint64_t reserved_18_63:46;
 558                uint64_t bp_enb:1;
 559                uint64_t page_cnt:17;
 560        } s;
 561        struct cvmx_ipd_portx_bp_page_cnt3_s cn63xx;
 562        struct cvmx_ipd_portx_bp_page_cnt3_s cn63xxp1;
 563};
 564
 565union cvmx_ipd_port_bp_counters2_pairx {
 566        uint64_t u64;
 567        struct cvmx_ipd_port_bp_counters2_pairx_s {
 568                uint64_t reserved_25_63:39;
 569                uint64_t cnt_val:25;
 570        } s;
 571        struct cvmx_ipd_port_bp_counters2_pairx_s cn52xx;
 572        struct cvmx_ipd_port_bp_counters2_pairx_s cn52xxp1;
 573        struct cvmx_ipd_port_bp_counters2_pairx_s cn56xx;
 574        struct cvmx_ipd_port_bp_counters2_pairx_s cn56xxp1;
 575        struct cvmx_ipd_port_bp_counters2_pairx_s cn63xx;
 576        struct cvmx_ipd_port_bp_counters2_pairx_s cn63xxp1;
 577};
 578
 579union cvmx_ipd_port_bp_counters3_pairx {
 580        uint64_t u64;
 581        struct cvmx_ipd_port_bp_counters3_pairx_s {
 582                uint64_t reserved_25_63:39;
 583                uint64_t cnt_val:25;
 584        } s;
 585        struct cvmx_ipd_port_bp_counters3_pairx_s cn63xx;
 586        struct cvmx_ipd_port_bp_counters3_pairx_s cn63xxp1;
 587};
 588
 589union cvmx_ipd_port_bp_counters_pairx {
 590        uint64_t u64;
 591        struct cvmx_ipd_port_bp_counters_pairx_s {
 592                uint64_t reserved_25_63:39;
 593                uint64_t cnt_val:25;
 594        } s;
 595        struct cvmx_ipd_port_bp_counters_pairx_s cn30xx;
 596        struct cvmx_ipd_port_bp_counters_pairx_s cn31xx;
 597        struct cvmx_ipd_port_bp_counters_pairx_s cn38xx;
 598        struct cvmx_ipd_port_bp_counters_pairx_s cn38xxp2;
 599        struct cvmx_ipd_port_bp_counters_pairx_s cn50xx;
 600        struct cvmx_ipd_port_bp_counters_pairx_s cn52xx;
 601        struct cvmx_ipd_port_bp_counters_pairx_s cn52xxp1;
 602        struct cvmx_ipd_port_bp_counters_pairx_s cn56xx;
 603        struct cvmx_ipd_port_bp_counters_pairx_s cn56xxp1;
 604        struct cvmx_ipd_port_bp_counters_pairx_s cn58xx;
 605        struct cvmx_ipd_port_bp_counters_pairx_s cn58xxp1;
 606        struct cvmx_ipd_port_bp_counters_pairx_s cn63xx;
 607        struct cvmx_ipd_port_bp_counters_pairx_s cn63xxp1;
 608};
 609
 610union cvmx_ipd_port_qos_x_cnt {
 611        uint64_t u64;
 612        struct cvmx_ipd_port_qos_x_cnt_s {
 613                uint64_t wmark:32;
 614                uint64_t cnt:32;
 615        } s;
 616        struct cvmx_ipd_port_qos_x_cnt_s cn52xx;
 617        struct cvmx_ipd_port_qos_x_cnt_s cn52xxp1;
 618        struct cvmx_ipd_port_qos_x_cnt_s cn56xx;
 619        struct cvmx_ipd_port_qos_x_cnt_s cn56xxp1;
 620        struct cvmx_ipd_port_qos_x_cnt_s cn63xx;
 621        struct cvmx_ipd_port_qos_x_cnt_s cn63xxp1;
 622};
 623
 624union cvmx_ipd_port_qos_intx {
 625        uint64_t u64;
 626        struct cvmx_ipd_port_qos_intx_s {
 627                uint64_t intr:64;
 628        } s;
 629        struct cvmx_ipd_port_qos_intx_s cn52xx;
 630        struct cvmx_ipd_port_qos_intx_s cn52xxp1;
 631        struct cvmx_ipd_port_qos_intx_s cn56xx;
 632        struct cvmx_ipd_port_qos_intx_s cn56xxp1;
 633        struct cvmx_ipd_port_qos_intx_s cn63xx;
 634        struct cvmx_ipd_port_qos_intx_s cn63xxp1;
 635};
 636
 637union cvmx_ipd_port_qos_int_enbx {
 638        uint64_t u64;
 639        struct cvmx_ipd_port_qos_int_enbx_s {
 640                uint64_t enb:64;
 641        } s;
 642        struct cvmx_ipd_port_qos_int_enbx_s cn52xx;
 643        struct cvmx_ipd_port_qos_int_enbx_s cn52xxp1;
 644        struct cvmx_ipd_port_qos_int_enbx_s cn56xx;
 645        struct cvmx_ipd_port_qos_int_enbx_s cn56xxp1;
 646        struct cvmx_ipd_port_qos_int_enbx_s cn63xx;
 647        struct cvmx_ipd_port_qos_int_enbx_s cn63xxp1;
 648};
 649
 650union cvmx_ipd_prc_hold_ptr_fifo_ctl {
 651        uint64_t u64;
 652        struct cvmx_ipd_prc_hold_ptr_fifo_ctl_s {
 653                uint64_t reserved_39_63:25;
 654                uint64_t max_pkt:3;
 655                uint64_t praddr:3;
 656                uint64_t ptr:29;
 657                uint64_t cena:1;
 658                uint64_t raddr:3;
 659        } s;
 660        struct cvmx_ipd_prc_hold_ptr_fifo_ctl_s cn30xx;
 661        struct cvmx_ipd_prc_hold_ptr_fifo_ctl_s cn31xx;
 662        struct cvmx_ipd_prc_hold_ptr_fifo_ctl_s cn38xx;
 663        struct cvmx_ipd_prc_hold_ptr_fifo_ctl_s cn50xx;
 664        struct cvmx_ipd_prc_hold_ptr_fifo_ctl_s cn52xx;
 665        struct cvmx_ipd_prc_hold_ptr_fifo_ctl_s cn52xxp1;
 666        struct cvmx_ipd_prc_hold_ptr_fifo_ctl_s cn56xx;
 667        struct cvmx_ipd_prc_hold_ptr_fifo_ctl_s cn56xxp1;
 668        struct cvmx_ipd_prc_hold_ptr_fifo_ctl_s cn58xx;
 669        struct cvmx_ipd_prc_hold_ptr_fifo_ctl_s cn58xxp1;
 670        struct cvmx_ipd_prc_hold_ptr_fifo_ctl_s cn63xx;
 671        struct cvmx_ipd_prc_hold_ptr_fifo_ctl_s cn63xxp1;
 672};
 673
 674union cvmx_ipd_prc_port_ptr_fifo_ctl {
 675        uint64_t u64;
 676        struct cvmx_ipd_prc_port_ptr_fifo_ctl_s {
 677                uint64_t reserved_44_63:20;
 678                uint64_t max_pkt:7;
 679                uint64_t ptr:29;
 680                uint64_t cena:1;
 681                uint64_t raddr:7;
 682        } s;
 683        struct cvmx_ipd_prc_port_ptr_fifo_ctl_s cn30xx;
 684        struct cvmx_ipd_prc_port_ptr_fifo_ctl_s cn31xx;
 685        struct cvmx_ipd_prc_port_ptr_fifo_ctl_s cn38xx;
 686        struct cvmx_ipd_prc_port_ptr_fifo_ctl_s cn50xx;
 687        struct cvmx_ipd_prc_port_ptr_fifo_ctl_s cn52xx;
 688        struct cvmx_ipd_prc_port_ptr_fifo_ctl_s cn52xxp1;
 689        struct cvmx_ipd_prc_port_ptr_fifo_ctl_s cn56xx;
 690        struct cvmx_ipd_prc_port_ptr_fifo_ctl_s cn56xxp1;
 691        struct cvmx_ipd_prc_port_ptr_fifo_ctl_s cn58xx;
 692        struct cvmx_ipd_prc_port_ptr_fifo_ctl_s cn58xxp1;
 693        struct cvmx_ipd_prc_port_ptr_fifo_ctl_s cn63xx;
 694        struct cvmx_ipd_prc_port_ptr_fifo_ctl_s cn63xxp1;
 695};
 696
 697union cvmx_ipd_ptr_count {
 698        uint64_t u64;
 699        struct cvmx_ipd_ptr_count_s {
 700                uint64_t reserved_19_63:45;
 701                uint64_t pktv_cnt:1;
 702                uint64_t wqev_cnt:1;
 703                uint64_t pfif_cnt:3;
 704                uint64_t pkt_pcnt:7;
 705                uint64_t wqe_pcnt:7;
 706        } s;
 707        struct cvmx_ipd_ptr_count_s cn30xx;
 708        struct cvmx_ipd_ptr_count_s cn31xx;
 709        struct cvmx_ipd_ptr_count_s cn38xx;
 710        struct cvmx_ipd_ptr_count_s cn38xxp2;
 711        struct cvmx_ipd_ptr_count_s cn50xx;
 712        struct cvmx_ipd_ptr_count_s cn52xx;
 713        struct cvmx_ipd_ptr_count_s cn52xxp1;
 714        struct cvmx_ipd_ptr_count_s cn56xx;
 715        struct cvmx_ipd_ptr_count_s cn56xxp1;
 716        struct cvmx_ipd_ptr_count_s cn58xx;
 717        struct cvmx_ipd_ptr_count_s cn58xxp1;
 718        struct cvmx_ipd_ptr_count_s cn63xx;
 719        struct cvmx_ipd_ptr_count_s cn63xxp1;
 720};
 721
 722union cvmx_ipd_pwp_ptr_fifo_ctl {
 723        uint64_t u64;
 724        struct cvmx_ipd_pwp_ptr_fifo_ctl_s {
 725                uint64_t reserved_61_63:3;
 726                uint64_t max_cnts:7;
 727                uint64_t wraddr:8;
 728                uint64_t praddr:8;
 729                uint64_t ptr:29;
 730                uint64_t cena:1;
 731                uint64_t raddr:8;
 732        } s;
 733        struct cvmx_ipd_pwp_ptr_fifo_ctl_s cn30xx;
 734        struct cvmx_ipd_pwp_ptr_fifo_ctl_s cn31xx;
 735        struct cvmx_ipd_pwp_ptr_fifo_ctl_s cn38xx;
 736        struct cvmx_ipd_pwp_ptr_fifo_ctl_s cn50xx;
 737        struct cvmx_ipd_pwp_ptr_fifo_ctl_s cn52xx;
 738        struct cvmx_ipd_pwp_ptr_fifo_ctl_s cn52xxp1;
 739        struct cvmx_ipd_pwp_ptr_fifo_ctl_s cn56xx;
 740        struct cvmx_ipd_pwp_ptr_fifo_ctl_s cn56xxp1;
 741        struct cvmx_ipd_pwp_ptr_fifo_ctl_s cn58xx;
 742        struct cvmx_ipd_pwp_ptr_fifo_ctl_s cn58xxp1;
 743        struct cvmx_ipd_pwp_ptr_fifo_ctl_s cn63xx;
 744        struct cvmx_ipd_pwp_ptr_fifo_ctl_s cn63xxp1;
 745};
 746
 747union cvmx_ipd_qosx_red_marks {
 748        uint64_t u64;
 749        struct cvmx_ipd_qosx_red_marks_s {
 750                uint64_t drop:32;
 751                uint64_t pass:32;
 752        } s;
 753        struct cvmx_ipd_qosx_red_marks_s cn30xx;
 754        struct cvmx_ipd_qosx_red_marks_s cn31xx;
 755        struct cvmx_ipd_qosx_red_marks_s cn38xx;
 756        struct cvmx_ipd_qosx_red_marks_s cn38xxp2;
 757        struct cvmx_ipd_qosx_red_marks_s cn50xx;
 758        struct cvmx_ipd_qosx_red_marks_s cn52xx;
 759        struct cvmx_ipd_qosx_red_marks_s cn52xxp1;
 760        struct cvmx_ipd_qosx_red_marks_s cn56xx;
 761        struct cvmx_ipd_qosx_red_marks_s cn56xxp1;
 762        struct cvmx_ipd_qosx_red_marks_s cn58xx;
 763        struct cvmx_ipd_qosx_red_marks_s cn58xxp1;
 764        struct cvmx_ipd_qosx_red_marks_s cn63xx;
 765        struct cvmx_ipd_qosx_red_marks_s cn63xxp1;
 766};
 767
 768union cvmx_ipd_que0_free_page_cnt {
 769        uint64_t u64;
 770        struct cvmx_ipd_que0_free_page_cnt_s {
 771                uint64_t reserved_32_63:32;
 772                uint64_t q0_pcnt:32;
 773        } s;
 774        struct cvmx_ipd_que0_free_page_cnt_s cn30xx;
 775        struct cvmx_ipd_que0_free_page_cnt_s cn31xx;
 776        struct cvmx_ipd_que0_free_page_cnt_s cn38xx;
 777        struct cvmx_ipd_que0_free_page_cnt_s cn38xxp2;
 778        struct cvmx_ipd_que0_free_page_cnt_s cn50xx;
 779        struct cvmx_ipd_que0_free_page_cnt_s cn52xx;
 780        struct cvmx_ipd_que0_free_page_cnt_s cn52xxp1;
 781        struct cvmx_ipd_que0_free_page_cnt_s cn56xx;
 782        struct cvmx_ipd_que0_free_page_cnt_s cn56xxp1;
 783        struct cvmx_ipd_que0_free_page_cnt_s cn58xx;
 784        struct cvmx_ipd_que0_free_page_cnt_s cn58xxp1;
 785        struct cvmx_ipd_que0_free_page_cnt_s cn63xx;
 786        struct cvmx_ipd_que0_free_page_cnt_s cn63xxp1;
 787};
 788
 789union cvmx_ipd_red_port_enable {
 790        uint64_t u64;
 791        struct cvmx_ipd_red_port_enable_s {
 792                uint64_t prb_dly:14;
 793                uint64_t avg_dly:14;
 794                uint64_t prt_enb:36;
 795        } s;
 796        struct cvmx_ipd_red_port_enable_s cn30xx;
 797        struct cvmx_ipd_red_port_enable_s cn31xx;
 798        struct cvmx_ipd_red_port_enable_s cn38xx;
 799        struct cvmx_ipd_red_port_enable_s cn38xxp2;
 800        struct cvmx_ipd_red_port_enable_s cn50xx;
 801        struct cvmx_ipd_red_port_enable_s cn52xx;
 802        struct cvmx_ipd_red_port_enable_s cn52xxp1;
 803        struct cvmx_ipd_red_port_enable_s cn56xx;
 804        struct cvmx_ipd_red_port_enable_s cn56xxp1;
 805        struct cvmx_ipd_red_port_enable_s cn58xx;
 806        struct cvmx_ipd_red_port_enable_s cn58xxp1;
 807        struct cvmx_ipd_red_port_enable_s cn63xx;
 808        struct cvmx_ipd_red_port_enable_s cn63xxp1;
 809};
 810
 811union cvmx_ipd_red_port_enable2 {
 812        uint64_t u64;
 813        struct cvmx_ipd_red_port_enable2_s {
 814                uint64_t reserved_8_63:56;
 815                uint64_t prt_enb:8;
 816        } s;
 817        struct cvmx_ipd_red_port_enable2_cn52xx {
 818                uint64_t reserved_4_63:60;
 819                uint64_t prt_enb:4;
 820        } cn52xx;
 821        struct cvmx_ipd_red_port_enable2_cn52xx cn52xxp1;
 822        struct cvmx_ipd_red_port_enable2_cn52xx cn56xx;
 823        struct cvmx_ipd_red_port_enable2_cn52xx cn56xxp1;
 824        struct cvmx_ipd_red_port_enable2_s cn63xx;
 825        struct cvmx_ipd_red_port_enable2_s cn63xxp1;
 826};
 827
 828union cvmx_ipd_red_quex_param {
 829        uint64_t u64;
 830        struct cvmx_ipd_red_quex_param_s {
 831                uint64_t reserved_49_63:15;
 832                uint64_t use_pcnt:1;
 833                uint64_t new_con:8;
 834                uint64_t avg_con:8;
 835                uint64_t prb_con:32;
 836        } s;
 837        struct cvmx_ipd_red_quex_param_s cn30xx;
 838        struct cvmx_ipd_red_quex_param_s cn31xx;
 839        struct cvmx_ipd_red_quex_param_s cn38xx;
 840        struct cvmx_ipd_red_quex_param_s cn38xxp2;
 841        struct cvmx_ipd_red_quex_param_s cn50xx;
 842        struct cvmx_ipd_red_quex_param_s cn52xx;
 843        struct cvmx_ipd_red_quex_param_s cn52xxp1;
 844        struct cvmx_ipd_red_quex_param_s cn56xx;
 845        struct cvmx_ipd_red_quex_param_s cn56xxp1;
 846        struct cvmx_ipd_red_quex_param_s cn58xx;
 847        struct cvmx_ipd_red_quex_param_s cn58xxp1;
 848        struct cvmx_ipd_red_quex_param_s cn63xx;
 849        struct cvmx_ipd_red_quex_param_s cn63xxp1;
 850};
 851
 852union cvmx_ipd_sub_port_bp_page_cnt {
 853        uint64_t u64;
 854        struct cvmx_ipd_sub_port_bp_page_cnt_s {
 855                uint64_t reserved_31_63:33;
 856                uint64_t port:6;
 857                uint64_t page_cnt:25;
 858        } s;
 859        struct cvmx_ipd_sub_port_bp_page_cnt_s cn30xx;
 860        struct cvmx_ipd_sub_port_bp_page_cnt_s cn31xx;
 861        struct cvmx_ipd_sub_port_bp_page_cnt_s cn38xx;
 862        struct cvmx_ipd_sub_port_bp_page_cnt_s cn38xxp2;
 863        struct cvmx_ipd_sub_port_bp_page_cnt_s cn50xx;
 864        struct cvmx_ipd_sub_port_bp_page_cnt_s cn52xx;
 865        struct cvmx_ipd_sub_port_bp_page_cnt_s cn52xxp1;
 866        struct cvmx_ipd_sub_port_bp_page_cnt_s cn56xx;
 867        struct cvmx_ipd_sub_port_bp_page_cnt_s cn56xxp1;
 868        struct cvmx_ipd_sub_port_bp_page_cnt_s cn58xx;
 869        struct cvmx_ipd_sub_port_bp_page_cnt_s cn58xxp1;
 870        struct cvmx_ipd_sub_port_bp_page_cnt_s cn63xx;
 871        struct cvmx_ipd_sub_port_bp_page_cnt_s cn63xxp1;
 872};
 873
 874union cvmx_ipd_sub_port_fcs {
 875        uint64_t u64;
 876        struct cvmx_ipd_sub_port_fcs_s {
 877                uint64_t reserved_40_63:24;
 878                uint64_t port_bit2:4;
 879                uint64_t reserved_32_35:4;
 880                uint64_t port_bit:32;
 881        } s;
 882        struct cvmx_ipd_sub_port_fcs_cn30xx {
 883                uint64_t reserved_3_63:61;
 884                uint64_t port_bit:3;
 885        } cn30xx;
 886        struct cvmx_ipd_sub_port_fcs_cn30xx cn31xx;
 887        struct cvmx_ipd_sub_port_fcs_cn38xx {
 888                uint64_t reserved_32_63:32;
 889                uint64_t port_bit:32;
 890        } cn38xx;
 891        struct cvmx_ipd_sub_port_fcs_cn38xx cn38xxp2;
 892        struct cvmx_ipd_sub_port_fcs_cn30xx cn50xx;
 893        struct cvmx_ipd_sub_port_fcs_s cn52xx;
 894        struct cvmx_ipd_sub_port_fcs_s cn52xxp1;
 895        struct cvmx_ipd_sub_port_fcs_s cn56xx;
 896        struct cvmx_ipd_sub_port_fcs_s cn56xxp1;
 897        struct cvmx_ipd_sub_port_fcs_cn38xx cn58xx;
 898        struct cvmx_ipd_sub_port_fcs_cn38xx cn58xxp1;
 899        struct cvmx_ipd_sub_port_fcs_s cn63xx;
 900        struct cvmx_ipd_sub_port_fcs_s cn63xxp1;
 901};
 902
 903union cvmx_ipd_sub_port_qos_cnt {
 904        uint64_t u64;
 905        struct cvmx_ipd_sub_port_qos_cnt_s {
 906                uint64_t reserved_41_63:23;
 907                uint64_t port_qos:9;
 908                uint64_t cnt:32;
 909        } s;
 910        struct cvmx_ipd_sub_port_qos_cnt_s cn52xx;
 911        struct cvmx_ipd_sub_port_qos_cnt_s cn52xxp1;
 912        struct cvmx_ipd_sub_port_qos_cnt_s cn56xx;
 913        struct cvmx_ipd_sub_port_qos_cnt_s cn56xxp1;
 914        struct cvmx_ipd_sub_port_qos_cnt_s cn63xx;
 915        struct cvmx_ipd_sub_port_qos_cnt_s cn63xxp1;
 916};
 917
 918union cvmx_ipd_wqe_fpa_queue {
 919        uint64_t u64;
 920        struct cvmx_ipd_wqe_fpa_queue_s {
 921                uint64_t reserved_3_63:61;
 922                uint64_t wqe_pool:3;
 923        } s;
 924        struct cvmx_ipd_wqe_fpa_queue_s cn30xx;
 925        struct cvmx_ipd_wqe_fpa_queue_s cn31xx;
 926        struct cvmx_ipd_wqe_fpa_queue_s cn38xx;
 927        struct cvmx_ipd_wqe_fpa_queue_s cn38xxp2;
 928        struct cvmx_ipd_wqe_fpa_queue_s cn50xx;
 929        struct cvmx_ipd_wqe_fpa_queue_s cn52xx;
 930        struct cvmx_ipd_wqe_fpa_queue_s cn52xxp1;
 931        struct cvmx_ipd_wqe_fpa_queue_s cn56xx;
 932        struct cvmx_ipd_wqe_fpa_queue_s cn56xxp1;
 933        struct cvmx_ipd_wqe_fpa_queue_s cn58xx;
 934        struct cvmx_ipd_wqe_fpa_queue_s cn58xxp1;
 935        struct cvmx_ipd_wqe_fpa_queue_s cn63xx;
 936        struct cvmx_ipd_wqe_fpa_queue_s cn63xxp1;
 937};
 938
 939union cvmx_ipd_wqe_ptr_valid {
 940        uint64_t u64;
 941        struct cvmx_ipd_wqe_ptr_valid_s {
 942                uint64_t reserved_29_63:35;
 943                uint64_t ptr:29;
 944        } s;
 945        struct cvmx_ipd_wqe_ptr_valid_s cn30xx;
 946        struct cvmx_ipd_wqe_ptr_valid_s cn31xx;
 947        struct cvmx_ipd_wqe_ptr_valid_s cn38xx;
 948        struct cvmx_ipd_wqe_ptr_valid_s cn50xx;
 949        struct cvmx_ipd_wqe_ptr_valid_s cn52xx;
 950        struct cvmx_ipd_wqe_ptr_valid_s cn52xxp1;
 951        struct cvmx_ipd_wqe_ptr_valid_s cn56xx;
 952        struct cvmx_ipd_wqe_ptr_valid_s cn56xxp1;
 953        struct cvmx_ipd_wqe_ptr_valid_s cn58xx;
 954        struct cvmx_ipd_wqe_ptr_valid_s cn58xxp1;
 955        struct cvmx_ipd_wqe_ptr_valid_s cn63xx;
 956        struct cvmx_ipd_wqe_ptr_valid_s cn63xxp1;
 957};
 958
 959#endif
 960