This series adds a new DRM/KMS driver for the Solomon SSD1351, a 128x128 65k-color RGB OLED controller driven over a 4-wire SPI bus. The SSD1351 currently has no DRM driver; the only in-tree support is the legacy fbtft fb_ssd1351.
The driver advertises XRGB8888 to userspace and converts to big-endian RGB565 on flush via drm_fb_xrgb8888_to_rgb565be(), building on the GEM SHMEM and atomic modeset/shadow-plane helpers with damage-clipped partial updates. The SSD1351 is implemented as a standalone driver rather than as part of ssd130x. ssd130x converts XRGB8888 down to a packed <= 8bpp hardware format (mono, grayscale, or 256-colour RGB332); the SSD1351 is driven in its native 65k-colour RGB565 and does not fit that pixel pipeline. For the record, the generic mipi_dbi helpers do not apply either: the SSD1351 pixel path uses non-DCS opcodes (window 0x15/0x75 and write-RAM 0x5c rather than DCS 0x2a/0x2b/0x2c). Smoke-tested on a Raspberry Pi 4 driving a 128x128 SSD1351 panel: the display initialises and shows correct colours. The panel's sub-pixel colour order is set in the controller's remap register, hardcoded to match the tested module (as the ili9341/ili9163/mi0283qt tinydrm drivers do for their panels). Patch 1 adds the device tree binding; patch 2 adds the driver together with the Kconfig/Makefile glue and a MAINTAINERS entry. Amit Barzilai (2): dt-bindings: display: Add Solomon SSD1351 OLED controller drm/solomon: Add SSD1351 OLED display driver .../bindings/display/solomon,ssd1351.yaml | 47 ++ MAINTAINERS | 7 + drivers/gpu/drm/solomon/Kconfig | 14 + drivers/gpu/drm/solomon/Makefile | 1 + drivers/gpu/drm/solomon/ssd1351.c | 556 ++++++++++++++++++ 5 files changed, 625 insertions(+) create mode 100644 Documentation/devicetree/bindings/display/solomon,ssd1351.yaml create mode 100644 drivers/gpu/drm/solomon/ssd1351.c base-commit: 83e8d8bbffa8161e94f3aeee4dd09a35062a78c8 -- 2.54.0
