1 /* 2 * Copyright (c) 2021 Bestechnic (Shanghai) Co., Ltd. All rights reserved. 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 */ 15 #ifndef __APP_UTILS_H__ 16 #define __APP_UTILS_H__ 17 18 #ifdef __cplusplus 19 extern "C" { 20 #endif 21 22 #include "hal_sysfreq.h" 23 24 // APP_SYSFREQ_USER_APP_0 is APP_MAIN 25 #define APP_SYSFREQ_USER_BT_MAIN APP_SYSFREQ_USER_APP_1 26 #define APP_SYSFREQ_USER_HCI APP_SYSFREQ_USER_APP_2 27 #define APP_SYSFREQ_USER_BT_A2DP APP_SYSFREQ_USER_APP_3 28 #define APP_SYSFREQ_USER_UNUSED APP_SYSFREQ_USER_APP_4 29 #define APP_SYSFREQ_USER_AI_VOICE APP_SYSFREQ_USER_APP_5 30 #define APP_SYSFREQ_USER_BT_SCO APP_SYSFREQ_USER_APP_6 31 #define APP_SYSFREQ_USER_OTA APP_SYSFREQ_USER_APP_7 32 #define APP_SYSFREQ_USER_PROMPT_MIXER APP_SYSFREQ_USER_APP_8 33 #define APP_SYSFREQ_USER_APP_NT APP_SYSFREQ_USER_APP_9 34 #define APP_SYSFREQ_USER_VOICE_ASSIST APP_SYSFREQ_USER_APP_10 35 #define APP_SYSFREQ_USER_TRIGGER APP_SYSFREQ_USER_APP_11 36 #define APP_SYSFREQ_USER_BIS APP_SYSFREQ_USER_APP_12 37 #define APP_SYSFREQ_USER_TOTA APP_SYSFREQ_USER_APP_13 38 39 /* 40 * Pseudo user, if one of user is belong to qos(quality of service) user, 41 * when request cpu freq, it will changed to this user 42 */ 43 #define APP_SYSFREQ_USER_QOS APP_SYSFREQ_USER_APP_12 44 45 enum APP_SYSFREQ_USER_T { 46 APP_SYSFREQ_USER_APP_INIT = HAL_SYSFREQ_USER_INIT, 47 APP_SYSFREQ_USER_WIFI = HAL_SYSFREQ_USER_WIFI, 48 APP_SYSFREQ_USER_APP_0 = HAL_SYSFREQ_USER_APP_0, 49 APP_SYSFREQ_USER_APP_1 = HAL_SYSFREQ_USER_APP_1, 50 APP_SYSFREQ_USER_APP_2 = HAL_SYSFREQ_USER_APP_2, 51 APP_SYSFREQ_USER_APP_3 = HAL_SYSFREQ_USER_APP_3, 52 APP_SYSFREQ_USER_APP_4 = HAL_SYSFREQ_USER_APP_4, 53 APP_SYSFREQ_USER_APP_5 = HAL_SYSFREQ_USER_APP_5, 54 APP_SYSFREQ_USER_APP_6 = HAL_SYSFREQ_USER_APP_6, 55 APP_SYSFREQ_USER_APP_7 = HAL_SYSFREQ_USER_APP_7, 56 APP_SYSFREQ_USER_APP_8 = HAL_SYSFREQ_USER_APP_8, 57 APP_SYSFREQ_USER_APP_9 = HAL_SYSFREQ_USER_APP_9, 58 APP_SYSFREQ_USER_APP_10 = HAL_SYSFREQ_USER_APP_10, 59 APP_SYSFREQ_USER_APP_11 = HAL_SYSFREQ_USER_APP_11, 60 APP_SYSFREQ_USER_APP_12 = HAL_SYSFREQ_USER_APP_12, 61 APP_SYSFREQ_USER_APP_13 = HAL_SYSFREQ_USER_APP_13, 62 APP_SYSFREQ_USER_APP_14 = HAL_SYSFREQ_USER_APP_14, 63 APP_SYSFREQ_USER_APP_15 = HAL_SYSFREQ_USER_APP_15, 64 APP_SYSFREQ_USER_QTY 65 }; 66 67 enum APP_SYSFREQ_FREQ_T { 68 APP_SYSFREQ_32K = HAL_CMU_FREQ_32K, 69 APP_SYSFREQ_26M = HAL_CMU_FREQ_26M, 70 APP_SYSFREQ_52M = HAL_CMU_FREQ_52M, 71 APP_SYSFREQ_78M = HAL_CMU_FREQ_78M, 72 APP_SYSFREQ_104M = HAL_CMU_FREQ_104M, 73 APP_SYSFREQ_208M = HAL_CMU_FREQ_208M, 74 #if defined(CHIP_BEST2001) || defined(CHIP_BEST2002) || defined(CHIP_BEST2003) 75 APP_SYSFREQ_390M = HAL_CMU_FREQ_390M, 76 #endif 77 APP_SYSFREQ_FREQ_QTY = HAL_CMU_FREQ_QTY 78 }; 79 80 enum APP_WDT_THREAD_CHECK_USER_T { 81 APP_WDT_THREAD_CHECK_USER_APP, 82 APP_WDT_THREAD_CHECK_USER_AF, 83 APP_WDT_THREAD_CHECK_USER_BT, 84 APP_WDT_THREAD_CHECK_USER_3, 85 APP_WDT_THREAD_CHECK_USER_4, 86 APP_WDT_THREAD_CHECK_USER_5, 87 APP_WDT_THREAD_CHECK_USER_6, 88 APP_WDT_THREAD_CHECK_USER_7, 89 APP_WDT_THREAD_CHECK_USER_8, 90 APP_WDT_THREAD_CHECK_USER_9, 91 APP_WDT_THREAD_CHECK_USER_10, 92 93 APP_WDT_THREAD_CHECK_USER_QTY 94 }; 95 96 int app_sysfreq_req(enum APP_SYSFREQ_USER_T user, enum APP_SYSFREQ_FREQ_T freq); 97 98 #ifdef __cplusplus 99 } 100 #endif 101 102 #endif//__FMDEC_H__ 103