![]() |
sdiaud
Xilinx SDK Drivers API Documentation
|
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_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... | |
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)) |
#define XSDIAUD_AUD_CNTRL_REG_OFFSET 0x18 |
#include <xsdiaud_hw.h>
SDI Audio Audio control register offset.
#define XSDIAUD_AXIS_CHCOUNT_REG_OFFSET 0x1C |
#include <xsdiaud_hw.h>
SDI Audio AXI stream channel count register offset.
#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().
#define XSDIAUD_CNTRL_EN_MASK (1 << XSDIAUD_CNTRL_EN_SHIFT) |
#include <xsdiaud_hw.h>
SDI Audio Embed enable or Extract enable mask.
#define XSDIAUD_CNTRL_EN_SHIFT (0) |
#include <xsdiaud_hw.h>
SDI Audio Embed enable or Extract enable shift.
#define XSDIAUD_CNTRL_REG_OFFSET 0x00 |
#include <xsdiaud_hw.h>
SDI Audio Module control register offset.
#define XSDIAUD_DMUX1_CNTRL_REG_OFFSET 0x20 |
#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.
#define XSDIAUD_EMB_AUD_CNT_RCE_SHIFT (4) |
#include <xsdiaud_hw.h>
SDI Audio Embed audio control Rate Control Enable shift.
#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.
#define XSDIAUD_EMB_AUD_CNT_SR_SHIFT (0) |
#include <xsdiaud_hw.h>
SDI Audio Embed audio control SD sample rate shift.
#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.
#define XSDIAUD_EMB_AUD_CNT_SS_SHIFT (3) |
#include <xsdiaud_hw.h>
SDI Audio Embed audio control SD sample size shift.
#define XSDIAUD_EMB_AXIS_CHCOUNT_MASK (0x1F << XSDIAUD_EMB_AXIS_CHCOUNT_SHIFT) |
#include <xsdiaud_hw.h>
SDI Audio Embed AXIS channel count mask.
#define XSDIAUD_EMB_AXIS_CHCOUNT_SHIFT (0) |
#include <xsdiaud_hw.h>
SDI Audio Embed AXIS channel count shift.
#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.
#define XSDIAUD_EMB_VID_CNT_ELE_SHIFT (5) |
#include <xsdiaud_hw.h>
SDI Audio Embed video control external line enable shift.
#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.
#define XSDIAUD_EMB_VID_CNT_STD_SHIFT (0) |
#include <xsdiaud_hw.h>
SDI Audio Embed video control line standard shift.
#define XSDIAUD_EMB_VID_CNTRL_REG_OFFSET 0X14 |
#include <xsdiaud_hw.h>
SDI Audio Embed Video control register offset.
#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.
#define XSDIAUD_EMD_MUX_CNT_GS_SHIFT (0) |
#include <xsdiaud_hw.h>
SDI Audio Embed Mux group select shift.
#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.
#define XSDIAUD_EXT_AUD_CNT_CP_EN_SHIFT (0) |
#include <xsdiaud_hw.h>
SDI Audio Extract audio clock phase enable shift.
#define XSDIAUD_EXT_AXIS_CHCOUNT_MASK (0x1F << XSDIAUD_EXT_AXIS_CHCOUNT_SHIFT) |
#include <xsdiaud_hw.h>
SDI Audio Extract AXIS channel count mask.
#define XSDIAUD_EXT_AXIS_CHCOUNT_SHIFT (0) |
#include <xsdiaud_hw.h>
SDI Audio Extract AXIS channel count shift.
#define XSDIAUD_EXT_CH_STAT0_REG_OFFSET 0X48 |
#include <xsdiaud_hw.h>
SDI Audio Extract channel status register0 offset.
Referenced by XSdiAud_Ext_GetChStat().
#define XSDIAUD_EXT_CNTRL_PKTSTAT_REG_OFFSET 0X44 |
#include <xsdiaud_hw.h>
SDI Audio Extract control packet status register offset.
#define XSDIAUD_EXT_DMUX_GRPS_MASK (0x3 << XSDIAUD_EXT_DMUX_GRPS_SHIFT) |
#include <xsdiaud_hw.h>
SDI Audio Extract DMux group select mask.
#define XSDIAUD_EXT_DMUX_GRPS_SHIFT (0) |
#include <xsdiaud_hw.h>
SDI Audio Extract DMux group select shift.
#define XSDIAUD_EXT_DMUX_MUTE1_MASK (0x1 << XSDIAUD_EXT_DMUX_MUTE_SHIFT) |
#include <xsdiaud_hw.h>
SDI Audio Extract Dmux mute channel 1 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.
#define XSDIAUD_EXT_DMUX_MUTE3_MASK (0x4 << XSDIAUD_EXT_DMUX_MUTE_SHIFT) |
#include <xsdiaud_hw.h>
SDI Audio Extract Dmux mute channel 3 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.
#define XSDIAUD_EXT_DMUX_MUTE_SHIFT (2) |
#include <xsdiaud_hw.h>
SDI Audio Extract DMux mute channel shift.
#define XSDIAUD_EXT_DMUX_MUTEALL_MASK (0xF << XSDIAUD_EXT_DMUX_MUTE_SHIFT) |
#include <xsdiaud_hw.h>
SDI Audio Extract DMux mute all channels 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.
#define XSDIAUD_EXT_INT_EN_CERR_SHIFT (5) |
#include <xsdiaud_hw.h>
SDI Audio Extract interrupt checksum error detect shift.
#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.
#define XSDIAUD_EXT_INT_EN_FIFO_OF_SHIFT (3) |
#include <xsdiaud_hw.h>
SDI Audio Extract interrupt FIFO overflow detect shift.
#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.
#define XSDIAUD_EXT_INT_EN_PERR_SHIFT (4) |
#include <xsdiaud_hw.h>
SDI Audio Extract interrupt parity error detect shift.
#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.
#define XSDIAUD_EXT_INT_EN_PKT_CHG_SHIFT (1) |
#include <xsdiaud_hw.h>
SDI Audio Extract interrupt control packet change detect shift.
#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.
#define XSDIAUD_EXT_INT_EN_STS_CHG_SHIFT (2) |
#include <xsdiaud_hw.h>
SDI Audio Extract interrupt status change detect shift.
#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.
#define XSDIAUD_EXT_INT_ST_CERR_SHIFT (5) |
#include <xsdiaud_hw.h>
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) |
#include <xsdiaud_hw.h>
SDI Audio Extract interrupt status FIFO overflow detect mask.
#define XSDIAUD_EXT_INT_ST_FIFO_OF_SHIFT (3) |
#include <xsdiaud_hw.h>
SDI Audio Extract interrupt status FIFO overflow detect shift.
#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.
#define XSDIAUD_EXT_INT_ST_PERR_SHIFT (4) |
#include <xsdiaud_hw.h>
SDI Audio Extract interrupt status parity error detect shift.
#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.
#define XSDIAUD_EXT_INT_ST_PKT_CHG_SHIFT (1) |
#include <xsdiaud_hw.h>
SDI Audio Extract interrupt status control pkt change detect shift.
#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.
#define XSDIAUD_EXT_INT_ST_STS_CHG_SHIFT (2) |
#include <xsdiaud_hw.h>
SDI Audio Extract interrupt status status change detect shift.
#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.
#define XSDIAUD_EXT_PKTST_AC_SHIFT (12) |
#include <xsdiaud_hw.h>
SDI Audio Extract control packet status group active channel shift.
#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.
#define XSDIAUD_EXT_PKTST_SR_SHIFT (0) |
#include <xsdiaud_hw.h>
SDI Audio Extract control packet status sampling rate shift.
#define XSdiAud_GetCh | ( | InstancePtr | ) |
#include <xsdiaud_selftest.c>
This macro returns the XSdiAud Channel field of the GUI register.
InstancePtr | is a pointer to the XSdiAud core instance. |
Referenced by XSdiAud_SelfTest().
#define XSdiAud_GetSdiStd | ( | InstancePtr | ) |
#include <xsdiaud_selftest.c>
This macro returns the XSdiAud UHD-SDI standard.
InstancePtr | is a pointer to the XSdiAud core instance. |
Referenced by XSdiAud_SelfTest().
#define XSDIAUD_GRP_PRES_REG_OFFSET 0X40 |
#include <xsdiaud_hw.h>
SDI Audio group presence register offset.
#define XSDIAUD_GRP_PRESNT_MASK (0xF << XSDIAUD_GRP_PRESNT_SHIFT) |
#include <xsdiaud_hw.h>
SDI Audio group present value mask.
#define XSDIAUD_GRP_PRESNT_SHIFT (0) |
#include <xsdiaud_hw.h>
SDI Audio group present value shift.
#define XSDIAUD_GRP_PRESNTV_MASK (1 << XSDIAUD_GRP_PRESNTV_SHIFT) |
#include <xsdiaud_hw.h>
SDI Audio group present valid mask.
#define XSDIAUD_GRP_PRESNTV_SHIFT (4) |
#include <xsdiaud_hw.h>
SDI Audio group present valid shift.
#define XSDIAUD_GUI_AUDF_MASK (1 << XSDIAUD_GUI_AUDF_SHIFT) |
#include <xsdiaud_hw.h>
SDI Audio GUI audio function parameter mask.
#define XSDIAUD_GUI_AUDF_SHIFT (6) |
#include <xsdiaud_hw.h>
SDI Audio GUI audio function parameter shift.
#define XSDIAUD_GUI_AXIE_MASK (1 << XSDIAUD_GUI_AXIE_SHIFT) |
#include <xsdiaud_hw.h>
SDI Audio GUI AXI-lite enable parameter mask.
#define XSDIAUD_GUI_AXIE_SHIFT (7) |
#include <xsdiaud_hw.h>
SDI Audio GUI AXI-lite enable parameter shift.
#define XSDIAUD_GUI_CHAN_MASK (0xF << XSDIAUD_GUI_CHAN_SHIFT) |
#include <xsdiaud_hw.h>
SDI Audio GUI Channels parameter mask.
#define XSDIAUD_GUI_CHAN_SHIFT (0) |
#include <xsdiaud_hw.h>
SDI Audio GUI Channels parameter shift.
#define XSDIAUD_GUI_CHSTAT_EXTR_MASK (1 << XSDIAUD_GUI_CHSTAT_EXTR_SHIFT) |
#include <xsdiaud_hw.h>
SDI Audio GUI channel status extract parameter mask.
#define XSDIAUD_GUI_CHSTAT_EXTR_SHIFT (8) |
#include <xsdiaud_hw.h>
SDI Audio GUI Channel status extract parameter shift.
#define XSDIAUD_GUI_PARAM_REG_OFFSET 0XFC |
#include <xsdiaud_hw.h>
SDI Audio GUI parameters register offset.
#define XSDIAUD_GUI_STD_MASK (0x3 << XSDIAUD_GUI_STD_SHIFT) |
#include <xsdiaud_hw.h>
SDI Audio GUI UHD Standard parameter mask.
#define XSDIAUD_GUI_STD_SHIFT (4) |
#include <xsdiaud_hw.h>
SDI Audio GUI UHD SDI standard parameter shift.
#define XSdiAud_In32 Xil_In32 |
#include <xsdiaud_hw.h>
Input Operations.
#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.
#define XSDIAUD_INT_EN_GRP_CHG_SHIFT (0) |
#include <xsdiaud_hw.h>
SDI Audio interrupt group change detect shift.
#define XSDIAUD_INT_EN_REG_OFFSET 0x0C |
#include <xsdiaud_hw.h>
SDI Audio Interrupt enable register offset.
#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.
#define XSDIAUD_INT_ST_GRP_CHG_SHIFT (0) |
#include <xsdiaud_hw.h>
SDI Audio interrupt status group change detect shift.
#define XSDIAUD_INT_STS_REG_OFFSET 0x10 |
#include <xsdiaud_hw.h>
SDI Audio Interrupt status register offset.
#define XSdiAud_IsEmbed | ( | InstancePtr | ) |
#include <xsdiaud_selftest.c>
This macro returns the XSdiAud operating mode.
InstancePtr | is a pointer to the XSdiAud core instance. |
Referenced by XSdiAud_SelfTest().
#define XSDIAUD_MUX1_OR_DMUX1_CNTRL_REG_OFFSET 0x20 |
#include <xsdiaud_hw.h>
SDI Audio Mux1 or Dmux1 control register offset.
#define XSdiAud_Out32 Xil_Out32 |
#include <xsdiaud_hw.h>
Output Operations.
#define XSDIAUD_SOFT_RST_ACLK_MASK (1 << XSDIAUD_SOFT_RST_ACLK_SHIFT) |
#include <xsdiaud_hw.h>
SDI Audio Embed soft reset aclk mask.
#define XSDIAUD_SOFT_RST_ACLK_SHIFT (0) |
#include <xsdiaud_hw.h>
SDI Audio Embed soft reset aclk shift.
#define XSDIAUD_SOFT_RST_REG_OFFSET 0x04 |
#include <xsdiaud_hw.h>
SDI Audio Soft reset register offset.
#define XSDIAUD_SOFT_RST_SCLK_MASK (1 << XSDIAUD_SOFT_RST_SCLK_SHIFT) |
#include <xsdiaud_hw.h>
SDI Audio soft reset sclk mask.
#define XSDIAUD_SOFT_RST_SCLK_SHIFT (1) |
#include <xsdiaud_hw.h>
SDI Audio soft reset sclk shift.
#define XSDIAUD_VER_MASK (0xFF << XSDIAUD_VER_SHIFT) |
#include <xsdiaud_hw.h>
SDI Audio version mask.
#define XSDIAUD_VER_SHIFT (0) |
#include <xsdiaud_hw.h>
SDI Audio version shift.
enum XSdiAud_ChNum |
#include <xsdiaud.h>
Channel Number.
These constants specify Channel number
enum 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. |
enum XSdiAud_GrpsPrsnt |
#include <xsdiaud.h>
Groups that are present (i.e.
all the combinations) These constants specify different Group combinations
enum 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
enum XSdiAud_HandlerType |
#include <xsdiaud.h>
These constants specify different types of handlers and is used to differentiate interrupt requests from the XSdiAud peripheral.
enum XSdiAud_LineStnd |
enum XSdiAud_NumOfCh |
#include <xsdiaud.h>
Number of Channels.
These constants specify number of channels
enum 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 |
enum 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 |
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.
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. |
References XSdiAud_Config::BaseAddress, XSdiAud::Config, XSdiAud::IsReady, XSdiAud_Enable(), and XSdiAud_SelfTest().
Referenced by XSdiAud_Initialize().
XSdiAud_GrpsPrsnt XSdiAud_DetAudGrp | ( | XSdiAud * | InstancePtr | ) |
void XSdiAud_Emb_EnExtrnLine | ( | XSdiAud * | InstancePtr, |
u8 | XSdiAud_En | ||
) |
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.
InstancePtr | is a pointer to the XSdiAud instance. |
XSdiAud_RCE | can 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. |
void XSdiAud_Emb_SetLineStd | ( | XSdiAud * | InstancePtr, |
XSdiAud_LineStnd | XSdiAud_LS | ||
) |
void XSdiAud_Emb_SetSmpRate | ( | XSdiAud * | InstancePtr, |
XSdiAud_SampRate | XSdiAud_SRate | ||
) |
#include <xsdiaud.c>
This Audio Embed function sets the sampling rate.
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 |
References XSDIAUD_SAMPRATE2.
void XSdiAud_Emb_SetSmpSize | ( | XSdiAud * | InstancePtr, |
XSdiAud_SampSize | XSdiAud_SSize | ||
) |
void XSdiAud_Enable | ( | XSdiAud * | InstancePtr, |
u8 | Enable | ||
) |
#include <xsdiaud.c>
This function enables/disables the XSdiAud.
InstancePtr | is a pointer to the XSdiAud instance. |
Enable | specifies TRUE/FALSE value to either enable or disable the XSdiAud. |
Referenced by XSdiAud_CfgInitialize().
u32 XSdiAud_Ext_GetActCh | ( | XSdiAud * | InstancePtr | ) |
void XSdiAud_Ext_GetChStat | ( | XSdiAud * | InstancePtr, |
u8 * | ChStatBuf | ||
) |
#include <xsdiaud.c>
This function reads all the Channel Status registers and writes to a buffer.
InstancePtr | is a pointer to the XSdiAud instance. |
ChStatBuf | is a pointer to a buffer. |
References XSDIAUD_CHSTAT_NUMBER_OF_BYTES, and XSDIAUD_EXT_CH_STAT0_REG_OFFSET.
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.
InstancePtr | is a pointer to the XSdiAud instance. |
XSdiAGrpNum | is the group number, it is enum XSdiAud_GrpNum, its value can be 1 or 2 or 3 or 4. |
XSdiAChNum | is channel number, it is enum XSdiAud_GrpXChNum, its value can be 1 or 2 or 3 or 4. |
References XSdiAud::NumOfCh, XSdiAud::StrtGrpNum, XSDIAUD_DMUX1_CNTRL_REG_OFFSET, XSDIAUD_GROUPX_CHANNEL2, and XSDIAUD_GROUPX_CHANNEL4.
void XSdiAud_Ext_SetClkPhase | ( | XSdiAud * | InstancePtr, |
u8 | XSdiAud_SetClkP | ||
) |
u32 XSdiAud_GetIntStat | ( | XSdiAud * | InstancePtr | ) |
int XSdiAud_Initialize | ( | XSdiAud * | InstancePtr, |
u16 | DeviceId | ||
) |
#include <xsdiaud.h>
Initializes a specific XsdiAud instance such that the driver is ready to use.
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. |
References XSdiAud_Config::BaseAddress, XSdiAud_CfgInitialize(), and XSdiAud_LookupConfig().
Referenced by SdiAud_SelfTestExample().
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.
InstancePtr | is a pointer to the XSdiaud instance. |
References XSdiAud::IsReady.
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.
DeviceId | is the unique core ID of the XSdiAud core for the lookup operation. |
Referenced by XSdiAud_Initialize().
void XSdiAud_ResetCoreEn | ( | XSdiAud * | InstancePtr, |
u8 | RstCoreEnable | ||
) |
#include <xsdiaud.c>
This function is used to soft reset the XSdiAud core.
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). |
Referenced by SdiAud_SelfTestExample().
void XSdiAud_ResetReg | ( | XSdiAud * | InstancePtr | ) |
#include <xsdiaud.c>
This function is used to soft reset the XSdiAud registers.It resets all the configuration registers.
InstancePtr | is a pointer to the XSdiAud instance. |
Referenced by SdiAud_SelfTestExample().
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.
InstancePtr | is a pointer to the XSdiAud instance. |
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().
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.
InstancePtr | is a pointer to the XSdiAud instance. |
XSdiStrtGrpNum | is start group number, it is enum XSdiAud_GrpNum, its value can be 1 or 2 or 3 or 4. |
XSdiANumOfCh | is number of channels, it is enum XSdiAud_NumOfCh, its value can be any value from 1 to 16. |
References XSDIAUD_12_CHANNELS, XSDIAUD_16_CHANNELS, XSDIAUD_4_CHANNELS, XSDIAUD_8_CHANNELS, XSDIAUD_GROUP1, XSDIAUD_GROUP2, XSDIAUD_GROUP3, and XSDIAUD_GROUP4.
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
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. |