diff mbox series

[v3,02/10] mach-sunxi: Move timer code to mach folder

Message ID 20220129152309.1567937-3-Mr.Bossman075@gmail.com
State Accepted
Commit 0d4377fc921710cde36270a6a9a56803bfe545c4
Delegated to: Andre Przywara
Headers show
Series Add support for SUNIV and F1C100s. | expand

Commit Message

Jesse T Jan. 29, 2022, 3:23 p.m. UTC
Both armv7 and arm926ejs use this timer code so move it to mach-sunxi.

Signed-off-by: Jesse Taube <Mr.Bossman075@gmail.com>
---
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%)

Comments

Andre Przywara Jan. 29, 2022, 10:58 p.m. UTC | #1
On Sat, 29 Jan 2022 10:23:01 -0500
Jesse Taube <mr.bossman075@gmail.com> wrote:

> Both armv7 and arm926ejs use this timer code so move it to mach-sunxi.
> 
> Signed-off-by: Jesse Taube <Mr.Bossman075@gmail.com>

Reviewed-by: Andre Przywara <andre.przywara@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, wd@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;
diff mbox series

Patch

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, wd@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;