[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