summaryrefslogtreecommitdiff
path: root/src/soc/intel/alderlake
diff options
context:
space:
mode:
Diffstat (limited to 'src/soc/intel/alderlake')
-rw-r--r--src/soc/intel/alderlake/romstage/fsp_params.c8
-rw-r--r--src/soc/intel/alderlake/romstage/romstage.c4
-rw-r--r--src/soc/intel/alderlake/romstage/ux.c5
-rw-r--r--src/soc/intel/alderlake/romstage/ux.h2
4 files changed, 12 insertions, 7 deletions
diff --git a/src/soc/intel/alderlake/romstage/fsp_params.c b/src/soc/intel/alderlake/romstage/fsp_params.c
index 6fec2c7b10..2e8a73cac8 100644
--- a/src/soc/intel/alderlake/romstage/fsp_params.c
+++ b/src/soc/intel/alderlake/romstage/fsp_params.c
@@ -6,6 +6,7 @@
#include <cpu/intel/cpu_ids.h>
#include <device/device.h>
#include <drivers/wifi/generic/wifi.h>
+#include <elog.h>
#include <fsp/fsp_debug_event.h>
#include <fsp/util.h>
#include <gpio.h>
@@ -423,9 +424,10 @@ void platform_fsp_memory_init_params_cb(FSPM_UPD *mupd, uint32_t version)
* training. Memory training can take a while so let's inform the end
* user with an on-screen text message.
*/
- if (!arch_upd->NvsBufferPtr)
- ux_inform_user_of_update_operation("memory training");
-
+ if (!arch_upd->NvsBufferPtr) {
+ if (ux_inform_user_of_update_operation("memory training"))
+ elog_add_event_byte(ELOG_TYPE_FW_EARLY_SOL, ELOG_FW_EARLY_SOL_MRC);
+ }
config = config_of_soc();
soc_memory_init_params(m_cfg, config);
diff --git a/src/soc/intel/alderlake/romstage/romstage.c b/src/soc/intel/alderlake/romstage/romstage.c
index 2ccadbca4a..2c0bdea11a 100644
--- a/src/soc/intel/alderlake/romstage/romstage.c
+++ b/src/soc/intel/alderlake/romstage/romstage.c
@@ -4,6 +4,7 @@
#include <cbmem.h>
#include <cf9_reset.h>
#include <console/console.h>
+#include <elog.h>
#include <fsp/util.h>
#include <intelblocks/cfg.h>
#include <intelblocks/cse.h>
@@ -149,7 +150,8 @@ static void save_dimm_info(void)
void cse_fw_update_misc_oper(void)
{
- ux_inform_user_of_update_operation("CSE update");
+ if (ux_inform_user_of_update_operation("CSE update"))
+ elog_add_event_byte(ELOG_TYPE_FW_EARLY_SOL, ELOG_FW_EARLY_SOL_CSE_SYNC);
}
void cse_board_reset(void)
diff --git a/src/soc/intel/alderlake/romstage/ux.c b/src/soc/intel/alderlake/romstage/ux.c
index 66b2befee7..5dba194a6b 100644
--- a/src/soc/intel/alderlake/romstage/ux.c
+++ b/src/soc/intel/alderlake/romstage/ux.c
@@ -6,13 +6,14 @@
#include "ux.h"
-void ux_inform_user_of_update_operation(const char *name)
+bool ux_inform_user_of_update_operation(const char *name)
{
if (!CONFIG(MAINBOARD_HAS_EARLY_LIBGFXINIT) ||
!early_graphics_init())
- return;
+ return false;
printk(BIOS_INFO, "Informing user on-display of %s.\n", name);
vga_write_text(VGA_TEXT_CENTER, VGA_TEXT_HORIZONTAL_MIDDLE,
"Your device is finishing an update. This may take 1-2 minutes.\nPlease do not turn off your device.");
+ return true;
}
diff --git a/src/soc/intel/alderlake/romstage/ux.h b/src/soc/intel/alderlake/romstage/ux.h
index f09daed93d..e7e1d9957e 100644
--- a/src/soc/intel/alderlake/romstage/ux.h
+++ b/src/soc/intel/alderlake/romstage/ux.h
@@ -1,3 +1,3 @@
/* SPDX-License-Identifier: GPL-2.0-only */
-void ux_inform_user_of_update_operation(const char *name);
+bool ux_inform_user_of_update_operation(const char *name);