From 3460ec7fb27a4c9ac1aec6512364340c4bd38004 Mon Sep 17 00:00:00 2001 From: Aeronaut Date: Thu, 10 May 2018 18:56:45 +0200 Subject: [PATCH] Added support for NCT6792D, tested on MSI X99S Gaming 7 (#38) --- Hardware/LPC/Chip.cs | 2 ++ Hardware/LPC/LMSensors.cs | 2 ++ Hardware/LPC/LPCIO.cs | 20 ++++++++++++++------ Hardware/LPC/NCT677X.cs | 5 +++-- Hardware/Mainboard/SuperIOHardware.cs | 3 ++- 5 files changed, 23 insertions(+), 9 deletions(-) diff --git a/Hardware/LPC/Chip.cs b/Hardware/LPC/Chip.cs index 92050c3..6c61a4b 100644 --- a/Hardware/LPC/Chip.cs +++ b/Hardware/LPC/Chip.cs @@ -46,6 +46,7 @@ namespace OpenHardwareMonitor.Hardware.LPC { NCT610X = 0xC452, NCT6779D = 0xC560, NCT6791D = 0xC803, + NCT6792D = 0xC911, NCT6793D = 0xD121, NCT6795D = 0xD352, NCT6796D = 0xD423, @@ -100,6 +101,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.NCT6792D: return "Nuvoton NCT6792D"; case Chip.NCT6793D: return "Nuvoton NCT6793D"; case Chip.NCT6795D: return "Nuvoton NCT6795D"; case Chip.NCT6796D: return "Nuvoton NCT6796D"; diff --git a/Hardware/LPC/LMSensors.cs b/Hardware/LPC/LMSensors.cs index 57e07e3..9dc05b2 100755 --- a/Hardware/LPC/LMSensors.cs +++ b/Hardware/LPC/LMSensors.cs @@ -75,6 +75,8 @@ namespace OpenHardwareMonitor.Hardware.LPC { lmChips.Add(new LMChip(Chip.NCT6779D, path)); break; case "nct6791": lmChips.Add(new LMChip(Chip.NCT6791D, path)); break; + case "nct6792": + lmChips.Add(new LMChip(Chip.NCT6792D, path)); break; case "nct6793": lmChips.Add(new LMChip(Chip.NCT6793D, path)); break; case "nct6795": diff --git a/Hardware/LPC/LPCIO.cs b/Hardware/LPC/LPCIO.cs index 53de239..54ef729 100644 --- a/Hardware/LPC/LPCIO.cs +++ b/Hardware/LPC/LPCIO.cs @@ -216,14 +216,14 @@ namespace OpenHardwareMonitor.Hardware.LPC { logicalDeviceNumber = WINBOND_NUVOTON_HARDWARE_MONITOR_LDN; break; } break; - case 0xD4: + case 0xC9: switch (revision) { - case 0x23: - chip = Chip.NCT6796D; + case 0x11: + chip = Chip.NCT6792D; logicalDeviceNumber = WINBOND_NUVOTON_HARDWARE_MONITOR_LDN; break; - } break; - case 0xD1: + } break; + case 0xD1: switch (revision) { case 0x21: chip = Chip.NCT6793D; @@ -237,6 +237,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) { @@ -305,9 +312,10 @@ namespace OpenHardwareMonitor.Hardware.LPC { case Chip.NCT6776F: case Chip.NCT6779D: case Chip.NCT6791D: - case Chip.NCT6796D: + case Chip.NCT6792D: case Chip.NCT6793D: case Chip.NCT6795D: + case Chip.NCT6796D: superIOs.Add(new NCT677X(chip, revision, address, port)); break; case Chip.F71858: diff --git a/Hardware/LPC/NCT677X.cs b/Hardware/LPC/NCT677X.cs index 3339681..28cbaaa 100644 --- a/Hardware/LPC/NCT677X.cs +++ b/Hardware/LPC/NCT677X.cs @@ -271,9 +271,10 @@ namespace OpenHardwareMonitor.Hardware.LPC { break; case Chip.NCT6779D: - case Chip.NCT6795D: - case Chip.NCT6793D: case Chip.NCT6791D: + case Chip.NCT6792D: + case Chip.NCT6793D: + case Chip.NCT6795D: case Chip.NCT6796D: if (chip == Chip.NCT6779D) { fans = new float?[5]; diff --git a/Hardware/Mainboard/SuperIOHardware.cs b/Hardware/Mainboard/SuperIOHardware.cs index a847d16..3ec95bf 100644 --- a/Hardware/Mainboard/SuperIOHardware.cs +++ b/Hardware/Mainboard/SuperIOHardware.cs @@ -268,9 +268,10 @@ namespace OpenHardwareMonitor.Hardware.Mainboard { break; case Chip.NCT6779D: case Chip.NCT6791D: - case Chip.NCT6796D: + case Chip.NCT6792D: case Chip.NCT6793D: case Chip.NCT6795D: + case Chip.NCT6796D: GetNuvotonConfigurationD(superIO, manufacturer, model, v, t, f, c); break; default: