[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <144ed2fd-f6e4-43a1-99bc-57e6045996da@lunn.ch>
Date: Tue, 13 Aug 2024 23:32:35 +0200
From: Andrew Lunn <andrew@...n.ch>
To: Tristram.Ha@...rochip.com
Cc: Woojung.Huh@...rochip.com, UNGLinuxDriver@...rochip.com,
devicetree@...r.kernel.org, f.fainelli@...il.com, olteanv@...il.com,
robh@...nel.org, krzk+dt@...nel.org, conor+dt@...nel.org,
davem@...emloft.net, edumazet@...gle.com, kuba@...nel.org,
pabeni@...hat.com, marex@...x.de, netdev@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH net-next 1/4] dt-bindings: net: dsa: microchip: add SGMII
port support to KSZ9477 switch
On Tue, Aug 13, 2024 at 09:14:34PM +0000, Tristram.Ha@...rochip.com wrote:
> > > From: Tristram Ha <tristram.ha@...rochip.com>
> > >
> > > 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.
> >
> > Could you explain this in more detail. Other SGMII blocks don't need
> > this. Why is this block special?
> >
> > Has this anything to do with in-band signalling?
>
> 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. When a SFP is plugged in the driver can try to
> detect which type and if it thinks 10/100/1000Base-T SFP is used it
> changes the mode to 2 and program appropriately.
What should happen here is that phylink will read the SFP EEPROM and
determine what mode should be used. It will then tell the MAC or PCS
how to configure itself, 1000BaseX, or SGMII. Look at the
mac_link_up() callback, parameter interface.
Andrew
Powered by blists - more mailing lists