| dfeccf Vitis Drivers API Documentation

- Overview
- Data Structures
- APIs
- File List
- Examples

Macros | Functions
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
XDfeCcf * | XDfeCcf_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...