Re: [PATCH v7 0/8] Verisilicon DC8200 driver (and adaption to TH1520)

Thomas Zimmermann
2026-02-05T09:31:14Z

Hi,

patches 1 to 5 have been merged into drm-misc-next. In patch 3, I
replaced COMPILER_TEST with COMPILE_TEST in the Kconfig file.

Best regards
Thomas

Am 29.01.26 um 03:39 schrieb Icenowy Zheng:
> This patchset tries to add a driver for Verisilicon DC8200 driver, and
> demonstrates the driver on T-Head TH1520 with its HDMI output.
>
> This display controller IP is used on StarFive JH7110 too, but as the
> HDMI controller used there isn't as common as the DesignWare one, I
> choose to use TH1520 in this patchset.
>
> The DC driver is written with other DC-series (mainly DC8000, which is
> known to be used on Eswin EIC7700 SoC) display controllers in mind, and
> uses the identification registers available on all Vivante branded IPs.
> A known exception is DCNano display controller, which is unlikely to be
> supported by this driver because of totally different register map and
> no known identification registers. (P.S. the in-tree loongson DRM driver
> seems to be for some DCNano instances based on the register map.)
>
> The HDMI controller seems to come with some common PHY by Synopsys, the
> DesignWare HDMI TX 2.0 PHY. By searching a few register names from the
> BSP driver of that PHY, that PHY seems to be used by a in-tree dw-hdmi
> glue, rcar_dw_hdmi -- an updated downstream version of rcar_dw_hdmi
> contains all 6 registers set here in the th1520-dw-hdmi driver. Some
> more suprising thing is that RK3288 uses the same PHY too, but the
> in-tree dw_hdmi-rockchip driver writes the configuration data array in a
> weird way to reuse the HDMI 3D TX PHY configuring function. It might be
> valuable to add common configuring function and configuration data
> definition for this HDMI 2.0 PHY too, but the current driver in this
> patchset simply duplicated most configuration logic from rcar_dw_hdmi
> driver (but with 3 extra configuration registers configured, which is
> done by their downstream kernel).
>
> This revision contains only little code change -- only a Kconfig select
> is added. The other purpose is to collect Thomas Zimmermann's tags and
> squash MAINTAINERS change to real driver per his suggestion.
>
> Icenowy Zheng (8):
> dt-bindings: vendor-prefixes: add verisilicon
> dt-bindings: display: add verisilicon,dc
> drm: verisilicon: add a driver for Verisilicon display controllers
> dt-bindings: display/bridge: add binding for TH1520 HDMI controller
> drm/bridge: add a driver for T-Head TH1520 HDMI controller
> riscv: dts: thead: add DPU and HDMI device tree nodes
> riscv: dts: thead: lichee-pi-4a: enable HDMI
> mailmap: map all Icenowy Zheng's mail addresses
>
> .mailmap | 4 +
> .../display/bridge/thead,th1520-dw-hdmi.yaml | 120 ++++++
> .../bindings/display/verisilicon,dc.yaml | 122 ++++++
> .../devicetree/bindings/vendor-prefixes.yaml | 2 +
> MAINTAINERS | 8 +
> .../boot/dts/thead/th1520-lichee-pi-4a.dts | 25 ++
> arch/riscv/boot/dts/thead/th1520.dtsi | 66 ++++
> drivers/gpu/drm/Kconfig | 2 +
> drivers/gpu/drm/Makefile | 1 +
> drivers/gpu/drm/bridge/Kconfig | 10 +
> drivers/gpu/drm/bridge/Makefile | 1 +
> drivers/gpu/drm/bridge/th1520-dw-hdmi.c | 173 ++++++++
> drivers/gpu/drm/verisilicon/Kconfig | 16 +
> drivers/gpu/drm/verisilicon/Makefile | 5 +
> drivers/gpu/drm/verisilicon/vs_bridge.c | 371 ++++++++++++++++++
> drivers/gpu/drm/verisilicon/vs_bridge.h | 39 ++
> drivers/gpu/drm/verisilicon/vs_bridge_regs.h | 54 +++
> drivers/gpu/drm/verisilicon/vs_crtc.c | 191 +++++++++
> drivers/gpu/drm/verisilicon/vs_crtc.h | 31 ++
> drivers/gpu/drm/verisilicon/vs_crtc_regs.h | 60 +++
> drivers/gpu/drm/verisilicon/vs_dc.c | 207 ++++++++++
> drivers/gpu/drm/verisilicon/vs_dc.h | 38 ++
> drivers/gpu/drm/verisilicon/vs_dc_top_regs.h | 27 ++
> drivers/gpu/drm/verisilicon/vs_drm.c | 182 +++++++++
> drivers/gpu/drm/verisilicon/vs_drm.h | 28 ++
> drivers/gpu/drm/verisilicon/vs_hwdb.c | 150 +++++++
> drivers/gpu/drm/verisilicon/vs_hwdb.h | 29 ++
> drivers/gpu/drm/verisilicon/vs_plane.c | 124 ++++++
> drivers/gpu/drm/verisilicon/vs_plane.h | 72 ++++
> .../gpu/drm/verisilicon/vs_primary_plane.c | 173 ++++++++
> .../drm/verisilicon/vs_primary_plane_regs.h | 53 +++
> 31 files changed, 2384 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/display/bridge/thead,th1520-dw-hdmi.yaml
> create mode 100644 Documentation/devicetree/bindings/display/verisilicon,dc.yaml
> create mode 100644 drivers/gpu/drm/bridge/th1520-dw-hdmi.c
> create mode 100644 drivers/gpu/drm/verisilicon/Kconfig
> create mode 100644 drivers/gpu/drm/verisilicon/Makefile
> create mode 100644 drivers/gpu/drm/verisilicon/vs_bridge.c
> create mode 100644 drivers/gpu/drm/verisilicon/vs_bridge.h
> create mode 100644 drivers/gpu/drm/verisilicon/vs_bridge_regs.h
> create mode 100644 drivers/gpu/drm/verisilicon/vs_crtc.c
> create mode 100644 drivers/gpu/drm/verisilicon/vs_crtc.h
> create mode 100644 drivers/gpu/drm/verisilicon/vs_crtc_regs.h
> create mode 100644 drivers/gpu/drm/verisilicon/vs_dc.c
> create mode 100644 drivers/gpu/drm/verisilicon/vs_dc.h
> create mode 100644 drivers/gpu/drm/verisilicon/vs_dc_top_regs.h
> create mode 100644 drivers/gpu/drm/verisilicon/vs_drm.c
> create mode 100644 drivers/gpu/drm/verisilicon/vs_drm.h
> create mode 100644 drivers/gpu/drm/verisilicon/vs_hwdb.c
> create mode 100644 drivers/gpu/drm/verisilicon/vs_hwdb.h
> create mode 100644 drivers/gpu/drm/verisilicon/vs_plane.c
> create mode 100644 drivers/gpu/drm/verisilicon/vs_plane.h
> create mode 100644 drivers/gpu/drm/verisilicon/vs_primary_plane.c
> create mode 100644 drivers/gpu/drm/verisilicon/vs_primary_plane_regs.h
>

--
--
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Frankenstr. 146, 90461 Nürnberg, Germany, www.suse.com
GF: Jochen Jaser, Andrew McDonald, Werner Knoblich, (HRB 36809, AG Nürnberg)