GIGABYTE X870 AORUS ELITE WIFI7 (ITE IT8696E, ITE IT87952E) (#1510)

* Initial support for Gigabyte X870 AORUS ELITE WIFI 7 and ITE IT8696E

* remove unintentional gitignore change

* Add support of X870E AORUS ELITE WIFI7

* Remove X870E

* move x870 to its own case

* rename fan#3

* apply suggestion from code review

* Fix broken merge

* Update IT87XX.cs

* Update IT87XX.cs

---------

Co-authored-by: davidmoellmann <public.cushy530@passinbox.com>
Co-authored-by: PhyxionNL <7643972+PhyxionNL@users.noreply.github.com>
This commit is contained in:
DavidMollmann
2025-07-21 17:01:53 +02:00
committed by GitHub
co-authored by davidmoellmann PhyxionNL
parent 4a964dd6c4
commit fd3bfeb7c5
5 changed files with 761 additions and 717 deletions
@@ -109,6 +109,8 @@ internal class Identification
{
switch (name)
{
case var _ when name.Equals("X870 AORUS ELITE WIFI7", StringComparison.OrdinalIgnoreCase):
return Model.X870_AORUS_ELITE_WIFI7;
case var _ when name.Equals("880GMH/USB3", StringComparison.OrdinalIgnoreCase):
return Model._880GMH_USB3;
case var _ when name.Equals("B85M-DGS", StringComparison.OrdinalIgnoreCase):
@@ -75,6 +75,7 @@ internal class IT87XX : ISuperIO
{
Chip.IT8665E or Chip.IT8625E => new byte[] { 0x15, 0x16, 0x17, 0x1e, 0x1f, 0x92 },
Chip.IT8792E => new byte[] { 0x15, 0x16, 0x17 },
Chip.IT8696E => new byte[] { 0, 0, 0, 0, 0 },
_ => new byte[] { 0x15, 0x16, 0x17, 0x7f, 0xa7, 0xaf }
};
@@ -161,8 +162,8 @@ internal class IT87XX : ISuperIO
case Chip.IT8696E:
Voltages = new float?[10];
Temperatures = new float?[6];
Fans = new float?[6];
Controls = new float?[6];
Fans = new float?[5];
Controls = new float?[5];
break;
case Chip.IT87952E:
File diff suppressed because it is too large Load Diff
+1
View File
@@ -288,6 +288,7 @@ public enum Model
X870E_AORUS_PRO,
X870E_AORUS_PRO_ICE,
X870E_AORUS_XTREME_AI_TOP,
X870_AORUS_ELITE_WIFI7,
// Shuttle
FH67,
+41 -1
View File
@@ -228,11 +228,11 @@ internal sealed class SuperIOHardware : Hardware
case Chip.IT8686E:
case Chip.IT8688E:
case Chip.IT8689E:
case Chip.IT8696E:
case Chip.IT8721F:
case Chip.IT8728F:
case Chip.IT8771E:
case Chip.IT8772E:
case Chip.IT8696E:
GetIteConfigurationsB(superIO, manufacturer, model, v, t, f, c);
break;
@@ -2107,6 +2107,25 @@ internal sealed class SuperIOHardware : Hardware
c.Add(new Control("CPU Optional Fan", 4));
break;
case Model.X870_AORUS_ELITE_WIFI7: // ITE IT8696E
t.Add(new Temperature("System #1", 0));
t.Add(new Temperature("PCH", 1));
t.Add(new Temperature("CPU", 2));
t.Add(new Temperature("PCIe x16", 3));
t.Add(new Temperature("VRM MOS", 4));
t.Add(new Temperature("EC", 5));
f.Add(new Fan("CPU Fan", 0));
f.Add(new Fan("System Fan #1", 1));
f.Add(new Fan("System Fan #2", 2));
f.Add(new Fan("System Fan #3", 3));
f.Add(new Fan("CPU Optional Fan", 4));
c.Add(new Control("CPU Fan", 0));
c.Add(new Control("System Fan #1", 1));
c.Add(new Control("System Fan #2", 2));
c.Add(new Control("System Fan #3", 3));
c.Add(new Control("CPU Optional Fan", 4));
break;
case Model.Z690_GAMING_X_DDR4:
t.Add(new Temperature("System #1", 0));
t.Add(new Temperature("PCH", 1));
@@ -2693,6 +2712,27 @@ internal sealed class SuperIOHardware : Hardware
c.Add(new Control("System Fan #4", 2));
break;
case Model.X870_AORUS_ELITE_WIFI7: // ITE IT87952E
v.Add(new Voltage("Vcore", 0));
v.Add(new Voltage("DIMM I/O", 1));
v.Add(new Voltage("Chipset +0.82V", 2));
v.Add(new Voltage("Voltage #4", 3, true));
v.Add(new Voltage("CPU System Agent", 4));
v.Add(new Voltage("Chipset +1.8V", 5));
v.Add(new Voltage("Voltage #7", 6, true));
v.Add(new Voltage("+3V Standby", 7, 10, 10));
v.Add(new Voltage("CMOS Battery", 8, 10, 10));
t.Add(new Temperature("PCIe x4", 0));
t.Add(new Temperature("External #2", 1));
t.Add(new Temperature("System #2", 2));
f.Add(new Fan("System Fan #5 / Pump", 0));
f.Add(new Fan("System Fan #6 / Pump", 1));
f.Add(new Fan("System Fan #4", 2));
c.Add(new Control("System Fan #5 / Pump", 0));
c.Add(new Control("System Fan #6 / Pump", 1));
c.Add(new Control("System Fan #4", 2));
break;
default:
v.Add(new Voltage("Voltage #1", 0, true));
v.Add(new Voltage("Voltage #2", 1, true));