Merge tag 'drm-msm-fixes-2022-06-28' of https://gitlab.freedesktop.org/drm/msm into...
[platform/kernel/linux-starfive.git] / Documentation / leds / leds-blinkm.rst
1 ==================
2 Leds BlinkM driver
3 ==================
4
5 The leds-blinkm driver supports the devices of the BlinkM family.
6
7 They are RGB-LED modules driven by a (AT)tiny microcontroller and
8 communicate through I2C. The default address of these modules is
9 0x09 but this can be changed through a command. By this you could
10 dasy-chain up to 127 BlinkMs on an I2C bus.
11
12 The device accepts RGB and HSB color values through separate commands.
13 Also you can store blinking sequences as "scripts" in
14 the controller and run them. Also fading is an option.
15
16 The interface this driver provides is 2-fold:
17
18 a) LED class interface for use with triggers
19 ############################################
20
21 The 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
37 We can control the colors separated into red, green and blue and
38 assign triggers on each color.
39
40 E.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
53 b) Sysfs group to control rgb, fade, hsb, scripts ...
54 #####################################################
55
56 This extended interface is available as folder blinkm
57 in the sysfs folder of the I2C device.
58 E.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
63 Currently supported is just setting red, green, blue
64 and a test sequence.
65
66 E.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
82 as of 6/2012
83
84 dl9pf <at> gmx <dot> de