linux/drivers/gpu/drm/sti/NOTES

1. stiH display hardware IP
---------------------------
The STMicroelectronics stiH SoCs use a common chain of HW display IP blocks:
- The High Quality Video Display Processor (HQVDP) gets video frames from a
  video decoder and does high quality video processing, including scaling.

- The Compositor is a multiplane, dual-mixer (Main & Aux) digital processor. It
  has several inputs:
  - The graphics planes are internally processed by the Generic Display
    Pipeline (GDP).
  - The video plug (VID) connects to the HQVDP output.
  - The cursor handles ... a cursor.
- The TV OUT pre-formats (convert, clip, round) the compositor output data
- The HDMI / DVO / HD Analog / SD analog IP builds the video signals
  - DVO (Digital Video Output) handles a 24bits parallel signal
  - The HD analog signal is typically driven by a YCbCr cable, supporting up to
    1080i mode.
  - The SD analog signal is typically used for legacy TV
- The VTG (Video Timing Generators) build Vsync signals used by the other HW IP
Note that some stiH drivers support only a subset of thee HW IP.

                  .-------------.   .-----------.   .-----------.
GPU >-------------+GDP     Main |   |           +---+    HDMI   +--> HDMI
GPU >-------------+GDP     mixer+---+           |   :===========:
GPU >-------------+Cursor       |   |           +---+    DVO    +--> 24b//
        -------   |  COMPOSITOR |   |  TV OUT   |   :===========:
       |       |  |             |   |           +---+ HD analog +--> YCbCr
Vid >--+ HQVDP +--+VID     Aux  +---+           |   :===========:
dec    |       |  |        mixer|   |           +---+ SD analog +--> CVBS
       '-------'  '-------------'   '-----------'   '-----------'
                   .-----------.
                   |       main+--> Vsync
                   | VTG       |
                   |        aux+--> Vsync
                   '-----------'

2. DRM / HW mapping
-------------------
These IP are mapped to the DRM objects as following:
- The CRTCs are mapped to the Compositor Main and Aux Mixers
- The Framebuffers and planes are mapped to the Compositor GDP (non video
  buffers) and to HQVDP+VID (video buffers)
- The Cursor is mapped to the Compositor Cursor
- The Encoders are mapped to the TVOut
- The Bridges/Connectors are mapped to the HDMI / DVO / HD Analog / SD analog

FB & planes         Cursor      CRTC     Encoders    Bridges/Connectors
   |                   |          |         |                       |
   |                   |          |         |                       |
   |              .-------------. | .-----------.   .-----------.   |
   +------------> |GDP |   Main | | |       +-> |   |    HDMI   | <-+
   +------------> |GDP v   mixer|<+ |       |   |   :===========:   |
   |              |Cursor       | | |       +-> |   |    DVO    | <-+
   |    -------   |  COMPOSITOR | | |TV OUT |   |   :===========:   |
   |   |       |  |             | | |       +-> |   | HD analog | <-+
   +-> | HQVDP |  |VID     Aux  |<+ |       |   |   :===========:   |
       |       |  |        mixer|   |       +-> |   | SD analog | <-+
       '-------'  '-------------'   '-----------'   '-----------'