For the DC interface, there are two modes: DC bypass mode and DC function mode.
In DC bypass mode the signal feeds from PL to DP directly. The Display Port format is 16-bit MSB aligned, while the PL interface is 12-bit MSB aligned and the 4 LSB bits need to be tied off to zero. Pixel sequence is the same at both Display Port and PL interface and no interconnect logic is needed.
In DC function mode, the DP takes data from the the DC. PL data is fed to the DC after downsizer. The PL interface sequence is similar to the dual Pixel Mode Sequence in DC bypass mode. After downsizer at the DC input, the sequence is similar to the single pixel mode sequence in bypass mode.
Video, audio, and SDP have sperate bypass control. DP can take up to a 4 stream input. S0-S3 is used in the description. Inside each stream there is single, dual, and quad pixel mode. p0-p3 is used to describe these signals.
Refer to the following figure for the DC top-level block diagram in bypass mode:
The core TX-DC operates on a single stream. The MUX module between the TX-DC and the DP shall do the necessary multiplexing in bypass mode and interface into the DP. The TX-DC supports a processing pipeline for video streams up to 4Kp60 resolution. It also supports a bypass path, where up to 4 streams can be exposed to the DP. The bypass path completely bypasses the TX-DC and does not use any of the features. Static MUXES at the output shall be used to choose between the bypass path versus the processing path.
In the normal mode operation, the DC can operate with both input video streams from the PL, from memory or from a mix of PL and memory. When fetching video from the PL, the PL shall output two pixels @ 300 MHz. This will be up-sized to one pixel @ 600 MHz before going through the DC pipeline.
When fetching from memory, the DC requires approximately 4GBps of bandwidth. Operating at the PS clock (750 MHz to 1000 MHz) @ 128-bit AXI interface to memory, DC has enough allocated bandwidth. As stated before, DC fetches multiple lines of video and processes at the rate of 1 pixel @ 600 MHz. In this mode, the DP shall operate at single pixel rate @ 600 MHz.
In the bypass mode operation, the DC is completely bypassed. The only input source in this operation is the PL. The PL shall perform the necessary video/audio processing and directly interface into the DP. In this mode, the PL shall present the pixels up to a rate of 4 pixels @ 300 MHz per video plane. This makes a 1.2 GHz pixel rate needed for 8Kp30 operation. The DP shall also operate at a quad-pixel rate @ 300 MHz.
Besides the operating modes, the Display Controller also supports different presentation modes: live presentation mode, non-live presentation mode, and mixed mode.
Live Presentation Mode
In live presentation mode, A/V data is received via the streaming interface from the PL. The PL video timing must be consistent with the video timing generator. In live presentation mode, the audio/video timing parameters are generated by the PL and must be identical for both video planes.
Non-Live Presentation Mode
In non-live presentation mode, A/V data is fetched from memory through the AXI master port using the local DMA controller (DPDMA). Because the data is not timed, A/V timing is locally generated in the DisplayPort controller using the internal A/V timing generator. The DPDMA is driven to fetch data so as to ensure continuous A/V data flow with no underflow due to memory latency fluctuations (a suitably sized FIFO is included). Two non-live inputs are supported: video and graphics, which can be mixed together using alpha blending or chroma keying.
To assist in A/V synchronization, the A/V presentation time must be captured as a timestamp relative to a system time clock, and associated with A/V presentation units (for example, video frames and audio buffers), and provided to software, for example, by storing the timestamp in the DMA descriptor or a local FIFO/SRAM).
Mixed Presentation Mode
In mixed presentation mode, both live A/V and non-live A/V data is blended/mixed together and presented using the live A/V timing. The internal video/graphics alpha blender is used to blend the two video streams. The resolution of the video/graphics frames going to the mixer must be the same. Blending in this mode can be done with different video formats.