xref: /freebsd/sys/contrib/device-tree/Bindings/leds/leds-trigger-pattern.txt (revision 0d66206fff44f864ea8a4b220c3a53b4caa959a0)
1* Pattern format for LED pattern trigger
2
3The pattern is given by a series of tuples, of brightness and duration (ms).
4The LED is expected to traverse the series and each brightness value for the
5specified duration. Duration of 0 means brightness should immediately change to
6new value, and writing malformed pattern deactivates any active one.
7
81. For gradual dimming, the dimming interval now is set as 50 milliseconds. So
9the tuple with duration less than dimming interval (50ms) is treated as a step
10change of brightness, i.e. the subsequent brightness will be applied without
11adding intervening dimming intervals.
12
13The gradual dimming format of the software pattern values should be:
14"brightness_1 duration_1 brightness_2 duration_2 brightness_3 duration_3 ...".
15For example (using sysfs interface):
16
17echo 0 1000 255 2000 > pattern
18
19It will make the LED go gradually from zero-intensity to max (255) intensity in
201000 milliseconds, then back to zero intensity in 2000 milliseconds:
21
22LED brightness
23    ^
24255-|       / \            / \            /
25    |      /    \         /    \         /
26    |     /       \      /       \      /
27    |    /          \   /          \   /
28  0-|   /             \/             \/
29    +---0----1----2----3----4----5----6------------> time (s)
30
312. To make the LED go instantly from one brightness value to another, we should
32use zero-time lengths (the brightness must be same as the previous tuple's). So
33the format should be: "brightness_1 duration_1 brightness_1 0 brightness_2
34duration_2 brightness_2 0 ...".
35For example (using sysfs interface):
36
37echo 0 1000 0 0 255 2000 255 0 > pattern
38
39It will make the LED stay off for one second, then stay at max brightness for
40two seconds:
41
42LED brightness
43    ^
44255-|        +---------+    +---------+
45    |        |         |    |         |
46    |        |         |    |         |
47    |        |         |    |         |
48  0-|   -----+         +----+         +----
49    +---0----1----2----3----4----5----6------------> time (s)
50