[U-Boot] [PATCH v1 11/21] sparc: leon3: Clear all unused GPTIMER registers.

Francois Retief fgretief at spaceteq.co.za
Mon Nov 23 16:38:52 CET 2015


From: Daniel Hellstrom <daniel at gaisler.com>

Signed-off-by: Daniel Hellstrom <daniel at gaisler.com>
Signed-off-by: Francois Retief <fgretief at spaceteq.co.za>
---

 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 20a6a25..0ce2f89 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.4.3



More information about the U-Boot mailing list