change preset values, fixes
changes to preset values
This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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) \
|
||||
|
||||
@@ -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(
|
||||
|
||||
Reference in New Issue
Block a user