v_hdmirxss
Vitis Drivers API Documentation
|
This is main code of Xilinx HDMI Receiver Subsystem device driver.
Please see xv_hdmirxss.h for more details of the driver.
MODIFICATION HISTORY:
Ver Who Date Changes
1.00 10/07/15 Initial release. 1.1 yh 15/01/16 Added 3D Video support 1.2 yh 20/01/16 Added remapper support 1.3 yh 01/02/16 Added set_ppc api 1.4 yh 01/02/16 Removed xil_print "Cable (dis)connected" 1.5 yh 01/02/16 Removed xil_printf("Active audio channels...) 1.6 yh 15/02/16 Added default value to XV_HdmiRxSs_ConfigRemapper 1.7 MG 03/02/16 Added HDCP support 1.8 MG 10/02/16 Moved HDCP 2.2 reset from stream up/down callback to connect callback 1.9 MH 15/03/16 Added HDCP authenticated callback support 1.10 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_HdmiRxSs_HdcpReset and XV_HdmiRxSs_HdcpReset functions directly. 3. Updated XV_HdmiRxSs_HdcpEnable and XV_HdmiRxSs_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.11 MG 13/05/16 Added DDC peripheral HDCP mode selection to XV_HdmiRxSs_HdcpEnable 1.12 MH 23/06/16 Added HDCP repeater support. 1.13 YH 18/07/16 1. Replace xil_print with xdbg_printf. 2. Replace MB_Sleep() with usleep() 1.14 YH 25/07/16 Used UINTPTR instead of u32 for BaseAddress XV_HdmiRxSs_CfgInitialize 1.15 MH 26/07/16 Updates for automatic protocol switching 1.16 MH 05/08/16 Updates to optimize out HDCP when excluded 1.17 YH 17/08/16 Remove sleep in XV_HdmiRxSs_ResetRemapper squash unused variable compiler warning Added Event Log 1.18 MH 08/10/16 Improve HDCP 1.4 authentication 1.19 MG 31/10/16 Fixed issue with reference clock compensation in XV_HdmiRxSS_SetStream 1.20 YH 14/11/16 Added API to enable/disable YUV420/Pixel Drop Mode for video bridge 1.21 YH 14/11/16 Remove Remapper APIs Replace XV_HdmiRxSs_ConfigRemapper API with XV_HdmiRxSs_ConfigBridgeMode API as remapper feature is moved to video bridge and controlled by HDMI core 1.22 MMO 03/01/17 Add compiler option(XV_HDMIRXSS_LOG_ENABLE) to enable Log Move global variable XV_HdmiRx_VSIF VSIF to local XV_HdmiRxSs_RetrieveVSInfoframe API Move HDCP related API's to hdmirxss_hdcp.c 1.23 MMO 10/02/17 Added Sync Loss and HDMI/DVI Interrupt Support
1.4 YH 07/07/17 Add new log type XV_HDMIRXSS_LOG_EVT_SETSTREAM_ERR Report HDMI/DVI mode in HDMI example design info log
1.41 MMO 21/07/17 CR-979900 (Fix) Removed the HDCP Push Event API Call when the Aux Callback event happen MH 09/08/17 Added function XV_HdmiRxSs_HdcpSetCapability 1.42 YH 06/10/17 Added function XV_HdmiRxSs_GetAudioFormat EB 10/10/17 Updated function XV_HdmiRxSs_ReportAudio to report audio format 5.00 YH 16/11/17 Added dedicated reset for each clock domain 16/11/17 Added bridge overflow interrupt EB 16/01/18 Added parsing of InfoFrames during AuxCallback Changed XV_HdmiRxSs_RetrieveVSInfoframe's input parameter type Added function XV_HdmiRxSs_GetAviInfoframe, XV_HdmiRxSs_GetGCP, XV_HdmiRxSs_GetAudioInfoframe, XV_HdmiRxSs_GetVSIF Updated XV_HdmiRxSs_ConfigBridgeMode so Pixel Pepetition is based on received AVI InfoFrame SM 28/02/18 Added definition of XV_HdmiRxSS_SetAppVersion() API 5.10 MMO 06/04/18 Updated XV_HdmiRxSs_ToggleHpd and XV_HdmiRxSs_Stop for cleaner HPD flow during transition from HDMI2.0 to HDMI1.4 YH 13/04/18 Fixed a bug in XV_HdmiRxSs_BrdgOverflowCallback 5.20 EB 03/08/18 Added function XV_HdmiRxSs_AudioMute Added TMDS Clock Ratio callback support 5.40 EB 06/08/19 Added Vic and Video Timing mismatch callback support
Macros | |
#define | XV_HdmiRxSs_BridgeYuv420(InstancePtr, Enable) |
This macros selects the bridge YUV420 mode. More... | |
#define | XV_HdmiRxSs_BridgePixelDrop(InstancePtr, Enable) |
This macros selects the bridge pixel repeat mode. More... | |
Functions | |
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_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... | |
void | XV_HdmiRxSs_Write_ScdcRegister (XV_HdmiRxSs *InstancePtr, u8 address, u8 data) |
This function writes to SCDC registers. More... | |
XHdmiC_AVI_InfoFrame * | XV_HdmiRxSs_GetAviInfoframe (XV_HdmiRxSs *InstancePtr) |
This function returns the pointer to HDMI RX SS AVI 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... | |
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_DRMInfoFrame * | XV_HdmiRxSs_GetDrmInfoframe (XV_HdmiRxSs *InstancePtr) |
This function returns the pointer to HDMI RX SS DRM InfoFrame 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_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_AudioMute (XV_HdmiRxSs *InstancePtr, u8 Enable) |
This function set HDMI RX audio parameters. More... | |
Variables | |
XV_HdmiRxSs_SubCores | XV_HdmiRxSs_SubCoreRepo [XPAR_XV_HDMIRXSS_NUM_INSTANCES] |
Define Driver instance of all sub-core included in the design. More... | |
#define XV_HdmiRxSs_BridgePixelDrop | ( | InstancePtr, | |
Enable | |||
) |
This macros selects the bridge pixel repeat mode.
InstancePtr | is a pointer to the HDMI RX Subsystem |
#define XV_HdmiRxSs_BridgeYuv420 | ( | InstancePtr, | |
Enable | |||
) |
This macros selects the bridge YUV420 mode.
InstancePtr | is a pointer to the HDMI RX Subsystem |
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_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 |
XV_HdmiRxSs_SubCores XV_HdmiRxSs_SubCoreRepo[XPAR_XV_HDMIRXSS_NUM_INSTANCES] |
Define Driver instance of all sub-core included in the design.