]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
hwmon: (lm75) Add STLM75 support
authorJagan Teki <jagan@amarulasolutions.com>
Wed, 5 Dec 2018 21:14:22 +0000 (02:44 +0530)
committerGuenter Roeck <linux@roeck-us.net>
Sun, 16 Dec 2018 23:13:22 +0000 (15:13 -0800)
The STLM75 is a high-precision digital CMOS temperature sensor
IC with a sigma-delta temperature-to-digital converter.

The configuration register mapping is similar to existing lm75
but the sample rate is 150ms(max).

Tested on real hardware and verified temperature readings are correct.

Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Documentation/hwmon/lm75
drivers/hwmon/Kconfig
drivers/hwmon/lm75.c

index 2f1120f88c1658da907095522bbe4f571c279cac..010583608f127e454b8f47070f2b8d9b63d22f4d 100644 (file)
@@ -42,6 +42,11 @@ Supported chips:
     Addresses scanned: none
     Datasheet: Publicly available at the ST website
                http://www.st.com/internet/analog/product/121769.jsp
+  * ST Microelectronics STLM75
+    Prefix: 'stlm75'
+    Addresses scanned: none
+    Datasheet: Publicly available at the ST website
+              https://www.st.com/resource/en/datasheet/stlm75.pdf
   * Texas Instruments TMP100, TMP101, TMP105, TMP112, TMP75, TMP75C, TMP175, TMP275
     Prefixes: 'tmp100', 'tmp101', 'tmp105', 'tmp112', 'tmp175', 'tmp75', 'tmp75c', 'tmp275'
     Addresses scanned: none
index fe1e75051fd8fa5d6062ce24752f54fa10003342..7bec39266402f34d4ec28acf50a5d0e9023e0373 100644 (file)
@@ -1035,6 +1035,7 @@ config SENSORS_LM75
                - National Semiconductor LM75, LM75A
                - NXP's LM75A
                - ST Microelectronics STDS75
+               - ST Microelectronics STLM75
                - TelCom (now Microchip) TCN75
                - Texas Instruments TMP100, TMP101, TMP105, TMP112, TMP75,
                  TMP175, TMP275
index c7f20543b2bf00e3f7120fa1350d6e460431efed..62acb9f16ec5edf9bbba77b8651f87be11f2e73f 100644 (file)
@@ -50,6 +50,7 @@ enum lm75_type {              /* keep sorted in alphabetical order */
        max31725,
        mcp980x,
        stds75,
+       stlm75,
        tcn75,
        tmp100,
        tmp101,
@@ -316,6 +317,10 @@ lm75_probe(struct i2c_client *client, const struct i2c_device_id *id)
                data->resolution = 11;
                data->sample_time = MSEC_PER_SEC;
                break;
+       case stlm75:
+               data->resolution = 9;
+               data->sample_time = MSEC_PER_SEC / 5;
+               break;
        case ds7505:
                set_mask |= 3 << 5;             /* 12-bit mode */
                data->resolution = 12;
@@ -424,6 +429,7 @@ static const struct i2c_device_id lm75_ids[] = {
        { "max31726", max31725, },
        { "mcp980x", mcp980x, },
        { "stds75", stds75, },
+       { "stlm75", stlm75, },
        { "tcn75", tcn75, },
        { "tmp100", tmp100, },
        { "tmp101", tmp101, },
@@ -494,6 +500,10 @@ static const struct of_device_id lm75_of_match[] = {
                .compatible = "st,stds75",
                .data = (void *)stds75
        },
+       {
+               .compatible = "st,stlm75",
+               .data = (void *)stlm75
+       },
        {
                .compatible = "microchip,tcn75",
                .data = (void *)tcn75