1 /* 2 * Copyright (C) 2015-2020 Alibaba Group Holding Limited 3 */ 4 #ifndef __HAL_SYSFREQ_H__ 5 #define __HAL_SYSFREQ_H__ 6 7 #ifdef __cplusplus 8 extern "C" { 9 #endif 10 11 #include "hal_cmu.h" 12 13 enum HAL_SYSFREQ_USER_T { 14 HAL_SYSFREQ_USER_INIT, 15 HAL_SYSFREQ_USER_OVERLAY, 16 HAL_SYSFREQ_USER_USB, 17 HAL_SYSFREQ_USER_BT, 18 HAL_SYSFREQ_USER_ANC, 19 HAL_SYSFREQ_USER_WIFI, 20 21 HAL_SYSFREQ_USER_APP_0, 22 HAL_SYSFREQ_USER_APP_1, 23 HAL_SYSFREQ_USER_APP_2, 24 HAL_SYSFREQ_USER_APP_3, 25 HAL_SYSFREQ_USER_APP_4, 26 HAL_SYSFREQ_USER_APP_5, 27 HAL_SYSFREQ_USER_APP_6, 28 HAL_SYSFREQ_USER_APP_7, 29 HAL_SYSFREQ_USER_APP_8, 30 HAL_SYSFREQ_USER_APP_9, 31 HAL_SYSFREQ_USER_APP_10, 32 HAL_SYSFREQ_USER_APP_11, 33 HAL_SYSFREQ_USER_APP_12, 34 HAL_SYSFREQ_USER_APP_13, 35 HAL_SYSFREQ_USER_APP_14, 36 HAL_SYSFREQ_USER_APP_15, 37 38 HAL_SYSFREQ_USER_QTY 39 }; 40 41 void hal_sysfreq_set_min_freq(enum HAL_CMU_FREQ_T freq); 42 43 int hal_sysfreq_req(enum HAL_SYSFREQ_USER_T user, enum HAL_CMU_FREQ_T freq); 44 45 enum HAL_CMU_FREQ_T hal_sysfreq_get(void); 46 47 enum HAL_CMU_FREQ_T hal_sysfreq_get_hw_freq(void); 48 49 int hal_sysfreq_busy(void); 50 51 void hal_sysfreq_print(void); 52 53 #ifdef __cplusplus 54 } 55 #endif 56 57 #endif 58 59