0001 Kernel driver via686a
0002 =====================
0003
0004 Supported chips:
0005
0006 * Via VT82C686A, VT82C686B Southbridge Integrated Hardware Monitor
0007
0008 Prefix: 'via686a'
0009
0010 Addresses scanned: ISA in PCI-space encoded address
0011
0012 Datasheet: On request through web form (http://www.via.com.tw/en/resources/download-center/)
0013
0014 Authors:
0015 - Kyösti Mälkki <kmalkki@cc.hut.fi>,
0016 - Mark D. Studebaker <mdsxyz123@yahoo.com>
0017 - Bob Dougherty <bobd@stanford.edu>
0018 - (Some conversion-factor data were contributed by
0019 - Jonathan Teh Soon Yew <j.teh@iname.com>
0020 - and Alex van Kaam <darkside@chello.nl>.)
0021
0022 Module Parameters
0023 -----------------
0024
0025 ======================= =======================================================
0026 force_addr=0xaddr Set the I/O base address. Useful for boards that
0027 don't set the address in the BIOS. Look for a BIOS
0028 upgrade before resorting to this. Does not do a
0029 PCI force; the via686a must still be present in lspci.
0030 Don't use this unless the driver complains that the
0031 base address is not set.
0032 Example: 'modprobe via686a force_addr=0x6000'
0033 ======================= =======================================================
0034
0035 Description
0036 -----------
0037
0038 The driver does not distinguish between the chips and reports
0039 all as a 686A.
0040
0041 The Via 686a southbridge has integrated hardware monitor functionality.
0042 It also has an I2C bus, but this driver only supports the hardware monitor.
0043 For the I2C bus driver, see <file:Documentation/i2c/busses/i2c-viapro.rst>
0044
0045 The Via 686a implements three temperature sensors, two fan rotation speed
0046 sensors, five voltage sensors and alarms.
0047
0048 Temperatures are measured in degrees Celsius. An alarm is triggered once
0049 when the Overtemperature Shutdown limit is crossed; it is triggered again
0050 as soon as it drops below the hysteresis value.
0051
0052 Fan rotation speeds are reported in RPM (rotations per minute). An alarm is
0053 triggered if the rotation speed has dropped below a programmable limit. Fan
0054 readings can be divided by a programmable divider (1, 2, 4 or 8) to give
0055 the readings more range or accuracy. Not all RPM values can accurately be
0056 represented, so some rounding is done. With a divider of 2, the lowest
0057 representable value is around 2600 RPM.
0058
0059 Voltage sensors (also known as IN sensors) report their values in volts.
0060 An alarm is triggered if the voltage has crossed a programmable minimum
0061 or maximum limit. Voltages are internally scalled, so each voltage channel
0062 has a different resolution and range.
0063
0064 If an alarm triggers, it will remain triggered until the hardware register
0065 is read at least once. This means that the cause for the alarm may
0066 already have disappeared! Note that in the current implementation, all
0067 hardware registers are read whenever any data is read (unless it is less
0068 than 1.5 seconds since the last update). This means that you can easily
0069 miss once-only alarms.
0070
0071 The driver only updates its values each 1.5 seconds; reading it more often
0072 will do no harm, but will return 'old' values.
0073
0074 Known Issues
0075 ------------
0076
0077 This driver handles sensors integrated in some VIA south bridges. It is
0078 possible that a motherboard maker used a VT82C686A/B chip as part of a
0079 product design but was not interested in its hardware monitoring features,
0080 in which case the sensor inputs will not be wired. This is the case of
0081 the Asus K7V, A7V and A7V133 motherboards, to name only a few of them.
0082 So, if you need the force_addr parameter, and end up with values which
0083 don't seem to make any sense, don't look any further: your chip is simply
0084 not wired for hardware monitoring.