summaryrefslogtreecommitdiffstats
path: root/sys/dev/mii
Commit message (Collapse)AuthorAgeFilesLines
* - Also probe DP83865, which is an is an ultra low power versionmarius2009-06-132-10/+24
| | | | | | | | | | | of the DP83861 and DP83891. - Reset the PHY during attach so it's in a known state. - Add a comment describing why we hardwire 10baseT support in the BMSR. - Always explicitly set IFM_HDX for half-duplex. [1] Obtained from: OpenBSD [1] MFC after: 2 weeks
* Program LED registers for 88E1116/88E1149 PHYs. These PHYs areyongari2009-06-022-3/+47
| | | | | | | found on Marvell Yukon Ultra, Marvell Yukon Extreme controllers. While I'm here explicitly issue 'powerup' command for 88E1149 PHY. Tested by: jhb, Warren Block ( wblock <> wonkity dot com )
* Don't assume page register value is 0 and restore previous pageyongari2009-06-021-1/+3
| | | | register after issuing 'powerup'.
* Add driver support for 88E3016 PHY which is found on Marvell Yukonyongari2009-05-253-4/+34
| | | | | | | | | | | | | | | FE+ controller. Due to the severe silicon bugs for Yukon FE+, 88E3016 seems to require more workarounds. However I'm not sure whether the workaround is PHY specific or only applicable to Yukon FE+. The datasheet for the PHY is publicly available but it lacks several details for the workaround used in this change. The workaround information was obtained from Linux. Many thanks to Yukon FE+ users who helped me add 88E3016 support. Tested by: bz, Tanguy Bouzeloc ( the.zauron <> gmail dot com ) Bruce Cran ( bruce <> cran dot org dot uk ) Michael Reifenberger ( mike <> reifenberger dot com ) Stephen Montgomery-Smith ( stephen <> missouri dot edu )
* Do not ignore NEXT Page capability of auto-negotiationyongari2009-05-251-4/+7
| | | | | | advertisement register. Some PHYs such as 88E3016 requires NEXT Page capability to establish valid link. Also set protocol selector field which is read only but it makes the intention clearer.
* Don't read unnecessary PHY registers. Speed/duplex resolution bityongari2009-05-251-12/+16
| | | | | | | is valid only for auto-negotiation case so check the bit if we know auto-negotiation is active. While I'm here explicitly checks current speed with speed mask and set IFM_NONE if resolved speed is unknown.
* Report current link state while auto-negotiation is in progress.yongari2009-05-251-1/+1
|
* Use mii_phy_add_media() and remove usage of local macro ADD. Alsoyongari2009-05-251-50/+12
| | | | | | | | | checks extended status register to see whether the PHY is fast ethernet or not. This removes a lot of checks for specific PHY models and it makes easy to add more PHYs to e1000phy(4). While I'm here remove setting mii_anegticks as it is set with mii_phy_add_media().
* New PHY driver for the internal PHY found in the AX88790. There's aimp2009-03-302-0/+235
| | | | | number of quirks for this device, and this implements just the basics. The 2.5s powerdown recommended in the datasheet will be next...
* Add PHY entry for the ASIX 88x90 internal PHYs.imp2009-03-301-0/+4
|
* For IP1001 PHYs, read auto-negotiation advertisement register toyongari2009-03-092-6/+13
| | | | | | | | | | get default next page configuration. While I'm here explicitly set IP1000PHY_ANAR_CSMA bit. This bit is read-only and always set by hardware so setting it has no effect but it would clear the intention. With this change controllers that couldn't establish 1000baseT link should work. PR: kern/130846
* Use mii_phy_add_media() and remove setting each media type.yongari2009-03-091-29/+5
| | | | | While I'm here, don't set mii_anegticks as it's set by mii_phy_add_media().
* For unknown speed, explicitly set IFM_NONE.yongari2009-03-091-0/+6
|
* Report current link state while auto-negotiation is in progress.yongari2009-03-091-1/+1
|
* 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.
OpenPOWER on IntegriCloud