1*4882a593SmuzhiyunKernel driver via686a 2*4882a593Smuzhiyun===================== 3*4882a593Smuzhiyun 4*4882a593SmuzhiyunSupported chips: 5*4882a593Smuzhiyun 6*4882a593Smuzhiyun * Via VT82C686A, VT82C686B Southbridge Integrated Hardware Monitor 7*4882a593Smuzhiyun 8*4882a593Smuzhiyun Prefix: 'via686a' 9*4882a593Smuzhiyun 10*4882a593Smuzhiyun Addresses scanned: ISA in PCI-space encoded address 11*4882a593Smuzhiyun 12*4882a593Smuzhiyun Datasheet: On request through web form (http://www.via.com.tw/en/resources/download-center/) 13*4882a593Smuzhiyun 14*4882a593SmuzhiyunAuthors: 15*4882a593Smuzhiyun - Kyösti Mälkki <kmalkki@cc.hut.fi>, 16*4882a593Smuzhiyun - Mark D. Studebaker <mdsxyz123@yahoo.com> 17*4882a593Smuzhiyun - Bob Dougherty <bobd@stanford.edu> 18*4882a593Smuzhiyun - (Some conversion-factor data were contributed by 19*4882a593Smuzhiyun - Jonathan Teh Soon Yew <j.teh@iname.com> 20*4882a593Smuzhiyun - and Alex van Kaam <darkside@chello.nl>.) 21*4882a593Smuzhiyun 22*4882a593SmuzhiyunModule Parameters 23*4882a593Smuzhiyun----------------- 24*4882a593Smuzhiyun 25*4882a593Smuzhiyun======================= ======================================================= 26*4882a593Smuzhiyunforce_addr=0xaddr Set the I/O base address. Useful for boards that 27*4882a593Smuzhiyun don't set the address in the BIOS. Look for a BIOS 28*4882a593Smuzhiyun upgrade before resorting to this. Does not do a 29*4882a593Smuzhiyun PCI force; the via686a must still be present in lspci. 30*4882a593Smuzhiyun Don't use this unless the driver complains that the 31*4882a593Smuzhiyun base address is not set. 32*4882a593Smuzhiyun Example: 'modprobe via686a force_addr=0x6000' 33*4882a593Smuzhiyun======================= ======================================================= 34*4882a593Smuzhiyun 35*4882a593SmuzhiyunDescription 36*4882a593Smuzhiyun----------- 37*4882a593Smuzhiyun 38*4882a593SmuzhiyunThe driver does not distinguish between the chips and reports 39*4882a593Smuzhiyunall as a 686A. 40*4882a593Smuzhiyun 41*4882a593SmuzhiyunThe Via 686a southbridge has integrated hardware monitor functionality. 42*4882a593SmuzhiyunIt also has an I2C bus, but this driver only supports the hardware monitor. 43*4882a593SmuzhiyunFor the I2C bus driver, see <file:Documentation/i2c/busses/i2c-viapro.rst> 44*4882a593Smuzhiyun 45*4882a593SmuzhiyunThe Via 686a implements three temperature sensors, two fan rotation speed 46*4882a593Smuzhiyunsensors, five voltage sensors and alarms. 47*4882a593Smuzhiyun 48*4882a593SmuzhiyunTemperatures are measured in degrees Celsius. An alarm is triggered once 49*4882a593Smuzhiyunwhen the Overtemperature Shutdown limit is crossed; it is triggered again 50*4882a593Smuzhiyunas soon as it drops below the hysteresis value. 51*4882a593Smuzhiyun 52*4882a593SmuzhiyunFan rotation speeds are reported in RPM (rotations per minute). An alarm is 53*4882a593Smuzhiyuntriggered if the rotation speed has dropped below a programmable limit. Fan 54*4882a593Smuzhiyunreadings can be divided by a programmable divider (1, 2, 4 or 8) to give 55*4882a593Smuzhiyunthe readings more range or accuracy. Not all RPM values can accurately be 56*4882a593Smuzhiyunrepresented, so some rounding is done. With a divider of 2, the lowest 57*4882a593Smuzhiyunrepresentable value is around 2600 RPM. 58*4882a593Smuzhiyun 59*4882a593SmuzhiyunVoltage sensors (also known as IN sensors) report their values in volts. 60*4882a593SmuzhiyunAn alarm is triggered if the voltage has crossed a programmable minimum 61*4882a593Smuzhiyunor maximum limit. Voltages are internally scalled, so each voltage channel 62*4882a593Smuzhiyunhas a different resolution and range. 63*4882a593Smuzhiyun 64*4882a593SmuzhiyunIf an alarm triggers, it will remain triggered until the hardware register 65*4882a593Smuzhiyunis read at least once. This means that the cause for the alarm may 66*4882a593Smuzhiyunalready have disappeared! Note that in the current implementation, all 67*4882a593Smuzhiyunhardware registers are read whenever any data is read (unless it is less 68*4882a593Smuzhiyunthan 1.5 seconds since the last update). This means that you can easily 69*4882a593Smuzhiyunmiss once-only alarms. 70*4882a593Smuzhiyun 71*4882a593SmuzhiyunThe driver only updates its values each 1.5 seconds; reading it more often 72*4882a593Smuzhiyunwill do no harm, but will return 'old' values. 73*4882a593Smuzhiyun 74*4882a593SmuzhiyunKnown Issues 75*4882a593Smuzhiyun------------ 76*4882a593Smuzhiyun 77*4882a593SmuzhiyunThis driver handles sensors integrated in some VIA south bridges. It is 78*4882a593Smuzhiyunpossible that a motherboard maker used a VT82C686A/B chip as part of a 79*4882a593Smuzhiyunproduct design but was not interested in its hardware monitoring features, 80*4882a593Smuzhiyunin which case the sensor inputs will not be wired. This is the case of 81*4882a593Smuzhiyunthe Asus K7V, A7V and A7V133 motherboards, to name only a few of them. 82*4882a593SmuzhiyunSo, if you need the force_addr parameter, and end up with values which 83*4882a593Smuzhiyundon't seem to make any sense, don't look any further: your chip is simply 84*4882a593Smuzhiyunnot wired for hardware monitoring. 85