axivdma
Vitis Drivers API Documentation
xaxivdma.h File Reference

Data Structures

struct  XAxiVdma_Config
 This typedef contains the hardware configuration information for a VDMA device. More...
 
struct  XAxiVdma_DmaSetup
 The XAxiVdma_DmaSetup structure contains all the necessary information to start a frame write or read. More...
 
struct  XAxiVdma_FrameCounter
 The XAxiVdmaFrameCounter structure contains the interrupt threshold settings for both the transmit and the receive channel. More...
 
struct  XAxiVdma_ChannelCallBack
 Channel callback functions. More...
 
struct  XAxiVdma
 The XAxiVdma driver instance data. More...
 

Macros

#define XAXIVDMA_WRITE   1
 VDMA data transfer direction. More...
 
#define XAXIVDMA_READ   2
 DMA transfer from memory. More...
 
#define XAXIVDMA_CHAN_FSYNC   0
 Frame Sync Source Selection. More...
 
#define XAXIVDMA_EXTERNAL_GENLOCK   0
 GenLock Source Selection. More...
 
#define XAXIVDMA_GENLOCK_MASTER   0
 GenLock Mode Constants. More...
 
#define XAXIVDMA_HANDLER_GENERAL   1
 Interrupt type for setting up callback. More...
 
#define XAXIVDMA_HANDLER_ERROR   2
 Error Interrupt Type. More...
 
#define XAXIVDMA_DEVICE_READY   0x11111111
 Flag to signal that device is ready to be used. More...
 
#define XAXIVDMA_ENABLE_DBG_THRESHOLD_REG   0x01
 Debug Configuration Parameter Constants (C_ENABLE_DEBUG_INFO_*) More...
 

Typedefs

typedef void(* XAxiVdma_CallBack )(void *CallBackRef, u32 InterruptTypes)
 Callback type for general interrupts. More...
 
typedef void(* XAxiVdma_ErrorCallBack )(void *CallBackRef, u32 ErrorMask)
 Callback type for Error interrupt. More...
 

Functions

XAxiVdma_ConfigXAxiVdma_LookupConfig (u16 DeviceId)
 Look up the hardware configuration for a device instance. More...
 
int XAxiVdma_CfgInitialize (XAxiVdma *InstancePtr, XAxiVdma_Config *CfgPtr, UINTPTR EffectiveAddr)
 Initialize the driver with hardware configuration. More...
 
void XAxiVdma_Reset (XAxiVdma *InstancePtr, u16 Direction)
 This function resets one DMA channel. More...
 
int XAxiVdma_ResetNotDone (XAxiVdma *InstancePtr, u16 Direction)
 This function checks one DMA channel for reset completion. More...
 
int XAxiVdma_IsBusy (XAxiVdma *InstancePtr, u16 Direction)
 Check whether a DMA channel is busy. More...
 
u32 XAxiVdma_CurrFrameStore (XAxiVdma *InstancePtr, u16 Direction)
 Get the current frame that hardware is working on. More...
 
u32 XAxiVdma_GetVersion (XAxiVdma *InstancePtr)
 Get the version of the hardware. More...
 
u32 XAxiVdma_GetStatus (XAxiVdma *InstancePtr, u16 Direction)
 Get the status of a channel. More...
 
int XAxiVdma_SetLineBufThreshold (XAxiVdma *InstancePtr, int LineBufThreshold, u16 Direction)
 Configure Line Buffer Threshold. More...
 
int XAxiVdma_StartParking (XAxiVdma *InstancePtr, int FrameIndex, u16 Direction)
 Start parking mode on a certain frame. More...
 
void XAxiVdma_StopParking (XAxiVdma *InstancePtr, u16 Direction)
 Exit parking mode, the channel will return to circular buffer mode. More...
 
void XAxiVdma_StartFrmCntEnable (XAxiVdma *InstancePtr, u16 Direction)
 Start frame count enable on one channel. More...
 
void XAxiVdma_IntrEnable (XAxiVdma *InstancePtr, u32 IntrType, u16 Direction)
 Enable specific interrupts for a channel. More...
 
void XAxiVdma_IntrDisable (XAxiVdma *InstancePtr, u32 IntrType, u16 Direction)
 Disable specific interrupts for a channel. More...
 
u32 XAxiVdma_IntrGetPending (XAxiVdma *InstancePtr, u16 Direction)
 Get the pending interrupts of a channel. More...
 
void XAxiVdma_IntrClear (XAxiVdma *InstancePtr, u32 IntrType, u16 Direction)
 Clear the pending interrupts specified by the bit mask. More...
 
int XAxiVdma_SetBdAddrs (XAxiVdma *InstancePtr, u32 BdAddrPhys, u32 BdAddrVirt, int NumBds, u16 Direction)
 Set BD addresses to be different. More...
 
XAxiVdma_Channel * XAxiVdma_GetChannel (XAxiVdma *InstancePtr, u16 Direction)
 Get a channel. More...
 
int XAxiVdma_SetFrmStore (XAxiVdma *InstancePtr, u8 FrmStoreNum, u16 Direction)
 Set the number of frame store buffers to use. More...
 
void XAxiVdma_GetFrmStore (XAxiVdma *InstancePtr, u8 *FrmStoreNum, u16 Direction)
 Get the number of frame store buffers to use. More...
 
int XAxiVdma_FsyncSrcSelect (XAxiVdma *InstancePtr, u32 Source, u16 Direction)
 Configure Frame Sync Source and valid only when C_USE_FSYNC is enabled. More...
 
int XAxiVdma_GenLockSourceSelect (XAxiVdma *InstancePtr, u32 Source, u16 Direction)
 Configure Gen Lock Source. More...
 
int XAxiVdma_GetDmaChannelErrors (XAxiVdma *InstancePtr, u16 Direction)
 Check for DMA Channel Errors. More...
 
int XAxiVdma_ClearDmaChannelErrors (XAxiVdma *InstancePtr, u16 Direction, u32 ErrorMask)
 Clear DMA Channel Errors. More...
 
int XAxiVdma_MaskS2MMErrIntr (XAxiVdma *InstancePtr, u32 ErrorMask, u16 Direction)
 Masks the S2MM error interrupt for the provided error mask value. More...
 
int XAxiVdma_StartWriteFrame (XAxiVdma *InstancePtr, XAxiVdma_DmaSetup *DmaConfigPtr)
 Start a write operation. More...
 
int XAxiVdma_StartReadFrame (XAxiVdma *InstancePtr, XAxiVdma_DmaSetup *DmaConfigPtr)
 Start a read operation. More...
 
int XAxiVdma_DmaConfig (XAxiVdma *InstancePtr, u16 Direction, XAxiVdma_DmaSetup *DmaConfigPtr)
 Configure one DMA channel using the configuration structure. More...
 
int XAxiVdma_DmaSetBufferAddr (XAxiVdma *InstancePtr, u16 Direction, UINTPTR *BufferAddrSet)
 Configure buffer addresses for one DMA channel. More...
 
int XAxiVdma_DmaStart (XAxiVdma *InstancePtr, u16 Direction)
 Start one DMA channel. More...
 
void XAxiVdma_DmaStop (XAxiVdma *InstancePtr, u16 Direction)
 Stop one DMA channel. More...
 
void XAxiVdma_DmaRegisterDump (XAxiVdma *InstancePtr, u16 Direction)
 Dump registers of one DMA channel. More...
 
int XAxiVdma_SetFrameCounter (XAxiVdma *InstancePtr, XAxiVdma_FrameCounter *CfgPtr)
 Set the frame counter and delay counter for both channels. More...
 
void XAxiVdma_GetFrameCounter (XAxiVdma *InstancePtr, XAxiVdma_FrameCounter *CfgPtr)
 Get the frame counter and delay counter for both channels. More...
 
void XAxiVdma_ReadIntrHandler (void *InstancePtr)
 Interrupt handler for the read channel. More...
 
void XAxiVdma_WriteIntrHandler (void *InstancePtr)
 Interrupt handler for the write channel. More...
 
int XAxiVdma_SetCallBack (XAxiVdma *InstancePtr, u32 HandlerType, void *CallBackFunc, void *CallBackRef, u16 Direction)
 Set call back function and call back reference pointer for one channel. More...
 
int XAxiVdma_Selftest (XAxiVdma *InstancePtr)
 Runs a self-test on the driver/device. More...