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
* 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"
namespace ams::ldr::oc {
@@ -96,6 +100,10 @@ volatile CustomizeTable C = {
.commonGpuVoltOffset = 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,
.tRFCpb = 140,
@@ -113,27 +121,27 @@ volatile CustomizeTable C = {
.tDQS2DQ_max = 0.8,
.tDQSQ = 0.18,
.tWTR = 10,
.tRTP = 7.5,
.tWR = 18,
.tWTR = MAX(10, 8 * nCK_mariko),
.tRTP = 7.5, // Cannot find concrete value for this timing
.tWR = MAX(10, 4 * nCK_mariko),
.tR2REF = 25.5,
.tRCD = 18,
.tRRD = 10,
.tRCD = 20, // Cannot find concrete value for this timing
.tRRD = 10, // Cannot find concrete value for this timing
.tREFpb = 488,
.tXP = 10,
.tCMDCKE = 1.75,
.tMRWCKEL = 14,
.tCKELCS = 5,
.tXP = MAX(7.5, 5 * nCK_mariko),
.tCMDCKE = MAX(1.75, 3 * nCK_mariko),
.tMRWCKEL = MAX(14, 10 * nCK_mariko),
.tCKELCS = MAX(5, 5 * nCK_mariko),
.tCSCKEH = 1.75,
.tXSR = 287.5,
.tCKE = 7.5,
.tXSR = MAX(C.tRFcpb + 7.5, 5 * nCK_mariko),
.tCKE = MAX(7.5, 4 * nCK_mariko),
.tSR = 15,
.tFAW = 40,
.tSR = MAX(15, 3 * nCK_mariko),
.tFAW = 30,
.tCKCKEH = 1.75,
.tCKCKEH = MAX(1.75, 3 * nCK_mariko),
.WL = 14,
.RL = 32,

View File

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