Added experimental support for the ITE IT8655E, IT8665E and IT8686E chips.

This commit is contained in:
Michael Möller
2020-01-31 23:22:29 +01:00
parent 5633649512
commit 03303c0e5d
3 changed files with 46 additions and 22 deletions

View File

@@ -27,6 +27,9 @@ namespace OpenHardwareMonitor.Hardware.LPC {
IT8620E = 0x8620,
IT8628E = 0x8628,
IT8655E = 0x8655,
IT8665E = 0x8665,
IT8686E = 0x8686,
IT8688E = 0x8688,
IT8705F = 0x8705,
IT8712F = 0x8712,
@@ -76,6 +79,9 @@ namespace OpenHardwareMonitor.Hardware.LPC {
case Chip.IT8620E: return "ITE IT8620E";
case Chip.IT8628E: return "ITE IT8628E";
case Chip.IT8655E: return "ITE IT8655E";
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";

View File

@@ -136,30 +136,50 @@ namespace OpenHardwareMonitor.Hardware.LPC {
return;
// Bit 0x10 of the configuration register should always be 1
if ((ReadByte(CONFIGURATION_REGISTER, out valid) & 0x10) == 0)
byte configuration = ReadByte(CONFIGURATION_REGISTER, out valid);
if ((configuration & 0x10) == 0 &&
chip != Chip.IT8655E && chip != Chip.IT8665E)
return;
if (!valid)
return;
if (chip == Chip.IT8688E) {
switch (chip) {
case Chip.IT8665E:
case Chip.IT8686E:
case Chip.IT8688E:
voltages = new float?[9];
temperatures = new float?[6];
fans = new float?[5];
} else if (chip == Chip.IT879XE) {
break;
case Chip.IT8655E:
voltages = new float?[9];
temperatures = new float?[6];
fans = new float?[3];
break;
case Chip.IT879XE:
voltages = new float?[9];
temperatures = new float?[3];
fans = new float?[3];
} else {
break;
case Chip.IT8705F:
voltages = new float?[9];
temperatures = new float?[3];
fans = new float?[chip == Chip.IT8705F ? 3 : 5];
fans = new float?[3];
controls = new float?[3];
break;
default:
voltages = new float?[9];
temperatures = new float?[3];
fans = new float?[5];
controls = new float?[3];
break;
}
// set the voltage for the ADC LSB
switch (chip) {
case Chip.IT8620E:
case Chip.IT8628E:
case Chip.IT8686E:
case Chip.IT8688E:
case Chip.IT8721F:
case Chip.IT8728F:
@@ -167,6 +187,8 @@ namespace OpenHardwareMonitor.Hardware.LPC {
case Chip.IT8772E:
voltageGain = 0.012f;
break;
case Chip.IT8655E:
case Chip.IT8665E:
case Chip.IT879XE:
voltageGain = 0.011f;
break;
@@ -196,14 +218,7 @@ namespace OpenHardwareMonitor.Hardware.LPC {
case Chip.IT8721F:
gpioCount = 8;
break;
case Chip.IT8620E:
case Chip.IT8628E:
case Chip.IT8688E:
case Chip.IT8705F:
case Chip.IT8728F:
case Chip.IT8771E:
case Chip.IT8772E:
case Chip.IT879XE:
default:
gpioCount = 0;
break;
}

View File

@@ -188,6 +188,9 @@ namespace OpenHardwareMonitor.Hardware.Mainboard {
case Chip.IT8620E:
case Chip.IT8628E:
case Chip.IT8655E:
case Chip.IT8665E:
case Chip.IT8686E:
case Chip.IT8688E:
case Chip.IT8721F:
case Chip.IT8728F: