Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
kernel_linux
提交
abe105a4
K
kernel_linux
项目概览
OpenHarmony
/
kernel_linux
上一次同步 4 年多
通知
15
Star
8
Fork
2
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
K
kernel_linux
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
abe105a4
编写于
11月 15, 2012
作者:
D
David Daney
提交者:
Ralf Baechle
12月 13, 2012
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
MIPS: OCTEON: Add definitions for OCTEON memory contoller registers.
Signed-off-by:
N
David Daney
<
david.daney@cavium.com
>
上级
6bbf6a6d
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
3457 addition
and
0 deletion
+3457
-0
arch/mips/include/asm/octeon/cvmx-lmcx-defs.h
arch/mips/include/asm/octeon/cvmx-lmcx-defs.h
+3457
-0
未找到文件。
arch/mips/include/asm/octeon/cvmx-lmcx-defs.h
0 → 100644
浏览文件 @
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
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录