nb/intel/x4x: Reset DQS probe on all channels

Eaglelake MRC 2.55 does this, and also stalls for less time.

Change-Id: Iaaefd32c341a490e5c129df865407ec3f8da8212
Signed-off-by: Angel Pons <th3fanbus@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/49385
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Arthur Heymans <arthur@aheymans.xyz>
This commit is contained in:
Angel Pons 2021-01-12 23:38:44 +01:00 committed by Patrick Georgi
parent eef4343a9f
commit bc15e01958
1 changed files with 7 additions and 5 deletions

View File

@ -28,11 +28,13 @@ static u8 sampledqs(u32 addr, u8 lane, u8 channel)
{
u32 sample_offset = 0x400 * channel + 0x561 + lane * 4;
/* Reset the DQS probe */
MCHBAR8(RESET_CNTL(channel)) &= ~0x2;
udelay(2);
MCHBAR8(RESET_CNTL(channel)) |= 0x2;
udelay(2);
/* Reset the DQS probe, on both channels? */
for (u8 i = 0; i < TOTAL_CHANNELS; i++) {
MCHBAR8(RESET_CNTL(i)) &= ~0x2;
udelay(1);
MCHBAR8(RESET_CNTL(i)) |= 0x2;
udelay(1);
}
mfence();
/* Read strobe */
read32((u32 *)addr);