hwmon: (lm90) Add basic support for TI TMP461
authorGuenter Roeck <linux@roeck-us.net>
Tue, 19 Oct 2021 03:03:32 +0000 (20:03 -0700)
committerGuenter Roeck <linux@roeck-us.net>
Thu, 28 Oct 2021 02:48:19 +0000 (19:48 -0700)
commitf8344f7693a25d9025a59d164450b50c6f5aa3c0
tree183be1a0ad887f7b32f5115f30791ad9267c73bb
parentf347e249fcf920ad6974cbd898e2ec0b366a1c34
hwmon: (lm90) Add basic support for TI TMP461

TMP461 is almost identical to TMP451 and was actually detected as TMP451
with the existing lm90 driver if its I2C address is 0x4c. Add support
for it to the lm90 driver. At the same time, improve the chip detection
function to at least try to distinguish between TMP451 and TMP461.

As a side effect, this fixes commit 24333ac26d01 ("hwmon: (tmp401) use
smb word operations instead of 2 smb byte operations"). TMP461 does not
support word operations on temperature registers, which causes bad
temperature readings with the tmp401 driver. The lm90 driver does not
perform word operations on temperature registers and thus does not have
this problem.

Support is listed as basic because TMP461 supports a sensor resolution
of 0.0625 degrees C, while the lm90 driver assumes a resolution of 0.125
degrees C. Also, the TMP461 supports negative temperatures with its
default temperature range, which is not the case for similar chips
supported by the lm90 and the tmp401 drivers. Those limitations will be
addressed with follow-up patches.

Fixes: 24333ac26d01 ("hwmon: (tmp401) use smb word operations instead of 2 smb byte operations")
Reported-by: David T. Wilson <david.wilson@nasa.gov>
Cc: David T. Wilson <david.wilson@nasa.gov>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Documentation/hwmon/lm90.rst
drivers/hwmon/Kconfig
drivers/hwmon/lm90.c