imx6: Add src_base structure define macro
authorJagan Teki <jagan@openedev.com>
Fri, 24 Feb 2017 10:15:15 +0000 (15:45 +0530)
committerStefano Babic <sbabic@denx.de>
Fri, 17 Mar 2017 08:27:08 +0000 (09:27 +0100)
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>
arch/arm/imx-common/init.c
arch/arm/imx-common/spl.c
arch/arm/include/asm/arch-mx6/imx-regs.h
arch/arm/include/asm/imx-common/sys_proto.h

index 036ebb2f17ee77db269071c838edb8811bf55467..5b4f82865751629a92b6deeebd1797acadb75585 100644 (file)
@@ -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
index 614e05c637e5033ccf11e566cbd9ac38c3b8d8e8..f392941f03e9e1853e08bbe4e1c599619550be5c 100644 (file)
@@ -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();
 
        /*
index 6727c56dbbf43396000cb8e838676499a6225725..646013d7899bec40e83fc806d959697083744848 100644 (file)
@@ -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
index 177bd91e69228f53f5139cf5bcb395665d2f6a31..a07061bc9b93cd3c71f777f86b25702165cc3894 100644 (file)
@@ -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);