aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/northbridge/intel/sandybridge/Kconfig13
-rw-r--r--src/northbridge/intel/sandybridge/raminit.c7
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 */