xref: /linux/Documentation/devicetree/bindings/leds/nxp,pca963x.yaml (revision 266aa3b4812e97942a8ce5c7aafa7da059f7b5b8)
1# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/leds/nxp,pca963x.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: NXP PCA963x LED controllers
8
9maintainers:
10  - Laurent Pinchart <laurent.pinchart@ideasonboard.com>
11
12description: |
13  The NXP PCA963x are I2C-controlled LED drivers optimized for
14  Red/Green/Blue/Amber (RGBA) color mixing applications. Each LED is
15  individually controllable and has its own PWM controller.
16
17  Datasheets are available at
18
19  - https://www.nxp.com/docs/en/data-sheet/PCA9632.pdf
20  - https://www.nxp.com/docs/en/data-sheet/PCA9633.pdf
21  - https://www.nxp.com/docs/en/data-sheet/PCA9634.pdf
22  - https://www.nxp.com/docs/en/data-sheet/PCA9635.pdf
23
24properties:
25  compatible:
26    enum:
27      - nxp,pca9632
28      - nxp,pca9633
29      - nxp,pca9634
30      - nxp,pca9635
31
32  reg:
33    maxItems: 1
34
35  "#address-cells":
36    const: 1
37
38  "#size-cells":
39    const: 0
40
41  nxp,hw-blink:
42    type: boolean
43    description:
44      Use hardware blinking instead of software blinking
45
46  nxp,inverted-out:
47    type: boolean
48    description:
49      Invert the polarity of the generated PWM.
50
51  nxp,period-scale:
52    $ref: /schemas/types.yaml#/definitions/uint32
53    description:
54      In some configurations, the chip blinks faster than expected. This
55      parameter provides a scaling ratio (fixed point, decimal divided by 1000)
56      to compensate, e.g. 1300=1.3x and 750=0.75x.
57
58  nxp,totem-pole:
59    type: boolean
60    description:
61      Use totem pole (push-pull) instead of open-drain (pca9632 defaults to
62      open-drain, newer chips to totem pole).
63
64patternProperties:
65  "^led@[0-9a-f]+$":
66    type: object
67    $ref: common.yaml#
68    unevaluatedProperties: false
69
70    properties:
71      reg:
72        minimum: 0
73
74    required:
75      - reg
76
77allOf:
78  - if:
79      properties:
80        compatible:
81          contains:
82            enum:
83              - nxp,pca9632
84              - nxp,pca9633
85    then:
86      patternProperties:
87        "^led@[0-9a-f]+$":
88          properties:
89            reg:
90              maximum: 3
91    else:
92      patternProperties:
93        "^led@[0-9a-f]+$":
94          properties:
95            reg:
96              maximum: 7
97
98additionalProperties: false
99
100examples:
101  - |
102    #include <dt-bindings/leds/common.h>
103
104    i2c {
105        #address-cells = <1>;
106        #size-cells = <0>;
107
108        led-controller@62 {
109            compatible = "nxp,pca9632";
110            reg = <0x62>;
111            #address-cells = <1>;
112            #size-cells = <0>;
113
114            led@0 {
115                    reg = <0>;
116                    color = <LED_COLOR_ID_RED>;
117                    function = LED_FUNCTION_STATUS;
118            };
119
120            led@1 {
121                    reg = <1>;
122                    color = <LED_COLOR_ID_GREEN>;
123                    function = LED_FUNCTION_STATUS;
124            };
125
126            led@2 {
127                    reg = <2>;
128                    color = <LED_COLOR_ID_BLUE>;
129                    function = LED_FUNCTION_STATUS;
130            };
131
132            led@3 {
133                    reg = <3>;
134                    color = <LED_COLOR_ID_WHITE>;
135                    function = LED_FUNCTION_STATUS;
136            };
137        };
138    };
139
140...
141