On Wed, 26 Jan 2022 08:53:19 -0500
Jesse Taube <[email protected]> wrote:

> Both armv7 and arm926ejs use this timer code so move it to mach-sunxi.

Very nice, thanks for cleaning this up.

But please remove the respective line from the Makefile in
arch/arm/cpu/armv7/sunxi/, otherwise 32-bit board builds fail:
make[2]: *** No rule to make target 'arch/arm/cpu/armv7/sunxi/timer.o' ...

Cheers,
Andre

> Signed-off-by: Jesse Taube <[email protected]>
> ---
> V1->V2:
> * New commit
> ---
>  arch/arm/mach-sunxi/Makefile                     | 3 +++
>  arch/arm/{cpu/armv7/sunxi => mach-sunxi}/timer.c | 7 ++++---
>  2 files changed, 7 insertions(+), 3 deletions(-)
>  rename arch/arm/{cpu/armv7/sunxi => mach-sunxi}/timer.c (97%)
> 
> diff --git a/arch/arm/mach-sunxi/Makefile b/arch/arm/mach-sunxi/Makefile
> index 5d3fd70f74..b1adb75e17 100644
> --- a/arch/arm/mach-sunxi/Makefile
> +++ b/arch/arm/mach-sunxi/Makefile
> @@ -25,6 +25,9 @@ obj-$(CONFIG_MACH_SUN8I)    += clock_sun6i.o
>  endif
>  obj-$(CONFIG_MACH_SUN9I)     += clock_sun9i.o gtbus_sun9i.o
>  obj-$(CONFIG_SUN50I_GEN_H6)  += clock_sun50i_h6.o
> +ifndef CONFIG_ARM64
> +obj-y        += timer.o
> +endif
>  
>  ifdef CONFIG_SPL_BUILD
>  obj-$(CONFIG_DRAM_SUN4I)     += dram_sun4i.o
> diff --git a/arch/arm/cpu/armv7/sunxi/timer.c b/arch/arm/mach-sunxi/timer.c
> similarity index 97%
> rename from arch/arm/cpu/armv7/sunxi/timer.c
> rename to arch/arm/mach-sunxi/timer.c
> index b758599636..fc9d419a25 100644
> --- a/arch/arm/cpu/armv7/sunxi/timer.c
> +++ b/arch/arm/mach-sunxi/timer.c
> @@ -51,6 +51,7 @@ int timer_init(void)
>       struct sunxi_timer_reg *timers =
>               (struct sunxi_timer_reg *)SUNXI_TIMER_BASE;
>       struct sunxi_timer *timer = &timers->timer[TIMER_NUM];
> +
>       writel(TIMER_LOAD_VAL, &timer->inter);
>       writel(TIMER_MODE | TIMER_DIV | TIMER_SRC | TIMER_RELOAD | TIMER_EN,
>              &timer->ctl);
> @@ -58,15 +59,14 @@ int timer_init(void)
>       return 0;
>  }
>  
> -/* timer without interrupts */
>  static ulong get_timer_masked(void)
>  {
>       /* current tick value */
>       ulong now = TICKS_TO_HZ(read_timer());
>  
> -     if (now >= gd->arch.lastinc)    /* normal (non rollover) */
> +     if (now >= gd->arch.lastinc) {  /* normal (non rollover) */
>               gd->arch.tbl += (now - gd->arch.lastinc);
> -     else {
> +     } else {
>               /* rollover */
>               gd->arch.tbl += (TICKS_TO_HZ(TIMER_LOAD_VAL)
>                               - gd->arch.lastinc) + now;
> @@ -76,6 +76,7 @@ static ulong get_timer_masked(void)
>       return gd->arch.tbl;
>  }
>  
> +/* timer without interrupts */
>  ulong get_timer(ulong base)
>  {
>       return get_timer_masked() - base;

Reply via email to