From e6e2b23ce4a8e53604e13dfe8b83eb79d437f23d Mon Sep 17 00:00:00 2001 From: CarterChu Date: Sun, 24 Nov 2024 18:00:57 +0800 Subject: [PATCH] Add support for ASRock Z790 Nova WiFi. (#1278) * Add support for ASRock Z790 Nova WiFi. * Correct the temperature source of motherboard. * Change the name of `T_SENSOR` to `External Temperature`. * Add "CPU System Agent" and "Vcore" under first SIO. Adjust the order of voltages. * Add `+5V Standby` voltage readings. * Update SuperIOHardware.cs * Update SuperIOHardware.cs * Update SuperIOHardware.cs --------- Co-authored-by: PhyxionNL <7643972+PhyxionNL@users.noreply.github.com> --- .../Hardware/Motherboard/Identification.cs | 2 + .../Hardware/Motherboard/Model.cs | 1 + .../Hardware/Motherboard/SuperIOHardware.cs | 55 ++++++++++++++++++- 3 files changed, 56 insertions(+), 2 deletions(-) diff --git a/LibreHardwareMonitorLib/Hardware/Motherboard/Identification.cs b/LibreHardwareMonitorLib/Hardware/Motherboard/Identification.cs index e157ba5..b732110 100755 --- a/LibreHardwareMonitorLib/Hardware/Motherboard/Identification.cs +++ b/LibreHardwareMonitorLib/Hardware/Motherboard/Identification.cs @@ -599,6 +599,8 @@ internal class Identification return Model.X570_Gaming_Plus; case var _ when name.Equals("ROG MAXIMUS Z790 FORMULA", StringComparison.OrdinalIgnoreCase): return Model.ROG_MAXIMUS_Z790_FORMULA; + case var _ when name.Equals("Z790 Nova WiFi", StringComparison.OrdinalIgnoreCase): + return Model.Z790_Nova_WiFi; case var _ when name.Equals("ROG MAXIMUS XII HERO (WI-FI)", StringComparison.OrdinalIgnoreCase): return Model.ROG_MAXIMUS_XII_HERO_WIFI; case var _ when name.Equals("X870E AORUS PRO", StringComparison.OrdinalIgnoreCase): diff --git a/LibreHardwareMonitorLib/Hardware/Motherboard/Model.cs b/LibreHardwareMonitorLib/Hardware/Motherboard/Model.cs index 8acf5ac..59779bb 100755 --- a/LibreHardwareMonitorLib/Hardware/Motherboard/Model.cs +++ b/LibreHardwareMonitorLib/Hardware/Motherboard/Model.cs @@ -39,6 +39,7 @@ public enum Model Z790_Pro_RS, X570_Phantom_Gaming_4, Z790_Taichi, + Z790_Nova_WiFi, B650M_C, H61M_DGS, diff --git a/LibreHardwareMonitorLib/Hardware/Motherboard/SuperIOHardware.cs b/LibreHardwareMonitorLib/Hardware/Motherboard/SuperIOHardware.cs index b8db1a4..8c86b95 100755 --- a/LibreHardwareMonitorLib/Hardware/Motherboard/SuperIOHardware.cs +++ b/LibreHardwareMonitorLib/Hardware/Motherboard/SuperIOHardware.cs @@ -36,6 +36,7 @@ internal sealed class SuperIOHardware : Hardware GetBoardSpecificConfiguration(superIO, manufacturer, model, + index, out IList v, out IList t, out IList f, @@ -181,6 +182,7 @@ internal sealed class SuperIOHardware : Hardware ISuperIO superIO, Manufacturer manufacturer, Model model, + int superIOIndex, out IList v, out IList t, out IList f, @@ -353,7 +355,7 @@ internal sealed class SuperIOHardware : Hardware case Chip.NCT6798D: case Chip.NCT6799D: case Chip.NCT6683D: - GetNuvotonConfigurationD(superIO, manufacturer, model, v, t, f, c); + GetNuvotonConfigurationD(superIO, manufacturer, model, superIOIndex, v, t, f, c); break; case Chip.NCT6686D: @@ -2932,7 +2934,7 @@ internal sealed class SuperIOHardware : Hardware } } - private static void GetNuvotonConfigurationD(ISuperIO superIO, Manufacturer manufacturer, Model model, IList v, IList t, IList f, IList c) + private static void GetNuvotonConfigurationD(ISuperIO superIO, Manufacturer manufacturer, Model model, int index, IList v, IList t, IList f, IList c) { switch (manufacturer) { @@ -3312,6 +3314,55 @@ internal sealed class SuperIOHardware : Hardware c.Add(new Control("Chassis Fan #3", 6)); break; + case Model.Z790_Nova_WiFi: + if (index != 0) + { + // second SIO + v.Add(new Voltage("1.05V CPU", 0)); + v.Add(new Voltage("CPU I/O", 1)); + v.Add(new Voltage("0.82V Chipset", 4)); + v.Add(new Voltage("1.05V Chipset", 12, 5, 100)); + + f.Add(new Fan("VRM", 0)); + f.Add(new Fan("MOS", 1)); + + c.Add(new Control("VRM", 0)); + c.Add(new Control("MOS", 1)); + } + else + { + v.Add(new Voltage("Vcore", 0)); + v.Add(new Voltage("+5V", 1, 20, 10)); + v.Add(new Voltage("+3.3V", 3, 34, 34)); + v.Add(new Voltage("+12V", 4, 110, 10)); + v.Add(new Voltage("CPU Input Auxiliary", 5, 1, 1)); + v.Add(new Voltage("CPU System Agent", 13, 1, 1)); + v.Add(new Voltage("+5V Standby", 14, 235, 100)); + + f.Add(new Fan("Chassis #3", 0)); + f.Add(new Fan("CPU #1", 1)); + f.Add(new Fan("CPU #2", 2)); + f.Add(new Fan("Chassis #1", 3)); + f.Add(new Fan("Chassis #2", 4)); + f.Add(new Fan("Chassis #4", 5)); + f.Add(new Fan("Chassis #5", 6)); + + c.Add(new Control("Chassis #3", 0)); + c.Add(new Control("CPU #1", 1)); + c.Add(new Control("CPU #2", 2)); + c.Add(new Control("Chassis #1", 3)); + c.Add(new Control("Chassis #2", 4)); + c.Add(new Control("Chassis #4", 5)); + c.Add(new Control("Chassis #5", 6)); + + t.Add(new Temperature("CPU Core", 0)); + t.Add(new Temperature("Motherboard", 2)); + t.Add(new Temperature("External #1", 3)); + t.Add(new Temperature("External #2", 4)); + t.Add(new Temperature("External #3", 5)); + } + break; + case Model.B650M_C: // NCT6799D v.Add(new Voltage("Vcore", 0)); v.Add(new Voltage("+12V", 1, 56, 10));