[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20190607183436.af6h5lhw7nb3ycet@shell.armlinux.org.uk>
Date: Fri, 7 Jun 2019 19:34:36 +0100
From: Russell King - ARM Linux admin <linux@...linux.org.uk>
To: Robert Hancock <hancock@...systems.ca>
Cc: netdev@...r.kernel.org
Subject: Re: [PATCH net-next] net: phy: phylink: add fallback from SGMII to
1000BaseX
On Fri, Jun 07, 2019 at 12:10:57PM -0600, Robert Hancock wrote:
> On 2019-06-02 9:15 a.m., Russell King - ARM Linux admin wrote:
> > On Fri, May 31, 2019 at 06:17:51PM -0600, Robert Hancock wrote:
> >> Our device is mainly intended for fiber modules, which is why 1000BaseX
> >> is being used. The variant of fiber modules we are using (for example,
> >> Finisar FCLF8520P2BTL) are set up for 1000BaseX, and seem like they are
> >> kind of a hack to allow using copper on devices which only support
> >> 1000BaseX mode (in fact that particular one is extra hacky since you
> >> have to disable 1000BaseX autonegotiation on the host side). This patch
> >> is basically intended to allow that particular case to work.
> >
> > Looking at the data sheet for FCLF8520P2BTL, it explicit states:
> >
> > PRODUCT SELECTION
> > Part Number Link Indicator 1000BASE-X auto-negotiation
> > on RX_LOS Pin enabled by default
> > FCLF8520P2BTL Yes No
> > FCLF8521P2BTL No Yes
> > FCLF8522P2BTL Yes Yes
> >
> > The idea being, you buy the correct one according to what the host
> > equipment requires, rather than just picking one and hoping it works.
> >
> > The data sheet goes on to mention that the module uses a Marvell
> > 88e1111 PHY, which seems to be quite common for copper SFPs from
> > multiple manufacturers (but not all) and is very flexible in how it
> > can be configured.
> >
> > If we detect a PHY on the SFP module, we check detect whether it is
> > an 88e1111 PHY, and then read out its configured link type. We don't
> > have a way to deal with the difference between FCLF8520P2BTL and
> > FCLF8521P2BTL, but at least we'll be able to tell whether we should
> > be in 1000Base-X mode for these modules, rather than SGMII.
>
> It looks like that might provide a solution for modules using the
> Marvell PHY, however some of the modules we are supporting seem to use a
> Broadcom PHY, and I have no idea if there is any documentation for those.
>
> It would really be rather silly if there were absolutely no way to tell
> what mode the module wants from the EEPROM..
It is something I've spent weeks looking at from many different angles.
There is no way to tell.
You have to bear in mind that 1000BaseX and SGMII are essentially
identical, except for the interpretation of that 16-bit control word
and how it is handled. Both are 1250Mbaud, both are 8b/10b encoded.
Both identify as supporting 1000BASE-T.
As I've said, the only way I can come up with is a hard-coded table
of vendor name/part number to identify what each one requires.
--
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTC broadband for 0.8mile line in suburbia: sync at 12.1Mbps down 622kbps up
According to speedtest.net: 11.9Mbps down 500kbps up
Powered by blists - more mailing lists