xref: /openbmc/linux/Documentation/hwmon/lm77.rst (revision 3dc4b6fb)
1Kernel driver lm77
2==================
3
4Supported chips:
5
6  * National Semiconductor LM77
7
8    Prefix: 'lm77'
9
10    Addresses scanned: I2C 0x48 - 0x4b
11
12    Datasheet: Publicly available at the National Semiconductor website
13
14	       http://www.national.com/
15
16
17Author: Andras BALI <drewie@freemail.hu>
18
19Description
20-----------
21
22The LM77 implements one temperature sensor. The temperature
23sensor incorporates a band-gap type temperature sensor,
2410-bit ADC, and a digital comparator with user-programmable upper
25and lower limit values.
26
27The LM77 implements 3 limits: low (temp1_min), high (temp1_max) and
28critical (temp1_crit.) It also implements an hysteresis mechanism which
29applies to all 3 limits. The relative difference is stored in a single
30register on the chip, which means that the relative difference between
31the limit and its hysteresis is always the same for all 3 limits.
32
33This implementation detail implies the following:
34
35* When setting a limit, its hysteresis will automatically follow, the
36  difference staying unchanged. For example, if the old critical limit
37  was 80 degrees C, and the hysteresis was 75 degrees C, and you change
38  the critical limit to 90 degrees C, then the hysteresis will
39  automatically change to 85 degrees C.
40* All 3 hysteresis can't be set independently. We decided to make
41  temp1_crit_hyst writable, while temp1_min_hyst and temp1_max_hyst are
42  read-only. Setting temp1_crit_hyst writes the difference between
43  temp1_crit_hyst and temp1_crit into the chip, and the same relative
44  hysteresis applies automatically to the low and high limits.
45* The limits should be set before the hysteresis.
46