Commit c09472fc authored by Guenter Roeck's avatar Guenter Roeck

hwmon: (lm90) Support MAX1617 and LM84

MAX1617 and LM84 are stripped-down versions of LM90, so they can easily
be supported by the LM90 driver. The most difficult part is chip detection,
since those old chips do not support manufacturer ID or chip ID registers.

The "alarms" attribute is enabled for both chips to match the functionality
of the adm1021 driver. Chip detection was improved and is less prone to
misdetection than the chip detection in the adm1021 driver.

Devicetree nodes are not added for the added chips since it is quite
unlikely that such old chips will ever be used in a devicetree based
system. They can be added later if needed.
Signed-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
parent 6be4b1a4
...@@ -3,6 +3,14 @@ Kernel driver lm90 ...@@ -3,6 +3,14 @@ Kernel driver lm90
Supported chips: Supported chips:
* National Semiconductor LM84
Prefix: 'lm84'
Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e
Datasheet: Publicly available at the National Semiconductor website
* National Semiconductor LM90 * National Semiconductor LM90
Prefix: 'lm90' Prefix: 'lm90'
...@@ -113,6 +121,22 @@ Supported chips: ...@@ -113,6 +121,22 @@ Supported chips:
https://www.onsemi.com/PowerSolutions/product.do?id=NCT1008 https://www.onsemi.com/PowerSolutions/product.do?id=NCT1008
* Maxim MAX1617
Prefix: 'max1617'
Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e
Datasheet: Publicly available at the Maxim website
* Maxim MAX1617A
Prefix: 'max1617a'
Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e
Datasheet: Publicly available at the Maxim website
* Maxim MAX6642 * Maxim MAX6642
Prefix: 'max6642' Prefix: 'max6642'
...@@ -325,6 +349,12 @@ The LM90 is a digital temperature sensor. It senses its own temperature as ...@@ -325,6 +349,12 @@ The LM90 is a digital temperature sensor. It senses its own temperature as
well as the temperature of up to one external diode. It is compatible well as the temperature of up to one external diode. It is compatible
with many other devices, many of which are supported by this driver. with many other devices, many of which are supported by this driver.
The family of chips supported by this driver is derived from MAX1617.
This chip as well as various compatible chips support a local and a remote
temperature sensor with 8 bit accuracy. Later chips provide improved accuracy
and other additional features such as hysteresis and temperature offset
registers.
Note that there is no easy way to differentiate between the MAX6657, Note that there is no easy way to differentiate between the MAX6657,
MAX6658 and MAX6659 variants. The extra features of the MAX6659 are only MAX6658 and MAX6659 variants. The extra features of the MAX6659 are only
supported by this driver if the chip is located at address 0x4d or 0x4e, supported by this driver if the chip is located at address 0x4d or 0x4e,
...@@ -332,15 +362,22 @@ or if the chip type is explicitly selected as max6659. ...@@ -332,15 +362,22 @@ or if the chip type is explicitly selected as max6659.
The MAX6680 and MAX6681 only differ in their pinout, therefore they obviously The MAX6680 and MAX6681 only differ in their pinout, therefore they obviously
can't (and don't need to) be distinguished. can't (and don't need to) be distinguished.
The specificity of this family of chipsets over the ADM1021/LM84
family is that it features critical limits with hysteresis, and an
increased resolution of the remote temperature measurement.
The different chipsets of the family are not strictly identical, although The different chipsets of the family are not strictly identical, although
very similar. For reference, here comes a non-exhaustive list of specific very similar. For reference, here comes a non-exhaustive list of specific
features: features:
LM84:
* 8 bit sensor resolution
MAX1617:
* 8 bit sensor resolution
* Low temperature limits
LM90: LM90:
* 11 bit resolution for remote temperature sensor
* Temperature offset register for remote temperature sensor
* Low and critical temperature limits
* Configurable conversion rate
* Filter and alert configuration register at 0xBF. * Filter and alert configuration register at 0xBF.
* ALERT is triggered by temperatures over critical limits. * ALERT is triggered by temperatures over critical limits.
......
...@@ -1358,11 +1358,12 @@ config SENSORS_LM90 ...@@ -1358,11 +1358,12 @@ config SENSORS_LM90
tristate "National Semiconductor LM90 and compatibles" tristate "National Semiconductor LM90 and compatibles"
depends on I2C depends on I2C
help help
If you say yes here you get support for National Semiconductor LM90, If you say yes here you get support for National Semiconductor LM84,
LM86, LM89 and LM99, Analog Devices ADM1032, ADT7461, ADT7461A, LM90, LM86, LM89 and LM99, Analog Devices ADM1032, ADT7461, ADT7461A,
ADT7481, ADT7482, and ADT7483A, ADT7481, ADT7482, and ADT7483A,
Maxim MAX6642, MAX6646, MAX6647, MAX6648, MAX6649, MAX6654, MAX6657, Maxim MAX1617, MAX6642, MAX6646, MAX6647, MAX6648, MAX6649, MAX6654,
MAX6658, MAX6659, MAX6680, MAX6681, MAX6692, MAX6695, MAX6696, MAX6657, MAX6658, MAX6659, MAX6680, MAX6681, MAX6692, MAX6695,
MAX6696,
ON Semiconductor NCT1008, Winbond/Nuvoton W83L771W/G/AWG/ASG, ON Semiconductor NCT1008, Winbond/Nuvoton W83L771W/G/AWG/ASG,
Philips SA56004, GMT G781, Texas Instruments TMP451 and TMP461 Philips SA56004, GMT G781, Texas Instruments TMP451 and TMP461
sensor chips. sensor chips.
......
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment