diff options
author | Brad Smith <brad@cvs.openbsd.org> | 2005-06-07 20:39:08 +0000 |
---|---|---|
committer | Brad Smith <brad@cvs.openbsd.org> | 2005-06-07 20:39:08 +0000 |
commit | 3cfae91f6071be87a5ff4440f8f925014a9eb82b (patch) | |
tree | 51917288cbb213999c94c12591b245fb306a694f | |
parent | 690a8921fbb6985f4a10178f323f51f01895bfd0 (diff) |
put the whole thing in this time.
add support for the BCM5714.
-rw-r--r-- | sys/dev/pci/if_bge.c | 15 | ||||
-rw-r--r-- | sys/dev/pci/if_bgereg.h | 4 |
2 files changed, 16 insertions, 3 deletions
diff --git a/sys/dev/pci/if_bge.c b/sys/dev/pci/if_bge.c index 77b909e55d9..13126aa7eaf 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.61 2005/06/07 20:24:20 deraadt Exp $ */ +/* $OpenBSD: if_bge.c,v 1.62 2005/06/07 20:39:07 brad Exp $ */ /* * Copyright (c) 2001 Wind River Systems * Copyright (c) 1997, 1998, 1999, 2001 @@ -221,6 +221,7 @@ const struct pci_matchid bge_devices[] = { { PCI_VENDOR_BROADCOM, PCI_PRODUCT_BROADCOM_BCM5705K }, { PCI_VENDOR_BROADCOM, PCI_PRODUCT_BROADCOM_BCM5705M }, { PCI_VENDOR_BROADCOM, PCI_PRODUCT_BROADCOM_BCM5705M_ALT }, + { PCI_VENDOR_BROADCOM, PCI_PRODUCT_BROADCOM_BCM5714C }, { PCI_VENDOR_BROADCOM, PCI_PRODUCT_BROADCOM_BCM5720 }, { PCI_VENDOR_BROADCOM, PCI_PRODUCT_BROADCOM_BCM5721 }, { PCI_VENDOR_BROADCOM, PCI_PRODUCT_BROADCOM_BCM5750 }, @@ -1083,6 +1084,7 @@ bge_chipinit(sc) if (BGE_ASICREV(sc->bge_chipid) == BGE_ASICREV_BCM5703 || BGE_ASICREV(sc->bge_chipid) == BGE_ASICREV_BCM5704 || BGE_ASICREV(sc->bge_chipid) == BGE_ASICREV_BCM5705 || + BGE_ASICREV(sc->bge_chipid) == BGE_ASICREV_BCM5714 || BGE_ASICREV(sc->bge_chipid) == BGE_ASICREV_BCM5750) dma_rw_ctl &= ~BGE_PCIDMARWCTL_MINDMA; @@ -1612,6 +1614,10 @@ static const struct bge_revision { BGE_QUIRK_ONLY_PHY_1|BGE_QUIRK_5705_CORE, "BCM5705 A3" }, + { BGE_CHIPID_BCM5714_A0, + BGE_QUIRK_ONLY_PHY_1|BGE_QUIRK_5705_CORE, + "BCM5714 A0" }, + { BGE_CHIPID_BCM5750_A0, BGE_QUIRK_ONLY_PHY_1|BGE_QUIRK_5705_CORE, "BCM5750 A1" }, @@ -1648,6 +1654,10 @@ static const struct bge_revision bge_majorrevs[] = { BGE_QUIRK_ONLY_PHY_1|BGE_QUIRK_5705_CORE, "unknown BCM5705" }, + { BGE_ASICREV_BCM5714, + BGE_QUIRK_ONLY_PHY_1|BGE_QUIRK_5705_CORE, + "unknown BCM5714" }, + { BGE_ASICREV_BCM5750, BGE_QUIRK_ONLY_PHY_1|BGE_QUIRK_5705_CORE, "unknown BCM5750" }, @@ -1796,7 +1806,8 @@ bge_attach(parent, self, aux) * XXX: Broadcom Linux driver. Not in specs or eratta. * PCI-Express? */ - if (BGE_ASICREV(sc->bge_chipid) == BGE_ASICREV_BCM5750) { + if (BGE_ASICREV(sc->bge_chipid) == BGE_ASICREV_BCM5714 || + BGE_ASICREV(sc->bge_chipid) == BGE_ASICREV_BCM5750) { u_int32_t v; v = pci_conf_read(pc, pa->pa_tag, BGE_PCI_MSI_CAPID); diff --git a/sys/dev/pci/if_bgereg.h b/sys/dev/pci/if_bgereg.h index 941da0988ce..47a1179cf3e 100644 --- a/sys/dev/pci/if_bgereg.h +++ b/sys/dev/pci/if_bgereg.h @@ -1,4 +1,4 @@ -/* $OpenBSD: if_bgereg.h,v 1.21 2005/04/05 01:12:52 brad Exp $ */ +/* $OpenBSD: if_bgereg.h,v 1.22 2005/06/07 20:39:07 brad Exp $ */ /* * Copyright (c) 2001 Wind River Systems * Copyright (c) 1997, 1998, 1999, 2001 @@ -250,6 +250,7 @@ #define BGE_CHIPID_BCM5705_A3 0x30030000 #define BGE_CHIPID_BCM5750_A0 0x40000000 #define BGE_CHIPID_BCM5750_A1 0x40010000 +#define BGE_CHIPID_BCM5714_A0 0x50000000 /* shorthand one */ #define BGE_ASICREV(x) ((x) >> 28) @@ -259,6 +260,7 @@ #define BGE_ASICREV_BCM5704 0x02 #define BGE_ASICREV_BCM5705 0x03 #define BGE_ASICREV_BCM5750 0x04 +#define BGE_ASICREV_BCM5714 0x05 /* chip revisions */ #define BGE_CHIPREV(x) ((x) >> 24) |