![]() |
v_hdmirxss
Xilinx SDK 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
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_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_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_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_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.
enum XV_HdmiRxSs_LogEvent |
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_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.
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_HDCP14_INIT, XV_HDMIRXSS_LOG_EVT_HDCP22_INIT, XV_HDMIRXSS_LOG_EVT_HDCPTIMER_INIT, XV_HDMIRXSS_LOG_EVT_HDMIRX_INIT, XV_HDMIRXSS_LOG_EVT_LINKSTATUS, XV_HDMIRXSS_LOG_EVT_NONE, 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_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_SetStream(), 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_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.
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. |
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_ToggleHpd | ( | XV_HdmiRxSs * | InstancePtr | ) |
This function toggles the HPD on the HDMI RX.
References XV_HdmiRxSs::HdmiRxPtr.