| Hans de Goede | f2b84bb | 2006-06-04 20:22:24 +0200 | [diff] [blame] | 1 | Kernel driver abituguru | 
|  | 2 | ======================= | 
|  | 3 |  | 
|  | 4 | Supported chips: | 
| Hans de Goede | 3faa1ff | 2007-06-17 00:28:45 +0200 | [diff] [blame] | 5 | * Abit uGuru revision 1 & 2 (Hardware Monitor part only) | 
| Hans de Goede | f2b84bb | 2006-06-04 20:22:24 +0200 | [diff] [blame] | 6 | Prefix: 'abituguru' | 
|  | 7 | Addresses scanned: ISA 0x0E0 | 
|  | 8 | Datasheet: Not available, this driver is based on reverse engineering. | 
|  | 9 | A "Datasheet" has been written based on the reverse engineering it | 
|  | 10 | should be available in the same dir as this file under the name | 
|  | 11 | abituguru-datasheet. | 
| Hans de Goede | 5cab828 | 2006-07-05 18:09:09 +0200 | [diff] [blame] | 12 | Note: | 
|  | 13 | The uGuru is a microcontroller with onboard firmware which programs | 
|  | 14 | it to behave as a hwmon IC. There are many different revisions of the | 
|  | 15 | firmware and thus effectivly many different revisions of the uGuru. | 
|  | 16 | Below is an incomplete list with which revisions are used for which | 
|  | 17 | Motherboards: | 
|  | 18 | uGuru 1.00    ~ 1.24    (AI7, KV8-MAX3, AN7) (1) | 
|  | 19 | uGuru 2.0.0.0 ~ 2.0.4.2 (KV8-PRO) | 
|  | 20 | uGuru 2.1.0.0 ~ 2.1.2.8 (AS8, AV8, AA8, AG8, AA8XE, AX8) | 
|  | 21 | uGuru 2.2.0.0 ~ 2.2.0.6 (AA8 Fatal1ty) | 
|  | 22 | uGuru 2.3.0.0 ~ 2.3.0.9 (AN8) | 
| Hans de Goede | 3faa1ff | 2007-06-17 00:28:45 +0200 | [diff] [blame] | 23 | uGuru 3.0.0.0 ~ 3.0.x.x (AW8, AL8, AT8, NI8 SLI, AT8 32X, AN8 32X, | 
|  | 24 | AW9D-MAX) (2) | 
| Hans de Goede | 5cab828 | 2006-07-05 18:09:09 +0200 | [diff] [blame] | 25 | 1) For revisions 2 and 3 uGuru's the driver can autodetect the | 
|  | 26 | sensortype (Volt or Temp) for bank1 sensors, for revision 1 uGuru's | 
|  | 27 | this doesnot always work. For these uGuru's the autodection can | 
|  | 28 | be overriden with the bank1_types module param. For all 3 known | 
|  | 29 | revison 1 motherboards the correct use of this param is: | 
|  | 30 | bank1_types=1,1,0,0,0,0,0,2,0,0,0,0,2,0,0,1 | 
|  | 31 | You may also need to specify the fan_sensors option for these boards | 
|  | 32 | fan_sensors=5 | 
| Daniel Mack | 3ad2f3f | 2010-02-03 08:01:28 +0800 | [diff] [blame^] | 33 | 2) There is a separate abituguru3 driver for these motherboards, | 
| Hans de Goede | 3faa1ff | 2007-06-17 00:28:45 +0200 | [diff] [blame] | 34 | the abituguru (without the 3 !) driver will not work on these | 
|  | 35 | motherboards (and visa versa)! | 
| Hans de Goede | f2b84bb | 2006-06-04 20:22:24 +0200 | [diff] [blame] | 36 |  | 
|  | 37 | Authors: | 
|  | 38 | Hans de Goede <j.w.r.degoede@hhs.nl>, | 
|  | 39 | (Initial reverse engineering done by Olle Sandberg | 
|  | 40 | <ollebull@gmail.com>) | 
|  | 41 |  | 
|  | 42 |  | 
|  | 43 | Module Parameters | 
|  | 44 | ----------------- | 
|  | 45 |  | 
|  | 46 | * force: bool		Force detection. Note this parameter only causes the | 
| Hans de Goede | 3faa1ff | 2007-06-17 00:28:45 +0200 | [diff] [blame] | 47 | detection to be skipped, and thus the insmod to | 
|  | 48 | succeed. If the uGuru can't be read the actual hwmon | 
|  | 49 | driver will not load and thus no hwmon device will get | 
|  | 50 | registered. | 
| Hans de Goede | 5cab828 | 2006-07-05 18:09:09 +0200 | [diff] [blame] | 51 | * bank1_types: int[]	Bank1 sensortype autodetection override: | 
|  | 52 | -1 autodetect (default) | 
|  | 53 | 0 volt sensor | 
|  | 54 | 1 temp sensor | 
|  | 55 | 2 not connected | 
| Hans de Goede | f2b84bb | 2006-06-04 20:22:24 +0200 | [diff] [blame] | 56 | * fan_sensors: int	Tell the driver how many fan speed sensors there are | 
|  | 57 | on your motherboard. Default: 0 (autodetect). | 
|  | 58 | * pwms: int		Tell the driver how many fan speed controls (fan | 
|  | 59 | pwms) your motherboard has. Default: 0 (autodetect). | 
|  | 60 | * verbose: int		How verbose should the driver be? (0-3): | 
|  | 61 | 0 normal output | 
|  | 62 | 1 + verbose error reporting | 
| Hans de Goede | 5cab828 | 2006-07-05 18:09:09 +0200 | [diff] [blame] | 63 | 2 + sensors type probing info (default) | 
| Hans de Goede | f2b84bb | 2006-06-04 20:22:24 +0200 | [diff] [blame] | 64 | 3 + retryable error reporting | 
|  | 65 | Default: 2 (the driver is still in the testing phase) | 
|  | 66 |  | 
|  | 67 | Notice if you need any of the first three options above please insmod the | 
|  | 68 | driver with verbose set to 3 and mail me <j.w.r.degoede@hhs.nl> the output of: | 
|  | 69 | dmesg | grep abituguru | 
|  | 70 |  | 
|  | 71 |  | 
|  | 72 | Description | 
|  | 73 | ----------- | 
|  | 74 |  | 
| Hans de Goede | 3faa1ff | 2007-06-17 00:28:45 +0200 | [diff] [blame] | 75 | This driver supports the hardware monitoring features of the first and | 
|  | 76 | second revision of the Abit uGuru chip found on Abit uGuru featuring | 
|  | 77 | motherboards (most modern Abit motherboards). | 
| Hans de Goede | f2b84bb | 2006-06-04 20:22:24 +0200 | [diff] [blame] | 78 |  | 
| Hans de Goede | 3faa1ff | 2007-06-17 00:28:45 +0200 | [diff] [blame] | 79 | The first and second revision of the uGuru chip in reality is a Winbond | 
|  | 80 | W83L950D in disguise (despite Abit claiming it is "a new microprocessor | 
|  | 81 | designed by the ABIT Engineers"). Unfortunatly this doesn't help since the | 
|  | 82 | W83L950D is a generic microcontroller with a custom Abit application running | 
|  | 83 | on it. | 
| Hans de Goede | f2b84bb | 2006-06-04 20:22:24 +0200 | [diff] [blame] | 84 |  | 
|  | 85 | Despite Abit not releasing any information regarding the uGuru, Olle | 
|  | 86 | Sandberg <ollebull@gmail.com> has managed to reverse engineer the sensor part | 
|  | 87 | of the uGuru. Without his work this driver would not have been possible. | 
|  | 88 |  | 
|  | 89 | Known Issues | 
|  | 90 | ------------ | 
|  | 91 |  | 
|  | 92 | The voltage and frequency control parts of the Abit uGuru are not supported. |