| sdiaud Vitis Drivers API Documentation

- Overview
- Data Structures
- APIs
- File List

Data Structures | Macros | Functions
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_Config * | XSdiAud_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

SDI Audio Audio control register offset.

Referenced by XSdiAud_Emb_SetAsx(), XSdiAud_Emb_SetSmpRate(), XSdiAud_Emb_SetSmpSize(), XSdiAud_Ext_DisableClkPhase(), and XSdiAud_SetAesChPair().

#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, \
(XSDIAUD_GUI_PARAM_REG_OFFSET)) \
& XSDIAUD_GUI_CHAN_MASK) >> XSDIAUD_GUI_CHAN_SHIFT)
XSDIAUD_GUI_PARAM_REG_OFFSET
#define XSDIAUD_GUI_PARAM_REG_OFFSET
SDI Audio GUI parameters register offset.
Definition: xsdiaud_hw.h:92
XSDIAUD_GUI_CHAN_SHIFT
#define XSDIAUD_GUI_CHAN_SHIFT
SDI Audio GUI Channels parameter shift.
Definition: xsdiaud_hw.h:334
XSDIAUD_GUI_CHAN_MASK
#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

  InstancePtr | is 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, \
(XSDIAUD_GUI_PARAM_REG_OFFSET)) \
& XSDIAUD_GUI_STD_MASK) >> XSDIAUD_GUI_STD_SHIFT)
XSDIAUD_GUI_PARAM_REG_OFFSET
#define XSDIAUD_GUI_PARAM_REG_OFFSET
SDI Audio GUI parameters register offset.
Definition: xsdiaud_hw.h:92
XSDIAUD_GUI_STD_SHIFT
#define XSDIAUD_GUI_STD_SHIFT
SDI Audio GUI UHD SDI standard parameter shift.
Definition: xsdiaud_hw.h:339
XSDIAUD_GUI_STD_MASK
#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

  InstancePtr | is 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, \
(XSDIAUD_GUI_PARAM_REG_OFFSET)) \
& XSDIAUD_GUI_AUDF_MASK) >> XSDIAUD_GUI_AUDF_SHIFT) ? TRUE : FALSE)
XSDIAUD_GUI_AUDF_MASK
#define XSDIAUD_GUI_AUDF_MASK
SDI Audio GUI audio function parameter mask.
Definition: xsdiaud_hw.h:346
XSDIAUD_GUI_PARAM_REG_OFFSET
#define XSDIAUD_GUI_PARAM_REG_OFFSET
SDI Audio GUI parameters register offset.
Definition: xsdiaud_hw.h:92
XSDIAUD_GUI_AUDF_SHIFT
#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

  InstancePtr | is 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

enum XSdiAud_AesChPair

AES channel pair.

These constants specify different aes channel pairs

enum XSdiAud_Asx

Asynchronous data flag.

These constants specify different asynchronous data flag

enum XSdiAud_ChNum

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

enum XSdiAud_GrpNum

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.

enum XSdiAud_GrpXChNum

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.

enum XSdiAud_HandlerType

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.

enum XSdiAud_NumOfCh

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

enum XSdiAud_SampRate

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

enum XSdiAud_SampSize

Sample Size.

These constants specify different Sample Size

Enumerator
XSDIAUD_SAMPSIZE0 | 0 - 20 Bit Audio Sample
XSDIAUD_SAMPSIZE1 | 1 - 24 Bit Audio Sample

enum XSdiAud_VidFam

Video Family.

These constants specify different video families

enum XSdiAud_VidRate

Video Rate.

These constants specify different video rates

enum XSdiAud_VidScan

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

  InstancePtr | is a pointer to the XSdiAud instance.
  CfgPtr | points to the configuration structure associated with the XSdiAud.
  EffectiveAddr | is 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

  InstancePtr | is 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

  InstancePtr | is a pointer to the XSdiAud instance.
  RstCoreEnable | is 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

  InstancePtr | is a pointer to the XSdiAud instance.
  XSdiAud_En | can 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

  InstancePtr | is a pointer to the XSdiAud instance.
  XSdiAud_Async_data_flag | is 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

  InstancePtr | is a pointer to the XSdiAud instance.
  XSdiAud_SRate | is 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

  InstancePtr | is a pointer to the XSdiAud instance.
  XSdiAud_SSize | is 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

  InstancePtr | is a pointer to the XSdiAud instance.
  XSdiAud_VP | is 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

  InstancePtr | is a pointer to the XSdiAud instance.
  Enable | specifies 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

  InstancePtr | is a pointer to the XSdiAud instance.
  XSdiAud_SetClkP | enables 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

  InstancePtr | is a pointer to the XSdiAud instance.
  ActChSt | is 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

  InstancePtr | is a pointer to the XSdiAud instance.
  AsxSt | is 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

  InstancePtr | is 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

  InstancePtr | is a pointer to the XSdiAud instance.
  SRSt | is 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

  InstancePtr | is a pointer to the XSdiAud instance.
  GrpSt | is 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

  InstancePtr | is a pointer to the XSdiAud instance.
  ChStatBuf | is 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

  InstancePtr | is 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

  InstancePtr | is 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

  InstancePtr | is a pointer to the XSdiAud instance to be worked on.
  DeviceId | is 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

  InstancePtr | is 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

  DeviceId | is 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

  InstancePtr | is a pointer to the XSdiAud instance.
  XSdiAudMuteChMask | is 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

  InstancePtr | is 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

  InstancePtr | is a pointer to the XSdiAud instance.
  XSdiAud_ACP | is 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

  InstancePtr | is a pointer to the XSdiAud instance.
  XSdiAudSetChMask | is 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

  InstancePtr | is a pointer to the XSdiAud core instance.
  HandlerType | specifies the type of handler.
  FuncPtr | is a pointer to the callback function.
  CallbackRef | is 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.