# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) %YAML 1.2 --- $id: http://devicetree.org/schemas/leds/issi,is31fl319x.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: ISSI LED Controllers for IS31FL319{0,1,3,6,9} maintainers: - Vincent Knecht description: | The IS31FL319X are LED controllers with I2C interface. Previously known as Si-En SN319{0,1,3,6,9}. For more product information please see the links below: 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 properties: compatible: enum: - issi,is31fl3190 - issi,is31fl3191 - issi,is31fl3193 - issi,is31fl3196 - issi,is31fl3199 - si-en,sn3190 - si-en,sn3191 - si-en,sn3193 - si-en,sn3196 - si-en,sn3199 reg: maxItems: 1 shutdown-gpios: maxItems: 1 description: GPIO attached to the SDB pin. audio-gain-db: $ref: /schemas/types.yaml#/definitions/uint32 default: 0 description: Audio gain selection for external analog modulation input. enum: [0, 3, 6, 9, 12, 15, 18, 21] "#address-cells": const: 1 "#size-cells": const: 0 patternProperties: "^led@[1-9]$": type: object $ref: common.yaml# unevaluatedProperties: false properties: reg: description: Index of the LED. minimum: 1 maximum: 9 led-max-microamp: description: Note that a driver will take the lowest of all LED limits since the chip has a single global setting. The lowest value will be chosen due to the PWM specificity, where lower brightness is achieved by reducing the duty-cycle of pulses and not the current, which will always have its peak value equal to led-max-microamp. allOf: - if: properties: compatible: contains: enum: - issi,is31fl3190 - issi,is31fl3191 - issi,is31fl3193 - si-en,sn3190 - si-en,sn3191 - si-en,sn3193 then: properties: reg: enum: [0x68, 0x69, 0x6a, 0x6b] audio-gain-db: false patternProperties: "^led@[1-9]$": properties: led-max-microamp: default: 42000 enum: [5000, 10000, 17500, 30000, 42000] else: properties: reg: enum: [0x64, 0x65, 0x66, 0x67] patternProperties: "^led@[1-9]$": properties: led-max-microamp: default: 20000 enum: [5000, 10000, 15000, 20000, 25000, 30000, 35000, 40000] - if: properties: compatible: contains: enum: - issi,is31fl3190 - issi,is31fl3191 - si-en,sn3190 - si-en,sn3191 then: patternProperties: "^led@[1-9]$": properties: reg: maximum: 1 - if: properties: compatible: contains: enum: - issi,is31fl3193 - si-en,sn3193 then: patternProperties: "^led@[1-9]$": properties: reg: maximum: 3 - if: properties: compatible: contains: enum: - issi,is31fl3196 - si-en,sn3196 then: patternProperties: "^led@[1-9]$": properties: reg: maximum: 6 required: - compatible - reg - "#address-cells" - "#size-cells" additionalProperties: false examples: - | #include #include i2c { #address-cells = <1>; #size-cells = <0>; led-controller@65 { compatible = "issi,is31fl3196"; reg = <0x65>; #address-cells = <1>; #size-cells = <0>; shutdown-gpios = <&gpio0 11 GPIO_ACTIVE_HIGH>; led@1 { reg = <1>; label = "red:aux"; led-max-microamp = <10000>; }; led@5 { reg = <5>; label = "green:power"; linux,default-trigger = "default-on"; }; }; }; ...