X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=post%2Fdrivers%2Frtc.c;h=e3da5e64ced488cd7b40d9ea4c8009677e447603;hb=b73a19e1609d0f705cbab8014ca17aefe89e4c76;hp=7d4f9b88ee62f46ccca552a0dae9a6fc7f02f28b;hpb=23e20aa6488e6c0622496549861bfdc74108debe;p=u-boot diff --git a/post/drivers/rtc.c b/post/drivers/rtc.c index 7d4f9b88ee..e3da5e64ce 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. @@ -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; }