xref: /aosp_15_r20/external/coreboot/src/soc/mediatek/common/include/soc/pmif_sw.h (revision b9411a12aaaa7e1e6a6fb7c5e057f44ee179a49c)
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 
3 #ifndef __SOC_MEDIATEK_PMIF_SW_H__
4 #define __SOC_MEDIATEK_PMIF_SW_H__
5 
6 /* macro for SWINF_FSM */
7 #define SWINF_FSM_IDLE		0x00
8 #define SWINF_FSM_REQ		0x02
9 #define SWINF_FSM_WFDLE		0x04
10 #define SWINF_FSM_WFVLDCLR	0x06
11 #define SWINF_INIT_DONE		0x01
12 
13 #define GET_SWINF_0_FSM(x)	(((x) >> 1) & 0x7)
14 
15 enum {
16 	PMIF_READ_US        = 1000,
17 	PMIF_WAIT_IDLE_US   = 1000,
18 };
19 
20 /* calibation tolerance rate, unit: 0.1% */
21 enum {
22 	CAL_TOL_RATE = 40,
23 	CAL_MAX_VAL = 0x7F,
24 };
25 
26 u32 pmif_get_ulposc_freq_mhz(u32 cali_val);
27 int pmif_clk_init(void);
28 #endif /* __SOC_MEDIATEK_PMIF_SW_H__ */
29