12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- Kernel driver lp855x
- ====================
- Backlight driver for LP855x ICs
- Supported chips:
- Texas Instruments LP8550, LP8551, LP8552, LP8553 and LP8556
- Author: Milo(Woogyom) Kim <milo.kim@ti.com>
- Description
- -----------
- * Brightness control
- Brightness can be controlled by the pwm input or the i2c command.
- The lp855x driver supports both cases.
- * Device attributes
- 1) bl_ctl_mode
- Backlight control mode.
- Value : pwm based or register based
- 2) chip_id
- The lp855x chip id.
- Value : lp8550/lp8551/lp8552/lp8553/lp8556
- Platform data for lp855x
- ------------------------
- For supporting platform specific data, the lp855x platform data can be used.
- * name : Backlight driver name. If it is not defined, default name is set.
- * mode : Brightness control mode. PWM or register based.
- * device_control : Value of DEVICE CONTROL register.
- * initial_brightness : Initial value of backlight brightness.
- * pwm_data : Platform specific pwm generation functions.
- Only valid when brightness is pwm input mode.
- Functions should be implemented by PWM driver.
- - pwm_set_intensity() : set duty of PWM
- - pwm_get_intensity() : get current duty of PWM
- * load_new_rom_data :
- 0 : use default configuration data
- 1 : update values of eeprom or eprom registers on loading driver
- * size_program : Total size of lp855x_rom_data.
- * rom_data : List of new eeprom/eprom registers.
- example 1) lp8552 platform data : i2c register mode with new eeprom data
- #define EEPROM_A5_ADDR 0xA5
- #define EEPROM_A5_VAL 0x4f /* EN_VSYNC=0 */
- static struct lp855x_rom_data lp8552_eeprom_arr[] = {
- {EEPROM_A5_ADDR, EEPROM_A5_VAL},
- };
- static struct lp855x_platform_data lp8552_pdata = {
- .name = "lcd-bl",
- .mode = REGISTER_BASED,
- .device_control = I2C_CONFIG(LP8552),
- .initial_brightness = INITIAL_BRT,
- .load_new_rom_data = 1,
- .size_program = ARRAY_SIZE(lp8552_eeprom_arr),
- .rom_data = lp8552_eeprom_arr,
- };
- example 2) lp8556 platform data : pwm input mode with default rom data
- static struct lp855x_platform_data lp8556_pdata = {
- .mode = PWM_BASED,
- .device_control = PWM_CONFIG(LP8556),
- .initial_brightness = INITIAL_BRT,
- .pwm_data = {
- .pwm_set_intensity = platform_pwm_set_intensity,
- .pwm_get_intensity = platform_pwm_get_intensity,
- },
- };
|