| Kernel driver abituguru | |
| ======================= | |
| Supported chips: | |
| * Abit uGuru revision 1 & 2 (Hardware Monitor part only) | |
| Prefix: 'abituguru' | |
| Addresses scanned: ISA 0x0E0 | |
| Datasheet: Not available, this driver is based on reverse engineering. | |
| A "Datasheet" has been written based on the reverse engineering it | |
| should be available in the same dir as this file under the name | |
| abituguru-datasheet. | |
| Note: | |
| The uGuru is a microcontroller with onboard firmware which programs | |
| it to behave as a hwmon IC. There are many different revisions of the | |
| firmware and thus effectivly many different revisions of the uGuru. | |
| Below is an incomplete list with which revisions are used for which | |
| Motherboards: | |
| uGuru 1.00 ~ 1.24 (AI7, KV8-MAX3, AN7) (1) | |
| uGuru 2.0.0.0 ~ 2.0.4.2 (KV8-PRO) | |
| uGuru 2.1.0.0 ~ 2.1.2.8 (AS8, AV8, AA8, AG8, AA8XE, AX8) | |
| uGuru 2.2.0.0 ~ 2.2.0.6 (AA8 Fatal1ty) | |
| uGuru 2.3.0.0 ~ 2.3.0.9 (AN8) | |
| uGuru 3.0.0.0 ~ 3.0.x.x (AW8, AL8, AT8, NI8 SLI, AT8 32X, AN8 32X, | |
| AW9D-MAX) (2) | |
| 1) For revisions 2 and 3 uGuru's the driver can autodetect the | |
| sensortype (Volt or Temp) for bank1 sensors, for revision 1 uGuru's | |
| this doesnot always work. For these uGuru's the autodection can | |
| be overriden with the bank1_types module param. For all 3 known | |
| revison 1 motherboards the correct use of this param is: | |
| bank1_types=1,1,0,0,0,0,0,2,0,0,0,0,2,0,0,1 | |
| You may also need to specify the fan_sensors option for these boards | |
| fan_sensors=5 | |
| 2) There is a separate abituguru3 driver for these motherboards, | |
| the abituguru (without the 3 !) driver will not work on these | |
| motherboards (and visa versa)! | |
| Authors: | |
| Hans de Goede <j.w.r.degoede@hhs.nl>, | |
| (Initial reverse engineering done by Olle Sandberg | |
| <ollebull@gmail.com>) | |
| Module Parameters | |
| ----------------- | |
| * force: bool Force detection. Note this parameter only causes the | |
| detection to be skipped, and thus the insmod to | |
| succeed. If the uGuru can't be read the actual hwmon | |
| driver will not load and thus no hwmon device will get | |
| registered. | |
| * bank1_types: int[] Bank1 sensortype autodetection override: | |
| -1 autodetect (default) | |
| 0 volt sensor | |
| 1 temp sensor | |
| 2 not connected | |
| * fan_sensors: int Tell the driver how many fan speed sensors there are | |
| on your motherboard. Default: 0 (autodetect). | |
| * pwms: int Tell the driver how many fan speed controls (fan | |
| pwms) your motherboard has. Default: 0 (autodetect). | |
| * verbose: int How verbose should the driver be? (0-3): | |
| 0 normal output | |
| 1 + verbose error reporting | |
| 2 + sensors type probing info (default) | |
| 3 + retryable error reporting | |
| Default: 2 (the driver is still in the testing phase) | |
| Notice if you need any of the first three options above please insmod the | |
| driver with verbose set to 3 and mail me <j.w.r.degoede@hhs.nl> the output of: | |
| dmesg | grep abituguru | |
| Description | |
| ----------- | |
| This driver supports the hardware monitoring features of the first and | |
| second revision of the Abit uGuru chip found on Abit uGuru featuring | |
| motherboards (most modern Abit motherboards). | |
| The first and second revision of the uGuru chip in reality is a Winbond | |
| W83L950D in disguise (despite Abit claiming it is "a new microprocessor | |
| designed by the ABIT Engineers"). Unfortunately this doesn't help since the | |
| W83L950D is a generic microcontroller with a custom Abit application running | |
| on it. | |
| Despite Abit not releasing any information regarding the uGuru, Olle | |
| Sandberg <ollebull@gmail.com> has managed to reverse engineer the sensor part | |
| of the uGuru. Without his work this driver would not have been possible. | |
| Known Issues | |
| ------------ | |
| The voltage and frequency control parts of the Abit uGuru are not supported. |