diff options
author | Artur Rojek | 2023-10-18 16:00:57 +0200 |
---|---|---|
committer | Eugen Hristev | 2023-10-23 17:07:06 +0300 |
commit | 6092ce50efa62806661e5488e0ad72050f0d9827 (patch) | |
tree | aeca76dd72d391c9e88841517b33faa22a20fb1b | |
parent | cd3dbb56874dbf0f85c4c36958e29c2515374a6b (diff) |
event: add new EVT_SETTINGS_R event
Introduce EVT_SETTINGS_R, triggered post-relocation and before console
init.
This event gives an option to perform any platform-dependent setup,
which needs to take place before show_board_info(). Usage examples
include readout of EEPROM stored settings.
Signed-off-by: Artur Rojek <artur@conclusive.pl>
Reviewed-by: Simon Glass <sjg@chromium.org>
-rw-r--r-- | common/board_r.c | 1 | ||||
-rw-r--r-- | common/event.c | 1 | ||||
-rw-r--r-- | include/event.h | 9 |
3 files changed, 11 insertions, 0 deletions
diff --git a/common/board_r.c b/common/board_r.c index 52786901be5..a7967849dc0 100644 --- a/common/board_r.c +++ b/common/board_r.c @@ -693,6 +693,7 @@ static init_fnc_t init_sequence_r[] = { #if defined(CONFIG_ID_EEPROM) mac_read_from_eeprom, #endif + INITCALL_EVENT(EVT_SETTINGS_R), INIT_FUNC_WATCHDOG_RESET #if defined(CONFIG_PCI_INIT_R) && !defined(CONFIG_SYS_EARLY_PCI_INIT) /* diff --git a/common/event.c b/common/event.c index 3080d9ed754..dc61b9672f3 100644 --- a/common/event.c +++ b/common/event.c @@ -37,6 +37,7 @@ const char *const type_name[] = { /* init hooks */ "misc_init_f", "fsp_init_r", + "settings_r", "last_stage_init", /* Fpga load hook */ diff --git a/include/event.h b/include/event.h index c5646b713ad..a8f046da3c3 100644 --- a/include/event.h +++ b/include/event.h @@ -105,6 +105,15 @@ enum event_t { EVT_FSP_INIT_F, /** + * @EVT_SETTINGS_R: + * This event is triggered post-relocation and before console init. + * This gives an option to perform any platform-dependent setup, which + * needs to take place before show_board_info() (e.g. readout of EEPROM + * stored settings). + */ + EVT_SETTINGS_R, + + /** * @EVT_LAST_STAGE_INIT: * This event is triggered just before jumping to the main loop. * Some boards need to perform initialisation immediately before control |