v_hdmitxss
Vitis Drivers API Documentation
|
This is main header file of the Xilinx HDMI TX Subsystem driver.
HDMI Transmitter Subsystem Overview
HDMI TX Subsystem is a collection of IP cores bounded together by software to provide an abstract view of the processing pipe. It hides all the complexities of programming the underlying cores from end user.
Subsystem Driver Features
HDMI Subsystem supports following features
MODIFICATION HISTORY:
Ver Who Date Changes
1.00 10/07/15 Initial release. 1.1 yh 15/01/16 Add 3D Support 1.2 yh 20/01/16 Added remapper support 1.3 yh 01/02/16 Added set_ppc api 1.4 MG 03/02/16 Added HDCP support 1.5 MG 09/03/16 Removed reduced blanking support and added XV_HdmiTxSS_SetHdmiMode and XV_HdmiTxSS_SetDviMode 1.6 MH 03/15/16 Added HDCP connect event 1.7 YH 17/03/16 Remove xintc.h as it is processor dependent 1.8 YH 18/03/16 Add XV_HdmiTxSs_SendGenericAuxInfoframe function 1.9 MH 23/06/16 Added HDCP repeater support. 1.10 YH 25/07/16 Used UINTPTR instead of u32 for BaseAddress 1.11 MH 08/08/16 Updates to optimize out HDCP when excluded. 1.12 YH 18/08/16 Combine Report function into one ReportInfo Add Event Log 1.13 YH 27/08/16 Remove unused function XV_HdmiTxSs_SetUserTimerHandler 1.14 YH 14/11/16 Added API to enable/disable YUV420/Pixel Repeat Mode for video bridge 1.15 YH 14/11/16 Remove Remapper APIs as remapper feature is moved to video bridge and controlled by HDMI core 1.16 mmo 03/01/17 Add compiler option(XV_HDMITXSS_LOG_ENABLE) to enable Log Re-order the enumation and data structure 1.17 mmo 02/03/17 Added XV_HdmiTxSs_ReadEdidSegment API for Multiple Segment Support and HDMI Compliance Test 4.0 YH 19/07/17 Added Video Masking APIs MH 09/08/17 Added function XV_HdmiTxSs_HdcpSetCapability 22/08/17 Added function XV_HdmiTxSs_SetAudioFormat EB 10/10/17 Added function XV_HdmiTxSs_GetAudioFormat 5.0 YH 16/01/18 Added dedicated reset for each clock domain Added bridge unlock interrupt Added PIO_OUT to set GCP_AVMUTE EB 17/01/18 Added InfoFrame data structure to XV_HdmiTxSs Added XV_HDMITXSS_LOG_EVT_PIX_REPEAT_ERR log event Added functions XV_HdmiTxSs_GetAuxiliary, XV_HdmiTxSs_GetAviInfoframe, XV_HdmiTxSs_GetAudioInfoframe, XV_HdmiTxSs_GetVSIF Updated the return type of the function XV_HdmiTxSs_SendGenericAuxInfoframe EB 23/01/18 Added function XV_HdmiTxSs_SetVideoStreamHdmi14ScramblingOverrideFlag 25/01/18 Added function XV_HdmiTxSs_SetScrambler mmo 08/02/18 Added LowResolutionSupp & YUV420Supp in the XV_HdmiTxSs_Config SM 28/02/18 Added XV_HdmiTxSS_SetAppVersion API and AppMajVer and AppMinVer version number in XV_HdmiTxSs structure MMO 11/08/18 Added Bridge Overflow and Bridge Underflow Interrupt
Data Structures | |
struct | XV_HdmiTxSs_Log |
This typedef contains the logging mechanism for debug. More... | |
struct | XV_HdmiTxSs_SubCore |
Sub-Core Configuration Table. More... | |
struct | XV_HdmiTxSs_Config |
Video Processing Subsystem configuration structure. More... | |
struct | XV_HdmiTxSs |
The XVprocss driver instance data. More... | |
Macros | |
#define | HDMITXSS_H |
< prevent circular inclusions by using protection macros More... | |
Typedefs | |
typedef void(* | XV_HdmiTxSs_Callback )(void *CallbackRef) |
Callback type for interrupt. More... | |
Functions | |
XV_HdmiTxSs_Config * | XV_HdmiTxSs_LookupConfig (u32 DeviceId) |
This function looks for the device configuration based on the unique device ID. More... | |
void | XV_HdmiTxSS_SetHdmiMode (XV_HdmiTxSs *InstancePtr) |
This function sets the core into HDMI mode. More... | |
void | XV_HdmiTxSS_SetDviMode (XV_HdmiTxSs *InstancePtr) |
This function sets the core into DVI mode. More... | |
void | XV_HdmiTxSS_HdmiTxIntrHandler (XV_HdmiTxSs *InstancePtr) |
This function calls the interrupt handler for HDMI TX. More... | |
int | XV_HdmiTxSs_CfgInitialize (XV_HdmiTxSs *InstancePtr, XV_HdmiTxSs_Config *CfgPtr, UINTPTR EffectiveAddr) |
This function initializes the video subsystem and included sub-cores. More... | |
void | XV_HdmiTxSS_SetAppVersion (XV_HdmiTxSs *InstancePtr, u8 maj, u8 min) |
This function will set the major and minor application version in TXSs struct. More... | |
void | XV_HdmiTxSs_Start (XV_HdmiTxSs *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_HdmiTxSs_Stop (XV_HdmiTxSs *InstancePtr) |
This function stops the HDMI TX subsystem including all sub-cores Stop the video pipe starting from front to back. More... | |
void | XV_HdmiTxSs_Reset (XV_HdmiTxSs *InstancePtr) |
This function resets the video subsystem sub-cores. More... | |
void | XV_HdmiTxSs_TXCore_VRST (XV_HdmiTxSs *InstancePtr, u8 Reset) |
This function asserts or releases the Internal Video reset of the HDMI subcore within the subsystem. More... | |
void | XV_HdmiTxSs_TXCore_LRST (XV_HdmiTxSs *InstancePtr, u8 Reset) |
This function asserts or releases the Internal Link reset of the HDMI subcore within the subsystem. More... | |
void | XV_HdmiTxSs_VRST (XV_HdmiTxSs *InstancePtr, u8 Reset) |
This function asserts or releases the video reset of other blocks within the subsystem. More... | |
void | XV_HdmiTxSs_SYSRST (XV_HdmiTxSs *InstancePtr, u8 Reset) |
This function asserts or releases the system reset of other blocks within the subsystem. More... | |
void | XV_HdmiTxSs_SetGcpAvmuteBit (XV_HdmiTxSs *InstancePtr) |
This function sets the HDMI TX AUX GCP register AVMUTE bit. More... | |
void | XV_HdmiTxSs_ClearGcpAvmuteBit (XV_HdmiTxSs *InstancePtr) |
This function clears the HDMI TX AUX GCP register AVMUTE bit. More... | |
void | XV_HdmiTxSs_SetGcpClearAvmuteBit (XV_HdmiTxSs *InstancePtr) |
This function sets the HDMI TX AUX GCP register CLEAR_AVMUTE bit. More... | |
void | XV_HdmiTxSs_ClearGcpClearAvmuteBit (XV_HdmiTxSs *InstancePtr) |
This function clears the HDMI TX AUX GCP register CLEAR_AVMUTE bit. More... | |
int | XV_HdmiTxSs_SetCallback (XV_HdmiTxSs *InstancePtr, XV_HdmiTxSs_HandlerType HandlerType, void *CallbackFuncPtr, void *CallbackRef) |
This function installs an asynchronous callback function for the given HandlerType: More... | |
int | XV_HdmiTxSs_ReadEdid (XV_HdmiTxSs *InstancePtr, u8 *BufferPtr) |
This function reads the HDMI Sink EDID. More... | |
int | XV_HdmiTxSs_ReadEdidSegment (XV_HdmiTxSs *InstancePtr, u8 *Buffer, u8 segment) |
This function reads one block from the HDMI Sink EDID. More... | |
void | XV_HdmiTxSs_ShowEdid (XV_HdmiTxSs *InstancePtr) |
This function shows the HDMI source edid. More... | |
void | XV_HdmiTxSs_SetScrambler (XV_HdmiTxSs *InstancePtr, u8 Enable) |
This function enables / disables the TX scrambler. More... | |
void | XV_HdmiTxSs_StreamStart (XV_HdmiTxSs *InstancePtr) |
This function starts the HDMI TX stream. More... | |
void | XV_HdmiTxSs_SendAuxInfoframe (XV_HdmiTxSs *InstancePtr, void *AuxPtr) |
This function sends audio info frames. More... | |
u32 | XV_HdmiTxSs_SendGenericAuxInfoframe (XV_HdmiTxSs *InstancePtr, void *AuxPtr) |
This function sends generic info frames. More... | |
void | XV_HdmiTxSs_SetAudioChannels (XV_HdmiTxSs *InstancePtr, u8 AudioChannels) |
This function Sets the HDMI TX SS number of active audio channels. More... | |
void | XV_HdmiTxSs_AudioMute (XV_HdmiTxSs *InstancePtr, u8 Enable) |
This function set HDMI TX audio parameters. More... | |
void | XV_HdmiTxSs_SetAudioFormat (XV_HdmiTxSs *InstancePtr, XV_HdmiTx_AudioFormatType format) |
This function Sets the HDMI TX SS Audio Format. More... | |
XV_HdmiTx_AudioFormatType | XV_HdmiTxSs_GetAudioFormat (XV_HdmiTxSs *InstancePtr) |
This function gets the active audio format. More... | |
XHdmiC_Aux * | XV_HdmiTxSs_GetAuxiliary (XV_HdmiTxSs *InstancePtr) |
This function returns the pointer to HDMI TX SS Aux structure. More... | |
XHdmiC_AVI_InfoFrame * | XV_HdmiTxSs_GetAviInfoframe (XV_HdmiTxSs *InstancePtr) |
This function returns the pointer to HDMI TX SS AVI InfoFrame structure. More... | |
XHdmiC_AudioInfoFrame * | XV_HdmiTxSs_GetAudioInfoframe (XV_HdmiTxSs *InstancePtr) |
This function returns the pointer to HDMI TX SS Audio InfoFrame structure. More... | |
XHdmiC_VSIF * | XV_HdmiTxSs_GetVSIF (XV_HdmiTxSs *InstancePtr) |
This function returns the pointer to HDMI TX SS Vendor Specific InfoFrame structure. More... | |
u32 | XV_HdmiTxSs_SetStream (XV_HdmiTxSs *InstancePtr, XVidC_VideoMode VideoMode, XVidC_ColorFormat ColorFormat, XVidC_ColorDepth Bpc, XVidC_3DInfo *Info3D) |
This function set HDMI TX susbsystem stream parameters. More... | |
XVidC_VideoStream * | XV_HdmiTxSs_GetVideoStream (XV_HdmiTxSs *InstancePtr) |
This function returns the pointer to HDMI TX SS video stream. More... | |
void | XV_HdmiTxSs_SetVideoStream (XV_HdmiTxSs *InstancePtr, XVidC_VideoStream VidStream) |
This function Sets the HDMI TX SS video stream. More... | |
void | XV_HdmiTxSs_SetSamplingRate (XV_HdmiTxSs *InstancePtr, u8 SamplingRate) |
This function Sets the HDMI TX SS video Identification code. More... | |
void | XV_HdmiTxSs_SetVideoIDCode (XV_HdmiTxSs *InstancePtr, u8 Vic) |
This function Sets the HDMI TX SS video Identification code. More... | |
void | XV_HdmiTxSs_SetVideoStreamType (XV_HdmiTxSs *InstancePtr, u8 StreamType) |
This function Sets the HDMI TX SS video stream type. More... | |
void | XV_HdmiTxSs_SetVideoStreamScramblingFlag (XV_HdmiTxSs *InstancePtr, u8 IsScrambled) |
This function Sets the HDMI TX SS video stream type. More... | |
void | XV_HdmiTxSs_SetVideoStreamScramblingOverrideFlag (XV_HdmiTxSs *InstancePtr, u8 OverrideScramble) |
This function Sets the HDMI TX SS video stream scrambling behaviour. More... | |
void | XV_HdmiTxSs_SetTmdsClockRatio (XV_HdmiTxSs *InstancePtr, u8 Ratio) |
This function Sets the HDMI TX SS TMDS Cock Ratio. More... | |
u32 | XV_HdmiTxSs_GetTmdsClockFreqHz (XV_HdmiTxSs *InstancePtr) |
This function Sets the HDMI TX SS video Identification code. More... | |
int | XV_HdmiTxSs_DetectHdmi20 (XV_HdmiTxSs *InstancePtr) |
This function detects connected sink is a HDMI 2.0/HDMI 1.4 sink device. More... | |
void | XV_HdmiTxSs_RefClockChangeInit (XV_HdmiTxSs *InstancePtr) |
This function is called when HDMI TX SS TMDS clock changes. More... | |
void | XV_HdmiTxSs_ReportInfo (XV_HdmiTxSs *InstancePtr) |
This function prints the HDMI TX SS subcore versions. More... | |
int | XV_HdmiTxSs_IsStreamUp (XV_HdmiTxSs *InstancePtr) |
This function checks if the video stream is up. More... | |
int | XV_HdmiTxSs_IsStreamConnected (XV_HdmiTxSs *InstancePtr) |
This function checks if the interface is connected. More... | |
int | XV_HdmiTxSs_IsStreamToggled (XV_HdmiTxSs *InstancePtr) |
This function checks if the interface has toggled. More... | |
u8 | XV_HdmiTxSs_IsSinkHdcp14Capable (XV_HdmiTxSs *InstancePtr) |
This function determines if the connected HDMI sink is HDCP 1.4 capable. More... | |
u8 | XV_HdmiTxSs_IsSinkHdcp22Capable (XV_HdmiTxSs *InstancePtr) |
This function determines if the connected HDMI sink is HDCP 2.2 capable. More... | |
void | XV_HdmiTxSs_SetDefaultPpc (XV_HdmiTxSs *InstancePtr, u8 Id) |
This function will set the default in HDF. More... | |
void | XV_HdmiTxSs_SetPpc (XV_HdmiTxSs *InstancePtr, u8 Id, u8 Ppc) |
This function will set PPC specified by user. More... | |
void | XV_HdmiTxSs_LogReset (XV_HdmiTxSs *InstancePtr) |
This function will reset the driver's logging mechanism. More... | |
void | XV_HdmiTxSs_LogWrite (XV_HdmiTxSs *InstancePtr, XV_HdmiTxSs_LogEvent Evt, u8 Data) |
This function will insert an event in the driver's logginc mechanism. More... | |
u16 | XV_HdmiTxSs_LogRead (XV_HdmiTxSs *InstancePtr) |
This function will read the last event from the log. More... | |
void | XV_HdmiTxSs_LogDisplay (XV_HdmiTxSs *InstancePtr) |
This function will print the entire log. More... | |
void | XV_HdmiTxSS_MaskEnable (XV_HdmiTxSs *InstancePtr) |
This function will enable the video masking. More... | |
void | XV_HdmiTxSS_MaskDisable (XV_HdmiTxSs *InstancePtr) |
This function will disable the video masking. More... | |
void | XV_HdmiTxSS_MaskNoise (XV_HdmiTxSs *InstancePtr, u8 Enable) |
This function will enable or disable the noise in the video mask. More... | |
void | XV_HdmiTxSS_MaskSetRed (XV_HdmiTxSs *InstancePtr, u16 Value) |
This function will set the red component in the video mask. More... | |
void | XV_HdmiTxSS_MaskSetGreen (XV_HdmiTxSs *InstancePtr, u16 Value) |
This function will set the green component in the video mask. More... | |
void | XV_HdmiTxSS_MaskSetBlue (XV_HdmiTxSs *InstancePtr, u16 Value) |
This function will set the blue component in the video mask. More... | |
void | XV_HdmiTxSS_SetBackgroundColor (XV_HdmiTxSs *InstancePtr, XVMaskColorId ColorId) |
This function configures the background color for Video Masking Feature. More... | |
u8 | XV_HdmiTxSS_IsMasked (XV_HdmiTxSs *InstancePtr) |
This function will get the current video mask mode. More... | |
#define HDMITXSS_H |
< prevent circular inclusions by using protection macros
typedef void(* XV_HdmiTxSs_Callback)(void *CallbackRef) |
Callback type for interrupt.
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. |
These constants specify different types of handler and used to differentiate interrupt requests from peripheral.
enum XV_HdmiTxSs_LogEvent |
void XV_HdmiTxSs_AudioMute | ( | XV_HdmiTxSs * | InstancePtr, |
u8 | Enable | ||
) |
This function set HDMI TX audio parameters.
Enable | 0: Unmute the audio 1: Mute the audio. |
References XV_HdmiTxSs::HdmiTxPtr, XV_HDMITXSS_LOG_EVT_AUDIOMUTE, XV_HDMITXSS_LOG_EVT_AUDIOUNMUTE, and XV_HdmiTxSs_LogWrite().
Referenced by XV_HdmiTxSs_SetVideoStreamType().
int XV_HdmiTxSs_CfgInitialize | ( | XV_HdmiTxSs * | InstancePtr, |
XV_HdmiTxSs_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.
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. |
References XV_HdmiTxSs::AppMajVer, XV_HdmiTxSs::AppMinVer, XV_HdmiTxSs::AudioInfoframe, XV_HdmiTxSs::AVIInfoframe, XV_HdmiTxSs_Config::AxiLiteClkFreq, XV_HdmiTxSs_Config::BaseAddress, XV_HdmiTxSs::Config, XV_HdmiTxSs_Config::DeviceId, XV_HdmiTxSs::DrmInfoframe, XV_HdmiTxSs::HdcpProtocol, XV_HdmiTxSs::HdmiTxPtr, XV_HdmiTxSs::IsReady, XV_HdmiTxSs::VSIF, XV_HdmiTxSs::VtcPtr, XV_HDMITXSS_HDCP_BOTH, XV_HDMITXSS_HDCP_NONE, XV_HdmiTxSs_Reset(), XV_HdmiTxSs_SubcoreInitHdmiTx(), and XV_HdmiTxSs_SubcoreInitVtc().
void XV_HdmiTxSs_ClearGcpAvmuteBit | ( | XV_HdmiTxSs * | InstancePtr | ) |
This function clears the HDMI TX AUX GCP register AVMUTE bit.
InstancePtr | is a pointer to the Subsystem instance to be worked on. |
References XV_HdmiTxSs::HdmiTxPtr.
void XV_HdmiTxSs_ClearGcpClearAvmuteBit | ( | XV_HdmiTxSs * | InstancePtr | ) |
This function clears the HDMI TX AUX GCP register CLEAR_AVMUTE bit.
InstancePtr | is a pointer to the Subsystem instance to be worked on. |
References XV_HdmiTxSs::HdmiTxPtr.
int XV_HdmiTxSs_DetectHdmi20 | ( | XV_HdmiTxSs * | InstancePtr | ) |
This function detects connected sink is a HDMI 2.0/HDMI 1.4 sink device.
InstancePtr | is a pointer to the XV_HdmiTxSs core instance. |
References XV_HdmiTxSs::HdmiTxPtr.
XV_HdmiTx_AudioFormatType XV_HdmiTxSs_GetAudioFormat | ( | XV_HdmiTxSs * | InstancePtr | ) |
This function gets the active audio format.
InstancePtr | is a pointer to the XV_HdmiTxSs core instance. |
References XV_HdmiTxSs::HdmiTxPtr.
XHdmiC_AudioInfoFrame* XV_HdmiTxSs_GetAudioInfoframe | ( | XV_HdmiTxSs * | InstancePtr | ) |
This function returns the pointer to HDMI TX SS Audio InfoFrame structure.
InstancePtr | pointer to XV_HdmiTxSs instance |
References XV_HdmiTxSs::AudioInfoframe.
XHdmiC_Aux* XV_HdmiTxSs_GetAuxiliary | ( | XV_HdmiTxSs * | InstancePtr | ) |
This function returns the pointer to HDMI TX SS Aux structure.
InstancePtr | pointer to XV_HdmiTxSs instance |
References XV_HdmiTxSs::HdmiTxPtr.
XHdmiC_AVI_InfoFrame* XV_HdmiTxSs_GetAviInfoframe | ( | XV_HdmiTxSs * | InstancePtr | ) |
This function returns the pointer to HDMI TX SS AVI InfoFrame structure.
InstancePtr | pointer to XV_HdmiTxSs instance |
References XV_HdmiTxSs::AVIInfoframe.
u32 XV_HdmiTxSs_GetTmdsClockFreqHz | ( | XV_HdmiTxSs * | InstancePtr | ) |
This function Sets the HDMI TX SS video Identification code.
InstancePtr | pointer to XV_HdmiTxSs instance |
@return | Stream Data Structure (TMDS Clock) |
References XV_HdmiTxSs::HdmiTxPtr.
XVidC_VideoStream* XV_HdmiTxSs_GetVideoStream | ( | XV_HdmiTxSs * | InstancePtr | ) |
This function returns the pointer to HDMI TX SS video stream.
InstancePtr | pointer to XV_HdmiTxSs instance |
References XV_HdmiTxSs::HdmiTxPtr.
Referenced by XV_HdmiTxSS_SetBackgroundColor().
XHdmiC_VSIF* XV_HdmiTxSs_GetVSIF | ( | XV_HdmiTxSs * | InstancePtr | ) |
This function returns the pointer to HDMI TX SS Vendor Specific InfoFrame structure.
InstancePtr | pointer to XV_HdmiTxSs instance |
References XV_HdmiTxSs::VSIF.
void XV_HdmiTxSS_HdmiTxIntrHandler | ( | XV_HdmiTxSs * | InstancePtr | ) |
This function calls the interrupt handler for HDMI TX.
InstancePtr | is a pointer to the HDMI TX Subsystem |
References XV_HdmiTxSs::HdmiTxPtr.
u8 XV_HdmiTxSS_IsMasked | ( | XV_HdmiTxSs * | InstancePtr | ) |
This function will get the current video mask mode.
InstancePtr | is a pointer to the XV_HdmiTxSs core instance. |
References XV_HdmiTxSs::HdmiTxPtr.
u8 XV_HdmiTxSs_IsSinkHdcp14Capable | ( | XV_HdmiTxSs * | InstancePtr | ) |
This function determines if the connected HDMI sink is HDCP 1.4 capable.
InstancePtr | is a pointer to the XV_HdmiTxSs instance. |
u8 XV_HdmiTxSs_IsSinkHdcp22Capable | ( | XV_HdmiTxSs * | InstancePtr | ) |
This function determines if the connected HDMI sink is HDCP 2.2 capable.
InstancePtr | is a pointer to the XV_HdmiTxSs instance. |
int XV_HdmiTxSs_IsStreamConnected | ( | XV_HdmiTxSs * | InstancePtr | ) |
This function checks if the interface is connected.
None. |
References XV_HdmiTxSs::IsStreamConnected.
int XV_HdmiTxSs_IsStreamToggled | ( | XV_HdmiTxSs * | InstancePtr | ) |
This function checks if the interface has toggled.
None. |
References XV_HdmiTxSs::IsStreamToggled.
int XV_HdmiTxSs_IsStreamUp | ( | XV_HdmiTxSs * | InstancePtr | ) |
This function checks if the video stream is up.
None. |
References XV_HdmiTxSs::IsStreamUp.
void XV_HdmiTxSs_LogDisplay | ( | XV_HdmiTxSs * | InstancePtr | ) |
This function will print the entire log.
InstancePtr | is a pointer to the XV_HdmiTxSs core instance. |
References XV_HDMITXSS_LOG_EVT_AUDIOMUTE, XV_HDMITXSS_LOG_EVT_AUDIOUNMUTE, XV_HDMITXSS_LOG_EVT_BRDG_UNLOCKED, XV_HDMITXSS_LOG_EVT_CONNECT, XV_HDMITXSS_LOG_EVT_DISCONNECT, XV_HDMITXSS_LOG_EVT_HDCP14_AUTHREQ, XV_HDMITXSS_LOG_EVT_HDCP14_INIT, XV_HDMITXSS_LOG_EVT_HDCP22_AUTHREQ, XV_HDMITXSS_LOG_EVT_HDCP22_INIT, XV_HDMITXSS_LOG_EVT_HDCPTIMER_INIT, XV_HDMITXSS_LOG_EVT_HDMITX_INIT, XV_HDMITXSS_LOG_EVT_NONE, XV_HDMITXSS_LOG_EVT_PIX_REPEAT_ERR, XV_HDMITXSS_LOG_EVT_RESET, XV_HDMITXSS_LOG_EVT_SETAUDIOCHANNELS, XV_HDMITXSS_LOG_EVT_SETSTREAM, XV_HDMITXSS_LOG_EVT_START, XV_HDMITXSS_LOG_EVT_STOP, XV_HDMITXSS_LOG_EVT_STREAMDOWN, XV_HDMITXSS_LOG_EVT_STREAMSTART, XV_HDMITXSS_LOG_EVT_STREAMUP, XV_HDMITXSS_LOG_EVT_TOGGLE, XV_HDMITXSS_LOG_EVT_VTC_INIT, XV_HDMITXSS_LOG_EVT_VTC_RES_ERR, and XV_HdmiTxSs_LogRead().
u16 XV_HdmiTxSs_LogRead | ( | XV_HdmiTxSs * | InstancePtr | ) |
This function will read the last event from the log.
InstancePtr | is a pointer to the XV_HdmiTxSs core instance. |
References XV_HdmiTxSs_Log::DataBuffer, XV_HdmiTxSs_Log::HeadIndex, XV_HdmiTxSs::Log, and XV_HdmiTxSs_Log::TailIndex.
Referenced by XV_HdmiTxSs_LogDisplay().
void XV_HdmiTxSs_LogReset | ( | XV_HdmiTxSs * | InstancePtr | ) |
This function will reset the driver's logging mechanism.
InstancePtr | is a pointer to the xv_hdmitxss core instance. |
References XV_HdmiTxSs_Log::HeadIndex, XV_HdmiTxSs::Log, and XV_HdmiTxSs_Log::TailIndex.
void XV_HdmiTxSs_LogWrite | ( | XV_HdmiTxSs * | InstancePtr, |
XV_HdmiTxSs_LogEvent | Evt, | ||
u8 | Data | ||
) |
This function will insert an event in the driver's logginc mechanism.
InstancePtr | is a pointer to the XV_HdmiTxSs core instance. |
Evt | is the event type to log. |
Data | is the associated data for the event. |
References XV_HdmiTxSs_Log::DataBuffer, XV_HdmiTxSs_Log::HeadIndex, XV_HdmiTxSs::Log, XV_HdmiTxSs_Log::TailIndex, and XV_HDMITXSS_LOG_EVT_DUMMY.
Referenced by XV_HdmiTxSs_AudioMute(), XV_HdmiTxSs_Reset(), XV_HdmiTxSs_SetAudioChannels(), XV_HdmiTxSs_SetStream(), XV_HdmiTxSs_Start(), XV_HdmiTxSs_Stop(), XV_HdmiTxSs_StreamStart(), XV_HdmiTxSs_SubcoreInitHdmiTx(), and XV_HdmiTxSs_SubcoreInitVtc().
void XV_HdmiTxSS_MaskDisable | ( | XV_HdmiTxSs * | InstancePtr | ) |
This function will disable the video masking.
InstancePtr | is a pointer to the XV_HdmiTxSs core instance. |
References XV_HdmiTxSs::HdmiTxPtr.
void XV_HdmiTxSS_MaskEnable | ( | XV_HdmiTxSs * | InstancePtr | ) |
This function will enable the video masking.
InstancePtr | is a pointer to the XV_HdmiTxSs core instance. |
References XV_HdmiTxSs::HdmiTxPtr.
Referenced by XV_HdmiTxSS_SetBackgroundColor().
void XV_HdmiTxSS_MaskNoise | ( | XV_HdmiTxSs * | InstancePtr, |
u8 | Enable | ||
) |
This function will enable or disable the noise in the video mask.
InstancePtr | is a pointer to the XV_HdmiTxSs core instance. |
Enable | specifies TRUE/FALSE value to either enable or disable the Noise. |
References XV_HdmiTxSs::HdmiTxPtr.
Referenced by XV_HdmiTxSS_SetBackgroundColor().
void XV_HdmiTxSS_MaskSetBlue | ( | XV_HdmiTxSs * | InstancePtr, |
u16 | Value | ||
) |
This function will set the blue component in the video mask.
InstancePtr | is a pointer to the XV_HdmiTxSs core instance. |
Value | specifies the video mask value set to blue component |
References XV_HdmiTxSs::HdmiTxPtr.
Referenced by XV_HdmiTxSS_SetBackgroundColor().
void XV_HdmiTxSS_MaskSetGreen | ( | XV_HdmiTxSs * | InstancePtr, |
u16 | Value | ||
) |
This function will set the green component in the video mask.
InstancePtr | is a pointer to the XV_HdmiTxSs core instance. |
Value | specifies the video mask value set to green component |
References XV_HdmiTxSs::HdmiTxPtr.
Referenced by XV_HdmiTxSS_SetBackgroundColor().
void XV_HdmiTxSS_MaskSetRed | ( | XV_HdmiTxSs * | InstancePtr, |
u16 | Value | ||
) |
This function will set the red component in the video mask.
InstancePtr | is a pointer to the XV_HdmiTxSs core instance. |
Value | specifies the video mask value set to red component |
References XV_HdmiTxSs::HdmiTxPtr.
Referenced by XV_HdmiTxSS_SetBackgroundColor().
int XV_HdmiTxSs_ReadEdid | ( | XV_HdmiTxSs * | InstancePtr, |
u8 * | Buffer | ||
) |
This function reads the HDMI Sink EDID.
References XV_HdmiTxSs::HdmiTxPtr, and XV_HdmiTxSs::IsStreamConnected.
int XV_HdmiTxSs_ReadEdidSegment | ( | XV_HdmiTxSs * | InstancePtr, |
u8 * | Buffer, | ||
u8 | segment | ||
) |
This function reads one block from the HDMI Sink EDID.
References XV_HdmiTxSs::HdmiTxPtr, and XV_HdmiTxSs::IsStreamConnected.
Referenced by XV_HdmiTxSs_ShowEdid().
void XV_HdmiTxSs_RefClockChangeInit | ( | XV_HdmiTxSs * | InstancePtr | ) |
This function is called when HDMI TX SS TMDS clock changes.
None. |
References XV_HdmiTxSs::HdmiTxPtr, XV_HdmiTxSs_SYSRST(), XV_HdmiTxSs_TXCore_LRST(), XV_HdmiTxSs_TXCore_VRST(), and XV_HdmiTxSs_VRST().
void XV_HdmiTxSs_ReportInfo | ( | XV_HdmiTxSs * | InstancePtr | ) |
This function prints the HDMI TX SS subcore versions.
None. |
void XV_HdmiTxSs_Reset | ( | XV_HdmiTxSs * | InstancePtr | ) |
This function resets the video subsystem sub-cores.
There are 2 reset networks within the subsystem
InstancePtr | is a pointer to the Subsystem instance to be worked on. |
References XV_HDMITXSS_LOG_EVT_RESET, XV_HdmiTxSs_LogWrite(), XV_HdmiTxSs_SYSRST(), XV_HdmiTxSs_TXCore_LRST(), XV_HdmiTxSs_TXCore_VRST(), and XV_HdmiTxSs_VRST().
Referenced by XV_HdmiTxSs_CfgInitialize().
void XV_HdmiTxSs_SendAuxInfoframe | ( | XV_HdmiTxSs * | InstancePtr, |
void * | Aux | ||
) |
This function sends audio info frames.
None. |
References XV_HdmiTxSs::HdmiTxPtr.
u32 XV_HdmiTxSs_SendGenericAuxInfoframe | ( | XV_HdmiTxSs * | InstancePtr, |
void * | Aux | ||
) |
This function sends generic info frames.
None. |
References XV_HdmiTxSs::HdmiTxPtr.
void XV_HdmiTxSS_SetAppVersion | ( | XV_HdmiTxSs * | InstancePtr, |
u8 | maj, | ||
u8 | min | ||
) |
This function will set the major and minor application version in TXSs struct.
InstancePtr | is a pointer to the XV_HdmiTxSs core instance. |
maj | is the major version of the application. |
min | is the minor version of the application. |
References XV_HdmiTxSs::AppMajVer, and XV_HdmiTxSs::AppMinVer.
void XV_HdmiTxSs_SetAudioChannels | ( | XV_HdmiTxSs * | InstancePtr, |
u8 | AudioChannels | ||
) |
This function Sets the HDMI TX SS number of active audio channels.
InstancePtr | pointer to XV_HdmiTxSs instance |
AudioChannels |
References XV_HdmiTxSs::AudioChannels, XV_HdmiTxSs::AudioInfoframe, XV_HdmiTxSs::HdmiTxPtr, XV_HDMITXSS_LOG_EVT_SETAUDIOCHANNELS, and XV_HdmiTxSs_LogWrite().
void XV_HdmiTxSs_SetAudioFormat | ( | XV_HdmiTxSs * | InstancePtr, |
XV_HdmiTx_AudioFormatType | format | ||
) |
This function Sets the HDMI TX SS Audio Format.
InstancePtr | pointer to XV_HdmiTxSs instance |
format | 1:HBR 0:L-PCM |
References XV_HdmiTxSs::HdmiTxPtr.
void XV_HdmiTxSS_SetBackgroundColor | ( | XV_HdmiTxSs * | InstancePtr, |
XVMaskColorId | ColorId | ||
) |
This function configures the background color for Video Masking Feature.
InstancePtr | is a pointer to the core instance to be worked on. |
ColorId | is the background color requested |
References XV_HdmiTxSs::HdmiTxPtr, XV_HdmiTxSs_GetVideoStream(), XV_HdmiTxSS_MaskEnable(), XV_HdmiTxSS_MaskNoise(), XV_HdmiTxSS_MaskSetBlue(), XV_HdmiTxSS_MaskSetGreen(), and XV_HdmiTxSS_MaskSetRed().
int XV_HdmiTxSs_SetCallback | ( | XV_HdmiTxSs * | InstancePtr, |
XV_HdmiTxSs_HandlerType | HandlerType, | ||
void * | CallbackFunc, | ||
void * | CallbackRef | ||
) |
This function installs an asynchronous callback function for the given HandlerType:
HandlerType Callback Function Type ----------------------- --------------------------------------------- (XV_HDMITXSS_HANDLER_CONNECT) HpdCallback (XV_HDMITXSS_HANDLER_VS) VsCallback (XV_HDMITXSS_HANDLER_STREAM_DOWN) StreamDownCallback (XV_HDMITXSS_HANDLER_STREAM_UP) StreamUpCallback (XV_HDMITXSS_HANDLER_BRDGOVERFLOW) BrdgOverflowCallback (XV_HDMITXSS_HANDLER_BRDGUNDERFLOW) BrdgUnderflowCallback (XV_HDMITXSS_HANDLER_HDCP_AUTHENTICATED) (XV_HDMITXSS_HANDLER_HDCP_DOWNSTREAM_TOPOLOGY_AVAILABLE) (XV_HDMITXSS_HANDLER_HDCP_UNAUTHENTICATED)
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. |
References XV_HdmiTxSs::BrdgOverflowCallback, XV_HdmiTxSs::BrdgOverflowRef, XV_HdmiTxSs::BrdgUnderflowCallback, XV_HdmiTxSs::BrdgUnderflowRef, XV_HdmiTxSs::BrdgUnlockedCallback, XV_HdmiTxSs::BrdgUnlockedRef, XV_HdmiTxSs::ConnectCallback, XV_HdmiTxSs::ConnectRef, XV_HdmiTxSs::StreamDownCallback, XV_HdmiTxSs::StreamDownRef, XV_HdmiTxSs::StreamUpCallback, XV_HdmiTxSs::StreamUpRef, XV_HdmiTxSs::ToggleCallback, XV_HdmiTxSs::ToggleRef, XV_HdmiTxSs::VsCallback, XV_HdmiTxSs::VsRef, XV_HDMITXSS_HANDLER_BRDGOVERFLOW, XV_HDMITXSS_HANDLER_BRDGUNDERFLOW, XV_HDMITXSS_HANDLER_BRDGUNLOCK, XV_HDMITXSS_HANDLER_CONNECT, XV_HDMITXSS_HANDLER_HDCP_AUTHENTICATED, XV_HDMITXSS_HANDLER_HDCP_DOWNSTREAM_TOPOLOGY_AVAILABLE, XV_HDMITXSS_HANDLER_HDCP_UNAUTHENTICATED, XV_HDMITXSS_HANDLER_STREAM_DOWN, XV_HDMITXSS_HANDLER_STREAM_UP, XV_HDMITXSS_HANDLER_TOGGLE, and XV_HDMITXSS_HANDLER_VS.
void XV_HdmiTxSs_SetDefaultPpc | ( | XV_HdmiTxSs * | InstancePtr, |
u8 | Id | ||
) |
This function will set the default in HDF.
InstancePtr | is a pointer to the XV_HdmiTxSs core instance. |
Id | is the XV_HdmiTxSs ID to operate on. |
References XV_HdmiTxSs::Config, and XV_HdmiTxSs_Config::Ppc.
void XV_HdmiTxSS_SetDviMode | ( | XV_HdmiTxSs * | InstancePtr | ) |
This function sets the core into DVI mode.
InstancePtr | is a pointer to the HDMI TX Subsystem |
References XV_HdmiTxSs::HdmiTxPtr.
Referenced by XV_HdmiTxSs_SetVideoStreamType().
void XV_HdmiTxSs_SetGcpAvmuteBit | ( | XV_HdmiTxSs * | InstancePtr | ) |
This function sets the HDMI TX AUX GCP register AVMUTE bit.
InstancePtr | is a pointer to the Subsystem instance to be worked on. |
References XV_HdmiTxSs::HdmiTxPtr.
void XV_HdmiTxSs_SetGcpClearAvmuteBit | ( | XV_HdmiTxSs * | InstancePtr | ) |
This function sets the HDMI TX AUX GCP register CLEAR_AVMUTE bit.
InstancePtr | is a pointer to the Subsystem instance to be worked on. |
References XV_HdmiTxSs::HdmiTxPtr.
void XV_HdmiTxSS_SetHdmiMode | ( | XV_HdmiTxSs * | InstancePtr | ) |
This function sets the core into HDMI mode.
InstancePtr | is a pointer to the HDMI TX Subsystem |
References XV_HdmiTxSs::HdmiTxPtr.
Referenced by XV_HdmiTxSs_SetVideoStreamType(), and XV_HdmiTxSs_SubcoreInitHdmiTx().
void XV_HdmiTxSs_SetPpc | ( | XV_HdmiTxSs * | InstancePtr, |
u8 | Id, | ||
u8 | Ppc | ||
) |
This function will set PPC specified by user.
InstancePtr | is a pointer to the XV_HdmiTxSs core instance. |
Id | is the XV_HdmiTxSs ID to operate on. |
Ppc | is the PPC to be set. |
References XV_HdmiTxSs::Config, and XV_HdmiTxSs_Config::Ppc.
void XV_HdmiTxSs_SetSamplingRate | ( | XV_HdmiTxSs * | InstancePtr, |
u8 | SamplingRate | ||
) |
This function Sets the HDMI TX SS video Identification code.
InstancePtr | pointer to XV_HdmiTxSs instance |
SamplingRate | Value |
References XV_HdmiTxSs::SamplingRate.
void XV_HdmiTxSs_SetScrambler | ( | XV_HdmiTxSs * | InstancePtr, |
u8 | Enable | ||
) |
This function enables / disables the TX scrambler.
InstancePtr | is a pointer to the Subsystem instance to be worked on. |
Enable | TRUE:Enable scrambler FALSE:Disable scrambler |
References XV_HdmiTxSs::HdmiTxPtr, and XV_HdmiTxSs_SetVideoStreamScramblingFlag().
u32 XV_HdmiTxSs_SetStream | ( | XV_HdmiTxSs * | InstancePtr, |
XVidC_VideoMode | VideoMode, | ||
XVidC_ColorFormat | ColorFormat, | ||
XVidC_ColorDepth | Bpc, | ||
XVidC_3DInfo * | Info3D | ||
) |
This function set HDMI TX susbsystem stream parameters.
None. |
References XV_HdmiTxSs::Config, XV_HdmiTxSs::HdmiTxPtr, XV_HdmiTxSs_Config::Ppc, XV_HDMITXSS_LOG_EVT_SETSTREAM, and XV_HdmiTxSs_LogWrite().
void XV_HdmiTxSs_SetTmdsClockRatio | ( | XV_HdmiTxSs * | InstancePtr, |
u8 | Ratio | ||
) |
This function Sets the HDMI TX SS TMDS Cock Ratio.
InstancePtr | pointer to XV_HdmiTxSs instance |
Ratio | 0 - 1/10, 1 - 1/40 |
References XV_HdmiTxSs::HdmiTxPtr.
void XV_HdmiTxSs_SetVideoIDCode | ( | XV_HdmiTxSs * | InstancePtr, |
u8 | Vic | ||
) |
This function Sets the HDMI TX SS video Identification code.
InstancePtr | pointer to XV_HdmiTxSs instance |
InstancePtr | VIC Flag Value |
References XV_HdmiTxSs::HdmiTxPtr.
void XV_HdmiTxSs_SetVideoStream | ( | XV_HdmiTxSs * | InstancePtr, |
XVidC_VideoStream | VidStream | ||
) |
This function Sets the HDMI TX SS video stream.
InstancePtr | pointer to XV_HdmiTxSs instance |
@return | XVidC_VideoStream pointer |
References XV_HdmiTxSs::HdmiTxPtr.
void XV_HdmiTxSs_SetVideoStreamScramblingFlag | ( | XV_HdmiTxSs * | InstancePtr, |
u8 | IsScrambled | ||
) |
This function Sets the HDMI TX SS video stream type.
InstancePtr | pointer to XV_HdmiTxSs instance |
IsScrambled | 1:IsScrambled 0: not Scrambled |
References XV_HdmiTxSs::HdmiTxPtr.
Referenced by XV_HdmiTxSs_SetScrambler().
void XV_HdmiTxSs_SetVideoStreamScramblingOverrideFlag | ( | XV_HdmiTxSs * | 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.
InstancePtr | pointer to XV_HdmiTxSs 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 |
References XV_HdmiTxSs::HdmiTxPtr.
void XV_HdmiTxSs_SetVideoStreamType | ( | XV_HdmiTxSs * | InstancePtr, |
u8 | StreamType | ||
) |
This function Sets the HDMI TX SS video stream type.
InstancePtr | pointer to XV_HdmiTxSs instance |
InstancePtr | VIC Value 1:HDMI 0:DVI |
References XV_HdmiTxSs_AudioMute(), XV_HdmiTxSS_SetDviMode(), and XV_HdmiTxSS_SetHdmiMode().
void XV_HdmiTxSs_ShowEdid | ( | XV_HdmiTxSs * | InstancePtr | ) |
This function shows the HDMI source edid.
References XV_HdmiTxSs::IsStreamConnected, and XV_HdmiTxSs_ReadEdidSegment().
void XV_HdmiTxSs_Start | ( | XV_HdmiTxSs * | 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
InstancePtr | is a pointer to the Subsystem instance to be worked on. |
References XV_HDMITXSS_LOG_EVT_START, and XV_HdmiTxSs_LogWrite().
void XV_HdmiTxSs_Stop | ( | XV_HdmiTxSs * | InstancePtr | ) |
This function stops the HDMI TX subsystem including all sub-cores Stop the video pipe starting from front to back.
InstancePtr | is a pointer to the Subsystem instance to be worked on. |
References XV_HdmiTxSs::VtcPtr, XV_HDMITXSS_LOG_EVT_STOP, and XV_HdmiTxSs_LogWrite().
void XV_HdmiTxSs_StreamStart | ( | XV_HdmiTxSs * | InstancePtr | ) |
This function starts the HDMI TX stream.
References XV_HdmiTxSs::HdmiTxPtr, XV_HDMITXSS_LOG_EVT_STREAMSTART, and XV_HdmiTxSs_LogWrite().
void XV_HdmiTxSs_SYSRST | ( | XV_HdmiTxSs * | InstancePtr, |
u8 | Reset | ||
) |
This function asserts or releases the system reset of other blocks within the subsystem.
InstancePtr | is a pointer to the Subsystem instance to be worked on. |
References XV_HdmiTxSs::HdmiTxPtr.
Referenced by XV_HdmiTxSs_RefClockChangeInit(), and XV_HdmiTxSs_Reset().
void XV_HdmiTxSs_TXCore_LRST | ( | XV_HdmiTxSs * | InstancePtr, |
u8 | Reset | ||
) |
This function asserts or releases the Internal Link reset of the HDMI subcore within the subsystem.
InstancePtr | is a pointer to the Subsystem instance to be worked on. |
References XV_HdmiTxSs::HdmiTxPtr.
Referenced by XV_HdmiTxSs_RefClockChangeInit(), and XV_HdmiTxSs_Reset().
void XV_HdmiTxSs_TXCore_VRST | ( | XV_HdmiTxSs * | InstancePtr, |
u8 | Reset | ||
) |
This function asserts or releases the Internal Video reset of the HDMI subcore within the subsystem.
InstancePtr | is a pointer to the Subsystem instance to be worked on. |
References XV_HdmiTxSs::HdmiTxPtr.
Referenced by XV_HdmiTxSs_RefClockChangeInit(), and XV_HdmiTxSs_Reset().
void XV_HdmiTxSs_VRST | ( | XV_HdmiTxSs * | InstancePtr, |
u8 | Reset | ||
) |
This function asserts or releases the video reset of other blocks within the subsystem.
InstancePtr | is a pointer to the Subsystem instance to be worked on. |
References XV_HdmiTxSs::HdmiTxPtr.
Referenced by XV_HdmiTxSs_RefClockChangeInit(), and XV_HdmiTxSs_Reset().