fbdev: ssd1307fb: Add support for SSD1305
authorThomas Niederprüm <niederp@physik.uni-kl.de>
Tue, 31 Mar 2015 18:27:12 +0000 (20:27 +0200)
committerTomi Valkeinen <tomi.valkeinen@ti.com>
Wed, 27 May 2015 09:54:19 +0000 (12:54 +0300)
This patch adds support for the SSD1305 OLED controller.

Signed-off-by: Thomas Niederprüm <niederp@physik.uni-kl.de>
Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Documentation/devicetree/bindings/video/ssd1307fb.txt
drivers/video/fbdev/ssd1307fb.c

index 635efa3b2b2739624771b600e1da4c49b4364452..d1be78db63f5af22f0914695881c6b4d6398d8d3 100644 (file)
@@ -2,7 +2,7 @@
 
 Required properties:
   - 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
          0x3c or 0x3d
   - pwm: Should contain the pwm to use according to the OF device tree PWM
index 8667c7769d8a95b5a2b24d8d165cc32a68c9f252..f685d244fa2a6362d7a408f3e73e2419bf8e1e2b 100644 (file)
@@ -424,6 +424,12 @@ static int ssd1307fb_init(struct ssd1307fb_par *par)
        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 = {
        .default_vcomh = 0x20,
        .default_dclk_div = 1,
@@ -439,6 +445,10 @@ static struct ssd1307fb_deviceinfo ssd1307fb_ssd1307_deviceinfo = {
 };
 
 static const struct of_device_id ssd1307fb_of_match[] = {
+       {
+               .compatible = "solomon,ssd1305fb-i2c",
+               .data = (void *)&ssd1307fb_ssd1305_deviceinfo,
+       },
        {
                .compatible = "solomon,ssd1306fb-i2c",
                .data = (void *)&ssd1307fb_ssd1306_deviceinfo,
@@ -612,6 +622,7 @@ static int ssd1307fb_remove(struct i2c_client *client)
 }
 
 static const struct i2c_device_id ssd1307fb_i2c_id[] = {
+       { "ssd1305fb", 0 },
        { "ssd1306fb", 0 },
        { "ssd1307fb", 0 },
        { }