| From: |
| Javier Martinez Canillas <javierm-AT-redhat.com> |
| To: |
| linux-kernel-AT-vger.kernel.org |
| Subject: |
| [PATCH v4 0/5] drm/solomon: Add SSD130x OLED displays SPI support |
| Date: |
| Wed, 13 Apr 2022 18:23:53 +0200 |
| Message-ID: |
| <20220413162359.325021-1-javierm@redhat.com> |
| Cc: |
| Mark Brown <broonie-AT-kernel.org>, Neil Armstrong <narmstrong-AT-baylibre.com>, Chen-Yu Tsai <wens-AT-kernel.org>, Rob Herring <robh-AT-kernel.org>, Andy Shevchenko <andriy.shevchenko-AT-linux.intel.com>, Geert Uytterhoeven <geert-AT-linux-m68k.org>, dri-devel-AT-lists.freedesktop.org, Javier Martinez Canillas <javierm-AT-redhat.com>, Chen-Yu Tsai <wens-AT-csie.org>, Daniel Vetter <daniel-AT-ffwll.ch>, David Airlie <airlied-AT-linux.ie>, Krzysztof Kozlowski <krzk+dt-AT-kernel.org>, Maxime Ripard <maxime-AT-cerno.tech>, Maxime Ripard <mripard-AT-kernel.org>, Rob Herring <robh+dt-AT-kernel.org>, YueHaibing <yuehaibing-AT-huawei.com>, devicetree-AT-vger.kernel.org |
| Archive-link: |
| Article |
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 v4 that addresses the issues pointed out in v3.
Best regards,
Javier
Changes in v4:
- Add a description for the dc-gpios property for SPI (Geert Uytterhoeven)
- Export ssd13x_variants array using EXPORT_SYMBOL_NS_GPL() (Andy Shevchenko)
- Use MODULE_IMPORT_NS(DRM_SSD130X) in the ssd130x-i2c driver (Andy Shevchenko)
- Use MODULE_IMPORT_NS(DRM_SSD130X) in the ssd130x-spi driver (Andy Shevchenko)
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 | 86 +++++++--
drivers/gpu/drm/solomon/Kconfig | 9 +
drivers/gpu/drm/solomon/Makefile | 1 +
drivers/gpu/drm/solomon/ssd130x-i2c.c | 64 +++----
drivers/gpu/drm/solomon/ssd130x-spi.c | 178 ++++++++++++++++++
drivers/gpu/drm/solomon/ssd130x.c | 35 +++-
drivers/gpu/drm/solomon/ssd130x.h | 14 ++
7 files changed, 330 insertions(+), 57 deletions(-)
create mode 100644 drivers/gpu/drm/solomon/ssd130x-spi.c
--
2.35.1