Merge tag 'block-6.13-20242901' of git://git.kernel.dk/linux
[drm/drm-misc.git] / Documentation / devicetree / bindings / leds / ti,tca6507.yaml
blob4b1575e4f18092421da9eb91b17cc924660993bb
1 # SPDX-License-Identifier: GPL-2.0-only
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/leds/ti,tca6507.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: TCA6507 LED and GPIO controller
9 maintainers:
10   - NeilBrown <neilb@suse.de>
12 description:
13   The TCA6507 is a programmable LED controller connected via I2C that can drive
14   7 separate lines either by holding them low, or by pulsing them with modulated
15   width.
17 properties:
18   compatible:
19     const: ti,tca6507
21   reg:
22     description: I2C slave address of the controller.
23     maxItems: 1
25   "#address-cells":
26     const: 1
28   "#size-cells":
29     const: 0
31   gpio-controller: true
33   "#gpio-cells":
34     const: 2
36   gpio-line-names: true
38 patternProperties:
39   "^led@[0-6]$":
40     type: object
41     $ref: common.yaml#
42     unevaluatedProperties: false
44     properties:
45       reg:
46         minimum: 0
47         maximum: 6
49     required:
50       - reg
52   "^gpio@[0-6]$":
53     type: object
55     properties:
56       compatible:
57         const: gpio
59       reg:
60         minimum: 0
61         maximum: 6
63     additionalProperties: false
65     required:
66       - reg
67       - compatible
69 if:
70   patternProperties:
71     "^gpio@[0-6]$":
72       type: object
73       properties:
74         compatible:
75           contains:
76             const: gpio
77 then:
78   required:
79     - gpio-controller
80     - "#gpio-cells"
82 additionalProperties: false
84 examples:
85   - |
87     #include <dt-bindings/gpio/gpio.h>
88     #include <dt-bindings/leds/common.h>
90     i2c {
91         #address-cells = <1>;
92         #size-cells = <0>;
94         led-controller@45 {
95             compatible = "ti,tca6507";
96             #address-cells = <1>;
97             #size-cells = <0>;
98             reg = <0x45>;
100             gpio-controller;
101             #gpio-cells = <2>;
103             gpio-line-names = "wifi_reset@6";
105             led@0 {
106                 label = "gta04:red:aux";
107                 reg = <0x0>;
108             };
110             led@1 {
111                 label = "gta04:green:aux";
112                 reg = <0x1>;
113             };
115             led@3 {
116                 reg = <0x3>;
117                 color = <LED_COLOR_ID_RED>;
118                 function = LED_FUNCTION_POWER;
119                 linux,default-trigger = "default-on";
120             };
122             led@4 {
123                 color = <LED_COLOR_ID_GREEN>;
124                 function = LED_FUNCTION_POWER;
125                 reg = <0x4>;
126             };
128             gpio@6 {
129                 compatible = "gpio";
130                 reg = <0x6>;
131             };
132         };
133     };