lm75
—
lm75 i2c digital temperature sensor driver
device iic
device iicbus
device lm75
The lm75
driver provides access to sensor data and
configuration over the
iicbus(4).
It provides an easy and simple way to check the functionality of
an i2c bus as it provides read and write access to the
lm75
configuration register.
The access to lm75
data is made via the
sysctl(8)
interface:
dev.lm75.0.%desc: LM75 temperature sensor
dev.lm75.0.%driver: lm75
dev.lm75.0.%location: addr=0x49
dev.lm75.0.%pnpinfo: name=lm750 compat=national,lm75
dev.lm75.0.%parent: iicbus3
dev.lm75.0.temperature: 27.1C
dev.lm75.0.thyst: 75.0C
dev.lm75.0.tos: 80.0C
dev.lm75.0.faults: 1
dev.lm75.0.mode: comparator
dev.lm75.0.polarity: active-low
dev.lm75.0.shutdown: 0
- dev.lm75.%d.temperature
- Is the read-only value of the current temperature read by the sensor.
- dev.lm75.%d.thyst
- Sets the hysteresis temperature. Once the temperature gets over the
overtemperature shutdown value (tos) it needs to drop below the hysteresis
temperature to disable the output (interrupt) pin again.
- dev.lm75.%d.tos
- Sets the overtemperature shutdown value. Once the temperature gets over
this value the output pin will be enabled. The way the output (interrupt)
pin works, depends on the mode configuration.
- dev.lm75.%d.faults
- Is the number of faults that must occur consecutively to activate the
interrupt (output) pin. It can be set to 1, 2, 4, and 6.
- dev.lm75.%d.mode
- Sets the operation mode for the sensor interrupt pin. It can be set to
'comparator' (default) or 'interrupt'.
- dev.lm75.%d.polarity
- Sets the polarity of the sensor interrupt pin. It can be set to
'active-low' (default) or 'active-high'. Please note that the output pin
is an open-drain output and it needs a proper pull-up resistor to
work.
- dev.lm75.%d.shutdown
- When set to '1' it shuts down the sensor. The temperature conversion stops
but the sensor remains with its i2c bus active, i.e., it can be woken up
by setting this option to '0' again.
Please check the lm75
datasheet for more
details.
When used together with
snmp_lm75(3)
it allows the monitoring of lm75
temperature data
over SNMP.
The lm75
driver supports both the low and
the high resolution models.
The low resolution model (lm75) provides a 9 bit output with the
LSB representing 0.5C.
The high resolution model (lm75a) provides an 11 bit output with
the LSB representing 0.125C.
The driver tries to auto-detect the lm75
model, but the detection of some lm75
clones may not
work reliably.
On a
device.hints(5)
based system, such as MIPS
, these values are
configurable for lm75
:
- hint.lm75.%d.at
- Is the
iicbus(4)
you are attaching to.
- hint.lm75.%d.addr
- Is the
lm75
i2c address on the
iicbus(4).
On a
FDT(4)
based system, such as ARM
, the DTS part for a
lm75
device usually looks like:
i2c {
/* Properties describing the controller appear here. */
...
lm750@49 {
compatible = "national,lm75";
reg = <0x49>;
};
};
Where:
- compatible
- Should always be set to "national,lm75".
- reg
- Indicates which 7-bit i2c address the
lm75
is
wired at. lm75
temperature sensors can be wired to
8 different addresses, allowing up to 8 sensors on the same
iicbus(4).
The lm75
driver first appeared in
FreeBSD 11.0.
The lm75
driver and this manual page were written by
Luiz Otavio O Souza
<loos@FreeBSD.org>.