diff options
author | Justin Chen <justin.chen@broadcom.com> | 2018-02-26 12:09:58 -0800 |
---|---|---|
committer | Alexandre Belloni <alexandre.belloni@bootlin.com> | 2018-03-17 14:20:51 +0100 |
commit | 58d3d5e79ece544b50829ac409064b58fec32000 (patch) | |
tree | e8ef082cf854b4386074d2e3c3bc593e8f58dbb8 /drivers/rtc/rtc-brcmstb-waketimer.c | |
parent | f18046c50d2bb726538a83dfb035bfa592779e9c (diff) | |
download | linux-58d3d5e79ece544b50829ac409064b58fec32000.tar.gz linux-58d3d5e79ece544b50829ac409064b58fec32000.tar.bz2 linux-58d3d5e79ece544b50829ac409064b58fec32000.zip |
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 <f.fainelli@gmail.com>
Signed-off-by: Justin Chen <justinpopo6@gmail.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Diffstat (limited to 'drivers/rtc/rtc-brcmstb-waketimer.c')
-rw-r--r-- | drivers/rtc/rtc-brcmstb-waketimer.c | 3 |
1 files changed, 3 insertions, 0 deletions
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); } |