drivers/intel/fsp2_0: Handle FspNotify calls

Other SOC platforms need to handle the FspNotify calls in the same way
as Apollo Lake.  Migrate the FspNotify calls into the FSP 2.0 driver.
Provide a platform callback to handle anything else that needs to be
done after the FspNotify call.

Display the MTRRs before the first call to fsp_notify.

TEST=Build and run on Galileo Gen2

Change-Id: I1ff327d77516d4ea212740c16c2514c2908758a2
Signed-off-by: Lee Leahy <leroy.p.leahy@intel.com>
Reviewed-on: https://review.coreboot.org/15855
Tested-by: build bot (Jenkins)
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
This commit is contained in:
Lee Leahy
2016-08-01 13:55:02 -07:00
parent 9671faa497
commit 806fa2463f
3 changed files with 37 additions and 20 deletions

View File

@@ -406,28 +406,13 @@ struct chip_operations soc_intel_apollolake_ops = {
.final = &soc_final
};
static void fsp_notify_dummy(void *arg)
void platform_fsp_notify_status(enum fsp_notify_phase phase)
{
enum fsp_notify_phase ph = (enum fsp_notify_phase) arg;
fsp_notify(ph);
/* Call END_OF_FIRMWARE Notify after READY_TO_BOOT Notify */
if (ph == READY_TO_BOOT) {
fsp_notify_dummy((void *)END_OF_FIRMWARE);
/* Hide the P2SB device to align with previous behavior. */
/* Hide the P2SB device to align with previous behavior. */
if (phase == END_OF_FIRMWARE)
p2sb_hide();
}
}
BOOT_STATE_INIT_ENTRY(BS_DEV_RESOURCES, BS_ON_EXIT, fsp_notify_dummy,
(void *) AFTER_PCI_ENUM);
BOOT_STATE_INIT_ENTRY(BS_PAYLOAD_LOAD, BS_ON_EXIT, fsp_notify_dummy,
(void *) READY_TO_BOOT);
BOOT_STATE_INIT_ENTRY(BS_OS_RESUME, BS_ON_ENTRY, fsp_notify_dummy,
(void *) READY_TO_BOOT);
/*
* spi_init() needs to run unconditionally on every boot (including resume) to
* allow write protect to be disabled for eventlog and nvram updates. This needs