[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