From b47afdf571a24e5cc46ef71acbcb2cc1e5fa6258 Mon Sep 17 00:00:00 2001 From: Tellinq <59412384+Tellinq@users.noreply.github.com> Date: Sat, 20 Jul 2024 10:47:00 -0400 Subject: [PATCH] Add proper definition support for all Gigabyte B550 models (#1360) * Add Gigabyte B550 AORUS Elite (v1/v2) models * Add B550 Gaming X (v1 and v2) models as their layout is identical too * Add B550 AORUS Pro v2 * Add B550M AORUS Elite * Add the rest of Gigabyte B550 and B550M (Except the Vision D, Aorus Master, B550M Aorus Pro models) * Add B550 UD AC Y1 System integrators such as iBuyPower and CyberPowerPC have sold systems with this OEM branded model, and thus would not be detected within this PR otherwise. * Add B550M Pro, B550 Aorus Master, B550 Vision D models * Add B550I AORUS PRO AX * Rename EC_TEMP# to a more display friendly name --- .../Hardware/Motherboard/Identification.cs | 42 ++++++++++ .../Hardware/Motherboard/Model.cs | 17 ++++ .../Hardware/Motherboard/SuperIOHardware.cs | 80 ++++++++++++++++++- 3 files changed, 135 insertions(+), 4 deletions(-) diff --git a/LibreHardwareMonitorLib/Hardware/Motherboard/Identification.cs b/LibreHardwareMonitorLib/Hardware/Motherboard/Identification.cs index 5c3798c..2ade577 100644 --- a/LibreHardwareMonitorLib/Hardware/Motherboard/Identification.cs +++ b/LibreHardwareMonitorLib/Hardware/Motherboard/Identification.cs @@ -432,8 +432,50 @@ internal class Identification return Model.TUF_GAMING_B550M_PLUS_WIFI; case var _ when name.Equals("B360 AORUS GAMING 3 WIFI-CF", StringComparison.OrdinalIgnoreCase): return Model.B360_AORUS_GAMING_3_WIFI_CF; + case var _ when name.Equals("B550I AORUS PRO AX", StringComparison.OrdinalIgnoreCase): + return Model.B550I_AORUS_PRO_AX; + case var _ when name.Equals("B550M AORUS PRO", StringComparison.OrdinalIgnoreCase): + case var _ when name.Equals("B550M AORUS PRO-P", StringComparison.OrdinalIgnoreCase): + return Model.B550M_AORUS_PRO; + case var _ when name.Equals("B550M AORUS PRO AX", StringComparison.OrdinalIgnoreCase): + return Model.B550M_AORUS_PRO_AX; + case var _ when name.Equals("B550M AORUS ELITE", StringComparison.OrdinalIgnoreCase): + return Model.B550M_AORUS_ELITE; + case var _ when name.Equals("B550M GAMING", StringComparison.OrdinalIgnoreCase): + return Model.B550M_GAMING; + case var _ when name.Equals("B550M DS3H", StringComparison.OrdinalIgnoreCase): + return Model.B550M_DS3H; + case var _ when name.Equals("B550M DS3H AC", StringComparison.OrdinalIgnoreCase): + return Model.B550M_DS3H_AC; + case var _ when name.Equals("B550M S2H", StringComparison.OrdinalIgnoreCase): + return Model.B550M_S2H; + case var _ when name.Equals("B550M H", StringComparison.OrdinalIgnoreCase): + return Model.B550M_H; + case var _ when name.Equals("B550 AORUS MASTER", StringComparison.OrdinalIgnoreCase): + return Model.B550_AORUS_MASTER; case var _ when name.Equals("B550 AORUS PRO", StringComparison.OrdinalIgnoreCase): + case var _ when name.Equals("B550 AORUS PRO V2", StringComparison.OrdinalIgnoreCase): return Model.B550_AORUS_PRO; + case var _ when name.Equals("B550 AORUS PRO AC", StringComparison.OrdinalIgnoreCase): + return Model.B550_AORUS_PRO_AC; + case var _ when name.Equals("B550 AORUS PRO AX", StringComparison.OrdinalIgnoreCase): + return Model.B550_AORUS_PRO_AX; + case var _ when name.Equals("B550 VISION D", StringComparison.OrdinalIgnoreCase): + case var _ when name.Equals("B550 VISION D-P", StringComparison.OrdinalIgnoreCase): + return Model.B550_VISION_D; + case var _ when name.Equals("B550 AORUS ELITE", StringComparison.OrdinalIgnoreCase): + case var _ when name.Equals("B550 AORUS ELITE V2", StringComparison.OrdinalIgnoreCase): + return Model.B550_AORUS_ELITE; + case var _ when name.Equals("B550 AORUS ELITE AX", StringComparison.OrdinalIgnoreCase): + case var _ when name.Equals("B550 AORUS ELITE AX V2", StringComparison.OrdinalIgnoreCase): + case var _ when name.Equals("B550 AORUS ELITE AX V3", StringComparison.OrdinalIgnoreCase): + return Model.B550_AORUS_ELITE_AX; + case var _ when name.Equals("B550 GAMING X", StringComparison.OrdinalIgnoreCase): + case var _ when name.Equals("B550 GAMING X V2", StringComparison.OrdinalIgnoreCase): + return Model.B550_GAMING_X; + case var _ when name.Equals("B550 UD AC", StringComparison.OrdinalIgnoreCase): + case var _ when name.Equals("B550 UD AC-Y1", StringComparison.OrdinalIgnoreCase): + return Model.B550_UD_AC; case var _ when name.Equals("B560M AORUS ELITE", StringComparison.OrdinalIgnoreCase): return Model.B560M_AORUS_ELITE; case var _ when name.Equals("B560M AORUS PRO", StringComparison.OrdinalIgnoreCase): diff --git a/LibreHardwareMonitorLib/Hardware/Motherboard/Model.cs b/LibreHardwareMonitorLib/Hardware/Motherboard/Model.cs index a1c0b3d..0132c87 100644 --- a/LibreHardwareMonitorLib/Hardware/Motherboard/Model.cs +++ b/LibreHardwareMonitorLib/Hardware/Motherboard/Model.cs @@ -134,7 +134,24 @@ public enum Model AX370_Gaming_5, AX370_Gaming_K7, B360_AORUS_GAMING_3_WIFI_CF, + B550_AORUS_MASTER, B550_AORUS_PRO, + B550_AORUS_PRO_AC, + B550_AORUS_PRO_AX, + B550_VISION_D, + B550_AORUS_ELITE, + B550_AORUS_ELITE_AX, + B550_GAMING_X, + B550_UD_AC, + B550M_AORUS_PRO, + B550M_AORUS_PRO_AX, + B550M_AORUS_ELITE, + B550M_GAMING, + B550M_DS3H, + B550M_DS3H_AC, + B550M_S2H, + B550M_H, + B550I_AORUS_PRO_AX, B560M_AORUS_ELITE, B560M_AORUS_PRO, B560M_AORUS_PRO_AX, diff --git a/LibreHardwareMonitorLib/Hardware/Motherboard/SuperIOHardware.cs b/LibreHardwareMonitorLib/Hardware/Motherboard/SuperIOHardware.cs index 1b6c844..e9305f2 100644 --- a/LibreHardwareMonitorLib/Hardware/Motherboard/SuperIOHardware.cs +++ b/LibreHardwareMonitorLib/Hardware/Motherboard/SuperIOHardware.cs @@ -1818,7 +1818,11 @@ internal sealed class SuperIOHardware : Hardware break; + case Model.B550_AORUS_MASTER: case Model.B550_AORUS_PRO: + case Model.B550_AORUS_PRO_AC: + case Model.B550_AORUS_PRO_AX: + case Model.B550_VISION_D: v.Add(new Voltage("Vcore", 0, 0, 1)); v.Add(new Voltage("+3.3V", 1, 6.5F, 10)); v.Add(new Voltage("+12V", 2, 5, 1)); @@ -1829,11 +1833,11 @@ internal sealed class SuperIOHardware : Hardware v.Add(new Voltage("+3V Standby", 7, 10, 10)); v.Add(new Voltage("CMOS Battery", 8, 10, 10)); t.Add(new Temperature("System #1", 0)); - t.Add(new Temperature("Chipset", 1)); + t.Add(new Temperature("External #1", 1)); t.Add(new Temperature("CPU", 2)); t.Add(new Temperature("PCIe x16", 3)); - t.Add(new Temperature("VRM", 4)); - t.Add(new Temperature("PCH", 5)); + t.Add(new Temperature("VRM MOS", 4)); + t.Add(new Temperature("Chipset", 5)); f.Add(new Fan("CPU Fan", 0)); f.Add(new Fan("System Fan #1", 1)); f.Add(new Fan("System Fan #2", 2)); @@ -1847,6 +1851,70 @@ internal sealed class SuperIOHardware : Hardware break; + case Model.B550_AORUS_ELITE: + case Model.B550_AORUS_ELITE_AX: + case Model.B550_GAMING_X: + case Model.B550_UD_AC: + case Model.B550M_AORUS_PRO: + case Model.B550M_AORUS_PRO_AX: + v.Add(new Voltage("Vcore", 0, 0, 1)); + v.Add(new Voltage("+3.3V", 1, 6.5F, 10)); + v.Add(new Voltage("+12V", 2, 5, 1)); + v.Add(new Voltage("+5V", 3, 1.5F, 1)); + v.Add(new Voltage("Vcore SoC", 4, 0, 1)); + v.Add(new Voltage("VDDP", 5, 0, 1)); + v.Add(new Voltage("DRAM", 6, 0, 1)); + v.Add(new Voltage("+3V Standby", 7, 10, 10)); + v.Add(new Voltage("CMOS Battery", 8, 10, 10)); + t.Add(new Temperature("System #1", 0)); + t.Add(new Temperature("System #2", 1)); + t.Add(new Temperature("CPU", 2)); + t.Add(new Temperature("PCIe x16", 3)); + t.Add(new Temperature("VRM MOS", 4)); + t.Add(new Temperature("Chipset", 5)); + f.Add(new Fan("CPU Fan", 0)); + f.Add(new Fan("System Fan #1", 1)); + f.Add(new Fan("System Fan #2", 2)); + f.Add(new Fan("System Fan #3", 3)); + f.Add(new Fan("CPU Optional Fan", 4)); + c.Add(new Control("CPU Fan", 0)); + c.Add(new Control("System Fan #1", 1)); + c.Add(new Control("System Fan #2", 2)); + c.Add(new Control("System Fan #3", 3)); + c.Add(new Control("CPU Optional Fan", 4)); + + break; + + case Model.B550I_AORUS_PRO_AX: + case Model.B550M_AORUS_ELITE: + case Model.B550M_GAMING: + case Model.B550M_DS3H: + case Model.B550M_DS3H_AC: + case Model.B550M_S2H: + case Model.B550M_H: + v.Add(new Voltage("Vcore", 0, 0, 1)); + v.Add(new Voltage("+3.3V", 1, 6.5F, 10)); + v.Add(new Voltage("+12V", 2, 5, 1)); + v.Add(new Voltage("+5V", 3, 1.5F, 1)); + v.Add(new Voltage("Vcore SoC", 4, 0, 1)); + v.Add(new Voltage("VDDP", 5, 0, 1)); + v.Add(new Voltage("DRAM", 6, 0, 1)); + v.Add(new Voltage("+3V Standby", 7, 10, 10)); + v.Add(new Voltage("CMOS Battery", 8, 10, 10)); + t.Add(new Temperature("System", 0)); + t.Add(new Temperature("VSoC MOS", 1)); + t.Add(new Temperature("CPU", 2)); + t.Add(new Temperature("VRM MOS", 4)); + t.Add(new Temperature("Chipset", 5)); + f.Add(new Fan("CPU Fan", 0)); + f.Add(new Fan("System Fan #1", 1)); + f.Add(new Fan("System Fan #2", 2)); + c.Add(new Control("CPU Fan", 0)); + c.Add(new Control("System Fan #1", 1)); + c.Add(new Control("System Fan #2", 2)); + + break; + case Model.B660M_DS3H_AX_DDR4: v.Add(new Voltage("Vcore", 0)); v.Add(new Voltage("VAXG", 1)); @@ -2053,7 +2121,11 @@ internal sealed class SuperIOHardware : Hardware { case Model.X570_AORUS_MASTER: // IT879XE case Model.X570_AORUS_ULTRA: + case Model.B550_AORUS_MASTER: case Model.B550_AORUS_PRO: + case Model.B550_AORUS_PRO_AC: + case Model.B550_AORUS_PRO_AX: + case Model.B550_VISION_D: v.Add(new Voltage("VIN0", 0)); v.Add(new Voltage("DDRVTT AB", 1)); v.Add(new Voltage("Chipset Core", 2)); @@ -2064,7 +2136,7 @@ internal sealed class SuperIOHardware : Hardware v.Add(new Voltage("+3V Standby", 7, 1f, 1f)); v.Add(new Voltage("CMOS Battery", 8, 1f, 1f)); t.Add(new Temperature("PCIe x8", 0)); - t.Add(new Temperature("EC_TEMP2", 1)); + t.Add(new Temperature("External #2", 1)); t.Add(new Temperature("System #2", 2)); f.Add(new Fan("System Fan #5 Pump", 0)); f.Add(new Fan("System Fan #6 Pump", 1));