Merge branches 'fixes', 'misc' and 'spectre' into for-next
[sfrench/cifs-2.6.git] / Documentation / devicetree / bindings / leds / common.txt
1 * Common leds properties.
2
3 LED and flash LED devices provide the same basic functionality as current
4 regulators, but extended with LED and flash LED specific features like
5 blinking patterns, flash timeout, flash faults and external flash strobe mode.
6
7 Many LED devices expose more than one current output that can be connected
8 to one or more discrete LED component. Since the arrangement of connections
9 can influence the way of the LED device initialization, the LED components
10 have to be tightly coupled with the LED device binding. They are represented
11 by child nodes of the parent LED device binding.
12
13 Optional properties for child nodes:
14 - led-sources : List of device current outputs the LED is connected to. The
15                 outputs are identified by the numbers that must be defined
16                 in the LED device binding documentation.
17 - label : The label for this LED. If omitted, the label is taken from the node
18           name (excluding the unit address). It has to uniquely identify
19           a device, i.e. no other LED class device can be assigned the same
20           label.
21
22 - default-state : The initial state of the LED. Valid values are "on", "off",
23   and "keep". If the LED is already on or off and the default-state property is
24   set the to same value, then no glitch should be produced where the LED
25   momentarily turns off (or on). The "keep" setting will keep the LED at
26   whatever its current state is, without producing a glitch.  The default is
27   off if this property is not present.
28
29 - linux,default-trigger :  This parameter, if present, is a
30     string defining the trigger assigned to the LED.  Current triggers are:
31      "backlight" - LED will act as a back-light, controlled by the framebuffer
32                    system
33      "default-on" - LED will turn on (but for leds-gpio see "default-state"
34                     property in Documentation/devicetree/bindings/leds/leds-gpio.txt)
35      "heartbeat" - LED "double" flashes at a load average based rate
36      "disk-activity" - LED indicates disk activity
37      "ide-disk" - LED indicates IDE disk activity (deprecated),
38                   in new implementations use "disk-activity"
39      "timer" - LED flashes at a fixed, configurable rate
40
41 - led-max-microamp : Maximum LED supply current in microamperes. This property
42                      can be made mandatory for the board configurations
43                      introducing a risk of hardware damage in case an excessive
44                      current is set.
45                      For flash LED controllers with configurable current this
46                      property is mandatory for the LEDs in the non-flash modes
47                      (e.g. torch or indicator).
48
49 - panic-indicator : This property specifies that the LED should be used,
50                     if at all possible, as a panic indicator.
51
52 - trigger-sources : List of devices which should be used as a source triggering
53                     this LED activity. Some LEDs can be related to a specific
54                     device and should somehow indicate its state. E.g. USB 2.0
55                     LED may react to device(s) in a USB 2.0 port(s).
56                     Another common example is switch or router with multiple
57                     Ethernet ports each of them having its own LED assigned
58                     (assuming they are not hardwired). In such cases this
59                     property should contain phandle(s) of related source
60                     device(s).
61                     In many cases LED can be related to more than one device
62                     (e.g. one USB LED vs. multiple USB ports). Each source
63                     should be represented by a node in the device tree and be
64                     referenced by a phandle and a set of phandle arguments. A
65                     length of arguments should be specified by the
66                     #trigger-source-cells property in the source node.
67
68 Required properties for flash LED child nodes:
69 - flash-max-microamp : Maximum flash LED supply current in microamperes.
70 - flash-max-timeout-us : Maximum timeout in microseconds after which the flash
71                          LED is turned off.
72
73 For controllers that have no configurable current the flash-max-microamp
74 property can be omitted.
75 For controllers that have no configurable timeout the flash-max-timeout-us
76 property can be omitted.
77
78 * Trigger source providers
79
80 Each trigger source should be represented by a device tree node. It may be e.g.
81 a USB port or an Ethernet device.
82
83 Required properties for trigger source:
84 - #trigger-source-cells : Number of cells in a source trigger. Typically 0 for
85                           nodes of simple trigger sources (e.g. a specific USB
86                           port).
87
88 * Examples
89
90 gpio-leds {
91         compatible = "gpio-leds";
92
93         system-status {
94                 label = "Status";
95                 linux,default-trigger = "heartbeat";
96                 gpios = <&gpio0 0 GPIO_ACTIVE_HIGH>;
97         };
98
99         usb {
100                 gpios = <&gpio0 1 GPIO_ACTIVE_HIGH>;
101                 trigger-sources = <&ohci_port1>, <&ehci_port1>;
102         };
103 };
104
105 max77693-led {
106         compatible = "maxim,max77693-led";
107
108         camera-flash {
109                 label = "Flash";
110                 led-sources = <0>, <1>;
111                 led-max-microamp = <50000>;
112                 flash-max-microamp = <320000>;
113                 flash-max-timeout-us = <500000>;
114         };
115 };