Add new 'getprisec' subcommand to 'bmode' command, which sets the return
value of the 'bmode' command to either 0 if the system booted from primary
copy or to 1 if the system booted from secondary copy. This can be used
e.g. in 'test' command to determine which copy of the system is running.

Signed-off-by: Marek Vasut <ma...@denx.de>
Cc: Fabio Estevam <feste...@gmail.com>
Cc: NXP i.MX U-Boot Team <uboot-...@nxp.com>
Cc: Peng Fan <peng....@nxp.com>
Cc: Stefano Babic <sba...@denx.de>
---
 arch/arm/mach-imx/cmd_bmode.c | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/arch/arm/mach-imx/cmd_bmode.c b/arch/arm/mach-imx/cmd_bmode.c
index 19bfd9f9a0..cb317499d5 100644
--- a/arch/arm/mach-imx/cmd_bmode.c
+++ b/arch/arm/mach-imx/cmd_bmode.c
@@ -51,9 +51,19 @@ static int create_usage(char *dest)
        if (dest)
                memcpy(dest - 1, " [noreset]", 11);     /* include trailing 0 */
        size += 10;
+
+       if (dest)
+               memcpy(dest - 1, "\nbmode - getprisec", 19);
+       size += 18;
+
        return size;
 }
 
+__weak int boot_mode_getprisec(void)
+{
+       return 0;
+}
+
 static int do_boot_mode(struct cmd_tbl *cmdtp, int flag, int argc,
                        char *const argv[])
 {
@@ -62,6 +72,8 @@ static int do_boot_mode(struct cmd_tbl *cmdtp, int flag, int 
argc,
 
        if (argc < 2)
                return CMD_RET_USAGE;
+       if (!strcmp(argv[1], "getprisec"))
+               return boot_mode_getprisec();
        p = search_modes(argv[1]);
        if (!p)
                return CMD_RET_USAGE;
-- 
2.27.0

Reply via email to