Add support for BCM5752M. from Matt Kolb on tech-kern and OpenBSD.
This commit is contained in:
parent
fc28f9749e
commit
5a3995e0ab
|
@ -1,4 +1,4 @@
|
|||
/* $NetBSD: if_bge.c,v 1.118 2006/11/26 02:40:10 tsutsui Exp $ */
|
||||
/* $NetBSD: if_bge.c,v 1.119 2006/11/26 03:02:04 tsutsui Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 2001 Wind River Systems
|
||||
|
@ -79,7 +79,7 @@
|
|||
*/
|
||||
|
||||
#include <sys/cdefs.h>
|
||||
__KERNEL_RCSID(0, "$NetBSD: if_bge.c,v 1.118 2006/11/26 02:40:10 tsutsui Exp $");
|
||||
__KERNEL_RCSID(0, "$NetBSD: if_bge.c,v 1.119 2006/11/26 03:02:04 tsutsui Exp $");
|
||||
|
||||
#include "bpfilter.h"
|
||||
#include "vlan.h"
|
||||
|
@ -1966,6 +1966,18 @@ static const struct bge_revision {
|
|||
BGE_QUIRK_ONLY_PHY_1|BGE_QUIRK_5705_CORE,
|
||||
"BCM5751 A1" },
|
||||
|
||||
{ BGE_CHIPID_BCM5752_A0,
|
||||
BGE_QUIRK_ONLY_PHY_1|BGE_QUIRK_5705_CORE,
|
||||
"BCM5752 A0" },
|
||||
|
||||
{ BGE_CHIPID_BCM5752_A1,
|
||||
BGE_QUIRK_ONLY_PHY_1|BGE_QUIRK_5705_CORE,
|
||||
"BCM5752 A1" },
|
||||
|
||||
{ BGE_CHIPID_BCM5752_A2,
|
||||
BGE_QUIRK_ONLY_PHY_1|BGE_QUIRK_5705_CORE,
|
||||
"BCM5752 A2" },
|
||||
|
||||
{ 0, 0, NULL }
|
||||
};
|
||||
|
||||
|
@ -2166,6 +2178,11 @@ static const struct bge_product {
|
|||
"Broadcom BCM5752 Gigabit Ethernet",
|
||||
},
|
||||
|
||||
{ PCI_VENDOR_BROADCOM,
|
||||
PCI_PRODUCT_BROADCOM_BCM5752M,
|
||||
"Broadcom BCM5752M Gigabit Ethernet",
|
||||
},
|
||||
|
||||
{ PCI_VENDOR_BROADCOM,
|
||||
PCI_PRODUCT_BROADCOM_BCM5780,
|
||||
"Broadcom BCM5780 Gigabit Ethernet",
|
||||
|
@ -2692,6 +2709,13 @@ bge_reset(struct bge_softc *sc)
|
|||
BGE_PCIMISCCTL_INDIRECT_ACCESS|BGE_PCIMISCCTL_MASK_PCI_INTR|
|
||||
BGE_HIF_SWAP_OPTIONS|BGE_PCIMISCCTL_PCISTATE_RW);
|
||||
|
||||
/*
|
||||
* Disable the firmware fastboot feature on 5752 ASIC
|
||||
* to avoid firmware timeout.
|
||||
*/
|
||||
if (BGE_ASICREV(sc->bge_chipid) == BGE_ASICREV_BCM5752)
|
||||
CSR_WRITE_4(sc, BGE_FASTBOOT_PC, 0);
|
||||
|
||||
val = BGE_MISCCFG_RESET_CORE_CLOCKS | (65<<1);
|
||||
/*
|
||||
* XXX: from FreeBSD/Linux; no documentation
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $NetBSD: if_bgereg.h,v 1.35 2006/11/26 02:39:04 tsutsui Exp $ */
|
||||
/* $NetBSD: if_bgereg.h,v 1.36 2006/11/26 03:02:04 tsutsui Exp $ */
|
||||
/*
|
||||
* Copyright (c) 2001 Wind River Systems
|
||||
* Copyright (c) 1997, 1998, 1999, 2001
|
||||
|
@ -258,6 +258,9 @@
|
|||
#define BGE_CHIPID_BCM5750_A0 0x40000000
|
||||
#define BGE_CHIPID_BCM5750_A1 0x40010000
|
||||
#define BGE_CHIPID_BCM5751_A1 0x41010000
|
||||
#define BGE_CHIPID_BCM5752_A0 0x60000000
|
||||
#define BGE_CHIPID_BCM5752_A1 0x60010000
|
||||
#define BGE_CHIPID_BCM5752_A2 0x60020000
|
||||
#define BGE_CHIPID_BCM5714_A0 0x50000000
|
||||
#define BGE_CHIPID_BCM5715_xx 0x90010000
|
||||
|
||||
|
@ -1637,6 +1640,7 @@
|
|||
#define BGE_EE_CTL 0x6840
|
||||
#define BGE_MDI_CTL 0x6844
|
||||
#define BGE_EE_DELAY 0x6848
|
||||
#define BGE_FASTBOOT_PC 0x6894
|
||||
/*
|
||||
* XXX: Those names are made up as I have no documentation about it;
|
||||
* I only know it is only used in the PCI-Express case.
|
||||
|
|
Loading…
Reference in New Issue