1Kernel driver via686a
2=====================
3
4Supported chips:
5  * Via VT82C686A, VT82C686B  Southbridge Integrated Hardware Monitor
6    Prefix: 'via686a'
7    Addresses scanned: ISA in PCI-space encoded address
8    Datasheet: On request through web form (http://www.via.com.tw/en/resources/download-center/)
9
10Authors:
11        Ky��sti M��lkki <kmalkki@cc.hut.fi>,
12        Mark D. Studebaker <mdsxyz123@yahoo.com>
13        Bob Dougherty <bobd@stanford.edu>
14        (Some conversion-factor data were contributed by
15        Jonathan Teh Soon Yew <j.teh@iname.com>
16        and Alex van Kaam <darkside@chello.nl>.)
17
18Module Parameters
19-----------------
20
21force_addr=0xaddr       Set the I/O base address. Useful for boards that
22                        don't set the address in the BIOS. Look for a BIOS
23                        upgrade before resorting to this. Does not do a
24                        PCI force; the via686a must still be present in lspci.
25                        Don't use this unless the driver complains that the
26                        base address is not set.
27                        Example: 'modprobe via686a force_addr=0x6000'
28
29Description
30-----------
31
32The driver does not distinguish between the chips and reports
33all as a 686A.
34
35The Via 686a southbridge has integrated hardware monitor functionality.
36It also has an I2C bus, but this driver only supports the hardware monitor.
37For the I2C bus driver, see <file:Documentation/i2c/busses/i2c-viapro>
38
39The Via 686a implements three temperature sensors, two fan rotation speed
40sensors, five voltage sensors and alarms.
41
42Temperatures are measured in degrees Celsius. An alarm is triggered once
43when the Overtemperature Shutdown limit is crossed; it is triggered again
44as soon as it drops below the hysteresis value.
45
46Fan rotation speeds are reported in RPM (rotations per minute). An alarm is
47triggered if the rotation speed has dropped below a programmable limit. Fan
48readings can be divided by a programmable divider (1, 2, 4 or 8) to give
49the readings more range or accuracy. Not all RPM values can accurately be
50represented, so some rounding is done. With a divider of 2, the lowest
51representable value is around 2600 RPM.
52
53Voltage sensors (also known as IN sensors) report their values in volts.
54An alarm is triggered if the voltage has crossed a programmable minimum
55or maximum limit. Voltages are internally scalled, so each voltage channel
56has a different resolution and range.
57
58If an alarm triggers, it will remain triggered until the hardware register
59is read at least once. This means that the cause for the alarm may
60already have disappeared! Note that in the current implementation, all
61hardware registers are read whenever any data is read (unless it is less
62than 1.5 seconds since the last update). This means that you can easily
63miss once-only alarms.
64
65The driver only updates its values each 1.5 seconds; reading it more often
66will do no harm, but will return 'old' values.
67
68Known Issues
69------------
70
71This driver handles sensors integrated in some VIA south bridges. It is
72possible that a motherboard maker used a VT82C686A/B chip as part of a
73product design but was not interested in its hardware monitoring features,
74in which case the sensor inputs will not be wired. This is the case of
75the Asus K7V, A7V and A7V133 motherboards, to name only a few of them.
76So, if you need the force_addr parameter, and end up with values which
77don't seem to make any sense, don't look any further: your chip is simply
78not wired for hardware monitoring.
79