Integrated the patch for Fintek F71808E super I/O support developed by Andrey Mushatov.

This commit is contained in:
Michael Möller
2012-06-22 10:05:23 +00:00
parent bd7c571e17
commit 2c815088d7
4 changed files with 19 additions and 5 deletions
+2
View File
@@ -22,6 +22,7 @@ namespace OpenHardwareMonitor.Hardware.LPC {
F71889AD = 0x1005,
F71889ED = 0x0909,
F71889F = 0x0723,
F71808E = 0x0901,
IT8712F = 0x8712,
IT8716F = 0x8716,
@@ -61,6 +62,7 @@ namespace OpenHardwareMonitor.Hardware.LPC {
case Chip.F71889AD: return "Fintek F71889AD";
case Chip.F71889ED: return "Fintek F71889ED";
case Chip.F71889F: return "Fintek F71889F";
case Chip.F71808E: return "Fintek F71808E";
case Chip.IT8712F: return "ITE IT8712F";
case Chip.IT8716F: return "ITE IT8716F";
+9 -4
View File
@@ -52,8 +52,8 @@ namespace OpenHardwareMonitor.Hardware.LPC {
this.chip = chip;
voltages = new float?[chip == Chip.F71858 ? 3 : 9];
temperatures = new float?[3];
fans = new float?[chip == Chip.F71882 || chip == Chip.F71858? 4 : 3];
temperatures = new float?[chip == Chip.F71808E ? 2 : 3];
fans = new float?[chip == Chip.F71882 || chip == Chip.F71858 ? 4 : 3];
controls = new float?[0];
}
@@ -102,8 +102,13 @@ namespace OpenHardwareMonitor.Hardware.LPC {
return;
for (int i = 0; i < voltages.Length; i++) {
int value = ReadByte((byte)(VOLTAGE_BASE_REG + i));
voltages[i] = 0.008f * value;
if (chip == Chip.F71808E && i == 6) {
// 0x26 is reserved on F71808E
voltages[i] = 0;
} else {
int value = ReadByte((byte)(VOLTAGE_BASE_REG + i));
voltages[i] = 0.008f * value;
}
}
for (int i = 0; i < temperatures.Length; i++) {
+5
View File
@@ -122,6 +122,10 @@ namespace OpenHardwareMonitor.Hardware.LPC {
} break;
case 0x09:
switch (revision) {
case 0x01:
chip = Chip.F71808E;
logicalDeviceNumber = FINTEK_HARDWARE_MONITOR_LDN;
break;
case 0x09:
chip = Chip.F71889ED;
logicalDeviceNumber = FINTEK_HARDWARE_MONITOR_LDN;
@@ -276,6 +280,7 @@ namespace OpenHardwareMonitor.Hardware.LPC {
case Chip.F71889AD:
case Chip.F71889ED:
case Chip.F71889F:
case Chip.F71808E:
if (vendorID != FINTEK_VENDOR_ID) {
report.Append("Chip ID: 0x");
report.AppendLine(chip.ToString("X"));
+3 -1
View File
@@ -576,6 +576,7 @@ namespace OpenHardwareMonitor.Hardware.Mainboard {
case Chip.F71889AD:
case Chip.F71889ED:
case Chip.F71889F:
case Chip.F71808E:
switch (manufacturer) {
case Manufacturer.EVGA:
switch (model) {
@@ -620,7 +621,8 @@ namespace OpenHardwareMonitor.Hardware.Mainboard {
v.Add(new Voltage("Voltage #4", 3, true));
v.Add(new Voltage("Voltage #5", 4, true));
v.Add(new Voltage("Voltage #6", 5, true));
v.Add(new Voltage("Voltage #7", 6, true));
if (superIO.Chip != Chip.F71808E)
v.Add(new Voltage("Voltage #7", 6, true));
v.Add(new Voltage("VSB3V", 7, 150, 150));
v.Add(new Voltage("VBat", 8, 150, 150));
for (int i = 0; i < superIO.Temperatures.Length; i++)