Skip to content

Commit 90e7c3e

Browse files
authored
Add support for ASUS PRIME X870-P (Nuvoton NCT6701D) (#1565)
* Initial commit based on existing pull request Work done to support ROG STRIX X870E-E copied: https://github.com/LibreHardwareMonitor/LibreHardwareMonitor/pull/1523/files * Update SuperIOHardware.cs Update fan hierarchy for X870-P motherboard Small typo fix * Update SuperIOHardware.cs * Update SuperIOHardware.cs Fixed some existing voltages Added some voltages Added VRM temperature readout Removed debug fan lines * Update SuperIOHardware.cs Change to more descriptive name Hide VMISC -> Voltage #12 as can't be confirmed * Revert CR change
1 parent 07c0c00 commit 90e7c3e

3 files changed

Lines changed: 36 additions & 0 deletions

File tree

LibreHardwareMonitorLib/Hardware/Motherboard/Identification.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -607,6 +607,8 @@ public static Model GetModel(string name)
607607
return Model.X870E_AORUS_PRO;
608608
case var _ when name.Equals("X870E AORUS PRO ICE", StringComparison.OrdinalIgnoreCase):
609609
return Model.X870E_AORUS_PRO_ICE;
610+
case var _ when name.Equals("PRIME X870-P", StringComparison.OrdinalIgnoreCase):
611+
return Model.PRIME_X870_P;
610612
case var _ when name.Equals("ROG CROSSHAIR X870E HERO", StringComparison.OrdinalIgnoreCase):
611613
return Model.ROG_CROSSHAIR_X870E_HERO;
612614
case var _ when name.Equals("Base Board Product Name", StringComparison.OrdinalIgnoreCase):

LibreHardwareMonitorLib/Hardware/Motherboard/Model.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,7 @@ public enum Model
110110
PRIME_Z690_A,
111111
ROG_MAXIMUS_Z790_FORMULA,
112112
ROG_MAXIMUS_XII_HERO_WIFI,
113+
PRIME_X870_P,
113114
ROG_CROSSHAIR_X870E_HERO,
114115

115116
//BIOSTAR

LibreHardwareMonitorLib/Hardware/Motherboard/SuperIOHardware.cs

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4366,6 +4366,39 @@ private static void GetNuvotonConfigurationD(ISuperIO superIO, Manufacturer manu
43664366
c.Add(new Control("Fan #" + (i + 1), i));
43674367

43684368
break;
4369+
4370+
case Model.PRIME_X870_P: // NCT6701D
4371+
v.Add(new Voltage("Vcore", 0));
4372+
v.Add(new Voltage("+5V", 1, 4, 1));
4373+
v.Add(new Voltage("AVSB", 2, 34, 34));
4374+
v.Add(new Voltage("+3.3V", 3, 34, 34));
4375+
v.Add(new Voltage("+12V", 4, 11, 1));
4376+
v.Add(new Voltage("Voltage #6", 5, true));
4377+
v.Add(new Voltage("Voltage #7", 6, true));
4378+
v.Add(new Voltage("+3V Standby", 7, 34, 34));
4379+
v.Add(new Voltage("CMOS Battery", 8, 34, 34));
4380+
v.Add(new Voltage("CPU Termination", 9, 34, 34));
4381+
v.Add(new Voltage("CPU VDDIO / MC", 10, 1, 1));
4382+
v.Add(new Voltage("Voltage #12", 11, true));
4383+
v.Add(new Voltage("+1.8V Standby", 12, true)); // Uknown values needed for tuning, hidden for now
4384+
v.Add(new Voltage("Voltage #14", 13, true));
4385+
v.Add(new Voltage("Voltage #15", 14, true));
4386+
v.Add(new Voltage("Voltage #16", 15, true));
4387+
// All voltage channels above 15 cannot be added?
4388+
4389+
t.Add(new Temperature("Motherboard", 2));
4390+
t.Add(new Temperature("VRM", 7));
4391+
t.Add(new Temperature("CPU", 22));
4392+
4393+
fanControlNames = new[] { "Chassis Fan #1", "CPU Fan", "Chassis Fan #2", "Chassis Fan #3", "CPU_OPT", "Chassis Fan #4", "AIO Pump" };
4394+
4395+
for (int i = 0; i < fanControlNames.Length; i++)
4396+
f.Add(new Fan(fanControlNames[i], i));
4397+
4398+
for (int i = 0; i < fanControlNames.Length; i++)
4399+
c.Add(new Control(fanControlNames[i], i));
4400+
4401+
break;
43694402

43704403
case Model.ROG_CROSSHAIR_X870E_HERO: // NCT6701D
43714404
v.Add(new Voltage("Vcore", 0));

0 commit comments

Comments
 (0)