summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/soc/intel/common/block/include/intelblocks/rtc.h2
-rw-r--r--src/soc/intel/common/block/rtc/rtc.c10
2 files changed, 10 insertions, 2 deletions
diff --git a/src/soc/intel/common/block/include/intelblocks/rtc.h b/src/soc/intel/common/block/include/intelblocks/rtc.h
index 56cfb2ea8c..0faf0b0ef0 100644
--- a/src/soc/intel/common/block/include/intelblocks/rtc.h
+++ b/src/soc/intel/common/block/include/intelblocks/rtc.h
@@ -45,4 +45,6 @@ void configure_rtc_buc_top_swap(enum ts_config ts_state);
*/
enum ts_config get_rtc_buc_top_swap_status(void);
+/* Set RTC Configuration BILD bit. */
+void rtc_conf_set_bios_interface_lockdown(void);
#endif /* SOC_INTEL_COMMON_BLOCK_RTC_H */
diff --git a/src/soc/intel/common/block/rtc/rtc.c b/src/soc/intel/common/block/rtc/rtc.c
index b8c8849d10..bfa11bd177 100644
--- a/src/soc/intel/common/block/rtc/rtc.c
+++ b/src/soc/intel/common/block/rtc/rtc.c
@@ -24,10 +24,10 @@
#define PCR_RTC_CONF_UCMOS_EN (1 << 2)
#define PCR_RTC_CONF_LCMOS_LOCK (1 << 3)
#define PCR_RTC_CONF_UCMOS_LOCK (1 << 4)
-#define PCR_RTC_CONF_RESERVED (1 << 31)
+#define PCR_RTC_CONF_BILD (1 << 31)
/* RTC backed up control register */
#define PCR_RTC_BUC 0x3414
-#define PCR_RTC_BUC_TOP_SWAP (1 << 0)
+#define PCR_RTC_BUC_TOP_SWAP (1 << 0)
void enable_rtc_upper_bank(void)
{
@@ -48,6 +48,12 @@ void rtc_init(void)
cmos_init(soc_get_rtc_failed());
}
+void rtc_conf_set_bios_interface_lockdown(void)
+{
+ pcr_rmw32(PID_RTC, PCR_RTC_CONF, ~PCR_RTC_CONF_BILD,
+ PCR_RTC_CONF_BILD);
+}
+
#if IS_ENABLED(CONFIG_INTEL_HAS_TOP_SWAP)
void configure_rtc_buc_top_swap(enum ts_config ts_state)
{