Back to home page

OSCL-LXR

 
 

    


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.