diff --git a/src/soc/intel/pantherlake/chip.h b/src/soc/intel/pantherlake/chip.h index e060a28bb3..b424cb1ebc 100644 --- a/src/soc/intel/pantherlake/chip.h +++ b/src/soc/intel/pantherlake/chip.h @@ -653,6 +653,9 @@ struct soc_intel_pantherlake_config { * for wake will be exposed in ACPI */ bool thc_wake_on_touch[NUM_THC]; + + /* Disable the progress bar during MRC training operations. */ + bool disable_progress_bar; }; typedef struct soc_intel_pantherlake_config config_t; diff --git a/src/soc/intel/pantherlake/romstage/ux.c b/src/soc/intel/pantherlake/romstage/ux.c index e9d94fd315..5f511a2827 100644 --- a/src/soc/intel/pantherlake/romstage/ux.c +++ b/src/soc/intel/pantherlake/romstage/ux.c @@ -5,12 +5,15 @@ #include #include #include +#include +#include #include "ux.h" static bool ux_inform_user_of_operation(const char *name, enum ux_locale_msg id, FSPM_UPD *mupd) { + const struct soc_intel_pantherlake_config *config = config_of_soc(); timestamp_add_now(TS_ESOL_START); if (!CONFIG(CHROMEOS_ENABLE_ESOL)) { @@ -45,6 +48,8 @@ static bool ux_inform_user_of_operation(const char *name, enum ux_locale_msg id, } m_cfg->VgaInitControl = VGA_INIT_CONTROL_ENABLE; + if (config->disable_progress_bar) + m_cfg->VgaInitControl |= VGA_INIT_DISABLE_ANIMATION; m_cfg->VbtPtr = (efi_uintn_t)vbt; m_cfg->VbtSize = vbt_size; m_cfg->LidStatus = CONFIG(VBOOT_LID_SWITCH) ? get_lid_switch() : CONFIG(RUN_FSP_GOP); diff --git a/src/soc/intel/pantherlake/romstage/ux.h b/src/soc/intel/pantherlake/romstage/ux.h index 28858d5843..85a641dec8 100644 --- a/src/soc/intel/pantherlake/romstage/ux.h +++ b/src/soc/intel/pantherlake/romstage/ux.h @@ -10,5 +10,6 @@ bool ux_inform_user_of_poweroff_operation(const char *name, FSPM_UPD *mupd); /* VGA initialization configuration */ #define VGA_INIT_CONTROL_ENABLE BIT(0) +#define VGA_INIT_DISABLE_ANIMATION BIT(4) #endif /* _SOC_INTEL_PANTHERLAKE_ROMSTAGE_UX_H_ */