rfdc
Xilinx SDK Drivers API Documentation
xrfdc.h File Reference

Data Structures

struct  XRFdc_PLL_Settings
 PLL settings. More...
 
struct  XRFdc_QMC_Settings
 QMC settings. More...
 
struct  XRFdc_CoarseDelay_Settings
 Coarse delay settings. More...
 
struct  XRFdc_Mixer_Settings
 Mixer settings. More...
 
struct  XRFdc_Threshold_Settings
 ADC block Threshold settings. More...
 
struct  XRFdc_TileStatus
 RFSoC Tile status. More...
 
struct  XRFdc_IPStatus
 RFSoC Data converter IP status. More...
 
struct  XRFdc_BlockStatus
 status of DAC or ADC blocks in the RFSoC Data converter. More...
 
struct  XRFdc_DACBlock_AnalogDataPath_Config
 DAC block Analog DataPath Config settings. More...
 
struct  XRFdc_DACBlock_DigitalDataPath_Config
 DAC block Digital DataPath Config settings. More...
 
struct  XRFdc_ADCBlock_AnalogDataPath_Config
 ADC block Analog DataPath Config settings. More...
 
struct  XRFdc_ADCBlock_DigitalDataPath_Config
 DAC block Digital DataPath Config settings. More...
 
struct  XRFdc_DACTile_Config
 DAC Tile Config structure. More...
 
struct  XRFdc_ADCTile_Config
 ADC Tile Config Structure. More...
 
struct  XRFdc_Config
 RFdc Config Structure. More...
 
struct  XRFdc_DACBlock_AnalogDataPath
 DAC Block Analog DataPath Structure. More...
 
struct  XRFdc_DACBlock_DigitalDataPath
 DAC Block Digital DataPath Structure. More...
 
struct  XRFdc_ADCBlock_AnalogDataPath
 ADC Block Analog DataPath Structure. More...
 
struct  XRFdc_ADCBlock_DigitalDataPath
 ADC Block Digital DataPath Structure. More...
 
struct  XRFdc_DAC_Tile
 DAC Tile Structure. More...
 
struct  XRFdc_ADC_Tile
 ADC Tile Structure. More...
 
struct  XRFdc
 RFdc Structure. More...
 

Typedefs

typedef void(* XRFdc_StatusHandler) (void *CallBackRef, u32 Type, int Tile_Id, u32 Block_Id, u32 StatusEvent)
 The handler data type allows the user to define a callback function to respond to interrupt events in the system. More...
 

Functions

XRFdc_ConfigXRFdc_LookupConfig (u16 DeviceId)
 Looks up the device configuration based on the unique device ID. More...
 
int XRFdc_CfgInitialize (XRFdc *InstancePtr, XRFdc_Config *Config)
 Initializes a specific XRFdc instance such that the driver is ready to use. More...
 
int XRFdc_StartUp (XRFdc *InstancePtr, u32 Type, int Tile_Id)
 The API Restarts the requested tile. More...
 
int XRFdc_Shutdown (XRFdc *InstancePtr, u32 Type, int Tile_Id)
 The API stops the tile as requested. More...
 
int XRFdc_Reset (XRFdc *InstancePtr, u32 Type, int Tile_Id)
 The API resets the requested tile. More...
 
int XRFdc_GetIPStatus (XRFdc *InstancePtr, XRFdc_IPStatus *IPStatus)
 The API returns the IP status. More...
 
int XRFdc_GetBlockStatus (XRFdc *InstancePtr, u32 Type, int Tile_Id, u32 Block_Id, XRFdc_BlockStatus *BlockStatus)
 The API returns the requested block status. More...
 
int XRFdc_SetMixerSettings (XRFdc *InstancePtr, u32 Type, int Tile_Id, u32 Block_Id, XRFdc_Mixer_Settings *Mixer_Settings)
 The API is used to update various mixer settings, fine, coarse, NCO etc. More...
 
int XRFdc_GetMixerSettings (XRFdc *InstancePtr, u32 Type, int Tile_Id, u32 Block_Id, XRFdc_Mixer_Settings *Mixer_Settings)
 The API returns back Mixer/NCO settings to the caller. More...
 
int XRFdc_SetQMCSettings (XRFdc *InstancePtr, u32 Type, int Tile_Id, u32 Block_Id, XRFdc_QMC_Settings *QMC_Settings)
 This API is used to update various QMC settings, eg gain, phase, offset etc. More...
 
int XRFdc_GetQMCSettings (XRFdc *InstancePtr, u32 Type, int Tile_Id, u32 Block_Id, XRFdc_QMC_Settings *QMC_Settings)
 QMC settings are returned back to the caller through this API. More...
 
int XRFdc_GetCoarseDelaySettings (XRFdc *InstancePtr, u32 Type, int Tile_Id, u32 Block_Id, XRFdc_CoarseDelay_Settings *CoarseDelay_Settings)
 Coarse delay settings are returned back to the caller. More...
 
int XRFdc_SetCoarseDelaySettings (XRFdc *InstancePtr, u32 Type, int Tile_Id, u32 Block_Id, XRFdc_CoarseDelay_Settings *CoarseDelay_Settings)
 Coarse delay settings passed are used to update the corresponding block level registers. More...
 
int XRFdc_GetInterpolationFactor (XRFdc *InstancePtr, int Tile_Id, u32 Block_Id, u32 *InterpolationFactor)
 Interpolation factor are returned back to the caller. More...
 
int XRFdc_GetDecimationFactor (XRFdc *InstancePtr, int Tile_Id, u32 Block_Id, u32 *DecimationFactor)
 Decimation factor are returned back to the caller. More...
 
int XRFdc_GetFabWrVldWords (XRFdc *InstancePtr, u32 Type, int Tile_Id, u32 Block_Id, u32 *FabricDataRate)
 This API returns the the number of fabric write valid words requested for the block. More...
 
int XRFdc_GetFabRdVldWords (XRFdc *InstancePtr, u32 Type, int Tile_Id, u32 Block_Id, u32 *FabricDataRate)
 This API returns the the number of fabric read valid words requested for the block. More...
 
int XRFdc_SetFabRdVldWords (XRFdc *InstancePtr, int Tile_Id, u32 Block_Id, u32 FabricDataRate)
 Fabric data rate for the requested ADC block is set by writing to the corresponding register. More...
 
int XRFdc_SetFabWrVldWords (XRFdc *InstancePtr, int Tile_Id, u32 Block_Id, u32 FabricDataRate)
 Fabric data rate for the requested DAC block is set by writing to the corresponding register. More...
 
int XRFdc_GetThresholdSettings (XRFdc *InstancePtr, int Tile_Id, u32 Block_Id, XRFdc_Threshold_Settings *Threshold_Settings)
 Threshold settings are read from the corresponding registers and are passed back to the caller. More...
 
int XRFdc_SetThresholdSettings (XRFdc *InstancePtr, int Tile_Id, u32 Block_Id, XRFdc_Threshold_Settings *Threshold_Settings)
 Threshold settings are updated into the relevant registers. More...
 
int XRFdc_SetDecoderMode (XRFdc *InstancePtr, int Tile_Id, u32 Block_Id, u32 DecoderMode)
 Decoder mode is updated into the relevant registers. More...
 
int XRFdc_UpdateEvent (XRFdc *InstancePtr, u32 Type, int Tile_Id, u32 Block_Id, u32 Event)
 This function will trigger the update event for an event. More...
 
int XRFdc_GetDecoderMode (XRFdc *InstancePtr, int Tile_Id, u32 Block_Id, u32 *DecoderMode)
 Decoder mode is read and returned back. More...
 
int XRFdc_ResetNCOPhase (XRFdc *InstancePtr, u32 Type, int Tile_Id, u32 Block_Id)
 Resets the NCO phase of the current block phase accumulator. More...
 
void XRFdc_DumpRegs (XRFdc *InstancePtr, u32 Type, int Tile_Id)
 This Prints the offset of the register along with the content. More...
 
u32 XRFdc_MultiBand (XRFdc *InstancePtr, u32 Type, u32 Tile_Id, u8 DigitalDataPathMask, u32 DataType, u32 DataConverterMask)
 User-level API to setup multiband configuration. More...
 
int XRFdc_IntrHandler (int Vector, void *XRFdcPtr)
 This function is the interrupt handler for the driver. More...
 
void XRFdc_IntrClr (XRFdc *InstancePtr, u32 Type, int Tile_Id, u32 Block_Id, u32 IntrMask)
 This function clear the interrupts. More...
 
u32 XRFdc_GetIntrStatus (XRFdc *InstancePtr, u32 Type, int Tile_Id, u32 Block_Id)
 This function returns the interrupt status read from Interrupt Status Register(ISR). More...
 
void XRFdc_IntrDisable (XRFdc *InstancePtr, u32 Type, int Tile_Id, u32 Block_Id, u32 IntrMask)
 This function clears the interrupt mask. More...
 
void XRFdc_IntrEnable (XRFdc *InstancePtr, u32 Type, int Tile_Id, u32 Block_Id, u32 IntrMask)
 This function sets the interrupt mask. More...
 
int XRFdc_SetThresholdClrMode (XRFdc *InstancePtr, int Tile_Id, u32 Block_Id, u32 ThresholdToUpdate, u32 ClrMode)
 This API sets the threshold clear mode. More...
 
int XRFdc_ThresholdStickyClear (XRFdc *InstancePtr, int Tile_Id, u32 Block_Id, u32 ThresholdToUpdate)
 This API is to clear the Sticky bit in threshold config registers. More...
 
void XRFdc_SetStatusHandler (XRFdc *InstancePtr, void *CallBackRef, XRFdc_StatusHandler FunctionPtr)
 This function sets the status callback function, the status handler, which the driver calls when it encounters conditions that should be reported to the higher layer software. More...
 
int XRFdc_SetupFIFO (XRFdc *InstancePtr, u32 Type, int Tile_Id, u8 Enable)
 Enable and Disable the ADC/DAC FIFO. More...
 
int XRFdc_GetFIFOStatus (XRFdc *InstancePtr, u32 Type, int Tile_Id, u8 *Enable)
 Current status of ADC/DAC FIFO. More...
 
int XRFdc_SetNyquistZone (XRFdc *InstancePtr, u32 Type, int Tile_Id, u32 Block_Id, u32 NyquistZone)
 Set the Nyquist zone. More...
 
int XRFdc_GetNyquistZone (XRFdc *InstancePtr, u32 Type, int Tile_Id, u32 Block_Id, u32 *NyquistZone)
 Get the Nyquist zone. More...
 
int XRFdc_GetOutputCurr (XRFdc *InstancePtr, int Tile_Id, u32 Block_Id, int *OutputCurr)
 Get Output Current for DAC block. More...
 
u32 XRFdc_SetDecimationFactor (XRFdc *InstancePtr, int Tile_Id, u32 Block_Id, u32 DecimationFactor)
 This API is to set the decimation factor and also update the FIFO write words w.r.t to decimation factor. More...
 
u32 XRFdc_SetInterpolationFactor (XRFdc *InstancePtr, int Tile_Id, u32 Block_Id, u32 InterpolationFactor)
 This API is to set the interpolation factor and also update the FIFO read words w.r.t to interpolation factor. More...
 
u32 XRFdc_SetFabClkOutDiv (XRFdc *InstancePtr, u32 Type, int Tile_Id, u16 FabClkDiv)
 This API is to set the divider for clock fabric out. More...
 
u32 XRFdc_SetCalibrationMode (XRFdc *InstancePtr, int Tile_Id, u32 Block_Id, u8 CalibrationMode)
 This API is to set the Calibration mode. More...
 
u32 XRFdc_GetCalibrationMode (XRFdc *InstancePtr, int Tile_Id, u32 Block_Id, u8 *CalibrationMode)
 This API is to get the Calibration mode. More...
 
u32 XRFdc_GetClockSource (XRFdc *InstancePtr, u32 Type, u32 Tile_Id, u32 *ClockSource)
 This function gets Clock source. More...
 
u32 XRFdc_GetPLLLockStatus (XRFdc *InstancePtr, u32 Type, u32 Tile_Id, u32 *LockStatus)
 This function gets PLL lock status. More...
 
u32 XRFdc_DynamicPLLConfig (XRFdc *InstancePtr, u32 Type, u32 Tile_Id, u8 Source, double RefClkFreq, double SamplingRate)
 This function used for dynamically switch between internal PLL and external clcok source and configuring the internal PLL. More...
 
u32 XRFdc_SetInvSincFIR (XRFdc *InstancePtr, u32 Tile_Id, u32 Block_Id, u16 Enable)
 This API is used to set enable/disable the Inverse-Sinc filter. More...
 
u32 XRFdc_GetInvSincFIR (XRFdc *InstancePtr, u32 Tile_Id, u32 Block_Id, u16 *Enable)
 This API is used to get the Inverse-Sinc filter status(enable/disable). More...
 
u32 XRFdc_GetLinkCoupling (XRFdc *InstancePtr, u32 Tile_Id, u32 Block_Id, u32 *Mode)
 This function is used to get the Link Coupling mode. More...