diff --git a/Hardware/LPC/Chip.cs b/Hardware/LPC/Chip.cs index 487c52d..47d97f6 100644 --- a/Hardware/LPC/Chip.cs +++ b/Hardware/LPC/Chip.cs @@ -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"; diff --git a/Hardware/LPC/IT87XX.cs b/Hardware/LPC/IT87XX.cs index 034d704..59c9283 100644 --- a/Hardware/LPC/IT87XX.cs +++ b/Hardware/LPC/IT87XX.cs @@ -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: diff --git a/Hardware/LPC/LMSensors.cs b/Hardware/LPC/LMSensors.cs index 232478b..483028e 100755 --- a/Hardware/LPC/LMSensors.cs +++ b/Hardware/LPC/LMSensors.cs @@ -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 + Copyright (C) 2009-2012 Michael Möller */ @@ -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": diff --git a/Hardware/LPC/LPCIO.cs b/Hardware/LPC/LPCIO.cs index 1f26b49..26d5254 100644 --- a/Hardware/LPC/LPCIO.cs +++ b/Hardware/LPC/LPCIO.cs @@ -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) { diff --git a/Hardware/Mainboard/SuperIOHardware.cs b/Hardware/Mainboard/SuperIOHardware.cs index 94cfef4..c5fa907 100644 --- a/Hardware/Mainboard/SuperIOHardware.cs +++ b/Hardware/Mainboard/SuperIOHardware.cs @@ -62,6 +62,7 @@ namespace OpenHardwareMonitor.Hardware.Mainboard { List c = new List(); switch (superIO.Chip) { + case Chip.IT8705F: case Chip.IT8712F: case Chip.IT8716F: case Chip.IT8718F: diff --git a/Properties/AssemblyVersion.cs b/Properties/AssemblyVersion.cs index 454de5d..6a156bb 100644 --- a/Properties/AssemblyVersion.cs +++ b/Properties/AssemblyVersion.cs @@ -10,5 +10,5 @@ using System.Reflection; -[assembly: AssemblyVersion("0.4.0.8")] -[assembly: AssemblyInformationalVersion("0.4.0.8 Alpha")] \ No newline at end of file +[assembly: AssemblyVersion("0.4.0.10")] +[assembly: AssemblyInformationalVersion("0.4.0.10 Alpha")] \ No newline at end of file