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