cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

lp855x-driver.rst (1855B)


      1====================
      2Kernel driver lp855x
      3====================
      4
      5Backlight driver for LP855x ICs
      6
      7Supported chips:
      8
      9	Texas Instruments LP8550, LP8551, LP8552, LP8553, LP8555, LP8556 and
     10	LP8557
     11
     12Author: Milo(Woogyom) Kim <milo.kim@ti.com>
     13
     14Description
     15-----------
     16
     17* Brightness control
     18
     19  Brightness can be controlled by the pwm input or the i2c command.
     20  The lp855x driver supports both cases.
     21
     22* Device attributes
     23
     24  1) bl_ctl_mode
     25
     26  Backlight control mode.
     27
     28  Value: pwm based or register based
     29
     30  2) chip_id
     31
     32  The lp855x chip id.
     33
     34  Value: lp8550/lp8551/lp8552/lp8553/lp8555/lp8556/lp8557
     35
     36Platform data for lp855x
     37------------------------
     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
     55Examples
     56========
     57
     581) lp8552 platform data: i2c register mode with new eeprom data::
     59
     60    #define EEPROM_A5_ADDR	0xA5
     61    #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    };