I have problem with S3 mode on Haswell board. Everything is fine if S3 time
is very small (<15 seconds), but if it is longer, coreboot won't resume. It
fails on quick_ram_check.
I've enabled mrc.cache and ME in coreboot. I use ME binary from original
board and MRC.bin from Google Panther.
Log from S3 resume:
"""
Disabling Watchdog reboot... done.
SMBus controller enabled.
Setting up static northbridge registers... done.
Initializing Graphics...
Back from haswell_early_initialization()
Resume from S3 detected.
CPU id(40651) ucode:0000001c Intel(R) Core(TM) i7-4650U CPU @ 1.70GHz
AES supported, TXT supported, VT supported
PCH type: LP Premium, device id: 9c43, rev id 4
Starting UEFI PEI System Agent
CBFS: CBFS_HEADER_ROM_ADDRESS: 0xfffff7d0/0x1000000
CBFS: CBFS location: 0xf00000~0xfff7c0, align: 64
CBFS: Looking for 'mrc.cache' starting from 0xf00000.
CBFS: - load entry 0xf00000 file name (16 bytes)...
CBFS: (unmatched file @0xf00000: bootsplash.jpg)
CBFS: - load entry 0xf187c0 file name (16 bytes)...
CBFS: (unmatched file @0xf187c0: bootorder)
CBFS: - load entry 0xf18b80 file name (16 bytes)...
CBFS: (unmatched file @0xf18b80: cmos_layout.bin)
CBFS: - load entry 0xf19040 file name (32 bytes)...
CBFS: (unmatched file @0xf19040: pci8086,0a26.rom)
CBFS: - load entry 0xf29080 file name (72 bytes)...
CBFS: (unmatched file @0xf29080: cpu_microcode_blob.bin)
CBFS: - load entry 0xf2e100 file name (32 bytes)...
CBFS: (unmatched file @0xf2e100: etc/usb-time-sigatt)
CBFS: - load entry 0xf2e140 file name (16 bytes)...
CBFS: (unmatched file @0xf2e140: config)
CBFS: - load entry 0xf2fa00 file name (16 bytes)...
CBFS: (unmatched file @0xf2fa00: revision)
CBFS: - load entry 0xf2fc80 file name (16 bytes)...
CBFS: (unmatched file @0xf2fc80: )
CBFS: - load entry 0xf2ff80 file name (76 bytes)...
CBFS: (unmatched file @0xf2ff80: fallback/romstage)
CBFS: - load entry 0xf38f00 file name (32 bytes)...
CBFS: (unmatched file @0xf38f00: fallback/ramstage)
CBFS: - load entry 0xf4d0c0 file name (32 bytes)...
CBFS: (unmatched file @0xf4d0c0: fallback/payload)
CBFS: - load entry 0xf5e8c0 file name (32 bytes)...
CBFS: (unmatched file @0xf5e8c0: pci8086,1521.rom)
CBFS: - load entry 0xf6e900 file name (16 bytes)...
CBFS: (unmatched file @0xf6e900: )
CBFS: - load entry 0xf9ffc0 file name (40 bytes)...
CBFS: (unmatched file @0xf9ffc0: mrc.bin)
CBFS: - load entry 0xfceb40 file name (16 bytes)...
CBFS: (unmatched file @0xfceb40: )
CBFS: - load entry 0xfdffc0 file name (40 bytes)...
CBFS: Found file (offset=0xfe0000, len=65536).
find_current_mrc_cache_local: picked entry 0 from cache block
prepare_mrc_cache: at fffe0010, size fe0 checksum 9771
CBFS: CBFS_HEADER_ROM_ADDRESS: 0xfffff7d0/0x1000000
CBFS: CBFS location: 0xf00000~0xfff7c0, align: 64
CBFS: Looking for 'mrc.bin' starting from 0xf00000.
CBFS: - load entry 0xf00000 file name (16 bytes)...
CBFS: (unmatched file @0xf00000: bootsplash.jpg)
CBFS: - load entry 0xf187c0 file name (16 bytes)...
CBFS: (unmatched file @0xf187c0: bootorder)
CBFS: - load entry 0xf18b80 file name (16 bytes)...
CBFS: (unmatched file @0xf18b80: cmos_layout.bin)
CBFS: - load entry 0xf19040 file name (32 bytes)...
CBFS: (unmatched file @0xf19040: pci8086,0a26.rom)
CBFS: - load entry 0xf29080 file name (72 bytes)...
CBFS: (unmatched file @0xf29080: cpu_microcode_blob.bin)
CBFS: - load entry 0xf2e100 file name (32 bytes)...
CBFS: (unmatched file @0xf2e100: etc/usb-time-sigatt)
CBFS: - load entry 0xf2e140 file name (16 bytes)...
CBFS: (unmatched file @0xf2e140: config)
CBFS: - load entry 0xf2fa00 file name (16 bytes)...
CBFS: (unmatched file @0xf2fa00: revision)
CBFS: - load entry 0xf2fc80 file name (16 bytes)...
CBFS: (unmatched file @0xf2fc80: )
CBFS: - load entry 0xf2ff80 file name (76 bytes)...
CBFS: (unmatched file @0xf2ff80: fallback/romstage)
CBFS: - load entry 0xf38f00 file name (32 bytes)...
CBFS: (unmatched file @0xf38f00: fallback/ramstage)
CBFS: - load entry 0xf4d0c0 file name (32 bytes)...
CBFS: (unmatched file @0xf4d0c0: fallback/payload)
CBFS: - load entry 0xf5e8c0 file name (32 bytes)...
CBFS: (unmatched file @0xf5e8c0: pci8086,1521.rom)
CBFS: - load entry 0xf6e900 file name (16 bytes)...
CBFS: (unmatched file @0xf6e900: )
CBFS: - load entry 0xf9ffc0 file name (40 bytes)...
CBFS: Found file (offset=0xfa0000, len=191236).
System Agent: Starting up...
System Agent: S3 resume detected
System Agent: Initializing PCH
install_ppi: overwrite GUID {ed097352-9041-445a-80b6-b29d509e8845}
install_ppi: overwrite GUID {908c7f8b-5c48-47fb-8357-f5fd4e235276}
System Agent: Initializing PCH (SMBUS)
System Agent: Initializing PCH (USB)
System Agent: Initializing PCH (SA Init)
System Agent: Initializing PCH (Me UMA)
System Agent: Initializing Memory
System Agent: Done.
Sanity checking heap.
System Agent Version 1.6.1 Build 2
memcfg DDR3 clock 1600 MHz
memcfg channel assignment: A: 0, B 1, C 2
memcfg channel[0] config (00600010):
ECC inactive
enhanced interleave mode on
rank interleave on
DIMMA 4096 MB width x8 or x32 single rank, selected
DIMMB 0 MB width x8 or x32 single rank
memcfg channel[1] config (00600000):
ECC inactive
enhanced interleave mode on
rank interleave on
DIMMA 0 MB width x8 or x32 single rank, selected
DIMMB 0 MB width x8 or x32 single rank
ME: FW Partition Table : OK
ME: Bringup Loader Failure : NO
ME: Firmware Init Complete : NO
ME: Manufacturing Mode : YES
ME: Boot Options Present : NO
ME: Update In Progress : NO
ME: Current Working State : Initializing
ME: Current Operation State : Bring up
ME: Current Operation Mode : Normal
ME: Error Code : Debug Failure
ME: Progress Phase : BUP Phase
ME: Power Management Event : Clean global reset
ME: Progress Phase State : 0x7b
before quick_ram_check
RAM INIT FAILURE!
""""
It seems like DRAM controller and ME are initialized correctly (like in
normal boot), what can be wrong?
Does S3 work on Haswell boards?