nb/intel/sandybridge: Increase tRWDRDD with fast RAM

This has been reported to increase stability, and vendor BIOS also does
the same.

Change-Id: I4e3ea76f61771683dea61b18bee531516cda5843
Signed-off-by: Angel Pons <th3fanbus@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/47744
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Arthur Heymans <arthur@aheymans.xyz>
diff --git a/src/northbridge/intel/sandybridge/raminit_common.c b/src/northbridge/intel/sandybridge/raminit_common.c
index 7e93786..6ba91c9 100644
--- a/src/northbridge/intel/sandybridge/raminit_common.c
+++ b/src/northbridge/intel/sandybridge/raminit_common.c
@@ -2778,6 +2778,9 @@
 
 void set_read_write_timings(ramctr_timing *ctrl)
 {
+	/* Use a larger delay when running fast to improve stability */
+	const u32 tRWDRDD_inc = ctrl->tCK <= TCK_1066MHZ ? 4 : 2;
+
 	int channel, slotrank;
 
 	FOR_ALL_POPULATED_CHANNELS {
@@ -2800,7 +2803,7 @@
 			.tRRDD   = val,
 			.tWWDR   = val,
 			.tWWDD   = val,
-			.tRWDRDD = ctrl->ref_card_offset[channel] + 2,
+			.tRWDRDD = ctrl->ref_card_offset[channel] + tRWDRDD_inc,
 			.tWRDRDD = tWRDRDD,
 			.tRWSR   = 2,
 			.dec_wrd = 1,