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

title: Silergy SY7802 1800mA Boost Charge Pump LED Driver

maintainers:
  - André Apitzsch <git@apitzsch.eu>

description: |
  The SY7802 is a current-regulated charge pump which can regulate two current
  levels for Flash and Torch modes.

  The SY7802 is a high-current synchronous boost converter with 2-channel
  high side current sources. Each channel is able to deliver 900mA current.

properties:
  compatible:
    enum:
      - silergy,sy7802

  reg:
    maxItems: 1

  enable-gpios:
    maxItems: 1
    description: A connection to the 'EN' pin.

  flash-gpios:
    maxItems: 1
    description: A connection to the 'FLEN' pin.

  vin-supply:
    description: Regulator providing power to the 'VIN' pin.

  "#address-cells":
    const: 1

  "#size-cells":
    const: 0

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

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

      led-sources:
        minItems: 1
        maxItems: 2
        items:
          minimum: 0
          maximum: 1

    required:
      - reg
      - led-sources

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

additionalProperties: false

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

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

        flash-led-controller@53 {
            compatible = "silergy,sy7802";
            reg = <0x53>;
            #address-cells = <1>;
            #size-cells = <0>;

            enable-gpios = <&tlmm 16 GPIO_ACTIVE_HIGH>;

            led@0 {
                reg = <0>;
                function = LED_FUNCTION_FLASH;
                color = <LED_COLOR_ID_WHITE>;
                led-sources = <0>, <1>;
            };
        };
    };
