summaryrefslogtreecommitdiff
path: root/util
diff options
context:
space:
mode:
authorPatrick Rudolph <siro@das-labor.org>2016-01-24 14:07:15 +0100
committerMartin Roth <martinroth@google.com>2016-02-04 01:44:10 +0100
commita1c3beddbb197b3b8b92c7e236f72fd4425518ce (patch)
tree5f360846f0705c469efbdfdd0039155ffacab803 /util
parenta357ece751fb55a0899f2c659addf86e79689a18 (diff)
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>
Diffstat (limited to 'util')
0 files changed, 0 insertions, 0 deletions