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