Browse Source

imx6: Add src_base structure define macro

Instead of initializing 'struct src' to SRC_BASE_ADDR on
every function better to have global define macro.

Reviewed by: Stefano Babic <sbabic@denx.de>
Signed-off-by: Jagan Teki <jagan@openedev.com>
Jagan Teki 8 years ago
parent
commit
7b54f5a8bf

+ 2 - 4
arch/arm/imx-common/init.c

@@ -119,11 +119,9 @@ void boot_mode_apply(unsigned cfg_val)
 #if defined(CONFIG_MX6)
 u32 imx6_src_get_boot_mode(void)
 {
-	struct src *psrc = (struct src *)SRC_BASE_ADDR;
-
 	if (imx6_is_bmode_from_gpr9())
-		return readl(&psrc->gpr9);
+		return readl(&src_base->gpr9);
 	else
-		return readl(&psrc->sbmr1);
+		return readl(&src_base->sbmr1);
 }
 #endif

+ 1 - 2
arch/arm/imx-common/spl.c

@@ -19,8 +19,7 @@
 /* determine boot device from SRC_SBMR1 (BOOT_CFG[4:1]) or SRC_GPR9 register */
 u32 spl_boot_device(void)
 {
-	struct src *psrc = (struct src *)SRC_BASE_ADDR;
-	unsigned int bmode = readl(&psrc->sbmr2);
+	unsigned int bmode = readl(&src_base->sbmr2);
 	u32 reg = imx6_src_get_boot_mode();
 
 	/*

+ 2 - 0
arch/arm/include/asm/arch-mx6/imx-regs.h

@@ -473,6 +473,8 @@ struct src {
 	u32     gpr10;
 };
 
+#define src_base ((struct src *)SRC_BASE_ADDR)
+
 #define SRC_SCR_M4_ENABLE_OFFSET                22
 #define SRC_SCR_M4_ENABLE_MASK                  (1 << 22)
 #define SRC_SCR_M4C_NON_SCLR_RST_OFFSET         4

+ 1 - 3
arch/arm/include/asm/imx-common/sys_proto.h

@@ -81,9 +81,7 @@ enum imx6_bmode {
 
 static inline u8 imx6_is_bmode_from_gpr9(void)
 {
-	struct src *psrc = (struct src *)SRC_BASE_ADDR;
-
-	return readl(&psrc->gpr10) & IMX6_SRC_GPR10_BMODE;
+	return readl(&src_base->gpr10) & IMX6_SRC_GPR10_BMODE;
 }
 
 u32 imx6_src_get_boot_mode(void);