123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- Kernel driver lp3944
- ====================
- * National Semiconductor LP3944 Fun-light Chip
- Prefix: 'lp3944'
- Addresses scanned: None (see the Notes section below)
- Datasheet: Publicly available at the National Semiconductor website
- http://www.national.com/pf/LP/LP3944.html
- Authors:
- Antonio Ospite <ospite@studenti.unina.it>
- Description
- -----------
- The LP3944 is a helper chip that can drive up to 8 leds, with two programmable
- DIM modes; it could even be used as a gpio expander but this driver assumes it
- is used as a led controller.
- The DIM modes are used to set _blink_ patterns for leds, the pattern is
- specified supplying two parameters:
- - period: from 0s to 1.6s
- - duty cycle: percentage of the period the led is on, from 0 to 100
- Setting a led in DIM0 or DIM1 mode makes it blink according to the pattern.
- See the datasheet for details.
- LP3944 can be found on Motorola A910 smartphone, where it drives the rgb
- leds, the camera flash light and the lcds power.
- Notes
- -----
- The chip is used mainly in embedded contexts, so this driver expects it is
- registered using the i2c_board_info mechanism.
- To register the chip at address 0x60 on adapter 0, set the platform data
- according to include/linux/leds-lp3944.h, set the i2c board info:
- static struct i2c_board_info a910_i2c_board_info[] __initdata = {
- {
- I2C_BOARD_INFO("lp3944", 0x60),
- .platform_data = &a910_lp3944_leds,
- },
- };
- and register it in the platform init function
- i2c_register_board_info(0, a910_i2c_board_info,
- ARRAY_SIZE(a910_i2c_board_info));
|