Table of Contents
This page gives overview of Zynq DisplayPort Subsystem which available as part of the Xilinx Vivado and SDK distribution.
The Subsystem is divided into 3 drivers
- dppsu - DisplayPort Controller
- avbuf - Video Pipeline interface to PL and Memory
- dpdma - DispayPort DMA for reading audio video from the memory
The following features are supported:
- DisplayPort v1.2a
- 1 or 2 lanes main link.
- 1.62G/2.7G/5.4G Line rates.
- Source only controller.
- Support Video resolution up to 4kx2k @ 30 Hz
- APB interface for register access.
- Direct 'live' video input from the PL in the form of native video.
- Direct 'live' audio input from the PL in AXIS Format. (Only 2-channel audio support)
- Support for 44.1kHz and 48kHz audio
- Supports alpha blending of 2 video/graphics sources (one live and one nonlive, or 2 nonlive sources)
- Support mixing of 2 audio sources. (16-bit audio from non-live source and 24-bit audio from live-source)
- Supports alpha value embedded in graphics data or global alpha from a register
- Provides a free running System Time Clock (STC) counter at 27MHz
- Provides STC timestamps for A/V presentation units.
- Provide STC timestamps for external events from the PL.
- Supports video formats including Y-only, RGB, YCbCr, 4:4:4, 4:2:2 and 4:2:0(from buffers). On display, supports Y-only, RGB, YUV 444, and 422 (no 420 support)
- Supports xvYCC display.
- Supports AUX channel and Hot Plug Detect (HPD).
- Supports live video/live graphics at 6, 8, 10 & 12 bits per color.
- Supports Video formats including Y-only, RGB, YUV 444 and YUV 422 on live video and graphics
- Supports 256-color palette translation for frame-buffer data. Palette data can be RGB or YUV. When YUV, it has to write in the order: Cr Y Cb
- Support frame buffer formats, including 1,2,4,8,16,24, and 32 bits per pixel.
- Provides test pattern generator as replacement to one of the 2 rendering sources on stream1.
- Provides the blended video/audio to the PL via native video output or streaming AXI.
- Provides chroma upsampling and colorspace conversion prior to alpha blending.
- Provides colorspace conversion and chroma subsampling after alpha blending.
- Supports background color.
- Support full screen display. (No support for up/down-scaling)
- Supports partial video overlay over graphics.
- Supports interleaved frame buffer formats.
- Supports planar Y and Cb and Cr frame buffers
Known issues and limitations
The driver supports all the features except
1. Chroma Keying
Use case - Memory based data path (non-live)
The example in the DPDMA driver demonstrates the usage of the non-live(memory) data path. To enable this driver, dppsu should be selected under psu_dp and dpdma should be selected under psu_dpdma in the system.mss file.
Use case - PL to DP data path
To test this use case, psu_dp needs to be selected to dppsu and in the avbuf api will enable the access to the PL. Refer DPDMA example for the usage of the API.
Use case - PL to PL data path
To test this use case, psu_dp needs to be selected to avbuf.
Use case - Memory to PL data path
To test this use case, psu_dp needs to be selected to avbuf and the
- avbuf - fixed RGB565 scaling factors
- avbuf - PLL offset handling to fix the clock offset
- dpdma - Fixed the compilation issue in the examples.