# HG changeset patch # User moel.mich # Date 1277757589 0 # Node ID 673c2ad36db24a843b49fb0fb40e1660df742098 # Parent 44a688398012a2a2132cfbca9920945d8ee9916c Added the ITE chip version to the report. diff -r 44a688398012 -r 673c2ad36db2 Hardware/LPC/IT87XX.cs --- a/Hardware/LPC/IT87XX.cs Sun Jun 27 20:49:29 2010 +0000 +++ b/Hardware/LPC/IT87XX.cs Mon Jun 28 20:39:49 2010 +0000 @@ -45,6 +45,7 @@ private ushort address; private Chip chip; + private byte version; private readonly ushort addressReg; private readonly ushort dataReg; @@ -78,10 +79,11 @@ return value; } - public IT87XX(Chip chip, ushort address) { + public IT87XX(Chip chip, ushort address, byte version) { this.address = address; this.chip = chip; + this.version = version; this.addressReg = (ushort)(address + ADDRESS_REGISTER_OFFSET); this.dataReg = (ushort)(address + DATA_REGISTER_OFFSET); @@ -113,6 +115,7 @@ r.AppendLine("LPC " + this.GetType().Name); r.AppendLine(); r.Append("Chip ID: 0x"); r.AppendLine(chip.ToString("X")); + r.Append("Chip Version: 0x"); r.AppendLine(version.ToString("X")); r.Append("Base Address: 0x"); r.AppendLine(address.ToString("X4")); r.AppendLine(); r.AppendLine("Environment Controller Registers"); diff -r 44a688398012 -r 673c2ad36db2 Hardware/LPC/LPCIO.cs --- a/Hardware/LPC/LPCIO.cs Sun Jun 27 20:49:29 2010 +0000 +++ b/Hardware/LPC/LPCIO.cs Mon Jun 28 20:39:49 2010 +0000 @@ -78,7 +78,8 @@ } // ITE - private const byte IT87_ENVIRONMENT_CONTROLLER_LDN = 0x04; + private const byte IT87_ENVIRONMENT_CONTROLLER_LDN = 0x04; + private const byte IT87_CHIP_VERSION_REGISTER = 0x22; private void IT87Enter() { WinRing0.WriteIoPortByte(registerPort, 0x87); @@ -332,12 +333,14 @@ report.AppendLine(chipID.ToString("X")); report.AppendLine(); } - } else { + } else { Select(IT87_ENVIRONMENT_CONTROLLER_LDN); ushort address = ReadWord(BASE_ADDRESS_REGISTER); Thread.Sleep(1); ushort verify = ReadWord(BASE_ADDRESS_REGISTER); + byte version = (byte)(ReadByte(IT87_CHIP_VERSION_REGISTER) & 0x0F); + IT87Exit(); if (address != verify || address < 0x100 || (address & 0xF007) != 0) { @@ -349,7 +352,7 @@ return; } - superIOs.Add(new IT87XX(chip, address)); + superIOs.Add(new IT87XX(chip, address, version)); return; }