generic: add STMicroelectronics LED1202 driver

This LED controller has a driver under development which is currently being reviewed by the respective kernel maintainers. They are currently on v11 which is included here.

The LED1202 is a 12-channel low quiescent current LED driver with:
  * Supply range from 2.6 V to 5 V
  * 20 mA current capability per channel
  * 1.8 V compatible I2C control interface
  * 8-bit analog dimming individual control
  * 12-bit local PWM resolution
  * 8 programmable patterns

If the led node is present in the controller then the channel is
set to active.

The output current can be adjusted separately for each channel by 8-bit
analog (current sink input) and 12-bit digital (PWM) dimming control. The
LED1202 implements 12 low-side current generators with independent dimming
control.

Internal volatile memory allows the user to store up to 8 different patterns,
each pattern is a particular output configuration in terms of PWM
duty-cycle (on 4096 steps). Analog dimming (on 256 steps) is per channel but
common to all patterns. Each device tree LED node will have a corresponding
entry in /sys/class/leds with the label name. The brightness property
corresponds to the per channel analog dimming, while the patterns[1-8] to the
PWM dimming control.

Signed-off-by: Manuel Fombuena <fombuena@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/17451
Signed-off-by: Robert Marko <robimarko@gmail.com>
This commit is contained in:
Manuel Fombuena
2025-01-01 20:42:37 +00:00
committed by Robert Marko
parent 70610a5240
commit 8925c469f4
6 changed files with 716 additions and 5 deletions

View File

@@ -233,6 +233,23 @@ endef
$(eval $(call KernelPackage,leds-pwm))
define KernelPackage/leds-st1202
SUBMENU:=LED modules
TITLE:=LED support for ST LED1202 I2C chips
DEPENDS:=+kmod-i2c-core +kmod-ledtrig-pattern
KCONFIG:=CONFIG_LEDS_ST1202
FILES:= $(LINUX_DIR)/drivers/leds/leds-st1202.ko
AUTOLOAD:=$(call AutoProbe,leds-st1202)
endef
define KernelPackage/leds-st1202/description
This option enables support for LEDs connected to LED1202
LED driver chips accessed via the I2C bus.
endef
$(eval $(call KernelPackage,leds-st1202))
define KernelPackage/leds-tlc591xx
SUBMENU:=$(LEDS_MENU)
TITLE:=LED driver for TLC59108 and TLC59116 controllers