dm: dm-zoned: use __bio_add_page for adding single metadata page
[linux-block.git] / Documentation / leds / leds-lp3944.rst
CommitLineData
8dab9197 1====================
5054d39e
AO
2Kernel driver lp3944
3====================
4
5 * National Semiconductor LP3944 Fun-light Chip
8dab9197 6
5054d39e 7 Prefix: 'lp3944'
8dab9197 8
5054d39e 9 Addresses scanned: None (see the Notes section below)
8dab9197
MCC
10
11 Datasheet:
12
13 Publicly available at the National Semiconductor website
14 http://www.national.com/pf/LP/LP3944.html
5054d39e
AO
15
16Authors:
8dab9197 17 Antonio Ospite <ospite@studenti.unina.it>
5054d39e
AO
18
19
20Description
21-----------
22The LP3944 is a helper chip that can drive up to 8 leds, with two programmable
23DIM modes; it could even be used as a gpio expander but this driver assumes it
24is used as a led controller.
25
26The DIM modes are used to set _blink_ patterns for leds, the pattern is
27specified supplying two parameters:
8dab9197
MCC
28
29 - period:
30 from 0s to 1.6s
31 - duty cycle:
32 percentage of the period the led is on, from 0 to 100
5054d39e
AO
33
34Setting a led in DIM0 or DIM1 mode makes it blink according to the pattern.
35See the datasheet for details.
36
37LP3944 can be found on Motorola A910 smartphone, where it drives the rgb
38leds, the camera flash light and the lcds power.
39
40
41Notes
42-----
43The chip is used mainly in embedded contexts, so this driver expects it is
44registered using the i2c_board_info mechanism.
45
46To register the chip at address 0x60 on adapter 0, set the platform data
8dab9197 47according to include/linux/leds-lp3944.h, set the i2c board info::
5054d39e 48
eb967b6a 49 static struct i2c_board_info a910_i2c_board_info[] __initdata = {
5054d39e
AO
50 {
51 I2C_BOARD_INFO("lp3944", 0x60),
52 .platform_data = &a910_lp3944_leds,
53 },
54 };
55
8dab9197 56and register it in the platform init function::
5054d39e
AO
57
58 i2c_register_board_info(0, a910_i2c_board_info,
59 ARRAY_SIZE(a910_i2c_board_info));