From: Lucca Fachinetti <luccafachinetti@gmail.com>
Keep the old maintainers field as is.
Add datasheets for reference, NB that I was not able to find an
up-to-date, funtional direct URL for si-en products datasheet
so they were skipped.
Co-developed-by: Pawel Zalewski <pzalewski@thegoodpenguin.co.uk>
Signed-off-by: Pawel Zalewski <pzalewski@thegoodpenguin.co.uk>
Signed-off-by: Lucca Fachinetti <luccafachinetti@gmail.com>
---
.../devicetree/bindings/leds/leds-is31fl3236.yaml | 101 +++++++++++++++++++++
.../devicetree/bindings/leds/leds-is31fl32xx.txt | 52 -----------
2 files changed, 101 insertions(+), 52 deletions(-)
diff --git a/Documentation/devicetree/bindings/leds/leds-is31fl3236.yaml b/Documentation/devicetree/bindings/leds/leds-is31fl3236.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..f26340850647d1c642fb345b7cf90764200e13ee
--- /dev/null
+++ b/Documentation/devicetree/bindings/leds/leds-is31fl3236.yaml
@@ -0,0 +1,101 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/leds/leds-is31fl3236.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: is31fl32xx and Si-En SN32xx IC LED driver
+
+maintainers:
+ - Pavel Machek <pavel@ucw.cz>
+ - Lee Jones <lee@kernel.org>
+
+description: |
+ The is31fl32xx/SN32xx family of LED drivers are I2C devices with multiple
+ constant-current channels, each with independent 256-level PWM control.
+ Each LED is represented as a sub-node of the device.
+
+ For more product information please see the links below:
+ https://www.lumissil.com/assets/pdf/core/IS31FL3236_DS.pdf
+ https://www.lumissil.com/assets/pdf/core/IS31FL3236A_DS.pdf
+ https://www.lumissil.com/assets/pdf/core/IS31FL3235_DS.pdf
+ https://www.lumissil.com/assets/pdf/core/IS31FL3218_DS.pdf
+ https://www.lumissil.com/assets/pdf/core/IS31FL3216_DS.pdf
+
+properties:
+ compatible:
+ enum:
+ - issi,is31fl3236
+ - issi,is31fl3236a
+ - issi,is31fl3235
+ - issi,is31fl3218
+ - issi,is31fl3216
+ - si-en,sn3218
+ - si-en,sn3216
+
+ reg:
+ maxItems: 1
+
+ '#address-cells':
+ const: 1
+
+ "#size-cells":
+ const: 0
+
+patternProperties:
+ "^led@[1-9][0-9]*$":
+ type: object
+ $ref: common.yaml#
+ additionalProperties: false
+
+ properties:
+ reg:
+ minItems: 1
+ description:
+ LED channel number (1..N)
+
+ label: true
+
+ linux,default-trigger: true
+
+ required:
+ - reg
+
+required:
+ - compatible
+ - reg
+ - "#size-cells"
+ - "#address-cells"
+
+additionalProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/leds/common.h>
+
+ i2c {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ s31fl3236: led-controller@3c {
+ compatible = "issi,is31fl3236";
+ reg = <0x3c>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ led@1 {
+ reg = <1>;
+ label = "EB:blue:usr0";
+ };
+ led@2 {
+ reg = <2>;
+ label = "EB:blue:usr1";
+ };
+ led@3 {
+ reg = <3>;
+ label = "EB:blue:usr35";
+ };
+ };
+ };
+...
+
diff --git a/Documentation/devicetree/bindings/leds/leds-is31fl32xx.txt b/Documentation/devicetree/bindings/leds/leds-is31fl32xx.txt
deleted file mode 100644
index 926c2117942c4dc200fcd68156864f544b11a326..0000000000000000000000000000000000000000
--- a/Documentation/devicetree/bindings/leds/leds-is31fl32xx.txt
+++ /dev/null
@@ -1,52 +0,0 @@
-Binding for ISSI IS31FL32xx and Si-En SN32xx LED Drivers
-
-The IS31FL32xx/SN32xx family of LED drivers are I2C devices with multiple
-constant-current channels, each with independent 256-level PWM control.
-Each LED is represented as a sub-node of the device.
-
-Required properties:
-- compatible: one of
- issi,is31fl3236
- issi,is31fl3235
- issi,is31fl3218
- issi,is31fl3216
- si-en,sn3218
- si-en,sn3216
-- reg: I2C slave address
-- address-cells : must be 1
-- size-cells : must be 0
-
-LED sub-node properties:
-- reg : LED channel number (1..N)
-- label : (optional)
- see Documentation/devicetree/bindings/leds/common.txt
-- linux,default-trigger : (optional)
- see Documentation/devicetree/bindings/leds/common.txt
-
-
-Example:
-
-is31fl3236: led-controller@3c {
- compatible = "issi,is31fl3236";
- reg = <0x3c>;
- #address-cells = <1>;
- #size-cells = <0>;
-
- led@1 {
- reg = <1>;
- label = "EB:blue:usr0";
- };
- led@2 {
- reg = <2>;
- label = "EB:blue:usr1";
- };
- ...
- led@36 {
- reg = <36>;
- label = "EB:blue:usr35";
- };
-};
-
-For more product information please see the links below:
-http://www.issi.com/US/product-analog-fxled-driver.shtml
-http://www.si-en.com/product.asp?parentid=890
--
2.48.1
On Fri, Jun 27, 2025 at 11:20:36AM +0100, Pawel Zalewski wrote: > From: Lucca Fachinetti <luccafachinetti@gmail.com> > > Keep the old maintainers field as is. > Add datasheets for reference, NB that I was not able to find an > up-to-date, funtional direct URL for si-en products datasheet > so they were skipped. > > Co-developed-by: Pawel Zalewski <pzalewski@thegoodpenguin.co.uk> > Signed-off-by: Pawel Zalewski <pzalewski@thegoodpenguin.co.uk> > Signed-off-by: Lucca Fachinetti <luccafachinetti@gmail.com> > --- > .../devicetree/bindings/leds/leds-is31fl3236.yaml | 101 +++++++++++++++++++++ Also, not quite the compatible for filename: issi,is31fl3236.yaml > .../devicetree/bindings/leds/leds-is31fl32xx.txt | 52 ----------- > 2 files changed, 101 insertions(+), 52 deletions(-)
On Fri, Jun 27, 2025 at 11:20:36AM +0100, Pawel Zalewski wrote: > From: Lucca Fachinetti <luccafachinetti@gmail.com> > > Keep the old maintainers field as is. > Add datasheets for reference, NB that I was not able to find an > up-to-date, funtional direct URL for si-en products datasheet > so they were skipped. > > Co-developed-by: Pawel Zalewski <pzalewski@thegoodpenguin.co.uk> > Signed-off-by: Pawel Zalewski <pzalewski@thegoodpenguin.co.uk> As the sender of the patches, your tags go last. > Signed-off-by: Lucca Fachinetti <luccafachinetti@gmail.com> > --- > .../devicetree/bindings/leds/leds-is31fl3236.yaml | 101 +++++++++++++++++++++ > .../devicetree/bindings/leds/leds-is31fl32xx.txt | 52 ----------- > 2 files changed, 101 insertions(+), 52 deletions(-) > > diff --git a/Documentation/devicetree/bindings/leds/leds-is31fl3236.yaml b/Documentation/devicetree/bindings/leds/leds-is31fl3236.yaml > new file mode 100644 > index 0000000000000000000000000000000000000000..f26340850647d1c642fb345b7cf90764200e13ee > --- /dev/null > +++ b/Documentation/devicetree/bindings/leds/leds-is31fl3236.yaml > @@ -0,0 +1,101 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/leds/leds-is31fl3236.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: is31fl32xx and Si-En SN32xx IC LED driver > + > +maintainers: > + - Pavel Machek <pavel@ucw.cz> > + - Lee Jones <lee@kernel.org> > + > +description: | > + The is31fl32xx/SN32xx family of LED drivers are I2C devices with multiple > + constant-current channels, each with independent 256-level PWM control. > + Each LED is represented as a sub-node of the device. > + > + For more product information please see the links below: > + https://www.lumissil.com/assets/pdf/core/IS31FL3236_DS.pdf > + https://www.lumissil.com/assets/pdf/core/IS31FL3236A_DS.pdf > + https://www.lumissil.com/assets/pdf/core/IS31FL3235_DS.pdf > + https://www.lumissil.com/assets/pdf/core/IS31FL3218_DS.pdf > + https://www.lumissil.com/assets/pdf/core/IS31FL3216_DS.pdf > + > +properties: > + compatible: > + enum: > + - issi,is31fl3236 > + - issi,is31fl3236a > + - issi,is31fl3235 > + - issi,is31fl3218 > + - issi,is31fl3216 > + - si-en,sn3218 > + - si-en,sn3216 > + > + reg: > + maxItems: 1 > + > + '#address-cells': > + const: 1 > + > + "#size-cells": > + const: 0 > + > +patternProperties: > + "^led@[1-9][0-9]*$": Unit address should be hex. > + type: object > + $ref: common.yaml# > + additionalProperties: false unevaluatedProperties: false That allows other properties from common.yaml which you should allow IMO. > + > + properties: > + reg: > + minItems: 1 maxItems: 1 Is there a known maximum number? If so, add 'maximum'. > + description: > + LED channel number (1..N) > + > + label: true > + > + linux,default-trigger: true And drop these 2. > + > + required: > + - reg > + > +required: > + - compatible > + - reg > + - "#size-cells" > + - "#address-cells" > + > +additionalProperties: false > + > +examples: > + - | > + #include <dt-bindings/leds/common.h> > + > + i2c { > + #address-cells = <1>; > + #size-cells = <0>; > + > + s31fl3236: led-controller@3c { Drop unused labels. > + compatible = "issi,is31fl3236"; You indented 4 and then 2 here. Indent by 4 for each level. > + reg = <0x3c>; > + #address-cells = <1>; > + #size-cells = <0>; > + > + led@1 { > + reg = <1>; > + label = "EB:blue:usr0"; > + }; > + led@2 { > + reg = <2>; > + label = "EB:blue:usr1"; > + }; > + led@3 { > + reg = <3>; > + label = "EB:blue:usr35"; > + }; > + }; > + }; > +... > +
© 2016 - 2025 Red Hat, Inc.