diff options
author | Marc Jones <marc.jones@se-eng.com> | 2014-12-16 18:23:27 -0700 |
---|---|---|
committer | Marc Jones <marc.jones@se-eng.com> | 2014-12-17 20:47:46 +0100 |
commit | 127ad41f647a19e621273d8b7abb963a25a38c02 (patch) | |
tree | b6cf5a7fbcd3cdde6ca919c4340b035c6499923e /src/drivers/elog/elog.c | |
parent | 9d0ae597d7978f4d1dff201da7e48749e8f9af57 (diff) |
Revert "elog: Use the RTC driver interface instead of reading CMOS directly."
This reverts commit 474313d1b6556ad8b3e6750a4096b5735cbfc846.
This reverted commit was applied out of sequence and there are a number
of dependencies that need to be in place prior to adding it. Remove it
for now.
Change-Id: If80c40867098dee2feff2b9a1d824558f4d7028d
Signed-off-by: Marc Jones <marc.jones@se-eng.com>
Reviewed-on: http://review.coreboot.org/7837
Tested-by: build bot (Jenkins)
Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
Diffstat (limited to 'src/drivers/elog/elog.c')
-rw-r--r-- | src/drivers/elog/elog.c | 25 |
1 files changed, 14 insertions, 11 deletions
diff --git a/src/drivers/elog/elog.c b/src/drivers/elog/elog.c index 12aa4c1508..7cc7e45aa2 100644 --- a/src/drivers/elog/elog.c +++ b/src/drivers/elog/elog.c @@ -25,8 +25,6 @@ #if CONFIG_ARCH_X86 #include <pc80/mc146818rtc.h> #endif -#include <bcd.h> -#include <rtc.h> #include <smbios.h> #include <spi-generic.h> #include <spi_flash.h> @@ -640,15 +638,20 @@ int elog_init(void) */ static void elog_fill_timestamp(struct event_header *event) { - struct rtc_time time; - - rtc_get(&time); - event->second = bin2bcd(time.sec); - event->minute = bin2bcd(time.min); - event->hour = bin2bcd(time.hour); - event->day = bin2bcd(time.mday); - event->month = bin2bcd(time.mon); - event->year = bin2bcd(time.year) & 0xff; +#if CONFIG_ARCH_X86 + event->second = cmos_read(RTC_CLK_SECOND); + event->minute = cmos_read(RTC_CLK_MINUTE); + event->hour = cmos_read(RTC_CLK_HOUR); + event->day = cmos_read(RTC_CLK_DAYOFMONTH); + event->month = cmos_read(RTC_CLK_MONTH); + event->year = cmos_read(RTC_CLK_YEAR); +#else + /* + * FIXME: We need to abstract the CMOS stuff on non-x86 platforms. + * Until then, use bogus data here to force the values to 0. + */ + event->month = 0xff; +#endif /* Basic sanity check of expected ranges */ if (event->month > 0x12 || event->day > 0x31 || event->hour > 0x23 || |