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>
This commit is contained in:
committed by
Patrick Georgi
parent
ef613b97cf
commit
9f3e734e5c
@ -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 {
|
||||
|
Reference in New Issue
Block a user