Skip to contentSkip to conversation

led: add new LED driver for TI LP5812

PATCH Superseded Nam Tran 2 participants 5 messages Oct 5, 2025 – Oct 9, 2025

Subsystems (4)

v15 of 22 Superseded Latest is v22 →

lore
Share & tools
lore

Nam Tran

author maintainer
#0 lore raw

v15 cover led: add new LED driver for TI LP5812

This patch series adds initial support for the TI LP5812, a 4x3 matrix RGB LED driver with autonomous engine control. This version provides a minimal, clean implementation focused on core functionality only. The goal is to upstream a solid foundation, with the expectation that additional features can be added incrementally in future patches.

The driver integrates with the LED multicolor framework and supports a set of basic sysfs interfaces for LED control and chip management.

---
Changes in v15:
- Removed all custom sysfs attributes; driver now fully relies on standard LED multicolor class interfaces.
- Added new device tree property ti,operation-mode to configure direct, TCM, and mix scan modes.
- Dropped previous Reviewed-by tag from the binding patch due to property addition.
- Removed ABI documentation since no new sysfs entries are created.
- Updated lp5812.rst documentation accordingly.
- Link to v14: https://lore.kernel.org/linux-leds/[email protected]/

Changes in v14:
- Replaced inline constants with proper macros for readability and maintainability.
- Refactored lp5812_read() and lp5812_write() to simplify logic and improve clarity.
- Updated lp5812_fault_clear() to use switch() instead of if/else chain.
- Refactored parse_drive_mode() for cleaner logic, removed string parsing of concatenated data.
- Updated activate_store() and led_current_store() to replace strsep()/kstrtoint() parsing with sscanf().
- Removed redundant comments and renamed variables for better clarity.
- Link to v13: https://lore.kernel.org/lkml/[email protected]/

Changes in v13:
- Fixes build warnings reported by kernel test robot:
- Inconsistent indent in lp5812_probe()
- Uninitialized variable 'ret' in lp5812_multicolor_brightness()
- Drop of_match_ptr() and directly assign of_match_table, as the driver is DT-only.
- Link to v12: https://lore.kernel.org/lkml/[email protected]/

Changes in v12:
- Reordered helper functions above lp5812_probe() for better structure.
- Clarified DT-only support by removing fallback paths and i2c_device_id table.
- Directly assign platform_data to the correct pointer instead of relying on string comparisons (LP5812_SC_LED, LP5812_MC_LED) and container_of() casting. This simplifies the logic and avoids unnecessary type checks.
- Removed redundant messages.
- Update ABI documentation to reflect reduced feature set.
- Link to v11: https://lore.kernel.org/lkml/[email protected]/

Changes in v11:
- Drop autonomous animation and other advanced features; reduce driver to core functionality only.
- Simplify LED parsing to use a unified path.
- Clean up and streamline code
- Use alphabetically ordered includes
- Remove redundant comments
- Fix style issues (e.g., comment capitalization, code placement)
- Update ABI documentation to reflect reduced feature set.
- Link to v10: https://lore.kernel.org/lkml/[email protected]/

Changes in v10:
- Address feedback on v9 regarding missing Reviewed-by tag
- Added explanation: binding structure changed significantly to integrate with the standard leds-class-multicolor.yaml schema and support multi-led@ nodes with nested led@ subnodes. This change introduced a new patternProperties hierarchy and removed the previous flat led@ layout used in the earlier versions. So the Reviewed-by tag was dropped out of caution.
- Address binding document feedback
- Use consistent quotes
- Replace 'max-cur' with the standard 'led-max-microamp'
- Remove 'led-cur' property
- Fix mixed indentation
- Updated core driver to align with the updated binding schema.
- Address core driver feedback
- Use for_each_available_child_of_node_scoped() to simplify the code
- Add a return checks for lp5812_write() and lp5812_read()
- Remove unneeded trailing commas
- Fix unsafe usage of stack-allocated strings
- Link to v9: https://lore.kernel.org/lkml/[email protected]/

Changes in v9:
- Move driver back to drivers/leds/rgb/
- Integrate with LED multicolor framework
- Refactor and simplify custom sysfs handling
- Extend Device Tree binding to support multi-led@ nodes using leds-class-multicolor.yaml
- Update documentation to reflect the updated sysfs.
- Link to v8: https://lore.kernel.org/lkml/[email protected]/

Changes in v8:
- Move driver to drivers/auxdisplay/ instead of drivers/leds/.
- Rename files from leds-lp5812.c/.h to lp5812.c/.h.
- Move ti,lp5812.yaml binding to auxdisplay/ directory,
and update the title and $id to match new path.
- No functional changes to the binding itself (keep Reviewed-by).
- Update commit messages and patch titles to reflect the move.
- Link to v7: https://lore.kernel.org/linux-leds/[email protected]/

Changes in v7:
- Mark chip_leds_map as const.
- Use consistent ret initialization.
- Simplify the function set_mix_sel_led().
- Refactor dev_config_show() and led_auto_animation_show() to avoid temp buffer, malloc/free.
- Simplify the code and ensure consistent use of mutex lock/unlock in show/store functions.
- Remove total_leds and total_aeu.
- Link to v6: https://lore.kernel.org/linux-leds/[email protected]/

Changes in v6:
- Add vcc-supply property to describe the LP5812 power supply.
- Remove chan-name property and entire LED subnodes, as they are not needed.
- Update LP5812 LED driver node to Raspberry Pi 4 B Device Tree, based on updated binding.
- Link to v5: https://lore.kernel.org/linux-leds/[email protected]/

Changes in v5:
- Rebase on v6.15-rc2
- Removed unused functions (lp5812_dump_regs, lp5812_update_bit).
- Address Krzysztof's review comments
- Link to v4: https://lore.kernel.org/linux-leds/[email protected]/
---

Nam Tran (3):
dt-bindings: leds: add TI/National Semiconductor LP5812 LED Driver
leds: add basic support for TI/National Semiconductor LP5812 LED
Driver
docs: leds: Document TI LP5812 LED driver

 .../devicetree/bindings/leds/ti,lp5812.yaml   | 290 +++++++
 Documentation/leds/index.rst                  |   1 +
 Documentation/leds/leds-lp5812.rst            |  50 ++
 MAINTAINERS                                   |  11 +
 drivers/leds/rgb/Kconfig                      |  13 +
 drivers/leds/rgb/Makefile                     |   1 +
 drivers/leds/rgb/leds-lp5812.c                | 726 ++++++++++++++++++
 drivers/leds/rgb/leds-lp5812.h                | 197 +++++
 8 files changed, 1289 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/leds/ti,lp5812.yaml
 create mode 100644 Documentation/leds/leds-lp5812.rst
 create mode 100644 drivers/leds/rgb/leds-lp5812.c
 create mode 100644 drivers/leds/rgb/leds-lp5812.h

base-commit: 6093a688a07da07808f0122f9aa2a3eed250d853

Signature · 1 line
2.25.1
author maintainer
#1 lore raw

PATCH v15 1/3 dt-bindings: leds: add TI/National Semiconductor LP5812 LED Driver

The LP5812 is a 4x3 RGB LED driver with an autonomous animation engine and time-cross-multiplexing (TCM) support for up to 12 LEDs or 4 RGB LEDs. It supports both analog (256 levels) and PWM (8-bit) dimming, including exponential PWM for smooth brightness control.

---
 .../devicetree/bindings/leds/ti,lp5812.yaml   | 290 ++++++++++++++++++
 MAINTAINERS                                   |   6 +
 2 files changed, 296 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/leds/ti,lp5812.yaml
Documentation/devicetree/bindings/leds/ti,lp5812.yaml new file +290 -0
new file mode 100644
index 000000000000..d759ba7a86fc
@@ -0,0 +1,290 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/leds/ti,lp5812.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: TI LP5812 4x3 Matrix RGB LED Driver with Autonomous Control
+
+maintainers:
+  - Nam Tran <[email protected]>
+
+description: |
+  The LP5812 is a 4x3 matrix RGB LED driver with I2C interface
+  and autonomous animation engine control.
+  For more product information please see the link below:
+  https://www.ti.com/product/LP5812#tech-docs
+
+properties:
+  compatible:
+    const: ti,lp5812
+
+  reg:
+    maxItems: 1
+
+  ti,operation-mode:
+    description: |
+      Selects the LED operation mode of the LP5812. The device supports
+      three modes:
+        - Direct-drive mode ("direct_mode") drives up to 4 LEDs directly
+        by internal current sinks (LED0-LED3).
+        - TCM-drive mode ("tcmscan:<n>:<order...>") drives up to 12 LEDs
+        (4 RGB) using 1-4 scan multiplexing. The <n> specifies the number
+        of scans (1-4), and <order...> defines the scan order of the outputs.
+        - Mix-drive mode ("mixscan:<n>:<direct>:<order...>") combines
+        direct-drive and TCM-drive outputs. The <n> specifies the number
+        of scans, <direct> selects the direct-drive outputs, and <order...>
+        defines the scan order.
+    $ref: /schemas/types.yaml#/definitions/string
+    enum:
+      - direct_mode
+      - tcmscan:1:0
+      - tcmscan:1:1
+      - tcmscan:1:2
+      - tcmscan:1:3
+      - tcmscan:2:0:1
+      - tcmscan:2:0:2
+      - tcmscan:2:0:3
+      - tcmscan:2:1:2
+      - tcmscan:2:1:3
+      - tcmscan:2:2:3
+      - tcmscan:3:0:1:2
+      - tcmscan:3:0:1:3
+      - tcmscan:3:0:2:3
+      - tcmscan:4:0:1:2:3
+      - mixscan:1:0:1
+      - mixscan:1:0:2
+      - mixscan:1:0:3
+      - mixscan:1:1:0
+      - mixscan:1:1:2
+      - mixscan:1:1:3
+      - mixscan:1:2:0
+      - mixscan:1:2:1
+      - mixscan:1:2:3
+      - mixscan:1:3:0
+      - mixscan:1:3:1
+      - mixscan:1:3:2
+      - mixscan:2:0:1:2
+      - mixscan:2:0:1:3
+      - mixscan:2:0:2:3
+      - mixscan:2:1:0:2
+      - mixscan:2:1:0:3
+      - mixscan:2:1:2:3
+      - mixscan:2:2:0:1
+      - mixscan:2:2:0:3
+      - mixscan:2:2:1:3
+      - mixscan:2:3:0:1
+      - mixscan:2:3:0:2
+      - mixscan:2:3:1:2
+      - mixscan:3:0:1:2:3
+      - mixscan:3:1:0:2:3
+      - mixscan:3:2:0:1:3
+      - mixscan:3:3:0:1:2
+
+  vcc-supply:
+    description: Regulator providing power to the 'VCC' pin.
+
+  "#address-cells":
+    const: 1
+
+  "#size-cells":
+    const: 0
+
+patternProperties:
+  "^led@[0-3]$":
+    type: object
+    $ref: common.yaml#
+    unevaluatedProperties: false
+
+    properties:
+      reg:
+        minimum: 0
+        maximum: 3
+
+    required:
+      - reg
+
+  "^multi-led@[4-7]$":
+    type: object
+    $ref: leds-class-multicolor.yaml#
+    unevaluatedProperties: false
+
+    properties:
+      reg:
+        minimum: 4
+        maximum: 7
+
+      "#address-cells":
+        const: 1
+
+      "#size-cells":
+        const: 0
+
+    patternProperties:
+      "^led@[4-9a-f]$":
+        type: object
+        $ref: common.yaml#
+        unevaluatedProperties: false
+
+        properties:
+          reg:
+            minimum: 4
+            maximum: 15
+
+        required:
+          - reg
+
+required:
+  - compatible
+  - reg
+  - ti,operation-mode
+
+additionalProperties: false
+
+examples:
+  - |
+    #include <dt-bindings/leds/common.h>
+
+    i2c {
+        #address-cells = <1>;
+        #size-cells = <0>;
+
+        led-controller@1b {
+            #address-cells = <1>;
+            #size-cells = <0>;
+            compatible = "ti,lp5812";
+            reg = <0x1b>;
+            ti,operation-mode = "tcmscan:4:0:1:2:3";
+            vcc-supply = <&vdd_3v3_reg>;
+
+            led@0 {
+                reg = <0x0>;
+                label = "LED0";
+                led-max-microamp = <25500>;
+            };
+
+            led@1 {
+                reg = <0x1>;
+                label = "LED1";
+                led-max-microamp = <25500>;
+            };
+
+            led@2 {
+                reg = <0x2>;
+                label = "LED2";
+                led-max-microamp = <25500>;
+            };
+
+            led@3 {
+                reg = <0x3>;
+                label = "LED3";
+                led-max-microamp = <25500>;
+            };
+
+            multi-led@4 {
+                #address-cells = <1>;
+                #size-cells = <0>;
+                reg = <0x4>;
+                color = <LED_COLOR_ID_RGB>;
+                label = "LED_A";
+
+                led@4 {
+                    reg = <0x4>;
+                    color = <LED_COLOR_ID_GREEN>;
+                    led-max-microamp = <25500>;
+                };
+
+                led@5 {
+                    reg = <0x5>;
+                    color = <LED_COLOR_ID_RED>;
+                    led-max-microamp = <25500>;
+                };
+
+                led@6 {
+                    reg = <0x6>;
+                    color = <LED_COLOR_ID_BLUE>;
+                    led-max-microamp = <25500>;
+                };
+            };
+
+            multi-led@5 {
+                #address-cells = <1>;
+                #size-cells = <0>;
+                reg = <0x5>;
+                color = <LED_COLOR_ID_RGB>;
+                label = "LED_B";
+
+                led@7 {
+                    reg = <0x7>;
+                    color = <LED_COLOR_ID_GREEN>;
+                    led-max-microamp = <25500>;
+                };
+
+                led@8 {
+                    reg = <0x8>;
+                    color = <LED_COLOR_ID_RED>;
+                    led-max-microamp = <25500>;
+                };
+
+                led@9 {
+                    reg = <0x9>;
+                    color = <LED_COLOR_ID_BLUE>;
+                    led-max-microamp = <25500>;
+                };
+            };
+
+            multi-led@6 {
+                #address-cells = <1>;
+                #size-cells = <0>;
+                reg = <0x6>;
+                color = <LED_COLOR_ID_RGB>;
+                label = "LED_C";
+
+                led@a {
+                    reg = <0xa>;
+                    color = <LED_COLOR_ID_GREEN>;
+                    led-max-microamp = <25500>;
+                };
+
+                led@b {
+                    reg = <0xb>;
+                    color = <LED_COLOR_ID_RED>;
+                    led-max-microamp = <25500>;
+                };
+
+                led@c {
+                    reg = <0xc>;
+                    color = <LED_COLOR_ID_BLUE>;
+                    led-max-microamp = <25500>;
+                };
+            };
+
+            multi-led@7 {
+                #address-cells = <1>;
+                #size-cells = <0>;
+                reg = <0x7>;
+                color = <LED_COLOR_ID_RGB>;
+                label = "LED_D";
+
+                led@d {
+                    reg = <0xd>;
+                    color = <LED_COLOR_ID_GREEN>;
+                    led-max-microamp = <25500>;
+                };
+
+                led@e {
+                    reg = <0xe>;
+                    color = <LED_COLOR_ID_RED>;
+                    led-max-microamp = <25500>;
+                };
+
+                led@f {
+                    reg = <0xf>;
+                    color = <LED_COLOR_ID_BLUE>;
+                    led-max-microamp = <25500>;
+                };
+            };
+        };
+    };
+
+...
MAINTAINERS +6 -0
index 5a2cde903910..38f913ba7a4c 100644
@@ -25383,6 +25383,12 @@ S:	Supported
 F:	Documentation/devicetree/bindings/iio/dac/ti,dac7612.yaml
 F:	drivers/iio/dac/ti-dac7612.c
 
+TEXAS INSTRUMENTS' LP5812 RGB LED DRIVER
+M:	Nam Tran <[email protected]>
+L:	[email protected]
+S:	Maintained
+F:	Documentation/devicetree/bindings/leds/ti,lp5812.yaml
+
 TEXAS INSTRUMENTS' LB8864 LED BACKLIGHT DRIVER
 M:	Alexander Sverdlin <[email protected]>
 L:	[email protected]
Signature · 1 line
2.25.1
maintainer
#2 lore raw

Re: [PATCH v15 1/3] dt-bindings: leds: add TI/National Semiconductor LP5812 LED Driver

Quoted 38 lines · Nam Tran

The LP5812 is a 4x3 RGB LED driver with an autonomous animation engine and time-cross-multiplexing (TCM) support for up to 12 LEDs or 4 RGB LEDs. It supports both analog (256 levels) and PWM (8-bit) dimming, including exponential PWM for smooth brightness control.

---
 .../devicetree/bindings/leds/ti,lp5812.yaml   | 290 ++++++++++++++++++
 MAINTAINERS                                   |   6 +
 2 files changed, 296 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/leds/ti,lp5812.yaml
Documentation/devicetree/bindings/leds/ti,lp5812.yaml new file +20 -0
new file mode 100644
index 000000000000..d759ba7a86fc
@@ -0,0 +1,290 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/leds/ti,lp5812.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: TI LP5812 4x3 Matrix RGB LED Driver with Autonomous Control
+
+maintainers:
+  - Nam Tran <[email protected]>
+
+description: |
+  The LP5812 is a 4x3 matrix RGB LED driver with I2C interface
+  and autonomous animation engine control.
+  For more product information please see the link below:
+  https://www.ti.com/product/LP5812#tech-docs
+
+properties:
+  compatible:
+    const: ti,lp5812

Documentation/devicetree/bindings/leds/ti,lp5812.yaml line 30

Quoted 10 lines
Documentation/devicetree/bindings/leds/ti,lp5812.yaml new file +10 -0
+
+  reg:
+    maxItems: 1
+
+  ti,operation-mode:
+    description: |
+      Selects the LED operation mode of the LP5812. The device supports
+      three modes:
+        - Direct-drive mode ("direct_mode") drives up to 4 LEDs directly
+        by internal current sinks (LED0-LED3).

I would make this the default and call the property 'ti,scan-mode'.

Quoted 42 lines
Documentation/devicetree/bindings/leds/ti,lp5812.yaml new file +42 -0
+        - TCM-drive mode ("tcmscan:<n>:<order...>") drives up to 12 LEDs
+        (4 RGB) using 1-4 scan multiplexing. The <n> specifies the number
+        of scans (1-4), and <order...> defines the scan order of the outputs.
+        - Mix-drive mode ("mixscan:<n>:<direct>:<order...>") combines
+        direct-drive and TCM-drive outputs. The <n> specifies the number
+        of scans, <direct> selects the direct-drive outputs, and <order...>
+        defines the scan order.
+    $ref: /schemas/types.yaml#/definitions/string
+    enum:
+      - direct_mode
+      - tcmscan:1:0
+      - tcmscan:1:1
+      - tcmscan:1:2
+      - tcmscan:1:3
+      - tcmscan:2:0:1
+      - tcmscan:2:0:2
+      - tcmscan:2:0:3
+      - tcmscan:2:1:2
+      - tcmscan:2:1:3
+      - tcmscan:2:2:3
+      - tcmscan:3:0:1:2
+      - tcmscan:3:0:1:3
+      - tcmscan:3:0:2:3
+      - tcmscan:4:0:1:2:3
+      - mixscan:1:0:1
+      - mixscan:1:0:2
+      - mixscan:1:0:3
+      - mixscan:1:1:0
+      - mixscan:1:1:2
+      - mixscan:1:1:3
+      - mixscan:1:2:0
+      - mixscan:1:2:1
+      - mixscan:1:2:3
+      - mixscan:1:3:0
+      - mixscan:1:3:1
+      - mixscan:1:3:2
+      - mixscan:2:0:1:2
+      - mixscan:2:0:1:3
+      - mixscan:2:0:2:3
+      - mixscan:2:1:0:2
+      - mixscan:2:1:0:3
+      - mixscan:2:1:2:3

Documentation/devicetree/bindings/leds/ti,lp5812.yaml line 82

Quoted 10 lines
Documentation/devicetree/bindings/leds/ti,lp5812.yaml new file +10 -0
+      - mixscan:2:2:0:1
+      - mixscan:2:2:0:3
+      - mixscan:2:2:1:3
+      - mixscan:2:3:0:1
+      - mixscan:2:3:0:2
+      - mixscan:2:3:1:2
+      - mixscan:3:0:1:2:3
+      - mixscan:3:1:0:2:3
+      - mixscan:3:2:0:1:3
+      - mixscan:3:3:0:1:2

I'm not sure its worth listing out every combination. I'd just do this even if illegal combinations are allowed:

pattern: '^(tcm|mix):[1-4](:[0-3]){1,4}$'

Rob

author maintainer
#3 lore raw

PATCH v15 2/3 leds: add basic support for TI/National Semiconductor LP5812 LED Driver

In reply to Nam Tran

The LP5812 is a 4x3 matrix RGB LED driver with an autonomous animation engine and time-cross-multiplexing (TCM) support for up to 12 LEDs or 4 RGB LEDs. Each LED can be configured through the related registers to realize vivid and fancy lighting effects.

This patch adds minimal driver support for the LP5812, implementing only the essential functionality: I2C communication with the device, LED registration, brightness control in manual mode, and basic sysfs interfaces for LED configuration and fault monitoring.

---
 MAINTAINERS                    |   4 +
 drivers/leds/rgb/Kconfig       |  13 +
 drivers/leds/rgb/Makefile      |   1 +
 drivers/leds/rgb/leds-lp5812.c | 726 +++++++++++++++++++++++++++++++++
 drivers/leds/rgb/leds-lp5812.h | 197 +++++++++
 5 files changed, 941 insertions(+)
 create mode 100644 drivers/leds/rgb/leds-lp5812.c
 create mode 100644 drivers/leds/rgb/leds-lp5812.h
MAINTAINERS +4 -0
index 38f913ba7a4c..7a3808d8d624 100644
@@ -25388,6 +25388,10 @@ M:	Nam Tran <[email protected]>
 L:	[email protected]
 S:	Maintained
 F:	Documentation/devicetree/bindings/leds/ti,lp5812.yaml
+F:	drivers/leds/rgb/Kconfig
+F:	drivers/leds/rgb/Makefile
+F:	drivers/leds/rgb/leds-lp5812.c
+F:	drivers/leds/rgb/leds-lp5812.h
 
 TEXAS INSTRUMENTS' LB8864 LED BACKLIGHT DRIVER
 M:	Alexander Sverdlin <[email protected]>
drivers/leds/rgb/Kconfig +13 -0
index 222d943d826a..28ef4c487367 100644
@@ -26,6 +26,19 @@ config LEDS_KTD202X
 	  To compile this driver as a module, choose M here: the module
 	  will be called leds-ktd202x.
 
+config LEDS_LP5812
+	tristate "LED support for Texas Instruments LP5812"
+	depends on I2C
+	help
+	  If you say Y here you get support for TI LP5812 LED driver.
+	  The LP5812 is a 4x3 matrix RGB LED driver with autonomous
+	  animation engine control.
+
+	  To compile this driver as a module, choose M here: the
+	  module will be called leds-lp5812.
+
+	  If unsure, say N.
+
 config LEDS_NCP5623
 	tristate "LED support for NCP5623"
 	depends on I2C
drivers/leds/rgb/Makefile +1 -0
index a501fd27f179..be45991f63f5 100644
@@ -2,6 +2,7 @@
 
 obj-$(CONFIG_LEDS_GROUP_MULTICOLOR)	+= leds-group-multicolor.o
 obj-$(CONFIG_LEDS_KTD202X)		+= leds-ktd202x.o
+obj-$(CONFIG_LEDS_LP5812)		+= leds-lp5812.o
 obj-$(CONFIG_LEDS_NCP5623)		+= leds-ncp5623.o
 obj-$(CONFIG_LEDS_PWM_MULTICOLOR)	+= leds-pwm-multicolor.o
 obj-$(CONFIG_LEDS_QCOM_LPG)		+= leds-qcom-lpg.o
drivers/leds/rgb/leds-lp5812.c new file +726 -0

726 lines not on this page · raw message

drivers/leds/rgb/leds-lp5812.h new file +197 -0

197 lines not on this page · raw message

Signature · 1 line
2.25.1
author maintainer
#4 lore raw

PATCH v15 3/3 docs: leds: Document TI LP5812 LED driver

In reply to Nam Tran

The driver provides sysfs interfaces to control and configure the LP5812 device and its LED channels.

The documetation describes the chip's capabilities, sysfs interface, and usage examples.

---
 Documentation/leds/index.rst       |  1 +
 Documentation/leds/leds-lp5812.rst | 50 ++++++++++++++++++++++++++++++
 MAINTAINERS                        |  1 +
 3 files changed, 52 insertions(+)
 create mode 100644 Documentation/leds/leds-lp5812.rst
Documentation/leds/index.rst +1 -0
index 76fae171039c..bebf44004278 100644
@@ -25,6 +25,7 @@ LEDs
    leds-lp5523
    leds-lp5562
    leds-lp55xx
+   leds-lp5812
    leds-mlxcpld
    leds-mt6370-rgb
    leds-sc27xx
Documentation/leds/leds-lp5812.rst new file +50 -0

50 lines not on this page · raw message

MAINTAINERS +1 -0
index 7a3808d8d624..4d625dabde72 100644
@@ -25388,6 +25388,7 @@ M:	Nam Tran <[email protected]>
 L:	[email protected]
 S:	Maintained
 F:	Documentation/devicetree/bindings/leds/ti,lp5812.yaml
+F:	Documentation/leds/leds-lp5812.rst
 F:	drivers/leds/rgb/Kconfig
 F:	drivers/leds/rgb/Makefile
 F:	drivers/leds/rgb/leds-lp5812.c
Signature · 1 line
2.25.1