~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/devicetree/bindings/leds/common.yaml

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 # SPDX-License-Identifier: GPL-2.0-only
  2 %YAML 1.2
  3 ---
  4 $id: http://devicetree.org/schemas/leds/common.yaml#
  5 $schema: http://devicetree.org/meta-schemas/core.yaml#
  6 
  7 title: Common leds properties
  8 
  9 maintainers:
 10   - Jacek Anaszewski <jacek.anaszewski@gmail.com>
 11   - Pavel Machek <pavel@ucw.cz>
 12 
 13 description:
 14   LED and flash LED devices provide the same basic functionality as current
 15   regulators, but extended with LED and flash LED specific features like
 16   blinking patterns, flash timeout, flash faults and external flash strobe mode.
 17 
 18   Many LED devices expose more than one current output that can be connected
 19   to one or more discrete LED component. Since the arrangement of connections
 20   can influence the way of the LED device initialization, the LED components
 21   have to be tightly coupled with the LED device binding. They are represented
 22   by child nodes of the parent LED device binding.
 23 
 24 properties:
 25   led-sources:
 26     description:
 27       List of device current outputs the LED is connected to. The outputs are
 28       identified by the numbers that must be defined in the LED device binding
 29       documentation.
 30     $ref: /schemas/types.yaml#/definitions/uint32-array
 31 
 32   function:
 33     description:
 34       LED function. Use one of the LED_FUNCTION_* prefixed definitions
 35       from the header include/dt-bindings/leds/common.h. If there is no
 36       matching LED_FUNCTION available, add a new one.
 37     $ref: /schemas/types.yaml#/definitions/string
 38 
 39   color:
 40     description:
 41       Color of the LED. Use one of the LED_COLOR_ID_* prefixed definitions from
 42       the header include/dt-bindings/leds/common.h. If there is no matching
 43       LED_COLOR_ID available, add a new one.
 44     $ref: /schemas/types.yaml#/definitions/uint32
 45     minimum: 0
 46     maximum: 14
 47 
 48   function-enumerator:
 49     description:
 50       Integer to be used when more than one instance of the same function is
 51       needed, differing only with an ordinal number.
 52     $ref: /schemas/types.yaml#/definitions/uint32
 53 
 54   label:
 55     description:
 56       The label for this LED. If omitted, the label is taken from the node name
 57       (excluding the unit address). It has to uniquely identify a device, i.e.
 58       no other LED class device can be assigned the same label. This property is
 59       deprecated - use 'function' and 'color' properties instead.
 60       function-enumerator has no effect when this property is present.
 61 
 62   default-state:
 63     description:
 64       The initial state of the LED. If the LED is already on or off and the
 65       default-state property is set the to same value, then no glitch should be
 66       produced where the LED momentarily turns off (or on). The "keep" setting
 67       will keep the LED at whatever its current state is, without producing a
 68       glitch.
 69     $ref: /schemas/types.yaml#/definitions/string
 70     enum:
 71       - on
 72       - off
 73       - keep
 74     default: off
 75 
 76   linux,default-trigger:
 77     description:
 78       This parameter, if present, is a string defining the trigger assigned to
 79       the LED.
 80     $ref: /schemas/types.yaml#/definitions/string
 81 
 82     oneOf:
 83       - enum:
 84             # LED will act as a back-light, controlled by the framebuffer system
 85           - backlight
 86             # LED will turn on (see also "default-state" property)
 87           - default-on
 88             # LED "double" flashes at a load average based rate
 89           - heartbeat
 90             # LED indicates disk activity
 91           - disk-activity
 92             # LED indicates disk read activity
 93           - disk-read
 94             # LED indicates disk write activity
 95           - disk-write
 96             # LED flashes at a fixed, configurable rate
 97           - timer
 98             # LED alters the brightness for the specified duration with one software
 99             # timer (requires "led-pattern" property)
100           - pattern
101             # LED indicates mic mute state
102           - audio-micmute
103             # LED indicates audio mute state
104           - audio-mute
105             # LED indicates bluetooth power state
106           - bluetooth-power
107             # LED indicates camera flash state
108           - flash
109             # LED indicated keyboard capslock
110           - kbd-capslock
111             # LED indicates MTD memory activity
112           - mtd
113             # LED indicates NAND memory activity (deprecated),
114             # in new implementations use "mtd"
115           - nand-disk
116             # LED indicates network activity
117           - netdev
118             # No trigger assigned to the LED. This is the default mode
119             # if trigger is absent
120           - none
121             # LED indicates camera torch state
122           - torch
123             # LED indicates USB gadget activity
124           - usb-gadget
125             # LED indicates USB host activity
126           - usb-host
127             # LED indicates USB port state
128           - usbport
129         # LED is triggered by CPU activity
130       - pattern: "^cpu[0-9]*$"
131         # LED is triggered by Bluetooth activity
132       - pattern: "^hci[0-9]+-power$"
133         # LED is triggered by SD/MMC activity
134       - pattern: "^mmc[0-9]+$"
135         # LED is triggered by WLAN activity
136       - pattern: "^phy[0-9]+tx$"
137 
138   led-pattern:
139     description: |
140       Array of integers with default pattern for certain triggers.
141 
142       Each trigger may parse this property differently:
143         - one-shot : two numbers specifying delay on and delay off (in ms),
144         - timer : two numbers specifying delay on and delay off (in ms),
145         - pattern : the pattern is given by a series of tuples, of
146           brightness and duration (in ms).  The exact format is
147           described in:
148           Documentation/devicetree/bindings/leds/leds-trigger-pattern.txt
149     $ref: /schemas/types.yaml#/definitions/uint32-matrix
150     items:
151       minItems: 2
152       maxItems: 2
153 
154   led-max-microamp:
155     description:
156       Maximum LED supply current in microamperes. This property can be made
157       mandatory for the board configurations introducing a risk of hardware
158       damage in case an excessive current is set.
159       For flash LED controllers with configurable current this property is
160       mandatory for the LEDs in the non-flash modes (e.g. torch or indicator).
161 
162   max-brightness:
163     description:
164       Normally, the maximum brightness is determined by the hardware, and this
165       property is not required. This property is used to set a software limit.
166       It could happen that an LED is made so bright that it gets damaged or
167       causes damage due to restrictions in a specific system, such as mounting
168       conditions.
169       Note that this flag is mainly used for PWM-LEDs, where it is not possible
170       to map brightness to current. Drivers for other controllers should use
171       led-max-microamp.
172     $ref: /schemas/types.yaml#/definitions/uint32
173 
174   panic-indicator:
175     description:
176       This property specifies that the LED should be used, if at all possible,
177       as a panic indicator.
178     type: boolean
179 
180   retain-state-shutdown:
181     description:
182       This property specifies that the LED should not be turned off or changed
183       when the system shuts down.
184     type: boolean
185 
186   trigger-sources:
187     description: |
188       List of devices which should be used as a source triggering this LED
189       activity. Some LEDs can be related to a specific device and should somehow
190       indicate its state. E.g. USB 2.0 LED may react to device(s) in a USB 2.0
191       port(s).
192       Another common example is switch or router with multiple Ethernet ports
193       each of them having its own LED assigned (assuming they are not
194       hardwired). In such cases this property should contain phandle(s) of
195       related source device(s).
196       Another example is a GPIO line that will be monitored and mirror the
197       state of the line (with or without inversion flags) to the LED.
198       In many cases LED can be related to more than one device (e.g. one USB LED
199       vs. multiple USB ports). Each source should be represented by a node in
200       the device tree and be referenced by a phandle and a set of phandle
201       arguments. A length of arguments should be specified by the
202       #trigger-source-cells property in the source node.
203     $ref: /schemas/types.yaml#/definitions/phandle-array
204 
205   active-low:
206     type: boolean
207     description:
208       Makes LED active low. To turn the LED ON, line needs to be
209       set to low voltage instead of high.
210 
211   inactive-high-impedance:
212     type: boolean
213     description:
214       Set LED to high-impedance mode to turn the LED OFF. LED might also
215       describe this mode as tristate.
216 
217   # Required properties for flash LED child nodes:
218   flash-max-microamp:
219     description:
220       Maximum flash LED supply current in microamperes. Required for flash LED
221       nodes with configurable current.
222 
223   flash-max-timeout-us:
224     description:
225       Maximum timeout in microseconds after which the flash LED is turned off.
226       Required for flash LED nodes with configurable timeout.
227 
228 additionalProperties: true
229 
230 examples:
231   - |
232     #include <dt-bindings/gpio/gpio.h>
233     #include <dt-bindings/leds/common.h>
234 
235     led-controller {
236         compatible = "gpio-leds";
237 
238         led-0 {
239             function = LED_FUNCTION_STATUS;
240             linux,default-trigger = "heartbeat";
241             gpios = <&gpio0 0 GPIO_ACTIVE_HIGH>;
242         };
243 
244         led-1 {
245             function = LED_FUNCTION_USB;
246             gpios = <&gpio0 1 GPIO_ACTIVE_HIGH>;
247             trigger-sources = <&ohci_port1>, <&ehci_port1>;
248         };
249     };
250 
251   - |
252     #include <dt-bindings/leds/common.h>
253 
254     led-controller {
255         compatible = "maxim,max77693-led";
256 
257         led {
258             function = LED_FUNCTION_FLASH;
259             color = <LED_COLOR_ID_WHITE>;
260             led-sources = <0>, <1>;
261             led-max-microamp = <50000>;
262             flash-max-microamp = <320000>;
263             flash-max-timeout-us = <500000>;
264         };
265     };
266 
267   - |
268     #include <dt-bindings/leds/common.h>
269 
270     i2c {
271         #address-cells = <1>;
272         #size-cells = <0>;
273 
274         led-controller@30 {
275             compatible = "panasonic,an30259a";
276             reg = <0x30>;
277             #address-cells = <1>;
278             #size-cells = <0>;
279 
280             led@1 {
281                 reg = <1>;
282                 linux,default-trigger = "heartbeat";
283                 function = LED_FUNCTION_INDICATOR;
284                 function-enumerator = <1>;
285             };
286 
287             led@2 {
288                 reg = <2>;
289                 function = LED_FUNCTION_INDICATOR;
290                 function-enumerator = <2>;
291             };
292 
293             led@3 {
294                 reg = <3>;
295                 function = LED_FUNCTION_INDICATOR;
296                 function-enumerator = <3>;
297             };
298         };
299     };
300 
301 ...

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php