drm/meson: Add YUV420 output support
authorNeil Armstrong <narmstrong@baylibre.com>
Wed, 4 Mar 2020 10:40:52 +0000 (11:40 +0100)
committerNeil Armstrong <narmstrong@baylibre.com>
Tue, 10 Mar 2020 09:51:24 +0000 (10:51 +0100)
commit8496a2172d7cd25d1baa734b756cbee4574d4652
tree3e8dd984a0d9e3ec86b5889aae437d05fafe8a3f
parente5fab2ec9ca4f7db47aaf1d7f39e43a13b03a4b7
drm/meson: Add YUV420 output support

This patch adds support for the YUV420 output from the Amlogic Meson SoCs
Video Processing Unit to the HDMI Controller.

The YUV420 is obtained by generating a YUV444 pixel stream like
the classic HDMI display modes, but then the Video Encoder output
can be configured to down-sample the YUV444 pixel stream to a YUV420
stream.
In addition if pixel stream down-sampling, the Y Cb Cr components must
also be mapped differently to align with the HDMI2.0 specifications.

This mode needs a different clock generation scheme since the TMDS PHY
clock must match the 10x ratio with the YUV420 pixel clock, but
the video encoder must run at 2x the pixel clock.

This patch enables the bridge bus format negociation, and handles
the YUV420 case if selected by the negociation.

Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
Reviewed-by: Jernej Škrabec <jernej.skrabec@siol.net>
Link: https://patchwork.freedesktop.org/patch/msgid/20200304104052.17196-12-narmstrong@baylibre.com
drivers/gpu/drm/meson/meson_dw_hdmi.c