soc/intel/braswell: refactor rtc failure checking
In order to prepare for checking RTC failure in the early boot
paths move the rtc failure calculation to pmutil.c and add a helper
function to determine if failure occurred.
BUG=b:63054105
Change-Id: Ic4bf99dc3a26fbc3bd508e484963b9298ef1b24b
Signed-off-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-on: https://review.coreboot.org/21556
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Furquan Shaikh <furquan@google.com>
diff --git a/src/soc/intel/braswell/southcluster.c b/src/soc/intel/braswell/southcluster.c
index e033123..6eb61c7 100644
--- a/src/soc/intel/braswell/southcluster.c
+++ b/src/soc/intel/braswell/southcluster.c
@@ -149,23 +149,8 @@
static void sc_rtc_init(void)
{
- uint32_t gen_pmcon1;
- int rtc_fail;
- struct chipset_power_state *ps = cbmem_find(CBMEM_ID_POWER_STATE);
-
- printk(BIOS_SPEW, "%s/%s\n",
- __FILE__, __func__);
- if (ps != NULL)
- gen_pmcon1 = ps->gen_pmcon1;
- else
- gen_pmcon1 = read32((void *)(PMC_BASE_ADDRESS + GEN_PMCON1));
-
- rtc_fail = !!(gen_pmcon1 & RPS);
-
- if (rtc_fail)
- printk(BIOS_DEBUG, "RTC failure.\n");
-
- cmos_init(rtc_fail);
+ printk(BIOS_SPEW, "%s/%s\n", __FILE__, __func__);
+ cmos_init(rtc_failure());
}
static void sc_init(device_t dev)