[PATCH 0/9] Support 10-bit YUV422 and 8/10-bit YUV420 color format on DW HDMI QP
Cristian Ciocaltea
cristian.ciocaltea at collabora.com
Wed Jun 17 11:51:53 PDT 2026
This series extends the output color format support of the Rockchip DW
HDMI QP controller to cover 10-bit YUV 4:2:2 and 8/10-bit YUV 4:2:0.
Please note this has a runtime dependency on the Rockchip Samsung HDPTX
PHY driver bug fixes posted separately as [1]. While there is no build
dependency, those fixes are required to address clock rate calculation
and synchronization issues that arise when changing the color depth
(bpc) while keeping the modeline constant.
Patches 1, 2 & 9 improve VOP2 robustness on RK3588, helping recover from
exceptions and preventing random display output glitches observed when
switching modes that also change the color format, e.g. from RGB to YUV
4:2:0 and vice versa.
Patch 3 avoids an incorrect DCLK source switch for 10-bit YUV 4:2:2 by
forcing 8 bpc in the bandwidth check.
Patches 4-6 are independent cleanups/improvements and can be applied on
their own.
Patch 7 adds MEDIA_BUS_FMT_UYVY10_1X20 for 10-bit YUV 4:2:2 output,
configuring the PHY with 8 bpc. YUV 4:2:2 always transmits two 12-bit
components per pixel regardless of color depth, so from a clock-rate
perspective it is equivalent to three 8-bit RGB components.
Patch 8 advertises YUV 4:2:0 output, now that the bus-format and VOP2
support are in place.
Tested on Radxa ROCK 5B (RK3588) and Radxa ROCK 4D (RK3576), up to
4K at 60Hz YUV 4:2:0 and 4K at 30Hz RGB.
[1] https://lore.kernel.org/all/20260612-hdptx-clk-fixes-v4-0-ce5e1d456cda@collabora.com/
Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea at collabora.com>
---
Cristian Ciocaltea (9):
dt-bindings: display: vop2: Add missing reset properties
drm/rockchip: vop2: Reset AXI and DCLK to improve robustness
drm/rockchip: vop2: Avoid DCLK source switch for 10-bit YUV422 output
drm/rockchip: vop2: Consolidate HDMI PHY PLL clock parent switch
drm/rockchip: vop2: Switch to enum vop_csc_format
drm/bridge: dw-hdmi-qp: Log resolution and refresh rate in atomic_enable()
drm/rockchip: dw_hdmi_qp: Support 10-bit YUV422 output format
drm/rockchip: dw_hdmi_qp: Enable YUV420 output format
arm64: dts: rockchip: Add RK3588 VOP2 resets
.../bindings/display/rockchip/rockchip-vop2.yaml | 42 ++++++++++
arch/arm64/boot/dts/rockchip/rk3588-base.dtsi | 12 +++
drivers/gpu/drm/bridge/synopsys/dw-hdmi-qp.c | 10 ++-
drivers/gpu/drm/rockchip/dw_hdmi_qp-rockchip.c | 13 +++-
drivers/gpu/drm/rockchip/rockchip_drm_vop2.c | 90 +++++++++++++++-------
drivers/gpu/drm/rockchip/rockchip_drm_vop2.h | 4 +
6 files changed, 141 insertions(+), 30 deletions(-)
---
base-commit: 2bfa2e7f19a106966ca97e0aaaad49e17f614cbb
change-id: 20260617-dw-hdmi-qp-yuv-2b0f7bb5ba81
More information about the Linux-rockchip
mailing list