Commit 5f2d36b3 authored by Thomas Niederprüm's avatar Thomas Niederprüm Committed by Tomi Valkeinen

fbdev: ssd1307fb: Add support for SSD1305

This patch adds support for the SSD1305 OLED controller.
Signed-off-by: default avatarThomas Niederprüm <niederp@physik.uni-kl.de>
Acked-by: default avatarMaxime Ripard <maxime.ripard@free-electrons.com>
Signed-off-by: default avatarTomi Valkeinen <tomi.valkeinen@ti.com>
parent 20400851
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
Required properties: Required properties:
- compatible: Should be "solomon,<chip>fb-<bus>". The only supported bus for - compatible: Should be "solomon,<chip>fb-<bus>". The only supported bus for
now is i2c, and the supported chips are ssd1306 and ssd1307. now is i2c, and the supported chips are ssd1305, ssd1306 and ssd1307.
- reg: Should contain address of the controller on the I2C bus. Most likely - reg: Should contain address of the controller on the I2C bus. Most likely
0x3c or 0x3d 0x3c or 0x3d
- pwm: Should contain the pwm to use according to the OF device tree PWM - pwm: Should contain the pwm to use according to the OF device tree PWM
......
...@@ -424,6 +424,12 @@ static int ssd1307fb_init(struct ssd1307fb_par *par) ...@@ -424,6 +424,12 @@ static int ssd1307fb_init(struct ssd1307fb_par *par)
return 0; return 0;
} }
static struct ssd1307fb_deviceinfo ssd1307fb_ssd1305_deviceinfo = {
.default_vcomh = 0x34,
.default_dclk_div = 1,
.default_dclk_frq = 7,
};
static struct ssd1307fb_deviceinfo ssd1307fb_ssd1306_deviceinfo = { static struct ssd1307fb_deviceinfo ssd1307fb_ssd1306_deviceinfo = {
.default_vcomh = 0x20, .default_vcomh = 0x20,
.default_dclk_div = 1, .default_dclk_div = 1,
...@@ -439,6 +445,10 @@ static struct ssd1307fb_deviceinfo ssd1307fb_ssd1307_deviceinfo = { ...@@ -439,6 +445,10 @@ static struct ssd1307fb_deviceinfo ssd1307fb_ssd1307_deviceinfo = {
}; };
static const struct of_device_id ssd1307fb_of_match[] = { static const struct of_device_id ssd1307fb_of_match[] = {
{
.compatible = "solomon,ssd1305fb-i2c",
.data = (void *)&ssd1307fb_ssd1305_deviceinfo,
},
{ {
.compatible = "solomon,ssd1306fb-i2c", .compatible = "solomon,ssd1306fb-i2c",
.data = (void *)&ssd1307fb_ssd1306_deviceinfo, .data = (void *)&ssd1307fb_ssd1306_deviceinfo,
...@@ -612,6 +622,7 @@ static int ssd1307fb_remove(struct i2c_client *client) ...@@ -612,6 +622,7 @@ static int ssd1307fb_remove(struct i2c_client *client)
} }
static const struct i2c_device_id ssd1307fb_i2c_id[] = { static const struct i2c_device_id ssd1307fb_i2c_id[] = {
{ "ssd1305fb", 0 },
{ "ssd1306fb", 0 }, { "ssd1306fb", 0 },
{ "ssd1307fb", 0 }, { "ssd1307fb", 0 },
{ } { }
......
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