rfdc
Xilinx SDK Drivers API Documentation
xrfdc.h File Reference

Data Structures

struct  XRFdc_PLL_Settings
 PLL settings. More...
 
struct  XRFdc_Tile_Clock_Settings
 ClkIntraTile Settings. More...
 
struct  XRFdc_Distribution
 Clk Distribution. More...
 
struct  XRFdc_Distribution_Settings
 Clk Distribution Settings. More...
 
struct  XRFdc_Signal_Detector_Settings
 ADC Signal Detect 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_Calibration_Coefficients
 RFSoC Calibration coefficients generic struct. More...
 
struct  XRFdc_DSA_Settings
 RFSoC DSA settings. More...
 
struct  XRFdc_Cal_Freeze_Settings
 RFSoC Calibration freeze settings struct. 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_RegisterMetal (XRFdc *InstancePtr, u16 DeviceId, struct metal_device **DevicePtr)
 Register/open the deviceand map RFDC to the IO region. 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 MixerInOutDataType, 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...
 
u32 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, u32 *IntrStsPtr)
 This function returns the interrupt status read from Interrupt Status Register(ISR). More...
 
u32 XRFdc_IntrDisable (XRFdc *InstancePtr, u32 Type, u32 Tile_Id, u32 Block_Id, u32 IntrMask)
 This function clears the interrupt mask. More...
 
u32 XRFdc_IntrEnable (XRFdc *InstancePtr, u32 Type, u32 Tile_Id, u32 Block_Id, u32 IntrMask)
 This function sets the interrupt mask. More...
 
u32 XRFdc_GetEnabledInterrupts (XRFdc *InstancePtr, u32 Type, u32 Tile_Id, u32 Block_Id, u32 *IntrMask)
 This function gets a mask of enabled interrupts. 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_GetPLLConfig (XRFdc *InstancePtr, u32 Type, u32 Tile_Id, XRFdc_PLL_Settings *PLLSettings)
 This API is used to get the PLL Configurations. 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 Mode)
 This API is used to set the mode for the Inverse-Sinc filter. More...
 
u32 XRFdc_GetInvSincFIR (XRFdc *InstancePtr, u32 Tile_Id, u32 Block_Id, u16 *ModePtr)
 This API is used to get the Inverse-Sinc filter mode. 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...
 
u32 XRFdc_SetDither (XRFdc *InstancePtr, u32 Tile_Id, u32 Block_Id, u32 Mode)
 This function is used to set the IM3 Dither mode. More...
 
u32 XRFdc_GetDither (XRFdc *InstancePtr, u32 Tile_Id, u32 Block_Id, u32 *ModePtr)
 This function is used to get the IM3 Dither mode. More...
 
u32 XRFdc_SetClkDistribution (XRFdc *InstancePtr, XRFdc_Distribution_Settings *DistributionSettingsPtr)
 This function is used to set the clock distribution. More...
 
u32 XRFdc_GetClkDistribution (XRFdc *InstancePtr, XRFdc_Distribution_Settings *DistributionSettingsPtr)
 This function is used to get the clock distribution. More...
 
u32 XRFdc_SetDataPathMode (XRFdc *InstancePtr, u32 Tile_Id, u32 Block_Id, u32 Mode)
 This API is to set the DAC Datapath mode. More...
 
u32 XRFdc_GetDataPathMode (XRFdc *InstancePtr, u32 Tile_Id, u32 Block_Id, u32 *ModePtr)
 This API is to get the DAC Datapath mode. More...
 
u32 XRFdc_SetIMRPassMode (XRFdc *InstancePtr, u32 Tile_Id, u32 Block_Id, u32 Mode)
 This API is to set the DAC Image Reject Filter Pass mode. More...
 
u32 XRFdc_GetIMRPassMode (XRFdc *InstancePtr, u32 Tile_Id, u32 Block_Id, u32 *ModePtr)
 This API is to get the DAC Image Reject Filter Pass mode. More...
 
u32 XRFdc_SetSignalDetector (XRFdc *InstancePtr, u32 Tile_Id, u32 Block_Id, XRFdc_Signal_Detector_Settings *SettingsPtr)
 This function is used to set the ADC Signal Detector Settings. More...
 
u32 XRFdc_GetSignalDetector (XRFdc *InstancePtr, u32 Tile_Id, u32 Block_Id, XRFdc_Signal_Detector_Settings *SettingsPtr)
 This function is used to get the ADC Signal Detector Settings. More...
 
u32 XRFdc_DisableCoefficientsOverride (XRFdc *InstancePtr, u32 Tile_Id, u32 Block_Id, u32 CalibrationBlock)
 This function is used to disable Calibration Coefficients override. More...
 
u32 XRFdc_SetCalCoefficients (XRFdc *InstancePtr, u32 Tile_Id, u32 Block_Id, u32 CalibrationBlock, XRFdc_Calibration_Coefficients *CoeffPtr)
 This function is used to set the ADC Calibration Coefficients. More...
 
u32 XRFdc_GetCalCoefficients (XRFdc *InstancePtr, u32 Tile_Id, u32 Block_Id, u32 CalibrationBlock, XRFdc_Calibration_Coefficients *CoeffPtr)
 This function is used to get the ADC Calibration Coefficients. More...
 
u32 XRFdc_SetCalFreeze (XRFdc *InstancePtr, u32 Tile_Id, u32 Block_Id, XRFdc_Cal_Freeze_Settings *CalFreezePtr)
 This function is used to set calibration freeze settings. More...
 
u32 XRFdc_GetCalFreeze (XRFdc *InstancePtr, u32 Tile_Id, u32 Block_Id, XRFdc_Cal_Freeze_Settings *CalFreezePtr)
 This function is used to get calibration freeze settings and status. More...
 
u32 XRFdc_SetDACVOP (XRFdc *InstancePtr, u32 Tile_Id, u32 Block_Id, u32 uACurrent)
 Set Output Current for DAC block. More...
 
u32 XRFdc_SetDACCompMode (XRFdc *InstancePtr, u32 Tile_Id, u32 Block_Id, u32 Enable)
 Sets VOP compatibility mode. More...
 
u32 XRFdc_GetDACCompMode (XRFdc *InstancePtr, u32 Tile_Id, u32 Block_Id, u32 *EnabledPtr)
 Gets VOP compatibility mode. More...
 
u32 XRFdc_SetDSA (XRFdc *InstancePtr, u32 Tile_Id, u32 Block_Id, XRFdc_DSA_Settings *SettingsPtr)
 Set DSA for ADC block. More...
 
u32 XRFdc_GetDSA (XRFdc *InstancePtr, u32 Tile_Id, u32 Block_Id, XRFdc_DSA_Settings *SettingsPtr)
 Get DSA for ADC block. 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...