xref: /linux/Documentation/devicetree/bindings/leds/leds-consumer.yaml (revision ec2e0fb07d789976c601bec19ecced7a501c3705)
1*3f5df639SAleksandrs Vinarskis# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*3f5df639SAleksandrs Vinarskis%YAML 1.2
3*3f5df639SAleksandrs Vinarskis---
4*3f5df639SAleksandrs Vinarskis$id: http://devicetree.org/schemas/leds/leds-consumer.yaml#
5*3f5df639SAleksandrs Vinarskis$schema: http://devicetree.org/meta-schemas/core.yaml#
6*3f5df639SAleksandrs Vinarskis
7*3f5df639SAleksandrs Vinarskistitle: Common leds consumer
8*3f5df639SAleksandrs Vinarskis
9*3f5df639SAleksandrs Vinarskismaintainers:
10*3f5df639SAleksandrs Vinarskis  - Aleksandrs Vinarskis <alex@vinarskis.com>
11*3f5df639SAleksandrs Vinarskis
12*3f5df639SAleksandrs Vinarskisdescription:
13*3f5df639SAleksandrs Vinarskis  Some LED defined in DT are required by other DT consumers, for example
14*3f5df639SAleksandrs Vinarskis  v4l2 subnode may require privacy or flash LED. Unlike trigger-source
15*3f5df639SAleksandrs Vinarskis  approach which is typically used as 'soft' binding, referencing LED
16*3f5df639SAleksandrs Vinarskis  devices by phandle makes things simpler when 'hard' binding is desired.
17*3f5df639SAleksandrs Vinarskis
18*3f5df639SAleksandrs Vinarskis  Document LED properties that its consumers may define.
19*3f5df639SAleksandrs Vinarskis
20*3f5df639SAleksandrs Vinarskisselect: true
21*3f5df639SAleksandrs Vinarskis
22*3f5df639SAleksandrs Vinarskisproperties:
23*3f5df639SAleksandrs Vinarskis  leds:
24*3f5df639SAleksandrs Vinarskis    oneOf:
25*3f5df639SAleksandrs Vinarskis      - type: object
26*3f5df639SAleksandrs Vinarskis      - $ref: /schemas/types.yaml#/definitions/phandle-array
27*3f5df639SAleksandrs Vinarskis        description:
28*3f5df639SAleksandrs Vinarskis          A list of LED device(s) required by a particular consumer.
29*3f5df639SAleksandrs Vinarskis        items:
30*3f5df639SAleksandrs Vinarskis          maxItems: 1
31*3f5df639SAleksandrs Vinarskis
32*3f5df639SAleksandrs Vinarskis  led-names:
33*3f5df639SAleksandrs Vinarskis    description:
34*3f5df639SAleksandrs Vinarskis      A list of device name(s). Used to map LED devices to their respective
35*3f5df639SAleksandrs Vinarskis      functions, when consumer requires more than one LED.
36*3f5df639SAleksandrs Vinarskis
37*3f5df639SAleksandrs VinarskisadditionalProperties: true
38*3f5df639SAleksandrs Vinarskis
39*3f5df639SAleksandrs Vinarskisexamples:
40*3f5df639SAleksandrs Vinarskis  - |
41*3f5df639SAleksandrs Vinarskis    #include <dt-bindings/gpio/gpio.h>
42*3f5df639SAleksandrs Vinarskis    #include <dt-bindings/leds/common.h>
43*3f5df639SAleksandrs Vinarskis
44*3f5df639SAleksandrs Vinarskis    leds {
45*3f5df639SAleksandrs Vinarskis        compatible = "gpio-leds";
46*3f5df639SAleksandrs Vinarskis
47*3f5df639SAleksandrs Vinarskis        privacy_led: privacy-led {
48*3f5df639SAleksandrs Vinarskis            color = <LED_COLOR_ID_RED>;
49*3f5df639SAleksandrs Vinarskis            default-state = "off";
50*3f5df639SAleksandrs Vinarskis            function = LED_FUNCTION_INDICATOR;
51*3f5df639SAleksandrs Vinarskis            gpios = <&tlmm 110 GPIO_ACTIVE_HIGH>;
52*3f5df639SAleksandrs Vinarskis        };
53*3f5df639SAleksandrs Vinarskis    };
54*3f5df639SAleksandrs Vinarskis
55*3f5df639SAleksandrs Vinarskis    i2c {
56*3f5df639SAleksandrs Vinarskis      #address-cells = <1>;
57*3f5df639SAleksandrs Vinarskis      #size-cells = <0>;
58*3f5df639SAleksandrs Vinarskis
59*3f5df639SAleksandrs Vinarskis      v4l2_node: camera@36 {
60*3f5df639SAleksandrs Vinarskis        reg = <0x36>;
61*3f5df639SAleksandrs Vinarskis
62*3f5df639SAleksandrs Vinarskis        leds = <&privacy_led>;
63*3f5df639SAleksandrs Vinarskis        led-names = "privacy";
64*3f5df639SAleksandrs Vinarskis      };
65*3f5df639SAleksandrs Vinarskis    };
66*3f5df639SAleksandrs Vinarskis
67*3f5df639SAleksandrs Vinarskis...
68