hwmon: (lm75) Add STLM75 support
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>
This commit is contained in:
parent
48049e205e
commit
2e9a41bbc1
@ -42,6 +42,11 @@ Supported chips:
|
|||||||
Addresses scanned: none
|
Addresses scanned: none
|
||||||
Datasheet: Publicly available at the ST website
|
Datasheet: Publicly available at the ST website
|
||||||
http://www.st.com/internet/analog/product/121769.jsp
|
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
|
* Texas Instruments TMP100, TMP101, TMP105, TMP112, TMP75, TMP75C, TMP175, TMP275
|
||||||
Prefixes: 'tmp100', 'tmp101', 'tmp105', 'tmp112', 'tmp175', 'tmp75', 'tmp75c', 'tmp275'
|
Prefixes: 'tmp100', 'tmp101', 'tmp105', 'tmp112', 'tmp175', 'tmp75', 'tmp75c', 'tmp275'
|
||||||
Addresses scanned: none
|
Addresses scanned: none
|
||||||
|
@ -1035,6 +1035,7 @@ config SENSORS_LM75
|
|||||||
- National Semiconductor LM75, LM75A
|
- National Semiconductor LM75, LM75A
|
||||||
- NXP's LM75A
|
- NXP's LM75A
|
||||||
- ST Microelectronics STDS75
|
- ST Microelectronics STDS75
|
||||||
|
- ST Microelectronics STLM75
|
||||||
- TelCom (now Microchip) TCN75
|
- TelCom (now Microchip) TCN75
|
||||||
- Texas Instruments TMP100, TMP101, TMP105, TMP112, TMP75,
|
- Texas Instruments TMP100, TMP101, TMP105, TMP112, TMP75,
|
||||||
TMP175, TMP275
|
TMP175, TMP275
|
||||||
|
@ -50,6 +50,7 @@ enum lm75_type { /* keep sorted in alphabetical order */
|
|||||||
max31725,
|
max31725,
|
||||||
mcp980x,
|
mcp980x,
|
||||||
stds75,
|
stds75,
|
||||||
|
stlm75,
|
||||||
tcn75,
|
tcn75,
|
||||||
tmp100,
|
tmp100,
|
||||||
tmp101,
|
tmp101,
|
||||||
@ -316,6 +317,10 @@ lm75_probe(struct i2c_client *client, const struct i2c_device_id *id)
|
|||||||
data->resolution = 11;
|
data->resolution = 11;
|
||||||
data->sample_time = MSEC_PER_SEC;
|
data->sample_time = MSEC_PER_SEC;
|
||||||
break;
|
break;
|
||||||
|
case stlm75:
|
||||||
|
data->resolution = 9;
|
||||||
|
data->sample_time = MSEC_PER_SEC / 5;
|
||||||
|
break;
|
||||||
case ds7505:
|
case ds7505:
|
||||||
set_mask |= 3 << 5; /* 12-bit mode */
|
set_mask |= 3 << 5; /* 12-bit mode */
|
||||||
data->resolution = 12;
|
data->resolution = 12;
|
||||||
@ -424,6 +429,7 @@ static const struct i2c_device_id lm75_ids[] = {
|
|||||||
{ "max31726", max31725, },
|
{ "max31726", max31725, },
|
||||||
{ "mcp980x", mcp980x, },
|
{ "mcp980x", mcp980x, },
|
||||||
{ "stds75", stds75, },
|
{ "stds75", stds75, },
|
||||||
|
{ "stlm75", stlm75, },
|
||||||
{ "tcn75", tcn75, },
|
{ "tcn75", tcn75, },
|
||||||
{ "tmp100", tmp100, },
|
{ "tmp100", tmp100, },
|
||||||
{ "tmp101", tmp101, },
|
{ "tmp101", tmp101, },
|
||||||
@ -494,6 +500,10 @@ static const struct of_device_id lm75_of_match[] = {
|
|||||||
.compatible = "st,stds75",
|
.compatible = "st,stds75",
|
||||||
.data = (void *)stds75
|
.data = (void *)stds75
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
.compatible = "st,stlm75",
|
||||||
|
.data = (void *)stlm75
|
||||||
|
},
|
||||||
{
|
{
|
||||||
.compatible = "microchip,tcn75",
|
.compatible = "microchip,tcn75",
|
||||||
.data = (void *)tcn75
|
.data = (void *)tcn75
|
||||||
|
Loading…
x
Reference in New Issue
Block a user