From 8565c03caf6ea505e3542be01a2cc9b532449728 Mon Sep 17 00:00:00 2001 From: Arthur Heymans Date: Sun, 30 Apr 2017 17:36:31 +0200 Subject: 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 Reviewed-on: https://review.coreboot.org/19506 Tested-by: build bot (Jenkins) Reviewed-by: Nico Huber --- src/northbridge/intel/x4x/raminit.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/northbridge') 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; -- cgit v1.2.3