Index: share/man/man4/mdio.4 =================================================================== --- /dev/null +++ share/man/man4/mdio.4 @@ -0,0 +1,53 @@ +.\" Written by Landon Fuller for the FreeBSD Project. +.\" Based on the miibus(4) manual page written by Tom Rhodes. +.\" Please see the /usr/src/COPYRIGHT file for copyright information. +.\" +.\" $FreeBSD$ +.\" +.Dd December 17, 2015 +.Dt MDIO 4 +.Os +.Sh NAME +.Nm mdio +.Nd IEEE 802.3 Management Data Input/Output interface +.Sh SYNOPSIS +To compile this driver into the kernel, +place the following line in your +kernel configuration file: +.Bd -ragged -offset indent +.Cd "device mdio" +.Ed +.Sh DESCRIPTION +The +.Nm +driver provides an interconnection between the Media Access Control (MAC) +sublayer and Physical Layer (PHY) entities' control and status registers, +as defined by the IEEE 802.3 Standard. +.Pp +The +.Nm +layer allows device drivers to share common support code for various +external PHY devices. +.Pp +.Tn MDIO +is one of two signal interfaces that comprise the +Media Independent Interface (MII) defined by the IEEE 802.3 +Standard. The +.Xr miibus 4 +driver provides support for devices that require full +.Tn MII +support. +.Sh SEE ALSO +.Xr miibus 4 +.Sh STANDARDS +More information on +.Tn MDIO +can be found in the IEEE 802.3 Standard. +.Sh HISTORY +The +.Nm +driver first appeared in +.Fx 10.0 . +.Sh AUTHORS +The driver was written by +.An Stefan Bethke Aq Mt stb@lassitu.de . Index: sys/conf/files =================================================================== --- sys/conf/files +++ sys/conf/files @@ -1404,8 +1404,6 @@ dev/etherswitch/ip17x/ip175d.c optional ip17x dev/etherswitch/ip17x/ip17x_phy.c optional ip17x dev/etherswitch/ip17x/ip17x_vlans.c optional ip17x -dev/etherswitch/mdio_if.m optional miiproxy | mdio -dev/etherswitch/mdio.c optional miiproxy | mdio dev/etherswitch/miiproxy.c optional miiproxy dev/etherswitch/rtl8366/rtl8366rb.c optional rtl8366rb dev/etherswitch/ukswitch/ukswitch.c optional ukswitch @@ -1906,6 +1904,8 @@ dev/mcd/mcd.c optional mcd isa nowerror dev/mcd/mcd_isa.c optional mcd isa nowerror dev/md/md.c optional md +dev/mdio/mdio_if.m optional miiproxy | mdio +dev/mdio/mdio.c optional miiproxy | mdio dev/mem/memdev.c optional mem dev/mem/memutil.c optional mem dev/mfi/mfi.c optional mfi Index: sys/dev/etherswitch/arswitch/arswitch.c =================================================================== --- sys/dev/etherswitch/arswitch/arswitch.c +++ sys/dev/etherswitch/arswitch/arswitch.c @@ -52,7 +52,7 @@ #include #include #include -#include +#include #include Index: sys/dev/etherswitch/arswitch/arswitch_7240.c =================================================================== --- sys/dev/etherswitch/arswitch/arswitch_7240.c +++ sys/dev/etherswitch/arswitch/arswitch_7240.c @@ -50,7 +50,7 @@ #include #include #include -#include +#include #include Index: sys/dev/etherswitch/arswitch/arswitch_8216.c =================================================================== --- sys/dev/etherswitch/arswitch/arswitch_8216.c +++ sys/dev/etherswitch/arswitch/arswitch_8216.c @@ -50,7 +50,7 @@ #include #include #include -#include +#include #include Index: sys/dev/etherswitch/arswitch/arswitch_8226.c =================================================================== --- sys/dev/etherswitch/arswitch/arswitch_8226.c +++ sys/dev/etherswitch/arswitch/arswitch_8226.c @@ -50,7 +50,7 @@ #include #include #include -#include +#include #include Index: sys/dev/etherswitch/arswitch/arswitch_8316.c =================================================================== --- sys/dev/etherswitch/arswitch/arswitch_8316.c +++ sys/dev/etherswitch/arswitch/arswitch_8316.c @@ -50,7 +50,7 @@ #include #include #include -#include +#include #include Index: sys/dev/etherswitch/arswitch/arswitch_8327.c =================================================================== --- sys/dev/etherswitch/arswitch/arswitch_8327.c +++ sys/dev/etherswitch/arswitch/arswitch_8327.c @@ -50,7 +50,7 @@ #include #include #include -#include +#include #include Index: sys/dev/etherswitch/arswitch/arswitch_9340.c =================================================================== --- sys/dev/etherswitch/arswitch/arswitch_9340.c +++ sys/dev/etherswitch/arswitch/arswitch_9340.c @@ -50,7 +50,7 @@ #include #include #include -#include +#include #include Index: sys/dev/etherswitch/arswitch/arswitch_phy.c =================================================================== --- sys/dev/etherswitch/arswitch/arswitch_phy.c +++ sys/dev/etherswitch/arswitch/arswitch_phy.c @@ -48,7 +48,7 @@ #include #include #include -#include +#include #include Index: sys/dev/etherswitch/arswitch/arswitch_reg.c =================================================================== --- sys/dev/etherswitch/arswitch/arswitch_reg.c +++ sys/dev/etherswitch/arswitch/arswitch_reg.c @@ -49,7 +49,7 @@ #include #include #include -#include +#include #include Index: sys/dev/etherswitch/e6000sw/e6000sw.c =================================================================== --- sys/dev/etherswitch/e6000sw/e6000sw.c +++ sys/dev/etherswitch/e6000sw/e6000sw.c @@ -54,7 +54,7 @@ #include #include -#include +#include #include #include #include Index: sys/dev/etherswitch/ip17x/ip17x.c =================================================================== --- sys/dev/etherswitch/ip17x/ip17x.c +++ sys/dev/etherswitch/ip17x/ip17x.c @@ -51,7 +51,7 @@ #include #include #include -#include +#include #include #include Index: sys/dev/etherswitch/mdio_if.m =================================================================== --- /dev/null +++ sys/dev/etherswitch/mdio_if.m @@ -1,24 +0,0 @@ -# $FreeBSD$ - -#include - -INTERFACE mdio; - -# -# Read register from device on MDIO bus -# -METHOD int readreg { - device_t dev; - int phy; - int reg; -}; - -# -# Write register to device on MDIO bus -# -METHOD int writereg { - device_t dev; - int phy; - int reg; - int val; -}; Index: sys/dev/etherswitch/ukswitch/ukswitch.c =================================================================== --- sys/dev/etherswitch/ukswitch/ukswitch.c +++ sys/dev/etherswitch/ukswitch/ukswitch.c @@ -50,7 +50,7 @@ #include #include #include -#include +#include #include Index: sys/dev/mdio/mdio.h =================================================================== --- sys/dev/mdio/mdio.h +++ sys/dev/mdio/mdio.h @@ -26,10 +26,10 @@ * $FreeBSD$ */ -#ifndef __DEV_ETHERSWITCH_MDIO_H__ -#define __DEV_ETHERSWITCH_MDIO_H__ +#ifndef __DEV_MDIO_MDIO_H__ +#define __DEV_MDIO_MDIO_H__ extern driver_t mdio_driver; extern devclass_t mdio_devclass; -#endif /* __DEV_ETHERSWITCH_MDIO_H__ */ +#endif /* __DEV_MDIO_MDIO_H__ */ Index: sys/dev/mdio/mdio.c =================================================================== --- sys/dev/mdio/mdio.c +++ sys/dev/mdio/mdio.c @@ -29,8 +29,9 @@ #include #include #include +#include -#include +#include #include "mdio_if.h" @@ -115,3 +116,5 @@ }; devclass_t mdio_devclass; + +MODULE_VERSION(mdio, 1); Index: sys/dev/mge/if_mge.c =================================================================== --- sys/dev/mge/if_mge.c +++ sys/dev/mge/if_mge.c @@ -74,7 +74,7 @@ #include #include #include -#include +#include #include #include Index: sys/modules/Makefile =================================================================== --- sys/modules/Makefile +++ sys/modules/Makefile @@ -220,6 +220,7 @@ malo \ mcd \ md \ + mdio \ mem \ mfi \ mii \ Index: sys/modules/mdio/Makefile =================================================================== --- /dev/null +++ sys/modules/mdio/Makefile @@ -0,0 +1,10 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../dev/mdio + +KMOD= mdio +SRCS= mdio.c +SRCS+= mdio_if.c mdio_if.h +SRCS+= device_if.h bus_if.h + +.include