1Kernel driver lp855x 2==================== 3 4Backlight driver for LP855x ICs 5 6Supported chips: 7 Texas Instruments LP8550, LP8551, LP8552, LP8553, LP8555, LP8556 and 8 LP8557 9 10Author: Milo(Woogyom) Kim <milo.kim@ti.com> 11 12Description 13----------- 14 15* Brightness control 16 17Brightness can be controlled by the pwm input or the i2c command. 18The lp855x driver supports both cases. 19 20* Device attributes 21 221) bl_ctl_mode 23Backlight control mode. 24Value : pwm based or register based 25 262) chip_id 27The lp855x chip id. 28Value : lp8550/lp8551/lp8552/lp8553/lp8555/lp8556/lp8557 29 30Platform data for lp855x 31------------------------ 32 33For supporting platform specific data, the lp855x platform data can be used. 34 35* name : Backlight driver name. If it is not defined, default name is set. 36* device_control : Value of DEVICE CONTROL register. 37* initial_brightness : Initial value of backlight brightness. 38* period_ns : Platform specific PWM period value. unit is nano. 39 Only valid when brightness is pwm input mode. 40* size_program : Total size of lp855x_rom_data. 41* rom_data : List of new eeprom/eprom registers. 42 43example 1) lp8552 platform data : i2c register mode with new eeprom data 44 45#define EEPROM_A5_ADDR 0xA5 46#define EEPROM_A5_VAL 0x4f /* EN_VSYNC=0 */ 47 48static struct lp855x_rom_data lp8552_eeprom_arr[] = { 49 {EEPROM_A5_ADDR, EEPROM_A5_VAL}, 50}; 51 52static struct lp855x_platform_data lp8552_pdata = { 53 .name = "lcd-bl", 54 .device_control = I2C_CONFIG(LP8552), 55 .initial_brightness = INITIAL_BRT, 56 .size_program = ARRAY_SIZE(lp8552_eeprom_arr), 57 .rom_data = lp8552_eeprom_arr, 58}; 59 60example 2) lp8556 platform data : pwm input mode with default rom data 61 62static struct lp855x_platform_data lp8556_pdata = { 63 .device_control = PWM_CONFIG(LP8556), 64 .initial_brightness = INITIAL_BRT, 65 .period_ns = 1000000, 66}; 67