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>
This commit is contained in:
Jagan Teki 2017-02-24 15:45:15 +05:30 committed by Stefano Babic
parent 96aac843b6
commit 7b54f5a8bf
4 changed files with 6 additions and 9 deletions

View File

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

View File

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

View File

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

View File

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