[PATCH v3 0/5] drm/solomon: Add SSD130x OLED displays SPI support
From: Javier Martinez Canillas
Date: Tue Apr 12 2022 - 12:28:10 EST
Hello,
This series adds a ssd130x-spi driver that provides a 4-wire SPI transport
support for SSD130x OLED controllers that can be accessed over a SPI bus.
The driver is quite similar to existing ssd130x-i2c driver that is used by
I2C controllers, but there is a difference in the protocol used by SSD130x
depending on the transport used. The details are in patch #4 description.
Patch #1 just makes the current ssd130x-i2c compatible strings in the DT
binding to be deprecated, and add new ones that don't have an "fb-i2c".
Patch #2 extends the DT binding with the properties needed to support SPI.
Patch #3 adds the new compatible strings to the OF device ID table in the
ssd130x-i2c DRM driver and deprecate the old ones.
Patch #4 moves the device info for the different SSD130x variants from
the ssd130x-i2c transport driver to the ssd130x core driver.
Finally patch #5 adds the ssd130x-spi DRM driver for the OLED controllers
that come with a 4-wire SPI interface, instead of an I2C interface.
This is a v3 that addresses the issues pointed out in v2.
Best regards,
Javier
Changes in v3:
- Drop the "sinowealth,sh1106-i2c", wasn't in a released version (Chen-Yu Tsai)
- Continue enforcing required properties for deprecated strings (Maxime Ripard)
- Add a comment to the properties required for SPI (Geert Uytterhoeven)
- Drop the "sinowealth,sh1106-i2c", wasn't in a released version (Chen-Yu Tsai)
- s/it/they in the commit description (Geert Uytterhoeven)
- Drop unnecessary blank line (Geert Uytterhoeven)
- Export variants array and use &info[ID] in device table (Andy Shevchenko)
- Drop ssd130x_spi_get_dc() helper and open code it (Geert Uytterhoeven)
- Export variants array and use &info[ID] in device table (Andy Shevchenko)
- Add Geert Uytterhoeven's Reviewed-by tag to patches.
Changes in v2:
- Drop the -i2c suffixes from the compatible strings too (Geert Uytterhoeven)
- Don't add compatible strings with an "-spi" suffix (Geert Uytterhoeven)
- Use the compatible strings that don't have "fb-i2c" (Geert Uytterhoeven).
- Drop ssd13x_variant_to_info() and just use the array index (Neil Armstrong).
- Add the same compatible strings than I2C (Geert Uytterhoeven)
- Add Mark Brown's Acked-by tag to all patches.
Javier Martinez Canillas (5):
dt-bindings: display: ssd1307fb: Deprecate "-i2c" compatible strings
dt-bindings: display: ssd1307fb: Extend schema for SPI controllers
drm/solomon: Add ssd130x new compatible strings and deprecate old
ones.
drm/solomon: Move device info from ssd130x-i2c to the core driver
drm/solomon: Add SSD130x OLED displays SPI support
.../bindings/display/solomon,ssd1307fb.yaml | 82 ++++++--
drivers/gpu/drm/solomon/Kconfig | 9 +
drivers/gpu/drm/solomon/Makefile | 1 +
drivers/gpu/drm/solomon/ssd130x-i2c.c | 62 +++---
drivers/gpu/drm/solomon/ssd130x-spi.c | 177 ++++++++++++++++++
drivers/gpu/drm/solomon/ssd130x.c | 36 +++-
drivers/gpu/drm/solomon/ssd130x.h | 14 ++
7 files changed, 324 insertions(+), 57 deletions(-)
create mode 100644 drivers/gpu/drm/solomon/ssd130x-spi.c
--
2.35.1