Jonathan A. Kollasch ([email protected]) just uploaded a new patch set to 
gerrit, which you can find at http://review.coreboot.org/420

-gerrit

commit 1e93c672d9a0464eb3b0b860e82d9c5f7f672872
Author: Jonathan A. Kollasch <[email protected]>
Date:   Mon Nov 7 10:43:05 2011 -0600

    Avoid false detection of SMSC FDC37N972 when Infineon TPM is present
    
    Change-Id: Ibfb3af4c5d7675a5d4e27021cbb988c2ce00fd9f
    Signed-off-by: Jonathan A. Kollasch <[email protected]>
---
 util/superiotool/smsc.c |   13 +++++++++++++
 1 files changed, 13 insertions(+), 0 deletions(-)

diff --git a/util/superiotool/smsc.c b/util/superiotool/smsc.c
index 17925ae..012ffbd 100644
--- a/util/superiotool/smsc.c
+++ b/util/superiotool/smsc.c
@@ -844,6 +844,19 @@ static void probe_idregs_smsc_helper(uint16_t port, 
uint8_t idreg,
                return;
        }
 
+       /* Infineon TPM causes false match of FDC37N972 */
+       if (idreg == DEVICE_ID_REG && revreg == DEVICE_REV_REG &&
+           id == 0x0b && rev == 0x00) {
+               /* Infineon sets config port in 0x27:0x26, but SMSC does not */
+               if (((regval(port, 0x27)<<8)|regval(port, 0x26)) == port) {
+                       if (verbose)
+                               printf(NOTFOUND "id=0x%02x, rev=0x%02x\n",
+                                       id, rev);
+                       exit_conf_mode_smsc(port);
+                       return;
+               }
+       }
+
        printf("Found %s %s (id=0x%02x, rev=0x%02x) at 0x%x\n",
               (id == 0x77 ? "ASUS" : "SMSC"), get_superio_name(reg_table, id),
               id, rev, port);

-- 
coreboot mailing list: [email protected]
http://www.coreboot.org/mailman/listinfo/coreboot

Reply via email to