1 /****************************************************************************** 2 * 3 * Copyright(c) 2013 Realtek Corporation. All rights reserved. 4 * 5 * This program is free software; you can redistribute it and/or modify it 6 * under the terms of version 2 of the GNU General Public License as 7 * published by the Free Software Foundation. 8 * 9 * This program is distributed in the hope that it will be useful, but WITHOUT 10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 * more details. 13 * 14 * You should have received a copy of the GNU General Public License along with 15 * this program; if not, write to the Free Software Foundation, Inc., 16 * 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA 17 * 18 * 19 ******************************************************************************/ 20 #ifndef __HAL_BTCOEX_H__ 21 #define __HAL_BTCOEX_H__ 22 23 #include <drv_types.h> 24 25 // Some variables can't get from outsrc BT-Coex, 26 // so we need to save here 27 typedef struct _BT_COEXIST 28 { 29 u8 bBtExist; 30 u8 btTotalAntNum; 31 u8 btChipType; 32 u8 bInitlized; 33 u8 btAntisolation; 34 } BT_COEXIST, *PBT_COEXIST; 35 36 void DBG_BT_INFO(u8 *dbgmsg); 37 38 void hal_btcoex_SetBTCoexist(PADAPTER padapter, u8 bBtExist); 39 u8 hal_btcoex_IsBtExist(PADAPTER padapter); 40 u8 hal_btcoex_IsBtDisabled(PADAPTER); 41 void hal_btcoex_SetChipType(PADAPTER padapter, u8 chipType); 42 u8 hal_btcoex_GetChipType(PADAPTER padapter); 43 void hal_btcoex_SetPgAntNum(PADAPTER padapter, u8 antNum); 44 u8 hal_btcoex_GetPgAntNum(PADAPTER padapter); 45 void hal_btcoex_SetSingleAntPath(PADAPTER padapter, u8 singleAntPath); 46 47 u8 hal_btcoex_Initialize(PADAPTER padapter); 48 void hal_btcoex_PowerOnSetting(PADAPTER padapter); 49 void hal_btcoex_PreLoadFirmware(PADAPTER padapter); 50 void hal_btcoex_InitHwConfig(PADAPTER padapter, u8 bWifiOnly); 51 52 void hal_btcoex_IpsNotify(PADAPTER padapter, u8 type); 53 void hal_btcoex_LpsNotify(PADAPTER padapter, u8 type); 54 void hal_btcoex_ScanNotify(PADAPTER padapter, u8 type); 55 void hal_btcoex_ConnectNotify(PADAPTER padapter, u8 action); 56 void hal_btcoex_MediaStatusNotify(PADAPTER padapter, u8 mediaStatus); 57 void hal_btcoex_SpecialPacketNotify(PADAPTER padapter, u8 pktType); 58 void hal_btcoex_IQKNotify(PADAPTER padapter, u8 state); 59 void hal_btcoex_BtInfoNotify(PADAPTER padapter, u8 length, u8 *tmpBuf); 60 void hal_btcoex_BtMpRptNotify(PADAPTER padapter, u8 length, u8 *tmpBuf); 61 void hal_btcoex_SuspendNotify(PADAPTER padapter, u8 state); 62 void hal_btcoex_HaltNotify(PADAPTER padapter); 63 void hal_btcoex_ScoreBoardStatusNotify(PADAPTER padapter, u8 length, u8 *tmpBuf); 64 void hal_btcoex_SwitchBtTRxMask(PADAPTER padapter); 65 66 void hal_btcoex_Hanlder(PADAPTER padapter); 67 68 s32 hal_btcoex_IsBTCoexRejectAMPDU(PADAPTER padapter); 69 s32 hal_btcoex_IsBTCoexCtrlAMPDUSize(PADAPTER padapter); 70 u32 hal_btcoex_GetAMPDUSize(PADAPTER padapter); 71 void hal_btcoex_SetManualControl(PADAPTER padapter, u8 bmanual); 72 u8 hal_btcoex_1Ant(PADAPTER padapter); 73 u8 hal_btcoex_IsBtControlLps(PADAPTER); 74 u8 hal_btcoex_IsLpsOn(PADAPTER); 75 u8 hal_btcoex_RpwmVal(PADAPTER); 76 u8 hal_btcoex_LpsVal(PADAPTER); 77 u32 hal_btcoex_GetRaMask(PADAPTER); 78 void hal_btcoex_RecordPwrMode(PADAPTER padapter, u8 *pCmdBuf, u8 cmdLen); 79 void hal_btcoex_DisplayBtCoexInfo(PADAPTER, u8 *pbuf, u32 bufsize); 80 void hal_btcoex_SetDBG(PADAPTER, u32 *pDbgModule); 81 u32 hal_btcoex_GetDBG(PADAPTER, u8 *pStrBuf, u32 bufSize); 82 u8 hal_btcoex_IncreaseScanDeviceNum(PADAPTER); 83 u8 hal_btcoex_IsBtLinkExist(PADAPTER); 84 void hal_btcoex_SetBtPatchVersion(PADAPTER,u16 btHciVer,u16 btPatchVer); 85 void hal_btcoex_SetHciVersion(PADAPTER, u16 hciVersion); 86 void hal_btcoex_SendScanNotify(PADAPTER, u8 type); 87 void hal_btcoex_StackUpdateProfileInfo(void); 88 void hal_btcoex_BTOffOnNotify(PADAPTER padapter, u8 bBTON); 89 void hal_btcoex_SetAntIsolationType(PADAPTER padapter, u8 anttype); 90 #ifdef CONFIG_LOAD_PHY_PARA_FROM_FILE 91 int hal_btcoex_AntIsolationConfig_ParaFile(IN PADAPTER Adapter,IN char* pFileName); 92 int hal_btcoex_ParseAntIsolationConfigFile(PADAPTER Adapter, char* buffer); 93 #endif // CONFIG_LOAD_PHY_PARA_FROM_FILE 94 u16 hal_btcoex_btreg_read(PADAPTER padapter, u8 type, u16 addr, u32 *data); 95 u16 hal_btcoex_btreg_write(PADAPTER padapter, u8 type, u16 addr, u16 val); 96 #endif // !__HAL_BTCOEX_H__ 97 98