Add common real-time-clock functions

Add functions to convert between seconds and a struct rtc_time. Also
add a function that can display the time on the console.

BUG=chrome-os-partner:52220
BRANCH=none
TEST=(partial) with future commits and after setting RTC on the EC:
  boot on gru into linux shell, check firmware log:

  localhost ~ # grep Date: /sys/firmware/log
  Date: 2016-06-20 (Monday)  Time: 18:01:44

  Then reboot ~10 seconds and check again:

  localhost ~ # grep Date: /sys/firmware/log
  Date: 2016-06-20 (Monday)  Time: 18:01:54

Change-Id: I344c385e2e4cb995d3a374025c205f01c38b660d
Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/351782
Commit-Ready: Vadim Bendebury <vbendeb@chromium.org>
Tested-by: Vadim Bendebury <vbendeb@chromium.org>
Reviewed-by: Vadim Bendebury <vbendeb@chromium.org>
This commit is contained in:
Simon Glass 2016-06-10 20:58:24 -06:00 committed by chrome-bot
commit 3b02dbcd7d
3 changed files with 152 additions and 0 deletions

View file

@ -27,7 +27,13 @@ struct rtc_time
int wday;
};
/* Implemented by the RTC driver (there can be only one) */
int rtc_set(const struct rtc_time *time);
int rtc_get(struct rtc_time *time);
/* Common functions */
int rtc_to_tm(int tim, struct rtc_time *tm);
unsigned long rtc_mktime(const struct rtc_time *tm);
void rtc_display(const struct rtc_time *tm);
#endif /* _RTC_H_ */