#
272461 |
|
02-Oct-2014 |
gjb |
Copy stable/10@r272459 to releng/10.1 as part of the 10.1-RELEASE process.
Approved by: re (implicit) Sponsored by: The FreeBSD Foundation |
#
266000 |
|
14-May-2014 |
ian |
MFC r257702, r257745, r257746, r257747, r257751, r257791, r257793, r257794, r257795, r257992
Teach nexus(4) about Open Firmware (e.g. FDT) on ARM and MIPS, retiring fdtbus in most cases.
Make OF_nextprop() work correctly for FDT by using the libfdt fdt_next_property_offset() API.
Do not panic if pmap_mincore() is called.
An addendum: it is possible, though of questionable utility, for a node to have no properties at all. Add definition for the Atheros 8021 gigabit PHY.
Consolidate Apple firmware hacks and improve them by switching on the presence of mac-io devices in the tree, which uniquely identifies Apple hardware.
Allow OF_decode_addr() to also be able to map resources on big-endian devices.
Make tsec work with the device tree present on the RB800.
Be more flexible about which compatible strings to accept. This brings up the PCI Express bus on the RB800 using the firmware device tree.
Rename the "bare" platform "mpc85xx", which is what it actually is, and add actual platform probing based on PVR.
|
#
257612 |
|
04-Nov-2013 |
yongari |
MFC r257304: Add support for new Gigabit PHY of RealTek. I don't have a copy of data sheet so I'm not sure exact PHY model name. Vendor's web page indicates RTL8251 is latest PHY so I used the name. This PHY is used with RTL8168G, RTL8168GU and RTL8411B. Approved by: re (delphij)
|
#
256281 |
|
10-Oct-2013 |
gjb |
Copy head (r256279) to stable/10 as part of the 10.0-RELEASE cycle.
Approved by: re (implicit) Sponsored by: The FreeBSD Foundation
|
#
253481 |
|
20-Jul-2013 |
yongari |
Recognize BCM5725C PHY.
|
#
244482 |
|
20-Dec-2012 |
yongari |
Recognize 5720S PHY and treat it as 5708S PHY. Unfortunately 5720S uses 5709S PHY id so add a hack to detect 5720S PHY by checking parent device name. 5720S PHY does not support 2500SX.
Tested by: Geans Pin < geanspin <> broadcom dot com >
|
#
239275 |
|
15-Aug-2012 |
gonzo |
Merging of projects/armv6, part 5
- Driver for SMSC LAN95XX and LAN8710A ethernet controllers - Driver for LAN8710A PHY
Submitted by: Ben Gray, Damjan Marion, Tim Kientzle
|
#
235999 |
|
25-May-2012 |
raj |
More Cicada/Vitesse PHY ids.
Obtained from: Semihalf
|
#
231914 |
|
19-Feb-2012 |
marius |
Probe the National DP83849, which is a dual-port version of the PHYTER.
Obtained from: NetBSD
|
#
231913 |
|
19-Feb-2012 |
marius |
- Probe BCM57780. - In case the parent is bge(4), don't set the Jumbo frame settings unless the MAC actually is Jumbo capable as otherwise the PHY might not have the corresponding registers implemented. This is also in line with what the Linux tg3 driver does.
PR: 165032 Submitted by: Alexander Milanov Obtained from: OpenBSD MFC after: 3 days
|
#
227906 |
|
23-Nov-2011 |
marius |
Sync with NetBSD rev. 1.104
Obtained from: NetBSD
|
#
226870 |
|
27-Oct-2011 |
yongari |
Recognize BCM5720C PHY.
|
#
223688 |
|
30-Jun-2011 |
imp |
Add detection for the Marvel 88E1149R and treat it just like the 88E1149.
|
#
221713 |
|
09-May-2011 |
yongari |
Recognize BCM5719C PHY.
Submitted by: Geans Pin at Broadcom
|
#
221407 |
|
03-May-2011 |
marius |
- Remove attempts to implement setting of BMCR_LOOP/MIIF_NOLOOP (reporting IFM_LOOP based on BMCR_LOOP is left in place though as it might provide useful for debugging). For most mii(4) drivers it was unclear whether the PHYs driven by them actually support loopback or not. Moreover, typically loopback mode also needs to be activated on the MAC, which none of the Ethernet drivers using mii(4) implements. Given that loopback media has no real use (and obviously hardly had a chance to actually work) besides for driver development (which just loopback mode should be sufficient for though, i.e one doesn't necessary need support for loopback media) support for it is just dropped as both NetBSD and OpenBSD already did quite some time ago. - Let mii_phy_add_media() also announce the support of IFM_NONE. - Restructure the PHY entry points to use a structure of entry points instead of discrete function pointers, and extend this to include a "reset" entry point. Make sure any PHY-specific reset routine is always used, and provide one for lxtphy(4) which disables MII interrupts (as is done for a few other PHYs we have drivers for). This includes changing NIC drivers which previously just called the generic mii_phy_reset() to now actually call the PHY-specific reset routine, which might be crucial in some cases. While at it, the redundant checks in these NIC drivers for mii->mii_instance not being zero before calling the reset routines were removed because as soon as one PHY driver attaches mii->mii_instance is incremented and we hardly can end up in their media change callbacks etc if no PHY driver has attached as mii_attach() would have failed in that case and not attach a miibus(4) instance. Consequently, NIC drivers now no longer should call mii_phy_reset() directly, so it was removed from EXPORT_SYMS. - Add a mii_phy_dev_attach() as a companion helper to mii_phy_dev_probe(). The purpose of that function is to perform the common steps to attach a PHY driver instance and to hook it up to the miibus(4) instance and to optionally also handle the probing, addition and initialization of the supported media. So all a PHY driver without any special requirements has to do in its bus attach method is to call mii_phy_dev_attach() along with PHY-specific MIIF_* flags, a pointer to its PHY functions and the add_media set to one. All PHY drivers were updated to take advantage of mii_phy_dev_attach() as appropriate. Along with these changes the capability mask was added to the mii_softc structure so PHY drivers taking advantage of mii_phy_dev_attach() but still handling media on their own do not need to fiddle with the MII attach arguments anyway. - Keep track of the PHY offset in the mii_softc structure. This is done for compatibility with NetBSD/OpenBSD. - Keep track of the PHY's OUI, model and revision in the mii_softc structure. Several PHY drivers require this information also after attaching and previously had to wrap their own softc around mii_softc. NetBSD/OpenBSD also keep track of the model and revision on their mii_softc structure. All PHY drivers were updated to take advantage as appropriate. - Convert the mebers of the MII data structure to unsigned where appropriate. This is partly inspired by NetBSD/OpenBSD. - According to IEEE 802.3-2002 the bits actually have to be reversed when mapping an OUI to the MII ID registers. All PHY drivers and miidevs where changed as necessary. Actually this now again allows to largely share miidevs with NetBSD, which fixed this problem already 9 years ago. Consequently miidevs was synced as far as possible. - Add MIIF_NOMANPAUSE and mii_phy_flowstatus() calls to drivers that weren't explicitly converted to support flow control before. It's unclear whether flow control actually works with these but typically it should and their net behavior should be more correct with these changes in place than without if the MAC driver sets MIIF_DOPAUSE.
Obtained from: NetBSD (partially) Reviewed by: yongari (earlier version), silence on arch@ and net@
|
#
221341 |
|
02-May-2011 |
marius |
Probe the PHY accompanying BCM57765. Tested by: Paul Thornton
MFC after: 1 week
|
#
217910 |
|
26-Jan-2011 |
yongari |
Add Realtek RTL8201E 10/100 PHY found in RTL8105E controller. The exact model name is not clear yet. All previous RTL8201 10/100 PHYs used 0x8201 in MII_PHYIDR2 which in turn makes model number 0x20 but this PHY used new model number 0x08.
|
#
216828 |
|
30-Dec-2010 |
yongari |
Add RDC Semiconductor R6040 10/100 PHY driver.
|
#
215720 |
|
22-Nov-2010 |
marius |
- Also probe BCM5214 and BCM5222. - Add some DSP init code for BCM5221. The values derived from Apple's GMAC driver and the same init code also exists in Linux's sungem_phy driver. - Only read media status bits when they are valid.
Obtained from: NetBSD, OpenBSD
|
#
215015 |
|
08-Nov-2010 |
jmallett |
Recognize the BCM5482S.
|
#
214427 |
|
27-Oct-2010 |
yongari |
Add BCM5717C 10/100/1000TX PHY id.
|
#
211103 |
|
09-Aug-2010 |
yongari |
Add F1 PHY found on Atheros AR8151 v2.0 PCIe gigabit ethernet controller.
|
#
211046 |
|
07-Aug-2010 |
yongari |
Marvell model number 0x06 is 88E1101 PHY.
|
#
207446 |
|
30-Apr-2010 |
yongari |
Add Marvell PHYG65G Gigabit PHY which is found on 88E8059 Yukon Optima.
Tested by: James LaLagna < jameslalagna <> gmail dot com > MFC after: 5 days
|
#
206563 |
|
13-Apr-2010 |
yongari |
Add Agere ET1011 PHY which is found on Belkin F5D5055 USB controller. Unlike Agere ET1011C, Agere ET1011 does not seem to need special DSP programming to workaround silicon bug.
|
#
205299 |
|
18-Mar-2010 |
davidch |
- Added support for 5709S/5716S PHYs.
Submitted by: pyunyh MFC after: 2 weeks
|
#
204646 |
|
03-Mar-2010 |
joel |
The NetBSD Foundation has granted permission to remove clause 3 and 4 from the software.
Obtained from: NetBSD
|
#
204144 |
|
20-Feb-2010 |
marius |
Add support for BCM54K2 found in combination with Apple K2 GMAC.
Submitted by: Andreas Tobler Obtained from: OpenBSD MFC after: 1 week
|
#
202269 |
|
13-Jan-2010 |
yongari |
Add BCM5754 PHY id that is found on Dell Studio XPS 16.
Tested by: scf MFC after: 1 week
|
#
198813 |
|
02-Nov-2009 |
yongari |
Add BCM5761 PHY id.
|
#
194134 |
|
13-Jun-2009 |
marius |
- Also probe DP83865, which is an is an ultra low power version 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
|
#
192713 |
|
25-May-2009 |
yongari |
Add driver support for 88E3016 PHY which is found on Marvell Yukon 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 )
|
#
190538 |
|
29-Mar-2009 |
imp |
Add PHY entry for the ASIX 88x90 internal PHYs.
|
#
184192 |
|
22-Oct-2008 |
yongari |
Correct PHY description and OUI of VSC8211. Previously VSC8211 was not recognized by ciphy(4) due to the incorrect OUI.
Reported by: nork Tested by: nork
|
#
183567 |
|
03-Oct-2008 |
stas |
- Add driver for Attansic L2 FastEthernet controller found on Asus EeePC and some Asus mainboards.
Reviewed by: yongari, rpaulo, jhb Tested by: many Approved by: kib (mentor) MFC after: 1 week
|
#
183492 |
|
30-Sep-2008 |
yongari |
Add Vitesse VSC8211 PHY which is found on Planex GU-1000T.
HW donated by: nork
|
#
182751 |
|
04-Sep-2008 |
raj |
Recognize 88E1116R phy variation. This part is found on some embedded devices.
Obtained from: Semihalf
|
#
179895 |
|
20-Jun-2008 |
delphij |
Add et(4), a port of DragonFly's Agere ET1310 10/100/Gigabit Ethernet device driver, written by sephe@
Obtained from: DragonFly Sponsored by: iXsystems MFC after: 2 weeks
|
#
179592 |
|
06-Jun-2008 |
benno |
This is a rewritten driver for the SMSC LAN91C111. It's based in part on the 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.
|
#
179335 |
|
26-May-2008 |
yongari |
Add JMicron JMP202/JMP211 PHY driver.
|
#
179098 |
|
18-May-2008 |
yongari |
Add Attansic/Atheros F1 PHY driver.
|
#
178667 |
|
29-Apr-2008 |
jhb |
Add support for the BCM5906[M] adapters. These adapters only support 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)
|
#
178598 |
|
26-Apr-2008 |
raj |
Recognize Cicada CS8244 phy chip (among others, can be found on MPC8572DS development systems).
Obtained from: Freescale, Semihalf
|
#
177930 |
|
04-Apr-2008 |
yongari |
Add support for IC Plus IP1001 PHY.
Tested by: Stuart Fraser < stuart AT stuartfraser DOT net >
|
#
176881 |
|
06-Mar-2008 |
jhb |
Flesh out support for the BCM5722 by recognizing the phy on the 5722 and the specific ASIC revision.
MFC after: 1 week Obtained from: OpenBSD (mii/phy bits)
|
#
176850 |
|
05-Mar-2008 |
davidch |
- Add PHY ID for BCM5709C 1000Base-T controllers.
MFC after: 1 week
|
#
176773 |
|
03-Mar-2008 |
raj |
Recognize the quad-port Cicada (Vitesse) CS8204 10/100/1000TX PHY.
This PHY is found on many embedded development boards: among others MPC8555CDS evaluation systems use it.
Approved by: cognet (mentor) MFp4: e500
|
#
175702 |
|
26-Jan-2008 |
marius |
Add a driver for the National Semiconductor DP83815, DP83843 and 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
|
#
173130 |
|
29-Oct-2007 |
yongari |
Add a newer RTL8211B(L) PHY.
|
#
170524 |
|
11-Jun-2007 |
yongari |
Add ICS1889/ICS1892/ICS1893 PHY.
Submitted by: Ed Schouten <ed@fxq.nl>
|
#
170391 |
|
07-Jun-2007 |
davidch |
New features: - Moved BCM5706S/5708S SerDes support to brgphy (since they are not technically TBI interfaces) - Added 2.5G support for BCM5708S
Comments: Since this driver is shared with bge I tested several available controllers supported by bge and all worked as expected, however the list was not exhaustive. Need wider testing.
MFC after: 4 weeks
|
#
170366 |
|
06-Jun-2007 |
yongari |
Add IC Plus IP101 PHY
|
#
170364 |
|
06-Jun-2007 |
yongari |
Add OUI for Vitesse Semiconductor. Add Vitesse VSC8601 PHY.
|
#
168601 |
|
10-Apr-2007 |
marius |
Let brgphy(4) attach for the Broadcom BCM5755 ASIC based chipsets as well.
Obtained from: OpenBSD MFC after: 1 week
|
#
166876 |
|
21-Feb-2007 |
jhb |
Restore support for the 5706C bce(4) phy that was broken during the addition of SerDes support. According to the docs, the 5706C and 5708C phys are supposed to use the same MII model that is separate from the SerDes parts, but the 5706C actually uses the MII model of the SerDes parts. To fix this, readd the old 5706C entry to miidevs and add a special check in brgphy_probe() for phys that match the 5706C ID. If the phy is supported by the gentbi(4) driver, then it's a SerDes phy, so we fail the probe and let gentbi(4) grab it. Otherwise, it's a 5706C phy, so we let brgphy(4) grab it.
In coordination with: dwhite
|
#
166262 |
|
26-Jan-2007 |
dwhite |
Collapse 5706C and 5708C PHYs into one entry. ID 0x15 is actually used for the SERDES PHY on these chips and we want gentbi to pick this up, not brgphy.
|
#
166031 |
|
15-Jan-2007 |
jkim |
- Fix BCM5754 support found in Dell PowerEdge SC440. - Move some PHY bug detections from brgphy.c to if_bge.c. - Do not penalize working PHYs. - Re-arrange bge_flags roughly by their categories. - Fix minor style(9) nits.
PR: kern/107257 Obtained from: OpenBSD Tested by: Mike Hibler <mike at flux dot utah dot edu>
|
#
165782 |
|
04-Jan-2007 |
ticso |
MFp4: add basic driver for RTL8305SC switch in PHY emulation
|
#
165096 |
|
11-Dec-2006 |
yongari |
Add a bunch of new Marvell PHY ids.
|
#
165090 |
|
10-Dec-2006 |
scottl |
Teach the brgphy about some new Broadcom IDs.
Submitted by: David Christenson Sponsored by: www.UIA.net
|
#
164833 |
|
02-Dec-2006 |
marius |
- Add another Altima PHY, which is a AC101 workalike and integrated in at least ADMtek ADM8511 but apparently is not mentioned in any publically available data sheet so the actual identifier is unknown. - Add Davicom DM9102 PHY. - Add DM9101 to the description of AMD 79C873 as at least some Davicom DM9101F identify identical to AMD 79C873.
Obtained from: NetBSD MFC after: 2 weeks
|
#
161749 |
|
31-Aug-2006 |
yongari |
Add Broadcom BCM5752 PHY id.
|
#
160637 |
|
24-Jul-2006 |
yongari |
Add IC Plus IP1000A integrated PHY id.
|
#
157642 |
|
10-Apr-2006 |
ps |
Add a driver for the Broadcom NetXtreme II (BCM5706/BCM5708) PCI/PCIe Gigabit Ethernet adapeter.
Submitted by: David Christensen
|
#
157041 |
|
23-Mar-2006 |
oleg |
Add basic support for BCM5780 PHY.
Submitted by: grehan Approved by: glebius (mentor) MFC after: 1 week
|
#
146413 |
|
19-May-2005 |
ps |
Support the 5714C
Submitted by: John Cagle <john dot cagle at hp dot com>
|
#
135772 |
|
24-Sep-2004 |
ps |
Add support for the BCM5750/5751. Unfortunately the documentation I have from Broadcom does not give much information on these devices, so the Broadcom Linux driver was used for clues to what these chips support. It turns out they are similar to the 5705 with the 5751 being the PCI-Express version and needing special work-arounds and settings.
|
#
135048 |
|
10-Sep-2004 |
wpaul |
Add device driver support for the VIA Networking Technologies VT6122 gigabit ethernet chip and integrated 10/100/1000 copper PHY. The vge driver has been added to GENERIC for i386, pc98 and amd64, but not to sparc or ia64 since I don't have the ability to test it there. The vge(4) driver supports VLANs, checksum offload and jumbo frames.
Also added the lge(4) and nge(4) drivers to GENERIC for i386 and pc98 since I was in the neighborhood. There's no reason to leave them out anymore.
|
#
120281 |
|
20-Sep-2003 |
wilko |
Add support for SK-9521 V2.0 and 3COM 3C940.
Tested at 100Mbit only, using Asus P4P800 onboard 3C940. The -stable version of this patch I have in use for ~2 weeks now, and works just fine for me.
Based on: Nathan L. Binkert's patch for OpenBSD Patch submitted by and thanks to: Jung-uk Kim <jkim@niksun.com> MFC after: 2 weeks
|
#
119976 |
|
11-Sep-2003 |
wpaul |
Add a PHY driver to support the built-in gigE PHY in the 8169S/8110S ethernet chips. This driver is pretty simple, however it contains special DSP initialization code which is needed in order to get the chip to negotiate a gigE link. (This special initialization may not be needed in subsequent chip revs.) Also:
- Fix typo in if_rlreg.h (RL_GMEDIASTAT_1000MPS -> RL_GMEDIASTAT_1000MBPS)
- Deal with shared interrupts in re_intr(): if interface isn't up, return.
- Fix another bug in re_gmii_writereg() (properly apply data field mask)
- Allow PHY driver to read the RL_GMEDIASTAT register via the re_gmii_readreg() register (this is register needed to determine real time link/media status).
|
#
119917 |
|
09-Sep-2003 |
wpaul |
Add a device driver for the Broadcom BCM4401 ethernet controller, written by Stuart Walsh and Duncan Barclay (with some kibbitzing by me). I'm checking it in on Stuart's behalf.
The BCM4401 is built into several x86 laptop and desktop systems. For the moment, I have only enabled it in the x86 kernel config because although it's a PCI device, I haven't heard of any standalone NICs that use it. If somebody knows of one, we can easily add it to the other arches.
This driver uses register/structure data gleaned from the Linux driver released by Broadcom, but does not contain any of the code from the Linux driver itself. It uses busdma.
|
#
117659 |
|
15-Jul-2003 |
wpaul |
Add support for the BCM5705 and its ilk. Changes:
- 5705 doesn't support jumbo frames - Statistics must be read from registers - RX return ring must be capped at 512 entries - Omit initialization of certain device blocks - Acknowledge link change interrupts by setting the 'link changed' bit in the status register (used to have no effect) - Remember to toggle the MI completion bit too - Set the mbuf low watermark differently (on-chip memory buffers, not BSD mbufs) - Don't enable Ethernet@WireSpeed feature for certain 5705 chip revs - Add additional PCI IDs for 5705 and 5782 parts - Add a forgotten 5704 PCI ID
Most changes ripped kicking and screaming from the Broadcom linux driver. Thanks to Paul Saab for sanity testing. (My lack of sanity has been confirmed.)
|
#
114547 |
|
02-May-2003 |
ps |
Add untested support for the Broadcom 5704.
Obtained from: NetBSD
|
#
109147 |
|
12-Jan-2003 |
obrien |
Partial support for the nVidia nForce2 chipset's on-board Broadcom/Altima PHY and 3com MAC. Specifications for the Altima PHY are available at: http://www.altimacom.com/products/ac101L.html
Submitted by: Mikko S. Hyvarinen <morphy@morphy.iki.fi>
|
#
103103 |
|
08-Sep-2002 |
jdp |
Add support for the BCM5703x chips. I do not have one of these cards to test; however the submitter reports that this patch works with the on-board interface on the IBM x235 server.
Submitted by: Jung-uk Kim <jkim@niksun.com> MFC after: 1 month
|
#
99440 |
|
05-Jul-2002 |
benno |
Add a driver for the Broadcom BCM52xx "mini-theta" PHY. This includes the internal PHY on the 3COM 3C905B and 3C905C parts, however I've rigged it so that xlphy (aka exphy) takes precedence for the time being.
If people try this with their xl cards and decide that it's a better choice, we can switch this later.
This is the PHY used in various iMacs and possibly other GMAC-equipped Macintoshes with 10/100 PHYs (the ones with 10/100/1000 appear to use brgphy).
Obtained from: NetBSD
|
#
99439 |
|
05-Jul-2002 |
benno |
Use 3C905C instead of 3c905Cphy as the identifier for the Broadcom PHY used in the 3C905C. This is mainly cosmetic.
I'm doing this mainly so we share the same identifier as NetBSD.
|
#
94149 |
|
07-Apr-2002 |
wpaul |
Teach the rlphy driver how to do parallel link detection. If the link partner doesn't support NWAY, the RealTek PHY (both the integrated ones on 8139 chips and the RTL8201L 10/100 PHY) will not report the link speed via the ANLPAR or BMSR registers. For the 8201L, we need to look in magic vendor-specific PHY register 0x19. For the 8139 MAC+PHY combo, we have to be able to test the RL_MEDIASTAT register.
The changes to rlphy.c are based largely on the patch from PR 30836, however I tried to eliminate some magic numbers by creating an entry for the 8201 PHY in miidevs.
Also updated if_rl.c to allow the rlphy driver to read the RL_MEDIASTAT register via the rl_miibus_readreg() routine.
|
#
92931 |
|
22-Mar-2002 |
wpaul |
Teach the brgphy driver about the BCM5701's internal copper PHY.
|
#
84145 |
|
29-Sep-2001 |
jlemon |
Cleanup pass for mii drivers. . Make internal service routines static. . Use a consistent ordering of checks in MII_TICK. Do the work in the mii_phy_tick() subroutine if appropriate. . Call mii_phy_update() to trigger the callbacks.
|
#
83029 |
|
04-Sep-2001 |
wpaul |
Add support for the BCM5401 and BCM5411 10/100/1000Mbps copper gigE PHYs. This basically updates the brgphy driver to support 10/100 modes in addition to 1000Mbps modes.
|
#
77078 |
|
23-May-2001 |
wpaul |
Tweak the xmphy driver a little bit based on something I learned about the built-in 1000baseX interface in the Level 1 LXT1001 chip. The Level 1 PHY comes up with the isolate bit in the control register set by default, but it also has the autonegotiate bit set. When you tell the xmphy driver to select IFM_AUTO mode, it sees that the autoneg bit is already on, and thus doesn't bother updating the control register. However this means that the isolate bit is never turned off (unless you manually select 1000baseSX full or half duplex mode, which does result in the control register being modified and the ISO bit being turned off).
This subtle and unusual behavioral difference stopped me from being able to receive packets on the SMC9462TX card for several days, since isolating the PHY disconnects it from the MAC's data interface. The fix is to omit the 'is the autoneg big set?' test, since it doesn't really provide much of an optimization anyway.
This commit also updates the xmphy driver to support the Jato/Level 1 internal PHY. (I'm not sure how Jato Technologies is related to Level 1: all I know is the OUI from the PHY ID registers maps to Jato in the OUI database.) This will be used once I add the if_lge driver to support the LXT10010 chip.
|
#
76483 |
|
11-May-2001 |
jlemon |
Correctly recognize the i82562{EM} PHYs.
Obtained from: OpenBSD
|
#
76479 |
|
11-May-2001 |
wpaul |
Add support for gigabit ethernet cards based on the NatSemi DP83820 and DP83821 gigabit ethernet MAC chips and the NatSemi DP83861 10/100/1000 copper PHY. There are a whole bunch of very low cost cards available with this chipset selling for $150USD or less. This includes the SMC9462TX, D-Link DGE-500T, Asante GigaNIX 1000TA and 1000TPC, and a couple cards from Addtron.
This chip supports TCP/IP checksum offload, VLAN tagging/insertion. 2048-bit multicast filter, jumbograms and has 8K TX and 32K RX FIFOs. I have not done serious performance testing with this driver. I know it works, and I want it under CVS control so I can keep tabs on it. Note that there's no serious mutex stuff in here yet either: I need to talk more with jhb to figure out the right way to do this. That said, I don't think there will be any problems.
This driver should also work on the alpha. It's not turned on in GENERIC.
|
#
75353 |
|
09-Apr-2001 |
mjacob |
Add Marvell PHY support for 10/100/1000 LIVENGOOD_CU Intel NIC. Parag Patel did all of the grunt work, so he gets the credit. Register definitions and actions inferred from a Linux driver, so Intel also gets some 'credit'.
|
#
74129 |
|
12-Mar-2001 |
jlemon |
Add some definitions for Intel 82553 PHYs
|
#
66990 |
|
11-Oct-2000 |
imp |
Forced commit. Last commit was submitted by Jonathan Chen.
Submitted by: Jonathan Chen
|
#
66989 |
|
11-Oct-2000 |
imp |
Add mii entry for tdk phy found on some cardbus cards.
|
#
66127 |
|
20-Sep-2000 |
wpaul |
Add the ID for the built-in homePNA PHY in the AMD 79C798 controller.
|
#
61907 |
|
21-Jun-2000 |
semenu |
Added Altima Communications OUI and their AC101 10/100 media interface to the list of known chips.
miidevs.h regenerated also.
|
#
59475 |
|
21-Apr-2000 |
wpaul |
Add entries for the XMAC II's internal PHY and the Broadcom BCM5400 1000baseTx PHY.
|
#
50959 |
|
05-Sep-1999 |
peter |
$Id$ -> $FreeBSD$
|
#
50577 |
|
29-Aug-1999 |
wpaul |
The ASIC on the 3c905C appears to be manufactured by Broadcom (previous ones were made by Lucent). The Broadcom chip also appears to use an internal PHY made by Broadcom which uses the Broadcom OUI. This is different from previous ASICs which always returned 0 in the PHY ID registers. To account for this, I added the necessary ID values for the Broadcom PHY so that it can be detected and attached using the 3Com PHY driver instead of defaulting to the generic one.
|
#
50477 |
|
27-Aug-1999 |
peter |
$Id$ -> $FreeBSD$
|
#
50120 |
|
21-Aug-1999 |
wpaul |
This commit adds support for the NetBSD MII abstraction layer and MII-compliant PHY drivers. Many 10/100 ethernet NICs available today either use an MII transceiver or have built-in transceivers that can be programmed using an MII interface. It makes sense then to separate this support out into common code instead of duplicating it in all of the NIC drivers. The mii code also handles all of the media detection, selection and reporting via the ifmedia interface.
This is basically the same code from NetBSD's /sys/dev/mii, except it's been adapted to FreeBSD's bus architecture. The advantage to this is that it automatically allows everything to be turned into a loadable module. There are some common functions for use in drivers once an miibus has been attached (mii_mediachg(), mii_pollstat(), mii_tick()) as well as individual PHY drivers. There is also a generic driver for all PHYs that aren't handled by a specific driver. It's possible to do this because all 10/100 PHYs implement the same general register set in addition to their vendor-specific register sets, so for the most part you can use one driver for pretty much any PHY. There are a couple of oddball exceptions though, hence the need to have specific drivers.
There are two layers: the generic "miibus" layer and the PHY driver layer. The drivers are child devices of "miibus" and the "miibus" is a child of a given NIC driver. The "miibus" code and the PHY drivers can actually be compiled and kldoaded as completely separate modules or compiled together into one module. For the moment I'm using the latter approach since the code is relatively small.
Currently there are only three PHY drivers here: the generic driver, the built-in 3Com XL driver and the NS DP83840 driver. I'll be adding others later as I convert various NIC drivers to use this code.
I realize that I'm cvs adding this stuff instead of importing it onto a separate vendor branch, but in my opinion the import approach doesn't really offer any significant advantage: I'm going to be maintaining this stuff and writing my own PHY drivers one way or the other.
|