mirror of
https://github.com/lm-sensors/lm-sensors.git
synced 2026-10-19 11:19:31 +00:00
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@3146 7894878c-1315-0410-8ee3-d5d059ff63e0
156 lines
8.0 KiB
Plaintext
156 lines
8.0 KiB
Plaintext
Kernel driver `via686a.o'
|
|
=========================
|
|
|
|
Status: Stable.
|
|
|
|
Supported chips:
|
|
* Via VT82C686A, VT82C686B Southbridge Integrated Hardware Monitor
|
|
Prefix: 'via686a'
|
|
Addresses scanned: ISA in PCI-space encoded address
|
|
Datasheet: On request through web form
|
|
(http://www.via.com.tw/en/support/datasheets/)
|
|
|
|
Authors: Kyösti Mälkki <kmalkki@cc.hut.fi>,
|
|
Mark D. Studebaker <mdsxyz123@yahoo.com>
|
|
Bob Dougherty <bobd@stanford.edu>
|
|
(Some conversion-factor data were contributed by
|
|
Jonathan Teh Soon Yew <j.teh@iname.com>
|
|
and Alex van Kaam <darkside@chello.nl>.)
|
|
|
|
Module Parameters
|
|
-----------------
|
|
|
|
force_addr=0xaddr Set the I/O base address. Useful for boards that
|
|
don't set the address in the BIOS. Look for a BIOS
|
|
upgrade before resorting to this. Does not do a
|
|
PCI force; the via686a must still be present in lspci.
|
|
Don't use this unless the driver complains that the
|
|
base address is not set.
|
|
Example: 'modprobe via686a force_addr=0x6000'
|
|
|
|
|
|
Description
|
|
-----------
|
|
|
|
The driver does not distinguish between the chips and reports
|
|
all as a 686A.
|
|
|
|
The Via 686a southbridge has integrated hardware monitor functionality.
|
|
It also has an I2C bus, but this driver only supports the hardware monitor.
|
|
For the I2C bus driver, see ../busses/i2c-viapro.
|
|
|
|
The Via 686a implements three temperature sensors, two fan rotation speed
|
|
sensors, five voltage sensors and alarms.
|
|
|
|
Temperatures are measured in degrees Celsius. An alarm is triggered once
|
|
when the Overtemperature Shutdown limit is crossed; it is triggered again
|
|
as soon as it drops below the hysteresis value.
|
|
|
|
Fan rotation speeds are reported in RPM (rotations per minute). An alarm is
|
|
triggered if the rotation speed has dropped below a programmable limit. Fan
|
|
readings can be divided by a programmable divider (1, 2, 4 or 8) to give
|
|
the readings more range or accuracy. Not all RPM values can accurately be
|
|
represented, so some rounding is done. With a divider of 2, the lowest
|
|
representable value is around 2600 RPM.
|
|
|
|
Voltage sensors (also known as IN sensors) report their values in volts.
|
|
An alarm is triggered if the voltage has crossed a programmable minimum
|
|
or maximum limit. Voltages are internally scalled, so each voltage channel
|
|
has a different resolution and range.
|
|
|
|
If an alarm triggers, it will remain triggered until the hardware register
|
|
is read at least once. This means that the cause for the alarm may
|
|
already have disappeared! Note that in the current implementation, all
|
|
hardware registers are read whenever any data is read (unless it is less
|
|
than 1.5 seconds since the last update). This means that you can easily
|
|
miss once-only alarms.
|
|
|
|
The driver only updates its values each 1.5 seconds; reading it more often
|
|
will do no harm, but will return 'old' values.
|
|
|
|
|
|
Known Issues
|
|
------------
|
|
|
|
This driver handles sensors integrated in some VIA south bridges. It is
|
|
possible that a motherboard maker used a VT82C686A/B chip as part of a
|
|
product design but was not interested in its hardware monitoring features,
|
|
in which case the sensor inputs will not be wired. This is the case of
|
|
the Asus K7V, A7V and A7V133 motherboards, to name only a few of them.
|
|
So, if you need the force_addr parameter, and end up with values which
|
|
don't seem to make any sense, don't look any further: your chip is simply
|
|
not wired for hardware monitoring.
|
|
|
|
|
|
Chip Features
|
|
-------------
|
|
|
|
Chip `via686a'
|
|
LABEL LABEL CLASS COMPUTE CLASS ACCESS MAGNITUDE
|
|
in0 NONE NONE R 2
|
|
in1 NONE NONE R 2
|
|
in2 NONE NONE R 2
|
|
in3 NONE NONE R 2
|
|
in4 NONE NONE R 2
|
|
in0_min in0 in0 RW 2
|
|
in1_min in1 in1 RW 2
|
|
in2_min in2 in2 RW 2
|
|
in3_min in3 in3 RW 2
|
|
in4_min in3 in3 RW 2
|
|
in0_max in0 in0 RW 2
|
|
in1_max in1 in1 RW 2
|
|
in2_max in2 in2 RW 2
|
|
in3_max in3 in3 RW 2
|
|
in4_max in3 in3 RW 2
|
|
fan1 NONE NONE R 0
|
|
fan2 NONE NONE R 0
|
|
fan1_min fan1 fan1 RW 0
|
|
fan2_min fan2 fan2 RW 0
|
|
temp NONE NONE R 1
|
|
temp_hyst temp temp RW 1
|
|
temp_over temp temp RW 1
|
|
temp2 NONE NONE R 1
|
|
temp2_hyst temp temp RW 1
|
|
temp2_over temp temp RW 1
|
|
temp3 NONE NONE R 1
|
|
temp3_hyst temp temp RW 1
|
|
temp3_over temp temp RW 1
|
|
fan1_div fan1 NONE RW 0
|
|
fan2_div fan2 NONE RW 0
|
|
alarms NONE NONE R 0
|
|
|
|
LABEL FEATURE SYMBOL SYSCTL FILE:NR
|
|
in0 SENSORS_VIA686A_IN0 in0:3
|
|
in1 SENSORS_VIA686A_IN1 in1:3
|
|
in2 SENSORS_VIA686A_IN2 in2:3
|
|
in3 SENSORS_VIA686A_IN3 in3:3
|
|
in4 SENSORS_VIA686A_IN4 in4:3
|
|
in0_min SENSORS_VIA686A_IN0_MIN in0:1
|
|
in1_min SENSORS_VIA686A_IN1_MIN in1:1
|
|
in2_min SENSORS_VIA686A_IN2_MIN in2:1
|
|
in3_min SENSORS_VIA686A_IN3_MIN in3:1
|
|
in4_min SENSORS_VIA686A_IN4_MIN in4:1
|
|
in0_max SENSORS_VIA686A_IN0_MAX in0:2
|
|
in1_max SENSORS_VIA686A_IN1_MAX in1:2
|
|
in2_max SENSORS_VIA686A_IN2_MAX in2:2
|
|
in3_max SENSORS_VIA686A_IN3_MAX in3:2
|
|
in4_max SENSORS_VIA686A_IN4_MAX in4:2
|
|
fan1 SENSORS_VIA686A_FAN1 fan1:2
|
|
fan2 SENSORS_VIA686A_FAN2 fan2:2
|
|
fan1_min SENSORS_VIA686A_FAN1_MIN fan1:1
|
|
fan2_min SENSORS_VIA686A_FAN2_MIN fan2:1
|
|
temp SENSORS_VIA686A_TEMP temp:3
|
|
temp_hyst SENSORS_VIA686A_TEMP_HYST temp:2
|
|
temp_over SENSORS_VIA686A_TEMP_OVER temp:1
|
|
temp2 SENSORS_VIA686A_TEMP2 temp2:3
|
|
temp2_hyst SENSORS_VIA686A_TEMP2_HYST temp2:2
|
|
temp2_over SENSORS_VIA686A_TEMP2_OVER temp2:1
|
|
temp3 SENSORS_VIA686A_TEMP3 temp3:3
|
|
temp3_hyst SENSORS_VIA686A_TEMP3_HYST temp3:2
|
|
temp3_over SENSORS_VIA686A_TEMP3_OVER temp3:1
|
|
fan1_div SENSORS_VIA686A_FAN1_DIV fan_div:1
|
|
fan2_div SENSORS_VIA686A_FAN2_DIV fan_div:2
|
|
alarms SENSORS_VIA686A_ALARMS alarms:1
|
|
|
|
|