xref: /linux/Documentation/leds/leds-lp5812.rst (revision 2228d9cf7a562d1b0ca86bd529f6acb94f4bb80f)
1*444bb79eSNam Tran.. SPDX-License-Identifier: GPL-2.0
2*444bb79eSNam Tran
3*444bb79eSNam Tran========================
4*444bb79eSNam TranKernel driver for lp5812
5*444bb79eSNam Tran========================
6*444bb79eSNam Tran
7*444bb79eSNam Tran* TI/National Semiconductor LP5812 LED Driver
8*444bb79eSNam Tran* Datasheet: https://www.ti.com/product/LP5812#tech-docs
9*444bb79eSNam Tran
10*444bb79eSNam TranAuthors: Jared Zhou <jared-zhou@ti.com>
11*444bb79eSNam Tran
12*444bb79eSNam TranDescription
13*444bb79eSNam Tran===========
14*444bb79eSNam Tran
15*444bb79eSNam TranThe LP5812 is a 4x3 matrix LED driver with support for both manual and
16*444bb79eSNam Tranautonomous animation control. This driver provides sysfs interfaces to
17*444bb79eSNam Trancontrol and configure the LP5812 device and its LED channels.
18*444bb79eSNam Tran
19*444bb79eSNam TranSysfs Interface
20*444bb79eSNam Tran===============
21*444bb79eSNam Tran
22*444bb79eSNam TranThis driver uses the standard multicolor LED class interfaces defined
23*444bb79eSNam Tranin Documentation/ABI/testing/sysfs-class-led-multicolor.rst.
24*444bb79eSNam Tran
25*444bb79eSNam TranEach LP5812 LED output appears under ``/sys/class/leds/`` with its
26*444bb79eSNam Tranassigned label (for example ``LED_A``).
27*444bb79eSNam Tran
28*444bb79eSNam TranThe following attributes are exposed:
29*444bb79eSNam Tran  - multi_intensity: Per-channel RGB intensity control
30*444bb79eSNam Tran  - brightness: Standard brightness control (0-255)
31*444bb79eSNam Tran
32*444bb79eSNam TranAutonomous Control Modes
33*444bb79eSNam Tran========================
34*444bb79eSNam Tran
35*444bb79eSNam TranThe driver also supports autonomous control through pattern configuration
36*444bb79eSNam Tran(e.g., direct, tcmscan, or mixscan modes) defined in the device tree.
37*444bb79eSNam TranWhen configured, the LP5812 can generate transitions and color effects
38*444bb79eSNam Tranwithout CPU intervention.
39*444bb79eSNam Tran
40*444bb79eSNam TranRefer to the device tree binding document for valid mode strings and
41*444bb79eSNam Tranconfiguration examples.
42*444bb79eSNam Tran
43*444bb79eSNam TranExample Usage
44*444bb79eSNam Tran=============
45*444bb79eSNam Tran
46*444bb79eSNam TranTo control LED_A::
47*444bb79eSNam Tran    # Set RGB intensity (R=50, G=50, B=50)
48*444bb79eSNam Tran    echo 50 50 50 > /sys/class/leds/LED_A/multi_intensity
49*444bb79eSNam Tran    # Set overall brightness to maximum
50*444bb79eSNam Tran    echo 255 > /sys/class/leds/LED_A/brightness
51