net: wireless: rockchip_wlan: add rtl8723bs support
[firefly-linux-kernel-4.4.55.git] / drivers / net / wireless / rockchip_wlan / rtl8723bs / hal / phydm / halphyrf_win.h
1 /******************************************************************************\r
2  *\r
3  * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.\r
4  *\r
5  * This program is free software; you can redistribute it and/or modify it\r
6  * under the terms of version 2 of the GNU General Public License as\r
7  * published by the Free Software Foundation.\r
8  *\r
9  * This program is distributed in the hope that it will be useful, but WITHOUT\r
10  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or\r
11  * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for\r
12  * more details.\r
13  *\r
14  * You should have received a copy of the GNU General Public License along with\r
15  * this program; if not, write to the Free Software Foundation, Inc.,\r
16  * 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA\r
17  *\r
18  *\r
19  ******************************************************************************/\r
20  \r
21  #ifndef __HAL_PHY_RF_H__\r
22  #define __HAL_PHY_RF_H__\r
23  \r
24 #include "phydm_kfree.h"\r
25 #if (RTL8814A_SUPPORT == 1)\r
26 #include "rtl8814a/phydm_iqk_8814a.h"\r
27 #endif\r
28 \r
29 #if (RTL8822B_SUPPORT == 1)\r
30 #include "rtl8822b/phydm_iqk_8822b.h"\r
31 #endif\r
32 #include "phydm_powertracking_win.h"\r
33 \r
34 typedef enum _SPUR_CAL_METHOD {\r
35         PLL_RESET,\r
36         AFE_PHASE_SEL\r
37 } SPUR_CAL_METHOD;\r
38 \r
39 typedef enum _PWRTRACK_CONTROL_METHOD {\r
40         BBSWING,\r
41         TXAGC,\r
42         MIX_MODE,\r
43         TSSI_MODE\r
44 } PWRTRACK_METHOD;\r
45 \r
46 typedef VOID    (*FuncSetPwr)(PDM_ODM_T, PWRTRACK_METHOD, u1Byte, u1Byte);\r
47 typedef VOID(*FuncIQK)(PVOID, u1Byte, u1Byte, u1Byte);\r
48 typedef VOID    (*FuncLCK)(PDM_ODM_T);\r
49                                 //refine by YuChen for 8814A\r
50 typedef VOID    (*FuncSwing)(PDM_ODM_T, pu1Byte*, pu1Byte*, pu1Byte*, pu1Byte*);\r
51 typedef VOID    (*FuncSwing8814only)(PDM_ODM_T, pu1Byte*, pu1Byte*, pu1Byte*, pu1Byte*);\r
52 \r
53 typedef struct _TXPWRTRACK_CFG {\r
54         u1Byte          SwingTableSize_CCK;     \r
55         u1Byte          SwingTableSize_OFDM;\r
56         u1Byte          Threshold_IQK;\r
57         u1Byte          Threshold_DPK;  \r
58         u1Byte          AverageThermalNum;\r
59         u1Byte          RfPathCount;\r
60         u4Byte          ThermalRegAddr; \r
61         FuncSetPwr      ODM_TxPwrTrackSetPwr;\r
62         FuncIQK         DoIQK;\r
63         FuncLCK         PHY_LCCalibrate;\r
64         FuncSwing       GetDeltaSwingTable;\r
65         FuncSwing8814only       GetDeltaSwingTable8814only;\r
66 } TXPWRTRACK_CFG, *PTXPWRTRACK_CFG;\r
67 \r
68 VOID \r
69 ConfigureTxpowerTrack(\r
70         IN      PDM_ODM_T               pDM_Odm,\r
71         OUT     PTXPWRTRACK_CFG pConfig\r
72         );\r
73 \r
74 \r
75 VOID\r
76 ODM_ClearTxPowerTrackingState(\r
77         IN PDM_ODM_T            pDM_Odm\r
78         );\r
79 \r
80 VOID\r
81 ODM_TXPowerTrackingCallback_ThermalMeter(\r
82 #if (DM_ODM_SUPPORT_TYPE & ODM_AP)\r
83         IN PDM_ODM_T            pDM_Odm\r
84 #else\r
85         IN PADAPTER     Adapter\r
86 #endif\r
87         );\r
88 \r
89 \r
90 \r
91 #define ODM_TARGET_CHNL_NUM_2G_5G       59\r
92 \r
93 \r
94 VOID\r
95 ODM_ResetIQKResult(\r
96         IN PDM_ODM_T    pDM_Odm \r
97 );\r
98 u1Byte \r
99 ODM_GetRightChnlPlaceforIQK(\r
100     IN u1Byte chnl\r
101 );\r
102 \r
103 VOID odm_IQCalibrate(IN PDM_ODM_T       pDM_Odm);\r
104 VOID phydm_rf_init(     IN              PDM_ODM_T               pDM_Odm);\r
105 VOID phydm_rf_watchdog( IN              PDM_ODM_T               pDM_Odm);\r
106                                                                 \r
107 #endif  // #ifndef __HAL_PHY_RF_H__\r
108 \r