aboutsummaryrefslogtreecommitdiff
path: root/arch/arm/mach-imx/init.c
diff options
context:
space:
mode:
authorMarek Vasut <marex@denx.de>2020-08-05 15:34:04 +0200
committerStefano Babic <sbabic@denx.de>2020-08-17 17:53:55 +0200
commitc72372d38cb9d625f32f32e95e8fe821e5e2734b (patch)
treee7fef75fd317c8e17076870ebd2dd604deba0727 /arch/arm/mach-imx/init.c
parent789bfb52668ee609b2043de645e2f94bbd24fd1f (diff)
downloadu-boot-c72372d38cb9d625f32f32e95e8fe821e5e2734b.zip
u-boot-c72372d38cb9d625f32f32e95e8fe821e5e2734b.tar.gz
u-boot-c72372d38cb9d625f32f32e95e8fe821e5e2734b.tar.bz2
ARM: imx: Add bmode support for iMX7
Add the basic differentiation between i.MX6 and i.MX7 into the bmode command, the mechanism really works almost the same on both platforms. 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>
Diffstat (limited to 'arch/arm/mach-imx/init.c')
-rw-r--r--arch/arm/mach-imx/init.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/arch/arm/mach-imx/init.c b/arch/arm/mach-imx/init.c
index 693b724..e30d63b 100644
--- a/arch/arm/mach-imx/init.c
+++ b/arch/arm/mach-imx/init.c
@@ -103,14 +103,20 @@ void init_src(void)
#ifdef CONFIG_CMD_BMODE
void boot_mode_apply(unsigned cfg_val)
{
- unsigned reg;
+#ifdef CONFIG_MX6
+ const u32 bmode = IMX6_SRC_GPR10_BMODE;
+#elif CONFIG_MX7
+ const u32 bmode = IMX7_SRC_GPR10_BMODE;
+#endif
struct src *psrc = (struct src *)SRC_BASE_ADDR;
+ unsigned reg;
+
writel(cfg_val, &psrc->gpr9);
reg = readl(&psrc->gpr10);
if (cfg_val)
- reg |= IMX6_SRC_GPR10_BMODE;
+ reg |= bmode;
else
- reg &= ~IMX6_SRC_GPR10_BMODE;
+ reg &= ~bmode;
writel(reg, &psrc->gpr10);
}
#endif