Added support for Nuvoton NCT6796D.

This commit is contained in:
Cobra_Fast
2017-07-24 23:39:46 +02:00
parent 3dd1b47843
commit 3ef6fc04a1
5 changed files with 16 additions and 2 deletions
+2
View File
@@ -43,6 +43,7 @@ namespace OpenHardwareMonitor.Hardware.LPC {
NCT610X = 0xC452,
NCT6779D = 0xC560,
NCT6791D = 0xC803,
NCT6796D = 0xD423,
W83627DHG = 0xA020,
W83627DHGP = 0xB070,
@@ -91,6 +92,7 @@ namespace OpenHardwareMonitor.Hardware.LPC {
case Chip.NCT6776F: return "Nuvoton NCT6776F";
case Chip.NCT6779D: return "Nuvoton NCT6779D";
case Chip.NCT6791D: return "Nuvoton NCT6791D";
case Chip.NCT6796D: return "Nuvoton NCT6796D";
case Chip.W83627DHG: return "Winbond W83627DHG";
case Chip.W83627DHGP: return "Winbond W83627DHG-P";
+2
View File
@@ -73,6 +73,8 @@ namespace OpenHardwareMonitor.Hardware.LPC {
lmChips.Add(new LMChip(Chip.NCT6779D, path)); break;
case "nct6791":
lmChips.Add(new LMChip(Chip.NCT6791D, path)); break;
case "nct6796":
lmChips.Add(new LMChip(Chip.NCT6796D, path)); break;
case "w83627ehf":
lmChips.Add(new LMChip(Chip.W83627EHF, path)); break;
+9 -1
View File
@@ -209,6 +209,13 @@ namespace OpenHardwareMonitor.Hardware.LPC {
logicalDeviceNumber = WINBOND_NUVOTON_HARDWARE_MONITOR_LDN;
break;
} break;
case 0xD4:
switch (revision) {
case 0x23:
chip = Chip.NCT6796D;
logicalDeviceNumber = WINBOND_NUVOTON_HARDWARE_MONITOR_LDN;
break;
} break;
}
if (chip == Chip.Unknown) {
if (id != 0 && id != 0xff) {
@@ -227,7 +234,7 @@ namespace OpenHardwareMonitor.Hardware.LPC {
ushort vendorID = port.ReadWord(FINTEK_VENDOR_ID_REGISTER);
// disable the hardware monitor i/o space lock on NCT6791D chips
if (address == verify && chip == Chip.NCT6791D) {
if (address == verify && (chip == Chip.NCT6791D || chip == Chip.NCT6796D)) {
port.NuvotonDisableIOSpaceLock();
}
@@ -277,6 +284,7 @@ namespace OpenHardwareMonitor.Hardware.LPC {
case Chip.NCT6776F:
case Chip.NCT6779D:
case Chip.NCT6791D:
case Chip.NCT6796D:
superIOs.Add(new NCT677X(chip, revision, address, port));
break;
case Chip.F71858:
+2 -1
View File
@@ -272,6 +272,7 @@ namespace OpenHardwareMonitor.Hardware.LPC {
case Chip.NCT6779D:
case Chip.NCT6791D:
case Chip.NCT6796D:
if (chip == Chip.NCT6779D) {
fans = new float?[5];
controls = new float?[5];
@@ -414,7 +415,7 @@ namespace OpenHardwareMonitor.Hardware.LPC {
public float?[] Controls { get { return controls; } }
private void DisableIOSpaceLock() {
if (chip != Chip.NCT6791D)
if (chip != Chip.NCT6791D && chip != Chip.NCT6796D)
return;
// the lock is disabled already if the vendor ID can be read
+1
View File
@@ -266,6 +266,7 @@ namespace OpenHardwareMonitor.Hardware.Mainboard {
break;
case Chip.NCT6779D:
case Chip.NCT6791D:
case Chip.NCT6796D:
GetNuvotonConfigurationD(superIO, manufacturer, model, v, t, f, c);
break;
default: