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