# SPDX-License-Identifier: GPL-2.0

if LEDS_CLASS_MULTICOLOR

config LEDS_PWM_MULTICOLOR
	tristate "PWM driven multi-color LED Support"
	depends on PWM
	help
	  This option enables support for PWM driven monochrome LEDs that are
	  grouped into multicolor LEDs.

	  To compile this driver as a module, choose M here: the module
	  will be called leds-pwm-multicolor.

config LEDS_QCOM_LPG
	tristate "LED support for Qualcomm LPG"
	depends on OF
	depends on PWM
	depends on SPMI
	help
	  This option enables support for the Light Pulse Generator found in a
	  wide variety of Qualcomm PMICs. The LPG consists of a number of PWM
	  channels and typically a shared pattern lookup table and a current
	  sink, intended to drive RGB LEDs. Each channel can either be used as
	  a LED, grouped to represent a RGB LED or exposed as PWM channels.

	  If compiled as a module, the module will be named leds-qcom-lpg.

config LEDS_MT6370_RGB
	tristate "LED Support for MediaTek MT6370 PMIC"
	depends on MFD_MT6370
	select LINEAR_RANGES
	help
	  Say Y here to enable support for MT6370_RGB LED device.
	  In MT6370, there are four channel current-sink LED drivers that
	  support hardware pattern for constant current, PWM, and breath mode.
	  Isink4 channel can also be used as a CHG_VIN power good indicator.

	  This driver can also be built as a module. If so, the module
	  will be called "leds-mt6370-rgb".

endif # LEDS_CLASS_MULTICOLOR
