Kernel driver `vt1211.o' ========================= Status: Beta. Supported chips: * Via VT8231 South Bridge Addresses scanned: none, address read from PCI space Authors: Mark D. Studebaker Module Parameters ----------------- force_addr=0xaddr Set the I/O base address. Useful for boards that don't set the address in the BIOS. Don't use this unless the driver complains that the base address is not set. Example: 'modprobe vt8231 force_addr=0x6000' Description ----------- The Via VT8231 South Bridge contains voltage/temperature monitoring and PWM control circuitry for two fans. We define the sensors as follows. Somewhat convoluted to minimize changes from via686a. Temp1 and in6 are unimplemented in the vt8231 chip but are included in the driver. Sensor Voltage Mode Temp Mode uch_config bit -------- ------------ --------- -------------- Reading 1 temp3 Reading 3 temp1 UCH1/Reading2 in0 temp2 0x04 (4) UCH2 in1 temp4 0x08 (8) UCH3 in2 temp5 0x10 (16) UCH4 in3 temp6 0x20 (32) UCH5 in4 temp7 0x40 (64) 3.3V in5 -12V in6 As noted above, 5 of the sensors are "universal channels" and can be set for either voltage or temperature. Set the uch_config bit (in /proc) to 0 for voltage and 1 for temperature. Voltages will read 0 if set for temperature. Temperatures will read a really low number if set for voltage. 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. This is important because some FANs report only one 'tick' each rotation, while others report two - making all readings twice as high. 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. PWM values are from 0 to 100%. The first value in the /proc entry is the percentage; the second is the enable (0 or 1). 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 lm_sensors project gratefully acknowledges the support of Via in the development of this driver.