On Sat, 29 Jan 2022 10:23:01 -0500 Jesse Taube <mr.bossman...@gmail.com> wrote:
> Both armv7 and arm926ejs use this timer code so move it to mach-sunxi. > > Signed-off-by: Jesse Taube <mr.bossman...@gmail.com> Reviewed-by: Andre Przywara <andre.przyw...@arm.com> Thanks, Andre > --- > V1->V2: > * New commit > V2->V3: > * Remove timer.o from armv7 Makefile > --- > arch/arm/cpu/armv7/sunxi/Makefile | 1 - > arch/arm/mach-sunxi/Makefile | 3 +++ > arch/arm/{cpu/armv7/sunxi => mach-sunxi}/timer.c | 7 ++++--- > 3 files changed, 7 insertions(+), 4 deletions(-) > rename arch/arm/{cpu/armv7/sunxi => mach-sunxi}/timer.c (97%) > > diff --git a/arch/arm/cpu/armv7/sunxi/Makefile > b/arch/arm/cpu/armv7/sunxi/Makefile > index ad11be7863..3e975b366c 100644 > --- a/arch/arm/cpu/armv7/sunxi/Makefile > +++ b/arch/arm/cpu/armv7/sunxi/Makefile > @@ -5,7 +5,6 @@ > # Based on some other Makefile > # (C) Copyright 2000-2003 > # Wolfgang Denk, DENX Software Engineering, w...@denx.de. > -obj-y += timer.o > > obj-$(CONFIG_MACH_SUN6I) += tzpc.o > obj-$(CONFIG_MACH_SUN8I_H3) += tzpc.o > 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;