Kernel driver lm75
==================

Supported chips:
  * National Semiconductor LM75
    Prefix: 'lm75'
    Addresses scanned: I2C 0x48 - 0x4f
    Datasheet: Publicly available at the National Semiconductor website
               http://www.national.com/
  * National Semiconductor LM75A
    Prefix: 'lm75a'
    Addresses scanned: I2C 0x48 - 0x4f
    Datasheet: Publicly available at the National Semiconductor website
               http://www.national.com/
  * Dallas Semiconductor (now Maxim) DS75, DS1775, DS7505
    Prefixes: 'ds75', 'ds1775', 'ds7505'
    Addresses scanned: none
    Datasheet: Publicly available at the Maxim website
               http://www.maximintegrated.com/
  * Maxim MAX6625, MAX6626, MAX31725, MAX31726
    Prefixes: 'max6625', 'max6626', 'max31725', 'max31726'
    Addresses scanned: none
    Datasheet: Publicly available at the Maxim website
               http://www.maxim-ic.com/
  * Microchip (TelCom) TCN75
    Prefix: 'tcn75'
    Addresses scanned: none
    Datasheet: Publicly available at the Microchip website
               http://www.microchip.com/
  * Microchip MCP9800, MCP9801, MCP9802, MCP9803
    Prefix: 'mcp980x'
    Addresses scanned: none
    Datasheet: Publicly available at the Microchip website
               http://www.microchip.com/
  * Analog Devices ADT75
    Prefix: 'adt75'
    Addresses scanned: none
    Datasheet: Publicly available at the Analog Devices website
               http://www.analog.com/adt75
  * ST Microelectronics STDS75
    Prefix: 'stds75'
    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
    Datasheet: Publicly available at the Texas Instruments website
               http://www.ti.com/product/tmp100
               http://www.ti.com/product/tmp101
               http://www.ti.com/product/tmp105
               http://www.ti.com/product/tmp112
               http://www.ti.com/product/tmp75
               http://www.ti.com/product/tmp75c
               http://www.ti.com/product/tmp175
               http://www.ti.com/product/tmp275
  * NXP LM75B
    Prefix: 'lm75b'
    Addresses scanned: none
    Datasheet: Publicly available at the NXP website
               http://www.nxp.com/documents/data_sheet/LM75B.pdf

Author: Frodo Looijaard <frodol@dds.nl>

Description
-----------

The LM75 implements one temperature sensor. Limits can be set through the
Overtemperature Shutdown register and Hysteresis register. Each value can be
set and read to half-degree accuracy.
An alarm is issued (usually to a connected LM78) when the temperature
gets higher then the Overtemperature Shutdown value; it stays on until
the temperature falls below the Hysteresis value.
All temperatures are in degrees Celsius, and are guaranteed within a
range of -55 to +125 degrees.

The driver caches the values for a period varying between 1 second for the
slowest chips and 125 ms for the fastest chips; reading it more often
will do no harm, but will return 'old' values.

The original LM75 was typically used in combination with LM78-like chips
on PC motherboards, to measure the temperature of the processor(s). Clones
are now used in various embedded designs.

The LM75 is essentially an industry standard; there may be other
LM75 clones not listed here, with or without various enhancements,
that are supported. The clones are not detected by the driver, unless
they reproduce the exact register tricks of the original LM75, and must
therefore be instantiated explicitly. Higher resolution up to 16-bit
is supported by this driver, other specific enhancements are not.

The LM77 is not supported, contrary to what we pretended for a long time.
Both chips are simply not compatible, value encoding differs.
