Re: [PATCH] net: phy: microchip_t1: LAN887X: Fix device init issues.
From: Josef Raschen
Date: Fri Sep 26 2025 - 17:25:07 EST
Hello Andrew,
Thanks for your feedback.
On 9/26/25 00:00, Andrew Lunn wrote:
On Thu, Sep 25, 2025 at 10:52:22PM +0200, Josef Raschen wrote:
Currently, for a LAN8870 phy, before link up, a call to ethtool to set
master-slave fails with 'operation not supported'. Reason: speed, duplex
and master/slave are not properly initialized.
This change sets proper initial states for speed and duplex and publishes
master-slave states. A default link up for speed 1000, full duplex and
slave mode then works without having to call ethtool.
Hi Josef
What you are missing from the commit message is an explanation why the
LAN8870 is special, it needs to do something no other PHY does. Is
there something broken with this PHY? Some register not following
802.3?
Andrew
---
pw-bot: cr
Special about the LAN8870 might be that it is a dual speed T1 phy.
As most other T1 pyhs have only one possible configuration the unknown
speed configuration was not a problem so far. But here, when
calling link up without manually setting the speed before, it seems to
pick speed 100 in phy_sanitize_settings(). I assume that this is not the
desired behavior?
The second problem is that ethtool initially does not allow to set
master-slave at all. You first have to call ethtool without the
master-slave argument, then again with it. This is fixed by reading
the master slave configuration from the device which seems to be missing
in the .config_init and .config_aneg functions. I took this solution from net/phy/dp83tg720.c.
Regards,
Josef