[PATCH v2] bootstage: Add SPL support
Jan Kiszka
jan.kiszka at siemens.com
Wed Nov 3 12:59:43 CET 2021
On 23.10.21 03:06, Marek Vasut wrote:
> Allow usage of the bootstage facilities in SPL.
>
> Signed-off-by: Marek Vasut <marex at denx.de>
> Cc: Simon Glass <sjg at chromium.org>
> ---
> V2: Fix multiple misuses of BOOTSTAGE vs SHOW_BOOT_PROGRESS
> ---
> arch/x86/cpu/cpu.c | 2 +-
> board/siemens/iot2050/board.c | 2 +-
> common/Kconfig.boot | 9 +++++++++
> common/init/board_init.c | 2 +-
> common/spl/spl.c | 2 +-
> include/bootstage.h | 2 +-
> 6 files changed, 14 insertions(+), 5 deletions(-)
>
> diff --git a/arch/x86/cpu/cpu.c b/arch/x86/cpu/cpu.c
> index 01dece5769c..86f53e78d24 100644
> --- a/arch/x86/cpu/cpu.c
> +++ b/arch/x86/cpu/cpu.c
> @@ -178,7 +178,7 @@ int default_print_cpuinfo(void)
> return 0;
> }
>
> -#if CONFIG_IS_ENABLED(BOOTSTAGE)
> +#if CONFIG_IS_ENABLED(SHOW_BOOT_PROGRESS)
> void show_boot_progress(int val)
> {
> outb(val, POST_PORT);
> diff --git a/board/siemens/iot2050/board.c b/board/siemens/iot2050/board.c
> index b2110978ae0..16ae2ffc174 100644
> --- a/board/siemens/iot2050/board.c
> +++ b/board/siemens/iot2050/board.c
> @@ -250,7 +250,7 @@ void spl_board_init(void)
> {
> }
>
> -#if CONFIG_IS_ENABLED(LED) && CONFIG_IS_ENABLED(BOOTSTAGE)
> +#if CONFIG_IS_ENABLED(LED) && CONFIG_IS_ENABLED(SHOW_BOOT_PROGRESS)
> /*
> * Indicate any error or (accidental?) entering of CLI via the red status LED.
> */
> diff --git a/common/Kconfig.boot b/common/Kconfig.boot
> index 9b84a8d005f..d0d0dbd09a3 100644
> --- a/common/Kconfig.boot
> +++ b/common/Kconfig.boot
> @@ -696,6 +696,15 @@ config SHOW_BOOT_PROGRESS
> -150 common/cmd_nand.c Incorrect FIT image format
> 151 common/cmd_nand.c FIT image format OK
>
> +config SPL_SHOW_BOOT_PROGRESS
> + bool "Show boot progress in a board-specific manner"
"... in SPL", our you end up with an apparently duplicated line in kconfig.
Jan
> + depends on SPL
> + help
> + Defining this option allows to add some board-specific code (calling
> + a user-provided function show_boot_progress(int) that enables you to
> + show the system's boot progress on some display (for example, some
> + LEDs) on your board. For details see SHOW_BOOT_PROGRESS.
> +
> endmenu
>
> menu "Boot media"
> diff --git a/common/init/board_init.c b/common/init/board_init.c
> index 0965b96fa3a..eab5ee13953 100644
> --- a/common/init/board_init.c
> +++ b/common/init/board_init.c
> @@ -166,7 +166,7 @@ void board_init_f_init_reserve(ulong base)
> board_init_f_init_stack_protection();
> }
>
> -#if CONFIG_IS_ENABLED(BOOTSTAGE)
> +#if CONFIG_IS_ENABLED(SHOW_BOOT_PROGRESS)
> /*
> * Board-specific Platform code can reimplement show_boot_progress () if needed
> */
> diff --git a/common/spl/spl.c b/common/spl/spl.c
> index be09c19351a..d95a29b3655 100644
> --- a/common/spl/spl.c
> +++ b/common/spl/spl.c
> @@ -61,7 +61,7 @@ binman_sym_declare(ulong, spl, size);
> /* Define board data structure */
> static struct bd_info bdata __attribute__ ((section(".data")));
>
> -#if CONFIG_IS_ENABLED(BOOTSTAGE)
> +#if CONFIG_IS_ENABLED(SHOW_BOOT_PROGRESS)
> /*
> * Board-specific Platform code can reimplement show_boot_progress () if needed
> */
> diff --git a/include/bootstage.h b/include/bootstage.h
> index f837a387c8c..8d1989ac0e5 100644
> --- a/include/bootstage.h
> +++ b/include/bootstage.h
> @@ -220,7 +220,7 @@ enum bootstage_id {
> */
> ulong timer_get_boot_us(void);
>
> -#if defined(USE_HOSTCC) || !CONFIG_IS_ENABLED(BOOTSTAGE)
> +#if defined(USE_HOSTCC) || !CONFIG_IS_ENABLED(SHOW_BOOT_PROGRESS)
> #define show_boot_progress(val) do {} while (0)
> #else
> /**
>
--
Siemens AG, T RDA IOT
Corporate Competence Center Embedded Linux
More information about the U-Boot
mailing list