1*4882a593Smuzhiyun /***********************license start*************** 2*4882a593Smuzhiyun * Author: Cavium Networks 3*4882a593Smuzhiyun * 4*4882a593Smuzhiyun * Contact: support@caviumnetworks.com 5*4882a593Smuzhiyun * This file is part of the OCTEON SDK 6*4882a593Smuzhiyun * 7*4882a593Smuzhiyun * Copyright (C) 2003-2018 Cavium, Inc. 8*4882a593Smuzhiyun * 9*4882a593Smuzhiyun * This file is free software; you can redistribute it and/or modify 10*4882a593Smuzhiyun * it under the terms of the GNU General Public License, Version 2, as 11*4882a593Smuzhiyun * published by the Free Software Foundation. 12*4882a593Smuzhiyun * 13*4882a593Smuzhiyun * This file is distributed in the hope that it will be useful, but 14*4882a593Smuzhiyun * AS-IS and WITHOUT ANY WARRANTY; without even the implied warranty 15*4882a593Smuzhiyun * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE, TITLE, or 16*4882a593Smuzhiyun * NONINFRINGEMENT. See the GNU General Public License for more 17*4882a593Smuzhiyun * details. 18*4882a593Smuzhiyun * 19*4882a593Smuzhiyun * You should have received a copy of the GNU General Public License 20*4882a593Smuzhiyun * along with this file; if not, write to the Free Software 21*4882a593Smuzhiyun * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 22*4882a593Smuzhiyun * or visit http://www.gnu.org/licenses/. 23*4882a593Smuzhiyun * 24*4882a593Smuzhiyun * This file may also be available under a different license from Cavium. 25*4882a593Smuzhiyun * Contact Cavium Networks for more information 26*4882a593Smuzhiyun ***********************license end**************************************/ 27*4882a593Smuzhiyun 28*4882a593Smuzhiyun #ifndef __CVMX_ASXX_DEFS_H__ 29*4882a593Smuzhiyun #define __CVMX_ASXX_DEFS_H__ 30*4882a593Smuzhiyun 31*4882a593Smuzhiyun #define CVMX_ASXX_GMII_RX_CLK_SET(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000180ull)) 32*4882a593Smuzhiyun #define CVMX_ASXX_GMII_RX_DAT_SET(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000188ull)) 33*4882a593Smuzhiyun #define CVMX_ASXX_INT_EN(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000018ull) + ((block_id) & 1) * 0x8000000ull) 34*4882a593Smuzhiyun #define CVMX_ASXX_INT_REG(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000010ull) + ((block_id) & 1) * 0x8000000ull) 35*4882a593Smuzhiyun #define CVMX_ASXX_MII_RX_DAT_SET(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000190ull)) 36*4882a593Smuzhiyun #define CVMX_ASXX_PRT_LOOP(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000040ull) + ((block_id) & 1) * 0x8000000ull) 37*4882a593Smuzhiyun #define CVMX_ASXX_RLD_BYPASS(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000248ull) + ((block_id) & 1) * 0x8000000ull) 38*4882a593Smuzhiyun #define CVMX_ASXX_RLD_BYPASS_SETTING(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000250ull) + ((block_id) & 1) * 0x8000000ull) 39*4882a593Smuzhiyun #define CVMX_ASXX_RLD_COMP(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000220ull) + ((block_id) & 1) * 0x8000000ull) 40*4882a593Smuzhiyun #define CVMX_ASXX_RLD_DATA_DRV(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000218ull) + ((block_id) & 1) * 0x8000000ull) 41*4882a593Smuzhiyun #define CVMX_ASXX_RLD_FCRAM_MODE(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000210ull) + ((block_id) & 1) * 0x8000000ull) 42*4882a593Smuzhiyun #define CVMX_ASXX_RLD_NCTL_STRONG(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000230ull) + ((block_id) & 1) * 0x8000000ull) 43*4882a593Smuzhiyun #define CVMX_ASXX_RLD_NCTL_WEAK(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000240ull) + ((block_id) & 1) * 0x8000000ull) 44*4882a593Smuzhiyun #define CVMX_ASXX_RLD_PCTL_STRONG(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000228ull) + ((block_id) & 1) * 0x8000000ull) 45*4882a593Smuzhiyun #define CVMX_ASXX_RLD_PCTL_WEAK(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000238ull) + ((block_id) & 1) * 0x8000000ull) 46*4882a593Smuzhiyun #define CVMX_ASXX_RLD_SETTING(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000258ull) + ((block_id) & 1) * 0x8000000ull) 47*4882a593Smuzhiyun #define CVMX_ASXX_RX_CLK_SETX(offset, block_id) (CVMX_ADD_IO_SEG(0x00011800B0000020ull) + (((offset) & 3) + ((block_id) & 1) * 0x1000000ull) * 8) 48*4882a593Smuzhiyun #define CVMX_ASXX_RX_PRT_EN(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000000ull) + ((block_id) & 1) * 0x8000000ull) 49*4882a593Smuzhiyun #define CVMX_ASXX_RX_WOL(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000100ull) + ((block_id) & 1) * 0x8000000ull) 50*4882a593Smuzhiyun #define CVMX_ASXX_RX_WOL_MSK(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000108ull) + ((block_id) & 1) * 0x8000000ull) 51*4882a593Smuzhiyun #define CVMX_ASXX_RX_WOL_POWOK(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000118ull) + ((block_id) & 1) * 0x8000000ull) 52*4882a593Smuzhiyun #define CVMX_ASXX_RX_WOL_SIG(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000110ull) + ((block_id) & 1) * 0x8000000ull) 53*4882a593Smuzhiyun #define CVMX_ASXX_TX_CLK_SETX(offset, block_id) (CVMX_ADD_IO_SEG(0x00011800B0000048ull) + (((offset) & 3) + ((block_id) & 1) * 0x1000000ull) * 8) 54*4882a593Smuzhiyun #define CVMX_ASXX_TX_COMP_BYP(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000068ull) + ((block_id) & 1) * 0x8000000ull) 55*4882a593Smuzhiyun #define CVMX_ASXX_TX_HI_WATERX(offset, block_id) (CVMX_ADD_IO_SEG(0x00011800B0000080ull) + (((offset) & 3) + ((block_id) & 1) * 0x1000000ull) * 8) 56*4882a593Smuzhiyun #define CVMX_ASXX_TX_PRT_EN(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000008ull) + ((block_id) & 1) * 0x8000000ull) 57*4882a593Smuzhiyun 58*4882a593Smuzhiyun void __cvmx_interrupt_asxx_enable(int block); 59*4882a593Smuzhiyun 60*4882a593Smuzhiyun union cvmx_asxx_gmii_rx_clk_set { 61*4882a593Smuzhiyun uint64_t u64; 62*4882a593Smuzhiyun struct cvmx_asxx_gmii_rx_clk_set_s { 63*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD 64*4882a593Smuzhiyun uint64_t reserved_5_63:59; 65*4882a593Smuzhiyun uint64_t setting:5; 66*4882a593Smuzhiyun #else 67*4882a593Smuzhiyun uint64_t setting:5; 68*4882a593Smuzhiyun uint64_t reserved_5_63:59; 69*4882a593Smuzhiyun #endif 70*4882a593Smuzhiyun } s; 71*4882a593Smuzhiyun }; 72*4882a593Smuzhiyun 73*4882a593Smuzhiyun union cvmx_asxx_gmii_rx_dat_set { 74*4882a593Smuzhiyun uint64_t u64; 75*4882a593Smuzhiyun struct cvmx_asxx_gmii_rx_dat_set_s { 76*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD 77*4882a593Smuzhiyun uint64_t reserved_5_63:59; 78*4882a593Smuzhiyun uint64_t setting:5; 79*4882a593Smuzhiyun #else 80*4882a593Smuzhiyun uint64_t setting:5; 81*4882a593Smuzhiyun uint64_t reserved_5_63:59; 82*4882a593Smuzhiyun #endif 83*4882a593Smuzhiyun } s; 84*4882a593Smuzhiyun }; 85*4882a593Smuzhiyun 86*4882a593Smuzhiyun union cvmx_asxx_int_en { 87*4882a593Smuzhiyun uint64_t u64; 88*4882a593Smuzhiyun struct cvmx_asxx_int_en_s { 89*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD 90*4882a593Smuzhiyun uint64_t reserved_12_63:52; 91*4882a593Smuzhiyun uint64_t txpsh:4; 92*4882a593Smuzhiyun uint64_t txpop:4; 93*4882a593Smuzhiyun uint64_t ovrflw:4; 94*4882a593Smuzhiyun #else 95*4882a593Smuzhiyun uint64_t ovrflw:4; 96*4882a593Smuzhiyun uint64_t txpop:4; 97*4882a593Smuzhiyun uint64_t txpsh:4; 98*4882a593Smuzhiyun uint64_t reserved_12_63:52; 99*4882a593Smuzhiyun #endif 100*4882a593Smuzhiyun } s; 101*4882a593Smuzhiyun struct cvmx_asxx_int_en_cn30xx { 102*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD 103*4882a593Smuzhiyun uint64_t reserved_11_63:53; 104*4882a593Smuzhiyun uint64_t txpsh:3; 105*4882a593Smuzhiyun uint64_t reserved_7_7:1; 106*4882a593Smuzhiyun uint64_t txpop:3; 107*4882a593Smuzhiyun uint64_t reserved_3_3:1; 108*4882a593Smuzhiyun uint64_t ovrflw:3; 109*4882a593Smuzhiyun #else 110*4882a593Smuzhiyun uint64_t ovrflw:3; 111*4882a593Smuzhiyun uint64_t reserved_3_3:1; 112*4882a593Smuzhiyun uint64_t txpop:3; 113*4882a593Smuzhiyun uint64_t reserved_7_7:1; 114*4882a593Smuzhiyun uint64_t txpsh:3; 115*4882a593Smuzhiyun uint64_t reserved_11_63:53; 116*4882a593Smuzhiyun #endif 117*4882a593Smuzhiyun } cn30xx; 118*4882a593Smuzhiyun }; 119*4882a593Smuzhiyun 120*4882a593Smuzhiyun union cvmx_asxx_int_reg { 121*4882a593Smuzhiyun uint64_t u64; 122*4882a593Smuzhiyun struct cvmx_asxx_int_reg_s { 123*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD 124*4882a593Smuzhiyun uint64_t reserved_12_63:52; 125*4882a593Smuzhiyun uint64_t txpsh:4; 126*4882a593Smuzhiyun uint64_t txpop:4; 127*4882a593Smuzhiyun uint64_t ovrflw:4; 128*4882a593Smuzhiyun #else 129*4882a593Smuzhiyun uint64_t ovrflw:4; 130*4882a593Smuzhiyun uint64_t txpop:4; 131*4882a593Smuzhiyun uint64_t txpsh:4; 132*4882a593Smuzhiyun uint64_t reserved_12_63:52; 133*4882a593Smuzhiyun #endif 134*4882a593Smuzhiyun } s; 135*4882a593Smuzhiyun struct cvmx_asxx_int_reg_cn30xx { 136*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD 137*4882a593Smuzhiyun uint64_t reserved_11_63:53; 138*4882a593Smuzhiyun uint64_t txpsh:3; 139*4882a593Smuzhiyun uint64_t reserved_7_7:1; 140*4882a593Smuzhiyun uint64_t txpop:3; 141*4882a593Smuzhiyun uint64_t reserved_3_3:1; 142*4882a593Smuzhiyun uint64_t ovrflw:3; 143*4882a593Smuzhiyun #else 144*4882a593Smuzhiyun uint64_t ovrflw:3; 145*4882a593Smuzhiyun uint64_t reserved_3_3:1; 146*4882a593Smuzhiyun uint64_t txpop:3; 147*4882a593Smuzhiyun uint64_t reserved_7_7:1; 148*4882a593Smuzhiyun uint64_t txpsh:3; 149*4882a593Smuzhiyun uint64_t reserved_11_63:53; 150*4882a593Smuzhiyun #endif 151*4882a593Smuzhiyun } cn30xx; 152*4882a593Smuzhiyun }; 153*4882a593Smuzhiyun 154*4882a593Smuzhiyun union cvmx_asxx_mii_rx_dat_set { 155*4882a593Smuzhiyun uint64_t u64; 156*4882a593Smuzhiyun struct cvmx_asxx_mii_rx_dat_set_s { 157*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD 158*4882a593Smuzhiyun uint64_t reserved_5_63:59; 159*4882a593Smuzhiyun uint64_t setting:5; 160*4882a593Smuzhiyun #else 161*4882a593Smuzhiyun uint64_t setting:5; 162*4882a593Smuzhiyun uint64_t reserved_5_63:59; 163*4882a593Smuzhiyun #endif 164*4882a593Smuzhiyun } s; 165*4882a593Smuzhiyun }; 166*4882a593Smuzhiyun 167*4882a593Smuzhiyun union cvmx_asxx_prt_loop { 168*4882a593Smuzhiyun uint64_t u64; 169*4882a593Smuzhiyun struct cvmx_asxx_prt_loop_s { 170*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD 171*4882a593Smuzhiyun uint64_t reserved_8_63:56; 172*4882a593Smuzhiyun uint64_t ext_loop:4; 173*4882a593Smuzhiyun uint64_t int_loop:4; 174*4882a593Smuzhiyun #else 175*4882a593Smuzhiyun uint64_t int_loop:4; 176*4882a593Smuzhiyun uint64_t ext_loop:4; 177*4882a593Smuzhiyun uint64_t reserved_8_63:56; 178*4882a593Smuzhiyun #endif 179*4882a593Smuzhiyun } s; 180*4882a593Smuzhiyun struct cvmx_asxx_prt_loop_cn30xx { 181*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD 182*4882a593Smuzhiyun uint64_t reserved_7_63:57; 183*4882a593Smuzhiyun uint64_t ext_loop:3; 184*4882a593Smuzhiyun uint64_t reserved_3_3:1; 185*4882a593Smuzhiyun uint64_t int_loop:3; 186*4882a593Smuzhiyun #else 187*4882a593Smuzhiyun uint64_t int_loop:3; 188*4882a593Smuzhiyun uint64_t reserved_3_3:1; 189*4882a593Smuzhiyun uint64_t ext_loop:3; 190*4882a593Smuzhiyun uint64_t reserved_7_63:57; 191*4882a593Smuzhiyun #endif 192*4882a593Smuzhiyun } cn30xx; 193*4882a593Smuzhiyun }; 194*4882a593Smuzhiyun 195*4882a593Smuzhiyun union cvmx_asxx_rld_bypass { 196*4882a593Smuzhiyun uint64_t u64; 197*4882a593Smuzhiyun struct cvmx_asxx_rld_bypass_s { 198*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD 199*4882a593Smuzhiyun uint64_t reserved_1_63:63; 200*4882a593Smuzhiyun uint64_t bypass:1; 201*4882a593Smuzhiyun #else 202*4882a593Smuzhiyun uint64_t bypass:1; 203*4882a593Smuzhiyun uint64_t reserved_1_63:63; 204*4882a593Smuzhiyun #endif 205*4882a593Smuzhiyun } s; 206*4882a593Smuzhiyun }; 207*4882a593Smuzhiyun 208*4882a593Smuzhiyun union cvmx_asxx_rld_bypass_setting { 209*4882a593Smuzhiyun uint64_t u64; 210*4882a593Smuzhiyun struct cvmx_asxx_rld_bypass_setting_s { 211*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD 212*4882a593Smuzhiyun uint64_t reserved_5_63:59; 213*4882a593Smuzhiyun uint64_t setting:5; 214*4882a593Smuzhiyun #else 215*4882a593Smuzhiyun uint64_t setting:5; 216*4882a593Smuzhiyun uint64_t reserved_5_63:59; 217*4882a593Smuzhiyun #endif 218*4882a593Smuzhiyun } s; 219*4882a593Smuzhiyun }; 220*4882a593Smuzhiyun 221*4882a593Smuzhiyun union cvmx_asxx_rld_comp { 222*4882a593Smuzhiyun uint64_t u64; 223*4882a593Smuzhiyun struct cvmx_asxx_rld_comp_s { 224*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD 225*4882a593Smuzhiyun uint64_t reserved_9_63:55; 226*4882a593Smuzhiyun uint64_t pctl:5; 227*4882a593Smuzhiyun uint64_t nctl:4; 228*4882a593Smuzhiyun #else 229*4882a593Smuzhiyun uint64_t nctl:4; 230*4882a593Smuzhiyun uint64_t pctl:5; 231*4882a593Smuzhiyun uint64_t reserved_9_63:55; 232*4882a593Smuzhiyun #endif 233*4882a593Smuzhiyun } s; 234*4882a593Smuzhiyun struct cvmx_asxx_rld_comp_cn38xx { 235*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD 236*4882a593Smuzhiyun uint64_t reserved_8_63:56; 237*4882a593Smuzhiyun uint64_t pctl:4; 238*4882a593Smuzhiyun uint64_t nctl:4; 239*4882a593Smuzhiyun #else 240*4882a593Smuzhiyun uint64_t nctl:4; 241*4882a593Smuzhiyun uint64_t pctl:4; 242*4882a593Smuzhiyun uint64_t reserved_8_63:56; 243*4882a593Smuzhiyun #endif 244*4882a593Smuzhiyun } cn38xx; 245*4882a593Smuzhiyun }; 246*4882a593Smuzhiyun 247*4882a593Smuzhiyun union cvmx_asxx_rld_data_drv { 248*4882a593Smuzhiyun uint64_t u64; 249*4882a593Smuzhiyun struct cvmx_asxx_rld_data_drv_s { 250*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD 251*4882a593Smuzhiyun uint64_t reserved_8_63:56; 252*4882a593Smuzhiyun uint64_t pctl:4; 253*4882a593Smuzhiyun uint64_t nctl:4; 254*4882a593Smuzhiyun #else 255*4882a593Smuzhiyun uint64_t nctl:4; 256*4882a593Smuzhiyun uint64_t pctl:4; 257*4882a593Smuzhiyun uint64_t reserved_8_63:56; 258*4882a593Smuzhiyun #endif 259*4882a593Smuzhiyun } s; 260*4882a593Smuzhiyun }; 261*4882a593Smuzhiyun 262*4882a593Smuzhiyun union cvmx_asxx_rld_fcram_mode { 263*4882a593Smuzhiyun uint64_t u64; 264*4882a593Smuzhiyun struct cvmx_asxx_rld_fcram_mode_s { 265*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD 266*4882a593Smuzhiyun uint64_t reserved_1_63:63; 267*4882a593Smuzhiyun uint64_t mode:1; 268*4882a593Smuzhiyun #else 269*4882a593Smuzhiyun uint64_t mode:1; 270*4882a593Smuzhiyun uint64_t reserved_1_63:63; 271*4882a593Smuzhiyun #endif 272*4882a593Smuzhiyun } s; 273*4882a593Smuzhiyun }; 274*4882a593Smuzhiyun 275*4882a593Smuzhiyun union cvmx_asxx_rld_nctl_strong { 276*4882a593Smuzhiyun uint64_t u64; 277*4882a593Smuzhiyun struct cvmx_asxx_rld_nctl_strong_s { 278*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD 279*4882a593Smuzhiyun uint64_t reserved_5_63:59; 280*4882a593Smuzhiyun uint64_t nctl:5; 281*4882a593Smuzhiyun #else 282*4882a593Smuzhiyun uint64_t nctl:5; 283*4882a593Smuzhiyun uint64_t reserved_5_63:59; 284*4882a593Smuzhiyun #endif 285*4882a593Smuzhiyun } s; 286*4882a593Smuzhiyun }; 287*4882a593Smuzhiyun 288*4882a593Smuzhiyun union cvmx_asxx_rld_nctl_weak { 289*4882a593Smuzhiyun uint64_t u64; 290*4882a593Smuzhiyun struct cvmx_asxx_rld_nctl_weak_s { 291*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD 292*4882a593Smuzhiyun uint64_t reserved_5_63:59; 293*4882a593Smuzhiyun uint64_t nctl:5; 294*4882a593Smuzhiyun #else 295*4882a593Smuzhiyun uint64_t nctl:5; 296*4882a593Smuzhiyun uint64_t reserved_5_63:59; 297*4882a593Smuzhiyun #endif 298*4882a593Smuzhiyun } s; 299*4882a593Smuzhiyun }; 300*4882a593Smuzhiyun 301*4882a593Smuzhiyun union cvmx_asxx_rld_pctl_strong { 302*4882a593Smuzhiyun uint64_t u64; 303*4882a593Smuzhiyun struct cvmx_asxx_rld_pctl_strong_s { 304*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD 305*4882a593Smuzhiyun uint64_t reserved_5_63:59; 306*4882a593Smuzhiyun uint64_t pctl:5; 307*4882a593Smuzhiyun #else 308*4882a593Smuzhiyun uint64_t pctl:5; 309*4882a593Smuzhiyun uint64_t reserved_5_63:59; 310*4882a593Smuzhiyun #endif 311*4882a593Smuzhiyun } s; 312*4882a593Smuzhiyun }; 313*4882a593Smuzhiyun 314*4882a593Smuzhiyun union cvmx_asxx_rld_pctl_weak { 315*4882a593Smuzhiyun uint64_t u64; 316*4882a593Smuzhiyun struct cvmx_asxx_rld_pctl_weak_s { 317*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD 318*4882a593Smuzhiyun uint64_t reserved_5_63:59; 319*4882a593Smuzhiyun uint64_t pctl:5; 320*4882a593Smuzhiyun #else 321*4882a593Smuzhiyun uint64_t pctl:5; 322*4882a593Smuzhiyun uint64_t reserved_5_63:59; 323*4882a593Smuzhiyun #endif 324*4882a593Smuzhiyun } s; 325*4882a593Smuzhiyun }; 326*4882a593Smuzhiyun 327*4882a593Smuzhiyun union cvmx_asxx_rld_setting { 328*4882a593Smuzhiyun uint64_t u64; 329*4882a593Smuzhiyun struct cvmx_asxx_rld_setting_s { 330*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD 331*4882a593Smuzhiyun uint64_t reserved_13_63:51; 332*4882a593Smuzhiyun uint64_t dfaset:5; 333*4882a593Smuzhiyun uint64_t dfalag:1; 334*4882a593Smuzhiyun uint64_t dfalead:1; 335*4882a593Smuzhiyun uint64_t dfalock:1; 336*4882a593Smuzhiyun uint64_t setting:5; 337*4882a593Smuzhiyun #else 338*4882a593Smuzhiyun uint64_t setting:5; 339*4882a593Smuzhiyun uint64_t dfalock:1; 340*4882a593Smuzhiyun uint64_t dfalead:1; 341*4882a593Smuzhiyun uint64_t dfalag:1; 342*4882a593Smuzhiyun uint64_t dfaset:5; 343*4882a593Smuzhiyun uint64_t reserved_13_63:51; 344*4882a593Smuzhiyun #endif 345*4882a593Smuzhiyun } s; 346*4882a593Smuzhiyun struct cvmx_asxx_rld_setting_cn38xx { 347*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD 348*4882a593Smuzhiyun uint64_t reserved_5_63:59; 349*4882a593Smuzhiyun uint64_t setting:5; 350*4882a593Smuzhiyun #else 351*4882a593Smuzhiyun uint64_t setting:5; 352*4882a593Smuzhiyun uint64_t reserved_5_63:59; 353*4882a593Smuzhiyun #endif 354*4882a593Smuzhiyun } cn38xx; 355*4882a593Smuzhiyun }; 356*4882a593Smuzhiyun 357*4882a593Smuzhiyun union cvmx_asxx_rx_clk_setx { 358*4882a593Smuzhiyun uint64_t u64; 359*4882a593Smuzhiyun struct cvmx_asxx_rx_clk_setx_s { 360*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD 361*4882a593Smuzhiyun uint64_t reserved_5_63:59; 362*4882a593Smuzhiyun uint64_t setting:5; 363*4882a593Smuzhiyun #else 364*4882a593Smuzhiyun uint64_t setting:5; 365*4882a593Smuzhiyun uint64_t reserved_5_63:59; 366*4882a593Smuzhiyun #endif 367*4882a593Smuzhiyun } s; 368*4882a593Smuzhiyun }; 369*4882a593Smuzhiyun 370*4882a593Smuzhiyun union cvmx_asxx_rx_prt_en { 371*4882a593Smuzhiyun uint64_t u64; 372*4882a593Smuzhiyun struct cvmx_asxx_rx_prt_en_s { 373*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD 374*4882a593Smuzhiyun uint64_t reserved_4_63:60; 375*4882a593Smuzhiyun uint64_t prt_en:4; 376*4882a593Smuzhiyun #else 377*4882a593Smuzhiyun uint64_t prt_en:4; 378*4882a593Smuzhiyun uint64_t reserved_4_63:60; 379*4882a593Smuzhiyun #endif 380*4882a593Smuzhiyun } s; 381*4882a593Smuzhiyun struct cvmx_asxx_rx_prt_en_cn30xx { 382*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD 383*4882a593Smuzhiyun uint64_t reserved_3_63:61; 384*4882a593Smuzhiyun uint64_t prt_en:3; 385*4882a593Smuzhiyun #else 386*4882a593Smuzhiyun uint64_t prt_en:3; 387*4882a593Smuzhiyun uint64_t reserved_3_63:61; 388*4882a593Smuzhiyun #endif 389*4882a593Smuzhiyun } cn30xx; 390*4882a593Smuzhiyun }; 391*4882a593Smuzhiyun 392*4882a593Smuzhiyun union cvmx_asxx_rx_wol { 393*4882a593Smuzhiyun uint64_t u64; 394*4882a593Smuzhiyun struct cvmx_asxx_rx_wol_s { 395*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD 396*4882a593Smuzhiyun uint64_t reserved_2_63:62; 397*4882a593Smuzhiyun uint64_t status:1; 398*4882a593Smuzhiyun uint64_t enable:1; 399*4882a593Smuzhiyun #else 400*4882a593Smuzhiyun uint64_t enable:1; 401*4882a593Smuzhiyun uint64_t status:1; 402*4882a593Smuzhiyun uint64_t reserved_2_63:62; 403*4882a593Smuzhiyun #endif 404*4882a593Smuzhiyun } s; 405*4882a593Smuzhiyun }; 406*4882a593Smuzhiyun 407*4882a593Smuzhiyun union cvmx_asxx_rx_wol_msk { 408*4882a593Smuzhiyun uint64_t u64; 409*4882a593Smuzhiyun struct cvmx_asxx_rx_wol_msk_s { 410*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD 411*4882a593Smuzhiyun uint64_t msk:64; 412*4882a593Smuzhiyun #else 413*4882a593Smuzhiyun uint64_t msk:64; 414*4882a593Smuzhiyun #endif 415*4882a593Smuzhiyun } s; 416*4882a593Smuzhiyun }; 417*4882a593Smuzhiyun 418*4882a593Smuzhiyun union cvmx_asxx_rx_wol_powok { 419*4882a593Smuzhiyun uint64_t u64; 420*4882a593Smuzhiyun struct cvmx_asxx_rx_wol_powok_s { 421*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD 422*4882a593Smuzhiyun uint64_t reserved_1_63:63; 423*4882a593Smuzhiyun uint64_t powerok:1; 424*4882a593Smuzhiyun #else 425*4882a593Smuzhiyun uint64_t powerok:1; 426*4882a593Smuzhiyun uint64_t reserved_1_63:63; 427*4882a593Smuzhiyun #endif 428*4882a593Smuzhiyun } s; 429*4882a593Smuzhiyun }; 430*4882a593Smuzhiyun 431*4882a593Smuzhiyun union cvmx_asxx_rx_wol_sig { 432*4882a593Smuzhiyun uint64_t u64; 433*4882a593Smuzhiyun struct cvmx_asxx_rx_wol_sig_s { 434*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD 435*4882a593Smuzhiyun uint64_t reserved_32_63:32; 436*4882a593Smuzhiyun uint64_t sig:32; 437*4882a593Smuzhiyun #else 438*4882a593Smuzhiyun uint64_t sig:32; 439*4882a593Smuzhiyun uint64_t reserved_32_63:32; 440*4882a593Smuzhiyun #endif 441*4882a593Smuzhiyun } s; 442*4882a593Smuzhiyun }; 443*4882a593Smuzhiyun 444*4882a593Smuzhiyun union cvmx_asxx_tx_clk_setx { 445*4882a593Smuzhiyun uint64_t u64; 446*4882a593Smuzhiyun struct cvmx_asxx_tx_clk_setx_s { 447*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD 448*4882a593Smuzhiyun uint64_t reserved_5_63:59; 449*4882a593Smuzhiyun uint64_t setting:5; 450*4882a593Smuzhiyun #else 451*4882a593Smuzhiyun uint64_t setting:5; 452*4882a593Smuzhiyun uint64_t reserved_5_63:59; 453*4882a593Smuzhiyun #endif 454*4882a593Smuzhiyun } s; 455*4882a593Smuzhiyun }; 456*4882a593Smuzhiyun 457*4882a593Smuzhiyun union cvmx_asxx_tx_comp_byp { 458*4882a593Smuzhiyun uint64_t u64; 459*4882a593Smuzhiyun struct cvmx_asxx_tx_comp_byp_s { 460*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD 461*4882a593Smuzhiyun uint64_t reserved_0_63:64; 462*4882a593Smuzhiyun #else 463*4882a593Smuzhiyun uint64_t reserved_0_63:64; 464*4882a593Smuzhiyun #endif 465*4882a593Smuzhiyun } s; 466*4882a593Smuzhiyun struct cvmx_asxx_tx_comp_byp_cn30xx { 467*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD 468*4882a593Smuzhiyun uint64_t reserved_9_63:55; 469*4882a593Smuzhiyun uint64_t bypass:1; 470*4882a593Smuzhiyun uint64_t pctl:4; 471*4882a593Smuzhiyun uint64_t nctl:4; 472*4882a593Smuzhiyun #else 473*4882a593Smuzhiyun uint64_t nctl:4; 474*4882a593Smuzhiyun uint64_t pctl:4; 475*4882a593Smuzhiyun uint64_t bypass:1; 476*4882a593Smuzhiyun uint64_t reserved_9_63:55; 477*4882a593Smuzhiyun #endif 478*4882a593Smuzhiyun } cn30xx; 479*4882a593Smuzhiyun struct cvmx_asxx_tx_comp_byp_cn38xx { 480*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD 481*4882a593Smuzhiyun uint64_t reserved_8_63:56; 482*4882a593Smuzhiyun uint64_t pctl:4; 483*4882a593Smuzhiyun uint64_t nctl:4; 484*4882a593Smuzhiyun #else 485*4882a593Smuzhiyun uint64_t nctl:4; 486*4882a593Smuzhiyun uint64_t pctl:4; 487*4882a593Smuzhiyun uint64_t reserved_8_63:56; 488*4882a593Smuzhiyun #endif 489*4882a593Smuzhiyun } cn38xx; 490*4882a593Smuzhiyun struct cvmx_asxx_tx_comp_byp_cn50xx { 491*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD 492*4882a593Smuzhiyun uint64_t reserved_17_63:47; 493*4882a593Smuzhiyun uint64_t bypass:1; 494*4882a593Smuzhiyun uint64_t reserved_13_15:3; 495*4882a593Smuzhiyun uint64_t pctl:5; 496*4882a593Smuzhiyun uint64_t reserved_5_7:3; 497*4882a593Smuzhiyun uint64_t nctl:5; 498*4882a593Smuzhiyun #else 499*4882a593Smuzhiyun uint64_t nctl:5; 500*4882a593Smuzhiyun uint64_t reserved_5_7:3; 501*4882a593Smuzhiyun uint64_t pctl:5; 502*4882a593Smuzhiyun uint64_t reserved_13_15:3; 503*4882a593Smuzhiyun uint64_t bypass:1; 504*4882a593Smuzhiyun uint64_t reserved_17_63:47; 505*4882a593Smuzhiyun #endif 506*4882a593Smuzhiyun } cn50xx; 507*4882a593Smuzhiyun struct cvmx_asxx_tx_comp_byp_cn58xx { 508*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD 509*4882a593Smuzhiyun uint64_t reserved_13_63:51; 510*4882a593Smuzhiyun uint64_t pctl:5; 511*4882a593Smuzhiyun uint64_t reserved_5_7:3; 512*4882a593Smuzhiyun uint64_t nctl:5; 513*4882a593Smuzhiyun #else 514*4882a593Smuzhiyun uint64_t nctl:5; 515*4882a593Smuzhiyun uint64_t reserved_5_7:3; 516*4882a593Smuzhiyun uint64_t pctl:5; 517*4882a593Smuzhiyun uint64_t reserved_13_63:51; 518*4882a593Smuzhiyun #endif 519*4882a593Smuzhiyun } cn58xx; 520*4882a593Smuzhiyun }; 521*4882a593Smuzhiyun 522*4882a593Smuzhiyun union cvmx_asxx_tx_hi_waterx { 523*4882a593Smuzhiyun uint64_t u64; 524*4882a593Smuzhiyun struct cvmx_asxx_tx_hi_waterx_s { 525*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD 526*4882a593Smuzhiyun uint64_t reserved_4_63:60; 527*4882a593Smuzhiyun uint64_t mark:4; 528*4882a593Smuzhiyun #else 529*4882a593Smuzhiyun uint64_t mark:4; 530*4882a593Smuzhiyun uint64_t reserved_4_63:60; 531*4882a593Smuzhiyun #endif 532*4882a593Smuzhiyun } s; 533*4882a593Smuzhiyun struct cvmx_asxx_tx_hi_waterx_cn30xx { 534*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD 535*4882a593Smuzhiyun uint64_t reserved_3_63:61; 536*4882a593Smuzhiyun uint64_t mark:3; 537*4882a593Smuzhiyun #else 538*4882a593Smuzhiyun uint64_t mark:3; 539*4882a593Smuzhiyun uint64_t reserved_3_63:61; 540*4882a593Smuzhiyun #endif 541*4882a593Smuzhiyun } cn30xx; 542*4882a593Smuzhiyun }; 543*4882a593Smuzhiyun 544*4882a593Smuzhiyun union cvmx_asxx_tx_prt_en { 545*4882a593Smuzhiyun uint64_t u64; 546*4882a593Smuzhiyun struct cvmx_asxx_tx_prt_en_s { 547*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD 548*4882a593Smuzhiyun uint64_t reserved_4_63:60; 549*4882a593Smuzhiyun uint64_t prt_en:4; 550*4882a593Smuzhiyun #else 551*4882a593Smuzhiyun uint64_t prt_en:4; 552*4882a593Smuzhiyun uint64_t reserved_4_63:60; 553*4882a593Smuzhiyun #endif 554*4882a593Smuzhiyun } s; 555*4882a593Smuzhiyun struct cvmx_asxx_tx_prt_en_cn30xx { 556*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD 557*4882a593Smuzhiyun uint64_t reserved_3_63:61; 558*4882a593Smuzhiyun uint64_t prt_en:3; 559*4882a593Smuzhiyun #else 560*4882a593Smuzhiyun uint64_t prt_en:3; 561*4882a593Smuzhiyun uint64_t reserved_3_63:61; 562*4882a593Smuzhiyun #endif 563*4882a593Smuzhiyun } cn30xx; 564*4882a593Smuzhiyun }; 565*4882a593Smuzhiyun 566*4882a593Smuzhiyun #endif 567