linux/arch/mips/include/asm/octeon/cvmx-lmcx-defs.h
<<
>>
Prefs
   1/***********************license start***************
   2 * Author: Cavium Inc.
   3 *
   4 * Contact: support@cavium.com
   5 * This file is part of the OCTEON SDK
   6 *
   7 * Copyright (c) 2003-2012 Cavium Inc.
   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 Inc. for more information
  26 ***********************license end**************************************/
  27
  28#ifndef __CVMX_LMCX_DEFS_H__
  29#define __CVMX_LMCX_DEFS_H__
  30
  31#define CVMX_LMCX_BIST_CTL(block_id) (CVMX_ADD_IO_SEG(0x00011800880000F0ull) + ((block_id) & 1) * 0x60000000ull)
  32#define CVMX_LMCX_BIST_RESULT(block_id) (CVMX_ADD_IO_SEG(0x00011800880000F8ull) + ((block_id) & 1) * 0x60000000ull)
  33#define CVMX_LMCX_CHAR_CTL(block_id) (CVMX_ADD_IO_SEG(0x0001180088000220ull) + ((block_id) & 3) * 0x1000000ull)
  34#define CVMX_LMCX_CHAR_MASK0(block_id) (CVMX_ADD_IO_SEG(0x0001180088000228ull) + ((block_id) & 3) * 0x1000000ull)
  35#define CVMX_LMCX_CHAR_MASK1(block_id) (CVMX_ADD_IO_SEG(0x0001180088000230ull) + ((block_id) & 3) * 0x1000000ull)
  36#define CVMX_LMCX_CHAR_MASK2(block_id) (CVMX_ADD_IO_SEG(0x0001180088000238ull) + ((block_id) & 3) * 0x1000000ull)
  37#define CVMX_LMCX_CHAR_MASK3(block_id) (CVMX_ADD_IO_SEG(0x0001180088000240ull) + ((block_id) & 3) * 0x1000000ull)
  38#define CVMX_LMCX_CHAR_MASK4(block_id) (CVMX_ADD_IO_SEG(0x0001180088000318ull) + ((block_id) & 3) * 0x1000000ull)
  39#define CVMX_LMCX_COMP_CTL(block_id) (CVMX_ADD_IO_SEG(0x0001180088000028ull) + ((block_id) & 1) * 0x60000000ull)
  40#define CVMX_LMCX_COMP_CTL2(block_id) (CVMX_ADD_IO_SEG(0x00011800880001B8ull) + ((block_id) & 3) * 0x1000000ull)
  41#define CVMX_LMCX_CONFIG(block_id) (CVMX_ADD_IO_SEG(0x0001180088000188ull) + ((block_id) & 3) * 0x1000000ull)
  42#define CVMX_LMCX_CONTROL(block_id) (CVMX_ADD_IO_SEG(0x0001180088000190ull) + ((block_id) & 3) * 0x1000000ull)
  43#define CVMX_LMCX_CTL(block_id) (CVMX_ADD_IO_SEG(0x0001180088000010ull) + ((block_id) & 1) * 0x60000000ull)
  44#define CVMX_LMCX_CTL1(block_id) (CVMX_ADD_IO_SEG(0x0001180088000090ull) + ((block_id) & 1) * 0x60000000ull)
  45#define CVMX_LMCX_DCLK_CNT(block_id) (CVMX_ADD_IO_SEG(0x00011800880001E0ull) + ((block_id) & 3) * 0x1000000ull)
  46#define CVMX_LMCX_DCLK_CNT_HI(block_id) (CVMX_ADD_IO_SEG(0x0001180088000070ull) + ((block_id) & 1) * 0x60000000ull)
  47#define CVMX_LMCX_DCLK_CNT_LO(block_id) (CVMX_ADD_IO_SEG(0x0001180088000068ull) + ((block_id) & 1) * 0x60000000ull)
  48#define CVMX_LMCX_DCLK_CTL(block_id) (CVMX_ADD_IO_SEG(0x00011800880000B8ull) + ((block_id) & 1) * 0x60000000ull)
  49#define CVMX_LMCX_DDR2_CTL(block_id) (CVMX_ADD_IO_SEG(0x0001180088000018ull) + ((block_id) & 1) * 0x60000000ull)
  50#define CVMX_LMCX_DDR_PLL_CTL(block_id) (CVMX_ADD_IO_SEG(0x0001180088000258ull) + ((block_id) & 3) * 0x1000000ull)
  51#define CVMX_LMCX_DELAY_CFG(block_id) (CVMX_ADD_IO_SEG(0x0001180088000088ull) + ((block_id) & 1) * 0x60000000ull)
  52#define CVMX_LMCX_DIMMX_PARAMS(offset, block_id) (CVMX_ADD_IO_SEG(0x0001180088000270ull) + (((offset) & 1) + ((block_id) & 3) * 0x200000ull) * 8)
  53#define CVMX_LMCX_DIMM_CTL(block_id) (CVMX_ADD_IO_SEG(0x0001180088000310ull) + ((block_id) & 3) * 0x1000000ull)
  54#define CVMX_LMCX_DLL_CTL(block_id) (CVMX_ADD_IO_SEG(0x00011800880000C0ull) + ((block_id) & 1) * 0x60000000ull)
  55#define CVMX_LMCX_DLL_CTL2(block_id) (CVMX_ADD_IO_SEG(0x00011800880001C8ull) + ((block_id) & 3) * 0x1000000ull)
  56#define CVMX_LMCX_DLL_CTL3(block_id) (CVMX_ADD_IO_SEG(0x0001180088000218ull) + ((block_id) & 3) * 0x1000000ull)
  57static inline uint64_t CVMX_LMCX_DUAL_MEMCFG(unsigned long block_id)
  58{
  59        switch (cvmx_get_octeon_family()) {
  60        case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
  61        case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
  62        case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
  63        case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
  64        case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
  65        case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
  66        case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
  67                return CVMX_ADD_IO_SEG(0x0001180088000098ull) + (block_id) * 0x60000000ull;
  68        case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
  69                return CVMX_ADD_IO_SEG(0x0001180088000098ull) + (block_id) * 0x60000000ull;
  70        case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
  71                return CVMX_ADD_IO_SEG(0x0001180088000098ull) + (block_id) * 0x1000000ull;
  72        }
  73        return CVMX_ADD_IO_SEG(0x0001180088000098ull) + (block_id) * 0x60000000ull;
  74}
  75
  76static inline uint64_t CVMX_LMCX_ECC_SYND(unsigned long block_id)
  77{
  78        switch (cvmx_get_octeon_family()) {
  79        case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
  80        case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
  81        case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
  82        case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
  83        case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
  84        case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
  85        case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
  86        case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
  87        case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
  88        case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
  89                return CVMX_ADD_IO_SEG(0x0001180088000038ull) + (block_id) * 0x60000000ull;
  90        case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
  91                return CVMX_ADD_IO_SEG(0x0001180088000038ull) + (block_id) * 0x60000000ull;
  92        case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
  93                return CVMX_ADD_IO_SEG(0x0001180088000038ull) + (block_id) * 0x1000000ull;
  94        }
  95        return CVMX_ADD_IO_SEG(0x0001180088000038ull) + (block_id) * 0x60000000ull;
  96}
  97
  98static inline uint64_t CVMX_LMCX_FADR(unsigned long block_id)
  99{
 100        switch (cvmx_get_octeon_family()) {
 101        case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
 102        case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
 103        case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
 104        case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
 105        case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
 106        case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
 107        case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
 108        case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
 109        case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
 110        case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
 111                return CVMX_ADD_IO_SEG(0x0001180088000020ull) + (block_id) * 0x60000000ull;
 112        case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
 113                return CVMX_ADD_IO_SEG(0x0001180088000020ull) + (block_id) * 0x60000000ull;
 114        case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
 115                return CVMX_ADD_IO_SEG(0x0001180088000020ull) + (block_id) * 0x1000000ull;
 116        }
 117        return CVMX_ADD_IO_SEG(0x0001180088000020ull) + (block_id) * 0x60000000ull;
 118}
 119
 120#define CVMX_LMCX_IFB_CNT(block_id) (CVMX_ADD_IO_SEG(0x00011800880001D0ull) + ((block_id) & 3) * 0x1000000ull)
 121#define CVMX_LMCX_IFB_CNT_HI(block_id) (CVMX_ADD_IO_SEG(0x0001180088000050ull) + ((block_id) & 1) * 0x60000000ull)
 122#define CVMX_LMCX_IFB_CNT_LO(block_id) (CVMX_ADD_IO_SEG(0x0001180088000048ull) + ((block_id) & 1) * 0x60000000ull)
 123#define CVMX_LMCX_INT(block_id) (CVMX_ADD_IO_SEG(0x00011800880001F0ull) + ((block_id) & 3) * 0x1000000ull)
 124#define CVMX_LMCX_INT_EN(block_id) (CVMX_ADD_IO_SEG(0x00011800880001E8ull) + ((block_id) & 3) * 0x1000000ull)
 125#define CVMX_LMCX_MEM_CFG0(block_id) (CVMX_ADD_IO_SEG(0x0001180088000000ull) + ((block_id) & 1) * 0x60000000ull)
 126#define CVMX_LMCX_MEM_CFG1(block_id) (CVMX_ADD_IO_SEG(0x0001180088000008ull) + ((block_id) & 1) * 0x60000000ull)
 127#define CVMX_LMCX_MODEREG_PARAMS0(block_id) (CVMX_ADD_IO_SEG(0x00011800880001A8ull) + ((block_id) & 3) * 0x1000000ull)
 128#define CVMX_LMCX_MODEREG_PARAMS1(block_id) (CVMX_ADD_IO_SEG(0x0001180088000260ull) + ((block_id) & 3) * 0x1000000ull)
 129static inline uint64_t CVMX_LMCX_NXM(unsigned long block_id)
 130{
 131        switch (cvmx_get_octeon_family()) {
 132        case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
 133        case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
 134        case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
 135        case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
 136        case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
 137        case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
 138                return CVMX_ADD_IO_SEG(0x00011800880000C8ull) + (block_id) * 0x60000000ull;
 139        case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
 140                return CVMX_ADD_IO_SEG(0x00011800880000C8ull) + (block_id) * 0x60000000ull;
 141        case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
 142                return CVMX_ADD_IO_SEG(0x00011800880000C8ull) + (block_id) * 0x1000000ull;
 143        }
 144        return CVMX_ADD_IO_SEG(0x00011800880000C8ull) + (block_id) * 0x60000000ull;
 145}
 146
 147#define CVMX_LMCX_OPS_CNT(block_id) (CVMX_ADD_IO_SEG(0x00011800880001D8ull) + ((block_id) & 3) * 0x1000000ull)
 148#define CVMX_LMCX_OPS_CNT_HI(block_id) (CVMX_ADD_IO_SEG(0x0001180088000060ull) + ((block_id) & 1) * 0x60000000ull)
 149#define CVMX_LMCX_OPS_CNT_LO(block_id) (CVMX_ADD_IO_SEG(0x0001180088000058ull) + ((block_id) & 1) * 0x60000000ull)
 150#define CVMX_LMCX_PHY_CTL(block_id) (CVMX_ADD_IO_SEG(0x0001180088000210ull) + ((block_id) & 3) * 0x1000000ull)
 151#define CVMX_LMCX_PLL_BWCTL(block_id) (CVMX_ADD_IO_SEG(0x0001180088000040ull))
 152#define CVMX_LMCX_PLL_CTL(block_id) (CVMX_ADD_IO_SEG(0x00011800880000A8ull) + ((block_id) & 1) * 0x60000000ull)
 153#define CVMX_LMCX_PLL_STATUS(block_id) (CVMX_ADD_IO_SEG(0x00011800880000B0ull) + ((block_id) & 1) * 0x60000000ull)
 154#define CVMX_LMCX_READ_LEVEL_CTL(block_id) (CVMX_ADD_IO_SEG(0x0001180088000140ull) + ((block_id) & 1) * 0x60000000ull)
 155#define CVMX_LMCX_READ_LEVEL_DBG(block_id) (CVMX_ADD_IO_SEG(0x0001180088000148ull) + ((block_id) & 1) * 0x60000000ull)
 156#define CVMX_LMCX_READ_LEVEL_RANKX(offset, block_id) (CVMX_ADD_IO_SEG(0x0001180088000100ull) + (((offset) & 3) + ((block_id) & 1) * 0xC000000ull) * 8)
 157#define CVMX_LMCX_RESET_CTL(block_id) (CVMX_ADD_IO_SEG(0x0001180088000180ull) + ((block_id) & 3) * 0x1000000ull)
 158#define CVMX_LMCX_RLEVEL_CTL(block_id) (CVMX_ADD_IO_SEG(0x00011800880002A0ull) + ((block_id) & 3) * 0x1000000ull)
 159#define CVMX_LMCX_RLEVEL_DBG(block_id) (CVMX_ADD_IO_SEG(0x00011800880002A8ull) + ((block_id) & 3) * 0x1000000ull)
 160#define CVMX_LMCX_RLEVEL_RANKX(offset, block_id) (CVMX_ADD_IO_SEG(0x0001180088000280ull) + (((offset) & 3) + ((block_id) & 3) * 0x200000ull) * 8)
 161#define CVMX_LMCX_RODT_COMP_CTL(block_id) (CVMX_ADD_IO_SEG(0x00011800880000A0ull) + ((block_id) & 1) * 0x60000000ull)
 162#define CVMX_LMCX_RODT_CTL(block_id) (CVMX_ADD_IO_SEG(0x0001180088000078ull) + ((block_id) & 1) * 0x60000000ull)
 163#define CVMX_LMCX_RODT_MASK(block_id) (CVMX_ADD_IO_SEG(0x0001180088000268ull) + ((block_id) & 3) * 0x1000000ull)
 164#define CVMX_LMCX_SCRAMBLED_FADR(block_id) (CVMX_ADD_IO_SEG(0x0001180088000330ull))
 165#define CVMX_LMCX_SCRAMBLE_CFG0(block_id) (CVMX_ADD_IO_SEG(0x0001180088000320ull))
 166#define CVMX_LMCX_SCRAMBLE_CFG1(block_id) (CVMX_ADD_IO_SEG(0x0001180088000328ull))
 167#define CVMX_LMCX_SLOT_CTL0(block_id) (CVMX_ADD_IO_SEG(0x00011800880001F8ull) + ((block_id) & 3) * 0x1000000ull)
 168#define CVMX_LMCX_SLOT_CTL1(block_id) (CVMX_ADD_IO_SEG(0x0001180088000200ull) + ((block_id) & 3) * 0x1000000ull)
 169#define CVMX_LMCX_SLOT_CTL2(block_id) (CVMX_ADD_IO_SEG(0x0001180088000208ull) + ((block_id) & 3) * 0x1000000ull)
 170#define CVMX_LMCX_TIMING_PARAMS0(block_id) (CVMX_ADD_IO_SEG(0x0001180088000198ull) + ((block_id) & 3) * 0x1000000ull)
 171#define CVMX_LMCX_TIMING_PARAMS1(block_id) (CVMX_ADD_IO_SEG(0x00011800880001A0ull) + ((block_id) & 3) * 0x1000000ull)
 172#define CVMX_LMCX_TRO_CTL(block_id) (CVMX_ADD_IO_SEG(0x0001180088000248ull) + ((block_id) & 3) * 0x1000000ull)
 173#define CVMX_LMCX_TRO_STAT(block_id) (CVMX_ADD_IO_SEG(0x0001180088000250ull) + ((block_id) & 3) * 0x1000000ull)
 174#define CVMX_LMCX_WLEVEL_CTL(block_id) (CVMX_ADD_IO_SEG(0x0001180088000300ull) + ((block_id) & 3) * 0x1000000ull)
 175#define CVMX_LMCX_WLEVEL_DBG(block_id) (CVMX_ADD_IO_SEG(0x0001180088000308ull) + ((block_id) & 3) * 0x1000000ull)
 176#define CVMX_LMCX_WLEVEL_RANKX(offset, block_id) (CVMX_ADD_IO_SEG(0x00011800880002B0ull) + (((offset) & 3) + ((block_id) & 3) * 0x200000ull) * 8)
 177#define CVMX_LMCX_WODT_CTL0(block_id) (CVMX_ADD_IO_SEG(0x0001180088000030ull) + ((block_id) & 1) * 0x60000000ull)
 178#define CVMX_LMCX_WODT_CTL1(block_id) (CVMX_ADD_IO_SEG(0x0001180088000080ull) + ((block_id) & 1) * 0x60000000ull)
 179#define CVMX_LMCX_WODT_MASK(block_id) (CVMX_ADD_IO_SEG(0x00011800880001B0ull) + ((block_id) & 3) * 0x1000000ull)
 180
 181union cvmx_lmcx_bist_ctl {
 182        uint64_t u64;
 183        struct cvmx_lmcx_bist_ctl_s {
 184#ifdef __BIG_ENDIAN_BITFIELD
 185                uint64_t reserved_1_63:63;
 186                uint64_t start:1;
 187#else
 188                uint64_t start:1;
 189                uint64_t reserved_1_63:63;
 190#endif
 191        } s;
 192};
 193
 194union cvmx_lmcx_bist_result {
 195        uint64_t u64;
 196        struct cvmx_lmcx_bist_result_s {
 197#ifdef __BIG_ENDIAN_BITFIELD
 198                uint64_t reserved_11_63:53;
 199                uint64_t csrd2e:1;
 200                uint64_t csre2d:1;
 201                uint64_t mwf:1;
 202                uint64_t mwd:3;
 203                uint64_t mwc:1;
 204                uint64_t mrf:1;
 205                uint64_t mrd:3;
 206#else
 207                uint64_t mrd:3;
 208                uint64_t mrf:1;
 209                uint64_t mwc:1;
 210                uint64_t mwd:3;
 211                uint64_t mwf:1;
 212                uint64_t csre2d:1;
 213                uint64_t csrd2e:1;
 214                uint64_t reserved_11_63:53;
 215#endif
 216        } s;
 217        struct cvmx_lmcx_bist_result_cn50xx {
 218#ifdef __BIG_ENDIAN_BITFIELD
 219                uint64_t reserved_9_63:55;
 220                uint64_t mwf:1;
 221                uint64_t mwd:3;
 222                uint64_t mwc:1;
 223                uint64_t mrf:1;
 224                uint64_t mrd:3;
 225#else
 226                uint64_t mrd:3;
 227                uint64_t mrf:1;
 228                uint64_t mwc:1;
 229                uint64_t mwd:3;
 230                uint64_t mwf:1;
 231                uint64_t reserved_9_63:55;
 232#endif
 233        } cn50xx;
 234};
 235
 236union cvmx_lmcx_char_ctl {
 237        uint64_t u64;
 238        struct cvmx_lmcx_char_ctl_s {
 239#ifdef __BIG_ENDIAN_BITFIELD
 240                uint64_t reserved_44_63:20;
 241                uint64_t dr:1;
 242                uint64_t skew_on:1;
 243                uint64_t en:1;
 244                uint64_t sel:1;
 245                uint64_t prog:8;
 246                uint64_t prbs:32;
 247#else
 248                uint64_t prbs:32;
 249                uint64_t prog:8;
 250                uint64_t sel:1;
 251                uint64_t en:1;
 252                uint64_t skew_on:1;
 253                uint64_t dr:1;
 254                uint64_t reserved_44_63:20;
 255#endif
 256        } s;
 257        struct cvmx_lmcx_char_ctl_cn63xx {
 258#ifdef __BIG_ENDIAN_BITFIELD
 259                uint64_t reserved_42_63:22;
 260                uint64_t en:1;
 261                uint64_t sel:1;
 262                uint64_t prog:8;
 263                uint64_t prbs:32;
 264#else
 265                uint64_t prbs:32;
 266                uint64_t prog:8;
 267                uint64_t sel:1;
 268                uint64_t en:1;
 269                uint64_t reserved_42_63:22;
 270#endif
 271        } cn63xx;
 272};
 273
 274union cvmx_lmcx_char_mask0 {
 275        uint64_t u64;
 276        struct cvmx_lmcx_char_mask0_s {
 277#ifdef __BIG_ENDIAN_BITFIELD
 278                uint64_t mask:64;
 279#else
 280                uint64_t mask:64;
 281#endif
 282        } s;
 283};
 284
 285union cvmx_lmcx_char_mask1 {
 286        uint64_t u64;
 287        struct cvmx_lmcx_char_mask1_s {
 288#ifdef __BIG_ENDIAN_BITFIELD
 289                uint64_t reserved_8_63:56;
 290                uint64_t mask:8;
 291#else
 292                uint64_t mask:8;
 293                uint64_t reserved_8_63:56;
 294#endif
 295        } s;
 296};
 297
 298union cvmx_lmcx_char_mask2 {
 299        uint64_t u64;
 300        struct cvmx_lmcx_char_mask2_s {
 301#ifdef __BIG_ENDIAN_BITFIELD
 302                uint64_t mask:64;
 303#else
 304                uint64_t mask:64;
 305#endif
 306        } s;
 307};
 308
 309union cvmx_lmcx_char_mask3 {
 310        uint64_t u64;
 311        struct cvmx_lmcx_char_mask3_s {
 312#ifdef __BIG_ENDIAN_BITFIELD
 313                uint64_t reserved_8_63:56;
 314                uint64_t mask:8;
 315#else
 316                uint64_t mask:8;
 317                uint64_t reserved_8_63:56;
 318#endif
 319        } s;
 320};
 321
 322union cvmx_lmcx_char_mask4 {
 323        uint64_t u64;
 324        struct cvmx_lmcx_char_mask4_s {
 325#ifdef __BIG_ENDIAN_BITFIELD
 326                uint64_t reserved_33_63:31;
 327                uint64_t reset_n_mask:1;
 328                uint64_t a_mask:16;
 329                uint64_t ba_mask:3;
 330                uint64_t we_n_mask:1;
 331                uint64_t cas_n_mask:1;
 332                uint64_t ras_n_mask:1;
 333                uint64_t odt1_mask:2;
 334                uint64_t odt0_mask:2;
 335                uint64_t cs1_n_mask:2;
 336                uint64_t cs0_n_mask:2;
 337                uint64_t cke_mask:2;
 338#else
 339                uint64_t cke_mask:2;
 340                uint64_t cs0_n_mask:2;
 341                uint64_t cs1_n_mask:2;
 342                uint64_t odt0_mask:2;
 343                uint64_t odt1_mask:2;
 344                uint64_t ras_n_mask:1;
 345                uint64_t cas_n_mask:1;
 346                uint64_t we_n_mask:1;
 347                uint64_t ba_mask:3;
 348                uint64_t a_mask:16;
 349                uint64_t reset_n_mask:1;
 350                uint64_t reserved_33_63:31;
 351#endif
 352        } s;
 353};
 354
 355union cvmx_lmcx_comp_ctl {
 356        uint64_t u64;
 357        struct cvmx_lmcx_comp_ctl_s {
 358#ifdef __BIG_ENDIAN_BITFIELD
 359                uint64_t reserved_32_63:32;
 360                uint64_t nctl_csr:4;
 361                uint64_t nctl_clk:4;
 362                uint64_t nctl_cmd:4;
 363                uint64_t nctl_dat:4;
 364                uint64_t pctl_csr:4;
 365                uint64_t pctl_clk:4;
 366                uint64_t reserved_0_7:8;
 367#else
 368                uint64_t reserved_0_7:8;
 369                uint64_t pctl_clk:4;
 370                uint64_t pctl_csr:4;
 371                uint64_t nctl_dat:4;
 372                uint64_t nctl_cmd:4;
 373                uint64_t nctl_clk:4;
 374                uint64_t nctl_csr:4;
 375                uint64_t reserved_32_63:32;
 376#endif
 377        } s;
 378        struct cvmx_lmcx_comp_ctl_cn30xx {
 379#ifdef __BIG_ENDIAN_BITFIELD
 380                uint64_t reserved_32_63:32;
 381                uint64_t nctl_csr:4;
 382                uint64_t nctl_clk:4;
 383                uint64_t nctl_cmd:4;
 384                uint64_t nctl_dat:4;
 385                uint64_t pctl_csr:4;
 386                uint64_t pctl_clk:4;
 387                uint64_t pctl_cmd:4;
 388                uint64_t pctl_dat:4;
 389#else
 390                uint64_t pctl_dat:4;
 391                uint64_t pctl_cmd:4;
 392                uint64_t pctl_clk:4;
 393                uint64_t pctl_csr:4;
 394                uint64_t nctl_dat:4;
 395                uint64_t nctl_cmd:4;
 396                uint64_t nctl_clk:4;
 397                uint64_t nctl_csr:4;
 398                uint64_t reserved_32_63:32;
 399#endif
 400        } cn30xx;
 401        struct cvmx_lmcx_comp_ctl_cn50xx {
 402#ifdef __BIG_ENDIAN_BITFIELD
 403                uint64_t reserved_32_63:32;
 404                uint64_t nctl_csr:4;
 405                uint64_t reserved_20_27:8;
 406                uint64_t nctl_dat:4;
 407                uint64_t pctl_csr:4;
 408                uint64_t reserved_5_11:7;
 409                uint64_t pctl_dat:5;
 410#else
 411                uint64_t pctl_dat:5;
 412                uint64_t reserved_5_11:7;
 413                uint64_t pctl_csr:4;
 414                uint64_t nctl_dat:4;
 415                uint64_t reserved_20_27:8;
 416                uint64_t nctl_csr:4;
 417                uint64_t reserved_32_63:32;
 418#endif
 419        } cn50xx;
 420        struct cvmx_lmcx_comp_ctl_cn58xxp1 {
 421#ifdef __BIG_ENDIAN_BITFIELD
 422                uint64_t reserved_32_63:32;
 423                uint64_t nctl_csr:4;
 424                uint64_t reserved_20_27:8;
 425                uint64_t nctl_dat:4;
 426                uint64_t pctl_csr:4;
 427                uint64_t reserved_4_11:8;
 428                uint64_t pctl_dat:4;
 429#else
 430                uint64_t pctl_dat:4;
 431                uint64_t reserved_4_11:8;
 432                uint64_t pctl_csr:4;
 433                uint64_t nctl_dat:4;
 434                uint64_t reserved_20_27:8;
 435                uint64_t nctl_csr:4;
 436                uint64_t reserved_32_63:32;
 437#endif
 438        } cn58xxp1;
 439};
 440
 441union cvmx_lmcx_comp_ctl2 {
 442        uint64_t u64;
 443        struct cvmx_lmcx_comp_ctl2_s {
 444#ifdef __BIG_ENDIAN_BITFIELD
 445                uint64_t reserved_34_63:30;
 446                uint64_t ddr__ptune:4;
 447                uint64_t ddr__ntune:4;
 448                uint64_t m180:1;
 449                uint64_t byp:1;
 450                uint64_t ptune:4;
 451                uint64_t ntune:4;
 452                uint64_t rodt_ctl:4;
 453                uint64_t cmd_ctl:4;
 454                uint64_t ck_ctl:4;
 455                uint64_t dqx_ctl:4;
 456#else
 457                uint64_t dqx_ctl:4;
 458                uint64_t ck_ctl:4;
 459                uint64_t cmd_ctl:4;
 460                uint64_t rodt_ctl:4;
 461                uint64_t ntune:4;
 462                uint64_t ptune:4;
 463                uint64_t byp:1;
 464                uint64_t m180:1;
 465                uint64_t ddr__ntune:4;
 466                uint64_t ddr__ptune:4;
 467                uint64_t reserved_34_63:30;
 468#endif
 469        } s;
 470};
 471
 472union cvmx_lmcx_config {
 473        uint64_t u64;
 474        struct cvmx_lmcx_config_s {
 475#ifdef __BIG_ENDIAN_BITFIELD
 476                uint64_t reserved_61_63:3;
 477                uint64_t mode32b:1;
 478                uint64_t scrz:1;
 479                uint64_t early_unload_d1_r1:1;
 480                uint64_t early_unload_d1_r0:1;
 481                uint64_t early_unload_d0_r1:1;
 482                uint64_t early_unload_d0_r0:1;
 483                uint64_t init_status:4;
 484                uint64_t mirrmask:4;
 485                uint64_t rankmask:4;
 486                uint64_t rank_ena:1;
 487                uint64_t sref_with_dll:1;
 488                uint64_t early_dqx:1;
 489                uint64_t sequence:3;
 490                uint64_t ref_zqcs_int:19;
 491                uint64_t reset:1;
 492                uint64_t ecc_adr:1;
 493                uint64_t forcewrite:4;
 494                uint64_t idlepower:3;
 495                uint64_t pbank_lsb:4;
 496                uint64_t row_lsb:3;
 497                uint64_t ecc_ena:1;
 498                uint64_t init_start:1;
 499#else
 500                uint64_t init_start:1;
 501                uint64_t ecc_ena:1;
 502                uint64_t row_lsb:3;
 503                uint64_t pbank_lsb:4;
 504                uint64_t idlepower:3;
 505                uint64_t forcewrite:4;
 506                uint64_t ecc_adr:1;
 507                uint64_t reset:1;
 508                uint64_t ref_zqcs_int:19;
 509                uint64_t sequence:3;
 510                uint64_t early_dqx:1;
 511                uint64_t sref_with_dll:1;
 512                uint64_t rank_ena:1;
 513                uint64_t rankmask:4;
 514                uint64_t mirrmask:4;
 515                uint64_t init_status:4;
 516                uint64_t early_unload_d0_r0:1;
 517                uint64_t early_unload_d0_r1:1;
 518                uint64_t early_unload_d1_r0:1;
 519                uint64_t early_unload_d1_r1:1;
 520                uint64_t scrz:1;
 521                uint64_t mode32b:1;
 522                uint64_t reserved_61_63:3;
 523#endif
 524        } s;
 525        struct cvmx_lmcx_config_cn63xx {
 526#ifdef __BIG_ENDIAN_BITFIELD
 527                uint64_t reserved_59_63:5;
 528                uint64_t early_unload_d1_r1:1;
 529                uint64_t early_unload_d1_r0:1;
 530                uint64_t early_unload_d0_r1:1;
 531                uint64_t early_unload_d0_r0:1;
 532                uint64_t init_status:4;
 533                uint64_t mirrmask:4;
 534                uint64_t rankmask:4;
 535                uint64_t rank_ena:1;
 536                uint64_t sref_with_dll:1;
 537                uint64_t early_dqx:1;
 538                uint64_t sequence:3;
 539                uint64_t ref_zqcs_int:19;
 540                uint64_t reset:1;
 541                uint64_t ecc_adr:1;
 542                uint64_t forcewrite:4;
 543                uint64_t idlepower:3;
 544                uint64_t pbank_lsb:4;
 545                uint64_t row_lsb:3;
 546                uint64_t ecc_ena:1;
 547                uint64_t init_start:1;
 548#else
 549                uint64_t init_start:1;
 550                uint64_t ecc_ena:1;
 551                uint64_t row_lsb:3;
 552                uint64_t pbank_lsb:4;
 553                uint64_t idlepower:3;
 554                uint64_t forcewrite:4;
 555                uint64_t ecc_adr:1;
 556                uint64_t reset:1;
 557                uint64_t ref_zqcs_int:19;
 558                uint64_t sequence:3;
 559                uint64_t early_dqx:1;
 560                uint64_t sref_with_dll:1;
 561                uint64_t rank_ena:1;
 562                uint64_t rankmask:4;
 563                uint64_t mirrmask:4;
 564                uint64_t init_status:4;
 565                uint64_t early_unload_d0_r0:1;
 566                uint64_t early_unload_d0_r1:1;
 567                uint64_t early_unload_d1_r0:1;
 568                uint64_t early_unload_d1_r1:1;
 569                uint64_t reserved_59_63:5;
 570#endif
 571        } cn63xx;
 572        struct cvmx_lmcx_config_cn63xxp1 {
 573#ifdef __BIG_ENDIAN_BITFIELD
 574                uint64_t reserved_55_63:9;
 575                uint64_t init_status:4;
 576                uint64_t mirrmask:4;
 577                uint64_t rankmask:4;
 578                uint64_t rank_ena:1;
 579                uint64_t sref_with_dll:1;
 580                uint64_t early_dqx:1;
 581                uint64_t sequence:3;
 582                uint64_t ref_zqcs_int:19;
 583                uint64_t reset:1;
 584                uint64_t ecc_adr:1;
 585                uint64_t forcewrite:4;
 586                uint64_t idlepower:3;
 587                uint64_t pbank_lsb:4;
 588                uint64_t row_lsb:3;
 589                uint64_t ecc_ena:1;
 590                uint64_t init_start:1;
 591#else
 592                uint64_t init_start:1;
 593                uint64_t ecc_ena:1;
 594                uint64_t row_lsb:3;
 595                uint64_t pbank_lsb:4;
 596                uint64_t idlepower:3;
 597                uint64_t forcewrite:4;
 598                uint64_t ecc_adr:1;
 599                uint64_t reset:1;
 600                uint64_t ref_zqcs_int:19;
 601                uint64_t sequence:3;
 602                uint64_t early_dqx:1;
 603                uint64_t sref_with_dll:1;
 604                uint64_t rank_ena:1;
 605                uint64_t rankmask:4;
 606                uint64_t mirrmask:4;
 607                uint64_t init_status:4;
 608                uint64_t reserved_55_63:9;
 609#endif
 610        } cn63xxp1;
 611        struct cvmx_lmcx_config_cn66xx {
 612#ifdef __BIG_ENDIAN_BITFIELD
 613                uint64_t reserved_60_63:4;
 614                uint64_t scrz:1;
 615                uint64_t early_unload_d1_r1:1;
 616                uint64_t early_unload_d1_r0:1;
 617                uint64_t early_unload_d0_r1:1;
 618                uint64_t early_unload_d0_r0:1;
 619                uint64_t init_status:4;
 620                uint64_t mirrmask:4;
 621                uint64_t rankmask:4;
 622                uint64_t rank_ena:1;
 623                uint64_t sref_with_dll:1;
 624                uint64_t early_dqx:1;
 625                uint64_t sequence:3;
 626                uint64_t ref_zqcs_int:19;
 627                uint64_t reset:1;
 628                uint64_t ecc_adr:1;
 629                uint64_t forcewrite:4;
 630                uint64_t idlepower:3;
 631                uint64_t pbank_lsb:4;
 632                uint64_t row_lsb:3;
 633                uint64_t ecc_ena:1;
 634                uint64_t init_start:1;
 635#else
 636                uint64_t init_start:1;
 637                uint64_t ecc_ena:1;
 638                uint64_t row_lsb:3;
 639                uint64_t pbank_lsb:4;
 640                uint64_t idlepower:3;
 641                uint64_t forcewrite:4;
 642                uint64_t ecc_adr:1;
 643                uint64_t reset:1;
 644                uint64_t ref_zqcs_int:19;
 645                uint64_t sequence:3;
 646                uint64_t early_dqx:1;
 647                uint64_t sref_with_dll:1;
 648                uint64_t rank_ena:1;
 649                uint64_t rankmask:4;
 650                uint64_t mirrmask:4;
 651                uint64_t init_status:4;
 652                uint64_t early_unload_d0_r0:1;
 653                uint64_t early_unload_d0_r1:1;
 654                uint64_t early_unload_d1_r0:1;
 655                uint64_t early_unload_d1_r1:1;
 656                uint64_t scrz:1;
 657                uint64_t reserved_60_63:4;
 658#endif
 659        } cn66xx;
 660};
 661
 662union cvmx_lmcx_control {
 663        uint64_t u64;
 664        struct cvmx_lmcx_control_s {
 665#ifdef __BIG_ENDIAN_BITFIELD
 666                uint64_t scramble_ena:1;
 667                uint64_t thrcnt:12;
 668                uint64_t persub:8;
 669                uint64_t thrmax:4;
 670                uint64_t crm_cnt:5;
 671                uint64_t crm_thr:5;
 672                uint64_t crm_max:5;
 673                uint64_t rodt_bprch:1;
 674                uint64_t wodt_bprch:1;
 675                uint64_t bprch:2;
 676                uint64_t ext_zqcs_dis:1;
 677                uint64_t int_zqcs_dis:1;
 678                uint64_t auto_dclkdis:1;
 679                uint64_t xor_bank:1;
 680                uint64_t max_write_batch:4;
 681                uint64_t nxm_write_en:1;
 682                uint64_t elev_prio_dis:1;
 683                uint64_t inorder_wr:1;
 684                uint64_t inorder_rd:1;
 685                uint64_t throttle_wr:1;
 686                uint64_t throttle_rd:1;
 687                uint64_t fprch2:2;
 688                uint64_t pocas:1;
 689                uint64_t ddr2t:1;
 690                uint64_t bwcnt:1;
 691                uint64_t rdimm_ena:1;
 692#else
 693                uint64_t rdimm_ena:1;
 694                uint64_t bwcnt:1;
 695                uint64_t ddr2t:1;
 696                uint64_t pocas:1;
 697                uint64_t fprch2:2;
 698                uint64_t throttle_rd:1;
 699                uint64_t throttle_wr:1;
 700                uint64_t inorder_rd:1;
 701                uint64_t inorder_wr:1;
 702                uint64_t elev_prio_dis:1;
 703                uint64_t nxm_write_en:1;
 704                uint64_t max_write_batch:4;
 705                uint64_t xor_bank:1;
 706                uint64_t auto_dclkdis:1;
 707                uint64_t int_zqcs_dis:1;
 708                uint64_t ext_zqcs_dis:1;
 709                uint64_t bprch:2;
 710                uint64_t wodt_bprch:1;
 711                uint64_t rodt_bprch:1;
 712                uint64_t crm_max:5;
 713                uint64_t crm_thr:5;
 714                uint64_t crm_cnt:5;
 715                uint64_t thrmax:4;
 716                uint64_t persub:8;
 717                uint64_t thrcnt:12;
 718                uint64_t scramble_ena:1;
 719#endif
 720        } s;
 721        struct cvmx_lmcx_control_cn63xx {
 722#ifdef __BIG_ENDIAN_BITFIELD
 723                uint64_t reserved_24_63:40;
 724                uint64_t rodt_bprch:1;
 725                uint64_t wodt_bprch:1;
 726                uint64_t bprch:2;
 727                uint64_t ext_zqcs_dis:1;
 728                uint64_t int_zqcs_dis:1;
 729                uint64_t auto_dclkdis:1;
 730                uint64_t xor_bank:1;
 731                uint64_t max_write_batch:4;
 732                uint64_t nxm_write_en:1;
 733                uint64_t elev_prio_dis:1;
 734                uint64_t inorder_wr:1;
 735                uint64_t inorder_rd:1;
 736                uint64_t throttle_wr:1;
 737                uint64_t throttle_rd:1;
 738                uint64_t fprch2:2;
 739                uint64_t pocas:1;
 740                uint64_t ddr2t:1;
 741                uint64_t bwcnt:1;
 742                uint64_t rdimm_ena:1;
 743#else
 744                uint64_t rdimm_ena:1;
 745                uint64_t bwcnt:1;
 746                uint64_t ddr2t:1;
 747                uint64_t pocas:1;
 748                uint64_t fprch2:2;
 749                uint64_t throttle_rd:1;
 750                uint64_t throttle_wr:1;
 751                uint64_t inorder_rd:1;
 752                uint64_t inorder_wr:1;
 753                uint64_t elev_prio_dis:1;
 754                uint64_t nxm_write_en:1;
 755                uint64_t max_write_batch:4;
 756                uint64_t xor_bank:1;
 757                uint64_t auto_dclkdis:1;
 758                uint64_t int_zqcs_dis:1;
 759                uint64_t ext_zqcs_dis:1;
 760                uint64_t bprch:2;
 761                uint64_t wodt_bprch:1;
 762                uint64_t rodt_bprch:1;
 763                uint64_t reserved_24_63:40;
 764#endif
 765        } cn63xx;
 766        struct cvmx_lmcx_control_cn66xx {
 767#ifdef __BIG_ENDIAN_BITFIELD
 768                uint64_t scramble_ena:1;
 769                uint64_t reserved_24_62:39;
 770                uint64_t rodt_bprch:1;
 771                uint64_t wodt_bprch:1;
 772                uint64_t bprch:2;
 773                uint64_t ext_zqcs_dis:1;
 774                uint64_t int_zqcs_dis:1;
 775                uint64_t auto_dclkdis:1;
 776                uint64_t xor_bank:1;
 777                uint64_t max_write_batch:4;
 778                uint64_t nxm_write_en:1;
 779                uint64_t elev_prio_dis:1;
 780                uint64_t inorder_wr:1;
 781                uint64_t inorder_rd:1;
 782                uint64_t throttle_wr:1;
 783                uint64_t throttle_rd:1;
 784                uint64_t fprch2:2;
 785                uint64_t pocas:1;
 786                uint64_t ddr2t:1;
 787                uint64_t bwcnt:1;
 788                uint64_t rdimm_ena:1;
 789#else
 790                uint64_t rdimm_ena:1;
 791                uint64_t bwcnt:1;
 792                uint64_t ddr2t:1;
 793                uint64_t pocas:1;
 794                uint64_t fprch2:2;
 795                uint64_t throttle_rd:1;
 796                uint64_t throttle_wr:1;
 797                uint64_t inorder_rd:1;
 798                uint64_t inorder_wr:1;
 799                uint64_t elev_prio_dis:1;
 800                uint64_t nxm_write_en:1;
 801                uint64_t max_write_batch:4;
 802                uint64_t xor_bank:1;
 803                uint64_t auto_dclkdis:1;
 804                uint64_t int_zqcs_dis:1;
 805                uint64_t ext_zqcs_dis:1;
 806                uint64_t bprch:2;
 807                uint64_t wodt_bprch:1;
 808                uint64_t rodt_bprch:1;
 809                uint64_t reserved_24_62:39;
 810                uint64_t scramble_ena:1;
 811#endif
 812        } cn66xx;
 813        struct cvmx_lmcx_control_cn68xx {
 814#ifdef __BIG_ENDIAN_BITFIELD
 815                uint64_t reserved_63_63:1;
 816                uint64_t thrcnt:12;
 817                uint64_t persub:8;
 818                uint64_t thrmax:4;
 819                uint64_t crm_cnt:5;
 820                uint64_t crm_thr:5;
 821                uint64_t crm_max:5;
 822                uint64_t rodt_bprch:1;
 823                uint64_t wodt_bprch:1;
 824                uint64_t bprch:2;
 825                uint64_t ext_zqcs_dis:1;
 826                uint64_t int_zqcs_dis:1;
 827                uint64_t auto_dclkdis:1;
 828                uint64_t xor_bank:1;
 829                uint64_t max_write_batch:4;
 830                uint64_t nxm_write_en:1;
 831                uint64_t elev_prio_dis:1;
 832                uint64_t inorder_wr:1;
 833                uint64_t inorder_rd:1;
 834                uint64_t throttle_wr:1;
 835                uint64_t throttle_rd:1;
 836                uint64_t fprch2:2;
 837                uint64_t pocas:1;
 838                uint64_t ddr2t:1;
 839                uint64_t bwcnt:1;
 840                uint64_t rdimm_ena:1;
 841#else
 842                uint64_t rdimm_ena:1;
 843                uint64_t bwcnt:1;
 844                uint64_t ddr2t:1;
 845                uint64_t pocas:1;
 846                uint64_t fprch2:2;
 847                uint64_t throttle_rd:1;
 848                uint64_t throttle_wr:1;
 849                uint64_t inorder_rd:1;
 850                uint64_t inorder_wr:1;
 851                uint64_t elev_prio_dis:1;
 852                uint64_t nxm_write_en:1;
 853                uint64_t max_write_batch:4;
 854                uint64_t xor_bank:1;
 855                uint64_t auto_dclkdis:1;
 856                uint64_t int_zqcs_dis:1;
 857                uint64_t ext_zqcs_dis:1;
 858                uint64_t bprch:2;
 859                uint64_t wodt_bprch:1;
 860                uint64_t rodt_bprch:1;
 861                uint64_t crm_max:5;
 862                uint64_t crm_thr:5;
 863                uint64_t crm_cnt:5;
 864                uint64_t thrmax:4;
 865                uint64_t persub:8;
 866                uint64_t thrcnt:12;
 867                uint64_t reserved_63_63:1;
 868#endif
 869        } cn68xx;
 870};
 871
 872union cvmx_lmcx_ctl {
 873        uint64_t u64;
 874        struct cvmx_lmcx_ctl_s {
 875#ifdef __BIG_ENDIAN_BITFIELD
 876                uint64_t reserved_32_63:32;
 877                uint64_t ddr__nctl:4;
 878                uint64_t ddr__pctl:4;
 879                uint64_t slow_scf:1;
 880                uint64_t xor_bank:1;
 881                uint64_t max_write_batch:4;
 882                uint64_t pll_div2:1;
 883                uint64_t pll_bypass:1;
 884                uint64_t rdimm_ena:1;
 885                uint64_t r2r_slot:1;
 886                uint64_t inorder_mwf:1;
 887                uint64_t inorder_mrf:1;
 888                uint64_t reserved_10_11:2;
 889                uint64_t fprch2:1;
 890                uint64_t bprch:1;
 891                uint64_t sil_lat:2;
 892                uint64_t tskw:2;
 893                uint64_t qs_dic:2;
 894                uint64_t dic:2;
 895#else
 896                uint64_t dic:2;
 897                uint64_t qs_dic:2;
 898                uint64_t tskw:2;
 899                uint64_t sil_lat:2;
 900                uint64_t bprch:1;
 901                uint64_t fprch2:1;
 902                uint64_t reserved_10_11:2;
 903                uint64_t inorder_mrf:1;
 904                uint64_t inorder_mwf:1;
 905                uint64_t r2r_slot:1;
 906                uint64_t rdimm_ena:1;
 907                uint64_t pll_bypass:1;
 908                uint64_t pll_div2:1;
 909                uint64_t max_write_batch:4;
 910                uint64_t xor_bank:1;
 911                uint64_t slow_scf:1;
 912                uint64_t ddr__pctl:4;
 913                uint64_t ddr__nctl:4;
 914                uint64_t reserved_32_63:32;
 915#endif
 916        } s;
 917        struct cvmx_lmcx_ctl_cn30xx {
 918#ifdef __BIG_ENDIAN_BITFIELD
 919                uint64_t reserved_32_63:32;
 920                uint64_t ddr__nctl:4;
 921                uint64_t ddr__pctl:4;
 922                uint64_t slow_scf:1;
 923                uint64_t xor_bank:1;
 924                uint64_t max_write_batch:4;
 925                uint64_t pll_div2:1;
 926                uint64_t pll_bypass:1;
 927                uint64_t rdimm_ena:1;
 928                uint64_t r2r_slot:1;
 929                uint64_t inorder_mwf:1;
 930                uint64_t inorder_mrf:1;
 931                uint64_t dreset:1;
 932                uint64_t mode32b:1;
 933                uint64_t fprch2:1;
 934                uint64_t bprch:1;
 935                uint64_t sil_lat:2;
 936                uint64_t tskw:2;
 937                uint64_t qs_dic:2;
 938                uint64_t dic:2;
 939#else
 940                uint64_t dic:2;
 941                uint64_t qs_dic:2;
 942                uint64_t tskw:2;
 943                uint64_t sil_lat:2;
 944                uint64_t bprch:1;
 945                uint64_t fprch2:1;
 946                uint64_t mode32b:1;
 947                uint64_t dreset:1;
 948                uint64_t inorder_mrf:1;
 949                uint64_t inorder_mwf:1;
 950                uint64_t r2r_slot:1;
 951                uint64_t rdimm_ena:1;
 952                uint64_t pll_bypass:1;
 953                uint64_t pll_div2:1;
 954                uint64_t max_write_batch:4;
 955                uint64_t xor_bank:1;
 956                uint64_t slow_scf:1;
 957                uint64_t ddr__pctl:4;
 958                uint64_t ddr__nctl:4;
 959                uint64_t reserved_32_63:32;
 960#endif
 961        } cn30xx;
 962        struct cvmx_lmcx_ctl_cn38xx {
 963#ifdef __BIG_ENDIAN_BITFIELD
 964                uint64_t reserved_32_63:32;
 965                uint64_t ddr__nctl:4;
 966                uint64_t ddr__pctl:4;
 967                uint64_t slow_scf:1;
 968                uint64_t xor_bank:1;
 969                uint64_t max_write_batch:4;
 970                uint64_t reserved_16_17:2;
 971                uint64_t rdimm_ena:1;
 972                uint64_t r2r_slot:1;
 973                uint64_t inorder_mwf:1;
 974                uint64_t inorder_mrf:1;
 975                uint64_t set_zero:1;
 976                uint64_t mode128b:1;
 977                uint64_t fprch2:1;
 978                uint64_t bprch:1;
 979                uint64_t sil_lat:2;
 980                uint64_t tskw:2;
 981                uint64_t qs_dic:2;
 982                uint64_t dic:2;
 983#else
 984                uint64_t dic:2;
 985                uint64_t qs_dic:2;
 986                uint64_t tskw:2;
 987                uint64_t sil_lat:2;
 988                uint64_t bprch:1;
 989                uint64_t fprch2:1;
 990                uint64_t mode128b:1;
 991                uint64_t set_zero:1;
 992                uint64_t inorder_mrf:1;
 993                uint64_t inorder_mwf:1;
 994                uint64_t r2r_slot:1;
 995                uint64_t rdimm_ena:1;
 996                uint64_t reserved_16_17:2;
 997                uint64_t max_write_batch:4;
 998                uint64_t xor_bank:1;
 999                uint64_t slow_scf:1;
1000                uint64_t ddr__pctl:4;
1001                uint64_t ddr__nctl:4;
1002                uint64_t reserved_32_63:32;
1003#endif
1004        } cn38xx;
1005        struct cvmx_lmcx_ctl_cn50xx {
1006#ifdef __BIG_ENDIAN_BITFIELD
1007                uint64_t reserved_32_63:32;
1008                uint64_t ddr__nctl:4;
1009                uint64_t ddr__pctl:4;
1010                uint64_t slow_scf:1;
1011                uint64_t xor_bank:1;
1012                uint64_t max_write_batch:4;
1013                uint64_t reserved_17_17:1;
1014                uint64_t pll_bypass:1;
1015                uint64_t rdimm_ena:1;
1016                uint64_t r2r_slot:1;
1017                uint64_t inorder_mwf:1;
1018                uint64_t inorder_mrf:1;
1019                uint64_t dreset:1;
1020                uint64_t mode32b:1;
1021                uint64_t fprch2:1;
1022                uint64_t bprch:1;
1023                uint64_t sil_lat:2;
1024                uint64_t tskw:2;
1025                uint64_t qs_dic:2;
1026                uint64_t dic:2;
1027#else
1028                uint64_t dic:2;
1029                uint64_t qs_dic:2;
1030                uint64_t tskw:2;
1031                uint64_t sil_lat:2;
1032                uint64_t bprch:1;
1033                uint64_t fprch2:1;
1034                uint64_t mode32b:1;
1035                uint64_t dreset:1;
1036                uint64_t inorder_mrf:1;
1037                uint64_t inorder_mwf:1;
1038                uint64_t r2r_slot:1;
1039                uint64_t rdimm_ena:1;
1040                uint64_t pll_bypass:1;
1041                uint64_t reserved_17_17:1;
1042                uint64_t max_write_batch:4;
1043                uint64_t xor_bank:1;
1044                uint64_t slow_scf:1;
1045                uint64_t ddr__pctl:4;
1046                uint64_t ddr__nctl:4;
1047                uint64_t reserved_32_63:32;
1048#endif
1049        } cn50xx;
1050        struct cvmx_lmcx_ctl_cn52xx {
1051#ifdef __BIG_ENDIAN_BITFIELD
1052                uint64_t reserved_32_63:32;
1053                uint64_t ddr__nctl:4;
1054                uint64_t ddr__pctl:4;
1055                uint64_t slow_scf:1;
1056                uint64_t xor_bank:1;
1057                uint64_t max_write_batch:4;
1058                uint64_t reserved_16_17:2;
1059                uint64_t rdimm_ena:1;
1060                uint64_t r2r_slot:1;
1061                uint64_t inorder_mwf:1;
1062                uint64_t inorder_mrf:1;
1063                uint64_t dreset:1;
1064                uint64_t mode32b:1;
1065                uint64_t fprch2:1;
1066                uint64_t bprch:1;
1067                uint64_t sil_lat:2;
1068                uint64_t tskw:2;
1069                uint64_t qs_dic:2;
1070                uint64_t dic:2;
1071#else
1072                uint64_t dic:2;
1073                uint64_t qs_dic:2;
1074                uint64_t tskw:2;
1075                uint64_t sil_lat:2;
1076                uint64_t bprch:1;
1077                uint64_t fprch2:1;
1078                uint64_t mode32b:1;
1079                uint64_t dreset:1;
1080                uint64_t inorder_mrf:1;
1081                uint64_t inorder_mwf:1;
1082                uint64_t r2r_slot:1;
1083                uint64_t rdimm_ena:1;
1084                uint64_t reserved_16_17:2;
1085                uint64_t max_write_batch:4;
1086                uint64_t xor_bank:1;
1087                uint64_t slow_scf:1;
1088                uint64_t ddr__pctl:4;
1089                uint64_t ddr__nctl:4;
1090                uint64_t reserved_32_63:32;
1091#endif
1092        } cn52xx;
1093        struct cvmx_lmcx_ctl_cn58xx {
1094#ifdef __BIG_ENDIAN_BITFIELD
1095                uint64_t reserved_32_63:32;
1096                uint64_t ddr__nctl:4;
1097                uint64_t ddr__pctl:4;
1098                uint64_t slow_scf:1;
1099                uint64_t xor_bank:1;
1100                uint64_t max_write_batch:4;
1101                uint64_t reserved_16_17:2;
1102                uint64_t rdimm_ena:1;
1103                uint64_t r2r_slot:1;
1104                uint64_t inorder_mwf:1;
1105                uint64_t inorder_mrf:1;
1106                uint64_t dreset:1;
1107                uint64_t mode128b:1;
1108                uint64_t fprch2:1;
1109                uint64_t bprch:1;
1110                uint64_t sil_lat:2;
1111                uint64_t tskw:2;
1112                uint64_t qs_dic:2;
1113                uint64_t dic:2;
1114#else
1115                uint64_t dic:2;
1116                uint64_t qs_dic:2;
1117                uint64_t tskw:2;
1118                uint64_t sil_lat:2;
1119                uint64_t bprch:1;
1120                uint64_t fprch2:1;
1121                uint64_t mode128b:1;
1122                uint64_t dreset:1;
1123                uint64_t inorder_mrf:1;
1124                uint64_t inorder_mwf:1;
1125                uint64_t r2r_slot:1;
1126                uint64_t rdimm_ena:1;
1127                uint64_t reserved_16_17:2;
1128                uint64_t max_write_batch:4;
1129                uint64_t xor_bank:1;
1130                uint64_t slow_scf:1;
1131                uint64_t ddr__pctl:4;
1132                uint64_t ddr__nctl:4;
1133                uint64_t reserved_32_63:32;
1134#endif
1135        } cn58xx;
1136};
1137
1138union cvmx_lmcx_ctl1 {
1139        uint64_t u64;
1140        struct cvmx_lmcx_ctl1_s {
1141#ifdef __BIG_ENDIAN_BITFIELD
1142                uint64_t reserved_21_63:43;
1143                uint64_t ecc_adr:1;
1144                uint64_t forcewrite:4;
1145                uint64_t idlepower:3;
1146                uint64_t sequence:3;
1147                uint64_t sil_mode:1;
1148                uint64_t dcc_enable:1;
1149                uint64_t reserved_2_7:6;
1150                uint64_t data_layout:2;
1151#else
1152                uint64_t data_layout:2;
1153                uint64_t reserved_2_7:6;
1154                uint64_t dcc_enable:1;
1155                uint64_t sil_mode:1;
1156                uint64_t sequence:3;
1157                uint64_t idlepower:3;
1158                uint64_t forcewrite:4;
1159                uint64_t ecc_adr:1;
1160                uint64_t reserved_21_63:43;
1161#endif
1162        } s;
1163        struct cvmx_lmcx_ctl1_cn30xx {
1164#ifdef __BIG_ENDIAN_BITFIELD
1165                uint64_t reserved_2_63:62;
1166                uint64_t data_layout:2;
1167#else
1168                uint64_t data_layout:2;
1169                uint64_t reserved_2_63:62;
1170#endif
1171        } cn30xx;
1172        struct cvmx_lmcx_ctl1_cn50xx {
1173#ifdef __BIG_ENDIAN_BITFIELD
1174                uint64_t reserved_10_63:54;
1175                uint64_t sil_mode:1;
1176                uint64_t dcc_enable:1;
1177                uint64_t reserved_2_7:6;
1178                uint64_t data_layout:2;
1179#else
1180                uint64_t data_layout:2;
1181                uint64_t reserved_2_7:6;
1182                uint64_t dcc_enable:1;
1183                uint64_t sil_mode:1;
1184                uint64_t reserved_10_63:54;
1185#endif
1186        } cn50xx;
1187        struct cvmx_lmcx_ctl1_cn52xx {
1188#ifdef __BIG_ENDIAN_BITFIELD
1189                uint64_t reserved_21_63:43;
1190                uint64_t ecc_adr:1;
1191                uint64_t forcewrite:4;
1192                uint64_t idlepower:3;
1193                uint64_t sequence:3;
1194                uint64_t sil_mode:1;
1195                uint64_t dcc_enable:1;
1196                uint64_t reserved_0_7:8;
1197#else
1198                uint64_t reserved_0_7:8;
1199                uint64_t dcc_enable:1;
1200                uint64_t sil_mode:1;
1201                uint64_t sequence:3;
1202                uint64_t idlepower:3;
1203                uint64_t forcewrite:4;
1204                uint64_t ecc_adr:1;
1205                uint64_t reserved_21_63:43;
1206#endif
1207        } cn52xx;
1208        struct cvmx_lmcx_ctl1_cn58xx {
1209#ifdef __BIG_ENDIAN_BITFIELD
1210                uint64_t reserved_10_63:54;
1211                uint64_t sil_mode:1;
1212                uint64_t dcc_enable:1;
1213                uint64_t reserved_0_7:8;
1214#else
1215                uint64_t reserved_0_7:8;
1216                uint64_t dcc_enable:1;
1217                uint64_t sil_mode:1;
1218                uint64_t reserved_10_63:54;
1219#endif
1220        } cn58xx;
1221};
1222
1223union cvmx_lmcx_dclk_cnt {
1224        uint64_t u64;
1225        struct cvmx_lmcx_dclk_cnt_s {
1226#ifdef __BIG_ENDIAN_BITFIELD
1227                uint64_t dclkcnt:64;
1228#else
1229                uint64_t dclkcnt:64;
1230#endif
1231        } s;
1232};
1233
1234union cvmx_lmcx_dclk_cnt_hi {
1235        uint64_t u64;
1236        struct cvmx_lmcx_dclk_cnt_hi_s {
1237#ifdef __BIG_ENDIAN_BITFIELD
1238                uint64_t reserved_32_63:32;
1239                uint64_t dclkcnt_hi:32;
1240#else
1241                uint64_t dclkcnt_hi:32;
1242                uint64_t reserved_32_63:32;
1243#endif
1244        } s;
1245};
1246
1247union cvmx_lmcx_dclk_cnt_lo {
1248        uint64_t u64;
1249        struct cvmx_lmcx_dclk_cnt_lo_s {
1250#ifdef __BIG_ENDIAN_BITFIELD
1251                uint64_t reserved_32_63:32;
1252                uint64_t dclkcnt_lo:32;
1253#else
1254                uint64_t dclkcnt_lo:32;
1255                uint64_t reserved_32_63:32;
1256#endif
1257        } s;
1258};
1259
1260union cvmx_lmcx_dclk_ctl {
1261        uint64_t u64;
1262        struct cvmx_lmcx_dclk_ctl_s {
1263#ifdef __BIG_ENDIAN_BITFIELD
1264                uint64_t reserved_8_63:56;
1265                uint64_t off90_ena:1;
1266                uint64_t dclk90_byp:1;
1267                uint64_t dclk90_ld:1;
1268                uint64_t dclk90_vlu:5;
1269#else
1270                uint64_t dclk90_vlu:5;
1271                uint64_t dclk90_ld:1;
1272                uint64_t dclk90_byp:1;
1273                uint64_t off90_ena:1;
1274                uint64_t reserved_8_63:56;
1275#endif
1276        } s;
1277};
1278
1279union cvmx_lmcx_ddr2_ctl {
1280        uint64_t u64;
1281        struct cvmx_lmcx_ddr2_ctl_s {
1282#ifdef __BIG_ENDIAN_BITFIELD
1283                uint64_t reserved_32_63:32;
1284                uint64_t bank8:1;
1285                uint64_t burst8:1;
1286                uint64_t addlat:3;
1287                uint64_t pocas:1;
1288                uint64_t bwcnt:1;
1289                uint64_t twr:3;
1290                uint64_t silo_hc:1;
1291                uint64_t ddr_eof:4;
1292                uint64_t tfaw:5;
1293                uint64_t crip_mode:1;
1294                uint64_t ddr2t:1;
1295                uint64_t odt_ena:1;
1296                uint64_t qdll_ena:1;
1297                uint64_t dll90_vlu:5;
1298                uint64_t dll90_byp:1;
1299                uint64_t rdqs:1;
1300                uint64_t ddr2:1;
1301#else
1302                uint64_t ddr2:1;
1303                uint64_t rdqs:1;
1304                uint64_t dll90_byp:1;
1305                uint64_t dll90_vlu:5;
1306                uint64_t qdll_ena:1;
1307                uint64_t odt_ena:1;
1308                uint64_t ddr2t:1;
1309                uint64_t crip_mode:1;
1310                uint64_t tfaw:5;
1311                uint64_t ddr_eof:4;
1312                uint64_t silo_hc:1;
1313                uint64_t twr:3;
1314                uint64_t bwcnt:1;
1315                uint64_t pocas:1;
1316                uint64_t addlat:3;
1317                uint64_t burst8:1;
1318                uint64_t bank8:1;
1319                uint64_t reserved_32_63:32;
1320#endif
1321        } s;
1322        struct cvmx_lmcx_ddr2_ctl_cn30xx {
1323#ifdef __BIG_ENDIAN_BITFIELD
1324                uint64_t reserved_32_63:32;
1325                uint64_t bank8:1;
1326                uint64_t burst8:1;
1327                uint64_t addlat:3;
1328                uint64_t pocas:1;
1329                uint64_t bwcnt:1;
1330                uint64_t twr:3;
1331                uint64_t silo_hc:1;
1332                uint64_t ddr_eof:4;
1333                uint64_t tfaw:5;
1334                uint64_t crip_mode:1;
1335                uint64_t ddr2t:1;
1336                uint64_t odt_ena:1;
1337                uint64_t qdll_ena:1;
1338                uint64_t dll90_vlu:5;
1339                uint64_t dll90_byp:1;
1340                uint64_t reserved_1_1:1;
1341                uint64_t ddr2:1;
1342#else
1343                uint64_t ddr2:1;
1344                uint64_t reserved_1_1:1;
1345                uint64_t dll90_byp:1;
1346                uint64_t dll90_vlu:5;
1347                uint64_t qdll_ena:1;
1348                uint64_t odt_ena:1;
1349                uint64_t ddr2t:1;
1350                uint64_t crip_mode:1;
1351                uint64_t tfaw:5;
1352                uint64_t ddr_eof:4;
1353                uint64_t silo_hc:1;
1354                uint64_t twr:3;
1355                uint64_t bwcnt:1;
1356                uint64_t pocas:1;
1357                uint64_t addlat:3;
1358                uint64_t burst8:1;
1359                uint64_t bank8:1;
1360                uint64_t reserved_32_63:32;
1361#endif
1362        } cn30xx;
1363};
1364
1365union cvmx_lmcx_ddr_pll_ctl {
1366        uint64_t u64;
1367        struct cvmx_lmcx_ddr_pll_ctl_s {
1368#ifdef __BIG_ENDIAN_BITFIELD
1369                uint64_t reserved_27_63:37;
1370                uint64_t jtg_test_mode:1;
1371                uint64_t dfm_div_reset:1;
1372                uint64_t dfm_ps_en:3;
1373                uint64_t ddr_div_reset:1;
1374                uint64_t ddr_ps_en:3;
1375                uint64_t diffamp:4;
1376                uint64_t cps:3;
1377                uint64_t cpb:3;
1378                uint64_t reset_n:1;
1379                uint64_t clkf:7;
1380#else
1381                uint64_t clkf:7;
1382                uint64_t reset_n:1;
1383                uint64_t cpb:3;
1384                uint64_t cps:3;
1385                uint64_t diffamp:4;
1386                uint64_t ddr_ps_en:3;
1387                uint64_t ddr_div_reset:1;
1388                uint64_t dfm_ps_en:3;
1389                uint64_t dfm_div_reset:1;
1390                uint64_t jtg_test_mode:1;
1391                uint64_t reserved_27_63:37;
1392#endif
1393        } s;
1394};
1395
1396union cvmx_lmcx_delay_cfg {
1397        uint64_t u64;
1398        struct cvmx_lmcx_delay_cfg_s {
1399#ifdef __BIG_ENDIAN_BITFIELD
1400                uint64_t reserved_15_63:49;
1401                uint64_t dq:5;
1402                uint64_t cmd:5;
1403                uint64_t clk:5;
1404#else
1405                uint64_t clk:5;
1406                uint64_t cmd:5;
1407                uint64_t dq:5;
1408                uint64_t reserved_15_63:49;
1409#endif
1410        } s;
1411        struct cvmx_lmcx_delay_cfg_cn38xx {
1412#ifdef __BIG_ENDIAN_BITFIELD
1413                uint64_t reserved_14_63:50;
1414                uint64_t dq:4;
1415                uint64_t reserved_9_9:1;
1416                uint64_t cmd:4;
1417                uint64_t reserved_4_4:1;
1418                uint64_t clk:4;
1419#else
1420                uint64_t clk:4;
1421                uint64_t reserved_4_4:1;
1422                uint64_t cmd:4;
1423                uint64_t reserved_9_9:1;
1424                uint64_t dq:4;
1425                uint64_t reserved_14_63:50;
1426#endif
1427        } cn38xx;
1428};
1429
1430union cvmx_lmcx_dimmx_params {
1431        uint64_t u64;
1432        struct cvmx_lmcx_dimmx_params_s {
1433#ifdef __BIG_ENDIAN_BITFIELD
1434                uint64_t rc15:4;
1435                uint64_t rc14:4;
1436                uint64_t rc13:4;
1437                uint64_t rc12:4;
1438                uint64_t rc11:4;
1439                uint64_t rc10:4;
1440                uint64_t rc9:4;
1441                uint64_t rc8:4;
1442                uint64_t rc7:4;
1443                uint64_t rc6:4;
1444                uint64_t rc5:4;
1445                uint64_t rc4:4;
1446                uint64_t rc3:4;
1447                uint64_t rc2:4;
1448                uint64_t rc1:4;
1449                uint64_t rc0:4;
1450#else
1451                uint64_t rc0:4;
1452                uint64_t rc1:4;
1453                uint64_t rc2:4;
1454                uint64_t rc3:4;
1455                uint64_t rc4:4;
1456                uint64_t rc5:4;
1457                uint64_t rc6:4;
1458                uint64_t rc7:4;
1459                uint64_t rc8:4;
1460                uint64_t rc9:4;
1461                uint64_t rc10:4;
1462                uint64_t rc11:4;
1463                uint64_t rc12:4;
1464                uint64_t rc13:4;
1465                uint64_t rc14:4;
1466                uint64_t rc15:4;
1467#endif
1468        } s;
1469};
1470
1471union cvmx_lmcx_dimm_ctl {
1472        uint64_t u64;
1473        struct cvmx_lmcx_dimm_ctl_s {
1474#ifdef __BIG_ENDIAN_BITFIELD
1475                uint64_t reserved_46_63:18;
1476                uint64_t parity:1;
1477                uint64_t tcws:13;
1478                uint64_t dimm1_wmask:16;
1479                uint64_t dimm0_wmask:16;
1480#else
1481                uint64_t dimm0_wmask:16;
1482                uint64_t dimm1_wmask:16;
1483                uint64_t tcws:13;
1484                uint64_t parity:1;
1485                uint64_t reserved_46_63:18;
1486#endif
1487        } s;
1488};
1489
1490union cvmx_lmcx_dll_ctl {
1491        uint64_t u64;
1492        struct cvmx_lmcx_dll_ctl_s {
1493#ifdef __BIG_ENDIAN_BITFIELD
1494                uint64_t reserved_8_63:56;
1495                uint64_t dreset:1;
1496                uint64_t dll90_byp:1;
1497                uint64_t dll90_ena:1;
1498                uint64_t dll90_vlu:5;
1499#else
1500                uint64_t dll90_vlu:5;
1501                uint64_t dll90_ena:1;
1502                uint64_t dll90_byp:1;
1503                uint64_t dreset:1;
1504                uint64_t reserved_8_63:56;
1505#endif
1506        } s;
1507};
1508
1509union cvmx_lmcx_dll_ctl2 {
1510        uint64_t u64;
1511        struct cvmx_lmcx_dll_ctl2_s {
1512#ifdef __BIG_ENDIAN_BITFIELD
1513                uint64_t reserved_16_63:48;
1514                uint64_t intf_en:1;
1515                uint64_t dll_bringup:1;
1516                uint64_t dreset:1;
1517                uint64_t quad_dll_ena:1;
1518                uint64_t byp_sel:4;
1519                uint64_t byp_setting:8;
1520#else
1521                uint64_t byp_setting:8;
1522                uint64_t byp_sel:4;
1523                uint64_t quad_dll_ena:1;
1524                uint64_t dreset:1;
1525                uint64_t dll_bringup:1;
1526                uint64_t intf_en:1;
1527                uint64_t reserved_16_63:48;
1528#endif
1529        } s;
1530        struct cvmx_lmcx_dll_ctl2_cn63xx {
1531#ifdef __BIG_ENDIAN_BITFIELD
1532                uint64_t reserved_15_63:49;
1533                uint64_t dll_bringup:1;
1534                uint64_t dreset:1;
1535                uint64_t quad_dll_ena:1;
1536                uint64_t byp_sel:4;
1537                uint64_t byp_setting:8;
1538#else
1539                uint64_t byp_setting:8;
1540                uint64_t byp_sel:4;
1541                uint64_t quad_dll_ena:1;
1542                uint64_t dreset:1;
1543                uint64_t dll_bringup:1;
1544                uint64_t reserved_15_63:49;
1545#endif
1546        } cn63xx;
1547};
1548
1549union cvmx_lmcx_dll_ctl3 {
1550        uint64_t u64;
1551        struct cvmx_lmcx_dll_ctl3_s {
1552#ifdef __BIG_ENDIAN_BITFIELD
1553                uint64_t reserved_41_63:23;
1554                uint64_t dclk90_fwd:1;
1555                uint64_t ddr_90_dly_byp:1;
1556                uint64_t dclk90_recal_dis:1;
1557                uint64_t dclk90_byp_sel:1;
1558                uint64_t dclk90_byp_setting:8;
1559                uint64_t dll_fast:1;
1560                uint64_t dll90_setting:8;
1561                uint64_t fine_tune_mode:1;
1562                uint64_t dll_mode:1;
1563                uint64_t dll90_byte_sel:4;
1564                uint64_t offset_ena:1;
1565                uint64_t load_offset:1;
1566                uint64_t mode_sel:2;
1567                uint64_t byte_sel:4;
1568                uint64_t offset:6;
1569#else
1570                uint64_t offset:6;
1571                uint64_t byte_sel:4;
1572                uint64_t mode_sel:2;
1573                uint64_t load_offset:1;
1574                uint64_t offset_ena:1;
1575                uint64_t dll90_byte_sel:4;
1576                uint64_t dll_mode:1;
1577                uint64_t fine_tune_mode:1;
1578                uint64_t dll90_setting:8;
1579                uint64_t dll_fast:1;
1580                uint64_t dclk90_byp_setting:8;
1581                uint64_t dclk90_byp_sel:1;
1582                uint64_t dclk90_recal_dis:1;
1583                uint64_t ddr_90_dly_byp:1;
1584                uint64_t dclk90_fwd:1;
1585                uint64_t reserved_41_63:23;
1586#endif
1587        } s;
1588        struct cvmx_lmcx_dll_ctl3_cn63xx {
1589#ifdef __BIG_ENDIAN_BITFIELD
1590                uint64_t reserved_29_63:35;
1591                uint64_t dll_fast:1;
1592                uint64_t dll90_setting:8;
1593                uint64_t fine_tune_mode:1;
1594                uint64_t dll_mode:1;
1595                uint64_t dll90_byte_sel:4;
1596                uint64_t offset_ena:1;
1597                uint64_t load_offset:1;
1598                uint64_t mode_sel:2;
1599                uint64_t byte_sel:4;
1600                uint64_t offset:6;
1601#else
1602                uint64_t offset:6;
1603                uint64_t byte_sel:4;
1604                uint64_t mode_sel:2;
1605                uint64_t load_offset:1;
1606                uint64_t offset_ena:1;
1607                uint64_t dll90_byte_sel:4;
1608                uint64_t dll_mode:1;
1609                uint64_t fine_tune_mode:1;
1610                uint64_t dll90_setting:8;
1611                uint64_t dll_fast:1;
1612                uint64_t reserved_29_63:35;
1613#endif
1614        } cn63xx;
1615};
1616
1617union cvmx_lmcx_dual_memcfg {
1618        uint64_t u64;
1619        struct cvmx_lmcx_dual_memcfg_s {
1620#ifdef __BIG_ENDIAN_BITFIELD
1621                uint64_t reserved_20_63:44;
1622                uint64_t bank8:1;
1623                uint64_t row_lsb:3;
1624                uint64_t reserved_8_15:8;
1625                uint64_t cs_mask:8;
1626#else
1627                uint64_t cs_mask:8;
1628                uint64_t reserved_8_15:8;
1629                uint64_t row_lsb:3;
1630                uint64_t bank8:1;
1631                uint64_t reserved_20_63:44;
1632#endif
1633        } s;
1634        struct cvmx_lmcx_dual_memcfg_cn61xx {
1635#ifdef __BIG_ENDIAN_BITFIELD
1636                uint64_t reserved_19_63:45;
1637                uint64_t row_lsb:3;
1638                uint64_t reserved_8_15:8;
1639                uint64_t cs_mask:8;
1640#else
1641                uint64_t cs_mask:8;
1642                uint64_t reserved_8_15:8;
1643                uint64_t row_lsb:3;
1644                uint64_t reserved_19_63:45;
1645#endif
1646        } cn61xx;
1647};
1648
1649union cvmx_lmcx_ecc_synd {
1650        uint64_t u64;
1651        struct cvmx_lmcx_ecc_synd_s {
1652#ifdef __BIG_ENDIAN_BITFIELD
1653                uint64_t reserved_32_63:32;
1654                uint64_t mrdsyn3:8;
1655                uint64_t mrdsyn2:8;
1656                uint64_t mrdsyn1:8;
1657                uint64_t mrdsyn0:8;
1658#else
1659                uint64_t mrdsyn0:8;
1660                uint64_t mrdsyn1:8;
1661                uint64_t mrdsyn2:8;
1662                uint64_t mrdsyn3:8;
1663                uint64_t reserved_32_63:32;
1664#endif
1665        } s;
1666};
1667
1668union cvmx_lmcx_fadr {
1669        uint64_t u64;
1670        struct cvmx_lmcx_fadr_s {
1671#ifdef __BIG_ENDIAN_BITFIELD
1672                uint64_t reserved_0_63:64;
1673#else
1674                uint64_t reserved_0_63:64;
1675#endif
1676        } s;
1677        struct cvmx_lmcx_fadr_cn30xx {
1678#ifdef __BIG_ENDIAN_BITFIELD
1679                uint64_t reserved_32_63:32;
1680                uint64_t fdimm:2;
1681                uint64_t fbunk:1;
1682                uint64_t fbank:3;
1683                uint64_t frow:14;
1684                uint64_t fcol:12;
1685#else
1686                uint64_t fcol:12;
1687                uint64_t frow:14;
1688                uint64_t fbank:3;
1689                uint64_t fbunk:1;
1690                uint64_t fdimm:2;
1691                uint64_t reserved_32_63:32;
1692#endif
1693        } cn30xx;
1694        struct cvmx_lmcx_fadr_cn61xx {
1695#ifdef __BIG_ENDIAN_BITFIELD
1696                uint64_t reserved_36_63:28;
1697                uint64_t fdimm:2;
1698                uint64_t fbunk:1;
1699                uint64_t fbank:3;
1700                uint64_t frow:16;
1701                uint64_t fcol:14;
1702#else
1703                uint64_t fcol:14;
1704                uint64_t frow:16;
1705                uint64_t fbank:3;
1706                uint64_t fbunk:1;
1707                uint64_t fdimm:2;
1708                uint64_t reserved_36_63:28;
1709#endif
1710        } cn61xx;
1711};
1712
1713union cvmx_lmcx_ifb_cnt {
1714        uint64_t u64;
1715        struct cvmx_lmcx_ifb_cnt_s {
1716#ifdef __BIG_ENDIAN_BITFIELD
1717                uint64_t ifbcnt:64;
1718#else
1719                uint64_t ifbcnt:64;
1720#endif
1721        } s;
1722};
1723
1724union cvmx_lmcx_ifb_cnt_hi {
1725        uint64_t u64;
1726        struct cvmx_lmcx_ifb_cnt_hi_s {
1727#ifdef __BIG_ENDIAN_BITFIELD
1728                uint64_t reserved_32_63:32;
1729                uint64_t ifbcnt_hi:32;
1730#else
1731                uint64_t ifbcnt_hi:32;
1732                uint64_t reserved_32_63:32;
1733#endif
1734        } s;
1735};
1736
1737union cvmx_lmcx_ifb_cnt_lo {
1738        uint64_t u64;
1739        struct cvmx_lmcx_ifb_cnt_lo_s {
1740#ifdef __BIG_ENDIAN_BITFIELD
1741                uint64_t reserved_32_63:32;
1742                uint64_t ifbcnt_lo:32;
1743#else
1744                uint64_t ifbcnt_lo:32;
1745                uint64_t reserved_32_63:32;
1746#endif
1747        } s;
1748};
1749
1750union cvmx_lmcx_int {
1751        uint64_t u64;
1752        struct cvmx_lmcx_int_s {
1753#ifdef __BIG_ENDIAN_BITFIELD
1754                uint64_t reserved_9_63:55;
1755                uint64_t ded_err:4;
1756                uint64_t sec_err:4;
1757                uint64_t nxm_wr_err:1;
1758#else
1759                uint64_t nxm_wr_err:1;
1760                uint64_t sec_err:4;
1761                uint64_t ded_err:4;
1762                uint64_t reserved_9_63:55;
1763#endif
1764        } s;
1765};
1766
1767union cvmx_lmcx_int_en {
1768        uint64_t u64;
1769        struct cvmx_lmcx_int_en_s {
1770#ifdef __BIG_ENDIAN_BITFIELD
1771                uint64_t reserved_3_63:61;
1772                uint64_t intr_ded_ena:1;
1773                uint64_t intr_sec_ena:1;
1774                uint64_t intr_nxm_wr_ena:1;
1775#else
1776                uint64_t intr_nxm_wr_ena:1;
1777                uint64_t intr_sec_ena:1;
1778                uint64_t intr_ded_ena:1;
1779                uint64_t reserved_3_63:61;
1780#endif
1781        } s;
1782};
1783
1784union cvmx_lmcx_mem_cfg0 {
1785        uint64_t u64;
1786        struct cvmx_lmcx_mem_cfg0_s {
1787#ifdef __BIG_ENDIAN_BITFIELD
1788                uint64_t reserved_32_63:32;
1789                uint64_t reset:1;
1790                uint64_t silo_qc:1;
1791                uint64_t bunk_ena:1;
1792                uint64_t ded_err:4;
1793                uint64_t sec_err:4;
1794                uint64_t intr_ded_ena:1;
1795                uint64_t intr_sec_ena:1;
1796                uint64_t tcl:4;
1797                uint64_t ref_int:6;
1798                uint64_t pbank_lsb:4;
1799                uint64_t row_lsb:3;
1800                uint64_t ecc_ena:1;
1801                uint64_t init_start:1;
1802#else
1803                uint64_t init_start:1;
1804                uint64_t ecc_ena:1;
1805                uint64_t row_lsb:3;
1806                uint64_t pbank_lsb:4;
1807                uint64_t ref_int:6;
1808                uint64_t tcl:4;
1809                uint64_t intr_sec_ena:1;
1810                uint64_t intr_ded_ena:1;
1811                uint64_t sec_err:4;
1812                uint64_t ded_err:4;
1813                uint64_t bunk_ena:1;
1814                uint64_t silo_qc:1;
1815                uint64_t reset:1;
1816                uint64_t reserved_32_63:32;
1817#endif
1818        } s;
1819};
1820
1821union cvmx_lmcx_mem_cfg1 {
1822        uint64_t u64;
1823        struct cvmx_lmcx_mem_cfg1_s {
1824#ifdef __BIG_ENDIAN_BITFIELD
1825                uint64_t reserved_32_63:32;
1826                uint64_t comp_bypass:1;
1827                uint64_t trrd:3;
1828                uint64_t caslat:3;
1829                uint64_t tmrd:3;
1830                uint64_t trfc:5;
1831                uint64_t trp:4;
1832                uint64_t twtr:4;
1833                uint64_t trcd:4;
1834                uint64_t tras:5;
1835#else
1836                uint64_t tras:5;
1837                uint64_t trcd:4;
1838                uint64_t twtr:4;
1839                uint64_t trp:4;
1840                uint64_t trfc:5;
1841                uint64_t tmrd:3;
1842                uint64_t caslat:3;
1843                uint64_t trrd:3;
1844                uint64_t comp_bypass:1;
1845                uint64_t reserved_32_63:32;
1846#endif
1847        } s;
1848        struct cvmx_lmcx_mem_cfg1_cn38xx {
1849#ifdef __BIG_ENDIAN_BITFIELD
1850                uint64_t reserved_31_63:33;
1851                uint64_t trrd:3;
1852                uint64_t caslat:3;
1853                uint64_t tmrd:3;
1854                uint64_t trfc:5;
1855                uint64_t trp:4;
1856                uint64_t twtr:4;
1857                uint64_t trcd:4;
1858                uint64_t tras:5;
1859#else
1860                uint64_t tras:5;
1861                uint64_t trcd:4;
1862                uint64_t twtr:4;
1863                uint64_t trp:4;
1864                uint64_t trfc:5;
1865                uint64_t tmrd:3;
1866                uint64_t caslat:3;
1867                uint64_t trrd:3;
1868                uint64_t reserved_31_63:33;
1869#endif
1870        } cn38xx;
1871};
1872
1873union cvmx_lmcx_modereg_params0 {
1874        uint64_t u64;
1875        struct cvmx_lmcx_modereg_params0_s {
1876#ifdef __BIG_ENDIAN_BITFIELD
1877                uint64_t reserved_25_63:39;
1878                uint64_t ppd:1;
1879                uint64_t wrp:3;
1880                uint64_t dllr:1;
1881                uint64_t tm:1;
1882                uint64_t rbt:1;
1883                uint64_t cl:4;
1884                uint64_t bl:2;
1885                uint64_t qoff:1;
1886                uint64_t tdqs:1;
1887                uint64_t wlev:1;
1888                uint64_t al:2;
1889                uint64_t dll:1;
1890                uint64_t mpr:1;
1891                uint64_t mprloc:2;
1892                uint64_t cwl:3;
1893#else
1894                uint64_t cwl:3;
1895                uint64_t mprloc:2;
1896                uint64_t mpr:1;
1897                uint64_t dll:1;
1898                uint64_t al:2;
1899                uint64_t wlev:1;
1900                uint64_t tdqs:1;
1901                uint64_t qoff:1;
1902                uint64_t bl:2;
1903                uint64_t cl:4;
1904                uint64_t rbt:1;
1905                uint64_t tm:1;
1906                uint64_t dllr:1;
1907                uint64_t wrp:3;
1908                uint64_t ppd:1;
1909                uint64_t reserved_25_63:39;
1910#endif
1911        } s;
1912};
1913
1914union cvmx_lmcx_modereg_params1 {
1915        uint64_t u64;
1916        struct cvmx_lmcx_modereg_params1_s {
1917#ifdef __BIG_ENDIAN_BITFIELD
1918                uint64_t reserved_48_63:16;
1919                uint64_t rtt_nom_11:3;
1920                uint64_t dic_11:2;
1921                uint64_t rtt_wr_11:2;
1922                uint64_t srt_11:1;
1923                uint64_t asr_11:1;
1924                uint64_t pasr_11:3;
1925                uint64_t rtt_nom_10:3;
1926                uint64_t dic_10:2;
1927                uint64_t rtt_wr_10:2;
1928                uint64_t srt_10:1;
1929                uint64_t asr_10:1;
1930                uint64_t pasr_10:3;
1931                uint64_t rtt_nom_01:3;
1932                uint64_t dic_01:2;
1933                uint64_t rtt_wr_01:2;
1934                uint64_t srt_01:1;
1935                uint64_t asr_01:1;
1936                uint64_t pasr_01:3;
1937                uint64_t rtt_nom_00:3;
1938                uint64_t dic_00:2;
1939                uint64_t rtt_wr_00:2;
1940                uint64_t srt_00:1;
1941                uint64_t asr_00:1;
1942                uint64_t pasr_00:3;
1943#else
1944                uint64_t pasr_00:3;
1945                uint64_t asr_00:1;
1946                uint64_t srt_00:1;
1947                uint64_t rtt_wr_00:2;
1948                uint64_t dic_00:2;
1949                uint64_t rtt_nom_00:3;
1950                uint64_t pasr_01:3;
1951                uint64_t asr_01:1;
1952                uint64_t srt_01:1;
1953                uint64_t rtt_wr_01:2;
1954                uint64_t dic_01:2;
1955                uint64_t rtt_nom_01:3;
1956                uint64_t pasr_10:3;
1957                uint64_t asr_10:1;
1958                uint64_t srt_10:1;
1959                uint64_t rtt_wr_10:2;
1960                uint64_t dic_10:2;
1961                uint64_t rtt_nom_10:3;
1962                uint64_t pasr_11:3;
1963                uint64_t asr_11:1;
1964                uint64_t srt_11:1;
1965                uint64_t rtt_wr_11:2;
1966                uint64_t dic_11:2;
1967                uint64_t rtt_nom_11:3;
1968                uint64_t reserved_48_63:16;
1969#endif
1970        } s;
1971};
1972
1973union cvmx_lmcx_nxm {
1974        uint64_t u64;
1975        struct cvmx_lmcx_nxm_s {
1976#ifdef __BIG_ENDIAN_BITFIELD
1977                uint64_t reserved_40_63:24;
1978                uint64_t mem_msb_d3_r1:4;
1979                uint64_t mem_msb_d3_r0:4;
1980                uint64_t mem_msb_d2_r1:4;
1981                uint64_t mem_msb_d2_r0:4;
1982                uint64_t mem_msb_d1_r1:4;
1983                uint64_t mem_msb_d1_r0:4;
1984                uint64_t mem_msb_d0_r1:4;
1985                uint64_t mem_msb_d0_r0:4;
1986                uint64_t cs_mask:8;
1987#else
1988                uint64_t cs_mask:8;
1989                uint64_t mem_msb_d0_r0:4;
1990                uint64_t mem_msb_d0_r1:4;
1991                uint64_t mem_msb_d1_r0:4;
1992                uint64_t mem_msb_d1_r1:4;
1993                uint64_t mem_msb_d2_r0:4;
1994                uint64_t mem_msb_d2_r1:4;
1995                uint64_t mem_msb_d3_r0:4;
1996                uint64_t mem_msb_d3_r1:4;
1997                uint64_t reserved_40_63:24;
1998#endif
1999        } s;
2000        struct cvmx_lmcx_nxm_cn52xx {
2001#ifdef __BIG_ENDIAN_BITFIELD
2002                uint64_t reserved_8_63:56;
2003                uint64_t cs_mask:8;
2004#else
2005                uint64_t cs_mask:8;
2006                uint64_t reserved_8_63:56;
2007#endif
2008        } cn52xx;
2009};
2010
2011union cvmx_lmcx_ops_cnt {
2012        uint64_t u64;
2013        struct cvmx_lmcx_ops_cnt_s {
2014#ifdef __BIG_ENDIAN_BITFIELD
2015                uint64_t opscnt:64;
2016#else
2017                uint64_t opscnt:64;
2018#endif
2019        } s;
2020};
2021
2022union cvmx_lmcx_ops_cnt_hi {
2023        uint64_t u64;
2024        struct cvmx_lmcx_ops_cnt_hi_s {
2025#ifdef __BIG_ENDIAN_BITFIELD
2026                uint64_t reserved_32_63:32;
2027                uint64_t opscnt_hi:32;
2028#else
2029                uint64_t opscnt_hi:32;
2030                uint64_t reserved_32_63:32;
2031#endif
2032        } s;
2033};
2034
2035union cvmx_lmcx_ops_cnt_lo {
2036        uint64_t u64;
2037        struct cvmx_lmcx_ops_cnt_lo_s {
2038#ifdef __BIG_ENDIAN_BITFIELD
2039                uint64_t reserved_32_63:32;
2040                uint64_t opscnt_lo:32;
2041#else
2042                uint64_t opscnt_lo:32;
2043                uint64_t reserved_32_63:32;
2044#endif
2045        } s;
2046};
2047
2048union cvmx_lmcx_phy_ctl {
2049        uint64_t u64;
2050        struct cvmx_lmcx_phy_ctl_s {
2051#ifdef __BIG_ENDIAN_BITFIELD
2052                uint64_t reserved_15_63:49;
2053                uint64_t rx_always_on:1;
2054                uint64_t lv_mode:1;
2055                uint64_t ck_tune1:1;
2056                uint64_t ck_dlyout1:4;
2057                uint64_t ck_tune0:1;
2058                uint64_t ck_dlyout0:4;
2059                uint64_t loopback:1;
2060                uint64_t loopback_pos:1;
2061                uint64_t ts_stagger:1;
2062#else
2063                uint64_t ts_stagger:1;
2064                uint64_t loopback_pos:1;
2065                uint64_t loopback:1;
2066                uint64_t ck_dlyout0:4;
2067                uint64_t ck_tune0:1;
2068                uint64_t ck_dlyout1:4;
2069                uint64_t ck_tune1:1;
2070                uint64_t lv_mode:1;
2071                uint64_t rx_always_on:1;
2072                uint64_t reserved_15_63:49;
2073#endif
2074        } s;
2075        struct cvmx_lmcx_phy_ctl_cn63xxp1 {
2076#ifdef __BIG_ENDIAN_BITFIELD
2077                uint64_t reserved_14_63:50;
2078                uint64_t lv_mode:1;
2079                uint64_t ck_tune1:1;
2080                uint64_t ck_dlyout1:4;
2081                uint64_t ck_tune0:1;
2082                uint64_t ck_dlyout0:4;
2083                uint64_t loopback:1;
2084                uint64_t loopback_pos:1;
2085                uint64_t ts_stagger:1;
2086#else
2087                uint64_t ts_stagger:1;
2088                uint64_t loopback_pos:1;
2089                uint64_t loopback:1;
2090                uint64_t ck_dlyout0:4;
2091                uint64_t ck_tune0:1;
2092                uint64_t ck_dlyout1:4;
2093                uint64_t ck_tune1:1;
2094                uint64_t lv_mode:1;
2095                uint64_t reserved_14_63:50;
2096#endif
2097        } cn63xxp1;
2098};
2099
2100union cvmx_lmcx_pll_bwctl {
2101        uint64_t u64;
2102        struct cvmx_lmcx_pll_bwctl_s {
2103#ifdef __BIG_ENDIAN_BITFIELD
2104                uint64_t reserved_5_63:59;
2105                uint64_t bwupd:1;
2106                uint64_t bwctl:4;
2107#else
2108                uint64_t bwctl:4;
2109                uint64_t bwupd:1;
2110                uint64_t reserved_5_63:59;
2111#endif
2112        } s;
2113};
2114
2115union cvmx_lmcx_pll_ctl {
2116        uint64_t u64;
2117        struct cvmx_lmcx_pll_ctl_s {
2118#ifdef __BIG_ENDIAN_BITFIELD
2119                uint64_t reserved_30_63:34;
2120                uint64_t bypass:1;
2121                uint64_t fasten_n:1;
2122                uint64_t div_reset:1;
2123                uint64_t reset_n:1;
2124                uint64_t clkf:12;
2125                uint64_t clkr:6;
2126                uint64_t reserved_6_7:2;
2127                uint64_t en16:1;
2128                uint64_t en12:1;
2129                uint64_t en8:1;
2130                uint64_t en6:1;
2131                uint64_t en4:1;
2132                uint64_t en2:1;
2133#else
2134                uint64_t en2:1;
2135                uint64_t en4:1;
2136                uint64_t en6:1;
2137                uint64_t en8:1;
2138                uint64_t en12:1;
2139                uint64_t en16:1;
2140                uint64_t reserved_6_7:2;
2141                uint64_t clkr:6;
2142                uint64_t clkf:12;
2143                uint64_t reset_n:1;
2144                uint64_t div_reset:1;
2145                uint64_t fasten_n:1;
2146                uint64_t bypass:1;
2147                uint64_t reserved_30_63:34;
2148#endif
2149        } s;
2150        struct cvmx_lmcx_pll_ctl_cn50xx {
2151#ifdef __BIG_ENDIAN_BITFIELD
2152                uint64_t reserved_29_63:35;
2153                uint64_t fasten_n:1;
2154                uint64_t div_reset:1;
2155                uint64_t reset_n:1;
2156                uint64_t clkf:12;
2157                uint64_t clkr:6;
2158                uint64_t reserved_6_7:2;
2159                uint64_t en16:1;
2160                uint64_t en12:1;
2161                uint64_t en8:1;
2162                uint64_t en6:1;
2163                uint64_t en4:1;
2164                uint64_t en2:1;
2165#else
2166                uint64_t en2:1;
2167                uint64_t en4:1;
2168                uint64_t en6:1;
2169                uint64_t en8:1;
2170                uint64_t en12:1;
2171                uint64_t en16:1;
2172                uint64_t reserved_6_7:2;
2173                uint64_t clkr:6;
2174                uint64_t clkf:12;
2175                uint64_t reset_n:1;
2176                uint64_t div_reset:1;
2177                uint64_t fasten_n:1;
2178                uint64_t reserved_29_63:35;
2179#endif
2180        } cn50xx;
2181        struct cvmx_lmcx_pll_ctl_cn56xxp1 {
2182#ifdef __BIG_ENDIAN_BITFIELD
2183                uint64_t reserved_28_63:36;
2184                uint64_t div_reset:1;
2185                uint64_t reset_n:1;
2186                uint64_t clkf:12;
2187                uint64_t clkr:6;
2188                uint64_t reserved_6_7:2;
2189                uint64_t en16:1;
2190                uint64_t en12:1;
2191                uint64_t en8:1;
2192                uint64_t en6:1;
2193                uint64_t en4:1;
2194                uint64_t en2:1;
2195#else
2196                uint64_t en2:1;
2197                uint64_t en4:1;
2198                uint64_t en6:1;
2199                uint64_t en8:1;
2200                uint64_t en12:1;
2201                uint64_t en16:1;
2202                uint64_t reserved_6_7:2;
2203                uint64_t clkr:6;
2204                uint64_t clkf:12;
2205                uint64_t reset_n:1;
2206                uint64_t div_reset:1;
2207                uint64_t reserved_28_63:36;
2208#endif
2209        } cn56xxp1;
2210};
2211
2212union cvmx_lmcx_pll_status {
2213        uint64_t u64;
2214        struct cvmx_lmcx_pll_status_s {
2215#ifdef __BIG_ENDIAN_BITFIELD
2216                uint64_t reserved_32_63:32;
2217                uint64_t ddr__nctl:5;
2218                uint64_t ddr__pctl:5;
2219                uint64_t reserved_2_21:20;
2220                uint64_t rfslip:1;
2221                uint64_t fbslip:1;
2222#else
2223                uint64_t fbslip:1;
2224                uint64_t rfslip:1;
2225                uint64_t reserved_2_21:20;
2226                uint64_t ddr__pctl:5;
2227                uint64_t ddr__nctl:5;
2228                uint64_t reserved_32_63:32;
2229#endif
2230        } s;
2231        struct cvmx_lmcx_pll_status_cn58xxp1 {
2232#ifdef __BIG_ENDIAN_BITFIELD
2233                uint64_t reserved_2_63:62;
2234                uint64_t rfslip:1;
2235                uint64_t fbslip:1;
2236#else
2237                uint64_t fbslip:1;
2238                uint64_t rfslip:1;
2239                uint64_t reserved_2_63:62;
2240#endif
2241        } cn58xxp1;
2242};
2243
2244union cvmx_lmcx_read_level_ctl {
2245        uint64_t u64;
2246        struct cvmx_lmcx_read_level_ctl_s {
2247#ifdef __BIG_ENDIAN_BITFIELD
2248                uint64_t reserved_44_63:20;
2249                uint64_t rankmask:4;
2250                uint64_t pattern:8;
2251                uint64_t row:16;
2252                uint64_t col:12;
2253                uint64_t reserved_3_3:1;
2254                uint64_t bnk:3;
2255#else
2256                uint64_t bnk:3;
2257                uint64_t reserved_3_3:1;
2258                uint64_t col:12;
2259                uint64_t row:16;
2260                uint64_t pattern:8;
2261                uint64_t rankmask:4;
2262                uint64_t reserved_44_63:20;
2263#endif
2264        } s;
2265};
2266
2267union cvmx_lmcx_read_level_dbg {
2268        uint64_t u64;
2269        struct cvmx_lmcx_read_level_dbg_s {
2270#ifdef __BIG_ENDIAN_BITFIELD
2271                uint64_t reserved_32_63:32;
2272                uint64_t bitmask:16;
2273                uint64_t reserved_4_15:12;
2274                uint64_t byte:4;
2275#else
2276                uint64_t byte:4;
2277                uint64_t reserved_4_15:12;
2278                uint64_t bitmask:16;
2279                uint64_t reserved_32_63:32;
2280#endif
2281        } s;
2282};
2283
2284union cvmx_lmcx_read_level_rankx {
2285        uint64_t u64;
2286        struct cvmx_lmcx_read_level_rankx_s {
2287#ifdef __BIG_ENDIAN_BITFIELD
2288                uint64_t reserved_38_63:26;
2289                uint64_t status:2;
2290                uint64_t byte8:4;
2291                uint64_t byte7:4;
2292                uint64_t byte6:4;
2293                uint64_t byte5:4;
2294                uint64_t byte4:4;
2295                uint64_t byte3:4;
2296                uint64_t byte2:4;
2297                uint64_t byte1:4;
2298                uint64_t byte0:4;
2299#else
2300                uint64_t byte0:4;
2301                uint64_t byte1:4;
2302                uint64_t byte2:4;
2303                uint64_t byte3:4;
2304                uint64_t byte4:4;
2305                uint64_t byte5:4;
2306                uint64_t byte6:4;
2307                uint64_t byte7:4;
2308                uint64_t byte8:4;
2309                uint64_t status:2;
2310                uint64_t reserved_38_63:26;
2311#endif
2312        } s;
2313};
2314
2315union cvmx_lmcx_reset_ctl {
2316        uint64_t u64;
2317        struct cvmx_lmcx_reset_ctl_s {
2318#ifdef __BIG_ENDIAN_BITFIELD
2319                uint64_t reserved_4_63:60;
2320                uint64_t ddr3psv:1;
2321                uint64_t ddr3psoft:1;
2322                uint64_t ddr3pwarm:1;
2323                uint64_t ddr3rst:1;
2324#else
2325                uint64_t ddr3rst:1;
2326                uint64_t ddr3pwarm:1;
2327                uint64_t ddr3psoft:1;
2328                uint64_t ddr3psv:1;
2329                uint64_t reserved_4_63:60;
2330#endif
2331        } s;
2332};
2333
2334union cvmx_lmcx_rlevel_ctl {
2335        uint64_t u64;
2336        struct cvmx_lmcx_rlevel_ctl_s {
2337#ifdef __BIG_ENDIAN_BITFIELD
2338                uint64_t reserved_22_63:42;
2339                uint64_t delay_unload_3:1;
2340                uint64_t delay_unload_2:1;
2341                uint64_t delay_unload_1:1;
2342                uint64_t delay_unload_0:1;
2343                uint64_t bitmask:8;
2344                uint64_t or_dis:1;
2345                uint64_t offset_en:1;
2346                uint64_t offset:4;
2347                uint64_t byte:4;
2348#else
2349                uint64_t byte:4;
2350                uint64_t offset:4;
2351                uint64_t offset_en:1;
2352                uint64_t or_dis:1;
2353                uint64_t bitmask:8;
2354                uint64_t delay_unload_0:1;
2355                uint64_t delay_unload_1:1;
2356                uint64_t delay_unload_2:1;
2357                uint64_t delay_unload_3:1;
2358                uint64_t reserved_22_63:42;
2359#endif
2360        } s;
2361        struct cvmx_lmcx_rlevel_ctl_cn63xxp1 {
2362#ifdef __BIG_ENDIAN_BITFIELD
2363                uint64_t reserved_9_63:55;
2364                uint64_t offset_en:1;
2365                uint64_t offset:4;
2366                uint64_t byte:4;
2367#else
2368                uint64_t byte:4;
2369                uint64_t offset:4;
2370                uint64_t offset_en:1;
2371                uint64_t reserved_9_63:55;
2372#endif
2373        } cn63xxp1;
2374};
2375
2376union cvmx_lmcx_rlevel_dbg {
2377        uint64_t u64;
2378        struct cvmx_lmcx_rlevel_dbg_s {
2379#ifdef __BIG_ENDIAN_BITFIELD
2380                uint64_t bitmask:64;
2381#else
2382                uint64_t bitmask:64;
2383#endif
2384        } s;
2385};
2386
2387union cvmx_lmcx_rlevel_rankx {
2388        uint64_t u64;
2389        struct cvmx_lmcx_rlevel_rankx_s {
2390#ifdef __BIG_ENDIAN_BITFIELD
2391                uint64_t reserved_56_63:8;
2392                uint64_t status:2;
2393                uint64_t byte8:6;
2394                uint64_t byte7:6;
2395                uint64_t byte6:6;
2396                uint64_t byte5:6;
2397                uint64_t byte4:6;
2398                uint64_t byte3:6;
2399                uint64_t byte2:6;
2400                uint64_t byte1:6;
2401                uint64_t byte0:6;
2402#else
2403                uint64_t byte0:6;
2404                uint64_t byte1:6;
2405                uint64_t byte2:6;
2406                uint64_t byte3:6;
2407                uint64_t byte4:6;
2408                uint64_t byte5:6;
2409                uint64_t byte6:6;
2410                uint64_t byte7:6;
2411                uint64_t byte8:6;
2412                uint64_t status:2;
2413                uint64_t reserved_56_63:8;
2414#endif
2415        } s;
2416};
2417
2418union cvmx_lmcx_rodt_comp_ctl {
2419        uint64_t u64;
2420        struct cvmx_lmcx_rodt_comp_ctl_s {
2421#ifdef __BIG_ENDIAN_BITFIELD
2422                uint64_t reserved_17_63:47;
2423                uint64_t enable:1;
2424                uint64_t reserved_12_15:4;
2425                uint64_t nctl:4;
2426                uint64_t reserved_5_7:3;
2427                uint64_t pctl:5;
2428#else
2429                uint64_t pctl:5;
2430                uint64_t reserved_5_7:3;
2431                uint64_t nctl:4;
2432                uint64_t reserved_12_15:4;
2433                uint64_t enable:1;
2434                uint64_t reserved_17_63:47;
2435#endif
2436        } s;
2437};
2438
2439union cvmx_lmcx_rodt_ctl {
2440        uint64_t u64;
2441        struct cvmx_lmcx_rodt_ctl_s {
2442#ifdef __BIG_ENDIAN_BITFIELD
2443                uint64_t reserved_32_63:32;
2444                uint64_t rodt_hi3:4;
2445                uint64_t rodt_hi2:4;
2446                uint64_t rodt_hi1:4;
2447                uint64_t rodt_hi0:4;
2448                uint64_t rodt_lo3:4;
2449                uint64_t rodt_lo2:4;
2450                uint64_t rodt_lo1:4;
2451                uint64_t rodt_lo0:4;
2452#else
2453                uint64_t rodt_lo0:4;
2454                uint64_t rodt_lo1:4;
2455                uint64_t rodt_lo2:4;
2456                uint64_t rodt_lo3:4;
2457                uint64_t rodt_hi0:4;
2458                uint64_t rodt_hi1:4;
2459                uint64_t rodt_hi2:4;
2460                uint64_t rodt_hi3:4;
2461                uint64_t reserved_32_63:32;
2462#endif
2463        } s;
2464};
2465
2466union cvmx_lmcx_rodt_mask {
2467        uint64_t u64;
2468        struct cvmx_lmcx_rodt_mask_s {
2469#ifdef __BIG_ENDIAN_BITFIELD
2470                uint64_t rodt_d3_r1:8;
2471                uint64_t rodt_d3_r0:8;
2472                uint64_t rodt_d2_r1:8;
2473                uint64_t rodt_d2_r0:8;
2474                uint64_t rodt_d1_r1:8;
2475                uint64_t rodt_d1_r0:8;
2476                uint64_t rodt_d0_r1:8;
2477                uint64_t rodt_d0_r0:8;
2478#else
2479                uint64_t rodt_d0_r0:8;
2480                uint64_t rodt_d0_r1:8;
2481                uint64_t rodt_d1_r0:8;
2482                uint64_t rodt_d1_r1:8;
2483                uint64_t rodt_d2_r0:8;
2484                uint64_t rodt_d2_r1:8;
2485                uint64_t rodt_d3_r0:8;
2486                uint64_t rodt_d3_r1:8;
2487#endif
2488        } s;
2489};
2490
2491union cvmx_lmcx_scramble_cfg0 {
2492        uint64_t u64;
2493        struct cvmx_lmcx_scramble_cfg0_s {
2494#ifdef __BIG_ENDIAN_BITFIELD
2495                uint64_t key:64;
2496#else
2497                uint64_t key:64;
2498#endif
2499        } s;
2500};
2501
2502union cvmx_lmcx_scramble_cfg1 {
2503        uint64_t u64;
2504        struct cvmx_lmcx_scramble_cfg1_s {
2505#ifdef __BIG_ENDIAN_BITFIELD
2506                uint64_t key:64;
2507#else
2508                uint64_t key:64;
2509#endif
2510        } s;
2511};
2512
2513union cvmx_lmcx_scrambled_fadr {
2514        uint64_t u64;
2515        struct cvmx_lmcx_scrambled_fadr_s {
2516#ifdef __BIG_ENDIAN_BITFIELD
2517                uint64_t reserved_36_63:28;
2518                uint64_t fdimm:2;
2519                uint64_t fbunk:1;
2520                uint64_t fbank:3;
2521                uint64_t frow:16;
2522                uint64_t fcol:14;
2523#else
2524                uint64_t fcol:14;
2525                uint64_t frow:16;
2526                uint64_t fbank:3;
2527                uint64_t fbunk:1;
2528                uint64_t fdimm:2;
2529                uint64_t reserved_36_63:28;
2530#endif
2531        } s;
2532};
2533
2534union cvmx_lmcx_slot_ctl0 {
2535        uint64_t u64;
2536        struct cvmx_lmcx_slot_ctl0_s {
2537#ifdef __BIG_ENDIAN_BITFIELD
2538                uint64_t reserved_24_63:40;
2539                uint64_t w2w_init:6;
2540                uint64_t w2r_init:6;
2541                uint64_t r2w_init:6;
2542                uint64_t r2r_init:6;
2543#else
2544                uint64_t r2r_init:6;
2545                uint64_t r2w_init:6;
2546                uint64_t w2r_init:6;
2547                uint64_t w2w_init:6;
2548                uint64_t reserved_24_63:40;
2549#endif
2550        } s;
2551};
2552
2553union cvmx_lmcx_slot_ctl1 {
2554        uint64_t u64;
2555        struct cvmx_lmcx_slot_ctl1_s {
2556#ifdef __BIG_ENDIAN_BITFIELD
2557                uint64_t reserved_24_63:40;
2558                uint64_t w2w_xrank_init:6;
2559                uint64_t w2r_xrank_init:6;
2560                uint64_t r2w_xrank_init:6;
2561                uint64_t r2r_xrank_init:6;
2562#else
2563                uint64_t r2r_xrank_init:6;
2564                uint64_t r2w_xrank_init:6;
2565                uint64_t w2r_xrank_init:6;
2566                uint64_t w2w_xrank_init:6;
2567                uint64_t reserved_24_63:40;
2568#endif
2569        } s;
2570};
2571
2572union cvmx_lmcx_slot_ctl2 {
2573        uint64_t u64;
2574        struct cvmx_lmcx_slot_ctl2_s {
2575#ifdef __BIG_ENDIAN_BITFIELD
2576                uint64_t reserved_24_63:40;
2577                uint64_t w2w_xdimm_init:6;
2578                uint64_t w2r_xdimm_init:6;
2579                uint64_t r2w_xdimm_init:6;
2580                uint64_t r2r_xdimm_init:6;
2581#else
2582                uint64_t r2r_xdimm_init:6;
2583                uint64_t r2w_xdimm_init:6;
2584                uint64_t w2r_xdimm_init:6;
2585                uint64_t w2w_xdimm_init:6;
2586                uint64_t reserved_24_63:40;
2587#endif
2588        } s;
2589};
2590
2591union cvmx_lmcx_timing_params0 {
2592        uint64_t u64;
2593        struct cvmx_lmcx_timing_params0_s {
2594#ifdef __BIG_ENDIAN_BITFIELD
2595                uint64_t reserved_47_63:17;
2596                uint64_t trp_ext:1;
2597                uint64_t tcksre:4;
2598                uint64_t trp:4;
2599                uint64_t tzqinit:4;
2600                uint64_t tdllk:4;
2601                uint64_t tmod:4;
2602                uint64_t tmrd:4;
2603                uint64_t txpr:4;
2604                uint64_t tcke:4;
2605                uint64_t tzqcs:4;
2606                uint64_t tckeon:10;
2607#else
2608                uint64_t tckeon:10;
2609                uint64_t tzqcs:4;
2610                uint64_t tcke:4;
2611                uint64_t txpr:4;
2612                uint64_t tmrd:4;
2613                uint64_t tmod:4;
2614                uint64_t tdllk:4;
2615                uint64_t tzqinit:4;
2616                uint64_t trp:4;
2617                uint64_t tcksre:4;
2618                uint64_t trp_ext:1;
2619                uint64_t reserved_47_63:17;
2620#endif
2621        } s;
2622        struct cvmx_lmcx_timing_params0_cn61xx {
2623#ifdef __BIG_ENDIAN_BITFIELD
2624                uint64_t reserved_47_63:17;
2625                uint64_t trp_ext:1;
2626                uint64_t tcksre:4;
2627                uint64_t trp:4;
2628                uint64_t tzqinit:4;
2629                uint64_t tdllk:4;
2630                uint64_t tmod:4;
2631                uint64_t tmrd:4;
2632                uint64_t txpr:4;
2633                uint64_t tcke:4;
2634                uint64_t tzqcs:4;
2635                uint64_t reserved_0_9:10;
2636#else
2637                uint64_t reserved_0_9:10;
2638                uint64_t tzqcs:4;
2639                uint64_t tcke:4;
2640                uint64_t txpr:4;
2641                uint64_t tmrd:4;
2642                uint64_t tmod:4;
2643                uint64_t tdllk:4;
2644                uint64_t tzqinit:4;
2645                uint64_t trp:4;
2646                uint64_t tcksre:4;
2647                uint64_t trp_ext:1;
2648                uint64_t reserved_47_63:17;
2649#endif
2650        } cn61xx;
2651        struct cvmx_lmcx_timing_params0_cn63xxp1 {
2652#ifdef __BIG_ENDIAN_BITFIELD
2653                uint64_t reserved_46_63:18;
2654                uint64_t tcksre:4;
2655                uint64_t trp:4;
2656                uint64_t tzqinit:4;
2657                uint64_t tdllk:4;
2658                uint64_t tmod:4;
2659                uint64_t tmrd:4;
2660                uint64_t txpr:4;
2661                uint64_t tcke:4;
2662                uint64_t tzqcs:4;
2663                uint64_t tckeon:10;
2664#else
2665                uint64_t tckeon:10;
2666                uint64_t tzqcs:4;
2667                uint64_t tcke:4;
2668                uint64_t txpr:4;
2669                uint64_t tmrd:4;
2670                uint64_t tmod:4;
2671                uint64_t tdllk:4;
2672                uint64_t tzqinit:4;
2673                uint64_t trp:4;
2674                uint64_t tcksre:4;
2675                uint64_t reserved_46_63:18;
2676#endif
2677        } cn63xxp1;
2678};
2679
2680union cvmx_lmcx_timing_params1 {
2681        uint64_t u64;
2682        struct cvmx_lmcx_timing_params1_s {
2683#ifdef __BIG_ENDIAN_BITFIELD
2684                uint64_t reserved_47_63:17;
2685                uint64_t tras_ext:1;
2686                uint64_t txpdll:5;
2687                uint64_t tfaw:5;
2688                uint64_t twldqsen:4;
2689                uint64_t twlmrd:4;
2690                uint64_t txp:3;
2691                uint64_t trrd:3;
2692                uint64_t trfc:5;
2693                uint64_t twtr:4;
2694                uint64_t trcd:4;
2695                uint64_t tras:5;
2696                uint64_t tmprr:4;
2697#else
2698                uint64_t tmprr:4;
2699                uint64_t tras:5;
2700                uint64_t trcd:4;
2701                uint64_t twtr:4;
2702                uint64_t trfc:5;
2703                uint64_t trrd:3;
2704                uint64_t txp:3;
2705                uint64_t twlmrd:4;
2706                uint64_t twldqsen:4;
2707                uint64_t tfaw:5;
2708                uint64_t txpdll:5;
2709                uint64_t tras_ext:1;
2710                uint64_t reserved_47_63:17;
2711#endif
2712        } s;
2713        struct cvmx_lmcx_timing_params1_cn63xxp1 {
2714#ifdef __BIG_ENDIAN_BITFIELD
2715                uint64_t reserved_46_63:18;
2716                uint64_t txpdll:5;
2717                uint64_t tfaw:5;
2718                uint64_t twldqsen:4;
2719                uint64_t twlmrd:4;
2720                uint64_t txp:3;
2721                uint64_t trrd:3;
2722                uint64_t trfc:5;
2723                uint64_t twtr:4;
2724                uint64_t trcd:4;
2725                uint64_t tras:5;
2726                uint64_t tmprr:4;
2727#else
2728                uint64_t tmprr:4;
2729                uint64_t tras:5;
2730                uint64_t trcd:4;
2731                uint64_t twtr:4;
2732                uint64_t trfc:5;
2733                uint64_t trrd:3;
2734                uint64_t txp:3;
2735                uint64_t twlmrd:4;
2736                uint64_t twldqsen:4;
2737                uint64_t tfaw:5;
2738                uint64_t txpdll:5;
2739                uint64_t reserved_46_63:18;
2740#endif
2741        } cn63xxp1;
2742};
2743
2744union cvmx_lmcx_tro_ctl {
2745        uint64_t u64;
2746        struct cvmx_lmcx_tro_ctl_s {
2747#ifdef __BIG_ENDIAN_BITFIELD
2748                uint64_t reserved_33_63:31;
2749                uint64_t rclk_cnt:32;
2750                uint64_t treset:1;
2751#else
2752                uint64_t treset:1;
2753                uint64_t rclk_cnt:32;
2754                uint64_t reserved_33_63:31;
2755#endif
2756        } s;
2757};
2758
2759union cvmx_lmcx_tro_stat {
2760        uint64_t u64;
2761        struct cvmx_lmcx_tro_stat_s {
2762#ifdef __BIG_ENDIAN_BITFIELD
2763                uint64_t reserved_32_63:32;
2764                uint64_t ring_cnt:32;
2765#else
2766                uint64_t ring_cnt:32;
2767                uint64_t reserved_32_63:32;
2768#endif
2769        } s;
2770};
2771
2772union cvmx_lmcx_wlevel_ctl {
2773        uint64_t u64;
2774        struct cvmx_lmcx_wlevel_ctl_s {
2775#ifdef __BIG_ENDIAN_BITFIELD
2776                uint64_t reserved_22_63:42;
2777                uint64_t rtt_nom:3;
2778                uint64_t bitmask:8;
2779                uint64_t or_dis:1;
2780                uint64_t sset:1;
2781                uint64_t lanemask:9;
2782#else
2783                uint64_t lanemask:9;
2784                uint64_t sset:1;
2785                uint64_t or_dis:1;
2786                uint64_t bitmask:8;
2787                uint64_t rtt_nom:3;
2788                uint64_t reserved_22_63:42;
2789#endif
2790        } s;
2791        struct cvmx_lmcx_wlevel_ctl_cn63xxp1 {
2792#ifdef __BIG_ENDIAN_BITFIELD
2793                uint64_t reserved_10_63:54;
2794                uint64_t sset:1;
2795                uint64_t lanemask:9;
2796#else
2797                uint64_t lanemask:9;
2798                uint64_t sset:1;
2799                uint64_t reserved_10_63:54;
2800#endif
2801        } cn63xxp1;
2802};
2803
2804union cvmx_lmcx_wlevel_dbg {
2805        uint64_t u64;
2806        struct cvmx_lmcx_wlevel_dbg_s {
2807#ifdef __BIG_ENDIAN_BITFIELD
2808                uint64_t reserved_12_63:52;
2809                uint64_t bitmask:8;
2810                uint64_t byte:4;
2811#else
2812                uint64_t byte:4;
2813                uint64_t bitmask:8;
2814                uint64_t reserved_12_63:52;
2815#endif
2816        } s;
2817};
2818
2819union cvmx_lmcx_wlevel_rankx {
2820        uint64_t u64;
2821        struct cvmx_lmcx_wlevel_rankx_s {
2822#ifdef __BIG_ENDIAN_BITFIELD
2823                uint64_t reserved_47_63:17;
2824                uint64_t status:2;
2825                uint64_t byte8:5;
2826                uint64_t byte7:5;
2827                uint64_t byte6:5;
2828                uint64_t byte5:5;
2829                uint64_t byte4:5;
2830                uint64_t byte3:5;
2831                uint64_t byte2:5;
2832                uint64_t byte1:5;
2833                uint64_t byte0:5;
2834#else
2835                uint64_t byte0:5;
2836                uint64_t byte1:5;
2837                uint64_t byte2:5;
2838                uint64_t byte3:5;
2839                uint64_t byte4:5;
2840                uint64_t byte5:5;
2841                uint64_t byte6:5;
2842                uint64_t byte7:5;
2843                uint64_t byte8:5;
2844                uint64_t status:2;
2845                uint64_t reserved_47_63:17;
2846#endif
2847        } s;
2848};
2849
2850union cvmx_lmcx_wodt_ctl0 {
2851        uint64_t u64;
2852        struct cvmx_lmcx_wodt_ctl0_s {
2853#ifdef __BIG_ENDIAN_BITFIELD
2854                uint64_t reserved_0_63:64;
2855#else
2856                uint64_t reserved_0_63:64;
2857#endif
2858        } s;
2859        struct cvmx_lmcx_wodt_ctl0_cn30xx {
2860#ifdef __BIG_ENDIAN_BITFIELD
2861                uint64_t reserved_32_63:32;
2862                uint64_t wodt_d1_r1:8;
2863                uint64_t wodt_d1_r0:8;
2864                uint64_t wodt_d0_r1:8;
2865                uint64_t wodt_d0_r0:8;
2866#else
2867                uint64_t wodt_d0_r0:8;
2868                uint64_t wodt_d0_r1:8;
2869                uint64_t wodt_d1_r0:8;
2870                uint64_t wodt_d1_r1:8;
2871                uint64_t reserved_32_63:32;
2872#endif
2873        } cn30xx;
2874        struct cvmx_lmcx_wodt_ctl0_cn38xx {
2875#ifdef __BIG_ENDIAN_BITFIELD
2876                uint64_t reserved_32_63:32;
2877                uint64_t wodt_hi3:4;
2878                uint64_t wodt_hi2:4;
2879                uint64_t wodt_hi1:4;
2880                uint64_t wodt_hi0:4;
2881                uint64_t wodt_lo3:4;
2882                uint64_t wodt_lo2:4;
2883                uint64_t wodt_lo1:4;
2884                uint64_t wodt_lo0:4;
2885#else
2886                uint64_t wodt_lo0:4;
2887                uint64_t wodt_lo1:4;
2888                uint64_t wodt_lo2:4;
2889                uint64_t wodt_lo3:4;
2890                uint64_t wodt_hi0:4;
2891                uint64_t wodt_hi1:4;
2892                uint64_t wodt_hi2:4;
2893                uint64_t wodt_hi3:4;
2894                uint64_t reserved_32_63:32;
2895#endif
2896        } cn38xx;
2897};
2898
2899union cvmx_lmcx_wodt_ctl1 {
2900        uint64_t u64;
2901        struct cvmx_lmcx_wodt_ctl1_s {
2902#ifdef __BIG_ENDIAN_BITFIELD
2903                uint64_t reserved_32_63:32;
2904                uint64_t wodt_d3_r1:8;
2905                uint64_t wodt_d3_r0:8;
2906                uint64_t wodt_d2_r1:8;
2907                uint64_t wodt_d2_r0:8;
2908#else
2909                uint64_t wodt_d2_r0:8;
2910                uint64_t wodt_d2_r1:8;
2911                uint64_t wodt_d3_r0:8;
2912                uint64_t wodt_d3_r1:8;
2913                uint64_t reserved_32_63:32;
2914#endif
2915        } s;
2916};
2917
2918union cvmx_lmcx_wodt_mask {
2919        uint64_t u64;
2920        struct cvmx_lmcx_wodt_mask_s {
2921#ifdef __BIG_ENDIAN_BITFIELD
2922                uint64_t wodt_d3_r1:8;
2923                uint64_t wodt_d3_r0:8;
2924                uint64_t wodt_d2_r1:8;
2925                uint64_t wodt_d2_r0:8;
2926                uint64_t wodt_d1_r1:8;
2927                uint64_t wodt_d1_r0:8;
2928                uint64_t wodt_d0_r1:8;
2929                uint64_t wodt_d0_r0:8;
2930#else
2931                uint64_t wodt_d0_r0:8;
2932                uint64_t wodt_d0_r1:8;
2933                uint64_t wodt_d1_r0:8;
2934                uint64_t wodt_d1_r1:8;
2935                uint64_t wodt_d2_r0:8;
2936                uint64_t wodt_d2_r1:8;
2937                uint64_t wodt_d3_r0:8;
2938                uint64_t wodt_d3_r1:8;
2939#endif
2940        } s;
2941};
2942
2943#endif
2944