summaryrefslogtreecommitdiff
path: root/sys/dev/pci
diff options
context:
space:
mode:
authorBrad Smith <brad@cvs.openbsd.org>2005-08-30 03:18:31 +0000
committerBrad Smith <brad@cvs.openbsd.org>2005-08-30 03:18:31 +0000
commit95d31a162868b83c2f59dedc3771ac580df8f9a9 (patch)
treefdafdede1d558997e8a184c4fcef98c5d3eadca3 /sys/dev/pci
parent24d0fc47dd64780e2534668a441e6ebc5cf36c35 (diff)
- add BCM5780 PCI ids
- recognize BCM5704 B0 - recognize BCM5780 which is supposedly part of the BCM5714 family according to the Linux driver but there is a BCM5714 core too. huh? ok deraadt@
Diffstat (limited to 'sys/dev/pci')
-rw-r--r--sys/dev/pci/if_bge.c12
-rw-r--r--sys/dev/pci/if_bgereg.h7
2 files changed, 17 insertions, 2 deletions
diff --git a/sys/dev/pci/if_bge.c b/sys/dev/pci/if_bge.c
index 60521085b35..a77b9cfcb14 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.80 2005/08/27 14:12:36 brad Exp $ */
+/* $OpenBSD: if_bge.c,v 1.81 2005/08/30 03:18:30 brad Exp $ */
/*
* Copyright (c) 2001 Wind River Systems
@@ -224,6 +224,8 @@ const struct pci_matchid bge_devices[] = {
{ PCI_VENDOR_BROADCOM, PCI_PRODUCT_BROADCOM_BCM5753 },
{ PCI_VENDOR_BROADCOM, PCI_PRODUCT_BROADCOM_BCM5753F },
{ PCI_VENDOR_BROADCOM, PCI_PRODUCT_BROADCOM_BCM5753M },
+ { PCI_VENDOR_BROADCOM, PCI_PRODUCT_BROADCOM_BCM5780 },
+ { PCI_VENDOR_BROADCOM, PCI_PRODUCT_BROADCOM_BCM5780S },
{ PCI_VENDOR_BROADCOM, PCI_PRODUCT_BROADCOM_BCM5781 },
{ PCI_VENDOR_BROADCOM, PCI_PRODUCT_BROADCOM_BCM5782 },
{ PCI_VENDOR_BROADCOM, PCI_PRODUCT_BROADCOM_BCM5788 },
@@ -1570,6 +1572,10 @@ static const struct bge_revision {
BGE_QUIRK_ONLY_PHY_1|BGE_QUIRK_FEWER_MBUFS,
"BCM5704 A3" },
+ { BGE_CHIPID_BCM5704_B0,
+ BGE_QUIRK_ONLY_PHY_1|BGE_QUIRK_FEWER_MBUFS,
+ "BCM5704 B0" },
+
{ BGE_CHIPID_BCM5705_A0,
BGE_QUIRK_ONLY_PHY_1|BGE_QUIRK_5705_CORE,
"BCM5705 A0" },
@@ -1662,6 +1668,10 @@ static const struct bge_revision bge_majorrevs[] = {
BGE_QUIRK_ONLY_PHY_1|BGE_QUIRK_5705_CORE,
"unknown BCM5752" },
+ { BGE_ASICREV_BCM5780,
+ BGE_QUIRK_ONLY_PHY_1|BGE_QUIRK_5705_CORE,
+ "unknown BCM5780" },
+
{ 0,
0,
NULL }
diff --git a/sys/dev/pci/if_bgereg.h b/sys/dev/pci/if_bgereg.h
index e69b7580e93..6fffb15f6a5 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.26 2005/08/27 14:12:36 brad Exp $ */
+/* $OpenBSD: if_bgereg.h,v 1.27 2005/08/30 03:18:30 brad Exp $ */
/*
* Copyright (c) 2001 Wind River Systems
@@ -244,6 +244,7 @@
#define BGE_CHIPID_BCM5704_A1 0x20010000
#define BGE_CHIPID_BCM5704_A2 0x20020000
#define BGE_CHIPID_BCM5704_A3 0x20030000
+#define BGE_CHIPID_BCM5704_B0 0x21000000
#define BGE_CHIPID_BCM5705_A0 0x30000000
#define BGE_CHIPID_BCM5705_A1 0x30010000
#define BGE_CHIPID_BCM5705_A2 0x30020000
@@ -257,6 +258,7 @@
#define BGE_CHIPID_BCM5714_A0 0x50000000
#define BGE_CHIPID_BCM5752_A0 0x60000000
#define BGE_CHIPID_BCM5752_A1 0x60010000
+#define BGE_CHIPID_BCM5714 0x80000000
/* shorthand one */
#define BGE_ASICREV(x) ((x) >> 28)
@@ -268,6 +270,7 @@
#define BGE_ASICREV_BCM5750 0x04
#define BGE_ASICREV_BCM5714 0x05
#define BGE_ASICREV_BCM5752 0x06
+#define BGE_ASICREV_BCM5780 0x08
/* chip revisions */
#define BGE_CHIPREV(x) ((x) >> 24)
@@ -278,6 +281,8 @@
#define BGE_CHIPREV_5703_AX 0x10
#define BGE_CHIPREV_5704_AX 0x20
#define BGE_CHIPREV_5704_BX 0x21
+#define BGE_CHIPREV_5750_AX 0x40
+#define BGE_CHIPREV_5750_BX 0x41
/* PCI DMA Read/Write Control register */
#define BGE_PCIDMARWCTL_MINDMA 0x000000FF