aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/clocksource
diff options
context:
space:
mode:
authorMaxime Ripard <maxime.ripard@free-electrons.com>2013-07-16 10:45:38 -0400
committerDaniel Lezcano <daniel.lezcano@linaro.org>2013-07-18 09:27:19 -0400
commitc2b852f77b0d4c71967b61848d666c7a25e17627 (patch)
tree292332917d078edef69979798008f6d8550e53f4 /drivers/clocksource
parent96651a0732d148f7e4a59cec6aa174049866cd0e (diff)
clocksource: sun4i: Remove TIMER_SCAL variable
The prescaler is only used when using the internal low frequency oscillator (at 32kHz). Since we're using the higher frequency oscillator at 24MHz, we can just remove it. Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com> Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Diffstat (limited to 'drivers/clocksource')
-rw-r--r--drivers/clocksource/sun4i_timer.c9
1 files changed, 3 insertions, 6 deletions
diff --git a/drivers/clocksource/sun4i_timer.c b/drivers/clocksource/sun4i_timer.c
index dd78b63f3a24..3217adc7457c 100644
--- a/drivers/clocksource/sun4i_timer.c
+++ b/drivers/clocksource/sun4i_timer.c
@@ -34,8 +34,6 @@
34#define TIMER_INTVAL_REG(val) (0x10 * (val) + 0x14) 34#define TIMER_INTVAL_REG(val) (0x10 * (val) + 0x14)
35#define TIMER_CNTVAL_REG(val) (0x10 * (val) + 0x18) 35#define TIMER_CNTVAL_REG(val) (0x10 * (val) + 0x18)
36 36
37#define TIMER_SCAL 16
38
39static void __iomem *timer_base; 37static void __iomem *timer_base;
40 38
41/* 39/*
@@ -168,8 +166,7 @@ static void __init sun4i_timer_init(struct device_node *node)
168 clocksource_mmio_init(timer_base + TIMER_CNTVAL_REG(1), node->name, 166 clocksource_mmio_init(timer_base + TIMER_CNTVAL_REG(1), node->name,
169 rate, 300, 32, clocksource_mmio_readl_down); 167 rate, 300, 32, clocksource_mmio_readl_down);
170 168
171 writel(rate / (TIMER_SCAL * HZ), 169 writel(rate / HZ, timer_base + TIMER_INTVAL_REG(0));
172 timer_base + TIMER_INTVAL_REG(0));
173 170
174 /* set clock source to HOSC, 16 pre-division */ 171 /* set clock source to HOSC, 16 pre-division */
175 val = readl(timer_base + TIMER_CTL_REG(0)); 172 val = readl(timer_base + TIMER_CTL_REG(0));
@@ -192,8 +189,8 @@ static void __init sun4i_timer_init(struct device_node *node)
192 189
193 sun4i_clockevent.cpumask = cpumask_of(0); 190 sun4i_clockevent.cpumask = cpumask_of(0);
194 191
195 clockevents_config_and_register(&sun4i_clockevent, rate / TIMER_SCAL, 192 clockevents_config_and_register(&sun4i_clockevent, rate, 0x1,
196 0x1, 0xff); 193 0xffffffff);
197} 194}
198CLOCKSOURCE_OF_DECLARE(sun4i, "allwinner,sun4i-timer", 195CLOCKSOURCE_OF_DECLARE(sun4i, "allwinner,sun4i-timer",
199 sun4i_timer_init); 196 sun4i_timer_init);