forked from skristiansson/linux
-
Notifications
You must be signed in to change notification settings - Fork 14
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
LEDS: add BlinkM RGB LED driver, documentation and update MAINTAINERS
Add driver for BlinkM device to drivers/leds/. Add entry to MAINTAINERS file. Add documentation in Documentation/leds/. A BlinkM is a RGB LED controlled through I2C. This driver implements an interface to the LED framework and another sysfs group to access the internal options of the BlinkM. rev6: Use module_i2c_driver(). rev5: Removed own workqueue in favor of events wq. rev4: Fixed comments by Bryan Wu. rev3: Fixed issues found by Jonathan Neuschäfer. (bryan.wu@canonical.com: remove 2 trailing whitespace) Signed-off-by: Jan-Simon Möller <jansimon.moeller@gmx.de> Signed-off-by: Bryan Wu <bryan.wu@canonical.com>
- Loading branch information
Jan-Simon Möller
authored and
Bryan Wu
committed
Jul 24, 2012
1 parent
eb18618
commit b54cf35
Showing
5 changed files
with
906 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,80 @@ | ||
The leds-blinkm driver supports the devices of the BlinkM family. | ||
|
||
They are RGB-LED modules driven by a (AT)tiny microcontroller and | ||
communicate through I2C. The default address of these modules is | ||
0x09 but this can be changed through a command. By this you could | ||
dasy-chain up to 127 BlinkMs on an I2C bus. | ||
|
||
The device accepts RGB and HSB color values through separate commands. | ||
Also you can store blinking sequences as "scripts" in | ||
the controller and run them. Also fading is an option. | ||
|
||
The interface this driver provides is 2-fold: | ||
|
||
a) LED class interface for use with triggers | ||
############################################ | ||
|
||
The registration follows the scheme: | ||
blinkm-<i2c-bus-nr>-<i2c-device-nr>-<color> | ||
|
||
$ ls -h /sys/class/leds/blinkm-6-* | ||
/sys/class/leds/blinkm-6-9-blue: | ||
brightness device max_brightness power subsystem trigger uevent | ||
|
||
/sys/class/leds/blinkm-6-9-green: | ||
brightness device max_brightness power subsystem trigger uevent | ||
|
||
/sys/class/leds/blinkm-6-9-red: | ||
brightness device max_brightness power subsystem trigger uevent | ||
|
||
(same is /sys/bus/i2c/devices/6-0009/leds) | ||
|
||
We can control the colors separated into red, green and blue and | ||
assign triggers on each color. | ||
|
||
E.g.: | ||
|
||
$ cat blinkm-6-9-blue/brightness | ||
05 | ||
|
||
$ echo 200 > blinkm-6-9-blue/brightness | ||
$ | ||
|
||
$ modprobe ledtrig-heartbeat | ||
$ echo heartbeat > blinkm-6-9-green/trigger | ||
$ | ||
|
||
|
||
b) Sysfs group to control rgb, fade, hsb, scripts ... | ||
##################################################### | ||
|
||
This extended interface is available as folder blinkm | ||
in the sysfs folder of the I2C device. | ||
E.g. below /sys/bus/i2c/devices/6-0009/blinkm | ||
|
||
$ ls -h /sys/bus/i2c/devices/6-0009/blinkm/ | ||
blue green red test | ||
|
||
Currently supported is just setting red, green, blue | ||
and a test sequence. | ||
|
||
E.g.: | ||
|
||
$ cat * | ||
00 | ||
00 | ||
00 | ||
#Write into test to start test sequence!# | ||
|
||
$ echo 1 > test | ||
$ | ||
|
||
$ echo 255 > red | ||
$ | ||
|
||
|
||
|
||
as of 6/2012 | ||
|
||
dl9pf <at> gmx <dot> de | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.