[U-Boot] [PATCH v3 04/15] imx6: Add src_base structure define macro
Stefano Babic
sbabic at denx.de
Sun Feb 19 15:51:19 UTC 2017
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 at denx.de>
> Signed-off-by: Jagan Teki <jagan at 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 at denx.de>
Best regards,
Stefano Babic
--
Meet DENX at the Embedded World Trade Show
14 Mar - 16 Mar 2017, Nuremberg Trade Fair Centre, Hall 4, Booth 581
--
=====================================================================
DENX Software Engineering GmbH, Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de
=====================================================================
More information about the U-Boot
mailing list