All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 00/14] Add DRM driver for Solomon SSD16xx e-paper display controllers
@ 2026-09-27 18:23 Devarsh Thakkar
  2026-09-27 18:23 ` [PATCH v2 01/14] dt-bindings: vendor-prefixes: Add Dalian Good Display Co., Ltd Devarsh Thakkar
                   ` (14 more replies)
  0 siblings, 15 replies; 32+ messages in thread
From: Devarsh Thakkar @ 2026-09-27 18:23 UTC (permalink / raw)
  To: Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, David Airlie,
	Simona Vetter, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Nishanth Menon, Vignesh Raghavendra, Tero Kristo
  Cc: dri-devel, devicetree, linux-kernel, Devarsh Thakkar

This series adds a DRM driver for the Solomon Systech SSD16xx family of
e-paper display controllers (SSD1673, SSD1680, SSD1681, SSD1683), starting
with support for the Gooddisplay GDEY042T81, a 4.2" 400×300 black-and-white
e-paper panel driven by the SSD1683 controller.

The driver is designed and architected keeping the bi-stable nature
and low-power requirements of epaper display based systems in mind
along with having adequate flexibility to support varying use-case
requirements for the e-paper display use-cases.

The driver integrates with the DRM atomic modesetting framework and
supports:

  - SPI communication in both 4-wire mode (separate D/C GPIO) and
    3-wire mode (9-bit SPI with embedded D/C# bit)
  - Full 4-way rotation via the Data Entry Mode register, with no GPU
    or memory-copy overhead
  - Three independently selectable refresh waveforms: partial (~300–500 ms),
    full (~1.5–2 s), and fast (~1.0–1.5 s)
  - 3-colour BWR pixel classification for panels with a red RAM plane
  - Pixel format support: XRGB8888 (color path) and R1 (native 1bpp,
    zero-copy path)
  - Runtime PM with configurable autosuspend: the controller enters
    Mode 1 deep sleep (RAM retained) after an idle timeout, waking
    transparently on the next frame update
  - System suspend/resume: switches to Mode 2 deep sleep (maximum
    power savings) on system suspend and rebuilds the pipeline on resume
  - Runtime-configurable DRM plane properties for refresh mode, colour
    mode, and session control (clear-on-init/close/disable, init-refresh
    waveform); rotation is set at probe time from a device tree property,
    and border waveform uses a fixed per-panel default

Changes from v1[0]:
  - Restructured into 14 modular patches covering bindings, driver core,
    features, and platform integration (was 6 patches in v1)
  - Added comprehensive device-tree bindings support for vendor prefixes
    and SSD16xx controller configurations
  - Refactored driver architecture from drm/tiny panel driver to drm/solomon
    bridge driver
  - Switch to using GEM_SHMEM helpers
  - Refactored data entry mode implementation
  - Removed runtime-configurable rotation/border-waveform DRM properties and
    their module params; rotation is now set via device tree, and border
    waveform now uses an enhanced fixed per-panel default
  - Added support for Solomon SSD1677 controller variant
  - Improved session management with plane properties
  - Added comprehensive power management support
  - Support for panels with reversed RAM X order
  - Dropped RGB888, RGB565, R8, NV12, NV16, YUYV, and UYVY format support;
    driver now only exposes XRGB8888 and R1

This has been tested against my development branch [1] using attached
test suite [2] and logs[3], individual results[4] and result summary[5] uploaded.

[0]: [V1 patch series]
https://lore.kernel.org/all/20260430183311.2978142-1-devarsht@ti.com/

[1]: [Development Branch]
https://github.com/devarsht/linux-next/tree/epaper_drm_misc_next_staging_27_09_26

[2]: [Test Suite]
https://github.com/devarsht/linux-next/tree/epaper_drm_misc_next_staging_27_09_26/tests_27sept_new

[3]: [Test Logs]
https://github.com/devarsht/linux-next/tree/epaper_drm_misc_next_staging_27_09_26/tests_27sept_new/logs

[4]: [Test Results]
https://github.com/devarsht/linux-next/tree/epaper_drm_misc_next_staging_27_09_26/tests_27sept_new/results

[5]: [Result Summary]
https://github.com/devarsht/linux-next/blob/epaper_drm_misc_next_staging_27_09_26/tests_27sept_new/results/run_all_20250529_190854.summary

Devarsh Thakkar (13):
  dt-bindings: vendor-prefixes: Add Dalian Good Display Co., Ltd.
  dt-bindings: display: Add Solomon SSD16xx e-paper controller binding
  dt-bindings: display: solomon,ssd16xx: Add Solomon SSD1677 controller
  drm/solomon: Add DRM driver for Solomon SSD16xx e-paper display
    controllers
  drm/solomon: ssd16xx: Add clear_on_init/close/disable session
    management
  drm/solomon: ssd16xx: Add support for Solomon SSD1677 controller
  drm/solomon: ssd16xx: Add power management support
  drm/solomon: ssd16xx: Expose refresh mode as plane property
  drm/solomon: ssd16xx: Expose color mode as plane property
  drm/solomon: ssd16xx: Expose session management as plane properties
  MAINTAINERS: Add entry for Solomon SSD16xx DRM driver
  arm64: defconfig: Enable DRM_SSD16XX for AM62L3 EVM
  arm64: dts: ti: Add AM62L3 EVM overlay for GDEY042T81 e-paper display

LiangCheng Wang (1):
  drm/solomon: ssd16xx: support panels whose RAM X order is reversed

 .../bindings/display/solomon,ssd16xx.yaml     |   88 +
 .../devicetree/bindings/vendor-prefixes.yaml  |    2 +
 MAINTAINERS                                   |    8 +
 arch/arm64/boot/dts/ti/Makefile               |    6 +
 .../ti/k3-am62l3-evm-epaper-gdey042t81.dtso   |   96 +
 arch/arm64/configs/defconfig                  |    1 +
 drivers/gpu/drm/solomon/Kconfig               |   13 +
 drivers/gpu/drm/solomon/Makefile              |    1 +
 drivers/gpu/drm/solomon/ssd16xx.c             | 2607 +++++++++++++++++
 9 files changed, 2822 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/display/solomon,ssd16xx.yaml
 create mode 100644 arch/arm64/boot/dts/ti/k3-am62l3-evm-epaper-gdey042t81.dtso
 create mode 100644 drivers/gpu/drm/solomon/ssd16xx.c

-- 
2.39.1


^ permalink raw reply	[flat|nested] 32+ messages in thread

end of thread, other threads:[~2026-10-05 16:37 UTC | newest]

Thread overview: 32+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-09-27 18:23 [PATCH v2 00/14] Add DRM driver for Solomon SSD16xx e-paper display controllers Devarsh Thakkar
2026-09-27 18:23 ` [PATCH v2 01/14] dt-bindings: vendor-prefixes: Add Dalian Good Display Co., Ltd Devarsh Thakkar
2026-09-27 18:23 ` [PATCH v2 02/14] dt-bindings: display: Add Solomon SSD16xx e-paper controller binding Devarsh Thakkar
2026-09-27 18:37   ` sashiko-bot
2026-10-01  6:28   ` Krzysztof Kozlowski
2026-10-05 16:36     ` Devarsh Thakkar
2026-09-27 18:23 ` [PATCH v2 03/14] dt-bindings: display: solomon, ssd16xx: Add Solomon SSD1677 controller Devarsh Thakkar
2026-09-27 18:23   ` [PATCH v2 03/14] dt-bindings: display: solomon,ssd16xx: " Devarsh Thakkar
2026-09-27 18:35   ` sashiko-bot
2026-10-01  6:26   ` Krzysztof Kozlowski
2026-09-27 18:23 ` [PATCH v2 04/14] drm/solomon: Add DRM driver for Solomon SSD16xx e-paper display controllers Devarsh Thakkar
2026-09-27 18:42   ` sashiko-bot
2026-09-28  7:00   ` Thomas Zimmermann
2026-09-29 16:43     ` Devarsh Thakkar
2026-09-27 18:23 ` [PATCH v2 05/14] drm/solomon: ssd16xx: Add clear_on_init/close/disable session management Devarsh Thakkar
2026-09-27 18:38   ` sashiko-bot
2026-09-27 18:23 ` [PATCH v2 06/14] drm/solomon: ssd16xx: Add support for Solomon SSD1677 controller Devarsh Thakkar
2026-09-27 18:40   ` sashiko-bot
2026-09-27 18:23 ` [PATCH v2 07/14] drm/solomon: ssd16xx: Add power management support Devarsh Thakkar
2026-09-27 18:41   ` sashiko-bot
2026-09-27 18:23 ` [PATCH v2 08/14] drm/solomon: ssd16xx: Expose refresh mode as plane property Devarsh Thakkar
2026-09-27 18:43   ` sashiko-bot
2026-09-27 18:23 ` [PATCH v2 09/14] drm/solomon: ssd16xx: Expose color " Devarsh Thakkar
2026-09-27 18:43   ` sashiko-bot
2026-09-27 18:23 ` [PATCH v2 10/14] drm/solomon: ssd16xx: Expose session management as plane properties Devarsh Thakkar
2026-09-27 18:38   ` sashiko-bot
2026-09-27 18:23 ` [PATCH v2 11/14] drm/solomon: ssd16xx: support panels whose RAM X order is reversed Devarsh Thakkar
2026-09-27 18:23 ` [PATCH v2 12/14] MAINTAINERS: Add entry for Solomon SSD16xx DRM driver Devarsh Thakkar
2026-09-27 18:23 ` [PATCH v2 13/14] arm64: defconfig: Enable DRM_SSD16XX for AM62L3 EVM Devarsh Thakkar
2026-09-27 18:23 ` [DO_NOT_MERGE PATCH v2 14/14] arm64: dts: ti: Add AM62L3 EVM overlay for GDEY042T81 e-paper display Devarsh Thakkar
2026-09-27 18:40   ` sashiko-bot
2026-10-02  8:56 ` [PATCH v2 00/14] Add DRM driver for Solomon SSD16xx e-paper display controllers LiangCheng Wang

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.