mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-28 11:18:45 +07:00
59dfa75e5d
TI's TMP512/513 are I2C/SMBus system monitor chips. These chips monitor the supply voltage, supply current, power consumption and provide one local and up to three (TMP513) remote temperature sensors. It has been tested using a TI TMP513 development kit (TMP513EVM) Signed-off-by: Eric Tremblay <etremblay@distech-controls.com> Link: https://lore.kernel.org/r/20191112223001.20844-3-etremblay@distech-controls.com Signed-off-by: Guenter Roeck <linux@roeck-us.net>
104 lines
2.6 KiB
ReStructuredText
104 lines
2.6 KiB
ReStructuredText
.. SPDX-License-Identifier: GPL-2.0
|
|
|
|
Kernel driver tmp513
|
|
====================
|
|
|
|
Supported chips:
|
|
|
|
* Texas Instruments TMP512
|
|
|
|
Prefix: 'tmp512'
|
|
|
|
Datasheet: http://www.ti.com/lit/ds/symlink/tmp512.pdf
|
|
|
|
* Texas Instruments TMP513
|
|
|
|
Prefix: 'tmp513'
|
|
|
|
Datasheet: http://www.ti.com/lit/ds/symlink/tmp513.pdf
|
|
|
|
Authors:
|
|
|
|
Eric Tremblay <etremblay@distech-controls.com>
|
|
|
|
Description
|
|
-----------
|
|
|
|
This driver implements support for Texas Instruments TMP512, and TMP513.
|
|
The TMP512 (dual-channel) and TMP513 (triple-channel) are system monitors
|
|
that include remote sensors, a local temperature sensor, and a high-side current
|
|
shunt monitor. These system monitors have the capability of measuring remote
|
|
temperatures, on-chip temperatures, and system voltage/power/current
|
|
consumption.
|
|
|
|
The temperatures are measured in degrees Celsius with a range of
|
|
-40 to + 125 degrees with a resolution of 0.0625 degree C.
|
|
|
|
For hysteresis value, only the first channel is writable. Writing to it
|
|
will affect all other values since each channels are sharing the same
|
|
hysteresis value. The hysteresis is in degrees Celsius with a range of
|
|
0 to 127.5 degrees with a resolution of 0.5 degree.
|
|
|
|
The driver exports the temperature values via the following sysfs files:
|
|
|
|
**temp[1-4]_input**
|
|
|
|
**temp[1-4]_crit**
|
|
|
|
**temp[1-4]_crit_alarm**
|
|
|
|
**temp[1-4]_crit_hyst**
|
|
|
|
The driver read the shunt voltage from the chip and convert it to current.
|
|
The readable range depends on the "ti,pga-gain" property (default to 8) and the
|
|
shunt resistor value. The value resolution will be equal to 10uV/Rshunt.
|
|
|
|
The driver exports the shunt currents values via the following sysFs files:
|
|
|
|
**curr1_input**
|
|
|
|
**curr1_lcrit**
|
|
|
|
**curr1_lcrit_alarm**
|
|
|
|
**curr1_crit**
|
|
|
|
**curr1_crit_alarm**
|
|
|
|
The bus voltage range is read from the chip with a resolution of 4mV. The chip
|
|
can be configurable in two different range (32V or 16V) using the
|
|
ti,bus-range-microvolt property in the devicetree.
|
|
|
|
The driver exports the bus voltage values via the following sysFs files:
|
|
|
|
**in0_input**
|
|
|
|
**in0_lcrit**
|
|
|
|
**in0_lcrit_alarm**
|
|
|
|
**in0_crit**
|
|
|
|
**in0_crit_alarm**
|
|
|
|
The bus power and bus currents range and resolution depends on the calibration
|
|
register value. Those values are calculate by the hardware using those
|
|
formulas:
|
|
|
|
Current = (ShuntVoltage * CalibrationRegister) / 4096
|
|
Power = (Current * BusVoltage) / 5000
|
|
|
|
The driver exports the bus current and bus power values via the following
|
|
sysFs files:
|
|
|
|
**curr2_input**
|
|
|
|
**power1_input**
|
|
|
|
**power1_crit**
|
|
|
|
**power1_crit_alarm**
|
|
|
|
The calibration process follow the procedure of the datasheet (without overflow)
|
|
and depend on the shunt resistor value and the pga_gain value.
|