OCS2-MICRON-WTB-PRESET
.BL = 16,
.tRFCpb = 140,
.tRFCab = 280,
.tRAS = (uint32_t)MAX(42.0, 3 * C.nCK_mariko),
.tRPpb = 18,
.tRPab = 21,
.tRC = C.tRAS + C.tRPab,

.tDQSCK_min = 1.5,
.tDQSCK_max = 3.5,
.tWPRE = 2 * C.nCK_mariko,
.tRPST = 1.5 * C.nCK_mariko,
.tDQSS_max = 1.25 - ((60 - 30) / C.tCK_avg_m),
.tDQS2DQ_max = 0.8,
.tDQSQ = 0.18,

.tWTR = (uint32_t)MAX(10.0, 8 * C.nCK_mariko),
.tRTP = C.nCK_mariko * C.tCK_avg_m, // Cannot find concrete value for this timing
.tWR = (uint32_t)MAX(10.0, 4 * C.nCK_mariko),
.tR2REF = 8, // Try 16, 8 or 9 × 2 × 8 or 16

.tRCD = 20, // Cannot find concrete value for this timing
.tRRD = 10, // Cannot find concrete value for this timing
.tREFpb = 488,

.tXP = MAX(7.5, 5 * C.nCK_mariko),
.tCMDCKE = MAX(1.75, 3 * C.nCK_mariko),
.tMRWCKEL = (uint32_t)MAX(14.0, 10 * C.nCK_mariko),
.tCKELCS = MAX(5.0, 5 * C.nCK_mariko),
.tCSCKEH = 1.75,
.tXSR = MAX(C.tRFCpb + 7.5, 5 * C.nCK_mariko),
.tCKE = MAX(7.5, 4 * C.nCK_mariko),

.tSR = (uint32_t)MAX(15.0, 3 * C.nCK_mariko),
.tFAW = (uint32_t)(4 * C.tCK_avg_m),

.tCKCKEH = MAX(1.75, 3 * C.nCK_mariko),

.WL = 14,
.RL = 32,
