dp14txss: Dptxss_v5_1

| dp14txss Xilinx SDK Drivers API Documentation

- Overview
- Data Structures
- APIs
- File List

Data Structures | Macros | Enumerations | Functions
Dptxss_v5_1

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

## 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. More...
void | XDpTxSs_Reset (XDpTxSs *InstancePtr)
| This function resets the DisplayPort Transmitter Subsystem including all sub-cores. More...
u32 | XDpTxSs_Start (XDpTxSs *InstancePtr)
| This function starts the DisplayPort Transmitter Subsystem including all sub-cores. More...
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. More...
void | XDpTxSs_Stop (XDpTxSs *InstancePtr)
| This function disables the DisplayPort Transmitter Subsystem sub-cores. More...
void | XDpTxSs_VtcAdjustBSTimingEnable (XDpTxSs *InstancePtr)
| This function enables special timing mode for BS equal timing. More...
void | XDpTxSs_VtcAdjustBSTimingDisable (XDpTxSs *InstancePtr)
| This function disables special timing mode for BS equal timing. More...
u32 | XDpTxSs_SetBpc (XDpTxSs *InstancePtr, u8 Bpc)
| This function sets the bits per color value of the video stream. More...
u32 | XDpTxSs_SetVidMode (XDpTxSs *InstancePtr, XVidC_VideoMode VidMode)
| This function sets the standard display mode. More...
u32 | XDpTxSs_SetLinkRate (XDpTxSs *InstancePtr, u8 LinkRate)
| This function sets the data rate to be used by the DisplayPort TX Subsystem core. More...
u32 | XDpTxSs_SetLaneCount (XDpTxSs *InstancePtr, u8 LaneCount)
| This function sets the number of lanes to be used by DisplayPort TX Subsystem core. More...
u32 | XDpTxSs_SetTransportMode (XDpTxSs *InstancePtr, u8 Mode)
| This function sets transport mode (SST/MST). More...
u32 | XDpTxSs_GetRxCapabilities (XDpTxSs *InstancePtr)
| This function retrieves the RX device's capabilities from the RX device's DisplayPort Configuration Data (DPCD). More...
u32 | XDpTxSs_GetEdid (XDpTxSs *InstancePtr, u8 *Edid)
| This function retrieves an immediately connected RX device's Extended Display Identification Data (EDID) structure. More...
u32 | XDpTxSs_GetRemoteEdid (XDpTxSs *InstancePtr, u8 SinkNum, u8 *Edid)
| This function retrieves a remote RX device's Extended Display Identification Data (EDID) structure. More...
u32 | XDpTxSs_IsConnected (XDpTxSs *InstancePtr)
| This function checks if there is a connected RX device to DisplayPort TX Subsystem. More...
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. More...
void | XDpTxSs_SetUserPixelWidth (XDpTxSs *InstancePtr, u8 UserPixelWidth, u8 StreamId)
| This function configures the number of pixels output through the user data interface. More...
u32 | XDpTxSs_IsMstCapable (XDpTxSs *InstancePtr)
| This function determines whether downstream RX device is MST/SST capable. More...
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. More...
XDpTxSs_Config * | XDpTxSs_LookupConfig (u16 DeviceId)
| This function returns a reference to an XDptxss_Config structure based on the core id, DeviceId. More...
void | XDpTxSs_ReportCoreInfo (XDpTxSs *InstancePtr)
| This function reports list of sub-cores included in DisplayPort TX Subsystem. More...
void | XDpTxSs_ReportLinkInfo (XDpTxSs *InstancePtr)
| This function prints the link status, selected resolution, bits per color and link/lane count symbol error. More...
void | XDpTxSs_ReportMsaInfo (XDpTxSs *InstancePtr)
| This function prints the current main stream attributes from the DisplayPort TX core. More...
void | XDpTxSs_ReportSinkCapInfo (XDpTxSs *InstancePtr)
| This function prints the capabilities of the DisplayPort sink. More...
void | XDpTxSs_ReportSplitterInfo (XDpTxSs *InstancePtr)
| This function prints the current Dual Splitter information. More...
void | XDpTxSs_ReportVtcInfo (XDpTxSs *InstancePtr)
| This function prints the current VTC timing information. More...
void | XDpTxSs_ReportHdcpInfo (XDpTxSs *InstancePtr)
| This function prints the debug display info of the HDCP interface. More...
u32 | XDpTxSs_SelfTest (XDpTxSs *InstancePtr)
| This function performs self test on DisplayPort Transmitter Subsystem sub-cores. More...
void | XDpTxSs_DpIntrHandler (void *InstancePtr)
| This function is the interrupt handler for the DisplayPort TX core operating in TX mode. More...
u32 | XDpTxSs_SetCallBack (XDpTxSs *InstancePtr, u32 HandlerType, void *CallbackFunc, void *CallbackRef)
| This function installs an asynchronous callback function for the given HandlerType: More...
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. More...
void | XDpTxSs_HpdEventProcess (void *InstancePtr)
| This function is process some DP driver read as per DP spec on HPD EVENT. More...
void | XDpTxSs_HpdPulseProcess (void *InstancePtr)
| This function is process some DP driver read as per DP spec on HPD Pulse. More...

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

## 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

  InstancePtr | is a pointer to the XDp instance.
  Stream | is the stream number for which to enable or disable synchronous clock mode.
  Enable | if 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

  InstancePtr | is 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

  InstancePtr | is a pointer to the XDpTxSs core instance.
  Stream | Id 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

  BaseAddress | is the base address of the XDpTxSs core instance.
  RegOffset | is 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

  InstancePtr | is a pointer to the XDpTxSs core instance.
  xilInfoFrame | is 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

  BaseAddress | is the base address of the XDpTxSs core instance.
  RegOffset | is the register offset of the register (defined at the top of this file) to be written.
  Data | is 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

enum XDpTxSs_HandlerType

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.

enum XDpTxSs_HdcpContentStreamType

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.

enum XDpTxSs_HdcpProtocol

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

  InstancePtr | is a pointer to the XDpTxSs core instance.
  CfgPtr | points to the configuration structure associated with the DisplayPort TX Subsystem core.
  EffectiveAddr | is the base address of the device. If address translation is being used, then this parameter must reflect the virtual base address. Otherwise, the physical address should be used.

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

  InstancePtr | is 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

  InstancePtr | is 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

  InstancePtr | is a pointer to the XDpTxSs core instance.
  Edid | is 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

  InstancePtr | is a pointer to the XDpTxSs core instance.
  SinkNum | is the Sink ID in the sink list within the range [0 to 3].
  Edid | is 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

  InstancePtr | is 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

  InstancePtr | is 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

  InstancePtr | is 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

  InstancePtr | is 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

  InstancePtr | is 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

  DeviceId | is 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

  InstancePtr | is 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

  InstancePtr | is 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

  InstancePtr | is 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

  InstancePtr | is 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

  InstancePtr | is 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

  InstancePtr | is 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

  InstancePtr | is 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

  InstancePtr | is 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

  InstancePtr | is 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

  InstancePtr | is a pointer to the XDpTxSs instance.
  Bpc | is 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

  InstancePtr | is a pointer to the XDpTxSs core instance.
  HandlerType | specifies the type of handler.
  CallbackFunc | is the address of the callback function.
  CallbackRef | is a user data item that will be passed to the callback function when it is invoked.

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

  InstancePtr | is a pointer to the XDpTxSs core instance.
  Set | establishes 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

  InstancePtr | is a pointer to the XDpTxSs instance.
  LaneCount | is 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

  InstancePtr | is a pointer to the XDpTxSs instance.
  LinkRate | is 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

  InstancePtr | is a pointer to the XDpTxSs core instance.
  Mode | specifies 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

  InstancePtr | is a pointer to the XDpTxSs core instance.
  UserPixelWidth | is the user pixel width to be configured.
  StreamId | is 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

  InstancePtr | is a pointer to the XDpTxSs instance.
  CallbackFunc | is the address to the callback function.
  CallbackRef | is the user data item (microseconds to delay) that will be passed to the custom sleep/delay function when it is invoked.

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

  InstancePtr | is a pointer to the XDpTxSs instance.
  VidMode | is 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

  InstancePtr | is 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

  InstancePtr | is a pointer to the XDpTxSs core instance.
  MsaConfigCustom | is 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

  InstancePtr | is 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

  InstancePtr | is 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

  InstancePtr | is a pointer to the XDpTxSs core instance.

Returns
  - void.

Note
  None.

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