• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1Kernel driver lm73
2==================
3
4Supported chips:
5  * Texas Instruments LM73
6    Prefix: 'lm73'
7    Addresses scanned: I2C 0x48, 0x49, 0x4a, 0x4c, 0x4d, and 0x4e
8    Datasheet: Publicly available at the Texas Instruments website
9               http://www.ti.com/product/lm73
10
11Author: Guillaume Ligneul <guillaume.ligneul@gmail.com>
12Documentation: Chris Verges <kg4ysn@gmail.com>
13
14
15Description
16-----------
17
18The LM73 is a digital temperature sensor.  All temperature values are
19given in degrees Celsius.
20
21Measurement Resolution Support
22------------------------------
23
24The LM73 supports four resolutions, defined in terms of degrees C per
25LSB: 0.25, 0.125, 0.0625, and 0.3125.  Changing the resolution mode
26affects the conversion time of the LM73's analog-to-digital converter.
27From userspace, the desired resolution can be specified as a function of
28conversion time via the 'update_interval' sysfs attribute for the
29device.  This attribute will normalize ranges of input values to the
30maximum times defined for the resolution in the datasheet.
31
32    Resolution    Conv. Time    Input Range
33    (C/LSB)       (msec)        (msec)
34    --------------------------------------
35    0.25          14             0..14
36    0.125         28            15..28
37    0.0625        56            29..56
38    0.03125       112           57..infinity
39    --------------------------------------
40
41The following examples show how the 'update_interval' attribute can be
42used to change the conversion time:
43
44    $ echo 0 > update_interval
45    $ cat update_interval
46    14
47    $ cat temp1_input
48    24250
49
50    $ echo 22 > update_interval
51    $ cat update_interval
52    28
53    $ cat temp1_input
54    24125
55
56    $ echo 56 > update_interval
57    $ cat update_interval
58    56
59    $ cat temp1_input
60    24062
61
62    $ echo 85 > update_interval
63    $ cat update_interval
64    112
65    $ cat temp1_input
66    24031
67
68As shown here, the lm73 driver automatically adjusts any user input for
69'update_interval' via a step function.  Reading back the
70'update_interval' value after a write operation will confirm the
71conversion time actively in use.
72
73Mathematically, the resolution can be derived from the conversion time
74via the following function:
75
76   g(x) = 0.250 * [log(x/14) / log(2)]
77
78where 'x' is the output from 'update_interval' and 'g(x)' is the
79resolution in degrees C per LSB.
80
81Alarm Support
82-------------
83
84The LM73 features a simple over-temperature alarm mechanism.  This
85feature is exposed via the sysfs attributes.
86
87The attributes 'temp1_max_alarm' and 'temp1_min_alarm' are flags
88provided by the LM73 that indicate whether the measured temperature has
89passed the 'temp1_max' and 'temp1_min' thresholds, respectively.  These
90values _must_ be read to clear the registers on the LM73.
91