1 /* SPDX-License-Identifier: GPL-2.0-only */ 2 3 #ifndef SOC_INTEL_COMMON_BLOCK_RTC_H 4 #define SOC_INTEL_COMMON_BLOCK_RTC_H 5 6 /* Top swap feature enable/disable config */ 7 enum ts_config { 8 TS_DISABLE, 9 TS_ENABLE 10 }; 11 12 void enable_rtc_upper_bank(void); 13 14 /* Expect return rtc failed bootlean in case of coin removal */ 15 int soc_get_rtc_failed(void); 16 17 void rtc_init(void); 18 19 /* 20 * set/unset RTC backed top swap bit in the BUC register. 21 * TS_ENABLE - PCH will invert A16, A17 or A18 for cycles 22 * going to the BIOS space based on PCH strap setting. 23 * TS_DISABLE - PCH will not invert A16, A17 or A18. 24 */ 25 void configure_rtc_buc_top_swap(enum ts_config ts_state); 26 27 /* 28 * Return the current top swap state which is reflected by the 29 * RTC backed top swap bit in the BUC register. 30 * TS_ENABLE - Top swap enabled. 31 * TS_DISABLE - Top swap disabled. 32 */ 33 enum ts_config get_rtc_buc_top_swap_status(void); 34 35 /* Set RTC Configuration BILD bit. */ 36 void rtc_conf_set_bios_interface_lockdown(void); 37 #endif /* SOC_INTEL_COMMON_BLOCK_RTC_H */ 38