diff options
author | Jason Wright <jason@cvs.openbsd.org> | 2000-10-17 19:10:32 +0000 |
---|---|---|
committer | Jason Wright <jason@cvs.openbsd.org> | 2000-10-17 19:10:32 +0000 |
commit | 37bc8754c1ac16374377c521a6b0425e342e8fc3 (patch) | |
tree | 87cc4c3b9453b701b8b9832f7477dfa529a87b01 /sys/dev/mii | |
parent | b05f6364f50085f0f21ef5e88a07b6099f06c968 (diff) |
remove dmphy
Diffstat (limited to 'sys/dev/mii')
-rw-r--r-- | sys/dev/mii/dmphy.c | 264 | ||||
-rw-r--r-- | sys/dev/mii/dmphyreg.h | 88 | ||||
-rw-r--r-- | sys/dev/mii/files.mii | 6 |
3 files changed, 1 insertions, 357 deletions
diff --git a/sys/dev/mii/dmphy.c b/sys/dev/mii/dmphy.c deleted file mode 100644 index aa7cdff366e..00000000000 --- a/sys/dev/mii/dmphy.c +++ /dev/null @@ -1,264 +0,0 @@ -/* $OpenBSD: dmphy.c,v 1.2 2000/08/26 20:04:17 nate Exp $ */ -/* $NetBSD: dmphy.c,v 1.7.4.1 2000/07/04 04:11:12 thorpej Exp $ */ - -/*- - * Copyright (c) 1998, 1999, 2000 The NetBSD Foundation, Inc. - * All rights reserved. - * - * This code is derived from software contributed to The NetBSD Foundation - * by Jason R. Thorpe of the Numerical Aerospace Simulation Facility, - * NASA Ames Research Center. - * - * 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. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the NetBSD - * Foundation, Inc. and its contributors. - * 4. Neither the name of The NetBSD Foundation nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. 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 FOUNDATION 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. - */ - -/* - * Copyright (c) 1997 Manuel Bouyer. 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. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by Manuel Bouyer. - * 4. The name of the author may not be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR 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. - */ - -/* - * driver for Davicom's DM9101 ethernet 10/100 PHY - * Data Sheet available from www.davicom8.com - */ - -#include <sys/param.h> -#include <sys/systm.h> -#include <sys/kernel.h> -#include <sys/device.h> -#include <sys/malloc.h> -#include <sys/socket.h> -#include <sys/errno.h> - -#include <net/if.h> -#include <net/if_media.h> - -#include <dev/mii/mii.h> -#include <dev/mii/miivar.h> -#include <dev/mii/miidevs.h> - -#include <dev/mii/dmphyreg.h> - -int dmphymatch __P((struct device *, void *, void *)); -void dmphyattach __P((struct device *, struct device *, void *)); - -struct cfattach dmphy_ca = { - sizeof(struct mii_softc), dmphymatch, dmphyattach, mii_phy_detach, - mii_phy_activate -}; - -struct cfdriver dmphy_cd = { - NULL, "dmphy", DV_DULL -}; - -int dmphy_service __P((struct mii_softc *, struct mii_data *, int)); -void dmphy_status __P((struct mii_softc *)); - -int -dmphymatch(parent, match, aux) - struct device *parent; - void *match; - void *aux; -{ - struct mii_attach_args *ma = aux; - - if ((MII_OUI(ma->mii_id1, ma->mii_id2) == MII_OUI_xxDAVICOM || - MII_OUI(ma->mii_id1, ma->mii_id2) == MII_OUI_DAVICOM) && - (MII_MODEL(ma->mii_id2) == MII_MODEL_xxDAVICOM_DM9101)) - return (10); - - return (0); -} - -void -dmphyattach(parent, self, aux) - struct device *parent, *self; - void *aux; -{ - struct mii_softc *sc = (struct mii_softc *)self; - struct mii_attach_args *ma = aux; - struct mii_data *mii = ma->mii_data; - - printf(": %s, rev. %d\n", MII_STR_xxDAVICOM_DM9101, - MII_REV(ma->mii_id2)); - - sc->mii_inst = mii->mii_instance; - sc->mii_phy = ma->mii_phyno; - sc->mii_service = dmphy_service; - sc->mii_status = ukphy_status; - sc->mii_pdata = mii; - sc->mii_flags = mii->mii_flags; - - mii_phy_reset(sc); - - sc->mii_capabilities = - PHY_READ(sc, MII_BMSR) & ma->mii_capmask; - if (sc->mii_capabilities & BMSR_MEDIAMASK) - mii_phy_add_media(sc); -} - -int -dmphy_service(sc, mii, cmd) - struct mii_softc *sc; - struct mii_data *mii; - int cmd; -{ - struct ifmedia_entry *ife = mii->mii_media.ifm_cur; - int reg; - - if ((sc->mii_dev.dv_flags & DVF_ACTIVE) == 0) - return (ENXIO); - - switch (cmd) { - case MII_POLLSTAT: - /* - * If we're not polling our PHY instance, just return. - */ - if (IFM_INST(ife->ifm_media) != sc->mii_inst) - return (0); - break; - - case MII_MEDIACHG: - /* - * If the media indicates a different PHY instance, - * isolate ourselves. - */ - if (IFM_INST(ife->ifm_media) != sc->mii_inst) { - reg = PHY_READ(sc, MII_BMCR); - PHY_WRITE(sc, MII_BMCR, reg | BMCR_ISO); - return (0); - } - - /* - * If the interface is not up, don't do anything. - */ - if ((mii->mii_ifp->if_flags & IFF_UP) == 0) - break; - - mii_phy_setmedia(sc); - break; - - case MII_TICK: - /* - * If we're not currently selected, just return. - */ - if (IFM_INST(ife->ifm_media) != sc->mii_inst) - return (0); - - if (mii_phy_tick(sc) == EJUSTRETURN) - return (0); - break; - - case MII_DOWN: - mii_phy_down(sc); - return (0); - } - - /* Update the media status. */ - mii_phy_status(sc); - - mii_phy_update(sc, cmd); - return (0); -} - -void -dmphy_status(sc) - struct mii_softc *sc; -{ - struct mii_data *mii = sc->mii_pdata; - struct ifmedia_entry *ife = mii->mii_media.ifm_cur; - int bmsr, bmcr, dscsr; - - mii->mii_media_status = IFM_AVALID; - mii->mii_media_active = IFM_ETHER; - - bmsr = PHY_READ(sc, MII_BMSR) | - PHY_READ(sc, MII_BMSR); - if (bmsr & BMSR_LINK) - mii->mii_media_status |= IFM_ACTIVE; - - bmcr = PHY_READ(sc, MII_BMCR); - if (bmcr & BMCR_ISO) { - mii->mii_media_active |= IFM_NONE; - mii->mii_media_status = 0; - return; - } - - if (bmcr & BMCR_LOOP) - mii->mii_media_active |= IFM_LOOP; - - if (bmcr & BMCR_AUTOEN) { - /* - * The PAR status bits are only valid of autonegotiation - * has completed (or it's disabled). - */ - if ((bmsr & BMSR_ACOMP) == 0) { - /* Erg, still trying, I guess... */ - mii->mii_media_active |= IFM_NONE; - return; - } - - dscsr = PHY_READ(sc, MII_DMPHY_DSCSR); - if (dscsr & DSCSR_100FDX) - mii->mii_media_active |= IFM_100_TX|IFM_FDX; - else if (dscsr & DSCSR_100HDX) - mii->mii_media_active |= IFM_100_TX; - else if (dscsr & DSCSR_10FDX) - mii->mii_media_active |= IFM_10_T|IFM_FDX; - else if (dscsr & DSCSR_10HDX) - mii->mii_media_active |= IFM_10_T; - else - mii->mii_media_active |= IFM_NONE; - } else - mii->mii_media_active = ife->ifm_media; -} diff --git a/sys/dev/mii/dmphyreg.h b/sys/dev/mii/dmphyreg.h deleted file mode 100644 index 85509c5ed72..00000000000 --- a/sys/dev/mii/dmphyreg.h +++ /dev/null @@ -1,88 +0,0 @@ -/* $NetBSD: dmphyreg.h,v 1.1 2000/02/02 04:29:49 thorpej Exp $ */ - -/*- - * Copyright (c) 2000 The NetBSD Foundation, Inc. - * All rights reserved. - * - * This code is derived from software contributed to The NetBSD Foundation - * by Jason R. Thorpe of the Numerical Aerospace Simulation Facility, - * NASA Ames Research Center. - * - * 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. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the NetBSD - * Foundation, Inc. and its contributors. - * 4. Neither the name of The NetBSD Foundation nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. 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 FOUNDATION 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. - */ - -#ifndef _DEV_MII_DMPHYREG_H_ -#define _DEV_MII_DMPHYREG_H_ - -/* - * Davicom DM9101 registers. - */ - -#define MII_DMPHY_DSCR 0x10 /* DAVICOM Specified Config Reg */ -#define DSCR_BP_4B5B 0x8000 /* bypass 4b5b encoding/decoding */ -#define DSCR_SCR 0x4000 /* bypass scrambler/descrambler */ -#define DSCR_ALIGN 0x2000 /* bypass symbol alignment */ -#define DSCR_REPEATER 0x0800 /* repeater mode */ -#define DSCR_TX 0x0400 /* 1 == 100baseTX, 0 == 100baseFX */ -#define DSCR_UTP 0x0200 /* 1 == UTP, 0 == STP */ -#define DSCR_CLK25MDIS 0x0100 /* CLK25M disable */ -#define DSCR_F_LINK_100 0x0080 /* force good link in 100Mb/s mode */ -#define DSCR_LINKLED_CTL 0x0020 /* 1 == link only, 0 == link+traffic */ -#define DSCR_FDXLEN_MODE 0x0010 /* 1 == 10baseT polarity, 0 == FDX */ -#define DSCR_SMRST 0x0008 /* reset state machine */ -#define DSCR_MFPSC 0x0004 /* MF preamble suppression */ -#define DSCR_SLEEP 0x0002 /* sleep mode */ -#define DSCR_RLOUT 0x0001 /* remote loop-out control */ - -#define MII_DMPHY_DSCSR 0x11 /* DAVICOM Spec'd Conf/Stat Reg */ -#define DSCSR_100FDX 0x8000 /* 100Mb/s FDX */ -#define DSCSR_100HDX 0x4000 /* 100Mb/s HDX */ -#define DSCSR_10FDX 0x2000 /* 10Mb/s FDX */ -#define DSCSR_10HDX 0x1000 /* 10Mb/s HDX */ -#define DSCSR_PHYAD 0x01f0 /* PHY address */ -#define DSCSR_ANMB 0x000f /* Autonegotiation monitor */ - -#define ANMB_IDLE 0x0000 /* idle */ -#define ANMB_AB_MATCH 0x0001 /* ability match */ -#define ANMB_ACK_MATCH 0x0002 /* acknowledge match */ -#define ANMB_ACK_MATCH_FAIL 0x0003 /* acknowledge match fail */ -#define ANMB_CON_MATCH 0x0004 /* consistency match */ -#define ANMB_CON_MATCH_FAIL 0x0005 /* consistency match fail */ -#define ANMB_PAR_LINK 0x0006 /* par detect signal link ready */ -#define ANMB_PAR_LINK_FAIL 0x0007 /* par detect signal link ready fail */ -#define ANMB_ANEG_OK 0x0008 /* autonegotiation completed ok */ - -#define MII_DMPHY_BTCSR 0x12 /* 10baseT Configuration/Status */ -#define BTCSR_LP_EN 0x4000 /* link pulse enable */ -#define BTCSR_HBE 0x2000 /* heartbeat enable */ -#define BTCSR_JABEN 0x0800 /* jabber enable */ -#define BTCSR_10BT_SER 0x0400 /* 10baseT serial mode */ -#define BTCSR_POLR 0x0001 /* polarity reversed */ - -#endif /* _DEV_MII_DMPHYREG_H_ */ diff --git a/sys/dev/mii/files.mii b/sys/dev/mii/files.mii index ebbe5b30b37..d92db511918 100644 --- a/sys/dev/mii/files.mii +++ b/sys/dev/mii/files.mii @@ -1,4 +1,4 @@ -# $OpenBSD: files.mii,v 1.13 2000/10/17 15:59:10 jason Exp $ +# $OpenBSD: files.mii,v 1.14 2000/10/17 19:10:31 jason Exp $ # $NetBSD: files.mii,v 1.13 1998/11/05 00:36:48 thorpej Exp $ file dev/mii/mii.c mii @@ -73,10 +73,6 @@ device dcphy: mii_phy attach dcphy at mii file dev/mii/dcphy.c dcphy -device dmphy: mii_phy -attach dmphy at mii -file dev/mii/dmphy.c dmphy - device brgphy: mii_phy attach brgphy at mii file dev/mii/brgphy.c brgphy |