From 3c0fbbfd9572cd8c9fa562c4ebfe69d3d962f2f5 Mon Sep 17 00:00:00 2001 From: Marek Vasut Date: Wed, 5 Aug 2020 15:34:06 +0200 Subject: [PATCH] ARM: imx: Add support for reading out the primary/secondary bmode 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 Cc: Fabio Estevam Cc: NXP i.MX U-Boot Team Cc: Peng Fan Cc: Stefano Babic Reviewed-by: Stefano Babic --- 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 19bfd9f..cb31749 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.7.4