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>
This commit is contained in:
CarterChu
2024-11-24 11:00:57 +01:00
committed by GitHub
co-authored by PhyxionNL
parent f0681e14ea
commit e6e2b23ce4
3 changed files with 56 additions and 2 deletions
@@ -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):
@@ -39,6 +39,7 @@ public enum Model
Z790_Pro_RS,
X570_Phantom_Gaming_4,
Z790_Taichi,
Z790_Nova_WiFi,
B650M_C,
H61M_DGS,
@@ -36,6 +36,7 @@ internal sealed class SuperIOHardware : Hardware
GetBoardSpecificConfiguration(superIO,
manufacturer,
model,
index,
out IList<Voltage> v,
out IList<Temperature> t,
out IList<Fan> f,
@@ -181,6 +182,7 @@ internal sealed class SuperIOHardware : Hardware
ISuperIO superIO,
Manufacturer manufacturer,
Model model,
int superIOIndex,
out IList<Voltage> v,
out IList<Temperature> t,
out IList<Fan> 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<Voltage> v, IList<Temperature> t, IList<Fan> f, IList<Control> c)
private static void GetNuvotonConfigurationD(ISuperIO superIO, Manufacturer manufacturer, Model model, int index, IList<Voltage> v, IList<Temperature> t, IList<Fan> f, IList<Control> 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));