aboutsummaryrefslogtreecommitdiff
path: root/src/soc/intel/broadwell/pmutil.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/soc/intel/broadwell/pmutil.c')
-rw-r--r--src/soc/intel/broadwell/pmutil.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/soc/intel/broadwell/pmutil.c b/src/soc/intel/broadwell/pmutil.c
index 43c4744945..7cf184ee05 100644
--- a/src/soc/intel/broadwell/pmutil.c
+++ b/src/soc/intel/broadwell/pmutil.c
@@ -446,3 +446,20 @@ int acpi_sci_irq(void)
printk(BIOS_DEBUG, "SCI is IRQ%d\n", sci_irq);
return sci_irq;
}
+
+int rtc_failure(void)
+{
+ u8 reg8;
+ int rtc_failed;
+ device_t dev = PCH_DEV_LPC;
+
+ reg8 = pci_read_config8(dev, GEN_PMCON_3);
+ rtc_failed = reg8 & RTC_BATTERY_DEAD;
+ if (rtc_failed) {
+ reg8 &= ~RTC_BATTERY_DEAD;
+ pci_write_config8(dev, GEN_PMCON_3, reg8);
+ printk(BIOS_DEBUG, "rtc_failed = 0x%x\n", rtc_failed);
+ }
+
+ return !!rtc_failed;
+}