sdiaud
Xilinx SDK 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...
 

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_ResetCoreEn (XSdiAud *InstancePtr, u8 RstCoreEnable)
 This function is used to soft reset the XSdiAud core. More...
 
void XSdiAud_ResetReg (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_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_SetLineStd (XSdiAud *InstancePtr, XSdiAud_LineStnd XSdiAud_LS)
 This Audio Embed function sets the line standard. More...
 
void XSdiAud_Emb_EnExtrnLine (XSdiAud *InstancePtr, u8 XSdiAud_En)
 This Audio Embed function enables the external line number. More...
 
void XSdiAud_Ext_SetClkPhase (XSdiAud *InstancePtr, u8 XSdiAud_SetClkP)
 This Audio Extract function sets the clock phase. More...
 
void XSdiAud_Ext_GetChStat (XSdiAud *InstancePtr, u8 *ChStatBuf)
 This function reads all the Channel Status registers and writes to a buffer. More...
 
XSdiAud_GrpsPrsnt XSdiAud_DetAudGrp (XSdiAud *InstancePtr)
 This function detects the Audio groups and returns the groups which are present. More...
 
void XSdiAud_SetCh (XSdiAud *InstancePtr, XSdiAud_GrpNum XSdiStrtGrpNum, XSdiAud_NumOfCh XSdiANumOfCh)
 This function sets the channel count by taking the number of channels and the start group number as the arguments. More...
 
void XSdiAud_Ext_Mute (XSdiAud *InstancePtr, XSdiAud_GrpNum XSdiAGrpNum, XSdiAud_GrpXChNum XSdiAChNum)
 This function mutes a specific channel in a specific group. More...
 
u32 XSdiAud_Ext_GetActCh (XSdiAud *InstancePtr)
 This function reads the control packet status register and returns the 16 bit active channel field related to the 4 groups. More...
 
void XSdiAud_Emb_RateCntrlEn (XSdiAud *InstancePtr, u8 XSdiAud_RCE)
 This Audio Embed function controls the rate at which audio samples are inserted on to the SDI stream. More...
 

Handler Types

enum  XSdiAud_HandlerType {
  XSDIAUD_HANDLER_AUD_GRP_CHNG_DET = 0, XSDIAUD_HANDLER_CNTRL_PKT_CHNG_DET, XSDIAUD_HANDLER_CHSTAT_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_SAMPRATE0, XSDIAUD_SAMPRATE1, XSDIAUD_SAMPRATE2 }
 Sampling Rates. More...
 
enum  XSdiAud_SampSize { XSDIAUD_SAMPSIZE0, XSDIAUD_SAMPSIZE1 }
 Sample Size. 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_LineStnd
 Line standard. 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
}
 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
}
 Channel Number. More...
 
enum  XSdiAud_GrpsPrsnt {
  XSDIAUD_GROUP_0 = 0, XSDIAUD_GROUP_1, XSDIAUD_GROUP_2, XSDIAUD_GROUP_1_2,
  XSDIAUD_GROUP_3, XSDIAUD_GROUP_1_3, XSDIAUD_GROUP_2_3, XSDIAUD_GROUP_1_2_3,
  XSDIAUD_GROUP_4, XSDIAUD_GROUP_1_4, XSDIAUD_GROUP_2_4, XSDIAUD_GROUP_1_2_4,
  XSDIAUD_GROUP_3_4, XSDIAUD_GROUP_1_3_4, XSDIAUD_GROUP_2_3_4, XSDIAUD_GROUP_ALL,
  XSDIAUD_NUM_CHANNELS
}
 Groups that are present (i.e. More...
 
typedef void(* XSdiAud_Callback) (void *CallbackRef)