dfeprach
Vitis Drivers API Documentation
xdfeprach.h File Reference

Data Structures

struct  XDfePrach_Version
 Logicore version. More...
 
struct  XDfePrach_Trigger
 Trigger configuration. More...
 
struct  XDfePrach_TriggerCfg
 All IP triggers. More...
 
struct  XDfePrach_CCSequence
 Defines a CCID sequence. More...
 
struct  XDfePrach_ModelParameters
 PRACH model parameters. More...
 
struct  XDfePrach_Cfg
 Configuration. More...
 
struct  XDfePrach_Init
 Initialization, "one-time" configuration parameters. More...
 
struct  XDfePrach_InternalCarrierCfg
 Internal Configuration for a single CC. More...
 
struct  XDfePrach_CarrierCfg
 Configuration for a single CC. More...
 
struct  XDfePrach_CCCfg
 Full CC configuration. More...
 
struct  XDfePrach_NCO
 NCO Config. More...
 
struct  XDfePrach_DDCCfg
 Decimator Config. More...
 
struct  XDfePrach_Schedule
 Static Schedule for a RACH Channel. More...
 
struct  XDfePrach_InternalChannelCfg
 Full RC configuration. More...
 
struct  XDfePrach_MixerStatusOverflow
 PRACH status. More...
 
struct  XDfePrach_DecimatorStatusOverflow
 PRACH decimator overflow status. More...
 
struct  XDfePrach_MixerStatusOverrun
 PRACH mixer overflow status. More...
 
struct  XDfePrach_DecimatorStatusOverrun
 PRACH decimator overrun status. More...
 
struct  XDfePrach_Status
 PRACH mixer overrun status. More...
 
struct  XDfePrach_StatusMask
 Event status and interrupt mask. More...
 
struct  XDfePrach_Config
 PRACH Config Structure. More...
 
struct  XDfePrach
 PRACH driver object - global data storage. More...
 

Macros

#define XDFEPRACH_MAX_NUM_INSTANCES   (1U)
 Maximum number of driver instances running at the same time. More...
 
#define XST_SUCCESS   (0U)
 Success flag. More...
 
#define XST_FAILURE   (1U)
 Failure flag. More...
 
#define XDFEPRACH_NODE_NAME_MAX_LENGTH   (50U)
 Node name maximum length. More...
 
#define XDFEPRACH_CC_NUM_MAX   (16)
 Maximum CC number. More...
 
#define XDFEPRACH_RC_NUM_MAX   (16U)
 Maximum number of RACH channels. More...
 
#define XDFEPRACH_NCO_NUM_MAX   (16U)
 Maximum NCO number. More...
 
#define XDFEPRACH_ANT_NUM_MAX   (8U)
 Maximum anntena number. More...
 
#define XDFEPRACH_SEQ_LENGTH_MAX   (16U)
 Maximum CCID sequence length. More...
 
#define XDFEPRACH_BAND_ID_MAX   (3U)
 Maximum Band Id number. More...
 

Enumerations

enum  XDfePrach_StateId {
  XDFEPRACH_STATE_NOT_READY = 0, XDFEPRACH_STATE_READY, XDFEPRACH_STATE_RESET, XDFEPRACH_STATE_CONFIGURED,
  XDFEPRACH_STATE_INITIALISED, XDFEPRACH_STATE_OPERATIONAL
}
 

Functions

XDfePrachXDfePrach_InstanceInit (const char *DeviceNodeName)
 API initialises an instance of the driver. More...
 
void XDfePrach_InstanceClose (XDfePrach *InstancePtr)
 API closes the instance of a PRACH driver and moves the state machine to a Not Ready state. More...
 
void XDfePrach_Reset (XDfePrach *InstancePtr)
 Resets PRACH and puts block into a reset state. More...
 
void XDfePrach_Configure (XDfePrach *InstancePtr, XDfePrach_Cfg *Cfg)
 Reads configuration from device tree/xparameters.h and IP registers. More...
 
void XDfePrach_Initialize (XDfePrach *InstancePtr, XDfePrach_Init *Init)
 DFE PRACH driver one time initialisation also moves the state machine to an Initialised state. More...
 
void XDfePrach_Activate (XDfePrach *InstancePtr, bool EnableLowPower)
 Activates PRACH and moves the state machine to an Activated state. More...
 
void XDfePrach_Deactivate (XDfePrach *InstancePtr)
 Deactivates PRACH and moves the state machine to Initialised state. More...
 
XDfePrach_StateId XDfePrach_GetStateID (XDfePrach *InstancePtr)
 Gets a state machine state id. More...
 
void XDfePrach_GetCurrentCCCfg (const XDfePrach *InstancePtr, XDfePrach_CCCfg *CurrCCCfg)
 Returns the current CC configuration. More...
 
void XDfePrach_GetEmptyCCCfg (const XDfePrach *InstancePtr, XDfePrach_CCCfg *CCCfg)
 Returns configuration structure CCCfg with CCCfg->Sequence.Length value set in XDfePrach_Configure(), array CCCfg->Sequence.CCID[] members are set to not used value (-1) and the other CCCfg members are set to 0. More...
 
void XDfePrach_GetCarrierCfgMB (const XDfePrach *InstancePtr, XDfePrach_CCCfg *CCCfg, s32 CCID, u32 *CCSeqBitmap, XDfePrach_CarrierCfg *CarrierCfg, const u32 BandId)
 Returns the current CCID carrier configuration from selected Band. More...
 
void XDfePrach_GetCarrierCfg (const XDfePrach *InstancePtr, XDfePrach_CCCfg *CCCfg, s32 CCID, u32 *CCSeqBitmap, XDfePrach_CarrierCfg *CarrierCfg)
 Returns the current CCID carrier configuration from Band 0. More...
 
void XDfePrach_SetAntennaCfgInCCCfg (const XDfePrach *InstancePtr, XDfePrach_CCCfg *CCCfg, u32 *AntennaCfg)
 Set antenna configuration in CC configuration container. More...
 
u32 XDfePrach_AddCCtoCCCfgMB (XDfePrach *InstancePtr, XDfePrach_CCCfg *CCCfg, s32 CCID, u32 CCSeqBitmap, const XDfePrach_CarrierCfg *CarrierCfg, const u32 BandId)
 Adds specified CCID, with specified configuration, to a local CC configuration structure for the chosen Band. More...
 
u32 XDfePrach_AddCCtoCCCfg (XDfePrach *InstancePtr, XDfePrach_CCCfg *CCCfg, s32 CCID, u32 CCSeqBitmap, const XDfePrach_CarrierCfg *CarrierCfg)
 Adds specified CCID, with specified configuration, to a local CC configuration structure on Band which Id = 0. More...
 
u32 XDfePrach_RemoveCCfromCCCfgMB (XDfePrach *InstancePtr, XDfePrach_CCCfg *CCCfg, s32 CCID, const u32 BandId)
 Removes specified CCID from a local CC configuration structure for selected band. More...
 
u32 XDfePrach_RemoveCCfromCCCfg (XDfePrach *InstancePtr, XDfePrach_CCCfg *CCCfg, s32 CCID)
 Removes specified CCID from a local CC configuration structure for BandId=0. More...
 
u32 XDfePrach_UpdateCCinCCCfgMB (const XDfePrach *InstancePtr, XDfePrach_CCCfg *CCCfg, s32 CCID, const XDfePrach_CarrierCfg *CarrierCfg, const u32 BandId)
 Updates specified CCID, with specified configuration to a local CC configuration structure for selected band. More...
 
u32 XDfePrach_UpdateCCinCCCfg (const XDfePrach *InstancePtr, XDfePrach_CCCfg *CCCfg, s32 CCID, const XDfePrach_CarrierCfg *CarrierCfg)
 Updates specified CCID, with specified configuration to a local CC configuration structure for BandId=0. More...
 
u32 XDfePrach_SetNextCfg (const XDfePrach *InstancePtr, const XDfePrach_CCCfg *NextCCCfg, XDfePrach_RCCfg *NextRCCfg)
 Writes local CC configuration to the shadow (NEXT) registers and triggers copying from shadow to operational registers. More...
 
void XDfePrach_GetCurrentRCCfg (const XDfePrach *InstancePtr, XDfePrach_RCCfg *RCCfg)
 Reads all of the RC configuration back. More...
 
void XDfePrach_GetEmptyRCCfg (const XDfePrach *InstancePtr, XDfePrach_RCCfg *RCCfg)
 Returns the empty CC configuration. More...
 
void XDfePrach_GetChannelCfg (const XDfePrach *InstancePtr, XDfePrach_RCCfg *RCCfg, s32 RCId, XDfePrach_ChannelCfg *ChannelCfg)
 Gets RACH channel configuration. More...
 
u32 XDfePrach_AddRCtoRCCfgMB (const XDfePrach *InstancePtr, XDfePrach_RCCfg *CurrentRCCfg, s32 CCID, u32 RCId, u32 RachChan, XDfePrach_DDCCfg *DdcCfg, XDfePrach_NCO *NcoCfg, XDfePrach_Schedule *StaticSchedule, XDfePrach_CCCfg *NextCCCfg, u32 BandId)
 Adds a new RC entry to the RC_CONFIGURATION. More...
 
u32 XDfePrach_AddRCtoRCCfgMBDynamic (const XDfePrach *InstancePtr, XDfePrach_RCCfg *CurrentRCCfg, s32 CCID, u32 RCId, u32 RachChan, XDfePrach_CCCfg *NextCCCfg, u32 BandId)
 Adds a new RC entry to the RC_CONFIGURATION in dynamic mode. More...
 
u32 XDfePrach_AddRCtoRCCfg (const XDfePrach *InstancePtr, XDfePrach_RCCfg *CurrentRCCfg, s32 CCID, u32 RCId, u32 RachChan, XDfePrach_DDCCfg *DdcCfg, XDfePrach_NCO *NcoCfg, XDfePrach_Schedule *StaticSchedule, XDfePrach_CCCfg *NextCCCfg)
 Adds a new RC entry to the RC_CONFIGURATION. More...
 
u32 XDfePrach_AddRCtoRCCfgDynamic (const XDfePrach *InstancePtr, XDfePrach_RCCfg *CurrentRCCfg, s32 CCID, u32 RCId, u32 RachChan, XDfePrach_CCCfg *NextCCCfg)
 Adds a new RC entry to the RC_CONFIGURATION in dynamic mode. More...
 
u32 XDfePrach_RemoveRCfromRCCfg (const XDfePrach *InstancePtr, XDfePrach_RCCfg *CurrentRCCfg, u32 RCId)
 Removes an RC configuration entry from the RC_CONFIGURATION. More...
 
void XDfePrach_UpdateRCinRCCfgMB (const XDfePrach *InstancePtr, XDfePrach_RCCfg *CurrentRCCfg, s32 CCID, u32 RCId, u32 RachChan, XDfePrach_DDCCfg *DdcCfg, XDfePrach_NCO *NcoCfg, XDfePrach_Schedule *StaticSchedule, XDfePrach_CCCfg *NextCCCfg, u32 BandId)
 Updates an RC entry to the RC_CONFIGURATION on a selected band. More...
 
void XDfePrach_UpdateRCinRCCfg (const XDfePrach *InstancePtr, XDfePrach_RCCfg *CurrentRCCfg, s32 CCID, u32 RCId, u32 RachChan, XDfePrach_DDCCfg *DdcCfg, XDfePrach_NCO *NcoCfg, XDfePrach_Schedule *StaticSchedule, XDfePrach_CCCfg *NextCCCfg)
 Updates an RC entry to the RC_CONFIGURATION on band id 0. More...
 
u32 XDfePrach_MoveRC (const XDfePrach *InstancePtr, u32 RCId, u32 ToChannel)
 Moves the specified RCID from one NCO & Decimation Channel to another NCO Decimation Channel. More...
 
void XDfePrach_GetTriggersCfg (const XDfePrach *InstancePtr, XDfePrach_TriggerCfg *TriggerCfg)
 Returns the current trigger configuration. More...
 
void XDfePrach_SetTriggersCfg (const XDfePrach *InstancePtr, XDfePrach_TriggerCfg *TriggerCfg)
 Sets trigger configuration. More...
 
void XDfePrach_GetCC (const XDfePrach *InstancePtr, bool Next, s32 CCID, XDfePrach_CarrierCfg *CarrierCfg)
 Gets the specified CCID carrier configuration from either Current or Next for band id 0. More...
 
void XDfePrach_GetCCMB (const XDfePrach *InstancePtr, bool Next, s32 CCID, XDfePrach_CarrierCfg *CarrierCfg, u32 BandId)
 Gets the specified CCID carrier configuration from either Current or Next for selected band in multi-band mode. More...
 
void XDfePrach_GetStatus (const XDfePrach *InstancePtr, XDfePrach_Status *Status)
 Gets the PRACH Status. More...
 
void XDfePrach_ClearStatus (const XDfePrach *InstancePtr)
 Clears the PRACH status registers. More...
 
void XDfePrach_CapturePhase (const XDfePrach *InstancePtr)
 Captures phase for all phase accumulators in associated AXI-lite registers. More...
 
void XDfePrach_GetCapturePhase (const XDfePrach *InstancePtr, u32 RachChan, XDfePrach_NCO *CapturedPhase)
 Reads the captured phase for a given Rach Channel. More...
 
void XDfePrach_GetInterruptMask (const XDfePrach *InstancePtr, XDfePrach_InterruptMask *Mask)
 Gets interrupt mask status. More...
 
void XDfePrach_SetInterruptMask (const XDfePrach *InstancePtr, const XDfePrach_InterruptMask *Mask)
 Sets interrupt mask. More...
 
void XDfePrach_GetEventStatus (const XDfePrach *InstancePtr, XDfePrach_StatusMask *Status)
 Gets event status. More...
 
void XDfePrach_ClearEventStatus (const XDfePrach *InstancePtr, const XDfePrach_StatusMask *Status)
 Clears event status. More...
 
void XDfePrach_SetTUserDelay (const XDfePrach *InstancePtr, u32 Delay)
 Sets the delay, which will be added to TUSER and TLAST (delay matched through the IP). More...
 
void XDfePrach_SetTUserDelayMB (const XDfePrach *InstancePtr, u32 Delay, u32 BandId)
 Sets the delay of specified band in multiband mode, which will be added to TUSER and TLAST (delay matched through the IP). More...
 
u32 XDfePrach_GetTUserDelay (const XDfePrach *InstancePtr)
 Reads the delay, which will be added to TUSER and TLAST (delay matched through the IP). More...
 
u32 XDfePrach_GetTUserDelayMB (const XDfePrach *InstancePtr, u32 BandId)
 Reads the delay of specified band in multiband mode, which will be added to TUSER and TLAST (delay matched through the IP). More...
 
u32 XDfePrach_GetTDataDelay (const XDfePrach *InstancePtr)
 Returns data latency. More...
 
u32 XDfePrach_GetTDataDelayMB (const XDfePrach *InstancePtr, u32 BandId)
 Returns data latency of specified band in multiband mode. More...
 
void XDfePrach_GetVersions (const XDfePrach *InstancePtr, XDfePrach_Version *SwVersion, XDfePrach_Version *HwVersion)
 This API gets the driver and HW design version. More...