diff mbox

[U-Boot,v3,04/15] imx6: Add src_base structure define macro

Message ID 1486047373-31676-5-git-send-email-jagan@openedev.com
State Changes Requested
Delegated to: Stefano Babic
Headers show

Commit Message

Jagan Teki Feb. 2, 2017, 2:56 p.m. UTC
Instead of initializing 'struct src' to SRC_BASE_ADDR on
every function better to have global define macro.

Cc: Stefano Babic <sbabic@denx.de>
Signed-off-by: Jagan Teki <jagan@openedev.com>
---
 arch/arm/imx-common/init.c                  | 6 ++----
 arch/arm/imx-common/spl.c                   | 3 +--
 arch/arm/include/asm/arch-mx6/imx-regs.h    | 2 ++
 arch/arm/include/asm/imx-common/sys_proto.h | 4 +---
 4 files changed, 6 insertions(+), 9 deletions(-)

Comments

Stefano Babic Feb. 19, 2017, 3:51 p.m. UTC | #1
On 02/02/2017 15:56, Jagan Teki wrote:
> Instead of initializing 'struct src' to SRC_BASE_ADDR on
> every function better to have global define macro.
> 
> Cc: Stefano Babic <sbabic@denx.de>
> Signed-off-by: Jagan Teki <jagan@openedev.com>
> ---
>  arch/arm/imx-common/init.c                  | 6 ++----
>  arch/arm/imx-common/spl.c                   | 3 +--
>  arch/arm/include/asm/arch-mx6/imx-regs.h    | 2 ++
>  arch/arm/include/asm/imx-common/sys_proto.h | 4 +---
>  4 files changed, 6 insertions(+), 9 deletions(-)
> 
> diff --git a/arch/arm/imx-common/init.c b/arch/arm/imx-common/init.c
> index 036ebb2..5b4f828 100644
> --- a/arch/arm/imx-common/init.c
> +++ b/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
> diff --git a/arch/arm/imx-common/spl.c b/arch/arm/imx-common/spl.c
> index acf268d..c8723bb 100644
> --- a/arch/arm/imx-common/spl.c
> +++ b/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();
>  
>  	/*
> diff --git a/arch/arm/include/asm/arch-mx6/imx-regs.h b/arch/arm/include/asm/arch-mx6/imx-regs.h
> index 6727c56..646013d 100644
> --- a/arch/arm/include/asm/arch-mx6/imx-regs.h
> +++ b/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
> diff --git a/arch/arm/include/asm/imx-common/sys_proto.h b/arch/arm/include/asm/imx-common/sys_proto.h
> index ba95641..673527a 100644
> --- a/arch/arm/include/asm/imx-common/sys_proto.h
> +++ b/arch/arm/include/asm/imx-common/sys_proto.h
> @@ -78,9 +78,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);
> 

Reviewed by : Stefano Babic |sbabic@denx.de>

Best regards,
Stefano Babic
diff mbox

Patch

diff --git a/arch/arm/imx-common/init.c b/arch/arm/imx-common/init.c
index 036ebb2..5b4f828 100644
--- a/arch/arm/imx-common/init.c
+++ b/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
diff --git a/arch/arm/imx-common/spl.c b/arch/arm/imx-common/spl.c
index acf268d..c8723bb 100644
--- a/arch/arm/imx-common/spl.c
+++ b/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();
 
 	/*
diff --git a/arch/arm/include/asm/arch-mx6/imx-regs.h b/arch/arm/include/asm/arch-mx6/imx-regs.h
index 6727c56..646013d 100644
--- a/arch/arm/include/asm/arch-mx6/imx-regs.h
+++ b/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
diff --git a/arch/arm/include/asm/imx-common/sys_proto.h b/arch/arm/include/asm/imx-common/sys_proto.h
index ba95641..673527a 100644
--- a/arch/arm/include/asm/imx-common/sys_proto.h
+++ b/arch/arm/include/asm/imx-common/sys_proto.h
@@ -78,9 +78,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);