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