linux/Documentation/leds
Bjorn Andersson 24e2d05d1b leds: Add driver for Qualcomm LPG
The Light Pulse Generator (LPG) is a PWM-block found in a wide range of
PMICs from Qualcomm. These PMICs typically comes with 1-8 LPG instances,
with their output being routed to various other components, such as
current sinks or GPIOs.

Each LPG instance can operate on fixed parameters or based on a shared
lookup-table, altering the duty cycle over time. This provides the means
for hardware assisted transitions of LED brightness.

A typical use case for the fixed parameter mode is to drive a PWM
backlight control signal, the driver therefor allows each LPG instance
to be exposed to the kernel either through the LED framework or the PWM
framework.

A typical use case for the LED configuration is to drive RGB LEDs in
smartphones etc, for which the driver supports multiple channels to be
ganged up to a MULTICOLOR LED. In this configuration the pattern
generators will be synchronized, to allow for multi-color patterns.

The idea of modelling this as a LED driver ontop of a PWM driver was
considered, but setting the properties related to patterns does not fit
in the PWM API. Similarly the idea of just duplicating the lower bits in
a PWM and LED driver separately was considered, but this would not allow
the PWM channels and LEDs to be configured on a per-board basis. The
driver implements the more complex LED interface, and provides a PWM
interface on the side of that, in the same driver.

Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Tested-by: Douglas Anderson <dianders@chromium.org>
Tested-by: Luca Weiss <luca@z3ntu.xyz>
Reviewed-by: Marijn Suijten <marijn.suijten@somainline.org>
Tested-by: Marijn Suijten <marijn.suijten@somainline.org>
[On the Sony Xperia Nile Discovery, SDM630]
Signed-off-by: Pavel Machek <pavel@ucw.cz>
2022-05-04 09:17:31 +02:00
..
index.rst docs: leds: index.rst: add a missing file 2020-11-02 13:45:37 +01:00
leds-blinkm.rst docs: leds: convert to ReST 2019-06-28 20:57:31 +02:00
leds-class-flash.rst docs: leds: convert to ReST 2019-06-28 20:57:31 +02:00
leds-class-multicolor.rst leds: multicolor: Introduce a multicolor class definition 2020-07-22 14:41:29 +02:00
leds-class.rst Documentation: leds: remove invalidated information 2020-10-26 09:21:51 +01:00
leds-el15203000.rst docs: ABI: sysfs-class-led-trigger-pattern: remove hw_pattern duplication 2020-10-30 13:15:03 +01:00
leds-lm3556.rst Documentation: Add leading slash to some paths 2021-03-31 13:49:19 -06:00
leds-lp55xx.rst docs: leds: convert to ReST 2019-06-28 20:57:31 +02:00
leds-lp3944.rst docs: leds: convert to ReST 2019-06-28 20:57:31 +02:00
leds-lp5521.rst docs: leds: convert to ReST 2019-06-28 20:57:31 +02:00
leds-lp5523.rst docs: leds: convert to ReST 2019-06-28 20:57:31 +02:00
leds-lp5562.rst docs: leds: convert to ReST 2019-06-28 20:57:31 +02:00
leds-mlxcpld.rst docs: leds: convert to ReST 2019-06-28 20:57:31 +02:00
leds-qcom-lpg.rst leds: Add driver for Qualcomm LPG 2022-05-04 09:17:31 +02:00
leds-sc27xx.rst docs: ABI: sysfs-class-led-trigger-pattern: remove hw_pattern duplication 2020-10-30 13:15:03 +01:00
ledtrig-oneshot.rst docs: leds: convert to ReST 2019-06-28 20:57:31 +02:00
ledtrig-transient.rst leds: we don't want people to use LED subsystem for vibrations 2020-08-17 18:04:15 +02:00
ledtrig-usbport.rst docs: leds: convert to ReST 2019-06-28 20:57:31 +02:00
uleds.rst docs: leds: convert to ReST 2019-06-28 20:57:31 +02:00
well-known-leds.txt leds: add new LED_FUNCTION_PLAYER for player LEDs for game controllers. 2021-10-27 09:49:29 +02:00