[U-Boot] [PATCH 1/4] imx: mx7: avoid some initialization if low level is skipped

Peng Fan peng.fan at nxp.com
Wed Sep 5 13:27:20 UTC 2018



> -----Original Message-----
> From: Bryan O'Donoghue [mailto:bryan.odonoghue at linaro.org]
> Sent: 2018年9月5日 18:56
> To: u-boot at lists.denx.de; Fabio Estevam <fabio.estevam at nxp.com>
> Cc: ryan.harkin at linaro.org; Rui Miguel Silva <rui.silva at linaro.org>; Bryan
> O'Donoghue <bryan.odonoghue at linaro.org>; Stefano Babic <sbabic at denx.de>;
> Albert Aribaud <albert.u.boot at aribaud.net>; Peng Fan <peng.fan at nxp.com>
> Subject: [PATCH 1/4] imx: mx7: avoid some initialization if low level is skipped
> 
> From: Rui Miguel Silva <rui.silva at linaro.org>
> 
> We can have the case where u-boot is launched after some other low level
> enabler, like for example when u-boot runs after arm-trusted-firmware and/or
> optee. So, because of that we may need to jump the initialization of some IP
> blocks even because we may no longer have the permission for that.
> 
> So, if the config option to skip low level init is set disable also timer, board and
> csu initialization.
> 
> Signed-off-by: Rui Miguel Silva <rui.silva at linaro.org>
> Signed-off-by: Bryan O'Donoghue <bryan.odonoghue at linaro.org>
> Cc: Stefano Babic <sbabic at denx.de>
> Cc: Fabio Estevam <fabio.estevam at nxp.com>
> Cc: Albert Aribaud <albert.u.boot at aribaud.net>
> Cc: Peng Fan <peng.fan at nxp.com>
> Cc: u-boot at lists.denx.de
> ---
>  arch/arm/mach-imx/mx7/soc.c    | 2 ++
>  arch/arm/mach-imx/syscounter.c | 2 ++
>  2 files changed, 4 insertions(+)
> 
> diff --git a/arch/arm/mach-imx/mx7/soc.c b/arch/arm/mach-imx/mx7/soc.c
> index 7334ca9eb8..c38bd1ce46 100644
> --- a/arch/arm/mach-imx/mx7/soc.c
> +++ b/arch/arm/mach-imx/mx7/soc.c
> @@ -133,6 +133,7 @@ u32 __weak get_board_rev(void)  }  #endif
> 
> +#ifndef CONFIG_SKIP_LOWLEVEL_INIT
>  /* enable all periherial can be accessed in nosec mode */  static void
> init_csu(void)  { @@ -182,6 +183,7 @@ int arch_cpu_init(void)
> 
>  	return 0;
>  }
> +#endif
> 
>  #ifdef CONFIG_ARCH_MISC_INIT
>  int arch_misc_init(void)
> diff --git a/arch/arm/mach-imx/syscounter.c b/arch/arm/mach-imx/syscounter.c
> index 676bb3caa9..2c319681fc 100644
> --- a/arch/arm/mach-imx/syscounter.c
> +++ b/arch/arm/mach-imx/syscounter.c
> @@ -55,6 +55,7 @@ static inline unsigned long long us_to_tick(unsigned long
> long usec)
>  	return usec;
>  }
> 
> +#ifndef CONFIG_SKIP_LOWLEVEL_INIT
>  int timer_init(void)
>  {
>  	struct sctr_regs *sctr = (struct sctr_regs *)SCTR_BASE_ADDR; @@ -76,6
> +77,7 @@ int timer_init(void)
> 
>  	return 0;
>  }
> +#endif
> 
>  unsigned long long get_ticks(void)
>  {

Reviewed-by: Peng Fan <peng.fan at nxp.com>

> --
> 2.18.0



More information about the U-Boot mailing list