Kernel driver tsc1641¶
Supported chips:
ST TSC1641
Prefix: ‘tsc1641’
Addresses scanned: -
- 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 |