aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/mii/miidevs
Commit message (Collapse)AuthorAgeFilesLines
* sys: RealTek -> Realtekykla2025-11-271-4/+4
| | | | | | | | | | | Realtek changed how it styled its name 25 or so years ago, but the old style persisted in many places. These products use the new styling in their datasheets. Signed-off-by: ykla yklaxds@gmail.com Sponsored by: Chinese FreeBSD Community Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/1901
* mccomphy: add support for YT8531Jari Sihvola2025-05-011-0/+2
| | | | | | | | | Reapply e69623451ea6, this time with proper conditions for code requiring FDT. Co-authored-by: mhorne MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D50074
* Revert "mccomphy: add support for YT8531"Mitchell Horne2025-04-031-2/+0
| | | | | | | | | The new code makes use of FDT/OFW types and interfaces, and obviously fails to build on amd64. Revert to fix. Pointy-hat-to: mhorne This reverts commit e69623451ea62d2c3c76e0d0e775aa3f7317f2eb.
* mccomphy: add support for YT8531Jari Sihvola2025-04-021-0/+2
| | | | | | | Reviewed by: mhorne Tested by: mhorne MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D45600
* mii: Add support for Realtek RTL8211F-VD PHYPeter Jeremy2024-05-081-0/+1
| | | | | | | | | | | | The RTL8211F-VD is a replacement/upgrade for the RTL8211F. Based on https://github.com/torvalds/linux/commit/bb726b753f75a4eeda291438f89dfd9b94783569, the only difference is the lack of the PCR2 register, which FreeBSD doesn't use. This fixes autonegotiation problems using the RTL8211F with ukphy(4). Reviewed by: manu, bz MFC after: 1 month Differential Revision: <https://reviews.freebsd.org/D45109
* mii: add Vitesse/Microsemi VSC8514Bjoern A. Zeeb2023-11-171-0/+1
| | | | | | | | | | | The VSC8514 Quad-Port 10/100/1000BASE-T PHY seems to match the handling for the VSC8504 (for the little we support of what we could) and while it works with our generic ukphy add it as vscphy for porper display of names in the system message buffer and the like (or in case we decide to implement some extra features). Tested on: Ten64 MFC after: 3 days
* mii: resort VSC8641 entry in miidevsBjoern A. Zeeb2023-11-171-1/+1
| | | | | | | VSC8641 is a ciphy not a vscphy. Sort it with the other entries of ciphy to avoid confusion. MFC after: 3 days
* sys: Remove $FreeBSD$: one-line bare tagWarner Losh2023-08-161-1/+0
| | | | Remove /^\s*\$FreeBSD\$$\n/
* mii: Add the Broadcom BCM54616S ID to the listJustin Hibbits2023-08-021-0/+1
| | | | | Obtained from: Juniper Networks, Inc. Sponsored by: Juniper Networks, Inc.
* Add driver for Motorcomm YT8511 GbE PHYSøren Schmidt2022-12-131-0/+4
| | | | Partially from: https://reviews.freebsd.org/D36093
* Add the PHY driver for the Marvell 88E1512.Luiz Souza2022-08-091-0/+1
| | | | | | | | | | This driver supports the auto negotiation mode between the copper and fiber ports. This PHY has two independent PHYs (one for copper and other for fiber) but in this case the functionality is presented as a single PHY for easy management. Sponsored by: Rubicon Communications, LLC ("Netgate")
* Add a new RDC phyKevin Lo2022-04-251-0/+1
| | | | | | Reviewed by: jhb Obtained from: NetBSD via Andrius V Differential Revision: https://reviews.freebsd.org/D35034
* vscphy: Add support for PHY interruptsKornel Duleba2021-11-241-0/+1
| | | | | | | | | | | They're allocated using standard newbus API, which means that we rely on miibus to handle the allocation. Add VSC8504 to the list of supported PHYs, as it is similar enough to the VSC8501 that is already supported by this driver. Obtained from: Semihalf Sponsored by: Alstom Group Differential revision: https://reviews.freebsd.org/D32816
* Introduce DP83822 PHY driverKornel Duleba2021-11-241-0/+1
| | | | | | | | | | | DP83822 is a 10/100 Texas Instruments PHY. Link status change interrupts are supported by the driver, however not all boards have the PHY interrupt wired. Because of that if failure to allocate an IRQ is not treated as an error. Obtained from: Semihalf Sponsored by: Alstom Group Differential revision: https://reviews.freebsd.org/D32815
* Introduce DP83867 PHY driverKornel Duleba2021-11-241-0/+2
| | | | | | | | | | | DP83867 is a 10/100/1000 Texas Instruments PHY. Only SGMII mode is supported. Link status changes can be checked through an interrupt generated by the PHY, if available Obtained from: Semihalf Sponsored by: Alstom Group Differential revision: https://reviews.freebsd.org/D32813
* mii: update URL for OUIsBjoern A. Zeeb2021-11-091-1/+1
| | | | Update the URL for OUIs as the old one is 404 not even 301 anymore.
* Add support for bcm54213PE in brgphy.Mike Karels2020-06-181-0/+1
| | | | | | | | | | | | | | | | | | This chip is used in the Rasperry Pi 4, and is supported by the if_genet driver. Currently we use the ukphy mii driver, this patch switches over to the brgphy mii driver instead. To support the rgmii-rxid phy mode, which is now the default in the Linux dtb, we add support for clock skewing. These changes are taken from OpenBSD and NetBSD, except for the bailout in brgphy_bcm54xx_clock_delay() in rgmii mode, which was found necessary after testing. Submitted by: Robert Crowston, crowston at protomail.com Differential Revision: https://reviews.freebsd.org/D25251 Notes: svn path=/head/; revision=362353
* Add support for BCM54618SE PHYJustin Hibbits2020-04-091-0/+1
| | | | | | | | MFC after: 3 days Sponsored by: Juniper Networks, Inc Notes: svn path=/head/; revision=359756
* Recognize ICS1893C PHYs.Mark Johnston2018-08-071-0/+1
| | | | | | | | Submitted by: Sebastian Huber <sebastian.huber@embedded-brains.de> MFC after: 1 week Notes: svn path=/head/; revision=337425
* Add a driver for the Vitesse/Microsemi VSC8501 PHY.Ian Lepore2017-06-111-1/+2
| | | | Notes: svn path=/head/; revision=319817
* Add support for the Micrel KSZ8081 ethernet PHY.Ian Lepore2017-04-161-0/+1
| | | | | | | | | | | | The only thing this phy needs that the ukphy driver doesn't provide is that the value in the proprietary Phy Control 2 Register must be saved before doing a soft reset and restored afterwards. Most modern phys have "sticky bits" for low-level config that survive a reset, but on this one the values in all registers go back to defaults, wiping out any board- specific config set up by the bootloader/bios/whatever. Notes: svn path=/head/; revision=316995
* Add preliminary support for the RTL8153.Kevin Lo2016-10-311-1/+1
| | | | | | | Reviewed by: hselasky Notes: svn path=/head/; revision=308121
* Add support for the Microchip/Micrel KSZ9031 Gigabit Ethernet PHY.Luiz Otavio O Souza2016-07-231-0/+1
| | | | | | | | | Tested on uBMC and uFW. Sponsored by: Rubicon Communications (Netgate) Notes: svn path=/head/; revision=303230
* Add support for Atmel at25df641 flashBaptiste Daroussin2016-06-081-0/+1
| | | | | | | Submitted by: Grégory Soutadé <soutade@gmail.com> (via github pull request) Notes: svn path=/head/; revision=301632
* Add more BCM gigabit PHYsSean Bruno2015-09-041-1/+6
| | | | | | | | | | | | Gleaned from a public header file. 5402 and 5404 look like they may be used on embedded devices. 5478 and 5488 are switch PHYs. 5754 change is just to note a product alias. Differential Revision: https://reviews.freebsd.org/D3338 Submitted by: kevin.bowling@kev009.com Notes: svn path=/head/; revision=287470
* Add support for BCM5466 PHYSean Bruno2015-07-291-0/+1
| | | | | | | | Differential Revision: D3232 Submitted by: kevin.bowling@kev009.com Notes: svn path=/head/; revision=286041
* Add driver for Micrel KSZ9021 Gigabit Ethernet Transceiver (PHY).Ruslan Bukin2014-10-211-0/+4
| | | | | | | Sponsored by: DARPA, AFRL Notes: svn path=/head/; revision=273380
* Add definition for the Atheros 8021 gigabit PHY.Nathan Whitehorn2013-11-061-0/+1
| | | | | | | MFC after: 1 week Notes: svn path=/head/; revision=257751
* Add support for new Gigabit PHY of RealTek.Pyun YongHyeon2013-10-291-0/+1
| | | | | | | | | 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. Notes: svn path=/head/; revision=257304
* Recognize BCM5725C PHY.Pyun YongHyeon2013-07-201-0/+2
| | | | Notes: svn path=/head/; revision=253481
* Recognize 5720S PHY and treat it as 5708S PHY.Pyun YongHyeon2012-12-201-1/+1
| | | | | | | | | | 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 > Notes: svn path=/head/; revision=244482
* Merging of projects/armv6, part 5Oleksandr Tymoshenko2012-08-151-0/+4
| | | | | | | | | | - Driver for SMSC LAN95XX and LAN8710A ethernet controllers - Driver for LAN8710A PHY Submitted by: Ben Gray, Damjan Marion, Tim Kientzle Notes: svn path=/head/; revision=239275
* More Cicada/Vitesse PHY ids.Rafal Jaworowski2012-05-251-1/+6
| | | | | | | Obtained from: Semihalf Notes: svn path=/head/; revision=235999
* Probe the National DP83849, which is a dual-port version of the PHYTER.Marius Strobl2012-02-191-1/+2
| | | | | | | Obtained from: NetBSD Notes: svn path=/head/; revision=231914
* - Probe BCM57780.Marius Strobl2012-02-191-0/+1
| | | | | | | | | | | | | | | - 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 Notes: svn path=/head/; revision=231913
* Sync with NetBSD rev. 1.104Marius Strobl2011-11-231-1/+14
| | | | | | | Obtained from: NetBSD Notes: svn path=/head/; revision=227906
* Recognize BCM5720C PHY.Pyun YongHyeon2011-10-281-0/+1
| | | | Notes: svn path=/head/; revision=226870
* Add detection for the Marvel 88E1149R and treat it just like theWarner Losh2011-06-301-0/+1
| | | | | | | 88E1149. Notes: svn path=/head/; revision=223688
* Recognize BCM5719C PHY.Pyun YongHyeon2011-05-091-0/+1
| | | | | | | Submitted by: Geans Pin at Broadcom Notes: svn path=/head/; revision=221713
* - Remove attempts to implement setting of BMCR_LOOP/MIIF_NOLOOPMarius Strobl2011-05-031-164/+201
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (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@ Notes: svn path=/head/; revision=221407
* Probe the PHY accompanying BCM57765.Marius Strobl2011-05-021-0/+1
| | | | | | | | | Tested by: Paul Thornton MFC after: 1 week Notes: svn path=/head/; revision=221341
* Add Realtek RTL8201E 10/100 PHY found in RTL8105E controller. ThePyun YongHyeon2011-01-261-0/+1
| | | | | | | | | 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. Notes: svn path=/head/; revision=217910
* Add RDC Semiconductor R6040 10/100 PHY driver.Pyun YongHyeon2010-12-301-0/+4
| | | | Notes: svn path=/head/; revision=216828
* - Also probe BCM5214 and BCM5222.Marius Strobl2010-11-221-0/+2
| | | | | | | | | | | - 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 Notes: svn path=/head/; revision=215720
* Recognize the BCM5482S.Juli Mallett2010-11-081-0/+1
| | | | Notes: svn path=/head/; revision=215015
* Add BCM5717C 10/100/1000TX PHY id.Pyun YongHyeon2010-10-271-0/+2
| | | | Notes: svn path=/head/; revision=214427
* Add F1 PHY found on Atheros AR8151 v2.0 PCIe gigabit ethernetPyun YongHyeon2010-08-091-0/+1
| | | | | | | controller. Notes: svn path=/head/; revision=211103
* Marvell model number 0x06 is 88E1101 PHY.Pyun YongHyeon2010-08-071-1/+1
| | | | Notes: svn path=/head/; revision=211046
* Add Marvell PHYG65G Gigabit PHY which is found on 88E8059 Yukon Optima.Pyun YongHyeon2010-04-301-0/+1
| | | | | | | | Tested by: James LaLagna < jameslalagna <> gmail dot com > MFC after: 5 days Notes: svn path=/head/; revision=207446
* Add Agere ET1011 PHY which is found on Belkin F5D5055 USBPyun YongHyeon2010-04-131-0/+1
| | | | | | | | controller. Unlike Agere ET1011C, Agere ET1011 does not seem to need special DSP programming to workaround silicon bug. Notes: svn path=/head/; revision=206563