linux/Documentation/devicetree/bindings/hwmon/ti,ina3221.yaml
Jon Hunter 13ab5fdc2c dt-bindings: hwmon: ina3221: Add ti,summation-disable
The INA3221 has a critical alert pin that can be controlled by the
summation control function. This function adds the single
shunt-voltage conversions for the desired channels in order to
compare the combined sum to the programmed limit. The Shunt-Voltage
Sum Limit register contains the programmed value that is compared
to the value in the Shunt-Voltage Sum register in order to
determine if the total summed limit is exceeded. If the
shunt-voltage sum limit value is exceeded, the critical alert pin
pulls low.

For the summation limit to have a meaningful value, it is necessary
to use the same shunt-resistor value on all included channels. Add a new
vendor specific property, 'ti,summation-disable', to allow specific
channels to be excluded from the summation control function if the shunt
resistor is different to other channels or the channel should not be
considered for triggering the critical alert pin.

Note that the ina3221 has always supported summing the various input
channels and summation is enabled by default if the shunt-resistor
values are the same. This change simply provides a way to exclude
inputs from the summation. If this property is not populated, then the
functionality of the driver does not change.

Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Signed-off-by: Ninad Malwade <nmalwade@nvidia.com>
Reviewed-by: Rob Herring <robh@kernel.org>
Link: https://lore.kernel.org/r/20230929103650.86074-3-jonathanh@nvidia.com
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2023-10-28 09:21:48 -07:00

122 lines
3.8 KiB
YAML

# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/hwmon/ti,ina3221.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Texas Instruments INA3221 Current and Voltage Monitor
maintainers:
- Jean Delvare <jdelvare@suse.com>
- Guenter Roeck <linux@roeck-us.net>
properties:
compatible:
const: ti,ina3221
reg:
maxItems: 1
ti,single-shot:
description: |
This chip has two power modes: single-shot (chip takes one measurement
and then shuts itself down) and continuous (chip takes continuous
measurements). The continuous mode is more reliable and suitable for
hardware monitor type device, but the single-shot mode is more power-
friendly and useful for battery-powered device which cares power
consumptions while still needs some measurements occasionally.
If this property is present, the single-shot mode will be used, instead
of the default continuous one for monitoring.
$ref: /schemas/types.yaml#/definitions/flag
"#address-cells":
description: Required only if a child node is present.
const: 1
"#size-cells":
description: Required only if a child node is present.
const: 0
patternProperties:
"^input@[0-2]$":
description: The node contains optional child nodes for three channels.
Each child node describes the information of input source. Input channels
default to enabled in the chip. Unless channels are explicitly disabled
in device-tree, input channels will be enabled.
type: object
additionalProperties: false
properties:
reg:
description: Must be 0, 1 and 2, corresponding to the IN1, IN2 or IN3
ports of the INA3221, respectively.
enum: [ 0, 1, 2 ]
label:
description: name of the input source
shunt-resistor-micro-ohms:
description: shunt resistor value in micro-Ohm
ti,summation-disable:
description: |
The INA3221 has a critical alert pin that can be controlled by the
summation control function. This function adds the single
shunt-voltage conversions for the desired channels in order to
compare the combined sum to the programmed limit. The Shunt-Voltage
Sum Limit register contains the programmed value that is compared
to the value in the Shunt-Voltage Sum register in order to
determine if the total summed limit is exceeded. If the
shunt-voltage sum limit value is exceeded, the critical alert pin
is asserted.
For the summation limit to have a meaningful value, it is necessary
to use the same shunt-resistor value on all enabled channels. If
this is not the case or if a channel should not be used for
triggering the critical alert pin, then this property can be used
exclude specific channels from the summation control function.
type: boolean
required:
- reg
required:
- compatible
- reg
additionalProperties: false
examples:
- |
i2c {
#address-cells = <1>;
#size-cells = <0>;
power-sensor@40 {
compatible = "ti,ina3221";
reg = <0x40>;
#address-cells = <1>;
#size-cells = <0>;
input@0 {
reg = <0x0>;
/*
* Input channels are enabled by default in the device and so
* to disable, must be explicitly disabled in device-tree.
*/
status = "disabled";
};
input@1 {
reg = <0x1>;
shunt-resistor-micro-ohms = <5000>;
};
input@2 {
reg = <0x2>;
label = "VDD_5V";
shunt-resistor-micro-ohms = <5000>;
};
};
};