[PATCH 0/3] leds: pca9532: Use hardware for blinking leds

From: Bastien Curutchet
Date: Mon May 27 2024 - 09:03:57 EST


Hi all,

This series aims to use hardware more often to blink leds.

The pca9532_set_blink() rejects asymmetric delays. So the core's software
fallback is almost always used when we want to blink a led. Removing
this restriction revealed some conflicts between setting brightness and
blinking as the same PWM (PWM0) configuration is used by all leds for
both brightness and blinking.

Make use of the second available PWM (PWM1) to blink leds. This PWM1 was
reserved for beepers so hardware blinking is explicitly disabled if at
least one led is used to drive a beeper to avoid conflicts.

Tested with PCA9532

Bastien Curutchet (3):
leds: pca9532: Use PWM1 for hardware blinking
leds: pca9532: Explicitly disable hardware blink when PWM1 is
unavailable
leds: pca9532: Change default blinking frequency to 1Hz

drivers/leds/leds-pca9532.c | 60 ++++++++++++++++++++++++++++++-------
1 file changed, 49 insertions(+), 11 deletions(-)

--
2.44.0