dp14txss: xdptxss_debug_example.c File Reference

| dp14txss Xilinx SDK Drivers API Documentation

- Overview
- Data Structures
- APIs
- File List

Functions
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. 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...
void | DpTxSs_ReportEdidInfo (XDpTxSs *InstancePtr)
| This function prints EDID info of RX device. More...
u32 | DpTxSs_EdidDecodeBase (u8 *EdidRaw)
| This function decodes and prints EDID header and tag information. More...
void | DpTxSs_EdidBaseVPId (u8 *EdidRaw)
| This function prints RX device identification data. More...
void | DpTxSs_EdidBaseVerRev (u8 *EdidRaw)
| This function prints structure version and revision of RX EDID. More...
void | DpTxSs_EdidBaseBasicDisp (u8 *EdidRaw)
| This function prints basic display information of RX device. More...
void | DpTxSs_EdidColorChar (u8 *EdidRaw)
| This function prints color characteristics of RX device. More...
void | DpTxSs_EdidEstTimings (u8 *EdidRaw)
| This function prints supported timings by the RX device. More...
void | DpTxSs_EdidStdTimings (u8 *EdidRaw)
| This function prints standard timings of RX device. More...
void | DpTxSs_EdidPtm (u8 *EdidRaw)
| This function prints preferred timing values of RX device. More...
u8 | DpTxSs_EdidCalculateChecksum (u8 *Data, u8 Size)
| This function calculates the EDID checksum. More...
void | DpTxSs_PrintEdid (u8 *EdidRaw)
| This function prints 128 byte content from EDID. More...
int | main ()
| This is the main function for XDpTxSs SST/MST example. More...

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

  DeviceId | is 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

  EdidRaw | is 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

  EdidRaw | is 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

  EdidRaw | is 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

  Data | is a pointer to u8 variable that will be used to retrive data.
  Size | specifies 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

  EdidRaw | is 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

  EdidRaw | is 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

  EdidRaw | is 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

  EdidRaw | is 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

  EdidRaw | is 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

  EdidRaw | is 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 | ) |

This function prints EDID info of RX device.

Parameters

  InstancePtr | is a pointer to the XDpTxSs core instance.

Returns
  None.

Note
  None.

References XDpTxSs::DpPtr, DpTxSs_EdidDecodeBase(), DpTxSs_PrintEdid(), XDpTxSs_UsrOpt::MstSupport, XDpTxSs::UsrOpt, XDpTxSs_GetEdid(), XDpTxSs_GetRemoteEdid(), XDPTXSS_INTERRUPT_MASK, XDPTXSS_INTERRUPT_MASK_HPD_EVENT_MASK, XDPTXSS_INTERRUPT_MASK_HPD_PULSE_DETECTED_MASK, XDpTxSs_ReadReg, and XDpTxSs_WriteReg.

Referenced by DpTxSs_DebugExample().

u32 DpTxSs_StreamSrc | ( | u8 | VerticalSplit | ) |

This function setup stream source to input DisplayPort TX Subsystem.

Parameters

  VerticalSplit | specifies 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().