Added support for F71889ED super I/O chips.

This commit is contained in:
Michael Möller
2010-04-27 18:43:56 +00:00
parent e7c951b093
commit d868dda7fb
6 changed files with 30 additions and 13 deletions

View File

@@ -24,7 +24,8 @@ namespace OpenHardwareMonitor.Hardware.LPC {
F71862 = 0x0601,
F71869 = 0x0814,
F71882 = 0x0541,
F71889 = 0x0723
F71889ED = 0x0909,
F71889F = 0x0723
}
}

View File

@@ -64,7 +64,7 @@ namespace OpenHardwareMonitor.Hardware.LPC {
WinRing0.WriteIoPortByte(
(ushort)(address + ADDRESS_REGISTER_OFFSET), register);
return WinRing0.ReadIoPortByte((ushort)(address + DATA_REGISTER_OFFSET));
}
}
public F718XX(Chip chip, ushort address) : base(chip) {
this.address = address;

View File

@@ -156,7 +156,7 @@ namespace OpenHardwareMonitor.Hardware.LPC {
case 0x07:
switch (revision) {
case 0x23:
chip = Chip.F71889;
chip = Chip.F71889F;
logicalDeviceNumber = FINTEK_HARDWARE_MONITOR_LDN;
break;
} break;
@@ -167,6 +167,13 @@ namespace OpenHardwareMonitor.Hardware.LPC {
logicalDeviceNumber = FINTEK_HARDWARE_MONITOR_LDN;
break;
} break;
case 0x09:
switch (revision) {
case 0x09:
chip = Chip.F71889ED;
logicalDeviceNumber = FINTEK_HARDWARE_MONITOR_LDN;
break;
} break;
case 0x52:
switch (revision) {
case 0x17:
@@ -241,10 +248,7 @@ namespace OpenHardwareMonitor.Hardware.LPC {
Thread.Sleep(1);
ushort verify = ReadWord(BASE_ADDRESS_REGISTER);
ushort vendorID = FINTEK_VENDOR_ID;
if (chip == Chip.F71858 || chip == Chip.F71862 ||
chip == Chip.F71882 || chip == Chip.F71889)
vendorID = ReadWord(FINTEK_VENDOR_ID_REGISTER);
ushort vendorID = ReadWord(FINTEK_VENDOR_ID_REGISTER);
WinbondFintekExit();
@@ -288,9 +292,20 @@ namespace OpenHardwareMonitor.Hardware.LPC {
break;
case Chip.F71858:
case Chip.F71862:
case Chip.F71882:
case Chip.F71889:
case Chip.F71869:
case Chip.F71882:
case Chip.F71889ED:
case Chip.F71889F:
if (vendorID != FINTEK_VENDOR_ID) {
report.Append("Chip ID: 0x");
report.AppendLine(chip.ToString("X"));
report.Append("Chip revision: 0x");
report.AppendLine(revision.ToString("X"));
report.Append("Error: Invalid vendor ID 0x");
report.AppendLine(vendorID.ToString("X"));
report.AppendLine();
return;
}
hardware.Add(new F718XX(chip, address));
break;
default: break;

View File

@@ -55,7 +55,8 @@ namespace OpenHardwareMonitor.Hardware.LPC {
case Chip.F71862: name = "Fintek F71862"; break;
case Chip.F71869: name = "Fintek F71869"; break;
case Chip.F71882: name = "Fintek F71882"; break;
case Chip.F71889: name = "Fintek F71889"; break;
case Chip.F71889ED: name = "Fintek F71889ED"; break;
case Chip.F71889F: name = "Fintek F71889F"; break;
case Chip.IT8712F: this.name = "ITE IT8712F"; break;
case Chip.IT8716F: this.name = "ITE IT8716F"; break;
case Chip.IT8718F: this.name = "ITE IT8718F"; break;

View File

@@ -65,7 +65,7 @@ namespace OpenHardwareMonitor.Hardware.Mainboard {
raw = (byte[])mo["SMBiosData"];
break;
}
} catch (NotImplementedException) { } catch (ManagementException) { }
} catch { }
if (raw != null && raw.Length > 0) {
int offset = 0;

View File

@@ -69,5 +69,5 @@ using System.Runtime.InteropServices;
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("0.1.31.0")]
[assembly: AssemblyFileVersion("0.1.31.0")]
[assembly: AssemblyVersion("0.1.32.0")]
[assembly: AssemblyFileVersion("0.1.32.0")]