Figure 11-22 shows a block diagram of the display controller (DISPC) within the display subsystem.
The DISPC includes the following main features:
- Five pipelines for processing:
- One Graphics (GFX):
- Pixel formats: ARGB16-4444, xRGB12-4444, RGBA16-4444, RGBx12-4444, RGB16-565, ARGB16-1555, xRGB16-1555, ARGB32-8888, RGBA32-8888, xRGB32-8888, RGBx32-8888, xRGB24-8888, RGBx24-8888, BGRA32-8888, RGB24-888 (packed), where x means that the corresponding bits in the container are not used
- Premultiplied ARGB and RGBA formats
- Selection of the color depth expansion from ARGB16-4444, RGBA16-4444, and ARGB16-1555 to ARGB32-8888, and from xRGB12-4444, RGBx12-4444, and xRGB16-1555 to xRGB32-8888 (replication of the most significant bits [MSBs] or adding 0s)
- Support for antiflicker on RGB pixel formats using 3-tap filter
- Three Video pipelines (VID1, VID2, and VID3):
- Pixel formats: ARGB16-4444, xRGB12-4444, RGBx12-4444, RGBA12-3333, RGBA16-4444, RGB16-565, ARGB16-1555, xRGB16-1555, ARGB32-8888, RGBA32-8888, xRGB32-8888, RGBx32-8888, RGB24-888, BGRA32-8888, YUV4:2:2-UYVY, YUV4:2:2-YUV2, YUV4:2:0-NV12, and YUV4:2:0-NV21 (where x means that the corresponding bits in the container are not used)
- Premultiplied ARGB and RGBA formats
- Selection of the color depth expansion from ARGB16-4444, RGBA16-4444, and ARGB16-1555 to ARGB32-8888, and from xRGB12-4444, RGBx12-4444, and xRGB16-1555 to xRGB32-8888 (replication of the MSBs or adding 0s)
- Programmable poly-phase filter:
- Independent horizontal and vertical resampling: Upsampling (up to x8) and downsampling (down to 1/4)
- Maximum input width of 1920 pixels
- No limitation on the input height
- Supported input formats are ARGB32-8888, YUV4:2:2-UYVY, YUV4:2:2-YUV2, YUV4:2:0-NV12, and YUV4:2:0-NV21
- Alpha blending factor is rescaled like the R, G, and B color components.
- Programmable color space conversion from YUV4:2:2 (YUV4:4:4, YUV4:2:0 after Chroma upsampling through the scaler) into ARGB32-8888. Images in YUV4:2:2 format with 90- or 270-degree rotation are preprocessed to YUV4:4:4 before the scaler, by duplicating the missing Chroma.
- Programmable VC-1 range mapping
- One write-back (WB) pipeline: Allows the use of the hardware processing available inside the DISPC, such as color space conversion, rescaling, and compositing to perform memory-to-memory transfer with data processing or capturing a displayed frame
- Programmable color space conversion RGB24 into YUV4:4:4 or to YUV4:2:2-UYVY, YUV4:2:2-YUV2, YUV4:2:0-NV12, or YUV4:2:0-NV21 using programmable poly-phase filter
- Programmable color space conversion RGB24 into YUV4:2:2-UYVY, YUV4:2:2-YUV2, YUV4:2:0-NV12, or YUV4:2:0-NV21
- Selection of the color depth reduction from RGB24 to RGB16
- Programmable poly-phase filter:
- Independent horizontal and vertical resampling: Upsampling (up to x8) and downsampling (down to 1/4)
- Maximum input width of 1920 pixels
- No limitation on the input height
- Supported input formats are ARGB32-8888, YUV4:2:2-UYVY, YUV4:2:2-YUV2, YUV4:2:0-NV12, and YUV4:2:0-NV21
- Alpha blending factor is rescaled like the R, G, and B color components.
- Selection of the source of the data:
- Overlay output:
- Primary LCD output
- Secondary LCD output
- Third LCD output
- TV output
- Pipelines:
- Graphic
- Video 1
- Video 2
- Video 3
- Three LCD outputs: primary (LCD1), secondary (LCD2), and tertiary (LCD3):
- Input pixel format: ARGB32-8888
- Output pixel format: RGB24-888 and YUV4:2:2 (YUV4:2:2 only available when BT mode output is enabled)
- Overlay of graphic and video for one to four pipelines
- Source and destination transparency color key
- Global and pixel alpha blending (up to 8-bit blending factor)
- Z-order programmable (full flexibility)
- Displays supported:
- Active matrix color: 12-, 16-, 18-, and 24-bit panel interface support (replicated or dithered encoded pixel values)
- Independent programmable timing generators for LCD1, LCD2, and LCD3 to support:
Using DPI1 interface | SXGA VESA timing @ 60 fps, 1080i/720p @ 60 fps CEA-861-D, UXGA @ 60 fps |
Using DPI2 interface | SXGA VESA timing @ 60 fps, 1080i/720p @ 60 fps CEA-861-D, UXGA @ 60 fps |
Using DPI3 interface | SXGA VESA timing @ 60 fps, 1080i/720p @ 60 fps CEA-861-D, UXGA @ 60 fps |
- Configurable LCD output mode: progressive or interlace mode
- Multiple-cycle output format on 8-, 9-, 12-, and 16-bit interface time division multiplexing (TDM)
- One TV output:
- Input pixel format: ARGB40-10.10.10.10
- Output pixel format: ARGB40-10.10.10.10
- Overlay of graphic and video for one to four pipelines
- Source and destination transparency color key
- Global and pixel alpha blending (up to 10-bit blending factor)
- Z-order programmable (full flexibility)
- Slave mode support (no master mode support) with synchronization signals provided by HDMI TX:
- HSYNC (horizontal synchronization signal)
- VSYNC (vertical synchronization signal)
- RE (data request signal)
- FID (field ID: even and odd field information)
- RGB30-10.10.10 data bus output for connection to HDMI TX and extended to 36 by duplication of the MSBs
- HD-1080p, HD-1080i, HD-720p, SD-480p, SD-576p, SD-576i, and SD-480i using HDMI
- HDMI deep color mode support, 30-bit data output to HDMI encoder
- Pixel duplication capability (from one pixel clock cycle up to eight cycles)
- Panel support with MIPI DPI protocol:
- 12-, 16-, 18-, and 24-bit active matrix panel interface support (replicated or dithered encoded pixel values)
- Common:
- Rotation 0, 90, 180, and 270 degrees using DMM-TILER
- Synchronized buffer update
- Hardware cursor (using the graphics pipeline or one of the video pipelines)
- Independent gamma curve support on LCDs outputs and TV output
- Multiple-buffer support
- Mirroring/flip-flop support (using DMM-TILER)
- Programmable color phase rotation (CPR)
- Alpha blending support:
- Embedded pixel factor (ARGB and RGBA)
- Global alpha
- DMA (internal to the DISPC):
- Support for accessing tiled structure through the TILER inside the dynamic memory management (DMM)
- Support for accessing nontiled structure through the TILER or directly
- Support for rotation, flip-flop, and mirroring through the TILER inside the DMM
- Support for memory fragmentation through the TILER inside the DMM
- Integrated shared buffers between DMA engine and pipelines
- Programmable buffer thresholds
- Bandwidth limiter on write request (insertion on idle cycles between requests)
- Advanced:
- Mode outputting data on display only from the DMA buffer (self-refresh using the DMA FIFO)
- DMA buffer hand-check in stall mode
- Arbitration between high and low priority (GFX, VID1, VID2, VID3, and WB pipelines)
- Power modes:
- Low-power saving modes
- Support on-the-fly dynamic voltage and frequency scaling (DVFS)
- Merge capability of the DMA buffers to support greater OFF period on the L3_MAIN interconnect
- All buffers associated to a single pipeline
- Reallocation of the buffers of the nonactive pipelines to the active pipelines