1af866496SDavid Daney /***********************license start*************** 2af866496SDavid Daney * Author: Cavium Networks 3af866496SDavid Daney * 4af866496SDavid Daney * Contact: support@caviumnetworks.com 5af866496SDavid Daney * This file is part of the OCTEON SDK 6af866496SDavid Daney * 7840267e4SSteven J. Hill * Copyright (C) 2003-2018 Cavium, Inc. 8af866496SDavid Daney * 9af866496SDavid Daney * This file is free software; you can redistribute it and/or modify 10af866496SDavid Daney * it under the terms of the GNU General Public License, Version 2, as 11af866496SDavid Daney * published by the Free Software Foundation. 12af866496SDavid Daney * 13af866496SDavid Daney * This file is distributed in the hope that it will be useful, but 14af866496SDavid Daney * AS-IS and WITHOUT ANY WARRANTY; without even the implied warranty 15af866496SDavid Daney * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE, TITLE, or 16af866496SDavid Daney * NONINFRINGEMENT. See the GNU General Public License for more 17af866496SDavid Daney * details. 18af866496SDavid Daney * 19af866496SDavid Daney * You should have received a copy of the GNU General Public License 20af866496SDavid Daney * along with this file; if not, write to the Free Software 21af866496SDavid Daney * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 22af866496SDavid Daney * or visit http://www.gnu.org/licenses/. 23af866496SDavid Daney * 24af866496SDavid Daney * This file may also be available under a different license from Cavium. 25af866496SDavid Daney * Contact Cavium Networks for more information 26af866496SDavid Daney ***********************license end**************************************/ 27af866496SDavid Daney 28af866496SDavid Daney #ifndef __CVMX_SPXX_DEFS_H__ 29af866496SDavid Daney #define __CVMX_SPXX_DEFS_H__ 30af866496SDavid Daney 31c5aa59e8SDavid Daney #define CVMX_SPXX_BCKPRS_CNT(block_id) (CVMX_ADD_IO_SEG(0x0001180090000340ull) + ((block_id) & 1) * 0x8000000ull) 32c5aa59e8SDavid Daney #define CVMX_SPXX_BIST_STAT(block_id) (CVMX_ADD_IO_SEG(0x00011800900007F8ull) + ((block_id) & 1) * 0x8000000ull) 33c5aa59e8SDavid Daney #define CVMX_SPXX_CLK_CTL(block_id) (CVMX_ADD_IO_SEG(0x0001180090000348ull) + ((block_id) & 1) * 0x8000000ull) 34c5aa59e8SDavid Daney #define CVMX_SPXX_CLK_STAT(block_id) (CVMX_ADD_IO_SEG(0x0001180090000350ull) + ((block_id) & 1) * 0x8000000ull) 35c5aa59e8SDavid Daney #define CVMX_SPXX_DBG_DESKEW_CTL(block_id) (CVMX_ADD_IO_SEG(0x0001180090000368ull) + ((block_id) & 1) * 0x8000000ull) 36c5aa59e8SDavid Daney #define CVMX_SPXX_DBG_DESKEW_STATE(block_id) (CVMX_ADD_IO_SEG(0x0001180090000370ull) + ((block_id) & 1) * 0x8000000ull) 37c5aa59e8SDavid Daney #define CVMX_SPXX_DRV_CTL(block_id) (CVMX_ADD_IO_SEG(0x0001180090000358ull) + ((block_id) & 1) * 0x8000000ull) 38c5aa59e8SDavid Daney #define CVMX_SPXX_ERR_CTL(block_id) (CVMX_ADD_IO_SEG(0x0001180090000320ull) + ((block_id) & 1) * 0x8000000ull) 39c5aa59e8SDavid Daney #define CVMX_SPXX_INT_DAT(block_id) (CVMX_ADD_IO_SEG(0x0001180090000318ull) + ((block_id) & 1) * 0x8000000ull) 40c5aa59e8SDavid Daney #define CVMX_SPXX_INT_MSK(block_id) (CVMX_ADD_IO_SEG(0x0001180090000308ull) + ((block_id) & 1) * 0x8000000ull) 41c5aa59e8SDavid Daney #define CVMX_SPXX_INT_REG(block_id) (CVMX_ADD_IO_SEG(0x0001180090000300ull) + ((block_id) & 1) * 0x8000000ull) 42c5aa59e8SDavid Daney #define CVMX_SPXX_INT_SYNC(block_id) (CVMX_ADD_IO_SEG(0x0001180090000310ull) + ((block_id) & 1) * 0x8000000ull) 43c5aa59e8SDavid Daney #define CVMX_SPXX_TPA_ACC(block_id) (CVMX_ADD_IO_SEG(0x0001180090000338ull) + ((block_id) & 1) * 0x8000000ull) 44c5aa59e8SDavid Daney #define CVMX_SPXX_TPA_MAX(block_id) (CVMX_ADD_IO_SEG(0x0001180090000330ull) + ((block_id) & 1) * 0x8000000ull) 45c5aa59e8SDavid Daney #define CVMX_SPXX_TPA_SEL(block_id) (CVMX_ADD_IO_SEG(0x0001180090000328ull) + ((block_id) & 1) * 0x8000000ull) 46c5aa59e8SDavid Daney #define CVMX_SPXX_TRN4_CTL(block_id) (CVMX_ADD_IO_SEG(0x0001180090000360ull) + ((block_id) & 1) * 0x8000000ull) 47af866496SDavid Daney 48840267e4SSteven J. Hill void __cvmx_interrupt_spxx_int_msk_enable(int index); 49840267e4SSteven J. Hill 50af866496SDavid Daney union cvmx_spxx_bckprs_cnt { 51af866496SDavid Daney uint64_t u64; 52af866496SDavid Daney struct cvmx_spxx_bckprs_cnt_s { 53c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 54af866496SDavid Daney uint64_t reserved_32_63:32; 55af866496SDavid Daney uint64_t cnt:32; 56c5aa59e8SDavid Daney #else 57c5aa59e8SDavid Daney uint64_t cnt:32; 58c5aa59e8SDavid Daney uint64_t reserved_32_63:32; 59c5aa59e8SDavid Daney #endif 60af866496SDavid Daney } s; 61af866496SDavid Daney }; 62af866496SDavid Daney 63af866496SDavid Daney union cvmx_spxx_bist_stat { 64af866496SDavid Daney uint64_t u64; 65af866496SDavid Daney struct cvmx_spxx_bist_stat_s { 66c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 67af866496SDavid Daney uint64_t reserved_3_63:61; 68af866496SDavid Daney uint64_t stat2:1; 69af866496SDavid Daney uint64_t stat1:1; 70af866496SDavid Daney uint64_t stat0:1; 71c5aa59e8SDavid Daney #else 72c5aa59e8SDavid Daney uint64_t stat0:1; 73c5aa59e8SDavid Daney uint64_t stat1:1; 74c5aa59e8SDavid Daney uint64_t stat2:1; 75c5aa59e8SDavid Daney uint64_t reserved_3_63:61; 76c5aa59e8SDavid Daney #endif 77af866496SDavid Daney } s; 78af866496SDavid Daney }; 79af866496SDavid Daney 80af866496SDavid Daney union cvmx_spxx_clk_ctl { 81af866496SDavid Daney uint64_t u64; 82af866496SDavid Daney struct cvmx_spxx_clk_ctl_s { 83c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 84af866496SDavid Daney uint64_t reserved_17_63:47; 85af866496SDavid Daney uint64_t seetrn:1; 86af866496SDavid Daney uint64_t reserved_12_15:4; 87af866496SDavid Daney uint64_t clkdly:5; 88af866496SDavid Daney uint64_t runbist:1; 89af866496SDavid Daney uint64_t statdrv:1; 90af866496SDavid Daney uint64_t statrcv:1; 91af866496SDavid Daney uint64_t sndtrn:1; 92af866496SDavid Daney uint64_t drptrn:1; 93af866496SDavid Daney uint64_t rcvtrn:1; 94af866496SDavid Daney uint64_t srxdlck:1; 95c5aa59e8SDavid Daney #else 96c5aa59e8SDavid Daney uint64_t srxdlck:1; 97c5aa59e8SDavid Daney uint64_t rcvtrn:1; 98c5aa59e8SDavid Daney uint64_t drptrn:1; 99c5aa59e8SDavid Daney uint64_t sndtrn:1; 100c5aa59e8SDavid Daney uint64_t statrcv:1; 101c5aa59e8SDavid Daney uint64_t statdrv:1; 102c5aa59e8SDavid Daney uint64_t runbist:1; 103c5aa59e8SDavid Daney uint64_t clkdly:5; 104c5aa59e8SDavid Daney uint64_t reserved_12_15:4; 105c5aa59e8SDavid Daney uint64_t seetrn:1; 106c5aa59e8SDavid Daney uint64_t reserved_17_63:47; 107c5aa59e8SDavid Daney #endif 108af866496SDavid Daney } s; 109af866496SDavid Daney }; 110af866496SDavid Daney 111af866496SDavid Daney union cvmx_spxx_clk_stat { 112af866496SDavid Daney uint64_t u64; 113af866496SDavid Daney struct cvmx_spxx_clk_stat_s { 114c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 115af866496SDavid Daney uint64_t reserved_11_63:53; 116af866496SDavid Daney uint64_t stxcal:1; 117af866496SDavid Daney uint64_t reserved_9_9:1; 118af866496SDavid Daney uint64_t srxtrn:1; 119af866496SDavid Daney uint64_t s4clk1:1; 120af866496SDavid Daney uint64_t s4clk0:1; 121af866496SDavid Daney uint64_t d4clk1:1; 122af866496SDavid Daney uint64_t d4clk0:1; 123af866496SDavid Daney uint64_t reserved_0_3:4; 124c5aa59e8SDavid Daney #else 125c5aa59e8SDavid Daney uint64_t reserved_0_3:4; 126c5aa59e8SDavid Daney uint64_t d4clk0:1; 127c5aa59e8SDavid Daney uint64_t d4clk1:1; 128c5aa59e8SDavid Daney uint64_t s4clk0:1; 129c5aa59e8SDavid Daney uint64_t s4clk1:1; 130c5aa59e8SDavid Daney uint64_t srxtrn:1; 131c5aa59e8SDavid Daney uint64_t reserved_9_9:1; 132c5aa59e8SDavid Daney uint64_t stxcal:1; 133c5aa59e8SDavid Daney uint64_t reserved_11_63:53; 134c5aa59e8SDavid Daney #endif 135af866496SDavid Daney } s; 136af866496SDavid Daney }; 137af866496SDavid Daney 138af866496SDavid Daney union cvmx_spxx_dbg_deskew_ctl { 139af866496SDavid Daney uint64_t u64; 140af866496SDavid Daney struct cvmx_spxx_dbg_deskew_ctl_s { 141c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 142af866496SDavid Daney uint64_t reserved_30_63:34; 143af866496SDavid Daney uint64_t fallnop:1; 144af866496SDavid Daney uint64_t fall8:1; 145af866496SDavid Daney uint64_t reserved_26_27:2; 146af866496SDavid Daney uint64_t sstep_go:1; 147af866496SDavid Daney uint64_t sstep:1; 148af866496SDavid Daney uint64_t reserved_22_23:2; 149af866496SDavid Daney uint64_t clrdly:1; 150af866496SDavid Daney uint64_t dec:1; 151af866496SDavid Daney uint64_t inc:1; 152af866496SDavid Daney uint64_t mux:1; 153af866496SDavid Daney uint64_t offset:5; 154af866496SDavid Daney uint64_t bitsel:5; 155af866496SDavid Daney uint64_t offdly:6; 156af866496SDavid Daney uint64_t dllfrc:1; 157af866496SDavid Daney uint64_t dlldis:1; 158c5aa59e8SDavid Daney #else 159c5aa59e8SDavid Daney uint64_t dlldis:1; 160c5aa59e8SDavid Daney uint64_t dllfrc:1; 161c5aa59e8SDavid Daney uint64_t offdly:6; 162c5aa59e8SDavid Daney uint64_t bitsel:5; 163c5aa59e8SDavid Daney uint64_t offset:5; 164c5aa59e8SDavid Daney uint64_t mux:1; 165c5aa59e8SDavid Daney uint64_t inc:1; 166c5aa59e8SDavid Daney uint64_t dec:1; 167c5aa59e8SDavid Daney uint64_t clrdly:1; 168c5aa59e8SDavid Daney uint64_t reserved_22_23:2; 169c5aa59e8SDavid Daney uint64_t sstep:1; 170c5aa59e8SDavid Daney uint64_t sstep_go:1; 171c5aa59e8SDavid Daney uint64_t reserved_26_27:2; 172c5aa59e8SDavid Daney uint64_t fall8:1; 173c5aa59e8SDavid Daney uint64_t fallnop:1; 174c5aa59e8SDavid Daney uint64_t reserved_30_63:34; 175c5aa59e8SDavid Daney #endif 176af866496SDavid Daney } s; 177af866496SDavid Daney }; 178af866496SDavid Daney 179af866496SDavid Daney union cvmx_spxx_dbg_deskew_state { 180af866496SDavid Daney uint64_t u64; 181af866496SDavid Daney struct cvmx_spxx_dbg_deskew_state_s { 182c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 183af866496SDavid Daney uint64_t reserved_9_63:55; 184af866496SDavid Daney uint64_t testres:1; 185af866496SDavid Daney uint64_t unxterm:1; 186af866496SDavid Daney uint64_t muxsel:2; 187af866496SDavid Daney uint64_t offset:5; 188c5aa59e8SDavid Daney #else 189c5aa59e8SDavid Daney uint64_t offset:5; 190c5aa59e8SDavid Daney uint64_t muxsel:2; 191c5aa59e8SDavid Daney uint64_t unxterm:1; 192c5aa59e8SDavid Daney uint64_t testres:1; 193c5aa59e8SDavid Daney uint64_t reserved_9_63:55; 194c5aa59e8SDavid Daney #endif 195af866496SDavid Daney } s; 196af866496SDavid Daney }; 197af866496SDavid Daney 198af866496SDavid Daney union cvmx_spxx_drv_ctl { 199af866496SDavid Daney uint64_t u64; 200af866496SDavid Daney struct cvmx_spxx_drv_ctl_s { 201c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 202af866496SDavid Daney uint64_t reserved_0_63:64; 203c5aa59e8SDavid Daney #else 204c5aa59e8SDavid Daney uint64_t reserved_0_63:64; 205c5aa59e8SDavid Daney #endif 206af866496SDavid Daney } s; 207af866496SDavid Daney struct cvmx_spxx_drv_ctl_cn38xx { 208c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 209af866496SDavid Daney uint64_t reserved_16_63:48; 210af866496SDavid Daney uint64_t stx4ncmp:4; 211af866496SDavid Daney uint64_t stx4pcmp:4; 212af866496SDavid Daney uint64_t srx4cmp:8; 213c5aa59e8SDavid Daney #else 214c5aa59e8SDavid Daney uint64_t srx4cmp:8; 215c5aa59e8SDavid Daney uint64_t stx4pcmp:4; 216c5aa59e8SDavid Daney uint64_t stx4ncmp:4; 217c5aa59e8SDavid Daney uint64_t reserved_16_63:48; 218c5aa59e8SDavid Daney #endif 219af866496SDavid Daney } cn38xx; 220af866496SDavid Daney struct cvmx_spxx_drv_ctl_cn58xx { 221c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 222af866496SDavid Daney uint64_t reserved_24_63:40; 223af866496SDavid Daney uint64_t stx4ncmp:4; 224af866496SDavid Daney uint64_t stx4pcmp:4; 225af866496SDavid Daney uint64_t reserved_10_15:6; 226af866496SDavid Daney uint64_t srx4cmp:10; 227c5aa59e8SDavid Daney #else 228c5aa59e8SDavid Daney uint64_t srx4cmp:10; 229c5aa59e8SDavid Daney uint64_t reserved_10_15:6; 230c5aa59e8SDavid Daney uint64_t stx4pcmp:4; 231c5aa59e8SDavid Daney uint64_t stx4ncmp:4; 232c5aa59e8SDavid Daney uint64_t reserved_24_63:40; 233c5aa59e8SDavid Daney #endif 234af866496SDavid Daney } cn58xx; 235af866496SDavid Daney }; 236af866496SDavid Daney 237af866496SDavid Daney union cvmx_spxx_err_ctl { 238af866496SDavid Daney uint64_t u64; 239af866496SDavid Daney struct cvmx_spxx_err_ctl_s { 240c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 241af866496SDavid Daney uint64_t reserved_9_63:55; 242af866496SDavid Daney uint64_t prtnxa:1; 243af866496SDavid Daney uint64_t dipcls:1; 244af866496SDavid Daney uint64_t dippay:1; 245af866496SDavid Daney uint64_t reserved_4_5:2; 246af866496SDavid Daney uint64_t errcnt:4; 247c5aa59e8SDavid Daney #else 248c5aa59e8SDavid Daney uint64_t errcnt:4; 249c5aa59e8SDavid Daney uint64_t reserved_4_5:2; 250c5aa59e8SDavid Daney uint64_t dippay:1; 251c5aa59e8SDavid Daney uint64_t dipcls:1; 252c5aa59e8SDavid Daney uint64_t prtnxa:1; 253c5aa59e8SDavid Daney uint64_t reserved_9_63:55; 254c5aa59e8SDavid Daney #endif 255af866496SDavid Daney } s; 256af866496SDavid Daney }; 257af866496SDavid Daney 258af866496SDavid Daney union cvmx_spxx_int_dat { 259af866496SDavid Daney uint64_t u64; 260af866496SDavid Daney struct cvmx_spxx_int_dat_s { 261c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 262af866496SDavid Daney uint64_t reserved_32_63:32; 263af866496SDavid Daney uint64_t mul:1; 264af866496SDavid Daney uint64_t reserved_14_30:17; 265af866496SDavid Daney uint64_t calbnk:2; 266af866496SDavid Daney uint64_t rsvop:4; 267af866496SDavid Daney uint64_t prt:8; 268c5aa59e8SDavid Daney #else 269c5aa59e8SDavid Daney uint64_t prt:8; 270c5aa59e8SDavid Daney uint64_t rsvop:4; 271c5aa59e8SDavid Daney uint64_t calbnk:2; 272c5aa59e8SDavid Daney uint64_t reserved_14_30:17; 273c5aa59e8SDavid Daney uint64_t mul:1; 274c5aa59e8SDavid Daney uint64_t reserved_32_63:32; 275c5aa59e8SDavid Daney #endif 276af866496SDavid Daney } s; 277af866496SDavid Daney }; 278af866496SDavid Daney 279af866496SDavid Daney union cvmx_spxx_int_msk { 280af866496SDavid Daney uint64_t u64; 281af866496SDavid Daney struct cvmx_spxx_int_msk_s { 282c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 283af866496SDavid Daney uint64_t reserved_12_63:52; 284af866496SDavid Daney uint64_t calerr:1; 285af866496SDavid Daney uint64_t syncerr:1; 286af866496SDavid Daney uint64_t diperr:1; 287af866496SDavid Daney uint64_t tpaovr:1; 288af866496SDavid Daney uint64_t rsverr:1; 289af866496SDavid Daney uint64_t drwnng:1; 290af866496SDavid Daney uint64_t clserr:1; 291af866496SDavid Daney uint64_t spiovr:1; 292af866496SDavid Daney uint64_t reserved_2_3:2; 293af866496SDavid Daney uint64_t abnorm:1; 294af866496SDavid Daney uint64_t prtnxa:1; 295c5aa59e8SDavid Daney #else 296c5aa59e8SDavid Daney uint64_t prtnxa:1; 297c5aa59e8SDavid Daney uint64_t abnorm:1; 298c5aa59e8SDavid Daney uint64_t reserved_2_3:2; 299c5aa59e8SDavid Daney uint64_t spiovr:1; 300c5aa59e8SDavid Daney uint64_t clserr:1; 301c5aa59e8SDavid Daney uint64_t drwnng:1; 302c5aa59e8SDavid Daney uint64_t rsverr:1; 303c5aa59e8SDavid Daney uint64_t tpaovr:1; 304c5aa59e8SDavid Daney uint64_t diperr:1; 305c5aa59e8SDavid Daney uint64_t syncerr:1; 306c5aa59e8SDavid Daney uint64_t calerr:1; 307c5aa59e8SDavid Daney uint64_t reserved_12_63:52; 308c5aa59e8SDavid Daney #endif 309af866496SDavid Daney } s; 310af866496SDavid Daney }; 311af866496SDavid Daney 312af866496SDavid Daney union cvmx_spxx_int_reg { 313af866496SDavid Daney uint64_t u64; 314af866496SDavid Daney struct cvmx_spxx_int_reg_s { 315c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 316af866496SDavid Daney uint64_t reserved_32_63:32; 317af866496SDavid Daney uint64_t spf:1; 318af866496SDavid Daney uint64_t reserved_12_30:19; 319af866496SDavid Daney uint64_t calerr:1; 320af866496SDavid Daney uint64_t syncerr:1; 321af866496SDavid Daney uint64_t diperr:1; 322af866496SDavid Daney uint64_t tpaovr:1; 323af866496SDavid Daney uint64_t rsverr:1; 324af866496SDavid Daney uint64_t drwnng:1; 325af866496SDavid Daney uint64_t clserr:1; 326af866496SDavid Daney uint64_t spiovr:1; 327af866496SDavid Daney uint64_t reserved_2_3:2; 328af866496SDavid Daney uint64_t abnorm:1; 329af866496SDavid Daney uint64_t prtnxa:1; 330c5aa59e8SDavid Daney #else 331c5aa59e8SDavid Daney uint64_t prtnxa:1; 332c5aa59e8SDavid Daney uint64_t abnorm:1; 333c5aa59e8SDavid Daney uint64_t reserved_2_3:2; 334c5aa59e8SDavid Daney uint64_t spiovr:1; 335c5aa59e8SDavid Daney uint64_t clserr:1; 336c5aa59e8SDavid Daney uint64_t drwnng:1; 337c5aa59e8SDavid Daney uint64_t rsverr:1; 338c5aa59e8SDavid Daney uint64_t tpaovr:1; 339c5aa59e8SDavid Daney uint64_t diperr:1; 340c5aa59e8SDavid Daney uint64_t syncerr:1; 341c5aa59e8SDavid Daney uint64_t calerr:1; 342c5aa59e8SDavid Daney uint64_t reserved_12_30:19; 343c5aa59e8SDavid Daney uint64_t spf:1; 344c5aa59e8SDavid Daney uint64_t reserved_32_63:32; 345c5aa59e8SDavid Daney #endif 346af866496SDavid Daney } s; 347af866496SDavid Daney }; 348af866496SDavid Daney 349af866496SDavid Daney union cvmx_spxx_int_sync { 350af866496SDavid Daney uint64_t u64; 351af866496SDavid Daney struct cvmx_spxx_int_sync_s { 352c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 353af866496SDavid Daney uint64_t reserved_12_63:52; 354af866496SDavid Daney uint64_t calerr:1; 355af866496SDavid Daney uint64_t syncerr:1; 356af866496SDavid Daney uint64_t diperr:1; 357af866496SDavid Daney uint64_t tpaovr:1; 358af866496SDavid Daney uint64_t rsverr:1; 359af866496SDavid Daney uint64_t drwnng:1; 360af866496SDavid Daney uint64_t clserr:1; 361af866496SDavid Daney uint64_t spiovr:1; 362af866496SDavid Daney uint64_t reserved_2_3:2; 363af866496SDavid Daney uint64_t abnorm:1; 364af866496SDavid Daney uint64_t prtnxa:1; 365c5aa59e8SDavid Daney #else 366c5aa59e8SDavid Daney uint64_t prtnxa:1; 367c5aa59e8SDavid Daney uint64_t abnorm:1; 368c5aa59e8SDavid Daney uint64_t reserved_2_3:2; 369c5aa59e8SDavid Daney uint64_t spiovr:1; 370c5aa59e8SDavid Daney uint64_t clserr:1; 371c5aa59e8SDavid Daney uint64_t drwnng:1; 372c5aa59e8SDavid Daney uint64_t rsverr:1; 373c5aa59e8SDavid Daney uint64_t tpaovr:1; 374c5aa59e8SDavid Daney uint64_t diperr:1; 375c5aa59e8SDavid Daney uint64_t syncerr:1; 376c5aa59e8SDavid Daney uint64_t calerr:1; 377c5aa59e8SDavid Daney uint64_t reserved_12_63:52; 378c5aa59e8SDavid Daney #endif 379af866496SDavid Daney } s; 380af866496SDavid Daney }; 381af866496SDavid Daney 382af866496SDavid Daney union cvmx_spxx_tpa_acc { 383af866496SDavid Daney uint64_t u64; 384af866496SDavid Daney struct cvmx_spxx_tpa_acc_s { 385c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 386af866496SDavid Daney uint64_t reserved_32_63:32; 387af866496SDavid Daney uint64_t cnt:32; 388c5aa59e8SDavid Daney #else 389c5aa59e8SDavid Daney uint64_t cnt:32; 390c5aa59e8SDavid Daney uint64_t reserved_32_63:32; 391c5aa59e8SDavid Daney #endif 392af866496SDavid Daney } s; 393af866496SDavid Daney }; 394af866496SDavid Daney 395af866496SDavid Daney union cvmx_spxx_tpa_max { 396af866496SDavid Daney uint64_t u64; 397af866496SDavid Daney struct cvmx_spxx_tpa_max_s { 398c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 399af866496SDavid Daney uint64_t reserved_32_63:32; 400af866496SDavid Daney uint64_t max:32; 401c5aa59e8SDavid Daney #else 402c5aa59e8SDavid Daney uint64_t max:32; 403c5aa59e8SDavid Daney uint64_t reserved_32_63:32; 404c5aa59e8SDavid Daney #endif 405af866496SDavid Daney } s; 406af866496SDavid Daney }; 407af866496SDavid Daney 408af866496SDavid Daney union cvmx_spxx_tpa_sel { 409af866496SDavid Daney uint64_t u64; 410af866496SDavid Daney struct cvmx_spxx_tpa_sel_s { 411c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 412af866496SDavid Daney uint64_t reserved_4_63:60; 413af866496SDavid Daney uint64_t prtsel:4; 414c5aa59e8SDavid Daney #else 415c5aa59e8SDavid Daney uint64_t prtsel:4; 416c5aa59e8SDavid Daney uint64_t reserved_4_63:60; 417c5aa59e8SDavid Daney #endif 418af866496SDavid Daney } s; 419af866496SDavid Daney }; 420af866496SDavid Daney 421af866496SDavid Daney union cvmx_spxx_trn4_ctl { 422af866496SDavid Daney uint64_t u64; 423af866496SDavid Daney struct cvmx_spxx_trn4_ctl_s { 424c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 425af866496SDavid Daney uint64_t reserved_13_63:51; 426af866496SDavid Daney uint64_t trntest:1; 427af866496SDavid Daney uint64_t jitter:3; 428af866496SDavid Daney uint64_t clr_boot:1; 429af866496SDavid Daney uint64_t set_boot:1; 430af866496SDavid Daney uint64_t maxdist:5; 431af866496SDavid Daney uint64_t macro_en:1; 432af866496SDavid Daney uint64_t mux_en:1; 433c5aa59e8SDavid Daney #else 434c5aa59e8SDavid Daney uint64_t mux_en:1; 435c5aa59e8SDavid Daney uint64_t macro_en:1; 436c5aa59e8SDavid Daney uint64_t maxdist:5; 437c5aa59e8SDavid Daney uint64_t set_boot:1; 438c5aa59e8SDavid Daney uint64_t clr_boot:1; 439c5aa59e8SDavid Daney uint64_t jitter:3; 440c5aa59e8SDavid Daney uint64_t trntest:1; 441c5aa59e8SDavid Daney uint64_t reserved_13_63:51; 442c5aa59e8SDavid Daney #endif 443af866496SDavid Daney } s; 444af866496SDavid Daney }; 445af866496SDavid Daney 446af866496SDavid Daney #endif 447