RE: [PATCH net-next 4/4] net: dsa: microchip: add SGMII port support to KSZ9477 switch

From: Tristram.Ha
Date: Tue Aug 13 2024 - 16:54:59 EST


> On Fri, Aug 09, 2024 at 04:38:40PM -0700, Tristram.Ha@xxxxxxxxxxxxx wrote:
> > From: Tristram Ha <tristram.ha@xxxxxxxxxxxxx>
> >
> > The SGMII module of KSZ9477 switch can be setup in 3 ways: 0 for direct
> > connect, 1 for 1000BaseT SFP, and 2 for 10/100/1000 SFP.
> >
> > SFP is typically used so the default is 1. The driver can detect
> > 10/100/1000 SFP and change the mode to 2. For direct connect this mode
> > has to be explicitly set to 0 as driver cannot detect that
> > configuration.
>
> Is 1 actually 1000BaseX? An SFP module using fibre would typically
> want 1000BaseX, and only support one speed. An SFP module using copper
> typically has a PHY in it, it performs auto-neg on the media side, and
> then uses SGMII inband signalling to tell the MAC what data rate,
> symbol duplication to do. And maybe mode 0 has in-band signalling
> turned off, in which case 1000BaseX and SGMII become identical,
> because it is the signalling which is different.

There are 2 ways to program the hardware registers so that the SGMII
module can communicate with either 1000Base-T/LX/SX SFP or
10/100/1000Base-T SFP. After a cable is plugged in to the SFP the link
interrupt is triggered. For 10/100/1000Base-T SFP the connected speed
is also reported. For fiber type SFP this information is not revealed
so the driver assumes 1000 speed. In fact 100Base-FX fiber SFP is not
supported and does not work.