[RFC net-next 1/4] dt-bindings: leds: Add IS32FL3207 controller
Ahmad Byagowi <[email protected]> Sun, 2 Aug 2026 08:46:17 -0700
| Newsgroups | org.kernel.vger.linux-leds,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-i2c,org.kernel.vger.linux-kernel,org.kernel.vger.netdev |
|---|---|
| Message-ID | <f45601f5a51e94e4d0fb58652fdd9a80eec8361f.1785684064.git.ahmadexp@gmail.com> |
The IS32FL3207 is an 18-channel constant-current LED controller with per-output PWM and current scaling. Describe I2C addressing, power and shutdown controls, RISET, and individual or multicolor output groupings. Require board current limits for each output. Signed-off-by: Ahmad Byagowi <[email protected]> --- .../bindings/leds/issi,is32fl3207.yaml | 204 ++++++++++++++++++ MAINTAINERS | 6 + 2 files changed, 210 insertions(+) create mode 100644 Documentation/devicetree/bindings/leds/issi,is32fl3207.yaml diff --git a/Documentation/devicetree/bindings/leds/issi,is32fl3207.yaml b/Documentation/devicetree/bindings/leds/issi,is32fl3207.yaml new file mode 100644 index 000000000..06a12cfb1 --- /dev/null +++ b/Documentation/devicetree/bindings/leds/issi,is32fl3207.yaml @@ -0,0 +1,204 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/leds/issi,is32fl3207.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Lumissil IS32FL3207 18-channel LED controller + +maintainers: + - Ahmad Byagowi <[email protected]> + +description: | + The IS32FL3207 is an I2C LED controller with 18 individually controlled + constant-current outputs. Each output has 8-bit current scaling and up to + 16-bit PWM control. Outputs may be exposed as individual LEDs or grouped as + multicolor LEDs. + + The data sheet is available at: + https://www.lumissil.com/assets/pdf/core/IS32FL3207_DS.pdf + +properties: + compatible: + const: issi,is32fl3207 + + reg: + enum: [0x34, 0x35, 0x36, 0x37] + + vcc-supply: + description: Regulator providing power to the VCC pin. + + enable-gpios: + maxItems: 1 + description: GPIO connected to SDB, asserted to enable the controller. + + issi,riset-ohms: + minimum: 2000 + maximum: 76500000 + description: | + Resistance in ohms of the external RISET resistor. The resistor sets the + maximum output current according to IOUT(MAX) = 76.5 / RISET amperes. + + "#address-cells": + const: 1 + + "#size-cells": + const: 0 + +patternProperties: + "^led@[0-9a-f]+$": + type: object + $ref: common.yaml# + unevaluatedProperties: false + + properties: + reg: + minimum: 0 + maximum: 17 + description: LED output number. + + led-max-microamp: + minimum: 1 + maximum: 38250 + + color: + not: + enum: [8, 9] + + max-brightness: + minimum: 1 + maximum: 255 + + default-state: + const: "off" + + default-brightness: false + + retain-state-shutdown: false + + required: + - reg + - led-max-microamp + + "^multi-led@[0-9a-f]+$": + type: object + $ref: leds-class-multicolor.yaml# + unevaluatedProperties: false + + properties: + reg: + minimum: 0 + maximum: 17 + description: Lowest-numbered LED output used by the group. + + "#address-cells": + const: 1 + + "#size-cells": + const: 0 + + max-brightness: + minimum: 1 + maximum: 255 + + default-state: + const: "off" + + default-brightness: false + + retain-state-shutdown: false + + patternProperties: + "^led@[0-9a-f]+$": + type: object + $ref: common.yaml# + unevaluatedProperties: false + + properties: + reg: + minimum: 0 + maximum: 17 + description: LED output number. + + led-max-microamp: + minimum: 1 + maximum: 38250 + + color: + not: + enum: [8, 9] + + max-brightness: false + + default-state: false + + default-brightness: false + + retain-state-shutdown: false + + required: + - reg + - color + - led-max-microamp + + required: + - reg + - "#address-cells" + - "#size-cells" + +required: + - compatible + - reg + - issi,riset-ohms + - "#address-cells" + - "#size-cells" + +additionalProperties: false + +examples: + - | + #include <dt-bindings/gpio/gpio.h> + #include <dt-bindings/leds/common.h> + + i2c { + #address-cells = <1>; + #size-cells = <0>; + + led-controller@34 { + compatible = "issi,is32fl3207"; + reg = <0x34>; + #address-cells = <1>; + #size-cells = <0>; + + vcc-supply = <&led_3v3>; + enable-gpios = <&gpio0 4 GPIO_ACTIVE_HIGH>; + issi,riset-ohms = <4700>; + + multi-led@0 { + reg = <0>; + color = <LED_COLOR_ID_RGB>; + function = LED_FUNCTION_STATUS; + #address-cells = <1>; + #size-cells = <0>; + + led@0 { + reg = <0>; + color = <LED_COLOR_ID_RED>; + led-max-microamp = <8100>; + }; + + led@1 { + reg = <1>; + color = <LED_COLOR_ID_GREEN>; + led-max-microamp = <8100>; + }; + + led@2 { + reg = <2>; + color = <LED_COLOR_ID_BLUE>; + led-max-microamp = <8100>; + }; + }; + }; + }; +... diff --git a/MAINTAINERS b/MAINTAINERS index 932ea1db0..ff3a93474 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -13821,6 +13821,12 @@ F: Documentation/devicetree/bindings/hwmon/renesas,isl28022.yaml F: Documentation/hwmon/isl28022.rst F: drivers/hwmon/isl28022.c +ISSI IS32FL3207 LED DRIVER +M: Ahmad Byagowi <[email protected]> +L: [email protected] +S: Maintained +F: Documentation/devicetree/bindings/leds/issi,is32fl3207.yaml + ISOFS FILESYSTEM M: Jan Kara <[email protected]> L: [email protected] -- 2.50.1 (Apple Git-155)