diff options
Diffstat (limited to 'drivers/clocksource/timer-imx-sysctr.c')
-rw-r--r-- | drivers/clocksource/timer-imx-sysctr.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/clocksource/timer-imx-sysctr.c b/drivers/clocksource/timer-imx-sysctr.c index fd7d68066efb..b7c80a368a1b 100644 --- a/drivers/clocksource/timer-imx-sysctr.c +++ b/drivers/clocksource/timer-imx-sysctr.c | |||
@@ -20,6 +20,8 @@ | |||
20 | #define SYS_CTR_EN 0x1 | 20 | #define SYS_CTR_EN 0x1 |
21 | #define SYS_CTR_IRQ_MASK 0x2 | 21 | #define SYS_CTR_IRQ_MASK 0x2 |
22 | 22 | ||
23 | #define SYS_CTR_CLK_DIV 0x3 | ||
24 | |||
23 | static void __iomem *sys_ctr_base; | 25 | static void __iomem *sys_ctr_base; |
24 | static u32 cmpcr; | 26 | static u32 cmpcr; |
25 | 27 | ||
@@ -134,6 +136,9 @@ static int __init sysctr_timer_init(struct device_node *np) | |||
134 | if (ret) | 136 | if (ret) |
135 | return ret; | 137 | return ret; |
136 | 138 | ||
139 | /* system counter clock is divided by 3 internally */ | ||
140 | to_sysctr.of_clk.rate /= SYS_CTR_CLK_DIV; | ||
141 | |||
137 | sys_ctr_base = timer_of_base(&to_sysctr); | 142 | sys_ctr_base = timer_of_base(&to_sysctr); |
138 | cmpcr = readl(sys_ctr_base + CMPCR); | 143 | cmpcr = readl(sys_ctr_base + CMPCR); |
139 | cmpcr &= ~SYS_CTR_EN; | 144 | cmpcr &= ~SYS_CTR_EN; |