# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/leds/leds-aw2013.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: AWINIC AW2013 3-channel LED Driver

maintainers:
  - Nikita Travkin <nikitos.tr@gmail.com>

description: |
  The AW2013 is a 3-channel LED driver with I2C interface. It can control
  LED brightness with PWM output.

properties:
  compatible:
    const: awinic,aw2013

  reg:
    maxItems: 1

  interrupts:
    maxItems: 1
    description: Open-drain, low active interrupt pin "INTN".
      Used to report completion of operations (power up, LED breath effects).

  vcc-supply:
    description: Regulator providing power to the "VCC" pin.

  vio-supply:
    description: Regulator providing power for pull-up of the I/O lines.
      "VIO1" in the typical application circuit example of the datasheet.
      Note that this regulator does not directly connect to AW2013, but is
      needed for the correct operation of the interrupt and I2C lines.

  "#address-cells":
    const: 1

  "#size-cells":
    const: 0

patternProperties:
  "^led@[0-2]$":
    type: object
    $ref: common.yaml#
    unevaluatedProperties: false

    properties:
      reg:
        description: Index of the LED.
        minimum: 0
        maximum: 2

required:
  - compatible
  - reg
  - "#address-cells"
  - "#size-cells"

additionalProperties: false

examples:
  - |
    #include <dt-bindings/gpio/gpio.h>
    #include <dt-bindings/interrupt-controller/irq.h>
    #include <dt-bindings/leds/common.h>

    i2c {
        #address-cells = <1>;
        #size-cells = <0>;

        led-controller@45 {
            compatible = "awinic,aw2013";
            reg = <0x45>;
            interrupts = <42 IRQ_TYPE_LEVEL_LOW>;
            #address-cells = <1>;
            #size-cells = <0>;

            vcc-supply = <&pm8916_l17>;

            led@0 {
                reg = <0>;
                led-max-microamp = <5000>;
                function = LED_FUNCTION_INDICATOR;
                color = <LED_COLOR_ID_RED>;
            };

            led@1 {
                reg = <1>;
                led-max-microamp = <5000>;
                function = LED_FUNCTION_INDICATOR;
                color = <LED_COLOR_ID_GREEN>;
            };

            led@2 {
                reg = <2>;
                led-max-microamp = <5000>;
                function = LED_FUNCTION_INDICATOR;
                color = <LED_COLOR_ID_BLUE>;
            };
        };
    };
...
