| # 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>; |
| }; |
| }; |
| }; |
| |
| ... |