dp14txss
Vitis Drivers API Documentation
|
This file contains a design example using the XDpTxSs driver in single stream (SST) transport or multi-stream transport (MST) mode with interrupts.
Upon Hot-Plug-Detect (HPD - DisplayPort cable is plugged/unplugged or the monitor is turned on/off), DisplayPort TX Subsystem will read the capability of RX device and re-start the subsystem.
MODIFICATION HISTORY:
Ver Who Date Changes
1.00 sha 07/01/15 Initial release. 2.00 sha 09/28/15 Added HDCP, Timer Counter interrupt handier registration. Added set MSA callback. 4.1 ms 01/23/17 Modified xil_printf statement in main function to ensure that "Successfully ran" and "Failed" strings are available in all examples. This is a fix for CR-965028.
Functions | |
u32 | DpTxSs_IntrExample (u16 DeviceId) |
This function is the main entry point for the interrupt example using the XDpTxSs driver. More... | |
u32 | DpTxSs_PlatformInit (void) |
This function initialize required platform-specifc peripherals. More... | |
u32 | DpTxSs_StreamSrc (u8 VerticalSplit) |
This function setup stream source to input DisplayPort TX Subsystem. More... | |
u32 | DpTxSs_SetupIntrSystem (void) |
This function sets up the interrupt system so interrupts can occur for the DisplayPort TX Subsystem core. More... | |
void | DpTxSs_HpdEventHandler (void *InstancePtr) |
This function is called when a Hot-Plug-Detect (HPD) event is received by the DisplayPort TX Subsystem core. More... | |
void | DpTxSs_HpdPulseHandler (void *InstancePtr) |
This function is called when a Hot-Plug-Detect (HPD) pulse is received by the DisplayPort TX Subsystem core. More... | |
void | DpTxSs_LaneCountChangeHandler (void *InstancePtr) |
This function is called when the lane count change interrupt occurs. More... | |
void | DpTxSs_LinkRateChangeHandler (void *InstancePtr) |
This function is called when the link rate change interrupt occurs. More... | |
void | DpTxSs_PeVsAdjustHandler (void *InstancePtr) |
This function is called when the pre-emphasis and voltage swing adjustment interrupt occurs. More... | |
void | DpTxSs_MsaHandler (void *InstancePtr) |
This callback is called when RX MSA values to be copied into TX MSA. More... | |
int | main () |
This is the main function for XDpTxSs interrupt example. More... | |
Variables | |
XDpTxSs | DpTxSsInst |
void DpTxSs_HpdEventHandler | ( | void * | InstancePtr | ) |
This function is called when a Hot-Plug-Detect (HPD) event is received by the DisplayPort TX Subsystem core.
InstancePtr | is a pointer to the XDpTxSs instance. |
References XDpTxSs::Config, XDpTxSs::DpPtr, XDpTxSs_Config::MstSupport, XDPTXSS_INTERRUPT_MASK, XDPTXSS_INTERRUPT_MASK_HPD_EVENT_MASK, XDPTXSS_INTERRUPT_MASK_HPD_PULSE_DETECTED_MASK, XDpTxSs_IsConnected(), XDpTxSs_IsMstCapable(), XDpTxSs_ReadReg, and XDpTxSs_WriteReg.
void DpTxSs_HpdPulseHandler | ( | void * | InstancePtr | ) |
This function is called when a Hot-Plug-Detect (HPD) pulse is received by the DisplayPort TX Subsystem core.
InstancePtr | is a pointer to the XDpTxSs instance. |
References XDpTxSs_UsrOpt::MstSupport, and XDpTxSs::UsrOpt.
u32 DpTxSs_IntrExample | ( | u16 | DeviceId | ) |
This function is the main entry point for the interrupt example using the XDpTxSs driver.
This function will set up the system with interrupts and set up Hot-Plug-Event (HPD) handlers.
DeviceId | is the unique device ID of the DisplayPort TX Subsystem core. |
References XDpTxSs_Config::BaseAddress, DpTxSs_PlatformInit(), DpTxSs_SetupIntrSystem(), XDpTxSs_UsrOpt::MstSupport, XDpTxSs::UsrOpt, XDpTxSs_CfgInitialize(), and XDpTxSs_LookupConfig().
Referenced by main().
void DpTxSs_LaneCountChangeHandler | ( | void * | InstancePtr | ) |
This function is called when the lane count change interrupt occurs.
InstancePtr | is a pointer to the XDpTxSs instance. |
void DpTxSs_LinkRateChangeHandler | ( | void * | InstancePtr | ) |
This function is called when the link rate change interrupt occurs.
InstancePtr | is a pointer to the XDpTxSs instance. |
void DpTxSs_MsaHandler | ( | void * | InstancePtr | ) |
This callback is called when RX MSA values to be copied into TX MSA.
InstancePtr | is a pointer to the XDpTxSs instance. |
void DpTxSs_PeVsAdjustHandler | ( | void * | InstancePtr | ) |
This function is called when the pre-emphasis and voltage swing adjustment interrupt occurs.
InstancePtr | is a pointer to the XDpTxSs instance. |
u32 DpTxSs_PlatformInit | ( | void | ) |
This function initialize required platform-specifc peripherals.
None. |
u32 DpTxSs_SetupIntrSystem | ( | void | ) |
This function sets up the interrupt system so interrupts can occur for the DisplayPort TX Subsystem core.
The function is application-specific since the actual system may or may not have an interrupt controller. The DPTX Subsystem core could be directly connected to a processor without an interrupt controller. The user should modify this function to fit the application.
None |
References DpPt_CustomWaitUs(), DpPt_HpdEventHandler(), DpPt_HpdPulseHandler(), DpPt_LinkrateChgHandler(), XDpTxSs_DpIntrHandler(), XDPTXSS_HANDLER_DP_HPD_EVENT, XDPTXSS_HANDLER_DP_HPD_PULSE, XDPTXSS_HANDLER_DP_LINK_RATE_CHG, XDpTxSs_SetCallBack(), and XDpTxSs_SetUserTimerHandler().
Referenced by DpTxSs_IntrExample().
u32 DpTxSs_StreamSrc | ( | u8 | VerticalSplit | ) |
This function setup stream source to input DisplayPort TX Subsystem.
VerticalSplit | specifies whether to split video frame vertically into two different vertical halves.
|
int main | ( | void | ) |
This is the main function for XDpTxSs interrupt example.
If the DpTxSs_IntrExample function which sets up the system succeeds, this function will wait for the interrupts. Once a connection event or pulse is detected, DpTxSs will RX device capabilities and re-start the subsystem.
None. |
References DpTxSs_IntrExample().
XDpTxSs DpTxSsInst |
MODIFICATION HISTORY:
Ver Who Date Changes
1.00 Nishant 19/12/20 Added support for vck190.Added ReadModifyWrite() for writing to vck190 register space.set_vphy() renamed to config_phy() and has two parameters for linerate and lanecount.