aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/bge
diff options
context:
space:
mode:
authorJohn Baldwin <jhb@FreeBSD.org>2008-03-17 18:24:04 +0000
committerJohn Baldwin <jhb@FreeBSD.org>2008-03-17 18:24:04 +0000
commit70dbc27450267c81253f620d3f7147395816261b (patch)
tree9cf8e6cec7ed515fa060ffdc47c640f968389552 /sys/dev/bge
parentd6274900b26e5f0cc6d451af8a6ddf0acb4c5fb1 (diff)
Notes
Diffstat (limited to 'sys/dev/bge')
-rw-r--r--sys/dev/bge/if_bge.c9
-rw-r--r--sys/dev/bge/if_bgereg.h2
2 files changed, 8 insertions, 3 deletions
diff --git a/sys/dev/bge/if_bge.c b/sys/dev/bge/if_bge.c
index 4e03d319a137..66627deb681d 100644
--- a/sys/dev/bge/if_bge.c
+++ b/sys/dev/bge/if_bge.c
@@ -169,6 +169,7 @@ static struct bge_type {
{ BCOM_VENDORID, BCOM_DEVICEID_BCM5715S },
{ BCOM_VENDORID, BCOM_DEVICEID_BCM5720 },
{ BCOM_VENDORID, BCOM_DEVICEID_BCM5721 },
+ { BCOM_VENDORID, BCOM_DEVICEID_BCM5722 },
{ BCOM_VENDORID, BCOM_DEVICEID_BCM5750 },
{ BCOM_VENDORID, BCOM_DEVICEID_BCM5750M },
{ BCOM_VENDORID, BCOM_DEVICEID_BCM5751 },
@@ -267,6 +268,7 @@ static const struct bge_revision {
{ BGE_CHIPID_BCM5755_A0, "BCM5755 A0" },
{ BGE_CHIPID_BCM5755_A1, "BCM5755 A1" },
{ BGE_CHIPID_BCM5755_A2, "BCM5755 A2" },
+ { BGE_CHIPID_BCM5722_A0, "BCM5722 A0" },
/* 5754 and 5787 share the same ASIC ID */
{ BGE_CHIPID_BCM5787_A0, "BCM5754/5787 A0" },
{ BGE_CHIPID_BCM5787_A1, "BCM5754/5787 A1" },
@@ -2302,9 +2304,10 @@ bge_attach(device_t dev)
if (BGE_IS_5705_PLUS(sc) &&
!(sc->bge_flags & BGE_FLAG_ADJUST_TRIM)) {
if (sc->bge_asicrev == BGE_ASICREV_BCM5755 ||
- sc->bge_asicrev == BGE_ASICREV_BCM5787)
- sc->bge_flags |= BGE_FLAG_JITTER_BUG;
- else
+ sc->bge_asicrev == BGE_ASICREV_BCM5787) {
+ if (sc->bge_chipid != BGE_CHIPID_BCM5722_A0)
+ sc->bge_flags |= BGE_FLAG_JITTER_BUG;
+ } else
sc->bge_flags |= BGE_FLAG_BER_BUG;
}
diff --git a/sys/dev/bge/if_bgereg.h b/sys/dev/bge/if_bgereg.h
index 3b68cea16379..053a789ebdaf 100644
--- a/sys/dev/bge/if_bgereg.h
+++ b/sys/dev/bge/if_bgereg.h
@@ -277,6 +277,7 @@
#define BGE_CHIPID_BCM5755_A0 0xa0000000
#define BGE_CHIPID_BCM5755_A1 0xa0010000
#define BGE_CHIPID_BCM5755_A2 0xa0020000
+#define BGE_CHIPID_BCM5722_A0 0xa2000000
#define BGE_CHIPID_BCM5754_A0 0xb0000000
#define BGE_CHIPID_BCM5754_A1 0xb0010000
#define BGE_CHIPID_BCM5754_A2 0xb0020000
@@ -2011,6 +2012,7 @@ struct bge_status_block {
#define BCOM_DEVICEID_BCM5715S 0x1679
#define BCOM_DEVICEID_BCM5720 0x1658
#define BCOM_DEVICEID_BCM5721 0x1659
+#define BCOM_DEVICEID_BCM5722 0x165A
#define BCOM_DEVICEID_BCM5750 0x1676
#define BCOM_DEVICEID_BCM5750M 0x167C
#define BCOM_DEVICEID_BCM5751 0x1677