feat(console): introduce EARLY_CONSOLE

This is a generic porting of what was done on ST platforms with flag
STM32MP_EARLY_CONSOLE. It creates the flag and the prototype for
plat_setup_early_console(). This function depends on platform
implementation. This function call is added at the beginning of each BL
image early setup function.
The patch also introduce an extra log macro: EARLY_ERROR. This can
replace ERROR macro in code that will only be executed before the
default console is enabled, and will do nothing when the EARLY_CONSOLE
is not enabled. This can then save some space in memory.

Signed-off-by: Yann Gautier <yann.gautier@st.com>
Change-Id: I77bf0a0c4289b4c7df94e4bfb783a938e05bf023
This commit is contained in:
Yann Gautier 2024-01-16 19:39:31 +01:00
parent a1255c7585
commit ae770fedf4
11 changed files with 62 additions and 7 deletions

View file

@ -230,6 +230,13 @@ Common build options
contributions are still expected to build with ``W=0`` and ``E=1`` (the
default).
- ``EARLY_CONSOLE``: This option is used to enable early traces before default
console is properly setup. It introduces EARLY_* traces macros, that will
use the non-EARLY traces macros if the flag is enabled, or do nothing
otherwise. To use this feature, platforms will have to create the function
plat_setup_early_console().
Default is 0 (disabled)
- ``EL3_PAYLOAD_BASE``: This option enables booting an EL3 payload instead of
the normal boot flow. It must specify the entry point address of the EL3
payload. Please refer to the "Booting an EL3 payload" section for more