162306a36Sopenharmony_ci/***********************license start***************
262306a36Sopenharmony_ci * Author: Cavium Networks
362306a36Sopenharmony_ci *
462306a36Sopenharmony_ci * Contact: support@caviumnetworks.com
562306a36Sopenharmony_ci * This file is part of the OCTEON SDK
662306a36Sopenharmony_ci *
762306a36Sopenharmony_ci * Copyright (C) 2003-2018 Cavium, Inc.
862306a36Sopenharmony_ci *
962306a36Sopenharmony_ci * This file is free software; you can redistribute it and/or modify
1062306a36Sopenharmony_ci * it under the terms of the GNU General Public License, Version 2, as
1162306a36Sopenharmony_ci * published by the Free Software Foundation.
1262306a36Sopenharmony_ci *
1362306a36Sopenharmony_ci * This file is distributed in the hope that it will be useful, but
1462306a36Sopenharmony_ci * AS-IS and WITHOUT ANY WARRANTY; without even the implied warranty
1562306a36Sopenharmony_ci * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE, TITLE, or
1662306a36Sopenharmony_ci * NONINFRINGEMENT.  See the GNU General Public License for more
1762306a36Sopenharmony_ci * details.
1862306a36Sopenharmony_ci *
1962306a36Sopenharmony_ci * You should have received a copy of the GNU General Public License
2062306a36Sopenharmony_ci * along with this file; if not, write to the Free Software
2162306a36Sopenharmony_ci * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
2262306a36Sopenharmony_ci * or visit http://www.gnu.org/licenses/.
2362306a36Sopenharmony_ci *
2462306a36Sopenharmony_ci * This file may also be available under a different license from Cavium.
2562306a36Sopenharmony_ci * Contact Cavium Networks for more information
2662306a36Sopenharmony_ci ***********************license end**************************************/
2762306a36Sopenharmony_ci
2862306a36Sopenharmony_ci#ifndef __CVMX_ASXX_DEFS_H__
2962306a36Sopenharmony_ci#define __CVMX_ASXX_DEFS_H__
3062306a36Sopenharmony_ci
3162306a36Sopenharmony_ci#define CVMX_ASXX_GMII_RX_CLK_SET(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000180ull))
3262306a36Sopenharmony_ci#define CVMX_ASXX_GMII_RX_DAT_SET(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000188ull))
3362306a36Sopenharmony_ci#define CVMX_ASXX_INT_EN(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000018ull) + ((block_id) & 1) * 0x8000000ull)
3462306a36Sopenharmony_ci#define CVMX_ASXX_INT_REG(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000010ull) + ((block_id) & 1) * 0x8000000ull)
3562306a36Sopenharmony_ci#define CVMX_ASXX_MII_RX_DAT_SET(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000190ull))
3662306a36Sopenharmony_ci#define CVMX_ASXX_PRT_LOOP(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000040ull) + ((block_id) & 1) * 0x8000000ull)
3762306a36Sopenharmony_ci#define CVMX_ASXX_RLD_BYPASS(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000248ull) + ((block_id) & 1) * 0x8000000ull)
3862306a36Sopenharmony_ci#define CVMX_ASXX_RLD_BYPASS_SETTING(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000250ull) + ((block_id) & 1) * 0x8000000ull)
3962306a36Sopenharmony_ci#define CVMX_ASXX_RLD_COMP(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000220ull) + ((block_id) & 1) * 0x8000000ull)
4062306a36Sopenharmony_ci#define CVMX_ASXX_RLD_DATA_DRV(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000218ull) + ((block_id) & 1) * 0x8000000ull)
4162306a36Sopenharmony_ci#define CVMX_ASXX_RLD_FCRAM_MODE(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000210ull) + ((block_id) & 1) * 0x8000000ull)
4262306a36Sopenharmony_ci#define CVMX_ASXX_RLD_NCTL_STRONG(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000230ull) + ((block_id) & 1) * 0x8000000ull)
4362306a36Sopenharmony_ci#define CVMX_ASXX_RLD_NCTL_WEAK(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000240ull) + ((block_id) & 1) * 0x8000000ull)
4462306a36Sopenharmony_ci#define CVMX_ASXX_RLD_PCTL_STRONG(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000228ull) + ((block_id) & 1) * 0x8000000ull)
4562306a36Sopenharmony_ci#define CVMX_ASXX_RLD_PCTL_WEAK(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000238ull) + ((block_id) & 1) * 0x8000000ull)
4662306a36Sopenharmony_ci#define CVMX_ASXX_RLD_SETTING(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000258ull) + ((block_id) & 1) * 0x8000000ull)
4762306a36Sopenharmony_ci#define CVMX_ASXX_RX_CLK_SETX(offset, block_id) (CVMX_ADD_IO_SEG(0x00011800B0000020ull) + (((offset) & 3) + ((block_id) & 1) * 0x1000000ull) * 8)
4862306a36Sopenharmony_ci#define CVMX_ASXX_RX_PRT_EN(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000000ull) + ((block_id) & 1) * 0x8000000ull)
4962306a36Sopenharmony_ci#define CVMX_ASXX_RX_WOL(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000100ull) + ((block_id) & 1) * 0x8000000ull)
5062306a36Sopenharmony_ci#define CVMX_ASXX_RX_WOL_MSK(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000108ull) + ((block_id) & 1) * 0x8000000ull)
5162306a36Sopenharmony_ci#define CVMX_ASXX_RX_WOL_POWOK(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000118ull) + ((block_id) & 1) * 0x8000000ull)
5262306a36Sopenharmony_ci#define CVMX_ASXX_RX_WOL_SIG(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000110ull) + ((block_id) & 1) * 0x8000000ull)
5362306a36Sopenharmony_ci#define CVMX_ASXX_TX_CLK_SETX(offset, block_id) (CVMX_ADD_IO_SEG(0x00011800B0000048ull) + (((offset) & 3) + ((block_id) & 1) * 0x1000000ull) * 8)
5462306a36Sopenharmony_ci#define CVMX_ASXX_TX_COMP_BYP(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000068ull) + ((block_id) & 1) * 0x8000000ull)
5562306a36Sopenharmony_ci#define CVMX_ASXX_TX_HI_WATERX(offset, block_id) (CVMX_ADD_IO_SEG(0x00011800B0000080ull) + (((offset) & 3) + ((block_id) & 1) * 0x1000000ull) * 8)
5662306a36Sopenharmony_ci#define CVMX_ASXX_TX_PRT_EN(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000008ull) + ((block_id) & 1) * 0x8000000ull)
5762306a36Sopenharmony_ci
5862306a36Sopenharmony_civoid __cvmx_interrupt_asxx_enable(int block);
5962306a36Sopenharmony_ci
6062306a36Sopenharmony_ciunion cvmx_asxx_gmii_rx_clk_set {
6162306a36Sopenharmony_ci	uint64_t u64;
6262306a36Sopenharmony_ci	struct cvmx_asxx_gmii_rx_clk_set_s {
6362306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD
6462306a36Sopenharmony_ci		uint64_t reserved_5_63:59;
6562306a36Sopenharmony_ci		uint64_t setting:5;
6662306a36Sopenharmony_ci#else
6762306a36Sopenharmony_ci		uint64_t setting:5;
6862306a36Sopenharmony_ci		uint64_t reserved_5_63:59;
6962306a36Sopenharmony_ci#endif
7062306a36Sopenharmony_ci	} s;
7162306a36Sopenharmony_ci};
7262306a36Sopenharmony_ci
7362306a36Sopenharmony_ciunion cvmx_asxx_gmii_rx_dat_set {
7462306a36Sopenharmony_ci	uint64_t u64;
7562306a36Sopenharmony_ci	struct cvmx_asxx_gmii_rx_dat_set_s {
7662306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD
7762306a36Sopenharmony_ci		uint64_t reserved_5_63:59;
7862306a36Sopenharmony_ci		uint64_t setting:5;
7962306a36Sopenharmony_ci#else
8062306a36Sopenharmony_ci		uint64_t setting:5;
8162306a36Sopenharmony_ci		uint64_t reserved_5_63:59;
8262306a36Sopenharmony_ci#endif
8362306a36Sopenharmony_ci	} s;
8462306a36Sopenharmony_ci};
8562306a36Sopenharmony_ci
8662306a36Sopenharmony_ciunion cvmx_asxx_int_en {
8762306a36Sopenharmony_ci	uint64_t u64;
8862306a36Sopenharmony_ci	struct cvmx_asxx_int_en_s {
8962306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD
9062306a36Sopenharmony_ci		uint64_t reserved_12_63:52;
9162306a36Sopenharmony_ci		uint64_t txpsh:4;
9262306a36Sopenharmony_ci		uint64_t txpop:4;
9362306a36Sopenharmony_ci		uint64_t ovrflw:4;
9462306a36Sopenharmony_ci#else
9562306a36Sopenharmony_ci		uint64_t ovrflw:4;
9662306a36Sopenharmony_ci		uint64_t txpop:4;
9762306a36Sopenharmony_ci		uint64_t txpsh:4;
9862306a36Sopenharmony_ci		uint64_t reserved_12_63:52;
9962306a36Sopenharmony_ci#endif
10062306a36Sopenharmony_ci	} s;
10162306a36Sopenharmony_ci	struct cvmx_asxx_int_en_cn30xx {
10262306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD
10362306a36Sopenharmony_ci		uint64_t reserved_11_63:53;
10462306a36Sopenharmony_ci		uint64_t txpsh:3;
10562306a36Sopenharmony_ci		uint64_t reserved_7_7:1;
10662306a36Sopenharmony_ci		uint64_t txpop:3;
10762306a36Sopenharmony_ci		uint64_t reserved_3_3:1;
10862306a36Sopenharmony_ci		uint64_t ovrflw:3;
10962306a36Sopenharmony_ci#else
11062306a36Sopenharmony_ci		uint64_t ovrflw:3;
11162306a36Sopenharmony_ci		uint64_t reserved_3_3:1;
11262306a36Sopenharmony_ci		uint64_t txpop:3;
11362306a36Sopenharmony_ci		uint64_t reserved_7_7:1;
11462306a36Sopenharmony_ci		uint64_t txpsh:3;
11562306a36Sopenharmony_ci		uint64_t reserved_11_63:53;
11662306a36Sopenharmony_ci#endif
11762306a36Sopenharmony_ci	} cn30xx;
11862306a36Sopenharmony_ci};
11962306a36Sopenharmony_ci
12062306a36Sopenharmony_ciunion cvmx_asxx_int_reg {
12162306a36Sopenharmony_ci	uint64_t u64;
12262306a36Sopenharmony_ci	struct cvmx_asxx_int_reg_s {
12362306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD
12462306a36Sopenharmony_ci		uint64_t reserved_12_63:52;
12562306a36Sopenharmony_ci		uint64_t txpsh:4;
12662306a36Sopenharmony_ci		uint64_t txpop:4;
12762306a36Sopenharmony_ci		uint64_t ovrflw:4;
12862306a36Sopenharmony_ci#else
12962306a36Sopenharmony_ci		uint64_t ovrflw:4;
13062306a36Sopenharmony_ci		uint64_t txpop:4;
13162306a36Sopenharmony_ci		uint64_t txpsh:4;
13262306a36Sopenharmony_ci		uint64_t reserved_12_63:52;
13362306a36Sopenharmony_ci#endif
13462306a36Sopenharmony_ci	} s;
13562306a36Sopenharmony_ci	struct cvmx_asxx_int_reg_cn30xx {
13662306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD
13762306a36Sopenharmony_ci		uint64_t reserved_11_63:53;
13862306a36Sopenharmony_ci		uint64_t txpsh:3;
13962306a36Sopenharmony_ci		uint64_t reserved_7_7:1;
14062306a36Sopenharmony_ci		uint64_t txpop:3;
14162306a36Sopenharmony_ci		uint64_t reserved_3_3:1;
14262306a36Sopenharmony_ci		uint64_t ovrflw:3;
14362306a36Sopenharmony_ci#else
14462306a36Sopenharmony_ci		uint64_t ovrflw:3;
14562306a36Sopenharmony_ci		uint64_t reserved_3_3:1;
14662306a36Sopenharmony_ci		uint64_t txpop:3;
14762306a36Sopenharmony_ci		uint64_t reserved_7_7:1;
14862306a36Sopenharmony_ci		uint64_t txpsh:3;
14962306a36Sopenharmony_ci		uint64_t reserved_11_63:53;
15062306a36Sopenharmony_ci#endif
15162306a36Sopenharmony_ci	} cn30xx;
15262306a36Sopenharmony_ci};
15362306a36Sopenharmony_ci
15462306a36Sopenharmony_ciunion cvmx_asxx_mii_rx_dat_set {
15562306a36Sopenharmony_ci	uint64_t u64;
15662306a36Sopenharmony_ci	struct cvmx_asxx_mii_rx_dat_set_s {
15762306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD
15862306a36Sopenharmony_ci		uint64_t reserved_5_63:59;
15962306a36Sopenharmony_ci		uint64_t setting:5;
16062306a36Sopenharmony_ci#else
16162306a36Sopenharmony_ci		uint64_t setting:5;
16262306a36Sopenharmony_ci		uint64_t reserved_5_63:59;
16362306a36Sopenharmony_ci#endif
16462306a36Sopenharmony_ci	} s;
16562306a36Sopenharmony_ci};
16662306a36Sopenharmony_ci
16762306a36Sopenharmony_ciunion cvmx_asxx_prt_loop {
16862306a36Sopenharmony_ci	uint64_t u64;
16962306a36Sopenharmony_ci	struct cvmx_asxx_prt_loop_s {
17062306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD
17162306a36Sopenharmony_ci		uint64_t reserved_8_63:56;
17262306a36Sopenharmony_ci		uint64_t ext_loop:4;
17362306a36Sopenharmony_ci		uint64_t int_loop:4;
17462306a36Sopenharmony_ci#else
17562306a36Sopenharmony_ci		uint64_t int_loop:4;
17662306a36Sopenharmony_ci		uint64_t ext_loop:4;
17762306a36Sopenharmony_ci		uint64_t reserved_8_63:56;
17862306a36Sopenharmony_ci#endif
17962306a36Sopenharmony_ci	} s;
18062306a36Sopenharmony_ci	struct cvmx_asxx_prt_loop_cn30xx {
18162306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD
18262306a36Sopenharmony_ci		uint64_t reserved_7_63:57;
18362306a36Sopenharmony_ci		uint64_t ext_loop:3;
18462306a36Sopenharmony_ci		uint64_t reserved_3_3:1;
18562306a36Sopenharmony_ci		uint64_t int_loop:3;
18662306a36Sopenharmony_ci#else
18762306a36Sopenharmony_ci		uint64_t int_loop:3;
18862306a36Sopenharmony_ci		uint64_t reserved_3_3:1;
18962306a36Sopenharmony_ci		uint64_t ext_loop:3;
19062306a36Sopenharmony_ci		uint64_t reserved_7_63:57;
19162306a36Sopenharmony_ci#endif
19262306a36Sopenharmony_ci	} cn30xx;
19362306a36Sopenharmony_ci};
19462306a36Sopenharmony_ci
19562306a36Sopenharmony_ciunion cvmx_asxx_rld_bypass {
19662306a36Sopenharmony_ci	uint64_t u64;
19762306a36Sopenharmony_ci	struct cvmx_asxx_rld_bypass_s {
19862306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD
19962306a36Sopenharmony_ci		uint64_t reserved_1_63:63;
20062306a36Sopenharmony_ci		uint64_t bypass:1;
20162306a36Sopenharmony_ci#else
20262306a36Sopenharmony_ci		uint64_t bypass:1;
20362306a36Sopenharmony_ci		uint64_t reserved_1_63:63;
20462306a36Sopenharmony_ci#endif
20562306a36Sopenharmony_ci	} s;
20662306a36Sopenharmony_ci};
20762306a36Sopenharmony_ci
20862306a36Sopenharmony_ciunion cvmx_asxx_rld_bypass_setting {
20962306a36Sopenharmony_ci	uint64_t u64;
21062306a36Sopenharmony_ci	struct cvmx_asxx_rld_bypass_setting_s {
21162306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD
21262306a36Sopenharmony_ci		uint64_t reserved_5_63:59;
21362306a36Sopenharmony_ci		uint64_t setting:5;
21462306a36Sopenharmony_ci#else
21562306a36Sopenharmony_ci		uint64_t setting:5;
21662306a36Sopenharmony_ci		uint64_t reserved_5_63:59;
21762306a36Sopenharmony_ci#endif
21862306a36Sopenharmony_ci	} s;
21962306a36Sopenharmony_ci};
22062306a36Sopenharmony_ci
22162306a36Sopenharmony_ciunion cvmx_asxx_rld_comp {
22262306a36Sopenharmony_ci	uint64_t u64;
22362306a36Sopenharmony_ci	struct cvmx_asxx_rld_comp_s {
22462306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD
22562306a36Sopenharmony_ci		uint64_t reserved_9_63:55;
22662306a36Sopenharmony_ci		uint64_t pctl:5;
22762306a36Sopenharmony_ci		uint64_t nctl:4;
22862306a36Sopenharmony_ci#else
22962306a36Sopenharmony_ci		uint64_t nctl:4;
23062306a36Sopenharmony_ci		uint64_t pctl:5;
23162306a36Sopenharmony_ci		uint64_t reserved_9_63:55;
23262306a36Sopenharmony_ci#endif
23362306a36Sopenharmony_ci	} s;
23462306a36Sopenharmony_ci	struct cvmx_asxx_rld_comp_cn38xx {
23562306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD
23662306a36Sopenharmony_ci		uint64_t reserved_8_63:56;
23762306a36Sopenharmony_ci		uint64_t pctl:4;
23862306a36Sopenharmony_ci		uint64_t nctl:4;
23962306a36Sopenharmony_ci#else
24062306a36Sopenharmony_ci		uint64_t nctl:4;
24162306a36Sopenharmony_ci		uint64_t pctl:4;
24262306a36Sopenharmony_ci		uint64_t reserved_8_63:56;
24362306a36Sopenharmony_ci#endif
24462306a36Sopenharmony_ci	} cn38xx;
24562306a36Sopenharmony_ci};
24662306a36Sopenharmony_ci
24762306a36Sopenharmony_ciunion cvmx_asxx_rld_data_drv {
24862306a36Sopenharmony_ci	uint64_t u64;
24962306a36Sopenharmony_ci	struct cvmx_asxx_rld_data_drv_s {
25062306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD
25162306a36Sopenharmony_ci		uint64_t reserved_8_63:56;
25262306a36Sopenharmony_ci		uint64_t pctl:4;
25362306a36Sopenharmony_ci		uint64_t nctl:4;
25462306a36Sopenharmony_ci#else
25562306a36Sopenharmony_ci		uint64_t nctl:4;
25662306a36Sopenharmony_ci		uint64_t pctl:4;
25762306a36Sopenharmony_ci		uint64_t reserved_8_63:56;
25862306a36Sopenharmony_ci#endif
25962306a36Sopenharmony_ci	} s;
26062306a36Sopenharmony_ci};
26162306a36Sopenharmony_ci
26262306a36Sopenharmony_ciunion cvmx_asxx_rld_fcram_mode {
26362306a36Sopenharmony_ci	uint64_t u64;
26462306a36Sopenharmony_ci	struct cvmx_asxx_rld_fcram_mode_s {
26562306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD
26662306a36Sopenharmony_ci		uint64_t reserved_1_63:63;
26762306a36Sopenharmony_ci		uint64_t mode:1;
26862306a36Sopenharmony_ci#else
26962306a36Sopenharmony_ci		uint64_t mode:1;
27062306a36Sopenharmony_ci		uint64_t reserved_1_63:63;
27162306a36Sopenharmony_ci#endif
27262306a36Sopenharmony_ci	} s;
27362306a36Sopenharmony_ci};
27462306a36Sopenharmony_ci
27562306a36Sopenharmony_ciunion cvmx_asxx_rld_nctl_strong {
27662306a36Sopenharmony_ci	uint64_t u64;
27762306a36Sopenharmony_ci	struct cvmx_asxx_rld_nctl_strong_s {
27862306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD
27962306a36Sopenharmony_ci		uint64_t reserved_5_63:59;
28062306a36Sopenharmony_ci		uint64_t nctl:5;
28162306a36Sopenharmony_ci#else
28262306a36Sopenharmony_ci		uint64_t nctl:5;
28362306a36Sopenharmony_ci		uint64_t reserved_5_63:59;
28462306a36Sopenharmony_ci#endif
28562306a36Sopenharmony_ci	} s;
28662306a36Sopenharmony_ci};
28762306a36Sopenharmony_ci
28862306a36Sopenharmony_ciunion cvmx_asxx_rld_nctl_weak {
28962306a36Sopenharmony_ci	uint64_t u64;
29062306a36Sopenharmony_ci	struct cvmx_asxx_rld_nctl_weak_s {
29162306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD
29262306a36Sopenharmony_ci		uint64_t reserved_5_63:59;
29362306a36Sopenharmony_ci		uint64_t nctl:5;
29462306a36Sopenharmony_ci#else
29562306a36Sopenharmony_ci		uint64_t nctl:5;
29662306a36Sopenharmony_ci		uint64_t reserved_5_63:59;
29762306a36Sopenharmony_ci#endif
29862306a36Sopenharmony_ci	} s;
29962306a36Sopenharmony_ci};
30062306a36Sopenharmony_ci
30162306a36Sopenharmony_ciunion cvmx_asxx_rld_pctl_strong {
30262306a36Sopenharmony_ci	uint64_t u64;
30362306a36Sopenharmony_ci	struct cvmx_asxx_rld_pctl_strong_s {
30462306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD
30562306a36Sopenharmony_ci		uint64_t reserved_5_63:59;
30662306a36Sopenharmony_ci		uint64_t pctl:5;
30762306a36Sopenharmony_ci#else
30862306a36Sopenharmony_ci		uint64_t pctl:5;
30962306a36Sopenharmony_ci		uint64_t reserved_5_63:59;
31062306a36Sopenharmony_ci#endif
31162306a36Sopenharmony_ci	} s;
31262306a36Sopenharmony_ci};
31362306a36Sopenharmony_ci
31462306a36Sopenharmony_ciunion cvmx_asxx_rld_pctl_weak {
31562306a36Sopenharmony_ci	uint64_t u64;
31662306a36Sopenharmony_ci	struct cvmx_asxx_rld_pctl_weak_s {
31762306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD
31862306a36Sopenharmony_ci		uint64_t reserved_5_63:59;
31962306a36Sopenharmony_ci		uint64_t pctl:5;
32062306a36Sopenharmony_ci#else
32162306a36Sopenharmony_ci		uint64_t pctl:5;
32262306a36Sopenharmony_ci		uint64_t reserved_5_63:59;
32362306a36Sopenharmony_ci#endif
32462306a36Sopenharmony_ci	} s;
32562306a36Sopenharmony_ci};
32662306a36Sopenharmony_ci
32762306a36Sopenharmony_ciunion cvmx_asxx_rld_setting {
32862306a36Sopenharmony_ci	uint64_t u64;
32962306a36Sopenharmony_ci	struct cvmx_asxx_rld_setting_s {
33062306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD
33162306a36Sopenharmony_ci		uint64_t reserved_13_63:51;
33262306a36Sopenharmony_ci		uint64_t dfaset:5;
33362306a36Sopenharmony_ci		uint64_t dfalag:1;
33462306a36Sopenharmony_ci		uint64_t dfalead:1;
33562306a36Sopenharmony_ci		uint64_t dfalock:1;
33662306a36Sopenharmony_ci		uint64_t setting:5;
33762306a36Sopenharmony_ci#else
33862306a36Sopenharmony_ci		uint64_t setting:5;
33962306a36Sopenharmony_ci		uint64_t dfalock:1;
34062306a36Sopenharmony_ci		uint64_t dfalead:1;
34162306a36Sopenharmony_ci		uint64_t dfalag:1;
34262306a36Sopenharmony_ci		uint64_t dfaset:5;
34362306a36Sopenharmony_ci		uint64_t reserved_13_63:51;
34462306a36Sopenharmony_ci#endif
34562306a36Sopenharmony_ci	} s;
34662306a36Sopenharmony_ci	struct cvmx_asxx_rld_setting_cn38xx {
34762306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD
34862306a36Sopenharmony_ci		uint64_t reserved_5_63:59;
34962306a36Sopenharmony_ci		uint64_t setting:5;
35062306a36Sopenharmony_ci#else
35162306a36Sopenharmony_ci		uint64_t setting:5;
35262306a36Sopenharmony_ci		uint64_t reserved_5_63:59;
35362306a36Sopenharmony_ci#endif
35462306a36Sopenharmony_ci	} cn38xx;
35562306a36Sopenharmony_ci};
35662306a36Sopenharmony_ci
35762306a36Sopenharmony_ciunion cvmx_asxx_rx_clk_setx {
35862306a36Sopenharmony_ci	uint64_t u64;
35962306a36Sopenharmony_ci	struct cvmx_asxx_rx_clk_setx_s {
36062306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD
36162306a36Sopenharmony_ci		uint64_t reserved_5_63:59;
36262306a36Sopenharmony_ci		uint64_t setting:5;
36362306a36Sopenharmony_ci#else
36462306a36Sopenharmony_ci		uint64_t setting:5;
36562306a36Sopenharmony_ci		uint64_t reserved_5_63:59;
36662306a36Sopenharmony_ci#endif
36762306a36Sopenharmony_ci	} s;
36862306a36Sopenharmony_ci};
36962306a36Sopenharmony_ci
37062306a36Sopenharmony_ciunion cvmx_asxx_rx_prt_en {
37162306a36Sopenharmony_ci	uint64_t u64;
37262306a36Sopenharmony_ci	struct cvmx_asxx_rx_prt_en_s {
37362306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD
37462306a36Sopenharmony_ci		uint64_t reserved_4_63:60;
37562306a36Sopenharmony_ci		uint64_t prt_en:4;
37662306a36Sopenharmony_ci#else
37762306a36Sopenharmony_ci		uint64_t prt_en:4;
37862306a36Sopenharmony_ci		uint64_t reserved_4_63:60;
37962306a36Sopenharmony_ci#endif
38062306a36Sopenharmony_ci	} s;
38162306a36Sopenharmony_ci	struct cvmx_asxx_rx_prt_en_cn30xx {
38262306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD
38362306a36Sopenharmony_ci		uint64_t reserved_3_63:61;
38462306a36Sopenharmony_ci		uint64_t prt_en:3;
38562306a36Sopenharmony_ci#else
38662306a36Sopenharmony_ci		uint64_t prt_en:3;
38762306a36Sopenharmony_ci		uint64_t reserved_3_63:61;
38862306a36Sopenharmony_ci#endif
38962306a36Sopenharmony_ci	} cn30xx;
39062306a36Sopenharmony_ci};
39162306a36Sopenharmony_ci
39262306a36Sopenharmony_ciunion cvmx_asxx_rx_wol {
39362306a36Sopenharmony_ci	uint64_t u64;
39462306a36Sopenharmony_ci	struct cvmx_asxx_rx_wol_s {
39562306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD
39662306a36Sopenharmony_ci		uint64_t reserved_2_63:62;
39762306a36Sopenharmony_ci		uint64_t status:1;
39862306a36Sopenharmony_ci		uint64_t enable:1;
39962306a36Sopenharmony_ci#else
40062306a36Sopenharmony_ci		uint64_t enable:1;
40162306a36Sopenharmony_ci		uint64_t status:1;
40262306a36Sopenharmony_ci		uint64_t reserved_2_63:62;
40362306a36Sopenharmony_ci#endif
40462306a36Sopenharmony_ci	} s;
40562306a36Sopenharmony_ci};
40662306a36Sopenharmony_ci
40762306a36Sopenharmony_ciunion cvmx_asxx_rx_wol_msk {
40862306a36Sopenharmony_ci	uint64_t u64;
40962306a36Sopenharmony_ci	struct cvmx_asxx_rx_wol_msk_s {
41062306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD
41162306a36Sopenharmony_ci		uint64_t msk:64;
41262306a36Sopenharmony_ci#else
41362306a36Sopenharmony_ci		uint64_t msk:64;
41462306a36Sopenharmony_ci#endif
41562306a36Sopenharmony_ci	} s;
41662306a36Sopenharmony_ci};
41762306a36Sopenharmony_ci
41862306a36Sopenharmony_ciunion cvmx_asxx_rx_wol_powok {
41962306a36Sopenharmony_ci	uint64_t u64;
42062306a36Sopenharmony_ci	struct cvmx_asxx_rx_wol_powok_s {
42162306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD
42262306a36Sopenharmony_ci		uint64_t reserved_1_63:63;
42362306a36Sopenharmony_ci		uint64_t powerok:1;
42462306a36Sopenharmony_ci#else
42562306a36Sopenharmony_ci		uint64_t powerok:1;
42662306a36Sopenharmony_ci		uint64_t reserved_1_63:63;
42762306a36Sopenharmony_ci#endif
42862306a36Sopenharmony_ci	} s;
42962306a36Sopenharmony_ci};
43062306a36Sopenharmony_ci
43162306a36Sopenharmony_ciunion cvmx_asxx_rx_wol_sig {
43262306a36Sopenharmony_ci	uint64_t u64;
43362306a36Sopenharmony_ci	struct cvmx_asxx_rx_wol_sig_s {
43462306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD
43562306a36Sopenharmony_ci		uint64_t reserved_32_63:32;
43662306a36Sopenharmony_ci		uint64_t sig:32;
43762306a36Sopenharmony_ci#else
43862306a36Sopenharmony_ci		uint64_t sig:32;
43962306a36Sopenharmony_ci		uint64_t reserved_32_63:32;
44062306a36Sopenharmony_ci#endif
44162306a36Sopenharmony_ci	} s;
44262306a36Sopenharmony_ci};
44362306a36Sopenharmony_ci
44462306a36Sopenharmony_ciunion cvmx_asxx_tx_clk_setx {
44562306a36Sopenharmony_ci	uint64_t u64;
44662306a36Sopenharmony_ci	struct cvmx_asxx_tx_clk_setx_s {
44762306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD
44862306a36Sopenharmony_ci		uint64_t reserved_5_63:59;
44962306a36Sopenharmony_ci		uint64_t setting:5;
45062306a36Sopenharmony_ci#else
45162306a36Sopenharmony_ci		uint64_t setting:5;
45262306a36Sopenharmony_ci		uint64_t reserved_5_63:59;
45362306a36Sopenharmony_ci#endif
45462306a36Sopenharmony_ci	} s;
45562306a36Sopenharmony_ci};
45662306a36Sopenharmony_ci
45762306a36Sopenharmony_ciunion cvmx_asxx_tx_comp_byp {
45862306a36Sopenharmony_ci	uint64_t u64;
45962306a36Sopenharmony_ci	struct cvmx_asxx_tx_comp_byp_s {
46062306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD
46162306a36Sopenharmony_ci		uint64_t reserved_0_63:64;
46262306a36Sopenharmony_ci#else
46362306a36Sopenharmony_ci		uint64_t reserved_0_63:64;
46462306a36Sopenharmony_ci#endif
46562306a36Sopenharmony_ci	} s;
46662306a36Sopenharmony_ci	struct cvmx_asxx_tx_comp_byp_cn30xx {
46762306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD
46862306a36Sopenharmony_ci		uint64_t reserved_9_63:55;
46962306a36Sopenharmony_ci		uint64_t bypass:1;
47062306a36Sopenharmony_ci		uint64_t pctl:4;
47162306a36Sopenharmony_ci		uint64_t nctl:4;
47262306a36Sopenharmony_ci#else
47362306a36Sopenharmony_ci		uint64_t nctl:4;
47462306a36Sopenharmony_ci		uint64_t pctl:4;
47562306a36Sopenharmony_ci		uint64_t bypass:1;
47662306a36Sopenharmony_ci		uint64_t reserved_9_63:55;
47762306a36Sopenharmony_ci#endif
47862306a36Sopenharmony_ci	} cn30xx;
47962306a36Sopenharmony_ci	struct cvmx_asxx_tx_comp_byp_cn38xx {
48062306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD
48162306a36Sopenharmony_ci		uint64_t reserved_8_63:56;
48262306a36Sopenharmony_ci		uint64_t pctl:4;
48362306a36Sopenharmony_ci		uint64_t nctl:4;
48462306a36Sopenharmony_ci#else
48562306a36Sopenharmony_ci		uint64_t nctl:4;
48662306a36Sopenharmony_ci		uint64_t pctl:4;
48762306a36Sopenharmony_ci		uint64_t reserved_8_63:56;
48862306a36Sopenharmony_ci#endif
48962306a36Sopenharmony_ci	} cn38xx;
49062306a36Sopenharmony_ci	struct cvmx_asxx_tx_comp_byp_cn50xx {
49162306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD
49262306a36Sopenharmony_ci		uint64_t reserved_17_63:47;
49362306a36Sopenharmony_ci		uint64_t bypass:1;
49462306a36Sopenharmony_ci		uint64_t reserved_13_15:3;
49562306a36Sopenharmony_ci		uint64_t pctl:5;
49662306a36Sopenharmony_ci		uint64_t reserved_5_7:3;
49762306a36Sopenharmony_ci		uint64_t nctl:5;
49862306a36Sopenharmony_ci#else
49962306a36Sopenharmony_ci		uint64_t nctl:5;
50062306a36Sopenharmony_ci		uint64_t reserved_5_7:3;
50162306a36Sopenharmony_ci		uint64_t pctl:5;
50262306a36Sopenharmony_ci		uint64_t reserved_13_15:3;
50362306a36Sopenharmony_ci		uint64_t bypass:1;
50462306a36Sopenharmony_ci		uint64_t reserved_17_63:47;
50562306a36Sopenharmony_ci#endif
50662306a36Sopenharmony_ci	} cn50xx;
50762306a36Sopenharmony_ci	struct cvmx_asxx_tx_comp_byp_cn58xx {
50862306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD
50962306a36Sopenharmony_ci		uint64_t reserved_13_63:51;
51062306a36Sopenharmony_ci		uint64_t pctl:5;
51162306a36Sopenharmony_ci		uint64_t reserved_5_7:3;
51262306a36Sopenharmony_ci		uint64_t nctl:5;
51362306a36Sopenharmony_ci#else
51462306a36Sopenharmony_ci		uint64_t nctl:5;
51562306a36Sopenharmony_ci		uint64_t reserved_5_7:3;
51662306a36Sopenharmony_ci		uint64_t pctl:5;
51762306a36Sopenharmony_ci		uint64_t reserved_13_63:51;
51862306a36Sopenharmony_ci#endif
51962306a36Sopenharmony_ci	} cn58xx;
52062306a36Sopenharmony_ci};
52162306a36Sopenharmony_ci
52262306a36Sopenharmony_ciunion cvmx_asxx_tx_hi_waterx {
52362306a36Sopenharmony_ci	uint64_t u64;
52462306a36Sopenharmony_ci	struct cvmx_asxx_tx_hi_waterx_s {
52562306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD
52662306a36Sopenharmony_ci		uint64_t reserved_4_63:60;
52762306a36Sopenharmony_ci		uint64_t mark:4;
52862306a36Sopenharmony_ci#else
52962306a36Sopenharmony_ci		uint64_t mark:4;
53062306a36Sopenharmony_ci		uint64_t reserved_4_63:60;
53162306a36Sopenharmony_ci#endif
53262306a36Sopenharmony_ci	} s;
53362306a36Sopenharmony_ci	struct cvmx_asxx_tx_hi_waterx_cn30xx {
53462306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD
53562306a36Sopenharmony_ci		uint64_t reserved_3_63:61;
53662306a36Sopenharmony_ci		uint64_t mark:3;
53762306a36Sopenharmony_ci#else
53862306a36Sopenharmony_ci		uint64_t mark:3;
53962306a36Sopenharmony_ci		uint64_t reserved_3_63:61;
54062306a36Sopenharmony_ci#endif
54162306a36Sopenharmony_ci	} cn30xx;
54262306a36Sopenharmony_ci};
54362306a36Sopenharmony_ci
54462306a36Sopenharmony_ciunion cvmx_asxx_tx_prt_en {
54562306a36Sopenharmony_ci	uint64_t u64;
54662306a36Sopenharmony_ci	struct cvmx_asxx_tx_prt_en_s {
54762306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD
54862306a36Sopenharmony_ci		uint64_t reserved_4_63:60;
54962306a36Sopenharmony_ci		uint64_t prt_en:4;
55062306a36Sopenharmony_ci#else
55162306a36Sopenharmony_ci		uint64_t prt_en:4;
55262306a36Sopenharmony_ci		uint64_t reserved_4_63:60;
55362306a36Sopenharmony_ci#endif
55462306a36Sopenharmony_ci	} s;
55562306a36Sopenharmony_ci	struct cvmx_asxx_tx_prt_en_cn30xx {
55662306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD
55762306a36Sopenharmony_ci		uint64_t reserved_3_63:61;
55862306a36Sopenharmony_ci		uint64_t prt_en:3;
55962306a36Sopenharmony_ci#else
56062306a36Sopenharmony_ci		uint64_t prt_en:3;
56162306a36Sopenharmony_ci		uint64_t reserved_3_63:61;
56262306a36Sopenharmony_ci#endif
56362306a36Sopenharmony_ci	} cn30xx;
56462306a36Sopenharmony_ci};
56562306a36Sopenharmony_ci
56662306a36Sopenharmony_ci#endif
567