diff --git a/LibreHardwareMonitorLib/Hardware/Motherboard/Lpc/Chip.cs b/LibreHardwareMonitorLib/Hardware/Motherboard/Lpc/Chip.cs
index 806b483..789f324 100755
--- a/LibreHardwareMonitorLib/Hardware/Motherboard/Lpc/Chip.cs
+++ b/LibreHardwareMonitorLib/Hardware/Motherboard/Lpc/Chip.cs
@@ -32,6 +32,7 @@ internal enum Chip : ushort
IT8625E = 0x8625,
IT8628E = 0x8628,
IT8631E = 0x8631,
+ IT8638E = 0x8638,
IT8655E = 0x8655,
IT8665E = 0x8665,
IT8686E = 0x8686,
@@ -107,6 +108,7 @@ internal class ChipName
case Chip.IT8625E: return "ITE IT8625E";
case Chip.IT8628E: return "ITE IT8628E";
case Chip.IT8631E: return "ITE IT8631E";
+ case Chip.IT8638E: return "ITE IT8638E";
case Chip.IT8655E: return "ITE IT8655E";
case Chip.IT8665E: return "ITE IT8665E";
case Chip.IT8686E: return "ITE IT8686E";
diff --git a/LibreHardwareMonitorLib/Hardware/Motherboard/Lpc/IT87XX.cs b/LibreHardwareMonitorLib/Hardware/Motherboard/Lpc/IT87XX.cs
index 30cb9f6..03a16ac 100755
--- a/LibreHardwareMonitorLib/Hardware/Motherboard/Lpc/IT87XX.cs
+++ b/LibreHardwareMonitorLib/Hardware/Motherboard/Lpc/IT87XX.cs
@@ -101,6 +101,7 @@ internal class IT87XX : ISuperIO
Chip.IT8792E or
Chip.IT8655E or
Chip.IT8631E or
+ Chip.IT8638E or
Chip.IT8696E;
switch (chip)
@@ -132,6 +133,13 @@ internal class IT87XX : ISuperIO
Controls = new float?[2];
break;
+ case Chip.IT8638E:
+ Voltages = new float?[9];
+ Temperatures = new float?[2];
+ Fans = new float?[2];
+ Controls = new float?[2];
+ break;
+
case Chip.IT8665E:
Voltages = new float?[9];
Temperatures = new float?[6];
@@ -218,7 +226,7 @@ internal class IT87XX : ISuperIO
// Conflicting reports on IT8792E: either 0.0109 in linux drivers or 0.011 comparing with Gigabyte board & SIV SW.
_voltageGain = chip switch
{
- Chip.IT8613E or Chip.IT8620E or Chip.IT8628E or Chip.IT8631E or Chip.IT8721F or Chip.IT8728F or Chip.IT8771E or Chip.IT8772E or Chip.IT8686E or Chip.IT8688E or Chip.IT8689E or Chip.IT8696E => 0.012f,
+ Chip.IT8613E or Chip.IT8620E or Chip.IT8628E or Chip.IT8631E or Chip.IT8638E or Chip.IT8721F or Chip.IT8728F or Chip.IT8771E or Chip.IT8772E or Chip.IT8686E or Chip.IT8688E or Chip.IT8689E or Chip.IT8696E => 0.012f,
Chip.IT8625E or Chip.IT8792E or Chip.IT87952E => 0.011f,
Chip.IT8655E or Chip.IT8665E => 0.0109f,
_ => 0.016f
diff --git a/LibreHardwareMonitorLib/Hardware/Motherboard/Lpc/LpcIO.cs b/LibreHardwareMonitorLib/Hardware/Motherboard/Lpc/LpcIO.cs
index ed98db0..1dd5d6c 100644
--- a/LibreHardwareMonitorLib/Hardware/Motherboard/Lpc/LpcIO.cs
+++ b/LibreHardwareMonitorLib/Hardware/Motherboard/Lpc/LpcIO.cs
@@ -598,6 +598,7 @@ internal class LpcIO
0x8625 => Chip.IT8625E,
0x8628 => Chip.IT8628E,
0x8631 => Chip.IT8631E,
+ 0x8638 => Chip.IT8638E,
0x8665 => Chip.IT8665E,
0x8655 => Chip.IT8655E,
0x8686 => Chip.IT8686E,
diff --git a/LibreHardwareMonitorLib/Hardware/Motherboard/SuperIOHardware.cs b/LibreHardwareMonitorLib/Hardware/Motherboard/SuperIOHardware.cs
index 6e9f505..f3a82eb 100644
--- a/LibreHardwareMonitorLib/Hardware/Motherboard/SuperIOHardware.cs
+++ b/LibreHardwareMonitorLib/Hardware/Motherboard/SuperIOHardware.cs
@@ -222,6 +222,7 @@ internal sealed class SuperIOHardware : Hardware
case Chip.IT8625E:
case Chip.IT8628E:
case Chip.IT8631E:
+ case Chip.IT8638E:
case Chip.IT8655E:
case Chip.IT8665E:
case Chip.IT8686E:
diff --git a/LibreHardwareMonitorLib/LibreHardwareMonitorLib.csproj b/LibreHardwareMonitorLib/LibreHardwareMonitorLib.csproj
index bae2704..b342bb1 100644
--- a/LibreHardwareMonitorLib/LibreHardwareMonitorLib.csproj
+++ b/LibreHardwareMonitorLib/LibreHardwareMonitorLib.csproj
@@ -47,7 +47,7 @@
-
+