Skip to content

Commit 4193b58

Browse files
authored
Add Gigabyte X870E AORUS PRO (ICE) (ITE IT8696E, ITE IT87952E) (#1533)
* Add Gigabyte X870E AORUS PRO (ICE) * Separate case and rename some voltages * Increase array size for Fans and Controls from 5 to 6 * Add external temperature sensor
1 parent 6f1d1da commit 4193b58

6 files changed

Lines changed: 73 additions & 3 deletions

File tree

LibreHardwareMonitorLib/Hardware/Motherboard/Identification.cs

100644100755
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -599,6 +599,10 @@ public static Model GetModel(string name)
599599
return Model.ROG_MAXIMUS_Z790_FORMULA;
600600
case var _ when name.Equals("ROG MAXIMUS XII HERO (WI-FI)", StringComparison.OrdinalIgnoreCase):
601601
return Model.ROG_MAXIMUS_XII_HERO_WIFI;
602+
case var _ when name.Equals("X870E AORUS PRO", StringComparison.OrdinalIgnoreCase):
603+
return Model.X870E_AORUS_PRO;
604+
case var _ when name.Equals("X870E AORUS PRO ICE", StringComparison.OrdinalIgnoreCase):
605+
return Model.X870E_AORUS_PRO_ICE;
602606
case var _ when name.Equals("Base Board Product Name", StringComparison.OrdinalIgnoreCase):
603607
case var _ when name.Equals("To be filled by O.E.M.", StringComparison.OrdinalIgnoreCase):
604608
return Model.Unknown;

LibreHardwareMonitorLib/Hardware/Motherboard/Lpc/Chip.cs

100644100755
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ internal enum Chip : ushort
3737
IT8686E = 0x8686,
3838
IT8688E = 0x8688,
3939
IT8689E = 0x8689,
40+
IT8696E = 0x8696,
4041
IT8705F = 0x8705,
4142
IT8712F = 0x8712,
4243
IT8716F = 0x8716,
@@ -109,6 +110,7 @@ public static string GetName(Chip chip)
109110
case Chip.IT8686E: return "ITE IT8686E";
110111
case Chip.IT8688E: return "ITE IT8688E";
111112
case Chip.IT8689E: return "ITE IT8689E";
113+
case Chip.IT8696E: return "ITE IT8696E";
112114
case Chip.IT8705F: return "ITE IT8705F";
113115
case Chip.IT8712F: return "ITE IT8712F";
114116
case Chip.IT8716F: return "ITE IT8716F";

LibreHardwareMonitorLib/Hardware/Motherboard/Lpc/IT87XX.cs

100644100755
Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,8 @@ Chip.IT8620E or
9898
Chip.IT8613E or
9999
Chip.IT8792E or
100100
Chip.IT8655E or
101-
Chip.IT8631E;
101+
Chip.IT8631E or
102+
Chip.IT8696E;
102103

103104
switch (chip)
104105
{
@@ -158,8 +159,15 @@ Chip.IT8655E or
158159
Controls = new float?[6];
159160
break;
160161

162+
case Chip.IT8696E:
163+
Voltages = new float?[10];
164+
Temperatures = new float?[6];
165+
Fans = new float?[6];
166+
Controls = new float?[6];
167+
break;
168+
161169
case Chip.IT87952E:
162-
Voltages = new float?[6];
170+
Voltages = new float?[10];
163171
Temperatures = new float?[3];
164172
Fans = new float?[3];
165173
Controls = new float?[3];
@@ -208,7 +216,7 @@ Chip.IT8655E or
208216
// Conflicting reports on IT8792E: either 0.0109 in linux drivers or 0.011 comparing with Gigabyte board & SIV SW.
209217
_voltageGain = chip switch
210218
{
211-
Chip.IT8613E or Chip.IT8620E or Chip.IT8628E or Chip.IT8631E or Chip.IT8721F or Chip.IT8728F or Chip.IT8771E or Chip.IT8772E or Chip.IT8686E or Chip.IT8688E or Chip.IT8689E => 0.012f,
219+
Chip.IT8613E or Chip.IT8620E or Chip.IT8628E or Chip.IT8631E or Chip.IT8721F or Chip.IT8728F or Chip.IT8771E or Chip.IT8772E or Chip.IT8686E or Chip.IT8688E or Chip.IT8689E or Chip.IT8696E => 0.012f,
212220
Chip.IT8625E or Chip.IT8792E or Chip.IT87952E => 0.011f,
213221
Chip.IT8655E or Chip.IT8665E => 0.0109f,
214222
_ => 0.016f

LibreHardwareMonitorLib/Hardware/Motherboard/Lpc/LpcIO.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -557,6 +557,7 @@ private bool DetectIT87(LpcPort port, Motherboard motherboard)
557557
0x8686 => Chip.IT8686E,
558558
0x8688 => Chip.IT8688E,
559559
0x8689 => Chip.IT8689E,
560+
0x8696 => Chip.IT8696E,
560561
0x8705 => Chip.IT8705F,
561562
0x8712 => Chip.IT8712F,
562563
0x8716 => Chip.IT8716F,

LibreHardwareMonitorLib/Hardware/Motherboard/Model.cs

100644100755
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -248,6 +248,8 @@ public enum Model
248248
B650M_AORUS_PRO_AX,
249249
B650M_AORUS_ELITE,
250250
B650M_AORUS_ELITE_AX,
251+
X870E_AORUS_PRO,
252+
X870E_AORUS_PRO_ICE,
251253

252254
// Shuttle
253255
FH67,

LibreHardwareMonitorLib/Hardware/Motherboard/SuperIOHardware.cs

100644100755
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -226,6 +226,7 @@ private static void GetBoardSpecificConfiguration
226226
case Chip.IT8686E:
227227
case Chip.IT8688E:
228228
case Chip.IT8689E:
229+
case Chip.IT8696E:
229230
case Chip.IT8721F:
230231
case Chip.IT8728F:
231232
case Chip.IT8771E:
@@ -2136,6 +2137,36 @@ private static void GetIteConfigurationsB(ISuperIO superIO, Manufacturer manufac
21362137

21372138
break;
21382139

2140+
case Model.X870E_AORUS_PRO: // ITE IT8696E
2141+
case Model.X870E_AORUS_PRO_ICE: // ITE IT8696E
2142+
v.Add(new Voltage("Vcore", 0, 0, 1));
2143+
v.Add(new Voltage("+3.3V", 1, 6.49F, 10));
2144+
v.Add(new Voltage("+12V", 2, 5, 1));
2145+
v.Add(new Voltage("+5V", 3, 1.5F, 1));
2146+
v.Add(new Voltage("Vcore SoC", 4, 0, 1));
2147+
v.Add(new Voltage("Vcore Misc", 5, 0, 1));
2148+
v.Add(new Voltage("CPU VDDIO Memory", 6, 0, 1));
2149+
v.Add(new Voltage("+3V Standby", 7, 10, 10));
2150+
v.Add(new Voltage("CMOS Battery", 8, 10, 10));
2151+
t.Add(new Temperature("System #1", 0));
2152+
t.Add(new Temperature("PCH", 1));
2153+
t.Add(new Temperature("CPU", 2));
2154+
t.Add(new Temperature("PCIe x16", 3));
2155+
t.Add(new Temperature("VRM MOS", 4));
2156+
t.Add(new Temperature("External #1", 5));
2157+
f.Add(new Fan("CPU Fan", 0));
2158+
f.Add(new Fan("System Fan #1", 1));
2159+
f.Add(new Fan("System Fan #2", 2));
2160+
f.Add(new Fan("System Fan #3", 3));
2161+
f.Add(new Fan("CPU Optional Fan", 4));
2162+
c.Add(new Control("CPU Fan", 0));
2163+
c.Add(new Control("System Fan #1", 1));
2164+
c.Add(new Control("System Fan #2", 2));
2165+
c.Add(new Control("System Fan #3", 3));
2166+
c.Add(new Control("CPU Optional Fan", 4));
2167+
2168+
break;
2169+
21392170
default:
21402171
v.Add(new Voltage("Voltage #1", 0, true));
21412172
v.Add(new Voltage("Voltage #2", 1, true));
@@ -2409,6 +2440,28 @@ private static void GetIteConfigurationsC(ISuperIO superIO, Manufacturer manufac
24092440
c.Add(new Control("System Fan #4", 2));
24102441
break;
24112442

2443+
case Model.X870E_AORUS_PRO:
2444+
case Model.X870E_AORUS_PRO_ICE: // ITE IT87952E
2445+
v.Add(new Voltage("VIN0", 0));
2446+
v.Add(new Voltage("Voltage #2", 1, true));
2447+
v.Add(new Voltage("PM_VCC18", 2));
2448+
v.Add(new Voltage("VIN3", 3));
2449+
v.Add(new Voltage("CPU VDD18", 4));
2450+
v.Add(new Voltage("PM_VDD1V", 5));
2451+
v.Add(new Voltage("VIN6", 6));
2452+
v.Add(new Voltage("+3V Standby", 7, 1, 1));
2453+
v.Add(new Voltage("CMOS Battery", 8, 1, 1));
2454+
t.Add(new Temperature("PCIe x4", 0));
2455+
t.Add(new Temperature("External #2", 1));
2456+
t.Add(new Temperature("System #2", 2));
2457+
f.Add(new Fan("System Fan #5 / Pump", 0));
2458+
f.Add(new Fan("System Fan #6 / Pump", 1));
2459+
f.Add(new Fan("System Fan #4 ", 2));
2460+
c.Add(new Control("System Fan #5 / Pump", 0));
2461+
c.Add(new Control("System Fan #6 / Pump", 1));
2462+
c.Add(new Control("System Fan #4", 2));
2463+
break;
2464+
24122465
default:
24132466
v.Add(new Voltage("Voltage #1", 0, true));
24142467
v.Add(new Voltage("Voltage #2", 1, true));

0 commit comments

Comments
 (0)