| History log of /src/sys/dev/mii/mii_bitbang.h |
| Revision | | Date | Author | Comments |
| 1.7 |
| 22-Jan-2019 |
msaitoh | Change MII PHY read/write API from:
int (*mii_readreg_t)(device_t, int, int); void (*mii_writereg_t)(device_t, int, int, int); to:
int (*mii_readreg_t)(device_t, int, int, uint16_t *); int (*mii_writereg_t)(device_t, int, int, uint16_t);
Now we can test if a read/write operation failed or not by the return value.
In 802.3 spec says that the PHY shall not respond to read/write transaction to the unimplemented register(22.2.4.3). Detecting timeout can be used to check whether a register is implemented or not (if the register conforms to the spec). ukphy(4) can be used this for MII_MMDACR and MII_MMDAADR.
Note that I noticed that the following code do infinite loop in the read/wirte function. If it accesses unimplemented PHY register, it will hang. It should be fixed:
arm/at91/at91emac.c arm/ep93xx/epe.c arm/omap/omapl1x_emac.c mips/ralink/ralink_eth.c arch/powerpc/booke/dev/pq3etsec.c(read) dev/cadence/if_cemac.c <- hkenken dev/ic/lan9118.c
Tested with the following device:
axe+ukphy axe+rgephy axen+rgephy (tested by Andrius V) wm+atphy wm+ukphy wm+igphy wm+ihphy wm+makphy sk+makphy sk+brgphy sk+gentbi msk+makphy sip+icsphy sip+ukphy re+rgephy bge+brgphy bnx+brgphy gsip+gphyter rtk+rlphy fxp+inphy (tested by Andrius V) tlp+acphy ex+exphy epic+qsphy vge+ciphy (tested by Andrius V) vr+ukphy (tested by Andrius V) vte+ukphy (tested by Andrius V)
Not tested (MAC): arm:at91emac arm:cemac arm:epe arm:geminigmac arm:enet arm:cpsw arm:emac(omac) arm:emac(sunxi) arm:npe evbppc:temac macppc:bm macppc:gm mips:aumac mips:ae mips:cnmac mips:reth mips:sbmac playstation2:smap powerpc:tsec powerpc:emac(ibm4xx) sgimips:mec sparc:be sf ne(ax88190, dl10019) awge ep gem hme smsh mtd sm age alc ale bce cas et jme lii nfe pcn ste stge tl xi aue mue smsc udav url
Not tested (PHY): amhphy bmtphy dmphy etphy glxtphy ikphy iophy lxtphy nsphyter pnaphy rdcphy sqphy tlphy tqphy urlphy
|
| 1.6 |
| 12-May-2009 |
cegger | branches: 1.6.62; 1.6.64; struct device * -> device_t, no functional changes intended.
|
| 1.5 |
| 25-Nov-2008 |
matt | branches: 1.5.4; u_int32_t -> uint32_t
|
| 1.4 |
| 28-Apr-2008 |
martin | branches: 1.4.6; 1.4.8; Remove clause 3 and 4 from TNF licenses
|
| 1.3 |
| 11-Dec-2005 |
christos | branches: 1.3.70; 1.3.72; 1.3.74; merge ktrace-lwp.
|
| 1.2 |
| 23-Aug-2004 |
thorpej | De-__P
|
| 1.1 |
| 17-Nov-1999 |
thorpej | branches: 1.1.2; 1.1.8; 1.1.32; Common module for bit-bang'ing the MII.
|
| 1.1.32.3 |
| 21-Sep-2004 |
skrll | Fix the sync with head I botched.
|
| 1.1.32.2 |
| 18-Sep-2004 |
skrll | Sync with HEAD.
|
| 1.1.32.1 |
| 25-Aug-2004 |
skrll | Sync with HEAD.
|
| 1.1.8.2 |
| 20-Nov-2000 |
bouyer | Update thorpej_scsipi to -current as of a month ago A i386 GENERIC kernel compiles without the siop, ahc and bha drivers (will be updated later). i386 IDE/ATAPI and ncr work, as well as sparc/esp_sbus. alpha should work as well (untested yet). siop, ahc and bha will be updated once I've updated the branch to current -current, as well as machine-dependant code.
|
| 1.1.8.1 |
| 17-Nov-1999 |
bouyer | file mii_bitbang.h was added on branch thorpej_scsipi on 2000-11-20 11:42:11 +0000
|
| 1.1.2.1 |
| 27-Dec-1999 |
wrstuden | Pull up to last week's -current.
|
| 1.3.74.3 |
| 16-May-2009 |
yamt | sync with head
|
| 1.3.74.2 |
| 04-May-2009 |
yamt | sync with head.
|
| 1.3.74.1 |
| 16-May-2008 |
yamt | sync with head.
|
| 1.3.72.1 |
| 18-May-2008 |
yamt | sync with head.
|
| 1.3.70.2 |
| 17-Jan-2009 |
mjf | Sync with HEAD.
|
| 1.3.70.1 |
| 02-Jun-2008 |
mjf | Sync with HEAD.
|
| 1.4.8.1 |
| 19-Jan-2009 |
skrll | Sync with HEAD.
|
| 1.4.6.1 |
| 13-Dec-2008 |
haad | Update haad-dm branch to haad-dm-base2.
|
| 1.5.4.1 |
| 13-May-2009 |
jym | Sync with HEAD.
Commit is split, to avoid a "too many arguments" protocol error.
|
| 1.6.64.1 |
| 10-Jun-2019 |
christos | Sync with HEAD
|
| 1.6.62.1 |
| 26-Jan-2019 |
pgoyette | Sync with HEAD
|