Merge tag 'fbdev-for-6.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller...
[platform/kernel/linux-starfive.git] / Documentation / hwmon / abituguru.rst
1 Kernel driver abituguru
2 =======================
3
4 Supported chips:
5
6   * Abit uGuru revision 1 & 2 (Hardware Monitor part only)
7
8     Prefix: 'abituguru'
9
10     Addresses scanned: ISA 0x0E0
11
12     Datasheet: Not available, this driver is based on reverse engineering.
13     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
17     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
20         firmware and thus effectively many different revisions of the uGuru.
21         Below is an incomplete list with which revisions are used for which
22         Motherboards:
23
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
36         revision 1 motherboards the correct use of this param is:
37         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)!
44
45 Authors:
46         - Hans de Goede <j.w.r.degoede@hhs.nl>,
47         - (Initial reverse engineering done by Olle Sandberg
48           <ollebull@gmail.com>)
49
50
51 Module Parameters
52 -----------------
53
54 * force: bool
55                         Force detection. Note this parameter only causes the
56                         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.
60 * 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
69                         on your motherboard. Default: 0 (autodetect).
70 * pwms: int
71                         Tell the driver how many fan speed controls (fan
72                         pwms) your motherboard has. Default: 0 (autodetect).
73 * 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
81                         Default: 2 (the driver is still in the testing phase)
82
83 Notice: if you need any of the first three options above please insmod the
84 driver with verbose set to 3 and mail me <j.w.r.degoede@hhs.nl> the output of:
85 dmesg | grep abituguru
86
87
88 Description
89 -----------
90
91 This driver supports the hardware monitoring features of the first and
92 second revision of the Abit uGuru chip found on Abit uGuru featuring
93 motherboards (most modern Abit motherboards).
94
95 The first and second revision of the uGuru chip in reality is a Winbond
96 W83L950D in disguise (despite Abit claiming it is "a new microprocessor
97 designed by the ABIT Engineers"). Unfortunately this doesn't help since the
98 W83L950D is a generic microcontroller with a custom Abit application running
99 on it.
100
101 Despite Abit not releasing any information regarding the uGuru, Olle
102 Sandberg <ollebull@gmail.com> has managed to reverse engineer the sensor part
103 of the uGuru. Without his work this driver would not have been possible.
104
105 Known Issues
106 ------------
107
108 The voltage and frequency control parts of the Abit uGuru are not supported.
109
110 .. toctree::
111    :maxdepth: 1
112
113    abituguru-datasheet.rst