Default to WT:B timing, update WT:B timing to use nCK as calculation

This commit is contained in:
souldbminersmwc
2025-08-24 19:30:44 -04:00
parent 35fa56d3f7
commit 6e87919f5a
2 changed files with 45 additions and 37 deletions

View File

@@ -15,7 +15,11 @@
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
// ram timing defines
#define MAX(A, B) std::max(A, B)
#define MIN(A, B) std::min(A, B)
#define CEIL(A) std::ceil(A)
#define FLOOR(A) std::floor(A)
#include "customize.hpp" #include "customize.hpp"
namespace ams::ldr::oc { namespace ams::ldr::oc {
@@ -96,6 +100,10 @@ volatile CustomizeTable C = {
.commonGpuVoltOffset = 0, .commonGpuVoltOffset = 0,
.marikoEmcDvbShift = 0, .marikoEmcDvbShift = 0,
// TODO - Don't use defines for these!
#define nCK_erista 1000'000. / C.eristaEmcMaxClock;
#define nCK_mariko 1000'000. / C.marikoEmcMaxClock;
.BL = 16, .BL = 16,
.tRFCpb = 140, .tRFCpb = 140,
@@ -113,27 +121,27 @@ volatile CustomizeTable C = {
.tDQS2DQ_max = 0.8, .tDQS2DQ_max = 0.8,
.tDQSQ = 0.18, .tDQSQ = 0.18,
.tWTR = 10, .tWTR = MAX(10, 8 * nCK_mariko),
.tRTP = 7.5, .tRTP = 7.5, // Cannot find concrete value for this timing
.tWR = 18, .tWR = MAX(10, 4 * nCK_mariko),
.tR2REF = 25.5, .tR2REF = 25.5,
.tRCD = 18, .tRCD = 20, // Cannot find concrete value for this timing
.tRRD = 10, .tRRD = 10, // Cannot find concrete value for this timing
.tREFpb = 488, .tREFpb = 488,
.tXP = 10, .tXP = MAX(7.5, 5 * nCK_mariko),
.tCMDCKE = 1.75, .tCMDCKE = MAX(1.75, 3 * nCK_mariko),
.tMRWCKEL = 14, .tMRWCKEL = MAX(14, 10 * nCK_mariko),
.tCKELCS = 5, .tCKELCS = MAX(5, 5 * nCK_mariko),
.tCSCKEH = 1.75, .tCSCKEH = 1.75,
.tXSR = 287.5, .tXSR = MAX(C.tRFcpb + 7.5, 5 * nCK_mariko),
.tCKE = 7.5, .tCKE = MAX(7.5, 4 * nCK_mariko),
.tSR = 15, .tSR = MAX(15, 3 * nCK_mariko),
.tFAW = 40, .tFAW = 30,
.tCKCKEH = 1.75, .tCKCKEH = MAX(1.75, 3 * nCK_mariko),
.WL = 14, .WL = 14,
.RL = 32, .RL = 32,

View File

@@ -1,41 +1,41 @@
OCS2-MICRON-WTB-PRESET OCS2-MICRON-WTB-PRESET
.BL = 32, .BL = 16,
.tRFCpb = 140, .tRFCpb = 140,
.tRFCab = 280, .tRFCab = 280,
.tRAS = 27, .tRAS = 42,
.tRPpb = 18, .tRPpb = 18,
.tRPab = 21, .tRPab = 21,
.tRC = 38, .tRC = 60,
.tDQSCK_min = 1.5, .tDQSCK_min = 1.5,
.tDQSCK_max = 3.5, .tDQSCK_max = 3.5,
.tWPRE = 2.0, .tWPRE = 1.8,
.tRPST = 0.5, .tRPST = 0.4,
.tDQSS_max = 1.25, .tDQSS_max = 1.25,
.tDQS2DQ_max = 0.7, .tDQS2DQ_max = 0.8,
.tDQSQ = 0.18, .tDQSQ = 0.18,
.tWTR = 10, .tWTR = MAX(10, 8 * nCK_mariko),
.tRTP = 7.5, .tRTP = 7.5, // Cannot find concrete value for this timing
.tWR = 18, .tWR = MAX(10, 4 * nCK_mariko),
.tR2REF = 25.5, .tR2REF = 25.5,
.tRCD = 18, .tRCD = 20, // Cannot find concrete value for this timing
.tRRD = 18, .tRRD = 10, // Cannot find concrete value for this timing
.tREFpb = 488, .tREFpb = 488,
.tXP = 7.5, .tXP = MAX(7.5, 5 * nCK_mariko),
.tCMDCKE = 1.75, .tCMDCKE = MAX(1.75, 3 * nCK_mariko),
.tMRWCKEL = 14, .tMRWCKEL = MAX(14, 10 * nCK_mariko),
.tCKELCS = 5, .tCKELCS = MAX(5, 5 * nCK_mariko),
.tCSCKEH = 1.75, .tCSCKEH = 1.75,
.tXSR = 287.5, .tXSR = MAX(C.tRFcpb + 7.5, 5 * nCK_mariko),
.tCKE = 5, .tCKE = MAX(7.5, 4 * nCK_mariko),
.tSR = 15, .tSR = MAX(15, 3 * nCK_mariko),
.tFAW = 54, .tFAW = 30,
.tCKCKEH = 1.75, .tCKCKEH = MAX(1.75, 3 * nCK_mariko),
.WL = 15, .WL = 14,
.RL = 30, .RL = 32,