Kernel driver lp855x
====================

Backlight driver for LP855x ICs

Supported chips:
	Texas Instruments LP8550, LP8551, LP8552, LP8553, LP8555, LP8556 and
	LP8557

Author: Milo(Woogyom) Kim <milo.kim@ti.com>

Description
-----------

* Brightness control

Brightness can be controlled by the pwm input or the i2c command.
The lp855x driver supports both cases.

* Device attributes

1) bl_ctl_mode
Backlight control mode.
Value : pwm based or register based

2) chip_id
The lp855x chip id.
Value : lp8550/lp8551/lp8552/lp8553/lp8555/lp8556/lp8557

Platform data for lp855x
------------------------

For supporting platform specific data, the lp855x platform data can be used.

* name : Backlight driver name. If it is not defined, default name is set.
* device_control : Value of DEVICE CONTROL register.
* initial_brightness : Initial value of backlight brightness.
* period_ns : Platform specific PWM period value. unit is nano.
	     Only valid when brightness is pwm input mode.
* size_program : Total size of lp855x_rom_data.
* rom_data : List of new eeprom/eprom registers.

example 1) lp8552 platform data : i2c register mode with new eeprom data

#define EEPROM_A5_ADDR	0xA5
#define EEPROM_A5_VAL	0x4f	/* EN_VSYNC=0 */

static struct lp855x_rom_data lp8552_eeprom_arr[] = {
	{EEPROM_A5_ADDR, EEPROM_A5_VAL},
};

static struct lp855x_platform_data lp8552_pdata = {
	.name = "lcd-bl",
	.device_control = I2C_CONFIG(LP8552),
	.initial_brightness = INITIAL_BRT,
	.size_program = ARRAY_SIZE(lp8552_eeprom_arr),
	.rom_data = lp8552_eeprom_arr,
};

example 2) lp8556 platform data : pwm input mode with default rom data

static struct lp855x_platform_data lp8556_pdata = {
	.device_control = PWM_CONFIG(LP8556),
	.initial_brightness = INITIAL_BRT,
	.period_ns = 1000000,
};
