sb/intel: Deduplicate vbnv_cmos_failed and rtc_init
* Move all implementations to into common folder.
* Add rtc.c for rtc based functions
Allows all Intel based platforms to use VBOOT_VBNV_CMOS.
Change-Id: Ia494e6d418af6f907c648376674776c54d95ba71
Signed-off-by: Patrick Rudolph <siro@das-labor.org>
Reviewed-on: https://review.coreboot.org/29427
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
diff --git a/src/southbridge/intel/lynxpoint/lpc.c b/src/southbridge/intel/lynxpoint/lpc.c
index cf5959e..9e0ce8a 100644
--- a/src/southbridge/intel/lynxpoint/lpc.c
+++ b/src/southbridge/intel/lynxpoint/lpc.c
@@ -28,7 +28,6 @@
#include <arch/acpi.h>
#include <cpu/cpu.h>
#include <cpu/x86/smm.h>
-#include <elog.h>
#include <cbmem.h>
#include <string.h>
#include "nvs.h"
@@ -37,6 +36,7 @@
#include <cbmem.h>
#include <drivers/intel/gma/i915.h>
#include <southbridge/intel/common/acpi_pirq_gen.h>
+#include <southbridge/intel/common/rtc.h>
#define NMI_OFF 0
@@ -288,21 +288,6 @@
RCBA16(0x3f02) = reg16;
}
-static void pch_rtc_init(struct device *dev)
-{
- int rtc_failed = rtc_failure();
-
- if (rtc_failed) {
- if (IS_ENABLED(CONFIG_ELOG))
- elog_add_event(ELOG_TYPE_RTC_RESET);
- pci_update_config8(dev, GEN_PMCON_3, ~RTC_BATTERY_DEAD, 0);
- }
-
- printk(BIOS_DEBUG, "rtc_failed = 0x%x\n", rtc_failed);
-
- cmos_init(rtc_failed);
-}
-
/* LynxPoint PCH Power Management init */
static void lpt_pm_init(struct device *dev)
{
@@ -576,7 +561,7 @@
}
/* Initialize the real time clock. */
- pch_rtc_init(dev);
+ sb_rtc_init();
/* Initialize ISA DMA. */
isa_dma_init();