sdiaud
Vitis Drivers API Documentation
xsdiaud.h File Reference

Data Structures

struct  XSdiAud_Config
 This typedef contains configuration information for the XSdiAud. More...
 
struct  XSdiAud
 The XSdiAud driver instance data. More...
 
struct  XSdiAud_Emb_Vid_Props
 This structure contains the video properties. More...
 

Functions

XSdiAud_ConfigXSdiAud_LookupConfig (u16 DeviceId)
 This function returns a reference to an XSdiAud_Config structure based on the core id, DeviceId. More...
 
int XSdiAud_Initialize (XSdiAud *InstancePtr, u16 DeviceId)
 Initializes a specific XsdiAud instance such that the driver is ready to use. More...
 
int XSdiAud_CfgInitialize (XSdiAud *InstancePtr, XSdiAud_Config *CfgPtr, UINTPTR EffectiveAddr)
 This function initializes the XSdiAud. More...
 
void XSdiAud_Enable (XSdiAud *InstancePtr, u8 Enable)
 This function enables/disables the XSdiAud. More...
 
int XSdiAud_SelfTest (XSdiAud *InstancePtr)
 Runs a self-test on the driver/device. More...
 
void XSdiAud_CoreReset (XSdiAud *InstancePtr, u8 RstCoreEnable)
 This function is used to soft reset the XSdiAud core. More...
 
void XSdiAud_ConfigReset (XSdiAud *InstancePtr)
 This function is used to soft reset the XSdiAud registers.It resets all the configuration registers. More...
 
void XSdiAud_IntrHandler (void *InstancePtr)
 This function is the interrupt handler for the XSdiaud driver. More...
 
int XSdiAud_SetHandler (XSdiAud *InstancePtr, XSdiAud_HandlerType HandlerType, XSdiAud_Callback FuncPtr, void *CallbackRef)
 This function installs an asynchronous callback function for the given HandlerType. More...
 
u32 XSdiAud_GetCoreVersion (XSdiAud *InstancePtr)
 This function reads the core version register and returns its value. More...
 
u32 XSdiAud_GetIntStat (XSdiAud *InstancePtr)
 This function reads the Interrupt Status register and returns its value. More...
 
void XSdiAud_Emb_SetSmpRate (XSdiAud *InstancePtr, XSdiAud_SampRate XSdiAud_SRate)
 This Audio Embed function sets the sampling rate. More...
 
void XSdiAud_Emb_SetSmpSize (XSdiAud *InstancePtr, XSdiAud_SampSize XSdiAud_SSize)
 This Audio Embed function sets the sample size in only SD Mode. More...
 
void XSdiAud_Emb_SetAsx (XSdiAud *InstancePtr, XSdiAud_Asx XSdiAud_Async_data_flag)
 This Audio Embed function sets the asynchronous data flag. More...
 
void XSdiAud_SetAesChPair (XSdiAud *InstancePtr, XSdiAud_AesChPair XSdiAud_ACP)
 This Audio function selects the aes channel pair. More...
 
void XSdiAud_Emb_SetVidProps (XSdiAud *InstancePtr, XSdiAud_Emb_Vid_Props *XSdiAud_VP)
 This Audio Embed function sets the video properties of the image like transport scan, transport rate and transport family. More...
 
void XSdiAud_Emb_EnExtrnLine (XSdiAud *InstancePtr, u8 XSdiAud_En)
 This Audio Embed function enables the external line number. More...
 
void XSdiAud_Ext_DisableClkPhase (XSdiAud *InstancePtr, u8 XSdiAud_SetClkP)
 This Audio Extract function sets the clock phase. More...
 
void XSdiAud_GetChStat (XSdiAud *InstancePtr, u8 *ChStatBuf)
 This function reads all the Channel Status registers and writes to a buffer. More...
 
void XSdiAud_GetActGrpStatus (XSdiAud *InstancePtr, XSdiAud_ActGrpSt *GrpSt)
 This function detects the Audio groups and returns the groups which are present. More...
 
void XSdiAud_SetCh (XSdiAud *InstancePtr, u32 XSdiAudSetChMask)
 This function sets the channel valid register. More...
 
void XSdiAud_MuteCh (XSdiAud *InstancePtr, u32 XSdiAudMuteChMask)
 This function mutes a specific channel based on the mask provided. More...
 
u8 XSdiAud_Ext_GetFIFOOvFlwStatus (XSdiAud *InstancePtr)
 This function reads the FIFO overflow status. More...
 
void XSdiAud_Ext_GetAcChStatus (XSdiAud *InstancePtr, XSdiAud_ActChSt *ActChSt)
 This function reads the active channel information decoded from audio control packet. More...
 
void XSdiAud_Ext_GetSRStatus (XSdiAud *InstancePtr, XSdiAud_SRSt *SRSt)
 This function reads the sample rate information decoded from audio control packet (0 - 48 KHz, 1 - 44.1 KHz, 2 - 32 KHz, 3 - Reserved). More...
 
void XSdiAud_Ext_GetAsxStatus (XSdiAud *InstancePtr, XSdiAud_AsxSt *AsxSt)
 This function reads the ASX information decoded from audio control packet. More...
 

Handler Types

enum  XSdiAud_HandlerType {
  XSDIAUD_HANDLER_AUD_GRP_CHNG_DET = 0, XSDIAUD_HANDLER_ACT_CH_CHNG_DET, XSDIAUD_HANDLER_SAMPLE_RATE_CHNG_DET, XSDIAUD_HANDLER_ASX_CHNG_DET,
  XSDIAUD_HANDLER_AES_CS_UPDATE_DET, XSDIAUD_HANDLER_AES_CS_CHANGE_DET, XSDIAUD_HANDLER_CHSTAT_CHNG_DET, XSDIAUD_HANDLER_VIDEO_PROP_CHNG_DET,
  XSDIAUD_HANDLER_FIFO_OVRFLW_DET, XSDIAUD_HANDLER_PARITY_ERR_DET, XSDIAUD_HANDLER_CHECKSUM_ERR_DET, XSDIAUD_NUM_HANDLERS
}
 These constants specify different types of handlers and is used to differentiate interrupt requests from the XSdiAud peripheral. More...
 
enum  XSdiAud_GrpNum { XSDIAUD_GROUP1 = 1, XSDIAUD_GROUP2, XSDIAUD_GROUP3, XSDIAUD_GROUP4 }
 Group numbers. More...
 
enum  XSdiAud_SampRate { XSDIAUD_SMPLRATE_48, XSDIAUD_SMPLRATE_44, XSDIAUD_SMPLRATE_32 }
 Sampling Rates. More...
 
enum  XSdiAud_SampSize { XSDIAUD_SAMPSIZE0, XSDIAUD_SAMPSIZE1 }
 Sample Size. More...
 
enum  XSdiAud_AesChPair
 AES channel pair. More...
 
enum  XSdiAud_Asx
 Asynchronous data flag. More...
 
enum  XSdiAud_GrpXChNum { XSDIAUD_GROUPX_CHANNEL1 = 1, XSDIAUD_GROUPX_CHANNEL2, XSDIAUD_GROUPX_CHANNEL3, XSDIAUD_GROUPX_CHANNEL4 }
 Channel number in any Group. More...
 
enum  XSdiAud_VidRate
 Video Rate. More...
 
enum  XSdiAud_VidScan
 Video Scan. More...
 
enum  XSdiAud_VidFam
 Video Family. More...
 
enum  XSdiAud_NumOfCh {
  XSDIAUD_1_CHANNELS = 1, XSDIAUD_2_CHANNELS, XSDIAUD_3_CHANNELS, XSDIAUD_4_CHANNELS,
  XSDIAUD_5_CHANNELS, XSDIAUD_6_CHANNELS, XSDIAUD_7_CHANNELS, XSDIAUD_8_CHANNELS,
  XSDIAUD_9_CHANNELS, XSDIAUD_10_CHANNELS, XSDIAUD_11_CHANNELS, XSDIAUD_12_CHANNELS,
  XSDIAUD_13_CHANNELS, XSDIAUD_14_CHANNELS, XSDIAUD_15_CHANNELS, XSDIAUD_16_CHANNELS,
  XSDIAUD_32_CHANNELS = 32
}
 Number of Channels. More...
 
enum  XSdiAud_ChNum {
  XSDIAUD_CHANNEL1 = 1, XSDIAUD_CHANNEL2, XSDIAUD_CHANNEL3, XSDIAUD_CHANNEL4,
  XSDIAUD_CHANNEL5, XSDIAUD_CHANNEL6, XSDIAUD_CHANNEL7, XSDIAUD_CHANNEL8,
  XSDIAUD_CHANNEL9, XSDIAUD_CHANNEL10, XSDIAUD_CHANNEL11, XSDIAUD_CHANNEL12,
  XSDIAUD_CHANNEL13, XSDIAUD_CHANNEL14, XSDIAUD_CHANNEL15, XSDIAUD_CHANNEL16,
  XSDIAUD_CHANNEL17, XSDIAUD_CHANNEL18, XSDIAUD_CHANNEL19, XSDIAUD_CHANNEL20,
  XSDIAUD_CHANNEL21, XSDIAUD_CHANNEL22, XSDIAUD_CHANNEL23, XSDIAUD_CHANNEL24,
  XSDIAUD_CHANNEL25, XSDIAUD_CHANNEL26, XSDIAUD_CHANNEL27, XSDIAUD_CHANNEL28,
  XSDIAUD_CHANNEL29, XSDIAUD_CHANNEL30, XSDIAUD_CHANNEL31, XSDIAUD_CHANNEL32
}
 Channel Number. More...
 
typedef void(* XSdiAud_Callback )(void *CallbackRef)