|
|
Log in / Subscribe / Register

drm/rockchip: Add driver for the new DSI2 controller

From:  Heiko Stuebner <heiko-AT-sntech.de>
To:  heiko-AT-sntech.de
Subject:  [PATCH v2 0/3] drm/rockchip: Add driver for the new DSI2 controller
Date:  Tue, 26 Nov 2024 21:12:10 +0100
Message-ID:  <20241126201213.522753-1-heiko@sntech.de>
Cc:  andy.yan-AT-rock-chips.com, maarten.lankhorst-AT-linux.intel.com, mripard-AT-kernel.org, tzimmermann-AT-suse.de, robh-AT-kernel.org, krzk+dt-AT-kernel.org, conor+dt-AT-kernel.org, andrzej.hajda-AT-intel.com, neil.armstrong-AT-linaro.org, rfoss-AT-kernel.org, Laurent.pinchart-AT-ideasonboard.com, jonas-AT-kwiboo.se, jernej.skrabec-AT-gmail.com, dri-devel-AT-lists.freedesktop.org, devicetree-AT-vger.kernel.org, linux-arm-kernel-AT-lists.infradead.org, linux-rockchip-AT-lists.infradead.org, linux-kernel-AT-vger.kernel.org, quentin.schulz-AT-cherry.de
Archive-link:  Article

This series adds a bridge and glue driver for the DSI2 controller found
in the rk3588 soc from Rockchip, that is based on a Synopsis IP block.

As the manual states:
The Display Serial Interface 2 (DSI-2) is part of a group of communication
protocols defined by the MIPI Alliance. The MIPI DSI-2 Host Controller is
a digital core that implements all protocol functions defined in the
MIPI DSI-2 Specification.


While the driver structure is very similar to the previous DSI controller,
the programming model of the core is quite different, with a completely
new register set.

Another notable difference is that the phy interface is variable now too
in its width and some other settings.

changes in v2:
- clean up includes (Diederik)
- fix Kconfig description (Diederik)
- constant naming (Diederik)
- binding fixes (paths, sorting, labels) (Rob)
- move to use regmap
- drop custom UPDATE macro and use FIELD_PREP instead
- use dev_err instead of DRM_DEV_ERROR


Heiko Stuebner (3):
  drm/bridge/synopsys: Add MIPI DSI2 host controller bridge
  dt-bindings: display: rockchip: Add schema for RK3588 DW DSI2
    controller
  drm/rockchip: Add MIPI DSI2 glue driver for RK3588

 .../rockchip/rockchip,rk3588-mipi-dsi2.yaml   |  119 ++
 drivers/gpu/drm/bridge/synopsys/Kconfig       |    6 +
 drivers/gpu/drm/bridge/synopsys/Makefile      |    1 +
 .../gpu/drm/bridge/synopsys/dw-mipi-dsi2.c    | 1030 +++++++++++++++++
 drivers/gpu/drm/rockchip/Kconfig              |   10 +
 drivers/gpu/drm/rockchip/Makefile             |    1 +
 .../gpu/drm/rockchip/dw-mipi-dsi2-rockchip.c  |  523 +++++++++
 drivers/gpu/drm/rockchip/rockchip_drm_drv.c   |    2 +
 drivers/gpu/drm/rockchip/rockchip_drm_drv.h   |    1 +
 include/drm/bridge/dw_mipi_dsi2.h             |   95 ++
 10 files changed, 1788 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/display/rockchip/rockchip,rk3588-mipi-dsi2.yaml
 create mode 100644 drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi2.c
 create mode 100644 drivers/gpu/drm/rockchip/dw-mipi-dsi2-rockchip.c
 create mode 100644 include/drm/bridge/dw_mipi_dsi2.h

-- 
2.45.2




Copyright © 2024, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds