From df946b8696731cda45a7e37e934307c3153b824f Mon Sep 17 00:00:00 2001 From: Arthur Heymans Date: Thu, 14 Jun 2018 10:53:51 +0200 Subject: nb/intel/x4x: Issue a hard reset with empty MRC cache on warm reset The dram controller cannot fully initialize the dram on warm reset (receive enable calibration consistently fails) therefore requiring cached timings. This option is mostly useful when rebooting after having flashed a new rom which overwrites the mrc cache region. Change-Id: I405c0eca076fe081641ede9a670f734c98cbf8fc Signed-off-by: Arthur Heymans Reviewed-on: https://review.coreboot.org/27100 Tested-by: build bot (Jenkins) Reviewed-by: Felix Held --- src/northbridge/intel/x4x/raminit.c | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'src') diff --git a/src/northbridge/intel/x4x/raminit.c b/src/northbridge/intel/x4x/raminit.c index d41b74c8db..9d37ada38f 100644 --- a/src/northbridge/intel/x4x/raminit.c +++ b/src/northbridge/intel/x4x/raminit.c @@ -653,6 +653,11 @@ void sdram_initialize(int boot_path, const u8 *spd_map) /* Failed S3 resume, reset to come up cleanly */ outb(0x6, 0xcf9); halt(); + } else if (boot_path == BOOT_PATH_WARM_RESET) { + /* On warm reset some of dram calibrations fail + and therefore requiring valid cached settings */ + outb(0xe, 0xcf9); + halt(); } ctrl_cached = NULL; } else { -- cgit v1.2.3