aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/clocksource
diff options
context:
space:
mode:
authorPeng Fan <peng.fan@nxp.com>2022-09-02 19:12:07 +0800
committerDaniel Lezcano <daniel.lezcano@linaro.org>2022-09-20 10:49:46 +0200
commit27b30995b75d1e79360c164ba179bca86ab76ba6 (patch)
treef76320b2b0ae1e8845091d6d3706d1880c22db56 /drivers/clocksource
parentdt-bindings: timer: nxp,sysctr-timer: add nxp,no-divider property (diff)
downloadlinux-dev-27b30995b75d1e79360c164ba179bca86ab76ba6.tar.xz
linux-dev-27b30995b75d1e79360c164ba179bca86ab76ba6.zip
clocksource/drivers/imx-sysctr: handle nxp,no-divider property
The previous hardware design embedds a internal divider for base clock. New design not has that divider, so check the nxp,no-divider property, if true, directly use base clock input, otherwise divide by 3 as before. Signed-off-by: Peng Fan <peng.fan@nxp.com> Link: https://lore.kernel.org/r/20220902111207.2902493-3-peng.fan@oss.nxp.com Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Diffstat (limited to 'drivers/clocksource')
-rw-r--r--drivers/clocksource/timer-imx-sysctr.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/clocksource/timer-imx-sysctr.c b/drivers/clocksource/timer-imx-sysctr.c
index 523e37662a6e..5a7a951c4efc 100644
--- a/drivers/clocksource/timer-imx-sysctr.c
+++ b/drivers/clocksource/timer-imx-sysctr.c
@@ -134,8 +134,10 @@ 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;
+ if (!of_property_read_bool(np, "nxp,no-divider")) {
+ /* 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);