dfeccf
Vitis Drivers API Documentation
xdfeccf.c File Reference

Overview

Contains the APIs for DFE Channel Filter component.

MODIFICATION HISTORY:
Ver   Who    Date     Changes


1.0 dc 10/29/20 Initial version dc 02/02/21 Remove hard coded device node name dc 02/08/21 align driver to current specification dc 02/22/21 include HW in versioning dc 03/16/21 update activate & deactivate api dc 03/25/21 Device tree item name change dc 04/06/21 Register with full node name dc 04/07/21 Fix bare metal initialisation dc 04/08/21 Set sequence length only once dc 04/18/21 Update trigger and event handlers dc 04/20/21 Doxygen documentation update dc 04/22/21 Add write MappedId field dc 05/08/21 Update to common trigger dc 05/18/21 Handling CCUpdate trigger 1.1 dc 07/13/21 Update to common latency requirements dc 07/21/21 Add and reorganise examples dc 10/26/21 Make driver R5 compatible 1.2 dc 10/29/21 Update doxygen comments dc 11/01/21 Add multi AddCC, RemoveCC and UpdateCC dc 11/19/21 Update doxygen documentation dc 11/26/21 Model parameter NumCCPerAntenna workaround dc 11/26/21 Set sequence length in GetEmptyCCCfg dc 11/26/21 Add SetAntennaCfgInCCCfg API dc 11/30/21 Convert AntennaCfg to structure dc 12/02/21 Add UpdateAntennaCfg API dc 12/17/21 Update after documentation review 1.3 dc 01/07/22 Zero-padding coefficients dc 01/19/22 Assert CCUpdate trigger dc 01/21/22 Symmetric filter Zero-padding dc 01/27/22 Get calculated TDataDelay dc 01/31/22 CCF IP MODEL_PARAM register change dc 03/21/22 Add prefix to global variables 1.4 dc 04/08/22 Update documentation 1.5 dc 10/28/22 Switching Uplink/Downlink support dc 11/11/22 Align AddCC to switchable UL/DL algorithm dc 11/25/22 Update macro of SW version Minor number 1.6 dc 06/15/23 Function comment update dc 06/20/23 Deprecate obsolete APIs cog 07/04/23 Add support for SDT dc 08/29/23 Remove immediate trigger 1.7 cog 02/02/24 Yocto SDT support dc 03/01/24 Update version number in makefiles

Macros

#define XDFECCF_ACTIVE_SET_NUM   (8U)
 Maximum number of active sets. More...
 
#define XDFECCF_U32_NUM_BITS   (32U)
 Number of bits in register. More...
 
#define XDFECCF_TAP_NUMBER_MAX   (256U)
 Maximum tap number. More...
 
#define XDFECCF_DRIVER_VERSION_MINOR   (7U)
 Driver's minor version number. More...
 
#define XDFECCF_DRIVER_VERSION_MAJOR   (1U)
 Driver's major version number. More...
 

Functions

XDfeCcfXDfeCcf_InstanceInit (const char *DeviceNodeName)
 Initialises one instance of a channel filter driver. More...
 
void XDfeCcf_InstanceClose (XDfeCcf *InstancePtr)
 Closes the instances of a channel filter driver and moves the state machine to a Not Ready state. More...
 
void XDfeCcf_Reset (XDfeCcf *InstancePtr)
 Resets channel filter and puts block into a reset state. More...
 
void XDfeCcf_Configure (XDfeCcf *InstancePtr, XDfeCcf_Cfg *Cfg)
 Reads configuration from device tree/xparameters.h and IP registers. More...
 
void XDfeCcf_Initialize (XDfeCcf *InstancePtr, XDfeCcf_Init *Init)
 DFE Ccf driver one time initialisation, also moves the state machine to an Initialised state. More...
 
void XDfeCcf_Activate (XDfeCcf *InstancePtr, bool EnableLowPower)
 Activates channel filter and moves the state machine to an Activated state. More...
 
void XDfeCcf_Deactivate (XDfeCcf *InstancePtr)
 Deactivates channel filter and moves the state machine to Initialised state. More...
 
XDfeCcf_StateId XDfeCcf_GetStateID (XDfeCcf *InstancePtr)
 Gets a state machine state id. More...
 
void XDfeCcf_GetCurrentCCCfg (const XDfeCcf *InstancePtr, XDfeCcf_CCCfg *CurrCCCfg)
 Returns the current CC configuration in non-switchable mode. More...
 
void XDfeCcf_GetCurrentCCCfgSwitchable (const XDfeCcf *InstancePtr, XDfeCcf_CCCfg *CCCfgDownlink, XDfeCcf_CCCfg *CCCfgUplink)
 Returns the current CC configuration for Downlink and Uplink in switchable mode. More...
 
void XDfeCcf_GetEmptyCCCfg (const XDfeCcf *InstancePtr, XDfeCcf_CCCfg *CCCfg)
 Returns configuration structure CCCfg with CCCfg->Sequence.Length value set in XDfeCcf_Configure(), array CCCfg->Sequence.CCID[] members are set to not used value (-1) and the other CCCfg members are set to 0. More...
 
void XDfeCcf_GetCarrierCfg (const XDfeCcf *InstancePtr, XDfeCcf_CCCfg *CCCfg, s32 CCID, u32 *CCSeqBitmap, XDfeCcf_CarrierCfg *CarrierCfg)
 Returns the current CCID carrier configuration. More...
 
void XDfeCcf_SetAntennaCfgInCCCfg (const XDfeCcf *InstancePtr, XDfeCcf_CCCfg *CCCfg, XDfeCcf_AntennaCfg *AntennaCfg)
 Set antenna configuration in CC configuration container. More...
 
u32 XDfeCcf_AddCCtoCCCfg (XDfeCcf *InstancePtr, XDfeCcf_CCCfg *CCCfg, s32 CCID, u32 CCSeqBitmap, const XDfeCcf_CarrierCfg *CarrierCfg)
 Adds specified CCID, with specified configuration, to a local CC configuration structure. More...
 
void XDfeCcf_RemoveCCfromCCCfg (XDfeCcf *InstancePtr, XDfeCcf_CCCfg *CCCfg, s32 CCID)
 Removes specified CCID from a local CC configuration structure. More...
 
void XDfeCcf_UpdateCCinCCCfg (const XDfeCcf *InstancePtr, XDfeCcf_CCCfg *CCCfg, s32 CCID, const XDfeCcf_CarrierCfg *CarrierCfg)
 Updates specified CCID, with specified configuration to a local CC configuration structure. More...
 
u32 XDfeCcf_SetNextCCCfgAndTrigger (XDfeCcf *InstancePtr, XDfeCcf_CCCfg *CCCfg)
 Writes local CC configuration to the shadow (NEXT) registers and triggers copying from shadow to operational (CURRENT) registers. More...
 
u32 XDfeCcf_SetNextCCCfgAndTriggerSwitchable (XDfeCcf *InstancePtr, XDfeCcf_CCCfg *CCCfgDownlink, XDfeCcf_CCCfg *CCCfgUplink)
 Writes local CC configuration to the shadow (NEXT) registers and triggers copying from shadow to operational (CURRENT) registers for both Downlink and Upling in switchable mode. More...
 
u32 XDfeCcf_AddCC (XDfeCcf *InstancePtr, s32 CCID, u32 CCSeqBitmap, const XDfeCcf_CarrierCfg *CarrierCfg)
 Adds specified CCID, with specified configuration. More...
 
u32 XDfeCcf_RemoveCC (XDfeCcf *InstancePtr, s32 CCID)
 Removes specified CCID. More...
 
u32 XDfeCcf_UpdateCC (XDfeCcf *InstancePtr, s32 CCID, const XDfeCcf_CarrierCfg *CarrierCfg)
 Updates specified CCID carrier configuration; change gain or filter coefficients set. More...
 
u32 XDfeCcf_UpdateAntenna (XDfeCcf *InstancePtr, u32 Ant, bool Enabled)
 Updates specified antenna TDM slot enablement. More...
 
u32 XDfeCcf_UpdateAntennaCfg (XDfeCcf *InstancePtr, XDfeCcf_AntennaCfg *AntennaCfg)
 Updates antenna configuration to all antennas. More...
 
u32 XDfeCcf_UpdateAntennaCfgSwitchable (XDfeCcf *InstancePtr, XDfeCcf_AntennaCfg *AntennaCfgDownlink, XDfeCcf_AntennaCfg *AntennaCfgUplink)
 Updates antenna configuration of all antennas. More...
 
void XDfeCcf_GetTriggersCfg (const XDfeCcf *InstancePtr, XDfeCcf_TriggerCfg *TriggerCfg)
 Returns current trigger configuration. More...
 
void XDfeCcf_SetTriggersCfg (const XDfeCcf *InstancePtr, XDfeCcf_TriggerCfg *TriggerCfg)
 Sets trigger configuration. More...
 
void XDfeCcf_GetCC (const XDfeCcf *InstancePtr, s32 CCID, XDfeCcf_CarrierCfg *CarrierCfg)
 Gets specified CCID carrier configuration. More...
 
void XDfeCcf_GetActiveSets (const XDfeCcf *InstancePtr, u32 *IsActive)
 Returns a list indicating which coefficient sets are currently in use. More...
 
void XDfeCcf_LoadCoefficients (XDfeCcf *InstancePtr, u32 Set, u32 Shift, const XDfeCcf_Coefficients *Coeffs)
 Writes the coefficient set defined into the register map and commit them to the hard block's internal coefficient memory for the specified Set. More...
 
void XDfeCcf_SetTUserDelay (const XDfeCcf *InstancePtr, u32 Delay)
 Sets the delay, which will be added to TUSER and TLAST (delay matched through the IP). More...
 
u32 XDfeCcf_GetTUserDelay (const XDfeCcf *InstancePtr)
 Reads the delay, which will be added to TUSER and TLAST (delay matched through the IP). More...
 
u32 XDfeCcf_GetTDataDelay (XDfeCcf *InstancePtr, u32 Tap, s32 CCID, u32 Symmetric, u32 Num, u32 *TDataDelay)
 Gets calculated TDataDelay value for CCID from current CC configuration. More...
 
u32 XDfeCcf_GetTDataDelayFromCCCfg (XDfeCcf *InstancePtr, u32 Tap, s32 CCID, XDfeCcf_CCCfg *CCCfg, u32 Symmetric, u32 Num, u32 *TDataDelay)
 Gets calculated TDataDelay value for CCID. More...
 
void XDfeCcf_SetRegBank (const XDfeCcf *InstancePtr, u32 RegBank)
 Sets uplink/downlink register bank. More...
 
void XDfeCcf_GetVersions (const XDfeCcf *InstancePtr, XDfeCcf_Version *SwVersion, XDfeCcf_Version *HwVersion)
 This API is used to get the driver version. More...