Re: BCM54220: After the BCM54220 closes the auto-negotiation, the configuration forces the 1000M network port to be linked down all the time.

From: Andrew Lunn
Date: Tue Feb 21 2023 - 14:42:18 EST


On Tue, Feb 21, 2023 at 10:44:44AM -0800, Doug Berger wrote:
> On 2/17/2023 12:06 AM, Wang, Xiaolei wrote:
> > hi
> >
> > When I use the nxp-imx7 board, eth0 is connected to the PC, eth0 is turned off the auto-negotiation mode, and the configuration is forced to 10M, 100M, 1000M. When configured to force 1000M,
> > The link status of phy status reg(0x1) is always 0, and the chip of phy is BCM54220, but I did not find the relevant datasheet on BCM official website, does anyone have any suggestions or the datasheet of BCM54220?
> >
> > thanks
> > xiaolei
> >
> It is my understanding that the 1000BASE-T PHY requires peers to take on
> asymmetric roles and that establishment of these roles requires negotiation
> which occurs during auto-negotiation. Some PHYs may allow manual programming
> of these roles, but it is not standardized and tools like ethtool do not
> support manual specification of such details.

Are you talking about ethtool -s [master-slave|preferred-master|preferred-slave|forced-master|forced-slave]

The broadcom PHYs call genphy_config_aneg() -> __genphy_config_aneg()
-> genphy_setup_master_slave() which should configure this, even when
auto-neg is off.

Andrew