xref: /OK3568_Linux_fs/kernel/Documentation/devicetree/bindings/leds/leds-lp50xx.yaml (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*4882a593Smuzhiyun%YAML 1.2
3*4882a593Smuzhiyun---
4*4882a593Smuzhiyun$id: http://devicetree.org/schemas/leds/leds-lp50xx.yaml#
5*4882a593Smuzhiyun$schema: http://devicetree.org/meta-schemas/core.yaml#
6*4882a593Smuzhiyun
7*4882a593Smuzhiyuntitle: LED driver for LP50XX RGB LED from Texas Instruments.
8*4882a593Smuzhiyun
9*4882a593Smuzhiyunmaintainers:
10*4882a593Smuzhiyun  - Dan Murphy <dmurphy@ti.com>
11*4882a593Smuzhiyun
12*4882a593Smuzhiyundescription: |
13*4882a593Smuzhiyun  The LP50XX is multi-channel, I2C RGB LED Drivers that can group RGB LEDs into
14*4882a593Smuzhiyun  a LED group or control them individually.
15*4882a593Smuzhiyun
16*4882a593Smuzhiyun  The difference in these RGB LED drivers is the number of supported RGB
17*4882a593Smuzhiyun  modules.
18*4882a593Smuzhiyun
19*4882a593Smuzhiyun  For more product information please see the link below:
20*4882a593Smuzhiyun  https://www.ti.com/lit/ds/symlink/lp5012.pdf
21*4882a593Smuzhiyun  https://www.ti.com/lit/ds/symlink/lp5024.pdf
22*4882a593Smuzhiyun  https://www.ti.com/lit/ds/symlink/lp5036.pdf
23*4882a593Smuzhiyun
24*4882a593Smuzhiyunproperties:
25*4882a593Smuzhiyun  compatible:
26*4882a593Smuzhiyun    enum:
27*4882a593Smuzhiyun      - ti,lp5009
28*4882a593Smuzhiyun      - ti,lp5012
29*4882a593Smuzhiyun      - ti,lp5018
30*4882a593Smuzhiyun      - ti,lp5024
31*4882a593Smuzhiyun      - ti,lp5030
32*4882a593Smuzhiyun      - ti,lp5036
33*4882a593Smuzhiyun
34*4882a593Smuzhiyun  reg:
35*4882a593Smuzhiyun    maxItems: 1
36*4882a593Smuzhiyun    description:
37*4882a593Smuzhiyun      I2C slave address
38*4882a593Smuzhiyun      lp5009/12 - 0x14, 0x15, 0x16, 0x17
39*4882a593Smuzhiyun      lp5018/24 - 0x28, 0x29, 0x2a, 0x2b
40*4882a593Smuzhiyun      lp5030/36 - 0x30, 0x31, 0x32, 0x33
41*4882a593Smuzhiyun
42*4882a593Smuzhiyun  enable-gpios:
43*4882a593Smuzhiyun    maxItems: 1
44*4882a593Smuzhiyun    description: GPIO pin to enable/disable the device.
45*4882a593Smuzhiyun
46*4882a593Smuzhiyun  vled-supply:
47*4882a593Smuzhiyun    description: LED supply.
48*4882a593Smuzhiyun
49*4882a593Smuzhiyun  '#address-cells':
50*4882a593Smuzhiyun    const: 1
51*4882a593Smuzhiyun
52*4882a593Smuzhiyun  '#size-cells':
53*4882a593Smuzhiyun    const: 0
54*4882a593Smuzhiyun
55*4882a593SmuzhiyunpatternProperties:
56*4882a593Smuzhiyun  '^multi-led@[0-9a-f]$':
57*4882a593Smuzhiyun    type: object
58*4882a593Smuzhiyun    allOf:
59*4882a593Smuzhiyun      - $ref: leds-class-multicolor.yaml#
60*4882a593Smuzhiyun    properties:
61*4882a593Smuzhiyun      reg:
62*4882a593Smuzhiyun        minItems: 1
63*4882a593Smuzhiyun        maxItems: 12
64*4882a593Smuzhiyun        description:
65*4882a593Smuzhiyun          This property denotes the LED module number(s) that is used on the
66*4882a593Smuzhiyun          for the child node.  The LED modules can either be used stand alone
67*4882a593Smuzhiyun          or grouped into a module bank.
68*4882a593Smuzhiyun
69*4882a593Smuzhiyun    patternProperties:
70*4882a593Smuzhiyun      "(^led-[0-9a-f]$|led)":
71*4882a593Smuzhiyun        type: object
72*4882a593Smuzhiyun        $ref: common.yaml#
73*4882a593Smuzhiyun
74*4882a593Smuzhiyunrequired:
75*4882a593Smuzhiyun  - compatible
76*4882a593Smuzhiyun  - reg
77*4882a593Smuzhiyun
78*4882a593SmuzhiyunadditionalProperties: false
79*4882a593Smuzhiyun
80*4882a593Smuzhiyunexamples:
81*4882a593Smuzhiyun  - |
82*4882a593Smuzhiyun   #include <dt-bindings/gpio/gpio.h>
83*4882a593Smuzhiyun   #include <dt-bindings/leds/common.h>
84*4882a593Smuzhiyun
85*4882a593Smuzhiyun   i2c {
86*4882a593Smuzhiyun       #address-cells = <1>;
87*4882a593Smuzhiyun       #size-cells = <0>;
88*4882a593Smuzhiyun
89*4882a593Smuzhiyun       led-controller@14 {
90*4882a593Smuzhiyun           compatible = "ti,lp5009";
91*4882a593Smuzhiyun           reg = <0x14>;
92*4882a593Smuzhiyun           #address-cells = <1>;
93*4882a593Smuzhiyun           #size-cells = <0>;
94*4882a593Smuzhiyun           enable-gpios = <&gpio1 16>;
95*4882a593Smuzhiyun
96*4882a593Smuzhiyun           multi-led@1 {
97*4882a593Smuzhiyun               #address-cells = <1>;
98*4882a593Smuzhiyun               #size-cells = <0>;
99*4882a593Smuzhiyun               reg = <0x1>;
100*4882a593Smuzhiyun               color = <LED_COLOR_ID_RGB>;
101*4882a593Smuzhiyun               function = LED_FUNCTION_CHARGING;
102*4882a593Smuzhiyun
103*4882a593Smuzhiyun               led-0 {
104*4882a593Smuzhiyun                   color = <LED_COLOR_ID_RED>;
105*4882a593Smuzhiyun               };
106*4882a593Smuzhiyun
107*4882a593Smuzhiyun               led-1 {
108*4882a593Smuzhiyun                   color = <LED_COLOR_ID_GREEN>;
109*4882a593Smuzhiyun               };
110*4882a593Smuzhiyun
111*4882a593Smuzhiyun               led-2 {
112*4882a593Smuzhiyun                   color = <LED_COLOR_ID_BLUE>;
113*4882a593Smuzhiyun               };
114*4882a593Smuzhiyun          };
115*4882a593Smuzhiyun
116*4882a593Smuzhiyun          multi-led@2 {
117*4882a593Smuzhiyun            #address-cells = <1>;
118*4882a593Smuzhiyun            #size-cells = <2>;
119*4882a593Smuzhiyun            reg = <0x2 0x3 0x5>;
120*4882a593Smuzhiyun            color = <LED_COLOR_ID_RGB>;
121*4882a593Smuzhiyun            function = LED_FUNCTION_STANDBY;
122*4882a593Smuzhiyun
123*4882a593Smuzhiyun            led-6 {
124*4882a593Smuzhiyun              color = <LED_COLOR_ID_RED>;
125*4882a593Smuzhiyun            };
126*4882a593Smuzhiyun
127*4882a593Smuzhiyun            led-7 {
128*4882a593Smuzhiyun              color = <LED_COLOR_ID_GREEN>;
129*4882a593Smuzhiyun            };
130*4882a593Smuzhiyun
131*4882a593Smuzhiyun            led-8 {
132*4882a593Smuzhiyun              color = <LED_COLOR_ID_BLUE>;
133*4882a593Smuzhiyun            };
134*4882a593Smuzhiyun         };
135*4882a593Smuzhiyun       };
136*4882a593Smuzhiyun    };
137*4882a593Smuzhiyun
138*4882a593Smuzhiyun...
139