[U-Boot] [PATCH v3 RESEND 1/2] ARM: imx: Fix bmode detection from grp10

imx6_is_bmode_from_gpr9 always returns false, because IMX6_SRC_GPR10_BMODE is 1<<28 and gets casted to u8 on return.
This moves the function body into imx6_src_get_boot_mode, since that is the only one using it and it is on the same abstraction level (accessing registers directly).
Signed-off-by: Claudius Heine ch@denx.de --- arch/arm/include/asm/mach-imx/sys_proto.h | 5 ----- arch/arm/mach-imx/init.c | 2 +- 2 files changed, 1 insertion(+), 6 deletions(-)
diff --git a/arch/arm/include/asm/mach-imx/sys_proto.h b/arch/arm/include/asm/mach-imx/sys_proto.h index 4925dd7894..041f93f484 100644 --- a/arch/arm/include/asm/mach-imx/sys_proto.h +++ b/arch/arm/include/asm/mach-imx/sys_proto.h @@ -89,11 +89,6 @@ enum imx6_bmode { IMX6_BMODE_NAND_MAX = 0xf, };
-static inline u8 imx6_is_bmode_from_gpr9(void) -{ - return readl(&src_base->gpr10) & IMX6_SRC_GPR10_BMODE; -} - u32 imx6_src_get_boot_mode(void); void gpr_init(void);
diff --git a/arch/arm/mach-imx/init.c b/arch/arm/mach-imx/init.c index b8d8d12372..d18e3c740a 100644 --- a/arch/arm/mach-imx/init.c +++ b/arch/arm/mach-imx/init.c @@ -118,7 +118,7 @@ void boot_mode_apply(unsigned cfg_val) #if defined(CONFIG_MX6) u32 imx6_src_get_boot_mode(void) { - if (imx6_is_bmode_from_gpr9()) + if (readl(&src_base->gpr10) & IMX6_SRC_GPR10_BMODE) return readl(&src_base->gpr9); else return readl(&src_base->sbmr1);

Signed-off-by: Claudius Heine ch@denx.de --- arch/arm/mach-imx/init.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/arch/arm/mach-imx/init.c b/arch/arm/mach-imx/init.c index d18e3c740a..693b724429 100644 --- a/arch/arm/mach-imx/init.c +++ b/arch/arm/mach-imx/init.c @@ -108,9 +108,9 @@ void boot_mode_apply(unsigned cfg_val) writel(cfg_val, &psrc->gpr9); reg = readl(&psrc->gpr10); if (cfg_val) - reg |= 1 << 28; + reg |= IMX6_SRC_GPR10_BMODE; else - reg &= ~(1 << 28); + reg &= ~IMX6_SRC_GPR10_BMODE; writel(reg, &psrc->gpr10); } #endif

Signed-off-by: Claudius Heine ch@denx.de
Applied to u-boot-imx, master, thanks !
Best regards, Stefano Babic

imx6_is_bmode_from_gpr9 always returns false, because IMX6_SRC_GPR10_BMODE is 1<<28 and gets casted to u8 on return. This moves the function body into imx6_src_get_boot_mode, since that is the only one using it and it is on the same abstraction level (accessing registers directly). Signed-off-by: Claudius Heine ch@denx.de
Applied to u-boot-imx, master, thanks !
Best regards, Stefano Babic
participants (2)
-
Claudius Heine
-
sbabic@denx.de