From dca3cb572bb2f506b8ec57bb7e6017b0b5e8acf2 Mon Sep 17 00:00:00 2001 From: Angel Pons Date: Fri, 13 Nov 2020 13:42:07 +0100 Subject: [PATCH] nb/intel/sandybridge: Limit SRT to Ivy Bridge and slow RAM Reference code never enables SRT for Sandy Bridge, and only enables it for Ivy Bridge when the memory frequency is at most 1066 MHz. Tested on Asus P8H61-M PRO, still boots. Change-Id: I50527f311340584cf8290de2114ec2694cca3a83 Signed-off-by: Angel Pons Reviewed-on: https://review.coreboot.org/c/coreboot/+/47568 Tested-by: build bot (Jenkins) Reviewed-by: Arthur Heymans --- src/northbridge/intel/sandybridge/raminit_common.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/northbridge/intel/sandybridge/raminit_common.c b/src/northbridge/intel/sandybridge/raminit_common.c index 4d478a06ab..453222e59d 100644 --- a/src/northbridge/intel/sandybridge/raminit_common.c +++ b/src/northbridge/intel/sandybridge/raminit_common.c @@ -759,13 +759,14 @@ static void dram_mr2(ramctr_timing *ctrl, u8 rank, int channel) { u16 pasr, cwl, mr2reg; odtmap odt; - int srt; + int srt = 0; pasr = 0; cwl = ctrl->CWL - 5; odt = get_ODT(ctrl, channel); - srt = ctrl->extended_temperature_range && !ctrl->auto_self_refresh; + if (IS_IVY_CPU(ctrl->cpu) && ctrl->tCK >= TCK_1066MHZ) + srt = ctrl->extended_temperature_range && !ctrl->auto_self_refresh; mr2reg = 0; mr2reg = (mr2reg & ~0x07) | pasr;