diff options
author | Angel Pons <th3fanbus@gmail.com> | 2020-12-12 16:22:18 +0100 |
---|---|---|
committer | Felix Held <felix-coreboot@felixheld.de> | 2020-12-25 21:41:17 +0000 |
commit | 3170e9c0ef90dcbfb0b2e695fec3bd9d142d1db0 (patch) | |
tree | b85200078ab5d0cff5159228a411cd1880d79b20 | |
parent | e0183d6540b8e8a8281f4317b881dfbc57f12bc4 (diff) | |
download | coreboot-3170e9c0ef90dcbfb0b2e695fec3bd9d142d1db0.tar.xz |
nb/intel/sandybridge: Allow to ignore XMP voltage
Native raminit only supports 1.5V operation, but there are DIMMs which
request 1.65V operation in XMP profiles. Add an option to force XMP to
be used when the requested voltage isn't supported, which will run the
DIMMs at 1.5V with XMP timings. Consider this to be overclocking.
Change-Id: I64bfac8f72dadf662ceadfc7998daf26edf5a710
Signed-off-by: Angel Pons <th3fanbus@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/48614
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Felix Held <felix-coreboot@felixheld.de>
-rw-r--r-- | src/northbridge/intel/sandybridge/Kconfig | 13 | ||||
-rw-r--r-- | src/northbridge/intel/sandybridge/raminit.c | 7 |
2 files changed, 19 insertions, 1 deletions
diff --git a/src/northbridge/intel/sandybridge/Kconfig b/src/northbridge/intel/sandybridge/Kconfig index 9cd522f85b..1388b8770d 100644 --- a/src/northbridge/intel/sandybridge/Kconfig +++ b/src/northbridge/intel/sandybridge/Kconfig @@ -64,6 +64,19 @@ config NATIVE_RAMINIT_IGNORE_XMP_MAX_DIMMS Disabled by default as it might cause system instability. Handle with care! +config NATIVE_RAMINIT_IGNORE_XMP_REQUESTED_VOLTAGE + bool "Ignore XMP profile requested voltage" + default n + depends on USE_NATIVE_RAMINIT + help + Native raminit only supports 1.5V operation, but there are DIMMs + which request 1.65V operation in XMP profiles. This option allows + raminit to use these XMP profiles anyway, instead of falling back + to non-XMP settings. + Disabled by default because it allows forcing memory to run out of + specification. Consider this to be an overclocking option. + Handle with care! + config CBFS_SIZE hex default 0x100000 diff --git a/src/northbridge/intel/sandybridge/raminit.c b/src/northbridge/intel/sandybridge/raminit.c index 3077c0ae8f..8acfb98b57 100644 --- a/src/northbridge/intel/sandybridge/raminit.c +++ b/src/northbridge/intel/sandybridge/raminit.c @@ -200,7 +200,12 @@ static void dram_find_spds_ddr3(spd_raw_data *spd, ramctr_timing *ctrl) /* TODO: Support DDR3 voltages other than 1500mV */ printram("XMP profile's requested %u mV is unsupported.\n", dimm->voltage); - spd_decode_ddr3(dimm, spd[spd_slot]); + + if (CONFIG(NATIVE_RAMINIT_IGNORE_XMP_REQUESTED_VOLTAGE)) + printk(BIOS_WARNING, + "XMP requested voltage will be ignored.\n"); + else + spd_decode_ddr3(dimm, spd[spd_slot]); } /* Fill in CRC16 for MRC cache */ |