summaryrefslogtreecommitdiffstats
path: root/sys/dev/mii
Commit message (Collapse)AuthorAgeFilesLines
* Renamed the FRAMELEN macro to TRUEPHY_FRAMELEN as for powerpcbz2008-11-281-2/+3
| | | | | | it seems to be possible to collide with FRAMELEN from machine/frame.h. Found by: zec
* Use auto-negotiation for manual media type selection. This fixesyongari2008-10-251-1/+2
| | | | establishment of 10/100Mbps link on Atheros AR8121(L1E).
* Correct PHY description and OUI of VSC8211. Previously VSC8211 wasyongari2008-10-232-3/+3
| | | | | | | not recognized by ciphy(4) due to the incorrect OUI. Reported by: nork Tested by: nork
* Some 88E1149 PHY's page select is initialized to point to otheryongari2008-10-171-0/+14
| | | | | | | | | | | | | | | | | | | | bank instead of copper/fiber bank which in turn resulted in wrong registers were accessed during PHY operation. It is believed that page 0 should be used for copper PHY so reinitialize E1000_EADR to select default copper PHY. This fixes link establishment issue of nfe(4) on Sun Fire X4140. OpenBSD also has similimar patch but they just reset the E1000_EADR register to page 0. However some Marvell PHYs((88E3082, 88E1000) don't have the extended address register and the meaning of the register is quite different for each PHY model. So selecting copper PHY is limited to 88E1149 PHY which seems to be the only one that exhibits link establishment problem. If parent device know the type of PHY(either copper or fiber) that information should be notified to PHY driver but there is no good way to pass this information yet. Reported by: thompsa Reviewed by: thompsa
* - Add driver for Attansic L2 FastEthernet controller found onstas2008-10-032-0/+2
| | | | | | | | | Asus EeePC and some Asus mainboards. Reviewed by: yongari, rpaulo, jhb Tested by: many Approved by: kib (mentor) MFC after: 1 week
* Save extended address register prior to switching to 1000BASE-Xyongari2008-09-301-2/+3
| | | | | | | | | | | only mode and restore original value of extended address register instead of overwriting it with page 1. There are still instance information passing issue(e.g configured media type: fiber or copper) from driver to PHY layer but this change make the selected PHY work with 88E1112 PHY. Reported by: Krzysztof Jedruczyk < beaker <at> hot dot pl > Tested by: Krzysztof Jedruczyk < beaker <at> hot dot pl >
* Add Vitesse VSC8211 PHY which is found on Planex GU-1000T.yongari2008-09-302-0/+3
| | | | HW donated by: nork
* Explicitly mark IFM_HDX for half-duplex media.yongari2008-09-301-0/+2
|
* Report current link state while auto-negotiation is in progress.yongari2008-09-301-1/+1
|
* Use mii_anegticks instead of hardcoded MII_ANEGTICKS.yongari2008-09-301-2/+2
|
* Announce link loss right after it happens.yongari2008-09-301-1/+4
|
* Recognize 88E1116R phy variation. This part is found on some embedded devices.raj2008-09-042-0/+2
| | | | Obtained from: Semihalf
* Move the code that looks for the companion phy to a subroutine to makeimp2008-08-231-23/+22
| | | | | sure we get the error handling right in both places. This also simplifies the code somewhat.
* It turns out that my analysis of the error handling here was wrong.imp2008-08-232-10/+9
| | | | | | | When there's an error, we don't want to free the children, since it will be stack garbage. While we did fail to dereference it by setting devs to 0, we didn't fail to call free. We never failed to fail, it was the easiest thing to do.
* Revert bogusly committed file.imp2008-08-231-1/+0
|
* Set devs to 0 in case device_get_children return an error. The right thingimp2008-08-233-0/+4
| | | | to do here is nothing in that case...
* Restore link state handling which was broken in rev 1.69.yongari2008-08-121-4/+1
| | | | | | | | | | | Also report current link state while auto-negotiation is in progress. With this change link loss should be reported within a second and drivers that rely on link state should work. Reported by: Pete French < petefrench at ticketswitch dot com > Tested by: Pete French < petefrench at ticketswitch dot com > MFC after: 1 week
* Remove 'cr' at the end of line.yongari2008-08-121-20/+20
|
* Remove whitespace at the end of line.yongari2008-08-121-10/+10
|
* Fix a copy/paste errorkevlo2008-08-061-1/+0
|
* Add RTL8211C(L) support.yongari2008-07-022-2/+15
| | | | | | | Disable advanced link-down power saving in phy reset. Reported by: nork Tested by: nork
* Add et(4), a port of DragonFly's Agere ET1310 10/100/Gigabitdelphij2008-06-202-0/+419
| | | | | | | | Ethernet device driver, written by sephe@ Obtained from: DragonFly Sponsored by: iXsystems MFC after: 2 weeks
* Add et(4), a port of DragonFly's Agere ET1310 10/100/Gigabitdelphij2008-06-201-0/+4
| | | | | | | | Ethernet device driver, written by sephe@ Obtained from: DragonFly Sponsored by: iXsystems MFC after: 2 weeks
* - Added support for BCM5709 and BCM5716.davidch2008-06-131-9/+59
| | | | MFC after: 2 weeks
* Add support for the Apple Big Mac (BMAC) Ethernet controller,marcel2008-06-071-0/+10
| | | | | | found on various Apple G3 models. Submitted by: Nathan Whitehorn
* This is a rewritten driver for the SMSC LAN91C111. It's based in part on thebenno2008-06-062-0/+269
| | | | | | | | | | | | | | | sn(4) driver and also looking at newer drivers. The reason for the rewrite is to support MII and to try and resolve some performance issues found when trying to use the sn(4) driver on the Gumstix network boards. For reference, the SMSC LAN91C111 is a non-PCI ethernet part whose lineage dates back to Ye Olde Days of ISA. It seems to get some use in the embedded space these days on parts lacking on-board MACs or on-board PCI controllers, such as the XScale PXA line of ARM CPUs. This also includes a driver for the SMSC LAN83C183 10/100 PHY. Man page to follow.
* Add JMicron JMP202/JMP211 PHY driver.yongari2008-05-273-0/+492
|
* Add Attansic/Atheros F1 PHY driver.yongari2008-05-193-0/+480
|
* Add support for the BCM5906[M] adapters. These adapters only supportjhb2008-04-293-2/+14
| | | | | | | | | | | 10/100 operation and place the mailbox registers at a different offset. They also do not have an EEPROM, so the MAC address must be read from NVRAM instead. MFC after: 1 month PR: kern/118975 Submitted by: benjsc, Thomas Nyström thn at saeab dot se Submitted by: sephe (original patch for DragonflyBSD)
* Recognize Cicada CS8244 phy chip (among others, can be found on MPC8572DSraj2008-04-262-1/+4
| | | | | | development systems). Obtained from: Freescale, Semihalf
* Add support for IC Plus IP1001 PHY.yongari2008-04-053-21/+104
| | | | Tested by: Stuart Fraser < stuart AT stuartfraser DOT net >
* Flesh out support for the BCM5722 by recognizing the phy on the 5722 andjhb2008-03-062-1/+3
| | | | | | | the specific ASIC revision. MFC after: 1 week Obtained from: OpenBSD (mii/phy bits)
* - Add PHY ID for BCM5709C 1000Base-T controllers.davidch2008-03-052-2/+6
| | | | MFC after: 1 week
* Add detection of isolation state.yongari2008-03-051-0/+5
| | | | PR: kern/76710
* Recognize the quad-port Cicada (Vitesse) CS8204 10/100/1000TX PHY.raj2008-03-032-1/+4
| | | | | | | | This PHY is found on many embedded development boards: among others MPC8555CDS evaluation systems use it. Approved by: cognet (mentor) MFp4: e500
* - Fix a typo in a comment.marius2008-01-271-8/+10
| | | | | | | | | - Fix whitespace according to style(9). - Sync the comment describing why we have to wait in nsphy_reset() with nsphyter_reset(). It's true that the manual tells to not do a reset within 500us of applying power but that's unlikely the cause of problems seen here. Generally having to wait 500us after a reset however is.
* Fix a typo in a comment.marius2008-01-271-1/+1
|
* Add a driver for the National Semiconductor DP83815, DP83843 andmarius2008-01-273-0/+529
| | | | | | | | | | DP83847 PHYs. The main reason for using a specific driver for these PHYs are reset quirks similar to the nsphy(4) driven DP83840A. PR: 112654 Obtained from: NetBSD MFC after: 2 weeks Thanks to: mlaier for testing w/ DP83815
* Add a flag for Ethernet@WireSpeed capability and correct chip revisions.jkim2008-01-181-7/+1
| | | | The idea was taken from OpenBSD and cross-referenced with Linux driver.
* Reset autonegotation timer if media option is not IFM_AUTO.yongari2007-11-161-1/+5
| | | | | Make mii_ticks advance, autonegiation is retried every mii_anegticks seconds.
* IEEE 802.3 Annex 28B.3 explicitly specifies the following relativeyongari2007-11-165-14/+14
| | | | | | | | | | | | | | | | | | | | | | | priorities of the technologies supported by 802.3 Selector Field value. 1000BASE-T full duplex 1000BASE-T 100BASE-T2 full duplex 100BASE-TX full duplex 100BASE-T2 100BASE-T4 100BASE-TX 10BASE-T full duplex 10BAST-T However PHY drivers didn't honor the order such that 100BASE-T4 had higher priority than 100BASE-TX full duplex. Fix that long standing bugs such that have PHY drivers choose the highest common denominator ability. Fix a bug in dcphy which inadvertently aceepts 100BASE-T4. PR: 92599
* Setting sc->mii_anegticks to MII_ANEGTICKS_GIGE in rgephy_attach()yongari2007-10-301-1/+0
| | | | | | is redundant. mii_phy_add_media() already takes care of that. Pointed out by: marius
* - Remove MIIF_NOISOLATE; there's generally no reason to let gentbi(4)marius2007-10-291-2/+1
| | | | | | | | | | set this flag and it was more or less just copied and pasted from another FreeBSD driver while porting this driver from NetBSD, whose gentbi(4) doesn't set MIIF_NOISOLATE either. - Fix spelling in a comment. OK'ed by: yongari MFC after: 3 months
* Add 88E1116/88E1116R PHY support code that takes the PHY out ofyongari2007-10-292-0/+15
| | | | | | | power-down mode. PR: kern/114086 MFC after: 3 days
* Add a newer RTL8211B(L) PHY.yongari2007-10-291-2/+2
|
* Add support for RealTek RTL8211B(L) PHY. It's based on the patchyongari2007-10-292-28/+99
| | | | | | | | | | | | | | | | | | | made by Michael Eisele and the patch was slightly modified by me. With this change several NVIDIA ethernet controllers(e.g. MCP61) works. RTL8211B(L) is RealTek's new gigabit PHY. The PHY has several features including crossover correction, polarity correction as well as supporting triple speed(10/100/1000bps). Data transfer between MAC and PHY is via RGMII for 1000baseT, MII for 10baseT/100baseTX. Unfortunately, RealTek used the same model number for RTL8211B(L) PHY so there is no way to discriminate between RTL8211B(L) and its predecessors. ATM RTL8211B uses revision number 2 so checking the revision number seems to be only way to identify it. Obtained from: Michael Eisele [1] Tested by: clemens fischer < ino-qc AT spotteswoode DOT de DOT eu DOT org >
* o RTL8169S/8110S integrated PHY and RTL8211B are gigabit PHYs so setyongari2007-10-291-7/+14
| | | | | | | | | | | mii_anegticks to MII_ANEGTICKS_GIGE and use it. Previously it used to MII_ANEGTICKS which may not be enough to wait before retrying autonegotiation process at 1000bps. o Reset autonegotation timer if media option is not IFM_AUTO or we got a valid link. o Announce link loss right after it happends. o Autonegiation is retried every mii_anegticks seconds. o Report link state changes right after setting autonegotiation.
* Add icsphy(4), Integrated Circuit Systems PHY driver, ported fromyongari2007-06-112-0/+438
| | | | | | | NetBSD. ATM the only consumer of the PHY is XBox with nfe(4) driver. Submitted by: Ed Schouten <ed@fxq.nl> Tested by: Ed Schouten <ed@fxq.nl>
* Add ICS1889/ICS1892/ICS1893 PHY.yongari2007-06-111-0/+3
| | | | Submitted by: Ed Schouten <ed@fxq.nl>
* - Fixed a problem that caused autonegotiation failures.davidch2007-06-081-1/+5
| | | | | Submitted by: tor.egge@cvsup.no.freebsd.org MFC after: 4 weeks
OpenPOWER on IntegriCloud