mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-12-25 05:34:00 +08:00
2057bdfb71
This patch implements the summation feature of INA3221, mainly the SCC (enabling) and SF (warning flag) bits of MASK_ENABLE register, INA3221_SHUNT_SUM (summation of shunt voltages) register, and the INA3221_CRIT_SUM (its critical alert setting) register. Although the summation feature allows user to select which channels to be added to the result, as an initial support, this patch simply selects all channels by default, with one only condition: all shunt resistor values need to be the same. This is because the summation of current channels can be only accurately calculated, using shunt voltage sum register, if all shunt resistors are equivalent. Signed-off-by: Nicolin Chen <nicoleotsuka@gmail.com> Link: https://lore.kernel.org/r/20191016235702.22039-1-nicoleotsuka@gmail.com [groeck: summation->sum in documentation and label] Signed-off-by: Guenter Roeck <linux@roeck-us.net>
75 lines
3.1 KiB
ReStructuredText
75 lines
3.1 KiB
ReStructuredText
Kernel driver ina3221
|
|
=====================
|
|
|
|
Supported chips:
|
|
|
|
* Texas Instruments INA3221
|
|
|
|
Prefix: 'ina3221'
|
|
|
|
Addresses: I2C 0x40 - 0x43
|
|
|
|
Datasheet: Publicly available at the Texas Instruments website
|
|
|
|
http://www.ti.com/
|
|
|
|
Author: Andrew F. Davis <afd@ti.com>
|
|
|
|
Description
|
|
-----------
|
|
|
|
The Texas Instruments INA3221 monitors voltage, current, and power on the high
|
|
side of up to three D.C. power supplies. The INA3221 monitors both shunt drop
|
|
and supply voltage, with programmable conversion times and averaging, current
|
|
and power are calculated host-side from these.
|
|
|
|
Sysfs entries
|
|
-------------
|
|
|
|
======================= =======================================================
|
|
in[123]_label Voltage channel labels
|
|
in[123]_enable Voltage channel enable controls
|
|
in[123]_input Bus voltage(mV) channels
|
|
curr[123]_input Current(mA) measurement channels
|
|
shunt[123]_resistor Shunt resistance(uOhm) channels
|
|
curr[123]_crit Critical alert current(mA) setting, activates the
|
|
corresponding alarm when the respective current
|
|
is above this value
|
|
curr[123]_crit_alarm Critical alert current limit exceeded
|
|
curr[123]_max Warning alert current(mA) setting, activates the
|
|
corresponding alarm when the respective current
|
|
average is above this value.
|
|
curr[123]_max_alarm Warning alert current limit exceeded
|
|
in[456]_input Shunt voltage(uV) for channels 1, 2, and 3 respectively
|
|
in7_input Sum of shunt voltage(uV) channels
|
|
in7_label Channel label for sum of shunt voltage
|
|
curr4_input Sum of current(mA) measurement channels,
|
|
(only available when all channels use the same resistor
|
|
value for their shunt resistors)
|
|
curr4_crit Critical alert current(mA) setting for sum of current
|
|
measurements, activates the corresponding alarm
|
|
when the respective current is above this value
|
|
(only effective when all channels use the same resistor
|
|
value for their shunt resistors)
|
|
curr4_crit_alarm Critical alert current limit exceeded for sum of
|
|
current measurements.
|
|
samples Number of samples using in the averaging mode.
|
|
|
|
Supports the list of number of samples:
|
|
|
|
1, 4, 16, 64, 128, 256, 512, 1024
|
|
|
|
update_interval Data conversion time in millisecond, following:
|
|
|
|
update_interval = C x S x (BC + SC)
|
|
|
|
* C: number of enabled channels
|
|
* S: number of samples
|
|
* BC: bus-voltage conversion time in millisecond
|
|
* SC: shunt-voltage conversion time in millisecond
|
|
|
|
Affects both Bus- and Shunt-voltage conversion time.
|
|
Note that setting update_interval to 0ms sets both BC
|
|
and SC to 140 us (minimum conversion time).
|
|
======================= =======================================================
|