summaryrefslogtreecommitdiff
path: root/payloads/libpayload/include
diff options
context:
space:
mode:
authorPatrick Rudolph <siro@das-labor.org>2017-02-25 09:56:53 +0100
committerPatrick Georgi <pgeorgi@google.com>2020-03-09 08:14:04 +0000
commit9f3e734e5c3760ff30906862a3f9ca724ea5fffb (patch)
treec3db88f9bdaa03ee1783976f4c46cca699643c90 /payloads/libpayload/include
parentef613b97cf03d764f2894e314c65282589af55b3 (diff)
downloadcoreboot-9f3e734e5c3760ff30906862a3f9ca724ea5fffb.tar.xz
libpayload: Improve rtc functions
On Lenovo T500 the RTC readings where wrong, as RTC has different encodings, depending on the statusB register. Support BCD vs binary RTC format and AM/PM vs 24h RTC format. Fixes wrong date and time on Lenovo 500. Change-Id: Id773c33e228973e190a7e14c3d11979678b1a619 Signed-off-by: Patrick Rudolph <siro@das-labor.org> Reviewed-on: https://review.coreboot.org/c/coreboot/+/18498 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Nico Huber <nico.h@gmx.de>
Diffstat (limited to 'payloads/libpayload/include')
-rw-r--r--payloads/libpayload/include/libpayload.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/payloads/libpayload/include/libpayload.h b/payloads/libpayload/include/libpayload.h
index 4b6a250f28..74969726bf 100644
--- a/payloads/libpayload/include/libpayload.h
+++ b/payloads/libpayload/include/libpayload.h
@@ -130,6 +130,9 @@ static const char _pstruct(key)[] \
#define NVRAM_RTC_YEAR 9 /**< RTC Year offset in CMOS */
#define NVRAM_RTC_FREQ_SELECT 10 /**< RTC Update Status Register */
#define NVRAM_RTC_UIP 0x80
+#define NVRAM_RTC_STATUSB 11 /**< RTC Status Register B */
+#define NVRAM_RTC_FORMAT_24HOUR 0x02
+#define NVRAM_RTC_FORMAT_BINARY 0x04
/** Broken down time structure */
struct tm {