diff --git a/XilinxProcessorIPLib/drivers/dptx/doc/html/api/annotated.html b/XilinxProcessorIPLib/drivers/dptx/doc/html/api/annotated.html index fd999aa4..4d07e17c 100644 --- a/XilinxProcessorIPLib/drivers/dptx/doc/html/api/annotated.html +++ b/XilinxProcessorIPLib/drivers/dptx/doc/html/api/annotated.html @@ -24,10 +24,20 @@
Here is a list of all file members with links to the files they belong to:
-
+Here is a list of all file members with links to the files they belong to: +
+
Interrupt processing
DisplayPort interrupts occur on the HPD signal line when the DisplayPort cable is connected/disconnected or when the RX device sends a pulse. The user hardware design must contain an interrupt controller which the DisplayPort TX instance's interrupt signal is connected to. The user application must enable interrupts in the system and set up the interrupt controller such that the XDptx_HpdInterruptHandler handler will service DisplayPort interrupts. When the XDptx_HpdInterruptHandler function is invoked, the handler will identify what type of DisplayPort interrupt has occurred, and will call either the HPD event handler function or the HPD pulse handler function, depending on whether a an HPD event on an HPD pulse event occurred.
-The DisplayPort Tx's XDPTX_INTERRUPT_STATUS register indicates the type of interrupt that has occured, and the XDptx_HpdInterruptHandler will use this information to decide which handler to call. An HPD event is identified if bit XDPTX_INTERRUPT_STATUS_HPD_EVENT_MASK is set, and an HPD pulse is identified from the XDPTX_INTERRUPT_STATUS_HPD_PULSE_DETECTED_MASK bit.
+The DisplayPort TX's XDPTX_INTERRUPT_STATUS register indicates the type of interrupt that has occured, and the XDptx_HpdInterruptHandler will use this information to decide which handler to call. An HPD event is identified if bit XDPTX_INTERRUPT_STATUS_HPD_EVENT_MASK is set, and an HPD pulse is identified from the XDPTX_INTERRUPT_STATUS_HPD_PULSE_DETECTED_MASK bit.
The HPD event handler may be set up by using the XDptx_SetHpdEventHandler function and, for the HPD pulse handler, the XDptx_SetHpdPulseHandler function.
+Multi-stream transport (MST) mode
+The driver handles MST mode functionality, including sideband messaging, topology discovery, virtual channel payload ID table management, and directing streams to different sinks.
+MST testing has been done at 5.40Gbps per 4 lanes, with 4 sinks in a daisy- chain configuration, with each stream having the same resolution. Extensive testing has been done at resolutions of 1080p for each of 1 to 4 streams and UHD/2 for each of 1 or 2 streams. Other resolutions have been tested as well, however with the current version of the driver, some monitors required a power cycle for all streams to come up.
Audio
The driver does not handle audio. For an example as to how to configure and transmit audio, dptx/examples/xdptx_audio_example.c illustrates the required sequence. The user will need to configure the audio source connected to the Displayport TX instance and set up the audio info frame as per user requirements.
Asserts
Asserts are used within all Xilinx drivers to enforce constraints on argument values. Asserts can be turned off on a system-wide basis by defining, at compile time, the NDEBUG identifier. By default, asserts are turned on and it is recommended that application developers leave asserts on during development.
-Limitations
+Limitations and known issues
@@ -58,4 +61,5 @@ Asserts are used within all Xilinx drivers to enforce constraints on argument vaVer Who Date Changes ----- ---- -------- ----------------------------------------------- 1.00a als 05/17/14 Initial release. + als 08/03/14 Initial MST addition.Copyright @ 1995-2014 Xilinx, Inc. All rights reserved. diff --git a/XilinxProcessorIPLib/drivers/dptx/doc/html/api/struct_x_dptx-members.html b/XilinxProcessorIPLib/drivers/dptx/doc/html/api/struct_x_dptx-members.html index 8561abb9..5071f985 100644 --- a/XilinxProcessorIPLib/drivers/dptx/doc/html/api/struct_x_dptx-members.html +++ b/XilinxProcessorIPLib/drivers/dptx/doc/html/api/struct_x_dptx-members.html @@ -22,16 +22,19 @@
BoardChar | XDptx | |
Config | XDptx | |
HasRedriverInPath | XDptx | |
HpdEventCallbackRef | XDptx | |
HpdEventHandler | XDptx | |
HpdPulseCallbackRef | XDptx | |
HpdPulseHandler | XDptx | |
IsReady | XDptx | |
LinkConfig | XDptx | |
MsaConfig | XDptx | |
MsaConfig | XDptx | |
MstEnable | XDptx | |
MstStreamConfig | XDptx | |
RxConfig | XDptx | |
Topology | XDptx | |
TrainAdaptive | XDptx | |
UserTimerPtr | XDptx | |
UserTimerWaitUs | XDptx |
Public Attributes | |
u32 | MstEnable |
u32 | IsReady |
u8 | TrainAdaptive |
u8 | HasRedriverInPath |
XDptx_Config | Config |
XDptx_SinkConfig | RxConfig |
XDptx_LinkConfig | LinkConfig |
XDptx_MainStreamAttributes | MsaConfig |
XDptx_BoardChar | BoardChar |
XDptx_MainStreamAttributes | MsaConfig [4] |
XDptx_MstStream | MstStreamConfig [4] |
XDptx_Topology | Topology |
XDptx_TimerHandler | UserTimerWaitUs |
XDptx_BoardChar XDptx::BoardChar | +
+Some board characteristics information that affects link training. +
u8 XDptx::HasRedriverInPath | -
-Redriver in path requires different voltage swing and pre-emphasis. -
-Configuration structure for the main stream attributes. +Configuration structure for the main stream attributes (MSA). Each stream has its own set of attributes. When MST mode is disabled, only MsaConfig[0] is used. +
u32 XDptx::MstEnable | +
+Multi-stream transport (MST) mode. Enables functionality, allowing multiple streams to be sent over the main link. +
XDptx_MstStream XDptx::MstStreamConfig[4] | +
+Configuration structure for a multi-stream transport (MST) stream.
@@ -207,6 +243,21 @@ Configuration structure for the main stream attributes. Configuration structure for the RX device.
XDptx_Topology XDptx::Topology | +
+The topology of connected downstream DisplayPort devices when the driver is running in MST mode. +
HasRedriverInPath | XDptx_BoardChar | |
TxPeLevels | XDptx_BoardChar | |
TxVsLevels | XDptx_BoardChar | |
TxVsOffset | XDptx_BoardChar |
#include <xdptx.h>
++
Public Attributes | |
u8 | HasRedriverInPath |
u8 | TxVsLevels [4] |
u8 | TxPeLevels [4] |
u8 | TxVsOffset |
u8 XDptx_BoardChar::HasRedriverInPath | +
+Redriver in path requires different voltage swing and pre-emphasis. +
u8 XDptx_BoardChar::TxPeLevels[4] | +
+The pre-emphasis/cursor level to be used by the DisplayPort TX. +
u8 XDptx_BoardChar::TxVsLevels[4] | +
+The voltage swing levels to be used by the DisplayPort TX. +
u8 XDptx_BoardChar::TxVsOffset | +
+Voltage swing compensation offset used when pre-emphasis is used. +
+
-Horizontal back porch. +Horizontal back porch (in pixels).
@@ -101,7 +101,7 @@ Horizontal back porch.
-Horizontal front porch. +Horizontal front porch (in pixels).
@@ -116,7 +116,7 @@ Horizontal front porch.
-Horizontal resolution. +Horizontal resolution (in pixels).
@@ -131,7 +131,7 @@ Horizontal resolution.
-Horizontal synchronization polarity. +Horizontal synchronization polarity (0=positive/1=negative).
@@ -146,7 +146,22 @@ Horizontal synchronization polarity.
-Horizontal synchronization pulse width. +Horizontal synchronization time (pulse width in pixels). +
u8 XDptx_DmtMode::Interlaced | +
+Input stream interlaced scan (0=non-interlaced/ 1=interlaced).
@@ -161,22 +176,7 @@ Horizontal synchronization pulse width.
-Pixel frequency (in KHz). -
u8 XDptx_DmtMode::Scan | -
-Interlaced/non-interlaced. +Pixel frequency (in KHz). This is also the M value for the video stream (MVid).
@@ -191,7 +191,7 @@ Interlaced/non-interlaced.
-Vertical back porch. +Vertical back porch (in lines).
@@ -206,7 +206,7 @@ Vertical back porch.
-Vertical front porch. +Vertical front porch (in lines).
@@ -236,7 +236,7 @@ Enumerated key.
-Vertical resolution. +Vertical resolution (in lines).
@@ -251,7 +251,7 @@ Vertical resolution.
-Vertical synchronization polarity. +Vertical synchronization polarity (0=positive/1=negative).
@@ -266,7 +266,7 @@ Vertical synchronization polarity.
-Vertical synchronization pulse width. +Vertical synchronization time (pulse width in lines).
u8 XDptx_LinkConfig::ComponentFormat | -
-The component format currently in use over the main link. -
u8 XDptx_LinkConfig::DynamicRange | -
-The dynamic range currently in use over the main link. -
u8 XDptx_LinkConfig::SynchronousClockMode | -
-Synchronous clock mode is currently in use over the main link. -
u8 XDptx_LinkConfig::YCbCrColorimetry | -
-The YCbCr colorimetry currently in use over the main link. -
Public Attributes | |
XDptx_DmtMode | Dmt |
u32 | HClkTotal |
u32 | VClkTotal |
u32 | HSyncPulseWidth |
u32 | VSyncPulseWidth |
u32 | HResolution |
u32 | VResolution |
u32 | HSyncPolarity |
u32 | VSyncPolarity |
u32 | HStart |
u32 | VStart |
u32 | VBackPorch |
u32 | VFrontPorch |
u32 | HBackPorch |
u32 | HFrontPorch |
u32 | Misc0 |
u32 | Misc1 |
u32 | MVid |
u32 | NVid |
u32 | TransferUnitSize |
u32 | UserPixelWidth |
u32 | DataPerLane |
u32 | AvgBytesPerTU |
u32 | TransferUnitSize |
u32 | InitWait |
u32 | Interlaced |
u32 | BitsPerColor |
u8 | ComponentFormat |
u8 | DynamicRange |
u8 | YCbCrColorimetry |
u8 | SynchronousClockMode |
u8 XDptx_MainStreamAttributes::ComponentFormat | +
+The component format currently in use by the video stream. +
-Horizontal back porch (in pixels). +Holds the set of Display Mode Timing (DMT) attributes that correspond to the information stored in the XDptx_DmtModes table. +
u8 XDptx_MainStreamAttributes::DynamicRange | +
+The dynamic range currently in use by the video stream.
@@ -156,36 +172,6 @@ Horizontal back porch (in pixels). Horizontal total time (in pixels).
u32 XDptx_MainStreamAttributes::HFrontPorch | -
-Horizontal front porch (in pixels). -
u32 XDptx_MainStreamAttributes::HResolution | -
-Horizontal resolution (in pixels). -
u32 XDptx_MainStreamAttributes::HSyncPolarity | -
-Horizontal synchronization polarity (0=positive/1=negative). -
u32 XDptx_MainStreamAttributes::HSyncPulseWidth | -
-Horizontal synchronization time (in pixels). -
u32 XDptx_MainStreamAttributes::Interlaced | -
-Input stream is interlaced. -
u32 XDptx_MainStreamAttributes::MVid | -
-M value for the video stream. This value is equal to the pixel clock in KHz. -
u8 XDptx_MainStreamAttributes::SynchronousClockMode | +
+Synchronous clock mode is currently in use by the video stream. +
-Size of the transfer unit in the framing logic. +Size of the transfer unit in the framing logic. In MST mode, this is also the number of time slots that are alloted in the payload ID table.
@@ -351,21 +292,6 @@ Size of the transfer unit in the framing logic. The width of the user data input port.
u32 XDptx_MainStreamAttributes::VBackPorch | -
-Vertical back porch (in lines). -
u32 XDptx_MainStreamAttributes::VFrontPorch | -
-Vertical front porch (in lines). -
u32 XDptx_MainStreamAttributes::VResolution | -
-Vertical resolution (in lines). -
-Vertical synchronization polarity (0=positive/1=negative). -
u32 XDptx_MainStreamAttributes::VSyncPulseWidth | -
-Vertical synchronization time (in lines +The YCbCr colorimetry currently in use by the video stream.
LinkCountTotal | XDptx_MstStream | |
MstPbn | XDptx_MstStream | |
MstStreamEnable | XDptx_MstStream | |
RelativeAddress | XDptx_MstStream |
#include <xdptx.h>
++
Public Attributes | |
u8 | LinkCountTotal |
u8 | RelativeAddress [15] |
u16 | MstPbn |
u8 | MstStreamEnable |
u8 XDptx_MstStream::LinkCountTotal | +
+ +
u16 XDptx_MstStream::MstPbn | +
+The relative address from the DisplayPort TX to the sink device that this MST stream is targeting. Payload bandwidth number used to allocate bandwidth for the MST stream. +
u8 XDptx_MstStream::MstStreamEnable | +
+In MST mode, enables the corresponding stream for this MSA configuration. +
u8 XDptx_MstStream::RelativeAddress[15] | +
+The total number of DisplayPort links from the DisplayPort TX to the sink device that this MST stream is targeting. +
+
#include <xdptx.h>
++
Public Attributes | |
u8 | ReplyType |
u8 | RequestId |
u32 | Guid [4] |
u8 | NumPorts |
XDptx_SbMsgLinkAddressReplyPortDetail | PortDetails [16] |
u32 XDptx_SbMsgLinkAddressReplyDeviceInfo::Guid[4] | +
+The global unique identifier (GUID) of the branch device. +
u8 XDptx_SbMsgLinkAddressReplyDeviceInfo::NumPorts | +
+The number of ports associated with this branch device. +
XDptx_SbMsgLinkAddressReplyPortDetail XDptx_SbMsgLinkAddressReplyDeviceInfo::PortDetails[16] | +
+An array describing all ports attached to this branch device. +
u8 XDptx_SbMsgLinkAddressReplyDeviceInfo::ReplyType | +
+The reply type of the sideband message. A value of 1 indicates that the request wasn't successful and the return data will give the reason for a negative-acknowledge (NACK). +
u8 XDptx_SbMsgLinkAddressReplyDeviceInfo::RequestId | +
+The request identifier of the reply. This should correspond to the request identifier for the LINK_ADDRESS sideband message request. +
+
#include <xdptx.h>
++
Public Attributes | |
u8 | InputPort |
u8 | PeerDeviceType |
u8 | PortNum |
u8 | MsgCapStatus |
u8 | DpDevPlugStatus |
u8 | LegacyDevPlugStatus |
u8 | DpcdRev |
u32 | Guid [4] |
u8 | NumSdpStreams |
u8 | NumSdpStreamSinks |
u8 XDptx_SbMsgLinkAddressReplyPortDetail::DpcdRev | +
+The DisplayPort Configuration Data (DPCD) revision of the device connected to this port. +
u8 XDptx_SbMsgLinkAddressReplyPortDetail::DpDevPlugStatus | +
+There is a device connected to this port. +
u32 XDptx_SbMsgLinkAddressReplyPortDetail::Guid[4] | +
+The global unique identifier (GUID) of the device connected to this port. +
u8 XDptx_SbMsgLinkAddressReplyPortDetail::InputPort | +
+Specifies that this port is an input port. +
u8 XDptx_SbMsgLinkAddressReplyPortDetail::LegacyDevPlugStatus | +
+This port is connected to a legacy device. +
u8 XDptx_SbMsgLinkAddressReplyPortDetail::MsgCapStatus | +
+This port or the device at this port can send and receive MST messages. +
u8 XDptx_SbMsgLinkAddressReplyPortDetail::NumSdpStreams | +
+The total number of Secondary-Data Packet (SDP) streams that this port can handle. +
u8 XDptx_SbMsgLinkAddressReplyPortDetail::NumSdpStreamSinks | +
+The number of SDP streams associated with this port. +
u8 XDptx_SbMsgLinkAddressReplyPortDetail::PeerDeviceType | +
+Specifies the device type connected to this port. +
u8 XDptx_SbMsgLinkAddressReplyPortDetail::PortNum | +
+The port number of this port. +
+
Body | XDptx_SidebandMsg | |
Header | XDptx_SidebandMsg |
+
Public Attributes | |
XDptx_SidebandMsgHeader | Header |
XDptx_SidebandMsgBody | Body |
XDptx_SidebandMsgBody XDptx_SidebandMsg::Body | +
+The body segment of the sideband message. +
XDptx_SidebandMsgHeader XDptx_SidebandMsg::Header | +
+The header segment of the sideband message. +
+
Crc | XDptx_SidebandMsgBody | |
MsgData | XDptx_SidebandMsgBody | |
MsgDataLength | XDptx_SidebandMsgBody |
+
Public Attributes | |
u8 | MsgData [62] |
u8 | MsgDataLength |
u8 | Crc |
u8 XDptx_SidebandMsgBody::Crc | +
+The cyclic-redundancy check (CRC) value of the body data. +
u8 XDptx_SidebandMsgBody::MsgData[62] | +
+The raw body data of the sideband message. +
u8 XDptx_SidebandMsgBody::MsgDataLength | +
+The number of data bytes stored as part of the sideband message body. +
+
+
Public Attributes | |
u8 | LinkCountTotal |
u8 | LinkCountRemaining |
u8 | RelativeAddress [15] |
u8 | BroadcastMsg |
u8 | PathMsg |
u8 | MsgBodyLength |
u8 | StartOfMsgTransaction |
u8 | EndOfMsgTransaction |
u8 | MsgSequenceNum |
u8 | Crc |
u8 | MsgHeaderLength |
u8 XDptx_SidebandMsgHeader::BroadcastMsg | +
+Specifies that this message is a broadcast message, to be handled by all downstream devices. +
u8 XDptx_SidebandMsgHeader::Crc | +
+The cyclic-redundancy check (CRC) value of the header data. +
u8 XDptx_SidebandMsgHeader::EndOfMsgTransaction | +
+This message is the last sideband message in the transaction. +
u8 XDptx_SidebandMsgHeader::LinkCountRemaining | +
+The remaining link count until the sideband message reaches the target device. +
u8 XDptx_SidebandMsgHeader::LinkCountTotal | +
+The total number of DisplayPort links connecting the device device that this sideband message is targeted from the DisplayPort TX. +
u8 XDptx_SidebandMsgHeader::MsgBodyLength | +
+The total number of data bytes that are stored in the sideband message body. +
u8 XDptx_SidebandMsgHeader::MsgHeaderLength | +
+The number of data bytes stored as part of the sideband message header. +
u8 XDptx_SidebandMsgHeader::MsgSequenceNum | +
+Identifies invidiual message transactions to a given DisplayPort device. +
u8 XDptx_SidebandMsgHeader::PathMsg | +
+Specifies that this message is a path message, to be handled by all the devices between the origin and the target device. +
u8 XDptx_SidebandMsgHeader::RelativeAddress[15] | +
+The relative address from the DisplayPort TX to the target device. +
u8 XDptx_SidebandMsgHeader::StartOfMsgTransaction | +
+This message is the first sideband message in the transaction. +
+
Data | XDptx_SidebandReply | |
Length | XDptx_SidebandReply |
+
Public Attributes | |
u8 | Length |
u8 | Data [256] |
u8 XDptx_SidebandReply::Data[256] | +
+The raw reply data. +
u8 XDptx_SidebandReply::Length | +
+The number of bytes of reply data. +
+
DpcdRxCapsField | XDptx_SinkConfig | |
Edid | XDptx_SinkConfig | |
LaneStatusAdjReqs | XDptx_SinkConfig |
u8 XDptx_SinkConfig::Edid[XDPTX_EDID_SIZE] | -
-The RX device's raw Extended Display Identification Data (EDID). -
NodeTable | XDptx_Topology | |
NodeTotal | XDptx_Topology | |
SinkList | XDptx_Topology | |
SinkTotal | XDptx_Topology |
#include <xdptx.h>
++
Public Attributes | |
u8 | NodeTotal |
XDptx_TopologyNode | NodeTable [63] |
u8 | SinkTotal |
XDptx_TopologyNode * | SinkList [63] |
XDptx_TopologyNode XDptx_Topology::NodeTable[63] | +
+A table listing all the nodes in the MST topology. +
u8 XDptx_Topology::NodeTotal | +
+The total number of nodes that were found in the MST topology. +
XDptx_TopologyNode* XDptx_Topology::SinkList[63] | +
+A pointer list of sinks in the MST topology. The entries will point to the sinks in the NodeTable. +
u8 XDptx_Topology::SinkTotal | +
+The total number of sinks in the MST topology. +
+
DeviceType | XDptx_TopologyNode | |
DpcdRev | XDptx_TopologyNode | |
Guid | XDptx_TopologyNode | |
LinkCountTotal | XDptx_TopologyNode | |
MsgCapStatus | XDptx_TopologyNode | |
RelativeAddress | XDptx_TopologyNode |
#include <xdptx.h>
++
Public Attributes | |
u32 | Guid [4] |
u8 | RelativeAddress [15] |
u8 | DeviceType |
u8 | LinkCountTotal |
u8 | DpcdRev |
u8 | MsgCapStatus |
u8 XDptx_TopologyNode::DeviceType | +
+The type of DisplayPort device. Either a branch or sink. +
u8 XDptx_TopologyNode::DpcdRev | +
+The revision of the device's DisplayPort Configuration Data (DPCD). For this device to support MST features, this value must represent a protocl version greater or equal to 1.2. +
u32 XDptx_TopologyNode::Guid[4] | +
+The global unique identifier (GUID) of the device. +
u8 XDptx_TopologyNode::LinkCountTotal | +
+The total number of DisplayPort links connecting this device to the DisplayPort TX. +
u8 XDptx_TopologyNode::MsgCapStatus | +
+This device is capable of sending and receiving sideband messages. +
u8 XDptx_TopologyNode::RelativeAddress[15] | +
+The relative address from the DisplayPort TX to this device. +
+
void XDptx_CfgTxPeLevel | +( | +XDptx * | +InstancePtr, | +|
+ | + | u8 | +Level, | +|
+ | + | u8 | +TxLevel | + |
+ | ) | ++ |
+This function sets the pre-emphasis level value in the DisplayPort TX that will be used during link training for a given pre-emphasis training level.
+
InstancePtr | is a pointer to the XDptx instance. | |
Level | is the pre-emphasis training level to set the DisplayPort TX level for. | |
TxLevel | is the DisplayPort TX pre-emphasis level value to be used during link training. |
void XDptx_CfgTxVsLevel | +( | +XDptx * | +InstancePtr, | +|
+ | + | u8 | +Level, | +|
+ | + | u8 | +TxLevel | + |
+ | ) | ++ |
+This function sets the voltage swing level value in the DisplayPort TX that will be used during link training for a given voltage swing training level.
+
InstancePtr | is a pointer to the XDptx instance. | |
Level | is the voltage swing training level to set the DisplayPort TX level for. | |
TxLevel | is the DisplayPort TX voltage swing level value to be used during link training. |
void XDptx_CfgTxVsOffset | +( | +XDptx * | +InstancePtr, | +|
+ | + | u8 | +Offset | + |
+ | ) | ++ |
+This function sets the voltage swing offset to use during training when no redriver exists. The offset will be added to the DisplayPort TX's voltage swing level value when pre-emphasis is used (when the pre-emphasis level not equal to 0).
+
InstancePtr | is a pointer to the XDptx instance. | |
Offset | is the value to set for the voltage swing offset. |
@@ -549,7 +683,7 @@ This function checks if the link needs training and runs the training sequence i
u32 XDptx_GetEdid | ( | XDptx * | -InstancePtr | -) | -+ | InstancePtr, | + +
+ | + | u8 * | +Edid | + |
+ | ) | +
InstancePtr | is a pointer to the XDptx instance. | |
InstancePtr | is a pointer to the XDptx instance. | |
Edid | is a pointer to the Edid buffer to save to. |
Classes | |||||
struct | XDptx_DmtMode | ||||
struct | XDptx_Config | ||||
struct | XDptx_SinkConfig | ||||
struct | XDptx_LinkConfig | ||||
struct | XDptx_DmtMode | ||||
struct | XDptx_MainStreamAttributes | ||||
struct | XDptx_MstStream | ||||
struct | XDptx_BoardChar | ||||
struct | XDptx_TopologyNode | ||||
struct | XDptx_Topology | ||||
struct | XDptx_SbMsgLinkAddressReplyPortDetail | ||||
struct | XDptx_SbMsgLinkAddressReplyDeviceInfo | ||||
struct | XDptx | ||||
Defines | |||||
u32 | XDptx_GetRxCapabilities (XDptx *InstancePtr) | ||||
u32 | XDptx_GetEdid (XDptx *InstancePtr) | ||||
u32 | XDptx_GetEdid (XDptx *InstancePtr, u8 *Edid) | ||||
u32 | XDptx_CfgMainLinkMax (XDptx *InstancePtr) | ||||
void | XDptx_SetHasRedriverInPath (XDptx *InstancePtr, u8 Set) | ||||
void | XDptx_CfgTxVsOffset (XDptx *InstancePtr, u8 Offset) | ||||
void | XDptx_CfgTxVsLevel (XDptx *InstancePtr, u8 Level, u8 TxLevel) | ||||
void | XDptx_CfgTxPeLevel (XDptx *InstancePtr, u8 Level, u8 TxLevel) | ||||
u32 | XDptx_AuxRead (XDptx *InstancePtr, u32 Address, u32 NumBytes, void *Data) | ||||
u32 | XDptx_AuxWrite (XDptx *InstancePtr, u32 Address, u32 NumBytes, void *Data) | ||||
void | XDptx_SetUserTimerHandler (XDptx *InstancePtr, XDptx_TimerHandler CallbackFunc, void *CallbackRef) | ||||
void | XDptx_CfgMsaRecalculate (XDptx *InstancePtr) | ||||
void | XDptx_CfgMsaRecalculate (XDptx *InstancePtr, u8 Stream) | ||||
void | XDptx_CfgMsaUseStandardVideoMode (XDptx *InstancePtr, XDptx_VideoMode VideoMode) | ||||
void | XDptx_CfgMsaUseStandardVideoMode (XDptx *InstancePtr, u8 Stream, XDptx_VideoMode VideoMode) | ||||
void | XDptx_CfgMsaUseEdidPreferredTiming (XDptx *InstancePtr) | ||||
void | XDptx_CfgMsaUseEdidPreferredTiming (XDptx *InstancePtr, u8 Stream, u8 *Edid) | ||||
void | XDptx_CfgMsaUseCustom (XDptx *InstancePtr, XDptx_MainStreamAttributes *MsaConfigCustom, u8 Recalculate) | ||||
void | XDptx_CfgMsaUseCustom (XDptx *InstancePtr, u8 Stream, XDptx_MainStreamAttributes *MsaConfigCustom, u8 Recalculate) | ||||
void | XDptx_CfgMsaSetBpc (XDptx *InstancePtr, u8 BitsPerColor) | ||||
void | XDptx_CfgMsaSetBpc (XDptx *InstancePtr, u8 Stream, u8 BitsPerColor) | ||||
void | XDptx_SetVideoMode (XDptx *InstancePtr) | ||||
void | XDptx_CfgMsaEnSynchClkMode (XDptx *InstancePtr, u8 Stream, u8 Enable) | ||||
void | XDptx_SetVideoMode (XDptx *InstancePtr, u8 Stream) | ||||
void | XDptx_ClearMsaValues (XDptx *InstancePtr, u8 Stream) | ||||
void | XDptx_SetMsaValues (XDptx *InstancePtr, u8 Stream) | ||||
void | XDptx_SetHpdEventHandler (XDptx *InstancePtr, XDptx_HpdEventHandler CallbackFunc, void *CallbackRef) | ||||
XDptx_Config * | XDptx_LookupConfig (u16 DeviceId) | ||||
void | XDptx_MstCfgModeEnable (XDptx *InstancePtr) | ||||
void | XDptx_MstCfgModeDisable (XDptx *InstancePtr) | ||||
u32 | XDptx_MstCapable (XDptx *InstancePtr) | ||||
u32 | XDptx_MstEnable (XDptx *InstancePtr) | ||||
u32 | XDptx_MstDisable (XDptx *InstancePtr) | ||||
void | XDptx_MstCfgStreamEnable (XDptx *InstancePtr, u8 Stream) | ||||
void | XDptx_MstCfgStreamDisable (XDptx *InstancePtr, u8 Stream) | ||||
u8 | XDptx_MstStreamIsEnabled (XDptx *InstancePtr, u8 Stream) | ||||
void | XDptx_SetStreamSelectFromSinkList (XDptx *InstancePtr, u8 Stream, u8 SinkNum) | ||||
void | XDptx_SetStreamSinkRad (XDptx *InstancePtr, u8 Stream, u8 LinkCountTotal, u8 *RelativeAddress) | ||||
void | XDptx_FindAccessibleDpDevices (XDptx *InstancePtr, u8 LinkCountTotal, u8 *RelativeAddress) | ||||
u32 | XDptx_AllocatePayloadStreams (XDptx *InstancePtr) | ||||
u32 | XDptx_AllocatePayloadVcIdTable (XDptx *InstancePtr, u8 LinkCountTotal, u8 *RelativeAddress, u8 VcId, u16 Pbn, u8 Ts) | ||||
u32 | XDptx_ClearPayloadVcIdTable (XDptx *InstancePtr) | ||||
u32 | XDptx_SendSbMsgRemoteDpcdWrite (XDptx *InstancePtr, u8 LinkCountTotal, u8 *RelativeAddress, u32 DpcdAddress, u32 BytesToWrite, u8 *WriteData) | ||||
u32 | XDptx_SendSbMsgRemoteDpcdRead (XDptx *InstancePtr, u8 LinkCountTotal, u8 *RelativeAddress, u32 DpcdAddress, u32 BytesToRead, u8 *ReadData) | ||||
u32 | XDptx_SendSbMsgRemoteIicRead (XDptx *InstancePtr, u8 LinkCountTotal, u8 *RelativeAddress, u8 IicDeviceId, u8 BytesToRead, u8 *ReadData) | ||||
u32 | XDptx_SendSbMsgLinkAddress (XDptx *InstancePtr, u8 LinkCountTotal, u8 *RelativeAddress, XDptx_SbMsgLinkAddressReplyDeviceInfo *DeviceInfo) | ||||
u32 | XDptx_SendSbMsgEnumPathResources (XDptx *InstancePtr, u8 LinkCountTotal, u8 *RelativeAddress, u16 *AvailPbn, u16 *FullPbn) | ||||
u32 | XDptx_SendSbMsgAllocatePayload (XDptx *InstancePtr, u8 LinkCountTotal, u8 *RelativeAddress, u8 VcId, u16 Pbn) | ||||
u32 | XDptx_SendSbMsgClearPayloadIdTable (XDptx *InstancePtr) | ||||
void | XDptx_WriteGuid (XDptx *InstancePtr, u8 LinkCountTotal, u8 *RelativeAddress, u32 Guid[4]) | ||||
void | XDptx_GetGuid (XDptx *InstancePtr, u8 LinkCountTotal, u8 *RelativeAddress, u32 *Guid) | ||||
u32 | XDptx_GetRemoteEdid (XDptx *InstancePtr, u8 LinkCountTotal, u8 *RelativeAddress, u8 *Edid) | ||||
Variables | |||||
XDptx_DmtMode | XDptx_DmtModes [] |
u32 XDptx_AllocatePayloadStreams | +( | +XDptx * | +InstancePtr | +) | ++ |
+This function will allocate bandwidth for all enabled stream.
+
InstancePtr | is a pointer to the XDptx instance. |
+
u32 XDptx_AllocatePayloadVcIdTable | +( | +XDptx * | +InstancePtr, | +|
+ | + | u8 | +LinkCountTotal, | +|
+ | + | u8 * | +RelativeAddress, | +|
+ | + | u8 | +VcId, | +|
+ | + | u16 | +Pbn, | +|
+ | + | u8 | +Ts | + |
+ | ) | ++ |
+This function will allocate a bandwidth for a virtual channel in the payload ID table in both the DisplayPort TX and the downstream DisplayPort devices on the path to the target device specified by LinkCountTotal and RelativeAddress.
+
InstancePtr | is a pointer to the XDptx instance. | |
LinkCountTotal | is the number of DisplayPort links from the DisplayPort source to the target DisplayPort device. | |
RelativeAddress | is the relative address from the DisplayPort source to the target DisplayPort device. | |
VcId | is the unique virtual channel ID to allocate into the payload ID tables. | |
Pbn | is the payload bandwidth number that determines how much bandwidth will be allocated for the virtual channel. | |
Ts | is the number of timeslots to allocate in the payload ID tables. |
+
void XDptx_CfgMsaEnSynchClkMode | +( | +XDptx * | +InstancePtr, | +|
+ | + | u8 | +Stream, | +|
+ | + | u8 | +Enable | + |
+ | ) | ++ |
+This function enables or disables synchronous clock mode for a video stream.
+
InstancePtr | is a pointer to the XDptx 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. |
void XDptx_CfgMsaRecalculate | ( | XDptx * | -InstancePtr | -) | -+ | InstancePtr, | + +
+ | + | u8 | +Stream | + |
+ | ) | +
This function calculates the following Main Stream Attributes (MSA):
InstancePtr | is a pointer to the XDptx instance. | |
InstancePtr | is a pointer to the XDptx instance. | |
Stream | is the stream number for which to calculate the MSA values. |
XDptx * | InstancePtr, | +||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+ | + | u8 | +Stream, | +||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
@@ -781,6 +1022,7 @@ This function sets the bits per color value of the video stream. |
InstancePtr | is a pointer to the XDptx instance | |
Stream | is the stream number for which to set the color depth. | |
BitsPerColor | is the new number of bits per color to use. |
XDptx * | InstancePtr, | +||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+ | + | u8 | +Stream, | +||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
@@ -821,22 +1069,23 @@ This function sets the bits per color value of the video stream. |
InstancePtr | is a pointer to the XDptx instance. | |
Stream | is the stream number for which the MSA values will be used for. | |
MsaConfigCustom | is the structure that will be used to copy the main stream attributes from (into InstancePtr->MsaConfig). | |
Recalculate | is a boolean enable that determines whether or not the main stream attributes should be recalculated. |
void XDptx_CfgMsaUseEdidPreferredTiming | ( | XDptx * | -InstancePtr | -) | -+ | InstancePtr, | + +
+ | + | u8 | +Stream, | +|
+ | + | u8 * | +Edid | + |
+ | ) | +
InstancePtr | is a pointer to the XDptx instance | |
InstancePtr | is a pointer to the XDptx instance | |
Stream | is the stream number for which the MSA values will be used for. | |
Edid | is a pointer to the Edid to use for the specified stream. |
XDptx * | InstancePtr, | +||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+ | + | u8 | +Stream, | +||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
@@ -894,12 +1166,141 @@ This function sets the Main Stream Attribute (MSA) values in the configuration s |
InstancePtr | is a pointer to the XDptx instance. | |
Stream | is the stream number for which the MSA values will be used for. | |
VideoMode | is one of the enumerated standard video modes that is used to determine the MSA values to be used. |
void XDptx_CfgTxPeLevel | +( | +XDptx * | +InstancePtr, | +|
+ | + | u8 | +Level, | +|
+ | + | u8 | +TxLevel | + |
+ | ) | ++ |
+This function sets the pre-emphasis level value in the DisplayPort TX that will be used during link training for a given pre-emphasis training level.
+
InstancePtr | is a pointer to the XDptx instance. | |
Level | is the pre-emphasis training level to set the DisplayPort TX level for. | |
TxLevel | is the DisplayPort TX pre-emphasis level value to be used during link training. |
void XDptx_CfgTxVsLevel | +( | +XDptx * | +InstancePtr, | +|
+ | + | u8 | +Level, | +|
+ | + | u8 | +TxLevel | + |
+ | ) | ++ |
+This function sets the voltage swing level value in the DisplayPort TX that will be used during link training for a given voltage swing training level.
+
InstancePtr | is a pointer to the XDptx instance. | |
Level | is the voltage swing training level to set the DisplayPort TX level for. | |
TxLevel | is the DisplayPort TX voltage swing level value to be used during link training. |
void XDptx_CfgTxVsOffset | +( | +XDptx * | +InstancePtr, | +|
+ | + | u8 | +Offset | + |
+ | ) | ++ |
+This function sets the voltage swing offset to use during training when no redriver exists. The offset will be added to the DisplayPort TX's voltage swing level value when pre-emphasis is used (when the pre-emphasis level not equal to 0).
+
InstancePtr | is a pointer to the XDptx instance. | |
Offset | is the value to set for the voltage swing offset. |
@@ -940,6 +1341,79 @@ This function checks if the reciever's DisplayPort Configuration Data (DPCD) ind
void XDptx_ClearMsaValues | +( | +XDptx * | +InstancePtr, | +|
+ | + | u8 | +Stream | + |
+ | ) | ++ |
+This function clears the main stream attributes registers of the DisplayPort TX core.
+
InstancePtr | is a pointer to the XDptx instance. | |
Stream | is the stream number for which to clear the MSA values. |
u32 XDptx_ClearPayloadVcIdTable | +( | +XDptx * | +InstancePtr | +) | ++ |
+This function will clear the virtual channel payload ID table in both the DisplayPort TX and all downstream DisplayPort devices.
+
InstancePtr | is a pointer to the XDptx instance. |
+
@@ -1066,7 +1540,52 @@ This function checks if the link needs training and runs the training sequence i
void XDptx_FindAccessibleDpDevices | +( | +XDptx * | +InstancePtr, | +|
+ | + | u8 | +LinkCountTotal, | +|
+ | + | u8 * | +RelativeAddress | + |
+ | ) | ++ |
+This function will explore the DisplayPort topology of downstream devices connected to the DisplayPort TX. It will recursively go through each branch device, obtain its information by sending a LINK_ADDRESS sideband message, and add this information to the the topology's node table. For each sink device connected to a branch's downstream port, this function will obtain the details of the sink, add it to the topology's node table, as well as add it to the topology's sink list.
+
InstancePtr | is a pointer to the XDptx instance. | |
LinkCountTotal | is the total DisplayPort links connecting the DisplayPort TX to the current downstream device in the recursion. | |
RelativeAddress | is the relative address from the DisplayPort source to the current target DisplayPort device in the recursion. |
u32 XDptx_GetEdid | ( | XDptx * | -InstancePtr | -) | -+ | InstancePtr, | + +
+ | + | u8 * | +Edid | + |
+ | ) | +
InstancePtr | is a pointer to the XDptx instance. | |
InstancePtr | is a pointer to the XDptx instance. | |
Edid | is a pointer to the Edid buffer to save to. |
void XDptx_GetGuid | +( | +XDptx * | +InstancePtr, | +|
+ | + | u8 | +LinkCountTotal, | +|
+ | + | u8 * | +RelativeAddress, | +|
+ | + | u32 * | +Guid | + |
+ | ) | ++ |
+This function will obtain the global unique identifier (GUID) for the target DisplayPort device.
+
InstancePtr | is a pointer to the XDptx instance. | |
LinkCountTotal | is the number of DisplayPort links from the DisplayPort source to the target device. | |
RelativeAddress | is the relative address from the DisplayPort source to the target device. | |
Guid | is a pointer to the GUID that will store the existing GUID of the target device. |
u32 XDptx_GetRemoteEdid | +( | +XDptx * | +InstancePtr, | +|
+ | + | u8 | +LinkCountTotal, | +|
+ | + | u8 * | +RelativeAddress, | +|
+ | + | u8 * | +Edid | + |
+ | ) | ++ |
+This function retrieves a remote RX device's Extended Display Identification Data (EDID).
+
InstancePtr | is a pointer to the XDptx instance. | |
LinkCountTotal | is the number of DisplayPort links from the DisplayPort source to the target DisplayPort device. | |
RelativeAddress | is the relative address from the DisplayPort source to the target DisplayPort device. | |
Edid | is a pointer to the Edid buffer to save to. |
u32 XDptx_MstCapable | +( | +XDptx * | +InstancePtr | +) | ++ |
+This function will check if the immediate downstream RX device is capable of multi-stream transport (MST) mode. A DisplayPort Configuration Data (DPCD) version of 1.2 or higher is required and the MST capability bit in the DPCD must be set for this function to return XST_SUCCESS.
+
InstancePtr | is a pointer to the XDptx instance. |
+
void XDptx_MstCfgModeDisable | +( | +XDptx * | +InstancePtr | +) | ++ |
+This function will disable multi-stream transport (MST) mode for the driver.
+
InstancePtr | is a pointer to the XDptx instance. |
void XDptx_MstCfgModeEnable | +( | +XDptx * | +InstancePtr | +) | ++ |
+This function will enable multi-stream transport (MST) mode for the driver.
+
InstancePtr | is a pointer to the XDptx instance. |
void XDptx_MstCfgStreamDisable | +( | +XDptx * | +InstancePtr, | +|
+ | + | u8 | +Stream | + |
+ | ) | ++ |
+This function will configure the InstancePtr->MstStreamConfig structure to disable the specified stream.
+
InstancePtr | is a pointer to the XDptx instance. | |
Stream | is the stream ID that will be disabled. |
void XDptx_MstCfgStreamEnable | +( | +XDptx * | +InstancePtr, | +|
+ | + | u8 | +Stream | + |
+ | ) | ++ |
+This function will configure the InstancePtr->MstStreamConfig structure to enable the specified stream.
+
InstancePtr | is a pointer to the XDptx instance. | |
Stream | is the stream ID that will be enabled. |
u32 XDptx_MstDisable | +( | +XDptx * | +InstancePtr | +) | ++ |
+This function will disable multi-stream transport (MST) mode in both the DisplayPort TX and the immediate downstream RX device.
+
InstancePtr | is a pointer to the XDptx instance. |
+
u32 XDptx_MstEnable | +( | +XDptx * | +InstancePtr | +) | ++ |
+This function will enable multi-stream transport (MST) mode in both the DisplayPort TX and the immediate downstream RX device.
+
InstancePtr | is a pointer to the XDptx instance. |
+
u8 XDptx_MstStreamIsEnabled | +( | +XDptx * | +InstancePtr, | +|
+ | + | u8 | +Stream | + |
+ | ) | ++ |
+This function will check whether
+
InstancePtr | is a pointer to the XDptx instance. | |
Stream | is the stream ID to check for enable/disable status. |
@@ -1401,6 +2313,453 @@ This function runs a self-test on the XD
+This function will send an ALLOCATE_PAYLOAD sideband message which will allocate bandwidth for a virtual channel in the payload ID tables of the downstream devices connecting the DisplayPort TX to the target device.
+
+
+This function will send a CLEAR_PAYLOAD_ID_TABLE sideband message which will de-allocate all virtual channel payload ID tables.
+
+
+This function will send an ENUM_PATH_RESOURCES sideband message which will determine the available payload bandwidth number (PBN) for a path to a target device.
+
+
+AvailPbn will be modified with the available PBN from the reply.
+FullPbn will be modified with the total PBN of the path from the reply.
+This function will send a LINK_ADDRESS sideband message to a target DisplayPort branch device. It is used to determine the resources available for that device and some device information for each of the ports connected to the branch device.
+
+
+This function will send a REMOTE_DPCD_READ sideband message which will read from the specified DisplayPort Configuration Data (DPCD) address of a downstream DisplayPort device.
+
+
+This function will send a REMOTE_DPCD_WRITE sideband message which will write some data to the specified DisplayPort Configuration Data (DPCD) address of a downstream DisplayPort device.
+
+
+This function will send a REMOTE_I2C_READ sideband message which will read from the specified I2C address of a downstream DisplayPort device.
+
+
@@ -1691,6 +3050,44 @@ This function sets the data rate to be used by the main link for both the Displa
+This function sets the main stream attributes registers of the DisplayPort TX core with the values specified in the main stream attributes configuration structure.
+
@@ -1731,6 +3128,104 @@ This function enables or disables scrambling of symbols for both the DisplayPort
+This function will map a stream to a downstream DisplayPort TX device that is associated with a sink from the InstancePtr->Topology.SinkList.
+
+The topology will need to be determined prior to calling this function using the XDptx_FindAccessibleDpDevices.
+This function will map a stream to a downstream DisplayPort TX device determined by the relative address.
+
@@ -1778,7 +3273,7 @@ This function installs a custom delay/sleep function to be used by the XDdptx dr
+This function will write a global unique identifier (GUID) to the target DisplayPort device.
+
-This table contains the main stream attributes for various standard resolutions. Each entry is of the format: 1) XDPTX_VM_<HRES>x<VRES>_<REFRESH (HZ)>_P(_RB = Reduced Blanking) 2) Display Monitor Timing (DMT) ID 3) Horizontal resolution (pixels) 4) Vertical resolution (lines) 5) Pixel clock (KHz) 6) Scan (0=non-interlaced|1=interlaced) 7) Horizontal sync polarity (0=positive|1=negative) 8) Vertical sync polarity (0=positive|1=negative) 9) Horizontal front porch (pixels) 10) Horizontal sync time (pixels) 11) Horizontal back porch (pixels) 12) Vertical front porch (lines) 13) Vertical sync time (lines) 14) Vertical back porch (lines)
+This table contains the main stream attributes for various standard resolutions. Each entry is of the format: 1) XDPTX_VM_<HRES>x<VRES>_<REFRESH (HZ)>_P(_RB = Reduced Blanking) 2) Display Monitor Timing (DMT) ID 3) Horizontal resolution (pixels) 4) Vertical resolution (lines) 5) Pixel clock (KHz) 6) Interlaced (0=non-interlaced|1=interlaced) 7) Horizontal sync polarity (0=positive|1=negative) 8) Vertical sync polarity (0=positive|1=negative) 9) Horizontal front porch (pixels) 10) Horizontal sync time (pixels) 11) Horizontal back porch (pixels) 12) Vertical front porch (lines) 13) Vertical sync time (lines) 14) Vertical back porch (lines)
Copyright @ 1995-2014 Xilinx, Inc. All rights reserved.
diff --git a/XilinxProcessorIPLib/drivers/dptx/doc/html/api/xdptx__hw_8h.html b/XilinxProcessorIPLib/drivers/dptx/doc/html/api/xdptx__hw_8h.html
index ce4b580e..83fbbca1 100644
--- a/XilinxProcessorIPLib/drivers/dptx/doc/html/api/xdptx__hw_8h.html
+++ b/XilinxProcessorIPLib/drivers/dptx/doc/html/api/xdptx__hw_8h.html
@@ -29,6 +29,7 @@ This header file contains the identifiers and low-level driver functions (or mac
AUX request is currently being transmitted.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -8908,6 +9038,66 @@ Start of the MSA registers for stream 4.
Value:
+
+
+
+
+
+
+
diff --git a/XilinxProcessorIPLib/drivers/dptx/doc/html/api/xdptx__mst_8c.html b/XilinxProcessorIPLib/drivers/dptx/doc/html/api/xdptx__mst_8c.html
new file mode 100644
index 00000000..c338f5b9
--- /dev/null
+++ b/XilinxProcessorIPLib/drivers/dptx/doc/html/api/xdptx__mst_8c.html
@@ -0,0 +1,1321 @@
+
+
+
+
+
+
+
+ u32 XDptx_SendSbMsgAllocatePayload
+ (
+ XDptx *
+ InstancePtr,
+
+
+
+
+ u8
+ LinkCountTotal,
+
+
+
+
+ u8 *
+ RelativeAddress,
+
+
+
+
+ u8
+ VcId,
+
+
+
+
+ u16
+ Pbn
+
+
+
+ )
+
+
+
+
+
+ InstancePtr is a pointer to the XDptx instance.
+ LinkCountTotal is the number of DisplayPort links from the DisplayPort source to the target DisplayPort device.
+ RelativeAddress is the relative address from the DisplayPort source to the target DisplayPort device.
+ VcId is the unique virtual channel ID to allocate into the payload ID tables.
+ Pbn is the payload bandwidth number that determines how much bandwidth will be allocated for the virtual channel.
+
+
+
+
+
+
+
+
+
+
+
+
+ u32 XDptx_SendSbMsgClearPayloadIdTable
+ (
+ XDptx *
+ InstancePtr
+ )
+
+
+
+
+
+ InstancePtr is a pointer to the XDptx instance.
+
+
+
+
+
+
+
+
+
+
+
+
+ u32 XDptx_SendSbMsgEnumPathResources
+ (
+ XDptx *
+ InstancePtr,
+
+
+
+
+ u8
+ LinkCountTotal,
+
+
+
+
+ u8 *
+ RelativeAddress,
+
+
+
+
+ u16 *
+ AvailPbn,
+
+
+
+
+ u16 *
+ FullPbn
+
+
+
+ )
+
+
+
+
+
+ InstancePtr is a pointer to the XDptx instance.
+ LinkCountTotal is the number of DisplayPort links from the DisplayPort source to the target DisplayPort device.
+ RelativeAddress is the relative address from the DisplayPort source to the target DisplayPort device.
+ AvailPbn is a pointer to the available PBN of the path whose value will be filled in by this function.
+ FullPbn is a pointer to the total PBN of the path whose value will be filled in by this function.
+
+
+
+
+
+
+
+
+
+
+
+
+ u32 XDptx_SendSbMsgLinkAddress
+ (
+ XDptx *
+ InstancePtr,
+
+
+
+
+ u8
+ LinkCountTotal,
+
+
+
+
+ u8 *
+ RelativeAddress,
+
+
+
+
+ XDptx_SbMsgLinkAddressReplyDeviceInfo *
+ DeviceInfo
+
+
+
+ )
+
+
+
+
+
+ InstancePtr is a pointer to the XDptx instance.
+ LinkCountTotal is the number of DisplayPort links from the DisplayPort source to the target DisplayPort branch device.
+ RelativeAddress is the relative address from the DisplayPort source to the target DisplayPort branch device.
+ DeviceInfo is a pointer to the device information structure whose contents will be filled in with the information obtained by the LINK_ADDRESS sideband message.
+
+
+
+
+
+
+
+
+
+
+
+
+ u32 XDptx_SendSbMsgRemoteDpcdRead
+ (
+ XDptx *
+ InstancePtr,
+
+
+
+
+ u8
+ LinkCountTotal,
+
+
+
+
+ u8 *
+ RelativeAddress,
+
+
+
+
+ u32
+ DpcdAddress,
+
+
+
+
+ u32
+ BytesToRead,
+
+
+
+
+ u8 *
+ ReadData
+
+
+
+ )
+
+
+
+
+
+ InstancePtr is a pointer to the XDptx instance.
+ LinkCountTotal is the number of DisplayPort links from the DisplayPort source to the target DisplayPort device.
+ RelativeAddress is the relative address from the DisplayPort source to the target DisplayPort device.
+ DpcdAddress is the DPCD address of the target device that data will be read from.
+ BytesToRead is the number of bytes to read from the specified DPCD address.
+ ReadData is a pointer to a buffer that will be filled with the DPCD read data.
+
+
+
+
+
+
+
+
+
+
+
+
+ u32 XDptx_SendSbMsgRemoteDpcdWrite
+ (
+ XDptx *
+ InstancePtr,
+
+
+
+
+ u8
+ LinkCountTotal,
+
+
+
+
+ u8 *
+ RelativeAddress,
+
+
+
+
+ u32
+ DpcdAddress,
+
+
+
+
+ u32
+ BytesToWrite,
+
+
+
+
+ u8 *
+ WriteData
+
+
+
+ )
+
+
+
+
+
+ InstancePtr is a pointer to the XDptx instance.
+ LinkCountTotal is the number of DisplayPort links from the DisplayPort source to the target DisplayPort device.
+ RelativeAddress is the relative address from the DisplayPort source to the target DisplayPort device.
+ DpcdAddress is the DPCD address of the target device that data will be written to.
+ BytesToWrite is the number of bytes to write to the specified DPCD address.
+ WriteData is a pointer to a buffer that stores the data to write to the DPCD location.
+
+
+
+
+
+
+
+
+
+
+
+
+ u32 XDptx_SendSbMsgRemoteIicRead
+ (
+ XDptx *
+ InstancePtr,
+
+
+
+
+ u8
+ LinkCountTotal,
+
+
+
+
+ u8 *
+ RelativeAddress,
+
+
+
+
+ u8
+ IicDeviceId,
+
+
+
+
+ u8
+ BytesToRead,
+
+
+
+
+ u8 *
+ ReadData
+
+
+
+ )
+
+
+
+
+
+ InstancePtr is a pointer to the XDptx instance.
+ LinkCountTotal is the number of DisplayPort links from the DisplayPort source to the target DisplayPort device.
+ RelativeAddress is the relative address from the DisplayPort source to the target DisplayPort device.
+ IicDeviceId is the address on the I2C bus of the target device.
+ BytesToRead is the number of bytes to read from the I2C address.
+ ReadData is a pointer to a buffer that will be filled with the I2C read data.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ void XDptx_SetMsaValues
+ (
+ XDptx *
+ InstancePtr,
+
+
+
+
+ u8
+ Stream
+
+
+
+ )
+
+
+
+
+
+ InstancePtr is a pointer to the XDptx instance.
+ Stream is the stream number for which to set the MSA values for.
+
+
+
+
+
+
+
+ void XDptx_SetStreamSelectFromSinkList
+ (
+ XDptx *
+ InstancePtr,
+
+
+
+
+ u8
+ Stream,
+
+
+
+
+ u8
+ SinkNum
+
+
+
+ )
+
+
+
+
+
+ InstancePtr is a pointer to the XDptx instance.
+ Stream is the stream ID that will be mapped to a DisplayPort device.
+ SinkNum is the sink ID in the sink list that will be mapped to the stream.
+
+
+
+
+
+
+ void XDptx_SetStreamSinkRad
+ (
+ XDptx *
+ InstancePtr,
+
+
+
+
+ u8
+ Stream,
+
+
+
+
+ u8
+ LinkCountTotal,
+
+
+
+
+ u8 *
+ RelativeAddress
+
+
+
+ )
+
+
+
+
+
+ InstancePtr is a pointer to the XDptx instance.
+ Stream is the stream number that will be mapped to a DisplayPort device.
+ LinkCountTotal is the total DisplayPort links connecting the DisplayPort TX to the targeted downstream device.
+ RelativeAddress is the relative address from the DisplayPort source to the targeted DisplayPort device.
+
+
@@ -1786,9 +3281,18 @@ This function installs a custom delay/sleep function to be used by the XDdptx dr
void XDptx_SetVideoMode
(
XDptx *
- InstancePtr
- )
-
+ InstancePtr,
+
+
+
+
+
+ u8
+ Stream
+
+
+ )
+
-
+ InstancePtr is a pointer to the XDptx instance
+ InstancePtr is a pointer to the XDptx instance Stream is the stream number for which to set the MSA values for.
@@ -1842,6 +3347,58 @@ This function is the delay/sleep function for the
+
+
+
+
+ void XDptx_WriteGuid
+ (
+ XDptx *
+ InstancePtr,
+
+
+
+
+ u8
+ LinkCountTotal,
+
+
+
+
+ u8 *
+ RelativeAddress,
+
+
+
+
+ u32
+ Guid[4]
+
+
+
+ )
+
+
+
+
+
+ InstancePtr is a pointer to the XDptx instance.
+ LinkCountTotal is the number of DisplayPort links from the DisplayPort source to the target device.
+ RelativeAddress is the relative address from the DisplayPort source to the target device.
+ Guid is a the GUID to write to the target device.
+
+
Variable Documentation
@@ -1857,7 +3414,7 @@ This function is the delay/sleep function for the
Ver Who Date Changes
----- ---- -------- -----------------------------------------------
1.00a als 05/17/14 Initial release.
+ als 08/03/14 Initial MST addition.
#include "xil_io.h"
@@ -1153,6 +1154,30 @@ This header file contains the identifiers and low-level driver functions (or mac
+#define XDPTX_EDID_DTD_SIGNAL_VPOLARITY_SHIFT 2
+Stream identification.
+
+#define XDPTX_STREAM_ID1 1
+
+#define XDPTX_STREAM_ID2 2
+
+#define XDPTX_STREAM_ID3 3
+
+#define XDPTX_STREAM_ID4 4
+Sideband message codes when the driver is in MST mode.
+
+#define XDPTX_SBMSG_LINK_ADDRESS 0x01
+
+#define XDPTX_SBMSG_ENUM_PATH_RESOURCES 0x10
+
+#define XDPTX_SBMSG_ALLOCATE_PAYLOAD 0x11
+
+#define XDPTX_SBMSG_CLEAR_PAYLOAD_ID_TABLE 0x14
+
+#define XDPTX_SBMSG_REMOTE_DPCD_READ 0x20
+
+#define XDPTX_SBMSG_REMOTE_DPCD_WRITE 0x21
+
#define XDPTX_SBMSG_REMOTE_I2C_READ 0x22 Register access macro definitions.
@@ -8617,6 +8642,111 @@ Shift bits for the internal AUX reply state machine status.
#define XDptx_In32 Xil_In32
+
+
+
+ #define XDPTX_SBMSG_ALLOCATE_PAYLOAD 0x11
+
+
+
+
+ #define XDPTX_SBMSG_CLEAR_PAYLOAD_ID_TABLE 0x14
+
+
+
+
+ #define XDPTX_SBMSG_ENUM_PATH_RESOURCES 0x10
+
+
+
+
+ #define XDPTX_SBMSG_LINK_ADDRESS 0x01
+
+
+
+
+ #define XDPTX_SBMSG_REMOTE_DPCD_READ 0x20
+
+
+
+
+ #define XDPTX_SBMSG_REMOTE_DPCD_WRITE 0x21
+
+
+
+
+ #define XDPTX_SBMSG_REMOTE_I2C_READ 0x22
+
+
+
+
+ #define XDPTX_STREAM_ID1 1
+
+
+
+
+ #define XDPTX_STREAM_ID2 2
+
+
+
+
+ #define XDPTX_STREAM_ID3 3
+
+
+
+
+ #define XDPTX_STREAM_ID4 4
+ Xilinx Processor IP Library
+
+
+
+
+
xdptx_mst.c File Reference
+ MODIFICATION HISTORY:
+
Ver Who Date Changes + ----- ---- -------- ----------------------------------------------- + 1.00a als 08/03/14 Initial release. ++
+#include "string.h"
+#include "xdptx.h"
+#include "xstatus.h"
+
Classes | |
struct | XDptx_SidebandMsgHeader |
struct | XDptx_SidebandMsgBody |
struct | XDptx_SidebandMsg |
struct | XDptx_SidebandReply |
Defines | |
#define | XDPTX_MAX_TIMEOUT_COUNT 100 |
Functions | |
void | XDptx_MstCfgModeEnable (XDptx *InstancePtr) |
void | XDptx_MstCfgModeDisable (XDptx *InstancePtr) |
u32 | XDptx_MstCapable (XDptx *InstancePtr) |
u32 | XDptx_MstEnable (XDptx *InstancePtr) |
u32 | XDptx_MstDisable (XDptx *InstancePtr) |
u8 | XDptx_MstStreamIsEnabled (XDptx *InstancePtr, u8 Stream) |
void | XDptx_MstCfgStreamEnable (XDptx *InstancePtr, u8 Stream) |
void | XDptx_MstCfgStreamDisable (XDptx *InstancePtr, u8 Stream) |
void | XDptx_SetStreamSelectFromSinkList (XDptx *InstancePtr, u8 Stream, u8 SinkNum) |
void | XDptx_SetStreamSinkRad (XDptx *InstancePtr, u8 Stream, u8 LinkCountTotal, u8 *RelativeAddress) |
void | XDptx_FindAccessibleDpDevices (XDptx *InstancePtr, u8 LinkCountTotal, u8 *RelativeAddress) |
u32 | XDptx_AllocatePayloadStreams (XDptx *InstancePtr) |
u32 | XDptx_AllocatePayloadVcIdTable (XDptx *InstancePtr, u8 LinkCountTotal, u8 *RelativeAddress, u8 VcId, u16 Pbn, u8 Ts) |
u32 | XDptx_ClearPayloadVcIdTable (XDptx *InstancePtr) |
u32 | XDptx_SendSbMsgRemoteDpcdWrite (XDptx *InstancePtr, u8 LinkCountTotal, u8 *RelativeAddress, u32 DpcdAddress, u32 BytesToWrite, u8 *WriteData) |
u32 | XDptx_SendSbMsgRemoteDpcdRead (XDptx *InstancePtr, u8 LinkCountTotal, u8 *RelativeAddress, u32 DpcdAddress, u32 BytesToRead, u8 *ReadData) |
u32 | XDptx_SendSbMsgRemoteIicRead (XDptx *InstancePtr, u8 LinkCountTotal, u8 *RelativeAddress, u8 IicDeviceId, u8 BytesToRead, u8 *ReadData) |
u32 | XDptx_SendSbMsgLinkAddress (XDptx *InstancePtr, u8 LinkCountTotal, u8 *RelativeAddress, XDptx_SbMsgLinkAddressReplyDeviceInfo *DeviceInfo) |
u32 | XDptx_SendSbMsgEnumPathResources (XDptx *InstancePtr, u8 LinkCountTotal, u8 *RelativeAddress, u16 *AvailPbn, u16 *FullPbn) |
u32 | XDptx_SendSbMsgAllocatePayload (XDptx *InstancePtr, u8 LinkCountTotal, u8 *RelativeAddress, u8 VcId, u16 Pbn) |
u32 | XDptx_SendSbMsgClearPayloadIdTable (XDptx *InstancePtr) |
void | XDptx_WriteGuid (XDptx *InstancePtr, u8 LinkCountTotal, u8 *RelativeAddress, u32 Guid[4]) |
void | XDptx_GetGuid (XDptx *InstancePtr, u8 LinkCountTotal, u8 *RelativeAddress, u32 *Guid) |
u32 | XDptx_GetRemoteEdid (XDptx *InstancePtr, u8 LinkCountTotal, u8 *RelativeAddress, u8 *Edid) |
Variables | |
u32 | GuidTable [16][4] |
#define XDPTX_MAX_TIMEOUT_COUNT 100 | +
+ +
+
u32 XDptx_AllocatePayloadStreams | +( | +XDptx * | +InstancePtr | +) | ++ |
+This function will allocate bandwidth for all enabled stream.
+
InstancePtr | is a pointer to the XDptx instance. |
+
u32 XDptx_AllocatePayloadVcIdTable | +( | +XDptx * | +InstancePtr, | +|
+ | + | u8 | +LinkCountTotal, | +|
+ | + | u8 * | +RelativeAddress, | +|
+ | + | u8 | +VcId, | +|
+ | + | u16 | +Pbn, | +|
+ | + | u8 | +Ts | + |
+ | ) | ++ |
+This function will allocate a bandwidth for a virtual channel in the payload ID table in both the DisplayPort TX and the downstream DisplayPort devices on the path to the target device specified by LinkCountTotal and RelativeAddress.
+
InstancePtr | is a pointer to the XDptx instance. | |
LinkCountTotal | is the number of DisplayPort links from the DisplayPort source to the target DisplayPort device. | |
RelativeAddress | is the relative address from the DisplayPort source to the target DisplayPort device. | |
VcId | is the unique virtual channel ID to allocate into the payload ID tables. | |
Pbn | is the payload bandwidth number that determines how much bandwidth will be allocated for the virtual channel. | |
Ts | is the number of timeslots to allocate in the payload ID tables. |
+
u32 XDptx_ClearPayloadVcIdTable | +( | +XDptx * | +InstancePtr | +) | ++ |
+This function will clear the virtual channel payload ID table in both the DisplayPort TX and all downstream DisplayPort devices.
+
InstancePtr | is a pointer to the XDptx instance. |
+
void XDptx_FindAccessibleDpDevices | +( | +XDptx * | +InstancePtr, | +|
+ | + | u8 | +LinkCountTotal, | +|
+ | + | u8 * | +RelativeAddress | + |
+ | ) | ++ |
+This function will explore the DisplayPort topology of downstream devices connected to the DisplayPort TX. It will recursively go through each branch device, obtain its information by sending a LINK_ADDRESS sideband message, and add this information to the the topology's node table. For each sink device connected to a branch's downstream port, this function will obtain the details of the sink, add it to the topology's node table, as well as add it to the topology's sink list.
+
InstancePtr | is a pointer to the XDptx instance. | |
LinkCountTotal | is the total DisplayPort links connecting the DisplayPort TX to the current downstream device in the recursion. | |
RelativeAddress | is the relative address from the DisplayPort source to the current target DisplayPort device in the recursion. |
void XDptx_GetGuid | +( | +XDptx * | +InstancePtr, | +|
+ | + | u8 | +LinkCountTotal, | +|
+ | + | u8 * | +RelativeAddress, | +|
+ | + | u32 * | +Guid | + |
+ | ) | ++ |
+This function will obtain the global unique identifier (GUID) for the target DisplayPort device.
+
InstancePtr | is a pointer to the XDptx instance. | |
LinkCountTotal | is the number of DisplayPort links from the DisplayPort source to the target device. | |
RelativeAddress | is the relative address from the DisplayPort source to the target device. | |
Guid | is a pointer to the GUID that will store the existing GUID of the target device. |
u32 XDptx_GetRemoteEdid | +( | +XDptx * | +InstancePtr, | +|
+ | + | u8 | +LinkCountTotal, | +|
+ | + | u8 * | +RelativeAddress, | +|
+ | + | u8 * | +Edid | + |
+ | ) | ++ |
+This function retrieves a remote RX device's Extended Display Identification Data (EDID).
+
InstancePtr | is a pointer to the XDptx instance. | |
LinkCountTotal | is the number of DisplayPort links from the DisplayPort source to the target DisplayPort device. | |
RelativeAddress | is the relative address from the DisplayPort source to the target DisplayPort device. | |
Edid | is a pointer to the Edid buffer to save to. |
u32 XDptx_MstCapable | +( | +XDptx * | +InstancePtr | +) | ++ |
+This function will check if the immediate downstream RX device is capable of multi-stream transport (MST) mode. A DisplayPort Configuration Data (DPCD) version of 1.2 or higher is required and the MST capability bit in the DPCD must be set for this function to return XST_SUCCESS.
+
InstancePtr | is a pointer to the XDptx instance. |
+
void XDptx_MstCfgModeDisable | +( | +XDptx * | +InstancePtr | +) | ++ |
+This function will disable multi-stream transport (MST) mode for the driver.
+
InstancePtr | is a pointer to the XDptx instance. |
void XDptx_MstCfgModeEnable | +( | +XDptx * | +InstancePtr | +) | ++ |
+This function will enable multi-stream transport (MST) mode for the driver.
+
InstancePtr | is a pointer to the XDptx instance. |
void XDptx_MstCfgStreamDisable | +( | +XDptx * | +InstancePtr, | +|
+ | + | u8 | +Stream | + |
+ | ) | ++ |
+This function will configure the InstancePtr->MstStreamConfig structure to disable the specified stream.
+
InstancePtr | is a pointer to the XDptx instance. | |
Stream | is the stream ID that will be disabled. |
void XDptx_MstCfgStreamEnable | +( | +XDptx * | +InstancePtr, | +|
+ | + | u8 | +Stream | + |
+ | ) | ++ |
+This function will configure the InstancePtr->MstStreamConfig structure to enable the specified stream.
+
InstancePtr | is a pointer to the XDptx instance. | |
Stream | is the stream ID that will be enabled. |
u32 XDptx_MstDisable | +( | +XDptx * | +InstancePtr | +) | ++ |
+This function will disable multi-stream transport (MST) mode in both the DisplayPort TX and the immediate downstream RX device.
+
InstancePtr | is a pointer to the XDptx instance. |
+
u32 XDptx_MstEnable | +( | +XDptx * | +InstancePtr | +) | ++ |
+This function will enable multi-stream transport (MST) mode in both the DisplayPort TX and the immediate downstream RX device.
+
InstancePtr | is a pointer to the XDptx instance. |
+
u8 XDptx_MstStreamIsEnabled | +( | +XDptx * | +InstancePtr, | +|
+ | + | u8 | +Stream | + |
+ | ) | ++ |
+This function will check whether
+
InstancePtr | is a pointer to the XDptx instance. | |
Stream | is the stream ID to check for enable/disable status. |
u32 XDptx_SendSbMsgAllocatePayload | +( | +XDptx * | +InstancePtr, | +|
+ | + | u8 | +LinkCountTotal, | +|
+ | + | u8 * | +RelativeAddress, | +|
+ | + | u8 | +VcId, | +|
+ | + | u16 | +Pbn | + |
+ | ) | ++ |
+This function will send an ALLOCATE_PAYLOAD sideband message which will allocate bandwidth for a virtual channel in the payload ID tables of the downstream devices connecting the DisplayPort TX to the target device.
+
InstancePtr | is a pointer to the XDptx instance. | |
LinkCountTotal | is the number of DisplayPort links from the DisplayPort source to the target DisplayPort device. | |
RelativeAddress | is the relative address from the DisplayPort source to the target DisplayPort device. | |
VcId | is the unique virtual channel ID to allocate into the payload ID tables. | |
Pbn | is the payload bandwidth number that determines how much bandwidth will be allocated for the virtual channel. |
+
u32 XDptx_SendSbMsgClearPayloadIdTable | +( | +XDptx * | +InstancePtr | +) | ++ |
+This function will send a CLEAR_PAYLOAD_ID_TABLE sideband message which will de-allocate all virtual channel payload ID tables.
+
InstancePtr | is a pointer to the XDptx instance. |
+
u32 XDptx_SendSbMsgEnumPathResources | +( | +XDptx * | +InstancePtr, | +|
+ | + | u8 | +LinkCountTotal, | +|
+ | + | u8 * | +RelativeAddress, | +|
+ | + | u16 * | +AvailPbn, | +|
+ | + | u16 * | +FullPbn | + |
+ | ) | ++ |
+This function will send an ENUM_PATH_RESOURCES sideband message which will determine the available payload bandwidth number (PBN) for a path to a target device.
+
InstancePtr | is a pointer to the XDptx instance. | |
LinkCountTotal | is the number of DisplayPort links from the DisplayPort source to the target DisplayPort device. | |
RelativeAddress | is the relative address from the DisplayPort source to the target DisplayPort device. | |
AvailPbn | is a pointer to the available PBN of the path whose value will be filled in by this function. | |
FullPbn | is a pointer to the total PBN of the path whose value will be filled in by this function. |
+
+AvailPbn will be modified with the available PBN from the reply.
+FullPbn will be modified with the total PBN of the path from the reply.
u32 XDptx_SendSbMsgLinkAddress | +( | +XDptx * | +InstancePtr, | +|
+ | + | u8 | +LinkCountTotal, | +|
+ | + | u8 * | +RelativeAddress, | +|
+ | + | XDptx_SbMsgLinkAddressReplyDeviceInfo * | +DeviceInfo | + |
+ | ) | ++ |
+This function will send a LINK_ADDRESS sideband message to a target DisplayPort branch device. It is used to determine the resources available for that device and some device information for each of the ports connected to the branch device.
+
InstancePtr | is a pointer to the XDptx instance. | |
LinkCountTotal | is the number of DisplayPort links from the DisplayPort source to the target DisplayPort branch device. | |
RelativeAddress | is the relative address from the DisplayPort source to the target DisplayPort branch device. | |
DeviceInfo | is a pointer to the device information structure whose contents will be filled in with the information obtained by the LINK_ADDRESS sideband message. |
+
u32 XDptx_SendSbMsgRemoteDpcdRead | +( | +XDptx * | +InstancePtr, | +|
+ | + | u8 | +LinkCountTotal, | +|
+ | + | u8 * | +RelativeAddress, | +|
+ | + | u32 | +DpcdAddress, | +|
+ | + | u32 | +BytesToRead, | +|
+ | + | u8 * | +ReadData | + |
+ | ) | ++ |
+This function will send a REMOTE_DPCD_READ sideband message which will read from the specified DisplayPort Configuration Data (DPCD) address of a downstream DisplayPort device.
+
InstancePtr | is a pointer to the XDptx instance. | |
LinkCountTotal | is the number of DisplayPort links from the DisplayPort source to the target DisplayPort device. | |
RelativeAddress | is the relative address from the DisplayPort source to the target DisplayPort device. | |
DpcdAddress | is the DPCD address of the target device that data will be read from. | |
BytesToRead | is the number of bytes to read from the specified DPCD address. | |
ReadData | is a pointer to a buffer that will be filled with the DPCD read data. |
+
u32 XDptx_SendSbMsgRemoteDpcdWrite | +( | +XDptx * | +InstancePtr, | +|
+ | + | u8 | +LinkCountTotal, | +|
+ | + | u8 * | +RelativeAddress, | +|
+ | + | u32 | +DpcdAddress, | +|
+ | + | u32 | +BytesToWrite, | +|
+ | + | u8 * | +WriteData | + |
+ | ) | ++ |
+This function will send a REMOTE_DPCD_WRITE sideband message which will write some data to the specified DisplayPort Configuration Data (DPCD) address of a downstream DisplayPort device.
+
InstancePtr | is a pointer to the XDptx instance. | |
LinkCountTotal | is the number of DisplayPort links from the DisplayPort source to the target DisplayPort device. | |
RelativeAddress | is the relative address from the DisplayPort source to the target DisplayPort device. | |
DpcdAddress | is the DPCD address of the target device that data will be written to. | |
BytesToWrite | is the number of bytes to write to the specified DPCD address. | |
WriteData | is a pointer to a buffer that stores the data to write to the DPCD location. |
+
u32 XDptx_SendSbMsgRemoteIicRead | +( | +XDptx * | +InstancePtr, | +|
+ | + | u8 | +LinkCountTotal, | +|
+ | + | u8 * | +RelativeAddress, | +|
+ | + | u8 | +IicDeviceId, | +|
+ | + | u8 | +BytesToRead, | +|
+ | + | u8 * | +ReadData | + |
+ | ) | ++ |
+This function will send a REMOTE_I2C_READ sideband message which will read from the specified I2C address of a downstream DisplayPort device.
+
InstancePtr | is a pointer to the XDptx instance. | |
LinkCountTotal | is the number of DisplayPort links from the DisplayPort source to the target DisplayPort device. | |
RelativeAddress | is the relative address from the DisplayPort source to the target DisplayPort device. | |
IicDeviceId | is the address on the I2C bus of the target device. | |
BytesToRead | is the number of bytes to read from the I2C address. | |
ReadData | is a pointer to a buffer that will be filled with the I2C read data. |
+
void XDptx_SetStreamSelectFromSinkList | +( | +XDptx * | +InstancePtr, | +|
+ | + | u8 | +Stream, | +|
+ | + | u8 | +SinkNum | + |
+ | ) | ++ |
+This function will map a stream to a downstream DisplayPort TX device that is associated with a sink from the InstancePtr->Topology.SinkList.
+
InstancePtr | is a pointer to the XDptx instance. | |
Stream | is the stream ID that will be mapped to a DisplayPort device. | |
SinkNum | is the sink ID in the sink list that will be mapped to the stream. |
+The topology will need to be determined prior to calling this function using the XDptx_FindAccessibleDpDevices.
void XDptx_SetStreamSinkRad | +( | +XDptx * | +InstancePtr, | +|
+ | + | u8 | +Stream, | +|
+ | + | u8 | +LinkCountTotal, | +|
+ | + | u8 * | +RelativeAddress | + |
+ | ) | ++ |
+This function will map a stream to a downstream DisplayPort TX device determined by the relative address.
+
InstancePtr | is a pointer to the XDptx instance. | |
Stream | is the stream number that will be mapped to a DisplayPort device. | |
LinkCountTotal | is the total DisplayPort links connecting the DisplayPort TX to the targeted downstream device. | |
RelativeAddress | is the relative address from the DisplayPort source to the targeted DisplayPort device. |
void XDptx_WriteGuid | +( | +XDptx * | +InstancePtr, | +|
+ | + | u8 | +LinkCountTotal, | +|
+ | + | u8 * | +RelativeAddress, | +|
+ | + | u32 | +Guid[4] | + |
+ | ) | ++ |
+This function will write a global unique identifier (GUID) to the target DisplayPort device.
+
InstancePtr | is a pointer to the XDptx instance. | |
LinkCountTotal | is the number of DisplayPort links from the DisplayPort source to the target device. | |
RelativeAddress | is the relative address from the DisplayPort source to the target device. | |
Guid | is a the GUID to write to the target device. |
+
u32 GuidTable[16][4] | +
+Initial value:
{ + {0x12341234, 0x43214321, 0x56785678, 0x87658765}, + {0xDEADBEEF, 0xBEEFDEAD, 0x10011001, 0xDADADADA}, + {0xDABADABA, 0x10011001, 0xBADABADA, 0x5AD5AD5A}, + {0x12345678, 0x43214321, 0xABCDEF98, 0x87658765}, + {0x12141214, 0x41214121, 0x56785678, 0x87658765}, + {0xD1CDB11F, 0xB11FD1CD, 0xFEBCDA90, 0xDCDCDCDC}, + {0xDCBCDCBC, 0xE000E000, 0xBCDCBCDC, 0x5CD5CD5C}, + {0x11111111, 0x11111111, 0x11111111, 0x11111111}, + {0x22222222, 0x22222222, 0x22222222, 0x22222222}, + {0x33333333, 0x33333333, 0x33333333, 0x33333333}, + {0xAAAAAAAA, 0xFFFFFFFF, 0xFEBCDA90, 0xDCDCDCDC}, + {0xBBBBBBBB, 0xE000E000, 0xFFFFFFFF, 0x5CD5CD5C}, + {0xCCCCCCCC, 0x11111111, 0x11111111, 0xFFFFFFFF}, + {0xDDDDDDDD, 0x22222222, 0xFFFFFFFF, 0x22222222}, + {0xEEEEEEEE, 0xFFFFFFFF, 0x33333333, 0x33333333}, + {0x12145678, 0x41214121, 0xCBCD1F98, 0x87658765} +} +
+Copyright @ 1995-2014 Xilinx, Inc. All rights reserved.
diff --git a/XilinxProcessorIPLib/drivers/dptx/doc/html/api/xdptx__spm_8c.html b/XilinxProcessorIPLib/drivers/dptx/doc/html/api/xdptx__spm_8c.html
index a9ef1253..4870629e 100644
--- a/XilinxProcessorIPLib/drivers/dptx/doc/html/api/xdptx__spm_8c.html
+++ b/XilinxProcessorIPLib/drivers/dptx/doc/html/api/xdptx__spm_8c.html
@@ -29,29 +29,82 @@ This file contains the stream policy maker functions for the Ver Who Date Changes
----- ---- -------- -----------------------------------------------
1.00a als 05/17/14 Initial release.
+ als 08/03/14 Initial MST addition.
+#include "math.h"
#include "xdptx.h"
#include "xdptx_hw.h"
#include "xstatus.h"
Functions | |
void | XDptx_CfgMsaRecalculate (XDptx *InstancePtr) |
void | XDptx_CfgMsaRecalculate (XDptx *InstancePtr, u8 Stream) |
void | XDptx_CfgMsaUseStandardVideoMode (XDptx *InstancePtr, XDptx_VideoMode VideoMode) |
void | XDptx_CfgMsaUseStandardVideoMode (XDptx *InstancePtr, u8 Stream, XDptx_VideoMode VideoMode) |
void | XDptx_CfgMsaUseEdidPreferredTiming (XDptx *InstancePtr) |
void | XDptx_CfgMsaUseEdidPreferredTiming (XDptx *InstancePtr, u8 Stream, u8 *Edid) |
void | XDptx_CfgMsaUseCustom (XDptx *InstancePtr, XDptx_MainStreamAttributes *MsaConfigCustom, u8 Recalculate) |
void | XDptx_CfgMsaUseCustom (XDptx *InstancePtr, u8 Stream, XDptx_MainStreamAttributes *MsaConfigCustom, u8 Recalculate) |
void | XDptx_CfgMsaSetBpc (XDptx *InstancePtr, u8 BitsPerColor) |
void | XDptx_CfgMsaSetBpc (XDptx *InstancePtr, u8 Stream, u8 BitsPerColor) |
void | XDptx_SetVideoMode (XDptx *InstancePtr) |
void | XDptx_CfgMsaEnSynchClkMode (XDptx *InstancePtr, u8 Stream, u8 Enable) |
void | XDptx_SetVideoMode (XDptx *InstancePtr, u8 Stream) |
void | XDptx_ClearMsaValues (XDptx *InstancePtr, u8 Stream) |
void | XDptx_SetMsaValues (XDptx *InstancePtr, u8 Stream) |
void XDptx_CfgMsaEnSynchClkMode | +( | +XDptx * | +InstancePtr, | +|
+ | + | u8 | +Stream, | +|
+ | + | u8 | +Enable | + |
+ | ) | ++ |
+This function enables or disables synchronous clock mode for a video stream.
+
InstancePtr | is a pointer to the XDptx 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. |
( | XDptx * | -InstancePtr | -) | -+ | InstancePtr, | + +
+ | + | u8 | +Stream | + |
+ | ) | +
InstancePtr | is a pointer to the XDptx instance. | |
InstancePtr | is a pointer to the XDptx instance. | |
Stream | is the stream number for which to calculate the MSA values. |
XDptx * | InstancePtr, | +|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+ | + | u8 | +Stream, | +|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
@@ -111,6 +180,7 @@ This function sets the bits per color value of the video stream. |
InstancePtr | is a pointer to the XDptx instance | |
Stream | is the stream number for which to set the color depth. | |
BitsPerColor | is the new number of bits per color to use. |
XDptx * | InstancePtr, | +||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+ | + | u8 | +Stream, | +||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
@@ -151,22 +227,23 @@ This function sets the bits per color value of the video stream. |
InstancePtr | is a pointer to the XDptx instance. | |
Stream | is the stream number for which the MSA values will be used for. | |
MsaConfigCustom | is the structure that will be used to copy the main stream attributes from (into InstancePtr->MsaConfig). | |
Recalculate | is a boolean enable that determines whether or not the main stream attributes should be recalculated. |
void XDptx_CfgMsaUseEdidPreferredTiming | ( | XDptx * | -InstancePtr | -) | -+ | InstancePtr, | + +
+ | + | u8 | +Stream, | +|
+ | + | u8 * | +Edid | + |
+ | ) | +
InstancePtr | is a pointer to the XDptx instance | |
InstancePtr | is a pointer to the XDptx instance | |
Stream | is the stream number for which the MSA values will be used for. | |
Edid | is a pointer to the Edid to use for the specified stream. |
XDptx * | InstancePtr, | +|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+ | + | u8 | +Stream, | +|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
@@ -224,6 +324,7 @@ This function sets the Main Stream Attribute (MSA) values in the configuration s |
InstancePtr | is a pointer to the XDptx instance. | |
Stream | is the stream number for which the MSA values will be used for. | |
VideoMode | is one of the enumerated standard video modes that is used to determine the MSA values to be used. |
void XDptx_ClearMsaValues | +( | +XDptx * | +InstancePtr, | +|
+ | + | u8 | +Stream | + |
+ | ) | ++ |
+This function clears the main stream attributes registers of the DisplayPort TX core.
+
InstancePtr | is a pointer to the XDptx instance. | |
Stream | is the stream number for which to clear the MSA values. |
void XDptx_SetMsaValues | +( | +XDptx * | +InstancePtr, | +|
+ | + | u8 | +Stream | + |
+ | ) | ++ |
+This function sets the main stream attributes registers of the DisplayPort TX core with the values specified in the main stream attributes configuration structure.
+
InstancePtr | is a pointer to the XDptx instance. | |
Stream | is the stream number for which to set the MSA values for. |
void XDptx_SetVideoMode | ( | XDptx * | -InstancePtr | -) | -+ | InstancePtr, | + +
+ | + | u8 | +Stream | + |
+ | ) | +
InstancePtr | is a pointer to the XDptx instance | |
InstancePtr | is a pointer to the XDptx instance | |
Stream | is the stream number for which to set the MSA values for. |
-This table contains the main stream attributes for various standard resolutions. Each entry is of the format: 1) XDPTX_VM_<HRES>x<VRES>_<REFRESH (HZ)>_P(_RB = Reduced Blanking) 2) Display Monitor Timing (DMT) ID 3) Horizontal resolution (pixels) 4) Vertical resolution (lines) 5) Pixel clock (KHz) 6) Scan (0=non-interlaced|1=interlaced) 7) Horizontal sync polarity (0=positive|1=negative) 8) Vertical sync polarity (0=positive|1=negative) 9) Horizontal front porch (pixels) 10) Horizontal sync time (pixels) 11) Horizontal back porch (pixels) 12) Vertical front porch (lines) 13) Vertical sync time (lines) 14) Vertical back porch (lines) +This table contains the main stream attributes for various standard resolutions. Each entry is of the format: 1) XDPTX_VM_<HRES>x<VRES>_<REFRESH (HZ)>_P(_RB = Reduced Blanking) 2) Display Monitor Timing (DMT) ID 3) Horizontal resolution (pixels) 4) Vertical resolution (lines) 5) Pixel clock (KHz) 6) Interlaced (0=non-interlaced|1=interlaced) 7) Horizontal sync polarity (0=positive|1=negative) 8) Vertical sync polarity (0=positive|1=negative) 9) Horizontal front porch (pixels) 10) Horizontal sync time (pixels) 11) Horizontal back porch (pixels) 12) Vertical front porch (lines) 13) Vertical sync time (lines) 14) Vertical back porch (lines)
Copyright @ 1995-2014 Xilinx, Inc. All rights reserved.