xref: /freebsd/sys/contrib/device-tree/Bindings/leds/nxp,pca995x.yaml (revision b2d2a78ad80ec68d4a17f5aef97d21686cb1e29b)
1aa1a8ff2SEmmanuel Vadot# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2aa1a8ff2SEmmanuel Vadot%YAML 1.2
3aa1a8ff2SEmmanuel Vadot---
4aa1a8ff2SEmmanuel Vadot$id: http://devicetree.org/schemas/leds/nxp,pca995x.yaml#
5aa1a8ff2SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6aa1a8ff2SEmmanuel Vadot
7aa1a8ff2SEmmanuel Vadottitle: NXP PCA995x LED controllers
8aa1a8ff2SEmmanuel Vadot
9aa1a8ff2SEmmanuel Vadotmaintainers:
10aa1a8ff2SEmmanuel Vadot  - Isai Gaspar <isaiezequiel.gaspar@nxp.com>
11aa1a8ff2SEmmanuel Vadot  - Marek Vasut <marex@denx.de>
12aa1a8ff2SEmmanuel Vadot
13aa1a8ff2SEmmanuel Vadotdescription:
14*b2d2a78aSEmmanuel Vadot  The NXP PCA995x family are programmable LED controllers connected via I2C
15*b2d2a78aSEmmanuel Vadot  that can drive separate lines. Each of them can be individually switched
16aa1a8ff2SEmmanuel Vadot  on and off, and brightness can be controlled via individual PWM.
17aa1a8ff2SEmmanuel Vadot
18aa1a8ff2SEmmanuel Vadot  Datasheets are available at
19aa1a8ff2SEmmanuel Vadot  https://www.nxp.com/docs/en/data-sheet/PCA9952_PCA9955.pdf
20aa1a8ff2SEmmanuel Vadot  https://www.nxp.com/docs/en/data-sheet/PCA9955B.pdf
21*b2d2a78aSEmmanuel Vadot  https://www.nxp.com/docs/en/data-sheet/PCA9956B.pdf
22aa1a8ff2SEmmanuel Vadot
23aa1a8ff2SEmmanuel Vadotproperties:
24aa1a8ff2SEmmanuel Vadot  compatible:
25aa1a8ff2SEmmanuel Vadot    enum:
26aa1a8ff2SEmmanuel Vadot      - nxp,pca9952
27aa1a8ff2SEmmanuel Vadot      - nxp,pca9955b
28*b2d2a78aSEmmanuel Vadot      - nxp,pca9956b
29aa1a8ff2SEmmanuel Vadot
30aa1a8ff2SEmmanuel Vadot  reg:
31aa1a8ff2SEmmanuel Vadot    maxItems: 1
32aa1a8ff2SEmmanuel Vadot
33aa1a8ff2SEmmanuel Vadot  "#address-cells":
34aa1a8ff2SEmmanuel Vadot    const: 1
35aa1a8ff2SEmmanuel Vadot
36aa1a8ff2SEmmanuel Vadot  "#size-cells":
37aa1a8ff2SEmmanuel Vadot    const: 0
38aa1a8ff2SEmmanuel Vadot
39aa1a8ff2SEmmanuel VadotpatternProperties:
40aa1a8ff2SEmmanuel Vadot  "^led@[0-9a-f]+$":
41aa1a8ff2SEmmanuel Vadot    type: object
42aa1a8ff2SEmmanuel Vadot    $ref: common.yaml#
43aa1a8ff2SEmmanuel Vadot    unevaluatedProperties: false
44aa1a8ff2SEmmanuel Vadot
45aa1a8ff2SEmmanuel Vadot    properties:
46aa1a8ff2SEmmanuel Vadot      reg:
47aa1a8ff2SEmmanuel Vadot        minimum: 0
48aa1a8ff2SEmmanuel Vadot        maximum: 15
49aa1a8ff2SEmmanuel Vadot
50aa1a8ff2SEmmanuel Vadot    required:
51aa1a8ff2SEmmanuel Vadot      - reg
52aa1a8ff2SEmmanuel Vadot
53aa1a8ff2SEmmanuel VadotadditionalProperties: false
54aa1a8ff2SEmmanuel Vadot
55aa1a8ff2SEmmanuel Vadotexamples:
56aa1a8ff2SEmmanuel Vadot  - |
57aa1a8ff2SEmmanuel Vadot    #include <dt-bindings/leds/common.h>
58aa1a8ff2SEmmanuel Vadot
59aa1a8ff2SEmmanuel Vadot    i2c {
60aa1a8ff2SEmmanuel Vadot        #address-cells = <1>;
61aa1a8ff2SEmmanuel Vadot        #size-cells = <0>;
62aa1a8ff2SEmmanuel Vadot
63aa1a8ff2SEmmanuel Vadot        led-controller@1 {
64aa1a8ff2SEmmanuel Vadot            compatible = "nxp,pca9955b";
65aa1a8ff2SEmmanuel Vadot            reg = <0x01>;
66aa1a8ff2SEmmanuel Vadot            #address-cells = <1>;
67aa1a8ff2SEmmanuel Vadot            #size-cells = <0>;
68aa1a8ff2SEmmanuel Vadot
69aa1a8ff2SEmmanuel Vadot            led@0 {
70aa1a8ff2SEmmanuel Vadot                reg = <0x0>;
71aa1a8ff2SEmmanuel Vadot                color = <LED_COLOR_ID_RED>;
72aa1a8ff2SEmmanuel Vadot                function = LED_FUNCTION_POWER;
73aa1a8ff2SEmmanuel Vadot            };
74aa1a8ff2SEmmanuel Vadot
75aa1a8ff2SEmmanuel Vadot            led@2 {
76aa1a8ff2SEmmanuel Vadot                reg = <0x2>;
77aa1a8ff2SEmmanuel Vadot                color = <LED_COLOR_ID_WHITE>;
78aa1a8ff2SEmmanuel Vadot                function = LED_FUNCTION_STATUS;
79aa1a8ff2SEmmanuel Vadot            };
80aa1a8ff2SEmmanuel Vadot        };
81aa1a8ff2SEmmanuel Vadot    };
82aa1a8ff2SEmmanuel Vadot
83aa1a8ff2SEmmanuel Vadot...
84