xref: /freebsd/sys/contrib/device-tree/Bindings/leds/ti,tca6507.yaml (revision 6be3386466ab79a84b48429ae66244f21526d3df)
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
7title: TCA6507 LED and GPIO controller
8
9maintainers:
10  - NeilBrown <neilb@suse.de>
11
12description:
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
17properties:
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
38patternProperties:
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
69if:
70  patternProperties:
71    "^gpio@[0-6]$":
72      properties:
73        compatible:
74          contains:
75            const: gpio
76then:
77  required:
78    - gpio-controller
79    - "#gpio-cells"
80
81additionalProperties: false
82
83examples:
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...
135