[PATCH] I2C: documentation update 2/3
[linux-2.6] / Documentation / i2c / chips / lm78
1 Kernel driver lm78
2 ==================
3
4 Supported chips:
5   * National Semiconductor LM78
6     Prefix: 'lm78'
7     Addresses scanned: I2C 0x20 - 0x2f, ISA 0x290 (8 I/O ports)
8     Datasheet: Publicly available at the National Semiconductor website
9                http://www.national.com/
10   * National Semiconductor LM78-J
11     Prefix: 'lm78-j'
12     Addresses scanned: I2C 0x20 - 0x2f, ISA 0x290 (8 I/O ports)
13     Datasheet: Publicly available at the National Semiconductor website
14                http://www.national.com/
15   * National Semiconductor LM79
16     Prefix: 'lm79'
17     Addresses scanned: I2C 0x20 - 0x2f, ISA 0x290 (8 I/O ports)
18     Datasheet: Publicly available at the National Semiconductor website
19                http://www.national.com/
20
21 Author: Frodo Looijaard <frodol@dds.nl>
22
23 Description
24 -----------
25
26 This driver implements support for the National Semiconductor LM78, LM78-J
27 and LM79. They are described as 'Microprocessor System Hardware Monitors'.
28
29 There is almost no difference between the three supported chips. Functionally,
30 the LM78 and LM78-J are exactly identical. The LM79 has one more VID line,
31 which is used to report the lower voltages newer Pentium processors use.
32 From here on, LM7* means either of these three types.
33
34 The LM7* implements one temperature sensor, three fan rotation speed sensors,
35 seven voltage sensors, VID lines, alarms, and some miscellaneous stuff.
36
37 Temperatures are measured in degrees Celsius. An alarm is triggered once
38 when the Overtemperature Shutdown limit is crossed; it is triggered again
39 as soon as it drops below the Hysteresis value. A more useful behavior
40 can be found by setting the Hysteresis value to +127 degrees Celsius; in
41 this case, alarms are issued during all the time when the actual temperature
42 is above the Overtemperature Shutdown value. Measurements are guaranteed
43 between -55 and +125 degrees, with a resolution of 1 degree.
44
45 Fan rotation speeds are reported in RPM (rotations per minute). An alarm is
46 triggered if the rotation speed has dropped below a programmable limit. Fan
47 readings can be divided by a programmable divider (1, 2, 4 or 8) to give
48 the readings more range or accuracy. Not all RPM values can accurately be
49 represented, so some rounding is done. With a divider of 2, the lowest
50 representable value is around 2600 RPM.
51
52 Voltage sensors (also known as IN sensors) report their values in volts.
53 An alarm is triggered if the voltage has crossed a programmable minimum
54 or maximum limit. Note that minimum in this case always means 'closest to
55 zero'; this is important for negative voltage measurements. All voltage
56 inputs can measure voltages between 0 and 4.08 volts, with a resolution
57 of 0.016 volt.
58
59 The VID lines encode the core voltage value: the voltage level your processor
60 should work with. This is hardcoded by the mainboard and/or processor itself.
61 It is a value in volts. When it is unconnected, you will often find the
62 value 3.50 V here.
63
64 In addition to the alarms described above, there are a couple of additional
65 ones. There is a BTI alarm, which gets triggered when an external chip has
66 crossed its limits. Usually, this is connected to all LM75 chips; if at
67 least one crosses its limits, this bit gets set. The CHAS alarm triggers
68 if your computer case is open. The FIFO alarms should never trigger; it
69 indicates an internal error. The SMI_IN alarm indicates some other chip
70 has triggered an SMI interrupt. As we do not use SMI interrupts at all,
71 this condition usually indicates there is a problem with some other
72 device.
73
74 If an alarm triggers, it will remain triggered until the hardware register
75 is read at least once. This means that the cause for the alarm may
76 already have disappeared! Note that in the current implementation, all
77 hardware registers are read whenever any data is read (unless it is less
78 than 1.5 seconds since the last update). This means that you can easily
79 miss once-only alarms.
80
81 The LM7* only updates its values each 1.5 seconds; reading it more often
82 will do no harm, but will return 'old' values.