clocksource/drivers/imx-sysctr: handle nxp,no-divider property
authorPeng Fan <peng.fan@nxp.com>
Fri, 2 Sep 2022 11:12:07 +0000 (19:12 +0800)
committerDaniel Lezcano <daniel.lezcano@linaro.org>
Tue, 20 Sep 2022 08:49:46 +0000 (10:49 +0200)
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>
drivers/clocksource/timer-imx-sysctr.c

index 523e376..5a7a951 100644 (file)
@@ -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);