| # 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: | |
| 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 determined 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 <dt-bindings/gpio/gpio.h> |
| #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>; |
| enable-gpios = <&gpio 3 GPIO_ACTIVE_HIGH>; |
| |
| 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>; |
| }; |
| }; |
| }; |
| |
| ... |