summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIker Perez del Palomar Sustatxa <iker.perez@codethink.co.uk>2019-05-03 18:15:00 +0200
committerGuenter Roeck <linux@roeck-us.net>2019-05-03 22:16:18 +0200
commit39abe9d88b30a51029b0b29a708a4f4459034565 (patch)
treee50009f761b3b5d82ab7a12b1edc67dff7257cac
parentdt-bindings: hwmon: Add tmp75b to lm75.txt (diff)
downloadlinux-39abe9d88b30a51029b0b29a708a4f4459034565.tar.xz
linux-39abe9d88b30a51029b0b29a708a4f4459034565.zip
hwmon: (lm75) Add support for TMP75B
The TMP75B has a different control register, supports 12-bit resolution and the default conversion rate is 37 Hz. Signed-off-by: Iker Perez del Palomar Sustatxa <iker.perez@codethink.co.uk> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
-rw-r--r--Documentation/hwmon/lm75.rst6
-rw-r--r--drivers/hwmon/lm75.c11
2 files changed, 15 insertions, 2 deletions
diff --git a/Documentation/hwmon/lm75.rst b/Documentation/hwmon/lm75.rst
index 6fd4d2df5420..ba8acbd2a6cb 100644
--- a/Documentation/hwmon/lm75.rst
+++ b/Documentation/hwmon/lm75.rst
@@ -93,9 +93,9 @@ Supported chips:
https://www.st.com/resource/en/datasheet/stlm75.pdf
- * Texas Instruments TMP100, TMP101, TMP105, TMP112, TMP75, TMP75C, TMP175, TMP275
+ * Texas Instruments TMP100, TMP101, TMP105, TMP112, TMP75, TMP75B, TMP75C, TMP175, TMP275
- Prefixes: 'tmp100', 'tmp101', 'tmp105', 'tmp112', 'tmp175', 'tmp75', 'tmp75c', 'tmp275'
+ Prefixes: 'tmp100', 'tmp101', 'tmp105', 'tmp112', 'tmp175', 'tmp75', 'tmp75b', 'tmp75c', 'tmp275'
Addresses scanned: none
@@ -111,6 +111,8 @@ Supported chips:
http://www.ti.com/product/tmp75
+ http://www.ti.com/product/tmp75b
+
http://www.ti.com/product/tmp75c
http://www.ti.com/product/tmp175
diff --git a/drivers/hwmon/lm75.c b/drivers/hwmon/lm75.c
index f307743edc25..423a382420b9 100644
--- a/drivers/hwmon/lm75.c
+++ b/drivers/hwmon/lm75.c
@@ -59,6 +59,7 @@ enum lm75_type { /* keep sorted in alphabetical order */
tmp175,
tmp275,
tmp75,
+ tmp75b,
tmp75c,
};
@@ -354,6 +355,11 @@ lm75_probe(struct i2c_client *client, const struct i2c_device_id *id)
data->resolution = 12;
data->sample_time = MSEC_PER_SEC / 2;
break;
+ case tmp75b: /* not one-shot mode, Conversion rate 37Hz */
+ clr_mask |= 1 << 15 | 0x3 << 13;
+ data->resolution = 12;
+ data->sample_time = MSEC_PER_SEC / 37;
+ break;
case tmp75c:
clr_mask |= 1 << 5; /* not one-shot mode */
data->resolution = 12;
@@ -414,6 +420,7 @@ static const struct i2c_device_id lm75_ids[] = {
{ "tmp175", tmp175, },
{ "tmp275", tmp275, },
{ "tmp75", tmp75, },
+ { "tmp75b", tmp75b, },
{ "tmp75c", tmp75c, },
{ /* LIST END */ }
};
@@ -513,6 +520,10 @@ static const struct of_device_id __maybe_unused lm75_of_match[] = {
.data = (void *)tmp75
},
{
+ .compatible = "ti,tmp75b",
+ .data = (void *)tmp75b
+ },
+ {
.compatible = "ti,tmp75c",
.data = (void *)tmp75c
},