diff options
author | Brad Smith <brad@cvs.openbsd.org> | 2008-07-17 19:59:45 +0000 |
---|---|---|
committer | Brad Smith <brad@cvs.openbsd.org> | 2008-07-17 19:59:45 +0000 |
commit | 2698a6b3388cff6403d8bb8c040b715c1177e56c (patch) | |
tree | ecd5a7a31e996bf15bdccf3b7d7a2898558c9350 /sys/dev/pci/if_bge.c | |
parent | 72dcf5efa8eb80efd3d40bd0ed6d6012550df6c1 (diff) |
Add a flag and allow the driver to identify the BCM5788 chipsets. They're
slightly different from the other chipsets using the BCM5705 ASIC.
ok jsg@
Diffstat (limited to 'sys/dev/pci/if_bge.c')
-rw-r--r-- | sys/dev/pci/if_bge.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/sys/dev/pci/if_bge.c b/sys/dev/pci/if_bge.c index cb093f3301e..e03ff01db23 100644 --- a/sys/dev/pci/if_bge.c +++ b/sys/dev/pci/if_bge.c @@ -1,4 +1,4 @@ -/* $OpenBSD: if_bge.c,v 1.237 2008/07/16 03:56:25 brad Exp $ */ +/* $OpenBSD: if_bge.c,v 1.238 2008/07/17 19:59:44 brad Exp $ */ /* * Copyright (c) 2001 Wind River Systems @@ -1897,6 +1897,11 @@ bge_attach(struct device *parent, struct device *self, void *aux) misccfg = CSR_READ_4(sc, BGE_MISC_CFG); misccfg &= BGE_MISCCFG_BOARD_ID_MASK; + if (BGE_ASICREV(sc->bge_chipid) == BGE_ASICREV_BCM5705 && + (misccfg == BGE_MISCCFG_BOARD_ID_5788 || + misccfg == BGE_MISCCFG_BOARD_ID_5788M)) + sc->bge_flags |= BGE_IS_5788; + if ((BGE_ASICREV(sc->bge_chipid) == BGE_ASICREV_BCM5703 && (misccfg == 0x4000 || misccfg == 0x8000)) || (BGE_ASICREV(sc->bge_chipid) == BGE_ASICREV_BCM5705 && |