Add a driver for the Broadcom NetXtreme II (BCM5706/BCM5708)
PCI/PCIe Gigabit Ethernet adapeter. Submitted by: David Christensen
This commit is contained in:
parent
7387c6237a
commit
c2fa353e65
293
share/man/man4/bce.4
Normal file
293
share/man/man4/bce.4
Normal file
@ -0,0 +1,293 @@
|
||||
.\"Copyright (c) 2006 Broadcom Corporation
|
||||
.\" David Christensen <davidch@broadcom.com>. All rights reserved.
|
||||
.\"
|
||||
.\"Redistribution and use in source and binary forms, with or without
|
||||
.\"modification, are permitted provided that the following conditions
|
||||
.\"are met:
|
||||
.\"
|
||||
.\"1. Redistributions of source code must retain the above copyright
|
||||
.\" notice, this list of conditions and the following disclaimer.
|
||||
.\"2. Redistributions in binary form must reproduce the above copyright
|
||||
.\" notice, this list of conditions and the following disclaimer in the
|
||||
.\" documentation and/or other materials provided with the distribution.
|
||||
.\"3. Neither the name of Broadcom Corporation nor the name of its contributors
|
||||
.\" may be used to endorse or promote products derived from this software
|
||||
.\" without specific prior written consent.
|
||||
.\"
|
||||
.\"THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS'
|
||||
.\"AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
.\"IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
.\"ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
|
||||
.\"BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
.\"CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
.\"SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
.\"INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
.\"CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
.\"ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
|
||||
.\"THE POSSIBILITY OF SUCH DAMAGE.
|
||||
\"
|
||||
.\" $FreeBSD$
|
||||
.\"
|
||||
.Dd April 4, 2006
|
||||
.Dt BCE 4
|
||||
.Os
|
||||
.Sh NAME
|
||||
.Nm bce
|
||||
.Nd "Broadcom NetXtreme II (BCM5706/BCM5708) PCI/PCIe Gigabit Ethernet adapter driver"
|
||||
.Sh SYNOPSIS
|
||||
To compile this driver into the kernel,
|
||||
place the following lines in your
|
||||
kernel configuration file:
|
||||
.Bd -ragged -offset indent
|
||||
.Cd "device miibus"
|
||||
.Cd "device bce"
|
||||
.Ed
|
||||
.Pp
|
||||
Alternatively, to load the driver as a
|
||||
module at boot time, place the following line in
|
||||
.Xr loader.conf 5 :
|
||||
.Bd -literal -offset indent
|
||||
if_bce_load="YES"
|
||||
.Ed
|
||||
.Sh DESCRIPTION
|
||||
The
|
||||
.Nm
|
||||
driver supports Broadcom's NetXtreme II product family, including the
|
||||
BCM5706 and BCM5708 Ethernet controllers.
|
||||
.Pp
|
||||
The NetXtreme II product family is composed of various Converged NIC (or CNIC)
|
||||
Ethernet controllers which support a TCP Offload Engine (TOE), Remote DMA (RDMA),
|
||||
and iSCSI acceleration, in addtion to standard L2 Ethernet traffic, all on the
|
||||
same controller. The following features are supported in the
|
||||
.Nm
|
||||
driver under FreeBSD:
|
||||
.Bd -literal -offset indent
|
||||
IP/TCP/UDP checksum offload
|
||||
Jumbo frames (up to 9022 bytes)
|
||||
VLAN tag stripping
|
||||
Interrupt coalescing
|
||||
10/100/1000Mbps operation in full-duplex mode
|
||||
10/100Mbps operation in half-duplex mode
|
||||
.Ed
|
||||
.Pp
|
||||
The
|
||||
.Nm
|
||||
driver supports the following media types:
|
||||
.Bl -tag -width ".Cm 10baseT/UTP"
|
||||
.It Cm autoselect
|
||||
Enable autoselection of the media type and options.
|
||||
The user can manually override
|
||||
the autoselected mode by adding media options to
|
||||
.Xr rc.conf 5 .
|
||||
.It Cm 10baseT/UTP
|
||||
Set 10Mbps operation.
|
||||
The
|
||||
.Xr ifconfig 8
|
||||
.Ic mediaopt
|
||||
option can also be used to select either
|
||||
.Cm full-duplex
|
||||
or
|
||||
.Cm half-duplex
|
||||
modes.
|
||||
.It Cm 100baseTX
|
||||
Set 100Mbps (Fast Ethernet) operation.
|
||||
The
|
||||
.Xr ifconfig 8
|
||||
.Ic mediaopt
|
||||
option can also be used to select either
|
||||
.Cm full-duplex
|
||||
or
|
||||
.Cm half-duplex
|
||||
modes.
|
||||
.It Cm 1000baseTX
|
||||
Set 1000baseTX operation over twisted pair.
|
||||
Only
|
||||
.Cm full-duplex
|
||||
mode is supported.
|
||||
.El
|
||||
.Pp
|
||||
The
|
||||
.Nm
|
||||
driver supports the following media options:
|
||||
.Bl -tag -width ".Cm full-duplex"
|
||||
.It Cm full-duplex
|
||||
Force full duplex operation.
|
||||
.It Cm half-duplex
|
||||
Force half duplex operation.
|
||||
.El
|
||||
.Pp
|
||||
For more information on configuring this device, see
|
||||
.Xr ifconfig 8 .
|
||||
.Sh HARDWARE
|
||||
The
|
||||
.Nm
|
||||
driver provides support for various NICs based on the Broadcom NetXtreme II
|
||||
family of Gigabit Ethernet controller, including the
|
||||
following:
|
||||
.Pp
|
||||
.Bl -bullet -compact
|
||||
.It
|
||||
HP NC370T Multifunction Gigabit Server Adapter
|
||||
.It
|
||||
HP NC370i Multifunction Gigabit Server Adapter
|
||||
.El
|
||||
.Sh DIAGNOSTICS
|
||||
.Bl -diag
|
||||
.It "bce%d: PCI memory allocation failed!"
|
||||
The driver has encountered a fatal initialization error.
|
||||
.It "bce%d: PCI map interrupt failed!"
|
||||
The driver has encountered a fatal initialization error.
|
||||
.It "bce%d: Unsupported controller revision (%c%d)"
|
||||
The driver does not support the controller revision in use.
|
||||
.It "bce%d: SerDes controllers are not supported!"
|
||||
The driver does not currently support SerDes/Fiber versions of the
|
||||
NetXtreme II controller.
|
||||
.It "bce%d: Controller initialization failed!"
|
||||
The driver has encountered a fatal initialization error.
|
||||
.It "bce%d: NVRAM test failed!"
|
||||
The driver could not access the controller NVRAM correctly.
|
||||
.It "bce%d: DMA resource allocation failed!"
|
||||
The driver could not allocate DMA memory to setup the controllers
|
||||
host memory data structures.
|
||||
.It "bce%d: Interface allocation failed!"
|
||||
The driver could not create a network interface for the controller.
|
||||
.It "bce%d: PHY probe failed!"
|
||||
The driver could not access the PHY used by the controller.
|
||||
.It "bce%d: Failed to setup IRQ!"
|
||||
The driver could not initialize the IRQ handler.
|
||||
.It "bce%d: Error: PHY read timeout!"
|
||||
The driver could not read a PHY register before the timeout period expired.
|
||||
.It "bce%d: PHY write timeout!"
|
||||
The driver could not write to the PHY register because a timeout occurred.
|
||||
.It "bce%d: Timeout error reading NVRAM at offset 0x%08X!"
|
||||
The driver could not write to NVRAM because a timeout occurred.
|
||||
.It "bce%d: Unknown Flash NVRAM found!"
|
||||
The driver does not recognize the NVRAM device being used and therefore
|
||||
cannot access it correctly.
|
||||
.It "bce%d: Invalid NVRAM magic value!"
|
||||
The driver cannot read NVRAM or the NVRAM is corrupt.
|
||||
.It "bce%d: Invalid Manufacturing Information NVRAM CRC!"
|
||||
The driver cannot read NVRAM or the NVRAM is corrupt.
|
||||
.It "bce%d: Invalid Feature Configuration Information NVRAM CRC!"
|
||||
The driver cannot read NVRAM or the NVRAM is corrupt.
|
||||
.It "bce%d: DMA mapping error!"
|
||||
The driver was unable to map memory into DMA addressable space required
|
||||
by the controller.
|
||||
.It "bce%d: Could not allocate parent DMA tag!"
|
||||
The driver could not allocate a PCI compatible DMA tag.
|
||||
.It "bce%d: Could not allocate status block DMA tag!"
|
||||
The driver could not allocate a DMA tag for the controller's
|
||||
status block.
|
||||
.It "bce%d: Could not allocate status block DMA memory!"
|
||||
The driver could not allocate DMA addressable memory for the controller's
|
||||
status block.
|
||||
.It "bce_d: Could not map status block DMA memory!"
|
||||
The driver could not map the status block memory into the controller's DMA
|
||||
address space.
|
||||
.It "bce%d: Could not allocate statistics block DMA tag!"
|
||||
The driver could not allocate a DMA tag for the controller's
|
||||
statistics block.
|
||||
.It "bce%d: Could not allocate statistics block DMA memory!"
|
||||
The driver could not allocate DMA addressable memory for the controller's
|
||||
statistics block.
|
||||
.It "bce%d: Could not map statistics block DMA memory!"
|
||||
The driver could not map the statistics block memory into the controller's DMA
|
||||
address space.
|
||||
.It "bce%d: Could not allocate TX descriptor chain DMA tag!"
|
||||
The driver could not allocate a DMA tag for the controller's
|
||||
TX chain.
|
||||
.It "bce%d: Could not allocate TX descriptor chain DMA memory!
|
||||
The driver could not allocate DMA addressable memory for the controller's
|
||||
TX chain.
|
||||
.It "bce%d: Could not map TX descriptor chain DMA memory!"
|
||||
The driver could not map the TX descriptor chain memory into the controller's DMA
|
||||
address space.
|
||||
.It "bce%d: Could not allocate TX mbuf DMA tag!"
|
||||
The driver could not allocate a DMA tag for the controller's
|
||||
TX mbuf memory.
|
||||
.It "bce%d: Unable to create TX mbuf DMA map!"
|
||||
The driver could not map the TX mbuf memory into the controller's DMA
|
||||
address space.
|
||||
.It "bce%d: Could not allocate RX descriptor chain DMA tag!"
|
||||
The driver could not allocate a DMA tag for the controller's
|
||||
RX chain.
|
||||
.It "bce%d: Could not allocate RX descriptor chain "
|
||||
The driver could not allocate DMA addressable memory for the controller's
|
||||
RX chain.
|
||||
.It "bce%d: Could not map RX descriptor chain DMA memory!"
|
||||
The driver could not map the RX descriptor chain memory into the controller's DMA
|
||||
address space.
|
||||
.It "bce%d: Could not allocate RX mbuf DMA tag!"
|
||||
The driver could not allocate a DMA tag for the controller's
|
||||
RX mbuf memory.
|
||||
.It "bce%d: Unable to create RX mbuf DMA map!"
|
||||
The driver could not map the RX mbuf memory into the controller's DMA
|
||||
address space.
|
||||
.It "bce%d: Firmware synchronization timeout!"
|
||||
The driver was not able to synchronize with the firmware running on the
|
||||
controller. The firmware may be stopped or hung.
|
||||
.It "bce%d: Invalid Ethernet address!"
|
||||
The driver was not able to read a vaild Ethernet MAC address from NVRAM.
|
||||
.It "bce%d: Reset failed!"
|
||||
The driver has encountered a fatal initialization error.
|
||||
.It "bce%d: Byte swap is incorrect!"
|
||||
The driver has encountered a fatal initialization error. Contact the author
|
||||
with details of the CPU architecture and system chipset in use.
|
||||
.It "bce%d: Firmware did not complete initialization!"
|
||||
The driver has encountered a fatal initialization error.
|
||||
.It "bce%d: Bootcode not running!"
|
||||
The driver has encountered a fatal initialization error.
|
||||
.It "bce%d: Error mapping mbuf into RX chain!"
|
||||
The driver could not map a RX mbuf into DMA addressable memory.
|
||||
.It "bce%d: Error filling RX chain: rx_bd[0x%04X]!"
|
||||
The driver was unable to allocate enough mbufs to fill the RX chain
|
||||
during initialization. Try increasing the number of mbufs available in
|
||||
the system, increase system memory, or if using jumbo frames, make sure
|
||||
enough 9KB mbufs are available.
|
||||
.It "bce%d: Failed to allocate new mbuf, incoming frame dropped!"
|
||||
The driver was unable to allocate a new mbuf for the RX chain and reused
|
||||
the mbuf for the received frame, dropping the incoming frame in the process.
|
||||
Try increasing the number of mbufs available in the system or increase system
|
||||
memory.
|
||||
.It "bce%d: Controller reset failed!"
|
||||
A fatal initialization error has occurred.
|
||||
.It "bce%d: Controller initialization failed!"
|
||||
A fatal initialization error has occurred.
|
||||
.It "bce%d: Block initialization failed!"
|
||||
A fatal initialization error has occurred.
|
||||
.It "bce%d: Error mapping mbuf into TX chain!"
|
||||
The driver could not map a TX mbuf into DMA addressable memory.
|
||||
.It "bce%d: Error registering poll function!"
|
||||
The driver received an error while attempting to register the poll function.
|
||||
.It "bce%d: Changing VLAN_MTU not supported."
|
||||
Changing the VLAN MTU is not currently supported by the driver.
|
||||
.It "bce%d: Cannot change VLAN_HWTAGGING while management firmware (ASF/IPMI/UMP) is running!"
|
||||
Management firmware to support ASF/IPMI/UMP requires that VLAN
|
||||
tag stripping be enabled in the controller.
|
||||
.It "bce%d: Changing VLAN_HWTAGGING not supported!"
|
||||
Disabling VLAN tag stripping is not currently supported by the driver.
|
||||
.It "bce%d: Watchdog timeout occurred, resetting!"
|
||||
The device has stopped responding to the network, there is a problem
|
||||
with the cable connection, or a driver logic problem has occurred..
|
||||
.It "bce%d: Fatal attention detected: 0x%08X!"
|
||||
A controller hardware failure has occurred. If the problem continues replace
|
||||
the controller.
|
||||
.El
|
||||
.Sh SEE ALSO
|
||||
.Xr arp 4 ,
|
||||
.Xr miibus 4 ,
|
||||
.Xr netintro 4 ,
|
||||
.Xr ng_ether 4 ,
|
||||
.Xr polling 4 ,
|
||||
.Xr vlan 4 ,
|
||||
.Xr ifconfig 8
|
||||
.Sh HISTORY
|
||||
The
|
||||
.Nm
|
||||
device driver first appeared in
|
||||
.Fx 6.1 .
|
||||
.Sh AUTHORS
|
||||
The
|
||||
.Nm
|
||||
driver was written by
|
||||
.An David Christensen Aq davidch@broadcom.com .
|
6797
sys/dev/bce/if_bce.c
Normal file
6797
sys/dev/bce/if_bce.c
Normal file
File diff suppressed because it is too large
Load Diff
3508
sys/dev/bce/if_bcefw.h
Normal file
3508
sys/dev/bce/if_bcefw.h
Normal file
File diff suppressed because it is too large
Load Diff
4904
sys/dev/bce/if_bcereg.h
Normal file
4904
sys/dev/bce/if_bcereg.h
Normal file
File diff suppressed because it is too large
Load Diff
@ -48,6 +48,7 @@ __FBSDID("$FreeBSD$");
|
||||
#include <machine/clock.h>
|
||||
|
||||
#include <net/if.h>
|
||||
#include <net/ethernet.h>
|
||||
#include <net/if_media.h>
|
||||
|
||||
#include <dev/mii/mii.h>
|
||||
@ -58,6 +59,7 @@ __FBSDID("$FreeBSD$");
|
||||
#include <net/if_arp.h>
|
||||
#include <machine/bus.h>
|
||||
#include <dev/bge/if_bgereg.h>
|
||||
#include <dev/bce/if_bcereg.h>
|
||||
|
||||
#include <dev/pci/pcireg.h>
|
||||
#include <dev/pci/pcivar.h>
|
||||
@ -161,6 +163,17 @@ brgphy_probe(device_t dev)
|
||||
if (MII_OUI(ma->mii_id1, ma->mii_id2) == MII_OUI_xxBROADCOM &&
|
||||
MII_MODEL(ma->mii_id2) == MII_MODEL_xxBROADCOM_BCM5780) {
|
||||
device_set_desc(dev, MII_STR_xxBROADCOM_BCM5780);
|
||||
}
|
||||
|
||||
if (MII_OUI(ma->mii_id1, ma->mii_id2) == MII_OUI_xxBROADCOM &&
|
||||
MII_MODEL(ma->mii_id2) == MII_MODEL_xxBROADCOM_BCM5706C) {
|
||||
device_set_desc(dev, MII_STR_xxBROADCOM_BCM5706C);
|
||||
return(0);
|
||||
}
|
||||
|
||||
if (MII_OUI(ma->mii_id1, ma->mii_id2) == MII_OUI_xxBROADCOM &&
|
||||
MII_MODEL(ma->mii_id2) == MII_MODEL_xxBROADCOM_BCM5708C) {
|
||||
device_set_desc(dev, MII_STR_xxBROADCOM_BCM5708C);
|
||||
return(0);
|
||||
}
|
||||
|
||||
@ -174,7 +187,8 @@ brgphy_attach(device_t dev)
|
||||
struct mii_attach_args *ma;
|
||||
struct mii_data *mii;
|
||||
const char *sep = "";
|
||||
struct bge_softc *bge_sc;
|
||||
struct bge_softc *bge_sc = NULL;
|
||||
struct bce_softc *bce_sc = NULL;
|
||||
int fast_ether_only = FALSE;
|
||||
|
||||
sc = device_get_softc(dev);
|
||||
@ -210,10 +224,14 @@ brgphy_attach(device_t dev)
|
||||
device_printf(dev, " ");
|
||||
mii_add_media(sc);
|
||||
|
||||
/* Find the driver associated with this PHY. */
|
||||
if (strcmp(mii->mii_ifp->if_dname, "bge") == 0) {
|
||||
bge_sc = mii->mii_ifp->if_softc;
|
||||
} else if (strcmp(mii->mii_ifp->if_dname, "bce") == 0) {
|
||||
bce_sc = mii->mii_ifp->if_softc;
|
||||
}
|
||||
|
||||
/* The 590x chips are 10/100 only. */
|
||||
|
||||
bge_sc = mii->mii_ifp->if_softc;
|
||||
|
||||
if (strcmp(mii->mii_ifp->if_dname, "bge") == 0 &&
|
||||
pci_get_vendor(bge_sc->bge_dev) == BCOM_VENDORID &&
|
||||
(pci_get_device(bge_sc->bge_dev) == BCOM_DEVICEID_BCM5901 ||
|
||||
@ -619,7 +637,8 @@ brgphy_reset(struct mii_softc *sc)
|
||||
{
|
||||
u_int32_t val;
|
||||
struct ifnet *ifp;
|
||||
struct bge_softc *bge_sc;
|
||||
struct bge_softc *bge_sc = NULL;
|
||||
struct bce_softc *bce_sc = NULL;
|
||||
|
||||
mii_phy_reset(sc);
|
||||
|
||||
@ -640,34 +659,71 @@ brgphy_reset(struct mii_softc *sc)
|
||||
case MII_MODEL_xxBROADCOM_BCM5750:
|
||||
case MII_MODEL_xxBROADCOM_BCM5714:
|
||||
case MII_MODEL_xxBROADCOM_BCM5780:
|
||||
case MII_MODEL_xxBROADCOM_BCM5706C:
|
||||
case MII_MODEL_xxBROADCOM_BCM5708C:
|
||||
bcm5750_load_dspcode(sc);
|
||||
break;
|
||||
}
|
||||
|
||||
ifp = sc->mii_pdata->mii_ifp;
|
||||
bge_sc = ifp->if_softc;
|
||||
|
||||
/*
|
||||
* Don't enable Ethernet@WireSpeed for the 5700 or the
|
||||
* 5705 A1 and A2 chips. Make sure we only do this test
|
||||
* on "bge" NICs, since other drivers may use this same
|
||||
* PHY subdriver.
|
||||
*/
|
||||
if (strcmp(ifp->if_dname, "bge") == 0 &&
|
||||
(bge_sc->bge_asicrev == BGE_ASICREV_BCM5700 ||
|
||||
bge_sc->bge_chipid == BGE_CHIPID_BCM5705_A1 ||
|
||||
bge_sc->bge_chipid == BGE_CHIPID_BCM5705_A2))
|
||||
return;
|
||||
/* Find the driver associated with this PHY. */
|
||||
if (strcmp(ifp->if_dname, "bge") == 0) {
|
||||
bge_sc = ifp->if_softc;
|
||||
} else if (strcmp(ifp->if_dname, "bce") == 0) {
|
||||
bce_sc = ifp->if_softc;
|
||||
}
|
||||
|
||||
/* Enable Ethernet@WireSpeed. */
|
||||
PHY_WRITE(sc, BRGPHY_MII_AUXCTL, 0x7007);
|
||||
val = PHY_READ(sc, BRGPHY_MII_AUXCTL);
|
||||
PHY_WRITE(sc, BRGPHY_MII_AUXCTL, val | (1 << 15) | (1 << 4));
|
||||
/* Handle any NetXtreme/bge workarounds. */
|
||||
if (bge_sc) {
|
||||
/*
|
||||
* Don't enable Ethernet@WireSpeed for the 5700 or the
|
||||
* 5705 A1 and A2 chips. Make sure we only do this test
|
||||
* on "bge" NICs, since other drivers may use this same
|
||||
* PHY subdriver.
|
||||
*/
|
||||
if (bge_sc->bge_asicrev == BGE_ASICREV_BCM5700 ||
|
||||
bge_sc->bge_chipid == BGE_CHIPID_BCM5705_A1 ||
|
||||
bge_sc->bge_chipid == BGE_CHIPID_BCM5705_A2)
|
||||
return;
|
||||
|
||||
/* Enable Link LED on Dell boxes */
|
||||
if (bge_sc->bge_no_3_led) {
|
||||
PHY_WRITE(sc, BRGPHY_MII_PHY_EXTCTL,
|
||||
PHY_READ(sc, BRGPHY_MII_PHY_EXTCTL)
|
||||
& ~BRGPHY_PHY_EXTCTL_3_LED);
|
||||
/* Enable Ethernet@WireSpeed. */
|
||||
PHY_WRITE(sc, BRGPHY_MII_AUXCTL, 0x7007);
|
||||
val = PHY_READ(sc, BRGPHY_MII_AUXCTL);
|
||||
PHY_WRITE(sc, BRGPHY_MII_AUXCTL, val | (1 << 15) | (1 << 4));
|
||||
|
||||
/* Enable Link LED on Dell boxes */
|
||||
if (bge_sc->bge_no_3_led) {
|
||||
PHY_WRITE(sc, BRGPHY_MII_PHY_EXTCTL,
|
||||
PHY_READ(sc, BRGPHY_MII_PHY_EXTCTL)
|
||||
& ~BRGPHY_PHY_EXTCTL_3_LED);
|
||||
}
|
||||
} else if (bce_sc) {
|
||||
|
||||
/* Set or clear jumbo frame settings in the PHY. */
|
||||
if (ifp->if_mtu > ETHER_MAX_LEN) {
|
||||
PHY_WRITE(sc, BRGPHY_MII_AUXCTL, 0x7);
|
||||
val = PHY_READ(sc, BRGPHY_MII_AUXCTL);
|
||||
PHY_WRITE(sc, BRGPHY_MII_AUXCTL,
|
||||
val | BRGPHY_AUXCTL_LONG_PKT);
|
||||
|
||||
val = PHY_READ(sc, BRGPHY_MII_PHY_EXTCTL);
|
||||
PHY_WRITE(sc, BRGPHY_MII_PHY_EXTCTL,
|
||||
val | BRGPHY_PHY_EXTCTL_HIGH_LA);
|
||||
} else {
|
||||
PHY_WRITE(sc, BRGPHY_MII_AUXCTL, 0x7);
|
||||
val = PHY_READ(sc, BRGPHY_MII_AUXCTL);
|
||||
PHY_WRITE(sc, BRGPHY_MII_AUXCTL,
|
||||
val & ~(BRGPHY_AUXCTL_LONG_PKT | 0x7));
|
||||
|
||||
val = PHY_READ(sc, BRGPHY_MII_PHY_EXTCTL);
|
||||
PHY_WRITE(sc, BRGPHY_MII_PHY_EXTCTL,
|
||||
val & ~BRGPHY_PHY_EXTCTL_HIGH_LA);
|
||||
}
|
||||
|
||||
/* Enable Ethernet@Wirespeed */
|
||||
PHY_WRITE(sc, BRGPHY_MII_AUXCTL, 0x7007);
|
||||
val = PHY_READ(sc, BRGPHY_MII_AUXCTL);
|
||||
PHY_WRITE(sc, BRGPHY_MII_AUXCTL, (val | (1 << 15) | (1 << 4)));
|
||||
}
|
||||
}
|
||||
|
@ -124,6 +124,8 @@ model xxBROADCOM BCM5705 0x001a BCM5705 10/100/1000baseTX PHY
|
||||
model xxBROADCOM BCM5750 0x0018 BCM5750 10/100/1000baseTX PHY
|
||||
model xxBROADCOM BCM5714 0x0034 BCM5714 10/100/1000baseTX PHY
|
||||
model xxBROADCOM BCM5780 0x0035 BCM5780 10/100/1000baseTX PHY
|
||||
model xxBROADCOM BCM5706C 0x0015 BCM5706C 10/100/1000baseTX PHY
|
||||
model xxBROADCOM BCM5708C 0x0036 BCM5708C 10/100/1000baseTX PHY
|
||||
|
||||
/* Cicada Semiconductor PHYs (now owned by Vitesse?) */
|
||||
model CICADA CS8201 0x0001 Cicada CS8201 10/100/1000TX PHY
|
||||
|
8
sys/modules/bce/Makefile
Normal file
8
sys/modules/bce/Makefile
Normal file
@ -0,0 +1,8 @@
|
||||
# $FreeBSD$
|
||||
.PATH: ${.CURDIR}/../../dev/bce
|
||||
KMOD= if_bce
|
||||
SRCS= opt_bce.h if_bce.c miibus_if.h miidevs.h device_if.h bus_if.h pci_if.h
|
||||
|
||||
#CFLAGS += -DBCE_DEBUG=0
|
||||
|
||||
.include <bsd.kmod.mk>
|
Loading…
x
Reference in New Issue
Block a user