fusee_cpp: implement sdram lp0 scratch param save

This commit is contained in:
Michael Scire 2021-08-22 18:57:09 -07:00 committed by SciresM
parent 3b460e94d4
commit 25cd3d17de
27 changed files with 2766 additions and 646 deletions

View file

@ -39,17 +39,24 @@ namespace ams::nxboot {
#include "fusee_sdram_params.inc" #include "fusee_sdram_params.inc"
#include "fusee_sdram_params_lp0_erista.inc"
#include "fusee_sdram_params_lp0_mariko.inc"
void *GetSdramParams(fuse::SocType soc_type) { void *GetSdramParams(fuse::SocType soc_type) {
/* Get DRAM Id. */ /* Get DRAM Id. */
const auto dram_id = fuse::GetDramId(); const auto dram_id = fuse::GetDramId();
/* Extract to work buffer. */ /* Extract to work buffer. */
void *sdram_params_work_buffer = reinterpret_cast<void *>(0x4003D000); void *sdram_params_work_buffer;
if (soc_type == fuse::SocType_Erista) { if (soc_type == fuse::SocType_Erista) {
#define HANDLE_DRAM_CASE(_DRAM_ID_, _INDEX_) \ sdram_params_work_buffer = reinterpret_cast<void *>(0x4003E000 - 2 * sizeof(BootSdramParams<fuse::SocType_Erista>));
case _DRAM_ID_: \ #define HANDLE_DRAM_CASE(_DRAM_ID_, _INDEX_) \
Uncompress(sdram_params_work_buffer, sizeof(BootSdramParams<fuse::SocType_Erista>), SdramParamsErista##_INDEX_, sizeof(SdramParamsErista##_INDEX_)); \ case _DRAM_ID_: \
Uncompress(sdram_params_work_buffer, 2 * sizeof(BootSdramParams<fuse::SocType_Erista>), SdramParamsErista##_INDEX_, SdramParamsSizeErista##_INDEX_); \
if (_INDEX_ & 1) { \
sdram_params_work_buffer = reinterpret_cast<void *>(reinterpret_cast<uintptr_t>(sdram_params_work_buffer) + sizeof(BootSdramParams<fuse::SocType_Erista>)); \
} \
break; break;
switch (dram_id) { switch (dram_id) {
HANDLE_DRAM_CASE(0, 0) HANDLE_DRAM_CASE(0, 0)
@ -66,9 +73,13 @@ namespace ams::nxboot {
return static_cast<BootSdramParams<fuse::SocType_Erista> *>(sdram_params_work_buffer); return static_cast<BootSdramParams<fuse::SocType_Erista> *>(sdram_params_work_buffer);
} else /* if (soc_type == fuse::SocType_Mariko) */ { } else /* if (soc_type == fuse::SocType_Mariko) */ {
#define HANDLE_DRAM_CASE(_DRAM_ID_, _INDEX_) \ sdram_params_work_buffer = reinterpret_cast<void *>(0x4003E000 - 2 * sizeof(BootSdramParams<fuse::SocType_Mariko>));
case _DRAM_ID_: \ #define HANDLE_DRAM_CASE(_DRAM_ID_, _INDEX_) \
Uncompress(sdram_params_work_buffer, sizeof(BootSdramParams<fuse::SocType_Mariko>), SdramParamsMariko##_INDEX_, sizeof(SdramParamsMariko##_INDEX_)); \ case _DRAM_ID_: \
Uncompress(sdram_params_work_buffer, 2 * sizeof(BootSdramParams<fuse::SocType_Mariko>), SdramParamsMariko##_INDEX_, SdramParamsSizeMariko##_INDEX_); \
if (_INDEX_ & 1) { \
sdram_params_work_buffer = reinterpret_cast<void *>(reinterpret_cast<uintptr_t>(sdram_params_work_buffer) + sizeof(BootSdramParams<fuse::SocType_Mariko>)); \
} \
break; break;
switch (dram_id) { switch (dram_id) {
HANDLE_DRAM_CASE( 3, 12) HANDLE_DRAM_CASE( 3, 12)
@ -913,9 +924,132 @@ namespace ams::nxboot {
} }
} }
consteval u32 GetBitMask32(u32 range) {
if (range == BITSIZEOF(u32)) {
return 0xFFFFFFFF;
} else {
return (1u << range) - 1;
}
}
template<fuse::SocType SocType> template<fuse::SocType SocType>
void SaveSdramParamsToScratch(BootSdramParams<SocType> *params) { void SaveSdramParamsToScratch(BootSdramParams<SocType> *params) {
/* TODO */ /* Clear the carveout parameters. */
params->McGeneralizedCarveout1Cfg0 = 0;
params->McGeneralizedCarveout2Cfg0 = 0;
params->McGeneralizedCarveout3Cfg0 = 0;
params->McGeneralizedCarveout4Cfg0 = 0;
params->McGeneralizedCarveout5Cfg0 = 0;
/* Patch spare write. */
{
/* TODO: Clean this up? */
u32 t0 = params->EmcSwizzleRank0Byte0 << 5 >> 29 > params->EmcSwizzleRank0Byte0 << 1 >> 29;
u32 t1 = (t0 & 0xFFFFFFEF) | ((params->EmcSwizzleRank1Byte0 << 5 >> 29 > params->EmcSwizzleRank1Byte0 << 1 >> 29) << 4);
u32 t2 = (t1 & 0xFFFFFFFD) | ((params->EmcSwizzleRank0Byte1 << 5 >> 29 > params->EmcSwizzleRank0Byte1 << 1 >> 29) << 1);
u32 t3 = (t2 & 0xFFFFFFDF) | ((params->EmcSwizzleRank1Byte1 << 5 >> 29 > params->EmcSwizzleRank1Byte1 << 1 >> 29) << 5);
u32 t4 = (t3 & 0xFFFFFFFB) | ((params->EmcSwizzleRank0Byte2 << 5 >> 29 > params->EmcSwizzleRank0Byte2 << 1 >> 29) << 2);
u32 t5 = (t4 & 0xFFFFFFBF) | ((params->EmcSwizzleRank1Byte2 << 5 >> 29 > params->EmcSwizzleRank1Byte2 << 1 >> 29) << 6);
u32 t6 = (t5 & 0xFFFFFFF7) | ((params->EmcSwizzleRank0Byte3 << 5 >> 29 > params->EmcSwizzleRank0Byte3 << 1 >> 29) << 3);
u32 t7 = (t6 & 0xFFFFFF7F) | ((params->EmcSwizzleRank1Byte3 << 5 >> 29 > params->EmcSwizzleRank1Byte3 << 1 >> 29) << 7);
params->SwizzleRankByteEncode = t7;
params->EmcBctSpare2 = 0x40000DD8;
params->EmcBctSpare3 = params->SwizzleRankByteEncode;
}
/* Save parameters to scratch. */
{
u32 cur_reg_offset = APBDEV_PMC_SCRATCH6;
u32 cur_reg_value = reg::Read(PMC + cur_reg_offset);
#define RANGE_HIGH(RANGE) (1 ? RANGE)
#define RANGE_LOW(RANGE) (0 ? RANGE)
static_assert(RANGE_HIGH(31:0) - RANGE_LOW(31:0) + 1 == BITSIZEOF(u32));
#define PROCESS_IMPL(PARAM, SCRATCH, SRC_RANGE, DST_RANGE, DO_READ) \
{ \
constexpr u32 RegisterOffset = APBDEV_PMC_##SCRATCH; \
\
if (RegisterOffset != cur_reg_offset) { \
reg::Write(PMC + cur_reg_offset, cur_reg_value); \
cur_reg_offset = RegisterOffset; \
if constexpr (DO_READ) { \
cur_reg_value = reg::Read(PMC + RegisterOffset); \
} else { \
cur_reg_value = 0; \
} \
} \
\
constexpr u32 SrcRange = RANGE_HIGH(SRC_RANGE) - RANGE_LOW(SRC_RANGE) + 1; \
constexpr u32 DstRange = RANGE_HIGH(DST_RANGE) - RANGE_LOW(DST_RANGE) + 1; \
static_assert(SrcRange == DstRange); \
static_assert(SrcRange <= BITSIZEOF(u32)); \
\
const u32 src_value = params->PARAM; \
if constexpr (SrcRange == BITSIZEOF(u32)) { \
cur_reg_value = src_value; \
} else if constexpr (SrcRange < BITSIZEOF(u32)) { \
constexpr u32 Mask = GetBitMask32(SrcRange) << RANGE_LOW(DST_RANGE); \
\
constexpr u32 SrcLow = RANGE_LOW(SRC_RANGE); \
constexpr u32 DstLow = RANGE_LOW(DST_RANGE); \
\
cur_reg_value &= ~Mask; \
if constexpr (SrcLow == DstLow) { \
cur_reg_value |= (src_value & Mask); \
} else if constexpr (SrcLow < DstLow) { \
cur_reg_value |= ((src_value << (DstLow - SrcLow)) & Mask); \
} else { \
cur_reg_value |= ((src_value >> (SrcLow - DstLow)) & Mask); \
} \
} \
}
#define PROCESS_SCRATCH(PARAM, S, SRC_RANGE, DST_RANGE) PROCESS_IMPL(PARAM, SCRATCH##S, SRC_RANGE, DST_RANGE, true)
#define PROCESS_SECURE_SCRATCH(PARAM, S, SRC_RANGE, DST_RANGE) PROCESS_IMPL(PARAM, SECURE_SCRATCH##S, SRC_RANGE, DST_RANGE, true)
#define PROCESS_COMMON_SCRATCH(PARAM, S, SRC_RANGE, DST_RANGE) PROCESS_IMPL(PARAM, SCRATCH##S, SRC_RANGE, DST_RANGE, false)
if constexpr (SocType == fuse::SocType_Erista) {
FOREACH_SDRAM_SCRATCH_REGISTER_ERISTA(PROCESS_SCRATCH);
FOREACH_SDRAM_SECURE_SCRATCH_REGISTER_ERISTA(PROCESS_SECURE_SCRATCH);
} else /* if constexpr (SocType == fuse::SocType_Mariko) */ {
FOREACH_SDRAM_SCRATCH_REGISTER_MARIKO(PROCESS_SCRATCH);
FOREACH_SDRAM_SECURE_SCRATCH_REGISTER_MARIKO(PROCESS_SECURE_SCRATCH);
}
/* Manually process final fields. */
PROCESS_COMMON_SCRATCH(PllMInputDivider, 2, 7:0, 7:0);
PROCESS_COMMON_SCRATCH(PllMFeedbackDivider, 2, 7:0, 15:8);
PROCESS_COMMON_SCRATCH(PllMPostDivider, 2, 4:0, 20:16);
PROCESS_COMMON_SCRATCH(PllMKVCO, 2, 0:0, 17:17);
PROCESS_COMMON_SCRATCH(PllMKCP, 2, 1:0, 19:18);
PROCESS_COMMON_SCRATCH(PllMSetupControl, 35, 15:0, 15:0);
PROCESS_COMMON_SCRATCH(PllMInputDivider, 3, 7:0, 7:0);
cur_reg_value |= 0x3E << 8;
PROCESS_COMMON_SCRATCH(PllMKVCO, 3, 0:0, 21:21);
PROCESS_COMMON_SCRATCH(PllMKCP, 3, 1:0, 23:22);
PROCESS_COMMON_SCRATCH(PllMSetupControl, 36, 23:0, 23:0);
PROCESS_COMMON_SCRATCH(PllMStableTime, 4, 9:0, 9:0);
PROCESS_COMMON_SCRATCH(PllMStableTime, 4, 21:0, 31:10);
/* Write the final field value. */
reg::Write(PMC + cur_reg_offset, cur_reg_value);
#undef PROCESS_COMMON_SCRATCH
#undef PROCESS_SECURE_SCRATCH
#undef PROCESS_SCRATCH
#undef PROCESS_IMPL
#undef RANGE_LOW
#undef RANGE_HIGH
}
} }
template<fuse::SocType SocType> template<fuse::SocType SocType>

View file

@ -14,7 +14,7 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
constexpr inline const u8 SdramParamsErista0[0x3AC] = { constexpr inline const u8 SdramParamsErista0_1[0x3CB] = {
0xFF, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x2C, 0x01, 0xFF, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x2C, 0x01,
0x00, 0x01, 0x00, 0x0E, 0xFC, 0x05, 0x68, 0xBC, 0x01, 0x70, 0x0A, 0x00, 0x00, 0x00, 0x04, 0xB4, 0x00, 0x01, 0x00, 0x0E, 0xFC, 0x05, 0x68, 0xBC, 0x01, 0x70, 0x0A, 0x00, 0x00, 0x00, 0x04, 0xB4,
0x01, 0x70, 0x01, 0x32, 0x54, 0x76, 0xC8, 0xE6, 0x00, 0x70, 0x24, 0x00, 0xC8, 0x34, 0x00, 0x00, 0x01, 0x70, 0x01, 0x32, 0x54, 0x76, 0xC8, 0xE6, 0x00, 0x70, 0x24, 0x00, 0xC8, 0x34, 0x00, 0x00,
@ -73,72 +73,18 @@ constexpr inline const u8 SdramParamsErista0[0x3AC] = {
0x02, 0x01, 0x05, 0x34, 0x00, 0x0F, 0x3A, 0x00, 0x04, 0x38, 0x7E, 0x16, 0x40, 0x9F, 0x05, 0x0F, 0x02, 0x01, 0x05, 0x34, 0x00, 0x0F, 0x3A, 0x00, 0x04, 0x38, 0x7E, 0x16, 0x40, 0x9F, 0x05, 0x0F,
0x38, 0x00, 0x17, 0x3F, 0x1E, 0x40, 0x04, 0xA8, 0x00, 0x08, 0x2F, 0x00, 0xC0, 0x55, 0x00, 0x04, 0x38, 0x00, 0x17, 0x3F, 0x1E, 0x40, 0x04, 0xA8, 0x00, 0x08, 0x2F, 0x00, 0xC0, 0x55, 0x00, 0x04,
0x3F, 0x46, 0x24, 0x00, 0x38, 0x00, 0x0A, 0x0F, 0x01, 0x00, 0x05, 0x22, 0x46, 0x2C, 0x38, 0x00, 0x3F, 0x46, 0x24, 0x00, 0x38, 0x00, 0x0A, 0x0F, 0x01, 0x00, 0x05, 0x22, 0x46, 0x2C, 0x38, 0x00,
0x2F, 0xEC, 0x00, 0x3C, 0x01, 0x02, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2F, 0xEC, 0x00, 0x3C, 0x01, 0x07, 0x0F, 0x68, 0x07, 0xF9, 0x1F, 0x0D, 0x68, 0x07, 0x4C, 0x03,
0x5F, 0x01, 0x1F, 0x80, 0x68, 0x07, 0xFF, 0xFF, 0xFF, 0x71, 0x1F, 0x02, 0x68, 0x07, 0xB7, 0x1F,
0x05, 0x68, 0x07, 0xFF, 0x90, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00,
}; };
constexpr inline const u8 SdramParamsErista1[0x3AC] = { constexpr inline const u8 * const SdramParamsErista0 = SdramParamsErista0_1;
0xFF, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x2C, 0x01, constexpr inline const size_t SdramParamsSizeErista0 = sizeof(SdramParamsErista0_1);
0x00, 0x01, 0x00, 0x0E, 0xFC, 0x05, 0x68, 0xBC, 0x01, 0x70, 0x0A, 0x00, 0x00, 0x00, 0x04, 0xB4,
0x01, 0x70, 0x01, 0x32, 0x54, 0x76, 0xC8, 0xE6, 0x00, 0x70, 0x24, 0x00, 0xC8, 0x34, 0x00, 0x00,
0x00, 0x02, 0x80, 0x18, 0x40, 0x00, 0x00, 0x00, 0x40, 0x18, 0x00, 0xFF, 0x01, 0xFF, 0xFF, 0x1F,
0x00, 0xD8, 0x51, 0x1A, 0xA0, 0x00, 0x00, 0x50, 0x05, 0x00, 0x00, 0x77, 0x00, 0x04, 0x00, 0x01,
0xD3, 0xA6, 0xA6, 0xAF, 0xB3, 0x3C, 0x9E, 0x00, 0x00, 0x03, 0x03, 0xE0, 0xC1, 0x04, 0x01, 0x00,
0x00, 0x3C, 0x00, 0x19, 0x1F, 0x01, 0x00, 0x42, 0x00, 0x00, 0x04, 0x08, 0x46, 0x00, 0x57, 0xA1,
0x01, 0x00, 0x00, 0x32, 0x64, 0x00, 0x00, 0xC3, 0x00, 0x13, 0x02, 0x0C, 0x00, 0x13, 0x03, 0x04,
0x00, 0xD7, 0x1E, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x13, 0x2C,
0x00, 0x10, 0x09, 0xC8, 0x00, 0x07, 0x10, 0x00, 0x13, 0x0D, 0x04, 0x00, 0x53, 0x08, 0x00, 0x00,
0x00, 0x0B, 0x1C, 0x00, 0x57, 0x20, 0x00, 0x00, 0x00, 0x06, 0x04, 0x00, 0x13, 0x03, 0x2C, 0x00,
0x13, 0x04, 0x10, 0x00, 0x17, 0x02, 0x10, 0x00, 0x13, 0x08, 0x40, 0x00, 0x13, 0x05, 0x1C, 0x00,
0x04, 0x58, 0x00, 0x13, 0x02, 0x18, 0x00, 0x03, 0x5F, 0x01, 0x10, 0x80, 0x0A, 0x00, 0xB5, 0x12,
0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x0C, 0x00, 0x01, 0x58, 0x01, 0x03,
0x61, 0x00, 0x13, 0xC1, 0x50, 0x00, 0x17, 0x08, 0xC8, 0x00, 0x13, 0x03, 0x28, 0x00, 0x17, 0x05,
0x54, 0x00, 0x13, 0x27, 0x04, 0x00, 0x13, 0x05, 0x04, 0x00, 0x13, 0x04, 0xD8, 0x00, 0x08, 0x0C,
0x00, 0xA0, 0x1C, 0x03, 0x00, 0x00, 0x0D, 0xA0, 0x60, 0x91, 0xBF, 0x3B, 0x5A, 0x00, 0xF1, 0x28,
0xF3, 0x0C, 0x04, 0x05, 0x1B, 0x06, 0x02, 0x03, 0x07, 0x1C, 0x23, 0x25, 0x25, 0x05, 0x08, 0x1D,
0x09, 0x0A, 0x24, 0x0B, 0x1E, 0x0D, 0x0C, 0x26, 0x26, 0x03, 0x02, 0x1B, 0x1C, 0x23, 0x03, 0x04,
0x07, 0x05, 0x06, 0x25, 0x25, 0x02, 0x0A, 0x0B, 0x1D, 0x0D, 0x08, 0x0C, 0x09, 0x1E, 0x24, 0x26,
0x26, 0x08, 0x24, 0x06, 0x07, 0x9A, 0x12, 0xC1, 0x01, 0x2C, 0x00, 0xFF, 0xEC, 0x01, 0xB0, 0x04,
0x00, 0x01, 0x08, 0x00, 0x00, 0x02, 0x08, 0x00, 0x00, 0x0D, 0xAB, 0x00, 0xD0, 0xC0, 0x71, 0x71,
0x03, 0x08, 0x00, 0x00, 0x0B, 0x08, 0x72, 0x72, 0x0E, 0x0C, 0x20, 0x00, 0xC2, 0x08, 0x08, 0x0D,
0x0C, 0x00, 0x00, 0x0D, 0x0C, 0x14, 0x14, 0x16, 0x08, 0x2C, 0x00, 0x2C, 0x11, 0x08, 0x67, 0x02,
0x70, 0x15, 0x00, 0xCC, 0x00, 0x0A, 0x00, 0x33, 0x6E, 0x01, 0x94, 0xF3, 0x05, 0x08, 0x11, 0x00,
0xFF, 0x0F, 0xFF, 0x0F, 0xCC, 0x01, 0x80, 0x01, 0x03, 0x00, 0x70, 0x00, 0x0C, 0x00, 0x01, 0x0C,
0x00, 0xC0, 0x08, 0x44, 0x00, 0x10, 0x04, 0x04, 0x00, 0x06, 0x13, 0x07, 0x00, 0x80, 0x10, 0x00,
0x62, 0xA0, 0x00, 0x2C, 0x00, 0x01, 0x37, 0x52, 0x01, 0x01, 0x6C, 0x00, 0xC3, 0x00, 0x04, 0x00,
0x1F, 0x22, 0x20, 0x80, 0x0F, 0xF4, 0x20, 0x02, 0x28, 0x01, 0x00, 0x13, 0x11, 0x01, 0x00, 0x10,
0xBE, 0xBF, 0x00, 0x12, 0x0F, 0x02, 0x00, 0x1F, 0x00, 0x01, 0x00, 0x2C, 0x7F, 0x14, 0x00, 0x12,
0x00, 0x10, 0x00, 0x14, 0x18, 0x00, 0x06, 0xF3, 0x02, 0x30, 0x00, 0x2E, 0x00, 0x33, 0x00, 0x30,
0x00, 0x33, 0x00, 0x35, 0x00, 0x30, 0x00, 0x32, 0x00, 0x05, 0x20, 0x00, 0x0F, 0x18, 0x00, 0x05,
0x1F, 0x28, 0x02, 0x00, 0x0C, 0x11, 0x14, 0x5A, 0x00, 0x00, 0x5C, 0x00, 0x11, 0x10, 0x0C, 0x00,
0x0C, 0x7A, 0x00, 0x05, 0x50, 0x01, 0xA4, 0x40, 0x06, 0x00, 0xCC, 0x00, 0x09, 0x00, 0x4F, 0x00,
0x51, 0x18, 0x00, 0x00, 0x28, 0x01, 0x23, 0x40, 0x01, 0x3C, 0x02, 0x54, 0xAB, 0x00, 0x0A, 0x04,
0x11, 0x58, 0x01, 0x03, 0x04, 0x00, 0x0F, 0xEC, 0x00, 0x0D, 0x17, 0x02, 0x0C, 0x00, 0x17, 0x03,
0x60, 0x03, 0x02, 0xA1, 0x01, 0x7B, 0x22, 0x04, 0xFF, 0xFF, 0xAF, 0x4F, 0x01, 0x28, 0x00, 0x00,
0x01, 0x00, 0x32, 0x8B, 0xFF, 0x07, 0x84, 0x00, 0xF0, 0x10, 0x32, 0x54, 0x76, 0x10, 0x47, 0x32,
0x65, 0x10, 0x34, 0x76, 0x25, 0x01, 0x34, 0x67, 0x25, 0x01, 0x75, 0x64, 0x32, 0x01, 0x72, 0x56,
0x34, 0x10, 0x23, 0x74, 0x56, 0x01, 0x45, 0x32, 0x67, 0x24, 0x00, 0x31, 0x49, 0x92, 0x24, 0x04,
0x00, 0x0C, 0x01, 0x00, 0x13, 0x1B, 0x04, 0x00, 0x0C, 0x94, 0x00, 0x80, 0x2F, 0x41, 0x13, 0x1F,
0x14, 0x00, 0x01, 0x00, 0x7C, 0x00, 0x80, 0xFF, 0xFF, 0xFF, 0x7F, 0x0B, 0xD7, 0x06, 0x40, 0x82,
0x00, 0xB2, 0x08, 0x08, 0x03, 0x00, 0x00, 0x5C, 0x01, 0x00, 0x10, 0x10, 0x10, 0x59, 0x03, 0x0B,
0x94, 0x04, 0x13, 0x37, 0x72, 0x01, 0x21, 0x10, 0x02, 0x8D, 0x01, 0x31, 0x00, 0x11, 0x01, 0xB9,
0x02, 0x00, 0x1F, 0x00, 0x13, 0x0A, 0xA9, 0x04, 0x17, 0x10, 0x77, 0x03, 0x05, 0x12, 0x00, 0x00,
0x04, 0x04, 0xCF, 0x81, 0x10, 0x09, 0x28, 0x93, 0x32, 0xA5, 0x44, 0x5B, 0x8A, 0x67, 0x76, 0x2C,
0x01, 0x05, 0x53, 0xFF, 0xEF, 0xFF, 0xEF, 0xC0, 0x01, 0x00, 0x57, 0xDC, 0xDC, 0xDC, 0xDC, 0x0A,
0x01, 0x00, 0x01, 0x24, 0x01, 0x21, 0x03, 0x07, 0x04, 0x00, 0xF1, 0x03, 0x00, 0x24, 0xFF, 0xFF,
0x00, 0x44, 0x57, 0x6E, 0x00, 0x28, 0x72, 0x39, 0x00, 0x10, 0x9C, 0x4B, 0x00, 0x10, 0x58, 0x01,
0xB2, 0x08, 0x4C, 0x00, 0x00, 0x80, 0x20, 0x10, 0x0A, 0x00, 0x28, 0x10, 0xE0, 0x02, 0x0C, 0x74,
0x01, 0x04, 0x08, 0x00, 0x17, 0x05, 0x10, 0x00, 0x08, 0xF8, 0x03, 0xE4, 0x01, 0x00, 0x02, 0x02,
0x01, 0x02, 0x03, 0x00, 0x04, 0x05, 0xC3, 0x71, 0x0F, 0x0F, 0x98, 0x05, 0x14, 0x1F, 0xD8, 0x00,
0x01, 0xC0, 0x03, 0x14, 0x01, 0xDD, 0x00, 0x14, 0x80, 0xB6, 0x00, 0x15, 0xF0, 0xD4, 0x03, 0x68,
0x43, 0xC3, 0xBA, 0xE4, 0xD3, 0x1E, 0xD2, 0x00, 0x2F, 0xF0, 0xFF, 0xEC, 0x00, 0x05, 0x19, 0x08,
0x0E, 0x00, 0x14, 0x30, 0xAB, 0x00, 0x0F, 0x2C, 0x00, 0x02, 0x4F, 0x76, 0x0C, 0x00, 0x04, 0x50,
0x02, 0x01, 0x05, 0x34, 0x00, 0x0F, 0x3A, 0x00, 0x04, 0x38, 0x7E, 0x16, 0x40, 0x9F, 0x05, 0x0F,
0x38, 0x00, 0x17, 0x3F, 0x1E, 0x40, 0x04, 0xA8, 0x00, 0x08, 0x2F, 0x00, 0xC0, 0x55, 0x00, 0x04,
0x3F, 0x46, 0x24, 0x00, 0x38, 0x00, 0x0A, 0x0F, 0x01, 0x00, 0x05, 0x22, 0x46, 0x2C, 0x38, 0x00,
0x2F, 0xEC, 0x00, 0x3C, 0x01, 0x02, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00,
};
constexpr inline const u8 SdramParamsErista2[0x3AC] = { constexpr inline const u8 * const SdramParamsErista1 = SdramParamsErista0_1;
constexpr inline const size_t SdramParamsSizeErista1 = sizeof(SdramParamsErista0_1);
constexpr inline const u8 SdramParamsErista2_3[0x3C7] = {
0xFF, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x2C, 0x01, 0xFF, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x2C, 0x01,
0x00, 0x01, 0x00, 0x0E, 0xFC, 0x05, 0x68, 0xBC, 0x01, 0x70, 0x0A, 0x00, 0x00, 0x00, 0x04, 0xB4, 0x00, 0x01, 0x00, 0x0E, 0xFC, 0x05, 0x68, 0xBC, 0x01, 0x70, 0x0A, 0x00, 0x00, 0x00, 0x04, 0xB4,
0x01, 0x70, 0x01, 0x32, 0x54, 0x76, 0xC8, 0xE6, 0x00, 0x70, 0x24, 0x00, 0xC8, 0x34, 0x00, 0x00, 0x01, 0x70, 0x01, 0x32, 0x54, 0x76, 0xC8, 0xE6, 0x00, 0x70, 0x24, 0x00, 0xC8, 0x34, 0x00, 0x00,
@ -197,72 +143,18 @@ constexpr inline const u8 SdramParamsErista2[0x3AC] = {
0x02, 0x01, 0x05, 0x34, 0x00, 0x0F, 0x3A, 0x00, 0x04, 0x38, 0x7E, 0x16, 0x40, 0x9F, 0x05, 0x0F, 0x02, 0x01, 0x05, 0x34, 0x00, 0x0F, 0x3A, 0x00, 0x04, 0x38, 0x7E, 0x16, 0x40, 0x9F, 0x05, 0x0F,
0x38, 0x00, 0x17, 0x3F, 0x1E, 0x40, 0x04, 0xA8, 0x00, 0x08, 0x2F, 0x00, 0xC0, 0x55, 0x00, 0x04, 0x38, 0x00, 0x17, 0x3F, 0x1E, 0x40, 0x04, 0xA8, 0x00, 0x08, 0x2F, 0x00, 0xC0, 0x55, 0x00, 0x04,
0x3F, 0x46, 0x24, 0x00, 0x38, 0x00, 0x0A, 0x0F, 0x01, 0x00, 0x05, 0x22, 0x46, 0x2C, 0x38, 0x00, 0x3F, 0x46, 0x24, 0x00, 0x38, 0x00, 0x0A, 0x0F, 0x01, 0x00, 0x05, 0x22, 0x46, 0x2C, 0x38, 0x00,
0x2F, 0xEC, 0x00, 0x3C, 0x01, 0x02, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2F, 0xEC, 0x00, 0x3C, 0x01, 0x07, 0x0F, 0x68, 0x07, 0xFF, 0x9E, 0x1F, 0x12, 0x68, 0x07, 0x18,
0x1F, 0x03, 0x68, 0x07, 0xFF, 0xFF, 0xAE, 0x13, 0x12, 0x04, 0x00, 0x0F, 0x68, 0x07, 0xFF, 0xFF,
0xAE, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00,
}; };
constexpr inline const u8 SdramParamsErista3[0x3B0] = { constexpr inline const u8 * const SdramParamsErista2 = SdramParamsErista2_3;
0xFF, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x2C, 0x01, constexpr inline const size_t SdramParamsSizeErista2 = sizeof(SdramParamsErista2_3);
0x00, 0x01, 0x00, 0x0E, 0xFC, 0x05, 0x68, 0xBC, 0x01, 0x70, 0x0A, 0x00, 0x00, 0x00, 0x04, 0xB4,
0x01, 0x70, 0x01, 0x32, 0x54, 0x76, 0xC8, 0xE6, 0x00, 0x70, 0x24, 0x00, 0xC8, 0x34, 0x00, 0x00,
0x00, 0x02, 0x80, 0x18, 0x40, 0x00, 0x00, 0x00, 0x40, 0x18, 0x00, 0xFF, 0x01, 0xFF, 0xFF, 0x1F,
0x00, 0xD8, 0x51, 0x1A, 0xA0, 0x00, 0x00, 0x50, 0x05, 0x00, 0x00, 0x77, 0x00, 0x04, 0x00, 0x01,
0xD3, 0xA6, 0xA6, 0xAF, 0xB3, 0x3C, 0x9E, 0x00, 0x00, 0x03, 0x03, 0xE0, 0xC1, 0x04, 0x01, 0x00,
0x00, 0x3C, 0x00, 0x19, 0x1F, 0x01, 0x00, 0x42, 0x00, 0x00, 0x04, 0x08, 0x46, 0x00, 0x57, 0xA1,
0x01, 0x00, 0x00, 0x32, 0x64, 0x00, 0x00, 0xC3, 0x00, 0x13, 0x02, 0x0C, 0x00, 0x13, 0x03, 0x04,
0x00, 0xD7, 0x1E, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x13, 0x2C,
0x00, 0x10, 0x09, 0xC8, 0x00, 0x07, 0x10, 0x00, 0x13, 0x0B, 0x28, 0x00, 0x13, 0x08, 0x0C, 0x00,
0x00, 0x1C, 0x00, 0x57, 0x20, 0x00, 0x00, 0x00, 0x06, 0x04, 0x00, 0x13, 0x03, 0x2C, 0x00, 0x13,
0x04, 0x10, 0x00, 0x17, 0x02, 0x10, 0x00, 0x13, 0x08, 0x40, 0x00, 0x13, 0x05, 0x1C, 0x00, 0x04,
0x58, 0x00, 0x13, 0x02, 0x18, 0x00, 0x04, 0x64, 0x00, 0x00, 0xA6, 0x00, 0xB5, 0x12, 0x00, 0x00,
0x00, 0x14, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x0C, 0x00, 0x01, 0x58, 0x01, 0x03, 0x61, 0x00,
0x13, 0xC1, 0x50, 0x00, 0x17, 0x08, 0xC8, 0x00, 0x13, 0x03, 0x2C, 0x00, 0x17, 0x05, 0x54, 0x00,
0x13, 0x27, 0x04, 0x00, 0x13, 0x05, 0x04, 0x00, 0x13, 0x04, 0xD8, 0x00, 0x13, 0x05, 0x30, 0x00,
0x00, 0x0C, 0x00, 0xA0, 0x1C, 0x03, 0x00, 0x00, 0x0D, 0xA0, 0x60, 0x91, 0xBF, 0x3B, 0x5A, 0x00,
0xF1, 0x28, 0xF3, 0x0C, 0x04, 0x05, 0x1B, 0x06, 0x02, 0x03, 0x07, 0x1C, 0x23, 0x25, 0x25, 0x05,
0x08, 0x1D, 0x09, 0x0A, 0x24, 0x0B, 0x1E, 0x0D, 0x0C, 0x26, 0x26, 0x03, 0x02, 0x1B, 0x1C, 0x23,
0x03, 0x04, 0x07, 0x05, 0x06, 0x25, 0x25, 0x02, 0x0A, 0x0B, 0x1D, 0x0D, 0x08, 0x0C, 0x09, 0x1E,
0x24, 0x26, 0x26, 0x08, 0x24, 0x06, 0x07, 0x9A, 0x12, 0xC1, 0x01, 0x2C, 0x00, 0xFF, 0xEC, 0x01,
0xB0, 0x04, 0x00, 0x01, 0x08, 0x00, 0x00, 0x02, 0x08, 0x00, 0x00, 0x0D, 0xAB, 0x00, 0xD0, 0xC0,
0x71, 0x71, 0x03, 0x08, 0x00, 0x00, 0x0B, 0x08, 0x72, 0x72, 0x0E, 0x0C, 0x20, 0x00, 0xC2, 0x08,
0x08, 0x0D, 0x0C, 0x00, 0x00, 0x0D, 0x0C, 0x14, 0x14, 0x16, 0x08, 0x2C, 0x00, 0x2C, 0x11, 0x08,
0x67, 0x02, 0x70, 0x15, 0x00, 0xCC, 0x00, 0x0A, 0x00, 0x33, 0x6E, 0x01, 0x94, 0xF3, 0x05, 0x08,
0x11, 0x00, 0xFF, 0x0F, 0xFF, 0x0F, 0xCC, 0x01, 0x80, 0x01, 0x03, 0x00, 0x70, 0x00, 0x0C, 0x00,
0x01, 0x0C, 0x00, 0xC0, 0x08, 0x44, 0x00, 0x10, 0x04, 0x04, 0x00, 0x06, 0x13, 0x07, 0x00, 0x80,
0x10, 0x00, 0xA2, 0xA0, 0x00, 0x2C, 0x00, 0x01, 0x37, 0x00, 0x00, 0x00, 0x80, 0x48, 0x00, 0xD3,
0x08, 0x00, 0x04, 0x00, 0x1F, 0x22, 0x20, 0x80, 0x0F, 0xF4, 0x20, 0x02, 0x28, 0x01, 0x00, 0x13,
0x11, 0x01, 0x00, 0x10, 0xBE, 0xBF, 0x00, 0x12, 0x0F, 0x02, 0x00, 0x1F, 0x00, 0x01, 0x00, 0x2C,
0x7F, 0x14, 0x00, 0x12, 0x00, 0x10, 0x00, 0x14, 0x18, 0x00, 0x06, 0xF3, 0x02, 0x30, 0x00, 0x2E,
0x00, 0x33, 0x00, 0x30, 0x00, 0x33, 0x00, 0x35, 0x00, 0x30, 0x00, 0x32, 0x00, 0x05, 0x20, 0x00,
0x0F, 0x18, 0x00, 0x05, 0x1F, 0x28, 0x02, 0x00, 0x0C, 0x11, 0x14, 0x5A, 0x00, 0x00, 0x5C, 0x00,
0x11, 0x10, 0x0C, 0x00, 0x0C, 0x7A, 0x00, 0x05, 0x50, 0x01, 0xA4, 0x40, 0x06, 0x00, 0xCC, 0x00,
0x09, 0x00, 0x4F, 0x00, 0x51, 0x18, 0x00, 0x00, 0x28, 0x01, 0x23, 0x40, 0x01, 0x0C, 0x02, 0x54,
0xAB, 0x00, 0x0A, 0x04, 0x11, 0x58, 0x01, 0x03, 0x04, 0x00, 0x0F, 0xEC, 0x00, 0x0D, 0x17, 0x02,
0x0C, 0x00, 0x17, 0x03, 0x60, 0x03, 0x02, 0xA1, 0x01, 0x7B, 0x22, 0x04, 0xFF, 0xFF, 0xAF, 0x4F,
0x01, 0x28, 0x00, 0x00, 0x01, 0x00, 0x32, 0x8B, 0xFF, 0x07, 0x84, 0x00, 0xF0, 0x10, 0x32, 0x54,
0x76, 0x10, 0x47, 0x32, 0x65, 0x10, 0x34, 0x76, 0x25, 0x01, 0x34, 0x67, 0x25, 0x01, 0x75, 0x64,
0x32, 0x01, 0x72, 0x56, 0x34, 0x10, 0x23, 0x74, 0x56, 0x01, 0x45, 0x32, 0x67, 0x24, 0x00, 0x31,
0x49, 0x92, 0x24, 0x04, 0x00, 0x0C, 0x01, 0x00, 0x13, 0x12, 0x04, 0x00, 0x0C, 0x94, 0x00, 0x80,
0x2F, 0x41, 0x13, 0x1F, 0x14, 0x00, 0x01, 0x00, 0x7C, 0x00, 0x80, 0xFF, 0xFF, 0xFF, 0x7F, 0x0B,
0xD7, 0x06, 0x40, 0x82, 0x00, 0xB2, 0x08, 0x08, 0x03, 0x00, 0x00, 0x5C, 0x01, 0x00, 0x10, 0x10,
0x10, 0x59, 0x03, 0x0B, 0x94, 0x04, 0x13, 0x37, 0x72, 0x01, 0x12, 0x10, 0x8D, 0x01, 0x31, 0x00,
0x11, 0x01, 0xB9, 0x02, 0x00, 0x1F, 0x00, 0x13, 0x0A, 0xA9, 0x04, 0x17, 0x10, 0x77, 0x03, 0x05,
0x12, 0x00, 0x00, 0x04, 0x04, 0xCF, 0x81, 0x10, 0x09, 0x28, 0x93, 0x32, 0xA5, 0x44, 0x5B, 0x8A,
0x67, 0x76, 0x2C, 0x01, 0x05, 0x53, 0xFF, 0xEF, 0xFF, 0xEF, 0xC0, 0x01, 0x00, 0x57, 0xDC, 0xDC,
0xDC, 0xDC, 0x0A, 0x01, 0x00, 0x01, 0x24, 0x01, 0x21, 0x03, 0x07, 0x04, 0x00, 0xF1, 0x03, 0x00,
0x24, 0xFF, 0xFF, 0x00, 0x44, 0x57, 0x6E, 0x00, 0x28, 0x72, 0x39, 0x00, 0x10, 0x9C, 0x4B, 0x00,
0x10, 0x58, 0x01, 0xB2, 0x08, 0x4C, 0x00, 0x00, 0x80, 0x20, 0x10, 0x0A, 0x00, 0x28, 0x10, 0xE0,
0x02, 0x0C, 0x74, 0x01, 0x04, 0x08, 0x00, 0x17, 0x05, 0x10, 0x00, 0x17, 0x04, 0xF8, 0x03, 0xE4,
0x01, 0x00, 0x02, 0x02, 0x01, 0x02, 0x03, 0x00, 0x04, 0x05, 0xC3, 0x71, 0x0F, 0x0F, 0x98, 0x05,
0x15, 0x1F, 0xF3, 0x00, 0x00, 0xC0, 0x03, 0x14, 0x01, 0xDD, 0x00, 0x14, 0x80, 0xB6, 0x00, 0x15,
0xF0, 0xD4, 0x03, 0x68, 0x43, 0xC3, 0xBA, 0xE4, 0xD3, 0x1E, 0xD2, 0x00, 0x2F, 0xF0, 0xFF, 0xEC,
0x00, 0x05, 0x19, 0x08, 0x0E, 0x00, 0x14, 0x30, 0xAB, 0x00, 0x0F, 0x2C, 0x00, 0x02, 0x4F, 0x76,
0x0C, 0x00, 0x04, 0x50, 0x02, 0x01, 0x05, 0x34, 0x00, 0x0F, 0x3A, 0x00, 0x04, 0x38, 0x7E, 0x16,
0x40, 0x9F, 0x05, 0x0F, 0x38, 0x00, 0x17, 0x3F, 0x1E, 0x40, 0x04, 0xA8, 0x00, 0x08, 0x2F, 0x00,
0xC0, 0x55, 0x00, 0x04, 0x3F, 0x46, 0x24, 0x00, 0x38, 0x00, 0x0A, 0x0F, 0x01, 0x00, 0x05, 0x22,
0x46, 0x2C, 0x38, 0x00, 0x2F, 0xEC, 0x00, 0x3C, 0x01, 0x02, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00,
};
constexpr inline const u8 SdramParamsErista4[0x3AC] = { constexpr inline const u8 * const SdramParamsErista3 = SdramParamsErista2_3;
constexpr inline const size_t SdramParamsSizeErista3 = sizeof(SdramParamsErista2_3);
constexpr inline const u8 SdramParamsErista4_5[0x418] = {
0xFF, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x2C, 0x01, 0xFF, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x2C, 0x01,
0x00, 0x01, 0x00, 0x0E, 0xFC, 0x05, 0x68, 0xBC, 0x01, 0x70, 0x0A, 0x00, 0x00, 0x00, 0x04, 0xB4, 0x00, 0x01, 0x00, 0x0E, 0xFC, 0x05, 0x68, 0xBC, 0x01, 0x70, 0x0A, 0x00, 0x00, 0x00, 0x04, 0xB4,
0x01, 0x70, 0x01, 0x32, 0x54, 0x76, 0xC8, 0xE6, 0x00, 0x70, 0x24, 0x00, 0xC8, 0x34, 0x00, 0x00, 0x01, 0x70, 0x01, 0x32, 0x54, 0x76, 0xC8, 0xE6, 0x00, 0x70, 0x24, 0x00, 0xC8, 0x34, 0x00, 0x00,
@ -321,72 +213,23 @@ constexpr inline const u8 SdramParamsErista4[0x3AC] = {
0x02, 0x01, 0x05, 0x34, 0x00, 0x0F, 0x3A, 0x00, 0x04, 0x38, 0x7E, 0x16, 0x40, 0x9F, 0x05, 0x0F, 0x02, 0x01, 0x05, 0x34, 0x00, 0x0F, 0x3A, 0x00, 0x04, 0x38, 0x7E, 0x16, 0x40, 0x9F, 0x05, 0x0F,
0x38, 0x00, 0x17, 0x3F, 0x1E, 0x40, 0x04, 0xA8, 0x00, 0x08, 0x2F, 0x00, 0xC0, 0x55, 0x00, 0x04, 0x38, 0x00, 0x17, 0x3F, 0x1E, 0x40, 0x04, 0xA8, 0x00, 0x08, 0x2F, 0x00, 0xC0, 0x55, 0x00, 0x04,
0x3F, 0x46, 0x24, 0x00, 0x38, 0x00, 0x0A, 0x0F, 0x01, 0x00, 0x05, 0x22, 0x46, 0x2C, 0x38, 0x00, 0x3F, 0x46, 0x24, 0x00, 0x38, 0x00, 0x0A, 0x0F, 0x01, 0x00, 0x05, 0x22, 0x46, 0x2C, 0x38, 0x00,
0x2F, 0xEC, 0x00, 0x3C, 0x01, 0x02, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2F, 0xEC, 0x00, 0x3C, 0x01, 0x07, 0x0F, 0x68, 0x07, 0xF9, 0x1F, 0x0D, 0x68, 0x07, 0x4C, 0x03,
0x5F, 0x01, 0x1F, 0x80, 0x68, 0x07, 0x29, 0x1F, 0x12, 0x68, 0x07, 0x18, 0x1F, 0x03, 0x68, 0x07,
0xFF, 0x45, 0x11, 0x15, 0xF6, 0x06, 0x1F, 0x16, 0x18, 0x00, 0x06, 0xF5, 0x00, 0x32, 0x00, 0x2F,
0x00, 0x32, 0x00, 0x31, 0x00, 0x34, 0x00, 0x36, 0x00, 0x2F, 0x00, 0x33, 0x0C, 0x02, 0x0E, 0x18,
0x00, 0x0F, 0x68, 0x07, 0x13, 0x13, 0x15, 0x5A, 0x00, 0x02, 0x5E, 0x00, 0x3F, 0x16, 0x00, 0x15,
0x68, 0x07, 0xD4, 0x13, 0x12, 0x04, 0x00, 0x0F, 0x68, 0x07, 0x3E, 0x1F, 0x02, 0x68, 0x07, 0x65,
0x11, 0x07, 0x04, 0x00, 0x0D, 0x68, 0x07, 0x1F, 0x10, 0x68, 0x07, 0x27, 0x1F, 0x05, 0x68, 0x07,
0xFF, 0x90, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00,
}; };
constexpr inline const u8 SdramParamsErista5[0x3B0] = { constexpr inline const u8 * const SdramParamsErista4 = SdramParamsErista4_5;
0xFF, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x2C, 0x01, constexpr inline const size_t SdramParamsSizeErista4 = sizeof(SdramParamsErista4_5);
0x00, 0x01, 0x00, 0x0E, 0xFC, 0x05, 0x68, 0xBC, 0x01, 0x70, 0x0A, 0x00, 0x00, 0x00, 0x04, 0xB4,
0x01, 0x70, 0x01, 0x32, 0x54, 0x76, 0xC8, 0xE6, 0x00, 0x70, 0x24, 0x00, 0xC8, 0x34, 0x00, 0x00,
0x00, 0x02, 0x80, 0x18, 0x40, 0x00, 0x00, 0x00, 0x40, 0x18, 0x00, 0xFF, 0x01, 0xFF, 0xFF, 0x1F,
0x00, 0xD8, 0x51, 0x1A, 0xA0, 0x00, 0x00, 0x50, 0x05, 0x00, 0x00, 0x77, 0x00, 0x04, 0x00, 0x01,
0xD3, 0xA6, 0xA6, 0xAF, 0xB3, 0x3C, 0x9E, 0x00, 0x00, 0x03, 0x03, 0xE0, 0xC1, 0x04, 0x01, 0x00,
0x00, 0x3C, 0x00, 0x19, 0x1F, 0x01, 0x00, 0x42, 0x00, 0x00, 0x04, 0x08, 0x46, 0x00, 0x57, 0xA1,
0x01, 0x00, 0x00, 0x32, 0x64, 0x00, 0x00, 0xC3, 0x00, 0x13, 0x02, 0x0C, 0x00, 0x13, 0x03, 0x04,
0x00, 0xD7, 0x1E, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x13, 0x2C,
0x00, 0x10, 0x09, 0xC8, 0x00, 0x07, 0x10, 0x00, 0x13, 0x0D, 0x04, 0x00, 0x53, 0x08, 0x00, 0x00,
0x00, 0x0B, 0x1C, 0x00, 0x57, 0x20, 0x00, 0x00, 0x00, 0x06, 0x04, 0x00, 0x13, 0x03, 0x2C, 0x00,
0x13, 0x04, 0x10, 0x00, 0x17, 0x02, 0x10, 0x00, 0x13, 0x08, 0x40, 0x00, 0x13, 0x05, 0x1C, 0x00,
0x04, 0x58, 0x00, 0x13, 0x02, 0x18, 0x00, 0x03, 0x5F, 0x01, 0x10, 0x80, 0x0A, 0x00, 0xB5, 0x12,
0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x0C, 0x00, 0x01, 0x58, 0x01, 0x03,
0x61, 0x00, 0x13, 0xC1, 0x50, 0x00, 0x17, 0x08, 0xC8, 0x00, 0x13, 0x03, 0x2C, 0x00, 0x17, 0x05,
0x54, 0x00, 0x13, 0x27, 0x04, 0x00, 0x13, 0x05, 0x04, 0x00, 0x13, 0x04, 0xD8, 0x00, 0x13, 0x05,
0x30, 0x00, 0x00, 0x0C, 0x00, 0xA0, 0x1C, 0x03, 0x00, 0x00, 0x0D, 0xA0, 0x60, 0x91, 0xBF, 0x3B,
0x5A, 0x00, 0xF1, 0x28, 0xF3, 0x0C, 0x04, 0x05, 0x1B, 0x06, 0x02, 0x03, 0x07, 0x1C, 0x23, 0x25,
0x25, 0x05, 0x08, 0x1D, 0x09, 0x0A, 0x24, 0x0B, 0x1E, 0x0D, 0x0C, 0x26, 0x26, 0x03, 0x02, 0x1B,
0x1C, 0x23, 0x03, 0x04, 0x07, 0x05, 0x06, 0x25, 0x25, 0x02, 0x0A, 0x0B, 0x1D, 0x0D, 0x08, 0x0C,
0x09, 0x1E, 0x24, 0x26, 0x26, 0x08, 0x24, 0x06, 0x07, 0x9A, 0x12, 0xC1, 0x01, 0x2C, 0x00, 0xFF,
0xEC, 0x01, 0xB0, 0x04, 0x00, 0x01, 0x08, 0x00, 0x00, 0x02, 0x08, 0x00, 0x00, 0x0D, 0xAB, 0x00,
0xD0, 0xC0, 0x71, 0x71, 0x03, 0x08, 0x00, 0x00, 0x0B, 0x08, 0x72, 0x72, 0x0E, 0x0C, 0x20, 0x00,
0xC2, 0x08, 0x08, 0x0D, 0x0C, 0x00, 0x00, 0x0D, 0x0C, 0x14, 0x14, 0x16, 0x08, 0x2C, 0x00, 0x2C,
0x11, 0x08, 0x67, 0x02, 0x70, 0x15, 0x00, 0xCC, 0x00, 0x0A, 0x00, 0x33, 0x6E, 0x01, 0x94, 0xF3,
0x05, 0x08, 0x11, 0x00, 0xFF, 0x0F, 0xFF, 0x0F, 0xCC, 0x01, 0x80, 0x01, 0x03, 0x00, 0x70, 0x00,
0x0C, 0x00, 0x01, 0x0C, 0x00, 0xC0, 0x08, 0x44, 0x00, 0x10, 0x04, 0x04, 0x00, 0x06, 0x13, 0x07,
0x00, 0x80, 0x10, 0x00, 0x62, 0xA0, 0x00, 0x2C, 0x00, 0x01, 0x37, 0x52, 0x01, 0x01, 0x6C, 0x00,
0xC3, 0x00, 0x04, 0x00, 0x1F, 0x22, 0x20, 0x80, 0x0F, 0xF4, 0x20, 0x02, 0x28, 0x01, 0x00, 0x13,
0x11, 0x01, 0x00, 0x10, 0xBE, 0xBF, 0x00, 0x12, 0x0F, 0x02, 0x00, 0x1F, 0x00, 0x01, 0x00, 0x2C,
0x7F, 0x15, 0x00, 0x12, 0x00, 0x12, 0x00, 0x16, 0x18, 0x00, 0x06, 0xF5, 0x00, 0x32, 0x00, 0x2F,
0x00, 0x32, 0x00, 0x31, 0x00, 0x34, 0x00, 0x36, 0x00, 0x2F, 0x00, 0x33, 0x0C, 0x02, 0x0F, 0x18,
0x00, 0x05, 0x1F, 0x28, 0x02, 0x00, 0x0C, 0x13, 0x15, 0x5A, 0x00, 0x02, 0x5E, 0x00, 0x3B, 0x16,
0x00, 0x15, 0x78, 0x00, 0x05, 0x50, 0x01, 0xA4, 0x40, 0x06, 0x00, 0xCC, 0x00, 0x09, 0x00, 0x4F,
0x00, 0x51, 0x18, 0x00, 0x00, 0x28, 0x01, 0x23, 0x40, 0x01, 0x0C, 0x02, 0x54, 0xAB, 0x00, 0x0A,
0x04, 0x11, 0x58, 0x01, 0x03, 0x04, 0x00, 0x0F, 0xEC, 0x00, 0x0D, 0x17, 0x02, 0x0C, 0x00, 0x17,
0x03, 0x60, 0x03, 0x02, 0xA1, 0x01, 0x7B, 0x22, 0x04, 0xFF, 0xFF, 0xAF, 0x4F, 0x01, 0x28, 0x00,
0x00, 0x01, 0x00, 0x32, 0x8B, 0xFF, 0x07, 0x84, 0x00, 0xF0, 0x10, 0x32, 0x54, 0x76, 0x10, 0x47,
0x32, 0x65, 0x10, 0x34, 0x76, 0x25, 0x01, 0x34, 0x67, 0x25, 0x01, 0x75, 0x64, 0x32, 0x01, 0x72,
0x56, 0x34, 0x10, 0x23, 0x74, 0x56, 0x01, 0x45, 0x32, 0x67, 0x24, 0x00, 0x31, 0x49, 0x92, 0x24,
0x04, 0x00, 0x0C, 0x01, 0x00, 0x13, 0x12, 0x04, 0x00, 0x0C, 0x94, 0x00, 0x80, 0x2F, 0x41, 0x13,
0x1F, 0x14, 0x00, 0x01, 0x00, 0x7C, 0x00, 0x80, 0xFF, 0xFF, 0xFF, 0x7F, 0x0B, 0xD7, 0x06, 0x40,
0x82, 0x00, 0xB2, 0x08, 0x08, 0x03, 0x00, 0x00, 0x5C, 0x01, 0x00, 0x10, 0x10, 0x10, 0x59, 0x03,
0x0B, 0x94, 0x04, 0x11, 0x37, 0x16, 0x03, 0x30, 0x00, 0x00, 0x10, 0xAD, 0x00, 0x51, 0x30, 0x00,
0x00, 0x11, 0x01, 0xB9, 0x02, 0x00, 0x1F, 0x00, 0x13, 0x0A, 0xA9, 0x04, 0x17, 0x10, 0x77, 0x03,
0x05, 0x12, 0x00, 0x00, 0x04, 0x04, 0xCF, 0x81, 0x10, 0x09, 0x28, 0x93, 0x32, 0xA5, 0x44, 0x5B,
0x8A, 0x67, 0x76, 0x2C, 0x01, 0x05, 0x53, 0xFF, 0xEF, 0xFF, 0xEF, 0xC0, 0x01, 0x00, 0x57, 0xDC,
0xDC, 0xDC, 0xDC, 0x0A, 0x01, 0x00, 0x01, 0x24, 0x01, 0x21, 0x03, 0x07, 0x04, 0x00, 0xF1, 0x03,
0x00, 0x24, 0xFF, 0xFF, 0x00, 0x44, 0x57, 0x6E, 0x00, 0x28, 0x72, 0x39, 0x00, 0x10, 0x9C, 0x4B,
0x00, 0x10, 0x58, 0x01, 0xB2, 0x08, 0x4C, 0x00, 0x00, 0x80, 0x20, 0x10, 0x0A, 0x00, 0x28, 0x10,
0xE0, 0x02, 0x0C, 0x74, 0x01, 0x04, 0x08, 0x00, 0x17, 0x05, 0x10, 0x00, 0x08, 0xF8, 0x03, 0xE4,
0x01, 0x00, 0x02, 0x02, 0x01, 0x02, 0x03, 0x00, 0x04, 0x05, 0xC3, 0x71, 0x0F, 0x0F, 0x98, 0x05,
0x14, 0x1F, 0xD8, 0x00, 0x01, 0xC0, 0x03, 0x14, 0x01, 0xDD, 0x00, 0x14, 0x80, 0xB6, 0x00, 0x15,
0xF0, 0xD4, 0x03, 0x68, 0x43, 0xC3, 0xBA, 0xE4, 0xD3, 0x1E, 0xD2, 0x00, 0x2F, 0xF0, 0xFF, 0xEC,
0x00, 0x05, 0x19, 0x08, 0x0E, 0x00, 0x14, 0x30, 0xAB, 0x00, 0x0F, 0x2C, 0x00, 0x02, 0x4F, 0x76,
0x0C, 0x00, 0x04, 0x50, 0x02, 0x01, 0x05, 0x34, 0x00, 0x0F, 0x3A, 0x00, 0x04, 0x38, 0x7E, 0x16,
0x40, 0x9F, 0x05, 0x0F, 0x38, 0x00, 0x17, 0x3F, 0x1E, 0x40, 0x04, 0xA8, 0x00, 0x08, 0x2F, 0x00,
0xC0, 0x55, 0x00, 0x04, 0x3F, 0x46, 0x24, 0x00, 0x38, 0x00, 0x0A, 0x0F, 0x01, 0x00, 0x05, 0x22,
0x46, 0x2C, 0x38, 0x00, 0x2F, 0xEC, 0x00, 0x3C, 0x01, 0x02, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00,
};
constexpr inline const u8 SdramParamsErista6[0x3B3] = { constexpr inline const u8 * const SdramParamsErista5 = SdramParamsErista4_5;
constexpr inline const size_t SdramParamsSizeErista5 = sizeof(SdramParamsErista4_5);
constexpr inline const u8 SdramParamsErista6_7[0x3BD] = {
0xFF, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x2C, 0x01, 0xFF, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x2C, 0x01,
0x00, 0x01, 0x00, 0x0E, 0xFC, 0x05, 0x68, 0xBC, 0x01, 0x70, 0x0A, 0x00, 0x00, 0x00, 0x04, 0xB4, 0x00, 0x01, 0x00, 0x0E, 0xFC, 0x05, 0x68, 0xBC, 0x01, 0x70, 0x0A, 0x00, 0x00, 0x00, 0x04, 0xB4,
0x01, 0x70, 0x01, 0x32, 0x54, 0x76, 0xC8, 0xE6, 0x00, 0x70, 0x24, 0x00, 0xC8, 0x34, 0x00, 0x00, 0x01, 0x70, 0x01, 0x32, 0x54, 0x76, 0xC8, 0xE6, 0x00, 0x70, 0x24, 0x00, 0xC8, 0x34, 0x00, 0x00,
@ -445,11 +288,17 @@ constexpr inline const u8 SdramParamsErista6[0x3B3] = {
0x02, 0x4F, 0x76, 0x0C, 0x00, 0x04, 0x50, 0x02, 0x01, 0x05, 0x34, 0x00, 0x0F, 0x3A, 0x00, 0x04, 0x02, 0x4F, 0x76, 0x0C, 0x00, 0x04, 0x50, 0x02, 0x01, 0x05, 0x34, 0x00, 0x0F, 0x3A, 0x00, 0x04,
0x38, 0x7E, 0x16, 0x40, 0x9F, 0x05, 0x0F, 0x38, 0x00, 0x17, 0x3F, 0x1E, 0x40, 0x04, 0xA8, 0x00, 0x38, 0x7E, 0x16, 0x40, 0x9F, 0x05, 0x0F, 0x38, 0x00, 0x17, 0x3F, 0x1E, 0x40, 0x04, 0xA8, 0x00,
0x08, 0x2F, 0x00, 0xC0, 0x55, 0x00, 0x04, 0x3F, 0x46, 0x24, 0x00, 0x38, 0x00, 0x0A, 0x0F, 0x01, 0x08, 0x2F, 0x00, 0xC0, 0x55, 0x00, 0x04, 0x3F, 0x46, 0x24, 0x00, 0x38, 0x00, 0x0A, 0x0F, 0x01,
0x00, 0x05, 0x22, 0x46, 0x2C, 0x38, 0x00, 0x2F, 0xEC, 0x00, 0x3C, 0x01, 0x02, 0x50, 0x00, 0x00, 0x00, 0x05, 0x22, 0x46, 0x2C, 0x38, 0x00, 0x2E, 0xEC, 0x00, 0x3C, 0x01, 0x0F, 0x01, 0x00, 0xFF,
0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x5F, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00,
}; };
constexpr inline const u8 SdramParamsMariko0[0x3A9] = { constexpr inline const u8 * const SdramParamsErista6 = SdramParamsErista6_7;
constexpr inline const size_t SdramParamsSizeErista6 = sizeof(SdramParamsErista6_7);
constexpr inline const u8 * const SdramParamsErista7 = SdramParamsErista6_7;
constexpr inline const size_t SdramParamsSizeErista7 = sizeof(SdramParamsErista6_7);
constexpr inline const u8 SdramParamsMariko0_1[0x3EE] = {
0xFF, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x2C, 0x01, 0xFF, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x2C, 0x01,
0x00, 0x01, 0x00, 0x96, 0x88, 0x02, 0x80, 0x18, 0x40, 0x00, 0x00, 0x00, 0x40, 0x14, 0x00, 0x82, 0x00, 0x01, 0x00, 0x96, 0x88, 0x02, 0x80, 0x18, 0x40, 0x00, 0x00, 0x00, 0x40, 0x14, 0x00, 0x82,
0xFF, 0xFF, 0x1F, 0x00, 0xD8, 0x51, 0x1A, 0xA0, 0x0E, 0x00, 0x11, 0x88, 0x04, 0x00, 0x26, 0x20, 0xFF, 0xFF, 0x1F, 0x00, 0xD8, 0x51, 0x1A, 0xA0, 0x0E, 0x00, 0x11, 0x88, 0x04, 0x00, 0x26, 0x20,
@ -508,72 +357,20 @@ constexpr inline const u8 SdramParamsMariko0[0x3A9] = {
0x00, 0x0F, 0x3A, 0x00, 0x04, 0x38, 0x7E, 0x16, 0x40, 0x03, 0x06, 0x0F, 0x38, 0x00, 0x17, 0x3F, 0x00, 0x0F, 0x3A, 0x00, 0x04, 0x38, 0x7E, 0x16, 0x40, 0x03, 0x06, 0x0F, 0x38, 0x00, 0x17, 0x3F,
0x1E, 0x40, 0x04, 0xA8, 0x00, 0x08, 0x2F, 0x00, 0xC0, 0x55, 0x00, 0x04, 0x3F, 0x46, 0x24, 0x00, 0x1E, 0x40, 0x04, 0xA8, 0x00, 0x08, 0x2F, 0x00, 0xC0, 0x55, 0x00, 0x04, 0x3F, 0x46, 0x24, 0x00,
0x38, 0x00, 0x0A, 0x0F, 0x01, 0x00, 0x05, 0x22, 0x46, 0x2C, 0x38, 0x00, 0x19, 0xEC, 0x16, 0x00, 0x38, 0x00, 0x0A, 0x0F, 0x01, 0x00, 0x05, 0x22, 0x46, 0x2C, 0x38, 0x00, 0x19, 0xEC, 0x16, 0x00,
0x0D, 0x3C, 0x01, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x3C, 0x01, 0x03, 0x0F, 0x38, 0x08, 0xFF, 0xFF, 0xFF, 0x9C, 0x7F, 0x16, 0x00, 0x0D, 0x00,
0x0B, 0x00, 0x17, 0x18, 0x00, 0x06, 0xF1, 0x02, 0x43, 0x00, 0x45, 0x00, 0x45, 0x00, 0x43, 0x00,
0x46, 0x00, 0x47, 0x00, 0x41, 0x00, 0x46, 0x00, 0x0C, 0xBA, 0x01, 0x1F, 0x0D, 0x18, 0x00, 0x06,
0x0F, 0x38, 0x08, 0x0D, 0x11, 0x16, 0x5A, 0x00, 0x00, 0x5C, 0x00, 0x00, 0x5E, 0x00, 0x3F, 0x17,
0x00, 0x16, 0x38, 0x08, 0xFF, 0xFF, 0xFF, 0xF6, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00,
}; };
constexpr inline const u8 SdramParamsMariko1[0x3AA] = { constexpr inline const u8 * const SdramParamsMariko0 = SdramParamsMariko0_1;
0xFF, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x2C, 0x01, constexpr inline const size_t SdramParamsSizeMariko0 = sizeof(SdramParamsMariko0_1);
0x00, 0x01, 0x00, 0x96, 0x88, 0x02, 0x80, 0x18, 0x40, 0x00, 0x00, 0x00, 0x40, 0x14, 0x00, 0x82,
0xFF, 0xFF, 0x1F, 0x00, 0xD8, 0x51, 0x1A, 0xA0, 0x0E, 0x00, 0x11, 0x88, 0x04, 0x00, 0x26, 0x20,
0x12, 0x0C, 0x00, 0x02, 0x04, 0x00, 0xF7, 0x00, 0x00, 0x00, 0xBC, 0xBC, 0xC5, 0xB3, 0x3C, 0x9E,
0x00, 0x00, 0x02, 0x03, 0xE0, 0xC1, 0x04, 0x01, 0x00, 0x17, 0x3F, 0x01, 0x00, 0x00, 0x38, 0x00,
0xD0, 0x04, 0x08, 0x00, 0x00, 0x50, 0x50, 0x50, 0x00, 0xA1, 0x01, 0x00, 0x00, 0x30, 0x39, 0x00,
0x62, 0x10, 0x00, 0x16, 0x00, 0x10, 0x90, 0x80, 0x00, 0x03, 0x74, 0x00, 0x13, 0x03, 0x04, 0x00,
0xD7, 0x1E, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x3A, 0x00, 0x00, 0x00, 0x1D, 0x94, 0x00,
0x57, 0x09, 0x00, 0x00, 0x00, 0x04, 0x10, 0x00, 0x13, 0x0B, 0x28, 0x00, 0x13, 0x08, 0x0C, 0x00,
0x00, 0x1C, 0x00, 0x53, 0x17, 0x00, 0x00, 0x00, 0x15, 0x08, 0x00, 0x13, 0x1B, 0x28, 0x00, 0x57,
0x20, 0x00, 0x00, 0x00, 0x06, 0x04, 0x00, 0x13, 0x03, 0x18, 0x00, 0x13, 0x04, 0x10, 0x00, 0x17,
0x02, 0x10, 0x00, 0x00, 0x4C, 0x00, 0x53, 0x0E, 0x00, 0x00, 0x00, 0x05, 0x1C, 0x00, 0x05, 0x24,
0x01, 0x03, 0x6C, 0x00, 0x03, 0xD7, 0x01, 0x10, 0x80, 0x0A, 0x00, 0x00, 0x0F, 0x01, 0x93, 0x18,
0x00, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00, 0x16, 0x0C, 0x00, 0x10, 0x0A, 0x48, 0x00, 0x03, 0x61,
0x00, 0x13, 0xC1, 0x50, 0x00, 0x13, 0x08, 0x74, 0x00, 0x13, 0x0A, 0x08, 0x00, 0x13, 0x14, 0x60,
0x00, 0x04, 0x54, 0x00, 0x13, 0x3B, 0x04, 0x00, 0x13, 0x05, 0x04, 0x00, 0x13, 0x04, 0xEC, 0x00,
0x08, 0x0C, 0x00, 0x90, 0x1C, 0x03, 0x00, 0x00, 0x0D, 0xA0, 0x60, 0x91, 0x3F, 0x15, 0x01, 0xF1,
0x28, 0x00, 0xF3, 0x0C, 0x04, 0x05, 0x1B, 0x06, 0x02, 0x03, 0x07, 0x1C, 0x23, 0x25, 0x25, 0x05,
0x08, 0x1D, 0x09, 0x0A, 0x24, 0x0B, 0x1E, 0x0D, 0x0C, 0x26, 0x26, 0x03, 0x02, 0x1B, 0x1C, 0x23,
0x03, 0x04, 0x07, 0x05, 0x06, 0x25, 0x25, 0x02, 0x0A, 0x0B, 0x1D, 0x0D, 0x08, 0x0C, 0x09, 0x1E,
0x24, 0x26, 0x26, 0x08, 0x24, 0x06, 0x07, 0x9A, 0xBF, 0x01, 0x3C, 0xFF, 0x00, 0xFF, 0x00, 0x02,
0xB0, 0x04, 0x00, 0x01, 0x88, 0x00, 0x00, 0x02, 0x88, 0x00, 0x00, 0x0D, 0xD5, 0x01, 0xF2, 0x0E,
0xC0, 0x31, 0x31, 0x03, 0x88, 0x00, 0x00, 0x0B, 0x88, 0x5D, 0x5D, 0x0E, 0x8C, 0x5D, 0x5D, 0x0C,
0x88, 0x08, 0x08, 0x0D, 0x8C, 0x00, 0x00, 0x0D, 0x8C, 0x16, 0x16, 0x16, 0x88, 0x2C, 0x00, 0x2C,
0x11, 0x08, 0xDF, 0x02, 0x70, 0x10, 0x00, 0xCC, 0x00, 0x0A, 0x00, 0x33, 0x6E, 0x01, 0x40, 0xF3,
0x25, 0x08, 0x11, 0x69, 0x00, 0x23, 0x0F, 0x00, 0x30, 0x01, 0x80, 0x01, 0x03, 0x00, 0x70, 0x00,
0x0C, 0x00, 0x01, 0x0C, 0x00, 0xA2, 0x08, 0x44, 0x00, 0x10, 0x04, 0x04, 0x00, 0x06, 0x13, 0x07,
0x1C, 0x00, 0x71, 0xA0, 0x00, 0x2C, 0x00, 0x01, 0x37, 0x0F, 0x52, 0x01, 0x00, 0x10, 0x01, 0xDB,
0x0C, 0x00, 0x04, 0x00, 0x1F, 0x22, 0x20, 0x80, 0x0F, 0xF4, 0x20, 0x02, 0x29, 0x01, 0x00, 0x12,
0x78, 0x9A, 0x02, 0x1F, 0x0F, 0xF4, 0x02, 0x31, 0x7F, 0x16, 0x00, 0x0D, 0x00, 0x0B, 0x00, 0x17,
0x18, 0x00, 0x06, 0xF1, 0x02, 0x43, 0x00, 0x45, 0x00, 0x45, 0x00, 0x43, 0x00, 0x46, 0x00, 0x47,
0x00, 0x41, 0x00, 0x46, 0x00, 0x0C, 0xBA, 0x01, 0x1F, 0x0D, 0x18, 0x00, 0x06, 0x1F, 0x28, 0x02,
0x00, 0x0C, 0x11, 0x16, 0x5A, 0x00, 0x00, 0x5C, 0x00, 0x00, 0x5E, 0x00, 0x3F, 0x17, 0x00, 0x16,
0x94, 0x00, 0x00, 0x05, 0x54, 0x01, 0xB3, 0x40, 0x06, 0x00, 0xCC, 0x00, 0x09, 0x00, 0x4F, 0x00,
0x51, 0x80, 0x18, 0x00, 0x04, 0x08, 0x00, 0x01, 0x6E, 0x00, 0x54, 0xAB, 0x00, 0x0A, 0x04, 0x11,
0x5C, 0x01, 0x03, 0x04, 0x00, 0x0F, 0xE4, 0x03, 0x0E, 0x07, 0x0C, 0x00, 0x04, 0xA8, 0x04, 0x01,
0x14, 0x00, 0x8B, 0x01, 0x22, 0x04, 0xFF, 0x9F, 0xAF, 0x4F, 0x01, 0x24, 0x00, 0x00, 0x01, 0x00,
0x32, 0x9F, 0xFF, 0x37, 0x98, 0x00, 0xF0, 0x10, 0x32, 0x54, 0x76, 0x10, 0x47, 0x32, 0x65, 0x10,
0x34, 0x76, 0x25, 0x01, 0x34, 0x67, 0x25, 0x01, 0x75, 0x64, 0x32, 0x01, 0x72, 0x56, 0x34, 0x10,
0x23, 0x74, 0x56, 0x01, 0x45, 0x32, 0x67, 0x24, 0x00, 0x31, 0x49, 0x92, 0x24, 0x04, 0x00, 0x0C,
0x01, 0x00, 0x13, 0x12, 0x04, 0x00, 0x0C, 0x90, 0x00, 0x80, 0x20, 0x41, 0x13, 0x1F, 0x14, 0x00,
0x01, 0x00, 0x7C, 0x00, 0x85, 0xFF, 0xFF, 0xFF, 0x7F, 0x1F, 0xD7, 0x36, 0x40, 0xE6, 0x03, 0x24,
0x34, 0x10, 0x0A, 0x00, 0x0F, 0xCC, 0x00, 0x02, 0x31, 0x03, 0x00, 0x05, 0x2B, 0x03, 0x22, 0x10,
0x02, 0xDD, 0x03, 0x13, 0x21, 0x15, 0x04, 0x14, 0x40, 0x8B, 0x02, 0x07, 0x01, 0x00, 0x71, 0x80,
0x00, 0x40, 0x00, 0x04, 0x10, 0x80, 0x04, 0x04, 0xDF, 0x81, 0x10, 0x09, 0x28, 0x93, 0x32, 0xA5,
0x44, 0x5B, 0x8A, 0x67, 0x76, 0x00, 0x01, 0x00, 0x4C, 0x22, 0x10, 0x10, 0x04, 0x00, 0x44, 0x00,
0xEF, 0x00, 0xEF, 0x14, 0x00, 0x4D, 0x1C, 0x1C, 0x1C, 0x1C, 0x98, 0x01, 0x21, 0x03, 0x08, 0x04,
0x00, 0xF1, 0x03, 0x00, 0x24, 0xFF, 0xFF, 0x00, 0x44, 0x57, 0x6E, 0x00, 0x28, 0x72, 0x39, 0x00,
0x10, 0x9C, 0x4B, 0x00, 0x10, 0xA4, 0x01, 0xEF, 0x08, 0x4C, 0x00, 0x00, 0x80, 0x20, 0x10, 0x0A,
0x00, 0x28, 0x10, 0x00, 0x80, 0x01, 0xC0, 0x01, 0x00, 0x04, 0x08, 0x00, 0x17, 0x05, 0x0C, 0x02,
0x13, 0x04, 0x10, 0x00, 0x12, 0x07, 0x62, 0x00, 0xD2, 0x02, 0x01, 0x02, 0x03, 0x00, 0x04, 0x05,
0xA3, 0x72, 0x0F, 0x0F, 0x00, 0x70, 0x42, 0x00, 0x16, 0x1F, 0x28, 0x01, 0x43, 0xFF, 0x00, 0xFF,
0x01, 0xA4, 0x04, 0x24, 0x00, 0x80, 0x96, 0x00, 0x15, 0xF0, 0x24, 0x04, 0x68, 0x43, 0xC3, 0xBA,
0xE4, 0xD3, 0x1E, 0x0B, 0x05, 0x2F, 0xF0, 0xFF, 0xF4, 0x00, 0x05, 0x19, 0x08, 0x0E, 0x00, 0x01,
0xE6, 0x05, 0x1F, 0x03, 0x2C, 0x00, 0x05, 0x10, 0x76, 0xE9, 0x03, 0x0F, 0x9C, 0x02, 0x00, 0x05,
0x34, 0x00, 0x0F, 0x3A, 0x00, 0x04, 0x38, 0x7E, 0x16, 0x40, 0x03, 0x06, 0x0F, 0x38, 0x00, 0x17,
0x3F, 0x1E, 0x40, 0x04, 0xA8, 0x00, 0x08, 0x2F, 0x00, 0xC0, 0x55, 0x00, 0x04, 0x3F, 0x46, 0x24,
0x00, 0x38, 0x00, 0x0A, 0x0F, 0x01, 0x00, 0x05, 0x22, 0x46, 0x2C, 0x38, 0x00, 0x19, 0xEC, 0x16,
0x00, 0x0D, 0x3C, 0x01, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00,
};
constexpr inline const u8 SdramParamsMariko2[0x3B3] = { constexpr inline const u8 * const SdramParamsMariko1 = SdramParamsMariko0_1;
constexpr inline const size_t SdramParamsSizeMariko1 = sizeof(SdramParamsMariko0_1);
constexpr inline const u8 SdramParamsMariko2_3[0x449] = {
0xFF, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x2C, 0x01, 0xFF, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x2C, 0x01,
0x00, 0x01, 0x00, 0x96, 0x88, 0x02, 0x80, 0x18, 0x40, 0x00, 0x00, 0x00, 0x40, 0x14, 0x00, 0xF0, 0x00, 0x01, 0x00, 0x96, 0x88, 0x02, 0x80, 0x18, 0x40, 0x00, 0x00, 0x00, 0x40, 0x14, 0x00, 0xF0,
0x01, 0xFF, 0xFF, 0x1F, 0x00, 0xD8, 0x51, 0x1A, 0xA0, 0x00, 0x00, 0x50, 0x05, 0x00, 0x00, 0x88, 0x01, 0xFF, 0xFF, 0x1F, 0x00, 0xD8, 0x51, 0x1A, 0xA0, 0x00, 0x00, 0x50, 0x05, 0x00, 0x00, 0x88,
@ -632,73 +429,26 @@ constexpr inline const u8 SdramParamsMariko2[0x3B3] = {
0x10, 0x76, 0xE9, 0x03, 0x0F, 0x9C, 0x02, 0x00, 0x05, 0x34, 0x00, 0x0F, 0x3A, 0x00, 0x04, 0x38, 0x10, 0x76, 0xE9, 0x03, 0x0F, 0x9C, 0x02, 0x00, 0x05, 0x34, 0x00, 0x0F, 0x3A, 0x00, 0x04, 0x38,
0x7E, 0x16, 0x40, 0x03, 0x06, 0x0F, 0x38, 0x00, 0x17, 0x3F, 0x1E, 0x40, 0x04, 0xA8, 0x00, 0x08, 0x7E, 0x16, 0x40, 0x03, 0x06, 0x0F, 0x38, 0x00, 0x17, 0x3F, 0x1E, 0x40, 0x04, 0xA8, 0x00, 0x08,
0x2F, 0x00, 0xC0, 0x55, 0x00, 0x04, 0x3F, 0x46, 0x24, 0x00, 0x38, 0x00, 0x0A, 0x0F, 0x01, 0x00, 0x2F, 0x00, 0xC0, 0x55, 0x00, 0x04, 0x3F, 0x46, 0x24, 0x00, 0x38, 0x00, 0x0A, 0x0F, 0x01, 0x00,
0x05, 0x22, 0x46, 0x2C, 0x38, 0x00, 0x19, 0xEC, 0x16, 0x00, 0x0D, 0x3C, 0x01, 0x50, 0x00, 0x00, 0x05, 0x22, 0x46, 0x2C, 0x38, 0x00, 0x19, 0xEC, 0x16, 0x00, 0x0F, 0x3C, 0x01, 0x03, 0x0F, 0x38,
0x00, 0x00, 0x00, 0x08, 0xC3, 0x2F, 0x00, 0x00, 0x38, 0x08, 0x0B, 0x2F, 0xC5, 0xB3, 0x38, 0x08, 0x29, 0x1F, 0x00,
0x38, 0x08, 0x84, 0x13, 0x05, 0x1C, 0x00, 0x08, 0xDC, 0x02, 0x1F, 0x0D, 0x38, 0x08, 0xC7, 0x93,
0x88, 0x00, 0x00, 0x02, 0x88, 0x00, 0x00, 0x0D, 0x88, 0x38, 0x08, 0xF2, 0x0A, 0x88, 0x00, 0x00,
0x0B, 0x88, 0x5D, 0x5D, 0x0E, 0x8C, 0x5D, 0x5D, 0x0C, 0x88, 0x08, 0x08, 0x0D, 0x8C, 0x00, 0x00,
0x0D, 0x8C, 0x16, 0x16, 0x16, 0x88, 0x2C, 0x00, 0x0F, 0x38, 0x08, 0x43, 0x1B, 0x02, 0x38, 0x08,
0x04, 0x30, 0x08, 0x0F, 0x38, 0x08, 0x91, 0x1F, 0x28, 0x02, 0x00, 0x0C, 0x0F, 0x38, 0x08, 0x24,
0x14, 0x80, 0x38, 0x08, 0x04, 0x20, 0x00, 0x0F, 0x38, 0x08, 0xFF, 0x1E, 0x7F, 0x80, 0x00, 0x40,
0x00, 0x04, 0x10, 0x80, 0x38, 0x08, 0x82, 0x1F, 0x00, 0x38, 0x08, 0x09, 0x1F, 0x10, 0x38, 0x08,
0x1F, 0x1F, 0x01, 0x38, 0x08, 0x00, 0x1F, 0x00, 0x38, 0x08, 0x36, 0x0E, 0x1C, 0x00, 0x0F, 0x38,
0x08, 0xFF, 0x31, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00,
}; };
constexpr inline const u8 SdramParamsMariko3[0x3AA] = { constexpr inline const u8 * const SdramParamsMariko2 = SdramParamsMariko2_3;
0xFF, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x2C, 0x01, constexpr inline const size_t SdramParamsSizeMariko2 = sizeof(SdramParamsMariko2_3);
0x00, 0x01, 0x00, 0x96, 0x88, 0x02, 0x80, 0x18, 0x40, 0x00, 0x00, 0x00, 0x40, 0x14, 0x00, 0x82,
0xFF, 0xFF, 0x1F, 0x00, 0xD8, 0x51, 0x1A, 0xA0, 0x0E, 0x00, 0x11, 0x88, 0x04, 0x00, 0x26, 0x20,
0x12, 0x0C, 0x00, 0x02, 0x04, 0x00, 0xF7, 0x00, 0x00, 0x00, 0xBC, 0xBC, 0xC5, 0xB3, 0x3C, 0x9E,
0x00, 0x00, 0x02, 0x03, 0xE0, 0xC1, 0x04, 0x01, 0x00, 0x17, 0x3F, 0x01, 0x00, 0x00, 0x38, 0x00,
0xD0, 0x04, 0x08, 0x00, 0x00, 0x50, 0x50, 0x50, 0x00, 0xA1, 0x01, 0x00, 0x00, 0x30, 0x39, 0x00,
0x62, 0x10, 0x00, 0x16, 0x00, 0x10, 0x90, 0x80, 0x00, 0x03, 0x74, 0x00, 0x13, 0x03, 0x04, 0x00,
0xD7, 0x1E, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x3A, 0x00, 0x00, 0x00, 0x1D, 0x94, 0x00,
0x57, 0x09, 0x00, 0x00, 0x00, 0x04, 0x10, 0x00, 0x13, 0x0B, 0x28, 0x00, 0x13, 0x08, 0x0C, 0x00,
0x00, 0x1C, 0x00, 0x53, 0x17, 0x00, 0x00, 0x00, 0x15, 0x08, 0x00, 0x13, 0x1B, 0x28, 0x00, 0x57,
0x20, 0x00, 0x00, 0x00, 0x06, 0x04, 0x00, 0x13, 0x03, 0x18, 0x00, 0x13, 0x04, 0x10, 0x00, 0x17,
0x02, 0x10, 0x00, 0x00, 0x4C, 0x00, 0x53, 0x0E, 0x00, 0x00, 0x00, 0x05, 0x1C, 0x00, 0x05, 0x24,
0x01, 0x03, 0x6C, 0x00, 0x03, 0xD7, 0x01, 0x10, 0x80, 0x0A, 0x00, 0x00, 0x0F, 0x01, 0x93, 0x18,
0x00, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00, 0x16, 0x0C, 0x00, 0x10, 0x0A, 0x48, 0x00, 0x03, 0x61,
0x00, 0x13, 0xC1, 0x50, 0x00, 0x13, 0x08, 0x74, 0x00, 0x13, 0x0A, 0x08, 0x00, 0x13, 0x14, 0x60,
0x00, 0x04, 0x54, 0x00, 0x13, 0x3B, 0x04, 0x00, 0x13, 0x05, 0x04, 0x00, 0x13, 0x04, 0xEC, 0x00,
0x08, 0x0C, 0x00, 0x90, 0x1C, 0x03, 0x00, 0x00, 0x0D, 0xA0, 0x60, 0x91, 0x3F, 0x15, 0x01, 0xF1,
0x28, 0x00, 0xF3, 0x0C, 0x04, 0x05, 0x1B, 0x06, 0x02, 0x03, 0x07, 0x1C, 0x23, 0x25, 0x25, 0x05,
0x08, 0x1D, 0x09, 0x0A, 0x24, 0x0B, 0x1E, 0x0D, 0x0C, 0x26, 0x26, 0x03, 0x02, 0x1B, 0x1C, 0x23,
0x03, 0x04, 0x07, 0x05, 0x06, 0x25, 0x25, 0x02, 0x0A, 0x0B, 0x1D, 0x0D, 0x08, 0x0C, 0x09, 0x1E,
0x24, 0x26, 0x26, 0x08, 0x24, 0x06, 0x07, 0x9A, 0xBF, 0x01, 0x3C, 0xFF, 0x00, 0xFF, 0x00, 0x02,
0xB0, 0x04, 0x00, 0x01, 0x88, 0x00, 0x00, 0x02, 0x88, 0x00, 0x00, 0x0D, 0xD5, 0x01, 0xF2, 0x0E,
0xC0, 0x31, 0x31, 0x03, 0x88, 0x00, 0x00, 0x0B, 0x88, 0x5D, 0x5D, 0x0E, 0x8C, 0x5D, 0x5D, 0x0C,
0x88, 0x08, 0x08, 0x0D, 0x8C, 0x00, 0x00, 0x0D, 0x8C, 0x16, 0x16, 0x16, 0x88, 0x2C, 0x00, 0x2C,
0x11, 0x08, 0xDF, 0x02, 0x70, 0x10, 0x00, 0xCC, 0x00, 0x0A, 0x00, 0x33, 0x6E, 0x01, 0x40, 0xF3,
0x25, 0x08, 0x11, 0x69, 0x00, 0x23, 0x0F, 0x00, 0x30, 0x01, 0x80, 0x01, 0x03, 0x00, 0x70, 0x00,
0x0C, 0x00, 0x01, 0x0C, 0x00, 0xA2, 0x08, 0x44, 0x00, 0x10, 0x04, 0x04, 0x00, 0x06, 0x13, 0x07,
0x1C, 0x00, 0x71, 0xA0, 0x00, 0x2C, 0x00, 0x01, 0x37, 0x0F, 0x52, 0x01, 0x00, 0x10, 0x01, 0xDB,
0x0C, 0x00, 0x04, 0x00, 0x1F, 0x22, 0x20, 0x80, 0x0F, 0xF4, 0x20, 0x02, 0x29, 0x01, 0x00, 0x12,
0x78, 0x9A, 0x02, 0x1F, 0x0F, 0xF4, 0x02, 0x31, 0x7F, 0x16, 0x00, 0x0D, 0x00, 0x0B, 0x00, 0x17,
0x18, 0x00, 0x06, 0xF1, 0x02, 0x43, 0x00, 0x45, 0x00, 0x45, 0x00, 0x43, 0x00, 0x46, 0x00, 0x47,
0x00, 0x41, 0x00, 0x46, 0x00, 0x0C, 0xBA, 0x01, 0x1F, 0x0D, 0x18, 0x00, 0x06, 0x1F, 0x28, 0x02,
0x00, 0x0C, 0x11, 0x16, 0x5A, 0x00, 0x00, 0x5C, 0x00, 0x00, 0x5E, 0x00, 0x3F, 0x17, 0x00, 0x16,
0x94, 0x00, 0x00, 0x05, 0x54, 0x01, 0xB3, 0x40, 0x06, 0x00, 0xCC, 0x00, 0x09, 0x00, 0x4F, 0x00,
0x51, 0x80, 0x18, 0x00, 0x04, 0x08, 0x00, 0x01, 0x6E, 0x00, 0x54, 0xAB, 0x00, 0x0A, 0x04, 0x11,
0x5C, 0x01, 0x03, 0x04, 0x00, 0x0F, 0xE4, 0x03, 0x0E, 0x07, 0x0C, 0x00, 0x04, 0xA8, 0x04, 0x01,
0x14, 0x00, 0x8B, 0x01, 0x22, 0x04, 0xFF, 0x9F, 0xAF, 0x4F, 0x01, 0x24, 0x00, 0x00, 0x01, 0x00,
0x32, 0x9F, 0xFF, 0x37, 0x98, 0x00, 0xF0, 0x10, 0x32, 0x54, 0x76, 0x10, 0x47, 0x32, 0x65, 0x10,
0x34, 0x76, 0x25, 0x01, 0x34, 0x67, 0x25, 0x01, 0x75, 0x64, 0x32, 0x01, 0x72, 0x56, 0x34, 0x10,
0x23, 0x74, 0x56, 0x01, 0x45, 0x32, 0x67, 0x24, 0x00, 0x31, 0x49, 0x92, 0x24, 0x04, 0x00, 0x0C,
0x01, 0x00, 0x13, 0x12, 0x04, 0x00, 0x0C, 0x90, 0x00, 0x80, 0x20, 0x41, 0x13, 0x1F, 0x14, 0x00,
0x01, 0x00, 0x7C, 0x00, 0x85, 0xFF, 0xFF, 0xFF, 0x7F, 0x1F, 0xD7, 0x36, 0x40, 0xE6, 0x03, 0x24,
0x34, 0x10, 0x0A, 0x00, 0x0F, 0xCC, 0x00, 0x02, 0x31, 0x03, 0x00, 0x05, 0x2B, 0x03, 0x22, 0x10,
0x02, 0xDD, 0x03, 0x13, 0x21, 0x15, 0x04, 0x14, 0x40, 0x8B, 0x02, 0x07, 0x01, 0x00, 0x71, 0x80,
0x00, 0x40, 0x00, 0x04, 0x10, 0x80, 0x04, 0x04, 0xDF, 0x81, 0x10, 0x09, 0x28, 0x93, 0x32, 0xA5,
0x44, 0x5B, 0x8A, 0x67, 0x76, 0x00, 0x01, 0x00, 0x4C, 0x22, 0x10, 0x10, 0x04, 0x00, 0x44, 0x00,
0xEF, 0x00, 0xEF, 0x14, 0x00, 0x4D, 0x1C, 0x1C, 0x1C, 0x1C, 0x98, 0x01, 0x21, 0x03, 0x08, 0x04,
0x00, 0xF1, 0x03, 0x00, 0x24, 0xFF, 0xFF, 0x00, 0x44, 0x57, 0x6E, 0x00, 0x28, 0x72, 0x39, 0x00,
0x10, 0x9C, 0x4B, 0x00, 0x10, 0xA4, 0x01, 0xEF, 0x08, 0x4C, 0x00, 0x00, 0x80, 0x20, 0x10, 0x0A,
0x00, 0x28, 0x10, 0x00, 0x80, 0x01, 0xC0, 0x01, 0x00, 0x04, 0x08, 0x00, 0x17, 0x05, 0x0C, 0x02,
0x13, 0x04, 0x10, 0x00, 0x12, 0x07, 0x62, 0x00, 0xD2, 0x02, 0x01, 0x02, 0x03, 0x00, 0x04, 0x05,
0xA3, 0x72, 0x0F, 0x0F, 0x00, 0x70, 0x42, 0x00, 0x16, 0x1F, 0x28, 0x01, 0x43, 0xFF, 0x00, 0xFF,
0x01, 0xA4, 0x04, 0x24, 0x00, 0x80, 0x96, 0x00, 0x15, 0xF0, 0x24, 0x04, 0x68, 0x43, 0xC3, 0xBA,
0xE4, 0xD3, 0x1E, 0x0B, 0x05, 0x2F, 0xF0, 0xFF, 0xF4, 0x00, 0x05, 0x19, 0x08, 0x0E, 0x00, 0x01,
0xE6, 0x05, 0x1F, 0x03, 0x2C, 0x00, 0x05, 0x10, 0x76, 0xE9, 0x03, 0x0F, 0x9C, 0x02, 0x00, 0x05,
0x34, 0x00, 0x0F, 0x3A, 0x00, 0x04, 0x38, 0x7E, 0x16, 0x40, 0x03, 0x06, 0x0F, 0x38, 0x00, 0x17,
0x3F, 0x1E, 0x40, 0x04, 0xA8, 0x00, 0x08, 0x2F, 0x00, 0xC0, 0x55, 0x00, 0x04, 0x3F, 0x46, 0x24,
0x00, 0x38, 0x00, 0x0A, 0x0F, 0x01, 0x00, 0x05, 0x22, 0x46, 0x2C, 0x38, 0x00, 0x19, 0xEC, 0x16,
0x00, 0x0D, 0x3C, 0x01, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00,
};
constexpr inline const u8 SdramParamsMariko4[0x3B4] = { constexpr inline const u8 * const SdramParamsMariko3 = SdramParamsMariko2_3;
constexpr inline const size_t SdramParamsSizeMariko3 = sizeof(SdramParamsMariko2_3);
constexpr inline const u8 SdramParamsMariko4_5[0x3F7] = {
0xFF, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x2C, 0x01, 0xFF, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x2C, 0x01,
0x00, 0x01, 0x00, 0x96, 0x88, 0x02, 0x80, 0x18, 0x40, 0x00, 0x00, 0x00, 0x40, 0x14, 0x00, 0xF0, 0x00, 0x01, 0x00, 0x96, 0x88, 0x02, 0x80, 0x18, 0x40, 0x00, 0x00, 0x00, 0x40, 0x14, 0x00, 0xF0,
0x01, 0xFF, 0xFF, 0x1F, 0x00, 0xD8, 0x51, 0x1A, 0xA0, 0x00, 0x00, 0x50, 0x05, 0x00, 0x00, 0x88, 0x01, 0xFF, 0xFF, 0x1F, 0x00, 0xD8, 0x51, 0x1A, 0xA0, 0x00, 0x00, 0x50, 0x05, 0x00, 0x00, 0x88,
@ -757,74 +507,21 @@ constexpr inline const u8 SdramParamsMariko4[0x3B4] = {
0x05, 0x10, 0x76, 0xE9, 0x03, 0x0F, 0x9C, 0x02, 0x00, 0x05, 0x34, 0x00, 0x0F, 0x3A, 0x00, 0x04, 0x05, 0x10, 0x76, 0xE9, 0x03, 0x0F, 0x9C, 0x02, 0x00, 0x05, 0x34, 0x00, 0x0F, 0x3A, 0x00, 0x04,
0x38, 0x7E, 0x16, 0x40, 0x03, 0x06, 0x0F, 0x38, 0x00, 0x17, 0x3F, 0x1E, 0x40, 0x04, 0xA8, 0x00, 0x38, 0x7E, 0x16, 0x40, 0x03, 0x06, 0x0F, 0x38, 0x00, 0x17, 0x3F, 0x1E, 0x40, 0x04, 0xA8, 0x00,
0x08, 0x2F, 0x00, 0xC0, 0x55, 0x00, 0x04, 0x3F, 0x46, 0x24, 0x00, 0x38, 0x00, 0x0A, 0x0F, 0x01, 0x08, 0x2F, 0x00, 0xC0, 0x55, 0x00, 0x04, 0x3F, 0x46, 0x24, 0x00, 0x38, 0x00, 0x0A, 0x0F, 0x01,
0x00, 0x05, 0x22, 0x46, 0x2C, 0x38, 0x00, 0x19, 0xEC, 0x16, 0x00, 0x0D, 0x3C, 0x01, 0x50, 0x00, 0x00, 0x05, 0x22, 0x46, 0x2C, 0x38, 0x00, 0x19, 0xEC, 0x16, 0x00, 0x0F, 0x3C, 0x01, 0x03, 0x0F,
0x00, 0x00, 0x00, 0x00, 0x38, 0x08, 0xFF, 0xFF, 0xFF, 0x40, 0x13, 0x32, 0x01, 0x00, 0x0F, 0x38, 0x08, 0x41, 0x3E, 0x18,
0x00, 0x0F, 0x38, 0x08, 0x07, 0x18, 0x00, 0x93, 0x48, 0x00, 0x44, 0x00, 0x45, 0x00, 0x44, 0x00,
0x47, 0x20, 0x08, 0x11, 0x0D, 0x8E, 0x01, 0x1F, 0x0D, 0x18, 0x00, 0x06, 0x1F, 0x78, 0x02, 0x00,
0x0C, 0x11, 0x18, 0x5A, 0x00, 0x15, 0x0F, 0x38, 0x08, 0x1F, 0x18, 0x38, 0x08, 0xFF, 0xFF, 0xFF,
0xF6, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00,
}; };
constexpr inline const u8 SdramParamsMariko5[0x3B8] = { constexpr inline const u8 * const SdramParamsMariko4 = SdramParamsMariko4_5;
0xFF, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x2C, 0x01, constexpr inline const size_t SdramParamsSizeMariko4 = sizeof(SdramParamsMariko4_5);
0x00, 0x01, 0x00, 0x96, 0x88, 0x02, 0x80, 0x18, 0x40, 0x00, 0x00, 0x00, 0x40, 0x14, 0x00, 0xF0,
0x01, 0xFF, 0xFF, 0x1F, 0x00, 0xD8, 0x51, 0x1A, 0xA0, 0x00, 0x00, 0x50, 0x05, 0x00, 0x00, 0x88,
0x00, 0x04, 0x00, 0x20, 0x20, 0x12, 0x1A, 0x00, 0x17, 0x88, 0x04, 0x00, 0xF7, 0x00, 0x00, 0x00,
0xBC, 0xBC, 0xAF, 0xC9, 0x3C, 0x9E, 0x00, 0x00, 0x02, 0x03, 0xE0, 0xC1, 0x04, 0x01, 0x00, 0x17,
0x3F, 0x01, 0x00, 0x00, 0x38, 0x00, 0xD0, 0x04, 0x08, 0x00, 0x00, 0x50, 0x50, 0x50, 0x00, 0xA1,
0x01, 0x00, 0x00, 0x30, 0x39, 0x00, 0x62, 0x10, 0x00, 0x16, 0x00, 0x10, 0x90, 0x80, 0x00, 0x03,
0x74, 0x00, 0x13, 0x03, 0x04, 0x00, 0xD7, 0x1E, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x3A,
0x00, 0x00, 0x00, 0x1D, 0x94, 0x00, 0x57, 0x09, 0x00, 0x00, 0x00, 0x04, 0x10, 0x00, 0x13, 0x0B,
0x28, 0x00, 0x13, 0x08, 0x0C, 0x00, 0x00, 0x1C, 0x00, 0x53, 0x17, 0x00, 0x00, 0x00, 0x15, 0x08,
0x00, 0x13, 0x1B, 0x28, 0x00, 0x57, 0x20, 0x00, 0x00, 0x00, 0x06, 0x04, 0x00, 0x13, 0x03, 0x18,
0x00, 0x13, 0x04, 0x10, 0x00, 0x17, 0x02, 0x10, 0x00, 0x00, 0x4C, 0x00, 0x53, 0x0E, 0x00, 0x00,
0x00, 0x05, 0x1C, 0x00, 0x05, 0x24, 0x01, 0x03, 0x6C, 0x00, 0x03, 0xD7, 0x01, 0x10, 0x80, 0x0A,
0x00, 0x00, 0x0F, 0x01, 0x93, 0x18, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00, 0x16, 0x0C, 0x00,
0x10, 0x0A, 0x48, 0x00, 0x03, 0x61, 0x00, 0x13, 0xC1, 0x50, 0x00, 0x13, 0x08, 0x74, 0x00, 0x13,
0x0A, 0x08, 0x00, 0x13, 0x14, 0x60, 0x00, 0x04, 0x54, 0x00, 0x13, 0x3B, 0x04, 0x00, 0x13, 0x05,
0x04, 0x00, 0x13, 0x04, 0xEC, 0x00, 0x08, 0x0C, 0x00, 0x90, 0x1C, 0x03, 0x00, 0x00, 0x0D, 0xA0,
0x60, 0x91, 0x3F, 0x15, 0x01, 0xF1, 0x28, 0x00, 0xF3, 0x0C, 0x04, 0x05, 0x1B, 0x06, 0x02, 0x03,
0x07, 0x1C, 0x23, 0x25, 0x25, 0x05, 0x08, 0x1D, 0x09, 0x0A, 0x24, 0x0B, 0x1E, 0x0D, 0x0C, 0x26,
0x26, 0x03, 0x02, 0x1B, 0x1C, 0x23, 0x03, 0x04, 0x07, 0x05, 0x06, 0x25, 0x25, 0x02, 0x0A, 0x0B,
0x1D, 0x0D, 0x08, 0x0C, 0x09, 0x1E, 0x24, 0x26, 0x26, 0x08, 0x24, 0x06, 0x07, 0x9A, 0xBF, 0x01,
0x3C, 0xFF, 0x00, 0xFF, 0x00, 0x02, 0xB0, 0x04, 0x00, 0x01, 0x88, 0x00, 0x00, 0x02, 0x88, 0x00,
0x00, 0x0D, 0xD5, 0x01, 0xF2, 0x0E, 0xC0, 0x31, 0x31, 0x03, 0x88, 0x00, 0x00, 0x0B, 0x88, 0x5D,
0x5D, 0x0E, 0x8C, 0x5D, 0x5D, 0x0C, 0x88, 0x08, 0x08, 0x0D, 0x8C, 0x00, 0x00, 0x0D, 0x8C, 0x14,
0x14, 0x16, 0x88, 0x2C, 0x00, 0x2C, 0x11, 0x08, 0xDF, 0x02, 0x70, 0x10, 0x00, 0xCC, 0x00, 0x0A,
0x00, 0x33, 0x6E, 0x01, 0x40, 0xF3, 0x25, 0x08, 0x11, 0x69, 0x00, 0x23, 0x0F, 0x00, 0x30, 0x01,
0x80, 0x01, 0x03, 0x00, 0x70, 0x00, 0x0C, 0x00, 0x01, 0x0C, 0x00, 0xC0, 0x08, 0x44, 0x00, 0x10,
0x04, 0x04, 0x00, 0x06, 0x13, 0x07, 0x00, 0x80, 0x10, 0x00, 0x71, 0xA0, 0x00, 0x2C, 0x00, 0x01,
0x37, 0x0F, 0x52, 0x01, 0x00, 0x10, 0x01, 0xD3, 0x0C, 0x00, 0x04, 0x00, 0x1F, 0x22, 0x20, 0x80,
0x0F, 0xF4, 0x20, 0x02, 0x32, 0x01, 0x00, 0x13, 0x29, 0x01, 0x00, 0x12, 0x78, 0x9A, 0x02, 0x1F,
0x0F, 0xF4, 0x02, 0x31, 0x7F, 0x18, 0x00, 0x0F, 0x00, 0x0B, 0x00, 0x17, 0x18, 0x00, 0x06, 0xF1,
0x02, 0x48, 0x00, 0x44, 0x00, 0x45, 0x00, 0x44, 0x00, 0x47, 0x00, 0x47, 0x00, 0x41, 0x00, 0x46,
0x00, 0x0D, 0x8E, 0x01, 0x1F, 0x0D, 0x18, 0x00, 0x06, 0x1F, 0x78, 0x02, 0x00, 0x0C, 0x11, 0x18,
0x5A, 0x00, 0x00, 0x5C, 0x00, 0x00, 0x5E, 0x00, 0x3F, 0x17, 0x00, 0x18, 0x94, 0x00, 0x00, 0x05,
0x54, 0x01, 0xB3, 0x40, 0x06, 0x00, 0xCC, 0x00, 0x09, 0x00, 0x4F, 0x00, 0x51, 0x80, 0x18, 0x00,
0x04, 0x08, 0x00, 0x01, 0x40, 0x02, 0x54, 0xAB, 0x00, 0x0A, 0x04, 0x11, 0x5C, 0x01, 0x03, 0x04,
0x00, 0x0F, 0xE4, 0x03, 0x0E, 0x07, 0x0C, 0x00, 0x04, 0xA8, 0x04, 0x01, 0x14, 0x00, 0x8B, 0x01,
0x22, 0x04, 0xFF, 0x9F, 0xAF, 0x4F, 0x01, 0x24, 0x00, 0x00, 0x01, 0x00, 0x32, 0x9F, 0xFF, 0x37,
0x98, 0x00, 0xF0, 0x10, 0x32, 0x54, 0x76, 0x10, 0x47, 0x32, 0x65, 0x10, 0x34, 0x76, 0x25, 0x01,
0x34, 0x67, 0x25, 0x01, 0x75, 0x64, 0x32, 0x01, 0x72, 0x56, 0x34, 0x10, 0x23, 0x74, 0x56, 0x01,
0x45, 0x32, 0x67, 0x24, 0x00, 0x31, 0x49, 0x92, 0x24, 0x04, 0x00, 0x0C, 0x01, 0x00, 0x13, 0x12,
0x04, 0x00, 0x0C, 0x90, 0x00, 0x80, 0x20, 0x41, 0x13, 0x1F, 0x14, 0x00, 0x01, 0x00, 0x7C, 0x00,
0x85, 0xFF, 0xFF, 0xFF, 0x7F, 0x1F, 0xD7, 0x36, 0x40, 0xE6, 0x03, 0x24, 0x34, 0x10, 0x0A, 0x00,
0x0F, 0xCC, 0x00, 0x02, 0x31, 0x03, 0x00, 0x05, 0x2B, 0x03, 0x22, 0x10, 0x02, 0xDD, 0x03, 0x13,
0x21, 0x15, 0x04, 0x14, 0x40, 0x8B, 0x02, 0x07, 0x01, 0x00, 0x71, 0x80, 0x00, 0x40, 0x00, 0x04,
0x10, 0x80, 0x04, 0x04, 0xDF, 0x81, 0x10, 0x09, 0x28, 0x93, 0x32, 0xA5, 0x44, 0x5B, 0x8A, 0x67,
0x76, 0x00, 0x01, 0x00, 0x4C, 0x22, 0x10, 0x10, 0x04, 0x00, 0x44, 0x00, 0xEF, 0x00, 0xEF, 0x14,
0x00, 0x4D, 0x1C, 0x1C, 0x1C, 0x1C, 0x98, 0x01, 0x21, 0x03, 0x08, 0x04, 0x00, 0xF1, 0x03, 0x00,
0x24, 0xFF, 0xFF, 0x00, 0x44, 0x57, 0x6E, 0x00, 0x28, 0x72, 0x39, 0x00, 0x10, 0x9C, 0x4B, 0x00,
0x10, 0xA4, 0x01, 0xB2, 0x08, 0x4C, 0x00, 0x00, 0x80, 0x20, 0x10, 0x0A, 0x00, 0x28, 0x10, 0x30,
0x03, 0x0C, 0xC0, 0x01, 0x04, 0x08, 0x00, 0x17, 0x05, 0x0C, 0x02, 0x13, 0x04, 0x10, 0x00, 0x12,
0x07, 0x62, 0x00, 0xD2, 0x02, 0x01, 0x02, 0x03, 0x00, 0x04, 0x05, 0xA3, 0x72, 0x0F, 0x0F, 0x00,
0x70, 0x42, 0x00, 0x16, 0x1F, 0x28, 0x01, 0x43, 0xFF, 0x00, 0xFF, 0x01, 0xA4, 0x04, 0x24, 0x00,
0x80, 0x96, 0x00, 0x15, 0xF0, 0x24, 0x04, 0x60, 0x43, 0xC3, 0xBA, 0xE4, 0xD3, 0x1E, 0x0B, 0x05,
0x3B, 0x80, 0x2A, 0x02, 0x1C, 0x00, 0x0C, 0xF4, 0x00, 0x19, 0x08, 0x0E, 0x00, 0x01, 0xE6, 0x05,
0x1F, 0x03, 0x2C, 0x00, 0x05, 0x10, 0x76, 0xE9, 0x03, 0x0F, 0x9C, 0x02, 0x00, 0x05, 0x34, 0x00,
0x0F, 0x3A, 0x00, 0x04, 0x38, 0x7E, 0x16, 0x40, 0x03, 0x06, 0x0F, 0x38, 0x00, 0x17, 0x3F, 0x1E,
0x40, 0x04, 0xA8, 0x00, 0x08, 0x2F, 0x00, 0xC0, 0x55, 0x00, 0x04, 0x3F, 0x46, 0x24, 0x00, 0x38,
0x00, 0x0A, 0x0F, 0x01, 0x00, 0x05, 0x22, 0x46, 0x2C, 0x38, 0x00, 0x19, 0xEC, 0x16, 0x00, 0x0D,
0x3C, 0x01, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00,
};
constexpr inline const u8 SdramParamsMariko6[0x3B3] = { constexpr inline const u8 * const SdramParamsMariko5 = SdramParamsMariko4_5;
constexpr inline const size_t SdramParamsSizeMariko5 = sizeof(SdramParamsMariko4_5);
constexpr inline const u8 SdramParamsMariko6_7[0x427] = {
0xFF, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x2C, 0x01, 0xFF, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x2C, 0x01,
0x00, 0x01, 0x00, 0x96, 0x88, 0x02, 0x80, 0x18, 0x40, 0x00, 0x00, 0x00, 0x40, 0x14, 0x00, 0xF0, 0x00, 0x01, 0x00, 0x96, 0x88, 0x02, 0x80, 0x18, 0x40, 0x00, 0x00, 0x00, 0x40, 0x14, 0x00, 0xF0,
0x01, 0xFF, 0xFF, 0x1F, 0x00, 0xD8, 0x51, 0x1A, 0xA0, 0x00, 0x00, 0x50, 0x05, 0x00, 0x00, 0x88, 0x01, 0xFF, 0xFF, 0x1F, 0x00, 0xD8, 0x51, 0x1A, 0xA0, 0x00, 0x00, 0x50, 0x05, 0x00, 0x00, 0x88,
@ -883,74 +580,24 @@ constexpr inline const u8 SdramParamsMariko6[0x3B3] = {
0x10, 0x76, 0xE9, 0x03, 0x0F, 0x9C, 0x02, 0x00, 0x05, 0x34, 0x00, 0x0F, 0x3A, 0x00, 0x04, 0x38, 0x10, 0x76, 0xE9, 0x03, 0x0F, 0x9C, 0x02, 0x00, 0x05, 0x34, 0x00, 0x0F, 0x3A, 0x00, 0x04, 0x38,
0x7E, 0x16, 0x40, 0x03, 0x06, 0x0F, 0x38, 0x00, 0x17, 0x3F, 0x1E, 0x40, 0x04, 0xA8, 0x00, 0x08, 0x7E, 0x16, 0x40, 0x03, 0x06, 0x0F, 0x38, 0x00, 0x17, 0x3F, 0x1E, 0x40, 0x04, 0xA8, 0x00, 0x08,
0x2F, 0x00, 0xC0, 0x55, 0x00, 0x04, 0x3F, 0x46, 0x24, 0x00, 0x38, 0x00, 0x0A, 0x0F, 0x01, 0x00, 0x2F, 0x00, 0xC0, 0x55, 0x00, 0x04, 0x3F, 0x46, 0x24, 0x00, 0x38, 0x00, 0x0A, 0x0F, 0x01, 0x00,
0x05, 0x22, 0x46, 0x2C, 0x38, 0x00, 0x19, 0xEC, 0x16, 0x00, 0x0D, 0x3C, 0x01, 0x50, 0x00, 0x00, 0x05, 0x22, 0x46, 0x2C, 0x38, 0x00, 0x19, 0xEC, 0x16, 0x00, 0x0F, 0x3C, 0x01, 0x03, 0x0F, 0x38,
0x00, 0x00, 0x00, 0x08, 0xFF, 0x22, 0x1F, 0x01, 0x38, 0x08, 0xFF, 0x05, 0x1F, 0x08, 0x38, 0x08, 0x5B, 0x93, 0x08,
0x00, 0x00, 0x02, 0x08, 0x00, 0x00, 0x0D, 0x08, 0x38, 0x08, 0xF2, 0x0A, 0x08, 0x00, 0x00, 0x0B,
0x08, 0x5D, 0x5D, 0x0E, 0x0C, 0x5D, 0x5D, 0x0C, 0x08, 0x08, 0x08, 0x0D, 0x0C, 0x00, 0x00, 0x0D,
0x0C, 0x14, 0x14, 0x16, 0x08, 0x2C, 0x00, 0x0F, 0x38, 0x08, 0x32, 0x1C, 0x00, 0x38, 0x08, 0x1F,
0x00, 0x38, 0x08, 0xFF, 0x00, 0x04, 0x18, 0x00, 0x00, 0x34, 0x06, 0x1F, 0x40, 0x38, 0x08, 0xFF,
0x22, 0x04, 0x12, 0x00, 0x0F, 0x38, 0x08, 0x81, 0x1F, 0x01, 0x38, 0x08, 0x09, 0x1F, 0x20, 0x38,
0x08, 0x0F, 0x1B, 0x01, 0x38, 0x08, 0x1F, 0x02, 0x38, 0x08, 0x00, 0x1F, 0x01, 0x38, 0x08, 0xFF,
0x8C, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00,
}; };
constexpr inline const u8 SdramParamsMariko7[0x3B4] = { constexpr inline const u8 * const SdramParamsMariko6 = SdramParamsMariko6_7;
0xFF, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x2C, 0x01, constexpr inline const size_t SdramParamsSizeMariko6 = sizeof(SdramParamsMariko6_7);
0x00, 0x01, 0x00, 0x96, 0x88, 0x02, 0x80, 0x18, 0x40, 0x00, 0x00, 0x00, 0x40, 0x14, 0x00, 0xF0,
0x01, 0xFF, 0xFF, 0x1F, 0x00, 0xD8, 0x51, 0x1A, 0xA0, 0x00, 0x00, 0x50, 0x05, 0x00, 0x00, 0x88,
0x00, 0x04, 0x00, 0x20, 0x20, 0x12, 0x1A, 0x00, 0x17, 0x88, 0x04, 0x00, 0xF7, 0x00, 0x00, 0x00,
0xBC, 0xBC, 0xAF, 0xC9, 0x3C, 0x9E, 0x00, 0x00, 0x02, 0x03, 0xE0, 0xC1, 0x04, 0x01, 0x00, 0x17,
0x3F, 0x01, 0x00, 0x00, 0x38, 0x00, 0xD0, 0x04, 0x08, 0x00, 0x00, 0x50, 0x50, 0x50, 0x00, 0xA1,
0x01, 0x00, 0x00, 0x30, 0x39, 0x00, 0x61, 0x10, 0x00, 0x16, 0x00, 0x10, 0x90, 0x30, 0x01, 0x13,
0x02, 0x74, 0x00, 0x13, 0x03, 0x04, 0x00, 0xD7, 0x1E, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00,
0x3A, 0x00, 0x00, 0x00, 0x1D, 0x94, 0x00, 0x57, 0x09, 0x00, 0x00, 0x00, 0x04, 0x10, 0x00, 0x13,
0x0B, 0x28, 0x00, 0x13, 0x08, 0x0C, 0x00, 0x00, 0x1C, 0x00, 0x53, 0x17, 0x00, 0x00, 0x00, 0x15,
0x08, 0x00, 0x13, 0x1B, 0x28, 0x00, 0x57, 0x20, 0x00, 0x00, 0x00, 0x06, 0x04, 0x00, 0x13, 0x03,
0x18, 0x00, 0x13, 0x04, 0x10, 0x00, 0x17, 0x02, 0x10, 0x00, 0x00, 0x4C, 0x00, 0x13, 0x0E, 0x18,
0x00, 0x17, 0x05, 0x6C, 0x00, 0x00, 0x34, 0x00, 0x13, 0x0C, 0xE0, 0x01, 0x40, 0x00, 0x00, 0x00,
0x80, 0x0A, 0x00, 0x00, 0x0F, 0x01, 0x93, 0x18, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00, 0x16,
0x0C, 0x00, 0x10, 0x0A, 0x48, 0x00, 0x03, 0x61, 0x00, 0x13, 0xC1, 0x50, 0x00, 0x13, 0x08, 0x40,
0x00, 0x13, 0x0A, 0x08, 0x00, 0x13, 0x14, 0x5C, 0x00, 0x13, 0x02, 0xC0, 0x00, 0x13, 0x3B, 0x04,
0x00, 0x13, 0x05, 0x04, 0x00, 0x04, 0x88, 0x00, 0x04, 0x0C, 0x00, 0x00, 0xF8, 0x00, 0x90, 0x1C,
0x03, 0x00, 0x00, 0x0D, 0xA0, 0x60, 0x91, 0x3F, 0x15, 0x01, 0xF1, 0x28, 0x00, 0xF3, 0x0C, 0x04,
0x05, 0x1B, 0x06, 0x02, 0x03, 0x07, 0x1C, 0x23, 0x25, 0x25, 0x05, 0x08, 0x1D, 0x09, 0x0A, 0x24,
0x0B, 0x1E, 0x0D, 0x0C, 0x26, 0x26, 0x03, 0x02, 0x1B, 0x1C, 0x23, 0x03, 0x04, 0x07, 0x05, 0x06,
0x25, 0x25, 0x02, 0x0A, 0x0B, 0x1D, 0x0D, 0x08, 0x0C, 0x09, 0x1E, 0x24, 0x26, 0x26, 0x08, 0x24,
0x06, 0x07, 0x9A, 0xBF, 0x01, 0x3C, 0xFF, 0x00, 0xFF, 0x00, 0x02, 0xB0, 0x04, 0x00, 0x01, 0x08,
0x00, 0x00, 0x02, 0x08, 0x00, 0x00, 0x0D, 0x77, 0x00, 0xF2, 0x0E, 0xC0, 0x31, 0x31, 0x03, 0x08,
0x00, 0x00, 0x0B, 0x08, 0x5D, 0x5D, 0x0E, 0x0C, 0x5D, 0x5D, 0x0C, 0x08, 0x08, 0x08, 0x0D, 0x0C,
0x00, 0x00, 0x0D, 0x0C, 0x14, 0x14, 0x16, 0x08, 0x2C, 0x00, 0x2C, 0x11, 0x08, 0xDF, 0x02, 0x70,
0x10, 0x00, 0xCC, 0x00, 0x0A, 0x00, 0x33, 0x6E, 0x01, 0x40, 0xF3, 0x25, 0x08, 0x11, 0x69, 0x00,
0x23, 0x0F, 0x00, 0x30, 0x01, 0x80, 0x01, 0x03, 0x00, 0x70, 0x00, 0x0C, 0x00, 0x01, 0x0C, 0x00,
0xA2, 0x08, 0x44, 0x00, 0x10, 0x04, 0x04, 0x00, 0x06, 0x13, 0x07, 0x1C, 0x00, 0x71, 0xA0, 0x00,
0x2C, 0x00, 0x01, 0x37, 0x0F, 0x52, 0x01, 0x11, 0x00, 0x64, 0x01, 0xBB, 0x04, 0x00, 0x1F, 0x22,
0x20, 0x80, 0x0F, 0xF4, 0x20, 0x02, 0x29, 0x01, 0x00, 0x12, 0x78, 0x9A, 0x02, 0x1F, 0x0F, 0xF4,
0x02, 0x31, 0x7F, 0x16, 0x00, 0x0D, 0x00, 0x0B, 0x00, 0x17, 0x18, 0x00, 0x06, 0xF1, 0x02, 0x43,
0x00, 0x45, 0x00, 0x45, 0x00, 0x43, 0x00, 0x46, 0x00, 0x47, 0x00, 0x41, 0x00, 0x46, 0x00, 0x0C,
0xBA, 0x01, 0x1F, 0x0D, 0x18, 0x00, 0x06, 0x1F, 0x28, 0x02, 0x00, 0x0C, 0x11, 0x16, 0x5A, 0x00,
0x00, 0x5C, 0x00, 0x00, 0x5E, 0x00, 0x3F, 0x17, 0x00, 0x16, 0x94, 0x00, 0x00, 0x05, 0x54, 0x01,
0xA4, 0x40, 0x06, 0x00, 0xCC, 0x00, 0x09, 0x00, 0x4F, 0x00, 0x51, 0x18, 0x00, 0x63, 0x80, 0x01,
0x00, 0x00, 0x40, 0x01, 0x40, 0x02, 0x54, 0xAB, 0x00, 0x0A, 0x04, 0x11, 0x5C, 0x01, 0x03, 0x04,
0x00, 0x0F, 0xE4, 0x03, 0x0E, 0x0B, 0xCC, 0x02, 0x05, 0x78, 0x03, 0x8B, 0x01, 0x22, 0x04, 0xFF,
0x9F, 0xAF, 0x4F, 0x01, 0x24, 0x00, 0x00, 0x01, 0x00, 0x32, 0x9F, 0xFF, 0x37, 0x80, 0x00, 0xF0,
0x10, 0x32, 0x54, 0x76, 0x10, 0x47, 0x32, 0x65, 0x10, 0x34, 0x76, 0x25, 0x01, 0x34, 0x67, 0x25,
0x01, 0x75, 0x64, 0x32, 0x01, 0x72, 0x56, 0x34, 0x10, 0x23, 0x74, 0x56, 0x01, 0x45, 0x32, 0x67,
0x24, 0x00, 0x31, 0x49, 0x92, 0x24, 0x04, 0x00, 0x0C, 0x01, 0x00, 0x13, 0x12, 0x04, 0x00, 0x0C,
0x90, 0x00, 0x80, 0x20, 0x41, 0x13, 0x1F, 0x14, 0x00, 0x01, 0x00, 0x7C, 0x00, 0x85, 0xFF, 0xFF,
0xFF, 0x7F, 0x1F, 0xD7, 0x36, 0x40, 0xE6, 0x03, 0x24, 0x34, 0x10, 0x0A, 0x00, 0x0F, 0xCC, 0x00,
0x02, 0x31, 0x03, 0x00, 0x05, 0x2B, 0x03, 0x22, 0x10, 0x02, 0xDD, 0x03, 0x13, 0x21, 0x15, 0x04,
0x14, 0x40, 0x8B, 0x02, 0x1D, 0x00, 0x9D, 0x02, 0x01, 0x04, 0x04, 0xDF, 0x81, 0x10, 0x09, 0x28,
0x93, 0x32, 0xA5, 0x44, 0x5B, 0x8A, 0x67, 0x76, 0x00, 0x01, 0x00, 0x4C, 0x22, 0x10, 0x10, 0x04,
0x00, 0x44, 0x00, 0xEF, 0x00, 0xEF, 0x14, 0x00, 0x4C, 0x1C, 0x1C, 0x1C, 0x1C, 0xF0, 0x01, 0x31,
0x02, 0x03, 0x08, 0x04, 0x00, 0xF1, 0x03, 0x00, 0x24, 0xFF, 0xFF, 0x00, 0x44, 0x57, 0x6E, 0x00,
0x28, 0x72, 0x39, 0x00, 0x10, 0x9C, 0x4B, 0x00, 0x20, 0x20, 0x00, 0xB1, 0x08, 0x4C, 0x00, 0x00,
0x80, 0x20, 0x10, 0x0A, 0x00, 0x28, 0x10, 0x04, 0x02, 0x09, 0xC0, 0x01, 0x17, 0x01, 0xC8, 0x01,
0x04, 0x50, 0x04, 0x13, 0x01, 0x34, 0x04, 0x00, 0x10, 0x00, 0x11, 0x07, 0x10, 0x00, 0xE2, 0x02,
0x02, 0x01, 0x02, 0x03, 0x00, 0x04, 0x05, 0xA3, 0x72, 0x0F, 0x0F, 0x00, 0x70, 0x42, 0x00, 0x16,
0x1F, 0x28, 0x01, 0x43, 0xFF, 0x00, 0xFF, 0x01, 0x70, 0x04, 0x04, 0x84, 0x03, 0x35, 0x00, 0x00,
0xF0, 0x24, 0x04, 0x60, 0x43, 0xC3, 0xBA, 0xE4, 0xD3, 0x1E, 0x0F, 0x05, 0x3B, 0x80, 0x2A, 0x02,
0x1C, 0x00, 0x0C, 0xF4, 0x00, 0x19, 0x08, 0x0E, 0x00, 0x01, 0xE6, 0x05, 0x1F, 0x03, 0x2C, 0x00,
0x05, 0x10, 0x76, 0xE9, 0x03, 0x0F, 0x9C, 0x02, 0x00, 0x05, 0x34, 0x00, 0x0F, 0x3A, 0x00, 0x04,
0x38, 0x7E, 0x16, 0x40, 0x03, 0x06, 0x0F, 0x38, 0x00, 0x17, 0x3F, 0x1E, 0x40, 0x04, 0xA8, 0x00,
0x08, 0x2F, 0x00, 0xC0, 0x55, 0x00, 0x04, 0x3F, 0x46, 0x24, 0x00, 0x38, 0x00, 0x0A, 0x0F, 0x01,
0x00, 0x05, 0x22, 0x46, 0x2C, 0x38, 0x00, 0x19, 0xEC, 0x16, 0x00, 0x0D, 0x3C, 0x01, 0x50, 0x00,
0x00, 0x00, 0x00, 0x00,
};
constexpr inline const u8 SdramParamsMariko8[0x3B7] = { constexpr inline const u8 * const SdramParamsMariko7 = SdramParamsMariko6_7;
constexpr inline const size_t SdramParamsSizeMariko7 = sizeof(SdramParamsMariko6_7);
constexpr inline const u8 SdramParamsMariko8_9[0x428] = {
0xFF, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x2C, 0x01, 0xFF, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x2C, 0x01,
0x00, 0x01, 0x00, 0x96, 0x88, 0x02, 0x80, 0x18, 0x40, 0x00, 0x00, 0x00, 0x40, 0x14, 0x00, 0xF0, 0x00, 0x01, 0x00, 0x96, 0x88, 0x02, 0x80, 0x18, 0x40, 0x00, 0x00, 0x00, 0x40, 0x14, 0x00, 0xF0,
0x01, 0xFF, 0xFF, 0x1F, 0x00, 0xD8, 0x51, 0x1A, 0xA0, 0x00, 0x00, 0x50, 0x05, 0x00, 0x00, 0x88, 0x01, 0xFF, 0xFF, 0x1F, 0x00, 0xD8, 0x51, 0x1A, 0xA0, 0x00, 0x00, 0x50, 0x05, 0x00, 0x00, 0x88,
@ -1009,74 +656,24 @@ constexpr inline const u8 SdramParamsMariko8[0x3B7] = {
0x03, 0x2C, 0x00, 0x05, 0x10, 0x76, 0xE9, 0x03, 0x0F, 0x9C, 0x02, 0x00, 0x05, 0x34, 0x00, 0x0F, 0x03, 0x2C, 0x00, 0x05, 0x10, 0x76, 0xE9, 0x03, 0x0F, 0x9C, 0x02, 0x00, 0x05, 0x34, 0x00, 0x0F,
0x3A, 0x00, 0x04, 0x38, 0x7E, 0x16, 0x40, 0x03, 0x06, 0x0F, 0x38, 0x00, 0x17, 0x3F, 0x1E, 0x40, 0x3A, 0x00, 0x04, 0x38, 0x7E, 0x16, 0x40, 0x03, 0x06, 0x0F, 0x38, 0x00, 0x17, 0x3F, 0x1E, 0x40,
0x04, 0xA8, 0x00, 0x08, 0x2F, 0x00, 0xC0, 0x55, 0x00, 0x04, 0x3F, 0x46, 0x24, 0x00, 0x38, 0x00, 0x04, 0xA8, 0x00, 0x08, 0x2F, 0x00, 0xC0, 0x55, 0x00, 0x04, 0x3F, 0x46, 0x24, 0x00, 0x38, 0x00,
0x0A, 0x0F, 0x01, 0x00, 0x05, 0x22, 0x46, 0x2C, 0x38, 0x00, 0x19, 0xEC, 0x16, 0x00, 0x0D, 0x3C, 0x0A, 0x0F, 0x01, 0x00, 0x05, 0x22, 0x46, 0x2C, 0x38, 0x00, 0x19, 0xEC, 0x16, 0x00, 0x0F, 0x3C,
0x01, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x0F, 0x38, 0x08, 0xFF, 0x22, 0x1F, 0x01, 0x38, 0x08, 0xFF, 0x74, 0x93, 0x08, 0x00,
0x00, 0x02, 0x08, 0x00, 0x00, 0x0D, 0x08, 0x38, 0x08, 0xF2, 0x0A, 0x08, 0x00, 0x00, 0x0B, 0x08,
0x5D, 0x5D, 0x0E, 0x0C, 0x5D, 0x5D, 0x0C, 0x08, 0x08, 0x08, 0x0D, 0x0C, 0x00, 0x00, 0x0D, 0x0C,
0x14, 0x14, 0x16, 0x08, 0x2C, 0x00, 0x0F, 0x38, 0x08, 0x32, 0x1C, 0x00, 0x38, 0x08, 0x1B, 0x00,
0x38, 0x08, 0x13, 0x32, 0x01, 0x00, 0x0F, 0x38, 0x08, 0xE8, 0x04, 0x18, 0x00, 0x00, 0x34, 0x06,
0x1F, 0x40, 0x38, 0x08, 0xFF, 0x22, 0x04, 0x12, 0x00, 0x0F, 0x38, 0x08, 0x81, 0x1F, 0x01, 0x38,
0x08, 0x09, 0x1F, 0x20, 0x38, 0x08, 0x1F, 0x1F, 0x02, 0x38, 0x08, 0x00, 0x1F, 0x01, 0x38, 0x08,
0xFF, 0x8C, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00,
}; };
constexpr inline const u8 SdramParamsMariko9[0x3BA] = { constexpr inline const u8 * const SdramParamsMariko8 = SdramParamsMariko8_9;
0xFF, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x2C, 0x01, constexpr inline const size_t SdramParamsSizeMariko8 = sizeof(SdramParamsMariko8_9);
0x00, 0x01, 0x00, 0x96, 0x88, 0x02, 0x80, 0x18, 0x40, 0x00, 0x00, 0x00, 0x40, 0x14, 0x00, 0xF0,
0x01, 0xFF, 0xFF, 0x1F, 0x00, 0xD8, 0x51, 0x1A, 0xA0, 0x00, 0x00, 0x50, 0x05, 0x00, 0x00, 0x88,
0x00, 0x04, 0x00, 0x20, 0x20, 0x12, 0x1A, 0x00, 0x17, 0x88, 0x04, 0x00, 0xF7, 0x00, 0x00, 0x00,
0xBC, 0xBC, 0xAF, 0xC9, 0x3C, 0x9E, 0x00, 0x00, 0x02, 0x03, 0xE0, 0xC1, 0x04, 0x01, 0x00, 0x17,
0x3F, 0x01, 0x00, 0x00, 0x38, 0x00, 0xD0, 0x04, 0x08, 0x00, 0x00, 0x50, 0x50, 0x50, 0x00, 0xA1,
0x01, 0x00, 0x00, 0x30, 0x39, 0x00, 0x61, 0x10, 0x00, 0x16, 0x00, 0x10, 0x90, 0x30, 0x01, 0x13,
0x02, 0x74, 0x00, 0x13, 0x03, 0x04, 0x00, 0xD7, 0x1E, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00,
0x3A, 0x00, 0x00, 0x00, 0x1D, 0x94, 0x00, 0x57, 0x09, 0x00, 0x00, 0x00, 0x04, 0x10, 0x00, 0x13,
0x0B, 0x28, 0x00, 0x13, 0x08, 0x0C, 0x00, 0x00, 0x1C, 0x00, 0x53, 0x17, 0x00, 0x00, 0x00, 0x15,
0x08, 0x00, 0x13, 0x1B, 0x28, 0x00, 0x57, 0x20, 0x00, 0x00, 0x00, 0x06, 0x04, 0x00, 0x13, 0x03,
0x18, 0x00, 0x13, 0x04, 0x10, 0x00, 0x17, 0x02, 0x10, 0x00, 0x00, 0x4C, 0x00, 0x53, 0x0E, 0x00,
0x00, 0x00, 0x05, 0x1C, 0x00, 0x05, 0x24, 0x01, 0x03, 0x6C, 0x00, 0x03, 0xD7, 0x01, 0x10, 0x80,
0x0A, 0x00, 0x00, 0x0F, 0x01, 0x93, 0x18, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00, 0x16, 0x0C,
0x00, 0x10, 0x0A, 0x48, 0x00, 0x03, 0x61, 0x00, 0x13, 0xC1, 0x50, 0x00, 0x13, 0x08, 0x74, 0x00,
0x13, 0x0A, 0x08, 0x00, 0x13, 0x14, 0x60, 0x00, 0x04, 0x54, 0x00, 0x13, 0x3B, 0x04, 0x00, 0x13,
0x05, 0x04, 0x00, 0x04, 0x88, 0x00, 0x04, 0x0C, 0x00, 0x00, 0xF8, 0x00, 0x90, 0x1C, 0x03, 0x00,
0x00, 0x0D, 0xA0, 0x60, 0x91, 0x3F, 0x15, 0x01, 0xF1, 0x28, 0x00, 0xF3, 0x0C, 0x04, 0x05, 0x1B,
0x06, 0x02, 0x03, 0x07, 0x1C, 0x23, 0x25, 0x25, 0x05, 0x08, 0x1D, 0x09, 0x0A, 0x24, 0x0B, 0x1E,
0x0D, 0x0C, 0x26, 0x26, 0x03, 0x02, 0x1B, 0x1C, 0x23, 0x03, 0x04, 0x07, 0x05, 0x06, 0x25, 0x25,
0x02, 0x0A, 0x0B, 0x1D, 0x0D, 0x08, 0x0C, 0x09, 0x1E, 0x24, 0x26, 0x26, 0x08, 0x24, 0x06, 0x07,
0x9A, 0xBF, 0x01, 0x3C, 0xFF, 0x00, 0xFF, 0x00, 0x02, 0xB0, 0x04, 0x00, 0x01, 0x08, 0x00, 0x00,
0x02, 0x08, 0x00, 0x00, 0x0D, 0x77, 0x00, 0xF2, 0x0E, 0xC0, 0x31, 0x31, 0x03, 0x08, 0x00, 0x00,
0x0B, 0x08, 0x5D, 0x5D, 0x0E, 0x0C, 0x5D, 0x5D, 0x0C, 0x08, 0x08, 0x08, 0x0D, 0x0C, 0x00, 0x00,
0x0D, 0x0C, 0x14, 0x14, 0x16, 0x08, 0x2C, 0x00, 0x2C, 0x11, 0x08, 0xDF, 0x02, 0x70, 0x10, 0x00,
0xCC, 0x00, 0x0A, 0x00, 0x33, 0x6E, 0x01, 0x40, 0xF3, 0x25, 0x08, 0x11, 0x69, 0x00, 0x23, 0x0F,
0x00, 0x30, 0x01, 0x80, 0x01, 0x03, 0x00, 0x70, 0x00, 0x0C, 0x00, 0x01, 0x0C, 0x00, 0xA2, 0x08,
0x44, 0x00, 0x10, 0x04, 0x04, 0x00, 0x06, 0x13, 0x07, 0x1C, 0x00, 0x71, 0xA0, 0x00, 0x2C, 0x00,
0x01, 0x37, 0x0F, 0x52, 0x01, 0x00, 0x48, 0x00, 0xD3, 0x0C, 0x00, 0x04, 0x00, 0x1F, 0x22, 0x20,
0x80, 0x0F, 0xF4, 0x20, 0x02, 0x32, 0x01, 0x00, 0x13, 0x29, 0x01, 0x00, 0x12, 0x78, 0x9A, 0x02,
0x1F, 0x0F, 0xF4, 0x02, 0x31, 0x7F, 0x18, 0x00, 0x0F, 0x00, 0x0B, 0x00, 0x17, 0x18, 0x00, 0x06,
0xF1, 0x02, 0x48, 0x00, 0x44, 0x00, 0x45, 0x00, 0x44, 0x00, 0x47, 0x00, 0x47, 0x00, 0x41, 0x00,
0x46, 0x00, 0x0D, 0x8E, 0x01, 0x1F, 0x0D, 0x18, 0x00, 0x06, 0x1F, 0x28, 0x02, 0x00, 0x0C, 0x11,
0x18, 0x5A, 0x00, 0x00, 0x5C, 0x00, 0x00, 0x5E, 0x00, 0x3F, 0x17, 0x00, 0x18, 0x94, 0x00, 0x00,
0x05, 0x54, 0x01, 0xA4, 0x40, 0x06, 0x00, 0xCC, 0x00, 0x09, 0x00, 0x4F, 0x00, 0x51, 0x18, 0x00,
0x63, 0x80, 0x01, 0x00, 0x00, 0x40, 0x01, 0x40, 0x02, 0x54, 0xAB, 0x00, 0x0A, 0x04, 0x11, 0x5C,
0x01, 0x03, 0x04, 0x00, 0x0F, 0xE4, 0x03, 0x0E, 0x07, 0x0C, 0x00, 0x04, 0xA8, 0x04, 0x01, 0x78,
0x03, 0x8B, 0x01, 0x22, 0x04, 0xFF, 0x9F, 0xAF, 0x4F, 0x01, 0x24, 0x00, 0x00, 0x01, 0x00, 0x32,
0x9F, 0xFF, 0x37, 0x80, 0x00, 0xF0, 0x10, 0x32, 0x54, 0x76, 0x10, 0x47, 0x32, 0x65, 0x10, 0x34,
0x76, 0x25, 0x01, 0x34, 0x67, 0x25, 0x01, 0x75, 0x64, 0x32, 0x01, 0x72, 0x56, 0x34, 0x10, 0x23,
0x74, 0x56, 0x01, 0x45, 0x32, 0x67, 0x24, 0x00, 0x31, 0x49, 0x92, 0x24, 0x04, 0x00, 0x0C, 0x01,
0x00, 0x13, 0x12, 0x04, 0x00, 0x0C, 0x90, 0x00, 0x80, 0x20, 0x41, 0x13, 0x1F, 0x14, 0x00, 0x01,
0x00, 0x7C, 0x00, 0x85, 0xFF, 0xFF, 0xFF, 0x7F, 0x1F, 0xD7, 0x36, 0x40, 0xE6, 0x03, 0x24, 0x34,
0x10, 0x0A, 0x00, 0x0F, 0xCC, 0x00, 0x02, 0x31, 0x03, 0x00, 0x05, 0x2B, 0x03, 0x22, 0x10, 0x02,
0xDD, 0x03, 0x13, 0x21, 0x15, 0x04, 0x14, 0x40, 0x8B, 0x02, 0x1D, 0x00, 0x9D, 0x02, 0x01, 0x04,
0x04, 0xDF, 0x81, 0x10, 0x09, 0x28, 0x93, 0x32, 0xA5, 0x44, 0x5B, 0x8A, 0x67, 0x76, 0x00, 0x01,
0x00, 0x4C, 0x22, 0x10, 0x10, 0x04, 0x00, 0x44, 0x00, 0xEF, 0x00, 0xEF, 0x14, 0x00, 0x4C, 0x1C,
0x1C, 0x1C, 0x1C, 0xF0, 0x01, 0x31, 0x02, 0x03, 0x08, 0x04, 0x00, 0xF1, 0x03, 0x00, 0x24, 0xFF,
0xFF, 0x00, 0x44, 0x57, 0x6E, 0x00, 0x28, 0x72, 0x39, 0x00, 0x10, 0x9C, 0x4B, 0x00, 0x20, 0x20,
0x00, 0xB1, 0x08, 0x4C, 0x00, 0x00, 0x80, 0x20, 0x10, 0x0A, 0x00, 0x28, 0x10, 0x04, 0x02, 0x09,
0xC0, 0x01, 0x17, 0x01, 0xC8, 0x01, 0x04, 0x50, 0x04, 0x13, 0x01, 0x34, 0x04, 0x00, 0x10, 0x00,
0x11, 0x07, 0x10, 0x00, 0xE2, 0x02, 0x02, 0x01, 0x02, 0x03, 0x00, 0x04, 0x05, 0xA3, 0x72, 0x0F,
0x0F, 0x00, 0x70, 0x42, 0x00, 0x16, 0x1F, 0x28, 0x01, 0x43, 0xFF, 0x00, 0xFF, 0x01, 0x70, 0x04,
0x04, 0x84, 0x03, 0x35, 0x00, 0x00, 0xF0, 0x24, 0x04, 0x60, 0x43, 0xC3, 0xBA, 0xE4, 0xD3, 0x1E,
0x0B, 0x05, 0x3B, 0x80, 0x2A, 0x02, 0x1C, 0x00, 0x0C, 0xF4, 0x00, 0x19, 0x08, 0x0E, 0x00, 0x01,
0xE6, 0x05, 0x1F, 0x03, 0x2C, 0x00, 0x05, 0x10, 0x76, 0xE9, 0x03, 0x0F, 0x9C, 0x02, 0x00, 0x05,
0x34, 0x00, 0x0F, 0x3A, 0x00, 0x04, 0x38, 0x7E, 0x16, 0x40, 0x03, 0x06, 0x0F, 0x38, 0x00, 0x17,
0x3F, 0x1E, 0x40, 0x04, 0xA8, 0x00, 0x08, 0x2F, 0x00, 0xC0, 0x55, 0x00, 0x04, 0x3F, 0x46, 0x24,
0x00, 0x38, 0x00, 0x0A, 0x0F, 0x01, 0x00, 0x05, 0x22, 0x46, 0x2C, 0x38, 0x00, 0x19, 0xEC, 0x16,
0x00, 0x0D, 0x3C, 0x01, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00,
};
constexpr inline const u8 SdramParamsMariko10[0x3BB] = { constexpr inline const u8 * const SdramParamsMariko9 = SdramParamsMariko8_9;
constexpr inline const size_t SdramParamsSizeMariko9 = sizeof(SdramParamsMariko8_9);
constexpr inline const u8 SdramParamsMariko10_11[0x4A3] = {
0xFF, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x2C, 0x01, 0xFF, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x2C, 0x01,
0x00, 0x01, 0x00, 0x96, 0x88, 0x02, 0x80, 0x18, 0x40, 0x00, 0x00, 0x00, 0x40, 0x14, 0x00, 0xF0, 0x00, 0x01, 0x00, 0x96, 0x88, 0x02, 0x80, 0x18, 0x40, 0x00, 0x00, 0x00, 0x40, 0x14, 0x00, 0xF0,
0x01, 0xFF, 0xFF, 0x1F, 0x00, 0xD8, 0x51, 0x1A, 0xA0, 0x00, 0x00, 0x50, 0x05, 0x00, 0x00, 0x88, 0x01, 0xFF, 0xFF, 0x1F, 0x00, 0xD8, 0x51, 0x1A, 0xA0, 0x00, 0x00, 0x50, 0x05, 0x00, 0x00, 0x88,
@ -1136,73 +733,31 @@ constexpr inline const u8 SdramParamsMariko10[0x3BB] = {
0x05, 0x34, 0x00, 0x0F, 0x3A, 0x00, 0x04, 0x38, 0x7E, 0x16, 0x40, 0x03, 0x06, 0x0F, 0x38, 0x00, 0x05, 0x34, 0x00, 0x0F, 0x3A, 0x00, 0x04, 0x38, 0x7E, 0x16, 0x40, 0x03, 0x06, 0x0F, 0x38, 0x00,
0x17, 0x3F, 0x1E, 0x40, 0x04, 0xA8, 0x00, 0x08, 0x2F, 0x00, 0xC0, 0x55, 0x00, 0x04, 0x3F, 0x46, 0x17, 0x3F, 0x1E, 0x40, 0x04, 0xA8, 0x00, 0x08, 0x2F, 0x00, 0xC0, 0x55, 0x00, 0x04, 0x3F, 0x46,
0x24, 0x00, 0x38, 0x00, 0x0A, 0x0F, 0x01, 0x00, 0x05, 0x22, 0x46, 0x2C, 0x38, 0x00, 0x19, 0x9C, 0x24, 0x00, 0x38, 0x00, 0x0A, 0x0F, 0x01, 0x00, 0x05, 0x22, 0x46, 0x2C, 0x38, 0x00, 0x19, 0x9C,
0x16, 0x00, 0x0D, 0x3C, 0x01, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x16, 0x00, 0x0F, 0x3C, 0x01, 0x03, 0x0F, 0x38, 0x08, 0xFF, 0xBA, 0x13, 0x06, 0x7C, 0x03, 0x08,
0xDC, 0x01, 0x1F, 0x0C, 0x38, 0x08, 0x78, 0xFF, 0x25, 0x04, 0x05, 0x1B, 0x06, 0x02, 0x03, 0x07,
0x1C, 0x23, 0x25, 0x25, 0x05, 0x08, 0x1D, 0x09, 0x0A, 0x24, 0x0B, 0x1E, 0x0D, 0x0C, 0x26, 0x26,
0x03, 0x02, 0x1B, 0x1C, 0x23, 0x03, 0x04, 0x07, 0x05, 0x06, 0x25, 0x25, 0x02, 0x0A, 0x0B, 0x1D,
0x0D, 0x08, 0x0C, 0x09, 0x1E, 0x24, 0x26, 0x26, 0x08, 0x24, 0x06, 0x07, 0x9A, 0x38, 0x08, 0xF9,
0x7F, 0x16, 0x00, 0x0D, 0x00, 0x0B, 0x00, 0x17, 0x18, 0x00, 0x06, 0xF1, 0x02, 0x43, 0x00, 0x45,
0x00, 0x45, 0x00, 0x43, 0x00, 0x46, 0x00, 0x47, 0x00, 0x41, 0x00, 0x46, 0x00, 0x0C, 0xBA, 0x01,
0x1F, 0x0D, 0x18, 0x00, 0x06, 0x0F, 0x38, 0x08, 0x0D, 0x11, 0x16, 0x5A, 0x00, 0x11, 0x0D, 0x38,
0x08, 0x5F, 0x17, 0x00, 0x17, 0x00, 0x16, 0x38, 0x08, 0x76, 0x5F, 0x22, 0x04, 0xFF, 0x9F, 0xAF,
0x38, 0x08, 0x0A, 0xFF, 0x11, 0x01, 0x32, 0x54, 0x76, 0x10, 0x47, 0x32, 0x65, 0x10, 0x34, 0x76,
0x25, 0x01, 0x34, 0x67, 0x25, 0x01, 0x75, 0x64, 0x32, 0x01, 0x72, 0x56, 0x34, 0x10, 0x23, 0x74,
0x56, 0x01, 0x45, 0x32, 0x67, 0x38, 0x08, 0x2B, 0x12, 0xAF, 0x38, 0x08, 0x2F, 0xD7, 0x36, 0x38,
0x08, 0x41, 0x92, 0x00, 0x80, 0x00, 0x40, 0x00, 0x04, 0x10, 0x80, 0x00, 0x38, 0x08, 0xBF, 0x09,
0x28, 0x93, 0x32, 0xA5, 0x44, 0x5B, 0x8A, 0x67, 0x76, 0x00, 0x38, 0x08, 0xFF, 0x16, 0x5F, 0xC3,
0xBA, 0xE4, 0xD3, 0x1E, 0x38, 0x08, 0xFF, 0x28, 0x1F, 0xEC, 0x38, 0x08, 0x0B, 0x50, 0x00, 0x00,
0x00, 0x00, 0x00,
}; };
constexpr inline const u8 SdramParamsMariko11[0x3B6] = { constexpr inline const u8 * const SdramParamsMariko10 = SdramParamsMariko10_11;
0xFF, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x2C, 0x01, constexpr inline const size_t SdramParamsSizeMariko10 = sizeof(SdramParamsMariko10_11);
0x00, 0x01, 0x00, 0x96, 0x88, 0x02, 0x80, 0x18, 0x40, 0x00, 0x00, 0x00, 0x40, 0x14, 0x00, 0xF0,
0x01, 0xFF, 0xFF, 0x1F, 0x00, 0xD8, 0x51, 0x1A, 0xA0, 0x00, 0x00, 0x50, 0x05, 0x00, 0x00, 0x88,
0x00, 0x04, 0x00, 0x20, 0x20, 0x12, 0x1A, 0x00, 0x17, 0x88, 0x04, 0x00, 0xF7, 0x00, 0x00, 0x00,
0xBC, 0xBC, 0xAF, 0xC9, 0x3C, 0x9E, 0x00, 0x00, 0x02, 0x03, 0xE0, 0xC1, 0x04, 0x01, 0x00, 0x17,
0x3F, 0x01, 0x00, 0x00, 0x38, 0x00, 0xD0, 0x04, 0x08, 0x00, 0x00, 0x50, 0x50, 0x50, 0x00, 0xA1,
0x01, 0x00, 0x00, 0x30, 0x39, 0x00, 0x62, 0x10, 0x00, 0x16, 0x00, 0x10, 0x90, 0x80, 0x00, 0x03,
0x74, 0x00, 0x13, 0x03, 0x04, 0x00, 0xD7, 0x1E, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x3A,
0x00, 0x00, 0x00, 0x1D, 0x94, 0x00, 0x57, 0x09, 0x00, 0x00, 0x00, 0x04, 0x10, 0x00, 0x13, 0x0B,
0x28, 0x00, 0x13, 0x08, 0x0C, 0x00, 0x00, 0x1C, 0x00, 0x53, 0x17, 0x00, 0x00, 0x00, 0x15, 0x08,
0x00, 0x13, 0x1B, 0x28, 0x00, 0x57, 0x20, 0x00, 0x00, 0x00, 0x06, 0x04, 0x00, 0x13, 0x03, 0x18,
0x00, 0x13, 0x04, 0x10, 0x00, 0x17, 0x02, 0x10, 0x00, 0x00, 0x4C, 0x00, 0x13, 0x0E, 0x18, 0x00,
0x17, 0x05, 0x6C, 0x00, 0x00, 0x34, 0x00, 0x13, 0x0C, 0xE0, 0x01, 0x40, 0x00, 0x00, 0x00, 0x80,
0x0A, 0x00, 0x00, 0x0F, 0x01, 0x93, 0x18, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00, 0x16, 0x0C,
0x00, 0x10, 0x0A, 0x48, 0x00, 0x03, 0x61, 0x00, 0x13, 0xC1, 0x50, 0x00, 0x13, 0x08, 0x40, 0x00,
0x13, 0x0A, 0x08, 0x00, 0x13, 0x14, 0x5C, 0x00, 0x13, 0x02, 0xC0, 0x00, 0x13, 0x3B, 0x04, 0x00,
0x13, 0x05, 0x04, 0x00, 0x04, 0x88, 0x00, 0x04, 0x0C, 0x00, 0x00, 0xF8, 0x00, 0x90, 0x1C, 0x03,
0x00, 0x00, 0x0D, 0xA0, 0x60, 0x91, 0x3F, 0x15, 0x01, 0xF1, 0x28, 0x00, 0xF3, 0x0C, 0x04, 0x05,
0x1B, 0x06, 0x02, 0x03, 0x07, 0x1C, 0x23, 0x25, 0x25, 0x05, 0x08, 0x1D, 0x09, 0x0A, 0x24, 0x0B,
0x1E, 0x0D, 0x0C, 0x26, 0x26, 0x03, 0x02, 0x1B, 0x1C, 0x23, 0x03, 0x04, 0x07, 0x05, 0x06, 0x25,
0x25, 0x02, 0x0A, 0x0B, 0x1D, 0x0D, 0x08, 0x0C, 0x09, 0x1E, 0x24, 0x26, 0x26, 0x08, 0x24, 0x06,
0x07, 0x9A, 0xBF, 0x01, 0x3C, 0xFF, 0x00, 0xFF, 0x00, 0x02, 0xB0, 0x04, 0x00, 0x01, 0x88, 0x00,
0x00, 0x02, 0x88, 0x00, 0x00, 0x0D, 0xD5, 0x01, 0xF2, 0x0E, 0xC0, 0x31, 0x31, 0x03, 0x88, 0x00,
0x00, 0x0B, 0x88, 0x5D, 0x5D, 0x0E, 0x8C, 0x5D, 0x5D, 0x0C, 0x88, 0x08, 0x08, 0x0D, 0x8C, 0x00,
0x00, 0x0D, 0x8C, 0x14, 0x14, 0x16, 0x88, 0x2C, 0x00, 0x2C, 0x11, 0x08, 0xDF, 0x02, 0x70, 0x10,
0x00, 0xCC, 0x00, 0x0A, 0x00, 0x33, 0x6E, 0x01, 0x40, 0xF3, 0x25, 0x08, 0x11, 0x69, 0x00, 0x23,
0x0F, 0x00, 0x30, 0x01, 0x80, 0x01, 0x03, 0x00, 0x70, 0x00, 0x0C, 0x00, 0x01, 0x0C, 0x00, 0xC0,
0x08, 0x44, 0x00, 0x10, 0x04, 0x04, 0x00, 0x06, 0x13, 0x07, 0x00, 0x80, 0x10, 0x00, 0x71, 0xA0,
0x00, 0x2C, 0x00, 0x01, 0x37, 0x0F, 0x52, 0x01, 0x11, 0x02, 0x64, 0x01, 0xBB, 0x04, 0x00, 0x1F,
0x22, 0x20, 0x80, 0x0F, 0xF4, 0x20, 0x02, 0x29, 0x01, 0x00, 0x12, 0x78, 0x9A, 0x02, 0x1F, 0x0F,
0xF4, 0x02, 0x31, 0x7F, 0x16, 0x00, 0x0D, 0x00, 0x0B, 0x00, 0x17, 0x18, 0x00, 0x06, 0xF1, 0x02,
0x43, 0x00, 0x45, 0x00, 0x45, 0x00, 0x43, 0x00, 0x46, 0x00, 0x47, 0x00, 0x41, 0x00, 0x46, 0x00,
0x0C, 0xBA, 0x01, 0x1F, 0x0D, 0x18, 0x00, 0x06, 0x1F, 0x28, 0x02, 0x00, 0x0C, 0x11, 0x16, 0x5A,
0x00, 0x00, 0x5C, 0x00, 0x00, 0x5E, 0x00, 0x3F, 0x17, 0x00, 0x16, 0x94, 0x00, 0x00, 0x05, 0x54,
0x01, 0xB3, 0x40, 0x06, 0x00, 0xCC, 0x00, 0x09, 0x00, 0x4F, 0x00, 0x51, 0x80, 0x18, 0x00, 0x04,
0x08, 0x00, 0x01, 0x6E, 0x00, 0x54, 0xAB, 0x00, 0x0A, 0x04, 0x11, 0x5C, 0x01, 0x03, 0x04, 0x00,
0x0F, 0xE4, 0x03, 0x0E, 0x0B, 0xCC, 0x02, 0x14, 0x01, 0x14, 0x00, 0x8B, 0x01, 0x22, 0x04, 0xFF,
0x9F, 0xAF, 0x4F, 0x01, 0x24, 0x00, 0x00, 0x01, 0x00, 0x32, 0x9F, 0xFF, 0x37, 0x98, 0x00, 0xF0,
0x10, 0x32, 0x54, 0x76, 0x10, 0x47, 0x32, 0x65, 0x10, 0x34, 0x76, 0x25, 0x01, 0x34, 0x67, 0x25,
0x01, 0x75, 0x64, 0x32, 0x01, 0x72, 0x56, 0x34, 0x10, 0x23, 0x74, 0x56, 0x01, 0x45, 0x32, 0x67,
0x24, 0x00, 0x31, 0x49, 0x92, 0x24, 0x04, 0x00, 0x0C, 0x01, 0x00, 0x13, 0x12, 0x04, 0x00, 0x0C,
0x90, 0x00, 0x80, 0x20, 0x41, 0x13, 0x1F, 0x14, 0x00, 0x01, 0x00, 0x7C, 0x00, 0x85, 0xFF, 0xFF,
0xFF, 0x7F, 0x1F, 0xD7, 0x36, 0x40, 0xE6, 0x03, 0x24, 0x34, 0x10, 0x0A, 0x00, 0x0F, 0xCC, 0x00,
0x02, 0x31, 0x03, 0x00, 0x05, 0x2B, 0x03, 0x22, 0x10, 0x02, 0xDD, 0x03, 0x13, 0x21, 0x15, 0x04,
0x14, 0x40, 0x8B, 0x02, 0x07, 0x01, 0x00, 0x71, 0x80, 0x00, 0x40, 0x00, 0x04, 0x10, 0x80, 0x04,
0x04, 0xDF, 0x81, 0x10, 0x09, 0x28, 0x93, 0x32, 0xA5, 0x44, 0x5B, 0x8A, 0x67, 0x76, 0x00, 0x01,
0x00, 0x4C, 0x22, 0x10, 0x10, 0x04, 0x00, 0x44, 0x00, 0xEF, 0x00, 0xEF, 0x14, 0x00, 0x4D, 0x1C,
0x1C, 0x1C, 0x1C, 0x98, 0x01, 0x21, 0x03, 0x08, 0x04, 0x00, 0xF1, 0x03, 0x00, 0x24, 0xFF, 0xFF,
0x00, 0x44, 0x57, 0x6E, 0x00, 0x28, 0x72, 0x39, 0x00, 0x10, 0x9C, 0x4B, 0x00, 0x10, 0xA4, 0x01,
0xB2, 0x08, 0x4C, 0x00, 0x00, 0x80, 0x20, 0x10, 0x0A, 0x00, 0x28, 0x10, 0x30, 0x03, 0x08, 0xC0,
0x01, 0x17, 0x01, 0xC8, 0x01, 0x17, 0x05, 0x10, 0x00, 0x13, 0x04, 0x10, 0x00, 0x12, 0x07, 0x62,
0x00, 0xD2, 0x02, 0x01, 0x02, 0x03, 0x00, 0x04, 0x05, 0xA3, 0x72, 0x0F, 0x0F, 0x00, 0x70, 0x42,
0x00, 0x16, 0x1F, 0x28, 0x01, 0x43, 0xFF, 0x00, 0xFF, 0x01, 0x70, 0x04, 0x24, 0x00, 0x80, 0x96,
0x00, 0x15, 0xF0, 0x24, 0x04, 0x60, 0x43, 0xC3, 0xBA, 0xE4, 0xD3, 0x1E, 0x0F, 0x05, 0x3B, 0x80,
0x2A, 0x02, 0x1C, 0x00, 0x0C, 0xF4, 0x00, 0x19, 0x08, 0x0E, 0x00, 0x01, 0xE6, 0x05, 0x1F, 0x03,
0x2C, 0x00, 0x05, 0x10, 0x76, 0xE9, 0x03, 0x0F, 0x9C, 0x02, 0x00, 0x05, 0x34, 0x00, 0x0F, 0x3A,
0x00, 0x04, 0x38, 0x7E, 0x16, 0x40, 0x03, 0x06, 0x0F, 0x38, 0x00, 0x17, 0x3F, 0x1E, 0x40, 0x04,
0xA8, 0x00, 0x08, 0x2F, 0x00, 0xC0, 0x55, 0x00, 0x04, 0x3F, 0x46, 0x24, 0x00, 0x38, 0x00, 0x0A,
0x0F, 0x01, 0x00, 0x05, 0x22, 0x46, 0x2C, 0x38, 0x00, 0x19, 0xEC, 0x16, 0x00, 0x0D, 0x3C, 0x01,
0x50, 0x00, 0x00, 0x00, 0x00, 0x00,
};
constexpr inline const u8 SdramParamsMariko12[0x3B6] = { constexpr inline const u8 * const SdramParamsMariko11 = SdramParamsMariko10_11;
constexpr inline const size_t SdramParamsSizeMariko11 = sizeof(SdramParamsMariko10_11);
constexpr inline const u8 SdramParamsMariko12_13[0x3C2] = {
0xFF, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x2C, 0x01, 0xFF, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x2C, 0x01,
0x00, 0x01, 0x00, 0x96, 0x88, 0x02, 0x80, 0x18, 0x40, 0x00, 0x00, 0x00, 0x40, 0x14, 0x00, 0xF0, 0x00, 0x01, 0x00, 0x96, 0x88, 0x02, 0x80, 0x18, 0x40, 0x00, 0x00, 0x00, 0x40, 0x14, 0x00, 0xF0,
0x01, 0xFF, 0xFF, 0x1F, 0x00, 0xD8, 0x51, 0x1A, 0xA0, 0x00, 0x00, 0x50, 0x05, 0x00, 0x00, 0x88, 0x01, 0xFF, 0xFF, 0x1F, 0x00, 0xD8, 0x51, 0x1A, 0xA0, 0x00, 0x00, 0x50, 0x05, 0x00, 0x00, 0x88,
@ -1261,7 +816,14 @@ constexpr inline const u8 SdramParamsMariko12[0x3B6] = {
0x2C, 0x00, 0x05, 0x10, 0x76, 0xE9, 0x03, 0x0F, 0x9C, 0x02, 0x00, 0x05, 0x34, 0x00, 0x0F, 0x3A, 0x2C, 0x00, 0x05, 0x10, 0x76, 0xE9, 0x03, 0x0F, 0x9C, 0x02, 0x00, 0x05, 0x34, 0x00, 0x0F, 0x3A,
0x00, 0x04, 0x38, 0x7E, 0x16, 0x40, 0x03, 0x06, 0x0F, 0x38, 0x00, 0x17, 0x3F, 0x1E, 0x40, 0x04, 0x00, 0x04, 0x38, 0x7E, 0x16, 0x40, 0x03, 0x06, 0x0F, 0x38, 0x00, 0x17, 0x3F, 0x1E, 0x40, 0x04,
0xA8, 0x00, 0x08, 0x2F, 0x00, 0xC0, 0x55, 0x00, 0x04, 0x3F, 0x46, 0x24, 0x00, 0x38, 0x00, 0x0A, 0xA8, 0x00, 0x08, 0x2F, 0x00, 0xC0, 0x55, 0x00, 0x04, 0x3F, 0x46, 0x24, 0x00, 0x38, 0x00, 0x0A,
0x0F, 0x01, 0x00, 0x05, 0x22, 0x46, 0x2C, 0x38, 0x00, 0x19, 0xEC, 0x16, 0x00, 0x0D, 0x3C, 0x01, 0x0F, 0x01, 0x00, 0x05, 0x22, 0x46, 0x2C, 0x38, 0x00, 0x19, 0xEC, 0x16, 0x00, 0x0E, 0x3C, 0x01,
0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x01, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x2C, 0x50, 0x00, 0x00, 0x00,
0x00, 0x00,
}; };
constexpr inline const u8 * const SdramParamsMariko12 = SdramParamsMariko12_13;
constexpr inline const size_t SdramParamsSizeMariko12 = sizeof(SdramParamsMariko12_13);
constexpr inline const u8 * const SdramParamsMariko13 = SdramParamsMariko12_13;
constexpr inline const size_t SdramParamsSizeMariko13 = sizeof(SdramParamsMariko12_13);

View file

@ -0,0 +1,947 @@
/*
* Copyright (c) 2018-2020 AtmosphÃre-NX
*
* This program is free software; you can redistribute it and/or modify it
* under the terms and conditions of the GNU General Public License,
* version 2, as published by the Free Software Foundation.
*
* This program is distributed in the hope it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define FOREACH_SDRAM_SCRATCH_REGISTER_ERISTA(HANDLER) \
/* PMC SCRATCH fields. */ \
HANDLER(EmcClockSource, 6, 7:0, 15:8) \
HANDLER(EmcClockSourceDll, 6, 7:0, 23:16) \
HANDLER(EmcClockSource, 6, 31:29, 26:24) \
HANDLER(EmcClockSourceDll, 6, 31:29, 29:27) \
HANDLER(EmcClockSourceDll, 6, 11:10, 31:30) \
HANDLER(ClkRstControllerPllmMisc2Override, 7, 9:8, 1:0) \
HANDLER(ClkRstControllerPllmMisc2Override, 7, 2:1, 3:2) \
HANDLER(EmcZqCalLpDdr4WarmBoot, 7, 31:30, 5:4) \
HANDLER(EmcClockSource, 7, 15:15, 6:6) \
HANDLER(EmcClockSource, 7, 26:26, 7:7) \
HANDLER(EmcClockSource, 7, 20:20, 8:8) \
HANDLER(EmcClockSource, 7, 19:19, 9:9) \
HANDLER(ClkRstControllerPllmMisc2Override, 7, 13:13, 10:10) \
HANDLER(ClkRstControllerPllmMisc2Override, 7, 12:12, 11:11) \
HANDLER(ClkRstControllerPllmMisc2Override, 7, 11:11, 12:12) \
HANDLER(ClkRstControllerPllmMisc2Override, 7, 10:10, 13:13) \
HANDLER(ClkRstControllerPllmMisc2Override, 7, 5:5, 14:14) \
HANDLER(ClkRstControllerPllmMisc2Override, 7, 4:4, 15:15) \
HANDLER(ClkRstControllerPllmMisc2Override, 7, 3:3, 16:16) \
HANDLER(ClkRstControllerPllmMisc2Override, 7, 0:0, 17:17) \
HANDLER(EmcZqCalLpDdr4WarmBoot, 7, 1:0, 19:18) \
HANDLER(EmcZqCalLpDdr4WarmBoot, 7, 4:4, 20:20) \
HANDLER(EmcOdtWrite, 7, 5:0, 26:21) \
HANDLER(EmcOdtWrite, 7, 11:8, 30:27) \
HANDLER(EmcOdtWrite, 7, 31:31, 31:31) \
HANDLER(EmcFdpdCtrlCmdNoRamp, 13, 0:0, 30:30) \
HANDLER(EmcCfgPipeClk, 13, 0:0, 31:31) \
HANDLER(McEmemArbMisc2, 14, 0:0, 30:30) \
HANDLER(McDaCfg0, 14, 0:0, 31:31) \
HANDLER(EmcQRst, 15, 6:0, 26:20) \
HANDLER(EmcQRst, 15, 20:16, 31:27) \
HANDLER(EmcPmacroCmdTxDrv, 16, 5:0, 25:20) \
HANDLER(EmcPmacroCmdTxDrv, 16, 13:8, 31:26) \
HANDLER(EmcPmacroAutocalCfg0, 17, 2:0, 22:20) \
HANDLER(EmcPmacroAutocalCfg0, 17, 10:8, 25:23) \
HANDLER(EmcPmacroAutocalCfg0, 17, 18:16, 28:26) \
HANDLER(EmcPmacroAutocalCfg0, 17, 26:24, 31:29) \
HANDLER(EmcPmacroAutocalCfg1, 18, 2:0, 22:20) \
HANDLER(EmcPmacroAutocalCfg1, 18, 10:8, 25:23) \
HANDLER(EmcPmacroAutocalCfg1, 18, 18:16, 28:26) \
HANDLER(EmcPmacroAutocalCfg1, 18, 26:24, 31:29) \
HANDLER(EmcPmacroAutocalCfg2, 19, 2:0, 22:20) \
HANDLER(EmcPmacroAutocalCfg2, 19, 10:8, 25:23) \
HANDLER(EmcPmacroAutocalCfg2, 19, 18:16, 28:26) \
HANDLER(EmcPmacroAutocalCfg2, 19, 26:24, 31:29) \
HANDLER(EmcCfgRsv, 22, 31:0, 31:0) \
HANDLER(EmcAutoCalConfig, 23, 31:0, 31:0) \
HANDLER(EmcAutoCalVrefSel0, 24, 31:0, 31:0) \
HANDLER(EmcPmacroBrickCtrlRfu1, 25, 31:0, 31:0) \
HANDLER(EmcPmacroBrickCtrlRfu2, 26, 31:0, 31:0) \
HANDLER(EmcPmcScratch1, 27, 31:0, 31:0) \
HANDLER(EmcPmcScratch2, 28, 31:0, 31:0) \
HANDLER(EmcPmcScratch3, 29, 31:0, 31:0) \
HANDLER(McEmemArbDaTurns, 30, 31:0, 31:0) \
HANDLER(EmcFbioSpare, 58, 31:24, 7:0) \
HANDLER(EmcFbioSpare, 58, 23:16, 15:8) \
HANDLER(EmcFbioSpare, 58, 15:8, 23:16) \
HANDLER(EmcFbioSpare, 58, 7:2, 29:24) \
HANDLER(EmcFbioSpare, 58, 0:0, 30:30) \
HANDLER(EmcDllCfg0, 59, 29:0, 29:0) \
HANDLER(EmcPmacroDdllBypass, 60, 11:0, 11:0) \
HANDLER(EmcPmacroDdllBypass, 60, 27:13, 26:12) \
HANDLER(EmcPmacroDdllBypass, 60, 31:29, 29:27) \
HANDLER(McEmemArbMisc0, 61, 14:0, 14:0) \
HANDLER(McEmemArbMisc0, 61, 30:16, 29:15) \
HANDLER(EmcFdpdCtrlCmd, 62, 16:0, 16:0) \
HANDLER(EmcFdpdCtrlCmd, 62, 31:20, 28:17) \
HANDLER(EmcAutoCalConfig2, 63, 27:0, 27:0) \
HANDLER(EmcBurstRefreshNum, 63, 3:0, 31:28) \
HANDLER(EmcPmacroZctrl, 64, 27:0, 27:0) \
HANDLER(EmcTppd, 64, 3:0, 31:28) \
HANDLER(EmcCfgDigDll, 65, 10:0, 10:0) \
HANDLER(EmcCfgDigDll, 65, 25:12, 24:11) \
HANDLER(EmcCfgDigDll, 65, 27:27, 25:25) \
HANDLER(EmcCfgDigDll, 65, 31:30, 27:26) \
HANDLER(EmcR2r, 65, 3:0, 31:28) \
HANDLER(EmcFdpdCtrlDq, 66, 16:0, 16:0) \
HANDLER(EmcFdpdCtrlDq, 66, 28:20, 25:17) \
HANDLER(EmcFdpdCtrlDq, 66, 31:30, 27:26) \
HANDLER(EmcW2w, 66, 3:0, 31:28) \
HANDLER(EmcPmacroTxPwrd4, 67, 13:0, 13:0) \
HANDLER(EmcPmacroTxPwrd4, 67, 29:16, 27:14) \
HANDLER(EmcPmacroCommonPadTxCtrl, 67, 3:0, 31:28) \
HANDLER(EmcPmacroTxPwrd5, 68, 13:0, 13:0) \
HANDLER(EmcPmacroTxPwrd5, 68, 29:16, 27:14) \
HANDLER(EmcPmacroDdllPwrd0, 69, 4:0, 4:0) \
HANDLER(EmcPmacroDdllPwrd0, 69, 12:6, 11:5) \
HANDLER(EmcPmacroDdllPwrd0, 69, 20:14, 18:12) \
HANDLER(EmcPmacroDdllPwrd0, 69, 28:22, 25:19) \
HANDLER(EmcPmacroDdllPwrd0, 69, 31:30, 27:26) \
HANDLER(EmcCfg, 69, 4:4, 31:31) \
HANDLER(EmcPmacroDdllPwrd1, 70, 4:0, 4:0) \
HANDLER(EmcPmacroDdllPwrd1, 70, 12:6, 11:5) \
HANDLER(EmcPmacroDdllPwrd1, 70, 20:14, 18:12) \
HANDLER(EmcPmacroDdllPwrd1, 70, 28:22, 25:19) \
HANDLER(EmcPmacroDdllPwrd1, 70, 31:30, 27:26) \
HANDLER(EmcCfg, 70, 5:5, 31:31) \
HANDLER(EmcPmacroDdllPwrd2, 71, 4:0, 4:0) \
HANDLER(EmcPmacroDdllPwrd2, 71, 12:6, 11:5) \
HANDLER(EmcPmacroDdllPwrd2, 71, 20:14, 18:12) \
HANDLER(EmcPmacroDdllPwrd2, 71, 28:22, 25:19) \
HANDLER(EmcPmacroDdllPwrd2, 71, 31:30, 27:26) \
HANDLER(EmcFbioCfg5, 71, 23:20, 31:28) \
HANDLER(EmcPmacroIbVrefDq_0, 72, 6:0, 6:0) \
HANDLER(EmcPmacroIbVrefDq_0, 72, 14:8, 13:7) \
HANDLER(EmcPmacroIbVrefDq_0, 72, 22:16, 20:14) \
HANDLER(EmcPmacroIbVrefDq_0, 72, 30:24, 27:21) \
HANDLER(EmcFbioCfg5, 72, 15:13, 30:28) \
HANDLER(EmcCfg, 72, 6:6, 31:31) \
HANDLER(EmcPmacroIbVrefDq_1, 73, 6:0, 6:0) \
HANDLER(EmcPmacroIbVrefDq_1, 73, 14:8, 13:7) \
HANDLER(EmcPmacroIbVrefDq_1, 73, 22:16, 20:14) \
HANDLER(EmcPmacroIbVrefDq_1, 73, 30:24, 27:21) \
HANDLER(EmcCfg2, 73, 5:3, 30:28) \
HANDLER(EmcCfg, 73, 7:7, 31:31) \
HANDLER(EmcPmacroIbVrefDqs_0, 74, 6:0, 6:0) \
HANDLER(EmcPmacroIbVrefDqs_0, 74, 14:8, 13:7) \
HANDLER(EmcPmacroIbVrefDqs_0, 74, 22:16, 20:14) \
HANDLER(EmcPmacroIbVrefDqs_0, 74, 30:24, 27:21) \
HANDLER(EmcCfg, 74, 17:16, 29:28) \
HANDLER(EmcFbioCfg5, 74, 1:0, 31:30) \
HANDLER(EmcPmacroIbVrefDqs_1, 75, 6:0, 6:0) \
HANDLER(EmcPmacroIbVrefDqs_1, 75, 14:8, 13:7) \
HANDLER(EmcPmacroIbVrefDqs_1, 75, 22:16, 20:14) \
HANDLER(EmcPmacroIbVrefDqs_1, 75, 30:24, 27:21) \
HANDLER(EmcFbioCfg5, 75, 3:2, 29:28) \
HANDLER(EmcCfg2, 75, 27:26, 31:30) \
HANDLER(EmcPmacroDdllShortCmd_0, 76, 6:0, 6:0) \
HANDLER(EmcPmacroDdllShortCmd_0, 76, 14:8, 13:7) \
HANDLER(EmcPmacroDdllShortCmd_0, 76, 22:16, 20:14) \
HANDLER(EmcPmacroDdllShortCmd_0, 76, 30:24, 27:21) \
HANDLER(EmcPmacroCmdPadTxCtrl, 76, 3:2, 29:28) \
HANDLER(EmcPmacroCmdPadTxCtrl, 76, 7:6, 31:30) \
HANDLER(EmcPmacroDdllShortCmd_1, 77, 6:0, 6:0) \
HANDLER(EmcPmacroDdllShortCmd_1, 77, 14:8, 13:7) \
HANDLER(EmcPmacroDdllShortCmd_1, 77, 22:16, 20:14) \
HANDLER(EmcPmacroDdllShortCmd_1, 77, 30:24, 27:21) \
HANDLER(EmcPmacroCmdPadTxCtrl, 77, 11:10, 29:28) \
HANDLER(EmcPmacroCmdPadTxCtrl, 77, 15:14, 31:30) \
HANDLER(EmcAutoCalChannel, 78, 5:0, 5:0) \
HANDLER(EmcAutoCalChannel, 78, 11:8, 9:6) \
HANDLER(EmcAutoCalChannel, 78, 27:16, 21:10) \
HANDLER(EmcAutoCalChannel, 78, 31:29, 24:22) \
HANDLER(EmcConfigSampleDelay, 78, 6:0, 31:25) \
HANDLER(EmcPmacroRxTerm, 79, 5:0, 5:0) \
HANDLER(EmcPmacroRxTerm, 79, 13:8, 11:6) \
HANDLER(EmcPmacroRxTerm, 79, 21:16, 17:12) \
HANDLER(EmcPmacroRxTerm, 79, 29:24, 23:18) \
HANDLER(EmcRc, 79, 7:0, 31:24) \
HANDLER(EmcPmacroDqTxDrv, 80, 5:0, 5:0) \
HANDLER(EmcPmacroDqTxDrv, 80, 13:8, 11:6) \
HANDLER(EmcPmacroDqTxDrv, 80, 21:16, 17:12) \
HANDLER(EmcPmacroDqTxDrv, 80, 29:24, 23:18) \
HANDLER(EmcSelDpdCtrl, 80, 5:2, 27:24) \
HANDLER(EmcSelDpdCtrl, 80, 8:8, 28:28) \
HANDLER(EmcSelDpdCtrl, 80, 18:16, 31:29) \
HANDLER(EmcPmacroCaTxDrv, 81, 5:0, 5:0) \
HANDLER(EmcPmacroCaTxDrv, 81, 13:8, 11:6) \
HANDLER(EmcPmacroCaTxDrv, 81, 21:16, 17:12) \
HANDLER(EmcPmacroCaTxDrv, 81, 29:24, 23:18) \
HANDLER(EmcObdly, 81, 5:0, 29:24) \
HANDLER(EmcObdly, 81, 29:28, 31:30) \
HANDLER(EmcZcalInterval, 82, 23:10, 13:0) \
HANDLER(EmcZcalInterval, 82, 9:0, 23:14) \
HANDLER(EmcPmacroCmdRxTermMode, 82, 1:0, 25:24) \
HANDLER(EmcPmacroCmdRxTermMode, 82, 5:4, 27:26) \
HANDLER(EmcPmacroCmdRxTermMode, 82, 9:8, 29:28) \
HANDLER(EmcPmacroCmdRxTermMode, 82, 13:12, 31:30) \
HANDLER(EmcDataBrlshft0, 83, 23:0, 23:0) \
HANDLER(EmcPmacroDataRxTermMode, 83, 1:0, 25:24) \
HANDLER(EmcPmacroDataRxTermMode, 83, 5:4, 27:26) \
HANDLER(EmcPmacroDataRxTermMode, 83, 9:8, 29:28) \
HANDLER(EmcPmacroDataRxTermMode, 83, 13:12, 31:30) \
HANDLER(EmcDataBrlshft1, 84, 23:0, 23:0) \
HANDLER(McEmemArbTimingRc, 84, 7:0, 31:24) \
HANDLER(EmcDqsBrlshft0, 85, 23:0, 23:0) \
HANDLER(McEmemArbRsv, 85, 7:0, 31:24) \
HANDLER(EmcDqsBrlshft1, 86, 23:0, 23:0) \
HANDLER(EmcCfgPipe2, 87, 11:0, 11:0) \
HANDLER(EmcCfgPipe2, 87, 27:16, 23:12) \
HANDLER(EmcCfgPipe1, 88, 11:0, 11:0) \
HANDLER(EmcCfgPipe1, 88, 27:16, 23:12) \
HANDLER(EmcPmacroCmdCtrl0, 89, 5:0, 5:0) \
HANDLER(EmcPmacroCmdCtrl0, 89, 13:8, 11:6) \
HANDLER(EmcPmacroCmdCtrl0, 89, 21:16, 17:12) \
HANDLER(EmcPmacroCmdCtrl0, 89, 29:24, 23:18) \
HANDLER(EmcPmacroCmdCtrl1, 90, 5:0, 5:0) \
HANDLER(EmcPmacroCmdCtrl1, 90, 13:8, 11:6) \
HANDLER(EmcPmacroCmdCtrl1, 90, 21:16, 17:12) \
HANDLER(EmcPmacroCmdCtrl1, 90, 29:24, 23:18) \
HANDLER(EmcRas, 90, 6:0, 30:24) \
HANDLER(EmcCfg, 90, 8:8, 31:31) \
HANDLER(EmcPmacroVttgenCtrl2, 91, 23:0, 23:0) \
HANDLER(EmcW2p, 91, 6:0, 30:24) \
HANDLER(EmcCfg, 91, 9:9, 31:31) \
HANDLER(EmcPmacroCmdPadRxCtrl, 92, 2:0, 2:0) \
HANDLER(EmcPmacroCmdPadRxCtrl, 92, 5:4, 4:3) \
HANDLER(EmcPmacroCmdPadRxCtrl, 92, 10:8, 7:5) \
HANDLER(EmcPmacroCmdPadRxCtrl, 92, 22:12, 18:8) \
HANDLER(EmcPmacroCmdPadRxCtrl, 92, 28:24, 23:19) \
HANDLER(EmcQSafe, 92, 6:0, 30:24) \
HANDLER(EmcCfg, 92, 18:18, 31:31) \
HANDLER(EmcPmacroDataPadRxCtrl, 93, 2:0, 2:0) \
HANDLER(EmcPmacroDataPadRxCtrl, 93, 5:4, 4:3) \
HANDLER(EmcPmacroDataPadRxCtrl, 93, 10:8, 7:5) \
HANDLER(EmcPmacroDataPadRxCtrl, 93, 22:12, 18:8) \
HANDLER(EmcPmacroDataPadRxCtrl, 93, 28:24, 23:19) \
HANDLER(EmcRdv, 93, 6:0, 30:24) \
HANDLER(EmcCfg, 93, 21:21, 31:31) \
HANDLER(McEmemArbDaCovers, 94, 23:0, 23:0) \
HANDLER(EmcRw2Pden, 94, 6:0, 30:24) \
HANDLER(EmcCfg, 94, 22:22, 31:31) \
HANDLER(EmcPmacroCmdCtrl2, 95, 5:0, 5:0) \
HANDLER(EmcPmacroCmdCtrl2, 95, 13:9, 10:6) \
HANDLER(EmcPmacroCmdCtrl2, 95, 21:16, 16:11) \
HANDLER(EmcPmacroCmdCtrl2, 95, 29:24, 22:17) \
HANDLER(EmcRfcPb, 95, 8:0, 31:23) \
HANDLER(EmcPmacroQuseDdllRank0_0, 96, 10:0, 10:0) \
HANDLER(EmcPmacroQuseDdllRank0_0, 96, 26:16, 21:11) \
HANDLER(EmcCfgUpdate, 96, 2:0, 24:22) \
HANDLER(EmcCfgUpdate, 96, 10:8, 27:25) \
HANDLER(EmcCfgUpdate, 96, 31:28, 31:28) \
HANDLER(EmcPmacroQuseDdllRank0_1, 97, 10:0, 10:0) \
HANDLER(EmcPmacroQuseDdllRank0_1, 97, 26:16, 21:11) \
HANDLER(EmcRfc, 97, 9:0, 31:22) \
HANDLER(EmcPmacroQuseDdllRank0_2, 98, 10:0, 10:0) \
HANDLER(EmcPmacroQuseDdllRank0_2, 98, 26:16, 21:11) \
HANDLER(EmcTxsr, 98, 9:0, 31:22) \
HANDLER(EmcPmacroQuseDdllRank0_3, 99, 10:0, 10:0) \
HANDLER(EmcPmacroQuseDdllRank0_3, 99, 26:16, 21:11) \
HANDLER(EmcMc2EmcQ, 99, 2:0, 24:22) \
HANDLER(EmcMc2EmcQ, 99, 10:8, 27:25) \
HANDLER(EmcMc2EmcQ, 99, 27:24, 31:28) \
HANDLER(EmcPmacroQuseDdllRank0_4, 100, 10:0, 10:0) \
HANDLER(EmcPmacroQuseDdllRank0_4, 100, 26:16, 21:11) \
HANDLER(McEmemArbRing1Throttle, 100, 4:0, 26:22) \
HANDLER(McEmemArbRing1Throttle, 100, 20:16, 31:27) \
HANDLER(EmcPmacroQuseDdllRank0_5, 101, 10:0, 10:0) \
HANDLER(EmcPmacroQuseDdllRank0_5, 101, 26:16, 21:11) \
HANDLER(EmcPmacroQuseDdllRank1_0, 102, 10:0, 10:0) \
HANDLER(EmcPmacroQuseDdllRank1_0, 102, 26:16, 21:11) \
HANDLER(EmcAr2Pden, 102, 8:0, 30:22) \
HANDLER(EmcCfg, 102, 23:23, 31:31) \
HANDLER(EmcPmacroQuseDdllRank1_1, 103, 10:0, 10:0) \
HANDLER(EmcPmacroQuseDdllRank1_1, 103, 26:16, 21:11) \
HANDLER(EmcRfcSlr, 103, 8:0, 30:22) \
HANDLER(EmcCfg, 103, 24:24, 31:31) \
HANDLER(EmcPmacroQuseDdllRank1_2, 104, 10:0, 10:0) \
HANDLER(EmcPmacroQuseDdllRank1_2, 104, 26:16, 21:11) \
HANDLER(EmcIbdly, 104, 6:0, 28:22) \
HANDLER(EmcIbdly, 104, 29:28, 30:29) \
HANDLER(EmcCfg, 104, 25:25, 31:31) \
HANDLER(EmcPmacroQuseDdllRank1_3, 105, 10:0, 10:0) \
HANDLER(EmcPmacroQuseDdllRank1_3, 105, 26:16, 21:11) \
HANDLER(McEmemArbTimingRFCPB, 105, 8:0, 30:22) \
HANDLER(EmcCfg, 105, 26:26, 31:31) \
HANDLER(EmcPmacroQuseDdllRank1_4, 106, 10:0, 10:0) \
HANDLER(EmcPmacroQuseDdllRank1_4, 106, 26:16, 21:11) \
HANDLER(EmcTfaw, 106, 6:0, 28:22) \
HANDLER(EmcPmacroDataPadTxCtrl, 106, 3:2, 30:29) \
HANDLER(EmcCfg, 106, 28:28, 31:31) \
HANDLER(EmcPmacroQuseDdllRank1_5, 107, 10:0, 10:0) \
HANDLER(EmcPmacroQuseDdllRank1_5, 107, 26:16, 21:11) \
HANDLER(EmcTClkStable, 107, 6:0, 28:22) \
HANDLER(EmcPmacroDataPadTxCtrl, 107, 7:6, 30:29) \
HANDLER(EmcCfg, 107, 29:29, 31:31) \
HANDLER(EmcPmacroObDdllLongDqRank0_0, 108, 10:0, 10:0) \
HANDLER(EmcPmacroObDdllLongDqRank0_0, 108, 26:16, 21:11) \
HANDLER(EmcPdex2Mrr, 108, 6:0, 28:22) \
HANDLER(EmcPmacroDataPadTxCtrl, 108, 11:10, 30:29) \
HANDLER(EmcCfg, 108, 30:30, 31:31) \
HANDLER(EmcPmacroObDdllLongDqRank0_1, 109, 10:0, 10:0) \
HANDLER(EmcPmacroObDdllLongDqRank0_1, 109, 26:16, 21:11) \
HANDLER(EmcRdvMask, 109, 6:0, 28:22) \
HANDLER(EmcPmacroDataPadTxCtrl, 109, 15:14, 30:29) \
HANDLER(EmcCfg, 109, 31:31, 31:31) \
HANDLER(EmcPmacroObDdllLongDqRank0_2, 110, 10:0, 10:0) \
HANDLER(EmcPmacroObDdllLongDqRank0_2, 110, 26:16, 21:11) \
HANDLER(EmcRdvEarlyMask, 110, 6:0, 28:22) \
HANDLER(EmcFbioCfg5, 110, 4:4, 29:29) \
HANDLER(EmcFbioCfg5, 110, 8:8, 30:30) \
HANDLER(EmcFbioCfg5, 110, 10:10, 31:31) \
HANDLER(EmcPmacroObDdllLongDqRank0_3, 111, 10:0, 10:0) \
HANDLER(EmcPmacroObDdllLongDqRank0_3, 111, 26:16, 21:11) \
HANDLER(EmcRdvEarly, 111, 6:0, 28:22) \
HANDLER(EmcFbioCfg5, 111, 12:12, 29:29) \
HANDLER(EmcFbioCfg5, 111, 25:24, 31:30) \
HANDLER(EmcPmacroObDdllLongDqRank0_4, 112, 10:0, 10:0) \
HANDLER(EmcPmacroObDdllLongDqRank0_4, 112, 26:16, 21:11) \
HANDLER(EmcPmacroDdllShortCmd_2, 112, 6:0, 28:22) \
HANDLER(EmcFbioCfg5, 112, 28:26, 31:29) \
HANDLER(EmcPmacroObDdllLongDqRank0_5, 113, 10:0, 10:0) \
HANDLER(EmcPmacroObDdllLongDqRank0_5, 113, 26:16, 21:11) \
HANDLER(McEmemArbTimingRp, 113, 6:0, 28:22) \
HANDLER(EmcFbioCfg5, 113, 31:30, 30:29) \
HANDLER(EmcCfg2, 113, 0:0, 31:31) \
HANDLER(EmcPmacroObDdllLongDqRank1_0, 114, 10:0, 10:0) \
HANDLER(EmcPmacroObDdllLongDqRank1_0, 114, 26:16, 21:11) \
HANDLER(McEmemArbTimingRas, 114, 6:0, 28:22) \
HANDLER(EmcCfg2, 114, 2:1, 30:29) \
HANDLER(EmcCfg2, 114, 7:7, 31:31) \
HANDLER(EmcPmacroObDdllLongDqRank1_1, 115, 10:0, 10:0) \
HANDLER(EmcPmacroObDdllLongDqRank1_1, 115, 26:16, 21:11) \
HANDLER(McEmemArbTimingFaw, 115, 6:0, 28:22) \
HANDLER(EmcCfg2, 115, 11:10, 30:29) \
HANDLER(EmcCfg2, 115, 14:14, 31:31) \
HANDLER(EmcPmacroObDdllLongDqRank1_2, 123, 10:0, 10:0) \
HANDLER(EmcPmacroObDdllLongDqRank1_2, 123, 26:16, 21:11) \
HANDLER(McEmemArbTimingRap2Pre, 123, 6:0, 28:22) \
HANDLER(EmcCfg2, 123, 16:15, 30:29) \
HANDLER(EmcCfg2, 123, 20:20, 31:31) \
HANDLER(EmcPmacroObDdllLongDqRank1_3, 124, 10:0, 10:0) \
HANDLER(EmcPmacroObDdllLongDqRank1_3, 124, 26:16, 21:11) \
HANDLER(McEmemArbTimingWap2Pre, 124, 6:0, 28:22) \
HANDLER(EmcCfg2, 124, 24:22, 31:29) \
HANDLER(EmcPmacroObDdllLongDqRank1_4, 125, 10:0, 10:0) \
HANDLER(EmcPmacroObDdllLongDqRank1_4, 125, 26:16, 21:11) \
HANDLER(McEmemArbTimingR2W, 125, 6:0, 28:22) \
HANDLER(EmcCfg2, 125, 25:25, 29:29) \
HANDLER(EmcCfg2, 125, 29:28, 31:30) \
HANDLER(EmcPmacroObDdllLongDqRank1_5, 126, 10:0, 10:0) \
HANDLER(EmcPmacroObDdllLongDqRank1_5, 126, 26:16, 21:11) \
HANDLER(McEmemArbTimingW2R, 126, 6:0, 28:22) \
HANDLER(EmcCfg2, 126, 31:30, 30:29) \
HANDLER(EmcCfgPipe, 126, 0:0, 31:31) \
HANDLER(EmcPmacroObDdllLongDqsRank0_0, 127, 10:0, 10:0) \
HANDLER(EmcPmacroObDdllLongDqsRank0_0, 127, 26:16, 21:11) \
HANDLER(EmcRp, 127, 5:0, 27:22) \
HANDLER(EmcCfgPipe, 127, 4:1, 31:28) \
HANDLER(EmcPmacroObDdllLongDqsRank0_1, 128, 10:0, 10:0) \
HANDLER(EmcPmacroObDdllLongDqsRank0_1, 128, 26:16, 21:11) \
HANDLER(EmcR2w, 128, 5:0, 27:22) \
HANDLER(EmcCfgPipe, 128, 8:5, 31:28) \
HANDLER(EmcPmacroObDdllLongDqsRank0_2, 129, 10:0, 10:0) \
HANDLER(EmcPmacroObDdllLongDqsRank0_2, 129, 26:16, 21:11) \
HANDLER(EmcW2r, 129, 5:0, 27:22) \
HANDLER(EmcCfgPipe, 129, 11:9, 30:28) \
HANDLER(EmcCfgPipe, 129, 16:16, 31:31) \
HANDLER(EmcPmacroObDdllLongDqsRank0_3, 130, 10:0, 10:0) \
HANDLER(EmcPmacroObDdllLongDqsRank0_3, 130, 26:16, 21:11) \
HANDLER(EmcR2p, 130, 5:0, 27:22) \
HANDLER(EmcCfgPipe, 130, 20:17, 31:28) \
HANDLER(EmcPmacroObDdllLongDqsRank0_4, 131, 10:0, 10:0) \
HANDLER(EmcPmacroObDdllLongDqsRank0_4, 131, 26:16, 21:11) \
HANDLER(EmcCcdmw, 131, 5:0, 27:22) \
HANDLER(EmcCfgPipe, 131, 24:21, 31:28) \
HANDLER(EmcPmacroObDdllLongDqsRank0_5, 132, 10:0, 10:0) \
HANDLER(EmcPmacroObDdllLongDqsRank0_5, 132, 26:16, 21:11) \
HANDLER(EmcRdRcd, 132, 5:0, 27:22) \
HANDLER(EmcCfgPipe, 132, 27:25, 30:28) \
HANDLER(EmcPmacroTxPwrd0, 132, 0:0, 31:31) \
HANDLER(EmcPmacroObDdllLongDqsRank1_0, 133, 10:0, 10:0) \
HANDLER(EmcPmacroObDdllLongDqsRank1_0, 133, 26:16, 21:11) \
HANDLER(EmcWrRcd, 133, 5:0, 27:22) \
HANDLER(EmcPmacroTxPwrd0, 133, 4:1, 31:28) \
HANDLER(EmcPmacroObDdllLongDqsRank1_1, 134, 10:0, 10:0) \
HANDLER(EmcPmacroObDdllLongDqsRank1_1, 134, 26:16, 21:11) \
HANDLER(EmcWdv, 134, 5:0, 27:22) \
HANDLER(EmcPmacroTxPwrd0, 134, 8:5, 31:28) \
HANDLER(EmcPmacroObDdllLongDqsRank1_2, 135, 10:0, 10:0) \
HANDLER(EmcPmacroObDdllLongDqsRank1_2, 135, 26:16, 21:11) \
HANDLER(EmcQUse, 135, 5:0, 27:22) \
HANDLER(EmcPmacroTxPwrd0, 135, 12:9, 31:28) \
HANDLER(EmcPmacroObDdllLongDqsRank1_3, 136, 10:0, 10:0) \
HANDLER(EmcPmacroObDdllLongDqsRank1_3, 136, 26:16, 21:11) \
HANDLER(EmcPdEx2Wr, 136, 5:0, 27:22) \
HANDLER(EmcPmacroTxPwrd0, 136, 13:13, 28:28) \
HANDLER(EmcPmacroTxPwrd0, 136, 18:16, 31:29) \
HANDLER(EmcPmacroObDdllLongDqsRank1_4, 137, 10:0, 10:0) \
HANDLER(EmcPmacroObDdllLongDqsRank1_4, 137, 26:16, 21:11) \
HANDLER(EmcPdEx2Rd, 137, 5:0, 27:22) \
HANDLER(EmcPmacroTxPwrd0, 137, 22:19, 31:28) \
HANDLER(EmcPmacroObDdllLongDqsRank1_5, 138, 10:0, 10:0) \
HANDLER(EmcPmacroObDdllLongDqsRank1_5, 138, 26:16, 21:11) \
HANDLER(EmcPdex2Cke, 138, 5:0, 27:22) \
HANDLER(EmcPmacroTxPwrd0, 138, 26:23, 31:28) \
HANDLER(EmcPmacroIbDdllLongDqsRank0_0, 139, 10:0, 10:0) \
HANDLER(EmcPmacroIbDdllLongDqsRank0_0, 139, 26:16, 21:11) \
HANDLER(EmcPChg2Pden, 139, 5:0, 27:22) \
HANDLER(EmcPmacroTxPwrd0, 139, 29:27, 30:28) \
HANDLER(EmcPmacroTxPwrd1, 139, 0:0, 31:31) \
HANDLER(EmcPmacroIbDdllLongDqsRank0_1, 140, 10:0, 10:0) \
HANDLER(EmcPmacroIbDdllLongDqsRank0_1, 140, 26:16, 21:11) \
HANDLER(EmcAct2Pden, 140, 5:0, 27:22) \
HANDLER(EmcPmacroTxPwrd1, 140, 4:1, 31:28) \
HANDLER(EmcPmacroIbDdllLongDqsRank0_2, 141, 10:0, 10:0) \
HANDLER(EmcPmacroIbDdllLongDqsRank0_2, 141, 26:16, 21:11) \
HANDLER(EmcCke2Pden, 141, 5:0, 27:22) \
HANDLER(EmcPmacroTxPwrd1, 141, 8:5, 31:28) \
HANDLER(EmcPmacroIbDdllLongDqsRank0_3, 142, 10:0, 10:0) \
HANDLER(EmcPmacroIbDdllLongDqsRank0_3, 142, 26:16, 21:11) \
HANDLER(EmcTcke, 142, 5:0, 27:22) \
HANDLER(EmcPmacroTxPwrd1, 142, 12:9, 31:28) \
HANDLER(EmcPmacroIbDdllLongDqsRank1_0, 143, 10:0, 10:0) \
HANDLER(EmcPmacroIbDdllLongDqsRank1_0, 143, 26:16, 21:11) \
HANDLER(EmcTrpab, 143, 5:0, 27:22) \
HANDLER(EmcPmacroTxPwrd1, 143, 13:13, 28:28) \
HANDLER(EmcPmacroTxPwrd1, 143, 18:16, 31:29) \
HANDLER(EmcPmacroIbDdllLongDqsRank1_1, 144, 10:0, 10:0) \
HANDLER(EmcPmacroIbDdllLongDqsRank1_1, 144, 26:16, 21:11) \
HANDLER(EmcClkenOverride, 144, 3:1, 24:22) \
HANDLER(EmcClkenOverride, 144, 8:6, 27:25) \
HANDLER(EmcPmacroTxPwrd1, 144, 22:19, 31:28) \
HANDLER(EmcPmacroIbDdllLongDqsRank1_2, 145, 10:0, 10:0) \
HANDLER(EmcPmacroIbDdllLongDqsRank1_2, 145, 26:16, 21:11) \
HANDLER(EmcEInput, 145, 5:0, 27:22) \
HANDLER(EmcPmacroTxPwrd1, 145, 26:23, 31:28) \
HANDLER(EmcPmacroIbDdllLongDqsRank1_3, 146, 10:0, 10:0) \
HANDLER(EmcPmacroIbDdllLongDqsRank1_3, 146, 26:16, 21:11) \
HANDLER(EmcEInputDuration, 146, 5:0, 27:22) \
HANDLER(EmcPmacroTxPwrd1, 146, 29:27, 30:28) \
HANDLER(EmcPmacroTxPwrd2, 146, 0:0, 31:31) \
HANDLER(EmcPmacroDdllLongCmd_0, 147, 10:0, 10:0) \
HANDLER(EmcPmacroDdllLongCmd_0, 147, 26:16, 21:11) \
HANDLER(EmcPutermExtra, 147, 5:0, 27:22) \
HANDLER(EmcPmacroTxPwrd2, 147, 4:1, 31:28) \
HANDLER(EmcPmacroDdllLongCmd_1, 148, 10:0, 10:0) \
HANDLER(EmcPmacroDdllLongCmd_1, 148, 26:16, 21:11) \
HANDLER(EmcTckesr, 148, 5:0, 27:22) \
HANDLER(EmcPmacroTxPwrd2, 148, 8:5, 31:28) \
HANDLER(EmcPmacroDdllLongCmd_2, 149, 10:0, 10:0) \
HANDLER(EmcPmacroDdllLongCmd_2, 149, 26:16, 21:11) \
HANDLER(EmcTpd, 149, 5:0, 27:22) \
HANDLER(EmcPmacroTxPwrd2, 149, 12:9, 31:28) \
HANDLER(EmcPmacroDdllLongCmd_3, 150, 10:0, 10:0) \
HANDLER(EmcPmacroDdllLongCmd_3, 150, 26:16, 21:11) \
HANDLER(EmcWdvMask, 150, 5:0, 27:22) \
HANDLER(EmcPmacroTxPwrd2, 150, 13:13, 28:28) \
HANDLER(EmcPmacroTxPwrd2, 150, 18:16, 31:29) \
HANDLER(McEmemArbCfg, 151, 8:0, 8:0) \
HANDLER(McEmemArbCfg, 151, 20:16, 13:9) \
HANDLER(McEmemArbCfg, 151, 31:24, 21:14) \
HANDLER(EmcWdvChk, 151, 5:0, 27:22) \
HANDLER(EmcPmacroTxPwrd2, 151, 22:19, 31:28) \
HANDLER(McEmemArbMisc1, 152, 12:0, 12:0) \
HANDLER(McEmemArbMisc1, 152, 25:21, 17:13) \
HANDLER(McEmemArbMisc1, 152, 31:28, 21:18) \
HANDLER(EmcCmdBrlshft0, 152, 5:0, 27:22) \
HANDLER(EmcPmacroTxPwrd2, 152, 26:23, 31:28) \
HANDLER(EmcMrsWaitCnt2, 153, 9:0, 9:0) \
HANDLER(EmcMrsWaitCnt2, 153, 26:16, 20:10) \
HANDLER(EmcPmacroIbRxrt, 153, 10:0, 31:21) \
HANDLER(EmcMrsWaitCnt, 154, 9:0, 9:0) \
HANDLER(EmcMrsWaitCnt, 154, 26:16, 20:10) \
HANDLER(EmcPmacroDdllLongCmd_4, 154, 10:0, 31:21) \
HANDLER(EmcAutoCalInterval, 155, 20:0, 20:0) \
HANDLER(McEmemArbOutstandingReq, 155, 8:0, 29:21) \
HANDLER(McEmemArbOutstandingReq, 155, 31:30, 31:30) \
HANDLER(McEmemArbRefpbHpCtrl, 156, 6:0, 6:0) \
HANDLER(McEmemArbRefpbHpCtrl, 156, 14:8, 13:7) \
HANDLER(McEmemArbRefpbHpCtrl, 156, 22:16, 20:14) \
HANDLER(EmcCmdBrlshft1, 156, 5:0, 26:21) \
HANDLER(EmcRrd, 156, 4:0, 31:27) \
HANDLER(EmcQuseBrlshft0, 157, 19:0, 19:0) \
HANDLER(EmcFbioCfg8, 157, 27:16, 31:20) \
HANDLER(EmcQuseBrlshft1, 158, 19:0, 19:0) \
HANDLER(EmcTxsrDll, 158, 11:0, 31:20) \
HANDLER(EmcQuseBrlshft2, 159, 19:0, 19:0) \
HANDLER(EmcTxdsrvttgen, 159, 11:0, 31:20) \
HANDLER(EmcQuseBrlshft3, 160, 19:0, 19:0) \
HANDLER(EmcPmacroVttgenCtrl0, 160, 3:0, 23:20) \
HANDLER(EmcPmacroVttgenCtrl0, 160, 11:8, 27:24) \
HANDLER(EmcPmacroVttgenCtrl0, 160, 19:16, 31:28) \
HANDLER(EmcPmacroVttgenCtrl1, 161, 19:0, 19:0) \
HANDLER(EmcCmdBrlshft2, 161, 5:0, 25:20) \
HANDLER(EmcCmdBrlshft3, 161, 5:0, 31:26) \
HANDLER(EmcAutoCalConfig3, 162, 5:0, 5:0) \
HANDLER(EmcAutoCalConfig3, 162, 13:8, 11:6) \
HANDLER(EmcAutoCalConfig3, 162, 18:16, 14:12) \
HANDLER(EmcAutoCalConfig3, 162, 22:20, 17:15) \
HANDLER(EmcTRefBw, 162, 13:0, 31:18) \
HANDLER(EmcAutoCalConfig4, 163, 5:0, 5:0) \
HANDLER(EmcAutoCalConfig4, 163, 13:8, 11:6) \
HANDLER(EmcAutoCalConfig4, 163, 18:16, 14:12) \
HANDLER(EmcAutoCalConfig4, 163, 22:20, 17:15) \
HANDLER(EmcQpop, 163, 6:0, 24:18) \
HANDLER(EmcQpop, 163, 22:16, 31:25) \
HANDLER(EmcAutoCalConfig5, 164, 5:0, 5:0) \
HANDLER(EmcAutoCalConfig5, 164, 13:8, 11:6) \
HANDLER(EmcAutoCalConfig5, 164, 18:16, 14:12) \
HANDLER(EmcAutoCalConfig5, 164, 22:20, 17:15) \
HANDLER(EmcPmacroAutocalCfgCommon, 164, 5:0, 23:18) \
HANDLER(EmcPmacroAutocalCfgCommon, 164, 13:8, 29:24) \
HANDLER(EmcPmacroAutocalCfgCommon, 164, 16:16, 30:30) \
HANDLER(EmcPmacroTxPwrd2, 164, 27:27, 31:31) \
HANDLER(EmcAutoCalConfig6, 165, 5:0, 5:0) \
HANDLER(EmcAutoCalConfig6, 165, 13:8, 11:6) \
HANDLER(EmcAutoCalConfig6, 165, 18:16, 14:12) \
HANDLER(EmcAutoCalConfig6, 165, 22:20, 17:15) \
HANDLER(EmcWev, 165, 5:0, 23:18) \
HANDLER(EmcWsv, 165, 5:0, 29:24) \
HANDLER(EmcPmacroTxPwrd2, 165, 29:28, 31:30) \
HANDLER(EmcAutoCalConfig7, 166, 5:0, 5:0) \
HANDLER(EmcAutoCalConfig7, 166, 13:8, 11:6) \
HANDLER(EmcAutoCalConfig7, 166, 18:16, 14:12) \
HANDLER(EmcAutoCalConfig7, 166, 22:20, 17:15) \
HANDLER(EmcCfg3, 166, 2:0, 20:18) \
HANDLER(EmcCfg3, 166, 6:4, 23:21) \
HANDLER(EmcQuseWidth, 166, 3:0, 27:24) \
HANDLER(EmcQuseWidth, 166, 29:28, 29:28) \
HANDLER(EmcPmacroTxPwrd3, 166, 1:0, 31:30) \
HANDLER(EmcAutoCalConfig8, 167, 5:0, 5:0) \
HANDLER(EmcAutoCalConfig8, 167, 13:8, 11:6) \
HANDLER(EmcAutoCalConfig8, 167, 18:16, 14:12) \
HANDLER(EmcAutoCalConfig8, 167, 22:20, 17:15) \
HANDLER(EmcPmacroBgBiasCtrl0, 167, 2:0, 20:18) \
HANDLER(EmcPmacroBgBiasCtrl0, 167, 6:4, 23:21) \
HANDLER(McEmemArbTimingRcd, 167, 5:0, 29:24) \
HANDLER(EmcPmacroTxPwrd3, 167, 3:2, 31:30) \
HANDLER(EmcXm2CompPadCtrl2, 168, 17:0, 17:0) \
HANDLER(McEmemArbTimingCcdmw, 168, 5:0, 23:18) \
HANDLER(McEmemArbOverride, 168, 27:27, 24:24) \
HANDLER(McEmemArbOverride, 168, 26:26, 25:25) \
HANDLER(McEmemArbOverride, 168, 16:16, 26:26) \
HANDLER(McEmemArbOverride, 168, 10:10, 27:27) \
HANDLER(McEmemArbOverride, 168, 4:4, 28:28) \
HANDLER(McEmemArbOverride, 168, 3:3, 29:29) \
HANDLER(EmcPmacroTxPwrd3, 168, 5:4, 31:30) \
HANDLER(EmcXm2CompPadCtrl3, 169, 17:0, 17:0) \
HANDLER(EmcRext, 169, 4:0, 22:18) \
HANDLER(EmcTClkStop, 169, 4:0, 27:23) \
HANDLER(EmcPmacroTxPwrd3, 169, 9:6, 31:28) \
HANDLER(EmcZcalWaitCnt, 170, 10:0, 10:0) \
HANDLER(EmcZcalWaitCnt, 170, 21:16, 16:11) \
HANDLER(EmcZcalWaitCnt, 170, 31:31, 17:17) \
HANDLER(EmcWext, 170, 4:0, 22:18) \
HANDLER(EmcRefctrl2, 170, 0:0, 23:23) \
HANDLER(EmcRefctrl2, 170, 26:24, 26:24) \
HANDLER(EmcRefctrl2, 170, 31:31, 27:27) \
HANDLER(EmcPmacroTxPwrd3, 170, 13:10, 31:28) \
HANDLER(EmcZcalMrwCmd, 171, 7:0, 7:0) \
HANDLER(EmcZcalMrwCmd, 171, 23:16, 15:8) \
HANDLER(EmcZcalMrwCmd, 171, 31:30, 17:16) \
HANDLER(EmcWeDuration, 171, 4:0, 22:18) \
HANDLER(EmcWsDuration, 171, 4:0, 27:23) \
HANDLER(EmcPmacroTxPwrd3, 171, 19:16, 31:28) \
HANDLER(EmcSwizzleRank0Byte0, 172, 2:0, 2:0) \
HANDLER(EmcSwizzleRank0Byte0, 172, 6:4, 5:3) \
HANDLER(EmcSwizzleRank0Byte0, 172, 10:8, 8:6) \
HANDLER(EmcSwizzleRank0Byte0, 172, 14:12, 11:9) \
HANDLER(EmcSwizzleRank0Byte0, 172, 18:16, 14:12) \
HANDLER(EmcSwizzleRank0Byte0, 172, 22:20, 17:15) \
HANDLER(EmcPutermWidth, 172, 31:31, 18:18) \
HANDLER(EmcPutermWidth, 172, 3:0, 22:19) \
HANDLER(McEmemArbTimingRrd, 172, 4:0, 27:23) \
HANDLER(EmcPmacroTxPwrd3, 172, 23:20, 31:28) \
HANDLER(EmcSwizzleRank0Byte1, 173, 2:0, 2:0) \
HANDLER(EmcSwizzleRank0Byte1, 173, 6:4, 5:3) \
HANDLER(EmcSwizzleRank0Byte1, 173, 10:8, 8:6) \
HANDLER(EmcSwizzleRank0Byte1, 173, 14:12, 11:9) \
HANDLER(EmcSwizzleRank0Byte1, 173, 18:16, 14:12) \
HANDLER(EmcSwizzleRank0Byte1, 173, 22:20, 17:15) \
HANDLER(McEmemArbTimingR2R, 173, 4:0, 22:18) \
HANDLER(McEmemArbTimingW2W, 173, 4:0, 27:23) \
HANDLER(EmcPmacroTxPwrd3, 173, 27:24, 31:28) \
HANDLER(EmcSwizzleRank0Byte2, 174, 2:0, 2:0) \
HANDLER(EmcSwizzleRank0Byte2, 174, 6:4, 5:3) \
HANDLER(EmcSwizzleRank0Byte2, 174, 10:8, 8:6) \
HANDLER(EmcSwizzleRank0Byte2, 174, 14:12, 11:9) \
HANDLER(EmcSwizzleRank0Byte2, 174, 18:16, 14:12) \
HANDLER(EmcSwizzleRank0Byte2, 174, 22:20, 17:15) \
HANDLER(EmcPmacroTxPwrd3, 174, 29:28, 19:18) \
HANDLER(EmcPmacroTxSelClkSrc0, 174, 11:0, 31:20) \
HANDLER(EmcSwizzleRank0Byte3, 175, 2:0, 2:0) \
HANDLER(EmcSwizzleRank0Byte3, 175, 6:4, 5:3) \
HANDLER(EmcSwizzleRank0Byte3, 175, 10:8, 8:6) \
HANDLER(EmcSwizzleRank0Byte3, 175, 14:12, 11:9) \
HANDLER(EmcSwizzleRank0Byte3, 175, 18:16, 14:12) \
HANDLER(EmcSwizzleRank0Byte3, 175, 22:20, 17:15) \
HANDLER(EmcPmacroTxSelClkSrc0, 175, 27:16, 29:18) \
HANDLER(EmcPmacroTxSelClkSrc1, 175, 1:0, 31:30) \
HANDLER(EmcSwizzleRank1Byte0, 176, 2:0, 2:0) \
HANDLER(EmcSwizzleRank1Byte0, 176, 6:4, 5:3) \
HANDLER(EmcSwizzleRank1Byte0, 176, 10:8, 8:6) \
HANDLER(EmcSwizzleRank1Byte0, 176, 14:12, 11:9) \
HANDLER(EmcSwizzleRank1Byte0, 176, 18:16, 14:12) \
HANDLER(EmcSwizzleRank1Byte0, 176, 22:20, 17:15) \
HANDLER(EmcPmacroTxSelClkSrc1, 176, 11:2, 27:18) \
HANDLER(EmcPmacroTxSelClkSrc1, 176, 19:16, 31:28) \
HANDLER(EmcSwizzleRank1Byte1, 177, 2:0, 2:0) \
HANDLER(EmcSwizzleRank1Byte1, 177, 6:4, 5:3) \
HANDLER(EmcSwizzleRank1Byte1, 177, 10:8, 8:6) \
HANDLER(EmcSwizzleRank1Byte1, 177, 14:12, 11:9) \
HANDLER(EmcSwizzleRank1Byte1, 177, 18:16, 14:12) \
HANDLER(EmcSwizzleRank1Byte1, 177, 22:20, 17:15) \
HANDLER(EmcPmacroTxSelClkSrc1, 177, 27:20, 25:18) \
HANDLER(EmcPmacroTxSelClkSrc3, 177, 5:0, 31:26) \
HANDLER(EmcSwizzleRank1Byte2, 178, 2:0, 2:0) \
HANDLER(EmcSwizzleRank1Byte2, 178, 6:4, 5:3) \
HANDLER(EmcSwizzleRank1Byte2, 178, 10:8, 8:6) \
HANDLER(EmcSwizzleRank1Byte2, 178, 14:12, 11:9) \
HANDLER(EmcSwizzleRank1Byte2, 178, 18:16, 14:12) \
HANDLER(EmcSwizzleRank1Byte2, 178, 22:20, 17:15) \
HANDLER(EmcPmacroTxSelClkSrc3, 178, 11:6, 23:18) \
HANDLER(EmcPmacroTxSelClkSrc3, 178, 23:16, 31:24) \
HANDLER(EmcSwizzleRank1Byte3, 179, 2:0, 2:0) \
HANDLER(EmcSwizzleRank1Byte3, 179, 6:4, 5:3) \
HANDLER(EmcSwizzleRank1Byte3, 179, 10:8, 8:6) \
HANDLER(EmcSwizzleRank1Byte3, 179, 14:12, 11:9) \
HANDLER(EmcSwizzleRank1Byte3, 179, 18:16, 14:12) \
HANDLER(EmcSwizzleRank1Byte3, 179, 22:20, 17:15) \
HANDLER(EmcPmacroTxSelClkSrc3, 179, 27:24, 21:18) \
HANDLER(EmcPmacroTxSelClkSrc2, 179, 9:0, 31:22) \
HANDLER(EmcPmacroCmdBrickCtrlFdpd, 180, 17:0, 17:0) \
HANDLER(EmcPmacroTxSelClkSrc2, 180, 11:10, 19:18) \
HANDLER(EmcPmacroTxSelClkSrc2, 180, 27:16, 31:20) \
HANDLER(EmcPmacroDataBrickCtrlFdpd, 181, 17:0, 17:0) \
HANDLER(EmcPmacroTxSelClkSrc4, 181, 11:0, 29:18) \
HANDLER(EmcPmacroTxSelClkSrc4, 181, 17:16, 31:30) \
HANDLER(EmcFbioCfg7, 182, 16:0, 16:0) \
HANDLER(McEmemArbRefpbBankCtrl, 182, 6:0, 23:17) \
HANDLER(McEmemArbRefpbBankCtrl, 182, 14:8, 30:24) \
HANDLER(McEmemArbRefpbBankCtrl, 182, 31:31, 31:31) \
HANDLER(EmcDynSelfRefControl, 183, 15:0, 15:0) \
HANDLER(EmcDynSelfRefControl, 183, 31:31, 16:16) \
HANDLER(EmcPmacroTxSelClkSrc4, 183, 27:18, 26:17) \
HANDLER(EmcPmacroTxSelClkSrc5, 183, 4:0, 31:27) \
HANDLER(EmcDllCfg1, 184, 16:0, 16:0) \
HANDLER(EmcPmacroTxSelClkSrc5, 184, 11:5, 23:17) \
HANDLER(EmcPmacroTxSelClkSrc5, 184, 23:16, 31:24) \
HANDLER(EmcPmacroPadCfgCtrl, 185, 1:0, 1:0) \
HANDLER(EmcPmacroPadCfgCtrl, 185, 6:5, 3:2) \
HANDLER(EmcPmacroPadCfgCtrl, 185, 11:9, 6:4) \
HANDLER(EmcPmacroPadCfgCtrl, 185, 13:13, 7:7) \
HANDLER(EmcPmacroPadCfgCtrl, 185, 17:16, 9:8) \
HANDLER(EmcPmacroPadCfgCtrl, 185, 21:20, 11:10) \
HANDLER(EmcPmacroPadCfgCtrl, 185, 25:24, 13:12) \
HANDLER(EmcPmacroPadCfgCtrl, 185, 30:28, 16:14) \
HANDLER(EmcPmacroTxSelClkSrc5, 185, 27:24, 20:17) \
HANDLER(EmcPmacroCmdPadTxCtrl, 185, 1:0, 22:21) \
HANDLER(EmcPmacroCmdPadTxCtrl, 185, 5:4, 24:23) \
HANDLER(EmcPmacroCmdPadTxCtrl, 185, 9:8, 26:25) \
HANDLER(EmcPmacroCmdPadTxCtrl, 185, 13:12, 28:27) \
HANDLER(EmcPmacroCmdPadTxCtrl, 185, 16:16, 29:29) \
HANDLER(EmcPmacroCmdPadTxCtrl, 185, 21:20, 31:30) \
HANDLER(EmcRefresh, 186, 15:0, 15:0) \
HANDLER(EmcCmdQ, 186, 4:0, 20:16) \
HANDLER(EmcCmdQ, 186, 10:8, 23:21) \
HANDLER(EmcCmdQ, 186, 14:12, 26:24) \
HANDLER(EmcCmdQ, 186, 28:24, 31:27) \
HANDLER(EmcAcpdControl, 187, 15:0, 15:0) \
HANDLER(EmcAutoCalVrefSel1, 187, 15:0, 31:16) \
HANDLER(EmcXm2CompPadCtrl, 188, 1:0, 1:0) \
HANDLER(EmcXm2CompPadCtrl, 188, 6:3, 5:2) \
HANDLER(EmcXm2CompPadCtrl, 188, 9:9, 6:6) \
HANDLER(EmcXm2CompPadCtrl, 188, 19:11, 15:7) \
HANDLER(EmcCfgDigDllPeriod, 188, 15:0, 31:16) \
HANDLER(EmcCfgDigDll_1, 189, 15:0, 15:0) \
HANDLER(EmcPreRefreshReqCnt, 189, 15:0, 31:16) \
HANDLER(EmcPmacroCmdPadTxCtrl, 190, 27:24, 19:16) \
HANDLER(EmcPmacroDataPadTxCtrl, 190, 1:0, 21:20) \
HANDLER(EmcPmacroDataPadTxCtrl, 190, 5:4, 23:22) \
HANDLER(EmcPmacroDataPadTxCtrl, 190, 9:8, 25:24) \
HANDLER(EmcPmacroDataPadTxCtrl, 190, 13:12, 27:26) \
HANDLER(EmcPmacroDataPadTxCtrl, 190, 16:16, 28:28) \
HANDLER(EmcPmacroDataPadTxCtrl, 190, 21:20, 30:29) \
HANDLER(EmcPmacroDataPadTxCtrl, 190, 24:24, 31:31) \
HANDLER(EmcPmacroDataPadTxCtrl, 191, 27:25, 2:0) \
HANDLER(EmcPinGpio, 8, 1:0, 31:30) \
HANDLER(EmcPinGpioEn, 9, 1:0, 31:30) \
HANDLER(EmcDevSelect, 10, 1:0, 31:30) \
HANDLER(EmcZcalWarmColdBootEnables, 11, 1:0, 31:30) \
HANDLER(EmcCfgDigDllPeriodWarmBoot, 12, 1:0, 31:30) \
HANDLER(EmcBctSpare13, 31, 31:0, 31:0) \
HANDLER(EmcBctSpare12, 32, 31:0, 31:0) \
HANDLER(EmcBctSpare7, 33, 31:0, 31:0) \
HANDLER(EmcBctSpare6, 40, 31:0, 31:0) \
HANDLER(EmcBctSpare5, 42, 31:0, 31:0) \
HANDLER(EmcBctSpare4, 44, 31:0, 31:0) \
HANDLER(EmcBctSpare3, 45, 31:0, 31:0) \
HANDLER(EmcBctSpare2, 46, 31:0, 31:0) \
HANDLER(EmcBctSpare1, 47, 31:0, 31:0) \
HANDLER(EmcBctSpare0, 48, 31:0, 31:0) \
HANDLER(EmcBctSpare9, 50, 31:0, 31:0) \
HANDLER(EmcBctSpare8, 51, 31:0, 31:0) \
HANDLER(BootRomPatchData, 56, 31:0, 31:0) \
HANDLER(BootRomPatchControl, 57, 31:0, 31:0) \
HANDLER(McClkenOverrideAllWarmBoot, 58, 0:0, 31:31) \
HANDLER(EmcClkenOverrideAllWarmBoot, 59, 0:0, 30:30) \
HANDLER(EmcMrsWarmBootEnable, 59, 0:0, 31:31) \
HANDLER(ClearClk2Mc1, 60, 0:0, 30:30) \
HANDLER(EmcWarmBootExtraModeRegWriteEnable, 60, 0:0, 31:31) \
HANDLER(ClkRstControllerPllmMisc2OverrideEnable, 61, 0:0, 30:30) \
HANDLER(EmcDbgWriteMux, 61, 0:0, 31:31) \
HANDLER(EmcExtraRefreshNum, 62, 2:0, 31:29) \
HANDLER(PmcIoDpd3ReqWait, 68, 2:0, 30:28) \
HANDLER(AhbArbitrationXbarCtrlMemInitDone, 68, 0:0, 31:31) \
HANDLER(MemoryType, 69, 2:0, 30:28) \
HANDLER(PmcIoDpd4ReqWait, 70, 2:0, 30:28) \
HANDLER(EmcTimingControlWait, 86, 7:0, 31:24) \
HANDLER(EmcZcalWarmBootWait, 87, 7:0, 31:24) \
HANDLER(WarmBootWait, 88, 7:0, 31:24) \
HANDLER(EmcPinProgramWait, 89, 7:0, 31:24) \
HANDLER(EmcAutoCalWait, 101, 9:0, 31:22) \
HANDLER(SwizzleRankByteEncode, 190, 15:0, 15:0) \
\
/* PMC SCRATCH fields for LPDDR2. */ \
HANDLER(EmcMrwLpddr2ZcalWarmBoot, 5, 23:16, 7:0) \
HANDLER(EmcMrwLpddr2ZcalWarmBoot, 5, 7:0, 15:8) \
HANDLER(EmcWarmBootMrwExtra, 5, 23:16, 23:16) \
HANDLER(EmcWarmBootMrwExtra, 5, 7:0, 31:24) \
HANDLER(EmcMrwLpddr2ZcalWarmBoot, 6, 31:30, 1:0) \
HANDLER(EmcWarmBootMrwExtra, 6, 31:30, 3:2) \
HANDLER(EmcMrwLpddr2ZcalWarmBoot, 6, 27:26, 5:4) \
HANDLER(EmcWarmBootMrwExtra, 6, 27:26, 7:6) \
HANDLER(EmcMrw6, 8, 27:0, 27:0) \
HANDLER(EmcMrw6, 8, 31:30, 29:28) \
HANDLER(EmcMrw8, 9, 27:0, 27:0) \
HANDLER(EmcMrw8, 9, 31:30, 29:28) \
HANDLER(EmcMrw9, 10, 27:0, 27:0) \
HANDLER(EmcMrw9, 10, 31:30, 29:28) \
HANDLER(EmcMrw10, 11, 27:0, 27:0) \
HANDLER(EmcMrw10, 11, 31:30, 29:28) \
HANDLER(EmcMrw12, 12, 27:0, 27:0) \
HANDLER(EmcMrw12, 12, 31:30, 29:28) \
HANDLER(EmcMrw13, 13, 27:0, 27:0) \
HANDLER(EmcMrw13, 13, 31:30, 29:28) \
HANDLER(EmcMrw14, 14, 27:0, 27:0) \
HANDLER(EmcMrw14, 14, 31:30, 29:28) \
HANDLER(EmcMrw1, 15, 7:0, 7:0) \
HANDLER(EmcMrw1, 15, 23:16, 15:8) \
HANDLER(EmcMrw1, 15, 27:26, 17:16) \
HANDLER(EmcMrw1, 15, 31:30, 19:18) \
HANDLER(EmcWarmBootMrwExtra, 16, 7:0, 7:0) \
HANDLER(EmcWarmBootMrwExtra, 16, 23:16, 15:8) \
HANDLER(EmcWarmBootMrwExtra, 16, 27:26, 17:16) \
HANDLER(EmcWarmBootMrwExtra, 16, 31:30, 19:18) \
HANDLER(EmcMrw2, 17, 7:0, 7:0) \
HANDLER(EmcMrw2, 17, 23:16, 15:8) \
HANDLER(EmcMrw2, 17, 27:26, 17:16) \
HANDLER(EmcMrw2, 17, 31:30, 19:18) \
HANDLER(EmcMrw3, 18, 7:0, 7:0) \
HANDLER(EmcMrw3, 18, 23:16, 15:8) \
HANDLER(EmcMrw3, 18, 27:26, 17:16) \
HANDLER(EmcMrw3, 18, 31:30, 19:18) \
HANDLER(EmcMrw4, 19, 7:0, 7:0) \
HANDLER(EmcMrw4, 19, 23:16, 15:8) \
HANDLER(EmcMrw4, 19, 27:26, 17:16) \
HANDLER(EmcMrw4, 19, 31:30, 19:18)
#define FOREACH_SDRAM_SECURE_SCRATCH_REGISTER_ERISTA(HANDLER) \
/* PMC SECURE_SCRATCH fields. */ \
HANDLER(EmcCmdMappingByte, 8, 31:0, 31:0) \
HANDLER(EmcPmacroBrickMapping0, 9, 31:0, 31:0) \
HANDLER(EmcPmacroBrickMapping1, 10, 31:0, 31:0) \
HANDLER(EmcPmacroBrickMapping2, 11, 31:0, 31:0) \
HANDLER(McVideoProtectGpuOverride0, 12, 31:0, 31:0) \
HANDLER(EmcCmdMappingCmd0_0, 13, 6:0, 6:0) \
HANDLER(EmcCmdMappingCmd0_0, 13, 14:8, 13:7) \
HANDLER(EmcCmdMappingCmd0_0, 13, 22:16, 20:14) \
HANDLER(EmcCmdMappingCmd0_0, 13, 30:24, 27:21) \
HANDLER(McVideoProtectBomAdrHi, 13, 1:0, 29:28) \
HANDLER(McVideoProtectWriteAccess, 13, 1:0, 31:30) \
HANDLER(EmcCmdMappingCmd0_1, 14, 6:0, 6:0) \
HANDLER(EmcCmdMappingCmd0_1, 14, 14:8, 13:7) \
HANDLER(EmcCmdMappingCmd0_1, 14, 22:16, 20:14) \
HANDLER(EmcCmdMappingCmd0_1, 14, 30:24, 27:21) \
HANDLER(McSecCarveoutAdrHi, 14, 1:0, 29:28) \
HANDLER(McMtsCarveoutAdrHi, 14, 1:0, 31:30) \
HANDLER(EmcCmdMappingCmd1_0, 15, 6:0, 6:0) \
HANDLER(EmcCmdMappingCmd1_0, 15, 14:8, 13:7) \
HANDLER(EmcCmdMappingCmd1_0, 15, 22:16, 20:14) \
HANDLER(EmcCmdMappingCmd1_0, 15, 30:24, 27:21) \
HANDLER(McGeneralizedCarveout5BomHi, 15, 1:0, 29:28) \
HANDLER(McGeneralizedCarveout3BomHi, 15, 1:0, 31:30) \
HANDLER(EmcCmdMappingCmd1_1, 16, 6:0, 6:0) \
HANDLER(EmcCmdMappingCmd1_1, 16, 14:8, 13:7) \
HANDLER(EmcCmdMappingCmd1_1, 16, 22:16, 20:14) \
HANDLER(EmcCmdMappingCmd1_1, 16, 30:24, 27:21) \
HANDLER(McGeneralizedCarveout2BomHi, 16, 1:0, 29:28) \
HANDLER(McGeneralizedCarveout4BomHi, 16, 1:0, 31:30) \
HANDLER(EmcCmdMappingCmd2_0, 17, 6:0, 6:0) \
HANDLER(EmcCmdMappingCmd2_0, 17, 14:8, 13:7) \
HANDLER(EmcCmdMappingCmd2_0, 17, 22:16, 20:14) \
HANDLER(EmcCmdMappingCmd2_0, 17, 30:24, 27:21) \
HANDLER(McGeneralizedCarveout1BomHi, 17, 1:0, 29:28) \
HANDLER(EmcAdrCfg, 17, 0:0, 30:30) \
HANDLER(EmcFbioSpare, 17, 1:1, 31:31) \
HANDLER(EmcCmdMappingCmd2_1, 18, 6:0, 6:0) \
HANDLER(EmcCmdMappingCmd2_1, 18, 14:8, 13:7) \
HANDLER(EmcCmdMappingCmd2_1, 18, 22:16, 20:14) \
HANDLER(EmcCmdMappingCmd2_1, 18, 30:24, 27:21) \
HANDLER(EmcFbioCfg8, 18, 15:15, 28:28) \
HANDLER(McEmemAdrCfg, 18, 0:0, 29:29) \
HANDLER(McSecCarveoutProtectWriteAccess, 18, 0:0, 30:30) \
HANDLER(McMtsCarveoutRegCtrl, 18, 0:0, 31:31) \
HANDLER(EmcCmdMappingCmd3_0, 19, 6:0, 6:0) \
HANDLER(EmcCmdMappingCmd3_0, 19, 14:8, 13:7) \
HANDLER(EmcCmdMappingCmd3_0, 19, 22:16, 20:14) \
HANDLER(EmcCmdMappingCmd3_0, 19, 30:24, 27:21) \
HANDLER(McGeneralizedCarveout2Cfg0, 19, 6:3, 31:28) \
HANDLER(EmcCmdMappingCmd3_1, 20, 6:0, 6:0) \
HANDLER(EmcCmdMappingCmd3_1, 20, 14:8, 13:7) \
HANDLER(EmcCmdMappingCmd3_1, 20, 22:16, 20:14) \
HANDLER(EmcCmdMappingCmd3_1, 20, 30:24, 27:21) \
HANDLER(McGeneralizedCarveout2Cfg0, 20, 10:7, 31:28) \
HANDLER(McGeneralizedCarveout4Cfg0, 39, 26:0, 26:0) \
HANDLER(McGeneralizedCarveout2Cfg0, 39, 17:14, 30:27) \
HANDLER(McVideoProtectVprOverride, 39, 0:0, 31:31) \
HANDLER(McGeneralizedCarveout5Cfg0, 40, 26:0, 26:0) \
HANDLER(McGeneralizedCarveout2Cfg0, 40, 21:18, 30:27) \
HANDLER(McVideoProtectVprOverride, 40, 1:1, 31:31) \
HANDLER(EmcCmdMappingCmd0_2, 41, 6:0, 6:0) \
HANDLER(EmcCmdMappingCmd0_2, 41, 14:8, 13:7) \
HANDLER(EmcCmdMappingCmd0_2, 41, 22:16, 20:14) \
HANDLER(EmcCmdMappingCmd0_2, 41, 27:24, 24:21) \
HANDLER(McGeneralizedCarveout1Cfg0, 41, 6:3, 28:25) \
HANDLER(McGeneralizedCarveout2Cfg0, 41, 13:11, 31:29) \
HANDLER(EmcCmdMappingCmd1_2, 42, 6:0, 6:0) \
HANDLER(EmcCmdMappingCmd1_2, 42, 14:8, 13:7) \
HANDLER(EmcCmdMappingCmd1_2, 42, 22:16, 20:14) \
HANDLER(EmcCmdMappingCmd1_2, 42, 27:24, 24:21) \
HANDLER(McGeneralizedCarveout1Cfg0, 42, 13:7, 31:25) \
HANDLER(EmcCmdMappingCmd2_2, 43, 6:0, 6:0) \
HANDLER(EmcCmdMappingCmd2_2, 43, 14:8, 13:7) \
HANDLER(EmcCmdMappingCmd2_2, 43, 22:16, 20:14) \
HANDLER(EmcCmdMappingCmd2_2, 43, 27:24, 24:21) \
HANDLER(McGeneralizedCarveout1Cfg0, 43, 17:14, 28:25) \
HANDLER(McGeneralizedCarveout3Cfg0, 43, 13:11, 31:29) \
HANDLER(EmcCmdMappingCmd3_2, 44, 6:0, 6:0) \
HANDLER(EmcCmdMappingCmd3_2, 44, 14:8, 13:7) \
HANDLER(EmcCmdMappingCmd3_2, 44, 22:16, 20:14) \
HANDLER(EmcCmdMappingCmd3_2, 44, 27:24, 24:21) \
HANDLER(McGeneralizedCarveout1Cfg0, 44, 21:18, 28:25) \
HANDLER(McVideoProtectVprOverride, 44, 3:2, 30:29) \
HANDLER(McVideoProtectVprOverride, 44, 6:6, 31:31) \
HANDLER(McEmemAdrCfgChannelMask, 45, 31:9, 22:0) \
HANDLER(McEmemAdrCfgDev0, 45, 2:0, 25:23) \
HANDLER(McEmemAdrCfgDev0, 45, 9:8, 27:26) \
HANDLER(McEmemAdrCfgDev0, 45, 19:16, 31:28) \
HANDLER(McEmemAdrCfgBankMask0, 46, 31:10, 21:0) \
HANDLER(McEmemAdrCfgDev1, 46, 2:0, 24:22) \
HANDLER(McEmemAdrCfgDev1, 46, 9:8, 26:25) \
HANDLER(McEmemAdrCfgDev1, 46, 19:16, 30:27) \
HANDLER(McVideoProtectVprOverride, 46, 7:7, 31:31) \
HANDLER(McEmemAdrCfgBankMask1, 47, 31:10, 21:0) \
HANDLER(McGeneralizedCarveout3Cfg0, 47, 10:3, 29:22) \
HANDLER(McVideoProtectVprOverride, 47, 9:8, 31:30) \
HANDLER(McEmemAdrCfgBankMask2, 48, 31:10, 21:0) \
HANDLER(McGeneralizedCarveout3Cfg0, 48, 21:14, 29:22) \
HANDLER(McVideoProtectVprOverride, 48, 11:11, 30:30) \
HANDLER(McVideoProtectVprOverride, 48, 14:14, 31:31) \
HANDLER(McVideoProtectGpuOverride1, 49, 15:0, 15:0) \
HANDLER(McEmemCfg, 49, 13:0, 29:16) \
HANDLER(McEmemCfg, 49, 31:31, 30:30) \
HANDLER(McVideoProtectVprOverride, 49, 15:15, 31:31) \
HANDLER(McGeneralizedCarveout3Bom, 50, 31:17, 14:0) \
HANDLER(McGeneralizedCarveout1Bom, 50, 31:17, 29:15) \
HANDLER(McVideoProtectVprOverride, 50, 18:17, 31:30) \
HANDLER(McGeneralizedCarveout4Bom, 51, 31:17, 14:0) \
HANDLER(McGeneralizedCarveout2Bom, 51, 31:17, 29:15) \
HANDLER(McVideoProtectVprOverride, 51, 20:19, 31:30) \
HANDLER(McGeneralizedCarveout5Bom, 52, 31:17, 14:0) \
HANDLER(McVideoProtectBom, 52, 31:20, 26:15) \
HANDLER(McVideoProtectVprOverride, 52, 23:21, 29:27) \
HANDLER(McVideoProtectVprOverride, 52, 26:26, 30:30) \
HANDLER(McVideoProtectVprOverride, 52, 29:29, 31:31) \
HANDLER(McVideoProtectSizeMb, 53, 11:0, 11:0) \
HANDLER(McSecCarveoutBom, 53, 31:20, 23:12) \
HANDLER(McVideoProtectVprOverride, 53, 31:30, 25:24) \
HANDLER(McVideoProtectVprOverride1, 53, 1:0, 27:26) \
HANDLER(McVideoProtectVprOverride1, 53, 7:4, 31:28) \
HANDLER(McSecCarveoutSizeMb, 54, 11:0, 11:0) \
HANDLER(McMtsCarveoutBom, 54, 31:20, 23:12) \
HANDLER(McVideoProtectVprOverride1, 54, 15:8, 31:24) \
HANDLER(McMtsCarveoutSizeMb, 55, 11:0, 11:0) \
HANDLER(McGeneralizedCarveout4Size128kb, 55, 11:0, 23:12) \
HANDLER(McVideoProtectVprOverride1, 55, 16:16, 24:24) \
HANDLER(McGeneralizedCarveout2Cfg0, 55, 2:0, 27:25) \
HANDLER(McGeneralizedCarveout2Cfg0, 55, 25:22, 31:28) \
HANDLER(McGeneralizedCarveout3Size128kb, 56, 11:0, 11:0) \
HANDLER(McGeneralizedCarveout2Size128kb, 56, 11:0, 23:12) \
HANDLER(McGeneralizedCarveout2Cfg0, 56, 26:26, 24:24) \
HANDLER(McGeneralizedCarveout1Cfg0, 56, 2:0, 27:25) \
HANDLER(McGeneralizedCarveout1Cfg0, 56, 25:22, 31:28) \
HANDLER(McGeneralizedCarveout1Size128kb, 57, 11:0, 11:0) \
HANDLER(McGeneralizedCarveout5Size128kb, 57, 11:0, 23:12) \
HANDLER(McGeneralizedCarveout1Cfg0, 57, 26:26, 24:24) \
HANDLER(McGeneralizedCarveout3Cfg0, 57, 2:0, 27:25) \
HANDLER(McGeneralizedCarveout3Cfg0, 57, 25:22, 31:28) \
HANDLER(McGeneralizedCarveout3Cfg0, 58, 26:26, 0:0) \
HANDLER(McGeneralizedCarveout1Access0, 59, 31:0, 31:0) \
HANDLER(McGeneralizedCarveout1Access1, 60, 31:0, 31:0) \
HANDLER(McGeneralizedCarveout1Access2, 61, 31:0, 31:0) \
HANDLER(McGeneralizedCarveout1Access3, 62, 31:0, 31:0) \
HANDLER(McGeneralizedCarveout1Access4, 63, 31:0, 31:0) \
HANDLER(McGeneralizedCarveout2Access0, 64, 31:0, 31:0) \
HANDLER(McGeneralizedCarveout2Access1, 65, 31:0, 31:0) \
HANDLER(McGeneralizedCarveout2Access2, 66, 31:0, 31:0) \
HANDLER(McGeneralizedCarveout2Access3, 67, 31:0, 31:0) \
HANDLER(McGeneralizedCarveout2Access4, 68, 31:0, 31:0) \
HANDLER(McGeneralizedCarveout3Access0, 69, 31:0, 31:0) \
HANDLER(McGeneralizedCarveout3Access1, 70, 31:0, 31:0) \
HANDLER(McGeneralizedCarveout3Access2, 71, 31:0, 31:0) \
HANDLER(McGeneralizedCarveout3Access3, 72, 31:0, 31:0) \
HANDLER(McGeneralizedCarveout3Access4, 73, 31:0, 31:0) \
HANDLER(McGeneralizedCarveout4Access0, 74, 31:0, 31:0) \
HANDLER(McGeneralizedCarveout4Access1, 75, 31:0, 31:0) \
HANDLER(McGeneralizedCarveout4Access2, 76, 31:0, 31:0) \
HANDLER(McGeneralizedCarveout4Access3, 77, 31:0, 31:0) \
HANDLER(McGeneralizedCarveout4Access4, 78, 31:0, 31:0) \
HANDLER(McGeneralizedCarveout5Access0, 79, 31:0, 31:0) \
HANDLER(McGeneralizedCarveout5Access1, 80, 31:0, 31:0) \
HANDLER(McGeneralizedCarveout5Access2, 81, 31:0, 31:0) \
HANDLER(McGeneralizedCarveout5Access3, 82, 31:0, 31:0) \
HANDLER(McGeneralizedCarveout1ForceInternalAccess0, 84, 31:0, 31:0) \
HANDLER(McGeneralizedCarveout1ForceInternalAccess1, 85, 31:0, 31:0) \
HANDLER(McGeneralizedCarveout1ForceInternalAccess2, 86, 31:0, 31:0) \
HANDLER(McGeneralizedCarveout1ForceInternalAccess3, 87, 31:0, 31:0) \
HANDLER(McGeneralizedCarveout1ForceInternalAccess4, 88, 31:0, 31:0) \
HANDLER(McGeneralizedCarveout2ForceInternalAccess0, 89, 31:0, 31:0) \
HANDLER(McGeneralizedCarveout2ForceInternalAccess1, 90, 31:0, 31:0) \
HANDLER(McGeneralizedCarveout2ForceInternalAccess2, 91, 31:0, 31:0) \
HANDLER(McGeneralizedCarveout2ForceInternalAccess3, 92, 31:0, 31:0) \
HANDLER(McGeneralizedCarveout2ForceInternalAccess4, 93, 31:0, 31:0) \
HANDLER(McGeneralizedCarveout3ForceInternalAccess0, 94, 31:0, 31:0) \
HANDLER(McGeneralizedCarveout3ForceInternalAccess1, 95, 31:0, 31:0) \
HANDLER(McGeneralizedCarveout3ForceInternalAccess2, 96, 31:0, 31:0) \
HANDLER(McGeneralizedCarveout3ForceInternalAccess3, 97, 31:0, 31:0) \
HANDLER(McGeneralizedCarveout3ForceInternalAccess4, 98, 31:0, 31:0) \
HANDLER(McGeneralizedCarveout4ForceInternalAccess0, 99, 31:0, 31:0) \
HANDLER(McGeneralizedCarveout4ForceInternalAccess1, 100, 31:0, 31:0) \
HANDLER(McGeneralizedCarveout4ForceInternalAccess2, 101, 31:0, 31:0) \
HANDLER(McGeneralizedCarveout4ForceInternalAccess3, 102, 31:0, 31:0) \
HANDLER(McGeneralizedCarveout4ForceInternalAccess4, 103, 31:0, 31:0) \
HANDLER(McGeneralizedCarveout5ForceInternalAccess0, 104, 31:0, 31:0) \
HANDLER(McGeneralizedCarveout5ForceInternalAccess1, 105, 31:0, 31:0) \
HANDLER(McGeneralizedCarveout5ForceInternalAccess2, 106, 31:0, 31:0) \
HANDLER(McGeneralizedCarveout5ForceInternalAccess3, 107, 31:0, 31:0)

File diff suppressed because it is too large Load diff

View file

@ -17,6 +17,12 @@ def write_file(fn, data):
with open(fn, 'wb') as f: with open(fn, 'wb') as f:
f.write(data) f.write(data)
def get_param_size(soc):
return {
'erista' : 0x768,
'mariko' : 0x838,
}[soc]
def main(argc, argv): def main(argc, argv):
if argc != 1: if argc != 1:
print('Usage: %s' % argv[0]) print('Usage: %s' % argv[0])
@ -25,14 +31,30 @@ def main(argc, argv):
'erista' : {}, 'erista' : {},
'mariko' : {}, 'mariko' : {},
} }
compressed_params = {
'erista' : {},
'mariko' : {},
}
for fn in os.listdir('sdram_params/bin'): for fn in os.listdir('sdram_params/bin'):
assert fn.startswith('sdram_params_') and fn.endswith('.bin') assert fn.startswith('sdram_params_') and fn.endswith('.bin')
(_sdram, _params, soc, _id_bin) = tuple(fn.split('_')) (_sdram, _params, soc, _id_bin) = tuple(fn.split('_'))
param_id = int(_id_bin[:-len('.bin')]) param_id = int(_id_bin[:-len('.bin')])
assert soc in params.keys() assert soc in params.keys()
compressed = lz4_compress(read_file(os.path.join('sdram_params/bin', fn))) uncompressed = read_file(os.path.join('sdram_params/bin', fn))
write_file(os.path.join('sdram_params/lz', fn.replace('.bin', '.lz4')), compressed) assert len(uncompressed) == get_param_size(soc)
params[soc][param_id] = compressed params[soc][param_id] = uncompressed
for soc in ('erista', 'mariko'):
empty_params = '\x00' * get_param_size(soc)
for param_id in xrange(0, max(params[soc].keys()) + 4, 2):
param_id_l = param_id
param_id_h = param_id + 1
if param_id_l in params[soc] or param_id_h in params[soc]:
print soc, param_id_l, param_id_h
param_l = params[soc][param_id_l] if param_id_l in params[soc] else empty_params
param_h = params[soc][param_id_h] if param_id_h in params[soc] else empty_params
compressed = lz4_compress(param_l + param_h)
compressed_params[soc][(param_id_l, param_id_h)] = compressed
write_file(os.path.join('sdram_params/lz', 'sdram_params_%s_%d_%d.lz4' % (soc, param_id_l, param_id_h)), compressed)
with open('source/fusee_sdram_params.inc', 'w') as f: with open('source/fusee_sdram_params.inc', 'w') as f:
f.write('%s\n' % "/*") f.write('%s\n' % "/*")
f.write('%s\n' % " * Copyright (c) 2018-2020 Atmosph\xc3re-NX") f.write('%s\n' % " * Copyright (c) 2018-2020 Atmosph\xc3re-NX")
@ -51,14 +73,20 @@ def main(argc, argv):
f.write('%s\n' % " */") f.write('%s\n' % " */")
f.write('\n') f.write('\n')
for soc in ('Erista', 'Mariko'): for soc in ('Erista', 'Mariko'):
for param_id in sorted(params[soc.lower()].keys()): for (param_id_l, param_id_h) in sorted(compressed_params[soc.lower()].keys(), key=lambda (l, h): l):
compressed = params[soc.lower()][param_id] compressed = compressed_params[soc.lower()][(param_id_l, param_id_h)]
f.write('%s\n' % ('constexpr inline const u8 SdramParams%s%d[0x%03X] = {' % (soc, param_id, len(compressed)))) f.write('%s\n' % ('constexpr inline const u8 SdramParams%s%d_%d[0x%03X] = {' % (soc, param_id_l, param_id_h, len(compressed))))
while compressed: while compressed:
block = compressed[:0x10] block = compressed[:0x10]
compressed = compressed[0x10:] compressed = compressed[0x10:]
f.write(' %s\n' % (', '.join('0x%02X' % ord(c) for c in block) + ',')) f.write(' %s\n' % (', '.join('0x%02X' % ord(c) for c in block) + ','))
f.write('};\n\n') f.write('};\n\n')
f.write('%s\n' % ('constexpr inline const u8 * const SdramParams%s%d = SdramParams%s%d_%d;' % (soc, param_id_l, soc, param_id_l, param_id_h)))
f.write('%s\n' % ('constexpr inline const size_t SdramParamsSize%s%d = sizeof(SdramParams%s%d_%d);' % (soc, param_id_l, soc, param_id_l, param_id_h)))
f.write('\n')
f.write('%s\n' % ('constexpr inline const u8 * const SdramParams%s%d = SdramParams%s%d_%d;' % (soc, param_id_h, soc, param_id_l, param_id_h)))
f.write('%s\n' % ('constexpr inline const size_t SdramParamsSize%s%d = sizeof(SdramParams%s%d_%d);' % (soc, param_id_h, soc, param_id_l, param_id_h)))
f.write('\n')
return 0 return 0
if __name__ == '__main__': if __name__ == '__main__':

View file

@ -72,3 +72,22 @@ __gnu_thumb1_case_si:
bx lr bx lr
.type __gnu_thumb1_case_si, %function .type __gnu_thumb1_case_si, %function
.size __gnu_thumb1_case_si, .-__gnu_thumb1_case_si .size __gnu_thumb1_case_si, .-__gnu_thumb1_case_si
.section .text.__gnu_thumb1_case_shi, "ax", %progbits
.globl __gnu_thumb1_case_shi
.align 0
.thumb_func
.syntax unified
__gnu_thumb1_case_shi:
push {r0, r1}
mov r1, lr
lsrs r1, r1, #1
lsls r0, r0, #1
lsls r1, r1, #1
ldrsh r1, [r1, r0]
lsls r1, r1, #1
add lr, lr, r1
pop {r0, r1}
bx lr
.type __gnu_thumb1_case_shi, %function
.size __gnu_thumb1_case_shi, .-__gnu_thumb1_case_shi

View file

@ -36,23 +36,11 @@
#define APBDEV_PMC_BLINK_TIMER (0x040) #define APBDEV_PMC_BLINK_TIMER (0x040)
#define APBDEV_PMC_NO_IOPOWER (0x044) #define APBDEV_PMC_NO_IOPOWER (0x044)
#define APBDEV_PMC_PWR_DET (0x048) #define APBDEV_PMC_PWR_DET (0x048)
#define APBDEV_PMC_SCRATCH0 (0x050)
#define APBDEV_PMC_SCRATCH1 (0x054)
#define APBDEV_PMC_SCRATCH4 (0x060)
#define APBDEV_PMC_SCRATCH12 (0x080)
#define APBDEV_PMC_SCRATCH13 (0x084)
#define APBDEV_PMC_SCRATCH18 (0x098)
#define APBDEV_PMC_SCRATCH20 (0x0A0)
#define APBDEV_PMC_AUTO_WAKE_LVL_MASK (0x0DC) #define APBDEV_PMC_AUTO_WAKE_LVL_MASK (0x0DC)
#define APBDEV_PMC_WAKE_DELAY (0x0E0) #define APBDEV_PMC_WAKE_DELAY (0x0E0)
#define APBDEV_PMC_PWR_DET_VAL (0x0E4) #define APBDEV_PMC_PWR_DET_VAL (0x0E4)
#define APBDEV_PMC_DDR_PWR (0x0E8) #define APBDEV_PMC_DDR_PWR (0x0E8)
#define APBDEV_PMC_CRYPTO_OP (0x0F4) #define APBDEV_PMC_CRYPTO_OP (0x0F4)
#define APBDEV_PMC_SCRATCH31 (0x118)
#define APBDEV_PMC_SCRATCH32 (0x11C)
#define APBDEV_PMC_SCRATCH33 (0x120)
#define APBDEV_PMC_SCRATCH39 (0x138)
#define APBDEV_PMC_SCRATCH40 (0x13C)
#define APBDEV_PMC_WAKE2_MASK (0x160) #define APBDEV_PMC_WAKE2_MASK (0x160)
#define APBDEV_PMC_WAKE2_LVL (0x164) #define APBDEV_PMC_WAKE2_LVL (0x164)
#define APBDEV_PMC_WAKE2_STATUS (0x168) #define APBDEV_PMC_WAKE2_STATUS (0x168)
@ -67,9 +55,6 @@
#define APBDEV_PMC_SEL_DPD_TIM (0x1C8) #define APBDEV_PMC_SEL_DPD_TIM (0x1C8)
#define APBDEV_PMC_VDDP_SEL (0x1CC) #define APBDEV_PMC_VDDP_SEL (0x1CC)
#define APBDEV_PMC_DDR_CFG (0x1D0) #define APBDEV_PMC_DDR_CFG (0x1D0)
#define APBDEV_PMC_SCRATCH45 (0x234)
#define APBDEV_PMC_SCRATCH46 (0x238)
#define APBDEV_PMC_SCRATCH49 (0x244)
#define APBDEV_PMC_TSC_MULT (0x2B4) #define APBDEV_PMC_TSC_MULT (0x2B4)
#define APBDEV_PMC_STICKY_BITS (0x2C0) #define APBDEV_PMC_STICKY_BITS (0x2C0)
#define APBDEV_PMC_WEAK_BIAS (0x2C8) #define APBDEV_PMC_WEAK_BIAS (0x2C8)
@ -84,6 +69,7 @@
#define APBDEV_PMC_SET_SW_CLAMP (0x47C) #define APBDEV_PMC_SET_SW_CLAMP (0x47C)
#define APBDEV_PMC_WAKE_DEBOUNCE_EN (0x4D8) #define APBDEV_PMC_WAKE_DEBOUNCE_EN (0x4D8)
#define APBDEV_PMC_DDR_CNTRL (0x4E4) #define APBDEV_PMC_DDR_CNTRL (0x4E4)
#define APBDEV_PMC_SEC_DISABLE (0x004) #define APBDEV_PMC_SEC_DISABLE (0x004)
#define APBDEV_PMC_SEC_DISABLE2 (0x2C4) #define APBDEV_PMC_SEC_DISABLE2 (0x2C4)
#define APBDEV_PMC_SEC_DISABLE3 (0x2D8) #define APBDEV_PMC_SEC_DISABLE3 (0x2D8)
@ -92,48 +78,455 @@
#define APBDEV_PMC_SEC_DISABLE6 (0x5B8) #define APBDEV_PMC_SEC_DISABLE6 (0x5B8)
#define APBDEV_PMC_SEC_DISABLE7 (0x5BC) #define APBDEV_PMC_SEC_DISABLE7 (0x5BC)
#define APBDEV_PMC_SEC_DISABLE8 (0x5C0) #define APBDEV_PMC_SEC_DISABLE8 (0x5C0)
#define APBDEV_PMC_SCRATCH43 (0x22C)
#define APBDEV_PMC_SCRATCH188 (0x810)
#define APBDEV_PMC_SCRATCH190 (0x818)
#define APBDEV_PMC_SCRATCH200 (0x840)
#define APBDEV_PMC_SEC_DISABLE3 (0x2D8)
#define APBDEV_PMC_SECURE_SCRATCH4 (0x0C0)
#define APBDEV_PMC_SECURE_SCRATCH5 (0x0C4)
#define APBDEV_PMC_SECURE_SCRATCH6 (0x224)
#define APBDEV_PMC_SECURE_SCRATCH7 (0x228)
#define APBDEV_PMC_SECURE_SCRATCH16 (0x320)
#define APBDEV_PMC_SECURE_SCRATCH21 (0x334)
#define APBDEV_PMC_SECURE_SCRATCH24 (0x340)
#define APBDEV_PMC_SECURE_SCRATCH25 (0x344)
#define APBDEV_PMC_SECURE_SCRATCH26 (0x348)
#define APBDEV_PMC_SECURE_SCRATCH27 (0x34C)
#define APBDEV_PMC_SECURE_SCRATCH32 (0x360)
#define APBDEV_PMC_SECURE_SCRATCH34 (0x368)
#define APBDEV_PMC_SECURE_SCRATCH35 (0x36C)
#define APBDEV_PMC_SECURE_SCRATCH39 (0x37C)
#define APBDEV_PMC_SECURE_SCRATCH51 (0x3AC)
#define APBDEV_PMC_SECURE_SCRATCH55 (0x3BC)
#define APBDEV_PMC_SECURE_SCRATCH74 (0x408)
#define APBDEV_PMC_SECURE_SCRATCH75 (0x40C)
#define APBDEV_PMC_SECURE_SCRATCH76 (0x410)
#define APBDEV_PMC_SECURE_SCRATCH77 (0x414)
#define APBDEV_PMC_SECURE_SCRATCH78 (0x418)
#define APBDEV_PMC_SECURE_SCRATCH99 (0xAE4)
#define APBDEV_PMC_SECURE_SCRATCH100 (0xAE8)
#define APBDEV_PMC_SECURE_SCRATCH101 (0xAEC)
#define APBDEV_PMC_SECURE_SCRATCH102 (0xAF0)
#define APBDEV_PMC_SECURE_SCRATCH103 (0xAF4)
#define APBDEV_PMC_SECURE_SCRATCH112 (0xB18)
#define APBDEV_PMC_SECURE_SCRATCH113 (0xB1C)
#define APBDEV_PMC_SECURE_SCRATCH114 (0xB20)
#define APBDEV_PMC_SECURE_SCRATCH115 (0xB24)
#define APBDEV_PMC_SECURE_SCRATCH119 (0xB34)
/* Mariko. */ /* Mariko. */
#define APBDEV_PMC_TZRAM_PWR_CNTRL (0xBE8) #define APBDEV_PMC_TZRAM_PWR_CNTRL (0xBE8)
#define APBDEV_PMC_TZRAM_SEC_DISABLE (0xBEC) #define APBDEV_PMC_TZRAM_SEC_DISABLE (0xBEC)
#define APBDEV_PMC_TZRAM_NON_SEC_DISABLE (0xBF0) #define APBDEV_PMC_TZRAM_NON_SEC_DISABLE (0xBF0)
#define APBDEV_PMC_SCRATCH0 (0x050)
#define APBDEV_PMC_SCRATCH1 (0x054)
#define APBDEV_PMC_SCRATCH2 (0x058)
#define APBDEV_PMC_SCRATCH3 (0x05C)
#define APBDEV_PMC_SCRATCH4 (0x060)
#define APBDEV_PMC_SCRATCH5 (0x064)
#define APBDEV_PMC_SCRATCH6 (0x068)
#define APBDEV_PMC_SCRATCH7 (0x06C)
#define APBDEV_PMC_SCRATCH8 (0x070)
#define APBDEV_PMC_SCRATCH9 (0x074)
#define APBDEV_PMC_SCRATCH10 (0x078)
#define APBDEV_PMC_SCRATCH11 (0x07C)
#define APBDEV_PMC_SCRATCH12 (0x080)
#define APBDEV_PMC_SCRATCH13 (0x084)
#define APBDEV_PMC_SCRATCH14 (0x088)
#define APBDEV_PMC_SCRATCH15 (0x08C)
#define APBDEV_PMC_SCRATCH16 (0x090)
#define APBDEV_PMC_SCRATCH17 (0x094)
#define APBDEV_PMC_SCRATCH18 (0x098)
#define APBDEV_PMC_SCRATCH19 (0x09C)
#define APBDEV_PMC_SCRATCH20 (0x0A0)
#define APBDEV_PMC_SCRATCH21 (0x0A4)
#define APBDEV_PMC_SCRATCH22 (0x0A8)
#define APBDEV_PMC_SCRATCH23 (0x0AC)
#define APBDEV_PMC_SCRATCH24 (0x0FC)
#define APBDEV_PMC_SCRATCH25 (0x100)
#define APBDEV_PMC_SCRATCH26 (0x104)
#define APBDEV_PMC_SCRATCH27 (0x108)
#define APBDEV_PMC_SCRATCH28 (0x10C)
#define APBDEV_PMC_SCRATCH29 (0x110)
#define APBDEV_PMC_SCRATCH30 (0x114)
#define APBDEV_PMC_SCRATCH31 (0x118)
#define APBDEV_PMC_SCRATCH32 (0x11C)
#define APBDEV_PMC_SCRATCH33 (0x120)
#define APBDEV_PMC_SCRATCH34 (0x124)
#define APBDEV_PMC_SCRATCH35 (0x128)
#define APBDEV_PMC_SCRATCH36 (0x12C)
#define APBDEV_PMC_SCRATCH37 (0x130)
#define APBDEV_PMC_SCRATCH38 (0x134)
#define APBDEV_PMC_SCRATCH39 (0x138)
#define APBDEV_PMC_SCRATCH40 (0x13C)
#define APBDEV_PMC_SCRATCH41 (0x140)
#define APBDEV_PMC_SCRATCH42 (0x144)
#define APBDEV_PMC_SCRATCH43 (0x22C)
#define APBDEV_PMC_SCRATCH44 (0x230)
#define APBDEV_PMC_SCRATCH45 (0x234)
#define APBDEV_PMC_SCRATCH46 (0x238)
#define APBDEV_PMC_SCRATCH47 (0x23C)
#define APBDEV_PMC_SCRATCH48 (0x240)
#define APBDEV_PMC_SCRATCH49 (0x244)
#define APBDEV_PMC_SCRATCH50 (0x248)
#define APBDEV_PMC_SCRATCH51 (0x24C)
#define APBDEV_PMC_SCRATCH52 (0x250)
#define APBDEV_PMC_SCRATCH53 (0x254)
#define APBDEV_PMC_SCRATCH54 (0x258)
#define APBDEV_PMC_SCRATCH55 (0x25C)
#define APBDEV_PMC_SCRATCH56 (0x600)
#define APBDEV_PMC_SCRATCH57 (0x604)
#define APBDEV_PMC_SCRATCH58 (0x608)
#define APBDEV_PMC_SCRATCH59 (0x60C)
#define APBDEV_PMC_SCRATCH60 (0x610)
#define APBDEV_PMC_SCRATCH61 (0x614)
#define APBDEV_PMC_SCRATCH62 (0x618)
#define APBDEV_PMC_SCRATCH63 (0x61C)
#define APBDEV_PMC_SCRATCH64 (0x620)
#define APBDEV_PMC_SCRATCH65 (0x624)
#define APBDEV_PMC_SCRATCH66 (0x628)
#define APBDEV_PMC_SCRATCH67 (0x62C)
#define APBDEV_PMC_SCRATCH68 (0x630)
#define APBDEV_PMC_SCRATCH69 (0x634)
#define APBDEV_PMC_SCRATCH70 (0x638)
#define APBDEV_PMC_SCRATCH71 (0x63C)
#define APBDEV_PMC_SCRATCH72 (0x640)
#define APBDEV_PMC_SCRATCH73 (0x644)
#define APBDEV_PMC_SCRATCH74 (0x648)
#define APBDEV_PMC_SCRATCH75 (0x64C)
#define APBDEV_PMC_SCRATCH76 (0x650)
#define APBDEV_PMC_SCRATCH77 (0x654)
#define APBDEV_PMC_SCRATCH78 (0x658)
#define APBDEV_PMC_SCRATCH79 (0x65C)
#define APBDEV_PMC_SCRATCH80 (0x660)
#define APBDEV_PMC_SCRATCH81 (0x664)
#define APBDEV_PMC_SCRATCH82 (0x668)
#define APBDEV_PMC_SCRATCH83 (0x66C)
#define APBDEV_PMC_SCRATCH84 (0x670)
#define APBDEV_PMC_SCRATCH85 (0x674)
#define APBDEV_PMC_SCRATCH86 (0x678)
#define APBDEV_PMC_SCRATCH87 (0x67C)
#define APBDEV_PMC_SCRATCH88 (0x680)
#define APBDEV_PMC_SCRATCH89 (0x684)
#define APBDEV_PMC_SCRATCH90 (0x688)
#define APBDEV_PMC_SCRATCH91 (0x68C)
#define APBDEV_PMC_SCRATCH92 (0x690)
#define APBDEV_PMC_SCRATCH93 (0x694)
#define APBDEV_PMC_SCRATCH94 (0x698)
#define APBDEV_PMC_SCRATCH95 (0x69C)
#define APBDEV_PMC_SCRATCH96 (0x6A0)
#define APBDEV_PMC_SCRATCH97 (0x6A4)
#define APBDEV_PMC_SCRATCH98 (0x6A8)
#define APBDEV_PMC_SCRATCH99 (0x6AC)
#define APBDEV_PMC_SCRATCH100 (0x6B0)
#define APBDEV_PMC_SCRATCH101 (0x6B4)
#define APBDEV_PMC_SCRATCH102 (0x6B8)
#define APBDEV_PMC_SCRATCH103 (0x6BC)
#define APBDEV_PMC_SCRATCH104 (0x6C0)
#define APBDEV_PMC_SCRATCH105 (0x6C4)
#define APBDEV_PMC_SCRATCH106 (0x6C8)
#define APBDEV_PMC_SCRATCH107 (0x6CC)
#define APBDEV_PMC_SCRATCH108 (0x6D0)
#define APBDEV_PMC_SCRATCH109 (0x6D4)
#define APBDEV_PMC_SCRATCH110 (0x6D8)
#define APBDEV_PMC_SCRATCH111 (0x6DC)
#define APBDEV_PMC_SCRATCH112 (0x6E0)
#define APBDEV_PMC_SCRATCH113 (0x6E4)
#define APBDEV_PMC_SCRATCH114 (0x6E8)
#define APBDEV_PMC_SCRATCH115 (0x6EC)
#define APBDEV_PMC_SCRATCH116 (0x6F0)
#define APBDEV_PMC_SCRATCH117 (0x6F4)
#define APBDEV_PMC_SCRATCH118 (0x6F8)
#define APBDEV_PMC_SCRATCH119 (0x6FC)
#define APBDEV_PMC_SCRATCH120 (0x700)
#define APBDEV_PMC_SCRATCH121 (0x704)
#define APBDEV_PMC_SCRATCH122 (0x708)
#define APBDEV_PMC_SCRATCH123 (0x70C)
#define APBDEV_PMC_SCRATCH124 (0x710)
#define APBDEV_PMC_SCRATCH125 (0x714)
#define APBDEV_PMC_SCRATCH126 (0x718)
#define APBDEV_PMC_SCRATCH127 (0x71C)
#define APBDEV_PMC_SCRATCH128 (0x720)
#define APBDEV_PMC_SCRATCH129 (0x724)
#define APBDEV_PMC_SCRATCH130 (0x728)
#define APBDEV_PMC_SCRATCH131 (0x72C)
#define APBDEV_PMC_SCRATCH132 (0x730)
#define APBDEV_PMC_SCRATCH133 (0x734)
#define APBDEV_PMC_SCRATCH134 (0x738)
#define APBDEV_PMC_SCRATCH135 (0x73C)
#define APBDEV_PMC_SCRATCH136 (0x740)
#define APBDEV_PMC_SCRATCH137 (0x744)
#define APBDEV_PMC_SCRATCH138 (0x748)
#define APBDEV_PMC_SCRATCH139 (0x74C)
#define APBDEV_PMC_SCRATCH140 (0x750)
#define APBDEV_PMC_SCRATCH141 (0x754)
#define APBDEV_PMC_SCRATCH142 (0x758)
#define APBDEV_PMC_SCRATCH143 (0x75C)
#define APBDEV_PMC_SCRATCH144 (0x760)
#define APBDEV_PMC_SCRATCH145 (0x764)
#define APBDEV_PMC_SCRATCH146 (0x768)
#define APBDEV_PMC_SCRATCH147 (0x76C)
#define APBDEV_PMC_SCRATCH148 (0x770)
#define APBDEV_PMC_SCRATCH149 (0x774)
#define APBDEV_PMC_SCRATCH150 (0x778)
#define APBDEV_PMC_SCRATCH151 (0x77C)
#define APBDEV_PMC_SCRATCH152 (0x780)
#define APBDEV_PMC_SCRATCH153 (0x784)
#define APBDEV_PMC_SCRATCH154 (0x788)
#define APBDEV_PMC_SCRATCH155 (0x78C)
#define APBDEV_PMC_SCRATCH156 (0x790)
#define APBDEV_PMC_SCRATCH157 (0x794)
#define APBDEV_PMC_SCRATCH158 (0x798)
#define APBDEV_PMC_SCRATCH159 (0x79C)
#define APBDEV_PMC_SCRATCH160 (0x7A0)
#define APBDEV_PMC_SCRATCH161 (0x7A4)
#define APBDEV_PMC_SCRATCH162 (0x7A8)
#define APBDEV_PMC_SCRATCH163 (0x7AC)
#define APBDEV_PMC_SCRATCH164 (0x7B0)
#define APBDEV_PMC_SCRATCH165 (0x7B4)
#define APBDEV_PMC_SCRATCH166 (0x7B8)
#define APBDEV_PMC_SCRATCH167 (0x7BC)
#define APBDEV_PMC_SCRATCH168 (0x7C0)
#define APBDEV_PMC_SCRATCH169 (0x7C4)
#define APBDEV_PMC_SCRATCH170 (0x7C8)
#define APBDEV_PMC_SCRATCH171 (0x7CC)
#define APBDEV_PMC_SCRATCH172 (0x7D0)
#define APBDEV_PMC_SCRATCH173 (0x7D4)
#define APBDEV_PMC_SCRATCH174 (0x7D8)
#define APBDEV_PMC_SCRATCH175 (0x7DC)
#define APBDEV_PMC_SCRATCH176 (0x7E0)
#define APBDEV_PMC_SCRATCH177 (0x7E4)
#define APBDEV_PMC_SCRATCH178 (0x7E8)
#define APBDEV_PMC_SCRATCH179 (0x7EC)
#define APBDEV_PMC_SCRATCH180 (0x7F0)
#define APBDEV_PMC_SCRATCH181 (0x7F4)
#define APBDEV_PMC_SCRATCH182 (0x7F8)
#define APBDEV_PMC_SCRATCH183 (0x7FC)
#define APBDEV_PMC_SCRATCH184 (0x800)
#define APBDEV_PMC_SCRATCH185 (0x804)
#define APBDEV_PMC_SCRATCH186 (0x808)
#define APBDEV_PMC_SCRATCH187 (0x80C)
#define APBDEV_PMC_SCRATCH188 (0x810)
#define APBDEV_PMC_SCRATCH189 (0x814)
#define APBDEV_PMC_SCRATCH190 (0x818)
#define APBDEV_PMC_SCRATCH191 (0x81C)
#define APBDEV_PMC_SCRATCH192 (0x820)
#define APBDEV_PMC_SCRATCH193 (0x824)
#define APBDEV_PMC_SCRATCH194 (0x828)
#define APBDEV_PMC_SCRATCH195 (0x82C)
#define APBDEV_PMC_SCRATCH196 (0x830)
#define APBDEV_PMC_SCRATCH197 (0x834)
#define APBDEV_PMC_SCRATCH198 (0x838)
#define APBDEV_PMC_SCRATCH199 (0x83C)
#define APBDEV_PMC_SCRATCH200 (0x840)
#define APBDEV_PMC_SCRATCH201 (0x844)
#define APBDEV_PMC_SCRATCH202 (0x848)
#define APBDEV_PMC_SCRATCH203 (0x84C)
#define APBDEV_PMC_SCRATCH204 (0x850)
#define APBDEV_PMC_SCRATCH205 (0x854)
#define APBDEV_PMC_SCRATCH206 (0x858)
#define APBDEV_PMC_SCRATCH207 (0x85C)
#define APBDEV_PMC_SCRATCH208 (0x860)
#define APBDEV_PMC_SCRATCH209 (0x864)
#define APBDEV_PMC_SCRATCH210 (0x868)
#define APBDEV_PMC_SCRATCH211 (0x86C)
#define APBDEV_PMC_SCRATCH212 (0x870)
#define APBDEV_PMC_SCRATCH213 (0x874)
#define APBDEV_PMC_SCRATCH214 (0x878)
#define APBDEV_PMC_SCRATCH215 (0x87C)
#define APBDEV_PMC_SCRATCH216 (0x880)
#define APBDEV_PMC_SCRATCH217 (0x884)
#define APBDEV_PMC_SCRATCH218 (0x888)
#define APBDEV_PMC_SCRATCH219 (0x88C)
#define APBDEV_PMC_SCRATCH220 (0x890)
#define APBDEV_PMC_SCRATCH221 (0x894)
#define APBDEV_PMC_SCRATCH222 (0x898)
#define APBDEV_PMC_SCRATCH223 (0x89C)
#define APBDEV_PMC_SCRATCH224 (0x8A0)
#define APBDEV_PMC_SCRATCH225 (0x8A4)
#define APBDEV_PMC_SCRATCH226 (0x8A8)
#define APBDEV_PMC_SCRATCH227 (0x8AC)
#define APBDEV_PMC_SCRATCH228 (0x8B0)
#define APBDEV_PMC_SCRATCH229 (0x8B4)
#define APBDEV_PMC_SCRATCH230 (0x8B8)
#define APBDEV_PMC_SCRATCH231 (0x8BC)
#define APBDEV_PMC_SCRATCH232 (0x8C0)
#define APBDEV_PMC_SCRATCH233 (0x8C4)
#define APBDEV_PMC_SCRATCH234 (0x8C8)
#define APBDEV_PMC_SCRATCH235 (0x8CC)
#define APBDEV_PMC_SCRATCH236 (0x8D0)
#define APBDEV_PMC_SCRATCH237 (0x8D4)
#define APBDEV_PMC_SCRATCH238 (0x8D8)
#define APBDEV_PMC_SCRATCH239 (0x8DC)
#define APBDEV_PMC_SCRATCH240 (0x8E0)
#define APBDEV_PMC_SCRATCH241 (0x8E4)
#define APBDEV_PMC_SCRATCH242 (0x8E8)
#define APBDEV_PMC_SCRATCH243 (0x8EC)
#define APBDEV_PMC_SCRATCH244 (0x8F0)
#define APBDEV_PMC_SCRATCH245 (0x8F4)
#define APBDEV_PMC_SCRATCH246 (0x8F8)
#define APBDEV_PMC_SCRATCH247 (0x8FC)
#define APBDEV_PMC_SCRATCH248 (0x900)
#define APBDEV_PMC_SCRATCH249 (0x904)
#define APBDEV_PMC_SCRATCH250 (0x908)
#define APBDEV_PMC_SCRATCH251 (0x90C)
#define APBDEV_PMC_SCRATCH252 (0x910)
#define APBDEV_PMC_SCRATCH253 (0x914)
#define APBDEV_PMC_SCRATCH254 (0x918)
#define APBDEV_PMC_SCRATCH255 (0x91C)
#define APBDEV_PMC_SCRATCH256 (0x920)
#define APBDEV_PMC_SCRATCH257 (0x924)
#define APBDEV_PMC_SCRATCH258 (0x928)
#define APBDEV_PMC_SCRATCH259 (0x92C)
#define APBDEV_PMC_SCRATCH260 (0x930)
#define APBDEV_PMC_SCRATCH261 (0x934)
#define APBDEV_PMC_SCRATCH262 (0x938)
#define APBDEV_PMC_SCRATCH263 (0x93C)
#define APBDEV_PMC_SCRATCH264 (0x940)
#define APBDEV_PMC_SCRATCH265 (0x944)
#define APBDEV_PMC_SCRATCH266 (0x948)
#define APBDEV_PMC_SCRATCH267 (0x94C)
#define APBDEV_PMC_SCRATCH268 (0x950)
#define APBDEV_PMC_SCRATCH269 (0x954)
#define APBDEV_PMC_SCRATCH270 (0x958)
#define APBDEV_PMC_SCRATCH271 (0x95C)
#define APBDEV_PMC_SCRATCH272 (0x960)
#define APBDEV_PMC_SCRATCH273 (0x964)
#define APBDEV_PMC_SCRATCH274 (0x968)
#define APBDEV_PMC_SCRATCH275 (0x96C)
#define APBDEV_PMC_SCRATCH276 (0x970)
#define APBDEV_PMC_SCRATCH277 (0x974)
#define APBDEV_PMC_SCRATCH278 (0x978)
#define APBDEV_PMC_SCRATCH279 (0x97C)
#define APBDEV_PMC_SCRATCH280 (0x980)
#define APBDEV_PMC_SCRATCH281 (0x984)
#define APBDEV_PMC_SCRATCH282 (0x988)
#define APBDEV_PMC_SCRATCH283 (0x98C)
#define APBDEV_PMC_SCRATCH284 (0x990)
#define APBDEV_PMC_SCRATCH285 (0x994)
#define APBDEV_PMC_SCRATCH286 (0x998)
#define APBDEV_PMC_SCRATCH287 (0x99C)
#define APBDEV_PMC_SCRATCH288 (0x9A0)
#define APBDEV_PMC_SCRATCH289 (0x9A4)
#define APBDEV_PMC_SCRATCH290 (0x9A8)
#define APBDEV_PMC_SCRATCH291 (0x9AC)
#define APBDEV_PMC_SCRATCH292 (0x9B0)
#define APBDEV_PMC_SCRATCH293 (0x9B4)
#define APBDEV_PMC_SCRATCH294 (0x9B8)
#define APBDEV_PMC_SCRATCH295 (0x9BC)
#define APBDEV_PMC_SCRATCH296 (0x9C0)
#define APBDEV_PMC_SCRATCH297 (0x9C4)
#define APBDEV_PMC_SCRATCH298 (0x9C8)
#define APBDEV_PMC_SCRATCH299 (0x9CC)
#define APBDEV_PMC_SECURE_SCRATCH0 (0x0B0)
#define APBDEV_PMC_SECURE_SCRATCH1 (0x0B4)
#define APBDEV_PMC_SECURE_SCRATCH2 (0x0B8)
#define APBDEV_PMC_SECURE_SCRATCH3 (0x0BC)
#define APBDEV_PMC_SECURE_SCRATCH4 (0x0C0)
#define APBDEV_PMC_SECURE_SCRATCH5 (0x0C4)
#define APBDEV_PMC_SECURE_SCRATCH6 (0x224)
#define APBDEV_PMC_SECURE_SCRATCH7 (0x228)
#define APBDEV_PMC_SECURE_SCRATCH8 (0x300)
#define APBDEV_PMC_SECURE_SCRATCH9 (0x304)
#define APBDEV_PMC_SECURE_SCRATCH10 (0x308)
#define APBDEV_PMC_SECURE_SCRATCH11 (0x30C)
#define APBDEV_PMC_SECURE_SCRATCH12 (0x310)
#define APBDEV_PMC_SECURE_SCRATCH13 (0x314)
#define APBDEV_PMC_SECURE_SCRATCH14 (0x318)
#define APBDEV_PMC_SECURE_SCRATCH15 (0x31C)
#define APBDEV_PMC_SECURE_SCRATCH16 (0x320)
#define APBDEV_PMC_SECURE_SCRATCH17 (0x324)
#define APBDEV_PMC_SECURE_SCRATCH18 (0x328)
#define APBDEV_PMC_SECURE_SCRATCH19 (0x32C)
#define APBDEV_PMC_SECURE_SCRATCH20 (0x330)
#define APBDEV_PMC_SECURE_SCRATCH21 (0x334)
#define APBDEV_PMC_SECURE_SCRATCH22 (0x338)
#define APBDEV_PMC_SECURE_SCRATCH23 (0x33C)
#define APBDEV_PMC_SECURE_SCRATCH24 (0x340)
#define APBDEV_PMC_SECURE_SCRATCH25 (0x344)
#define APBDEV_PMC_SECURE_SCRATCH26 (0x348)
#define APBDEV_PMC_SECURE_SCRATCH27 (0x34C)
#define APBDEV_PMC_SECURE_SCRATCH28 (0x350)
#define APBDEV_PMC_SECURE_SCRATCH29 (0x354)
#define APBDEV_PMC_SECURE_SCRATCH30 (0x358)
#define APBDEV_PMC_SECURE_SCRATCH31 (0x35C)
#define APBDEV_PMC_SECURE_SCRATCH32 (0x360)
#define APBDEV_PMC_SECURE_SCRATCH33 (0x364)
#define APBDEV_PMC_SECURE_SCRATCH34 (0x368)
#define APBDEV_PMC_SECURE_SCRATCH35 (0x36C)
#define APBDEV_PMC_SECURE_SCRATCH36 (0x370)
#define APBDEV_PMC_SECURE_SCRATCH37 (0x374)
#define APBDEV_PMC_SECURE_SCRATCH38 (0x378)
#define APBDEV_PMC_SECURE_SCRATCH39 (0x37C)
#define APBDEV_PMC_SECURE_SCRATCH40 (0x380)
#define APBDEV_PMC_SECURE_SCRATCH41 (0x384)
#define APBDEV_PMC_SECURE_SCRATCH42 (0x388)
#define APBDEV_PMC_SECURE_SCRATCH43 (0x38C)
#define APBDEV_PMC_SECURE_SCRATCH44 (0x390)
#define APBDEV_PMC_SECURE_SCRATCH45 (0x394)
#define APBDEV_PMC_SECURE_SCRATCH46 (0x398)
#define APBDEV_PMC_SECURE_SCRATCH47 (0x39C)
#define APBDEV_PMC_SECURE_SCRATCH48 (0x3A0)
#define APBDEV_PMC_SECURE_SCRATCH49 (0x3A4)
#define APBDEV_PMC_SECURE_SCRATCH50 (0x3A8)
#define APBDEV_PMC_SECURE_SCRATCH51 (0x3AC)
#define APBDEV_PMC_SECURE_SCRATCH52 (0x3B0)
#define APBDEV_PMC_SECURE_SCRATCH53 (0x3B4)
#define APBDEV_PMC_SECURE_SCRATCH54 (0x3B8)
#define APBDEV_PMC_SECURE_SCRATCH55 (0x3BC)
#define APBDEV_PMC_SECURE_SCRATCH56 (0x3C0)
#define APBDEV_PMC_SECURE_SCRATCH57 (0x3C4)
#define APBDEV_PMC_SECURE_SCRATCH58 (0x3C8)
#define APBDEV_PMC_SECURE_SCRATCH59 (0x3CC)
#define APBDEV_PMC_SECURE_SCRATCH60 (0x3D0)
#define APBDEV_PMC_SECURE_SCRATCH61 (0x3D4)
#define APBDEV_PMC_SECURE_SCRATCH62 (0x3D8)
#define APBDEV_PMC_SECURE_SCRATCH63 (0x3DC)
#define APBDEV_PMC_SECURE_SCRATCH64 (0x3E0)
#define APBDEV_PMC_SECURE_SCRATCH65 (0x3E4)
#define APBDEV_PMC_SECURE_SCRATCH66 (0x3E8)
#define APBDEV_PMC_SECURE_SCRATCH67 (0x3EC)
#define APBDEV_PMC_SECURE_SCRATCH68 (0x3F0)
#define APBDEV_PMC_SECURE_SCRATCH69 (0x3F4)
#define APBDEV_PMC_SECURE_SCRATCH70 (0x3F8)
#define APBDEV_PMC_SECURE_SCRATCH71 (0x3FC)
#define APBDEV_PMC_SECURE_SCRATCH72 (0x400)
#define APBDEV_PMC_SECURE_SCRATCH73 (0x404)
#define APBDEV_PMC_SECURE_SCRATCH74 (0x408)
#define APBDEV_PMC_SECURE_SCRATCH75 (0x40C)
#define APBDEV_PMC_SECURE_SCRATCH76 (0x410)
#define APBDEV_PMC_SECURE_SCRATCH77 (0x414)
#define APBDEV_PMC_SECURE_SCRATCH78 (0x418)
#define APBDEV_PMC_SECURE_SCRATCH79 (0x41C)
#define APBDEV_PMC_SECURE_SCRATCH80 (0xA98)
#define APBDEV_PMC_SECURE_SCRATCH81 (0xA9C)
#define APBDEV_PMC_SECURE_SCRATCH82 (0xAA0)
#define APBDEV_PMC_SECURE_SCRATCH83 (0xAA4)
#define APBDEV_PMC_SECURE_SCRATCH84 (0xAA8)
#define APBDEV_PMC_SECURE_SCRATCH85 (0xAAC)
#define APBDEV_PMC_SECURE_SCRATCH86 (0xAB0)
#define APBDEV_PMC_SECURE_SCRATCH87 (0xAB4)
#define APBDEV_PMC_SECURE_SCRATCH88 (0xAB8)
#define APBDEV_PMC_SECURE_SCRATCH89 (0xABC)
#define APBDEV_PMC_SECURE_SCRATCH90 (0xAC0)
#define APBDEV_PMC_SECURE_SCRATCH91 (0xAC4)
#define APBDEV_PMC_SECURE_SCRATCH92 (0xAC8)
#define APBDEV_PMC_SECURE_SCRATCH93 (0xACC)
#define APBDEV_PMC_SECURE_SCRATCH94 (0xAD0)
#define APBDEV_PMC_SECURE_SCRATCH95 (0xAD4)
#define APBDEV_PMC_SECURE_SCRATCH96 (0xAD8)
#define APBDEV_PMC_SECURE_SCRATCH97 (0xADC)
#define APBDEV_PMC_SECURE_SCRATCH98 (0xAE0)
#define APBDEV_PMC_SECURE_SCRATCH99 (0xAE4)
#define APBDEV_PMC_SECURE_SCRATCH100 (0xAE8)
#define APBDEV_PMC_SECURE_SCRATCH101 (0xAEC)
#define APBDEV_PMC_SECURE_SCRATCH102 (0xAF0)
#define APBDEV_PMC_SECURE_SCRATCH103 (0xAF4)
#define APBDEV_PMC_SECURE_SCRATCH104 (0xAF8)
#define APBDEV_PMC_SECURE_SCRATCH105 (0xAFC)
#define APBDEV_PMC_SECURE_SCRATCH106 (0xB00)
#define APBDEV_PMC_SECURE_SCRATCH107 (0xB04)
#define APBDEV_PMC_SECURE_SCRATCH108 (0xB08)
#define APBDEV_PMC_SECURE_SCRATCH109 (0xB0C)
#define APBDEV_PMC_SECURE_SCRATCH110 (0xB10)
#define APBDEV_PMC_SECURE_SCRATCH111 (0xB14)
#define APBDEV_PMC_SECURE_SCRATCH112 (0xB18)
#define APBDEV_PMC_SECURE_SCRATCH113 (0xB1C)
#define APBDEV_PMC_SECURE_SCRATCH114 (0xB20)
#define APBDEV_PMC_SECURE_SCRATCH115 (0xB24)
#define APBDEV_PMC_SECURE_SCRATCH116 (0xB28)
#define APBDEV_PMC_SECURE_SCRATCH117 (0xB2C)
#define APBDEV_PMC_SECURE_SCRATCH118 (0xB30)
#define APBDEV_PMC_SECURE_SCRATCH119 (0xB34)
/* Mariko. */
#define APBDEV_PMC_SECURE_SCRATCH120 (0xB38)
#define APBDEV_PMC_SECURE_SCRATCH121 (0xB3C)
#define APBDEV_PMC_SECURE_SCRATCH122 (0xB40)
#define APBDEV_PMC_SECURE_SCRATCH123 (0xB44)
#define APBDEV_PMC_SECURE_SCRATCH124 (0xB68)
#define APBDEV_PMC_SECURE_SCRATCH125 (0xB6C)
#define APBDEV_PMC_SECURE_SCRATCH126 (0xB70)
#define APBDEV_PMC_SECURE_SCRATCH127 (0xB74)
#define APBDEV_PMC_SECURE_SCRATCH128 (0xB78)
#define APBDEV_PMC_SECURE_SCRATCH129 (0xB7C)
#define APBDEV_PMC_SECURE_SCRATCH130 (0xB80)
#define APBDEV_PMC_SECURE_SCRATCH131 (0xB84)
#define APBDEV_PMC_SECURE_SCRATCH132 (0xB88)
#define APBDEV_PMC_SECURE_SCRATCH133 (0xB8C)
#define APBDEV_PMC_SECURE_SCRATCH134 (0xB90)
#define APBDEV_PMC_SECURE_SCRATCH135 (0xB94)
#define APBDEV_PMC_SECURE_SCRATCH136 (0xB98)
#define APBDEV_PMC_SECURE_SCRATCH137 (0xB9C)
#define APBDEV_PMC_SECURE_SCRATCH138 (0xBA0)
#define APBDEV_PMC_SECURE_SCRATCH139 (0xBA4)
#define PMC_REG_BITS_MASK(NAME) REG_NAMED_BITS_MASK (APBDEV_PMC, NAME) #define PMC_REG_BITS_MASK(NAME) REG_NAMED_BITS_MASK (APBDEV_PMC, NAME)
#define PMC_REG_BITS_VALUE(NAME, VALUE) REG_NAMED_BITS_VALUE (APBDEV_PMC, NAME, VALUE) #define PMC_REG_BITS_VALUE(NAME, VALUE) REG_NAMED_BITS_VALUE (APBDEV_PMC, NAME, VALUE)