diff options
Diffstat (limited to 'post')
-rw-r--r-- | post/board/lwmon5/watchdog.c | 1 | ||||
-rw-r--r-- | post/drivers/rtc.c | 15 |
2 files changed, 15 insertions, 1 deletions
diff --git a/post/board/lwmon5/watchdog.c b/post/board/lwmon5/watchdog.c index 699266b..16c01be 100644 --- a/post/board/lwmon5/watchdog.c +++ b/post/board/lwmon5/watchdog.c @@ -124,5 +124,4 @@ int lwmon5_watchdog_post_test(int flags) return -1; } - #endif /* CONFIG_POST & CFG_POST_WATCHDOG */ diff --git a/post/drivers/rtc.c b/post/drivers/rtc.c index 4afe8e6..66e5265 100644 --- a/post/drivers/rtc.c +++ b/post/drivers/rtc.c @@ -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. @@ -94,6 +96,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) { @@ -174,6 +180,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; } |