| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
| |
Reviewed by: mhorne
Tested by: mhorne
MFC after: 2 weeks
Differential Revision: https://reviews.freebsd.org/D45600
|
| |
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
| |
VSC8641 is a ciphy not a vscphy.
Sort it with the other entries of ciphy to avoid confusion.
MFC after: 3 days
|
| |
|
|
| |
Remove /^\s*\$FreeBSD\$$\n/
|
| |
|
|
|
| |
Obtained from: Juniper Networks, Inc.
Sponsored by: Juniper Networks, Inc.
|
| |
|
|
| |
Partially from: https://reviews.freebsd.org/D36093
|
| |
|
|
|
|
|
|
|
|
| |
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")
|
| |
|
|
|
|
| |
Reviewed by: jhb
Obtained from: NetBSD via Andrius V
Differential Revision: https://reviews.freebsd.org/D35034
|
| |
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
Update the URL for OUIs as the old one is 404 not even 301 anymore.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
| |
MFC after: 3 days
Sponsored by: Juniper Networks, Inc
Notes:
svn path=/head/; revision=359756
|
| |
|
|
|
|
|
|
| |
Submitted by: Sebastian Huber <sebastian.huber@embedded-brains.de>
MFC after: 1 week
Notes:
svn path=/head/; revision=337425
|
| |
|
|
| |
Notes:
svn path=/head/; revision=319817
|
| |
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
| |
Reviewed by: hselasky
Notes:
svn path=/head/; revision=308121
|
| |
|
|
|
|
|
|
|
| |
Tested on uBMC and uFW.
Sponsored by: Rubicon Communications (Netgate)
Notes:
svn path=/head/; revision=303230
|
| |
|
|
|
|
|
| |
Submitted by: Grégory Soutadé <soutade@gmail.com> (via github pull request)
Notes:
svn path=/head/; revision=301632
|
| |
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
| |
Differential Revision: D3232
Submitted by: kevin.bowling@kev009.com
Notes:
svn path=/head/; revision=286041
|
| |
|
|
|
|
|
| |
Sponsored by: DARPA, AFRL
Notes:
svn path=/head/; revision=273380
|
| |
|
|
|
|
|
| |
MFC after: 1 week
Notes:
svn path=/head/; revision=257751
|
| |
|
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
Notes:
svn path=/head/; revision=253481
|
| |
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
| |
- 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
|
| |
|
|
|
|
|
| |
Obtained from: Semihalf
Notes:
svn path=/head/; revision=235999
|
| |
|
|
|
|
|
| |
Obtained from: NetBSD
Notes:
svn path=/head/; revision=231914
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- 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
|
| |
|
|
|
|
|
| |
Obtained from: NetBSD
Notes:
svn path=/head/; revision=227906
|
| |
|
|
| |
Notes:
svn path=/head/; revision=226870
|
| |
|
|
|
|
|
| |
88E1149.
Notes:
svn path=/head/; revision=223688
|
| |
|
|
|
|
|
| |
Submitted by: Geans Pin at Broadcom
Notes:
svn path=/head/; revision=221713
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(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
|
| |
|
|
|
|
|
|
|
| |
Tested by: Paul Thornton
MFC after: 1 week
Notes:
svn path=/head/; revision=221341
|
| |
|
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
Notes:
svn path=/head/; revision=216828
|
| |
|
|
|
|
|
|
|
|
|
| |
- 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
|
| |
|
|
| |
Notes:
svn path=/head/; revision=215015
|
| |
|
|
| |
Notes:
svn path=/head/; revision=214427
|
| |
|
|
|
|
|
| |
controller.
Notes:
svn path=/head/; revision=211103
|
| |
|
|
| |
Notes:
svn path=/head/; revision=211046
|
| |
|
|
|
|
|
|
| |
Tested by: James LaLagna < jameslalagna <> gmail dot com >
MFC after: 5 days
Notes:
svn path=/head/; revision=207446
|
| |
|
|
|
|
|
|
| |
controller. Unlike Agere ET1011C, Agere ET1011 does not seem to
need special DSP programming to workaround silicon bug.
Notes:
svn path=/head/; revision=206563
|