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