Orange Pi5 kernel

Deprecated Linux kernel 5.10.110 for OrangePi 5/5B/5+ boards

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