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-2012 Cavium Networks
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_MIXX_DEFS_H__
2962306a36Sopenharmony_ci#define __CVMX_MIXX_DEFS_H__
3062306a36Sopenharmony_ci
3162306a36Sopenharmony_ci#define CVMX_MIXX_BIST(offset) (CVMX_ADD_IO_SEG(0x0001070000100078ull) + ((offset) & 1) * 2048)
3262306a36Sopenharmony_ci#define CVMX_MIXX_CTL(offset) (CVMX_ADD_IO_SEG(0x0001070000100020ull) + ((offset) & 1) * 2048)
3362306a36Sopenharmony_ci#define CVMX_MIXX_INTENA(offset) (CVMX_ADD_IO_SEG(0x0001070000100050ull) + ((offset) & 1) * 2048)
3462306a36Sopenharmony_ci#define CVMX_MIXX_IRCNT(offset) (CVMX_ADD_IO_SEG(0x0001070000100030ull) + ((offset) & 1) * 2048)
3562306a36Sopenharmony_ci#define CVMX_MIXX_IRHWM(offset) (CVMX_ADD_IO_SEG(0x0001070000100028ull) + ((offset) & 1) * 2048)
3662306a36Sopenharmony_ci#define CVMX_MIXX_IRING1(offset) (CVMX_ADD_IO_SEG(0x0001070000100010ull) + ((offset) & 1) * 2048)
3762306a36Sopenharmony_ci#define CVMX_MIXX_IRING2(offset) (CVMX_ADD_IO_SEG(0x0001070000100018ull) + ((offset) & 1) * 2048)
3862306a36Sopenharmony_ci#define CVMX_MIXX_ISR(offset) (CVMX_ADD_IO_SEG(0x0001070000100048ull) + ((offset) & 1) * 2048)
3962306a36Sopenharmony_ci#define CVMX_MIXX_ORCNT(offset) (CVMX_ADD_IO_SEG(0x0001070000100040ull) + ((offset) & 1) * 2048)
4062306a36Sopenharmony_ci#define CVMX_MIXX_ORHWM(offset) (CVMX_ADD_IO_SEG(0x0001070000100038ull) + ((offset) & 1) * 2048)
4162306a36Sopenharmony_ci#define CVMX_MIXX_ORING1(offset) (CVMX_ADD_IO_SEG(0x0001070000100000ull) + ((offset) & 1) * 2048)
4262306a36Sopenharmony_ci#define CVMX_MIXX_ORING2(offset) (CVMX_ADD_IO_SEG(0x0001070000100008ull) + ((offset) & 1) * 2048)
4362306a36Sopenharmony_ci#define CVMX_MIXX_REMCNT(offset) (CVMX_ADD_IO_SEG(0x0001070000100058ull) + ((offset) & 1) * 2048)
4462306a36Sopenharmony_ci#define CVMX_MIXX_TSCTL(offset) (CVMX_ADD_IO_SEG(0x0001070000100068ull) + ((offset) & 1) * 2048)
4562306a36Sopenharmony_ci#define CVMX_MIXX_TSTAMP(offset) (CVMX_ADD_IO_SEG(0x0001070000100060ull) + ((offset) & 1) * 2048)
4662306a36Sopenharmony_ci
4762306a36Sopenharmony_ciunion cvmx_mixx_bist {
4862306a36Sopenharmony_ci	uint64_t u64;
4962306a36Sopenharmony_ci	struct cvmx_mixx_bist_s {
5062306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD
5162306a36Sopenharmony_ci		uint64_t reserved_6_63:58;
5262306a36Sopenharmony_ci		uint64_t opfdat:1;
5362306a36Sopenharmony_ci		uint64_t mrgdat:1;
5462306a36Sopenharmony_ci		uint64_t mrqdat:1;
5562306a36Sopenharmony_ci		uint64_t ipfdat:1;
5662306a36Sopenharmony_ci		uint64_t irfdat:1;
5762306a36Sopenharmony_ci		uint64_t orfdat:1;
5862306a36Sopenharmony_ci#else
5962306a36Sopenharmony_ci		uint64_t orfdat:1;
6062306a36Sopenharmony_ci		uint64_t irfdat:1;
6162306a36Sopenharmony_ci		uint64_t ipfdat:1;
6262306a36Sopenharmony_ci		uint64_t mrqdat:1;
6362306a36Sopenharmony_ci		uint64_t mrgdat:1;
6462306a36Sopenharmony_ci		uint64_t opfdat:1;
6562306a36Sopenharmony_ci		uint64_t reserved_6_63:58;
6662306a36Sopenharmony_ci#endif
6762306a36Sopenharmony_ci	} s;
6862306a36Sopenharmony_ci	struct cvmx_mixx_bist_cn52xx {
6962306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD
7062306a36Sopenharmony_ci		uint64_t reserved_4_63:60;
7162306a36Sopenharmony_ci		uint64_t mrqdat:1;
7262306a36Sopenharmony_ci		uint64_t ipfdat:1;
7362306a36Sopenharmony_ci		uint64_t irfdat:1;
7462306a36Sopenharmony_ci		uint64_t orfdat:1;
7562306a36Sopenharmony_ci#else
7662306a36Sopenharmony_ci		uint64_t orfdat:1;
7762306a36Sopenharmony_ci		uint64_t irfdat:1;
7862306a36Sopenharmony_ci		uint64_t ipfdat:1;
7962306a36Sopenharmony_ci		uint64_t mrqdat:1;
8062306a36Sopenharmony_ci		uint64_t reserved_4_63:60;
8162306a36Sopenharmony_ci#endif
8262306a36Sopenharmony_ci	} cn52xx;
8362306a36Sopenharmony_ci};
8462306a36Sopenharmony_ci
8562306a36Sopenharmony_ciunion cvmx_mixx_ctl {
8662306a36Sopenharmony_ci	uint64_t u64;
8762306a36Sopenharmony_ci	struct cvmx_mixx_ctl_s {
8862306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD
8962306a36Sopenharmony_ci		uint64_t reserved_12_63:52;
9062306a36Sopenharmony_ci		uint64_t ts_thresh:4;
9162306a36Sopenharmony_ci		uint64_t crc_strip:1;
9262306a36Sopenharmony_ci		uint64_t busy:1;
9362306a36Sopenharmony_ci		uint64_t en:1;
9462306a36Sopenharmony_ci		uint64_t reset:1;
9562306a36Sopenharmony_ci		uint64_t lendian:1;
9662306a36Sopenharmony_ci		uint64_t nbtarb:1;
9762306a36Sopenharmony_ci		uint64_t mrq_hwm:2;
9862306a36Sopenharmony_ci#else
9962306a36Sopenharmony_ci		uint64_t mrq_hwm:2;
10062306a36Sopenharmony_ci		uint64_t nbtarb:1;
10162306a36Sopenharmony_ci		uint64_t lendian:1;
10262306a36Sopenharmony_ci		uint64_t reset:1;
10362306a36Sopenharmony_ci		uint64_t en:1;
10462306a36Sopenharmony_ci		uint64_t busy:1;
10562306a36Sopenharmony_ci		uint64_t crc_strip:1;
10662306a36Sopenharmony_ci		uint64_t ts_thresh:4;
10762306a36Sopenharmony_ci		uint64_t reserved_12_63:52;
10862306a36Sopenharmony_ci#endif
10962306a36Sopenharmony_ci	} s;
11062306a36Sopenharmony_ci	struct cvmx_mixx_ctl_cn52xx {
11162306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD
11262306a36Sopenharmony_ci		uint64_t reserved_8_63:56;
11362306a36Sopenharmony_ci		uint64_t crc_strip:1;
11462306a36Sopenharmony_ci		uint64_t busy:1;
11562306a36Sopenharmony_ci		uint64_t en:1;
11662306a36Sopenharmony_ci		uint64_t reset:1;
11762306a36Sopenharmony_ci		uint64_t lendian:1;
11862306a36Sopenharmony_ci		uint64_t nbtarb:1;
11962306a36Sopenharmony_ci		uint64_t mrq_hwm:2;
12062306a36Sopenharmony_ci#else
12162306a36Sopenharmony_ci		uint64_t mrq_hwm:2;
12262306a36Sopenharmony_ci		uint64_t nbtarb:1;
12362306a36Sopenharmony_ci		uint64_t lendian:1;
12462306a36Sopenharmony_ci		uint64_t reset:1;
12562306a36Sopenharmony_ci		uint64_t en:1;
12662306a36Sopenharmony_ci		uint64_t busy:1;
12762306a36Sopenharmony_ci		uint64_t crc_strip:1;
12862306a36Sopenharmony_ci		uint64_t reserved_8_63:56;
12962306a36Sopenharmony_ci#endif
13062306a36Sopenharmony_ci	} cn52xx;
13162306a36Sopenharmony_ci};
13262306a36Sopenharmony_ci
13362306a36Sopenharmony_ciunion cvmx_mixx_intena {
13462306a36Sopenharmony_ci	uint64_t u64;
13562306a36Sopenharmony_ci	struct cvmx_mixx_intena_s {
13662306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD
13762306a36Sopenharmony_ci		uint64_t reserved_8_63:56;
13862306a36Sopenharmony_ci		uint64_t tsena:1;
13962306a36Sopenharmony_ci		uint64_t orunena:1;
14062306a36Sopenharmony_ci		uint64_t irunena:1;
14162306a36Sopenharmony_ci		uint64_t data_drpena:1;
14262306a36Sopenharmony_ci		uint64_t ithena:1;
14362306a36Sopenharmony_ci		uint64_t othena:1;
14462306a36Sopenharmony_ci		uint64_t ivfena:1;
14562306a36Sopenharmony_ci		uint64_t ovfena:1;
14662306a36Sopenharmony_ci#else
14762306a36Sopenharmony_ci		uint64_t ovfena:1;
14862306a36Sopenharmony_ci		uint64_t ivfena:1;
14962306a36Sopenharmony_ci		uint64_t othena:1;
15062306a36Sopenharmony_ci		uint64_t ithena:1;
15162306a36Sopenharmony_ci		uint64_t data_drpena:1;
15262306a36Sopenharmony_ci		uint64_t irunena:1;
15362306a36Sopenharmony_ci		uint64_t orunena:1;
15462306a36Sopenharmony_ci		uint64_t tsena:1;
15562306a36Sopenharmony_ci		uint64_t reserved_8_63:56;
15662306a36Sopenharmony_ci#endif
15762306a36Sopenharmony_ci	} s;
15862306a36Sopenharmony_ci	struct cvmx_mixx_intena_cn52xx {
15962306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD
16062306a36Sopenharmony_ci		uint64_t reserved_7_63:57;
16162306a36Sopenharmony_ci		uint64_t orunena:1;
16262306a36Sopenharmony_ci		uint64_t irunena:1;
16362306a36Sopenharmony_ci		uint64_t data_drpena:1;
16462306a36Sopenharmony_ci		uint64_t ithena:1;
16562306a36Sopenharmony_ci		uint64_t othena:1;
16662306a36Sopenharmony_ci		uint64_t ivfena:1;
16762306a36Sopenharmony_ci		uint64_t ovfena:1;
16862306a36Sopenharmony_ci#else
16962306a36Sopenharmony_ci		uint64_t ovfena:1;
17062306a36Sopenharmony_ci		uint64_t ivfena:1;
17162306a36Sopenharmony_ci		uint64_t othena:1;
17262306a36Sopenharmony_ci		uint64_t ithena:1;
17362306a36Sopenharmony_ci		uint64_t data_drpena:1;
17462306a36Sopenharmony_ci		uint64_t irunena:1;
17562306a36Sopenharmony_ci		uint64_t orunena:1;
17662306a36Sopenharmony_ci		uint64_t reserved_7_63:57;
17762306a36Sopenharmony_ci#endif
17862306a36Sopenharmony_ci	} cn52xx;
17962306a36Sopenharmony_ci};
18062306a36Sopenharmony_ci
18162306a36Sopenharmony_ciunion cvmx_mixx_ircnt {
18262306a36Sopenharmony_ci	uint64_t u64;
18362306a36Sopenharmony_ci	struct cvmx_mixx_ircnt_s {
18462306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD
18562306a36Sopenharmony_ci		uint64_t reserved_20_63:44;
18662306a36Sopenharmony_ci		uint64_t ircnt:20;
18762306a36Sopenharmony_ci#else
18862306a36Sopenharmony_ci		uint64_t ircnt:20;
18962306a36Sopenharmony_ci		uint64_t reserved_20_63:44;
19062306a36Sopenharmony_ci#endif
19162306a36Sopenharmony_ci	} s;
19262306a36Sopenharmony_ci};
19362306a36Sopenharmony_ci
19462306a36Sopenharmony_ciunion cvmx_mixx_irhwm {
19562306a36Sopenharmony_ci	uint64_t u64;
19662306a36Sopenharmony_ci	struct cvmx_mixx_irhwm_s {
19762306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD
19862306a36Sopenharmony_ci		uint64_t reserved_40_63:24;
19962306a36Sopenharmony_ci		uint64_t ibplwm:20;
20062306a36Sopenharmony_ci		uint64_t irhwm:20;
20162306a36Sopenharmony_ci#else
20262306a36Sopenharmony_ci		uint64_t irhwm:20;
20362306a36Sopenharmony_ci		uint64_t ibplwm:20;
20462306a36Sopenharmony_ci		uint64_t reserved_40_63:24;
20562306a36Sopenharmony_ci#endif
20662306a36Sopenharmony_ci	} s;
20762306a36Sopenharmony_ci};
20862306a36Sopenharmony_ci
20962306a36Sopenharmony_ciunion cvmx_mixx_iring1 {
21062306a36Sopenharmony_ci	uint64_t u64;
21162306a36Sopenharmony_ci	struct cvmx_mixx_iring1_s {
21262306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD
21362306a36Sopenharmony_ci		uint64_t reserved_60_63:4;
21462306a36Sopenharmony_ci		uint64_t isize:20;
21562306a36Sopenharmony_ci		uint64_t ibase:37;
21662306a36Sopenharmony_ci		uint64_t reserved_0_2:3;
21762306a36Sopenharmony_ci#else
21862306a36Sopenharmony_ci		uint64_t reserved_0_2:3;
21962306a36Sopenharmony_ci		uint64_t ibase:37;
22062306a36Sopenharmony_ci		uint64_t isize:20;
22162306a36Sopenharmony_ci		uint64_t reserved_60_63:4;
22262306a36Sopenharmony_ci#endif
22362306a36Sopenharmony_ci	} s;
22462306a36Sopenharmony_ci	struct cvmx_mixx_iring1_cn52xx {
22562306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD
22662306a36Sopenharmony_ci		uint64_t reserved_60_63:4;
22762306a36Sopenharmony_ci		uint64_t isize:20;
22862306a36Sopenharmony_ci		uint64_t reserved_36_39:4;
22962306a36Sopenharmony_ci		uint64_t ibase:33;
23062306a36Sopenharmony_ci		uint64_t reserved_0_2:3;
23162306a36Sopenharmony_ci#else
23262306a36Sopenharmony_ci		uint64_t reserved_0_2:3;
23362306a36Sopenharmony_ci		uint64_t ibase:33;
23462306a36Sopenharmony_ci		uint64_t reserved_36_39:4;
23562306a36Sopenharmony_ci		uint64_t isize:20;
23662306a36Sopenharmony_ci		uint64_t reserved_60_63:4;
23762306a36Sopenharmony_ci#endif
23862306a36Sopenharmony_ci	} cn52xx;
23962306a36Sopenharmony_ci};
24062306a36Sopenharmony_ci
24162306a36Sopenharmony_ciunion cvmx_mixx_iring2 {
24262306a36Sopenharmony_ci	uint64_t u64;
24362306a36Sopenharmony_ci	struct cvmx_mixx_iring2_s {
24462306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD
24562306a36Sopenharmony_ci		uint64_t reserved_52_63:12;
24662306a36Sopenharmony_ci		uint64_t itlptr:20;
24762306a36Sopenharmony_ci		uint64_t reserved_20_31:12;
24862306a36Sopenharmony_ci		uint64_t idbell:20;
24962306a36Sopenharmony_ci#else
25062306a36Sopenharmony_ci		uint64_t idbell:20;
25162306a36Sopenharmony_ci		uint64_t reserved_20_31:12;
25262306a36Sopenharmony_ci		uint64_t itlptr:20;
25362306a36Sopenharmony_ci		uint64_t reserved_52_63:12;
25462306a36Sopenharmony_ci#endif
25562306a36Sopenharmony_ci	} s;
25662306a36Sopenharmony_ci};
25762306a36Sopenharmony_ci
25862306a36Sopenharmony_ciunion cvmx_mixx_isr {
25962306a36Sopenharmony_ci	uint64_t u64;
26062306a36Sopenharmony_ci	struct cvmx_mixx_isr_s {
26162306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD
26262306a36Sopenharmony_ci		uint64_t reserved_8_63:56;
26362306a36Sopenharmony_ci		uint64_t ts:1;
26462306a36Sopenharmony_ci		uint64_t orun:1;
26562306a36Sopenharmony_ci		uint64_t irun:1;
26662306a36Sopenharmony_ci		uint64_t data_drp:1;
26762306a36Sopenharmony_ci		uint64_t irthresh:1;
26862306a36Sopenharmony_ci		uint64_t orthresh:1;
26962306a36Sopenharmony_ci		uint64_t idblovf:1;
27062306a36Sopenharmony_ci		uint64_t odblovf:1;
27162306a36Sopenharmony_ci#else
27262306a36Sopenharmony_ci		uint64_t odblovf:1;
27362306a36Sopenharmony_ci		uint64_t idblovf:1;
27462306a36Sopenharmony_ci		uint64_t orthresh:1;
27562306a36Sopenharmony_ci		uint64_t irthresh:1;
27662306a36Sopenharmony_ci		uint64_t data_drp:1;
27762306a36Sopenharmony_ci		uint64_t irun:1;
27862306a36Sopenharmony_ci		uint64_t orun:1;
27962306a36Sopenharmony_ci		uint64_t ts:1;
28062306a36Sopenharmony_ci		uint64_t reserved_8_63:56;
28162306a36Sopenharmony_ci#endif
28262306a36Sopenharmony_ci	} s;
28362306a36Sopenharmony_ci	struct cvmx_mixx_isr_cn52xx {
28462306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD
28562306a36Sopenharmony_ci		uint64_t reserved_7_63:57;
28662306a36Sopenharmony_ci		uint64_t orun:1;
28762306a36Sopenharmony_ci		uint64_t irun:1;
28862306a36Sopenharmony_ci		uint64_t data_drp:1;
28962306a36Sopenharmony_ci		uint64_t irthresh:1;
29062306a36Sopenharmony_ci		uint64_t orthresh:1;
29162306a36Sopenharmony_ci		uint64_t idblovf:1;
29262306a36Sopenharmony_ci		uint64_t odblovf:1;
29362306a36Sopenharmony_ci#else
29462306a36Sopenharmony_ci		uint64_t odblovf:1;
29562306a36Sopenharmony_ci		uint64_t idblovf:1;
29662306a36Sopenharmony_ci		uint64_t orthresh:1;
29762306a36Sopenharmony_ci		uint64_t irthresh:1;
29862306a36Sopenharmony_ci		uint64_t data_drp:1;
29962306a36Sopenharmony_ci		uint64_t irun:1;
30062306a36Sopenharmony_ci		uint64_t orun:1;
30162306a36Sopenharmony_ci		uint64_t reserved_7_63:57;
30262306a36Sopenharmony_ci#endif
30362306a36Sopenharmony_ci	} cn52xx;
30462306a36Sopenharmony_ci};
30562306a36Sopenharmony_ci
30662306a36Sopenharmony_ciunion cvmx_mixx_orcnt {
30762306a36Sopenharmony_ci	uint64_t u64;
30862306a36Sopenharmony_ci	struct cvmx_mixx_orcnt_s {
30962306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD
31062306a36Sopenharmony_ci		uint64_t reserved_20_63:44;
31162306a36Sopenharmony_ci		uint64_t orcnt:20;
31262306a36Sopenharmony_ci#else
31362306a36Sopenharmony_ci		uint64_t orcnt:20;
31462306a36Sopenharmony_ci		uint64_t reserved_20_63:44;
31562306a36Sopenharmony_ci#endif
31662306a36Sopenharmony_ci	} s;
31762306a36Sopenharmony_ci};
31862306a36Sopenharmony_ci
31962306a36Sopenharmony_ciunion cvmx_mixx_orhwm {
32062306a36Sopenharmony_ci	uint64_t u64;
32162306a36Sopenharmony_ci	struct cvmx_mixx_orhwm_s {
32262306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD
32362306a36Sopenharmony_ci		uint64_t reserved_20_63:44;
32462306a36Sopenharmony_ci		uint64_t orhwm:20;
32562306a36Sopenharmony_ci#else
32662306a36Sopenharmony_ci		uint64_t orhwm:20;
32762306a36Sopenharmony_ci		uint64_t reserved_20_63:44;
32862306a36Sopenharmony_ci#endif
32962306a36Sopenharmony_ci	} s;
33062306a36Sopenharmony_ci};
33162306a36Sopenharmony_ci
33262306a36Sopenharmony_ciunion cvmx_mixx_oring1 {
33362306a36Sopenharmony_ci	uint64_t u64;
33462306a36Sopenharmony_ci	struct cvmx_mixx_oring1_s {
33562306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD
33662306a36Sopenharmony_ci		uint64_t reserved_60_63:4;
33762306a36Sopenharmony_ci		uint64_t osize:20;
33862306a36Sopenharmony_ci		uint64_t obase:37;
33962306a36Sopenharmony_ci		uint64_t reserved_0_2:3;
34062306a36Sopenharmony_ci#else
34162306a36Sopenharmony_ci		uint64_t reserved_0_2:3;
34262306a36Sopenharmony_ci		uint64_t obase:37;
34362306a36Sopenharmony_ci		uint64_t osize:20;
34462306a36Sopenharmony_ci		uint64_t reserved_60_63:4;
34562306a36Sopenharmony_ci#endif
34662306a36Sopenharmony_ci	} s;
34762306a36Sopenharmony_ci	struct cvmx_mixx_oring1_cn52xx {
34862306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD
34962306a36Sopenharmony_ci		uint64_t reserved_60_63:4;
35062306a36Sopenharmony_ci		uint64_t osize:20;
35162306a36Sopenharmony_ci		uint64_t reserved_36_39:4;
35262306a36Sopenharmony_ci		uint64_t obase:33;
35362306a36Sopenharmony_ci		uint64_t reserved_0_2:3;
35462306a36Sopenharmony_ci#else
35562306a36Sopenharmony_ci		uint64_t reserved_0_2:3;
35662306a36Sopenharmony_ci		uint64_t obase:33;
35762306a36Sopenharmony_ci		uint64_t reserved_36_39:4;
35862306a36Sopenharmony_ci		uint64_t osize:20;
35962306a36Sopenharmony_ci		uint64_t reserved_60_63:4;
36062306a36Sopenharmony_ci#endif
36162306a36Sopenharmony_ci	} cn52xx;
36262306a36Sopenharmony_ci};
36362306a36Sopenharmony_ci
36462306a36Sopenharmony_ciunion cvmx_mixx_oring2 {
36562306a36Sopenharmony_ci	uint64_t u64;
36662306a36Sopenharmony_ci	struct cvmx_mixx_oring2_s {
36762306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD
36862306a36Sopenharmony_ci		uint64_t reserved_52_63:12;
36962306a36Sopenharmony_ci		uint64_t otlptr:20;
37062306a36Sopenharmony_ci		uint64_t reserved_20_31:12;
37162306a36Sopenharmony_ci		uint64_t odbell:20;
37262306a36Sopenharmony_ci#else
37362306a36Sopenharmony_ci		uint64_t odbell:20;
37462306a36Sopenharmony_ci		uint64_t reserved_20_31:12;
37562306a36Sopenharmony_ci		uint64_t otlptr:20;
37662306a36Sopenharmony_ci		uint64_t reserved_52_63:12;
37762306a36Sopenharmony_ci#endif
37862306a36Sopenharmony_ci	} s;
37962306a36Sopenharmony_ci};
38062306a36Sopenharmony_ci
38162306a36Sopenharmony_ciunion cvmx_mixx_remcnt {
38262306a36Sopenharmony_ci	uint64_t u64;
38362306a36Sopenharmony_ci	struct cvmx_mixx_remcnt_s {
38462306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD
38562306a36Sopenharmony_ci		uint64_t reserved_52_63:12;
38662306a36Sopenharmony_ci		uint64_t iremcnt:20;
38762306a36Sopenharmony_ci		uint64_t reserved_20_31:12;
38862306a36Sopenharmony_ci		uint64_t oremcnt:20;
38962306a36Sopenharmony_ci#else
39062306a36Sopenharmony_ci		uint64_t oremcnt:20;
39162306a36Sopenharmony_ci		uint64_t reserved_20_31:12;
39262306a36Sopenharmony_ci		uint64_t iremcnt:20;
39362306a36Sopenharmony_ci		uint64_t reserved_52_63:12;
39462306a36Sopenharmony_ci#endif
39562306a36Sopenharmony_ci	} s;
39662306a36Sopenharmony_ci};
39762306a36Sopenharmony_ci
39862306a36Sopenharmony_ciunion cvmx_mixx_tsctl {
39962306a36Sopenharmony_ci	uint64_t u64;
40062306a36Sopenharmony_ci	struct cvmx_mixx_tsctl_s {
40162306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD
40262306a36Sopenharmony_ci		uint64_t reserved_21_63:43;
40362306a36Sopenharmony_ci		uint64_t tsavl:5;
40462306a36Sopenharmony_ci		uint64_t reserved_13_15:3;
40562306a36Sopenharmony_ci		uint64_t tstot:5;
40662306a36Sopenharmony_ci		uint64_t reserved_5_7:3;
40762306a36Sopenharmony_ci		uint64_t tscnt:5;
40862306a36Sopenharmony_ci#else
40962306a36Sopenharmony_ci		uint64_t tscnt:5;
41062306a36Sopenharmony_ci		uint64_t reserved_5_7:3;
41162306a36Sopenharmony_ci		uint64_t tstot:5;
41262306a36Sopenharmony_ci		uint64_t reserved_13_15:3;
41362306a36Sopenharmony_ci		uint64_t tsavl:5;
41462306a36Sopenharmony_ci		uint64_t reserved_21_63:43;
41562306a36Sopenharmony_ci#endif
41662306a36Sopenharmony_ci	} s;
41762306a36Sopenharmony_ci};
41862306a36Sopenharmony_ci
41962306a36Sopenharmony_ciunion cvmx_mixx_tstamp {
42062306a36Sopenharmony_ci	uint64_t u64;
42162306a36Sopenharmony_ci	struct cvmx_mixx_tstamp_s {
42262306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD
42362306a36Sopenharmony_ci		uint64_t tstamp:64;
42462306a36Sopenharmony_ci#else
42562306a36Sopenharmony_ci		uint64_t tstamp:64;
42662306a36Sopenharmony_ci#endif
42762306a36Sopenharmony_ci	} s;
42862306a36Sopenharmony_ci};
42962306a36Sopenharmony_ci
43062306a36Sopenharmony_ci#endif
431