| v_hdmirx Vitis Drivers API Documentation

- Overview
- Data Structures
- APIs
- File List

Data Structures | Macros
xv_hdmirx.h File Reference

## Overview

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

HDMI RX core is used for extracting the video and audio streams from HDMI stream. It consists of

- Receiver core
- AXI4-Stream to Video Bridge
- Video Timing Controller and
- High-bandwidth Digital Content Protection (HDCP) (Optional)
- Data Recovery Unit (DRU) (Optional).

Receiver core performs following operations:

- Aligns incoming data stream to the word boundary and removes inter channel skew.
- Unscrambles the data if data rates above the 3.4 Gps. Otherwise bypasses the Scrambler.
- Splits the data stream into video and packet data streams.
- Optional data streams decrypt by an external HDCP module.
- Decodes TMDS data into video data.
- Converts the pixel data from the link domain into the video domain.

AXI Video Bridge converts the captured native video to AXI stream and outputs the video data through the AXI video interface.

Video Timing Controller (VTC) measures the video timing.

Data Recovery Unit (DRU) to recover the data from the HDMI stream if incoming HDMI stream is too slow for the transceiver.

Core Features

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

Software Initialization & Configuration

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

- Call XV_HdmiRx_LookupConfig using a device ID to find the core configuration.
- Call XV_HdmiRx_CfgInitialize to initialize the device and the driver instance associated with it.

Interrupts

This driver provides interrupt handlers

- XV_HdmiRx_IntrHandler, for handling the interrupts from the HDMI RX core peripherals.

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_HdmiRx_SetCallback API to register functions with HDMI RX 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 RX 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:

    Ver   Who    Date     Changes

    1.00  gm, mg 10/07/15 Initial release.
    1.01  yh     14/01/16 Added Marco for AxisEnable PIO
    1.02  yh     15/01/16 Added 3D Video support
    1.03  MG     18/02/16 Added link error callback.
    1.04  MG     08/03/16 Added RefClk to structure XV_HdmiRx_Stream
    1.05  MG     13/05/16 Added XV_HdmiRx_DdcHdcp22Mode and XV_HdmiRx_DdcHdcp14
                          Mode macros
    1.06  MG     27/05/16 Added VTD timebase macro
    1.07  YH     25/07/16 Used UINTPTR instead of u32 for BaseAddress
                             XV_HdmiRx_Config
                             XV_HdmiRx_CfgInitialize
    1.08  YH     14/11/16 Added XV_HdmiRx_Bridge_yuv420 & XV_HdmiRx_Bridge_pixel
                             mode macros
    1.09  MMO    02/03/17 Added Sync Loss and IsMode Handler for HDCP
                             compliance test.
    1.10  EB     24/10/17 Added enum XV_HdmiRx_AudioFormatType for AudFormat
    2.00  YH     16/11/17 Added dedicated reset for each clock domain
                          Added bridge overflow interrupt
          EB     18/01/18 Moved VicTable, XV_HdmiRx_Aux to Hdmi Common library
                          Moved Vendor Specific InfoFrame related functions to
                              HDMI Common library
                          Deprecating XV_HdmiRx_VSIF_ParsePacket,
                              XV_HdmiRx_VSIF_DisplayInfo,
                              XV_HdmiRx_VSIF_3DStructToString,
                              XV_HdmiRx_VSIF_3DSampMethodToString and
                              XV_HdmiRx_VSIF_3DSampPosToString APIs
          MMO    08/02/18 Added XV_HdmiRx_SyncStatus enumaration, and as
                              an element in XV_HdmiRx_Stream for Sync Loss
                              handling
    2.20  EB     16/08/18 Replaced TIME_10MS, TIME_16MS, TIME_200MS with
                              XV_HdmiRx_GetTime10Ms, XV_HdmiRx_GetTime16Ms
                              XV_HdmiRx_GetTime200Ms
                          Added TMDS Clock Ratio callback support
          YB     15/08/18   Added new callbacks for HDCP 1.4 & 2.2 protocol events.
                          Enumerated new entries for HDCP 1.4 & 2.2 protocol
                              events in XV_HdmiRx_HandlerType enum.
    2.50  EB     02/12/18 Added 3D Audio Support

## Data Structures
struct | XV_HdmiRx_Config
| This typedef contains configuration information for the HDMI RX core. More...
struct | XV_HdmiRx_AudioStream
| This typedef contains HDMI RX audio stream specific data structure. More...
struct | XV_HdmiRx_Stream
| This typedef contains HDMI RX stream specific data structure. More...
struct | XV_HdmiRx
| The XHdmiRx driver instance data. More...

## Macros
#define | XV_HDMIRX_H_
| Prevent circular inclusions by using protection macros. More...

## Enumerations
Handler Types
enum | XV_HdmiRx_HandlerType { XV_HDMIRX_HANDLER_CONNECT = 1, XV_HDMIRX_HANDLER_BRDG_OVERFLOW, XV_HDMIRX_HANDLER_AUX, XV_HDMIRX_HANDLER_AUD, XV_HDMIRX_HANDLER_LNKSTA, XV_HDMIRX_HANDLER_DDC, XV_HDMIRX_HANDLER_STREAM_DOWN, XV_HDMIRX_HANDLER_STREAM_INIT, XV_HDMIRX_HANDLER_STREAM_UP, XV_HDMIRX_HANDLER_HDCP, XV_HDMIRX_HANDLER_DDC_HDCP_14_PROT, XV_HDMIRX_HANDLER_DDC_HDCP_22_PROT, XV_HDMIRX_HANDLER_LINK_ERROR, XV_HDMIRX_HANDLER_SYNC_LOSS, XV_HDMIRX_HANDLER_MODE, XV_HDMIRX_HANDLER_TMDS_CLK_RATIO, XV_HDMIRX_HANDLER_VIC_ERROR }
| These constants specify different types of handler and used to differentiate interrupt requests from peripheral. More...
HDMI RX stream status
enum | XV_HdmiRx_State { XV_HDMIRX_STATE_STREAM_DOWN, XV_HDMIRX_STATE_STREAM_IDLE, XV_HDMIRX_STATE_STREAM_INIT, XV_HDMIRX_STATE_STREAM_ARM, XV_HDMIRX_STATE_STREAM_LOCK, XV_HDMIRX_STATE_STREAM_RDY, XV_HDMIRX_STATE_STREAM_UP }
HDMI RX sync status
enum | XV_HdmiRx_SyncStatus { XV_HDMIRX_SYNCSTAT_SYNC_LOSS, XV_HDMIRX_SYNCSTAT_SYNC_EST }

## HDMI RX audio format
#define | XV_HdmiRx_GetTime10Ms(InstancePtr) (InstancePtr)->Config.AxiLiteClkFreq/100
| This macro returns the clock cycles required to count up to 10MS with respect to AXI Lite Frequency. More...
#define | XV_HdmiRx_GetTime16Ms(InstancePtr) ((InstancePtr)->Config.AxiLiteClkFreq*10)/625
| This macro returns the clock cycles required to count up to 16MS with respect to AXI Lite Frequency. More...
#define | XV_HdmiRx_GetTime200Ms(InstancePtr) (InstancePtr)->Config.AxiLiteClkFreq/5
| This macro returns the clock cycles required to count up to 200MS with respect to AXI Lite Frequency. More...
#define | XV_HdmiRx_GetVersion(InstancePtr) XV_HdmiRx_ReadReg((InstancePtr)->Config.BaseAddress, (XV_HDMIRX_VER_VERSION_OFFSET))
| This macro reads the RX version. More...
#define | XV_HdmiRx_Reset(InstancePtr, Reset)
| This macro asserts or clears the HDMI RX reset. More...
#define | XV_HdmiRx_LinkEnable(InstancePtr, SetClr)
| This macro asserts or clears the HDMI RX link enable. More...
#define | XV_HdmiRx_VideoEnable(InstancePtr, SetClr)
| This macro asserts or clears the HDMI RX video enable. More...
#define | XV_HdmiRx_SetScrambler(InstancePtr, SetClr)
| This macro controls the HDMI RX Scrambler. More...
#define | XV_HdmiRx_Bridge_yuv420(InstancePtr, SetClr)
| This macro controls the YUV420 mode for video bridge. More...
#define | XV_HdmiRx_Bridge_pixel(InstancePtr, SetClr)
| This macro controls the Pixel Drop mode for video bridge. More...
#define | XV_HdmiRx_AxisEnable(InstancePtr, Enable)
| This macro asserts or clears the AXIS enable output port. More...
#define | XV_HdmiRx_PioEnable(InstancePtr) XV_HdmiRx_WriteReg((InstancePtr)->Config.BaseAddress, (XV_HDMIRX_PIO_CTRL_SET_OFFSET), (XV_HDMIRX_PIO_CTRL_RUN_MASK))
| This macro enables the HDMI RX PIO peripheral. More...
#define | XV_HdmiRx_PioDisable(InstancePtr) XV_HdmiRx_WriteReg((InstancePtr)->Config.BaseAddress, (XV_HDMIRX_PIO_CTRL_CLR_OFFSET), (XV_HDMIRX_PIO_CTRL_RUN_MASK))
| This macro disables the HDMI RX PIO peripheral. More...
#define | XV_HdmiRx_PioIntrEnable(InstancePtr) XV_HdmiRx_WriteReg((InstancePtr)->Config.BaseAddress, (XV_HDMIRX_PIO_CTRL_SET_OFFSET), (XV_HDMIRX_PIO_CTRL_IE_MASK))
| This macro enables interrupts in the HDMI RX PIO peripheral. More...
#define | XV_HdmiRx_PioIntrDisable(InstancePtr) XV_HdmiRx_WriteReg((InstancePtr)->Config.BaseAddress, (XV_HDMIRX_PIO_CTRL_CLR_OFFSET), (XV_HDMIRX_PIO_CTRL_IE_MASK))
| This macro disables interrupts in the HDMI RX PIO peripheral. More...
#define | XV_HdmiRx_TmrEnable(InstancePtr) XV_HdmiRx_WriteReg((InstancePtr)->Config.BaseAddress, (XV_HDMIRX_TMR_CTRL_SET_OFFSET), (XV_HDMIRX_TMR_CTRL_RUN_MASK))
| This macro enables the HDMI RX timer peripheral. More...
#define | XV_HdmiRx_TmrDisable(InstancePtr) XV_HdmiRx_WriteReg((InstancePtr)->Config.BaseAddress, (XV_HDMIRX_TMR_CTRL_CLR_OFFSET), (XV_HDMIRX_TMR_CTRL_RUN_MASK))
| This macro disables the HDMI RX timer peripheral. More...
#define | XV_HdmiRx_TmrIntrEnable(InstancePtr) XV_HdmiRx_WriteReg((InstancePtr)->Config.BaseAddress, (XV_HDMIRX_TMR_CTRL_SET_OFFSET), (XV_HDMIRX_TMR_CTRL_IE_MASK))
| This macro enables interrupts in the HDMI RX timer peripheral. More...
#define | XV_HdmiRx_TmrIntrDisable(InstancePtr) XV_HdmiRx_WriteReg((InstancePtr)->Config.BaseAddress, (XV_HDMIRX_TMR_CTRL_CLR_OFFSET), (XV_HDMIRX_TMR_CTRL_IE_MASK))
| This macro disables interrupt in the HDMI RX timer peripheral. More...
#define | XV_HdmiRx_TmrStart(InstancePtr, Value) XV_HdmiRx_WriteReg((InstancePtr)->Config.BaseAddress, (XV_HDMIRX_TMR_CNT_OFFSET), (u32)(Value))
| This macro starts the HDMI RX timer peripheral. More...
#define | XV_HdmiRx_VtdEnable(InstancePtr) XV_HdmiRx_WriteReg((InstancePtr)->Config.BaseAddress, (XV_HDMIRX_VTD_CTRL_SET_OFFSET), (XV_HDMIRX_VTD_CTRL_RUN_MASK))
| This macro enables the HDMI RX Timing Detector peripheral. More...
#define | XV_HdmiRx_VtdDisable(InstancePtr) XV_HdmiRx_WriteReg((InstancePtr)->Config.BaseAddress, (XV_HDMIRX_VTD_CTRL_CLR_OFFSET), (XV_HDMIRX_VTD_CTRL_RUN_MASK))
| This macro disables the HDMI RX Timing Detector peripheral. More...
#define | XV_HdmiRx_VtdIntrEnable(InstancePtr) XV_HdmiRx_WriteReg((InstancePtr)->Config.BaseAddress, (XV_HDMIRX_VTD_CTRL_SET_OFFSET), (XV_HDMIRX_VTD_CTRL_IE_MASK))
| This macro enables interrupt in the HDMI RX Timing Detector peripheral. More...
#define | XV_HdmiRx_VtdIntrDisable(InstancePtr) XV_HdmiRx_WriteReg((InstancePtr)->Config.BaseAddress, (XV_HDMIRX_VTD_CTRL_CLR_OFFSET), (XV_HDMIRX_VTD_CTRL_IE_MASK))
| This macro disables interrupt in the HDMI RX Timing Detector peripheral. More...
#define | XV_HdmiRx_VtdSetTimebase(InstancePtr, Value) XV_HdmiRx_WriteReg((InstancePtr)->Config.BaseAddress, (XV_HDMIRX_VTD_CTRL_OFFSET), (u32)(Value << XV_HDMIRX_VTD_CTRL_TIMEBASE_SHIFT))
| This macro sets the timebase in the HDMI RX Timing Detector peripheral. More...
#define | XV_HdmiRx_DdcEnable(InstancePtr) XV_HdmiRx_WriteReg((InstancePtr)->Config.BaseAddress, (XV_HDMIRX_DDC_CTRL_SET_OFFSET), (XV_HDMIRX_DDC_CTRL_RUN_MASK))
| This macro enables the HDMI RX Display Data Channel (DDC) peripheral. More...
#define | XV_HdmiRx_DdcScdcEnable(InstancePtr) XV_HdmiRx_WriteReg((InstancePtr)->Config.BaseAddress, (XV_HDMIRX_DDC_CTRL_SET_OFFSET), (XV_HDMIRX_DDC_CTRL_SCDC_EN_MASK));
| This macro enables the SCDC in the DDC peripheral. More...
#define | XV_HdmiRx_DdcHdcpEnable(InstancePtr) XV_HdmiRx_WriteReg((InstancePtr)->Config.BaseAddress, (XV_HDMIRX_DDC_CTRL_SET_OFFSET), (XV_HDMIRX_DDC_CTRL_HDCP_EN_MASK));
| This macro enables the HDCP in the DDC peripheral. More...
#define | XV_HdmiRx_DdcHdcpDisable(InstancePtr) XV_HdmiRx_WriteReg((InstancePtr)->Config.BaseAddress, (XV_HDMIRX_DDC_CTRL_CLR_OFFSET), (XV_HDMIRX_DDC_CTRL_HDCP_EN_MASK));
#define | XV_HdmiRx_DdcHdcp14Mode(InstancePtr) XV_HdmiRx_WriteReg((InstancePtr)->Config.BaseAddress, (XV_HDMIRX_DDC_CTRL_CLR_OFFSET), (XV_HDMIRX_DDC_CTRL_HDCP_MODE_MASK));
| This macro sets the DDC peripheral into HDCP 1.4 mode. More...
#define | XV_HdmiRx_DdcHdcp22Mode(InstancePtr) XV_HdmiRx_WriteReg((InstancePtr)->Config.BaseAddress, (XV_HDMIRX_DDC_CTRL_SET_OFFSET), (XV_HDMIRX_DDC_CTRL_HDCP_MODE_MASK));
| This macro sets the DDC peripheral into HDCP 2.2 mode. More...
#define | XV_HdmiRx_DdcDisable(InstancePtr) XV_HdmiRx_WriteReg((InstancePtr)->Config.BaseAddress, (XV_HDMIRX_DDC_CTRL_CLR_OFFSET), (XV_HDMIRX_DDC_CTRL_RUN_MASK))
| This macro disables the HDMI RX Display Data Channel (DDC) peripheral. More...
#define | XV_HdmiRx_DdcIntrEnable(InstancePtr) XV_HdmiRx_WriteReg((InstancePtr)->Config.BaseAddress, (XV_HDMIRX_DDC_CTRL_SET_OFFSET), (XV_HDMIRX_DDC_CTRL_IE_MASK))
| This macro enables interrupts in the HDMI RX Display Data Channel (DDC) peripheral. More...
#define | XV_HdmiRx_DdcIntrDisable(InstancePtr) XV_HdmiRx_WriteReg((InstancePtr)->Config.BaseAddress, (XV_HDMIRX_DDC_CTRL_CLR_OFFSET), (XV_HDMIRX_DDC_CTRL_IE_MASK))
| This macro disables interrupts in the HDMI RX Display Data Channel (DDC) peripheral. More...
#define | XV_HdmiRx_DdcScdcClear(InstancePtr)
| This macro clears the SCDC registers in the DDC peripheral. More...
#define | XV_HdmiRx_DdcScdcSet(InstancePtr)
| This macro Sets the SCDC registers in the DDC peripheral. More...
#define | XV_HdmiRx_AuxEnable(InstancePtr) XV_HdmiRx_WriteReg((InstancePtr)->Config.BaseAddress, (XV_HDMIRX_AUX_CTRL_SET_OFFSET), (XV_HDMIRX_AUX_CTRL_RUN_MASK))
| This macro enables the HDMI RX Auxiliary (AUX) peripheral. More...
#define | XV_HdmiRx_AuxDisable(InstancePtr) XV_HdmiRx_WriteReg((InstancePtr)->Config.BaseAddress, (XV_HDMIRX_AUX_CTRL_CLR_OFFSET), (XV_HDMIRX_AUX_CTRL_RUN_MASK))
| This macro disables the HDMI RX Auxiliary (AUX) peripheral. More...
#define | XV_HdmiRx_AuxIntrEnable(InstancePtr) XV_HdmiRx_WriteReg((InstancePtr)->Config.BaseAddress, (XV_HDMIRX_AUX_CTRL_SET_OFFSET), (XV_HDMIRX_AUX_CTRL_IE_MASK))
| This macro enables interrupts in the HDMI RX Auxiliary (AUX) peripheral. More...
#define | XV_HdmiRx_AuxIntrDisable(InstancePtr) XV_HdmiRx_WriteReg((InstancePtr)->Config.BaseAddress, (XV_HDMIRX_AUX_CTRL_CLR_OFFSET), (XV_HDMIRX_AUX_CTRL_IE_MASK))
| This macro disables interrupts in the HDMI RX Auxiliary (AUX) peripheral. More...
#define | XV_HdmiRx_AudioEnable(InstancePtr) XV_HdmiRx_WriteReg((InstancePtr)->Config.BaseAddress, (XV_HDMIRX_AUD_CTRL_SET_OFFSET), (XV_HDMIRX_AUD_CTRL_RUN_MASK))
| This macro enables the HDMI RX Audio (AUD) peripheral. More...
#define | XV_HdmiRx_AudioDisable(InstancePtr) XV_HdmiRx_WriteReg((InstancePtr)->Config.BaseAddress, (XV_HDMIRX_AUD_CTRL_CLR_OFFSET), (XV_HDMIRX_AUD_CTRL_RUN_MASK))
| This macro disables the HDMI RX Audio (AUD) peripheral. More...
#define | XV_HdmiRx_AudioIntrEnable(InstancePtr) XV_HdmiRx_WriteReg((InstancePtr)->Config.BaseAddress, (XV_HDMIRX_AUD_CTRL_SET_OFFSET), (XV_HDMIRX_AUD_CTRL_IE_MASK))
| This macro enables interrupts in the HDMI RX Audio (AUD) peripheral. More...
#define | XV_HdmiRx_AudioIntrDisable(InstancePtr) XV_HdmiRx_WriteReg((InstancePtr)->Config.BaseAddress, (XV_HDMIRX_AUD_CTRL_CLR_OFFSET), (XV_HDMIRX_AUD_CTRL_IE_MASK))
| This macro disables interrupts in the HDMI RX Audio (AUD) peripheral. More...
#define | XV_HdmiRx_LnkstaEnable(InstancePtr) XV_HdmiRx_WriteReg((InstancePtr)->Config.BaseAddress, (XV_HDMIRX_LNKSTA_CTRL_SET_OFFSET), (XV_HDMIRX_LNKSTA_CTRL_RUN_MASK))
| This macro enables the HDMI RX Link Status (LNKSTA) peripheral. More...
#define | XV_HdmiRx_LnkstaDisable(InstancePtr) XV_HdmiRx_WriteReg((InstancePtr)->Config.BaseAddress, (XV_HDMIRX_LNKSTA_CTRL_CLR_OFFSET), (XV_HDMIRX_LNKSTA_CTRL_RUN_MASK))
| This macro disables the HDMI RX Link Status (LNKSTA) peripheral. More...
#define | XV_HdmiRx_LinkIntrEnable(InstancePtr) XV_HdmiRx_WriteReg((InstancePtr)->Config.BaseAddress, (XV_HDMIRX_LNKSTA_CTRL_SET_OFFSET), (XV_HDMIRX_LNKSTA_CTRL_IE_MASK))
| This macro enables interrupt in the HDMI RX Link Status (LNKSTA) peripheral. More...
#define | XV_HdmiRx_LinkIntrDisable(InstancePtr) XV_HdmiRx_WriteReg((InstancePtr)->Config.BaseAddress, (XV_HDMIRX_LNKSTA_CTRL_CLR_OFFSET), (XV_HDMIRX_LNKSTA_CTRL_IE_MASK))
| This macro disable interrupt in the HDMI RX Link Status (LNKSTA) peripheral. More...
#define | XV_HdmiRx_IsAudioActive(InstancePtr) (InstancePtr)->Stream.Audio.Active
| This macro returns true is the audio stream is active else false. More...
#define | XV_HdmiRx_GetAudioChannels(InstancePtr) (InstancePtr)->Stream.Audio.Channels
| This macro returns the number of active audio channels. More...
#define | XV_HdmiRx_DdcHdcpClearWriteMessageBuffer(InstancePtr) XV_HdmiRx_WriteReg((InstancePtr)->Config.BaseAddress, (XV_HDMIRX_DDC_CTRL_SET_OFFSET), (XV_HDMIRX_DDC_CTRL_WMSG_CLR_MASK))
| This macro clears the HDCP write message buffer in the DDC peripheral. More...
#define | XV_HdmiRx_DdcHdcpClearReadMessageBuffer(InstancePtr) XV_HdmiRx_WriteReg((InstancePtr)->Config.BaseAddress, (XV_HDMIRX_DDC_CTRL_SET_OFFSET), (XV_HDMIRX_DDC_CTRL_RMSG_CLR_MASK))
| This macro clears the HDCP read message buffer in the DDC peripheral. More...
enum | XV_HdmiRx_AudioFormatType
typedef void(* | XV_HdmiRx_Callback )(void *CallbackRef)
| Callback type for interrupt. More...
typedef void(* | XV_HdmiRx_HdcpCallback )(void *CallbackRef, int Data)
XV_HdmiRx_Config * | XV_HdmiRx_LookupConfig (u16 DeviceId)
| This function returns a reference to an XV_HdmiRx_Config structure based on the core id, DeviceId. More...
int | XV_HdmiRx_CfgInitialize (XV_HdmiRx *InstancePtr, XV_HdmiRx_Config *CfgPtr, UINTPTR EffectiveAddr)
| This function initializes the HDMI RX core. More...
void | XV_HdmiRx_Clear (XV_HdmiRx *InstancePtr)
| This function clears the HDMI RX variables and sets them to the defaults. More...
int | XV_HdmiRx_SetStream (XV_HdmiRx *InstancePtr, XVidC_PixelsPerClock Ppc, u32 Clock)
| This function sets the HDMI RX stream parameters. More...
int | XV_HdmiRx_IsStreamUp (XV_HdmiRx *InstancePtr)
| This function provides status of the stream. More...
int | XV_HdmiRx_IsStreamScrambled (XV_HdmiRx *InstancePtr)
| This function provides the stream scrambler status. More...
int | XV_HdmiRx_IsStreamConnected (XV_HdmiRx *InstancePtr)
| This function provides the stream connected status. More...
int | XV_HdmiRx_SetHpd (XV_HdmiRx *InstancePtr, u8 SetClr)
| This function enables/clear Hot-Plug-Detect. More...
void | XV_HdmiRx_INT_VRST (XV_HdmiRx *InstancePtr, u8 Reset)
| This function asserts or releases the HDMI RX Internal VRST. More...
void | XV_HdmiRx_INT_LRST (XV_HdmiRx *InstancePtr, u8 Reset)
| This function asserts or releases the HDMI RX Internal LRST. More...
void | XV_HdmiRx_EXT_VRST (XV_HdmiRx *InstancePtr, u8 Reset)
| This function asserts or releases the HDMI RX External VRST. More...
void | XV_HdmiRx_EXT_SYSRST (XV_HdmiRx *InstancePtr, u8 Reset)
| This function asserts or releases the HDMI RX External SYSRST. More...
int | XV_HdmiRx_SetPixelRate (XV_HdmiRx *InstancePtr)
| This function sets the pixel rate. More...
void | XV_HdmiRx_SetColorFormat (XV_HdmiRx *InstancePtr)
| This function sets the color format. More...
int | XV_HdmiRx_IsLinkStatusErrMax (XV_HdmiRx *InstancePtr)
| This function provides status of one of the link error counters reached the maximum value. More...
void | XV_HdmiRx_ClearLinkStatus (XV_HdmiRx *InstancePtr)
| This function clears the link error counters. More...
u32 | XV_HdmiRx_GetLinkStatus (XV_HdmiRx *InstancePtr, u8 Type)
| This function provides status of the HDMI RX core Link Status peripheral. More...
u32 | XV_HdmiRx_GetAcrCts (XV_HdmiRx *InstancePtr)
| This function provides audio clock regenerating CTS (Cycle-Time Stamp) value at the HDMI sink device. More...
u32 | XV_HdmiRx_GetAcrN (XV_HdmiRx *InstancePtr)
| This function provides audio clock regenerating factor N value. More...
int | XV_HdmiRx_DdcLoadEdid (XV_HdmiRx *InstancePtr, u8 *Data, u16 Length)
| This function loads the EDID data into the DDC slave. More...
void | XV_HdmiRx_DdcHdcpSetAddress (XV_HdmiRx *InstancePtr, u32 Addr)
| This function sets the HDCP address in the DDC peripheral. More...
void | XV_HdmiRx_DdcHdcpWriteData (XV_HdmiRx *InstancePtr, u32 Data)
| This function writes HDCP data in the DDC peripheral. More...
u32 | XV_HdmiRx_DdcHdcpReadData (XV_HdmiRx *InstancePtr)
| This function reads HDCP data from the DDC peripheral. More...
u16 | XV_HdmiRx_DdcGetHdcpWriteMessageBufferWords (XV_HdmiRx *InstancePtr)
| This function gets the number of bytes of the HDCP 2.2 write buffer in the DDC slave. More...
int | XV_HdmiRx_DdcIsHdcpWriteMessageBufferEmpty (XV_HdmiRx *InstancePtr)
| This function returns the status of the HDCP 2.2 write buffer in the DDC slave. More...
u16 | XV_HdmiRx_DdcGetHdcpReadMessageBufferWords (XV_HdmiRx *InstancePtr)
| This function gets the number of bytes of the HDCP 2.2 read buffer in the DDC slave. More...
int | XV_HdmiRx_DdcIsHdcpReadMessageBufferEmpty (XV_HdmiRx *InstancePtr)
| This function returns the status of the HDCP 2.2 read message buffer in the DDC slave. More...
int | XV_HdmiRx_GetTmdsClockRatio (XV_HdmiRx *InstancePtr)
| This function gets the SCDC TMDS clock ratio bit. More...
u8 | XV_HdmiRx_GetAviVic (XV_HdmiRx *InstancePtr)
| This function returns the AVI VIC (captured by the AUX peripheral) More...
XVidC_ColorFormat | XV_HdmiRx_GetAviColorSpace (XV_HdmiRx *InstancePtr)
| This function returns the AVI colorspace (captured by the AUX peripheral) More...
XVidC_ColorDepth | XV_HdmiRx_GetGcpColorDepth (XV_HdmiRx *InstancePtr)
| This function returns the GCP color depth (captured by the AUX peripheral) More...
XVidC_VideoMode | XV_HdmiRx_LookupVmId (u8 Vic)
| This function searches for the video mode based on the vic. More...
int | XV_HdmiRx_GetVideoProperties (XV_HdmiRx *InstancePtr)
| This function reads the video properties from the aux peripheral. More...
int | XV_HdmiRx_GetVideoTiming (XV_HdmiRx *InstancePtr)
| This function reads the video timing from the VTD peripheral. More...
u32 | XV_HdmiRx_Divide (u32 Dividend, u32 Divisor)
| This function calculates the divider for the frame calculation. More...
void | XV_HdmiRx_WriteScdcRegister (XV_HdmiRx *InstancePtr, u8 address, u8 data)
| This function write data to SCDC register. More...
void | XV_HdmiRx_DebugInfo (XV_HdmiRx *InstancePtr)
| This function prints stream and timing information on STDIO/Uart console. More...
int | XV_HdmiRx_SelfTest (XV_HdmiRx *InstancePtr)
| This function reads ID of PIO peripheral. More...
void | XV_HdmiRx_IntrHandler (void *InstancePtr)
| This function is the interrupt handler for the HDMI RX driver. More...
int | XV_HdmiRx_SetCallback (XV_HdmiRx *InstancePtr, XV_HdmiRx_HandlerType HandlerType, void *CallbackFunc, void *CallbackRef)
| This function installs an asynchronous callback function for the given HandlerType: More...
int | XV_HdmiRx_VSIF_ParsePacket (XHdmiC_Aux *AuxPtr, XV_HdmiRx_VSIF *VSIFPtr)
| This function parses a Vendor Specific InfoFrame (VSIF). More...
void | XV_HdmiRx_VSIF_DisplayInfo (XV_HdmiRx_VSIF *VSIFPtr)
| This function displays the contents of an XV_HdmiRx_VSIF instance. More...
char * | XV_HdmiRx_VSIF_3DStructToString (XV_HdmiRx_3D_Struct_Field Item)
| This function returns a string representation of the enumerated type XV_HdmiRx_3D_Struct_Field. More...
char * | XV_HdmiRx_VSIF_3DSampMethodToString (XV_HdmiRx_3D_Sampling_Method Item)
| This function returns a string representation of the enumerated type XV_HdmiRx_3D_Sampling_Method. More...
char * | XV_HdmiRx_VSIF_3DSampPosToString (XV_HdmiRx_3D_Sampling_Position Item)
| This function returns a string representation of the enumerated type XV_HdmiRx_3D_Sampling_Position. More...

## Macro Definition Documentation

#define XV_HdmiRx_AudioDisable | ( |  | InstancePtr | ) | XV_HdmiRx_WriteReg((InstancePtr)->Config.BaseAddress, (XV_HDMIRX_AUD_CTRL_CLR_OFFSET), (XV_HDMIRX_AUD_CTRL_RUN_MASK))

This macro disables the HDMI RX Audio (AUD) peripheral.

Parameters

  InstancePtr | is a pointer to the XV_HdmiRx core instance.

Returns
  None.

Note
  C-style signature: void XV_HdmiRx_AudioDisable(XV_HdmiRx *InstancePtr)

Referenced by XV_HdmiRx_CfgInitialize().

#define XV_HdmiRx_AudioEnable | ( |  | InstancePtr | ) | XV_HdmiRx_WriteReg((InstancePtr)->Config.BaseAddress, (XV_HDMIRX_AUD_CTRL_SET_OFFSET), (XV_HDMIRX_AUD_CTRL_RUN_MASK))

This macro enables the HDMI RX Audio (AUD) peripheral.

Parameters

  InstancePtr | is a pointer to the XV_HdmiRx core instance.

Returns
  None.

Note
  C-style signature: void XV_HdmiRx_AudioEnable(XV_HdmiRx *InstancePtr)

#define XV_HdmiRx_AudioIntrDisable | ( |  | InstancePtr | ) | XV_HdmiRx_WriteReg((InstancePtr)->Config.BaseAddress, (XV_HDMIRX_AUD_CTRL_CLR_OFFSET), (XV_HDMIRX_AUD_CTRL_IE_MASK))

This macro disables interrupts in the HDMI RX Audio (AUD) peripheral.

Parameters

  InstancePtr | is a pointer to the XV_HdmiRx core instance.

Returns
  None.

Note
  C-style signature: void XV_HdmiRx_AudioIntrDisable(XV_HdmiRx *InstancePtr)

#define XV_HdmiRx_AudioIntrEnable | ( |  | InstancePtr | ) | XV_HdmiRx_WriteReg((InstancePtr)->Config.BaseAddress, (XV_HDMIRX_AUD_CTRL_SET_OFFSET), (XV_HDMIRX_AUD_CTRL_IE_MASK))

This macro enables interrupts in the HDMI RX Audio (AUD) peripheral.

Parameters

  InstancePtr | is a pointer to the XV_HdmiRx core instance.

Returns
  None.

Note
  C-style signature: void XV_HdmiRx_AudioIntrEnable(XV_HdmiRx *InstancePtr)

Referenced by XV_HdmiRx_CfgInitialize().

#define XV_HdmiRx_AuxDisable | ( |  | InstancePtr | ) | XV_HdmiRx_WriteReg((InstancePtr)->Config.BaseAddress, (XV_HDMIRX_AUX_CTRL_CLR_OFFSET), (XV_HDMIRX_AUX_CTRL_RUN_MASK))

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

Parameters

  InstancePtr | is a pointer to the XV_HdmiRx core instance.

Returns
  None.

Note
  C-style signature: void XV_HdmiRx_AuxDisable(XV_HdmiRx *InstancePtr)

Referenced by XV_HdmiRx_CfgInitialize().

#define XV_HdmiRx_AuxEnable | ( |  | InstancePtr | ) | XV_HdmiRx_WriteReg((InstancePtr)->Config.BaseAddress, (XV_HDMIRX_AUX_CTRL_SET_OFFSET), (XV_HDMIRX_AUX_CTRL_RUN_MASK))

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

Parameters

  InstancePtr | is a pointer to the XV_HdmiRx core instance.

Returns
  None.

Note
  C-style signature: void XV_HdmiRx_AuxEnable(XV_HdmiRx *InstancePtr)

#define XV_HdmiRx_AuxIntrDisable | ( |  | InstancePtr | ) | XV_HdmiRx_WriteReg((InstancePtr)->Config.BaseAddress, (XV_HDMIRX_AUX_CTRL_CLR_OFFSET), (XV_HDMIRX_AUX_CTRL_IE_MASK))

This macro disables interrupts in the HDMI RX Auxiliary (AUX) peripheral.

Parameters

  InstancePtr | is a pointer to the XV_HdmiRx core instance.

Returns
  None.

Note
  C-style signature: void XV_HdmiRx_AuxIntrDisable(XV_HdmiRx *InstancePtr)

#define XV_HdmiRx_AuxIntrEnable | ( |  | InstancePtr | ) | XV_HdmiRx_WriteReg((InstancePtr)->Config.BaseAddress, (XV_HDMIRX_AUX_CTRL_SET_OFFSET), (XV_HDMIRX_AUX_CTRL_IE_MASK))

This macro enables interrupts in the HDMI RX Auxiliary (AUX) peripheral.

Parameters

  InstancePtr | is a pointer to the XV_HdmiRx core instance.

Returns
  None.

Note
  C-style signature: void XV_HdmiRx_AuxIntrEnable(XV_HdmiRx *InstancePtr)

Referenced by XV_HdmiRx_CfgInitialize().

#define XV_HdmiRx_AxisEnable | ( |  | InstancePtr,
|  |  | Enable
| ) |  |

Value:
{ \
if (Enable) { \
XV_HdmiRx_WriteReg((InstancePtr)->Config.BaseAddress, (XV_HDMIRX_PIO_OUT_SET_OFFSET), (XV_HDMIRX_PIO_OUT_AXIS_EN_MASK)); \
} \
else { \
XV_HdmiRx_WriteReg((InstancePtr)->Config.BaseAddress, (XV_HDMIRX_PIO_OUT_CLR_OFFSET), (XV_HDMIRX_PIO_OUT_AXIS_EN_MASK)); \
} \
}
XV_HDMIRX_PIO_OUT_CLR_OFFSET
#define XV_HDMIRX_PIO_OUT_CLR_OFFSET
PIO Out Register Clear offset.
Definition: xv_hdmirx_hw.h:72
XV_HDMIRX_PIO_OUT_SET_OFFSET
#define XV_HDMIRX_PIO_OUT_SET_OFFSET
PIO Out Register Set offset.
Definition: xv_hdmirx_hw.h:71
XV_HdmiRx_WriteReg
#define XV_HdmiRx_WriteReg(BaseAddress, RegOffset, Data)
This macro writes a value to a HDMI RX register.
Definition: xv_hdmirx_hw.h:370
XV_HDMIRX_PIO_OUT_AXIS_EN_MASK
#define XV_HDMIRX_PIO_OUT_AXIS_EN_MASK
PIO Out Axis Enable mask.
Definition: xv_hdmirx_hw.h:96

This macro asserts or clears the AXIS enable output port.

Parameters

  InstancePtr | is a pointer to the XV_HdmiRx core instance.
  Reset | specifies TRUE/FALSE value to either assert or release HDMI RX 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_HdmiRx_AxisEnable(InstancePtr, Enable)

#define XV_HdmiRx_Bridge_pixel | ( |  | InstancePtr,
|  |  | SetClr
| ) |  |

Value:
{ \
if (SetClr) { \
XV_HdmiRx_WriteReg((InstancePtr)->Config.BaseAddress, (XV_HDMIRX_PIO_OUT_SET_OFFSET), (XV_HDMIRX_PIO_OUT_BRIDGE_PIXEL_MASK)); \
} \
else { \
XV_HdmiRx_WriteReg((InstancePtr)->Config.BaseAddress, (XV_HDMIRX_PIO_OUT_CLR_OFFSET), (XV_HDMIRX_PIO_OUT_BRIDGE_PIXEL_MASK)); \
} \
}
XV_HDMIRX_PIO_OUT_CLR_OFFSET
#define XV_HDMIRX_PIO_OUT_CLR_OFFSET
PIO Out Register Clear offset.
Definition: xv_hdmirx_hw.h:72
XV_HDMIRX_PIO_OUT_SET_OFFSET
#define XV_HDMIRX_PIO_OUT_SET_OFFSET
PIO Out Register Set offset.
Definition: xv_hdmirx_hw.h:71
XV_HdmiRx_WriteReg
#define XV_HdmiRx_WriteReg(BaseAddress, RegOffset, Data)
This macro writes a value to a HDMI RX register.
Definition: xv_hdmirx_hw.h:370
XV_HDMIRX_PIO_OUT_BRIDGE_PIXEL_MASK
#define XV_HDMIRX_PIO_OUT_BRIDGE_PIXEL_MASK
PIO Out Bridge_Pixel drop mask.
Definition: xv_hdmirx_hw.h:103

This macro controls the Pixel Drop mode for video bridge.

Parameters

  InstancePtr | is a pointer to the XHdmi_Rx core instance.
  SetClr | specifies TRUE/FALSE value to either enable or disable the Pixel Repitition.

Returns
  None.

Note
  C-style signature: void XV_HdmiRx_Bridge_pixel(XV_HdmiRx *InstancePtr, u8 SetClr)

#define XV_HdmiRx_Bridge_yuv420 | ( |  | InstancePtr,
|  |  | SetClr
| ) |  |

Value:
{ \
if (SetClr) { \
XV_HdmiRx_WriteReg((InstancePtr)->Config.BaseAddress, (XV_HDMIRX_PIO_OUT_SET_OFFSET), (XV_HDMIRX_PIO_OUT_BRIDGE_YUV420_MASK)); \
} \
else { \
XV_HdmiRx_WriteReg((InstancePtr)->Config.BaseAddress, (XV_HDMIRX_PIO_OUT_CLR_OFFSET), (XV_HDMIRX_PIO_OUT_BRIDGE_YUV420_MASK)); \
} \
}
XV_HDMIRX_PIO_OUT_CLR_OFFSET
#define XV_HDMIRX_PIO_OUT_CLR_OFFSET
PIO Out Register Clear offset.
Definition: xv_hdmirx_hw.h:72
XV_HDMIRX_PIO_OUT_BRIDGE_YUV420_MASK
#define XV_HDMIRX_PIO_OUT_BRIDGE_YUV420_MASK
PIO Out Bridge_YUV420 mask.
Definition: xv_hdmirx_hw.h:102
XV_HDMIRX_PIO_OUT_SET_OFFSET
#define XV_HDMIRX_PIO_OUT_SET_OFFSET
PIO Out Register Set offset.
Definition: xv_hdmirx_hw.h:71
XV_HdmiRx_WriteReg
#define XV_HdmiRx_WriteReg(BaseAddress, RegOffset, Data)
This macro writes a value to a HDMI RX register.
Definition: xv_hdmirx_hw.h:370

This macro controls the YUV420 mode for video bridge.

Parameters

  InstancePtr | is a pointer to the XHdmi_Rx core instance.
  SetClr | specifies TRUE/FALSE value to either enable or disable the YUV 420 Support.

Returns
  None.

Note
  C-style signature: void XV_HdmiRx_Bridge_yuv420(XV_HdmiRx *InstancePtr, u8 SetClr)

#define XV_HdmiRx_DdcDisable | ( |  | InstancePtr | ) | XV_HdmiRx_WriteReg((InstancePtr)->Config.BaseAddress, (XV_HDMIRX_DDC_CTRL_CLR_OFFSET), (XV_HDMIRX_DDC_CTRL_RUN_MASK))

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

Parameters

  InstancePtr | is a pointer to the XV_HdmiRx core instance.

Returns
  None.

Note
  C-style signature: void XV_HdmiRx_DdcDisable(XV_HdmiRx *InstancePtr)

Referenced by XV_HdmiRx_CfgInitialize().

#define XV_HdmiRx_DdcEnable | ( |  | InstancePtr | ) | XV_HdmiRx_WriteReg((InstancePtr)->Config.BaseAddress, (XV_HDMIRX_DDC_CTRL_SET_OFFSET), (XV_HDMIRX_DDC_CTRL_RUN_MASK))

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

Parameters

  InstancePtr | is a pointer to the XV_HdmiRx core instance.

Returns
  None.

Note
  C-style signature: void XV_HdmiRx_DdcEnable(XV_HdmiRx *InstancePtr)

Referenced by XV_HdmiRx_CfgInitialize().

#define XV_HdmiRx_DdcHdcp14Mode | ( |  | InstancePtr | ) | XV_HdmiRx_WriteReg((InstancePtr)->Config.BaseAddress, (XV_HDMIRX_DDC_CTRL_CLR_OFFSET), (XV_HDMIRX_DDC_CTRL_HDCP_MODE_MASK));

This macro sets the DDC peripheral into HDCP 1.4 mode.

Parameters

  InstancePtr | is a pointer to the XV_HdmiRx core instance.

Returns
  None.

Note
  C-style signature: void XV_HdmiRx_DdcHdcp14Mode(XV_HdmiRx *InstancePtr)

#define XV_HdmiRx_DdcHdcp22Mode | ( |  | InstancePtr | ) | XV_HdmiRx_WriteReg((InstancePtr)->Config.BaseAddress, (XV_HDMIRX_DDC_CTRL_SET_OFFSET), (XV_HDMIRX_DDC_CTRL_HDCP_MODE_MASK));

This macro sets the DDC peripheral into HDCP 2.2 mode.

Parameters

  InstancePtr | is a pointer to the XV_HdmiRx core instance.

Returns
  None.

Note
  C-style signature: void XV_HdmiRx_DdcHdcp22Mode(XV_HdmiRx *InstancePtr)

#define XV_HdmiRx_DdcHdcpClearReadMessageBuffer | ( |  | InstancePtr | ) | XV_HdmiRx_WriteReg((InstancePtr)->Config.BaseAddress, (XV_HDMIRX_DDC_CTRL_SET_OFFSET), (XV_HDMIRX_DDC_CTRL_RMSG_CLR_MASK))

This macro clears the HDCP read message buffer in the DDC peripheral.

Parameters

  InstancePtr | is a pointer to the XHdmi_Rx core instance.

Returns
  None.

Note
  C-style signature: void XHdmiRx_DdcHdcpClearReadMessageBuffer(XHdmi_Rx *InstancePtr)

#define XV_HdmiRx_DdcHdcpClearWriteMessageBuffer | ( |  | InstancePtr | ) | XV_HdmiRx_WriteReg((InstancePtr)->Config.BaseAddress, (XV_HDMIRX_DDC_CTRL_SET_OFFSET), (XV_HDMIRX_DDC_CTRL_WMSG_CLR_MASK))

This macro clears the HDCP write message buffer in the DDC peripheral.

Parameters

  InstancePtr | is a pointer to the XHdmi_Rx core instance.

Returns
  None.

Note
  C-style signature: void XHdmiRx_DdcHdcpClearWriteMessageBuffer(XHdmi_Rx *InstancePtr)

#define XV_HdmiRx_DdcHdcpEnable | ( |  | InstancePtr | ) | XV_HdmiRx_WriteReg((InstancePtr)->Config.BaseAddress, (XV_HDMIRX_DDC_CTRL_SET_OFFSET), (XV_HDMIRX_DDC_CTRL_HDCP_EN_MASK));

This macro enables the HDCP in the DDC peripheral.

Parameters

  InstancePtr | is a pointer to the XV_HdmiRx core instance.

Returns
  None.

Note
  C-style signature: void XV_HdmiRx_DdcHdcpEnable(XV_HdmiRx *InstancePtr)

#define XV_HdmiRx_DdcIntrDisable | ( |  | InstancePtr | ) | XV_HdmiRx_WriteReg((InstancePtr)->Config.BaseAddress, (XV_HDMIRX_DDC_CTRL_CLR_OFFSET), (XV_HDMIRX_DDC_CTRL_IE_MASK))

This macro disables interrupts in the HDMI RX Display Data Channel (DDC) peripheral.

Parameters

  InstancePtr | is a pointer to the XV_HdmiRx core instance.

Returns
  None.

Note
  C-style signature: void XV_HdmiRx_DdcIntrDisable(XV_HdmiRx *InstancePtr)

#define XV_HdmiRx_DdcIntrEnable | ( |  | InstancePtr | ) | XV_HdmiRx_WriteReg((InstancePtr)->Config.BaseAddress, (XV_HDMIRX_DDC_CTRL_SET_OFFSET), (XV_HDMIRX_DDC_CTRL_IE_MASK))

This macro enables interrupts in the HDMI RX Display Data Channel (DDC) peripheral.

Parameters

  InstancePtr | is a pointer to the XV_HdmiRx core instance.

Returns
  None.

Note
  C-style signature: void XV_HdmiRx_DdcIntrEnable(XV_HdmiRx *InstancePtr)

#define XV_HdmiRx_DdcScdcClear | ( |  | InstancePtr | ) |

Value:
{ \
XV_HdmiRx_WriteReg((InstancePtr)->Config.BaseAddress, (XV_HDMIRX_DDC_CTRL_CLR_OFFSET), (XV_HDMIRX_DDC_CTRL_SCDC_CLR_MASK)); \
}
XV_HDMIRX_DDC_CTRL_SCDC_CLR_MASK
#define XV_HDMIRX_DDC_CTRL_SCDC_CLR_MASK
DDC Control SCDC clear mask.
Definition: xv_hdmirx_hw.h:204
XV_HdmiRx_WriteReg
#define XV_HdmiRx_WriteReg(BaseAddress, RegOffset, Data)
This macro writes a value to a HDMI RX register.
Definition: xv_hdmirx_hw.h:370
XV_HDMIRX_DDC_CTRL_CLR_OFFSET
#define XV_HDMIRX_DDC_CTRL_CLR_OFFSET
DDC Control Register Clear offset.
Definition: xv_hdmirx_hw.h:187

This macro clears the SCDC registers in the DDC peripheral.

Parameters

  InstancePtr | is a pointer to the XV_HdmiRx core instance.

Returns
  None.

Note
  C-style signature: void XV_HdmiRx_DdcScdcClear(XV_HdmiRx *InstancePtr)

Referenced by XV_HdmiRx_CfgInitialize(), and XV_HdmiRx_SetHpd().

#define XV_HdmiRx_DdcScdcEnable | ( |  | InstancePtr | ) | XV_HdmiRx_WriteReg((InstancePtr)->Config.BaseAddress, (XV_HDMIRX_DDC_CTRL_SET_OFFSET), (XV_HDMIRX_DDC_CTRL_SCDC_EN_MASK));

This macro enables the SCDC in the DDC peripheral.

Parameters

  InstancePtr | is a pointer to the XV_HdmiRx core instance.

Returns
  None.

Note
  C-style signature: void XV_HdmiRx_DdcScdcEnable(XV_HdmiRx *InstancePtr)

Referenced by XV_HdmiRx_CfgInitialize().

#define XV_HdmiRx_DdcScdcSet | ( |  | InstancePtr | ) |

Value:
{ \
XV_HdmiRx_WriteReg((InstancePtr)->Config.BaseAddress, (XV_HDMIRX_DDC_CTRL_SET_OFFSET), (XV_HDMIRX_DDC_CTRL_SCDC_CLR_MASK)); \
}
XV_HDMIRX_DDC_CTRL_SET_OFFSET
#define XV_HDMIRX_DDC_CTRL_SET_OFFSET
DDC Control Register Set offset.
Definition: xv_hdmirx_hw.h:186
XV_HDMIRX_DDC_CTRL_SCDC_CLR_MASK
#define XV_HDMIRX_DDC_CTRL_SCDC_CLR_MASK
DDC Control SCDC clear mask.
Definition: xv_hdmirx_hw.h:204
XV_HdmiRx_WriteReg
#define XV_HdmiRx_WriteReg(BaseAddress, RegOffset, Data)
This macro writes a value to a HDMI RX register.
Definition: xv_hdmirx_hw.h:370

This macro Sets the SCDC registers in the DDC peripheral.

Parameters

  InstancePtr | is a pointer to the XV_HdmiRx core instance.

Returns
  None.

Note
  C-style signature: void XV_HdmiRx_DdcScdcClear(XV_HdmiRx *InstancePtr)

Referenced by XV_HdmiRx_SetHpd().

#define XV_HdmiRx_GetAudioChannels | ( |  | InstancePtr | ) | (InstancePtr)->Stream.Audio.Channels

This macro returns the number of active audio channels.

Parameters

  InstancePtr | is a pointer to the XV_HdmiRx core instance.

Returns
  Number of active audio channels.

Note
  C-style signature: u32 XV_HdmiRx_GetAudioChannels(XV_HdmiRx *InstancePtr)

#define XV_HdmiRx_GetTime10Ms | ( |  | InstancePtr | ) | (InstancePtr)->Config.AxiLiteClkFreq/100

This macro returns the clock cycles required to count up to 10MS with respect to AXI Lite Frequency.

Parameters

  InstancePtr | is a pointer to the XV_HdmiRX core instance.

Returns
  None.

#define XV_HdmiRx_GetTime16Ms | ( |  | InstancePtr | ) | ((InstancePtr)->Config.AxiLiteClkFreq*10)/625

This macro returns the clock cycles required to count up to 16MS with respect to AXI Lite Frequency.

Parameters

  InstancePtr | is a pointer to the XV_HdmiRX core instance.

Returns
  None.

Referenced by XV_HdmiRx_CfgInitialize().

#define XV_HdmiRx_GetTime200Ms | ( |  | InstancePtr | ) | (InstancePtr)->Config.AxiLiteClkFreq/5

This macro returns the clock cycles required to count up to 200MS with respect to AXI Lite Frequency.

Parameters

  InstancePtr | is a pointer to the XV_HdmiRX core instance.

Returns
  None.

#define XV_HdmiRx_GetVersion | ( |  | InstancePtr | ) | XV_HdmiRx_ReadReg((InstancePtr)->Config.BaseAddress, (XV_HDMIRX_VER_VERSION_OFFSET))

This macro reads the RX version.

Parameters

  InstancePtr | is a pointer to the XHdmi_RX core instance.

Returns
  RX version.

*note C-style signature: u32 XV_HdmiRx_GetVersion(XV_HdmiRx *InstancePtr)

#define XV_HDMIRX_H_

Prevent circular inclusions by using protection macros.

#define XV_HdmiRx_IsAudioActive | ( |  | InstancePtr | ) | (InstancePtr)->Stream.Audio.Active

This macro returns true is the audio stream is active else false.

Parameters

  InstancePtr | is a pointer to the XV_HdmiRx core instance.

Returns
  TRUE if the audio stream is active, FALSE if it is not.

Note
  C-style signature: u32 XV_HdmiRx_IsAudioActive(XV_HdmiRx *InstancePtr)

#define XV_HdmiRx_LinkEnable | ( |  | InstancePtr,
|  |  | SetClr
| ) |  |

Value:
{ \
if (SetClr) { \
XV_HdmiRx_WriteReg((InstancePtr)->Config.BaseAddress, (XV_HDMIRX_PIO_OUT_SET_OFFSET), (XV_HDMIRX_PIO_OUT_LNK_EN_MASK)); \
} \
else { \
XV_HdmiRx_WriteReg((InstancePtr)->Config.BaseAddress, (XV_HDMIRX_PIO_OUT_CLR_OFFSET), (XV_HDMIRX_PIO_OUT_LNK_EN_MASK)); \
} \
}
XV_HDMIRX_PIO_OUT_CLR_OFFSET
#define XV_HDMIRX_PIO_OUT_CLR_OFFSET
PIO Out Register Clear offset.
Definition: xv_hdmirx_hw.h:72
XV_HDMIRX_PIO_OUT_SET_OFFSET
#define XV_HDMIRX_PIO_OUT_SET_OFFSET
PIO Out Register Set offset.
Definition: xv_hdmirx_hw.h:71
XV_HdmiRx_WriteReg
#define XV_HdmiRx_WriteReg(BaseAddress, RegOffset, Data)
This macro writes a value to a HDMI RX register.
Definition: xv_hdmirx_hw.h:370
XV_HDMIRX_PIO_OUT_LNK_EN_MASK
#define XV_HDMIRX_PIO_OUT_LNK_EN_MASK
PIO Out video enable mask.
Definition: xv_hdmirx_hw.h:89

This macro asserts or clears the HDMI RX link enable.

Parameters

  InstancePtr | is a pointer to the XV_HdmiRx core instance.
  SetClr | specifies TRUE/FALSE value to either assert or release HDMI RX link enable.

Returns
  None.

Note
  C-style signature: void XV_HdmiRx_Reset(XV_HdmiRx *InstancePtr, u8 SetClr)

#define XV_HdmiRx_LinkIntrDisable | ( |  | InstancePtr | ) | XV_HdmiRx_WriteReg((InstancePtr)->Config.BaseAddress, (XV_HDMIRX_LNKSTA_CTRL_CLR_OFFSET), (XV_HDMIRX_LNKSTA_CTRL_IE_MASK))

This macro disable interrupt in the HDMI RX Link Status (LNKSTA) peripheral.

Parameters

  InstancePtr | is a pointer to the XV_HdmiRx core instance.

Returns
  None.

Note
  C-style signature: void XV_HdmiRx_LinkIntrDisable(XV_HdmiRx *InstancePtr)

#define XV_HdmiRx_LinkIntrEnable | ( |  | InstancePtr | ) | XV_HdmiRx_WriteReg((InstancePtr)->Config.BaseAddress, (XV_HDMIRX_LNKSTA_CTRL_SET_OFFSET), (XV_HDMIRX_LNKSTA_CTRL_IE_MASK))

This macro enables interrupt in the HDMI RX Link Status (LNKSTA) peripheral.

Parameters

  InstancePtr | is a pointer to the XV_HdmiRx core instance.

Returns
  None.

Note
  C-style signature: void XV_HdmiRx_LinkIntrEnable(XV_HdmiRx *InstancePtr)

#define XV_HdmiRx_LnkstaDisable | ( |  | InstancePtr | ) | XV_HdmiRx_WriteReg((InstancePtr)->Config.BaseAddress, (XV_HDMIRX_LNKSTA_CTRL_CLR_OFFSET), (XV_HDMIRX_LNKSTA_CTRL_RUN_MASK))

This macro disables the HDMI RX Link Status (LNKSTA) peripheral.

Parameters

  InstancePtr | is a pointer to the XV_HdmiRx core instance.

Returns
  None.

Note
  C-style signature: void XV_HdmiRx_LinkstaDisable(XV_HdmiRx *InstancePtr)

Referenced by XV_HdmiRx_CfgInitialize().

#define XV_HdmiRx_LnkstaEnable | ( |  | InstancePtr | ) | XV_HdmiRx_WriteReg((InstancePtr)->Config.BaseAddress, (XV_HDMIRX_LNKSTA_CTRL_SET_OFFSET), (XV_HDMIRX_LNKSTA_CTRL_RUN_MASK))

This macro enables the HDMI RX Link Status (LNKSTA) peripheral.

Parameters

  InstancePtr | is a pointer to the XV_HdmiRx core instance.

Returns
  None.

Note
  C-style signature: void XV_HdmiRx_LinkstaEnable(XV_HdmiRx *InstancePtr)

Referenced by XV_HdmiRx_CfgInitialize().

#define XV_HdmiRx_PioDisable | ( |  | InstancePtr | ) | XV_HdmiRx_WriteReg((InstancePtr)->Config.BaseAddress, (XV_HDMIRX_PIO_CTRL_CLR_OFFSET), (XV_HDMIRX_PIO_CTRL_RUN_MASK))

This macro disables the HDMI RX PIO peripheral.

Parameters

  InstancePtr | is a pointer to the XV_HdmiRx core instance.

Returns
  None.

Note
  C-style signature: void XV_HdmiRx_PioDisable(XV_HdmiRx *InstancePtr)

Referenced by XV_HdmiRx_CfgInitialize().

#define XV_HdmiRx_PioEnable | ( |  | InstancePtr | ) | XV_HdmiRx_WriteReg((InstancePtr)->Config.BaseAddress, (XV_HDMIRX_PIO_CTRL_SET_OFFSET), (XV_HDMIRX_PIO_CTRL_RUN_MASK))

This macro enables the HDMI RX PIO peripheral.

Parameters

  InstancePtr | is a pointer to the XV_HdmiRx core instance.

Returns
  None.

Note
  C-style signature: void XV_HdmiRx_PioEnable(XV_HdmiRx *InstancePtr)

Referenced by XV_HdmiRx_CfgInitialize().

#define XV_HdmiRx_PioIntrDisable | ( |  | InstancePtr | ) | XV_HdmiRx_WriteReg((InstancePtr)->Config.BaseAddress, (XV_HDMIRX_PIO_CTRL_CLR_OFFSET), (XV_HDMIRX_PIO_CTRL_IE_MASK))

This macro disables interrupts in the HDMI RX PIO peripheral.

Parameters

  InstancePtr | is a pointer to the XV_HdmiRx core instance.

Returns
  None.

Note
  C-style signature: void XV_HdmiRx_PioIntrDisable(XV_HdmiRx *InstancePtr)

Referenced by XV_HdmiRx_CfgInitialize().

#define XV_HdmiRx_PioIntrEnable | ( |  | InstancePtr | ) | XV_HdmiRx_WriteReg((InstancePtr)->Config.BaseAddress, (XV_HDMIRX_PIO_CTRL_SET_OFFSET), (XV_HDMIRX_PIO_CTRL_IE_MASK))

This macro enables interrupts in the HDMI RX PIO peripheral.

Parameters

  InstancePtr | is a pointer to the XV_HdmiRx core instance.

Returns
  None.

Note
  C-style signature: void XV_HdmiRx_PioIntrEnable(XV_HdmiRx *InstancePtr)

Referenced by XV_HdmiRx_CfgInitialize().

#define XV_HdmiRx_Reset | ( |  | InstancePtr,
|  |  | Reset
| ) |  |

Value:
{ \
if (Reset) { \
XV_HdmiRx_WriteReg((InstancePtr)->Config.BaseAddress, (XV_HDMIRX_PIO_OUT_CLR_OFFSET), (XV_HDMIRX_PIO_OUT_RESET_MASK)); \
} \
else { \
XV_HdmiRx_WriteReg((InstancePtr)->Config.BaseAddress, (XV_HDMIRX_PIO_OUT_SET_OFFSET), (XV_HDMIRX_PIO_OUT_RESET_MASK)); \
} \
}
XV_HDMIRX_PIO_OUT_CLR_OFFSET
#define XV_HDMIRX_PIO_OUT_CLR_OFFSET
PIO Out Register Clear offset.
Definition: xv_hdmirx_hw.h:72
XV_HDMIRX_PIO_OUT_SET_OFFSET
#define XV_HDMIRX_PIO_OUT_SET_OFFSET
PIO Out Register Set offset.
Definition: xv_hdmirx_hw.h:71
XV_HdmiRx_WriteReg
#define XV_HdmiRx_WriteReg(BaseAddress, RegOffset, Data)
This macro writes a value to a HDMI RX register.
Definition: xv_hdmirx_hw.h:370
XV_HDMIRX_PIO_OUT_RESET_MASK
#define XV_HDMIRX_PIO_OUT_RESET_MASK
PIO Out Reset mask.
Definition: xv_hdmirx_hw.h:88

This macro asserts or clears the HDMI RX reset.

Parameters

  InstancePtr | is a pointer to the XV_HdmiRx core instance.
  Reset | specifies TRUE/FALSE value to either assert or release HDMI RX 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_HdmiRx_Reset(XV_HdmiRx *InstancePtr, u8 Reset)

#define XV_HdmiRx_SetScrambler | ( |  | InstancePtr,
|  |  | SetClr
| ) |  |

Value:
{ \
if (SetClr) { \
XV_HdmiRx_WriteReg((InstancePtr)->Config.BaseAddress, (XV_HDMIRX_PIO_OUT_SET_OFFSET), (XV_HDMIRX_PIO_OUT_SCRM_MASK)); \
(InstancePtr)->Stream.IsScrambled = (TRUE); \
} \
else { \
XV_HdmiRx_WriteReg((InstancePtr)->Config.BaseAddress, (XV_HDMIRX_PIO_OUT_CLR_OFFSET), (XV_HDMIRX_PIO_OUT_SCRM_MASK)); \
(InstancePtr)->Stream.IsScrambled = (FALSE); \
} \
}
XV_HDMIRX_PIO_OUT_CLR_OFFSET
#define XV_HDMIRX_PIO_OUT_CLR_OFFSET
PIO Out Register Clear offset.
Definition: xv_hdmirx_hw.h:72
XV_HDMIRX_PIO_OUT_SET_OFFSET
#define XV_HDMIRX_PIO_OUT_SET_OFFSET
PIO Out Register Set offset.
Definition: xv_hdmirx_hw.h:71
XV_HdmiRx_WriteReg
#define XV_HdmiRx_WriteReg(BaseAddress, RegOffset, Data)
This macro writes a value to a HDMI RX register.
Definition: xv_hdmirx_hw.h:370
XV_HDMIRX_PIO_OUT_SCRM_MASK
#define XV_HDMIRX_PIO_OUT_SCRM_MASK
PIO Out Scrambler mask.
Definition: xv_hdmirx_hw.h:101

This macro controls the HDMI RX Scrambler.

Parameters

  InstancePtr | is a pointer to the XHdmi_Rx core instance.
  SetClr | specifies TRUE/FALSE value to either enable or disable the scrambler.

Returns
  None.

Note
  C-style signature: void XV_HdmiRx_SetScrambler(XV_HdmiRx *InstancePtr, u8 SetClr)

#define XV_HdmiRx_TmrDisable | ( |  | InstancePtr | ) | XV_HdmiRx_WriteReg((InstancePtr)->Config.BaseAddress, (XV_HDMIRX_TMR_CTRL_CLR_OFFSET), (XV_HDMIRX_TMR_CTRL_RUN_MASK))

This macro disables the HDMI RX timer peripheral.

Parameters

  InstancePtr | is a pointer to the XV_HdmiRx core instance.

Returns
  None.

Note
  C-style signature: void XV_HdmiRx_TmrDisable(XV_HdmiRx *InstancePtr)

Referenced by XV_HdmiRx_CfgInitialize().

#define XV_HdmiRx_TmrEnable | ( |  | InstancePtr | ) | XV_HdmiRx_WriteReg((InstancePtr)->Config.BaseAddress, (XV_HDMIRX_TMR_CTRL_SET_OFFSET), (XV_HDMIRX_TMR_CTRL_RUN_MASK))

This macro enables the HDMI RX timer peripheral.

Parameters

  InstancePtr | is a pointer to the XV_HdmiRx core instance.

Returns
  None.

Note
  C-style signature: void XV_HdmiRx_TmrEnable(XV_HdmiRx *InstancePtr)

Referenced by XV_HdmiRx_CfgInitialize().

#define XV_HdmiRx_TmrIntrDisable | ( |  | InstancePtr | ) | XV_HdmiRx_WriteReg((InstancePtr)->Config.BaseAddress, (XV_HDMIRX_TMR_CTRL_CLR_OFFSET), (XV_HDMIRX_TMR_CTRL_IE_MASK))

This macro disables interrupt in the HDMI RX timer peripheral.

Parameters

  InstancePtr | is a pointer to the XV_HdmiRx core instance.

Returns
  None.

Note
  C-style signature: void XV_HdmiRx_TmrIntrDisable(XV_HdmiRx *InstancePtr)

Referenced by XV_HdmiRx_CfgInitialize().

#define XV_HdmiRx_TmrIntrEnable | ( |  | InstancePtr | ) | XV_HdmiRx_WriteReg((InstancePtr)->Config.BaseAddress, (XV_HDMIRX_TMR_CTRL_SET_OFFSET), (XV_HDMIRX_TMR_CTRL_IE_MASK))

This macro enables interrupts in the HDMI RX timer peripheral.

Parameters

  InstancePtr | is a pointer to the XV_HdmiRx core instance.

Returns
  None.

Note
  C-style signature: void XV_HdmiRx_TmrIntrEnable(XV_HdmiRx *InstancePtr)

Referenced by XV_HdmiRx_CfgInitialize().

#define XV_HdmiRx_TmrStart | ( |  | InstancePtr,
|  |  | Value
| ) |  | XV_HdmiRx_WriteReg((InstancePtr)->Config.BaseAddress, (XV_HDMIRX_TMR_CNT_OFFSET), (u32)(Value))

This macro starts the HDMI RX timer peripheral.

Parameters

  InstancePtr | is a pointer to the XV_HdmiRx core instance.

Returns
  None.

Note
  C-style signature: void XV_HdmiRx_TmrStart(XV_HdmiRx *InstancePtr)

#define XV_HdmiRx_VideoEnable | ( |  | InstancePtr,
|  |  | SetClr
| ) |  |

Value:
{ \
if (SetClr) { \
XV_HdmiRx_WriteReg((InstancePtr)->Config.BaseAddress, (XV_HDMIRX_PIO_OUT_SET_OFFSET), (XV_HDMIRX_PIO_OUT_VID_EN_MASK)); \
} \
else { \
XV_HdmiRx_WriteReg((InstancePtr)->Config.BaseAddress, (XV_HDMIRX_PIO_OUT_CLR_OFFSET), (XV_HDMIRX_PIO_OUT_VID_EN_MASK)); \
} \
}
XV_HDMIRX_PIO_OUT_CLR_OFFSET
#define XV_HDMIRX_PIO_OUT_CLR_OFFSET
PIO Out Register Clear offset.
Definition: xv_hdmirx_hw.h:72
XV_HDMIRX_PIO_OUT_SET_OFFSET
#define XV_HDMIRX_PIO_OUT_SET_OFFSET
PIO Out Register Set offset.
Definition: xv_hdmirx_hw.h:71
XV_HdmiRx_WriteReg
#define XV_HdmiRx_WriteReg(BaseAddress, RegOffset, Data)
This macro writes a value to a HDMI RX register.
Definition: xv_hdmirx_hw.h:370
XV_HDMIRX_PIO_OUT_VID_EN_MASK
#define XV_HDMIRX_PIO_OUT_VID_EN_MASK
PIO Out video enable mask.
Definition: xv_hdmirx_hw.h:90

This macro asserts or clears the HDMI RX video enable.

Parameters

  InstancePtr | is a pointer to the XV_HdmiRx core instance.
  SetClr | specifies TRUE/FALSE value to either assert or release HDMI RX video enable.

Returns
  None.

Note
  C-style signature: void XV_HdmiRx_Reset(XV_HdmiRx *InstancePtr, u8 SetClr)

#define XV_HdmiRx_VtdDisable | ( |  | InstancePtr | ) | XV_HdmiRx_WriteReg((InstancePtr)->Config.BaseAddress, (XV_HDMIRX_VTD_CTRL_CLR_OFFSET), (XV_HDMIRX_VTD_CTRL_RUN_MASK))

This macro disables the HDMI RX Timing Detector peripheral.

Parameters

  InstancePtr | is a pointer to the XV_HdmiRx core instance.

Returns
  None.

Note
  C-style signature: void XV_HdmiRx_VtdDisable(XV_HdmiRx *InstancePtr)

Referenced by XV_HdmiRx_CfgInitialize().

#define XV_HdmiRx_VtdEnable | ( |  | InstancePtr | ) | XV_HdmiRx_WriteReg((InstancePtr)->Config.BaseAddress, (XV_HDMIRX_VTD_CTRL_SET_OFFSET), (XV_HDMIRX_VTD_CTRL_RUN_MASK))

This macro enables the HDMI RX Timing Detector peripheral.

Parameters

  InstancePtr | is a pointer to the XV_HdmiRx core instance.

Returns
  None.

Note
  C-style signature: void XV_HdmiRx_VtdEnable(XV_HdmiRx *InstancePtr)

#define XV_HdmiRx_VtdIntrDisable | ( |  | InstancePtr | ) | XV_HdmiRx_WriteReg((InstancePtr)->Config.BaseAddress, (XV_HDMIRX_VTD_CTRL_CLR_OFFSET), (XV_HDMIRX_VTD_CTRL_IE_MASK))

This macro disables interrupt in the HDMI RX Timing Detector peripheral.

Parameters

  InstancePtr | is a pointer to the XV_HdmiRx core instance.

Returns
  None.

Note
  C-style signature: void XV_HdmiRx_VtdIntrDisable(XV_HdmiRx *InstancePtr)

Referenced by XV_HdmiRx_CfgInitialize().

#define XV_HdmiRx_VtdIntrEnable | ( |  | InstancePtr | ) | XV_HdmiRx_WriteReg((InstancePtr)->Config.BaseAddress, (XV_HDMIRX_VTD_CTRL_SET_OFFSET), (XV_HDMIRX_VTD_CTRL_IE_MASK))

This macro enables interrupt in the HDMI RX Timing Detector peripheral.

Parameters

  InstancePtr | is a pointer to the XV_HdmiRx core instance.

Returns
  None.

Note
  C-style signature: void XV_HdmiRx_VtdIntrEnable(XV_HdmiRx *InstancePtr)

#define XV_HdmiRx_VtdSetTimebase | ( |  | InstancePtr,
|  |  | Value
| ) |  | XV_HdmiRx_WriteReg((InstancePtr)->Config.BaseAddress, (XV_HDMIRX_VTD_CTRL_OFFSET), (u32)(Value << XV_HDMIRX_VTD_CTRL_TIMEBASE_SHIFT))

This macro sets the timebase in the HDMI RX Timing Detector peripheral.

Parameters

  InstancePtr | is a pointer to the XV_HdmiRx core instance.

Returns
  None.

Note
  C-style signature: void XV_HdmiRx_VtdSetTimebase(XV_HdmiRx *InstancePtr, Value)

Referenced by XV_HdmiRx_CfgInitialize().

## Typedef Documentation

typedef void(* XV_HdmiRx_Callback)(void *CallbackRef)

Callback type for interrupt.

Parameters

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

enum XV_HdmiRx_HandlerType

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

Enumerator
XV_HDMIRX_HANDLER_CONNECT | A connect event interrupt type.
XV_HDMIRX_HANDLER_BRDG_OVERFLOW | Interrupt type for bridge overflow.
XV_HDMIRX_HANDLER_AUX | Interrupt type for AUX peripheral.
XV_HDMIRX_HANDLER_AUD | Interrupt type for AUD peripheral.
XV_HDMIRX_HANDLER_LNKSTA | Interrupt type for LNKSTA peripheral.
XV_HDMIRX_HANDLER_DDC | Interrupt type for DDC peripheral.
XV_HDMIRX_HANDLER_STREAM_DOWN | Interrupt type for stream down.
XV_HDMIRX_HANDLER_STREAM_INIT | Interrupt type for stream init.
XV_HDMIRX_HANDLER_STREAM_UP | Interrupt type for stream up.
XV_HDMIRX_HANDLER_HDCP | Interrupt type for hdcp.
XV_HDMIRX_HANDLER_DDC_HDCP_14_PROT | Interrupt type for HDCP14PROT event.
XV_HDMIRX_HANDLER_DDC_HDCP_22_PROT | Interrupt type for HDCP22PROT event.
XV_HDMIRX_HANDLER_LINK_ERROR | Interrupt type for link error.
XV_HDMIRX_HANDLER_SYNC_LOSS | Interrupt type for sync loss.
XV_HDMIRX_HANDLER_MODE | Interrupt type for mode.
XV_HDMIRX_HANDLER_TMDS_CLK_RATIO | Interrupt type for TMDS clock ratio.
XV_HDMIRX_HANDLER_VIC_ERROR | Interrupt type for VIC error.

enum XV_HdmiRx_State

Enumerator
XV_HDMIRX_STATE_STREAM_DOWN | Stream down.
XV_HDMIRX_STATE_STREAM_IDLE | Stream idle.
XV_HDMIRX_STATE_STREAM_INIT | Stream init.
XV_HDMIRX_STATE_STREAM_ARM | Stream arm.
XV_HDMIRX_STATE_STREAM_LOCK | Stream lock.
XV_HDMIRX_STATE_STREAM_RDY | Stream ready.
XV_HDMIRX_STATE_STREAM_UP | Stream up.

enum XV_HdmiRx_SyncStatus

Enumerator
XV_HDMIRX_SYNCSTAT_SYNC_LOSS | Sync Loss.
XV_HDMIRX_SYNCSTAT_SYNC_EST | Sync Lock.

## Function Documentation

int XV_HdmiRx_CfgInitialize | ( | XV_HdmiRx * | InstancePtr,
|  | XV_HdmiRx_Config * | CfgPtr,
|  | UINTPTR | EffectiveAddr
| ) |  |

This function initializes the HDMI RX core.

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

Parameters

  InstancePtr | is a pointer to the XHdmiRx core instance.
  CfgPtr | points to the configuration structure associated with the HDMI RX core.
  EffectiveAddr | is the base address of the device. If address translation is being used, then this parameter must reflect the virtual base address. Otherwise, the physical address should be used.

Returns
  - XST_SUCCESS if XV_HdmiRx_CfgInitialize was successful.
  - XST_FAILURE if HDMI RX PIO ID mismatched.

Note
  None.

References XV_HdmiRx::AudCallback, XV_HdmiRx::AuxCallback, XV_HdmiRx_Config::BaseAddress, XV_HdmiRx::Config, XV_HdmiRx::ConnectCallback, XV_HdmiRx::DdcCallback, XV_HdmiRx::HdcpCallback, XV_HdmiRx::IsAudCallbackSet, XV_HdmiRx::IsAuxCallbackSet, XV_HdmiRx::IsConnectCallbackSet, XV_HdmiRx_Stream::IsConnected, XV_HdmiRx::IsDdcCallbackSet, XV_HdmiRx::IsHdcpCallbackSet, XV_HdmiRx::IsLinkErrorCallbackSet, XV_HdmiRx::IsLnkStaCallbackSet, XV_HdmiRx::IsModeCallbackSet, XV_HdmiRx::IsReady, XV_HdmiRx::IsStreamDownCallbackSet, XV_HdmiRx::IsStreamInitCallbackSet, XV_HdmiRx::IsStreamUpCallbackSet, XV_HdmiRx::IsSyncLossCallbackSet, XV_HdmiRx::IsTmdsClkRatioCallbackSet, XV_HdmiRx::IsVicErrorCallbackSet, XV_HdmiRx::LinkErrorCallback, XV_HdmiRx::LnkStaCallback, XV_HdmiRx::ModeCallback, XV_HdmiRx::Stream, XV_HdmiRx::StreamDownCallback, XV_HdmiRx::StreamInitCallback, XV_HdmiRx::StreamUpCallback, XV_HdmiRx::SyncLossCallback, XV_HdmiRx::TmdsClkRatioCallback, XV_HdmiRx::VicErrorCallback, XV_HdmiRx_AudioDisable, XV_HdmiRx_AudioIntrEnable, XV_HdmiRx_AuxDisable, XV_HdmiRx_AuxIntrEnable, XV_HdmiRx_Clear(), XV_HdmiRx_DdcDisable, XV_HdmiRx_DdcEnable, XV_HdmiRx_DdcScdcClear, XV_HdmiRx_DdcScdcEnable, XV_HdmiRx_GetTime16Ms, XV_HdmiRx_LnkstaDisable, XV_HdmiRx_LnkstaEnable, XV_HDMIRX_MASK_16, XV_HDMIRX_PIO_ID, XV_HDMIRX_PIO_ID_OFFSET, XV_HDMIRX_PIO_IN_BRDG_OVERFLOW_MASK, XV_HDMIRX_PIO_IN_DET_MASK, XV_HDMIRX_PIO_IN_EVT_FE_OFFSET, XV_HDMIRX_PIO_IN_EVT_RE_OFFSET, XV_HDMIRX_PIO_IN_LNK_RDY_MASK, XV_HDMIRX_PIO_IN_MODE_MASK, XV_HDMIRX_PIO_IN_SCDC_SCRAMBLER_ENABLE_MASK, XV_HDMIRX_PIO_IN_SCDC_TMDS_CLOCK_RATIO_MASK, XV_HDMIRX_PIO_IN_VID_RDY_MASK, XV_HdmiRx_PioDisable, XV_HdmiRx_PioEnable, XV_HdmiRx_PioIntrDisable, XV_HdmiRx_PioIntrEnable, XV_HdmiRx_ReadReg, XV_HDMIRX_SCDC_BRAM_OFFSET, XV_HDMIRX_SHIFT_16, XV_HdmiRx_TmrDisable, XV_HdmiRx_TmrEnable, XV_HdmiRx_TmrIntrDisable, XV_HdmiRx_TmrIntrEnable, XV_HdmiRx_VtdDisable, XV_HdmiRx_VtdIntrDisable, XV_HdmiRx_VtdSetTimebase, and XV_HdmiRx_WriteReg.

void XV_HdmiRx_Clear | ( | XV_HdmiRx * | InstancePtr | ) |

This function clears the HDMI RX variables and sets them to the defaults.

Parameters

  InstancePtr | is a pointer to the XV_HdmiRx core instance.

Returns
  None.

Note
  This is required after a reset or init.

References XV_HdmiRx_AudioStream::Active, XV_HdmiRx::AudCts, XV_HdmiRx::AudFormat, XV_HdmiRx_Stream::Audio, XV_HdmiRx::AudN, XV_HdmiRx::Aux, XV_HdmiRx_AudioStream::Channels, XV_HdmiRx_Stream::IsHdmi, XV_HdmiRx::IsStreamDownCallbackSet, XV_HdmiRx_Stream::State, XV_HdmiRx::Stream, XV_HdmiRx::StreamDownCallback, XV_HdmiRx::StreamDownRef, XV_HdmiRx_Stream::Vic, XV_HdmiRx_Stream::Video, and XV_HDMIRX_STATE_STREAM_DOWN.

Referenced by XV_HdmiRx_CfgInitialize().

void XV_HdmiRx_ClearLinkStatus | ( | XV_HdmiRx * | InstancePtr | ) |

This function clears the link error counters.

Parameters

  InstancePtr | is a pointer to the XV_HdmiRx core instance.

Returns
  None.

Note
  None.

References XV_HdmiRx_Config::BaseAddress, XV_HdmiRx::Config, XV_HDMIRX_LNKSTA_CTRL_CLR_OFFSET, XV_HDMIRX_LNKSTA_CTRL_ERR_CLR_MASK, XV_HDMIRX_LNKSTA_CTRL_SET_OFFSET, and XV_HdmiRx_WriteReg.

u16 XV_HdmiRx_DdcGetHdcpReadMessageBufferWords | ( | XV_HdmiRx * | InstancePtr | ) |

This function gets the number of bytes of the HDCP 2.2 read buffer in the DDC slave.

Parameters

  InstancePtr | is a pointer to the XHdmi_Rx core instance.

Returns
  - HDCP 2.2 read buffer words

Note
  None.

References XV_HdmiRx_Config::BaseAddress, XV_HdmiRx::Config, XV_HDMIRX_DDC_HDCP_STA_OFFSET, XV_HDMIRX_DDC_STA_HDCP_RMSG_WORDS_MASK, XV_HDMIRX_DDC_STA_HDCP_RMSG_WORDS_SHIFT, and XV_HdmiRx_ReadReg.

u16 XV_HdmiRx_DdcGetHdcpWriteMessageBufferWords | ( | XV_HdmiRx * | InstancePtr | ) |

This function gets the number of bytes of the HDCP 2.2 write buffer in the DDC slave.

Parameters

  InstancePtr | is a pointer to the XHdmi_Rx core instance.

Returns
  - HDCP 2.2 write buffer words

Note
  None.

References XV_HdmiRx_Config::BaseAddress, XV_HdmiRx::Config, XV_HDMIRX_DDC_HDCP_STA_OFFSET, XV_HDMIRX_DDC_STA_HDCP_WMSG_WORDS_MASK, XV_HDMIRX_DDC_STA_HDCP_WMSG_WORDS_SHIFT, and XV_HdmiRx_ReadReg.

u32 XV_HdmiRx_DdcHdcpReadData | ( | XV_HdmiRx * | InstancePtr | ) |

This function reads HDCP data from the DDC peripheral.

This is implemented as a function and not a macro, so the HDCP driver can bind the function call with a handler.

Parameters

  InstancePtr | is a pointer to the XHdmi_Rx core instance.

Returns
  Returns the HDCP data read from the DDC peripheral.

Note
  C-style signature: u32 XHdmiRx_DdcHdcpReadData(XHdmi_Rx *InstancePtr)

References XV_HDMIRX_DDC_HDCP_DATA_OFFSET, and XV_HdmiRx_ReadReg.

void XV_HdmiRx_DdcHdcpSetAddress | ( | XV_HdmiRx * | InstancePtr,
|  | u32 | Address
| ) |  |

This function sets the HDCP address in the DDC peripheral.

This is implemented as a function and not a macro, so the HDCP driver can bind the function call with a handler.

Parameters

  InstancePtr | is a pointer to the XHdmi_Rx core instance.
  Address | is the HDCP address.

Returns
  None.

Note
  C-style signature: void XHdmiRx_DdcHdcpSetAddress(XHdmi_Rx *InstancePtr, u8 Address)

References XV_HDMIRX_DDC_HDCP_ADDRESS_OFFSET, and XV_HdmiRx_WriteReg.

void XV_HdmiRx_DdcHdcpWriteData | ( | XV_HdmiRx * | InstancePtr,
|  | u32 | Data
| ) |  |

This function writes HDCP data in the DDC peripheral.

This is implemented as a function and not a macro, so the HDCP driver can bind the function call with a handler.

Parameters

  InstancePtr | is a pointer to the XHdmi_Rx core instance.
  Data | is the HDCP data to be written.

Returns
  None.

Note
  C-style signature: void XHdmiRx_DdcHdcpWriteData(XHdmi_Rx *InstancePtr, u8 Data)

References XV_HDMIRX_DDC_HDCP_DATA_OFFSET, and XV_HdmiRx_WriteReg.

int XV_HdmiRx_DdcIsHdcpReadMessageBufferEmpty | ( | XV_HdmiRx * | InstancePtr | ) |

This function returns the status of the HDCP 2.2 read message buffer in the DDC slave.

Parameters

  InstancePtr | is a pointer to the XHdmi_Rx core instance.

Returns
  - TRUE = HDCP 2.2 message buffer is empty.
  - FALSE = HDCP 2.2 message buffer contains data.

Note
  None.

References XV_HdmiRx_Config::BaseAddress, XV_HdmiRx::Config, XV_HDMIRX_DDC_HDCP_STA_OFFSET, XV_HDMIRX_DDC_STA_HDCP_RMSG_EP_MASK, and XV_HdmiRx_ReadReg.

int XV_HdmiRx_DdcIsHdcpWriteMessageBufferEmpty | ( | XV_HdmiRx * | InstancePtr | ) |

This function returns the status of the HDCP 2.2 write buffer in the DDC slave.

Parameters

  InstancePtr | is a pointer to the XHdmi_Rx core instance.

Returns
  - TRUE = HDCP 2.2 message buffer is empty.
  - FALSE = HDCP 2.2 message buffer contains data.

Note
  None.

References XV_HdmiRx_Config::BaseAddress, XV_HdmiRx::Config, XV_HDMIRX_DDC_HDCP_STA_OFFSET, XV_HDMIRX_DDC_STA_HDCP_WMSG_EP_MASK, and XV_HdmiRx_ReadReg.

int XV_HdmiRx_DdcLoadEdid | ( | XV_HdmiRx * | InstancePtr,
|  | u8 * | EdidData,
|  | u16 | Length
| ) |  |

This function loads the EDID data into the DDC slave.

Parameters

  InstancePtr | is a pointer to the XV_HdmiRx core instance.
  EdidData | is a pointer to the EDID data array.
  Length | is the length, in bytes, of the EDID array.

Returns
  - XST_SUCCESS if the EDID data was loaded successfully
  - XST_FAILURE if the EDID data load failed

Note
  None.

References XV_HdmiRx_Config::BaseAddress, XV_HdmiRx::Config, XV_HDMIRX_DDC_CTRL_EDID_EN_MASK, XV_HDMIRX_DDC_CTRL_SET_OFFSET, XV_HDMIRX_DDC_EDID_DATA_OFFSET, XV_HDMIRX_DDC_EDID_WP_OFFSET, XV_HdmiRx_DdcGetEdidWords(), and XV_HdmiRx_WriteReg.

void XV_HdmiRx_DebugInfo | ( | XV_HdmiRx * | InstancePtr | ) |

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

Parameters

  InstancePtr | is a pointer to the XV_HdmiRx core instance.

Returns
  None.

Note
  None.

References XV_HdmiRx::Stream, and XV_HdmiRx_Stream::Video.

u32 XV_HdmiRx_Divide | ( | u32 | Dividend,
|  | u32 | Divisor
| ) |  |

This function calculates the divider for the frame calculation.

Parameters

  Dividend | is the dividend value to use in the calculation.
  Divisor | is the divisor value to use in the calculation.

Returns
  The result of the calculation.

Note
  None.

Referenced by XV_HdmiRx_GetVideoTiming().

void XV_HdmiRx_EXT_SYSRST | ( | XV_HdmiRx * | InstancePtr,
|  | u8 | Reset
| ) |  |

This function asserts or releases the HDMI RX External SYSRST.

Parameters

  InstancePtr | is a pointer to the XV_HdmiRx core instance.
  Reset | specifies TRUE/FALSE value to either assert or release HDMI RX 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 RX. Therefore, clearing the PIO reset output will assert the HDMI External system reset. C-style signature: void XV_HdmiRx_EXT_SYSRST(XV_HdmiRx *InstancePtr, u8 Reset)

References XV_HDMIRX_PIO_OUT_CLR_OFFSET, XV_HDMIRX_PIO_OUT_EXT_SYSRST_MASK, XV_HDMIRX_PIO_OUT_SET_OFFSET, and XV_HdmiRx_WriteReg.

void XV_HdmiRx_EXT_VRST | ( | XV_HdmiRx * | InstancePtr,
|  | u8 | Reset
| ) |  |

This function asserts or releases the HDMI RX External VRST.

Parameters

  InstancePtr | is a pointer to the XV_HdmiRx core instance.
  Reset | specifies TRUE/FALSE value to either assert or release HDMI RX 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 RX. Therefore, clearing the PIO reset output will assert the HDMI external video reset. C-style signature: void XV_HdmiRx_EXT_VRST(XV_HdmiRx *InstancePtr, u8 Reset)

References XV_HDMIRX_PIO_OUT_CLR_OFFSET, XV_HDMIRX_PIO_OUT_EXT_VRST_MASK, XV_HDMIRX_PIO_OUT_SET_OFFSET, and XV_HdmiRx_WriteReg.

u32 XV_HdmiRx_GetAcrCts | ( | XV_HdmiRx * | InstancePtr | ) |

This function provides audio clock regenerating CTS (Cycle-Time Stamp) value at the HDMI sink device.

Parameters

  InstancePtr | is a pointer to the XV_HdmiRx core instance.

Returns
  Audio clock CTS value.

Note
  None.

References XV_HdmiRx_Config::BaseAddress, XV_HdmiRx::Config, XV_HDMIRX_AUD_CTS_OFFSET, and XV_HdmiRx_ReadReg.

u32 XV_HdmiRx_GetAcrN | ( | XV_HdmiRx * | InstancePtr | ) |

This function provides audio clock regenerating factor N value.

Parameters

  InstancePtr | is a pointer to the XV_HdmiRx core instance.

Returns
  ACR N value.

Note
  None.

References XV_HdmiRx_Config::BaseAddress, XV_HdmiRx::Config, XV_HDMIRX_AUD_N_OFFSET, and XV_HdmiRx_ReadReg.

XVidC_ColorFormat XV_HdmiRx_GetAviColorSpace | ( | XV_HdmiRx * | InstancePtr | ) |

This function returns the AVI colorspace (captured by the AUX peripheral)

Parameters

  InstancePtr | is a pointer to the XV_HdmiRx core instance.

Returns
  The AVI colorspace value.

Note
  None.

References XV_HdmiRx_Config::BaseAddress, XV_HdmiRx::Config, XV_HDMIRX_AUX_STA_AVI_CS_MASK, XV_HDMIRX_AUX_STA_AVI_CS_SHIFT, XV_HDMIRX_AUX_STA_OFFSET, and XV_HdmiRx_ReadReg.

Referenced by XV_HdmiRx_GetVideoProperties().

u8 XV_HdmiRx_GetAviVic | ( | XV_HdmiRx * | InstancePtr | ) |

This function returns the AVI VIC (captured by the AUX peripheral)

Parameters

  InstancePtr | is a pointer to the XV_HdmiRx core instance.

Returns
  The AVI VIC code.

Note
  None.

References XV_HdmiRx_Config::BaseAddress, XV_HdmiRx::Config, XV_HDMIRX_AUX_STA_AVI_VIC_MASK, XV_HDMIRX_AUX_STA_AVI_VIC_SHIFT, XV_HDMIRX_AUX_STA_OFFSET, and XV_HdmiRx_ReadReg.

Referenced by XV_HdmiRx_GetVideoProperties().

XVidC_ColorDepth XV_HdmiRx_GetGcpColorDepth | ( | XV_HdmiRx * | InstancePtr | ) |

This function returns the GCP color depth (captured by the AUX peripheral)

Parameters

  InstancePtr | is a pointer to the XV_HdmiRx core instance.

Returns
  The GCP color depth.

Note
  None.

References XV_HdmiRx_Config::BaseAddress, XV_HdmiRx::Config, XV_HDMIRX_AUX_STA_GCP_CD_MASK, XV_HDMIRX_AUX_STA_GCP_CD_SHIFT, XV_HDMIRX_AUX_STA_OFFSET, and XV_HdmiRx_ReadReg.

Referenced by XV_HdmiRx_GetVideoProperties().

u32 XV_HdmiRx_GetLinkStatus | ( | XV_HdmiRx * | InstancePtr,
|  | u8 | Type
| ) |  |

This function provides status of the HDMI RX core Link Status peripheral.

Parameters

  InstancePtr | is a pointer to the XV_HdmiRx core instance.
  Type | specifies one of the type for which status to be provided: 0 = Link error counter for channel 0. 1 = Link error counter for channel 1. 2 = Link error counter for channel 2.

Returns
  Link status of the HDMI RX core link.

Note
  None.

References XV_HdmiRx_Config::BaseAddress, XV_HdmiRx::Config, XV_HDMIRX_LNKSTA_LNK_ERR0_OFFSET, and XV_HdmiRx_ReadReg.

int XV_HdmiRx_GetTmdsClockRatio | ( | XV_HdmiRx * | InstancePtr | ) |

This function gets the SCDC TMDS clock ratio bit.

Parameters

  InstancePtr | is a pointer to the XV_HdmiRx core instance.

Returns
  - TRUE = TMDS clock ratio bit is set.
  - FALSE = TMDS clock ratio bit is cleared.

Note
  None.

References XV_HdmiRx_Config::BaseAddress, XV_HdmiRx::Config, XV_HDMIRX_PIO_IN_OFFSET, XV_HDMIRX_PIO_IN_SCDC_TMDS_CLOCK_RATIO_MASK, and XV_HdmiRx_ReadReg.

int XV_HdmiRx_GetVideoProperties | ( | XV_HdmiRx * | InstancePtr | ) |

This function reads the video properties from the aux peripheral.

Parameters

  InstancePtr | is a pointer to the XV_HdmiRx core instance.

Returns

Note
  None.

References XV_HdmiRx_Config::BaseAddress, XV_HdmiRx::Config, XV_HdmiRx::Stream, XV_HdmiRx_Stream::Vic, XV_HdmiRx_Stream::Video, XV_HDMIRX_AUX_STA_AVI_MASK, XV_HDMIRX_AUX_STA_OFFSET, XV_HdmiRx_GetAviColorSpace(), XV_HdmiRx_GetAviVic(), XV_HdmiRx_GetGcpColorDepth(), and XV_HdmiRx_ReadReg.

int XV_HdmiRx_GetVideoTiming | ( | XV_HdmiRx * | InstancePtr | ) |

This function reads the video timing from the VTD peripheral.

Parameters

  InstancePtr | is a pointer to the XV_HdmiRx core instance.

Returns
  None.

Note
  None.

References XV_HdmiRx_Config::BaseAddress, XV_HdmiRx::Config, XV_HdmiRx_Stream::PixelClk, XV_HdmiRx::Stream, XV_HdmiRx_Stream::Video, XV_HdmiRx_Divide(), XV_HdmiRx_ReadReg, XV_HDMIRX_VTD_ACT_LIN_OFFSET, XV_HDMIRX_VTD_ACT_PIX_OFFSET, XV_HDMIRX_VTD_HBP_OFFSET, XV_HDMIRX_VTD_HFP_OFFSET, XV_HDMIRX_VTD_HSW_OFFSET, XV_HDMIRX_VTD_STA_FMT_MASK, XV_HDMIRX_VTD_STA_HS_POL_MASK, XV_HDMIRX_VTD_STA_OFFSET, XV_HDMIRX_VTD_STA_VS_POL_MASK, XV_HDMIRX_VTD_TOT_LIN_OFFSET, XV_HDMIRX_VTD_TOT_PIX_OFFSET, XV_HDMIRX_VTD_VBP_OFFSET, XV_HDMIRX_VTD_VFP_OFFSET, and XV_HDMIRX_VTD_VSW_OFFSET.

void XV_HdmiRx_INT_LRST | ( | XV_HdmiRx * | InstancePtr,
|  | u8 | Reset
| ) |  |

This function asserts or releases the HDMI RX Internal LRST.

Parameters

  InstancePtr | is a pointer to the XV_HdmiRx core instance.
  Reset | specifies TRUE/FALSE value to either assert or release HDMI RX 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 RX. Therefore, clearing the PIO reset output will assert the HDMI Internal link reset. C-style signature: void XV_HdmiRx_INT_VRST(XV_HdmiRx *InstancePtr, u8 Reset)

References XV_HDMIRX_PIO_OUT_CLR_OFFSET, XV_HDMIRX_PIO_OUT_INT_LRST_MASK, XV_HDMIRX_PIO_OUT_SET_OFFSET, and XV_HdmiRx_WriteReg.

void XV_HdmiRx_INT_VRST | ( | XV_HdmiRx * | InstancePtr,
|  | u8 | Reset
| ) |  |

This function asserts or releases the HDMI RX Internal VRST.

Parameters

  InstancePtr | is a pointer to the XV_HdmiRx core instance.
  Reset | specifies TRUE/FALSE value to either assert or release HDMI RX 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 RX. Therefore, clearing the PIO reset output will assert the HDMI Internal video reset. C-style signature: void XV_HdmiRx_INT_VRST(XV_HdmiRx *InstancePtr, u8 Reset)

References XV_HDMIRX_PIO_OUT_CLR_OFFSET, XV_HDMIRX_PIO_OUT_INT_VRST_MASK, XV_HDMIRX_PIO_OUT_SET_OFFSET, and XV_HdmiRx_WriteReg.

void XV_HdmiRx_IntrHandler | ( | void * | InstancePtr | ) |

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

This handler reads the pending interrupt from PIO, DDC, TIMDET, AUX, AUD and LNKSTA peripherals, 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_HdmiRx_SetCallback() during initialization phase. An example delivered with this driver demonstrates how this could be done.

Parameters

  InstancePtr | is a pointer to the XV_HdmiRx instance that just interrupted.

Returns
  None.

Note
  None.

References XV_HdmiRx_Config::BaseAddress, XV_HdmiRx::Config, XV_HdmiRx::IsReady, XV_HDMIRX_AUD_STA_IRQ_MASK, XV_HDMIRX_AUD_STA_OFFSET, XV_HDMIRX_AUX_STA_IRQ_MASK, XV_HDMIRX_AUX_STA_OFFSET, XV_HDMIRX_DDC_STA_IRQ_MASK, XV_HDMIRX_DDC_STA_OFFSET, XV_HDMIRX_LNKSTA_STA_IRQ_MASK, XV_HDMIRX_LNKSTA_STA_OFFSET, XV_HDMIRX_PIO_STA_IRQ_MASK, XV_HDMIRX_PIO_STA_OFFSET, XV_HdmiRx_ReadReg, XV_HDMIRX_TMR_STA_IRQ_MASK, XV_HDMIRX_TMR_STA_OFFSET, XV_HDMIRX_VTD_STA_IRQ_MASK, and XV_HDMIRX_VTD_STA_OFFSET.

int XV_HdmiRx_IsLinkStatusErrMax | ( | XV_HdmiRx * | InstancePtr | ) |

This function provides status of one of the link error counters reached the maximum value.

Parameters

  InstancePtr | is a pointer to the XV_HdmiRx core instance.

Returns
  - TRUE = Maximum error counter reached.
  - FALSE = Maximum error counter not reached.

Note
  None.

References XV_HdmiRx_Config::BaseAddress, XV_HdmiRx::Config, XV_HDMIRX_LNKSTA_STA_ERR_MAX_MASK, XV_HDMIRX_LNKSTA_STA_OFFSET, and XV_HdmiRx_ReadReg.

int XV_HdmiRx_IsStreamConnected | ( | XV_HdmiRx * | InstancePtr | ) |

This function provides the stream connected status.

Parameters

  InstancePtr | is a pointer to the XV_HdmiRx core instance.

Returns
  - TRUE = Stream is connected.
  - FALSE = Stream is connected.

Note
  None.

References XV_HdmiRx_Stream::IsConnected, and XV_HdmiRx::Stream.

int XV_HdmiRx_IsStreamScrambled | ( | XV_HdmiRx * | InstancePtr | ) |

This function provides the stream scrambler status.

Parameters

  InstancePtr | is a pointer to the XV_HdmiRx core instance.

Returns
  - TRUE = Stream is scrambled.
  - FALSE = Stream is not scrambled.

Note
  None.

References XV_HdmiRx_Stream::IsScrambled, and XV_HdmiRx::Stream.

int XV_HdmiRx_IsStreamUp | ( | XV_HdmiRx * | InstancePtr | ) |

This function provides status of the stream.

Parameters

  InstancePtr | is a pointer to the XV_HdmiRx core instance.

Returns
  - TRUE = Stream is up.
  - FALSE = Stream is down.

Note
  None.

References XV_HdmiRx_Stream::State, XV_HdmiRx::Stream, and XV_HDMIRX_STATE_STREAM_UP.

XV_HdmiRx_Config* XV_HdmiRx_LookupConfig | ( | u16 | DeviceId | ) |

This function returns a reference to an XV_HdmiRx_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_hdmirx_g.c file.

Parameters

  DeviceId | is the unique core ID of the HDMI RX core for the lookup operation.

Returns
  XV_HdmiRx_LookupConfig returns a reference to a config record in the configuration table (in xv_hdmirx_g.c) corresponding to DeviceId, or NULL if no match is found.

Note
  None.

XVidC_VideoMode XV_HdmiRx_LookupVmId | ( | u8 | Vic | ) |

This function searches for the video mode based on the vic.

Parameters

  Vic |

Returns
  Vic defined in the VIC table.

Note
  None.

int XV_HdmiRx_SelfTest | ( | XV_HdmiRx * | InstancePtr | ) |

This function reads ID of PIO peripheral.

Parameters

  InstancePtr | is a pointer to the HDMI RX core instance.

Returns
  - XST_SUCCESS if PIO ID was matched.
  - XST_FAILURE if PIO ID was mismatched.

Note
  None.

References XV_HdmiRx_Config::BaseAddress, XV_HdmiRx::Config, XV_HDMIRX_MASK_16, XV_HDMIRX_PIO_ID, XV_HDMIRX_PIO_ID_OFFSET, XV_HdmiRx_ReadReg, and XV_HDMIRX_SHIFT_16.

int XV_HdmiRx_SetCallback | ( | XV_HdmiRx * | InstancePtr,
|  | XV_HdmiRx_HandlerType | HandlerType,
|  | void * | CallbackFunc,
|  | void * | CallbackRef
| ) |  |

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

    HandlerType                 Callback Function Type
    -------------------------   -----------------------------------------------
    (XV_HDMIRX_HANDLER_VTD)         VtdCallback
    (XV_HDMIRX_HANDLER_AUX)      AuxCallback
    (XV_HDMIRX_HANDLER_AUD)      AudCallback
    (XV_HDMIRX_HANDLER_LNKSTA)   LnkStaCallback
    (XV_HDMIRX_HANDLER_PIO)      PioCallback

Parameters

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

References XV_HdmiRx::AudCallback, XV_HdmiRx::AudRef, XV_HdmiRx::AuxCallback, XV_HdmiRx::AuxRef, XV_HdmiRx::BrdgOverflowCallback, XV_HdmiRx::BrdgOverflowRef, XV_HdmiRx::ConnectCallback, XV_HdmiRx::ConnectRef, XV_HdmiRx::DdcCallback, XV_HdmiRx::DdcRef, XV_HdmiRx::Hdcp14ProtEvtCallback, XV_HdmiRx::Hdcp14ProtEvtRef, XV_HdmiRx::Hdcp22ProtEvtCallback, XV_HdmiRx::Hdcp22ProtEvtRef, XV_HdmiRx::HdcpCallback, XV_HdmiRx::HdcpRef, XV_HdmiRx::IsAudCallbackSet, XV_HdmiRx::IsAuxCallbackSet, XV_HdmiRx::IsBrdgOverflowCallbackSet, XV_HdmiRx::IsConnectCallbackSet, XV_HdmiRx::IsDdcCallbackSet, XV_HdmiRx::IsHdcp14ProtEvtCallbackSet, XV_HdmiRx::IsHdcp22ProtEvtCallbackSet, XV_HdmiRx::IsHdcpCallbackSet, XV_HdmiRx::IsLinkErrorCallbackSet, XV_HdmiRx::IsLnkStaCallbackSet, XV_HdmiRx::IsModeCallbackSet, XV_HdmiRx::IsStreamDownCallbackSet, XV_HdmiRx::IsStreamInitCallbackSet, XV_HdmiRx::IsStreamUpCallbackSet, XV_HdmiRx::IsSyncLossCallbackSet, XV_HdmiRx::IsTmdsClkRatioCallbackSet, XV_HdmiRx::IsVicErrorCallbackSet, XV_HdmiRx::LinkErrorCallback, XV_HdmiRx::LinkErrorRef, XV_HdmiRx::LnkStaCallback, XV_HdmiRx::LnkStaRef, XV_HdmiRx::ModeCallback, XV_HdmiRx::ModeRef, XV_HdmiRx::StreamDownCallback, XV_HdmiRx::StreamDownRef, XV_HdmiRx::StreamInitCallback, XV_HdmiRx::StreamInitRef, XV_HdmiRx::StreamUpCallback, XV_HdmiRx::StreamUpRef, XV_HdmiRx::SyncLossCallback, XV_HdmiRx::SyncLossRef, XV_HdmiRx::TmdsClkRatioCallback, XV_HdmiRx::TmdsClkRatioRef, XV_HdmiRx::VicErrorCallback, XV_HdmiRx::VicErrorRef, XV_HDMIRX_HANDLER_AUD, XV_HDMIRX_HANDLER_AUX, XV_HDMIRX_HANDLER_BRDG_OVERFLOW, XV_HDMIRX_HANDLER_CONNECT, XV_HDMIRX_HANDLER_DDC, XV_HDMIRX_HANDLER_DDC_HDCP_14_PROT, XV_HDMIRX_HANDLER_DDC_HDCP_22_PROT, XV_HDMIRX_HANDLER_HDCP, XV_HDMIRX_HANDLER_LINK_ERROR, XV_HDMIRX_HANDLER_LNKSTA, XV_HDMIRX_HANDLER_MODE, XV_HDMIRX_HANDLER_STREAM_DOWN, XV_HDMIRX_HANDLER_STREAM_INIT, XV_HDMIRX_HANDLER_STREAM_UP, XV_HDMIRX_HANDLER_SYNC_LOSS, XV_HDMIRX_HANDLER_TMDS_CLK_RATIO, and XV_HDMIRX_HANDLER_VIC_ERROR.

void XV_HdmiRx_SetColorFormat | ( | XV_HdmiRx * | InstancePtr | ) |

This function sets the color format.

Parameters

  InstancePtr | is a pointer to the XV_HdmiRx core instance.

Returns
  None.

Note
  None.

References XV_HdmiRx_Config::BaseAddress, XV_HdmiRx::Config, XV_HdmiRx::Stream, XV_HdmiRx_Stream::Video, XV_HDMIRX_PIO_OUT_COLOR_SPACE_MASK, XV_HDMIRX_PIO_OUT_COLOR_SPACE_SHIFT, XV_HDMIRX_PIO_OUT_MSK_OFFSET, XV_HDMIRX_PIO_OUT_OFFSET, and XV_HdmiRx_WriteReg.

int XV_HdmiRx_SetHpd | ( | XV_HdmiRx * | InstancePtr,
|  | u8 | SetClr
| ) |  |

This function enables/clear Hot-Plug-Detect.

Parameters

  InstancePtr | is a pointer to the XV_HdmiRx core instance.
  SetClr | specifies TRUE/FALSE value to either enable or clear HPD respectively.

Returns
  - XST_SUCCESS is always returned.

Note
  None.

References XV_HdmiRx_Config::BaseAddress, XV_HdmiRx::Config, XV_HdmiRx_DdcScdcClear, XV_HdmiRx_DdcScdcSet, XV_HDMIRX_PIO_OUT_CLR_OFFSET, XV_HDMIRX_PIO_OUT_HPD_MASK, XV_HDMIRX_PIO_OUT_SET_OFFSET, and XV_HdmiRx_WriteReg.

int XV_HdmiRx_SetPixelRate | ( | XV_HdmiRx * | InstancePtr | ) |

This function sets the pixel rate.

Parameters

  InstancePtr | is a pointer to the XV_HdmiRx core instance.

Returns
  - XST_SUCCESS is always returned.

Note
  None.

References XV_HdmiRx_Config::BaseAddress, XV_HdmiRx::Config, XV_HdmiRx::Stream, XV_HdmiRx_Stream::Video, XV_HDMIRX_PIO_OUT_MSK_OFFSET, XV_HDMIRX_PIO_OUT_OFFSET, XV_HDMIRX_PIO_OUT_PIXEL_RATE_MASK, XV_HDMIRX_PIO_OUT_PIXEL_RATE_SHIFT, and XV_HdmiRx_WriteReg.

Referenced by XV_HdmiRx_SetStream().

int XV_HdmiRx_SetStream | ( | XV_HdmiRx * | InstancePtr,
|  | XVidC_PixelsPerClock | Ppc,
|  | u32 | Clock
| ) |  |

This function sets the HDMI RX stream parameters.

Parameters

  InstancePtr | is a pointer to the XV_HdmiRx core instance.
  Ppc | specifies the pixel per clock. 1 = XVIDC_PPC_1 2 = XVIDC_PPC_2 4 = XVIDC_PPC_4
  Clock | specifies reference pixel clock frequency.

Returns
  - XST_SUCCESS is always returned.

Note
  None.

References XV_HdmiRx_Stream::RefClk, XV_HdmiRx::Stream, XV_HdmiRx_Stream::Video, and XV_HdmiRx_SetPixelRate().

char* XV_HdmiRx_VSIF_3DSampMethodToString | ( | XV_HdmiRx_3D_Sampling_Method | Item | ) |

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

Parameters

  Item | specifies the value to convert.

Returns
  Pointer to the converted string.

References XV_HDMIRX_3D_SAMPLING_HORIZONTAL, and XV_HDMIRX_3D_SAMPLING_QUINCUNX.

Referenced by XV_HdmiRx_VSIF_DisplayInfo().

char* XV_HdmiRx_VSIF_3DSampPosToString | ( | XV_HdmiRx_3D_Sampling_Position | Item | ) |

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

Parameters

  Item | specifies the value to convert.

Returns
  Pointer to the converted string.

References XV_HDMIRX_3D_SAMPPOS_ELER, XV_HDMIRX_3D_SAMPPOS_ELOR, XV_HDMIRX_3D_SAMPPOS_OLER, and XV_HDMIRX_3D_SAMPPOS_OLOR.

Referenced by XV_HdmiRx_VSIF_DisplayInfo().

char* XV_HdmiRx_VSIF_3DStructToString | ( | XV_HdmiRx_3D_Struct_Field | Item | ) |

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

Parameters

  Item | specifies the value to convert.

Returns
  Pointer to the converted string.

References XV_HDMIRX_3D_STRUCT_FIELD_ALTERNATIVE, XV_HDMIRX_3D_STRUCT_FRAME_PACKING, XV_HDMIRX_3D_STRUCT_L_DEPTH, XV_HDMIRX_3D_STRUCT_L_DEPTH_GRAPH_GDEPTH, XV_HDMIRX_3D_STRUCT_LINE_ALTERNATIVE, XV_HDMIRX_3D_STRUCT_SIDE_BY_SIDE_FULL, XV_HDMIRX_3D_STRUCT_SIDE_BY_SIDE_HALF, and XV_HDMIRX_3D_STRUCT_TOP_AND_BOTTOM.

Referenced by XV_HdmiRx_VSIF_DisplayInfo().

void XV_HdmiRx_VSIF_DisplayInfo | ( | XV_HdmiRx_VSIF * | VSIFPtr | ) |

This function displays the contents of an XV_HdmiRx_VSIF instance.

Parameters

  VSIFPtr | is a pointer to the XV_HdmiRx_VSIF instance.

Returns
  None.

References XV_HdmiRx_VSIF::Format, XV_HdmiRx_VSIF::HDMI_VIC, XV_HdmiRx_VSIF::Info_3D, XV_HdmiRx_3D_MetaData::IsPresent, XV_HdmiRx_3D_Info::MetaData, XV_HDMIRX_3D_STRUCT_SIDE_BY_SIDE_HALF, XV_HdmiRx_VSIF_3DSampMethodToString(), XV_HdmiRx_VSIF_3DSampPosToString(), XV_HdmiRx_VSIF_3DStructToString(), XV_HDMIRX_VSIF_VF_3D, and XV_HDMIRX_VSIF_VF_EXTRES.

int XV_HdmiRx_VSIF_ParsePacket | ( | XHdmiC_Aux * | AuxPtr,
|  | XV_HdmiRx_VSIF * | VSIFPtr
| ) |  |

This function parses a Vendor Specific InfoFrame (VSIF).

Parameters

  AuxPtr | is a pointer to the XV_HdmiRx_Rx_Aux instance.
  VSIFPtr | is a pointer to the XV_HdmiRx_VSIF instance.

Returns
  - XST_SUCCESS if operation was successful
  - XST_FAILURE if an error was detected during parsing

References XV_HdmiRx_VSIF::Format, XV_HdmiRx_VSIF::HDMI_VIC, XV_HdmiRx_VSIF::IEEE_ID, XV_HdmiRx_VSIF::Info_3D, XV_HdmiRx_VSIF::Version, XV_HDMIRX_VSIF_VF_3D, XV_HDMIRX_VSIF_VF_EXTRES, and XV_HDMIRX_VSIF_VF_NOINFO.

void XV_HdmiRx_WriteScdcRegister | ( | XV_HdmiRx * | InstancePtr,
|  | u8 | address,
|  | u8 | data
| ) |  |

This function write data to SCDC register.

Parameters

  InstancePtr | is a pointer to the XV_HdmiRx core instance.
  data | specifies address of BRAM, and data to be written

Returns
  None

Note
  SCDC register 0x01,0x02,0x10,0x20,0x21,0x40 are handled by H/W directly These registers should not be written by User application

References XV_HdmiRx_Config::BaseAddress, XV_HdmiRx::Config, XV_HDMIRX_SCDC_BRAM_OFFSET, and XV_HdmiRx_WriteReg.