v_hdmitxss
Vitis Drivers API Documentation
|
This is main code of Xilinx HDMI Transmitter Subsystem device driver.
Please see xv_hdmitxss.h for more details of the driver.
MODIFICATION HISTORY:
Ver Who Date Changes
1.00 10/07/15 Initial release. 1.01 MG 17/12/16 Fixed issue in function SetAudioChannels Updated function XV_HdmiTxSs_SendAuxInfoframe 1.02 yh 12/01/16 Check vtc existance before configuring it 1.03 yh 15/01/16 Add 3D Support 1.04 yh 20/01/16 Added remapper support 1.05 yh 01/02/16 Added set_ppc api 1.06 yh 01/02/16 Removed xil_print "Cable (dis)connected" 1.07 yh 15/02/16 Added default value to XV_HdmiTxSs_ConfigRemapper 1.08 MG 03/02/16 Added HDCP support 1.09 MG 09/03/16 Added XV_HdmiTxSs_SetHdmiMode and XV_HdmiTxSs_SetDviMode Removed reduced blanking support 1.10 MH 03/15/16 Moved HDCP 2.2 reset from stream up/down callback to connect callback 1.11 YH 18/03/16 Add XV_HdmiTxSs_SendGenericAuxInfoframe function 1.12 MH 23/04/16 1. HDCP 1.x driver now uses AXI timer 4.1, so updated to use AXI Timer config structure to determine timer clock frequency 2. HDCP 1.x driver has fixed the problem where the reset for the receiver causes the entire DDC peripheral to get reset. Based on this change the driver has been updated to use XV_HdmiTxSs_HdcpReset and XV_HdmiTxSs_HdcpReset functions directly. 3. Updated XV_HdmiTxSs_HdcpEnable and XV_HdmiTxSs_HdcpEnable functions to ensure that HDCP 1.4 and 2.2 are mutually exclusive. This fixes the problem where HDCP 1.4 and 2.2 state machines are running simultaneously. 1.13 MH 23/06/16 Added HDCP repeater support. 1.14 YH 18/07/16 1. Replace xil_print with xdbg_printf. 2. XV_HdmiTx_VSIF VSIF global variable local to XV_HdmiTxSs_SendVSInfoframe 3. Replace MB_Sleep() with usleep 4. Remove checking VideoMode < XVIDC_VM_NUM_SUPPORTED in XV_HdmiTxSs_SetStream to support customized video format 1.15 YH 25/07/16 Used UINTPTR instead of u32 for BaseAddress XV_HdmiTxSs_CfgInitialize 1.16 YH 04/08/16 Remove unused functions XV_HdmiTxSs_GetSubSysStruct 1.17 MH 08/08/16 Updates to optimize out HDCP when excluded. 1.18 YH 17/08/16 Remove sleep in XV_HdmiTxSs_ResetRemapper Added Event Log Combine Report function into one ReportInfo 1.19 YH 27/08/16 Remove unused functions XV_HdmiTxSs_SetUserTimerHandler XV_HdmiTxSs_WaitUs 1.20 MH 08/10/16 Update function call sequence in XV_HdmiTxSs_StreamUpCallback
1.1x mmo 04/11/16 Updated the XV_HdmiTxSs_SetAudioChannels API which currently calls XV_HdmiTx_SetAudioChannels driver, which sets the Audio Channels accordingly. This fixed is made during v1.2 (2016.1) 1.21 YH 14/11/16 Added API to enable/disable YUV420/Pixel Repeat Mode for video bridge 1.22 YH 14/11/16 Remove Remapper APIs as remapper feature is moved to video bridge and controlled by HDMI core 1.23 mmo 03/01/17 Move HDCP Related API to xv_hdmitxss_hdcp.c Remove inclusion of the xenv.h and sleep.h as it not used Replaced "print" with "xil_printf" Replace Carriage Return () and Line Feed (
) order,\ where the Carriage Return + Line Feed order is used. 1.24 mmo 02/03/17 Added XV_HdmiTxSs_ReadEdidSegment API for Multiple Segment Support and HDMI Compliance Test Updated the XV_HdmiTxSs_ShowEdid API to have support multiple EDID. 1.25 MH 21/04/17 Updated to set HDMI mode in functions XV_HdmiTxSS_SetHdmiMode and XV_HdmiTxSS_SetDviMode. 1.40 YH 07/07/17 Fixed issue with VTC register read when video clock is not present Report HDMI/DVI mode in HDMI example design info log Added Video Masking APIs 1.41 mmo 02/08/17 Initialize the hdcp1.4 first before the hdcp1.4 timer as the hdcp1.4 timer requires hdcp1.4 to be initialize MH 09/08/17 Added function XV_HdmiTxSs_HdcpSetCapability 22/08/17 Added function XV_HdmiTxSs_SetAudioFormat 1.42 YH 06/10/17 Updated function XV_HdmiTxSs_SetAudioFormat Added function XV_HdmiTxSs_GetAudioFormat EB 17/10/17 Added function XV_HdmiTxSs_ReportAudio Updated function XV_HdmiTxSs_ReportInfo 1.43 MMO 19/12/17 Added XV_HdmiTxSS_SetTMDS API 5.00 EB 16/01/18 Updated XV_HdmiTxSS_SetTMDS API Updated XV_HdmiTxSs_SetVideoStream API Moved XV_HdmiTxSs_SendVSInfoframe function to HDMI Common Library Updated function XV_HdmiTxSs_StreamStart, XV_HdmiTxSs_SendGenericAuxInfoframe Added function XV_HdmiTxSs_GetAviInfoframe, XV_HdmiTxSs_GetAudioInfoframe, XV_HdmiTxSs_GetVSIF XV_HdmiTxSs_GetAuxiliary Updated XV_HdmiTxSs_ConfigBridgeMode so Pixel Pepetition AVI InfoFrame is sent out Deprecating XV_HdmiTxSs_SendAviInfoframe and XV_HdmiTxSs_SendGeneralControlPacket APIs YH 16/01/18 Added dedicated reset for each clock domain Added bridge unlock interrupt Added PIO_OUT to set GCP_AVMUTE EB 23/01/18 Added function XV_HdmiTxSs_SetVideoStreamHdmi14ScramblingOverrideFlag 25/01/18 Added function XV_HdmiTxSs_SetScrambler 01/02/18 Updated function XV_HdmiTxSs_VtcSetup and changed the input parameters to it to enable logging of unsupported video timing by VTC SM 28/02/18 Added definition of XV_HdmiTxSS_SetAppVersion() API 5.20 EB 03/08/18 Updated XV_HdmiTxSS_MaskSetRed, XV_HdmiTxSS_MaskSetGreen, XV_HdmiTxSS_MaskSetBlue API Replaced XV_HdmiTx_AudioMute API call with XV_HdmiTx_AudioDisable Replaced XV_HdmiTx_AudioUnmute API call with XV_HdmiTx_AudioEnable Replaced XV_HdmiTx_AudioUnmute API call with MMO 11/08/18 Added Bridge Overflow and Bridge Underflow Interrupt
Macros | |
#define | XV_HdmiTxSs_BridgeYuv420(InstancePtr, Enable) |
This macro selects the bridge YUV420 mode. More... | |
#define | XV_HdmiTxSs_BridgePixelRepeat(InstancePtr, Enable) |
This macro selects the bridge pixel repeat mode. More... | |
Functions | |
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_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 *CallbackFunc, void *CallbackRef) |
This function installs an asynchronous callback function for the given HandlerType: More... | |
int | XV_HdmiTxSs_ReadEdid (XV_HdmiTxSs *InstancePtr, u8 *Buffer) |
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_StreamStart (XV_HdmiTxSs *InstancePtr) |
This function starts the HDMI TX stream. More... | |
void | XV_HdmiTxSs_SetScrambler (XV_HdmiTxSs *InstancePtr, u8 Enable) |
This function enables / disables the TX scrambler. More... | |
void | XV_HdmiTxSs_SendAuxInfoframe (XV_HdmiTxSs *InstancePtr, void *Aux) |
This function sends audio info frames. More... | |
u32 | XV_HdmiTxSs_SendGenericAuxInfoframe (XV_HdmiTxSs *InstancePtr, void *Aux) |
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... | |
XHdmiC_DRMInfoFrame * | XV_HdmiTxSs_GetDrmInfoframe (XV_HdmiTxSs *InstancePtr) |
This function returns the pointer to HDMI TX SS DRM 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... | |
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_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... | |
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... | |
Variables | |
XV_HdmiTxSs_SubCores | XV_HdmiTxSs_SubCoreRepo [XPAR_XV_HDMITXSS_NUM_INSTANCES] |
Define Driver instance of all sub-core included in the design. More... | |
#define XV_HdmiTxSs_BridgePixelRepeat | ( | InstancePtr, | |
Enable | |||
) |
This macro selects the bridge pixel repeat mode.
InstancePtr | is a pointer to the HDMI TX Subsystem |
#define XV_HdmiTxSs_BridgeYuv420 | ( | InstancePtr, | |
Enable | |||
) |
This macro selects the bridge YUV420 mode.
InstancePtr | is a pointer to the HDMI TX Subsystem |
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.
XHdmiC_DRMInfoFrame* XV_HdmiTxSs_GetDrmInfoframe | ( | XV_HdmiTxSs * | InstancePtr | ) |
This function returns the pointer to HDMI TX SS DRM InfoFrame structure.
InstancePtr | pointer to XV_HdmiTxSs instance |
References XV_HdmiTxSs::DrmInfoframe.
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.
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_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().
XV_HdmiTxSs_SubCores XV_HdmiTxSs_SubCoreRepo[XPAR_XV_HDMITXSS_NUM_INSTANCES] |
Define Driver instance of all sub-core included in the design.