| v_hdmitxss1 Vitis Drivers API Documentation

- Overview
- Data Structures
- APIs
- File List
- Examples

Macros | Functions | Variables
xv_hdmitxss1.c File Reference

## Overview

This is main code of Xilinx HDMI Transmitter Subsystem device driver.

Please see xv_hdmitxss1.h for more details of the driver.

    MODIFICATION HISTORY:

    Ver   Who    Date     Changes

    1.00  EB   22/05/18 Initial release.

## Macros
#define | XV_HdmiTxSs1_BridgeYuv420(InstancePtr, Enable)
| This macro selects the bridge YUV420 mode. More...
#define | XV_HdmiTxSs1_BridgePixelRepeat(InstancePtr, Enable)
| This macro selects the bridge pixel repeat mode. More...

## Functions
void | XV_HdmiTxSS1_SetHdmiFrlMode (XV_HdmiTxSs1 *InstancePtr)
| This function sets the core into HDMI mode. More...
void | XV_HdmiTxSS1_SetHdmiTmdsMode (XV_HdmiTxSs1 *InstancePtr)
| This function sets the core into HDMI mode. More...
void | XV_HdmiTxSS1_SetDviMode (XV_HdmiTxSs1 *InstancePtr)
| This function sets the core into DVI mode. More...
void | XV_HdmiTxSs1_ReportCoreInfo (XV_HdmiTxSs1 *InstancePtr)
| This function reports list of cores included in Video Processing Subsystem. More...
void | XV_HdmiTxSS1_HdmiTx1IntrHandler (XV_HdmiTxSs1 *InstancePtr)
| This function calls the interrupt handler for HDMI TX. More...
int | XV_HdmiTxSs1_CfgInitialize (XV_HdmiTxSs1 *InstancePtr, XV_HdmiTxSs1_Config *CfgPtr, UINTPTR EffectiveAddr)
| This function initializes the video subsystem and included sub-cores. More...
void | XV_HdmiTxSs1_Start (XV_HdmiTxSs1 *InstancePtr)
| This function starts the HDMI TX subsystem including all sub-cores that are included in the processing pipeline for a given use-case. More...
void | XV_HdmiTxSs1_Stop (XV_HdmiTxSs1 *InstancePtr)
| This function stops the HDMI TX subsystem including all sub-cores Stop the video pipe starting from front to back. More...
void | XV_HdmiTxSs1_Reset (XV_HdmiTxSs1 *InstancePtr)
| This function resets the video subsystem sub-cores. More...
void | XV_HdmiTxSs1_TXCore_VRST (XV_HdmiTxSs1 *InstancePtr, u8 Reset)
| This function asserts or releases the Internal Video reset of the HDMI subcore within the subsystem. More...
void | XV_HdmiTxSs1_TXCore_LRST (XV_HdmiTxSs1 *InstancePtr, u8 Reset)
| This function asserts or releases the Internal Link reset of the HDMI subcore within the subsystem. More...
void | XV_HdmiTxSs1_VRST (XV_HdmiTxSs1 *InstancePtr, u8 Reset)
| This function asserts or releases the video reset of other blocks within the subsystem. More...
void | XV_HdmiTxSs1_SYSRST (XV_HdmiTxSs1 *InstancePtr, u8 Reset)
| This function asserts or releases the system reset of other blocks within the subsystem. More...
void | XV_HdmiTxSs1_SetGcpAvmuteBit (XV_HdmiTxSs1 *InstancePtr)
| This function sets the HDMI TX AUX GCP register AVMUTE bit. More...
void | XV_HdmiTxSs1_ClearGcpAvmuteBit (XV_HdmiTxSs1 *InstancePtr)
| This function clears the HDMI TX AUX GCP register AVMUTE bit. More...
void | XV_HdmiTxSs1_SetGcpClearAvmuteBit (XV_HdmiTxSs1 *InstancePtr)
| This function sets the HDMI TX AUX GCP register CLEAR_AVMUTE bit. More...
void | XV_HdmiTxSs1_ClearGcpClearAvmuteBit (XV_HdmiTxSs1 *InstancePtr)
| This function clears the HDMI TX AUX GCP register CLEAR_AVMUTE bit. More...
int | XV_HdmiTxSs1_SetCallback (XV_HdmiTxSs1 *InstancePtr, XV_HdmiTxSs1_HandlerType HandlerType, void *CallbackFunc, void *CallbackRef)
| This function installs an asynchronous callback function for the given HandlerType: More...
int | XV_HdmiTxSs1_SetLogCallback (XV_HdmiTxSs1 *InstancePtr, u64 *CallbackFunc, void *CallbackRef)
| This function installs an asynchronous callback function for the LogWrite API: More...
int | XV_HdmiTxSs1_SendCvtemAuxPackets (XV_HdmiTxSs1 *InstancePtr, XHdmiC_Aux *DscAuxFifo)
| This function is used to Send CVTEM Packet. More...
int | XV_HdmiTxSs1_ReadEdid (XV_HdmiTxSs1 *InstancePtr, u8 *Buffer, u32 BufferSize)
| This function reads the HDMI Sink EDID. More...
int | XV_HdmiTxSs1_ReadEdid_extension (XV_HdmiTxSs1 *InstancePtr, XV_VidC_EdidCntrlParam *EdidCtrlParam)
| This function reads the HDMI Sink EDID. More...
int | XV_HdmiTxSs1_ReadEdidSegment (XV_HdmiTxSs1 *InstancePtr, u8 *Buffer, u8 segment)
| This function reads one block from the HDMI Sink EDID. More...
void | XV_HdmiTxSs1_ShowEdid_extension (XV_HdmiTxSs1 *InstancePtr, XV_VidC_EdidCntrlParam *EdidCtrlParam)
| This function shows the HDMI source edid. More...
void | XV_HdmiTxSs1_ShowEdid (XV_HdmiTxSs1 *InstancePtr)
| This function shows the HDMI source edid. More...
void | XV_HdmiTxSs1_StreamStart (XV_HdmiTxSs1 *InstancePtr)
| This function starts the HDMI TX stream. More...
void | XV_HdmiTxSs1_SetScrambler (XV_HdmiTxSs1 *InstancePtr, u8 Enable)
| This function enables / disables the TX scrambler. More...
void | XV_HdmiTxSs1_SendAuxInfoframe (XV_HdmiTxSs1 *InstancePtr, void *Aux)
| This function sends audio info frames. More...
u32 | XV_HdmiTxSs1_SendGenericAuxInfoframe (XV_HdmiTxSs1 *InstancePtr, void *Aux)
| This function sends generic info frames. More...
void | XV_HdmiTxSs1_SetAudioChannels (XV_HdmiTxSs1 *InstancePtr, u8 AudioChannels)
| This function Sets the HDMI TX SS number of active audio channels. More...
void | XV_HdmiTxSs1_AudioMute (XV_HdmiTxSs1 *InstancePtr, u8 Enable)
| This function set HDMI TX audio parameters. More...
void | XV_HdmiTxSs1_SetAudioFormat (XV_HdmiTxSs1 *InstancePtr, XV_HdmiTx1_AudioFormatType format)
| This function Sets the HDMI TX SS Audio Format. More...
XV_HdmiTx1_AudioFormatType | XV_HdmiTxSs1_GetAudioFormat (XV_HdmiTxSs1 *InstancePtr)
| This function gets the active audio format. More...
void | XV_HdmiTxSs1_SetIntACR (XV_HdmiTxSs1 *InstancePtr)
| This function Sets use the internal ACR Module. More...
void | XV_HdmiTxSs1_SetExtACR (XV_HdmiTxSs1 *InstancePtr)
| This function Sets use the external ACR Module. More...
void | XV_HdmiTxSs1_SetSampleFrequency (XV_HdmiTxSs1 *InstancePtr, XHdmiC_SamplingFrequencyVal AudSampleFreqVal)
| This function Sets the audio sampling frequency. More...
XHdmiC_Aux * | XV_HdmiTxSs1_GetAuxiliary (XV_HdmiTxSs1 *InstancePtr)
| This function returns the pointer to HDMI TX SS Aux structure. More...
XHdmiC_AVI_InfoFrame * | XV_HdmiTxSs1_GetAviInfoframe (XV_HdmiTxSs1 *InstancePtr)
| This function returns the pointer to HDMI TX SS AVI InfoFrame structure. More...
XHdmiC_AudioInfoFrame * | XV_HdmiTxSs1_GetAudioInfoframe (XV_HdmiTxSs1 *InstancePtr)
| This function returns the pointer to HDMI TX SS Audio InfoFrame structure. More...
XHdmiC_VSIF * | XV_HdmiTxSs1_GetVSIF (XV_HdmiTxSs1 *InstancePtr)
| This function returns the pointer to HDMI TX SS Vendor Specific InfoFrame structure. More...
XHdmiC_DRMInfoFrame * | XV_HdmiTxSs1_GetDrmInfoframe (XV_HdmiTxSs1 *InstancePtr)
| This function returns the pointer to HDMI 2.1 TX SS DRM InfoFrame structure. More...
u32 | XV_HdmiTxSs1_SetStream (XV_HdmiTxSs1 *InstancePtr, XVidC_VideoTiming VideoTiming, XVidC_FrameRate FrameRate, XVidC_ColorFormat ColorFormat, XVidC_ColorDepth Bpc, u8 IsDSCompressed, XVidC_3DInfo *Info3D, u64 *TmdsClock)
| This function set HDMI TX susbsystem stream parameters. More...
XVidC_VideoStream * | XV_HdmiTxSs1_GetVideoStream (XV_HdmiTxSs1 *InstancePtr)
| This function returns the pointer to HDMI TX SS video stream. More...
void | XV_HdmiTxSs1_SetVideoStream (XV_HdmiTxSs1 *InstancePtr, XVidC_VideoStream VidStream)
| This function Sets the HDMI TX SS video stream. More...
void | XV_HdmiTxSs1_SetSamplingRate (XV_HdmiTxSs1 *InstancePtr, u8 SamplingRate)
| This function Sets the HDMI TX SS video Identification code. More...
void | XV_HdmiTxSs1_SetVideoIDCode (XV_HdmiTxSs1 *InstancePtr, u8 Vic)
| This function Sets the HDMI TX SS video Identification code. More...
u8 | XV_HdmiTxSs1_GetVideoStreamType (XV_HdmiTxSs1 *InstancePtr)
| This function returns the HDMI TX SS video stream type. More...
u8 | XV_HdmiTxSs1_GetTransportMode (XV_HdmiTxSs1 *InstancePtr)
| This function returns the pointer to HDMI TX SS video stream type. More...
void | XV_HdmiTxSs1_SetVideoStreamScramblingFlag (XV_HdmiTxSs1 *InstancePtr, u8 IsScrambled)
| This function Sets the HDMI TX SS video stream type. More...
void | XV_HdmiTxSs1_SetVideoStreamScramblingOverrideFlag (XV_HdmiTxSs1 *InstancePtr, u8 OverrideScramble)
| This function Sets the HDMI TX SS video stream scrambling behaviour. More...
void | XV_HdmiTxSs1_SetTmdsClockRatio (XV_HdmiTxSs1 *InstancePtr, u8 Ratio)
| This function Sets the HDMI TX SS TMDS Cock Ratio. More...
u32 | XV_HdmiTxSs1_GetTmdsClockFreqHz (XV_HdmiTxSs1 *InstancePtr)
| This function Sets the HDMI TX SS video Identification code. More...
int | XV_HdmiTxSs1_DetectHdmi20 (XV_HdmiTxSs1 *InstancePtr)
| This function detects connected sink is a HDMI 2.0/HDMI 1.4 sink device. More...
void | XV_HdmiTxSs1_RefClockChangeInit (XV_HdmiTxSs1 *InstancePtr)
| This function is called when HDMI TX SS TMDS clock changes. More...
void | XV_HdmiTxSs1_ReportTiming (XV_HdmiTxSs1 *InstancePtr)
| This function prints the HDMI TX SS timing information. More...
void | XV_HdmiTxSs1_ReportDRMInfo (XV_HdmiTxSs1 *InstancePtr)
| This function prints the HDMI 2.1 TX SS DRM If information. More...
void | XV_HdmiTxSs1_ReportAudio (XV_HdmiTxSs1 *InstancePtr)
| This function prints the HDMI TX SS audio information. More...
void | XV_HdmiTxSs1_ReportSubcoreVersion (XV_HdmiTxSs1 *InstancePtr)
| This function prints the HDMI TX SS subcore versions. More...
void | XV_HdmiTxSs1_ReportInfo (XV_HdmiTxSs1 *InstancePtr)
| This function prints the HDMI TX SS subcore versions. More...
void | XV_HdmiTxSs1_DebugInfo (XV_HdmiTxSs1 *InstancePtr)
| This function prints debug information on STDIO/UART console. More...
void | XV_HdmiTxSs1_RegisterDebug (XV_HdmiTxSs1 *InstancePtr)
| This function prints out the sub-core register dump. More...
int | XV_HdmiTxSs1_IsStreamUp (XV_HdmiTxSs1 *InstancePtr)
| This function checks if the video stream is up. More...
int | XV_HdmiTxSs1_IsStreamConnected (XV_HdmiTxSs1 *InstancePtr)
| This function checks if the interface is connected. More...
int | XV_HdmiTxSs1_IsStreamToggled (XV_HdmiTxSs1 *InstancePtr)
| This function checks if the interface has toggled. More...
void | XV_HdmiTxSs1_SetDefaultPpc (XV_HdmiTxSs1 *InstancePtr, u8 Id)
| This function will set the default in HDF. More...
void | XV_HdmiTxSs1_SetPpc (XV_HdmiTxSs1 *InstancePtr, u8 Id, u8 Ppc)
| This function will set PPC specified by user. More...
void | XV_HdmiTxSS1_MaskEnable (XV_HdmiTxSs1 *InstancePtr)
| This function will enable the video masking. More...
void | XV_HdmiTxSS1_MaskDisable (XV_HdmiTxSs1 *InstancePtr)
| This function will disable the video masking. More...
void | XV_HdmiTxSS1_MaskNoise (XV_HdmiTxSs1 *InstancePtr, u8 Enable)
| This function will enable or disable the noise in the video mask. More...
void | XV_HdmiTxSS1_MaskSetRed (XV_HdmiTxSs1 *InstancePtr, u16 Value)
| This function will set the red component in the video mask. More...
void | XV_HdmiTxSS1_MaskSetGreen (XV_HdmiTxSs1 *InstancePtr, u16 Value)
| This function will set the green component in the video mask. More...
void | XV_HdmiTxSS1_MaskSetBlue (XV_HdmiTxSs1 *InstancePtr, u16 Value)
| This function will set the blue component in the video mask. More...
void | XV_HdmiTxSS1_SetBackgroundColor (XV_HdmiTxSs1 *InstancePtr, XVMaskColorId ColorId)
| This function configures the background color for Video Masking Feature. More...
u8 | XV_HdmiTxSS1_IsMasked (XV_HdmiTxSs1 *InstancePtr)
| This function will get the current video mask mode. More...
void | XV_HdmiTxSS1_SetAppVersion (XV_HdmiTxSs1 *InstancePtr, u8 maj, u8 min)
| This function will set the major and minor application version in TXSs struct. More...
XVidC_PixelsPerClock | XV_HdmiTxSS1_GetCorePpc (XV_HdmiTxSs1 *InstancePtr)
| This function will set the major and minor application version in TXSs struct. More...
void | XV_HdmiTxSs1_VrrControl (XV_HdmiTxSs1 *InstancePtr, u8 Enable)
| This function allows enabling/disabling of VRR in HDMI Tx. More...
void | XV_HdmiTxSs1_FSyncControl (XV_HdmiTxSs1 *InstancePtr, u8 Enable)
| This function allows enabling/disabling of FSync in HDMI Tx. More...
void | XV_HdmiTxSS1_SetVrrMode (XV_HdmiTxSs1 *InstancePtr, u8 mode, u8 VrrEn, u8 FvaFactor, u8 CnmvrrEn)
| This function configures Video Timing Controller with Adaptive-Sync mode. More...
void | XV_HdmiTxSS1_SetVrrVfpStretch (XV_HdmiTxSs1 *InstancePtr, u16 StretchValue)
| This function configures vertical front porch stretch limit in Video Timing Controller. More...
void | XV_HdmiTxSS1_DisableVrr (XV_HdmiTxSs1 *InstancePtr)
| This function disables Adaptive-Sync feature in Video Timing Controller. More...
void | XV_HdmiTxSs1_SetVrrIf (XV_HdmiTxSs1 *InstancePtr, XV_HdmiC_VrrInfoFrame *VrrIF)
| This function allows setting VRR meta in core. More...
void | XV_HdmiTxSs1_SetCustomVrrIf (XV_HdmiTxSs1 *InstancePtr, XV_HdmiC_VrrInfoFrame *VrrIF, u16 Sync, u16 DataSetLen)
| This function allows setting Custom VRR meta in core. More...
void | XV_HdmiTxSS1_StopFRLStream (XV_HdmiTxSs1 *InstancePtr)
| This function will Stop the FRL stream. More...
void | XV_HdmiTxSS1_StartFRLStream (XV_HdmiTxSs1 *InstancePtr)
| This function will Start the FRL stream. More...
void | XV_HdmiTxSs1_DynHdr_Control (XV_HdmiTxSs1 *InstancePtr, u8 Flag)
| This function will enable/disable Dynamic HDR. More...
void | XV_HdmiTxSs1_DynHdr_GOF_Control (XV_HdmiTxSs1 *InstancePtr, u8 Flag)
| This function will enable/disable GOF for Dynamic HDR. More...
void | XV_HdmiTxSs1_DynHdr_Cfg (XV_HdmiTxSs1 *InstancePtr, XV_HdmiTxSs1_DynHdr_Config *CfgPtr)
| This function will configure the HDMI Tx for Dynamic HDR. More...
void | XV_HdmiTxSs1_DynHdr_DM_Control (XV_HdmiTxSs1 *InstancePtr, u8 Flag)
| This function will enable or disable the Data Mover in Dynamic HDR. More...
u32 | XV_HdmiTxSs1_DynHdr_GetErr (XV_HdmiTxSs1 *InstancePtr)
| This function will read the error status of the Data Mover for Dynamic HDR. More...
void | XV_HdmiTxSS1_SetHpdTolerance (XV_HdmiTxSs1 *InstancePtr, XV_HdmiTxSs1_HpdToleranceType Type, u16 ToleranceVal)
| This function will Configure Timegrid based on the tolerance value for HPD and Toggle event. More...

## Variables
XV_HdmiTxSs1_SubCores | XV_HdmiTxSs1_SubCoreRepo [XPAR_XV_HDMITXSS1_NUM_INSTANCES]
| Define Driver instance of all sub-core included in the design. More...

## Macro Definition Documentation

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

Value:
{ \
XV_HdmiTx1_Bridge_pixel(InstancePtr->HdmiTx1Ptr, Enable); \
}

This macro selects the bridge pixel repeat mode.

Parameters

  InstancePtr | is a pointer to the HDMI TX Subsystem

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

Value:
{ \
XV_HdmiTx1_Bridge_yuv420(InstancePtr->HdmiTx1Ptr, Enable); \
}

This macro selects the bridge YUV420 mode.

Parameters

  InstancePtr | is a pointer to the HDMI TX Subsystem

## Function Documentation

void XV_HdmiTxSs1_AudioMute | ( | XV_HdmiTxSs1 * | InstancePtr,
|  | u8 | Enable
| ) |  |

This function set HDMI TX audio parameters.

Parameters

  Enable | 0: Unmute the audio 1: Mute the audio.

Returns
  None.

Note
  None.

References XV_HdmiTxSs1::HdmiTx1Ptr, XV_HDMITXSS1_LOG_EVT_AUDIOMUTE, XV_HDMITXSS1_LOG_EVT_AUDIOUNMUTE, and XV_HdmiTxSs1_LogWrite().

int XV_HdmiTxSs1_CfgInitialize | ( | XV_HdmiTxSs1 * | InstancePtr,
|  | XV_HdmiTxSs1_Config * | CfgPtr,
|  | UINTPTR | EffectiveAddr
| ) |  |

This function initializes the video subsystem and included sub-cores.

This function must be called prior to using the subsystem. Initialization includes setting up the instance data for top level as well as all included sub-core therein, and ensuring the hardware is in a known stable state.

Parameters

  InstancePtr | is a pointer to the Subsystem instance to be worked on.
  CfgPtr | points to the configuration structure associated with the subsystem instance.
  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 initialization is successful else XST_FAILURE

References XV_HdmiTxSs1::AppMajVer, XV_HdmiTxSs1::AppMinVer, XV_HdmiTxSs1::AudioInfoframe, XV_HdmiTxSs1::AVIInfoframe, XV_HdmiTxSs1_Config::AxiLiteClkFreq, XV_HdmiTxSs1_Config::BaseAddress, XV_HdmiTxSs1::Config, XV_HdmiTxSs1_Config::DeviceId, XV_HdmiTxSs1::DrmInfoframe, XV_HdmiTxSs1::EnableHDCPLogging, XV_HdmiTxSs1::EnableHDMILogging, XV_HdmiTxSs1::HdcpProtocol, XV_HdmiTxSs1::HdmiTx1Ptr, XV_HdmiTxSs1::IsReady, XV_HdmiTxSs1::VSIF, XV_HdmiTxSs1::VtcPtr, XV_HDMITXSS1_HDCP_BOTH, XV_HDMITXSS1_HDCP_NONE, XV_HdmiTxSs1_Reset(), XV_HdmiTxSs1_SubcoreInitHdmiTx1(), and XV_HdmiTxSs1_SubcoreInitVtc().

void XV_HdmiTxSs1_ClearGcpAvmuteBit | ( | XV_HdmiTxSs1 * | InstancePtr | ) |

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

Parameters

  InstancePtr | is a pointer to the Subsystem instance to be worked on.

Returns
  None

References XV_HdmiTxSs1::HdmiTx1Ptr.

void XV_HdmiTxSs1_ClearGcpClearAvmuteBit | ( | XV_HdmiTxSs1 * | InstancePtr | ) |

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

Parameters

  InstancePtr | is a pointer to the Subsystem instance to be worked on.

Returns
  None

References XV_HdmiTxSs1::HdmiTx1Ptr.

void XV_HdmiTxSs1_DebugInfo | ( | XV_HdmiTxSs1 * | InstancePtr | ) |

This function prints debug information on STDIO/UART console.

Parameters

  InstancePtr | is a pointer to the XV_HdmiTxSs1 instance.

Returns
  None.

Note
  None.

References XV_HdmiTxSs1::HdmiTx1Ptr.

Referenced by DetailedInfo().

int XV_HdmiTxSs1_DetectHdmi20 | ( | XV_HdmiTxSs1 * | InstancePtr | ) |

This function detects connected sink is a HDMI 2.0/HDMI 1.4 sink device.

Parameters

  InstancePtr | is a pointer to the XV_HdmiTxSs1 core instance.

Returns
  - XST_SUCCESS if HDMI 2.0
  - XST_FAILURE if HDMI 1.4

Note
  None.

References XV_HdmiTxSs1::HdmiTx1Ptr.

void XV_HdmiTxSS1_DisableVrr | ( | XV_HdmiTxSs1 * | InstancePtr | ) |

This function disables Adaptive-Sync feature in Video Timing Controller.

Parameters

  InstancePtr | is a pointer to the XV_HdmiTxSs1 instance.

Returns
  None.

Note
  None.

References XV_HdmiTxSs1::VtcPtr.

void XV_HdmiTxSs1_DynHdr_Cfg | ( | XV_HdmiTxSs1 * | InstancePtr,
|  | XV_HdmiTxSs1_DynHdr_Config * | CfgPtr
| ) |  |

This function will configure the HDMI Tx for Dynamic HDR.

The configuration should be updated and called by application in Dynamic HDR MTW callback.

Parameters

  InstancePtr | is a pointer to the XV_HdmiTxSs1 core instance.
  CfgPtr | is a pointer to XV_HdmiTxSs1_DynHdr_Config instance

Returns
  void.

Note
  None.

References XV_HdmiTxSs1_DynHdr_Config::Address, XV_HdmiTxSs1::Config, XV_HdmiTxSs1_Config::DynHdr, XV_HdmiTxSs1_DynHdr_Config::FAPA, XV_HdmiTxSs1_DynHdr_Config::GOF, XV_HdmiTxSs1_DynHdr_Config::PktLength, and XV_HdmiTxSs1_DynHdr_Config::PktType.

void XV_HdmiTxSs1_DynHdr_Control | ( | XV_HdmiTxSs1 * | InstancePtr,
|  | u8 | Flag
| ) |  |

This function will enable/disable Dynamic HDR.

Parameters

  InstancePtr | is a pointer to the XV_HdmiTxSs1 core instance.
  Flag | set to TRUE/FALSE.

Returns
  void.

Note
  None.

References XV_HdmiTxSs1::Config, XV_HdmiTxSs1_Config::DynHdr, and XV_HdmiTxSs1::HdmiTx1Ptr.

void XV_HdmiTxSs1_DynHdr_DM_Control | ( | XV_HdmiTxSs1 * | InstancePtr,
|  | u8 | Flag
| ) |  |

This function will enable or disable the Data Mover in Dynamic HDR.

Parameters

  InstancePtr | is a pointer to the XV_HdmiTxSs1 core instance.
  Flag | 0 to disable and 1 to enable the Data Mover

Returns
  void.

Note
  None.

References XV_HdmiTxSs1::Config, XV_HdmiTxSs1_Config::DynHdr, and XV_HdmiTxSs1::HdmiTx1Ptr.

u32 XV_HdmiTxSs1_DynHdr_GetErr | ( | XV_HdmiTxSs1 * | InstancePtr | ) |

This function will read the error status of the Data Mover for Dynamic HDR.

Parameters

  InstancePtr | is a pointer to the XV_HdmiTxSs1 core instance.

Returns
  0 - if no error else 1

Note
  None.

References XV_HdmiTxSs1::Config, and XV_HdmiTxSs1_Config::DynHdr.

void XV_HdmiTxSs1_DynHdr_GOF_Control | ( | XV_HdmiTxSs1 * | InstancePtr,
|  | u8 | Flag
| ) |  |

This function will enable/disable GOF for Dynamic HDR.

Parameters

  InstancePtr | is a pointer to the XV_HdmiTxSs1 core instance.
  Flag | set to TRUE/FALSE.

Returns
  void.

Note
  None.

References XV_HdmiTxSs1::Config, XV_HdmiTxSs1_Config::DynHdr, and XV_HdmiTxSs1::HdmiTx1Ptr.

void XV_HdmiTxSs1_FSyncControl | ( | XV_HdmiTxSs1 * | InstancePtr,
|  | u8 | Enable
| ) |  |

This function allows enabling/disabling of FSync in HDMI Tx.

Parameters

  Enable | 0: disable FSync 1: enable FSync

Returns
  None.

Note
  None.

References XV_HdmiTxSs1::HdmiTx1Ptr.

Referenced by Exdes_ProcessVTEMPacket(), and main().

XV_HdmiTx1_AudioFormatType XV_HdmiTxSs1_GetAudioFormat | ( | XV_HdmiTxSs1 * | InstancePtr | ) |

This function gets the active audio format.

Parameters

  InstancePtr | is a pointer to the XV_HdmiTxSs1 core instance.

Returns
  Active audio format of HDMI Tx Subsystem

Note
  None.

References XV_HdmiTxSs1::HdmiTx1Ptr.

Referenced by XV_HdmiTxSs1_ReportAudio().

XHdmiC_AudioInfoFrame* XV_HdmiTxSs1_GetAudioInfoframe | ( | XV_HdmiTxSs1 * | InstancePtr | ) |

This function returns the pointer to HDMI TX SS Audio InfoFrame structure.

Parameters

  InstancePtr | pointer to XV_HdmiTxSs1 instance

Returns
  XHdmiC_AudioInfoFrame pointer

Note
  None.

References XV_HdmiTxSs1::AudioInfoframe.

XHdmiC_Aux* XV_HdmiTxSs1_GetAuxiliary | ( | XV_HdmiTxSs1 * | InstancePtr | ) |

This function returns the pointer to HDMI TX SS Aux structure.

Parameters

  InstancePtr | pointer to XV_HdmiTxSs1 instance

Returns
  XVidC_VideoStream pointer

Note
  None.

References XV_HdmiTxSs1::HdmiTx1Ptr.

XHdmiC_AVI_InfoFrame* XV_HdmiTxSs1_GetAviInfoframe | ( | XV_HdmiTxSs1 * | InstancePtr | ) |

This function returns the pointer to HDMI TX SS AVI InfoFrame structure.

Parameters

  InstancePtr | pointer to XV_HdmiTxSs1 instance

Returns
  XHdmiC_AVI_InfoFrame pointer

Note
  None.

References XV_HdmiTxSs1::AVIInfoframe.

XVidC_PixelsPerClock XV_HdmiTxSS1_GetCorePpc | ( | XV_HdmiTxSs1 * | InstancePtr | ) |

This function will set the major and minor application version in TXSs struct.

Parameters

  InstancePtr | is a pointer to the XV_HdmiTxSs1 core instance.

Returns
  Core pixel per clock value

Note
  None.

References XV_HdmiTxSs1::HdmiTx1Ptr.

XHdmiC_DRMInfoFrame* XV_HdmiTxSs1_GetDrmInfoframe | ( | XV_HdmiTxSs1 * | InstancePtr | ) |

This function returns the pointer to HDMI 2.1 TX SS DRM InfoFrame structure.

Parameters

  InstancePtr | pointer to XV_HdmiTxSs1 instance

Returns
  XHdmiC_DRMInfoFrame pointer

Note
  None.

References XV_HdmiTxSs1::DrmInfoframe.

Referenced by XV_HdmiTxSs1_ReportDRMInfo().

u32 XV_HdmiTxSs1_GetTmdsClockFreqHz | ( | XV_HdmiTxSs1 * | InstancePtr | ) |

This function Sets the HDMI TX SS video Identification code.

Parameters

  InstancePtr | pointer to XV_HdmiTxSs1 instance
  @return | Stream Data Structure (TMDS Clock)

Note
  None.

References XV_HdmiTxSs1::HdmiTx1Ptr.

u8 XV_HdmiTxSs1_GetTransportMode | ( | XV_HdmiTxSs1 * | InstancePtr | ) |

This function returns the pointer to HDMI TX SS video stream type.

Parameters

  InstancePtr | pointer to XV_HdmiTxSs1 instance

Returns
  Transport Mode 1:FRL 0:TMDS

Note
  None.

References XV_HdmiTxSs1::HdmiTx1Ptr.

XVidC_VideoStream* XV_HdmiTxSs1_GetVideoStream | ( | XV_HdmiTxSs1 * | InstancePtr | ) |

This function returns the pointer to HDMI TX SS video stream.

Parameters

  InstancePtr | pointer to XV_HdmiTxSs1 instance

Returns
  XVidC_VideoStream pointer

Note
  None.

References XV_HdmiTxSs1::HdmiTx1Ptr.

Referenced by main(), XV_HdmiTxSS1_SetBackgroundColor(), and XV_HdmiTxSS1_SetVrrVfpStretch().

u8 XV_HdmiTxSs1_GetVideoStreamType | ( | XV_HdmiTxSs1 * | InstancePtr | ) |

This function returns the HDMI TX SS video stream type.

Parameters

  InstancePtr | pointer to XV_HdmiTxSs1 instance

Returns
  Value 1:HDMI TMDS 0:DVI.

Note
  None.

References XV_HdmiTxSs1::HdmiTx1Ptr.

XHdmiC_VSIF* XV_HdmiTxSs1_GetVSIF | ( | XV_HdmiTxSs1 * | InstancePtr | ) |

This function returns the pointer to HDMI TX SS Vendor Specific InfoFrame structure.

Parameters

  InstancePtr | pointer to XV_HdmiTxSs1 instance

Returns
  XHdmiC_VSIF pointer

Note
  None.

References XV_HdmiTxSs1::VSIF.

void XV_HdmiTxSS1_HdmiTx1IntrHandler | ( | XV_HdmiTxSs1 * | InstancePtr | ) |

This function calls the interrupt handler for HDMI TX.

Parameters

  InstancePtr | is a pointer to the HDMI TX Subsystem

References XV_HdmiTxSs1::HdmiTx1Ptr.

u8 XV_HdmiTxSS1_IsMasked | ( | XV_HdmiTxSs1 * | InstancePtr | ) |

This function will get the current video mask mode.

Parameters

  InstancePtr | is a pointer to the XV_HdmiTxSs1 core instance.

Returns
  Current mode. 0 = Video masking is disabled 1 = Video masking is enabled

Note
  None.

References XV_HdmiTxSs1::HdmiTx1Ptr.

Referenced by XV_HdmiTxSs1_ReportTiming().

int XV_HdmiTxSs1_IsStreamConnected | ( | XV_HdmiTxSs1 * | InstancePtr | ) |

This function checks if the interface is connected.

Parameters

  None. |

Returns
  - TRUE if the interface is connected.
  - FALSE if the interface is not connected.

Note
  None.

References XV_HdmiTxSs1::IsStreamConnected.

int XV_HdmiTxSs1_IsStreamToggled | ( | XV_HdmiTxSs1 * | InstancePtr | ) |

This function checks if the interface has toggled.

Parameters

  None. |

Returns
  - TRUE if the interface HPD has toggled.
  - FALSE if the interface HPD has not toggled.

Note
  None.

References XV_HdmiTxSs1::IsStreamToggled.

int XV_HdmiTxSs1_IsStreamUp | ( | XV_HdmiTxSs1 * | InstancePtr | ) |

This function checks if the video stream is up.

Parameters

  None. |

Returns
  - TRUE if stream is up.
  - FALSE if stream is down.

Note
  None.

References XV_HdmiTxSs1::IsStreamUp.

void XV_HdmiTxSS1_MaskDisable | ( | XV_HdmiTxSs1 * | InstancePtr | ) |

This function will disable the video masking.

Parameters

  InstancePtr | is a pointer to the XV_HdmiTxSs1 core instance.

Returns
  None.

Note
  None.

References XV_HdmiTxSs1::HdmiTx1Ptr.

void XV_HdmiTxSS1_MaskEnable | ( | XV_HdmiTxSs1 * | InstancePtr | ) |

This function will enable the video masking.

Parameters

  InstancePtr | is a pointer to the XV_HdmiTxSs1 core instance.

Returns
  None.

Note
  None.

References XV_HdmiTxSs1::HdmiTx1Ptr.

Referenced by XV_HdmiTxSS1_SetBackgroundColor().

void XV_HdmiTxSS1_MaskNoise | ( | XV_HdmiTxSs1 * | InstancePtr,
|  | u8 | Enable
| ) |  |

This function will enable or disable the noise in the video mask.

Parameters

  InstancePtr | is a pointer to the XV_HdmiTxSs1 core instance.
  Enable | specifies TRUE/FALSE value to either enable or disable the Noise.

Returns
  None.

Note
  None.

References XV_HdmiTxSs1::HdmiTx1Ptr.

Referenced by XV_HdmiTxSS1_SetBackgroundColor().

void XV_HdmiTxSS1_MaskSetBlue | ( | XV_HdmiTxSs1 * | InstancePtr,
|  | u16 | Value
| ) |  |

This function will set the blue component in the video mask.

Parameters

  InstancePtr | is a pointer to the XV_HdmiTxSs1 core instance.
  Value | specifies the video mask value set to blue component

Returns
  None.

Note
  None.

References XV_HdmiTxSs1::HdmiTx1Ptr.

Referenced by XV_HdmiTxSS1_SetBackgroundColor().

void XV_HdmiTxSS1_MaskSetGreen | ( | XV_HdmiTxSs1 * | InstancePtr,
|  | u16 | Value
| ) |  |

This function will set the green component in the video mask.

Parameters

  InstancePtr | is a pointer to the XV_HdmiTxSs1 core instance.
  Value | specifies the video mask value set to green component

Returns
  None.

Note
  None.

References XV_HdmiTxSs1::HdmiTx1Ptr.

Referenced by XV_HdmiTxSS1_SetBackgroundColor().

void XV_HdmiTxSS1_MaskSetRed | ( | XV_HdmiTxSs1 * | InstancePtr,
|  | u16 | Value
| ) |  |

This function will set the red component in the video mask.

Parameters

  InstancePtr | is a pointer to the XV_HdmiTxSs1 core instance.
  Value | specifies the video mask value set to red component

Returns
  None.

Note
  None.

References XV_HdmiTxSs1::HdmiTx1Ptr.

Referenced by XV_HdmiTxSS1_SetBackgroundColor().

int XV_HdmiTxSs1_ReadEdid | ( | XV_HdmiTxSs1 * | InstancePtr,
|  | u8 * | Buffer,
|  | u32 | BufferSize
| ) |  |

This function reads the HDMI Sink EDID.

Returns
  None.

Note
  None.

References XV_HdmiTxSs1::HdmiTx1Ptr, XV_HdmiTxSs1::IsStreamConnected, and XV_HdmiTxSs1_ReadEdidSegment().

int XV_HdmiTxSs1_ReadEdid_extension | ( | XV_HdmiTxSs1 * | InstancePtr,
|  | XV_VidC_EdidCntrlParam * | EdidCtrlParam
| ) |  |

This function reads the HDMI Sink EDID.

Returns
  None.

Note
  None.

References XV_HdmiTxSs1::HdmiTx1Ptr, XV_HdmiTxSs1::IsStreamConnected, and XV_HdmiTxSs1_ReadEdidSegment().

int XV_HdmiTxSs1_ReadEdidSegment | ( | XV_HdmiTxSs1 * | InstancePtr,
|  | u8 * | Buffer,
|  | u8 | segment
| ) |  |

This function reads one block from the HDMI Sink EDID.

Returns
  None.

Note
  None.

References XV_HdmiTxSs1::HdmiTx1Ptr, and XV_HdmiTxSs1::IsStreamConnected.

Referenced by XV_HdmiTxSs1_ReadEdid(), XV_HdmiTxSs1_ReadEdid_extension(), XV_HdmiTxSs1_ShowEdid(), and XV_HdmiTxSs1_ShowEdid_extension().

void XV_HdmiTxSs1_RefClockChangeInit | ( | XV_HdmiTxSs1 * | InstancePtr | ) |

This function is called when HDMI TX SS TMDS clock changes.

Parameters

  None. |

Returns
  None

Note
  None.

References XV_HdmiTxSs1::HdmiTx1Ptr, XV_HdmiTxSs1_SYSRST(), XV_HdmiTxSs1_TXCore_LRST(), XV_HdmiTxSs1_TXCore_VRST(), and XV_HdmiTxSs1_VRST().

void XV_HdmiTxSs1_RegisterDebug | ( | XV_HdmiTxSs1 * | InstancePtr | ) |

This function prints out the sub-core register dump.

Parameters

  InstancePtr | Instance Pointer to the main data structure

Returns
  None.

Note
  None.

References XV_HdmiTxSs1_SubCore::AbsAddr, XV_HdmiTxSs1::Config, XV_HdmiTxSs1::HdmiTx1Ptr, XV_HdmiTxSs1::IsStreamUp, XV_HdmiTxSs1_Config::Vtc, and XV_HdmiTxSs1::VtcPtr.

void XV_HdmiTxSs1_ReportAudio | ( | XV_HdmiTxSs1 * | InstancePtr | ) |

This function prints the HDMI TX SS audio information.

Parameters

  None. |

Returns
  None.

Note
  None.

References XV_HdmiTxSs1::HdmiTx1Ptr, and XV_HdmiTxSs1_GetAudioFormat().

Referenced by Info(), and XV_HdmiTxSs1_ReportInfo().

void XV_HdmiTxSs1_ReportCoreInfo | ( | XV_HdmiTxSs1 * | InstancePtr | ) |

This function reports list of cores included in Video Processing Subsystem.

Parameters

  InstancePtr | is a pointer to the Subsystem instance.

Returns
  None

References XV_HdmiTxSs1::HdmiTx1Ptr, and XV_HdmiTxSs1::VtcPtr.

Referenced by DetailedInfo(), and XV_HdmiTxSs1_ReportInfo().

void XV_HdmiTxSs1_ReportDRMInfo | ( | XV_HdmiTxSs1 * | InstancePtr | ) |

This function prints the HDMI 2.1 TX SS DRM If information.

Parameters

  Pointer | to HDMI 2.1 Tx SS Instance.

Returns
  None.

Note
  None.

References XV_HdmiTxSs1_GetDrmInfoframe().

Referenced by Info(), and XV_HdmiTxSs1_ReportInfo().

void XV_HdmiTxSs1_ReportInfo | ( | XV_HdmiTxSs1 * | InstancePtr | ) |

This function prints the HDMI TX SS subcore versions.

Parameters

  None. |

Returns
  None.

Note
  None.

References XV_HdmiTxSs1_ReportAudio(), XV_HdmiTxSs1_ReportCoreInfo(), XV_HdmiTxSs1_ReportDRMInfo(), XV_HdmiTxSs1_ReportSubcoreVersion(), and XV_HdmiTxSs1_ReportTiming().

void XV_HdmiTxSs1_ReportSubcoreVersion | ( | XV_HdmiTxSs1 * | InstancePtr | ) |

This function prints the HDMI TX SS subcore versions.

Parameters

  None. |

Returns
  None.

Note
  None.

References XV_HdmiTxSs1::HdmiTx1Ptr, XV_HdmiTxSs1::IsStreamUp, and XV_HdmiTxSs1::VtcPtr.

Referenced by DetailedInfo(), and XV_HdmiTxSs1_ReportInfo().

void XV_HdmiTxSs1_ReportTiming | ( | XV_HdmiTxSs1 * | InstancePtr | ) |

This function prints the HDMI TX SS timing information.

Parameters

  None. |

Returns
  None.

Note
  None.

References XV_HdmiTxSs1::HdmiTx1Ptr, and XV_HdmiTxSS1_IsMasked().

Referenced by Info(), and XV_HdmiTxSs1_ReportInfo().

void XV_HdmiTxSs1_Reset | ( | XV_HdmiTxSs1 * | InstancePtr | ) |

This function resets the video subsystem sub-cores.

There are 2 reset networks within the subsystem

- For cores that are on AXIS interface
- For cores that are on AXI-MM interface

Parameters

  InstancePtr | is a pointer to the Subsystem instance to be worked on.

Returns
  None

References XV_HDMITXSS1_LOG_EVT_RESET, XV_HdmiTxSs1_LogWrite(), XV_HdmiTxSs1_SYSRST(), XV_HdmiTxSs1_TXCore_LRST(), XV_HdmiTxSs1_TXCore_VRST(), and XV_HdmiTxSs1_VRST().

Referenced by XV_HdmiTxSs1_CfgInitialize().

void XV_HdmiTxSs1_SendAuxInfoframe | ( | XV_HdmiTxSs1 * | InstancePtr,
|  | void * | Aux
| ) |  |

This function sends audio info frames.

Parameters

  None. |

Returns
  None.

Note
  None.

References XV_HdmiTxSs1::HdmiTx1Ptr.

int XV_HdmiTxSs1_SendCvtemAuxPackets | ( | XV_HdmiTxSs1 * | InstancePtr,
|  | XHdmiC_Aux * | DscAuxFifo
| ) |  |

This function is used to Send CVTEM Packet.

Parameters

  InstancePtr | is a pointer to the HDMI TX Subsystem instance.
  DscAuxFifo | is a pointer to the HDMI Aux fifo

Returns
  XST_SUCCESS on successful update of header and data. XST_FAILURE if the device is busy

Note

References XV_HdmiTxSs1::HdmiTx1Ptr.

u32 XV_HdmiTxSs1_SendGenericAuxInfoframe | ( | XV_HdmiTxSs1 * | InstancePtr,
|  | void * | Aux
| ) |  |

This function sends generic info frames.

Parameters

  None. |

Returns
  - XST_SUCCESS if infoframes transmitted successfully.
  - XST_FAILURE if AUX FIFO is full.

Note
  None.

References XV_HdmiTxSs1::HdmiTx1Ptr.

void XV_HdmiTxSS1_SetAppVersion | ( | XV_HdmiTxSs1 * | InstancePtr,
|  | u8 | maj,
|  | u8 | min
| ) |  |

This function will set the major and minor application version in TXSs struct.

Parameters

  InstancePtr | is a pointer to the XV_HdmiTxSs1 core instance.
  maj | is the major version of the application.
  min | is the minor version of the application.

Returns
  void.

Note
  None.

References XV_HdmiTxSs1::AppMajVer, and XV_HdmiTxSs1::AppMinVer.

void XV_HdmiTxSs1_SetAudioChannels | ( | XV_HdmiTxSs1 * | InstancePtr,
|  | u8 | AudioChannels
| ) |  |

This function Sets the HDMI TX SS number of active audio channels.

Parameters

  InstancePtr | pointer to XV_HdmiTxSs1 instance
  AudioChannels |

Returns
  None.

Note
  None.

References XV_HdmiTxSs1::AudioChannels, XV_HdmiTxSs1::AudioInfoframe, XV_HdmiTxSs1::HdmiTx1Ptr, XV_HDMITXSS1_LOG_EVT_SETAUDIOCHANNELS, and XV_HdmiTxSs1_LogWrite().

void XV_HdmiTxSs1_SetAudioFormat | ( | XV_HdmiTxSs1 * | InstancePtr,
|  | XV_HdmiTx1_AudioFormatType | format
| ) |  |

This function Sets the HDMI TX SS Audio Format.

Parameters

  InstancePtr | pointer to XV_HdmiTxSs1 instance
  format | 1:HBR 0:L-PCM

Returns
  None.

Note
  None.

References XV_HdmiTxSs1::HdmiTx1Ptr.

void XV_HdmiTxSS1_SetBackgroundColor | ( | XV_HdmiTxSs1 * | InstancePtr,
|  | XVMaskColorId | ColorId
| ) |  |

This function configures the background color for Video Masking Feature.

Parameters

  InstancePtr | is a pointer to the core instance to be worked on.
  ColorId | is the background color requested

Returns
  None

References XV_HdmiTxSs1::HdmiTx1Ptr, XV_HdmiTxSs1_GetVideoStream(), XV_HdmiTxSS1_MaskEnable(), XV_HdmiTxSS1_MaskNoise(), XV_HdmiTxSS1_MaskSetBlue(), XV_HdmiTxSS1_MaskSetGreen(), and XV_HdmiTxSS1_MaskSetRed().

int XV_HdmiTxSs1_SetCallback | ( | XV_HdmiTxSs1 * | InstancePtr,
|  | XV_HdmiTxSs1_HandlerType | HandlerType,
|  | void * | CallbackFunc,
|  | void * | CallbackRef
| ) |  |

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

    HandlerType                     Callback Function Type
    -----------------------         ---------------------------------------------
    (XV_HDMITXSS1_HANDLER_CONNECT)       HpdCallback
    (XV_HDMITXSS1_HANDLER_VS)            VsCallback
    (XV_HDMITXSS1_HANDLER_STREAM_DOWN)   StreamDownCallback
    (XV_HDMITXSS1_HANDLER_STREAM_UP)     StreamUpCallback
    (XV_HDMITXSS1_HANDLER_BRDGOVERFLOW)  BrdgOverflowCallback
    (XV_HDMITXSS1_HANDLER_BRDGUNDERFLOW) BrdgUnderflowCallback
    (XV_HDMITXSS1_HANDLER_HDCP_AUTHENTICATED)
    (XV_HDMITXSS1_HANDLER_HDCP_DOWNSTREAM_TOPOLOGY_AVAILABLE)
    (XV_HDMITXSS1_HANDLER_HDCP_UNAUTHENTICATED)

Parameters

  InstancePtr | is a pointer to the HDMI TX Subsystem 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_HdmiTxSs1::BrdgLockedCallback, XV_HdmiTxSs1::BrdgLockedRef, XV_HdmiTxSs1::BrdgOverflowCallback, XV_HdmiTxSs1::BrdgOverflowRef, XV_HdmiTxSs1::BrdgUnderflowCallback, XV_HdmiTxSs1::BrdgUnderflowRef, XV_HdmiTxSs1::BrdgUnlockedCallback, XV_HdmiTxSs1::BrdgUnlockedRef, XV_HdmiTxSs1::ConnectCallback, XV_HdmiTxSs1::ConnectRef, XV_HdmiTxSs1::DscDecodeFailCallback, XV_HdmiTxSs1::DscDecodeFailRef, XV_HdmiTxSs1::DynHdrMtwCallback, XV_HdmiTxSs1::DynHdrMtwRef, XV_HdmiTxSs1::FrlConfigCallback, XV_HdmiTxSs1::FrlConfigRef, XV_HdmiTxSs1::FrlFfeCallback, XV_HdmiTxSs1::FrlFfeRef, XV_HdmiTxSs1::FrlStartCallback, XV_HdmiTxSs1::FrlStartRef, XV_HdmiTxSs1::FrlStopCallback, XV_HdmiTxSs1::FrlStopRef, XV_HdmiTxSs1::StreamDownCallback, XV_HdmiTxSs1::StreamDownRef, XV_HdmiTxSs1::StreamUpCallback, XV_HdmiTxSs1::StreamUpRef, XV_HdmiTxSs1::TmdsConfigCallback, XV_HdmiTxSs1::TmdsConfigRef, XV_HdmiTxSs1::ToggleCallback, XV_HdmiTxSs1::ToggleRef, XV_HdmiTxSs1::VsCallback, XV_HdmiTxSs1::VsRef, XV_HDMITXSS1_HANDLER_BRDGLOCK, XV_HDMITXSS1_HANDLER_BRDGOVERFLOW, XV_HDMITXSS1_HANDLER_BRDGUNDERFLOW, XV_HDMITXSS1_HANDLER_BRDGUNLOCK, XV_HDMITXSS1_HANDLER_CONNECT, XV_HDMITXSS1_HANDLER_DSCDECODE_FAIL, XV_HDMITXSS1_HANDLER_DYNHDR_MWT, XV_HDMITXSS1_HANDLER_FRL_CONFIG, XV_HDMITXSS1_HANDLER_FRL_FFE, XV_HDMITXSS1_HANDLER_FRL_START, XV_HDMITXSS1_HANDLER_FRL_STOP, XV_HDMITXSS1_HANDLER_HDCP_AUTHENTICATED, XV_HDMITXSS1_HANDLER_HDCP_DOWNSTREAM_TOPOLOGY_AVAILABLE, XV_HDMITXSS1_HANDLER_HDCP_UNAUTHENTICATED, XV_HDMITXSS1_HANDLER_STREAM_DOWN, XV_HDMITXSS1_HANDLER_STREAM_UP, XV_HDMITXSS1_HANDLER_TMDS_CONFIG, XV_HDMITXSS1_HANDLER_TOGGLE, and XV_HDMITXSS1_HANDLER_VS.

Referenced by main().

void XV_HdmiTxSs1_SetCustomVrrIf | ( | XV_HdmiTxSs1 * | InstancePtr,
|  | XV_HdmiC_VrrInfoFrame * | VrrIF,
|  | u16 | Sync,
|  | u16 | DataSetLen
| ) |  |

This function allows setting Custom VRR meta in core.

Parameters

  InstancePtr | is a pointer to the XV_HdmiTxSs1 instance.
  VrrIF | is a pointer to the XV_HdmiC_VrrInfoFrame structure
  Value | of sync in Vrr packet
  Value | of data set length

Returns
  None.

Note
  None.

References XV_HdmiTxSs1::HdmiTx1Ptr.

void XV_HdmiTxSs1_SetDefaultPpc | ( | XV_HdmiTxSs1 * | InstancePtr,
|  | u8 | Id
| ) |  |

This function will set the default in HDF.

Parameters

  InstancePtr | is a pointer to the XV_HdmiTxSs1 core instance.
  Id | is the XV_HdmiTxSs1 ID to operate on.

Returns
  None.

Note
  None.

References XV_HdmiTxSs1::Config, and XV_HdmiTxSs1_Config::Ppc.

void XV_HdmiTxSS1_SetDviMode | ( | XV_HdmiTxSs1 * | InstancePtr | ) |

This function sets the core into DVI mode.

Parameters

  InstancePtr | is a pointer to the HDMI TX Subsystem

References XV_HdmiTxSs1::HdmiTx1Ptr.

void XV_HdmiTxSs1_SetExtACR | ( | XV_HdmiTxSs1 * | InstancePtr | ) |

This function Sets use the external ACR Module.

Parameters

  InstancePtr | pointer to XV_HdmiTxSs1 instance
  Audio | Sample Frequency in Hz

Returns
  None.

Note
  None.

References XV_HdmiTxSs1::HdmiTx1Ptr.

void XV_HdmiTxSs1_SetGcpAvmuteBit | ( | XV_HdmiTxSs1 * | InstancePtr | ) |

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

Parameters

  InstancePtr | is a pointer to the Subsystem instance to be worked on.

Returns
  None

References XV_HdmiTxSs1::HdmiTx1Ptr.

void XV_HdmiTxSs1_SetGcpClearAvmuteBit | ( | XV_HdmiTxSs1 * | InstancePtr | ) |

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

Parameters

  InstancePtr | is a pointer to the Subsystem instance to be worked on.

Returns
  None

References XV_HdmiTxSs1::HdmiTx1Ptr.

void XV_HdmiTxSS1_SetHdmiFrlMode | ( | XV_HdmiTxSs1 * | InstancePtr | ) |

This function sets the core into HDMI mode.

Parameters

  InstancePtr | is a pointer to the HDMI TX Subsystem

References XV_HdmiTxSs1::HdmiTx1Ptr.

void XV_HdmiTxSS1_SetHdmiTmdsMode | ( | XV_HdmiTxSs1 * | InstancePtr | ) |

This function sets the core into HDMI mode.

Parameters

  InstancePtr | is a pointer to the HDMI TX Subsystem

References XV_HdmiTxSs1::HdmiTx1Ptr.

Referenced by XV_HdmiTxSs1_SubcoreInitHdmiTx1().

void XV_HdmiTxSS1_SetHpdTolerance | ( | XV_HdmiTxSs1 * | InstancePtr,
|  | XV_HdmiTxSs1_HpdToleranceType | Type,
|  | u16 | ToleranceVal
| ) |  |

This function will Configure Timegrid based on the tolerance value for HPD and Toggle event.

Parameters

  InstancePtr | is a pointer to the XV_HdmiTxSs1 core instance.
  Type | is the tolerance type.
  ToleranceVal | is the tolerance value to be applied.

Returns
  void.

Note
  None.

References XV_HdmiTxSs1_Config::BaseAddress, and XV_HdmiTxSs1::Config.

void XV_HdmiTxSs1_SetIntACR | ( | XV_HdmiTxSs1 * | InstancePtr | ) |

This function Sets use the internal ACR Module.

Parameters

  InstancePtr | pointer to XV_HdmiTxSs1 instance
  Audio | Sample Frequency in Hz

Returns
  None.

Note
  None.

References XV_HdmiTxSs1::HdmiTx1Ptr.

int XV_HdmiTxSs1_SetLogCallback | ( | XV_HdmiTxSs1 * | InstancePtr,
|  | u64 * | CallbackFunc,
|  | void * | CallbackRef
| ) |  |

This function installs an asynchronous callback function for the LogWrite API:

Parameters

  InstancePtr | is a pointer to the HDMI TX Subsystem instance.
  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 callback function is not installed successfully.

References XV_HdmiTxSs1::LogWriteCallback, and XV_HdmiTxSs1::LogWriteRef.

void XV_HdmiTxSs1_SetPpc | ( | XV_HdmiTxSs1 * | InstancePtr,
|  | u8 | Id,
|  | u8 | Ppc
| ) |  |

This function will set PPC specified by user.

Parameters

  InstancePtr | is a pointer to the XV_HdmiTxSs1 core instance.
  Id | is the XV_HdmiTxSs1 ID to operate on.
  Ppc | is the PPC to be set.

Returns
  None.

Note
  None.

References XV_HdmiTxSs1::Config, and XV_HdmiTxSs1_Config::Ppc.

void XV_HdmiTxSs1_SetSampleFrequency | ( | XV_HdmiTxSs1 * | InstancePtr,
|  | XHdmiC_SamplingFrequencyVal | AudSampleFreqVal
| ) |  |

This function Sets the audio sampling frequency.

Parameters

  InstancePtr | pointer to XV_HdmiTxSs1 instance
  Audio | Sample Frequency in Hz

Returns
  None.

Note
  None.

References XV_HdmiTxSs1::HdmiTx1Ptr, XV_HDMITXSS1_LOG_EVT_AUDIOINVALIDSAMPRATE, and XV_HdmiTxSs1_LogWrite().

void XV_HdmiTxSs1_SetSamplingRate | ( | XV_HdmiTxSs1 * | InstancePtr,
|  | u8 | SamplingRate
| ) |  |

This function Sets the HDMI TX SS video Identification code.

Parameters

  InstancePtr | pointer to XV_HdmiTxSs1 instance
  SamplingRate | Value

Returns
  None.

Note
  None.

References XV_HdmiTxSs1::SamplingRate.

void XV_HdmiTxSs1_SetScrambler | ( | XV_HdmiTxSs1 * | InstancePtr,
|  | u8 | Enable
| ) |  |

This function enables / disables the TX scrambler.

Parameters

  InstancePtr | is a pointer to the Subsystem instance to be worked on.
  Enable | TRUE:Enable scrambler FALSE:Disable scrambler

Returns
  None.

Note
  The scrambler setting will revert to the default behavior during the next stream configuration (scrambler is enabled for HDMI 2.0 video and disabled when the video is of HDMI 1.4 or lower)

References XV_HdmiTxSs1::HdmiTx1Ptr, and XV_HdmiTxSs1_SetVideoStreamScramblingFlag().

u32 XV_HdmiTxSs1_SetStream | ( | XV_HdmiTxSs1 * | InstancePtr,
|  | XVidC_VideoTiming | VideoTiming,
|  | XVidC_FrameRate | FrameRate,
|  | XVidC_ColorFormat | ColorFormat,
|  | XVidC_ColorDepth | Bpc,
|  | u8 | IsDSCompressed,
|  | XVidC_3DInfo * | Info3D,
|  | u64 * | TmdsClock
| ) |  |

This function set HDMI TX susbsystem stream parameters.

It returns the calculated TMDS clock value.

Parameters

  InstancePtr | - Pointer to HDMI 2.1 Tx Subsystem. VideoTiming - Video Timing of the video to be displayed. FrameRate - Frame rate to set ColorFormat - Color format of stream (RGB, YUV444/422/420) Bpc - Bit per component IsDSCompressed - Flag to indicate DSCompression Info3D - 3D Info TmdsClock - Address where the calculated TMDS Clock value is stored.

Returns
  XST_SUCCESS - In case TMDS clock is calculated correctly XST_INVALID_PARAM - In case invalid parameters

Note
  None.

References XV_HdmiTxSs1::Config, XV_HdmiTxSs1::HdmiTx1Ptr, XV_HdmiTxSs1_Config::Ppc, XV_HdmiTxSs1_Config::VideoInterface, XV_HDMITXSS1_LOG_EVT_SETSTREAM, and XV_HdmiTxSs1_LogWrite().

void XV_HdmiTxSs1_SetTmdsClockRatio | ( | XV_HdmiTxSs1 * | InstancePtr,
|  | u8 | Ratio
| ) |  |

This function Sets the HDMI TX SS TMDS Cock Ratio.

Parameters

  InstancePtr | pointer to XV_HdmiTxSs1 instance
  Ratio | 0 - 1/10, 1 - 1/40

Returns
  None.

Note
  None.

References XV_HdmiTxSs1::HdmiTx1Ptr.

void XV_HdmiTxSs1_SetVideoIDCode | ( | XV_HdmiTxSs1 * | InstancePtr,
|  | u8 | Vic
| ) |  |

This function Sets the HDMI TX SS video Identification code.

Parameters

  InstancePtr | pointer to XV_HdmiTxSs1 instance
  InstancePtr | VIC Flag Value

Returns
  None.

Note
  None.

References XV_HdmiTxSs1::HdmiTx1Ptr.

void XV_HdmiTxSs1_SetVideoStream | ( | XV_HdmiTxSs1 * | InstancePtr,
|  | XVidC_VideoStream | VidStream
| ) |  |

This function Sets the HDMI TX SS video stream.

Parameters

  InstancePtr | pointer to XV_HdmiTxSs1 instance
  @return | XVidC_VideoStream pointer

Note
  None.

References XV_HdmiTxSs1::HdmiTx1Ptr.

void XV_HdmiTxSs1_SetVideoStreamScramblingFlag | ( | XV_HdmiTxSs1 * | InstancePtr,
|  | u8 | IsScrambled
| ) |  |

This function Sets the HDMI TX SS video stream type.

Parameters

  InstancePtr | pointer to XV_HdmiTxSs1 instance
  IsScrambled | 1:IsScrambled 0: not Scrambled

Returns
  None.

Note
  None.

References XV_HdmiTxSs1::HdmiTx1Ptr.

Referenced by XV_HdmiTxSs1_SetScrambler().

void XV_HdmiTxSs1_SetVideoStreamScramblingOverrideFlag | ( | XV_HdmiTxSs1 * | InstancePtr,
|  | u8 | OverrideScramble
| ) |  |

This function Sets the HDMI TX SS video stream scrambling behaviour.

Setting OverrideScramble to true will force enabling/disabling scrambling function based on the value of IsScrambled flag.

Parameters

  InstancePtr | pointer to XV_HdmiTxSs1 instance
  OverrideScramble | 0: Scrambling is always enabled for HDMI 2.0 resolutions and is enabled /or disabled for HDMI 1.4 resolutions based on IsScrambled value 1: Enable scrambling if IsScrambled is TRUE and disable scrambling if IsScrambled is FALSE

Returns
  None.

Note
  None.

References XV_HdmiTxSs1::HdmiTx1Ptr.

void XV_HdmiTxSs1_SetVrrIf | ( | XV_HdmiTxSs1 * | InstancePtr,
|  | XV_HdmiC_VrrInfoFrame * | VrrIF
| ) |  |

This function allows setting VRR meta in core.

Parameters

  InstancePtr | is a pointer to the XV_HdmiTxSs1 instance.
  VrrIF | is a pointer to the XV_HdmiC_VrrInfoFrame structure

Returns
  None.

Note
  None.

References XV_HdmiTxSs1::HdmiTx1Ptr.

Referenced by Exdes_ProcessVTEMPacket(), and main().

void XV_HdmiTxSS1_SetVrrMode | ( | XV_HdmiTxSs1 * | InstancePtr,
|  | u8 | mode,
|  | u8 | VrrEn,
|  | u8 | FvaFactor,
|  | u8 | CnmvrrEn
| ) |  |

This function configures Video Timing Controller with Adaptive-Sync mode.

Parameters

  InstancePtr | is a pointer to the XV_HdmiTxSs1 instance.
  mode | is vtc mode. 0: Fixed stretch, 1: Auto
  VrrEn | is to enable/disable VRR
  FvaFactor | is to set FVA factor value
  CnmvrrEn | is to enable/disable Cnmvrr

Returns
  None.

Note
  Should be called before XV_HdmiTxSs1_SetStream atleast once for VRR use case.

void XV_HdmiTxSS1_SetVrrVfpStretch | ( | XV_HdmiTxSs1 * | InstancePtr,
|  | u16 | StretchValue
| ) |  |

This function configures vertical front porch stretch limit in Video Timing Controller.

Parameters

  InstancePtr | is a pointer to the XV_HdmiTxSs1 instance.
  StretchValue | is vertical front porch stretch value.

Returns
  None.

Note
  Call after XV_HdmiTxSs1_SetStream and VRR mode is already set through XV_HdmiTxSS1_SetVrrMode.

References XV_HdmiTxSs1::VtcPtr, and XV_HdmiTxSs1_GetVideoStream().

Referenced by Exdes_ProcessVRRTimingChange(), and main().

void XV_HdmiTxSs1_ShowEdid | ( | XV_HdmiTxSs1 * | InstancePtr | ) |

This function shows the HDMI source edid.

Returns
  None.

Note
  None.

References XV_HdmiTxSs1::IsStreamConnected, and XV_HdmiTxSs1_ReadEdidSegment().

void XV_HdmiTxSs1_ShowEdid_extension | ( | XV_HdmiTxSs1 * | InstancePtr,
|  | XV_VidC_EdidCntrlParam * | EdidCtrlParam
| ) |  |

This function shows the HDMI source edid.

Returns
  None.

Note
  None.

References XV_HdmiTxSs1::IsStreamConnected, and XV_HdmiTxSs1_ReadEdidSegment().

void XV_HdmiTxSs1_Start | ( | XV_HdmiTxSs1 * | InstancePtr | ) |

This function starts the HDMI TX subsystem including all sub-cores that are included in the processing pipeline for a given use-case.

Video pipe is started from back to front

Parameters

  InstancePtr | is a pointer to the Subsystem instance to be worked on.

Returns
  None

Note
  Cores are started only if the corresponding start flag in the scratch pad memory is set. This allows to selectively start only those cores included in the processing chain

References XV_HdmiTxSs1::HdmiTx1Ptr, XV_HDMITXSS1_LOG_EVT_START, and XV_HdmiTxSs1_LogWrite().

Referenced by main().

void XV_HdmiTxSS1_StartFRLStream | ( | XV_HdmiTxSs1 * | InstancePtr | ) |

This function will Start the FRL stream.

Parameters

  InstancePtr | is a pointer to the XV_HdmiTxSs1 core instance.

Returns
  void.

Note
  None.

References XV_HdmiTxSs1::AudioEnabled, XV_HdmiTxSs1::AudioMute, XV_HdmiTxSs1::HdmiTx1Ptr, XV_HdmiTxSs1::IsStreamUp, XV_HdmiTxSs1::SamplingRate, XV_HdmiTxSs1::StreamUpCallback, XV_HdmiTxSs1::StreamUpRef, XV_HdmiTxSs1::VtcPtr, XV_HDMITXSS1_LOG_EVT_STREAMUP, XV_HdmiTxSs1_LogWrite(), XV_HdmiTxSs1_SYSRST(), XV_HdmiTxSs1_TXCore_LRST(), XV_HdmiTxSs1_TXCore_VRST(), and XV_HdmiTxSs1_VRST().

void XV_HdmiTxSs1_Stop | ( | XV_HdmiTxSs1 * | InstancePtr | ) |

This function stops the HDMI TX subsystem including all sub-cores Stop the video pipe starting from front to back.

Parameters

  InstancePtr | is a pointer to the Subsystem instance to be worked on.

Returns
  None

References XV_HdmiTxSs1::HdmiTx1Ptr, XV_HdmiTxSs1::VtcPtr, XV_HDMITXSS1_LOG_EVT_STOP, and XV_HdmiTxSs1_LogWrite().

void XV_HdmiTxSS1_StopFRLStream | ( | XV_HdmiTxSs1 * | InstancePtr | ) |

This function will Stop the FRL stream.

Parameters

  InstancePtr | is a pointer to the XV_HdmiTxSs1 core instance.

Returns
  void.

Note
  None.

References XV_HdmiTxSs1::HdmiTx1Ptr, XV_HdmiTxSs1::IsStreamUp, XV_HdmiTxSs1::StreamDownCallback, XV_HdmiTxSs1::StreamDownRef, XV_HDMITXSS1_LOG_EVT_STREAMDOWN, XV_HdmiTxSs1_LogWrite(), XV_HdmiTxSs1_SYSRST(), XV_HdmiTxSs1_TXCore_LRST(), XV_HdmiTxSs1_TXCore_VRST(), and XV_HdmiTxSs1_VRST().

void XV_HdmiTxSs1_StreamStart | ( | XV_HdmiTxSs1 * | InstancePtr | ) |

This function starts the HDMI TX stream.

Returns
  None.

Note
  None.

References XV_HdmiTxSs1::HdmiTx1Ptr, XV_HDMITXSS1_LOG_EVT_STREAMSTART, and XV_HdmiTxSs1_LogWrite().

void XV_HdmiTxSs1_SYSRST | ( | XV_HdmiTxSs1 * | InstancePtr,
|  | u8 | Reset
| ) |  |

This function asserts or releases the system reset of other blocks within the subsystem.

Parameters

  InstancePtr | is a pointer to the Subsystem instance to be worked on.

Returns
  None

References XV_HdmiTxSs1::HdmiTx1Ptr.

Referenced by XV_HdmiTxSs1_RefClockChangeInit(), XV_HdmiTxSs1_Reset(), XV_HdmiTxSS1_StartFRLStream(), and XV_HdmiTxSS1_StopFRLStream().

void XV_HdmiTxSs1_TXCore_LRST | ( | XV_HdmiTxSs1 * | InstancePtr,
|  | u8 | Reset
| ) |  |

This function asserts or releases the Internal Link reset of the HDMI subcore within the subsystem.

Parameters

  InstancePtr | is a pointer to the Subsystem instance to be worked on.

Returns
  None

References XV_HdmiTxSs1::HdmiTx1Ptr.

Referenced by XV_HdmiTxSs1_RefClockChangeInit(), XV_HdmiTxSs1_Reset(), XV_HdmiTxSS1_StartFRLStream(), and XV_HdmiTxSS1_StopFRLStream().

void XV_HdmiTxSs1_TXCore_VRST | ( | XV_HdmiTxSs1 * | InstancePtr,
|  | u8 | Reset
| ) |  |

This function asserts or releases the Internal Video reset of the HDMI subcore within the subsystem.

Parameters

  InstancePtr | is a pointer to the Subsystem instance to be worked on.

Returns
  None

References XV_HdmiTxSs1::HdmiTx1Ptr.

Referenced by XV_HdmiTxSs1_RefClockChangeInit(), XV_HdmiTxSs1_Reset(), XV_HdmiTxSS1_StartFRLStream(), and XV_HdmiTxSS1_StopFRLStream().

void XV_HdmiTxSs1_VrrControl | ( | XV_HdmiTxSs1 * | InstancePtr,
|  | u8 | Enable
| ) |  |

This function allows enabling/disabling of VRR in HDMI Tx.

Parameters

  Enable | 0: disable VRR 1: enable VRR

Returns
  None.

Note
  None.

References XV_HdmiTxSs1::HdmiTx1Ptr.

Referenced by Exdes_ProcessVTEMPacket(), and main().

void XV_HdmiTxSs1_VRST | ( | XV_HdmiTxSs1 * | InstancePtr,
|  | u8 | Reset
| ) |  |

This function asserts or releases the video reset of other blocks within the subsystem.

Parameters

  InstancePtr | is a pointer to the Subsystem instance to be worked on.

Returns
  None

References XV_HdmiTxSs1::HdmiTx1Ptr.

Referenced by XV_HdmiTxSs1_RefClockChangeInit(), XV_HdmiTxSs1_Reset(), XV_HdmiTxSS1_StartFRLStream(), and XV_HdmiTxSS1_StopFRLStream().

## Variable Documentation

XV_HdmiTxSs1_SubCores XV_HdmiTxSs1_SubCoreRepo[XPAR_XV_HDMITXSS1_NUM_INSTANCES]

Define Driver instance of all sub-core included in the design.