mirror of
https://github.com/u-boot/u-boot.git
synced 2025-05-09 03:21:51 +00:00
LWMON5: POST RTC fix
Modify the RTC API to provide one a status for the time reported by the rtc_get() function: 0 - a reliable time is guaranteed, < 0 - a reliable time isn't guaranteed (power fault, clock issues, and so on). The RTC chip drivers are responsible for providing this info if the corresponding chip supports such functionality. If not - always report that the time is reliable. The POST RTC test was modified to detect the RTC faults utilizing this new rtc_get() feature. Signed-off-by: Yuri Tikhonov <yur@emcraft.com>
This commit is contained in:
parent
23e20aa648
commit
b73a19e160
34 changed files with 146 additions and 45 deletions
|
@ -85,7 +85,7 @@ void rtc_set(struct rtc_time *tmp)
|
|||
}
|
||||
|
||||
/* Read the time from the RTC_STAT. time_in_seconds is seconds since Jan 1970 */
|
||||
void rtc_get(struct rtc_time *tmp)
|
||||
int rtc_get(struct rtc_time *tmp)
|
||||
{
|
||||
uint32_t cur_rtc_stat;
|
||||
int time_in_sec;
|
||||
|
@ -95,7 +95,7 @@ void rtc_get(struct rtc_time *tmp)
|
|||
|
||||
if (tmp == NULL) {
|
||||
puts("Error getting the date/time\n");
|
||||
return;
|
||||
return -1;
|
||||
}
|
||||
|
||||
wait_for_complete();
|
||||
|
@ -112,6 +112,8 @@ void rtc_get(struct rtc_time *tmp)
|
|||
/* Calculate the total number of seconds since epoch */
|
||||
time_in_sec = (tm_sec) + MIN_TO_SECS(tm_min) + HRS_TO_SECS(tm_hr) + DAYS_TO_SECS(tm_day);
|
||||
to_tm(time_in_sec, tmp);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue