From 3dd1b47843f8104505a8453d88d7c6abf6c40af7 Mon Sep 17 00:00:00 2001 From: Cobra_Fast Date: Mon, 24 Jul 2017 20:08:16 +0200 Subject: [PATCH 1/2] Add support for Intel Core X (Skylake-X only) CPUs. --- Hardware/CPU/IntelCPU.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/Hardware/CPU/IntelCPU.cs b/Hardware/CPU/IntelCPU.cs index cddafc4..60ae587 100644 --- a/Hardware/CPU/IntelCPU.cs +++ b/Hardware/CPU/IntelCPU.cs @@ -170,6 +170,7 @@ namespace OpenHardwareMonitor.Hardware.CPU { break; case 0x4E: case 0x5E: // Intel Core i5, i7 6xxxx LGA1151 (14nm) + case 0x55: // Intel Core X i7, i9 7xxx LGA2066 (14nm) microarchitecture = Microarchitecture.Skylake; tjMax = GetTjMaxFromMSR(); break; From 3ef6fc04a19b77a55d039a97274461072b1faf8c Mon Sep 17 00:00:00 2001 From: Cobra_Fast Date: Mon, 24 Jul 2017 23:39:46 +0200 Subject: [PATCH 2/2] Added support for Nuvoton NCT6796D. --- Hardware/LPC/Chip.cs | 2 ++ Hardware/LPC/LMSensors.cs | 2 ++ Hardware/LPC/LPCIO.cs | 10 +++++++++- Hardware/LPC/NCT677X.cs | 3 ++- Hardware/Mainboard/SuperIOHardware.cs | 1 + 5 files changed, 16 insertions(+), 2 deletions(-) diff --git a/Hardware/LPC/Chip.cs b/Hardware/LPC/Chip.cs index 94e75f6..a184c90 100644 --- a/Hardware/LPC/Chip.cs +++ b/Hardware/LPC/Chip.cs @@ -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"; diff --git a/Hardware/LPC/LMSensors.cs b/Hardware/LPC/LMSensors.cs index 414fffa..c101bed 100755 --- a/Hardware/LPC/LMSensors.cs +++ b/Hardware/LPC/LMSensors.cs @@ -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; diff --git a/Hardware/LPC/LPCIO.cs b/Hardware/LPC/LPCIO.cs index 8fda66a..e029614 100644 --- a/Hardware/LPC/LPCIO.cs +++ b/Hardware/LPC/LPCIO.cs @@ -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: diff --git a/Hardware/LPC/NCT677X.cs b/Hardware/LPC/NCT677X.cs index 48d8d0e..ae90b58 100644 --- a/Hardware/LPC/NCT677X.cs +++ b/Hardware/LPC/NCT677X.cs @@ -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 diff --git a/Hardware/Mainboard/SuperIOHardware.cs b/Hardware/Mainboard/SuperIOHardware.cs index 8d10b28..39afeac 100644 --- a/Hardware/Mainboard/SuperIOHardware.cs +++ b/Hardware/Mainboard/SuperIOHardware.cs @@ -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: