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

title: Analog Devices LTC2947 high precision power and energy monitor

maintainers:
  - Nuno Sá <nuno.sa@analog.com>

description: |
  Analog Devices LTC2947 high precision power and energy monitor over SPI or I2C.

  https://www.analog.com/media/en/technical-documentation/data-sheets/LTC2947.pdf

properties:
  compatible:
    enum:
      - adi,ltc2947

  reg:
    maxItems: 1

  clocks:
    description:
      The LTC2947 uses either a trimmed internal oscillator or an external clock
      as the time base for determining the integration period to represent time,
      charge and energy. When an external clock is used, this property must be
      set accordingly.
    maxItems: 1

  adi,accumulator-ctl-pol:
    description:
      This property controls the polarity of current that is accumulated to
      calculate charge and energy so that, they can be only accumulated for
      positive current for example. Since there are two sets of registers for
      the accumulated values, this entry can also have two items which sets
      energy1/charge1 and energy2/charger2 respectively. Check table 12 of the
      datasheet for more information on the supported options.
    $ref: /schemas/types.yaml#/definitions/uint32-array
    minItems: 2
    maxItems: 2
    items:
      enum: [0, 1, 2, 3]
      default: 0

  adi,accumulation-deadband-microamp:
    description:
      This property controls the Accumulation Dead band which allows to set the
      level of current below which no accumulation takes place.
    $ref: /schemas/types.yaml#/definitions/uint32
    maximum: 255
    default: 0

  adi,gpio-out-pol:
    description:
      This property controls the GPIO polarity. Setting it to one makes the GPIO
      active high, setting it to zero makets it active low. When this property
      is present, the GPIO is automatically configured as output and set to
      control a fan as a function of measured temperature.
    $ref: /schemas/types.yaml#/definitions/uint32
    enum: [0, 1]
    default: 0

  adi,gpio-in-accum:
    description:
      When set, this property sets the GPIO as input. It is then used to control
      the accumulation of charge, energy and time. This function can be
      enabled/configured separately for each of the two sets of accumulation
      registers. Check table 13 of the datasheet for more information on the
      supported options. This property cannot be used together with
      adi,gpio-out-pol.
    $ref: /schemas/types.yaml#/definitions/uint32-array
    minItems: 2
    maxItems: 2
    items:
      enum: [0, 1, 2]
      default: 0

required:
  - compatible
  - reg


additionalProperties: false

examples:
  - |
    spi {
           #address-cells = <1>;
           #size-cells = <0>;

           ltc2947_spi: ltc2947@0 {
                   compatible = "adi,ltc2947";
                   reg = <0>;
                   /* accumulation takes place always for energ1/charge1. */
                   /* accumulation only on positive current for energy2/charge2. */
                   adi,accumulator-ctl-pol = <0 1>;
           };
    };
...
