mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2025-08-20 18:34:33 +00:00

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>
122 lines
3.8 KiB
YAML
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>;
|
|
};
|
|
};
|
|
};
|