xref: /linux/Documentation/devicetree/bindings/leds/ti,lm3560.yaml (revision 6e717507bfbe8d6955f3f4c5604857a392c7e6fa)
1*7d5c8db6SSvyatoslav Ryhel# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*7d5c8db6SSvyatoslav Ryhel%YAML 1.2
3*7d5c8db6SSvyatoslav Ryhel---
4*7d5c8db6SSvyatoslav Ryhel$id: http://devicetree.org/schemas/leds/ti,lm3560.yaml#
5*7d5c8db6SSvyatoslav Ryhel$schema: http://devicetree.org/meta-schemas/core.yaml#
6*7d5c8db6SSvyatoslav Ryhel
7*7d5c8db6SSvyatoslav Ryheltitle: TI LM3560 Synchronous Boost Flash Driver
8*7d5c8db6SSvyatoslav Ryhel
9*7d5c8db6SSvyatoslav Ryhelmaintainers:
10*7d5c8db6SSvyatoslav Ryhel  - Svyatoslav Ryhel <clamor95@gmail.com>
11*7d5c8db6SSvyatoslav Ryhel
12*7d5c8db6SSvyatoslav Ryheldescription:
13*7d5c8db6SSvyatoslav Ryhel  The LM3560 is a 2-MHz fixed frequency synchronous boost converter with two
14*7d5c8db6SSvyatoslav Ryhel  1000-mA constant current drivers for high-current white LEDs. The dual high-
15*7d5c8db6SSvyatoslav Ryhel  side current sources allow for grounded cathode LED operation and can be
16*7d5c8db6SSvyatoslav Ryhel  tied together for providing flash currents at up to 2 A through a single LED.
17*7d5c8db6SSvyatoslav Ryhel  An adaptive regulation method ensures the current for each LED remains in
18*7d5c8db6SSvyatoslav Ryhel  regulation and maximizes efficiency.
19*7d5c8db6SSvyatoslav Ryhel
20*7d5c8db6SSvyatoslav Ryhelproperties:
21*7d5c8db6SSvyatoslav Ryhel  compatible:
22*7d5c8db6SSvyatoslav Ryhel    enum:
23*7d5c8db6SSvyatoslav Ryhel      - ti,lm3559
24*7d5c8db6SSvyatoslav Ryhel      - ti,lm3560
25*7d5c8db6SSvyatoslav Ryhel
26*7d5c8db6SSvyatoslav Ryhel  reg:
27*7d5c8db6SSvyatoslav Ryhel    maxItems: 1
28*7d5c8db6SSvyatoslav Ryhel
29*7d5c8db6SSvyatoslav Ryhel  '#address-cells':
30*7d5c8db6SSvyatoslav Ryhel    const: 1
31*7d5c8db6SSvyatoslav Ryhel
32*7d5c8db6SSvyatoslav Ryhel  '#size-cells':
33*7d5c8db6SSvyatoslav Ryhel    const: 0
34*7d5c8db6SSvyatoslav Ryhel
35*7d5c8db6SSvyatoslav Ryhel  enable-gpios:
36*7d5c8db6SSvyatoslav Ryhel    description: GPIO connected to the HWEN pin.
37*7d5c8db6SSvyatoslav Ryhel    maxItems: 1
38*7d5c8db6SSvyatoslav Ryhel
39*7d5c8db6SSvyatoslav Ryhel  vin-supply:
40*7d5c8db6SSvyatoslav Ryhel    description: Supply connected to the IN line.
41*7d5c8db6SSvyatoslav Ryhel
42*7d5c8db6SSvyatoslav Ryhel  flash-max-timeout-us:
43*7d5c8db6SSvyatoslav Ryhel    minimum: 32000
44*7d5c8db6SSvyatoslav Ryhel    maximum: 1024000
45*7d5c8db6SSvyatoslav Ryhel    default: 32000
46*7d5c8db6SSvyatoslav Ryhel
47*7d5c8db6SSvyatoslav Ryhel  ti,peak-current-microamp:
48*7d5c8db6SSvyatoslav Ryhel    description:
49*7d5c8db6SSvyatoslav Ryhel      The LM3560 features 4 selectable current limits 1.6A, 2.3A, 3A, and 3.6A
50*7d5c8db6SSvyatoslav Ryhel      (in case of LM3559 - 1.4A, 2.1A, 2.7A, and 3.2A). When the current limit
51*7d5c8db6SSvyatoslav Ryhel      is reached, the LM3559/LM3560 stops switching for the remainder of the
52*7d5c8db6SSvyatoslav Ryhel      switching cycle.
53*7d5c8db6SSvyatoslav Ryhel
54*7d5c8db6SSvyatoslav RyhelpatternProperties:
55*7d5c8db6SSvyatoslav Ryhel  '^led@[01]$':
56*7d5c8db6SSvyatoslav Ryhel    type: object
57*7d5c8db6SSvyatoslav Ryhel    $ref: /schemas/leds/common.yaml#
58*7d5c8db6SSvyatoslav Ryhel    description: LED control bank nodes.
59*7d5c8db6SSvyatoslav Ryhel    unevaluatedProperties: false
60*7d5c8db6SSvyatoslav Ryhel
61*7d5c8db6SSvyatoslav Ryhel    properties:
62*7d5c8db6SSvyatoslav Ryhel      reg:
63*7d5c8db6SSvyatoslav Ryhel        description: Control bank selection (0 = bank A, 1 = bank B).
64*7d5c8db6SSvyatoslav Ryhel        maximum: 1
65*7d5c8db6SSvyatoslav Ryhel
66*7d5c8db6SSvyatoslav Ryhel    required:
67*7d5c8db6SSvyatoslav Ryhel      - reg
68*7d5c8db6SSvyatoslav Ryhel      - flash-max-microamp
69*7d5c8db6SSvyatoslav Ryhel      - led-max-microamp
70*7d5c8db6SSvyatoslav Ryhel
71*7d5c8db6SSvyatoslav RyhelallOf:
72*7d5c8db6SSvyatoslav Ryhel  - $ref: /schemas/leds/common.yaml#
73*7d5c8db6SSvyatoslav Ryhel  - if:
74*7d5c8db6SSvyatoslav Ryhel      properties:
75*7d5c8db6SSvyatoslav Ryhel        compatible:
76*7d5c8db6SSvyatoslav Ryhel          contains:
77*7d5c8db6SSvyatoslav Ryhel            const: ti,lm3559
78*7d5c8db6SSvyatoslav Ryhel    then:
79*7d5c8db6SSvyatoslav Ryhel      properties:
80*7d5c8db6SSvyatoslav Ryhel        ti,peak-current-microamp:
81*7d5c8db6SSvyatoslav Ryhel          enum: [1400000, 2100000, 2700000, 3200000]
82*7d5c8db6SSvyatoslav Ryhel          default: 1400000
83*7d5c8db6SSvyatoslav Ryhel      patternProperties:
84*7d5c8db6SSvyatoslav Ryhel        '^led@[01]$':
85*7d5c8db6SSvyatoslav Ryhel          properties:
86*7d5c8db6SSvyatoslav Ryhel            flash-max-microamp:
87*7d5c8db6SSvyatoslav Ryhel              minimum: 56250
88*7d5c8db6SSvyatoslav Ryhel              maximum: 900000
89*7d5c8db6SSvyatoslav Ryhel            led-max-microamp:
90*7d5c8db6SSvyatoslav Ryhel              minimum: 28125
91*7d5c8db6SSvyatoslav Ryhel              maximum: 225000
92*7d5c8db6SSvyatoslav Ryhel
93*7d5c8db6SSvyatoslav Ryhel  - if:
94*7d5c8db6SSvyatoslav Ryhel      properties:
95*7d5c8db6SSvyatoslav Ryhel        compatible:
96*7d5c8db6SSvyatoslav Ryhel          contains:
97*7d5c8db6SSvyatoslav Ryhel            const: ti,lm3560
98*7d5c8db6SSvyatoslav Ryhel    then:
99*7d5c8db6SSvyatoslav Ryhel      properties:
100*7d5c8db6SSvyatoslav Ryhel        ti,peak-current-microamp:
101*7d5c8db6SSvyatoslav Ryhel          enum: [1600000, 2300000, 3000000, 3600000]
102*7d5c8db6SSvyatoslav Ryhel          default: 1600000
103*7d5c8db6SSvyatoslav Ryhel      patternProperties:
104*7d5c8db6SSvyatoslav Ryhel        '^led@[01]$':
105*7d5c8db6SSvyatoslav Ryhel          properties:
106*7d5c8db6SSvyatoslav Ryhel            flash-max-microamp:
107*7d5c8db6SSvyatoslav Ryhel              minimum: 62500
108*7d5c8db6SSvyatoslav Ryhel              maximum: 1000000
109*7d5c8db6SSvyatoslav Ryhel            led-max-microamp:
110*7d5c8db6SSvyatoslav Ryhel              minimum: 31250
111*7d5c8db6SSvyatoslav Ryhel              maximum: 250000
112*7d5c8db6SSvyatoslav Ryhel
113*7d5c8db6SSvyatoslav Ryhelrequired:
114*7d5c8db6SSvyatoslav Ryhel  - compatible
115*7d5c8db6SSvyatoslav Ryhel  - reg
116*7d5c8db6SSvyatoslav Ryhel  - '#address-cells'
117*7d5c8db6SSvyatoslav Ryhel  - '#size-cells'
118*7d5c8db6SSvyatoslav Ryhel
119*7d5c8db6SSvyatoslav RyheladditionalProperties: false
120*7d5c8db6SSvyatoslav Ryhel
121*7d5c8db6SSvyatoslav Ryhelexamples:
122*7d5c8db6SSvyatoslav Ryhel  - |
123*7d5c8db6SSvyatoslav Ryhel    #include <dt-bindings/gpio/gpio.h>
124*7d5c8db6SSvyatoslav Ryhel    #include <dt-bindings/leds/common.h>
125*7d5c8db6SSvyatoslav Ryhel
126*7d5c8db6SSvyatoslav Ryhel    i2c {
127*7d5c8db6SSvyatoslav Ryhel        #address-cells = <1>;
128*7d5c8db6SSvyatoslav Ryhel        #size-cells = <0>;
129*7d5c8db6SSvyatoslav Ryhel
130*7d5c8db6SSvyatoslav Ryhel        led-controller@53 {
131*7d5c8db6SSvyatoslav Ryhel            compatible = "ti,lm3560";
132*7d5c8db6SSvyatoslav Ryhel            reg = <0x53>;
133*7d5c8db6SSvyatoslav Ryhel
134*7d5c8db6SSvyatoslav Ryhel            enable-gpios = <&gpio 28 GPIO_ACTIVE_HIGH>;
135*7d5c8db6SSvyatoslav Ryhel            vin-supply = <&vdd_3v3_sys>;
136*7d5c8db6SSvyatoslav Ryhel
137*7d5c8db6SSvyatoslav Ryhel            flash-max-timeout-us = <1024000>;
138*7d5c8db6SSvyatoslav Ryhel            ti,peak-current-microamp = <1600000>;
139*7d5c8db6SSvyatoslav Ryhel
140*7d5c8db6SSvyatoslav Ryhel            #address-cells = <1>;
141*7d5c8db6SSvyatoslav Ryhel            #size-cells = <0>;
142*7d5c8db6SSvyatoslav Ryhel
143*7d5c8db6SSvyatoslav Ryhel            led@0 {
144*7d5c8db6SSvyatoslav Ryhel                reg = <0>;
145*7d5c8db6SSvyatoslav Ryhel
146*7d5c8db6SSvyatoslav Ryhel                function = LED_FUNCTION_FLASH;
147*7d5c8db6SSvyatoslav Ryhel                color = <LED_COLOR_ID_WHITE>;
148*7d5c8db6SSvyatoslav Ryhel
149*7d5c8db6SSvyatoslav Ryhel                flash-max-microamp = <562500>;
150*7d5c8db6SSvyatoslav Ryhel                led-max-microamp = <156250>;
151*7d5c8db6SSvyatoslav Ryhel            };
152*7d5c8db6SSvyatoslav Ryhel
153*7d5c8db6SSvyatoslav Ryhel            led@1 {
154*7d5c8db6SSvyatoslav Ryhel                reg = <1>;
155*7d5c8db6SSvyatoslav Ryhel
156*7d5c8db6SSvyatoslav Ryhel                function = LED_FUNCTION_FLASH;
157*7d5c8db6SSvyatoslav Ryhel                color = <LED_COLOR_ID_YELLOW>;
158*7d5c8db6SSvyatoslav Ryhel
159*7d5c8db6SSvyatoslav Ryhel                flash-max-microamp = <562500>;
160*7d5c8db6SSvyatoslav Ryhel                led-max-microamp = <156250>;
161*7d5c8db6SSvyatoslav Ryhel            };
162*7d5c8db6SSvyatoslav Ryhel        };
163*7d5c8db6SSvyatoslav Ryhel    };
164