| .. SPDX-License-Identifier: GPL-2.0 |
| |
| Kernel driver tmp513 |
| ==================== |
| |
| Supported chips: |
| |
| * Texas Instruments TMP512 |
| |
| Prefix: 'tmp512' |
| |
| Datasheet: https://www.ti.com/lit/ds/symlink/tmp512.pdf |
| |
| * Texas Instruments TMP513 |
| |
| Prefix: 'tmp513' |
| |
| Datasheet: https://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. |