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 __ODMCFOTRACK_H__ 9554c0a3aSHans de Goede #define __ODMCFOTRACK_H__ 10554c0a3aSHans de Goede 11554c0a3aSHans de Goede #define CFO_TH_XTAL_HIGH 20 /* kHz */ 12554c0a3aSHans de Goede #define CFO_TH_XTAL_LOW 10 /* kHz */ 13554c0a3aSHans de Goede #define CFO_TH_ATC 80 /* kHz */ 14554c0a3aSHans de Goede 150c10f844SMarco Cesati struct cfo_tracking { 16554c0a3aSHans de Goede bool bATCStatus; 17554c0a3aSHans de Goede bool largeCFOHit; 18554c0a3aSHans de Goede bool bAdjust; 19554c0a3aSHans de Goede u8 CrystalCap; 20554c0a3aSHans de Goede u8 DefXCap; 21554c0a3aSHans de Goede int CFO_tail[2]; 22554c0a3aSHans de Goede int CFO_ave_pre; 23554c0a3aSHans de Goede u32 packetCount; 24554c0a3aSHans de Goede u32 packetCount_pre; 25554c0a3aSHans de Goede 26554c0a3aSHans de Goede bool bForceXtalCap; 27554c0a3aSHans de Goede bool bReset; 286d12413cSMarco Cesati }; 29554c0a3aSHans de Goede 30554c0a3aSHans de Goede void ODM_CfoTrackingReset(void *pDM_VOID 31554c0a3aSHans de Goede ); 32554c0a3aSHans de Goede 33554c0a3aSHans de Goede void ODM_CfoTrackingInit(void *pDM_VOID); 34554c0a3aSHans de Goede 35554c0a3aSHans de Goede void ODM_CfoTracking(void *pDM_VOID); 36554c0a3aSHans de Goede 37*caa976ebSFabio Aiuto void odm_parsing_cfo(void *pDM_VOID, void *pPktinfo_VOID, s8 *pcfotail); 38554c0a3aSHans de Goede 39554c0a3aSHans de Goede #endif 40