drm/ssd130x: Add support for the SSD133x OLED controller family

The Solomon SSD133x controllers (such as the SSD1331) are used by RGB dot
matrix OLED panels, add a modesetting pipeline to support the chip family.

The SSD133x controllers support 256 (8-bit) and 65k (16-bit) color depths
but only the 256-color mode (DRM_FORMAT_RGB332) is implemented for now.
Signed-off-by: default avatarJavier Martinez Canillas <javierm@redhat.com>
Reviewed-by: default avatarJocelyn Falempe <jfalempe@redhat.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20231229112026.2797483-5-javierm@redhat.com
parent e06b7373
...@@ -142,6 +142,11 @@ static const struct of_device_id ssd130x_of_match[] = { ...@@ -142,6 +142,11 @@ static const struct of_device_id ssd130x_of_match[] = {
.compatible = "solomon,ssd1327", .compatible = "solomon,ssd1327",
.data = &ssd130x_variants[SSD1327_ID], .data = &ssd130x_variants[SSD1327_ID],
}, },
/* ssd133x family */
{
.compatible = "solomon,ssd1331",
.data = &ssd130x_variants[SSD1331_ID],
},
{ /* sentinel */ } { /* sentinel */ }
}; };
MODULE_DEVICE_TABLE(of, ssd130x_of_match); MODULE_DEVICE_TABLE(of, ssd130x_of_match);
...@@ -166,6 +171,8 @@ static const struct spi_device_id ssd130x_spi_table[] = { ...@@ -166,6 +171,8 @@ static const struct spi_device_id ssd130x_spi_table[] = {
{ "ssd1322", SSD1322_ID }, { "ssd1322", SSD1322_ID },
{ "ssd1325", SSD1325_ID }, { "ssd1325", SSD1325_ID },
{ "ssd1327", SSD1327_ID }, { "ssd1327", SSD1327_ID },
/* ssd133x family */
{ "ssd1331", SSD1331_ID },
{ /* sentinel */ } { /* sentinel */ }
}; };
MODULE_DEVICE_TABLE(spi, ssd130x_spi_table); MODULE_DEVICE_TABLE(spi, ssd130x_spi_table);
......
This diff is collapsed.
...@@ -25,7 +25,8 @@ ...@@ -25,7 +25,8 @@
enum ssd130x_family_ids { enum ssd130x_family_ids {
SSD130X_FAMILY, SSD130X_FAMILY,
SSD132X_FAMILY SSD132X_FAMILY,
SSD133X_FAMILY
}; };
enum ssd130x_variants { enum ssd130x_variants {
...@@ -39,6 +40,8 @@ enum ssd130x_variants { ...@@ -39,6 +40,8 @@ enum ssd130x_variants {
SSD1322_ID, SSD1322_ID,
SSD1325_ID, SSD1325_ID,
SSD1327_ID, SSD1327_ID,
/* ssd133x family */
SSD1331_ID,
NR_SSD130X_VARIANTS NR_SSD130X_VARIANTS
}; };
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment