dp14rxss
Vitis Drivers API Documentation
Overview

Data Structures

struct  XDpRxSs_UsrOpt
 User input structure. More...
 
struct  XDpRxSs_DpSubCore
 DisplayPort Sub-core structure. More...
 
struct  XDpRxSs_IicSubCore
 IIC Sub-core structure. More...
 
struct  XDpRxSs_SubCoreConfig
 This typedef contains configuration information for the DpRxSs subcore instances. More...
 
struct  XDpRxSs_Hdcp1xSubCore
 High-Bandwidth Content Protection (HDCP) Sub-core structure. More...
 
struct  XDpRxSs_TmrCtrSubCore
 Timer Counter Sub-core structure. More...
 
struct  XDpRxSs_Hdcp22SubCore
 Sub-Core Configuration Table. More...
 
struct  XDpRxSs_Config
 This typedef contains configuration information for the DisplayPort Receiver Subsystem core. More...
 
struct  XDpRxSs
 The DisplayPort RX Subsystem driver instance data. More...
 

Macros

#define XDPRXSS_H_
 Prevent circular inclusions by using protection macros. More...
 
#define XDpRxSs_TimerHandler   XDp_TimerHandler
 Callback type which represents a custom timer wait handler. More...
 
#define XDpRxSs_DtgEnable(InstancePtr)   XDp_RxDtgEn((InstancePtr)->DpPtr)
 This function macro enables the display timing generator (DTG). More...
 
#define XDpRxSs_DtgDisable(InstancePtr)   XDp_RxDtgDis((InstancePtr)->DpPtr)
 This function macro disables the display timing generator (DTG). More...
 
#define XDpRxSs_AudioEnable(InstancePtr)   XDp_RxAudioEn((InstancePtr)->DpPtr)
 This function macro enables audio stream packets on the main link. More...
 
#define XDpRxSs_AudioDisable(InstancePtr)   XDp_RxAudioDis((InstancePtr)->DpPtr)
 This function macro disables audio stream packets on the main link. More...
 
#define XDpRxSs_AudioReset(InstancePtr)   XDp_RxAudioReset((InstancePtr)->DpPtr)
 This function macro resets the reception of audio stream packets on the main link. More...
 
#define XDpRxSs_Mst_AudioEnable(InstancePtr, StreamId)   XDp_Rx_Mst_AudioEn((InstancePtr)->DpPtr, StreamId)
 This function macro enables MST audio on a given stream on the main link. More...
 
#define XDpRxSs_Mst_AudioDisable(InstancePtr)   XDp_RxAudioDis((InstancePtr)->DpPtr)
 This function macro disables audio on a given stream on the main link. More...
 
#define XDpRxSs_WaitUs(InstancePtr, MicroSeconds)   XDp_WaitUs((InstancePtr)->DpPtr, MicroSeconds)
 This function macro is the delay/sleep function for the XDpRxSs driver. More...
 
#define XDpRxSs_Printf   XHdcp1x_Printf
 Debug printf. More...
 
#define XDpRxSs_LogMsg   XHdcp1x_LogMsg
 Debug log message. More...
 
#define XDPRXSS_HW_H_
 Prevent circular inclusions by using protection macros. More...
 
#define XDPRXSS_LINK_BW_SET_162GBPS   XDP_RX_OVER_LINK_BW_SET_162GBPS
 1.62 Gbps link rate. More...
 
#define XDPRXSS_LINK_BW_SET_270GBPS   XDP_RX_OVER_LINK_BW_SET_270GBPS
 2.70 Gbps link rate. More...
 
#define XDPRXSS_LINK_BW_SET_540GBPS   XDP_RX_OVER_LINK_BW_SET_540GBPS
 5.40 Gbps link rate. More...
 
#define XDPRXSS_LINK_BW_SET_810GBPS   XDP_RX_OVER_LINK_BW_SET_810GBPS
 8.10 Gbps link rate. More...
 
#define XDPRXSS_LANE_COUNT_SET_1   XDP_RX_OVER_LANE_COUNT_SET_1
 Lane count of 1. More...
 
#define XDPRXSS_LANE_COUNT_SET_2   XDP_RX_OVER_LANE_COUNT_SET_2
 Lane count of 2. More...
 
#define XDPRXSS_LANE_COUNT_SET_4   XDP_RX_OVER_LANE_COUNT_SET_4
 Lane count of 4. More...
 
#define XDPRXSS_RX_PHY_CONFIG   XDP_RX_PHY_CONFIG
 PHY reset and config. More...
 
#define XDPRXSS_PHY_POWER_DOWN   XDP_RX_PHY_POWER_DOWN
 PHY power down. More...
 
#define XDPRXSS_MSA_HRES   XDP_RX_MSA_HRES
 Number of active pixels per line (the horizontal resolution). More...
 
#define XDPRXSS_MSA_VRES   XDP_RX_MSA_VHEIGHT
 Number of active lines (the vertical resolution). More...
 
#define XDPRXSS_NUM_STREAMS   4
 Maximum number of streams supported. More...
 
#define XDPRXSS_MAX_NPORTS   XDP_MAX_NPORTS
 Maximum number of RX ports. More...
 
#define XDPRXSS_GUID_NBYTES   XDP_GUID_NBYTES
 Number of bytes for GUID. More...
 
#define XDPRXSS_TMRCTR_RST_VAL   100000000
 Timer Counter reset value. More...
 
#define XDPRXSS_MCDP6000_IIC_SLAVE   0x14
 MCDP6000 slave device. More...
 

Typedefs

typedef void(* XDpRxSs_Callback )(void *InstancePtr)
 Callback type which represents the handler for events. More...
 

Enumerations

enum  XDpRxSs_HdcpProtocol { XDPRXSS_HDCP_NONE, XDPRXSS_HDCP_14, XDPRXSS_HDCP_22, XDPRXSS_HDCP_BOTH }
 These constants specify the HDCP protection schemes. More...
 
enum  XDpRxSs_HandlerType {
  XDPRXSS_HANDLER_DP_VM_CHG_EVENT = 1, XDPRXSS_HANDLER_DP_PWR_CHG_EVENT, XDPRXSS_HANDLER_DP_NO_VID_EVENT, XDPRXSS_HANDLER_DP_VBLANK_EVENT,
  XDPRXSS_HANDLER_DP_TLOST_EVENT, XDPRXSS_HANDLER_DP_VID_EVENT, XDPRXSS_HANDLER_DP_INFO_PKT_EVENT, XDPRXSS_HANDLER_DP_EXT_PKT_EVENT,
  XDPRXSS_HANDLER_DP_TDONE_EVENT, XDPRXSS_HANDLER_DP_BW_CHG_EVENT, XDPRXSS_HANDLER_DP_DWN_REQ_EVENT, XDPRXSS_HANDLER_DP_DWN_REP_EVENT,
  XDPRXSS_HANDLER_DP_AUD_OVRFLW_EVENT, XDPRXSS_HANDLER_DP_PAYLOAD_ALLOC_EVENT, XDPRXSS_HANDLER_DP_ACT_RX_EVENT, XDPRXSS_HANDLER_DP_CRC_TEST_EVENT,
  XDPRXSS_HANDLER_HDCP_RPTR_TDSA_EVENT, XDPRXSS_HANDLER_HDCP_AUTHENTICATED, XDPRXSS_HANDLER_HDCP22_AUTHENTICATED, XDPRXSS_HANDLER_HDCP22_UNAUTHENTICATED,
  XDPRXSS_HANDLER_HDCP22_AUTHENTICATION_REQUEST, XDPRXSS_HANDLER_HDCP22_ENCRYPTION_UPDATE, XDPRXSS_HANDLER_HDCP22_SKE_SEND_EKS, XDPRXSS_HANDLER_UNPLUG_EVENT,
  XDPRXSS_HANDLER_LINKBW_EVENT, XDPRXSS_HANDLER_PLL_RESET_EVENT, XDPRXSS_DRV_HANDLER_DP_PWR_CHG_EVENT, XDPRXSS_DRV_HANDLER_DP_VID_EVENT,
  XDPRXSS_DRV_HANDLER_DP_NO_VID_EVENT, XDPRXSS_HANDLER_ACCESS_LANE_SET_EVENT, XDPRXSS_HANDLER_ACCESS_LINK_QUAL_EVENT, XDPRXSS_HANDLER_ACCESS_ERROR_COUNTER_EVENT,
  XDPRXSS_HANDLER_DP_VBLANK_STREAM_2_EVENT, XDPRXSS_HANDLER_DP_VBLANK_STREAM_3_EVENT, XDPRXSS_HANDLER_DP_VBLANK_STREAM_4_EVENT, XDPRXSS_HANDLER_DP_ADAPTIVESYNC_SDP_STREAM_1_EVENT,
  XDPRXSS_HANDLER_DP_ADAPTIVESYNC_SDP_STREAM_2_EVENT, XDPRXSS_HANDLER_DP_ADAPTIVESYNC_SDP_STREAM_3_EVENT, XDPRXSS_HANDLER_DP_ADAPTIVESYNC_SDP_STREAM_4_EVENT, XDPRXSS_HANDLER_DP_ADAPTIVESYNC_VBLANK_STREAM_1_EVENT,
  XDPRXSS_HANDLER_DP_ADAPTIVESYNC_VBLANK_STREAM_2_EVENT, XDPRXSS_HANDLER_DP_ADAPTIVESYNC_VBLANK_STREAM_3_EVENT, XDPRXSS_HANDLER_DP_ADAPTIVESYNC_VBLANK_STREAM_4_EVENT, XDPRXSS_HANDLER_DP_VM_CHG_STREAM_2_EVENT,
  XDPRXSS_HANDLER_DP_VM_CHG_STREAM_3_EVENT, XDPRXSS_HANDLER_DP_VM_CHG_STREAM_4_EVENT, XDPRXSS_HANDLER_DP_NO_VID_STREAM_2_EVENT, XDPRXSS_HANDLER_DP_NO_VID_STREAM_3_EVENT,
  XDPRXSS_HANDLER_DP_NO_VID_STREAM_4_EVENT, XDPRXSS_HANDLER_DP_VID_STREAM_2_EVENT, XDPRXSS_HANDLER_DP_VID_STREAM_3_EVENT, XDPRXSS_HANDLER_DP_VID_STREAM_4_EVENT,
  XDPRXSS_HANDLER_DP_INFO_PKT_STREAM_2_EVENT, XDPRXSS_HANDLER_DP_INFO_PKT_STREAM_3_EVENT, XDPRXSS_HANDLER_DP_INFO_PKT_STREAM_4_EVENT, XDPRXSS_HANDLER_DP_EXT_PKT_STREAM_2_EVENT,
  XDPRXSS_HANDLER_DP_EXT_PKT_STREAM_3_EVENT, XDPRXSS_HANDLER_DP_EXT_PKT_STREAM_4_EVENT
}
 These constants specify different types of handler and used to differentiate interrupt requests from sub-cores. More...
 

Functions

u32 XDpRxSs_CfgInitialize (XDpRxSs *InstancePtr, XDpRxSs_Config *CfgPtr, UINTPTR EffectiveAddr)
 This function initializes the DisplayPort Receiver Subsystem core. More...
 
void XDpRxSs_Reset (XDpRxSs *InstancePtr)
 This function resets the DisplayPort Receiver Subsystem including all sub-cores. More...
 
u32 XDpRxSs_Start (XDpRxSs *InstancePtr)
 This function starts the DisplayPort Receiver Subsystem including all sub-cores. More...
 
u32 XDpRxSs_SetLinkRate (XDpRxSs *InstancePtr, u8 LinkRate)
 This function sets the data rate to be used by the DisplayPort RX Subsystem core. More...
 
u32 XDpRxSs_SetLaneCount (XDpRxSs *InstancePtr, u8 LaneCount)
 This function sets the number of lanes to be used by DisplayPort RX Subsystem core. More...
 
u32 XDpRxSs_ExposePort (XDpRxSs *InstancePtr, u8 Port)
 This function allows the user to select number of ports to be exposed when replying to a LINK_ADDRESS sideband message and hides rest of the ports. More...
 
u32 XDpRxSs_CheckLinkStatus (XDpRxSs *InstancePtr)
 This function checks if the receiver's DisplayPort Configuration Data (DPCD) indicates that the receiver has achieved clock recovery, channel equalization, symbol lock, and interlane alignment for all lanes currently in use. More...
 
void XDpRxSs_SetUserPixelWidth (XDpRxSs *InstancePtr, u8 UserPixelWidth)
 This function configures the number of pixels output through the user data interface. More...
 
u8 XDpRxss_GetBpc (XDpRxSs *InstancePtr, u8 Stream)
 This function extracts the bits per color from MISC0 or VSC SDP packet based on whether reception of colorimetry information through VSC SDP packets or through MISC registers of the stream. More...
 
u8 XDpRxss_GetColorComponent (XDpRxSs *InstancePtr, u8 Stream)
 This function extracts the color component format from MISC0 or VSC SDP packet based on whether reception of colorimetry information through VSC SDP packets or through MISC registers of the stream. More...
 
u8 XDpRxss_GetColorimetry (XDpRxSs *InstancePtr, u8 Stream)
 This function extracts the YCbCrColorimetry from MISC0 or VSC SDP packet based on whether reception of colorimetry information through VSC SDP packets or through MISC registers of the stream. More...
 
u8 XDpRxss_GetDynamicRange (XDpRxSs *InstancePtr, u8 Stream)
 This function extracts the dynamic range from MISC0 or VSC SDP packet based on whether reception of colorimetry information through VSC SDP packets or through MISC registers of the stream. More...
 
u32 XDpRxSs_HandleDownReq (XDpRxSs *InstancePtr)
 This function handles incoming sideband messages. More...
 
u32 XDpRxSs_HdcpEnable (XDpRxSs *InstancePtr)
 This function enables the requested HDCP protocol. More...
 
u32 XDpRxSs_HdcpDisable (XDpRxSs *InstancePtr)
 This function disables High-Bandwidth Content Protection (HDCP) interface. More...
 
u32 XDpRxSs_Poll (XDpRxSs *InstancePtr)
 This function polls the HDCP interface, process events and sets receive state machine accordingly. More...
 
u32 XDpRxSs_SetPhysicalState (XDpRxSs *InstancePtr, u32 PhyState)
 This function enables/disables the underlying physical interface. More...
 
u32 XDpRxSs_SetLane (XDpRxSs *InstancePtr, u32 Lane)
 This function sets lane(s) of the HDCP interface. More...
 
u32 XDpRxSs_Authenticate (XDpRxSs *InstancePtr)
 This function initiates authentication process. More...
 
u32 XDpRxSs_IsAuthenticated (XDpRxSs *InstancePtr)
 This function checks whether the HDCP Receiver authenticated or not. More...
 
u64 XDpRxSs_GetEncryption (XDpRxSs *InstancePtr)
 This function retrieves the current encryption map. More...
 
void XDpRxSs_SetDebugPrintf (XDpRxSs *InstancePtr, XDpRxSs_Printf PrintfFunc)
 This function sets the debug printf function. More...
 
void XDpRxSs_SetDebugLogMsg (XDpRxSs *InstancePtr, XDpRxSs_LogMsg LogFunc)
 This function sets the debug log message function. More...
 
u32 XDpRxSs_DownstreamReady (XDpRxSs *InstancePtr)
 This function informs the HDCP state machine that the downstream interfaces of the Repeater are ready (enabled or authenticated). More...
 
void XDpRxSs_StartTimer (XDpRxSs *InstancePtr)
 This function starts the Timer Counter in count down, interrupt mode. More...
 
void XDpRxSs_StopTimer (XDpRxSs *InstancePtr)
 This function stops the Timer Counter. More...
 
void XDpRxSs_HandleTimeout (XDpRxSs *InstancePtr)
 This function handles a timeout for HDCP. More...
 
void XDpRxSs_McDp6000_init (void *InstancePtr)
 This routine initializes the MCDP6000 part on the VFMC card used for DP 1.4. More...
 
int XDpRxSs_HdcpSetProtocol (XDpRxSs *InstancePtr, XDpRxSs_HdcpProtocol Protocol)
 This function sets the active HDCP protocol and enables it. More...
 
void XDpRxSs_Hdcp22SetKey (XDpRxSs *InstancePtr, XDpRxSs_Hdcp22KeyType KeyType, u8 *KeyPtr)
 This function sets pointers to the HDCP 2.2 keys. More...
 
void XDpRxSs_SetAdaptiveSyncCaps (XDpRxSs *InstancePtr, u32 Enable)
 This function sets Adaptive-Sync capabilities to DisplayPort RX Subsystem. More...
 
void XDpRxSs_MaskAdaptiveIntr (XDpRxSs *InstancePtr, u32 Mask)
 This function masks the Adaptive-Sync interrupts from DisplayPort RX Subsystem. More...
 
void XDpRxSs_UnMaskAdaptiveIntr (XDpRxSs *InstancePtr, u32 Mask)
 This function unmasks Adaptive-Sync interrupt from DisplayPort RX Subsystem. More...
 
int XDpRxSs_GetVblank (XDpRxSs *InstancePtr, u8 Stream)
 This function retrieves the current vblank value of the incoming video stream. More...
 
int XDpRxSs_GetVtotal (XDpRxSs *InstancePtr, u8 Stream)
 This function retrieves the current VTotal value of the incoming video stream. More...
 
XDpRxSs_ConfigXDpRxSs_LookupConfig (u16 DeviceId)
 This function returns a reference to an XDpRxSs_Config structure based on the core id, DeviceId. More...
 
void XDpRxSs_ReportCoreInfo (XDpRxSs *InstancePtr)
 This function reports list of sub-cores included in DisplayPort RX Subsystem. More...
 
void XDpRxSs_ReportLinkInfo (XDpRxSs *InstancePtr)
 This function prints the link status, selected resolution, link rate /lane count symbol error. More...
 
void XDpRxSs_ReportMsaInfo (XDpRxSs *InstancePtr)
 This function prints the current main stream attributes from the DisplayPort RX core. More...
 
void XDpRxSs_ReportHdcpInfo (XDpRxSs *InstancePtr)
 This function prints the debug display info of the HDCP interface. More...
 
u32 XDpRxSs_SelfTest (XDpRxSs *InstancePtr)
 This function performs self test on DisplayPort Receiver Subsystem sub-cores. More...
 
void XDpRxSs_HdcpIntrHandler (void *InstancePtr)
 This function is the interrupt handler for the HDCP Cipher core. More...
 
void XDpRxSs_TmrCtrIntrHandler (void *InstancePtr)
 This function is the interrupt handler for the Timer Counter core. More...
 
void XDpRxSs_DpIntrHandler (void *InstancePtr)
 This function is the interrupt handler for the DisplayPort RX core operating in RX mode. More...
 
u32 XDpRxSs_SetCallBack (XDpRxSs *InstancePtr, u32 HandlerType, void *CallbackFunc, void *CallbackRef)
 This function installs an asynchronous callback function for the given HandlerType: More...
 
void XDpRxSs_SetUserTimerHandler (XDpRxSs *InstancePtr, XDpRxSs_TimerHandler CallbackFunc, void *CallbackRef)
 This function installs a custom delay/sleep function to be used by the DisplayPort RX Subsystem. More...
 
void XDpRxSs_DrvNoVideoHandler (void *InstancePtr)
 This function is the interrupt handler for No Video. More...
 
void XDpRxSs_DrvVideoHandler (void *InstancePtr)
 This function is for the video interrupt handler. More...
 
void XDpRxSs_DrvPowerChangeHandler (void *InstancePtr)
 This function is for the power change interrupt handler. More...
 
void XDpRxSs_Hdcp22LicFailHandler (void *InstancePtr)
 This function is the interrupt handler for HDCP22 LIC failure. More...
 
u32 XDpRxSs_MCDP6000_GetRegister (XDpRxSs *DpRxSsPtr, u8 I2CSlaveAddress, u16 RegisterAddress)
 This function reads a single 32b word from the MCDP6000 device. More...
 
int XDpRxSs_MCDP6000_SetRegister (XDpRxSs *DpRxSsPtr, u8 I2CSlaveAddress, u16 RegisterAddress, u32 Value)
 This function writes a single 32b word to the MCDP6000 device. More...
 
int XDpRxSs_MCDP6000_ModifyRegister (XDpRxSs *DpRxSsPtr, u8 I2CSlaveAddress, u16 RegisterAddress, u32 Value, u32 Mask)
 This function modifies a single 32b word from the MCDP6000 device. More...
 
int XDpRxSs_MCDP6000_DpInit (XDpRxSs *DpRxSsPtr, u8 I2CSlaveAddress)
 This function initializes the MCDP6000 device with default values for DP use with the Video FMC. More...
 
int XDpRxSs_MCDP6000_IbertInit (XDpRxSs *DpRxSsPtr, u8 I2CSlaveAddress)
 This function initializes the MCDP6000 device with default values for IBERT use with the Video FMC. More...
 
int XDpRxSs_MCDP6000_ResetCrPath (XDpRxSs *DpRxSsPtr, u8 I2CSlaveAddress)
 This function requests a reset of the CR path of the MCDP6000 device. More...
 
int XDpRxSs_MCDP6000_ResetDpPath (XDpRxSs *DpRxSsPtr, u8 I2CSlaveAddress)
 This function requests a reset of the DP path of the MCDP6000 device. More...
 
int XDpRxSs_MCDP6000_EnablePrbs7_Tx (XDpRxSs *DpRxSsPtr, u8 I2CSlaveAddress)
 This function enables the PRBS7 output of the MCDP6000 device. More...
 
int XDpRxSs_MCDP6000_EnablePrbs7_Rx (XDpRxSs *DpRxSsPtr, u8 I2CSlaveAddress)
 This function enables the PRBS7 counter mode in MC Rx path Used in DP PHY compliance mode. More...
 
int XDpRxSs_MCDP6000_DisablePrbs7_Rx (XDpRxSs *DpRxSsPtr, u8 I2CSlaveAddress)
 This function Disables the PRBS7 counter mode in MC Rx path Used in DP PHY compliance mode. More...
 
int XDpRxSs_MCDP6000_EnableCounter (XDpRxSs *DpRxSsPtr, u8 I2CSlaveAddress)
 This function enables symbol counter. More...
 
int XDpRxSs_MCDP6000_ClearCounter (XDpRxSs *DpRxSsPtr, u8 I2CSlaveAddress)
 This function clears symbol counter. More...
 
int XDpRxSs_MCDP6000_Read_ErrorCounters (XDpRxSs *DpRxSsPtr, u8 I2CSlaveAddress)
 This function reads error counters for all lanes. More...
 
void XDpRxSs_MCDP6000_RegisterDump (XDpRxSs *DpRxSsPtr, u8 I2CSlaveAddress)
 This function displays a registerdump of the MCDP6000 device. More...
 
int XDpRxSs_MCDP6000_TransparentMode (XDpRxSs *DpRxSsPtr, u8 I2CSlaveAddress)
 This function sets the transparent mode of the MCDP6000 device. More...
 
int XDpRxSs_MCDP6000_BWchange (XDpRxSs *DpRxSsPtr, u8 I2CSlaveAddress)
 This function changes the bandwidth of the MCDP6000 device. More...
 
int XDpRxSs_MCDP6000_AccessLaneSet (XDpRxSs *DpRxSsPtr, u8 I2CSlaveAddress)
 This function sets the access lane register of the MCDP6000 device. More...
 

Register access macro definition

#define XDpRxSs_In32   Xil_In32
 Input Operations. More...
 
#define XDpRxSs_Out32   Xil_Out32
 Output Operations. More...
 
#define XDpRxSs_ReadReg(BaseAddress, RegOffset)   XDpRxSs_In32((BaseAddress) + ((u32)RegOffset))
 This macro reads a value from a DisplayPort Receiver Subsystem register. More...
 
#define XDpRxSs_WriteReg(BaseAddress, RegOffset, Data)   XDpRxSs_Out32((BaseAddress) + ((u32)RegOffset), (u32)(Data))
 This macro writes a value to a DisplayPort Receiver Subsystem register. More...
 

Macro Definition Documentation

#define XDpRxSs_AudioDisable (   InstancePtr)    XDp_RxAudioDis((InstancePtr)->DpPtr)

This function macro disables audio stream packets on the main link.

Parameters
InstancePtris a pointer to the XDpRxSs core instance.
Returns
None.
Note
C-style signature: void XDpRxSs_AudioDisable(XDpRxSs *InstancePtr)

Referenced by DpRxSs_Main(), DpRxSs_TrainingLostHandler(), and DpRxSs_UnplugHandler().

#define XDpRxSs_AudioEnable (   InstancePtr)    XDp_RxAudioEn((InstancePtr)->DpPtr)

This function macro enables audio stream packets on the main link.

Parameters
InstancePtris a pointer to the XDpRxSs core instance.
Returns
None.
Note
C-style signature: void XDpRxSs_AudioEnable(XDpRxSs *InstancePtr)

Referenced by DpRxSs_Main().

#define XDpRxSs_AudioReset (   InstancePtr)    XDp_RxAudioReset((InstancePtr)->DpPtr)

This function macro resets the reception of audio stream packets on the main link.

Parameters
InstancePtris a pointer to the XDpRxSs core instance.
Returns
None.
Note
C-style signature: void XDpRxSs_AudioReset(XDpRxSs *InstancePtr)
#define XDpRxSs_DtgDisable (   InstancePtr)    XDp_RxDtgDis((InstancePtr)->DpPtr)

This function macro disables the display timing generator (DTG).

Parameters
InstancePtris a pointer to the XDpRxSs core instance.
Returns
None.
Note
C-style signature: void XDpRxSs_DtgDisable(XDpRxSs *InstancePtr)
#define XDpRxSs_DtgEnable (   InstancePtr)    XDp_RxDtgEn((InstancePtr)->DpPtr)

This function macro enables the display timing generator (DTG).

Parameters
InstancePtris a pointer to the XDpRxSs core instance.
Returns
None.
Note
C-style signature: void XDpRxSs_DtgEnable(XDpRxSs *InstancePtr)
#define XDPRXSS_GUID_NBYTES   XDP_GUID_NBYTES

Number of bytes for GUID.

#define XDPRXSS_H_

Prevent circular inclusions by using protection macros.

#define XDPRXSS_HW_H_

Prevent circular inclusions by using protection macros.

#define XDpRxSs_In32   Xil_In32

Input Operations.

#define XDPRXSS_LANE_COUNT_SET_1   XDP_RX_OVER_LANE_COUNT_SET_1

Lane count of 1.

Referenced by XDpRxSs_SetLane(), and XDpRxSs_SetLaneCount().

#define XDPRXSS_LANE_COUNT_SET_2   XDP_RX_OVER_LANE_COUNT_SET_2

Lane count of 2.

Referenced by XDpRxSs_SetLane(), and XDpRxSs_SetLaneCount().

#define XDPRXSS_LANE_COUNT_SET_4   XDP_RX_OVER_LANE_COUNT_SET_4

Lane count of 4.

Referenced by XDpRxSs_SetLane(), and XDpRxSs_SetLaneCount().

#define XDPRXSS_LINK_BW_SET_162GBPS   XDP_RX_OVER_LINK_BW_SET_162GBPS

1.62 Gbps link rate.

Referenced by XDpRxSs_SetLinkRate().

#define XDPRXSS_LINK_BW_SET_270GBPS   XDP_RX_OVER_LINK_BW_SET_270GBPS

2.70 Gbps link rate.

Referenced by XDpRxSs_SetLinkRate().

#define XDPRXSS_LINK_BW_SET_540GBPS   XDP_RX_OVER_LINK_BW_SET_540GBPS

5.40 Gbps link rate.

Referenced by XDpRxSs_SetLinkRate().

#define XDPRXSS_LINK_BW_SET_810GBPS   XDP_RX_OVER_LINK_BW_SET_810GBPS

8.10 Gbps link rate.

Referenced by XDpRxSs_SetLinkRate().

#define XDpRxSs_LogMsg   XHdcp1x_LogMsg

Debug log message.

#define XDPRXSS_MAX_NPORTS   XDP_MAX_NPORTS

Maximum number of RX ports.

#define XDPRXSS_MCDP6000_IIC_SLAVE   0x14

MCDP6000 slave device.

Referenced by XDpRxSs_McDp6000_init().

#define XDPRXSS_MSA_HRES   XDP_RX_MSA_HRES

Number of active pixels per line (the horizontal resolution).

Referenced by DpRxSs_DetectResolution().

#define XDPRXSS_MSA_VRES   XDP_RX_MSA_VHEIGHT

Number of active lines (the vertical resolution).

Referenced by DpRxSs_DetectResolution().

#define XDpRxSs_Mst_AudioDisable (   InstancePtr)    XDp_RxAudioDis((InstancePtr)->DpPtr)

This function macro disables audio on a given stream on the main link.

Parameters
InstancePtris a pointer to the XDpRxSs core instance.
Returns
None.
Note
C-style signature: void XDpRxSs_Mst_AudioDisable(XDpRxSs *InstancePtr)
#define XDpRxSs_Mst_AudioEnable (   InstancePtr,
  StreamId 
)    XDp_Rx_Mst_AudioEn((InstancePtr)->DpPtr, StreamId)

This function macro enables MST audio on a given stream on the main link.

Parameters
InstancePtris a pointer to the XDpRxSs core instance.
StreamId to be enabled audio
Returns
None.
Note
C-style signature: void XDpRxSs_Mst_AudioEnable(XDpRxSs *InstancePtr, u8 StreamId)
#define XDPRXSS_NUM_STREAMS   4

Maximum number of streams supported.

#define XDpRxSs_Out32   Xil_Out32

Output Operations.

#define XDPRXSS_PHY_POWER_DOWN   XDP_RX_PHY_POWER_DOWN

PHY power down.

#define XDpRxSs_Printf   XHdcp1x_Printf

Debug printf.

#define XDpRxSs_ReadReg (   BaseAddress,
  RegOffset 
)    XDpRxSs_In32((BaseAddress) + ((u32)RegOffset))

This macro reads a value from a DisplayPort Receiver Subsystem register.

A 32 bit read is performed. If the component is implemented in a smaller width, only the least significant data is read from the register. The most significant data will be read as 0.

Parameters
BaseAddressis the base address of the XDpRxSs core instance.
RegOffsetis the register offset of the register (defined at the top of this file).
Returns
The 32-bit value of the register.
Note
C-style signature: u32 XDpRxSs_ReadReg(UINTPTR BaseAddress, u32 RegOffset)

Referenced by DpRxSs_DetectResolution(), XDpRxSs_GetVblank(), XDpRxSs_GetVtotal(), XDpRxSs_MaskAdaptiveIntr(), XDpRxSs_ReportLinkInfo(), XDpRxSs_SetAdaptiveSyncCaps(), and XDpRxSs_UnMaskAdaptiveIntr().

#define XDPRXSS_RX_PHY_CONFIG   XDP_RX_PHY_CONFIG

PHY reset and config.

#define XDpRxSs_TimerHandler   XDp_TimerHandler

Callback type which represents a custom timer wait handler.

#define XDPRXSS_TMRCTR_RST_VAL   100000000

Timer Counter reset value.

Referenced by XDpRxSs_CfgInitialize(), and XDpRxSs_StartTimer().

#define XDpRxSs_WaitUs (   InstancePtr,
  MicroSeconds 
)    XDp_WaitUs((InstancePtr)->DpPtr, MicroSeconds)

This function macro is the delay/sleep function for the XDpRxSs driver.

Parameters
InstancePtris a pointer to the XDpRxSs core instance.
MicroSecondsis the number of microseconds to delay/sleep for.
Returns
None.
Note
C-style signature: void XDpRxSs_WaitUs(XDpRxSs *InstancePtr)

Referenced by DpRxSs_DetectResolution().

#define XDpRxSs_WriteReg (   BaseAddress,
  RegOffset,
  Data 
)    XDpRxSs_Out32((BaseAddress) + ((u32)RegOffset), (u32)(Data))

This macro writes a value to a DisplayPort Receiver Subsystem register.

A 32 bit write is performed. If the component is implemented in a smaller width, only the least significant data is written.

Parameters
BaseAddressis the base address of the XDpRxSs core instance.
RegOffsetis the register offset of the register (defined at the top of this file) to be written.
Datais the 32-bit value to write into the register.
Returns
None.
Note
C-style signature: void XDpRxSs_WriteReg(UINTPTR BaseAddress, u32 RegOffset, u32 Data)

Referenced by XDpRxSs_MaskAdaptiveIntr(), XDpRxSs_Reset(), XDpRxSs_SetAdaptiveSyncCaps(), and XDpRxSs_UnMaskAdaptiveIntr().

Typedef Documentation

typedef void(* XDpRxSs_Callback)(void *InstancePtr)

Callback type which represents the handler for events.

Parameters
InstancePtris a pointer to the XDpRxSs instance.
Note
None.

Enumeration Type Documentation

These constants specify different types of handler and used to differentiate interrupt requests from sub-cores.

Enumerator
XDPRXSS_HANDLER_DP_VM_CHG_EVENT 

Video mode change event interrupt type for DisplayPort core.

XDPRXSS_HANDLER_DP_PWR_CHG_EVENT 

Power state change interrupt type for DisplayPort core.

XDPRXSS_HANDLER_DP_NO_VID_EVENT 

No video event interrupt type for DisplayPort core.

XDPRXSS_HANDLER_DP_VBLANK_EVENT 

Vertical blanking event interrupt type for DisplayPort core.

XDPRXSS_HANDLER_DP_TLOST_EVENT 

Training lost event interrupt type for DisplayPort core.

XDPRXSS_HANDLER_DP_VID_EVENT 

Valid video event interrupt type for DisplayPort core.

XDPRXSS_HANDLER_DP_INFO_PKT_EVENT 

Info packet event interrupt type for DisplayPort core.

XDPRXSS_HANDLER_DP_EXT_PKT_EVENT 

Extension packet event interrupt type for DisplayPort core.

XDPRXSS_HANDLER_DP_TDONE_EVENT 

Training done event interrupt type for DisplayPort core.

XDPRXSS_HANDLER_DP_BW_CHG_EVENT 

Bandwidth change event interrupt type for DisplayPort core.

XDPRXSS_HANDLER_DP_DWN_REQ_EVENT 

Down request event interrupt type for DisplayPort core.

XDPRXSS_HANDLER_DP_DWN_REP_EVENT 

Down reply event interrupt type for DisplayPort core.

XDPRXSS_HANDLER_DP_AUD_OVRFLW_EVENT 

Audio packet overflow event interrupt type for DisplayPort core.

XDPRXSS_HANDLER_DP_PAYLOAD_ALLOC_EVENT 

Payload allocation event interrupt type for DisplayPort core.

XDPRXSS_HANDLER_DP_ACT_RX_EVENT 

ACT sequence received event interrupt type for DisplayPort core.

XDPRXSS_HANDLER_DP_CRC_TEST_EVENT 

CRC test start event interrupt type for DisplayPort core.

XDPRXSS_HANDLER_HDCP_RPTR_TDSA_EVENT 

Repeater Trigger Downstream AUTH event interrupt type for HDCP core.

XDPRXSS_HANDLER_HDCP_AUTHENTICATED 

HDCP Authentication completion interrupt type for HDCP core.

XDPRXSS_HANDLER_HDCP22_AUTHENTICATED 

Handler for HDCP22 authenticated event.

XDPRXSS_HANDLER_HDCP22_UNAUTHENTICATED 

Handler for HDCP22 authenticated event.

XDPRXSS_HANDLER_HDCP22_AUTHENTICATION_REQUEST 

Handler for HDCP authentication request event.

XDPRXSS_HANDLER_HDCP22_ENCRYPTION_UPDATE 

Handler for HDCP encryption status update event.

XDPRXSS_HANDLER_HDCP22_SKE_SEND_EKS 

Handler for HDCP Repeater first stage of authentication event.

XDPRXSS_HANDLER_UNPLUG_EVENT 

Unplug event type for DisplayPort RX Subsystem.

XDPRXSS_HANDLER_LINKBW_EVENT 

Link BW event type for DisplayPort RX Subsystem.

XDPRXSS_HANDLER_PLL_RESET_EVENT 

PLL reset event type for DisplayPort RX Subsystem.

XDPRXSS_DRV_HANDLER_DP_PWR_CHG_EVENT 

Drv power state change interrupt type for DisplayPort core.

XDPRXSS_DRV_HANDLER_DP_VID_EVENT 

Drv Valid video event interrupt type for DisplayPort core.

XDPRXSS_DRV_HANDLER_DP_NO_VID_EVENT 

Drv No video event interrupt type for DisplayPort core.

XDPRXSS_HANDLER_ACCESS_LANE_SET_EVENT 

Drv Access lane set interrupt type for DisplayPort core.

XDPRXSS_HANDLER_ACCESS_LINK_QUAL_EVENT 

Drv Access link qual interrupt type for DisplayPort core.

XDPRXSS_HANDLER_ACCESS_ERROR_COUNTER_EVENT 

Drv Access error counter interrupt type for DisplayPort core.

XDPRXSS_HANDLER_DP_VBLANK_STREAM_2_EVENT 

Vertical blanking event for stream 2 interrupt type for DisplayPort core.

XDPRXSS_HANDLER_DP_VBLANK_STREAM_3_EVENT 

Vertical blanking event for stream 3 interrupt type for DisplayPort core.

XDPRXSS_HANDLER_DP_VBLANK_STREAM_4_EVENT 

Vertical blanking event for stream 4 interrupt type for DisplayPort core.

XDPRXSS_HANDLER_DP_ADAPTIVESYNC_SDP_STREAM_1_EVENT 

Adaptive sync SDP packet event for stream 1 DisplayPort core.

XDPRXSS_HANDLER_DP_ADAPTIVESYNC_SDP_STREAM_2_EVENT 

Adaptive sync SDP packet event for stream 2 DisplayPort core.

XDPRXSS_HANDLER_DP_ADAPTIVESYNC_SDP_STREAM_3_EVENT 

Adaptive sync SDP packet event for stream 3 DisplayPort core.

XDPRXSS_HANDLER_DP_ADAPTIVESYNC_SDP_STREAM_4_EVENT 

Adaptive sync SDP packet event for stream 4 DisplayPort core.

XDPRXSS_HANDLER_DP_ADAPTIVESYNC_VBLANK_STREAM_1_EVENT 

Adaptive sync vblank event for stream 1 DisplayPort core.

XDPRXSS_HANDLER_DP_ADAPTIVESYNC_VBLANK_STREAM_2_EVENT 

Adaptive sync vblank event for stream 2 DisplayPort core.

XDPRXSS_HANDLER_DP_ADAPTIVESYNC_VBLANK_STREAM_3_EVENT 

Adaptive sync vblank event for stream 3 DisplayPort core.

XDPRXSS_HANDLER_DP_ADAPTIVESYNC_VBLANK_STREAM_4_EVENT 

Adaptive sync vblank event for stream 4 DisplayPort core.

XDPRXSS_HANDLER_DP_VM_CHG_STREAM_2_EVENT 

Video mode change event interrupt type for stream 2 DisplayPort core.

XDPRXSS_HANDLER_DP_VM_CHG_STREAM_3_EVENT 

Video mode change event interrupt type for stream 3 DisplayPort core.

XDPRXSS_HANDLER_DP_VM_CHG_STREAM_4_EVENT 

Video mode change event interrupt type for stream 4 DisplayPort core.

XDPRXSS_HANDLER_DP_NO_VID_STREAM_2_EVENT 

No video event interrupt type for stream 2 DisplayPort core.

XDPRXSS_HANDLER_DP_NO_VID_STREAM_3_EVENT 

No video event interrupt type for stream 3 DisplayPort core.

XDPRXSS_HANDLER_DP_NO_VID_STREAM_4_EVENT 

No video event interrupt type for stream 4 DisplayPort core.

XDPRXSS_HANDLER_DP_VID_STREAM_2_EVENT 

Valid video event interrupt type for stream 2 DisplayPort core.

XDPRXSS_HANDLER_DP_VID_STREAM_3_EVENT 

Valid video event interrupt type for stream 3 DisplayPort core.

XDPRXSS_HANDLER_DP_VID_STREAM_4_EVENT 

Valid video event interrupt type for stream 4 DisplayPort core.

XDPRXSS_HANDLER_DP_INFO_PKT_STREAM_2_EVENT 

Info packet event interrupt type for stream 2 DisplayPort core.

XDPRXSS_HANDLER_DP_INFO_PKT_STREAM_3_EVENT 

Info packet event interrupt type for stream 3 DisplayPort core.

XDPRXSS_HANDLER_DP_INFO_PKT_STREAM_4_EVENT 

Info packet event interrupt type for stream 4 DisplayPort core.

XDPRXSS_HANDLER_DP_EXT_PKT_STREAM_2_EVENT 

Extension packet event interrupt type for stream 2 DisplayPort core.

XDPRXSS_HANDLER_DP_EXT_PKT_STREAM_3_EVENT 

Extension packet event interrupt type for stream 3 DisplayPort core.

XDPRXSS_HANDLER_DP_EXT_PKT_STREAM_4_EVENT 

Extension packet event interrupt type for stream 4 DisplayPort core.

These constants specify the HDCP protection schemes.

Enumerator
XDPRXSS_HDCP_NONE 

No content protection.

XDPRXSS_HDCP_14 

HDCP 1.4.

XDPRXSS_HDCP_22 

HDCP 2.2.

XDPRXSS_HDCP_BOTH 

Both HDCP 1.4 and 2.2.

Function Documentation

u32 XDpRxSs_Authenticate ( XDpRxSs InstancePtr)

This function initiates authentication process.

Parameters
InstancePtris a pointer to the XDpRxSs core instance.
Returns
  • XST_SUCCESS, if authentication initiated successfully.
  • XST_FAILURE, if authentication initiated failed.
Note
None.

References XDpRxSs::Config, XDpRxSs::Hdcp1xPtr, and XDpRxSs_Config::HdcpEnable.

Referenced by DpRxSs_HdcpExample().

u32 XDpRxSs_CfgInitialize ( XDpRxSs InstancePtr,
XDpRxSs_Config CfgPtr,
UINTPTR  EffectiveAddr 
)

This function initializes the DisplayPort Receiver Subsystem core.

This function must be called prior to using the core. Initialization of the core includes setting up the instance data and ensuring the hardware is in a quiescent state.

Parameters
InstancePtris a pointer to the XDpRxSs core instance.
CfgPtrpoints to the configuration structure associated with the DisplayPort RX Subsystem core.
EffectiveAddris 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.
Returns
  • XST_DEVICE_NOT_FOUND if sub-core not found.
  • XST_FAILURE if sub-core initialization failed.
  • XST_SUCCESS if XDpRxSs_CfgInitialize successful.
Note
None.

References XDpRxSs_Config::BaseAddress, XDpRxSs_UsrOpt::Bpc, XDpRxSs_Config::ClkWizSubCore, XDpRxSs::Config, XDpRxSs_SubCoreConfig::DeviceId, XDpRxSs_DpSubCore::DpConfig, XDpRxSs::DpPtr, XDpRxSs_Config::DpSubCore, XDpRxSs_Hdcp1xSubCore::Hdcp1xConfig, XDpRxSs::Hdcp1xPtr, XDpRxSs_Config::Hdcp1xSubCore, XDpRxSs_Config::Hdcp22Enable, XDpRxSs::Hdcp22Lc128Ptr, XDpRxSs::Hdcp22PrivateKeyPtr, XDpRxSs::Hdcp22Ptr, XDpRxSs_Config::HdcpEnable, XDpRxSs::HdcpIsReady, XDpRxSs_Config::IicSubCore, XDpRxSs_Config::IncludeClkWiz, XDpRxSs::IsReady, XDpRxSs_UsrOpt::LaneCount, XDpRxSs_UsrOpt::LinkRate, XDpRxSs_Config::MaxBpc, XDpRxSs_Config::MaxLaneCount, XDpRxSs_UsrOpt::MstSupport, XDpRxSs_Config::MstSupport, XDpRxSs_Config::NumMstStreams, XDpRxSs_UsrOpt::NumOfStreams, XDpRxSs::TmrCtrPtr, XDpRxSs_Config::TmrCtrSubCore, XDpRxSs::UsrOpt, XDPRXSS_DRV_HANDLER_DP_NO_VID_EVENT, XDPRXSS_DRV_HANDLER_DP_PWR_CHG_EVENT, XDPRXSS_DRV_HANDLER_DP_VID_EVENT, XDpRxSs_DrvNoVideoHandler(), XDpRxSs_DrvPowerChangeHandler(), XDpRxSs_DrvVideoHandler(), XDPRXSS_HDCP_14, XDPRXSS_HDCP_22, XDpRxSs_HdcpSetProtocol(), XDpRxSs_SetCallBack(), XDpRxSs_SubcoreInitHdcp22(), and XDPRXSS_TMRCTR_RST_VAL.

Referenced by DpRxSs_DebugExample(), DpRxSs_HdcpExample(), DpRxSs_IntrExample(), DpRxSs_Main(), DpRxSs_MstExample(), and DpRxSs_SelfTestExample().

u32 XDpRxSs_CheckLinkStatus ( XDpRxSs InstancePtr)

This function checks if the receiver's DisplayPort Configuration Data (DPCD) indicates that the receiver has achieved clock recovery, channel equalization, symbol lock, and interlane alignment for all lanes currently in use.

Parameters
InstancePtris a pointer to the XDpRxSs core instance.
Returns
  • XST_SUCCESS if the RX device has achieved clock recovery, channel equalization, symbol lock, and interlane alignment.
  • XST_DEVICE_NOT_FOUND if no RX device is connected.
  • XST_FAILURE otherwise.
Note
None.

References XDpRxSs::DpPtr.

u32 XDpRxSs_DownstreamReady ( XDpRxSs InstancePtr)

This function informs the HDCP state machine that the downstream interfaces of the Repeater are ready (enabled or authenticated).

Parameters
InstancePtris a pointer to the XDpRxSs core instance.
Returns
  • XST_SUCCESS, if downstream is ready.
  • XST_FAILURE, if downstream is not ready.
Note
None.

References XDpRxSs::Config, XDpRxSs::Hdcp1xPtr, and XDpRxSs_Config::HdcpEnable.

void XDpRxSs_DpIntrHandler ( void *  InstancePtr)

This function is the interrupt handler for the DisplayPort RX core operating in RX mode.

The application is responsible for connecting this function to the interrupt system. Application beyond this driver is also responsible for providing callbacks to handle interrupts and installing the callbacks using XDpRxSs_SetCallBack() during initialization phase.

Parameters
InstancePtris a pointer to the XDpRxSs core instance that just interrupted.
Returns
None.
Note
None.

References XDpRxSs::DpPtr, and XDpRxSs::IsReady.

Referenced by DpRxSs_SetupIntrSystem().

void XDpRxSs_DrvNoVideoHandler ( void *  InstancePtr)

This function is the interrupt handler for No Video.

Parameters
InstancePtris a pointer to the XDpRxSs core instance that just interrupted.
Returns
None.
Note
None.

References XDpRxSs::DpPtr, and XDpRxSs::IsReady.

Referenced by XDpRxSs_CfgInitialize().

void XDpRxSs_DrvPowerChangeHandler ( void *  InstancePtr)

This function is for the power change interrupt handler.

Parameters
InstancePtris a pointer to the XDpRxSs core instance that just interrupted.
Returns
None.
Note
None.

References XDpRxSs::DpPtr, and XDpRxSs::IsReady.

Referenced by XDpRxSs_CfgInitialize().

void XDpRxSs_DrvVideoHandler ( void *  InstancePtr)

This function is for the video interrupt handler.

Parameters
InstancePtris a pointer to the XDpRxSs core instance that just interrupted.
Returns
None.
Note
None.

References XDpRxSs::DpPtr, and XDpRxSs::IsReady.

Referenced by XDpRxSs_CfgInitialize().

u32 XDpRxSs_ExposePort ( XDpRxSs InstancePtr,
u8  Port 
)

This function allows the user to select number of ports to be exposed when replying to a LINK_ADDRESS sideband message and hides rest of the ports.

Parameters
InstancePtris a pointer to the XDpRxSs core instance.
Portspecifies the number of ports to be exposed within the range 1 to 4.
Returns
  • XST_SUCCESS, if ports exposed successfully.
  • XST_FAILURE, if exposing ports which are already exposed or ports are exceeding total number of stream supported by the system.
Note
Number of ports are equal to number of streams.

References XDpRxSs::Config, XDpRxSs::DpPtr, XDpRxSs_UsrOpt::MstSupport, XDpRxSs_Config::NumMstStreams, XDpRxSs_UsrOpt::NumOfStreams, and XDpRxSs::UsrOpt.

u8 XDpRxss_GetBpc ( XDpRxSs InstancePtr,
u8  Stream 
)

This function extracts the bits per color from MISC0 or VSC SDP packet based on whether reception of colorimetry information through VSC SDP packets or through MISC registers of the stream.

Parameters
InstancePtris a pointer to the XDpRxSs core instance.
Streamis the stream number to make the calculations for.
Returns
The bits per color for the stream.
Note
RX clock must be stable.

References XDpRxSs::DpPtr.

u8 XDpRxss_GetColorComponent ( XDpRxSs InstancePtr,
u8  Stream 
)

This function extracts the color component format from MISC0 or VSC SDP packet based on whether reception of colorimetry information through VSC SDP packets or through MISC registers of the stream.

Parameters
InstancePtris a pointer to the XDpRxSs core instance.
Streamis the stream number to make the calculations for.
Returns
The color component for the stream.
Note
RX clock must be stable.

References XDpRxSs::DpPtr.

u8 XDpRxss_GetColorimetry ( XDpRxSs InstancePtr,
u8  Stream 
)

This function extracts the YCbCrColorimetry from MISC0 or VSC SDP packet based on whether reception of colorimetry information through VSC SDP packets or through MISC registers of the stream.

Parameters
InstancePtris a pointer to the XDpRxSs core instance.
Streamis the stream number to make the calculations for.
Returns
The colorimetry format for the stream.
Note
RX clock must be stable.

References XDpRxSs::DpPtr.

u8 XDpRxss_GetDynamicRange ( XDpRxSs InstancePtr,
u8  Stream 
)

This function extracts the dynamic range from MISC0 or VSC SDP packet based on whether reception of colorimetry information through VSC SDP packets or through MISC registers of the stream.

Parameters
InstancePtris a pointer to the XDpRxSs core instance.
Streamis the stream number to make the calculations for.
Returns
The dynamic range value for the stream.
Note
RX clock must be stable.

References XDpRxSs::DpPtr.

u64 XDpRxSs_GetEncryption ( XDpRxSs InstancePtr)

This function retrieves the current encryption map.

Parameters
InstancePtris a pointer to the XDpRxSs core instance.
Returns
  • The current encryption map.
  • Otherwise zero.
Note
None.

References XDpRxSs::Config, XDpRxSs::Hdcp1xPtr, and XDpRxSs_Config::HdcpEnable.

int XDpRxSs_GetVblank ( XDpRxSs InstancePtr,
u8  Stream 
)

This function retrieves the current vblank value of the incoming video stream.

Parameters
InstancePtris a pointer to the XDpRxSs core instance. Stream is the stream number to get the vblank.
Returns
  • The current vblank value
Note
This function has to be called after assertion of Bit-30 of XDP_RX_INTERRUPT_CAUSE_2 register

References XDpRxSs::DpPtr, and XDpRxSs_ReadReg.

int XDpRxSs_GetVtotal ( XDpRxSs InstancePtr,
u8  Stream 
)

This function retrieves the current VTotal value of the incoming video stream.

Parameters
InstancePtris a pointer to the XDpRxSs core instance. Stream is the stream number to get the vtotal.

Note: This function has to be called after assertion Bit-30 of XDP_RX_INTERRUPT_CAUSE_2 register

Returns
  • The current VTotal value
Note
This function has to be called after assertion of Bit-30 of XDP_RX_INTERRUPT_CAUSE_2 register

References XDpRxSs::DpPtr, and XDpRxSs_ReadReg.

u32 XDpRxSs_HandleDownReq ( XDpRxSs InstancePtr)

This function handles incoming sideband messages.

It will 1) Read the contents of the down request registers, 2) Delegate control depending on the request type, and 3) Send a down reply.

Parameters
InstancePtris a pointer to the XDpRxSs core instance.
Returns
  • XST_SUCCESS if the entire message was sent successfully.
  • XST_DEVICE_NOT_FOUND if no device is connected.
  • XST_ERROR_COUNT_MAX if sending one of the message fragments timed out.
  • XST_FAILURE otherwise.
Note
None.

References XDpRxSs::DpPtr.

Referenced by DpRxSs_DownReqestHandler().

void XDpRxSs_HandleTimeout ( XDpRxSs InstancePtr)

This function handles a timeout for HDCP.

Parameters
InstancePtris a pointer to the XDpRxSs core instance.
Returns
None.
Note
None.

References XDpRxSs::Config, XDpRxSs::Hdcp1xPtr, and XDpRxSs_Config::HdcpEnable.

void XDpRxSs_Hdcp22LicFailHandler ( void *  InstancePtr)

This function is the interrupt handler for HDCP22 LIC failure.

The application is responsible for connecting this function to the interrupt system.

Parameters
InstancePtris a pointer to the XDpRxSs core instance that just interrupted.
Returns
None.
Note
None.

References XDpRxSs::Hdcp22Ptr, XDpRxSs::HdcpProtocol, and XDPRXSS_HDCP_22.

void XDpRxSs_Hdcp22SetKey ( XDpRxSs InstancePtr,
XDpRxSs_Hdcp22KeyType  KeyType,
u8 *  KeyPtr 
)

This function sets pointers to the HDCP 2.2 keys.

Parameters
InstancePtris a pointer to the XDpRxSs instance.
KeyTypeis the type of the key that is being set.
KeyPtris the pointer to the key buffer
Returns
None.
Note
None.

References XDpRxSs::Hdcp22Lc128Ptr, XDpRxSs::Hdcp22PrivateKeyPtr, XDPRXSS_KEY_HDCP22_LC128, and XDPRXSS_KEY_HDCP22_PRIVATE.

u32 XDpRxSs_HdcpDisable ( XDpRxSs InstancePtr)

This function disables High-Bandwidth Content Protection (HDCP) interface.

Parameters
InstancePtris a pointer to the XDpRxSs core instance.
Returns
  • XST_SUCCESS, if HDCP i/f disabled successfully.
  • XST_FAILURE, otherwise.
Note
None.

References XDpRxSs::Config, XDpRxSs::Hdcp1xPtr, XDpRxSs_Config::Hdcp22Enable, XDpRxSs::Hdcp22Ptr, XDpRxSs_Config::HdcpEnable, XDpRxSs::HdcpProtocol, and XDPRXSS_HDCP_NONE.

u32 XDpRxSs_HdcpEnable ( XDpRxSs InstancePtr)

This function enables the requested HDCP protocol.

This function ensures that the HDCP protocols are mutually exclusive such that either HDCP 1.4 or HDCP 2.2 is enabled and active at any given time. When the protocol is set to None, both HDCP protocols are disabled.

Parameters
InstancePtris a pointer to the XDpRxSs core instance.
Returns
  • XST_SUCCESS, if HDCP i/f enabled successfully.
  • XST_FAILURE, otherwise.
Note
None.

References XDpRxSs::Config, XDpRxSs::Hdcp1xPtr, XDpRxSs_Config::Hdcp22Enable, XDpRxSs::Hdcp22Ptr, XDpRxSs_Config::HdcpEnable, XDpRxSs::HdcpProtocol, XDPRXSS_HDCP_14, XDPRXSS_HDCP_22, and XDPRXSS_HDCP_NONE.

Referenced by DpRxSs_HdcpExample().

void XDpRxSs_HdcpIntrHandler ( void *  InstancePtr)

This function is the interrupt handler for the HDCP Cipher core.

The application is responsible for connecting this function to the interrupt system.

Parameters
InstancePtris a pointer to the XDpRxSs core instance that just interrupted.
Returns
None.
Note
None.

References XDpRxSs::Hdcp1xPtr, and XDpRxSs::IsReady.

int XDpRxSs_HdcpSetProtocol ( XDpRxSs InstancePtr,
XDpRxSs_HdcpProtocol  Protocol 
)

This function sets the active HDCP protocol and enables it.

The protocol can be set to either HDCP 1.4, 2.2, or None.

Parameters
InstancePtris a pointer to the XDpRxSs instance.
Protocolis the requested content protection scheme of type XDpRxSs_HdcpProtocol.
Returns
  • XST_SUCCESS if action was successful
  • XST_FAILURE if action was not successful
Note
None.

References XDpRxSs::HdcpProtocol, XDPRXSS_HDCP_14, XDPRXSS_HDCP_22, and XDPRXSS_HDCP_NONE.

Referenced by XDpRxSs_CfgInitialize().

u32 XDpRxSs_IsAuthenticated ( XDpRxSs InstancePtr)

This function checks whether the HDCP Receiver authenticated or not.

Parameters
InstancePtris a pointer to the XDpRxSs core instance.
Returns
  • TRUE, if HDCP Receiver is authenticated.
  • FALSE, if the HDCP Receiver not authenticated.
Note
None.

References XDpRxSs::Config, XDpRxSs::Hdcp1xPtr, and XDpRxSs_Config::HdcpEnable.

XDpRxSs_Config * XDpRxSs_LookupConfig ( u16  DeviceId)

This function returns a reference to an XDpRxSs_Config structure based on the core id, DeviceId.

The return value will refer to an entry in the device configuration table defined in the xdprxss_g.c file.

Parameters
DeviceIdis the unique core ID of the XDpRxSs core for the lookup operation.
Returns
XDpRxSs_LookupConfig returns a reference to a config record in the configuration table (in xdprxss_g.c) corresponding to DeviceId, or NULL if no match is found.
Note
None.

Referenced by DpRxSs_DebugExample(), DpRxSs_HdcpExample(), DpRxSs_IntrExample(), DpRxSs_Main(), DpRxSs_MstExample(), and DpRxSs_SelfTestExample().

void XDpRxSs_MaskAdaptiveIntr ( XDpRxSs InstancePtr,
u32  Mask 
)

This function masks the Adaptive-Sync interrupts from DisplayPort RX Subsystem.

Parameters
InstancePtris a pointer to the XDpRxSs instance.
Interruptsto mask
Note
None.

References XDpRxSs::DpPtr, XDpRxSs_ReadReg, and XDpRxSs_WriteReg.

int XDpRxSs_MCDP6000_AccessLaneSet ( XDpRxSs DpRxSsPtr,
u8  I2CSlaveAddress 
)

This function sets the access lane register of the MCDP6000 device.

Parameters
DpRxSsPtris a pointer to the XDpRxSs core instance.
I2CSlaveAddressis the 7-bit I2C slave address.
Returns
  • XST_SUCCESS access lane set successful.
  • XST_FAILURE setting access lane failed.
Note
None.

References XDpRxSs_MCDP6000_SetRegister().

int XDpRxSs_MCDP6000_BWchange ( XDpRxSs DpRxSsPtr,
u8  I2CSlaveAddress 
)

This function changes the bandwidth of the MCDP6000 device.

Parameters
DpRxSsPtris a pointer to the XDpRxSs core instance.
I2CSlaveAddressis the 7-bit I2C slave address.
Returns
  • XST_SUCCESS BW change successful.
  • XST_FAILURE BW change failed.
Note
None.

References XDpRxSs_MCDP6000_ModifyRegister().

int XDpRxSs_MCDP6000_ClearCounter ( XDpRxSs DpRxSsPtr,
u8  I2CSlaveAddress 
)

This function clears symbol counter.

Parameters
DpRxSsPtris a pointer to the XDpRxSs core instance.
I2CSlaveAddressis the 7-bit I2C slave address.
Returns
  • XST_SUCCESS Enable request was successful.
  • XST_FAILURE I2C error.
Note
None.

References XDpRxSs_MCDP6000_GetRegister(), and XDpRxSs_MCDP6000_SetRegister().

Referenced by DpRxSs_AccessLinkQualHandler().

int XDpRxSs_MCDP6000_DisablePrbs7_Rx ( XDpRxSs DpRxSsPtr,
u8  I2CSlaveAddress 
)

This function Disables the PRBS7 counter mode in MC Rx path Used in DP PHY compliance mode.

Parameters
DpRxSsPtris a pointer to the XDpRxSs core instance.
I2CSlaveAddressis the 7-bit I2C slave address.
Returns
  • XST_SUCCESS Enable request was successful.
  • XST_FAILURE I2C error.
Note
None.

References XDpRxSs_MCDP6000_GetRegister(), and XDpRxSs_MCDP6000_SetRegister().

Referenced by DpRxSs_AccessLinkQualHandler().

int XDpRxSs_MCDP6000_DpInit ( XDpRxSs DpRxSsPtr,
u8  I2CSlaveAddress 
)

This function initializes the MCDP6000 device with default values for DP use with the Video FMC.

Parameters
DpRxSsPtris a pointer to the XDpRxSs core instance.
I2CSlaveAddressis the 7-bit I2C slave address.
Returns
  • XST_SUCCESS Initialization was successful.
  • XST_FAILURE I2C write error.
Note
None.

References XDpRxSs_MCDP6000_GetRegister(), and XDpRxSs_MCDP6000_SetRegister().

Referenced by XDpRxSs_McDp6000_init().

int XDpRxSs_MCDP6000_EnableCounter ( XDpRxSs DpRxSsPtr,
u8  I2CSlaveAddress 
)

This function enables symbol counter.

Parameters
DpRxSsPtris a pointer to the XDpRxSs core instance.
I2CSlaveAddressis the 7-bit I2C slave address.
Returns
  • XST_SUCCESS Enable request was successful.
  • XST_FAILURE I2C error.
Note
None.

References XDpRxSs_MCDP6000_GetRegister(), and XDpRxSs_MCDP6000_SetRegister().

int XDpRxSs_MCDP6000_EnablePrbs7_Rx ( XDpRxSs DpRxSsPtr,
u8  I2CSlaveAddress 
)

This function enables the PRBS7 counter mode in MC Rx path Used in DP PHY compliance mode.

Parameters
DpRxSsPtris a pointer to the XDpRxSs core instance.
I2CSlaveAddressis the 7-bit I2C slave address.
Returns
  • XST_SUCCESS Enable request was successful.
  • XST_FAILURE I2C error.
Note
None.

References XDpRxSs_MCDP6000_GetRegister(), and XDpRxSs_MCDP6000_SetRegister().

Referenced by DpRxSs_AccessLinkQualHandler().

int XDpRxSs_MCDP6000_EnablePrbs7_Tx ( XDpRxSs DpRxSsPtr,
u8  I2CSlaveAddress 
)

This function enables the PRBS7 output of the MCDP6000 device.

Parameters
DpRxSsPtris a pointer to the XDpRxSs core instance.
I2CSlaveAddressis the 7-bit I2C slave address.
Returns
  • XST_SUCCESS Enable request was successful.
  • XST_FAILURE I2C error.
Note
None.

References XDpRxSs_MCDP6000_SetRegister().

u32 XDpRxSs_MCDP6000_GetRegister ( XDpRxSs DpRxSsPtr,
u8  I2CSlaveAddress,
u16  RegisterAddress 
)

This function reads a single 32b word from the MCDP6000 device.

Parameters
DpRxSsPtris a pointer to the XDpRxSs core instance.
I2CSlaveAddressis the 7-bit I2C slave address.
RegisterAddressis the 16-bit register address.
Returns
  • The read 32b data.
Note
None.

References XDpRxSs::Config.

Referenced by DpRxSs_AccessErrorCounterHandler(), DpRxSs_Main(), XDpRxSs_MCDP6000_ClearCounter(), XDpRxSs_MCDP6000_DisablePrbs7_Rx(), XDpRxSs_MCDP6000_DpInit(), XDpRxSs_MCDP6000_EnableCounter(), XDpRxSs_MCDP6000_EnablePrbs7_Rx(), XDpRxSs_MCDP6000_ModifyRegister(), XDpRxSs_MCDP6000_Read_ErrorCounters(), and XDpRxSs_MCDP6000_RegisterDump().

int XDpRxSs_MCDP6000_IbertInit ( XDpRxSs DpRxSsPtr,
u8  I2CSlaveAddress 
)

This function initializes the MCDP6000 device with default values for IBERT use with the Video FMC.

Parameters
DpRxSsPtris a pointer to the XDpRxSs core instance.
I2CSlaveAddressis the 7-bit I2C slave address.
Returns
  • XST_SUCCESS Initialization was successful.
  • XST_FAILURE I2C write error.
Note
None.

References XDpRxSs_MCDP6000_SetRegister().

void XDpRxSs_McDp6000_init ( void *  InstancePtr)

This routine initializes the MCDP6000 part on the VFMC card used for DP 1.4.

Parameters
InstancePtris a pointer to the XDpRxSs core instance.
Returns
None.
Note
None.

References XDpRxSs_MCDP6000_DpInit(), and XDPRXSS_MCDP6000_IIC_SLAVE.

Referenced by DpRxSs_Main().

int XDpRxSs_MCDP6000_ModifyRegister ( XDpRxSs DpRxSsPtr,
u8  I2CSlaveAddress,
u16  RegisterAddress,
u32  Value,
u32  Mask 
)

This function modifies a single 32b word from the MCDP6000 device.

Parameters
DpRxSsPtris a pointer to the XDpRxSs core instance.
I2CSlaveAddressis the 7-bit I2C slave address.
RegisterAddressis the 16-bit register address.
Valueis the 32b word to write
Maskis the 32b mask
Returns
  • XST_SUCCESS Modification was successful.
  • XST_FAILURE I2C write error.
Note
None.

References XDpRxSs_MCDP6000_GetRegister(), and XDpRxSs_MCDP6000_SetRegister().

Referenced by XDpRxSs_MCDP6000_BWchange(), and XDpRxSs_MCDP6000_ResetCrPath().

int XDpRxSs_MCDP6000_Read_ErrorCounters ( XDpRxSs DpRxSsPtr,
u8  I2CSlaveAddress 
)

This function reads error counters for all lanes.

Parameters
DpRxSsPtris a pointer to the XDpRxSs core instance.
I2CSlaveAddressis the 7-bit I2C slave address.
Returns
  • XST_SUCCESS Enable request was successful.
  • XST_FAILURE I2C error.
Note
None.

References XDpRxSs_MCDP6000_GetRegister(), and XDpRxSs_MCDP6000_SetRegister().

Referenced by DpRxSs_AccessErrorCounterHandler(), and DpRxSs_Main().

void XDpRxSs_MCDP6000_RegisterDump ( XDpRxSs DpRxSsPtr,
u8  I2CSlaveAddress 
)

This function displays a registerdump of the MCDP6000 device.

Parameters
DpRxSsPtris a pointer to the XDpRxSs core instance.
I2CSlaveAddressis the 7-bit I2C slave address.
Returns
None
Note
None.

References XDpRxSs_MCDP6000_GetRegister().

int XDpRxSs_MCDP6000_ResetCrPath ( XDpRxSs DpRxSsPtr,
u8  I2CSlaveAddress 
)

This function requests a reset of the CR path of the MCDP6000 device.

Parameters
DpRxSsPtris a pointer to the XDpRxSs core instance.
I2CSlaveAddressis the 7-bit I2C slave address.
Returns
  • XST_SUCCESS Reset request was successful.
  • XST_FAILURE I2C error.
Note
None.

References XDpRxSs_MCDP6000_ModifyRegister().

int XDpRxSs_MCDP6000_ResetDpPath ( XDpRxSs DpRxSsPtr,
u8  I2CSlaveAddress 
)

This function requests a reset of the DP path of the MCDP6000 device.

Parameters
DpRxSsPtris a pointer to the XDpRxSs core instance.
I2CSlaveAddressis the 7-bit I2C slave address.
Returns
  • XST_SUCCESS Reset request was successful.
  • XST_FAILURE I2C error.
Note
None.

References XDpRxSs_MCDP6000_SetRegister().

int XDpRxSs_MCDP6000_SetRegister ( XDpRxSs DpRxSsPtr,
u8  I2CSlaveAddress,
u16  RegisterAddress,
u32  Value 
)

This function writes a single 32b word to the MCDP6000 device.

Parameters
DpRxSsPtris a pointer to the XDpRxSs core instance.
I2CSlaveAddressis the 7-bit I2C slave address.
RegisterAddressis the 16-bit register address.
Valueis the 32b word to write
Returns
  • XST_SUCCESS Register write was successful.
  • XST_FAILURE I2C write error.
Note
None.

References XDpRxSs::Config.

Referenced by XDpRxSs_MCDP6000_AccessLaneSet(), XDpRxSs_MCDP6000_ClearCounter(), XDpRxSs_MCDP6000_DisablePrbs7_Rx(), XDpRxSs_MCDP6000_DpInit(), XDpRxSs_MCDP6000_EnableCounter(), XDpRxSs_MCDP6000_EnablePrbs7_Rx(), XDpRxSs_MCDP6000_EnablePrbs7_Tx(), XDpRxSs_MCDP6000_IbertInit(), XDpRxSs_MCDP6000_ModifyRegister(), XDpRxSs_MCDP6000_Read_ErrorCounters(), XDpRxSs_MCDP6000_ResetDpPath(), and XDpRxSs_MCDP6000_TransparentMode().

int XDpRxSs_MCDP6000_TransparentMode ( XDpRxSs DpRxSsPtr,
u8  I2CSlaveAddress 
)

This function sets the transparent mode of the MCDP6000 device.

Parameters
DpRxSsPtris a pointer to the XDpRxSs core instance.
I2CSlaveAddressis the 7-bit I2C slave address.
Returns
  • XST_SUCCESS transparent mode was set.
  • XST_FAILURE setting transparent mode failed.
Note
None.

References XDpRxSs_MCDP6000_SetRegister().

u32 XDpRxSs_Poll ( XDpRxSs InstancePtr)

This function polls the HDCP interface, process events and sets receive state machine accordingly.

Parameters
InstancePtris a pointer to the XDpRxSs core instance.
Returns
  • XST_SUCCESS, if polling the HDCP interface was successful.
  • XST_FAILURE, if polling the HDCP interface failed.
Note
None.

References XDpRxSs::Config, XDpRxSs::Hdcp1xPtr, and XDpRxSs_Config::HdcpEnable.

Referenced by DpRxSs_HdcpExample().

void XDpRxSs_ReportCoreInfo ( XDpRxSs InstancePtr)
void XDpRxSs_ReportHdcpInfo ( XDpRxSs InstancePtr)

This function prints the debug display info of the HDCP interface.

Parameters
InstancePtris a pointer to the XDpRxSs core instance.
Returns
None.
Note
None.

References XDpRxSs::Hdcp1xPtr.

Referenced by DpRxSs_DebugExample().

void XDpRxSs_ReportLinkInfo ( XDpRxSs InstancePtr)

This function prints the link status, selected resolution, link rate /lane count symbol error.

Parameters
InstancePtris a pointer to the XDpRxSs core instance.
Returns
None.
Note
None.

References XDpRxSs::DpPtr, and XDpRxSs_ReadReg.

Referenced by DpRxSs_DebugExample(), and DpRxSs_Main().

void XDpRxSs_ReportMsaInfo ( XDpRxSs InstancePtr)

This function prints the current main stream attributes from the DisplayPort RX core.

Parameters
InstancePtris a pointer to the XDpRxSs core instance.
Returns
None.
Note
None.

References XDpRxSs::Config, XDpRxSs::DpPtr, and XDpRxSs_Config::NumMstStreams.

Referenced by DpRxSs_DebugExample(), and DpRxSs_Main().

void XDpRxSs_Reset ( XDpRxSs InstancePtr)

This function resets the DisplayPort Receiver Subsystem including all sub-cores.

Parameters
InstancePtris a pointer to the XDpRxSs core instance.
Returns
None.
Note
IIC needs to be reinitialized after reset.

References XDpRxSs::Config, XDpRxSs::DpPtr, XDpRxSs::Hdcp1xPtr, XDpRxSs_Config::HdcpEnable, XDpRxSs::TmrCtrPtr, and XDpRxSs_WriteReg.

u32 XDpRxSs_SelfTest ( XDpRxSs InstancePtr)

This function performs self test on DisplayPort Receiver Subsystem sub-cores.

Parameters
InstancePtris a pointer to the XDpRxSs core instance.
Returns
  • XST_SUCCESS if self test passed.
  • Otherwise, prints self test failed message.
Note
None.

References XDpRxSs::Config, XDpRxSs::DpPtr, XDpRxSs::Hdcp1xPtr, XDpRxSs_Config::HdcpEnable, and XDpRxSs::TmrCtrPtr.

Referenced by DpRxSs_SelfTestExample().

void XDpRxSs_SetAdaptiveSyncCaps ( XDpRxSs InstancePtr,
u32  Enable 
)

This function sets Adaptive-Sync capabilities to DisplayPort RX Subsystem.

Parameters
InstancePtris a pointer to the XDpRxSs instance.
Enableis to enable/disable the Adaptive-Sync capabilities in DisplayPort Rx Subsystem
Returns
XST_SUCCESS
Note
None.

References XDpRxSs::DpPtr, XDpRxSs_ReadReg, and XDpRxSs_WriteReg.

u32 XDpRxSs_SetCallBack ( XDpRxSs InstancePtr,
u32  HandlerType,
void *  CallbackFunc,
void *  CallbackRef 
)

This function installs an asynchronous callback function for the given HandlerType:

HandlerType                              Callback Function Type
---------------------------------------- -----------------------------------
XDPRXSS_HANDLER_DP_VM_CHG_EVENT          XDp_RxSetIntrVmChangeHandler
XDPRXSS_HANDLER_DP_PWR_CHG_EVENT         XDp_RxSetIntrPowerStateHandler
XDPRXSS_HANDLER_DP_NO_VID_EVENT          XDp_RxSetIntrNoVideoHandler
XDPRXSS_HANDLER_DP_VBLANK_EVENT          XDp_RxSetIntrVBlankHandler
XDPRXSS_HANDLER_DP_TLOST_EVENT           XDp_RxSetIntrTrainingLostHandler
XDPRXSS_HANDLER_DP_VID_EVENT             XDp_RxSetIntrVideoHandler
XDPRXSS_HANDLER_DP_INFO_PKT_EVENT        XDp_RxSetIntrInfoPktHandler
XDPRXSS_HANDLER_DP_EXT_PKT_EVENT         XDp_RxSetIntrExtPktHandler
XDPRXSS_HANDLER_DP_TDONE_EVENT           XDp_RxSetIntrTrainingDoneHandler
XDPRXSS_HANDLER_DP_BW_CHG_EVENT          XDp_RxSetIntrBwChangeHandler
XDPRXSS_HANDLER_DP_DWN_REQ_EVENT         XDp_RxSetIntrDownReqHandler
XDPRXSS_HANDLER_DP_DWN_REP_EVENT         XDp_RxSetIntrDownReplyHandler
XDPRXSS_HANDLER_DP_AUD_OVRFLW_EVENT      XDp_RxSetIntrAudioOverHandler
XDPRXSS_HANDLER_DP_PAYLOAD_ALLOC_EVENT   XDp_RxSetIntrPayloadAllocHandler
XDPRXSS_HANDLER_DP_ACT_RX_EVENT          XDp_RxSetIntrActRxHandler
XDPRXSS_HANDLER_DP_CRC_TEST_EVENT        XDp_RxSetIntrCrcTestHandler
XDPRXSS_HANDLER_HDCP_RPTR_TDSA_EVENT     XHdcp1x_SetCallBack
XDPRXSS_HANDLER_UNPLUG_EVENT             UnplugCallback
XDPRXSS_HANDLER_LINKBW_EVENT             LinkBwCallback
XDPRXSS_HANDLER_PLL_RESET_EVENT          PllResetCallback
Parameters
InstancePtris a pointer to the XDpRxSs core instance.
HandlerTypespecifies the type of handler.
CallbackFuncis the address of the callback function.
CallbackRefis a user data item that will be passed to the callback function when it is invoked.
Returns
  • XST_SUCCESS if callback function installed successfully.
  • XST_INVALID_PARAM when HandlerType is invalid.
Note
Invoking this function for a handler that already has been installed replaces it with the new handler.

References XDpRxSs::DpPtr, XDpRxSs::Hdcp1xPtr, XDpRxSs::Hdcp22Ptr, XDpRxSs::IsReady, XDpRxSs::LinkBwCallback, XDpRxSs::LinkBwRef, XDpRxSs::PllResetCallback, XDpRxSs::PllResetRef, XDpRxSs::UnplugCallback, XDpRxSs::UnplugRef, XDPRXSS_DRV_HANDLER_DP_NO_VID_EVENT, XDPRXSS_DRV_HANDLER_DP_PWR_CHG_EVENT, XDPRXSS_DRV_HANDLER_DP_VID_EVENT, XDPRXSS_HANDLER_ACCESS_ERROR_COUNTER_EVENT, XDPRXSS_HANDLER_ACCESS_LANE_SET_EVENT, XDPRXSS_HANDLER_ACCESS_LINK_QUAL_EVENT, XDPRXSS_HANDLER_DP_ACT_RX_EVENT, XDPRXSS_HANDLER_DP_ADAPTIVESYNC_SDP_STREAM_1_EVENT, XDPRXSS_HANDLER_DP_ADAPTIVESYNC_SDP_STREAM_2_EVENT, XDPRXSS_HANDLER_DP_ADAPTIVESYNC_SDP_STREAM_3_EVENT, XDPRXSS_HANDLER_DP_ADAPTIVESYNC_SDP_STREAM_4_EVENT, XDPRXSS_HANDLER_DP_ADAPTIVESYNC_VBLANK_STREAM_1_EVENT, XDPRXSS_HANDLER_DP_ADAPTIVESYNC_VBLANK_STREAM_2_EVENT, XDPRXSS_HANDLER_DP_ADAPTIVESYNC_VBLANK_STREAM_3_EVENT, XDPRXSS_HANDLER_DP_ADAPTIVESYNC_VBLANK_STREAM_4_EVENT, XDPRXSS_HANDLER_DP_AUD_OVRFLW_EVENT, XDPRXSS_HANDLER_DP_BW_CHG_EVENT, XDPRXSS_HANDLER_DP_CRC_TEST_EVENT, XDPRXSS_HANDLER_DP_DWN_REP_EVENT, XDPRXSS_HANDLER_DP_DWN_REQ_EVENT, XDPRXSS_HANDLER_DP_EXT_PKT_EVENT, XDPRXSS_HANDLER_DP_EXT_PKT_STREAM_2_EVENT, XDPRXSS_HANDLER_DP_EXT_PKT_STREAM_3_EVENT, XDPRXSS_HANDLER_DP_EXT_PKT_STREAM_4_EVENT, XDPRXSS_HANDLER_DP_INFO_PKT_EVENT, XDPRXSS_HANDLER_DP_INFO_PKT_STREAM_2_EVENT, XDPRXSS_HANDLER_DP_INFO_PKT_STREAM_3_EVENT, XDPRXSS_HANDLER_DP_INFO_PKT_STREAM_4_EVENT, XDPRXSS_HANDLER_DP_NO_VID_EVENT, XDPRXSS_HANDLER_DP_NO_VID_STREAM_2_EVENT, XDPRXSS_HANDLER_DP_NO_VID_STREAM_3_EVENT, XDPRXSS_HANDLER_DP_NO_VID_STREAM_4_EVENT, XDPRXSS_HANDLER_DP_PAYLOAD_ALLOC_EVENT, XDPRXSS_HANDLER_DP_PWR_CHG_EVENT, XDPRXSS_HANDLER_DP_TDONE_EVENT, XDPRXSS_HANDLER_DP_TLOST_EVENT, XDPRXSS_HANDLER_DP_VBLANK_EVENT, XDPRXSS_HANDLER_DP_VBLANK_STREAM_2_EVENT, XDPRXSS_HANDLER_DP_VBLANK_STREAM_3_EVENT, XDPRXSS_HANDLER_DP_VBLANK_STREAM_4_EVENT, XDPRXSS_HANDLER_DP_VID_EVENT, XDPRXSS_HANDLER_DP_VID_STREAM_2_EVENT, XDPRXSS_HANDLER_DP_VID_STREAM_3_EVENT, XDPRXSS_HANDLER_DP_VID_STREAM_4_EVENT, XDPRXSS_HANDLER_DP_VM_CHG_EVENT, XDPRXSS_HANDLER_DP_VM_CHG_STREAM_2_EVENT, XDPRXSS_HANDLER_DP_VM_CHG_STREAM_3_EVENT, XDPRXSS_HANDLER_DP_VM_CHG_STREAM_4_EVENT, XDPRXSS_HANDLER_HDCP22_AUTHENTICATED, XDPRXSS_HANDLER_HDCP22_AUTHENTICATION_REQUEST, XDPRXSS_HANDLER_HDCP22_ENCRYPTION_UPDATE, XDPRXSS_HANDLER_HDCP22_SKE_SEND_EKS, XDPRXSS_HANDLER_HDCP22_UNAUTHENTICATED, XDPRXSS_HANDLER_HDCP_AUTHENTICATED, XDPRXSS_HANDLER_HDCP_RPTR_TDSA_EVENT, XDPRXSS_HANDLER_LINKBW_EVENT, XDPRXSS_HANDLER_PLL_RESET_EVENT, and XDPRXSS_HANDLER_UNPLUG_EVENT.

Referenced by DpRxSs_SetupIntrSystem(), and XDpRxSs_CfgInitialize().

void XDpRxSs_SetDebugLogMsg ( XDpRxSs InstancePtr,
XDpRxSs_LogMsg  LogFunc 
)

This function sets the debug log message function.

Parameters
InstancePtris a pointer to the XDpRxSs core instance.
LogFuncis the debug logging function.
Returns
None.
Note
None.

References XDpRxSs::Config, and XDpRxSs_Config::HdcpEnable.

void XDpRxSs_SetDebugPrintf ( XDpRxSs InstancePtr,
XDpRxSs_Printf  PrintfFunc 
)

This function sets the debug printf function.

Parameters
InstancePtris a pointer to the XDpRxSs core instance.
PrintfFuncis the printf function.
Returns
None.
Note
None.

References XDpRxSs::Config, and XDpRxSs_Config::HdcpEnable.

u32 XDpRxSs_SetLane ( XDpRxSs InstancePtr,
u32  Lane 
)

This function sets lane(s) of the HDCP interface.

Parameters
InstancePtris a pointer to the XDpRxSs core instance.
Laneis the number of lanes to be used.
  • 1 = XDPRXSS_LANE_COUNT_SET_1
  • 2 = XDPRXSS_LANE_COUNT_SET_2
  • 4 = XDPRXSS_LANE_COUNT_SET_4
Returns
  • XST_SUCCESS, if lane(s) into the HDCP i/f set successfully.
  • XST_FAILURE, if failed to set lane(s) into the HDCP i/f.
Note
None.

References XDpRxSs::Config, XDpRxSs::Hdcp1xPtr, XDpRxSs_Config::Hdcp22Enable, XDpRxSs::Hdcp22Ptr, XDpRxSs_Config::HdcpEnable, XDPRXSS_LANE_COUNT_SET_1, XDPRXSS_LANE_COUNT_SET_2, and XDPRXSS_LANE_COUNT_SET_4.

u32 XDpRxSs_SetLaneCount ( XDpRxSs InstancePtr,
u8  LaneCount 
)

This function sets the number of lanes to be used by DisplayPort RX Subsystem core.

Parameters
InstancePtris a pointer to the XDpRxSs instance.
LaneCountis the number of lanes to be used.
  • 1 = XDPRXSS_LANE_COUNT_SET_1
  • 2 = XDPRXSS_LANE_COUNT_SET_2
  • 4 = XDPRXSS_LANE_COUNT_SET_4
Returns
  • XST_SUCCESS if setting the new lane count was successful.
  • XST_FAILURE otherwise.
Note
None.

References XDpRxSs::DpPtr, XDpRxSs_UsrOpt::LaneCount, XDpRxSs::UsrOpt, XDPRXSS_LANE_COUNT_SET_1, XDPRXSS_LANE_COUNT_SET_2, and XDPRXSS_LANE_COUNT_SET_4.

Referenced by DpRxSs_DebugExample(), DpRxSs_HdcpExample(), DpRxSs_IntrExample(), DpRxSs_Main(), and DpRxSs_MstExample().

u32 XDpRxSs_SetLinkRate ( XDpRxSs InstancePtr,
u8  LinkRate 
)

This function sets the data rate to be used by the DisplayPort RX Subsystem core.

Parameters
InstancePtris a pointer to the XDpRxSs instance.
LinkRateis the rate at which link needs to be driven.
  • XDPRXSS_LINK_BW_SET_162GBPS = 0x06(for a 1.62 Gbps data rate)
  • XDPRXSS_LINK_BW_SET_270GBPS = 0x0A(for a 2.70 Gbps data rate)
  • XDPRXSS_LINK_BW_SET_540GBPS = 0x14(for a 5.40 Gbps data rate)
Returns
  • XST_SUCCESS if setting the new lane rate was successful.
  • XST_FAILURE otherwise.
Note
None.

References XDpRxSs::DpPtr, XDpRxSs_UsrOpt::LinkRate, XDpRxSs::UsrOpt, XDPRXSS_LINK_BW_SET_162GBPS, XDPRXSS_LINK_BW_SET_270GBPS, XDPRXSS_LINK_BW_SET_540GBPS, and XDPRXSS_LINK_BW_SET_810GBPS.

Referenced by DpRxSs_DebugExample(), DpRxSs_HdcpExample(), DpRxSs_IntrExample(), DpRxSs_Main(), and DpRxSs_MstExample().

u32 XDpRxSs_SetPhysicalState ( XDpRxSs InstancePtr,
u32  PhyState 
)

This function enables/disables the underlying physical interface.

Parameters
InstancePtris a pointer to the XDpRxSs core instance.
PhyStateindicates TRUE/FALSE value to enable/disable the underlying physical interface.
Returns
  • XST_SUCCESS, if the underlying physical interface enabled successfully.
  • XST_FAILURE, if the underlying physical interface failed to enable.
Note
None.

References XDpRxSs::Config, XDpRxSs::Hdcp1xPtr, and XDpRxSs_Config::HdcpEnable.

Referenced by DpRxSs_HdcpExample().

void XDpRxSs_SetUserPixelWidth ( XDpRxSs InstancePtr,
u8  UserPixelWidth 
)

This function configures the number of pixels output through the user data interface.

Parameters
InstancePtris a pointer to the XDpRxSs core instance.
UserPixelWidthis the user pixel width to be configured.
Returns
None.
Note
None.

References XDpRxSs::DpPtr.

void XDpRxSs_SetUserTimerHandler ( XDpRxSs InstancePtr,
XDpRxSs_TimerHandler  CallbackFunc,
void *  CallbackRef 
)

This function installs a custom delay/sleep function to be used by the DisplayPort RX Subsystem.

Parameters
InstancePtris a pointer to the XDpRxSs core instance.
CallbackFuncis the address to the callback function.
CallbackRefis the user data item (microseconds to delay) that will be passed to the custom sleep/delay function when it is invoked.
Returns
None.
Note
None.

References XDpRxSs::DpPtr.

Referenced by DpRxSs_SetupIntrSystem(), and DpRxSs_SetupTimerHandler().

u32 XDpRxSs_Start ( XDpRxSs InstancePtr)

This function starts the DisplayPort Receiver Subsystem including all sub-cores.

Parameters
InstancePtris a pointer to the XDpRxSs core instance.
Returns
  • XST_SUCCESS, if DP RX Subsystem and its included sub-cores configured successfully.
  • XST_FAILURE, otherwise.
Note
None.

References XDpRxSs::DpPtr, XDpRxSs_UsrOpt::MstSupport, and XDpRxSs::UsrOpt.

Referenced by DpRxSs_DebugExample(), DpRxSs_HdcpExample(), DpRxSs_IntrExample(), DpRxSs_Main(), and DpRxSs_MstExample().

void XDpRxSs_StartTimer ( XDpRxSs InstancePtr)

This function starts the Timer Counter in count down, interrupt mode.

Parameters
InstancePtris a pointer to the XDpRxSs core instance.
Returns
None.
Note
None.

References XDpRxSs::TmrCtrPtr, and XDPRXSS_TMRCTR_RST_VAL.

void XDpRxSs_StopTimer ( XDpRxSs InstancePtr)

This function stops the Timer Counter.

Parameters
InstancePtris a pointer to the XDpRxSs core instance.
Returns
None.
Note
None.

References XDpRxSs::TmrCtrPtr, and XDpRxSs::TmrCtrResetDone.

void XDpRxSs_TmrCtrIntrHandler ( void *  InstancePtr)

This function is the interrupt handler for the Timer Counter core.

The application is responsible for connecting this function to the interrupt system.

Parameters
InstancePtris a pointer to the XDpRxSs core instance that just interrupted.
Returns
None.
Note
None.

References XDpRxSs::IsReady, and XDpRxSs::TmrCtrPtr.

void XDpRxSs_UnMaskAdaptiveIntr ( XDpRxSs InstancePtr,
u32  Mask 
)

This function unmasks Adaptive-Sync interrupt from DisplayPort RX Subsystem.

Parameters
InstancePtris a pointer to the XDpRxSs instance.
Interruptsto unmask
Note
None.

References XDpRxSs::DpPtr, XDpRxSs_ReadReg, and XDpRxSs_WriteReg.