Commit 96a2e242 authored by Fenglin Wu's avatar Fenglin Wu Committed by Lee Jones

leds: flash: Add driver to support flash LED module in QCOM PMICs

Add initial driver to support flash LED module found in Qualcomm
Technologies, Inc. PMICs. The flash module can have 3 or 4 channels
and each channel can be controlled indepedently and support full scale
current up to 1.5 A. It also supports connecting two channels together
to supply one LED component with full scale current up to 2 A. In that
case, the current will be split on each channel symmetrically and the
channels will be enabled and disabled at the same time.
Signed-off-by: default avatarFenglin Wu <quic_fenglinw@quicinc.com>
Tested-by: Luca Weiss <luca.weiss@fairphone.com> # sm7225-fairphone-fp4 + pm6150l
Signed-off-by: default avatarLee Jones <lee@kernel.org>
Link: https://lore.kernel.org/r/20230303095023.538917-2-quic_fenglinw@quicinc.com
parent 8f0adae1
...@@ -61,6 +61,21 @@ config LEDS_MT6360 ...@@ -61,6 +61,21 @@ config LEDS_MT6360
Independent current sources supply for each flash LED support torch Independent current sources supply for each flash LED support torch
and strobe mode. and strobe mode.
config LEDS_QCOM_FLASH
tristate "LED support for flash module inside Qualcomm Technologies, Inc. PMIC"
depends on MFD_SPMI_PMIC || COMPILE_TEST
depends on LEDS_CLASS && OF
depends on V4L2_FLASH_LED_CLASS || !V4L2_FLASH_LED_CLASS
select REGMAP
help
This option enables support for the flash module found in Qualcomm
Technologies, Inc. PMICs. The flash module can have 3 or 4 flash LED
channels and each channel is programmable to support up to 1.5 A full
scale current. It also supports connecting two channels' output together
to supply one LED component to achieve current up to 2 A. In such case,
the total LED current will be split symmetrically on each channel and
they will be enabled/disabled at the same time.
config LEDS_RT4505 config LEDS_RT4505
tristate "LED support for RT4505 flashlight controller" tristate "LED support for RT4505 flashlight controller"
depends on I2C && OF depends on I2C && OF
......
...@@ -6,6 +6,7 @@ obj-$(CONFIG_LEDS_AS3645A) += leds-as3645a.o ...@@ -6,6 +6,7 @@ obj-$(CONFIG_LEDS_AS3645A) += leds-as3645a.o
obj-$(CONFIG_LEDS_KTD2692) += leds-ktd2692.o obj-$(CONFIG_LEDS_KTD2692) += leds-ktd2692.o
obj-$(CONFIG_LEDS_LM3601X) += leds-lm3601x.o obj-$(CONFIG_LEDS_LM3601X) += leds-lm3601x.o
obj-$(CONFIG_LEDS_MAX77693) += leds-max77693.o obj-$(CONFIG_LEDS_MAX77693) += leds-max77693.o
obj-$(CONFIG_LEDS_QCOM_FLASH) += leds-qcom-flash.o
obj-$(CONFIG_LEDS_RT4505) += leds-rt4505.o obj-$(CONFIG_LEDS_RT4505) += leds-rt4505.o
obj-$(CONFIG_LEDS_RT8515) += leds-rt8515.o obj-$(CONFIG_LEDS_RT8515) += leds-rt8515.o
obj-$(CONFIG_LEDS_SGM3140) += leds-sgm3140.o obj-$(CONFIG_LEDS_SGM3140) += leds-sgm3140.o
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment