diff options
author | Jan-Simon Möller <jansimon.moeller@gmx.de> | 2012-07-20 04:49:06 -0400 |
---|---|---|
committer | Bryan Wu <bryan.wu@canonical.com> | 2012-07-24 04:00:51 -0400 |
commit | b54cf35a7f656c61dd695509e8cf8cc7e1dc3e53 (patch) | |
tree | 1a05f14876c2b783b762f448f48b4b3586861354 /Documentation/leds | |
parent | eb18618b8018bffad6e62f1bc40e4e0c7ee2fa19 (diff) |
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>
Diffstat (limited to 'Documentation/leds')
-rw-r--r-- | Documentation/leds/leds-blinkm.txt | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/Documentation/leds/leds-blinkm.txt b/Documentation/leds/leds-blinkm.txt new file mode 100644 index 000000000000..9dd92f4cf4e1 --- /dev/null +++ b/Documentation/leds/leds-blinkm.txt | |||
@@ -0,0 +1,80 @@ | |||
1 | The leds-blinkm driver supports the devices of the BlinkM family. | ||
2 | |||
3 | They are RGB-LED modules driven by a (AT)tiny microcontroller and | ||
4 | communicate through I2C. The default address of these modules is | ||
5 | 0x09 but this can be changed through a command. By this you could | ||
6 | dasy-chain up to 127 BlinkMs on an I2C bus. | ||
7 | |||
8 | The device accepts RGB and HSB color values through separate commands. | ||
9 | Also you can store blinking sequences as "scripts" in | ||
10 | the controller and run them. Also fading is an option. | ||
11 | |||
12 | The interface this driver provides is 2-fold: | ||
13 | |||
14 | a) LED class interface for use with triggers | ||
15 | ############################################ | ||
16 | |||
17 | The registration follows the scheme: | ||
18 | blinkm-<i2c-bus-nr>-<i2c-device-nr>-<color> | ||
19 | |||
20 | $ ls -h /sys/class/leds/blinkm-6-* | ||
21 | /sys/class/leds/blinkm-6-9-blue: | ||
22 | brightness device max_brightness power subsystem trigger uevent | ||
23 | |||
24 | /sys/class/leds/blinkm-6-9-green: | ||
25 | brightness device max_brightness power subsystem trigger uevent | ||
26 | |||
27 | /sys/class/leds/blinkm-6-9-red: | ||
28 | brightness device max_brightness power subsystem trigger uevent | ||
29 | |||
30 | (same is /sys/bus/i2c/devices/6-0009/leds) | ||
31 | |||
32 | We can control the colors separated into red, green and blue and | ||
33 | assign triggers on each color. | ||
34 | |||
35 | E.g.: | ||
36 | |||
37 | $ cat blinkm-6-9-blue/brightness | ||
38 | 05 | ||
39 | |||
40 | $ echo 200 > blinkm-6-9-blue/brightness | ||
41 | $ | ||
42 | |||
43 | $ modprobe ledtrig-heartbeat | ||
44 | $ echo heartbeat > blinkm-6-9-green/trigger | ||
45 | $ | ||
46 | |||
47 | |||
48 | b) Sysfs group to control rgb, fade, hsb, scripts ... | ||
49 | ##################################################### | ||
50 | |||
51 | This extended interface is available as folder blinkm | ||
52 | in the sysfs folder of the I2C device. | ||
53 | E.g. below /sys/bus/i2c/devices/6-0009/blinkm | ||
54 | |||
55 | $ ls -h /sys/bus/i2c/devices/6-0009/blinkm/ | ||
56 | blue green red test | ||
57 | |||
58 | Currently supported is just setting red, green, blue | ||
59 | and a test sequence. | ||
60 | |||
61 | E.g.: | ||
62 | |||
63 | $ cat * | ||
64 | 00 | ||
65 | 00 | ||
66 | 00 | ||
67 | #Write into test to start test sequence!# | ||
68 | |||
69 | $ echo 1 > test | ||
70 | $ | ||
71 | |||
72 | $ echo 255 > red | ||
73 | $ | ||
74 | |||
75 | |||
76 | |||
77 | as of 6/2012 | ||
78 | |||
79 | dl9pf <at> gmx <dot> de | ||
80 | |||