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