| 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 | 5cab828 | 2006-07-05 18:09:09 +0200 | [diff] [blame] | 5 |   * Abit uGuru revision 1-3 (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) | 
 | 23 | 	uGuru 3.0.0.0 ~ 3.0.1.2 (AW8, AL8, NI8) | 
 | 24 | 	uGuru 4.xxxxx?          (AT8 32X) (2) | 
 | 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 | 
 | 33 | 	2) The current version of the abituguru driver is known to NOT work | 
 | 34 | 	   on these Motherboards | 
| Hans de Goede | f2b84bb | 2006-06-04 20:22:24 +0200 | [diff] [blame] | 35 |  | 
 | 36 | Authors: | 
 | 37 | 	Hans de Goede <j.w.r.degoede@hhs.nl>, | 
 | 38 | 	(Initial reverse engineering done by Olle Sandberg | 
 | 39 | 	 <ollebull@gmail.com>) | 
 | 40 |  | 
 | 41 |  | 
 | 42 | Module Parameters | 
 | 43 | ----------------- | 
 | 44 |  | 
 | 45 | * force: bool		Force detection. Note this parameter only causes the | 
 | 46 | 			detection to be skipped, if the uGuru can't be read | 
 | 47 | 			the module initialization (insmod) will still fail. | 
| Hans de Goede | 5cab828 | 2006-07-05 18:09:09 +0200 | [diff] [blame] | 48 | * bank1_types: int[]	Bank1 sensortype autodetection override: | 
 | 49 | 			  -1 autodetect (default) | 
 | 50 | 			   0 volt sensor | 
 | 51 | 			   1 temp sensor | 
 | 52 | 			   2 not connected | 
| Hans de Goede | f2b84bb | 2006-06-04 20:22:24 +0200 | [diff] [blame] | 53 | * fan_sensors: int	Tell the driver how many fan speed sensors there are | 
 | 54 | 			on your motherboard. Default: 0 (autodetect). | 
 | 55 | * pwms: int		Tell the driver how many fan speed controls (fan | 
 | 56 | 			pwms) your motherboard has. Default: 0 (autodetect). | 
 | 57 | * verbose: int		How verbose should the driver be? (0-3): | 
 | 58 | 			   0 normal output | 
 | 59 | 			   1 + verbose error reporting | 
| Hans de Goede | 5cab828 | 2006-07-05 18:09:09 +0200 | [diff] [blame] | 60 | 			   2 + sensors type probing info (default) | 
| Hans de Goede | f2b84bb | 2006-06-04 20:22:24 +0200 | [diff] [blame] | 61 | 			   3 + retryable error reporting | 
 | 62 | 			Default: 2 (the driver is still in the testing phase) | 
 | 63 |  | 
 | 64 | Notice if you need any of the first three options above please insmod the | 
 | 65 | driver with verbose set to 3 and mail me <j.w.r.degoede@hhs.nl> the output of: | 
 | 66 | dmesg | grep abituguru | 
 | 67 |  | 
 | 68 |  | 
 | 69 | Description | 
 | 70 | ----------- | 
 | 71 |  | 
 | 72 | This driver supports the hardware monitoring features of the Abit uGuru chip | 
 | 73 | found on Abit uGuru featuring motherboards (most modern Abit motherboards). | 
 | 74 |  | 
 | 75 | The uGuru chip in reality is a Winbond W83L950D in disguise (despite Abit | 
 | 76 | claiming it is "a new microprocessor designed by the ABIT Engineers"). | 
 | 77 | Unfortunatly this doesn't help since the W83L950D is a generic | 
 | 78 | microcontroller with a custom Abit application running on it. | 
 | 79 |  | 
 | 80 | Despite Abit not releasing any information regarding the uGuru, Olle | 
 | 81 | Sandberg <ollebull@gmail.com> has managed to reverse engineer the sensor part | 
 | 82 | of the uGuru. Without his work this driver would not have been possible. | 
 | 83 |  | 
 | 84 | Known Issues | 
 | 85 | ------------ | 
 | 86 |  | 
 | 87 | The voltage and frequency control parts of the Abit uGuru are not supported. |