Lean Sheng Tan has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/63762 )
Change subject: soc/intel/elkhartlake: Skip FSP Notify APIs ......................................................................
soc/intel/elkhartlake: Skip FSP Notify APIs
Follow this CL(60406) of ADL to skip FSP Notify APIs.
Elkhart Lake SoC deselects Kconfigs as below: - USE_FSP_NOTIFY_PHASE_READY_TO_BOOT - USE_FSP_NOTIFY_PHASE_END_OF_FIRMWARE to skip FSP notify APIs (Ready to boot and End of Firmware) and make use of native coreboot driver to perform SoC recommended operations prior booting to payload/OS.
Additionally, created a helper function `heci_finalize()` to keep HECI related operations separated for easy guarding again config.
Signed-off-by: Lean Sheng Tan sheng.tan@9elements.com Change-Id: I477c204233f83bc96fd5cd39346bff15ed942dc6 --- M src/soc/intel/elkhartlake/Kconfig M src/soc/intel/elkhartlake/finalize.c 2 files changed, 10 insertions(+), 2 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/62/63762/1
diff --git a/src/soc/intel/elkhartlake/Kconfig b/src/soc/intel/elkhartlake/Kconfig index b2d322ca..cbc8704 100644 --- a/src/soc/intel/elkhartlake/Kconfig +++ b/src/soc/intel/elkhartlake/Kconfig @@ -65,8 +65,6 @@ select UDELAY_TSC select UDK_202005_BINDING select USE_FSP_NOTIFY_PHASE_POST_PCI_ENUM - select USE_FSP_NOTIFY_PHASE_READY_TO_BOOT - select USE_FSP_NOTIFY_PHASE_END_OF_FIRMWARE
config MAX_CPUS int diff --git a/src/soc/intel/elkhartlake/finalize.c b/src/soc/intel/elkhartlake/finalize.c index ba1b2c4..c5d8b10 100644 --- a/src/soc/intel/elkhartlake/finalize.c +++ b/src/soc/intel/elkhartlake/finalize.c @@ -37,6 +37,13 @@ sa_lock_pam(); }
+static void heci_finalize(void) +{ + heci_set_to_d0i3(); + if (CONFIG(DISABLE_HECI1_AT_PRE_BOOT)) + heci1_disable(); +} + static void soc_finalize(void *unused) { printk(BIOS_DEBUG, "Finalizing chipset.\n"); @@ -44,6 +51,9 @@ pch_finalize(); apm_control(APM_CNT_FINALIZE); sa_finalize(); + if (CONFIG(USE_FSP_NOTIFY_PHASE_READY_TO_BOOT) && + CONFIG(USE_FSP_NOTIFY_PHASE_END_OF_FIRMWARE)) + heci_finalize();
/* Indicate finalize step with post code */ post_code(POST_OS_BOOT);