v_hdmirxss
Vitis Drivers API Documentation
|
This is main header file of the Xilinx HDMI RX Subsystem driver.
HDMI RX Subsystem Overview
Video 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
Video Subsystem supports following features
MODIFICATION HISTORY:
Ver Who Date Changes
1.00 10/07/15 Initial release. 1.1 yh 20/01/16 Added remapper support 1.2 yh 01/02/16 Added set_ppc api 1.3 MG 03/02/16 Added HDCP support 1.4 MH 03/15/16 Added HDCP connect event. Added HDCP authenticated callback support. 1.5 YH 17/03/16 Remove xintc.h as it is processor dependent 1.6 MH 23/06/16 Added HDCP repeater support. 1.7 YH 25/07/16 Used UINTPTR instead of u32 for BaseAddress 1.8 MH 26/07/16 Updates for automatic protocol switching 1.9 MH 05/08/16 Updates to optimize out HDCP when excluded 1.10 YH 18/08/16 Combine Report function into one ReportInfo 1.11 YH 14/11/16 Added API to enable/disable YUV420/Pixel Drop 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_HDMIRXSS_LOG_ENABLE) to enable Log Re-order the enumaration and data structure Move HDCP local API into _hdcp.h ms 03/17/17 Added readme.txt file in examples folder for doxygen generation. ms 04/10/17 Modified filename tag in examples to include them in doxygen. 1.4 YH 07/07/17 Add new log type XV_HDMIRXSS_LOG_EVT_SETSTREAM_ERR MH 09/08/17 Add function XV_HdmiRxSs_HdcpSetCapability YH 06/10/17 Add function XV_HdmiRxSs_GetAudioFormat 5.0 YH 16/11/17 Added dedicated reset for each clock domain 16/11/17 Added bridge overflow interrupt EB 16/01/18 Added InfoFrame data structure to XV_HdmiRxSs Added XV_HDMIRXSS_LOG_EVT_PIX_REPEAT_ERR log event Added functions XV_HdmiRxSs_GetAviInfoframe, XV_HdmiRxSs_GetGCP, XV_HdmiRxSs_GetAudioInfoframe, XV_HdmiRxSs_GetVSIF SM 28/02/18 Added XV_HdmiRxSS_SetAppVersion API and AppMajVer and AppMinVer version number in XV_HdmiRxSs structure 5.2 YB 08/14/18 Added dedicated callbacks for HDCP 1.4 and HDCP 2.2 protocol events. EB 03/08/18 Added function XV_HdmiRxSs_AudioMute Added TMDS Clock Ratio callback support YB 17/08/18 Marked XV_HDMIRXSS_HDCP_1_PROT_EVT and XV_HDMIRXSS_HDCP_2_PROT_EVT as deprecated. 5.40 EB 06/08/19 Added Vic and Video Timing mismatch callback support
Data Structures | |
struct | XV_HdmiRxSs_Log |
This typedef contains the logging mechanism for debug. More... | |
struct | XV_HdmiRxSs_SubCore |
Sub-Core Configuration Table. More... | |
struct | XV_HdmiRxSs_Config |
Video Processing Subsystem configuration structure. More... | |
struct | XV_HdmiRxSs |
The XVprocss driver instance data. More... | |
Macros | |
#define | HDMIRXSS_H |
< prevent circular inclusions by using protection macros More... | |
Typedefs | |
typedef void(* | XV_HdmiRxSs_Callback )(void *CallbackRef) |
Callback type for interrupt. More... | |
Functions | |
XV_HdmiRxSs_Config * | XV_HdmiRxSs_LookupConfig (u32 DeviceId) |
This function looks for the device configuration based on the unique device ID. More... | |
void | XV_HdmiRxSs_SetUserTimerHandler (XV_HdmiRxSs *InstancePtr, XVidC_DelayHandler CallbackFunc, void *CallbackRef) |
This function installs a custom delay/sleep function to be used by the XV_HdmiRxSs driver. More... | |
void | XV_HdmiRxSS_HdmiRxIntrHandler (XV_HdmiRxSs *InstancePtr) |
This function calls the interrupt handler for HDMI RX. More... | |
int | XV_HdmiRxSs_CfgInitialize (XV_HdmiRxSs *InstancePtr, XV_HdmiRxSs_Config *CfgPtr, UINTPTR EffectiveAddr) |
This function initializes the video subsystem and included sub-cores. More... | |
void | XV_HdmiRxSs_Write_ScdcRegister (XV_HdmiRxSs *InstancePtr, u8 address, u8 data) |
This function writes to SCDC registers. More... | |
void | XV_HdmiRxSS_SetAppVersion (XV_HdmiRxSs *InstancePtr, u8 maj, u8 min) |
This function will set the major and minor application version in RXSs struct. More... | |
void | XV_HdmiRxSs_Start (XV_HdmiRxSs *InstancePtr) |
This function starts the HDMI RX subsystem including all sub-cores that are included in the processing pipeline for a given use-case. More... | |
void | XV_HdmiRxSs_Stop (XV_HdmiRxSs *InstancePtr) |
This function stops the HDMI RX subsystem including all sub-cores Stop the video pipe starting from front to back. More... | |
void | XV_HdmiRxSs_Reset (XV_HdmiRxSs *InstancePtr) |
This function resets the video subsystem sub-cores. More... | |
void | XV_HdmiRxSs_RXCore_VRST (XV_HdmiRxSs *InstancePtr, u8 Reset) |
This function asserts or releases the Internal Video reset of the HDMI subcore within the subsystem. More... | |
void | XV_HdmiRxSs_RXCore_LRST (XV_HdmiRxSs *InstancePtr, u8 Reset) |
This function asserts or releases the Internal Link reset of the HDMI subcore within the subsystem. More... | |
void | XV_HdmiRxSs_VRST (XV_HdmiRxSs *InstancePtr, u8 Reset) |
This function asserts or releases the video reset of other blocks within the subsystem. More... | |
void | XV_HdmiRxSs_SYSRST (XV_HdmiRxSs *InstancePtr, u8 Reset) |
This function asserts or releases the system reset of other blocks within the subsystem. More... | |
int | XV_HdmiRxSs_SetCallback (XV_HdmiRxSs *InstancePtr, XV_HdmiRxSs_HandlerType HandlerType, void *CallbackFunc, void *CallbackRef) |
This function installs an asynchronous callback function for the given HandlerType: More... | |
void | XV_HdmiRxSs_SetEdidParam (XV_HdmiRxSs *InstancePtr, u8 *EdidDataPtr, u16 Length) |
This function Sets the EDID parameters in the HDMI RX SS struct. More... | |
void | XV_HdmiRxSs_LoadDefaultEdid (XV_HdmiRxSs *InstancePtr) |
This function loads the default EDID to the HDMI RX. More... | |
void | XV_HdmiRxSs_LoadEdid (XV_HdmiRxSs *InstancePtr, u8 *EdidDataPtr, u16 Length) |
This function loads the default EDID to the HDMI RX. More... | |
void | XV_HdmiRxSs_SetHpd (XV_HdmiRxSs *InstancePtr, u8 Value) |
This function sets the HPD on the HDMI RX. More... | |
void | XV_HdmiRxSs_ToggleHpd (XV_HdmiRxSs *InstancePtr) |
This function toggles the HPD on the HDMI RX. More... | |
XHdmiC_Aux * | XV_HdmiRxSs_GetAuxiliary (XV_HdmiRxSs *InstancePtr) |
This function returns the pointer to HDMI RX SS Aux structure. More... | |
XHdmiC_AVI_InfoFrame * | XV_HdmiRxSs_GetAviInfoframe (XV_HdmiRxSs *InstancePtr) |
This function returns the pointer to HDMI RX SS AVI InfoFrame structure. More... | |
XHdmiC_AudioInfoFrame * | XV_HdmiRxSs_GetAudioInfoframe (XV_HdmiRxSs *InstancePtr) |
This function returns the pointer to HDMI RX SS Audio InfoFrame structure. More... | |
XHdmiC_DRMInfoFrame * | XV_HdmiRxSs_GetDrmInfoframe (XV_HdmiRxSs *InstancePtr) |
This function returns the pointer to HDMI RX SS DRM InfoFrame structure. More... | |
XHdmiC_VSIF * | XV_HdmiRxSs_GetVSIF (XV_HdmiRxSs *InstancePtr) |
This function returns the pointer to HDMI RX SS Vendor Specific InfoFrame structure. More... | |
XHdmiC_GeneralControlPacket * | XV_HdmiRxSs_GetGCP (XV_HdmiRxSs *InstancePtr) |
This function returns the pointer to HDMI RX SS General Control Packet structure. More... | |
u32 | XV_HdmiRxSs_SetStream (XV_HdmiRxSs *InstancePtr, u32 Clock, u32 LineRate) |
This function set HDMI RX susbsystem stream parameters. More... | |
XVidC_VideoStream * | XV_HdmiRxSs_GetVideoStream (XV_HdmiRxSs *InstancePtr) |
This function returns the pointer to HDMI RX SS video stream. More... | |
u8 | XV_HdmiRxSs_GetVideoIDCode (XV_HdmiRxSs *InstancePtr) |
This function returns the pointer to HDMI RX SS video Identification code. More... | |
u8 | XV_HdmiRxSs_GetVideoStreamType (XV_HdmiRxSs *InstancePtr) |
This function returns the pointer to HDMI RX SS video stream type. More... | |
u8 | XV_HdmiRxSs_GetVideoStreamScramblingFlag (XV_HdmiRxSs *InstancePtr) |
This function returns the pointer to HDMI RX SS video stream type. More... | |
u8 | XV_HdmiRxSs_GetAudioChannels (XV_HdmiRxSs *InstancePtr) |
This function returns the HDMI RX SS number of active audio channels. More... | |
XV_HdmiRx_AudioFormatType | XV_HdmiRxSs_GetAudioFormat (XV_HdmiRxSs *InstancePtr) |
This function returns the HDMI RX SS audio format. More... | |
void | XV_HdmiRxSs_RefClockChangeInit (XV_HdmiRxSs *InstancePtr) |
This function is called when HDMI RX SS TMDS clock changes. More... | |
int | XV_HdmiRxSs_IsStreamUp (XV_HdmiRxSs *InstancePtr) |
This function checks if the video stream is up. More... | |
int | XV_HdmiRxSs_IsStreamConnected (XV_HdmiRxSs *InstancePtr) |
This function checks if the interface is connected. More... | |
void | XV_HdmiRxSs_SetDefaultPpc (XV_HdmiRxSs *InstancePtr, u8 Id) |
This function will set the default in HDF. More... | |
void | XV_HdmiRxSs_SetPpc (XV_HdmiRxSs *InstancePtr, u8 Id, u8 Ppc) |
This function will set PPC specified by user. More... | |
void | XV_HdmiRxSs_AudioMute (XV_HdmiRxSs *InstancePtr, u8 Enable) |
This function set HDMI RX audio parameters. More... | |
void | XV_HdmiRxSs_LogReset (XV_HdmiRxSs *InstancePtr) |
This function will reset the driver's logging mechanism. More... | |
void | XV_HdmiRxSs_LogWrite (XV_HdmiRxSs *InstancePtr, XV_HdmiRxSs_LogEvent Evt, u8 Data) |
This function will insert an event in the driver's logginc mechanism. More... | |
u16 | XV_HdmiRxSs_LogRead (XV_HdmiRxSs *InstancePtr) |
This function will read the last event from the log. More... | |
void | XV_HdmiRxSs_LogDisplay (XV_HdmiRxSs *InstancePtr) |
This function will print the entire log. More... | |
#define HDMIRXSS_H |
< prevent circular inclusions by using protection macros
typedef void(* XV_HdmiRxSs_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.
These constants specify the HDCP protection schemes.
enum XV_HdmiRxSs_LogEvent |
void XV_HdmiRxSs_AudioMute | ( | XV_HdmiRxSs * | InstancePtr, |
u8 | Enable | ||
) |
This function set HDMI RX audio parameters.
Enable | 0: Unmute the audio 1: Mute the audio. |
References XV_HdmiRxSs::HdmiRxPtr.
int XV_HdmiRxSs_CfgInitialize | ( | XV_HdmiRxSs * | InstancePtr, |
XV_HdmiRxSs_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_HdmiRxSs::AppMajVer, XV_HdmiRxSs::AppMinVer, XV_HdmiRxSs_Config::BaseAddress, XV_HdmiRxSs::Config, XV_HdmiRxSs_Config::DeviceId, XV_HdmiRxSs::HdmiRxPtr, XV_HdmiRxSs::IsReady, XV_HdmiRxSs_GetDrmInfoframe(), XV_HDMIRXSS_HDCP_14, XV_HDMIRXSS_HDCP_22, XV_HDMIRXSS_HDCP_BOTH, XV_HDMIRXSS_HDCP_NOUSERPREF, XV_HdmiRxSs_Reset(), and XV_HdmiRxSs_SubcoreInitHdmiRx().
u8 XV_HdmiRxSs_GetAudioChannels | ( | XV_HdmiRxSs * | InstancePtr | ) |
This function returns the HDMI RX SS number of active audio channels.
InstancePtr | pointer to XV_HdmiRxSs instance |
References XV_HdmiRxSs::AudioChannels.
XV_HdmiRx_AudioFormatType XV_HdmiRxSs_GetAudioFormat | ( | XV_HdmiRxSs * | InstancePtr | ) |
This function returns the HDMI RX SS audio format.
InstancePtr | pointer to XV_HdmiRxSs instance |
References XV_HdmiRxSs::HdmiRxPtr.
XHdmiC_AudioInfoFrame* XV_HdmiRxSs_GetAudioInfoframe | ( | XV_HdmiRxSs * | InstancePtr | ) |
This function returns the pointer to HDMI RX SS Audio InfoFrame structure.
InstancePtr | pointer to XV_HdmiRXSs instance |
References XV_HdmiRxSs::AudioInfoframe.
XHdmiC_Aux* XV_HdmiRxSs_GetAuxiliary | ( | XV_HdmiRxSs * | InstancePtr | ) |
This function returns the pointer to HDMI RX SS Aux structure.
InstancePtr | pointer to XV_HdmiRxSs instance |
References XV_HdmiRxSs::HdmiRxPtr.
XHdmiC_AVI_InfoFrame* XV_HdmiRxSs_GetAviInfoframe | ( | XV_HdmiRxSs * | InstancePtr | ) |
This function returns the pointer to HDMI RX SS AVI InfoFrame structure.
InstancePtr | pointer to XV_HdmiRXSs instance |
References XV_HdmiRxSs::AVIInfoframe.
XHdmiC_DRMInfoFrame* XV_HdmiRxSs_GetDrmInfoframe | ( | XV_HdmiRxSs * | InstancePtr | ) |
This function returns the pointer to HDMI RX SS DRM InfoFrame structure.
InstancePtr | pointer to XV_HdmiRxSs instance |
Referenced by XV_HdmiRxSs_CfgInitialize().
XHdmiC_GeneralControlPacket* XV_HdmiRxSs_GetGCP | ( | XV_HdmiRxSs * | InstancePtr | ) |
This function returns the pointer to HDMI RX SS General Control Packet structure.
InstancePtr | pointer to XV_HdmiRXSs instance |
References XV_HdmiRxSs::GCP.
u8 XV_HdmiRxSs_GetVideoIDCode | ( | XV_HdmiRxSs * | InstancePtr | ) |
This function returns the pointer to HDMI RX SS video Identification code.
InstancePtr | pointer to XV_HdmiRxSs instance |
References XV_HdmiRxSs::HdmiRxPtr.
XVidC_VideoStream* XV_HdmiRxSs_GetVideoStream | ( | XV_HdmiRxSs * | InstancePtr | ) |
This function returns the pointer to HDMI RX SS video stream.
InstancePtr | pointer to XV_HdmiRxSs instance |
References XV_HdmiRxSs::HdmiRxPtr.
u8 XV_HdmiRxSs_GetVideoStreamScramblingFlag | ( | XV_HdmiRxSs * | InstancePtr | ) |
This function returns the pointer to HDMI RX SS video stream type.
InstancePtr | pointer to XV_HdmiRxSs instance |
References XV_HdmiRxSs::HdmiRxPtr.
u8 XV_HdmiRxSs_GetVideoStreamType | ( | XV_HdmiRxSs * | InstancePtr | ) |
This function returns the pointer to HDMI RX SS video stream type.
InstancePtr | pointer to XV_HdmiRxSs instance |
References XV_HdmiRxSs::HdmiRxPtr.
XHdmiC_VSIF* XV_HdmiRxSs_GetVSIF | ( | XV_HdmiRxSs * | InstancePtr | ) |
This function returns the pointer to HDMI RX SS Vendor Specific InfoFrame structure.
InstancePtr | pointer to XV_HdmiRxSs instance |
References XV_HdmiRxSs::VSIF.
void XV_HdmiRxSS_HdmiRxIntrHandler | ( | XV_HdmiRxSs * | InstancePtr | ) |
This function calls the interrupt handler for HDMI RX.
InstancePtr | is a pointer to the HDMI RX Subsystem |
References XV_HdmiRxSs::HdmiRxPtr.
int XV_HdmiRxSs_IsStreamConnected | ( | XV_HdmiRxSs * | InstancePtr | ) |
This function checks if the interface is connected.
None. |
References XV_HdmiRxSs::IsStreamConnected.
int XV_HdmiRxSs_IsStreamUp | ( | XV_HdmiRxSs * | InstancePtr | ) |
This function checks if the video stream is up.
None. |
References XV_HdmiRxSs::IsStreamUp.
void XV_HdmiRxSs_LoadDefaultEdid | ( | XV_HdmiRxSs * | InstancePtr | ) |
This function loads the default EDID to the HDMI RX.
References XV_HdmiRxSs::EdidLength, XV_HdmiRxSs::EdidPtr, and XV_HdmiRxSs::HdmiRxPtr.
void XV_HdmiRxSs_LoadEdid | ( | XV_HdmiRxSs * | InstancePtr, |
u8 * | EdidDataPtr, | ||
u16 | Length | ||
) |
This function loads the default EDID to the HDMI RX.
References XV_HdmiRxSs::HdmiRxPtr.
void XV_HdmiRxSs_LogDisplay | ( | XV_HdmiRxSs * | InstancePtr | ) |
This function will print the entire log.
InstancePtr | is a pointer to the XV_HdmiRxSs core instance. |
References XV_HDMIRXSS_LOG_EVT_CONNECT, XV_HDMIRXSS_LOG_EVT_DISCONNECT, XV_HDMIRXSS_LOG_EVT_DVIMODE, XV_HDMIRXSS_LOG_EVT_HDCP14, XV_HDMIRXSS_LOG_EVT_HDCP14_INIT, XV_HDMIRXSS_LOG_EVT_HDCP22, XV_HDMIRXSS_LOG_EVT_HDCP22_INIT, XV_HDMIRXSS_LOG_EVT_HDCPTIMER_INIT, XV_HDMIRXSS_LOG_EVT_HDMIMODE, XV_HDMIRXSS_LOG_EVT_HDMIRX_INIT, XV_HDMIRXSS_LOG_EVT_LINKSTATUS, XV_HDMIRXSS_LOG_EVT_NONE, XV_HDMIRXSS_LOG_EVT_PIX_REPEAT_ERR, XV_HDMIRXSS_LOG_EVT_REFCLOCKCHANGE, XV_HDMIRXSS_LOG_EVT_RESET, XV_HDMIRXSS_LOG_EVT_SETSTREAM, XV_HDMIRXSS_LOG_EVT_SETSTREAM_ERR, XV_HDMIRXSS_LOG_EVT_START, XV_HDMIRXSS_LOG_EVT_STOP, XV_HDMIRXSS_LOG_EVT_STREAMDOWN, XV_HDMIRXSS_LOG_EVT_STREAMINIT, XV_HDMIRXSS_LOG_EVT_STREAMUP, XV_HDMIRXSS_LOG_EVT_SYNCEST, XV_HDMIRXSS_LOG_EVT_SYNCLOSS, XV_HDMIRXSS_LOG_EVT_VICERROR, XV_HDMIRXSS_LOG_EVT_VTC_INIT, and XV_HdmiRxSs_LogRead().
u16 XV_HdmiRxSs_LogRead | ( | XV_HdmiRxSs * | InstancePtr | ) |
This function will read the last event from the log.
InstancePtr | is a pointer to the XV_HdmiRxSs core instance. |
References XV_HdmiRxSs_Log::DataBuffer, XV_HdmiRxSs_Log::HeadIndex, XV_HdmiRxSs::Log, and XV_HdmiRxSs_Log::TailIndex.
Referenced by XV_HdmiRxSs_LogDisplay().
void XV_HdmiRxSs_LogReset | ( | XV_HdmiRxSs * | InstancePtr | ) |
This function will reset the driver's logging mechanism.
InstancePtr | is a pointer to the xv_hdmirxss core instance. |
References XV_HdmiRxSs_Log::HeadIndex, XV_HdmiRxSs::Log, and XV_HdmiRxSs_Log::TailIndex.
void XV_HdmiRxSs_LogWrite | ( | XV_HdmiRxSs * | InstancePtr, |
XV_HdmiRxSs_LogEvent | Evt, | ||
u8 | Data | ||
) |
This function will insert an event in the driver's logginc mechanism.
InstancePtr | is a pointer to the XV_HdmiRxSs core instance. |
Evt | is the event type to log. |
Data | is the associated data for the event. |
References XV_HdmiRxSs_Log::DataBuffer, XV_HdmiRxSs_Log::HeadIndex, XV_HdmiRxSs::Log, XV_HdmiRxSs_Log::TailIndex, and XV_HDMIRXSS_LOG_EVT_DUMMY.
Referenced by XV_HdmiRxSs_RefClockChangeInit(), XV_HdmiRxSs_Reset(), XV_HdmiRxSs_SetStream(), XV_HdmiRxSs_Start(), XV_HdmiRxSs_Stop(), and XV_HdmiRxSs_SubcoreInitHdmiRx().
void XV_HdmiRxSs_RefClockChangeInit | ( | XV_HdmiRxSs * | InstancePtr | ) |
This function is called when HDMI RX SS TMDS clock changes.
None. |
References XV_HdmiRxSs::HdmiRxPtr, XV_HdmiRxSs::TMDSClockRatio, XV_HDMIRXSS_LOG_EVT_REFCLOCKCHANGE, and XV_HdmiRxSs_LogWrite().
void XV_HdmiRxSs_Reset | ( | XV_HdmiRxSs * | 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_HDMIRXSS_LOG_EVT_RESET, XV_HdmiRxSs_LogWrite(), XV_HdmiRxSs_RXCore_LRST(), XV_HdmiRxSs_RXCore_VRST(), and XV_HdmiRxSs_SYSRST().
Referenced by XV_HdmiRxSs_CfgInitialize().
void XV_HdmiRxSs_RXCore_LRST | ( | XV_HdmiRxSs * | 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_HdmiRxSs::HdmiRxPtr.
Referenced by XV_HdmiRxSs_Reset().
void XV_HdmiRxSs_RXCore_VRST | ( | XV_HdmiRxSs * | 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_HdmiRxSs::HdmiRxPtr.
Referenced by XV_HdmiRxSs_Reset().
void XV_HdmiRxSS_SetAppVersion | ( | XV_HdmiRxSs * | InstancePtr, |
u8 | maj, | ||
u8 | min | ||
) |
This function will set the major and minor application version in RXSs struct.
InstancePtr | is a pointer to the XV_HdmiRxSs core instance. |
maj | is the major version of the application. |
min | is the minor version of the application. |
References XV_HdmiRxSs::AppMajVer, and XV_HdmiRxSs::AppMinVer.
int XV_HdmiRxSs_SetCallback | ( | XV_HdmiRxSs * | InstancePtr, |
XV_HdmiRxSs_HandlerType | HandlerType, | ||
void * | CallbackFunc, | ||
void * | CallbackRef | ||
) |
This function installs an asynchronous callback function for the given HandlerType:
HandlerType Callback Function Type ----------------------- -------------------------------------------------- (XV_HDMIRXSS_HANDLER_CONNECT) HpdCallback (XV_HDMIRXSS_HANDLER_VS) VsCallback (XV_HDMIRXSS_HANDLER_STREAM_DOWN) StreamDownCallback (XV_HDMIRXSS_HANDLER_STREAM_UP) StreamUpCallback (XV_HDMIRXSS_HANDLER_HDCP_AUTHENTICATED) (XV_HDMIRXSS_HANDLER_HDCP_UNAUTHENTICATED) (XV_HDMIRXSS_HANDLER_HDCP_AUTHENTICATION_REQUEST) (XV_HDMIRXSS_HANDLER_HDCP_STREAM_MANAGE_REQUEST) (XV_HDMIRXSS_HANDLER_HDCP_TOPOLOGY_UPDATE)
InstancePtr | is a pointer to the HDMI RX 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_HdmiRxSs::AudCallback, XV_HdmiRxSs::AudRef, XV_HdmiRxSs::AuxCallback, XV_HdmiRxSs::AuxRef, XV_HdmiRxSs::BrdgOverflowCallback, XV_HdmiRxSs::BrdgOverflowRef, XV_HdmiRxSs::ConnectCallback, XV_HdmiRxSs::ConnectRef, XV_HdmiRxSs::DdcCallback, XV_HdmiRxSs::DdcRef, XV_HdmiRxSs::HdcpCallback, XV_HdmiRxSs::HdcpRef, XV_HdmiRxSs::LnkStaCallback, XV_HdmiRxSs::LnkStaRef, XV_HdmiRxSs::StreamDownCallback, XV_HdmiRxSs::StreamDownRef, XV_HdmiRxSs::StreamInitCallback, XV_HdmiRxSs::StreamInitRef, XV_HdmiRxSs::StreamUpCallback, XV_HdmiRxSs::StreamUpRef, XV_HdmiRxSs::TmdsClkRatioCallback, XV_HdmiRxSs::TmdsClkRatioRef, XV_HdmiRxSs::VicErrorCallback, XV_HdmiRxSs::VicErrorRef, XV_HDMIRXSS_HANDLER_AUD, XV_HDMIRXSS_HANDLER_AUX, XV_HDMIRXSS_HANDLER_BRDGOVERFLOW, XV_HDMIRXSS_HANDLER_CONNECT, XV_HDMIRXSS_HANDLER_DDC, XV_HDMIRXSS_HANDLER_HDCP, XV_HDMIRXSS_HANDLER_HDCP_AUTHENTICATED, XV_HDMIRXSS_HANDLER_HDCP_AUTHENTICATION_REQUEST, XV_HDMIRXSS_HANDLER_HDCP_ENCRYPTION_UPDATE, XV_HDMIRXSS_HANDLER_HDCP_STREAM_MANAGE_REQUEST, XV_HDMIRXSS_HANDLER_HDCP_TOPOLOGY_UPDATE, XV_HDMIRXSS_HANDLER_HDCP_UNAUTHENTICATED, XV_HDMIRXSS_HANDLER_LNKSTA, XV_HDMIRXSS_HANDLER_STREAM_DOWN, XV_HDMIRXSS_HANDLER_STREAM_INIT, XV_HDMIRXSS_HANDLER_STREAM_UP, XV_HDMIRXSS_HANDLER_TMDS_CLK_RATIO, and XV_HDMIRXSS_HANDLER_VIC_ERROR.
void XV_HdmiRxSs_SetDefaultPpc | ( | XV_HdmiRxSs * | InstancePtr, |
u8 | Id | ||
) |
This function will set the default in HDF.
InstancePtr | is a pointer to the XV_HdmiRxSs core instance. |
Id | is the XV_HdmiRxSs ID to operate on. |
References XV_HdmiRxSs::Config, and XV_HdmiRxSs_Config::Ppc.
void XV_HdmiRxSs_SetEdidParam | ( | XV_HdmiRxSs * | InstancePtr, |
u8 * | EdidDataPtr, | ||
u16 | Length | ||
) |
This function Sets the EDID parameters in the HDMI RX SS struct.
References XV_HdmiRxSs::EdidLength, and XV_HdmiRxSs::EdidPtr.
void XV_HdmiRxSs_SetHpd | ( | XV_HdmiRxSs * | InstancePtr, |
u8 | Value | ||
) |
This function sets the HPD on the HDMI RX.
Value | is a flag used to set the HPD.
|
References XV_HdmiRxSs::HdmiRxPtr.
void XV_HdmiRxSs_SetPpc | ( | XV_HdmiRxSs * | InstancePtr, |
u8 | Id, | ||
u8 | Ppc | ||
) |
This function will set PPC specified by user.
InstancePtr | is a pointer to the XV_HdmiRxSs core instance. |
Id | is the XV_HdmiRxSs ID to operate on. |
Ppc | is the PPC to be set. |
References XV_HdmiRxSs::Config, and XV_HdmiRxSs_Config::Ppc.
u32 XV_HdmiRxSs_SetStream | ( | XV_HdmiRxSs * | InstancePtr, |
u32 | Clock, | ||
u32 | LineRate | ||
) |
This function set HDMI RX susbsystem stream parameters.
None. |
References XV_HdmiRxSs::Config, XV_HdmiRxSs::HdmiRxPtr, XV_HdmiRxSs_Config::Ppc, XV_HDMIRXSS_LOG_EVT_SETSTREAM, XV_HDMIRXSS_LOG_EVT_SETSTREAM_ERR, and XV_HdmiRxSs_LogWrite().
void XV_HdmiRxSs_SetUserTimerHandler | ( | XV_HdmiRxSs * | InstancePtr, |
XVidC_DelayHandler | CallbackFunc, | ||
void * | CallbackRef | ||
) |
This function installs a custom delay/sleep function to be used by the XV_HdmiRxSs driver.
InstancePtr | is a pointer to the HdmiSsRx instance. |
CallbackFunc | is the address to the callback function. |
CallbackRef | is the user data item (microseconds to delay) that will be passed to the custom sleep/delay function when it is invoked. |
References XV_HdmiRxSs::UserTimerPtr, and XV_HdmiRxSs::UserTimerWaitUs.
void XV_HdmiRxSs_Start | ( | XV_HdmiRxSs * | InstancePtr | ) |
This function starts the HDMI RX 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_HdmiRxSs::HdmiRxPtr, XV_HDMIRXSS_LOG_EVT_START, and XV_HdmiRxSs_LogWrite().
void XV_HdmiRxSs_Stop | ( | XV_HdmiRxSs * | InstancePtr | ) |
This function stops the HDMI RX 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_HdmiRxSs::HdmiRxPtr, XV_HDMIRXSS_LOG_EVT_STOP, and XV_HdmiRxSs_LogWrite().
void XV_HdmiRxSs_SYSRST | ( | XV_HdmiRxSs * | 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_HdmiRxSs::HdmiRxPtr.
Referenced by XV_HdmiRxSs_Reset().
void XV_HdmiRxSs_ToggleHpd | ( | XV_HdmiRxSs * | InstancePtr | ) |
This function toggles the HPD on the HDMI RX.
References XV_HdmiRxSs::HdmiRxPtr.
void XV_HdmiRxSs_VRST | ( | XV_HdmiRxSs * | 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_HdmiRxSs::HdmiRxPtr.
void XV_HdmiRxSs_Write_ScdcRegister | ( | XV_HdmiRxSs * | InstancePtr, |
u8 | address, | ||
u8 | data | ||
) |
This function writes to SCDC registers.
InstancePtr | pointer to XV_HdmiRXSs instance |