From cb31eaa4b3e870e4520dd0ce6f9ce326dc9cf50b Mon Sep 17 00:00:00 2001 From: Daniel Hellstrom Date: Wed, 22 Sep 2010 17:42:29 +0200 Subject: [PATCH] sparc: leon3: Clear all unused GPTIMER registers. Signed-off-by: Daniel Hellstrom --- arch/sparc/cpu/leon3/cpu_init.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/arch/sparc/cpu/leon3/cpu_init.c b/arch/sparc/cpu/leon3/cpu_init.c index 20a6a256f0..0ce2f89dff 100644 --- a/arch/sparc/cpu/leon3/cpu_init.c +++ b/arch/sparc/cpu/leon3/cpu_init.c @@ -90,7 +90,7 @@ int arch_cpu_init(void) int cpu_init_r(void) { ambapp_apbdev apbdev; - int index, cpu; + int index, cpu, ntimers, i; ambapp_dev_gptimer *timer = NULL; unsigned int bus_freq; @@ -135,6 +135,14 @@ int cpu_init_r(void) timer->scalar = timer->scalar_reload = (((bus_freq / 1000) + 500) / 1000) - 1; + /* Clear All Timers */ + ntimers = timer->config & 0x7; + for (i = 0; i < ntimers; i++) { + timer->e[i].ctrl = GPTIMER_CTRL_IP; + timer->e[i].rld = 0; + timer->e[i].ctrl = GPTIMER_CTRL_LD; + } + index++; } if (!gptimer) { -- 2.39.5