devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v1 0/7] Fix/Add is31fl319{0,1,3} support
@ 2022-06-28 17:41 Vincent Knecht
  2022-06-28 17:41 ` [PATCH v1 1/7] dt-bindings: leds: Convert is31fl319x to dtschema Vincent Knecht
                   ` (4 more replies)
  0 siblings, 5 replies; 8+ messages in thread
From: Vincent Knecht @ 2022-06-28 17:41 UTC (permalink / raw)
  To: Pavel Machek, Rob Herring, Krzysztof Kozlowski, Vincent Knecht,
	linux-leds, devicetree, linux-kernel

The is31fl3190, is31fl3191 and is31fl3193 chips (1 or 3 PWM channels)
cannot be handled the same as is31fl3196 and is31fl3199,
if only because the register map is different.
Also:
- the software shutdown bit is reversed
- and additional field needs to be set to enable all channels
- the led-max-microamp current values and setting are not the same

Datasheets:
https://lumissil.com/assets/pdf/core/IS31FL3190_DS.pdf
https://lumissil.com/assets/pdf/core/IS31FL3191_DS.pdf
https://lumissil.com/assets/pdf/core/IS31FL3193_DS.pdf
https://lumissil.com/assets/pdf/core/IS31FL3196_DS.pdf
https://lumissil.com/assets/pdf/core/IS31FL3199_DS.pdf

This series:

- converts dt-bindings to dtschema, adding all si-en compatibles
  for convenience and consistency, and adding constraints on
  supported values for eg. reg address and led-max-microamp

- changes vars, structs and defines to not use 319X suffix
  but 3190 for 319{0,1,3} and 3196 for 319{6,9}

- adds fields in chipdef struct for chip-specific values

- only in the last patch, adds is31fl319{0,1,3} specific values
  so those chips can work.

Tested on msm8916-alcatel-idol347, which probably has an
is31fl3190 or is31fl3191 (only one white led indicator).

Vincent Knecht (7):
  dt-bindings: leds: Convert is31fl319x to dtschema
  dt-bindings: leds: is31fl319x: Add missing si-en compatibles
  leds: is31fl319x: Add missing si-en compatibles
  dt-bindings: leds: is31fl319x: Document variants specificities
  leds: is31fl319x: Use non-wildcard names for vars, structs and defines
  leds: is31fl319x: Move chipset-specific values in chipdef struct
  leds: is31fl319x: Add support for is31fl319{0,1,3} chips

 .../bindings/leds/issi,is31fl319x.yaml        | 193 +++++++++
 .../bindings/leds/leds-is31fl319x.txt         |  61 ---
 drivers/leds/leds-is31fl319x.c                | 406 +++++++++++++-----
 3 files changed, 488 insertions(+), 172 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/leds/issi,is31fl319x.yaml
 delete mode 100644 Documentation/devicetree/bindings/leds/leds-is31fl319x.txt

-- 
2.35.3




^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2022-06-28 18:03 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-06-28 17:41 [PATCH v1 0/7] Fix/Add is31fl319{0,1,3} support Vincent Knecht
2022-06-28 17:41 ` [PATCH v1 1/7] dt-bindings: leds: Convert is31fl319x to dtschema Vincent Knecht
2022-06-28 17:41 ` [PATCH v1 2/7] dt-bindings: leds: is31fl319x: Add missing si-en compatibles Vincent Knecht
2022-06-28 17:41 ` [PATCH v1 3/7] " Vincent Knecht
2022-06-28 17:41 ` [PATCH v1 4/7] dt-bindings: leds: is31fl319x: Document variants specificities Vincent Knecht
2022-06-28 17:46 ` [PATCH v1 5/7] leds: is31fl319x: Use non-wildcard names for vars, structs and defines Vincent Knecht
2022-06-28 17:46   ` [PATCH v1 6/7] leds: is31fl319x: Move chipset-specific values in chipdef struct Vincent Knecht
2022-06-28 17:46   ` [PATCH v1 7/7] leds: is31fl319x: Add support for is31fl319{0,1,3} chips Vincent Knecht

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).