v_hdmitx
Xilinx SDK Drivers API Documentation
xv_hdmitx.h File Reference

Overview

This is the main header file for Xilinx HDMI TX core.

HDMI TX core is used for transmitting the incoming video and audio streams. It consists of

  • Transmitter core
  • AXI4-Stream to Video Bridge
  • Video Timing Controller and
  • High-bandwidth Digital Content Protection (HDCP) (Optional).

The HDMI TX uses three AXI interfaces for Video, Audio and Processor:

  • AXI4-Stream interface for Video, can be single, dual or quad pixels per clock and supports 8 and 10 bits per component.
  • AXI4-Stream interface for Audio, accepts multiple channels uncompressed and compressed audio data.
  • AXI4-Lite interface for processor, controls the transmitter. Please do refer AXI Reference Guide (UG761) for more information on AXI interfaces.

Transmitter core performs following operations:

  • Converts video data from the video clock domain into the link clock domain.
  • TMDS (Transition Minimized Differential Signaling) encoding.
  • Merges encoded video data and packet data into a single HDMI stream.
  • Optional HDMI stream is encrypted by an external HDCP module.
  • Over samples HDMI stream if stream bandwidth is too low for the transceiver to handle.
  • Scrambles encrypted/HDMI stream if data rate is above 3.4 Gbps otherwise bypasses the Scrambler.

AXI Video Bridge converts the incoming video AXI-stream to native video.

Video Timing Controller (VTC) generates the native video timing.

Core Features

For a full description of HDMI TX features, please see the hardware specification.

Software Initialization & Configuration

The application needs to do following steps in order for preparing the HDMI TX core to be ready.

  • Call XV_HdmiTx_LookupConfig using a device ID to find the core configuration.
  • Call XV_HdmiTx_CfgInitialize to initialize the device and the driver instance associated with it.

Interrupts

This driver provides interrupt handlers

  • XV_HdmiTx_IntrHandler, for handling the interrupts from the HDMI TX core PIO and DDC peripheral respectively.

Application developer needs to register interrupt handler with the processor, within their examples. Whenever processor calls registered application's interrupt handler associated with interrupt id, application's interrupt handler needs to call appropriate peripheral interrupt handler reading peripheral's Status register.

This driver provides XV_HdmiTx_SetCallback API to register functions with HDMI TX core instance.

Virtual Memory

This driver supports Virtual Memory. The RTOS is responsible for calculating the correct device base address in Virtual Memory space.

Threads

This driver is not thread safe. Any needs for threads or thread mutual exclusion must be satisfied by the layer above this driver.

Asserts

Asserts are used within all Xilinx drivers to enforce constraints on argument values. Asserts can be turned off on a system-wide basis by defining at compile time, the NDEBUG identifier. By default, asserts are turned on and it is recommended that users leave asserts on during development.

Building the driver

The HDMI TX driver is composed of several source files. This allows the user to build and link only those parts of the driver that are necessary.

  MODIFICATION HISTORY:
*s
  Ver   Who    Date     Changes

1.00 10/07/15 Initial release. 1.1 yh 15/01/16 Add 3D Support 1.2 MG 09/03/16 Added XV_HdmiTx_SetHdmiMode and XV_HdmiTx_SetDviMode. Removed support for reduced blanking 1.3 YH 25/07/16 Used UINTPTR instead of u32 for BaseAddress XV_HdmiTx_Config XV_HdmiTx_CfgInitialize 1.4 YH 17/08/16 Added XV_HdmiTx_SetAxiClkFreq 1.5 YH 14/11/16 Added XV_HdmiTx_Bridge_yuv420 & XV_HdmiTx_Bridge_pixel mode macros 1.6 MG 28/03/17 Added XV_HdmiTx_Mask macros 1.7 YH 19/07/17 Added XV_HdmiTx_IsMasked macro 22/08/17 Added XV_HdmiTx_Audio_LPCM macro Added XV_HdmiTx_Audio_HBR macro 1.8 YH 06/10/17 Replaced XV_HdmiTx_Audio_LPCM and XV_HdmiTx_Audio_HBR macro with API XV_HdmiTx_SetAudioFormat Added XV_HdmiTx_GetAudioFormat 1.9 EB 24/10/17 Added enum XV_HdmiTx_AudioFormatType 1.10 MMO 19/12/17 Added XV_HdmiTx_SetTmdsClk API 2.0 EB 16/01/18 Updated function XV_HdmiTx_SetTmdsClk and renamed to XV_HdmiTx_ConfigTmdsClk Moved Vendor Specific InfoFrame related functions to HDMI Common library Deprecating XV_HdmiTx_VSIF_GeneratePacket, XV_HdmiTx_VSIF_DisplayInfo, XV_HdmiTx_VSIF_3DStructToString, XV_HdmiTx_VSIF_3DSampMethodToString and XV_HdmiTx_VSIF_3DSampPosToString APIs Moved VicTable, XV_HdmiTx_Aux to Hdmi Common library EB 24/01/18 Added OverrideHdmi14Scrambler to XV_HdmiTx_Stream

Data Structures

struct  XV_HdmiTx_Config
 This typedef contains configuration information for the HDMI TX core. More...
 
struct  XV_HdmiTx_AudioStream
 This typedef contains audio stream specific data structure. More...
 
struct  XV_HdmiTx_Stream
 This typedef contains HDMI TX stream specific data structure. More...
 
struct  XV_HdmiTx
 The XV_HdmiTx driver instance data. More...
 

Macros

#define XV_HDMITX_H_
 Prevent circular inclusions by using protection macros. More...
 

Enumerations

Handler Types
enum  XV_HdmiTx_HandlerType
 These constants specify different types of handler and used to differentiate interrupt requests from peripheral. More...
 
HDMI TX stream status
enum  XV_HdmiTx_State
 

HDMI TX audio format

#define XV_HdmiTx_GetVersion(InstancePtr)
 This macro reads the TX version. More...
 
#define XV_HdmiTx_Reset(InstancePtr, Reset)
 This macro asserts or releases the HDMI TX reset. More...
 
#define XV_HdmiTx_SetScrambler(InstancePtr, SetClr)
 This macro controls the HDMI TX Scrambler. More...
 
#define XV_HdmiTx_Bridge_yuv420(InstancePtr, SetClr)
 This macro controls the YUV420 mode for video bridge. More...
 
#define XV_HdmiTx_Bridge_pixel(InstancePtr, SetClr)
 This macro controls the Pixel Repeat mode for video bridge. More...
 
#define XV_HdmiTx_PioEnable(InstancePtr)
 This macro enables the HDMI TX PIO peripheral. More...
 
#define XV_HdmiTx_PioDisable(InstancePtr)
 This macro disables the HDMI TX PIO peripheral. More...
 
#define XV_HdmiTx_PioIntrEnable(InstancePtr)
 This macro enables interrupt in the HDMI TX PIO peripheral. More...
 
#define XV_HdmiTx_PioIntrDisable(InstancePtr)
 This macro disables interrupt in the HDMI TX PIO peripheral. More...
 
#define XV_HdmiTx_PioIntrClear(InstancePtr)
 This macro clears HDMI TX PIO interrupt. More...
 
#define XV_HdmiTx_DdcEnable(InstancePtr)
 This macro enables the HDMI TX Display Data Channel (DDC) peripheral. More...
 
#define XV_HdmiTx_DdcDisable(InstancePtr)
 This macro disables the HDMI TX Display Data Channel (DDC) peripheral. More...
 
#define XV_HdmiTx_DdcIntrEnable(InstancePtr)
 This macro enables interrupt in the HDMI TX DDC peripheral. More...
 
#define XV_HdmiTx_DdcIntrDisable(InstancePtr)
 This macro disables interrupt in the HDMI TX DDC peripheral. More...
 
#define XV_HdmiTx_DdcIntrClear(InstancePtr)
 This macro clears HDMI TX DDC interrupt. More...
 
#define XV_HdmiTx_AuxEnable(InstancePtr)
 This macro enables the HDMI TX Auxiliary (AUX) peripheral. More...
 
#define XV_HdmiTx_AuxDisable(InstancePtr)
 This macro disables the HDMI TX Auxiliary (AUX) peripheral. More...
 
#define XV_HdmiTx_AuxIntrEnable(InstancePtr)
 This macro enables interrupt in the HDMI TX AUX peripheral. More...
 
#define XV_HdmiTx_AuxIntrDisable(InstancePtr)
 This macro disables interrupt in the HDMI TX AUX peripheral. More...
 
#define XV_HdmiTx_AudioEnable(InstancePtr)
 This macro enables audio in HDMI TX core. More...
 
#define XV_HdmiTx_AudioDisable(InstancePtr)
 This macro disables audio in HDMI TX core. More...
 
#define XV_HdmiTx_AudioUnmute(InstancePtr)
 This macro unmutes audio in HDMI TX core. More...
 
#define XV_HdmiTx_AudioMute(InstancePtr)
 This macro mutes audio in HDMI TX core. More...
 
#define XV_HdmiTx_SetMode(InstancePtr)
 This macro sets the mode bit. More...
 
#define XV_HdmiTx_ClearMode(InstancePtr)
 This macro clears the mode bit. More...
 
#define XV_HdmiTx_GetMode(InstancePtr)
 This macro provides the current mode. More...
 
#define XV_HdmiTx_GetSampleRate(InstancePtr)   (InstancePtr)->Stream.SampleRate
 This macro provides the current sample rate. More...
 
#define XV_HdmiTx_GetAudioChannels(InstancePtr)   (InstancePtr)->Stream.Audio.Channels
 This macro provides the active audio channels. More...
 
#define XV_HdmiTx_GetPixelPackingPhase(InstancePtr)
 This macro provides the current pixel packing phase. More...
 
#define XV_HdmiTx_MaskDisable(InstancePtr)
 This macro disables video mask in HDMI TX core. More...
 
#define XV_HdmiTx_MaskEnable(InstancePtr)
 This macro enables video mask in HDMI TX core. More...
 
#define XV_HdmiTx_MaskNoise(InstancePtr, SetClr)
 This macro enables or disables the noise in the video mask. More...
 
#define XV_HdmiTx_MaskSetRed(InstancePtr, Value)
 This macro sets the red component value in the video mask. More...
 
#define XV_HdmiTx_MaskSetGreen(InstancePtr, Value)
 This macro sets the green component value in the video mask. More...
 
#define XV_HdmiTx_MaskSetBlue(InstancePtr, Value)
 This macro sets the blue component value in the video mask. More...
 
#define XV_HdmiTx_IsMasked(InstancePtr)
 This macro provides the current video mask mode. More...
 
enum  XV_HdmiTx_AudioFormatType
 
typedef void(* XV_HdmiTx_Callback) (void *CallbackRef)
 Callback type for Vsync event interrupt. More...
 
XV_HdmiTx_ConfigXV_HdmiTx_LookupConfig (u16 DeviceId)
 This function returns a reference to an XV_HdmiTx_Config structure based on the core id, DeviceId. More...
 
int XV_HdmiTx_CfgInitialize (XV_HdmiTx *InstancePtr, XV_HdmiTx_Config *CfgPtr, UINTPTR EffectiveAddr)
 This function initializes the HDMI TX core. More...
 
void XV_HdmiTx_SetHdmiMode (XV_HdmiTx *InstancePtr)
 This function sets the core into HDMI mode. More...
 
void XV_HdmiTx_SetDviMode (XV_HdmiTx *InstancePtr)
 This function sets the core into DVI mode. More...
 
void XV_HdmiTx_Clear (XV_HdmiTx *InstancePtr)
 This function clear the HDMI TX variables and sets it to the defaults. More...
 
u8 XV_HdmiTx_GetVic (XVidC_VideoMode VideoMode)
 
XVidC_VideoMode XV_HdmiTx_GetVideoModeFromVic (u8 Vic)
 
u32 XV_HdmiTx_SetStream (XV_HdmiTx *InstancePtr, XVidC_VideoMode VideoMode, XVidC_ColorFormat ColorFormat, XVidC_ColorDepth Bpc, XVidC_PixelsPerClock Ppc, XVidC_3DInfo *Info3D)
 This function sets the HDMI TX stream parameters. More...
 
u32 XV_HdmiTx_GetTmdsClk (XV_HdmiTx *InstancePtr, XVidC_VideoMode VideoMode, XVidC_ColorFormat ColorFormat, XVidC_ColorDepth Bpc)
 This function sets and return the TMDS Clock based on Video Parameter. More...
 
void XV_HdmiTx_INT_VRST (XV_HdmiTx *InstancePtr, u8 Reset)
 This function asserts or releases the HDMI TX Internal VRST. More...
 
void XV_HdmiTx_INT_LRST (XV_HdmiTx *InstancePtr, u8 Reset)
 This function asserts or releases the HDMI TX Internal LRST. More...
 
void XV_HdmiTx_EXT_VRST (XV_HdmiTx *InstancePtr, u8 Reset)
 This function asserts or releases the HDMI TX External VRST. More...
 
void XV_HdmiTx_EXT_SYSRST (XV_HdmiTx *InstancePtr, u8 Reset)
 This function asserts or releases the HDMI TX External SYSRST. More...
 
void XV_HdmiTx_SetGcpAvmuteBit (XV_HdmiTx *InstancePtr)
 This function sets the HDMI TX AUX GCP register AVMUTE bit. More...
 
void XV_HdmiTx_ClearGcpAvmuteBit (XV_HdmiTx *InstancePtr)
 This function clears the HDMI TX AUX GCP register AVMUTE bit. More...
 
void XV_HdmiTx_SetGcpClearAvmuteBit (XV_HdmiTx *InstancePtr)
 This function sets the HDMI TX AUX GCP register CLEAR_AVMUTE bit. More...
 
void XV_HdmiTx_ClearGcpClearAvmuteBit (XV_HdmiTx *InstancePtr)
 This function clears the HDMI TX AUX GCP register CLEAR_AVMUTE bit. More...
 
void XV_HdmiTx_SetPixelRate (XV_HdmiTx *InstancePtr)
 This function sets the pixel rate at output. More...
 
void XV_HdmiTx_SetSampleRate (XV_HdmiTx *InstancePtr, u8 SampleRate)
 This function sets the sample rate at output. More...
 
void XV_HdmiTx_SetColorFormat (XV_HdmiTx *InstancePtr)
 This function sets the color format. More...
 
void XV_HdmiTx_SetColorDepth (XV_HdmiTx *InstancePtr)
 This function sets the color depth. More...
 
int XV_HdmiTx_IsStreamScrambled (XV_HdmiTx *InstancePtr)
 This function provides status of the stream. More...
 
int XV_HdmiTx_IsStreamConnected (XV_HdmiTx *InstancePtr)
 This function provides the stream connected status. More...
 
void XV_HdmiTx_SetAxiClkFreq (XV_HdmiTx *InstancePtr, u32 ClkFreq)
 This function sets the AXI4-Lite Clock Frequency. More...
 
void XV_HdmiTx_DdcInit (XV_HdmiTx *InstancePtr, u32 Frequency)
 This function prepares TX DDC peripheral to use. More...
 
int XV_HdmiTx_DdcWrite (XV_HdmiTx *InstancePtr, u8 Slave, u16 Length, u8 *Buffer, u8 Stop)
 This function writes data from DDC peripheral from given slave address. More...
 
int XV_HdmiTx_DdcRead (XV_HdmiTx *InstancePtr, u8 Slave, u16 Length, u8 *Buffer, u8 Stop)
 This function reads data from DDC peripheral from given slave address. More...
 
u32 XV_HdmiTx_AuxSend (XV_HdmiTx *InstancePtr)
 This function transmits the infoframes generated by the processor. More...
 
int XV_HdmiTx_Scrambler (XV_HdmiTx *InstancePtr)
 This function controls the scrambler. More...
 
int XV_HdmiTx_ClockRatio (XV_HdmiTx *InstancePtr)
 This function controls the TMDS clock ratio. More...
 
int XV_HdmiTx_DetectHdmi20 (XV_HdmiTx *InstancePtr)
 This function detects connected sink is a HDMI 2.0/HDMI 1.4 sink device and sets appropriate flag in the TX stream. More...
 
void XV_HdmiTx_ShowSCDC (XV_HdmiTx *InstancePtr)
 This function shows the sinks SCDC registers. More...
 
void XV_HdmiTx_DebugInfo (XV_HdmiTx *InstancePtr)
 This function prints stream and timing information on STDIO/Uart console. More...
 
int XV_HdmiTx_SetAudioChannels (XV_HdmiTx *InstancePtr, u8 Value)
 This function sets the active audio channels. More...
 
int XV_HdmiTx_SetAudioFormat (XV_HdmiTx *InstancePtr, XV_HdmiTx_AudioFormatType Value)
 This function sets the active audio format. More...
 
XV_HdmiTx_AudioFormatType XV_HdmiTx_GetAudioFormat (XV_HdmiTx *InstancePtr)
 This function gets the active audio format. More...
 
int XV_HdmiTx_SelfTest (XV_HdmiTx *InstancePtr)
 This function reads ID of HDMI TX PIO peripheral. More...
 
void XV_HdmiTx_IntrHandler (void *InstancePtr)
 This function is the interrupt handler for the HDMI TX driver. More...
 
int XV_HdmiTx_SetCallback (XV_HdmiTx *InstancePtr, u32 HandlerType, void *CallbackFunc, void *CallbackRef)
 This function installs an asynchronous callback function for the given HandlerType: More...
 
int XV_HdmiTx_VSIF_GeneratePacket (XV_HdmiTx_VSIF *VSIFPtr, XHdmiC_Aux *AuxPtr)
 This function generates a Vendor Specific InfoFrame (VSIF). More...
 
void XV_HdmiTx_VSIF_DisplayInfo (XV_HdmiTx_VSIF *VSIFPtr)
 This function displays the contents of an XV_HdmiTx_VSIF instance. More...
 
char * XV_HdmiTx_VSIF_3DStructToString (XV_HdmiTx_3D_Struct_Field Item)
 This function returns a string representation of the enumerated type XV_HdmiTx_3D_Struct_Field. More...
 
char * XV_HdmiTx_VSIF_3DSampMethodToString (XV_HdmiTx_3D_Sampling_Method Item)
 This function returns a string representation of the enumerated type XV_HdmiTx_3D_Sampling_Method. More...
 
char * XV_HdmiTx_VSIF_3DSampPosToString (XV_HdmiTx_3D_Sampling_Position Item)
 This function returns a string representation of the enumerated type XV_HdmiTx_3D_Sampling_Position. More...
 

Macro Definition Documentation

◆ XV_HdmiTx_AudioDisable

#define XV_HdmiTx_AudioDisable (   InstancePtr)
Value:
XV_HdmiTx_WriteReg((InstancePtr)->Config.BaseAddress, \
#define XV_HDMITX_AUD_CTRL_CLR_OFFSET
AUD Control Register Clear * offset.
Definition: xv_hdmitx_hw.h:342
#define XV_HDMITX_AUD_CTRL_RUN_MASK
AUD Control Run mask.
Definition: xv_hdmitx_hw.h:356
#define XV_HdmiTx_WriteReg(BaseAddress, RegOffset, Data)
This macro writes a value to a HDMI TX register.
Definition: xv_hdmitx_hw.h:457

This macro disables audio in HDMI TX core.

Parameters
InstancePtris a pointer to the XV_HdmiTx core instance.
Returns
None.
Note
C-style signature: void XV_HdmiTx_AudioDisable(XV_HdmiTx *InstancePtr)

Referenced by XV_HdmiTx_SetDviMode().

◆ XV_HdmiTx_AudioEnable

#define XV_HdmiTx_AudioEnable (   InstancePtr)
Value:
{ \
if ((InstancePtr)->Stream.IsHdmi) { \
XV_HdmiTx_WriteReg((InstancePtr)->Config.BaseAddress, \
} \
}
#define XV_HDMITX_AUD_CTRL_RUN_MASK
AUD Control Run mask.
Definition: xv_hdmitx_hw.h:356
#define XV_HDMITX_AUD_CTRL_SET_OFFSET
AUD Control Register Set * offset.
Definition: xv_hdmitx_hw.h:339

This macro enables audio in HDMI TX core.

Parameters
InstancePtris a pointer to the XV_HdmiTx core instance.
Returns
None.
Note
C-style signature: void XV_HdmiTx_AudioEnable(XV_HdmiTx *InstancePtr)

Referenced by XV_HdmiTx_SetHdmiMode().

◆ XV_HdmiTx_AudioMute

#define XV_HdmiTx_AudioMute (   InstancePtr)
Value:
XV_HdmiTx_WriteReg((InstancePtr)->Config.BaseAddress, \
#define XV_HDMITX_AUD_CTRL_CLR_OFFSET
AUD Control Register Clear * offset.
Definition: xv_hdmitx_hw.h:342
#define XV_HDMITX_AUD_CTRL_RUN_MASK
AUD Control Run mask.
Definition: xv_hdmitx_hw.h:356
#define XV_HdmiTx_WriteReg(BaseAddress, RegOffset, Data)
This macro writes a value to a HDMI TX register.
Definition: xv_hdmitx_hw.h:457

This macro mutes audio in HDMI TX core.

Parameters
InstancePtris a pointer to the XV_HdmiTx core instance.
Returns
None.
Note
C-style signature: void XV_HdmiTx_AudioDisable(XV_HdmiTx *InstancePtr)

◆ XV_HdmiTx_AudioUnmute

#define XV_HdmiTx_AudioUnmute (   InstancePtr)
Value:
XV_HdmiTx_WriteReg((InstancePtr)->Config.BaseAddress, \
#define XV_HDMITX_AUD_CTRL_RUN_MASK
AUD Control Run mask.
Definition: xv_hdmitx_hw.h:356
#define XV_HdmiTx_WriteReg(BaseAddress, RegOffset, Data)
This macro writes a value to a HDMI TX register.
Definition: xv_hdmitx_hw.h:457
#define XV_HDMITX_AUD_CTRL_SET_OFFSET
AUD Control Register Set * offset.
Definition: xv_hdmitx_hw.h:339

This macro unmutes audio in HDMI TX core.

Parameters
InstancePtris a pointer to the XV_HdmiTx core instance.
Returns
None.
Note
C-style signature: void XV_HdmiTx_AudioEnable(XV_HdmiTx *InstancePtr)

◆ XV_HdmiTx_AuxDisable

#define XV_HdmiTx_AuxDisable (   InstancePtr)
Value:
XV_HdmiTx_WriteReg((InstancePtr)->Config.BaseAddress, \
#define XV_HDMITX_AUX_CTRL_RUN_MASK
AUX Control Run mask.
Definition: xv_hdmitx_hw.h:304
#define XV_HdmiTx_WriteReg(BaseAddress, RegOffset, Data)
This macro writes a value to a HDMI TX register.
Definition: xv_hdmitx_hw.h:457
#define XV_HDMITX_AUX_CTRL_CLR_OFFSET
AUX Control Register Clear * offset.
Definition: xv_hdmitx_hw.h:293

This macro disables the HDMI TX Auxiliary (AUX) peripheral.

Parameters
InstancePtris a pointer to the XV_HdmiTx core instance.
Returns
None.
Note
C-style signature: void XV_HdmiTx_AuxDisable(XV_HdmiTx *InstancePtr)

Referenced by XV_HdmiTx_SetDviMode().

◆ XV_HdmiTx_AuxEnable

#define XV_HdmiTx_AuxEnable (   InstancePtr)
Value:
{ \
if ((InstancePtr)->Stream.IsHdmi) { \
XV_HdmiTx_WriteReg((InstancePtr)->Config.BaseAddress, \
} \
}
#define XV_HDMITX_AUX_CTRL_RUN_MASK
AUX Control Run mask.
Definition: xv_hdmitx_hw.h:304
#define XV_HDMITX_AUX_CTRL_SET_OFFSET
AUX Control Register Set * offset.
Definition: xv_hdmitx_hw.h:290

This macro enables the HDMI TX Auxiliary (AUX) peripheral.

Parameters
InstancePtris a pointer to the XV_HdmiTx core instance.
Returns
None.
Note
C-style signature: void XV_HdmiTx_AuxEnable(XV_HdmiTx *InstancePtr)

Referenced by XV_HdmiTx_SetHdmiMode().

◆ XV_HdmiTx_AuxIntrDisable

#define XV_HdmiTx_AuxIntrDisable (   InstancePtr)
Value:
XV_HdmiTx_WriteReg((InstancePtr)->Config.BaseAddress, \
#define XV_HdmiTx_WriteReg(BaseAddress, RegOffset, Data)
This macro writes a value to a HDMI TX register.
Definition: xv_hdmitx_hw.h:457
#define XV_HDMITX_AUX_CTRL_CLR_OFFSET
AUX Control Register Clear * offset.
Definition: xv_hdmitx_hw.h:293
#define XV_HDMITX_AUX_CTRL_IE_MASK
AUX Control Interrupt Enable mask.
Definition: xv_hdmitx_hw.h:305

This macro disables interrupt in the HDMI TX AUX peripheral.

Parameters
InstancePtris a pointer to the XV_HdmiTx core instance.
Returns
None.
Note
C-style signature: void XV_HdmiTx_AuxIntrDisable(XV_HdmiTx *InstancePtr)

◆ XV_HdmiTx_AuxIntrEnable

#define XV_HdmiTx_AuxIntrEnable (   InstancePtr)
Value:
XV_HdmiTx_WriteReg((InstancePtr)->Config.BaseAddress, \
#define XV_HDMITX_AUX_CTRL_SET_OFFSET
AUX Control Register Set * offset.
Definition: xv_hdmitx_hw.h:290
#define XV_HdmiTx_WriteReg(BaseAddress, RegOffset, Data)
This macro writes a value to a HDMI TX register.
Definition: xv_hdmitx_hw.h:457
#define XV_HDMITX_AUX_CTRL_IE_MASK
AUX Control Interrupt Enable mask.
Definition: xv_hdmitx_hw.h:305

This macro enables interrupt in the HDMI TX AUX peripheral.

Parameters
InstancePtris a pointer to the XV_HdmiTx core instance.
Returns
None.
Note
C-style signature: void XV_HdmiTx_AuxIntrEnable(XV_HdmiTx *InstancePtr)

◆ XV_HdmiTx_Bridge_pixel

#define XV_HdmiTx_Bridge_pixel (   InstancePtr,
  SetClr 
)
Value:
{ \
if (SetClr) { \
XV_HdmiTx_WriteReg((InstancePtr)->Config.BaseAddress, \
} \
else { \
XV_HdmiTx_WriteReg((InstancePtr)->Config.BaseAddress, \
} \
}
#define XV_HDMITX_PIO_OUT_SET_OFFSET
PIO Out Register Set * offset.
Definition: xv_hdmitx_hw.h:111
#define XV_HDMITX_PIO_OUT_CLR_OFFSET
PIO Out Register Clear * offset.
Definition: xv_hdmitx_hw.h:114
#define XV_HDMITX_PIO_OUT_BRIDGE_PIXEL_MASK
PIO Out Bridge_Pixel repeat mask.
Definition: xv_hdmitx_hw.h:179

This macro controls the Pixel Repeat mode for video bridge.

Parameters
InstancePtris a pointer to the XHdmi_Tx core instance.
SetClrspecifies TRUE/FALSE value to either enable or disable the Pixel Repitition Support.
Returns
None.
Note
C-style signature: void XV_HdmiTx_Bridge_pixel(XV_HdmiTx *InstancePtr, u8 SetClr)

◆ XV_HdmiTx_Bridge_yuv420

#define XV_HdmiTx_Bridge_yuv420 (   InstancePtr,
  SetClr 
)
Value:
{ \
if (SetClr) { \
XV_HdmiTx_WriteReg((InstancePtr)->Config.BaseAddress, \
} \
else { \
XV_HdmiTx_WriteReg((InstancePtr)->Config.BaseAddress, \
} \
}
#define XV_HDMITX_PIO_OUT_BRIDGE_YUV420_MASK
PIO Out Bridge_YUV420 mask.
Definition: xv_hdmitx_hw.h:176
#define XV_HDMITX_PIO_OUT_SET_OFFSET
PIO Out Register Set * offset.
Definition: xv_hdmitx_hw.h:111
#define XV_HDMITX_PIO_OUT_CLR_OFFSET
PIO Out Register Clear * offset.
Definition: xv_hdmitx_hw.h:114

This macro controls the YUV420 mode for video bridge.

Parameters
InstancePtris a pointer to the XHdmi_Tx core instance.
SetClrspecifies TRUE/FALSE value to either enable or disable the YUV 420 Support.
Returns
None.
Note
C-style signature: void XV_HdmiTx_Bridge_yuv420(XV_HdmiTx *InstancePtr, u8 SetClr)

◆ XV_HdmiTx_ClearMode

#define XV_HdmiTx_ClearMode (   InstancePtr)
Value:
XV_HdmiTx_WriteReg((InstancePtr)->Config.BaseAddress, \
#define XV_HDMITX_PIO_OUT_MODE_MASK
PIO Out Mode mask.
Definition: xv_hdmitx_hw.h:145
#define XV_HDMITX_PIO_OUT_CLR_OFFSET
PIO Out Register Clear * offset.
Definition: xv_hdmitx_hw.h:114
#define XV_HdmiTx_WriteReg(BaseAddress, RegOffset, Data)
This macro writes a value to a HDMI TX register.
Definition: xv_hdmitx_hw.h:457

This macro clears the mode bit.

Parameters
InstancePtris a pointer to the XV_HdmiTx core instance.
Returns
None.
Note
C-style signature: void XV_HdmiTx_ClearMode(XV_HdmiTx *InstancePtr)

Referenced by XV_HdmiTx_SetDviMode().

◆ XV_HdmiTx_DdcDisable

#define XV_HdmiTx_DdcDisable (   InstancePtr)
Value:
XV_HdmiTx_WriteReg((InstancePtr)->Config.BaseAddress, \
#define XV_HdmiTx_WriteReg(BaseAddress, RegOffset, Data)
This macro writes a value to a HDMI TX register.
Definition: xv_hdmitx_hw.h:457
#define XV_HDMITX_DDC_CTRL_RUN_MASK
DDC Control Run mask.
Definition: xv_hdmitx_hw.h:245
#define XV_HDMITX_DDC_CTRL_CLR_OFFSET
DDC Control Register Clear * offset.
Definition: xv_hdmitx_hw.h:231

This macro disables the HDMI TX Display Data Channel (DDC) peripheral.

Parameters
InstancePtris a pointer to the XV_HdmiTx core instance.
Returns
None.
Note
C-style signature: void XV_HdmiTx_DdcDisable(XV_HdmiTx *InstancePtr)

Referenced by XV_HdmiTx_DdcRead(), and XV_HdmiTx_DdcWrite().

◆ XV_HdmiTx_DdcEnable

#define XV_HdmiTx_DdcEnable (   InstancePtr)
Value:
XV_HdmiTx_WriteReg((InstancePtr)->Config.BaseAddress, \
#define XV_HDMITX_DDC_CTRL_SET_OFFSET
DDC Control Register Set * offset.
Definition: xv_hdmitx_hw.h:228
#define XV_HdmiTx_WriteReg(BaseAddress, RegOffset, Data)
This macro writes a value to a HDMI TX register.
Definition: xv_hdmitx_hw.h:457
#define XV_HDMITX_DDC_CTRL_RUN_MASK
DDC Control Run mask.
Definition: xv_hdmitx_hw.h:245

This macro enables the HDMI TX Display Data Channel (DDC) peripheral.

Parameters
InstancePtris a pointer to the XV_HdmiTx core instance.
Returns
None.
Note
C-style signature: void XV_HdmiTx_DdcEnable(XV_HdmiTx *InstancePtr)

Referenced by XV_HdmiTx_DdcRead(), and XV_HdmiTx_DdcWrite().

◆ XV_HdmiTx_DdcIntrClear

#define XV_HdmiTx_DdcIntrClear (   InstancePtr)
Value:
XV_HdmiTx_WriteReg((InstancePtr)->Config.BaseAddress, \
#define XV_HdmiTx_WriteReg(BaseAddress, RegOffset, Data)
This macro writes a value to a HDMI TX register.
Definition: xv_hdmitx_hw.h:457
#define XV_HDMITX_DDC_STA_OFFSET
DDC Status Register * offset.
Definition: xv_hdmitx_hw.h:234
#define XV_HDMITX_DDC_STA_IRQ_MASK
DDC Status IRQ mask.
Definition: xv_hdmitx_hw.h:256

This macro clears HDMI TX DDC interrupt.

Parameters
InstancePtris a pointer to the XV_HdmiTx core instance.
Returns
None.
Note
C-style signature: void XV_HdmiTx_DdcIntrClear(XV_HdmiTx *InstancePtr)

◆ XV_HdmiTx_DdcIntrDisable

#define XV_HdmiTx_DdcIntrDisable (   InstancePtr)
Value:
XV_HdmiTx_WriteReg((InstancePtr)->Config.BaseAddress, \
#define XV_HDMITX_DDC_CTRL_IE_MASK
DDC Control Interrupt Enable mask.
Definition: xv_hdmitx_hw.h:246
#define XV_HdmiTx_WriteReg(BaseAddress, RegOffset, Data)
This macro writes a value to a HDMI TX register.
Definition: xv_hdmitx_hw.h:457
#define XV_HDMITX_DDC_CTRL_CLR_OFFSET
DDC Control Register Clear * offset.
Definition: xv_hdmitx_hw.h:231

This macro disables interrupt in the HDMI TX DDC peripheral.

Parameters
InstancePtris a pointer to the XV_HdmiTx core instance.
Returns
None.
Note
C-style signature: void XV_HdmiTx_DdcIntrDisable(XV_HdmiTx *InstancePtr)

Referenced by XV_HdmiTx_DdcRead(), and XV_HdmiTx_DdcWrite().

◆ XV_HdmiTx_DdcIntrEnable

#define XV_HdmiTx_DdcIntrEnable (   InstancePtr)
Value:
XV_HdmiTx_WriteReg((InstancePtr)->Config.BaseAddress, \
#define XV_HDMITX_DDC_CTRL_SET_OFFSET
DDC Control Register Set * offset.
Definition: xv_hdmitx_hw.h:228
#define XV_HDMITX_DDC_CTRL_IE_MASK
DDC Control Interrupt Enable mask.
Definition: xv_hdmitx_hw.h:246
#define XV_HdmiTx_WriteReg(BaseAddress, RegOffset, Data)
This macro writes a value to a HDMI TX register.
Definition: xv_hdmitx_hw.h:457

This macro enables interrupt in the HDMI TX DDC peripheral.

Parameters
InstancePtris a pointer to the XV_HdmiTx core instance.
Returns
None.
Note
C-style signature: void XV_HdmiTx_DdcIntrEnable(XV_HdmiTx *InstancePtr)

◆ XV_HdmiTx_GetAudioChannels

#define XV_HdmiTx_GetAudioChannels (   InstancePtr)    (InstancePtr)->Stream.Audio.Channels

This macro provides the active audio channels.

Parameters
InstancePtris a pointer to the XV_HdmiTx core instance.
Returns
Audio channels

◆ XV_HdmiTx_GetMode

#define XV_HdmiTx_GetMode (   InstancePtr)
Value:
(XV_HdmiTx_ReadReg((InstancePtr)->Config.BaseAddress, \
#define XV_HDMITX_PIO_OUT_MODE_MASK
PIO Out Mode mask.
Definition: xv_hdmitx_hw.h:145
#define XV_HdmiTx_ReadReg(BaseAddress, RegOffset)
This macro reads a value from a HDMI TX register.
Definition: xv_hdmitx_hw.h:436
#define XV_HDMITX_PIO_OUT_OFFSET
PIO Out Register offset.
Definition: xv_hdmitx_hw.h:108

This macro provides the current mode.

Parameters
InstancePtris a pointer to the XV_HdmiTx core instance.
Returns
Current mode. 0 = DVI 1 = HDMI
Note
C-style signature: u8 XV_HdmiTx_GetMode(XV_HdmiTx *InstancePtr)

◆ XV_HdmiTx_GetPixelPackingPhase

#define XV_HdmiTx_GetPixelPackingPhase (   InstancePtr)
Value:
( ( (XV_HdmiTx_ReadReg( (InstancePtr)->Config.BaseAddress, \
#define XV_HdmiTx_ReadReg(BaseAddress, RegOffset)
This macro reads a value from a HDMI TX register.
Definition: xv_hdmitx_hw.h:436
#define XV_HDMITX_PIO_IN_OFFSET
PIO In Register offset.
Definition: xv_hdmitx_hw.h:120
#define XV_HDMITX_PIO_IN_PPP_SHIFT
PIO In Pixel packing phase shift.
Definition: xv_hdmitx_hw.h:212
#define XV_HDMITX_PIO_IN_PPP_MASK
PIO In Pixel packing phase mask.
Definition: xv_hdmitx_hw.h:208

This macro provides the current pixel packing phase.

Parameters
InstancePtris a pointer to the XV_HdmiTx core instance.
Returns
Pixel packing phase.

◆ XV_HdmiTx_GetSampleRate

#define XV_HdmiTx_GetSampleRate (   InstancePtr)    (InstancePtr)->Stream.SampleRate

This macro provides the current sample rate.

Parameters
InstancePtris a pointer to the XV_HdmiTx core instance.
Returns
Sample rate
Note
C-style signature: u8 XV_HdmiTx_GetMode(XV_HdmiTx *InstancePtr)

◆ XV_HdmiTx_GetVersion

#define XV_HdmiTx_GetVersion (   InstancePtr)
Value:
XV_HdmiTx_ReadReg((InstancePtr)->Config.BaseAddress, \
#define XV_HdmiTx_ReadReg(BaseAddress, RegOffset)
This macro reads a value from a HDMI TX register.
Definition: xv_hdmitx_hw.h:436
#define XV_HDMITX_VER_VERSION_OFFSET
VER Version Register * offset.
Definition: xv_hdmitx_hw.h:86

This macro reads the TX version.

Parameters
InstancePtris a pointer to the XV_HdmiTX core instance.
Returns
None.

◆ XV_HDMITX_H_

#define XV_HDMITX_H_

Prevent circular inclusions by using protection macros.

◆ XV_HdmiTx_IsMasked

#define XV_HdmiTx_IsMasked (   InstancePtr)
Value:
XV_HdmiTx_ReadReg((InstancePtr)->Config.BaseAddress, \
#define XV_HDMITX_MASK_CTRL_OFFSET
MASK Control Register * offset.
Definition: xv_hdmitx_hw.h:378
#define XV_HdmiTx_ReadReg(BaseAddress, RegOffset)
This macro reads a value from a HDMI TX register.
Definition: xv_hdmitx_hw.h:436
#define XV_HDMITX_MASK_CTRL_RUN_MASK
MASK Control Run mask.
Definition: xv_hdmitx_hw.h:401

This macro provides the current video mask mode.

Parameters
InstancePtris a pointer to the XV_HdmiTx core instance.
Returns
Current mode. 0 = Video masking is disabled 1 = Video masking is enabled
Note
C-style signature: u8 XV_HdmiTx_IsMasked(XV_HdmiTx *InstancePtr)

◆ XV_HdmiTx_MaskDisable

#define XV_HdmiTx_MaskDisable (   InstancePtr)
Value:
{ \
XV_HdmiTx_WriteReg((InstancePtr)->Config.BaseAddress, \
}
#define XV_HDMITX_MASK_CTRL_CLR_OFFSET
MASK Control Register Clear * offset.
Definition: xv_hdmitx_hw.h:384
#define XV_HDMITX_MASK_CTRL_RUN_MASK
MASK Control Run mask.
Definition: xv_hdmitx_hw.h:401

This macro disables video mask in HDMI TX core.

Parameters
InstancePtris a pointer to the XV_HdmiTx core instance.
Returns
None.
Note
C-style signature: void XV_HdmiTx_MaskDisable(XV_HdmiTx *InstancePtr)

◆ XV_HdmiTx_MaskEnable

#define XV_HdmiTx_MaskEnable (   InstancePtr)
Value:
{ \
XV_HdmiTx_WriteReg((InstancePtr)->Config.BaseAddress, \
}
#define XV_HDMITX_MASK_CTRL_SET_OFFSET
MASK Control Register Set * offset.
Definition: xv_hdmitx_hw.h:381
#define XV_HDMITX_MASK_CTRL_RUN_MASK
MASK Control Run mask.
Definition: xv_hdmitx_hw.h:401

This macro enables video mask in HDMI TX core.

Parameters
InstancePtris a pointer to the XV_HdmiTx core instance.
Returns
None.
Note
C-style signature: void XV_HdmiTx_MaskEnable(XV_HdmiTx *InstancePtr)

◆ XV_HdmiTx_MaskNoise

#define XV_HdmiTx_MaskNoise (   InstancePtr,
  SetClr 
)
Value:
{ \
if (SetClr) { \
XV_HdmiTx_WriteReg((InstancePtr)->Config.BaseAddress, \
} \
else { \
XV_HdmiTx_WriteReg((InstancePtr)->Config.BaseAddress, \
} \
}
#define XV_HDMITX_MASK_CTRL_CLR_OFFSET
MASK Control Register Clear * offset.
Definition: xv_hdmitx_hw.h:384
#define XV_HDMITX_MASK_CTRL_NOISE_MASK
MASK Control Noise.
Definition: xv_hdmitx_hw.h:402
#define XV_HDMITX_MASK_CTRL_SET_OFFSET
MASK Control Register Set * offset.
Definition: xv_hdmitx_hw.h:381

This macro enables or disables the noise in the video mask.

Parameters
InstancePtris a pointer to the XHdmi_Tx core instance.
SetClrspecifies TRUE/FALSE value to either enable or disable the Noise.
Returns
None.
Note
C-style signature: void XV_HdmiTx_MaskNoise(XV_HdmiTx *InstancePtr, u8 SetClr)

◆ XV_HdmiTx_MaskSetBlue

#define XV_HdmiTx_MaskSetBlue (   InstancePtr,
  Value 
)
Value:
{ \
XV_HdmiTx_WriteReg((InstancePtr)->Config.BaseAddress, \
(Value)); \
}
#define XV_HDMITX_MASK_BLUE_OFFSET
MASK Blue Component Register * offset.
Definition: xv_hdmitx_hw.h:396

This macro sets the blue component value in the video mask.

Parameters
InstancePtris a pointer to the XHdmi_Tx core instance.
Value
Returns
None.
Note
C-style signature: void XV_HdmiTx_MaskSetBlue(XV_HdmiTx *InstancePtr, u16 Value)

◆ XV_HdmiTx_MaskSetGreen

#define XV_HdmiTx_MaskSetGreen (   InstancePtr,
  Value 
)
Value:
{ \
XV_HdmiTx_WriteReg((InstancePtr)->Config.BaseAddress, \
(Value)); \
}
#define XV_HDMITX_MASK_GREEN_OFFSET
MASK Green Component Register * offset.
Definition: xv_hdmitx_hw.h:393

This macro sets the green component value in the video mask.

Parameters
InstancePtris a pointer to the XHdmi_Tx core instance.
Value
Returns
None.
Note
C-style signature: void XV_HdmiTx_MaskSetGreen(XV_HdmiTx *InstancePtr, u16 Value)

◆ XV_HdmiTx_MaskSetRed

#define XV_HdmiTx_MaskSetRed (   InstancePtr,
  Value 
)
Value:
{ \
XV_HdmiTx_WriteReg((InstancePtr)->Config.BaseAddress, \
(Value)); \
}
#define XV_HDMITX_MASK_RED_OFFSET
MASK Red Component Register * offset.
Definition: xv_hdmitx_hw.h:390

This macro sets the red component value in the video mask.

Parameters
InstancePtris a pointer to the XHdmi_Tx core instance.
Value
Returns
None.
Note
C-style signature: void XV_HdmiTx_MaskSetRed(XV_HdmiTx *InstancePtr, u16 Value)

◆ XV_HdmiTx_PioDisable

#define XV_HdmiTx_PioDisable (   InstancePtr)
Value:
XV_HdmiTx_WriteReg((InstancePtr)->Config.BaseAddress, \
#define XV_HdmiTx_WriteReg(BaseAddress, RegOffset, Data)
This macro writes a value to a HDMI TX register.
Definition: xv_hdmitx_hw.h:457
#define XV_HDMITX_PIO_CTRL_RUN_MASK
PIO Control Run mask.
Definition: xv_hdmitx_hw.h:134
#define XV_HDMITX_PIO_CTRL_CLR_OFFSET
PIO Control Register Clear * offset.
Definition: xv_hdmitx_hw.h:102

This macro disables the HDMI TX PIO peripheral.

Parameters
InstancePtris a pointer to the XV_HdmiTx core instance.
Returns
None.
Note
C-style signature: void XV_HdmiTx_PioDisable(XV_HdmiTx *InstancePtr)

◆ XV_HdmiTx_PioEnable

#define XV_HdmiTx_PioEnable (   InstancePtr)
Value:
XV_HdmiTx_WriteReg((InstancePtr)->Config.BaseAddress, \
#define XV_HdmiTx_WriteReg(BaseAddress, RegOffset, Data)
This macro writes a value to a HDMI TX register.
Definition: xv_hdmitx_hw.h:457
#define XV_HDMITX_PIO_CTRL_RUN_MASK
PIO Control Run mask.
Definition: xv_hdmitx_hw.h:134
#define XV_HDMITX_PIO_CTRL_SET_OFFSET
PIO Control Register Set * offset.
Definition: xv_hdmitx_hw.h:99

This macro enables the HDMI TX PIO peripheral.

Parameters
InstancePtris a pointer to the XV_HdmiTx core instance.
Returns
None.
Note
C-style signature: void XV_HdmiTx_PioEnable(XV_HdmiTx *InstancePtr)

◆ XV_HdmiTx_PioIntrClear

#define XV_HdmiTx_PioIntrClear (   InstancePtr)
Value:
XV_HdmiTx_WriteReg((InstancePtr)->Config.BaseAddress, \
#define XV_HdmiTx_WriteReg(BaseAddress, RegOffset, Data)
This macro writes a value to a HDMI TX register.
Definition: xv_hdmitx_hw.h:457
#define XV_HDMITX_PIO_STA_OFFSET
PIO Status Register * offset.
Definition: xv_hdmitx_hw.h:105
#define XV_HDMITX_PIO_STA_IRQ_MASK
PIO Status Interrupt mask.
Definition: xv_hdmitx_hw.h:140

This macro clears HDMI TX PIO interrupt.

Parameters
InstancePtris a pointer to the XV_HdmiTx core instance.
Returns
None.
Note
C-style signature: void XV_HdmiTx_PioIntrClear(XV_HdmiTx *InstancePtr)

◆ XV_HdmiTx_PioIntrDisable

#define XV_HdmiTx_PioIntrDisable (   InstancePtr)
Value:
XV_HdmiTx_WriteReg((InstancePtr)->Config.BaseAddress, \
#define XV_HdmiTx_WriteReg(BaseAddress, RegOffset, Data)
This macro writes a value to a HDMI TX register.
Definition: xv_hdmitx_hw.h:457
#define XV_HDMITX_PIO_CTRL_IE_MASK
PIO Control Interrupt Enable mask.
Definition: xv_hdmitx_hw.h:135
#define XV_HDMITX_PIO_CTRL_CLR_OFFSET
PIO Control Register Clear * offset.
Definition: xv_hdmitx_hw.h:102

This macro disables interrupt in the HDMI TX PIO peripheral.

Parameters
InstancePtris a pointer to the XV_HdmiTx core instance.
Returns
None.
Note
C-style signature: void XV_HdmiTx_PioIntrDisable(XV_HdmiTx *InstancePtr)

◆ XV_HdmiTx_PioIntrEnable

#define XV_HdmiTx_PioIntrEnable (   InstancePtr)
Value:
XV_HdmiTx_WriteReg((InstancePtr)->Config.BaseAddress, \
#define XV_HdmiTx_WriteReg(BaseAddress, RegOffset, Data)
This macro writes a value to a HDMI TX register.
Definition: xv_hdmitx_hw.h:457
#define XV_HDMITX_PIO_CTRL_IE_MASK
PIO Control Interrupt Enable mask.
Definition: xv_hdmitx_hw.h:135
#define XV_HDMITX_PIO_CTRL_SET_OFFSET
PIO Control Register Set * offset.
Definition: xv_hdmitx_hw.h:99

This macro enables interrupt in the HDMI TX PIO peripheral.

Parameters
InstancePtris a pointer to the XV_HdmiTx core instance.
Returns
None.
Note
C-style signature: void XV_HdmiTx_PioIntrEnable(XV_HdmiTx *InstancePtr)

◆ XV_HdmiTx_Reset

#define XV_HdmiTx_Reset (   InstancePtr,
  Reset 
)
Value:
{ \
if (Reset) { \
XV_HdmiTx_WriteReg((InstancePtr)->Config.BaseAddress, \
} \
else { \
XV_HdmiTx_WriteReg((InstancePtr)->Config.BaseAddress, \
} \
}
#define XV_HDMITX_PIO_OUT_SET_OFFSET
PIO Out Register Set * offset.
Definition: xv_hdmitx_hw.h:111
#define XV_HDMITX_PIO_OUT_CLR_OFFSET
PIO Out Register Clear * offset.
Definition: xv_hdmitx_hw.h:114
#define XV_HDMITX_PIO_OUT_RST_MASK
PIO Out Reset mask.
Definition: xv_hdmitx_hw.h:144

This macro asserts or releases the HDMI TX reset.

Parameters
InstancePtris a pointer to the XV_HdmiTx core instance.
Resetspecifies TRUE/FALSE value to either assert or release HDMI TX reset.
Returns
None.
Note
The reset output of the PIO is inverted. When the system is in reset, the PIO output is cleared and this will reset the HDMI RX. Therefore, clearing the PIO reset output will assert the HDMI link and video reset. C-style signature: void XV_HdmiTx_Reset(XV_HdmiTx *InstancePtr, u8 Reset)

◆ XV_HdmiTx_SetMode

#define XV_HdmiTx_SetMode (   InstancePtr)
Value:
XV_HdmiTx_WriteReg((InstancePtr)->Config.BaseAddress, \
#define XV_HDMITX_PIO_OUT_MODE_MASK
PIO Out Mode mask.
Definition: xv_hdmitx_hw.h:145
#define XV_HDMITX_PIO_OUT_SET_OFFSET
PIO Out Register Set * offset.
Definition: xv_hdmitx_hw.h:111
#define XV_HdmiTx_WriteReg(BaseAddress, RegOffset, Data)
This macro writes a value to a HDMI TX register.
Definition: xv_hdmitx_hw.h:457

This macro sets the mode bit.

Parameters
InstancePtris a pointer to the XV_HdmiTx core instance.
Returns
None.
Note
C-style signature: void XV_HdmiTx_SetMode(XV_HdmiTx *InstancePtr)

Referenced by XV_HdmiTx_SetHdmiMode().

◆ XV_HdmiTx_SetScrambler

#define XV_HdmiTx_SetScrambler (   InstancePtr,
  SetClr 
)
Value:
{ \
if (SetClr) { \
XV_HdmiTx_WriteReg((InstancePtr)->Config.BaseAddress, \
(InstancePtr)->Stream.IsScrambled = (TRUE); \
} \
else { \
XV_HdmiTx_WriteReg((InstancePtr)->Config.BaseAddress, \
(InstancePtr)->Stream.IsScrambled = (FALSE); \
} \
}
#define XV_HDMITX_PIO_OUT_SET_OFFSET
PIO Out Register Set * offset.
Definition: xv_hdmitx_hw.h:111
#define XV_HDMITX_PIO_OUT_CLR_OFFSET
PIO Out Register Clear * offset.
Definition: xv_hdmitx_hw.h:114
#define XV_HDMITX_PIO_OUT_SCRM_MASK
PIO Out Scrambler mask.
Definition: xv_hdmitx_hw.h:158

This macro controls the HDMI TX Scrambler.

Parameters
InstancePtris a pointer to the XV_HdmiTx core instance.
SetClrspecifies TRUE/FALSE value to either set ON or clear Scrambler.
Returns
None.
Note
C-style signature: void XV_HdmiTx_SetScrambler(XV_HdmiTx *InstancePtr, u8 SetClr)

Referenced by XV_HdmiTx_Scrambler().

Typedef Documentation

◆ XV_HdmiTx_Callback

typedef void(* XV_HdmiTx_Callback) (void *CallbackRef)

Callback type for Vsync event interrupt.

Parameters
CallbackRefis a callback reference passed in by the upper layer when setting the callback functions, and passed back to the upper layer when the callback is invoked.
Returns
None.
Note
None.

Enumeration Type Documentation

◆ XV_HdmiTx_HandlerType

These constants specify different types of handler and used to differentiate interrupt requests from peripheral.

Function Documentation

◆ XV_HdmiTx_AuxSend()

u32 XV_HdmiTx_AuxSend ( XV_HdmiTx InstancePtr)

This function transmits the infoframes generated by the processor.

Parameters
InstancePtris a pointer to the XV_HdmiTx core instance.
Returns
  • XST_SUCCESS if infoframes transmitted successfully.
  • XST_FAILURE if AUX FIFO is full.
Note
None.

References XV_HdmiTx::Aux, XV_HdmiTx_Config::BaseAddress, XV_HdmiTx::Config, XV_HDMITX_AUX_DAT_OFFSET, XV_HDMITX_AUX_STA_FIFO_FUL_MASK, XV_HDMITX_AUX_STA_OFFSET, XV_HDMITX_AUX_STA_PKT_RDY_MASK, XV_HdmiTx_ReadReg, and XV_HdmiTx_WriteReg.

◆ XV_HdmiTx_CfgInitialize()

int XV_HdmiTx_CfgInitialize ( XV_HdmiTx InstancePtr,
XV_HdmiTx_Config CfgPtr,
UINTPTR  EffectiveAddr 
)

This function initializes the HDMI TX core.

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

Parameters
InstancePtris a pointer to the XV_HdmiTx core instance.
CfgPtrpoints to the configuration structure associated with the HDMI TX core.
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 XV_HdmiTx_CfgInitialize was successful.
  • XST_FAILURE if HDMI TX PIO ID mismatched.
Note
None.

References XV_HdmiTx_Config::BaseAddress, XV_HdmiTx::Config, and XV_HdmiTx::ConnectCallback.

◆ XV_HdmiTx_Clear()

void XV_HdmiTx_Clear ( XV_HdmiTx InstancePtr)

This function clear the HDMI TX variables and sets it to the defaults.

Parameters
InstancePtris a pointer to the XV_HdmiTx core instance.
Returns
Note
This is required after a reset or init.

◆ XV_HdmiTx_ClearGcpAvmuteBit()

void XV_HdmiTx_ClearGcpAvmuteBit ( XV_HdmiTx InstancePtr)

This function clears the HDMI TX AUX GCP register AVMUTE bit.

Parameters
InstancePtris a pointer to the XV_HdmiTx core instance.
Returns
None.
Note
None.

References XV_HDMITX_PIO_OUT_CLR_OFFSET, XV_HDMITX_PIO_OUT_GCP_AVMUTE_MASK, and XV_HdmiTx_WriteReg.

◆ XV_HdmiTx_ClearGcpClearAvmuteBit()

void XV_HdmiTx_ClearGcpClearAvmuteBit ( XV_HdmiTx InstancePtr)

This function clears the HDMI TX AUX GCP register CLEAR_AVMUTE bit.

Parameters
InstancePtris a pointer to the XV_HdmiTx core instance.
Returns
None.
Note
None.

References XV_HDMITX_PIO_OUT_CLR_OFFSET, XV_HDMITX_PIO_OUT_GCP_CLEARAVMUTE_MASK, and XV_HdmiTx_WriteReg.

◆ XV_HdmiTx_ClockRatio()

int XV_HdmiTx_ClockRatio ( XV_HdmiTx InstancePtr)

This function controls the TMDS clock ratio.

Parameters
InstancePtris a pointer to the XV_HdmiTx core instance.
Returns
  • XST_SUCCESS if HDMI 2.0
  • XST_FAILURE if HDMI 1.4
Note
None.

References XV_HdmiTx_Stream::IsHdmi20, XV_HdmiTx::Stream, XV_HdmiTx_Stream::TMDSClockRatio, XV_HdmiTx_DdcRead(), and XV_HdmiTx_DdcWrite().

Referenced by XV_HdmiTx_SetStream().

◆ XV_HdmiTx_DdcInit()

void XV_HdmiTx_DdcInit ( XV_HdmiTx InstancePtr,
u32  Frequency 
)

This function prepares TX DDC peripheral to use.

Parameters
InstancePtris a pointer to the XV_HdmiTx core instance.
Frequencyspecifies the value that needs to be set.
Returns
None.
Note
None.

Referenced by XV_HdmiTx_SetAxiClkFreq().

◆ XV_HdmiTx_DdcRead()

int XV_HdmiTx_DdcRead ( XV_HdmiTx InstancePtr,
u8  Slave,
u16  Length,
u8 *  Buffer,
u8  Stop 
)

This function reads data from DDC peripheral from given slave address.

Parameters
InstancePtris a pointer to the XV_HdmiTx core instance.
Slavespecifies the slave address from where data needs to be read.
Lengthspecifies number of bytes to be read.
Bufferspecifies a pointer to u8 variable that will be filled with data.
Stopspecifies the stop flag which is either TRUE/FALSE.
Returns
  • XST_SUCCESS if an acknowledgement received and timeout.
  • XST_FAILURE if no acknowledgement received.
Note
None.

References XV_HDMITX_DDC_CMD_RD_TOKEN, XV_HDMITX_DDC_CMD_STP_TOKEN, XV_HDMITX_DDC_CMD_STR_TOKEN, XV_HDMITX_DDC_CMD_WR_TOKEN, XV_HdmiTx_DdcDisable, XV_HdmiTx_DdcEnable, XV_HdmiTx_DdcGetAck(), XV_HdmiTx_DdcIntrDisable, XV_HdmiTx_DdcReadData(), XV_HdmiTx_DdcWaitForDone(), and XV_HdmiTx_DdcWriteCommand().

Referenced by XV_HdmiTx_ClockRatio(), XV_HdmiTx_Scrambler(), and XV_HdmiTx_ShowSCDC().

◆ XV_HdmiTx_DdcWrite()

int XV_HdmiTx_DdcWrite ( XV_HdmiTx InstancePtr,
u8  Slave,
u16  Length,
u8 *  Buffer,
u8  Stop 
)

This function writes data from DDC peripheral from given slave address.

Parameters
InstancePtris a pointer to the XV_HdmiTx core instance.
Slavespecifies the slave address from where data needs to be read.
Lengthspecifies number of bytes to be read.
Bufferspecifies a pointer to u8 variable that will be filled with data.
Stopspecifies the stop flag which is either TRUE/FALSE.
Returns
  • XST_SUCCESS if an acknowledgement received and timeout.
  • XST_FAILURE if no acknowledgement received.
Note
None.

References XV_HDMITX_DDC_CMD_STP_TOKEN, XV_HDMITX_DDC_CMD_STR_TOKEN, XV_HDMITX_DDC_CMD_WR_TOKEN, XV_HdmiTx_DdcDisable, XV_HdmiTx_DdcEnable, XV_HdmiTx_DdcGetAck(), XV_HdmiTx_DdcIntrDisable, XV_HdmiTx_DdcWaitForDone(), and XV_HdmiTx_DdcWriteCommand().

Referenced by XV_HdmiTx_ClockRatio(), XV_HdmiTx_DetectHdmi20(), XV_HdmiTx_Scrambler(), and XV_HdmiTx_ShowSCDC().

◆ XV_HdmiTx_DebugInfo()

void XV_HdmiTx_DebugInfo ( XV_HdmiTx InstancePtr)

This function prints stream and timing information on STDIO/Uart console.

Parameters
InstancePtris a pointer to the XV_HdmiTx core instance.
Returns
None.
Note
None.

References XV_HdmiTx::Stream, and XV_HdmiTx_Stream::Video.

◆ XV_HdmiTx_DetectHdmi20()

int XV_HdmiTx_DetectHdmi20 ( XV_HdmiTx InstancePtr)

This function detects connected sink is a HDMI 2.0/HDMI 1.4 sink device and sets appropriate flag in the TX stream.

Parameters
InstancePtris a pointer to the XV_HdmiTx core instance.
Returns
  • XST_SUCCESS if HDMI 2.0
  • XST_FAILURE if HDMI 1.4
Note
None.

References XV_HdmiTx_Stream::IsHdmi20, XV_HdmiTx::Stream, and XV_HdmiTx_DdcWrite().

◆ XV_HdmiTx_EXT_SYSRST()

void XV_HdmiTx_EXT_SYSRST ( XV_HdmiTx InstancePtr,
u8  Reset 
)

This function asserts or releases the HDMI TX External SYSRST.

Parameters
InstancePtris a pointer to the XV_HdmiTx core instance.
Resetspecifies TRUE/FALSE value to either assert or release HDMI TX External SYSRST.
Returns
None.
Note
The reset output of the PIO is inverted. When the system is in reset, the PIO output is cleared and this will reset the HDMI TX. Therefore, clearing the PIO reset output will assert the HDMI External system reset. C-style signature: void XV_HdmiTx_EXT_SYSRST(XV_HdmiTx *InstancePtr, u8 Reset)

References XV_HDMITX_PIO_OUT_CLR_OFFSET, XV_HDMITX_PIO_OUT_EXT_SYSRST_MASK, XV_HDMITX_PIO_OUT_SET_OFFSET, and XV_HdmiTx_WriteReg.

◆ XV_HdmiTx_EXT_VRST()

void XV_HdmiTx_EXT_VRST ( XV_HdmiTx InstancePtr,
u8  Reset 
)

This function asserts or releases the HDMI TX External VRST.

Parameters
InstancePtris a pointer to the XV_HdmiTx core instance.
Resetspecifies TRUE/FALSE value to either assert or release HDMI TX External VRST.
Returns
None.
Note
The reset output of the PIO is inverted. When the system is in reset, the PIO output is cleared and this will reset the HDMI TX. Therefore, clearing the PIO reset output will assert the HDMI external video reset. C-style signature: void XV_HdmiTx_EXT_VRST(XV_HdmiTx *InstancePtr, u8 Reset)

References XV_HDMITX_PIO_OUT_CLR_OFFSET, XV_HDMITX_PIO_OUT_EXT_VRST_MASK, XV_HDMITX_PIO_OUT_SET_OFFSET, and XV_HdmiTx_WriteReg.

◆ XV_HdmiTx_GetAudioFormat()

XV_HdmiTx_AudioFormatType XV_HdmiTx_GetAudioFormat ( XV_HdmiTx InstancePtr)

This function gets the active audio format.

Parameters
InstancePtris a pointer to the XV_HdmiTx core instance.
Returns
Active audio format of HDMI Tx
Note
None.

References XV_HDMITX_AUD_CTRL_AUDFMT_MASK, XV_HDMITX_AUD_CTRL_AUDFMT_SHIFT, XV_HDMITX_AUD_CTRL_OFFSET, and XV_HdmiTx_ReadReg.

◆ XV_HdmiTx_GetTmdsClk()

u32 XV_HdmiTx_GetTmdsClk ( XV_HdmiTx InstancePtr,
XVidC_VideoMode  VideoMode,
XVidC_ColorFormat  ColorFormat,
XVidC_ColorDepth  Bpc 
)

This function sets and return the TMDS Clock based on Video Parameter.

Parameters
InstancePtris a pointer to the XV_HdmiTx core instance.
VideoModespecifies resolution identifier.
ColorFormatspecifies the type of color format.
  • 0 = XVIDC_CSF_RGB
  • 1 = XVIDC_CSF_YCRCB_444
  • 2 = XVIDC_CSF_YCRCB_422
  • 3 = XVIDC_CSF_YCRCB_420
Bpcspecifies the color depth/bits per color component.
  • 6 = XVIDC_BPC_6
  • 8 = XVIDC_BPC_8
  • 10 = XVIDC_BPC_10
  • 12 = XVIDC_BPC_12
  • 16 = XVIDC_BPC_16
Returns
  • TMDS Clock
Note
None.

References XV_HdmiTx_Stream::PixelClk, and XV_HdmiTx::Stream.

Referenced by XV_HdmiTx_SetStream().

◆ XV_HdmiTx_INT_LRST()

void XV_HdmiTx_INT_LRST ( XV_HdmiTx InstancePtr,
u8  Reset 
)

This function asserts or releases the HDMI TX Internal LRST.

Parameters
InstancePtris a pointer to the XV_HdmiTx core instance.
Resetspecifies TRUE/FALSE value to either assert or release HDMI TX Internal LRST.
Returns
None.
Note
The reset output of the PIO is inverted. When the system is in reset, the PIO output is cleared and this will reset the HDMI TX. Therefore, clearing the PIO reset output will assert the HDMI Internal link reset. C-style signature: void XV_HdmiTx_INT_VRST(XV_HdmiTx *InstancePtr, u8 Reset)

References XV_HDMITX_PIO_OUT_CLR_OFFSET, XV_HDMITX_PIO_OUT_INT_LRST_MASK, XV_HDMITX_PIO_OUT_SET_OFFSET, and XV_HdmiTx_WriteReg.

◆ XV_HdmiTx_INT_VRST()

void XV_HdmiTx_INT_VRST ( XV_HdmiTx InstancePtr,
u8  Reset 
)

This function asserts or releases the HDMI TX Internal VRST.

Parameters
InstancePtris a pointer to the XV_HdmiTx core instance.
Resetspecifies TRUE/FALSE value to either assert or release HDMI TX Internal VRST.
Returns
None.
Note
The reset output of the PIO is inverted. When the system is in reset, the PIO output is cleared and this will reset the HDMI TX. Therefore, clearing the PIO reset output will assert the HDMI Internal video reset. C-style signature: void XV_HdmiTx_INT_VRST(XV_HdmiTx *InstancePtr, u8 Reset)

References XV_HDMITX_PIO_OUT_CLR_OFFSET, XV_HDMITX_PIO_OUT_INT_VRST_MASK, XV_HDMITX_PIO_OUT_SET_OFFSET, and XV_HdmiTx_WriteReg.

◆ XV_HdmiTx_IntrHandler()

void XV_HdmiTx_IntrHandler ( void *  InstancePtr)

This function is the interrupt handler for the HDMI TX driver.

This handler reads the pending interrupt from PIO and DDC peripheral, determines the source of the interrupts, clears the interrupts and calls callbacks accordingly.

The application is responsible for connecting this function to the interrupt system. Application beyond this driver is also responsible for providing callbacks to handle interrupts and installing the callbacks using XV_HdmiTx_SetCallback() during initialization phase. An example delivered with this driver demonstrates how this could be done.

Parameters
InstancePtris a pointer to the XV_HdmiTx instance that just interrupted.
Returns
None.
Note
None.

References XV_HdmiTx_Config::BaseAddress, XV_HdmiTx::Config, XV_HdmiTx::IsReady, XV_HDMITX_PIO_STA_IRQ_MASK, XV_HDMITX_PIO_STA_OFFSET, and XV_HdmiTx_ReadReg.

◆ XV_HdmiTx_IsStreamConnected()

int XV_HdmiTx_IsStreamConnected ( XV_HdmiTx InstancePtr)

This function provides the stream connected status.

Parameters
InstancePtris a pointer to the XV_HdmiTx core instance.
Returns
  • TRUE = Stream is connected.
  • FALSE = Stream is connected.
Note
None.

References XV_HdmiTx_Stream::IsConnected, and XV_HdmiTx::Stream.

◆ XV_HdmiTx_IsStreamScrambled()

int XV_HdmiTx_IsStreamScrambled ( XV_HdmiTx InstancePtr)

This function provides status of the stream.

Parameters
InstancePtris a pointer to the XV_HdmiTx core instance.
Returns
  • TRUE = Scrambled.
  • FALSE = Not scrambled.
Note
None.

References XV_HdmiTx_Stream::IsScrambled, and XV_HdmiTx::Stream.

◆ XV_HdmiTx_LookupConfig()

XV_HdmiTx_Config* XV_HdmiTx_LookupConfig ( u16  DeviceId)

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

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

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

◆ XV_HdmiTx_Scrambler()

int XV_HdmiTx_Scrambler ( XV_HdmiTx InstancePtr)

This function controls the scrambler.

Requires TMDSClock to be up to date in order to force enable scrambler when TMDSClock > 340MHz.

Parameters
InstancePtris a pointer to the XV_HdmiTx core instance.
Returns
  • XST_SUCCESS if HDMI 2.0
  • XST_FAILURE if HDMI 1.4
Note
None.

References XV_HdmiTx_Stream::IsHdmi20, XV_HdmiTx_Stream::IsScrambled, XV_HdmiTx_Stream::OverrideScrambler, XV_HdmiTx::Stream, XV_HdmiTx_Stream::TMDSClock, XV_HdmiTx_DdcRead(), XV_HdmiTx_DdcWrite(), and XV_HdmiTx_SetScrambler.

Referenced by XV_HdmiTx_SetStream().

◆ XV_HdmiTx_SelfTest()

int XV_HdmiTx_SelfTest ( XV_HdmiTx InstancePtr)

This function reads ID of HDMI TX PIO peripheral.

Parameters
InstancePtris a pointer to the XV_HdmiTx core instance.
Returns
  • XST_SUCCESS if PIO ID was matched.
  • XST_FAILURE if PIO ID was mismatched.
Note
None.

References XV_HdmiTx_Config::BaseAddress, XV_HdmiTx::Config, XV_HDMITX_MASK_16, XV_HDMITX_PIO_ID, XV_HDMITX_PIO_ID_OFFSET, XV_HdmiTx_ReadReg, and XV_HDMITX_SHIFT_16.

◆ XV_HdmiTx_SetAudioChannels()

int XV_HdmiTx_SetAudioChannels ( XV_HdmiTx InstancePtr,
u8  Value 
)

This function sets the active audio channels.

Parameters
InstancePtris a pointer to the XV_HdmiTx core instance.
Returns
  • XST_SUCCESS if active channels were set.
  • XST_FAILURE if no active channles were set.
Note
None.

References XV_HDMITX_AUD_CTRL_CH_SHIFT, XV_HDMITX_AUD_CTRL_CLR_OFFSET, XV_HDMITX_AUD_CTRL_OFFSET, XV_HDMITX_AUD_CTRL_RUN_MASK, XV_HDMITX_AUD_CTRL_SET_OFFSET, XV_HdmiTx_ReadReg, and XV_HdmiTx_WriteReg.

◆ XV_HdmiTx_SetAudioFormat()

int XV_HdmiTx_SetAudioFormat ( XV_HdmiTx InstancePtr,
XV_HdmiTx_AudioFormatType  Value 
)

This function sets the active audio format.

Parameters
InstancePtris a pointer to the XV_HdmiTx core instance.
Returns
  • XST_SUCCESS if active channels were set.
  • XST_FAILURE if no active channles were set.
Note
None.

References XV_HDMITX_AUD_CTRL_AUDFMT_MASK, XV_HDMITX_AUD_CTRL_CLR_OFFSET, XV_HDMITX_AUD_CTRL_RUN_MASK, XV_HDMITX_AUD_CTRL_SET_OFFSET, and XV_HdmiTx_WriteReg.

◆ XV_HdmiTx_SetAxiClkFreq()

void XV_HdmiTx_SetAxiClkFreq ( XV_HdmiTx InstancePtr,
u32  ClkFreq 
)

This function sets the AXI4-Lite Clock Frequency.

Parameters
InstancePtris a pointer to the XV_HdmiTx core instance.
ClkFreqspecifies the value that needs to be set.
Returns
Note
This is required after a reset or init.

References XV_HdmiTx_DdcInit().

◆ XV_HdmiTx_SetCallback()

int XV_HdmiTx_SetCallback ( XV_HdmiTx InstancePtr,
u32  HandlerType,
void *  CallbackFunc,
void *  CallbackRef 
)

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

HandlerType              Callback Function Type
-----------------------  --------------------------------------------------
(XV_HDMITX_HANDLER_HPD)   HpdCallback
(XV_HDMITX_HANDLER_VS)    VsCallback
Parameters
InstancePtris a pointer to the HDMI TX core instance.
HandlerTypespecifies the type of handler.
CallbackFuncis the address of the callback function.
CallbackRefis a user data item that will be passed to the callback function when it is invoked.
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.

◆ XV_HdmiTx_SetColorDepth()

void XV_HdmiTx_SetColorDepth ( XV_HdmiTx InstancePtr)

◆ XV_HdmiTx_SetColorFormat()

void XV_HdmiTx_SetColorFormat ( XV_HdmiTx InstancePtr)

◆ XV_HdmiTx_SetDviMode()

void XV_HdmiTx_SetDviMode ( XV_HdmiTx InstancePtr)

This function sets the core into DVI mode.

Parameters
InstancePtris a pointer to the XV_HdmiTx core instance.
Returns
Note
This is required after a reset or init.

References XV_HdmiTx_Stream::IsHdmi, XV_HdmiTx::Stream, XV_HdmiTx_AudioDisable, XV_HdmiTx_AuxDisable, and XV_HdmiTx_ClearMode.

◆ XV_HdmiTx_SetGcpAvmuteBit()

void XV_HdmiTx_SetGcpAvmuteBit ( XV_HdmiTx InstancePtr)

This function sets the HDMI TX AUX GCP register AVMUTE bit.

Parameters
InstancePtris a pointer to the XV_HdmiTx core instance.
Returns
None.
Note
None.

References XV_HDMITX_PIO_OUT_GCP_AVMUTE_MASK, XV_HDMITX_PIO_OUT_SET_OFFSET, and XV_HdmiTx_WriteReg.

◆ XV_HdmiTx_SetGcpClearAvmuteBit()

void XV_HdmiTx_SetGcpClearAvmuteBit ( XV_HdmiTx InstancePtr)

This function sets the HDMI TX AUX GCP register CLEAR_AVMUTE bit.

Parameters
InstancePtris a pointer to the XV_HdmiTx core instance.
Returns
None.
Note
None.

References XV_HDMITX_PIO_OUT_GCP_CLEARAVMUTE_MASK, XV_HDMITX_PIO_OUT_SET_OFFSET, and XV_HdmiTx_WriteReg.

◆ XV_HdmiTx_SetHdmiMode()

void XV_HdmiTx_SetHdmiMode ( XV_HdmiTx InstancePtr)

This function sets the core into HDMI mode.

Parameters
InstancePtris a pointer to the XV_HdmiTx core instance.
Returns
Note
This is required after a reset or init.

References XV_HdmiTx_Stream::IsHdmi, XV_HdmiTx::Stream, XV_HdmiTx_AudioEnable, XV_HdmiTx_AuxEnable, and XV_HdmiTx_SetMode.

◆ XV_HdmiTx_SetPixelRate()

void XV_HdmiTx_SetPixelRate ( XV_HdmiTx InstancePtr)

This function sets the pixel rate at output.

Parameters
InstancePtris a pointer to the XV_HdmiTx core instance.
Returns
None.
Note
None.

References XV_HdmiTx_Config::BaseAddress, XV_HdmiTx::Config, XV_HdmiTx::Stream, XV_HdmiTx_Stream::Video, XV_HDMITX_PIO_OUT_MSK_OFFSET, XV_HDMITX_PIO_OUT_OFFSET, XV_HDMITX_PIO_OUT_PIXEL_RATE_MASK, XV_HDMITX_PIO_OUT_PIXEL_RATE_SHIFT, and XV_HdmiTx_WriteReg.

Referenced by XV_HdmiTx_SetStream().

◆ XV_HdmiTx_SetSampleRate()

void XV_HdmiTx_SetSampleRate ( XV_HdmiTx InstancePtr,
u8  SampleRate 
)

This function sets the sample rate at output.

Parameters
InstancePtris a pointer to the XV_HdmiTx core instance.
SampleRatespecifies the value that needs to be set.
  • 3 samples per clock.
  • 5 samples per clock.
Returns
None.
Note
None.

References XV_HdmiTx_Config::BaseAddress, XV_HdmiTx::Config, XV_HdmiTx_Stream::SampleRate, XV_HdmiTx::Stream, XV_HDMITX_PIO_OUT_MSK_OFFSET, XV_HDMITX_PIO_OUT_OFFSET, XV_HDMITX_PIO_OUT_SAMPLE_RATE_MASK, XV_HDMITX_PIO_OUT_SAMPLE_RATE_SHIFT, and XV_HdmiTx_WriteReg.

◆ XV_HdmiTx_SetStream()

u32 XV_HdmiTx_SetStream ( XV_HdmiTx InstancePtr,
XVidC_VideoMode  VideoMode,
XVidC_ColorFormat  ColorFormat,
XVidC_ColorDepth  Bpc,
XVidC_PixelsPerClock  Ppc,
XVidC_3DInfo *  Info3D 
)

This function sets the HDMI TX stream parameters.

Parameters
InstancePtris a pointer to the XV_HdmiTx core instance.
VideoModespecifies resolution identifier.
ColorFormatspecifies the type of color format.
  • 0 = XVIDC_CSF_RGB
  • 1 = XVIDC_CSF_YCRCB_444
  • 2 = XVIDC_CSF_YCRCB_422
  • 3 = XVIDC_CSF_YCRCB_420
Bpcspecifies the color depth/bits per color component.
  • 6 = XVIDC_BPC_6
  • 8 = XVIDC_BPC_8
  • 10 = XVIDC_BPC_10
  • 12 = XVIDC_BPC_12
  • 16 = XVIDC_BPC_16
Ppcspecifies the pixel per clock.
  • 1 = XVIDC_PPC_1
  • 2 = XVIDC_PPC_2
  • 4 = XVIDC_PPC_4
Returns
TmdsClock, reference clock calculated based on the input parameters.
Note
None.

In HDMI the colordepth in YUV422 is always 12 bits, although on the link itself it is being transmitted as 8-bits. Therefore if the colorspace is YUV422, then force the colordepth to 12 bits.

References XV_HdmiTx_Stream::IsHdmi20, XV_HdmiTx_Stream::IsScrambled, XV_HdmiTx::Stream, XV_HdmiTx_Stream::TMDSClock, XV_HdmiTx_Stream::TMDSClockRatio, XV_HdmiTx_Stream::Vic, XV_HdmiTx_Stream::Video, XV_HdmiTx_ClockRatio(), XV_HdmiTx_GetTmdsClk(), XV_HdmiTx_LookupVic(), XV_HdmiTx_Scrambler(), XV_HdmiTx_SetColorDepth(), XV_HdmiTx_SetColorFormat(), and XV_HdmiTx_SetPixelRate().

◆ XV_HdmiTx_ShowSCDC()

void XV_HdmiTx_ShowSCDC ( XV_HdmiTx InstancePtr)

This function shows the sinks SCDC registers.

Parameters
InstancePtris a pointer to the XV_HdmiTx core instance.
Returns
None.
Note
None.

References XV_HdmiTx_DdcRead(), and XV_HdmiTx_DdcWrite().

◆ XV_HdmiTx_VSIF_3DSampMethodToString()

char* XV_HdmiTx_VSIF_3DSampMethodToString ( XV_HdmiTx_3D_Sampling_Method  Item)

This function returns a string representation of the enumerated type XV_HdmiTx_3D_Sampling_Method.

Parameters
Itemspecifies the value to convert.
Returns
Pointer to the converted string.

References XV_HDMITX_3D_SAMPLING_HORIZONTAL, and XV_HDMITX_3D_SAMPLING_QUINCUNX.

◆ XV_HdmiTx_VSIF_3DSampPosToString()

char* XV_HdmiTx_VSIF_3DSampPosToString ( XV_HdmiTx_3D_Sampling_Position  Item)

This function returns a string representation of the enumerated type XV_HdmiTx_3D_Sampling_Position.

Parameters
Itemspecifies the value to convert.
Returns
Pointer to the converted string.

References XV_HDMITX_3D_SAMPPOS_ELER, XV_HDMITX_3D_SAMPPOS_ELOR, XV_HDMITX_3D_SAMPPOS_OLER, and XV_HDMITX_3D_SAMPPOS_OLOR.

◆ XV_HdmiTx_VSIF_3DStructToString()

char* XV_HdmiTx_VSIF_3DStructToString ( XV_HdmiTx_3D_Struct_Field  Item)

This function returns a string representation of the enumerated type XV_HdmiTx_3D_Struct_Field.

Parameters
Itemspecifies the value to convert.
Returns
Pointer to the converted string.

References XV_HDMITX_3D_STRUCT_FIELD_ALTERNATIVE, XV_HDMITX_3D_STRUCT_FRAME_PACKING, XV_HDMITX_3D_STRUCT_L_DEPTH, XV_HDMITX_3D_STRUCT_L_DEPTH_GRAPH_GDEPTH, XV_HDMITX_3D_STRUCT_LINE_ALTERNATIVE, XV_HDMITX_3D_STRUCT_SIDE_BY_SIDE_FULL, XV_HDMITX_3D_STRUCT_SIDE_BY_SIDE_HALF, and XV_HDMITX_3D_STRUCT_TOP_AND_BOTTOM.

Referenced by XV_HdmiTx_VSIF_DisplayInfo().

◆ XV_HdmiTx_VSIF_DisplayInfo()

void XV_HdmiTx_VSIF_DisplayInfo ( XV_HdmiTx_VSIF VSIFPtr)

This function displays the contents of an XV_HdmiTx_VSIF instance.

Parameters
VSIFPtris a pointer to the XV_HdmiTx_VSIF instance.
Returns
None.

References XV_HdmiTx_VSIF::Format, XV_HdmiTx_VSIF::HDMI_VIC, XV_HdmiTx_VSIF_3DStructToString(), XV_HDMITX_VSIF_VF_3D, and XV_HDMITX_VSIF_VF_EXTRES.

◆ XV_HdmiTx_VSIF_GeneratePacket()

int XV_HdmiTx_VSIF_GeneratePacket ( XV_HdmiTx_VSIF VSIFPtr,
XHdmiC_Aux *  AuxPtr 
)

This function generates a Vendor Specific InfoFrame (VSIF).

Parameters
VSIFPtris a pointer to the XV_HdmiTx_VSIF instance.
AuxPtris a pointer to the XV_HdmiTx_Tx_Aux instance.
Returns
  • XST_SUCCESS if operation was successful
  • XST_FAILURE if an error was detected during generation

References XV_HdmiTx_VSIF::Format, XV_HdmiTx_VSIF::IEEE_ID, and XV_HdmiTx_VSIF::Version.