From c72372d38cb9d625f32f32e95e8fe821e5e2734b Mon Sep 17 00:00:00 2001 From: Marek Vasut Date: Wed, 5 Aug 2020 15:34:04 +0200 Subject: 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 Cc: Fabio Estevam Cc: NXP i.MX U-Boot Team Cc: Peng Fan Cc: Stefano Babic --- arch/arm/mach-imx/init.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'arch/arm/mach-imx/init.c') diff --git a/arch/arm/mach-imx/init.c b/arch/arm/mach-imx/init.c index 693b7244299..e30d63b8963 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 -- cgit v1.2.3