Improve timings for 2800-3100MHz

This commit is contained in:
Lightos1
2025-12-22 19:42:40 +01:00
parent 86416cb055
commit f8d170011a
2 changed files with 38 additions and 32 deletions

View File

@@ -20,29 +20,29 @@
namespace ams::ldr::oc::pcv::mariko {
const MiscTimings g_misc_table[] = {
{1'866'000, 1, 0x20, 0x9, 0},
{2'133'000, 1, 0x24, 0xA, 0},
{2'166'000, 1, 0, 0, 0},
{2'233'000, 0, 0x25, 0, 0},
{2'300'000, 0, 0x26, 0xB, 0},
{2'333'000, 0, 0x27, 0, 0},
{2'366'000, 1, 0x26, 0xA, 0},
{2'433'000, 0, 0x27, 0, 0},
{2'466'000, 0, 0x2A, 0, 0},
{2'500'000, 0, 0x28, 0xB, 0},
{2'533'000, 0, 0x29, 0, -2},
{2'566'000, 1, 0, 0, 0},
{2'633'000, 0, 0x2A, 0, 0},
{2'700'000, 0, 0x2B, 0xC, 0},
{2'733'000, 0, 0x2C, 0, 0},
{2'766'000, 1, 0x2B, 0xB, 0},
{2'833'000, 0, 0x2C, 0, -2},
{2'866'000, 0, 0, 0, -2},
{2'900'000, 0, 0, 0, -2},
{2'933'000, 0, 0x2E, 0xC, 0},
{2'966'000, 1, 0, 0, 0},
{3'033'000, 0, 0x2F, 0, 0},
{3'133'000, 1, 0x31, 0xD, 0},
{1'866'000, 1, 0x20, 0x9, },
{2'133'000, 1, 0x24, 0xA, },
{2'166'000, 1, 0, 0, },
{2'233'000, 0, 0x25, 0, },
{2'300'000, 0, 0x26, 0xB, },
{2'333'000, 0, 0x27, 0, },
{2'366'000, 1, 0x26, 0xA, },
{2'433'000, 0, 0x27, 0, },
{2'466'000, 0, 0x2A, 0, },
{2'500'000, 0, 0x28, 0xB, },
{2'533'000, 0, 0x29, 0, },
{2'566'000, 1, 0, 0, },
{2'633'000, 0, 0x2A, 0, },
{2'700'000, 0, 0x2B, 0xC, },
{2'733'000, 0, 0x2C, 0, },
{2'766'000, 1, 0x2B, 0xB, },
{2'833'000, 0, 0x2C, 0, },
{2'866'000, 0, 0, 0, },
{2'900'000, 0, 0, 0, },
{2'933'000, 0, 0x2E, 0xC, },
{2'966'000, 1, 0, 0, },
{3'033'000, 0, 0x2F, 0, },
{3'133'000, 1, 0x31, 0xD, },
};
const u32 g_misc_table_size = sizeof(g_misc_table) / sizeof(g_misc_table[0]);
@@ -58,7 +58,7 @@ namespace ams::ldr::oc::pcv::mariko {
{2'833'000, 0x1D}, {2'866'000, 0x1D}, {2'900'000, 0x1D},
{2'933'000, 0x1C}, {2'966'000, 0x1D}, {3'000'000, 0x1D},
{3'033'000, 0x1D}, {3'066'000, 0x1D}, {3'100'000, 0x1D},
{3'133'000, 0x1D},
{3'133'000, 0x1D}, {3'166'000, 0x1C}, {3'200'000, 0x1C},
};
const u32 g_rext_table_size = sizeof(g_rext_table) / sizeof(g_rext_table[0]);
@@ -85,7 +85,6 @@ namespace ams::ldr::oc::pcv::mariko {
{2'666'000, -1},
{2'700'000, -2},
{2'733'000, -2},
{2'833'000, -9},
{2'933'000, -1},
};
@@ -108,9 +107,9 @@ namespace ams::ldr::oc::pcv::mariko {
{2'733'000, -2},
{2'766'000, -2},
{2'800'000, -2},
{2'833'000, -4},
{2'833'000, -2},
{2'866'000, -2},
{2'900'000, -4},
{2'900'000, -2},
{2'933'000, -2},
{2'966'000, -2},
{3'000'000, -2},
@@ -118,6 +117,8 @@ namespace ams::ldr::oc::pcv::mariko {
{3'066'000, -2},
{3'100'000, -2},
{3'133'000, -2},
{3'166'000, -2},
{3'200'000, -2},
};
const u32 g_obdly_table_size = sizeof(g_obdly_patches) / sizeof(g_obdly_patches[0]);
@@ -161,12 +162,13 @@ namespace ams::ldr::oc::pcv::mariko {
{2'700'000, -1},
{2'733'000, -1},
{2'766'000, 1},
{2'800'000, 4},
{2'800'000, 1},
{2'833'000, 1},
{2'866'000, 1},
{2'900'000, 1},
{2'933'000, -1},
{2'966'000, 1},
{3'000'000, 1},
{3'100'000, 1},
{3'166'000, 1},
{3'200'000, 1},

View File

@@ -472,9 +472,9 @@ namespace ams::ldr::oc::pcv::mariko {
WRITE_PARAM_ALL_REG(table, emc_pdex2rd, pdex2rw);
WRITE_PARAM_ALL_REG(table, emc_pchg2pden, GET_CYCLE_CEIL(1.75));
WRITE_PARAM_ALL_REG(table, emc_ar2pden, GET_CYCLE_CEIL(1.75));
WRITE_PARAM_ALL_REG(table, emc_pdex2cke, GET_CYCLE_CEIL(1.75));
WRITE_PARAM_ALL_REG(table, emc_pdex2cke, GET_CYCLE_CEIL(1.05));
WRITE_PARAM_ALL_REG(table, emc_act2pden, GET_CYCLE_CEIL(14.0));
WRITE_PARAM_ALL_REG(table, emc_cke2pden, /* cke2pden */ GET_CYCLE_CEIL(5.0));
WRITE_PARAM_ALL_REG(table, emc_cke2pden, /* cke2pden */ GET_CYCLE_CEIL(8.5));
(void) cke2pden;
WRITE_PARAM_ALL_REG(table, emc_pdex2mrr, GET_CYCLE_CEIL(pdex2mrr));
WRITE_PARAM_ALL_REG(table, emc_rw2pden, tWTPDEN);
@@ -489,9 +489,9 @@ namespace ams::ldr::oc::pcv::mariko {
WRITE_PARAM_ALL_REG(table, emc_wsv, wsv);
WRITE_PARAM_ALL_REG(table, emc_wev, wev);
WRITE_PARAM_ALL_REG(table, emc_qrst, qrst);
// WRITE_PARAM_ALL_REG(table, emc_tr_qrst, qrst);
WRITE_PARAM_ALL_REG(table, emc_tr_qrst, qrst);
WRITE_PARAM_ALL_REG(table, emc_qsafe, qsafe);
// WRITE_PARAM_ALL_REG(table, emc_tr_qsafe, qsafe);
WRITE_PARAM_ALL_REG(table, emc_tr_qsafe, qsafe);
WRITE_PARAM_ALL_REG(table, emc_tr_qpop, qpop);
WRITE_PARAM_ALL_REG(table, emc_qpop, qpop);
WRITE_PARAM_ALL_REG(table, emc_rdv, rdv);
@@ -500,6 +500,10 @@ namespace ams::ldr::oc::pcv::mariko {
WRITE_PARAM_ALL_REG(table, emc_rdv_early_mask, rdv);
WRITE_PARAM_ALL_REG(table, emc_rdv_mask, rdv + 2);
WRITE_PARAM_ALL_REG(table, emc_tr_rdv, rdv);
WRITE_PARAM_ALL_REG(table, emc_cmd_brlshft_2, 0x24)
WRITE_PARAM_ALL_REG(table, emc_cmd_brlshft_3, 0x24)
WRITE_PARAM_ALL_REG(table, emc_mrs_wait_cnt, 0x07FF003C);
WRITE_PARAM_ALL_REG(table, emc_mrs_wait_cnt2, 0x02DE002A);
/* This needs some clean up. */
constexpr double MC_ARB_DIV = 4.0;