Added support for IT8705F super I/O chips.
authormoel.mich
Sat, 23 Jun 2012 22:14:28 +0000
changeset 353b4e37f5b2669
parent 352 0899f651d5cf
child 354 e71b968c04f9
Added support for IT8705F super I/O chips.
Hardware/LPC/Chip.cs
Hardware/LPC/IT87XX.cs
Hardware/LPC/LMSensors.cs
Hardware/LPC/LPCIO.cs
Hardware/Mainboard/SuperIOHardware.cs
Properties/AssemblyVersion.cs
     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