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