linux/Documentation/devicetree/bindings/hwmon/adi,ltc2947.yaml
Nuno Sá 8ae93ea710 dt-bindings: hwmon: Add ltc2947 documentation
Document the LTC2947 device devicetree bindings.

Signed-off-by: Nuno Sá <nuno.sa@analog.com>
Reviewed-by: Rob Herring <robh@kernel.org>
Link: https://lore.kernel.org/r/20191011114853.159327-2-nuno.sa@analog.com
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2019-11-06 14:37:19 -08:00

105 lines
3.3 KiB
YAML

# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/bindings/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.
allOf:
- $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.
allOf:
- $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.
allOf:
- $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.
allOf:
- $ref: /schemas/types.yaml#/definitions/uint32-array
- minItems: 2
maxItems: 2
items:
enum: [0, 1, 2]
default: 0
required:
- compatible
- reg
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>;
};
};
...