This series adds support for the VOP2 controller found on the newer Rockchip SoCs like RK3566, RK3568 and RK3588. It has been tested on a RK3568 based ROCK3a board using HDMI and a RK3568 based custom board using HDMI and RGB output. The driver has support for a base plane and one or more overlay planes which makes it possible to have a background image and a transparent framebuffer console on an overlay. Before adding the driver we have to add some headers from the Linux DRM subsystem for easier inclusion of this DRM based driver. Signed-off-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> --- Changes in v2: - remove unused file rockchip_vop_reg.c - make vpl deep probe aware - register overlay framebuffers with base framebuffer name + suffix - use dev_err_probe where appropriate - do not register unused windows on RK3566 - use device_get_match_data() instead of dev_get_drvdata() - register vop2 with device_platform_driver() instead of late_platform_driver() - remove debugging leftover - select DRIVER_VIDEO_EDID and DRIVER_VIDEO_DW_HDMI rather than depending on it - Link to v1: https://lore.barebox.org/20240926-vop2-v1-0-fe0581f2020b@xxxxxxxxxxxxxx --- Sascha Hauer (15): clk: rockchip: rk3568: Fix HDMI clocks video: add videomode helpers media-bus-format: update from kernel regmap: add regfield support video: add include/video/drm/drm_connector.h fb: add fb_rect functions video: Add Sitronix st7789v panel driver video: add dw-hdmi driver video: i.MX ipuv3: switch to upstream hdmi driver fb: Accept overlay framebuffers without modes fb: print more information on devinfo fbconsole: Adjust fbconsole names for overlays ARM: ARM64: implement dma_alloc_writecombine() vpl: make vpl deep probe aware video: Rockchip: Add VOP2 driver arch/arm/cpu/mmu_64.c | 11 +- arch/arm/cpu/mmu_64.h | 15 +- drivers/base/regmap/internal.h | 11 + drivers/base/regmap/regmap.c | 131 ++ drivers/clk/rockchip/clk-rk3568.c | 8 +- drivers/video/Kconfig | 18 + drivers/video/Makefile | 5 +- drivers/video/dw-hdmi.c | 2286 ++++++++++++++++++++ drivers/video/{imx-ipu-v3/imx-hdmi.h => dw-hdmi.h} | 245 ++- drivers/video/fb.c | 29 +- drivers/video/fbconsole.c | 22 +- drivers/video/imx-ipu-v3/Kconfig | 3 +- drivers/video/imx-ipu-v3/Makefile | 2 +- drivers/video/imx-ipu-v3/dw_hdmi-imx.c | 223 ++ drivers/video/imx-ipu-v3/imx-hdmi.c | 1360 ------------ drivers/video/mode-helpers.c | 174 ++ drivers/video/panel-sitronix-st7789v.c | 652 ++++++ drivers/video/rockchip/Kconfig | 18 + drivers/video/rockchip/Makefile | 2 + drivers/video/rockchip/dw_hdmi-rockchip.c | 365 ++++ drivers/video/rockchip/rockchip_drm_drv.h | 66 + drivers/video/rockchip/rockchip_drm_vop.h | 424 ++++ drivers/video/rockchip/rockchip_drm_vop2.c | 2041 +++++++++++++++++ drivers/video/rockchip/rockchip_drm_vop2.h | 541 +++++ drivers/video/rockchip/rockchip_vop2_reg.c | 280 +++ drivers/video/vpl.c | 2 + include/fb.h | 25 + include/linux/hdmi.h | 445 ++++ include/linux/regmap.h | 39 + include/uapi/drm/drm_mode.h | 93 + include/video/drm/drm_connector.h | 502 +++++ include/video/drm/drm_modes.h | 409 ++++ include/video/dw_hdmi.h | 203 ++ include/video/media-bus-format.h | 55 +- include/video/videomode.h | 40 + include/video/vpl.h | 1 + 36 files changed, 9305 insertions(+), 1441 deletions(-) --- base-commit: 46cb3f1ac62430d3fa662a4055c3a1c289ec3c86 change-id: 20240926-vop2-7b49f1b4c575 Best regards, -- Sascha Hauer <s.hauer@xxxxxxxxxxxxxx>