mirror of
https://github.com/openhardwaremonitor/openhardwaremonitor
synced 2025-08-30 13:57:38 +00:00
Added experimental support for the ITE IT8655E, IT8665E and IT8686E chips.
This commit is contained in:
@@ -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";
|
||||
|
@@ -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;
|
||||
}
|
||||
|
@@ -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:
|
||||
|
Reference in New Issue
Block a user