drm/solomon: Add SSD130x OLED displays SPI support
authorJavier Martinez Canillas <javierm@redhat.com>
Tue, 19 Apr 2022 21:48:23 +0000 (23:48 +0200)
committerJavier Martinez Canillas <javierm@redhat.com>
Wed, 20 Apr 2022 16:48:17 +0000 (18:48 +0200)
commit74373977d2ca26e5735377f8874be70bc2f030f5
tree5d9e0e3cc82cd704b788804c99e13d8f7670611c
parent4203e88ba80bbcdfaa7689db286d07cf4f2993d0
drm/solomon: Add SSD130x OLED displays SPI support

The ssd130x driver only provides the core support for these devices but it
does not have any bus transport logic. Add a driver to interface over SPI.

There is a difference in the communication protocol when using 4-wire SPI
instead of I2C. For the latter, a control byte that contains a D/C# field
has to be sent. This field tells the controller whether the data has to be
written to the command register or to the graphics display data memory.

But for 4-wire SPI that control byte is not used, instead a real D/C# line
must be pulled HIGH for commands data and LOW for graphics display data.

For this reason the standard SPI regmap can't be used and a custom .write
bus handler is needed.

Signed-off-by: Javier Martinez Canillas <javierm@redhat.com>
Acked-by: Mark Brown <broonie@kernel.org>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://patchwork.freedesktop.org/patch/msgid/20220419214824.335075-6-javierm@redhat.com
drivers/gpu/drm/solomon/Kconfig
drivers/gpu/drm/solomon/Makefile
drivers/gpu/drm/solomon/ssd130x-spi.c [new file with mode: 0644]