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_SPXX_DEFS_H__ 2962306a36Sopenharmony_ci#define __CVMX_SPXX_DEFS_H__ 3062306a36Sopenharmony_ci 3162306a36Sopenharmony_ci#define CVMX_SPXX_BCKPRS_CNT(block_id) (CVMX_ADD_IO_SEG(0x0001180090000340ull) + ((block_id) & 1) * 0x8000000ull) 3262306a36Sopenharmony_ci#define CVMX_SPXX_BIST_STAT(block_id) (CVMX_ADD_IO_SEG(0x00011800900007F8ull) + ((block_id) & 1) * 0x8000000ull) 3362306a36Sopenharmony_ci#define CVMX_SPXX_CLK_CTL(block_id) (CVMX_ADD_IO_SEG(0x0001180090000348ull) + ((block_id) & 1) * 0x8000000ull) 3462306a36Sopenharmony_ci#define CVMX_SPXX_CLK_STAT(block_id) (CVMX_ADD_IO_SEG(0x0001180090000350ull) + ((block_id) & 1) * 0x8000000ull) 3562306a36Sopenharmony_ci#define CVMX_SPXX_DBG_DESKEW_CTL(block_id) (CVMX_ADD_IO_SEG(0x0001180090000368ull) + ((block_id) & 1) * 0x8000000ull) 3662306a36Sopenharmony_ci#define CVMX_SPXX_DBG_DESKEW_STATE(block_id) (CVMX_ADD_IO_SEG(0x0001180090000370ull) + ((block_id) & 1) * 0x8000000ull) 3762306a36Sopenharmony_ci#define CVMX_SPXX_DRV_CTL(block_id) (CVMX_ADD_IO_SEG(0x0001180090000358ull) + ((block_id) & 1) * 0x8000000ull) 3862306a36Sopenharmony_ci#define CVMX_SPXX_ERR_CTL(block_id) (CVMX_ADD_IO_SEG(0x0001180090000320ull) + ((block_id) & 1) * 0x8000000ull) 3962306a36Sopenharmony_ci#define CVMX_SPXX_INT_DAT(block_id) (CVMX_ADD_IO_SEG(0x0001180090000318ull) + ((block_id) & 1) * 0x8000000ull) 4062306a36Sopenharmony_ci#define CVMX_SPXX_INT_MSK(block_id) (CVMX_ADD_IO_SEG(0x0001180090000308ull) + ((block_id) & 1) * 0x8000000ull) 4162306a36Sopenharmony_ci#define CVMX_SPXX_INT_REG(block_id) (CVMX_ADD_IO_SEG(0x0001180090000300ull) + ((block_id) & 1) * 0x8000000ull) 4262306a36Sopenharmony_ci#define CVMX_SPXX_INT_SYNC(block_id) (CVMX_ADD_IO_SEG(0x0001180090000310ull) + ((block_id) & 1) * 0x8000000ull) 4362306a36Sopenharmony_ci#define CVMX_SPXX_TPA_ACC(block_id) (CVMX_ADD_IO_SEG(0x0001180090000338ull) + ((block_id) & 1) * 0x8000000ull) 4462306a36Sopenharmony_ci#define CVMX_SPXX_TPA_MAX(block_id) (CVMX_ADD_IO_SEG(0x0001180090000330ull) + ((block_id) & 1) * 0x8000000ull) 4562306a36Sopenharmony_ci#define CVMX_SPXX_TPA_SEL(block_id) (CVMX_ADD_IO_SEG(0x0001180090000328ull) + ((block_id) & 1) * 0x8000000ull) 4662306a36Sopenharmony_ci#define CVMX_SPXX_TRN4_CTL(block_id) (CVMX_ADD_IO_SEG(0x0001180090000360ull) + ((block_id) & 1) * 0x8000000ull) 4762306a36Sopenharmony_ci 4862306a36Sopenharmony_civoid __cvmx_interrupt_spxx_int_msk_enable(int index); 4962306a36Sopenharmony_ci 5062306a36Sopenharmony_ciunion cvmx_spxx_bckprs_cnt { 5162306a36Sopenharmony_ci uint64_t u64; 5262306a36Sopenharmony_ci struct cvmx_spxx_bckprs_cnt_s { 5362306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 5462306a36Sopenharmony_ci uint64_t reserved_32_63:32; 5562306a36Sopenharmony_ci uint64_t cnt:32; 5662306a36Sopenharmony_ci#else 5762306a36Sopenharmony_ci uint64_t cnt:32; 5862306a36Sopenharmony_ci uint64_t reserved_32_63:32; 5962306a36Sopenharmony_ci#endif 6062306a36Sopenharmony_ci } s; 6162306a36Sopenharmony_ci}; 6262306a36Sopenharmony_ci 6362306a36Sopenharmony_ciunion cvmx_spxx_bist_stat { 6462306a36Sopenharmony_ci uint64_t u64; 6562306a36Sopenharmony_ci struct cvmx_spxx_bist_stat_s { 6662306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 6762306a36Sopenharmony_ci uint64_t reserved_3_63:61; 6862306a36Sopenharmony_ci uint64_t stat2:1; 6962306a36Sopenharmony_ci uint64_t stat1:1; 7062306a36Sopenharmony_ci uint64_t stat0:1; 7162306a36Sopenharmony_ci#else 7262306a36Sopenharmony_ci uint64_t stat0:1; 7362306a36Sopenharmony_ci uint64_t stat1:1; 7462306a36Sopenharmony_ci uint64_t stat2:1; 7562306a36Sopenharmony_ci uint64_t reserved_3_63:61; 7662306a36Sopenharmony_ci#endif 7762306a36Sopenharmony_ci } s; 7862306a36Sopenharmony_ci}; 7962306a36Sopenharmony_ci 8062306a36Sopenharmony_ciunion cvmx_spxx_clk_ctl { 8162306a36Sopenharmony_ci uint64_t u64; 8262306a36Sopenharmony_ci struct cvmx_spxx_clk_ctl_s { 8362306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 8462306a36Sopenharmony_ci uint64_t reserved_17_63:47; 8562306a36Sopenharmony_ci uint64_t seetrn:1; 8662306a36Sopenharmony_ci uint64_t reserved_12_15:4; 8762306a36Sopenharmony_ci uint64_t clkdly:5; 8862306a36Sopenharmony_ci uint64_t runbist:1; 8962306a36Sopenharmony_ci uint64_t statdrv:1; 9062306a36Sopenharmony_ci uint64_t statrcv:1; 9162306a36Sopenharmony_ci uint64_t sndtrn:1; 9262306a36Sopenharmony_ci uint64_t drptrn:1; 9362306a36Sopenharmony_ci uint64_t rcvtrn:1; 9462306a36Sopenharmony_ci uint64_t srxdlck:1; 9562306a36Sopenharmony_ci#else 9662306a36Sopenharmony_ci uint64_t srxdlck:1; 9762306a36Sopenharmony_ci uint64_t rcvtrn:1; 9862306a36Sopenharmony_ci uint64_t drptrn:1; 9962306a36Sopenharmony_ci uint64_t sndtrn:1; 10062306a36Sopenharmony_ci uint64_t statrcv:1; 10162306a36Sopenharmony_ci uint64_t statdrv:1; 10262306a36Sopenharmony_ci uint64_t runbist:1; 10362306a36Sopenharmony_ci uint64_t clkdly:5; 10462306a36Sopenharmony_ci uint64_t reserved_12_15:4; 10562306a36Sopenharmony_ci uint64_t seetrn:1; 10662306a36Sopenharmony_ci uint64_t reserved_17_63:47; 10762306a36Sopenharmony_ci#endif 10862306a36Sopenharmony_ci } s; 10962306a36Sopenharmony_ci}; 11062306a36Sopenharmony_ci 11162306a36Sopenharmony_ciunion cvmx_spxx_clk_stat { 11262306a36Sopenharmony_ci uint64_t u64; 11362306a36Sopenharmony_ci struct cvmx_spxx_clk_stat_s { 11462306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 11562306a36Sopenharmony_ci uint64_t reserved_11_63:53; 11662306a36Sopenharmony_ci uint64_t stxcal:1; 11762306a36Sopenharmony_ci uint64_t reserved_9_9:1; 11862306a36Sopenharmony_ci uint64_t srxtrn:1; 11962306a36Sopenharmony_ci uint64_t s4clk1:1; 12062306a36Sopenharmony_ci uint64_t s4clk0:1; 12162306a36Sopenharmony_ci uint64_t d4clk1:1; 12262306a36Sopenharmony_ci uint64_t d4clk0:1; 12362306a36Sopenharmony_ci uint64_t reserved_0_3:4; 12462306a36Sopenharmony_ci#else 12562306a36Sopenharmony_ci uint64_t reserved_0_3:4; 12662306a36Sopenharmony_ci uint64_t d4clk0:1; 12762306a36Sopenharmony_ci uint64_t d4clk1:1; 12862306a36Sopenharmony_ci uint64_t s4clk0:1; 12962306a36Sopenharmony_ci uint64_t s4clk1:1; 13062306a36Sopenharmony_ci uint64_t srxtrn:1; 13162306a36Sopenharmony_ci uint64_t reserved_9_9:1; 13262306a36Sopenharmony_ci uint64_t stxcal:1; 13362306a36Sopenharmony_ci uint64_t reserved_11_63:53; 13462306a36Sopenharmony_ci#endif 13562306a36Sopenharmony_ci } s; 13662306a36Sopenharmony_ci}; 13762306a36Sopenharmony_ci 13862306a36Sopenharmony_ciunion cvmx_spxx_dbg_deskew_ctl { 13962306a36Sopenharmony_ci uint64_t u64; 14062306a36Sopenharmony_ci struct cvmx_spxx_dbg_deskew_ctl_s { 14162306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 14262306a36Sopenharmony_ci uint64_t reserved_30_63:34; 14362306a36Sopenharmony_ci uint64_t fallnop:1; 14462306a36Sopenharmony_ci uint64_t fall8:1; 14562306a36Sopenharmony_ci uint64_t reserved_26_27:2; 14662306a36Sopenharmony_ci uint64_t sstep_go:1; 14762306a36Sopenharmony_ci uint64_t sstep:1; 14862306a36Sopenharmony_ci uint64_t reserved_22_23:2; 14962306a36Sopenharmony_ci uint64_t clrdly:1; 15062306a36Sopenharmony_ci uint64_t dec:1; 15162306a36Sopenharmony_ci uint64_t inc:1; 15262306a36Sopenharmony_ci uint64_t mux:1; 15362306a36Sopenharmony_ci uint64_t offset:5; 15462306a36Sopenharmony_ci uint64_t bitsel:5; 15562306a36Sopenharmony_ci uint64_t offdly:6; 15662306a36Sopenharmony_ci uint64_t dllfrc:1; 15762306a36Sopenharmony_ci uint64_t dlldis:1; 15862306a36Sopenharmony_ci#else 15962306a36Sopenharmony_ci uint64_t dlldis:1; 16062306a36Sopenharmony_ci uint64_t dllfrc:1; 16162306a36Sopenharmony_ci uint64_t offdly:6; 16262306a36Sopenharmony_ci uint64_t bitsel:5; 16362306a36Sopenharmony_ci uint64_t offset:5; 16462306a36Sopenharmony_ci uint64_t mux:1; 16562306a36Sopenharmony_ci uint64_t inc:1; 16662306a36Sopenharmony_ci uint64_t dec:1; 16762306a36Sopenharmony_ci uint64_t clrdly:1; 16862306a36Sopenharmony_ci uint64_t reserved_22_23:2; 16962306a36Sopenharmony_ci uint64_t sstep:1; 17062306a36Sopenharmony_ci uint64_t sstep_go:1; 17162306a36Sopenharmony_ci uint64_t reserved_26_27:2; 17262306a36Sopenharmony_ci uint64_t fall8:1; 17362306a36Sopenharmony_ci uint64_t fallnop:1; 17462306a36Sopenharmony_ci uint64_t reserved_30_63:34; 17562306a36Sopenharmony_ci#endif 17662306a36Sopenharmony_ci } s; 17762306a36Sopenharmony_ci}; 17862306a36Sopenharmony_ci 17962306a36Sopenharmony_ciunion cvmx_spxx_dbg_deskew_state { 18062306a36Sopenharmony_ci uint64_t u64; 18162306a36Sopenharmony_ci struct cvmx_spxx_dbg_deskew_state_s { 18262306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 18362306a36Sopenharmony_ci uint64_t reserved_9_63:55; 18462306a36Sopenharmony_ci uint64_t testres:1; 18562306a36Sopenharmony_ci uint64_t unxterm:1; 18662306a36Sopenharmony_ci uint64_t muxsel:2; 18762306a36Sopenharmony_ci uint64_t offset:5; 18862306a36Sopenharmony_ci#else 18962306a36Sopenharmony_ci uint64_t offset:5; 19062306a36Sopenharmony_ci uint64_t muxsel:2; 19162306a36Sopenharmony_ci uint64_t unxterm:1; 19262306a36Sopenharmony_ci uint64_t testres:1; 19362306a36Sopenharmony_ci uint64_t reserved_9_63:55; 19462306a36Sopenharmony_ci#endif 19562306a36Sopenharmony_ci } s; 19662306a36Sopenharmony_ci}; 19762306a36Sopenharmony_ci 19862306a36Sopenharmony_ciunion cvmx_spxx_drv_ctl { 19962306a36Sopenharmony_ci uint64_t u64; 20062306a36Sopenharmony_ci struct cvmx_spxx_drv_ctl_s { 20162306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 20262306a36Sopenharmony_ci uint64_t reserved_0_63:64; 20362306a36Sopenharmony_ci#else 20462306a36Sopenharmony_ci uint64_t reserved_0_63:64; 20562306a36Sopenharmony_ci#endif 20662306a36Sopenharmony_ci } s; 20762306a36Sopenharmony_ci struct cvmx_spxx_drv_ctl_cn38xx { 20862306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 20962306a36Sopenharmony_ci uint64_t reserved_16_63:48; 21062306a36Sopenharmony_ci uint64_t stx4ncmp:4; 21162306a36Sopenharmony_ci uint64_t stx4pcmp:4; 21262306a36Sopenharmony_ci uint64_t srx4cmp:8; 21362306a36Sopenharmony_ci#else 21462306a36Sopenharmony_ci uint64_t srx4cmp:8; 21562306a36Sopenharmony_ci uint64_t stx4pcmp:4; 21662306a36Sopenharmony_ci uint64_t stx4ncmp:4; 21762306a36Sopenharmony_ci uint64_t reserved_16_63:48; 21862306a36Sopenharmony_ci#endif 21962306a36Sopenharmony_ci } cn38xx; 22062306a36Sopenharmony_ci struct cvmx_spxx_drv_ctl_cn58xx { 22162306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 22262306a36Sopenharmony_ci uint64_t reserved_24_63:40; 22362306a36Sopenharmony_ci uint64_t stx4ncmp:4; 22462306a36Sopenharmony_ci uint64_t stx4pcmp:4; 22562306a36Sopenharmony_ci uint64_t reserved_10_15:6; 22662306a36Sopenharmony_ci uint64_t srx4cmp:10; 22762306a36Sopenharmony_ci#else 22862306a36Sopenharmony_ci uint64_t srx4cmp:10; 22962306a36Sopenharmony_ci uint64_t reserved_10_15:6; 23062306a36Sopenharmony_ci uint64_t stx4pcmp:4; 23162306a36Sopenharmony_ci uint64_t stx4ncmp:4; 23262306a36Sopenharmony_ci uint64_t reserved_24_63:40; 23362306a36Sopenharmony_ci#endif 23462306a36Sopenharmony_ci } cn58xx; 23562306a36Sopenharmony_ci}; 23662306a36Sopenharmony_ci 23762306a36Sopenharmony_ciunion cvmx_spxx_err_ctl { 23862306a36Sopenharmony_ci uint64_t u64; 23962306a36Sopenharmony_ci struct cvmx_spxx_err_ctl_s { 24062306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 24162306a36Sopenharmony_ci uint64_t reserved_9_63:55; 24262306a36Sopenharmony_ci uint64_t prtnxa:1; 24362306a36Sopenharmony_ci uint64_t dipcls:1; 24462306a36Sopenharmony_ci uint64_t dippay:1; 24562306a36Sopenharmony_ci uint64_t reserved_4_5:2; 24662306a36Sopenharmony_ci uint64_t errcnt:4; 24762306a36Sopenharmony_ci#else 24862306a36Sopenharmony_ci uint64_t errcnt:4; 24962306a36Sopenharmony_ci uint64_t reserved_4_5:2; 25062306a36Sopenharmony_ci uint64_t dippay:1; 25162306a36Sopenharmony_ci uint64_t dipcls:1; 25262306a36Sopenharmony_ci uint64_t prtnxa:1; 25362306a36Sopenharmony_ci uint64_t reserved_9_63:55; 25462306a36Sopenharmony_ci#endif 25562306a36Sopenharmony_ci } s; 25662306a36Sopenharmony_ci}; 25762306a36Sopenharmony_ci 25862306a36Sopenharmony_ciunion cvmx_spxx_int_dat { 25962306a36Sopenharmony_ci uint64_t u64; 26062306a36Sopenharmony_ci struct cvmx_spxx_int_dat_s { 26162306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 26262306a36Sopenharmony_ci uint64_t reserved_32_63:32; 26362306a36Sopenharmony_ci uint64_t mul:1; 26462306a36Sopenharmony_ci uint64_t reserved_14_30:17; 26562306a36Sopenharmony_ci uint64_t calbnk:2; 26662306a36Sopenharmony_ci uint64_t rsvop:4; 26762306a36Sopenharmony_ci uint64_t prt:8; 26862306a36Sopenharmony_ci#else 26962306a36Sopenharmony_ci uint64_t prt:8; 27062306a36Sopenharmony_ci uint64_t rsvop:4; 27162306a36Sopenharmony_ci uint64_t calbnk:2; 27262306a36Sopenharmony_ci uint64_t reserved_14_30:17; 27362306a36Sopenharmony_ci uint64_t mul:1; 27462306a36Sopenharmony_ci uint64_t reserved_32_63:32; 27562306a36Sopenharmony_ci#endif 27662306a36Sopenharmony_ci } s; 27762306a36Sopenharmony_ci}; 27862306a36Sopenharmony_ci 27962306a36Sopenharmony_ciunion cvmx_spxx_int_msk { 28062306a36Sopenharmony_ci uint64_t u64; 28162306a36Sopenharmony_ci struct cvmx_spxx_int_msk_s { 28262306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 28362306a36Sopenharmony_ci uint64_t reserved_12_63:52; 28462306a36Sopenharmony_ci uint64_t calerr:1; 28562306a36Sopenharmony_ci uint64_t syncerr:1; 28662306a36Sopenharmony_ci uint64_t diperr:1; 28762306a36Sopenharmony_ci uint64_t tpaovr:1; 28862306a36Sopenharmony_ci uint64_t rsverr:1; 28962306a36Sopenharmony_ci uint64_t drwnng:1; 29062306a36Sopenharmony_ci uint64_t clserr:1; 29162306a36Sopenharmony_ci uint64_t spiovr:1; 29262306a36Sopenharmony_ci uint64_t reserved_2_3:2; 29362306a36Sopenharmony_ci uint64_t abnorm:1; 29462306a36Sopenharmony_ci uint64_t prtnxa:1; 29562306a36Sopenharmony_ci#else 29662306a36Sopenharmony_ci uint64_t prtnxa:1; 29762306a36Sopenharmony_ci uint64_t abnorm:1; 29862306a36Sopenharmony_ci uint64_t reserved_2_3:2; 29962306a36Sopenharmony_ci uint64_t spiovr:1; 30062306a36Sopenharmony_ci uint64_t clserr:1; 30162306a36Sopenharmony_ci uint64_t drwnng:1; 30262306a36Sopenharmony_ci uint64_t rsverr:1; 30362306a36Sopenharmony_ci uint64_t tpaovr:1; 30462306a36Sopenharmony_ci uint64_t diperr:1; 30562306a36Sopenharmony_ci uint64_t syncerr:1; 30662306a36Sopenharmony_ci uint64_t calerr:1; 30762306a36Sopenharmony_ci uint64_t reserved_12_63:52; 30862306a36Sopenharmony_ci#endif 30962306a36Sopenharmony_ci } s; 31062306a36Sopenharmony_ci}; 31162306a36Sopenharmony_ci 31262306a36Sopenharmony_ciunion cvmx_spxx_int_reg { 31362306a36Sopenharmony_ci uint64_t u64; 31462306a36Sopenharmony_ci struct cvmx_spxx_int_reg_s { 31562306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 31662306a36Sopenharmony_ci uint64_t reserved_32_63:32; 31762306a36Sopenharmony_ci uint64_t spf:1; 31862306a36Sopenharmony_ci uint64_t reserved_12_30:19; 31962306a36Sopenharmony_ci uint64_t calerr:1; 32062306a36Sopenharmony_ci uint64_t syncerr:1; 32162306a36Sopenharmony_ci uint64_t diperr:1; 32262306a36Sopenharmony_ci uint64_t tpaovr:1; 32362306a36Sopenharmony_ci uint64_t rsverr:1; 32462306a36Sopenharmony_ci uint64_t drwnng:1; 32562306a36Sopenharmony_ci uint64_t clserr:1; 32662306a36Sopenharmony_ci uint64_t spiovr:1; 32762306a36Sopenharmony_ci uint64_t reserved_2_3:2; 32862306a36Sopenharmony_ci uint64_t abnorm:1; 32962306a36Sopenharmony_ci uint64_t prtnxa:1; 33062306a36Sopenharmony_ci#else 33162306a36Sopenharmony_ci uint64_t prtnxa:1; 33262306a36Sopenharmony_ci uint64_t abnorm:1; 33362306a36Sopenharmony_ci uint64_t reserved_2_3:2; 33462306a36Sopenharmony_ci uint64_t spiovr:1; 33562306a36Sopenharmony_ci uint64_t clserr:1; 33662306a36Sopenharmony_ci uint64_t drwnng:1; 33762306a36Sopenharmony_ci uint64_t rsverr:1; 33862306a36Sopenharmony_ci uint64_t tpaovr:1; 33962306a36Sopenharmony_ci uint64_t diperr:1; 34062306a36Sopenharmony_ci uint64_t syncerr:1; 34162306a36Sopenharmony_ci uint64_t calerr:1; 34262306a36Sopenharmony_ci uint64_t reserved_12_30:19; 34362306a36Sopenharmony_ci uint64_t spf:1; 34462306a36Sopenharmony_ci uint64_t reserved_32_63:32; 34562306a36Sopenharmony_ci#endif 34662306a36Sopenharmony_ci } s; 34762306a36Sopenharmony_ci}; 34862306a36Sopenharmony_ci 34962306a36Sopenharmony_ciunion cvmx_spxx_int_sync { 35062306a36Sopenharmony_ci uint64_t u64; 35162306a36Sopenharmony_ci struct cvmx_spxx_int_sync_s { 35262306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 35362306a36Sopenharmony_ci uint64_t reserved_12_63:52; 35462306a36Sopenharmony_ci uint64_t calerr:1; 35562306a36Sopenharmony_ci uint64_t syncerr:1; 35662306a36Sopenharmony_ci uint64_t diperr:1; 35762306a36Sopenharmony_ci uint64_t tpaovr:1; 35862306a36Sopenharmony_ci uint64_t rsverr:1; 35962306a36Sopenharmony_ci uint64_t drwnng:1; 36062306a36Sopenharmony_ci uint64_t clserr:1; 36162306a36Sopenharmony_ci uint64_t spiovr:1; 36262306a36Sopenharmony_ci uint64_t reserved_2_3:2; 36362306a36Sopenharmony_ci uint64_t abnorm:1; 36462306a36Sopenharmony_ci uint64_t prtnxa:1; 36562306a36Sopenharmony_ci#else 36662306a36Sopenharmony_ci uint64_t prtnxa:1; 36762306a36Sopenharmony_ci uint64_t abnorm:1; 36862306a36Sopenharmony_ci uint64_t reserved_2_3:2; 36962306a36Sopenharmony_ci uint64_t spiovr:1; 37062306a36Sopenharmony_ci uint64_t clserr:1; 37162306a36Sopenharmony_ci uint64_t drwnng:1; 37262306a36Sopenharmony_ci uint64_t rsverr:1; 37362306a36Sopenharmony_ci uint64_t tpaovr:1; 37462306a36Sopenharmony_ci uint64_t diperr:1; 37562306a36Sopenharmony_ci uint64_t syncerr:1; 37662306a36Sopenharmony_ci uint64_t calerr:1; 37762306a36Sopenharmony_ci uint64_t reserved_12_63:52; 37862306a36Sopenharmony_ci#endif 37962306a36Sopenharmony_ci } s; 38062306a36Sopenharmony_ci}; 38162306a36Sopenharmony_ci 38262306a36Sopenharmony_ciunion cvmx_spxx_tpa_acc { 38362306a36Sopenharmony_ci uint64_t u64; 38462306a36Sopenharmony_ci struct cvmx_spxx_tpa_acc_s { 38562306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 38662306a36Sopenharmony_ci uint64_t reserved_32_63:32; 38762306a36Sopenharmony_ci uint64_t cnt:32; 38862306a36Sopenharmony_ci#else 38962306a36Sopenharmony_ci uint64_t cnt:32; 39062306a36Sopenharmony_ci uint64_t reserved_32_63:32; 39162306a36Sopenharmony_ci#endif 39262306a36Sopenharmony_ci } s; 39362306a36Sopenharmony_ci}; 39462306a36Sopenharmony_ci 39562306a36Sopenharmony_ciunion cvmx_spxx_tpa_max { 39662306a36Sopenharmony_ci uint64_t u64; 39762306a36Sopenharmony_ci struct cvmx_spxx_tpa_max_s { 39862306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 39962306a36Sopenharmony_ci uint64_t reserved_32_63:32; 40062306a36Sopenharmony_ci uint64_t max:32; 40162306a36Sopenharmony_ci#else 40262306a36Sopenharmony_ci uint64_t max:32; 40362306a36Sopenharmony_ci uint64_t reserved_32_63:32; 40462306a36Sopenharmony_ci#endif 40562306a36Sopenharmony_ci } s; 40662306a36Sopenharmony_ci}; 40762306a36Sopenharmony_ci 40862306a36Sopenharmony_ciunion cvmx_spxx_tpa_sel { 40962306a36Sopenharmony_ci uint64_t u64; 41062306a36Sopenharmony_ci struct cvmx_spxx_tpa_sel_s { 41162306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 41262306a36Sopenharmony_ci uint64_t reserved_4_63:60; 41362306a36Sopenharmony_ci uint64_t prtsel:4; 41462306a36Sopenharmony_ci#else 41562306a36Sopenharmony_ci uint64_t prtsel:4; 41662306a36Sopenharmony_ci uint64_t reserved_4_63:60; 41762306a36Sopenharmony_ci#endif 41862306a36Sopenharmony_ci } s; 41962306a36Sopenharmony_ci}; 42062306a36Sopenharmony_ci 42162306a36Sopenharmony_ciunion cvmx_spxx_trn4_ctl { 42262306a36Sopenharmony_ci uint64_t u64; 42362306a36Sopenharmony_ci struct cvmx_spxx_trn4_ctl_s { 42462306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 42562306a36Sopenharmony_ci uint64_t reserved_13_63:51; 42662306a36Sopenharmony_ci uint64_t trntest:1; 42762306a36Sopenharmony_ci uint64_t jitter:3; 42862306a36Sopenharmony_ci uint64_t clr_boot:1; 42962306a36Sopenharmony_ci uint64_t set_boot:1; 43062306a36Sopenharmony_ci uint64_t maxdist:5; 43162306a36Sopenharmony_ci uint64_t macro_en:1; 43262306a36Sopenharmony_ci uint64_t mux_en:1; 43362306a36Sopenharmony_ci#else 43462306a36Sopenharmony_ci uint64_t mux_en:1; 43562306a36Sopenharmony_ci uint64_t macro_en:1; 43662306a36Sopenharmony_ci uint64_t maxdist:5; 43762306a36Sopenharmony_ci uint64_t set_boot:1; 43862306a36Sopenharmony_ci uint64_t clr_boot:1; 43962306a36Sopenharmony_ci uint64_t jitter:3; 44062306a36Sopenharmony_ci uint64_t trntest:1; 44162306a36Sopenharmony_ci uint64_t reserved_13_63:51; 44262306a36Sopenharmony_ci#endif 44362306a36Sopenharmony_ci } s; 44462306a36Sopenharmony_ci}; 44562306a36Sopenharmony_ci 44662306a36Sopenharmony_ci#endif 447