1. 28 1月, 2014 1 次提交
    • M
      leds: lp5523: Support LED MUX configuration on running a pattern · 93ad8a1d
      Milo Kim 提交于
      There are two ways to run a pattern in LP5523.
      One is using legacy sysfs files such as 'enginex_mode','enginex_load' and
      'enginex_leds'. ('x' is from 1 to 3).
      Among them, 'enginex_leds' are used for selecting specific LED channel MUX.
      (MUX means which LEDs are used for running a pattern from LED 1 to 9.)
      
      The other way is using the firmware interface.
      In this mode, the default LED MUX strings are used.
      In other words, LED MUX is not configurable on the fly.
      
      This patch enables dynamic LED MUX configuration when the firmware is loaded.
      By accessing the sysfs file 'enginex_leds', the LED channels can be configured.
      To synchronize the operation mode, each engine mode should be set to 'LOAD'.
      
      The documentation is updated as well.
      
      Cc: Pali Rohár <pali.rohar@gmail.com>
      Signed-off-by: NMilo Kim <milo.kim@ti.com>
      Signed-off-by: NBryan Wu <cooloney@gmail.com>
      93ad8a1d
  2. 26 10月, 2013 1 次提交
  3. 23 10月, 2013 1 次提交
  4. 27 8月, 2013 1 次提交
    • K
      leds: support new LP8501 device - another LP55xx common · 33b3a561
      Kim, Milo 提交于
      LP8501 can drive up to 9 channels like LP5523.
      LEDs can be controlled directly via the I2C and programmable engines are
      supported.
      
      LP55xx common driver
       LP8501 is one of LP55xx family device, so LP55xx common code are used.
       Chip specific data is defined in the structure, 'lp55xx_device_config'.
      
      Differences between LP8501 and LP5523
       Different register layout for LED output control and others.
       LP8501 specific feature for separate output power selection.
       LP8501 doesn't support external clock detection.
       Different programming engine data.
      
      LP8501 specific feature - output power selection
       Output channels are selected by power selection - Vout or Vdd.
       Separate power for VDD1-6 and VDD7-9 are available.
       It is configurable in the platform data.
       To support this feature, LP55xx DT structure and header are changed.
       Device tree binding is updated as well.
      
      LED pattern data
       Example pattern data is updated in the driver documentation.
      Signed-off-by: NMilo Kim <milo.kim@ti.com>
      Signed-off-by: NBryan Wu <cooloney@gmail.com>
      33b3a561
  5. 21 6月, 2013 2 次提交
  6. 02 4月, 2013 3 次提交
    • K
      leds: lp55xx: use common clock framework when external clock is used · 53b41922
      Kim, Milo 提交于
      Program execution is timed with 32768Hz clock in the LP55xx family devices.
      To run LED functionalities, LP55xx devices provide two options.
      One is using internal clock. The other is using external clock.
      This patch enables external clock detection automatically.
      If external clock is not detected, then the internal clock will be used in the
      LP55xx driver.
      
      Valid clock rate is 32768Hz in LP55xx devices.
      
      This new API is used in each LP55xx driver like LP5521 and LP5562.
      Signed-off-by: NMilo(Woogyom) Kim <milo.kim@ti.com>
      Signed-off-by: NBryan Wu <cooloney@gmail.com>
      53b41922
    • K
      leds: lp55xx: fix the sysfs read operation · 24d32128
      Kim, Milo 提交于
      According to a sysfs documentation(Documentation/filesystem/sysfs.txt),
      scnprintf() should be used in a read operation method.
      It guarantees safe buffer size(PAGE_SIZE) which is allocated by the sysfs.
      Signed-off-by: NMilo(Woogyom) Kim <milo.kim@ti.com>
      Signed-off-by: NBryan Wu <cooloney@gmail.com>
      24d32128
    • K
      leds: add new LP5562 LED driver · ff45262a
      Kim, Milo 提交于
      LP5562 can drive up to 4 channels, RGB and White.
      LEDs can be controlled directly via the led class control interface.
      
       LP55xx common driver
        LP5562 is one of LP55xx family device, so LP55xx common code are used.
        On the other hand, chip specific configuration is defined in the structure
        'lp55xx_device_config'
      
       LED pattern data
        LP5562 has also internal program memory which is used for running various LED
        patterns. LP5562 driver supports the firmware interface and the predefined
        pattern data as well.
      
       LP5562 device attributes: 'led_pattern' and 'engine_mux'
        A 'led_pattern' is an index code which runs the predefined pattern data.
        And 'engine_mux' is updated with the firmware interface is activated.
        Detailed description has been updated in the documentation files,
        'leds-lp55xx.txt' and 'leds-lp5562.txt'.
      
       Changes on the header file
        LP5562 configurable definitions are added.
        Pattern RGB data is fixed as constant value.
        (No side effect on other devices, LP5521 or LP5523.)
      
      (cooloney@gmail.com: remove redundant mutex_unlock(). Reported by Dan
      Carpenter <dan.carpenter@oracle.com>)
      Signed-off-by: NMilo(Woogyom) Kim <milo.kim@ti.com>
      Signed-off-by: NBryan Wu <cooloney@gmail.com>
      ff45262a
  7. 07 2月, 2013 18 次提交