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 <arthur@aheymans.xyz>
Reviewed-on: https://review.coreboot.org/27100
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Felix Held <felix-coreboot@felixheld.de>
This commit is contained in:
Arthur Heymans 2018-06-14 10:53:51 +02:00
parent 76f7b79fb8
commit df946b8696
1 changed files with 5 additions and 0 deletions

View File

@ -653,6 +653,11 @@ void sdram_initialize(int boot_path, const u8 *spd_map)
/* Failed S3 resume, reset to come up cleanly */ /* Failed S3 resume, reset to come up cleanly */
outb(0x6, 0xcf9); outb(0x6, 0xcf9);
halt(); 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; ctrl_cached = NULL;
} else { } else {