summaryrefslogtreecommitdiff
path: root/arch/arm/mach-imx/mx7/soc.c
diff options
context:
space:
mode:
authorMarek Vasut <marex@denx.de>2020-08-05 16:34:07 +0300
committerStefano Babic <sbabic@denx.de>2020-08-17 18:55:31 +0300
commit4b44bea701a67e3b83cb82f44fa40485b111d394 (patch)
treeecff81bb0a6ea41d6cf52baeb2fbd4b615eaddef /arch/arm/mach-imx/mx7/soc.c
parent3c0fbbfd9572cd8c9fa562c4ebfe69d3d962f2f5 (diff)
downloadu-boot-4b44bea701a67e3b83cb82f44fa40485b111d394.tar.xz
ARM: imx: Add support for reading out the primary/secondary bmode to MX7
Implement the 'getprisec' subcommand of 'bmode' command for i.MX7 by reading out the SRC GPR10 bit 30. This bit is either set by the BootROM if it switched to the secondary copy due to primary copy being corrupted OR it can be overridden by the user. Signed-off-by: Marek Vasut <marex@denx.de> Cc: Fabio Estevam <festevam@gmail.com> Cc: NXP i.MX U-Boot Team <uboot-imx@nxp.com> Cc: Peng Fan <peng.fan@nxp.com> Cc: Stefano Babic <sbabic@denx.de> Reviewed-by: Stefano Babic <sbabic@denx.de>
Diffstat (limited to 'arch/arm/mach-imx/mx7/soc.c')
-rw-r--r--arch/arm/mach-imx/mx7/soc.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/arch/arm/mach-imx/mx7/soc.c b/arch/arm/mach-imx/mx7/soc.c
index b70ef80131..d0385b36e4 100644
--- a/arch/arm/mach-imx/mx7/soc.c
+++ b/arch/arm/mach-imx/mx7/soc.c
@@ -418,6 +418,13 @@ const struct boot_mode soc_boot_modes[] = {
{"secondary", MAKE_CFGVAL_SECONDARY_BOOT},
{NULL, 0},
};
+
+int boot_mode_getprisec(void)
+{
+ struct src *psrc = (struct src *)SRC_BASE_ADDR;
+
+ return !!(readl(&psrc->gpr10) & IMX7_SRC_GPR10_PERSIST_SECONDARY_BOOT);
+}
#endif
void reset_misc(void)