From f183d802c8ed8d303cb51b2305e5af0a6ec83de2 Mon Sep 17 00:00:00 2001 From: Mark Yao Date: Fri, 17 Oct 2014 14:36:35 +0800 Subject: [PATCH] rk3288: timer7: init timer7 counter when we use rk uboot loader, the timer7 counter is not init, and timestamp is not correct. Signed-off-by: Mark Yao --- drivers/clocksource/arm_arch_timer.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/drivers/clocksource/arm_arch_timer.c b/drivers/clocksource/arm_arch_timer.c index 5ac236f2297c..ed6506ef5121 100644 --- a/drivers/clocksource/arm_arch_timer.c +++ b/drivers/clocksource/arm_arch_timer.c @@ -659,6 +659,16 @@ static void __init arch_timer_common_init(void) static void __init arch_timer_init(struct device_node *np) { int i; + void __iomem *timer7_base_addr; + timer7_base_addr = ioremap(0xff810020, 0x20); + if (!timer7_base_addr) { + pr_err("%s: could not map timer registers\n", __func__); + return; + } + writel(0, timer7_base_addr + 0x10); + writel(0xFFFFFFFF, timer7_base_addr + 0x00); + writel(0xFFFFFFFF, timer7_base_addr + 0x04); + writel(1, timer7_base_addr + 0x10); if (arch_timers_present & ARCH_CP15_TIMER) { pr_warn("arch_timer: multiple nodes in dt, skipping\n");