Skip to content

Commit

Permalink
hwmon: (lm90) Add support for ADT7421
Browse files Browse the repository at this point in the history
ADT7421 is similar to ADT7461A but supports configurable Beta Compensation.
Packet Error Checking (PEC) is supported but undocumented.

A devicetree node is not added for the added chip since it is quite
unlikely that such an old chip will ever be used in a devicetree based
system. It can be added later if needed.

Signed-off-by: Guenter Roeck <[email protected]>
  • Loading branch information
groeck committed Jul 13, 2022
1 parent d8521f8 commit 41e6d72
Showing 1 changed file with 9 additions and 1 deletion.
10 changes: 9 additions & 1 deletion drivers/hwmon/lm90.c
Original file line number Diff line number Diff line change
Expand Up @@ -231,6 +231,7 @@ static const struct i2c_device_id lm90_id[] = {
{ "adm1021", max1617 },
{ "adm1023", adm1023 },
{ "adm1032", adm1032 },
{ "adt7421", adt7461a },
{ "adt7461", adt7461 },
{ "adt7461a", adt7461a },
{ "adt7481", adt7481 },
Expand Down Expand Up @@ -1818,11 +1819,18 @@ static const char *lm90_detect_analog(struct i2c_client *client, bool common_add
return NULL;

switch (chip_id) {
case 0x00 ... 0x0f: /* ADM1021, undocumented */
case 0x00 ... 0x03: /* ADM1021 */
case 0x05 ... 0x0f:
if (man_id2 == 0x00 && chip_id2 == 0x00 && common_address &&
!(status & 0x03) && !(config1 & 0x3f) && !(convrate & 0xf8))
name = "adm1021";
break;
case 0x04: /* ADT7421 (undocumented) */
if (man_id2 == 0x41 && chip_id2 == 0x21 &&
(address == 0x4c || address == 0x4d) &&
(config1 & 0x0b) == 0x08 && convrate <= 0x0a)
name = "adt7421";
break;
case 0x30 ... 0x3e: /* ADM1021A, ADM1023 */
/*
* ADM1021A and compatible chips will be mis-detected as
Expand Down

0 comments on commit 41e6d72

Please sign in to comment.