The SSD1322 has been in the ssd130x match tables since the ssd132x
family was added, but that family was brought up on an SSD1327. The two
controllers share a RAM layout and many opcodes, but the SSD1322 takes
command parameters on the data path and differs in several commands.
This series gives the SSD1322 its own family, shaped like the ssd135x.
Mario Limonciello's connector luminance series [1], not merged yet,
sends the SSD130x contrast command to every family it does not know.
The SSD1322 does not have that command, so whichever series lands
second needs an SSD1322 case there.
Testing:
- ZJY 3.12" 256x64 SSD1322 module on 4-wire SPI (mode 3) at 16 MHz,
Raspberry Pi 5, Raspberry Pi rpi-7.3.y kernel (7.3.0-v8-16k+) with
the ssd130x files from this series in tree. That tree also needed
commit 3dcb0564c509 from drm-misc-next.
- Without the series, a modeset and a full white frame leave the
panel dark. With it, the frame is white as expected.
- A KMS client at ~200 fps matches its rendered frames on the glass
through a camera harness, at the default clock and with
solomon,dclk-div = <1>.
- Backlight brightness 0, 64, 127 and 255 moves the contrast on the
glass.
- solomon,dclk-div = <3> is refused with an error and no init is sent.
[1]
https://lore.kernel.org/dri-devel/[email protected]/
Thanks,
Fabio
Fabio Piparo (2):
dt-bindings: display: solomon,ssd132x: Add col-offset and dclk
properties for the SSD1322
drm/ssd130x: Add SSD1322_FAMILY and move the SSD1322 to it
.../bindings/display/solomon,ssd132x.yaml | 29 ++
drivers/gpu/drm/solomon/ssd130x-i2c.c | 3 +-
drivers/gpu/drm/solomon/ssd130x-spi.c | 6 +-
drivers/gpu/drm/solomon/ssd130x.c | 277 +++++++++++++++++-
drivers/gpu/drm/solomon/ssd130x.h | 4 +-
5 files changed, 310 insertions(+), 9 deletions(-)
base-commit: 21803a577cc692d01307102799f795a606871212
--
2.53.0