| 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 | 
| Hans de Goede | 3faa1ff | 2007-06-17 00:28:45 +0200 | [diff] [blame] | 33 | 	2) There is a seperate abituguru3 driver for these motherboards, | 
 | 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. |