[PATCH v2] bootstage: Add SPL support

Marek Vasut marex at denx.de
Sat Oct 23 03:06:03 CEST 2021


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"
+	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
 /**
-- 
2.33.0



More information about the U-Boot mailing list