Skip to content

Commit

Permalink
drivers: display: Add ssd1322 driver
Browse files Browse the repository at this point in the history
Initial support for SSD1322 OLED display driver. Only 1 bit color mode is
supported.

Most options map directly to values documented in the datasheet,
except segments-per-pixel, which I had to add to support the Newhaven
NHD-2.7-12864WDW3. This is a slightly odd feature, but in practice
it is a lot nicer to support it in the driver, and since we're currently
remapping pixels anyway, it makes sense to implement here.

This driver also has a configurable buffer size for the pixel conversion.
By using a larger buffer, we can potentially use DMA for the SPI transfer.
The default is set to 8, which is the smallest value that supports
segments-per-pixel = 2

Initial driver implementation by Lukasz Hawrylko <[email protected]>.
Additional options and configurability by Tobias Pisani <[email protected]>

Signed-off-by: Lukasz Hawrylko <[email protected]>
Signed-off-by: Tobias Pisani <[email protected]>

Co-authored-by: Lukasz Hawrylko <[email protected]>
Co-authored-by: Tobias Pisani <[email protected]>
  • Loading branch information
2 people authored and henrikbrixandersen committed Oct 18, 2024
1 parent 3e109d6 commit 3253d33
Show file tree
Hide file tree
Showing 5 changed files with 459 additions and 0 deletions.
1 change: 1 addition & 0 deletions drivers/display/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ zephyr_library_sources_ifdef(CONFIG_OTM8009A display_otm8009a.c)
zephyr_library_sources_ifdef(CONFIG_SSD1306 ssd1306.c)
zephyr_library_sources_ifdef(CONFIG_SSD1327 ssd1327.c)
zephyr_library_sources_ifdef(CONFIG_SSD16XX ssd16xx.c)
zephyr_library_sources_ifdef(CONFIG_SSD1322 ssd1322.c)
zephyr_library_sources_ifdef(CONFIG_ST7789V display_st7789v.c)
zephyr_library_sources_ifdef(CONFIG_ST7735R display_st7735r.c)
zephyr_library_sources_ifdef(CONFIG_ST7796S display_st7796s.c)
Expand Down
1 change: 1 addition & 0 deletions drivers/display/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ source "drivers/display/Kconfig.sdl"
source "drivers/display/Kconfig.ssd1306"
source "drivers/display/Kconfig.ssd1327"
source "drivers/display/Kconfig.ssd16xx"
source "drivers/display/Kconfig.ssd1322"
source "drivers/display/Kconfig.st7735r"
source "drivers/display/Kconfig.st7789v"
source "drivers/display/Kconfig.st7796s"
Expand Down
10 changes: 10 additions & 0 deletions drivers/display/Kconfig.ssd1322
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# Copyright (c) 2024 Lukasz Hawrylko
# SPDX-License-Identifier: Apache-2.0

config SSD1322
bool "SSD1322 display driver"
default y
depends on DT_HAS_SOLOMON_SSD1322_ENABLED
select MIPI_DBI
help
Enable driver for SSD1322 display driver.
Loading

0 comments on commit 3253d33

Please sign in to comment.