mirror of
https://github.com/fail0verflow/switch-coreboot.git
synced 2025-05-04 01:39:18 -04:00
Cherry-pick: rk3288: rtc-rk808: fix rtc time reading issue
After we set the GET_TIME bit, the rtc time can't be read immediately. We should wait up to 31.25 us, about one cycle of 32khz. Otherwise reading RTC time will return a old time. BUG=chrome-os-partner:61078 BRANCH=veyron TEST=Build and Boot Original-Change-Id: I6ec07fc6c4d6d8b27b12031423b86b8ab15da6f6 Original-Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com> Original-Reviewed-on: https://chromium-review.googlesource.com/423272 Original-Reviewed-by: Julius Werner <jwerner@chromium.org> Change-Id: I8c168c14437bb932a59ac0e91a01062df0cf11dc Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com> Reviewed-on: https://chromium-review.googlesource.com/427522 Reviewed-by: Julius Werner <jwerner@chromium.org>
This commit is contained in:
parent
5ea7660b7b
commit
b4b708e29f
1 changed files with 6 additions and 0 deletions
|
@ -181,6 +181,12 @@ int rtc_get(struct rtc_time *time)
|
|||
rk808_clrsetbits(RTC_CTRL, RTC_CTRL_GET_TIME, 0);
|
||||
rk808_clrsetbits(RTC_CTRL, 0, RTC_CTRL_GET_TIME | RTC_CTRL_RTC_READSEL);
|
||||
|
||||
/*
|
||||
* After we set the GET_TIME bit, the rtc time can't be read
|
||||
* immediately. So we should wait up to 31.25 us.
|
||||
*/
|
||||
udelay(32);
|
||||
|
||||
ret |= rk808_read(RTC_SECOND, &value);
|
||||
time->sec = bcd2bin(value & 0x7f);
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue