1*4882a593SmuzhiyunKernel driver abituguru3 2*4882a593Smuzhiyun======================== 3*4882a593Smuzhiyun 4*4882a593SmuzhiyunSupported chips: 5*4882a593Smuzhiyun * Abit uGuru revision 3 (Hardware Monitor part, reading only) 6*4882a593Smuzhiyun 7*4882a593Smuzhiyun Prefix: 'abituguru3' 8*4882a593Smuzhiyun 9*4882a593Smuzhiyun Addresses scanned: ISA 0x0E0 10*4882a593Smuzhiyun 11*4882a593Smuzhiyun Datasheet: Not available, this driver is based on reverse engineering. 12*4882a593Smuzhiyun 13*4882a593Smuzhiyun Note: 14*4882a593Smuzhiyun The uGuru is a microcontroller with onboard firmware which programs 15*4882a593Smuzhiyun it to behave as a hwmon IC. There are many different revisions of the 16*4882a593Smuzhiyun firmware and thus effectively many different revisions of the uGuru. 17*4882a593Smuzhiyun Below is an incomplete list with which revisions are used for which 18*4882a593Smuzhiyun Motherboards: 19*4882a593Smuzhiyun 20*4882a593Smuzhiyun - uGuru 1.00 ~ 1.24 (AI7, KV8-MAX3, AN7) 21*4882a593Smuzhiyun - uGuru 2.0.0.0 ~ 2.0.4.2 (KV8-PRO) 22*4882a593Smuzhiyun - uGuru 2.1.0.0 ~ 2.1.2.8 (AS8, AV8, AA8, AG8, AA8XE, AX8) 23*4882a593Smuzhiyun - uGuru 2.3.0.0 ~ 2.3.0.9 (AN8) 24*4882a593Smuzhiyun - uGuru 3.0.0.0 ~ 3.0.x.x (AW8, AL8, AT8, NI8 SLI, AT8 32X, AN8 32X, 25*4882a593Smuzhiyun AW9D-MAX) 26*4882a593Smuzhiyun 27*4882a593Smuzhiyun The abituguru3 driver is only for revision 3.0.x.x motherboards, 28*4882a593Smuzhiyun this driver will not work on older motherboards. For older 29*4882a593Smuzhiyun motherboards use the abituguru (without the 3 !) driver. 30*4882a593Smuzhiyun 31*4882a593SmuzhiyunAuthors: 32*4882a593Smuzhiyun - Hans de Goede <j.w.r.degoede@hhs.nl>, 33*4882a593Smuzhiyun - (Initial reverse engineering done by Louis Kruger) 34*4882a593Smuzhiyun 35*4882a593Smuzhiyun 36*4882a593SmuzhiyunModule Parameters 37*4882a593Smuzhiyun----------------- 38*4882a593Smuzhiyun 39*4882a593Smuzhiyun* force: bool 40*4882a593Smuzhiyun Force detection. Note this parameter only causes the 41*4882a593Smuzhiyun detection to be skipped, and thus the insmod to 42*4882a593Smuzhiyun succeed. If the uGuru can't be read the actual hwmon 43*4882a593Smuzhiyun driver will not load and thus no hwmon device will get 44*4882a593Smuzhiyun registered. 45*4882a593Smuzhiyun* verbose: bool 46*4882a593Smuzhiyun Should the driver be verbose? 47*4882a593Smuzhiyun 48*4882a593Smuzhiyun * 0/off/false normal output 49*4882a593Smuzhiyun * 1/on/true + verbose error reporting (default) 50*4882a593Smuzhiyun 51*4882a593Smuzhiyun Default: 1 (the driver is still in the testing phase) 52*4882a593Smuzhiyun 53*4882a593SmuzhiyunDescription 54*4882a593Smuzhiyun----------- 55*4882a593Smuzhiyun 56*4882a593SmuzhiyunThis driver supports the hardware monitoring features of the third revision of 57*4882a593Smuzhiyunthe Abit uGuru chip, found on recent Abit uGuru featuring motherboards. 58*4882a593Smuzhiyun 59*4882a593SmuzhiyunThe 3rd revision of the uGuru chip in reality is a Winbond W83L951G. 60*4882a593SmuzhiyunUnfortunately this doesn't help since the W83L951G is a generic microcontroller 61*4882a593Smuzhiyunwith a custom Abit application running on it. 62*4882a593Smuzhiyun 63*4882a593SmuzhiyunDespite Abit not releasing any information regarding the uGuru revision 3, 64*4882a593SmuzhiyunLouis Kruger has managed to reverse engineer the sensor part of the uGuru. 65*4882a593SmuzhiyunWithout his work this driver would not have been possible. 66*4882a593Smuzhiyun 67*4882a593SmuzhiyunKnown Issues 68*4882a593Smuzhiyun------------ 69*4882a593Smuzhiyun 70*4882a593SmuzhiyunThe voltage and frequency control parts of the Abit uGuru are not supported, 71*4882a593Smuzhiyunneither is writing any of the sensor settings and writing / reading the 72*4882a593Smuzhiyunfanspeed control registers (FanEQ) 73*4882a593Smuzhiyun 74*4882a593SmuzhiyunIf you encounter any problems please mail me <j.w.r.degoede@hhs.nl> and 75*4882a593Smuzhiyuninclude the output of: `dmesg | grep abituguru` 76