Added support for IT8705F super I/O chips.
1.1 --- a/Hardware/LPC/Chip.cs Fri Jun 22 10:05:23 2012 +0000
1.2 +++ b/Hardware/LPC/Chip.cs Sat Jun 23 22:14:28 2012 +0000
1.3 @@ -24,6 +24,7 @@
1.4 F71889F = 0x0723,
1.5 F71808E = 0x0901,
1.6
1.7 + IT8705F = 0x8705,
1.8 IT8712F = 0x8712,
1.9 IT8716F = 0x8716,
1.10 IT8718F = 0x8718,
1.11 @@ -64,6 +65,7 @@
1.12 case Chip.F71889F: return "Fintek F71889F";
1.13 case Chip.F71808E: return "Fintek F71808E";
1.14
1.15 + case Chip.IT8705F: return "ITE IT8705F";
1.16 case Chip.IT8712F: return "ITE IT8712F";
1.17 case Chip.IT8716F: return "ITE IT8716F";
1.18 case Chip.IT8718F: return "ITE IT8718F";
2.1 --- a/Hardware/LPC/IT87XX.cs Fri Jun 22 10:05:23 2012 +0000
2.2 +++ b/Hardware/LPC/IT87XX.cs Sat Jun 23 22:14:28 2012 +0000
2.3 @@ -102,7 +102,7 @@
2.4
2.5 voltages = new float?[9];
2.6 temperatures = new float?[3];
2.7 - fans = new float?[5];
2.8 + fans = new float?[chip == Chip.IT8705F ? 3 : 5];
2.9
2.10 // IT8721F, IT8728F and IT8772E use a 12mV resultion ADC, all others 16mV
2.11 if (chip == Chip.IT8721F || chip == Chip.IT8728F || chip == Chip.IT8771E
2.12 @@ -113,8 +113,10 @@
2.13 voltageGain = 0.016f;
2.14 }
2.15
2.16 - // older IT8721F revision do not have 16-bit fan counters
2.17 - if (chip == Chip.IT8712F && version < 8) {
2.18 + // older IT8705F and IT8721F revisions do not have 16-bit fan counters
2.19 + if ((chip == Chip.IT8705F && version < 3) ||
2.20 + (chip == Chip.IT8712F && version < 8))
2.21 + {
2.22 has16bitFanCounter = false;
2.23 } else {
2.24 has16bitFanCounter = true;
2.25 @@ -132,6 +134,7 @@
2.26 case Chip.IT8721F:
2.27 gpioCount = 8;
2.28 break;
2.29 + case Chip.IT8705F:
2.30 case Chip.IT8728F:
2.31 case Chip.IT8771E:
2.32 case Chip.IT8772E:
3.1 --- a/Hardware/LPC/LMSensors.cs Fri Jun 22 10:05:23 2012 +0000
3.2 +++ b/Hardware/LPC/LMSensors.cs Sat Jun 23 22:14:28 2012 +0000
3.3 @@ -4,7 +4,7 @@
3.4 License, v. 2.0. If a copy of the MPL was not distributed with this
3.5 file, You can obtain one at http://mozilla.org/MPL/2.0/.
3.6
3.7 - Copyright (C) 2009-2011 Michael Möller <mmoeller@openhardwaremonitor.org>
3.8 + Copyright (C) 2009-2012 Michael Möller <mmoeller@openhardwaremonitor.org>
3.9
3.10 */
3.11
3.12 @@ -44,6 +44,8 @@
3.13 case "f71889fg":
3.14 lmChips.Add(new LMChip(Chip.F71889F, path)); break;
3.15
3.16 + case "it8705":
3.17 + lmChips.Add(new LMChip(Chip.IT8705F, path)); break;
3.18 case "it8712":
3.19 lmChips.Add(new LMChip(Chip.IT8712F, path)); break;
3.20 case "it8716":
4.1 --- a/Hardware/LPC/LPCIO.cs Fri Jun 22 10:05:23 2012 +0000
4.2 +++ b/Hardware/LPC/LPCIO.cs Sat Jun 23 22:14:28 2012 +0000
4.3 @@ -309,7 +309,8 @@
4.4 #region ITE
4.5
4.6 private const byte IT87_ENVIRONMENT_CONTROLLER_LDN = 0x04;
4.7 - private const byte IT87_GPIO_LDN = 0x07;
4.8 + private const byte IT8705_GPIO_LDN = 0x05;
4.9 + private const byte IT87XX_GPIO_LDN = 0x07;
4.10 private const byte IT87_CHIP_VERSION_REGISTER = 0x22;
4.11
4.12 private void IT87Enter() {
4.13 @@ -335,6 +336,7 @@
4.14 ushort chipID = ReadWord(CHIP_ID_REGISTER);
4.15 Chip chip;
4.16 switch (chipID) {
4.17 + case 0x8705: chip = Chip.IT8705F; break;
4.18 case 0x8712: chip = Chip.IT8712F; break;
4.19 case 0x8716: chip = Chip.IT8716F; break;
4.20 case 0x8718: chip = Chip.IT8718F; break;
4.21 @@ -360,11 +362,20 @@
4.22
4.23 byte version = (byte)(ReadByte(IT87_CHIP_VERSION_REGISTER) & 0x0F);
4.24
4.25 - Select(IT87_GPIO_LDN);
4.26 - ushort gpioAddress = ReadWord(BASE_ADDRESS_REGISTER + 2);
4.27 - Thread.Sleep(1);
4.28 - ushort gpioVerify = ReadWord(BASE_ADDRESS_REGISTER + 2);
4.29 -
4.30 + ushort gpioAddress;
4.31 + ushort gpioVerify;
4.32 + if (chip == Chip.IT8705F) {
4.33 + Select(IT8705_GPIO_LDN);
4.34 + gpioAddress = ReadWord(BASE_ADDRESS_REGISTER);
4.35 + Thread.Sleep(1);
4.36 + gpioVerify = ReadWord(BASE_ADDRESS_REGISTER);
4.37 + } else {
4.38 + Select(IT87XX_GPIO_LDN);
4.39 + gpioAddress = ReadWord(BASE_ADDRESS_REGISTER + 2);
4.40 + Thread.Sleep(1);
4.41 + gpioVerify = ReadWord(BASE_ADDRESS_REGISTER + 2);
4.42 + }
4.43 +
4.44 IT87Exit();
4.45
4.46 if (address != verify || address < 0x100 || (address & 0xF007) != 0) {
5.1 --- a/Hardware/Mainboard/SuperIOHardware.cs Fri Jun 22 10:05:23 2012 +0000
5.2 +++ b/Hardware/Mainboard/SuperIOHardware.cs Sat Jun 23 22:14:28 2012 +0000
5.3 @@ -62,6 +62,7 @@
5.4 List<Ctrl> c = new List<Ctrl>();
5.5
5.6 switch (superIO.Chip) {
5.7 + case Chip.IT8705F:
5.8 case Chip.IT8712F:
5.9 case Chip.IT8716F:
5.10 case Chip.IT8718F:
6.1 --- a/Properties/AssemblyVersion.cs Fri Jun 22 10:05:23 2012 +0000
6.2 +++ b/Properties/AssemblyVersion.cs Sat Jun 23 22:14:28 2012 +0000
6.3 @@ -10,5 +10,5 @@
6.4
6.5 using System.Reflection;
6.6
6.7 -[assembly: AssemblyVersion("0.4.0.8")]
6.8 -[assembly: AssemblyInformationalVersion("0.4.0.8 Alpha")]
6.9 \ No newline at end of file
6.10 +[assembly: AssemblyVersion("0.4.0.10")]
6.11 +[assembly: AssemblyInformationalVersion("0.4.0.10 Alpha")]
6.12 \ No newline at end of file