Added support for IT8705F super I/O chips.

This commit is contained in:
Michael Möller
2012-06-23 22:14:28 +00:00
parent 2c815088d7
commit 3d1e07b438
6 changed files with 31 additions and 12 deletions
+2
View File
@@ -24,6 +24,7 @@ namespace OpenHardwareMonitor.Hardware.LPC {
F71889F = 0x0723,
F71808E = 0x0901,
IT8705F = 0x8705,
IT8712F = 0x8712,
IT8716F = 0x8716,
IT8718F = 0x8718,
@@ -64,6 +65,7 @@ namespace OpenHardwareMonitor.Hardware.LPC {
case Chip.F71889F: return "Fintek F71889F";
case Chip.F71808E: return "Fintek F71808E";
case Chip.IT8705F: return "ITE IT8705F";
case Chip.IT8712F: return "ITE IT8712F";
case Chip.IT8716F: return "ITE IT8716F";
case Chip.IT8718F: return "ITE IT8718F";
+6 -3
View File
@@ -102,7 +102,7 @@ namespace OpenHardwareMonitor.Hardware.LPC {
voltages = new float?[9];
temperatures = new float?[3];
fans = new float?[5];
fans = new float?[chip == Chip.IT8705F ? 3 : 5];
// IT8721F, IT8728F and IT8772E use a 12mV resultion ADC, all others 16mV
if (chip == Chip.IT8721F || chip == Chip.IT8728F || chip == Chip.IT8771E
@@ -113,8 +113,10 @@ namespace OpenHardwareMonitor.Hardware.LPC {
voltageGain = 0.016f;
}
// older IT8721F revision do not have 16-bit fan counters
if (chip == Chip.IT8712F && version < 8) {
// older IT8705F and IT8721F revisions do not have 16-bit fan counters
if ((chip == Chip.IT8705F && version < 3) ||
(chip == Chip.IT8712F && version < 8))
{
has16bitFanCounter = false;
} else {
has16bitFanCounter = true;
@@ -132,6 +134,7 @@ namespace OpenHardwareMonitor.Hardware.LPC {
case Chip.IT8721F:
gpioCount = 8;
break;
case Chip.IT8705F:
case Chip.IT8728F:
case Chip.IT8771E:
case Chip.IT8772E:
+3 -1
View File
@@ -4,7 +4,7 @@
License, v. 2.0. If a copy of the MPL was not distributed with this
file, You can obtain one at http://mozilla.org/MPL/2.0/.
Copyright (C) 2009-2011 Michael Möller <mmoeller@openhardwaremonitor.org>
Copyright (C) 2009-2012 Michael Möller <mmoeller@openhardwaremonitor.org>
*/
@@ -44,6 +44,8 @@ namespace OpenHardwareMonitor.Hardware.LPC {
case "f71889fg":
lmChips.Add(new LMChip(Chip.F71889F, path)); break;
case "it8705":
lmChips.Add(new LMChip(Chip.IT8705F, path)); break;
case "it8712":
lmChips.Add(new LMChip(Chip.IT8712F, path)); break;
case "it8716":
+17 -6
View File
@@ -309,7 +309,8 @@ namespace OpenHardwareMonitor.Hardware.LPC {
#region ITE
private const byte IT87_ENVIRONMENT_CONTROLLER_LDN = 0x04;
private const byte IT87_GPIO_LDN = 0x07;
private const byte IT8705_GPIO_LDN = 0x05;
private const byte IT87XX_GPIO_LDN = 0x07;
private const byte IT87_CHIP_VERSION_REGISTER = 0x22;
private void IT87Enter() {
@@ -335,6 +336,7 @@ namespace OpenHardwareMonitor.Hardware.LPC {
ushort chipID = ReadWord(CHIP_ID_REGISTER);
Chip chip;
switch (chipID) {
case 0x8705: chip = Chip.IT8705F; break;
case 0x8712: chip = Chip.IT8712F; break;
case 0x8716: chip = Chip.IT8716F; break;
case 0x8718: chip = Chip.IT8718F; break;
@@ -360,11 +362,20 @@ namespace OpenHardwareMonitor.Hardware.LPC {
byte version = (byte)(ReadByte(IT87_CHIP_VERSION_REGISTER) & 0x0F);
Select(IT87_GPIO_LDN);
ushort gpioAddress = ReadWord(BASE_ADDRESS_REGISTER + 2);
Thread.Sleep(1);
ushort gpioVerify = ReadWord(BASE_ADDRESS_REGISTER + 2);
ushort gpioAddress;
ushort gpioVerify;
if (chip == Chip.IT8705F) {
Select(IT8705_GPIO_LDN);
gpioAddress = ReadWord(BASE_ADDRESS_REGISTER);
Thread.Sleep(1);
gpioVerify = ReadWord(BASE_ADDRESS_REGISTER);
} else {
Select(IT87XX_GPIO_LDN);
gpioAddress = ReadWord(BASE_ADDRESS_REGISTER + 2);
Thread.Sleep(1);
gpioVerify = ReadWord(BASE_ADDRESS_REGISTER + 2);
}
IT87Exit();
if (address != verify || address < 0x100 || (address & 0xF007) != 0) {
+1
View File
@@ -62,6 +62,7 @@ namespace OpenHardwareMonitor.Hardware.Mainboard {
List<Ctrl> c = new List<Ctrl>();
switch (superIO.Chip) {
case Chip.IT8705F:
case Chip.IT8712F:
case Chip.IT8716F:
case Chip.IT8718F:
+2 -2
View File
@@ -10,5 +10,5 @@
using System.Reflection;
[assembly: AssemblyVersion("0.4.0.8")]
[assembly: AssemblyInformationalVersion("0.4.0.8 Alpha")]
[assembly: AssemblyVersion("0.4.0.10")]
[assembly: AssemblyInformationalVersion("0.4.0.10 Alpha")]