zynq: arm: Update devicetree for DRM KMS design

This patch removes the device nodes from ADI design,
and adds the devices nodes for Xilinx Video IPs.
(removed: hdmi_clock, axi_hdmi, modified: axi_vdma,
added: video timing controller, chroma resampler,
color space convertor, zynq drm)

Signed-off-by: hyun woo kwon <hyunk@xilinx.com>
drm: zynq_drm: Add a zynq_drm placeholder

Add ZYNQ_DRM to defconfig. Add zynq drm to Kconfigs, Makefiles
and an empty source code.

Signed-off-by: hyun woo kwon <hyunk@xilinx.com>
drm: zynq_drm: Add a debug message macro

Add a header including a debug message macro, ZYNQ_DEBUG_KMS

Signed-off-by: hyun woo kwon <hyunk@xilinx.com>
drm: zynq_drm: Add a chroma resampler driver

Add a chroma resampler driver with minimal functions

Signed-off-by: hyun woo kwon <hyunk@xilinx.com>
drm: zynq_drm: Add a color space convertor driver

This patch adds a driver rgb2yuv for Xilinx Color Space
Convertor with minimal functions.

Signed-off-by: hyun woo kwon <hyunk@xilinx.com>
drm: zynq_drm: Add a video timing controller driver

Add a driver for Xilinx Video Timing Controller with minimal
functions.

Signed-off-by: hyun woo kwon <hyunk@xilinx.com>
drm: zynq_drm: Add a CRTC driver

This patch adds a driver for the CRTC KMS pipeline stage.
In this stage, sub-drivers are used such as vdma, cresample,
and rgb2yuv. The simplified flow is 1. Read a buffer using
VDMA, 2. Convert remapped RGB pixel data to YUV format using
rgb2yuv, 3. Resample pixel data using cresample

Signed-off-by: hyun woo kwon <hyunk@xilinx.com>
drm: zynq_drm: Add an encoder driver

This patch includes an encoder dirver for ZYNQ KMS.
In this encoder driver, a VTC driver and encoder slave functions
by adv7511 driver are used. In this stage, pixel data is converted
into video stream by timing generated by VTC, and adv7511 transmits
video stream in hdmi protocol.

Signed-off-by: hyun woo kwon <hyunk@xilinx.com>
drm: zynq_drm: Add a connector driver

Add a connector driver which is using encoder slave functions
provided by adv7511 driver. This is pretty much identical to
a connector driver from ADI KMS drivers.

Signed-off-by: hyun woo kwon <hyunk@xilinx.com>
drm: zynq_drm: Add ZYNQ KMS driver

This patch includes the ZYNQ KMS driver which functions
using pipeline drivers(CRTC, encoder, connector).
As explained in each pipeline patch, each driver utilizes
Xilinx Video IPs, and adv7511 to output images on display
hardwares.

Signed-off-by: hyun woo kwon <hyunk@xilinx.com>
drm: i2c: adv7511: Remove compile warnings

Add memset to initialize the object, and this removes warnings
on compile time.

Signed-off-by: hyun woo kwon <hyunk@xilinx.com>
drm: i2c: adv7511: Fix hpd interrupt bug

adv7511 transmitter doesn't generate a hpd inteerupt
after reboot using command line. So connection transition
is not detected correctly which results in kernel panic.
Init flag is added to detect display connection more properly
for the first time. This may be workaround, but no useful
information was found from the adv7511 programming manual.

Signed-off-by: hyun woo kwon <hyunk@xilinx.com>