All of lore.kernel.org
 help / color / mirror / Atom feed
* phylink and an unusual PHY/SFP setup
@ 2026-05-27  8:19 Michael Walle
  2026-05-27 13:35 ` Andrew Lunn
  0 siblings, 1 reply; 4+ messages in thread
From: Michael Walle @ 2026-05-27  8:19 UTC (permalink / raw)
  To: Andrew Lunn, Russell King; +Cc: netdev

[-- Attachment #1: Type: text/plain, Size: 709 bytes --]

Hi,

I have a board with a rather unusual network link setup:

 MAC/PCS (fman) <-SerDes-> PHY (M88E1112) <-SerDes-> SFP

or even

 MAC/PCS (fman) <-SerDes-> PHY (M88E1112) <-SerDes-> Copper SFP with PHY

Does phylink support such a configuration? I suspect adding
support for such a configuration isn't straight forward.

FWIW, the M88E1112 PHY driver seems to be completely broken in
upstream. It looks like it was assumed, that it's like the M88E1111.
But that one only has 1 SerDes and one parallel interface. The 1112
has two SerDes interfaces and thus a completely different register
map. I'm not sure it ever worked, except maybe by accident for the
SGMII-to-Copper case.

-michael

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 297 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: phylink and an unusual PHY/SFP setup
  2026-05-27  8:19 phylink and an unusual PHY/SFP setup Michael Walle
@ 2026-05-27 13:35 ` Andrew Lunn
  2026-05-28  9:24   ` Michael Walle
  0 siblings, 1 reply; 4+ messages in thread
From: Andrew Lunn @ 2026-05-27 13:35 UTC (permalink / raw)
  To: Michael Walle; +Cc: Russell King, netdev

On Wed, May 27, 2026 at 10:19:18AM +0200, Michael Walle wrote:
> Hi,
> 
> I have a board with a rather unusual network link setup:
> 
>  MAC/PCS (fman) <-SerDes-> PHY (M88E1112) <-SerDes-> SFP
> 
> or even
> 
>  MAC/PCS (fman) <-SerDes-> PHY (M88E1112) <-SerDes-> Copper SFP with PHY

Such setups do exist already, but with a different PHY. The Marvel 10G
PHY is sometimes placed in the middle like this. And there are other
PHYs.

Take a look at

commit 35d1a5464b476aa98b7b76ce41bb4de748cebfc2
Author: Maxime Chevallier <maxime.chevallier@bootlin.com>
Date:   Thu Jan 8 09:00:35 2026 +0100

    net: phy: marvell10g: Support SFP through phy_port
    
    Convert the Marvell10G driver to use the generic SFP handling, through a
    dedicated .attach_port() handler to populate the port's supported
    interfaces.
    
    As the 88x3310 supports multiple MDI, the .attach_port() logic handles
    both SFP attach with 10GBaseR support, and support for the "regular"
    port that usually is a BaseT port.

Also, marvell-88x2222.c.

	Andrew

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: phylink and an unusual PHY/SFP setup
  2026-05-27 13:35 ` Andrew Lunn
@ 2026-05-28  9:24   ` Michael Walle
  2026-05-28 13:56     ` Andrew Lunn
  0 siblings, 1 reply; 4+ messages in thread
From: Michael Walle @ 2026-05-28  9:24 UTC (permalink / raw)
  To: Andrew Lunn; +Cc: Russell King, netdev

[-- Attachment #1: Type: text/plain, Size: 1977 bytes --]

Hi Andrew,

On Wed May 27, 2026 at 3:35 PM CEST, Andrew Lunn wrote:
> On Wed, May 27, 2026 at 10:19:18AM +0200, Michael Walle wrote:
>> Hi,
>> 
>> I have a board with a rather unusual network link setup:
>> 
>>  MAC/PCS (fman) <-SerDes-> PHY (M88E1112) <-SerDes-> SFP
>> 
>> or even
>> 
>>  MAC/PCS (fman) <-SerDes-> PHY (M88E1112) <-SerDes-> Copper SFP with PHY
>
> Such setups do exist already, but with a different PHY. The Marvel 10G
> PHY is sometimes placed in the middle like this. And there are other
> PHYs.
>
> Take a look at
>
> commit 35d1a5464b476aa98b7b76ce41bb4de748cebfc2
> Author: Maxime Chevallier <maxime.chevallier@bootlin.com>
> Date:   Thu Jan 8 09:00:35 2026 +0100
>
>     net: phy: marvell10g: Support SFP through phy_port
>     
>     Convert the Marvell10G driver to use the generic SFP handling, through a
>     dedicated .attach_port() handler to populate the port's supported
>     interfaces.
>     
>     As the 88x3310 supports multiple MDI, the .attach_port() logic handles
>     both SFP attach with 10GBaseR support, and support for the "regular"
>     port that usually is a BaseT port.
>
> Also, marvell-88x2222.c.
>
> 	Andrew

Thanks for the pointer. It looks like this can be used to support
both the Base-T port and the SerDes port of this PHY.

But I'm still trying to wrap my head around the SerDes links and
it's configuration. Basically, phylink tries to match both ends of
the link and will configure the PCS and the PHY accordingly. But in
my case, the link between the MAC/PCS and the PHY is always SGMII
(at least that's what the Marvell datasheet says). The line side of
the PHY is then either Base-T if using the copper port or 1000Base-X,
100Base-FX or SGMII on the fiber port.

If I add these modes to the possible_interfaces property, the PCS
might be configured wrong, that is, in 1000Base-X mode for example.
But it really should only be ever in SGMII mode.

-michael

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 297 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: phylink and an unusual PHY/SFP setup
  2026-05-28  9:24   ` Michael Walle
@ 2026-05-28 13:56     ` Andrew Lunn
  0 siblings, 0 replies; 4+ messages in thread
From: Andrew Lunn @ 2026-05-28 13:56 UTC (permalink / raw)
  To: Michael Walle; +Cc: Russell King, netdev

> Thanks for the pointer. It looks like this can be used to support
> both the Base-T port and the SerDes port of this PHY.
> 
> But I'm still trying to wrap my head around the SerDes links and
> it's configuration. Basically, phylink tries to match both ends of
> the link and will configure the PCS and the PHY accordingly. But in
> my case, the link between the MAC/PCS and the PHY is always SGMII
> (at least that's what the Marvell datasheet says). The line side of
> the PHY is then either Base-T if using the copper port or 1000Base-X,
> 100Base-FX or SGMII on the fiber port.
>
> If I add these modes to the possible_interfaces property, the PCS
> might be configured wrong, that is, in 1000Base-X mode for example.
> But it really should only be ever in SGMII mode.

You have something like rate adaptation for the PCS-PHY link.

This is something you sometimes see for multigigi PHYs, where the
MAC-PHY can uses a fixed mode, e.g. 10GBaseR, independent of what the
media does. Pause frames are then used to slow down the MAC to the
media speed. So it might be you can abuse rate adaptation to do what
you need.

What could play a role here is, if the media is running at 100Mbps
does the MAC need to know to use SGMII at 100Mbps? This is different
to rate adaptation, where the MAC is fixed. Also, if it is using
100Base-FX, does it want the SGMII to run a 100Mbps?

So rate adaptation might not help. But the phylink code around rate
adaption might give you some ideas how you can handle this.

   Andrew


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2026-05-28 13:56 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-05-27  8:19 phylink and an unusual PHY/SFP setup Michael Walle
2026-05-27 13:35 ` Andrew Lunn
2026-05-28  9:24   ` Michael Walle
2026-05-28 13:56     ` Andrew Lunn

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.