mirror of
https://github.com/Fishwaldo/u-boot.git
synced 2025-06-27 00:51:50 +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
|
@ -28,6 +28,8 @@
|
|||
*
|
||||
* The Real Time Clock (RTC) operation is verified by this test.
|
||||
* The following features are verified:
|
||||
* o) RTC Power Fault
|
||||
* This is verified by analyzing the rtc_get() return status.
|
||||
* o) Time uniformity
|
||||
* This is verified by reading RTC in polling within
|
||||
* a short period of time.
|
||||
|
@ -96,6 +98,10 @@ int rtc_post_test (int flags)
|
|||
unsigned int ynl = 1999;
|
||||
unsigned int yl = 2000;
|
||||
unsigned int skipped = 0;
|
||||
int reliable;
|
||||
|
||||
/* Time reliability */
|
||||
reliable = rtc_get (&svtm);
|
||||
|
||||
/* Time uniformity */
|
||||
if (rtc_post_skip (&diff) != 0) {
|
||||
|
@ -176,6 +182,15 @@ int rtc_post_test (int flags)
|
|||
}
|
||||
rtc_post_restore (&svtm, skipped);
|
||||
|
||||
/* If come here, then RTC operates correcty, check the correctness
|
||||
* of the time it reports.
|
||||
*/
|
||||
if (reliable < 0) {
|
||||
post_log ("RTC Time is not reliable! Power fault? \n");
|
||||
|
||||
return -1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue