Add initial NCT6796D-R support
This is used by Asrock X570 Pro4. Thanks to @Vargson.
This commit is contained in:
@@ -238,6 +238,8 @@ namespace LibreHardwareMonitor.Hardware.Motherboard
|
||||
return Model.Z170_A;
|
||||
case var _ when name.Equals("Z77 Pro4-M", StringComparison.OrdinalIgnoreCase):
|
||||
return Model.Z77Pro4M;
|
||||
case var _ when name.Equals("X570 Pro4", StringComparison.OrdinalIgnoreCase):
|
||||
return Model.X570_Pro4;
|
||||
case var _ when name.Equals("AX370-Gaming 5", StringComparison.OrdinalIgnoreCase):
|
||||
return Model.AX370_Gaming_5;
|
||||
case var _ when name.Equals("TUF X470-PLUS GAMING", StringComparison.OrdinalIgnoreCase):
|
||||
|
||||
@@ -51,6 +51,7 @@ namespace LibreHardwareMonitor.Hardware.Motherboard.Lpc
|
||||
NCT6793D = 0xD121,
|
||||
NCT6795D = 0xD352,
|
||||
NCT6796D = 0xD423,
|
||||
NCT6796DR = 0xD42A,
|
||||
NCT6797D = 0xD451,
|
||||
NCT6798D = 0xD42B,
|
||||
|
||||
@@ -110,6 +111,7 @@ namespace LibreHardwareMonitor.Hardware.Motherboard.Lpc
|
||||
case Chip.NCT6793D: return "Nuvoton NCT6793D";
|
||||
case Chip.NCT6795D: return "Nuvoton NCT6795D";
|
||||
case Chip.NCT6796D: return "Nuvoton NCT6796D";
|
||||
case Chip.NCT6796DR: return "Nuvoton NCT6796D-R";
|
||||
case Chip.NCT6797D: return "Nuvoton NCT6797D";
|
||||
case Chip.NCT6798D: return "Nuvoton NCT6798D";
|
||||
|
||||
|
||||
@@ -364,6 +364,10 @@ namespace LibreHardwareMonitor.Hardware.Motherboard.Lpc
|
||||
chip = Chip.NCT6796D;
|
||||
logicalDeviceNumber = WINBOND_NUVOTON_HARDWARE_MONITOR_LDN;
|
||||
break;
|
||||
case 0x2A:
|
||||
chip = Chip.NCT6796DR;
|
||||
logicalDeviceNumber = WINBOND_NUVOTON_HARDWARE_MONITOR_LDN;
|
||||
break;
|
||||
case 0x51:
|
||||
chip = Chip.NCT6797D;
|
||||
logicalDeviceNumber = WINBOND_NUVOTON_HARDWARE_MONITOR_LDN;
|
||||
@@ -395,7 +399,7 @@ namespace LibreHardwareMonitor.Hardware.Motherboard.Lpc
|
||||
ushort vendorId = port.ReadWord(FINTEK_VENDOR_ID_REGISTER);
|
||||
|
||||
// disable the hardware monitor i/o space lock on NCT679*D chips
|
||||
if (address == verify && (chip == Chip.NCT6791D || chip == Chip.NCT6796D || chip == Chip.NCT6793D || chip == Chip.NCT6795D || chip == Chip.NCT6798D || chip == Chip.NCT6797D))
|
||||
if (address == verify && (chip == Chip.NCT6791D || chip == Chip.NCT6796D || chip == Chip.NCT6796DR || chip == Chip.NCT6793D || chip == Chip.NCT6795D || chip == Chip.NCT6798D || chip == Chip.NCT6797D))
|
||||
{
|
||||
port.NuvotonDisableIOSpaceLock();
|
||||
}
|
||||
@@ -452,6 +456,7 @@ namespace LibreHardwareMonitor.Hardware.Motherboard.Lpc
|
||||
case Chip.NCT6793D:
|
||||
case Chip.NCT6795D:
|
||||
case Chip.NCT6796D:
|
||||
case Chip.NCT6796DR:
|
||||
case Chip.NCT6797D:
|
||||
case Chip.NCT6798D:
|
||||
{
|
||||
|
||||
@@ -128,23 +128,31 @@ namespace LibreHardwareMonitor.Hardware.Motherboard.Lpc
|
||||
case Chip.NCT6793D:
|
||||
case Chip.NCT6795D:
|
||||
case Chip.NCT6796D:
|
||||
case Chip.NCT6796DR:
|
||||
case Chip.NCT6797D:
|
||||
case Chip.NCT6798D:
|
||||
{
|
||||
if (chip == Chip.NCT6779D)
|
||||
switch (chip)
|
||||
{
|
||||
Fans = new float?[5];
|
||||
Controls = new float?[5];
|
||||
}
|
||||
else if (chip == Chip.NCT6797D || chip == Chip.NCT6798D)
|
||||
{
|
||||
Fans = new float?[7];
|
||||
Controls = new float?[7];
|
||||
}
|
||||
else
|
||||
{
|
||||
Fans = new float?[6];
|
||||
Controls = new float?[6];
|
||||
case Chip.NCT6779D:
|
||||
{
|
||||
Fans = new float?[5];
|
||||
Controls = new float?[5];
|
||||
break;
|
||||
}
|
||||
case Chip.NCT6797D:
|
||||
case Chip.NCT6798D:
|
||||
{
|
||||
Fans = new float?[7];
|
||||
Controls = new float?[7];
|
||||
break;
|
||||
}
|
||||
default:
|
||||
{
|
||||
Fans = new float?[6];
|
||||
Controls = new float?[6];
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
_fanRpmRegister = new ushort[] { 0x4c0, 0x4c2, 0x4c4, 0x4c6, 0x4c8, 0x4ca, 0x4ce };
|
||||
@@ -527,7 +535,7 @@ namespace LibreHardwareMonitor.Hardware.Motherboard.Lpc
|
||||
|
||||
private void DisableIOSpaceLock()
|
||||
{
|
||||
if (Chip != Chip.NCT6791D && Chip != Chip.NCT6796D && Chip != Chip.NCT6793D && Chip != Chip.NCT6795D && Chip != Chip.NCT6798D && Chip != Chip.NCT6797D)
|
||||
if (Chip != Chip.NCT6791D && Chip != Chip.NCT6796D && Chip != Chip.NCT6796DR && Chip != Chip.NCT6793D && Chip != Chip.NCT6795D && Chip != Chip.NCT6798D && Chip != Chip.NCT6797D)
|
||||
return;
|
||||
|
||||
|
||||
|
||||
@@ -30,6 +30,7 @@ namespace LibreHardwareMonitor.Hardware.Motherboard
|
||||
P55_Deluxe,
|
||||
X399_Phantom_Gaming_6,
|
||||
Z77Pro4M,
|
||||
X570_Pro4,
|
||||
|
||||
// ASUS
|
||||
CROSSHAIR_III_FORMULA,
|
||||
|
||||
@@ -37,10 +37,14 @@ namespace LibreHardwareMonitor.Hardware.Motherboard
|
||||
_name = manufacturer + " " + smBios.Board.ProductName;
|
||||
}
|
||||
else
|
||||
{
|
||||
_name = manufacturer.ToString();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
_name = Manufacturer.Unknown.ToString();
|
||||
}
|
||||
|
||||
_customName = settings.GetValue(new Identifier(Identifier, "name").ToString(), _name);
|
||||
|
||||
|
||||
@@ -303,6 +303,7 @@ namespace LibreHardwareMonitor.Hardware.Motherboard
|
||||
case Chip.NCT6793D:
|
||||
case Chip.NCT6795D:
|
||||
case Chip.NCT6796D:
|
||||
case Chip.NCT6796DR:
|
||||
case Chip.NCT6797D:
|
||||
case Chip.NCT6798D:
|
||||
GetNuvotonConfigurationD(superIO, manufacturer, model, v, t, f, c);
|
||||
|
||||
Reference in New Issue
Block a user