Merge tag 'drm-intel-next-queued-2020-11-03' of git://anongit.freedesktop.org/drm...
[linux-2.6-microblaze.git] / Documentation / devicetree / bindings / leds / ti,tca6507.yaml
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#
6
7 title: TCA6507 LED and GPIO controller
8
9 maintainers:
10   - NeilBrown <neilb@suse.de>
11
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.
16
17 properties:
18   compatible:
19     const: ti,tca6507
20
21   reg:
22     description: I2C slave address of the controller.
23     maxItems: 1
24
25   "#address-cells":
26     const: 1
27
28   "#size-cells":
29     const: 0
30
31   gpio-controller: true
32
33   "#gpio-cells":
34     const: 2
35
36   gpio-line-names: true
37
38 patternProperties:
39   "^led@[0-6]$":
40     type: object
41
42     $ref: common.yaml#
43
44     properties:
45       reg:
46         minimum: 0
47         maximum: 6
48
49     required:
50       - reg
51
52   "^gpio@[0-6]$":
53     type: object
54
55     properties:
56       compatible:
57         const: gpio
58
59       reg:
60         minimum: 0
61         maximum: 6
62
63     additionalProperties: false
64
65     required:
66       - reg
67       - compatible
68
69 if:
70   patternProperties:
71     "^gpio@[0-6]$":
72       properties:
73         compatible:
74           contains:
75             const: gpio
76 then:
77   required:
78     - gpio-controller
79     - "#gpio-cells"
80
81 additionalProperties: false
82
83 examples:
84   - |
85
86     #include <dt-bindings/gpio/gpio.h>
87     #include <dt-bindings/leds/common.h>
88
89     i2c0 {
90         #address-cells = <1>;
91         #size-cells = <0>;
92
93         led-controller@45 {
94             compatible = "ti,tca6507";
95             #address-cells = <1>;
96             #size-cells = <0>;
97             reg = <0x45>;
98
99             gpio-controller;
100             #gpio-cells = <2>;
101
102             gpio-line-names = "wifi_reset@6";
103
104             led@0 {
105                 label = "gta04:red:aux";
106                 reg = <0x0>;
107             };
108
109             led@1 {
110                 label = "gta04:green:aux";
111                 reg = <0x1>;
112             };
113
114             led@3 {
115                 reg = <0x3>;
116                 color = <LED_COLOR_ID_RED>;
117                 function = LED_FUNCTION_POWER;
118                 linux,default-trigger = "default-on";
119             };
120
121             led@4 {
122                 color = <LED_COLOR_ID_GREEN>;
123                 function = LED_FUNCTION_POWER;
124                 reg = <0x4>;
125             };
126
127             gpio@6 {
128                 compatible = "gpio";
129                 reg = <0x6>;
130             };
131         };
132     };
133
134 ...