net: wireless: rockchip_wlan: add rtl8723ds support
[firefly-linux-kernel-4.4.55.git] / drivers / net / wireless / rockchip_wlan / rtl8723ds / hal / phydm / halphyrf_ce.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 \r
33 #if (RTL8821C_SUPPORT == 1)\r
34 #include "rtl8821c/phydm_iqk_8821c.h"\r
35 #endif\r
36 \r
37 #include "phydm_powertracking_ce.h"\r
38 \r
39 \r
40 typedef enum _SPUR_CAL_METHOD {\r
41         PLL_RESET,\r
42         AFE_PHASE_SEL\r
43 } SPUR_CAL_METHOD;\r
44 \r
45 typedef enum _PWRTRACK_CONTROL_METHOD {\r
46         BBSWING,\r
47         TXAGC,\r
48         MIX_MODE,\r
49         TSSI_MODE,\r
50         MIX_2G_TSSI_5G_MODE,\r
51         MIX_5G_TSSI_2G_MODE\r
52 } PWRTRACK_METHOD;\r
53 \r
54 typedef VOID    (*FuncSetPwr)(PVOID, PWRTRACK_METHOD, u1Byte, u1Byte);\r
55 typedef VOID(*FuncIQK)(PVOID, u1Byte, u1Byte, u1Byte);\r
56 typedef VOID    (*FuncLCK)(PVOID);\r
57 typedef VOID    (*FuncSwing)(PVOID, pu1Byte*, pu1Byte*, pu1Byte*, pu1Byte*);\r
58 typedef VOID    (*FuncSwing8814only)(PVOID, pu1Byte*, pu1Byte*, pu1Byte*, pu1Byte*);\r
59 typedef VOID(*FuncSwingXtal)(PVOID, ps1Byte*, ps1Byte*);\r
60 typedef VOID(*FuncSetXtal)(PVOID);\r
61 \r
62 typedef struct _TXPWRTRACK_CFG {\r
63         u1Byte          SwingTableSize_CCK;     \r
64         u1Byte          SwingTableSize_OFDM;\r
65         u1Byte          Threshold_IQK;\r
66         u1Byte          Threshold_DPK;\r
67         u1Byte          AverageThermalNum;\r
68         u1Byte          RfPathCount;\r
69         u4Byte          ThermalRegAddr; \r
70         FuncSetPwr      ODM_TxPwrTrackSetPwr;\r
71         FuncIQK         DoIQK;\r
72         FuncLCK         PHY_LCCalibrate;\r
73         FuncSwing       GetDeltaSwingTable;\r
74         FuncSwing8814only       GetDeltaSwingTable8814only;\r
75         FuncSwingXtal                   GetDeltaSwingXtalTable;\r
76         FuncSetXtal                     ODM_TxXtalTrackSetXtal;\r
77 } TXPWRTRACK_CFG, *PTXPWRTRACK_CFG;\r
78 \r
79 VOID\r
80 ConfigureTxpowerTrack(\r
81         IN              PVOID                                   pDM_VOID,\r
82         OUT     PTXPWRTRACK_CFG pConfig\r
83         );\r
84 \r
85 \r
86 VOID\r
87 ODM_ClearTxPowerTrackingState(\r
88         IN              PVOID                                   pDM_VOID\r
89         );\r
90 \r
91 VOID\r
92 ODM_TXPowerTrackingCallback_ThermalMeter(\r
93 #if (DM_ODM_SUPPORT_TYPE & ODM_AP)\r
94         IN              PVOID                                   pDM_VOID\r
95 #else\r
96         IN PADAPTER     Adapter\r
97 #endif\r
98         );\r
99 \r
100 \r
101 \r
102 #define ODM_TARGET_CHNL_NUM_2G_5G       59\r
103 \r
104 \r
105 VOID\r
106 ODM_ResetIQKResult(\r
107         IN              PVOID                                   pDM_VOID\r
108 );\r
109 u1Byte \r
110 ODM_GetRightChnlPlaceforIQK(\r
111     IN u1Byte chnl\r
112 );\r
113 \r
114 void phydm_rf_init(     IN              PVOID                                   pDM_VOID);\r
115 void phydm_rf_watchdog( IN              PVOID                                   pDM_VOID);\r
116                                                                 \r
117 #endif  // #ifndef __HAL_PHY_RF_H__\r
118 \r