lm75 (4)
Leading comments
Copyright (c) 2014 Luiz Otavio O Souza <loos@freebsd.org> All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the ...
NAME
lm75 - lm75 i2c digital temperature sensor driverSYNOPSIS
device iic device iicbus device lm75DESCRIPTION
The 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 configuration register.
The access to 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 datasheet for more details.
When used together with snmp_lm753 it allows the monitoring of temperature data over SNMP.
The 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 model, but the detection of some clones may not work reliably.
On a device.hints5 based system, like MIPS these values are configurable for :
- hint.lm75.%d.at
- Is the iicbus(4) you are attaching to.
- hint.lm75.%d.addr
- Is the i2c address on the iicbus(4).
On a FDT(4) based system, like ARM the DTS part for a device usually looks like:
i2c { ... lm750 { compatible = "national,lm75"; i2c-address = <0x49>; }; };
Where:
- compatible
- Should always be set to "national,lm75".
- i2c-address
- The i2c-address property indicates which i2c address the is wired at. temperature sensors can be wired to 8 different addresses, allowing up to 8 sensors on the same iicbus(4).