mirror of https://github.com/torvalds/linux.git
87 lines
3.1 KiB
ReStructuredText
87 lines
3.1 KiB
ReStructuredText
.. SPDX-License-Identifier: GPL-2.0-only
|
|
|
|
Kernel driver tsc1641
|
|
=====================
|
|
|
|
Supported chips:
|
|
|
|
* ST TSC1641
|
|
|
|
Prefix: 'tsc1641'
|
|
|
|
Addresses scanned: -
|
|
|
|
Datasheet:
|
|
https://www.st.com/resource/en/datasheet/tsc1641.pdf
|
|
|
|
Author:
|
|
- Igor Reznichenko <igor@reznichenko.net>
|
|
|
|
|
|
Description
|
|
-----------
|
|
|
|
The TSC1641 is a high-precision current, voltage, power, and temperature
|
|
monitoring analog front-end (AFE). It monitors bidirectional current into a
|
|
shunt resistor and load voltage up to 60 V in a synchronized way. Digital bus
|
|
interface is I2C/SMbus. The TSC1641 allows the assertion of several alerts
|
|
regarding the voltage, current, power and temperature.
|
|
|
|
Usage Notes
|
|
-----------
|
|
|
|
The TSC1641 driver requires the value of the external shunt resistor to
|
|
correctly compute current and power measurements. The resistor value, in
|
|
micro-ohms, should be provided either through the device tree property
|
|
"shunt-resistor-micro-ohms" or via writable sysfs attribute "shunt_resistor".
|
|
Please refer to the Documentation/devicetree/bindings/hwmon/st,tsc1641.yaml
|
|
for bindings if the device tree is used.
|
|
|
|
Supported range of shunt resistor values is from 100 uOhm to 655.35 mOhm, in
|
|
10 uOhm steps.
|
|
When selecting the value keep in mind device maximum DC power measurement is
|
|
1600W. See datasheet p.22 for ST recommendations on selecting shunt value.
|
|
|
|
If the shunt resistor value is not specified in the device tree, the driver
|
|
initializes it to 1000 uOhm by default. Users may configure the correct shunt
|
|
resistor value at runtime by writing to the "shunt_resistor" sysfs attribute.
|
|
|
|
The driver only supports continuous operating mode.
|
|
Measurement ranges:
|
|
|
|
================ ===============================================================
|
|
Current Bidirectional, dependent on shunt
|
|
Bus voltage 0-60V
|
|
Maximum DC power 1600W
|
|
Temperature -40C to +125C
|
|
================ ===============================================================
|
|
|
|
Sysfs entries
|
|
-------------
|
|
|
|
==================== ===========================================================
|
|
in0_input bus voltage (mV)
|
|
in0_max bus voltage max alarm limit (mV)
|
|
in0_max_alarm bus voltage max alarm limit exceeded
|
|
in0_min bus voltage min alarm limit (mV)
|
|
in0_min_alarm bus voltage min alarm limit exceeded
|
|
|
|
curr1_input current measurement (mA)
|
|
curr1_max current max alarm limit (mA)
|
|
curr1_max_alarm current max alarm limit exceeded
|
|
curr1_min current min alarm limit (mA)
|
|
curr1_min_alarm current min alarm limit exceeded
|
|
|
|
power1_input power measurement (uW)
|
|
power1_max power max alarm limit (uW)
|
|
power1_max_alarm power max alarm limit exceeded
|
|
|
|
shunt_resistor shunt resistor value (uOhms)
|
|
|
|
temp1_input temperature measurement (mdegC)
|
|
temp1_max temperature max alarm limit (mdegC)
|
|
temp1_max_alarm temperature max alarm limit exceeded
|
|
|
|
update_interval data conversion time (1 - 33ms), longer conversion time
|
|
corresponds to higher effective resolution in bits
|
|
==================== =========================================================== |