![]() |
dp14
Xilinx SDK Drivers API Documentation
|
Data Structures | |
struct | XDp_Config |
This typedef contains configuration information for the DisplayPort core. More... | |
struct | XDp_TxSinkConfig |
This typedef contains configuration information about the RX device. More... | |
struct | XDp_TxLinkConfig |
This typedef contains configuration information about the main link settings. More... | |
struct | XDp_TxMainStreamAttributes |
This typedef contains the main stream attributes which determine how the video will be displayed. More... | |
struct | XDp_TxMstStream |
This typedef describes a stream when the driver is running in multi-stream transport (MST) mode. More... | |
struct | XDp_TxBoardChar |
This typedef describes some board characteristics information that affects link training. More... | |
struct | XDp_TxTopologyNode |
This typedef describes a downstream DisplayPort device when the driver is running in multi-stream transport (MST) mode. More... | |
struct | XDp_TxTopology |
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. More... | |
struct | XDp_TxAudioInfoFrame |
This typedef describes Audio InfoFrame packet. More... | |
struct | XDp_SbMsgLinkAddressReplyPortDetail |
This typedef describes a port that is connected to a DisplayPort branch device. More... | |
struct | XDp_SbMsgLinkAddressReplyDeviceInfo |
This typedef describes a DisplayPort branch device. More... | |
struct | XDp_RxLinkConfig |
This typedef contains configuration information about the main link settings. More... | |
struct | XDp_RxIicMapEntry |
This typedef represents one I2C map entry for a device. More... | |
struct | XDp_RxDpcdMap |
This typedef represents the DPCD address map for a device. More... | |
struct | XDp_RxPort |
This typedef contains information on the directly connected ports to the RX branch. More... | |
struct | XDp_RxTopology |
This typedef contains topology information on directly connected sinks and of the RX branch itself. More... | |
struct | XDp_Tx |
The XDp driver instance data representing the TX mode of operation. More... | |
struct | XDp_Rx |
The XDp driver instance data representing the RX mode of operation. More... | |
struct | XDp |
The XDp instance data. More... | |
Macros | |
#define | XDp_GetCoreType(InstancePtr) |
This is function determines whether the DisplayPort core, represented by the XDp structure pointed to, is a transmitter (TX) or a receiver (RX). More... | |
#define | XDp_TxCfgSetRGB(InstancePtr, Stream) |
The following functions set the color encoding scheme for a given stream. More... | |
#define | XDP_RX_NUM_I2C_ENTRIES_PER_PORT 3 |
The number of I2C user- defined entries in the I2C map of each port. More... | |
#define | XDP_GUID_NBYTES 16 |
The number of bytes for the global unique ID. More... | |
#define | XDP_MAX_NPORTS 16 |
The maximum number of ports connected to a DisplayPort device. More... | |
#define | XDp_ReadReg(BaseAddress, RegOffset) XDp_In32((BaseAddress) + (RegOffset)) |
This is a low-level function that reads from the specified register. More... | |
#define | XDp_WriteReg(BaseAddress, RegOffset, Data) XDp_Out32((BaseAddress) + (RegOffset), (Data)) |
This is a low-level function that writes to the specified register. More... | |
Typedefs | |
typedef void(* | XDp_TimerHandler )(void *InstancePtr, u32 MicroSeconds) |
Callback type which represents a custom timer wait handler. More... | |
typedef void(* | XDp_IntrHandler )(void *InstancePtr) |
Callback type which represents the handler for interrupts. More... | |
Enumerations | |
enum | XDp_CoreType |
This typedef enumerates the RX and TX modes of operation for the DisplayPort core. More... | |
enum | XDp_DynamicRange |
This typedef enumerates the dynamic ranges available to the DisplayPort core. More... | |
enum | Dp_Rx_HandlerType |
This typedef enumerates the handlers for the the DisplayPort Receiver. More... | |
enum | XDp_Tx_HandlerType |
This typedef enumerates the handlers for the the DisplayPort Transmitter. More... | |
Functions | |
void | XDp_CfgInitialize (XDp *InstancePtr, XDp_Config *ConfigPtr, UINTPTR EffectiveAddr) |
This function retrieves the configuration for this DisplayPort instance and fills in the InstancePtr->Config structure. More... | |
u32 | XDp_Initialize (XDp *InstancePtr) |
This function prepares the DisplayPort core for use depending on whether the core is operating in TX or RX mode. More... | |
void | XDp_SetUserTimerHandler (XDp *InstancePtr, XDp_TimerHandler CallbackFunc, void *CallbackRef) |
This function installs a custom delay/sleep function to be used by the XDp driver. More... | |
void | XDp_WaitUs (XDp *InstancePtr, u32 MicroSeconds) |
This function is the delay/sleep function for the XDp driver. More... | |
u8 | XDp_IsLinkRateValid (XDp *InstancePtr, u8 LinkRate) |
This function checks the validity of the link rate. More... | |
u8 | XDp_IsLaneCountValid (XDp *InstancePtr, u8 LaneCount) |
This function checks the validity of the lane count. More... | |
XDp_Config * | XDp_LookupConfig (u16 DeviceId) |
This function looks for the device configuration based on the unique device ID. More... | |
void | XDp_InterruptHandler (XDp *InstancePtr) |
This function is the interrupt handler for the XDp driver. More... | |
u32 | XDp_SelfTest (XDp *InstancePtr) |
This function runs a self-test on the XDp driver/device depending on whether the core is operating in TX or RX mode. More... | |
Variables | |
u8 | GuidTable [16][XDP_GUID_NBYTES] |
This table contains a list of global unique identifiers (GUIDs) that will be issued when exploring the topology using the algorithm in the XDp_TxFindAccessibleDpDevices function. More... | |
XDp_Config | XDp_ConfigTable [XPAR_XDP_NUM_INSTANCES] |
A table of configuration structures containing the configuration information for each DisplayPort TX core in the system. More... | |
Protocol Selection definitions : DP 1.1, DP 1.2, DP 1.4. | |
#define | XDP_PROTOCOL_DP_1_1 0 |
#define | XDP_PROTOCOL_DP_1_2 1 |
#define | XDP_PROTOCOL_DP_1_4 2 |
DP generic definitions: Link bandwith and lane count. | |
#define | XDP_LINK_BW_SET_162GBPS 0x06 |
1.62 Gbps link rate. More... | |
#define | XDP_LINK_BW_SET_270GBPS 0x0A |
2.70 Gbps link rate. More... | |
#define | XDP_LINK_BW_SET_540GBPS 0x14 |
5.40 Gbps link rate. More... | |
#define | XDP_LINK_BW_SET_810GBPS 0x1E |
8.10 Gbps link rate. More... | |
#define | XDP_LANE_COUNT_SET_1 0x01 |
Lane count of 1. More... | |
#define | XDP_LANE_COUNT_SET_2 0x02 |
Lane count of 2. More... | |
#define | XDP_LANE_COUNT_SET_4 0x04 |
Lane count of 4. More... | |
DP generic definitions: Bits per color components. | |
#define | XDP_MAIN_STREAMX_MISC0_BDC_MASK 0x000000E0 |
Bit depth per color component (BDC). More... | |
#define | XDP_MAIN_STREAMX_MISC0_BDC_SHIFT 5 |
Shift bits for BDC. More... | |
#define | XDP_MAIN_STREAMX_MISC0_BDC_6BPC 0x0 |
6 bits per component. More... | |
#define | XDP_MAIN_STREAMX_MISC0_BDC_8BPC 0x1 |
8 bits per component. More... | |
#define | XDP_MAIN_STREAMX_MISC0_BDC_10BPC 0x2 |
10 bits per component. More... | |
#define | XDP_MAIN_STREAMX_MISC0_BDC_12BPC 0x3 |
12 bits per component. More... | |
#define | XDP_MAIN_STREAMX_MISC0_BDC_16BPC 0x4 |
16 bits per component. More... | |
DP generic definitions: Miscellaneous components; color format. | |
#define | XDP_MAIN_STREAMX_MISC0_COMPONENT_FORMAT_MASK 0x00000006 |
Component format. More... | |
#define | XDP_MAIN_STREAMX_MISC0_COMPONENT_FORMAT_SHIFT 1 |
Shift bits for component format. More... | |
#define | XDP_MAIN_STREAMX_MISC0_COMPONENT_FORMAT_RGB 0x0 |
Stream's component format is RGB. More... | |
#define | XDP_MAIN_STREAMX_MISC0_COMPONENT_FORMAT_YCBCR422 0x1 |
Stream's component format is YcbCr 4:2:2. More... | |
#define | XDP_MAIN_STREAMX_MISC0_COMPONENT_FORMAT_YCBCR444 0x2 |
Stream's component format is YcbCr 4:4:4. More... | |
DisplayPort Configuration Data: Sink control field. | |
#define | XDP_DPCD_SET_POWER_DP_PWR_VOLTAGE 0x00600 |
DisplayPort Configuration Data: Sideband message buffers. | |
#define | XDP_DPCD_DOWN_REQ 0x01000 |
#define | XDP_DPCD_UP_REP 0x01200 |
#define | XDP_DPCD_DOWN_REP 0x01400 |
#define | XDP_DPCD_UP_REQ 0x01600 |
DisplayPort Extended Configuration Data Registers. | |
#define | XDP_DPCD_EXT_DPCD_REV 0x02200 |
#define | XDP_DPCD_EXT_DPCD_MAX_LINK_RATE 0x02201 |
Register access macro definitions. | |
#define | XDp_In32 Xil_In32 |
#define | XDp_Out32 Xil_Out32 |
#define XDp_GetCoreType | ( | InstancePtr | ) |
This is function determines whether the DisplayPort core, represented by the XDp structure pointed to, is a transmitter (TX) or a receiver (RX).
InstancePtr | is a pointer to the XDp instance. |
Referenced by XDp_CfgInitialize(), XDp_Initialize(), XDp_InterruptHandler(), and XDp_SelfTest().
#define XDP_GUID_NBYTES 16 |
The number of bytes for the global unique ID.
#define XDP_LANE_COUNT_SET_1 0x01 |
Lane count of 1.
Referenced by XDp_IsLaneCountValid().
#define XDP_LANE_COUNT_SET_2 0x02 |
Lane count of 2.
Referenced by XDp_IsLaneCountValid().
#define XDP_LANE_COUNT_SET_4 0x04 |
Lane count of 4.
Referenced by XDp_IsLaneCountValid().
#define XDP_LINK_BW_SET_162GBPS 0x06 |
1.62 Gbps link rate.
Referenced by XDp_IsLinkRateValid().
#define XDP_LINK_BW_SET_270GBPS 0x0A |
2.70 Gbps link rate.
Referenced by XDp_IsLinkRateValid().
#define XDP_LINK_BW_SET_540GBPS 0x14 |
5.40 Gbps link rate.
Referenced by XDp_IsLinkRateValid().
#define XDP_LINK_BW_SET_810GBPS 0x1E |
8.10 Gbps link rate.
Referenced by XDp_IsLinkRateValid().
#define XDP_MAIN_STREAMX_MISC0_BDC_10BPC 0x2 |
10 bits per component.
#define XDP_MAIN_STREAMX_MISC0_BDC_12BPC 0x3 |
12 bits per component.
#define XDP_MAIN_STREAMX_MISC0_BDC_16BPC 0x4 |
16 bits per component.
#define XDP_MAIN_STREAMX_MISC0_BDC_6BPC 0x0 |
6 bits per component.
#define XDP_MAIN_STREAMX_MISC0_BDC_8BPC 0x1 |
8 bits per component.
#define XDP_MAIN_STREAMX_MISC0_BDC_MASK 0x000000E0 |
Bit depth per color component (BDC).
#define XDP_MAIN_STREAMX_MISC0_BDC_SHIFT 5 |
Shift bits for BDC.
#define XDP_MAIN_STREAMX_MISC0_COMPONENT_FORMAT_MASK 0x00000006 |
Component format.
#define XDP_MAIN_STREAMX_MISC0_COMPONENT_FORMAT_RGB 0x0 |
Stream's component format is RGB.
#define XDP_MAIN_STREAMX_MISC0_COMPONENT_FORMAT_SHIFT 1 |
Shift bits for component format.
#define XDP_MAIN_STREAMX_MISC0_COMPONENT_FORMAT_YCBCR422 0x1 |
Stream's component format is YcbCr 4:2:2.
#define XDP_MAIN_STREAMX_MISC0_COMPONENT_FORMAT_YCBCR444 0x2 |
Stream's component format is YcbCr 4:4:4.
#define XDP_MAX_NPORTS 16 |
The maximum number of ports connected to a DisplayPort device.
#define XDp_ReadReg | ( | BaseAddress, | |
RegOffset | |||
) | XDp_In32((BaseAddress) + (RegOffset)) |
This is a low-level function that reads from the specified register.
BaseAddress | is the base address of the device. |
RegOffset | is the register offset to be read from. |
Referenced by Dptx_MstExampleRun(), and Dptx_StartLink().
#define XDP_RX_NUM_I2C_ENTRIES_PER_PORT 3 |
The number of I2C user- defined entries in the I2C map of each port.
#define XDp_TxCfgSetRGB | ( | InstancePtr, | |
Stream | |||
) |
The following functions set the color encoding scheme for a given stream.
InstancePtr | is a pointer to the XDp instance. |
Stream | is the stream number for which to configure the color encoding scheme for. |
#define XDp_WriteReg | ( | BaseAddress, | |
RegOffset, | |||
Data | |||
) | XDp_Out32((BaseAddress) + (RegOffset), (Data)) |
This is a low-level function that writes to the specified register.
BaseAddress | is the base address of the device. |
RegOffset | is the register offset to write to. |
Data | is the 32-bit data to write to the specified register. |
Referenced by Dptx_MstExampleRun().
typedef void(* XDp_IntrHandler)(void *InstancePtr) |
Callback type which represents the handler for interrupts.
InstancePtr | is a pointer to the XDp instance. |
typedef void(* XDp_TimerHandler)(void *InstancePtr, u32 MicroSeconds) |
Callback type which represents a custom timer wait handler.
This is only used for Microblaze since it doesn't have a native sleep function. To avoid dependency on a hardware timer, the default wait functionality is implemented using loop iterations; this isn't too accurate. If a custom timer handler is used, the user may implement their own wait implementation using a hardware timer (see example/) for better accuracy.
InstancePtr | is a pointer to the XDp instance. |
MicroSeconds | is the number of microseconds to be passed to the timer function. |
enum Dp_Rx_HandlerType |
This typedef enumerates the handlers for the the DisplayPort Receiver.
enum XDp_CoreType |
This typedef enumerates the RX and TX modes of operation for the DisplayPort core.
enum XDp_DynamicRange |
This typedef enumerates the dynamic ranges available to the DisplayPort core.
enum XDp_Tx_HandlerType |
This typedef enumerates the handlers for the the DisplayPort Transmitter.
void XDp_CfgInitialize | ( | XDp * | InstancePtr, |
XDp_Config * | ConfigPtr, | ||
UINTPTR | EffectiveAddr | ||
) |
This function retrieves the configuration for this DisplayPort instance and fills in the InstancePtr->Config structure.
InstancePtr | is a pointer to the XDp instance. |
ConfigPtr | is a pointer to the configuration structure that will be used to copy the settings from. |
EffectiveAddr | is the device base address in the virtual memory space. If the address translation is not used, then the physical address is passed. |
References XDp_Config::BaseAddr, XDp::Config, XDp_TxLinkConfig::cr_done_cnt, XDp_TxLinkConfig::cr_done_oldstate, XDp::IsReady, XDp_Tx::LinkConfig, XDp_TxLinkConfig::MaxLaneCount, and XDp_GetCoreType.
Referenced by Dp_SelfTestExample(), and Dptx_SetupExample().
u32 XDp_Initialize | ( | XDp * | InstancePtr | ) |
This function prepares the DisplayPort core for use depending on whether the core is operating in TX or RX mode.
InstancePtr | is a pointer to the XDp instance. |
References XDp::IsReady, and XDp_GetCoreType.
Referenced by Dptx_SetupExample().
void XDp_InterruptHandler | ( | XDp * | InstancePtr | ) |
This function is the interrupt handler for the XDp driver.
When an interrupt happens, this interrupt handler will check which TX/RX mode of operation the core is running in, and will call the appropriate interrupt handler. The called interrupt handler will first detect what kind of interrupt happened, then decides which callback function to invoke.
InstancePtr | is a pointer to the XDp instance. |
References XDp::IsReady, and XDp_GetCoreType.
u8 XDp_IsLaneCountValid | ( | XDp * | InstancePtr, |
u8 | LaneCount | ||
) |
This function checks the validity of the lane count.
InstancePtr | is a pointer to the XDp instance. |
LaneCount | is the number of lanes to check if valid. |
References XDp::Config, XDp_Config::MaxLaneCount, XDP_LANE_COUNT_SET_1, XDP_LANE_COUNT_SET_2, and XDP_LANE_COUNT_SET_4.
u8 XDp_IsLinkRateValid | ( | XDp * | InstancePtr, |
u8 | LinkRate | ||
) |
This function checks the validity of the link rate.
InstancePtr | is a pointer to the XDp instance. |
LinkRate | is the link rate to check if valid. |
References XDp::Config, XDp_Config::MaxLinkRate, XDP_LINK_BW_SET_162GBPS, XDP_LINK_BW_SET_270GBPS, XDP_LINK_BW_SET_540GBPS, and XDP_LINK_BW_SET_810GBPS.
XDp_Config * XDp_LookupConfig | ( | u16 | DeviceId | ) |
This function looks for the device configuration based on the unique device ID.
The table XDp_ConfigTable[] contains the configuration information for each device in the system.
DeviceId | is the unique device ID of the device being looked up. |
Referenced by Dp_SelfTestExample(), and Dptx_SetupExample().
u32 XDp_SelfTest | ( | XDp * | InstancePtr | ) |
This function runs a self-test on the XDp driver/device depending on whether the core is operating in TX or RX mode.
The sanity test checks whether or not all tested registers hold their default reset values.
InstancePtr | is a pointer to the XDp instance. |
References XDp::IsReady, and XDp_GetCoreType.
Referenced by Dp_SelfTestExample().
void XDp_SetUserTimerHandler | ( | XDp * | InstancePtr, |
XDp_TimerHandler | CallbackFunc, | ||
void * | CallbackRef | ||
) |
This function installs a custom delay/sleep function to be used by the XDp driver.
InstancePtr | is a pointer to the XDp instance. |
CallbackFunc | is the address to the callback function. |
CallbackRef | is the user data item (microseconds to delay) that will be passed to the custom sleep/delay function when it is invoked. |
References XDp::UserTimerPtr, and XDp::UserTimerWaitUs.
Referenced by Dptx_TimerExample().
void XDp_WaitUs | ( | XDp * | InstancePtr, |
u32 | MicroSeconds | ||
) |
This function is the delay/sleep function for the XDp driver.
For the Zynq family, there exists native sleep functionality. For MicroBlaze however, there does not exist such functionality. In the MicroBlaze case, the default method for delaying is to use a predetermined amount of loop iterations. This method is prone to inaccuracy and dependent on system configuration; for greater accuracy, the user may supply their own delay/sleep handler, pointed to by InstancePtr->UserTimerWaitUs, which may have better accuracy if a hardware timer is used.
InstancePtr | is a pointer to the XDp instance. |
MicroSeconds | is the number of microseconds to delay/sleep for. |
References XDp::IsReady, and XDp::UserTimerWaitUs.
Referenced by Dptx_MstExampleRun().
u8 GuidTable[16][XDP_GUID_NBYTES] |
This table contains a list of global unique identifiers (GUIDs) that will be issued when exploring the topology using the algorithm in the XDp_TxFindAccessibleDpDevices function.
XDp_Config XDp_ConfigTable[XPAR_XDP_NUM_INSTANCES] |
A table of configuration structures containing the configuration information for each DisplayPort TX core in the system.