From: Justin Chen Date: Mon, 26 Feb 2018 20:09:58 +0000 (-0800) Subject: rtc: brcmstb-waketimer: Set wktmr prescaler X-Git-Tag: v4.17-rc1~62^2~28 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=58d3d5e79ece544b50829ac409064b58fec32000;p=linux.git rtc: brcmstb-waketimer: Set wktmr prescaler The HW default is one tick per second, however instead of assuming this, lets make sure the waketimer is actually one tick per second before arming the alarm. Reviewed-by: Florian Fainelli Signed-off-by: Justin Chen Signed-off-by: Alexandre Belloni --- diff --git a/drivers/rtc/rtc-brcmstb-waketimer.c b/drivers/rtc/rtc-brcmstb-waketimer.c index 6cee61201c30..bdd6674a1054 100644 --- a/drivers/rtc/rtc-brcmstb-waketimer.c +++ b/drivers/rtc/rtc-brcmstb-waketimer.c @@ -60,6 +60,9 @@ static void brcmstb_waketmr_set_alarm(struct brcmstb_waketmr *timer, { brcmstb_waketmr_clear_alarm(timer); + /* Make sure we are actually counting in seconds */ + writel_relaxed(timer->rate, timer->base + BRCMSTB_WKTMR_PRESCALER); + writel_relaxed(secs + 1, timer->base + BRCMSTB_WKTMR_ALARM); }