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 * 7*840267e4SSteven J. Hill * Copyright (C) 2003-2018 Cavium, Inc. 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 58*840267e4SSteven J. Hill void __cvmx_interrupt_asxx_enable(int block); 59*840267e4SSteven J. Hill 60af866496SDavid Daney union cvmx_asxx_gmii_rx_clk_set { 61af866496SDavid Daney uint64_t u64; 62af866496SDavid Daney struct cvmx_asxx_gmii_rx_clk_set_s { 63c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 64af866496SDavid Daney uint64_t reserved_5_63:59; 65af866496SDavid Daney uint64_t setting:5; 66c5aa59e8SDavid Daney #else 67c5aa59e8SDavid Daney uint64_t setting:5; 68c5aa59e8SDavid Daney uint64_t reserved_5_63:59; 69c5aa59e8SDavid Daney #endif 70af866496SDavid Daney } s; 71af866496SDavid Daney }; 72af866496SDavid Daney 73af866496SDavid Daney union cvmx_asxx_gmii_rx_dat_set { 74af866496SDavid Daney uint64_t u64; 75af866496SDavid Daney struct cvmx_asxx_gmii_rx_dat_set_s { 76c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 77af866496SDavid Daney uint64_t reserved_5_63:59; 78af866496SDavid Daney uint64_t setting:5; 79c5aa59e8SDavid Daney #else 80c5aa59e8SDavid Daney uint64_t setting:5; 81c5aa59e8SDavid Daney uint64_t reserved_5_63:59; 82c5aa59e8SDavid Daney #endif 83af866496SDavid Daney } s; 84af866496SDavid Daney }; 85af866496SDavid Daney 86af866496SDavid Daney union cvmx_asxx_int_en { 87af866496SDavid Daney uint64_t u64; 88af866496SDavid Daney struct cvmx_asxx_int_en_s { 89c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 90af866496SDavid Daney uint64_t reserved_12_63:52; 91af866496SDavid Daney uint64_t txpsh:4; 92af866496SDavid Daney uint64_t txpop:4; 93af866496SDavid Daney uint64_t ovrflw:4; 94c5aa59e8SDavid Daney #else 95c5aa59e8SDavid Daney uint64_t ovrflw:4; 96c5aa59e8SDavid Daney uint64_t txpop:4; 97c5aa59e8SDavid Daney uint64_t txpsh:4; 98c5aa59e8SDavid Daney uint64_t reserved_12_63:52; 99c5aa59e8SDavid Daney #endif 100af866496SDavid Daney } s; 101af866496SDavid Daney struct cvmx_asxx_int_en_cn30xx { 102c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 103af866496SDavid Daney uint64_t reserved_11_63:53; 104af866496SDavid Daney uint64_t txpsh:3; 105af866496SDavid Daney uint64_t reserved_7_7:1; 106af866496SDavid Daney uint64_t txpop:3; 107af866496SDavid Daney uint64_t reserved_3_3:1; 108af866496SDavid Daney uint64_t ovrflw:3; 109c5aa59e8SDavid Daney #else 110c5aa59e8SDavid Daney uint64_t ovrflw:3; 111c5aa59e8SDavid Daney uint64_t reserved_3_3:1; 112c5aa59e8SDavid Daney uint64_t txpop:3; 113c5aa59e8SDavid Daney uint64_t reserved_7_7:1; 114c5aa59e8SDavid Daney uint64_t txpsh:3; 115c5aa59e8SDavid Daney uint64_t reserved_11_63:53; 116c5aa59e8SDavid Daney #endif 117af866496SDavid Daney } cn30xx; 118af866496SDavid Daney }; 119af866496SDavid Daney 120af866496SDavid Daney union cvmx_asxx_int_reg { 121af866496SDavid Daney uint64_t u64; 122af866496SDavid Daney struct cvmx_asxx_int_reg_s { 123c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 124af866496SDavid Daney uint64_t reserved_12_63:52; 125af866496SDavid Daney uint64_t txpsh:4; 126af866496SDavid Daney uint64_t txpop:4; 127af866496SDavid Daney uint64_t ovrflw:4; 128c5aa59e8SDavid Daney #else 129c5aa59e8SDavid Daney uint64_t ovrflw:4; 130c5aa59e8SDavid Daney uint64_t txpop:4; 131c5aa59e8SDavid Daney uint64_t txpsh:4; 132c5aa59e8SDavid Daney uint64_t reserved_12_63:52; 133c5aa59e8SDavid Daney #endif 134af866496SDavid Daney } s; 135af866496SDavid Daney struct cvmx_asxx_int_reg_cn30xx { 136c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 137af866496SDavid Daney uint64_t reserved_11_63:53; 138af866496SDavid Daney uint64_t txpsh:3; 139af866496SDavid Daney uint64_t reserved_7_7:1; 140af866496SDavid Daney uint64_t txpop:3; 141af866496SDavid Daney uint64_t reserved_3_3:1; 142af866496SDavid Daney uint64_t ovrflw:3; 143c5aa59e8SDavid Daney #else 144c5aa59e8SDavid Daney uint64_t ovrflw:3; 145c5aa59e8SDavid Daney uint64_t reserved_3_3:1; 146c5aa59e8SDavid Daney uint64_t txpop:3; 147c5aa59e8SDavid Daney uint64_t reserved_7_7:1; 148c5aa59e8SDavid Daney uint64_t txpsh:3; 149c5aa59e8SDavid Daney uint64_t reserved_11_63:53; 150c5aa59e8SDavid Daney #endif 151af866496SDavid Daney } cn30xx; 152af866496SDavid Daney }; 153af866496SDavid Daney 154af866496SDavid Daney union cvmx_asxx_mii_rx_dat_set { 155af866496SDavid Daney uint64_t u64; 156af866496SDavid Daney struct cvmx_asxx_mii_rx_dat_set_s { 157c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 158af866496SDavid Daney uint64_t reserved_5_63:59; 159af866496SDavid Daney uint64_t setting:5; 160c5aa59e8SDavid Daney #else 161c5aa59e8SDavid Daney uint64_t setting:5; 162c5aa59e8SDavid Daney uint64_t reserved_5_63:59; 163c5aa59e8SDavid Daney #endif 164af866496SDavid Daney } s; 165af866496SDavid Daney }; 166af866496SDavid Daney 167af866496SDavid Daney union cvmx_asxx_prt_loop { 168af866496SDavid Daney uint64_t u64; 169af866496SDavid Daney struct cvmx_asxx_prt_loop_s { 170c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 171af866496SDavid Daney uint64_t reserved_8_63:56; 172af866496SDavid Daney uint64_t ext_loop:4; 173af866496SDavid Daney uint64_t int_loop:4; 174c5aa59e8SDavid Daney #else 175c5aa59e8SDavid Daney uint64_t int_loop:4; 176c5aa59e8SDavid Daney uint64_t ext_loop:4; 177c5aa59e8SDavid Daney uint64_t reserved_8_63:56; 178c5aa59e8SDavid Daney #endif 179af866496SDavid Daney } s; 180af866496SDavid Daney struct cvmx_asxx_prt_loop_cn30xx { 181c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 182af866496SDavid Daney uint64_t reserved_7_63:57; 183af866496SDavid Daney uint64_t ext_loop:3; 184af866496SDavid Daney uint64_t reserved_3_3:1; 185af866496SDavid Daney uint64_t int_loop:3; 186c5aa59e8SDavid Daney #else 187c5aa59e8SDavid Daney uint64_t int_loop:3; 188c5aa59e8SDavid Daney uint64_t reserved_3_3:1; 189c5aa59e8SDavid Daney uint64_t ext_loop:3; 190c5aa59e8SDavid Daney uint64_t reserved_7_63:57; 191c5aa59e8SDavid Daney #endif 192af866496SDavid Daney } cn30xx; 193af866496SDavid Daney }; 194af866496SDavid Daney 195af866496SDavid Daney union cvmx_asxx_rld_bypass { 196af866496SDavid Daney uint64_t u64; 197af866496SDavid Daney struct cvmx_asxx_rld_bypass_s { 198c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 199af866496SDavid Daney uint64_t reserved_1_63:63; 200af866496SDavid Daney uint64_t bypass:1; 201c5aa59e8SDavid Daney #else 202c5aa59e8SDavid Daney uint64_t bypass:1; 203c5aa59e8SDavid Daney uint64_t reserved_1_63:63; 204c5aa59e8SDavid Daney #endif 205af866496SDavid Daney } s; 206af866496SDavid Daney }; 207af866496SDavid Daney 208af866496SDavid Daney union cvmx_asxx_rld_bypass_setting { 209af866496SDavid Daney uint64_t u64; 210af866496SDavid Daney struct cvmx_asxx_rld_bypass_setting_s { 211c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 212af866496SDavid Daney uint64_t reserved_5_63:59; 213af866496SDavid Daney uint64_t setting:5; 214c5aa59e8SDavid Daney #else 215c5aa59e8SDavid Daney uint64_t setting:5; 216c5aa59e8SDavid Daney uint64_t reserved_5_63:59; 217c5aa59e8SDavid Daney #endif 218af866496SDavid Daney } s; 219af866496SDavid Daney }; 220af866496SDavid Daney 221af866496SDavid Daney union cvmx_asxx_rld_comp { 222af866496SDavid Daney uint64_t u64; 223af866496SDavid Daney struct cvmx_asxx_rld_comp_s { 224c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 225af866496SDavid Daney uint64_t reserved_9_63:55; 226af866496SDavid Daney uint64_t pctl:5; 227af866496SDavid Daney uint64_t nctl:4; 228c5aa59e8SDavid Daney #else 229c5aa59e8SDavid Daney uint64_t nctl:4; 230c5aa59e8SDavid Daney uint64_t pctl:5; 231c5aa59e8SDavid Daney uint64_t reserved_9_63:55; 232c5aa59e8SDavid Daney #endif 233af866496SDavid Daney } s; 234af866496SDavid Daney struct cvmx_asxx_rld_comp_cn38xx { 235c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 236af866496SDavid Daney uint64_t reserved_8_63:56; 237af866496SDavid Daney uint64_t pctl:4; 238af866496SDavid Daney uint64_t nctl:4; 239c5aa59e8SDavid Daney #else 240c5aa59e8SDavid Daney uint64_t nctl:4; 241c5aa59e8SDavid Daney uint64_t pctl:4; 242c5aa59e8SDavid Daney uint64_t reserved_8_63:56; 243c5aa59e8SDavid Daney #endif 244af866496SDavid Daney } cn38xx; 245af866496SDavid Daney }; 246af866496SDavid Daney 247af866496SDavid Daney union cvmx_asxx_rld_data_drv { 248af866496SDavid Daney uint64_t u64; 249af866496SDavid Daney struct cvmx_asxx_rld_data_drv_s { 250c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 251af866496SDavid Daney uint64_t reserved_8_63:56; 252af866496SDavid Daney uint64_t pctl:4; 253af866496SDavid Daney uint64_t nctl:4; 254c5aa59e8SDavid Daney #else 255c5aa59e8SDavid Daney uint64_t nctl:4; 256c5aa59e8SDavid Daney uint64_t pctl:4; 257c5aa59e8SDavid Daney uint64_t reserved_8_63:56; 258c5aa59e8SDavid Daney #endif 259af866496SDavid Daney } s; 260af866496SDavid Daney }; 261af866496SDavid Daney 262af866496SDavid Daney union cvmx_asxx_rld_fcram_mode { 263af866496SDavid Daney uint64_t u64; 264af866496SDavid Daney struct cvmx_asxx_rld_fcram_mode_s { 265c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 266af866496SDavid Daney uint64_t reserved_1_63:63; 267af866496SDavid Daney uint64_t mode:1; 268c5aa59e8SDavid Daney #else 269c5aa59e8SDavid Daney uint64_t mode:1; 270c5aa59e8SDavid Daney uint64_t reserved_1_63:63; 271c5aa59e8SDavid Daney #endif 272af866496SDavid Daney } s; 273af866496SDavid Daney }; 274af866496SDavid Daney 275af866496SDavid Daney union cvmx_asxx_rld_nctl_strong { 276af866496SDavid Daney uint64_t u64; 277af866496SDavid Daney struct cvmx_asxx_rld_nctl_strong_s { 278c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 279af866496SDavid Daney uint64_t reserved_5_63:59; 280af866496SDavid Daney uint64_t nctl:5; 281c5aa59e8SDavid Daney #else 282c5aa59e8SDavid Daney uint64_t nctl:5; 283c5aa59e8SDavid Daney uint64_t reserved_5_63:59; 284c5aa59e8SDavid Daney #endif 285af866496SDavid Daney } s; 286af866496SDavid Daney }; 287af866496SDavid Daney 288af866496SDavid Daney union cvmx_asxx_rld_nctl_weak { 289af866496SDavid Daney uint64_t u64; 290af866496SDavid Daney struct cvmx_asxx_rld_nctl_weak_s { 291c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 292af866496SDavid Daney uint64_t reserved_5_63:59; 293af866496SDavid Daney uint64_t nctl:5; 294c5aa59e8SDavid Daney #else 295c5aa59e8SDavid Daney uint64_t nctl:5; 296c5aa59e8SDavid Daney uint64_t reserved_5_63:59; 297c5aa59e8SDavid Daney #endif 298af866496SDavid Daney } s; 299af866496SDavid Daney }; 300af866496SDavid Daney 301af866496SDavid Daney union cvmx_asxx_rld_pctl_strong { 302af866496SDavid Daney uint64_t u64; 303af866496SDavid Daney struct cvmx_asxx_rld_pctl_strong_s { 304c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 305af866496SDavid Daney uint64_t reserved_5_63:59; 306af866496SDavid Daney uint64_t pctl:5; 307c5aa59e8SDavid Daney #else 308c5aa59e8SDavid Daney uint64_t pctl:5; 309c5aa59e8SDavid Daney uint64_t reserved_5_63:59; 310c5aa59e8SDavid Daney #endif 311af866496SDavid Daney } s; 312af866496SDavid Daney }; 313af866496SDavid Daney 314af866496SDavid Daney union cvmx_asxx_rld_pctl_weak { 315af866496SDavid Daney uint64_t u64; 316af866496SDavid Daney struct cvmx_asxx_rld_pctl_weak_s { 317c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 318af866496SDavid Daney uint64_t reserved_5_63:59; 319af866496SDavid Daney uint64_t pctl:5; 320c5aa59e8SDavid Daney #else 321c5aa59e8SDavid Daney uint64_t pctl:5; 322c5aa59e8SDavid Daney uint64_t reserved_5_63:59; 323c5aa59e8SDavid Daney #endif 324af866496SDavid Daney } s; 325af866496SDavid Daney }; 326af866496SDavid Daney 327af866496SDavid Daney union cvmx_asxx_rld_setting { 328af866496SDavid Daney uint64_t u64; 329af866496SDavid Daney struct cvmx_asxx_rld_setting_s { 330c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 331af866496SDavid Daney uint64_t reserved_13_63:51; 332af866496SDavid Daney uint64_t dfaset:5; 333af866496SDavid Daney uint64_t dfalag:1; 334af866496SDavid Daney uint64_t dfalead:1; 335af866496SDavid Daney uint64_t dfalock:1; 336af866496SDavid Daney uint64_t setting:5; 337c5aa59e8SDavid Daney #else 338c5aa59e8SDavid Daney uint64_t setting:5; 339c5aa59e8SDavid Daney uint64_t dfalock:1; 340c5aa59e8SDavid Daney uint64_t dfalead:1; 341c5aa59e8SDavid Daney uint64_t dfalag:1; 342c5aa59e8SDavid Daney uint64_t dfaset:5; 343c5aa59e8SDavid Daney uint64_t reserved_13_63:51; 344c5aa59e8SDavid Daney #endif 345af866496SDavid Daney } s; 346af866496SDavid Daney struct cvmx_asxx_rld_setting_cn38xx { 347c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 348af866496SDavid Daney uint64_t reserved_5_63:59; 349af866496SDavid Daney uint64_t setting:5; 350c5aa59e8SDavid Daney #else 351c5aa59e8SDavid Daney uint64_t setting:5; 352c5aa59e8SDavid Daney uint64_t reserved_5_63:59; 353c5aa59e8SDavid Daney #endif 354af866496SDavid Daney } cn38xx; 355af866496SDavid Daney }; 356af866496SDavid Daney 357af866496SDavid Daney union cvmx_asxx_rx_clk_setx { 358af866496SDavid Daney uint64_t u64; 359af866496SDavid Daney struct cvmx_asxx_rx_clk_setx_s { 360c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 361af866496SDavid Daney uint64_t reserved_5_63:59; 362af866496SDavid Daney uint64_t setting:5; 363c5aa59e8SDavid Daney #else 364c5aa59e8SDavid Daney uint64_t setting:5; 365c5aa59e8SDavid Daney uint64_t reserved_5_63:59; 366c5aa59e8SDavid Daney #endif 367af866496SDavid Daney } s; 368af866496SDavid Daney }; 369af866496SDavid Daney 370af866496SDavid Daney union cvmx_asxx_rx_prt_en { 371af866496SDavid Daney uint64_t u64; 372af866496SDavid Daney struct cvmx_asxx_rx_prt_en_s { 373c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 374af866496SDavid Daney uint64_t reserved_4_63:60; 375af866496SDavid Daney uint64_t prt_en:4; 376c5aa59e8SDavid Daney #else 377c5aa59e8SDavid Daney uint64_t prt_en:4; 378c5aa59e8SDavid Daney uint64_t reserved_4_63:60; 379c5aa59e8SDavid Daney #endif 380af866496SDavid Daney } s; 381af866496SDavid Daney struct cvmx_asxx_rx_prt_en_cn30xx { 382c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 383af866496SDavid Daney uint64_t reserved_3_63:61; 384af866496SDavid Daney uint64_t prt_en:3; 385c5aa59e8SDavid Daney #else 386c5aa59e8SDavid Daney uint64_t prt_en:3; 387c5aa59e8SDavid Daney uint64_t reserved_3_63:61; 388c5aa59e8SDavid Daney #endif 389af866496SDavid Daney } cn30xx; 390af866496SDavid Daney }; 391af866496SDavid Daney 392af866496SDavid Daney union cvmx_asxx_rx_wol { 393af866496SDavid Daney uint64_t u64; 394af866496SDavid Daney struct cvmx_asxx_rx_wol_s { 395c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 396af866496SDavid Daney uint64_t reserved_2_63:62; 397af866496SDavid Daney uint64_t status:1; 398af866496SDavid Daney uint64_t enable:1; 399c5aa59e8SDavid Daney #else 400c5aa59e8SDavid Daney uint64_t enable:1; 401c5aa59e8SDavid Daney uint64_t status:1; 402c5aa59e8SDavid Daney uint64_t reserved_2_63:62; 403c5aa59e8SDavid Daney #endif 404af866496SDavid Daney } s; 405af866496SDavid Daney }; 406af866496SDavid Daney 407af866496SDavid Daney union cvmx_asxx_rx_wol_msk { 408af866496SDavid Daney uint64_t u64; 409af866496SDavid Daney struct cvmx_asxx_rx_wol_msk_s { 410c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 411af866496SDavid Daney uint64_t msk:64; 412c5aa59e8SDavid Daney #else 413c5aa59e8SDavid Daney uint64_t msk:64; 414c5aa59e8SDavid Daney #endif 415af866496SDavid Daney } s; 416af866496SDavid Daney }; 417af866496SDavid Daney 418af866496SDavid Daney union cvmx_asxx_rx_wol_powok { 419af866496SDavid Daney uint64_t u64; 420af866496SDavid Daney struct cvmx_asxx_rx_wol_powok_s { 421c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 422af866496SDavid Daney uint64_t reserved_1_63:63; 423af866496SDavid Daney uint64_t powerok:1; 424c5aa59e8SDavid Daney #else 425c5aa59e8SDavid Daney uint64_t powerok:1; 426c5aa59e8SDavid Daney uint64_t reserved_1_63:63; 427c5aa59e8SDavid Daney #endif 428af866496SDavid Daney } s; 429af866496SDavid Daney }; 430af866496SDavid Daney 431af866496SDavid Daney union cvmx_asxx_rx_wol_sig { 432af866496SDavid Daney uint64_t u64; 433af866496SDavid Daney struct cvmx_asxx_rx_wol_sig_s { 434c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 435af866496SDavid Daney uint64_t reserved_32_63:32; 436af866496SDavid Daney uint64_t sig:32; 437c5aa59e8SDavid Daney #else 438c5aa59e8SDavid Daney uint64_t sig:32; 439c5aa59e8SDavid Daney uint64_t reserved_32_63:32; 440c5aa59e8SDavid Daney #endif 441af866496SDavid Daney } s; 442af866496SDavid Daney }; 443af866496SDavid Daney 444af866496SDavid Daney union cvmx_asxx_tx_clk_setx { 445af866496SDavid Daney uint64_t u64; 446af866496SDavid Daney struct cvmx_asxx_tx_clk_setx_s { 447c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 448af866496SDavid Daney uint64_t reserved_5_63:59; 449af866496SDavid Daney uint64_t setting:5; 450c5aa59e8SDavid Daney #else 451c5aa59e8SDavid Daney uint64_t setting:5; 452c5aa59e8SDavid Daney uint64_t reserved_5_63:59; 453c5aa59e8SDavid Daney #endif 454af866496SDavid Daney } s; 455af866496SDavid Daney }; 456af866496SDavid Daney 457af866496SDavid Daney union cvmx_asxx_tx_comp_byp { 458af866496SDavid Daney uint64_t u64; 459af866496SDavid Daney struct cvmx_asxx_tx_comp_byp_s { 460c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 461af866496SDavid Daney uint64_t reserved_0_63:64; 462c5aa59e8SDavid Daney #else 463c5aa59e8SDavid Daney uint64_t reserved_0_63:64; 464c5aa59e8SDavid Daney #endif 465af866496SDavid Daney } s; 466af866496SDavid Daney struct cvmx_asxx_tx_comp_byp_cn30xx { 467c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 468af866496SDavid Daney uint64_t reserved_9_63:55; 469af866496SDavid Daney uint64_t bypass:1; 470af866496SDavid Daney uint64_t pctl:4; 471af866496SDavid Daney uint64_t nctl:4; 472c5aa59e8SDavid Daney #else 473c5aa59e8SDavid Daney uint64_t nctl:4; 474c5aa59e8SDavid Daney uint64_t pctl:4; 475c5aa59e8SDavid Daney uint64_t bypass:1; 476c5aa59e8SDavid Daney uint64_t reserved_9_63:55; 477c5aa59e8SDavid Daney #endif 478af866496SDavid Daney } cn30xx; 479af866496SDavid Daney struct cvmx_asxx_tx_comp_byp_cn38xx { 480c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 481af866496SDavid Daney uint64_t reserved_8_63:56; 482af866496SDavid Daney uint64_t pctl:4; 483af866496SDavid Daney uint64_t nctl:4; 484c5aa59e8SDavid Daney #else 485c5aa59e8SDavid Daney uint64_t nctl:4; 486c5aa59e8SDavid Daney uint64_t pctl:4; 487c5aa59e8SDavid Daney uint64_t reserved_8_63:56; 488c5aa59e8SDavid Daney #endif 489af866496SDavid Daney } cn38xx; 490af866496SDavid Daney struct cvmx_asxx_tx_comp_byp_cn50xx { 491c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 492af866496SDavid Daney uint64_t reserved_17_63:47; 493af866496SDavid Daney uint64_t bypass:1; 494af866496SDavid Daney uint64_t reserved_13_15:3; 495af866496SDavid Daney uint64_t pctl:5; 496af866496SDavid Daney uint64_t reserved_5_7:3; 497af866496SDavid Daney uint64_t nctl:5; 498c5aa59e8SDavid Daney #else 499c5aa59e8SDavid Daney uint64_t nctl:5; 500c5aa59e8SDavid Daney uint64_t reserved_5_7:3; 501c5aa59e8SDavid Daney uint64_t pctl:5; 502c5aa59e8SDavid Daney uint64_t reserved_13_15:3; 503c5aa59e8SDavid Daney uint64_t bypass:1; 504c5aa59e8SDavid Daney uint64_t reserved_17_63:47; 505c5aa59e8SDavid Daney #endif 506af866496SDavid Daney } cn50xx; 507af866496SDavid Daney struct cvmx_asxx_tx_comp_byp_cn58xx { 508c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 509af866496SDavid Daney uint64_t reserved_13_63:51; 510af866496SDavid Daney uint64_t pctl:5; 511af866496SDavid Daney uint64_t reserved_5_7:3; 512af866496SDavid Daney uint64_t nctl:5; 513c5aa59e8SDavid Daney #else 514c5aa59e8SDavid Daney uint64_t nctl:5; 515c5aa59e8SDavid Daney uint64_t reserved_5_7:3; 516c5aa59e8SDavid Daney uint64_t pctl:5; 517c5aa59e8SDavid Daney uint64_t reserved_13_63:51; 518c5aa59e8SDavid Daney #endif 519af866496SDavid Daney } cn58xx; 520af866496SDavid Daney }; 521af866496SDavid Daney 522af866496SDavid Daney union cvmx_asxx_tx_hi_waterx { 523af866496SDavid Daney uint64_t u64; 524af866496SDavid Daney struct cvmx_asxx_tx_hi_waterx_s { 525c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 526af866496SDavid Daney uint64_t reserved_4_63:60; 527af866496SDavid Daney uint64_t mark:4; 528c5aa59e8SDavid Daney #else 529c5aa59e8SDavid Daney uint64_t mark:4; 530c5aa59e8SDavid Daney uint64_t reserved_4_63:60; 531c5aa59e8SDavid Daney #endif 532af866496SDavid Daney } s; 533af866496SDavid Daney struct cvmx_asxx_tx_hi_waterx_cn30xx { 534c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 535af866496SDavid Daney uint64_t reserved_3_63:61; 536af866496SDavid Daney uint64_t mark:3; 537c5aa59e8SDavid Daney #else 538c5aa59e8SDavid Daney uint64_t mark:3; 539c5aa59e8SDavid Daney uint64_t reserved_3_63:61; 540c5aa59e8SDavid Daney #endif 541af866496SDavid Daney } cn30xx; 542af866496SDavid Daney }; 543af866496SDavid Daney 544af866496SDavid Daney union cvmx_asxx_tx_prt_en { 545af866496SDavid Daney uint64_t u64; 546af866496SDavid Daney struct cvmx_asxx_tx_prt_en_s { 547c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 548af866496SDavid Daney uint64_t reserved_4_63:60; 549af866496SDavid Daney uint64_t prt_en:4; 550c5aa59e8SDavid Daney #else 551c5aa59e8SDavid Daney uint64_t prt_en:4; 552c5aa59e8SDavid Daney uint64_t reserved_4_63:60; 553c5aa59e8SDavid Daney #endif 554af866496SDavid Daney } s; 555af866496SDavid Daney struct cvmx_asxx_tx_prt_en_cn30xx { 556c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 557af866496SDavid Daney uint64_t reserved_3_63:61; 558af866496SDavid Daney uint64_t prt_en:3; 559c5aa59e8SDavid Daney #else 560c5aa59e8SDavid Daney uint64_t prt_en:3; 561c5aa59e8SDavid Daney uint64_t reserved_3_63:61; 562c5aa59e8SDavid Daney #endif 563af866496SDavid Daney } cn30xx; 564af866496SDavid Daney }; 565af866496SDavid Daney 566af866496SDavid Daney #endif 567