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