[PATCH 0/5] video: ssd1307fb: Add SPI support
Michael Tretter
m.tretter at pengutronix.de
Fri Dec 17 10:22:55 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.
Unfortunately, the bindings for the SPI connected display are not documented.
This 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.
While the driver allows to use SPI and I2C, which would be a use case for
regmap, the driver does not use regmap, because the controller does not
actually expose registers, but simply accepts commands or data. This does not
match the regmap API. Therefore, the driver uses its own abstraction for the
bus.
The updated driver also allows to disable either SPI or I2C and uses #if
statements in the driver code, which I don't really like. I considered it
better than making the driver dependent on SPI and I2C, but if there is a
better way to handle this either/or dependency, I will gladly update the
driver accordingly.
Patches 1-4 refactor the driver to have fewer locations that refer to I2C to
simplify disabling the I2C support.
Patch 5 actually adds the SPI support and makes I2C optional.
Michael
Michael Tretter (5):
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 | 180 ++++++++++++++++++++++++++------------
2 files changed, 125 insertions(+), 57 deletions(-)
--
2.30.2
More information about the barebox
mailing list