1 /***********************license start***************
4 * Contact: support@cavium.com
5 * This file is part of the OCTEON SDK
7 * Copyright (c) 2003-2012 Cavium Inc.
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.
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
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/.
24 * This file may also be available under a different license from Cavium.
25 * Contact Cavium Inc. for more information
26 ***********************license end**************************************/
28 #ifndef __CVMX_LMCX_DEFS_H__
29 #define __CVMX_LMCX_DEFS_H__
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)
57 static inline uint64_t CVMX_LMCX_DUAL_MEMCFG(unsigned long block_id
)
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
;
73 return CVMX_ADD_IO_SEG(0x0001180088000098ull
) + (block_id
) * 0x60000000ull
;
76 static inline uint64_t CVMX_LMCX_ECC_SYND(unsigned long block_id
)
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
;
95 return CVMX_ADD_IO_SEG(0x0001180088000038ull
) + (block_id
) * 0x60000000ull
;
98 static inline uint64_t CVMX_LMCX_FADR(unsigned long block_id
)
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
;
117 return CVMX_ADD_IO_SEG(0x0001180088000020ull
) + (block_id
) * 0x60000000ull
;
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)
129 static inline uint64_t CVMX_LMCX_NXM(unsigned long block_id
)
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
;
144 return CVMX_ADD_IO_SEG(0x00011800880000C8ull
) + (block_id
) * 0x60000000ull
;
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)
181 union cvmx_lmcx_bist_ctl
{
183 struct cvmx_lmcx_bist_ctl_s
{
184 #ifdef __BIG_ENDIAN_BITFIELD
185 uint64_t reserved_1_63
:63;
189 uint64_t reserved_1_63
:63;
194 union cvmx_lmcx_bist_result
{
196 struct cvmx_lmcx_bist_result_s
{
197 #ifdef __BIG_ENDIAN_BITFIELD
198 uint64_t reserved_11_63
:53;
214 uint64_t reserved_11_63
:53;
217 struct cvmx_lmcx_bist_result_cn50xx
{
218 #ifdef __BIG_ENDIAN_BITFIELD
219 uint64_t reserved_9_63
:55;
231 uint64_t reserved_9_63
:55;
236 union cvmx_lmcx_char_ctl
{
238 struct cvmx_lmcx_char_ctl_s
{
239 #ifdef __BIG_ENDIAN_BITFIELD
240 uint64_t reserved_44_63
:20;
254 uint64_t reserved_44_63
:20;
257 struct cvmx_lmcx_char_ctl_cn63xx
{
258 #ifdef __BIG_ENDIAN_BITFIELD
259 uint64_t reserved_42_63
:22;
269 uint64_t reserved_42_63
:22;
274 union cvmx_lmcx_char_mask0
{
276 struct cvmx_lmcx_char_mask0_s
{
277 #ifdef __BIG_ENDIAN_BITFIELD
285 union cvmx_lmcx_char_mask1
{
287 struct cvmx_lmcx_char_mask1_s
{
288 #ifdef __BIG_ENDIAN_BITFIELD
289 uint64_t reserved_8_63
:56;
293 uint64_t reserved_8_63
:56;
298 union cvmx_lmcx_char_mask2
{
300 struct cvmx_lmcx_char_mask2_s
{
301 #ifdef __BIG_ENDIAN_BITFIELD
309 union cvmx_lmcx_char_mask3
{
311 struct cvmx_lmcx_char_mask3_s
{
312 #ifdef __BIG_ENDIAN_BITFIELD
313 uint64_t reserved_8_63
:56;
317 uint64_t reserved_8_63
:56;
322 union cvmx_lmcx_char_mask4
{
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;
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;
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;
349 uint64_t reset_n_mask
:1;
350 uint64_t reserved_33_63
:31;
355 union cvmx_lmcx_comp_ctl
{
357 struct cvmx_lmcx_comp_ctl_s
{
358 #ifdef __BIG_ENDIAN_BITFIELD
359 uint64_t reserved_32_63
:32;
366 uint64_t reserved_0_7
:8;
368 uint64_t reserved_0_7
:8;
375 uint64_t reserved_32_63
:32;
378 struct cvmx_lmcx_comp_ctl_cn30xx
{
379 #ifdef __BIG_ENDIAN_BITFIELD
380 uint64_t reserved_32_63
:32;
398 uint64_t reserved_32_63
:32;
401 struct cvmx_lmcx_comp_ctl_cn50xx
{
402 #ifdef __BIG_ENDIAN_BITFIELD
403 uint64_t reserved_32_63
:32;
405 uint64_t reserved_20_27
:8;
408 uint64_t reserved_5_11
:7;
412 uint64_t reserved_5_11
:7;
415 uint64_t reserved_20_27
:8;
417 uint64_t reserved_32_63
:32;
420 struct cvmx_lmcx_comp_ctl_cn58xxp1
{
421 #ifdef __BIG_ENDIAN_BITFIELD
422 uint64_t reserved_32_63
:32;
424 uint64_t reserved_20_27
:8;
427 uint64_t reserved_4_11
:8;
431 uint64_t reserved_4_11
:8;
434 uint64_t reserved_20_27
:8;
436 uint64_t reserved_32_63
:32;
441 union cvmx_lmcx_comp_ctl2
{
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;
465 uint64_t ddr__ntune
:4;
466 uint64_t ddr__ptune
:4;
467 uint64_t reserved_34_63
:30;
472 union cvmx_lmcx_config
{
474 struct cvmx_lmcx_config_s
{
475 #ifdef __BIG_ENDIAN_BITFIELD
476 uint64_t reserved_61_63
:3;
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;
487 uint64_t sref_with_dll
:1;
488 uint64_t early_dqx
:1;
490 uint64_t ref_zqcs_int
:19;
493 uint64_t forcewrite
:4;
494 uint64_t idlepower
:3;
495 uint64_t pbank_lsb
:4;
498 uint64_t init_start
:1;
500 uint64_t init_start
:1;
503 uint64_t pbank_lsb
:4;
504 uint64_t idlepower
:3;
505 uint64_t forcewrite
:4;
508 uint64_t ref_zqcs_int
:19;
510 uint64_t early_dqx
:1;
511 uint64_t sref_with_dll
:1;
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;
522 uint64_t reserved_61_63
:3;
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;
536 uint64_t sref_with_dll
:1;
537 uint64_t early_dqx
:1;
539 uint64_t ref_zqcs_int
:19;
542 uint64_t forcewrite
:4;
543 uint64_t idlepower
:3;
544 uint64_t pbank_lsb
:4;
547 uint64_t init_start
:1;
549 uint64_t init_start
:1;
552 uint64_t pbank_lsb
:4;
553 uint64_t idlepower
:3;
554 uint64_t forcewrite
:4;
557 uint64_t ref_zqcs_int
:19;
559 uint64_t early_dqx
:1;
560 uint64_t sref_with_dll
:1;
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;
572 struct cvmx_lmcx_config_cn63xxp1
{
573 #ifdef __BIG_ENDIAN_BITFIELD
574 uint64_t reserved_55_63
:9;
575 uint64_t init_status
:4;
579 uint64_t sref_with_dll
:1;
580 uint64_t early_dqx
:1;
582 uint64_t ref_zqcs_int
:19;
585 uint64_t forcewrite
:4;
586 uint64_t idlepower
:3;
587 uint64_t pbank_lsb
:4;
590 uint64_t init_start
:1;
592 uint64_t init_start
:1;
595 uint64_t pbank_lsb
:4;
596 uint64_t idlepower
:3;
597 uint64_t forcewrite
:4;
600 uint64_t ref_zqcs_int
:19;
602 uint64_t early_dqx
:1;
603 uint64_t sref_with_dll
:1;
607 uint64_t init_status
:4;
608 uint64_t reserved_55_63
:9;
611 struct cvmx_lmcx_config_cn66xx
{
612 #ifdef __BIG_ENDIAN_BITFIELD
613 uint64_t reserved_60_63
:4;
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;
623 uint64_t sref_with_dll
:1;
624 uint64_t early_dqx
:1;
626 uint64_t ref_zqcs_int
:19;
629 uint64_t forcewrite
:4;
630 uint64_t idlepower
:3;
631 uint64_t pbank_lsb
:4;
634 uint64_t init_start
:1;
636 uint64_t init_start
:1;
639 uint64_t pbank_lsb
:4;
640 uint64_t idlepower
:3;
641 uint64_t forcewrite
:4;
644 uint64_t ref_zqcs_int
:19;
646 uint64_t early_dqx
:1;
647 uint64_t sref_with_dll
:1;
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;
657 uint64_t reserved_60_63
:4;
662 union cvmx_lmcx_control
{
664 struct cvmx_lmcx_control_s
{
665 #ifdef __BIG_ENDIAN_BITFIELD
666 uint64_t scramble_ena
:1;
673 uint64_t rodt_bprch
:1;
674 uint64_t wodt_bprch
:1;
676 uint64_t ext_zqcs_dis
:1;
677 uint64_t int_zqcs_dis
:1;
678 uint64_t auto_dclkdis
: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;
691 uint64_t rdimm_ena
:1;
693 uint64_t rdimm_ena
:1;
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;
706 uint64_t auto_dclkdis
:1;
707 uint64_t int_zqcs_dis
:1;
708 uint64_t ext_zqcs_dis
:1;
710 uint64_t wodt_bprch
:1;
711 uint64_t rodt_bprch
:1;
718 uint64_t scramble_ena
:1;
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;
727 uint64_t ext_zqcs_dis
:1;
728 uint64_t int_zqcs_dis
:1;
729 uint64_t auto_dclkdis
: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;
742 uint64_t rdimm_ena
:1;
744 uint64_t rdimm_ena
:1;
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;
757 uint64_t auto_dclkdis
:1;
758 uint64_t int_zqcs_dis
:1;
759 uint64_t ext_zqcs_dis
:1;
761 uint64_t wodt_bprch
:1;
762 uint64_t rodt_bprch
:1;
763 uint64_t reserved_24_63
:40;
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;
773 uint64_t ext_zqcs_dis
:1;
774 uint64_t int_zqcs_dis
:1;
775 uint64_t auto_dclkdis
: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;
788 uint64_t rdimm_ena
:1;
790 uint64_t rdimm_ena
:1;
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;
803 uint64_t auto_dclkdis
:1;
804 uint64_t int_zqcs_dis
:1;
805 uint64_t ext_zqcs_dis
:1;
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;
813 struct cvmx_lmcx_control_cn68xx
{
814 #ifdef __BIG_ENDIAN_BITFIELD
815 uint64_t reserved_63_63
:1;
822 uint64_t rodt_bprch
:1;
823 uint64_t wodt_bprch
:1;
825 uint64_t ext_zqcs_dis
:1;
826 uint64_t int_zqcs_dis
:1;
827 uint64_t auto_dclkdis
: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;
840 uint64_t rdimm_ena
:1;
842 uint64_t rdimm_ena
:1;
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;
855 uint64_t auto_dclkdis
:1;
856 uint64_t int_zqcs_dis
:1;
857 uint64_t ext_zqcs_dis
:1;
859 uint64_t wodt_bprch
:1;
860 uint64_t rodt_bprch
:1;
867 uint64_t reserved_63_63
:1;
872 union cvmx_lmcx_ctl
{
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;
881 uint64_t max_write_batch
:4;
883 uint64_t pll_bypass
:1;
884 uint64_t rdimm_ena
:1;
886 uint64_t inorder_mwf
:1;
887 uint64_t inorder_mrf
:1;
888 uint64_t reserved_10_11
:2;
902 uint64_t reserved_10_11
:2;
903 uint64_t inorder_mrf
:1;
904 uint64_t inorder_mwf
:1;
906 uint64_t rdimm_ena
:1;
907 uint64_t pll_bypass
:1;
909 uint64_t max_write_batch
:4;
912 uint64_t ddr__pctl
:4;
913 uint64_t ddr__nctl
:4;
914 uint64_t reserved_32_63
:32;
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;
924 uint64_t max_write_batch
:4;
926 uint64_t pll_bypass
:1;
927 uint64_t rdimm_ena
:1;
929 uint64_t inorder_mwf
:1;
930 uint64_t inorder_mrf
:1;
948 uint64_t inorder_mrf
:1;
949 uint64_t inorder_mwf
:1;
951 uint64_t rdimm_ena
:1;
952 uint64_t pll_bypass
:1;
954 uint64_t max_write_batch
:4;
957 uint64_t ddr__pctl
:4;
958 uint64_t ddr__nctl
:4;
959 uint64_t reserved_32_63
:32;
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;
969 uint64_t max_write_batch
:4;
970 uint64_t reserved_16_17
:2;
971 uint64_t rdimm_ena
:1;
973 uint64_t inorder_mwf
:1;
974 uint64_t inorder_mrf
:1;
992 uint64_t inorder_mrf
:1;
993 uint64_t inorder_mwf
:1;
995 uint64_t rdimm_ena
:1;
996 uint64_t reserved_16_17
:2;
997 uint64_t max_write_batch
:4;
1000 uint64_t ddr__pctl
:4;
1001 uint64_t ddr__nctl
:4;
1002 uint64_t reserved_32_63
:32;
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;
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;
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;
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;
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;
1107 uint64_t mode128b
:1;
1121 uint64_t mode128b
: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;
1138 union cvmx_lmcx_ctl1
{
1140 struct cvmx_lmcx_ctl1_s
{
1141 #ifdef __BIG_ENDIAN_BITFIELD
1142 uint64_t reserved_21_63
:43;
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;
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;
1160 uint64_t reserved_21_63
:43;
1163 struct cvmx_lmcx_ctl1_cn30xx
{
1164 #ifdef __BIG_ENDIAN_BITFIELD
1165 uint64_t reserved_2_63
:62;
1166 uint64_t data_layout
:2;
1168 uint64_t data_layout
:2;
1169 uint64_t reserved_2_63
:62;
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;
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;
1187 struct cvmx_lmcx_ctl1_cn52xx
{
1188 #ifdef __BIG_ENDIAN_BITFIELD
1189 uint64_t reserved_21_63
:43;
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;
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;
1205 uint64_t reserved_21_63
:43;
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;
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;
1223 union cvmx_lmcx_dclk_cnt
{
1225 struct cvmx_lmcx_dclk_cnt_s
{
1226 #ifdef __BIG_ENDIAN_BITFIELD
1227 uint64_t dclkcnt
:64;
1229 uint64_t dclkcnt
:64;
1234 union cvmx_lmcx_dclk_cnt_hi
{
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;
1241 uint64_t dclkcnt_hi
:32;
1242 uint64_t reserved_32_63
:32;
1247 union cvmx_lmcx_dclk_cnt_lo
{
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;
1254 uint64_t dclkcnt_lo
:32;
1255 uint64_t reserved_32_63
:32;
1260 union cvmx_lmcx_dclk_ctl
{
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;
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;
1279 union cvmx_lmcx_ddr2_ctl
{
1281 struct cvmx_lmcx_ddr2_ctl_s
{
1282 #ifdef __BIG_ENDIAN_BITFIELD
1283 uint64_t reserved_32_63
:32;
1293 uint64_t crip_mode
:1;
1296 uint64_t qdll_ena
:1;
1297 uint64_t dll90_vlu
:5;
1298 uint64_t dll90_byp
:1;
1304 uint64_t dll90_byp
:1;
1305 uint64_t dll90_vlu
:5;
1306 uint64_t qdll_ena
:1;
1309 uint64_t crip_mode
:1;
1319 uint64_t reserved_32_63
:32;
1322 struct cvmx_lmcx_ddr2_ctl_cn30xx
{
1323 #ifdef __BIG_ENDIAN_BITFIELD
1324 uint64_t reserved_32_63
:32;
1334 uint64_t crip_mode
: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;
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;
1350 uint64_t crip_mode
:1;
1360 uint64_t reserved_32_63
:32;
1365 union cvmx_lmcx_ddr_pll_ctl
{
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;
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;
1396 union cvmx_lmcx_delay_cfg
{
1398 struct cvmx_lmcx_delay_cfg_s
{
1399 #ifdef __BIG_ENDIAN_BITFIELD
1400 uint64_t reserved_15_63
:49;
1408 uint64_t reserved_15_63
:49;
1411 struct cvmx_lmcx_delay_cfg_cn38xx
{
1412 #ifdef __BIG_ENDIAN_BITFIELD
1413 uint64_t reserved_14_63
:50;
1415 uint64_t reserved_9_9
:1;
1417 uint64_t reserved_4_4
:1;
1421 uint64_t reserved_4_4
:1;
1423 uint64_t reserved_9_9
:1;
1425 uint64_t reserved_14_63
:50;
1430 union cvmx_lmcx_dimmx_params
{
1432 struct cvmx_lmcx_dimmx_params_s
{
1433 #ifdef __BIG_ENDIAN_BITFIELD
1471 union cvmx_lmcx_dimm_ctl
{
1473 struct cvmx_lmcx_dimm_ctl_s
{
1474 #ifdef __BIG_ENDIAN_BITFIELD
1475 uint64_t reserved_46_63
:18;
1478 uint64_t dimm1_wmask
:16;
1479 uint64_t dimm0_wmask
:16;
1481 uint64_t dimm0_wmask
:16;
1482 uint64_t dimm1_wmask
:16;
1485 uint64_t reserved_46_63
:18;
1490 union cvmx_lmcx_dll_ctl
{
1492 struct cvmx_lmcx_dll_ctl_s
{
1493 #ifdef __BIG_ENDIAN_BITFIELD
1494 uint64_t reserved_8_63
:56;
1496 uint64_t dll90_byp
:1;
1497 uint64_t dll90_ena
:1;
1498 uint64_t dll90_vlu
:5;
1500 uint64_t dll90_vlu
:5;
1501 uint64_t dll90_ena
:1;
1502 uint64_t dll90_byp
:1;
1504 uint64_t reserved_8_63
:56;
1509 union cvmx_lmcx_dll_ctl2
{
1511 struct cvmx_lmcx_dll_ctl2_s
{
1512 #ifdef __BIG_ENDIAN_BITFIELD
1513 uint64_t reserved_16_63
:48;
1515 uint64_t dll_bringup
:1;
1517 uint64_t quad_dll_ena
:1;
1519 uint64_t byp_setting
:8;
1521 uint64_t byp_setting
:8;
1523 uint64_t quad_dll_ena
:1;
1525 uint64_t dll_bringup
:1;
1527 uint64_t reserved_16_63
:48;
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;
1535 uint64_t quad_dll_ena
:1;
1537 uint64_t byp_setting
:8;
1539 uint64_t byp_setting
:8;
1541 uint64_t quad_dll_ena
:1;
1543 uint64_t dll_bringup
:1;
1544 uint64_t reserved_15_63
:49;
1549 union cvmx_lmcx_dll_ctl3
{
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;
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;
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;
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;
1617 union cvmx_lmcx_dual_memcfg
{
1619 struct cvmx_lmcx_dual_memcfg_s
{
1620 #ifdef __BIG_ENDIAN_BITFIELD
1621 uint64_t reserved_20_63
:44;
1624 uint64_t reserved_8_15
:8;
1628 uint64_t reserved_8_15
:8;
1631 uint64_t reserved_20_63
:44;
1634 struct cvmx_lmcx_dual_memcfg_cn61xx
{
1635 #ifdef __BIG_ENDIAN_BITFIELD
1636 uint64_t reserved_19_63
:45;
1638 uint64_t reserved_8_15
:8;
1642 uint64_t reserved_8_15
:8;
1644 uint64_t reserved_19_63
:45;
1649 union cvmx_lmcx_ecc_synd
{
1651 struct cvmx_lmcx_ecc_synd_s
{
1652 #ifdef __BIG_ENDIAN_BITFIELD
1653 uint64_t reserved_32_63
:32;
1663 uint64_t reserved_32_63
:32;
1668 union cvmx_lmcx_fadr
{
1670 struct cvmx_lmcx_fadr_s
{
1671 #ifdef __BIG_ENDIAN_BITFIELD
1672 uint64_t reserved_0_63
:64;
1674 uint64_t reserved_0_63
:64;
1677 struct cvmx_lmcx_fadr_cn30xx
{
1678 #ifdef __BIG_ENDIAN_BITFIELD
1679 uint64_t reserved_32_63
:32;
1691 uint64_t reserved_32_63
:32;
1694 struct cvmx_lmcx_fadr_cn61xx
{
1695 #ifdef __BIG_ENDIAN_BITFIELD
1696 uint64_t reserved_36_63
:28;
1708 uint64_t reserved_36_63
:28;
1713 union cvmx_lmcx_ifb_cnt
{
1715 struct cvmx_lmcx_ifb_cnt_s
{
1716 #ifdef __BIG_ENDIAN_BITFIELD
1724 union cvmx_lmcx_ifb_cnt_hi
{
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;
1731 uint64_t ifbcnt_hi
:32;
1732 uint64_t reserved_32_63
:32;
1737 union cvmx_lmcx_ifb_cnt_lo
{
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;
1744 uint64_t ifbcnt_lo
:32;
1745 uint64_t reserved_32_63
:32;
1750 union cvmx_lmcx_int
{
1752 struct cvmx_lmcx_int_s
{
1753 #ifdef __BIG_ENDIAN_BITFIELD
1754 uint64_t reserved_9_63
:55;
1757 uint64_t nxm_wr_err
:1;
1759 uint64_t nxm_wr_err
:1;
1762 uint64_t reserved_9_63
:55;
1767 union cvmx_lmcx_int_en
{
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;
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;
1784 union cvmx_lmcx_mem_cfg0
{
1786 struct cvmx_lmcx_mem_cfg0_s
{
1787 #ifdef __BIG_ENDIAN_BITFIELD
1788 uint64_t reserved_32_63
:32;
1791 uint64_t bunk_ena
:1;
1794 uint64_t intr_ded_ena
:1;
1795 uint64_t intr_sec_ena
:1;
1798 uint64_t pbank_lsb
:4;
1801 uint64_t init_start
:1;
1803 uint64_t init_start
:1;
1806 uint64_t pbank_lsb
:4;
1809 uint64_t intr_sec_ena
:1;
1810 uint64_t intr_ded_ena
:1;
1813 uint64_t bunk_ena
:1;
1816 uint64_t reserved_32_63
:32;
1821 union cvmx_lmcx_mem_cfg1
{
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;
1844 uint64_t comp_bypass
:1;
1845 uint64_t reserved_32_63
:32;
1848 struct cvmx_lmcx_mem_cfg1_cn38xx
{
1849 #ifdef __BIG_ENDIAN_BITFIELD
1850 uint64_t reserved_31_63
:33;
1868 uint64_t reserved_31_63
:33;
1873 union cvmx_lmcx_modereg_params0
{
1875 struct cvmx_lmcx_modereg_params0_s
{
1876 #ifdef __BIG_ENDIAN_BITFIELD
1877 uint64_t reserved_25_63
:39;
1909 uint64_t reserved_25_63
:39;
1914 union cvmx_lmcx_modereg_params1
{
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;
1921 uint64_t rtt_wr_11
:2;
1925 uint64_t rtt_nom_10
:3;
1927 uint64_t rtt_wr_10
:2;
1931 uint64_t rtt_nom_01
:3;
1933 uint64_t rtt_wr_01
:2;
1937 uint64_t rtt_nom_00
:3;
1939 uint64_t rtt_wr_00
:2;
1947 uint64_t rtt_wr_00
:2;
1949 uint64_t rtt_nom_00
:3;
1953 uint64_t rtt_wr_01
:2;
1955 uint64_t rtt_nom_01
:3;
1959 uint64_t rtt_wr_10
:2;
1961 uint64_t rtt_nom_10
:3;
1965 uint64_t rtt_wr_11
:2;
1967 uint64_t rtt_nom_11
:3;
1968 uint64_t reserved_48_63
:16;
1973 union cvmx_lmcx_nxm
{
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;
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;
2000 struct cvmx_lmcx_nxm_cn52xx
{
2001 #ifdef __BIG_ENDIAN_BITFIELD
2002 uint64_t reserved_8_63
:56;
2006 uint64_t reserved_8_63
:56;
2011 union cvmx_lmcx_ops_cnt
{
2013 struct cvmx_lmcx_ops_cnt_s
{
2014 #ifdef __BIG_ENDIAN_BITFIELD
2022 union cvmx_lmcx_ops_cnt_hi
{
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;
2029 uint64_t opscnt_hi
:32;
2030 uint64_t reserved_32_63
:32;
2035 union cvmx_lmcx_ops_cnt_lo
{
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;
2042 uint64_t opscnt_lo
:32;
2043 uint64_t reserved_32_63
:32;
2048 union cvmx_lmcx_phy_ctl
{
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;
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;
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;
2071 uint64_t rx_always_on
:1;
2072 uint64_t reserved_15_63
:49;
2075 struct cvmx_lmcx_phy_ctl_cn63xxp1
{
2076 #ifdef __BIG_ENDIAN_BITFIELD
2077 uint64_t reserved_14_63
:50;
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;
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;
2095 uint64_t reserved_14_63
:50;
2100 union cvmx_lmcx_pll_bwctl
{
2102 struct cvmx_lmcx_pll_bwctl_s
{
2103 #ifdef __BIG_ENDIAN_BITFIELD
2104 uint64_t reserved_5_63
:59;
2110 uint64_t reserved_5_63
:59;
2115 union cvmx_lmcx_pll_ctl
{
2117 struct cvmx_lmcx_pll_ctl_s
{
2118 #ifdef __BIG_ENDIAN_BITFIELD
2119 uint64_t reserved_30_63
:34;
2121 uint64_t fasten_n
:1;
2122 uint64_t div_reset
:1;
2126 uint64_t reserved_6_7
:2;
2140 uint64_t reserved_6_7
:2;
2144 uint64_t div_reset
:1;
2145 uint64_t fasten_n
:1;
2147 uint64_t reserved_30_63
:34;
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;
2158 uint64_t reserved_6_7
:2;
2172 uint64_t reserved_6_7
:2;
2176 uint64_t div_reset
:1;
2177 uint64_t fasten_n
:1;
2178 uint64_t reserved_29_63
:35;
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;
2188 uint64_t reserved_6_7
:2;
2202 uint64_t reserved_6_7
:2;
2206 uint64_t div_reset
:1;
2207 uint64_t reserved_28_63
:36;
2212 union cvmx_lmcx_pll_status
{
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;
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;
2231 struct cvmx_lmcx_pll_status_cn58xxp1
{
2232 #ifdef __BIG_ENDIAN_BITFIELD
2233 uint64_t reserved_2_63
:62;
2239 uint64_t reserved_2_63
:62;
2244 union cvmx_lmcx_read_level_ctl
{
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;
2253 uint64_t reserved_3_3
:1;
2257 uint64_t reserved_3_3
:1;
2261 uint64_t rankmask
:4;
2262 uint64_t reserved_44_63
:20;
2267 union cvmx_lmcx_read_level_dbg
{
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;
2277 uint64_t reserved_4_15
:12;
2278 uint64_t bitmask
:16;
2279 uint64_t reserved_32_63
:32;
2284 union cvmx_lmcx_read_level_rankx
{
2286 struct cvmx_lmcx_read_level_rankx_s
{
2287 #ifdef __BIG_ENDIAN_BITFIELD
2288 uint64_t reserved_38_63
:26;
2310 uint64_t reserved_38_63
:26;
2315 union cvmx_lmcx_reset_ctl
{
2317 struct cvmx_lmcx_reset_ctl_s
{
2318 #ifdef __BIG_ENDIAN_BITFIELD
2319 uint64_t reserved_4_63
:60;
2321 uint64_t ddr3psoft
:1;
2322 uint64_t ddr3pwarm
:1;
2326 uint64_t ddr3pwarm
:1;
2327 uint64_t ddr3psoft
:1;
2329 uint64_t reserved_4_63
:60;
2334 union cvmx_lmcx_rlevel_ctl
{
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;
2345 uint64_t offset_en
:1;
2351 uint64_t offset_en
:1;
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;
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;
2370 uint64_t offset_en
:1;
2371 uint64_t reserved_9_63
:55;
2376 union cvmx_lmcx_rlevel_dbg
{
2378 struct cvmx_lmcx_rlevel_dbg_s
{
2379 #ifdef __BIG_ENDIAN_BITFIELD
2380 uint64_t bitmask
:64;
2382 uint64_t bitmask
:64;
2387 union cvmx_lmcx_rlevel_rankx
{
2389 struct cvmx_lmcx_rlevel_rankx_s
{
2390 #ifdef __BIG_ENDIAN_BITFIELD
2391 uint64_t reserved_56_63
:8;
2413 uint64_t reserved_56_63
:8;
2418 union cvmx_lmcx_rodt_comp_ctl
{
2420 struct cvmx_lmcx_rodt_comp_ctl_s
{
2421 #ifdef __BIG_ENDIAN_BITFIELD
2422 uint64_t reserved_17_63
:47;
2424 uint64_t reserved_12_15
:4;
2426 uint64_t reserved_5_7
:3;
2430 uint64_t reserved_5_7
:3;
2432 uint64_t reserved_12_15
:4;
2434 uint64_t reserved_17_63
:47;
2439 union cvmx_lmcx_rodt_ctl
{
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;
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;
2466 union cvmx_lmcx_rodt_mask
{
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;
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;
2491 union cvmx_lmcx_scramble_cfg0
{
2493 struct cvmx_lmcx_scramble_cfg0_s
{
2494 #ifdef __BIG_ENDIAN_BITFIELD
2502 union cvmx_lmcx_scramble_cfg1
{
2504 struct cvmx_lmcx_scramble_cfg1_s
{
2505 #ifdef __BIG_ENDIAN_BITFIELD
2513 union cvmx_lmcx_scrambled_fadr
{
2515 struct cvmx_lmcx_scrambled_fadr_s
{
2516 #ifdef __BIG_ENDIAN_BITFIELD
2517 uint64_t reserved_36_63
:28;
2529 uint64_t reserved_36_63
:28;
2534 union cvmx_lmcx_slot_ctl0
{
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;
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;
2553 union cvmx_lmcx_slot_ctl1
{
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;
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;
2572 union cvmx_lmcx_slot_ctl2
{
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;
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;
2591 union cvmx_lmcx_timing_params0
{
2593 struct cvmx_lmcx_timing_params0_s
{
2594 #ifdef __BIG_ENDIAN_BITFIELD
2595 uint64_t reserved_47_63
:17;
2619 uint64_t reserved_47_63
:17;
2622 struct cvmx_lmcx_timing_params0_cn61xx
{
2623 #ifdef __BIG_ENDIAN_BITFIELD
2624 uint64_t reserved_47_63
:17;
2635 uint64_t reserved_0_9
:10;
2637 uint64_t reserved_0_9
:10;
2648 uint64_t reserved_47_63
:17;
2651 struct cvmx_lmcx_timing_params0_cn63xxp1
{
2652 #ifdef __BIG_ENDIAN_BITFIELD
2653 uint64_t reserved_46_63
:18;
2675 uint64_t reserved_46_63
:18;
2680 union cvmx_lmcx_timing_params1
{
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;
2688 uint64_t twldqsen
:4;
2706 uint64_t twldqsen
:4;
2709 uint64_t tras_ext
:1;
2710 uint64_t reserved_47_63
:17;
2713 struct cvmx_lmcx_timing_params1_cn63xxp1
{
2714 #ifdef __BIG_ENDIAN_BITFIELD
2715 uint64_t reserved_46_63
:18;
2718 uint64_t twldqsen
:4;
2736 uint64_t twldqsen
:4;
2739 uint64_t reserved_46_63
:18;
2744 union cvmx_lmcx_tro_ctl
{
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;
2753 uint64_t rclk_cnt
:32;
2754 uint64_t reserved_33_63
:31;
2759 union cvmx_lmcx_tro_stat
{
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;
2766 uint64_t ring_cnt
:32;
2767 uint64_t reserved_32_63
:32;
2772 union cvmx_lmcx_wlevel_ctl
{
2774 struct cvmx_lmcx_wlevel_ctl_s
{
2775 #ifdef __BIG_ENDIAN_BITFIELD
2776 uint64_t reserved_22_63
:42;
2781 uint64_t lanemask
:9;
2783 uint64_t lanemask
:9;
2788 uint64_t reserved_22_63
:42;
2791 struct cvmx_lmcx_wlevel_ctl_cn63xxp1
{
2792 #ifdef __BIG_ENDIAN_BITFIELD
2793 uint64_t reserved_10_63
:54;
2795 uint64_t lanemask
:9;
2797 uint64_t lanemask
:9;
2799 uint64_t reserved_10_63
:54;
2804 union cvmx_lmcx_wlevel_dbg
{
2806 struct cvmx_lmcx_wlevel_dbg_s
{
2807 #ifdef __BIG_ENDIAN_BITFIELD
2808 uint64_t reserved_12_63
:52;
2814 uint64_t reserved_12_63
:52;
2819 union cvmx_lmcx_wlevel_rankx
{
2821 struct cvmx_lmcx_wlevel_rankx_s
{
2822 #ifdef __BIG_ENDIAN_BITFIELD
2823 uint64_t reserved_47_63
:17;
2845 uint64_t reserved_47_63
:17;
2850 union cvmx_lmcx_wodt_ctl0
{
2852 struct cvmx_lmcx_wodt_ctl0_s
{
2853 #ifdef __BIG_ENDIAN_BITFIELD
2854 uint64_t reserved_0_63
:64;
2856 uint64_t reserved_0_63
:64;
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;
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;
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;
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;
2899 union cvmx_lmcx_wodt_ctl1
{
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;
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;
2918 union cvmx_lmcx_wodt_mask
{
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;
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;