All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Russell King (Oracle)" <linux@armlinux.org.uk>
To: Conor Dooley <conor@kernel.org>
Cc: Charles Perry <charles.perry@microchip.com>,
	netdev@vger.kernel.org, Sean Anderson <sean.anderson@linux.dev>,
	Nicolas Ferre <nicolas.ferre@microchip.com>,
	Claudiu Beznea <claudiu.beznea@tuxon.dev>,
	Andrew Lunn <andrew+netdev@lunn.ch>,
	"David S. Miller" <davem@davemloft.net>,
	Eric Dumazet <edumazet@google.com>,
	Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH net-next v2 1/3] net: macb: fix SGMII with inband aneg disabled
Date: Thu, 5 Mar 2026 14:28:08 +0000	[thread overview]
Message-ID: <aamS-LPZaOfamwQC@shell.armlinux.org.uk> (raw)
In-Reply-To: <20260305-fantasy-useable-40ca04f0266e@spud>

On Thu, Mar 05, 2026 at 02:13:24PM +0000, Conor Dooley wrote:
> On Thu, Mar 05, 2026 at 05:56:15AM -0800, Charles Perry wrote:
> > On Thu, Mar 05, 2026 at 09:42:19AM +0000, Conor Dooley wrote:
> > > On Wed, Mar 04, 2026 at 09:37:23AM -0800, Charles Perry wrote:
> > > > On Wed, Mar 04, 2026 at 04:23:30PM +0000, Conor Dooley wrote:
> > > > 
> > > > Are you able to check register 23, bit 13 of your PHY by any chance? Maybe
> > > > with the mdio/mii commands in U-Boot if you have that.
> > > 
> > > "mii read addr 23" returns 0660 for both PHYs in U-Boot.
> > 
> > Oh, I think you fell into a trap of U-Boot's mii command.
> > 
> > The arguments are always in hex even if you dont prepend "0x".
> 
> Eh no, actually I thought that you meant register 0x23. I'm not used to
> register addresses being given in decimal.
> 
> > What "mii read 8 23" did is most likely read register 0x23, masked with
> > 0x1f because clause 22 has only 32 registers. So it read register 0x3 which
> > is the device identifier 2 register: 0x0660.
> > 
> > The exact command should be "mii read 8 0x17", "mii read 9 0x17".
> 
> Both read back 2004

It would would be good to see the content of 0x1b, specifically bit 13.
The PHY supports AN bypass, and I suspect bit 13 is zero, which means
in combination with bit 13 set in 0x17, the PHY must complete the SGMII
exchange with the MAC.

I suggest something like the following in vitesse.c for this PHY:

#define VSC8662_EXT_CON1		0x17
#define VSC8662_EXT_CON_MAC_AN		BIT(13)

#define VSC8662_MAC_AN			0x1b
#define VSC8662_MAC_AN_BYPASS		BIT(13)

static unsigned int vsc8662_inband_caps(struct phy_device *phydev,
					phy_interface_t interface)
{
	if (interface == PHY_INTERFACE_MODE_SGMII)
		return LINK_INBAND_DISABLE | LINK_INBAND_ENABLE |
		       LINK_INBAND_BYPASS;

	return 0;
}

static int vsc8662_config_inband(struct phy_device *phydev, unsigned int modes)
{
	bool changed = false;
	u16 mask;
	int ret;

	mask = VSC8662_EXT_CON_MAC_AN;
	ret = phy_modify_changed(phydev, VSC8662_EXT_CON1, mask,
				 modes & (LINK_INBAND_ENABLE |
				 	  LINK_INBAND_BYPASS) ? mask : 0);
	if (ret > 0)
		changed = true;
	else if (ret < 0)
		return ret;

	mask = VSC8662_MAC_AN_BYPASS;
	ret = phy_modify(phydev, VSC8662_MAC_AN, mask,
			 modes & LINK_INBAND_BYPASS ? mask : 0);
	if (ret < 0)
		return ret;

	return genphy_soft_reset(phydev);
}

and the appropriate initialisers in the phy_driver struct.

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

  reply	other threads:[~2026-03-05 14:28 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-02-24 20:28 [PATCH net-next v2 0/3] Support PHYs that have inband autoneg disabled with GEM Charles Perry
2026-02-24 20:28 ` [PATCH net-next v2 1/3] net: macb: fix SGMII with inband aneg disabled Charles Perry
2026-03-04 11:15   ` Conor Dooley
2026-03-04 14:59     ` Charles Perry
2026-03-04 16:23       ` Conor Dooley
2026-03-04 16:55         ` Russell King (Oracle)
2026-03-04 17:25           ` Charles Perry
2026-03-04 17:40             ` Conor Dooley
2026-03-04 18:06           ` Conor Dooley
2026-03-04 18:38             ` Conor Dooley
2026-03-04 18:39             ` Russell King (Oracle)
2026-03-05  9:37               ` Conor Dooley
2026-03-05 13:47               ` Charles Perry
2026-03-05 14:19                 ` Conor Dooley
2026-03-05 15:07                   ` Charles Perry
2026-03-04 17:37         ` Charles Perry
2026-03-05  9:42           ` Conor Dooley
2026-03-05 13:56             ` Charles Perry
2026-03-05 14:13               ` Conor Dooley
2026-03-05 14:28                 ` Russell King (Oracle) [this message]
2026-03-05 14:49                   ` Conor Dooley
2026-03-06 16:24                   ` Conor Dooley
2026-02-24 20:28 ` [PATCH net-next v2 2/3] net: macb: add support for reporting SGMII inband link status Charles Perry
2026-02-24 20:28 ` [PATCH net-next v2 3/3] net: macb: add the .pcs_inband_caps() callback for SGMII Charles Perry
2026-02-27  3:30 ` [PATCH net-next v2 0/3] Support PHYs that have inband autoneg disabled with GEM patchwork-bot+netdevbpf

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=aamS-LPZaOfamwQC@shell.armlinux.org.uk \
    --to=linux@armlinux.org.uk \
    --cc=andrew+netdev@lunn.ch \
    --cc=charles.perry@microchip.com \
    --cc=claudiu.beznea@tuxon.dev \
    --cc=conor@kernel.org \
    --cc=davem@davemloft.net \
    --cc=edumazet@google.com \
    --cc=kuba@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=nicolas.ferre@microchip.com \
    --cc=pabeni@redhat.com \
    --cc=sean.anderson@linux.dev \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.