File Index
Files and directories
Sign in
FILE

leds-lp55xx.yaml

File preview with syntax highlighting.

linux-6.19.14/Documentation/devicetree/bindings/leds/leds-lp55xx.yaml YAML
  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-lp55xx.yaml#
  5$schema: http://devicetree.org/meta-schemas/core.yaml#
  6
  7title: TI/National Semiconductor LP55xx and LP8501 LED Drivers
  8
  9maintainers:
 10  - Jacek Anaszewski <jacek.anaszewski@gmail.com>
 11  - Pavel Machek <pavel@ucw.cz>
 12
 13description: |
 14  Bindings for the TI/National Semiconductor LP55xx and LP8501 multi channel
 15  LED Drivers.
 16
 17  For more product information please see the link below:
 18    https://www.ti.com/lit/gpn/lp5521
 19    https://www.ti.com/lit/gpn/lp5523
 20    https://www.ti.com/lit/gpn/lp55231
 21    https://www.ti.com/lit/gpn/lp5562
 22    https://www.ti.com/lit/gpn/lp8501
 23
 24properties:
 25  compatible:
 26    enum:
 27      - national,lp5521
 28      - national,lp5523
 29      - ti,lp55231
 30      - ti,lp5562
 31      - ti,lp5569
 32      - ti,lp8501
 33
 34  reg:
 35    maxItems: 1
 36    description: I2C slave address
 37
 38  clock-mode:
 39    $ref: /schemas/types.yaml#/definitions/uint8
 40    description: |
 41      Input clock mode
 42    enum:
 43      - 0 # automode
 44      - 1 # internal
 45      - 2 # external
 46
 47  enable-gpios:
 48    maxItems: 1
 49    description: |
 50      GPIO attached to the chip's enable pin
 51
 52  label: true
 53
 54  pwr-sel:
 55    $ref: /schemas/types.yaml#/definitions/uint8
 56    description: |
 57      LP8501 specific property. Power selection for output channels.
 58    enum:
 59      - 0 # D1~9 are connected to VDD
 60      - 1 # D1~6 with VDD, D7~9 with VOUT
 61      - 2 # D1~6 with VOUT, D7~9 with VDD
 62      - 3 # D1~9 are connected to VOUT
 63
 64  '#address-cells':
 65    const: 1
 66
 67  '#size-cells':
 68    const: 0
 69
 70  ti,charge-pump-mode:
 71    description:
 72      Set the operating mode of the internal charge pump as defined in
 73      <dt-bindings/leds/leds-lp55xx.h>.
 74    $ref: /schemas/types.yaml#/definitions/uint32
 75    default: 3 # auto
 76    maximum: 3
 77
 78patternProperties:
 79  '^multi-led@[0-8]$':
 80    type: object
 81    $ref: leds-class-multicolor.yaml#
 82    unevaluatedProperties: false
 83
 84    properties:
 85      reg:
 86        maximum: 8
 87
 88      '#address-cells':
 89        const: 1
 90
 91      '#size-cells':
 92        const: 0
 93
 94    patternProperties:
 95      "^led@[0-8]$":
 96        type: object
 97        $ref: common.yaml#
 98        unevaluatedProperties: false
 99
100        properties:
101          led-cur:
102            $ref: /schemas/types.yaml#/definitions/uint8
103            description: |
104              Current setting at each LED channel (mA x10, 0 if LED is not connected)
105            minimum: 0
106            maximum: 255
107
108          max-cur:
109            $ref: /schemas/types.yaml#/definitions/uint8
110            description: Maximum current at each LED channel.
111
112          reg:
113            maximum: 8
114
115        required:
116          - reg
117
118  "^led@[0-8]$":
119    type: object
120    $ref: common.yaml#
121    unevaluatedProperties: false
122
123    properties:
124      led-cur:
125        $ref: /schemas/types.yaml#/definitions/uint8
126        description: |
127          Current setting at each LED channel (mA x10, 0 if LED is not connected)
128        minimum: 0
129        maximum: 255
130
131      max-cur:
132        $ref: /schemas/types.yaml#/definitions/uint8
133        description: Maximum current at each LED channel.
134
135      reg:
136        description: |
137          Output channel for the LED.  This is zero based channel identifier and
138          the data sheet is a one based channel identifier.
139          reg value to output to LED output number
140        enum:
141          - 0 # LED output D1
142          - 1 # LED output D2
143          - 2 # LED output D3
144          - 3 # LED output D4
145          - 4 # LED output D5
146          - 5 # LED output D6
147          - 6 # LED output D7
148          - 7 # LED output D8
149          - 8 # LED output D9
150
151      chan-name:
152        $ref: /schemas/types.yaml#/definitions/string
153        description: name of channel
154
155if:
156  not:
157    properties:
158      compatible:
159        contains:
160          const: ti,lp8501
161then:
162  properties:
163    pwr-sel: false
164
165required:
166  - compatible
167  - reg
168
169additionalProperties: false
170
171examples:
172  - |
173    #include <dt-bindings/leds/common.h>
174    #include <dt-bindings/leds/leds-lp55xx.h>
175
176    i2c {
177        #address-cells = <1>;
178        #size-cells = <0>;
179
180        led-controller@32 {
181            #address-cells = <1>;
182            #size-cells = <0>;
183            compatible = "ti,lp8501";
184            reg = <0x32>;
185            clock-mode = /bits/ 8 <2>;
186            pwr-sel = /bits/ 8 <3>;	/* D1~9 connected to VOUT */
187            ti,charge-pump-mode = <LP55XX_CP_BYPASS>;
188
189            led@0 {
190                reg = <0>;
191                chan-name = "d1";
192                led-cur = /bits/ 8 <0x14>;
193                max-cur = /bits/ 8 <0x20>;
194            };
195
196            led@1 {
197                reg = <1>;
198                chan-name = "d2";
199                led-cur = /bits/ 8 <0x14>;
200                max-cur = /bits/ 8 <0x20>;
201            };
202
203            led@2 {
204                reg = <2>;
205                chan-name = "d3";
206                led-cur = /bits/ 8 <0x14>;
207                max-cur = /bits/ 8 <0x20>;
208            };
209
210            led@3 {
211                reg = <3>;
212                chan-name = "d4";
213                led-cur = /bits/ 8 <0x14>;
214                max-cur = /bits/ 8 <0x20>;
215            };
216
217            led@4 {
218                reg = <4>;
219                chan-name = "d5";
220                led-cur = /bits/ 8 <0x14>;
221                max-cur = /bits/ 8 <0x20>;
222            };
223
224            led@5 {
225                reg = <5>;
226                chan-name = "d6";
227                led-cur = /bits/ 8 <0x14>;
228                max-cur = /bits/ 8 <0x20>;
229            };
230
231            led@6 {
232                reg = <6>;
233                chan-name = "d7";
234                led-cur = /bits/ 8 <0x14>;
235                max-cur = /bits/ 8 <0x20>;
236            };
237
238            led@7 {
239                reg = <7>;
240                chan-name = "d8";
241                led-cur = /bits/ 8 <0x14>;
242                max-cur = /bits/ 8 <0x20>;
243            };
244
245            led@8 {
246                reg = <8>;
247                chan-name = "d9";
248                led-cur = /bits/ 8 <0x14>;
249                max-cur = /bits/ 8 <0x20>;
250            };
251        };
252
253        led-controller@33 {
254            #address-cells = <1>;
255            #size-cells = <0>;
256            compatible = "national,lp5523";
257            reg = <0x33>;
258            clock-mode = /bits/ 8 <0>;
259
260            multi-led@2 {
261                #address-cells = <1>;
262                #size-cells = <0>;
263                reg = <0x2>;
264                color = <LED_COLOR_ID_RGB>;
265                function = LED_FUNCTION_STANDBY;
266                linux,default-trigger = "heartbeat";
267
268                led@0 {
269                    led-cur = /bits/ 8 <50>;
270                    max-cur = /bits/ 8 <100>;
271                    reg = <0x0>;
272                    color = <LED_COLOR_ID_GREEN>;
273                };
274
275                led@1 {
276                    led-cur = /bits/ 8 <50>;
277                    max-cur = /bits/ 8 <100>;
278                    reg = <0x1>;
279                    color = <LED_COLOR_ID_BLUE>;
280                };
281
282                led@6 {
283                    led-cur = /bits/ 8 <50>;
284                    max-cur = /bits/ 8 <100>;
285                    reg = <0x6>;
286                    color = <LED_COLOR_ID_RED>;
287                };
288            };
289        };
290    };
291
292...
~/ Read-only file preview.