158391efdSNathan Chancellor /* SPDX-License-Identifier: GPL-2.0 */
2554c0a3aSHans de Goede /******************************************************************************
3554c0a3aSHans de Goede  *
4554c0a3aSHans de Goede  * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
5554c0a3aSHans de Goede  *
6554c0a3aSHans de Goede  ******************************************************************************/
7554c0a3aSHans de Goede 
8554c0a3aSHans de Goede  #ifndef __HAL_PHY_RF_H__
9554c0a3aSHans de Goede  #define __HAL_PHY_RF_H__
10554c0a3aSHans de Goede 
11172dc47dSMarco Cesati enum pwrtrack_method {
12554c0a3aSHans de Goede 	BBSWING,
13554c0a3aSHans de Goede 	TXAGC,
14554c0a3aSHans de Goede 	MIX_MODE
1561842e76SMarco Cesati };
16554c0a3aSHans de Goede 
17*f8010da6SMarco Cesati typedef void (*FuncSetPwr)(struct dm_odm_t *, enum pwrtrack_method, u8, u8);
18*f8010da6SMarco Cesati typedef void (*FuncIQK)(struct dm_odm_t *, u8, u8, u8);
19*f8010da6SMarco Cesati typedef void (*FuncLCK)(struct dm_odm_t *);
20*f8010da6SMarco Cesati typedef void (*FuncSwing)(struct dm_odm_t *, u8 **, u8 **, u8 **, u8 **);
21554c0a3aSHans de Goede 
22172dc47dSMarco Cesati struct txpwrtrack_cfg {
23554c0a3aSHans de Goede 	u8 SwingTableSize_CCK;
24554c0a3aSHans de Goede 	u8 SwingTableSize_OFDM;
25554c0a3aSHans de Goede 	u8 Threshold_IQK;
26554c0a3aSHans de Goede 	u8 AverageThermalNum;
27554c0a3aSHans de Goede 	u8 RfPathCount;
28554c0a3aSHans de Goede 	u32 ThermalRegAddr;
29554c0a3aSHans de Goede 	FuncSetPwr ODM_TxPwrTrackSetPwr;
30554c0a3aSHans de Goede 	FuncIQK DoIQK;
31554c0a3aSHans de Goede 	FuncLCK PHY_LCCalibrate;
32554c0a3aSHans de Goede 	FuncSwing GetDeltaSwingTable;
3361842e76SMarco Cesati };
34554c0a3aSHans de Goede 
35*f8010da6SMarco Cesati void ConfigureTxpowerTrack(struct dm_odm_t *pDM_Odm, struct txpwrtrack_cfg *pConfig);
36554c0a3aSHans de Goede 
37554c0a3aSHans de Goede 
38*f8010da6SMarco Cesati void ODM_ClearTxPowerTrackingState(struct dm_odm_t *pDM_Odm);
39554c0a3aSHans de Goede 
40554c0a3aSHans de Goede void ODM_TXPowerTrackingCallback_ThermalMeter(struct adapter *Adapter);
41554c0a3aSHans de Goede 
42554c0a3aSHans de Goede #endif	/*  #ifndef __HAL_PHY_RF_H__ */
43