coreboot-kgpe-d16/src/northbridge/intel
Arthur Heymans 95c48cbbb5 nb/intel/x4x: Implement both read and write training
This training find the optimal write DQ delay and read DQS delay
settings. It does so on all lanes at the same time, like
vendor (training each lane individually has poor results).

The results are stored in the sysinfo struct and restored on next
boots and S3 resume.

This potentially increases stability as optimal settings are chosen
and is more necessary for DDR3 raminit where the write DQS delays are
leveled/variable due to the flyby topology.

TESTED on Intel DG43GT with (2G + 1G) on each channel, see that the
results are quite close to the safe original ones (that previous
worked fine) and tested with memtest86+.

Change-Id: Iacdc63b91b4705d1a80437314bfe55385ea5b6c1
Signed-off-by: Arthur Heymans <arthur@aheymans.xyz>
Reviewed-on: https://review.coreboot.org/22329
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Felix Held <felix-coreboot@felixheld.de>
2018-05-01 17:41:31 +00:00
..
common nb/intel/common: Write MRC cache at exit of BS_DEV_INIT 2017-09-05 08:27:51 +00:00
e7505 nb/intel: add IS_ENABLED() around Kconfig symbol references 2017-06-27 17:16:19 +00:00
fsp_rangeley nb/intel/fsp_rangeley: Get rid of device_t 2018-04-30 09:24:11 +00:00
fsp_sandybridge pci: Move inline PCI functions to pci_ops.h 2018-04-20 13:03:54 +00:00
gm45 nb/intel/gm45: Get rid of device_t 2018-04-30 09:22:04 +00:00
haswell pci: Move inline PCI functions to pci_ops.h 2018-04-20 13:03:54 +00:00
i440bx nb/intel/i440: Get rid of device_t 2018-04-30 09:23:28 +00:00
i945 nb/intel/i945: Get rid of device_t 2018-04-30 09:22:19 +00:00
nehalem Fix freeze during chipset lockdown on Nehalem 2018-05-01 16:23:56 +00:00
pineview nb/intel/pineview: Get rid of device_t 2018-04-30 09:23:18 +00:00
sandybridge nb/intel/sandybridge: Get rid of device_t 2018-04-30 09:23:09 +00:00
x4x nb/intel/x4x: Implement both read and write training 2018-05-01 17:41:31 +00:00