ARM: imx: Add support for detecting primary/secondary bmode on MX8M

Implement the 'getprisec' subcommand of 'bmode' command for i.MX8M by
reading out the ROM log events. This event is set by the BootROM if it
switched to the secondary copy due to primary copy being corrupted.

Signed-off-by: Fedor Ross <fedor.ross@ifm.com>
Signed-off-by: Marek Vasut <marex@denx.de>
This commit is contained in:
Fedor Ross 2023-10-16 18:16:15 +02:00 committed by Stefano Babic
parent 71c2faeca7
commit a41c9ddb30
3 changed files with 10 additions and 1 deletions

View File

@ -71,7 +71,7 @@ config CSF_SIZE
config CMD_BMODE
bool "Support the 'bmode' command"
default y
depends on ARCH_MX7 || ARCH_MX6 || ARCH_MX5
depends on ARCH_IMX8M || ARCH_MX7 || ARCH_MX6 || ARCH_MX5
help
This enables the 'bmode' (bootmode) command for forcing
a boot from specific media.

View File

@ -83,7 +83,11 @@ static int do_boot_mode(struct cmd_tbl *cmdtp, int flag, int argc,
reset_requested = 0;
}
/* No longer applicable to i.MX8M */
#if IS_ENABLED(CONFIG_MX53) || IS_ENABLED(CONFIG_MX6) || IS_ENABLED(CONFIG_MX7)
boot_mode_apply(p->cfg_val);
#endif
if (reset_requested && p->cfg_val)
do_reset(NULL, 0, 0, NULL);
return 0;

View File

@ -727,6 +727,11 @@ int spl_mmc_emmc_boot_partition(struct mmc *mmc)
return part;
}
int boot_mode_getprisec(void)
{
return !!imx8m_detect_secondary_image_boot();
}
#endif
#if defined(CONFIG_IMX8MN) || defined(CONFIG_IMX8MP)