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