net: phy: Dealing with 88e1543 dual-port mode

Russell King - ARM Linux admin linux at armlinux.org.uk
Thu Nov 19 18:16:13 EST 2020


On Thu, Nov 19, 2020 at 11:43:39PM +0100, Tobias Waldekranz wrote:
> On Thu, Nov 19, 2020 at 16:24, Maxime Chevallier <maxime.chevallier at bootlin.com> wrote:
> > I don't think we have a way to distinguish from the DT if we are in
> > SGMII-to-Fibre or in SGMII-to-{Copper + Fibre}, since the description is
> > the same, we don't have any information in DT about wether or not the
> > PHY is wired to a Copper RJ45 port.
> >
> > Maybe we should have a way to indicate if a PHY is wired to a Copper
> > port in DT ?
> 
> Do you mean something like:
> 
> SGMII->SGMII (Fibre):
> ethernet-phy at 0 {
>    sfp = <&sfp0>;
> };
> 
> SGMII->MDI (Copper):
> ethernet-phy at 0 {
>     mdi;
> };
> 
> SGMII->Auto Media Detect
> ethernet-phy at 0 {
>     mdi;
>     sfp = <&sfp0>;
> };

This isn't something we could realistically do - think about how many
DT files are out there today which would not have this for an existing
PHY. The default has to be that today's DT descriptions continue to work
as-is, and that includes ones which already support copper and fibre
either with or without a sfp property.

So, we can't draw any conclusion about whether the fiber interface is
wired from whether there is a sfp property or not.

We also can't draw a conclusion about whether the copper side is wired
using a "mdi" property, or whether there is a "sfp" property or not.

The only thing we could realistically do today is to introduce a
property like:

	mdi = "disabled" | "okay";

to indicate whether the copper port can be used, and maybe something
similar for the fiber interface.  Maybe as you suggest, not "okay"
but specifying the number of connected pairs would be a good idea,
or maybe that should be a separate property?

-- 
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTP is here! 40Mbps down 10Mbps up. Decent connectivity at last!



More information about the linux-arm-kernel mailing list