fbdev: ssd1307fb: add ssd1309 support
authorOlliver Schinagl <o.schinagl@ultimaker.com>
Tue, 8 Sep 2015 19:19:51 +0000 (21:19 +0200)
committerTomi Valkeinen <tomi.valkeinen@ti.com>
Thu, 24 Sep 2015 11:10:26 +0000 (14:10 +0300)
The ssd1307fb driver supports a lot of chips from the ssd130xfb series.
This patch adds the ssd1309 chip, a 128x64 OLED driver chip. It is very
similar to the other chips and only has some definitions added to
support it.

Signed-off-by: Olliver Schinagl <o.schinagl@ultimaker.com>
Acked-by: Rob Herring <robh@kernel.org>
Acked-by: Prabhakar Lad <prabhakar.csengg@gmail.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Documentation/devicetree/bindings/video/ssd1307fb.txt
drivers/video/fbdev/ssd1307fb.c

index d1be78d..eb31ed4 100644 (file)
@@ -2,7 +2,8 @@
 
 Required properties:
   - compatible: Should be "solomon,<chip>fb-<bus>". The only supported bus for
-    now is i2c, and the supported chips are ssd1305, ssd1306 and ssd1307.
+    now is i2c, and the supported chips are ssd1305, ssd1306, ssd1307 and
+    ssd1309.
   - 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 8c01108..fa34808 100644 (file)
@@ -495,6 +495,12 @@ static struct ssd1307fb_deviceinfo ssd1307fb_ssd1307_deviceinfo = {
        .need_pwm = 1,
 };
 
+static struct ssd1307fb_deviceinfo ssd1307fb_ssd1309_deviceinfo = {
+       .default_vcomh = 0x34,
+       .default_dclk_div = 1,
+       .default_dclk_frq = 10,
+};
+
 static const struct of_device_id ssd1307fb_of_match[] = {
        {
                .compatible = "solomon,ssd1305fb-i2c",
@@ -508,6 +514,10 @@ static const struct of_device_id ssd1307fb_of_match[] = {
                .compatible = "solomon,ssd1307fb-i2c",
                .data = (void *)&ssd1307fb_ssd1307_deviceinfo,
        },
+       {
+               .compatible = "solomon,ssd1309fb-i2c",
+               .data = (void *)&ssd1307fb_ssd1309_deviceinfo,
+       },
        {},
 };
 MODULE_DEVICE_TABLE(of, ssd1307fb_of_match);
@@ -709,6 +719,7 @@ static const struct i2c_device_id ssd1307fb_i2c_id[] = {
        { "ssd1305fb", 0 },
        { "ssd1306fb", 0 },
        { "ssd1307fb", 0 },
+       { "ssd1309fb", 0 },
        { }
 };
 MODULE_DEVICE_TABLE(i2c, ssd1307fb_i2c_id);