dfeofdm
Vitis Drivers API Documentation
xdfeofdm.c File Reference

Overview

Contains the APIs for DFE Orthogonal Frequency Division Multiplexing component.

MODIFICATION HISTORY:
Ver   Who    Date     Changes


1.0 dc 11/21/22 Initial version 1.1 dc 05/22/23 State and status upgrades dc 06/20/23 Deprecate obsolete APIs dc 06/28/23 Add phase compensation calculation cog 07/04/23 Add support for SDT dc 07/27/23 Output delay in ccid slots dc 07/31/23 Antenna interleave delay reorder dc 08/28/23 Remove immediate trigger 1.2 dc 10/16/23 Doxygen documenatation update dc 10/17/23 Support for FFT size 512 dc 02/29/24 Correct sw major/minor version numbers dc 03/22/24 Update hw version 1.3 dc 06/18/24 Add FR1 and FR2 frequency range dc 09/23/24 Add frequency range MODEL_PARAM

Macros

#define XDFEOFDM_DRIVER_VERSION_MINOR   (3U)
 Minor version number of driver. More...
 
#define XDFEOFDM_DRIVER_VERSION_MAJOR   (1U)
 Major version number of driver. More...
 
#define XDFEOFDM_PHASE_COMPENSATION_REG_STEP   8U
 Address space step between space for phase compensation on one carrier. More...
 
#define XDFEOFDM_FREQUENCY_RANGE_1   0U
 [15, 30, 60] kHz (default) More...
 
#define XDFEOFDM_FREQUENCY_RANGE_2   1U
 [60, 120, 240, 480, 960] kHz More...
 

Functions

XDfeOfdmXDfeOfdm_InstanceInit (const char *DeviceNodeName)
 Initializes one instance of the OFDM driver and traverses the "/sys/bus/platform/device" directory (in Linux) to find the registered OFDM device with the name DeviceNodeName. More...
 
void XDfeOfdm_InstanceClose (XDfeOfdm *InstancePtr)
 Closes the instances of the OFDM driver and moves the state machine to a Not Ready state. More...
 
void XDfeOfdm_Reset (XDfeOfdm *InstancePtr)
 Resets the OFDM instance and puts block into a reset state. More...
 
void XDfeOfdm_Configure (XDfeOfdm *InstancePtr, XDfeOfdm_Cfg *Cfg)
 Reads configuration from device tree/xparameters.h and IP registers. More...
 
void XDfeOfdm_Initialize (XDfeOfdm *InstancePtr, XDfeOfdm_Init *Init)
 Initializes the OFDM driver and moves the state machine to an initialized state. More...
 
void XDfeOfdm_Activate (XDfeOfdm *InstancePtr, bool EnableLowPower)
 Activates OFDM and moves the state machine to an activated state. More...
 
void XDfeOfdm_Deactivate (XDfeOfdm *InstancePtr)
 Deactivates OFDM and moves the state machine to an initialised state. More...
 
XDfeOfdm_StateId XDfeOfdm_GetStateID (XDfeOfdm *InstancePtr)
 Gets a state machine state ID. More...
 
void XDfeOfdm_GetCurrentCCCfg (const XDfeOfdm *InstancePtr, XDfeOfdm_CCCfg *CurrCCCfg)
 Returns the current CC configuration. More...
 
void XDfeOfdm_GetEmptyCCCfg (const XDfeOfdm *InstancePtr, XDfeOfdm_CCCfg *CCCfg)
 Returns configuration structure CCCfg with CCCfg->CCSequence.Length value set in XDfeOfdm_Configure(), array CCCfg->CCSequence.CCID[] members are set to not used value (-1) and the other CCCfg members are set to 0. More...
 
u32 XDfeOfdm_AddCCtoCCCfg (XDfeOfdm *InstancePtr, XDfeOfdm_CCCfg *CCCfg, s32 CCID, u32 CCSeqBitmap, const XDfeOfdm_CarrierCfg *CarrierCfg, XDfeOfdm_FTSequence *FTSeq)
 Adds specified CCID, with specified configuration, to a local CC configuration structure. More...
 
void XDfeOfdm_GetCarrierCfg (const XDfeOfdm *InstancePtr, XDfeOfdm_CCCfg *CCCfg, s32 CCID, u32 *CCSeqBitmap, XDfeOfdm_CarrierCfg *CarrierCfg)
 Returns the current CCID carrier configuration. More...
 
u32 XDfeOfdm_RemoveCCfromCCCfg (XDfeOfdm *InstancePtr, XDfeOfdm_CCCfg *CCCfg, s32 CCID, XDfeOfdm_FTSequence *FTSeq)
 Removes specified CCID from a local CC configuration structure. More...
 
u32 XDfeOfdm_UpdateCCinCCCfg (XDfeOfdm *InstancePtr, XDfeOfdm_CCCfg *CCCfg, s32 CCID, const XDfeOfdm_CarrierCfg *CarrierCfg, XDfeOfdm_FTSequence *FTSeq)
 Updates a specified CCID with the specified configuration to a local CC configuration structure. More...
 
void XDfeOfdm_SetNextCCCfg (const XDfeOfdm *InstancePtr, const XDfeOfdm_CCCfg *NextCCCfg)
 Sets the next CC configuration. More...
 
u32 XDfeOfdm_EnableCCUpdateTrigger (const XDfeOfdm *InstancePtr)
 Reads the triggers and sets the enable bit of Update trigger. More...
 
u32 XDfeOfdm_SetNextCCCfgAndTrigger (const XDfeOfdm *InstancePtr, XDfeOfdm_CCCfg *CCCfg)
 Writes local CC configuration to the shadow (NEXT) registers and triggers copying from shadow to operational registers. More...
 
void XDfeOfdm_GetTriggersCfg (const XDfeOfdm *InstancePtr, XDfeOfdm_TriggerCfg *TriggerCfg)
 Returns the current trigger configuration. More...
 
void XDfeOfdm_SetTriggersCfg (const XDfeOfdm *InstancePtr, XDfeOfdm_TriggerCfg *TriggerCfg)
 Sets the trigger configuration. More...
 
void XDfeOfdm_SetTuserOutFrameLocation (const XDfeOfdm *InstancePtr, u32 TuserOutFrameLocation)
 Sets the TUSER Framing bit location register where bit location indicates which bit to be used for sending the framing information on DL_DOUT IF and M_AXIS_TBASE IF. More...
 
u32 XDfeOfdm_GetTuserOutFrameLocation (const XDfeOfdm *InstancePtr)
 Gets the TUSER Framing bit location register where bit location indicates which bit to be used for sending framing information on DL_DOUT IF and M_AXIS_TBASE IF. More...
 
void XDfeOfdm_SetTuserCCUpdateTrigger (const XDfeOfdm *InstancePtr, u32 TuserCCUpdateTrigger)
 Sets the TUSER CC Update trigger where bit location would indicate which bit to be used for sending cc update triggering on TUSER (DL_DOUT IF and M_AXIS_TBASE IF). More...
 
u32 XDfeOfdm_GetTuserCCUpdateTrigger (const XDfeOfdm *InstancePtr)
 Gets the TUSER CC Update trigger. More...
 
void XDfeOfdm_SetTUserDelay (const XDfeOfdm *InstancePtr, u32 Delay)
 Sets the delay to be added to TUSER and TLAST (delay matched through the IP). More...
 
u32 XDfeOfdm_GetTUserDelay (const XDfeOfdm *InstancePtr)
 Reads the delay, which will be added to TUSER and TLAST (delay matched through the IP). More...
 
u32 XDfeOfdm_GetDataLatency (const XDfeOfdm *InstancePtr)
 Returns data latency. More...
 
void XDfeOfdm_GetVersions (const XDfeOfdm *InstancePtr, XDfeOfdm_Version *SwVersion, XDfeOfdm_Version *HwVersion)
 Gets the driver version. More...