[PATCH v3 0/4] leds: pca963x: Add multicolor support and enable Monza RGB LEDs
From: Loic Poulain <loic.poulain@oss.qualcomm.com>
Date: 2026-07-06 15:50:01
Also in:
linux-arm-msm, linux-leds, lkml
Some devices use PCA963x controllers to drive RGB LEDs, where multiple PWM channels correspond to a single logical LED. Add support for grouping such channels into a multicolor LED device, using the LED multicolor class framework. The DT bindings are extended to describe these groupings via a multi-led@N node with sub-nodes representing individual color channels. This follows conventions used by other multicolor LED drivers, while maintaining full backward compatibility with existing single-color LED definitions. The PCA963x driver is updated accordingly to detect these grouped definitions and register multicolor LEDs. Finally, the Monaco Arduino Monza device tree is updated to expose the onboard MCU-controlled LEDs (compatible with PCA9635). The MCU manages four RGB LEDs mapped to channels 0–11, which are described using the new multicolor bindings. Signed-off-by: Loic Poulain <loic.poulain@oss.qualcomm.com> --- Changes in v3: - Add color to required multi-color leds (sashiko/Conor) - Bounded registers value for nested led subnodes (sashiko/Conor) - Add fix for PCA6535 reg limit (extend it to spec) - Link to v2: https://lore.kernel.org/r/20260701-monza-leds-v2-0-c1be0b472926@oss.qualcomm.com (local) Changes in v2: Changes in v2: - bindings: Reworded commit message to explain the motivation (Krzysztof) - bindings: Kept the "^led@..." pattern and modeled multicolor groups via a dedicated "^multi-led@..." subtree. - dts: Renamed node from "leds-controller@22" to "led-controller@22" and dropped the unused label. (Konrad). - dts: Moved "reg" to directly follow "compatible" (Konrad). - dts: Fixed unit addresses to lowercase hex (sashiko). - Fixed checkpatch issues - Link to v1: https://lore.kernel.org/r/20260629-monza-leds-v1-0-0cf7c0a7dc14@oss.qualcomm.com (local) --- Loic Poulain (4): dt-bindings: leds: nxp,pca963x: fix reg maximum for pca9635 dt-bindings: leds: nxp,pca963x: add multicolor LED support leds: pca963x: add multicolor LED class support arm64: dts: monaco-arduino-monza: microcontroller LEDs .../devicetree/bindings/leds/nxp,pca963x.yaml | 116 ++++++++++++++++++- arch/arm64/boot/dts/qcom/monaco-arduino-monza.dts | 110 ++++++++++++++++++ drivers/leds/Kconfig | 1 + drivers/leds/leds-pca963x.c | 126 ++++++++++++++++++--- 4 files changed, 333 insertions(+), 20 deletions(-) --- base-commit: dc59e4fea9d83f03bad6bddf3fa2e52491777482 change-id: 20260629-monza-leds-c292e68c9a49 Best regards, -- Loic Poulain [off-list ref]