From 0ef01dc0d1afdff10252a4623a0f5a56d8a98366 Mon Sep 17 00:00:00 2001 From: Andrei-Liviu Simion Date: Mon, 11 Aug 2014 20:58:13 -0700 Subject: [PATCH] dptx: MST: Updated Doxygen documentation with MST content. Signed-off-by: Andrei-Liviu Simion --- .../drivers/dptx/doc/html/api/annotated.html | 10 + .../drivers/dptx/doc/html/api/files.html | 1 + .../drivers/dptx/doc/html/api/functions.html | 127 +- .../dptx/doc/html/api/functions_vars.html | 127 +- .../drivers/dptx/doc/html/api/globals.html | 10 +- .../dptx/doc/html/api/globals_0x72.html | 50 + .../dptx/doc/html/api/globals_0x78.html | 83 +- .../dptx/doc/html/api/globals_defs.html | 18 +- .../dptx/doc/html/api/globals_func.html | 62 +- .../dptx/doc/html/api/globals_vars.html | 3 +- .../drivers/dptx/doc/html/api/index.html | 10 +- .../doc/html/api/struct_x_dptx-members.html | 7 +- .../dptx/doc/html/api/struct_x_dptx.html | 93 +- .../struct_x_dptx___board_char-members.html | 29 + .../html/api/struct_x_dptx___board_char.html | 104 ++ .../api/struct_x_dptx___dmt_mode-members.html | 2 +- .../html/api/struct_x_dptx___dmt_mode.html | 54 +- .../struct_x_dptx___link_config-members.html | 4 - .../html/api/struct_x_dptx___link_config.html | 68 - ...dptx___main_stream_attributes-members.html | 17 +- ...truct_x_dptx___main_stream_attributes.html | 247 +-- .../struct_x_dptx___mst_stream-members.html | 29 + .../html/api/struct_x_dptx___mst_stream.html | 104 ++ ...ink_address_reply_device_info-members.html | 30 + ...sb_msg_link_address_reply_device_info.html | 121 ++ ...ink_address_reply_port_detail-members.html | 35 + ...sb_msg_link_address_reply_port_detail.html | 206 +++ .../struct_x_dptx___sideband_msg-members.html | 27 + .../api/struct_x_dptx___sideband_msg.html | 68 + ...ct_x_dptx___sideband_msg_body-members.html | 28 + .../struct_x_dptx___sideband_msg_body.html | 85 + ..._x_dptx___sideband_msg_header-members.html | 36 + .../struct_x_dptx___sideband_msg_header.html | 221 +++ ...truct_x_dptx___sideband_reply-members.html | 27 + .../api/struct_x_dptx___sideband_reply.html | 68 + .../struct_x_dptx___sink_config-members.html | 1 - .../html/api/struct_x_dptx___sink_config.html | 17 - .../api/struct_x_dptx___topology-members.html | 29 + .../html/api/struct_x_dptx___topology.html | 104 ++ ...struct_x_dptx___topology_node-members.html | 31 + .../api/struct_x_dptx___topology_node.html | 138 ++ .../drivers/dptx/doc/html/api/xdptx_8c.html | 158 +- .../drivers/dptx/doc/html/api/xdptx_8h.html | 1633 ++++++++++++++++- .../dptx/doc/html/api/xdptx__hw_8h.html | 190 ++ .../dptx/doc/html/api/xdptx__mst_8c.html | 1321 +++++++++++++ .../dptx/doc/html/api/xdptx__spm_8c.html | 243 ++- .../doc/html/api/xdptx__vidmodetable_8c.html | 2 +- 47 files changed, 5538 insertions(+), 540 deletions(-) create mode 100644 XilinxProcessorIPLib/drivers/dptx/doc/html/api/globals_0x72.html create mode 100644 XilinxProcessorIPLib/drivers/dptx/doc/html/api/struct_x_dptx___board_char-members.html create mode 100644 XilinxProcessorIPLib/drivers/dptx/doc/html/api/struct_x_dptx___board_char.html create mode 100644 XilinxProcessorIPLib/drivers/dptx/doc/html/api/struct_x_dptx___mst_stream-members.html create mode 100644 XilinxProcessorIPLib/drivers/dptx/doc/html/api/struct_x_dptx___mst_stream.html create mode 100644 XilinxProcessorIPLib/drivers/dptx/doc/html/api/struct_x_dptx___sb_msg_link_address_reply_device_info-members.html create mode 100644 XilinxProcessorIPLib/drivers/dptx/doc/html/api/struct_x_dptx___sb_msg_link_address_reply_device_info.html create mode 100644 XilinxProcessorIPLib/drivers/dptx/doc/html/api/struct_x_dptx___sb_msg_link_address_reply_port_detail-members.html create mode 100644 XilinxProcessorIPLib/drivers/dptx/doc/html/api/struct_x_dptx___sb_msg_link_address_reply_port_detail.html create mode 100644 XilinxProcessorIPLib/drivers/dptx/doc/html/api/struct_x_dptx___sideband_msg-members.html create mode 100644 XilinxProcessorIPLib/drivers/dptx/doc/html/api/struct_x_dptx___sideband_msg.html create mode 100644 XilinxProcessorIPLib/drivers/dptx/doc/html/api/struct_x_dptx___sideband_msg_body-members.html create mode 100644 XilinxProcessorIPLib/drivers/dptx/doc/html/api/struct_x_dptx___sideband_msg_body.html create mode 100644 XilinxProcessorIPLib/drivers/dptx/doc/html/api/struct_x_dptx___sideband_msg_header-members.html create mode 100644 XilinxProcessorIPLib/drivers/dptx/doc/html/api/struct_x_dptx___sideband_msg_header.html create mode 100644 XilinxProcessorIPLib/drivers/dptx/doc/html/api/struct_x_dptx___sideband_reply-members.html create mode 100644 XilinxProcessorIPLib/drivers/dptx/doc/html/api/struct_x_dptx___sideband_reply.html create mode 100644 XilinxProcessorIPLib/drivers/dptx/doc/html/api/struct_x_dptx___topology-members.html create mode 100644 XilinxProcessorIPLib/drivers/dptx/doc/html/api/struct_x_dptx___topology.html create mode 100644 XilinxProcessorIPLib/drivers/dptx/doc/html/api/struct_x_dptx___topology_node-members.html create mode 100644 XilinxProcessorIPLib/drivers/dptx/doc/html/api/struct_x_dptx___topology_node.html create mode 100644 XilinxProcessorIPLib/drivers/dptx/doc/html/api/xdptx__mst_8c.html 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 @@

Class List

Here are the classes, structs, unions and interfaces with brief descriptions: + + + + + + + + + +
XDptx
XDptx_AuxTransaction
XDptx_BoardChar
XDptx_Config
XDptx_DmtMode
XDptx_LinkConfig
XDptx_MainStreamAttributes
XDptx_MstStream
XDptx_SbMsgLinkAddressReplyDeviceInfo
XDptx_SbMsgLinkAddressReplyPortDetail
XDptx_SidebandMsg
XDptx_SidebandMsgBody
XDptx_SidebandMsgHeader
XDptx_SidebandReply
XDptx_SinkConfig
XDptx_Topology
XDptx_TopologyNode
Copyright @ 1995-2014 Xilinx, Inc. All rights reserved. diff --git a/XilinxProcessorIPLib/drivers/dptx/doc/html/api/files.html b/XilinxProcessorIPLib/drivers/dptx/doc/html/api/files.html index e1583d6a..b6f5ff34 100644 --- a/XilinxProcessorIPLib/drivers/dptx/doc/html/api/files.html +++ b/XilinxProcessorIPLib/drivers/dptx/doc/html/api/files.html @@ -26,6 +26,7 @@ xdptx.h xdptx_hw.h xdptx_intr.c + xdptx_mst.c xdptx_selftest.c xdptx_sinit.c xdptx_spm.c diff --git a/XilinxProcessorIPLib/drivers/dptx/doc/html/api/functions.html b/XilinxProcessorIPLib/drivers/dptx/doc/html/api/functions.html index 1f9a8d71..232ed4da 100644 --- a/XilinxProcessorIPLib/drivers/dptx/doc/html/api/functions.html +++ b/XilinxProcessorIPLib/drivers/dptx/doc/html/api/functions.html @@ -34,6 +34,7 @@
  • c
  • d
  • e
  • +
  • g
  • h
  • i
  • l
  • @@ -60,50 +61,67 @@ Here is a list of all class members with links to the classes they belong to:

    - b -

    +: XDptx_MainStreamAttributes
  • BoardChar +: XDptx
  • Body +: XDptx_SidebandMsg
  • BroadcastMsg +: XDptx_SidebandMsgHeader

    - c -

    +: XDptx_MainStreamAttributes
  • Config +: XDptx
  • Crc +: XDptx_SidebandMsgBody, XDptx_SidebandMsgHeader

    - d -

    +: XDptx_MainStreamAttributes

    - e -

    +

    - g -

    - h -

    +: XDptx_DmtMode
  • HSyncPulseWidth +: XDptx_DmtMode

    - i -

    - l -

    - m -

    +: XDptx
  • MsgBodyLength +: XDptx_SidebandMsgHeader
  • MsgCapStatus +: XDptx_SbMsgLinkAddressReplyPortDetail, XDptx_TopologyNode
  • MsgData +: XDptx_SidebandMsgBody
  • MsgDataLength +: XDptx_SidebandMsgBody
  • MsgHeaderLength +: XDptx_SidebandMsgHeader
  • MsgSequenceNum +: XDptx_SidebandMsgHeader
  • MstEnable +: XDptx
  • MstPbn +: XDptx_MstStream
  • MstStreamConfig +: XDptx
  • MstStreamEnable +: XDptx_MstStream

    - n -

    - p -

    +: XDptx_DmtMode
  • PortDetails +: XDptx_SbMsgLinkAddressReplyDeviceInfo
  • PortNum +: XDptx_SbMsgLinkAddressReplyPortDetail

    - q -

    - r -

    - s -

    +: XDptx_MainStreamAttributes

    - t -

    +: XDptx_MainStreamAttributes
  • TxPeLevels +: XDptx_BoardChar
  • TxVsLevels +: XDptx_BoardChar
  • TxVsOffset +: XDptx_BoardChar

    - u -

    • UserPixelWidth : XDptx_MainStreamAttributes
    • UserTimerPtr @@ -148,18 +193,18 @@ Here is a list of all class members with links to the classes they belong to: : XDptx

    - v -

    +: XDptx_DmtMode
  • VSyncPulseWidth +: XDptx_DmtMode

    - y -

    Copyright @ 1995-2014 Xilinx, Inc. All rights reserved. diff --git a/XilinxProcessorIPLib/drivers/dptx/doc/html/api/functions_vars.html b/XilinxProcessorIPLib/drivers/dptx/doc/html/api/functions_vars.html index 10089c3b..482ac145 100644 --- a/XilinxProcessorIPLib/drivers/dptx/doc/html/api/functions_vars.html +++ b/XilinxProcessorIPLib/drivers/dptx/doc/html/api/functions_vars.html @@ -34,6 +34,7 @@
  • c
  • d
  • e
  • +
  • g
  • h
  • i
  • l
  • @@ -60,50 +61,67 @@

    - b -

    +: XDptx_MainStreamAttributes
  • BoardChar +: XDptx
  • Body +: XDptx_SidebandMsg
  • BroadcastMsg +: XDptx_SidebandMsgHeader

    - c -

    +: XDptx_MainStreamAttributes
  • Config +: XDptx
  • Crc +: XDptx_SidebandMsgBody, XDptx_SidebandMsgHeader

    - d -

    +: XDptx_MainStreamAttributes

    - e -

    +

    - g -

    - h -

    +: XDptx_DmtMode
  • HSyncPulseWidth +: XDptx_DmtMode

    - i -

    - l -

    - m -

    +: XDptx
  • MsgBodyLength +: XDptx_SidebandMsgHeader
  • MsgCapStatus +: XDptx_SbMsgLinkAddressReplyPortDetail, XDptx_TopologyNode
  • MsgData +: XDptx_SidebandMsgBody
  • MsgDataLength +: XDptx_SidebandMsgBody
  • MsgHeaderLength +: XDptx_SidebandMsgHeader
  • MsgSequenceNum +: XDptx_SidebandMsgHeader
  • MstEnable +: XDptx
  • MstPbn +: XDptx_MstStream
  • MstStreamConfig +: XDptx
  • MstStreamEnable +: XDptx_MstStream

    - n -

    - p -

    +: XDptx_DmtMode
  • PortDetails +: XDptx_SbMsgLinkAddressReplyDeviceInfo
  • PortNum +: XDptx_SbMsgLinkAddressReplyPortDetail

    - q -

    - r -

    - s -

    +: XDptx_MainStreamAttributes

    - t -

    +: XDptx_MainStreamAttributes
  • TxPeLevels +: XDptx_BoardChar
  • TxVsLevels +: XDptx_BoardChar
  • TxVsOffset +: XDptx_BoardChar

    - u -

    - v -

    +: XDptx_DmtMode
  • VSyncPulseWidth +: XDptx_DmtMode

    - y -

    Copyright @ 1995-2014 Xilinx, Inc. All rights reserved. diff --git a/XilinxProcessorIPLib/drivers/dptx/doc/html/api/globals.html b/XilinxProcessorIPLib/drivers/dptx/doc/html/api/globals.html index 036d37f4..9f736956 100644 --- a/XilinxProcessorIPLib/drivers/dptx/doc/html/api/globals.html +++ b/XilinxProcessorIPLib/drivers/dptx/doc/html/api/globals.html @@ -34,7 +34,8 @@
    @@ -42,8 +43,7 @@

    Here is a list of all file members with links to the files they belong to:

    -

    - r -

    +

    - g -

    Copyright @ 1995-2014 Xilinx, Inc. All rights reserved. diff --git a/XilinxProcessorIPLib/drivers/dptx/doc/html/api/globals_0x72.html b/XilinxProcessorIPLib/drivers/dptx/doc/html/api/globals_0x72.html new file mode 100644 index 00000000..721d6433 --- /dev/null +++ b/XilinxProcessorIPLib/drivers/dptx/doc/html/api/globals_0x72.html @@ -0,0 +1,50 @@ + + + + + Class Members + + + + +Software Drivers +
    + + + + +
    +
      +
    • g
    • +
    • r
    • +
    • x
    • +
    +
    + +

    +Here is a list of all file members with links to the files they belong to: +

    +

    - r -

    +Copyright @ 1995-2014 Xilinx, Inc. All rights reserved. diff --git a/XilinxProcessorIPLib/drivers/dptx/doc/html/api/globals_0x78.html b/XilinxProcessorIPLib/drivers/dptx/doc/html/api/globals_0x78.html index 1b924cc0..72ba8f0e 100644 --- a/XilinxProcessorIPLib/drivers/dptx/doc/html/api/globals_0x78.html +++ b/XilinxProcessorIPLib/drivers/dptx/doc/html/api/globals_0x78.html @@ -34,7 +34,8 @@
    @@ -43,7 +44,9 @@ Here is a list of all file members with links to the files they belong to:

    - x -

    Copyright @ 1995-2014 Xilinx, Inc. All rights reserved. diff --git a/XilinxProcessorIPLib/drivers/dptx/doc/html/api/globals_defs.html b/XilinxProcessorIPLib/drivers/dptx/doc/html/api/globals_defs.html index 4df57ac2..00d8e508 100644 --- a/XilinxProcessorIPLib/drivers/dptx/doc/html/api/globals_defs.html +++ b/XilinxProcessorIPLib/drivers/dptx/doc/html/api/globals_defs.html @@ -474,7 +474,8 @@ : xdptx_hw.h
  • XDPTX_MAIN_STREAMX_POLARITY_HSYNC_POL_MASK : xdptx_hw.h
  • XDPTX_MAIN_STREAMX_POLARITY_VSYNC_POL_MASK : xdptx_hw.h
  • XDPTX_MAIN_STREAMX_POLARITY_VSYNC_POL_SHIFT -: xdptx_hw.h
  • XDPTX_MAXIMUM_PE_LEVEL +: xdptx_hw.h
  • XDPTX_MAX_TIMEOUT_COUNT +: xdptx_mst.c
  • XDPTX_MAXIMUM_PE_LEVEL : xdptx.c
  • XDPTX_MAXIMUM_VS_LEVEL : xdptx.c
  • XDPTX_MIN_BYTES_PER_TU : xdptx_hw.h
  • XDPTX_N_VID @@ -542,7 +543,14 @@ : xdptx_hw.h
  • XDPTX_REPLY_STATUS_REPLY_STATUS_STATE_MASK : xdptx_hw.h
  • XDPTX_REPLY_STATUS_REPLY_STATUS_STATE_SHIFT : xdptx_hw.h
  • XDPTX_REPLY_STATUS_REQUEST_IN_PROGRESS_MASK -: xdptx_hw.h
  • XDPTX_SCRAMBLING_DISABLE +: xdptx_hw.h
  • XDPTX_SBMSG_ALLOCATE_PAYLOAD +: xdptx_hw.h
  • XDPTX_SBMSG_CLEAR_PAYLOAD_ID_TABLE +: xdptx_hw.h
  • XDPTX_SBMSG_ENUM_PATH_RESOURCES +: xdptx_hw.h
  • XDPTX_SBMSG_LINK_ADDRESS +: xdptx_hw.h
  • XDPTX_SBMSG_REMOTE_DPCD_READ +: xdptx_hw.h
  • XDPTX_SBMSG_REMOTE_DPCD_WRITE +: xdptx_hw.h
  • XDPTX_SBMSG_REMOTE_I2C_READ +: xdptx_hw.h
  • XDPTX_SCRAMBLING_DISABLE : xdptx_hw.h
  • XDPTX_SOFT_RESET : xdptx_hw.h
  • XDPTX_SOFT_RESET_AUX_MASK : xdptx_hw.h
  • XDPTX_SOFT_RESET_VIDEO_STREAM1_MASK @@ -561,7 +569,11 @@ : xdptx_hw.h
  • XDPTX_STREAM3_MSA_START_OFFSET : xdptx_hw.h
  • XDPTX_STREAM4_MSA_START : xdptx_hw.h
  • XDPTX_STREAM4_MSA_START_OFFSET -: xdptx_hw.h
  • XDPTX_TRAINING_PATTERN_SET +: xdptx_hw.h
  • XDPTX_STREAM_ID1 +: xdptx_hw.h
  • XDPTX_STREAM_ID2 +: xdptx_hw.h
  • XDPTX_STREAM_ID3 +: xdptx_hw.h
  • XDPTX_STREAM_ID4 +: xdptx_hw.h
  • XDPTX_TRAINING_PATTERN_SET : xdptx_hw.h
  • XDPTX_TRAINING_PATTERN_SET_OFF : xdptx_hw.h
  • XDPTX_TRAINING_PATTERN_SET_TP1 : xdptx_hw.h
  • XDPTX_TRAINING_PATTERN_SET_TP2 diff --git a/XilinxProcessorIPLib/drivers/dptx/doc/html/api/globals_func.html b/XilinxProcessorIPLib/drivers/dptx/doc/html/api/globals_func.html index c54e8f77..b0d95b41 100644 --- a/XilinxProcessorIPLib/drivers/dptx/doc/html/api/globals_func.html +++ b/XilinxProcessorIPLib/drivers/dptx/doc/html/api/globals_func.html @@ -42,39 +42,69 @@  

    - x -

    +: xdptx_spm.c, xdptx.h
  • XDptx_WaitUs() +: xdptx.h, xdptx.c
  • XDptx_WriteGuid() +: xdptx_mst.c, xdptx.h Copyright @ 1995-2014 Xilinx, Inc. All rights reserved. diff --git a/XilinxProcessorIPLib/drivers/dptx/doc/html/api/globals_vars.html b/XilinxProcessorIPLib/drivers/dptx/doc/html/api/globals_vars.html index 87d2917c..cee64c64 100644 --- a/XilinxProcessorIPLib/drivers/dptx/doc/html/api/globals_vars.html +++ b/XilinxProcessorIPLib/drivers/dptx/doc/html/api/globals_vars.html @@ -35,7 +35,8 @@  

      -
    • ResetValues +
    • GuidTable +: xdptx_mst.c
    • ResetValues : xdptx_selftest.c
    • ResetValuesMsa : xdptx_selftest.c
    • XDptx_ConfigTable : xdptx_sinit.c
    • XDptx_DmtModes diff --git a/XilinxProcessorIPLib/drivers/dptx/doc/html/api/index.html b/XilinxProcessorIPLib/drivers/dptx/doc/html/api/index.html index 02c4c4c0..53587c3c 100644 --- a/XilinxProcessorIPLib/drivers/dptx/doc/html/api/index.html +++ b/XilinxProcessorIPLib/drivers/dptx/doc/html/api/index.html @@ -42,15 +42,18 @@ I2C-over-AUX transactions are used to obtain the sink's Extended Display Identif The device can be configured in various ways during the FPGA implementation process. Configuration parameters are stored in the xdptx_g.c file which is generated when compiling the board support package (BSP). A table is defined where each entry contains configuration information for the DisplayPort instances present in the system. This information includes parameters that are defined in the driver's data/dptx.tcl file such as the base address of the memory-mapped device and the maximum number of lanes, maximum link rate, and video interface that the DisplayPort instance supports, among others.

      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

        -
      • The driver currently supports single-stream transport (SST) functionality.
      • The driver does not handle audio. See the audio example in the driver examples directory for the required sequence for enabling audio.
      +
    • For MST mode to correctly display, the current version of the driver requires that each of the DisplayPort TX streams be allocated without skipping streams (i.e. assign stream 1, stream 2, and stream 3 - problems were experienced if skipping stream 2 and assigning stream 4 instead). skipping monitors in a daisy chain is OK as long as they are assigned to streams in order.
    • In MST mode, the current version of the driver does not support removal of an allocated stream from the virtual channel payload ID table without clearing the entire table.
    • Some sideband messages have not been implemented in the current version of the driver for MST mode. Notable, reception of a CONNECTION_STATUS_NOTIFY sideband message.
    • Some monitors required a power cycle for all streams to come up at certain resolutions (outside of the 1080p and UHD/2 resolutions) during testing. Different resolutions for different streams were not tested. This will be investigated for the next SDK release.
    • The driver does not handle audio. See the audio example in the driver examples directory for the required sequence for enabling audio.

    Note:
    For a 5.4Gbps link rate, a high performance 7 series FPGA is required with a speed grade of -2 or -3.
    @@ -58,4 +61,5 @@ Asserts are used within all Xilinx drivers to enforce constraints on argument va
     
     Ver   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 @@
  • Class Members
  • XDptx Member List

    This is the complete list of members for XDptx, including all inherited members.

    + - - + + + + diff --git a/XilinxProcessorIPLib/drivers/dptx/doc/html/api/struct_x_dptx.html b/XilinxProcessorIPLib/drivers/dptx/doc/html/api/struct_x_dptx.html index b4473a98..0d40a1f8 100644 --- a/XilinxProcessorIPLib/drivers/dptx/doc/html/api/struct_x_dptx.html +++ b/XilinxProcessorIPLib/drivers/dptx/doc/html/api/struct_x_dptx.html @@ -29,19 +29,25 @@ The XDptx driver instance data. The
    BoardCharXDptx
    ConfigXDptx
    HasRedriverInPathXDptx
    HpdEventCallbackRefXDptx
    HpdEventHandlerXDptx
    HpdPulseCallbackRefXDptx
    HpdPulseHandlerXDptx
    IsReadyXDptx
    LinkConfigXDptx
    MsaConfigXDptx
    MsaConfigXDptx
    MstEnableXDptx
    MstStreamConfigXDptx
    RxConfigXDptx
    TopologyXDptx
    TrainAdaptiveXDptx
    UserTimerPtrXDptx
    UserTimerWaitUsXDptx
    + + - - - + + + + + + + @@ -57,6 +63,21 @@ The XDptx driver instance data. The

    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


    Member Data Documentation

    + +
    + +
    + +

    +Some board characteristics information that affects link training. +

    +

    @@ -72,21 +93,6 @@ The XDptx driver instance data. The Configuration structure for the DisplayPort TX core.

    - -

    -
    - - - - -
    u8 XDptx::HasRedriverInPath
    -
    -
    - -

    -Redriver in path requires different voltage swing and pre-emphasis. -

    -

    @@ -177,19 +183,49 @@ Device is initialized and ready. Configuration structure for the main link.

    - +

    -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. +

    +

    + +

    + +
    + +

    +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.

    + +

    + +
    + +

    +The topology of connected downstream DisplayPort devices when the driver is running in MST mode. +

    +

    diff --git a/XilinxProcessorIPLib/drivers/dptx/doc/html/api/struct_x_dptx___board_char-members.html b/XilinxProcessorIPLib/drivers/dptx/doc/html/api/struct_x_dptx___board_char-members.html new file mode 100644 index 00000000..00781d3b --- /dev/null +++ b/XilinxProcessorIPLib/drivers/dptx/doc/html/api/struct_x_dptx___board_char-members.html @@ -0,0 +1,29 @@ + + + + + Member List + + + + +Software Drivers +
    + + + +

    XDptx_BoardChar Member List

    This is the complete list of members for XDptx_BoardChar, including all inherited members.

    + + + + +
    HasRedriverInPathXDptx_BoardChar
    TxPeLevelsXDptx_BoardChar
    TxVsLevelsXDptx_BoardChar
    TxVsOffsetXDptx_BoardChar
    Copyright @ 1995-2014 Xilinx, Inc. All rights reserved. diff --git a/XilinxProcessorIPLib/drivers/dptx/doc/html/api/struct_x_dptx___board_char.html b/XilinxProcessorIPLib/drivers/dptx/doc/html/api/struct_x_dptx___board_char.html new file mode 100644 index 00000000..3e0d2ad7 --- /dev/null +++ b/XilinxProcessorIPLib/drivers/dptx/doc/html/api/struct_x_dptx___board_char.html @@ -0,0 +1,104 @@ + + + + + XDptx_BoardChar Struct Reference + + + +

    +Software Drivers +
    + + + +

    XDptx_BoardChar Struct Reference

    #include <xdptx.h> +

    +List of all members.


    Detailed Description

    +This typedef describes some board characteristics information that affects link training. +

    + + + + + + + + + + + +

    Public Attributes

    u8 HasRedriverInPath
    u8 TxVsLevels [4]
    u8 TxPeLevels [4]
    u8 TxVsOffset
    +


    Member Data Documentation

    + +
    + +
    + +

    +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. +

    +

    + +

    + +
    + +

    +Voltage swing compensation offset used when pre-emphasis is used. +

    +

    +


    The documentation for this struct was generated from the following file: +Copyright @ 1995-2014 Xilinx, Inc. All rights reserved. diff --git a/XilinxProcessorIPLib/drivers/dptx/doc/html/api/struct_x_dptx___dmt_mode-members.html b/XilinxProcessorIPLib/drivers/dptx/doc/html/api/struct_x_dptx___dmt_mode-members.html index d0a940d4..a979ee65 100644 --- a/XilinxProcessorIPLib/drivers/dptx/doc/html/api/struct_x_dptx___dmt_mode-members.html +++ b/XilinxProcessorIPLib/drivers/dptx/doc/html/api/struct_x_dptx___dmt_mode-members.html @@ -28,8 +28,8 @@ HResolutionXDptx_DmtMode HSyncPolarityXDptx_DmtMode HSyncPulseWidthXDptx_DmtMode + InterlacedXDptx_DmtMode PixelClkKhzXDptx_DmtMode - ScanXDptx_DmtMode VBackPorchXDptx_DmtMode VFrontPorchXDptx_DmtMode VideoModeXDptx_DmtMode diff --git a/XilinxProcessorIPLib/drivers/dptx/doc/html/api/struct_x_dptx___dmt_mode.html b/XilinxProcessorIPLib/drivers/dptx/doc/html/api/struct_x_dptx___dmt_mode.html index 4bf6452c..15038b6c 100644 --- a/XilinxProcessorIPLib/drivers/dptx/doc/html/api/struct_x_dptx___dmt_mode.html +++ b/XilinxProcessorIPLib/drivers/dptx/doc/html/api/struct_x_dptx___dmt_mode.html @@ -39,7 +39,7 @@ This typedef contains the display monitor timing attributes for a video mode. u32 PixelClkKhz -u8 Scan +u8 Interlaced u8 HSyncPolarity @@ -86,7 +86,7 @@ Standard Display Monitor Timing (DMT) ID number.

    -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). +

    +

    + +

    + +
    + +

    +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).


    The documentation for this struct was generated from the following file:
      diff --git a/XilinxProcessorIPLib/drivers/dptx/doc/html/api/struct_x_dptx___link_config-members.html b/XilinxProcessorIPLib/drivers/dptx/doc/html/api/struct_x_dptx___link_config-members.html index 1339fb3a..13420a42 100644 --- a/XilinxProcessorIPLib/drivers/dptx/doc/html/api/struct_x_dptx___link_config-members.html +++ b/XilinxProcessorIPLib/drivers/dptx/doc/html/api/struct_x_dptx___link_config-members.html @@ -22,9 +22,7 @@
    • Class Members

    XDptx_LinkConfig Member List

    This is the complete list of members for XDptx_LinkConfig, including all inherited members.

    - - @@ -35,7 +33,5 @@ - -
    ComponentFormatXDptx_LinkConfig
    DownspreadControlXDptx_LinkConfig
    DynamicRangeXDptx_LinkConfig
    EnhancedFramingModeXDptx_LinkConfig
    LaneCountXDptx_LinkConfig
    LinkRateXDptx_LinkConfig
    ScramblerEnXDptx_LinkConfig
    SupportDownspreadControlXDptx_LinkConfig
    SupportEnhancedFramingModeXDptx_LinkConfig
    SynchronousClockModeXDptx_LinkConfig
    VsLevelXDptx_LinkConfig
    YCbCrColorimetryXDptx_LinkConfig
    Copyright @ 1995-2014 Xilinx, Inc. All rights reserved. diff --git a/XilinxProcessorIPLib/drivers/dptx/doc/html/api/struct_x_dptx___link_config.html b/XilinxProcessorIPLib/drivers/dptx/doc/html/api/struct_x_dptx___link_config.html index 93769315..05063db3 100644 --- a/XilinxProcessorIPLib/drivers/dptx/doc/html/api/struct_x_dptx___link_config.html +++ b/XilinxProcessorIPLib/drivers/dptx/doc/html/api/struct_x_dptx___link_config.html @@ -51,33 +51,10 @@ This typedef contains configuration information about the main link settings. u8 PeLevel -u8 ComponentFormat - -u8 DynamicRange - -u8 YCbCrColorimetry - -u8 SynchronousClockMode - u8 Pattern


    Member Data Documentation

    - -
    - -
    - -

    -The component format currently in use over the main link. -

    -

    @@ -93,21 +70,6 @@ The component format currently in use over the main link. Downspread control is currently in use over the main link.

    - -

    - -
    - -

    -The dynamic range currently in use over the main link. -

    -

    @@ -258,21 +220,6 @@ Downspread control is supported by the RX device. Enhanced frame mode is supported by the RX device.

    - -

    - -
    - -

    -Synchronous clock mode is currently in use over the main link. -

    -

    @@ -288,21 +235,6 @@ Synchronous clock mode is currently in use over the main link. The current voltage swing level for each lane.

    - -

    - -
    - -

    -The YCbCr colorimetry currently in use over the main link. -

    -


    The documentation for this struct was generated from the following file: Copyright @ 1995-2014 Xilinx, Inc. All rights reserved. diff --git a/XilinxProcessorIPLib/drivers/dptx/doc/html/api/struct_x_dptx___main_stream_attributes-members.html b/XilinxProcessorIPLib/drivers/dptx/doc/html/api/struct_x_dptx___main_stream_attributes-members.html index 08c15b64..c1f29671 100644 --- a/XilinxProcessorIPLib/drivers/dptx/doc/html/api/struct_x_dptx___main_stream_attributes-members.html +++ b/XilinxProcessorIPLib/drivers/dptx/doc/html/api/struct_x_dptx___main_stream_attributes-members.html @@ -24,27 +24,20 @@

    XDptx_MainStreamAttributes Member List

    This is the complete list of members for XDptx_MainStreamAttributes, including all inherited members.

    + - + + - - - - - - + - - - - - +
    AvgBytesPerTUXDptx_MainStreamAttributes
    BitsPerColorXDptx_MainStreamAttributes
    ComponentFormatXDptx_MainStreamAttributes
    DataPerLaneXDptx_MainStreamAttributes
    HBackPorchXDptx_MainStreamAttributes
    DmtXDptx_MainStreamAttributes
    DynamicRangeXDptx_MainStreamAttributes
    HClkTotalXDptx_MainStreamAttributes
    HFrontPorchXDptx_MainStreamAttributes
    HResolutionXDptx_MainStreamAttributes
    HStartXDptx_MainStreamAttributes
    HSyncPolarityXDptx_MainStreamAttributes
    HSyncPulseWidthXDptx_MainStreamAttributes
    InitWaitXDptx_MainStreamAttributes
    InterlacedXDptx_MainStreamAttributes
    Misc0XDptx_MainStreamAttributes
    Misc1XDptx_MainStreamAttributes
    MVidXDptx_MainStreamAttributes
    NVidXDptx_MainStreamAttributes
    SynchronousClockModeXDptx_MainStreamAttributes
    TransferUnitSizeXDptx_MainStreamAttributes
    UserPixelWidthXDptx_MainStreamAttributes
    VBackPorchXDptx_MainStreamAttributes
    VClkTotalXDptx_MainStreamAttributes
    VFrontPorchXDptx_MainStreamAttributes
    VResolutionXDptx_MainStreamAttributes
    VStartXDptx_MainStreamAttributes
    VSyncPolarityXDptx_MainStreamAttributes
    VSyncPulseWidthXDptx_MainStreamAttributes
    YCbCrColorimetryXDptx_MainStreamAttributes
    Copyright @ 1995-2014 Xilinx, Inc. All rights reserved. diff --git a/XilinxProcessorIPLib/drivers/dptx/doc/html/api/struct_x_dptx___main_stream_attributes.html b/XilinxProcessorIPLib/drivers/dptx/doc/html/api/struct_x_dptx___main_stream_attributes.html index a2093af0..ca4c4495 100644 --- a/XilinxProcessorIPLib/drivers/dptx/doc/html/api/struct_x_dptx___main_stream_attributes.html +++ b/XilinxProcessorIPLib/drivers/dptx/doc/html/api/struct_x_dptx___main_stream_attributes.html @@ -29,56 +29,42 @@ This typedef contains the main stream attributes which determine how the video w + + - - - - - - - - - - - - - - - - - - - - - - - - + + - - + + + + + + + +

    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


    Member Data Documentation

    @@ -111,6 +97,21 @@ Average number of bytes per transfer unit, scaled up by a factor of 1000. Number of bits per color component.

    + +

    + +
    + +

    +The component format currently in use by the video stream. +

    +

    @@ -126,19 +127,34 @@ Number of bits per color component. Used to translate the number of pixels per line to the native internal 16-bit datapath.

    - +

    -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. +

    +

    + +

    + +
    + +

    +The dynamic range currently in use by the video stream.

    @@ -156,36 +172,6 @@ Horizontal back porch (in pixels). Horizontal total time (in pixels).

    - -

    - -
    - -

    -Horizontal front porch (in pixels). -

    -

    - -

    - -
    - -

    -Horizontal resolution (in pixels). -

    -

    @@ -201,36 +187,6 @@ Horizontal resolution (in pixels). Horizontal blank start (in pixels).

    - -

    - -
    - -

    -Horizontal synchronization polarity (0=positive/1=negative). -

    -

    - -

    - -
    - -

    -Horizontal synchronization time (in pixels). -

    -

    @@ -246,21 +202,6 @@ Horizontal synchronization time (in pixels). Number of initial wait cycles at the start of a new line by the framing logic.

    - -

    - -
    - -

    -Input stream is interlaced. -

    -

    @@ -291,21 +232,6 @@ Miscellaneous stream attributes 0 as specified by the DisplayPort 1.2 specificat Miscellaneous stream attributes 1 as specified by the DisplayPort 1.2 specification.

    - -

    - -
    - -

    -M value for the video stream. This value is equal to the pixel clock in KHz. -

    -

    @@ -321,6 +247,21 @@ M value for the video stream. This value is equal to the pixel clock in KHz. N value for the video stream.

    + +

    + +
    + +

    +Synchronous clock mode is currently in use by the video stream. +

    +

    @@ -333,7 +274,7 @@ N value for 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.

    - -

    - -
    - -

    -Vertical back porch (in lines). -

    -

    @@ -381,36 +307,6 @@ Vertical back porch (in lines). Vertical total time (in pixels).

    - -

    - -
    - -

    -Vertical front porch (in lines). -

    -

    - -

    - -
    - -

    -Vertical resolution (in lines). -

    -

    @@ -426,34 +322,19 @@ Vertical resolution (in lines). Vertical blank start (in lines).

    - +

    -Vertical synchronization polarity (0=positive/1=negative). -

    -

    - -

    - -
    - -

    -Vertical synchronization time (in lines +The YCbCr colorimetry currently in use by the video stream.


    The documentation for this struct was generated from the following file:

    XDptx_SinkConfig Member List

    This is the complete list of members for XDptx_SinkConfig, including all inherited members.

    -
    DpcdRxCapsFieldXDptx_SinkConfig
    EdidXDptx_SinkConfig
    LaneStatusAdjReqsXDptx_SinkConfig
    Copyright @ 1995-2014 Xilinx, Inc. All rights reserved. diff --git a/XilinxProcessorIPLib/drivers/dptx/doc/html/api/struct_x_dptx___sink_config.html b/XilinxProcessorIPLib/drivers/dptx/doc/html/api/struct_x_dptx___sink_config.html index 3091b5e4..7c3b06aa 100644 --- a/XilinxProcessorIPLib/drivers/dptx/doc/html/api/struct_x_dptx___sink_config.html +++ b/XilinxProcessorIPLib/drivers/dptx/doc/html/api/struct_x_dptx___sink_config.html @@ -31,8 +31,6 @@ This typedef contains configuration information about the RX device.

    Public Attributes

    u8 DpcdRxCapsField [XDPTX_DPCD_RECEIVER_CAP_FIELD_SIZE] -u8 Edid [XDPTX_EDID_SIZE] - u8 LaneStatusAdjReqs [6] @@ -52,21 +50,6 @@ This typedef contains configuration information about the RX device. The raw capabilities field of the RX device's DisplayPort Configuration Data (DPCD).

    - -

    -
    - - - - -
    u8 XDptx_SinkConfig::Edid[XDPTX_EDID_SIZE]
    -
    -
    - -

    -The RX device's raw Extended Display Identification Data (EDID). -

    -

    diff --git a/XilinxProcessorIPLib/drivers/dptx/doc/html/api/struct_x_dptx___topology-members.html b/XilinxProcessorIPLib/drivers/dptx/doc/html/api/struct_x_dptx___topology-members.html new file mode 100644 index 00000000..e91ed805 --- /dev/null +++ b/XilinxProcessorIPLib/drivers/dptx/doc/html/api/struct_x_dptx___topology-members.html @@ -0,0 +1,29 @@ + + + + + Member List + + + + +Software Drivers +
    + + + +

    XDptx_Topology Member List

    This is the complete list of members for XDptx_Topology, including all inherited members.

    + + + + +
    NodeTableXDptx_Topology
    NodeTotalXDptx_Topology
    SinkListXDptx_Topology
    SinkTotalXDptx_Topology
    Copyright @ 1995-2014 Xilinx, Inc. All rights reserved. diff --git a/XilinxProcessorIPLib/drivers/dptx/doc/html/api/struct_x_dptx___topology.html b/XilinxProcessorIPLib/drivers/dptx/doc/html/api/struct_x_dptx___topology.html new file mode 100644 index 00000000..ed9ef564 --- /dev/null +++ b/XilinxProcessorIPLib/drivers/dptx/doc/html/api/struct_x_dptx___topology.html @@ -0,0 +1,104 @@ + + + + + XDptx_Topology Struct Reference + + + +

    +Software Drivers +
    + + + +

    XDptx_Topology Struct Reference

    #include <xdptx.h> +

    +List of all members.


    Detailed Description

    +This typedef describes a the entire topology of connected downstream DisplayPort devices (from the DisplayPort TX) when the driver is operating in multi-stream transport (MST) mode. +

    + + + + + + + + + + + +

    Public Attributes

    u8 NodeTotal
    XDptx_TopologyNode NodeTable [63]
    u8 SinkTotal
    XDptx_TopologyNodeSinkList [63]
    +


    Member Data Documentation

    + +
    + +
    + +

    +A table listing all the nodes in the MST topology. +

    +

    + +

    + +
    + +

    +The total number of nodes that were found in the MST topology. +

    +

    + +

    + +
    + +

    +A pointer list of sinks in the MST topology. The entries will point to the sinks in the NodeTable. +

    +

    + +

    + +
    + +

    +The total number of sinks in the MST topology. +

    +

    +


    The documentation for this struct was generated from the following file: +Copyright @ 1995-2014 Xilinx, Inc. All rights reserved. diff --git a/XilinxProcessorIPLib/drivers/dptx/doc/html/api/struct_x_dptx___topology_node-members.html b/XilinxProcessorIPLib/drivers/dptx/doc/html/api/struct_x_dptx___topology_node-members.html new file mode 100644 index 00000000..84ad113c --- /dev/null +++ b/XilinxProcessorIPLib/drivers/dptx/doc/html/api/struct_x_dptx___topology_node-members.html @@ -0,0 +1,31 @@ + + + + + Member List + + + + +Software Drivers +
    + + + +

    XDptx_TopologyNode Member List

    This is the complete list of members for XDptx_TopologyNode, including all inherited members.

    + + + + + + +
    DeviceTypeXDptx_TopologyNode
    DpcdRevXDptx_TopologyNode
    GuidXDptx_TopologyNode
    LinkCountTotalXDptx_TopologyNode
    MsgCapStatusXDptx_TopologyNode
    RelativeAddressXDptx_TopologyNode
    Copyright @ 1995-2014 Xilinx, Inc. All rights reserved. diff --git a/XilinxProcessorIPLib/drivers/dptx/doc/html/api/struct_x_dptx___topology_node.html b/XilinxProcessorIPLib/drivers/dptx/doc/html/api/struct_x_dptx___topology_node.html new file mode 100644 index 00000000..d74dfbd3 --- /dev/null +++ b/XilinxProcessorIPLib/drivers/dptx/doc/html/api/struct_x_dptx___topology_node.html @@ -0,0 +1,138 @@ + + + + + XDptx_TopologyNode Struct Reference + + + +

    +Software Drivers +
    + + + +

    XDptx_TopologyNode Struct Reference

    #include <xdptx.h> +

    +List of all members.


    Detailed Description

    +This typedef describes a downstream DisplayPort device when the driver is running in multi-stream transport (MST) mode. +

    + + + + + + + + + + + + + + + +

    Public Attributes

    u32 Guid [4]
    u8 RelativeAddress [15]
    u8 DeviceType
    u8 LinkCountTotal
    u8 DpcdRev
    u8 MsgCapStatus
    +


    Member Data Documentation

    + +
    + +
    + +

    +The type of DisplayPort device. Either a branch or sink. +

    +

    + +

    + +
    + +

    +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. +

    +

    + +

    + +
    + +

    +The total number of DisplayPort links connecting this device to the DisplayPort TX. +

    +

    + +

    + +
    + +

    +This device is capable of sending and receiving sideband messages. +

    +

    + +

    + +
    + +

    +The relative address from the DisplayPort TX to this device. +

    +

    +


    The documentation for this struct was generated from the following file: +Copyright @ 1995-2014 Xilinx, Inc. All rights reserved. diff --git a/XilinxProcessorIPLib/drivers/dptx/doc/html/api/xdptx_8c.html b/XilinxProcessorIPLib/drivers/dptx/doc/html/api/xdptx_8c.html index b04f01bd..5df6a3bc 100644 --- a/XilinxProcessorIPLib/drivers/dptx/doc/html/api/xdptx_8c.html +++ b/XilinxProcessorIPLib/drivers/dptx/doc/html/api/xdptx_8c.html @@ -67,7 +67,7 @@ Contains a minimal set of functions for the u32 XDptx_GetRxCapabilities (XDptx *InstancePtr) -u32 XDptx_GetEdid (XDptx *InstancePtr) +u32 XDptx_GetEdid (XDptx *InstancePtr, u8 *Edid) u32 XDptx_CfgMainLinkMax (XDptx *InstancePtr) @@ -79,6 +79,12 @@ Contains a minimal set of functions for the 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) @@ -304,7 +310,7 @@ This function issues a write request over the AUX channel.

    Returns:
      -
    • XST_SUCCESS if AUX write request was successfully acknowledged.
    • XST_DEVICE_NOT_FOUND if no RX device is connected.
    • XST_ERROR_COUNT_MAX if the AUX request timed out.
    • XST_FAILURE otherwise.
    +
  • XST_SUCCESS if the AUX write request was successfully acknowledged.
  • XST_DEVICE_NOT_FOUND if no RX device is connected.
  • XST_ERROR_COUNT_MAX if the AUX request timed out.
  • XST_FAILURE otherwise.
  • Note:
    None.
    @@ -383,6 +389,134 @@ This function determines the common capabilities between the DisplayPort TX core
    Note:
    None.
    +
    +

    + +

    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    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.

    +

    Parameters:
    + + + + +
    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.
    +
    +
    Returns:
    None.
    +
    Note:
    There are 32 possible pre-emphasis levels in the DisplayPort TX core that map to 4 possible pre-emphasis training levels in the RX device.
    + +
    +

    + +

    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    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.

    +

    Parameters:
    + + + + +
    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.
    +
    +
    Returns:
    None.
    +
    Note:
    There are 16 possible voltage swing levels in the DisplayPort TX core that map to 4 possible voltage swing training levels in the RX device.
    + +
    +

    + +

    +
    + + + + + + + + + + + + + + + + + + +
    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).

    +

    Parameters:
    + + + +
    InstancePtr is a pointer to the XDptx instance.
    Offset is the value to set for the voltage swing offset.
    +
    +
    Returns:
    None.
    +
    Note:
    None.
    +

    @@ -549,7 +683,7 @@ This function checks if the link needs training and runs the training sequence i

    - +

    @@ -557,9 +691,18 @@ This function checks if the link needs training and runs the training sequence i - - - + + + + + + + + + + + +
    u32 XDptx_GetEdid ( XDptx InstancePtr  )  InstancePtr,
    u8 *  Edid 
    )
    @@ -569,7 +712,8 @@ This function checks if the link needs training and runs the training sequence i This function retrieves the RX device's Extended Display Identification Data (EDID).

    Parameters:
    - + +
    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.
    Returns:
    +
    + +

    +This function will allocate bandwidth for all enabled stream.

    +

    Parameters:
    + + +
    InstancePtr is a pointer to the XDptx instance.
    +
    +
    Returns:
      +
    • XST_SUCCESS if the payload ID tables were successfully updated with the new allocation.
    +
    +
      +
    • XST_DEVICE_NOT_FOUND if no RX device is connected.
        +
      • XST_ERROR_COUNT_MAX if either waiting for a reply, waiting for the payload ID table to be cleared or updated, or an AUX request timed out.
      • XST_BUFFER_TOO_SMALL if there is not enough free timeslots in the payload ID table for the requested Ts.
      • XST_FAILURE otherwise - if an AUX read or write transaction failed, the header or body CRC of a sideband message did not match the calculated value, or the a reply was negative acknowledged (NACK'ed).
      +
    +

    +

    Note:
    None.
    + +
    +

    + +

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    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.

    +

    Parameters:
    + + + + + + + +
    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.
    +
    +
    Returns:
      +
    • XST_SUCCESS if the payload ID tables were successfully updated with the new allocation.
    +
    +
      +
    • XST_DEVICE_NOT_FOUND if no RX device is connected.
        +
      • XST_ERROR_COUNT_MAX if either waiting for a reply, or an AUX request timed out.
      • XST_BUFFER_TOO_SMALL if there is not enough free timeslots in the payload ID table for the requested Ts.
      • XST_FAILURE otherwise - if an AUX read or write transaction failed, the header or body CRC of a sideband message did not match the calculated value, or the a reply was negative acknowledged (NACK'ed).
      +
    +

    +

    Note:
    None.
    + +
    +

    @@ -640,7 +820,7 @@ This function issues a write request over the AUX channel.

    Returns:
      -
    • XST_SUCCESS if AUX write request was successfully acknowledged.
    • XST_DEVICE_NOT_FOUND if no RX device is connected.
    • XST_ERROR_COUNT_MAX if the AUX request timed out.
    • XST_FAILURE otherwise.
    +
  • XST_SUCCESS if the AUX write request was successfully acknowledged.
  • XST_DEVICE_NOT_FOUND if no RX device is connected.
  • XST_ERROR_COUNT_MAX if the AUX request timed out.
  • XST_FAILURE otherwise.
  • Note:
    None.
    @@ -721,7 +901,52 @@ This function determines the common capabilities between the DisplayPort TX core

    - + +

    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    void XDptx_CfgMsaEnSynchClkMode (XDptx InstancePtr,
    u8  Stream,
    u8  Enable 
    )
    +
    +
    + +

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

    +

    Parameters:
    + + + + +
    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.
    +
    +
    Returns:
    None.
    +
    Note:
    None.
    + +
    +

    +

    @@ -729,9 +954,18 @@ This function determines the common capabilities between the DisplayPort TX core - - - + + + + + + + + + + + +
    void XDptx_CfgMsaRecalculate ( XDptx InstancePtr  )  InstancePtr,
    u8  Stream 
    )
    @@ -739,11 +973,12 @@ This function determines the common capabilities between the DisplayPort TX core

    This function calculates the following Main Stream Attributes (MSA):

      -
    • Transfer unit size
    • User pixel width
    • NVid
    • Horizontal start
    • Vertical start
    • Horizontal total clock
    • Vertical total clock
    • Misc0
    • Misc1
    • Data per lane
    • Average number of bytes per transfer unit
    • Number of initial wait cycles These values are derived from:
    • Bits per color
    • MVid
    • Horizontal sync polarity
    • Vertical sync polarity
    • Horizontal sync pulse width
    • Vertical sync pulse width
    • Horizontal resolution
    • Vertical resolution
    • Vertical back porch
    • Vertical front porch
    • Horizontal back porch
    • Horizontal front porch
    +
  • Transfer unit size
  • User pixel width
  • Horizontal start
  • Vertical start
  • Horizontal total clock
  • Vertical total clock
  • Misc0
  • Misc1
  • Data per lane
  • Average number of bytes per transfer unit
  • Number of initial wait cycles These values are derived from:
  • Bits per color
  • Horizontal resolution
  • Vertical resolution
  • Pixel clock (in KHz)
  • Horizontal sync polarity
  • Vertical sync polarity
  • Horizontal front porch
  • Horizontal sync pulse width
  • Horizontal back porch
  • Vertical front porch
  • Vertical sync pulse width
  • Vertical back porch
  • Parameters:
    - + +
    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.
    Returns:
    None.
    @@ -751,7 +986,7 @@ This function calculates the following Main Stream Attributes (MSA):

    - +

    @@ -761,6 +996,12 @@ This function calculates the following Main Stream Attributes (MSA):
    + + + + + + @@ -781,6 +1022,7 @@ This function sets the bits per color value of the video stream.

    Parameters:
    XDptx InstancePtr,
    u8  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.
    @@ -789,7 +1031,7 @@ This function sets the bits per color value of the video stream.

    - +

    @@ -799,6 +1041,12 @@ This function sets the bits per color value of the video stream.

    + + + + + + @@ -821,22 +1069,23 @@ This function sets the bits per color value of the video stream.

    -This function takes a the main stream attributes from MsaConfigCustom and copies them into InstancePtr->MsaConfig. If desired, given a base set of attributes, the rest of the attributes may be derived. The minimal required main stream attributes that must be contained in the MsaConfigCustom structure are:

      -
    • MVid
    • Horizontal sync polarity
    • Vertical sync polarity
    • Horizontal sync pulse width
    • Vertical sync pulse width
    • Horizontal resolution
    • Vertical resolution
    • Vertical back porch
    • Vertical front porch
    • Horizontal back porch
    • Horizontal front porch
    +This function takes a the main stream attributes from MsaConfigCustom and copies them into InstancePtr->MsaConfig. If desired, given a base set of attributes, the rest of the attributes may be derived. The minimal required main stream attributes (MSA) that must be contained in the MsaConfigCustom structure are:
      +
    • Pixel clock (in KHz)
    • Horizontal sync polarity
    • Vertical sync polarity
    • Horizontal sync pulse width
    • Vertical sync pulse width
    • Horizontal resolution
    • Vertical resolution
    • Vertical back porch
    • Vertical front porch
    • Horizontal back porch
    • Horizontal front porch

    Parameters:
    XDptx InstancePtr,
    u8  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.
    Returns:
    None.
    -
    Note:
    The InstancePtr-> MsaConfig structure is modified with the new values.
    +
    Note:
    The InstancePtr->MsaConfig structure is modified with the new values.

    - +

    @@ -844,9 +1093,24 @@ This function takes a the main stream attributes from MsaConfigCustom and copies - - - + + + + + + + + + + + + + + + + + +
    void XDptx_CfgMsaUseEdidPreferredTiming ( XDptx InstancePtr  )  InstancePtr,
    u8  Stream,
    u8 *  Edid 
    )
    @@ -856,7 +1120,9 @@ This function takes a the main stream attributes from MsaConfigCustom and copies This function sets the main stream attribute values in the configuration structure to match the preferred timing of the sink monitor. This Preferred Timing Mode (PTM) information is stored in the sink's Extended Display Identification Data (EDID).

    Parameters:
    - + + +
    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.
    Returns:
    None.
    @@ -864,7 +1130,7 @@ This function sets the main stream attribute values in the configuration structu

    - +

    @@ -874,6 +1140,12 @@ This function sets the main stream attribute values in the configuration structu + + + + + + @@ -894,12 +1166,141 @@ This function sets the Main Stream Attribute (MSA) values in the configuration s
    Parameters:
    XDptx InstancePtr,
    u8  Stream,
    +
    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.
    Returns:
    None.
    Note:
    The InstancePtr->MsaConfig structure is modified to reflect the MSA values associated to the specified video mode.
    +
    +

    + +

    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    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.

    +

    Parameters:
    + + + + +
    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.
    +
    +
    Returns:
    None.
    +
    Note:
    There are 32 possible pre-emphasis levels in the DisplayPort TX core that map to 4 possible pre-emphasis training levels in the RX device.
    + +
    +

    + +

    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    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.

    +

    Parameters:
    + + + + +
    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.
    +
    +
    Returns:
    None.
    +
    Note:
    There are 16 possible voltage swing levels in the DisplayPort TX core that map to 4 possible voltage swing training levels in the RX device.
    + +
    +

    + +

    +
    + + + + + + + + + + + + + + + + + + +
    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).

    +

    Parameters:
    + + + +
    InstancePtr is a pointer to the XDptx instance.
    Offset is the value to set for the voltage swing offset.
    +
    +
    Returns:
    None.
    +
    Note:
    None.
    +

    @@ -940,6 +1341,79 @@ This function checks if the reciever's DisplayPort Configuration Data (DPCD) ind

    Note:
    None.
    + +

    + +

    +
    + + + + + + + + + + + + + + + + + + +
    void XDptx_ClearMsaValues (XDptx InstancePtr,
    u8  Stream 
    )
    +
    +
    + +

    +This function clears the main stream attributes registers of the DisplayPort TX core.

    +

    Parameters:
    + + + +
    InstancePtr is a pointer to the XDptx instance.
    Stream is the stream number for which to clear the MSA values.
    +
    +
    Returns:
    None.
    +
    Note:
    None.
    + +
    +

    + +

    +
    + + + + + + + + + +
    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.

    +

    Parameters:
    + + +
    InstancePtr is a pointer to the XDptx instance.
    +
    +
    Returns:
      +
    • XST_SUCCESS if the payload ID tables were successfully cleared.
    +
    +
      +
    • XST_DEVICE_NOT_FOUND if no RX device is connected.
        +
      • XST_ERROR_COUNT_MAX if either waiting for a reply, or an AUX request timed out.
      • XST_FAILURE otherwise - if an AUX read or write transaction failed, the header or body CRC of a sideband message did not match the calculated value, or the a reply was negative acknowledged (NACK'ed).
      +
    +

    +

    Note:
    None.
    +

    @@ -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.

    +

    Parameters:
    + + + + +
    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.
    +
    +
    Returns:
    None - the recursion will exit from nodes that have an error when replying to the LINK_ADDRESS sideband message.
    +
    Note:
    The contents of the InstancePtr->Topology structure will be modified.
    + +
    +

    +

    @@ -1074,9 +1593,18 @@ This function checks if the link needs training and runs the training sequence i - - - + + + + + + + + + + + +
    u32 XDptx_GetEdid ( XDptx InstancePtr  )  InstancePtr,
    u8 *  Edid 
    )
    @@ -1086,7 +1614,114 @@ This function checks if the link needs training and runs the training sequence i This function retrieves the RX device's Extended Display Identification Data (EDID).

    Parameters:
    - + + +
    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.
    +
    +
    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.
    + +
    +

    + +

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    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.

    +

    Parameters:
    + + + + + +
    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.
    +
    +
    Returns:
    None.
    +
    Note:
    None.
    + +
    +

    + +

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    u32 XDptx_GetRemoteEdid (XDptx InstancePtr,
    u8  LinkCountTotal,
    u8 *  RelativeAddress,
    u8 *  Edid 
    )
    +
    +
    + +

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

    +

    Parameters:
    + + + + +
    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.
    Returns:
      @@ -1333,6 +1968,283 @@ This function looks for the device configuration based on the unique device ID.
      Returns:
      A pointer to the configuration table entry corresponding to the given device ID, or NULL if no match is found.
      Note:
      None.
      +
    +

    + +

    +
    + + + + + + + + + +
    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.

    +

    Parameters:
    + + +
    InstancePtr is a pointer to the XDptx instance.
    +
    +
    Returns:
      +
    • XST_SUCCESS if the RX device is MST capable.
    • XST_NO_FEATURE if the RX device does not support MST.
    +
    +
      +
    • XST_DEVICE_NOT_FOUND if no RX device is connected.
        +
      • XST_ERROR_COUNT_MAX if an AUX read request timed out.
      • XST_FAILURE otherwise - if an AUX read transaction failed.
      +
    +

    +

    Note:
    None.
    + +
    +

    + +

    +
    + + + + + + + + + +
    void XDptx_MstCfgModeDisable (XDptx InstancePtr  ) 
    +
    +
    + +

    +This function will disable multi-stream transport (MST) mode for the driver.

    +

    Parameters:
    + + +
    InstancePtr is a pointer to the XDptx instance.
    +
    +
    Returns:
    None.
    +
    Note:
    When disabled, the driver will behave in single-stream transport (SST) mode.
    + +
    +

    + +

    +
    + + + + + + + + + +
    void XDptx_MstCfgModeEnable (XDptx InstancePtr  ) 
    +
    +
    + +

    +This function will enable multi-stream transport (MST) mode for the driver.

    +

    Parameters:
    + + +
    InstancePtr is a pointer to the XDptx instance.
    +
    +
    Returns:
    None.
    +
    Note:
    None.
    + +
    +

    + +

    +
    + + + + + + + + + + + + + + + + + + +
    void XDptx_MstCfgStreamDisable (XDptx InstancePtr,
    u8  Stream 
    )
    +
    +
    + +

    +This function will configure the InstancePtr->MstStreamConfig structure to disable the specified stream.

    +

    Parameters:
    + + + +
    InstancePtr is a pointer to the XDptx instance.
    Stream is the stream ID that will be disabled.
    +
    +
    Returns:
    None.
    +
    Note:
    None.
    + +
    +

    + +

    +
    + + + + + + + + + + + + + + + + + + +
    void XDptx_MstCfgStreamEnable (XDptx InstancePtr,
    u8  Stream 
    )
    +
    +
    + +

    +This function will configure the InstancePtr->MstStreamConfig structure to enable the specified stream.

    +

    Parameters:
    + + + +
    InstancePtr is a pointer to the XDptx instance.
    Stream is the stream ID that will be enabled.
    +
    +
    Returns:
    None.
    +
    Note:
    None.
    + +
    +

    + +

    +
    + + + + + + + + + +
    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.

    +

    Parameters:
    + + +
    InstancePtr is a pointer to the XDptx instance.
    +
    +
    Returns:
      +
    • XST_SUCCESS if MST mode has been successful disabled in hardware.
    +
    +
      +
    • XST_DEVICE_NOT_FOUND if no RX device is connected.
        +
      • XST_ERROR_COUNT_MAX if the AUX write request timed out.
      • XST_FAILURE otherwise - if the AUX write transaction failed.
      +
    +

    +

    Note:
    None.
    + +
    +

    + +

    +
    + + + + + + + + + +
    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.

    +

    Parameters:
    + + +
    InstancePtr is a pointer to the XDptx instance.
    +
    +
    Returns:
      +
    • XST_SUCCESS if MST mode has been successful enabled in hardware.
    • XST_NO_FEATURE if the immediate downstream RX device does not support MST - that is, if its DisplayPort Configuration Data (DPCD) version is less than 1.2, or if the DPCD indicates that it has no DPCD capabilities.
    +
    +
      +
    • XST_DEVICE_NOT_FOUND if no RX device is connected.
        +
      • XST_ERROR_COUNT_MAX if an AUX request timed out.
      • XST_FAILURE otherwise - if an AUX read or write transaction failed.
      +
    +

    +

    Note:
    None.
    + +
    +

    + +

    +
    + + + + + + + + + + + + + + + + + + +
    u8 XDptx_MstStreamIsEnabled (XDptx InstancePtr,
    u8  Stream 
    )
    +
    +
    + +

    +This function will check whether

    +

    Parameters:
    + + + +
    InstancePtr is a pointer to the XDptx instance.
    Stream is the stream ID to check for enable/disable status.
    +
    +
    Returns:
      +
    • 1 if the specified stream is enabled.
    • 0 if the specified stream is disabled.
    +
    +
    Note:
    None.
    +

    @@ -1401,6 +2313,453 @@ This function runs a self-test on the XD

    Note:
    None.
    + +

    + +

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    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.

    +

    Parameters:
    + + + + + + +
    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.
    +
    +
    Returns:
      +
    • XST_SUCCESS if the reply to the sideband message was successfully obtained and it indicates an acknowledge.
    +
    +
      +
    • XST_DEVICE_NOT_FOUND if no RX device is connected.
        +
      • XST_ERROR_COUNT_MAX if either waiting for a reply, or an AUX request timed out.
      • XST_FAILURE otherwise - if an AUX read or write transaction failed, the header or body CRC of the sideband message did not match the calculated value, or the a reply was negative acknowledged (NACK'ed).
      +
    +

    +

    Note:
    ALLOCATE_PAYLOAD is a path message that will be serviced by all downstream DisplayPort devices connecting the DisplayPort TX and the target device.
    + +
    +

    + +

    +
    + + + + + + + + + +
    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.

    +

    Parameters:
    + + +
    InstancePtr is a pointer to the XDptx instance.
    +
    +
    Returns:
      +
    • XST_SUCCESS if the reply to the sideband message was successfully obtained and it indicates an acknowledge.
    +
    +
      +
    • XST_DEVICE_NOT_FOUND if no RX device is connected.
        +
      • XST_ERROR_COUNT_MAX if either waiting for a reply, or an AUX request timed out.
      • XST_FAILURE otherwise - if an AUX read or write transaction failed, the header or body CRC of the sideband message did not match the calculated value, or the a reply was negative acknowledged (NACK'ed).
      +
    +

    +

    Note:
    CLEAR_PAYLOAD_ID_TABLE is a broadcast message sent to all downstream devices.
    + +
    +

    + +

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    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.

    +

    Parameters:
    + + + + + + +
    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.
    +
    +
    Returns:
      +
    • XST_SUCCESS if the reply to the sideband message was successfully obtained and it indicates an acknowledge.
    +
    +
      +
    • XST_DEVICE_NOT_FOUND if no RX device is connected.
        +
      • XST_ERROR_COUNT_MAX if either waiting for a reply, or an AUX request timed out.
      • XST_FAILURE otherwise - if an AUX read or write transaction failed, the header or body CRC of the sideband message did not match the calculated value, or the a reply was negative acknowledged (NACK'ed).
      +
    +

    +

    Note:
    ENUM_PATH_RESOURCES is a path message that will be serviced by all downstream DisplayPort devices connecting the DisplayPort TX and the 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.

    + +
    +

    + +

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    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.

    +

    Parameters:
    + + + + + +
    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.
    +
    +
    Returns:
      +
    • XST_SUCCESS if the reply to the sideband message was successfully obtained and it indicates an acknowledge.
    +
    +
      +
    • XST_DEVICE_NOT_FOUND if no RX device is connected.
        +
      • XST_ERROR_COUNT_MAX if either waiting for a reply, or an AUX request timed out.
      • XST_FAILURE otherwise - if an AUX read or write transaction failed, the header or body CRC of the sideband message did not match the calculated value, or the a reply was negative acknowledged (NACK'ed).
      +
    +

    +

    Note:
    The contents of the DeviceInfo structure will be modified with the information obtained from the LINK_ADDRESS sideband message reply.
    + +
    +

    + +

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    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.

    +

    Parameters:
    + + + + + + + +
    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.
    +
    +
    Returns:
      +
    • XST_SUCCESS if the reply to the sideband message was successfully obtained and it indicates an acknowledge.
    +
    +
      +
    • XST_DEVICE_NOT_FOUND if no RX device is connected.
        +
      • XST_ERROR_COUNT_MAX if either waiting for a reply, or an AUX request timed out.
      • XST_DATA_LOST if the requested number of BytesToRead does not equal that actually received.
      • XST_FAILURE otherwise - if an AUX read or write transaction failed, the header or body CRC of the sideband message did not match the calculated value, or the a reply was negative acknowledged (NACK'ed).
      +
    +

    +

    Note:
    None.
    + +
    +

    + +

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    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.

    +

    Parameters:
    + + + + + + + +
    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.
    +
    +
    Returns:
      +
    • XST_SUCCESS if the reply to the sideband message was successfully obtained and it indicates an acknowledge.
    +
    +
      +
    • XST_DEVICE_NOT_FOUND if no RX device is connected.
        +
      • XST_ERROR_COUNT_MAX if either waiting for a reply, or an AUX request timed out.
      • XST_FAILURE otherwise - if an AUX read or write transaction failed, the header or body CRC of the sideband message did not match the calculated value, or the a reply was negative acknowledged (NACK'ed).
      +
    +

    +

    Note:
    None.
    + +
    +

    + +

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    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.

    +

    Parameters:
    + + + + + + + +
    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.
    +
    +
    Returns:
      +
    • XST_SUCCESS if the reply to the sideband message was successfully obtained and it indicates an acknowledge.
    +
    +
      +
    • XST_DEVICE_NOT_FOUND if no RX device is connected.
        +
      • XST_ERROR_COUNT_MAX if either waiting for a reply, or an AUX request timed out.
      • XST_DATA_LOST if the requested number of BytesToRead does not equal that actually received.
      • XST_FAILURE otherwise - if an AUX read or write transaction failed, the header or body CRC of the sideband message did not match the calculated value, or the a reply was negative acknowledged (NACK'ed).
      +
    +

    +

    Note:
    None.
    +

    @@ -1691,6 +3050,44 @@ This function sets the data rate to be used by the main link for both the Displa

    Note:
    None.
    + +

    + +

    +
    + + + + + + + + + + + + + + + + + + +
    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.

    +

    Parameters:
    + + + +
    InstancePtr is a pointer to the XDptx instance.
    Stream is the stream number for which to set the MSA values for.
    +
    +
    Returns:
    None.
    +
    Note:
    None.
    +

    @@ -1731,6 +3128,104 @@ This function enables or disables scrambling of symbols for both the DisplayPort

    Note:
    None.
    + +

    + +

    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    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.

    +

    Parameters:
    + + + + +
    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.
    +
    +
    Returns:
    None.
    +
    Note:
    The contents of the InstancePtr->MstStreamConfig[Stream] will be modified.

    +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.

    +

    Parameters:
    + + + + + +
    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.
    +
    +
    Returns:
    None.
    +
    Note:
    The contents of the InstancePtr->MstStreamConfig[Stream] will be modified.
    +

    @@ -1778,7 +3273,7 @@ This function installs a custom delay/sleep function to be used by the XDdptx dr

    - +

    @@ -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 
    )
    @@ -1798,7 +3302,8 @@ This function installs a custom delay/sleep function to be used by the XDdptx dr This function clears the main stream attributes registers of the DisplayPort TX core and sets them to the values specified in the main stream attributes configuration structure.

    Parameters:
    - + +
    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.
    Returns:
    None.
    @@ -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] 
    )
    +
    +
    + +

    +This function will write a global unique identifier (GUID) to the target DisplayPort device.

    +

    Parameters:
    + + + + + +
    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.
    +
    +
    Returns:
    None.
    +
    Note:
    None.
    +


    Variable Documentation

    @@ -1857,7 +3414,7 @@ This function is the delay/sleep function for the

    -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

     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.

    #define XDptx_In32   Xil_In32 @@ -8617,6 +8642,111 @@ Shift bits for the internal AUX reply state machine status.

    AUX request is currently being transmitted. + +

    + +

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

    +

    @@ -8908,6 +9038,66 @@ Start of the MSA registers for stream 4. Value:

    The MSA registers for stream 4 are at an offset from the corresponding registers of stream 1. + +

    + +

    +
    + + + + +
    #define XDPTX_STREAM_ID1   1
    +
    +
    + +

    + +

    +

    + +

    +
    + + + + +
    #define XDPTX_STREAM_ID2   2
    +
    +
    + +

    + +

    +

    + +

    +
    + + + + +
    #define XDPTX_STREAM_ID3   3
    +
    +
    + +

    + +

    +

    + +

    +
    + + + + +
    #define XDPTX_STREAM_ID4   4
    +
    +
    + +

    +

    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 @@ + + + + + xdptx_mst.c File Reference + + + +

    +Software Drivers +
    + + + +

    xdptx_mst.c File Reference


    Detailed Description

    +
    + 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 Documentation

    + +
    +
    + + + + +
    #define XDPTX_MAX_TIMEOUT_COUNT   100
    +
    +
    + +

    + +

    +

    +


    Function Documentation

    + +
    +
    + + + + + + + + + +
    u32 XDptx_AllocatePayloadStreams (XDptx InstancePtr  ) 
    +
    +
    + +

    +This function will allocate bandwidth for all enabled stream.

    +

    Parameters:
    + + +
    InstancePtr is a pointer to the XDptx instance.
    +
    +
    Returns:
      +
    • XST_SUCCESS if the payload ID tables were successfully updated with the new allocation.
    +
    +
      +
    • XST_DEVICE_NOT_FOUND if no RX device is connected.
        +
      • XST_ERROR_COUNT_MAX if either waiting for a reply, waiting for the payload ID table to be cleared or updated, or an AUX request timed out.
      • XST_BUFFER_TOO_SMALL if there is not enough free timeslots in the payload ID table for the requested Ts.
      • XST_FAILURE otherwise - if an AUX read or write transaction failed, the header or body CRC of a sideband message did not match the calculated value, or the a reply was negative acknowledged (NACK'ed).
      +
    +

    +

    Note:
    None.
    + +
    +

    + +

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    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.

    +

    Parameters:
    + + + + + + + +
    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.
    +
    +
    Returns:
      +
    • XST_SUCCESS if the payload ID tables were successfully updated with the new allocation.
    +
    +
      +
    • XST_DEVICE_NOT_FOUND if no RX device is connected.
        +
      • XST_ERROR_COUNT_MAX if either waiting for a reply, or an AUX request timed out.
      • XST_BUFFER_TOO_SMALL if there is not enough free timeslots in the payload ID table for the requested Ts.
      • XST_FAILURE otherwise - if an AUX read or write transaction failed, the header or body CRC of a sideband message did not match the calculated value, or the a reply was negative acknowledged (NACK'ed).
      +
    +

    +

    Note:
    None.
    + +
    +

    + +

    +
    + + + + + + + + + +
    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.

    +

    Parameters:
    + + +
    InstancePtr is a pointer to the XDptx instance.
    +
    +
    Returns:
      +
    • XST_SUCCESS if the payload ID tables were successfully cleared.
    +
    +
      +
    • XST_DEVICE_NOT_FOUND if no RX device is connected.
        +
      • XST_ERROR_COUNT_MAX if either waiting for a reply, or an AUX request timed out.
      • XST_FAILURE otherwise - if an AUX read or write transaction failed, the header or body CRC of a sideband message did not match the calculated value, or the a reply was negative acknowledged (NACK'ed).
      +
    +

    +

    Note:
    None.
    + +
    +

    + +

    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    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.

    +

    Parameters:
    + + + + +
    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.
    +
    +
    Returns:
    None - the recursion will exit from nodes that have an error when replying to the LINK_ADDRESS sideband message.
    +
    Note:
    The contents of the InstancePtr->Topology structure will be modified.
    + +
    +

    + +

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    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.

    +

    Parameters:
    + + + + + +
    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.
    +
    +
    Returns:
    None.
    +
    Note:
    None.
    + +
    +

    + +

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    u32 XDptx_GetRemoteEdid (XDptx InstancePtr,
    u8  LinkCountTotal,
    u8 *  RelativeAddress,
    u8 *  Edid 
    )
    +
    +
    + +

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

    +

    Parameters:
    + + + + + +
    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.
    +
    +
    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.
    + +
    +

    + +

    +
    + + + + + + + + + +
    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.

    +

    Parameters:
    + + +
    InstancePtr is a pointer to the XDptx instance.
    +
    +
    Returns:
      +
    • XST_SUCCESS if the RX device is MST capable.
    • XST_NO_FEATURE if the RX device does not support MST.
    +
    +
      +
    • XST_DEVICE_NOT_FOUND if no RX device is connected.
        +
      • XST_ERROR_COUNT_MAX if an AUX read request timed out.
      • XST_FAILURE otherwise - if an AUX read transaction failed.
      +
    +

    +

    Note:
    None.
    + +
    +

    + +

    +
    + + + + + + + + + +
    void XDptx_MstCfgModeDisable (XDptx InstancePtr  ) 
    +
    +
    + +

    +This function will disable multi-stream transport (MST) mode for the driver.

    +

    Parameters:
    + + +
    InstancePtr is a pointer to the XDptx instance.
    +
    +
    Returns:
    None.
    +
    Note:
    When disabled, the driver will behave in single-stream transport (SST) mode.
    + +
    +

    + +

    +
    + + + + + + + + + +
    void XDptx_MstCfgModeEnable (XDptx InstancePtr  ) 
    +
    +
    + +

    +This function will enable multi-stream transport (MST) mode for the driver.

    +

    Parameters:
    + + +
    InstancePtr is a pointer to the XDptx instance.
    +
    +
    Returns:
    None.
    +
    Note:
    None.
    + +
    +

    + +

    +
    + + + + + + + + + + + + + + + + + + +
    void XDptx_MstCfgStreamDisable (XDptx InstancePtr,
    u8  Stream 
    )
    +
    +
    + +

    +This function will configure the InstancePtr->MstStreamConfig structure to disable the specified stream.

    +

    Parameters:
    + + + +
    InstancePtr is a pointer to the XDptx instance.
    Stream is the stream ID that will be disabled.
    +
    +
    Returns:
    None.
    +
    Note:
    None.
    + +
    +

    + +

    +
    + + + + + + + + + + + + + + + + + + +
    void XDptx_MstCfgStreamEnable (XDptx InstancePtr,
    u8  Stream 
    )
    +
    +
    + +

    +This function will configure the InstancePtr->MstStreamConfig structure to enable the specified stream.

    +

    Parameters:
    + + + +
    InstancePtr is a pointer to the XDptx instance.
    Stream is the stream ID that will be enabled.
    +
    +
    Returns:
    None.
    +
    Note:
    None.
    + +
    +

    + +

    +
    + + + + + + + + + +
    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.

    +

    Parameters:
    + + +
    InstancePtr is a pointer to the XDptx instance.
    +
    +
    Returns:
      +
    • XST_SUCCESS if MST mode has been successful disabled in hardware.
    +
    +
      +
    • XST_DEVICE_NOT_FOUND if no RX device is connected.
        +
      • XST_ERROR_COUNT_MAX if the AUX write request timed out.
      • XST_FAILURE otherwise - if the AUX write transaction failed.
      +
    +

    +

    Note:
    None.
    + +
    +

    + +

    +
    + + + + + + + + + +
    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.

    +

    Parameters:
    + + +
    InstancePtr is a pointer to the XDptx instance.
    +
    +
    Returns:
      +
    • XST_SUCCESS if MST mode has been successful enabled in hardware.
    • XST_NO_FEATURE if the immediate downstream RX device does not support MST - that is, if its DisplayPort Configuration Data (DPCD) version is less than 1.2, or if the DPCD indicates that it has no DPCD capabilities.
    +
    +
      +
    • XST_DEVICE_NOT_FOUND if no RX device is connected.
        +
      • XST_ERROR_COUNT_MAX if an AUX request timed out.
      • XST_FAILURE otherwise - if an AUX read or write transaction failed.
      +
    +

    +

    Note:
    None.
    + +
    +

    + +

    +
    + + + + + + + + + + + + + + + + + + +
    u8 XDptx_MstStreamIsEnabled (XDptx InstancePtr,
    u8  Stream 
    )
    +
    +
    + +

    +This function will check whether

    +

    Parameters:
    + + + +
    InstancePtr is a pointer to the XDptx instance.
    Stream is the stream ID to check for enable/disable status.
    +
    +
    Returns:
      +
    • 1 if the specified stream is enabled.
    • 0 if the specified stream is disabled.
    +
    +
    Note:
    None.
    + +
    +

    + +

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    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.

    +

    Parameters:
    + + + + + + +
    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.
    +
    +
    Returns:
      +
    • XST_SUCCESS if the reply to the sideband message was successfully obtained and it indicates an acknowledge.
    +
    +
      +
    • XST_DEVICE_NOT_FOUND if no RX device is connected.
        +
      • XST_ERROR_COUNT_MAX if either waiting for a reply, or an AUX request timed out.
      • XST_FAILURE otherwise - if an AUX read or write transaction failed, the header or body CRC of the sideband message did not match the calculated value, or the a reply was negative acknowledged (NACK'ed).
      +
    +

    +

    Note:
    ALLOCATE_PAYLOAD is a path message that will be serviced by all downstream DisplayPort devices connecting the DisplayPort TX and the target device.
    + +
    +

    + +

    +
    + + + + + + + + + +
    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.

    +

    Parameters:
    + + +
    InstancePtr is a pointer to the XDptx instance.
    +
    +
    Returns:
      +
    • XST_SUCCESS if the reply to the sideband message was successfully obtained and it indicates an acknowledge.
    +
    +
      +
    • XST_DEVICE_NOT_FOUND if no RX device is connected.
        +
      • XST_ERROR_COUNT_MAX if either waiting for a reply, or an AUX request timed out.
      • XST_FAILURE otherwise - if an AUX read or write transaction failed, the header or body CRC of the sideband message did not match the calculated value, or the a reply was negative acknowledged (NACK'ed).
      +
    +

    +

    Note:
    CLEAR_PAYLOAD_ID_TABLE is a broadcast message sent to all downstream devices.
    + +
    +

    + +

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    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.

    +

    Parameters:
    + + + + + + +
    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.
    +
    +
    Returns:
      +
    • XST_SUCCESS if the reply to the sideband message was successfully obtained and it indicates an acknowledge.
    +
    +
      +
    • XST_DEVICE_NOT_FOUND if no RX device is connected.
        +
      • XST_ERROR_COUNT_MAX if either waiting for a reply, or an AUX request timed out.
      • XST_FAILURE otherwise - if an AUX read or write transaction failed, the header or body CRC of the sideband message did not match the calculated value, or the a reply was negative acknowledged (NACK'ed).
      +
    +

    +

    Note:
    ENUM_PATH_RESOURCES is a path message that will be serviced by all downstream DisplayPort devices connecting the DisplayPort TX and the 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.

    + +
    +

    + +

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    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.

    +

    Parameters:
    + + + + + +
    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.
    +
    +
    Returns:
      +
    • XST_SUCCESS if the reply to the sideband message was successfully obtained and it indicates an acknowledge.
    +
    +
      +
    • XST_DEVICE_NOT_FOUND if no RX device is connected.
        +
      • XST_ERROR_COUNT_MAX if either waiting for a reply, or an AUX request timed out.
      • XST_FAILURE otherwise - if an AUX read or write transaction failed, the header or body CRC of the sideband message did not match the calculated value, or the a reply was negative acknowledged (NACK'ed).
      +
    +

    +

    Note:
    The contents of the DeviceInfo structure will be modified with the information obtained from the LINK_ADDRESS sideband message reply.
    + +
    +

    + +

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    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.

    +

    Parameters:
    + + + + + + + +
    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.
    +
    +
    Returns:
      +
    • XST_SUCCESS if the reply to the sideband message was successfully obtained and it indicates an acknowledge.
    +
    +
      +
    • XST_DEVICE_NOT_FOUND if no RX device is connected.
        +
      • XST_ERROR_COUNT_MAX if either waiting for a reply, or an AUX request timed out.
      • XST_DATA_LOST if the requested number of BytesToRead does not equal that actually received.
      • XST_FAILURE otherwise - if an AUX read or write transaction failed, the header or body CRC of the sideband message did not match the calculated value, or the a reply was negative acknowledged (NACK'ed).
      +
    +

    +

    Note:
    None.
    + +
    +

    + +

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    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.

    +

    Parameters:
    + + + + + + + +
    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.
    +
    +
    Returns:
      +
    • XST_SUCCESS if the reply to the sideband message was successfully obtained and it indicates an acknowledge.
    +
    +
      +
    • XST_DEVICE_NOT_FOUND if no RX device is connected.
        +
      • XST_ERROR_COUNT_MAX if either waiting for a reply, or an AUX request timed out.
      • XST_FAILURE otherwise - if an AUX read or write transaction failed, the header or body CRC of the sideband message did not match the calculated value, or the a reply was negative acknowledged (NACK'ed).
      +
    +

    +

    Note:
    None.
    + +
    +

    + +

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    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.

    +

    Parameters:
    + + + + + + + +
    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.
    +
    +
    Returns:
      +
    • XST_SUCCESS if the reply to the sideband message was successfully obtained and it indicates an acknowledge.
    +
    +
      +
    • XST_DEVICE_NOT_FOUND if no RX device is connected.
        +
      • XST_ERROR_COUNT_MAX if either waiting for a reply, or an AUX request timed out.
      • XST_DATA_LOST if the requested number of BytesToRead does not equal that actually received.
      • XST_FAILURE otherwise - if an AUX read or write transaction failed, the header or body CRC of the sideband message did not match the calculated value, or the a reply was negative acknowledged (NACK'ed).
      +
    +

    +

    Note:
    None.
    + +
    +

    + +

    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    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.

    +

    Parameters:
    + + + + +
    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.
    +
    +
    Returns:
    None.
    +
    Note:
    The contents of the InstancePtr->MstStreamConfig[Stream] will be modified.

    +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.

    +

    Parameters:
    + + + + + +
    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.
    +
    +
    Returns:
    None.
    +
    Note:
    The contents of the InstancePtr->MstStreamConfig[Stream] will be modified.
    + +
    +

    + +

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    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.

    +

    Parameters:
    + + + + + +
    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.
    +
    +
    Returns:
    None.
    +
    Note:
    None.
    + +
    +

    +


    Variable Documentation

    + +
    +
    + + + + +
    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}
    +}
    +
    This table contains a list of global unique identifiers (GUIDs) that will be issued when exploring the topology using the algorithm in the XDptx_FindAccessibleDpDevices function. +
    +

    +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)


    Function Documentation

    - + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    void XDptx_CfgMsaEnSynchClkMode (XDptx InstancePtr,
    u8  Stream,
    u8  Enable 
    )
    +
    +
    + +

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

    +

    Parameters:
    + + + + +
    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.
    +
    +
    Returns:
    None.
    +
    Note:
    None.
    + +
    +

    +

  • Transfer unit size
  • User pixel width
  • Horizontal start
  • Vertical start
  • Horizontal total clock
  • Vertical total clock
  • Misc0
  • Misc1
  • Data per lane
  • Average number of bytes per transfer unit
  • Number of initial wait cycles These values are derived from:
  • Bits per color
  • Horizontal resolution
  • Vertical resolution
  • Pixel clock (in KHz)
  • Horizontal sync polarity
  • Vertical sync polarity
  • Horizontal front porch
  • Horizontal sync pulse width
  • Horizontal back porch
  • Vertical front porch
  • Vertical sync pulse width
  • Vertical back porch
  • Parameters:
    - + +
    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.
    Returns:
    None.
    @@ -81,7 +144,7 @@ This function calculates the following Main Stream Attributes (MSA):