Commit 6f2846cc authored by Mauro Carvalho Chehab's avatar Mauro Carvalho Chehab

docs: lp855x-driver.txt: convert to ReST and move to kernel-api

This small file seems to be an attempt to start documenting
backlight drivers.

It contains descriptions of the controls for the driver
with could sound as an somewhat user-faced description, but
it's main focus is to describe, instead, the data that should
be passed via platform data and some driver-specific stuff.

While this is not part of the driver-api book, mark it as
:orphan:, in order to avoid build warnings.
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab+samsung@kernel.org>
parent 065504d5
:orphan:
====================
Kernel driver lp855x
====================
Backlight driver for LP855x ICs
Supported chips:
Texas Instruments LP8550, LP8551, LP8552, LP8553, LP8555, LP8556 and
LP8557
......@@ -14,53 +18,66 @@ Description
* Brightness control
Brightness can be controlled by the pwm input or the i2c command.
The lp855x driver supports both cases.
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
1) bl_ctl_mode
2) chip_id
The lp855x chip id.
Value : lp8550/lp8551/lp8552/lp8553/lp8555/lp8556/lp8557
Backlight control mode.
Platform data for lp855x
------------------------
Value: pwm based or register based
For supporting platform specific data, the lp855x platform data can be used.
2) chip_id
* 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.
The lp855x chip id.
example 1) lp8552 platform data : i2c register mode with new eeprom data
Value: lp8550/lp8551/lp8552/lp8553/lp8555/lp8556/lp8557
#define EEPROM_A5_ADDR 0xA5
#define EEPROM_A5_VAL 0x4f /* EN_VSYNC=0 */
Platform data for lp855x
------------------------
For supporting platform specific data, the lp855x platform data can be used.
static struct lp855x_rom_data lp8552_eeprom_arr[] = {
* 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.
Examples
========
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 = {
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
2) lp8556 platform data: pwm input mode with default rom data::
static struct lp855x_platform_data lp8556_pdata = {
static struct lp855x_platform_data lp8556_pdata = {
.device_control = PWM_CONFIG(LP8556),
.initial_brightness = INITIAL_BRT,
.period_ns = 1000000,
};
};
......@@ -15964,7 +15964,7 @@ F: sound/soc/codecs/isabelle*
TI LP855x BACKLIGHT DRIVER
M: Milo Kim <milo.kim@ti.com>
S: Maintained
F: Documentation/backlight/lp855x-driver.txt
F: Documentation/backlight/lp855x-driver.rst
F: drivers/video/backlight/lp855x_bl.c
F: include/linux/platform_data/lp855x.h
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment