Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src add mos(4) driver for Moschip MCS7730/MCS7830/MCS7832 usb et...



details:   https://anonhg.NetBSD.org/src/rev/d4e262654a01
branches:  trunk
changeset: 459652:d4e262654a01
user:      mrg <mrg%NetBSD.org@localhost>
date:      Fri Sep 20 10:34:54 2019 +0000

description:
add mos(4) driver for Moschip MCS7730/MCS7830/MCS7832 usb ethernet.
ported from openbsd.  usbnet version loses about 40% of code.

diffstat:

 distrib/sets/lists/man/mi     |    5 +-
 doc/CHANGES                   |    4 +-
 share/man/man4/Makefile       |    8 +-
 share/man/man4/mos.4          |  131 ++++++
 share/man/man4/usbnet.4       |    4 +-
 sys/dev/usb/files.usb         |   17 +-
 sys/dev/usb/if_mos.c          |  816 ++++++++++++++++++++++++++++++++++++++++++
 sys/dev/usb/if_mosreg.h       |  109 +++++
 sys/dev/usb/usbdevices.config |    4 +-
 9 files changed, 1083 insertions(+), 15 deletions(-)

diffs (truncated from 1222 to 300 lines):

diff -r 3ce8e7d9aead -r d4e262654a01 distrib/sets/lists/man/mi
--- a/distrib/sets/lists/man/mi Fri Sep 20 10:04:45 2019 +0000
+++ b/distrib/sets/lists/man/mi Fri Sep 20 10:34:54 2019 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: mi,v 1.1653 2019/09/16 08:31:05 mlelstv Exp $
+# $NetBSD: mi,v 1.1654 2019/09/20 10:34:54 mrg Exp $
 #
 # Note: don't delete entries from here - mark them as "obsolete" instead.
 #
@@ -1454,6 +1454,7 @@
 ./usr/share/man/cat4/mlx.0                     man-sys-catman          .cat
 ./usr/share/man/cat4/mly.0                     man-sys-catman          .cat
 ./usr/share/man/cat4/module.0                  man-obsolete            obsolete
+./usr/share/man/cat4/mos.0                     man-sys-catman          .cat
 ./usr/share/man/cat4/mpii.0                    man-sys-catman          .cat
 ./usr/share/man/cat4/mpl115a.0                 man-sys-catman          .cat
 ./usr/share/man/cat4/mpls.0                    man-sys-catman          .cat
@@ -4586,6 +4587,7 @@
 ./usr/share/man/html4/mlx.html                 man-sys-htmlman         html
 ./usr/share/man/html4/mly.html                 man-sys-htmlman         html
 ./usr/share/man/html4/module.html              man-obsolete            obsolete
+./usr/share/man/html4/mos.html                 man-sys-htmlman         html
 ./usr/share/man/html4/mpii.html                        man-sys-htmlman         html
 ./usr/share/man/html4/mpl115a.html             man-sys-htmlman         html
 ./usr/share/man/html4/mpls.html                        man-sys-htmlman         html
@@ -7568,6 +7570,7 @@
 ./usr/share/man/man4/mlx.4                     man-sys-man             .man
 ./usr/share/man/man4/mly.4                     man-sys-man             .man
 ./usr/share/man/man4/module.4                  man-obsolete            obsolete
+./usr/share/man/man4/mos.4                     man-sys-man             .man
 ./usr/share/man/man4/mpii.4                    man-sys-man             .man
 ./usr/share/man/man4/mpl115a.4                 man-sys-man             .man
 ./usr/share/man/man4/mpls.4                    man-sys-man             .man
diff -r 3ce8e7d9aead -r d4e262654a01 doc/CHANGES
--- a/doc/CHANGES       Fri Sep 20 10:04:45 2019 +0000
+++ b/doc/CHANGES       Fri Sep 20 10:34:54 2019 +0000
@@ -1,4 +1,4 @@
-# LIST OF CHANGES FROM LAST RELEASE:                   <$Revision: 1.2583 $>
+# LIST OF CHANGES FROM LAST RELEASE:                   <$Revision: 1.2584 $>
 #
 #
 # [Note: This file does not mention every change made to the NetBSD source tree.
@@ -43,3 +43,5 @@
        dhcpcd(8): Import dhcpcd-8.0.6 [roy 20190913]
        kernel: Add vHCI, a driver that allows to send and receive USB
                packets from userland. [maxv 20190914]
+       mos(4): Ported driver for MosChip MCS7730/7830/7832 USB ethernet.
+               [mrg 20190814]
diff -r 3ce8e7d9aead -r d4e262654a01 share/man/man4/Makefile
--- a/share/man/man4/Makefile   Fri Sep 20 10:04:45 2019 +0000
+++ b/share/man/man4/Makefile   Fri Sep 20 10:34:54 2019 +0000
@@ -1,4 +1,4 @@
-#      $NetBSD: Makefile,v 1.681 2019/08/30 08:54:58 mrg Exp $
+#      $NetBSD: Makefile,v 1.682 2019/09/20 10:34:54 mrg Exp $
 #      @(#)Makefile    8.1 (Berkeley) 6/18/93
 
 MAN=   aac.4 ac97.4 acardide.4 aceride.4 acphy.4 \
@@ -64,7 +64,8 @@
        tap.4 tc.4 tcds.4 tcp.4 tcu.4 tdvfb.4 tea5767radio.4 termios.4 tfb.4 \
        thinkpad.4 ti.4 tl.4 tlp.4 tlphy.4 tpm.4 tprof.4 tr.4 tra.4 \
        trm.4 tsllux.4 tty.4 tun.4 tqphy.4 twa.4 twe.4 txp.4 \
-       uark.4 ubsec.4 udp.4 uep.4 ug.4 uha.4 uk.4 ukphy.4 umb.4 unix.4 userconf.4 \
+       uark.4 ubsec.4 udp.4 uep.4 ug.4 uha.4 uk.4 ukphy.4 umb.4 \
+       unix.4 userconf.4 \
        vald.4 valz.4 veriexec.4 vga.4 vge.4 viaide.4 video.4 vioif.4 viomb.4 \
        viornd.4 vioscsi.4 virt.4 \
        virtio.4 vlan.4 vmmon.4 vmnet.4 vnd.4 voodoofb.4 vr.4 vte.4 \
@@ -75,7 +76,8 @@
        zero.4 zstty.4 zyd.4
 
 # USB devices
-MAN+=  atu.4 aubtfwl.4 aue.4 axe.4 axen.4 cdce.4 cue.4 ehci.4 kue.4 mue.4 \
+MAN+=  atu.4 aubtfwl.4 aue.4 axe.4 axen.4 cdce.4 cue.4 ehci.4 kue.4 \
+       mos.4 mue.4 \
        ohci.4 \
        slhci.4 stuirda.4 u3g.4 ualea.4 uatp.4 uaudio.4 uberry.4 ubsa.4 ubt.4 \
        uchcom.4 \
diff -r 3ce8e7d9aead -r d4e262654a01 share/man/man4/mos.4
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/share/man/man4/mos.4      Fri Sep 20 10:34:54 2019 +0000
@@ -0,0 +1,131 @@
+.\"    $NetBSD: mos.4,v 1.1 2019/09/20 10:34:54 mrg Exp $
+.\"
+.\" Copyright (c) 1997, 1998, 1999, 2000-2003
+.\"    Bill Paul <wpaul%windriver.com@localhost>. 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 Bill Paul.
+.\" 4. Neither the name of the author nor the names of any co-contributors
+.\"    may be used to endorse or promote products derived from this software
+.\"   without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY Bill Paul 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 Bill Paul OR THE VOICES IN HIS HEAD
+.\" 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: /repoman/r/ncvs/src/share/man/man4/axe.4,v 1.3 2003/05/29 21:28:35 ru Exp $
+.\" $OpenBSD: mos.4,v 1.11 2014/04/08 01:18:19 brad Exp $
+.\"
+.Dd August 24 2019
+.Dt MOS 4
+.Os
+.Sh NAME
+.Nm mos
+.Nd MosChip MCS7730/7830/7832 10/100 USB Ethernet device
+.Sh SYNOPSIS
+.Cd "mos*   at uhub?"
+.Sh DESCRIPTION
+The
+.Nm
+driver provides support for USB Ethernet adapters based on the MosChip
+MCS7730, MCS7830 and MCS7832 USB 2.0 chipsets, including the
+following:
+.Pp
+.Bl -tag -width Ds -offset indent -compact
+.It Delock 61147
+.It Sitecom LN-030
+.It Syba SY-U2LAN
+.El
+.Pp
+All adapters operate with either USB 1.x, 2.0, or 3.x controllers,
+though performance with 1.x controllers is limited since
+the USB 1.x standard specifies a maximum transfer speed of 12Mbps.
+Users with USB 1.x controllers should therefore not expect to actually
+achieve 100Mbps speeds with these devices.
+.Pp
+A 64-bit multicast hash table is supported,
+single perfect filter entry for the station address,
+all-multicast mode, and promiscuous mode.
+Packets are
+received and transmitted over separate USB bulk transfer endpoints.
+.Pp
+The
+.Nm
+driver supports the following media types:
+.Bl -tag -width "autoselect"
+.It autoselect
+Enable autoselection of the media type and options (this is the default).
+The user can manually override the autoselected mode by adding media
+options to the appropriate
+.Xr ifconfig.if 5
+file.
+.It 10baseT
+Set 10Mbps operation.
+.It 100baseTX
+Set 100Mbps (Fast Ethernet) operation.
+.El
+.Pp
+The
+.Nm
+driver supports the following media options:
+.Bl -tag -width "full-duplex"
+.It full-duplex
+Force full-duplex operation.
+.It half-duplex
+Force half-duplex operation.
+.El
+.Pp
+For more information on configuring this device, see
+.Xr ifconfig 8 .
+.Sh DIAGNOSTICS
+See
+.Xr usbnet 4
+for diagnostics.
+.Sh SEE ALSO
+.Xr arp 4 ,
+.Xr ifmedia 4 ,
+.Xr intro 4 ,
+.Xr netintro 4 ,
+.Xr usb 4 ,
+.Xr usbnet 4 ,
+.Xr ifconfig.if 5 ,
+.Xr ifconfig 8 ,
+.Xr usbnet 9
+.Rs
+.%T "MosChip India"
+.%U http://www.moschip.com
+.Re
+.Sh HISTORY
+The
+.Nm
+driver first appeared in
+.Ox 4.5 .
+It was ported to
+.Nx
+by
+.An Matthew R. Green Aq Mt mrg%eterna.com.au@localhost
+and first appeared in
+.Nx 10.0 .
+.Sh AUTHORS
+.An -nosplit
+The
+.Nm
+driver was written by
+.An Johann Christian Rode Aq Mt jcrode%gmx.net@localhost .
diff -r 3ce8e7d9aead -r d4e262654a01 share/man/man4/usbnet.4
--- a/share/man/man4/usbnet.4   Fri Sep 20 10:04:45 2019 +0000
+++ b/share/man/man4/usbnet.4   Fri Sep 20 10:34:54 2019 +0000
@@ -1,4 +1,4 @@
-.\"    $NetBSD: usbnet.4,v 1.3 2019/08/30 09:24:19 wiz Exp $
+.\"    $NetBSD: usbnet.4,v 1.4 2019/09/20 10:34:54 mrg Exp $
 .\"
 .\" Copyright (c) 2019 Matthew R. Green
 .\" All rights reserved.
@@ -81,7 +81,7 @@
 .Xr ifmedia 4 ,
 .Xr intro 4 ,
 .Xr kue 4 ,
-.\" Xr mos 4 ,
+.Xr mos 4 ,
 .Xr mue 4 ,
 .Xr netintro 4 ,
 .Xr smsc 4 ,
diff -r 3ce8e7d9aead -r d4e262654a01 sys/dev/usb/files.usb
--- a/sys/dev/usb/files.usb     Fri Sep 20 10:04:45 2019 +0000
+++ b/sys/dev/usb/files.usb     Fri Sep 20 10:34:54 2019 +0000
@@ -1,4 +1,4 @@
-#      $NetBSD: files.usb,v 1.167 2019/08/23 08:45:25 mrg Exp $
+#      $NetBSD: files.usb,v 1.168 2019/09/20 10:34:54 mrg Exp $
 #
 # Config file and device description for machine-independent USB code.
 # Included by ports that need it.  Ports that use it must provide
@@ -373,21 +373,26 @@
 attach axen at usbdevif
 file   dev/usb/if_axen.c               axen
 
+# Moscom MCS7730, MCS7830, and MCS7832
+device mos: arp, ether, ifnet, mii, mii_phy, usbnet
+attach mos at usbdevif
+file   dev/usb/if_mos.c                mos
+
 # Microchip LAN750x and LAN85xx
 device mue: arp, ether, ifnet, mii, mii_phy, usbnet
 attach mue at usbdevif
 file   dev/usb/if_mue.c                mue
 
+# Atheros AR9170
+device otus: arp, ether, firmload, ifnet, wlan
+attach otus at usbdevif
+file   dev/usb/if_otus.c               otus
+
 # DAVICOM DM9601
 device udav: arp, ether, ifnet, mii, mii_phy, usbnet
 attach udav at usbdevif
 file   dev/usb/if_udav.c               udav
 
-# Atheros AR9170
-device otus: arp, ether, firmload, ifnet, wlan
-attach otus at usbdevif
-file   dev/usb/if_otus.c               otus
-
 # Mobile Broadband Interface Model
 device umb: ifnet
 attach umb at usbifif
diff -r 3ce8e7d9aead -r d4e262654a01 sys/dev/usb/if_mos.c
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/sys/dev/usb/if_mos.c      Fri Sep 20 10:34:54 2019 +0000
@@ -0,0 +1,816 @@
+/*     $NetBSD: if_mos.c,v 1.1 2019/09/20 10:34:54 mrg Exp $   */
+/*     $OpenBSD: if_mos.c,v 1.40 2019/07/07 06:40:10 kevlo Exp $       */
+
+/*
+ * Copyright (c) 2008 Johann Christian Rode <jcrode%gmx.net@localhost>
+ *
+ * Permission to use, copy, modify, and distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ */
+
+/*
+ * Copyright (c) 2005, 2006, 2007 Jonathan Gray <jsg%openbsd.org@localhost>
+ *
+ * Permission to use, copy, modify, and distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.



Home | Main Index | Thread Index | Old Index