1
0
Fork 0

rtc: ingenic: Reset regulator register in probe

The regulator register specifies how many input clock cycles (minus one)
are contained in one tick of the 1 Hz clock.

Since this register can contain bogus values after the system boots, it
needs to be reset in the probe register, otherwise the RTC may count way
to slow or way too fast.

Signed-off-by: Paul Cercueil <paul@crapouillou.net>
Link: https://lore.kernel.org/r/20200505221336.222313-7-paul@crapouillou.net
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
alistair/sunxi64-5.8
Paul Cercueil 2020-05-06 00:13:36 +02:00 committed by Alexandre Belloni
parent 15eeadd801
commit 378252b6e2
1 changed files with 3 additions and 0 deletions

View File

@ -372,6 +372,9 @@ static int jz4740_rtc_probe(struct platform_device *pdev)
rate = clk_get_rate(clk);
jz4740_rtc_set_wakeup_params(rtc, np, rate);
/* Each 1 Hz pulse should happen after (rate) ticks */
jz4740_rtc_reg_write(rtc, JZ_REG_RTC_REGULATOR, rate - 1);
ret = rtc_register_device(rtc->rtc);
if (ret)
return ret;