Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
linux
Commits
abe105a4
Commit
abe105a4
authored
Nov 15, 2012
by
David Daney
Committed by
Ralf Baechle
Dec 13, 2012
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
MIPS: OCTEON: Add definitions for OCTEON memory contoller registers.
Signed-off-by:
David Daney
<
david.daney@cavium.com
>
parent
6bbf6a6d
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
3457 additions
and
0 deletions
+3457
-0
arch/mips/include/asm/octeon/cvmx-lmcx-defs.h
arch/mips/include/asm/octeon/cvmx-lmcx-defs.h
+3457
-0
No files found.
arch/mips/include/asm/octeon/cvmx-lmcx-defs.h
0 → 100644
View file @
abe105a4
/***********************license start***************
* Author: Cavium Inc.
*
* Contact: support@cavium.com
* This file is part of the OCTEON SDK
*
* Copyright (c) 2003-2012 Cavium Inc.
*
* This file is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License, Version 2, as
* published by the Free Software Foundation.
*
* This file is distributed in the hope that it will be useful, but
* AS-IS and WITHOUT ANY WARRANTY; without even the implied warranty
* of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE, TITLE, or
* NONINFRINGEMENT. See the GNU General Public License for more
* details.
*
* You should have received a copy of the GNU General Public License
* along with this file; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
* or visit http://www.gnu.org/licenses/.
*
* This file may also be available under a different license from Cavium.
* Contact Cavium Inc. for more information
***********************license end**************************************/
#ifndef __CVMX_LMCX_DEFS_H__
#define __CVMX_LMCX_DEFS_H__
#define CVMX_LMCX_BIST_CTL(block_id) (CVMX_ADD_IO_SEG(0x00011800880000F0ull) + ((block_id) & 1) * 0x60000000ull)
#define CVMX_LMCX_BIST_RESULT(block_id) (CVMX_ADD_IO_SEG(0x00011800880000F8ull) + ((block_id) & 1) * 0x60000000ull)
#define CVMX_LMCX_CHAR_CTL(block_id) (CVMX_ADD_IO_SEG(0x0001180088000220ull) + ((block_id) & 3) * 0x1000000ull)
#define CVMX_LMCX_CHAR_MASK0(block_id) (CVMX_ADD_IO_SEG(0x0001180088000228ull) + ((block_id) & 3) * 0x1000000ull)
#define CVMX_LMCX_CHAR_MASK1(block_id) (CVMX_ADD_IO_SEG(0x0001180088000230ull) + ((block_id) & 3) * 0x1000000ull)
#define CVMX_LMCX_CHAR_MASK2(block_id) (CVMX_ADD_IO_SEG(0x0001180088000238ull) + ((block_id) & 3) * 0x1000000ull)
#define CVMX_LMCX_CHAR_MASK3(block_id) (CVMX_ADD_IO_SEG(0x0001180088000240ull) + ((block_id) & 3) * 0x1000000ull)
#define CVMX_LMCX_CHAR_MASK4(block_id) (CVMX_ADD_IO_SEG(0x0001180088000318ull) + ((block_id) & 3) * 0x1000000ull)
#define CVMX_LMCX_COMP_CTL(block_id) (CVMX_ADD_IO_SEG(0x0001180088000028ull) + ((block_id) & 1) * 0x60000000ull)
#define CVMX_LMCX_COMP_CTL2(block_id) (CVMX_ADD_IO_SEG(0x00011800880001B8ull) + ((block_id) & 3) * 0x1000000ull)
#define CVMX_LMCX_CONFIG(block_id) (CVMX_ADD_IO_SEG(0x0001180088000188ull) + ((block_id) & 3) * 0x1000000ull)
#define CVMX_LMCX_CONTROL(block_id) (CVMX_ADD_IO_SEG(0x0001180088000190ull) + ((block_id) & 3) * 0x1000000ull)
#define CVMX_LMCX_CTL(block_id) (CVMX_ADD_IO_SEG(0x0001180088000010ull) + ((block_id) & 1) * 0x60000000ull)
#define CVMX_LMCX_CTL1(block_id) (CVMX_ADD_IO_SEG(0x0001180088000090ull) + ((block_id) & 1) * 0x60000000ull)
#define CVMX_LMCX_DCLK_CNT(block_id) (CVMX_ADD_IO_SEG(0x00011800880001E0ull) + ((block_id) & 3) * 0x1000000ull)
#define CVMX_LMCX_DCLK_CNT_HI(block_id) (CVMX_ADD_IO_SEG(0x0001180088000070ull) + ((block_id) & 1) * 0x60000000ull)
#define CVMX_LMCX_DCLK_CNT_LO(block_id) (CVMX_ADD_IO_SEG(0x0001180088000068ull) + ((block_id) & 1) * 0x60000000ull)
#define CVMX_LMCX_DCLK_CTL(block_id) (CVMX_ADD_IO_SEG(0x00011800880000B8ull) + ((block_id) & 1) * 0x60000000ull)
#define CVMX_LMCX_DDR2_CTL(block_id) (CVMX_ADD_IO_SEG(0x0001180088000018ull) + ((block_id) & 1) * 0x60000000ull)
#define CVMX_LMCX_DDR_PLL_CTL(block_id) (CVMX_ADD_IO_SEG(0x0001180088000258ull) + ((block_id) & 3) * 0x1000000ull)
#define CVMX_LMCX_DELAY_CFG(block_id) (CVMX_ADD_IO_SEG(0x0001180088000088ull) + ((block_id) & 1) * 0x60000000ull)
#define CVMX_LMCX_DIMMX_PARAMS(offset, block_id) (CVMX_ADD_IO_SEG(0x0001180088000270ull) + (((offset) & 1) + ((block_id) & 3) * 0x200000ull) * 8)
#define CVMX_LMCX_DIMM_CTL(block_id) (CVMX_ADD_IO_SEG(0x0001180088000310ull) + ((block_id) & 3) * 0x1000000ull)
#define CVMX_LMCX_DLL_CTL(block_id) (CVMX_ADD_IO_SEG(0x00011800880000C0ull) + ((block_id) & 1) * 0x60000000ull)
#define CVMX_LMCX_DLL_CTL2(block_id) (CVMX_ADD_IO_SEG(0x00011800880001C8ull) + ((block_id) & 3) * 0x1000000ull)
#define CVMX_LMCX_DLL_CTL3(block_id) (CVMX_ADD_IO_SEG(0x0001180088000218ull) + ((block_id) & 3) * 0x1000000ull)
static
inline
uint64_t
CVMX_LMCX_DUAL_MEMCFG
(
unsigned
long
block_id
)
{
switch
(
cvmx_get_octeon_family
())
{
case
OCTEON_CNF71XX
&
OCTEON_FAMILY_MASK
:
case
OCTEON_CN50XX
&
OCTEON_FAMILY_MASK
:
case
OCTEON_CN58XX
&
OCTEON_FAMILY_MASK
:
case
OCTEON_CN66XX
&
OCTEON_FAMILY_MASK
:
case
OCTEON_CN52XX
&
OCTEON_FAMILY_MASK
:
case
OCTEON_CN61XX
&
OCTEON_FAMILY_MASK
:
case
OCTEON_CN63XX
&
OCTEON_FAMILY_MASK
:
return
CVMX_ADD_IO_SEG
(
0x0001180088000098ull
)
+
(
block_id
)
*
0x60000000ull
;
case
OCTEON_CN56XX
&
OCTEON_FAMILY_MASK
:
return
CVMX_ADD_IO_SEG
(
0x0001180088000098ull
)
+
(
block_id
)
*
0x60000000ull
;
case
OCTEON_CN68XX
&
OCTEON_FAMILY_MASK
:
return
CVMX_ADD_IO_SEG
(
0x0001180088000098ull
)
+
(
block_id
)
*
0x1000000ull
;
}
return
CVMX_ADD_IO_SEG
(
0x0001180088000098ull
)
+
(
block_id
)
*
0x60000000ull
;
}
static
inline
uint64_t
CVMX_LMCX_ECC_SYND
(
unsigned
long
block_id
)
{
switch
(
cvmx_get_octeon_family
())
{
case
OCTEON_CN30XX
&
OCTEON_FAMILY_MASK
:
case
OCTEON_CN50XX
&
OCTEON_FAMILY_MASK
:
case
OCTEON_CN38XX
&
OCTEON_FAMILY_MASK
:
case
OCTEON_CN31XX
&
OCTEON_FAMILY_MASK
:
case
OCTEON_CN58XX
&
OCTEON_FAMILY_MASK
:
case
OCTEON_CN66XX
&
OCTEON_FAMILY_MASK
:
case
OCTEON_CN52XX
&
OCTEON_FAMILY_MASK
:
case
OCTEON_CN61XX
&
OCTEON_FAMILY_MASK
:
case
OCTEON_CNF71XX
&
OCTEON_FAMILY_MASK
:
case
OCTEON_CN63XX
&
OCTEON_FAMILY_MASK
:
return
CVMX_ADD_IO_SEG
(
0x0001180088000038ull
)
+
(
block_id
)
*
0x60000000ull
;
case
OCTEON_CN56XX
&
OCTEON_FAMILY_MASK
:
return
CVMX_ADD_IO_SEG
(
0x0001180088000038ull
)
+
(
block_id
)
*
0x60000000ull
;
case
OCTEON_CN68XX
&
OCTEON_FAMILY_MASK
:
return
CVMX_ADD_IO_SEG
(
0x0001180088000038ull
)
+
(
block_id
)
*
0x1000000ull
;
}
return
CVMX_ADD_IO_SEG
(
0x0001180088000038ull
)
+
(
block_id
)
*
0x60000000ull
;
}
static
inline
uint64_t
CVMX_LMCX_FADR
(
unsigned
long
block_id
)
{
switch
(
cvmx_get_octeon_family
())
{
case
OCTEON_CN30XX
&
OCTEON_FAMILY_MASK
:
case
OCTEON_CN50XX
&
OCTEON_FAMILY_MASK
:
case
OCTEON_CN38XX
&
OCTEON_FAMILY_MASK
:
case
OCTEON_CN31XX
&
OCTEON_FAMILY_MASK
:
case
OCTEON_CN58XX
&
OCTEON_FAMILY_MASK
:
case
OCTEON_CN66XX
&
OCTEON_FAMILY_MASK
:
case
OCTEON_CN52XX
&
OCTEON_FAMILY_MASK
:
case
OCTEON_CN61XX
&
OCTEON_FAMILY_MASK
:
case
OCTEON_CNF71XX
&
OCTEON_FAMILY_MASK
:
case
OCTEON_CN63XX
&
OCTEON_FAMILY_MASK
:
return
CVMX_ADD_IO_SEG
(
0x0001180088000020ull
)
+
(
block_id
)
*
0x60000000ull
;
case
OCTEON_CN56XX
&
OCTEON_FAMILY_MASK
:
return
CVMX_ADD_IO_SEG
(
0x0001180088000020ull
)
+
(
block_id
)
*
0x60000000ull
;
case
OCTEON_CN68XX
&
OCTEON_FAMILY_MASK
:
return
CVMX_ADD_IO_SEG
(
0x0001180088000020ull
)
+
(
block_id
)
*
0x1000000ull
;
}
return
CVMX_ADD_IO_SEG
(
0x0001180088000020ull
)
+
(
block_id
)
*
0x60000000ull
;
}
#define CVMX_LMCX_IFB_CNT(block_id) (CVMX_ADD_IO_SEG(0x00011800880001D0ull) + ((block_id) & 3) * 0x1000000ull)
#define CVMX_LMCX_IFB_CNT_HI(block_id) (CVMX_ADD_IO_SEG(0x0001180088000050ull) + ((block_id) & 1) * 0x60000000ull)
#define CVMX_LMCX_IFB_CNT_LO(block_id) (CVMX_ADD_IO_SEG(0x0001180088000048ull) + ((block_id) & 1) * 0x60000000ull)
#define CVMX_LMCX_INT(block_id) (CVMX_ADD_IO_SEG(0x00011800880001F0ull) + ((block_id) & 3) * 0x1000000ull)
#define CVMX_LMCX_INT_EN(block_id) (CVMX_ADD_IO_SEG(0x00011800880001E8ull) + ((block_id) & 3) * 0x1000000ull)
#define CVMX_LMCX_MEM_CFG0(block_id) (CVMX_ADD_IO_SEG(0x0001180088000000ull) + ((block_id) & 1) * 0x60000000ull)
#define CVMX_LMCX_MEM_CFG1(block_id) (CVMX_ADD_IO_SEG(0x0001180088000008ull) + ((block_id) & 1) * 0x60000000ull)
#define CVMX_LMCX_MODEREG_PARAMS0(block_id) (CVMX_ADD_IO_SEG(0x00011800880001A8ull) + ((block_id) & 3) * 0x1000000ull)
#define CVMX_LMCX_MODEREG_PARAMS1(block_id) (CVMX_ADD_IO_SEG(0x0001180088000260ull) + ((block_id) & 3) * 0x1000000ull)
static
inline
uint64_t
CVMX_LMCX_NXM
(
unsigned
long
block_id
)
{
switch
(
cvmx_get_octeon_family
())
{
case
OCTEON_CNF71XX
&
OCTEON_FAMILY_MASK
:
case
OCTEON_CN61XX
&
OCTEON_FAMILY_MASK
:
case
OCTEON_CN66XX
&
OCTEON_FAMILY_MASK
:
case
OCTEON_CN52XX
&
OCTEON_FAMILY_MASK
:
case
OCTEON_CN58XX
&
OCTEON_FAMILY_MASK
:
case
OCTEON_CN63XX
&
OCTEON_FAMILY_MASK
:
return
CVMX_ADD_IO_SEG
(
0x00011800880000C8ull
)
+
(
block_id
)
*
0x60000000ull
;
case
OCTEON_CN56XX
&
OCTEON_FAMILY_MASK
:
return
CVMX_ADD_IO_SEG
(
0x00011800880000C8ull
)
+
(
block_id
)
*
0x60000000ull
;
case
OCTEON_CN68XX
&
OCTEON_FAMILY_MASK
:
return
CVMX_ADD_IO_SEG
(
0x00011800880000C8ull
)
+
(
block_id
)
*
0x1000000ull
;
}
return
CVMX_ADD_IO_SEG
(
0x00011800880000C8ull
)
+
(
block_id
)
*
0x60000000ull
;
}
#define CVMX_LMCX_OPS_CNT(block_id) (CVMX_ADD_IO_SEG(0x00011800880001D8ull) + ((block_id) & 3) * 0x1000000ull)
#define CVMX_LMCX_OPS_CNT_HI(block_id) (CVMX_ADD_IO_SEG(0x0001180088000060ull) + ((block_id) & 1) * 0x60000000ull)
#define CVMX_LMCX_OPS_CNT_LO(block_id) (CVMX_ADD_IO_SEG(0x0001180088000058ull) + ((block_id) & 1) * 0x60000000ull)
#define CVMX_LMCX_PHY_CTL(block_id) (CVMX_ADD_IO_SEG(0x0001180088000210ull) + ((block_id) & 3) * 0x1000000ull)
#define CVMX_LMCX_PLL_BWCTL(block_id) (CVMX_ADD_IO_SEG(0x0001180088000040ull))
#define CVMX_LMCX_PLL_CTL(block_id) (CVMX_ADD_IO_SEG(0x00011800880000A8ull) + ((block_id) & 1) * 0x60000000ull)
#define CVMX_LMCX_PLL_STATUS(block_id) (CVMX_ADD_IO_SEG(0x00011800880000B0ull) + ((block_id) & 1) * 0x60000000ull)
#define CVMX_LMCX_READ_LEVEL_CTL(block_id) (CVMX_ADD_IO_SEG(0x0001180088000140ull) + ((block_id) & 1) * 0x60000000ull)
#define CVMX_LMCX_READ_LEVEL_DBG(block_id) (CVMX_ADD_IO_SEG(0x0001180088000148ull) + ((block_id) & 1) * 0x60000000ull)
#define CVMX_LMCX_READ_LEVEL_RANKX(offset, block_id) (CVMX_ADD_IO_SEG(0x0001180088000100ull) + (((offset) & 3) + ((block_id) & 1) * 0xC000000ull) * 8)
#define CVMX_LMCX_RESET_CTL(block_id) (CVMX_ADD_IO_SEG(0x0001180088000180ull) + ((block_id) & 3) * 0x1000000ull)
#define CVMX_LMCX_RLEVEL_CTL(block_id) (CVMX_ADD_IO_SEG(0x00011800880002A0ull) + ((block_id) & 3) * 0x1000000ull)
#define CVMX_LMCX_RLEVEL_DBG(block_id) (CVMX_ADD_IO_SEG(0x00011800880002A8ull) + ((block_id) & 3) * 0x1000000ull)
#define CVMX_LMCX_RLEVEL_RANKX(offset, block_id) (CVMX_ADD_IO_SEG(0x0001180088000280ull) + (((offset) & 3) + ((block_id) & 3) * 0x200000ull) * 8)
#define CVMX_LMCX_RODT_COMP_CTL(block_id) (CVMX_ADD_IO_SEG(0x00011800880000A0ull) + ((block_id) & 1) * 0x60000000ull)
#define CVMX_LMCX_RODT_CTL(block_id) (CVMX_ADD_IO_SEG(0x0001180088000078ull) + ((block_id) & 1) * 0x60000000ull)
#define CVMX_LMCX_RODT_MASK(block_id) (CVMX_ADD_IO_SEG(0x0001180088000268ull) + ((block_id) & 3) * 0x1000000ull)
#define CVMX_LMCX_SCRAMBLED_FADR(block_id) (CVMX_ADD_IO_SEG(0x0001180088000330ull))
#define CVMX_LMCX_SCRAMBLE_CFG0(block_id) (CVMX_ADD_IO_SEG(0x0001180088000320ull))
#define CVMX_LMCX_SCRAMBLE_CFG1(block_id) (CVMX_ADD_IO_SEG(0x0001180088000328ull))
#define CVMX_LMCX_SLOT_CTL0(block_id) (CVMX_ADD_IO_SEG(0x00011800880001F8ull) + ((block_id) & 3) * 0x1000000ull)
#define CVMX_LMCX_SLOT_CTL1(block_id) (CVMX_ADD_IO_SEG(0x0001180088000200ull) + ((block_id) & 3) * 0x1000000ull)
#define CVMX_LMCX_SLOT_CTL2(block_id) (CVMX_ADD_IO_SEG(0x0001180088000208ull) + ((block_id) & 3) * 0x1000000ull)
#define CVMX_LMCX_TIMING_PARAMS0(block_id) (CVMX_ADD_IO_SEG(0x0001180088000198ull) + ((block_id) & 3) * 0x1000000ull)
#define CVMX_LMCX_TIMING_PARAMS1(block_id) (CVMX_ADD_IO_SEG(0x00011800880001A0ull) + ((block_id) & 3) * 0x1000000ull)
#define CVMX_LMCX_TRO_CTL(block_id) (CVMX_ADD_IO_SEG(0x0001180088000248ull) + ((block_id) & 3) * 0x1000000ull)
#define CVMX_LMCX_TRO_STAT(block_id) (CVMX_ADD_IO_SEG(0x0001180088000250ull) + ((block_id) & 3) * 0x1000000ull)
#define CVMX_LMCX_WLEVEL_CTL(block_id) (CVMX_ADD_IO_SEG(0x0001180088000300ull) + ((block_id) & 3) * 0x1000000ull)
#define CVMX_LMCX_WLEVEL_DBG(block_id) (CVMX_ADD_IO_SEG(0x0001180088000308ull) + ((block_id) & 3) * 0x1000000ull)
#define CVMX_LMCX_WLEVEL_RANKX(offset, block_id) (CVMX_ADD_IO_SEG(0x00011800880002B0ull) + (((offset) & 3) + ((block_id) & 3) * 0x200000ull) * 8)
#define CVMX_LMCX_WODT_CTL0(block_id) (CVMX_ADD_IO_SEG(0x0001180088000030ull) + ((block_id) & 1) * 0x60000000ull)
#define CVMX_LMCX_WODT_CTL1(block_id) (CVMX_ADD_IO_SEG(0x0001180088000080ull) + ((block_id) & 1) * 0x60000000ull)
#define CVMX_LMCX_WODT_MASK(block_id) (CVMX_ADD_IO_SEG(0x00011800880001B0ull) + ((block_id) & 3) * 0x1000000ull)
union
cvmx_lmcx_bist_ctl
{
uint64_t
u64
;
struct
cvmx_lmcx_bist_ctl_s
{
#ifdef __BIG_ENDIAN_BITFIELD
uint64_t
reserved_1_63
:
63
;
uint64_t
start
:
1
;
#else
uint64_t
start
:
1
;
uint64_t
reserved_1_63
:
63
;
#endif
}
s
;
struct
cvmx_lmcx_bist_ctl_s
cn50xx
;
struct
cvmx_lmcx_bist_ctl_s
cn52xx
;
struct
cvmx_lmcx_bist_ctl_s
cn52xxp1
;
struct
cvmx_lmcx_bist_ctl_s
cn56xx
;
struct
cvmx_lmcx_bist_ctl_s
cn56xxp1
;
};
union
cvmx_lmcx_bist_result
{
uint64_t
u64
;
struct
cvmx_lmcx_bist_result_s
{
#ifdef __BIG_ENDIAN_BITFIELD
uint64_t
reserved_11_63
:
53
;
uint64_t
csrd2e
:
1
;
uint64_t
csre2d
:
1
;
uint64_t
mwf
:
1
;
uint64_t
mwd
:
3
;
uint64_t
mwc
:
1
;
uint64_t
mrf
:
1
;
uint64_t
mrd
:
3
;
#else
uint64_t
mrd
:
3
;
uint64_t
mrf
:
1
;
uint64_t
mwc
:
1
;
uint64_t
mwd
:
3
;
uint64_t
mwf
:
1
;
uint64_t
csre2d
:
1
;
uint64_t
csrd2e
:
1
;
uint64_t
reserved_11_63
:
53
;
#endif
}
s
;
struct
cvmx_lmcx_bist_result_cn50xx
{
#ifdef __BIG_ENDIAN_BITFIELD
uint64_t
reserved_9_63
:
55
;
uint64_t
mwf
:
1
;
uint64_t
mwd
:
3
;
uint64_t
mwc
:
1
;
uint64_t
mrf
:
1
;
uint64_t
mrd
:
3
;
#else
uint64_t
mrd
:
3
;
uint64_t
mrf
:
1
;
uint64_t
mwc
:
1
;
uint64_t
mwd
:
3
;
uint64_t
mwf
:
1
;
uint64_t
reserved_9_63
:
55
;
#endif
}
cn50xx
;
struct
cvmx_lmcx_bist_result_s
cn52xx
;
struct
cvmx_lmcx_bist_result_s
cn52xxp1
;
struct
cvmx_lmcx_bist_result_s
cn56xx
;
struct
cvmx_lmcx_bist_result_s
cn56xxp1
;
};
union
cvmx_lmcx_char_ctl
{
uint64_t
u64
;
struct
cvmx_lmcx_char_ctl_s
{
#ifdef __BIG_ENDIAN_BITFIELD
uint64_t
reserved_44_63
:
20
;
uint64_t
dr
:
1
;
uint64_t
skew_on
:
1
;
uint64_t
en
:
1
;
uint64_t
sel
:
1
;
uint64_t
prog
:
8
;
uint64_t
prbs
:
32
;
#else
uint64_t
prbs
:
32
;
uint64_t
prog
:
8
;
uint64_t
sel
:
1
;
uint64_t
en
:
1
;
uint64_t
skew_on
:
1
;
uint64_t
dr
:
1
;
uint64_t
reserved_44_63
:
20
;
#endif
}
s
;
struct
cvmx_lmcx_char_ctl_s
cn61xx
;
struct
cvmx_lmcx_char_ctl_cn63xx
{
#ifdef __BIG_ENDIAN_BITFIELD
uint64_t
reserved_42_63
:
22
;
uint64_t
en
:
1
;
uint64_t
sel
:
1
;
uint64_t
prog
:
8
;
uint64_t
prbs
:
32
;
#else
uint64_t
prbs
:
32
;
uint64_t
prog
:
8
;
uint64_t
sel
:
1
;
uint64_t
en
:
1
;
uint64_t
reserved_42_63
:
22
;
#endif
}
cn63xx
;
struct
cvmx_lmcx_char_ctl_cn63xx
cn63xxp1
;
struct
cvmx_lmcx_char_ctl_s
cn66xx
;
struct
cvmx_lmcx_char_ctl_s
cn68xx
;
struct
cvmx_lmcx_char_ctl_cn63xx
cn68xxp1
;
struct
cvmx_lmcx_char_ctl_s
cnf71xx
;
};
union
cvmx_lmcx_char_mask0
{
uint64_t
u64
;
struct
cvmx_lmcx_char_mask0_s
{
#ifdef __BIG_ENDIAN_BITFIELD
uint64_t
mask
:
64
;
#else
uint64_t
mask
:
64
;
#endif
}
s
;
struct
cvmx_lmcx_char_mask0_s
cn61xx
;
struct
cvmx_lmcx_char_mask0_s
cn63xx
;
struct
cvmx_lmcx_char_mask0_s
cn63xxp1
;
struct
cvmx_lmcx_char_mask0_s
cn66xx
;
struct
cvmx_lmcx_char_mask0_s
cn68xx
;
struct
cvmx_lmcx_char_mask0_s
cn68xxp1
;
struct
cvmx_lmcx_char_mask0_s
cnf71xx
;
};
union
cvmx_lmcx_char_mask1
{
uint64_t
u64
;
struct
cvmx_lmcx_char_mask1_s
{
#ifdef __BIG_ENDIAN_BITFIELD
uint64_t
reserved_8_63
:
56
;
uint64_t
mask
:
8
;
#else
uint64_t
mask
:
8
;
uint64_t
reserved_8_63
:
56
;
#endif
}
s
;
struct
cvmx_lmcx_char_mask1_s
cn61xx
;
struct
cvmx_lmcx_char_mask1_s
cn63xx
;
struct
cvmx_lmcx_char_mask1_s
cn63xxp1
;
struct
cvmx_lmcx_char_mask1_s
cn66xx
;
struct
cvmx_lmcx_char_mask1_s
cn68xx
;
struct
cvmx_lmcx_char_mask1_s
cn68xxp1
;
struct
cvmx_lmcx_char_mask1_s
cnf71xx
;
};
union
cvmx_lmcx_char_mask2
{
uint64_t
u64
;
struct
cvmx_lmcx_char_mask2_s
{
#ifdef __BIG_ENDIAN_BITFIELD
uint64_t
mask
:
64
;
#else
uint64_t
mask
:
64
;
#endif
}
s
;
struct
cvmx_lmcx_char_mask2_s
cn61xx
;
struct
cvmx_lmcx_char_mask2_s
cn63xx
;
struct
cvmx_lmcx_char_mask2_s
cn63xxp1
;
struct
cvmx_lmcx_char_mask2_s
cn66xx
;
struct
cvmx_lmcx_char_mask2_s
cn68xx
;
struct
cvmx_lmcx_char_mask2_s
cn68xxp1
;
struct
cvmx_lmcx_char_mask2_s
cnf71xx
;
};
union
cvmx_lmcx_char_mask3
{
uint64_t
u64
;
struct
cvmx_lmcx_char_mask3_s
{
#ifdef __BIG_ENDIAN_BITFIELD
uint64_t
reserved_8_63
:
56
;
uint64_t
mask
:
8
;
#else
uint64_t
mask
:
8
;
uint64_t
reserved_8_63
:
56
;
#endif
}
s
;
struct
cvmx_lmcx_char_mask3_s
cn61xx
;
struct
cvmx_lmcx_char_mask3_s
cn63xx
;
struct
cvmx_lmcx_char_mask3_s
cn63xxp1
;
struct
cvmx_lmcx_char_mask3_s
cn66xx
;
struct
cvmx_lmcx_char_mask3_s
cn68xx
;
struct
cvmx_lmcx_char_mask3_s
cn68xxp1
;
struct
cvmx_lmcx_char_mask3_s
cnf71xx
;
};
union
cvmx_lmcx_char_mask4
{
uint64_t
u64
;
struct
cvmx_lmcx_char_mask4_s
{
#ifdef __BIG_ENDIAN_BITFIELD
uint64_t
reserved_33_63
:
31
;
uint64_t
reset_n_mask
:
1
;
uint64_t
a_mask
:
16
;
uint64_t
ba_mask
:
3
;
uint64_t
we_n_mask
:
1
;
uint64_t
cas_n_mask
:
1
;
uint64_t
ras_n_mask
:
1
;
uint64_t
odt1_mask
:
2
;
uint64_t
odt0_mask
:
2
;
uint64_t
cs1_n_mask
:
2
;
uint64_t
cs0_n_mask
:
2
;
uint64_t
cke_mask
:
2
;
#else
uint64_t
cke_mask
:
2
;
uint64_t
cs0_n_mask
:
2
;
uint64_t
cs1_n_mask
:
2
;
uint64_t
odt0_mask
:
2
;
uint64_t
odt1_mask
:
2
;
uint64_t
ras_n_mask
:
1
;
uint64_t
cas_n_mask
:
1
;
uint64_t
we_n_mask
:
1
;
uint64_t
ba_mask
:
3
;
uint64_t
a_mask
:
16
;
uint64_t
reset_n_mask
:
1
;
uint64_t
reserved_33_63
:
31
;
#endif
}
s
;
struct
cvmx_lmcx_char_mask4_s
cn61xx
;
struct
cvmx_lmcx_char_mask4_s
cn63xx
;
struct
cvmx_lmcx_char_mask4_s
cn63xxp1
;
struct
cvmx_lmcx_char_mask4_s
cn66xx
;
struct
cvmx_lmcx_char_mask4_s
cn68xx
;
struct
cvmx_lmcx_char_mask4_s
cn68xxp1
;
struct
cvmx_lmcx_char_mask4_s
cnf71xx
;
};
union
cvmx_lmcx_comp_ctl
{
uint64_t
u64
;
struct
cvmx_lmcx_comp_ctl_s
{
#ifdef __BIG_ENDIAN_BITFIELD
uint64_t
reserved_32_63
:
32
;
uint64_t
nctl_csr
:
4
;
uint64_t
nctl_clk
:
4
;
uint64_t
nctl_cmd
:
4
;
uint64_t
nctl_dat
:
4
;
uint64_t
pctl_csr
:
4
;
uint64_t
pctl_clk
:
4
;
uint64_t
reserved_0_7
:
8
;
#else
uint64_t
reserved_0_7
:
8
;
uint64_t
pctl_clk
:
4
;
uint64_t
pctl_csr
:
4
;
uint64_t
nctl_dat
:
4
;
uint64_t
nctl_cmd
:
4
;
uint64_t
nctl_clk
:
4
;
uint64_t
nctl_csr
:
4
;
uint64_t
reserved_32_63
:
32
;
#endif
}
s
;
struct
cvmx_lmcx_comp_ctl_cn30xx
{
#ifdef __BIG_ENDIAN_BITFIELD
uint64_t
reserved_32_63
:
32
;
uint64_t
nctl_csr
:
4
;
uint64_t
nctl_clk
:
4
;
uint64_t
nctl_cmd
:
4
;
uint64_t
nctl_dat
:
4
;
uint64_t
pctl_csr
:
4
;
uint64_t
pctl_clk
:
4
;
uint64_t
pctl_cmd
:
4
;
uint64_t
pctl_dat
:
4
;
#else
uint64_t
pctl_dat
:
4
;
uint64_t
pctl_cmd
:
4
;
uint64_t
pctl_clk
:
4
;
uint64_t
pctl_csr
:
4
;
uint64_t
nctl_dat
:
4
;
uint64_t
nctl_cmd
:
4
;
uint64_t
nctl_clk
:
4
;
uint64_t
nctl_csr
:
4
;
uint64_t
reserved_32_63
:
32
;
#endif
}
cn30xx
;
struct
cvmx_lmcx_comp_ctl_cn30xx
cn31xx
;
struct
cvmx_lmcx_comp_ctl_cn30xx
cn38xx
;
struct
cvmx_lmcx_comp_ctl_cn30xx
cn38xxp2
;
struct
cvmx_lmcx_comp_ctl_cn50xx
{
#ifdef __BIG_ENDIAN_BITFIELD
uint64_t
reserved_32_63
:
32
;
uint64_t
nctl_csr
:
4
;
uint64_t
reserved_20_27
:
8
;
uint64_t
nctl_dat
:
4
;
uint64_t
pctl_csr
:
4
;
uint64_t
reserved_5_11
:
7
;
uint64_t
pctl_dat
:
5
;
#else
uint64_t
pctl_dat
:
5
;
uint64_t
reserved_5_11
:
7
;
uint64_t
pctl_csr
:
4
;
uint64_t
nctl_dat
:
4
;
uint64_t
reserved_20_27
:
8
;
uint64_t
nctl_csr
:
4
;
uint64_t
reserved_32_63
:
32
;
#endif
}
cn50xx
;
struct
cvmx_lmcx_comp_ctl_cn50xx
cn52xx
;
struct
cvmx_lmcx_comp_ctl_cn50xx
cn52xxp1
;
struct
cvmx_lmcx_comp_ctl_cn50xx
cn56xx
;
struct
cvmx_lmcx_comp_ctl_cn50xx
cn56xxp1
;
struct
cvmx_lmcx_comp_ctl_cn50xx
cn58xx
;
struct
cvmx_lmcx_comp_ctl_cn58xxp1
{
#ifdef __BIG_ENDIAN_BITFIELD
uint64_t
reserved_32_63
:
32
;
uint64_t
nctl_csr
:
4
;
uint64_t
reserved_20_27
:
8
;
uint64_t
nctl_dat
:
4
;
uint64_t
pctl_csr
:
4
;
uint64_t
reserved_4_11
:
8
;
uint64_t
pctl_dat
:
4
;
#else
uint64_t
pctl_dat
:
4
;
uint64_t
reserved_4_11
:
8
;
uint64_t
pctl_csr
:
4
;
uint64_t
nctl_dat
:
4
;
uint64_t
reserved_20_27
:
8
;
uint64_t
nctl_csr
:
4
;
uint64_t
reserved_32_63
:
32
;
#endif
}
cn58xxp1
;
};
union
cvmx_lmcx_comp_ctl2
{
uint64_t
u64
;
struct
cvmx_lmcx_comp_ctl2_s
{
#ifdef __BIG_ENDIAN_BITFIELD
uint64_t
reserved_34_63
:
30
;
uint64_t
ddr__ptune
:
4
;
uint64_t
ddr__ntune
:
4
;
uint64_t
m180
:
1
;
uint64_t
byp
:
1
;
uint64_t
ptune
:
4
;
uint64_t
ntune
:
4
;
uint64_t
rodt_ctl
:
4
;
uint64_t
cmd_ctl
:
4
;
uint64_t
ck_ctl
:
4
;
uint64_t
dqx_ctl
:
4
;
#else
uint64_t
dqx_ctl
:
4
;
uint64_t
ck_ctl
:
4
;
uint64_t
cmd_ctl
:
4
;
uint64_t
rodt_ctl
:
4
;
uint64_t
ntune
:
4
;
uint64_t
ptune
:
4
;
uint64_t
byp
:
1
;
uint64_t
m180
:
1
;
uint64_t
ddr__ntune
:
4
;
uint64_t
ddr__ptune
:
4
;
uint64_t
reserved_34_63
:
30
;
#endif
}
s
;
struct
cvmx_lmcx_comp_ctl2_s
cn61xx
;
struct
cvmx_lmcx_comp_ctl2_s
cn63xx
;
struct
cvmx_lmcx_comp_ctl2_s
cn63xxp1
;
struct
cvmx_lmcx_comp_ctl2_s
cn66xx
;
struct
cvmx_lmcx_comp_ctl2_s
cn68xx
;
struct
cvmx_lmcx_comp_ctl2_s
cn68xxp1
;
struct
cvmx_lmcx_comp_ctl2_s
cnf71xx
;
};
union
cvmx_lmcx_config
{
uint64_t
u64
;
struct
cvmx_lmcx_config_s
{
#ifdef __BIG_ENDIAN_BITFIELD
uint64_t
reserved_61_63
:
3
;
uint64_t
mode32b
:
1
;
uint64_t
scrz
:
1
;
uint64_t
early_unload_d1_r1
:
1
;
uint64_t
early_unload_d1_r0
:
1
;
uint64_t
early_unload_d0_r1
:
1
;
uint64_t
early_unload_d0_r0
:
1
;
uint64_t
init_status
:
4
;
uint64_t
mirrmask
:
4
;
uint64_t
rankmask
:
4
;
uint64_t
rank_ena
:
1
;
uint64_t
sref_with_dll
:
1
;
uint64_t
early_dqx
:
1
;
uint64_t
sequence
:
3
;
uint64_t
ref_zqcs_int
:
19
;
uint64_t
reset
:
1
;
uint64_t
ecc_adr
:
1
;
uint64_t
forcewrite
:
4
;
uint64_t
idlepower
:
3
;
uint64_t
pbank_lsb
:
4
;
uint64_t
row_lsb
:
3
;
uint64_t
ecc_ena
:
1
;
uint64_t
init_start
:
1
;
#else
uint64_t
init_start
:
1
;
uint64_t
ecc_ena
:
1
;
uint64_t
row_lsb
:
3
;
uint64_t
pbank_lsb
:
4
;
uint64_t
idlepower
:
3
;
uint64_t
forcewrite
:
4
;
uint64_t
ecc_adr
:
1
;
uint64_t
reset
:
1
;
uint64_t
ref_zqcs_int
:
19
;
uint64_t
sequence
:
3
;
uint64_t
early_dqx
:
1
;
uint64_t
sref_with_dll
:
1
;
uint64_t
rank_ena
:
1
;
uint64_t
rankmask
:
4
;
uint64_t
mirrmask
:
4
;
uint64_t
init_status
:
4
;
uint64_t
early_unload_d0_r0
:
1
;
uint64_t
early_unload_d0_r1
:
1
;
uint64_t
early_unload_d1_r0
:
1
;
uint64_t
early_unload_d1_r1
:
1
;
uint64_t
scrz
:
1
;
uint64_t
mode32b
:
1
;
uint64_t
reserved_61_63
:
3
;
#endif
}
s
;
struct
cvmx_lmcx_config_s
cn61xx
;
struct
cvmx_lmcx_config_cn63xx
{
#ifdef __BIG_ENDIAN_BITFIELD
uint64_t
reserved_59_63
:
5
;
uint64_t
early_unload_d1_r1
:
1
;
uint64_t
early_unload_d1_r0
:
1
;
uint64_t
early_unload_d0_r1
:
1
;
uint64_t
early_unload_d0_r0
:
1
;
uint64_t
init_status
:
4
;
uint64_t
mirrmask
:
4
;
uint64_t
rankmask
:
4
;
uint64_t
rank_ena
:
1
;
uint64_t
sref_with_dll
:
1
;
uint64_t
early_dqx
:
1
;
uint64_t
sequence
:
3
;
uint64_t
ref_zqcs_int
:
19
;
uint64_t
reset
:
1
;
uint64_t
ecc_adr
:
1
;
uint64_t
forcewrite
:
4
;
uint64_t
idlepower
:
3
;
uint64_t
pbank_lsb
:
4
;
uint64_t
row_lsb
:
3
;
uint64_t
ecc_ena
:
1
;
uint64_t
init_start
:
1
;
#else
uint64_t
init_start
:
1
;
uint64_t
ecc_ena
:
1
;
uint64_t
row_lsb
:
3
;
uint64_t
pbank_lsb
:
4
;
uint64_t
idlepower
:
3
;
uint64_t
forcewrite
:
4
;
uint64_t
ecc_adr
:
1
;
uint64_t
reset
:
1
;
uint64_t
ref_zqcs_int
:
19
;
uint64_t
sequence
:
3
;
uint64_t
early_dqx
:
1
;
uint64_t
sref_with_dll
:
1
;
uint64_t
rank_ena
:
1
;
uint64_t
rankmask
:
4
;
uint64_t
mirrmask
:
4
;
uint64_t
init_status
:
4
;
uint64_t
early_unload_d0_r0
:
1
;
uint64_t
early_unload_d0_r1
:
1
;
uint64_t
early_unload_d1_r0
:
1
;
uint64_t
early_unload_d1_r1
:
1
;
uint64_t
reserved_59_63
:
5
;
#endif
}
cn63xx
;
struct
cvmx_lmcx_config_cn63xxp1
{
#ifdef __BIG_ENDIAN_BITFIELD
uint64_t
reserved_55_63
:
9
;
uint64_t
init_status
:
4
;
uint64_t
mirrmask
:
4
;
uint64_t
rankmask
:
4
;
uint64_t
rank_ena
:
1
;
uint64_t
sref_with_dll
:
1
;
uint64_t
early_dqx
:
1
;
uint64_t
sequence
:
3
;
uint64_t
ref_zqcs_int
:
19
;
uint64_t
reset
:
1
;
uint64_t
ecc_adr
:
1
;
uint64_t
forcewrite
:
4
;
uint64_t
idlepower
:
3
;
uint64_t
pbank_lsb
:
4
;
uint64_t
row_lsb
:
3
;
uint64_t
ecc_ena
:
1
;
uint64_t
init_start
:
1
;
#else
uint64_t
init_start
:
1
;
uint64_t
ecc_ena
:
1
;
uint64_t
row_lsb
:
3
;
uint64_t
pbank_lsb
:
4
;
uint64_t
idlepower
:
3
;
uint64_t
forcewrite
:
4
;
uint64_t
ecc_adr
:
1
;
uint64_t
reset
:
1
;
uint64_t
ref_zqcs_int
:
19
;
uint64_t
sequence
:
3
;
uint64_t
early_dqx
:
1
;
uint64_t
sref_with_dll
:
1
;
uint64_t
rank_ena
:
1
;
uint64_t
rankmask
:
4
;
uint64_t
mirrmask
:
4
;
uint64_t
init_status
:
4
;
uint64_t
reserved_55_63
:
9
;
#endif
}
cn63xxp1
;
struct
cvmx_lmcx_config_cn66xx
{
#ifdef __BIG_ENDIAN_BITFIELD
uint64_t
reserved_60_63
:
4
;
uint64_t
scrz
:
1
;
uint64_t
early_unload_d1_r1
:
1
;
uint64_t
early_unload_d1_r0
:
1
;
uint64_t
early_unload_d0_r1
:
1
;
uint64_t
early_unload_d0_r0
:
1
;
uint64_t
init_status
:
4
;
uint64_t
mirrmask
:
4
;
uint64_t
rankmask
:
4
;
uint64_t
rank_ena
:
1
;
uint64_t
sref_with_dll
:
1
;
uint64_t
early_dqx
:
1
;
uint64_t
sequence
:
3
;
uint64_t
ref_zqcs_int
:
19
;
uint64_t
reset
:
1
;
uint64_t
ecc_adr
:
1
;
uint64_t
forcewrite
:
4
;
uint64_t
idlepower
:
3
;
uint64_t
pbank_lsb
:
4
;
uint64_t
row_lsb
:
3
;
uint64_t
ecc_ena
:
1
;
uint64_t
init_start
:
1
;
#else
uint64_t
init_start
:
1
;
uint64_t
ecc_ena
:
1
;
uint64_t
row_lsb
:
3
;
uint64_t
pbank_lsb
:
4
;
uint64_t
idlepower
:
3
;
uint64_t
forcewrite
:
4
;
uint64_t
ecc_adr
:
1
;
uint64_t
reset
:
1
;
uint64_t
ref_zqcs_int
:
19
;
uint64_t
sequence
:
3
;
uint64_t
early_dqx
:
1
;
uint64_t
sref_with_dll
:
1
;
uint64_t
rank_ena
:
1
;
uint64_t
rankmask
:
4
;
uint64_t
mirrmask
:
4
;
uint64_t
init_status
:
4
;
uint64_t
early_unload_d0_r0
:
1
;
uint64_t
early_unload_d0_r1
:
1
;
uint64_t
early_unload_d1_r0
:
1
;
uint64_t
early_unload_d1_r1
:
1
;
uint64_t
scrz
:
1
;
uint64_t
reserved_60_63
:
4
;
#endif
}
cn66xx
;
struct
cvmx_lmcx_config_cn63xx
cn68xx
;
struct
cvmx_lmcx_config_cn63xx
cn68xxp1
;
struct
cvmx_lmcx_config_s
cnf71xx
;
};
union
cvmx_lmcx_control
{
uint64_t
u64
;
struct
cvmx_lmcx_control_s
{
#ifdef __BIG_ENDIAN_BITFIELD
uint64_t
scramble_ena
:
1
;
uint64_t
thrcnt
:
12
;
uint64_t
persub
:
8
;
uint64_t
thrmax
:
4
;
uint64_t
crm_cnt
:
5
;
uint64_t
crm_thr
:
5
;
uint64_t
crm_max
:
5
;
uint64_t
rodt_bprch
:
1
;
uint64_t
wodt_bprch
:
1
;
uint64_t
bprch
:
2
;
uint64_t
ext_zqcs_dis
:
1
;
uint64_t
int_zqcs_dis
:
1
;
uint64_t
auto_dclkdis
:
1
;
uint64_t
xor_bank
:
1
;
uint64_t
max_write_batch
:
4
;
uint64_t
nxm_write_en
:
1
;
uint64_t
elev_prio_dis
:
1
;
uint64_t
inorder_wr
:
1
;
uint64_t
inorder_rd
:
1
;
uint64_t
throttle_wr
:
1
;
uint64_t
throttle_rd
:
1
;
uint64_t
fprch2
:
2
;
uint64_t
pocas
:
1
;
uint64_t
ddr2t
:
1
;
uint64_t
bwcnt
:
1
;
uint64_t
rdimm_ena
:
1
;
#else
uint64_t
rdimm_ena
:
1
;
uint64_t
bwcnt
:
1
;
uint64_t
ddr2t
:
1
;
uint64_t
pocas
:
1
;
uint64_t
fprch2
:
2
;
uint64_t
throttle_rd
:
1
;
uint64_t
throttle_wr
:
1
;
uint64_t
inorder_rd
:
1
;
uint64_t
inorder_wr
:
1
;
uint64_t
elev_prio_dis
:
1
;
uint64_t
nxm_write_en
:
1
;
uint64_t
max_write_batch
:
4
;
uint64_t
xor_bank
:
1
;
uint64_t
auto_dclkdis
:
1
;
uint64_t
int_zqcs_dis
:
1
;
uint64_t
ext_zqcs_dis
:
1
;
uint64_t
bprch
:
2
;
uint64_t
wodt_bprch
:
1
;
uint64_t
rodt_bprch
:
1
;
uint64_t
crm_max
:
5
;
uint64_t
crm_thr
:
5
;
uint64_t
crm_cnt
:
5
;
uint64_t
thrmax
:
4
;
uint64_t
persub
:
8
;
uint64_t
thrcnt
:
12
;
uint64_t
scramble_ena
:
1
;
#endif
}
s
;
struct
cvmx_lmcx_control_s
cn61xx
;
struct
cvmx_lmcx_control_cn63xx
{
#ifdef __BIG_ENDIAN_BITFIELD
uint64_t
reserved_24_63
:
40
;
uint64_t
rodt_bprch
:
1
;
uint64_t
wodt_bprch
:
1
;
uint64_t
bprch
:
2
;
uint64_t
ext_zqcs_dis
:
1
;
uint64_t
int_zqcs_dis
:
1
;
uint64_t
auto_dclkdis
:
1
;
uint64_t
xor_bank
:
1
;
uint64_t
max_write_batch
:
4
;
uint64_t
nxm_write_en
:
1
;
uint64_t
elev_prio_dis
:
1
;
uint64_t
inorder_wr
:
1
;
uint64_t
inorder_rd
:
1
;
uint64_t
throttle_wr
:
1
;
uint64_t
throttle_rd
:
1
;
uint64_t
fprch2
:
2
;
uint64_t
pocas
:
1
;
uint64_t
ddr2t
:
1
;
uint64_t
bwcnt
:
1
;
uint64_t
rdimm_ena
:
1
;
#else
uint64_t
rdimm_ena
:
1
;
uint64_t
bwcnt
:
1
;
uint64_t
ddr2t
:
1
;
uint64_t
pocas
:
1
;
uint64_t
fprch2
:
2
;
uint64_t
throttle_rd
:
1
;
uint64_t
throttle_wr
:
1
;
uint64_t
inorder_rd
:
1
;
uint64_t
inorder_wr
:
1
;
uint64_t
elev_prio_dis
:
1
;
uint64_t
nxm_write_en
:
1
;
uint64_t
max_write_batch
:
4
;
uint64_t
xor_bank
:
1
;
uint64_t
auto_dclkdis
:
1
;
uint64_t
int_zqcs_dis
:
1
;
uint64_t
ext_zqcs_dis
:
1
;
uint64_t
bprch
:
2
;
uint64_t
wodt_bprch
:
1
;
uint64_t
rodt_bprch
:
1
;
uint64_t
reserved_24_63
:
40
;
#endif
}
cn63xx
;
struct
cvmx_lmcx_control_cn63xx
cn63xxp1
;
struct
cvmx_lmcx_control_cn66xx
{
#ifdef __BIG_ENDIAN_BITFIELD
uint64_t
scramble_ena
:
1
;
uint64_t
reserved_24_62
:
39
;
uint64_t
rodt_bprch
:
1
;
uint64_t
wodt_bprch
:
1
;
uint64_t
bprch
:
2
;
uint64_t
ext_zqcs_dis
:
1
;
uint64_t
int_zqcs_dis
:
1
;
uint64_t
auto_dclkdis
:
1
;
uint64_t
xor_bank
:
1
;
uint64_t
max_write_batch
:
4
;
uint64_t
nxm_write_en
:
1
;
uint64_t
elev_prio_dis
:
1
;
uint64_t
inorder_wr
:
1
;
uint64_t
inorder_rd
:
1
;
uint64_t
throttle_wr
:
1
;
uint64_t
throttle_rd
:
1
;
uint64_t
fprch2
:
2
;
uint64_t
pocas
:
1
;
uint64_t
ddr2t
:
1
;
uint64_t
bwcnt
:
1
;
uint64_t
rdimm_ena
:
1
;
#else
uint64_t
rdimm_ena
:
1
;
uint64_t
bwcnt
:
1
;
uint64_t
ddr2t
:
1
;
uint64_t
pocas
:
1
;
uint64_t
fprch2
:
2
;
uint64_t
throttle_rd
:
1
;
uint64_t
throttle_wr
:
1
;
uint64_t
inorder_rd
:
1
;
uint64_t
inorder_wr
:
1
;
uint64_t
elev_prio_dis
:
1
;
uint64_t
nxm_write_en
:
1
;
uint64_t
max_write_batch
:
4
;
uint64_t
xor_bank
:
1
;
uint64_t
auto_dclkdis
:
1
;
uint64_t
int_zqcs_dis
:
1
;
uint64_t
ext_zqcs_dis
:
1
;
uint64_t
bprch
:
2
;
uint64_t
wodt_bprch
:
1
;
uint64_t
rodt_bprch
:
1
;
uint64_t
reserved_24_62
:
39
;
uint64_t
scramble_ena
:
1
;
#endif
}
cn66xx
;
struct
cvmx_lmcx_control_cn68xx
{
#ifdef __BIG_ENDIAN_BITFIELD
uint64_t
reserved_63_63
:
1
;
uint64_t
thrcnt
:
12
;
uint64_t
persub
:
8
;
uint64_t
thrmax
:
4
;
uint64_t
crm_cnt
:
5
;
uint64_t
crm_thr
:
5
;
uint64_t
crm_max
:
5
;
uint64_t
rodt_bprch
:
1
;
uint64_t
wodt_bprch
:
1
;
uint64_t
bprch
:
2
;
uint64_t
ext_zqcs_dis
:
1
;
uint64_t
int_zqcs_dis
:
1
;
uint64_t
auto_dclkdis
:
1
;
uint64_t
xor_bank
:
1
;
uint64_t
max_write_batch
:
4
;
uint64_t
nxm_write_en
:
1
;
uint64_t
elev_prio_dis
:
1
;
uint64_t
inorder_wr
:
1
;
uint64_t
inorder_rd
:
1
;
uint64_t
throttle_wr
:
1
;
uint64_t
throttle_rd
:
1
;
uint64_t
fprch2
:
2
;
uint64_t
pocas
:
1
;
uint64_t
ddr2t
:
1
;
uint64_t
bwcnt
:
1
;
uint64_t
rdimm_ena
:
1
;
#else
uint64_t
rdimm_ena
:
1
;
uint64_t
bwcnt
:
1
;
uint64_t
ddr2t
:
1
;
uint64_t
pocas
:
1
;
uint64_t
fprch2
:
2
;
uint64_t
throttle_rd
:
1
;
uint64_t
throttle_wr
:
1
;
uint64_t
inorder_rd
:
1
;
uint64_t
inorder_wr
:
1
;
uint64_t
elev_prio_dis
:
1
;
uint64_t
nxm_write_en
:
1
;
uint64_t
max_write_batch
:
4
;
uint64_t
xor_bank
:
1
;
uint64_t
auto_dclkdis
:
1
;
uint64_t
int_zqcs_dis
:
1
;
uint64_t
ext_zqcs_dis
:
1
;
uint64_t
bprch
:
2
;
uint64_t
wodt_bprch
:
1
;
uint64_t
rodt_bprch
:
1
;
uint64_t
crm_max
:
5
;
uint64_t
crm_thr
:
5
;
uint64_t
crm_cnt
:
5
;
uint64_t
thrmax
:
4
;
uint64_t
persub
:
8
;
uint64_t
thrcnt
:
12
;
uint64_t
reserved_63_63
:
1
;
#endif
}
cn68xx
;
struct
cvmx_lmcx_control_cn68xx
cn68xxp1
;
struct
cvmx_lmcx_control_cn66xx
cnf71xx
;
};
union
cvmx_lmcx_ctl
{
uint64_t
u64
;
struct
cvmx_lmcx_ctl_s
{
#ifdef __BIG_ENDIAN_BITFIELD
uint64_t
reserved_32_63
:
32
;
uint64_t
ddr__nctl
:
4
;
uint64_t
ddr__pctl
:
4
;
uint64_t
slow_scf
:
1
;
uint64_t
xor_bank
:
1
;
uint64_t
max_write_batch
:
4
;
uint64_t
pll_div2
:
1
;
uint64_t
pll_bypass
:
1
;
uint64_t
rdimm_ena
:
1
;
uint64_t
r2r_slot
:
1
;
uint64_t
inorder_mwf
:
1
;
uint64_t
inorder_mrf
:
1
;
uint64_t
reserved_10_11
:
2
;
uint64_t
fprch2
:
1
;
uint64_t
bprch
:
1
;
uint64_t
sil_lat
:
2
;
uint64_t
tskw
:
2
;
uint64_t
qs_dic
:
2
;
uint64_t
dic
:
2
;
#else
uint64_t
dic
:
2
;
uint64_t
qs_dic
:
2
;
uint64_t
tskw
:
2
;
uint64_t
sil_lat
:
2
;
uint64_t
bprch
:
1
;
uint64_t
fprch2
:
1
;
uint64_t
reserved_10_11
:
2
;
uint64_t
inorder_mrf
:
1
;
uint64_t
inorder_mwf
:
1
;
uint64_t
r2r_slot
:
1
;
uint64_t
rdimm_ena
:
1
;
uint64_t
pll_bypass
:
1
;
uint64_t
pll_div2
:
1
;
uint64_t
max_write_batch
:
4
;
uint64_t
xor_bank
:
1
;
uint64_t
slow_scf
:
1
;
uint64_t
ddr__pctl
:
4
;
uint64_t
ddr__nctl
:
4
;
uint64_t
reserved_32_63
:
32
;
#endif
}
s
;
struct
cvmx_lmcx_ctl_cn30xx
{
#ifdef __BIG_ENDIAN_BITFIELD
uint64_t
reserved_32_63
:
32
;
uint64_t
ddr__nctl
:
4
;
uint64_t
ddr__pctl
:
4
;
uint64_t
slow_scf
:
1
;
uint64_t
xor_bank
:
1
;
uint64_t
max_write_batch
:
4
;
uint64_t
pll_div2
:
1
;
uint64_t
pll_bypass
:
1
;
uint64_t
rdimm_ena
:
1
;
uint64_t
r2r_slot
:
1
;
uint64_t
inorder_mwf
:
1
;
uint64_t
inorder_mrf
:
1
;
uint64_t
dreset
:
1
;
uint64_t
mode32b
:
1
;
uint64_t
fprch2
:
1
;
uint64_t
bprch
:
1
;
uint64_t
sil_lat
:
2
;
uint64_t
tskw
:
2
;
uint64_t
qs_dic
:
2
;
uint64_t
dic
:
2
;
#else
uint64_t
dic
:
2
;
uint64_t
qs_dic
:
2
;
uint64_t
tskw
:
2
;
uint64_t
sil_lat
:
2
;
uint64_t
bprch
:
1
;
uint64_t
fprch2
:
1
;
uint64_t
mode32b
:
1
;
uint64_t
dreset
:
1
;
uint64_t
inorder_mrf
:
1
;
uint64_t
inorder_mwf
:
1
;
uint64_t
r2r_slot
:
1
;
uint64_t
rdimm_ena
:
1
;
uint64_t
pll_bypass
:
1
;
uint64_t
pll_div2
:
1
;
uint64_t
max_write_batch
:
4
;
uint64_t
xor_bank
:
1
;
uint64_t
slow_scf
:
1
;
uint64_t
ddr__pctl
:
4
;
uint64_t
ddr__nctl
:
4
;
uint64_t
reserved_32_63
:
32
;
#endif
}
cn30xx
;
struct
cvmx_lmcx_ctl_cn30xx
cn31xx
;
struct
cvmx_lmcx_ctl_cn38xx
{
#ifdef __BIG_ENDIAN_BITFIELD
uint64_t
reserved_32_63
:
32
;
uint64_t
ddr__nctl
:
4
;
uint64_t
ddr__pctl
:
4
;
uint64_t
slow_scf
:
1
;
uint64_t
xor_bank
:
1
;
uint64_t
max_write_batch
:
4
;
uint64_t
reserved_16_17
:
2
;
uint64_t
rdimm_ena
:
1
;
uint64_t
r2r_slot
:
1
;
uint64_t
inorder_mwf
:
1
;
uint64_t
inorder_mrf
:
1
;
uint64_t
set_zero
:
1
;
uint64_t
mode128b
:
1
;
uint64_t
fprch2
:
1
;
uint64_t
bprch
:
1
;
uint64_t
sil_lat
:
2
;
uint64_t
tskw
:
2
;
uint64_t
qs_dic
:
2
;
uint64_t
dic
:
2
;
#else
uint64_t
dic
:
2
;
uint64_t
qs_dic
:
2
;
uint64_t
tskw
:
2
;
uint64_t
sil_lat
:
2
;
uint64_t
bprch
:
1
;
uint64_t
fprch2
:
1
;
uint64_t
mode128b
:
1
;
uint64_t
set_zero
:
1
;
uint64_t
inorder_mrf
:
1
;
uint64_t
inorder_mwf
:
1
;
uint64_t
r2r_slot
:
1
;
uint64_t
rdimm_ena
:
1
;
uint64_t
reserved_16_17
:
2
;
uint64_t
max_write_batch
:
4
;
uint64_t
xor_bank
:
1
;
uint64_t
slow_scf
:
1
;
uint64_t
ddr__pctl
:
4
;
uint64_t
ddr__nctl
:
4
;
uint64_t
reserved_32_63
:
32
;
#endif
}
cn38xx
;
struct
cvmx_lmcx_ctl_cn38xx
cn38xxp2
;
struct
cvmx_lmcx_ctl_cn50xx
{
#ifdef __BIG_ENDIAN_BITFIELD
uint64_t
reserved_32_63
:
32
;
uint64_t
ddr__nctl
:
4
;
uint64_t
ddr__pctl
:
4
;
uint64_t
slow_scf
:
1
;
uint64_t
xor_bank
:
1
;
uint64_t
max_write_batch
:
4
;
uint64_t
reserved_17_17
:
1
;
uint64_t
pll_bypass
:
1
;
uint64_t
rdimm_ena
:
1
;
uint64_t
r2r_slot
:
1
;
uint64_t
inorder_mwf
:
1
;
uint64_t
inorder_mrf
:
1
;
uint64_t
dreset
:
1
;
uint64_t
mode32b
:
1
;
uint64_t
fprch2
:
1
;
uint64_t
bprch
:
1
;
uint64_t
sil_lat
:
2
;
uint64_t
tskw
:
2
;
uint64_t
qs_dic
:
2
;
uint64_t
dic
:
2
;
#else
uint64_t
dic
:
2
;
uint64_t
qs_dic
:
2
;
uint64_t
tskw
:
2
;
uint64_t
sil_lat
:
2
;
uint64_t
bprch
:
1
;
uint64_t
fprch2
:
1
;
uint64_t
mode32b
:
1
;
uint64_t
dreset
:
1
;
uint64_t
inorder_mrf
:
1
;
uint64_t
inorder_mwf
:
1
;
uint64_t
r2r_slot
:
1
;
uint64_t
rdimm_ena
:
1
;
uint64_t
pll_bypass
:
1
;
uint64_t
reserved_17_17
:
1
;
uint64_t
max_write_batch
:
4
;
uint64_t
xor_bank
:
1
;
uint64_t
slow_scf
:
1
;
uint64_t
ddr__pctl
:
4
;
uint64_t
ddr__nctl
:
4
;
uint64_t
reserved_32_63
:
32
;
#endif
}
cn50xx
;
struct
cvmx_lmcx_ctl_cn52xx
{
#ifdef __BIG_ENDIAN_BITFIELD
uint64_t
reserved_32_63
:
32
;
uint64_t
ddr__nctl
:
4
;
uint64_t
ddr__pctl
:
4
;
uint64_t
slow_scf
:
1
;
uint64_t
xor_bank
:
1
;
uint64_t
max_write_batch
:
4
;
uint64_t
reserved_16_17
:
2
;
uint64_t
rdimm_ena
:
1
;
uint64_t
r2r_slot
:
1
;
uint64_t
inorder_mwf
:
1
;
uint64_t
inorder_mrf
:
1
;
uint64_t
dreset
:
1
;
uint64_t
mode32b
:
1
;
uint64_t
fprch2
:
1
;
uint64_t
bprch
:
1
;
uint64_t
sil_lat
:
2
;
uint64_t
tskw
:
2
;
uint64_t
qs_dic
:
2
;
uint64_t
dic
:
2
;
#else
uint64_t
dic
:
2
;
uint64_t
qs_dic
:
2
;
uint64_t
tskw
:
2
;
uint64_t
sil_lat
:
2
;
uint64_t
bprch
:
1
;
uint64_t
fprch2
:
1
;
uint64_t
mode32b
:
1
;
uint64_t
dreset
:
1
;
uint64_t
inorder_mrf
:
1
;
uint64_t
inorder_mwf
:
1
;
uint64_t
r2r_slot
:
1
;
uint64_t
rdimm_ena
:
1
;
uint64_t
reserved_16_17
:
2
;
uint64_t
max_write_batch
:
4
;
uint64_t
xor_bank
:
1
;
uint64_t
slow_scf
:
1
;
uint64_t
ddr__pctl
:
4
;
uint64_t
ddr__nctl
:
4
;
uint64_t
reserved_32_63
:
32
;
#endif
}
cn52xx
;
struct
cvmx_lmcx_ctl_cn52xx
cn52xxp1
;
struct
cvmx_lmcx_ctl_cn52xx
cn56xx
;
struct
cvmx_lmcx_ctl_cn52xx
cn56xxp1
;
struct
cvmx_lmcx_ctl_cn58xx
{
#ifdef __BIG_ENDIAN_BITFIELD
uint64_t
reserved_32_63
:
32
;
uint64_t
ddr__nctl
:
4
;
uint64_t
ddr__pctl
:
4
;
uint64_t
slow_scf
:
1
;
uint64_t
xor_bank
:
1
;
uint64_t
max_write_batch
:
4
;
uint64_t
reserved_16_17
:
2
;
uint64_t
rdimm_ena
:
1
;
uint64_t
r2r_slot
:
1
;
uint64_t
inorder_mwf
:
1
;
uint64_t
inorder_mrf
:
1
;
uint64_t
dreset
:
1
;
uint64_t
mode128b
:
1
;
uint64_t
fprch2
:
1
;
uint64_t
bprch
:
1
;
uint64_t
sil_lat
:
2
;
uint64_t
tskw
:
2
;
uint64_t
qs_dic
:
2
;
uint64_t
dic
:
2
;
#else
uint64_t
dic
:
2
;
uint64_t
qs_dic
:
2
;
uint64_t
tskw
:
2
;
uint64_t
sil_lat
:
2
;
uint64_t
bprch
:
1
;
uint64_t
fprch2
:
1
;
uint64_t
mode128b
:
1
;
uint64_t
dreset
:
1
;
uint64_t
inorder_mrf
:
1
;
uint64_t
inorder_mwf
:
1
;
uint64_t
r2r_slot
:
1
;
uint64_t
rdimm_ena
:
1
;
uint64_t
reserved_16_17
:
2
;
uint64_t
max_write_batch
:
4
;
uint64_t
xor_bank
:
1
;
uint64_t
slow_scf
:
1
;
uint64_t
ddr__pctl
:
4
;
uint64_t
ddr__nctl
:
4
;
uint64_t
reserved_32_63
:
32
;
#endif
}
cn58xx
;
struct
cvmx_lmcx_ctl_cn58xx
cn58xxp1
;
};
union
cvmx_lmcx_ctl1
{
uint64_t
u64
;
struct
cvmx_lmcx_ctl1_s
{
#ifdef __BIG_ENDIAN_BITFIELD
uint64_t
reserved_21_63
:
43
;
uint64_t
ecc_adr
:
1
;
uint64_t
forcewrite
:
4
;
uint64_t
idlepower
:
3
;
uint64_t
sequence
:
3
;
uint64_t
sil_mode
:
1
;
uint64_t
dcc_enable
:
1
;
uint64_t
reserved_2_7
:
6
;
uint64_t
data_layout
:
2
;
#else
uint64_t
data_layout
:
2
;
uint64_t
reserved_2_7
:
6
;
uint64_t
dcc_enable
:
1
;
uint64_t
sil_mode
:
1
;
uint64_t
sequence
:
3
;
uint64_t
idlepower
:
3
;
uint64_t
forcewrite
:
4
;
uint64_t
ecc_adr
:
1
;
uint64_t
reserved_21_63
:
43
;
#endif
}
s
;
struct
cvmx_lmcx_ctl1_cn30xx
{
#ifdef __BIG_ENDIAN_BITFIELD
uint64_t
reserved_2_63
:
62
;
uint64_t
data_layout
:
2
;
#else
uint64_t
data_layout
:
2
;
uint64_t
reserved_2_63
:
62
;
#endif
}
cn30xx
;
struct
cvmx_lmcx_ctl1_cn50xx
{
#ifdef __BIG_ENDIAN_BITFIELD
uint64_t
reserved_10_63
:
54
;
uint64_t
sil_mode
:
1
;
uint64_t
dcc_enable
:
1
;
uint64_t
reserved_2_7
:
6
;
uint64_t
data_layout
:
2
;
#else
uint64_t
data_layout
:
2
;
uint64_t
reserved_2_7
:
6
;
uint64_t
dcc_enable
:
1
;
uint64_t
sil_mode
:
1
;
uint64_t
reserved_10_63
:
54
;
#endif
}
cn50xx
;
struct
cvmx_lmcx_ctl1_cn52xx
{
#ifdef __BIG_ENDIAN_BITFIELD
uint64_t
reserved_21_63
:
43
;
uint64_t
ecc_adr
:
1
;
uint64_t
forcewrite
:
4
;
uint64_t
idlepower
:
3
;
uint64_t
sequence
:
3
;
uint64_t
sil_mode
:
1
;
uint64_t
dcc_enable
:
1
;
uint64_t
reserved_0_7
:
8
;
#else
uint64_t
reserved_0_7
:
8
;
uint64_t
dcc_enable
:
1
;
uint64_t
sil_mode
:
1
;
uint64_t
sequence
:
3
;
uint64_t
idlepower
:
3
;
uint64_t
forcewrite
:
4
;
uint64_t
ecc_adr
:
1
;
uint64_t
reserved_21_63
:
43
;
#endif
}
cn52xx
;
struct
cvmx_lmcx_ctl1_cn52xx
cn52xxp1
;
struct
cvmx_lmcx_ctl1_cn52xx
cn56xx
;
struct
cvmx_lmcx_ctl1_cn52xx
cn56xxp1
;
struct
cvmx_lmcx_ctl1_cn58xx
{
#ifdef __BIG_ENDIAN_BITFIELD
uint64_t
reserved_10_63
:
54
;
uint64_t
sil_mode
:
1
;
uint64_t
dcc_enable
:
1
;
uint64_t
reserved_0_7
:
8
;
#else
uint64_t
reserved_0_7
:
8
;
uint64_t
dcc_enable
:
1
;
uint64_t
sil_mode
:
1
;
uint64_t
reserved_10_63
:
54
;
#endif
}
cn58xx
;
struct
cvmx_lmcx_ctl1_cn58xx
cn58xxp1
;
};
union
cvmx_lmcx_dclk_cnt
{
uint64_t
u64
;
struct
cvmx_lmcx_dclk_cnt_s
{
#ifdef __BIG_ENDIAN_BITFIELD
uint64_t
dclkcnt
:
64
;
#else
uint64_t
dclkcnt
:
64
;
#endif
}
s
;
struct
cvmx_lmcx_dclk_cnt_s
cn61xx
;
struct
cvmx_lmcx_dclk_cnt_s
cn63xx
;
struct
cvmx_lmcx_dclk_cnt_s
cn63xxp1
;
struct
cvmx_lmcx_dclk_cnt_s
cn66xx
;
struct
cvmx_lmcx_dclk_cnt_s
cn68xx
;
struct
cvmx_lmcx_dclk_cnt_s
cn68xxp1
;
struct
cvmx_lmcx_dclk_cnt_s
cnf71xx
;
};
union
cvmx_lmcx_dclk_cnt_hi
{
uint64_t
u64
;
struct
cvmx_lmcx_dclk_cnt_hi_s
{
#ifdef __BIG_ENDIAN_BITFIELD
uint64_t
reserved_32_63
:
32
;
uint64_t
dclkcnt_hi
:
32
;
#else
uint64_t
dclkcnt_hi
:
32
;
uint64_t
reserved_32_63
:
32
;
#endif
}
s
;
struct
cvmx_lmcx_dclk_cnt_hi_s
cn30xx
;
struct
cvmx_lmcx_dclk_cnt_hi_s
cn31xx
;
struct
cvmx_lmcx_dclk_cnt_hi_s
cn38xx
;
struct
cvmx_lmcx_dclk_cnt_hi_s
cn38xxp2
;
struct
cvmx_lmcx_dclk_cnt_hi_s
cn50xx
;
struct
cvmx_lmcx_dclk_cnt_hi_s
cn52xx
;
struct
cvmx_lmcx_dclk_cnt_hi_s
cn52xxp1
;
struct
cvmx_lmcx_dclk_cnt_hi_s
cn56xx
;
struct
cvmx_lmcx_dclk_cnt_hi_s
cn56xxp1
;
struct
cvmx_lmcx_dclk_cnt_hi_s
cn58xx
;
struct
cvmx_lmcx_dclk_cnt_hi_s
cn58xxp1
;
};
union
cvmx_lmcx_dclk_cnt_lo
{
uint64_t
u64
;
struct
cvmx_lmcx_dclk_cnt_lo_s
{
#ifdef __BIG_ENDIAN_BITFIELD
uint64_t
reserved_32_63
:
32
;
uint64_t
dclkcnt_lo
:
32
;
#else
uint64_t
dclkcnt_lo
:
32
;
uint64_t
reserved_32_63
:
32
;
#endif
}
s
;
struct
cvmx_lmcx_dclk_cnt_lo_s
cn30xx
;
struct
cvmx_lmcx_dclk_cnt_lo_s
cn31xx
;
struct
cvmx_lmcx_dclk_cnt_lo_s
cn38xx
;
struct
cvmx_lmcx_dclk_cnt_lo_s
cn38xxp2
;
struct
cvmx_lmcx_dclk_cnt_lo_s
cn50xx
;
struct
cvmx_lmcx_dclk_cnt_lo_s
cn52xx
;
struct
cvmx_lmcx_dclk_cnt_lo_s
cn52xxp1
;
struct
cvmx_lmcx_dclk_cnt_lo_s
cn56xx
;
struct
cvmx_lmcx_dclk_cnt_lo_s
cn56xxp1
;
struct
cvmx_lmcx_dclk_cnt_lo_s
cn58xx
;
struct
cvmx_lmcx_dclk_cnt_lo_s
cn58xxp1
;
};
union
cvmx_lmcx_dclk_ctl
{
uint64_t
u64
;
struct
cvmx_lmcx_dclk_ctl_s
{
#ifdef __BIG_ENDIAN_BITFIELD
uint64_t
reserved_8_63
:
56
;
uint64_t
off90_ena
:
1
;
uint64_t
dclk90_byp
:
1
;
uint64_t
dclk90_ld
:
1
;
uint64_t
dclk90_vlu
:
5
;
#else
uint64_t
dclk90_vlu
:
5
;
uint64_t
dclk90_ld
:
1
;
uint64_t
dclk90_byp
:
1
;
uint64_t
off90_ena
:
1
;
uint64_t
reserved_8_63
:
56
;
#endif
}
s
;
struct
cvmx_lmcx_dclk_ctl_s
cn56xx
;
struct
cvmx_lmcx_dclk_ctl_s
cn56xxp1
;
};
union
cvmx_lmcx_ddr2_ctl
{
uint64_t
u64
;
struct
cvmx_lmcx_ddr2_ctl_s
{
#ifdef __BIG_ENDIAN_BITFIELD
uint64_t
reserved_32_63
:
32
;
uint64_t
bank8
:
1
;
uint64_t
burst8
:
1
;
uint64_t
addlat
:
3
;
uint64_t
pocas
:
1
;
uint64_t
bwcnt
:
1
;
uint64_t
twr
:
3
;
uint64_t
silo_hc
:
1
;
uint64_t
ddr_eof
:
4
;
uint64_t
tfaw
:
5
;
uint64_t
crip_mode
:
1
;
uint64_t
ddr2t
:
1
;
uint64_t
odt_ena
:
1
;
uint64_t
qdll_ena
:
1
;
uint64_t
dll90_vlu
:
5
;
uint64_t
dll90_byp
:
1
;
uint64_t
rdqs
:
1
;
uint64_t
ddr2
:
1
;
#else
uint64_t
ddr2
:
1
;
uint64_t
rdqs
:
1
;
uint64_t
dll90_byp
:
1
;
uint64_t
dll90_vlu
:
5
;
uint64_t
qdll_ena
:
1
;
uint64_t
odt_ena
:
1
;
uint64_t
ddr2t
:
1
;
uint64_t
crip_mode
:
1
;
uint64_t
tfaw
:
5
;
uint64_t
ddr_eof
:
4
;
uint64_t
silo_hc
:
1
;
uint64_t
twr
:
3
;
uint64_t
bwcnt
:
1
;
uint64_t
pocas
:
1
;
uint64_t
addlat
:
3
;
uint64_t
burst8
:
1
;
uint64_t
bank8
:
1
;
uint64_t
reserved_32_63
:
32
;
#endif
}
s
;
struct
cvmx_lmcx_ddr2_ctl_cn30xx
{
#ifdef __BIG_ENDIAN_BITFIELD
uint64_t
reserved_32_63
:
32
;
uint64_t
bank8
:
1
;
uint64_t
burst8
:
1
;
uint64_t
addlat
:
3
;
uint64_t
pocas
:
1
;
uint64_t
bwcnt
:
1
;
uint64_t
twr
:
3
;
uint64_t
silo_hc
:
1
;
uint64_t
ddr_eof
:
4
;
uint64_t
tfaw
:
5
;
uint64_t
crip_mode
:
1
;
uint64_t
ddr2t
:
1
;
uint64_t
odt_ena
:
1
;
uint64_t
qdll_ena
:
1
;
uint64_t
dll90_vlu
:
5
;
uint64_t
dll90_byp
:
1
;
uint64_t
reserved_1_1
:
1
;
uint64_t
ddr2
:
1
;
#else
uint64_t
ddr2
:
1
;
uint64_t
reserved_1_1
:
1
;
uint64_t
dll90_byp
:
1
;
uint64_t
dll90_vlu
:
5
;
uint64_t
qdll_ena
:
1
;
uint64_t
odt_ena
:
1
;
uint64_t
ddr2t
:
1
;
uint64_t
crip_mode
:
1
;
uint64_t
tfaw
:
5
;
uint64_t
ddr_eof
:
4
;
uint64_t
silo_hc
:
1
;
uint64_t
twr
:
3
;
uint64_t
bwcnt
:
1
;
uint64_t
pocas
:
1
;
uint64_t
addlat
:
3
;
uint64_t
burst8
:
1
;
uint64_t
bank8
:
1
;
uint64_t
reserved_32_63
:
32
;
#endif
}
cn30xx
;
struct
cvmx_lmcx_ddr2_ctl_cn30xx
cn31xx
;
struct
cvmx_lmcx_ddr2_ctl_s
cn38xx
;
struct
cvmx_lmcx_ddr2_ctl_s
cn38xxp2
;
struct
cvmx_lmcx_ddr2_ctl_s
cn50xx
;
struct
cvmx_lmcx_ddr2_ctl_s
cn52xx
;
struct
cvmx_lmcx_ddr2_ctl_s
cn52xxp1
;
struct
cvmx_lmcx_ddr2_ctl_s
cn56xx
;
struct
cvmx_lmcx_ddr2_ctl_s
cn56xxp1
;
struct
cvmx_lmcx_ddr2_ctl_s
cn58xx
;
struct
cvmx_lmcx_ddr2_ctl_s
cn58xxp1
;
};
union
cvmx_lmcx_ddr_pll_ctl
{
uint64_t
u64
;
struct
cvmx_lmcx_ddr_pll_ctl_s
{
#ifdef __BIG_ENDIAN_BITFIELD
uint64_t
reserved_27_63
:
37
;
uint64_t
jtg_test_mode
:
1
;
uint64_t
dfm_div_reset
:
1
;
uint64_t
dfm_ps_en
:
3
;
uint64_t
ddr_div_reset
:
1
;
uint64_t
ddr_ps_en
:
3
;
uint64_t
diffamp
:
4
;
uint64_t
cps
:
3
;
uint64_t
cpb
:
3
;
uint64_t
reset_n
:
1
;
uint64_t
clkf
:
7
;
#else
uint64_t
clkf
:
7
;
uint64_t
reset_n
:
1
;
uint64_t
cpb
:
3
;
uint64_t
cps
:
3
;
uint64_t
diffamp
:
4
;
uint64_t
ddr_ps_en
:
3
;
uint64_t
ddr_div_reset
:
1
;
uint64_t
dfm_ps_en
:
3
;
uint64_t
dfm_div_reset
:
1
;
uint64_t
jtg_test_mode
:
1
;
uint64_t
reserved_27_63
:
37
;
#endif
}
s
;
struct
cvmx_lmcx_ddr_pll_ctl_s
cn61xx
;
struct
cvmx_lmcx_ddr_pll_ctl_s
cn63xx
;
struct
cvmx_lmcx_ddr_pll_ctl_s
cn63xxp1
;
struct
cvmx_lmcx_ddr_pll_ctl_s
cn66xx
;
struct
cvmx_lmcx_ddr_pll_ctl_s
cn68xx
;
struct
cvmx_lmcx_ddr_pll_ctl_s
cn68xxp1
;
struct
cvmx_lmcx_ddr_pll_ctl_s
cnf71xx
;
};
union
cvmx_lmcx_delay_cfg
{
uint64_t
u64
;
struct
cvmx_lmcx_delay_cfg_s
{
#ifdef __BIG_ENDIAN_BITFIELD
uint64_t
reserved_15_63
:
49
;
uint64_t
dq
:
5
;
uint64_t
cmd
:
5
;
uint64_t
clk
:
5
;
#else
uint64_t
clk
:
5
;
uint64_t
cmd
:
5
;
uint64_t
dq
:
5
;
uint64_t
reserved_15_63
:
49
;
#endif
}
s
;
struct
cvmx_lmcx_delay_cfg_s
cn30xx
;
struct
cvmx_lmcx_delay_cfg_cn38xx
{
#ifdef __BIG_ENDIAN_BITFIELD
uint64_t
reserved_14_63
:
50
;
uint64_t
dq
:
4
;
uint64_t
reserved_9_9
:
1
;
uint64_t
cmd
:
4
;
uint64_t
reserved_4_4
:
1
;
uint64_t
clk
:
4
;
#else
uint64_t
clk
:
4
;
uint64_t
reserved_4_4
:
1
;
uint64_t
cmd
:
4
;
uint64_t
reserved_9_9
:
1
;
uint64_t
dq
:
4
;
uint64_t
reserved_14_63
:
50
;
#endif
}
cn38xx
;
struct
cvmx_lmcx_delay_cfg_cn38xx
cn50xx
;
struct
cvmx_lmcx_delay_cfg_cn38xx
cn52xx
;
struct
cvmx_lmcx_delay_cfg_cn38xx
cn52xxp1
;
struct
cvmx_lmcx_delay_cfg_cn38xx
cn56xx
;
struct
cvmx_lmcx_delay_cfg_cn38xx
cn56xxp1
;
struct
cvmx_lmcx_delay_cfg_cn38xx
cn58xx
;
struct
cvmx_lmcx_delay_cfg_cn38xx
cn58xxp1
;
};
union
cvmx_lmcx_dimmx_params
{
uint64_t
u64
;
struct
cvmx_lmcx_dimmx_params_s
{
#ifdef __BIG_ENDIAN_BITFIELD
uint64_t
rc15
:
4
;
uint64_t
rc14
:
4
;
uint64_t
rc13
:
4
;
uint64_t
rc12
:
4
;
uint64_t
rc11
:
4
;
uint64_t
rc10
:
4
;
uint64_t
rc9
:
4
;
uint64_t
rc8
:
4
;
uint64_t
rc7
:
4
;
uint64_t
rc6
:
4
;
uint64_t
rc5
:
4
;
uint64_t
rc4
:
4
;
uint64_t
rc3
:
4
;
uint64_t
rc2
:
4
;
uint64_t
rc1
:
4
;
uint64_t
rc0
:
4
;
#else
uint64_t
rc0
:
4
;
uint64_t
rc1
:
4
;
uint64_t
rc2
:
4
;
uint64_t
rc3
:
4
;
uint64_t
rc4
:
4
;
uint64_t
rc5
:
4
;
uint64_t
rc6
:
4
;
uint64_t
rc7
:
4
;
uint64_t
rc8
:
4
;
uint64_t
rc9
:
4
;
uint64_t
rc10
:
4
;
uint64_t
rc11
:
4
;
uint64_t
rc12
:
4
;
uint64_t
rc13
:
4
;
uint64_t
rc14
:
4
;
uint64_t
rc15
:
4
;
#endif
}
s
;
struct
cvmx_lmcx_dimmx_params_s
cn61xx
;
struct
cvmx_lmcx_dimmx_params_s
cn63xx
;
struct
cvmx_lmcx_dimmx_params_s
cn63xxp1
;
struct
cvmx_lmcx_dimmx_params_s
cn66xx
;
struct
cvmx_lmcx_dimmx_params_s
cn68xx
;
struct
cvmx_lmcx_dimmx_params_s
cn68xxp1
;
struct
cvmx_lmcx_dimmx_params_s
cnf71xx
;
};
union
cvmx_lmcx_dimm_ctl
{
uint64_t
u64
;
struct
cvmx_lmcx_dimm_ctl_s
{
#ifdef __BIG_ENDIAN_BITFIELD
uint64_t
reserved_46_63
:
18
;
uint64_t
parity
:
1
;
uint64_t
tcws
:
13
;
uint64_t
dimm1_wmask
:
16
;
uint64_t
dimm0_wmask
:
16
;
#else
uint64_t
dimm0_wmask
:
16
;
uint64_t
dimm1_wmask
:
16
;
uint64_t
tcws
:
13
;
uint64_t
parity
:
1
;
uint64_t
reserved_46_63
:
18
;
#endif
}
s
;
struct
cvmx_lmcx_dimm_ctl_s
cn61xx
;
struct
cvmx_lmcx_dimm_ctl_s
cn63xx
;
struct
cvmx_lmcx_dimm_ctl_s
cn63xxp1
;
struct
cvmx_lmcx_dimm_ctl_s
cn66xx
;
struct
cvmx_lmcx_dimm_ctl_s
cn68xx
;
struct
cvmx_lmcx_dimm_ctl_s
cn68xxp1
;
struct
cvmx_lmcx_dimm_ctl_s
cnf71xx
;
};
union
cvmx_lmcx_dll_ctl
{
uint64_t
u64
;
struct
cvmx_lmcx_dll_ctl_s
{
#ifdef __BIG_ENDIAN_BITFIELD
uint64_t
reserved_8_63
:
56
;
uint64_t
dreset
:
1
;
uint64_t
dll90_byp
:
1
;
uint64_t
dll90_ena
:
1
;
uint64_t
dll90_vlu
:
5
;
#else
uint64_t
dll90_vlu
:
5
;
uint64_t
dll90_ena
:
1
;
uint64_t
dll90_byp
:
1
;
uint64_t
dreset
:
1
;
uint64_t
reserved_8_63
:
56
;
#endif
}
s
;
struct
cvmx_lmcx_dll_ctl_s
cn52xx
;
struct
cvmx_lmcx_dll_ctl_s
cn52xxp1
;
struct
cvmx_lmcx_dll_ctl_s
cn56xx
;
struct
cvmx_lmcx_dll_ctl_s
cn56xxp1
;
};
union
cvmx_lmcx_dll_ctl2
{
uint64_t
u64
;
struct
cvmx_lmcx_dll_ctl2_s
{
#ifdef __BIG_ENDIAN_BITFIELD
uint64_t
reserved_16_63
:
48
;
uint64_t
intf_en
:
1
;
uint64_t
dll_bringup
:
1
;
uint64_t
dreset
:
1
;
uint64_t
quad_dll_ena
:
1
;
uint64_t
byp_sel
:
4
;
uint64_t
byp_setting
:
8
;
#else
uint64_t
byp_setting
:
8
;
uint64_t
byp_sel
:
4
;
uint64_t
quad_dll_ena
:
1
;
uint64_t
dreset
:
1
;
uint64_t
dll_bringup
:
1
;
uint64_t
intf_en
:
1
;
uint64_t
reserved_16_63
:
48
;
#endif
}
s
;
struct
cvmx_lmcx_dll_ctl2_s
cn61xx
;
struct
cvmx_lmcx_dll_ctl2_cn63xx
{
#ifdef __BIG_ENDIAN_BITFIELD
uint64_t
reserved_15_63
:
49
;
uint64_t
dll_bringup
:
1
;
uint64_t
dreset
:
1
;
uint64_t
quad_dll_ena
:
1
;
uint64_t
byp_sel
:
4
;
uint64_t
byp_setting
:
8
;
#else
uint64_t
byp_setting
:
8
;
uint64_t
byp_sel
:
4
;
uint64_t
quad_dll_ena
:
1
;
uint64_t
dreset
:
1
;
uint64_t
dll_bringup
:
1
;
uint64_t
reserved_15_63
:
49
;
#endif
}
cn63xx
;
struct
cvmx_lmcx_dll_ctl2_cn63xx
cn63xxp1
;
struct
cvmx_lmcx_dll_ctl2_cn63xx
cn66xx
;
struct
cvmx_lmcx_dll_ctl2_s
cn68xx
;
struct
cvmx_lmcx_dll_ctl2_s
cn68xxp1
;
struct
cvmx_lmcx_dll_ctl2_s
cnf71xx
;
};
union
cvmx_lmcx_dll_ctl3
{
uint64_t
u64
;
struct
cvmx_lmcx_dll_ctl3_s
{
#ifdef __BIG_ENDIAN_BITFIELD
uint64_t
reserved_41_63
:
23
;
uint64_t
dclk90_fwd
:
1
;
uint64_t
ddr_90_dly_byp
:
1
;
uint64_t
dclk90_recal_dis
:
1
;
uint64_t
dclk90_byp_sel
:
1
;
uint64_t
dclk90_byp_setting
:
8
;
uint64_t
dll_fast
:
1
;
uint64_t
dll90_setting
:
8
;
uint64_t
fine_tune_mode
:
1
;
uint64_t
dll_mode
:
1
;
uint64_t
dll90_byte_sel
:
4
;
uint64_t
offset_ena
:
1
;
uint64_t
load_offset
:
1
;
uint64_t
mode_sel
:
2
;
uint64_t
byte_sel
:
4
;
uint64_t
offset
:
6
;
#else
uint64_t
offset
:
6
;
uint64_t
byte_sel
:
4
;
uint64_t
mode_sel
:
2
;
uint64_t
load_offset
:
1
;
uint64_t
offset_ena
:
1
;
uint64_t
dll90_byte_sel
:
4
;
uint64_t
dll_mode
:
1
;
uint64_t
fine_tune_mode
:
1
;
uint64_t
dll90_setting
:
8
;
uint64_t
dll_fast
:
1
;
uint64_t
dclk90_byp_setting
:
8
;
uint64_t
dclk90_byp_sel
:
1
;
uint64_t
dclk90_recal_dis
:
1
;
uint64_t
ddr_90_dly_byp
:
1
;
uint64_t
dclk90_fwd
:
1
;
uint64_t
reserved_41_63
:
23
;
#endif
}
s
;
struct
cvmx_lmcx_dll_ctl3_s
cn61xx
;
struct
cvmx_lmcx_dll_ctl3_cn63xx
{
#ifdef __BIG_ENDIAN_BITFIELD
uint64_t
reserved_29_63
:
35
;
uint64_t
dll_fast
:
1
;
uint64_t
dll90_setting
:
8
;
uint64_t
fine_tune_mode
:
1
;
uint64_t
dll_mode
:
1
;
uint64_t
dll90_byte_sel
:
4
;
uint64_t
offset_ena
:
1
;
uint64_t
load_offset
:
1
;
uint64_t
mode_sel
:
2
;
uint64_t
byte_sel
:
4
;
uint64_t
offset
:
6
;
#else
uint64_t
offset
:
6
;
uint64_t
byte_sel
:
4
;
uint64_t
mode_sel
:
2
;
uint64_t
load_offset
:
1
;
uint64_t
offset_ena
:
1
;
uint64_t
dll90_byte_sel
:
4
;
uint64_t
dll_mode
:
1
;
uint64_t
fine_tune_mode
:
1
;
uint64_t
dll90_setting
:
8
;
uint64_t
dll_fast
:
1
;
uint64_t
reserved_29_63
:
35
;
#endif
}
cn63xx
;
struct
cvmx_lmcx_dll_ctl3_cn63xx
cn63xxp1
;
struct
cvmx_lmcx_dll_ctl3_cn63xx
cn66xx
;
struct
cvmx_lmcx_dll_ctl3_s
cn68xx
;
struct
cvmx_lmcx_dll_ctl3_s
cn68xxp1
;
struct
cvmx_lmcx_dll_ctl3_s
cnf71xx
;
};
union
cvmx_lmcx_dual_memcfg
{
uint64_t
u64
;
struct
cvmx_lmcx_dual_memcfg_s
{
#ifdef __BIG_ENDIAN_BITFIELD
uint64_t
reserved_20_63
:
44
;
uint64_t
bank8
:
1
;
uint64_t
row_lsb
:
3
;
uint64_t
reserved_8_15
:
8
;
uint64_t
cs_mask
:
8
;
#else
uint64_t
cs_mask
:
8
;
uint64_t
reserved_8_15
:
8
;
uint64_t
row_lsb
:
3
;
uint64_t
bank8
:
1
;
uint64_t
reserved_20_63
:
44
;
#endif
}
s
;
struct
cvmx_lmcx_dual_memcfg_s
cn50xx
;
struct
cvmx_lmcx_dual_memcfg_s
cn52xx
;
struct
cvmx_lmcx_dual_memcfg_s
cn52xxp1
;
struct
cvmx_lmcx_dual_memcfg_s
cn56xx
;
struct
cvmx_lmcx_dual_memcfg_s
cn56xxp1
;
struct
cvmx_lmcx_dual_memcfg_s
cn58xx
;
struct
cvmx_lmcx_dual_memcfg_s
cn58xxp1
;
struct
cvmx_lmcx_dual_memcfg_cn61xx
{
#ifdef __BIG_ENDIAN_BITFIELD
uint64_t
reserved_19_63
:
45
;
uint64_t
row_lsb
:
3
;
uint64_t
reserved_8_15
:
8
;
uint64_t
cs_mask
:
8
;
#else
uint64_t
cs_mask
:
8
;
uint64_t
reserved_8_15
:
8
;
uint64_t
row_lsb
:
3
;
uint64_t
reserved_19_63
:
45
;
#endif
}
cn61xx
;
struct
cvmx_lmcx_dual_memcfg_cn61xx
cn63xx
;
struct
cvmx_lmcx_dual_memcfg_cn61xx
cn63xxp1
;
struct
cvmx_lmcx_dual_memcfg_cn61xx
cn66xx
;
struct
cvmx_lmcx_dual_memcfg_cn61xx
cn68xx
;
struct
cvmx_lmcx_dual_memcfg_cn61xx
cn68xxp1
;
struct
cvmx_lmcx_dual_memcfg_cn61xx
cnf71xx
;
};
union
cvmx_lmcx_ecc_synd
{
uint64_t
u64
;
struct
cvmx_lmcx_ecc_synd_s
{
#ifdef __BIG_ENDIAN_BITFIELD
uint64_t
reserved_32_63
:
32
;
uint64_t
mrdsyn3
:
8
;
uint64_t
mrdsyn2
:
8
;
uint64_t
mrdsyn1
:
8
;
uint64_t
mrdsyn0
:
8
;
#else
uint64_t
mrdsyn0
:
8
;
uint64_t
mrdsyn1
:
8
;
uint64_t
mrdsyn2
:
8
;
uint64_t
mrdsyn3
:
8
;
uint64_t
reserved_32_63
:
32
;
#endif
}
s
;
struct
cvmx_lmcx_ecc_synd_s
cn30xx
;
struct
cvmx_lmcx_ecc_synd_s
cn31xx
;
struct
cvmx_lmcx_ecc_synd_s
cn38xx
;
struct
cvmx_lmcx_ecc_synd_s
cn38xxp2
;
struct
cvmx_lmcx_ecc_synd_s
cn50xx
;
struct
cvmx_lmcx_ecc_synd_s
cn52xx
;
struct
cvmx_lmcx_ecc_synd_s
cn52xxp1
;
struct
cvmx_lmcx_ecc_synd_s
cn56xx
;
struct
cvmx_lmcx_ecc_synd_s
cn56xxp1
;
struct
cvmx_lmcx_ecc_synd_s
cn58xx
;
struct
cvmx_lmcx_ecc_synd_s
cn58xxp1
;
struct
cvmx_lmcx_ecc_synd_s
cn61xx
;
struct
cvmx_lmcx_ecc_synd_s
cn63xx
;
struct
cvmx_lmcx_ecc_synd_s
cn63xxp1
;
struct
cvmx_lmcx_ecc_synd_s
cn66xx
;
struct
cvmx_lmcx_ecc_synd_s
cn68xx
;
struct
cvmx_lmcx_ecc_synd_s
cn68xxp1
;
struct
cvmx_lmcx_ecc_synd_s
cnf71xx
;
};
union
cvmx_lmcx_fadr
{
uint64_t
u64
;
struct
cvmx_lmcx_fadr_s
{
#ifdef __BIG_ENDIAN_BITFIELD
uint64_t
reserved_0_63
:
64
;
#else
uint64_t
reserved_0_63
:
64
;
#endif
}
s
;
struct
cvmx_lmcx_fadr_cn30xx
{
#ifdef __BIG_ENDIAN_BITFIELD
uint64_t
reserved_32_63
:
32
;
uint64_t
fdimm
:
2
;
uint64_t
fbunk
:
1
;
uint64_t
fbank
:
3
;
uint64_t
frow
:
14
;
uint64_t
fcol
:
12
;
#else
uint64_t
fcol
:
12
;
uint64_t
frow
:
14
;
uint64_t
fbank
:
3
;
uint64_t
fbunk
:
1
;
uint64_t
fdimm
:
2
;
uint64_t
reserved_32_63
:
32
;
#endif
}
cn30xx
;
struct
cvmx_lmcx_fadr_cn30xx
cn31xx
;
struct
cvmx_lmcx_fadr_cn30xx
cn38xx
;
struct
cvmx_lmcx_fadr_cn30xx
cn38xxp2
;
struct
cvmx_lmcx_fadr_cn30xx
cn50xx
;
struct
cvmx_lmcx_fadr_cn30xx
cn52xx
;
struct
cvmx_lmcx_fadr_cn30xx
cn52xxp1
;
struct
cvmx_lmcx_fadr_cn30xx
cn56xx
;
struct
cvmx_lmcx_fadr_cn30xx
cn56xxp1
;
struct
cvmx_lmcx_fadr_cn30xx
cn58xx
;
struct
cvmx_lmcx_fadr_cn30xx
cn58xxp1
;
struct
cvmx_lmcx_fadr_cn61xx
{
#ifdef __BIG_ENDIAN_BITFIELD
uint64_t
reserved_36_63
:
28
;
uint64_t
fdimm
:
2
;
uint64_t
fbunk
:
1
;
uint64_t
fbank
:
3
;
uint64_t
frow
:
16
;
uint64_t
fcol
:
14
;
#else
uint64_t
fcol
:
14
;
uint64_t
frow
:
16
;
uint64_t
fbank
:
3
;
uint64_t
fbunk
:
1
;
uint64_t
fdimm
:
2
;
uint64_t
reserved_36_63
:
28
;
#endif
}
cn61xx
;
struct
cvmx_lmcx_fadr_cn61xx
cn63xx
;
struct
cvmx_lmcx_fadr_cn61xx
cn63xxp1
;
struct
cvmx_lmcx_fadr_cn61xx
cn66xx
;
struct
cvmx_lmcx_fadr_cn61xx
cn68xx
;
struct
cvmx_lmcx_fadr_cn61xx
cn68xxp1
;
struct
cvmx_lmcx_fadr_cn61xx
cnf71xx
;
};
union
cvmx_lmcx_ifb_cnt
{
uint64_t
u64
;
struct
cvmx_lmcx_ifb_cnt_s
{
#ifdef __BIG_ENDIAN_BITFIELD
uint64_t
ifbcnt
:
64
;
#else
uint64_t
ifbcnt
:
64
;
#endif
}
s
;
struct
cvmx_lmcx_ifb_cnt_s
cn61xx
;
struct
cvmx_lmcx_ifb_cnt_s
cn63xx
;
struct
cvmx_lmcx_ifb_cnt_s
cn63xxp1
;
struct
cvmx_lmcx_ifb_cnt_s
cn66xx
;
struct
cvmx_lmcx_ifb_cnt_s
cn68xx
;
struct
cvmx_lmcx_ifb_cnt_s
cn68xxp1
;
struct
cvmx_lmcx_ifb_cnt_s
cnf71xx
;
};
union
cvmx_lmcx_ifb_cnt_hi
{
uint64_t
u64
;
struct
cvmx_lmcx_ifb_cnt_hi_s
{
#ifdef __BIG_ENDIAN_BITFIELD
uint64_t
reserved_32_63
:
32
;
uint64_t
ifbcnt_hi
:
32
;
#else
uint64_t
ifbcnt_hi
:
32
;
uint64_t
reserved_32_63
:
32
;
#endif
}
s
;
struct
cvmx_lmcx_ifb_cnt_hi_s
cn30xx
;
struct
cvmx_lmcx_ifb_cnt_hi_s
cn31xx
;
struct
cvmx_lmcx_ifb_cnt_hi_s
cn38xx
;
struct
cvmx_lmcx_ifb_cnt_hi_s
cn38xxp2
;
struct
cvmx_lmcx_ifb_cnt_hi_s
cn50xx
;
struct
cvmx_lmcx_ifb_cnt_hi_s
cn52xx
;
struct
cvmx_lmcx_ifb_cnt_hi_s
cn52xxp1
;
struct
cvmx_lmcx_ifb_cnt_hi_s
cn56xx
;
struct
cvmx_lmcx_ifb_cnt_hi_s
cn56xxp1
;
struct
cvmx_lmcx_ifb_cnt_hi_s
cn58xx
;
struct
cvmx_lmcx_ifb_cnt_hi_s
cn58xxp1
;
};
union
cvmx_lmcx_ifb_cnt_lo
{
uint64_t
u64
;
struct
cvmx_lmcx_ifb_cnt_lo_s
{
#ifdef __BIG_ENDIAN_BITFIELD
uint64_t
reserved_32_63
:
32
;
uint64_t
ifbcnt_lo
:
32
;
#else
uint64_t
ifbcnt_lo
:
32
;
uint64_t
reserved_32_63
:
32
;
#endif
}
s
;
struct
cvmx_lmcx_ifb_cnt_lo_s
cn30xx
;
struct
cvmx_lmcx_ifb_cnt_lo_s
cn31xx
;
struct
cvmx_lmcx_ifb_cnt_lo_s
cn38xx
;
struct
cvmx_lmcx_ifb_cnt_lo_s
cn38xxp2
;
struct
cvmx_lmcx_ifb_cnt_lo_s
cn50xx
;
struct
cvmx_lmcx_ifb_cnt_lo_s
cn52xx
;
struct
cvmx_lmcx_ifb_cnt_lo_s
cn52xxp1
;
struct
cvmx_lmcx_ifb_cnt_lo_s
cn56xx
;
struct
cvmx_lmcx_ifb_cnt_lo_s
cn56xxp1
;
struct
cvmx_lmcx_ifb_cnt_lo_s
cn58xx
;
struct
cvmx_lmcx_ifb_cnt_lo_s
cn58xxp1
;
};
union
cvmx_lmcx_int
{
uint64_t
u64
;
struct
cvmx_lmcx_int_s
{
#ifdef __BIG_ENDIAN_BITFIELD
uint64_t
reserved_9_63
:
55
;
uint64_t
ded_err
:
4
;
uint64_t
sec_err
:
4
;
uint64_t
nxm_wr_err
:
1
;
#else
uint64_t
nxm_wr_err
:
1
;
uint64_t
sec_err
:
4
;
uint64_t
ded_err
:
4
;
uint64_t
reserved_9_63
:
55
;
#endif
}
s
;
struct
cvmx_lmcx_int_s
cn61xx
;
struct
cvmx_lmcx_int_s
cn63xx
;
struct
cvmx_lmcx_int_s
cn63xxp1
;
struct
cvmx_lmcx_int_s
cn66xx
;
struct
cvmx_lmcx_int_s
cn68xx
;
struct
cvmx_lmcx_int_s
cn68xxp1
;
struct
cvmx_lmcx_int_s
cnf71xx
;
};
union
cvmx_lmcx_int_en
{
uint64_t
u64
;
struct
cvmx_lmcx_int_en_s
{
#ifdef __BIG_ENDIAN_BITFIELD
uint64_t
reserved_3_63
:
61
;
uint64_t
intr_ded_ena
:
1
;
uint64_t
intr_sec_ena
:
1
;
uint64_t
intr_nxm_wr_ena
:
1
;
#else
uint64_t
intr_nxm_wr_ena
:
1
;
uint64_t
intr_sec_ena
:
1
;
uint64_t
intr_ded_ena
:
1
;
uint64_t
reserved_3_63
:
61
;
#endif
}
s
;
struct
cvmx_lmcx_int_en_s
cn61xx
;
struct
cvmx_lmcx_int_en_s
cn63xx
;
struct
cvmx_lmcx_int_en_s
cn63xxp1
;
struct
cvmx_lmcx_int_en_s
cn66xx
;
struct
cvmx_lmcx_int_en_s
cn68xx
;
struct
cvmx_lmcx_int_en_s
cn68xxp1
;
struct
cvmx_lmcx_int_en_s
cnf71xx
;
};
union
cvmx_lmcx_mem_cfg0
{
uint64_t
u64
;
struct
cvmx_lmcx_mem_cfg0_s
{
#ifdef __BIG_ENDIAN_BITFIELD
uint64_t
reserved_32_63
:
32
;
uint64_t
reset
:
1
;
uint64_t
silo_qc
:
1
;
uint64_t
bunk_ena
:
1
;
uint64_t
ded_err
:
4
;
uint64_t
sec_err
:
4
;
uint64_t
intr_ded_ena
:
1
;
uint64_t
intr_sec_ena
:
1
;
uint64_t
tcl
:
4
;
uint64_t
ref_int
:
6
;
uint64_t
pbank_lsb
:
4
;
uint64_t
row_lsb
:
3
;
uint64_t
ecc_ena
:
1
;
uint64_t
init_start
:
1
;
#else
uint64_t
init_start
:
1
;
uint64_t
ecc_ena
:
1
;
uint64_t
row_lsb
:
3
;
uint64_t
pbank_lsb
:
4
;
uint64_t
ref_int
:
6
;
uint64_t
tcl
:
4
;
uint64_t
intr_sec_ena
:
1
;
uint64_t
intr_ded_ena
:
1
;
uint64_t
sec_err
:
4
;
uint64_t
ded_err
:
4
;
uint64_t
bunk_ena
:
1
;
uint64_t
silo_qc
:
1
;
uint64_t
reset
:
1
;
uint64_t
reserved_32_63
:
32
;
#endif
}
s
;
struct
cvmx_lmcx_mem_cfg0_s
cn30xx
;
struct
cvmx_lmcx_mem_cfg0_s
cn31xx
;
struct
cvmx_lmcx_mem_cfg0_s
cn38xx
;
struct
cvmx_lmcx_mem_cfg0_s
cn38xxp2
;
struct
cvmx_lmcx_mem_cfg0_s
cn50xx
;
struct
cvmx_lmcx_mem_cfg0_s
cn52xx
;
struct
cvmx_lmcx_mem_cfg0_s
cn52xxp1
;
struct
cvmx_lmcx_mem_cfg0_s
cn56xx
;
struct
cvmx_lmcx_mem_cfg0_s
cn56xxp1
;
struct
cvmx_lmcx_mem_cfg0_s
cn58xx
;
struct
cvmx_lmcx_mem_cfg0_s
cn58xxp1
;
};
union
cvmx_lmcx_mem_cfg1
{
uint64_t
u64
;
struct
cvmx_lmcx_mem_cfg1_s
{
#ifdef __BIG_ENDIAN_BITFIELD
uint64_t
reserved_32_63
:
32
;
uint64_t
comp_bypass
:
1
;
uint64_t
trrd
:
3
;
uint64_t
caslat
:
3
;
uint64_t
tmrd
:
3
;
uint64_t
trfc
:
5
;
uint64_t
trp
:
4
;
uint64_t
twtr
:
4
;
uint64_t
trcd
:
4
;
uint64_t
tras
:
5
;
#else
uint64_t
tras
:
5
;
uint64_t
trcd
:
4
;
uint64_t
twtr
:
4
;
uint64_t
trp
:
4
;
uint64_t
trfc
:
5
;
uint64_t
tmrd
:
3
;
uint64_t
caslat
:
3
;
uint64_t
trrd
:
3
;
uint64_t
comp_bypass
:
1
;
uint64_t
reserved_32_63
:
32
;
#endif
}
s
;
struct
cvmx_lmcx_mem_cfg1_s
cn30xx
;
struct
cvmx_lmcx_mem_cfg1_s
cn31xx
;
struct
cvmx_lmcx_mem_cfg1_cn38xx
{
#ifdef __BIG_ENDIAN_BITFIELD
uint64_t
reserved_31_63
:
33
;
uint64_t
trrd
:
3
;
uint64_t
caslat
:
3
;
uint64_t
tmrd
:
3
;
uint64_t
trfc
:
5
;
uint64_t
trp
:
4
;
uint64_t
twtr
:
4
;
uint64_t
trcd
:
4
;
uint64_t
tras
:
5
;
#else
uint64_t
tras
:
5
;
uint64_t
trcd
:
4
;
uint64_t
twtr
:
4
;
uint64_t
trp
:
4
;
uint64_t
trfc
:
5
;
uint64_t
tmrd
:
3
;
uint64_t
caslat
:
3
;
uint64_t
trrd
:
3
;
uint64_t
reserved_31_63
:
33
;
#endif
}
cn38xx
;
struct
cvmx_lmcx_mem_cfg1_cn38xx
cn38xxp2
;
struct
cvmx_lmcx_mem_cfg1_s
cn50xx
;
struct
cvmx_lmcx_mem_cfg1_cn38xx
cn52xx
;
struct
cvmx_lmcx_mem_cfg1_cn38xx
cn52xxp1
;
struct
cvmx_lmcx_mem_cfg1_cn38xx
cn56xx
;
struct
cvmx_lmcx_mem_cfg1_cn38xx
cn56xxp1
;
struct
cvmx_lmcx_mem_cfg1_cn38xx
cn58xx
;
struct
cvmx_lmcx_mem_cfg1_cn38xx
cn58xxp1
;
};
union
cvmx_lmcx_modereg_params0
{
uint64_t
u64
;
struct
cvmx_lmcx_modereg_params0_s
{
#ifdef __BIG_ENDIAN_BITFIELD
uint64_t
reserved_25_63
:
39
;
uint64_t
ppd
:
1
;
uint64_t
wrp
:
3
;
uint64_t
dllr
:
1
;
uint64_t
tm
:
1
;
uint64_t
rbt
:
1
;
uint64_t
cl
:
4
;
uint64_t
bl
:
2
;
uint64_t
qoff
:
1
;
uint64_t
tdqs
:
1
;
uint64_t
wlev
:
1
;
uint64_t
al
:
2
;
uint64_t
dll
:
1
;
uint64_t
mpr
:
1
;
uint64_t
mprloc
:
2
;
uint64_t
cwl
:
3
;
#else
uint64_t
cwl
:
3
;
uint64_t
mprloc
:
2
;
uint64_t
mpr
:
1
;
uint64_t
dll
:
1
;
uint64_t
al
:
2
;
uint64_t
wlev
:
1
;
uint64_t
tdqs
:
1
;
uint64_t
qoff
:
1
;
uint64_t
bl
:
2
;
uint64_t
cl
:
4
;
uint64_t
rbt
:
1
;
uint64_t
tm
:
1
;
uint64_t
dllr
:
1
;
uint64_t
wrp
:
3
;
uint64_t
ppd
:
1
;
uint64_t
reserved_25_63
:
39
;
#endif
}
s
;
struct
cvmx_lmcx_modereg_params0_s
cn61xx
;
struct
cvmx_lmcx_modereg_params0_s
cn63xx
;
struct
cvmx_lmcx_modereg_params0_s
cn63xxp1
;
struct
cvmx_lmcx_modereg_params0_s
cn66xx
;
struct
cvmx_lmcx_modereg_params0_s
cn68xx
;
struct
cvmx_lmcx_modereg_params0_s
cn68xxp1
;
struct
cvmx_lmcx_modereg_params0_s
cnf71xx
;
};
union
cvmx_lmcx_modereg_params1
{
uint64_t
u64
;
struct
cvmx_lmcx_modereg_params1_s
{
#ifdef __BIG_ENDIAN_BITFIELD
uint64_t
reserved_48_63
:
16
;
uint64_t
rtt_nom_11
:
3
;
uint64_t
dic_11
:
2
;
uint64_t
rtt_wr_11
:
2
;
uint64_t
srt_11
:
1
;
uint64_t
asr_11
:
1
;
uint64_t
pasr_11
:
3
;
uint64_t
rtt_nom_10
:
3
;
uint64_t
dic_10
:
2
;
uint64_t
rtt_wr_10
:
2
;
uint64_t
srt_10
:
1
;
uint64_t
asr_10
:
1
;
uint64_t
pasr_10
:
3
;
uint64_t
rtt_nom_01
:
3
;
uint64_t
dic_01
:
2
;
uint64_t
rtt_wr_01
:
2
;
uint64_t
srt_01
:
1
;
uint64_t
asr_01
:
1
;
uint64_t
pasr_01
:
3
;
uint64_t
rtt_nom_00
:
3
;
uint64_t
dic_00
:
2
;
uint64_t
rtt_wr_00
:
2
;
uint64_t
srt_00
:
1
;
uint64_t
asr_00
:
1
;
uint64_t
pasr_00
:
3
;
#else
uint64_t
pasr_00
:
3
;
uint64_t
asr_00
:
1
;
uint64_t
srt_00
:
1
;
uint64_t
rtt_wr_00
:
2
;
uint64_t
dic_00
:
2
;
uint64_t
rtt_nom_00
:
3
;
uint64_t
pasr_01
:
3
;
uint64_t
asr_01
:
1
;
uint64_t
srt_01
:
1
;
uint64_t
rtt_wr_01
:
2
;
uint64_t
dic_01
:
2
;
uint64_t
rtt_nom_01
:
3
;
uint64_t
pasr_10
:
3
;
uint64_t
asr_10
:
1
;
uint64_t
srt_10
:
1
;
uint64_t
rtt_wr_10
:
2
;
uint64_t
dic_10
:
2
;
uint64_t
rtt_nom_10
:
3
;
uint64_t
pasr_11
:
3
;
uint64_t
asr_11
:
1
;
uint64_t
srt_11
:
1
;
uint64_t
rtt_wr_11
:
2
;
uint64_t
dic_11
:
2
;
uint64_t
rtt_nom_11
:
3
;
uint64_t
reserved_48_63
:
16
;
#endif
}
s
;
struct
cvmx_lmcx_modereg_params1_s
cn61xx
;
struct
cvmx_lmcx_modereg_params1_s
cn63xx
;
struct
cvmx_lmcx_modereg_params1_s
cn63xxp1
;
struct
cvmx_lmcx_modereg_params1_s
cn66xx
;
struct
cvmx_lmcx_modereg_params1_s
cn68xx
;
struct
cvmx_lmcx_modereg_params1_s
cn68xxp1
;
struct
cvmx_lmcx_modereg_params1_s
cnf71xx
;
};
union
cvmx_lmcx_nxm
{
uint64_t
u64
;
struct
cvmx_lmcx_nxm_s
{
#ifdef __BIG_ENDIAN_BITFIELD
uint64_t
reserved_40_63
:
24
;
uint64_t
mem_msb_d3_r1
:
4
;
uint64_t
mem_msb_d3_r0
:
4
;
uint64_t
mem_msb_d2_r1
:
4
;
uint64_t
mem_msb_d2_r0
:
4
;
uint64_t
mem_msb_d1_r1
:
4
;
uint64_t
mem_msb_d1_r0
:
4
;
uint64_t
mem_msb_d0_r1
:
4
;
uint64_t
mem_msb_d0_r0
:
4
;
uint64_t
cs_mask
:
8
;
#else
uint64_t
cs_mask
:
8
;
uint64_t
mem_msb_d0_r0
:
4
;
uint64_t
mem_msb_d0_r1
:
4
;
uint64_t
mem_msb_d1_r0
:
4
;
uint64_t
mem_msb_d1_r1
:
4
;
uint64_t
mem_msb_d2_r0
:
4
;
uint64_t
mem_msb_d2_r1
:
4
;
uint64_t
mem_msb_d3_r0
:
4
;
uint64_t
mem_msb_d3_r1
:
4
;
uint64_t
reserved_40_63
:
24
;
#endif
}
s
;
struct
cvmx_lmcx_nxm_cn52xx
{
#ifdef __BIG_ENDIAN_BITFIELD
uint64_t
reserved_8_63
:
56
;
uint64_t
cs_mask
:
8
;
#else
uint64_t
cs_mask
:
8
;
uint64_t
reserved_8_63
:
56
;
#endif
}
cn52xx
;
struct
cvmx_lmcx_nxm_cn52xx
cn56xx
;
struct
cvmx_lmcx_nxm_cn52xx
cn58xx
;
struct
cvmx_lmcx_nxm_s
cn61xx
;
struct
cvmx_lmcx_nxm_s
cn63xx
;
struct
cvmx_lmcx_nxm_s
cn63xxp1
;
struct
cvmx_lmcx_nxm_s
cn66xx
;
struct
cvmx_lmcx_nxm_s
cn68xx
;
struct
cvmx_lmcx_nxm_s
cn68xxp1
;
struct
cvmx_lmcx_nxm_s
cnf71xx
;
};
union
cvmx_lmcx_ops_cnt
{
uint64_t
u64
;
struct
cvmx_lmcx_ops_cnt_s
{
#ifdef __BIG_ENDIAN_BITFIELD
uint64_t
opscnt
:
64
;
#else
uint64_t
opscnt
:
64
;
#endif
}
s
;
struct
cvmx_lmcx_ops_cnt_s
cn61xx
;
struct
cvmx_lmcx_ops_cnt_s
cn63xx
;
struct
cvmx_lmcx_ops_cnt_s
cn63xxp1
;
struct
cvmx_lmcx_ops_cnt_s
cn66xx
;
struct
cvmx_lmcx_ops_cnt_s
cn68xx
;
struct
cvmx_lmcx_ops_cnt_s
cn68xxp1
;
struct
cvmx_lmcx_ops_cnt_s
cnf71xx
;
};
union
cvmx_lmcx_ops_cnt_hi
{
uint64_t
u64
;
struct
cvmx_lmcx_ops_cnt_hi_s
{
#ifdef __BIG_ENDIAN_BITFIELD
uint64_t
reserved_32_63
:
32
;
uint64_t
opscnt_hi
:
32
;
#else
uint64_t
opscnt_hi
:
32
;
uint64_t
reserved_32_63
:
32
;
#endif
}
s
;
struct
cvmx_lmcx_ops_cnt_hi_s
cn30xx
;
struct
cvmx_lmcx_ops_cnt_hi_s
cn31xx
;
struct
cvmx_lmcx_ops_cnt_hi_s
cn38xx
;
struct
cvmx_lmcx_ops_cnt_hi_s
cn38xxp2
;
struct
cvmx_lmcx_ops_cnt_hi_s
cn50xx
;
struct
cvmx_lmcx_ops_cnt_hi_s
cn52xx
;
struct
cvmx_lmcx_ops_cnt_hi_s
cn52xxp1
;
struct
cvmx_lmcx_ops_cnt_hi_s
cn56xx
;
struct
cvmx_lmcx_ops_cnt_hi_s
cn56xxp1
;
struct
cvmx_lmcx_ops_cnt_hi_s
cn58xx
;
struct
cvmx_lmcx_ops_cnt_hi_s
cn58xxp1
;
};
union
cvmx_lmcx_ops_cnt_lo
{
uint64_t
u64
;
struct
cvmx_lmcx_ops_cnt_lo_s
{
#ifdef __BIG_ENDIAN_BITFIELD
uint64_t
reserved_32_63
:
32
;
uint64_t
opscnt_lo
:
32
;
#else
uint64_t
opscnt_lo
:
32
;
uint64_t
reserved_32_63
:
32
;
#endif
}
s
;
struct
cvmx_lmcx_ops_cnt_lo_s
cn30xx
;
struct
cvmx_lmcx_ops_cnt_lo_s
cn31xx
;
struct
cvmx_lmcx_ops_cnt_lo_s
cn38xx
;
struct
cvmx_lmcx_ops_cnt_lo_s
cn38xxp2
;
struct
cvmx_lmcx_ops_cnt_lo_s
cn50xx
;
struct
cvmx_lmcx_ops_cnt_lo_s
cn52xx
;
struct
cvmx_lmcx_ops_cnt_lo_s
cn52xxp1
;
struct
cvmx_lmcx_ops_cnt_lo_s
cn56xx
;
struct
cvmx_lmcx_ops_cnt_lo_s
cn56xxp1
;
struct
cvmx_lmcx_ops_cnt_lo_s
cn58xx
;
struct
cvmx_lmcx_ops_cnt_lo_s
cn58xxp1
;
};
union
cvmx_lmcx_phy_ctl
{
uint64_t
u64
;
struct
cvmx_lmcx_phy_ctl_s
{
#ifdef __BIG_ENDIAN_BITFIELD
uint64_t
reserved_15_63
:
49
;
uint64_t
rx_always_on
:
1
;
uint64_t
lv_mode
:
1
;
uint64_t
ck_tune1
:
1
;
uint64_t
ck_dlyout1
:
4
;
uint64_t
ck_tune0
:
1
;
uint64_t
ck_dlyout0
:
4
;
uint64_t
loopback
:
1
;
uint64_t
loopback_pos
:
1
;
uint64_t
ts_stagger
:
1
;
#else
uint64_t
ts_stagger
:
1
;
uint64_t
loopback_pos
:
1
;
uint64_t
loopback
:
1
;
uint64_t
ck_dlyout0
:
4
;
uint64_t
ck_tune0
:
1
;
uint64_t
ck_dlyout1
:
4
;
uint64_t
ck_tune1
:
1
;
uint64_t
lv_mode
:
1
;
uint64_t
rx_always_on
:
1
;
uint64_t
reserved_15_63
:
49
;
#endif
}
s
;
struct
cvmx_lmcx_phy_ctl_s
cn61xx
;
struct
cvmx_lmcx_phy_ctl_s
cn63xx
;
struct
cvmx_lmcx_phy_ctl_cn63xxp1
{
#ifdef __BIG_ENDIAN_BITFIELD
uint64_t
reserved_14_63
:
50
;
uint64_t
lv_mode
:
1
;
uint64_t
ck_tune1
:
1
;
uint64_t
ck_dlyout1
:
4
;
uint64_t
ck_tune0
:
1
;
uint64_t
ck_dlyout0
:
4
;
uint64_t
loopback
:
1
;
uint64_t
loopback_pos
:
1
;
uint64_t
ts_stagger
:
1
;
#else
uint64_t
ts_stagger
:
1
;
uint64_t
loopback_pos
:
1
;
uint64_t
loopback
:
1
;
uint64_t
ck_dlyout0
:
4
;
uint64_t
ck_tune0
:
1
;
uint64_t
ck_dlyout1
:
4
;
uint64_t
ck_tune1
:
1
;
uint64_t
lv_mode
:
1
;
uint64_t
reserved_14_63
:
50
;
#endif
}
cn63xxp1
;
struct
cvmx_lmcx_phy_ctl_s
cn66xx
;
struct
cvmx_lmcx_phy_ctl_s
cn68xx
;
struct
cvmx_lmcx_phy_ctl_s
cn68xxp1
;
struct
cvmx_lmcx_phy_ctl_s
cnf71xx
;
};
union
cvmx_lmcx_pll_bwctl
{
uint64_t
u64
;
struct
cvmx_lmcx_pll_bwctl_s
{
#ifdef __BIG_ENDIAN_BITFIELD
uint64_t
reserved_5_63
:
59
;
uint64_t
bwupd
:
1
;
uint64_t
bwctl
:
4
;
#else
uint64_t
bwctl
:
4
;
uint64_t
bwupd
:
1
;
uint64_t
reserved_5_63
:
59
;
#endif
}
s
;
struct
cvmx_lmcx_pll_bwctl_s
cn30xx
;
struct
cvmx_lmcx_pll_bwctl_s
cn31xx
;
struct
cvmx_lmcx_pll_bwctl_s
cn38xx
;
struct
cvmx_lmcx_pll_bwctl_s
cn38xxp2
;
};
union
cvmx_lmcx_pll_ctl
{
uint64_t
u64
;
struct
cvmx_lmcx_pll_ctl_s
{
#ifdef __BIG_ENDIAN_BITFIELD
uint64_t
reserved_30_63
:
34
;
uint64_t
bypass
:
1
;
uint64_t
fasten_n
:
1
;
uint64_t
div_reset
:
1
;
uint64_t
reset_n
:
1
;
uint64_t
clkf
:
12
;
uint64_t
clkr
:
6
;
uint64_t
reserved_6_7
:
2
;
uint64_t
en16
:
1
;
uint64_t
en12
:
1
;
uint64_t
en8
:
1
;
uint64_t
en6
:
1
;
uint64_t
en4
:
1
;
uint64_t
en2
:
1
;
#else
uint64_t
en2
:
1
;
uint64_t
en4
:
1
;
uint64_t
en6
:
1
;
uint64_t
en8
:
1
;
uint64_t
en12
:
1
;
uint64_t
en16
:
1
;
uint64_t
reserved_6_7
:
2
;
uint64_t
clkr
:
6
;
uint64_t
clkf
:
12
;
uint64_t
reset_n
:
1
;
uint64_t
div_reset
:
1
;
uint64_t
fasten_n
:
1
;
uint64_t
bypass
:
1
;
uint64_t
reserved_30_63
:
34
;
#endif
}
s
;
struct
cvmx_lmcx_pll_ctl_cn50xx
{
#ifdef __BIG_ENDIAN_BITFIELD
uint64_t
reserved_29_63
:
35
;
uint64_t
fasten_n
:
1
;
uint64_t
div_reset
:
1
;
uint64_t
reset_n
:
1
;
uint64_t
clkf
:
12
;
uint64_t
clkr
:
6
;
uint64_t
reserved_6_7
:
2
;
uint64_t
en16
:
1
;
uint64_t
en12
:
1
;
uint64_t
en8
:
1
;
uint64_t
en6
:
1
;
uint64_t
en4
:
1
;
uint64_t
en2
:
1
;
#else
uint64_t
en2
:
1
;
uint64_t
en4
:
1
;
uint64_t
en6
:
1
;
uint64_t
en8
:
1
;
uint64_t
en12
:
1
;
uint64_t
en16
:
1
;
uint64_t
reserved_6_7
:
2
;
uint64_t
clkr
:
6
;
uint64_t
clkf
:
12
;
uint64_t
reset_n
:
1
;
uint64_t
div_reset
:
1
;
uint64_t
fasten_n
:
1
;
uint64_t
reserved_29_63
:
35
;
#endif
}
cn50xx
;
struct
cvmx_lmcx_pll_ctl_s
cn52xx
;
struct
cvmx_lmcx_pll_ctl_s
cn52xxp1
;
struct
cvmx_lmcx_pll_ctl_cn50xx
cn56xx
;
struct
cvmx_lmcx_pll_ctl_cn56xxp1
{
#ifdef __BIG_ENDIAN_BITFIELD
uint64_t
reserved_28_63
:
36
;
uint64_t
div_reset
:
1
;
uint64_t
reset_n
:
1
;
uint64_t
clkf
:
12
;
uint64_t
clkr
:
6
;
uint64_t
reserved_6_7
:
2
;
uint64_t
en16
:
1
;
uint64_t
en12
:
1
;
uint64_t
en8
:
1
;
uint64_t
en6
:
1
;
uint64_t
en4
:
1
;
uint64_t
en2
:
1
;
#else
uint64_t
en2
:
1
;
uint64_t
en4
:
1
;
uint64_t
en6
:
1
;
uint64_t
en8
:
1
;
uint64_t
en12
:
1
;
uint64_t
en16
:
1
;
uint64_t
reserved_6_7
:
2
;
uint64_t
clkr
:
6
;
uint64_t
clkf
:
12
;
uint64_t
reset_n
:
1
;
uint64_t
div_reset
:
1
;
uint64_t
reserved_28_63
:
36
;
#endif
}
cn56xxp1
;
struct
cvmx_lmcx_pll_ctl_cn56xxp1
cn58xx
;
struct
cvmx_lmcx_pll_ctl_cn56xxp1
cn58xxp1
;
};
union
cvmx_lmcx_pll_status
{
uint64_t
u64
;
struct
cvmx_lmcx_pll_status_s
{
#ifdef __BIG_ENDIAN_BITFIELD
uint64_t
reserved_32_63
:
32
;
uint64_t
ddr__nctl
:
5
;
uint64_t
ddr__pctl
:
5
;
uint64_t
reserved_2_21
:
20
;
uint64_t
rfslip
:
1
;
uint64_t
fbslip
:
1
;
#else
uint64_t
fbslip
:
1
;
uint64_t
rfslip
:
1
;
uint64_t
reserved_2_21
:
20
;
uint64_t
ddr__pctl
:
5
;
uint64_t
ddr__nctl
:
5
;
uint64_t
reserved_32_63
:
32
;
#endif
}
s
;
struct
cvmx_lmcx_pll_status_s
cn50xx
;
struct
cvmx_lmcx_pll_status_s
cn52xx
;
struct
cvmx_lmcx_pll_status_s
cn52xxp1
;
struct
cvmx_lmcx_pll_status_s
cn56xx
;
struct
cvmx_lmcx_pll_status_s
cn56xxp1
;
struct
cvmx_lmcx_pll_status_s
cn58xx
;
struct
cvmx_lmcx_pll_status_cn58xxp1
{
#ifdef __BIG_ENDIAN_BITFIELD
uint64_t
reserved_2_63
:
62
;
uint64_t
rfslip
:
1
;
uint64_t
fbslip
:
1
;
#else
uint64_t
fbslip
:
1
;
uint64_t
rfslip
:
1
;
uint64_t
reserved_2_63
:
62
;
#endif
}
cn58xxp1
;
};
union
cvmx_lmcx_read_level_ctl
{
uint64_t
u64
;
struct
cvmx_lmcx_read_level_ctl_s
{
#ifdef __BIG_ENDIAN_BITFIELD
uint64_t
reserved_44_63
:
20
;
uint64_t
rankmask
:
4
;
uint64_t
pattern
:
8
;
uint64_t
row
:
16
;
uint64_t
col
:
12
;
uint64_t
reserved_3_3
:
1
;
uint64_t
bnk
:
3
;
#else
uint64_t
bnk
:
3
;
uint64_t
reserved_3_3
:
1
;
uint64_t
col
:
12
;
uint64_t
row
:
16
;
uint64_t
pattern
:
8
;
uint64_t
rankmask
:
4
;
uint64_t
reserved_44_63
:
20
;
#endif
}
s
;
struct
cvmx_lmcx_read_level_ctl_s
cn52xx
;
struct
cvmx_lmcx_read_level_ctl_s
cn52xxp1
;
struct
cvmx_lmcx_read_level_ctl_s
cn56xx
;
struct
cvmx_lmcx_read_level_ctl_s
cn56xxp1
;
};
union
cvmx_lmcx_read_level_dbg
{
uint64_t
u64
;
struct
cvmx_lmcx_read_level_dbg_s
{
#ifdef __BIG_ENDIAN_BITFIELD
uint64_t
reserved_32_63
:
32
;
uint64_t
bitmask
:
16
;
uint64_t
reserved_4_15
:
12
;
uint64_t
byte
:
4
;
#else
uint64_t
byte
:
4
;
uint64_t
reserved_4_15
:
12
;
uint64_t
bitmask
:
16
;
uint64_t
reserved_32_63
:
32
;
#endif
}
s
;
struct
cvmx_lmcx_read_level_dbg_s
cn52xx
;
struct
cvmx_lmcx_read_level_dbg_s
cn52xxp1
;
struct
cvmx_lmcx_read_level_dbg_s
cn56xx
;
struct
cvmx_lmcx_read_level_dbg_s
cn56xxp1
;
};
union
cvmx_lmcx_read_level_rankx
{
uint64_t
u64
;
struct
cvmx_lmcx_read_level_rankx_s
{
#ifdef __BIG_ENDIAN_BITFIELD
uint64_t
reserved_38_63
:
26
;
uint64_t
status
:
2
;
uint64_t
byte8
:
4
;
uint64_t
byte7
:
4
;
uint64_t
byte6
:
4
;
uint64_t
byte5
:
4
;
uint64_t
byte4
:
4
;
uint64_t
byte3
:
4
;
uint64_t
byte2
:
4
;
uint64_t
byte1
:
4
;
uint64_t
byte0
:
4
;
#else
uint64_t
byte0
:
4
;
uint64_t
byte1
:
4
;
uint64_t
byte2
:
4
;
uint64_t
byte3
:
4
;
uint64_t
byte4
:
4
;
uint64_t
byte5
:
4
;
uint64_t
byte6
:
4
;
uint64_t
byte7
:
4
;
uint64_t
byte8
:
4
;
uint64_t
status
:
2
;
uint64_t
reserved_38_63
:
26
;
#endif
}
s
;
struct
cvmx_lmcx_read_level_rankx_s
cn52xx
;
struct
cvmx_lmcx_read_level_rankx_s
cn52xxp1
;
struct
cvmx_lmcx_read_level_rankx_s
cn56xx
;
struct
cvmx_lmcx_read_level_rankx_s
cn56xxp1
;
};
union
cvmx_lmcx_reset_ctl
{
uint64_t
u64
;
struct
cvmx_lmcx_reset_ctl_s
{
#ifdef __BIG_ENDIAN_BITFIELD
uint64_t
reserved_4_63
:
60
;
uint64_t
ddr3psv
:
1
;
uint64_t
ddr3psoft
:
1
;
uint64_t
ddr3pwarm
:
1
;
uint64_t
ddr3rst
:
1
;
#else
uint64_t
ddr3rst
:
1
;
uint64_t
ddr3pwarm
:
1
;
uint64_t
ddr3psoft
:
1
;
uint64_t
ddr3psv
:
1
;
uint64_t
reserved_4_63
:
60
;
#endif
}
s
;
struct
cvmx_lmcx_reset_ctl_s
cn61xx
;
struct
cvmx_lmcx_reset_ctl_s
cn63xx
;
struct
cvmx_lmcx_reset_ctl_s
cn63xxp1
;
struct
cvmx_lmcx_reset_ctl_s
cn66xx
;
struct
cvmx_lmcx_reset_ctl_s
cn68xx
;
struct
cvmx_lmcx_reset_ctl_s
cn68xxp1
;
struct
cvmx_lmcx_reset_ctl_s
cnf71xx
;
};
union
cvmx_lmcx_rlevel_ctl
{
uint64_t
u64
;
struct
cvmx_lmcx_rlevel_ctl_s
{
#ifdef __BIG_ENDIAN_BITFIELD
uint64_t
reserved_22_63
:
42
;
uint64_t
delay_unload_3
:
1
;
uint64_t
delay_unload_2
:
1
;
uint64_t
delay_unload_1
:
1
;
uint64_t
delay_unload_0
:
1
;
uint64_t
bitmask
:
8
;
uint64_t
or_dis
:
1
;
uint64_t
offset_en
:
1
;
uint64_t
offset
:
4
;
uint64_t
byte
:
4
;
#else
uint64_t
byte
:
4
;
uint64_t
offset
:
4
;
uint64_t
offset_en
:
1
;
uint64_t
or_dis
:
1
;
uint64_t
bitmask
:
8
;
uint64_t
delay_unload_0
:
1
;
uint64_t
delay_unload_1
:
1
;
uint64_t
delay_unload_2
:
1
;
uint64_t
delay_unload_3
:
1
;
uint64_t
reserved_22_63
:
42
;
#endif
}
s
;
struct
cvmx_lmcx_rlevel_ctl_s
cn61xx
;
struct
cvmx_lmcx_rlevel_ctl_s
cn63xx
;
struct
cvmx_lmcx_rlevel_ctl_cn63xxp1
{
#ifdef __BIG_ENDIAN_BITFIELD
uint64_t
reserved_9_63
:
55
;
uint64_t
offset_en
:
1
;
uint64_t
offset
:
4
;
uint64_t
byte
:
4
;
#else
uint64_t
byte
:
4
;
uint64_t
offset
:
4
;
uint64_t
offset_en
:
1
;
uint64_t
reserved_9_63
:
55
;
#endif
}
cn63xxp1
;
struct
cvmx_lmcx_rlevel_ctl_s
cn66xx
;
struct
cvmx_lmcx_rlevel_ctl_s
cn68xx
;
struct
cvmx_lmcx_rlevel_ctl_s
cn68xxp1
;
struct
cvmx_lmcx_rlevel_ctl_s
cnf71xx
;
};
union
cvmx_lmcx_rlevel_dbg
{
uint64_t
u64
;
struct
cvmx_lmcx_rlevel_dbg_s
{
#ifdef __BIG_ENDIAN_BITFIELD
uint64_t
bitmask
:
64
;
#else
uint64_t
bitmask
:
64
;
#endif
}
s
;
struct
cvmx_lmcx_rlevel_dbg_s
cn61xx
;
struct
cvmx_lmcx_rlevel_dbg_s
cn63xx
;
struct
cvmx_lmcx_rlevel_dbg_s
cn63xxp1
;
struct
cvmx_lmcx_rlevel_dbg_s
cn66xx
;
struct
cvmx_lmcx_rlevel_dbg_s
cn68xx
;
struct
cvmx_lmcx_rlevel_dbg_s
cn68xxp1
;
struct
cvmx_lmcx_rlevel_dbg_s
cnf71xx
;
};
union
cvmx_lmcx_rlevel_rankx
{
uint64_t
u64
;
struct
cvmx_lmcx_rlevel_rankx_s
{
#ifdef __BIG_ENDIAN_BITFIELD
uint64_t
reserved_56_63
:
8
;
uint64_t
status
:
2
;
uint64_t
byte8
:
6
;
uint64_t
byte7
:
6
;
uint64_t
byte6
:
6
;
uint64_t
byte5
:
6
;
uint64_t
byte4
:
6
;
uint64_t
byte3
:
6
;
uint64_t
byte2
:
6
;
uint64_t
byte1
:
6
;
uint64_t
byte0
:
6
;
#else
uint64_t
byte0
:
6
;
uint64_t
byte1
:
6
;
uint64_t
byte2
:
6
;
uint64_t
byte3
:
6
;
uint64_t
byte4
:
6
;
uint64_t
byte5
:
6
;
uint64_t
byte6
:
6
;
uint64_t
byte7
:
6
;
uint64_t
byte8
:
6
;
uint64_t
status
:
2
;
uint64_t
reserved_56_63
:
8
;
#endif
}
s
;
struct
cvmx_lmcx_rlevel_rankx_s
cn61xx
;
struct
cvmx_lmcx_rlevel_rankx_s
cn63xx
;
struct
cvmx_lmcx_rlevel_rankx_s
cn63xxp1
;
struct
cvmx_lmcx_rlevel_rankx_s
cn66xx
;
struct
cvmx_lmcx_rlevel_rankx_s
cn68xx
;
struct
cvmx_lmcx_rlevel_rankx_s
cn68xxp1
;
struct
cvmx_lmcx_rlevel_rankx_s
cnf71xx
;
};
union
cvmx_lmcx_rodt_comp_ctl
{
uint64_t
u64
;
struct
cvmx_lmcx_rodt_comp_ctl_s
{
#ifdef __BIG_ENDIAN_BITFIELD
uint64_t
reserved_17_63
:
47
;
uint64_t
enable
:
1
;
uint64_t
reserved_12_15
:
4
;
uint64_t
nctl
:
4
;
uint64_t
reserved_5_7
:
3
;
uint64_t
pctl
:
5
;
#else
uint64_t
pctl
:
5
;
uint64_t
reserved_5_7
:
3
;
uint64_t
nctl
:
4
;
uint64_t
reserved_12_15
:
4
;
uint64_t
enable
:
1
;
uint64_t
reserved_17_63
:
47
;
#endif
}
s
;
struct
cvmx_lmcx_rodt_comp_ctl_s
cn50xx
;
struct
cvmx_lmcx_rodt_comp_ctl_s
cn52xx
;
struct
cvmx_lmcx_rodt_comp_ctl_s
cn52xxp1
;
struct
cvmx_lmcx_rodt_comp_ctl_s
cn56xx
;
struct
cvmx_lmcx_rodt_comp_ctl_s
cn56xxp1
;
struct
cvmx_lmcx_rodt_comp_ctl_s
cn58xx
;
struct
cvmx_lmcx_rodt_comp_ctl_s
cn58xxp1
;
};
union
cvmx_lmcx_rodt_ctl
{
uint64_t
u64
;
struct
cvmx_lmcx_rodt_ctl_s
{
#ifdef __BIG_ENDIAN_BITFIELD
uint64_t
reserved_32_63
:
32
;
uint64_t
rodt_hi3
:
4
;
uint64_t
rodt_hi2
:
4
;
uint64_t
rodt_hi1
:
4
;
uint64_t
rodt_hi0
:
4
;
uint64_t
rodt_lo3
:
4
;
uint64_t
rodt_lo2
:
4
;
uint64_t
rodt_lo1
:
4
;
uint64_t
rodt_lo0
:
4
;
#else
uint64_t
rodt_lo0
:
4
;
uint64_t
rodt_lo1
:
4
;
uint64_t
rodt_lo2
:
4
;
uint64_t
rodt_lo3
:
4
;
uint64_t
rodt_hi0
:
4
;
uint64_t
rodt_hi1
:
4
;
uint64_t
rodt_hi2
:
4
;
uint64_t
rodt_hi3
:
4
;
uint64_t
reserved_32_63
:
32
;
#endif
}
s
;
struct
cvmx_lmcx_rodt_ctl_s
cn30xx
;
struct
cvmx_lmcx_rodt_ctl_s
cn31xx
;
struct
cvmx_lmcx_rodt_ctl_s
cn38xx
;
struct
cvmx_lmcx_rodt_ctl_s
cn38xxp2
;
struct
cvmx_lmcx_rodt_ctl_s
cn50xx
;
struct
cvmx_lmcx_rodt_ctl_s
cn52xx
;
struct
cvmx_lmcx_rodt_ctl_s
cn52xxp1
;
struct
cvmx_lmcx_rodt_ctl_s
cn56xx
;
struct
cvmx_lmcx_rodt_ctl_s
cn56xxp1
;
struct
cvmx_lmcx_rodt_ctl_s
cn58xx
;
struct
cvmx_lmcx_rodt_ctl_s
cn58xxp1
;
};
union
cvmx_lmcx_rodt_mask
{
uint64_t
u64
;
struct
cvmx_lmcx_rodt_mask_s
{
#ifdef __BIG_ENDIAN_BITFIELD
uint64_t
rodt_d3_r1
:
8
;
uint64_t
rodt_d3_r0
:
8
;
uint64_t
rodt_d2_r1
:
8
;
uint64_t
rodt_d2_r0
:
8
;
uint64_t
rodt_d1_r1
:
8
;
uint64_t
rodt_d1_r0
:
8
;
uint64_t
rodt_d0_r1
:
8
;
uint64_t
rodt_d0_r0
:
8
;
#else
uint64_t
rodt_d0_r0
:
8
;
uint64_t
rodt_d0_r1
:
8
;
uint64_t
rodt_d1_r0
:
8
;
uint64_t
rodt_d1_r1
:
8
;
uint64_t
rodt_d2_r0
:
8
;
uint64_t
rodt_d2_r1
:
8
;
uint64_t
rodt_d3_r0
:
8
;
uint64_t
rodt_d3_r1
:
8
;
#endif
}
s
;
struct
cvmx_lmcx_rodt_mask_s
cn61xx
;
struct
cvmx_lmcx_rodt_mask_s
cn63xx
;
struct
cvmx_lmcx_rodt_mask_s
cn63xxp1
;
struct
cvmx_lmcx_rodt_mask_s
cn66xx
;
struct
cvmx_lmcx_rodt_mask_s
cn68xx
;
struct
cvmx_lmcx_rodt_mask_s
cn68xxp1
;
struct
cvmx_lmcx_rodt_mask_s
cnf71xx
;
};
union
cvmx_lmcx_scramble_cfg0
{
uint64_t
u64
;
struct
cvmx_lmcx_scramble_cfg0_s
{
#ifdef __BIG_ENDIAN_BITFIELD
uint64_t
key
:
64
;
#else
uint64_t
key
:
64
;
#endif
}
s
;
struct
cvmx_lmcx_scramble_cfg0_s
cn61xx
;
struct
cvmx_lmcx_scramble_cfg0_s
cn66xx
;
struct
cvmx_lmcx_scramble_cfg0_s
cnf71xx
;
};
union
cvmx_lmcx_scramble_cfg1
{
uint64_t
u64
;
struct
cvmx_lmcx_scramble_cfg1_s
{
#ifdef __BIG_ENDIAN_BITFIELD
uint64_t
key
:
64
;
#else
uint64_t
key
:
64
;
#endif
}
s
;
struct
cvmx_lmcx_scramble_cfg1_s
cn61xx
;
struct
cvmx_lmcx_scramble_cfg1_s
cn66xx
;
struct
cvmx_lmcx_scramble_cfg1_s
cnf71xx
;
};
union
cvmx_lmcx_scrambled_fadr
{
uint64_t
u64
;
struct
cvmx_lmcx_scrambled_fadr_s
{
#ifdef __BIG_ENDIAN_BITFIELD
uint64_t
reserved_36_63
:
28
;
uint64_t
fdimm
:
2
;
uint64_t
fbunk
:
1
;
uint64_t
fbank
:
3
;
uint64_t
frow
:
16
;
uint64_t
fcol
:
14
;
#else
uint64_t
fcol
:
14
;
uint64_t
frow
:
16
;
uint64_t
fbank
:
3
;
uint64_t
fbunk
:
1
;
uint64_t
fdimm
:
2
;
uint64_t
reserved_36_63
:
28
;
#endif
}
s
;
struct
cvmx_lmcx_scrambled_fadr_s
cn61xx
;
struct
cvmx_lmcx_scrambled_fadr_s
cn66xx
;
struct
cvmx_lmcx_scrambled_fadr_s
cnf71xx
;
};
union
cvmx_lmcx_slot_ctl0
{
uint64_t
u64
;
struct
cvmx_lmcx_slot_ctl0_s
{
#ifdef __BIG_ENDIAN_BITFIELD
uint64_t
reserved_24_63
:
40
;
uint64_t
w2w_init
:
6
;
uint64_t
w2r_init
:
6
;
uint64_t
r2w_init
:
6
;
uint64_t
r2r_init
:
6
;
#else
uint64_t
r2r_init
:
6
;
uint64_t
r2w_init
:
6
;
uint64_t
w2r_init
:
6
;
uint64_t
w2w_init
:
6
;
uint64_t
reserved_24_63
:
40
;
#endif
}
s
;
struct
cvmx_lmcx_slot_ctl0_s
cn61xx
;
struct
cvmx_lmcx_slot_ctl0_s
cn63xx
;
struct
cvmx_lmcx_slot_ctl0_s
cn63xxp1
;
struct
cvmx_lmcx_slot_ctl0_s
cn66xx
;
struct
cvmx_lmcx_slot_ctl0_s
cn68xx
;
struct
cvmx_lmcx_slot_ctl0_s
cn68xxp1
;
struct
cvmx_lmcx_slot_ctl0_s
cnf71xx
;
};
union
cvmx_lmcx_slot_ctl1
{
uint64_t
u64
;
struct
cvmx_lmcx_slot_ctl1_s
{
#ifdef __BIG_ENDIAN_BITFIELD
uint64_t
reserved_24_63
:
40
;
uint64_t
w2w_xrank_init
:
6
;
uint64_t
w2r_xrank_init
:
6
;
uint64_t
r2w_xrank_init
:
6
;
uint64_t
r2r_xrank_init
:
6
;
#else
uint64_t
r2r_xrank_init
:
6
;
uint64_t
r2w_xrank_init
:
6
;
uint64_t
w2r_xrank_init
:
6
;
uint64_t
w2w_xrank_init
:
6
;
uint64_t
reserved_24_63
:
40
;
#endif
}
s
;
struct
cvmx_lmcx_slot_ctl1_s
cn61xx
;
struct
cvmx_lmcx_slot_ctl1_s
cn63xx
;
struct
cvmx_lmcx_slot_ctl1_s
cn63xxp1
;
struct
cvmx_lmcx_slot_ctl1_s
cn66xx
;
struct
cvmx_lmcx_slot_ctl1_s
cn68xx
;
struct
cvmx_lmcx_slot_ctl1_s
cn68xxp1
;
struct
cvmx_lmcx_slot_ctl1_s
cnf71xx
;
};
union
cvmx_lmcx_slot_ctl2
{
uint64_t
u64
;
struct
cvmx_lmcx_slot_ctl2_s
{
#ifdef __BIG_ENDIAN_BITFIELD
uint64_t
reserved_24_63
:
40
;
uint64_t
w2w_xdimm_init
:
6
;
uint64_t
w2r_xdimm_init
:
6
;
uint64_t
r2w_xdimm_init
:
6
;
uint64_t
r2r_xdimm_init
:
6
;
#else
uint64_t
r2r_xdimm_init
:
6
;
uint64_t
r2w_xdimm_init
:
6
;
uint64_t
w2r_xdimm_init
:
6
;
uint64_t
w2w_xdimm_init
:
6
;
uint64_t
reserved_24_63
:
40
;
#endif
}
s
;
struct
cvmx_lmcx_slot_ctl2_s
cn61xx
;
struct
cvmx_lmcx_slot_ctl2_s
cn63xx
;
struct
cvmx_lmcx_slot_ctl2_s
cn63xxp1
;
struct
cvmx_lmcx_slot_ctl2_s
cn66xx
;
struct
cvmx_lmcx_slot_ctl2_s
cn68xx
;
struct
cvmx_lmcx_slot_ctl2_s
cn68xxp1
;
struct
cvmx_lmcx_slot_ctl2_s
cnf71xx
;
};
union
cvmx_lmcx_timing_params0
{
uint64_t
u64
;
struct
cvmx_lmcx_timing_params0_s
{
#ifdef __BIG_ENDIAN_BITFIELD
uint64_t
reserved_47_63
:
17
;
uint64_t
trp_ext
:
1
;
uint64_t
tcksre
:
4
;
uint64_t
trp
:
4
;
uint64_t
tzqinit
:
4
;
uint64_t
tdllk
:
4
;
uint64_t
tmod
:
4
;
uint64_t
tmrd
:
4
;
uint64_t
txpr
:
4
;
uint64_t
tcke
:
4
;
uint64_t
tzqcs
:
4
;
uint64_t
tckeon
:
10
;
#else
uint64_t
tckeon
:
10
;
uint64_t
tzqcs
:
4
;
uint64_t
tcke
:
4
;
uint64_t
txpr
:
4
;
uint64_t
tmrd
:
4
;
uint64_t
tmod
:
4
;
uint64_t
tdllk
:
4
;
uint64_t
tzqinit
:
4
;
uint64_t
trp
:
4
;
uint64_t
tcksre
:
4
;
uint64_t
trp_ext
:
1
;
uint64_t
reserved_47_63
:
17
;
#endif
}
s
;
struct
cvmx_lmcx_timing_params0_cn61xx
{
#ifdef __BIG_ENDIAN_BITFIELD
uint64_t
reserved_47_63
:
17
;
uint64_t
trp_ext
:
1
;
uint64_t
tcksre
:
4
;
uint64_t
trp
:
4
;
uint64_t
tzqinit
:
4
;
uint64_t
tdllk
:
4
;
uint64_t
tmod
:
4
;
uint64_t
tmrd
:
4
;
uint64_t
txpr
:
4
;
uint64_t
tcke
:
4
;
uint64_t
tzqcs
:
4
;
uint64_t
reserved_0_9
:
10
;
#else
uint64_t
reserved_0_9
:
10
;
uint64_t
tzqcs
:
4
;
uint64_t
tcke
:
4
;
uint64_t
txpr
:
4
;
uint64_t
tmrd
:
4
;
uint64_t
tmod
:
4
;
uint64_t
tdllk
:
4
;
uint64_t
tzqinit
:
4
;
uint64_t
trp
:
4
;
uint64_t
tcksre
:
4
;
uint64_t
trp_ext
:
1
;
uint64_t
reserved_47_63
:
17
;
#endif
}
cn61xx
;
struct
cvmx_lmcx_timing_params0_cn61xx
cn63xx
;
struct
cvmx_lmcx_timing_params0_cn63xxp1
{
#ifdef __BIG_ENDIAN_BITFIELD
uint64_t
reserved_46_63
:
18
;
uint64_t
tcksre
:
4
;
uint64_t
trp
:
4
;
uint64_t
tzqinit
:
4
;
uint64_t
tdllk
:
4
;
uint64_t
tmod
:
4
;
uint64_t
tmrd
:
4
;
uint64_t
txpr
:
4
;
uint64_t
tcke
:
4
;
uint64_t
tzqcs
:
4
;
uint64_t
tckeon
:
10
;
#else
uint64_t
tckeon
:
10
;
uint64_t
tzqcs
:
4
;
uint64_t
tcke
:
4
;
uint64_t
txpr
:
4
;
uint64_t
tmrd
:
4
;
uint64_t
tmod
:
4
;
uint64_t
tdllk
:
4
;
uint64_t
tzqinit
:
4
;
uint64_t
trp
:
4
;
uint64_t
tcksre
:
4
;
uint64_t
reserved_46_63
:
18
;
#endif
}
cn63xxp1
;
struct
cvmx_lmcx_timing_params0_cn61xx
cn66xx
;
struct
cvmx_lmcx_timing_params0_cn61xx
cn68xx
;
struct
cvmx_lmcx_timing_params0_cn61xx
cn68xxp1
;
struct
cvmx_lmcx_timing_params0_cn61xx
cnf71xx
;
};
union
cvmx_lmcx_timing_params1
{
uint64_t
u64
;
struct
cvmx_lmcx_timing_params1_s
{
#ifdef __BIG_ENDIAN_BITFIELD
uint64_t
reserved_47_63
:
17
;
uint64_t
tras_ext
:
1
;
uint64_t
txpdll
:
5
;
uint64_t
tfaw
:
5
;
uint64_t
twldqsen
:
4
;
uint64_t
twlmrd
:
4
;
uint64_t
txp
:
3
;
uint64_t
trrd
:
3
;
uint64_t
trfc
:
5
;
uint64_t
twtr
:
4
;
uint64_t
trcd
:
4
;
uint64_t
tras
:
5
;
uint64_t
tmprr
:
4
;
#else
uint64_t
tmprr
:
4
;
uint64_t
tras
:
5
;
uint64_t
trcd
:
4
;
uint64_t
twtr
:
4
;
uint64_t
trfc
:
5
;
uint64_t
trrd
:
3
;
uint64_t
txp
:
3
;
uint64_t
twlmrd
:
4
;
uint64_t
twldqsen
:
4
;
uint64_t
tfaw
:
5
;
uint64_t
txpdll
:
5
;
uint64_t
tras_ext
:
1
;
uint64_t
reserved_47_63
:
17
;
#endif
}
s
;
struct
cvmx_lmcx_timing_params1_s
cn61xx
;
struct
cvmx_lmcx_timing_params1_s
cn63xx
;
struct
cvmx_lmcx_timing_params1_cn63xxp1
{
#ifdef __BIG_ENDIAN_BITFIELD
uint64_t
reserved_46_63
:
18
;
uint64_t
txpdll
:
5
;
uint64_t
tfaw
:
5
;
uint64_t
twldqsen
:
4
;
uint64_t
twlmrd
:
4
;
uint64_t
txp
:
3
;
uint64_t
trrd
:
3
;
uint64_t
trfc
:
5
;
uint64_t
twtr
:
4
;
uint64_t
trcd
:
4
;
uint64_t
tras
:
5
;
uint64_t
tmprr
:
4
;
#else
uint64_t
tmprr
:
4
;
uint64_t
tras
:
5
;
uint64_t
trcd
:
4
;
uint64_t
twtr
:
4
;
uint64_t
trfc
:
5
;
uint64_t
trrd
:
3
;
uint64_t
txp
:
3
;
uint64_t
twlmrd
:
4
;
uint64_t
twldqsen
:
4
;
uint64_t
tfaw
:
5
;
uint64_t
txpdll
:
5
;
uint64_t
reserved_46_63
:
18
;
#endif
}
cn63xxp1
;
struct
cvmx_lmcx_timing_params1_s
cn66xx
;
struct
cvmx_lmcx_timing_params1_s
cn68xx
;
struct
cvmx_lmcx_timing_params1_s
cn68xxp1
;
struct
cvmx_lmcx_timing_params1_s
cnf71xx
;
};
union
cvmx_lmcx_tro_ctl
{
uint64_t
u64
;
struct
cvmx_lmcx_tro_ctl_s
{
#ifdef __BIG_ENDIAN_BITFIELD
uint64_t
reserved_33_63
:
31
;
uint64_t
rclk_cnt
:
32
;
uint64_t
treset
:
1
;
#else
uint64_t
treset
:
1
;
uint64_t
rclk_cnt
:
32
;
uint64_t
reserved_33_63
:
31
;
#endif
}
s
;
struct
cvmx_lmcx_tro_ctl_s
cn61xx
;
struct
cvmx_lmcx_tro_ctl_s
cn63xx
;
struct
cvmx_lmcx_tro_ctl_s
cn63xxp1
;
struct
cvmx_lmcx_tro_ctl_s
cn66xx
;
struct
cvmx_lmcx_tro_ctl_s
cn68xx
;
struct
cvmx_lmcx_tro_ctl_s
cn68xxp1
;
struct
cvmx_lmcx_tro_ctl_s
cnf71xx
;
};
union
cvmx_lmcx_tro_stat
{
uint64_t
u64
;
struct
cvmx_lmcx_tro_stat_s
{
#ifdef __BIG_ENDIAN_BITFIELD
uint64_t
reserved_32_63
:
32
;
uint64_t
ring_cnt
:
32
;
#else
uint64_t
ring_cnt
:
32
;
uint64_t
reserved_32_63
:
32
;
#endif
}
s
;
struct
cvmx_lmcx_tro_stat_s
cn61xx
;
struct
cvmx_lmcx_tro_stat_s
cn63xx
;
struct
cvmx_lmcx_tro_stat_s
cn63xxp1
;
struct
cvmx_lmcx_tro_stat_s
cn66xx
;
struct
cvmx_lmcx_tro_stat_s
cn68xx
;
struct
cvmx_lmcx_tro_stat_s
cn68xxp1
;
struct
cvmx_lmcx_tro_stat_s
cnf71xx
;
};
union
cvmx_lmcx_wlevel_ctl
{
uint64_t
u64
;
struct
cvmx_lmcx_wlevel_ctl_s
{
#ifdef __BIG_ENDIAN_BITFIELD
uint64_t
reserved_22_63
:
42
;
uint64_t
rtt_nom
:
3
;
uint64_t
bitmask
:
8
;
uint64_t
or_dis
:
1
;
uint64_t
sset
:
1
;
uint64_t
lanemask
:
9
;
#else
uint64_t
lanemask
:
9
;
uint64_t
sset
:
1
;
uint64_t
or_dis
:
1
;
uint64_t
bitmask
:
8
;
uint64_t
rtt_nom
:
3
;
uint64_t
reserved_22_63
:
42
;
#endif
}
s
;
struct
cvmx_lmcx_wlevel_ctl_s
cn61xx
;
struct
cvmx_lmcx_wlevel_ctl_s
cn63xx
;
struct
cvmx_lmcx_wlevel_ctl_cn63xxp1
{
#ifdef __BIG_ENDIAN_BITFIELD
uint64_t
reserved_10_63
:
54
;
uint64_t
sset
:
1
;
uint64_t
lanemask
:
9
;
#else
uint64_t
lanemask
:
9
;
uint64_t
sset
:
1
;
uint64_t
reserved_10_63
:
54
;
#endif
}
cn63xxp1
;
struct
cvmx_lmcx_wlevel_ctl_s
cn66xx
;
struct
cvmx_lmcx_wlevel_ctl_s
cn68xx
;
struct
cvmx_lmcx_wlevel_ctl_s
cn68xxp1
;
struct
cvmx_lmcx_wlevel_ctl_s
cnf71xx
;
};
union
cvmx_lmcx_wlevel_dbg
{
uint64_t
u64
;
struct
cvmx_lmcx_wlevel_dbg_s
{
#ifdef __BIG_ENDIAN_BITFIELD
uint64_t
reserved_12_63
:
52
;
uint64_t
bitmask
:
8
;
uint64_t
byte
:
4
;
#else
uint64_t
byte
:
4
;
uint64_t
bitmask
:
8
;
uint64_t
reserved_12_63
:
52
;
#endif
}
s
;
struct
cvmx_lmcx_wlevel_dbg_s
cn61xx
;
struct
cvmx_lmcx_wlevel_dbg_s
cn63xx
;
struct
cvmx_lmcx_wlevel_dbg_s
cn63xxp1
;
struct
cvmx_lmcx_wlevel_dbg_s
cn66xx
;
struct
cvmx_lmcx_wlevel_dbg_s
cn68xx
;
struct
cvmx_lmcx_wlevel_dbg_s
cn68xxp1
;
struct
cvmx_lmcx_wlevel_dbg_s
cnf71xx
;
};
union
cvmx_lmcx_wlevel_rankx
{
uint64_t
u64
;
struct
cvmx_lmcx_wlevel_rankx_s
{
#ifdef __BIG_ENDIAN_BITFIELD
uint64_t
reserved_47_63
:
17
;
uint64_t
status
:
2
;
uint64_t
byte8
:
5
;
uint64_t
byte7
:
5
;
uint64_t
byte6
:
5
;
uint64_t
byte5
:
5
;
uint64_t
byte4
:
5
;
uint64_t
byte3
:
5
;
uint64_t
byte2
:
5
;
uint64_t
byte1
:
5
;
uint64_t
byte0
:
5
;
#else
uint64_t
byte0
:
5
;
uint64_t
byte1
:
5
;
uint64_t
byte2
:
5
;
uint64_t
byte3
:
5
;
uint64_t
byte4
:
5
;
uint64_t
byte5
:
5
;
uint64_t
byte6
:
5
;
uint64_t
byte7
:
5
;
uint64_t
byte8
:
5
;
uint64_t
status
:
2
;
uint64_t
reserved_47_63
:
17
;
#endif
}
s
;
struct
cvmx_lmcx_wlevel_rankx_s
cn61xx
;
struct
cvmx_lmcx_wlevel_rankx_s
cn63xx
;
struct
cvmx_lmcx_wlevel_rankx_s
cn63xxp1
;
struct
cvmx_lmcx_wlevel_rankx_s
cn66xx
;
struct
cvmx_lmcx_wlevel_rankx_s
cn68xx
;
struct
cvmx_lmcx_wlevel_rankx_s
cn68xxp1
;
struct
cvmx_lmcx_wlevel_rankx_s
cnf71xx
;
};
union
cvmx_lmcx_wodt_ctl0
{
uint64_t
u64
;
struct
cvmx_lmcx_wodt_ctl0_s
{
#ifdef __BIG_ENDIAN_BITFIELD
uint64_t
reserved_0_63
:
64
;
#else
uint64_t
reserved_0_63
:
64
;
#endif
}
s
;
struct
cvmx_lmcx_wodt_ctl0_cn30xx
{
#ifdef __BIG_ENDIAN_BITFIELD
uint64_t
reserved_32_63
:
32
;
uint64_t
wodt_d1_r1
:
8
;
uint64_t
wodt_d1_r0
:
8
;
uint64_t
wodt_d0_r1
:
8
;
uint64_t
wodt_d0_r0
:
8
;
#else
uint64_t
wodt_d0_r0
:
8
;
uint64_t
wodt_d0_r1
:
8
;
uint64_t
wodt_d1_r0
:
8
;
uint64_t
wodt_d1_r1
:
8
;
uint64_t
reserved_32_63
:
32
;
#endif
}
cn30xx
;
struct
cvmx_lmcx_wodt_ctl0_cn30xx
cn31xx
;
struct
cvmx_lmcx_wodt_ctl0_cn38xx
{
#ifdef __BIG_ENDIAN_BITFIELD
uint64_t
reserved_32_63
:
32
;
uint64_t
wodt_hi3
:
4
;
uint64_t
wodt_hi2
:
4
;
uint64_t
wodt_hi1
:
4
;
uint64_t
wodt_hi0
:
4
;
uint64_t
wodt_lo3
:
4
;
uint64_t
wodt_lo2
:
4
;
uint64_t
wodt_lo1
:
4
;
uint64_t
wodt_lo0
:
4
;
#else
uint64_t
wodt_lo0
:
4
;
uint64_t
wodt_lo1
:
4
;
uint64_t
wodt_lo2
:
4
;
uint64_t
wodt_lo3
:
4
;
uint64_t
wodt_hi0
:
4
;
uint64_t
wodt_hi1
:
4
;
uint64_t
wodt_hi2
:
4
;
uint64_t
wodt_hi3
:
4
;
uint64_t
reserved_32_63
:
32
;
#endif
}
cn38xx
;
struct
cvmx_lmcx_wodt_ctl0_cn38xx
cn38xxp2
;
struct
cvmx_lmcx_wodt_ctl0_cn38xx
cn50xx
;
struct
cvmx_lmcx_wodt_ctl0_cn30xx
cn52xx
;
struct
cvmx_lmcx_wodt_ctl0_cn30xx
cn52xxp1
;
struct
cvmx_lmcx_wodt_ctl0_cn30xx
cn56xx
;
struct
cvmx_lmcx_wodt_ctl0_cn30xx
cn56xxp1
;
struct
cvmx_lmcx_wodt_ctl0_cn38xx
cn58xx
;
struct
cvmx_lmcx_wodt_ctl0_cn38xx
cn58xxp1
;
};
union
cvmx_lmcx_wodt_ctl1
{
uint64_t
u64
;
struct
cvmx_lmcx_wodt_ctl1_s
{
#ifdef __BIG_ENDIAN_BITFIELD
uint64_t
reserved_32_63
:
32
;
uint64_t
wodt_d3_r1
:
8
;
uint64_t
wodt_d3_r0
:
8
;
uint64_t
wodt_d2_r1
:
8
;
uint64_t
wodt_d2_r0
:
8
;
#else
uint64_t
wodt_d2_r0
:
8
;
uint64_t
wodt_d2_r1
:
8
;
uint64_t
wodt_d3_r0
:
8
;
uint64_t
wodt_d3_r1
:
8
;
uint64_t
reserved_32_63
:
32
;
#endif
}
s
;
struct
cvmx_lmcx_wodt_ctl1_s
cn30xx
;
struct
cvmx_lmcx_wodt_ctl1_s
cn31xx
;
struct
cvmx_lmcx_wodt_ctl1_s
cn52xx
;
struct
cvmx_lmcx_wodt_ctl1_s
cn52xxp1
;
struct
cvmx_lmcx_wodt_ctl1_s
cn56xx
;
struct
cvmx_lmcx_wodt_ctl1_s
cn56xxp1
;
};
union
cvmx_lmcx_wodt_mask
{
uint64_t
u64
;
struct
cvmx_lmcx_wodt_mask_s
{
#ifdef __BIG_ENDIAN_BITFIELD
uint64_t
wodt_d3_r1
:
8
;
uint64_t
wodt_d3_r0
:
8
;
uint64_t
wodt_d2_r1
:
8
;
uint64_t
wodt_d2_r0
:
8
;
uint64_t
wodt_d1_r1
:
8
;
uint64_t
wodt_d1_r0
:
8
;
uint64_t
wodt_d0_r1
:
8
;
uint64_t
wodt_d0_r0
:
8
;
#else
uint64_t
wodt_d0_r0
:
8
;
uint64_t
wodt_d0_r1
:
8
;
uint64_t
wodt_d1_r0
:
8
;
uint64_t
wodt_d1_r1
:
8
;
uint64_t
wodt_d2_r0
:
8
;
uint64_t
wodt_d2_r1
:
8
;
uint64_t
wodt_d3_r0
:
8
;
uint64_t
wodt_d3_r1
:
8
;
#endif
}
s
;
struct
cvmx_lmcx_wodt_mask_s
cn61xx
;
struct
cvmx_lmcx_wodt_mask_s
cn63xx
;
struct
cvmx_lmcx_wodt_mask_s
cn63xxp1
;
struct
cvmx_lmcx_wodt_mask_s
cn66xx
;
struct
cvmx_lmcx_wodt_mask_s
cn68xx
;
struct
cvmx_lmcx_wodt_mask_s
cn68xxp1
;
struct
cvmx_lmcx_wodt_mask_s
cnf71xx
;
};
#endif
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment