Re: phy: fixed link 1000 or 100 set with autoneg off

From: Jia, Fang
Date: Wed Oct 25 2023 - 22:41:46 EST


Thanks very much for all your reply.

Do you think is it possible that we don't ignore the speed and duplex settings in BMCR, but we only add the bit BMCR_ANENABLE in BMCR ? just for example, return (bmcr |= BMCR_ANENABLE);


On 10/23/23 22:28, Andrew Lunn wrote:
CAUTION: This email comes from a non Wind River email account!
Do not click links or open attachments unless you recognize the sender and know the content is safe.

Thanks very much for your reply.

Actually, due to some reason, the phydev's default aneg state is off.
And we just found if use ethtool to set, it had the same result.

I find it surprising it defaults to aneg off. Are you sure something
has not turned it off before you look at it?


These days I was trying to find how and why set to aneg off. It seems like due to "the some reason", we have to do this.

The emulator does not support writing to any registers. However,
fixed_mdio_write() does not return an error, it just does nothing. It
needs testing, but maybe try making it return -EOPNOTSUPP. That should
prevent auto-neg being turned off, but it might also break everything
if it tries to do some other write during probe or link up. It could
be it needs a more select response, allowing writes to some bits, like
the reset bit, and start auto-neg, but not others like disable
auto-neg.

Andrew