drm/stm: lvds: add new STM32 LVDS Display Interface Transmitter driver
authorRaphael Gallais-Pou <raphael.gallais-pou@foss.st.com>
Mon, 26 Feb 2024 10:48:06 +0000 (11:48 +0100)
committerPhilippe Cornu <philippe.cornu@foss.st.com>
Fri, 28 Jun 2024 09:17:07 +0000 (11:17 +0200)
commitaca1cbc1c9860e39736d33626e5a1b45ff762f0a
tree8b5dcf8adb56f5b1a3c6ae2b3815f9b7696fb017
parent3f12669b436996e0ddbb35c903ec602a577ab352
drm/stm: lvds: add new STM32 LVDS Display Interface Transmitter driver

The Low-Voltage Differential Signaling (LVDS) Display Interface
Transmitter handles the LVDS protocol: it maps the pixels received from
the upstream Pixel-DMA LCD-TFT Display Controller (LTDC) onto the LVDS
PHY.

It is composed of three sub blocks:
* LVDS host: handles the LVDS protocol (FPD / OpenLDI) and maps
  its input pixels onto the data lanes of the PHY
* LVDS PHY: parallelize the data and drives the LVDS data lanes
* LVDS wrapper: handles top-level settings

The LVDS controller driver supports the following high-level features:
* FDP-Link-I and OpenLDI (v0.95) protocols
* Single-Link or Dual-Link operation
* Single-Display or Double-Display (with the same content
  duplicated on both)
* Flexible Bit-Mapping, including JEIDA and VESA
* RGB888 or RGB666 output
* Synchronous design, with one input pixel per clock cycle

Signed-off-by: Raphael Gallais-Pou <raphael.gallais-pou@foss.st.com>
Acked-by: Yannick Fertre <yannick.fertre@foss.st.com>
Signed-off-by: Philippe Cornu <philippe.cornu@foss.st.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240226-lvds-v6-2-15e3463fbe70@foss.st.com
drivers/gpu/drm/stm/Kconfig
drivers/gpu/drm/stm/Makefile
drivers/gpu/drm/stm/lvds.c [new file with mode: 0644]