sdiaud
Vitis Drivers API Documentation
Overview

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...
 

Macros

#define BIT(n)   (1 << (n))
 Audio Embed total number of bytes in the 6 channel status registers. More...
 
#define XSdiAud_IsEmbed(InstancePtr)
 This macro returns the XSdiAud operating mode. More...
 
#define XSdiAud_GetSdiStd(InstancePtr)
 This macro returns the XSdiAud UHD-SDI standard. More...
 
#define XSdiAud_GetCh(InstancePtr)
 This macro returns the XSdiAud Channel field of the GUI register. More...
 

Functions

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...
 
void XSdiAud_GetChStat (XSdiAud *InstancePtr, u8 *ChStatBuf)
 This function reads all the Channel Status registers and writes to a buffer. 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_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...
 
void XSdiAud_ConfigReset (XSdiAud *InstancePtr)
 This function is used to soft reset the XSdiAud registers.It resets all the configuration registers. More...
 
void XSdiAud_CoreReset (XSdiAud *InstancePtr, u8 RstCoreEnable)
 This function is used to soft reset the XSdiAud core. More...
 
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_SelfTest (XSdiAud *InstancePtr)
 Runs a self-test on the driver/device. 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...
 

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)
 

Register Map

Register offsets for the XSdiAud Embed/Extract device

#define XSDIAUD_CNTRL_REG_OFFSET   0x00
 SDI Audio Module control register offset. More...
 
#define XSDIAUD_SOFT_RST_REG_OFFSET   0x04
 SDI Audio Soft reset register offset. More...
 
#define XSDIAUD_INT_EN_REG_OFFSET   0x0C
 SDI Audio Interrupt enable register offset. More...
 
#define XSDIAUD_CORE_VERSION_REG_OFFSET   0x08
 SDI Audio Core version register offset. More...
 
#define XSDIAUD_INT_STS_REG_OFFSET   0x10
 SDI Audio Interrupt status register offset. More...
 
#define XSDIAUD_EMB_VID_CNTRL_REG_OFFSET   0X14
 SDI Audio Embed Video control register offset. More...
 
#define XSDIAUD_AUD_CNTRL_REG_OFFSET   0x18
 SDI Audio Audio control register offset. More...
 
#define XSDIAUD_VALID_CH_REG_OFFSET   0x20
 SDI Audio valid channels register offset. More...
 
#define XSDIAUD_MUTE_CH_REG_OFFSET   0x30
 SDI Audio mute channels register offset. More...
 
#define XSDIAUD_ACT_GRP_PRES_REG_OFFSET   0X40
 SDI Audio group presence register offset. More...
 
#define XSDIAUD_EXT_FIFO_OVFLW_ST_REG_OFFSET   0X44
 SDI Audio Extract FIFO overflow status register offset. More...
 
#define XSDIAUD_EXT_CH_STAT0_REG_OFFSET   0X48
 SDI Audio Extract channel status register0 offset. More...
 
#define XSDIAUD_ACT_CH_STAT_REG_OFFSET   0X60
 SDI Audio active channel status register offset. More...
 
#define XSDIAUD_SR_STAT_REG_OFFSET   0X70
 SDI Audio sample rate status register offset. More...
 
#define XSDIAUD_ASX_STAT_REG_OFFSET   0X80
 SDI Audio async channel pair status register offset. More...
 
#define XSDIAUD_GUI_PARAM_REG_OFFSET   0XFC
 SDI Audio GUI parameters register offset. More...
 

Core Configuration register masks and shifts of XSdiAud device

#define XSDIAUD_CNTRL_EN_SHIFT   (0)
 SDI Audio Embed enable or Extract enable shift. More...
 
#define XSDIAUD_CNTRL_EN_MASK   (1 << XSDIAUD_CNTRL_EN_SHIFT)
 SDI Audio Embed enable or Extract enable mask. More...
 
#define XSDIAUD_SOFT_RST_ACLK_SHIFT   (0)
 SDI Audio Embed soft reset aclk shift. More...
 
#define XSDIAUD_SOFT_RST_ACLK_MASK   (1 << XSDIAUD_SOFT_RST_ACLK_SHIFT)
 SDI Audio Embed soft reset aclk mask. More...
 
#define XSDIAUD_SOFT_RST_SCLK_SHIFT   (1)
 SDI Audio soft reset sclk shift. More...
 
#define XSDIAUD_SOFT_RST_SCLK_MASK   (1 << XSDIAUD_SOFT_RST_SCLK_SHIFT)
 SDI Audio soft reset sclk mask. More...
 
#define XSDIAUD_VER_SHIFT   (0)
 SDI Audio version shift. More...
 
#define XSDIAUD_VER_MASK   (0xFF << XSDIAUD_VER_SHIFT)
 SDI Audio version mask. More...
 
#define XSDIAUD_EMB_VID_CNT_FAMILY_SHIFT   (0)
 SDI Audio Embed video control family shift. More...
 
#define XSDIAUD_EMB_VID_CNT_FAMILY_MASK   (0xF << XSDIAUD_EMB_VID_CNT_FAMILY_SHIFT)
 SDI Audio Embed video control family mask. More...
 
#define XSDIAUD_EMB_VID_CNT_RATE_SHIFT   (4)
 SDI Audio Embed video control rate shift. More...
 
#define XSDIAUD_EMB_VID_CNT_RATE_MASK   (0xF << XSDIAUD_EMB_VID_CNT_RATE_SHIFT)
 SDI Audio Embed video control rate mask. More...
 
#define XSDIAUD_EMB_VID_CNT_SCAN_SHIFT   (8)
 SDI Audio Embed video control scan shift. More...
 
#define XSDIAUD_EMB_VID_CNT_SCAN_MASK   (1 << XSDIAUD_EMB_VID_CNT_SCAN_SHIFT)
 SDI Audio Embed video control scan mask. More...
 
#define XSDIAUD_EMB_VID_CNT_ELE_SHIFT   (16)
 SDI Audio Embed video control external line enable shift. More...
 
#define XSDIAUD_EMB_VID_CNT_ELE_MASK   (1 << XSDIAUD_EMB_VID_CNT_ELE_SHIFT)
 SDI Audio Embed video control external line enable mask. More...
 
#define XSDIAUD_EMB_AUD_CNT_SR_SHIFT   (0)
 SDI Audio Embed audio control SD sample rate shift. More...
 
#define XSDIAUD_EMB_AUD_CNT_SR_MASK   (0x7 << XSDIAUD_EMB_AUD_CNT_SR_SHIFT)
 SDI Audio Embed audio control SD sample rate mask. More...
 
#define XSDIAUD_EMB_AUD_CNT_SS_SHIFT   (3)
 SDI Audio Embed audio control SD sample size shift. More...
 
#define XSDIAUD_EMB_AUD_CNT_SS_MASK   (1 << XSDIAUD_EMB_AUD_CNT_SS_SHIFT)
 SDI Audio Embed audio control SD sample size mask. More...
 
#define XSDIAUD_EMB_AUD_CNT_ASX_SHIFT   (4)
 SDI Audio Embed audio control asynchronous data flag shift. More...
 
#define XSDIAUD_EMB_AUD_CNT_ASX_MASK   (1 << XSDIAUD_EMB_AUD_CNT_ASX_SHIFT)
 SDI Audio Embed audio control asynchronous data flag mask. More...
 
#define XSDIAUD_EMB_AUD_CNT_AES_CH_PAIR_SHIFT   (16)
 SDI Audio Embed audio control aes channel pair shift. More...
 
#define XSDIAUD_EMB_AUD_CNT_AES_CH_PAIR_MASK   (0xF << XSDIAUD_EMB_AUD_CNT_AES_CH_PAIR_SHIFT)
 SDI Audio Embed audio control aes channel pair mask. More...
 
#define XSDIAUD_EMB_AXIS_CHCOUNT_SHIFT   (0)
 SDI Audio Embed AXIS channel count shift. More...
 
#define XSDIAUD_EMB_AXIS_CHCOUNT_MASK   (0x1F << XSDIAUD_EMB_AXIS_CHCOUNT_SHIFT)
 SDI Audio Embed AXIS channel count mask. More...
 
#define XSDIAUD_EMD_MUX_CNT_GS_SHIFT   (0)
 SDI Audio Embed Mux group select shift. More...
 
#define XSDIAUD_EMD_MUX_CNT_GS_MASK   (0x3 << XSDIAUD_EMD_MUX_CNT_GS_SHIFT)
 SDI Audio Embed Mux group select mask. More...
 
#define XSDIAUD_GRP_PRESNT_SHIFT   (0)
 SDI Audio group present value shift. More...
 
#define XSDIAUD_GRP_PRESNT_MASK   (0xFF << XSDIAUD_GRP_PRESNT_SHIFT)
 SDI Audio group present value mask. More...
 
#define XSDIAUD_GRP_PRESNTV_SHIFT   (4)
 SDI Audio group present valid shift. More...
 
#define XSDIAUD_GRP_PRESNTV_MASK   (1 << XSDIAUD_GRP_PRESNTV_SHIFT)
 SDI Audio group present valid mask. More...
 
#define XSDIAUD_INT_EN_AUD_STAT_UPDATE_SHIFT   (8)
 SDI Audio interrupt status update shift. More...
 
#define XSDIAUD_INT_EN_AUD_STAT_UPDATE_MASK   (1 << XSDIAUD_INT_EN_AUD_STAT_UPDATE_SHIFT)
 SDI Audio interrupt status update mask. More...
 
#define XSDIAUD_INT_EN_GRP_CHANGE_SHIFT   (9)
 SDI Audio interrupt group change detect shift. More...
 
#define XSDIAUD_INT_EN_GRP_CHANGE_MASK   (1 << XSDIAUD_INT_EN_GRP_CHANGE_SHIFT)
 SDI Audio interrupt group change detect mask. More...
 
#define XSDIAUD_INT_EN_CH_CHANGE_SHIFT   (10)
 SDI Audio interrupt active channel change detect shift. More...
 
#define XSDIAUD_INT_EN_CH_CHANGE_MASK   (1 << XSDIAUD_INT_EN_CH_CHANGE_SHIFT)
 SDI Audio interrupt active channel change detect mask. More...
 
#define XSDIAUD_INT_EN_SMP_RATE_CHANGE_SHIFT   (11)
 SDI Audio interrupt sample rate change detect shift. More...
 
#define XSDIAUD_INT_EN_SMP_RATE_CHANGE_MASK   (1 << XSDIAUD_INT_EN_SMP_RATE_CHANGE_SHIFT)
 SDI Audio interrupt sample rate change detect mask. More...
 
#define XSDIAUD_INT_EN_ASX_CHANGE_SHIFT   (12)
 SDI Audio interrupt asynchronous data flag value change detect shift. More...
 
#define XSDIAUD_INT_EN_ASX_CHANGE_MASK   (1 << XSDIAUD_INT_EN_ASX_CHANGE_SHIFT)
 SDI Audio interrupt asynchronous data flag value change detect mask. More...
 
#define XSDIAUD_INT_EN_AES_CS_UPDATE_SHIFT   (16)
 SDI Audio interrupt aes channel status value update shift. More...
 
#define XSDIAUD_INT_EN_AES_CS_UPDATE_MASK   (1 << XSDIAUD_INT_EN_AES_CS_UPDATE_SHIFT)
 SDI Audio interrupt aes channel status value update mask. More...
 
#define XSDIAUD_INT_EN_AES_CS_CHANGE_SHIFT   (17)
 SDI Audio interrupt aes channel status value change shift. More...
 
#define XSDIAUD_INT_EN_AES_CS_CHANGE_MASK   (1 << XSDIAUD_INT_EN_AES_CS_CHANGE_SHIFT)
 SDI Audio interrupt aes channel status value change mask. More...
 
#define XSDIAUD_EXT_INT_EN_VID_PROP_CHANGE_SHIFT   (3)
 SDI Audio Extract interrupt video properties change detect shift. More...
 
#define XSDIAUD_EXT_INT_EN_VID_PROP_CHANGE_MASK   (1 << XSDIAUD_EXT_INT_EN_VID_PROP_CHANGE_SHIFT)
 SDI Audio Extract interrupt video properties change detect mask. More...
 
#define XSDIAUD_EXT_INT_EN_FIFO_OF_SHIFT   (2)
 SDI Audio Extract interrupt FIFO overflow detect shift. More...
 
#define XSDIAUD_EXT_INT_EN_FIFO_OF_MASK   (1 << XSDIAUD_EXT_INT_EN_FIFO_OF_SHIFT)
 SDI Audio Extract interrupt FIFO overflow detect mask. More...
 
#define XSDIAUD_EXT_INT_EN_CERR_SHIFT   (1)
 SDI Audio Extract interrupt checksum error detect shift. More...
 
#define XSDIAUD_EXT_INT_EN_CERR_MASK   (1 << XSDIAUD_EXT_INT_EN_CERR_SHIFT)
 SDI Audio Extract interrupt checksum error detect mask. More...
 
#define XSDIAUD_EXT_INT_EN_PERR_SHIFT   (0)
 SDI Audio Extract interrupt parity error detect shift. More...
 
#define XSDIAUD_EXT_INT_EN_PERR_MASK   (1 << XSDIAUD_EXT_INT_EN_PERR_SHIFT)
 SDI Audio Extract interrupt parity error detect mask. More...
 
#define XSDIAUD_INT_ST_AUD_STAT_UPDATE_SHIFT   (8)
 SDI Audio interrupt status update shift. More...
 
#define XSDIAUD_INT_ST_AUD_STAT_UPDATE_MASK   (1 << XSDIAUD_INT_ST_AUD_STAT_UPDATE_SHIFT)
 SDI Audio interrupt status update mask. More...
 
#define XSDIAUD_INT_ST_GRP_CHANGE_SHIFT   (9)
 SDI Audio interrupt status group change detect shift. More...
 
#define XSDIAUD_INT_ST_GRP_CHANGE_MASK   (1 << XSDIAUD_INT_ST_GRP_CHANGE_SHIFT)
 SDI Audio interrupt status group change detect mask. More...
 
#define XSDIAUD_INT_ST_CH_CHANGE_SHIFT   (10)
 SDI Audio interrupt status active channel change detect shift. More...
 
#define XSDIAUD_INT_ST_CH_CHANGE_MASK   (1 << XSDIAUD_INT_ST_CH_CHANGE_SHIFT)
 SDI Audio interrupt status active channel change detect mask. More...
 
#define XSDIAUD_INT_ST_SMP_RATE_CHANGE_SHIFT   (11)
 SDI Audio interrupt status sample rate change detect shift. More...
 
#define XSDIAUD_INT_ST_SMP_RATE_CHANGE_MASK   (1 << XSDIAUD_INT_ST_SMP_RATE_CHANGE_SHIFT)
 SDI Audio interrupt status sample rate change detect mask. More...
 
#define XSDIAUD_INT_ST_ASX_CHANGE_SHIFT   (12)
 SDI Audio interrupt status asynchronous data flag value change detect shift. More...
 
#define XSDIAUD_INT_ST_ASX_CHANGE_MASK   (1 << XSDIAUD_INT_ST_ASX_CHANGE_SHIFT)
 SDI Audio interrupt status asynchronous data flag value change detect mask. More...
 
#define XSDIAUD_INT_ST_AES_CS_UPDATE_SHIFT   (16)
 SDI Audio interrupt status aes channel status value update shift. More...
 
#define XSDIAUD_INT_ST_AES_CS_UPDATE_MASK   (1 << XSDIAUD_INT_ST_AES_CS_UPDATE_SHIFT)
 SDI Audio interrupt status aes channel status value update mask. More...
 
#define XSDIAUD_INT_ST_AES_CS_CHANGE_SHIFT   (17)
 SDI Audio interrupt status aes channel status value change shift. More...
 
#define XSDIAUD_INT_ST_AES_CS_CHANGE_MASK   (1 << XSDIAUD_INT_ST_AES_CS_CHANGE_SHIFT)
 SDI Audio interrupt status aes channel status value change mask. More...
 
#define XSDIAUD_EXT_INT_ST_VID_PROP_CHANGE_SHIFT   (3)
 SDI Audio Extract interrupt status video properties change detect shift. More...
 
#define XSDIAUD_EXT_INT_ST_VID_PROP_CHANGE_MASK   (1 << XSDIAUD_EXT_INT_ST_VID_PROP_CHANGE_SHIFT)
 SDI Audio Extract interrupt status video properties change detect mask. More...
 
#define XSDIAUD_EXT_INT_ST_FIFO_OF_SHIFT   (2)
 SDI Audio Extract interrupt status FIFO overflow detect shift. More...
 
#define XSDIAUD_EXT_INT_ST_FIFO_OF_MASK   (1 << XSDIAUD_EXT_INT_ST_FIFO_OF_SHIFT)
 SDI Audio Extract interrupt status FIFO overflow detect mask. More...
 
#define XSDIAUD_EXT_INT_ST_CERR_SHIFT   (1)
 SDI Audio Extract interrupt status checksum error detect shift. More...
 
#define XSDIAUD_EXT_INT_ST_CERR_MASK   (1 << XSDIAUD_EXT_INT_ST_CERR_SHIFT)
 SDI Audio Extract interrupt status checksum error detect mask. More...
 
#define XSDIAUD_EXT_INT_ST_PERR_SHIFT   (0)
 SDI Audio Extract interrupt status parity error detect shift. More...
 
#define XSDIAUD_EXT_INT_ST_PERR_MASK   (1 << XSDIAUD_EXT_INT_ST_PERR_SHIFT)
 SDI Audio Extract interrupt status parity error detect mask. More...
 
#define XSDIAUD_EXT_AUD_CNT_CP_EN_SHIFT   (29)
 SDI Audio Extract audio clock phase enable shift. More...
 
#define XSDIAUD_EXT_AUD_CNT_CP_EN_MASK   (1 << XSDIAUD_EXT_AUD_CNT_CP_EN_SHIFT)
 SDI Audio Extract audio clock phase enable mask. More...
 
#define XSDIAUD_EXT_AXIS_CHCOUNT_SHIFT   (0)
 SDI Audio Extract AXIS channel count shift. More...
 
#define XSDIAUD_EXT_AXIS_CHCOUNT_MASK   (0x1F << XSDIAUD_EXT_AXIS_CHCOUNT_SHIFT)
 SDI Audio Extract AXIS channel count mask. More...
 
#define XSDIAUD_EXT_DMUX_GRPS_SHIFT   (0)
 SDI Audio Extract DMux group select shift. More...
 
#define XSDIAUD_EXT_DMUX_GRPS_MASK   (0x3 << XSDIAUD_EXT_DMUX_GRPS_SHIFT)
 SDI Audio Extract DMux group select mask. More...
 
#define XSDIAUD_EXT_DMUX_MUTE_SHIFT   (2)
 SDI Audio Extract DMux mute channel shift. More...
 
#define XSDIAUD_EXT_DMUX_MUTEALL_MASK   (0xF << XSDIAUD_EXT_DMUX_MUTE_SHIFT)
 SDI Audio Extract DMux mute all channels mask. More...
 
#define XSDIAUD_EXT_DMUX_MUTE1_MASK   (0x1 << XSDIAUD_EXT_DMUX_MUTE_SHIFT)
 SDI Audio Extract Dmux mute channel 1 mask. More...
 
#define XSDIAUD_EXT_DMUX_MUTE2_MASK   (0x2 << XSDIAUD_EXT_DMUX_MUTE_SHIFT)
 SDI Audio Extract Dmux mute channel 2 mask. More...
 
#define XSDIAUD_EXT_DMUX_MUTE3_MASK   (0x4 << XSDIAUD_EXT_DMUX_MUTE_SHIFT)
 SDI Audio Extract Dmux mute channel 3 mask. More...
 
#define XSDIAUD_EXT_DMUX_MUTE4_MASK   (0x8 << XSDIAUD_EXT_DMUX_MUTE_SHIFT)
 SDI Audio Extract Dmux mute channel 4 mask. More...
 
#define XSDIAUD_EXT_PKTST_SR_SHIFT   (0)
 SDI Audio Extract control packet status sampling rate shift. More...
 
#define XSDIAUD_EXT_PKTST_SR_MASK   (0xFFF << XSDIAUD_EXT_PKTST_SR_SHIFT)
 SDI Audio Extract control packet status sampling rate mask. More...
 
#define XSDIAUD_EXT_PKTST_AC_SHIFT   (12)
 SDI Audio Extract control packet status group active channel shift. More...
 
#define XSDIAUD_EXT_PKTST_AC_MASK   (0xFFFF << XSDIAUD_EXT_PKTST_AC_SHIFT)
 SDI Audio Extract control packet status group active channel mask. More...
 
#define XSDIAUD_GUI_CHAN_SHIFT   (0)
 SDI Audio GUI Channels parameter shift. More...
 
#define XSDIAUD_GUI_CHAN_MASK   (0xF << XSDIAUD_GUI_CHAN_SHIFT)
 SDI Audio GUI Channels parameter mask. More...
 
#define XSDIAUD_GUI_STD_SHIFT   (4)
 SDI Audio GUI UHD SDI standard parameter shift. More...
 
#define XSDIAUD_GUI_STD_MASK   (0x3 << XSDIAUD_GUI_STD_SHIFT)
 SDI Audio GUI UHD Standard parameter mask. More...
 
#define XSDIAUD_GUI_AUDF_SHIFT   (6)
 SDI Audio GUI audio function parameter shift. More...
 
#define XSDIAUD_GUI_AUDF_MASK   (1 << XSDIAUD_GUI_AUDF_SHIFT)
 SDI Audio GUI audio function parameter mask. More...
 
#define XSDIAUD_GUI_AXIE_SHIFT   (7)
 SDI Audio GUI AXI-lite enable parameter shift. More...
 
#define XSDIAUD_GUI_AXIE_MASK   (1 << XSDIAUD_GUI_AXIE_SHIFT)
 SDI Audio GUI AXI-lite enable parameter mask. More...
 
#define XSDIAUD_GUI_CHSTAT_EXTR_SHIFT   (8)
 SDI Audio GUI Channel status extract parameter shift. More...
 
#define XSDIAUD_GUI_CHSTAT_EXTR_MASK   (1 << XSDIAUD_GUI_CHSTAT_EXTR_SHIFT)
 SDI Audio GUI channel status extract parameter mask. More...
 

Register access macro definition

#define XSdiAud_In32   Xil_In32
 Input Operations. More...
 
#define XSdiAud_Out32   Xil_Out32
 Output Operations. More...
 
#define XSdiAud_ReadReg(BaseAddress, RegOffset)   XSdiAud_In32((BaseAddress) + ((u32)RegOffset))
 
#define XSdiAud_WriteReg(BaseAddress, RegOffset, Data)   XSdiAud_Out32((BaseAddress) + ((u32)RegOffset), (u32)(Data))
 

Macro Definition Documentation

#define BIT (   n)    (1 << (n))

Audio Embed total number of bytes in the 6 channel status registers.

Referenced by XSdiAud_GetActGrpStatus().

#define XSDIAUD_ACT_CH_STAT_REG_OFFSET   0X60

SDI Audio active channel status register offset.

Referenced by XSdiAud_Ext_GetAcChStatus().

#define XSDIAUD_ACT_GRP_PRES_REG_OFFSET   0X40

SDI Audio group presence register offset.

Referenced by XSdiAud_GetActGrpStatus().

#define XSDIAUD_ASX_STAT_REG_OFFSET   0X80

SDI Audio async channel pair status register offset.

Referenced by XSdiAud_Ext_GetAsxStatus().

#define XSDIAUD_AUD_CNTRL_REG_OFFSET   0x18
#define XSDIAUD_CNTRL_EN_MASK   (1 << XSDIAUD_CNTRL_EN_SHIFT)

SDI Audio Embed enable or Extract enable mask.

Referenced by XSdiAud_Enable().

#define XSDIAUD_CNTRL_EN_SHIFT   (0)

SDI Audio Embed enable or Extract enable shift.

#define XSDIAUD_CNTRL_REG_OFFSET   0x00

SDI Audio Module control register offset.

Referenced by XSdiAud_Enable().

#define XSDIAUD_CORE_VERSION_REG_OFFSET   0x08

SDI Audio Core version register offset.

Referenced by XSdiAud_GetCoreVersion().

#define XSDIAUD_EMB_AUD_CNT_AES_CH_PAIR_MASK   (0xF << XSDIAUD_EMB_AUD_CNT_AES_CH_PAIR_SHIFT)

SDI Audio Embed audio control aes channel pair mask.

Referenced by XSdiAud_SetAesChPair().

#define XSDIAUD_EMB_AUD_CNT_AES_CH_PAIR_SHIFT   (16)

SDI Audio Embed audio control aes channel pair shift.

Referenced by XSdiAud_SetAesChPair().

#define XSDIAUD_EMB_AUD_CNT_ASX_MASK   (1 << XSDIAUD_EMB_AUD_CNT_ASX_SHIFT)

SDI Audio Embed audio control asynchronous data flag mask.

Referenced by XSdiAud_Emb_SetAsx().

#define XSDIAUD_EMB_AUD_CNT_ASX_SHIFT   (4)

SDI Audio Embed audio control asynchronous data flag shift.

Referenced by XSdiAud_Emb_SetAsx().

#define XSDIAUD_EMB_AUD_CNT_SR_MASK   (0x7 << XSDIAUD_EMB_AUD_CNT_SR_SHIFT)

SDI Audio Embed audio control SD sample rate mask.

Referenced by XSdiAud_Emb_SetSmpRate().

#define XSDIAUD_EMB_AUD_CNT_SR_SHIFT   (0)

SDI Audio Embed audio control SD sample rate shift.

#define XSDIAUD_EMB_AUD_CNT_SS_MASK   (1 << XSDIAUD_EMB_AUD_CNT_SS_SHIFT)

SDI Audio Embed audio control SD sample size mask.

Referenced by XSdiAud_Emb_SetSmpSize().

#define XSDIAUD_EMB_AUD_CNT_SS_SHIFT   (3)

SDI Audio Embed audio control SD sample size shift.

Referenced by XSdiAud_Emb_SetSmpSize().

#define XSDIAUD_EMB_AXIS_CHCOUNT_MASK   (0x1F << XSDIAUD_EMB_AXIS_CHCOUNT_SHIFT)

SDI Audio Embed AXIS channel count mask.

#define XSDIAUD_EMB_AXIS_CHCOUNT_SHIFT   (0)

SDI Audio Embed AXIS channel count shift.

#define XSDIAUD_EMB_VID_CNT_ELE_MASK   (1 << XSDIAUD_EMB_VID_CNT_ELE_SHIFT)

SDI Audio Embed video control external line enable mask.

Referenced by XSdiAud_Emb_EnExtrnLine().

#define XSDIAUD_EMB_VID_CNT_ELE_SHIFT   (16)

SDI Audio Embed video control external line enable shift.

Referenced by XSdiAud_Emb_EnExtrnLine().

#define XSDIAUD_EMB_VID_CNT_FAMILY_MASK   (0xF << XSDIAUD_EMB_VID_CNT_FAMILY_SHIFT)

SDI Audio Embed video control family mask.

Referenced by XSdiAud_Emb_SetVidProps().

#define XSDIAUD_EMB_VID_CNT_FAMILY_SHIFT   (0)

SDI Audio Embed video control family shift.

Referenced by XSdiAud_Emb_SetVidProps().

#define XSDIAUD_EMB_VID_CNT_RATE_MASK   (0xF << XSDIAUD_EMB_VID_CNT_RATE_SHIFT)

SDI Audio Embed video control rate mask.

Referenced by XSdiAud_Emb_SetVidProps().

#define XSDIAUD_EMB_VID_CNT_RATE_SHIFT   (4)

SDI Audio Embed video control rate shift.

Referenced by XSdiAud_Emb_SetVidProps().

#define XSDIAUD_EMB_VID_CNT_SCAN_MASK   (1 << XSDIAUD_EMB_VID_CNT_SCAN_SHIFT)

SDI Audio Embed video control scan mask.

Referenced by XSdiAud_Emb_SetVidProps().

#define XSDIAUD_EMB_VID_CNT_SCAN_SHIFT   (8)

SDI Audio Embed video control scan shift.

Referenced by XSdiAud_Emb_SetVidProps().

#define XSDIAUD_EMB_VID_CNTRL_REG_OFFSET   0X14

SDI Audio Embed Video control register offset.

Referenced by XSdiAud_Emb_EnExtrnLine(), and XSdiAud_Emb_SetVidProps().

#define XSDIAUD_EMD_MUX_CNT_GS_MASK   (0x3 << XSDIAUD_EMD_MUX_CNT_GS_SHIFT)

SDI Audio Embed Mux group select mask.

#define XSDIAUD_EMD_MUX_CNT_GS_SHIFT   (0)

SDI Audio Embed Mux group select shift.

#define XSDIAUD_EXT_AUD_CNT_CP_EN_MASK   (1 << XSDIAUD_EXT_AUD_CNT_CP_EN_SHIFT)

SDI Audio Extract audio clock phase enable mask.

Referenced by XSdiAud_Ext_DisableClkPhase().

#define XSDIAUD_EXT_AUD_CNT_CP_EN_SHIFT   (29)

SDI Audio Extract audio clock phase enable shift.

Referenced by XSdiAud_Ext_DisableClkPhase().

#define XSDIAUD_EXT_AXIS_CHCOUNT_MASK   (0x1F << XSDIAUD_EXT_AXIS_CHCOUNT_SHIFT)

SDI Audio Extract AXIS channel count mask.

#define XSDIAUD_EXT_AXIS_CHCOUNT_SHIFT   (0)

SDI Audio Extract AXIS channel count shift.

#define XSDIAUD_EXT_CH_STAT0_REG_OFFSET   0X48

SDI Audio Extract channel status register0 offset.

Referenced by XSdiAud_GetChStat(), and XSdiAud_SelfTest().

#define XSDIAUD_EXT_DMUX_GRPS_MASK   (0x3 << XSDIAUD_EXT_DMUX_GRPS_SHIFT)

SDI Audio Extract DMux group select mask.

#define XSDIAUD_EXT_DMUX_GRPS_SHIFT   (0)

SDI Audio Extract DMux group select shift.

#define XSDIAUD_EXT_DMUX_MUTE1_MASK   (0x1 << XSDIAUD_EXT_DMUX_MUTE_SHIFT)

SDI Audio Extract Dmux mute channel 1 mask.

#define XSDIAUD_EXT_DMUX_MUTE2_MASK   (0x2 << XSDIAUD_EXT_DMUX_MUTE_SHIFT)

SDI Audio Extract Dmux mute channel 2 mask.

#define XSDIAUD_EXT_DMUX_MUTE3_MASK   (0x4 << XSDIAUD_EXT_DMUX_MUTE_SHIFT)

SDI Audio Extract Dmux mute channel 3 mask.

#define XSDIAUD_EXT_DMUX_MUTE4_MASK   (0x8 << XSDIAUD_EXT_DMUX_MUTE_SHIFT)

SDI Audio Extract Dmux mute channel 4 mask.

#define XSDIAUD_EXT_DMUX_MUTE_SHIFT   (2)

SDI Audio Extract DMux mute channel shift.

#define XSDIAUD_EXT_DMUX_MUTEALL_MASK   (0xF << XSDIAUD_EXT_DMUX_MUTE_SHIFT)

SDI Audio Extract DMux mute all channels mask.

#define XSDIAUD_EXT_FIFO_OVFLW_ST_REG_OFFSET   0X44

SDI Audio Extract FIFO overflow status register offset.

Referenced by XSdiAud_Ext_GetFIFOOvFlwStatus().

#define XSDIAUD_EXT_INT_EN_CERR_MASK   (1 << XSDIAUD_EXT_INT_EN_CERR_SHIFT)

SDI Audio Extract interrupt checksum error detect mask.

#define XSDIAUD_EXT_INT_EN_CERR_SHIFT   (1)

SDI Audio Extract interrupt checksum error detect shift.

#define XSDIAUD_EXT_INT_EN_FIFO_OF_MASK   (1 << XSDIAUD_EXT_INT_EN_FIFO_OF_SHIFT)

SDI Audio Extract interrupt FIFO overflow detect mask.

#define XSDIAUD_EXT_INT_EN_FIFO_OF_SHIFT   (2)

SDI Audio Extract interrupt FIFO overflow detect shift.

#define XSDIAUD_EXT_INT_EN_PERR_MASK   (1 << XSDIAUD_EXT_INT_EN_PERR_SHIFT)

SDI Audio Extract interrupt parity error detect mask.

#define XSDIAUD_EXT_INT_EN_PERR_SHIFT   (0)

SDI Audio Extract interrupt parity error detect shift.

#define XSDIAUD_EXT_INT_EN_VID_PROP_CHANGE_MASK   (1 << XSDIAUD_EXT_INT_EN_VID_PROP_CHANGE_SHIFT)

SDI Audio Extract interrupt video properties change detect mask.

#define XSDIAUD_EXT_INT_EN_VID_PROP_CHANGE_SHIFT   (3)

SDI Audio Extract interrupt video properties change detect shift.

#define XSDIAUD_EXT_INT_ST_CERR_MASK   (1 << XSDIAUD_EXT_INT_ST_CERR_SHIFT)

SDI Audio Extract interrupt status checksum error detect mask.

Referenced by XSdiAud_IntrHandler().

#define XSDIAUD_EXT_INT_ST_CERR_SHIFT   (1)

SDI Audio Extract interrupt status checksum error detect shift.

#define XSDIAUD_EXT_INT_ST_FIFO_OF_MASK   (1 << XSDIAUD_EXT_INT_ST_FIFO_OF_SHIFT)

SDI Audio Extract interrupt status FIFO overflow detect mask.

Referenced by XSdiAud_IntrHandler().

#define XSDIAUD_EXT_INT_ST_FIFO_OF_SHIFT   (2)

SDI Audio Extract interrupt status FIFO overflow detect shift.

#define XSDIAUD_EXT_INT_ST_PERR_MASK   (1 << XSDIAUD_EXT_INT_ST_PERR_SHIFT)

SDI Audio Extract interrupt status parity error detect mask.

Referenced by XSdiAud_IntrHandler().

#define XSDIAUD_EXT_INT_ST_PERR_SHIFT   (0)

SDI Audio Extract interrupt status parity error detect shift.

#define XSDIAUD_EXT_INT_ST_VID_PROP_CHANGE_MASK   (1 << XSDIAUD_EXT_INT_ST_VID_PROP_CHANGE_SHIFT)

SDI Audio Extract interrupt status video properties change detect mask.

Referenced by XSdiAud_IntrHandler().

#define XSDIAUD_EXT_INT_ST_VID_PROP_CHANGE_SHIFT   (3)

SDI Audio Extract interrupt status video properties change detect shift.

#define XSDIAUD_EXT_PKTST_AC_MASK   (0xFFFF << XSDIAUD_EXT_PKTST_AC_SHIFT)

SDI Audio Extract control packet status group active channel mask.

#define XSDIAUD_EXT_PKTST_AC_SHIFT   (12)

SDI Audio Extract control packet status group active channel shift.

#define XSDIAUD_EXT_PKTST_SR_MASK   (0xFFF << XSDIAUD_EXT_PKTST_SR_SHIFT)

SDI Audio Extract control packet status sampling rate mask.

#define XSDIAUD_EXT_PKTST_SR_SHIFT   (0)

SDI Audio Extract control packet status sampling rate shift.

#define XSdiAud_GetCh (   InstancePtr)
Value:
((XSdiAud_ReadReg((InstancePtr)->Config.BaseAddress, \
#define XSDIAUD_GUI_PARAM_REG_OFFSET
SDI Audio GUI parameters register offset.
Definition: xsdiaud_hw.h:92
#define XSDIAUD_GUI_CHAN_SHIFT
SDI Audio GUI Channels parameter shift.
Definition: xsdiaud_hw.h:334
#define XSDIAUD_GUI_CHAN_MASK
SDI Audio GUI Channels parameter mask.
Definition: xsdiaud_hw.h:336

This macro returns the XSdiAud Channel field of the GUI register.

Parameters
InstancePtris a pointer to the XSdiAud core instance.
Returns
Channel field of the GUI register i.e. a value in between 0 to 7
Note
C-style signature: u8 XSdiAud_GetCh(XSdiAud *InstancePtr)

Referenced by XSdiAud_SelfTest().

#define XSdiAud_GetSdiStd (   InstancePtr)
Value:
((XSdiAud_ReadReg((InstancePtr)->Config.BaseAddress, \
#define XSDIAUD_GUI_PARAM_REG_OFFSET
SDI Audio GUI parameters register offset.
Definition: xsdiaud_hw.h:92
#define XSDIAUD_GUI_STD_SHIFT
SDI Audio GUI UHD SDI standard parameter shift.
Definition: xsdiaud_hw.h:339
#define XSDIAUD_GUI_STD_MASK
SDI Audio GUI UHD Standard parameter mask.
Definition: xsdiaud_hw.h:341

This macro returns the XSdiAud UHD-SDI standard.

Parameters
InstancePtris a pointer to the XSdiAud core instance.
Returns
UHD-SDI standard 0: 3G SDI 1: 6G SDI 2: 12G SDI 8DS 3: 12G SDI 16DS
Note
C-style signature: u8 XSdiAud_GetSdiStd(XSdiAud *InstancePtr)

Referenced by XSdiAud_SelfTest().

#define XSDIAUD_GRP_PRESNT_MASK   (0xFF << XSDIAUD_GRP_PRESNT_SHIFT)

SDI Audio group present value mask.

Referenced by XSdiAud_GetActGrpStatus().

#define XSDIAUD_GRP_PRESNT_SHIFT   (0)

SDI Audio group present value shift.

#define XSDIAUD_GRP_PRESNTV_MASK   (1 << XSDIAUD_GRP_PRESNTV_SHIFT)

SDI Audio group present valid mask.

#define XSDIAUD_GRP_PRESNTV_SHIFT   (4)

SDI Audio group present valid shift.

#define XSDIAUD_GUI_AUDF_MASK   (1 << XSDIAUD_GUI_AUDF_SHIFT)

SDI Audio GUI audio function parameter mask.

#define XSDIAUD_GUI_AUDF_SHIFT   (6)

SDI Audio GUI audio function parameter shift.

#define XSDIAUD_GUI_AXIE_MASK   (1 << XSDIAUD_GUI_AXIE_SHIFT)

SDI Audio GUI AXI-lite enable parameter mask.

#define XSDIAUD_GUI_AXIE_SHIFT   (7)

SDI Audio GUI AXI-lite enable parameter shift.

#define XSDIAUD_GUI_CHAN_MASK   (0xF << XSDIAUD_GUI_CHAN_SHIFT)

SDI Audio GUI Channels parameter mask.

#define XSDIAUD_GUI_CHAN_SHIFT   (0)

SDI Audio GUI Channels parameter shift.

#define XSDIAUD_GUI_CHSTAT_EXTR_MASK   (1 << XSDIAUD_GUI_CHSTAT_EXTR_SHIFT)

SDI Audio GUI channel status extract parameter mask.

#define XSDIAUD_GUI_CHSTAT_EXTR_SHIFT   (8)

SDI Audio GUI Channel status extract parameter shift.

#define XSDIAUD_GUI_PARAM_REG_OFFSET   0XFC

SDI Audio GUI parameters register offset.

#define XSDIAUD_GUI_STD_MASK   (0x3 << XSDIAUD_GUI_STD_SHIFT)

SDI Audio GUI UHD Standard parameter mask.

#define XSDIAUD_GUI_STD_SHIFT   (4)

SDI Audio GUI UHD SDI standard parameter shift.

#define XSdiAud_In32   Xil_In32

Input Operations.

#define XSDIAUD_INT_EN_AES_CS_CHANGE_MASK   (1 << XSDIAUD_INT_EN_AES_CS_CHANGE_SHIFT)

SDI Audio interrupt aes channel status value change mask.

#define XSDIAUD_INT_EN_AES_CS_CHANGE_SHIFT   (17)

SDI Audio interrupt aes channel status value change shift.

#define XSDIAUD_INT_EN_AES_CS_UPDATE_MASK   (1 << XSDIAUD_INT_EN_AES_CS_UPDATE_SHIFT)

SDI Audio interrupt aes channel status value update mask.

#define XSDIAUD_INT_EN_AES_CS_UPDATE_SHIFT   (16)

SDI Audio interrupt aes channel status value update shift.

#define XSDIAUD_INT_EN_ASX_CHANGE_MASK   (1 << XSDIAUD_INT_EN_ASX_CHANGE_SHIFT)

SDI Audio interrupt asynchronous data flag value change detect mask.

#define XSDIAUD_INT_EN_ASX_CHANGE_SHIFT   (12)

SDI Audio interrupt asynchronous data flag value change detect shift.

#define XSDIAUD_INT_EN_AUD_STAT_UPDATE_MASK   (1 << XSDIAUD_INT_EN_AUD_STAT_UPDATE_SHIFT)

SDI Audio interrupt status update mask.

#define XSDIAUD_INT_EN_AUD_STAT_UPDATE_SHIFT   (8)

SDI Audio interrupt status update shift.

#define XSDIAUD_INT_EN_CH_CHANGE_MASK   (1 << XSDIAUD_INT_EN_CH_CHANGE_SHIFT)

SDI Audio interrupt active channel change detect mask.

#define XSDIAUD_INT_EN_CH_CHANGE_SHIFT   (10)

SDI Audio interrupt active channel change detect shift.

#define XSDIAUD_INT_EN_GRP_CHANGE_MASK   (1 << XSDIAUD_INT_EN_GRP_CHANGE_SHIFT)

SDI Audio interrupt group change detect mask.

#define XSDIAUD_INT_EN_GRP_CHANGE_SHIFT   (9)

SDI Audio interrupt group change detect shift.

#define XSDIAUD_INT_EN_REG_OFFSET   0x0C

SDI Audio Interrupt enable register offset.

Referenced by XSdiAud_IntrHandler().

#define XSDIAUD_INT_EN_SMP_RATE_CHANGE_MASK   (1 << XSDIAUD_INT_EN_SMP_RATE_CHANGE_SHIFT)

SDI Audio interrupt sample rate change detect mask.

#define XSDIAUD_INT_EN_SMP_RATE_CHANGE_SHIFT   (11)

SDI Audio interrupt sample rate change detect shift.

#define XSDIAUD_INT_ST_AES_CS_CHANGE_MASK   (1 << XSDIAUD_INT_ST_AES_CS_CHANGE_SHIFT)

SDI Audio interrupt status aes channel status value change mask.

Referenced by XSdiAud_IntrHandler().

#define XSDIAUD_INT_ST_AES_CS_CHANGE_SHIFT   (17)

SDI Audio interrupt status aes channel status value change shift.

#define XSDIAUD_INT_ST_AES_CS_UPDATE_MASK   (1 << XSDIAUD_INT_ST_AES_CS_UPDATE_SHIFT)

SDI Audio interrupt status aes channel status value update mask.

Referenced by XSdiAud_IntrHandler().

#define XSDIAUD_INT_ST_AES_CS_UPDATE_SHIFT   (16)

SDI Audio interrupt status aes channel status value update shift.

#define XSDIAUD_INT_ST_ASX_CHANGE_MASK   (1 << XSDIAUD_INT_ST_ASX_CHANGE_SHIFT)

SDI Audio interrupt status asynchronous data flag value change detect mask.

Referenced by XSdiAud_IntrHandler().

#define XSDIAUD_INT_ST_ASX_CHANGE_SHIFT   (12)

SDI Audio interrupt status asynchronous data flag value change detect shift.

#define XSDIAUD_INT_ST_AUD_STAT_UPDATE_MASK   (1 << XSDIAUD_INT_ST_AUD_STAT_UPDATE_SHIFT)

SDI Audio interrupt status update mask.

Referenced by XSdiAud_IntrHandler().

#define XSDIAUD_INT_ST_AUD_STAT_UPDATE_SHIFT   (8)

SDI Audio interrupt status update shift.

#define XSDIAUD_INT_ST_CH_CHANGE_MASK   (1 << XSDIAUD_INT_ST_CH_CHANGE_SHIFT)

SDI Audio interrupt status active channel change detect mask.

Referenced by XSdiAud_IntrHandler().

#define XSDIAUD_INT_ST_CH_CHANGE_SHIFT   (10)

SDI Audio interrupt status active channel change detect shift.

#define XSDIAUD_INT_ST_GRP_CHANGE_MASK   (1 << XSDIAUD_INT_ST_GRP_CHANGE_SHIFT)

SDI Audio interrupt status group change detect mask.

Referenced by XSdiAud_IntrHandler().

#define XSDIAUD_INT_ST_GRP_CHANGE_SHIFT   (9)

SDI Audio interrupt status group change detect shift.

#define XSDIAUD_INT_ST_SMP_RATE_CHANGE_MASK   (1 << XSDIAUD_INT_ST_SMP_RATE_CHANGE_SHIFT)

SDI Audio interrupt status sample rate change detect mask.

Referenced by XSdiAud_IntrHandler().

#define XSDIAUD_INT_ST_SMP_RATE_CHANGE_SHIFT   (11)

SDI Audio interrupt status sample rate change detect shift.

#define XSDIAUD_INT_STS_REG_OFFSET   0x10

SDI Audio Interrupt status register offset.

Referenced by XSdiAud_GetIntStat(), and XSdiAud_IntrHandler().

#define XSdiAud_IsEmbed (   InstancePtr)
Value:
(((XSdiAud_ReadReg((InstancePtr)->Config.BaseAddress, \
#define XSDIAUD_GUI_AUDF_MASK
SDI Audio GUI audio function parameter mask.
Definition: xsdiaud_hw.h:346
#define XSDIAUD_GUI_PARAM_REG_OFFSET
SDI Audio GUI parameters register offset.
Definition: xsdiaud_hw.h:92
#define XSDIAUD_GUI_AUDF_SHIFT
SDI Audio GUI audio function parameter shift.
Definition: xsdiaud_hw.h:344

This macro returns the XSdiAud operating mode.

Parameters
InstancePtris a pointer to the XSdiAud core instance.
Returns
  • TRUE : Audio Embed
  • FALSE : Audio Extract
Note
C-style signature: u8 XSdiAud_IsEmbed(XSdiAud *InstancePtr)

Referenced by XSdiAud_SelfTest().

#define XSDIAUD_MUTE_CH_REG_OFFSET   0x30

SDI Audio mute channels register offset.

Referenced by XSdiAud_MuteCh().

#define XSdiAud_Out32   Xil_Out32

Output Operations.

#define XSDIAUD_SOFT_RST_ACLK_MASK   (1 << XSDIAUD_SOFT_RST_ACLK_SHIFT)

SDI Audio Embed soft reset aclk mask.

Referenced by XSdiAud_ConfigReset().

#define XSDIAUD_SOFT_RST_ACLK_SHIFT   (0)

SDI Audio Embed soft reset aclk shift.

#define XSDIAUD_SOFT_RST_REG_OFFSET   0x04

SDI Audio Soft reset register offset.

Referenced by XSdiAud_ConfigReset(), and XSdiAud_CoreReset().

#define XSDIAUD_SOFT_RST_SCLK_MASK   (1 << XSDIAUD_SOFT_RST_SCLK_SHIFT)

SDI Audio soft reset sclk mask.

Referenced by XSdiAud_CoreReset().

#define XSDIAUD_SOFT_RST_SCLK_SHIFT   (1)

SDI Audio soft reset sclk shift.

#define XSDIAUD_SR_STAT_REG_OFFSET   0X70

SDI Audio sample rate status register offset.

Referenced by XSdiAud_Ext_GetSRStatus().

#define XSDIAUD_VALID_CH_REG_OFFSET   0x20

SDI Audio valid channels register offset.

Referenced by XSdiAud_SetCh().

#define XSDIAUD_VER_MASK   (0xFF << XSDIAUD_VER_SHIFT)

SDI Audio version mask.

#define XSDIAUD_VER_SHIFT   (0)

SDI Audio version shift.

Enumeration Type Documentation

AES channel pair.

These constants specify different aes channel pairs

Asynchronous data flag.

These constants specify different asynchronous data flag

Channel Number.

These constants specify Channel number

Enumerator
XSDIAUD_CHANNEL1 

channel 1

XSDIAUD_CHANNEL2 

channel 2

XSDIAUD_CHANNEL3 

channel 3

XSDIAUD_CHANNEL4 

channel 4

XSDIAUD_CHANNEL5 

channel 5

XSDIAUD_CHANNEL6 

channel 6

XSDIAUD_CHANNEL7 

channel 7

XSDIAUD_CHANNEL8 

channel 8

XSDIAUD_CHANNEL9 

channel 9

XSDIAUD_CHANNEL10 

channel 10

XSDIAUD_CHANNEL11 

channel 11

XSDIAUD_CHANNEL12 

channel 12

XSDIAUD_CHANNEL13 

channel 13

XSDIAUD_CHANNEL14 

channel 14

XSDIAUD_CHANNEL15 

channel 15

XSDIAUD_CHANNEL16 

channel 16

XSDIAUD_CHANNEL17 

channel 17

XSDIAUD_CHANNEL18 

channel 18

XSDIAUD_CHANNEL19 

channel 19

XSDIAUD_CHANNEL20 

channel 20

XSDIAUD_CHANNEL21 

channel 21

XSDIAUD_CHANNEL22 

channel 22

XSDIAUD_CHANNEL23 

channel 23

XSDIAUD_CHANNEL24 

channel 24

XSDIAUD_CHANNEL25 

channel 25

XSDIAUD_CHANNEL26 

channel 26

XSDIAUD_CHANNEL27 

channel 27

XSDIAUD_CHANNEL28 

channel 28

XSDIAUD_CHANNEL29 

channel 29

XSDIAUD_CHANNEL30 

channel 30

XSDIAUD_CHANNEL31 

channel 31

XSDIAUD_CHANNEL32 

channel 32

Group numbers.

These constants specify different Group numbers

Enumerator
XSDIAUD_GROUP1 

Group 1.

XSDIAUD_GROUP2 

Group 2.

XSDIAUD_GROUP3 

Group 3.

XSDIAUD_GROUP4 

Group 4.

Channel number in any Group.

These constants specify different channel numbers in Group 1 or 2 or 3 or 4

Enumerator
XSDIAUD_GROUPX_CHANNEL1 

Channel 1 of Group 1/2/3/4.

XSDIAUD_GROUPX_CHANNEL2 

Channel 2 of Group 1/2/3/4.

XSDIAUD_GROUPX_CHANNEL3 

Channel 3 of Group 1/2/3/4.

XSDIAUD_GROUPX_CHANNEL4 

Channel 4 of Group 1/2/3/4.

These constants specify different types of handlers and is used to differentiate interrupt requests from the XSdiAud peripheral.

Enumerator
XSDIAUD_HANDLER_AUD_GRP_CHNG_DET 

Audio group change detect handler.

XSDIAUD_HANDLER_ACT_CH_CHNG_DET 

Active channel change detect handler.

XSDIAUD_HANDLER_SAMPLE_RATE_CHNG_DET 

Sample rate change detect handler.

XSDIAUD_HANDLER_ASX_CHNG_DET 

Asynchronous data flag change detect handler.

XSDIAUD_HANDLER_AES_CS_UPDATE_DET 

Aes cs update detect handler.

XSDIAUD_HANDLER_AES_CS_CHANGE_DET 

Aes cs change detect handler.

XSDIAUD_HANDLER_CHSTAT_CHNG_DET 

Channel status change detect handler.

XSDIAUD_HANDLER_VIDEO_PROP_CHNG_DET 

Video properties change detect handler.

XSDIAUD_HANDLER_FIFO_OVRFLW_DET 

FIFO Overflow detect handler.

XSDIAUD_HANDLER_PARITY_ERR_DET 

Parity error detect handler.

XSDIAUD_HANDLER_CHECKSUM_ERR_DET 

Checksum error detect handler.

XSDIAUD_NUM_HANDLERS 

Number of handler types.

Number of Channels.

These constants specify number of channels

Enumerator
XSDIAUD_1_CHANNELS 

1 channel

XSDIAUD_2_CHANNELS 

2 channels

XSDIAUD_3_CHANNELS 

3 channels

XSDIAUD_4_CHANNELS 

4 channels

XSDIAUD_5_CHANNELS 

5 channels

XSDIAUD_6_CHANNELS 

6 channels

XSDIAUD_7_CHANNELS 

7 channels

XSDIAUD_8_CHANNELS 

8 channels

XSDIAUD_9_CHANNELS 

9 channels

XSDIAUD_10_CHANNELS 

10 channels

XSDIAUD_11_CHANNELS 

11 channels

XSDIAUD_12_CHANNELS 

12 channels

XSDIAUD_13_CHANNELS 

13 channels

XSDIAUD_14_CHANNELS 

14 channels

XSDIAUD_15_CHANNELS 

15 channels

XSDIAUD_16_CHANNELS 

16 channels

XSDIAUD_32_CHANNELS 

32 channels

Sampling Rates.

These constants specify different audio Sampling Rates

Enumerator
XSDIAUD_SMPLRATE_48 

000 - 48 KHz

XSDIAUD_SMPLRATE_44 

001 - 44.1 KHz

XSDIAUD_SMPLRATE_32 

010 - 32 KHz

Sample Size.

These constants specify different Sample Size

Enumerator
XSDIAUD_SAMPSIZE0 

0 - 20 Bit Audio Sample

XSDIAUD_SAMPSIZE1 

1 - 24 Bit Audio Sample

Video Family.

These constants specify different video families

Video Rate.

These constants specify different video rates

Video Scan.

These constants specify different video scans

Function Documentation

int XSdiAud_CfgInitialize ( XSdiAud InstancePtr,
XSdiAud_Config CfgPtr,
UINTPTR  EffectiveAddr 
)

This function initializes the XSdiAud.

This function must be called prior to using the core. Initialization of the XSdiAud includes setting up the instance data, and ensuring the hardware is in a quiescent state.

Parameters
InstancePtris a pointer to the XSdiAud instance.
CfgPtrpoints to the configuration structure associated with the XSdiAud.
EffectiveAddris the base address of the device. If address translation is being used, then this parameter must reflect the virtual base address. Otherwise, the physical address should be used.
Returns
  • XST_SUCCESS : if successful.
  • XST_FAILURE : if version mismatched.
Note
None.

References XSdiAud_Config::BaseAddress, XSdiAud::Config, XSdiAud::IsReady, XSdiAud_Enable(), and XSdiAud_SelfTest().

Referenced by XSdiAud_Initialize().

void XSdiAud_ConfigReset ( XSdiAud InstancePtr)

This function is used to soft reset the XSdiAud registers.It resets all the configuration registers.

Parameters
InstancePtris a pointer to the XSdiAud instance.
Returns
None.

References XSdiAud_Config::BaseAddress, XSdiAud::Config, XSDIAUD_SOFT_RST_ACLK_MASK, and XSDIAUD_SOFT_RST_REG_OFFSET.

Referenced by XSdiAud_SelfTest().

void XSdiAud_CoreReset ( XSdiAud InstancePtr,
u8  RstCoreEnable 
)

This function is used to soft reset the XSdiAud core.

Parameters
InstancePtris a pointer to the XSdiAud instance.
RstCoreEnableis to enable or disable. When set to 1(i.e.enable), it resets the embedded core. When set to 0, it clears the reset (i.e.disable).
Returns
None.

References XSdiAud_Config::BaseAddress, XSdiAud::Config, XSDIAUD_SOFT_RST_REG_OFFSET, and XSDIAUD_SOFT_RST_SCLK_MASK.

Referenced by XSdiAud_SelfTest().

void XSdiAud_Emb_EnExtrnLine ( XSdiAud InstancePtr,
u8  XSdiAud_En 
)

This Audio Embed function enables the external line number.

Parameters
InstancePtris a pointer to the XSdiAud instance.
XSdiAud_Encan be 0 or 1, 0 is to disable and 1 is to enable
Returns
none

References XSdiAud_Config::BaseAddress, XSdiAud::Config, XSDIAUD_EMB_VID_CNT_ELE_MASK, XSDIAUD_EMB_VID_CNT_ELE_SHIFT, and XSDIAUD_EMB_VID_CNTRL_REG_OFFSET.

void XSdiAud_Emb_SetAsx ( XSdiAud InstancePtr,
XSdiAud_Asx  XSdiAud_Async_data_flag 
)

This Audio Embed function sets the asynchronous data flag.

Parameters
InstancePtris a pointer to the XSdiAud instance.
XSdiAud_Async_data_flagis the async data flag, it is enum XSdiAud_Asx, it can be 0 or 1. 0 - Synchronous audio 1 - Asynchronous audio
Returns
none

References XSdiAud_Config::BaseAddress, XSdiAud::Config, XSDIAUD_AUD_CNTRL_REG_OFFSET, XSDIAUD_EMB_AUD_CNT_ASX_MASK, and XSDIAUD_EMB_AUD_CNT_ASX_SHIFT.

void XSdiAud_Emb_SetSmpRate ( XSdiAud InstancePtr,
XSdiAud_SampRate  XSdiAud_SRate 
)

This Audio Embed function sets the sampling rate.

Parameters
InstancePtris a pointer to the XSdiAud instance.
XSdiAud_SRateis the sampling rate, it is enum XSdiAud_SampRate, it can be anyone of these 000 - 48 KHz, 001 - 44.1 KHz, 010 - 32 KHz
Returns
none

References XSdiAud_Config::BaseAddress, XSdiAud::Config, XSDIAUD_AUD_CNTRL_REG_OFFSET, XSDIAUD_EMB_AUD_CNT_SR_MASK, and XSDIAUD_SMPLRATE_32.

void XSdiAud_Emb_SetSmpSize ( XSdiAud InstancePtr,
XSdiAud_SampSize  XSdiAud_SSize 
)

This Audio Embed function sets the sample size in only SD Mode.

Parameters
InstancePtris a pointer to the XSdiAud instance.
XSdiAud_SSizeis the sample size, it is enum XSdiAud_SampSize, it can be 0 or 1. 0 - 20 Bit 1 - 24 Bit
Returns
none

References XSdiAud_Config::BaseAddress, XSdiAud::Config, XSDIAUD_AUD_CNTRL_REG_OFFSET, XSDIAUD_EMB_AUD_CNT_SS_MASK, and XSDIAUD_EMB_AUD_CNT_SS_SHIFT.

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.

Parameters
InstancePtris a pointer to the XSdiAud instance.
XSdiAud_VPis the struct containing the video family, rate and video scan information.
Returns
none

References XSdiAud_Config::BaseAddress, XSdiAud::Config, XSDIAUD_EMB_VID_CNT_FAMILY_MASK, XSDIAUD_EMB_VID_CNT_FAMILY_SHIFT, XSDIAUD_EMB_VID_CNT_RATE_MASK, XSDIAUD_EMB_VID_CNT_RATE_SHIFT, XSDIAUD_EMB_VID_CNT_SCAN_MASK, XSDIAUD_EMB_VID_CNT_SCAN_SHIFT, XSDIAUD_EMB_VID_CNTRL_REG_OFFSET, XSdiAud_Emb_Vid_Props::XSdiAud_TFamily, XSdiAud_Emb_Vid_Props::XSdiAud_TRate, and XSdiAud_Emb_Vid_Props::XSdiAud_TScan.

void XSdiAud_Enable ( XSdiAud InstancePtr,
u8  Enable 
)

This function enables/disables the XSdiAud.

Parameters
InstancePtris a pointer to the XSdiAud instance.
Enablespecifies TRUE/FALSE value to either enable or disable the XSdiAud.
Returns
None.

References XSdiAud_Config::BaseAddress, XSdiAud::Config, XSdiAud::IsStarted, XSDIAUD_CNTRL_EN_MASK, and XSDIAUD_CNTRL_REG_OFFSET.

Referenced by XSdiAud_CfgInitialize().

void XSdiAud_Ext_DisableClkPhase ( XSdiAud InstancePtr,
u8  XSdiAud_SetClkP 
)

This Audio Extract function sets the clock phase.

Parameters
InstancePtris a pointer to the XSdiAud instance.
XSdiAud_SetClkPenables the use of clock phase data, 0 is to enable 1 is to disable
Returns
none

References XSdiAud_Config::BaseAddress, XSdiAud::Config, XSDIAUD_AUD_CNTRL_REG_OFFSET, XSDIAUD_EXT_AUD_CNT_CP_EN_MASK, and XSDIAUD_EXT_AUD_CNT_CP_EN_SHIFT.

void XSdiAud_Ext_GetAcChStatus ( XSdiAud InstancePtr,
XSdiAud_ActChSt *  ActChSt 
)

This function reads the active channel information decoded from audio control packet.

Parameters
InstancePtris a pointer to the XSdiAud instance.
ActChStis the pointer to no. of active channels and the channels active in each group.
Returns
None.

References XSdiAud_Config::BaseAddress, XSdiAud::Config, and XSDIAUD_ACT_CH_STAT_REG_OFFSET.

void XSdiAud_Ext_GetAsxStatus ( XSdiAud InstancePtr,
XSdiAud_AsxSt *  AsxSt 
)

This function reads the ASX information decoded from audio control packet.

Bit 0 - Channel 1 & 2 Asx

Bit 1 - Channel 3 & 4 Asx

Bit 15 - Channel 31 & 32 Asx

Parameters
InstancePtris a pointer to the XSdiAud instance.
AsxStis a pointer to the Asx status information of each channel pair.
Returns
None.

References XSdiAud_Config::BaseAddress, XSdiAud::Config, and XSDIAUD_ASX_STAT_REG_OFFSET.

u8 XSdiAud_Ext_GetFIFOOvFlwStatus ( XSdiAud InstancePtr)

This function reads the FIFO overflow status.

Each bit when read as 1, indicates that RX Sample FIFO for that group is overflowing.

Parameters
InstancePtris a pointer to the XSdiAud instance.
Returns
Returns a u8 value, we can know the group overflowing using the bits set in this value.

References XSdiAud_Config::BaseAddress, XSdiAud::Config, and XSDIAUD_EXT_FIFO_OVFLW_ST_REG_OFFSET.

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).

Parameters
InstancePtris a pointer to the XSdiAud instance.
SRStis a pointer to the sample rate information of each channel pair.
Returns
None.

References XSdiAud_Config::BaseAddress, XSdiAud::Config, and XSDIAUD_SR_STAT_REG_OFFSET.

void XSdiAud_GetActGrpStatus ( XSdiAud InstancePtr,
XSdiAud_ActGrpSt *  GrpSt 
)

This function detects the Audio groups and returns the groups which are present.

Parameters
InstancePtris a pointer to the XSdiAud instance.
GrpStis a pointer tp no. of active groups and also which groups are active.
Returns
None.

References XSdiAud_Config::BaseAddress, BIT, XSdiAud::Config, XSDIAUD_ACT_GRP_PRES_REG_OFFSET, and XSDIAUD_GRP_PRESNT_MASK.

void XSdiAud_GetChStat ( XSdiAud InstancePtr,
u8 *  ChStatBuf 
)

This function reads all the Channel Status registers and writes to a buffer.

Parameters
InstancePtris a pointer to the XSdiAud instance.
ChStatBufis a pointer to a buffer.
Returns
None.

References XSdiAud_Config::BaseAddress, XSdiAud::Config, and XSDIAUD_EXT_CH_STAT0_REG_OFFSET.

u32 XSdiAud_GetCoreVersion ( XSdiAud InstancePtr)

This function reads the core version register and returns its value.

Parameters
InstancePtris a pointer to the XSdiAud instance.
Returns
core version register value is returned.

References XSdiAud_Config::BaseAddress, XSdiAud::Config, and XSDIAUD_CORE_VERSION_REG_OFFSET.

u32 XSdiAud_GetIntStat ( XSdiAud InstancePtr)

This function reads the Interrupt Status register and returns its value.

Parameters
InstancePtris a pointer to the XSdiAud instance.
Returns
Interrupt status register value is returned.

References XSdiAud_Config::BaseAddress, XSdiAud::Config, and XSDIAUD_INT_STS_REG_OFFSET.

int XSdiAud_Initialize ( XSdiAud InstancePtr,
u16  DeviceId 
)

Initializes a specific XsdiAud instance such that the driver is ready to use.

Parameters
InstancePtris a pointer to the XSdiAud instance to be worked on.
DeviceIdis the unique id of the device controlled by this XSdiAud instance. Passing in a device id associates the generic XSdiAud instance to a specific device, as chosen by the caller or application developer.
Returns
  • XST_SUCCESS if successful.
  • XST_DEVICE_NOT_FOUND if the device was not found in the configuration such that initialization could not be accomplished.
  • XST_FAILURE if version mismatched

References XSdiAud_Config::BaseAddress, XSdiAud_CfgInitialize(), and XSdiAud_LookupConfig().

Referenced by SdiAud_SelfTestExample().

void XSdiAud_IntrHandler ( void *  InstancePtr)

This function is the interrupt handler for the XSdiaud driver.

This handler reads the pending interrupt from the XSdiaud peripheral, determines the source of the interrupts, clears the interrupts and calls call backs accordingly.

Parameters
InstancePtris a pointer to the XSdiaud instance.
Returns
None.
Note
None.

References XSdiAud::ActiveChannelChangeDetHandler, XSdiAud::ActiveChannelChangeDetHandlerRef, XSdiAud::AesCsChangeDetHandler, XSdiAud::AesCsChangeDetHandlerRef, XSdiAud::AesCsUpdateDetHandler, XSdiAud::AesCsUpdateDetHandlerRef, XSdiAud::AsxChangeDetHandler, XSdiAud::AsxChangeDetHandlerRef, XSdiAud_Config::BaseAddress, XSdiAud::ChecksumErrDetHandler, XSdiAud::ChecksumErrDetHandlerRef, XSdiAud::Config, XSdiAud::FifoOvrflwDetHandler, XSdiAud::FifoOvrflwDetHandlerRef, XSdiAud::GrpChangeDetHandler, XSdiAud::GrpChangeDetHandlerRef, XSdiAud::IsReady, XSdiAud::ParityErrDetHandler, XSdiAud::ParityErrDetHandlerRef, XSdiAud::SampleRateChangeDetHandler, XSdiAud::SampleRateChangeDetHandlerRef, XSdiAud::StatChangeDetHandler, XSdiAud::StatChangeDetHandlerRef, XSdiAud::VidPropChangeDetHandler, XSdiAud::VidPropChangeDetHandlerRef, XSDIAUD_EXT_INT_ST_CERR_MASK, XSDIAUD_EXT_INT_ST_FIFO_OF_MASK, XSDIAUD_EXT_INT_ST_PERR_MASK, XSDIAUD_EXT_INT_ST_VID_PROP_CHANGE_MASK, XSDIAUD_INT_EN_REG_OFFSET, XSDIAUD_INT_ST_AES_CS_CHANGE_MASK, XSDIAUD_INT_ST_AES_CS_UPDATE_MASK, XSDIAUD_INT_ST_ASX_CHANGE_MASK, XSDIAUD_INT_ST_AUD_STAT_UPDATE_MASK, XSDIAUD_INT_ST_CH_CHANGE_MASK, XSDIAUD_INT_ST_GRP_CHANGE_MASK, XSDIAUD_INT_ST_SMP_RATE_CHANGE_MASK, and XSDIAUD_INT_STS_REG_OFFSET.

XSdiAud_Config * XSdiAud_LookupConfig ( u16  DeviceId)

This function returns a reference to an XSdiAud_Config structure based on the core id, DeviceId.

The return value will refer to an entry in the device configuration table defined in the xsdiaud_g.c file.

Parameters
DeviceIdis the unique core ID of the XSdiAud core for the lookup operation.
Returns
returns a reference to a config record in the configuration table corresponding to DeviceId, or NULL if no match is found.
Note
None.

Referenced by XSdiAud_Initialize().

void XSdiAud_MuteCh ( XSdiAud InstancePtr,
u32  XSdiAudMuteChMask 
)

This function mutes a specific channel based on the mask provided.

Parameters
InstancePtris a pointer to the XSdiAud instance.
XSdiAudMuteChMaskis a 32 bit mask used to mute specific channels.
Returns
none

References XSdiAud_Config::BaseAddress, XSdiAud::Config, and XSDIAUD_MUTE_CH_REG_OFFSET.

int XSdiAud_SelfTest ( XSdiAud InstancePtr)

Runs a self-test on the driver/device.

The self-test reads the XSdi_Aud registers and verifies the value.

Parameters
InstancePtris a pointer to the XSdiAud instance.
Returns
  • XST_SUCCESS if successful i.e. if the self test passes.
  • XST_FAILURE if unsuccessful i.e. if the self test fails
Note
None.

References XSdiAud_Config::BaseAddress, XSdiAud::Config, XSdiAud_Config::IsEmbed, XSdiAud_Config::LineRate, XSdiAud_Config::MaxNumChannels, XSDIAUD_10_CHANNELS, XSDIAUD_12_CHANNELS, XSDIAUD_14_CHANNELS, XSDIAUD_16_CHANNELS, XSDIAUD_2_CHANNELS, XSDIAUD_32_CHANNELS, XSDIAUD_4_CHANNELS, XSDIAUD_6_CHANNELS, XSDIAUD_8_CHANNELS, XSdiAud_ConfigReset(), XSdiAud_CoreReset(), XSDIAUD_EXT_CH_STAT0_REG_OFFSET, XSdiAud_GetCh, XSdiAud_GetSdiStd, and XSdiAud_IsEmbed.

Referenced by XSdiAud_CfgInitialize().

void XSdiAud_SetAesChPair ( XSdiAud InstancePtr,
XSdiAud_AesChPair  XSdiAud_ACP 
)

This Audio function selects the aes channel pair.

Parameters
InstancePtris a pointer to the XSdiAud instance.
XSdiAud_ACPis the async data flag, it is enum XSdiAud_AesChPair, it can be any value between 0 to 16.
Returns
none

References XSdiAud_Config::BaseAddress, XSdiAud::Config, XSDIAUD_AUD_CNTRL_REG_OFFSET, XSDIAUD_EMB_AUD_CNT_AES_CH_PAIR_MASK, and XSDIAUD_EMB_AUD_CNT_AES_CH_PAIR_SHIFT.

void XSdiAud_SetCh ( XSdiAud InstancePtr,
u32  XSdiAudSetChMask 
)

This function sets the channel valid register.

Based on the mask provided the corresponding channels are embeddded/extracted onto sdi.

Parameters
InstancePtris a pointer to the XSdiAud instance.
XSdiAudSetChMaskis the 32 bit mask used to set the specific channels.
Returns
none

References XSdiAud_Config::BaseAddress, XSdiAud::Config, and XSDIAUD_VALID_CH_REG_OFFSET.

int XSdiAud_SetHandler ( XSdiAud InstancePtr,
XSdiAud_HandlerType  HandlerType,
XSdiAud_Callback  FuncPtr,
void *  CallbackRef 
)

This function installs an asynchronous callback function for the given HandlerType.

HandlerType                               Callback Function
------------------------------------      ----------------------------------
(XSDIAUD_HANDLER_AUD_GRP_CHNG_DET)        GrpChangeDetHandler
(XSDIAUD_HANDLER_CNTRL_PKT_CHNG_DET)      CntrlPktDetHandler
(XSDIAUD_HANDLER_CHSTAT_CHNG_DET)         StatChangeDetHandler
(XSDIAUD_HANDLER_FIFO_OVRFLW_DET)         FifoOvrflwDetHandler
(XSDIAUD_HANDLER_PARITY_ERR_DET)          ParityErrDetHandler
(XSDIAUD_HANDLER_CHECKSUM_ERR_DET)        ChecksumErrDetHandler
Parameters
InstancePtris a pointer to the XSdiAud core instance.
HandlerTypespecifies the type of handler.
FuncPtris a pointer to the callback function.
CallbackRefis a reference pointer passed on actual calling of the callback function.
Returns
  • XST_SUCCESS if callback function installed successfully.
  • XST_INVALID_PARAM when HandlerType is invalid.
Note
Invoking this function for a handler that already has been installed replaces it with the new handler.

References XSdiAud::ActiveChannelChangeDetHandler, XSdiAud::ActiveChannelChangeDetHandlerRef, XSdiAud::AesCsChangeDetHandler, XSdiAud::AesCsChangeDetHandlerRef, XSdiAud::AesCsUpdateDetHandler, XSdiAud::AesCsUpdateDetHandlerRef, XSdiAud::AsxChangeDetHandler, XSdiAud::AsxChangeDetHandlerRef, XSdiAud::ChecksumErrDetHandler, XSdiAud::ChecksumErrDetHandlerRef, XSdiAud::FifoOvrflwDetHandler, XSdiAud::FifoOvrflwDetHandlerRef, XSdiAud::GrpChangeDetHandler, XSdiAud::GrpChangeDetHandlerRef, XSdiAud::ParityErrDetHandler, XSdiAud::ParityErrDetHandlerRef, XSdiAud::SampleRateChangeDetHandler, XSdiAud::SampleRateChangeDetHandlerRef, XSdiAud::StatChangeDetHandler, XSdiAud::StatChangeDetHandlerRef, XSdiAud::VidPropChangeDetHandler, XSdiAud::VidPropChangeDetHandlerRef, XSDIAUD_HANDLER_ACT_CH_CHNG_DET, XSDIAUD_HANDLER_AES_CS_CHANGE_DET, XSDIAUD_HANDLER_AES_CS_UPDATE_DET, XSDIAUD_HANDLER_ASX_CHNG_DET, XSDIAUD_HANDLER_AUD_GRP_CHNG_DET, XSDIAUD_HANDLER_CHECKSUM_ERR_DET, XSDIAUD_HANDLER_CHSTAT_CHNG_DET, XSDIAUD_HANDLER_FIFO_OVRFLW_DET, XSDIAUD_HANDLER_PARITY_ERR_DET, XSDIAUD_HANDLER_SAMPLE_RATE_CHNG_DET, XSDIAUD_HANDLER_VIDEO_PROP_CHNG_DET, and XSDIAUD_NUM_HANDLERS.