Merge tag 'block-6.13-20242901' of git://git.kernel.dk/linux
[drm/drm-misc.git] / Documentation / devicetree / bindings / leds / nxp,pca963x.yaml
blob938d0e48fe51bce82779c4457c8e99cb6d80fe70
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#
7 title: NXP PCA963x LED controllers
9 maintainers:
10   - Laurent Pinchart <laurent.pinchart@ideasonboard.com>
12 description: |
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.
17   Datasheets are available at
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
24 properties:
25   compatible:
26     enum:
27       - nxp,pca9632
28       - nxp,pca9633
29       - nxp,pca9634
30       - nxp,pca9635
32   reg:
33     maxItems: 1
35   "#address-cells":
36     const: 1
38   "#size-cells":
39     const: 0
41   nxp,hw-blink:
42     type: boolean
43     description:
44       Use hardware blinking instead of software blinking
46   nxp,inverted-out:
47     type: boolean
48     description:
49       Invert the polarity of the generated PWM.
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.
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).
64 patternProperties:
65   "^led@[0-9a-f]+$":
66     type: object
67     $ref: common.yaml#
68     unevaluatedProperties: false
70     properties:
71       reg:
72         minimum: 0
74     required:
75       - reg
77 allOf:
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
98 additionalProperties: false
100 examples:
101   - |
102     #include <dt-bindings/leds/common.h>
104     i2c {
105         #address-cells = <1>;
106         #size-cells = <0>;
108         led-controller@62 {
109             compatible = "nxp,pca9632";
110             reg = <0x62>;
111             #address-cells = <1>;
112             #size-cells = <0>;
114             led@0 {
115                     reg = <0>;
116                     color = <LED_COLOR_ID_RED>;
117                     function = LED_FUNCTION_STATUS;
118             };
120             led@1 {
121                     reg = <1>;
122                     color = <LED_COLOR_ID_GREEN>;
123                     function = LED_FUNCTION_STATUS;
124             };
126             led@2 {
127                     reg = <2>;
128                     color = <LED_COLOR_ID_BLUE>;
129                     function = LED_FUNCTION_STATUS;
130             };
132             led@3 {
133                     reg = <3>;
134                     color = <LED_COLOR_ID_WHITE>;
135                     function = LED_FUNCTION_STATUS;
136             };
137         };
138     };