brgphy.c (166665) | brgphy.c (166666) |
---|---|
1/*- 2 * Copyright (c) 2000 3 * Bill Paul <wpaul@ee.columbia.edu>. All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright --- 17 unchanged lines hidden (view full) --- 26 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 27 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 28 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 29 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF 30 * THE POSSIBILITY OF SUCH DAMAGE. 31 */ 32 33#include <sys/cdefs.h> | 1/*- 2 * Copyright (c) 2000 3 * Bill Paul <wpaul@ee.columbia.edu>. All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright --- 17 unchanged lines hidden (view full) --- 26 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 27 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 28 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 29 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF 30 * THE POSSIBILITY OF SUCH DAMAGE. 31 */ 32 33#include <sys/cdefs.h> |
34__FBSDID("$FreeBSD: head/sys/dev/mii/brgphy.c 166665 2007-02-12 19:33:22Z jkim $"); | 34__FBSDID("$FreeBSD: head/sys/dev/mii/brgphy.c 166666 2007-02-12 20:26:56Z jkim $"); |
35 36/* 37 * Driver for the Broadcom BCR5400 1000baseTX PHY. 38 */ 39 40#include <sys/param.h> 41#include <sys/systm.h> 42#include <sys/kernel.h> --- 575 unchanged lines hidden (view full) --- 618 PHY_WRITE(sc, BRGPHY_MII_AUXCTL, 0x7007); 619 val = PHY_READ(sc, BRGPHY_MII_AUXCTL); 620 PHY_WRITE(sc, BRGPHY_MII_AUXCTL, val | (1 << 15) | (1 << 4)); 621} 622 623static void 624brgphy_jumbo_settings(struct mii_softc *sc, u_long mtu) 625{ | 35 36/* 37 * Driver for the Broadcom BCR5400 1000baseTX PHY. 38 */ 39 40#include <sys/param.h> 41#include <sys/systm.h> 42#include <sys/kernel.h> --- 575 unchanged lines hidden (view full) --- 618 PHY_WRITE(sc, BRGPHY_MII_AUXCTL, 0x7007); 619 val = PHY_READ(sc, BRGPHY_MII_AUXCTL); 620 PHY_WRITE(sc, BRGPHY_MII_AUXCTL, val | (1 << 15) | (1 << 4)); 621} 622 623static void 624brgphy_jumbo_settings(struct mii_softc *sc, u_long mtu) 625{ |
626 struct brgphy_softc *bsc = (struct brgphy_softc *)sc; |
|
626 u_int32_t val; 627 628 /* Set or clear jumbo frame settings in the PHY. */ 629 if (mtu > ETHER_MAX_LEN) { | 627 u_int32_t val; 628 629 /* Set or clear jumbo frame settings in the PHY. */ 630 if (mtu > ETHER_MAX_LEN) { |
630 PHY_WRITE(sc, BRGPHY_MII_AUXCTL, 0x7); 631 val = PHY_READ(sc, BRGPHY_MII_AUXCTL); 632 PHY_WRITE(sc, BRGPHY_MII_AUXCTL, 633 val | BRGPHY_AUXCTL_LONG_PKT); | 631 if (bsc->mii_model == MII_MODEL_xxBROADCOM_BCM5401) 632 PHY_WRITE(sc, BRGPHY_MII_AUXCTL, 0x4c20); 633 else { 634 PHY_WRITE(sc, BRGPHY_MII_AUXCTL, 0x7); 635 val = PHY_READ(sc, BRGPHY_MII_AUXCTL); 636 PHY_WRITE(sc, BRGPHY_MII_AUXCTL, 637 val | BRGPHY_AUXCTL_LONG_PKT); 638 } |
634 635 val = PHY_READ(sc, BRGPHY_MII_PHY_EXTCTL); 636 PHY_WRITE(sc, BRGPHY_MII_PHY_EXTCTL, 637 val | BRGPHY_PHY_EXTCTL_HIGH_LA); 638 } else { 639 PHY_WRITE(sc, BRGPHY_MII_AUXCTL, 0x7); 640 val = PHY_READ(sc, BRGPHY_MII_AUXCTL); 641 PHY_WRITE(sc, BRGPHY_MII_AUXCTL, --- 75 unchanged lines hidden --- | 639 640 val = PHY_READ(sc, BRGPHY_MII_PHY_EXTCTL); 641 PHY_WRITE(sc, BRGPHY_MII_PHY_EXTCTL, 642 val | BRGPHY_PHY_EXTCTL_HIGH_LA); 643 } else { 644 PHY_WRITE(sc, BRGPHY_MII_AUXCTL, 0x7); 645 val = PHY_READ(sc, BRGPHY_MII_AUXCTL); 646 PHY_WRITE(sc, BRGPHY_MII_AUXCTL, --- 75 unchanged lines hidden --- |