1Kernel driver abituguru
   4Supported chips:
   5  * Abit uGuru revision 1 & 2 (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 ~ (KV8-PRO)
  20        uGuru ~ (AS8, AV8, AA8, AG8, AA8XE, AX8)
  21        uGuru ~ (AA8 Fatal1ty)
  22        uGuru ~ (AN8)
  23        uGuru ~ 3.0.x.x (AW8, AL8, AT8, NI8 SLI, AT8 32X, AN8 32X,
  24                                 AW9D-MAX) (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) There is a seperate abituguru3 driver for these motherboards,
  34           the abituguru (without the 3 !) driver will not work on these
  35           motherboards (and visa versa)!
  38        Hans de Goede <>,
  39        (Initial reverse engineering done by Olle Sandberg
  40         <>)
  43Module Parameters
  46* force: bool           Force detection. Note this parameter only causes the
  47                        detection to be skipped, and thus the insmod to
  48                        succeed. If the uGuru can't be read the actual hwmon
  49                        driver will not load and thus no hwmon device will get
  50                        registered.
  51* bank1_types: int[]    Bank1 sensortype autodetection override:
  52                          -1 autodetect (default)
  53                           0 volt sensor
  54                           1 temp sensor
  55                           2 not connected
  56* fan_sensors: int      Tell the driver how many fan speed sensors there are
  57                        on your motherboard. Default: 0 (autodetect).
  58* pwms: int             Tell the driver how many fan speed controls (fan
  59                        pwms) your motherboard has. Default: 0 (autodetect).
  60* verbose: int          How verbose should the driver be? (0-3):
  61                           0 normal output
  62                           1 + verbose error reporting
  63                           2 + sensors type probing info (default)
  64                           3 + retryable error reporting
  65                        Default: 2 (the driver is still in the testing phase)
  67Notice if you need any of the first three options above please insmod the
  68driver with verbose set to 3 and mail me <> the output of:
  69dmesg | grep abituguru
  75This driver supports the hardware monitoring features of the first and
  76second revision of the Abit uGuru chip found on Abit uGuru featuring
  77motherboards (most modern Abit motherboards).
  79The first and second revision of the uGuru chip in reality is a Winbond
  80W83L950D in disguise (despite Abit claiming it is "a new microprocessor
  81designed by the ABIT Engineers"). Unfortunatly this doesn't help since the
  82W83L950D is a generic microcontroller with a custom Abit application running
  83on it.
  85Despite Abit not releasing any information regarding the uGuru, Olle
  86Sandberg <> has managed to reverse engineer the sensor part
  87of the uGuru. Without his work this driver would not have been possible.
  89Known Issues
  92The voltage and frequency control parts of the Abit uGuru are not supported.