Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
165 changes: 165 additions & 0 deletions Documentation/devicetree/bindings/leds/leds-ltc3208.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,165 @@
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
# Copyright (c) 2025 Analog Devices, Inc.
%YAML 1.2
---
$id: http://devicetree.org/schemas/leds/leds-ltc3208.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: LTC3208 Multidisplay LED Controller from Linear Technologies (Now Analog Devices).

maintainers:
- Jan Carlo Roleda <jancarlo.roleda@analog.com>

description:
The LTC3208 is a multidisplay LED controller that can support up to 1A to all
connected LEDs.

The datasheet for this device can be found in
https://www.analog.com/en/products/ltc3208.html


properties:
compatible:
const: adi,ltc3208

reg:
maxItems: 1

'#address-cells':
const: 1

'#size-cells':
const: 0

adi,disable-camhl-pin:
type: boolean
description: Configures whether the external CAMHL pin is disabled.
if disabled then the output pins associated with CAM will always select
the CAM register's high half-byte brightness.

adi,select-rgb-sub-en:
type: boolean
description:
Selects whether the ENRGBS pin controls the SUB channel's output pins if set,
or RGB channel's output pins if unset.

adi,force-cpo-level:
$ref: /schemas/types.yaml#/definitions/string
description: Forces the Charge Pump Output to a specified multiplier
enum:
- "1" # none; device CPO multiplier acts on dropout signals
- "1.5"
- "2"
default:
- "1"

adi,disable-rgb-aux4-dropout:
type: boolean
description: Configures the RGB and AUX4 dropout signals to be disabled.

adi,aux1-channel:
$ref: /schemas/types.yaml#/definitions/string
description:
LED Channel that the AUX1 output pin mirrors its brightness level from.
enum: [aux, main, sub, cam]
default: aux

adi,aux2-channel:
$ref: /schemas/types.yaml#/definitions/string
description:
LED Channel that the AUX2 output pin mirrors its brightness level from.
enum: [aux, main, sub, cam]
default: aux

adi,aux3-channel:
$ref: /schemas/types.yaml#/definitions/string
description:
LED Channel that the AUX3 output pin mirrors its brightness level from.
enum: [aux, main, sub, cam]
default: aux

adi,aux4-channel:
$ref: /schemas/types.yaml#/definitions/string
description:
LED Channel that the AUX4 output pin mirrors its brightness level from.
enum: [aux, main, sub, cam]
default: aux

patternProperties:
"^led@[0-7]$":
type: object
unevaluatedProperties: false
properties:
reg:
description:
LED Channel Number. each channel maps to a specific channel group used
to configure the brightness level of the output pins corresponding to
the channel.
enum:
- 0 # Main Channel (8-bit brightness)
- 1 # Sub Channel (8-bit brightness)
- 2 # AUX Channel (4-bit brightness)
- 3 # Camera Channel, Low-side byte (4-bit brightness)
- 4 # Camera Channel, High-side byte (4-bit brightness)
- 5 # Red Channel (4-bit brightness)
- 6 # Blue Channel (4-bit brightness)
- 7 # Green Channel (4-bit brightness)
required:
- reg

required:
- compatible
- reg

additionalProperties: false

examples:
- |

i2c {
#address-cells = <1>;
#size-cells = <0>;

led-controller@1b {
compatible = "adi,ltc3208";
reg = <0x1b>;
#address-cells = <1>;
#size-cells = <0>;
adi,disable-camhl-pin;
adi,select-rgb-sub-en;
adi,force-cpo-level = "1";
adi,disable-rgb-aux4-dropout;

led@0 {
reg = <0>;
};

led@1 {
reg = <1>;
};

led@2 {
reg = <2>;
};

led@3 {
reg = <3>;
};

led@4 {
reg = <4>;
};

led@5 {
reg = <5>;
};

led@6 {
reg = <6>;
};

led@7 {
reg = <7>;
};
};
};
1 change: 1 addition & 0 deletions Kconfig.adi
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@

# This file exists solely to be include in the main Kconfig

Expand Down Expand Up @@ -71,6 +71,7 @@
imply PMIC_ADP5520
imply PWM_AXI_PWMGEN
imply LEDS_ADP5520
imply LEDS_LTC3208
imply BACKLIGHT_ADP5520
imply BACKLIGHT_ADP8860
imply BACKLIGHT_ADP8870
Expand Down
11 changes: 11 additions & 0 deletions drivers/leds/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -959,6 +959,17 @@ config LEDS_ACER_A500
This option enables support for the Power Button LED of
Acer Iconia Tab A500.

config LEDS_LTC3208
tristate "LED Driver for LTC3208"
depends on LEDS_CLASS && I2C
select REGMAP_I2C
help
Say Y to enable the LTC3208 LED driver.
This supports the LED device LTC3208.

To compile this driver as a module, choose M here: the module will
be called ltc3208.

source "drivers/leds/blink/Kconfig"

comment "Flash and Torch LED drivers"
Expand Down
1 change: 1 addition & 0 deletions drivers/leds/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,7 @@ obj-$(CONFIG_LEDS_LP8501) += leds-lp8501.o
obj-$(CONFIG_LEDS_LP8788) += leds-lp8788.o
obj-$(CONFIG_LEDS_LP8860) += leds-lp8860.o
obj-$(CONFIG_LEDS_LT3593) += leds-lt3593.o
obj-$(CONFIG_LEDS_LTC3208) += leds-ltc3208.o
obj-$(CONFIG_LEDS_MAX5970) += leds-max5970.o
obj-$(CONFIG_LEDS_MAX77650) += leds-max77650.o
obj-$(CONFIG_LEDS_MAX8997) += leds-max8997.o
Expand Down
Loading
Loading