From 554c103bf24ffbf5a1ce37cc531edc51789b3e18 Mon Sep 17 00:00:00 2001 From: Lightos1 <124387232+Lightos1@users.noreply.github.com> Date: Mon, 1 Dec 2025 20:16:09 +0100 Subject: [PATCH] Tuned read timings --- .../loader/source/oc/customize.cpp | 22 +++++++++---------- .../loader/source/oc/mtc_timing_value.hpp | 4 ++-- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/Source/Atmosphere/stratosphere/loader/source/oc/customize.cpp b/Source/Atmosphere/stratosphere/loader/source/oc/customize.cpp index 157a6c1a..2bef467b 100644 --- a/Source/Atmosphere/stratosphere/loader/source/oc/customize.cpp +++ b/Source/Atmosphere/stratosphere/loader/source/oc/customize.cpp @@ -37,7 +37,7 @@ volatile CustomizeTable C = { .commonCpuBoostClock = 2397000, // Default boost clock -.commonEmcMemVolt = 1250000, // LPDDR4X JEDEC Specification +.commonEmcMemVolt = 1175000, // LPDDR4X JEDEC Specification .eristaCpuMaxVolt = 1235, @@ -45,11 +45,11 @@ volatile CustomizeTable C = { .marikoCpuMaxVolt = 1185, -.marikoEmcMaxClock = 2900000, // Hynix NME and Samsung AM-MGCJ Rating (others are 4766MT, 2133MHz) +.marikoEmcMaxClock = 2700000, // Hynix NME and Samsung AM-MGCJ Rating (others are 4766MT, 2133MHz) .marikoEmcVddqVolt = 640000, -.marikoCpuUV = 5, // No undervolt +.marikoCpuUV = 0, // No undervolt .marikoGpuUV = 3, @@ -62,15 +62,15 @@ volatile CustomizeTable C = { .EmcDvbShift = 10, // Primary -.t1_tRCD = 3, -.t2_tRP = 2, -.t3_tRAS = 4, +.t1_tRCD = 0, +.t2_tRP = 0, +.t3_tRAS = 0, // Secondary -.t4_tRRD = 2, -.t5_tRFC = 4, -.t6_tRTW = 4, -.t7_tWTR = 4, -.t8_tREFI = 6, +.t4_tRRD = 0, +.t5_tRFC = 0, +.t6_tRTW = 0, +.t7_tWTR = 0, +.t8_tREFI = 0, /* Set to 4 read and 2 write for 1866bl. */ /* For 2131bl: 8 read and 4 write. */ diff --git a/Source/Atmosphere/stratosphere/loader/source/oc/mtc_timing_value.hpp b/Source/Atmosphere/stratosphere/loader/source/oc/mtc_timing_value.hpp index 0a9aead8..c26fad11 100644 --- a/Source/Atmosphere/stratosphere/loader/source/oc/mtc_timing_value.hpp +++ b/Source/Atmosphere/stratosphere/loader/source/oc/mtc_timing_value.hpp @@ -128,8 +128,8 @@ namespace ams::ldr::oc { const u32 tR2P = 12 + (C.mem_burst_read_latency / 2); inline u32 tR2W; - const u32 tRTM = RL + 9 + (tDQSCK_max / tCK_avg) + FLOOR(tRPST) + CEIL(tR2P / tCK_avg); - const u32 tRATM = tRTM + CEIL(tR2P / tCK_avg) - (BL / 2); + const u32 tRTM = RL + 9 + (tDQSCK_max / tCK_avg) + FLOOR(tRPST) + CEIL(10 / tCK_avg); + const u32 tRATM = tRTM + CEIL(10 / tCK_avg) - 12; inline u32 rdv; inline u32 einput; inline u32 einput_duration;