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, u32 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...
 
u32 XRFdc_CfgInitialize (XRFdc *InstancePtr, XRFdc_Config *ConfigPtr)
 Initializes a specific XRFdc instance such that the driver is ready to use. More...
 
u32 XRFdc_StartUp (XRFdc *InstancePtr, u32 Type, int Tile_Id)
 The API Restarts the requested tile. More...
 
u32 XRFdc_Shutdown (XRFdc *InstancePtr, u32 Type, int Tile_Id)
 The API stops the tile as requested. More...
 
u32 XRFdc_Reset (XRFdc *InstancePtr, u32 Type, int Tile_Id)
 The API resets the requested tile. More...
 
u32 XRFdc_GetIPStatus (XRFdc *InstancePtr, XRFdc_IPStatus *IPStatusPtr)
 The API returns the IP status. More...
 
u32 XRFdc_GetBlockStatus (XRFdc *InstancePtr, u32 Type, u32 Tile_Id, u32 Block_Id, XRFdc_BlockStatus *BlockStatusPtr)
 The API returns the requested block status. More...
 
u32 XRFdc_SetMixerSettings (XRFdc *InstancePtr, u32 Type, u32 Tile_Id, u32 Block_Id, XRFdc_Mixer_Settings *MixerSettingsPtr)
 The API is used to update various mixer settings, fine, coarse, NCO etc. More...
 
u32 XRFdc_GetMixerSettings (XRFdc *InstancePtr, u32 Type, u32 Tile_Id, u32 Block_Id, XRFdc_Mixer_Settings *MixerSettingsPtr)
 The API returns back Mixer/NCO settings to the caller. More...
 
u32 XRFdc_SetQMCSettings (XRFdc *InstancePtr, u32 Type, u32 Tile_Id, u32 Block_Id, XRFdc_QMC_Settings *QMCSettingsPtr)
 This API is used to update various QMC settings, eg gain, phase, offset etc. More...
 
u32 XRFdc_GetQMCSettings (XRFdc *InstancePtr, u32 Type, u32 Tile_Id, u32 Block_Id, XRFdc_QMC_Settings *QMCSettingsPtr)
 QMC settings are returned back to the caller through this API. More...
 
u32 XRFdc_GetCoarseDelaySettings (XRFdc *InstancePtr, u32 Type, u32 Tile_Id, u32 Block_Id, XRFdc_CoarseDelay_Settings *CoarseDelaySettingsPtr)
 Coarse delay settings are returned back to the caller. More...
 
u32 XRFdc_SetCoarseDelaySettings (XRFdc *InstancePtr, u32 Type, u32 Tile_Id, u32 Block_Id, XRFdc_CoarseDelay_Settings *CoarseDelaySettingsPtr)
 Coarse delay settings passed are used to update the corresponding block level registers. More...
 
u32 XRFdc_GetInterpolationFactor (XRFdc *InstancePtr, u32 Tile_Id, u32 Block_Id, u32 *InterpolationFactorPtr)
 Interpolation factor are returned back to the caller. More...
 
u32 XRFdc_GetDecimationFactor (XRFdc *InstancePtr, u32 Tile_Id, u32 Block_Id, u32 *DecimationFactorPtr)
 Decimation factor are returned back to the caller. More...
 
u32 XRFdc_GetFabWrVldWords (XRFdc *InstancePtr, u32 Type, u32 Tile_Id, u32 Block_Id, u32 *FabricDataRatePtr)
 This API returns the the number of fabric write valid words requested for the block. More...
 
u32 XRFdc_GetFabRdVldWords (XRFdc *InstancePtr, u32 Type, u32 Tile_Id, u32 Block_Id, u32 *FabricDataRatePtr)
 This API returns the the number of fabric read valid words requested for the block. More...
 
u32 XRFdc_SetFabRdVldWords (XRFdc *InstancePtr, u32 Tile_Id, u32 Block_Id, u32 FabricRdVldWords)
 Fabric data rate for the requested ADC block is set by writing to the corresponding register. More...
 
u32 XRFdc_SetFabWrVldWords (XRFdc *InstancePtr, u32 Tile_Id, u32 Block_Id, u32 FabricWrVldWords)
 Fabric data rate for the requested DAC block is set by writing to the corresponding register. More...
 
u32 XRFdc_GetThresholdSettings (XRFdc *InstancePtr, u32 Tile_Id, u32 Block_Id, XRFdc_Threshold_Settings *ThresholdSettingsPtr)
 Threshold settings are read from the corresponding registers and are passed back to the caller. More...
 
u32 XRFdc_SetThresholdSettings (XRFdc *InstancePtr, u32 Tile_Id, u32 Block_Id, XRFdc_Threshold_Settings *ThresholdSettingsPtr)
 Threshold settings are updated into the relevant registers. More...
 
u32 XRFdc_SetDecoderMode (XRFdc *InstancePtr, u32 Tile_Id, u32 Block_Id, u32 DecoderMode)
 Decoder mode is updated into the relevant registers. More...
 
u32 XRFdc_UpdateEvent (XRFdc *InstancePtr, u32 Type, u32 Tile_Id, u32 Block_Id, u32 Event)
 This function will trigger the update event for an event. More...
 
u32 XRFdc_GetDecoderMode (XRFdc *InstancePtr, u32 Tile_Id, u32 Block_Id, u32 *DecoderModePtr)
 Decoder mode is read and returned back. More...
 
u32 XRFdc_ResetNCOPhase (XRFdc *InstancePtr, u32 Type, u32 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...
 
u32 XRFdc_IntrHandler (u32 Vector, void *XRFdcPtr)
 This function is the interrupt handler for the driver. More...
 
void XRFdc_IntrClr (XRFdc *InstancePtr, u32 Type, u32 Tile_Id, u32 Block_Id, u32 IntrMask)
 This function clear the interrupts. More...
 
u32 XRFdc_GetIntrStatus (XRFdc *InstancePtr, u32 Type, u32 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, u32 Tile_Id, u32 Block_Id, u32 IntrMask)
 This function clears the interrupt mask. More...
 
void XRFdc_IntrEnable (XRFdc *InstancePtr, u32 Type, u32 Tile_Id, u32 Block_Id, u32 IntrMask)
 This function sets the interrupt mask. More...
 
u32 XRFdc_SetThresholdClrMode (XRFdc *InstancePtr, u32 Tile_Id, u32 Block_Id, u32 ThresholdToUpdate, u32 ClrMode)
 This API sets the threshold clear mode. More...
 
u32 XRFdc_ThresholdStickyClear (XRFdc *InstancePtr, u32 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...
 
u32 XRFdc_SetupFIFO (XRFdc *InstancePtr, u32 Type, int Tile_Id, u8 Enable)
 Enable and Disable the ADC/DAC FIFO. More...
 
u32 XRFdc_GetFIFOStatus (XRFdc *InstancePtr, u32 Type, u32 Tile_Id, u8 *EnablePtr)
 Current status of ADC/DAC FIFO. More...
 
u32 XRFdc_SetNyquistZone (XRFdc *InstancePtr, u32 Type, u32 Tile_Id, u32 Block_Id, u32 NyquistZone)
 Set the Nyquist zone. More...
 
u32 XRFdc_GetNyquistZone (XRFdc *InstancePtr, u32 Type, u32 Tile_Id, u32 Block_Id, u32 *NyquistZonePtr)
 Get the Nyquist zone. More...
 
u32 XRFdc_GetOutputCurr (XRFdc *InstancePtr, u32 Tile_Id, u32 Block_Id, u32 *OutputCurrPtr)
 Get Output Current for DAC block. More...
 
u32 XRFdc_SetDecimationFactor (XRFdc *InstancePtr, u32 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, u32 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, u32 Tile_Id, u16 FabClkDiv)
 This API is to set the divider for clock fabric out. More...
 
u32 XRFdc_SetCalibrationMode (XRFdc *InstancePtr, u32 Tile_Id, u32 Block_Id, u8 CalibrationMode)
 This API is to set the Calibration mode. More...
 
u32 XRFdc_GetCalibrationMode (XRFdc *InstancePtr, u32 Tile_Id, u32 Block_Id, u8 *CalibrationModePtr)
 This API is to get the Calibration mode. More...
 
u32 XRFdc_GetClockSource (XRFdc *InstancePtr, u32 Type, u32 Tile_Id, u32 *ClockSourcePtr)
 This function gets Clock source. More...
 
u32 XRFdc_GetPLLLockStatus (XRFdc *InstancePtr, u32 Type, u32 Tile_Id, u32 *LockStatusPtr)
 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 *EnablePtr)
 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 *ModePtr)
 This function is used to get the Link Coupling mode. More...
 
u32 XRFdc_GetFabClkOutDiv (XRFdc *InstancePtr, u32 Type, u32 Tile_Id, u16 *FabClkDivPtr)
 This API is to get the divider for clock fabric out. More...
 
s32 XRFdc_GetDeviceNameByDeviceId (char *DevNamePtr, u16 DevId)
 Traverse "/sys/bus/platform/device" directory, to find RFDC device entry, corresponding to provided device id. More...