cvmx-lmcx-defs.h (70048B)
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