[PATCH v2 0/8] video: ssd1307fb: Add SPI support
Michael Tretter
m.tretter at pengutronix.de
Thu Dec 23 08:03:56 PST 2021
Hello,
The Solomon single-chip CMOS OLED/PLED driver with controller can be connected
to I2C or SPI. The driver already supports I2C. This series adds support for
SPI connected displays to the driver.
The bindings for the SPI connected display are still not documented. The
driver uses the (undocumented) solomon,ssd1306 compatible of the staging
driver in Linux, but uses properties defined for the solomon,ssd1306fb-i2c
compatible of the I2C driver. I moved the warning about the compatible from
the commit message into the driver to have it in the same place as the use of
the compatible and to allow to eventually remove it.
The driver still allows to use SPI and I2C with its own hand-rolled
abstraction, because the controller does not actually expose registers, but
simply accepts commands or data. I followed Ahmad's suggestions how to remove
the ugly #ifdefs and the driver looks a lot nicer now.
Patches 1-3 adjust the SPI and I2C frameworks to make them nicer to use for
drivers that support devices that may be connected via SPI or I2C.
Patches 4-7 refactor the driver to have fewer locations that refer to I2C to
simplify disabling the I2C support.
Patch 8 actually adds the SPI support and makes I2C optional.
Michael
---
Changelog:
v2:
- add new Patches 1-3 for the SPI and I2C frameworks
- use new SPI and I2C helpers to get rid of use of config macros
- move warning about undocumented compatible into driver
Michael Tretter (8):
spi: stub device_spi_driver if SPI is disabled
spi: add to_spi_device helper
i2c: stub device_i2c_driver if I2C is disabled
video: ssd1307fb: pass par instead of i2c client to write
video: ssd1307fb: don't use i2c client for logging
video: ssd1307fb: move i2c setup to single place
video: ssd1307fb: use function pointer for write
video: ssd1307fb: add spi support
drivers/video/Kconfig | 2 +-
drivers/video/ssd1307fb.c | 170 +++++++++++++++++++++++++-------------
include/i2c/i2c.h | 5 ++
include/spi/spi.h | 10 +++
4 files changed, 130 insertions(+), 57 deletions(-)
--
2.30.2
More information about the barebox
mailing list