diff mbox series

imx: syscounter: allow timer_init for SPL build

Message ID 20210925151812.58480-1-oleksandr.suvorov@foundries.io
State Changes Requested
Delegated to: Stefano Babic
Headers show
Series imx: syscounter: allow timer_init for SPL build | expand

Commit Message

Oleksandr Suvorov Sept. 25, 2021, 3:18 p.m. UTC
From: Michael Scott <mike@foundries.io>

If we enable SPL and SKIP_LOWLEVEL_INIT, this results in the weak
function timer_init() being used in the SPL build. This is not
desirable as on iMX6 SoC, MMC will then fail once u-boot proper is
booted due to timing issue.

Fixes: be277c3a89 ("imx: mx7: avoid some initialization if low level is skipped")
Signed-off-by: Michael Scott <mike@foundries.io>
Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@foundries.io>
---

 arch/arm/mach-imx/syscounter.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Peng Fan (OSS) Sept. 26, 2021, 9:50 a.m. UTC | #1
On 2021/9/25 23:18, Oleksandr Suvorov wrote:
> From: Michael Scott <mike@foundries.io>
> 
> If we enable SPL and SKIP_LOWLEVEL_INIT, this results in the weak
> function timer_init() being used in the SPL build. This is not
> desirable as on iMX6 SoC, MMC will then fail once u-boot proper is
> booted due to timing issue.
> 
> Fixes: be277c3a89 ("imx: mx7: avoid some initialization if low level is skipped")
> Signed-off-by: Michael Scott <mike@foundries.io>
> Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@foundries.io>
> ---
> 
>   arch/arm/mach-imx/syscounter.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/arch/arm/mach-imx/syscounter.c b/arch/arm/mach-imx/syscounter.c
> index 6dfed365d2..e69a168a95 100644
> --- a/arch/arm/mach-imx/syscounter.c
> +++ b/arch/arm/mach-imx/syscounter.c
> @@ -59,7 +59,7 @@ static inline unsigned long long us_to_tick(unsigned long long usec)
>   	return usec;
>   }
>   
> -#ifndef CONFIG_SKIP_LOWLEVEL_INIT
> +#if !defined(CONFIG_SKIP_LOWLEVEL_INIT) || defined(CONFIG_SPL_BUILD)
>   int timer_init(void)
>   {
>   	struct sctr_regs *sctr = (struct sctr_regs *)SCTR_BASE_ADDR;
> 

Reviewed-by: Peng Fan <peng.fan@nxp.com>
diff mbox series

Patch

diff --git a/arch/arm/mach-imx/syscounter.c b/arch/arm/mach-imx/syscounter.c
index 6dfed365d2..e69a168a95 100644
--- a/arch/arm/mach-imx/syscounter.c
+++ b/arch/arm/mach-imx/syscounter.c
@@ -59,7 +59,7 @@  static inline unsigned long long us_to_tick(unsigned long long usec)
 	return usec;
 }
 
-#ifndef CONFIG_SKIP_LOWLEVEL_INIT
+#if !defined(CONFIG_SKIP_LOWLEVEL_INIT) || defined(CONFIG_SPL_BUILD)
 int timer_init(void)
 {
 	struct sctr_regs *sctr = (struct sctr_regs *)SCTR_BASE_ADDR;