Depending on the boot source, set different CLI prompts. This will help
the user to figure out in which mode the bootloader was started. There
are two special modes: failsafe and SDHC boot.

Signed-off-by: Michael Walle <mich...@walle.cc>
---
 board/kontron/sl28/sl28.c      | 20 ++++++++++++++++++++
 configs/kontron_sl28_defconfig |  1 +
 2 files changed, 21 insertions(+)

diff --git a/board/kontron/sl28/sl28.c b/board/kontron/sl28/sl28.c
index 54719cc01c..0576b3eae4 100644
--- a/board/kontron/sl28/sl28.c
+++ b/board/kontron/sl28/sl28.c
@@ -126,8 +126,28 @@ static void stop_recovery_watchdog(void)
                wdt_stop(dev);
 }
 
+static void sl28_set_prompt(void)
+{
+       enum boot_source src = sl28_boot_source();
+
+       switch (src) {
+       case BOOT_SOURCE_SPI:
+               env_set("PS1", "[FAILSAFE] => ");
+               break;
+       case BOOT_SOURCE_SDHC:
+               env_set("PS1", "[SDHC] => ");
+               break;
+       default:
+               env_set("PS1", NULL);
+               break;
+       }
+}
+
 int fsl_board_late_init(void)
 {
+       if (IS_ENABLED(CONFIG_CMDLINE_PS_SUPPORT))
+               sl28_set_prompt();
+
        /*
         * Usually, the after a board reset, the watchdog is enabled by
         * default. This is to supervise the bootloader boot-up. Therefore,
diff --git a/configs/kontron_sl28_defconfig b/configs/kontron_sl28_defconfig
index 4d50c681f9..fc1c607927 100644
--- a/configs/kontron_sl28_defconfig
+++ b/configs/kontron_sl28_defconfig
@@ -55,6 +55,7 @@ CONFIG_SPL_SPI_LOAD=y
 CONFIG_SYS_CBSIZE=256
 CONFIG_SYS_PBSIZE=276
 CONFIG_SYS_BOOTM_LEN=0x800000
+CONFIG_CMDLINE_PS_SUPPORT=y
 CONFIG_CMD_ASKENV=y
 CONFIG_CMD_GREPENV=y
 CONFIG_CMD_NVEDIT_EFI=y
-- 
2.30.2

Reply via email to