1Kernel driver abituguru
2=======================
3
4Supported chips:
5  * Abit uGuru revision 1-3 (Hardware Monitor part only)
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.
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
35
36Authors:
37	Hans de Goede <j.w.r.degoede@hhs.nl>,
38	(Initial reverse engineering done by Olle Sandberg
39	 <ollebull@gmail.com>)
40
41
42Module 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.
48* bank1_types: int[]	Bank1 sensortype autodetection override:
49			  -1 autodetect (default)
50			   0 volt sensor
51			   1 temp sensor
52			   2 not connected
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
60			   2 + sensors type probing info (default)
61			   3 + retryable error reporting
62			Default: 2 (the driver is still in the testing phase)
63
64Notice if you need any of the first three options above please insmod the
65driver with verbose set to 3 and mail me <j.w.r.degoede@hhs.nl> the output of:
66dmesg | grep abituguru
67
68
69Description
70-----------
71
72This driver supports the hardware monitoring features of the Abit uGuru chip
73found on Abit uGuru featuring motherboards (most modern Abit motherboards).
74
75The uGuru chip in reality is a Winbond W83L950D in disguise (despite Abit
76claiming it is "a new microprocessor designed by the ABIT Engineers").
77Unfortunatly this doesn't help since the W83L950D is a generic
78microcontroller with a custom Abit application running on it.
79
80Despite Abit not releasing any information regarding the uGuru, Olle
81Sandberg <ollebull@gmail.com> has managed to reverse engineer the sensor part
82of the uGuru. Without his work this driver would not have been possible.
83
84Known Issues
85------------
86
87The voltage and frequency control parts of the Abit uGuru are not supported.
88