backlight: lp855x_bl: support new LP8555 device

LP8555 is one of the LP855x family devices.

This device needs pre_init_device() and post_init_device() driver
structure.  It's same as LP8557, so the device configuration code is
shared with LP8557.  Backlight outputs are generated from dual DC-DC boost
converters.  It's configurable EPROM settings which are defined in the
platform data.

Driver documentation and device tree bindings are updated.

Signed-off-by: Milo Kim <milo.kim@ti.com>
Signed-off-by: Jingoo Han <jg1.han@samsung.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
Milo Kim 2013-11-12 15:08:57 -08:00 committed by Linus Torvalds
parent b300645aec
commit 5812c13a4e
5 changed files with 67 additions and 7 deletions

View file

@ -40,6 +40,17 @@
#define LP8553_PWM_CONFIG LP8550_PWM_CONFIG
#define LP8553_I2C_CONFIG LP8550_I2C_CONFIG
/* CONFIG register - LP8555 */
#define LP8555_PWM_STANDBY BIT(7)
#define LP8555_PWM_FILTER BIT(6)
#define LP8555_RELOAD_EPROM BIT(3) /* use it if EPROMs should be reset
when the backlight turns on */
#define LP8555_OFF_OPENLEDS BIT(2)
#define LP8555_PWM_CONFIG LP8555_PWM_ONLY
#define LP8555_I2C_CONFIG LP8555_I2C_ONLY
#define LP8555_COMB1_CONFIG LP8555_COMBINED1
#define LP8555_COMB2_CONFIG LP8555_COMBINED2
/* DEVICE CONTROL register - LP8556 */
#define LP8556_PWM_CONFIG (LP8556_PWM_ONLY << BRT_MODE_SHFT)
#define LP8556_COMB1_CONFIG (LP8556_COMBINED1 << BRT_MODE_SHFT)
@ -65,6 +76,7 @@ enum lp855x_chip_id {
LP8551,
LP8552,
LP8553,
LP8555,
LP8556,
LP8557,
};
@ -89,6 +101,13 @@ enum lp8553_brighntess_source {
LP8553_I2C_ONLY = LP8550_I2C_ONLY,
};
enum lp8555_brightness_source {
LP8555_PWM_ONLY,
LP8555_I2C_ONLY,
LP8555_COMBINED1, /* Brightness register with shaped PWM */
LP8555_COMBINED2, /* PWM with shaped brightness register */
};
enum lp8556_brightness_source {
LP8556_PWM_ONLY,
LP8556_COMBINED1, /* pwm + i2c before the shaper block */