1 /******************************************************************************
\r
3 * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
\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
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
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
19 ******************************************************************************/
\r
21 #ifndef __HAL_PHY_RF_H__
\r
22 #define __HAL_PHY_RF_H__
\r
24 #include "phydm_kfree.h"
\r
25 #if (RTL8814A_SUPPORT == 1)
\r
26 #include "rtl8814a/phydm_iqk_8814a.h"
\r
29 #if (RTL8822B_SUPPORT == 1)
\r
30 #include "rtl8822b/phydm_iqk_8822b.h"
\r
33 #if (RTL8821C_SUPPORT == 1)
\r
34 #include "rtl8821c/phydm_iqk_8821c.h"
\r
37 #include "phydm_powertracking_ce.h"
\r
40 typedef enum _SPUR_CAL_METHOD {
\r
45 typedef enum _PWRTRACK_CONTROL_METHOD {
\r
50 MIX_2G_TSSI_5G_MODE,
\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
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
69 u4Byte ThermalRegAddr;
\r
70 FuncSetPwr ODM_TxPwrTrackSetPwr;
\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
80 ConfigureTxpowerTrack(
\r
82 OUT PTXPWRTRACK_CFG pConfig
\r
87 ODM_ClearTxPowerTrackingState(
\r
92 ODM_TXPowerTrackingCallback_ThermalMeter(
\r
93 #if (DM_ODM_SUPPORT_TYPE & ODM_AP)
\r
102 #define ODM_TARGET_CHNL_NUM_2G_5G 59
\r
106 ODM_ResetIQKResult(
\r
110 ODM_GetRightChnlPlaceforIQK(
\r
114 void phydm_rf_init( IN PVOID pDM_VOID);
\r
115 void phydm_rf_watchdog( IN PVOID pDM_VOID);
\r
117 #endif // #ifndef __HAL_PHY_RF_H__
\r