cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

cvmx-pow-defs.h (22571B)


      1/***********************license start***************
      2 * Author: Cavium Networks
      3 *
      4 * Contact: support@caviumnetworks.com
      5 * This file is part of the OCTEON SDK
      6 *
      7 * Copyright (c) 2003-2012 Cavium Networks
      8 *
      9 * This file is free software; you can redistribute it and/or modify
     10 * it under the terms of the GNU General Public License, Version 2, as
     11 * published by the Free Software Foundation.
     12 *
     13 * This file is distributed in the hope that it will be useful, but
     14 * AS-IS and WITHOUT ANY WARRANTY; without even the implied warranty
     15 * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE, TITLE, or
     16 * NONINFRINGEMENT.  See the GNU General Public License for more
     17 * details.
     18 *
     19 * You should have received a copy of the GNU General Public License
     20 * along with this file; if not, write to the Free Software
     21 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
     22 * or visit http://www.gnu.org/licenses/.
     23 *
     24 * This file may also be available under a different license from Cavium.
     25 * Contact Cavium Networks for more information
     26 ***********************license end**************************************/
     27
     28#ifndef __CVMX_POW_DEFS_H__
     29#define __CVMX_POW_DEFS_H__
     30
     31#define CVMX_POW_BIST_STAT (CVMX_ADD_IO_SEG(0x00016700000003F8ull))
     32#define CVMX_POW_DS_PC (CVMX_ADD_IO_SEG(0x0001670000000398ull))
     33#define CVMX_POW_ECC_ERR (CVMX_ADD_IO_SEG(0x0001670000000218ull))
     34#define CVMX_POW_INT_CTL (CVMX_ADD_IO_SEG(0x0001670000000220ull))
     35#define CVMX_POW_IQ_CNTX(offset) (CVMX_ADD_IO_SEG(0x0001670000000340ull) + ((offset) & 7) * 8)
     36#define CVMX_POW_IQ_COM_CNT (CVMX_ADD_IO_SEG(0x0001670000000388ull))
     37#define CVMX_POW_IQ_INT (CVMX_ADD_IO_SEG(0x0001670000000238ull))
     38#define CVMX_POW_IQ_INT_EN (CVMX_ADD_IO_SEG(0x0001670000000240ull))
     39#define CVMX_POW_IQ_THRX(offset) (CVMX_ADD_IO_SEG(0x00016700000003A0ull) + ((offset) & 7) * 8)
     40#define CVMX_POW_NOS_CNT (CVMX_ADD_IO_SEG(0x0001670000000228ull))
     41#define CVMX_POW_NW_TIM (CVMX_ADD_IO_SEG(0x0001670000000210ull))
     42#define CVMX_POW_PF_RST_MSK (CVMX_ADD_IO_SEG(0x0001670000000230ull))
     43#define CVMX_POW_PP_GRP_MSKX(offset) (CVMX_ADD_IO_SEG(0x0001670000000000ull) + ((offset) & 15) * 8)
     44#define CVMX_POW_QOS_RNDX(offset) (CVMX_ADD_IO_SEG(0x00016700000001C0ull) + ((offset) & 7) * 8)
     45#define CVMX_POW_QOS_THRX(offset) (CVMX_ADD_IO_SEG(0x0001670000000180ull) + ((offset) & 7) * 8)
     46#define CVMX_POW_TS_PC (CVMX_ADD_IO_SEG(0x0001670000000390ull))
     47#define CVMX_POW_WA_COM_PC (CVMX_ADD_IO_SEG(0x0001670000000380ull))
     48#define CVMX_POW_WA_PCX(offset) (CVMX_ADD_IO_SEG(0x0001670000000300ull) + ((offset) & 7) * 8)
     49#define CVMX_POW_WQ_INT (CVMX_ADD_IO_SEG(0x0001670000000200ull))
     50#define CVMX_POW_WQ_INT_CNTX(offset) (CVMX_ADD_IO_SEG(0x0001670000000100ull) + ((offset) & 15) * 8)
     51#define CVMX_POW_WQ_INT_PC (CVMX_ADD_IO_SEG(0x0001670000000208ull))
     52#define CVMX_POW_WQ_INT_THRX(offset) (CVMX_ADD_IO_SEG(0x0001670000000080ull) + ((offset) & 15) * 8)
     53#define CVMX_POW_WS_PCX(offset) (CVMX_ADD_IO_SEG(0x0001670000000280ull) + ((offset) & 15) * 8)
     54
     55#define CVMX_SSO_WQ_INT (CVMX_ADD_IO_SEG(0x0001670000001000ull))
     56#define CVMX_SSO_WQ_IQ_DIS (CVMX_ADD_IO_SEG(0x0001670000001010ull))
     57#define CVMX_SSO_WQ_INT_PC (CVMX_ADD_IO_SEG(0x0001670000001020ull))
     58#define CVMX_SSO_PPX_GRP_MSK(offset) (CVMX_ADD_IO_SEG(0x0001670000006000ull) + ((offset) & 31) * 8)
     59#define CVMX_SSO_WQ_INT_THRX(offset) (CVMX_ADD_IO_SEG(0x0001670000007000ull) + ((offset) & 63) * 8)
     60
     61union cvmx_pow_bist_stat {
     62	uint64_t u64;
     63	struct cvmx_pow_bist_stat_s {
     64#ifdef __BIG_ENDIAN_BITFIELD
     65		uint64_t reserved_32_63:32;
     66		uint64_t pp:16;
     67		uint64_t reserved_0_15:16;
     68#else
     69		uint64_t reserved_0_15:16;
     70		uint64_t pp:16;
     71		uint64_t reserved_32_63:32;
     72#endif
     73	} s;
     74	struct cvmx_pow_bist_stat_cn30xx {
     75#ifdef __BIG_ENDIAN_BITFIELD
     76		uint64_t reserved_17_63:47;
     77		uint64_t pp:1;
     78		uint64_t reserved_9_15:7;
     79		uint64_t cam:1;
     80		uint64_t nbt1:1;
     81		uint64_t nbt0:1;
     82		uint64_t index:1;
     83		uint64_t fidx:1;
     84		uint64_t nbr1:1;
     85		uint64_t nbr0:1;
     86		uint64_t pend:1;
     87		uint64_t adr:1;
     88#else
     89		uint64_t adr:1;
     90		uint64_t pend:1;
     91		uint64_t nbr0:1;
     92		uint64_t nbr1:1;
     93		uint64_t fidx:1;
     94		uint64_t index:1;
     95		uint64_t nbt0:1;
     96		uint64_t nbt1:1;
     97		uint64_t cam:1;
     98		uint64_t reserved_9_15:7;
     99		uint64_t pp:1;
    100		uint64_t reserved_17_63:47;
    101#endif
    102	} cn30xx;
    103	struct cvmx_pow_bist_stat_cn31xx {
    104#ifdef __BIG_ENDIAN_BITFIELD
    105		uint64_t reserved_18_63:46;
    106		uint64_t pp:2;
    107		uint64_t reserved_9_15:7;
    108		uint64_t cam:1;
    109		uint64_t nbt1:1;
    110		uint64_t nbt0:1;
    111		uint64_t index:1;
    112		uint64_t fidx:1;
    113		uint64_t nbr1:1;
    114		uint64_t nbr0:1;
    115		uint64_t pend:1;
    116		uint64_t adr:1;
    117#else
    118		uint64_t adr:1;
    119		uint64_t pend:1;
    120		uint64_t nbr0:1;
    121		uint64_t nbr1:1;
    122		uint64_t fidx:1;
    123		uint64_t index:1;
    124		uint64_t nbt0:1;
    125		uint64_t nbt1:1;
    126		uint64_t cam:1;
    127		uint64_t reserved_9_15:7;
    128		uint64_t pp:2;
    129		uint64_t reserved_18_63:46;
    130#endif
    131	} cn31xx;
    132	struct cvmx_pow_bist_stat_cn38xx {
    133#ifdef __BIG_ENDIAN_BITFIELD
    134		uint64_t reserved_32_63:32;
    135		uint64_t pp:16;
    136		uint64_t reserved_10_15:6;
    137		uint64_t cam:1;
    138		uint64_t nbt:1;
    139		uint64_t index:1;
    140		uint64_t fidx:1;
    141		uint64_t nbr1:1;
    142		uint64_t nbr0:1;
    143		uint64_t pend1:1;
    144		uint64_t pend0:1;
    145		uint64_t adr1:1;
    146		uint64_t adr0:1;
    147#else
    148		uint64_t adr0:1;
    149		uint64_t adr1:1;
    150		uint64_t pend0:1;
    151		uint64_t pend1:1;
    152		uint64_t nbr0:1;
    153		uint64_t nbr1:1;
    154		uint64_t fidx:1;
    155		uint64_t index:1;
    156		uint64_t nbt:1;
    157		uint64_t cam:1;
    158		uint64_t reserved_10_15:6;
    159		uint64_t pp:16;
    160		uint64_t reserved_32_63:32;
    161#endif
    162	} cn38xx;
    163	struct cvmx_pow_bist_stat_cn52xx {
    164#ifdef __BIG_ENDIAN_BITFIELD
    165		uint64_t reserved_20_63:44;
    166		uint64_t pp:4;
    167		uint64_t reserved_9_15:7;
    168		uint64_t cam:1;
    169		uint64_t nbt1:1;
    170		uint64_t nbt0:1;
    171		uint64_t index:1;
    172		uint64_t fidx:1;
    173		uint64_t nbr1:1;
    174		uint64_t nbr0:1;
    175		uint64_t pend:1;
    176		uint64_t adr:1;
    177#else
    178		uint64_t adr:1;
    179		uint64_t pend:1;
    180		uint64_t nbr0:1;
    181		uint64_t nbr1:1;
    182		uint64_t fidx:1;
    183		uint64_t index:1;
    184		uint64_t nbt0:1;
    185		uint64_t nbt1:1;
    186		uint64_t cam:1;
    187		uint64_t reserved_9_15:7;
    188		uint64_t pp:4;
    189		uint64_t reserved_20_63:44;
    190#endif
    191	} cn52xx;
    192	struct cvmx_pow_bist_stat_cn56xx {
    193#ifdef __BIG_ENDIAN_BITFIELD
    194		uint64_t reserved_28_63:36;
    195		uint64_t pp:12;
    196		uint64_t reserved_10_15:6;
    197		uint64_t cam:1;
    198		uint64_t nbt:1;
    199		uint64_t index:1;
    200		uint64_t fidx:1;
    201		uint64_t nbr1:1;
    202		uint64_t nbr0:1;
    203		uint64_t pend1:1;
    204		uint64_t pend0:1;
    205		uint64_t adr1:1;
    206		uint64_t adr0:1;
    207#else
    208		uint64_t adr0:1;
    209		uint64_t adr1:1;
    210		uint64_t pend0:1;
    211		uint64_t pend1:1;
    212		uint64_t nbr0:1;
    213		uint64_t nbr1:1;
    214		uint64_t fidx:1;
    215		uint64_t index:1;
    216		uint64_t nbt:1;
    217		uint64_t cam:1;
    218		uint64_t reserved_10_15:6;
    219		uint64_t pp:12;
    220		uint64_t reserved_28_63:36;
    221#endif
    222	} cn56xx;
    223	struct cvmx_pow_bist_stat_cn61xx {
    224#ifdef __BIG_ENDIAN_BITFIELD
    225		uint64_t reserved_20_63:44;
    226		uint64_t pp:4;
    227		uint64_t reserved_12_15:4;
    228		uint64_t cam:1;
    229		uint64_t nbr:3;
    230		uint64_t nbt:4;
    231		uint64_t index:1;
    232		uint64_t fidx:1;
    233		uint64_t pend:1;
    234		uint64_t adr:1;
    235#else
    236		uint64_t adr:1;
    237		uint64_t pend:1;
    238		uint64_t fidx:1;
    239		uint64_t index:1;
    240		uint64_t nbt:4;
    241		uint64_t nbr:3;
    242		uint64_t cam:1;
    243		uint64_t reserved_12_15:4;
    244		uint64_t pp:4;
    245		uint64_t reserved_20_63:44;
    246#endif
    247	} cn61xx;
    248	struct cvmx_pow_bist_stat_cn63xx {
    249#ifdef __BIG_ENDIAN_BITFIELD
    250		uint64_t reserved_22_63:42;
    251		uint64_t pp:6;
    252		uint64_t reserved_12_15:4;
    253		uint64_t cam:1;
    254		uint64_t nbr:3;
    255		uint64_t nbt:4;
    256		uint64_t index:1;
    257		uint64_t fidx:1;
    258		uint64_t pend:1;
    259		uint64_t adr:1;
    260#else
    261		uint64_t adr:1;
    262		uint64_t pend:1;
    263		uint64_t fidx:1;
    264		uint64_t index:1;
    265		uint64_t nbt:4;
    266		uint64_t nbr:3;
    267		uint64_t cam:1;
    268		uint64_t reserved_12_15:4;
    269		uint64_t pp:6;
    270		uint64_t reserved_22_63:42;
    271#endif
    272	} cn63xx;
    273	struct cvmx_pow_bist_stat_cn66xx {
    274#ifdef __BIG_ENDIAN_BITFIELD
    275		uint64_t reserved_26_63:38;
    276		uint64_t pp:10;
    277		uint64_t reserved_12_15:4;
    278		uint64_t cam:1;
    279		uint64_t nbr:3;
    280		uint64_t nbt:4;
    281		uint64_t index:1;
    282		uint64_t fidx:1;
    283		uint64_t pend:1;
    284		uint64_t adr:1;
    285#else
    286		uint64_t adr:1;
    287		uint64_t pend:1;
    288		uint64_t fidx:1;
    289		uint64_t index:1;
    290		uint64_t nbt:4;
    291		uint64_t nbr:3;
    292		uint64_t cam:1;
    293		uint64_t reserved_12_15:4;
    294		uint64_t pp:10;
    295		uint64_t reserved_26_63:38;
    296#endif
    297	} cn66xx;
    298};
    299
    300union cvmx_pow_ds_pc {
    301	uint64_t u64;
    302	struct cvmx_pow_ds_pc_s {
    303#ifdef __BIG_ENDIAN_BITFIELD
    304		uint64_t reserved_32_63:32;
    305		uint64_t ds_pc:32;
    306#else
    307		uint64_t ds_pc:32;
    308		uint64_t reserved_32_63:32;
    309#endif
    310	} s;
    311};
    312
    313union cvmx_pow_ecc_err {
    314	uint64_t u64;
    315	struct cvmx_pow_ecc_err_s {
    316#ifdef __BIG_ENDIAN_BITFIELD
    317		uint64_t reserved_45_63:19;
    318		uint64_t iop_ie:13;
    319		uint64_t reserved_29_31:3;
    320		uint64_t iop:13;
    321		uint64_t reserved_14_15:2;
    322		uint64_t rpe_ie:1;
    323		uint64_t rpe:1;
    324		uint64_t reserved_9_11:3;
    325		uint64_t syn:5;
    326		uint64_t dbe_ie:1;
    327		uint64_t sbe_ie:1;
    328		uint64_t dbe:1;
    329		uint64_t sbe:1;
    330#else
    331		uint64_t sbe:1;
    332		uint64_t dbe:1;
    333		uint64_t sbe_ie:1;
    334		uint64_t dbe_ie:1;
    335		uint64_t syn:5;
    336		uint64_t reserved_9_11:3;
    337		uint64_t rpe:1;
    338		uint64_t rpe_ie:1;
    339		uint64_t reserved_14_15:2;
    340		uint64_t iop:13;
    341		uint64_t reserved_29_31:3;
    342		uint64_t iop_ie:13;
    343		uint64_t reserved_45_63:19;
    344#endif
    345	} s;
    346	struct cvmx_pow_ecc_err_cn31xx {
    347#ifdef __BIG_ENDIAN_BITFIELD
    348		uint64_t reserved_14_63:50;
    349		uint64_t rpe_ie:1;
    350		uint64_t rpe:1;
    351		uint64_t reserved_9_11:3;
    352		uint64_t syn:5;
    353		uint64_t dbe_ie:1;
    354		uint64_t sbe_ie:1;
    355		uint64_t dbe:1;
    356		uint64_t sbe:1;
    357#else
    358		uint64_t sbe:1;
    359		uint64_t dbe:1;
    360		uint64_t sbe_ie:1;
    361		uint64_t dbe_ie:1;
    362		uint64_t syn:5;
    363		uint64_t reserved_9_11:3;
    364		uint64_t rpe:1;
    365		uint64_t rpe_ie:1;
    366		uint64_t reserved_14_63:50;
    367#endif
    368	} cn31xx;
    369};
    370
    371union cvmx_pow_int_ctl {
    372	uint64_t u64;
    373	struct cvmx_pow_int_ctl_s {
    374#ifdef __BIG_ENDIAN_BITFIELD
    375		uint64_t reserved_6_63:58;
    376		uint64_t pfr_dis:1;
    377		uint64_t nbr_thr:5;
    378#else
    379		uint64_t nbr_thr:5;
    380		uint64_t pfr_dis:1;
    381		uint64_t reserved_6_63:58;
    382#endif
    383	} s;
    384};
    385
    386union cvmx_pow_iq_cntx {
    387	uint64_t u64;
    388	struct cvmx_pow_iq_cntx_s {
    389#ifdef __BIG_ENDIAN_BITFIELD
    390		uint64_t reserved_32_63:32;
    391		uint64_t iq_cnt:32;
    392#else
    393		uint64_t iq_cnt:32;
    394		uint64_t reserved_32_63:32;
    395#endif
    396	} s;
    397};
    398
    399union cvmx_pow_iq_com_cnt {
    400	uint64_t u64;
    401	struct cvmx_pow_iq_com_cnt_s {
    402#ifdef __BIG_ENDIAN_BITFIELD
    403		uint64_t reserved_32_63:32;
    404		uint64_t iq_cnt:32;
    405#else
    406		uint64_t iq_cnt:32;
    407		uint64_t reserved_32_63:32;
    408#endif
    409	} s;
    410};
    411
    412union cvmx_pow_iq_int {
    413	uint64_t u64;
    414	struct cvmx_pow_iq_int_s {
    415#ifdef __BIG_ENDIAN_BITFIELD
    416		uint64_t reserved_8_63:56;
    417		uint64_t iq_int:8;
    418#else
    419		uint64_t iq_int:8;
    420		uint64_t reserved_8_63:56;
    421#endif
    422	} s;
    423};
    424
    425union cvmx_pow_iq_int_en {
    426	uint64_t u64;
    427	struct cvmx_pow_iq_int_en_s {
    428#ifdef __BIG_ENDIAN_BITFIELD
    429		uint64_t reserved_8_63:56;
    430		uint64_t int_en:8;
    431#else
    432		uint64_t int_en:8;
    433		uint64_t reserved_8_63:56;
    434#endif
    435	} s;
    436};
    437
    438union cvmx_pow_iq_thrx {
    439	uint64_t u64;
    440	struct cvmx_pow_iq_thrx_s {
    441#ifdef __BIG_ENDIAN_BITFIELD
    442		uint64_t reserved_32_63:32;
    443		uint64_t iq_thr:32;
    444#else
    445		uint64_t iq_thr:32;
    446		uint64_t reserved_32_63:32;
    447#endif
    448	} s;
    449};
    450
    451union cvmx_pow_nos_cnt {
    452	uint64_t u64;
    453	struct cvmx_pow_nos_cnt_s {
    454#ifdef __BIG_ENDIAN_BITFIELD
    455		uint64_t reserved_12_63:52;
    456		uint64_t nos_cnt:12;
    457#else
    458		uint64_t nos_cnt:12;
    459		uint64_t reserved_12_63:52;
    460#endif
    461	} s;
    462	struct cvmx_pow_nos_cnt_cn30xx {
    463#ifdef __BIG_ENDIAN_BITFIELD
    464		uint64_t reserved_7_63:57;
    465		uint64_t nos_cnt:7;
    466#else
    467		uint64_t nos_cnt:7;
    468		uint64_t reserved_7_63:57;
    469#endif
    470	} cn30xx;
    471	struct cvmx_pow_nos_cnt_cn31xx {
    472#ifdef __BIG_ENDIAN_BITFIELD
    473		uint64_t reserved_9_63:55;
    474		uint64_t nos_cnt:9;
    475#else
    476		uint64_t nos_cnt:9;
    477		uint64_t reserved_9_63:55;
    478#endif
    479	} cn31xx;
    480	struct cvmx_pow_nos_cnt_cn52xx {
    481#ifdef __BIG_ENDIAN_BITFIELD
    482		uint64_t reserved_10_63:54;
    483		uint64_t nos_cnt:10;
    484#else
    485		uint64_t nos_cnt:10;
    486		uint64_t reserved_10_63:54;
    487#endif
    488	} cn52xx;
    489	struct cvmx_pow_nos_cnt_cn63xx {
    490#ifdef __BIG_ENDIAN_BITFIELD
    491		uint64_t reserved_11_63:53;
    492		uint64_t nos_cnt:11;
    493#else
    494		uint64_t nos_cnt:11;
    495		uint64_t reserved_11_63:53;
    496#endif
    497	} cn63xx;
    498};
    499
    500union cvmx_pow_nw_tim {
    501	uint64_t u64;
    502	struct cvmx_pow_nw_tim_s {
    503#ifdef __BIG_ENDIAN_BITFIELD
    504		uint64_t reserved_10_63:54;
    505		uint64_t nw_tim:10;
    506#else
    507		uint64_t nw_tim:10;
    508		uint64_t reserved_10_63:54;
    509#endif
    510	} s;
    511};
    512
    513union cvmx_pow_pf_rst_msk {
    514	uint64_t u64;
    515	struct cvmx_pow_pf_rst_msk_s {
    516#ifdef __BIG_ENDIAN_BITFIELD
    517		uint64_t reserved_8_63:56;
    518		uint64_t rst_msk:8;
    519#else
    520		uint64_t rst_msk:8;
    521		uint64_t reserved_8_63:56;
    522#endif
    523	} s;
    524};
    525
    526union cvmx_pow_pp_grp_mskx {
    527	uint64_t u64;
    528	struct cvmx_pow_pp_grp_mskx_s {
    529#ifdef __BIG_ENDIAN_BITFIELD
    530		uint64_t reserved_48_63:16;
    531		uint64_t qos7_pri:4;
    532		uint64_t qos6_pri:4;
    533		uint64_t qos5_pri:4;
    534		uint64_t qos4_pri:4;
    535		uint64_t qos3_pri:4;
    536		uint64_t qos2_pri:4;
    537		uint64_t qos1_pri:4;
    538		uint64_t qos0_pri:4;
    539		uint64_t grp_msk:16;
    540#else
    541		uint64_t grp_msk:16;
    542		uint64_t qos0_pri:4;
    543		uint64_t qos1_pri:4;
    544		uint64_t qos2_pri:4;
    545		uint64_t qos3_pri:4;
    546		uint64_t qos4_pri:4;
    547		uint64_t qos5_pri:4;
    548		uint64_t qos6_pri:4;
    549		uint64_t qos7_pri:4;
    550		uint64_t reserved_48_63:16;
    551#endif
    552	} s;
    553	struct cvmx_pow_pp_grp_mskx_cn30xx {
    554#ifdef __BIG_ENDIAN_BITFIELD
    555		uint64_t reserved_16_63:48;
    556		uint64_t grp_msk:16;
    557#else
    558		uint64_t grp_msk:16;
    559		uint64_t reserved_16_63:48;
    560#endif
    561	} cn30xx;
    562};
    563
    564union cvmx_pow_qos_rndx {
    565	uint64_t u64;
    566	struct cvmx_pow_qos_rndx_s {
    567#ifdef __BIG_ENDIAN_BITFIELD
    568		uint64_t reserved_32_63:32;
    569		uint64_t rnd_p3:8;
    570		uint64_t rnd_p2:8;
    571		uint64_t rnd_p1:8;
    572		uint64_t rnd:8;
    573#else
    574		uint64_t rnd:8;
    575		uint64_t rnd_p1:8;
    576		uint64_t rnd_p2:8;
    577		uint64_t rnd_p3:8;
    578		uint64_t reserved_32_63:32;
    579#endif
    580	} s;
    581};
    582
    583union cvmx_pow_qos_thrx {
    584	uint64_t u64;
    585	struct cvmx_pow_qos_thrx_s {
    586#ifdef __BIG_ENDIAN_BITFIELD
    587		uint64_t reserved_60_63:4;
    588		uint64_t des_cnt:12;
    589		uint64_t buf_cnt:12;
    590		uint64_t free_cnt:12;
    591		uint64_t reserved_23_23:1;
    592		uint64_t max_thr:11;
    593		uint64_t reserved_11_11:1;
    594		uint64_t min_thr:11;
    595#else
    596		uint64_t min_thr:11;
    597		uint64_t reserved_11_11:1;
    598		uint64_t max_thr:11;
    599		uint64_t reserved_23_23:1;
    600		uint64_t free_cnt:12;
    601		uint64_t buf_cnt:12;
    602		uint64_t des_cnt:12;
    603		uint64_t reserved_60_63:4;
    604#endif
    605	} s;
    606	struct cvmx_pow_qos_thrx_cn30xx {
    607#ifdef __BIG_ENDIAN_BITFIELD
    608		uint64_t reserved_55_63:9;
    609		uint64_t des_cnt:7;
    610		uint64_t reserved_43_47:5;
    611		uint64_t buf_cnt:7;
    612		uint64_t reserved_31_35:5;
    613		uint64_t free_cnt:7;
    614		uint64_t reserved_18_23:6;
    615		uint64_t max_thr:6;
    616		uint64_t reserved_6_11:6;
    617		uint64_t min_thr:6;
    618#else
    619		uint64_t min_thr:6;
    620		uint64_t reserved_6_11:6;
    621		uint64_t max_thr:6;
    622		uint64_t reserved_18_23:6;
    623		uint64_t free_cnt:7;
    624		uint64_t reserved_31_35:5;
    625		uint64_t buf_cnt:7;
    626		uint64_t reserved_43_47:5;
    627		uint64_t des_cnt:7;
    628		uint64_t reserved_55_63:9;
    629#endif
    630	} cn30xx;
    631	struct cvmx_pow_qos_thrx_cn31xx {
    632#ifdef __BIG_ENDIAN_BITFIELD
    633		uint64_t reserved_57_63:7;
    634		uint64_t des_cnt:9;
    635		uint64_t reserved_45_47:3;
    636		uint64_t buf_cnt:9;
    637		uint64_t reserved_33_35:3;
    638		uint64_t free_cnt:9;
    639		uint64_t reserved_20_23:4;
    640		uint64_t max_thr:8;
    641		uint64_t reserved_8_11:4;
    642		uint64_t min_thr:8;
    643#else
    644		uint64_t min_thr:8;
    645		uint64_t reserved_8_11:4;
    646		uint64_t max_thr:8;
    647		uint64_t reserved_20_23:4;
    648		uint64_t free_cnt:9;
    649		uint64_t reserved_33_35:3;
    650		uint64_t buf_cnt:9;
    651		uint64_t reserved_45_47:3;
    652		uint64_t des_cnt:9;
    653		uint64_t reserved_57_63:7;
    654#endif
    655	} cn31xx;
    656	struct cvmx_pow_qos_thrx_cn52xx {
    657#ifdef __BIG_ENDIAN_BITFIELD
    658		uint64_t reserved_58_63:6;
    659		uint64_t des_cnt:10;
    660		uint64_t reserved_46_47:2;
    661		uint64_t buf_cnt:10;
    662		uint64_t reserved_34_35:2;
    663		uint64_t free_cnt:10;
    664		uint64_t reserved_21_23:3;
    665		uint64_t max_thr:9;
    666		uint64_t reserved_9_11:3;
    667		uint64_t min_thr:9;
    668#else
    669		uint64_t min_thr:9;
    670		uint64_t reserved_9_11:3;
    671		uint64_t max_thr:9;
    672		uint64_t reserved_21_23:3;
    673		uint64_t free_cnt:10;
    674		uint64_t reserved_34_35:2;
    675		uint64_t buf_cnt:10;
    676		uint64_t reserved_46_47:2;
    677		uint64_t des_cnt:10;
    678		uint64_t reserved_58_63:6;
    679#endif
    680	} cn52xx;
    681	struct cvmx_pow_qos_thrx_cn63xx {
    682#ifdef __BIG_ENDIAN_BITFIELD
    683		uint64_t reserved_59_63:5;
    684		uint64_t des_cnt:11;
    685		uint64_t reserved_47_47:1;
    686		uint64_t buf_cnt:11;
    687		uint64_t reserved_35_35:1;
    688		uint64_t free_cnt:11;
    689		uint64_t reserved_22_23:2;
    690		uint64_t max_thr:10;
    691		uint64_t reserved_10_11:2;
    692		uint64_t min_thr:10;
    693#else
    694		uint64_t min_thr:10;
    695		uint64_t reserved_10_11:2;
    696		uint64_t max_thr:10;
    697		uint64_t reserved_22_23:2;
    698		uint64_t free_cnt:11;
    699		uint64_t reserved_35_35:1;
    700		uint64_t buf_cnt:11;
    701		uint64_t reserved_47_47:1;
    702		uint64_t des_cnt:11;
    703		uint64_t reserved_59_63:5;
    704#endif
    705	} cn63xx;
    706};
    707
    708union cvmx_pow_ts_pc {
    709	uint64_t u64;
    710	struct cvmx_pow_ts_pc_s {
    711#ifdef __BIG_ENDIAN_BITFIELD
    712		uint64_t reserved_32_63:32;
    713		uint64_t ts_pc:32;
    714#else
    715		uint64_t ts_pc:32;
    716		uint64_t reserved_32_63:32;
    717#endif
    718	} s;
    719};
    720
    721union cvmx_pow_wa_com_pc {
    722	uint64_t u64;
    723	struct cvmx_pow_wa_com_pc_s {
    724#ifdef __BIG_ENDIAN_BITFIELD
    725		uint64_t reserved_32_63:32;
    726		uint64_t wa_pc:32;
    727#else
    728		uint64_t wa_pc:32;
    729		uint64_t reserved_32_63:32;
    730#endif
    731	} s;
    732};
    733
    734union cvmx_pow_wa_pcx {
    735	uint64_t u64;
    736	struct cvmx_pow_wa_pcx_s {
    737#ifdef __BIG_ENDIAN_BITFIELD
    738		uint64_t reserved_32_63:32;
    739		uint64_t wa_pc:32;
    740#else
    741		uint64_t wa_pc:32;
    742		uint64_t reserved_32_63:32;
    743#endif
    744	} s;
    745};
    746
    747union cvmx_pow_wq_int {
    748	uint64_t u64;
    749	struct cvmx_pow_wq_int_s {
    750#ifdef __BIG_ENDIAN_BITFIELD
    751		uint64_t reserved_32_63:32;
    752		uint64_t iq_dis:16;
    753		uint64_t wq_int:16;
    754#else
    755		uint64_t wq_int:16;
    756		uint64_t iq_dis:16;
    757		uint64_t reserved_32_63:32;
    758#endif
    759	} s;
    760};
    761
    762union cvmx_pow_wq_int_cntx {
    763	uint64_t u64;
    764	struct cvmx_pow_wq_int_cntx_s {
    765#ifdef __BIG_ENDIAN_BITFIELD
    766		uint64_t reserved_28_63:36;
    767		uint64_t tc_cnt:4;
    768		uint64_t ds_cnt:12;
    769		uint64_t iq_cnt:12;
    770#else
    771		uint64_t iq_cnt:12;
    772		uint64_t ds_cnt:12;
    773		uint64_t tc_cnt:4;
    774		uint64_t reserved_28_63:36;
    775#endif
    776	} s;
    777	struct cvmx_pow_wq_int_cntx_cn30xx {
    778#ifdef __BIG_ENDIAN_BITFIELD
    779		uint64_t reserved_28_63:36;
    780		uint64_t tc_cnt:4;
    781		uint64_t reserved_19_23:5;
    782		uint64_t ds_cnt:7;
    783		uint64_t reserved_7_11:5;
    784		uint64_t iq_cnt:7;
    785#else
    786		uint64_t iq_cnt:7;
    787		uint64_t reserved_7_11:5;
    788		uint64_t ds_cnt:7;
    789		uint64_t reserved_19_23:5;
    790		uint64_t tc_cnt:4;
    791		uint64_t reserved_28_63:36;
    792#endif
    793	} cn30xx;
    794	struct cvmx_pow_wq_int_cntx_cn31xx {
    795#ifdef __BIG_ENDIAN_BITFIELD
    796		uint64_t reserved_28_63:36;
    797		uint64_t tc_cnt:4;
    798		uint64_t reserved_21_23:3;
    799		uint64_t ds_cnt:9;
    800		uint64_t reserved_9_11:3;
    801		uint64_t iq_cnt:9;
    802#else
    803		uint64_t iq_cnt:9;
    804		uint64_t reserved_9_11:3;
    805		uint64_t ds_cnt:9;
    806		uint64_t reserved_21_23:3;
    807		uint64_t tc_cnt:4;
    808		uint64_t reserved_28_63:36;
    809#endif
    810	} cn31xx;
    811	struct cvmx_pow_wq_int_cntx_cn52xx {
    812#ifdef __BIG_ENDIAN_BITFIELD
    813		uint64_t reserved_28_63:36;
    814		uint64_t tc_cnt:4;
    815		uint64_t reserved_22_23:2;
    816		uint64_t ds_cnt:10;
    817		uint64_t reserved_10_11:2;
    818		uint64_t iq_cnt:10;
    819#else
    820		uint64_t iq_cnt:10;
    821		uint64_t reserved_10_11:2;
    822		uint64_t ds_cnt:10;
    823		uint64_t reserved_22_23:2;
    824		uint64_t tc_cnt:4;
    825		uint64_t reserved_28_63:36;
    826#endif
    827	} cn52xx;
    828	struct cvmx_pow_wq_int_cntx_cn63xx {
    829#ifdef __BIG_ENDIAN_BITFIELD
    830		uint64_t reserved_28_63:36;
    831		uint64_t tc_cnt:4;
    832		uint64_t reserved_23_23:1;
    833		uint64_t ds_cnt:11;
    834		uint64_t reserved_11_11:1;
    835		uint64_t iq_cnt:11;
    836#else
    837		uint64_t iq_cnt:11;
    838		uint64_t reserved_11_11:1;
    839		uint64_t ds_cnt:11;
    840		uint64_t reserved_23_23:1;
    841		uint64_t tc_cnt:4;
    842		uint64_t reserved_28_63:36;
    843#endif
    844	} cn63xx;
    845};
    846
    847union cvmx_pow_wq_int_pc {
    848	uint64_t u64;
    849	struct cvmx_pow_wq_int_pc_s {
    850#ifdef __BIG_ENDIAN_BITFIELD
    851		uint64_t reserved_60_63:4;
    852		uint64_t pc:28;
    853		uint64_t reserved_28_31:4;
    854		uint64_t pc_thr:20;
    855		uint64_t reserved_0_7:8;
    856#else
    857		uint64_t reserved_0_7:8;
    858		uint64_t pc_thr:20;
    859		uint64_t reserved_28_31:4;
    860		uint64_t pc:28;
    861		uint64_t reserved_60_63:4;
    862#endif
    863	} s;
    864};
    865
    866union cvmx_pow_wq_int_thrx {
    867	uint64_t u64;
    868	struct cvmx_pow_wq_int_thrx_s {
    869#ifdef __BIG_ENDIAN_BITFIELD
    870		uint64_t reserved_29_63:35;
    871		uint64_t tc_en:1;
    872		uint64_t tc_thr:4;
    873		uint64_t reserved_23_23:1;
    874		uint64_t ds_thr:11;
    875		uint64_t reserved_11_11:1;
    876		uint64_t iq_thr:11;
    877#else
    878		uint64_t iq_thr:11;
    879		uint64_t reserved_11_11:1;
    880		uint64_t ds_thr:11;
    881		uint64_t reserved_23_23:1;
    882		uint64_t tc_thr:4;
    883		uint64_t tc_en:1;
    884		uint64_t reserved_29_63:35;
    885#endif
    886	} s;
    887	struct cvmx_pow_wq_int_thrx_cn30xx {
    888#ifdef __BIG_ENDIAN_BITFIELD
    889		uint64_t reserved_29_63:35;
    890		uint64_t tc_en:1;
    891		uint64_t tc_thr:4;
    892		uint64_t reserved_18_23:6;
    893		uint64_t ds_thr:6;
    894		uint64_t reserved_6_11:6;
    895		uint64_t iq_thr:6;
    896#else
    897		uint64_t iq_thr:6;
    898		uint64_t reserved_6_11:6;
    899		uint64_t ds_thr:6;
    900		uint64_t reserved_18_23:6;
    901		uint64_t tc_thr:4;
    902		uint64_t tc_en:1;
    903		uint64_t reserved_29_63:35;
    904#endif
    905	} cn30xx;
    906	struct cvmx_pow_wq_int_thrx_cn31xx {
    907#ifdef __BIG_ENDIAN_BITFIELD
    908		uint64_t reserved_29_63:35;
    909		uint64_t tc_en:1;
    910		uint64_t tc_thr:4;
    911		uint64_t reserved_20_23:4;
    912		uint64_t ds_thr:8;
    913		uint64_t reserved_8_11:4;
    914		uint64_t iq_thr:8;
    915#else
    916		uint64_t iq_thr:8;
    917		uint64_t reserved_8_11:4;
    918		uint64_t ds_thr:8;
    919		uint64_t reserved_20_23:4;
    920		uint64_t tc_thr:4;
    921		uint64_t tc_en:1;
    922		uint64_t reserved_29_63:35;
    923#endif
    924	} cn31xx;
    925	struct cvmx_pow_wq_int_thrx_cn52xx {
    926#ifdef __BIG_ENDIAN_BITFIELD
    927		uint64_t reserved_29_63:35;
    928		uint64_t tc_en:1;
    929		uint64_t tc_thr:4;
    930		uint64_t reserved_21_23:3;
    931		uint64_t ds_thr:9;
    932		uint64_t reserved_9_11:3;
    933		uint64_t iq_thr:9;
    934#else
    935		uint64_t iq_thr:9;
    936		uint64_t reserved_9_11:3;
    937		uint64_t ds_thr:9;
    938		uint64_t reserved_21_23:3;
    939		uint64_t tc_thr:4;
    940		uint64_t tc_en:1;
    941		uint64_t reserved_29_63:35;
    942#endif
    943	} cn52xx;
    944	struct cvmx_pow_wq_int_thrx_cn63xx {
    945#ifdef __BIG_ENDIAN_BITFIELD
    946		uint64_t reserved_29_63:35;
    947		uint64_t tc_en:1;
    948		uint64_t tc_thr:4;
    949		uint64_t reserved_22_23:2;
    950		uint64_t ds_thr:10;
    951		uint64_t reserved_10_11:2;
    952		uint64_t iq_thr:10;
    953#else
    954		uint64_t iq_thr:10;
    955		uint64_t reserved_10_11:2;
    956		uint64_t ds_thr:10;
    957		uint64_t reserved_22_23:2;
    958		uint64_t tc_thr:4;
    959		uint64_t tc_en:1;
    960		uint64_t reserved_29_63:35;
    961#endif
    962	} cn63xx;
    963};
    964
    965union cvmx_pow_ws_pcx {
    966	uint64_t u64;
    967	struct cvmx_pow_ws_pcx_s {
    968#ifdef __BIG_ENDIAN_BITFIELD
    969		uint64_t reserved_32_63:32;
    970		uint64_t ws_pc:32;
    971#else
    972		uint64_t ws_pc:32;
    973		uint64_t reserved_32_63:32;
    974#endif
    975	} s;
    976};
    977
    978union cvmx_sso_wq_int_thrx {
    979	uint64_t u64;
    980	struct {
    981#ifdef __BIG_ENDIAN_BITFIELD
    982		uint64_t reserved_33_63:31;
    983		uint64_t tc_en:1;
    984		uint64_t tc_thr:4;
    985		uint64_t reserved_26_27:2;
    986		uint64_t ds_thr:12;
    987		uint64_t reserved_12_13:2;
    988		uint64_t iq_thr:12;
    989#else
    990		uint64_t iq_thr:12;
    991		uint64_t reserved_12_13:2;
    992		uint64_t ds_thr:12;
    993		uint64_t reserved_26_27:2;
    994		uint64_t tc_thr:4;
    995		uint64_t tc_en:1;
    996		uint64_t reserved_33_63:31;
    997#endif
    998	} s;
    999};
   1000
   1001#endif