Linux Audio

Check our new training course

Loading...
v6.2
   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
v5.4
   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