* Rename IT8795E to IT87952E
IT8795E and IT87952E are distinct chips (with their own IC markings).
The IT8795E, as the IT8791E and IT8792E, reports chip ID 0x8733 whereas
the IT87952E identifies as 0x8695.
* Gigabyte EC: Fix typo in LPC register restore
When the AMD LPC Bridge registers are restored after configuring memory
mapping, restore the correct value for the "Memory Address for LPC
target cycles" register.
* Add IT87952E fan control for Gigabyte boards
IT87952E (ID 0x8695) has a third byte in SuperIO config space
(LDN 0x0F) that determines more bits of the host address for LPC memory
mapping.
Also the base address for Gigabyte boards is 0xFC000000 instead of
0xFF000000 (as is the case with IT8790/1/2/5).
This should make additional fan controls work on Gigabyte mainboards
where the settings had no effect previously, e.g: X570S AORUS MASTER
and X670E AORUS MASTER. (cf. Issue #251)
It does not yet work for Intel boards as the LPC bridge requires
different programming.
* Update LpcIO.cs
---------
Co-authored-by: PhyxionNL <7643972+PhyxionNL@users.noreply.github.com>
* Adding checks around the value cache in the IPMI update to prevent null dereference.
* Adding braces for code style.
---------
Co-authored-by: doolbneerg <doolbneerg@outlook.com>
I had correct fan readings for the fan on the MB, but could not control them. Found in the code there is an offset of 2; the comment states that the first 2 fans always show zero. I removed the offset - now I have 5 fan controls (which is not correct, since the MB only has 3 fan headers), but the first 2 actually control the fans.
I assume that the offset is either outdated and no longer needed, or it should offset 2 fans from the end of the array, not the start of it. I don't have all the headers populated, so cannot fully test whether the offset from the end is fine.
I built the LHM library and added it to both LHM and FanCtrl v1.5.6, in both cases I could control the fans.
Correction of the motherboard model (CROSSHAIR III FORMULA > ROG CROSSHAIR VIII FORMULA). It has the same sensors so I put it with the CROSSHAIR VIII HERO
* EC: add CPU core voltage sensor
* Introfuce BoardInfo struct for storing EC initialization data
We need to keep some more information about the current board than just
the sensors set and this allows us do not duplicate sensor definitions for
such board variants as " (WI-FI)" when sensors are identical to the base variant.
* EC: add board families
* fixup! EC: add board families
* EC: add Amd 400 series
- Adds support for SYS_FAN4_PUMP control and tachometer
- Adds support for PCH temperature sensor
- There is a DDR5 version of this board out there, I don't know if it differs besides RAM.