1. 27 5月, 2015 2 次提交
    • T
      fbdev: ssd1307fb: Add support for SSD1305 · 5f2d36b3
      Thomas Niederprüm 提交于
      This patch adds support for the SSD1305 OLED controller.
      Signed-off-by: NThomas Niederprüm <niederp@physik.uni-kl.de>
      Acked-by: NMaxime Ripard <maxime.ripard@free-electrons.com>
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      5f2d36b3
    • T
      fbdev: ssd1307fb: Unify init code and obtain hw specific bits from DT · c89eacfc
      Thomas Niederprüm 提交于
      The 130X controllers are very similar from the configuration point of view.
      The configuration registers for the SSD1305/6/7 are bit identical (except the
      the VHCOM register and the the default values for clock setup register). This
      patch unifies the init code of the controller and adds hardware specific
      properties to DT that are needed to correctly initialize the device.
      
      The SSD130X can be wired to the OLED panel in various ways. Even for the
      same controller this wiring can differ from one display module to another
      and can not be probed by software. The added DT properties reflect these
      hardware decisions of the display module manufacturer.
      The 'com-sequential', 'com-lrremap' and 'com-invdir' values define different
      possibilities for the COM signals pin configuration and readout direction
      of the video memory. The 'segment-no-remap' allows the inversion of the
      memory-to-pin mapping ultimately inverting the order of the controllers
      output pins. The 'prechargepX' values need to be adapted according to the
      capacitance of the OLEDs pixel cells.
      
      So far these hardware specific bits are hard coded in the init code, making
      the driver usable only for one certain wiring of the controller. This patch
      makes the driver usable with all possible hardware setups, given a valid hw
      description in DT. If these values are not set in DT the default values,
      as they are set in the ssd1307 init code right now, are used. This implies
      that without the corresponding DT property "segment-no-remap" the segment
      remap of the ssd130X controller gets activated. Even though this is not the
      default behaviour according to the datasheet it maintains backward
      compatibility with older DTBs.
      
      Note that the SSD1306 does not seem to be using the configuration written to
      the registers at all. Therefore this patch does not try to maintain these
      values without changes in DT. For reference an example is added to the DT
      bindings documentation that reproduces the configuration that is set in the
      current init code.
      Signed-off-by: NThomas Niederprüm <niederp@physik.uni-kl.de>
      Tested-by: NOlliver Schinagl <o.schinagl@ultimaker.com>
      Acked-by: NMaxime Ripard <maxime.ripard@free-electrons.com>
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      c89eacfc
  2. 28 5月, 2013 1 次提交
  3. 10 12月, 2012 1 次提交