xref: /OK3568_Linux_fs/kernel/Documentation/devicetree/bindings/leds/ti,tca6507.yaml (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun# SPDX-License-Identifier: GPL-2.0-only
2*4882a593Smuzhiyun%YAML 1.2
3*4882a593Smuzhiyun---
4*4882a593Smuzhiyun$id: http://devicetree.org/schemas/leds/ti,tca6507.yaml#
5*4882a593Smuzhiyun$schema: http://devicetree.org/meta-schemas/core.yaml#
6*4882a593Smuzhiyun
7*4882a593Smuzhiyuntitle: TCA6507 LED and GPIO controller
8*4882a593Smuzhiyun
9*4882a593Smuzhiyunmaintainers:
10*4882a593Smuzhiyun  - NeilBrown <neilb@suse.de>
11*4882a593Smuzhiyun
12*4882a593Smuzhiyundescription:
13*4882a593Smuzhiyun  The TCA6507 is a programmable LED controller connected via I2C that can drive
14*4882a593Smuzhiyun  7 separate lines either by holding them low, or by pulsing them with modulated
15*4882a593Smuzhiyun  width.
16*4882a593Smuzhiyun
17*4882a593Smuzhiyunproperties:
18*4882a593Smuzhiyun  compatible:
19*4882a593Smuzhiyun    const: ti,tca6507
20*4882a593Smuzhiyun
21*4882a593Smuzhiyun  reg:
22*4882a593Smuzhiyun    description: I2C slave address of the controller.
23*4882a593Smuzhiyun    maxItems: 1
24*4882a593Smuzhiyun
25*4882a593Smuzhiyun  "#address-cells":
26*4882a593Smuzhiyun    const: 1
27*4882a593Smuzhiyun
28*4882a593Smuzhiyun  "#size-cells":
29*4882a593Smuzhiyun    const: 0
30*4882a593Smuzhiyun
31*4882a593Smuzhiyun  gpio-controller: true
32*4882a593Smuzhiyun
33*4882a593Smuzhiyun  "#gpio-cells":
34*4882a593Smuzhiyun    const: 2
35*4882a593Smuzhiyun
36*4882a593Smuzhiyun  gpio-line-names: true
37*4882a593Smuzhiyun
38*4882a593SmuzhiyunpatternProperties:
39*4882a593Smuzhiyun  "^led@[0-6]$":
40*4882a593Smuzhiyun    type: object
41*4882a593Smuzhiyun
42*4882a593Smuzhiyun    $ref: common.yaml#
43*4882a593Smuzhiyun
44*4882a593Smuzhiyun    properties:
45*4882a593Smuzhiyun      reg:
46*4882a593Smuzhiyun        minimum: 0
47*4882a593Smuzhiyun        maximum: 6
48*4882a593Smuzhiyun
49*4882a593Smuzhiyun    required:
50*4882a593Smuzhiyun      - reg
51*4882a593Smuzhiyun
52*4882a593Smuzhiyun  "^gpio@[0-6]$":
53*4882a593Smuzhiyun    type: object
54*4882a593Smuzhiyun
55*4882a593Smuzhiyun    properties:
56*4882a593Smuzhiyun      compatible:
57*4882a593Smuzhiyun        const: gpio
58*4882a593Smuzhiyun
59*4882a593Smuzhiyun      reg:
60*4882a593Smuzhiyun        minimum: 0
61*4882a593Smuzhiyun        maximum: 6
62*4882a593Smuzhiyun
63*4882a593Smuzhiyun    additionalProperties: false
64*4882a593Smuzhiyun
65*4882a593Smuzhiyun    required:
66*4882a593Smuzhiyun      - reg
67*4882a593Smuzhiyun      - compatible
68*4882a593Smuzhiyun
69*4882a593Smuzhiyunif:
70*4882a593Smuzhiyun  patternProperties:
71*4882a593Smuzhiyun    "^gpio@[0-6]$":
72*4882a593Smuzhiyun      properties:
73*4882a593Smuzhiyun        compatible:
74*4882a593Smuzhiyun          contains:
75*4882a593Smuzhiyun            const: gpio
76*4882a593Smuzhiyunthen:
77*4882a593Smuzhiyun  required:
78*4882a593Smuzhiyun    - gpio-controller
79*4882a593Smuzhiyun    - "#gpio-cells"
80*4882a593Smuzhiyun
81*4882a593SmuzhiyunadditionalProperties: false
82*4882a593Smuzhiyun
83*4882a593Smuzhiyunexamples:
84*4882a593Smuzhiyun  - |
85*4882a593Smuzhiyun
86*4882a593Smuzhiyun    #include <dt-bindings/gpio/gpio.h>
87*4882a593Smuzhiyun    #include <dt-bindings/leds/common.h>
88*4882a593Smuzhiyun
89*4882a593Smuzhiyun    i2c0 {
90*4882a593Smuzhiyun        #address-cells = <1>;
91*4882a593Smuzhiyun        #size-cells = <0>;
92*4882a593Smuzhiyun
93*4882a593Smuzhiyun        led-controller@45 {
94*4882a593Smuzhiyun            compatible = "ti,tca6507";
95*4882a593Smuzhiyun            #address-cells = <1>;
96*4882a593Smuzhiyun            #size-cells = <0>;
97*4882a593Smuzhiyun            reg = <0x45>;
98*4882a593Smuzhiyun
99*4882a593Smuzhiyun            gpio-controller;
100*4882a593Smuzhiyun            #gpio-cells = <2>;
101*4882a593Smuzhiyun
102*4882a593Smuzhiyun            gpio-line-names = "wifi_reset@6";
103*4882a593Smuzhiyun
104*4882a593Smuzhiyun            led@0 {
105*4882a593Smuzhiyun                label = "gta04:red:aux";
106*4882a593Smuzhiyun                reg = <0x0>;
107*4882a593Smuzhiyun            };
108*4882a593Smuzhiyun
109*4882a593Smuzhiyun            led@1 {
110*4882a593Smuzhiyun                label = "gta04:green:aux";
111*4882a593Smuzhiyun                reg = <0x1>;
112*4882a593Smuzhiyun            };
113*4882a593Smuzhiyun
114*4882a593Smuzhiyun            led@3 {
115*4882a593Smuzhiyun                reg = <0x3>;
116*4882a593Smuzhiyun                color = <LED_COLOR_ID_RED>;
117*4882a593Smuzhiyun                function = LED_FUNCTION_POWER;
118*4882a593Smuzhiyun                linux,default-trigger = "default-on";
119*4882a593Smuzhiyun            };
120*4882a593Smuzhiyun
121*4882a593Smuzhiyun            led@4 {
122*4882a593Smuzhiyun                color = <LED_COLOR_ID_GREEN>;
123*4882a593Smuzhiyun                function = LED_FUNCTION_POWER;
124*4882a593Smuzhiyun                reg = <0x4>;
125*4882a593Smuzhiyun            };
126*4882a593Smuzhiyun
127*4882a593Smuzhiyun            gpio@6 {
128*4882a593Smuzhiyun                compatible = "gpio";
129*4882a593Smuzhiyun                reg = <0x6>;
130*4882a593Smuzhiyun            };
131*4882a593Smuzhiyun        };
132*4882a593Smuzhiyun    };
133*4882a593Smuzhiyun
134*4882a593Smuzhiyun...
135