From 1174dad2e26308b5d3d790756ac0cd0649646dfb Mon Sep 17 00:00:00 2001 From: Matt DeVillier Date: Mon, 15 Feb 2021 11:23:58 -0600 Subject: [PATCH] mb/purism/librem_mini: Enable DRAM Refresh2X Enable Refresh2X to mitigate RAM corruption during long (> 1hr) periods of S3/suspend, which leads to failure to successfully resume from S3. Unknown if an issue with all DRAM types, but tested w/Kingston KVR24S17D8 16GiB DDR4 SODIMMs. Test: Build/boot Librem Mini v1/v2, put device in suspend, wait > 1hr, ensure resume from S3 successful 100% of the time. Change-Id: Ie8e3ebbb1ebdcd98813b5f36f580a235712d2f97 Signed-off-by: Matt DeVillier Reviewed-on: https://review.coreboot.org/c/coreboot/+/50756 Reviewed-by: Angel Pons Reviewed-by: Paul Menzel Tested-by: build bot (Jenkins) --- src/mainboard/purism/librem_cnl/variants/librem_mini/variant.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/mainboard/purism/librem_cnl/variants/librem_mini/variant.c b/src/mainboard/purism/librem_cnl/variants/librem_mini/variant.c index 9d7e27fd3e..4f415c4e23 100644 --- a/src/mainboard/purism/librem_cnl/variants/librem_mini/variant.c +++ b/src/mainboard/purism/librem_cnl/variants/librem_mini/variant.c @@ -9,4 +9,7 @@ void variant_memory_init_params(FSP_M_CONFIG *mem_cfg) mem_cfg->PchSataHsioRxGen3EqBoostMagEnable[2] = 1; mem_cfg->PchSataHsioRxGen3EqBoostMag[0] = 2; mem_cfg->PchSataHsioRxGen3EqBoostMag[2] = 1; + + /* Enable Refresh2X to mitigate S3 resume issues */ + mem_cfg->Refresh2X = 1; }