Integrated the patch for Fintek F71808E super I/O support developed by Andrey Mushatov.
authormoel.mich
Fri, 22 Jun 2012 10:05:23 +0000
changeset 3520899f651d5cf
parent 351 d389607e74ca
child 353 b4e37f5b2669
Integrated the patch for Fintek F71808E super I/O support developed by Andrey Mushatov.
Hardware/LPC/Chip.cs
Hardware/LPC/F718XX.cs
Hardware/LPC/LPCIO.cs
Hardware/Mainboard/SuperIOHardware.cs
     1.1 --- a/Hardware/LPC/Chip.cs	Mon May 28 13:45:38 2012 +0000
     1.2 +++ b/Hardware/LPC/Chip.cs	Fri Jun 22 10:05:23 2012 +0000
     1.3 @@ -22,6 +22,7 @@
     1.4      F71889AD = 0x1005,
     1.5      F71889ED = 0x0909,
     1.6      F71889F = 0x0723,
     1.7 +    F71808E = 0x0901,
     1.8  
     1.9      IT8712F = 0x8712,
    1.10      IT8716F = 0x8716,
    1.11 @@ -61,6 +62,7 @@
    1.12          case Chip.F71889AD: return "Fintek F71889AD";
    1.13          case Chip.F71889ED: return "Fintek F71889ED";
    1.14          case Chip.F71889F: return "Fintek F71889F";
    1.15 +        case Chip.F71808E: return "Fintek F71808E";
    1.16  
    1.17          case Chip.IT8712F: return "ITE IT8712F";
    1.18          case Chip.IT8716F: return "ITE IT8716F";
     2.1 --- a/Hardware/LPC/F718XX.cs	Mon May 28 13:45:38 2012 +0000
     2.2 +++ b/Hardware/LPC/F718XX.cs	Fri Jun 22 10:05:23 2012 +0000
     2.3 @@ -52,8 +52,8 @@
     2.4        this.chip = chip;
     2.5  
     2.6        voltages = new float?[chip == Chip.F71858 ? 3 : 9];
     2.7 -      temperatures = new float?[3];
     2.8 -      fans = new float?[chip == Chip.F71882 || chip == Chip.F71858? 4 : 3];
     2.9 +      temperatures = new float?[chip == Chip.F71808E ? 2 : 3];
    2.10 +      fans = new float?[chip == Chip.F71882 || chip == Chip.F71858 ? 4 : 3];
    2.11        controls = new float?[0];
    2.12      }
    2.13  
    2.14 @@ -102,8 +102,13 @@
    2.15          return;
    2.16  
    2.17        for (int i = 0; i < voltages.Length; i++) {
    2.18 -        int value = ReadByte((byte)(VOLTAGE_BASE_REG + i));
    2.19 -        voltages[i] = 0.008f * value;
    2.20 +        if (chip == Chip.F71808E && i == 6) {
    2.21 +          // 0x26 is reserved on F71808E
    2.22 +          voltages[i] = 0;
    2.23 +        } else {
    2.24 +          int value = ReadByte((byte)(VOLTAGE_BASE_REG + i));
    2.25 +          voltages[i] = 0.008f * value;
    2.26 +        }
    2.27        }
    2.28       
    2.29        for (int i = 0; i < temperatures.Length; i++) {
     3.1 --- a/Hardware/LPC/LPCIO.cs	Mon May 28 13:45:38 2012 +0000
     3.2 +++ b/Hardware/LPC/LPCIO.cs	Fri Jun 22 10:05:23 2012 +0000
     3.3 @@ -122,6 +122,10 @@
     3.4            } break;
     3.5          case 0x09:
     3.6            switch (revision) {
     3.7 +            case 0x01:
     3.8 +              chip = Chip.F71808E;
     3.9 +              logicalDeviceNumber = FINTEK_HARDWARE_MONITOR_LDN;
    3.10 +              break;
    3.11              case 0x09:
    3.12                chip = Chip.F71889ED;
    3.13                logicalDeviceNumber = FINTEK_HARDWARE_MONITOR_LDN;
    3.14 @@ -276,6 +280,7 @@
    3.15            case Chip.F71889AD:
    3.16            case Chip.F71889ED:
    3.17            case Chip.F71889F:
    3.18 +          case Chip.F71808E:
    3.19              if (vendorID != FINTEK_VENDOR_ID) {
    3.20                report.Append("Chip ID: 0x");
    3.21                report.AppendLine(chip.ToString("X"));
     4.1 --- a/Hardware/Mainboard/SuperIOHardware.cs	Mon May 28 13:45:38 2012 +0000
     4.2 +++ b/Hardware/Mainboard/SuperIOHardware.cs	Fri Jun 22 10:05:23 2012 +0000
     4.3 @@ -576,6 +576,7 @@
     4.4          case Chip.F71889AD: 
     4.5          case Chip.F71889ED: 
     4.6          case Chip.F71889F:
     4.7 +        case Chip.F71808E:
     4.8            switch (manufacturer) {
     4.9              case Manufacturer.EVGA:
    4.10                switch (model) {
    4.11 @@ -620,7 +621,8 @@
    4.12                v.Add(new Voltage("Voltage #4", 3, true));
    4.13                v.Add(new Voltage("Voltage #5", 4, true));
    4.14                v.Add(new Voltage("Voltage #6", 5, true));
    4.15 -              v.Add(new Voltage("Voltage #7", 6, true));
    4.16 +              if (superIO.Chip != Chip.F71808E) 
    4.17 +                  v.Add(new Voltage("Voltage #7", 6, true)); 
    4.18                v.Add(new Voltage("VSB3V", 7, 150, 150));
    4.19                v.Add(new Voltage("VBat", 8, 150, 150));
    4.20                for (int i = 0; i < superIO.Temperatures.Length; i++)