xref: /OK3568_Linux_fs/kernel/Documentation/devicetree/bindings/leds/leds-lp55xx.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-lp55xx.yaml#
5*4882a593Smuzhiyun$schema: http://devicetree.org/meta-schemas/core.yaml#
6*4882a593Smuzhiyun
7*4882a593Smuzhiyuntitle: TI/National Semiconductor LP55xx and LP8501 LED Drivers
8*4882a593Smuzhiyun
9*4882a593Smuzhiyunmaintainers:
10*4882a593Smuzhiyun  - Jacek Anaszewski <jacek.anaszewski@gmail.com>
11*4882a593Smuzhiyun  - Pavel Machek <pavel@ucw.cz>
12*4882a593Smuzhiyun
13*4882a593Smuzhiyundescription: |
14*4882a593Smuzhiyun  Bindings for the TI/National Semiconductor LP55xx and LP8501 multi channel
15*4882a593Smuzhiyun  LED Drivers.
16*4882a593Smuzhiyun
17*4882a593Smuzhiyun  For more product information please see the link below:
18*4882a593Smuzhiyun    https://www.ti.com/lit/gpn/lp5521
19*4882a593Smuzhiyun    https://www.ti.com/lit/gpn/lp5523
20*4882a593Smuzhiyun    https://www.ti.com/lit/gpn/lp55231
21*4882a593Smuzhiyun    https://www.ti.com/lit/gpn/lp5562
22*4882a593Smuzhiyun    https://www.ti.com/lit/gpn/lp8501
23*4882a593Smuzhiyun
24*4882a593Smuzhiyunproperties:
25*4882a593Smuzhiyun  compatible:
26*4882a593Smuzhiyun    enum:
27*4882a593Smuzhiyun      - national,lp5521
28*4882a593Smuzhiyun      - national,lp5523
29*4882a593Smuzhiyun      - ti,lp55231
30*4882a593Smuzhiyun      - ti,lp5562
31*4882a593Smuzhiyun      - ti,lp8501
32*4882a593Smuzhiyun
33*4882a593Smuzhiyun  reg:
34*4882a593Smuzhiyun    maxItems: 1
35*4882a593Smuzhiyun    description: I2C slave address
36*4882a593Smuzhiyun
37*4882a593Smuzhiyun  clock-mode:
38*4882a593Smuzhiyun    $ref: /schemas/types.yaml#definitions/uint8
39*4882a593Smuzhiyun    description: |
40*4882a593Smuzhiyun      Input clock mode
41*4882a593Smuzhiyun    enum:
42*4882a593Smuzhiyun      - 0 # automode
43*4882a593Smuzhiyun      - 1 # internal
44*4882a593Smuzhiyun      - 2 # external
45*4882a593Smuzhiyun
46*4882a593Smuzhiyun  enable-gpio:
47*4882a593Smuzhiyun    maxItems: 1
48*4882a593Smuzhiyun    description: |
49*4882a593Smuzhiyun      GPIO attached to the chip's enable pin
50*4882a593Smuzhiyun
51*4882a593Smuzhiyun  pwr-sel:
52*4882a593Smuzhiyun    $ref: /schemas/types.yaml#definitions/uint8
53*4882a593Smuzhiyun    description: |
54*4882a593Smuzhiyun      LP8501 specific property. Power selection for output channels.
55*4882a593Smuzhiyun    enum:
56*4882a593Smuzhiyun      - 0 # D1~9 are connected to VDD
57*4882a593Smuzhiyun      - 1 # D1~6 with VDD, D7~9 with VOUT
58*4882a593Smuzhiyun      - 2 # D1~6 with VOUT, D7~9 with VDD
59*4882a593Smuzhiyun      - 3 # D1~9 are connected to VOUT
60*4882a593Smuzhiyun
61*4882a593Smuzhiyun  '#address-cells':
62*4882a593Smuzhiyun    const: 1
63*4882a593Smuzhiyun
64*4882a593Smuzhiyun  '#size-cells':
65*4882a593Smuzhiyun    const: 0
66*4882a593Smuzhiyun
67*4882a593SmuzhiyunpatternProperties:
68*4882a593Smuzhiyun  "(^led@[0-9a-f]$|led)":
69*4882a593Smuzhiyun    type: object
70*4882a593Smuzhiyun    $ref: common.yaml#
71*4882a593Smuzhiyun    properties:
72*4882a593Smuzhiyun      led-cur:
73*4882a593Smuzhiyun        $ref: /schemas/types.yaml#definitions/uint8
74*4882a593Smuzhiyun        description: |
75*4882a593Smuzhiyun          Current setting at each LED channel (mA x10, 0 if LED is not connected)
76*4882a593Smuzhiyun        minimum: 0
77*4882a593Smuzhiyun        maximum: 255
78*4882a593Smuzhiyun
79*4882a593Smuzhiyun      max-cur:
80*4882a593Smuzhiyun        $ref: /schemas/types.yaml#definitions/uint8
81*4882a593Smuzhiyun        description: Maximun current at each LED channel.
82*4882a593Smuzhiyun
83*4882a593Smuzhiyun      reg:
84*4882a593Smuzhiyun        description: |
85*4882a593Smuzhiyun          Output channel for the LED.  This is zero based channel identifier and
86*4882a593Smuzhiyun          the data sheet is a one based channel identifier.
87*4882a593Smuzhiyun          reg value to output to LED output number
88*4882a593Smuzhiyun        enum:
89*4882a593Smuzhiyun          - 0 # LED output D1
90*4882a593Smuzhiyun          - 1 # LED output D2
91*4882a593Smuzhiyun          - 2 # LED output D3
92*4882a593Smuzhiyun          - 3 # LED output D4
93*4882a593Smuzhiyun          - 4 # LED output D5
94*4882a593Smuzhiyun          - 5 # LED output D6
95*4882a593Smuzhiyun          - 6 # LED output D7
96*4882a593Smuzhiyun          - 7 # LED output D8
97*4882a593Smuzhiyun          - 8 # LED output D9
98*4882a593Smuzhiyun
99*4882a593Smuzhiyun      chan-name:
100*4882a593Smuzhiyun        $ref: /schemas/types.yaml#definitions/string
101*4882a593Smuzhiyun        description: name of channel
102*4882a593Smuzhiyun
103*4882a593Smuzhiyunrequired:
104*4882a593Smuzhiyun  - compatible
105*4882a593Smuzhiyun  - reg
106*4882a593Smuzhiyun
107*4882a593SmuzhiyunadditionalProperties: false
108*4882a593Smuzhiyun
109*4882a593Smuzhiyunexamples:
110*4882a593Smuzhiyun  - |
111*4882a593Smuzhiyun   #include <dt-bindings/leds/common.h>
112*4882a593Smuzhiyun
113*4882a593Smuzhiyun   i2c {
114*4882a593Smuzhiyun       #address-cells = <1>;
115*4882a593Smuzhiyun       #size-cells = <0>;
116*4882a593Smuzhiyun
117*4882a593Smuzhiyun       led-controller@32 {
118*4882a593Smuzhiyun           #address-cells = <1>;
119*4882a593Smuzhiyun           #size-cells = <0>;
120*4882a593Smuzhiyun           compatible = "ti,lp8501";
121*4882a593Smuzhiyun           reg = <0x32>;
122*4882a593Smuzhiyun           clock-mode = /bits/ 8 <2>;
123*4882a593Smuzhiyun           pwr-sel = /bits/ 8 <3>;	/* D1~9 connected to VOUT */
124*4882a593Smuzhiyun
125*4882a593Smuzhiyun           led@0 {
126*4882a593Smuzhiyun               reg = <0>;
127*4882a593Smuzhiyun               chan-name = "d1";
128*4882a593Smuzhiyun               led-cur = /bits/ 8 <0x14>;
129*4882a593Smuzhiyun               max-cur = /bits/ 8 <0x20>;
130*4882a593Smuzhiyun           };
131*4882a593Smuzhiyun
132*4882a593Smuzhiyun           led@1 {
133*4882a593Smuzhiyun               reg = <1>;
134*4882a593Smuzhiyun               chan-name = "d2";
135*4882a593Smuzhiyun               led-cur = /bits/ 8 <0x14>;
136*4882a593Smuzhiyun               max-cur = /bits/ 8 <0x20>;
137*4882a593Smuzhiyun           };
138*4882a593Smuzhiyun
139*4882a593Smuzhiyun           led@2 {
140*4882a593Smuzhiyun               reg = <2>;
141*4882a593Smuzhiyun               chan-name = "d3";
142*4882a593Smuzhiyun               led-cur = /bits/ 8 <0x14>;
143*4882a593Smuzhiyun               max-cur = /bits/ 8 <0x20>;
144*4882a593Smuzhiyun           };
145*4882a593Smuzhiyun
146*4882a593Smuzhiyun           led@3 {
147*4882a593Smuzhiyun               reg = <3>;
148*4882a593Smuzhiyun               chan-name = "d4";
149*4882a593Smuzhiyun               led-cur = /bits/ 8 <0x14>;
150*4882a593Smuzhiyun               max-cur = /bits/ 8 <0x20>;
151*4882a593Smuzhiyun           };
152*4882a593Smuzhiyun
153*4882a593Smuzhiyun           led@4 {
154*4882a593Smuzhiyun               reg = <4>;
155*4882a593Smuzhiyun               chan-name = "d5";
156*4882a593Smuzhiyun               led-cur = /bits/ 8 <0x14>;
157*4882a593Smuzhiyun               max-cur = /bits/ 8 <0x20>;
158*4882a593Smuzhiyun           };
159*4882a593Smuzhiyun
160*4882a593Smuzhiyun           led@5 {
161*4882a593Smuzhiyun               reg = <5>;
162*4882a593Smuzhiyun               chan-name = "d6";
163*4882a593Smuzhiyun               led-cur = /bits/ 8 <0x14>;
164*4882a593Smuzhiyun               max-cur = /bits/ 8 <0x20>;
165*4882a593Smuzhiyun           };
166*4882a593Smuzhiyun
167*4882a593Smuzhiyun           led@6 {
168*4882a593Smuzhiyun               reg = <6>;
169*4882a593Smuzhiyun               chan-name = "d7";
170*4882a593Smuzhiyun               led-cur = /bits/ 8 <0x14>;
171*4882a593Smuzhiyun               max-cur = /bits/ 8 <0x20>;
172*4882a593Smuzhiyun           };
173*4882a593Smuzhiyun
174*4882a593Smuzhiyun           led@7 {
175*4882a593Smuzhiyun               reg = <7>;
176*4882a593Smuzhiyun               chan-name = "d8";
177*4882a593Smuzhiyun               led-cur = /bits/ 8 <0x14>;
178*4882a593Smuzhiyun               max-cur = /bits/ 8 <0x20>;
179*4882a593Smuzhiyun           };
180*4882a593Smuzhiyun
181*4882a593Smuzhiyun           led@8 {
182*4882a593Smuzhiyun               reg = <8>;
183*4882a593Smuzhiyun               chan-name = "d9";
184*4882a593Smuzhiyun               led-cur = /bits/ 8 <0x14>;
185*4882a593Smuzhiyun               max-cur = /bits/ 8 <0x20>;
186*4882a593Smuzhiyun           };
187*4882a593Smuzhiyun        };
188*4882a593Smuzhiyun
189*4882a593Smuzhiyun       led-controller@33 {
190*4882a593Smuzhiyun           #address-cells = <1>;
191*4882a593Smuzhiyun           #size-cells = <0>;
192*4882a593Smuzhiyun           compatible = "national,lp5523";
193*4882a593Smuzhiyun           reg = <0x33>;
194*4882a593Smuzhiyun           clock-mode = /bits/ 8 <0>;
195*4882a593Smuzhiyun
196*4882a593Smuzhiyun           multi-led@2 {
197*4882a593Smuzhiyun               #address-cells = <1>;
198*4882a593Smuzhiyun               #size-cells = <0>;
199*4882a593Smuzhiyun               reg = <0x2>;
200*4882a593Smuzhiyun               color = <LED_COLOR_ID_RGB>;
201*4882a593Smuzhiyun               function = LED_FUNCTION_STANDBY;
202*4882a593Smuzhiyun               linux,default-trigger = "heartbeat";
203*4882a593Smuzhiyun
204*4882a593Smuzhiyun               led@0 {
205*4882a593Smuzhiyun                   led-cur = /bits/ 8 <50>;
206*4882a593Smuzhiyun                   max-cur = /bits/ 8 <100>;
207*4882a593Smuzhiyun                   reg = <0x0>;
208*4882a593Smuzhiyun                   color = <LED_COLOR_ID_GREEN>;
209*4882a593Smuzhiyun               };
210*4882a593Smuzhiyun
211*4882a593Smuzhiyun               led@1 {
212*4882a593Smuzhiyun                   led-cur = /bits/ 8 <50>;
213*4882a593Smuzhiyun                   max-cur = /bits/ 8 <100>;
214*4882a593Smuzhiyun                   reg = <0x1>;
215*4882a593Smuzhiyun                   color = <LED_COLOR_ID_BLUE>;
216*4882a593Smuzhiyun               };
217*4882a593Smuzhiyun
218*4882a593Smuzhiyun               led@6 {
219*4882a593Smuzhiyun                   led-cur = /bits/ 8 <50>;
220*4882a593Smuzhiyun                   max-cur = /bits/ 8 <100>;
221*4882a593Smuzhiyun                   reg = <0x6>;
222*4882a593Smuzhiyun                   color = <LED_COLOR_ID_RED>;
223*4882a593Smuzhiyun               };
224*4882a593Smuzhiyun            };
225*4882a593Smuzhiyun        };
226*4882a593Smuzhiyun    };
227*4882a593Smuzhiyun
228*4882a593Smuzhiyun...
229