[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20250721-drm-v3-0-e16c3cee7263@gmail.com>
Date: Mon, 21 Jul 2025 11:00:46 +0800
From: LiangCheng Wang <zaq14760@...il.com>
To: Rob Herring <robh@...nel.org>, Krzysztof Kozlowski <krzk+dt@...nel.org>,
Conor Dooley <conor+dt@...nel.org>,
Maarten Lankhorst <maarten.lankhorst@...ux.intel.com>,
Maxime Ripard <mripard@...nel.org>, Thomas Zimmermann <tzimmermann@...e.de>,
David Airlie <airlied@...il.com>, Simona Vetter <simona@...ll.ch>,
Sumit Semwal <sumit.semwal@...aro.org>,
Christian König <christian.koenig@....com>,
Wig Cheng <onlywig@...il.com>, LiangCheng Wang <zaq14760@...il.com>
Cc: devicetree@...r.kernel.org, linux-kernel@...r.kernel.org,
dri-devel@...ts.freedesktop.org, linux-media@...r.kernel.org,
linaro-mm-sig@...ts.linaro.org,
Krzysztof Kozlowski <krzysztof.kozlowski@...aro.org>
Subject: [PATCH v3 0/3] Add support for Mayqueen Pixpaper e-ink panel
This patch series adds support for the Mayqueen Pixpaper e-ink display panel,
controlled via SPI.
The series includes:
- A new vendor-prefix entry for "mayqueen"
- Device tree binding documentation for the Pixpaper panel
- A DRM tiny driver implementation for the Pixpaper panel
- A MAINTAINERS entry for the Pixpaper DRM driver and binding
The panel supports 122x250 resolution with XRGB8888 format and uses SPI,
along with GPIO lines for reset, busy, and data/command control.
The driver has been tested on:
- Raspberry Pi 2 Model B
with Linux kernel 6.16.
---
Changes in v3:
- MAINTAINERS
- Added pixpaper-regs.h
- Kconfig
- Rename config symbol to DRM_PIXPAPER (drop TINYDRM_ prefix).
- Reordered Kconfig select lines alphabetically.
- Code structure & style
- Fix include order: move <linux/> headers above <drm/> headers.
- Removed forward declarations; placed static functions next to usage
- Switched logging to drm_err()/drm_warn()/drm_dbg() (legacy DRM_ERROR/WARN removed)
- Remove dev_info() statements.
- Switched encoder type to DRM_MODE_ENCODER_NONE
- Moved pixpaper_panel_hw_init() from atomic_enable() to probe() to avoid redundant hardware init.
- Use helper to_pixpaper_panel() instead of container_of() on crtc.
- Robustness
- Added timeout + warning in pixpaper_wait_busy() to ensure robustness if BUSY line gets stuck.
- Introduced struct pixpaper_error_ctx to propagate SPI/GPIO errors
- Clean‑ups
- Removed drm_plane_enable_fb_damage_clips() (full‑frame updates)
- Removed noisy info prints; kept drm_dbg() only where helpful
- Consolidated all magic register values/commands into new
pixpaper-regs.h with datasheet‑aligned naming
- Memory helpers
- Driver now uses GEM SHMEM helpers; GEM DMA helpers dropped
(panel has no bus‑mastering DMA)
- Functionality fixes
- Rewrote pack_pixels_to_byte() to correctly handle 4-color (B/W/R/Y) layout
based on expected panel color encoding
- DRM callback safety
- Add missing drm_dev_enter()/drm_dev_exit() in callbacks.
- Tags added
- Reviewed-by: Rob Herring <robh@...nel.org> (from v1)
- Acked-by: Rob Herring <robh@...nel.org> (from v1)
- Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@...aro.org> (from v2)
- Link to v2: https://lore.kernel.org/r/20250714-drm-v2-0-5d1a2e12796c@gmail.com
Changes in v2:
- Reordered patches so that DT bindings come before the driver (suggested by Rob Herring)
- Fixed sparse warning: removed duplicate `.reset` initializer in `pixpaper_plane_funcs`
- Fixed checkpatch issues reported by Media CI:
- Removed unnecessary blank line before closing brace
- Moved opening parentheses up to function call lines (e.g., `DRM_WARN(...)`)
- Fixed alignment of conditionals
- Fixed `dev_warn(` and `drm_universal_plane_init(` formatting
- Thanks to Rob Herring for ack on vendor-prefix patch
- Link to v1: https://lore.kernel.org/r/20250708-drm-v1-0-45055fdadc8a@gmail.com
Thanks to all reviewers for feedback across earlier versions.
Best regards,
LiangCheng Wang
<zaq14760@...il.com>
---
LiangCheng Wang (2):
dt-bindings: display: Add Mayqueen Pixpaper e-ink panel
drm: tiny: Add support for Mayqueen Pixpaper e-ink panel
Wig Cheng (1):
dt-bindings: vendor-prefixes: Add Mayqueen name
.../bindings/display/mayqueen,pixpaper.yaml | 63 ++
.../devicetree/bindings/vendor-prefixes.yaml | 2 +
MAINTAINERS | 7 +
drivers/gpu/drm/tiny/Kconfig | 15 +
drivers/gpu/drm/tiny/Makefile | 1 +
drivers/gpu/drm/tiny/pixpaper-regs.h | 428 +++++++++++
drivers/gpu/drm/tiny/pixpaper.c | 790 +++++++++++++++++++++
7 files changed, 1306 insertions(+)
---
base-commit: 6832a9317eee280117cd695fa885b2b7a7a38daf
change-id: 20250708-drm-6021df0715d7
Best regards,
--
LiangCheng Wang <zaq14760@...il.com>
Powered by blists - more mailing lists