dp12: xdp_rx_sst_dp159_example.c File Reference

| dp12 Xilinx SDK Drivers API Documentation

- Overview
- Data Structures
- APIs
- File List
- Examples

Functions
xdp_rx_sst_dp159_example.c File Reference

## Overview

Contains a design example using the XDp driver for an DP RX core generated with SST-only functionality.

This example runs the programming sequence for the DP159 retimer. An I2C controller will need to exist in the design have a connection to the DP159. A user-defined hook is used for delay. The reasoning behind this is that MicroBlaze sleep is not very accurate without a hardware timer. For systems that have a hardware timer, the user may override the default MicroBlaze sleep with a function that will use the hardware timer. Also, this example sets up the interrupt controller and defines handlers for various interrupt types. In this way, the RX interrupt handler will arbitrate the different interrupts to their respective interrupt handlers defined in this example. This example will print out the detected resolution of the incoming DisplayPort video stream. This example is meant to take in the incoming DisplayPort video stream and pass it through using the Dprd_Vidpipe* functions which are left for the user to implement.

Note
  This example requires an AXI timer in the system.
  For this example to work, the user will need to implement initialization of the system (Dprx_PlatformInit) as this is system-specific.
  For this example to display output, the user will need to implement the Dprx_Vidpipe* functions which configure and reset the video pipeline as required as this is system-specific.
  In the presence of a DP159 retimer, an I2C controller needs to exist in the design to program it. Depending on how the DP159 connection exists, the user will need to implement Dprx_Dp159Reset function.

    MODIFICATION HISTORY:

    Ver   Who  Date     Changes

    1.0   als  01/20/15 Initial creation.
    2.0   als  07/07/15 Added DP159 programming.
    4.0   als  02/07/16 Added end of line reset for reduced blanking.
    5.1   ms   01/23/17 Added 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 | Dprx_SstExample (XDp *InstancePtr, u16 DeviceId, INTC *IntcPtr, u16 IntrId, u16 DpIntrId, XTmrCtr *TimerCounterPtr, u16 TimerId)
| The main entry point for the interrupt with timer example using the XDp driver. More...
int | main (void)
| This function is the main function of the XDp (operating in RX mode) interrupt with timer example. More...

## Function Documentation

u32 Dprx_SstExample | ( | XDp * | InstancePtr,
|  | u16 | DeviceId,
|  | INTC * | IntcPtr,
|  | u16 | IntrId,
|  | u16 | DpIntrId,
|  | XTmrCtr * | TimerCounterPtr,
|  | u16 | TimerId
| ) |  |

The main entry point for the interrupt with timer example using the XDp driver.

This function will set up the system, interrupt controller and interrupt handlers, and the custom sleep handler.

Parameters

  InstancePtr | is a pointer to the XDp instance.
  DeviceId | is the unique device ID of the DisplayPort RX core instance.
  IntcPtr | is a pointer to the interrupt instance.
  IntrId | is the unique device ID of the interrupt controller.
  DpIntrId | is the interrupt ID of the DisplayPort RX connection to the interrupt controller.
  TimerCounterPtr | is a pointer to the timer instance.
  TimerId | is the ID of the timer controller to use for delays.

Returns
  - XST_SUCCESS if the system was set up correctly and link training was successful.
  - XST_FAILURE otherwise.

Note
  None.

Referenced by main().

int main | ( | void |  | ) |

This function is the main function of the XDp (operating in RX mode) interrupt with timer example.

If the Dprx_SstExample function, which sets up the system succeeds, this function will wait for interrupts.

Parameters

  None. |

Returns
  - XST_FAILURE if the interrupt example was unsuccessful - system setup failed.

Note
  Unless setup failed, main will never return since Dprx_SstExample is blocking.

References Dprx_SstExample().