Commit graph

2 commits

Author SHA1 Message Date
Arthur Heymans
f6f4ba9e45 nb/intel/x4x/rcven.c: Fix programming coarse offset
This fixes some bitwise logic errors that caused the coarse offset not
to be programmed.

This fixes a regression introduced by 6d7a8c
"nb/intel/x4x/raminit: Rework receive enable calibration"
where the coarse offset doesn't get programmed anymore.

TESTED on Foxconn g41s-k on a DIMM where the final DQS receive enable
delays are close but above and below the edge of a coarse delay setting.

Change-Id: I41869815f782a2ea1178bdea006e3a7587441323
Signed-off-by: Arthur Heymans <arthur@aheymans.xyz>
Reviewed-on: https://review.coreboot.org/22816
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Nico Huber <nico.h@gmx.de>
Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
2017-12-12 12:05:22 +00:00
Arthur Heymans
6d7a8c1125 nb/intel/x4x/raminit: Rework receive enable calibration
Moves receive enable calibration to a separate file to lighten
raminit.c a bit.

Receive enable calibration is quite similar to gm45 so it reuses some
of its function names.

The functional changes are:
* the minimum coarse is now reset for each channel;
* on the second fine search for DQS high, TAP overflow is handled by
  increasing medium;
* start coarse at CAS + 1 instead of CAS - 1. Other Intel northbridges
  do the same and the results are more in line with register dumps
  from vendor bios.
These might improve stability.

TESTED on ga-g41m-es2l

Change-Id: I0c970455e609d3ce96a262cbf110336a2079da4d
Signed-off-by: Arthur Heymans <arthur@aheymans.xyz>
Reviewed-on: https://review.coreboot.org/18692
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Nico Huber <nico.h@gmx.de>
2017-08-20 13:36:03 +00:00