dt-bindings: leds: Document TI LM3533 LED controller

Document the LM3533 - a complete power source for backlight, keypad and
indicator LEDs in smartphone handsets. The high-voltage inductive boost
converter provides the power for two series LED strings display backlight
and keypad functions.

Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
Reviewed-by: Jonathan Cameron <jic23@kernel.org> #for light sensor
Reviewed-by: Daniel Thompson (RISCstar) <danielt@kernel.org> #for backlight
Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
Link: https://patch.msgid.link/20260731113632.158440-2-clamor95@gmail.com
Signed-off-by: Lee Jones <lee@kernel.org>
This commit is contained in:
Svyatoslav Ryhel 2026-07-31 14:36:19 +03:00 committed by Lee Jones
parent cee9395acd
commit 0747740a12
3 changed files with 305 additions and 0 deletions

View File

@ -0,0 +1,69 @@
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/leds/backlight/ti,lm3533-backlight.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: TI LM3533 high voltage series LED strings
description:
This is part of the TI LM3533 MFD device. It represents two high voltage series
LED strings for display backlight controlled by the TI LM3533.
maintainers:
- Svyatoslav Ryhel <clamor95@gmail.com>
allOf:
- $ref: /schemas/leds/backlight/common.yaml#
properties:
compatible:
const: ti,lm3533-backlight
reg:
description: Control bank selection (0 = bank A, 1 = bank B).
maximum: 1
led-max-microamp:
description: maximum current in uA with a 800 uA step.
minimum: 5000
maximum: 29800
default: 5000
led-sources:
description: |
HVLED strings associated with this control bank:
0 - HVLED1
1 - HVLED2
minItems: 1
maxItems: 2
items:
maximum: 1
ti,pwm-config-mask:
$ref: /schemas/types.yaml#/definitions/uint32
description: |
Control Bank PWM Configuration Register mask that allows to configure
PWM input in Zones 0-4
BIT(0) - PWM Input is enabled
BIT(1) - PWM Input is enabled in Zone 0
BIT(2) - PWM Input is enabled in Zone 1
BIT(3) - PWM Input is enabled in Zone 2
BIT(4) - PWM Input is enabled in Zone 3
BIT(5) - PWM Input is enabled in Zone 4
default: 0
ti,linear-mapping-mode:
description:
Enable linear mapping mode. If disabled, then it will use exponential
mapping mode in which the ramp up/down appears to have a more uniform
transition to the human eye.
type: boolean
required:
- compatible
- reg
unevaluatedProperties: false
# see ti,lm3533.yaml for an example

View File

@ -0,0 +1,67 @@
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/leds/ti,lm3533-leds.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: TI LM3533 low voltage control banks for individual LEDs
description:
This is part of the TI LM3533 MFD device. It represents four low voltage
control banks for individual LEDs provided by the TI LM3533.
maintainers:
- Svyatoslav Ryhel <clamor95@gmail.com>
allOf:
- $ref: /schemas/leds/common.yaml#
properties:
compatible:
const: ti,lm3533-leds
reg:
description:
Control bank selection (2 = bank C, 3 = bank D, 4 = bank E, 5 = bank F).
minimum: 2
maximum: 5
led-max-microamp:
description: maximum current in uA with a 800 uA step.
minimum: 5000
maximum: 29800
default: 5000
led-sources:
description: |
LVLED associated with this control bank. May be more than 1 source per bank.
0 - LVLED1
1 - LVLED2
2 - LVLED3
3 - LVLED4
4 - LVLED5
minItems: 1
maxItems: 5
items:
maximum: 4
ti,pwm-config-mask:
$ref: /schemas/types.yaml#/definitions/uint32
description: |
Control Bank PWM Configuration Register mask that allows to configure
PWM input in Zones 0-4
BIT(0) - PWM Input is enabled
BIT(1) - PWM Input is enabled in Zone 0
BIT(2) - PWM Input is enabled in Zone 1
BIT(3) - PWM Input is enabled in Zone 2
BIT(4) - PWM Input is enabled in Zone 3
BIT(5) - PWM Input is enabled in Zone 4
default: 0
required:
- compatible
- reg
unevaluatedProperties: false
# see ti,lm3533.yaml for an example

View File

@ -0,0 +1,169 @@
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/leds/ti,lm3533.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: TI LM3533 Complete Lighting Power Solution
description: >
The LM3533 is a complete power source for backlight, keypad, and indicator LEDs
in smartphone handsets. The high-voltage inductive boost converter provides the
power for two high voltage series LED strings for display backlight and four low
voltage control banks for individual LEDs. Additionally, LM3533 features an
interface for an external light sensor.
https://www.ti.com/product/LM3533
maintainers:
- Svyatoslav Ryhel <clamor95@gmail.com>
properties:
compatible:
const: ti,lm3533
reg:
maxItems: 1
enable-gpios:
description: GPIO connected to the HWEN pin.
maxItems: 1
vin-supply:
description: Supply connected to the IN line (2.7 V to 5.5 V).
'#address-cells':
const: 1
'#size-cells':
const: 0
ti,boost-ovp-microvolt:
description: boost OVP select (16V, 24V, 32V, 40V)
enum: [ 16000000, 24000000, 32000000, 40000000 ]
default: 16000000
ti,boost-freq-hz:
description: boost frequency select (500KHz or 1MHz)
enum: [ 500000, 1000000 ]
default: 500000
light-sensor:
type: object
additionalProperties: false
properties:
compatible:
const: ti,lm3533-als
interrupts:
maxItems: 1
ti,resistor-ohms:
description:
Internal configuration resistor value when light sensor is in
Analog Sensor mode and PWM mode is disabled. The expectation is
the input is a current from the external analog light sensor and
this is used to convert it to a voltage within the target range.
minimum: 1575
maximum: 200000
ti,pwm-mode:
type: boolean
description:
Switch for mode in which light sensor interface is running. If
this property is set then the light sensor interface is running
in PWM mode, internal resistor value is set to high-impedance (0)
and ti,resistor-ohms property is ignored.
required:
- compatible
oneOf:
- required:
- ti,resistor-ohms
- required:
- ti,pwm-mode
patternProperties:
"^backlight@[01]$":
$ref: /schemas/leds/backlight/ti,lm3533-backlight.yaml#
"^led@[2-5]$":
$ref: /schemas/leds/ti,lm3533-leds.yaml#
required:
- compatible
- reg
- '#address-cells'
- '#size-cells'
additionalProperties: false
examples:
- |
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/interrupt-controller/irq.h>
i2c {
#address-cells = <1>;
#size-cells = <0>;
led-controller@36 {
compatible = "ti,lm3533";
reg = <0x36>;
enable-gpios = <&gpio 110 GPIO_ACTIVE_HIGH>;
vin-supply = <&vdd_3v3_bat>;
ti,boost-ovp-microvolt = <24000000>;
ti,boost-freq-hz = <500000>;
#address-cells = <1>;
#size-cells = <0>;
backlight@0 {
compatible = "ti,lm3533-backlight";
reg = <0>;
default-brightness = <113>;
led-max-microamp = <23400>;
led-sources = <0 1>;
};
led@2 {
compatible = "ti,lm3533-leds";
reg = <2>;
led-max-microamp = <23400>;
led-sources = <0 1>;
};
led@4 {
compatible = "ti,lm3533-leds";
reg = <4>;
led-max-microamp = <23400>;
led-sources = <2>;
};
led@5 {
compatible = "ti,lm3533-leds";
reg = <5>;
led-max-microamp = <23400>;
led-sources = <3 4>;
};
light-sensor {
compatible = "ti,lm3533-als";
interrupt-parent = <&gpio>;
interrupts = <80 IRQ_TYPE_LEVEL_LOW>;
ti,pwm-mode;
};
};
};
...