coreboot-kgpe-d16/src
Patrick Rudolph a1c3beddbb nb/intel/sandybridge/raminit: Fix two dimms per channel
Issue observed:
The system boots with 4G in channel 0 and 4G in channel 1.
The system doesn't boot with any combination of 4G + 1G in
channel 0 and 4G in channel 1.
In both cases DIMM1 failed, while DIMM0 showed no issues.

Problem description:
The CLK to CMD/CTL was off by a half clock cycle.
The find the issue I X-Y plotted timC vs timB for every
lane on the failing rank.
You can see an offset by 32 units for timB, that is not present on
other ranks.
It turns out that the XOVER CMD/XOVER CTL enable bit for DIMM1 was
missing in program_timings(), which caused the clock offset.

Problem solution:
Add two functions to calculate XOVER CMD and XOVER CTL and use both
to set XOVER in program_timings() and dram_xover().

Final testing result:
The system boots with 4G + 1G in channel 0 and 4G in channel 1.

Test system:
 * Intel IvyBridge
 * Gigabyte GA-B75M-D3H

Change-Id: I88694c86054ade77e9d8bb2f1fdaf7bc559c1218
Signed-off-by: Patrick Rudolph <siro@das-labor.org>
Reviewed-on: https://review.coreboot.org/13415
Tested-by: build bot (Jenkins)
Reviewed-by: Martin Roth <martinroth@google.com>
2016-02-04 01:44:10 +01:00
..
acpi acpi/: add missing license header 2016-01-14 22:52:11 +01:00
arch xcompile: Add a way to specify -march=i586 2016-02-03 02:58:10 +01:00
commonlib commonlib: move uefi includes out of commonlib includes 2016-02-02 14:27:03 +01:00
console console: Simplify bootblock console Kconfig selection logic 2016-01-21 05:37:27 +01:00
cpu src: Fix various spelling and whitespace issues. 2016-02-02 14:37:09 +01:00
device arch/x86: Drop arch/pciconf.h 2016-01-26 20:22:44 +01:00
drivers soc/intel/common: Use SoC specific routine to read/write MTRRs 2016-02-02 19:00:35 +01:00
ec drivers/pc80: Add PS/2 mouse presence detect 2016-02-01 22:10:46 +01:00
include include/device: Move inline functions from pci_def.h to pci.h 2016-02-03 03:32:58 +01:00
lib lib: Support UNCOMPRESSED_RAMSTAGE 2016-02-03 22:17:07 +01:00
mainboard src: Fix various spelling and whitespace issues. 2016-02-02 14:37:09 +01:00
northbridge nb/intel/sandybridge/raminit: Fix two dimms per channel 2016-02-04 01:44:10 +01:00
soc soc/intel/common: Use SoC specific routine to read/write MTRRs 2016-02-02 19:00:35 +01:00
southbridge drivers/pc80: Add PS/2 mouse presence detect 2016-02-01 22:10:46 +01:00
superio drivers/pc80: Add PS/2 mouse presence detect 2016-02-01 22:10:46 +01:00
vendorcode chromeos: Sign FW_MAIN_A and FW_MAIN_B 2016-02-03 20:16:33 +01:00
Kconfig build_system: Extend site-local 2016-02-03 15:45:14 +01:00