82 lines · plain
1====================2Kernel driver lp855x3====================4 5Backlight driver for LP855x ICs6 7Supported chips:8 9 Texas Instruments LP8550, LP8551, LP8552, LP8553, LP8555, LP8556 and10 LP855711 12Author: Milo(Woogyom) Kim <milo.kim@ti.com>13 14Description15-----------16 17* Brightness control18 19 Brightness can be controlled by the pwm input or the i2c command.20 The lp855x driver supports both cases.21 22* Device attributes23 24 1) bl_ctl_mode25 26 Backlight control mode.27 28 Value: pwm based or register based29 30 2) chip_id31 32 The lp855x chip id.33 34 Value: lp8550/lp8551/lp8552/lp8553/lp8555/lp8556/lp855735 36Platform data for lp855x37------------------------38 39For supporting platform specific data, the lp855x platform data can be used.40 41* name:42 Backlight driver name. If it is not defined, default name is set.43* device_control:44 Value of DEVICE CONTROL register.45* initial_brightness:46 Initial value of backlight brightness.47* period_ns:48 Platform specific PWM period value. unit is nano.49 Only valid when brightness is pwm input mode.50* size_program:51 Total size of lp855x_rom_data.52* rom_data:53 List of new eeprom/eprom registers.54 55Examples56========57 581) lp8552 platform data: i2c register mode with new eeprom data::59 60 #define EEPROM_A5_ADDR 0xA561 #define EEPROM_A5_VAL 0x4f /* EN_VSYNC=0 */62 63 static struct lp855x_rom_data lp8552_eeprom_arr[] = {64 {EEPROM_A5_ADDR, EEPROM_A5_VAL},65 };66 67 static struct lp855x_platform_data lp8552_pdata = {68 .name = "lcd-bl",69 .device_control = I2C_CONFIG(LP8552),70 .initial_brightness = INITIAL_BRT,71 .size_program = ARRAY_SIZE(lp8552_eeprom_arr),72 .rom_data = lp8552_eeprom_arr,73 };74 752) lp8556 platform data: pwm input mode with default rom data::76 77 static struct lp855x_platform_data lp8556_pdata = {78 .device_control = PWM_CONFIG(LP8556),79 .initial_brightness = INITIAL_BRT,80 .period_ns = 1000000,81 };82