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>
diff --git a/common/board_r.c b/common/board_r.c
index 5278690..a796784 100644
--- a/common/board_r.c
+++ b/common/board_r.c
@@ -693,6 +693,7 @@
#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 3080d9e..dc61b96 100644
--- a/common/event.c
+++ b/common/event.c
@@ -37,6 +37,7 @@
/* 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 c5646b7..a8f046d 100644
--- a/include/event.h
+++ b/include/event.h
@@ -105,6 +105,15 @@
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