8723BU: Update 8723BU wifi driver to version v4.3.16_14189.20150519_BTCOEX2015119...
[firefly-linux-kernel-4.4.55.git] / drivers / net / wireless / rockchip_wlan / rtl8723bu / hal / OUTSRC-BTCoexist / HalBtcOutSrc.h
index d74397076ee58fdf046068c1d0f56ec503e29476..040a790f3b7f5b63edd0601d20e85af6ffb4a413 100755 (executable)
 #define                BTC_RF_B                                        0x1\r
 #define                BTC_RF_C                                        0x2\r
 #define                BTC_RF_D                                        0x3\r
-\r
+#if 0\r
 #define                BTC_SMSP                                SINGLEMAC_SINGLEPHY\r
 #define                BTC_DMDP                                DUALMAC_DUALPHY\r
 #define                BTC_DMSP                                DUALMAC_SINGLEPHY\r
+#endif\r
 #define                BTC_MP_UNKNOWN          0xff\r
 \r
 #define                BT_COEX_ANT_TYPE_PG                     0\r
@@ -72,29 +73,6 @@ typedef enum _BTC_CHIP_TYPE{
        BTC_CHIP_MAX\r
 } BTC_CHIP_TYPE, *PBTC_CHIP_TYPE;\r
 \r
-typedef enum _BTC_MSG_TYPE{\r
-       BTC_MSG_INTERFACE                       = 0x0,\r
-       BTC_MSG_ALGORITHM                       = 0x1,\r
-       BTC_MSG_MAX\r
-}BTC_MSG_TYPE;\r
-extern u4Byte                                  GLBtcDbgType[];\r
-\r
-// following is for BTC_MSG_INTERFACE\r
-#define                INTF_INIT                                               BIT0\r
-#define                INTF_NOTIFY                                             BIT2\r
-\r
-// following is for BTC_ALGORITHM\r
-#define                ALGO_BT_RSSI_STATE                              BIT0\r
-#define                ALGO_WIFI_RSSI_STATE                            BIT1\r
-#define                ALGO_BT_MONITOR                         BIT2\r
-#define                ALGO_TRACE                                              BIT3\r
-#define                ALGO_TRACE_FW                                   BIT4\r
-#define                ALGO_TRACE_FW_DETAIL                    BIT5\r
-#define                ALGO_TRACE_FW_EXEC                              BIT6\r
-#define                ALGO_TRACE_SW                                   BIT7\r
-#define                ALGO_TRACE_SW_DETAIL                    BIT8\r
-#define                ALGO_TRACE_SW_EXEC                              BIT9\r
-\r
 // following is for wifi link status\r
 #define                WIFI_STA_CONNECTED                              BIT0\r
 #define                WIFI_AP_CONNECTED                               BIT1\r
@@ -106,70 +84,18 @@ extern u4Byte                                      GLBtcDbgType[];
 #define        CL_SPRINTF      rsprintf\r
 #define        CL_PRINTF       DCMD_Printf\r
 \r
-// The following is for dbgview print\r
-#if DBG\r
-#define        BTC_PRINT(dbgtype, dbgflag, printstr)\\r
-{\\r
-       if (GLBtcDbgType[dbgtype] & dbgflag)\\r
-       {\\r
-               DbgPrint printstr;\\r
-       }\\r
-}\r
-\r
-#define        BTC_PRINT_F(dbgtype, dbgflag, printstr)\\r
-{\\r
-       if (GLBtcDbgType[dbgtype] & dbgflag)\\r
-       {\\r
-               DbgPrint("%s(): ", __FUNCTION__);\\r
-               DbgPrint printstr;\\r
-       }\\r
-}\r
-\r
-#define        BTC_PRINT_ADDR(dbgtype, dbgflag, printstr, _Ptr)\\r
-{\\r
-       if (GLBtcDbgType[dbgtype] & dbgflag)\\r
-       {\\r
-                               int __i;                                                \\r
-                               pu1Byte ptr = (pu1Byte)_Ptr;    \\r
-                               DbgPrint printstr;                              \\r
-                               DbgPrint(" ");                                  \\r
-                               for( __i=0; __i<6; __i++ )              \\r
-                                       DbgPrint("%02X%s", ptr[__i], (__i==5)?"":"-");          \\r
-                               DbgPrint("\n");                                                 \\r
-       }\\r
-}\r
-\r
-#define        BTC_PRINT_DATA(dbgtype, dbgflag, _TitleString, _HexData, _HexDataLen)\\r
-{\\r
-       if (GLBtcDbgType[dbgtype] & dbgflag)\\r
-       {\\r
-               int __i;                                                                        \\r
-               pu1Byte ptr = (pu1Byte)_HexData;                        \\r
-               DbgPrint(_TitleString);                                 \\r
-               for( __i=0; __i<(int)_HexDataLen; __i++ )       \\r
-               {                                                                               \\r
-                       DbgPrint("%02X%s", ptr[__i], (((__i + 1) % 4) == 0)?"  ":" ");\\r
-                       if (((__i + 1) % 16) == 0)      DbgPrint("\n");\\r
-               }                                                                               \\r
-               DbgPrint("\n");                                                 \\r
-       }\\r
-}\r
-\r
-#else\r
-#define        BTC_PRINT(dbgtype, dbgflag, printstr)\r
-#define        BTC_PRINT_F(dbgtype, dbgflag, printstr)\r
-#define        BTC_PRINT_ADDR(dbgtype, dbgflag, printstr, _Ptr)\r
-#define        BTC_PRINT_DATA(dbgtype, dbgflag, _TitleString, _HexData, _HexDataLen)\r
-#endif\r
 \r
 typedef struct _BTC_BOARD_INFO{\r
        // The following is some board information\r
        u1Byte                          btChipType;\r
        u1Byte                          pgAntNum;       // pg ant number\r
        u1Byte                          btdmAntNum;     // ant number for btdm\r
+       u1Byte                          btdmAntNumByAntDet;     // ant number for btdm after antenna detection\r
        u1Byte                          btdmAntPos;             //Bryant Add to indicate Antenna Position for (pgAntNum = 2) && (btdmAntNum =1)  (DPDT+1Ant case)\r
        u1Byte                          singleAntPath;  // current used for 8723b only, 1=>s0,  0=>s1\r
-       //BOOLEAN                               bBtExist;\r
+       u1Byte                          bTfbgaPackage;    //for Antenna detect threshold \r
+       u1Byte                          btdmAntDetFinish;\r
+       u1Byte                          antType;\r
 } BTC_BOARD_INFO, *PBTC_BOARD_INFO;\r
 \r
 typedef enum _BTC_DBG_OPCODE{\r
@@ -230,6 +156,29 @@ typedef enum _BTC_WIFI_PNP{
        BTC_WIFI_PNP_MAX\r
 }BTC_WIFI_PNP,*PBTC_WIFI_PNP;\r
 \r
+typedef enum _BTC_IOT_PEER\r
+{\r
+       BTC_IOT_PEER_UNKNOWN = 0,\r
+       BTC_IOT_PEER_REALTEK = 1,\r
+       BTC_IOT_PEER_REALTEK_92SE = 2,\r
+       BTC_IOT_PEER_BROADCOM = 3,\r
+       BTC_IOT_PEER_RALINK = 4,\r
+       BTC_IOT_PEER_ATHEROS = 5,\r
+       BTC_IOT_PEER_CISCO = 6,\r
+       BTC_IOT_PEER_MERU = 7,  \r
+       BTC_IOT_PEER_MARVELL = 8,\r
+       BTC_IOT_PEER_REALTEK_SOFTAP = 9,// peer is RealTek SOFT_AP, by Bohn, 2009.12.17\r
+       BTC_IOT_PEER_SELF_SOFTAP = 10, // Self is SoftAP\r
+       BTC_IOT_PEER_AIRGO = 11,\r
+       BTC_IOT_PEER_INTEL                              = 12, \r
+       BTC_IOT_PEER_RTK_APCLIENT               = 13, \r
+       BTC_IOT_PEER_REALTEK_81XX               = 14,   \r
+       BTC_IOT_PEER_REALTEK_WOW                = 15,\r
+       BTC_IOT_PEER_REALTEK_JAGUAR_BCUTAP = 16,\r
+       BTC_IOT_PEER_REALTEK_JAGUAR_CCUTAP = 17,\r
+       BTC_IOT_PEER_MAX,\r
+}BTC_IOT_PEER, *PBTC_IOT_PEER;\r
+\r
 //for 8723b-d cut large current issue\r
 typedef enum _BT_WIFI_COEX_STATE{\r
        BTC_WIFI_STAT_INIT,\r
@@ -287,6 +236,7 @@ typedef enum _BTC_GET_TYPE{
        BTC_GET_U1_MAC_PHY_MODE,\r
        BTC_GET_U1_AP_NUM,\r
        BTC_GET_U1_ANT_TYPE,\r
+       BTC_GET_U1_IOT_PEER,\r
 \r
        //===== for 1Ant ======\r
        BTC_GET_U1_LPS_MODE,\r
@@ -490,6 +440,12 @@ typedef VOID
        IN      u4Byte                  offset,\r
        IN      u4Byte                  value\r
        );\r
+typedef BOOLEAN\r
+(*BFP_BTC_SET_BT_ANT_DETECTION)(\r
+       IN      PVOID                   pBtcContext,\r
+       IN      u1Byte                  txTime,\r
+       IN      u1Byte                  btChnl\r
+       );\r
 typedef u4Byte \r
 (*BFP_BTC_GET_BT_REG)(\r
        IN      PVOID                   pBtcContext,\r
@@ -626,6 +582,8 @@ typedef struct _BTC_COEXIST{
 \r
        BFP_BTC_GET_BT_REG      fBtcGetBtReg;\r
        BFP_BTC_SET_BT_REG      fBtcSetBtReg;\r
+\r
+       BFP_BTC_SET_BT_ANT_DETECTION    fBtcSetBtAntDetection;\r
 } BTC_COEXIST, *PBTC_COEXIST;\r
 \r
 extern BTC_COEXIST                             GLBtCoexist;\r
@@ -770,7 +728,7 @@ EXhalbtcoutsrc_DisplayBtCoexInfo(
        IN      PBTC_COEXIST            pBtCoexist\r
        );\r
 VOID\r
-EXhalbtcoutsrc_DisplayAntIsolation(\r
+EXhalbtcoutsrc_DisplayAntDetection(\r
        IN      PBTC_COEXIST            pBtCoexist\r
        );\r
 \r