xref: /freebsd/sys/contrib/device-tree/Bindings/leds/leds-lp50xx.yaml (revision b197d4b893974c9eb4d7b38704c6d5c486235d6f)
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/leds/leds-lp50xx.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: LED driver for LP50XX RGB LED from Texas Instruments.
8
9maintainers:
10  - Dan Murphy <dmurphy@ti.com>
11
12description: |
13  The LP50XX is multi-channel, I2C RGB LED Drivers that can group RGB LEDs into
14  a LED group or control them individually.
15
16  The difference in these RGB LED drivers is the number of supported RGB
17  modules.
18
19  For more product information please see the link below:
20  https://www.ti.com/lit/ds/symlink/lp5012.pdf
21  https://www.ti.com/lit/ds/symlink/lp5024.pdf
22  https://www.ti.com/lit/ds/symlink/lp5036.pdf
23
24properties:
25  compatible:
26    enum:
27      - ti,lp5009
28      - ti,lp5012
29      - ti,lp5018
30      - ti,lp5024
31      - ti,lp5030
32      - ti,lp5036
33
34  reg:
35    maxItems: 1
36    description:
37      I2C slave address
38      lp5009/12 - 0x14, 0x15, 0x16, 0x17
39      lp5018/24 - 0x28, 0x29, 0x2a, 0x2b
40      lp5030/36 - 0x30, 0x31, 0x32, 0x33
41
42  enable-gpios:
43    maxItems: 1
44    description: GPIO pin to enable/disable the device.
45
46  vled-supply:
47    description: LED supply.
48
49  '#address-cells':
50    const: 1
51
52  '#size-cells':
53    const: 0
54
55patternProperties:
56  '^multi-led@[0-9a-f]$':
57    type: object
58    $ref: leds-class-multicolor.yaml#
59    properties:
60      reg:
61        minItems: 1
62        maxItems: 12
63        description:
64          This property denotes the LED module number(s) that is used on the
65          for the child node.  The LED modules can either be used stand alone
66          or grouped into a module bank.
67
68    patternProperties:
69      "(^led-[0-9a-f]$|led)":
70        type: object
71        $ref: common.yaml#
72
73required:
74  - compatible
75  - reg
76
77additionalProperties: false
78
79examples:
80  - |
81   #include <dt-bindings/gpio/gpio.h>
82   #include <dt-bindings/leds/common.h>
83
84   i2c {
85       #address-cells = <1>;
86       #size-cells = <0>;
87
88       led-controller@14 {
89           compatible = "ti,lp5009";
90           reg = <0x14>;
91           #address-cells = <1>;
92           #size-cells = <0>;
93           enable-gpios = <&gpio1 16>;
94
95           multi-led@1 {
96               #address-cells = <1>;
97               #size-cells = <0>;
98               reg = <0x1>;
99               color = <LED_COLOR_ID_RGB>;
100               function = LED_FUNCTION_CHARGING;
101
102               led-0 {
103                   color = <LED_COLOR_ID_RED>;
104               };
105
106               led-1 {
107                   color = <LED_COLOR_ID_GREEN>;
108               };
109
110               led-2 {
111                   color = <LED_COLOR_ID_BLUE>;
112               };
113          };
114
115          multi-led@2 {
116            #address-cells = <1>;
117            #size-cells = <2>;
118            reg = <0x2 0x3 0x5>;
119            color = <LED_COLOR_ID_RGB>;
120            function = LED_FUNCTION_STANDBY;
121
122            led-6 {
123              color = <LED_COLOR_ID_RED>;
124            };
125
126            led-7 {
127              color = <LED_COLOR_ID_GREEN>;
128            };
129
130            led-8 {
131              color = <LED_COLOR_ID_BLUE>;
132            };
133         };
134       };
135    };
136
137...
138