Add support for BCM5752M. from Matt Kolb on tech-kern and OpenBSD.

This commit is contained in:
tsutsui 2006-11-26 03:02:04 +00:00
parent fc28f9749e
commit 5a3995e0ab
2 changed files with 31 additions and 3 deletions

View File

@ -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

View File

@ -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.