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

Backlight driver for LP855x ICs

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

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/lp8556

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.
* mode : Brightness control mode. PWM or register based.
* 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.
* load_new_rom_data :
	0 : use default configuration data
	1 : update values of eeprom or eprom registers on loading driver
* 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",
	.mode = REGISTER_BASED,
	.device_control = I2C_CONFIG(LP8552),
	.initial_brightness = INITIAL_BRT,
	.load_new_rom_data = 1,
	.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 = {
	.mode = PWM_BASED,
	.device_control = PWM_CONFIG(LP8556),
	.initial_brightness = INITIAL_BRT,
	.period_ns = 1000000,
};
