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