dp14txss
Xilinx Vitis Drivers API Documentation
xdptxss_debug_example.c File Reference

Overview

This file contains a design example using the XDpTxSs driver in single stream (SST) transport or multi-stream transport (MST) mode and provides DisplayPort Subsystem debug information at runtime.

Note
For this example to display output, the user need to implement initialization of the system (DpTxSs_PlatformInit) and after DisplayPort TX subsystem start (XDpTxSs_Start) is complete, implement configuration of the video stream source in order to provide the DisplayPort TX Subsystem HIP input. The functions DpTxSs_PlatformInit and DpTxSs_StreamSrc are declared and are left up to the user implement.
MODIFICATION HISTORY:
Ver  Who Date     Changes


1.00 sha 07/01/15 Initial release. 2.00 sha 09/28/15 Added HDCP debug info function call. 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_DebugExample (u16 DeviceId)
 This function is the main entry point for the debug example using the XDpTxSs driver.
 
u32 DpTxSs_PlatformInit (void)
 This function initialize required platform-specifc peripherals.
 
u32 DpTxSs_StreamSrc (u8 VerticalSplit)
 This function setup stream source to input DisplayPort TX Subsystem.
 
void DpTxSs_ReportEdidInfo (XDpTxSs *InstancePtr)
 This function prints EDID info of RX device.
 
u32 DpTxSs_EdidDecodeBase (u8 *EdidRaw)
 This function decodes and prints EDID header and tag information.
 
void DpTxSs_EdidBaseVPId (u8 *EdidRaw)
 This function prints RX device identification data.
 
void DpTxSs_EdidBaseVerRev (u8 *EdidRaw)
 This function prints structure version and revision of RX EDID.
 
void DpTxSs_EdidBaseBasicDisp (u8 *EdidRaw)
 This function prints basic display information of RX device.
 
void DpTxSs_EdidColorChar (u8 *EdidRaw)
 This function prints color characteristics of RX device.
 
void DpTxSs_EdidEstTimings (u8 *EdidRaw)
 This function prints supported timings by the RX device.
 
void DpTxSs_EdidStdTimings (u8 *EdidRaw)
 This function prints standard timings of RX device.
 
void DpTxSs_EdidPtm (u8 *EdidRaw)
 This function prints preferred timing values of RX device.
 
u8 DpTxSs_EdidCalculateChecksum (u8 *Data, u8 Size)
 This function calculates the EDID checksum.
 
void DpTxSs_PrintEdid (u8 *EdidRaw)
 This function prints 128 byte content from EDID.
 
int main ()
 This is the main function for XDpTxSs SST/MST example.
 

Function Documentation

u32 DpTxSs_DebugExample ( u16  DeviceId)

This function is the main entry point for the debug example using the XDpTxSs driver.

This function will print values set during DisplayPort TX Subsystem set up to work in MST/SST based upon RX device capabilities.

Parameters
DeviceIdis the unique device ID of the DisplayPort TX Subsystem core.
Returns
  • XST_SUCCESS if DisplayPort TX Subsystem prints debug information successfully.
  • XST_FAILURE, otherwise.
Note
None.

References XDpTxSs_Config::BaseAddress, DpTxSs_PlatformInit(), DpTxSs_ReportEdidInfo(), DpTxSs_StreamSrc(), XDpTxSs_UsrOpt::MstSupport, XDpTxSs::UsrOpt, XDpTxSs_UsrOpt::VmId, XDpTxSs_CfgInitialize(), XDpTxSs_GetRxCapabilities(), XDpTxSs_IsMstCapable(), XDpTxSs_LookupConfig(), XDpTxSs_ReportCoreInfo(), XDpTxSs_ReportHdcpInfo(), XDpTxSs_ReportLinkInfo(), XDpTxSs_ReportMsaInfo(), XDpTxSs_ReportSinkCapInfo(), XDpTxSs_ReportSplitterInfo(), XDpTxSs_ReportVtcInfo(), XDpTxSs_SetBpc(), XDpTxSs_SetLaneCount(), XDpTxSs_SetLinkRate(), XDpTxSs_SetTransportMode(), XDpTxSs_SetVidMode(), and XDpTxSs_Start().

Referenced by main().

void DpTxSs_EdidBaseBasicDisp ( u8 *  EdidRaw)

This function prints basic display information of RX device.

Parameters
EdidRawis a pointer to u8 variable that will be used for parsing EDID blocks.
Returns
None.
Note
None.

Referenced by DpTxSs_EdidDecodeBase().

void DpTxSs_EdidBaseVerRev ( u8 *  EdidRaw)

This function prints structure version and revision of RX EDID.

Parameters
EdidRawis a pointer to u8 variable that will be used for parsing EDID blocks.
Returns
None.
Note
None.

Referenced by DpTxSs_EdidDecodeBase().

void DpTxSs_EdidBaseVPId ( u8 *  EdidRaw)

This function prints RX device identification data.

Parameters
EdidRawis a pointer to u8 variable that will be used for parsing EDID blocks.
Returns
None.
Note
None.

Referenced by DpTxSs_EdidDecodeBase().

u8 DpTxSs_EdidCalculateChecksum ( u8 *  Data,
u8  Size 
)

This function calculates the EDID checksum.

Parameters
Datais a pointer to u8 variable that will be used to retrive data.
Sizespecifies the number of bytes.
Returns
Calculated checksum.
Note
None.

Referenced by DpTxSs_EdidDecodeBase().

void DpTxSs_EdidColorChar ( u8 *  EdidRaw)

This function prints color characteristics of RX device.

Parameters
EdidRawis a pointer to u8 variable that will be used for parsing EDID blocks.
Returns
None.
Note
None.

Referenced by DpTxSs_EdidDecodeBase().

u32 DpTxSs_EdidDecodeBase ( u8 *  EdidRaw)

This function decodes and prints EDID header and tag information.

Parameters
EdidRawis a pointer to u8 variable that will be used for parsing EDID blocks.
Returns
  • XST_SUCCESS, if EDID blocks parsed successfully.
Note
None.

References DpTxSs_EdidBaseBasicDisp(), DpTxSs_EdidBaseVerRev(), DpTxSs_EdidBaseVPId(), DpTxSs_EdidCalculateChecksum(), DpTxSs_EdidColorChar(), DpTxSs_EdidEstTimings(), DpTxSs_EdidPtm(), and DpTxSs_EdidStdTimings().

Referenced by DpTxSs_ReportEdidInfo().

void DpTxSs_EdidEstTimings ( u8 *  EdidRaw)

This function prints supported timings by the RX device.

Parameters
EdidRawis a pointer to u8 variable that will be used for parsing EDID blocks.
Returns
None.
Note
None.

Referenced by DpTxSs_EdidDecodeBase().

void DpTxSs_EdidPtm ( u8 *  EdidRaw)

This function prints preferred timing values of RX device.

Parameters
EdidRawis a pointer to u8 variable that will be used for parsing EDID blocks.
Returns
None.
Note
None.

Referenced by DpTxSs_EdidDecodeBase().

void DpTxSs_EdidStdTimings ( u8 *  EdidRaw)

This function prints standard timings of RX device.

Parameters
EdidRawis a pointer to u8 variable that will be used for parsing EDID blocks.
Returns
None.
Note
None.

Referenced by DpTxSs_EdidDecodeBase().

u32 DpTxSs_PlatformInit ( void  )

This function initialize required platform-specifc peripherals.

Parameters
None.
Returns
  • XST_SUCCESS if required peripherals are initialized and configured successfully.
  • XST_FAILURE, otherwise.
Note
None.

Referenced by DpTxSs_DebugExample(), DpTxSs_HdcpExample(), DpTxSs_IntrExample(), and DpTxSs_MstExample().

void DpTxSs_PrintEdid ( u8 *  EdidRaw)

This function prints 128 byte content from EDID.

Parameters
EdidRawis a pointer to u8 variable that will be used for parsing EDID blocks.
Returns
None.
Note
None.

Referenced by DpTxSs_ReportEdidInfo().

void DpTxSs_ReportEdidInfo ( XDpTxSs InstancePtr)
u32 DpTxSs_StreamSrc ( u8  VerticalSplit)

This function setup stream source to input DisplayPort TX Subsystem.

Parameters
VerticalSplitspecifies whether to split video frame vertically into two different vertical halves.
  • 1 = Vertically split input frame
  • 0 = No vertically split input frame.
Returns
  • XST_SUCCESS if stream source is configured successfully.
  • XST_FAILURE, otherwise.
Note
None.

Referenced by DpTxSs_DebugExample(), DpTxSs_HdcpExample(), and DpTxSs_MstExample().

int main ( void  )

This is the main function for XDpTxSs SST/MST example.

Parameters
None.
Returns
  • XST_SUCCESS if the MST/SST example passed.
  • XST_FAILURE if the MST/SST example was unsuccessful.
Note
None.

References DpTxSs_DebugExample().