diff options
author | Thomas Gleixner <tglx@linutronix.de> | 2019-08-27 01:42:06 +0300 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2019-08-27 01:42:06 +0300 |
commit | a42e43c3de344bd2fa2e635bf3ffd4d9be73cf82 (patch) | |
tree | d0a75c7b442c34c5b45fb57fc1237a8ed3935748 /drivers/clocksource/timer-imx-sysctr.c | |
parent | 3e2d94535adb2df15f3907e4b4c7cd8a5a4c2b5a (diff) | |
parent | 19d608458f4f3bb3a1f89bd7e4814c3fd30dbec7 (diff) | |
download | linux-a42e43c3de344bd2fa2e635bf3ffd4d9be73cf82.tar.xz |
Merge tag 'timers-v5.4' of https://git.linaro.org/people/daniel.lezcano/linux into timers/core
Pull clocksource/events updates from Daniel Lezcano:
- Remove dev_err() when used with platform_get_irq (Stephen Boyd)
- Add DT binding and new compatible for Allwinner sun4i (Maxime Ripard)
- Register the Atmel tcb clocksource for delays (Alexandre Belloni)
- Add a clock divider for the Freescale imx platforms and new timer node
in the DT (Anson Huang)
- Use DIV_ROUND_CLOSEST macro for the Renesas OSTM (Geert Uytterhoeven)
- Fix GENMASK and timer operation for the npcm timer (Avi Fishman)
- Fix timer-of showing an error message when EPROBE_DEFER is
returned (Jon Hunter)
- Add new SoC DT binding and match for Renesas timers (Magnus Damm)
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 @@ #define SYS_CTR_EN 0x1 #define SYS_CTR_IRQ_MASK 0x2 +#define SYS_CTR_CLK_DIV 0x3 + static void __iomem *sys_ctr_base; static u32 cmpcr; @@ -134,6 +136,9 @@ static int __init sysctr_timer_init(struct device_node *np) if (ret) return ret; + /* system counter clock is divided by 3 internally */ + to_sysctr.of_clk.rate /= SYS_CTR_CLK_DIV; + sys_ctr_base = timer_of_base(&to_sysctr); cmpcr = readl(sys_ctr_base + CMPCR); cmpcr &= ~SYS_CTR_EN; |