mirror of
https://github.com/Dasharo/linux.git
synced 2026-03-06 15:25:10 -08:00
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: Fenglin Wu <quic_fenglinw@quicinc.com> Tested-by: Luca Weiss <luca.weiss@fairphone.com> # sm7225-fairphone-fp4 + pm6150l Signed-off-by: Lee Jones <lee@kernel.org> Link: https://lore.kernel.org/r/20230303095023.538917-2-quic_fenglinw@quicinc.com
This commit is contained in:
@@ -61,6 +61,21 @@ config LEDS_MT6360
|
||||
Independent current sources supply for each flash LED support torch
|
||||
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
|
||||
tristate "LED support for RT4505 flashlight controller"
|
||||
depends on I2C && OF
|
||||
|
||||
@@ -6,6 +6,7 @@ obj-$(CONFIG_LEDS_AS3645A) += leds-as3645a.o
|
||||
obj-$(CONFIG_LEDS_KTD2692) += leds-ktd2692.o
|
||||
obj-$(CONFIG_LEDS_LM3601X) += leds-lm3601x.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_RT8515) += leds-rt8515.o
|
||||
obj-$(CONFIG_LEDS_SGM3140) += leds-sgm3140.o
|
||||
|
||||
773
drivers/leds/flash/leds-qcom-flash.c
Normal file
773
drivers/leds/flash/leds-qcom-flash.c
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user