162306a36Sopenharmony_ci/***********************license start*************** 262306a36Sopenharmony_ci * Author: Cavium Inc. 362306a36Sopenharmony_ci * 462306a36Sopenharmony_ci * Contact: support@cavium.com 562306a36Sopenharmony_ci * This file is part of the OCTEON SDK 662306a36Sopenharmony_ci * 762306a36Sopenharmony_ci * Copyright (c) 2003-2012 Cavium Inc. 862306a36Sopenharmony_ci * 962306a36Sopenharmony_ci * This file is free software; you can redistribute it and/or modify 1062306a36Sopenharmony_ci * it under the terms of the GNU General Public License, Version 2, as 1162306a36Sopenharmony_ci * published by the Free Software Foundation. 1262306a36Sopenharmony_ci * 1362306a36Sopenharmony_ci * This file is distributed in the hope that it will be useful, but 1462306a36Sopenharmony_ci * AS-IS and WITHOUT ANY WARRANTY; without even the implied warranty 1562306a36Sopenharmony_ci * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE, TITLE, or 1662306a36Sopenharmony_ci * NONINFRINGEMENT. See the GNU General Public License for more 1762306a36Sopenharmony_ci * details. 1862306a36Sopenharmony_ci * 1962306a36Sopenharmony_ci * You should have received a copy of the GNU General Public License 2062306a36Sopenharmony_ci * along with this file; if not, write to the Free Software 2162306a36Sopenharmony_ci * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 2262306a36Sopenharmony_ci * or visit http://www.gnu.org/licenses/. 2362306a36Sopenharmony_ci * 2462306a36Sopenharmony_ci * This file may also be available under a different license from Cavium. 2562306a36Sopenharmony_ci * Contact Cavium Inc. for more information 2662306a36Sopenharmony_ci ***********************license end**************************************/ 2762306a36Sopenharmony_ci 2862306a36Sopenharmony_ci#ifndef __CVMX_LMCX_DEFS_H__ 2962306a36Sopenharmony_ci#define __CVMX_LMCX_DEFS_H__ 3062306a36Sopenharmony_ci 3162306a36Sopenharmony_ci#define CVMX_LMCX_BIST_CTL(block_id) (CVMX_ADD_IO_SEG(0x00011800880000F0ull) + ((block_id) & 1) * 0x60000000ull) 3262306a36Sopenharmony_ci#define CVMX_LMCX_BIST_RESULT(block_id) (CVMX_ADD_IO_SEG(0x00011800880000F8ull) + ((block_id) & 1) * 0x60000000ull) 3362306a36Sopenharmony_ci#define CVMX_LMCX_CHAR_CTL(block_id) (CVMX_ADD_IO_SEG(0x0001180088000220ull) + ((block_id) & 3) * 0x1000000ull) 3462306a36Sopenharmony_ci#define CVMX_LMCX_CHAR_MASK0(block_id) (CVMX_ADD_IO_SEG(0x0001180088000228ull) + ((block_id) & 3) * 0x1000000ull) 3562306a36Sopenharmony_ci#define CVMX_LMCX_CHAR_MASK1(block_id) (CVMX_ADD_IO_SEG(0x0001180088000230ull) + ((block_id) & 3) * 0x1000000ull) 3662306a36Sopenharmony_ci#define CVMX_LMCX_CHAR_MASK2(block_id) (CVMX_ADD_IO_SEG(0x0001180088000238ull) + ((block_id) & 3) * 0x1000000ull) 3762306a36Sopenharmony_ci#define CVMX_LMCX_CHAR_MASK3(block_id) (CVMX_ADD_IO_SEG(0x0001180088000240ull) + ((block_id) & 3) * 0x1000000ull) 3862306a36Sopenharmony_ci#define CVMX_LMCX_CHAR_MASK4(block_id) (CVMX_ADD_IO_SEG(0x0001180088000318ull) + ((block_id) & 3) * 0x1000000ull) 3962306a36Sopenharmony_ci#define CVMX_LMCX_COMP_CTL(block_id) (CVMX_ADD_IO_SEG(0x0001180088000028ull) + ((block_id) & 1) * 0x60000000ull) 4062306a36Sopenharmony_ci#define CVMX_LMCX_COMP_CTL2(block_id) (CVMX_ADD_IO_SEG(0x00011800880001B8ull) + ((block_id) & 3) * 0x1000000ull) 4162306a36Sopenharmony_ci#define CVMX_LMCX_CONFIG(block_id) (CVMX_ADD_IO_SEG(0x0001180088000188ull) + ((block_id) & 3) * 0x1000000ull) 4262306a36Sopenharmony_ci#define CVMX_LMCX_CONTROL(block_id) (CVMX_ADD_IO_SEG(0x0001180088000190ull) + ((block_id) & 3) * 0x1000000ull) 4362306a36Sopenharmony_ci#define CVMX_LMCX_CTL(block_id) (CVMX_ADD_IO_SEG(0x0001180088000010ull) + ((block_id) & 1) * 0x60000000ull) 4462306a36Sopenharmony_ci#define CVMX_LMCX_CTL1(block_id) (CVMX_ADD_IO_SEG(0x0001180088000090ull) + ((block_id) & 1) * 0x60000000ull) 4562306a36Sopenharmony_ci#define CVMX_LMCX_DCLK_CNT(block_id) (CVMX_ADD_IO_SEG(0x00011800880001E0ull) + ((block_id) & 3) * 0x1000000ull) 4662306a36Sopenharmony_ci#define CVMX_LMCX_DCLK_CNT_HI(block_id) (CVMX_ADD_IO_SEG(0x0001180088000070ull) + ((block_id) & 1) * 0x60000000ull) 4762306a36Sopenharmony_ci#define CVMX_LMCX_DCLK_CNT_LO(block_id) (CVMX_ADD_IO_SEG(0x0001180088000068ull) + ((block_id) & 1) * 0x60000000ull) 4862306a36Sopenharmony_ci#define CVMX_LMCX_DCLK_CTL(block_id) (CVMX_ADD_IO_SEG(0x00011800880000B8ull) + ((block_id) & 1) * 0x60000000ull) 4962306a36Sopenharmony_ci#define CVMX_LMCX_DDR2_CTL(block_id) (CVMX_ADD_IO_SEG(0x0001180088000018ull) + ((block_id) & 1) * 0x60000000ull) 5062306a36Sopenharmony_ci#define CVMX_LMCX_DDR_PLL_CTL(block_id) (CVMX_ADD_IO_SEG(0x0001180088000258ull) + ((block_id) & 3) * 0x1000000ull) 5162306a36Sopenharmony_ci#define CVMX_LMCX_DELAY_CFG(block_id) (CVMX_ADD_IO_SEG(0x0001180088000088ull) + ((block_id) & 1) * 0x60000000ull) 5262306a36Sopenharmony_ci#define CVMX_LMCX_DIMMX_PARAMS(offset, block_id) (CVMX_ADD_IO_SEG(0x0001180088000270ull) + (((offset) & 1) + ((block_id) & 3) * 0x200000ull) * 8) 5362306a36Sopenharmony_ci#define CVMX_LMCX_DIMM_CTL(block_id) (CVMX_ADD_IO_SEG(0x0001180088000310ull) + ((block_id) & 3) * 0x1000000ull) 5462306a36Sopenharmony_ci#define CVMX_LMCX_DLL_CTL(block_id) (CVMX_ADD_IO_SEG(0x00011800880000C0ull) + ((block_id) & 1) * 0x60000000ull) 5562306a36Sopenharmony_ci#define CVMX_LMCX_DLL_CTL2(block_id) (CVMX_ADD_IO_SEG(0x00011800880001C8ull) + ((block_id) & 3) * 0x1000000ull) 5662306a36Sopenharmony_ci#define CVMX_LMCX_DLL_CTL3(block_id) (CVMX_ADD_IO_SEG(0x0001180088000218ull) + ((block_id) & 3) * 0x1000000ull) 5762306a36Sopenharmony_cistatic inline uint64_t CVMX_LMCX_DUAL_MEMCFG(unsigned long block_id) 5862306a36Sopenharmony_ci{ 5962306a36Sopenharmony_ci switch (cvmx_get_octeon_family()) { 6062306a36Sopenharmony_ci case OCTEON_CNF71XX & OCTEON_FAMILY_MASK: 6162306a36Sopenharmony_ci case OCTEON_CN50XX & OCTEON_FAMILY_MASK: 6262306a36Sopenharmony_ci case OCTEON_CN58XX & OCTEON_FAMILY_MASK: 6362306a36Sopenharmony_ci case OCTEON_CN66XX & OCTEON_FAMILY_MASK: 6462306a36Sopenharmony_ci case OCTEON_CN52XX & OCTEON_FAMILY_MASK: 6562306a36Sopenharmony_ci case OCTEON_CN61XX & OCTEON_FAMILY_MASK: 6662306a36Sopenharmony_ci case OCTEON_CN63XX & OCTEON_FAMILY_MASK: 6762306a36Sopenharmony_ci return CVMX_ADD_IO_SEG(0x0001180088000098ull) + (block_id) * 0x60000000ull; 6862306a36Sopenharmony_ci case OCTEON_CN56XX & OCTEON_FAMILY_MASK: 6962306a36Sopenharmony_ci return CVMX_ADD_IO_SEG(0x0001180088000098ull) + (block_id) * 0x60000000ull; 7062306a36Sopenharmony_ci case OCTEON_CN68XX & OCTEON_FAMILY_MASK: 7162306a36Sopenharmony_ci return CVMX_ADD_IO_SEG(0x0001180088000098ull) + (block_id) * 0x1000000ull; 7262306a36Sopenharmony_ci } 7362306a36Sopenharmony_ci return CVMX_ADD_IO_SEG(0x0001180088000098ull) + (block_id) * 0x60000000ull; 7462306a36Sopenharmony_ci} 7562306a36Sopenharmony_ci 7662306a36Sopenharmony_cistatic inline uint64_t CVMX_LMCX_ECC_SYND(unsigned long block_id) 7762306a36Sopenharmony_ci{ 7862306a36Sopenharmony_ci switch (cvmx_get_octeon_family()) { 7962306a36Sopenharmony_ci case OCTEON_CN30XX & OCTEON_FAMILY_MASK: 8062306a36Sopenharmony_ci case OCTEON_CN50XX & OCTEON_FAMILY_MASK: 8162306a36Sopenharmony_ci case OCTEON_CN38XX & OCTEON_FAMILY_MASK: 8262306a36Sopenharmony_ci case OCTEON_CN31XX & OCTEON_FAMILY_MASK: 8362306a36Sopenharmony_ci case OCTEON_CN58XX & OCTEON_FAMILY_MASK: 8462306a36Sopenharmony_ci case OCTEON_CN66XX & OCTEON_FAMILY_MASK: 8562306a36Sopenharmony_ci case OCTEON_CN52XX & OCTEON_FAMILY_MASK: 8662306a36Sopenharmony_ci case OCTEON_CN61XX & OCTEON_FAMILY_MASK: 8762306a36Sopenharmony_ci case OCTEON_CNF71XX & OCTEON_FAMILY_MASK: 8862306a36Sopenharmony_ci case OCTEON_CN63XX & OCTEON_FAMILY_MASK: 8962306a36Sopenharmony_ci return CVMX_ADD_IO_SEG(0x0001180088000038ull) + (block_id) * 0x60000000ull; 9062306a36Sopenharmony_ci case OCTEON_CN56XX & OCTEON_FAMILY_MASK: 9162306a36Sopenharmony_ci return CVMX_ADD_IO_SEG(0x0001180088000038ull) + (block_id) * 0x60000000ull; 9262306a36Sopenharmony_ci case OCTEON_CN68XX & OCTEON_FAMILY_MASK: 9362306a36Sopenharmony_ci return CVMX_ADD_IO_SEG(0x0001180088000038ull) + (block_id) * 0x1000000ull; 9462306a36Sopenharmony_ci } 9562306a36Sopenharmony_ci return CVMX_ADD_IO_SEG(0x0001180088000038ull) + (block_id) * 0x60000000ull; 9662306a36Sopenharmony_ci} 9762306a36Sopenharmony_ci 9862306a36Sopenharmony_cistatic inline uint64_t CVMX_LMCX_FADR(unsigned long block_id) 9962306a36Sopenharmony_ci{ 10062306a36Sopenharmony_ci switch (cvmx_get_octeon_family()) { 10162306a36Sopenharmony_ci case OCTEON_CN30XX & OCTEON_FAMILY_MASK: 10262306a36Sopenharmony_ci case OCTEON_CN50XX & OCTEON_FAMILY_MASK: 10362306a36Sopenharmony_ci case OCTEON_CN38XX & OCTEON_FAMILY_MASK: 10462306a36Sopenharmony_ci case OCTEON_CN31XX & OCTEON_FAMILY_MASK: 10562306a36Sopenharmony_ci case OCTEON_CN58XX & OCTEON_FAMILY_MASK: 10662306a36Sopenharmony_ci case OCTEON_CN66XX & OCTEON_FAMILY_MASK: 10762306a36Sopenharmony_ci case OCTEON_CN52XX & OCTEON_FAMILY_MASK: 10862306a36Sopenharmony_ci case OCTEON_CN61XX & OCTEON_FAMILY_MASK: 10962306a36Sopenharmony_ci case OCTEON_CNF71XX & OCTEON_FAMILY_MASK: 11062306a36Sopenharmony_ci case OCTEON_CN63XX & OCTEON_FAMILY_MASK: 11162306a36Sopenharmony_ci return CVMX_ADD_IO_SEG(0x0001180088000020ull) + (block_id) * 0x60000000ull; 11262306a36Sopenharmony_ci case OCTEON_CN56XX & OCTEON_FAMILY_MASK: 11362306a36Sopenharmony_ci return CVMX_ADD_IO_SEG(0x0001180088000020ull) + (block_id) * 0x60000000ull; 11462306a36Sopenharmony_ci case OCTEON_CN68XX & OCTEON_FAMILY_MASK: 11562306a36Sopenharmony_ci return CVMX_ADD_IO_SEG(0x0001180088000020ull) + (block_id) * 0x1000000ull; 11662306a36Sopenharmony_ci } 11762306a36Sopenharmony_ci return CVMX_ADD_IO_SEG(0x0001180088000020ull) + (block_id) * 0x60000000ull; 11862306a36Sopenharmony_ci} 11962306a36Sopenharmony_ci 12062306a36Sopenharmony_ci#define CVMX_LMCX_IFB_CNT(block_id) (CVMX_ADD_IO_SEG(0x00011800880001D0ull) + ((block_id) & 3) * 0x1000000ull) 12162306a36Sopenharmony_ci#define CVMX_LMCX_IFB_CNT_HI(block_id) (CVMX_ADD_IO_SEG(0x0001180088000050ull) + ((block_id) & 1) * 0x60000000ull) 12262306a36Sopenharmony_ci#define CVMX_LMCX_IFB_CNT_LO(block_id) (CVMX_ADD_IO_SEG(0x0001180088000048ull) + ((block_id) & 1) * 0x60000000ull) 12362306a36Sopenharmony_ci#define CVMX_LMCX_INT(block_id) (CVMX_ADD_IO_SEG(0x00011800880001F0ull) + ((block_id) & 3) * 0x1000000ull) 12462306a36Sopenharmony_ci#define CVMX_LMCX_INT_EN(block_id) (CVMX_ADD_IO_SEG(0x00011800880001E8ull) + ((block_id) & 3) * 0x1000000ull) 12562306a36Sopenharmony_ci#define CVMX_LMCX_MEM_CFG0(block_id) (CVMX_ADD_IO_SEG(0x0001180088000000ull) + ((block_id) & 1) * 0x60000000ull) 12662306a36Sopenharmony_ci#define CVMX_LMCX_MEM_CFG1(block_id) (CVMX_ADD_IO_SEG(0x0001180088000008ull) + ((block_id) & 1) * 0x60000000ull) 12762306a36Sopenharmony_ci#define CVMX_LMCX_MODEREG_PARAMS0(block_id) (CVMX_ADD_IO_SEG(0x00011800880001A8ull) + ((block_id) & 3) * 0x1000000ull) 12862306a36Sopenharmony_ci#define CVMX_LMCX_MODEREG_PARAMS1(block_id) (CVMX_ADD_IO_SEG(0x0001180088000260ull) + ((block_id) & 3) * 0x1000000ull) 12962306a36Sopenharmony_cistatic inline uint64_t CVMX_LMCX_NXM(unsigned long block_id) 13062306a36Sopenharmony_ci{ 13162306a36Sopenharmony_ci switch (cvmx_get_octeon_family()) { 13262306a36Sopenharmony_ci case OCTEON_CNF71XX & OCTEON_FAMILY_MASK: 13362306a36Sopenharmony_ci case OCTEON_CN61XX & OCTEON_FAMILY_MASK: 13462306a36Sopenharmony_ci case OCTEON_CN66XX & OCTEON_FAMILY_MASK: 13562306a36Sopenharmony_ci case OCTEON_CN52XX & OCTEON_FAMILY_MASK: 13662306a36Sopenharmony_ci case OCTEON_CN58XX & OCTEON_FAMILY_MASK: 13762306a36Sopenharmony_ci case OCTEON_CN63XX & OCTEON_FAMILY_MASK: 13862306a36Sopenharmony_ci return CVMX_ADD_IO_SEG(0x00011800880000C8ull) + (block_id) * 0x60000000ull; 13962306a36Sopenharmony_ci case OCTEON_CN56XX & OCTEON_FAMILY_MASK: 14062306a36Sopenharmony_ci return CVMX_ADD_IO_SEG(0x00011800880000C8ull) + (block_id) * 0x60000000ull; 14162306a36Sopenharmony_ci case OCTEON_CN68XX & OCTEON_FAMILY_MASK: 14262306a36Sopenharmony_ci return CVMX_ADD_IO_SEG(0x00011800880000C8ull) + (block_id) * 0x1000000ull; 14362306a36Sopenharmony_ci } 14462306a36Sopenharmony_ci return CVMX_ADD_IO_SEG(0x00011800880000C8ull) + (block_id) * 0x60000000ull; 14562306a36Sopenharmony_ci} 14662306a36Sopenharmony_ci 14762306a36Sopenharmony_ci#define CVMX_LMCX_OPS_CNT(block_id) (CVMX_ADD_IO_SEG(0x00011800880001D8ull) + ((block_id) & 3) * 0x1000000ull) 14862306a36Sopenharmony_ci#define CVMX_LMCX_OPS_CNT_HI(block_id) (CVMX_ADD_IO_SEG(0x0001180088000060ull) + ((block_id) & 1) * 0x60000000ull) 14962306a36Sopenharmony_ci#define CVMX_LMCX_OPS_CNT_LO(block_id) (CVMX_ADD_IO_SEG(0x0001180088000058ull) + ((block_id) & 1) * 0x60000000ull) 15062306a36Sopenharmony_ci#define CVMX_LMCX_PHY_CTL(block_id) (CVMX_ADD_IO_SEG(0x0001180088000210ull) + ((block_id) & 3) * 0x1000000ull) 15162306a36Sopenharmony_ci#define CVMX_LMCX_PLL_BWCTL(block_id) (CVMX_ADD_IO_SEG(0x0001180088000040ull)) 15262306a36Sopenharmony_ci#define CVMX_LMCX_PLL_CTL(block_id) (CVMX_ADD_IO_SEG(0x00011800880000A8ull) + ((block_id) & 1) * 0x60000000ull) 15362306a36Sopenharmony_ci#define CVMX_LMCX_PLL_STATUS(block_id) (CVMX_ADD_IO_SEG(0x00011800880000B0ull) + ((block_id) & 1) * 0x60000000ull) 15462306a36Sopenharmony_ci#define CVMX_LMCX_READ_LEVEL_CTL(block_id) (CVMX_ADD_IO_SEG(0x0001180088000140ull) + ((block_id) & 1) * 0x60000000ull) 15562306a36Sopenharmony_ci#define CVMX_LMCX_READ_LEVEL_DBG(block_id) (CVMX_ADD_IO_SEG(0x0001180088000148ull) + ((block_id) & 1) * 0x60000000ull) 15662306a36Sopenharmony_ci#define CVMX_LMCX_READ_LEVEL_RANKX(offset, block_id) (CVMX_ADD_IO_SEG(0x0001180088000100ull) + (((offset) & 3) + ((block_id) & 1) * 0xC000000ull) * 8) 15762306a36Sopenharmony_ci#define CVMX_LMCX_RESET_CTL(block_id) (CVMX_ADD_IO_SEG(0x0001180088000180ull) + ((block_id) & 3) * 0x1000000ull) 15862306a36Sopenharmony_ci#define CVMX_LMCX_RLEVEL_CTL(block_id) (CVMX_ADD_IO_SEG(0x00011800880002A0ull) + ((block_id) & 3) * 0x1000000ull) 15962306a36Sopenharmony_ci#define CVMX_LMCX_RLEVEL_DBG(block_id) (CVMX_ADD_IO_SEG(0x00011800880002A8ull) + ((block_id) & 3) * 0x1000000ull) 16062306a36Sopenharmony_ci#define CVMX_LMCX_RLEVEL_RANKX(offset, block_id) (CVMX_ADD_IO_SEG(0x0001180088000280ull) + (((offset) & 3) + ((block_id) & 3) * 0x200000ull) * 8) 16162306a36Sopenharmony_ci#define CVMX_LMCX_RODT_COMP_CTL(block_id) (CVMX_ADD_IO_SEG(0x00011800880000A0ull) + ((block_id) & 1) * 0x60000000ull) 16262306a36Sopenharmony_ci#define CVMX_LMCX_RODT_CTL(block_id) (CVMX_ADD_IO_SEG(0x0001180088000078ull) + ((block_id) & 1) * 0x60000000ull) 16362306a36Sopenharmony_ci#define CVMX_LMCX_RODT_MASK(block_id) (CVMX_ADD_IO_SEG(0x0001180088000268ull) + ((block_id) & 3) * 0x1000000ull) 16462306a36Sopenharmony_ci#define CVMX_LMCX_SCRAMBLED_FADR(block_id) (CVMX_ADD_IO_SEG(0x0001180088000330ull)) 16562306a36Sopenharmony_ci#define CVMX_LMCX_SCRAMBLE_CFG0(block_id) (CVMX_ADD_IO_SEG(0x0001180088000320ull)) 16662306a36Sopenharmony_ci#define CVMX_LMCX_SCRAMBLE_CFG1(block_id) (CVMX_ADD_IO_SEG(0x0001180088000328ull)) 16762306a36Sopenharmony_ci#define CVMX_LMCX_SLOT_CTL0(block_id) (CVMX_ADD_IO_SEG(0x00011800880001F8ull) + ((block_id) & 3) * 0x1000000ull) 16862306a36Sopenharmony_ci#define CVMX_LMCX_SLOT_CTL1(block_id) (CVMX_ADD_IO_SEG(0x0001180088000200ull) + ((block_id) & 3) * 0x1000000ull) 16962306a36Sopenharmony_ci#define CVMX_LMCX_SLOT_CTL2(block_id) (CVMX_ADD_IO_SEG(0x0001180088000208ull) + ((block_id) & 3) * 0x1000000ull) 17062306a36Sopenharmony_ci#define CVMX_LMCX_TIMING_PARAMS0(block_id) (CVMX_ADD_IO_SEG(0x0001180088000198ull) + ((block_id) & 3) * 0x1000000ull) 17162306a36Sopenharmony_ci#define CVMX_LMCX_TIMING_PARAMS1(block_id) (CVMX_ADD_IO_SEG(0x00011800880001A0ull) + ((block_id) & 3) * 0x1000000ull) 17262306a36Sopenharmony_ci#define CVMX_LMCX_TRO_CTL(block_id) (CVMX_ADD_IO_SEG(0x0001180088000248ull) + ((block_id) & 3) * 0x1000000ull) 17362306a36Sopenharmony_ci#define CVMX_LMCX_TRO_STAT(block_id) (CVMX_ADD_IO_SEG(0x0001180088000250ull) + ((block_id) & 3) * 0x1000000ull) 17462306a36Sopenharmony_ci#define CVMX_LMCX_WLEVEL_CTL(block_id) (CVMX_ADD_IO_SEG(0x0001180088000300ull) + ((block_id) & 3) * 0x1000000ull) 17562306a36Sopenharmony_ci#define CVMX_LMCX_WLEVEL_DBG(block_id) (CVMX_ADD_IO_SEG(0x0001180088000308ull) + ((block_id) & 3) * 0x1000000ull) 17662306a36Sopenharmony_ci#define CVMX_LMCX_WLEVEL_RANKX(offset, block_id) (CVMX_ADD_IO_SEG(0x00011800880002B0ull) + (((offset) & 3) + ((block_id) & 3) * 0x200000ull) * 8) 17762306a36Sopenharmony_ci#define CVMX_LMCX_WODT_CTL0(block_id) (CVMX_ADD_IO_SEG(0x0001180088000030ull) + ((block_id) & 1) * 0x60000000ull) 17862306a36Sopenharmony_ci#define CVMX_LMCX_WODT_CTL1(block_id) (CVMX_ADD_IO_SEG(0x0001180088000080ull) + ((block_id) & 1) * 0x60000000ull) 17962306a36Sopenharmony_ci#define CVMX_LMCX_WODT_MASK(block_id) (CVMX_ADD_IO_SEG(0x00011800880001B0ull) + ((block_id) & 3) * 0x1000000ull) 18062306a36Sopenharmony_ci 18162306a36Sopenharmony_ciunion cvmx_lmcx_bist_ctl { 18262306a36Sopenharmony_ci uint64_t u64; 18362306a36Sopenharmony_ci struct cvmx_lmcx_bist_ctl_s { 18462306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 18562306a36Sopenharmony_ci uint64_t reserved_1_63:63; 18662306a36Sopenharmony_ci uint64_t start:1; 18762306a36Sopenharmony_ci#else 18862306a36Sopenharmony_ci uint64_t start:1; 18962306a36Sopenharmony_ci uint64_t reserved_1_63:63; 19062306a36Sopenharmony_ci#endif 19162306a36Sopenharmony_ci } s; 19262306a36Sopenharmony_ci}; 19362306a36Sopenharmony_ci 19462306a36Sopenharmony_ciunion cvmx_lmcx_bist_result { 19562306a36Sopenharmony_ci uint64_t u64; 19662306a36Sopenharmony_ci struct cvmx_lmcx_bist_result_s { 19762306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 19862306a36Sopenharmony_ci uint64_t reserved_11_63:53; 19962306a36Sopenharmony_ci uint64_t csrd2e:1; 20062306a36Sopenharmony_ci uint64_t csre2d:1; 20162306a36Sopenharmony_ci uint64_t mwf:1; 20262306a36Sopenharmony_ci uint64_t mwd:3; 20362306a36Sopenharmony_ci uint64_t mwc:1; 20462306a36Sopenharmony_ci uint64_t mrf:1; 20562306a36Sopenharmony_ci uint64_t mrd:3; 20662306a36Sopenharmony_ci#else 20762306a36Sopenharmony_ci uint64_t mrd:3; 20862306a36Sopenharmony_ci uint64_t mrf:1; 20962306a36Sopenharmony_ci uint64_t mwc:1; 21062306a36Sopenharmony_ci uint64_t mwd:3; 21162306a36Sopenharmony_ci uint64_t mwf:1; 21262306a36Sopenharmony_ci uint64_t csre2d:1; 21362306a36Sopenharmony_ci uint64_t csrd2e:1; 21462306a36Sopenharmony_ci uint64_t reserved_11_63:53; 21562306a36Sopenharmony_ci#endif 21662306a36Sopenharmony_ci } s; 21762306a36Sopenharmony_ci struct cvmx_lmcx_bist_result_cn50xx { 21862306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 21962306a36Sopenharmony_ci uint64_t reserved_9_63:55; 22062306a36Sopenharmony_ci uint64_t mwf:1; 22162306a36Sopenharmony_ci uint64_t mwd:3; 22262306a36Sopenharmony_ci uint64_t mwc:1; 22362306a36Sopenharmony_ci uint64_t mrf:1; 22462306a36Sopenharmony_ci uint64_t mrd:3; 22562306a36Sopenharmony_ci#else 22662306a36Sopenharmony_ci uint64_t mrd:3; 22762306a36Sopenharmony_ci uint64_t mrf:1; 22862306a36Sopenharmony_ci uint64_t mwc:1; 22962306a36Sopenharmony_ci uint64_t mwd:3; 23062306a36Sopenharmony_ci uint64_t mwf:1; 23162306a36Sopenharmony_ci uint64_t reserved_9_63:55; 23262306a36Sopenharmony_ci#endif 23362306a36Sopenharmony_ci } cn50xx; 23462306a36Sopenharmony_ci}; 23562306a36Sopenharmony_ci 23662306a36Sopenharmony_ciunion cvmx_lmcx_char_ctl { 23762306a36Sopenharmony_ci uint64_t u64; 23862306a36Sopenharmony_ci struct cvmx_lmcx_char_ctl_s { 23962306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 24062306a36Sopenharmony_ci uint64_t reserved_44_63:20; 24162306a36Sopenharmony_ci uint64_t dr:1; 24262306a36Sopenharmony_ci uint64_t skew_on:1; 24362306a36Sopenharmony_ci uint64_t en:1; 24462306a36Sopenharmony_ci uint64_t sel:1; 24562306a36Sopenharmony_ci uint64_t prog:8; 24662306a36Sopenharmony_ci uint64_t prbs:32; 24762306a36Sopenharmony_ci#else 24862306a36Sopenharmony_ci uint64_t prbs:32; 24962306a36Sopenharmony_ci uint64_t prog:8; 25062306a36Sopenharmony_ci uint64_t sel:1; 25162306a36Sopenharmony_ci uint64_t en:1; 25262306a36Sopenharmony_ci uint64_t skew_on:1; 25362306a36Sopenharmony_ci uint64_t dr:1; 25462306a36Sopenharmony_ci uint64_t reserved_44_63:20; 25562306a36Sopenharmony_ci#endif 25662306a36Sopenharmony_ci } s; 25762306a36Sopenharmony_ci struct cvmx_lmcx_char_ctl_cn63xx { 25862306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 25962306a36Sopenharmony_ci uint64_t reserved_42_63:22; 26062306a36Sopenharmony_ci uint64_t en:1; 26162306a36Sopenharmony_ci uint64_t sel:1; 26262306a36Sopenharmony_ci uint64_t prog:8; 26362306a36Sopenharmony_ci uint64_t prbs:32; 26462306a36Sopenharmony_ci#else 26562306a36Sopenharmony_ci uint64_t prbs:32; 26662306a36Sopenharmony_ci uint64_t prog:8; 26762306a36Sopenharmony_ci uint64_t sel:1; 26862306a36Sopenharmony_ci uint64_t en:1; 26962306a36Sopenharmony_ci uint64_t reserved_42_63:22; 27062306a36Sopenharmony_ci#endif 27162306a36Sopenharmony_ci } cn63xx; 27262306a36Sopenharmony_ci}; 27362306a36Sopenharmony_ci 27462306a36Sopenharmony_ciunion cvmx_lmcx_char_mask0 { 27562306a36Sopenharmony_ci uint64_t u64; 27662306a36Sopenharmony_ci struct cvmx_lmcx_char_mask0_s { 27762306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 27862306a36Sopenharmony_ci uint64_t mask:64; 27962306a36Sopenharmony_ci#else 28062306a36Sopenharmony_ci uint64_t mask:64; 28162306a36Sopenharmony_ci#endif 28262306a36Sopenharmony_ci } s; 28362306a36Sopenharmony_ci}; 28462306a36Sopenharmony_ci 28562306a36Sopenharmony_ciunion cvmx_lmcx_char_mask1 { 28662306a36Sopenharmony_ci uint64_t u64; 28762306a36Sopenharmony_ci struct cvmx_lmcx_char_mask1_s { 28862306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 28962306a36Sopenharmony_ci uint64_t reserved_8_63:56; 29062306a36Sopenharmony_ci uint64_t mask:8; 29162306a36Sopenharmony_ci#else 29262306a36Sopenharmony_ci uint64_t mask:8; 29362306a36Sopenharmony_ci uint64_t reserved_8_63:56; 29462306a36Sopenharmony_ci#endif 29562306a36Sopenharmony_ci } s; 29662306a36Sopenharmony_ci}; 29762306a36Sopenharmony_ci 29862306a36Sopenharmony_ciunion cvmx_lmcx_char_mask2 { 29962306a36Sopenharmony_ci uint64_t u64; 30062306a36Sopenharmony_ci struct cvmx_lmcx_char_mask2_s { 30162306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 30262306a36Sopenharmony_ci uint64_t mask:64; 30362306a36Sopenharmony_ci#else 30462306a36Sopenharmony_ci uint64_t mask:64; 30562306a36Sopenharmony_ci#endif 30662306a36Sopenharmony_ci } s; 30762306a36Sopenharmony_ci}; 30862306a36Sopenharmony_ci 30962306a36Sopenharmony_ciunion cvmx_lmcx_char_mask3 { 31062306a36Sopenharmony_ci uint64_t u64; 31162306a36Sopenharmony_ci struct cvmx_lmcx_char_mask3_s { 31262306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 31362306a36Sopenharmony_ci uint64_t reserved_8_63:56; 31462306a36Sopenharmony_ci uint64_t mask:8; 31562306a36Sopenharmony_ci#else 31662306a36Sopenharmony_ci uint64_t mask:8; 31762306a36Sopenharmony_ci uint64_t reserved_8_63:56; 31862306a36Sopenharmony_ci#endif 31962306a36Sopenharmony_ci } s; 32062306a36Sopenharmony_ci}; 32162306a36Sopenharmony_ci 32262306a36Sopenharmony_ciunion cvmx_lmcx_char_mask4 { 32362306a36Sopenharmony_ci uint64_t u64; 32462306a36Sopenharmony_ci struct cvmx_lmcx_char_mask4_s { 32562306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 32662306a36Sopenharmony_ci uint64_t reserved_33_63:31; 32762306a36Sopenharmony_ci uint64_t reset_n_mask:1; 32862306a36Sopenharmony_ci uint64_t a_mask:16; 32962306a36Sopenharmony_ci uint64_t ba_mask:3; 33062306a36Sopenharmony_ci uint64_t we_n_mask:1; 33162306a36Sopenharmony_ci uint64_t cas_n_mask:1; 33262306a36Sopenharmony_ci uint64_t ras_n_mask:1; 33362306a36Sopenharmony_ci uint64_t odt1_mask:2; 33462306a36Sopenharmony_ci uint64_t odt0_mask:2; 33562306a36Sopenharmony_ci uint64_t cs1_n_mask:2; 33662306a36Sopenharmony_ci uint64_t cs0_n_mask:2; 33762306a36Sopenharmony_ci uint64_t cke_mask:2; 33862306a36Sopenharmony_ci#else 33962306a36Sopenharmony_ci uint64_t cke_mask:2; 34062306a36Sopenharmony_ci uint64_t cs0_n_mask:2; 34162306a36Sopenharmony_ci uint64_t cs1_n_mask:2; 34262306a36Sopenharmony_ci uint64_t odt0_mask:2; 34362306a36Sopenharmony_ci uint64_t odt1_mask:2; 34462306a36Sopenharmony_ci uint64_t ras_n_mask:1; 34562306a36Sopenharmony_ci uint64_t cas_n_mask:1; 34662306a36Sopenharmony_ci uint64_t we_n_mask:1; 34762306a36Sopenharmony_ci uint64_t ba_mask:3; 34862306a36Sopenharmony_ci uint64_t a_mask:16; 34962306a36Sopenharmony_ci uint64_t reset_n_mask:1; 35062306a36Sopenharmony_ci uint64_t reserved_33_63:31; 35162306a36Sopenharmony_ci#endif 35262306a36Sopenharmony_ci } s; 35362306a36Sopenharmony_ci}; 35462306a36Sopenharmony_ci 35562306a36Sopenharmony_ciunion cvmx_lmcx_comp_ctl { 35662306a36Sopenharmony_ci uint64_t u64; 35762306a36Sopenharmony_ci struct cvmx_lmcx_comp_ctl_s { 35862306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 35962306a36Sopenharmony_ci uint64_t reserved_32_63:32; 36062306a36Sopenharmony_ci uint64_t nctl_csr:4; 36162306a36Sopenharmony_ci uint64_t nctl_clk:4; 36262306a36Sopenharmony_ci uint64_t nctl_cmd:4; 36362306a36Sopenharmony_ci uint64_t nctl_dat:4; 36462306a36Sopenharmony_ci uint64_t pctl_csr:4; 36562306a36Sopenharmony_ci uint64_t pctl_clk:4; 36662306a36Sopenharmony_ci uint64_t reserved_0_7:8; 36762306a36Sopenharmony_ci#else 36862306a36Sopenharmony_ci uint64_t reserved_0_7:8; 36962306a36Sopenharmony_ci uint64_t pctl_clk:4; 37062306a36Sopenharmony_ci uint64_t pctl_csr:4; 37162306a36Sopenharmony_ci uint64_t nctl_dat:4; 37262306a36Sopenharmony_ci uint64_t nctl_cmd:4; 37362306a36Sopenharmony_ci uint64_t nctl_clk:4; 37462306a36Sopenharmony_ci uint64_t nctl_csr:4; 37562306a36Sopenharmony_ci uint64_t reserved_32_63:32; 37662306a36Sopenharmony_ci#endif 37762306a36Sopenharmony_ci } s; 37862306a36Sopenharmony_ci struct cvmx_lmcx_comp_ctl_cn30xx { 37962306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 38062306a36Sopenharmony_ci uint64_t reserved_32_63:32; 38162306a36Sopenharmony_ci uint64_t nctl_csr:4; 38262306a36Sopenharmony_ci uint64_t nctl_clk:4; 38362306a36Sopenharmony_ci uint64_t nctl_cmd:4; 38462306a36Sopenharmony_ci uint64_t nctl_dat:4; 38562306a36Sopenharmony_ci uint64_t pctl_csr:4; 38662306a36Sopenharmony_ci uint64_t pctl_clk:4; 38762306a36Sopenharmony_ci uint64_t pctl_cmd:4; 38862306a36Sopenharmony_ci uint64_t pctl_dat:4; 38962306a36Sopenharmony_ci#else 39062306a36Sopenharmony_ci uint64_t pctl_dat:4; 39162306a36Sopenharmony_ci uint64_t pctl_cmd:4; 39262306a36Sopenharmony_ci uint64_t pctl_clk:4; 39362306a36Sopenharmony_ci uint64_t pctl_csr:4; 39462306a36Sopenharmony_ci uint64_t nctl_dat:4; 39562306a36Sopenharmony_ci uint64_t nctl_cmd:4; 39662306a36Sopenharmony_ci uint64_t nctl_clk:4; 39762306a36Sopenharmony_ci uint64_t nctl_csr:4; 39862306a36Sopenharmony_ci uint64_t reserved_32_63:32; 39962306a36Sopenharmony_ci#endif 40062306a36Sopenharmony_ci } cn30xx; 40162306a36Sopenharmony_ci struct cvmx_lmcx_comp_ctl_cn50xx { 40262306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 40362306a36Sopenharmony_ci uint64_t reserved_32_63:32; 40462306a36Sopenharmony_ci uint64_t nctl_csr:4; 40562306a36Sopenharmony_ci uint64_t reserved_20_27:8; 40662306a36Sopenharmony_ci uint64_t nctl_dat:4; 40762306a36Sopenharmony_ci uint64_t pctl_csr:4; 40862306a36Sopenharmony_ci uint64_t reserved_5_11:7; 40962306a36Sopenharmony_ci uint64_t pctl_dat:5; 41062306a36Sopenharmony_ci#else 41162306a36Sopenharmony_ci uint64_t pctl_dat:5; 41262306a36Sopenharmony_ci uint64_t reserved_5_11:7; 41362306a36Sopenharmony_ci uint64_t pctl_csr:4; 41462306a36Sopenharmony_ci uint64_t nctl_dat:4; 41562306a36Sopenharmony_ci uint64_t reserved_20_27:8; 41662306a36Sopenharmony_ci uint64_t nctl_csr:4; 41762306a36Sopenharmony_ci uint64_t reserved_32_63:32; 41862306a36Sopenharmony_ci#endif 41962306a36Sopenharmony_ci } cn50xx; 42062306a36Sopenharmony_ci struct cvmx_lmcx_comp_ctl_cn58xxp1 { 42162306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 42262306a36Sopenharmony_ci uint64_t reserved_32_63:32; 42362306a36Sopenharmony_ci uint64_t nctl_csr:4; 42462306a36Sopenharmony_ci uint64_t reserved_20_27:8; 42562306a36Sopenharmony_ci uint64_t nctl_dat:4; 42662306a36Sopenharmony_ci uint64_t pctl_csr:4; 42762306a36Sopenharmony_ci uint64_t reserved_4_11:8; 42862306a36Sopenharmony_ci uint64_t pctl_dat:4; 42962306a36Sopenharmony_ci#else 43062306a36Sopenharmony_ci uint64_t pctl_dat:4; 43162306a36Sopenharmony_ci uint64_t reserved_4_11:8; 43262306a36Sopenharmony_ci uint64_t pctl_csr:4; 43362306a36Sopenharmony_ci uint64_t nctl_dat:4; 43462306a36Sopenharmony_ci uint64_t reserved_20_27:8; 43562306a36Sopenharmony_ci uint64_t nctl_csr:4; 43662306a36Sopenharmony_ci uint64_t reserved_32_63:32; 43762306a36Sopenharmony_ci#endif 43862306a36Sopenharmony_ci } cn58xxp1; 43962306a36Sopenharmony_ci}; 44062306a36Sopenharmony_ci 44162306a36Sopenharmony_ciunion cvmx_lmcx_comp_ctl2 { 44262306a36Sopenharmony_ci uint64_t u64; 44362306a36Sopenharmony_ci struct cvmx_lmcx_comp_ctl2_s { 44462306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 44562306a36Sopenharmony_ci uint64_t reserved_34_63:30; 44662306a36Sopenharmony_ci uint64_t ddr__ptune:4; 44762306a36Sopenharmony_ci uint64_t ddr__ntune:4; 44862306a36Sopenharmony_ci uint64_t m180:1; 44962306a36Sopenharmony_ci uint64_t byp:1; 45062306a36Sopenharmony_ci uint64_t ptune:4; 45162306a36Sopenharmony_ci uint64_t ntune:4; 45262306a36Sopenharmony_ci uint64_t rodt_ctl:4; 45362306a36Sopenharmony_ci uint64_t cmd_ctl:4; 45462306a36Sopenharmony_ci uint64_t ck_ctl:4; 45562306a36Sopenharmony_ci uint64_t dqx_ctl:4; 45662306a36Sopenharmony_ci#else 45762306a36Sopenharmony_ci uint64_t dqx_ctl:4; 45862306a36Sopenharmony_ci uint64_t ck_ctl:4; 45962306a36Sopenharmony_ci uint64_t cmd_ctl:4; 46062306a36Sopenharmony_ci uint64_t rodt_ctl:4; 46162306a36Sopenharmony_ci uint64_t ntune:4; 46262306a36Sopenharmony_ci uint64_t ptune:4; 46362306a36Sopenharmony_ci uint64_t byp:1; 46462306a36Sopenharmony_ci uint64_t m180:1; 46562306a36Sopenharmony_ci uint64_t ddr__ntune:4; 46662306a36Sopenharmony_ci uint64_t ddr__ptune:4; 46762306a36Sopenharmony_ci uint64_t reserved_34_63:30; 46862306a36Sopenharmony_ci#endif 46962306a36Sopenharmony_ci } s; 47062306a36Sopenharmony_ci}; 47162306a36Sopenharmony_ci 47262306a36Sopenharmony_ciunion cvmx_lmcx_config { 47362306a36Sopenharmony_ci uint64_t u64; 47462306a36Sopenharmony_ci struct cvmx_lmcx_config_s { 47562306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 47662306a36Sopenharmony_ci uint64_t reserved_61_63:3; 47762306a36Sopenharmony_ci uint64_t mode32b:1; 47862306a36Sopenharmony_ci uint64_t scrz:1; 47962306a36Sopenharmony_ci uint64_t early_unload_d1_r1:1; 48062306a36Sopenharmony_ci uint64_t early_unload_d1_r0:1; 48162306a36Sopenharmony_ci uint64_t early_unload_d0_r1:1; 48262306a36Sopenharmony_ci uint64_t early_unload_d0_r0:1; 48362306a36Sopenharmony_ci uint64_t init_status:4; 48462306a36Sopenharmony_ci uint64_t mirrmask:4; 48562306a36Sopenharmony_ci uint64_t rankmask:4; 48662306a36Sopenharmony_ci uint64_t rank_ena:1; 48762306a36Sopenharmony_ci uint64_t sref_with_dll:1; 48862306a36Sopenharmony_ci uint64_t early_dqx:1; 48962306a36Sopenharmony_ci uint64_t sequence:3; 49062306a36Sopenharmony_ci uint64_t ref_zqcs_int:19; 49162306a36Sopenharmony_ci uint64_t reset:1; 49262306a36Sopenharmony_ci uint64_t ecc_adr:1; 49362306a36Sopenharmony_ci uint64_t forcewrite:4; 49462306a36Sopenharmony_ci uint64_t idlepower:3; 49562306a36Sopenharmony_ci uint64_t pbank_lsb:4; 49662306a36Sopenharmony_ci uint64_t row_lsb:3; 49762306a36Sopenharmony_ci uint64_t ecc_ena:1; 49862306a36Sopenharmony_ci uint64_t init_start:1; 49962306a36Sopenharmony_ci#else 50062306a36Sopenharmony_ci uint64_t init_start:1; 50162306a36Sopenharmony_ci uint64_t ecc_ena:1; 50262306a36Sopenharmony_ci uint64_t row_lsb:3; 50362306a36Sopenharmony_ci uint64_t pbank_lsb:4; 50462306a36Sopenharmony_ci uint64_t idlepower:3; 50562306a36Sopenharmony_ci uint64_t forcewrite:4; 50662306a36Sopenharmony_ci uint64_t ecc_adr:1; 50762306a36Sopenharmony_ci uint64_t reset:1; 50862306a36Sopenharmony_ci uint64_t ref_zqcs_int:19; 50962306a36Sopenharmony_ci uint64_t sequence:3; 51062306a36Sopenharmony_ci uint64_t early_dqx:1; 51162306a36Sopenharmony_ci uint64_t sref_with_dll:1; 51262306a36Sopenharmony_ci uint64_t rank_ena:1; 51362306a36Sopenharmony_ci uint64_t rankmask:4; 51462306a36Sopenharmony_ci uint64_t mirrmask:4; 51562306a36Sopenharmony_ci uint64_t init_status:4; 51662306a36Sopenharmony_ci uint64_t early_unload_d0_r0:1; 51762306a36Sopenharmony_ci uint64_t early_unload_d0_r1:1; 51862306a36Sopenharmony_ci uint64_t early_unload_d1_r0:1; 51962306a36Sopenharmony_ci uint64_t early_unload_d1_r1:1; 52062306a36Sopenharmony_ci uint64_t scrz:1; 52162306a36Sopenharmony_ci uint64_t mode32b:1; 52262306a36Sopenharmony_ci uint64_t reserved_61_63:3; 52362306a36Sopenharmony_ci#endif 52462306a36Sopenharmony_ci } s; 52562306a36Sopenharmony_ci struct cvmx_lmcx_config_cn63xx { 52662306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 52762306a36Sopenharmony_ci uint64_t reserved_59_63:5; 52862306a36Sopenharmony_ci uint64_t early_unload_d1_r1:1; 52962306a36Sopenharmony_ci uint64_t early_unload_d1_r0:1; 53062306a36Sopenharmony_ci uint64_t early_unload_d0_r1:1; 53162306a36Sopenharmony_ci uint64_t early_unload_d0_r0:1; 53262306a36Sopenharmony_ci uint64_t init_status:4; 53362306a36Sopenharmony_ci uint64_t mirrmask:4; 53462306a36Sopenharmony_ci uint64_t rankmask:4; 53562306a36Sopenharmony_ci uint64_t rank_ena:1; 53662306a36Sopenharmony_ci uint64_t sref_with_dll:1; 53762306a36Sopenharmony_ci uint64_t early_dqx:1; 53862306a36Sopenharmony_ci uint64_t sequence:3; 53962306a36Sopenharmony_ci uint64_t ref_zqcs_int:19; 54062306a36Sopenharmony_ci uint64_t reset:1; 54162306a36Sopenharmony_ci uint64_t ecc_adr:1; 54262306a36Sopenharmony_ci uint64_t forcewrite:4; 54362306a36Sopenharmony_ci uint64_t idlepower:3; 54462306a36Sopenharmony_ci uint64_t pbank_lsb:4; 54562306a36Sopenharmony_ci uint64_t row_lsb:3; 54662306a36Sopenharmony_ci uint64_t ecc_ena:1; 54762306a36Sopenharmony_ci uint64_t init_start:1; 54862306a36Sopenharmony_ci#else 54962306a36Sopenharmony_ci uint64_t init_start:1; 55062306a36Sopenharmony_ci uint64_t ecc_ena:1; 55162306a36Sopenharmony_ci uint64_t row_lsb:3; 55262306a36Sopenharmony_ci uint64_t pbank_lsb:4; 55362306a36Sopenharmony_ci uint64_t idlepower:3; 55462306a36Sopenharmony_ci uint64_t forcewrite:4; 55562306a36Sopenharmony_ci uint64_t ecc_adr:1; 55662306a36Sopenharmony_ci uint64_t reset:1; 55762306a36Sopenharmony_ci uint64_t ref_zqcs_int:19; 55862306a36Sopenharmony_ci uint64_t sequence:3; 55962306a36Sopenharmony_ci uint64_t early_dqx:1; 56062306a36Sopenharmony_ci uint64_t sref_with_dll:1; 56162306a36Sopenharmony_ci uint64_t rank_ena:1; 56262306a36Sopenharmony_ci uint64_t rankmask:4; 56362306a36Sopenharmony_ci uint64_t mirrmask:4; 56462306a36Sopenharmony_ci uint64_t init_status:4; 56562306a36Sopenharmony_ci uint64_t early_unload_d0_r0:1; 56662306a36Sopenharmony_ci uint64_t early_unload_d0_r1:1; 56762306a36Sopenharmony_ci uint64_t early_unload_d1_r0:1; 56862306a36Sopenharmony_ci uint64_t early_unload_d1_r1:1; 56962306a36Sopenharmony_ci uint64_t reserved_59_63:5; 57062306a36Sopenharmony_ci#endif 57162306a36Sopenharmony_ci } cn63xx; 57262306a36Sopenharmony_ci struct cvmx_lmcx_config_cn63xxp1 { 57362306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 57462306a36Sopenharmony_ci uint64_t reserved_55_63:9; 57562306a36Sopenharmony_ci uint64_t init_status:4; 57662306a36Sopenharmony_ci uint64_t mirrmask:4; 57762306a36Sopenharmony_ci uint64_t rankmask:4; 57862306a36Sopenharmony_ci uint64_t rank_ena:1; 57962306a36Sopenharmony_ci uint64_t sref_with_dll:1; 58062306a36Sopenharmony_ci uint64_t early_dqx:1; 58162306a36Sopenharmony_ci uint64_t sequence:3; 58262306a36Sopenharmony_ci uint64_t ref_zqcs_int:19; 58362306a36Sopenharmony_ci uint64_t reset:1; 58462306a36Sopenharmony_ci uint64_t ecc_adr:1; 58562306a36Sopenharmony_ci uint64_t forcewrite:4; 58662306a36Sopenharmony_ci uint64_t idlepower:3; 58762306a36Sopenharmony_ci uint64_t pbank_lsb:4; 58862306a36Sopenharmony_ci uint64_t row_lsb:3; 58962306a36Sopenharmony_ci uint64_t ecc_ena:1; 59062306a36Sopenharmony_ci uint64_t init_start:1; 59162306a36Sopenharmony_ci#else 59262306a36Sopenharmony_ci uint64_t init_start:1; 59362306a36Sopenharmony_ci uint64_t ecc_ena:1; 59462306a36Sopenharmony_ci uint64_t row_lsb:3; 59562306a36Sopenharmony_ci uint64_t pbank_lsb:4; 59662306a36Sopenharmony_ci uint64_t idlepower:3; 59762306a36Sopenharmony_ci uint64_t forcewrite:4; 59862306a36Sopenharmony_ci uint64_t ecc_adr:1; 59962306a36Sopenharmony_ci uint64_t reset:1; 60062306a36Sopenharmony_ci uint64_t ref_zqcs_int:19; 60162306a36Sopenharmony_ci uint64_t sequence:3; 60262306a36Sopenharmony_ci uint64_t early_dqx:1; 60362306a36Sopenharmony_ci uint64_t sref_with_dll:1; 60462306a36Sopenharmony_ci uint64_t rank_ena:1; 60562306a36Sopenharmony_ci uint64_t rankmask:4; 60662306a36Sopenharmony_ci uint64_t mirrmask:4; 60762306a36Sopenharmony_ci uint64_t init_status:4; 60862306a36Sopenharmony_ci uint64_t reserved_55_63:9; 60962306a36Sopenharmony_ci#endif 61062306a36Sopenharmony_ci } cn63xxp1; 61162306a36Sopenharmony_ci struct cvmx_lmcx_config_cn66xx { 61262306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 61362306a36Sopenharmony_ci uint64_t reserved_60_63:4; 61462306a36Sopenharmony_ci uint64_t scrz:1; 61562306a36Sopenharmony_ci uint64_t early_unload_d1_r1:1; 61662306a36Sopenharmony_ci uint64_t early_unload_d1_r0:1; 61762306a36Sopenharmony_ci uint64_t early_unload_d0_r1:1; 61862306a36Sopenharmony_ci uint64_t early_unload_d0_r0:1; 61962306a36Sopenharmony_ci uint64_t init_status:4; 62062306a36Sopenharmony_ci uint64_t mirrmask:4; 62162306a36Sopenharmony_ci uint64_t rankmask:4; 62262306a36Sopenharmony_ci uint64_t rank_ena:1; 62362306a36Sopenharmony_ci uint64_t sref_with_dll:1; 62462306a36Sopenharmony_ci uint64_t early_dqx:1; 62562306a36Sopenharmony_ci uint64_t sequence:3; 62662306a36Sopenharmony_ci uint64_t ref_zqcs_int:19; 62762306a36Sopenharmony_ci uint64_t reset:1; 62862306a36Sopenharmony_ci uint64_t ecc_adr:1; 62962306a36Sopenharmony_ci uint64_t forcewrite:4; 63062306a36Sopenharmony_ci uint64_t idlepower:3; 63162306a36Sopenharmony_ci uint64_t pbank_lsb:4; 63262306a36Sopenharmony_ci uint64_t row_lsb:3; 63362306a36Sopenharmony_ci uint64_t ecc_ena:1; 63462306a36Sopenharmony_ci uint64_t init_start:1; 63562306a36Sopenharmony_ci#else 63662306a36Sopenharmony_ci uint64_t init_start:1; 63762306a36Sopenharmony_ci uint64_t ecc_ena:1; 63862306a36Sopenharmony_ci uint64_t row_lsb:3; 63962306a36Sopenharmony_ci uint64_t pbank_lsb:4; 64062306a36Sopenharmony_ci uint64_t idlepower:3; 64162306a36Sopenharmony_ci uint64_t forcewrite:4; 64262306a36Sopenharmony_ci uint64_t ecc_adr:1; 64362306a36Sopenharmony_ci uint64_t reset:1; 64462306a36Sopenharmony_ci uint64_t ref_zqcs_int:19; 64562306a36Sopenharmony_ci uint64_t sequence:3; 64662306a36Sopenharmony_ci uint64_t early_dqx:1; 64762306a36Sopenharmony_ci uint64_t sref_with_dll:1; 64862306a36Sopenharmony_ci uint64_t rank_ena:1; 64962306a36Sopenharmony_ci uint64_t rankmask:4; 65062306a36Sopenharmony_ci uint64_t mirrmask:4; 65162306a36Sopenharmony_ci uint64_t init_status:4; 65262306a36Sopenharmony_ci uint64_t early_unload_d0_r0:1; 65362306a36Sopenharmony_ci uint64_t early_unload_d0_r1:1; 65462306a36Sopenharmony_ci uint64_t early_unload_d1_r0:1; 65562306a36Sopenharmony_ci uint64_t early_unload_d1_r1:1; 65662306a36Sopenharmony_ci uint64_t scrz:1; 65762306a36Sopenharmony_ci uint64_t reserved_60_63:4; 65862306a36Sopenharmony_ci#endif 65962306a36Sopenharmony_ci } cn66xx; 66062306a36Sopenharmony_ci}; 66162306a36Sopenharmony_ci 66262306a36Sopenharmony_ciunion cvmx_lmcx_control { 66362306a36Sopenharmony_ci uint64_t u64; 66462306a36Sopenharmony_ci struct cvmx_lmcx_control_s { 66562306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 66662306a36Sopenharmony_ci uint64_t scramble_ena:1; 66762306a36Sopenharmony_ci uint64_t thrcnt:12; 66862306a36Sopenharmony_ci uint64_t persub:8; 66962306a36Sopenharmony_ci uint64_t thrmax:4; 67062306a36Sopenharmony_ci uint64_t crm_cnt:5; 67162306a36Sopenharmony_ci uint64_t crm_thr:5; 67262306a36Sopenharmony_ci uint64_t crm_max:5; 67362306a36Sopenharmony_ci uint64_t rodt_bprch:1; 67462306a36Sopenharmony_ci uint64_t wodt_bprch:1; 67562306a36Sopenharmony_ci uint64_t bprch:2; 67662306a36Sopenharmony_ci uint64_t ext_zqcs_dis:1; 67762306a36Sopenharmony_ci uint64_t int_zqcs_dis:1; 67862306a36Sopenharmony_ci uint64_t auto_dclkdis:1; 67962306a36Sopenharmony_ci uint64_t xor_bank:1; 68062306a36Sopenharmony_ci uint64_t max_write_batch:4; 68162306a36Sopenharmony_ci uint64_t nxm_write_en:1; 68262306a36Sopenharmony_ci uint64_t elev_prio_dis:1; 68362306a36Sopenharmony_ci uint64_t inorder_wr:1; 68462306a36Sopenharmony_ci uint64_t inorder_rd:1; 68562306a36Sopenharmony_ci uint64_t throttle_wr:1; 68662306a36Sopenharmony_ci uint64_t throttle_rd:1; 68762306a36Sopenharmony_ci uint64_t fprch2:2; 68862306a36Sopenharmony_ci uint64_t pocas:1; 68962306a36Sopenharmony_ci uint64_t ddr2t:1; 69062306a36Sopenharmony_ci uint64_t bwcnt:1; 69162306a36Sopenharmony_ci uint64_t rdimm_ena:1; 69262306a36Sopenharmony_ci#else 69362306a36Sopenharmony_ci uint64_t rdimm_ena:1; 69462306a36Sopenharmony_ci uint64_t bwcnt:1; 69562306a36Sopenharmony_ci uint64_t ddr2t:1; 69662306a36Sopenharmony_ci uint64_t pocas:1; 69762306a36Sopenharmony_ci uint64_t fprch2:2; 69862306a36Sopenharmony_ci uint64_t throttle_rd:1; 69962306a36Sopenharmony_ci uint64_t throttle_wr:1; 70062306a36Sopenharmony_ci uint64_t inorder_rd:1; 70162306a36Sopenharmony_ci uint64_t inorder_wr:1; 70262306a36Sopenharmony_ci uint64_t elev_prio_dis:1; 70362306a36Sopenharmony_ci uint64_t nxm_write_en:1; 70462306a36Sopenharmony_ci uint64_t max_write_batch:4; 70562306a36Sopenharmony_ci uint64_t xor_bank:1; 70662306a36Sopenharmony_ci uint64_t auto_dclkdis:1; 70762306a36Sopenharmony_ci uint64_t int_zqcs_dis:1; 70862306a36Sopenharmony_ci uint64_t ext_zqcs_dis:1; 70962306a36Sopenharmony_ci uint64_t bprch:2; 71062306a36Sopenharmony_ci uint64_t wodt_bprch:1; 71162306a36Sopenharmony_ci uint64_t rodt_bprch:1; 71262306a36Sopenharmony_ci uint64_t crm_max:5; 71362306a36Sopenharmony_ci uint64_t crm_thr:5; 71462306a36Sopenharmony_ci uint64_t crm_cnt:5; 71562306a36Sopenharmony_ci uint64_t thrmax:4; 71662306a36Sopenharmony_ci uint64_t persub:8; 71762306a36Sopenharmony_ci uint64_t thrcnt:12; 71862306a36Sopenharmony_ci uint64_t scramble_ena:1; 71962306a36Sopenharmony_ci#endif 72062306a36Sopenharmony_ci } s; 72162306a36Sopenharmony_ci struct cvmx_lmcx_control_cn63xx { 72262306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 72362306a36Sopenharmony_ci uint64_t reserved_24_63:40; 72462306a36Sopenharmony_ci uint64_t rodt_bprch:1; 72562306a36Sopenharmony_ci uint64_t wodt_bprch:1; 72662306a36Sopenharmony_ci uint64_t bprch:2; 72762306a36Sopenharmony_ci uint64_t ext_zqcs_dis:1; 72862306a36Sopenharmony_ci uint64_t int_zqcs_dis:1; 72962306a36Sopenharmony_ci uint64_t auto_dclkdis:1; 73062306a36Sopenharmony_ci uint64_t xor_bank:1; 73162306a36Sopenharmony_ci uint64_t max_write_batch:4; 73262306a36Sopenharmony_ci uint64_t nxm_write_en:1; 73362306a36Sopenharmony_ci uint64_t elev_prio_dis:1; 73462306a36Sopenharmony_ci uint64_t inorder_wr:1; 73562306a36Sopenharmony_ci uint64_t inorder_rd:1; 73662306a36Sopenharmony_ci uint64_t throttle_wr:1; 73762306a36Sopenharmony_ci uint64_t throttle_rd:1; 73862306a36Sopenharmony_ci uint64_t fprch2:2; 73962306a36Sopenharmony_ci uint64_t pocas:1; 74062306a36Sopenharmony_ci uint64_t ddr2t:1; 74162306a36Sopenharmony_ci uint64_t bwcnt:1; 74262306a36Sopenharmony_ci uint64_t rdimm_ena:1; 74362306a36Sopenharmony_ci#else 74462306a36Sopenharmony_ci uint64_t rdimm_ena:1; 74562306a36Sopenharmony_ci uint64_t bwcnt:1; 74662306a36Sopenharmony_ci uint64_t ddr2t:1; 74762306a36Sopenharmony_ci uint64_t pocas:1; 74862306a36Sopenharmony_ci uint64_t fprch2:2; 74962306a36Sopenharmony_ci uint64_t throttle_rd:1; 75062306a36Sopenharmony_ci uint64_t throttle_wr:1; 75162306a36Sopenharmony_ci uint64_t inorder_rd:1; 75262306a36Sopenharmony_ci uint64_t inorder_wr:1; 75362306a36Sopenharmony_ci uint64_t elev_prio_dis:1; 75462306a36Sopenharmony_ci uint64_t nxm_write_en:1; 75562306a36Sopenharmony_ci uint64_t max_write_batch:4; 75662306a36Sopenharmony_ci uint64_t xor_bank:1; 75762306a36Sopenharmony_ci uint64_t auto_dclkdis:1; 75862306a36Sopenharmony_ci uint64_t int_zqcs_dis:1; 75962306a36Sopenharmony_ci uint64_t ext_zqcs_dis:1; 76062306a36Sopenharmony_ci uint64_t bprch:2; 76162306a36Sopenharmony_ci uint64_t wodt_bprch:1; 76262306a36Sopenharmony_ci uint64_t rodt_bprch:1; 76362306a36Sopenharmony_ci uint64_t reserved_24_63:40; 76462306a36Sopenharmony_ci#endif 76562306a36Sopenharmony_ci } cn63xx; 76662306a36Sopenharmony_ci struct cvmx_lmcx_control_cn66xx { 76762306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 76862306a36Sopenharmony_ci uint64_t scramble_ena:1; 76962306a36Sopenharmony_ci uint64_t reserved_24_62:39; 77062306a36Sopenharmony_ci uint64_t rodt_bprch:1; 77162306a36Sopenharmony_ci uint64_t wodt_bprch:1; 77262306a36Sopenharmony_ci uint64_t bprch:2; 77362306a36Sopenharmony_ci uint64_t ext_zqcs_dis:1; 77462306a36Sopenharmony_ci uint64_t int_zqcs_dis:1; 77562306a36Sopenharmony_ci uint64_t auto_dclkdis:1; 77662306a36Sopenharmony_ci uint64_t xor_bank:1; 77762306a36Sopenharmony_ci uint64_t max_write_batch:4; 77862306a36Sopenharmony_ci uint64_t nxm_write_en:1; 77962306a36Sopenharmony_ci uint64_t elev_prio_dis:1; 78062306a36Sopenharmony_ci uint64_t inorder_wr:1; 78162306a36Sopenharmony_ci uint64_t inorder_rd:1; 78262306a36Sopenharmony_ci uint64_t throttle_wr:1; 78362306a36Sopenharmony_ci uint64_t throttle_rd:1; 78462306a36Sopenharmony_ci uint64_t fprch2:2; 78562306a36Sopenharmony_ci uint64_t pocas:1; 78662306a36Sopenharmony_ci uint64_t ddr2t:1; 78762306a36Sopenharmony_ci uint64_t bwcnt:1; 78862306a36Sopenharmony_ci uint64_t rdimm_ena:1; 78962306a36Sopenharmony_ci#else 79062306a36Sopenharmony_ci uint64_t rdimm_ena:1; 79162306a36Sopenharmony_ci uint64_t bwcnt:1; 79262306a36Sopenharmony_ci uint64_t ddr2t:1; 79362306a36Sopenharmony_ci uint64_t pocas:1; 79462306a36Sopenharmony_ci uint64_t fprch2:2; 79562306a36Sopenharmony_ci uint64_t throttle_rd:1; 79662306a36Sopenharmony_ci uint64_t throttle_wr:1; 79762306a36Sopenharmony_ci uint64_t inorder_rd:1; 79862306a36Sopenharmony_ci uint64_t inorder_wr:1; 79962306a36Sopenharmony_ci uint64_t elev_prio_dis:1; 80062306a36Sopenharmony_ci uint64_t nxm_write_en:1; 80162306a36Sopenharmony_ci uint64_t max_write_batch:4; 80262306a36Sopenharmony_ci uint64_t xor_bank:1; 80362306a36Sopenharmony_ci uint64_t auto_dclkdis:1; 80462306a36Sopenharmony_ci uint64_t int_zqcs_dis:1; 80562306a36Sopenharmony_ci uint64_t ext_zqcs_dis:1; 80662306a36Sopenharmony_ci uint64_t bprch:2; 80762306a36Sopenharmony_ci uint64_t wodt_bprch:1; 80862306a36Sopenharmony_ci uint64_t rodt_bprch:1; 80962306a36Sopenharmony_ci uint64_t reserved_24_62:39; 81062306a36Sopenharmony_ci uint64_t scramble_ena:1; 81162306a36Sopenharmony_ci#endif 81262306a36Sopenharmony_ci } cn66xx; 81362306a36Sopenharmony_ci struct cvmx_lmcx_control_cn68xx { 81462306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 81562306a36Sopenharmony_ci uint64_t reserved_63_63:1; 81662306a36Sopenharmony_ci uint64_t thrcnt:12; 81762306a36Sopenharmony_ci uint64_t persub:8; 81862306a36Sopenharmony_ci uint64_t thrmax:4; 81962306a36Sopenharmony_ci uint64_t crm_cnt:5; 82062306a36Sopenharmony_ci uint64_t crm_thr:5; 82162306a36Sopenharmony_ci uint64_t crm_max:5; 82262306a36Sopenharmony_ci uint64_t rodt_bprch:1; 82362306a36Sopenharmony_ci uint64_t wodt_bprch:1; 82462306a36Sopenharmony_ci uint64_t bprch:2; 82562306a36Sopenharmony_ci uint64_t ext_zqcs_dis:1; 82662306a36Sopenharmony_ci uint64_t int_zqcs_dis:1; 82762306a36Sopenharmony_ci uint64_t auto_dclkdis:1; 82862306a36Sopenharmony_ci uint64_t xor_bank:1; 82962306a36Sopenharmony_ci uint64_t max_write_batch:4; 83062306a36Sopenharmony_ci uint64_t nxm_write_en:1; 83162306a36Sopenharmony_ci uint64_t elev_prio_dis:1; 83262306a36Sopenharmony_ci uint64_t inorder_wr:1; 83362306a36Sopenharmony_ci uint64_t inorder_rd:1; 83462306a36Sopenharmony_ci uint64_t throttle_wr:1; 83562306a36Sopenharmony_ci uint64_t throttle_rd:1; 83662306a36Sopenharmony_ci uint64_t fprch2:2; 83762306a36Sopenharmony_ci uint64_t pocas:1; 83862306a36Sopenharmony_ci uint64_t ddr2t:1; 83962306a36Sopenharmony_ci uint64_t bwcnt:1; 84062306a36Sopenharmony_ci uint64_t rdimm_ena:1; 84162306a36Sopenharmony_ci#else 84262306a36Sopenharmony_ci uint64_t rdimm_ena:1; 84362306a36Sopenharmony_ci uint64_t bwcnt:1; 84462306a36Sopenharmony_ci uint64_t ddr2t:1; 84562306a36Sopenharmony_ci uint64_t pocas:1; 84662306a36Sopenharmony_ci uint64_t fprch2:2; 84762306a36Sopenharmony_ci uint64_t throttle_rd:1; 84862306a36Sopenharmony_ci uint64_t throttle_wr:1; 84962306a36Sopenharmony_ci uint64_t inorder_rd:1; 85062306a36Sopenharmony_ci uint64_t inorder_wr:1; 85162306a36Sopenharmony_ci uint64_t elev_prio_dis:1; 85262306a36Sopenharmony_ci uint64_t nxm_write_en:1; 85362306a36Sopenharmony_ci uint64_t max_write_batch:4; 85462306a36Sopenharmony_ci uint64_t xor_bank:1; 85562306a36Sopenharmony_ci uint64_t auto_dclkdis:1; 85662306a36Sopenharmony_ci uint64_t int_zqcs_dis:1; 85762306a36Sopenharmony_ci uint64_t ext_zqcs_dis:1; 85862306a36Sopenharmony_ci uint64_t bprch:2; 85962306a36Sopenharmony_ci uint64_t wodt_bprch:1; 86062306a36Sopenharmony_ci uint64_t rodt_bprch:1; 86162306a36Sopenharmony_ci uint64_t crm_max:5; 86262306a36Sopenharmony_ci uint64_t crm_thr:5; 86362306a36Sopenharmony_ci uint64_t crm_cnt:5; 86462306a36Sopenharmony_ci uint64_t thrmax:4; 86562306a36Sopenharmony_ci uint64_t persub:8; 86662306a36Sopenharmony_ci uint64_t thrcnt:12; 86762306a36Sopenharmony_ci uint64_t reserved_63_63:1; 86862306a36Sopenharmony_ci#endif 86962306a36Sopenharmony_ci } cn68xx; 87062306a36Sopenharmony_ci}; 87162306a36Sopenharmony_ci 87262306a36Sopenharmony_ciunion cvmx_lmcx_ctl { 87362306a36Sopenharmony_ci uint64_t u64; 87462306a36Sopenharmony_ci struct cvmx_lmcx_ctl_s { 87562306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 87662306a36Sopenharmony_ci uint64_t reserved_32_63:32; 87762306a36Sopenharmony_ci uint64_t ddr__nctl:4; 87862306a36Sopenharmony_ci uint64_t ddr__pctl:4; 87962306a36Sopenharmony_ci uint64_t slow_scf:1; 88062306a36Sopenharmony_ci uint64_t xor_bank:1; 88162306a36Sopenharmony_ci uint64_t max_write_batch:4; 88262306a36Sopenharmony_ci uint64_t pll_div2:1; 88362306a36Sopenharmony_ci uint64_t pll_bypass:1; 88462306a36Sopenharmony_ci uint64_t rdimm_ena:1; 88562306a36Sopenharmony_ci uint64_t r2r_slot:1; 88662306a36Sopenharmony_ci uint64_t inorder_mwf:1; 88762306a36Sopenharmony_ci uint64_t inorder_mrf:1; 88862306a36Sopenharmony_ci uint64_t reserved_10_11:2; 88962306a36Sopenharmony_ci uint64_t fprch2:1; 89062306a36Sopenharmony_ci uint64_t bprch:1; 89162306a36Sopenharmony_ci uint64_t sil_lat:2; 89262306a36Sopenharmony_ci uint64_t tskw:2; 89362306a36Sopenharmony_ci uint64_t qs_dic:2; 89462306a36Sopenharmony_ci uint64_t dic:2; 89562306a36Sopenharmony_ci#else 89662306a36Sopenharmony_ci uint64_t dic:2; 89762306a36Sopenharmony_ci uint64_t qs_dic:2; 89862306a36Sopenharmony_ci uint64_t tskw:2; 89962306a36Sopenharmony_ci uint64_t sil_lat:2; 90062306a36Sopenharmony_ci uint64_t bprch:1; 90162306a36Sopenharmony_ci uint64_t fprch2:1; 90262306a36Sopenharmony_ci uint64_t reserved_10_11:2; 90362306a36Sopenharmony_ci uint64_t inorder_mrf:1; 90462306a36Sopenharmony_ci uint64_t inorder_mwf:1; 90562306a36Sopenharmony_ci uint64_t r2r_slot:1; 90662306a36Sopenharmony_ci uint64_t rdimm_ena:1; 90762306a36Sopenharmony_ci uint64_t pll_bypass:1; 90862306a36Sopenharmony_ci uint64_t pll_div2:1; 90962306a36Sopenharmony_ci uint64_t max_write_batch:4; 91062306a36Sopenharmony_ci uint64_t xor_bank:1; 91162306a36Sopenharmony_ci uint64_t slow_scf:1; 91262306a36Sopenharmony_ci uint64_t ddr__pctl:4; 91362306a36Sopenharmony_ci uint64_t ddr__nctl:4; 91462306a36Sopenharmony_ci uint64_t reserved_32_63:32; 91562306a36Sopenharmony_ci#endif 91662306a36Sopenharmony_ci } s; 91762306a36Sopenharmony_ci struct cvmx_lmcx_ctl_cn30xx { 91862306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 91962306a36Sopenharmony_ci uint64_t reserved_32_63:32; 92062306a36Sopenharmony_ci uint64_t ddr__nctl:4; 92162306a36Sopenharmony_ci uint64_t ddr__pctl:4; 92262306a36Sopenharmony_ci uint64_t slow_scf:1; 92362306a36Sopenharmony_ci uint64_t xor_bank:1; 92462306a36Sopenharmony_ci uint64_t max_write_batch:4; 92562306a36Sopenharmony_ci uint64_t pll_div2:1; 92662306a36Sopenharmony_ci uint64_t pll_bypass:1; 92762306a36Sopenharmony_ci uint64_t rdimm_ena:1; 92862306a36Sopenharmony_ci uint64_t r2r_slot:1; 92962306a36Sopenharmony_ci uint64_t inorder_mwf:1; 93062306a36Sopenharmony_ci uint64_t inorder_mrf:1; 93162306a36Sopenharmony_ci uint64_t dreset:1; 93262306a36Sopenharmony_ci uint64_t mode32b:1; 93362306a36Sopenharmony_ci uint64_t fprch2:1; 93462306a36Sopenharmony_ci uint64_t bprch:1; 93562306a36Sopenharmony_ci uint64_t sil_lat:2; 93662306a36Sopenharmony_ci uint64_t tskw:2; 93762306a36Sopenharmony_ci uint64_t qs_dic:2; 93862306a36Sopenharmony_ci uint64_t dic:2; 93962306a36Sopenharmony_ci#else 94062306a36Sopenharmony_ci uint64_t dic:2; 94162306a36Sopenharmony_ci uint64_t qs_dic:2; 94262306a36Sopenharmony_ci uint64_t tskw:2; 94362306a36Sopenharmony_ci uint64_t sil_lat:2; 94462306a36Sopenharmony_ci uint64_t bprch:1; 94562306a36Sopenharmony_ci uint64_t fprch2:1; 94662306a36Sopenharmony_ci uint64_t mode32b:1; 94762306a36Sopenharmony_ci uint64_t dreset:1; 94862306a36Sopenharmony_ci uint64_t inorder_mrf:1; 94962306a36Sopenharmony_ci uint64_t inorder_mwf:1; 95062306a36Sopenharmony_ci uint64_t r2r_slot:1; 95162306a36Sopenharmony_ci uint64_t rdimm_ena:1; 95262306a36Sopenharmony_ci uint64_t pll_bypass:1; 95362306a36Sopenharmony_ci uint64_t pll_div2:1; 95462306a36Sopenharmony_ci uint64_t max_write_batch:4; 95562306a36Sopenharmony_ci uint64_t xor_bank:1; 95662306a36Sopenharmony_ci uint64_t slow_scf:1; 95762306a36Sopenharmony_ci uint64_t ddr__pctl:4; 95862306a36Sopenharmony_ci uint64_t ddr__nctl:4; 95962306a36Sopenharmony_ci uint64_t reserved_32_63:32; 96062306a36Sopenharmony_ci#endif 96162306a36Sopenharmony_ci } cn30xx; 96262306a36Sopenharmony_ci struct cvmx_lmcx_ctl_cn38xx { 96362306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 96462306a36Sopenharmony_ci uint64_t reserved_32_63:32; 96562306a36Sopenharmony_ci uint64_t ddr__nctl:4; 96662306a36Sopenharmony_ci uint64_t ddr__pctl:4; 96762306a36Sopenharmony_ci uint64_t slow_scf:1; 96862306a36Sopenharmony_ci uint64_t xor_bank:1; 96962306a36Sopenharmony_ci uint64_t max_write_batch:4; 97062306a36Sopenharmony_ci uint64_t reserved_16_17:2; 97162306a36Sopenharmony_ci uint64_t rdimm_ena:1; 97262306a36Sopenharmony_ci uint64_t r2r_slot:1; 97362306a36Sopenharmony_ci uint64_t inorder_mwf:1; 97462306a36Sopenharmony_ci uint64_t inorder_mrf:1; 97562306a36Sopenharmony_ci uint64_t set_zero:1; 97662306a36Sopenharmony_ci uint64_t mode128b:1; 97762306a36Sopenharmony_ci uint64_t fprch2:1; 97862306a36Sopenharmony_ci uint64_t bprch:1; 97962306a36Sopenharmony_ci uint64_t sil_lat:2; 98062306a36Sopenharmony_ci uint64_t tskw:2; 98162306a36Sopenharmony_ci uint64_t qs_dic:2; 98262306a36Sopenharmony_ci uint64_t dic:2; 98362306a36Sopenharmony_ci#else 98462306a36Sopenharmony_ci uint64_t dic:2; 98562306a36Sopenharmony_ci uint64_t qs_dic:2; 98662306a36Sopenharmony_ci uint64_t tskw:2; 98762306a36Sopenharmony_ci uint64_t sil_lat:2; 98862306a36Sopenharmony_ci uint64_t bprch:1; 98962306a36Sopenharmony_ci uint64_t fprch2:1; 99062306a36Sopenharmony_ci uint64_t mode128b:1; 99162306a36Sopenharmony_ci uint64_t set_zero:1; 99262306a36Sopenharmony_ci uint64_t inorder_mrf:1; 99362306a36Sopenharmony_ci uint64_t inorder_mwf:1; 99462306a36Sopenharmony_ci uint64_t r2r_slot:1; 99562306a36Sopenharmony_ci uint64_t rdimm_ena:1; 99662306a36Sopenharmony_ci uint64_t reserved_16_17:2; 99762306a36Sopenharmony_ci uint64_t max_write_batch:4; 99862306a36Sopenharmony_ci uint64_t xor_bank:1; 99962306a36Sopenharmony_ci uint64_t slow_scf:1; 100062306a36Sopenharmony_ci uint64_t ddr__pctl:4; 100162306a36Sopenharmony_ci uint64_t ddr__nctl:4; 100262306a36Sopenharmony_ci uint64_t reserved_32_63:32; 100362306a36Sopenharmony_ci#endif 100462306a36Sopenharmony_ci } cn38xx; 100562306a36Sopenharmony_ci struct cvmx_lmcx_ctl_cn50xx { 100662306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 100762306a36Sopenharmony_ci uint64_t reserved_32_63:32; 100862306a36Sopenharmony_ci uint64_t ddr__nctl:4; 100962306a36Sopenharmony_ci uint64_t ddr__pctl:4; 101062306a36Sopenharmony_ci uint64_t slow_scf:1; 101162306a36Sopenharmony_ci uint64_t xor_bank:1; 101262306a36Sopenharmony_ci uint64_t max_write_batch:4; 101362306a36Sopenharmony_ci uint64_t reserved_17_17:1; 101462306a36Sopenharmony_ci uint64_t pll_bypass:1; 101562306a36Sopenharmony_ci uint64_t rdimm_ena:1; 101662306a36Sopenharmony_ci uint64_t r2r_slot:1; 101762306a36Sopenharmony_ci uint64_t inorder_mwf:1; 101862306a36Sopenharmony_ci uint64_t inorder_mrf:1; 101962306a36Sopenharmony_ci uint64_t dreset:1; 102062306a36Sopenharmony_ci uint64_t mode32b:1; 102162306a36Sopenharmony_ci uint64_t fprch2:1; 102262306a36Sopenharmony_ci uint64_t bprch:1; 102362306a36Sopenharmony_ci uint64_t sil_lat:2; 102462306a36Sopenharmony_ci uint64_t tskw:2; 102562306a36Sopenharmony_ci uint64_t qs_dic:2; 102662306a36Sopenharmony_ci uint64_t dic:2; 102762306a36Sopenharmony_ci#else 102862306a36Sopenharmony_ci uint64_t dic:2; 102962306a36Sopenharmony_ci uint64_t qs_dic:2; 103062306a36Sopenharmony_ci uint64_t tskw:2; 103162306a36Sopenharmony_ci uint64_t sil_lat:2; 103262306a36Sopenharmony_ci uint64_t bprch:1; 103362306a36Sopenharmony_ci uint64_t fprch2:1; 103462306a36Sopenharmony_ci uint64_t mode32b:1; 103562306a36Sopenharmony_ci uint64_t dreset:1; 103662306a36Sopenharmony_ci uint64_t inorder_mrf:1; 103762306a36Sopenharmony_ci uint64_t inorder_mwf:1; 103862306a36Sopenharmony_ci uint64_t r2r_slot:1; 103962306a36Sopenharmony_ci uint64_t rdimm_ena:1; 104062306a36Sopenharmony_ci uint64_t pll_bypass:1; 104162306a36Sopenharmony_ci uint64_t reserved_17_17:1; 104262306a36Sopenharmony_ci uint64_t max_write_batch:4; 104362306a36Sopenharmony_ci uint64_t xor_bank:1; 104462306a36Sopenharmony_ci uint64_t slow_scf:1; 104562306a36Sopenharmony_ci uint64_t ddr__pctl:4; 104662306a36Sopenharmony_ci uint64_t ddr__nctl:4; 104762306a36Sopenharmony_ci uint64_t reserved_32_63:32; 104862306a36Sopenharmony_ci#endif 104962306a36Sopenharmony_ci } cn50xx; 105062306a36Sopenharmony_ci struct cvmx_lmcx_ctl_cn52xx { 105162306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 105262306a36Sopenharmony_ci uint64_t reserved_32_63:32; 105362306a36Sopenharmony_ci uint64_t ddr__nctl:4; 105462306a36Sopenharmony_ci uint64_t ddr__pctl:4; 105562306a36Sopenharmony_ci uint64_t slow_scf:1; 105662306a36Sopenharmony_ci uint64_t xor_bank:1; 105762306a36Sopenharmony_ci uint64_t max_write_batch:4; 105862306a36Sopenharmony_ci uint64_t reserved_16_17:2; 105962306a36Sopenharmony_ci uint64_t rdimm_ena:1; 106062306a36Sopenharmony_ci uint64_t r2r_slot:1; 106162306a36Sopenharmony_ci uint64_t inorder_mwf:1; 106262306a36Sopenharmony_ci uint64_t inorder_mrf:1; 106362306a36Sopenharmony_ci uint64_t dreset:1; 106462306a36Sopenharmony_ci uint64_t mode32b:1; 106562306a36Sopenharmony_ci uint64_t fprch2:1; 106662306a36Sopenharmony_ci uint64_t bprch:1; 106762306a36Sopenharmony_ci uint64_t sil_lat:2; 106862306a36Sopenharmony_ci uint64_t tskw:2; 106962306a36Sopenharmony_ci uint64_t qs_dic:2; 107062306a36Sopenharmony_ci uint64_t dic:2; 107162306a36Sopenharmony_ci#else 107262306a36Sopenharmony_ci uint64_t dic:2; 107362306a36Sopenharmony_ci uint64_t qs_dic:2; 107462306a36Sopenharmony_ci uint64_t tskw:2; 107562306a36Sopenharmony_ci uint64_t sil_lat:2; 107662306a36Sopenharmony_ci uint64_t bprch:1; 107762306a36Sopenharmony_ci uint64_t fprch2:1; 107862306a36Sopenharmony_ci uint64_t mode32b:1; 107962306a36Sopenharmony_ci uint64_t dreset:1; 108062306a36Sopenharmony_ci uint64_t inorder_mrf:1; 108162306a36Sopenharmony_ci uint64_t inorder_mwf:1; 108262306a36Sopenharmony_ci uint64_t r2r_slot:1; 108362306a36Sopenharmony_ci uint64_t rdimm_ena:1; 108462306a36Sopenharmony_ci uint64_t reserved_16_17:2; 108562306a36Sopenharmony_ci uint64_t max_write_batch:4; 108662306a36Sopenharmony_ci uint64_t xor_bank:1; 108762306a36Sopenharmony_ci uint64_t slow_scf:1; 108862306a36Sopenharmony_ci uint64_t ddr__pctl:4; 108962306a36Sopenharmony_ci uint64_t ddr__nctl:4; 109062306a36Sopenharmony_ci uint64_t reserved_32_63:32; 109162306a36Sopenharmony_ci#endif 109262306a36Sopenharmony_ci } cn52xx; 109362306a36Sopenharmony_ci struct cvmx_lmcx_ctl_cn58xx { 109462306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 109562306a36Sopenharmony_ci uint64_t reserved_32_63:32; 109662306a36Sopenharmony_ci uint64_t ddr__nctl:4; 109762306a36Sopenharmony_ci uint64_t ddr__pctl:4; 109862306a36Sopenharmony_ci uint64_t slow_scf:1; 109962306a36Sopenharmony_ci uint64_t xor_bank:1; 110062306a36Sopenharmony_ci uint64_t max_write_batch:4; 110162306a36Sopenharmony_ci uint64_t reserved_16_17:2; 110262306a36Sopenharmony_ci uint64_t rdimm_ena:1; 110362306a36Sopenharmony_ci uint64_t r2r_slot:1; 110462306a36Sopenharmony_ci uint64_t inorder_mwf:1; 110562306a36Sopenharmony_ci uint64_t inorder_mrf:1; 110662306a36Sopenharmony_ci uint64_t dreset:1; 110762306a36Sopenharmony_ci uint64_t mode128b:1; 110862306a36Sopenharmony_ci uint64_t fprch2:1; 110962306a36Sopenharmony_ci uint64_t bprch:1; 111062306a36Sopenharmony_ci uint64_t sil_lat:2; 111162306a36Sopenharmony_ci uint64_t tskw:2; 111262306a36Sopenharmony_ci uint64_t qs_dic:2; 111362306a36Sopenharmony_ci uint64_t dic:2; 111462306a36Sopenharmony_ci#else 111562306a36Sopenharmony_ci uint64_t dic:2; 111662306a36Sopenharmony_ci uint64_t qs_dic:2; 111762306a36Sopenharmony_ci uint64_t tskw:2; 111862306a36Sopenharmony_ci uint64_t sil_lat:2; 111962306a36Sopenharmony_ci uint64_t bprch:1; 112062306a36Sopenharmony_ci uint64_t fprch2:1; 112162306a36Sopenharmony_ci uint64_t mode128b:1; 112262306a36Sopenharmony_ci uint64_t dreset:1; 112362306a36Sopenharmony_ci uint64_t inorder_mrf:1; 112462306a36Sopenharmony_ci uint64_t inorder_mwf:1; 112562306a36Sopenharmony_ci uint64_t r2r_slot:1; 112662306a36Sopenharmony_ci uint64_t rdimm_ena:1; 112762306a36Sopenharmony_ci uint64_t reserved_16_17:2; 112862306a36Sopenharmony_ci uint64_t max_write_batch:4; 112962306a36Sopenharmony_ci uint64_t xor_bank:1; 113062306a36Sopenharmony_ci uint64_t slow_scf:1; 113162306a36Sopenharmony_ci uint64_t ddr__pctl:4; 113262306a36Sopenharmony_ci uint64_t ddr__nctl:4; 113362306a36Sopenharmony_ci uint64_t reserved_32_63:32; 113462306a36Sopenharmony_ci#endif 113562306a36Sopenharmony_ci } cn58xx; 113662306a36Sopenharmony_ci}; 113762306a36Sopenharmony_ci 113862306a36Sopenharmony_ciunion cvmx_lmcx_ctl1 { 113962306a36Sopenharmony_ci uint64_t u64; 114062306a36Sopenharmony_ci struct cvmx_lmcx_ctl1_s { 114162306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 114262306a36Sopenharmony_ci uint64_t reserved_21_63:43; 114362306a36Sopenharmony_ci uint64_t ecc_adr:1; 114462306a36Sopenharmony_ci uint64_t forcewrite:4; 114562306a36Sopenharmony_ci uint64_t idlepower:3; 114662306a36Sopenharmony_ci uint64_t sequence:3; 114762306a36Sopenharmony_ci uint64_t sil_mode:1; 114862306a36Sopenharmony_ci uint64_t dcc_enable:1; 114962306a36Sopenharmony_ci uint64_t reserved_2_7:6; 115062306a36Sopenharmony_ci uint64_t data_layout:2; 115162306a36Sopenharmony_ci#else 115262306a36Sopenharmony_ci uint64_t data_layout:2; 115362306a36Sopenharmony_ci uint64_t reserved_2_7:6; 115462306a36Sopenharmony_ci uint64_t dcc_enable:1; 115562306a36Sopenharmony_ci uint64_t sil_mode:1; 115662306a36Sopenharmony_ci uint64_t sequence:3; 115762306a36Sopenharmony_ci uint64_t idlepower:3; 115862306a36Sopenharmony_ci uint64_t forcewrite:4; 115962306a36Sopenharmony_ci uint64_t ecc_adr:1; 116062306a36Sopenharmony_ci uint64_t reserved_21_63:43; 116162306a36Sopenharmony_ci#endif 116262306a36Sopenharmony_ci } s; 116362306a36Sopenharmony_ci struct cvmx_lmcx_ctl1_cn30xx { 116462306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 116562306a36Sopenharmony_ci uint64_t reserved_2_63:62; 116662306a36Sopenharmony_ci uint64_t data_layout:2; 116762306a36Sopenharmony_ci#else 116862306a36Sopenharmony_ci uint64_t data_layout:2; 116962306a36Sopenharmony_ci uint64_t reserved_2_63:62; 117062306a36Sopenharmony_ci#endif 117162306a36Sopenharmony_ci } cn30xx; 117262306a36Sopenharmony_ci struct cvmx_lmcx_ctl1_cn50xx { 117362306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 117462306a36Sopenharmony_ci uint64_t reserved_10_63:54; 117562306a36Sopenharmony_ci uint64_t sil_mode:1; 117662306a36Sopenharmony_ci uint64_t dcc_enable:1; 117762306a36Sopenharmony_ci uint64_t reserved_2_7:6; 117862306a36Sopenharmony_ci uint64_t data_layout:2; 117962306a36Sopenharmony_ci#else 118062306a36Sopenharmony_ci uint64_t data_layout:2; 118162306a36Sopenharmony_ci uint64_t reserved_2_7:6; 118262306a36Sopenharmony_ci uint64_t dcc_enable:1; 118362306a36Sopenharmony_ci uint64_t sil_mode:1; 118462306a36Sopenharmony_ci uint64_t reserved_10_63:54; 118562306a36Sopenharmony_ci#endif 118662306a36Sopenharmony_ci } cn50xx; 118762306a36Sopenharmony_ci struct cvmx_lmcx_ctl1_cn52xx { 118862306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 118962306a36Sopenharmony_ci uint64_t reserved_21_63:43; 119062306a36Sopenharmony_ci uint64_t ecc_adr:1; 119162306a36Sopenharmony_ci uint64_t forcewrite:4; 119262306a36Sopenharmony_ci uint64_t idlepower:3; 119362306a36Sopenharmony_ci uint64_t sequence:3; 119462306a36Sopenharmony_ci uint64_t sil_mode:1; 119562306a36Sopenharmony_ci uint64_t dcc_enable:1; 119662306a36Sopenharmony_ci uint64_t reserved_0_7:8; 119762306a36Sopenharmony_ci#else 119862306a36Sopenharmony_ci uint64_t reserved_0_7:8; 119962306a36Sopenharmony_ci uint64_t dcc_enable:1; 120062306a36Sopenharmony_ci uint64_t sil_mode:1; 120162306a36Sopenharmony_ci uint64_t sequence:3; 120262306a36Sopenharmony_ci uint64_t idlepower:3; 120362306a36Sopenharmony_ci uint64_t forcewrite:4; 120462306a36Sopenharmony_ci uint64_t ecc_adr:1; 120562306a36Sopenharmony_ci uint64_t reserved_21_63:43; 120662306a36Sopenharmony_ci#endif 120762306a36Sopenharmony_ci } cn52xx; 120862306a36Sopenharmony_ci struct cvmx_lmcx_ctl1_cn58xx { 120962306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 121062306a36Sopenharmony_ci uint64_t reserved_10_63:54; 121162306a36Sopenharmony_ci uint64_t sil_mode:1; 121262306a36Sopenharmony_ci uint64_t dcc_enable:1; 121362306a36Sopenharmony_ci uint64_t reserved_0_7:8; 121462306a36Sopenharmony_ci#else 121562306a36Sopenharmony_ci uint64_t reserved_0_7:8; 121662306a36Sopenharmony_ci uint64_t dcc_enable:1; 121762306a36Sopenharmony_ci uint64_t sil_mode:1; 121862306a36Sopenharmony_ci uint64_t reserved_10_63:54; 121962306a36Sopenharmony_ci#endif 122062306a36Sopenharmony_ci } cn58xx; 122162306a36Sopenharmony_ci}; 122262306a36Sopenharmony_ci 122362306a36Sopenharmony_ciunion cvmx_lmcx_dclk_cnt { 122462306a36Sopenharmony_ci uint64_t u64; 122562306a36Sopenharmony_ci struct cvmx_lmcx_dclk_cnt_s { 122662306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 122762306a36Sopenharmony_ci uint64_t dclkcnt:64; 122862306a36Sopenharmony_ci#else 122962306a36Sopenharmony_ci uint64_t dclkcnt:64; 123062306a36Sopenharmony_ci#endif 123162306a36Sopenharmony_ci } s; 123262306a36Sopenharmony_ci}; 123362306a36Sopenharmony_ci 123462306a36Sopenharmony_ciunion cvmx_lmcx_dclk_cnt_hi { 123562306a36Sopenharmony_ci uint64_t u64; 123662306a36Sopenharmony_ci struct cvmx_lmcx_dclk_cnt_hi_s { 123762306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 123862306a36Sopenharmony_ci uint64_t reserved_32_63:32; 123962306a36Sopenharmony_ci uint64_t dclkcnt_hi:32; 124062306a36Sopenharmony_ci#else 124162306a36Sopenharmony_ci uint64_t dclkcnt_hi:32; 124262306a36Sopenharmony_ci uint64_t reserved_32_63:32; 124362306a36Sopenharmony_ci#endif 124462306a36Sopenharmony_ci } s; 124562306a36Sopenharmony_ci}; 124662306a36Sopenharmony_ci 124762306a36Sopenharmony_ciunion cvmx_lmcx_dclk_cnt_lo { 124862306a36Sopenharmony_ci uint64_t u64; 124962306a36Sopenharmony_ci struct cvmx_lmcx_dclk_cnt_lo_s { 125062306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 125162306a36Sopenharmony_ci uint64_t reserved_32_63:32; 125262306a36Sopenharmony_ci uint64_t dclkcnt_lo:32; 125362306a36Sopenharmony_ci#else 125462306a36Sopenharmony_ci uint64_t dclkcnt_lo:32; 125562306a36Sopenharmony_ci uint64_t reserved_32_63:32; 125662306a36Sopenharmony_ci#endif 125762306a36Sopenharmony_ci } s; 125862306a36Sopenharmony_ci}; 125962306a36Sopenharmony_ci 126062306a36Sopenharmony_ciunion cvmx_lmcx_dclk_ctl { 126162306a36Sopenharmony_ci uint64_t u64; 126262306a36Sopenharmony_ci struct cvmx_lmcx_dclk_ctl_s { 126362306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 126462306a36Sopenharmony_ci uint64_t reserved_8_63:56; 126562306a36Sopenharmony_ci uint64_t off90_ena:1; 126662306a36Sopenharmony_ci uint64_t dclk90_byp:1; 126762306a36Sopenharmony_ci uint64_t dclk90_ld:1; 126862306a36Sopenharmony_ci uint64_t dclk90_vlu:5; 126962306a36Sopenharmony_ci#else 127062306a36Sopenharmony_ci uint64_t dclk90_vlu:5; 127162306a36Sopenharmony_ci uint64_t dclk90_ld:1; 127262306a36Sopenharmony_ci uint64_t dclk90_byp:1; 127362306a36Sopenharmony_ci uint64_t off90_ena:1; 127462306a36Sopenharmony_ci uint64_t reserved_8_63:56; 127562306a36Sopenharmony_ci#endif 127662306a36Sopenharmony_ci } s; 127762306a36Sopenharmony_ci}; 127862306a36Sopenharmony_ci 127962306a36Sopenharmony_ciunion cvmx_lmcx_ddr2_ctl { 128062306a36Sopenharmony_ci uint64_t u64; 128162306a36Sopenharmony_ci struct cvmx_lmcx_ddr2_ctl_s { 128262306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 128362306a36Sopenharmony_ci uint64_t reserved_32_63:32; 128462306a36Sopenharmony_ci uint64_t bank8:1; 128562306a36Sopenharmony_ci uint64_t burst8:1; 128662306a36Sopenharmony_ci uint64_t addlat:3; 128762306a36Sopenharmony_ci uint64_t pocas:1; 128862306a36Sopenharmony_ci uint64_t bwcnt:1; 128962306a36Sopenharmony_ci uint64_t twr:3; 129062306a36Sopenharmony_ci uint64_t silo_hc:1; 129162306a36Sopenharmony_ci uint64_t ddr_eof:4; 129262306a36Sopenharmony_ci uint64_t tfaw:5; 129362306a36Sopenharmony_ci uint64_t crip_mode:1; 129462306a36Sopenharmony_ci uint64_t ddr2t:1; 129562306a36Sopenharmony_ci uint64_t odt_ena:1; 129662306a36Sopenharmony_ci uint64_t qdll_ena:1; 129762306a36Sopenharmony_ci uint64_t dll90_vlu:5; 129862306a36Sopenharmony_ci uint64_t dll90_byp:1; 129962306a36Sopenharmony_ci uint64_t rdqs:1; 130062306a36Sopenharmony_ci uint64_t ddr2:1; 130162306a36Sopenharmony_ci#else 130262306a36Sopenharmony_ci uint64_t ddr2:1; 130362306a36Sopenharmony_ci uint64_t rdqs:1; 130462306a36Sopenharmony_ci uint64_t dll90_byp:1; 130562306a36Sopenharmony_ci uint64_t dll90_vlu:5; 130662306a36Sopenharmony_ci uint64_t qdll_ena:1; 130762306a36Sopenharmony_ci uint64_t odt_ena:1; 130862306a36Sopenharmony_ci uint64_t ddr2t:1; 130962306a36Sopenharmony_ci uint64_t crip_mode:1; 131062306a36Sopenharmony_ci uint64_t tfaw:5; 131162306a36Sopenharmony_ci uint64_t ddr_eof:4; 131262306a36Sopenharmony_ci uint64_t silo_hc:1; 131362306a36Sopenharmony_ci uint64_t twr:3; 131462306a36Sopenharmony_ci uint64_t bwcnt:1; 131562306a36Sopenharmony_ci uint64_t pocas:1; 131662306a36Sopenharmony_ci uint64_t addlat:3; 131762306a36Sopenharmony_ci uint64_t burst8:1; 131862306a36Sopenharmony_ci uint64_t bank8:1; 131962306a36Sopenharmony_ci uint64_t reserved_32_63:32; 132062306a36Sopenharmony_ci#endif 132162306a36Sopenharmony_ci } s; 132262306a36Sopenharmony_ci struct cvmx_lmcx_ddr2_ctl_cn30xx { 132362306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 132462306a36Sopenharmony_ci uint64_t reserved_32_63:32; 132562306a36Sopenharmony_ci uint64_t bank8:1; 132662306a36Sopenharmony_ci uint64_t burst8:1; 132762306a36Sopenharmony_ci uint64_t addlat:3; 132862306a36Sopenharmony_ci uint64_t pocas:1; 132962306a36Sopenharmony_ci uint64_t bwcnt:1; 133062306a36Sopenharmony_ci uint64_t twr:3; 133162306a36Sopenharmony_ci uint64_t silo_hc:1; 133262306a36Sopenharmony_ci uint64_t ddr_eof:4; 133362306a36Sopenharmony_ci uint64_t tfaw:5; 133462306a36Sopenharmony_ci uint64_t crip_mode:1; 133562306a36Sopenharmony_ci uint64_t ddr2t:1; 133662306a36Sopenharmony_ci uint64_t odt_ena:1; 133762306a36Sopenharmony_ci uint64_t qdll_ena:1; 133862306a36Sopenharmony_ci uint64_t dll90_vlu:5; 133962306a36Sopenharmony_ci uint64_t dll90_byp:1; 134062306a36Sopenharmony_ci uint64_t reserved_1_1:1; 134162306a36Sopenharmony_ci uint64_t ddr2:1; 134262306a36Sopenharmony_ci#else 134362306a36Sopenharmony_ci uint64_t ddr2:1; 134462306a36Sopenharmony_ci uint64_t reserved_1_1:1; 134562306a36Sopenharmony_ci uint64_t dll90_byp:1; 134662306a36Sopenharmony_ci uint64_t dll90_vlu:5; 134762306a36Sopenharmony_ci uint64_t qdll_ena:1; 134862306a36Sopenharmony_ci uint64_t odt_ena:1; 134962306a36Sopenharmony_ci uint64_t ddr2t:1; 135062306a36Sopenharmony_ci uint64_t crip_mode:1; 135162306a36Sopenharmony_ci uint64_t tfaw:5; 135262306a36Sopenharmony_ci uint64_t ddr_eof:4; 135362306a36Sopenharmony_ci uint64_t silo_hc:1; 135462306a36Sopenharmony_ci uint64_t twr:3; 135562306a36Sopenharmony_ci uint64_t bwcnt:1; 135662306a36Sopenharmony_ci uint64_t pocas:1; 135762306a36Sopenharmony_ci uint64_t addlat:3; 135862306a36Sopenharmony_ci uint64_t burst8:1; 135962306a36Sopenharmony_ci uint64_t bank8:1; 136062306a36Sopenharmony_ci uint64_t reserved_32_63:32; 136162306a36Sopenharmony_ci#endif 136262306a36Sopenharmony_ci } cn30xx; 136362306a36Sopenharmony_ci}; 136462306a36Sopenharmony_ci 136562306a36Sopenharmony_ciunion cvmx_lmcx_ddr_pll_ctl { 136662306a36Sopenharmony_ci uint64_t u64; 136762306a36Sopenharmony_ci struct cvmx_lmcx_ddr_pll_ctl_s { 136862306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 136962306a36Sopenharmony_ci uint64_t reserved_27_63:37; 137062306a36Sopenharmony_ci uint64_t jtg_test_mode:1; 137162306a36Sopenharmony_ci uint64_t dfm_div_reset:1; 137262306a36Sopenharmony_ci uint64_t dfm_ps_en:3; 137362306a36Sopenharmony_ci uint64_t ddr_div_reset:1; 137462306a36Sopenharmony_ci uint64_t ddr_ps_en:3; 137562306a36Sopenharmony_ci uint64_t diffamp:4; 137662306a36Sopenharmony_ci uint64_t cps:3; 137762306a36Sopenharmony_ci uint64_t cpb:3; 137862306a36Sopenharmony_ci uint64_t reset_n:1; 137962306a36Sopenharmony_ci uint64_t clkf:7; 138062306a36Sopenharmony_ci#else 138162306a36Sopenharmony_ci uint64_t clkf:7; 138262306a36Sopenharmony_ci uint64_t reset_n:1; 138362306a36Sopenharmony_ci uint64_t cpb:3; 138462306a36Sopenharmony_ci uint64_t cps:3; 138562306a36Sopenharmony_ci uint64_t diffamp:4; 138662306a36Sopenharmony_ci uint64_t ddr_ps_en:3; 138762306a36Sopenharmony_ci uint64_t ddr_div_reset:1; 138862306a36Sopenharmony_ci uint64_t dfm_ps_en:3; 138962306a36Sopenharmony_ci uint64_t dfm_div_reset:1; 139062306a36Sopenharmony_ci uint64_t jtg_test_mode:1; 139162306a36Sopenharmony_ci uint64_t reserved_27_63:37; 139262306a36Sopenharmony_ci#endif 139362306a36Sopenharmony_ci } s; 139462306a36Sopenharmony_ci}; 139562306a36Sopenharmony_ci 139662306a36Sopenharmony_ciunion cvmx_lmcx_delay_cfg { 139762306a36Sopenharmony_ci uint64_t u64; 139862306a36Sopenharmony_ci struct cvmx_lmcx_delay_cfg_s { 139962306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 140062306a36Sopenharmony_ci uint64_t reserved_15_63:49; 140162306a36Sopenharmony_ci uint64_t dq:5; 140262306a36Sopenharmony_ci uint64_t cmd:5; 140362306a36Sopenharmony_ci uint64_t clk:5; 140462306a36Sopenharmony_ci#else 140562306a36Sopenharmony_ci uint64_t clk:5; 140662306a36Sopenharmony_ci uint64_t cmd:5; 140762306a36Sopenharmony_ci uint64_t dq:5; 140862306a36Sopenharmony_ci uint64_t reserved_15_63:49; 140962306a36Sopenharmony_ci#endif 141062306a36Sopenharmony_ci } s; 141162306a36Sopenharmony_ci struct cvmx_lmcx_delay_cfg_cn38xx { 141262306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 141362306a36Sopenharmony_ci uint64_t reserved_14_63:50; 141462306a36Sopenharmony_ci uint64_t dq:4; 141562306a36Sopenharmony_ci uint64_t reserved_9_9:1; 141662306a36Sopenharmony_ci uint64_t cmd:4; 141762306a36Sopenharmony_ci uint64_t reserved_4_4:1; 141862306a36Sopenharmony_ci uint64_t clk:4; 141962306a36Sopenharmony_ci#else 142062306a36Sopenharmony_ci uint64_t clk:4; 142162306a36Sopenharmony_ci uint64_t reserved_4_4:1; 142262306a36Sopenharmony_ci uint64_t cmd:4; 142362306a36Sopenharmony_ci uint64_t reserved_9_9:1; 142462306a36Sopenharmony_ci uint64_t dq:4; 142562306a36Sopenharmony_ci uint64_t reserved_14_63:50; 142662306a36Sopenharmony_ci#endif 142762306a36Sopenharmony_ci } cn38xx; 142862306a36Sopenharmony_ci}; 142962306a36Sopenharmony_ci 143062306a36Sopenharmony_ciunion cvmx_lmcx_dimmx_params { 143162306a36Sopenharmony_ci uint64_t u64; 143262306a36Sopenharmony_ci struct cvmx_lmcx_dimmx_params_s { 143362306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 143462306a36Sopenharmony_ci uint64_t rc15:4; 143562306a36Sopenharmony_ci uint64_t rc14:4; 143662306a36Sopenharmony_ci uint64_t rc13:4; 143762306a36Sopenharmony_ci uint64_t rc12:4; 143862306a36Sopenharmony_ci uint64_t rc11:4; 143962306a36Sopenharmony_ci uint64_t rc10:4; 144062306a36Sopenharmony_ci uint64_t rc9:4; 144162306a36Sopenharmony_ci uint64_t rc8:4; 144262306a36Sopenharmony_ci uint64_t rc7:4; 144362306a36Sopenharmony_ci uint64_t rc6:4; 144462306a36Sopenharmony_ci uint64_t rc5:4; 144562306a36Sopenharmony_ci uint64_t rc4:4; 144662306a36Sopenharmony_ci uint64_t rc3:4; 144762306a36Sopenharmony_ci uint64_t rc2:4; 144862306a36Sopenharmony_ci uint64_t rc1:4; 144962306a36Sopenharmony_ci uint64_t rc0:4; 145062306a36Sopenharmony_ci#else 145162306a36Sopenharmony_ci uint64_t rc0:4; 145262306a36Sopenharmony_ci uint64_t rc1:4; 145362306a36Sopenharmony_ci uint64_t rc2:4; 145462306a36Sopenharmony_ci uint64_t rc3:4; 145562306a36Sopenharmony_ci uint64_t rc4:4; 145662306a36Sopenharmony_ci uint64_t rc5:4; 145762306a36Sopenharmony_ci uint64_t rc6:4; 145862306a36Sopenharmony_ci uint64_t rc7:4; 145962306a36Sopenharmony_ci uint64_t rc8:4; 146062306a36Sopenharmony_ci uint64_t rc9:4; 146162306a36Sopenharmony_ci uint64_t rc10:4; 146262306a36Sopenharmony_ci uint64_t rc11:4; 146362306a36Sopenharmony_ci uint64_t rc12:4; 146462306a36Sopenharmony_ci uint64_t rc13:4; 146562306a36Sopenharmony_ci uint64_t rc14:4; 146662306a36Sopenharmony_ci uint64_t rc15:4; 146762306a36Sopenharmony_ci#endif 146862306a36Sopenharmony_ci } s; 146962306a36Sopenharmony_ci}; 147062306a36Sopenharmony_ci 147162306a36Sopenharmony_ciunion cvmx_lmcx_dimm_ctl { 147262306a36Sopenharmony_ci uint64_t u64; 147362306a36Sopenharmony_ci struct cvmx_lmcx_dimm_ctl_s { 147462306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 147562306a36Sopenharmony_ci uint64_t reserved_46_63:18; 147662306a36Sopenharmony_ci uint64_t parity:1; 147762306a36Sopenharmony_ci uint64_t tcws:13; 147862306a36Sopenharmony_ci uint64_t dimm1_wmask:16; 147962306a36Sopenharmony_ci uint64_t dimm0_wmask:16; 148062306a36Sopenharmony_ci#else 148162306a36Sopenharmony_ci uint64_t dimm0_wmask:16; 148262306a36Sopenharmony_ci uint64_t dimm1_wmask:16; 148362306a36Sopenharmony_ci uint64_t tcws:13; 148462306a36Sopenharmony_ci uint64_t parity:1; 148562306a36Sopenharmony_ci uint64_t reserved_46_63:18; 148662306a36Sopenharmony_ci#endif 148762306a36Sopenharmony_ci } s; 148862306a36Sopenharmony_ci}; 148962306a36Sopenharmony_ci 149062306a36Sopenharmony_ciunion cvmx_lmcx_dll_ctl { 149162306a36Sopenharmony_ci uint64_t u64; 149262306a36Sopenharmony_ci struct cvmx_lmcx_dll_ctl_s { 149362306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 149462306a36Sopenharmony_ci uint64_t reserved_8_63:56; 149562306a36Sopenharmony_ci uint64_t dreset:1; 149662306a36Sopenharmony_ci uint64_t dll90_byp:1; 149762306a36Sopenharmony_ci uint64_t dll90_ena:1; 149862306a36Sopenharmony_ci uint64_t dll90_vlu:5; 149962306a36Sopenharmony_ci#else 150062306a36Sopenharmony_ci uint64_t dll90_vlu:5; 150162306a36Sopenharmony_ci uint64_t dll90_ena:1; 150262306a36Sopenharmony_ci uint64_t dll90_byp:1; 150362306a36Sopenharmony_ci uint64_t dreset:1; 150462306a36Sopenharmony_ci uint64_t reserved_8_63:56; 150562306a36Sopenharmony_ci#endif 150662306a36Sopenharmony_ci } s; 150762306a36Sopenharmony_ci}; 150862306a36Sopenharmony_ci 150962306a36Sopenharmony_ciunion cvmx_lmcx_dll_ctl2 { 151062306a36Sopenharmony_ci uint64_t u64; 151162306a36Sopenharmony_ci struct cvmx_lmcx_dll_ctl2_s { 151262306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 151362306a36Sopenharmony_ci uint64_t reserved_16_63:48; 151462306a36Sopenharmony_ci uint64_t intf_en:1; 151562306a36Sopenharmony_ci uint64_t dll_bringup:1; 151662306a36Sopenharmony_ci uint64_t dreset:1; 151762306a36Sopenharmony_ci uint64_t quad_dll_ena:1; 151862306a36Sopenharmony_ci uint64_t byp_sel:4; 151962306a36Sopenharmony_ci uint64_t byp_setting:8; 152062306a36Sopenharmony_ci#else 152162306a36Sopenharmony_ci uint64_t byp_setting:8; 152262306a36Sopenharmony_ci uint64_t byp_sel:4; 152362306a36Sopenharmony_ci uint64_t quad_dll_ena:1; 152462306a36Sopenharmony_ci uint64_t dreset:1; 152562306a36Sopenharmony_ci uint64_t dll_bringup:1; 152662306a36Sopenharmony_ci uint64_t intf_en:1; 152762306a36Sopenharmony_ci uint64_t reserved_16_63:48; 152862306a36Sopenharmony_ci#endif 152962306a36Sopenharmony_ci } s; 153062306a36Sopenharmony_ci struct cvmx_lmcx_dll_ctl2_cn63xx { 153162306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 153262306a36Sopenharmony_ci uint64_t reserved_15_63:49; 153362306a36Sopenharmony_ci uint64_t dll_bringup:1; 153462306a36Sopenharmony_ci uint64_t dreset:1; 153562306a36Sopenharmony_ci uint64_t quad_dll_ena:1; 153662306a36Sopenharmony_ci uint64_t byp_sel:4; 153762306a36Sopenharmony_ci uint64_t byp_setting:8; 153862306a36Sopenharmony_ci#else 153962306a36Sopenharmony_ci uint64_t byp_setting:8; 154062306a36Sopenharmony_ci uint64_t byp_sel:4; 154162306a36Sopenharmony_ci uint64_t quad_dll_ena:1; 154262306a36Sopenharmony_ci uint64_t dreset:1; 154362306a36Sopenharmony_ci uint64_t dll_bringup:1; 154462306a36Sopenharmony_ci uint64_t reserved_15_63:49; 154562306a36Sopenharmony_ci#endif 154662306a36Sopenharmony_ci } cn63xx; 154762306a36Sopenharmony_ci}; 154862306a36Sopenharmony_ci 154962306a36Sopenharmony_ciunion cvmx_lmcx_dll_ctl3 { 155062306a36Sopenharmony_ci uint64_t u64; 155162306a36Sopenharmony_ci struct cvmx_lmcx_dll_ctl3_s { 155262306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 155362306a36Sopenharmony_ci uint64_t reserved_41_63:23; 155462306a36Sopenharmony_ci uint64_t dclk90_fwd:1; 155562306a36Sopenharmony_ci uint64_t ddr_90_dly_byp:1; 155662306a36Sopenharmony_ci uint64_t dclk90_recal_dis:1; 155762306a36Sopenharmony_ci uint64_t dclk90_byp_sel:1; 155862306a36Sopenharmony_ci uint64_t dclk90_byp_setting:8; 155962306a36Sopenharmony_ci uint64_t dll_fast:1; 156062306a36Sopenharmony_ci uint64_t dll90_setting:8; 156162306a36Sopenharmony_ci uint64_t fine_tune_mode:1; 156262306a36Sopenharmony_ci uint64_t dll_mode:1; 156362306a36Sopenharmony_ci uint64_t dll90_byte_sel:4; 156462306a36Sopenharmony_ci uint64_t offset_ena:1; 156562306a36Sopenharmony_ci uint64_t load_offset:1; 156662306a36Sopenharmony_ci uint64_t mode_sel:2; 156762306a36Sopenharmony_ci uint64_t byte_sel:4; 156862306a36Sopenharmony_ci uint64_t offset:6; 156962306a36Sopenharmony_ci#else 157062306a36Sopenharmony_ci uint64_t offset:6; 157162306a36Sopenharmony_ci uint64_t byte_sel:4; 157262306a36Sopenharmony_ci uint64_t mode_sel:2; 157362306a36Sopenharmony_ci uint64_t load_offset:1; 157462306a36Sopenharmony_ci uint64_t offset_ena:1; 157562306a36Sopenharmony_ci uint64_t dll90_byte_sel:4; 157662306a36Sopenharmony_ci uint64_t dll_mode:1; 157762306a36Sopenharmony_ci uint64_t fine_tune_mode:1; 157862306a36Sopenharmony_ci uint64_t dll90_setting:8; 157962306a36Sopenharmony_ci uint64_t dll_fast:1; 158062306a36Sopenharmony_ci uint64_t dclk90_byp_setting:8; 158162306a36Sopenharmony_ci uint64_t dclk90_byp_sel:1; 158262306a36Sopenharmony_ci uint64_t dclk90_recal_dis:1; 158362306a36Sopenharmony_ci uint64_t ddr_90_dly_byp:1; 158462306a36Sopenharmony_ci uint64_t dclk90_fwd:1; 158562306a36Sopenharmony_ci uint64_t reserved_41_63:23; 158662306a36Sopenharmony_ci#endif 158762306a36Sopenharmony_ci } s; 158862306a36Sopenharmony_ci struct cvmx_lmcx_dll_ctl3_cn63xx { 158962306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 159062306a36Sopenharmony_ci uint64_t reserved_29_63:35; 159162306a36Sopenharmony_ci uint64_t dll_fast:1; 159262306a36Sopenharmony_ci uint64_t dll90_setting:8; 159362306a36Sopenharmony_ci uint64_t fine_tune_mode:1; 159462306a36Sopenharmony_ci uint64_t dll_mode:1; 159562306a36Sopenharmony_ci uint64_t dll90_byte_sel:4; 159662306a36Sopenharmony_ci uint64_t offset_ena:1; 159762306a36Sopenharmony_ci uint64_t load_offset:1; 159862306a36Sopenharmony_ci uint64_t mode_sel:2; 159962306a36Sopenharmony_ci uint64_t byte_sel:4; 160062306a36Sopenharmony_ci uint64_t offset:6; 160162306a36Sopenharmony_ci#else 160262306a36Sopenharmony_ci uint64_t offset:6; 160362306a36Sopenharmony_ci uint64_t byte_sel:4; 160462306a36Sopenharmony_ci uint64_t mode_sel:2; 160562306a36Sopenharmony_ci uint64_t load_offset:1; 160662306a36Sopenharmony_ci uint64_t offset_ena:1; 160762306a36Sopenharmony_ci uint64_t dll90_byte_sel:4; 160862306a36Sopenharmony_ci uint64_t dll_mode:1; 160962306a36Sopenharmony_ci uint64_t fine_tune_mode:1; 161062306a36Sopenharmony_ci uint64_t dll90_setting:8; 161162306a36Sopenharmony_ci uint64_t dll_fast:1; 161262306a36Sopenharmony_ci uint64_t reserved_29_63:35; 161362306a36Sopenharmony_ci#endif 161462306a36Sopenharmony_ci } cn63xx; 161562306a36Sopenharmony_ci}; 161662306a36Sopenharmony_ci 161762306a36Sopenharmony_ciunion cvmx_lmcx_dual_memcfg { 161862306a36Sopenharmony_ci uint64_t u64; 161962306a36Sopenharmony_ci struct cvmx_lmcx_dual_memcfg_s { 162062306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 162162306a36Sopenharmony_ci uint64_t reserved_20_63:44; 162262306a36Sopenharmony_ci uint64_t bank8:1; 162362306a36Sopenharmony_ci uint64_t row_lsb:3; 162462306a36Sopenharmony_ci uint64_t reserved_8_15:8; 162562306a36Sopenharmony_ci uint64_t cs_mask:8; 162662306a36Sopenharmony_ci#else 162762306a36Sopenharmony_ci uint64_t cs_mask:8; 162862306a36Sopenharmony_ci uint64_t reserved_8_15:8; 162962306a36Sopenharmony_ci uint64_t row_lsb:3; 163062306a36Sopenharmony_ci uint64_t bank8:1; 163162306a36Sopenharmony_ci uint64_t reserved_20_63:44; 163262306a36Sopenharmony_ci#endif 163362306a36Sopenharmony_ci } s; 163462306a36Sopenharmony_ci struct cvmx_lmcx_dual_memcfg_cn61xx { 163562306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 163662306a36Sopenharmony_ci uint64_t reserved_19_63:45; 163762306a36Sopenharmony_ci uint64_t row_lsb:3; 163862306a36Sopenharmony_ci uint64_t reserved_8_15:8; 163962306a36Sopenharmony_ci uint64_t cs_mask:8; 164062306a36Sopenharmony_ci#else 164162306a36Sopenharmony_ci uint64_t cs_mask:8; 164262306a36Sopenharmony_ci uint64_t reserved_8_15:8; 164362306a36Sopenharmony_ci uint64_t row_lsb:3; 164462306a36Sopenharmony_ci uint64_t reserved_19_63:45; 164562306a36Sopenharmony_ci#endif 164662306a36Sopenharmony_ci } cn61xx; 164762306a36Sopenharmony_ci}; 164862306a36Sopenharmony_ci 164962306a36Sopenharmony_ciunion cvmx_lmcx_ecc_synd { 165062306a36Sopenharmony_ci uint64_t u64; 165162306a36Sopenharmony_ci struct cvmx_lmcx_ecc_synd_s { 165262306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 165362306a36Sopenharmony_ci uint64_t reserved_32_63:32; 165462306a36Sopenharmony_ci uint64_t mrdsyn3:8; 165562306a36Sopenharmony_ci uint64_t mrdsyn2:8; 165662306a36Sopenharmony_ci uint64_t mrdsyn1:8; 165762306a36Sopenharmony_ci uint64_t mrdsyn0:8; 165862306a36Sopenharmony_ci#else 165962306a36Sopenharmony_ci uint64_t mrdsyn0:8; 166062306a36Sopenharmony_ci uint64_t mrdsyn1:8; 166162306a36Sopenharmony_ci uint64_t mrdsyn2:8; 166262306a36Sopenharmony_ci uint64_t mrdsyn3:8; 166362306a36Sopenharmony_ci uint64_t reserved_32_63:32; 166462306a36Sopenharmony_ci#endif 166562306a36Sopenharmony_ci } s; 166662306a36Sopenharmony_ci}; 166762306a36Sopenharmony_ci 166862306a36Sopenharmony_ciunion cvmx_lmcx_fadr { 166962306a36Sopenharmony_ci uint64_t u64; 167062306a36Sopenharmony_ci struct cvmx_lmcx_fadr_s { 167162306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 167262306a36Sopenharmony_ci uint64_t reserved_0_63:64; 167362306a36Sopenharmony_ci#else 167462306a36Sopenharmony_ci uint64_t reserved_0_63:64; 167562306a36Sopenharmony_ci#endif 167662306a36Sopenharmony_ci } s; 167762306a36Sopenharmony_ci struct cvmx_lmcx_fadr_cn30xx { 167862306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 167962306a36Sopenharmony_ci uint64_t reserved_32_63:32; 168062306a36Sopenharmony_ci uint64_t fdimm:2; 168162306a36Sopenharmony_ci uint64_t fbunk:1; 168262306a36Sopenharmony_ci uint64_t fbank:3; 168362306a36Sopenharmony_ci uint64_t frow:14; 168462306a36Sopenharmony_ci uint64_t fcol:12; 168562306a36Sopenharmony_ci#else 168662306a36Sopenharmony_ci uint64_t fcol:12; 168762306a36Sopenharmony_ci uint64_t frow:14; 168862306a36Sopenharmony_ci uint64_t fbank:3; 168962306a36Sopenharmony_ci uint64_t fbunk:1; 169062306a36Sopenharmony_ci uint64_t fdimm:2; 169162306a36Sopenharmony_ci uint64_t reserved_32_63:32; 169262306a36Sopenharmony_ci#endif 169362306a36Sopenharmony_ci } cn30xx; 169462306a36Sopenharmony_ci struct cvmx_lmcx_fadr_cn61xx { 169562306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 169662306a36Sopenharmony_ci uint64_t reserved_36_63:28; 169762306a36Sopenharmony_ci uint64_t fdimm:2; 169862306a36Sopenharmony_ci uint64_t fbunk:1; 169962306a36Sopenharmony_ci uint64_t fbank:3; 170062306a36Sopenharmony_ci uint64_t frow:16; 170162306a36Sopenharmony_ci uint64_t fcol:14; 170262306a36Sopenharmony_ci#else 170362306a36Sopenharmony_ci uint64_t fcol:14; 170462306a36Sopenharmony_ci uint64_t frow:16; 170562306a36Sopenharmony_ci uint64_t fbank:3; 170662306a36Sopenharmony_ci uint64_t fbunk:1; 170762306a36Sopenharmony_ci uint64_t fdimm:2; 170862306a36Sopenharmony_ci uint64_t reserved_36_63:28; 170962306a36Sopenharmony_ci#endif 171062306a36Sopenharmony_ci } cn61xx; 171162306a36Sopenharmony_ci}; 171262306a36Sopenharmony_ci 171362306a36Sopenharmony_ciunion cvmx_lmcx_ifb_cnt { 171462306a36Sopenharmony_ci uint64_t u64; 171562306a36Sopenharmony_ci struct cvmx_lmcx_ifb_cnt_s { 171662306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 171762306a36Sopenharmony_ci uint64_t ifbcnt:64; 171862306a36Sopenharmony_ci#else 171962306a36Sopenharmony_ci uint64_t ifbcnt:64; 172062306a36Sopenharmony_ci#endif 172162306a36Sopenharmony_ci } s; 172262306a36Sopenharmony_ci}; 172362306a36Sopenharmony_ci 172462306a36Sopenharmony_ciunion cvmx_lmcx_ifb_cnt_hi { 172562306a36Sopenharmony_ci uint64_t u64; 172662306a36Sopenharmony_ci struct cvmx_lmcx_ifb_cnt_hi_s { 172762306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 172862306a36Sopenharmony_ci uint64_t reserved_32_63:32; 172962306a36Sopenharmony_ci uint64_t ifbcnt_hi:32; 173062306a36Sopenharmony_ci#else 173162306a36Sopenharmony_ci uint64_t ifbcnt_hi:32; 173262306a36Sopenharmony_ci uint64_t reserved_32_63:32; 173362306a36Sopenharmony_ci#endif 173462306a36Sopenharmony_ci } s; 173562306a36Sopenharmony_ci}; 173662306a36Sopenharmony_ci 173762306a36Sopenharmony_ciunion cvmx_lmcx_ifb_cnt_lo { 173862306a36Sopenharmony_ci uint64_t u64; 173962306a36Sopenharmony_ci struct cvmx_lmcx_ifb_cnt_lo_s { 174062306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 174162306a36Sopenharmony_ci uint64_t reserved_32_63:32; 174262306a36Sopenharmony_ci uint64_t ifbcnt_lo:32; 174362306a36Sopenharmony_ci#else 174462306a36Sopenharmony_ci uint64_t ifbcnt_lo:32; 174562306a36Sopenharmony_ci uint64_t reserved_32_63:32; 174662306a36Sopenharmony_ci#endif 174762306a36Sopenharmony_ci } s; 174862306a36Sopenharmony_ci}; 174962306a36Sopenharmony_ci 175062306a36Sopenharmony_ciunion cvmx_lmcx_int { 175162306a36Sopenharmony_ci uint64_t u64; 175262306a36Sopenharmony_ci struct cvmx_lmcx_int_s { 175362306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 175462306a36Sopenharmony_ci uint64_t reserved_9_63:55; 175562306a36Sopenharmony_ci uint64_t ded_err:4; 175662306a36Sopenharmony_ci uint64_t sec_err:4; 175762306a36Sopenharmony_ci uint64_t nxm_wr_err:1; 175862306a36Sopenharmony_ci#else 175962306a36Sopenharmony_ci uint64_t nxm_wr_err:1; 176062306a36Sopenharmony_ci uint64_t sec_err:4; 176162306a36Sopenharmony_ci uint64_t ded_err:4; 176262306a36Sopenharmony_ci uint64_t reserved_9_63:55; 176362306a36Sopenharmony_ci#endif 176462306a36Sopenharmony_ci } s; 176562306a36Sopenharmony_ci}; 176662306a36Sopenharmony_ci 176762306a36Sopenharmony_ciunion cvmx_lmcx_int_en { 176862306a36Sopenharmony_ci uint64_t u64; 176962306a36Sopenharmony_ci struct cvmx_lmcx_int_en_s { 177062306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 177162306a36Sopenharmony_ci uint64_t reserved_3_63:61; 177262306a36Sopenharmony_ci uint64_t intr_ded_ena:1; 177362306a36Sopenharmony_ci uint64_t intr_sec_ena:1; 177462306a36Sopenharmony_ci uint64_t intr_nxm_wr_ena:1; 177562306a36Sopenharmony_ci#else 177662306a36Sopenharmony_ci uint64_t intr_nxm_wr_ena:1; 177762306a36Sopenharmony_ci uint64_t intr_sec_ena:1; 177862306a36Sopenharmony_ci uint64_t intr_ded_ena:1; 177962306a36Sopenharmony_ci uint64_t reserved_3_63:61; 178062306a36Sopenharmony_ci#endif 178162306a36Sopenharmony_ci } s; 178262306a36Sopenharmony_ci}; 178362306a36Sopenharmony_ci 178462306a36Sopenharmony_ciunion cvmx_lmcx_mem_cfg0 { 178562306a36Sopenharmony_ci uint64_t u64; 178662306a36Sopenharmony_ci struct cvmx_lmcx_mem_cfg0_s { 178762306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 178862306a36Sopenharmony_ci uint64_t reserved_32_63:32; 178962306a36Sopenharmony_ci uint64_t reset:1; 179062306a36Sopenharmony_ci uint64_t silo_qc:1; 179162306a36Sopenharmony_ci uint64_t bunk_ena:1; 179262306a36Sopenharmony_ci uint64_t ded_err:4; 179362306a36Sopenharmony_ci uint64_t sec_err:4; 179462306a36Sopenharmony_ci uint64_t intr_ded_ena:1; 179562306a36Sopenharmony_ci uint64_t intr_sec_ena:1; 179662306a36Sopenharmony_ci uint64_t tcl:4; 179762306a36Sopenharmony_ci uint64_t ref_int:6; 179862306a36Sopenharmony_ci uint64_t pbank_lsb:4; 179962306a36Sopenharmony_ci uint64_t row_lsb:3; 180062306a36Sopenharmony_ci uint64_t ecc_ena:1; 180162306a36Sopenharmony_ci uint64_t init_start:1; 180262306a36Sopenharmony_ci#else 180362306a36Sopenharmony_ci uint64_t init_start:1; 180462306a36Sopenharmony_ci uint64_t ecc_ena:1; 180562306a36Sopenharmony_ci uint64_t row_lsb:3; 180662306a36Sopenharmony_ci uint64_t pbank_lsb:4; 180762306a36Sopenharmony_ci uint64_t ref_int:6; 180862306a36Sopenharmony_ci uint64_t tcl:4; 180962306a36Sopenharmony_ci uint64_t intr_sec_ena:1; 181062306a36Sopenharmony_ci uint64_t intr_ded_ena:1; 181162306a36Sopenharmony_ci uint64_t sec_err:4; 181262306a36Sopenharmony_ci uint64_t ded_err:4; 181362306a36Sopenharmony_ci uint64_t bunk_ena:1; 181462306a36Sopenharmony_ci uint64_t silo_qc:1; 181562306a36Sopenharmony_ci uint64_t reset:1; 181662306a36Sopenharmony_ci uint64_t reserved_32_63:32; 181762306a36Sopenharmony_ci#endif 181862306a36Sopenharmony_ci } s; 181962306a36Sopenharmony_ci}; 182062306a36Sopenharmony_ci 182162306a36Sopenharmony_ciunion cvmx_lmcx_mem_cfg1 { 182262306a36Sopenharmony_ci uint64_t u64; 182362306a36Sopenharmony_ci struct cvmx_lmcx_mem_cfg1_s { 182462306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 182562306a36Sopenharmony_ci uint64_t reserved_32_63:32; 182662306a36Sopenharmony_ci uint64_t comp_bypass:1; 182762306a36Sopenharmony_ci uint64_t trrd:3; 182862306a36Sopenharmony_ci uint64_t caslat:3; 182962306a36Sopenharmony_ci uint64_t tmrd:3; 183062306a36Sopenharmony_ci uint64_t trfc:5; 183162306a36Sopenharmony_ci uint64_t trp:4; 183262306a36Sopenharmony_ci uint64_t twtr:4; 183362306a36Sopenharmony_ci uint64_t trcd:4; 183462306a36Sopenharmony_ci uint64_t tras:5; 183562306a36Sopenharmony_ci#else 183662306a36Sopenharmony_ci uint64_t tras:5; 183762306a36Sopenharmony_ci uint64_t trcd:4; 183862306a36Sopenharmony_ci uint64_t twtr:4; 183962306a36Sopenharmony_ci uint64_t trp:4; 184062306a36Sopenharmony_ci uint64_t trfc:5; 184162306a36Sopenharmony_ci uint64_t tmrd:3; 184262306a36Sopenharmony_ci uint64_t caslat:3; 184362306a36Sopenharmony_ci uint64_t trrd:3; 184462306a36Sopenharmony_ci uint64_t comp_bypass:1; 184562306a36Sopenharmony_ci uint64_t reserved_32_63:32; 184662306a36Sopenharmony_ci#endif 184762306a36Sopenharmony_ci } s; 184862306a36Sopenharmony_ci struct cvmx_lmcx_mem_cfg1_cn38xx { 184962306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 185062306a36Sopenharmony_ci uint64_t reserved_31_63:33; 185162306a36Sopenharmony_ci uint64_t trrd:3; 185262306a36Sopenharmony_ci uint64_t caslat:3; 185362306a36Sopenharmony_ci uint64_t tmrd:3; 185462306a36Sopenharmony_ci uint64_t trfc:5; 185562306a36Sopenharmony_ci uint64_t trp:4; 185662306a36Sopenharmony_ci uint64_t twtr:4; 185762306a36Sopenharmony_ci uint64_t trcd:4; 185862306a36Sopenharmony_ci uint64_t tras:5; 185962306a36Sopenharmony_ci#else 186062306a36Sopenharmony_ci uint64_t tras:5; 186162306a36Sopenharmony_ci uint64_t trcd:4; 186262306a36Sopenharmony_ci uint64_t twtr:4; 186362306a36Sopenharmony_ci uint64_t trp:4; 186462306a36Sopenharmony_ci uint64_t trfc:5; 186562306a36Sopenharmony_ci uint64_t tmrd:3; 186662306a36Sopenharmony_ci uint64_t caslat:3; 186762306a36Sopenharmony_ci uint64_t trrd:3; 186862306a36Sopenharmony_ci uint64_t reserved_31_63:33; 186962306a36Sopenharmony_ci#endif 187062306a36Sopenharmony_ci } cn38xx; 187162306a36Sopenharmony_ci}; 187262306a36Sopenharmony_ci 187362306a36Sopenharmony_ciunion cvmx_lmcx_modereg_params0 { 187462306a36Sopenharmony_ci uint64_t u64; 187562306a36Sopenharmony_ci struct cvmx_lmcx_modereg_params0_s { 187662306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 187762306a36Sopenharmony_ci uint64_t reserved_25_63:39; 187862306a36Sopenharmony_ci uint64_t ppd:1; 187962306a36Sopenharmony_ci uint64_t wrp:3; 188062306a36Sopenharmony_ci uint64_t dllr:1; 188162306a36Sopenharmony_ci uint64_t tm:1; 188262306a36Sopenharmony_ci uint64_t rbt:1; 188362306a36Sopenharmony_ci uint64_t cl:4; 188462306a36Sopenharmony_ci uint64_t bl:2; 188562306a36Sopenharmony_ci uint64_t qoff:1; 188662306a36Sopenharmony_ci uint64_t tdqs:1; 188762306a36Sopenharmony_ci uint64_t wlev:1; 188862306a36Sopenharmony_ci uint64_t al:2; 188962306a36Sopenharmony_ci uint64_t dll:1; 189062306a36Sopenharmony_ci uint64_t mpr:1; 189162306a36Sopenharmony_ci uint64_t mprloc:2; 189262306a36Sopenharmony_ci uint64_t cwl:3; 189362306a36Sopenharmony_ci#else 189462306a36Sopenharmony_ci uint64_t cwl:3; 189562306a36Sopenharmony_ci uint64_t mprloc:2; 189662306a36Sopenharmony_ci uint64_t mpr:1; 189762306a36Sopenharmony_ci uint64_t dll:1; 189862306a36Sopenharmony_ci uint64_t al:2; 189962306a36Sopenharmony_ci uint64_t wlev:1; 190062306a36Sopenharmony_ci uint64_t tdqs:1; 190162306a36Sopenharmony_ci uint64_t qoff:1; 190262306a36Sopenharmony_ci uint64_t bl:2; 190362306a36Sopenharmony_ci uint64_t cl:4; 190462306a36Sopenharmony_ci uint64_t rbt:1; 190562306a36Sopenharmony_ci uint64_t tm:1; 190662306a36Sopenharmony_ci uint64_t dllr:1; 190762306a36Sopenharmony_ci uint64_t wrp:3; 190862306a36Sopenharmony_ci uint64_t ppd:1; 190962306a36Sopenharmony_ci uint64_t reserved_25_63:39; 191062306a36Sopenharmony_ci#endif 191162306a36Sopenharmony_ci } s; 191262306a36Sopenharmony_ci}; 191362306a36Sopenharmony_ci 191462306a36Sopenharmony_ciunion cvmx_lmcx_modereg_params1 { 191562306a36Sopenharmony_ci uint64_t u64; 191662306a36Sopenharmony_ci struct cvmx_lmcx_modereg_params1_s { 191762306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 191862306a36Sopenharmony_ci uint64_t reserved_48_63:16; 191962306a36Sopenharmony_ci uint64_t rtt_nom_11:3; 192062306a36Sopenharmony_ci uint64_t dic_11:2; 192162306a36Sopenharmony_ci uint64_t rtt_wr_11:2; 192262306a36Sopenharmony_ci uint64_t srt_11:1; 192362306a36Sopenharmony_ci uint64_t asr_11:1; 192462306a36Sopenharmony_ci uint64_t pasr_11:3; 192562306a36Sopenharmony_ci uint64_t rtt_nom_10:3; 192662306a36Sopenharmony_ci uint64_t dic_10:2; 192762306a36Sopenharmony_ci uint64_t rtt_wr_10:2; 192862306a36Sopenharmony_ci uint64_t srt_10:1; 192962306a36Sopenharmony_ci uint64_t asr_10:1; 193062306a36Sopenharmony_ci uint64_t pasr_10:3; 193162306a36Sopenharmony_ci uint64_t rtt_nom_01:3; 193262306a36Sopenharmony_ci uint64_t dic_01:2; 193362306a36Sopenharmony_ci uint64_t rtt_wr_01:2; 193462306a36Sopenharmony_ci uint64_t srt_01:1; 193562306a36Sopenharmony_ci uint64_t asr_01:1; 193662306a36Sopenharmony_ci uint64_t pasr_01:3; 193762306a36Sopenharmony_ci uint64_t rtt_nom_00:3; 193862306a36Sopenharmony_ci uint64_t dic_00:2; 193962306a36Sopenharmony_ci uint64_t rtt_wr_00:2; 194062306a36Sopenharmony_ci uint64_t srt_00:1; 194162306a36Sopenharmony_ci uint64_t asr_00:1; 194262306a36Sopenharmony_ci uint64_t pasr_00:3; 194362306a36Sopenharmony_ci#else 194462306a36Sopenharmony_ci uint64_t pasr_00:3; 194562306a36Sopenharmony_ci uint64_t asr_00:1; 194662306a36Sopenharmony_ci uint64_t srt_00:1; 194762306a36Sopenharmony_ci uint64_t rtt_wr_00:2; 194862306a36Sopenharmony_ci uint64_t dic_00:2; 194962306a36Sopenharmony_ci uint64_t rtt_nom_00:3; 195062306a36Sopenharmony_ci uint64_t pasr_01:3; 195162306a36Sopenharmony_ci uint64_t asr_01:1; 195262306a36Sopenharmony_ci uint64_t srt_01:1; 195362306a36Sopenharmony_ci uint64_t rtt_wr_01:2; 195462306a36Sopenharmony_ci uint64_t dic_01:2; 195562306a36Sopenharmony_ci uint64_t rtt_nom_01:3; 195662306a36Sopenharmony_ci uint64_t pasr_10:3; 195762306a36Sopenharmony_ci uint64_t asr_10:1; 195862306a36Sopenharmony_ci uint64_t srt_10:1; 195962306a36Sopenharmony_ci uint64_t rtt_wr_10:2; 196062306a36Sopenharmony_ci uint64_t dic_10:2; 196162306a36Sopenharmony_ci uint64_t rtt_nom_10:3; 196262306a36Sopenharmony_ci uint64_t pasr_11:3; 196362306a36Sopenharmony_ci uint64_t asr_11:1; 196462306a36Sopenharmony_ci uint64_t srt_11:1; 196562306a36Sopenharmony_ci uint64_t rtt_wr_11:2; 196662306a36Sopenharmony_ci uint64_t dic_11:2; 196762306a36Sopenharmony_ci uint64_t rtt_nom_11:3; 196862306a36Sopenharmony_ci uint64_t reserved_48_63:16; 196962306a36Sopenharmony_ci#endif 197062306a36Sopenharmony_ci } s; 197162306a36Sopenharmony_ci}; 197262306a36Sopenharmony_ci 197362306a36Sopenharmony_ciunion cvmx_lmcx_nxm { 197462306a36Sopenharmony_ci uint64_t u64; 197562306a36Sopenharmony_ci struct cvmx_lmcx_nxm_s { 197662306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 197762306a36Sopenharmony_ci uint64_t reserved_40_63:24; 197862306a36Sopenharmony_ci uint64_t mem_msb_d3_r1:4; 197962306a36Sopenharmony_ci uint64_t mem_msb_d3_r0:4; 198062306a36Sopenharmony_ci uint64_t mem_msb_d2_r1:4; 198162306a36Sopenharmony_ci uint64_t mem_msb_d2_r0:4; 198262306a36Sopenharmony_ci uint64_t mem_msb_d1_r1:4; 198362306a36Sopenharmony_ci uint64_t mem_msb_d1_r0:4; 198462306a36Sopenharmony_ci uint64_t mem_msb_d0_r1:4; 198562306a36Sopenharmony_ci uint64_t mem_msb_d0_r0:4; 198662306a36Sopenharmony_ci uint64_t cs_mask:8; 198762306a36Sopenharmony_ci#else 198862306a36Sopenharmony_ci uint64_t cs_mask:8; 198962306a36Sopenharmony_ci uint64_t mem_msb_d0_r0:4; 199062306a36Sopenharmony_ci uint64_t mem_msb_d0_r1:4; 199162306a36Sopenharmony_ci uint64_t mem_msb_d1_r0:4; 199262306a36Sopenharmony_ci uint64_t mem_msb_d1_r1:4; 199362306a36Sopenharmony_ci uint64_t mem_msb_d2_r0:4; 199462306a36Sopenharmony_ci uint64_t mem_msb_d2_r1:4; 199562306a36Sopenharmony_ci uint64_t mem_msb_d3_r0:4; 199662306a36Sopenharmony_ci uint64_t mem_msb_d3_r1:4; 199762306a36Sopenharmony_ci uint64_t reserved_40_63:24; 199862306a36Sopenharmony_ci#endif 199962306a36Sopenharmony_ci } s; 200062306a36Sopenharmony_ci struct cvmx_lmcx_nxm_cn52xx { 200162306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 200262306a36Sopenharmony_ci uint64_t reserved_8_63:56; 200362306a36Sopenharmony_ci uint64_t cs_mask:8; 200462306a36Sopenharmony_ci#else 200562306a36Sopenharmony_ci uint64_t cs_mask:8; 200662306a36Sopenharmony_ci uint64_t reserved_8_63:56; 200762306a36Sopenharmony_ci#endif 200862306a36Sopenharmony_ci } cn52xx; 200962306a36Sopenharmony_ci}; 201062306a36Sopenharmony_ci 201162306a36Sopenharmony_ciunion cvmx_lmcx_ops_cnt { 201262306a36Sopenharmony_ci uint64_t u64; 201362306a36Sopenharmony_ci struct cvmx_lmcx_ops_cnt_s { 201462306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 201562306a36Sopenharmony_ci uint64_t opscnt:64; 201662306a36Sopenharmony_ci#else 201762306a36Sopenharmony_ci uint64_t opscnt:64; 201862306a36Sopenharmony_ci#endif 201962306a36Sopenharmony_ci } s; 202062306a36Sopenharmony_ci}; 202162306a36Sopenharmony_ci 202262306a36Sopenharmony_ciunion cvmx_lmcx_ops_cnt_hi { 202362306a36Sopenharmony_ci uint64_t u64; 202462306a36Sopenharmony_ci struct cvmx_lmcx_ops_cnt_hi_s { 202562306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 202662306a36Sopenharmony_ci uint64_t reserved_32_63:32; 202762306a36Sopenharmony_ci uint64_t opscnt_hi:32; 202862306a36Sopenharmony_ci#else 202962306a36Sopenharmony_ci uint64_t opscnt_hi:32; 203062306a36Sopenharmony_ci uint64_t reserved_32_63:32; 203162306a36Sopenharmony_ci#endif 203262306a36Sopenharmony_ci } s; 203362306a36Sopenharmony_ci}; 203462306a36Sopenharmony_ci 203562306a36Sopenharmony_ciunion cvmx_lmcx_ops_cnt_lo { 203662306a36Sopenharmony_ci uint64_t u64; 203762306a36Sopenharmony_ci struct cvmx_lmcx_ops_cnt_lo_s { 203862306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 203962306a36Sopenharmony_ci uint64_t reserved_32_63:32; 204062306a36Sopenharmony_ci uint64_t opscnt_lo:32; 204162306a36Sopenharmony_ci#else 204262306a36Sopenharmony_ci uint64_t opscnt_lo:32; 204362306a36Sopenharmony_ci uint64_t reserved_32_63:32; 204462306a36Sopenharmony_ci#endif 204562306a36Sopenharmony_ci } s; 204662306a36Sopenharmony_ci}; 204762306a36Sopenharmony_ci 204862306a36Sopenharmony_ciunion cvmx_lmcx_phy_ctl { 204962306a36Sopenharmony_ci uint64_t u64; 205062306a36Sopenharmony_ci struct cvmx_lmcx_phy_ctl_s { 205162306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 205262306a36Sopenharmony_ci uint64_t reserved_15_63:49; 205362306a36Sopenharmony_ci uint64_t rx_always_on:1; 205462306a36Sopenharmony_ci uint64_t lv_mode:1; 205562306a36Sopenharmony_ci uint64_t ck_tune1:1; 205662306a36Sopenharmony_ci uint64_t ck_dlyout1:4; 205762306a36Sopenharmony_ci uint64_t ck_tune0:1; 205862306a36Sopenharmony_ci uint64_t ck_dlyout0:4; 205962306a36Sopenharmony_ci uint64_t loopback:1; 206062306a36Sopenharmony_ci uint64_t loopback_pos:1; 206162306a36Sopenharmony_ci uint64_t ts_stagger:1; 206262306a36Sopenharmony_ci#else 206362306a36Sopenharmony_ci uint64_t ts_stagger:1; 206462306a36Sopenharmony_ci uint64_t loopback_pos:1; 206562306a36Sopenharmony_ci uint64_t loopback:1; 206662306a36Sopenharmony_ci uint64_t ck_dlyout0:4; 206762306a36Sopenharmony_ci uint64_t ck_tune0:1; 206862306a36Sopenharmony_ci uint64_t ck_dlyout1:4; 206962306a36Sopenharmony_ci uint64_t ck_tune1:1; 207062306a36Sopenharmony_ci uint64_t lv_mode:1; 207162306a36Sopenharmony_ci uint64_t rx_always_on:1; 207262306a36Sopenharmony_ci uint64_t reserved_15_63:49; 207362306a36Sopenharmony_ci#endif 207462306a36Sopenharmony_ci } s; 207562306a36Sopenharmony_ci struct cvmx_lmcx_phy_ctl_cn63xxp1 { 207662306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 207762306a36Sopenharmony_ci uint64_t reserved_14_63:50; 207862306a36Sopenharmony_ci uint64_t lv_mode:1; 207962306a36Sopenharmony_ci uint64_t ck_tune1:1; 208062306a36Sopenharmony_ci uint64_t ck_dlyout1:4; 208162306a36Sopenharmony_ci uint64_t ck_tune0:1; 208262306a36Sopenharmony_ci uint64_t ck_dlyout0:4; 208362306a36Sopenharmony_ci uint64_t loopback:1; 208462306a36Sopenharmony_ci uint64_t loopback_pos:1; 208562306a36Sopenharmony_ci uint64_t ts_stagger:1; 208662306a36Sopenharmony_ci#else 208762306a36Sopenharmony_ci uint64_t ts_stagger:1; 208862306a36Sopenharmony_ci uint64_t loopback_pos:1; 208962306a36Sopenharmony_ci uint64_t loopback:1; 209062306a36Sopenharmony_ci uint64_t ck_dlyout0:4; 209162306a36Sopenharmony_ci uint64_t ck_tune0:1; 209262306a36Sopenharmony_ci uint64_t ck_dlyout1:4; 209362306a36Sopenharmony_ci uint64_t ck_tune1:1; 209462306a36Sopenharmony_ci uint64_t lv_mode:1; 209562306a36Sopenharmony_ci uint64_t reserved_14_63:50; 209662306a36Sopenharmony_ci#endif 209762306a36Sopenharmony_ci } cn63xxp1; 209862306a36Sopenharmony_ci}; 209962306a36Sopenharmony_ci 210062306a36Sopenharmony_ciunion cvmx_lmcx_pll_bwctl { 210162306a36Sopenharmony_ci uint64_t u64; 210262306a36Sopenharmony_ci struct cvmx_lmcx_pll_bwctl_s { 210362306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 210462306a36Sopenharmony_ci uint64_t reserved_5_63:59; 210562306a36Sopenharmony_ci uint64_t bwupd:1; 210662306a36Sopenharmony_ci uint64_t bwctl:4; 210762306a36Sopenharmony_ci#else 210862306a36Sopenharmony_ci uint64_t bwctl:4; 210962306a36Sopenharmony_ci uint64_t bwupd:1; 211062306a36Sopenharmony_ci uint64_t reserved_5_63:59; 211162306a36Sopenharmony_ci#endif 211262306a36Sopenharmony_ci } s; 211362306a36Sopenharmony_ci}; 211462306a36Sopenharmony_ci 211562306a36Sopenharmony_ciunion cvmx_lmcx_pll_ctl { 211662306a36Sopenharmony_ci uint64_t u64; 211762306a36Sopenharmony_ci struct cvmx_lmcx_pll_ctl_s { 211862306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 211962306a36Sopenharmony_ci uint64_t reserved_30_63:34; 212062306a36Sopenharmony_ci uint64_t bypass:1; 212162306a36Sopenharmony_ci uint64_t fasten_n:1; 212262306a36Sopenharmony_ci uint64_t div_reset:1; 212362306a36Sopenharmony_ci uint64_t reset_n:1; 212462306a36Sopenharmony_ci uint64_t clkf:12; 212562306a36Sopenharmony_ci uint64_t clkr:6; 212662306a36Sopenharmony_ci uint64_t reserved_6_7:2; 212762306a36Sopenharmony_ci uint64_t en16:1; 212862306a36Sopenharmony_ci uint64_t en12:1; 212962306a36Sopenharmony_ci uint64_t en8:1; 213062306a36Sopenharmony_ci uint64_t en6:1; 213162306a36Sopenharmony_ci uint64_t en4:1; 213262306a36Sopenharmony_ci uint64_t en2:1; 213362306a36Sopenharmony_ci#else 213462306a36Sopenharmony_ci uint64_t en2:1; 213562306a36Sopenharmony_ci uint64_t en4:1; 213662306a36Sopenharmony_ci uint64_t en6:1; 213762306a36Sopenharmony_ci uint64_t en8:1; 213862306a36Sopenharmony_ci uint64_t en12:1; 213962306a36Sopenharmony_ci uint64_t en16:1; 214062306a36Sopenharmony_ci uint64_t reserved_6_7:2; 214162306a36Sopenharmony_ci uint64_t clkr:6; 214262306a36Sopenharmony_ci uint64_t clkf:12; 214362306a36Sopenharmony_ci uint64_t reset_n:1; 214462306a36Sopenharmony_ci uint64_t div_reset:1; 214562306a36Sopenharmony_ci uint64_t fasten_n:1; 214662306a36Sopenharmony_ci uint64_t bypass:1; 214762306a36Sopenharmony_ci uint64_t reserved_30_63:34; 214862306a36Sopenharmony_ci#endif 214962306a36Sopenharmony_ci } s; 215062306a36Sopenharmony_ci struct cvmx_lmcx_pll_ctl_cn50xx { 215162306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 215262306a36Sopenharmony_ci uint64_t reserved_29_63:35; 215362306a36Sopenharmony_ci uint64_t fasten_n:1; 215462306a36Sopenharmony_ci uint64_t div_reset:1; 215562306a36Sopenharmony_ci uint64_t reset_n:1; 215662306a36Sopenharmony_ci uint64_t clkf:12; 215762306a36Sopenharmony_ci uint64_t clkr:6; 215862306a36Sopenharmony_ci uint64_t reserved_6_7:2; 215962306a36Sopenharmony_ci uint64_t en16:1; 216062306a36Sopenharmony_ci uint64_t en12:1; 216162306a36Sopenharmony_ci uint64_t en8:1; 216262306a36Sopenharmony_ci uint64_t en6:1; 216362306a36Sopenharmony_ci uint64_t en4:1; 216462306a36Sopenharmony_ci uint64_t en2:1; 216562306a36Sopenharmony_ci#else 216662306a36Sopenharmony_ci uint64_t en2:1; 216762306a36Sopenharmony_ci uint64_t en4:1; 216862306a36Sopenharmony_ci uint64_t en6:1; 216962306a36Sopenharmony_ci uint64_t en8:1; 217062306a36Sopenharmony_ci uint64_t en12:1; 217162306a36Sopenharmony_ci uint64_t en16:1; 217262306a36Sopenharmony_ci uint64_t reserved_6_7:2; 217362306a36Sopenharmony_ci uint64_t clkr:6; 217462306a36Sopenharmony_ci uint64_t clkf:12; 217562306a36Sopenharmony_ci uint64_t reset_n:1; 217662306a36Sopenharmony_ci uint64_t div_reset:1; 217762306a36Sopenharmony_ci uint64_t fasten_n:1; 217862306a36Sopenharmony_ci uint64_t reserved_29_63:35; 217962306a36Sopenharmony_ci#endif 218062306a36Sopenharmony_ci } cn50xx; 218162306a36Sopenharmony_ci struct cvmx_lmcx_pll_ctl_cn56xxp1 { 218262306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 218362306a36Sopenharmony_ci uint64_t reserved_28_63:36; 218462306a36Sopenharmony_ci uint64_t div_reset:1; 218562306a36Sopenharmony_ci uint64_t reset_n:1; 218662306a36Sopenharmony_ci uint64_t clkf:12; 218762306a36Sopenharmony_ci uint64_t clkr:6; 218862306a36Sopenharmony_ci uint64_t reserved_6_7:2; 218962306a36Sopenharmony_ci uint64_t en16:1; 219062306a36Sopenharmony_ci uint64_t en12:1; 219162306a36Sopenharmony_ci uint64_t en8:1; 219262306a36Sopenharmony_ci uint64_t en6:1; 219362306a36Sopenharmony_ci uint64_t en4:1; 219462306a36Sopenharmony_ci uint64_t en2:1; 219562306a36Sopenharmony_ci#else 219662306a36Sopenharmony_ci uint64_t en2:1; 219762306a36Sopenharmony_ci uint64_t en4:1; 219862306a36Sopenharmony_ci uint64_t en6:1; 219962306a36Sopenharmony_ci uint64_t en8:1; 220062306a36Sopenharmony_ci uint64_t en12:1; 220162306a36Sopenharmony_ci uint64_t en16:1; 220262306a36Sopenharmony_ci uint64_t reserved_6_7:2; 220362306a36Sopenharmony_ci uint64_t clkr:6; 220462306a36Sopenharmony_ci uint64_t clkf:12; 220562306a36Sopenharmony_ci uint64_t reset_n:1; 220662306a36Sopenharmony_ci uint64_t div_reset:1; 220762306a36Sopenharmony_ci uint64_t reserved_28_63:36; 220862306a36Sopenharmony_ci#endif 220962306a36Sopenharmony_ci } cn56xxp1; 221062306a36Sopenharmony_ci}; 221162306a36Sopenharmony_ci 221262306a36Sopenharmony_ciunion cvmx_lmcx_pll_status { 221362306a36Sopenharmony_ci uint64_t u64; 221462306a36Sopenharmony_ci struct cvmx_lmcx_pll_status_s { 221562306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 221662306a36Sopenharmony_ci uint64_t reserved_32_63:32; 221762306a36Sopenharmony_ci uint64_t ddr__nctl:5; 221862306a36Sopenharmony_ci uint64_t ddr__pctl:5; 221962306a36Sopenharmony_ci uint64_t reserved_2_21:20; 222062306a36Sopenharmony_ci uint64_t rfslip:1; 222162306a36Sopenharmony_ci uint64_t fbslip:1; 222262306a36Sopenharmony_ci#else 222362306a36Sopenharmony_ci uint64_t fbslip:1; 222462306a36Sopenharmony_ci uint64_t rfslip:1; 222562306a36Sopenharmony_ci uint64_t reserved_2_21:20; 222662306a36Sopenharmony_ci uint64_t ddr__pctl:5; 222762306a36Sopenharmony_ci uint64_t ddr__nctl:5; 222862306a36Sopenharmony_ci uint64_t reserved_32_63:32; 222962306a36Sopenharmony_ci#endif 223062306a36Sopenharmony_ci } s; 223162306a36Sopenharmony_ci struct cvmx_lmcx_pll_status_cn58xxp1 { 223262306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 223362306a36Sopenharmony_ci uint64_t reserved_2_63:62; 223462306a36Sopenharmony_ci uint64_t rfslip:1; 223562306a36Sopenharmony_ci uint64_t fbslip:1; 223662306a36Sopenharmony_ci#else 223762306a36Sopenharmony_ci uint64_t fbslip:1; 223862306a36Sopenharmony_ci uint64_t rfslip:1; 223962306a36Sopenharmony_ci uint64_t reserved_2_63:62; 224062306a36Sopenharmony_ci#endif 224162306a36Sopenharmony_ci } cn58xxp1; 224262306a36Sopenharmony_ci}; 224362306a36Sopenharmony_ci 224462306a36Sopenharmony_ciunion cvmx_lmcx_read_level_ctl { 224562306a36Sopenharmony_ci uint64_t u64; 224662306a36Sopenharmony_ci struct cvmx_lmcx_read_level_ctl_s { 224762306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 224862306a36Sopenharmony_ci uint64_t reserved_44_63:20; 224962306a36Sopenharmony_ci uint64_t rankmask:4; 225062306a36Sopenharmony_ci uint64_t pattern:8; 225162306a36Sopenharmony_ci uint64_t row:16; 225262306a36Sopenharmony_ci uint64_t col:12; 225362306a36Sopenharmony_ci uint64_t reserved_3_3:1; 225462306a36Sopenharmony_ci uint64_t bnk:3; 225562306a36Sopenharmony_ci#else 225662306a36Sopenharmony_ci uint64_t bnk:3; 225762306a36Sopenharmony_ci uint64_t reserved_3_3:1; 225862306a36Sopenharmony_ci uint64_t col:12; 225962306a36Sopenharmony_ci uint64_t row:16; 226062306a36Sopenharmony_ci uint64_t pattern:8; 226162306a36Sopenharmony_ci uint64_t rankmask:4; 226262306a36Sopenharmony_ci uint64_t reserved_44_63:20; 226362306a36Sopenharmony_ci#endif 226462306a36Sopenharmony_ci } s; 226562306a36Sopenharmony_ci}; 226662306a36Sopenharmony_ci 226762306a36Sopenharmony_ciunion cvmx_lmcx_read_level_dbg { 226862306a36Sopenharmony_ci uint64_t u64; 226962306a36Sopenharmony_ci struct cvmx_lmcx_read_level_dbg_s { 227062306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 227162306a36Sopenharmony_ci uint64_t reserved_32_63:32; 227262306a36Sopenharmony_ci uint64_t bitmask:16; 227362306a36Sopenharmony_ci uint64_t reserved_4_15:12; 227462306a36Sopenharmony_ci uint64_t byte:4; 227562306a36Sopenharmony_ci#else 227662306a36Sopenharmony_ci uint64_t byte:4; 227762306a36Sopenharmony_ci uint64_t reserved_4_15:12; 227862306a36Sopenharmony_ci uint64_t bitmask:16; 227962306a36Sopenharmony_ci uint64_t reserved_32_63:32; 228062306a36Sopenharmony_ci#endif 228162306a36Sopenharmony_ci } s; 228262306a36Sopenharmony_ci}; 228362306a36Sopenharmony_ci 228462306a36Sopenharmony_ciunion cvmx_lmcx_read_level_rankx { 228562306a36Sopenharmony_ci uint64_t u64; 228662306a36Sopenharmony_ci struct cvmx_lmcx_read_level_rankx_s { 228762306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 228862306a36Sopenharmony_ci uint64_t reserved_38_63:26; 228962306a36Sopenharmony_ci uint64_t status:2; 229062306a36Sopenharmony_ci uint64_t byte8:4; 229162306a36Sopenharmony_ci uint64_t byte7:4; 229262306a36Sopenharmony_ci uint64_t byte6:4; 229362306a36Sopenharmony_ci uint64_t byte5:4; 229462306a36Sopenharmony_ci uint64_t byte4:4; 229562306a36Sopenharmony_ci uint64_t byte3:4; 229662306a36Sopenharmony_ci uint64_t byte2:4; 229762306a36Sopenharmony_ci uint64_t byte1:4; 229862306a36Sopenharmony_ci uint64_t byte0:4; 229962306a36Sopenharmony_ci#else 230062306a36Sopenharmony_ci uint64_t byte0:4; 230162306a36Sopenharmony_ci uint64_t byte1:4; 230262306a36Sopenharmony_ci uint64_t byte2:4; 230362306a36Sopenharmony_ci uint64_t byte3:4; 230462306a36Sopenharmony_ci uint64_t byte4:4; 230562306a36Sopenharmony_ci uint64_t byte5:4; 230662306a36Sopenharmony_ci uint64_t byte6:4; 230762306a36Sopenharmony_ci uint64_t byte7:4; 230862306a36Sopenharmony_ci uint64_t byte8:4; 230962306a36Sopenharmony_ci uint64_t status:2; 231062306a36Sopenharmony_ci uint64_t reserved_38_63:26; 231162306a36Sopenharmony_ci#endif 231262306a36Sopenharmony_ci } s; 231362306a36Sopenharmony_ci}; 231462306a36Sopenharmony_ci 231562306a36Sopenharmony_ciunion cvmx_lmcx_reset_ctl { 231662306a36Sopenharmony_ci uint64_t u64; 231762306a36Sopenharmony_ci struct cvmx_lmcx_reset_ctl_s { 231862306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 231962306a36Sopenharmony_ci uint64_t reserved_4_63:60; 232062306a36Sopenharmony_ci uint64_t ddr3psv:1; 232162306a36Sopenharmony_ci uint64_t ddr3psoft:1; 232262306a36Sopenharmony_ci uint64_t ddr3pwarm:1; 232362306a36Sopenharmony_ci uint64_t ddr3rst:1; 232462306a36Sopenharmony_ci#else 232562306a36Sopenharmony_ci uint64_t ddr3rst:1; 232662306a36Sopenharmony_ci uint64_t ddr3pwarm:1; 232762306a36Sopenharmony_ci uint64_t ddr3psoft:1; 232862306a36Sopenharmony_ci uint64_t ddr3psv:1; 232962306a36Sopenharmony_ci uint64_t reserved_4_63:60; 233062306a36Sopenharmony_ci#endif 233162306a36Sopenharmony_ci } s; 233262306a36Sopenharmony_ci}; 233362306a36Sopenharmony_ci 233462306a36Sopenharmony_ciunion cvmx_lmcx_rlevel_ctl { 233562306a36Sopenharmony_ci uint64_t u64; 233662306a36Sopenharmony_ci struct cvmx_lmcx_rlevel_ctl_s { 233762306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 233862306a36Sopenharmony_ci uint64_t reserved_22_63:42; 233962306a36Sopenharmony_ci uint64_t delay_unload_3:1; 234062306a36Sopenharmony_ci uint64_t delay_unload_2:1; 234162306a36Sopenharmony_ci uint64_t delay_unload_1:1; 234262306a36Sopenharmony_ci uint64_t delay_unload_0:1; 234362306a36Sopenharmony_ci uint64_t bitmask:8; 234462306a36Sopenharmony_ci uint64_t or_dis:1; 234562306a36Sopenharmony_ci uint64_t offset_en:1; 234662306a36Sopenharmony_ci uint64_t offset:4; 234762306a36Sopenharmony_ci uint64_t byte:4; 234862306a36Sopenharmony_ci#else 234962306a36Sopenharmony_ci uint64_t byte:4; 235062306a36Sopenharmony_ci uint64_t offset:4; 235162306a36Sopenharmony_ci uint64_t offset_en:1; 235262306a36Sopenharmony_ci uint64_t or_dis:1; 235362306a36Sopenharmony_ci uint64_t bitmask:8; 235462306a36Sopenharmony_ci uint64_t delay_unload_0:1; 235562306a36Sopenharmony_ci uint64_t delay_unload_1:1; 235662306a36Sopenharmony_ci uint64_t delay_unload_2:1; 235762306a36Sopenharmony_ci uint64_t delay_unload_3:1; 235862306a36Sopenharmony_ci uint64_t reserved_22_63:42; 235962306a36Sopenharmony_ci#endif 236062306a36Sopenharmony_ci } s; 236162306a36Sopenharmony_ci struct cvmx_lmcx_rlevel_ctl_cn63xxp1 { 236262306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 236362306a36Sopenharmony_ci uint64_t reserved_9_63:55; 236462306a36Sopenharmony_ci uint64_t offset_en:1; 236562306a36Sopenharmony_ci uint64_t offset:4; 236662306a36Sopenharmony_ci uint64_t byte:4; 236762306a36Sopenharmony_ci#else 236862306a36Sopenharmony_ci uint64_t byte:4; 236962306a36Sopenharmony_ci uint64_t offset:4; 237062306a36Sopenharmony_ci uint64_t offset_en:1; 237162306a36Sopenharmony_ci uint64_t reserved_9_63:55; 237262306a36Sopenharmony_ci#endif 237362306a36Sopenharmony_ci } cn63xxp1; 237462306a36Sopenharmony_ci}; 237562306a36Sopenharmony_ci 237662306a36Sopenharmony_ciunion cvmx_lmcx_rlevel_dbg { 237762306a36Sopenharmony_ci uint64_t u64; 237862306a36Sopenharmony_ci struct cvmx_lmcx_rlevel_dbg_s { 237962306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 238062306a36Sopenharmony_ci uint64_t bitmask:64; 238162306a36Sopenharmony_ci#else 238262306a36Sopenharmony_ci uint64_t bitmask:64; 238362306a36Sopenharmony_ci#endif 238462306a36Sopenharmony_ci } s; 238562306a36Sopenharmony_ci}; 238662306a36Sopenharmony_ci 238762306a36Sopenharmony_ciunion cvmx_lmcx_rlevel_rankx { 238862306a36Sopenharmony_ci uint64_t u64; 238962306a36Sopenharmony_ci struct cvmx_lmcx_rlevel_rankx_s { 239062306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 239162306a36Sopenharmony_ci uint64_t reserved_56_63:8; 239262306a36Sopenharmony_ci uint64_t status:2; 239362306a36Sopenharmony_ci uint64_t byte8:6; 239462306a36Sopenharmony_ci uint64_t byte7:6; 239562306a36Sopenharmony_ci uint64_t byte6:6; 239662306a36Sopenharmony_ci uint64_t byte5:6; 239762306a36Sopenharmony_ci uint64_t byte4:6; 239862306a36Sopenharmony_ci uint64_t byte3:6; 239962306a36Sopenharmony_ci uint64_t byte2:6; 240062306a36Sopenharmony_ci uint64_t byte1:6; 240162306a36Sopenharmony_ci uint64_t byte0:6; 240262306a36Sopenharmony_ci#else 240362306a36Sopenharmony_ci uint64_t byte0:6; 240462306a36Sopenharmony_ci uint64_t byte1:6; 240562306a36Sopenharmony_ci uint64_t byte2:6; 240662306a36Sopenharmony_ci uint64_t byte3:6; 240762306a36Sopenharmony_ci uint64_t byte4:6; 240862306a36Sopenharmony_ci uint64_t byte5:6; 240962306a36Sopenharmony_ci uint64_t byte6:6; 241062306a36Sopenharmony_ci uint64_t byte7:6; 241162306a36Sopenharmony_ci uint64_t byte8:6; 241262306a36Sopenharmony_ci uint64_t status:2; 241362306a36Sopenharmony_ci uint64_t reserved_56_63:8; 241462306a36Sopenharmony_ci#endif 241562306a36Sopenharmony_ci } s; 241662306a36Sopenharmony_ci}; 241762306a36Sopenharmony_ci 241862306a36Sopenharmony_ciunion cvmx_lmcx_rodt_comp_ctl { 241962306a36Sopenharmony_ci uint64_t u64; 242062306a36Sopenharmony_ci struct cvmx_lmcx_rodt_comp_ctl_s { 242162306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 242262306a36Sopenharmony_ci uint64_t reserved_17_63:47; 242362306a36Sopenharmony_ci uint64_t enable:1; 242462306a36Sopenharmony_ci uint64_t reserved_12_15:4; 242562306a36Sopenharmony_ci uint64_t nctl:4; 242662306a36Sopenharmony_ci uint64_t reserved_5_7:3; 242762306a36Sopenharmony_ci uint64_t pctl:5; 242862306a36Sopenharmony_ci#else 242962306a36Sopenharmony_ci uint64_t pctl:5; 243062306a36Sopenharmony_ci uint64_t reserved_5_7:3; 243162306a36Sopenharmony_ci uint64_t nctl:4; 243262306a36Sopenharmony_ci uint64_t reserved_12_15:4; 243362306a36Sopenharmony_ci uint64_t enable:1; 243462306a36Sopenharmony_ci uint64_t reserved_17_63:47; 243562306a36Sopenharmony_ci#endif 243662306a36Sopenharmony_ci } s; 243762306a36Sopenharmony_ci}; 243862306a36Sopenharmony_ci 243962306a36Sopenharmony_ciunion cvmx_lmcx_rodt_ctl { 244062306a36Sopenharmony_ci uint64_t u64; 244162306a36Sopenharmony_ci struct cvmx_lmcx_rodt_ctl_s { 244262306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 244362306a36Sopenharmony_ci uint64_t reserved_32_63:32; 244462306a36Sopenharmony_ci uint64_t rodt_hi3:4; 244562306a36Sopenharmony_ci uint64_t rodt_hi2:4; 244662306a36Sopenharmony_ci uint64_t rodt_hi1:4; 244762306a36Sopenharmony_ci uint64_t rodt_hi0:4; 244862306a36Sopenharmony_ci uint64_t rodt_lo3:4; 244962306a36Sopenharmony_ci uint64_t rodt_lo2:4; 245062306a36Sopenharmony_ci uint64_t rodt_lo1:4; 245162306a36Sopenharmony_ci uint64_t rodt_lo0:4; 245262306a36Sopenharmony_ci#else 245362306a36Sopenharmony_ci uint64_t rodt_lo0:4; 245462306a36Sopenharmony_ci uint64_t rodt_lo1:4; 245562306a36Sopenharmony_ci uint64_t rodt_lo2:4; 245662306a36Sopenharmony_ci uint64_t rodt_lo3:4; 245762306a36Sopenharmony_ci uint64_t rodt_hi0:4; 245862306a36Sopenharmony_ci uint64_t rodt_hi1:4; 245962306a36Sopenharmony_ci uint64_t rodt_hi2:4; 246062306a36Sopenharmony_ci uint64_t rodt_hi3:4; 246162306a36Sopenharmony_ci uint64_t reserved_32_63:32; 246262306a36Sopenharmony_ci#endif 246362306a36Sopenharmony_ci } s; 246462306a36Sopenharmony_ci}; 246562306a36Sopenharmony_ci 246662306a36Sopenharmony_ciunion cvmx_lmcx_rodt_mask { 246762306a36Sopenharmony_ci uint64_t u64; 246862306a36Sopenharmony_ci struct cvmx_lmcx_rodt_mask_s { 246962306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 247062306a36Sopenharmony_ci uint64_t rodt_d3_r1:8; 247162306a36Sopenharmony_ci uint64_t rodt_d3_r0:8; 247262306a36Sopenharmony_ci uint64_t rodt_d2_r1:8; 247362306a36Sopenharmony_ci uint64_t rodt_d2_r0:8; 247462306a36Sopenharmony_ci uint64_t rodt_d1_r1:8; 247562306a36Sopenharmony_ci uint64_t rodt_d1_r0:8; 247662306a36Sopenharmony_ci uint64_t rodt_d0_r1:8; 247762306a36Sopenharmony_ci uint64_t rodt_d0_r0:8; 247862306a36Sopenharmony_ci#else 247962306a36Sopenharmony_ci uint64_t rodt_d0_r0:8; 248062306a36Sopenharmony_ci uint64_t rodt_d0_r1:8; 248162306a36Sopenharmony_ci uint64_t rodt_d1_r0:8; 248262306a36Sopenharmony_ci uint64_t rodt_d1_r1:8; 248362306a36Sopenharmony_ci uint64_t rodt_d2_r0:8; 248462306a36Sopenharmony_ci uint64_t rodt_d2_r1:8; 248562306a36Sopenharmony_ci uint64_t rodt_d3_r0:8; 248662306a36Sopenharmony_ci uint64_t rodt_d3_r1:8; 248762306a36Sopenharmony_ci#endif 248862306a36Sopenharmony_ci } s; 248962306a36Sopenharmony_ci}; 249062306a36Sopenharmony_ci 249162306a36Sopenharmony_ciunion cvmx_lmcx_scramble_cfg0 { 249262306a36Sopenharmony_ci uint64_t u64; 249362306a36Sopenharmony_ci struct cvmx_lmcx_scramble_cfg0_s { 249462306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 249562306a36Sopenharmony_ci uint64_t key:64; 249662306a36Sopenharmony_ci#else 249762306a36Sopenharmony_ci uint64_t key:64; 249862306a36Sopenharmony_ci#endif 249962306a36Sopenharmony_ci } s; 250062306a36Sopenharmony_ci}; 250162306a36Sopenharmony_ci 250262306a36Sopenharmony_ciunion cvmx_lmcx_scramble_cfg1 { 250362306a36Sopenharmony_ci uint64_t u64; 250462306a36Sopenharmony_ci struct cvmx_lmcx_scramble_cfg1_s { 250562306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 250662306a36Sopenharmony_ci uint64_t key:64; 250762306a36Sopenharmony_ci#else 250862306a36Sopenharmony_ci uint64_t key:64; 250962306a36Sopenharmony_ci#endif 251062306a36Sopenharmony_ci } s; 251162306a36Sopenharmony_ci}; 251262306a36Sopenharmony_ci 251362306a36Sopenharmony_ciunion cvmx_lmcx_scrambled_fadr { 251462306a36Sopenharmony_ci uint64_t u64; 251562306a36Sopenharmony_ci struct cvmx_lmcx_scrambled_fadr_s { 251662306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 251762306a36Sopenharmony_ci uint64_t reserved_36_63:28; 251862306a36Sopenharmony_ci uint64_t fdimm:2; 251962306a36Sopenharmony_ci uint64_t fbunk:1; 252062306a36Sopenharmony_ci uint64_t fbank:3; 252162306a36Sopenharmony_ci uint64_t frow:16; 252262306a36Sopenharmony_ci uint64_t fcol:14; 252362306a36Sopenharmony_ci#else 252462306a36Sopenharmony_ci uint64_t fcol:14; 252562306a36Sopenharmony_ci uint64_t frow:16; 252662306a36Sopenharmony_ci uint64_t fbank:3; 252762306a36Sopenharmony_ci uint64_t fbunk:1; 252862306a36Sopenharmony_ci uint64_t fdimm:2; 252962306a36Sopenharmony_ci uint64_t reserved_36_63:28; 253062306a36Sopenharmony_ci#endif 253162306a36Sopenharmony_ci } s; 253262306a36Sopenharmony_ci}; 253362306a36Sopenharmony_ci 253462306a36Sopenharmony_ciunion cvmx_lmcx_slot_ctl0 { 253562306a36Sopenharmony_ci uint64_t u64; 253662306a36Sopenharmony_ci struct cvmx_lmcx_slot_ctl0_s { 253762306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 253862306a36Sopenharmony_ci uint64_t reserved_24_63:40; 253962306a36Sopenharmony_ci uint64_t w2w_init:6; 254062306a36Sopenharmony_ci uint64_t w2r_init:6; 254162306a36Sopenharmony_ci uint64_t r2w_init:6; 254262306a36Sopenharmony_ci uint64_t r2r_init:6; 254362306a36Sopenharmony_ci#else 254462306a36Sopenharmony_ci uint64_t r2r_init:6; 254562306a36Sopenharmony_ci uint64_t r2w_init:6; 254662306a36Sopenharmony_ci uint64_t w2r_init:6; 254762306a36Sopenharmony_ci uint64_t w2w_init:6; 254862306a36Sopenharmony_ci uint64_t reserved_24_63:40; 254962306a36Sopenharmony_ci#endif 255062306a36Sopenharmony_ci } s; 255162306a36Sopenharmony_ci}; 255262306a36Sopenharmony_ci 255362306a36Sopenharmony_ciunion cvmx_lmcx_slot_ctl1 { 255462306a36Sopenharmony_ci uint64_t u64; 255562306a36Sopenharmony_ci struct cvmx_lmcx_slot_ctl1_s { 255662306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 255762306a36Sopenharmony_ci uint64_t reserved_24_63:40; 255862306a36Sopenharmony_ci uint64_t w2w_xrank_init:6; 255962306a36Sopenharmony_ci uint64_t w2r_xrank_init:6; 256062306a36Sopenharmony_ci uint64_t r2w_xrank_init:6; 256162306a36Sopenharmony_ci uint64_t r2r_xrank_init:6; 256262306a36Sopenharmony_ci#else 256362306a36Sopenharmony_ci uint64_t r2r_xrank_init:6; 256462306a36Sopenharmony_ci uint64_t r2w_xrank_init:6; 256562306a36Sopenharmony_ci uint64_t w2r_xrank_init:6; 256662306a36Sopenharmony_ci uint64_t w2w_xrank_init:6; 256762306a36Sopenharmony_ci uint64_t reserved_24_63:40; 256862306a36Sopenharmony_ci#endif 256962306a36Sopenharmony_ci } s; 257062306a36Sopenharmony_ci}; 257162306a36Sopenharmony_ci 257262306a36Sopenharmony_ciunion cvmx_lmcx_slot_ctl2 { 257362306a36Sopenharmony_ci uint64_t u64; 257462306a36Sopenharmony_ci struct cvmx_lmcx_slot_ctl2_s { 257562306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 257662306a36Sopenharmony_ci uint64_t reserved_24_63:40; 257762306a36Sopenharmony_ci uint64_t w2w_xdimm_init:6; 257862306a36Sopenharmony_ci uint64_t w2r_xdimm_init:6; 257962306a36Sopenharmony_ci uint64_t r2w_xdimm_init:6; 258062306a36Sopenharmony_ci uint64_t r2r_xdimm_init:6; 258162306a36Sopenharmony_ci#else 258262306a36Sopenharmony_ci uint64_t r2r_xdimm_init:6; 258362306a36Sopenharmony_ci uint64_t r2w_xdimm_init:6; 258462306a36Sopenharmony_ci uint64_t w2r_xdimm_init:6; 258562306a36Sopenharmony_ci uint64_t w2w_xdimm_init:6; 258662306a36Sopenharmony_ci uint64_t reserved_24_63:40; 258762306a36Sopenharmony_ci#endif 258862306a36Sopenharmony_ci } s; 258962306a36Sopenharmony_ci}; 259062306a36Sopenharmony_ci 259162306a36Sopenharmony_ciunion cvmx_lmcx_timing_params0 { 259262306a36Sopenharmony_ci uint64_t u64; 259362306a36Sopenharmony_ci struct cvmx_lmcx_timing_params0_s { 259462306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 259562306a36Sopenharmony_ci uint64_t reserved_47_63:17; 259662306a36Sopenharmony_ci uint64_t trp_ext:1; 259762306a36Sopenharmony_ci uint64_t tcksre:4; 259862306a36Sopenharmony_ci uint64_t trp:4; 259962306a36Sopenharmony_ci uint64_t tzqinit:4; 260062306a36Sopenharmony_ci uint64_t tdllk:4; 260162306a36Sopenharmony_ci uint64_t tmod:4; 260262306a36Sopenharmony_ci uint64_t tmrd:4; 260362306a36Sopenharmony_ci uint64_t txpr:4; 260462306a36Sopenharmony_ci uint64_t tcke:4; 260562306a36Sopenharmony_ci uint64_t tzqcs:4; 260662306a36Sopenharmony_ci uint64_t tckeon:10; 260762306a36Sopenharmony_ci#else 260862306a36Sopenharmony_ci uint64_t tckeon:10; 260962306a36Sopenharmony_ci uint64_t tzqcs:4; 261062306a36Sopenharmony_ci uint64_t tcke:4; 261162306a36Sopenharmony_ci uint64_t txpr:4; 261262306a36Sopenharmony_ci uint64_t tmrd:4; 261362306a36Sopenharmony_ci uint64_t tmod:4; 261462306a36Sopenharmony_ci uint64_t tdllk:4; 261562306a36Sopenharmony_ci uint64_t tzqinit:4; 261662306a36Sopenharmony_ci uint64_t trp:4; 261762306a36Sopenharmony_ci uint64_t tcksre:4; 261862306a36Sopenharmony_ci uint64_t trp_ext:1; 261962306a36Sopenharmony_ci uint64_t reserved_47_63:17; 262062306a36Sopenharmony_ci#endif 262162306a36Sopenharmony_ci } s; 262262306a36Sopenharmony_ci struct cvmx_lmcx_timing_params0_cn61xx { 262362306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 262462306a36Sopenharmony_ci uint64_t reserved_47_63:17; 262562306a36Sopenharmony_ci uint64_t trp_ext:1; 262662306a36Sopenharmony_ci uint64_t tcksre:4; 262762306a36Sopenharmony_ci uint64_t trp:4; 262862306a36Sopenharmony_ci uint64_t tzqinit:4; 262962306a36Sopenharmony_ci uint64_t tdllk:4; 263062306a36Sopenharmony_ci uint64_t tmod:4; 263162306a36Sopenharmony_ci uint64_t tmrd:4; 263262306a36Sopenharmony_ci uint64_t txpr:4; 263362306a36Sopenharmony_ci uint64_t tcke:4; 263462306a36Sopenharmony_ci uint64_t tzqcs:4; 263562306a36Sopenharmony_ci uint64_t reserved_0_9:10; 263662306a36Sopenharmony_ci#else 263762306a36Sopenharmony_ci uint64_t reserved_0_9:10; 263862306a36Sopenharmony_ci uint64_t tzqcs:4; 263962306a36Sopenharmony_ci uint64_t tcke:4; 264062306a36Sopenharmony_ci uint64_t txpr:4; 264162306a36Sopenharmony_ci uint64_t tmrd:4; 264262306a36Sopenharmony_ci uint64_t tmod:4; 264362306a36Sopenharmony_ci uint64_t tdllk:4; 264462306a36Sopenharmony_ci uint64_t tzqinit:4; 264562306a36Sopenharmony_ci uint64_t trp:4; 264662306a36Sopenharmony_ci uint64_t tcksre:4; 264762306a36Sopenharmony_ci uint64_t trp_ext:1; 264862306a36Sopenharmony_ci uint64_t reserved_47_63:17; 264962306a36Sopenharmony_ci#endif 265062306a36Sopenharmony_ci } cn61xx; 265162306a36Sopenharmony_ci struct cvmx_lmcx_timing_params0_cn63xxp1 { 265262306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 265362306a36Sopenharmony_ci uint64_t reserved_46_63:18; 265462306a36Sopenharmony_ci uint64_t tcksre:4; 265562306a36Sopenharmony_ci uint64_t trp:4; 265662306a36Sopenharmony_ci uint64_t tzqinit:4; 265762306a36Sopenharmony_ci uint64_t tdllk:4; 265862306a36Sopenharmony_ci uint64_t tmod:4; 265962306a36Sopenharmony_ci uint64_t tmrd:4; 266062306a36Sopenharmony_ci uint64_t txpr:4; 266162306a36Sopenharmony_ci uint64_t tcke:4; 266262306a36Sopenharmony_ci uint64_t tzqcs:4; 266362306a36Sopenharmony_ci uint64_t tckeon:10; 266462306a36Sopenharmony_ci#else 266562306a36Sopenharmony_ci uint64_t tckeon:10; 266662306a36Sopenharmony_ci uint64_t tzqcs:4; 266762306a36Sopenharmony_ci uint64_t tcke:4; 266862306a36Sopenharmony_ci uint64_t txpr:4; 266962306a36Sopenharmony_ci uint64_t tmrd:4; 267062306a36Sopenharmony_ci uint64_t tmod:4; 267162306a36Sopenharmony_ci uint64_t tdllk:4; 267262306a36Sopenharmony_ci uint64_t tzqinit:4; 267362306a36Sopenharmony_ci uint64_t trp:4; 267462306a36Sopenharmony_ci uint64_t tcksre:4; 267562306a36Sopenharmony_ci uint64_t reserved_46_63:18; 267662306a36Sopenharmony_ci#endif 267762306a36Sopenharmony_ci } cn63xxp1; 267862306a36Sopenharmony_ci}; 267962306a36Sopenharmony_ci 268062306a36Sopenharmony_ciunion cvmx_lmcx_timing_params1 { 268162306a36Sopenharmony_ci uint64_t u64; 268262306a36Sopenharmony_ci struct cvmx_lmcx_timing_params1_s { 268362306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 268462306a36Sopenharmony_ci uint64_t reserved_47_63:17; 268562306a36Sopenharmony_ci uint64_t tras_ext:1; 268662306a36Sopenharmony_ci uint64_t txpdll:5; 268762306a36Sopenharmony_ci uint64_t tfaw:5; 268862306a36Sopenharmony_ci uint64_t twldqsen:4; 268962306a36Sopenharmony_ci uint64_t twlmrd:4; 269062306a36Sopenharmony_ci uint64_t txp:3; 269162306a36Sopenharmony_ci uint64_t trrd:3; 269262306a36Sopenharmony_ci uint64_t trfc:5; 269362306a36Sopenharmony_ci uint64_t twtr:4; 269462306a36Sopenharmony_ci uint64_t trcd:4; 269562306a36Sopenharmony_ci uint64_t tras:5; 269662306a36Sopenharmony_ci uint64_t tmprr:4; 269762306a36Sopenharmony_ci#else 269862306a36Sopenharmony_ci uint64_t tmprr:4; 269962306a36Sopenharmony_ci uint64_t tras:5; 270062306a36Sopenharmony_ci uint64_t trcd:4; 270162306a36Sopenharmony_ci uint64_t twtr:4; 270262306a36Sopenharmony_ci uint64_t trfc:5; 270362306a36Sopenharmony_ci uint64_t trrd:3; 270462306a36Sopenharmony_ci uint64_t txp:3; 270562306a36Sopenharmony_ci uint64_t twlmrd:4; 270662306a36Sopenharmony_ci uint64_t twldqsen:4; 270762306a36Sopenharmony_ci uint64_t tfaw:5; 270862306a36Sopenharmony_ci uint64_t txpdll:5; 270962306a36Sopenharmony_ci uint64_t tras_ext:1; 271062306a36Sopenharmony_ci uint64_t reserved_47_63:17; 271162306a36Sopenharmony_ci#endif 271262306a36Sopenharmony_ci } s; 271362306a36Sopenharmony_ci struct cvmx_lmcx_timing_params1_cn63xxp1 { 271462306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 271562306a36Sopenharmony_ci uint64_t reserved_46_63:18; 271662306a36Sopenharmony_ci uint64_t txpdll:5; 271762306a36Sopenharmony_ci uint64_t tfaw:5; 271862306a36Sopenharmony_ci uint64_t twldqsen:4; 271962306a36Sopenharmony_ci uint64_t twlmrd:4; 272062306a36Sopenharmony_ci uint64_t txp:3; 272162306a36Sopenharmony_ci uint64_t trrd:3; 272262306a36Sopenharmony_ci uint64_t trfc:5; 272362306a36Sopenharmony_ci uint64_t twtr:4; 272462306a36Sopenharmony_ci uint64_t trcd:4; 272562306a36Sopenharmony_ci uint64_t tras:5; 272662306a36Sopenharmony_ci uint64_t tmprr:4; 272762306a36Sopenharmony_ci#else 272862306a36Sopenharmony_ci uint64_t tmprr:4; 272962306a36Sopenharmony_ci uint64_t tras:5; 273062306a36Sopenharmony_ci uint64_t trcd:4; 273162306a36Sopenharmony_ci uint64_t twtr:4; 273262306a36Sopenharmony_ci uint64_t trfc:5; 273362306a36Sopenharmony_ci uint64_t trrd:3; 273462306a36Sopenharmony_ci uint64_t txp:3; 273562306a36Sopenharmony_ci uint64_t twlmrd:4; 273662306a36Sopenharmony_ci uint64_t twldqsen:4; 273762306a36Sopenharmony_ci uint64_t tfaw:5; 273862306a36Sopenharmony_ci uint64_t txpdll:5; 273962306a36Sopenharmony_ci uint64_t reserved_46_63:18; 274062306a36Sopenharmony_ci#endif 274162306a36Sopenharmony_ci } cn63xxp1; 274262306a36Sopenharmony_ci}; 274362306a36Sopenharmony_ci 274462306a36Sopenharmony_ciunion cvmx_lmcx_tro_ctl { 274562306a36Sopenharmony_ci uint64_t u64; 274662306a36Sopenharmony_ci struct cvmx_lmcx_tro_ctl_s { 274762306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 274862306a36Sopenharmony_ci uint64_t reserved_33_63:31; 274962306a36Sopenharmony_ci uint64_t rclk_cnt:32; 275062306a36Sopenharmony_ci uint64_t treset:1; 275162306a36Sopenharmony_ci#else 275262306a36Sopenharmony_ci uint64_t treset:1; 275362306a36Sopenharmony_ci uint64_t rclk_cnt:32; 275462306a36Sopenharmony_ci uint64_t reserved_33_63:31; 275562306a36Sopenharmony_ci#endif 275662306a36Sopenharmony_ci } s; 275762306a36Sopenharmony_ci}; 275862306a36Sopenharmony_ci 275962306a36Sopenharmony_ciunion cvmx_lmcx_tro_stat { 276062306a36Sopenharmony_ci uint64_t u64; 276162306a36Sopenharmony_ci struct cvmx_lmcx_tro_stat_s { 276262306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 276362306a36Sopenharmony_ci uint64_t reserved_32_63:32; 276462306a36Sopenharmony_ci uint64_t ring_cnt:32; 276562306a36Sopenharmony_ci#else 276662306a36Sopenharmony_ci uint64_t ring_cnt:32; 276762306a36Sopenharmony_ci uint64_t reserved_32_63:32; 276862306a36Sopenharmony_ci#endif 276962306a36Sopenharmony_ci } s; 277062306a36Sopenharmony_ci}; 277162306a36Sopenharmony_ci 277262306a36Sopenharmony_ciunion cvmx_lmcx_wlevel_ctl { 277362306a36Sopenharmony_ci uint64_t u64; 277462306a36Sopenharmony_ci struct cvmx_lmcx_wlevel_ctl_s { 277562306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 277662306a36Sopenharmony_ci uint64_t reserved_22_63:42; 277762306a36Sopenharmony_ci uint64_t rtt_nom:3; 277862306a36Sopenharmony_ci uint64_t bitmask:8; 277962306a36Sopenharmony_ci uint64_t or_dis:1; 278062306a36Sopenharmony_ci uint64_t sset:1; 278162306a36Sopenharmony_ci uint64_t lanemask:9; 278262306a36Sopenharmony_ci#else 278362306a36Sopenharmony_ci uint64_t lanemask:9; 278462306a36Sopenharmony_ci uint64_t sset:1; 278562306a36Sopenharmony_ci uint64_t or_dis:1; 278662306a36Sopenharmony_ci uint64_t bitmask:8; 278762306a36Sopenharmony_ci uint64_t rtt_nom:3; 278862306a36Sopenharmony_ci uint64_t reserved_22_63:42; 278962306a36Sopenharmony_ci#endif 279062306a36Sopenharmony_ci } s; 279162306a36Sopenharmony_ci struct cvmx_lmcx_wlevel_ctl_cn63xxp1 { 279262306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 279362306a36Sopenharmony_ci uint64_t reserved_10_63:54; 279462306a36Sopenharmony_ci uint64_t sset:1; 279562306a36Sopenharmony_ci uint64_t lanemask:9; 279662306a36Sopenharmony_ci#else 279762306a36Sopenharmony_ci uint64_t lanemask:9; 279862306a36Sopenharmony_ci uint64_t sset:1; 279962306a36Sopenharmony_ci uint64_t reserved_10_63:54; 280062306a36Sopenharmony_ci#endif 280162306a36Sopenharmony_ci } cn63xxp1; 280262306a36Sopenharmony_ci}; 280362306a36Sopenharmony_ci 280462306a36Sopenharmony_ciunion cvmx_lmcx_wlevel_dbg { 280562306a36Sopenharmony_ci uint64_t u64; 280662306a36Sopenharmony_ci struct cvmx_lmcx_wlevel_dbg_s { 280762306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 280862306a36Sopenharmony_ci uint64_t reserved_12_63:52; 280962306a36Sopenharmony_ci uint64_t bitmask:8; 281062306a36Sopenharmony_ci uint64_t byte:4; 281162306a36Sopenharmony_ci#else 281262306a36Sopenharmony_ci uint64_t byte:4; 281362306a36Sopenharmony_ci uint64_t bitmask:8; 281462306a36Sopenharmony_ci uint64_t reserved_12_63:52; 281562306a36Sopenharmony_ci#endif 281662306a36Sopenharmony_ci } s; 281762306a36Sopenharmony_ci}; 281862306a36Sopenharmony_ci 281962306a36Sopenharmony_ciunion cvmx_lmcx_wlevel_rankx { 282062306a36Sopenharmony_ci uint64_t u64; 282162306a36Sopenharmony_ci struct cvmx_lmcx_wlevel_rankx_s { 282262306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 282362306a36Sopenharmony_ci uint64_t reserved_47_63:17; 282462306a36Sopenharmony_ci uint64_t status:2; 282562306a36Sopenharmony_ci uint64_t byte8:5; 282662306a36Sopenharmony_ci uint64_t byte7:5; 282762306a36Sopenharmony_ci uint64_t byte6:5; 282862306a36Sopenharmony_ci uint64_t byte5:5; 282962306a36Sopenharmony_ci uint64_t byte4:5; 283062306a36Sopenharmony_ci uint64_t byte3:5; 283162306a36Sopenharmony_ci uint64_t byte2:5; 283262306a36Sopenharmony_ci uint64_t byte1:5; 283362306a36Sopenharmony_ci uint64_t byte0:5; 283462306a36Sopenharmony_ci#else 283562306a36Sopenharmony_ci uint64_t byte0:5; 283662306a36Sopenharmony_ci uint64_t byte1:5; 283762306a36Sopenharmony_ci uint64_t byte2:5; 283862306a36Sopenharmony_ci uint64_t byte3:5; 283962306a36Sopenharmony_ci uint64_t byte4:5; 284062306a36Sopenharmony_ci uint64_t byte5:5; 284162306a36Sopenharmony_ci uint64_t byte6:5; 284262306a36Sopenharmony_ci uint64_t byte7:5; 284362306a36Sopenharmony_ci uint64_t byte8:5; 284462306a36Sopenharmony_ci uint64_t status:2; 284562306a36Sopenharmony_ci uint64_t reserved_47_63:17; 284662306a36Sopenharmony_ci#endif 284762306a36Sopenharmony_ci } s; 284862306a36Sopenharmony_ci}; 284962306a36Sopenharmony_ci 285062306a36Sopenharmony_ciunion cvmx_lmcx_wodt_ctl0 { 285162306a36Sopenharmony_ci uint64_t u64; 285262306a36Sopenharmony_ci struct cvmx_lmcx_wodt_ctl0_s { 285362306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 285462306a36Sopenharmony_ci uint64_t reserved_0_63:64; 285562306a36Sopenharmony_ci#else 285662306a36Sopenharmony_ci uint64_t reserved_0_63:64; 285762306a36Sopenharmony_ci#endif 285862306a36Sopenharmony_ci } s; 285962306a36Sopenharmony_ci struct cvmx_lmcx_wodt_ctl0_cn30xx { 286062306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 286162306a36Sopenharmony_ci uint64_t reserved_32_63:32; 286262306a36Sopenharmony_ci uint64_t wodt_d1_r1:8; 286362306a36Sopenharmony_ci uint64_t wodt_d1_r0:8; 286462306a36Sopenharmony_ci uint64_t wodt_d0_r1:8; 286562306a36Sopenharmony_ci uint64_t wodt_d0_r0:8; 286662306a36Sopenharmony_ci#else 286762306a36Sopenharmony_ci uint64_t wodt_d0_r0:8; 286862306a36Sopenharmony_ci uint64_t wodt_d0_r1:8; 286962306a36Sopenharmony_ci uint64_t wodt_d1_r0:8; 287062306a36Sopenharmony_ci uint64_t wodt_d1_r1:8; 287162306a36Sopenharmony_ci uint64_t reserved_32_63:32; 287262306a36Sopenharmony_ci#endif 287362306a36Sopenharmony_ci } cn30xx; 287462306a36Sopenharmony_ci struct cvmx_lmcx_wodt_ctl0_cn38xx { 287562306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 287662306a36Sopenharmony_ci uint64_t reserved_32_63:32; 287762306a36Sopenharmony_ci uint64_t wodt_hi3:4; 287862306a36Sopenharmony_ci uint64_t wodt_hi2:4; 287962306a36Sopenharmony_ci uint64_t wodt_hi1:4; 288062306a36Sopenharmony_ci uint64_t wodt_hi0:4; 288162306a36Sopenharmony_ci uint64_t wodt_lo3:4; 288262306a36Sopenharmony_ci uint64_t wodt_lo2:4; 288362306a36Sopenharmony_ci uint64_t wodt_lo1:4; 288462306a36Sopenharmony_ci uint64_t wodt_lo0:4; 288562306a36Sopenharmony_ci#else 288662306a36Sopenharmony_ci uint64_t wodt_lo0:4; 288762306a36Sopenharmony_ci uint64_t wodt_lo1:4; 288862306a36Sopenharmony_ci uint64_t wodt_lo2:4; 288962306a36Sopenharmony_ci uint64_t wodt_lo3:4; 289062306a36Sopenharmony_ci uint64_t wodt_hi0:4; 289162306a36Sopenharmony_ci uint64_t wodt_hi1:4; 289262306a36Sopenharmony_ci uint64_t wodt_hi2:4; 289362306a36Sopenharmony_ci uint64_t wodt_hi3:4; 289462306a36Sopenharmony_ci uint64_t reserved_32_63:32; 289562306a36Sopenharmony_ci#endif 289662306a36Sopenharmony_ci } cn38xx; 289762306a36Sopenharmony_ci}; 289862306a36Sopenharmony_ci 289962306a36Sopenharmony_ciunion cvmx_lmcx_wodt_ctl1 { 290062306a36Sopenharmony_ci uint64_t u64; 290162306a36Sopenharmony_ci struct cvmx_lmcx_wodt_ctl1_s { 290262306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 290362306a36Sopenharmony_ci uint64_t reserved_32_63:32; 290462306a36Sopenharmony_ci uint64_t wodt_d3_r1:8; 290562306a36Sopenharmony_ci uint64_t wodt_d3_r0:8; 290662306a36Sopenharmony_ci uint64_t wodt_d2_r1:8; 290762306a36Sopenharmony_ci uint64_t wodt_d2_r0:8; 290862306a36Sopenharmony_ci#else 290962306a36Sopenharmony_ci uint64_t wodt_d2_r0:8; 291062306a36Sopenharmony_ci uint64_t wodt_d2_r1:8; 291162306a36Sopenharmony_ci uint64_t wodt_d3_r0:8; 291262306a36Sopenharmony_ci uint64_t wodt_d3_r1:8; 291362306a36Sopenharmony_ci uint64_t reserved_32_63:32; 291462306a36Sopenharmony_ci#endif 291562306a36Sopenharmony_ci } s; 291662306a36Sopenharmony_ci}; 291762306a36Sopenharmony_ci 291862306a36Sopenharmony_ciunion cvmx_lmcx_wodt_mask { 291962306a36Sopenharmony_ci uint64_t u64; 292062306a36Sopenharmony_ci struct cvmx_lmcx_wodt_mask_s { 292162306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD 292262306a36Sopenharmony_ci uint64_t wodt_d3_r1:8; 292362306a36Sopenharmony_ci uint64_t wodt_d3_r0:8; 292462306a36Sopenharmony_ci uint64_t wodt_d2_r1:8; 292562306a36Sopenharmony_ci uint64_t wodt_d2_r0:8; 292662306a36Sopenharmony_ci uint64_t wodt_d1_r1:8; 292762306a36Sopenharmony_ci uint64_t wodt_d1_r0:8; 292862306a36Sopenharmony_ci uint64_t wodt_d0_r1:8; 292962306a36Sopenharmony_ci uint64_t wodt_d0_r0:8; 293062306a36Sopenharmony_ci#else 293162306a36Sopenharmony_ci uint64_t wodt_d0_r0:8; 293262306a36Sopenharmony_ci uint64_t wodt_d0_r1:8; 293362306a36Sopenharmony_ci uint64_t wodt_d1_r0:8; 293462306a36Sopenharmony_ci uint64_t wodt_d1_r1:8; 293562306a36Sopenharmony_ci uint64_t wodt_d2_r0:8; 293662306a36Sopenharmony_ci uint64_t wodt_d2_r1:8; 293762306a36Sopenharmony_ci uint64_t wodt_d3_r0:8; 293862306a36Sopenharmony_ci uint64_t wodt_d3_r1:8; 293962306a36Sopenharmony_ci#endif 294062306a36Sopenharmony_ci } s; 294162306a36Sopenharmony_ci}; 294262306a36Sopenharmony_ci 294362306a36Sopenharmony_ci#endif 2944