1
/******************************************************************************
2
* Copyright(c) 2008 - 2010 Realtek Corporation. All rights reserved.
4
* This program is distributed in the hope that it will be useful, but WITHOUT
5
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
6
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
9
* You should have received a copy of the GNU General Public License along with
10
* this program; if not, write to the Free Software Foundation, Inc.,
11
* 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA
13
* The full GNU General Public License is included in this distribution in the
14
* file called LICENSE.
16
* Contact Information:
17
* wlanfae <wlanfae@realtek.com>
18
******************************************************************************/
22
#include <linux/types.h>
23
#include "../rtllib/rtllib_endianfree.h"
25
#define HAL_RETRY_LIMIT_INFRA 48
26
#define HAL_RETRY_LIMIT_AP_ADHOC 7
28
#define HAL_DM_DIG_DISABLE BIT0
29
#define HAL_DM_HIPWR_DISABLE BIT1
31
#define RX_DESC_SIZE 24
32
#define RX_DRV_INFO_SIZE_UNIT 8
35
#define TX_DESC_SIZE 32
37
#define SET_TX_DESC_PKT_SIZE(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc, 0, 16, __Value)
38
#define SET_TX_DESC_OFFSET(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc, 16, 8, __Value)
39
#define SET_TX_DESC_TYPE(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc, 24, 2, __Value)
40
#define SET_TX_DESC_LAST_SEG(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc, 26, 1, __Value)
41
#define SET_TX_DESC_FIRST_SEG(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc, 27, 1, __Value)
42
#define SET_TX_DESC_LINIP(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc, 28, 1, __Value)
43
#define SET_TX_DESC_AMSDU(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc, 29, 1, __Value)
44
#define SET_TX_DESC_GREEN_FIELD(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc, 30, 1, __Value)
45
#define SET_TX_DESC_OWN(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc, 31, 1, __Value)
47
#define SET_TX_DESC_MACID(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+4, 0, 5, __Value)
48
#define SET_TX_DESC_MORE_DATA(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+4, 5, 1, __Value)
49
#define SET_TX_DESC_MORE_FRAG(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+4, 6, 1, __Value)
50
#define SET_TX_DESC_PIFS(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+4, 7, 1, __Value)
51
#define SET_TX_DESC_QUEUE_SEL(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+4, 8, 5, __Value)
52
#define SET_TX_DESC_ACK_POLICY(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+4, 13, 2, __Value)
53
#define SET_TX_DESC_NO_ACM(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+4, 15, 1, __Value)
54
#define SET_TX_DESC_NON_QOS(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+4, 16, 1, __Value)
55
#define SET_TX_DESC_KEY_ID(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+4, 17, 2, __Value)
56
#define SET_TX_DESC_OUI(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+4, 19, 1, __Value)
57
#define SET_TX_DESC_PKT_TYPE(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+4, 20, 1, __Value)
58
#define SET_TX_DESC_EN_DESC_ID(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+4, 21, 1, __Value)
59
#define SET_TX_DESC_SEC_TYPE(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+4, 22, 2, __Value)
60
#define SET_TX_DESC_WDS(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+4, 24, 1, __Value)
61
#define SET_TX_DESC_HTC(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+4, 25, 1, __Value)
62
#define SET_TX_DESC_PKT_OFFSET(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+4, 26, 5, __Value)
63
#define SET_TX_DESC_HWPC(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+4, 27, 1, __Value)
65
#define SET_TX_DESC_DATA_RETRY_LIMIT(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+8, 0, 6, __Value)
66
#define SET_TX_DESC_RETRY_LIMIT_ENABLE(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+8, 6, 1, __Value)
67
#define SET_TX_DESC_TSFL(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+8, 7, 5, __Value)
68
#define SET_TX_DESC_RTS_RETRY_COUNT(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+8, 12, 6, __Value)
69
#define SET_TX_DESC_DATA_RETRY_COUNT(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+8, 18, 6, __Value)
70
#define SET_TX_DESC_RSVD_MACID(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(((__pTxDesc) + 8), 24, 5, __Value)
71
#define SET_TX_DESC_AGG_ENABLE(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+8, 29, 1, __Value)
72
#define SET_TX_DESC_AGG_BREAK(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+8, 30, 1, __Value)
73
#define SET_TX_DESC_OWN_MAC(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+8, 31, 1, __Value)
75
#define SET_TX_DESC_NEXT_HEAP_PAGE(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+12, 0, 8, __Value)
76
#define SET_TX_DESC_TAIL_PAGE(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+12, 8, 8, __Value)
77
#define SET_TX_DESC_SEQ(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+12, 16, 12, __Value)
78
#define SET_TX_DESC_FRAG(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+12, 28, 4, __Value)
80
#define SET_TX_DESC_RTS_RATE(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+16, 0, 6, __Value)
81
#define SET_TX_DESC_DISABLE_RTS_FB(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+16, 6, 1, __Value)
82
#define SET_TX_DESC_RTS_RATE_FB_LIMIT(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+16, 7, 4, __Value)
83
#define SET_TX_DESC_CTS_ENABLE(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+16, 11, 1, __Value)
84
#define SET_TX_DESC_RTS_ENABLE(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+16, 12, 1, __Value)
85
#define SET_TX_DESC_RA_BRSR_ID(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+16, 13, 3, __Value)
86
#define SET_TX_DESC_TXHT(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+16, 16, 1, __Value)
87
#define SET_TX_DESC_TX_SHORT(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+16, 17, 1, __Value)
88
#define SET_TX_DESC_TX_BANDWIDTH(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+16, 18, 1, __Value)
89
#define SET_TX_DESC_TX_SUB_CARRIER(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+16, 19, 2, __Value)
90
#define SET_TX_DESC_TX_STBC(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+16, 21, 2, __Value)
91
#define SET_TX_DESC_TX_REVERSE_DIRECTION(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+16, 23, 1, __Value)
92
#define SET_TX_DESC_RTS_HT(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+16, 24, 1, __Value)
93
#define SET_TX_DESC_RTS_SHORT(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+16, 25, 1, __Value)
94
#define SET_TX_DESC_RTS_BANDWIDTH(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+16, 26, 1, __Value)
95
#define SET_TX_DESC_RTS_SUB_CARRIER(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+16, 27, 2, __Value)
96
#define SET_TX_DESC_RTS_STBC(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+16, 29, 2, __Value)
97
#define SET_TX_DESC_USER_RATE(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+16, 31, 1, __Value)
99
#define SET_TX_DESC_PACKET_ID(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+20, 0, 9, __Value)
100
#define SET_TX_DESC_TX_RATE(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+20, 9, 6, __Value)
101
#define SET_TX_DESC_DISABLE_FB(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+20, 15, 1, __Value)
102
#define SET_TX_DESC_DATA_RATE_FB_LIMIT(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+20, 16, 5, __Value)
103
#define SET_TX_DESC_TX_AGC(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+20, 21, 11, __Value)
105
#define SET_TX_DESC_IP_CHECK_SUM(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+24, 0, 16, __Value)
106
#define SET_TX_DESC_TCP_CHECK_SUM(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+24, 16, 16, __Value)
108
#define SET_TX_DESC_TX_BUFFER_SIZE(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+28, 0, 16, __Value)
109
#define SET_TX_DESC_IP_HEADER_OFFSET(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+28, 16, 8, __Value)
110
#define SET_TX_DESC_TCP_ENABLE(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+28, 31, 1, __Value)
112
#define SET_TX_DESC_TX_BUFFER_ADDRESS(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+32, 0, 32, __Value)
115
#define TX_DESC_NEXT_DESC_OFFSET 36
116
#define CLEAR_PCI_TX_DESC_CONTENT(__pTxDesc, _size) \
118
if(_size > TX_DESC_NEXT_DESC_OFFSET) \
119
memset((void*)__pTxDesc, 0, TX_DESC_NEXT_DESC_OFFSET); \
121
memset((void*)__pTxDesc, 0, _size); \
122
if(_size > (TX_DESC_NEXT_DESC_OFFSET + 4)) \
123
memset((void*)(__pTxDesc + (TX_DESC_NEXT_DESC_OFFSET + 4)), 0, (_size - TX_DESC_NEXT_DESC_OFFSET)); \
126
#define C2H_RX_CMD_HDR_LEN 8
127
#define GET_C2H_CMD_CMD_LEN(__pRxHeader) LE_BITS_TO_4BYTE((__pRxHeader), 0, 16)
128
#define GET_C2H_CMD_ELEMENT_ID(__pRxHeader) LE_BITS_TO_4BYTE((__pRxHeader), 16, 8)
129
#define GET_C2H_CMD_CMD_SEQ(__pRxHeader) LE_BITS_TO_4BYTE((__pRxHeader), 24, 7)
130
#define GET_C2H_CMD_CONTINUE(__pRxHeader) LE_BITS_TO_4BYTE((__pRxHeader), 31, 1)
131
#define GET_C2H_CMD_CONTENT(__pRxHeader) ((u8*)(__pRxHeader) + C2H_RX_CMD_HDR_LEN)
133
#define GET_C2H_CMD_FEEDBACK_ELEMENT_ID(__pCmdFBHeader) LE_BITS_TO_4BYTE((__pCmdFBHeader), 0, 8)
134
#define GET_C2H_CMD_FEEDBACK_CCX_LEN(__pCmdFBHeader) LE_BITS_TO_4BYTE((__pCmdFBHeader), 8, 8)
135
#define GET_C2H_CMD_FEEDBACK_CCX_CMD_CNT(__pCmdFBHeader) LE_BITS_TO_4BYTE((__pCmdFBHeader), 16, 16)
136
#define GET_C2H_CMD_FEEDBACK_CCX_MAC_ID(__pCmdFBHeader) LE_BITS_TO_4BYTE(((__pCmdFBHeader) + 4), 0, 5)
137
#define GET_C2H_CMD_FEEDBACK_CCX_VALID(__pCmdFBHeader) LE_BITS_TO_4BYTE(((__pCmdFBHeader) + 4), 7, 1)
138
#define GET_C2H_CMD_FEEDBACK_CCX_RETRY_CNT(__pCmdFBHeader) LE_BITS_TO_4BYTE(((__pCmdFBHeader) + 4), 8, 5)
139
#define GET_C2H_CMD_FEEDBACK_CCX_TOK(__pCmdFBHeader) LE_BITS_TO_4BYTE(((__pCmdFBHeader) + 4), 15, 1)
140
#define GET_C2H_CMD_FEEDBACK_CCX_QSEL(__pCmdFBHeader) LE_BITS_TO_4BYTE(((__pCmdFBHeader) + 4), 16, 4)
141
#define GET_C2H_CMD_FEEDBACK_CCX_SEQ(__pCmdFBHeader) LE_BITS_TO_4BYTE(((__pCmdFBHeader) + 4), 20, 12)
149
#define BEACON_QUEUE 4
150
#define TXCMD_QUEUE 5
155
#define LOW_QUEUE BE_QUEUE
156
#define NORMAL_QUEUE MGNT_QUEUE
159
#define RX_MPDU_QUEUE 0
160
#define RX_CMD_QUEUE 1
161
#define RX_MAX_QUEUE 2
164
typedef enum _rtl819x_loopback{
165
RTL819X_NO_LOOPBACK = 0,
166
RTL819X_MAC_LOOPBACK = 1,
167
RTL819X_DMA_LOOPBACK = 2,
168
RTL819X_CCK_LOOPBACK = 3,
171
#define RESET_DELAY_8185 20
173
#define RT_IBSS_INT_MASKS 0
175
#define DESC92S_RATE1M 0x00
176
#define DESC92S_RATE2M 0x01
177
#define DESC92S_RATE5_5M 0x02
178
#define DESC92S_RATE11M 0x03
179
#define DESC92S_RATE6M 0x04
180
#define DESC92S_RATE9M 0x05
181
#define DESC92S_RATE12M 0x06
182
#define DESC92S_RATE18M 0x07
183
#define DESC92S_RATE24M 0x08
184
#define DESC92S_RATE36M 0x09
185
#define DESC92S_RATE48M 0x0a
186
#define DESC92S_RATE54M 0x0b
187
#define DESC92S_RATEMCS0 0x0c
188
#define DESC92S_RATEMCS1 0x0d
189
#define DESC92S_RATEMCS2 0x0e
190
#define DESC92S_RATEMCS3 0x0f
191
#define DESC92S_RATEMCS4 0x10
192
#define DESC92S_RATEMCS5 0x11
193
#define DESC92S_RATEMCS6 0x12
194
#define DESC92S_RATEMCS7 0x13
195
#define DESC92S_RATEMCS8 0x14
196
#define DESC92S_RATEMCS9 0x15
197
#define DESC92S_RATEMCS10 0x16
198
#define DESC92S_RATEMCS11 0x17
199
#define DESC92S_RATEMCS12 0x18
200
#define DESC92S_RATEMCS13 0x19
201
#define DESC92S_RATEMCS14 0x1a
202
#define DESC92S_RATEMCS15 0x1b
203
#define DESC92S_RATEMCS15_SG 0x1c
204
#define DESC92S_RATEMCS32 0x20
206
#define SHORT_SLOT_TIME 9
207
#define NON_SHORT_SLOT_TIME 20
210
#define MAX_LINES_HWCONFIG_TXT 1000
211
#define MAX_BYTES_LINE_HWCONFIG_TXT 256
213
#define SW_THREE_WIRE 0
214
#define HW_THREE_WIRE 2
216
#define BT_DEMO_BOARD 0
217
#define BT_QA_BOARD 1
220
#define Rx_Smooth_Factor 20
226
#define QSLT_BEACON 0x10
227
#define QSLT_HIGH 0x11
228
#define QSLT_MGNT 0x12
229
#define QSLT_CMD 0x13
231
#define NUM_OF_FIRMWARE_QUEUE 10
232
#define NUM_OF_PAGES_IN_FW 0x100
233
#define NUM_OF_PAGE_IN_FW_QUEUE_BK 0x07
234
#define NUM_OF_PAGE_IN_FW_QUEUE_BE 0x07
235
#define NUM_OF_PAGE_IN_FW_QUEUE_VI 0x07
236
#define NUM_OF_PAGE_IN_FW_QUEUE_VO 0x07
237
#define NUM_OF_PAGE_IN_FW_QUEUE_HCCA 0x0
238
#define NUM_OF_PAGE_IN_FW_QUEUE_CMD 0x0
239
#define NUM_OF_PAGE_IN_FW_QUEUE_MGNT 0x02
240
#define NUM_OF_PAGE_IN_FW_QUEUE_HIGH 0x02
241
#define NUM_OF_PAGE_IN_FW_QUEUE_BCN 0x2
242
#define NUM_OF_PAGE_IN_FW_QUEUE_PUB 0xA1
244
#define NUM_OF_PAGE_IN_FW_QUEUE_BK_DTM 0x026
245
#define NUM_OF_PAGE_IN_FW_QUEUE_BE_DTM 0x048
246
#define NUM_OF_PAGE_IN_FW_QUEUE_VI_DTM 0x048
247
#define NUM_OF_PAGE_IN_FW_QUEUE_VO_DTM 0x026
248
#define NUM_OF_PAGE_IN_FW_QUEUE_PUB_DTM 0x00
250
#define HAL_PRIME_CHNL_OFFSET_DONT_CARE 0
251
#define HAL_PRIME_CHNL_OFFSET_LOWER 1
252
#define HAL_PRIME_CHNL_OFFSET_UPPER 2
256
#define MAX_SILENT_RESET_RX_SLOT_NUM 10
257
typedef enum tag_Rf_OpType
259
RF_OP_By_SW_3wire = 0,
265
typedef enum _POWER_SAVE_MODE
267
POWER_SAVE_MODE_ACTIVE,
268
POWER_SAVE_MODE_SAVE,
271
typedef enum _INTERFACE_SELECT_8190PCI{
272
INTF_SEL1_MINICARD = 0,
276
} INTERFACE_SELECT_8190PCI, *PINTERFACE_SELECT_8190PCI;
279
typedef struct _BB_REGISTER_DEFINITION{
297
u32 rfLSSIReadBackPi;
298
}BB_REGISTER_DEFINITION_T, *PBB_REGISTER_DEFINITION_T;
303
typedef struct _rx_fwinfo_8192s{
344
u32 csi_target_0:8;*/
348
/*u32 csi_target_1:8;
362
}rx_fwinfo, *prx_fwinfo;
364
typedef struct _LOG_INTERRUPT_8190
378
} LOG_INTERRUPT_8190_T, *PLOG_INTERRUPT_8190_T;
380
typedef struct _phy_cck_rx_status_report_819xpci
385
}phy_sts_cck_819xpci_t, phy_sts_cck_8192s_t;
387
#define PHY_RSSI_SLID_WIN_MAX 100
388
#define PHY_LINKQUALITY_SLID_WIN_MAX 20
389
#define PHY_Beacon_RSSI_SLID_WIN_MAX 10
391
typedef struct _tx_desc_8192se{
473
u32 Reserve_Pass_92S_PCIE_MM_Limit[6];
475
} tx_desc, *ptx_desc;
478
typedef struct _tx_desc_cmd_8192se{
500
u32 NextTxDescAddress;
502
u32 Reserve_Pass_92S_PCIE_MM_Limit[6];
504
}tx_desc_cmd, *ptx_desc_cmd;
507
typedef struct _tx_status_desc_8192se{
589
u32 Reserve_Pass_92S_PCIE_MM_Limit[6];
591
}tx_status_desc, *ptx_status_desc;
594
typedef struct _rx_desc_8192se{
649
u32 NextRxDescAddress;
657
} rx_desc, *prx_desc;
661
typedef struct _rx_desc_status_8192se{
717
u32 NextRxDescAddress;
724
}rx_desc_status, *prx_desc_status;
726
typedef enum _HAL_FW_C2H_CMD_ID
728
HAL_FW_C2H_CMD_Read_MACREG = 0,
729
HAL_FW_C2H_CMD_Read_BBREG = 1,
730
HAL_FW_C2H_CMD_Read_RFREG = 2,
731
HAL_FW_C2H_CMD_Read_EEPROM = 3,
732
HAL_FW_C2H_CMD_Read_EFUSE = 4,
733
HAL_FW_C2H_CMD_Read_CAM = 5,
734
HAL_FW_C2H_CMD_Get_BasicRate = 6,
735
HAL_FW_C2H_CMD_Get_DataRate = 7,
736
HAL_FW_C2H_CMD_Survey = 8 ,
737
HAL_FW_C2H_CMD_SurveyDone = 9,
738
HAL_FW_C2H_CMD_JoinBss = 10,
739
HAL_FW_C2H_CMD_AddSTA = 11,
740
HAL_FW_C2H_CMD_DelSTA = 12,
741
HAL_FW_C2H_CMD_AtimDone = 13,
742
HAL_FW_C2H_CMD_TX_Report = 14,
743
HAL_FW_C2H_CMD_CCX_Report = 15,
744
HAL_FW_C2H_CMD_DTM_Report = 16,
745
HAL_FW_C2H_CMD_TX_Rate_Statistics = 17,
746
HAL_FW_C2H_CMD_C2HLBK = 18,
747
HAL_FW_C2H_CMD_C2HDBG = 19,
748
HAL_FW_C2H_CMD_C2HFEEDBACK = 20,
749
HAL_FW_C2H_CMD_BT_State = 25,
750
HAL_FW_C2H_CMD_BT_Service = 26,
754
#define HAL_FW_C2H_CMD_C2HFEEDBACK_CCX_PER_PKT_RPT 0x04
755
#define HAL_FW_C2H_CMD_C2HFEEDBACK_DTM_TX_STATISTICS_RPT 0x05