sdiaud
Xilinx SDK Drivers API Documentation
Sdiaud_v1_1

Data Structures

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

Macros

#define XSDIAUD_CHSTAT_NUMBER_OF_BYTES   24
 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_Ext_GetChStat (XSdiAud *InstancePtr, u8 *ChStatBuf)
 This function reads all the Channel Status registers and writes to a buffer. More...
 
u32 XSdiAud_GetIntStat (XSdiAud *InstancePtr)
 This function reads the Interrupt Status register and returns its value. More...
 
void XSdiAud_Emb_SetSmpRate (XSdiAud *InstancePtr, XSdiAud_SampRate XSdiAud_SRate)
 This Audio Embed function sets the sampling rate. More...
 
void XSdiAud_Emb_SetSmpSize (XSdiAud *InstancePtr, XSdiAud_SampSize XSdiAud_SSize)
 This Audio Embed function sets the sample size in only SD Mode. More...
 
void XSdiAud_Emb_SetLineStd (XSdiAud *InstancePtr, XSdiAud_LineStnd XSdiAud_LS)
 This Audio Embed function sets the line standard. More...
 
void XSdiAud_Emb_EnExtrnLine (XSdiAud *InstancePtr, u8 XSdiAud_En)
 This Audio Embed function enables the external line number. More...
 
void XSdiAud_Ext_SetClkPhase (XSdiAud *InstancePtr, u8 XSdiAud_SetClkP)
 This Audio Extract function sets the clock phase. More...
 
XSdiAud_GrpsPrsnt XSdiAud_DetAudGrp (XSdiAud *InstancePtr)
 This function detects the Audio groups and returns the groups which are present. More...
 
void XSdiAud_SetCh (XSdiAud *InstancePtr, XSdiAud_GrpNum XSdiStrtGrpNum, XSdiAud_NumOfCh XSdiANumOfCh)
 This function sets the channel count by taking the number of channels and the start group number as the arguments. More...
 
void XSdiAud_Ext_Mute (XSdiAud *InstancePtr, XSdiAud_GrpNum XSdiAGrpNum, XSdiAud_GrpXChNum XSdiAChNum)
 This function mutes a specific channel in a specific group. More...
 
u32 XSdiAud_Ext_GetActCh (XSdiAud *InstancePtr)
 This function reads the control packet status register and returns the 16 bit active channel field related to the 4 groups. More...
 
void XSdiAud_ResetReg (XSdiAud *InstancePtr)
 This function is used to soft reset the XSdiAud registers.It resets all the configuration registers. More...
 
void XSdiAud_ResetCoreEn (XSdiAud *InstancePtr, u8 RstCoreEnable)
 This function is used to soft reset the XSdiAud core. More...
 
void XSdiAud_Emb_RateCntrlEn (XSdiAud *InstancePtr, u8 XSdiAud_RCE)
 This Audio Embed function controls the rate at which audio samples are inserted on to the SDI stream. More...
 
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_CNTRL_PKT_CHNG_DET, XSDIAUD_HANDLER_CHSTAT_CHNG_DET, XSDIAUD_HANDLER_FIFO_OVRFLW_DET,
  XSDIAUD_HANDLER_PARITY_ERR_DET, XSDIAUD_HANDLER_CHECKSUM_ERR_DET, XSDIAUD_NUM_HANDLERS
}
 These constants specify different types of handlers and is used to differentiate interrupt requests from the XSdiAud peripheral. More...
 
enum  XSdiAud_GrpNum { XSDIAUD_GROUP1 = 1, XSDIAUD_GROUP2, XSDIAUD_GROUP3, XSDIAUD_GROUP4 }
 Group numbers. More...
 
enum  XSdiAud_SampRate { XSDIAUD_SAMPRATE0, XSDIAUD_SAMPRATE1, XSDIAUD_SAMPRATE2 }
 Sampling Rates. More...
 
enum  XSdiAud_SampSize { XSDIAUD_SAMPSIZE0, XSDIAUD_SAMPSIZE1 }
 Sample Size. More...
 
enum  XSdiAud_GrpXChNum { XSDIAUD_GROUPX_CHANNEL1 = 1, XSDIAUD_GROUPX_CHANNEL2, XSDIAUD_GROUPX_CHANNEL3, XSDIAUD_GROUPX_CHANNEL4 }
 Channel number in any Group. More...
 
enum  XSdiAud_LineStnd
 Line standard. More...
 
enum  XSdiAud_NumOfCh {
  XSDIAUD_1_CHANNELS = 1, XSDIAUD_2_CHANNELS, XSDIAUD_3_CHANNELS, XSDIAUD_4_CHANNELS,
  XSDIAUD_5_CHANNELS, XSDIAUD_6_CHANNELS, XSDIAUD_7_CHANNELS, XSDIAUD_8_CHANNELS,
  XSDIAUD_9_CHANNELS, XSDIAUD_10_CHANNELS, XSDIAUD_11_CHANNELS, XSDIAUD_12_CHANNELS,
  XSDIAUD_13_CHANNELS, XSDIAUD_14_CHANNELS, XSDIAUD_15_CHANNELS, XSDIAUD_16_CHANNELS
}
 Number of Channels. More...
 
enum  XSdiAud_ChNum {
  XSDIAUD_CHANNEL1 = 1, XSDIAUD_CHANNEL2, XSDIAUD_CHANNEL3, XSDIAUD_CHANNEL4,
  XSDIAUD_CHANNEL5, XSDIAUD_CHANNEL6, XSDIAUD_CHANNEL7, XSDIAUD_CHANNEL8,
  XSDIAUD_CHANNEL9, XSDIAUD_CHANNEL10, XSDIAUD_CHANNEL11, XSDIAUD_CHANNEL12,
  XSDIAUD_CHANNEL13, XSDIAUD_CHANNEL14, XSDIAUD_CHANNEL15, XSDIAUD_CHANNEL16
}
 Channel Number. More...
 
enum  XSdiAud_GrpsPrsnt {
  XSDIAUD_GROUP_0 = 0, XSDIAUD_GROUP_1, XSDIAUD_GROUP_2, XSDIAUD_GROUP_1_2,
  XSDIAUD_GROUP_3, XSDIAUD_GROUP_1_3, XSDIAUD_GROUP_2_3, XSDIAUD_GROUP_1_2_3,
  XSDIAUD_GROUP_4, XSDIAUD_GROUP_1_4, XSDIAUD_GROUP_2_4, XSDIAUD_GROUP_1_2_4,
  XSDIAUD_GROUP_3_4, XSDIAUD_GROUP_1_3_4, XSDIAUD_GROUP_2_3_4, XSDIAUD_GROUP_ALL,
  XSDIAUD_NUM_CHANNELS
}
 Groups that are present (i.e. More...
 
typedef void(* XSdiAud_Callback) (void *CallbackRef)
 

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_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_AXIS_CHCOUNT_REG_OFFSET   0x1C
 SDI Audio AXI stream channel count register offset. More...
 
#define XSDIAUD_MUX1_OR_DMUX1_CNTRL_REG_OFFSET   0x20
 SDI Audio Mux1 or Dmux1 control register offset. More...
 
#define XSDIAUD_DMUX1_CNTRL_REG_OFFSET   0x20
 SDI Audio DMux1 control register offset. More...
 
#define XSDIAUD_GRP_PRES_REG_OFFSET   0X40
 SDI Audio group presence register offset. More...
 
#define XSDIAUD_EXT_CNTRL_PKTSTAT_REG_OFFSET   0X44
 SDI Audio Extract control packet status register offset. More...
 
#define XSDIAUD_EXT_CH_STAT0_REG_OFFSET   0X48
 SDI Audio Extract channel status register0 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_STD_SHIFT   (0)
 SDI Audio Embed video control line standard shift. More...
 
#define XSDIAUD_EMB_VID_CNT_STD_MASK   (0x1F << XSDIAUD_EMB_VID_CNT_STD_SHIFT)
 SDI Audio Embed video control line standard mask. More...
 
#define XSDIAUD_EMB_VID_CNT_ELE_SHIFT   (5)
 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_RCE_SHIFT   (4)
 SDI Audio Embed audio control Rate Control Enable shift. More...
 
#define XSDIAUD_EMB_AUD_CNT_RCE_MASK   (1 << XSDIAUD_EMB_AUD_CNT_RCE_SHIFT)
 SDI Audio Embed audio control Rate Control Enable 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   (0xF << 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_GRP_CHG_SHIFT   (0)
 SDI Audio interrupt group change detect shift. More...
 
#define XSDIAUD_INT_EN_GRP_CHG_MASK   (1 << XSDIAUD_INT_EN_GRP_CHG_SHIFT)
 SDI Audio interrupt group change detect mask. More...
 
#define XSDIAUD_EXT_INT_EN_PKT_CHG_SHIFT   (1)
 SDI Audio Extract interrupt control packet change detect shift. More...
 
#define XSDIAUD_EXT_INT_EN_PKT_CHG_MASK   (1 << XSDIAUD_EXT_INT_EN_PKT_CHG_SHIFT)
 SDI Audio Extract interrupt control packet change detect mask. More...
 
#define XSDIAUD_EXT_INT_EN_STS_CHG_SHIFT   (2)
 SDI Audio Extract interrupt status change detect shift. More...
 
#define XSDIAUD_EXT_INT_EN_STS_CHG_MASK   (1 << XSDIAUD_EXT_INT_EN_STS_CHG_SHIFT)
 SDI Audio Extract interrupt status change detect mask. More...
 
#define XSDIAUD_EXT_INT_EN_FIFO_OF_SHIFT   (3)
 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_PERR_SHIFT   (4)
 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_EXT_INT_EN_CERR_SHIFT   (5)
 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_INT_ST_GRP_CHG_SHIFT   (0)
 SDI Audio interrupt status group change detect shift. More...
 
#define XSDIAUD_INT_ST_GRP_CHG_MASK   (1 << XSDIAUD_INT_ST_GRP_CHG_SHIFT)
 SDI Audio interrupt status group change detect mask. More...
 
#define XSDIAUD_EXT_INT_ST_PKT_CHG_SHIFT   (1)
 SDI Audio Extract interrupt status control pkt change detect shift. More...
 
#define XSDIAUD_EXT_INT_ST_PKT_CHG_MASK   (1 << XSDIAUD_EXT_INT_ST_PKT_CHG_SHIFT)
 SDI Audio Extract interrupt status control pkt change detect mask. More...
 
#define XSDIAUD_EXT_INT_ST_STS_CHG_SHIFT   (2)
 SDI Audio Extract interrupt status status change detect shift. More...
 
#define XSDIAUD_EXT_INT_ST_STS_CHG_MASK   (1 << XSDIAUD_EXT_INT_ST_STS_CHG_SHIFT)
 SDI Audio Extract status change detect mask. More...
 
#define XSDIAUD_EXT_INT_ST_FIFO_OF_SHIFT   (3)
 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_PERR_SHIFT   (4)
 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_INT_ST_CERR_SHIFT   (5)
 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_AUD_CNT_CP_EN_SHIFT   (0)
 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

◆ XSDIAUD_AUD_CNTRL_REG_OFFSET

#define XSDIAUD_AUD_CNTRL_REG_OFFSET   0x18

#include <xsdiaud_hw.h>

SDI Audio Audio control register offset.

◆ XSDIAUD_AXIS_CHCOUNT_REG_OFFSET

#define XSDIAUD_AXIS_CHCOUNT_REG_OFFSET   0x1C

#include <xsdiaud_hw.h>

SDI Audio AXI stream channel count register offset.

◆ XSDIAUD_CHSTAT_NUMBER_OF_BYTES

#define XSDIAUD_CHSTAT_NUMBER_OF_BYTES   24

#include <xsdiaud.c>

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

Referenced by XSdiAud_Ext_GetChStat().

◆ XSDIAUD_CNTRL_EN_MASK

#define XSDIAUD_CNTRL_EN_MASK   (1 << XSDIAUD_CNTRL_EN_SHIFT)

#include <xsdiaud_hw.h>

SDI Audio Embed enable or Extract enable mask.

◆ XSDIAUD_CNTRL_EN_SHIFT

#define XSDIAUD_CNTRL_EN_SHIFT   (0)

#include <xsdiaud_hw.h>

SDI Audio Embed enable or Extract enable shift.

◆ XSDIAUD_CNTRL_REG_OFFSET

#define XSDIAUD_CNTRL_REG_OFFSET   0x00

#include <xsdiaud_hw.h>

SDI Audio Module control register offset.

◆ XSDIAUD_DMUX1_CNTRL_REG_OFFSET

#define XSDIAUD_DMUX1_CNTRL_REG_OFFSET   0x20

#include <xsdiaud_hw.h>

SDI Audio DMux1 control register offset.

Referenced by XSdiAud_Ext_Mute().

◆ XSDIAUD_EMB_AUD_CNT_RCE_MASK

#define XSDIAUD_EMB_AUD_CNT_RCE_MASK   (1 << XSDIAUD_EMB_AUD_CNT_RCE_SHIFT)

#include <xsdiaud_hw.h>

SDI Audio Embed audio control Rate Control Enable mask.

◆ XSDIAUD_EMB_AUD_CNT_RCE_SHIFT

#define XSDIAUD_EMB_AUD_CNT_RCE_SHIFT   (4)

#include <xsdiaud_hw.h>

SDI Audio Embed audio control Rate Control Enable shift.

◆ XSDIAUD_EMB_AUD_CNT_SR_MASK

#define XSDIAUD_EMB_AUD_CNT_SR_MASK   (0x7 << XSDIAUD_EMB_AUD_CNT_SR_SHIFT)

#include <xsdiaud_hw.h>

SDI Audio Embed audio control SD sample rate mask.

◆ XSDIAUD_EMB_AUD_CNT_SR_SHIFT

#define XSDIAUD_EMB_AUD_CNT_SR_SHIFT   (0)

#include <xsdiaud_hw.h>

SDI Audio Embed audio control SD sample rate shift.

◆ XSDIAUD_EMB_AUD_CNT_SS_MASK

#define XSDIAUD_EMB_AUD_CNT_SS_MASK   (1 << XSDIAUD_EMB_AUD_CNT_SS_SHIFT)

#include <xsdiaud_hw.h>

SDI Audio Embed audio control SD sample size mask.

◆ XSDIAUD_EMB_AUD_CNT_SS_SHIFT

#define XSDIAUD_EMB_AUD_CNT_SS_SHIFT   (3)

#include <xsdiaud_hw.h>

SDI Audio Embed audio control SD sample size shift.

◆ XSDIAUD_EMB_AXIS_CHCOUNT_MASK

#define XSDIAUD_EMB_AXIS_CHCOUNT_MASK   (0x1F << XSDIAUD_EMB_AXIS_CHCOUNT_SHIFT)

#include <xsdiaud_hw.h>

SDI Audio Embed AXIS channel count mask.

◆ XSDIAUD_EMB_AXIS_CHCOUNT_SHIFT

#define XSDIAUD_EMB_AXIS_CHCOUNT_SHIFT   (0)

#include <xsdiaud_hw.h>

SDI Audio Embed AXIS channel count shift.

◆ XSDIAUD_EMB_VID_CNT_ELE_MASK

#define XSDIAUD_EMB_VID_CNT_ELE_MASK   (1 << XSDIAUD_EMB_VID_CNT_ELE_SHIFT)

#include <xsdiaud_hw.h>

SDI Audio Embed video control external line enable mask.

◆ XSDIAUD_EMB_VID_CNT_ELE_SHIFT

#define XSDIAUD_EMB_VID_CNT_ELE_SHIFT   (5)

#include <xsdiaud_hw.h>

SDI Audio Embed video control external line enable shift.

◆ XSDIAUD_EMB_VID_CNT_STD_MASK

#define XSDIAUD_EMB_VID_CNT_STD_MASK   (0x1F << XSDIAUD_EMB_VID_CNT_STD_SHIFT)

#include <xsdiaud_hw.h>

SDI Audio Embed video control line standard mask.

◆ XSDIAUD_EMB_VID_CNT_STD_SHIFT

#define XSDIAUD_EMB_VID_CNT_STD_SHIFT   (0)

#include <xsdiaud_hw.h>

SDI Audio Embed video control line standard shift.

◆ XSDIAUD_EMB_VID_CNTRL_REG_OFFSET

#define XSDIAUD_EMB_VID_CNTRL_REG_OFFSET   0X14

#include <xsdiaud_hw.h>

SDI Audio Embed Video control register offset.

◆ XSDIAUD_EMD_MUX_CNT_GS_MASK

#define XSDIAUD_EMD_MUX_CNT_GS_MASK   (0x3 << XSDIAUD_EMD_MUX_CNT_GS_SHIFT)

#include <xsdiaud_hw.h>

SDI Audio Embed Mux group select mask.

◆ XSDIAUD_EMD_MUX_CNT_GS_SHIFT

#define XSDIAUD_EMD_MUX_CNT_GS_SHIFT   (0)

#include <xsdiaud_hw.h>

SDI Audio Embed Mux group select shift.

◆ XSDIAUD_EXT_AUD_CNT_CP_EN_MASK

#define XSDIAUD_EXT_AUD_CNT_CP_EN_MASK   (1 << XSDIAUD_EXT_AUD_CNT_CP_EN_SHIFT)

#include <xsdiaud_hw.h>

SDI Audio Extract audio clock phase enable mask.

◆ XSDIAUD_EXT_AUD_CNT_CP_EN_SHIFT

#define XSDIAUD_EXT_AUD_CNT_CP_EN_SHIFT   (0)

#include <xsdiaud_hw.h>

SDI Audio Extract audio clock phase enable shift.

◆ XSDIAUD_EXT_AXIS_CHCOUNT_MASK

#define XSDIAUD_EXT_AXIS_CHCOUNT_MASK   (0x1F << XSDIAUD_EXT_AXIS_CHCOUNT_SHIFT)

#include <xsdiaud_hw.h>

SDI Audio Extract AXIS channel count mask.

◆ XSDIAUD_EXT_AXIS_CHCOUNT_SHIFT

#define XSDIAUD_EXT_AXIS_CHCOUNT_SHIFT   (0)

#include <xsdiaud_hw.h>

SDI Audio Extract AXIS channel count shift.

◆ XSDIAUD_EXT_CH_STAT0_REG_OFFSET

#define XSDIAUD_EXT_CH_STAT0_REG_OFFSET   0X48

#include <xsdiaud_hw.h>

SDI Audio Extract channel status register0 offset.

Referenced by XSdiAud_Ext_GetChStat().

◆ XSDIAUD_EXT_CNTRL_PKTSTAT_REG_OFFSET

#define XSDIAUD_EXT_CNTRL_PKTSTAT_REG_OFFSET   0X44

#include <xsdiaud_hw.h>

SDI Audio Extract control packet status register offset.

◆ XSDIAUD_EXT_DMUX_GRPS_MASK

#define XSDIAUD_EXT_DMUX_GRPS_MASK   (0x3 << XSDIAUD_EXT_DMUX_GRPS_SHIFT)

#include <xsdiaud_hw.h>

SDI Audio Extract DMux group select mask.

◆ XSDIAUD_EXT_DMUX_GRPS_SHIFT

#define XSDIAUD_EXT_DMUX_GRPS_SHIFT   (0)

#include <xsdiaud_hw.h>

SDI Audio Extract DMux group select shift.

◆ XSDIAUD_EXT_DMUX_MUTE1_MASK

#define XSDIAUD_EXT_DMUX_MUTE1_MASK   (0x1 << XSDIAUD_EXT_DMUX_MUTE_SHIFT)

#include <xsdiaud_hw.h>

SDI Audio Extract Dmux mute channel 1 mask.

◆ XSDIAUD_EXT_DMUX_MUTE2_MASK

#define XSDIAUD_EXT_DMUX_MUTE2_MASK   (0x2 << XSDIAUD_EXT_DMUX_MUTE_SHIFT)

#include <xsdiaud_hw.h>

SDI Audio Extract Dmux mute channel 2 mask.

◆ XSDIAUD_EXT_DMUX_MUTE3_MASK

#define XSDIAUD_EXT_DMUX_MUTE3_MASK   (0x4 << XSDIAUD_EXT_DMUX_MUTE_SHIFT)

#include <xsdiaud_hw.h>

SDI Audio Extract Dmux mute channel 3 mask.

◆ XSDIAUD_EXT_DMUX_MUTE4_MASK

#define XSDIAUD_EXT_DMUX_MUTE4_MASK   (0x8 << XSDIAUD_EXT_DMUX_MUTE_SHIFT)

#include <xsdiaud_hw.h>

SDI Audio Extract Dmux mute channel 4 mask.

◆ XSDIAUD_EXT_DMUX_MUTE_SHIFT

#define XSDIAUD_EXT_DMUX_MUTE_SHIFT   (2)

#include <xsdiaud_hw.h>

SDI Audio Extract DMux mute channel shift.

◆ XSDIAUD_EXT_DMUX_MUTEALL_MASK

#define XSDIAUD_EXT_DMUX_MUTEALL_MASK   (0xF << XSDIAUD_EXT_DMUX_MUTE_SHIFT)

#include <xsdiaud_hw.h>

SDI Audio Extract DMux mute all channels mask.

◆ XSDIAUD_EXT_INT_EN_CERR_MASK

#define XSDIAUD_EXT_INT_EN_CERR_MASK   (1 << XSDIAUD_EXT_INT_EN_CERR_SHIFT)

#include <xsdiaud_hw.h>

SDI Audio Extract interrupt checksum error detect mask.

◆ XSDIAUD_EXT_INT_EN_CERR_SHIFT

#define XSDIAUD_EXT_INT_EN_CERR_SHIFT   (5)

#include <xsdiaud_hw.h>

SDI Audio Extract interrupt checksum error detect shift.

◆ XSDIAUD_EXT_INT_EN_FIFO_OF_MASK

#define XSDIAUD_EXT_INT_EN_FIFO_OF_MASK   (1 << XSDIAUD_EXT_INT_EN_FIFO_OF_SHIFT)

#include <xsdiaud_hw.h>

SDI Audio Extract interrupt FIFO overflow detect mask.

◆ XSDIAUD_EXT_INT_EN_FIFO_OF_SHIFT

#define XSDIAUD_EXT_INT_EN_FIFO_OF_SHIFT   (3)

#include <xsdiaud_hw.h>

SDI Audio Extract interrupt FIFO overflow detect shift.

◆ XSDIAUD_EXT_INT_EN_PERR_MASK

#define XSDIAUD_EXT_INT_EN_PERR_MASK   (1 << XSDIAUD_EXT_INT_EN_PERR_SHIFT)

#include <xsdiaud_hw.h>

SDI Audio Extract interrupt parity error detect mask.

◆ XSDIAUD_EXT_INT_EN_PERR_SHIFT

#define XSDIAUD_EXT_INT_EN_PERR_SHIFT   (4)

#include <xsdiaud_hw.h>

SDI Audio Extract interrupt parity error detect shift.

◆ XSDIAUD_EXT_INT_EN_PKT_CHG_MASK

#define XSDIAUD_EXT_INT_EN_PKT_CHG_MASK   (1 << XSDIAUD_EXT_INT_EN_PKT_CHG_SHIFT)

#include <xsdiaud_hw.h>

SDI Audio Extract interrupt control packet change detect mask.

◆ XSDIAUD_EXT_INT_EN_PKT_CHG_SHIFT

#define XSDIAUD_EXT_INT_EN_PKT_CHG_SHIFT   (1)

#include <xsdiaud_hw.h>

SDI Audio Extract interrupt control packet change detect shift.

◆ XSDIAUD_EXT_INT_EN_STS_CHG_MASK

#define XSDIAUD_EXT_INT_EN_STS_CHG_MASK   (1 << XSDIAUD_EXT_INT_EN_STS_CHG_SHIFT)

#include <xsdiaud_hw.h>

SDI Audio Extract interrupt status change detect mask.

◆ XSDIAUD_EXT_INT_EN_STS_CHG_SHIFT

#define XSDIAUD_EXT_INT_EN_STS_CHG_SHIFT   (2)

#include <xsdiaud_hw.h>

SDI Audio Extract interrupt status change detect shift.

◆ XSDIAUD_EXT_INT_ST_CERR_MASK

#define XSDIAUD_EXT_INT_ST_CERR_MASK   (1 << XSDIAUD_EXT_INT_ST_CERR_SHIFT)

#include <xsdiaud_hw.h>

SDI Audio Extract interrupt status checksum error detect mask.

◆ XSDIAUD_EXT_INT_ST_CERR_SHIFT

#define XSDIAUD_EXT_INT_ST_CERR_SHIFT   (5)

#include <xsdiaud_hw.h>

SDI Audio Extract interrupt status checksum error detect shift.

◆ XSDIAUD_EXT_INT_ST_FIFO_OF_MASK

#define XSDIAUD_EXT_INT_ST_FIFO_OF_MASK   (1 << XSDIAUD_EXT_INT_ST_FIFO_OF_SHIFT)

#include <xsdiaud_hw.h>

SDI Audio Extract interrupt status FIFO overflow detect mask.

◆ XSDIAUD_EXT_INT_ST_FIFO_OF_SHIFT

#define XSDIAUD_EXT_INT_ST_FIFO_OF_SHIFT   (3)

#include <xsdiaud_hw.h>

SDI Audio Extract interrupt status FIFO overflow detect shift.

◆ XSDIAUD_EXT_INT_ST_PERR_MASK

#define XSDIAUD_EXT_INT_ST_PERR_MASK   (1 << XSDIAUD_EXT_INT_ST_PERR_SHIFT)

#include <xsdiaud_hw.h>

SDI Audio Extract interrupt status parity error detect mask.

◆ XSDIAUD_EXT_INT_ST_PERR_SHIFT

#define XSDIAUD_EXT_INT_ST_PERR_SHIFT   (4)

#include <xsdiaud_hw.h>

SDI Audio Extract interrupt status parity error detect shift.

◆ XSDIAUD_EXT_INT_ST_PKT_CHG_MASK

#define XSDIAUD_EXT_INT_ST_PKT_CHG_MASK   (1 << XSDIAUD_EXT_INT_ST_PKT_CHG_SHIFT)

#include <xsdiaud_hw.h>

SDI Audio Extract interrupt status control pkt change detect mask.

◆ XSDIAUD_EXT_INT_ST_PKT_CHG_SHIFT

#define XSDIAUD_EXT_INT_ST_PKT_CHG_SHIFT   (1)

#include <xsdiaud_hw.h>

SDI Audio Extract interrupt status control pkt change detect shift.

◆ XSDIAUD_EXT_INT_ST_STS_CHG_MASK

#define XSDIAUD_EXT_INT_ST_STS_CHG_MASK   (1 << XSDIAUD_EXT_INT_ST_STS_CHG_SHIFT)

#include <xsdiaud_hw.h>

SDI Audio Extract status change detect mask.

◆ XSDIAUD_EXT_INT_ST_STS_CHG_SHIFT

#define XSDIAUD_EXT_INT_ST_STS_CHG_SHIFT   (2)

#include <xsdiaud_hw.h>

SDI Audio Extract interrupt status status change detect shift.

◆ XSDIAUD_EXT_PKTST_AC_MASK

#define XSDIAUD_EXT_PKTST_AC_MASK   (0xFFFF << XSDIAUD_EXT_PKTST_AC_SHIFT)

#include <xsdiaud_hw.h>

SDI Audio Extract control packet status group active channel mask.

◆ XSDIAUD_EXT_PKTST_AC_SHIFT

#define XSDIAUD_EXT_PKTST_AC_SHIFT   (12)

#include <xsdiaud_hw.h>

SDI Audio Extract control packet status group active channel shift.

◆ XSDIAUD_EXT_PKTST_SR_MASK

#define XSDIAUD_EXT_PKTST_SR_MASK   (0xFFF << XSDIAUD_EXT_PKTST_SR_SHIFT)

#include <xsdiaud_hw.h>

SDI Audio Extract control packet status sampling rate mask.

◆ XSDIAUD_EXT_PKTST_SR_SHIFT

#define XSDIAUD_EXT_PKTST_SR_SHIFT   (0)

#include <xsdiaud_hw.h>

SDI Audio Extract control packet status sampling rate shift.

◆ XSdiAud_GetCh

#define XSdiAud_GetCh (   InstancePtr)

#include <xsdiaud_selftest.c>

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

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

◆ XSdiAud_GetSdiStd

#define XSdiAud_GetSdiStd (   InstancePtr)

#include <xsdiaud_selftest.c>

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

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

◆ XSDIAUD_GRP_PRES_REG_OFFSET

#define XSDIAUD_GRP_PRES_REG_OFFSET   0X40

#include <xsdiaud_hw.h>

SDI Audio group presence register offset.

◆ XSDIAUD_GRP_PRESNT_MASK

#define XSDIAUD_GRP_PRESNT_MASK   (0xF << XSDIAUD_GRP_PRESNT_SHIFT)

#include <xsdiaud_hw.h>

SDI Audio group present value mask.

◆ XSDIAUD_GRP_PRESNT_SHIFT

#define XSDIAUD_GRP_PRESNT_SHIFT   (0)

#include <xsdiaud_hw.h>

SDI Audio group present value shift.

◆ XSDIAUD_GRP_PRESNTV_MASK

#define XSDIAUD_GRP_PRESNTV_MASK   (1 << XSDIAUD_GRP_PRESNTV_SHIFT)

#include <xsdiaud_hw.h>

SDI Audio group present valid mask.

◆ XSDIAUD_GRP_PRESNTV_SHIFT

#define XSDIAUD_GRP_PRESNTV_SHIFT   (4)

#include <xsdiaud_hw.h>

SDI Audio group present valid shift.

◆ XSDIAUD_GUI_AUDF_MASK

#define XSDIAUD_GUI_AUDF_MASK   (1 << XSDIAUD_GUI_AUDF_SHIFT)

#include <xsdiaud_hw.h>

SDI Audio GUI audio function parameter mask.

◆ XSDIAUD_GUI_AUDF_SHIFT

#define XSDIAUD_GUI_AUDF_SHIFT   (6)

#include <xsdiaud_hw.h>

SDI Audio GUI audio function parameter shift.

◆ XSDIAUD_GUI_AXIE_MASK

#define XSDIAUD_GUI_AXIE_MASK   (1 << XSDIAUD_GUI_AXIE_SHIFT)

#include <xsdiaud_hw.h>

SDI Audio GUI AXI-lite enable parameter mask.

◆ XSDIAUD_GUI_AXIE_SHIFT

#define XSDIAUD_GUI_AXIE_SHIFT   (7)

#include <xsdiaud_hw.h>

SDI Audio GUI AXI-lite enable parameter shift.

◆ XSDIAUD_GUI_CHAN_MASK

#define XSDIAUD_GUI_CHAN_MASK   (0xF << XSDIAUD_GUI_CHAN_SHIFT)

#include <xsdiaud_hw.h>

SDI Audio GUI Channels parameter mask.

◆ XSDIAUD_GUI_CHAN_SHIFT

#define XSDIAUD_GUI_CHAN_SHIFT   (0)

#include <xsdiaud_hw.h>

SDI Audio GUI Channels parameter shift.

◆ XSDIAUD_GUI_CHSTAT_EXTR_MASK

#define XSDIAUD_GUI_CHSTAT_EXTR_MASK   (1 << XSDIAUD_GUI_CHSTAT_EXTR_SHIFT)

#include <xsdiaud_hw.h>

SDI Audio GUI channel status extract parameter mask.

◆ XSDIAUD_GUI_CHSTAT_EXTR_SHIFT

#define XSDIAUD_GUI_CHSTAT_EXTR_SHIFT   (8)

#include <xsdiaud_hw.h>

SDI Audio GUI Channel status extract parameter shift.

◆ XSDIAUD_GUI_PARAM_REG_OFFSET

#define XSDIAUD_GUI_PARAM_REG_OFFSET   0XFC

#include <xsdiaud_hw.h>

SDI Audio GUI parameters register offset.

◆ XSDIAUD_GUI_STD_MASK

#define XSDIAUD_GUI_STD_MASK   (0x3 << XSDIAUD_GUI_STD_SHIFT)

#include <xsdiaud_hw.h>

SDI Audio GUI UHD Standard parameter mask.

◆ XSDIAUD_GUI_STD_SHIFT

#define XSDIAUD_GUI_STD_SHIFT   (4)

#include <xsdiaud_hw.h>

SDI Audio GUI UHD SDI standard parameter shift.

◆ XSdiAud_In32

#define XSdiAud_In32   Xil_In32

#include <xsdiaud_hw.h>

Input Operations.

◆ XSDIAUD_INT_EN_GRP_CHG_MASK

#define XSDIAUD_INT_EN_GRP_CHG_MASK   (1 << XSDIAUD_INT_EN_GRP_CHG_SHIFT)

#include <xsdiaud_hw.h>

SDI Audio interrupt group change detect mask.

◆ XSDIAUD_INT_EN_GRP_CHG_SHIFT

#define XSDIAUD_INT_EN_GRP_CHG_SHIFT   (0)

#include <xsdiaud_hw.h>

SDI Audio interrupt group change detect shift.

◆ XSDIAUD_INT_EN_REG_OFFSET

#define XSDIAUD_INT_EN_REG_OFFSET   0x0C

#include <xsdiaud_hw.h>

SDI Audio Interrupt enable register offset.

◆ XSDIAUD_INT_ST_GRP_CHG_MASK

#define XSDIAUD_INT_ST_GRP_CHG_MASK   (1 << XSDIAUD_INT_ST_GRP_CHG_SHIFT)

#include <xsdiaud_hw.h>

SDI Audio interrupt status group change detect mask.

◆ XSDIAUD_INT_ST_GRP_CHG_SHIFT

#define XSDIAUD_INT_ST_GRP_CHG_SHIFT   (0)

#include <xsdiaud_hw.h>

SDI Audio interrupt status group change detect shift.

◆ XSDIAUD_INT_STS_REG_OFFSET

#define XSDIAUD_INT_STS_REG_OFFSET   0x10

#include <xsdiaud_hw.h>

SDI Audio Interrupt status register offset.

◆ XSdiAud_IsEmbed

#define XSdiAud_IsEmbed (   InstancePtr)

#include <xsdiaud_selftest.c>

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

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

◆ XSDIAUD_MUX1_OR_DMUX1_CNTRL_REG_OFFSET

#define XSDIAUD_MUX1_OR_DMUX1_CNTRL_REG_OFFSET   0x20

#include <xsdiaud_hw.h>

SDI Audio Mux1 or Dmux1 control register offset.

◆ XSdiAud_Out32

#define XSdiAud_Out32   Xil_Out32

#include <xsdiaud_hw.h>

Output Operations.

◆ XSDIAUD_SOFT_RST_ACLK_MASK

#define XSDIAUD_SOFT_RST_ACLK_MASK   (1 << XSDIAUD_SOFT_RST_ACLK_SHIFT)

#include <xsdiaud_hw.h>

SDI Audio Embed soft reset aclk mask.

◆ XSDIAUD_SOFT_RST_ACLK_SHIFT

#define XSDIAUD_SOFT_RST_ACLK_SHIFT   (0)

#include <xsdiaud_hw.h>

SDI Audio Embed soft reset aclk shift.

◆ XSDIAUD_SOFT_RST_REG_OFFSET

#define XSDIAUD_SOFT_RST_REG_OFFSET   0x04

#include <xsdiaud_hw.h>

SDI Audio Soft reset register offset.

◆ XSDIAUD_SOFT_RST_SCLK_MASK

#define XSDIAUD_SOFT_RST_SCLK_MASK   (1 << XSDIAUD_SOFT_RST_SCLK_SHIFT)

#include <xsdiaud_hw.h>

SDI Audio soft reset sclk mask.

◆ XSDIAUD_SOFT_RST_SCLK_SHIFT

#define XSDIAUD_SOFT_RST_SCLK_SHIFT   (1)

#include <xsdiaud_hw.h>

SDI Audio soft reset sclk shift.

◆ XSDIAUD_VER_MASK

#define XSDIAUD_VER_MASK   (0xFF << XSDIAUD_VER_SHIFT)

#include <xsdiaud_hw.h>

SDI Audio version mask.

◆ XSDIAUD_VER_SHIFT

#define XSDIAUD_VER_SHIFT   (0)

#include <xsdiaud_hw.h>

SDI Audio version shift.

Enumeration Type Documentation

◆ XSdiAud_ChNum

#include <xsdiaud.h>

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_GrpNum

#include <xsdiaud.h>

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.

◆ XSdiAud_GrpsPrsnt

#include <xsdiaud.h>

Groups that are present (i.e.

all the combinations) These constants specify different Group combinations

Enumerator
XSDIAUD_GROUP_0 

All Groups are absent.

XSDIAUD_GROUP_1 

Group 1 is present.

XSDIAUD_GROUP_2 

Group 2 is present.

XSDIAUD_GROUP_1_2 

Group 1 and 2 are present.

XSDIAUD_GROUP_3 

Group 3 is present.

XSDIAUD_GROUP_1_3 

Group 1 and 3 are present.

XSDIAUD_GROUP_2_3 

Group 2 and 3 are present.

XSDIAUD_GROUP_1_2_3 

Group 1, 2 and 3 are present.

XSDIAUD_GROUP_4 

Group 4 is present.

XSDIAUD_GROUP_1_4 

Group 1 and 4 are present.

XSDIAUD_GROUP_2_4 

Group 2 and 4 are present.

XSDIAUD_GROUP_1_2_4 

Group 1, 2 and 4 are present.

XSDIAUD_GROUP_3_4 

Group 3 and 4 are present.

XSDIAUD_GROUP_1_3_4 

Group 1, 3 and 4 are present.

XSDIAUD_GROUP_2_3_4 

Group 2, 3 and 4 are present.

XSDIAUD_GROUP_ALL 

All Groups are present.

XSDIAUD_NUM_CHANNELS 

Number of Group combinations.

◆ XSdiAud_GrpXChNum

#include <xsdiaud.h>

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.

◆ XSdiAud_HandlerType

#include <xsdiaud.h>

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_CNTRL_PKT_CHNG_DET 

Control packet change detect handler.

XSDIAUD_HANDLER_CHSTAT_CHNG_DET 

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

◆ XSdiAud_LineStnd

#include <xsdiaud.h>

Line standard.

These constants specify different line standards

◆ XSdiAud_NumOfCh

#include <xsdiaud.h>

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_SampRate

#include <xsdiaud.h>

Sampling Rates.

These constants specify different audio Sampling Rates

Enumerator
XSDIAUD_SAMPRATE0 

000 - 48 KHz

XSDIAUD_SAMPRATE1 

001 - 44.1 KHz

XSDIAUD_SAMPRATE2 

010 - 32 KHz

◆ XSdiAud_SampSize

#include <xsdiaud.h>

Sample Size.

These constants specify different Sample Size

Enumerator
XSDIAUD_SAMPSIZE0 

0 - 20 Bit Audio Sample

XSDIAUD_SAMPSIZE1 

1 - 24 Bit Audio Sample

Function Documentation

◆ XSdiAud_CfgInitialize()

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

#include <xsdiaud.c>

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

◆ XSdiAud_DetAudGrp()

XSdiAud_GrpsPrsnt XSdiAud_DetAudGrp ( XSdiAud InstancePtr)

#include <xsdiaud.c>

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

Parameters
InstancePtris a pointer to the XSdiAud instance.
Returns
Return type is enum XSdiAud_GrpsPrsnt, by this we can know the groups which are present.

◆ XSdiAud_Emb_EnExtrnLine()

void XSdiAud_Emb_EnExtrnLine ( XSdiAud InstancePtr,
u8  XSdiAud_En 
)

#include <xsdiaud.c>

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

◆ XSdiAud_Emb_RateCntrlEn()

void XSdiAud_Emb_RateCntrlEn ( XSdiAud InstancePtr,
u8  XSdiAud_RCE 
)

#include <xsdiaud.c>

This Audio Embed function controls the rate at which audio samples are inserted on to the SDI stream.

Parameters
InstancePtris a pointer to the XSdiAud instance.
XSdiAud_RCEcan be 0 or 1. 0 - Audio samples are inserted when they are available. 1 - Number of audio samples per video line are limited based on video resolution, frame rate and audio sample rate.
Returns
none

◆ XSdiAud_Emb_SetLineStd()

void XSdiAud_Emb_SetLineStd ( XSdiAud InstancePtr,
XSdiAud_LineStnd  XSdiAud_LS 
)

#include <xsdiaud.c>

This Audio Embed function sets the line standard.

Parameters
InstancePtris a pointer to the XSdiAud instance.
XSdiAud_LSis the line standard, it is enum XSdiAud_LineStnd.
Returns
none

◆ XSdiAud_Emb_SetSmpRate()

void XSdiAud_Emb_SetSmpRate ( XSdiAud InstancePtr,
XSdiAud_SampRate  XSdiAud_SRate 
)

#include <xsdiaud.c>

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

◆ XSdiAud_Emb_SetSmpSize()

void XSdiAud_Emb_SetSmpSize ( XSdiAud InstancePtr,
XSdiAud_SampSize  XSdiAud_SSize 
)

#include <xsdiaud.c>

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

◆ XSdiAud_Enable()

void XSdiAud_Enable ( XSdiAud InstancePtr,
u8  Enable 
)

#include <xsdiaud.c>

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.

Referenced by XSdiAud_CfgInitialize().

◆ XSdiAud_Ext_GetActCh()

u32 XSdiAud_Ext_GetActCh ( XSdiAud InstancePtr)

#include <xsdiaud.c>

This function reads the control packet status register and returns the 16 bit active channel field related to the 4 groups.

Parameters
InstancePtris a pointer to the XSdiAud instance.
Returns
Active channel field (type u32) is returned.

◆ XSdiAud_Ext_GetChStat()

void XSdiAud_Ext_GetChStat ( XSdiAud InstancePtr,
u8 *  ChStatBuf 
)

#include <xsdiaud.c>

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_CHSTAT_NUMBER_OF_BYTES, and XSDIAUD_EXT_CH_STAT0_REG_OFFSET.

◆ XSdiAud_Ext_Mute()

void XSdiAud_Ext_Mute ( XSdiAud InstancePtr,
XSdiAud_GrpNum  XSdiAGrpNum,
XSdiAud_GrpXChNum  XSdiAChNum 
)

#include <xsdiaud.c>

This function mutes a specific channel in a specific group.

Parameters
InstancePtris a pointer to the XSdiAud instance.
XSdiAGrpNumis the group number, it is enum XSdiAud_GrpNum, its value can be 1 or 2 or 3 or 4.
XSdiAChNumis channel number, it is enum XSdiAud_GrpXChNum, its value can be 1 or 2 or 3 or 4.
Returns
none

References XSdiAud::NumOfCh, XSdiAud::StrtGrpNum, XSDIAUD_DMUX1_CNTRL_REG_OFFSET, XSDIAUD_GROUPX_CHANNEL2, and XSDIAUD_GROUPX_CHANNEL4.

◆ XSdiAud_Ext_SetClkPhase()

void XSdiAud_Ext_SetClkPhase ( XSdiAud InstancePtr,
u8  XSdiAud_SetClkP 
)

#include <xsdiaud.c>

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

◆ XSdiAud_GetIntStat()

u32 XSdiAud_GetIntStat ( XSdiAud InstancePtr)

#include <xsdiaud.c>

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.

◆ XSdiAud_Initialize()

int XSdiAud_Initialize ( XSdiAud InstancePtr,
u16  DeviceId 
)

#include <xsdiaud.h>

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

◆ XSdiAud_IntrHandler()

void XSdiAud_IntrHandler ( void *  InstancePtr)

#include <xsdiaud.h>

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

◆ XSdiAud_LookupConfig()

XSdiAud_Config* XSdiAud_LookupConfig ( u16  DeviceId)

#include <xsdiaud.h>

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

◆ XSdiAud_ResetCoreEn()

void XSdiAud_ResetCoreEn ( XSdiAud InstancePtr,
u8  RstCoreEnable 
)

#include <xsdiaud.c>

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.

Referenced by SdiAud_SelfTestExample().

◆ XSdiAud_ResetReg()

void XSdiAud_ResetReg ( XSdiAud InstancePtr)

#include <xsdiaud.c>

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.

Referenced by SdiAud_SelfTestExample().

◆ XSdiAud_SelfTest()

int XSdiAud_SelfTest ( XSdiAud InstancePtr)

#include <xsdiaud.h>

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, 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_4_CHANNELS, XSDIAUD_6_CHANNELS, XSDIAUD_8_CHANNELS, XSdiAud_GetCh, XSdiAud_GetSdiStd, and XSdiAud_IsEmbed.

Referenced by XSdiAud_CfgInitialize().

◆ XSdiAud_SetCh()

void XSdiAud_SetCh ( XSdiAud InstancePtr,
XSdiAud_GrpNum  XSdiStrtGrpNum,
XSdiAud_NumOfCh  XSdiANumOfCh 
)

#include <xsdiaud.c>

This function sets the channel count by taking the number of channels and the start group number as the arguments.

This API writes to the Mux or DeMux control registers, the number of Mux or DeMux control registers written, depends on the number of channels.

Parameters
InstancePtris a pointer to the XSdiAud instance.
XSdiStrtGrpNumis start group number, it is enum XSdiAud_GrpNum, its value can be 1 or 2 or 3 or 4.
XSdiANumOfChis number of channels, it is enum XSdiAud_NumOfCh, its value can be any value from 1 to 16.
Returns
none

References XSDIAUD_12_CHANNELS, XSDIAUD_16_CHANNELS, XSDIAUD_4_CHANNELS, XSDIAUD_8_CHANNELS, XSDIAUD_GROUP1, XSDIAUD_GROUP2, XSDIAUD_GROUP3, and XSDIAUD_GROUP4.

◆ XSdiAud_SetHandler()

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

#include <xsdiaud.h>

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.