blob: cfda60b757ce53662c13564c0347bb2d246d6207 [file] [log] [blame]
Hans de Goedef2b84bb2006-06-04 20:22:24 +02001Kernel driver abituguru
2=======================
3
4Supported chips:
Mauro Carvalho Chehabb04f2f72019-04-17 06:46:28 -03005
Hans de Goede3faa1ff2007-06-17 00:28:45 +02006 * Abit uGuru revision 1 & 2 (Hardware Monitor part only)
Mauro Carvalho Chehabb04f2f72019-04-17 06:46:28 -03007
Hans de Goedef2b84bb2006-06-04 20:22:24 +02008 Prefix: 'abituguru'
Mauro Carvalho Chehabb04f2f72019-04-17 06:46:28 -03009
Hans de Goedef2b84bb2006-06-04 20:22:24 +020010 Addresses scanned: ISA 0x0E0
Mauro Carvalho Chehabb04f2f72019-04-17 06:46:28 -030011
Hans de Goedef2b84bb2006-06-04 20:22:24 +020012 Datasheet: Not available, this driver is based on reverse engineering.
Mauro Carvalho Chehabb04f2f72019-04-17 06:46:28 -030013 A "Datasheet" has been written based on the reverse engineering it
14 should be available in the same dir as this file under the name
15 abituguru-datasheet.
16
Hans de Goede5cab8282006-07-05 18:09:09 +020017 Note:
18 The uGuru is a microcontroller with onboard firmware which programs
19 it to behave as a hwmon IC. There are many different revisions of the
Brandon Jiang4776b9e32020-08-22 15:46:40 +080020 firmware and thus effectively many different revisions of the uGuru.
Hans de Goede5cab8282006-07-05 18:09:09 +020021 Below is an incomplete list with which revisions are used for which
22 Motherboards:
Mauro Carvalho Chehabb04f2f72019-04-17 06:46:28 -030023
24 - uGuru 1.00 ~ 1.24 (AI7, KV8-MAX3, AN7) [1]_
25 - uGuru 2.0.0.0 ~ 2.0.4.2 (KV8-PRO)
26 - uGuru 2.1.0.0 ~ 2.1.2.8 (AS8, AV8, AA8, AG8, AA8XE, AX8)
27 - uGuru 2.2.0.0 ~ 2.2.0.6 (AA8 Fatal1ty)
28 - uGuru 2.3.0.0 ~ 2.3.0.9 (AN8)
29 - uGuru 3.0.0.0 ~ 3.0.x.x (AW8, AL8, AT8, NI8 SLI, AT8 32X, AN8 32X,
30 AW9D-MAX) [2]_
31
32.. [1] For revisions 2 and 3 uGuru's the driver can autodetect the
33 sensortype (Volt or Temp) for bank1 sensors, for revision 1 uGuru's
34 this does not always work. For these uGuru's the autodetection can
35 be overridden with the bank1_types module param. For all 3 known
Brandon Jiang4776b9e32020-08-22 15:46:40 +080036 revision 1 motherboards the correct use of this param is:
Mauro Carvalho Chehabb04f2f72019-04-17 06:46:28 -030037 bank1_types=1,1,0,0,0,0,0,2,0,0,0,0,2,0,0,1
38 You may also need to specify the fan_sensors option for these boards
39 fan_sensors=5
40
41.. [2] There is a separate abituguru3 driver for these motherboards,
42 the abituguru (without the 3 !) driver will not work on these
43 motherboards (and visa versa)!
Hans de Goedef2b84bb2006-06-04 20:22:24 +020044
45Authors:
Mauro Carvalho Chehabb04f2f72019-04-17 06:46:28 -030046 - Hans de Goede <j.w.r.degoede@hhs.nl>,
47 - (Initial reverse engineering done by Olle Sandberg
48 <ollebull@gmail.com>)
Hans de Goedef2b84bb2006-06-04 20:22:24 +020049
50
51Module Parameters
52-----------------
53
Mauro Carvalho Chehabb04f2f72019-04-17 06:46:28 -030054* force: bool
55 Force detection. Note this parameter only causes the
Hans de Goede3faa1ff2007-06-17 00:28:45 +020056 detection to be skipped, and thus the insmod to
57 succeed. If the uGuru can't be read the actual hwmon
58 driver will not load and thus no hwmon device will get
59 registered.
Mauro Carvalho Chehabb04f2f72019-04-17 06:46:28 -030060* bank1_types: int[]
61 Bank1 sensortype autodetection override:
62
63 * -1 autodetect (default)
64 * 0 volt sensor
65 * 1 temp sensor
66 * 2 not connected
67* fan_sensors: int
68 Tell the driver how many fan speed sensors there are
Hans de Goedef2b84bb2006-06-04 20:22:24 +020069 on your motherboard. Default: 0 (autodetect).
Mauro Carvalho Chehabb04f2f72019-04-17 06:46:28 -030070* pwms: int
71 Tell the driver how many fan speed controls (fan
Hans de Goedef2b84bb2006-06-04 20:22:24 +020072 pwms) your motherboard has. Default: 0 (autodetect).
Mauro Carvalho Chehabb04f2f72019-04-17 06:46:28 -030073* verbose: int
74 How verbose should the driver be? (0-3):
75
76 * 0 normal output
77 * 1 + verbose error reporting
78 * 2 + sensors type probing info (default)
79 * 3 + retryable error reporting
80
Hans de Goedef2b84bb2006-06-04 20:22:24 +020081 Default: 2 (the driver is still in the testing phase)
82
Mauro Carvalho Chehabb04f2f72019-04-17 06:46:28 -030083Notice: if you need any of the first three options above please insmod the
Hans de Goedef2b84bb2006-06-04 20:22:24 +020084driver with verbose set to 3 and mail me <j.w.r.degoede@hhs.nl> the output of:
85dmesg | grep abituguru
86
87
88Description
89-----------
90
Hans de Goede3faa1ff2007-06-17 00:28:45 +020091This driver supports the hardware monitoring features of the first and
92second revision of the Abit uGuru chip found on Abit uGuru featuring
93motherboards (most modern Abit motherboards).
Hans de Goedef2b84bb2006-06-04 20:22:24 +020094
Hans de Goede3faa1ff2007-06-17 00:28:45 +020095The first and second revision of the uGuru chip in reality is a Winbond
96W83L950D in disguise (despite Abit claiming it is "a new microprocessor
Lucas De Marchi25985ed2011-03-30 22:57:33 -030097designed by the ABIT Engineers"). Unfortunately this doesn't help since the
Hans de Goede3faa1ff2007-06-17 00:28:45 +020098W83L950D is a generic microcontroller with a custom Abit application running
99on it.
Hans de Goedef2b84bb2006-06-04 20:22:24 +0200100
101Despite Abit not releasing any information regarding the uGuru, Olle
102Sandberg <ollebull@gmail.com> has managed to reverse engineer the sensor part
103of the uGuru. Without his work this driver would not have been possible.
104
105Known Issues
106------------
107
108The voltage and frequency control parts of the Abit uGuru are not supported.
Mauro Carvalho Chehabb04f2f72019-04-17 06:46:28 -0300109
110.. toctree::
111 :maxdepth: 1
112
113 abituguru-datasheet.rst