linux/arch/mips/include/asm/octeon/cvmx-asxx-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-2018 Cavium, Inc.
   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_ASXX_DEFS_H__
  29#define __CVMX_ASXX_DEFS_H__
  30
  31#define CVMX_ASXX_GMII_RX_CLK_SET(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000180ull))
  32#define CVMX_ASXX_GMII_RX_DAT_SET(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000188ull))
  33#define CVMX_ASXX_INT_EN(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000018ull) + ((block_id) & 1) * 0x8000000ull)
  34#define CVMX_ASXX_INT_REG(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000010ull) + ((block_id) & 1) * 0x8000000ull)
  35#define CVMX_ASXX_MII_RX_DAT_SET(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000190ull))
  36#define CVMX_ASXX_PRT_LOOP(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000040ull) + ((block_id) & 1) * 0x8000000ull)
  37#define CVMX_ASXX_RLD_BYPASS(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000248ull) + ((block_id) & 1) * 0x8000000ull)
  38#define CVMX_ASXX_RLD_BYPASS_SETTING(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000250ull) + ((block_id) & 1) * 0x8000000ull)
  39#define CVMX_ASXX_RLD_COMP(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000220ull) + ((block_id) & 1) * 0x8000000ull)
  40#define CVMX_ASXX_RLD_DATA_DRV(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000218ull) + ((block_id) & 1) * 0x8000000ull)
  41#define CVMX_ASXX_RLD_FCRAM_MODE(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000210ull) + ((block_id) & 1) * 0x8000000ull)
  42#define CVMX_ASXX_RLD_NCTL_STRONG(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000230ull) + ((block_id) & 1) * 0x8000000ull)
  43#define CVMX_ASXX_RLD_NCTL_WEAK(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000240ull) + ((block_id) & 1) * 0x8000000ull)
  44#define CVMX_ASXX_RLD_PCTL_STRONG(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000228ull) + ((block_id) & 1) * 0x8000000ull)
  45#define CVMX_ASXX_RLD_PCTL_WEAK(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000238ull) + ((block_id) & 1) * 0x8000000ull)
  46#define CVMX_ASXX_RLD_SETTING(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000258ull) + ((block_id) & 1) * 0x8000000ull)
  47#define CVMX_ASXX_RX_CLK_SETX(offset, block_id) (CVMX_ADD_IO_SEG(0x00011800B0000020ull) + (((offset) & 3) + ((block_id) & 1) * 0x1000000ull) * 8)
  48#define CVMX_ASXX_RX_PRT_EN(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000000ull) + ((block_id) & 1) * 0x8000000ull)
  49#define CVMX_ASXX_RX_WOL(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000100ull) + ((block_id) & 1) * 0x8000000ull)
  50#define CVMX_ASXX_RX_WOL_MSK(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000108ull) + ((block_id) & 1) * 0x8000000ull)
  51#define CVMX_ASXX_RX_WOL_POWOK(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000118ull) + ((block_id) & 1) * 0x8000000ull)
  52#define CVMX_ASXX_RX_WOL_SIG(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000110ull) + ((block_id) & 1) * 0x8000000ull)
  53#define CVMX_ASXX_TX_CLK_SETX(offset, block_id) (CVMX_ADD_IO_SEG(0x00011800B0000048ull) + (((offset) & 3) + ((block_id) & 1) * 0x1000000ull) * 8)
  54#define CVMX_ASXX_TX_COMP_BYP(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000068ull) + ((block_id) & 1) * 0x8000000ull)
  55#define CVMX_ASXX_TX_HI_WATERX(offset, block_id) (CVMX_ADD_IO_SEG(0x00011800B0000080ull) + (((offset) & 3) + ((block_id) & 1) * 0x1000000ull) * 8)
  56#define CVMX_ASXX_TX_PRT_EN(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000008ull) + ((block_id) & 1) * 0x8000000ull)
  57
  58void __cvmx_interrupt_asxx_enable(int block);
  59
  60union cvmx_asxx_gmii_rx_clk_set {
  61        uint64_t u64;
  62        struct cvmx_asxx_gmii_rx_clk_set_s {
  63#ifdef __BIG_ENDIAN_BITFIELD
  64                uint64_t reserved_5_63:59;
  65                uint64_t setting:5;
  66#else
  67                uint64_t setting:5;
  68                uint64_t reserved_5_63:59;
  69#endif
  70        } s;
  71        struct cvmx_asxx_gmii_rx_clk_set_s cn30xx;
  72        struct cvmx_asxx_gmii_rx_clk_set_s cn31xx;
  73        struct cvmx_asxx_gmii_rx_clk_set_s cn50xx;
  74};
  75
  76union cvmx_asxx_gmii_rx_dat_set {
  77        uint64_t u64;
  78        struct cvmx_asxx_gmii_rx_dat_set_s {
  79#ifdef __BIG_ENDIAN_BITFIELD
  80                uint64_t reserved_5_63:59;
  81                uint64_t setting:5;
  82#else
  83                uint64_t setting:5;
  84                uint64_t reserved_5_63:59;
  85#endif
  86        } s;
  87        struct cvmx_asxx_gmii_rx_dat_set_s cn30xx;
  88        struct cvmx_asxx_gmii_rx_dat_set_s cn31xx;
  89        struct cvmx_asxx_gmii_rx_dat_set_s cn50xx;
  90};
  91
  92union cvmx_asxx_int_en {
  93        uint64_t u64;
  94        struct cvmx_asxx_int_en_s {
  95#ifdef __BIG_ENDIAN_BITFIELD
  96                uint64_t reserved_12_63:52;
  97                uint64_t txpsh:4;
  98                uint64_t txpop:4;
  99                uint64_t ovrflw:4;
 100#else
 101                uint64_t ovrflw:4;
 102                uint64_t txpop:4;
 103                uint64_t txpsh:4;
 104                uint64_t reserved_12_63:52;
 105#endif
 106        } s;
 107        struct cvmx_asxx_int_en_cn30xx {
 108#ifdef __BIG_ENDIAN_BITFIELD
 109                uint64_t reserved_11_63:53;
 110                uint64_t txpsh:3;
 111                uint64_t reserved_7_7:1;
 112                uint64_t txpop:3;
 113                uint64_t reserved_3_3:1;
 114                uint64_t ovrflw:3;
 115#else
 116                uint64_t ovrflw:3;
 117                uint64_t reserved_3_3:1;
 118                uint64_t txpop:3;
 119                uint64_t reserved_7_7:1;
 120                uint64_t txpsh:3;
 121                uint64_t reserved_11_63:53;
 122#endif
 123        } cn30xx;
 124        struct cvmx_asxx_int_en_cn30xx cn31xx;
 125        struct cvmx_asxx_int_en_s cn38xx;
 126        struct cvmx_asxx_int_en_s cn38xxp2;
 127        struct cvmx_asxx_int_en_cn30xx cn50xx;
 128        struct cvmx_asxx_int_en_s cn58xx;
 129        struct cvmx_asxx_int_en_s cn58xxp1;
 130};
 131
 132union cvmx_asxx_int_reg {
 133        uint64_t u64;
 134        struct cvmx_asxx_int_reg_s {
 135#ifdef __BIG_ENDIAN_BITFIELD
 136                uint64_t reserved_12_63:52;
 137                uint64_t txpsh:4;
 138                uint64_t txpop:4;
 139                uint64_t ovrflw:4;
 140#else
 141                uint64_t ovrflw:4;
 142                uint64_t txpop:4;
 143                uint64_t txpsh:4;
 144                uint64_t reserved_12_63:52;
 145#endif
 146        } s;
 147        struct cvmx_asxx_int_reg_cn30xx {
 148#ifdef __BIG_ENDIAN_BITFIELD
 149                uint64_t reserved_11_63:53;
 150                uint64_t txpsh:3;
 151                uint64_t reserved_7_7:1;
 152                uint64_t txpop:3;
 153                uint64_t reserved_3_3:1;
 154                uint64_t ovrflw:3;
 155#else
 156                uint64_t ovrflw:3;
 157                uint64_t reserved_3_3:1;
 158                uint64_t txpop:3;
 159                uint64_t reserved_7_7:1;
 160                uint64_t txpsh:3;
 161                uint64_t reserved_11_63:53;
 162#endif
 163        } cn30xx;
 164        struct cvmx_asxx_int_reg_cn30xx cn31xx;
 165        struct cvmx_asxx_int_reg_s cn38xx;
 166        struct cvmx_asxx_int_reg_s cn38xxp2;
 167        struct cvmx_asxx_int_reg_cn30xx cn50xx;
 168        struct cvmx_asxx_int_reg_s cn58xx;
 169        struct cvmx_asxx_int_reg_s cn58xxp1;
 170};
 171
 172union cvmx_asxx_mii_rx_dat_set {
 173        uint64_t u64;
 174        struct cvmx_asxx_mii_rx_dat_set_s {
 175#ifdef __BIG_ENDIAN_BITFIELD
 176                uint64_t reserved_5_63:59;
 177                uint64_t setting:5;
 178#else
 179                uint64_t setting:5;
 180                uint64_t reserved_5_63:59;
 181#endif
 182        } s;
 183        struct cvmx_asxx_mii_rx_dat_set_s cn30xx;
 184        struct cvmx_asxx_mii_rx_dat_set_s cn50xx;
 185};
 186
 187union cvmx_asxx_prt_loop {
 188        uint64_t u64;
 189        struct cvmx_asxx_prt_loop_s {
 190#ifdef __BIG_ENDIAN_BITFIELD
 191                uint64_t reserved_8_63:56;
 192                uint64_t ext_loop:4;
 193                uint64_t int_loop:4;
 194#else
 195                uint64_t int_loop:4;
 196                uint64_t ext_loop:4;
 197                uint64_t reserved_8_63:56;
 198#endif
 199        } s;
 200        struct cvmx_asxx_prt_loop_cn30xx {
 201#ifdef __BIG_ENDIAN_BITFIELD
 202                uint64_t reserved_7_63:57;
 203                uint64_t ext_loop:3;
 204                uint64_t reserved_3_3:1;
 205                uint64_t int_loop:3;
 206#else
 207                uint64_t int_loop:3;
 208                uint64_t reserved_3_3:1;
 209                uint64_t ext_loop:3;
 210                uint64_t reserved_7_63:57;
 211#endif
 212        } cn30xx;
 213        struct cvmx_asxx_prt_loop_cn30xx cn31xx;
 214        struct cvmx_asxx_prt_loop_s cn38xx;
 215        struct cvmx_asxx_prt_loop_s cn38xxp2;
 216        struct cvmx_asxx_prt_loop_cn30xx cn50xx;
 217        struct cvmx_asxx_prt_loop_s cn58xx;
 218        struct cvmx_asxx_prt_loop_s cn58xxp1;
 219};
 220
 221union cvmx_asxx_rld_bypass {
 222        uint64_t u64;
 223        struct cvmx_asxx_rld_bypass_s {
 224#ifdef __BIG_ENDIAN_BITFIELD
 225                uint64_t reserved_1_63:63;
 226                uint64_t bypass:1;
 227#else
 228                uint64_t bypass:1;
 229                uint64_t reserved_1_63:63;
 230#endif
 231        } s;
 232        struct cvmx_asxx_rld_bypass_s cn38xx;
 233        struct cvmx_asxx_rld_bypass_s cn38xxp2;
 234        struct cvmx_asxx_rld_bypass_s cn58xx;
 235        struct cvmx_asxx_rld_bypass_s cn58xxp1;
 236};
 237
 238union cvmx_asxx_rld_bypass_setting {
 239        uint64_t u64;
 240        struct cvmx_asxx_rld_bypass_setting_s {
 241#ifdef __BIG_ENDIAN_BITFIELD
 242                uint64_t reserved_5_63:59;
 243                uint64_t setting:5;
 244#else
 245                uint64_t setting:5;
 246                uint64_t reserved_5_63:59;
 247#endif
 248        } s;
 249        struct cvmx_asxx_rld_bypass_setting_s cn38xx;
 250        struct cvmx_asxx_rld_bypass_setting_s cn38xxp2;
 251        struct cvmx_asxx_rld_bypass_setting_s cn58xx;
 252        struct cvmx_asxx_rld_bypass_setting_s cn58xxp1;
 253};
 254
 255union cvmx_asxx_rld_comp {
 256        uint64_t u64;
 257        struct cvmx_asxx_rld_comp_s {
 258#ifdef __BIG_ENDIAN_BITFIELD
 259                uint64_t reserved_9_63:55;
 260                uint64_t pctl:5;
 261                uint64_t nctl:4;
 262#else
 263                uint64_t nctl:4;
 264                uint64_t pctl:5;
 265                uint64_t reserved_9_63:55;
 266#endif
 267        } s;
 268        struct cvmx_asxx_rld_comp_cn38xx {
 269#ifdef __BIG_ENDIAN_BITFIELD
 270                uint64_t reserved_8_63:56;
 271                uint64_t pctl:4;
 272                uint64_t nctl:4;
 273#else
 274                uint64_t nctl:4;
 275                uint64_t pctl:4;
 276                uint64_t reserved_8_63:56;
 277#endif
 278        } cn38xx;
 279        struct cvmx_asxx_rld_comp_cn38xx cn38xxp2;
 280        struct cvmx_asxx_rld_comp_s cn58xx;
 281        struct cvmx_asxx_rld_comp_s cn58xxp1;
 282};
 283
 284union cvmx_asxx_rld_data_drv {
 285        uint64_t u64;
 286        struct cvmx_asxx_rld_data_drv_s {
 287#ifdef __BIG_ENDIAN_BITFIELD
 288                uint64_t reserved_8_63:56;
 289                uint64_t pctl:4;
 290                uint64_t nctl:4;
 291#else
 292                uint64_t nctl:4;
 293                uint64_t pctl:4;
 294                uint64_t reserved_8_63:56;
 295#endif
 296        } s;
 297        struct cvmx_asxx_rld_data_drv_s cn38xx;
 298        struct cvmx_asxx_rld_data_drv_s cn38xxp2;
 299        struct cvmx_asxx_rld_data_drv_s cn58xx;
 300        struct cvmx_asxx_rld_data_drv_s cn58xxp1;
 301};
 302
 303union cvmx_asxx_rld_fcram_mode {
 304        uint64_t u64;
 305        struct cvmx_asxx_rld_fcram_mode_s {
 306#ifdef __BIG_ENDIAN_BITFIELD
 307                uint64_t reserved_1_63:63;
 308                uint64_t mode:1;
 309#else
 310                uint64_t mode:1;
 311                uint64_t reserved_1_63:63;
 312#endif
 313        } s;
 314        struct cvmx_asxx_rld_fcram_mode_s cn38xx;
 315        struct cvmx_asxx_rld_fcram_mode_s cn38xxp2;
 316};
 317
 318union cvmx_asxx_rld_nctl_strong {
 319        uint64_t u64;
 320        struct cvmx_asxx_rld_nctl_strong_s {
 321#ifdef __BIG_ENDIAN_BITFIELD
 322                uint64_t reserved_5_63:59;
 323                uint64_t nctl:5;
 324#else
 325                uint64_t nctl:5;
 326                uint64_t reserved_5_63:59;
 327#endif
 328        } s;
 329        struct cvmx_asxx_rld_nctl_strong_s cn38xx;
 330        struct cvmx_asxx_rld_nctl_strong_s cn38xxp2;
 331        struct cvmx_asxx_rld_nctl_strong_s cn58xx;
 332        struct cvmx_asxx_rld_nctl_strong_s cn58xxp1;
 333};
 334
 335union cvmx_asxx_rld_nctl_weak {
 336        uint64_t u64;
 337        struct cvmx_asxx_rld_nctl_weak_s {
 338#ifdef __BIG_ENDIAN_BITFIELD
 339                uint64_t reserved_5_63:59;
 340                uint64_t nctl:5;
 341#else
 342                uint64_t nctl:5;
 343                uint64_t reserved_5_63:59;
 344#endif
 345        } s;
 346        struct cvmx_asxx_rld_nctl_weak_s cn38xx;
 347        struct cvmx_asxx_rld_nctl_weak_s cn38xxp2;
 348        struct cvmx_asxx_rld_nctl_weak_s cn58xx;
 349        struct cvmx_asxx_rld_nctl_weak_s cn58xxp1;
 350};
 351
 352union cvmx_asxx_rld_pctl_strong {
 353        uint64_t u64;
 354        struct cvmx_asxx_rld_pctl_strong_s {
 355#ifdef __BIG_ENDIAN_BITFIELD
 356                uint64_t reserved_5_63:59;
 357                uint64_t pctl:5;
 358#else
 359                uint64_t pctl:5;
 360                uint64_t reserved_5_63:59;
 361#endif
 362        } s;
 363        struct cvmx_asxx_rld_pctl_strong_s cn38xx;
 364        struct cvmx_asxx_rld_pctl_strong_s cn38xxp2;
 365        struct cvmx_asxx_rld_pctl_strong_s cn58xx;
 366        struct cvmx_asxx_rld_pctl_strong_s cn58xxp1;
 367};
 368
 369union cvmx_asxx_rld_pctl_weak {
 370        uint64_t u64;
 371        struct cvmx_asxx_rld_pctl_weak_s {
 372#ifdef __BIG_ENDIAN_BITFIELD
 373                uint64_t reserved_5_63:59;
 374                uint64_t pctl:5;
 375#else
 376                uint64_t pctl:5;
 377                uint64_t reserved_5_63:59;
 378#endif
 379        } s;
 380        struct cvmx_asxx_rld_pctl_weak_s cn38xx;
 381        struct cvmx_asxx_rld_pctl_weak_s cn38xxp2;
 382        struct cvmx_asxx_rld_pctl_weak_s cn58xx;
 383        struct cvmx_asxx_rld_pctl_weak_s cn58xxp1;
 384};
 385
 386union cvmx_asxx_rld_setting {
 387        uint64_t u64;
 388        struct cvmx_asxx_rld_setting_s {
 389#ifdef __BIG_ENDIAN_BITFIELD
 390                uint64_t reserved_13_63:51;
 391                uint64_t dfaset:5;
 392                uint64_t dfalag:1;
 393                uint64_t dfalead:1;
 394                uint64_t dfalock:1;
 395                uint64_t setting:5;
 396#else
 397                uint64_t setting:5;
 398                uint64_t dfalock:1;
 399                uint64_t dfalead:1;
 400                uint64_t dfalag:1;
 401                uint64_t dfaset:5;
 402                uint64_t reserved_13_63:51;
 403#endif
 404        } s;
 405        struct cvmx_asxx_rld_setting_cn38xx {
 406#ifdef __BIG_ENDIAN_BITFIELD
 407                uint64_t reserved_5_63:59;
 408                uint64_t setting:5;
 409#else
 410                uint64_t setting:5;
 411                uint64_t reserved_5_63:59;
 412#endif
 413        } cn38xx;
 414        struct cvmx_asxx_rld_setting_cn38xx cn38xxp2;
 415        struct cvmx_asxx_rld_setting_s cn58xx;
 416        struct cvmx_asxx_rld_setting_s cn58xxp1;
 417};
 418
 419union cvmx_asxx_rx_clk_setx {
 420        uint64_t u64;
 421        struct cvmx_asxx_rx_clk_setx_s {
 422#ifdef __BIG_ENDIAN_BITFIELD
 423                uint64_t reserved_5_63:59;
 424                uint64_t setting:5;
 425#else
 426                uint64_t setting:5;
 427                uint64_t reserved_5_63:59;
 428#endif
 429        } s;
 430        struct cvmx_asxx_rx_clk_setx_s cn30xx;
 431        struct cvmx_asxx_rx_clk_setx_s cn31xx;
 432        struct cvmx_asxx_rx_clk_setx_s cn38xx;
 433        struct cvmx_asxx_rx_clk_setx_s cn38xxp2;
 434        struct cvmx_asxx_rx_clk_setx_s cn50xx;
 435        struct cvmx_asxx_rx_clk_setx_s cn58xx;
 436        struct cvmx_asxx_rx_clk_setx_s cn58xxp1;
 437};
 438
 439union cvmx_asxx_rx_prt_en {
 440        uint64_t u64;
 441        struct cvmx_asxx_rx_prt_en_s {
 442#ifdef __BIG_ENDIAN_BITFIELD
 443                uint64_t reserved_4_63:60;
 444                uint64_t prt_en:4;
 445#else
 446                uint64_t prt_en:4;
 447                uint64_t reserved_4_63:60;
 448#endif
 449        } s;
 450        struct cvmx_asxx_rx_prt_en_cn30xx {
 451#ifdef __BIG_ENDIAN_BITFIELD
 452                uint64_t reserved_3_63:61;
 453                uint64_t prt_en:3;
 454#else
 455                uint64_t prt_en:3;
 456                uint64_t reserved_3_63:61;
 457#endif
 458        } cn30xx;
 459        struct cvmx_asxx_rx_prt_en_cn30xx cn31xx;
 460        struct cvmx_asxx_rx_prt_en_s cn38xx;
 461        struct cvmx_asxx_rx_prt_en_s cn38xxp2;
 462        struct cvmx_asxx_rx_prt_en_cn30xx cn50xx;
 463        struct cvmx_asxx_rx_prt_en_s cn58xx;
 464        struct cvmx_asxx_rx_prt_en_s cn58xxp1;
 465};
 466
 467union cvmx_asxx_rx_wol {
 468        uint64_t u64;
 469        struct cvmx_asxx_rx_wol_s {
 470#ifdef __BIG_ENDIAN_BITFIELD
 471                uint64_t reserved_2_63:62;
 472                uint64_t status:1;
 473                uint64_t enable:1;
 474#else
 475                uint64_t enable:1;
 476                uint64_t status:1;
 477                uint64_t reserved_2_63:62;
 478#endif
 479        } s;
 480        struct cvmx_asxx_rx_wol_s cn38xx;
 481        struct cvmx_asxx_rx_wol_s cn38xxp2;
 482};
 483
 484union cvmx_asxx_rx_wol_msk {
 485        uint64_t u64;
 486        struct cvmx_asxx_rx_wol_msk_s {
 487#ifdef __BIG_ENDIAN_BITFIELD
 488                uint64_t msk:64;
 489#else
 490                uint64_t msk:64;
 491#endif
 492        } s;
 493        struct cvmx_asxx_rx_wol_msk_s cn38xx;
 494        struct cvmx_asxx_rx_wol_msk_s cn38xxp2;
 495};
 496
 497union cvmx_asxx_rx_wol_powok {
 498        uint64_t u64;
 499        struct cvmx_asxx_rx_wol_powok_s {
 500#ifdef __BIG_ENDIAN_BITFIELD
 501                uint64_t reserved_1_63:63;
 502                uint64_t powerok:1;
 503#else
 504                uint64_t powerok:1;
 505                uint64_t reserved_1_63:63;
 506#endif
 507        } s;
 508        struct cvmx_asxx_rx_wol_powok_s cn38xx;
 509        struct cvmx_asxx_rx_wol_powok_s cn38xxp2;
 510};
 511
 512union cvmx_asxx_rx_wol_sig {
 513        uint64_t u64;
 514        struct cvmx_asxx_rx_wol_sig_s {
 515#ifdef __BIG_ENDIAN_BITFIELD
 516                uint64_t reserved_32_63:32;
 517                uint64_t sig:32;
 518#else
 519                uint64_t sig:32;
 520                uint64_t reserved_32_63:32;
 521#endif
 522        } s;
 523        struct cvmx_asxx_rx_wol_sig_s cn38xx;
 524        struct cvmx_asxx_rx_wol_sig_s cn38xxp2;
 525};
 526
 527union cvmx_asxx_tx_clk_setx {
 528        uint64_t u64;
 529        struct cvmx_asxx_tx_clk_setx_s {
 530#ifdef __BIG_ENDIAN_BITFIELD
 531                uint64_t reserved_5_63:59;
 532                uint64_t setting:5;
 533#else
 534                uint64_t setting:5;
 535                uint64_t reserved_5_63:59;
 536#endif
 537        } s;
 538        struct cvmx_asxx_tx_clk_setx_s cn30xx;
 539        struct cvmx_asxx_tx_clk_setx_s cn31xx;
 540        struct cvmx_asxx_tx_clk_setx_s cn38xx;
 541        struct cvmx_asxx_tx_clk_setx_s cn38xxp2;
 542        struct cvmx_asxx_tx_clk_setx_s cn50xx;
 543        struct cvmx_asxx_tx_clk_setx_s cn58xx;
 544        struct cvmx_asxx_tx_clk_setx_s cn58xxp1;
 545};
 546
 547union cvmx_asxx_tx_comp_byp {
 548        uint64_t u64;
 549        struct cvmx_asxx_tx_comp_byp_s {
 550#ifdef __BIG_ENDIAN_BITFIELD
 551                uint64_t reserved_0_63:64;
 552#else
 553                uint64_t reserved_0_63:64;
 554#endif
 555        } s;
 556        struct cvmx_asxx_tx_comp_byp_cn30xx {
 557#ifdef __BIG_ENDIAN_BITFIELD
 558                uint64_t reserved_9_63:55;
 559                uint64_t bypass:1;
 560                uint64_t pctl:4;
 561                uint64_t nctl:4;
 562#else
 563                uint64_t nctl:4;
 564                uint64_t pctl:4;
 565                uint64_t bypass:1;
 566                uint64_t reserved_9_63:55;
 567#endif
 568        } cn30xx;
 569        struct cvmx_asxx_tx_comp_byp_cn30xx cn31xx;
 570        struct cvmx_asxx_tx_comp_byp_cn38xx {
 571#ifdef __BIG_ENDIAN_BITFIELD
 572                uint64_t reserved_8_63:56;
 573                uint64_t pctl:4;
 574                uint64_t nctl:4;
 575#else
 576                uint64_t nctl:4;
 577                uint64_t pctl:4;
 578                uint64_t reserved_8_63:56;
 579#endif
 580        } cn38xx;
 581        struct cvmx_asxx_tx_comp_byp_cn38xx cn38xxp2;
 582        struct cvmx_asxx_tx_comp_byp_cn50xx {
 583#ifdef __BIG_ENDIAN_BITFIELD
 584                uint64_t reserved_17_63:47;
 585                uint64_t bypass:1;
 586                uint64_t reserved_13_15:3;
 587                uint64_t pctl:5;
 588                uint64_t reserved_5_7:3;
 589                uint64_t nctl:5;
 590#else
 591                uint64_t nctl:5;
 592                uint64_t reserved_5_7:3;
 593                uint64_t pctl:5;
 594                uint64_t reserved_13_15:3;
 595                uint64_t bypass:1;
 596                uint64_t reserved_17_63:47;
 597#endif
 598        } cn50xx;
 599        struct cvmx_asxx_tx_comp_byp_cn58xx {
 600#ifdef __BIG_ENDIAN_BITFIELD
 601                uint64_t reserved_13_63:51;
 602                uint64_t pctl:5;
 603                uint64_t reserved_5_7:3;
 604                uint64_t nctl:5;
 605#else
 606                uint64_t nctl:5;
 607                uint64_t reserved_5_7:3;
 608                uint64_t pctl:5;
 609                uint64_t reserved_13_63:51;
 610#endif
 611        } cn58xx;
 612        struct cvmx_asxx_tx_comp_byp_cn58xx cn58xxp1;
 613};
 614
 615union cvmx_asxx_tx_hi_waterx {
 616        uint64_t u64;
 617        struct cvmx_asxx_tx_hi_waterx_s {
 618#ifdef __BIG_ENDIAN_BITFIELD
 619                uint64_t reserved_4_63:60;
 620                uint64_t mark:4;
 621#else
 622                uint64_t mark:4;
 623                uint64_t reserved_4_63:60;
 624#endif
 625        } s;
 626        struct cvmx_asxx_tx_hi_waterx_cn30xx {
 627#ifdef __BIG_ENDIAN_BITFIELD
 628                uint64_t reserved_3_63:61;
 629                uint64_t mark:3;
 630#else
 631                uint64_t mark:3;
 632                uint64_t reserved_3_63:61;
 633#endif
 634        } cn30xx;
 635        struct cvmx_asxx_tx_hi_waterx_cn30xx cn31xx;
 636        struct cvmx_asxx_tx_hi_waterx_s cn38xx;
 637        struct cvmx_asxx_tx_hi_waterx_s cn38xxp2;
 638        struct cvmx_asxx_tx_hi_waterx_cn30xx cn50xx;
 639        struct cvmx_asxx_tx_hi_waterx_s cn58xx;
 640        struct cvmx_asxx_tx_hi_waterx_s cn58xxp1;
 641};
 642
 643union cvmx_asxx_tx_prt_en {
 644        uint64_t u64;
 645        struct cvmx_asxx_tx_prt_en_s {
 646#ifdef __BIG_ENDIAN_BITFIELD
 647                uint64_t reserved_4_63:60;
 648                uint64_t prt_en:4;
 649#else
 650                uint64_t prt_en:4;
 651                uint64_t reserved_4_63:60;
 652#endif
 653        } s;
 654        struct cvmx_asxx_tx_prt_en_cn30xx {
 655#ifdef __BIG_ENDIAN_BITFIELD
 656                uint64_t reserved_3_63:61;
 657                uint64_t prt_en:3;
 658#else
 659                uint64_t prt_en:3;
 660                uint64_t reserved_3_63:61;
 661#endif
 662        } cn30xx;
 663        struct cvmx_asxx_tx_prt_en_cn30xx cn31xx;
 664        struct cvmx_asxx_tx_prt_en_s cn38xx;
 665        struct cvmx_asxx_tx_prt_en_s cn38xxp2;
 666        struct cvmx_asxx_tx_prt_en_cn30xx cn50xx;
 667        struct cvmx_asxx_tx_prt_en_s cn58xx;
 668        struct cvmx_asxx_tx_prt_en_s cn58xxp1;
 669};
 670
 671#endif
 672