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