mirror of
https://github.com/openhardwaremonitor/openhardwaremonitor
synced 2025-09-03 07:45:35 +00:00
Added experimental support for the Nuvoton NCT6791D super I/O chip.
This commit is contained in:
@@ -39,6 +39,7 @@ namespace OpenHardwareMonitor.Hardware.LPC {
|
|||||||
NCT6771F = 0xB470,
|
NCT6771F = 0xB470,
|
||||||
NCT6776F = 0xC330,
|
NCT6776F = 0xC330,
|
||||||
NCT6779D = 0xC560,
|
NCT6779D = 0xC560,
|
||||||
|
NCT6791D = 0xC803,
|
||||||
|
|
||||||
W83627DHG = 0xA020,
|
W83627DHG = 0xA020,
|
||||||
W83627DHGP = 0xB070,
|
W83627DHGP = 0xB070,
|
||||||
@@ -82,6 +83,7 @@ namespace OpenHardwareMonitor.Hardware.LPC {
|
|||||||
case Chip.NCT6771F: return "Nuvoton NCT6771F";
|
case Chip.NCT6771F: return "Nuvoton NCT6771F";
|
||||||
case Chip.NCT6776F: return "Nuvoton NCT6776F";
|
case Chip.NCT6776F: return "Nuvoton NCT6776F";
|
||||||
case Chip.NCT6779D: return "Nuvoton NCT6779D";
|
case Chip.NCT6779D: return "Nuvoton NCT6779D";
|
||||||
|
case Chip.NCT6791D: return "Nuvoton NCT6791D";
|
||||||
|
|
||||||
case Chip.W83627DHG: return "Winbond W83627DHG";
|
case Chip.W83627DHG: return "Winbond W83627DHG";
|
||||||
case Chip.W83627DHGP: return "Winbond W83627DHG-P";
|
case Chip.W83627DHGP: return "Winbond W83627DHG-P";
|
||||||
|
@@ -69,6 +69,10 @@ namespace OpenHardwareMonitor.Hardware.LPC {
|
|||||||
lmChips.Add(new LMChip(Chip.NCT6771F, path)); break;
|
lmChips.Add(new LMChip(Chip.NCT6771F, path)); break;
|
||||||
case "nct6776":
|
case "nct6776":
|
||||||
lmChips.Add(new LMChip(Chip.NCT6776F, path)); break;
|
lmChips.Add(new LMChip(Chip.NCT6776F, path)); break;
|
||||||
|
case "nct6779":
|
||||||
|
lmChips.Add(new LMChip(Chip.NCT6779D, path)); break;
|
||||||
|
case "nct6791":
|
||||||
|
lmChips.Add(new LMChip(Chip.NCT6791D, path)); break;
|
||||||
|
|
||||||
case "w83627ehf":
|
case "w83627ehf":
|
||||||
lmChips.Add(new LMChip(Chip.W83627EHF, path)); break;
|
lmChips.Add(new LMChip(Chip.W83627EHF, path)); break;
|
||||||
|
@@ -222,6 +222,13 @@ namespace OpenHardwareMonitor.Hardware.LPC {
|
|||||||
logicalDeviceNumber = WINBOND_NUVOTON_HARDWARE_MONITOR_LDN;
|
logicalDeviceNumber = WINBOND_NUVOTON_HARDWARE_MONITOR_LDN;
|
||||||
break;
|
break;
|
||||||
} break;
|
} break;
|
||||||
|
case 0xC8:
|
||||||
|
switch (revision) {
|
||||||
|
case 0x03:
|
||||||
|
chip = Chip.NCT6791D;
|
||||||
|
logicalDeviceNumber = WINBOND_NUVOTON_HARDWARE_MONITOR_LDN;
|
||||||
|
break;
|
||||||
|
} break;
|
||||||
}
|
}
|
||||||
if (chip == Chip.Unknown) {
|
if (chip == Chip.Unknown) {
|
||||||
if (id != 0 && id != 0xff) {
|
if (id != 0 && id != 0xff) {
|
||||||
@@ -283,6 +290,7 @@ namespace OpenHardwareMonitor.Hardware.LPC {
|
|||||||
case Chip.NCT6771F:
|
case Chip.NCT6771F:
|
||||||
case Chip.NCT6776F:
|
case Chip.NCT6776F:
|
||||||
case Chip.NCT6779D:
|
case Chip.NCT6779D:
|
||||||
|
case Chip.NCT6791D:
|
||||||
superIOs.Add(new NCT677X(chip, revision, address));
|
superIOs.Add(new NCT677X(chip, revision, address));
|
||||||
break;
|
break;
|
||||||
case Chip.F71858:
|
case Chip.F71858:
|
||||||
|
@@ -4,7 +4,7 @@
|
|||||||
License, v. 2.0. If a copy of the MPL was not distributed with this
|
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/.
|
file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
|
|
||||||
Copyright (C) 2010-2012 Michael Möller <mmoeller@openhardwaremonitor.org>
|
Copyright (C) 2010-2013 Michael Möller <mmoeller@openhardwaremonitor.org>
|
||||||
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@@ -56,11 +56,11 @@ namespace OpenHardwareMonitor.Hardware.LPC {
|
|||||||
private const ushort VENDOR_ID_LOW_REGISTER = 0x004F;
|
private const ushort VENDOR_ID_LOW_REGISTER = 0x004F;
|
||||||
|
|
||||||
private readonly ushort[] FAN_PWM_OUT_REG =
|
private readonly ushort[] FAN_PWM_OUT_REG =
|
||||||
{ 0x001, 0x003, 0x011, 0x013, 0x015 };
|
{ 0x001, 0x003, 0x011, 0x013, 0x015, 0x017 };
|
||||||
private readonly ushort[] FAN_PWM_COMMAND_REG =
|
private readonly ushort[] FAN_PWM_COMMAND_REG =
|
||||||
{ 0x109, 0x209, 0x309, 0x809, 0x909 };
|
{ 0x109, 0x209, 0x309, 0x809, 0x909, 0xA09 };
|
||||||
private readonly ushort[] FAN_CONTROL_MODE_REG =
|
private readonly ushort[] FAN_CONTROL_MODE_REG =
|
||||||
{ 0x102, 0x202, 0x302, 0x802, 0x902 };
|
{ 0x102, 0x202, 0x302, 0x802, 0x902, 0xA02 };
|
||||||
|
|
||||||
private readonly ushort fanRpmBaseRegister;
|
private readonly ushort fanRpmBaseRegister;
|
||||||
private readonly int minFanRPM;
|
private readonly int minFanRPM;
|
||||||
@@ -129,7 +129,7 @@ namespace OpenHardwareMonitor.Hardware.LPC {
|
|||||||
BYTE_TEMP = 22
|
BYTE_TEMP = 22
|
||||||
}
|
}
|
||||||
|
|
||||||
private enum SourceNCT6779D : byte {
|
private enum SourceNCT67XXD : byte {
|
||||||
SYSTIN = 1,
|
SYSTIN = 1,
|
||||||
CPUTIN = 2,
|
CPUTIN = 2,
|
||||||
AUXTIN0 = 3,
|
AUXTIN0 = 3,
|
||||||
@@ -217,14 +217,20 @@ namespace OpenHardwareMonitor.Hardware.LPC {
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case Chip.NCT6779D:
|
case Chip.NCT6779D:
|
||||||
fans = new float?[5];
|
case Chip.NCT6791D:
|
||||||
|
if (chip == Chip.NCT6779D) {
|
||||||
|
fans = new float?[5];
|
||||||
|
controls = new float?[5];
|
||||||
|
} else {
|
||||||
|
fans = new float?[6];
|
||||||
|
controls = new float?[6];
|
||||||
|
}
|
||||||
|
|
||||||
fanRpmBaseRegister = 0x4C0;
|
fanRpmBaseRegister = 0x4C0;
|
||||||
|
|
||||||
// min value RPM value with 13-bit fan counter
|
// min value RPM value with 13-bit fan counter
|
||||||
minFanRPM = (int)(1.35e6 / 0x1FFF);
|
minFanRPM = (int)(1.35e6 / 0x1FFF);
|
||||||
|
|
||||||
controls = new float?[5];
|
|
||||||
|
|
||||||
voltages = new float?[15];
|
voltages = new float?[15];
|
||||||
voltageRegisters = new ushort[]
|
voltageRegisters = new ushort[]
|
||||||
{ 0x480, 0x481, 0x482, 0x483, 0x484, 0x485, 0x486, 0x487, 0x488,
|
{ 0x480, 0x481, 0x482, 0x483, 0x484, 0x485, 0x486, 0x487, 0x488,
|
||||||
@@ -233,13 +239,13 @@ namespace OpenHardwareMonitor.Hardware.LPC {
|
|||||||
|
|
||||||
temperatures = new float?[7];
|
temperatures = new float?[7];
|
||||||
temperaturesSource = new byte[] {
|
temperaturesSource = new byte[] {
|
||||||
(byte)SourceNCT6779D.PECI_0,
|
(byte)SourceNCT67XXD.PECI_0,
|
||||||
(byte)SourceNCT6779D.CPUTIN,
|
(byte)SourceNCT67XXD.CPUTIN,
|
||||||
(byte)SourceNCT6779D.SYSTIN,
|
(byte)SourceNCT67XXD.SYSTIN,
|
||||||
(byte)SourceNCT6779D.AUXTIN0,
|
(byte)SourceNCT67XXD.AUXTIN0,
|
||||||
(byte)SourceNCT6779D.AUXTIN1,
|
(byte)SourceNCT67XXD.AUXTIN1,
|
||||||
(byte)SourceNCT6779D.AUXTIN2,
|
(byte)SourceNCT67XXD.AUXTIN2,
|
||||||
(byte)SourceNCT6779D.AUXTIN3
|
(byte)SourceNCT67XXD.AUXTIN3
|
||||||
};
|
};
|
||||||
|
|
||||||
temperatureRegister = new ushort[]
|
temperatureRegister = new ushort[]
|
||||||
@@ -254,7 +260,7 @@ namespace OpenHardwareMonitor.Hardware.LPC {
|
|||||||
alternateTemperatureRegister = new ushort?[]
|
alternateTemperatureRegister = new ushort?[]
|
||||||
{null, 0x491, 0x490, 0x492, 0x493, 0x494, 0x495 };
|
{null, 0x491, 0x490, 0x492, 0x493, 0x494, 0x495 };
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -398,14 +404,16 @@ namespace OpenHardwareMonitor.Hardware.LPC {
|
|||||||
ushort[] addresses = new ushort[] {
|
ushort[] addresses = new ushort[] {
|
||||||
0x000, 0x010, 0x020, 0x030, 0x040, 0x050, 0x060, 0x070,
|
0x000, 0x010, 0x020, 0x030, 0x040, 0x050, 0x060, 0x070,
|
||||||
0x100, 0x110, 0x120, 0x130, 0x140, 0x150,
|
0x100, 0x110, 0x120, 0x130, 0x140, 0x150,
|
||||||
0x200, 0x220, 0x230, 0x240, 0x250,
|
0x200, 0x220, 0x230, 0x240, 0x250, 0x260,
|
||||||
0x300, 0x320, 0x330, 0x340,
|
0x300, 0x320, 0x330, 0x340, 0x360,
|
||||||
0x400, 0x410, 0x420, 0x440, 0x450, 0x460, 0x480, 0x490, 0x4C0,
|
0x400, 0x410, 0x420, 0x440, 0x450, 0x460, 0x480, 0x490, 0x4B0,
|
||||||
0x500, 0x550,
|
0x4C0, 0x4F0,
|
||||||
|
0x500, 0x550, 0x560,
|
||||||
0x600, 0x610 ,0x620, 0x630, 0x640, 0x650, 0x660, 0x670,
|
0x600, 0x610 ,0x620, 0x630, 0x640, 0x650, 0x660, 0x670,
|
||||||
0x800,
|
0x700, 0x710, 0x720, 0x730,
|
||||||
0x900,
|
0x800, 0x820, 0x830, 0x840,
|
||||||
0xA00, 0xA10, 0xA20, 0xA30, 0xA50, 0xA60, 0xA70,
|
0x900, 0x920, 0x930, 0x940, 0x960,
|
||||||
|
0xA00, 0xA10, 0xA20, 0xA30, 0xA40, 0xA50, 0xA60, 0xA70,
|
||||||
0xB00, 0xB10, 0xB20, 0xB30, 0xB50, 0xB60, 0xB70,
|
0xB00, 0xB10, 0xB20, 0xB30, 0xB50, 0xB60, 0xB70,
|
||||||
0xC00, 0xC10, 0xC20, 0xC30, 0xC50, 0xC60, 0xC70,
|
0xC00, 0xC10, 0xC20, 0xC30, 0xC50, 0xC60, 0xC70,
|
||||||
0xD00, 0xD10, 0xD20, 0xD30, 0xD50, 0xD60,
|
0xD00, 0xD10, 0xD20, 0xD30, 0xD50, 0xD60,
|
||||||
|
@@ -1059,6 +1059,7 @@ namespace OpenHardwareMonitor.Hardware.Mainboard {
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case Chip.NCT6779D:
|
case Chip.NCT6779D:
|
||||||
|
case Chip.NCT6791D:
|
||||||
switch (manufacturer) {
|
switch (manufacturer) {
|
||||||
case Manufacturer.ASUS:
|
case Manufacturer.ASUS:
|
||||||
switch (model) {
|
switch (model) {
|
||||||
|
@@ -4,13 +4,12 @@
|
|||||||
License, v. 2.0. If a copy of the MPL was not distributed with this
|
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/.
|
file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
|
|
||||||
Copyright (C) 2009-2010 Michael Möller <mmoeller@openhardwaremonitor.org>
|
Copyright (C) 2009-2013 Michael Möller <mmoeller@openhardwaremonitor.org>
|
||||||
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
using System;
|
using System;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
using System.Text;
|
|
||||||
using System.Threading;
|
using System.Threading;
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
using OpenHardwareMonitor.GUI;
|
using OpenHardwareMonitor.GUI;
|
||||||
@@ -61,7 +60,11 @@ namespace OpenHardwareMonitor {
|
|||||||
return false;
|
return false;
|
||||||
if (!IsFileAvailable("OpenHardwareMonitorLib.dll"))
|
if (!IsFileAvailable("OpenHardwareMonitorLib.dll"))
|
||||||
return false;
|
return false;
|
||||||
|
if (!IsFileAvailable("OxyPlot.dll"))
|
||||||
|
return false;
|
||||||
|
if (!IsFileAvailable("OxyPlot.WindowsForms.dll"))
|
||||||
|
return false;
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -10,5 +10,5 @@
|
|||||||
|
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
|
|
||||||
[assembly: AssemblyVersion("0.6.0.0")]
|
[assembly: AssemblyVersion("0.6.0.1")]
|
||||||
[assembly: AssemblyInformationalVersion("0.6.0 Beta")]
|
[assembly: AssemblyInformationalVersion("0.6.0.1 Alpha")]
|
Reference in New Issue
Block a user