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 <dan...@zonque.org>
---
 drivers/hwmon/lm75.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/drivers/hwmon/lm75.c b/drivers/hwmon/lm75.c
index 447af07450f1..a8aba628468e 100644
--- a/drivers/hwmon/lm75.c
+++ b/drivers/hwmon/lm75.c
@@ -49,6 +49,7 @@ enum lm75_type {              /* keep sorted in alphabetical 
order */
        max6626,
        max31725,
        mcp980x,
+       pct2075,
        stds75,
        stlm75,
        tcn75,
@@ -353,6 +354,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 */
@@ -428,6 +433,7 @@ static const struct i2c_device_id lm75_ids[] = {
        { "max31725", max31725, },
        { "max31726", max31725, },
        { "mcp980x", mcp980x, },
+       { "pct2075", pct2075, },
        { "stds75", stds75, },
        { "stlm75", stlm75, },
        { "tcn75", tcn75, },
@@ -496,6 +502,10 @@ static const struct of_device_id lm75_of_match[] = {
                .compatible = "maxim,mcp980x",
                .data = (void *)mcp980x
        },
+       {
+               .compatible = "nxp,pct2075",
+               .data = (void *)pct2075
+       },
        {
                .compatible = "st,stds75",
                .data = (void *)stds75
-- 
2.21.0

Reply via email to