xref: /linux/Documentation/leds/leds-blinkm.rst (revision 6fdcba32711044c35c0e1b094cbd8f3f0b4472c9)
1==================
2Leds BlinkM driver
3==================
4
5The leds-blinkm driver supports the devices of the BlinkM family.
6
7They are RGB-LED modules driven by a (AT)tiny microcontroller and
8communicate through I2C. The default address of these modules is
90x09 but this can be changed through a command. By this you could
10dasy-chain up to 127 BlinkMs on an I2C bus.
11
12The device accepts RGB and HSB color values through separate commands.
13Also you can store blinking sequences as "scripts" in
14the controller and run them. Also fading is an option.
15
16The interface this driver provides is 2-fold:
17
18a) LED class interface for use with triggers
19############################################
20
21The registration follows the scheme::
22
23  blinkm-<i2c-bus-nr>-<i2c-device-nr>-<color>
24
25  $ ls -h /sys/class/leds/blinkm-6-*
26  /sys/class/leds/blinkm-6-9-blue:
27  brightness  device  max_brightness  power  subsystem  trigger  uevent
28
29  /sys/class/leds/blinkm-6-9-green:
30  brightness  device  max_brightness  power  subsystem  trigger  uevent
31
32  /sys/class/leds/blinkm-6-9-red:
33  brightness  device  max_brightness  power  subsystem  trigger  uevent
34
35(same is /sys/bus/i2c/devices/6-0009/leds)
36
37We can control the colors separated into red, green and blue and
38assign triggers on each color.
39
40E.g.::
41
42  $ cat blinkm-6-9-blue/brightness
43  05
44
45  $ echo 200 > blinkm-6-9-blue/brightness
46  $
47
48  $ modprobe ledtrig-heartbeat
49  $ echo heartbeat > blinkm-6-9-green/trigger
50  $
51
52
53b) Sysfs group to control rgb, fade, hsb, scripts ...
54#####################################################
55
56This extended interface is available as folder blinkm
57in the sysfs folder of the I2C device.
58E.g. below /sys/bus/i2c/devices/6-0009/blinkm
59
60  $ ls -h /sys/bus/i2c/devices/6-0009/blinkm/
61  blue  green  red  test
62
63Currently supported is just setting red, green, blue
64and a test sequence.
65
66E.g.::
67
68  $ cat *
69  00
70  00
71  00
72  #Write into test to start test sequence!#
73
74  $ echo 1 > test
75  $
76
77  $ echo 255 > red
78  $
79
80
81
82as of 6/2012
83
84dl9pf <at> gmx <dot> de
85