GNU Linux-libre 4.14.266-gnu1
[releases.git] / Documentation / backlight / lp855x-driver.txt
1 Kernel driver lp855x
2 ====================
3
4 Backlight driver for LP855x ICs
5
6 Supported chips:
7         Texas Instruments LP8550, LP8551, LP8552, LP8553, LP8555, LP8556 and
8         LP8557
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.
28 Value : lp8550/lp8551/lp8552/lp8553/lp8555/lp8556/lp8557
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.
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
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",
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
60 example 2) lp8556 platform data : pwm input mode with default rom data
61
62 static struct lp855x_platform_data lp8556_pdata = {
63         .device_control = PWM_CONFIG(LP8556),
64         .initial_brightness = INITIAL_BRT,
65         .period_ns = 1000000,
66 };