summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/drivers/intel/fsp2_0/silicon_init.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/drivers/intel/fsp2_0/silicon_init.c b/src/drivers/intel/fsp2_0/silicon_init.c
index 52d714d503..89b8a1b2a2 100644
--- a/src/drivers/intel/fsp2_0/silicon_init.c
+++ b/src/drivers/intel/fsp2_0/silicon_init.c
@@ -2,6 +2,7 @@
#include <arch/null_breakpoint.h>
#include <bootsplash.h>
+#include <bootstate.h>
#include <cbfs.h>
#include <cbmem.h>
#include <commonlib/fsp.h>
@@ -142,9 +143,6 @@ static void do_silicon_init(struct fsp_header *hdr)
timestamp_add_now(TS_FSP_SILICON_INIT_END);
post_code(POSTCODE_FSP_SILICON_EXIT);
- if (CONFIG(BMP_LOGO))
- bmp_release_logo();
-
fsp_debug_after_silicon_init(status);
fsps_return_value_handler(FSP_SILICON_INIT_API, status);
@@ -261,3 +259,11 @@ void fsp_silicon_init(void)
}
__weak void soc_load_logo(FSPS_UPD *supd) { }
+
+static void release_logo(void *arg_unused)
+{
+ if (CONFIG(BMP_LOGO))
+ bmp_release_logo();
+}
+
+BOOT_STATE_INIT_ENTRY(BS_PAYLOAD_LOAD, BS_ON_EXIT, release_logo, NULL);