RTC: Write build date in BCD when clearing RTC CMOS
Check the RTC on boot after RTC battery failure and ensure that the reported build date matches what is reported: > grep ^rtc /proc/driver/rtc rtc_time : 01:00:21 rtc_date : 2012-08-16 Change-Id: If23f436796754c68ae6244ef7633ff4fa0a93603 Signed-off-by: Duncan Laurie <dlaurie@chromium.org> Reviewed-on: http://review.coreboot.org/1709 Reviewed-by: Marc Jones <marcj303@gmail.com> Tested-by: build bot (Jenkins)
This commit is contained in:
parent
93ded5905c
commit
5c103aa8ae
|
@ -84,10 +84,10 @@ static void rtc_update_cmos_date(u8 has_century)
|
|||
cmos_write(0, RTC_CLK_SECOND);
|
||||
cmos_write(0, RTC_CLK_MINUTE);
|
||||
cmos_write(1, RTC_CLK_HOUR);
|
||||
cmos_write(COREBOOT_BUILD_WEEKDAY, RTC_CLK_DAYOFWEEK);
|
||||
cmos_write(COREBOOT_BUILD_DAY, RTC_CLK_DAYOFMONTH);
|
||||
cmos_write(COREBOOT_BUILD_MONTH, RTC_CLK_MINUTE);
|
||||
cmos_write(COREBOOT_BUILD_YEAR, RTC_CLK_YEAR);
|
||||
cmos_write(RTC_TO_BCD(COREBOOT_BUILD_WEEKDAY), RTC_CLK_DAYOFWEEK);
|
||||
cmos_write(RTC_TO_BCD(COREBOOT_BUILD_DAY), RTC_CLK_DAYOFMONTH);
|
||||
cmos_write(RTC_TO_BCD(COREBOOT_BUILD_MONTH), RTC_CLK_MINUTE);
|
||||
cmos_write(RTC_TO_BCD(COREBOOT_BUILD_YEAR), RTC_CLK_YEAR);
|
||||
if (has_century) cmos_write(0x20, RTC_CLK_ALTCENTURY);
|
||||
}
|
||||
|
||||
|
|
|
@ -63,6 +63,8 @@
|
|||
# define RTC_24H 0x02 /* 24 hour mode - else hours bit 7 means pm */
|
||||
# define RTC_DST_EN 0x01 /* auto switch DST - works f. USA only */
|
||||
|
||||
#define RTC_TO_BCD(value) (((value / 10) << 4) | (value % 10))
|
||||
|
||||
/**********************************************************************/
|
||||
#define RTC_INTR_FLAGS RTC_REG_C
|
||||
/* caution - cleared by read */
|
||||
|
|
Loading…
Reference in New Issue