# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) %YAML 1.2 --- $id: http://devicetree.org/schemas/leds/awinic,aw200xx.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: AWINIC AW200XX LED maintainers: - Martin Kurbanov description: | It is a matrix LED driver programmed via an I2C interface. Devices have a set of individually controlled leds and support 3 pattern controllers for auto breathing or group dimming control. Supported devices: - AW20036 (3x12) 36 LEDs - AW20054 (6x9) 54 LEDs - AW20072 (6x12) 72 LEDs - AW20108 (9x12) 108 LEDs For more product information please see the link below: aw20036 - https://www.awinic.com/en/productDetail/AW20036QNR#tech-docs aw20054 - https://www.awinic.com/en/productDetail/AW20054QNR#tech-docs aw20072 - https://www.awinic.com/en/productDetail/AW20072QNR#tech-docs aw20108 - https://www.awinic.com/en/productDetail/AW20108QNR#tech-docs properties: compatible: enum: - awinic,aw20036 - awinic,aw20054 - awinic,aw20072 - awinic,aw20108 reg: maxItems: 1 "#address-cells": const: 1 "#size-cells": const: 0 enable-gpios: maxItems: 1 patternProperties: "^led@[0-9a-f]+$": type: object $ref: common.yaml# unevaluatedProperties: false properties: reg: description: LED number maxItems: 1 led-max-microamp: default: 9780 description: | Note that a driver will take the minimum of all LED limits since the chip has a single global setting. The maximum output current of each LED is calculated by the following formula: IMAXled = 160000 * (592 / 600.5) * (1 / max-current-switch-number) And the minimum output current formula: IMINled = 3300 * (592 / 600.5) * (1 / max-current-switch-number) where max-current-switch-number is determinated by led configuration and depends on how leds are physically connected to the led driver. allOf: - if: properties: compatible: contains: const: awinic,aw20036 then: patternProperties: "^led@[0-9a-f]+$": properties: reg: items: minimum: 0 maximum: 36 - if: properties: compatible: contains: const: awinic,aw20054 then: patternProperties: "^led@[0-9a-f]+$": properties: reg: items: minimum: 0 maximum: 54 - if: properties: compatible: contains: const: awinic,aw20072 then: patternProperties: "^led@[0-9a-f]+$": properties: reg: items: minimum: 0 maximum: 72 - if: properties: compatible: contains: const: awinic,aw20108 then: patternProperties: "^led@[0-9a-f]+$": properties: reg: items: minimum: 0 maximum: 108 required: - compatible - reg - "#address-cells" - "#size-cells" additionalProperties: false examples: - | #include #include i2c { #address-cells = <1>; #size-cells = <0>; led-controller@3a { compatible = "awinic,aw20036"; reg = <0x3a>; #address-cells = <1>; #size-cells = <0>; enable-gpios = <&gpio 3 GPIO_ACTIVE_HIGH>; led@0 { reg = <0x0>; color = ; led-max-microamp = <9780>; }; led@1 { reg = <0x1>; color = ; led-max-microamp = <9780>; }; led@2 { reg = <0x2>; color = ; led-max-microamp = <9780>; }; }; }; ...