Add support for IT8688E chip and various motherboards (#83)
* Add IT8688E chip type * Add Z390 M Gaming motherboard type * Add proper voltage and temperatures for Z390 M Gaming * Add support for Z390 Aorus Ultra and Z390 UD
This commit is contained in:
committed by
Phyxion
parent
5a075e67f6
commit
040d6f8222
@@ -30,6 +30,7 @@ namespace OpenHardwareMonitor.Hardware.LPC {
|
||||
IT8628E = 0x8628,
|
||||
IT8665E = 0x8665,
|
||||
IT8686E = 0x8686,
|
||||
IT8688E = 0x8688,
|
||||
IT8705F = 0x8705,
|
||||
IT8712F = 0x8712,
|
||||
IT8716F = 0x8716,
|
||||
@@ -86,6 +87,7 @@ namespace OpenHardwareMonitor.Hardware.LPC {
|
||||
case Chip.IT8628E: return "ITE IT8628E";
|
||||
case Chip.IT8665E: return "ITE IT8665E";
|
||||
case Chip.IT8686E: return "ITE IT8686E";
|
||||
case Chip.IT8688E: return "ITE IT8688E";
|
||||
case Chip.IT8705F: return "ITE IT8705F";
|
||||
case Chip.IT8712F: return "ITE IT8712F";
|
||||
case Chip.IT8716F: return "ITE IT8716F";
|
||||
|
||||
+12
-1
@@ -64,6 +64,10 @@ namespace OpenHardwareMonitor.Hardware.LPC {
|
||||
Ring0.WriteIoPort(addressReg, register);
|
||||
byte value = Ring0.ReadIoPort(dataReg);
|
||||
valid = register == Ring0.ReadIoPort(addressReg);
|
||||
// IT8688E doesn't return the value we wrote to
|
||||
// addressReg when we read it back.
|
||||
if (this.chip == Chip.IT8688E)
|
||||
valid = true;
|
||||
return value;
|
||||
}
|
||||
|
||||
@@ -198,6 +202,11 @@ namespace OpenHardwareMonitor.Hardware.LPC {
|
||||
fans = new float?[6];
|
||||
fansDisabled = new bool[6];
|
||||
controls = new float?[3];
|
||||
} else if (chip == Chip.IT8688E) {
|
||||
voltages = new float?[11];
|
||||
temperatures = new float?[6];
|
||||
fans = new float?[5];
|
||||
controls = new float?[3];
|
||||
} else {
|
||||
voltages = new float?[9];
|
||||
temperatures = new float?[3];
|
||||
@@ -209,7 +218,8 @@ namespace OpenHardwareMonitor.Hardware.LPC {
|
||||
// IT8620E, IT8628E, IT8721F, IT8728F, IT8772E and IT8686E use a 12mV resultion
|
||||
// ADC, all others 16mV
|
||||
if (chip == Chip.IT8620E || chip == Chip.IT8628E || chip == Chip.IT8721F
|
||||
|| chip == Chip.IT8728F || chip == Chip.IT8771E || chip == Chip.IT8772E || chip == Chip.IT8686E)
|
||||
|| chip == Chip.IT8728F || chip == Chip.IT8771E || chip == Chip.IT8772E
|
||||
|| chip == Chip.IT8686E || chip == Chip.IT8688E)
|
||||
{
|
||||
voltageGain = 0.012f;
|
||||
}
|
||||
@@ -266,6 +276,7 @@ namespace OpenHardwareMonitor.Hardware.LPC {
|
||||
break;
|
||||
case Chip.IT8620E:
|
||||
case Chip.IT8628E:
|
||||
case Chip.IT8688E:
|
||||
case Chip.IT8705F:
|
||||
case Chip.IT8728F:
|
||||
case Chip.IT8771E:
|
||||
|
||||
@@ -385,6 +385,7 @@ namespace OpenHardwareMonitor.Hardware.LPC {
|
||||
case 0x8628: chip = Chip.IT8628E; break;
|
||||
case 0x8665: chip = Chip.IT8665E; break;
|
||||
case 0x8686: chip = Chip.IT8686E; break;
|
||||
case 0x8688: chip = Chip.IT8688E; break;
|
||||
case 0x8705: chip = Chip.IT8705F; break;
|
||||
case 0x8712: chip = Chip.IT8712F; break;
|
||||
case 0x8716: chip = Chip.IT8716F; break;
|
||||
|
||||
@@ -195,6 +195,12 @@ namespace OpenHardwareMonitor.Hardware.Mainboard {
|
||||
return Model.Z68X_UD3H_B3;
|
||||
case "Z68X-UD7-B3":
|
||||
return Model.Z68X_UD7_B3;
|
||||
case "Z390 M GAMING-CF":
|
||||
return Model.Z390_M_GAMING;
|
||||
case "Z390 AORUS ULTRA":
|
||||
return Model.Z390_AORUS_ULTRA;
|
||||
case "Z390 UD":
|
||||
return Model.Z390_UD;
|
||||
case "FH67":
|
||||
return Model.FH67;
|
||||
case "AX370-Gaming K7":
|
||||
|
||||
@@ -87,6 +87,9 @@ namespace OpenHardwareMonitor.Hardware.Mainboard {
|
||||
Z68X_UD3H_B3,
|
||||
Z68X_UD7_B3,
|
||||
AX370_K7,
|
||||
Z390_M_GAMING,
|
||||
Z390_AORUS_ULTRA,
|
||||
Z390_UD,
|
||||
|
||||
// Shuttle
|
||||
FH67,
|
||||
|
||||
@@ -176,6 +176,7 @@ namespace OpenHardwareMonitor.Hardware.Mainboard {
|
||||
c = new List<Ctrl>();
|
||||
|
||||
switch (superIO.Chip) {
|
||||
case Chip.IT8688E:
|
||||
case Chip.IT8705F:
|
||||
case Chip.IT8712F:
|
||||
case Chip.IT8716F:
|
||||
@@ -649,6 +650,31 @@ namespace OpenHardwareMonitor.Hardware.Mainboard {
|
||||
t.Add(new Temperature("VRM MOS", 4));
|
||||
for (int i = 0; i < superIO.Fans.Length; i++)
|
||||
f.Add(new Fan("Fan #" + (i + 1), i));
|
||||
break;
|
||||
case Model.Z390_M_GAMING: // IT8688E
|
||||
case Model.Z390_AORUS_ULTRA:
|
||||
case Model.Z390_UD:
|
||||
v.Add(new Voltage("CPU VCore", 0));
|
||||
v.Add(new Voltage("+3.3V", 1, 6.49f, 10));
|
||||
v.Add(new Voltage("+12V", 2, 5f, 1));
|
||||
v.Add(new Voltage("+5V", 3, 1.5f, 1));
|
||||
v.Add(new Voltage("CPU VCCGT", 4));
|
||||
v.Add(new Voltage("CPU VCCSA", 5));
|
||||
v.Add(new Voltage("VDDQ", 6));
|
||||
v.Add(new Voltage("DDRVTT", 7));
|
||||
v.Add(new Voltage("PCHCore", 8));
|
||||
v.Add(new Voltage("CPU VCCIO", 9));
|
||||
v.Add(new Voltage("DDRVPP", 10));
|
||||
t.Add(new Temperature("System1", 0));
|
||||
t.Add(new Temperature("PCH", 1));
|
||||
t.Add(new Temperature("CPU", 2));
|
||||
t.Add(new Temperature("PCIEX16", 3));
|
||||
t.Add(new Temperature("VRM MOS", 4));
|
||||
t.Add(new Temperature("System2", 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));
|
||||
break;
|
||||
default:
|
||||
v.Add(new Voltage("CPU VCore", 0));
|
||||
|
||||
Reference in New Issue
Block a user