On 12/24/25 17:11, Icenowy Zheng wrote:
> 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).
> 
> Icenowy Zheng (9):
>   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
>   MAINTAINERS: assign myself as maintainer for verisilicon DC driver
>   mailmap: map all Icenowy Zheng's mail addresses
> 

I tested this patchset on the Lichee Pi 4A (TH1520). I successfully ran a 
fully hardware accelerated graphics stack using Weston and Zink over the 
HDMI output.

I have documented the reproduction steps and test results here:
[1] 
https://mwilczynski.dev/posts/riscv-gpu-zink/#building-the-stack-reproduction-guide

Great work, thank you!

Feel free to add to driver and DTS patches (3,5,6,7).
Tested-by: Michal Wilczynski <[email protected]>

Best regards,
-- 
Michal Wilczynski <[email protected]>

Reply via email to