• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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