drm: xilinx: Add a Chroma Resampler driver

Add a chroma resampler driver as a sub-driver of Xilinx DRM KMS dirver.
This IP provides the chroma sub-sampling between YCrCb formats
(4:4:4, 4:2:2, and 4:2:0).

Signed-off-by: Hyun Kwon <hyunk@xilinx.com>
drm: xilinx: Add an On Screen Display(OSD) Driver

This patch adds an OSD driver. The OSD supports alpha blending and
compositing, and such features enables the muti-plane rendering of
the display pipelines.

Signed-off-by: Hyun Kwon <hyunk@xilinx.com>
drm: xilinx: Add a RGB to YCrCb(RGB2YUV) converter driver

This patch adds a driver for RGB to YCrCb IP. This IP provides
the color space conversion from RGB to YUV formats.

Signed-off-by: Hyun Kwon <hyunk@xilinx.com>
drm: xilinx: Add a Video Timing Controller(VTC) driver

This patch adds a Video Timing Controller driver. This IP provides
the video timings such as active, sync,, to video IPs.
The clock source for such as si570 should be connected to this IP.

Signed-off-by: Hyun Kwon <hyunk@xilinx.com>
drm: xilinx: Add a plane support

This patch adds a plane support of Xilinx DRM KMS driver.
This enables the multi-plane rendering support of the hardware pipeline.
To enable multi-plane support, the hardware composer such as OSD should be
configured properly in the hardware pipeline, and additional dma IPs may
be needed. Otherwise, only the single plane is available,
and a single plane is not exposed to user.

For current implementation, this patch depends on VDMA through dmaengine API,
and an osd sub-driver(xilinx_osd.c/h).

Signed-off-by: Hyun Kwon <hyunk@xilinx.com>
drm: xilinx: Add a connector support

This patch adds a connector support of Xilinx DRM KMS.
For now, adv7511 HDMI transmitter is the only hardware that manages
connections with display devices, and this patch has dependency on adv7511
drm driver.

Signed-off-by: Hyun Kwon <hyunk@xilinx.com>
drm: xilinx: Add an encoder support

This patch adds an encoder support of Xilinx DRM KMS. The encoder is
supposed to be in charge of encoding the pixel data in certain video formats.
For now, adv7511 HDMI transmitter is the only hardware used for
Xilinx DRM KMS, and this patch has some dependency on adv7511 drm driver.

Signed-off-by: Hyun Kwon <hyunk@xilinx.com>
drm: xilinx: Add a crtc support

The crtc is supposed to read a pixel data from framebuffers, and
propagates data to the encoders. It also provides some event such as
vblank/pageflip. In this implementation, this patches manages
cresample, rgb2yuv, and vtc, and a crtc gets a one private plane to use.

Signed-off-by: Hyun Kwon <hyunk@xilinx.com>
drm: xilinx: Add a Xilinx DRM KMS driver

This patch adds a Xilixn DRM driver which uses Xilinx crtc/encoder/connector
supports. This patch completes the DRM KMS framework interfaces with
Xilinx DRM driver specific functions / other helper functions(CMA).

Now CMA helper functions are used to allocate framebuffers,
and CONFIG_CMA_SIZE_MBYTES must be configured properly to ensure
the enough amount of configure memory for framebuffers.

Signed-off-by: Hyun Kwon <hyunk@xilinx.com>
drm: xilinx: Add a Xilinx DRM KMS driver to Makefile/Kconfig

Enable and Add a Xilinx DRM KMS driver to Makefile/Kconfig.

Signed-off-by: Hyun Kwon <hyunk@xilinx.com>