dt-bindings: leds: Document TI LM3560 Synchronous Boost Flash Driver

Document TI LM3559 and LM3560 Synchronous Boost Flash Driver used for
camera flash LEDs.

Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
Reviewed-by: Conor Dooley <conor.dooley@microchip.com>
Link: https://patch.msgid.link/20260506064847.37795-2-clamor95@gmail.com
Signed-off-by: Lee Jones <lee@kernel.org>
This commit is contained in:
Svyatoslav Ryhel 2026-05-06 09:48:42 +03:00 committed by Lee Jones
parent a6ec318b16
commit 7d5c8db6dc

View File

@ -0,0 +1,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>;
};
};
};