# 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 <mmkurbanov@sberdevices.ru> description: | This controller is present on AW20036/AW20054/AW20072. It is a 3x12/6x9/6x12 matrix LED programmed via an I2C interface, up to 36/54/72 LEDs or 12/18/24 RGBs, 3 pattern controllers for auto breathing or group dimming control. 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 properties: compatible: enum: - awinic,aw20036 - awinic,aw20054 - awinic,aw20072 reg: maxItems: 1 "#address-cells": const: 1 "#size-cells": const: 0 awinic,display-rows: $ref: /schemas/types.yaml#/definitions/uint32 description: Leds matrix size 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 / display-rows) And the minimum output current formula: IMINled = 3300 * (592 / 600.5) * (1 / display-rows) required: - compatible - reg - "#address-cells" - "#size-cells" - awinic,display-rows allOf: - if: properties: compatible: contains: const: awinic,aw20036 then: properties: awinic,display-rows: enum: [1, 2, 3] else: properties: awinic,display-rows: enum: [1, 2, 3, 4, 5, 6, 7] additionalProperties: false examples: - | #include <dt-bindings/leds/common.h> i2c { #address-cells = <1>; #size-cells = <0>; led-controller@3a { compatible = "awinic,aw20036"; reg = <0x3a>; #address-cells = <1>; #size-cells = <0>; awinic,display-rows = <3>; led@0 { reg = <0x0>; color = <LED_COLOR_ID_RED>; led-max-microamp = <9780>; }; led@1 { reg = <0x1>; color = <LED_COLOR_ID_GREEN>; led-max-microamp = <9780>; }; led@2 { reg = <0x2>; color = <LED_COLOR_ID_BLUE>; led-max-microamp = <9780>; }; }; }; ...