1 |
62 |
marcus.erl |
Kernel driver via686a
|
2 |
|
|
=====================
|
3 |
|
|
|
4 |
|
|
Supported 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/support/datasheets/)
|
9 |
|
|
|
10 |
|
|
Authors:
|
11 |
|
|
Kyösti Mälkki ,
|
12 |
|
|
Mark D. Studebaker
|
13 |
|
|
Bob Dougherty
|
14 |
|
|
(Some conversion-factor data were contributed by
|
15 |
|
|
Jonathan Teh Soon Yew
|
16 |
|
|
and Alex van Kaam .)
|
17 |
|
|
|
18 |
|
|
Module Parameters
|
19 |
|
|
-----------------
|
20 |
|
|
|
21 |
|
|
force_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 |
|
|
|
29 |
|
|
Description
|
30 |
|
|
-----------
|
31 |
|
|
|
32 |
|
|
The driver does not distinguish between the chips and reports
|
33 |
|
|
all as a 686A.
|
34 |
|
|
|
35 |
|
|
The Via 686a southbridge has integrated hardware monitor functionality.
|
36 |
|
|
It also has an I2C bus, but this driver only supports the hardware monitor.
|
37 |
|
|
For the I2C bus driver, see
|
38 |
|
|
|
39 |
|
|
The Via 686a implements three temperature sensors, two fan rotation speed
|
40 |
|
|
sensors, five voltage sensors and alarms.
|
41 |
|
|
|
42 |
|
|
Temperatures are measured in degrees Celsius. An alarm is triggered once
|
43 |
|
|
when the Overtemperature Shutdown limit is crossed; it is triggered again
|
44 |
|
|
as soon as it drops below the hysteresis value.
|
45 |
|
|
|
46 |
|
|
Fan rotation speeds are reported in RPM (rotations per minute). An alarm is
|
47 |
|
|
triggered if the rotation speed has dropped below a programmable limit. Fan
|
48 |
|
|
readings can be divided by a programmable divider (1, 2, 4 or 8) to give
|
49 |
|
|
the readings more range or accuracy. Not all RPM values can accurately be
|
50 |
|
|
represented, so some rounding is done. With a divider of 2, the lowest
|
51 |
|
|
representable value is around 2600 RPM.
|
52 |
|
|
|
53 |
|
|
Voltage sensors (also known as IN sensors) report their values in volts.
|
54 |
|
|
An alarm is triggered if the voltage has crossed a programmable minimum
|
55 |
|
|
or maximum limit. Voltages are internally scalled, so each voltage channel
|
56 |
|
|
has a different resolution and range.
|
57 |
|
|
|
58 |
|
|
If an alarm triggers, it will remain triggered until the hardware register
|
59 |
|
|
is read at least once. This means that the cause for the alarm may
|
60 |
|
|
already have disappeared! Note that in the current implementation, all
|
61 |
|
|
hardware registers are read whenever any data is read (unless it is less
|
62 |
|
|
than 1.5 seconds since the last update). This means that you can easily
|
63 |
|
|
miss once-only alarms.
|
64 |
|
|
|
65 |
|
|
The driver only updates its values each 1.5 seconds; reading it more often
|
66 |
|
|
will do no harm, but will return 'old' values.
|
67 |
|
|
|
68 |
|
|
Known Issues
|
69 |
|
|
------------
|
70 |
|
|
|
71 |
|
|
This driver handles sensors integrated in some VIA south bridges. It is
|
72 |
|
|
possible that a motherboard maker used a VT82C686A/B chip as part of a
|
73 |
|
|
product design but was not interested in its hardware monitoring features,
|
74 |
|
|
in which case the sensor inputs will not be wired. This is the case of
|
75 |
|
|
the Asus K7V, A7V and A7V133 motherboards, to name only a few of them.
|
76 |
|
|
So, if you need the force_addr parameter, and end up with values which
|
77 |
|
|
don't seem to make any sense, don't look any further: your chip is simply
|
78 |
|
|
not wired for hardware monitoring.
|