net: wireless: rockchip_wlan: add rtl8188fu support
[firefly-linux-kernel-4.4.55.git] / drivers / net / wireless / rockchip_wlan / rtl8188fu / hal / phydm / halphyrf_ap.h
diff --git a/drivers/net/wireless/rockchip_wlan/rtl8188fu/hal/phydm/halphyrf_ap.h b/drivers/net/wireless/rockchip_wlan/rtl8188fu/hal/phydm/halphyrf_ap.h
new file mode 100644 (file)
index 0000000..3fdbc72
--- /dev/null
@@ -0,0 +1,162 @@
+/******************************************************************************\r
+ *\r
+ * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.\r
+ *\r
+ * This program is free software; you can redistribute it and/or modify it\r
+ * under the terms of version 2 of the GNU General Public License as\r
+ * published by the Free Software Foundation.\r
+ *\r
+ * This program is distributed in the hope that it will be useful, but WITHOUT\r
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or\r
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for\r
+ * more details.\r
+ *\r
+ * You should have received a copy of the GNU General Public License along with\r
+ * this program; if not, write to the Free Software Foundation, Inc.,\r
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA\r
+ *\r
+ *\r
+ ******************************************************************************/\r
\r
+ #ifndef __HAL_PHY_RF_H__\r
+ #define __HAL_PHY_RF_H__\r
\r
+#include "phydm_powertracking_ap.h"\r
+#if (RTL8814A_SUPPORT == 1)\r
+#include "rtl8814a/phydm_iqk_8814a.h"\r
+#endif\r
+\r
+#if (RTL8822B_SUPPORT == 1)\r
+#include "rtl8822b/phydm_iqk_8822b.h"\r
+#endif\r
+\r
+\r
+typedef enum _PWRTRACK_CONTROL_METHOD {\r
+       BBSWING,\r
+       TXAGC,\r
+       MIX_MODE,\r
+       TSSI_MODE\r
+} PWRTRACK_METHOD;\r
+\r
+typedef VOID   (*FuncSetPwr)(PVOID, PWRTRACK_METHOD, u1Byte, u1Byte);\r
+typedef VOID(*FuncIQK)(PVOID, u1Byte, u1Byte, u1Byte);\r
+typedef VOID   (*FuncLCK)(PVOID);\r
+                               //refine by YuChen for 8814A\r
+typedef VOID   (*FuncSwing)(PVOID, pu1Byte*, pu1Byte*, pu1Byte*, pu1Byte*);\r
+typedef VOID   (*FuncSwing8814only)(PVOID, pu1Byte*, pu1Byte*, pu1Byte*, pu1Byte*);\r
+\r
+typedef struct _TXPWRTRACK_CFG {\r
+       u1Byte          SwingTableSize_CCK;     \r
+       u1Byte          SwingTableSize_OFDM;\r
+       u1Byte          Threshold_IQK;\r
+       u1Byte          Threshold_DPK;  \r
+       u1Byte          AverageThermalNum;\r
+       u1Byte          RfPathCount;\r
+       u4Byte          ThermalRegAddr; \r
+       FuncSetPwr      ODM_TxPwrTrackSetPwr;\r
+       FuncIQK         DoIQK;\r
+       FuncLCK         PHY_LCCalibrate;\r
+       FuncSwing       GetDeltaSwingTable;\r
+       FuncSwing8814only       GetDeltaSwingTable8814only;\r
+} TXPWRTRACK_CFG, *PTXPWRTRACK_CFG;\r
+\r
+VOID \r
+ConfigureTxpowerTrack(\r
+       IN      PVOID           pDM_VOID,\r
+       OUT     PTXPWRTRACK_CFG pConfig\r
+       );\r
+\r
+\r
+VOID\r
+ODM_TXPowerTrackingCallback_ThermalMeter(\r
+#if (DM_ODM_SUPPORT_TYPE & ODM_AP)\r
+       IN      PVOID           pDM_VOID\r
+#else\r
+       IN PADAPTER     Adapter\r
+#endif\r
+       );\r
+\r
+#if (RTL8192E_SUPPORT==1) \r
+VOID\r
+ODM_TXPowerTrackingCallback_ThermalMeter_92E(\r
+#if (DM_ODM_SUPPORT_TYPE & ODM_AP)\r
+       IN      PVOID           pDM_VOID\r
+#else\r
+       IN PADAPTER     Adapter\r
+#endif\r
+       );\r
+#endif\r
+\r
+#if (RTL8814A_SUPPORT == 1)\r
+VOID\r
+ODM_TXPowerTrackingCallback_ThermalMeter_JaguarSeries2(\r
+#if (DM_ODM_SUPPORT_TYPE & ODM_AP)\r
+       IN      PVOID           pDM_VOID\r
+#else\r
+       IN PADAPTER     Adapter\r
+#endif\r
+       );\r
+\r
+#elif ODM_IC_11AC_SERIES_SUPPORT\r
+VOID\r
+ODM_TXPowerTrackingCallback_ThermalMeter_JaguarSeries(\r
+#if (DM_ODM_SUPPORT_TYPE & ODM_AP)\r
+       IN      PVOID           pDM_VOID\r
+#else\r
+       IN PADAPTER     Adapter\r
+#endif\r
+       );\r
+#endif\r
+\r
+#define IS_CCK_RATE(_rate)                             (ODM_MGN_1M == _rate || _rate == ODM_MGN_2M || _rate == ODM_MGN_5_5M || _rate == ODM_MGN_11M )\r
+\r
+\r
+#if(DM_ODM_SUPPORT_TYPE & ODM_WIN)\r
+#define MAX_TOLERANCE          5\r
+#define IQK_DELAY_TIME         1               //ms\r
+\r
+ //\r
+// BB/MAC/RF other monitor API\r
+//\r
+\r
+void   PHY_SetMonitorMode8192C(IN      PADAPTER        pAdapter,\r
+                                                                               IN      BOOLEAN         bEnableMonitorMode      );\r
+                                                                               \r
+//\r
+// IQ calibrate\r
+//\r
+void   \r
+PHY_IQCalibrate_8192C(         IN      PADAPTER        pAdapter,       \r
+                                                       IN      BOOLEAN         bReCovery);\r
+                                                       \r
+//\r
+// LC calibrate\r
+//\r
+void   \r
+PHY_LCCalibrate_8192C(         IN      PADAPTER        pAdapter);\r
+\r
+//\r
+// AP calibrate\r
+//\r
+void   \r
+PHY_APCalibrate_8192C(         IN      PADAPTER        pAdapter,\r
+                                                               IN      s1Byte          delta);\r
+#endif\r
+\r
+#define ODM_TARGET_CHNL_NUM_2G_5G      59\r
+\r
+\r
+VOID\r
+ODM_ResetIQKResult(\r
+       IN      PVOID           pDM_VOID\r
+);\r
+u1Byte \r
+ODM_GetRightChnlPlaceforIQK(\r
+    IN u1Byte chnl\r
+);\r
+\r
+void phydm_rf_init(IN  PVOID           pDM_VOID);\r
+void phydm_rf_watchdog(IN      PVOID           pDM_VOID);\r
+                                                               \r
+#endif // #ifndef __HAL_PHY_RF_H__\r
+\r