linux/Documentation/backlight/lp855x-driver.txt
<<
>>
Prefs
   1Kernel driver lp855x
   2====================
   3
   4Backlight driver for LP855x ICs
   5
   6Supported chips:
   7        Texas Instruments LP8550, LP8551, LP8552, LP8553 and LP8556
   8
   9Author: Milo(Woogyom) Kim <milo.kim@ti.com>
  10
  11Description
  12-----------
  13
  14* Brightness control
  15
  16Brightness can be controlled by the pwm input or the i2c command.
  17The lp855x driver supports both cases.
  18
  19* Device attributes
  20
  211) bl_ctl_mode
  22Backlight control mode.
  23Value : pwm based or register based
  24
  252) chip_id
  26The lp855x chip id.
  27Value : lp8550/lp8551/lp8552/lp8553/lp8556
  28
  29Platform data for lp855x
  30------------------------
  31
  32For supporting platform specific data, the lp855x platform data can be used.
  33
  34* name : Backlight driver name. If it is not defined, default name is set.
  35* mode : Brightness control mode. PWM or register based.
  36* device_control : Value of DEVICE CONTROL register.
  37* initial_brightness : Initial value of backlight brightness.
  38* pwm_data : Platform specific pwm generation functions.
  39             Only valid when brightness is pwm input mode.
  40             Functions should be implemented by PWM driver.
  41             - pwm_set_intensity() : set duty of PWM
  42             - pwm_get_intensity() : get current duty of PWM
  43* load_new_rom_data :
  44        0 : use default configuration data
  45        1 : update values of eeprom or eprom registers on loading driver
  46* size_program : Total size of lp855x_rom_data.
  47* rom_data : List of new eeprom/eprom registers.
  48
  49example 1) lp8552 platform data : i2c register mode with new eeprom data
  50
  51#define EEPROM_A5_ADDR  0xA5
  52#define EEPROM_A5_VAL   0x4f    /* EN_VSYNC=0 */
  53
  54static struct lp855x_rom_data lp8552_eeprom_arr[] = {
  55        {EEPROM_A5_ADDR, EEPROM_A5_VAL},
  56};
  57
  58static struct lp855x_platform_data lp8552_pdata = {
  59        .name = "lcd-bl",
  60        .mode = REGISTER_BASED,
  61        .device_control = I2C_CONFIG(LP8552),
  62        .initial_brightness = INITIAL_BRT,
  63        .load_new_rom_data = 1,
  64        .size_program = ARRAY_SIZE(lp8552_eeprom_arr),
  65        .rom_data = lp8552_eeprom_arr,
  66};
  67
  68example 2) lp8556 platform data : pwm input mode with default rom data
  69
  70static struct lp855x_platform_data lp8556_pdata = {
  71        .mode = PWM_BASED,
  72        .device_control = PWM_CONFIG(LP8556),
  73        .initial_brightness = INITIAL_BRT,
  74        .pwm_data = {
  75                     .pwm_set_intensity = platform_pwm_set_intensity,
  76                     .pwm_get_intensity = platform_pwm_get_intensity,
  77                     },
  78};
  79
lxr.linux.no kindly hosted by Redpill Linpro AS, provider of Linux consulting and operations services since 1995.