[PATCH 0/9] Add DRM driver for StarFive SoC JH7110

From: Keith Zhao
Date: Fri Jun 02 2023 - 03:41:39 EST


Hi,

This series is a DRM driver for StarFive SoC JH7110, which includes a
display controller driver for Verisilicon DC8200 and an HMDI driver.

We use GEM framework for buffer management and allocate memory by
using DMA APIs.

The JH7110 display subsystem includes a display controller Verisilicon
DC8200 and an HDMI transmitter. The HDMI TX IP is designed for transmitting
video and audio data from DC8200 to a display device. The HDMI TX IP
consists of the digital controller and the physical layer.

This series does not support HDMI audio driver.

Keith Zhao (9):
dt-bindings: display: Add yamls for JH7110 display subsystem
riscv: dts: starfive: jh7110: add dc&hdmi controller node
drm/verisilicon: Add basic drm driver
drm/verisilicon: Add gem driver for JH7110 SoC
drm/verisilicon: Add mode config funcs
drm/verisilicon: Add drm crtc funcs
drm/verisilicon: Add drm plane funcs
drm/verisilicon: Add verisilicon dc controller driver
drm/verisilicon: Add starfive hdmi driver

.../display/verisilicon/starfive-hdmi.yaml | 93 +
.../display/verisilicon/verisilicon-dc.yaml | 110 +
.../display/verisilicon/verisilicon-drm.yaml | 42 +
.../devicetree/bindings/vendor-prefixes.yaml | 2 +
MAINTAINERS | 9 +
.../jh7110-starfive-visionfive-2.dtsi | 87 +
arch/riscv/boot/dts/starfive/jh7110.dtsi | 46 +
drivers/gpu/drm/Kconfig | 2 +
drivers/gpu/drm/Makefile | 1 +
drivers/gpu/drm/verisilicon/Kconfig | 24 +
drivers/gpu/drm/verisilicon/Makefile | 13 +
drivers/gpu/drm/verisilicon/starfive_hdmi.c | 928 ++++++++
drivers/gpu/drm/verisilicon/starfive_hdmi.h | 296 +++
drivers/gpu/drm/verisilicon/vs_crtc.c | 388 ++++
drivers/gpu/drm/verisilicon/vs_crtc.h | 74 +
drivers/gpu/drm/verisilicon/vs_dc.c | 1040 +++++++++
drivers/gpu/drm/verisilicon/vs_dc.h | 62 +
drivers/gpu/drm/verisilicon/vs_dc_hw.c | 2008 +++++++++++++++++
drivers/gpu/drm/verisilicon/vs_dc_hw.h | 496 ++++
drivers/gpu/drm/verisilicon/vs_drv.c | 301 +++
drivers/gpu/drm/verisilicon/vs_drv.h | 52 +
drivers/gpu/drm/verisilicon/vs_fb.c | 181 ++
drivers/gpu/drm/verisilicon/vs_fb.h | 15 +
drivers/gpu/drm/verisilicon/vs_gem.c | 372 +++
drivers/gpu/drm/verisilicon/vs_gem.h | 72 +
drivers/gpu/drm/verisilicon/vs_plane.c | 440 ++++
drivers/gpu/drm/verisilicon/vs_plane.h | 74 +
drivers/gpu/drm/verisilicon/vs_type.h | 72 +
include/uapi/drm/drm_fourcc.h | 83 +
include/uapi/drm/vs_drm.h | 50 +
30 files changed, 7433 insertions(+)
create mode 100644 Documentation/devicetree/bindings/display/verisilicon/starfive-hdmi.yaml
create mode 100644 Documentation/devicetree/bindings/display/verisilicon/verisilicon-dc.yaml
create mode 100644 Documentation/devicetree/bindings/display/verisilicon/verisilicon-drm.yaml
create mode 100644 drivers/gpu/drm/verisilicon/Kconfig
create mode 100644 drivers/gpu/drm/verisilicon/Makefile
create mode 100644 drivers/gpu/drm/verisilicon/starfive_hdmi.c
create mode 100644 drivers/gpu/drm/verisilicon/starfive_hdmi.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_dc.c
create mode 100644 drivers/gpu/drm/verisilicon/vs_dc.h
create mode 100644 drivers/gpu/drm/verisilicon/vs_dc_hw.c
create mode 100644 drivers/gpu/drm/verisilicon/vs_dc_hw.h
create mode 100644 drivers/gpu/drm/verisilicon/vs_drv.c
create mode 100644 drivers/gpu/drm/verisilicon/vs_drv.h
create mode 100644 drivers/gpu/drm/verisilicon/vs_fb.c
create mode 100644 drivers/gpu/drm/verisilicon/vs_fb.h
create mode 100644 drivers/gpu/drm/verisilicon/vs_gem.c
create mode 100644 drivers/gpu/drm/verisilicon/vs_gem.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_type.h
create mode 100644 include/uapi/drm/vs_drm.h

--
2.34.1