[PATCH v4 00/11] leds: aw200xx: several driver updates

From: Dmitry Rokosov
Date: Tue Nov 21 2023 - 15:29:07 EST


The following patch series includes several updates for the AW200XX LED
driver:
- some small fixes and optimizations to the driver implementation:
delays, autodimming calculation, disable_locking regmap flag,
display_rows calculation in runtime;
- fix LED device tree node pattern to accept LED names counting not
only from 0 to f;
- add missing reg constraints;
- support HWEN hardware control, which allows enabling or disabling
AW200XX RTL logic from the main SoC using a GPIO pin;
- introduce the new AW20108 LED controller, the datasheet for this
controller can be found at [1].

Changes v4 since v3 at [4]
- properly handle max_source = 0 situations
- fix Rob's dt_binding_check alerts

Changes v3 since v2 at [3]:
- handle all cases during hwen gpio get routine execution
- rename 'hwen-gpios' to standard 'enable-gpios'
- properly handle aw200xx_probe_get_display_rows() ret values
- fix timestamp format in the comments and commit messages
- expand LEDS_AW200XX config and dt-bindings description
- describe reg constraints for all compatible variants
- add Conor's Acked-by tag

Changes v2 since v1 at [2]:
- rebase on the latest aw200xx changes from lee/leds git repo
- some commit messages rewording
- replace legacy gpio_* API with gpiod_* and devm_gpiod_* API
- rename dt property awinic,hwen-gpio to hwen-gpios according to
gpiod API
- use fsleep() instead of usleep_range() per Andy's suggestion
- add max_brightness parameter to led cdev to restrict
set_brightness() overflow
- provide reg constraints as Rob suggested
- move hwen-gpios to proper dt node in the bindings example

Links:
[1] https://doc.awinic.com/doc/20230609wm/8a9a9ac8-1d8f-4e75-bf7a-67a04465c153.pdf
[2] https://lore.kernel.org/all/20231006160437.15627-1-ddrokosov@xxxxxxxxxxxxxxxxx/
[3] https://lore.kernel.org/all/20231018182943.18700-1-ddrokosov@xxxxxxxxxxxxxxxxx/
[4] https://lore.kernel.org/all/20231101142445.8753-1-ddrokosov@xxxxxxxxxxxxxxxxx/

Dmitry Rokosov (3):
leds: aw200xx: support HWEN hardware control
dt-bindings: leds: aw200xx: introduce optional enable-gpios property
dt-bindings: leds: aw200xx: fix led pattern and add reg constraints

George Stark (7):
leds: aw200xx: calculate dts property display_rows in the driver
dt-bindings: leds: aw200xx: remove property "awinic,display-rows"
leds: aw200xx: add delay after software reset
leds: aw200xx: enable disable_locking flag in regmap config
leds: aw200xx: improve autodim calculation method
leds: aw200xx: add support for aw20108 device
dt-bindings: leds: awinic,aw200xx: add AW20108 device

Martin Kurbanov (1):
leds: aw200xx: fix write to DIM parameter

.../bindings/leds/awinic,aw200xx.yaml | 95 ++++++++++++-----
drivers/leds/Kconfig | 14 ++-
drivers/leds/leds-aw200xx.c | 100 +++++++++++++++---
3 files changed, 163 insertions(+), 46 deletions(-)

--
2.36.0