hwmon: (lm75) add support for PCT2075

The NXP PCT2075 is largely compatible with other chips already supported
by the LM75 driver. It uses an 11-bit resolution and defaults to 100 ms
sampling period. The datasheet is here:

  https://www.nxp.com/docs/en/data-sheet/PCT2075.pdf

Signed-off-by: Daniel Mack <daniel@zonque.org>
Link: https://lore.kernel.org/r/20190711124504.7580-2-daniel@zonque.org
[groeck: Documentation update]
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
This commit is contained in:
Daniel Mack 2019-07-11 14:45:04 +02:00 committed by Guenter Roeck
parent 5ac6badc5a
commit 557c7ffa2f
2 changed files with 14 additions and 2 deletions

View File

@ -119,9 +119,9 @@ Supported chips:
http://www.ti.com/product/tmp275
* NXP LM75B
* NXP LM75B, PCT2075
Prefix: 'lm75b'
Prefix: 'lm75b', 'pct2075'
Addresses scanned: none
@ -129,6 +129,8 @@ Supported chips:
http://www.nxp.com/documents/data_sheet/LM75B.pdf
http://www.nxp.com/docs/en/data-sheet/PCT2075.pdf
Author: Frodo Looijaard <frodol@dds.nl>
Description

View File

@ -36,6 +36,7 @@ enum lm75_type { /* keep sorted in alphabetical order */
max6626,
max31725,
mcp980x,
pct2075,
stds75,
stlm75,
tcn75,
@ -317,6 +318,10 @@ lm75_probe(struct i2c_client *client, const struct i2c_device_id *id)
data->resolution = 9;
data->sample_time = MSEC_PER_SEC / 8;
break;
case pct2075:
data->resolution = 11;
data->sample_time = MSEC_PER_SEC / 10;
break;
case mcp980x:
data->resolution_limits = 9;
/* fall through */
@ -397,6 +402,7 @@ static const struct i2c_device_id lm75_ids[] = {
{ "max31725", max31725, },
{ "max31726", max31725, },
{ "mcp980x", mcp980x, },
{ "pct2075", pct2075, },
{ "stds75", stds75, },
{ "stlm75", stlm75, },
{ "tcn75", tcn75, },
@ -466,6 +472,10 @@ static const struct of_device_id __maybe_unused lm75_of_match[] = {
.compatible = "maxim,mcp980x",
.data = (void *)mcp980x
},
{
.compatible = "nxp,pct2075",
.data = (void *)pct2075
},
{
.compatible = "st,stds75",
.data = (void *)stds75