dp14txss
Xilinx Vitis Drivers API Documentation
Dptxss_v6_3

Data Structures

struct  XDpTxSs_UsrOpt
 User input structure. More...
 
struct  XDpTxSs_VtcSubCore
 VTC Sub-core structure. More...
 
struct  XDpTxSs_DpSubCore
 DisplayPort Sub-core structure. More...
 
struct  XDpTxSs_Config
 This typedef contains configuration information for the DisplayPort Transmitter Subsystem core. More...
 
struct  XDpTxSs_UsrHpdPulseData
 HPD Pulse User Data structure. More...
 
struct  XDpTxSs_UsrHpdEventData
 HPD Event User Data structure. More...
 
struct  XDpTxSs
 The DisplayPort TX Subsystem driver instance data. More...
 

Macros

#define XDPTXSS_H_
 Prevent circular inclusions by using protection macros.
 
#define XDpTxSs_TimerHandler   XDp_TimerHandler
 Callback type which represents a custom timer wait handler.
 
#define XDpTxSs_MainStreamAttributes   XDp_TxMainStreamAttributes
 Main-Stream attributes.
 
#define XDpTxSs_CfgMsaEnSynchClkMode(InstancePtr, Stream, Enable)   XDp_TxCfgMsaEnSynchClkMode((InstancePtr)->DpPtr, (Sream), (Enable))
 This function enables or disables synchronous clock mode for a video stream.
 
#define XDpTxSs_Mst_AudioEnable(InstancePtr, StreamId)   XDp_Tx_Mst_AudioEn((InstancePtr)->DpPtr, StreamId)
 This function macro enables MST-TX audio on a given stream on the main link.
 
#define XDpTxSs_Mst_AudioDisable(InstancePtr)   XDp_TxAudioDis((InstancePtr)->DpPtr)
 This function macro disables audio on a given stream on the main link.
 
#define XDpTxSs_SendAudioInfoFrame(InstancePtr, xilInfoFrame)   XDp_TxSendAudioInfoFrame((InstancePtr)->DpPtr, xilInfoFrame)
 This function macro sends audio infoframe packets on the main link.
 
#define XDPTXSS_HW_H_
 Prevent circular inclusions by using protection macros.
 
#define XDPTXSS_LINK_BW_SET_162GBPS   XDP_TX_LINK_BW_SET_162GBPS
 1.62 Gbps link rate.
 
#define XDPTXSS_LINK_BW_SET_270GBPS   XDP_TX_LINK_BW_SET_270GBPS
 2.70 Gbps link rate.
 
#define XDPTXSS_LINK_BW_SET_540GBPS   XDP_TX_LINK_BW_SET_540GBPS
 5.40 Gbps link rate.
 
#define XDPTXSS_LINK_BW_SET_810GBPS   XDP_TX_LINK_BW_SET_810GBPS
 8.10 Gbps link rate.
 
#define XDPTXSS_LANE_COUNT_SET_1   XDP_TX_LANE_COUNT_SET_1
 Lane count of 1.
 
#define XDPTXSS_LANE_COUNT_SET_2   XDP_TX_LANE_COUNT_SET_2
 Lane count of 2.
 
#define XDPTXSS_LANE_COUNT_SET_4   XDP_TX_LANE_COUNT_SET_4
 Lane count of 4.
 
#define XDPTXSS_INTERRUPT_MASK   XDP_TX_INTERRUPT_MASK
 Masks the specified interrupt sources.
 
#define XDPTXSS_INTERRUPT_MASK_HPD_PULSE_DETECTED_MASK   XDP_TX_INTERRUPT_MASK_HPD_PULSE_DETECTED_MASK
 Mask HPD pulse detected interrupt.
 
#define XDPTXSS_INTERRUPT_MASK_HPD_EVENT_MASK   XDP_TX_INTERRUPT_MASK_HPD_EVENT_MASK
 Mask HPD event interrupt.
 
#define XDPTXSS_NUM_STREAMS   4
 Maximum number of streams supported.
 

Enumerations

enum  XDpTxSs_HandlerType {
  XDPTXSS_HANDLER_DP_HPD_EVENT = 1, XDPTXSS_HANDLER_DP_HPD_PULSE, XDPTXSS_HANDLER_DP_LANE_COUNT_CHG, XDPTXSS_HANDLER_DP_LINK_RATE_CHG,
  XDPTXSS_HANDLER_DP_PE_VS_ADJUST, XDPTXSS_HANDLER_DP_SET_MSA, XDPTXSS_DRV_HANDLER_DP_HPD_EVENT, XDPTXSS_DRV_HANDLER_DP_HPD_PULSE
}
 These constants specify different types of handler and used to differentiate interrupt requests from sub-cores. More...
 
enum  XDpTxSs_HdcpProtocol { XDPTXSS_HDCP_NONE, XDPTXSS_HDCP_1X, XDPTXSS_HDCP_22, XDPTXSS_HDCP_BOTH }
 These constants specify the HDCP protection schemes. More...
 
enum  XDpTxSs_HdcpContentStreamType { XDPTXSS_HDCP_STREAMTYPE_0, XDPTXSS_HDCP_STREAMTYPE_1 }
 These constants specify HDCP repeater content stream management type. More...
 

Functions

u32 XDpTxSs_CfgInitialize (XDpTxSs *InstancePtr, XDpTxSs_Config *CfgPtr, UINTPTR EffectiveAddr)
 This function initializes the DisplayPort Transmitter Subsystem core.
 
void XDpTxSs_Reset (XDpTxSs *InstancePtr)
 This function resets the DisplayPort Transmitter Subsystem including all sub-cores.
 
u32 XDpTxSs_Start (XDpTxSs *InstancePtr)
 This function starts the DisplayPort Transmitter Subsystem including all sub-cores.
 
u32 XDpTxSs_StartCustomMsa (XDpTxSs *InstancePtr, XDpTxSs_MainStreamAttributes *MsaConfigCustom)
 This function starts the DisplayPort Transmitter Subsystem with custom multi-stream attributes (MSA)including all sub-cores.
 
void XDpTxSs_Stop (XDpTxSs *InstancePtr)
 This function disables the DisplayPort Transmitter Subsystem sub-cores.
 
void XDpTxSs_VtcAdjustBSTimingEnable (XDpTxSs *InstancePtr)
 This function enables special timing mode for BS equal timing.
 
void XDpTxSs_VtcAdjustBSTimingDisable (XDpTxSs *InstancePtr)
 This function disables special timing mode for BS equal timing.
 
u32 XDpTxSs_SetBpc (XDpTxSs *InstancePtr, u8 Bpc)
 This function sets the bits per color value of the video stream.
 
u32 XDpTxSs_SetVidMode (XDpTxSs *InstancePtr, XVidC_VideoMode VidMode)
 This function sets the standard display mode.
 
u32 XDpTxSs_SetLinkRate (XDpTxSs *InstancePtr, u8 LinkRate)
 This function sets the data rate to be used by the DisplayPort TX Subsystem core.
 
u32 XDpTxSs_SetLaneCount (XDpTxSs *InstancePtr, u8 LaneCount)
 This function sets the number of lanes to be used by DisplayPort TX Subsystem core.
 
u32 XDpTxSs_SetTransportMode (XDpTxSs *InstancePtr, u8 Mode)
 This function sets transport mode (SST/MST).
 
u32 XDpTxSs_GetRxCapabilities (XDpTxSs *InstancePtr)
 This function retrieves the RX device's capabilities from the RX device's DisplayPort Configuration Data (DPCD).
 
u32 XDpTxSs_GetEdid (XDpTxSs *InstancePtr, u8 *Edid)
 This function retrieves an immediately connected RX device's Extended Display Identification Data (EDID) structure.
 
u32 XDpTxSs_GetRemoteEdid (XDpTxSs *InstancePtr, u8 SinkNum, u8 *Edid)
 This function retrieves a remote RX device's Extended Display Identification Data (EDID) structure.
 
u32 XDpTxSs_IsConnected (XDpTxSs *InstancePtr)
 This function checks if there is a connected RX device to DisplayPort TX Subsystem.
 
u32 XDpTxSs_CheckLinkStatus (XDpTxSs *InstancePtr)
 This function checks if the receiver's DisplayPort Configuration Data (DPCD) indicates the receiver has achieved and maintained clock recovery, channel equalization, symbol lock, and interlane alignment for all lanes currently in use.
 
void XDpTxSs_SetUserPixelWidth (XDpTxSs *InstancePtr, u8 UserPixelWidth, u8 StreamId)
 This function configures the number of pixels output through the user data interface.
 
u32 XDpTxSs_IsMstCapable (XDpTxSs *InstancePtr)
 This function determines whether downstream RX device is MST/SST capable.
 
void XDpTxSs_SetHasRedriverInPath (XDpTxSs *InstancePtr, u8 Set)
 This function sets software switch that specify whether or not a redriver exits on the DisplayPort output path.
 
XDpTxSs_ConfigXDpTxSs_LookupConfig (u16 DeviceId)
 This function returns a reference to an XDptxss_Config structure based on the core id, DeviceId.
 
void XDpTxSs_ReportCoreInfo (XDpTxSs *InstancePtr)
 This function reports list of sub-cores included in DisplayPort TX Subsystem.
 
void XDpTxSs_ReportLinkInfo (XDpTxSs *InstancePtr)
 This function prints the link status, selected resolution, bits per color and link/lane count symbol error.
 
void XDpTxSs_ReportMsaInfo (XDpTxSs *InstancePtr)
 This function prints the current main stream attributes from the DisplayPort TX core.
 
void XDpTxSs_ReportSinkCapInfo (XDpTxSs *InstancePtr)
 This function prints the capabilities of the DisplayPort sink.
 
void XDpTxSs_ReportSplitterInfo (XDpTxSs *InstancePtr)
 This function prints the current Dual Splitter information.
 
void XDpTxSs_ReportVtcInfo (XDpTxSs *InstancePtr)
 This function prints the current VTC timing information.
 
void XDpTxSs_ReportHdcpInfo (XDpTxSs *InstancePtr)
 This function prints the debug display info of the HDCP interface.
 
u32 XDpTxSs_SelfTest (XDpTxSs *InstancePtr)
 This function performs self test on DisplayPort Transmitter Subsystem sub-cores.
 
void XDpTxSs_DpIntrHandler (void *InstancePtr)
 This function is the interrupt handler for the DisplayPort TX core operating in TX mode.
 
u32 XDpTxSs_SetCallBack (XDpTxSs *InstancePtr, u32 HandlerType, void *CallbackFunc, void *CallbackRef)
 This function installs an asynchronous callback function for the given HandlerType:
 
void XDpTxSs_SetUserTimerHandler (XDpTxSs *InstancePtr, XDpTxSs_TimerHandler CallbackFunc, void *CallbackRef)
 This function installs a custom delay/sleep function to be used by the DisplayPort TX Subsystem.
 
void XDpTxSs_HpdEventProcess (void *InstancePtr)
 This function is process some DP driver read as per DP spec on HPD EVENT.
 
void XDpTxSs_HpdPulseProcess (void *InstancePtr)
 This function is process some DP driver read as per DP spec on HPD Pulse.
 

Register access macro definition

#define XDpTxSs_In32   Xil_In32
 Input Operations.
 
#define XDpTxSs_Out32   Xil_Out32
 Output Operations.
 
#define XDpTxSs_ReadReg(BaseAddress, RegOffset)   XDpTxSs_In32((BaseAddress) + ((u32)RegOffset))
 This macro reads a value from a DisplayPort Transmitter Subsystem register.
 
#define XDpTxSs_WriteReg(BaseAddress, RegOffset, Data)   XDpTxSs_Out32((BaseAddress) + ((u32)RegOffset), (u32)(Data))
 This macro writes a value to a DisplayPort Transmitter Subsystem register.
 

Macro Definition Documentation

#define XDpTxSs_CfgMsaEnSynchClkMode (   InstancePtr,
  Stream,
  Enable 
)    XDp_TxCfgMsaEnSynchClkMode((InstancePtr)->DpPtr, (Sream), (Enable))

This function enables or disables synchronous clock mode for a video stream.

Parameters
InstancePtris a pointer to the XDp instance.
Streamis the stream number for which to enable or disable synchronous clock mode.
Enableif set to 1, will enable synchronous clock mode. Otherwise, if set to 0, synchronous clock mode will be disabled.
Returns
None.
Note
C-style signature: void XDp_TxCfgMsaEnSynchClkMode(XDpTxSs *InstancePtr, u8 Stream, u8 Enable)
#define XDPTXSS_H_

Prevent circular inclusions by using protection macros.

#define XDPTXSS_HW_H_

Prevent circular inclusions by using protection macros.

#define XDpTxSs_In32   Xil_In32

Input Operations.

#define XDPTXSS_INTERRUPT_MASK   XDP_TX_INTERRUPT_MASK

Masks the specified interrupt sources.

Referenced by DpTxSs_HpdEventHandler(), and DpTxSs_ReportEdidInfo().

#define XDPTXSS_INTERRUPT_MASK_HPD_EVENT_MASK   XDP_TX_INTERRUPT_MASK_HPD_EVENT_MASK

Mask HPD event interrupt.

Referenced by DpTxSs_HpdEventHandler(), and DpTxSs_ReportEdidInfo().

#define XDPTXSS_INTERRUPT_MASK_HPD_PULSE_DETECTED_MASK   XDP_TX_INTERRUPT_MASK_HPD_PULSE_DETECTED_MASK

Mask HPD pulse detected interrupt.

Referenced by DpTxSs_HpdEventHandler(), and DpTxSs_ReportEdidInfo().

#define XDPTXSS_LANE_COUNT_SET_1   XDP_TX_LANE_COUNT_SET_1

Lane count of 1.

Referenced by XDpTxSs_SetLaneCount().

#define XDPTXSS_LANE_COUNT_SET_2   XDP_TX_LANE_COUNT_SET_2

Lane count of 2.

Referenced by XDpTxSs_SetLaneCount().

#define XDPTXSS_LANE_COUNT_SET_4   XDP_TX_LANE_COUNT_SET_4

Lane count of 4.

Referenced by XDpTxSs_SetLaneCount().

#define XDPTXSS_LINK_BW_SET_162GBPS   XDP_TX_LINK_BW_SET_162GBPS

1.62 Gbps link rate.

Referenced by XDpTxSs_SetLinkRate().

#define XDPTXSS_LINK_BW_SET_270GBPS   XDP_TX_LINK_BW_SET_270GBPS

2.70 Gbps link rate.

Referenced by XDpTxSs_SetLinkRate().

#define XDPTXSS_LINK_BW_SET_540GBPS   XDP_TX_LINK_BW_SET_540GBPS

5.40 Gbps link rate.

Referenced by XDpTxSs_SetLinkRate().

#define XDPTXSS_LINK_BW_SET_810GBPS   XDP_TX_LINK_BW_SET_810GBPS

8.10 Gbps link rate.

Referenced by XDpTxSs_SetLinkRate().

#define XDpTxSs_MainStreamAttributes   XDp_TxMainStreamAttributes

Main-Stream attributes.

Referenced by XDpTxSs_StartCustomMsa().

#define XDpTxSs_Mst_AudioDisable (   InstancePtr)    XDp_TxAudioDis((InstancePtr)->DpPtr)

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

Parameters
InstancePtris a pointer to the XDpTxSs core instance.
Returns
None.
Note
C-style signature: void XDpTxSs_Mst_AudioDisable(XDpTxSs *InstancePtr)
#define XDpTxSs_Mst_AudioEnable (   InstancePtr,
  StreamId 
)    XDp_Tx_Mst_AudioEn((InstancePtr)->DpPtr, StreamId)

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

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

Maximum number of streams supported.

#define XDpTxSs_Out32   Xil_Out32

Output Operations.

#define XDpTxSs_ReadReg (   BaseAddress,
  RegOffset 
)    XDpTxSs_In32((BaseAddress) + ((u32)RegOffset))

This macro reads a value from a DisplayPort Transmitter 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 XDpTxSs 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 XDpTxSs_ReadReg(UINTPTR BaseAddress, u32 RegOffset)

Referenced by DpTxSs_HpdEventHandler(), and DpTxSs_ReportEdidInfo().

#define XDpTxSs_SendAudioInfoFrame (   InstancePtr,
  xilInfoFrame 
)    XDp_TxSendAudioInfoFrame((InstancePtr)->DpPtr, xilInfoFrame)

This function macro sends audio infoframe packets on the main link.

Parameters
InstancePtris a pointer to the XDpTxSs core instance.
xilInfoFrameis a pointer to the InfoFrame buffer.
Returns
None.
Note
C-style signature: void XDpTxSs_SendAudioInfoFrame(XDpTxSs *InstancePtr, XDp_TxAudioInfoFrame *xilInfoFrame)
#define XDpTxSs_TimerHandler   XDp_TimerHandler

Callback type which represents a custom timer wait handler.

#define XDpTxSs_WriteReg (   BaseAddress,
  RegOffset,
  Data 
)    XDpTxSs_Out32((BaseAddress) + ((u32)RegOffset), (u32)(Data))

This macro writes a value to a DisplayPort Transmitter 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 XDpTxSs 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 XDpTxSs_WriteReg(UINTPTR BaseAddress, u32 RegOffset, u32 Data)

Referenced by DpTxSs_HpdEventHandler(), DpTxSs_ReportEdidInfo(), and XDpTxSs_Reset().

Enumeration Type Documentation

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

Enumerator
XDPTXSS_HANDLER_DP_HPD_EVENT 

A HPD event interrupt type for DisplayPort core.

XDPTXSS_HANDLER_DP_HPD_PULSE 

A HPD pulse interrupt type for DisplayPort core.

XDPTXSS_HANDLER_DP_LANE_COUNT_CHG 

Lane count change interrupt type for DisplayPort core.

XDPTXSS_HANDLER_DP_LINK_RATE_CHG 

Link rate change interrupt type for DisplayPort core.

XDPTXSS_HANDLER_DP_PE_VS_ADJUST 

Pre-emphasis and voltage swing change interrupt type for DisplayPort core.

XDPTXSS_HANDLER_DP_SET_MSA 

Set MSA immediate change change interrupt type for DisplayPort core.

XDPTXSS_DRV_HANDLER_DP_HPD_EVENT 

Driver's internal HPD event interrupt type for DisplayPort core.

XDPTXSS_DRV_HANDLER_DP_HPD_PULSE 

Driver's HPD pulse interrupt type for DisplayPort core.

These constants specify HDCP repeater content stream management type.

Enumerator
XDPTXSS_HDCP_STREAMTYPE_0 

HDCP Stream Type 0.

XDPTXSS_HDCP_STREAMTYPE_1 

HDCP Stream Type 1.

These constants specify the HDCP protection schemes.

Enumerator
XDPTXSS_HDCP_NONE 

No content protection.

XDPTXSS_HDCP_1X 

HDCP 1X.

XDPTXSS_HDCP_22 

HDCP 2.2.

XDPTXSS_HDCP_BOTH 

Both HDCP 1.4 and 2.2.

Function Documentation

u32 XDpTxSs_CfgInitialize ( XDpTxSs InstancePtr,
XDpTxSs_Config CfgPtr,
UINTPTR  EffectiveAddr 
)

This function initializes the DisplayPort Transmitter 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 XDpTxSs core instance.
CfgPtrpoints to the configuration structure associated with the DisplayPort TX 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 XDpTxSs_CfgInitialize successful.
Note
None.

References XDpTxSs_Config::BaseAddress, XDpTxSs_UsrOpt::Bpc, XDpTxSs::Config, XDpTxSs_Config::DeviceId, XDpTxSs_DpSubCore::DpConfig, XDpTxSs::DpPtr, XDpTxSs_Config::DpSubCore, XDpTxSs_Config::Hdcp22Enable, XDpTxSs::IsReady, XDpTxSs_Config::MaxBpc, XDpTxSs_UsrOpt::MstSupport, XDpTxSs_Config::MstSupport, XDpTxSs_Config::NumMstStreams, XDpTxSs_UsrOpt::NumOfStreams, XDpTxSs::UsrOpt, XDpTxSs_UsrOpt::VmId, XDpTxSs_UsrOpt::VtcAdjustBs, XDpTxSs_VtcSubCore::VtcConfig, XDpTxSs::VtcPtr, XDpTxSs_Config::VtcSubCore, XDPTXSS_DRV_HANDLER_DP_HPD_EVENT, XDPTXSS_DRV_HANDLER_DP_HPD_PULSE, XDPTXSS_HDCP_1X, XDPTXSS_HDCP_22, XDPTXSS_HDCP_BOTH, XDpTxSs_HpdEventProcess(), XDpTxSs_HpdPulseProcess(), XDpTxSs_SetCallBack(), and XDpTxSs_VtcSetup().

Referenced by DpTxSs_DebugExample(), DpTxSs_HdcpExample(), DpTxSs_IntrExample(), DpTxSs_MstExample(), and DpTxSs_SelfTestExample().

u32 XDpTxSs_CheckLinkStatus ( XDpTxSs InstancePtr)

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

Parameters
InstancePtris a pointer to the XDpTxSs core instance.
Returns
  • XST_SUCCESS if the RX device has maintained 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 XDpTxSs::DpPtr.

Referenced by hpd_con(), and start_tx().

void XDpTxSs_DpIntrHandler ( void *  InstancePtr)

This function is the interrupt handler for the DisplayPort TX core operating in TX 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 XDpTxSs_SetCallBack() during initialization phase.

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

References XDpTxSs::DpPtr, and XDpTxSs::IsReady.

Referenced by DpPt_SetupIntrSystem(), and DpTxSs_SetupIntrSystem().

u32 XDpTxSs_GetEdid ( XDpTxSs InstancePtr,
u8 *  Edid 
)

This function retrieves an immediately connected RX device's Extended Display Identification Data (EDID) structure.

Parameters
InstancePtris a pointer to the XDpTxSs core instance.
Edidis a pointer to the Edid buffer to save to.
Returns
  • XST_SUCCESS if the I2C transactions to read the EDID were successful.
  • XST_ERROR_COUNT_MAX if the EDID read request timed out.
  • XST_DEVICE_NOT_FOUND if no RX device is connected.
  • XST_FAILURE otherwise.
Note
None.

References XDpTxSs::DpPtr, and XDpTxSs::IsReady.

Referenced by DpTxSs_ReportEdidInfo().

u32 XDpTxSs_GetRemoteEdid ( XDpTxSs InstancePtr,
u8  SinkNum,
u8 *  Edid 
)

This function retrieves a remote RX device's Extended Display Identification Data (EDID) structure.

Parameters
InstancePtris a pointer to the XDpTxSs core instance.
SinkNumis the Sink ID in the sink list within the range [0 to 3].
Edidis a pointer to the Edid buffer to save to.
Returns
  • XST_SUCCESS if the I2C transactions to read the EDID were successful.
  • XST_ERROR_COUNT_MAX if the EDID read request timed out.
  • XST_DEVICE_NOT_FOUND if no RX device is connected.
  • XST_FAILURE otherwise.
Note
None.

References XDpTxSs::DpPtr, and XDpTxSs::IsReady.

Referenced by DpTxSs_ReportEdidInfo().

u32 XDpTxSs_GetRxCapabilities ( XDpTxSs InstancePtr)

This function retrieves the RX device's capabilities from the RX device's DisplayPort Configuration Data (DPCD).

Parameters
InstancePtris a pointer to the XDpTxSs core instance.
Returns
  • XST_SUCCESS if the DisplayPort Configuration Data was read successfully.
  • XST_DEVICE_NOT_FOUND if no RX device is connected.
  • XST_FAILURE otherwise.
Note
None.

References XDpTxSs::DpPtr.

Referenced by DpTxSs_DebugExample(), DpTxSs_HdcpExample(), and DpTxSs_MstExample().

void XDpTxSs_HpdEventProcess ( void *  InstancePtr)

This function is process some DP driver read as per DP spec on HPD EVENT.

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

References XDpTxSs::DpPtr, XDpTxSs::IsReady, and XDpTxSs::UsrHpdEventData.

Referenced by XDpTxSs_CfgInitialize().

void XDpTxSs_HpdPulseProcess ( void *  InstancePtr)

This function is process some DP driver read as per DP spec on HPD Pulse.

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

References XDpTxSs::DpPtr, XDpTxSs::IsReady, and XDpTxSs::UsrHpdPulseData.

Referenced by XDpTxSs_CfgInitialize().

u32 XDpTxSs_IsConnected ( XDpTxSs InstancePtr)

This function checks if there is a connected RX device to DisplayPort TX Subsystem.

Parameters
InstancePtris a pointer to the XDpTxSs core instance.
Returns
  • TRUE if there is a connection.
  • FALSE if there is no connection.
Note
None.

References XDpTxSs::DpPtr.

Referenced by DpPt_HpdEventHandler(), and DpTxSs_HpdEventHandler().

u32 XDpTxSs_IsMstCapable ( XDpTxSs InstancePtr)

This function determines whether downstream RX device is MST/SST capable.

Parameters
InstancePtris a pointer to the XDpTxSs core instance.
Returns
  • XST_SUCCESS if the RX device is MST enabled.
  • XST_FAILURE if the RX device is SST enabled.
Note
None.

References XDpTxSs::DpPtr.

Referenced by DpTxSs_DebugExample(), DpTxSs_HdcpExample(), DpTxSs_HpdEventHandler(), and DpTxSs_MstExample().

XDpTxSs_Config * XDpTxSs_LookupConfig ( u16  DeviceId)

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

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

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

Referenced by DpTxSs_DebugExample(), DpTxSs_HdcpExample(), DpTxSs_IntrExample(), DpTxSs_MstExample(), and DpTxSs_SelfTestExample().

void XDpTxSs_ReportCoreInfo ( XDpTxSs InstancePtr)

This function reports list of sub-cores included in DisplayPort TX Subsystem.

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

References XDpTxSs::Config, XDpTxSs::DpPtr, XDpTxSs_Config::HdcpEnable, XDpTxSs_Config::MaxBpc, XDpTxSs_Config::MaxLaneCount, XDpTxSs_UsrOpt::MstSupport, XDpTxSs_Config::MstSupport, XDpTxSs_Config::NumMstStreams, XDpTxSs_Config::SecondaryChEn, XDpTxSs::UsrOpt, and XDpTxSs::VtcPtr.

Referenced by DpTxSs_DebugExample().

void XDpTxSs_ReportHdcpInfo ( XDpTxSs InstancePtr)

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

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

Referenced by DpTxSs_DebugExample().

void XDpTxSs_ReportLinkInfo ( XDpTxSs InstancePtr)

This function prints the link status, selected resolution, bits per color and link/lane count symbol error.

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

References XDpTxSs_UsrOpt::Bpc, XDpTxSs::DpPtr, XDpTxSs::UsrOpt, and XDpTxSs_UsrOpt::VmId.

Referenced by DpTxSs_DebugExample().

void XDpTxSs_ReportMsaInfo ( XDpTxSs InstancePtr)

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

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

References XDpTxSs::DpPtr.

Referenced by DpTxSs_DebugExample().

void XDpTxSs_ReportSinkCapInfo ( XDpTxSs InstancePtr)

This function prints the capabilities of the DisplayPort sink.

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

References XDpTxSs::DpPtr.

Referenced by DpTxSs_DebugExample().

void XDpTxSs_ReportSplitterInfo ( XDpTxSs InstancePtr)

This function prints the current Dual Splitter information.

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

Referenced by DpTxSs_DebugExample().

void XDpTxSs_ReportVtcInfo ( XDpTxSs InstancePtr)

This function prints the current VTC timing information.

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

References XDpTxSs_UsrOpt::NumOfStreams, XDpTxSs::UsrOpt, and XDpTxSs::VtcPtr.

Referenced by DpTxSs_DebugExample().

void XDpTxSs_Reset ( XDpTxSs InstancePtr)

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

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

References XDpTxSs::Config, XDpTxSs_DpSubCore::DpConfig, XDpTxSs_Config::DpSubCore, XDpTxSs_Config::NumMstStreams, XDpTxSs::VtcPtr, and XDpTxSs_WriteReg.

Referenced by detect_rx_video_and_startTx(), and switch_to_Tx_only().

u32 XDpTxSs_SelfTest ( XDpTxSs InstancePtr)

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

Parameters
InstancePtris a pointer to the XDpTxSs core instance.
Returns
  • XST_SUCCESS if self test passed.
  • XST_FAILURE if self test failed.
Note
None.

References XDpTxSs::Config, XDpTxSs::DpPtr, XDpTxSs_Config::HdcpEnable, XDpTxSs_Config::NumMstStreams, and XDpTxSs::VtcPtr.

Referenced by DpTxSs_SelfTestExample().

u32 XDpTxSs_SetBpc ( XDpTxSs InstancePtr,
u8  Bpc 
)

This function sets the bits per color value of the video stream.

Parameters
InstancePtris a pointer to the XDpTxSs instance.
Bpcis the new number of bits per color that needs to be set.
  • 6 = XVIDC_BPC_6,
  • 8 = XVIDC_BPC_8,
  • 10 = XVIDC_BPC_10,
  • 12 = XVIDC_BPC_12,
  • 16 = XVIDC_BPC_16,
Returns
  • XST_SUCCESS, if bits per color set successfully.
  • XST_FAILURE, if bits per color set failed.
Note
None.

References XDpTxSs_UsrOpt::Bpc, and XDpTxSs::UsrOpt.

Referenced by DpTxSs_DebugExample(), DpTxSs_HdcpExample(), DpTxSs_MstExample(), hpd_con(), and start_tx().

u32 XDpTxSs_SetCallBack ( XDpTxSs InstancePtr,
u32  HandlerType,
void *  CallbackFunc,
void *  CallbackRef 
)

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

HandlerType                              Callback Function HandlerType
---------------------------------------- ------------------------------------
(XDPTXSS_HANDLER_DP_HPD_EVENT)           XDP_TX_HANDLER_HPDEVENT
(XDPTXSS_HANDLER_DP_HPD_PULSE)           XDP_TX_HANDLER_HPDPULSE
(XDPTXSS_HANDLER_DP_LANE_COUNT_CHG)      XDP_TX_HANDLER_LANECNTCHANGE
(XDPTXSS_HANDLER_DP_LINK_RATE_CHG)       XDP_TX_HANDLER_LINKRATECHANGE
(XDPTXSS_HANDLER_DP_PE_VS_ADJUST)        XDP_TX_HANDLER_PEVSADJUST
(XDPTXSS_HANDLER_HDCP_RPTR_EXCHG)        XHdcp1x_SetCallBack
(XDPTXSS_HANDLER_DP_SET_MSA)             XDP_TX_HANDLER_SETMSA
Parameters
InstancePtris a pointer to the XDpTxSs 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 XDpTxSs::DpPtr, XDpTxSs::IsReady, XDPTXSS_DRV_HANDLER_DP_HPD_EVENT, XDPTXSS_DRV_HANDLER_DP_HPD_PULSE, XDPTXSS_HANDLER_DP_HPD_EVENT, XDPTXSS_HANDLER_DP_HPD_PULSE, XDPTXSS_HANDLER_DP_LANE_COUNT_CHG, XDPTXSS_HANDLER_DP_LINK_RATE_CHG, XDPTXSS_HANDLER_DP_PE_VS_ADJUST, and XDPTXSS_HANDLER_DP_SET_MSA.

Referenced by DpTxSs_SetupIntrSystem(), and XDpTxSs_CfgInitialize().

void XDpTxSs_SetHasRedriverInPath ( XDpTxSs InstancePtr,
u8  Set 
)

This function sets software switch that specify whether or not a redriver exits on the DisplayPort output path.

Parameters
InstancePtris a pointer to the XDpTxSs core instance.
Setestablishes that a redriver exists in the DisplayPort output path. 1 = Set redriver in the DisplayPort output path. 0 = Unset redriver in the DisplayPort output path.
Returns
None.
Note
Set the redriver in the DisplayPort output path before starting the training.

References XDpTxSs::DpPtr.

u32 XDpTxSs_SetLaneCount ( XDpTxSs InstancePtr,
u8  LaneCount 
)

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

Parameters
InstancePtris a pointer to the XDpTxSs instance.
LaneCountis the number of lanes to be used.
  • 1 = XDPTXSS_LANE_COUNT_SET_1
  • 2 = XDPTXSS_LANE_COUNT_SET_2
  • 4 = XDPTXSS_LANE_COUNT_SET_4
Returns
  • XST_SUCCESS if setting the new lane count was successful.
  • XST_FAILURE otherwise.
Note
Maximum supported lane count is used if given lane count is greater than the maximum supported lane count.

References XDpTxSs::DpPtr, XDPTXSS_LANE_COUNT_SET_1, XDPTXSS_LANE_COUNT_SET_2, and XDPTXSS_LANE_COUNT_SET_4.

Referenced by DpTxSs_DebugExample(), DpTxSs_HdcpExample(), DpTxSs_MstExample(), hpd_con(), hpd_pulse_con(), and start_tx().

u32 XDpTxSs_SetLinkRate ( XDpTxSs InstancePtr,
u8  LinkRate 
)

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

Parameters
InstancePtris a pointer to the XDpTxSs instance.
LinkRateis the rate at which link needs to be driven.
  • XDPTXSS_LINK_BW_SET_162GBPS = 0x06(for a 1.62 Gbps data rate)
  • XDPTXSS_LINK_BW_SET_270GBPS = 0x0A(for a 2.70 Gbps data rate)
  • XDPTXSS_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
Maximum supported link rate is used if given link rate is greater than the maximum supported link rate.

References XDpTxSs::DpPtr, XDPTXSS_LINK_BW_SET_162GBPS, XDPTXSS_LINK_BW_SET_270GBPS, XDPTXSS_LINK_BW_SET_540GBPS, and XDPTXSS_LINK_BW_SET_810GBPS.

Referenced by DpTxSs_DebugExample(), DpTxSs_HdcpExample(), DpTxSs_MstExample(), hpd_con(), hpd_pulse_con(), and start_tx().

u32 XDpTxSs_SetTransportMode ( XDpTxSs InstancePtr,
u8  Mode 
)

This function sets transport mode (SST/MST).

Parameters
InstancePtris a pointer to the XDpTxSs core instance.
Modespecifies the type of transport mode that will be set.
  • 0 = Single-Stream Transport mode,
  • 1 = Multi-Stream Transport mode,
Returns
  • XST_SUCCESS, if transport mode is set successfully to either MST or SST when RX device is MST and mode is less than or equal to supported mode.
  • XST_FAILURE, if setting to already set mode or mode is greater than supported mode.
Note
Transport mode is set to either MST or SST when system is MST and RX device is MST capable.

References XDpTxSs::DpPtr, XDpTxSs_UsrOpt::MstSupport, and XDpTxSs::UsrOpt.

Referenced by DpTxSs_DebugExample(), DpTxSs_HdcpExample(), and DpTxSs_MstExample().

void XDpTxSs_SetUserPixelWidth ( XDpTxSs InstancePtr,
u8  UserPixelWidth,
u8  StreamId 
)

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

Parameters
InstancePtris a pointer to the XDpTxSs core instance.
UserPixelWidthis the user pixel width to be configured.
StreamIdis the stream number.
Returns
None.
Note
None.

References XDpTxSs::DpPtr.

void XDpTxSs_SetUserTimerHandler ( XDpTxSs InstancePtr,
XDpTxSs_TimerHandler  CallbackFunc,
void *  CallbackRef 
)

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

Parameters
InstancePtris a pointer to the XDpTxSs 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 XDpTxSs::DpPtr.

Referenced by DpTxSs_SetupIntrSystem().

u32 XDpTxSs_SetVidMode ( XDpTxSs InstancePtr,
XVidC_VideoMode  VidMode 
)

This function sets the standard display mode.

Parameters
InstancePtris a pointer to the XDpTxSs instance.
VidModeis one of the enumerated standard video modes that is used to determine the MSA values to be used.
Returns
  • XST_SUCCESS, if video mode set successfully.
  • XST_FAILURE, if video mode set failed.
Note
Refer xvidc.h for enumerated standard video modes.

References XDpTxSs_UsrOpt::MstSupport, XDpTxSs::UsrOpt, and XDpTxSs_UsrOpt::VmId.

Referenced by DpTxSs_DebugExample(), DpTxSs_HdcpExample(), DpTxSs_MstExample(), hpd_con(), and start_tx().

u32 XDpTxSs_Start ( XDpTxSs InstancePtr)

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

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

References XDpTxSs_UsrOpt::Bpc, XDpTxSs::DpPtr, XDpTxSs_UsrOpt::MstSupport, XDpTxSs::UsrOpt, XDpTxSs_UsrOpt::VmId, and XDpTxSs_DpTxStart().

Referenced by DpTxSs_DebugExample(), DpTxSs_HdcpExample(), DpTxSs_MstExample(), hpd_con(), and hpd_pulse_con().

u32 XDpTxSs_StartCustomMsa ( XDpTxSs InstancePtr,
XDpTxSs_MainStreamAttributes MsaConfigCustom 
)

This function starts the DisplayPort Transmitter Subsystem with custom multi-stream attributes (MSA)including all sub-cores.

Parameters
InstancePtris a pointer to the XDpTxSs core instance.
MsaConfigCustomis the structure that will be used to copy the main stream attributes from (into InstancePtr->DpPtr->TxInstance.MsaConfig).
Returns
  • XST_SUCCESS, if DP TX Subsystem and its included sub-cores configured successfully.
  • XST_FAILURE, otherwise.
Note
None.

References XDpTxSs_UsrOpt::Bpc, XDpTxSs::DpPtr, XDpTxSs_UsrOpt::MstSupport, XDpTxSs_UsrOpt::NumOfStreams, XDpTxSs::UsrOpt, XDpTxSs_UsrOpt::VmId, XDpTxSs_DpTxStart(), and XDpTxSs_MainStreamAttributes.

void XDpTxSs_Stop ( XDpTxSs InstancePtr)

This function disables the DisplayPort Transmitter Subsystem sub-cores.

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

References XDpTxSs::Config, XDpTxSs::DpPtr, XDpTxSs_Config::NumMstStreams, and XDpTxSs::VtcPtr.

Referenced by detect_rx_video_and_startTx(), switch_to_Tx_only(), and video_change_detect().

void XDpTxSs_VtcAdjustBSTimingDisable ( XDpTxSs InstancePtr)

This function disables special timing mode for BS equal timing.

Parameters
InstancePtris a pointer to the XDpTxSs core instance.
Returns
  • void.
Note
None.

References XDpTxSs::UsrOpt, and XDpTxSs_UsrOpt::VtcAdjustBs.

void XDpTxSs_VtcAdjustBSTimingEnable ( XDpTxSs InstancePtr)

This function enables special timing mode for BS equal timing.

Parameters
InstancePtris a pointer to the XDpTxSs core instance.
Returns
  • void.
Note
None.

References XDpTxSs::UsrOpt, and XDpTxSs_UsrOpt::VtcAdjustBs.