]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
ARM: imx: Add support for detecting primary/secondary bmode on MX8M
authorFedor Ross <fedor.ross@ifm.com>
Mon, 16 Oct 2023 16:16:15 +0000 (18:16 +0200)
committerStefano Babic <sbabic@denx.de>
Tue, 17 Oct 2023 21:55:10 +0000 (23:55 +0200)
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>
arch/arm/mach-imx/Kconfig
arch/arm/mach-imx/cmd_bmode.c
arch/arm/mach-imx/imx8m/soc.c

index 266bb20df9d93dba7899fbc03acf7c91c7dc49f0..44e1e1628bad0298169189d6ac11e0473ed877b5 100644 (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.
index cb317499d5404a0096c98f3dd04c392a8a144d70..5b2f4686230c195ffac433cb38fd6de0f5277272 100644 (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;
index ce67b439e8717b876b8242aa40ed10adbd379c9a..39802d6a796336b421093ab52a25faa066e34fde 100644 (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)