summaryrefslogtreecommitdiff
path: root/sys/dev
diff options
context:
space:
mode:
authorJason Wright <jason@cvs.openbsd.org>2000-10-17 19:10:32 +0000
committerJason Wright <jason@cvs.openbsd.org>2000-10-17 19:10:32 +0000
commit37bc8754c1ac16374377c521a6b0425e342e8fc3 (patch)
tree87cc4c3b9453b701b8b9832f7477dfa529a87b01 /sys/dev
parentb05f6364f50085f0f21ef5e88a07b6099f06c968 (diff)
remove dmphy
Diffstat (limited to 'sys/dev')
-rw-r--r--sys/dev/mii/dmphy.c264
-rw-r--r--sys/dev/mii/dmphyreg.h88
-rw-r--r--sys/dev/mii/files.mii6
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