[PATCH v1 2/2] imx8qx: misc: add command for getting boottype

Heiko Schocher
2026-01-24T05:51:14Z

add boottype command, which saves the boot_type
primary (0) or fallback (1) in environment
variable "boottype". If argument "print" is
passed, it also prints the boottype on console.

Signed-off-by: Heiko Schocher <hs@nabladev.com>
Signed-off-by: Walter Schweizer <walter.schweizer@siemens.com>
---

arch/arm/mach-imx/imx8/misc.c | 27 +++++++++++++++++++++++++++
1 file changed, 27 insertions(+)

diff --git a/arch/arm/mach-imx/imx8/misc.c b/arch/arm/mach-imx/imx8/misc.c
index c77104d0338..f233432f608 100644
--- a/arch/arm/mach-imx/imx8/misc.c
+++ b/arch/arm/mach-imx/imx8/misc.c
@@ -1,4 +1,6 @@
// SPDX-License-Identifier: GPL-2.0+
+#include <command.h>
+#include <env.h>
#include <log.h>
#include <firmware/imx/sci/sci.h>
#include <asm/mach-imx/sys_proto.h>
@@ -62,3 +64,28 @@ void build_info(void)
printf("Build: SCFW %08x, SECO-FW %08x, ATF %s\n",
sc_commit, seco_commit, (char *)&atf_commit);
}
+
+int do_boottype(struct cmd_tbl *cmdtp, int flag, int argc, char * const argv[])
+{
+ sc_misc_bt_t boot_type;
+
+ if (argc > 2)
+ return CMD_RET_USAGE;
+
+ if (sc_misc_get_boot_type(-1, &boot_type) != 0) {
+ puts("boottype cannot be retrieved\n");
+ return CMD_RET_FAILURE;
+ }
+
+ if (argc > 1)
+ printf("Boottype: %d\n", boot_type);
+
+ env_set_ulong("boottype", boot_type);
+
+ return CMD_RET_SUCCESS;
+}
+
+U_BOOT_CMD(boottype, CONFIG_SYS_MAXARGS, 2, do_boottype,
+ "save current boot-container in env variable 'boottype'",
+ "[print] - print current boottype"
+);
--
2.20.1