17ebd8b66SMauro Carvalho ChehabKernel driver abituguru 27ebd8b66SMauro Carvalho Chehab======================= 37ebd8b66SMauro Carvalho Chehab 47ebd8b66SMauro Carvalho ChehabSupported chips: 57ebd8b66SMauro Carvalho Chehab 67ebd8b66SMauro Carvalho Chehab * Abit uGuru revision 1 & 2 (Hardware Monitor part only) 77ebd8b66SMauro Carvalho Chehab 87ebd8b66SMauro Carvalho Chehab Prefix: 'abituguru' 97ebd8b66SMauro Carvalho Chehab 107ebd8b66SMauro Carvalho Chehab Addresses scanned: ISA 0x0E0 117ebd8b66SMauro Carvalho Chehab 127ebd8b66SMauro Carvalho Chehab Datasheet: Not available, this driver is based on reverse engineering. 137ebd8b66SMauro Carvalho Chehab A "Datasheet" has been written based on the reverse engineering it 147ebd8b66SMauro Carvalho Chehab should be available in the same dir as this file under the name 157ebd8b66SMauro Carvalho Chehab abituguru-datasheet. 167ebd8b66SMauro Carvalho Chehab 177ebd8b66SMauro Carvalho Chehab Note: 187ebd8b66SMauro Carvalho Chehab The uGuru is a microcontroller with onboard firmware which programs 197ebd8b66SMauro Carvalho Chehab it to behave as a hwmon IC. There are many different revisions of the 20*4776b9e3SBrandon Jiang firmware and thus effectively many different revisions of the uGuru. 217ebd8b66SMauro Carvalho Chehab Below is an incomplete list with which revisions are used for which 227ebd8b66SMauro Carvalho Chehab Motherboards: 237ebd8b66SMauro Carvalho Chehab 247ebd8b66SMauro Carvalho Chehab - uGuru 1.00 ~ 1.24 (AI7, KV8-MAX3, AN7) [1]_ 257ebd8b66SMauro Carvalho Chehab - uGuru 2.0.0.0 ~ 2.0.4.2 (KV8-PRO) 267ebd8b66SMauro Carvalho Chehab - uGuru 2.1.0.0 ~ 2.1.2.8 (AS8, AV8, AA8, AG8, AA8XE, AX8) 277ebd8b66SMauro Carvalho Chehab - uGuru 2.2.0.0 ~ 2.2.0.6 (AA8 Fatal1ty) 287ebd8b66SMauro Carvalho Chehab - uGuru 2.3.0.0 ~ 2.3.0.9 (AN8) 297ebd8b66SMauro Carvalho Chehab - uGuru 3.0.0.0 ~ 3.0.x.x (AW8, AL8, AT8, NI8 SLI, AT8 32X, AN8 32X, 307ebd8b66SMauro Carvalho Chehab AW9D-MAX) [2]_ 317ebd8b66SMauro Carvalho Chehab 327ebd8b66SMauro Carvalho Chehab.. [1] For revisions 2 and 3 uGuru's the driver can autodetect the 337ebd8b66SMauro Carvalho Chehab sensortype (Volt or Temp) for bank1 sensors, for revision 1 uGuru's 347ebd8b66SMauro Carvalho Chehab this does not always work. For these uGuru's the autodetection can 357ebd8b66SMauro Carvalho Chehab be overridden with the bank1_types module param. For all 3 known 36*4776b9e3SBrandon Jiang revision 1 motherboards the correct use of this param is: 377ebd8b66SMauro Carvalho Chehab bank1_types=1,1,0,0,0,0,0,2,0,0,0,0,2,0,0,1 387ebd8b66SMauro Carvalho Chehab You may also need to specify the fan_sensors option for these boards 397ebd8b66SMauro Carvalho Chehab fan_sensors=5 407ebd8b66SMauro Carvalho Chehab 417ebd8b66SMauro Carvalho Chehab.. [2] There is a separate abituguru3 driver for these motherboards, 427ebd8b66SMauro Carvalho Chehab the abituguru (without the 3 !) driver will not work on these 437ebd8b66SMauro Carvalho Chehab motherboards (and visa versa)! 447ebd8b66SMauro Carvalho Chehab 457ebd8b66SMauro Carvalho ChehabAuthors: 467ebd8b66SMauro Carvalho Chehab - Hans de Goede <j.w.r.degoede@hhs.nl>, 477ebd8b66SMauro Carvalho Chehab - (Initial reverse engineering done by Olle Sandberg 487ebd8b66SMauro Carvalho Chehab <ollebull@gmail.com>) 497ebd8b66SMauro Carvalho Chehab 507ebd8b66SMauro Carvalho Chehab 517ebd8b66SMauro Carvalho ChehabModule Parameters 527ebd8b66SMauro Carvalho Chehab----------------- 537ebd8b66SMauro Carvalho Chehab 547ebd8b66SMauro Carvalho Chehab* force: bool 557ebd8b66SMauro Carvalho Chehab Force detection. Note this parameter only causes the 567ebd8b66SMauro Carvalho Chehab detection to be skipped, and thus the insmod to 577ebd8b66SMauro Carvalho Chehab succeed. If the uGuru can't be read the actual hwmon 587ebd8b66SMauro Carvalho Chehab driver will not load and thus no hwmon device will get 597ebd8b66SMauro Carvalho Chehab registered. 607ebd8b66SMauro Carvalho Chehab* bank1_types: int[] 617ebd8b66SMauro Carvalho Chehab Bank1 sensortype autodetection override: 627ebd8b66SMauro Carvalho Chehab 637ebd8b66SMauro Carvalho Chehab * -1 autodetect (default) 647ebd8b66SMauro Carvalho Chehab * 0 volt sensor 657ebd8b66SMauro Carvalho Chehab * 1 temp sensor 667ebd8b66SMauro Carvalho Chehab * 2 not connected 677ebd8b66SMauro Carvalho Chehab* fan_sensors: int 687ebd8b66SMauro Carvalho Chehab Tell the driver how many fan speed sensors there are 697ebd8b66SMauro Carvalho Chehab on your motherboard. Default: 0 (autodetect). 707ebd8b66SMauro Carvalho Chehab* pwms: int 717ebd8b66SMauro Carvalho Chehab Tell the driver how many fan speed controls (fan 727ebd8b66SMauro Carvalho Chehab pwms) your motherboard has. Default: 0 (autodetect). 737ebd8b66SMauro Carvalho Chehab* verbose: int 747ebd8b66SMauro Carvalho Chehab How verbose should the driver be? (0-3): 757ebd8b66SMauro Carvalho Chehab 767ebd8b66SMauro Carvalho Chehab * 0 normal output 777ebd8b66SMauro Carvalho Chehab * 1 + verbose error reporting 787ebd8b66SMauro Carvalho Chehab * 2 + sensors type probing info (default) 797ebd8b66SMauro Carvalho Chehab * 3 + retryable error reporting 807ebd8b66SMauro Carvalho Chehab 817ebd8b66SMauro Carvalho Chehab Default: 2 (the driver is still in the testing phase) 827ebd8b66SMauro Carvalho Chehab 837ebd8b66SMauro Carvalho ChehabNotice: if you need any of the first three options above please insmod the 847ebd8b66SMauro Carvalho Chehabdriver with verbose set to 3 and mail me <j.w.r.degoede@hhs.nl> the output of: 857ebd8b66SMauro Carvalho Chehabdmesg | grep abituguru 867ebd8b66SMauro Carvalho Chehab 877ebd8b66SMauro Carvalho Chehab 887ebd8b66SMauro Carvalho ChehabDescription 897ebd8b66SMauro Carvalho Chehab----------- 907ebd8b66SMauro Carvalho Chehab 917ebd8b66SMauro Carvalho ChehabThis driver supports the hardware monitoring features of the first and 927ebd8b66SMauro Carvalho Chehabsecond revision of the Abit uGuru chip found on Abit uGuru featuring 937ebd8b66SMauro Carvalho Chehabmotherboards (most modern Abit motherboards). 947ebd8b66SMauro Carvalho Chehab 957ebd8b66SMauro Carvalho ChehabThe first and second revision of the uGuru chip in reality is a Winbond 967ebd8b66SMauro Carvalho ChehabW83L950D in disguise (despite Abit claiming it is "a new microprocessor 977ebd8b66SMauro Carvalho Chehabdesigned by the ABIT Engineers"). Unfortunately this doesn't help since the 987ebd8b66SMauro Carvalho ChehabW83L950D is a generic microcontroller with a custom Abit application running 997ebd8b66SMauro Carvalho Chehabon it. 1007ebd8b66SMauro Carvalho Chehab 1017ebd8b66SMauro Carvalho ChehabDespite Abit not releasing any information regarding the uGuru, Olle 1027ebd8b66SMauro Carvalho ChehabSandberg <ollebull@gmail.com> has managed to reverse engineer the sensor part 1037ebd8b66SMauro Carvalho Chehabof the uGuru. Without his work this driver would not have been possible. 1047ebd8b66SMauro Carvalho Chehab 1057ebd8b66SMauro Carvalho ChehabKnown Issues 1067ebd8b66SMauro Carvalho Chehab------------ 1077ebd8b66SMauro Carvalho Chehab 1087ebd8b66SMauro Carvalho ChehabThe voltage and frequency control parts of the Abit uGuru are not supported. 1097ebd8b66SMauro Carvalho Chehab 1107ebd8b66SMauro Carvalho Chehab.. toctree:: 1117ebd8b66SMauro Carvalho Chehab :maxdepth: 1 1127ebd8b66SMauro Carvalho Chehab 1137ebd8b66SMauro Carvalho Chehab abituguru-datasheet.rst 114