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

...
