summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArthur Heymans <arthur@aheymans.xyz>2017-04-30 17:36:31 +0200
committerArthur Heymans <arthur@aheymans.xyz>2017-05-04 09:31:26 +0200
commit8565c03caf6ea505e3542be01a2cc9b532449728 (patch)
treec6dcc20995e5577f072392c96566a9571168dde4
parenteae521f9136aff255fa71712c0a145cdfcea358d (diff)
nb/intel/x4x/raminit: Change reset type on incomplete raminit reset
The checkreset() function checks if raminit previously succeeded (pmcon2 bit7 == 0). If this is not the case it will issue a hot reset (writing 0x6 to 0xcf9). On the next attempt to boot the system BOOT_PATH_RESET path will be taken. This boot path can only successfully initialize memory if the system was reset from a state where raminit succeeded, which is not the case here. This can be fixed by issuing a cold reset instead of a hot reset. Change-Id: Idbcf034c3777a64cc3fb92dc603d10470a6c8cb6 Signed-off-by: Arthur Heymans <arthur@aheymans.xyz> Reviewed-on: https://review.coreboot.org/19506 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Nico Huber <nico.h@gmx.de>
-rw-r--r--src/northbridge/intel/x4x/raminit.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/northbridge/intel/x4x/raminit.c b/src/northbridge/intel/x4x/raminit.c
index 7d352f11d3..f852181d4a 100644
--- a/src/northbridge/intel/x4x/raminit.c
+++ b/src/northbridge/intel/x4x/raminit.c
@@ -330,7 +330,7 @@ static void checkreset_ddr2(int boot_path)
pci_write_config8(PCI_DEV(0, 0, 0), 0xf0, reg8 | (1 << 2));
printk(BIOS_DEBUG, "Reset...\n");
- outb(0x6, 0xcf9);
+ outb(0xe, 0xcf9);
asm ("hlt");
}
pmcon2 |= 0x80;