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