1 /* SPDX-License-Identifier: GPL-2.0 */
2 /******************************************************************************
3  *
4  * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
5  *
6  ******************************************************************************/
7 
8  #ifndef __HAL_PHY_RF_H__
9  #define __HAL_PHY_RF_H__
10 
11 enum pwrtrack_method {
12 	BBSWING,
13 	TXAGC,
14 	MIX_MODE
15 };
16 
17 typedef void (*FuncSetPwr)(struct dm_odm_t *, enum pwrtrack_method, u8, u8);
18 typedef void (*FuncIQK)(struct dm_odm_t *, u8, u8, u8);
19 typedef void (*FuncLCK)(struct dm_odm_t *);
20 typedef void (*FuncSwing)(struct dm_odm_t *, u8 **, u8 **, u8 **, u8 **);
21 
22 struct txpwrtrack_cfg {
23 	u8 SwingTableSize_CCK;
24 	u8 SwingTableSize_OFDM;
25 	u8 Threshold_IQK;
26 	u8 AverageThermalNum;
27 	u8 RfPathCount;
28 	u32 ThermalRegAddr;
29 	FuncSetPwr ODM_TxPwrTrackSetPwr;
30 	FuncIQK DoIQK;
31 	FuncLCK PHY_LCCalibrate;
32 	FuncSwing GetDeltaSwingTable;
33 };
34 
35 void ConfigureTxpowerTrack(struct dm_odm_t *pDM_Odm, struct txpwrtrack_cfg *pConfig);
36 
37 
38 void ODM_ClearTxPowerTrackingState(struct dm_odm_t *pDM_Odm);
39 
40 void ODM_TXPowerTrackingCallback_ThermalMeter(struct adapter *Adapter);
41 
42 #endif	/*  #ifndef __HAL_PHY_RF_H__ */
43