From: Marek Vasut <marex@denx.de>
To: u-boot@lists.denx.de
Cc: Fedor Ross <fedor.ross@ifm.com>, Marek Vasut <marex@denx.de>,
"NXP i.MX U-Boot Team" <uboot-imx@nxp.com>,
"Ying-Chun Liu (PaulLiu)" <paul.liu@linaro.org>,
Andre Przywara <andre.przywara@arm.com>,
Chanho Park <chanho61.park@samsung.com>,
Elena Popa <elena.popa@nxp.com>,
Fabio Estevam <festevam@gmail.com>,
Heinrich Schuchardt <xypron.glpk@gmx.de>,
Hugo Villeneuve <hvilleneuve@dimonoff.com>,
Jagan Teki <jagan@amarulasolutions.com>,
Kever Yang <kever.yang@rock-chips.com>,
Manoj Sai <abbaraju.manojsai@amarulasolutions.com>,
Michal Simek <michal.simek@amd.com>,
Neil Armstrong <neil.armstrong@linaro.org>,
Peng Fan <peng.fan@nxp.com>, Qu Wenruo <wqu@suse.com>,
Roger Quadros <rogerq@kernel.org>, Simon Glass <sjg@chromium.org>,
Stefan Roese <sr@denx.de>, Stefano Babic <sbabic@denx.de>,
Tim Harvey <tharvey@gateworks.com>
Subject: [PATCH v2 4/4] ARM: imx: Add support for detecting primary/secondary bmode on MX8M
Date: Mon, 16 Oct 2023 18:16:15 +0200 [thread overview]
Message-ID: <20231016161619.50744-4-marex@denx.de> (raw)
In-Reply-To: <20231016161619.50744-1-marex@denx.de>
From: Fedor Ross <fedor.ross@ifm.com>
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>
---
Cc: "NXP i.MX U-Boot Team" <uboot-imx@nxp.com>
Cc: "Ying-Chun Liu (PaulLiu)" <paul.liu@linaro.org>
Cc: Andre Przywara <andre.przywara@arm.com>
Cc: Chanho Park <chanho61.park@samsung.com>
Cc: Elena Popa <elena.popa@nxp.com>
Cc: Fabio Estevam <festevam@gmail.com>
Cc: Fedor Ross <fedor.ross@ifm.com>
Cc: Heinrich Schuchardt <xypron.glpk@gmx.de>
Cc: Hugo Villeneuve <hvilleneuve@dimonoff.com>
Cc: Jagan Teki <jagan@amarulasolutions.com>
Cc: Kever Yang <kever.yang@rock-chips.com>
Cc: Manoj Sai <abbaraju.manojsai@amarulasolutions.com>
Cc: Michal Simek <michal.simek@amd.com>
Cc: Neil Armstrong <neil.armstrong@linaro.org>
Cc: Peng Fan <peng.fan@nxp.com>
Cc: Qu Wenruo <wqu@suse.com>
Cc: Roger Quadros <rogerq@kernel.org>
Cc: Simon Glass <sjg@chromium.org>
Cc: Stefan Roese <sr@denx.de>
Cc: Stefano Babic <sbabic@denx.de>
Cc: Tim Harvey <tharvey@gateworks.com>
---
V2: Mask out boot_mode_apply() on MX8M and newer,
since this functionality is not available.
---
arch/arm/mach-imx/Kconfig | 2 +-
arch/arm/mach-imx/cmd_bmode.c | 4 ++++
arch/arm/mach-imx/imx8m/soc.c | 5 +++++
3 files changed, 10 insertions(+), 1 deletion(-)
diff --git a/arch/arm/mach-imx/Kconfig b/arch/arm/mach-imx/Kconfig
index 266bb20df9d..44e1e1628ba 100644
--- a/arch/arm/mach-imx/Kconfig
+++ b/arch/arm/mach-imx/Kconfig
@@ -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.
diff --git a/arch/arm/mach-imx/cmd_bmode.c b/arch/arm/mach-imx/cmd_bmode.c
index cb317499d54..5b2f4686230 100644
--- a/arch/arm/mach-imx/cmd_bmode.c
+++ b/arch/arm/mach-imx/cmd_bmode.c
@@ -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;
diff --git a/arch/arm/mach-imx/imx8m/soc.c b/arch/arm/mach-imx/imx8m/soc.c
index d33ac06cab4..556611a04e7 100644
--- a/arch/arm/mach-imx/imx8m/soc.c
+++ b/arch/arm/mach-imx/imx8m/soc.c
@@ -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)
--
2.42.0
next prev parent reply other threads:[~2023-10-16 16:17 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-10-16 16:16 [PATCH v2 1/4] spl: mmc: Introduce proper layering for spl_mmc_get_uboot_raw_sector() Marek Vasut
2023-10-16 16:16 ` [PATCH v2 2/4] ARM: imx: Factor out parsing of ROM log Marek Vasut
2023-10-16 16:16 ` [PATCH v2 3/4] ARM: imx: Use correct U-Boot offset in case of secondary boot from eMMC Marek Vasut
2023-10-16 16:16 ` Marek Vasut [this message]
-- strict thread matches above, loose matches on Subject: below --
2023-10-18 18:17 [PATCH v2 4/4] ARM: imx: Add support for detecting primary/secondary bmode on MX8M sbabic
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20231016161619.50744-4-marex@denx.de \
--to=marex@denx.de \
--cc=abbaraju.manojsai@amarulasolutions.com \
--cc=andre.przywara@arm.com \
--cc=chanho61.park@samsung.com \
--cc=elena.popa@nxp.com \
--cc=fedor.ross@ifm.com \
--cc=festevam@gmail.com \
--cc=hvilleneuve@dimonoff.com \
--cc=jagan@amarulasolutions.com \
--cc=kever.yang@rock-chips.com \
--cc=michal.simek@amd.com \
--cc=neil.armstrong@linaro.org \
--cc=paul.liu@linaro.org \
--cc=peng.fan@nxp.com \
--cc=rogerq@kernel.org \
--cc=sbabic@denx.de \
--cc=sjg@chromium.org \
--cc=sr@denx.de \
--cc=tharvey@gateworks.com \
--cc=u-boot@lists.denx.de \
--cc=uboot-imx@nxp.com \
--cc=wqu@suse.com \
--cc=xypron.glpk@gmx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox