• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2020 HiSilicon (Shanghai) Technologies CO., LIMITED.
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  * Description: Header file of HAL external public interfaces .
15  */
16 
17 #ifndef __HAL_EXT_IF_DEVICE_ROM_H__
18 #define __HAL_EXT_IF_DEVICE_ROM_H__
19 
20 /*****************************************************************************
21   1 其他头文件包含
22 *****************************************************************************/
23 #include "osal_types.h"
24 
25 #ifdef __cplusplus
26 #if __cplusplus
27 extern "C" {
28 #endif
29 #endif
30 
31 /*****************************************************************************
32   2 宏定义
33 *****************************************************************************/
34 #define HAL_RX_LPF_GAIN                (6)
35 #define HAL_DBM_CH                     (-13)
36 #define HAL_SINGLE_DOUBLE_SWITCH_GAIN  (3)
37 #define HAL_RSSI_REF_DIFFERENCE        (20)
38 #define HAL_RADAR_REF_DIFFERENCE       (24)
39 
40 #define HAL_PA_ERROR_OFFSET 3
41 
42 #define HAL_CCA_OPT_ED_HIGH_20TH_DEF       (-62) /* CCA 20M检测门限寄存器默认值 */
43 #define HAL_CCA_OPT_ED_HIGH_40TH_DEF       (-59) /* CCA 40M检测门限寄存器默认值 */
44 
45 /*****************************************************************************
46   8 UNION定义
47 *****************************************************************************/
48 typedef enum {
49     HAL_DEVICE_EVENT_JOIN_COMP                = 0,          /* staut join完成事件 */
50     HAL_DEVICE_EVENT_VAP_UP                   = 1,          /* vap up事件 */
51     HAL_DEVICE_EVENT_VAP_DOWN                 = 2,          /* vap down事件 */
52     HAL_DEVICE_EVENT_SCAN_BEGIN               = 3,          /* 扫描开始事件 */
53     HAL_DEVICE_EVENT_SCAN_SWITCH_CHANNEL_OFF  = 4,          /* 扫描切离信道事件 */
54     HAL_DEVICE_EVENT_SCAN_SWITCH_CHANNEL_BACK = 5,          /* 扫描切回信道事件 */
55     HAL_DEVICE_EVENT_SCAN_END                 = 6,          /* 扫描结束事件 */
56     HAL_DEVICE_EVENT_SCAN_ABORT               = 7,          /* 扫描abort事件 */
57     HAL_DEVICE_EVENT_SCAN_PAUSE               = 8,          /* PAUSE SCAN */
58     HAL_DEVICE_EVENT_SCAN_RESUME              = 9,          /* RESUME SCAN */
59 
60     HAL_DEVICE_EVENT_VAP_CHANGE_TO_ACTIVE,          /* vap 进入active状态事件 */
61     HAL_DEVICE_EVENT_VAP_CHANGE_TO_AWAKE,           /* vap 进入awake状态事件 */
62     HAL_DEVICE_EVENT_VAP_CHANGE_TO_DOZE,            /* vap 进入doze状态事件 */
63     HAL_DEVICE_EVENT_INIT_RX_DSCR,                  /* add rx dscr */
64     HAL_DEVICE_EVENT_DESTROY_RX_DSCR,               /* destroy rx dscr */
65     HAL_DEVICE_EVENT_TBTT_WAKE_UP,                  /* tbtt唤醒事件,区别于其他唤醒事件 */
66     HAL_DEVICE_EVENT_TRANS_TO_WORK_STATE,
67 
68     HAL_DEVICE_EVENT_SCAN_PAUSE_FROM_CHAN_CONFLICT,      /* PAUSE SCAN */
69     HAL_DEVICE_EVENT_SCAN_RESUME_FROM_CHAN_CONFLICT,     /* RESUME SCAN */
70 
71     HAL_DEVICE_EVENT_DBDC_STOP,
72     HAL_DEVICE_EVENT_DETATCH,                       /* 状态机detatch */
73     HAL_DEVICE_EVENT_SYSTEM_INIT,                   /* 系统初始启动 */
74     HAL_DEVICE_EVENT_WOW_PREPARE,                   /* WOW加载 */
75 
76     HAL_DEVICE_EVENT_BUTT
77 } hal_device_event;
78 
79 typedef enum {
80     HAL_DEVICE_INIT_STATE = 0,              /* init状态 */
81     HAL_DEVICE_IDLE_STATE = 1,              /* idle状态 */
82     HAL_DEVICE_WORK_STATE = 2,              /* work状态vap up */
83     HAL_DEVICE_SCAN_STATE = 3,              /* 扫描状态 */
84     HAL_DEVICE_BUTT_STATE                   /* 最大状态 */
85 } hal_device_state_info;
86 
87 /* CBB频率 */
88 typedef enum {
89     HAL_CLK_0M_FREQ                     = 0,
90     HAL_CLK_40M_FREQ                    = 1,
91     HAL_CLK_80M_FREQ                    = 2,
92     HAL_CLK_160M_FREQ                   = 3,
93     HAL_CLK_320M_FREQ                   = 4,
94     HAL_CLK_640M_FREQ                   = 5,
95     HAL_CLK_960M_FREQ                   = 6,
96     HAL_CLK_30M_FREQ                    = 7,
97     HAL_CLK_60M_FREQ                    = 8,
98     HAL_CLK_120M_FREQ                   = 9,
99 
100     HAL_CLK_BUTT_FREQ
101 } hal_clk_freq_enum;
102 typedef osal_u8 hal_clk_freq_enum_uint8;
103 
104 /* ADC/DAC组合频率 */
105 typedef enum {
106     HAL_CLK_ADC80M_DAC160M                      = 0,
107     HAL_CLK_ADC160M_DAC160M                     = 1,
108     HAL_CLK_ADC320M_DAC480M                     = 2,
109 
110     HAL_CLK_ADC_DAC_BUTT
111 } hal_clk_adc_dac_enum;
112 typedef osal_u8 hal_clk_adc_dac_enum_uint8;
113 /*****************************************************************************
114   9 OTHERS定义
115 *****************************************************************************/
116 /* HAL模块和DMAC模块共用的WLAN RX结构体 */
117 typedef struct {
118     osal_u32 packet_idx;
119     osal_u8 payoald[4];                /* 数组大小为4 */
120 } hal_cali_hal2hmac_payload_stru;
121 
122 typedef enum {
123     HAL_DEVICE_NOA_TYPE_P2P = 0,
124     HAL_DEVICE_NOA_TYPE_TWT = 1,
125     HAL_DEVICE_NOA_TYPE_WUR = 2,
126     HAL_DEVICE_NOA_TYPE_CHBA = 3,
127     HAL_DEVICE_NOA_TYPE_MAX,
128 } hal_device_noa_type_enum;
129 typedef osal_u8 hal_device_noa_type_enum_uint8;
130 
131 #ifdef __cplusplus
132 #if __cplusplus
133 }
134 #endif
135 #endif
136 
137 #endif /* end of hal_ext_if_device.h */
138