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

title: KTD2692 Flash LED Driver from Kinetic Technologies

maintainers:
  - Markuss Broks <markuss.broks@gmail.com>

description: |
  KTD2692 is the ideal power solution for high-power flash LEDs.
  It uses ExpressWire single-wire programming for maximum flexibility.

  The ExpressWire interface through CTRL pin can control LED on/off and
  enable/disable the IC, Movie(max 1/3 of Flash current) / Flash mode current,
  Flash timeout, LVP(low voltage protection).

  Also, When the AUX pin is pulled high while CTRL pin is high,
  LED current will be ramped up to the flash-mode current level.

properties:
  compatible:
    const: kinetic,ktd2692

  ctrl-gpios:
    maxItems: 1
    description: Specifier of the GPIO connected to CTRL pin.

  aux-gpios:
    maxItems: 1
    description: Specifier of the GPIO connected to CTRL pin.

  vin-supply:
    description: LED supply (2.7V to 5.5V).

  led:
    type: object
    $ref: common.yaml#
    description: Properties for the LED.
    properties:
      function: true
      color: true
      flash-max-timeout-us:
        description: Flash LED maximum timeout.

      led-max-microamp:
        maximum: 300000
        description: Minimum Threshold for Timer protection
          is defined internally (Maximum 300mA).

      flash-max-microamp:
        maximum: 300000
        description: Flash LED maximum current
          Formula - I(uA) = 15000000 / Rset.

    additionalProperties: false

required:
  - compatible
  - ctrl-gpios
  - led

additionalProperties: false

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

    ktd2692 {
      compatible = "kinetic,ktd2692";
      ctrl-gpios = <&gpc0 1 0>;
      aux-gpios = <&gpc0 2 0>;
      vin-supply = <&vbat>;

      led {
        function = LED_FUNCTION_FLASH;
        color = <LED_COLOR_ID_WHITE>;
        flash-max-timeout-us = <250000>;
        flash-max-microamp = <150000>;
        led-max-microamp = <25000>;
      };
    };

...