1 #ifndef __HALBTC_OUT_SRC_H__
\r
2 #define __HALBTC_OUT_SRC_H__
\r
4 #define NORMAL_EXEC FALSE
\r
5 #define FORCE_EXEC TRUE
\r
7 #define BTC_RF_OFF 0x0
\r
8 #define BTC_RF_ON 0x1
\r
10 #define BTC_RF_A 0x0
\r
11 #define BTC_RF_B 0x1
\r
12 #define BTC_RF_C 0x2
\r
13 #define BTC_RF_D 0x3
\r
15 #define BTC_SMSP SINGLEMAC_SINGLEPHY
\r
16 #define BTC_DMDP DUALMAC_DUALPHY
\r
17 #define BTC_DMSP DUALMAC_SINGLEPHY
\r
18 #define BTC_MP_UNKNOWN 0xff
\r
20 #define BT_COEX_ANT_TYPE_PG 0
\r
21 #define BT_COEX_ANT_TYPE_ANTDIV 1
\r
22 #define BT_COEX_ANT_TYPE_DETECTED 2
\r
24 #define BTC_MIMO_PS_STATIC 0 // 1ss
\r
25 #define BTC_MIMO_PS_DYNAMIC 1 // 2ss
\r
27 #define BTC_RATE_DISABLE 0
\r
28 #define BTC_RATE_ENABLE 1
\r
30 // single Antenna definition
\r
31 #define BTC_ANT_PATH_WIFI 0
\r
32 #define BTC_ANT_PATH_BT 1
\r
33 #define BTC_ANT_PATH_PTA 2
\r
34 // dual Antenna definition
\r
35 #define BTC_ANT_WIFI_AT_MAIN 0
\r
36 #define BTC_ANT_WIFI_AT_AUX 1
\r
37 // coupler Antenna definition
\r
38 #define BTC_ANT_WIFI_AT_CPL_MAIN 0
\r
39 #define BTC_ANT_WIFI_AT_CPL_AUX 1
\r
41 typedef enum _BTC_POWERSAVE_TYPE{
\r
42 BTC_PS_WIFI_NATIVE = 0, // wifi original power save behavior
\r
46 } BTC_POWERSAVE_TYPE, *PBTC_POWERSAVE_TYPE;
\r
48 typedef enum _BTC_BT_REG_TYPE{
\r
50 BTC_BT_REG_MODEM = 1,
\r
51 BTC_BT_REG_BLUEWIZE = 2,
\r
52 BTC_BT_REG_VENDOR = 3,
\r
55 } BTC_BT_REG_TYPE, *PBTC_BT_REG_TYPE;
\r
57 typedef enum _BTC_CHIP_INTERFACE{
\r
58 BTC_INTF_UNKNOWN = 0,
\r
63 } BTC_CHIP_INTERFACE, *PBTC_CHIP_INTERFACE;
\r
65 typedef enum _BTC_CHIP_TYPE{
\r
67 BTC_CHIP_CSR_BC4 = 1,
\r
68 BTC_CHIP_CSR_BC8 = 2,
\r
69 BTC_CHIP_RTL8723A = 3,
\r
70 BTC_CHIP_RTL8821 = 4,
\r
71 BTC_CHIP_RTL8723B = 5,
\r
73 } BTC_CHIP_TYPE, *PBTC_CHIP_TYPE;
\r
75 typedef enum _BTC_MSG_TYPE{
\r
76 BTC_MSG_INTERFACE = 0x0,
\r
77 BTC_MSG_ALGORITHM = 0x1,
\r
80 extern u4Byte GLBtcDbgType[];
\r
82 // following is for BTC_MSG_INTERFACE
\r
83 #define INTF_INIT BIT0
\r
84 #define INTF_NOTIFY BIT2
\r
86 // following is for BTC_ALGORITHM
\r
87 #define ALGO_BT_RSSI_STATE BIT0
\r
88 #define ALGO_WIFI_RSSI_STATE BIT1
\r
89 #define ALGO_BT_MONITOR BIT2
\r
90 #define ALGO_TRACE BIT3
\r
91 #define ALGO_TRACE_FW BIT4
\r
92 #define ALGO_TRACE_FW_DETAIL BIT5
\r
93 #define ALGO_TRACE_FW_EXEC BIT6
\r
94 #define ALGO_TRACE_SW BIT7
\r
95 #define ALGO_TRACE_SW_DETAIL BIT8
\r
96 #define ALGO_TRACE_SW_EXEC BIT9
\r
98 // following is for wifi link status
\r
99 #define WIFI_STA_CONNECTED BIT0
\r
100 #define WIFI_AP_CONNECTED BIT1
\r
101 #define WIFI_HS_CONNECTED BIT2
\r
102 #define WIFI_P2P_GO_CONNECTED BIT3
\r
103 #define WIFI_P2P_GC_CONNECTED BIT4
\r
105 // following is for command line utility
\r
106 #define CL_SPRINTF rsprintf
\r
107 #define CL_PRINTF DCMD_Printf
\r
109 // The following is for dbgview print
\r
111 #define BTC_PRINT(dbgtype, dbgflag, printstr)\
\r
113 if (GLBtcDbgType[dbgtype] & dbgflag)\
\r
115 DbgPrint printstr;\
\r
119 #define BTC_PRINT_F(dbgtype, dbgflag, printstr)\
\r
121 if (GLBtcDbgType[dbgtype] & dbgflag)\
\r
123 DbgPrint("%s(): ", __FUNCTION__);\
\r
124 DbgPrint printstr;\
\r
128 #define BTC_PRINT_ADDR(dbgtype, dbgflag, printstr, _Ptr)\
\r
130 if (GLBtcDbgType[dbgtype] & dbgflag)\
\r
133 pu1Byte ptr = (pu1Byte)_Ptr; \
\r
134 DbgPrint printstr; \
\r
136 for( __i=0; __i<6; __i++ ) \
\r
137 DbgPrint("%02X%s", ptr[__i], (__i==5)?"":"-"); \
\r
142 #define BTC_PRINT_DATA(dbgtype, dbgflag, _TitleString, _HexData, _HexDataLen)\
\r
144 if (GLBtcDbgType[dbgtype] & dbgflag)\
\r
147 pu1Byte ptr = (pu1Byte)_HexData; \
\r
148 DbgPrint(_TitleString); \
\r
149 for( __i=0; __i<(int)_HexDataLen; __i++ ) \
\r
151 DbgPrint("%02X%s", ptr[__i], (((__i + 1) % 4) == 0)?" ":" ");\
\r
152 if (((__i + 1) % 16) == 0) DbgPrint("\n");\
\r
159 #define BTC_PRINT(dbgtype, dbgflag, printstr)
\r
160 #define BTC_PRINT_F(dbgtype, dbgflag, printstr)
\r
161 #define BTC_PRINT_ADDR(dbgtype, dbgflag, printstr, _Ptr)
\r
162 #define BTC_PRINT_DATA(dbgtype, dbgflag, _TitleString, _HexData, _HexDataLen)
\r
165 typedef struct _BTC_BOARD_INFO{
\r
166 // The following is some board information
\r
168 u1Byte pgAntNum; // pg ant number
\r
169 u1Byte btdmAntNum; // ant number for btdm
\r
170 u1Byte btdmAntPos; //Bryant Add to indicate Antenna Position for (pgAntNum = 2) && (btdmAntNum =1) (DPDT+1Ant case)
\r
171 u1Byte singleAntPath; // current used for 8723b only, 1=>s0, 0=>s1
\r
172 //BOOLEAN bBtExist;
\r
173 } BTC_BOARD_INFO, *PBTC_BOARD_INFO;
\r
175 typedef enum _BTC_DBG_OPCODE{
\r
176 BTC_DBG_SET_COEX_NORMAL = 0x0,
\r
177 BTC_DBG_SET_COEX_WIFI_ONLY = 0x1,
\r
178 BTC_DBG_SET_COEX_BT_ONLY = 0x2,
\r
179 BTC_DBG_SET_COEX_DEC_BT_PWR = 0x3,
\r
180 BTC_DBG_SET_COEX_BT_AFH_MAP = 0x4,
\r
181 BTC_DBG_SET_COEX_BT_IGNORE_WLAN_ACT = 0x5,
\r
183 }BTC_DBG_OPCODE,*PBTC_DBG_OPCODE;
\r
185 typedef enum _BTC_RSSI_STATE{
\r
186 BTC_RSSI_STATE_HIGH = 0x0,
\r
187 BTC_RSSI_STATE_MEDIUM = 0x1,
\r
188 BTC_RSSI_STATE_LOW = 0x2,
\r
189 BTC_RSSI_STATE_STAY_HIGH = 0x3,
\r
190 BTC_RSSI_STATE_STAY_MEDIUM = 0x4,
\r
191 BTC_RSSI_STATE_STAY_LOW = 0x5,
\r
193 }BTC_RSSI_STATE,*PBTC_RSSI_STATE;
\r
194 #define BTC_RSSI_HIGH(_rssi_) ((_rssi_==BTC_RSSI_STATE_HIGH||_rssi_==BTC_RSSI_STATE_STAY_HIGH)? TRUE:FALSE)
\r
195 #define BTC_RSSI_MEDIUM(_rssi_) ((_rssi_==BTC_RSSI_STATE_MEDIUM||_rssi_==BTC_RSSI_STATE_STAY_MEDIUM)? TRUE:FALSE)
\r
196 #define BTC_RSSI_LOW(_rssi_) ((_rssi_==BTC_RSSI_STATE_LOW||_rssi_==BTC_RSSI_STATE_STAY_LOW)? TRUE:FALSE)
\r
198 typedef enum _BTC_WIFI_ROLE{
\r
199 BTC_ROLE_STATION = 0x0,
\r
201 BTC_ROLE_IBSS = 0x2,
\r
202 BTC_ROLE_HS_MODE = 0x3,
\r
204 }BTC_WIFI_ROLE,*PBTC_WIFI_ROLE;
\r
206 typedef enum _BTC_WIRELESS_FREQ{
\r
207 BTC_FREQ_2_4G = 0x0,
\r
210 }BTC_WIRELESS_FREQ,*PBTC_WIRELESS_FREQ;
\r
212 typedef enum _BTC_WIFI_BW_MODE{
\r
213 BTC_WIFI_BW_LEGACY = 0x0,
\r
214 BTC_WIFI_BW_HT20 = 0x1,
\r
215 BTC_WIFI_BW_HT40 = 0x2,
\r
216 BTC_WIFI_BW_HT80 = 0x3,
\r
217 BTC_WIFI_BW_HT160 = 0x4,
\r
219 }BTC_WIFI_BW_MODE,*PBTC_WIFI_BW_MODE;
\r
221 typedef enum _BTC_WIFI_TRAFFIC_DIR{
\r
222 BTC_WIFI_TRAFFIC_TX = 0x0,
\r
223 BTC_WIFI_TRAFFIC_RX = 0x1,
\r
224 BTC_WIFI_TRAFFIC_MAX
\r
225 }BTC_WIFI_TRAFFIC_DIR,*PBTC_WIFI_TRAFFIC_DIR;
\r
227 typedef enum _BTC_WIFI_PNP{
\r
228 BTC_WIFI_PNP_WAKE_UP = 0x0,
\r
229 BTC_WIFI_PNP_SLEEP = 0x1,
\r
231 }BTC_WIFI_PNP,*PBTC_WIFI_PNP;
\r
233 //for 8723b-d cut large current issue
\r
234 typedef enum _BT_WIFI_COEX_STATE{
\r
235 BTC_WIFI_STAT_INIT,
\r
237 BTC_WIFI_STAT_NORMAL_OFF,
\r
238 BTC_WIFI_STAT_MP_OFF,
\r
239 BTC_WIFI_STAT_NORMAL,
\r
240 BTC_WIFI_STAT_ANT_DIV,
\r
242 }BT_WIFI_COEX_STATE,*PBT_WIFI_COEX_STATE;
\r
244 typedef enum _BT_ANT_TYPE{
\r
251 }BT_ANT_TYPE,*PBT_ANT_TYPE;
\r
253 // defined for BFP_BTC_GET
\r
254 typedef enum _BTC_GET_TYPE{
\r
256 BTC_GET_BL_HS_OPERATION,
\r
257 BTC_GET_BL_HS_CONNECTING,
\r
258 BTC_GET_BL_WIFI_CONNECTED,
\r
259 BTC_GET_BL_WIFI_BUSY,
\r
260 BTC_GET_BL_WIFI_SCAN,
\r
261 BTC_GET_BL_WIFI_LINK,
\r
262 BTC_GET_BL_WIFI_ROAM,
\r
263 BTC_GET_BL_WIFI_4_WAY_PROGRESS,
\r
264 BTC_GET_BL_WIFI_UNDER_5G,
\r
265 BTC_GET_BL_WIFI_AP_MODE_ENABLE,
\r
266 BTC_GET_BL_WIFI_ENABLE_ENCRYPTION,
\r
267 BTC_GET_BL_WIFI_UNDER_B_MODE,
\r
268 BTC_GET_BL_EXT_SWITCH,
\r
269 BTC_GET_BL_WIFI_IS_IN_MP_MODE,
\r
270 BTC_GET_BL_IS_ASUS_8723B,
\r
273 BTC_GET_S4_WIFI_RSSI,
\r
274 BTC_GET_S4_HS_RSSI,
\r
277 BTC_GET_U4_WIFI_BW,
\r
278 BTC_GET_U4_WIFI_TRAFFIC_DIRECTION,
\r
279 BTC_GET_U4_WIFI_FW_VER,
\r
280 BTC_GET_U4_WIFI_LINK_STATUS,
\r
281 BTC_GET_U4_BT_PATCH_VER,
\r
284 BTC_GET_U1_WIFI_DOT11_CHNL,
\r
285 BTC_GET_U1_WIFI_CENTRAL_CHNL,
\r
286 BTC_GET_U1_WIFI_HS_CHNL,
\r
287 BTC_GET_U1_MAC_PHY_MODE,
\r
289 BTC_GET_U1_ANT_TYPE,
\r
291 //===== for 1Ant ======
\r
292 BTC_GET_U1_LPS_MODE,
\r
295 }BTC_GET_TYPE,*PBTC_GET_TYPE;
\r
297 // defined for BFP_BTC_SET
\r
298 typedef enum _BTC_SET_TYPE{
\r
300 BTC_SET_BL_BT_DISABLE,
\r
301 BTC_SET_BL_BT_TRAFFIC_BUSY,
\r
302 BTC_SET_BL_BT_LIMITED_DIG,
\r
303 BTC_SET_BL_FORCE_TO_ROAM,
\r
304 BTC_SET_BL_TO_REJ_AP_AGG_PKT,
\r
305 BTC_SET_BL_BT_CTRL_AGG_SIZE,
\r
306 BTC_SET_BL_INC_SCAN_DEV_NUM,
\r
307 BTC_SET_BL_BT_TX_RX_MASK,
\r
308 BTC_SET_BL_MIRACAST_PLUS_BT,
\r
311 BTC_SET_U1_RSSI_ADJ_VAL_FOR_AGC_TABLE_ON,
\r
312 BTC_SET_U1_AGG_BUF_SIZE,
\r
314 // type trigger some action
\r
315 BTC_SET_ACT_GET_BT_RSSI,
\r
316 BTC_SET_ACT_AGGREGATE_CTRL,
\r
317 //===== for 1Ant ======
\r
321 BTC_SET_U1_RSSI_ADJ_VAL_FOR_1ANT_COEX_TYPE,
\r
322 BTC_SET_U1_LPS_VAL,
\r
323 BTC_SET_U1_RPWM_VAL,
\r
324 // type trigger some action
\r
325 BTC_SET_ACT_LEAVE_LPS,
\r
326 BTC_SET_ACT_ENTER_LPS,
\r
327 BTC_SET_ACT_NORMAL_LPS,
\r
328 BTC_SET_ACT_DISABLE_LOW_POWER,
\r
329 BTC_SET_ACT_UPDATE_RAMASK,
\r
330 BTC_SET_ACT_SEND_MIMO_PS,
\r
332 BTC_SET_ACT_CTRL_BT_INFO,
\r
333 BTC_SET_ACT_CTRL_BT_COEX,
\r
334 BTC_SET_ACT_CTRL_8723B_ANT,
\r
335 //=================
\r
337 }BTC_SET_TYPE,*PBTC_SET_TYPE;
\r
339 typedef enum _BTC_DBG_DISP_TYPE{
\r
340 BTC_DBG_DISP_COEX_STATISTICS = 0x0,
\r
341 BTC_DBG_DISP_BT_LINK_INFO = 0x1,
\r
342 BTC_DBG_DISP_WIFI_STATUS = 0x2,
\r
344 }BTC_DBG_DISP_TYPE,*PBTC_DBG_DISP_TYPE;
\r
346 typedef enum _BTC_NOTIFY_TYPE_IPS{
\r
347 BTC_IPS_LEAVE = 0x0,
\r
348 BTC_IPS_ENTER = 0x1,
\r
350 }BTC_NOTIFY_TYPE_IPS,*PBTC_NOTIFY_TYPE_IPS;
\r
351 typedef enum _BTC_NOTIFY_TYPE_LPS{
\r
352 BTC_LPS_DISABLE = 0x0,
\r
353 BTC_LPS_ENABLE = 0x1,
\r
355 }BTC_NOTIFY_TYPE_LPS,*PBTC_NOTIFY_TYPE_LPS;
\r
356 typedef enum _BTC_NOTIFY_TYPE_SCAN{
\r
357 BTC_SCAN_FINISH = 0x0,
\r
358 BTC_SCAN_START = 0x1,
\r
360 }BTC_NOTIFY_TYPE_SCAN,*PBTC_NOTIFY_TYPE_SCAN;
\r
361 typedef enum _BTC_NOTIFY_TYPE_ASSOCIATE{
\r
362 BTC_ASSOCIATE_FINISH = 0x0,
\r
363 BTC_ASSOCIATE_START = 0x1,
\r
365 }BTC_NOTIFY_TYPE_ASSOCIATE,*PBTC_NOTIFY_TYPE_ASSOCIATE;
\r
366 typedef enum _BTC_NOTIFY_TYPE_MEDIA_STATUS{
\r
367 BTC_MEDIA_DISCONNECT = 0x0,
\r
368 BTC_MEDIA_CONNECT = 0x1,
\r
370 }BTC_NOTIFY_TYPE_MEDIA_STATUS,*PBTC_NOTIFY_TYPE_MEDIA_STATUS;
\r
371 typedef enum _BTC_NOTIFY_TYPE_SPECIAL_PACKET{
\r
372 BTC_PACKET_UNKNOWN = 0x0,
\r
373 BTC_PACKET_DHCP = 0x1,
\r
374 BTC_PACKET_ARP = 0x2,
\r
375 BTC_PACKET_EAPOL = 0x3,
\r
377 }BTC_NOTIFY_TYPE_SPECIAL_PACKET,*PBTC_NOTIFY_TYPE_SPECIAL_PACKET;
\r
378 typedef enum _BTC_NOTIFY_TYPE_STACK_OPERATION{
\r
379 BTC_STACK_OP_NONE = 0x0,
\r
380 BTC_STACK_OP_INQ_PAGE_PAIR_START = 0x1,
\r
381 BTC_STACK_OP_INQ_PAGE_PAIR_FINISH = 0x2,
\r
383 }BTC_NOTIFY_TYPE_STACK_OPERATION,*PBTC_NOTIFY_TYPE_STACK_OPERATION;
\r
386 typedef enum _BTC_ANTENNA_POS{
\r
387 BTC_ANTENNA_AT_MAIN_PORT = 0x1,
\r
388 BTC_ANTENNA_AT_AUX_PORT = 0x2,
\r
389 }BTC_ANTENNA_POS,*PBTC_ANTENNA_POS;
\r
393 IN PVOID pBtcContext,
\r
398 IN PVOID pBtcContext,
\r
403 IN PVOID pBtcContext,
\r
408 IN PVOID pBtcContext,
\r
413 (*BFP_BTC_W1_BIT_MASK)(
\r
414 IN PVOID pBtcContext,
\r
421 IN PVOID pBtcContext,
\r
427 IN PVOID pBtcContext,
\r
432 (*BFP_BTC_LOCAL_REG_W1)(
\r
433 IN PVOID pBtcContext,
\r
438 (*BFP_BTC_SET_BB_REG)(
\r
439 IN PVOID pBtcContext,
\r
445 (*BFP_BTC_GET_BB_REG)(
\r
446 IN PVOID pBtcContext,
\r
451 (*BFP_BTC_SET_RF_REG)(
\r
452 IN PVOID pBtcContext,
\r
459 (*BFP_BTC_GET_RF_REG)(
\r
460 IN PVOID pBtcContext,
\r
466 (*BFP_BTC_FILL_H2C)(
\r
467 IN PVOID pBtcContext,
\r
468 IN u1Byte elementId,
\r
470 IN pu1Byte pCmdBuffer
\r
475 IN PVOID pBtCoexist,
\r
482 IN PVOID pBtCoexist,
\r
487 (*BFP_BTC_SET_BT_REG)(
\r
488 IN PVOID pBtcContext,
\r
494 (*BFP_BTC_GET_BT_REG)(
\r
495 IN PVOID pBtcContext,
\r
500 (*BFP_BTC_DISP_DBG_MSG)(
\r
501 IN PVOID pBtCoexist,
\r
505 typedef struct _BTC_BT_INFO{
\r
506 BOOLEAN bBtDisabled;
\r
507 u1Byte rssiAdjustForAgcTableOn;
\r
508 u1Byte rssiAdjustFor1AntCoexType;
\r
509 BOOLEAN bPreBtCtrlAggBufSize;
\r
510 BOOLEAN bBtCtrlAggBufSize;
\r
511 BOOLEAN bPreRejectAggPkt;
\r
512 BOOLEAN bRejectAggPkt;
\r
513 BOOLEAN bIncreaseScanDevNum;
\r
514 BOOLEAN bBtTxRxMask;
\r
515 u1Byte preAggBufSize;
\r
518 BOOLEAN bLimitedDig;
\r
520 u2Byte btRealFwVer;
\r
522 u4Byte getBtFwVerCnt;
\r
523 BOOLEAN bMiracastPlusBt;
\r
525 BOOLEAN bBtDisableLowPwr;
\r
527 BOOLEAN bBtCtrlLps;
\r
529 BOOLEAN bForceToRoam; // for 1Ant solution
\r
533 } BTC_BT_INFO, *PBTC_BT_INFO;
\r
535 typedef struct _BTC_STACK_INFO{
\r
536 BOOLEAN bProfileNotified;
\r
537 u2Byte hciVersion; // stack hci version
\r
539 BOOLEAN bBtLinkExist;
\r
542 BOOLEAN bA2dpExist;
\r
546 BOOLEAN bUnknownAclExist;
\r
548 } BTC_STACK_INFO, *PBTC_STACK_INFO;
\r
550 typedef struct _BTC_BT_LINK_INFO{
\r
551 BOOLEAN bBtLinkExist;
\r
552 BOOLEAN bBtHiPriLinkExist;
\r
555 BOOLEAN bA2dpExist;
\r
561 BOOLEAN bSlaveRole;
\r
563 } BTC_BT_LINK_INFO, *PBTC_BT_LINK_INFO;
\r
565 typedef struct _BTC_STATISTICS{
\r
568 u4Byte cntPreLoadFirmware;
\r
569 u4Byte cntInitHwConfig;
\r
570 u4Byte cntInitCoexDm;
\r
571 u4Byte cntIpsNotify;
\r
572 u4Byte cntLpsNotify;
\r
573 u4Byte cntScanNotify;
\r
574 u4Byte cntConnectNotify;
\r
575 u4Byte cntMediaStatusNotify;
\r
576 u4Byte cntSpecialPacketNotify;
\r
577 u4Byte cntBtInfoNotify;
\r
578 u4Byte cntRfStatusNotify;
\r
579 u4Byte cntPeriodical;
\r
580 u4Byte cntCoexDmSwitch;
\r
581 u4Byte cntStackOperationNotify;
\r
583 } BTC_STATISTICS, *PBTC_STATISTICS;
\r
585 typedef struct _BTC_COEXIST{
\r
586 BOOLEAN bBinded; // make sure only one adapter can bind the data context
\r
587 PVOID Adapter; // default adapter
\r
588 BTC_BOARD_INFO boardInfo;
\r
589 BTC_BT_INFO btInfo; // some bt info referenced by non-bt module
\r
590 BTC_STACK_INFO stackInfo;
\r
591 BTC_BT_LINK_INFO btLinkInfo;
\r
592 BTC_CHIP_INTERFACE chipInterface;
\r
594 BOOLEAN bInitilized;
\r
595 BOOLEAN bStopCoexDm;
\r
596 BOOLEAN bManualControl;
\r
598 BTC_STATISTICS statistics;
\r
599 u1Byte pwrModeVal[10];
\r
601 // function pointers
\r
603 BFP_BTC_R1 fBtcRead1Byte;
\r
604 BFP_BTC_W1 fBtcWrite1Byte;
\r
605 BFP_BTC_W1_BIT_MASK fBtcWrite1ByteBitMask;
\r
606 BFP_BTC_R2 fBtcRead2Byte;
\r
607 BFP_BTC_W2 fBtcWrite2Byte;
\r
608 BFP_BTC_R4 fBtcRead4Byte;
\r
609 BFP_BTC_W4 fBtcWrite4Byte;
\r
610 BFP_BTC_LOCAL_REG_W1 fBtcWriteLocalReg1Byte;
\r
611 // read/write bb related
\r
612 BFP_BTC_SET_BB_REG fBtcSetBbReg;
\r
613 BFP_BTC_GET_BB_REG fBtcGetBbReg;
\r
615 // read/write rf related
\r
616 BFP_BTC_SET_RF_REG fBtcSetRfReg;
\r
617 BFP_BTC_GET_RF_REG fBtcGetRfReg;
\r
619 // fill h2c related
\r
620 BFP_BTC_FILL_H2C fBtcFillH2c;
\r
622 BFP_BTC_DISP_DBG_MSG fBtcDispDbgMsg;
\r
623 // normal get/set related
\r
624 BFP_BTC_GET fBtcGet;
\r
625 BFP_BTC_SET fBtcSet;
\r
627 BFP_BTC_GET_BT_REG fBtcGetBtReg;
\r
628 BFP_BTC_SET_BT_REG fBtcSetBtReg;
\r
629 } BTC_COEXIST, *PBTC_COEXIST;
\r
631 extern BTC_COEXIST GLBtCoexist;
\r
634 EXhalbtcoutsrc_InitlizeVariables(
\r
638 EXhalbtcoutsrc_PowerOnSetting(
\r
639 IN PBTC_COEXIST pBtCoexist
\r
642 EXhalbtcoutsrc_PreLoadFirmware(
\r
643 IN PBTC_COEXIST pBtCoexist
\r
646 EXhalbtcoutsrc_InitHwConfig(
\r
647 IN PBTC_COEXIST pBtCoexist,
\r
648 IN BOOLEAN bWifiOnly
\r
651 EXhalbtcoutsrc_InitCoexDm(
\r
652 IN PBTC_COEXIST pBtCoexist
\r
655 EXhalbtcoutsrc_IpsNotify(
\r
656 IN PBTC_COEXIST pBtCoexist,
\r
660 EXhalbtcoutsrc_LpsNotify(
\r
661 IN PBTC_COEXIST pBtCoexist,
\r
665 EXhalbtcoutsrc_ScanNotify(
\r
666 IN PBTC_COEXIST pBtCoexist,
\r
670 EXhalbtcoutsrc_ConnectNotify(
\r
671 IN PBTC_COEXIST pBtCoexist,
\r
675 EXhalbtcoutsrc_MediaStatusNotify(
\r
676 IN PBTC_COEXIST pBtCoexist,
\r
677 IN RT_MEDIA_STATUS mediaStatus
\r
680 EXhalbtcoutsrc_SpecialPacketNotify(
\r
681 IN PBTC_COEXIST pBtCoexist,
\r
685 EXhalbtcoutsrc_BtInfoNotify(
\r
686 IN PBTC_COEXIST pBtCoexist,
\r
691 EXhalbtcoutsrc_RfStatusNotify(
\r
692 IN PBTC_COEXIST pBtCoexist,
\r
696 EXhalbtcoutsrc_StackOperationNotify(
\r
697 IN PBTC_COEXIST pBtCoexist,
\r
701 EXhalbtcoutsrc_HaltNotify(
\r
702 IN PBTC_COEXIST pBtCoexist
\r
705 EXhalbtcoutsrc_PnpNotify(
\r
706 IN PBTC_COEXIST pBtCoexist,
\r
710 EXhalbtcoutsrc_CoexDmSwitch(
\r
711 IN PBTC_COEXIST pBtCoexist
\r
714 EXhalbtcoutsrc_Periodical(
\r
715 IN PBTC_COEXIST pBtCoexist
\r
718 EXhalbtcoutsrc_DbgControl(
\r
719 IN PBTC_COEXIST pBtCoexist,
\r
725 EXhalbtcoutsrc_AntennaDetection(
\r
726 IN PBTC_COEXIST pBtCoexist,
\r
727 IN u4Byte centFreq,
\r
733 EXhalbtcoutsrc_StackUpdateProfileInfo(
\r
737 EXhalbtcoutsrc_SetHciVersion(
\r
738 IN u2Byte hciVersion
\r
741 EXhalbtcoutsrc_SetBtPatchVersion(
\r
742 IN u2Byte btHciVersion,
\r
743 IN u2Byte btPatchVersion
\r
746 EXhalbtcoutsrc_UpdateMinBtRssi(
\r
751 EXhalbtcoutsrc_SetBtExist(
\r
752 IN BOOLEAN bBtExist
\r
756 EXhalbtcoutsrc_SetChipType(
\r
760 EXhalbtcoutsrc_SetAntNum(
\r
765 EXhalbtcoutsrc_SetSingleAntPath(
\r
766 IN u1Byte singleAntPath
\r
769 EXhalbtcoutsrc_DisplayBtCoexInfo(
\r
770 IN PBTC_COEXIST pBtCoexist
\r
773 EXhalbtcoutsrc_DisplayAntIsolation(
\r
774 IN PBTC_COEXIST pBtCoexist
\r