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