change preset values, fixes

changes to preset values
This commit is contained in:
hanabbi
2023-06-21 15:42:13 +09:00
parent 4b9310e0ab
commit 62a75cc555
4 changed files with 15 additions and 17 deletions

View File

@@ -13,15 +13,15 @@ namespace ams::ldr::oc {
const std::array<u32, 6> tRP_values = {18, 17, 16, 15, 14, 13};
const std::array<u32, 6> tRAS_values = {42, 39, 36, 34, 32, 30};
const std::array<double, 5> tRRD_values = {10, 7.5, 6, 4, 2};
const std::array<double, 5> tFAW_values = {40, 30, 24, 16, 8};
const std::array<double, 5> tRRD_values = {10, 7.5, 6, 4, 3};
const std::array<double, 5> tFAW_values = {40, 30, 24, 16, 12};
const std::array<u32, 6> tWR_values = {18, 15, 15, 12, 12, 8};
const std::array<double, 6> tRTP_values = {7.5, 7.5, 6, 6, 4, 4};
const std::array<u32, 5> tRFC_values = {140, 120, 100, 80, 60};
const std::array<u32, 5> tWTR_values = {10, 8, 6, 4, 2};
const std::array<u32, 6> tWTR_values = {10, 8, 6, 4, 2, 1};
const std::array<u32, 5> tREFpb_values = {488, 976, 1952, 3256, 9999};
@@ -38,8 +38,8 @@ namespace ams::ldr::oc {
// tCK_avg (average clock period) in ns
const double tCK_avg = 1000'000. / C.marikoEmcMaxClock;
const u32 WL = !TIMING_PRESET_SEVEN ? (C.marikoEmcMaxClock <= 2131200 ? 10 : 12) : tWL_values[TIMING_PRESET_SEVEN-1]; //?
const u32 RL = !TIMING_PRESET_SEVEN ? (C.marikoEmcMaxClock <= 2131200 ? 20 : 24) : WL*2; //?
const u32 WL = !TIMING_PRESET_SEVEN ? (C.marikoEmcMaxClock <= 2131200 ? 12 : 14) : tWL_values[TIMING_PRESET_SEVEN-1]; //?
const u32 RL = !TIMING_PRESET_SEVEN ? (C.marikoEmcMaxClock <= 2131200 ? 24 : 28) : WL*2; //?
const u32 BL = 16;
// tRFCpb (refresh cycle time per bank) in ns for 8Gb density
@@ -131,4 +131,7 @@ namespace ams::ldr::oc {
const u32 tFAW = !TIMING_PRESET_TWO ? 40 : tFAW_values[TIMING_PRESET_TWO-1];
// Valid Clock requirement before CKE Input HIGH in ns
const double tCKCKEH = MAX(1.75, 3*tCK_avg);
const double tDQSQ = 0.18;
// p78 The first valid data is available RL × t CK + t DQSCK + t DQSQ
const u32 QUSE = RL + CEIL(tDQSCK_min/tCK_avg + tDQSQ);
}

View File

@@ -130,8 +130,6 @@ void MemMtcTableCustomAdjust(EristaMtcTable* table) {
if (TIMING_PRESET_THREE) {
WRITE_PARAM_ALL_REG(table, emc_r2p, GET_CYCLE_CEIL(tRTP));
WRITE_PARAM_ALL_REG(table, emc_w2p, WTP);
WRITE_PARAM_ALL_REG(table, emc_tratm, RATM);
WRITE_PARAM_ALL_REG(table, emc_twatm, WATM);
WRITE_PARAM_ALL_REG(table, emc_rw2pden, WTPDEN);
table->burst_mc_regs.mc_emem_arb_timing_rap2pre = CEIL(GET_CYCLE_CEIL(tRTP) / MC_ARB_DIV);
@@ -163,10 +161,6 @@ void MemMtcTableCustomAdjust(EristaMtcTable* table) {
WRITE_PARAM_ALL_REG(table, emc_w2p, WTP);
WRITE_PARAM_ALL_REG(table, emc_rw2pden, WTPDEN);
WRITE_PARAM_ALL_REG(table, emc_r2w, R2W);
WRITE_PARAM_ALL_REG(table, emc_trtm, RTM);
WRITE_PARAM_ALL_REG(table, emc_twtm, WTM);
WRITE_PARAM_ALL_REG(table, emc_tratm, RATM);
WRITE_PARAM_ALL_REG(table, emc_twatm, WATM);
table->burst_mc_regs.mc_emem_arb_timing_wap2pre = CEIL(WTP / MC_ARB_DIV);
table->burst_mc_regs.mc_emem_arb_timing_r2w = CEIL(R2W / MC_ARB_DIV) - 1 + SFA;

View File

@@ -101,7 +101,7 @@ void MemMtcTableAutoAdjust(MarikoMtcTable* table, const MarikoMtcTable* ref) {
* you'd better calculate timings yourself rather than relying on following algorithm.
*/
if (C.mtcConf != AUTO_ADJ_SAFE_ALL)
if (C.mtcConf != AUTO_ADJ_ALL)
return;
#define ADJUST_PROP(TARGET, REF) \

View File

@@ -356,12 +356,13 @@ var AdvTable: Array<AdvEntry> = [
"Values are : tWTR",
"<b>0</b> : Do Not Adjust (2400Mhz: ??) (CUST_ADJ only)",
"<b>1</b> : 10 (Default timing)",
"<b>2</b> : 9",
"<b>3</b> : 8",
"<b>4</b> : 7",
"<b>5</b> : 6",],
"<b>2</b> : 8",
"<b>3</b> : 6",
"<b>4</b> : 4",
"<b>5</b> : 2",
"<b>6</b> : 1",],
1,
[0,5],
[0,6],
1,
),
new AdvEntry(